From 875a14aaf0d9ba6eeaeb1e1117a1532fed1d93d1 Mon Sep 17 00:00:00 2001 From: supowang Date: Fri, 19 Jun 2020 11:10:17 +0800 Subject: [PATCH] add EVB_LN822x iot exporer demo add EVB_LN822x iot exporer demo --- .../EVB_LN882x/BSP/Inc}/drv_adc_measure.h | 0 .../EVB_LN882x/BSP/Inc/serial_hw.h | 6 +- .../EVB_LN882x/BSP/Src}/drv_adc_measure.c | 2 +- .../BSP/Src/iot_explorer_examples.c | 4 +- board/EVB_LN882x/BSP/Src/main.c | 11 +- board/EVB_LN882x/BSP/Src/mcu_init.c | 25 - .../EVB_LN882x/BSP/Src/mqttclient_examples.c | 4 +- .../EVB_LN882x/BSP/Src}/serial_hw.c | 10 + .../KEIL/mqtt_client/TencentOS_tiny.uvoptx | 665 +- .../KEIL/mqtt_client/TencentOS_tiny.uvprojx | 90 +- .../KEIL/mqtt_client/after_build_ln882x.bat | 8 +- .../KEIL/mqtt_client/flash_partition_cfg.json | 22 + .../KEIL/mqtt_client/flash_partition_table.h | 68 +- .../{firmware_XIP_ln882x.sct => ln882x.sct} | 38 +- .../qcloud_iot_explorer/TencentOS_tiny.uvoptx | 1071 +-- .../TencentOS_tiny.uvprojx | 73 +- .../after_build_ln882x.bat | 8 +- .../flash_partition_cfg.json | 22 + .../flash_partition_table.h | 68 +- .../{firmware_XIP_ln882x.sct => ln882x.sct} | 38 +- board/EVB_LN882x/KEIL/wifi_demo/.gitignore | 6 + .../KEIL/wifi_demo/TencentOS_tiny.uvoptx | 602 +- .../KEIL/wifi_demo/TencentOS_tiny.uvprojx | 105 +- .../KEIL/wifi_demo/after_build_ln882x.bat | 8 +- .../KEIL/wifi_demo/flash_partition_cfg.json | 22 + .../KEIL/wifi_demo/flash_partition_table.h | 68 +- .../{firmware_XIP_ln882x.sct => ln882x.sct} | 38 +- board/EVB_LN882x/startup/startup_ln882x.S | 290 + .../security/mbedtls/3rdparty/src/aes.c | 4 +- .../security/mbedtls/3rdparty/src/ctr_drbg.c | 2 +- examples/wifi_ln882x/tcp_client_echo.c | 2 +- examples/wifi_ln882x/tcp_server_echo.c | 3 +- examples/wifi_ln882x/wifi_app_ln882x.c | 6 +- .../LN/ln882x/include/atcmd/at_cmd_wifi.h | 8 +- .../include/cpu/ARM_CM4F/ln88xx/interrupt.h | 68 +- .../include/cpu/ARM_CM4F/ln88xx/ln_compiler.h | 125 + .../include/cpu/ARM_CM4F/ln88xx/ln_types.h | 13 + .../cpu/ARM_CM4F/ln88xx/mem_map_ln882x.h | 27 +- .../include/driver_ln882x/hal/hal_sleep.h | 81 +- .../include/driver_ln882x/hal/hal_syscon.h | 21 +- .../include/driver_ln882x/hal/hal_timer.h | 9 +- .../include/driver_ln882x/hal/syscon_types.h | 16 +- .../include/driver_ln882x/ll/ll_sleep.h | 13 +- .../include/driver_ln882x/ll/ll_syscon.h | 21 +- .../kernel/FreeRTOS_Adapter/freertos_queue.h | 1 - .../LN/ln882x/include/serial/serial.h | 2 +- .../LN/ln882x/include/utils/crc32.h | 17 +- .../ln882x/include/utils/system_parameter.h | 6 +- .../vendor_bsp/LN/ln882x/include/wifi/wifi.h | 3 +- .../include/wifi_manager/wifi_manager.h | 8 +- .../vendor_bsp/LN/ln882x/lib/boot_ln882x.bin | Bin 0 -> 26040 bytes .../LN/ln882x/lib/boot_ram_ln882x.bin | Bin 29052 -> 0 bytes .../lib/{wifi_driver.lib => soc_driver.lib} | Bin 403292 -> 519600 bytes .../vendor_bsp/LN/ln882x/lib/wifi_mac.lib | Bin 5176668 -> 5248754 bytes .../LN/ln882x/src/atcmd/at_cmd_wifi.c | 163 +- .../LN/ln882x/src/console/console.c | 17 +- .../src/cpu/ARM_CM4F/ln88xx/system_ln88xx.c | 3 - .../ln882x/src/driver_ln882x/hal/hal_sdio.c | 2 +- .../ln882x/src/driver_ln882x/hal/hal_sleep.c | 510 +- .../ln882x/src/driver_ln882x/hal/hal_syscon.c | 96 +- .../ln882x/src/driver_ln882x/hal/hal_timer.c | 18 +- .../LN/ln882x/src/fota/ota_agent/ota_agent.c | 316 + .../LN/ln882x/src/fota/ota_agent/ota_agent.h | 15 + .../LN/ln882x/src/fota/ota_agent/ota_err.h | 24 + .../LN/ln882x/src/fota/ota_agent/ota_image.c | 113 + .../LN/ln882x/src/fota/ota_agent/ota_image.h | 17 + .../LN/ln882x/src/fota/ota_agent/ota_port.c | 72 + .../LN/ln882x/src/fota/ota_agent/ota_port.h | 60 + .../LN/ln882x/src/fota/ota_agent/ota_types.h | 50 + .../ln882x/src/fota/ota_agent/xz_decompress.c | 593 ++ .../ln882x/src/fota/ota_agent/xz_decompress.h | 43 + .../vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.c | 1110 ++++ .../vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.h | 291 + .../LN/ln882x/src/fs/kv/kv/ln_kv_api.h | 16 + .../LN/ln882x/src/fs/kv/kv/ln_kv_err.h | 36 + .../LN/ln882x/src/fs/kv/kv/ln_kv_flash.h | 21 + .../LN/ln882x/src/fs/kv/kv_port/ln_kv_port.c | 37 + .../LN/ln882x/src/fs/kv/kv_port/ln_kv_port.h | 80 + .../LN/ln882x/src/{ => fs}/nvds/nvds.c | 2 +- .../LN/ln882x/{include => src/fs}/nvds/nvds.h | 3 +- .../fs/partition_mgr/flash_partition_mgr.c | 61 + .../fs/partition_mgr/flash_partition_mgr.h | 58 + .../kernel/FreeRTOS_Adapter/freertos_common.c | 23 +- .../kernel/FreeRTOS_Adapter/freertos_mutex.c | 2 +- .../kernel/FreeRTOS_Adapter/freertos_queue.c | 17 - .../TencentOS_Adapter/TencentOS_common.c | 26 +- .../TencentOS_Adapter/TencentOS_semaphore.c | 2 +- .../src/net/lwip-2.0.3/src/port/lwipopts.h | 4 +- .../vendor_bsp/LN/ln882x/src/serial/serial.c | 2 +- .../LN/ln882x/src/utils/art_string.c | 16 + .../vendor_bsp/LN/ln882x/src/utils/crc32.c | 25 +- .../vendor_bsp/LN/ln882x/src/utils/eeprom.c | 3 +- .../LN/ln882x/src/utils/gbk_to_unicode.c | 5749 +++++++++-------- .../LN/ln882x/src/utils/system_parameter.c | 124 +- .../src/wifi/wifi_manager/wifi_manager.c | 31 +- .../LN/ln882x/src/wifi/wifi_port/itypes.h | 52 + .../LN/ln882x/src/wifi/wifi_port/wifi_port.c | 62 + .../LN/ln882x/src/wifi/wifi_port/wifi_port.h | 15 + .../LN/ln882x/tools/bin/fpu_patch.exe | Bin 118784 -> 0 bytes .../LN/ln882x/tools/bin/mkimage.exe | Bin 160256 -> 151552 bytes .../LN/ln882x/tools/user_cmd/before_build.py | 86 + .../LN/ln882x/tools/user_cmd/gen_flash.exe | Bin 528896 -> 0 bytes 102 files changed, 9104 insertions(+), 4790 deletions(-) rename {platform/vendor_bsp/LN/ln882x/include/driver_ln882x/drv => board/EVB_LN882x/BSP/Inc}/drv_adc_measure.h (100%) rename platform/vendor_bsp/LN/ln882x/include/serial/serial_p.h => board/EVB_LN882x/BSP/Inc/serial_hw.h (92%) rename {platform/vendor_bsp/LN/ln882x/src/driver_ln882x/drv => board/EVB_LN882x/BSP/Src}/drv_adc_measure.c (95%) rename {platform/vendor_bsp/LN/ln882x/src/serial => board/EVB_LN882x/BSP/Src}/serial_hw.c (97%) create mode 100644 board/EVB_LN882x/KEIL/mqtt_client/flash_partition_cfg.json rename board/EVB_LN882x/KEIL/mqtt_client/{firmware_XIP_ln882x.sct => ln882x.sct} (59%) create mode 100644 board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_cfg.json rename board/EVB_LN882x/KEIL/qcloud_iot_explorer/{firmware_XIP_ln882x.sct => ln882x.sct} (59%) create mode 100644 board/EVB_LN882x/KEIL/wifi_demo/.gitignore create mode 100644 board/EVB_LN882x/KEIL/wifi_demo/flash_partition_cfg.json rename board/EVB_LN882x/KEIL/wifi_demo/{firmware_XIP_ln882x.sct => ln882x.sct} (59%) create mode 100644 board/EVB_LN882x/startup/startup_ln882x.S create mode 100644 platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_compiler.h create mode 100644 platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_types.h create mode 100644 platform/vendor_bsp/LN/ln882x/lib/boot_ln882x.bin delete mode 100644 platform/vendor_bsp/LN/ln882x/lib/boot_ram_ln882x.bin rename platform/vendor_bsp/LN/ln882x/lib/{wifi_driver.lib => soc_driver.lib} (56%) create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_err.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_types.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_api.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_err.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_flash.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.h rename platform/vendor_bsp/LN/ln882x/src/{ => fs}/nvds/nvds.c (99%) rename platform/vendor_bsp/LN/ln882x/{include => src/fs}/nvds/nvds.h (94%) create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/itypes.h create mode 100644 platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.c create mode 100644 platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.h delete mode 100644 platform/vendor_bsp/LN/ln882x/tools/bin/fpu_patch.exe create mode 100644 platform/vendor_bsp/LN/ln882x/tools/user_cmd/before_build.py delete mode 100644 platform/vendor_bsp/LN/ln882x/tools/user_cmd/gen_flash.exe diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/drv/drv_adc_measure.h b/board/EVB_LN882x/BSP/Inc/drv_adc_measure.h similarity index 100% rename from platform/vendor_bsp/LN/ln882x/include/driver_ln882x/drv/drv_adc_measure.h rename to board/EVB_LN882x/BSP/Inc/drv_adc_measure.h diff --git a/platform/vendor_bsp/LN/ln882x/include/serial/serial_p.h b/board/EVB_LN882x/BSP/Inc/serial_hw.h similarity index 92% rename from platform/vendor_bsp/LN/ln882x/include/serial/serial_p.h rename to board/EVB_LN882x/BSP/Inc/serial_hw.h index 353a8204..285336aa 100644 --- a/platform/vendor_bsp/LN/ln882x/include/serial/serial_p.h +++ b/board/EVB_LN882x/BSP/Inc/serial_hw.h @@ -1,5 +1,5 @@ -#ifndef __SERIAL_P_H__ -#define __SERIAL_P_H__ +#ifndef __SERIAL_HW_H__ +#define __SERIAL_HW_H__ #include "hal/hal_uart.h" @@ -37,4 +37,4 @@ struct SerialHardware *serial_hw_getdesc(SerialPortID port_id); -#endif /* __SERIAL_P_H__ */ +#endif /* __SERIAL_HW_H__ */ diff --git a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/drv/drv_adc_measure.c b/board/EVB_LN882x/BSP/Src/drv_adc_measure.c similarity index 95% rename from platform/vendor_bsp/LN/ln882x/src/driver_ln882x/drv/drv_adc_measure.c rename to board/EVB_LN882x/BSP/Src/drv_adc_measure.c index 6024b2db..0e32227e 100644 --- a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/drv/drv_adc_measure.c +++ b/board/EVB_LN882x/BSP/Src/drv_adc_measure.c @@ -1,5 +1,5 @@ #include "hal/hal_adc.h" -#include "drv/drv_adc_measure.h" +#include "drv_adc_measure.h" void drv_adc_init(void) { diff --git a/board/EVB_LN882x/BSP/Src/iot_explorer_examples.c b/board/EVB_LN882x/BSP/Src/iot_explorer_examples.c index fa77517e..772f0f03 100644 --- a/board/EVB_LN882x/BSP/Src/iot_explorer_examples.c +++ b/board/EVB_LN882x/BSP/Src/iot_explorer_examples.c @@ -8,7 +8,7 @@ #include "netif/ethernetif.h" #include "wifi_manager/wifi_manager.h" #include "lwip/tcpip.h" -#include "drv/drv_adc_measure.h" +#include "drv_adc_measure.h" #include "utils/system_parameter.h" #include "hal/hal_adc.h" @@ -161,7 +161,7 @@ void application_entry(void *arg) ART_ASSERT(1); } - reg_wifi_msg_callbcak(wifi_manager_get_handle(), WIFI_MSG_ID_STA_DHCP_GOT_IP,wifi_event_sta_got_ip_cb); + reg_wifi_msg_callbcak(WIFI_MSG_ID_STA_DHCP_GOT_IP,wifi_event_sta_got_ip_cb); wifi_mode_enum_t wifi_mode = WIFI_MODE_STATION; diff --git a/board/EVB_LN882x/BSP/Src/main.c b/board/EVB_LN882x/BSP/Src/main.c index 193cca74..e83afe2e 100644 --- a/board/EVB_LN882x/BSP/Src/main.c +++ b/board/EVB_LN882x/BSP/Src/main.c @@ -2,7 +2,7 @@ #include "cmsis_os.h" #include "osal/osal.h" -#define APPLICATION_TASK_STK_SIZE 6*256 +#define APPLICATION_TASK_STK_SIZE (8*1024) extern void application_entry(void *arg); osThreadDef(application_entry, osPriorityLow, 1, APPLICATION_TASK_STK_SIZE);//osPriorityNormal @@ -17,7 +17,9 @@ __weak void application_entry(void *arg) #include "wifi_manager/wifi_manager.h" #include "utils/system_parameter.h" #include "atcmd/at_task.h" - +#include "ln_kv_port.h" +#include "ln_kv_api.h" +#include "flash_partition_table.h" int main(void) { @@ -28,10 +30,13 @@ int main(void) at_init(); system_parameter_init(); + if (KV_ERR_NONE != ln_kv_port_init(KV_SPACE_OFFSET, (KV_SPACE_OFFSET + KV_SPACE_SIZE))) { + LOG(LOG_LVL_ERROR, "KV init filed!\r\n"); + } wifi_init(); lwip_tcpip_init(); - wifi_manager_init(wifi_manager_get_handle()); + wifi_manager_init(); osThreadCreate(osThread(application_entry), NULL); // Create TOS Tiny task osKernelStart(); // Start TOS Tiny diff --git a/board/EVB_LN882x/BSP/Src/mcu_init.c b/board/EVB_LN882x/BSP/Src/mcu_init.c index 48b78568..30db2480 100644 --- a/board/EVB_LN882x/BSP/Src/mcu_init.c +++ b/board/EVB_LN882x/BSP/Src/mcu_init.c @@ -29,29 +29,6 @@ int fgetc(FILE *f) return ch; } - -//int flash_write(uint32_t addr, const void *buf, size_t len){ -// FLASH_Program(addr,len, (uint8_t *)buf); -//} -//int flash_read(uint32_t addr, void *buf, size_t len){ -// FLASH_ReadByCache(addr, len, (uint8_t *)buf); -//} - -//void nvds_kv_init(void) -//{ -// kv_flash_drv_t flash_drv; -// kv_flash_prop_t flash_prop; -// -// flash_drv.write = flash_write; -// flash_drv.read = flash_read; -// flash_drv.erase = FLASH_Erase; -// -// flash_prop.sector_size_log2 = 8; -// flash_prop.pgm_type = KV_FLASH_PROGRAM_TYPE_BYTE; -// flash_prop.flash_start = SYSTEM_PARAMETER_OFFSET; -// flash_prop.flash_size = SIZE_4KB*2; -//} - void board_init(void) { SetSysClock(); @@ -64,8 +41,6 @@ void board_init(void) log_init();//init log serial cm_backtrace_init("wifi app", "HD_V2", "SW_V0.8"); - -// nvds_kv_init(); } diff --git a/board/EVB_LN882x/BSP/Src/mqttclient_examples.c b/board/EVB_LN882x/BSP/Src/mqttclient_examples.c index 8ede3cbc..5ea38133 100644 --- a/board/EVB_LN882x/BSP/Src/mqttclient_examples.c +++ b/board/EVB_LN882x/BSP/Src/mqttclient_examples.c @@ -8,7 +8,7 @@ #include "netif/ethernetif.h" #include "wifi_manager/wifi_manager.h" #include "lwip/tcpip.h" -#include "drv/drv_adc_measure.h" +#include "drv_adc_measure.h" #include "utils/system_parameter.h" #include "hal/hal_adc.h" @@ -161,7 +161,7 @@ void application_entry(void *arg) ART_ASSERT(1); } - reg_wifi_msg_callbcak(wifi_manager_get_handle(), WIFI_MSG_ID_STA_DHCP_GOT_IP,wifi_event_sta_got_ip_cb); + reg_wifi_msg_callbcak(WIFI_MSG_ID_STA_DHCP_GOT_IP,wifi_event_sta_got_ip_cb); wifi_mode_enum_t wifi_mode = WIFI_MODE_STATION; diff --git a/platform/vendor_bsp/LN/ln882x/src/serial/serial_hw.c b/board/EVB_LN882x/BSP/Src/serial_hw.c similarity index 97% rename from platform/vendor_bsp/LN/ln882x/src/serial/serial_hw.c rename to board/EVB_LN882x/BSP/Src/serial_hw.c index 9ad6a489..c6814fc3 100644 --- a/platform/vendor_bsp/LN/ln882x/src/serial/serial_hw.c +++ b/board/EVB_LN882x/BSP/Src/serial_hw.c @@ -4,6 +4,7 @@ #include "serial/serial.h" #include "hal/hal_syscon.h" #include "hal/hal_uart.h" +//#include "hal/hal_sleep.h" #include "utils/debug/art_assert.h" #define UART0_TX_BUF_SIZE CFG_UART0_TX_BUF_SIZE @@ -158,6 +159,10 @@ static void hw_uart0_init(struct SerialHardware *_hw, struct Serial *serial, uin //enable uart master switch NVIC_EnableIRQ(UART0_IRQn); + /* + * Register with the sleep module to ensure that the serial port can be used during Light sleep + */ +// hal_sleep_register(MOD_UART0, NULL, NULL, NULL); } static void hw_uart1_init(struct SerialHardware *_hw, struct Serial *serial, uint32_t baudrate) @@ -192,6 +197,11 @@ static void hw_uart1_init(struct SerialHardware *_hw, struct Serial *serial, uin //enable uart master switch NVIC_EnableIRQ(UART1_IRQn); + + /* + * Register with the sleep module to ensure that the serial port can be used during Light sleep + */ +// hal_sleep_register(MOD_UART1, NULL, NULL, NULL); } /* diff --git a/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvoptx b/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvoptx index 162b6145..f2446d5c 100644 --- a/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvoptx +++ b/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvoptx @@ -100,10 +100,7 @@ 1 0 0 - 1 - 0 - 0 - 4 + 6 @@ -234,19 +231,11 @@ 0 - 0 - 0 - - - - - - - - + + + 0 1 - 0 0 2 10000000 @@ -308,7 +297,7 @@ examples - 1 + 0 0 0 0 @@ -339,7 +328,7 @@ - Drivers/Drv + Drivers/HAL 0 0 0 @@ -351,34 +340,14 @@ 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\drv\drv_adc_measure.c - drv_adc_measure.c - 0 - 0 - - - - - Drivers/HAL - 0 - 0 - 0 - 0 - - 5 - 7 - 1 - 0 - 0 - 0 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\hal\hal_common.c hal_common.c 0 0 - 5 - 8 + 4 + 7 1 0 0 @@ -389,8 +358,8 @@ 0 - 5 - 9 + 4 + 8 1 0 0 @@ -401,8 +370,8 @@ 0 - 5 - 10 + 4 + 9 1 0 0 @@ -413,8 +382,8 @@ 0 - 5 - 11 + 4 + 10 1 0 0 @@ -425,8 +394,8 @@ 0 - 5 - 12 + 4 + 11 1 0 0 @@ -437,8 +406,8 @@ 0 - 5 - 13 + 4 + 12 1 0 0 @@ -449,8 +418,8 @@ 0 - 5 - 14 + 4 + 13 1 0 0 @@ -461,8 +430,8 @@ 0 - 5 - 15 + 4 + 14 1 0 0 @@ -473,8 +442,8 @@ 0 - 5 - 16 + 4 + 15 1 0 0 @@ -485,8 +454,8 @@ 0 - 5 - 17 + 4 + 16 1 0 0 @@ -497,8 +466,8 @@ 0 - 5 - 18 + 4 + 17 1 0 0 @@ -509,8 +478,8 @@ 0 - 5 - 19 + 4 + 18 1 0 0 @@ -529,8 +498,8 @@ 0 0 - 6 - 20 + 5 + 19 1 0 0 @@ -541,8 +510,8 @@ 0 - 6 - 21 + 5 + 20 1 0 0 @@ -553,8 +522,8 @@ 0 - 6 - 22 + 5 + 21 1 0 0 @@ -565,8 +534,8 @@ 0 - 6 - 23 + 5 + 22 1 0 0 @@ -577,8 +546,8 @@ 0 - 6 - 24 + 5 + 23 1 0 0 @@ -589,8 +558,8 @@ 0 - 6 - 25 + 5 + 24 1 0 0 @@ -601,8 +570,8 @@ 0 - 6 - 26 + 5 + 25 1 0 0 @@ -613,8 +582,8 @@ 0 - 6 - 27 + 5 + 26 1 0 0 @@ -625,8 +594,8 @@ 0 - 6 - 28 + 5 + 27 1 0 0 @@ -637,8 +606,8 @@ 0 - 6 - 29 + 5 + 28 1 0 0 @@ -649,8 +618,8 @@ 0 - 6 - 30 + 5 + 29 1 0 0 @@ -661,8 +630,8 @@ 0 - 6 - 31 + 5 + 30 1 0 0 @@ -673,8 +642,8 @@ 0 - 6 - 32 + 5 + 31 1 0 0 @@ -685,8 +654,8 @@ 0 - 6 - 33 + 5 + 32 1 0 0 @@ -697,8 +666,8 @@ 0 - 6 - 34 + 5 + 33 1 0 0 @@ -709,8 +678,8 @@ 0 - 6 - 35 + 5 + 34 1 0 0 @@ -721,8 +690,8 @@ 0 - 6 - 36 + 5 + 35 1 0 0 @@ -733,8 +702,8 @@ 0 - 6 - 37 + 5 + 36 1 0 0 @@ -745,8 +714,8 @@ 0 - 6 - 38 + 5 + 37 1 0 0 @@ -757,8 +726,8 @@ 0 - 6 - 39 + 5 + 38 1 0 0 @@ -769,8 +738,8 @@ 0 - 6 - 40 + 5 + 39 1 0 0 @@ -781,8 +750,8 @@ 0 - 6 - 41 + 5 + 40 1 0 0 @@ -793,8 +762,8 @@ 0 - 6 - 42 + 5 + 41 1 0 0 @@ -805,8 +774,8 @@ 0 - 6 - 43 + 5 + 42 1 0 0 @@ -825,8 +794,8 @@ 0 0 - 7 - 44 + 6 + 43 1 0 0 @@ -837,8 +806,8 @@ 0 - 7 - 45 + 6 + 44 2 0 0 @@ -849,8 +818,8 @@ 0 - 7 - 46 + 6 + 45 1 0 0 @@ -869,8 +838,8 @@ 0 0 - 8 - 47 + 7 + 46 5 0 0 @@ -881,8 +850,8 @@ 0 - 8 - 48 + 7 + 47 5 0 0 @@ -901,8 +870,8 @@ 0 0 - 9 - 49 + 8 + 48 1 0 0 @@ -921,8 +890,8 @@ 0 0 - 10 - 50 + 9 + 49 1 0 0 @@ -932,6 +901,30 @@ 0 0 + + 9 + 50 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\serial_hw.c + serial_hw.c + 0 + 0 + + + 9 + 51 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\drv_adc_measure.c + drv_adc_measure.c + 0 + 0 + @@ -941,8 +934,8 @@ 0 0 - 11 - 51 + 10 + 52 1 0 0 @@ -952,18 +945,6 @@ 0 0 - - 11 - 52 - 1 - 0 - 0 - 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial_hw.c - serial_hw.c - 0 - 0 - @@ -973,7 +954,7 @@ 0 0 - 12 + 11 53 1 0 @@ -993,7 +974,7 @@ 0 0 - 13 + 12 54 1 0 @@ -1005,7 +986,7 @@ 0 - 13 + 12 55 1 0 @@ -1017,7 +998,7 @@ 0 - 13 + 12 56 1 0 @@ -1029,7 +1010,7 @@ 0 - 13 + 12 57 1 0 @@ -1041,7 +1022,7 @@ 0 - 13 + 12 58 1 0 @@ -1053,7 +1034,7 @@ 0 - 13 + 12 59 1 0 @@ -1073,7 +1054,7 @@ 0 0 - 14 + 13 60 1 0 @@ -1085,7 +1066,7 @@ 0 - 14 + 13 61 1 0 @@ -1097,7 +1078,7 @@ 0 - 14 + 13 62 1 0 @@ -1109,7 +1090,7 @@ 0 - 14 + 13 63 1 0 @@ -1121,7 +1102,7 @@ 0 - 14 + 13 64 1 0 @@ -1133,7 +1114,7 @@ 0 - 14 + 13 65 1 0 @@ -1145,7 +1126,7 @@ 0 - 14 + 13 66 1 0 @@ -1157,7 +1138,7 @@ 0 - 14 + 13 67 1 0 @@ -1169,7 +1150,7 @@ 0 - 14 + 13 68 1 0 @@ -1181,7 +1162,7 @@ 0 - 14 + 13 69 1 0 @@ -1193,7 +1174,7 @@ 0 - 14 + 13 70 1 0 @@ -1205,7 +1186,7 @@ 0 - 14 + 13 71 1 0 @@ -1217,7 +1198,7 @@ 0 - 14 + 13 72 1 0 @@ -1237,7 +1218,7 @@ 0 0 - 15 + 14 73 5 0 @@ -1257,7 +1238,7 @@ 0 0 - 16 + 15 74 1 0 @@ -1269,7 +1250,7 @@ 0 - 16 + 15 75 1 0 @@ -1281,7 +1262,7 @@ 0 - 16 + 15 76 1 0 @@ -1293,7 +1274,7 @@ 0 - 16 + 15 77 1 0 @@ -1305,7 +1286,7 @@ 0 - 16 + 15 78 1 0 @@ -1317,7 +1298,7 @@ 0 - 16 + 15 79 1 0 @@ -1329,7 +1310,7 @@ 0 - 16 + 15 80 1 0 @@ -1349,7 +1330,7 @@ 0 0 - 17 + 16 81 4 0 @@ -1361,7 +1342,7 @@ 0 - 17 + 16 82 4 0 @@ -1373,14 +1354,14 @@ 0 - 17 + 16 83 4 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_driver.lib - wifi_driver.lib + ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\soc_driver.lib + soc_driver.lib 0 0 @@ -1393,7 +1374,7 @@ 0 0 - 18 + 17 84 1 0 @@ -1404,6 +1385,18 @@ 0 0 + + 17 + 85 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port\wifi_port.c + wifi_port.c + 0 + 0 + @@ -1413,8 +1406,8 @@ 0 0 - 19 - 85 + 18 + 86 1 0 0 @@ -1425,8 +1418,8 @@ 0 - 19 - 86 + 18 + 87 1 0 0 @@ -1437,8 +1430,8 @@ 0 - 19 - 87 + 18 + 88 1 0 0 @@ -1449,8 +1442,8 @@ 0 - 19 - 88 + 18 + 89 1 0 0 @@ -1461,8 +1454,8 @@ 0 - 19 - 89 + 18 + 90 1 0 0 @@ -1473,8 +1466,8 @@ 0 - 19 - 90 + 18 + 91 1 0 0 @@ -1485,8 +1478,8 @@ 0 - 19 - 91 + 18 + 92 1 0 0 @@ -1497,8 +1490,8 @@ 0 - 19 - 92 + 18 + 93 1 0 0 @@ -1509,8 +1502,8 @@ 0 - 19 - 93 + 18 + 94 1 0 0 @@ -1521,8 +1514,8 @@ 0 - 19 - 94 + 18 + 95 1 0 0 @@ -1533,8 +1526,8 @@ 0 - 19 - 95 + 18 + 96 1 0 0 @@ -1545,8 +1538,8 @@ 0 - 19 - 96 + 18 + 97 1 0 0 @@ -1557,8 +1550,8 @@ 0 - 19 - 97 + 18 + 98 1 0 0 @@ -1569,8 +1562,8 @@ 0 - 19 - 98 + 18 + 99 1 0 0 @@ -1581,8 +1574,8 @@ 0 - 19 - 99 + 18 + 100 1 0 0 @@ -1593,8 +1586,8 @@ 0 - 19 - 100 + 18 + 101 1 0 0 @@ -1605,8 +1598,8 @@ 0 - 19 - 101 + 18 + 102 1 0 0 @@ -1617,8 +1610,8 @@ 0 - 19 - 102 + 18 + 103 1 0 0 @@ -1629,8 +1622,8 @@ 0 - 19 - 103 + 18 + 104 1 0 0 @@ -1641,8 +1634,8 @@ 0 - 19 - 104 + 18 + 105 1 0 0 @@ -1653,8 +1646,8 @@ 0 - 19 - 105 + 18 + 106 1 0 0 @@ -1665,8 +1658,8 @@ 0 - 19 - 106 + 18 + 107 1 0 0 @@ -1677,8 +1670,8 @@ 0 - 19 - 107 + 18 + 108 1 0 0 @@ -1689,8 +1682,8 @@ 0 - 19 - 108 + 18 + 109 1 0 0 @@ -1701,8 +1694,8 @@ 0 - 19 - 109 + 18 + 110 1 0 0 @@ -1721,8 +1714,8 @@ 0 0 - 20 - 110 + 19 + 111 1 0 0 @@ -1733,8 +1726,8 @@ 0 - 20 - 111 + 19 + 112 1 0 0 @@ -1745,8 +1738,8 @@ 0 - 20 - 112 + 19 + 113 1 0 0 @@ -1757,8 +1750,8 @@ 0 - 20 - 113 + 19 + 114 1 0 0 @@ -1769,8 +1762,8 @@ 0 - 20 - 114 + 19 + 115 1 0 0 @@ -1781,8 +1774,8 @@ 0 - 20 - 115 + 19 + 116 1 0 0 @@ -1793,8 +1786,8 @@ 0 - 20 - 116 + 19 + 117 1 0 0 @@ -1805,8 +1798,8 @@ 0 - 20 - 117 + 19 + 118 1 0 0 @@ -1825,8 +1818,8 @@ 0 0 - 21 - 118 + 20 + 119 1 0 0 @@ -1837,8 +1830,8 @@ 0 - 21 - 119 + 20 + 120 1 0 0 @@ -1857,8 +1850,8 @@ 0 0 - 22 - 120 + 21 + 121 1 0 0 @@ -1869,8 +1862,8 @@ 0 - 22 - 121 + 21 + 122 1 0 0 @@ -1881,8 +1874,8 @@ 0 - 22 - 122 + 21 + 123 5 0 0 @@ -1901,8 +1894,8 @@ 0 0 - 23 - 123 + 22 + 124 1 0 0 @@ -1913,8 +1906,8 @@ 0 - 23 - 124 + 22 + 125 1 0 0 @@ -1925,8 +1918,8 @@ 0 - 23 - 125 + 22 + 126 1 0 0 @@ -1937,8 +1930,8 @@ 0 - 23 - 126 + 22 + 127 1 0 0 @@ -1949,8 +1942,8 @@ 0 - 23 - 127 + 22 + 128 1 0 0 @@ -1963,39 +1956,55 @@ - tos_components + fs 0 0 0 0 - 24 - 128 - 1 - 0 - 0 - 0 - ..\..\..\..\components\fs\kv\tos_kv.c - tos_kv.c - 0 - 0 - - - - - nvds - 0 - 0 - 0 - 0 - - 25 + 23 129 1 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\nvds\nvds.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv\ln_kv.c + ln_kv.c + 0 + 0 + + + 23 + 130 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port\ln_kv_port.c + ln_kv_port.c + 0 + 0 + + + 23 + 131 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr\flash_partition_mgr.c + flash_partition_mgr.c + 0 + 0 + + + 23 + 132 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds\nvds.c nvds.c 0 0 @@ -2009,8 +2018,8 @@ 0 0 - 26 - 130 + 24 + 133 1 0 0 @@ -2021,8 +2030,8 @@ 0 - 26 - 131 + 24 + 134 5 0 0 @@ -2041,8 +2050,8 @@ 0 0 - 27 - 132 + 25 + 135 1 0 0 @@ -2053,8 +2062,8 @@ 0 - 27 - 133 + 25 + 136 1 0 0 @@ -2065,8 +2074,8 @@ 0 - 27 - 134 + 25 + 137 1 0 0 @@ -2077,8 +2086,8 @@ 0 - 27 - 135 + 25 + 138 1 0 0 @@ -2089,8 +2098,8 @@ 0 - 27 - 136 + 25 + 139 1 0 0 @@ -2101,8 +2110,8 @@ 0 - 27 - 137 + 25 + 140 1 0 0 @@ -2113,8 +2122,8 @@ 0 - 27 - 138 + 25 + 141 1 0 0 @@ -2125,8 +2134,8 @@ 0 - 27 - 139 + 25 + 142 1 0 0 @@ -2137,8 +2146,8 @@ 0 - 27 - 140 + 25 + 143 1 0 0 @@ -2149,8 +2158,8 @@ 0 - 27 - 141 + 25 + 144 1 0 0 @@ -2169,8 +2178,8 @@ 0 0 - 28 - 142 + 26 + 145 1 0 0 @@ -2181,8 +2190,8 @@ 0 - 28 - 143 + 26 + 146 5 0 0 @@ -2193,8 +2202,8 @@ 0 - 28 - 144 + 26 + 147 5 0 0 @@ -2205,8 +2214,8 @@ 0 - 28 - 145 + 26 + 148 1 0 0 @@ -2225,8 +2234,8 @@ 0 0 - 29 - 146 + 27 + 149 1 0 0 @@ -2245,8 +2254,8 @@ 0 0 - 30 - 147 + 28 + 150 1 0 0 @@ -2257,8 +2266,8 @@ 0 - 30 - 148 + 28 + 151 1 0 0 @@ -2269,8 +2278,8 @@ 0 - 30 - 149 + 28 + 152 1 0 0 @@ -2281,8 +2290,8 @@ 0 - 30 - 150 + 28 + 153 1 0 0 @@ -2293,8 +2302,8 @@ 0 - 30 - 151 + 28 + 154 1 0 0 @@ -2305,8 +2314,8 @@ 0 - 30 - 152 + 28 + 155 1 0 0 @@ -2317,8 +2326,8 @@ 0 - 30 - 153 + 28 + 156 1 0 0 diff --git a/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvprojx b/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvprojx index e6baa5ba..2001a485 100644 --- a/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvprojx +++ b/board/EVB_LN882x/KEIL/mqtt_client/TencentOS_tiny.uvprojx @@ -10,8 +10,7 @@ TencentOS_tiny 0x4 ARM-ADS - 5060750::V5.06 update 6 (build 750)::ARMCC - 0 + 5060061::V5.06 update 1 (build 61)::ARMCC ARMCM4_FP @@ -70,9 +69,9 @@ 0 - 0 + 1 0 - + python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\before_build.py flash_partition_cfg.json flash_partition_table.h 0 0 @@ -81,9 +80,9 @@ 1 - 0 - .\after_build_ln882x.bat - + 1 + python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py @L + ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe cmd_app ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ln882x.bin @L.bin @L.asm flashimage.bin flash_partition_cfg.json ver=1.1 0 0 0 @@ -184,7 +183,6 @@ 0 0 2 - 0 0 0 8 @@ -325,20 +323,16 @@ 0 0 1 - 0 0 1 1 1 1 - 0 - 0 - 0 LN882x,ARM_MATH_CM4 - ..\..\BSP\Inc;..\..\TOS-CONFIG;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\core\include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\osal\cmsis_os;..\..\..\..\examples\helloworld;..\hello_world;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\driver_ln882x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\components\fs\kv\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\kernel;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\CMSIS_5.3.0;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\wifi_manager;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\net;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port\arch;..\..\..\..\components\connectivity\mqttclient\common;..\..\..\..\components\connectivity\mqttclient\mqtt;..\..\..\..\components\connectivity\mqttclient\mqttclient;..\..\..\..\components\connectivity\mqttclient\network;..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny + ..\..\BSP\Inc;..\..\TOS-CONFIG;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\core\include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\osal\cmsis_os;..\..\..\..\examples\helloworld;..\hello_world;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\driver_ln882x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\components\fs\kv\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\kernel;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\CMSIS_5.3.0;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\wifi_manager;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\net;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port\arch;..\..\..\..\components\connectivity\mqttclient\common;..\..\..\..\components\connectivity\mqttclient\mqtt;..\..\..\..\components\connectivity\mqttclient\mqttclient;..\..\..\..\components\connectivity\mqttclient\network;..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr;..\mqtt_client @@ -351,7 +345,6 @@ 0 0 0 - 0 @@ -369,10 +362,10 @@ 0x08000000 0x20000000 - .\firmware_XIP_ln882x.sct + .\ln882x.sct - --no_autoat --keep=main.o(no_init_data) + --no_autoat --keep=*.o(no_init_data) @@ -419,16 +412,6 @@ - - Drivers/Drv - - - drv_adc_measure.c - 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\drv\drv_adc_measure.c - - - Drivers/HAL @@ -514,15 +497,11 @@ 2 2 2 - 2 2 0 0 2 2 - 2 - 2 - 2 @@ -728,6 +707,16 @@ 1 ..\..\BSP\Src\mcu_init.c + + serial_hw.c + 1 + ..\..\BSP\Src\serial_hw.c + + + drv_adc_measure.c + 1 + ..\..\BSP\Src\drv_adc_measure.c + @@ -738,11 +727,6 @@ 1 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial.c - - serial_hw.c - 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial_hw.c - @@ -924,9 +908,9 @@ ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_mac.lib - wifi_driver.lib + soc_driver.lib 4 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_driver.lib + ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\soc_driver.lib @@ -938,6 +922,11 @@ 1 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_manager\wifi_manager.c + + wifi_port.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port\wifi_port.c + @@ -1005,15 +994,11 @@ 2 2 2 - 2 2 0 0 2 2 - 2 - 2 - 2 @@ -1232,22 +1217,27 @@ - tos_components + fs - tos_kv.c + ln_kv.c 1 - ..\..\..\..\components\fs\kv\tos_kv.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv\ln_kv.c + + + ln_kv_port.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port\ln_kv_port.c + + + flash_partition_mgr.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr\flash_partition_mgr.c - - - - nvds - nvds.c 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\nvds\nvds.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds\nvds.c diff --git a/board/EVB_LN882x/KEIL/mqtt_client/after_build_ln882x.bat b/board/EVB_LN882x/KEIL/mqtt_client/after_build_ln882x.bat index cc2c0678..60675d37 100644 --- a/board/EVB_LN882x/KEIL/mqtt_client/after_build_ln882x.bat +++ b/board/EVB_LN882x/KEIL/mqtt_client/after_build_ln882x.bat @@ -1,8 +1,4 @@ - -python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py firmware_XIP - -..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe ln882x flashimage ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ram_ln882x.bin firmware_XIP.bin flashimage.bin release=1 crp_enable=0 app_version=10 hw_version=0 - -..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\fpu_patch.exe .\firmware_XIP.asm .\flashimage.bin +python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py @L +..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe cmd_app ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ln882x.bin @L.bin @L.asm flashimage.bin flash_partition_cfg.json ver=1.1 diff --git a/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_cfg.json b/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_cfg.json new file mode 100644 index 00000000..91fec537 --- /dev/null +++ b/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_cfg.json @@ -0,0 +1,22 @@ +{ + "Warning1":"警告,系统定义用户ä¸å¯ä¿®æ”¹!!!", + "vendor_define": + [ + {"partition_type": "BOOT", "start_addr": "0x00000000", "size_KB": 36 }, + {"partition_type": "PART_TAB", "start_addr": "0x00009000", "size_KB": 4 } + ], + + + "Warning2":"以下数æ®,用户根æ®SOC flash容é‡ä»¥åŠå…·ä½“需求修改,仅å¯ä»¥ä¿®æ”¹start_addr值和size值,且必须4KB对é½!!!", + "user_define": + [ + {"partition_type": "KV", "start_addr": "0x0000A000", "size_KB": 8 }, + {"partition_type": "SIMU_EEPROM", "start_addr": "0x0000C000", "size_KB": 8 }, + {"partition_type": "APP", "start_addr": "0x0000E000", "size_KB": 800 }, + {"partition_type": "OTA", "start_addr": "0x000D6000", "size_KB": 800 }, + {"partition_type": "NVDS", "start_addr": "0x0019E000", "size_KB": 12 }, + {"partition_type": "USER", "start_addr": "0x001A1000", "size_KB": 12 } + ] +} + + diff --git a/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_table.h b/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_table.h index e068e5bf..08788e3c 100644 --- a/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_table.h +++ b/board/EVB_LN882x/KEIL/mqtt_client/flash_partition_table.h @@ -1,32 +1,56 @@ -#ifndef __FLASH_PARTITION_TABLE_H__ -#define __FLASH_PARTITION_TABLE_H__ +#ifndef __FLASH_PARTITION_TABLE__ +#define __FLASH_PARTITION_TABLE__ -//#define RETENTION_MEM_BASE 0x20028000 -//#define RETENTION_MEM_SIZE 0x2000 -#ifndef FLASH_BASE -#define FLASH_BASE (0x10000000) +//flash partition map,it's generated by the script based on the json file + +#define BOOT_SPACE_OFFSET (0x00000000) +#define BOOT_SPACE_SIZE (1024*36) + +#define PART_TAB_SPACE_OFFSET (0x00009000) +#define PART_TAB_SPACE_SIZE (1024*4) +#if (PART_TAB_SPACE_OFFSET < (BOOT_SPACE_OFFSET + BOOT_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#ifndef FLASH_SIZE -#define FLASH_SIZE (0x00200000) +#define KV_SPACE_OFFSET (0x0000A000) +#define KV_SPACE_SIZE (1024*8) +#if (KV_SPACE_OFFSET < (PART_TAB_SPACE_OFFSET + PART_TAB_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#ifndef PRIMARY_PARTITION_OFFSET -#define PRIMARY_PARTITION_OFFSET (0x0000F000) +#define SIMU_EEPROM_SPACE_OFFSET (0x0000C000) +#define SIMU_EEPROM_SPACE_SIZE (1024*8) +#if (SIMU_EEPROM_SPACE_OFFSET < (KV_SPACE_OFFSET + KV_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#define PRIMARY_PATTITION_START 0x0000F000 -#define PRIMARY_PATTITION_SIZE 0xE1000 -//#define USERAPP_SRAM_BASE 0x1FFF0000 -#define BACKUP_PATTITION_START 0x000F0000 -#define BACKUP_PATTITION_SIZE 0xE1000 -#define USERDATA_PATTITION_START 0x001D1000 -#define USERDATA_PATTITION_SIZE 0x23000 - -//memory offset check -#if ((PRIMARY_PATTITION_START < PRIMARY_PARTITION_OFFSET) || (BACKUP_PATTITION_START < PRIMARY_PATTITION_START) || (USERDATA_PATTITION_START < BACKUP_PATTITION_START) || (PRIMARY_PATTITION_START + PRIMARY_PATTITION_SIZE > BACKUP_PATTITION_START) || (BACKUP_PATTITION_START + BACKUP_PATTITION_SIZE > USERDATA_PATTITION_START) || (USERDATA_PATTITION_START + USERDATA_PATTITION_SIZE > FLASH_SIZE)) - #error "flash partition define error!" +#define APP_SPACE_OFFSET (0x0000E000) +#define APP_SPACE_SIZE (1024*800) +#if (APP_SPACE_OFFSET < (SIMU_EEPROM_SPACE_OFFSET + SIMU_EEPROM_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#endif /* __FLASH_PARTITION_TABLE_H__ */ +#define OTA_SPACE_OFFSET (0x000D6000) +#define OTA_SPACE_SIZE (1024*800) +#if (OTA_SPACE_OFFSET < (APP_SPACE_OFFSET + APP_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + +#define NVDS_SPACE_OFFSET (0x0019E000) +#define NVDS_SPACE_SIZE (1024*12) +#if (NVDS_SPACE_OFFSET < (OTA_SPACE_OFFSET + OTA_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + +#define USER_SPACE_OFFSET (0x001A1000) +#define USER_SPACE_SIZE (1024*12) +#if (USER_SPACE_OFFSET < (NVDS_SPACE_OFFSET + NVDS_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + + +#define IMAGE_HEADER_SIZE (0x100) + +#endif /* __FLASH_PARTITION_TABLE__ */ + diff --git a/board/EVB_LN882x/KEIL/mqtt_client/firmware_XIP_ln882x.sct b/board/EVB_LN882x/KEIL/mqtt_client/ln882x.sct similarity index 59% rename from board/EVB_LN882x/KEIL/mqtt_client/firmware_XIP_ln882x.sct rename to board/EVB_LN882x/KEIL/mqtt_client/ln882x.sct index 50c5ed54..26dc840b 100644 --- a/board/EVB_LN882x/KEIL/mqtt_client/firmware_XIP_ln882x.sct +++ b/board/EVB_LN882x/KEIL/mqtt_client/ln882x.sct @@ -1,9 +1,9 @@ #! armcc -E -#include ".\flash_partition_table.h" +#include "flash_partition_table.h" #include ".\..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx\mem_map_ln882x.h" -LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE +LR_FLASH CACHE_FLASH_BASE+APP_SPACE_OFFSET+IMAGE_HEADER_SIZE APP_SPACE_SIZE {; load region size_region ISR_VECTOR RAM_BASE ALIGN 0x100 @@ -11,7 +11,7 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE startup_*.o (RESET, +First) } - ER_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET + ImageLength(ISR_VECTOR) PRIMARY_PATTITION_SIZE + ER_FLASH CACHE_FLASH_BASE+APP_SPACE_OFFSET+IMAGE_HEADER_SIZE + ImageLength(ISR_VECTOR) APP_SPACE_SIZE {; load address = execution address *(InRoot$$Sections) .ANY (+RO) @@ -24,15 +24,15 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE ll_cache.o(+RO) ll_dma.o(+RO) ll_syscon.o(+RO) - ll_sleep.o(+RO) - ll_rtc.o(+RO) + ;ll_sleep.o(+RO) + ;ll_rtc.o(+RO) cache.o(+RO) qspi.o(+RO) flash.o(+RO) hal_dma.o(+RO) hal_syscon.o(+RO) - hal_sleep.o(+RO) - hal_rtc.o(+RO) + ;hal_sleep.o(+RO) + ;hal_rtc.o(+RO) ;port.o(XIR) ;optional item @@ -49,16 +49,32 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE startup_ln*(+RW +ZI) } - ER_DATA +0 + ER_DATA_IN_B0 +0 RAM_BLOCK0_SIZE-ImageLength(ISR_VECTOR)-ImageLength(ER_CODE)-ImageLength(ER_STACK) { - *(.ARM.__at_0x1FFFFFFC) - .ANY (+RW +ZI) + memp.o(+RW +ZI) + imem.o(+RW +ZI) + imem_if.o(+RW +ZI) + ;cglobals_sta.o(+RW +ZI) + ;event_manager.o(+RW +ZI) + iconfig.o(+RW +ZI) + common.o(+RW +ZI) + } + + HEAP_SPACE0 +0 EMPTY RAM_BLOCK1_BASE-ImageLimit(ER_DATA_IN_B0) + {; Heap region + } + + ER_DATA_IN_B1 RAM_BLOCK1_BASE RAM_BLOCK1_SIZE + { + *(wlan_mem_pkt) + *(wlan_mem_dscr) + .ANY (+RW +ZI) } ;IQ Data area cannot be used by ER_DATA region ;ScatterAssert(ImageLimit(ER_DATA) < (0x20020300)) - HEAP_SPACE +0 EMPTY RETENTION_MEM_BASE-ImageLimit(ER_DATA) + HEAP_SPACE1 +0 EMPTY RETENTION_MEM_BASE-ImageLimit(ER_DATA_IN_B1) {; Heap region } diff --git a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvoptx b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvoptx index 4f505a61..b75098af 100644 --- a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvoptx +++ b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvoptx @@ -117,11 +117,6 @@ Segger\JL2CM3.dll - - 0 - DLGUARM - d - 0 ARMRTXEVENTFLAGS @@ -153,7 +148,24 @@ -U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103VE$Flash\STM32F10x_512.FLM) - + + + 0 + 0 + 90 + 1 +
268493334
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\hal\hal_interrupt.c + + \\firmware_XIP\../../../../platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_interrupt.c\90 +
+
0 @@ -185,6 +197,11 @@ 1 phy_reg_val_table_1,0x10 + + 6 + 1 + k_curr_task + @@ -208,7 +225,7 @@ 0 1 - 1 + 0 0 0 0 @@ -288,7 +305,7 @@ Application/User - 0 + 1 0 0 0 @@ -308,7 +325,7 @@ examples - 0 + 1 0 0 0 @@ -363,7 +380,7 @@ - Drivers/Drv + Drivers/HAL 0 0 0 @@ -375,34 +392,14 @@ 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\drv\drv_adc_measure.c - drv_adc_measure.c - 0 - 0 - - - - - Drivers/HAL - 0 - 0 - 0 - 0 - - 5 - 9 - 1 - 0 - 0 - 0 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\hal\hal_common.c hal_common.c 0 0 - 5 - 10 + 4 + 9 1 0 0 @@ -413,8 +410,8 @@ 0 - 5 - 11 + 4 + 10 1 0 0 @@ -425,8 +422,8 @@ 0 - 5 - 12 + 4 + 11 1 0 0 @@ -437,8 +434,8 @@ 0 - 5 - 13 + 4 + 12 1 0 0 @@ -449,8 +446,8 @@ 0 - 5 - 14 + 4 + 13 1 0 0 @@ -461,8 +458,8 @@ 0 - 5 - 15 + 4 + 14 1 0 0 @@ -473,8 +470,8 @@ 0 - 5 - 16 + 4 + 15 1 0 0 @@ -485,8 +482,8 @@ 0 - 5 - 17 + 4 + 16 1 0 0 @@ -497,8 +494,8 @@ 0 - 5 - 18 + 4 + 17 1 0 0 @@ -509,8 +506,8 @@ 0 - 5 - 19 + 4 + 18 1 0 0 @@ -521,8 +518,8 @@ 0 - 5 - 20 + 4 + 19 1 0 0 @@ -533,8 +530,8 @@ 0 - 5 - 21 + 4 + 20 1 0 0 @@ -553,8 +550,8 @@ 0 0 - 6 - 22 + 5 + 21 1 0 0 @@ -565,8 +562,8 @@ 0 - 6 - 23 + 5 + 22 1 0 0 @@ -577,8 +574,8 @@ 0 - 6 - 24 + 5 + 23 1 0 0 @@ -589,8 +586,8 @@ 0 - 6 - 25 + 5 + 24 1 0 0 @@ -601,8 +598,8 @@ 0 - 6 - 26 + 5 + 25 1 0 0 @@ -613,8 +610,8 @@ 0 - 6 - 27 + 5 + 26 1 0 0 @@ -625,8 +622,8 @@ 0 - 6 - 28 + 5 + 27 1 0 0 @@ -637,8 +634,8 @@ 0 - 6 - 29 + 5 + 28 1 0 0 @@ -649,8 +646,8 @@ 0 - 6 - 30 + 5 + 29 1 0 0 @@ -661,8 +658,8 @@ 0 - 6 - 31 + 5 + 30 1 0 0 @@ -673,8 +670,8 @@ 0 - 6 - 32 + 5 + 31 1 0 0 @@ -685,8 +682,8 @@ 0 - 6 - 33 + 5 + 32 1 0 0 @@ -697,8 +694,8 @@ 0 - 6 - 34 + 5 + 33 1 0 0 @@ -709,8 +706,8 @@ 0 - 6 - 35 + 5 + 34 1 0 0 @@ -721,8 +718,8 @@ 0 - 6 - 36 + 5 + 35 1 0 0 @@ -733,8 +730,8 @@ 0 - 6 - 37 + 5 + 36 1 0 0 @@ -745,8 +742,8 @@ 0 - 6 - 38 + 5 + 37 1 0 0 @@ -757,8 +754,8 @@ 0 - 6 - 39 + 5 + 38 1 0 0 @@ -769,8 +766,8 @@ 0 - 6 - 40 + 5 + 39 1 0 0 @@ -781,8 +778,8 @@ 0 - 6 - 41 + 5 + 40 1 0 0 @@ -793,8 +790,8 @@ 0 - 6 - 42 + 5 + 41 1 0 0 @@ -805,8 +802,8 @@ 0 - 6 - 43 + 5 + 42 1 0 0 @@ -817,8 +814,8 @@ 0 - 6 - 44 + 5 + 43 1 0 0 @@ -829,8 +826,8 @@ 0 - 6 - 45 + 5 + 44 1 0 0 @@ -849,8 +846,8 @@ 0 0 - 7 - 46 + 6 + 45 1 0 0 @@ -861,8 +858,8 @@ 0 - 7 - 47 + 6 + 46 2 0 0 @@ -873,8 +870,8 @@ 0 - 7 - 48 + 6 + 47 1 0 0 @@ -893,8 +890,8 @@ 0 0 - 8 - 49 + 7 + 48 5 0 0 @@ -905,8 +902,8 @@ 0 - 8 - 50 + 7 + 49 5 0 0 @@ -925,8 +922,8 @@ 0 0 - 9 - 51 + 8 + 50 1 0 0 @@ -945,8 +942,8 @@ 0 0 - 10 - 52 + 9 + 51 1 0 0 @@ -956,6 +953,30 @@ 0 0 + + 9 + 52 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\serial_hw.c + serial_hw.c + 0 + 0 + + + 9 + 53 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\drv_adc_measure.c + drv_adc_measure.c + 0 + 0 + @@ -965,8 +986,8 @@ 0 0 - 11 - 53 + 10 + 54 1 0 0 @@ -976,18 +997,6 @@ 0 0 - - 11 - 54 - 1 - 0 - 0 - 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial_hw.c - serial_hw.c - 0 - 0 - @@ -997,7 +1006,7 @@ 0 0 - 12 + 11 55 1 0 @@ -1017,7 +1026,7 @@ 0 0 - 13 + 12 56 1 0 @@ -1029,7 +1038,7 @@ 0 - 13 + 12 57 1 0 @@ -1041,7 +1050,7 @@ 0 - 13 + 12 58 1 0 @@ -1053,7 +1062,7 @@ 0 - 13 + 12 59 1 0 @@ -1065,7 +1074,7 @@ 0 - 13 + 12 60 1 0 @@ -1077,7 +1086,7 @@ 0 - 13 + 12 61 1 0 @@ -1097,7 +1106,7 @@ 0 0 - 14 + 13 62 1 0 @@ -1109,7 +1118,7 @@ 0 - 14 + 13 63 1 0 @@ -1121,7 +1130,7 @@ 0 - 14 + 13 64 1 0 @@ -1133,7 +1142,7 @@ 0 - 14 + 13 65 1 0 @@ -1145,7 +1154,7 @@ 0 - 14 + 13 66 1 0 @@ -1157,7 +1166,7 @@ 0 - 14 + 13 67 1 0 @@ -1169,7 +1178,7 @@ 0 - 14 + 13 68 1 0 @@ -1181,7 +1190,7 @@ 0 - 14 + 13 69 1 0 @@ -1193,7 +1202,7 @@ 0 - 14 + 13 70 1 0 @@ -1205,7 +1214,7 @@ 0 - 14 + 13 71 1 0 @@ -1217,7 +1226,7 @@ 0 - 14 + 13 72 1 0 @@ -1229,7 +1238,7 @@ 0 - 14 + 13 73 1 0 @@ -1241,7 +1250,7 @@ 0 - 14 + 13 74 1 0 @@ -1261,7 +1270,7 @@ 0 0 - 15 + 14 75 5 0 @@ -1281,7 +1290,7 @@ 0 0 - 16 + 15 76 1 0 @@ -1293,7 +1302,7 @@ 0 - 16 + 15 77 1 0 @@ -1305,7 +1314,7 @@ 0 - 16 + 15 78 1 0 @@ -1317,7 +1326,7 @@ 0 - 16 + 15 79 1 0 @@ -1329,7 +1338,7 @@ 0 - 16 + 15 80 1 0 @@ -1341,7 +1350,7 @@ 0 - 16 + 15 81 1 0 @@ -1353,7 +1362,7 @@ 0 - 16 + 15 82 1 0 @@ -1373,7 +1382,7 @@ 0 0 - 17 + 16 83 4 0 @@ -1385,7 +1394,7 @@ 0 - 17 + 16 84 4 0 @@ -1397,14 +1406,14 @@ 0 - 17 + 16 85 4 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_driver.lib - wifi_driver.lib + ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\soc_driver.lib + soc_driver.lib 0 0 @@ -1417,7 +1426,7 @@ 0 0 - 18 + 17 86 1 0 @@ -1428,6 +1437,18 @@ 0 0 + + 17 + 87 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port\wifi_port.c + wifi_port.c + 0 + 0 + @@ -1437,8 +1458,8 @@ 0 0 - 19 - 87 + 18 + 88 1 0 0 @@ -1449,8 +1470,8 @@ 0 - 19 - 88 + 18 + 89 1 0 0 @@ -1461,8 +1482,8 @@ 0 - 19 - 89 + 18 + 90 1 0 0 @@ -1473,8 +1494,8 @@ 0 - 19 - 90 + 18 + 91 1 0 0 @@ -1485,8 +1506,8 @@ 0 - 19 - 91 + 18 + 92 1 0 0 @@ -1497,8 +1518,8 @@ 0 - 19 - 92 + 18 + 93 1 0 0 @@ -1509,8 +1530,8 @@ 0 - 19 - 93 + 18 + 94 1 0 0 @@ -1521,8 +1542,8 @@ 0 - 19 - 94 + 18 + 95 1 0 0 @@ -1533,8 +1554,8 @@ 0 - 19 - 95 + 18 + 96 1 0 0 @@ -1545,8 +1566,8 @@ 0 - 19 - 96 + 18 + 97 1 0 0 @@ -1557,8 +1578,8 @@ 0 - 19 - 97 + 18 + 98 1 0 0 @@ -1569,8 +1590,8 @@ 0 - 19 - 98 + 18 + 99 1 0 0 @@ -1581,8 +1602,8 @@ 0 - 19 - 99 + 18 + 100 1 0 0 @@ -1593,8 +1614,8 @@ 0 - 19 - 100 + 18 + 101 1 0 0 @@ -1605,8 +1626,8 @@ 0 - 19 - 101 + 18 + 102 1 0 0 @@ -1617,8 +1638,8 @@ 0 - 19 - 102 + 18 + 103 1 0 0 @@ -1629,8 +1650,8 @@ 0 - 19 - 103 + 18 + 104 1 0 0 @@ -1641,8 +1662,8 @@ 0 - 19 - 104 + 18 + 105 1 0 0 @@ -1653,8 +1674,8 @@ 0 - 19 - 105 + 18 + 106 1 0 0 @@ -1665,8 +1686,8 @@ 0 - 19 - 106 + 18 + 107 1 0 0 @@ -1677,8 +1698,8 @@ 0 - 19 - 107 + 18 + 108 1 0 0 @@ -1689,8 +1710,8 @@ 0 - 19 - 108 + 18 + 109 1 0 0 @@ -1701,8 +1722,8 @@ 0 - 19 - 109 + 18 + 110 1 0 0 @@ -1713,8 +1734,8 @@ 0 - 19 - 110 + 18 + 111 1 0 0 @@ -1725,8 +1746,8 @@ 0 - 19 - 111 + 18 + 112 1 0 0 @@ -1745,8 +1766,8 @@ 0 0 - 20 - 112 + 19 + 113 1 0 0 @@ -1757,8 +1778,8 @@ 0 - 20 - 113 + 19 + 114 1 0 0 @@ -1769,8 +1790,8 @@ 0 - 20 - 114 + 19 + 115 1 0 0 @@ -1781,8 +1802,8 @@ 0 - 20 - 115 + 19 + 116 1 0 0 @@ -1793,8 +1814,8 @@ 0 - 20 - 116 + 19 + 117 1 0 0 @@ -1805,8 +1826,8 @@ 0 - 20 - 117 + 19 + 118 1 0 0 @@ -1817,8 +1838,8 @@ 0 - 20 - 118 + 19 + 119 1 0 0 @@ -1829,8 +1850,8 @@ 0 - 20 - 119 + 19 + 120 1 0 0 @@ -1849,8 +1870,8 @@ 0 0 - 21 - 120 + 20 + 121 1 0 0 @@ -1861,8 +1882,8 @@ 0 - 21 - 121 + 20 + 122 1 0 0 @@ -1881,8 +1902,8 @@ 0 0 - 22 - 122 + 21 + 123 1 0 0 @@ -1893,8 +1914,8 @@ 0 - 22 - 123 + 21 + 124 1 0 0 @@ -1905,8 +1926,8 @@ 0 - 22 - 124 + 21 + 125 5 0 0 @@ -1925,8 +1946,8 @@ 0 0 - 23 - 125 + 22 + 126 1 0 0 @@ -1937,8 +1958,8 @@ 0 - 23 - 126 + 22 + 127 1 0 0 @@ -1949,8 +1970,8 @@ 0 - 23 - 127 + 22 + 128 1 0 0 @@ -1961,8 +1982,8 @@ 0 - 23 - 128 + 22 + 129 1 0 0 @@ -1973,8 +1994,8 @@ 0 - 23 - 129 + 22 + 130 1 0 0 @@ -1987,43 +2008,59 @@ - tos_components + fs 0 0 0 0 - 24 - 130 - 1 - 0 - 0 - 0 - ..\..\..\..\components\fs\kv\tos_kv.c - tos_kv.c - 0 - 0 - - - - - nvds - 0 - 0 - 0 - 0 - - 25 + 23 131 1 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\nvds\nvds.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv\ln_kv.c + ln_kv.c + 0 + 0 + + + 23 + 132 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port\ln_kv_port.c + ln_kv_port.c + 0 + 0 + + + 23 + 133 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds\nvds.c nvds.c 0 0 + + 23 + 134 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr\flash_partition_mgr.c + flash_partition_mgr.c + 0 + 0 + @@ -2033,8 +2070,8 @@ 0 0 - 26 - 132 + 24 + 135 1 0 0 @@ -2045,8 +2082,8 @@ 0 - 26 - 133 + 24 + 136 1 0 0 @@ -2057,8 +2094,8 @@ 0 - 26 - 134 + 24 + 137 1 0 0 @@ -2069,8 +2106,8 @@ 0 - 26 - 135 + 24 + 138 1 0 0 @@ -2081,8 +2118,8 @@ 0 - 26 - 136 + 24 + 139 1 0 0 @@ -2093,8 +2130,8 @@ 0 - 26 - 137 + 24 + 140 1 0 0 @@ -2113,8 +2150,8 @@ 0 0 - 27 - 138 + 25 + 141 1 0 0 @@ -2125,8 +2162,8 @@ 0 - 27 - 139 + 25 + 142 1 0 0 @@ -2137,8 +2174,8 @@ 0 - 27 - 140 + 25 + 143 1 0 0 @@ -2149,8 +2186,8 @@ 0 - 27 - 141 + 25 + 144 1 0 0 @@ -2161,8 +2198,8 @@ 0 - 27 - 142 + 25 + 145 1 0 0 @@ -2173,8 +2210,8 @@ 0 - 27 - 143 + 25 + 146 1 0 0 @@ -2185,8 +2222,8 @@ 0 - 27 - 144 + 25 + 147 1 0 0 @@ -2197,8 +2234,8 @@ 0 - 27 - 145 + 25 + 148 1 0 0 @@ -2217,8 +2254,8 @@ 0 0 - 28 - 146 + 26 + 149 1 0 0 @@ -2229,8 +2266,8 @@ 0 - 28 - 147 + 26 + 150 1 0 0 @@ -2241,8 +2278,8 @@ 0 - 28 - 148 + 26 + 151 1 0 0 @@ -2253,8 +2290,8 @@ 0 - 28 - 149 + 26 + 152 1 0 0 @@ -2265,8 +2302,8 @@ 0 - 28 - 150 + 26 + 153 1 0 0 @@ -2277,8 +2314,8 @@ 0 - 28 - 151 + 26 + 154 1 0 0 @@ -2297,8 +2334,8 @@ 0 0 - 29 - 152 + 27 + 155 1 0 0 @@ -2309,8 +2346,8 @@ 0 - 29 - 153 + 27 + 156 1 0 0 @@ -2321,8 +2358,8 @@ 0 - 29 - 154 + 27 + 157 1 0 0 @@ -2333,8 +2370,8 @@ 0 - 29 - 155 + 27 + 158 1 0 0 @@ -2345,8 +2382,8 @@ 0 - 29 - 156 + 27 + 159 1 0 0 @@ -2357,8 +2394,8 @@ 0 - 29 - 157 + 27 + 160 1 0 0 @@ -2369,8 +2406,8 @@ 0 - 29 - 158 + 27 + 161 1 0 0 @@ -2381,8 +2418,8 @@ 0 - 29 - 159 + 27 + 162 1 0 0 @@ -2393,8 +2430,8 @@ 0 - 29 - 160 + 27 + 163 1 0 0 @@ -2405,8 +2442,8 @@ 0 - 29 - 161 + 27 + 164 1 0 0 @@ -2417,8 +2454,8 @@ 0 - 29 - 162 + 27 + 165 1 0 0 @@ -2429,8 +2466,8 @@ 0 - 29 - 163 + 27 + 166 1 0 0 @@ -2441,8 +2478,8 @@ 0 - 29 - 164 + 27 + 167 1 0 0 @@ -2453,8 +2490,8 @@ 0 - 29 - 165 + 27 + 168 1 0 0 @@ -2465,8 +2502,8 @@ 0 - 29 - 166 + 27 + 169 1 0 0 @@ -2485,8 +2522,8 @@ 0 0 - 30 - 167 + 28 + 170 1 0 0 @@ -2497,8 +2534,8 @@ 0 - 30 - 168 + 28 + 171 1 0 0 @@ -2509,8 +2546,8 @@ 0 - 30 - 169 + 28 + 172 1 0 0 @@ -2521,8 +2558,8 @@ 0 - 30 - 170 + 28 + 173 1 0 0 @@ -2533,8 +2570,8 @@ 0 - 30 - 171 + 28 + 174 1 0 0 @@ -2553,8 +2590,8 @@ 0 0 - 31 - 172 + 29 + 175 1 0 0 @@ -2565,8 +2602,8 @@ 0 - 31 - 173 + 29 + 176 1 0 0 @@ -2577,8 +2614,8 @@ 0 - 31 - 174 + 29 + 177 1 0 0 @@ -2589,8 +2626,8 @@ 0 - 31 - 175 + 29 + 178 1 0 0 @@ -2601,8 +2638,8 @@ 0 - 31 - 176 + 29 + 179 1 0 0 @@ -2613,8 +2650,8 @@ 0 - 31 - 177 + 29 + 180 1 0 0 @@ -2625,8 +2662,8 @@ 0 - 31 - 178 + 29 + 181 1 0 0 @@ -2637,8 +2674,8 @@ 0 - 31 - 179 + 29 + 182 1 0 0 @@ -2649,8 +2686,8 @@ 0 - 31 - 180 + 29 + 183 1 0 0 @@ -2661,8 +2698,8 @@ 0 - 31 - 181 + 29 + 184 1 0 0 @@ -2673,8 +2710,8 @@ 0 - 31 - 182 + 29 + 185 1 0 0 @@ -2685,8 +2722,8 @@ 0 - 31 - 183 + 29 + 186 1 0 0 @@ -2697,8 +2734,8 @@ 0 - 31 - 184 + 29 + 187 1 0 0 @@ -2709,8 +2746,8 @@ 0 - 31 - 185 + 29 + 188 1 0 0 @@ -2721,8 +2758,8 @@ 0 - 31 - 186 + 29 + 189 1 0 0 @@ -2733,8 +2770,8 @@ 0 - 31 - 187 + 29 + 190 1 0 0 @@ -2745,8 +2782,8 @@ 0 - 31 - 188 + 29 + 191 1 0 0 @@ -2757,8 +2794,8 @@ 0 - 31 - 189 + 29 + 192 1 0 0 @@ -2769,8 +2806,8 @@ 0 - 31 - 190 + 29 + 193 1 0 0 @@ -2781,8 +2818,8 @@ 0 - 31 - 191 + 29 + 194 1 0 0 @@ -2793,8 +2830,8 @@ 0 - 31 - 192 + 29 + 195 1 0 0 @@ -2805,8 +2842,8 @@ 0 - 31 - 193 + 29 + 196 1 0 0 @@ -2817,8 +2854,8 @@ 0 - 31 - 194 + 29 + 197 1 0 0 @@ -2829,8 +2866,8 @@ 0 - 31 - 195 + 29 + 198 1 0 0 @@ -2841,8 +2878,8 @@ 0 - 31 - 196 + 29 + 199 1 0 0 @@ -2853,8 +2890,8 @@ 0 - 31 - 197 + 29 + 200 1 0 0 @@ -2865,8 +2902,8 @@ 0 - 31 - 198 + 29 + 201 1 0 0 @@ -2877,8 +2914,8 @@ 0 - 31 - 199 + 29 + 202 1 0 0 @@ -2889,8 +2926,8 @@ 0 - 31 - 200 + 29 + 203 1 0 0 @@ -2901,8 +2938,8 @@ 0 - 31 - 201 + 29 + 204 1 0 0 @@ -2913,8 +2950,8 @@ 0 - 31 - 202 + 29 + 205 1 0 0 @@ -2925,8 +2962,8 @@ 0 - 31 - 203 + 29 + 206 1 0 0 @@ -2937,8 +2974,8 @@ 0 - 31 - 204 + 29 + 207 1 0 0 @@ -2949,8 +2986,8 @@ 0 - 31 - 205 + 29 + 208 1 0 0 @@ -2961,8 +2998,8 @@ 0 - 31 - 206 + 29 + 209 1 0 0 @@ -2973,8 +3010,8 @@ 0 - 31 - 207 + 29 + 210 1 0 0 @@ -2985,8 +3022,8 @@ 0 - 31 - 208 + 29 + 211 1 0 0 @@ -2997,8 +3034,8 @@ 0 - 31 - 209 + 29 + 212 1 0 0 @@ -3009,8 +3046,8 @@ 0 - 31 - 210 + 29 + 213 1 0 0 @@ -3021,8 +3058,8 @@ 0 - 31 - 211 + 29 + 214 1 0 0 @@ -3033,8 +3070,8 @@ 0 - 31 - 212 + 29 + 215 1 0 0 @@ -3045,8 +3082,8 @@ 0 - 31 - 213 + 29 + 216 1 0 0 @@ -3057,8 +3094,8 @@ 0 - 31 - 214 + 29 + 217 1 0 0 @@ -3069,8 +3106,8 @@ 0 - 31 - 215 + 29 + 218 1 0 0 @@ -3081,8 +3118,8 @@ 0 - 31 - 216 + 29 + 219 1 0 0 @@ -3093,8 +3130,8 @@ 0 - 31 - 217 + 29 + 220 1 0 0 @@ -3105,8 +3142,8 @@ 0 - 31 - 218 + 29 + 221 1 0 0 @@ -3117,8 +3154,8 @@ 0 - 31 - 219 + 29 + 222 1 0 0 @@ -3129,8 +3166,8 @@ 0 - 31 - 220 + 29 + 223 1 0 0 @@ -3141,8 +3178,8 @@ 0 - 31 - 221 + 29 + 224 1 0 0 @@ -3153,8 +3190,8 @@ 0 - 31 - 222 + 29 + 225 1 0 0 @@ -3165,8 +3202,8 @@ 0 - 31 - 223 + 29 + 226 1 0 0 @@ -3177,8 +3214,8 @@ 0 - 31 - 224 + 29 + 227 1 0 0 @@ -3189,8 +3226,8 @@ 0 - 31 - 225 + 29 + 228 1 0 0 @@ -3201,8 +3238,8 @@ 0 - 31 - 226 + 29 + 229 1 0 0 @@ -3213,8 +3250,8 @@ 0 - 31 - 227 + 29 + 230 1 0 0 @@ -3225,8 +3262,8 @@ 0 - 31 - 228 + 29 + 231 1 0 0 @@ -3237,8 +3274,8 @@ 0 - 31 - 229 + 29 + 232 1 0 0 @@ -3249,8 +3286,8 @@ 0 - 31 - 230 + 29 + 233 1 0 0 @@ -3261,8 +3298,8 @@ 0 - 31 - 231 + 29 + 234 1 0 0 @@ -3273,8 +3310,8 @@ 0 - 31 - 232 + 29 + 235 1 0 0 @@ -3285,8 +3322,8 @@ 0 - 31 - 233 + 29 + 236 1 0 0 @@ -3297,8 +3334,8 @@ 0 - 31 - 234 + 29 + 237 1 0 0 @@ -3309,8 +3346,8 @@ 0 - 31 - 235 + 29 + 238 1 0 0 @@ -3321,8 +3358,8 @@ 0 - 31 - 236 + 29 + 239 1 0 0 @@ -3333,8 +3370,8 @@ 0 - 31 - 237 + 29 + 240 1 0 0 @@ -3345,8 +3382,8 @@ 0 - 31 - 238 + 29 + 241 1 0 0 @@ -3357,8 +3394,8 @@ 0 - 31 - 239 + 29 + 242 1 0 0 @@ -3369,8 +3406,8 @@ 0 - 31 - 240 + 29 + 243 1 0 0 @@ -3381,8 +3418,8 @@ 0 - 31 - 241 + 29 + 244 1 0 0 @@ -3393,8 +3430,8 @@ 0 - 31 - 242 + 29 + 245 1 0 0 @@ -3405,8 +3442,8 @@ 0 - 31 - 243 + 29 + 246 1 0 0 @@ -3417,8 +3454,8 @@ 0 - 31 - 244 + 29 + 247 1 0 0 @@ -3429,8 +3466,8 @@ 0 - 31 - 245 + 29 + 248 1 0 0 @@ -3441,8 +3478,8 @@ 0 - 31 - 246 + 29 + 249 1 0 0 @@ -3453,8 +3490,8 @@ 0 - 31 - 247 + 29 + 250 1 0 0 @@ -3465,8 +3502,8 @@ 0 - 31 - 248 + 29 + 251 1 0 0 @@ -3477,8 +3514,8 @@ 0 - 31 - 249 + 29 + 252 1 0 0 @@ -3489,8 +3526,8 @@ 0 - 31 - 250 + 29 + 253 1 0 0 @@ -3509,8 +3546,8 @@ 0 0 - 32 - 251 + 30 + 254 1 0 0 @@ -3521,8 +3558,8 @@ 0 - 32 - 252 + 30 + 255 1 0 0 @@ -3533,8 +3570,8 @@ 0 - 32 - 253 + 30 + 256 1 0 0 diff --git a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvprojx b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvprojx index fdee40ef..633711e8 100644 --- a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvprojx +++ b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/TencentOS_tiny.uvprojx @@ -70,9 +70,9 @@ 0 - 0 + 1 0 - + python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\before_build.py flash_partition_cfg.json flash_partition_table.h 0 0 @@ -81,9 +81,9 @@ 1 - 0 - .\after_build_ln882x.bat - + 1 + python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py @L + ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe cmd_app ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ln882x.bin @L.bin @L.asm flashimage.bin flash_partition_cfg.json ver=1.1 0 0 0 @@ -338,7 +338,7 @@ LN882x,ARM_MATH_CM4,MBEDTLS_CONFIG_FILE=<qcloud/tls_psk_config.h> - ..\..\BSP\Inc;..\..\TOS-CONFIG;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\core\include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\osal\cmsis_os;..\..\..\..\examples\helloworld;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\driver_ln882x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\components\fs\kv\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\kernel;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\CMSIS_5.3.0;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\wifi_manager;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\net;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port\arch;..\..\..\..\components\connectivity\qcloud-iot-explorer-sdk\3rdparty\include;..\..\..\..\components\connectivity\qcloud-iot-explorer-sdk\3rdparty\include\exports;..\..\..\..\components\connectivity\qcloud-iot-explorer-sdk\3rdparty\sdk_src\internal_inc;..\..\..\..\components\security\mbedtls\3rdparty\include;..\..\..\..\components\security\mbedtls\wrapper\include + ..\..\BSP\Inc;..\..\TOS-CONFIG;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\core\include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\osal\cmsis_os;..\..\..\..\examples\helloworld;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\driver_ln882x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\components\fs\kv\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\kernel;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\CMSIS_5.3.0;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\wifi_manager;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\net;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port\arch;..\..\..\..\components\connectivity\qcloud-iot-explorer-sdk\3rdparty\include;..\..\..\..\components\connectivity\qcloud-iot-explorer-sdk\3rdparty\include\exports;..\..\..\..\components\connectivity\qcloud-iot-explorer-sdk\3rdparty\sdk_src\internal_inc;..\..\..\..\components\security\mbedtls\3rdparty\include;..\..\..\..\components\security\mbedtls\wrapper\include;..\qcloud_iot_explorer;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr @@ -369,10 +369,10 @@ 0x08000000 0x20000000 - .\firmware_XIP_ln882x.sct + .\ln882x.sct - --no_autoat --keep=main.o(no_init_data) + --no_autoat --keep=*.o(no_init_data) @@ -429,16 +429,6 @@ - - Drivers/Drv - - - drv_adc_measure.c - 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\drv\drv_adc_measure.c - - - Drivers/HAL @@ -738,6 +728,16 @@ 1 ..\..\BSP\Src\mcu_init.c + + serial_hw.c + 1 + ..\..\BSP\Src\serial_hw.c + + + drv_adc_measure.c + 1 + ..\..\BSP\Src\drv_adc_measure.c + @@ -748,11 +748,6 @@ 1 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial.c - - serial_hw.c - 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial_hw.c - @@ -934,9 +929,9 @@ ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_mac.lib - wifi_driver.lib + soc_driver.lib 4 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_driver.lib + ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\soc_driver.lib @@ -948,6 +943,11 @@ 1 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_manager\wifi_manager.c + + wifi_port.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port\wifi_port.c + @@ -1242,22 +1242,27 @@ - tos_components + fs - tos_kv.c + ln_kv.c 1 - ..\..\..\..\components\fs\kv\tos_kv.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv\ln_kv.c + + + ln_kv_port.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port\ln_kv_port.c - - - - nvds - nvds.c 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\nvds\nvds.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds\nvds.c + + + flash_partition_mgr.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr\flash_partition_mgr.c diff --git a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/after_build_ln882x.bat b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/after_build_ln882x.bat index cc2c0678..60675d37 100644 --- a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/after_build_ln882x.bat +++ b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/after_build_ln882x.bat @@ -1,8 +1,4 @@ - -python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py firmware_XIP - -..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe ln882x flashimage ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ram_ln882x.bin firmware_XIP.bin flashimage.bin release=1 crp_enable=0 app_version=10 hw_version=0 - -..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\fpu_patch.exe .\firmware_XIP.asm .\flashimage.bin +python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py @L +..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe cmd_app ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ln882x.bin @L.bin @L.asm flashimage.bin flash_partition_cfg.json ver=1.1 diff --git a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_cfg.json b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_cfg.json new file mode 100644 index 00000000..91fec537 --- /dev/null +++ b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_cfg.json @@ -0,0 +1,22 @@ +{ + "Warning1":"警告,系统定义用户ä¸å¯ä¿®æ”¹!!!", + "vendor_define": + [ + {"partition_type": "BOOT", "start_addr": "0x00000000", "size_KB": 36 }, + {"partition_type": "PART_TAB", "start_addr": "0x00009000", "size_KB": 4 } + ], + + + "Warning2":"以下数æ®,用户根æ®SOC flash容é‡ä»¥åŠå…·ä½“需求修改,仅å¯ä»¥ä¿®æ”¹start_addr值和size值,且必须4KB对é½!!!", + "user_define": + [ + {"partition_type": "KV", "start_addr": "0x0000A000", "size_KB": 8 }, + {"partition_type": "SIMU_EEPROM", "start_addr": "0x0000C000", "size_KB": 8 }, + {"partition_type": "APP", "start_addr": "0x0000E000", "size_KB": 800 }, + {"partition_type": "OTA", "start_addr": "0x000D6000", "size_KB": 800 }, + {"partition_type": "NVDS", "start_addr": "0x0019E000", "size_KB": 12 }, + {"partition_type": "USER", "start_addr": "0x001A1000", "size_KB": 12 } + ] +} + + diff --git a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_table.h b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_table.h index e068e5bf..08788e3c 100644 --- a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_table.h +++ b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/flash_partition_table.h @@ -1,32 +1,56 @@ -#ifndef __FLASH_PARTITION_TABLE_H__ -#define __FLASH_PARTITION_TABLE_H__ +#ifndef __FLASH_PARTITION_TABLE__ +#define __FLASH_PARTITION_TABLE__ -//#define RETENTION_MEM_BASE 0x20028000 -//#define RETENTION_MEM_SIZE 0x2000 -#ifndef FLASH_BASE -#define FLASH_BASE (0x10000000) +//flash partition map,it's generated by the script based on the json file + +#define BOOT_SPACE_OFFSET (0x00000000) +#define BOOT_SPACE_SIZE (1024*36) + +#define PART_TAB_SPACE_OFFSET (0x00009000) +#define PART_TAB_SPACE_SIZE (1024*4) +#if (PART_TAB_SPACE_OFFSET < (BOOT_SPACE_OFFSET + BOOT_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#ifndef FLASH_SIZE -#define FLASH_SIZE (0x00200000) +#define KV_SPACE_OFFSET (0x0000A000) +#define KV_SPACE_SIZE (1024*8) +#if (KV_SPACE_OFFSET < (PART_TAB_SPACE_OFFSET + PART_TAB_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#ifndef PRIMARY_PARTITION_OFFSET -#define PRIMARY_PARTITION_OFFSET (0x0000F000) +#define SIMU_EEPROM_SPACE_OFFSET (0x0000C000) +#define SIMU_EEPROM_SPACE_SIZE (1024*8) +#if (SIMU_EEPROM_SPACE_OFFSET < (KV_SPACE_OFFSET + KV_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#define PRIMARY_PATTITION_START 0x0000F000 -#define PRIMARY_PATTITION_SIZE 0xE1000 -//#define USERAPP_SRAM_BASE 0x1FFF0000 -#define BACKUP_PATTITION_START 0x000F0000 -#define BACKUP_PATTITION_SIZE 0xE1000 -#define USERDATA_PATTITION_START 0x001D1000 -#define USERDATA_PATTITION_SIZE 0x23000 - -//memory offset check -#if ((PRIMARY_PATTITION_START < PRIMARY_PARTITION_OFFSET) || (BACKUP_PATTITION_START < PRIMARY_PATTITION_START) || (USERDATA_PATTITION_START < BACKUP_PATTITION_START) || (PRIMARY_PATTITION_START + PRIMARY_PATTITION_SIZE > BACKUP_PATTITION_START) || (BACKUP_PATTITION_START + BACKUP_PATTITION_SIZE > USERDATA_PATTITION_START) || (USERDATA_PATTITION_START + USERDATA_PATTITION_SIZE > FLASH_SIZE)) - #error "flash partition define error!" +#define APP_SPACE_OFFSET (0x0000E000) +#define APP_SPACE_SIZE (1024*800) +#if (APP_SPACE_OFFSET < (SIMU_EEPROM_SPACE_OFFSET + SIMU_EEPROM_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#endif /* __FLASH_PARTITION_TABLE_H__ */ +#define OTA_SPACE_OFFSET (0x000D6000) +#define OTA_SPACE_SIZE (1024*800) +#if (OTA_SPACE_OFFSET < (APP_SPACE_OFFSET + APP_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + +#define NVDS_SPACE_OFFSET (0x0019E000) +#define NVDS_SPACE_SIZE (1024*12) +#if (NVDS_SPACE_OFFSET < (OTA_SPACE_OFFSET + OTA_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + +#define USER_SPACE_OFFSET (0x001A1000) +#define USER_SPACE_SIZE (1024*12) +#if (USER_SPACE_OFFSET < (NVDS_SPACE_OFFSET + NVDS_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + + +#define IMAGE_HEADER_SIZE (0x100) + +#endif /* __FLASH_PARTITION_TABLE__ */ + diff --git a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/firmware_XIP_ln882x.sct b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/ln882x.sct similarity index 59% rename from board/EVB_LN882x/KEIL/qcloud_iot_explorer/firmware_XIP_ln882x.sct rename to board/EVB_LN882x/KEIL/qcloud_iot_explorer/ln882x.sct index 50c5ed54..26dc840b 100644 --- a/board/EVB_LN882x/KEIL/qcloud_iot_explorer/firmware_XIP_ln882x.sct +++ b/board/EVB_LN882x/KEIL/qcloud_iot_explorer/ln882x.sct @@ -1,9 +1,9 @@ #! armcc -E -#include ".\flash_partition_table.h" +#include "flash_partition_table.h" #include ".\..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx\mem_map_ln882x.h" -LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE +LR_FLASH CACHE_FLASH_BASE+APP_SPACE_OFFSET+IMAGE_HEADER_SIZE APP_SPACE_SIZE {; load region size_region ISR_VECTOR RAM_BASE ALIGN 0x100 @@ -11,7 +11,7 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE startup_*.o (RESET, +First) } - ER_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET + ImageLength(ISR_VECTOR) PRIMARY_PATTITION_SIZE + ER_FLASH CACHE_FLASH_BASE+APP_SPACE_OFFSET+IMAGE_HEADER_SIZE + ImageLength(ISR_VECTOR) APP_SPACE_SIZE {; load address = execution address *(InRoot$$Sections) .ANY (+RO) @@ -24,15 +24,15 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE ll_cache.o(+RO) ll_dma.o(+RO) ll_syscon.o(+RO) - ll_sleep.o(+RO) - ll_rtc.o(+RO) + ;ll_sleep.o(+RO) + ;ll_rtc.o(+RO) cache.o(+RO) qspi.o(+RO) flash.o(+RO) hal_dma.o(+RO) hal_syscon.o(+RO) - hal_sleep.o(+RO) - hal_rtc.o(+RO) + ;hal_sleep.o(+RO) + ;hal_rtc.o(+RO) ;port.o(XIR) ;optional item @@ -49,16 +49,32 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE startup_ln*(+RW +ZI) } - ER_DATA +0 + ER_DATA_IN_B0 +0 RAM_BLOCK0_SIZE-ImageLength(ISR_VECTOR)-ImageLength(ER_CODE)-ImageLength(ER_STACK) { - *(.ARM.__at_0x1FFFFFFC) - .ANY (+RW +ZI) + memp.o(+RW +ZI) + imem.o(+RW +ZI) + imem_if.o(+RW +ZI) + ;cglobals_sta.o(+RW +ZI) + ;event_manager.o(+RW +ZI) + iconfig.o(+RW +ZI) + common.o(+RW +ZI) + } + + HEAP_SPACE0 +0 EMPTY RAM_BLOCK1_BASE-ImageLimit(ER_DATA_IN_B0) + {; Heap region + } + + ER_DATA_IN_B1 RAM_BLOCK1_BASE RAM_BLOCK1_SIZE + { + *(wlan_mem_pkt) + *(wlan_mem_dscr) + .ANY (+RW +ZI) } ;IQ Data area cannot be used by ER_DATA region ;ScatterAssert(ImageLimit(ER_DATA) < (0x20020300)) - HEAP_SPACE +0 EMPTY RETENTION_MEM_BASE-ImageLimit(ER_DATA) + HEAP_SPACE1 +0 EMPTY RETENTION_MEM_BASE-ImageLimit(ER_DATA_IN_B1) {; Heap region } diff --git a/board/EVB_LN882x/KEIL/wifi_demo/.gitignore b/board/EVB_LN882x/KEIL/wifi_demo/.gitignore new file mode 100644 index 00000000..31d89ac4 --- /dev/null +++ b/board/EVB_LN882x/KEIL/wifi_demo/.gitignore @@ -0,0 +1,6 @@ +/Listings/ +/Objects/ +*.uvguix.* +JLinkLog.txt +*.bin +*.asm \ No newline at end of file diff --git a/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvoptx b/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvoptx index b56d87ad..553013ed 100644 --- a/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvoptx +++ b/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvoptx @@ -114,11 +114,6 @@ Segger\JL2CM3.dll - - 0 - DLGUARM - - 0 ARMRTXEVENTFLAGS @@ -150,7 +145,24 @@ -U-O142 -O2254 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103VE$Flash\STM32F10x_512.FLM) - + + + 0 + 0 + 50 + 1 +
268506362
+ 0 + 0 + 0 + 0 + 0 + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\kernel\TencentOS_Adapter\TencentOS_mutex.c + + \\firmware_XIP\../../../../platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_mutex.c\50 +
+
0 @@ -340,7 +352,7 @@ - Drivers/Drv + Drivers/HAL 0 0 0 @@ -352,34 +364,14 @@ 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\drv\drv_adc_measure.c - drv_adc_measure.c - 0 - 0 - - - - - Drivers/HAL - 0 - 0 - 0 - 0 - - 5 - 8 - 1 - 0 - 0 - 0 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\hal\hal_common.c hal_common.c 0 0 - 5 - 9 + 4 + 8 1 0 0 @@ -390,8 +382,8 @@ 0 - 5 - 10 + 4 + 9 1 0 0 @@ -402,8 +394,8 @@ 0 - 5 - 11 + 4 + 10 1 0 0 @@ -414,8 +406,8 @@ 0 - 5 - 12 + 4 + 11 1 0 0 @@ -426,8 +418,8 @@ 0 - 5 - 13 + 4 + 12 1 0 0 @@ -438,8 +430,8 @@ 0 - 5 - 14 + 4 + 13 1 0 0 @@ -450,8 +442,8 @@ 0 - 5 - 15 + 4 + 14 1 0 0 @@ -462,8 +454,8 @@ 0 - 5 - 16 + 4 + 15 1 0 0 @@ -474,8 +466,8 @@ 0 - 5 - 17 + 4 + 16 1 0 0 @@ -486,8 +478,8 @@ 0 - 5 - 18 + 4 + 17 1 0 0 @@ -498,8 +490,8 @@ 0 - 5 - 19 + 4 + 18 1 0 0 @@ -510,8 +502,8 @@ 0 - 5 - 20 + 4 + 19 1 0 0 @@ -530,8 +522,8 @@ 0 0 - 6 - 21 + 5 + 20 1 0 0 @@ -542,8 +534,8 @@ 0 - 6 - 22 + 5 + 21 1 0 0 @@ -554,8 +546,8 @@ 0 - 6 - 23 + 5 + 22 1 0 0 @@ -566,8 +558,8 @@ 0 - 6 - 24 + 5 + 23 1 0 0 @@ -578,8 +570,8 @@ 0 - 6 - 25 + 5 + 24 1 0 0 @@ -590,8 +582,8 @@ 0 - 6 - 26 + 5 + 25 1 0 0 @@ -602,8 +594,8 @@ 0 - 6 - 27 + 5 + 26 1 0 0 @@ -614,8 +606,8 @@ 0 - 6 - 28 + 5 + 27 1 0 0 @@ -626,8 +618,8 @@ 0 - 6 - 29 + 5 + 28 1 0 0 @@ -638,8 +630,8 @@ 0 - 6 - 30 + 5 + 29 1 0 0 @@ -650,8 +642,8 @@ 0 - 6 - 31 + 5 + 30 1 0 0 @@ -662,8 +654,8 @@ 0 - 6 - 32 + 5 + 31 1 0 0 @@ -674,8 +666,8 @@ 0 - 6 - 33 + 5 + 32 1 0 0 @@ -686,8 +678,8 @@ 0 - 6 - 34 + 5 + 33 1 0 0 @@ -698,8 +690,8 @@ 0 - 6 - 35 + 5 + 34 1 0 0 @@ -710,8 +702,8 @@ 0 - 6 - 36 + 5 + 35 1 0 0 @@ -722,8 +714,8 @@ 0 - 6 - 37 + 5 + 36 1 0 0 @@ -734,8 +726,8 @@ 0 - 6 - 38 + 5 + 37 1 0 0 @@ -746,8 +738,8 @@ 0 - 6 - 39 + 5 + 38 1 0 0 @@ -758,8 +750,8 @@ 0 - 6 - 40 + 5 + 39 1 0 0 @@ -770,8 +762,8 @@ 0 - 6 - 41 + 5 + 40 1 0 0 @@ -782,8 +774,8 @@ 0 - 6 - 42 + 5 + 41 1 0 0 @@ -794,8 +786,8 @@ 0 - 6 - 43 + 5 + 42 1 0 0 @@ -806,8 +798,8 @@ 0 - 6 - 44 + 5 + 43 1 0 0 @@ -826,8 +818,8 @@ 0 0 - 7 - 45 + 6 + 44 1 0 0 @@ -838,8 +830,8 @@ 0 - 7 - 46 + 6 + 45 2 0 0 @@ -850,8 +842,8 @@ 0 - 7 - 47 + 6 + 46 1 0 0 @@ -863,6 +855,26 @@ + + cmsis + 0 + 0 + 0 + 0 + + 7 + 47 + 1 + 0 + 0 + 0 + ..\..\..\..\osal\cmsis_os\cmsis_os.c + cmsis_os.c + 0 + 0 + + + config 0 @@ -896,7 +908,7 @@ - cmsis + bsp 0 0 0 @@ -908,28 +920,32 @@ 0 0 0 - ..\..\..\..\osal\cmsis_os\cmsis_os.c - cmsis_os.c + ..\..\BSP\Src\mcu_init.c + mcu_init.c 0 0 - - - - bsp - 0 - 0 - 0 - 0 - 10 + 9 51 1 0 0 0 - ..\..\BSP\Src\mcu_init.c - mcu_init.c + ..\..\BSP\Src\serial_hw.c + serial_hw.c + 0 + 0 + + + 9 + 52 + 1 + 0 + 0 + 0 + ..\..\BSP\Src\drv_adc_measure.c + drv_adc_measure.c 0 0 @@ -942,8 +958,8 @@ 0 0 - 11 - 52 + 10 + 53 1 0 0 @@ -953,18 +969,6 @@ 0 0 - - 11 - 53 - 1 - 0 - 0 - 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial_hw.c - serial_hw.c - 0 - 0 - @@ -974,7 +978,7 @@ 0 0 - 12 + 11 54 1 0 @@ -994,7 +998,7 @@ 0 0 - 13 + 12 55 1 0 @@ -1006,7 +1010,7 @@ 0 - 13 + 12 56 1 0 @@ -1018,7 +1022,7 @@ 0 - 13 + 12 57 1 0 @@ -1030,7 +1034,7 @@ 0 - 13 + 12 58 1 0 @@ -1042,7 +1046,7 @@ 0 - 13 + 12 59 1 0 @@ -1054,7 +1058,7 @@ 0 - 13 + 12 60 1 0 @@ -1074,7 +1078,7 @@ 0 0 - 14 + 13 61 1 0 @@ -1086,7 +1090,7 @@ 0 - 14 + 13 62 1 0 @@ -1098,7 +1102,7 @@ 0 - 14 + 13 63 1 0 @@ -1110,7 +1114,7 @@ 0 - 14 + 13 64 1 0 @@ -1122,7 +1126,7 @@ 0 - 14 + 13 65 1 0 @@ -1134,7 +1138,7 @@ 0 - 14 + 13 66 1 0 @@ -1146,7 +1150,7 @@ 0 - 14 + 13 67 1 0 @@ -1158,7 +1162,7 @@ 0 - 14 + 13 68 1 0 @@ -1170,7 +1174,7 @@ 0 - 14 + 13 69 1 0 @@ -1182,7 +1186,7 @@ 0 - 14 + 13 70 1 0 @@ -1194,7 +1198,7 @@ 0 - 14 + 13 71 1 0 @@ -1206,7 +1210,7 @@ 0 - 14 + 13 72 1 0 @@ -1218,7 +1222,7 @@ 0 - 14 + 13 73 1 0 @@ -1238,7 +1242,7 @@ 0 0 - 15 + 14 74 5 0 @@ -1258,7 +1262,7 @@ 0 0 - 16 + 15 75 1 0 @@ -1270,7 +1274,7 @@ 0 - 16 + 15 76 1 0 @@ -1282,7 +1286,7 @@ 0 - 16 + 15 77 1 0 @@ -1294,7 +1298,7 @@ 0 - 16 + 15 78 1 0 @@ -1306,7 +1310,7 @@ 0 - 16 + 15 79 1 0 @@ -1318,7 +1322,7 @@ 0 - 16 + 15 80 1 0 @@ -1330,7 +1334,7 @@ 0 - 16 + 15 81 1 0 @@ -1350,7 +1354,7 @@ 0 0 - 17 + 16 82 4 0 @@ -1362,29 +1366,29 @@ 0 - 17 + 16 83 4 0 0 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\soc_driver.lib + soc_driver.lib + 0 + 0 + + + 16 + 84 + 4 + 0 + 0 + 0 ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_mac.lib wifi_mac.lib 0 0 - - 17 - 84 - 4 - 0 - 0 - 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_driver.lib - wifi_driver.lib - 0 - 0 - @@ -1394,7 +1398,7 @@ 0 0 - 18 + 17 85 1 0 @@ -1405,6 +1409,18 @@ 0 0 + + 17 + 86 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port\wifi_port.c + wifi_port.c + 0 + 0 + @@ -1414,8 +1430,8 @@ 0 0 - 19 - 86 + 18 + 87 1 0 0 @@ -1426,8 +1442,8 @@ 0 - 19 - 87 + 18 + 88 1 0 0 @@ -1438,8 +1454,8 @@ 0 - 19 - 88 + 18 + 89 1 0 0 @@ -1450,8 +1466,8 @@ 0 - 19 - 89 + 18 + 90 1 0 0 @@ -1462,8 +1478,8 @@ 0 - 19 - 90 + 18 + 91 1 0 0 @@ -1474,8 +1490,8 @@ 0 - 19 - 91 + 18 + 92 1 0 0 @@ -1486,8 +1502,8 @@ 0 - 19 - 92 + 18 + 93 1 0 0 @@ -1498,8 +1514,8 @@ 0 - 19 - 93 + 18 + 94 1 0 0 @@ -1510,8 +1526,8 @@ 0 - 19 - 94 + 18 + 95 1 0 0 @@ -1522,8 +1538,8 @@ 0 - 19 - 95 + 18 + 96 1 0 0 @@ -1534,8 +1550,8 @@ 0 - 19 - 96 + 18 + 97 1 0 0 @@ -1546,8 +1562,8 @@ 0 - 19 - 97 + 18 + 98 1 0 0 @@ -1558,8 +1574,8 @@ 0 - 19 - 98 + 18 + 99 1 0 0 @@ -1570,8 +1586,8 @@ 0 - 19 - 99 + 18 + 100 1 0 0 @@ -1582,8 +1598,8 @@ 0 - 19 - 100 + 18 + 101 1 0 0 @@ -1594,8 +1610,8 @@ 0 - 19 - 101 + 18 + 102 1 0 0 @@ -1606,8 +1622,8 @@ 0 - 19 - 102 + 18 + 103 1 0 0 @@ -1618,8 +1634,8 @@ 0 - 19 - 103 + 18 + 104 1 0 0 @@ -1630,8 +1646,8 @@ 0 - 19 - 104 + 18 + 105 1 0 0 @@ -1642,8 +1658,8 @@ 0 - 19 - 105 + 18 + 106 1 0 0 @@ -1654,8 +1670,8 @@ 0 - 19 - 106 + 18 + 107 1 0 0 @@ -1666,8 +1682,8 @@ 0 - 19 - 107 + 18 + 108 1 0 0 @@ -1678,8 +1694,8 @@ 0 - 19 - 108 + 18 + 109 1 0 0 @@ -1690,8 +1706,8 @@ 0 - 19 - 109 + 18 + 110 1 0 0 @@ -1702,8 +1718,8 @@ 0 - 19 - 110 + 18 + 111 1 0 0 @@ -1722,8 +1738,8 @@ 0 0 - 20 - 111 + 19 + 112 1 0 0 @@ -1734,8 +1750,8 @@ 0 - 20 - 112 + 19 + 113 1 0 0 @@ -1746,8 +1762,8 @@ 0 - 20 - 113 + 19 + 114 1 0 0 @@ -1758,8 +1774,8 @@ 0 - 20 - 114 + 19 + 115 1 0 0 @@ -1770,8 +1786,8 @@ 0 - 20 - 115 + 19 + 116 1 0 0 @@ -1782,8 +1798,8 @@ 0 - 20 - 116 + 19 + 117 1 0 0 @@ -1794,8 +1810,8 @@ 0 - 20 - 117 + 19 + 118 1 0 0 @@ -1806,8 +1822,8 @@ 0 - 20 - 118 + 19 + 119 1 0 0 @@ -1826,8 +1842,8 @@ 0 0 - 21 - 119 + 20 + 120 1 0 0 @@ -1838,8 +1854,8 @@ 0 - 21 - 120 + 20 + 121 1 0 0 @@ -1858,8 +1874,8 @@ 0 0 - 22 - 121 + 21 + 122 1 0 0 @@ -1870,8 +1886,8 @@ 0 - 22 - 122 + 21 + 123 1 0 0 @@ -1882,8 +1898,8 @@ 0 - 22 - 123 + 21 + 124 5 0 0 @@ -1902,8 +1918,8 @@ 0 0 - 23 - 124 + 22 + 125 1 0 0 @@ -1914,8 +1930,8 @@ 0 - 23 - 125 + 22 + 126 1 0 0 @@ -1926,8 +1942,8 @@ 0 - 23 - 126 + 22 + 127 1 0 0 @@ -1938,8 +1954,8 @@ 0 - 23 - 127 + 22 + 128 1 0 0 @@ -1950,8 +1966,8 @@ 0 - 23 - 128 + 22 + 129 1 0 0 @@ -1964,43 +1980,59 @@ - tos_components + fs 0 0 0 0 - 24 - 129 - 1 - 0 - 0 - 0 - ..\..\..\..\components\fs\kv\tos_kv.c - tos_kv.c - 0 - 0 - - - - - nvds - 0 - 0 - 0 - 0 - - 25 + 23 130 1 0 0 0 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\nvds\nvds.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds\nvds.c nvds.c 0 0 + + 23 + 131 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr\flash_partition_mgr.c + flash_partition_mgr.c + 0 + 0 + + + 23 + 132 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv\ln_kv.c + ln_kv.c + 0 + 0 + + + 23 + 133 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port\ln_kv_port.c + ln_kv_port.c + 0 + 0 + diff --git a/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvprojx b/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvprojx index df6822f6..273f27bd 100644 --- a/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvprojx +++ b/board/EVB_LN882x/KEIL/wifi_demo/TencentOS_tiny.uvprojx @@ -69,9 +69,9 @@ 0 - 0 + 1 0 - + python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\before_build.py flash_partition_cfg.json flash_partition_table.h 0 0 @@ -80,9 +80,9 @@ 1 - 0 - .\after_build_ln882x.bat - + 1 + python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py @L + ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe cmd_app ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ln882x.bin @L.bin @L.asm flashimage.bin flash_partition_cfg.json ver=1.1 0 0 0 @@ -332,7 +332,7 @@ LN882x,ARM_MATH_CM4 - ..\..\BSP\Inc;..\..\TOS-CONFIG;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\core\include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\osal\cmsis_os;..\..\..\..\examples\helloworld;..\hello_world;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\driver_ln882x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\components\fs\kv\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\kernel;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\CMSIS_5.3.0;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\wifi_manager;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\net;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port\arch;..\..\..\..\examples\wifi_ln882x + ..\..\BSP\Inc;..\..\TOS-CONFIG;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\core\include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\osal\cmsis_os;..\..\..\..\examples\helloworld;..\hello_world;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\driver_ln882x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\components\fs\kv\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\kernel;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\CMSIS_5.3.0;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\wifi_manager;..\..\..\..\platform\vendor_bsp\LN\ln882x\include\net;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\net\lwip-2.0.3\src\port\arch;..\..\..\..\examples\wifi_ln882x;..\wifi_demo;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\ll\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\include;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Common;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Controller\AP;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Controller\AP-STA;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Controller\ModeIF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Controller\STA;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Controller\STA\ProtIF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP-STA;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP-STA\M802_11e;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP-STA\M802_11i;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP-STA\M802_11n;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP-STA\ProtIF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP-STA\M802_11e;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP\M802_11e;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP\M802_11i;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP\M802_11n;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP\M802_1x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\AP\ProtIF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\STA;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\STA\M802_11e;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\STA\M802_11i;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\STA\M802_11n;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\STA\M802_1x;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\STA\ProtIF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Core\ModeIF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\Host;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\IF;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\MACHW;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\RF\ART2000;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\PHY\PHYHW\LN;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\PHY\PHYProt\P802_11n;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\TEMP_CAL;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\RF_HW;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\RF_IMG_CAL\hw_img_cal;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Edge\RF_IMG_CAL\image_cal;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\CSL;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Test\MacSwTest;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Utils\MM;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_mac\Utils\QM;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_if;..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_cfg\include @@ -362,10 +362,10 @@ 0x08000000 0x20000000 - .\firmware_XIP_ln882x.sct + .\ln882x.sct - --no_autoat --keep=main.o(no_init_data) + --no_autoat --keep=*.o(no_init_data) @@ -417,16 +417,6 @@ - - Drivers/Drv - - - drv_adc_measure.c - 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\driver_ln882x\drv\drv_adc_measure.c - - - Drivers/HAL @@ -689,6 +679,16 @@ + + cmsis + + + cmsis_os.c + 1 + ..\..\..\..\osal\cmsis_os\cmsis_os.c + + + config @@ -704,16 +704,6 @@ - - cmsis - - - cmsis_os.c - 1 - ..\..\..\..\osal\cmsis_os\cmsis_os.c - - - bsp @@ -722,6 +712,16 @@ 1 ..\..\BSP\Src\mcu_init.c + + serial_hw.c + 1 + ..\..\BSP\Src\serial_hw.c + + + drv_adc_measure.c + 1 + ..\..\BSP\Src\drv_adc_measure.c + @@ -732,11 +732,6 @@ 1 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial.c - - serial_hw.c - 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\serial\serial_hw.c - @@ -912,16 +907,16 @@ 4 ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\arm_cortexM4lf_math.lib + + soc_driver.lib + 4 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\soc_driver.lib + wifi_mac.lib 4 ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_mac.lib - - wifi_driver.lib - 4 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\wifi_driver.lib - @@ -932,6 +927,11 @@ 1 ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_manager\wifi_manager.c + + wifi_port.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\wifi\wifi_port\wifi_port.c + @@ -1222,22 +1222,27 @@ - tos_components - - - tos_kv.c - 1 - ..\..\..\..\components\fs\kv\tos_kv.c - - - - - nvds + fs nvds.c 1 - ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\nvds\nvds.c + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\nvds\nvds.c + + + flash_partition_mgr.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\partition_mgr\flash_partition_mgr.c + + + ln_kv.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv\ln_kv.c + + + ln_kv_port.c + 1 + ..\..\..\..\platform\vendor_bsp\LN\ln882x\src\fs\kv\kv_port\ln_kv_port.c diff --git a/board/EVB_LN882x/KEIL/wifi_demo/after_build_ln882x.bat b/board/EVB_LN882x/KEIL/wifi_demo/after_build_ln882x.bat index cc2c0678..60675d37 100644 --- a/board/EVB_LN882x/KEIL/wifi_demo/after_build_ln882x.bat +++ b/board/EVB_LN882x/KEIL/wifi_demo/after_build_ln882x.bat @@ -1,8 +1,4 @@ - -python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py firmware_XIP - -..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe ln882x flashimage ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ram_ln882x.bin firmware_XIP.bin flashimage.bin release=1 crp_enable=0 app_version=10 hw_version=0 - -..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\fpu_patch.exe .\firmware_XIP.asm .\flashimage.bin +python ..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\user_cmd\after_build_soc.py @L +..\..\..\..\platform\vendor_bsp\LN\ln882x\tools\bin\mkimage.exe cmd_app ..\..\..\..\platform\vendor_bsp\LN\ln882x\lib\boot_ln882x.bin @L.bin @L.asm flashimage.bin flash_partition_cfg.json ver=1.1 diff --git a/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_cfg.json b/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_cfg.json new file mode 100644 index 00000000..91fec537 --- /dev/null +++ b/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_cfg.json @@ -0,0 +1,22 @@ +{ + "Warning1":"警告,系统定义用户ä¸å¯ä¿®æ”¹!!!", + "vendor_define": + [ + {"partition_type": "BOOT", "start_addr": "0x00000000", "size_KB": 36 }, + {"partition_type": "PART_TAB", "start_addr": "0x00009000", "size_KB": 4 } + ], + + + "Warning2":"以下数æ®,用户根æ®SOC flash容é‡ä»¥åŠå…·ä½“需求修改,仅å¯ä»¥ä¿®æ”¹start_addr值和size值,且必须4KB对é½!!!", + "user_define": + [ + {"partition_type": "KV", "start_addr": "0x0000A000", "size_KB": 8 }, + {"partition_type": "SIMU_EEPROM", "start_addr": "0x0000C000", "size_KB": 8 }, + {"partition_type": "APP", "start_addr": "0x0000E000", "size_KB": 800 }, + {"partition_type": "OTA", "start_addr": "0x000D6000", "size_KB": 800 }, + {"partition_type": "NVDS", "start_addr": "0x0019E000", "size_KB": 12 }, + {"partition_type": "USER", "start_addr": "0x001A1000", "size_KB": 12 } + ] +} + + diff --git a/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_table.h b/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_table.h index e068e5bf..08788e3c 100644 --- a/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_table.h +++ b/board/EVB_LN882x/KEIL/wifi_demo/flash_partition_table.h @@ -1,32 +1,56 @@ -#ifndef __FLASH_PARTITION_TABLE_H__ -#define __FLASH_PARTITION_TABLE_H__ +#ifndef __FLASH_PARTITION_TABLE__ +#define __FLASH_PARTITION_TABLE__ -//#define RETENTION_MEM_BASE 0x20028000 -//#define RETENTION_MEM_SIZE 0x2000 -#ifndef FLASH_BASE -#define FLASH_BASE (0x10000000) +//flash partition map,it's generated by the script based on the json file + +#define BOOT_SPACE_OFFSET (0x00000000) +#define BOOT_SPACE_SIZE (1024*36) + +#define PART_TAB_SPACE_OFFSET (0x00009000) +#define PART_TAB_SPACE_SIZE (1024*4) +#if (PART_TAB_SPACE_OFFSET < (BOOT_SPACE_OFFSET + BOOT_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#ifndef FLASH_SIZE -#define FLASH_SIZE (0x00200000) +#define KV_SPACE_OFFSET (0x0000A000) +#define KV_SPACE_SIZE (1024*8) +#if (KV_SPACE_OFFSET < (PART_TAB_SPACE_OFFSET + PART_TAB_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#ifndef PRIMARY_PARTITION_OFFSET -#define PRIMARY_PARTITION_OFFSET (0x0000F000) +#define SIMU_EEPROM_SPACE_OFFSET (0x0000C000) +#define SIMU_EEPROM_SPACE_SIZE (1024*8) +#if (SIMU_EEPROM_SPACE_OFFSET < (KV_SPACE_OFFSET + KV_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#define PRIMARY_PATTITION_START 0x0000F000 -#define PRIMARY_PATTITION_SIZE 0xE1000 -//#define USERAPP_SRAM_BASE 0x1FFF0000 -#define BACKUP_PATTITION_START 0x000F0000 -#define BACKUP_PATTITION_SIZE 0xE1000 -#define USERDATA_PATTITION_START 0x001D1000 -#define USERDATA_PATTITION_SIZE 0x23000 - -//memory offset check -#if ((PRIMARY_PATTITION_START < PRIMARY_PARTITION_OFFSET) || (BACKUP_PATTITION_START < PRIMARY_PATTITION_START) || (USERDATA_PATTITION_START < BACKUP_PATTITION_START) || (PRIMARY_PATTITION_START + PRIMARY_PATTITION_SIZE > BACKUP_PATTITION_START) || (BACKUP_PATTITION_START + BACKUP_PATTITION_SIZE > USERDATA_PATTITION_START) || (USERDATA_PATTITION_START + USERDATA_PATTITION_SIZE > FLASH_SIZE)) - #error "flash partition define error!" +#define APP_SPACE_OFFSET (0x0000E000) +#define APP_SPACE_SIZE (1024*800) +#if (APP_SPACE_OFFSET < (SIMU_EEPROM_SPACE_OFFSET + SIMU_EEPROM_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" #endif -#endif /* __FLASH_PARTITION_TABLE_H__ */ +#define OTA_SPACE_OFFSET (0x000D6000) +#define OTA_SPACE_SIZE (1024*800) +#if (OTA_SPACE_OFFSET < (APP_SPACE_OFFSET + APP_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + +#define NVDS_SPACE_OFFSET (0x0019E000) +#define NVDS_SPACE_SIZE (1024*12) +#if (NVDS_SPACE_OFFSET < (OTA_SPACE_OFFSET + OTA_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + +#define USER_SPACE_OFFSET (0x001A1000) +#define USER_SPACE_SIZE (1024*12) +#if (USER_SPACE_OFFSET < (NVDS_SPACE_OFFSET + NVDS_SPACE_SIZE)) + #error "flash partition overlap,please check !!!" +#endif + + +#define IMAGE_HEADER_SIZE (0x100) + +#endif /* __FLASH_PARTITION_TABLE__ */ + diff --git a/board/EVB_LN882x/KEIL/wifi_demo/firmware_XIP_ln882x.sct b/board/EVB_LN882x/KEIL/wifi_demo/ln882x.sct similarity index 59% rename from board/EVB_LN882x/KEIL/wifi_demo/firmware_XIP_ln882x.sct rename to board/EVB_LN882x/KEIL/wifi_demo/ln882x.sct index 50c5ed54..26dc840b 100644 --- a/board/EVB_LN882x/KEIL/wifi_demo/firmware_XIP_ln882x.sct +++ b/board/EVB_LN882x/KEIL/wifi_demo/ln882x.sct @@ -1,9 +1,9 @@ #! armcc -E -#include ".\flash_partition_table.h" +#include "flash_partition_table.h" #include ".\..\..\..\..\platform\vendor_bsp\LN\ln882x\include\cpu\ARM_CM4F\ln88xx\mem_map_ln882x.h" -LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE +LR_FLASH CACHE_FLASH_BASE+APP_SPACE_OFFSET+IMAGE_HEADER_SIZE APP_SPACE_SIZE {; load region size_region ISR_VECTOR RAM_BASE ALIGN 0x100 @@ -11,7 +11,7 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE startup_*.o (RESET, +First) } - ER_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET + ImageLength(ISR_VECTOR) PRIMARY_PATTITION_SIZE + ER_FLASH CACHE_FLASH_BASE+APP_SPACE_OFFSET+IMAGE_HEADER_SIZE + ImageLength(ISR_VECTOR) APP_SPACE_SIZE {; load address = execution address *(InRoot$$Sections) .ANY (+RO) @@ -24,15 +24,15 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE ll_cache.o(+RO) ll_dma.o(+RO) ll_syscon.o(+RO) - ll_sleep.o(+RO) - ll_rtc.o(+RO) + ;ll_sleep.o(+RO) + ;ll_rtc.o(+RO) cache.o(+RO) qspi.o(+RO) flash.o(+RO) hal_dma.o(+RO) hal_syscon.o(+RO) - hal_sleep.o(+RO) - hal_rtc.o(+RO) + ;hal_sleep.o(+RO) + ;hal_rtc.o(+RO) ;port.o(XIR) ;optional item @@ -49,16 +49,32 @@ LR_FLASH FLASH_BASE+PRIMARY_PARTITION_OFFSET PRIMARY_PATTITION_SIZE startup_ln*(+RW +ZI) } - ER_DATA +0 + ER_DATA_IN_B0 +0 RAM_BLOCK0_SIZE-ImageLength(ISR_VECTOR)-ImageLength(ER_CODE)-ImageLength(ER_STACK) { - *(.ARM.__at_0x1FFFFFFC) - .ANY (+RW +ZI) + memp.o(+RW +ZI) + imem.o(+RW +ZI) + imem_if.o(+RW +ZI) + ;cglobals_sta.o(+RW +ZI) + ;event_manager.o(+RW +ZI) + iconfig.o(+RW +ZI) + common.o(+RW +ZI) + } + + HEAP_SPACE0 +0 EMPTY RAM_BLOCK1_BASE-ImageLimit(ER_DATA_IN_B0) + {; Heap region + } + + ER_DATA_IN_B1 RAM_BLOCK1_BASE RAM_BLOCK1_SIZE + { + *(wlan_mem_pkt) + *(wlan_mem_dscr) + .ANY (+RW +ZI) } ;IQ Data area cannot be used by ER_DATA region ;ScatterAssert(ImageLimit(ER_DATA) < (0x20020300)) - HEAP_SPACE +0 EMPTY RETENTION_MEM_BASE-ImageLimit(ER_DATA) + HEAP_SPACE1 +0 EMPTY RETENTION_MEM_BASE-ImageLimit(ER_DATA_IN_B1) {; Heap region } diff --git a/board/EVB_LN882x/startup/startup_ln882x.S b/board/EVB_LN882x/startup/startup_ln882x.S new file mode 100644 index 00000000..a112c2dd --- /dev/null +++ b/board/EVB_LN882x/startup/startup_ln882x.S @@ -0,0 +1,290 @@ +;/**************************************************************************//** +; * @file startup_ARMCM4.s +; * @brief CMSIS Core Device Startup File for +; * ARMCM4 Device Series +; * @version V5.00 +; * @date 02. March 2016 +; ******************************************************************************/ +;/* +; * Copyright (c) 2009-2016 ARM Limited. All rights reserved. +; * +; * SPDX-License-Identifier: Apache-2.0 +; * +; * Licensed under the Apache License, Version 2.0 (the License); you may +; * not use this file except in compliance with the License. +; * You may obtain a copy of the License at +; * +; * www.apache.org/licenses/LICENSE-2.0 +; * +; * Unless required by applicable law or agreed to in writing, software +; * distributed under the License is distributed on an AS IS BASIS, WITHOUT +; * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; * See the License for the specific language governing permissions and +; * limitations under the License. +; */ + +;/* +;//-------- <<< Use Configuration Wizard in Context Menu >>> ------------------ +;*/ + + +; Stack Configuration +; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Stack_Size EQU 0x00001800 + + AREA STACK, NOINIT, READWRITE, ALIGN=3 +Stack_Mem SPACE Stack_Size +__initial_sp + + +; Heap Configuration +; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> +; + +Heap_Size EQU 0x00000000 + + AREA HEAP, NOINIT, READWRITE, ALIGN=3 +__heap_base +Heap_Mem SPACE Heap_Size +__heap_limit + + + PRESERVE8 + THUMB + + +; Vector Table Mapped to Address 0 at Reset + + AREA RESET, DATA, READONLY + EXPORT __Vectors + EXPORT __Vectors_End + EXPORT __Vectors_Size + +__Vectors DCD __initial_sp ;(0x00)Top of Stack + DCD Reset_Handler ;(0x04)IRQ -15 Reset Handler + DCD NMI_Handler ;(0x08)IRQ -14 NMI Handler + DCD HardFault_Handler ;(0x0C)IRQ -13 Hard Fault Handler + DCD MemManage_Handler ;(0x10)IRQ -12 MPU Fault Handler + DCD BusFault_Handler ;(0x14)IRQ -11 Bus Fault Handler + DCD UsageFault_Handler ;(0x18)IRQ -10 Usage Fault Handler + DCD 0 ;(0x1C)IRQ -9 Reserved + DCD 0 ;(0x20)IRQ -8 Reserved + DCD 0 ;(0x24)IRQ -7 Reserved + DCD 0 ;(0x28)IRQ -6 Reserved + DCD SVC_Handler ;(0x2C)IRQ -5 SVCall Handler + DCD DebugMon_Handler ;(0x30)IRQ -4 Debug Monitor Handler + DCD 0 ;(0x34)IRQ -3 Reserved + DCD PendSV_Handler ;(0x38)IRQ -2 PendSV Handler + DCD SysTick_Handler ;(0x3C)IRQ -1 SysTick Handler + + ; External Interrupts + DCD WDT_IRQHandler ;(0x40)IRQ0 + DCD EXTERNAL_IRQHandler ;(0x44)IRQ1 + DCD RTC_IRQHandler ;(0x48)IRQ2 + DCD SLEEP_IRQHandler ;(0x4C)IRQ3 + DCD MAC_IRQHandler ;(0x50)IRQ4 + DCD DMA_IRQHandler ;(0x54)IRQ5 + DCD QSPI_IRQHandler ;(0x58)IRQ6 + DCD SDIO_FUN1_IRQHandler ;(0x5C)IRQ7 + DCD SDIO_FUN2_IRQHandler ;(0x60)IRQ8 + DCD SDIO_FUN3_IRQHandler ;(0x64)IRQ9 + DCD SDIO_FUN4_IRQHandler ;(0x68)IRQ10 + DCD SDIO_FUN5_IRQHandler ;(0x6C)IRQ11 + DCD SDIO_FUN6_IRQHandler ;(0x70)IRQ12 + DCD SDIO_FUN7_IRQHandler ;(0x74)IRQ13 + DCD SDIO_ASYNC_HOST_IRQHandler ;(0x78)IRQ14 + DCD SDIO_M2S_IRQHandler ;(0x7C)IRQ15 + DCD CM4_INTR0_IRQHandler ;(0x80)IRQ16 + DCD CM4_INTR1_IRQHandler ;(0x84)IRQ17 + DCD CM4_INTR2_IRQHandler ;(0x88)IRQ18 + DCD CM4_INTR3_IRQHandler ;(0x8C)IRQ19 + DCD CM4_INTR4_IRQHandler ;(0x90)IRQ20 + DCD CM4_INTR5_IRQHandler ;(0x94)IRQ21 + DCD ADC_IRQHandler ;(0x98)IRQ22 + DCD TIMER_IRQHandler ;(0x9C)IRQ23 + DCD I2C0_IRQHandler ;(0xA0)IRQ24 + DCD I2C1_IRQHandler ;(0xA4)IRQ25 + DCD SPI0_IRQHandler ;(0xA8)IRQ26 + DCD SPI2_IRQHandler ;(0xAC)IRQ27 + DCD UART0_IRQHandler ;(0xB0)IRQ28 + DCD UART1_IRQHandler ;(0xB4)IRQ29 + DCD SPI1_IRQHandler ;(0xB8)IRQ30 + DCD GPIO_IRQHandler ;(0xBC)IRQ31 + DCD I2S_IRQHandler ;(0xC0)IRQ32 + DCD PAOTD_IRQHandler ;(0xC4)IRQ33 + DCD PWM_IRQHandler ;(0xC8)IRQ34 + DCD TRNG_IRQHandler ;(0xCC)IRQ35 + DCD AES_IRQHandler ;(0xD0)IRQ36 +__Vectors_End + +__Vectors_Size EQU __Vectors_End - __Vectors + + AREA |.text|, CODE, READONLY + + +; Reset Handler + +Reset_Handler PROC + EXPORT Reset_Handler [WEAK] + IMPORT SystemInit + IMPORT __main + LDR R4, =SystemInit + BLX R4 + LDR R4, =__main + BX R4 + ENDP + +; Dummy Exception Handlers (infinite loops which can be modified) + +NMI_Handler PROC + EXPORT NMI_Handler [WEAK] + B . + ENDP +HardFault_Handler\ + PROC + EXPORT HardFault_Handler [WEAK] + B . + ENDP +MemManage_Handler\ + PROC + EXPORT MemManage_Handler [WEAK] + B . + ENDP +BusFault_Handler\ + PROC + EXPORT BusFault_Handler [WEAK] + B . + ENDP +UsageFault_Handler\ + PROC + EXPORT UsageFault_Handler [WEAK] + B . + ENDP +SVC_Handler PROC + EXPORT SVC_Handler [WEAK] + B . + ENDP +DebugMon_Handler\ + PROC + EXPORT DebugMon_Handler [WEAK] + B . + ENDP +PendSV_Handler PROC + EXPORT PendSV_Handler [WEAK] + B . + ENDP +SysTick_Handler PROC + EXPORT SysTick_Handler [WEAK] + B . + ENDP + +Default_Handler PROC + + EXPORT WDT_IRQHandler [WEAK] + EXPORT EXTERNAL_IRQHandler [WEAK] + EXPORT RTC_IRQHandler [WEAK] + EXPORT SLEEP_IRQHandler [WEAK] + EXPORT MAC_IRQHandler [WEAK] + EXPORT DMA_IRQHandler [WEAK] + EXPORT QSPI_IRQHandler [WEAK] + EXPORT SDIO_FUN1_IRQHandler [WEAK] + EXPORT SDIO_FUN2_IRQHandler [WEAK] + EXPORT SDIO_FUN3_IRQHandler [WEAK] + EXPORT SDIO_FUN4_IRQHandler [WEAK] + EXPORT SDIO_FUN5_IRQHandler [WEAK] + EXPORT SDIO_FUN6_IRQHandler [WEAK] + EXPORT SDIO_FUN7_IRQHandler [WEAK] + EXPORT SDIO_ASYNC_HOST_IRQHandler [WEAK] + EXPORT SDIO_M2S_IRQHandler [WEAK] + EXPORT CM4_INTR0_IRQHandler [WEAK] + EXPORT CM4_INTR1_IRQHandler [WEAK] + EXPORT CM4_INTR2_IRQHandler [WEAK] + EXPORT CM4_INTR3_IRQHandler [WEAK] + EXPORT CM4_INTR4_IRQHandler [WEAK] + EXPORT CM4_INTR5_IRQHandler [WEAK] + EXPORT ADC_IRQHandler [WEAK] + EXPORT TIMER_IRQHandler [WEAK] + EXPORT I2C0_IRQHandler [WEAK] + EXPORT I2C1_IRQHandler [WEAK] + EXPORT SPI0_IRQHandler [WEAK] + EXPORT SPI2_IRQHandler [WEAK] + EXPORT UART0_IRQHandler [WEAK] + EXPORT UART1_IRQHandler [WEAK] + EXPORT SPI1_IRQHandler [WEAK] + EXPORT GPIO_IRQHandler [WEAK] + EXPORT I2S_IRQHandler [WEAK] + EXPORT PAOTD_IRQHandler [WEAK] + EXPORT PWM_IRQHandler [WEAK] + EXPORT TRNG_IRQHandler [WEAK] + EXPORT AES_IRQHandler [WEAK] +WDT_IRQHandler +EXTERNAL_IRQHandler +RTC_IRQHandler +SLEEP_IRQHandler +MAC_IRQHandler +DMA_IRQHandler +QSPI_IRQHandler +SDIO_FUN1_IRQHandler +SDIO_FUN2_IRQHandler +SDIO_FUN3_IRQHandler +SDIO_FUN4_IRQHandler +SDIO_FUN5_IRQHandler +SDIO_FUN6_IRQHandler +SDIO_FUN7_IRQHandler +SDIO_ASYNC_HOST_IRQHandler +SDIO_M2S_IRQHandler +CM4_INTR0_IRQHandler +CM4_INTR1_IRQHandler +CM4_INTR2_IRQHandler +CM4_INTR3_IRQHandler +CM4_INTR4_IRQHandler +CM4_INTR5_IRQHandler +ADC_IRQHandler +TIMER_IRQHandler +I2C0_IRQHandler +I2C1_IRQHandler +SPI0_IRQHandler +SPI2_IRQHandler +UART0_IRQHandler +UART1_IRQHandler +SPI1_IRQHandler +GPIO_IRQHandler +I2S_IRQHandler +PAOTD_IRQHandler +PWM_IRQHandler +TRNG_IRQHandler +AES_IRQHandler + B . + ENDP + ALIGN + + +; User Initial Stack & Heap + + IF :DEF:__MICROLIB + + EXPORT __initial_sp + EXPORT __heap_base + EXPORT __heap_limit + + ELSE + + IMPORT __use_two_region_memory + EXPORT __user_initial_stackheap + +__user_initial_stackheap PROC + LDR R0, = Heap_Mem + LDR R1, =(Stack_Mem + Stack_Size) + LDR R2, = (Heap_Mem + Heap_Size) + LDR R3, = Stack_Mem + BX LR + ENDP + + ALIGN + + ENDIF + + + END diff --git a/components/security/mbedtls/3rdparty/src/aes.c b/components/security/mbedtls/3rdparty/src/aes.c index 5c939bba..59728c9b 100644 --- a/components/security/mbedtls/3rdparty/src/aes.c +++ b/components/security/mbedtls/3rdparty/src/aes.c @@ -397,8 +397,8 @@ static int aes_init_done = 0; static void aes_gen_tables( void ) { int i, x, y, z; - int pow[256]; - int log[256]; + static int pow[256]; + static int log[256]; /* * compute pow and log tables over GF(2^8) diff --git a/components/security/mbedtls/3rdparty/src/ctr_drbg.c b/components/security/mbedtls/3rdparty/src/ctr_drbg.c index d0e5ba86..56b4cd8b 100644 --- a/components/security/mbedtls/3rdparty/src/ctr_drbg.c +++ b/components/security/mbedtls/3rdparty/src/ctr_drbg.c @@ -321,7 +321,7 @@ void mbedtls_ctr_drbg_update( mbedtls_ctr_drbg_context *ctx, int mbedtls_ctr_drbg_reseed( mbedtls_ctr_drbg_context *ctx, const unsigned char *additional, size_t len ) { - unsigned char seed[MBEDTLS_CTR_DRBG_MAX_SEED_INPUT]; + static unsigned char seed[MBEDTLS_CTR_DRBG_MAX_SEED_INPUT]; size_t seedlen = 0; int ret; diff --git a/examples/wifi_ln882x/tcp_client_echo.c b/examples/wifi_ln882x/tcp_client_echo.c index 743fc4bc..199299a3 100644 --- a/examples/wifi_ln882x/tcp_client_echo.c +++ b/examples/wifi_ln882x/tcp_client_echo.c @@ -151,7 +151,7 @@ void tcp_client_echo_task_entry(void *arg) void tcp_client_echo_task_creat(uint8_t * ser_ip, uint32_t port) { - target_ser_t ser = {0}; + static target_ser_t ser = {0}; ser.ip = ser_ip; ser.port = port; diff --git a/examples/wifi_ln882x/tcp_server_echo.c b/examples/wifi_ln882x/tcp_server_echo.c index 92fc0385..25ec0396 100644 --- a/examples/wifi_ln882x/tcp_server_echo.c +++ b/examples/wifi_ln882x/tcp_server_echo.c @@ -156,7 +156,8 @@ void tcp_server_echo_task_entry(void *arg) void tcp_server_echo_task_creat(uint32_t port) { - uint32_t server_port = port; + static uint32_t server_port; + server_port = port; osThreadCreate(osThread(tcp_server_echo_task_entry), &server_port); } diff --git a/examples/wifi_ln882x/wifi_app_ln882x.c b/examples/wifi_ln882x/wifi_app_ln882x.c index bb6f53af..ca1221c6 100644 --- a/examples/wifi_ln882x/wifi_app_ln882x.c +++ b/examples/wifi_ln882x/wifi_app_ln882x.c @@ -8,7 +8,7 @@ #include "netif/ethernetif.h" #include "wifi_manager/wifi_manager.h" #include "lwip/tcpip.h" -#include "drv/drv_adc_measure.h" +#include "drv_adc_measure.h" #include "utils/system_parameter.h" #include "hal/hal_adc.h" @@ -165,7 +165,7 @@ void application_entry(void *arg) ART_ASSERT(1); } - reg_wifi_msg_callbcak(wifi_manager_get_handle(), WIFI_MSG_ID_STA_DHCP_GOT_IP,wifi_event_sta_got_ip_cb); + reg_wifi_msg_callbcak(WIFI_MSG_ID_STA_DHCP_GOT_IP,wifi_event_sta_got_ip_cb); wifi_mode_enum_t wifi_mode = WIFI_MODE_STATION; @@ -198,7 +198,7 @@ void application_entry(void *arg) }; tcp_server_echo_task_creat(8087); - tcp_client_echo_task_creat((uint8_t *)"39.108.190.129", 8000);//ͨÐÅè²âÊÔ(IP:120.76.100.197) 10002¶Ë¿Ú +// tcp_client_echo_task_creat((uint8_t *)"39.108.190.129", 8000);//ͨÐÅè²âÊÔ(IP:120.76.100.197) 10002¶Ë¿Ú while(1) { diff --git a/platform/vendor_bsp/LN/ln882x/include/atcmd/at_cmd_wifi.h b/platform/vendor_bsp/LN/ln882x/include/atcmd/at_cmd_wifi.h index 0630a412..5d3ad84e 100644 --- a/platform/vendor_bsp/LN/ln882x/include/atcmd/at_cmd_wifi.h +++ b/platform/vendor_bsp/LN/ln882x/include/atcmd/at_cmd_wifi.h @@ -37,9 +37,10 @@ char at_station_disconnect(void); char at_station_set_scan_list_display_option(char *str); char at_station_scan(char *str); char at_station_scan_no_filter(char *str); -#if WIFI_SNIFFER_TEST +#if WIFI_TRACK char at_notify_aplist(void); char at_station_aplx(char *str); +char at_station_aplist(char *str); #endif //softap @@ -135,13 +136,8 @@ char at_get_cip_mux(char *str); char at_set_netconn_disconnect(char *str); char at_set_ip_close(char *str); char at_get_cip_status(char *str); - #if WIFI_SWITCH -void wifi_sniffer_deinit(void); -void wifi_sniffer_reinit(void); char at_wifi_switch(char *str); -bool wifi_init(void); -bool wifi_deinit(void); #endif char at_iperf(char *str); diff --git a/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/interrupt.h b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/interrupt.h index a51831d1..95e8a163 100644 --- a/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/interrupt.h +++ b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/interrupt.h @@ -45,39 +45,39 @@ WEAK void SysTick_Handler(void); // // Controller specific peripheral interrupts // -WEAK void WDT_IRQHandler(); -WEAK void EXTERNAL_IRQHandler(); -WEAK void RTC_IRQHandler(); -WEAK void SLEEP_IRQHandler(); -WEAK void MAC_IRQHandler(); -WEAK void DMAC_IRQHandler(); -WEAK void QSPI_IRQHandler(); -WEAK void SDIOCFUN1_IRQHandler(); -WEAK void SDIOCFUN2_IRQHandler(); -WEAK void SDIOCFUN3_IRQHandler(); -WEAK void SDIOCFUN4_IRQHandler(); -WEAK void SDIOCFUN5_IRQHandler(); -WEAK void SDIOCFUN6_IRQHandler(); -WEAK void SDIOCFUN7_IRQHandler(); -WEAK void SDIOC_ASYNC_HOST_IRQHandler(); -WEAK void SDIOC_M2S_IRQHandler(); -WEAK void CM4_INTR0_IRQHandler(); -WEAK void CM4_INTR1_IRQHandler(); -WEAK void CM4_INTR2_IRQHandler(); -WEAK void CM4_INTR3_IRQHandler(); -WEAK void CM4_INTR4_IRQHandler(); -WEAK void CM4_INTR5_IRQHandler(); -WEAK void ADCC_IRQHandler(); -WEAK void TIMER_IRQHandler(); -WEAK void I2C0_IRQHandler(); -WEAK void I2C1_IRQHandler(); -WEAK void SPIM_IRQHandler(); -WEAK void SPIS_IRQHandler(); -WEAK void UART0_IRQHandler(); -WEAK void UART1_IRQHandler(); -WEAK void SPIM2_IRQHandler(); -WEAK void GPIO_IRQHandler(); -WEAK void I2S_IRQHandler(); -WEAK void PAOTD_IRQHandler(); +WEAK void WDT_IRQHandler(void); +WEAK void EXTERNAL_IRQHandler(void); +WEAK void RTC_IRQHandler(void); +WEAK void SLEEP_IRQHandler(void); +WEAK void MAC_IRQHandler(void); +WEAK void DMAC_IRQHandler(void); +WEAK void QSPI_IRQHandler(void); +WEAK void SDIOCFUN1_IRQHandler(void); +WEAK void SDIOCFUN2_IRQHandler(void); +WEAK void SDIOCFUN3_IRQHandler(void); +WEAK void SDIOCFUN4_IRQHandler(void); +WEAK void SDIOCFUN5_IRQHandler(void); +WEAK void SDIOCFUN6_IRQHandler(void); +WEAK void SDIOCFUN7_IRQHandler(void); +WEAK void SDIOC_ASYNC_HOST_IRQHandler(void); +WEAK void SDIOC_M2S_IRQHandler(void); +WEAK void CM4_INTR0_IRQHandler(void); +WEAK void CM4_INTR1_IRQHandler(void); +WEAK void CM4_INTR2_IRQHandler(void); +WEAK void CM4_INTR3_IRQHandler(void); +WEAK void CM4_INTR4_IRQHandler(void); +WEAK void CM4_INTR5_IRQHandler(void); +WEAK void ADCC_IRQHandler(void); +WEAK void TIMER_IRQHandler(void); +WEAK void I2C0_IRQHandler(void); +WEAK void I2C1_IRQHandler(void); +WEAK void SPIM_IRQHandler(void); +WEAK void SPIS_IRQHandler(void); +WEAK void UART0_IRQHandler(void); +WEAK void UART1_IRQHandler(void); +WEAK void SPIM2_IRQHandler(void); +WEAK void GPIO_IRQHandler(void); +WEAK void I2S_IRQHandler(void); +WEAK void PAOTD_IRQHandler(void); #endif /* _INTERRUPT_H_ */ diff --git a/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_compiler.h b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_compiler.h new file mode 100644 index 00000000..2a5940c9 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_compiler.h @@ -0,0 +1,125 @@ +#ifndef __LN_COMPILER_H__ +#define __LN_COMPILER_H__ + +/*------------------ RealView Compiler -----------------*/ +#if defined(__CC_ARM) + +#define ARMCC_V5 + +#define __ASM__ __asm +#define __VOLATILE__ volatile + +#define __INLINE__ inline +#define __STATIC__ static + +#if (__ARMCC_VERSION < 5060750) + #define __STATIC_INLINE__ static +#else + #define __STATIC_INLINE__ static inline +#endif + +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#define __UNUSED__ __attribute__((__unused__)) +#define __USED__ __attribute__((__used__)) +#define __PACKED__ __attribute__((packed)) +#define __ALIGNED__(x) __attribute__((aligned(x))) +#define __PURE__ __attribute__((__pure__)) +#define __CONST__ __attribute__((__const__)) +#define __NO_RETURN__ __attribute__((__noreturn__)) +#define __WEAK__ __attribute__((weak)) + +/*------------------ ARM Compiler V6 -------------------*/ +#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) + +#define ARMCC_V6 + +#define __ASM__ __asm +#define __VOLATILE__ volatile + +#define __INLINE__ inline +#define __STATIC__ static +#define __STATIC_INLINE__ static inline + +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#define __UNUSED__ __attribute__((__unused__)) +#define __USED__ __attribute__((__used__)) +#define __PACKED__ __attribute__((packed)) +#define __ALIGNED__(x) __attribute__((aligned(x))) +#define __PURE__ __attribute__((__pure__)) +#define __CONST__ __attribute__((__const__)) +#define __NO_RETURN__ __attribute__((__noreturn__)) +#define __NAKED__ __attribute__((naked)) +#define __WEAK__ __attribute__((weak)) + +/*------------------ ICC Compiler ----------------------*/ +#elif defined(__ICCARM__) || defined(__ICC430__) // __IAR_SYSTEMS_ICC__ + +#define __ASM__ __asm +#define __VOLATILE__ volatile + +#define __INLINE__ inline +#define __STATIC__ static +#define __STATIC_INLINE__ static inline + +#define likely(x) (x) +#define unlikely(x) (x) +#define __UNUSED__ +#define __USED__ +#define __PACKED__ +#define __ALIGNED__(x) +#define __PURE__ +#define __CONST__ +#define __NO_RETURN__ +#define __NAKED__ +#define __WEAK__ __weak + +/*------------------ ICC Compiler for STM8/AVR ----------------------*/ +#elif defined(__IAR_SYSTEMS_ICC__) + +#define __ASM__ __asm +#define __VOLATILE__ volatile + +#define __INLINE__ inline +#define __STATIC__ static +#define __STATIC_INLINE__ static inline + +#define likely(x) (x) +#define unlikely(x) (x) +#define __UNUSED__ +#define __USED__ +#define __PACKED__ +#define __ALIGNED__(x) +#define __PURE__ +#define __CONST__ +#define __NO_RETURN__ +#define __NAKED__ +#define __WEAK__ __weak + +/*------------------ GNU Compiler ----------------------*/ +#elif defined(__GNUC__) + +#define __ASM__ __asm +#define __VOLATILE__ volatile + +#define __INLINE__ inline +#define __STATIC__ static +#define __STATIC_INLINE__ static inline + +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) +#define __UNUSED__ __attribute__((__unused__)) +#define __USED__ __attribute__((__used__)) +#define __PACKED__ __attribute__((packed)) +#define __ALIGNED__(x) __attribute__((aligned(x))) +#define __PURE__ __attribute__((__pure__)) +#define __CONST__ __attribute__((__const__)) +#define __NO_RETURN__ __attribute__((__noreturn__)) +#define __NAKED__ __attribute__((naked)) +#define __WEAK__ __attribute__((weak)) + +#endif + +#endif /* __LN_COMPILER_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_types.h b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_types.h new file mode 100644 index 00000000..34eda126 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/ln_types.h @@ -0,0 +1,13 @@ +#ifndef __LN_TYPES_H__ +#define __LN_TYPES_H__ + +#include +#include + + +#define LN_TRUE (1u) +#define LN_FALSE (0u) + + +#endif /* __LN_TYPES_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/mem_map_ln882x.h b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/mem_map_ln882x.h index 4cea7a53..bcef9a64 100644 --- a/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/mem_map_ln882x.h +++ b/platform/vendor_bsp/LN/ln882x/include/cpu/ARM_CM4F/ln88xx/mem_map_ln882x.h @@ -64,32 +64,15 @@ #define BOOTROM_RW_SECTION_LIMIT (SIZE_32KB) //BOOTRAM -#define BOOTRAM_BASE (RAM_BASE) -#define BOOTRAM_LIMIT (SIZE_32KB) - +#define BOOTRAM_BASE (RAM_BASE) +#define BOOTRAM_LIMIT (SIZE_4KB*9) //FLASH -#define FLASH_BASE_OFFSET (0) +#define CACHE_FLASH_BASE (0x10000000) -#define BOOTRAM_HEADER_ON_FLASH_OFFSET (FLASH_BASE_OFFSET) -#define BOOTRAM_ON_FLASH_OFFSET (BOOTRAM_HEADER_ON_FLASH_OFFSET + BOOTRAM_HEADER_SIZE) -#define BOOTRAM_PARTITION_SIZE (8 * SIZE_4KB) -#define BOOTRAM_SIZE (BOOTRAM_PARTITION_SIZE - BOOTRAM_HEADER_SIZE) -#define PARTITION_TABLE0_OFFSET (BOOTRAM_HEADER_ON_FLASH_OFFSET + BOOTRAM_PARTITION_SIZE) -#define PARTITION_TABLE0_SIZE (SIZE_4KB) - -#define PARTITION_TABLE1_OFFSET (PARTITION_TABLE0_OFFSET + PARTITION_TABLE0_SIZE) -#define PARTITION_TABLE1_SIZE (SIZE_4KB) - -#define PARTITION_TABLE_FLAG_OFFSET (PARTITION_TABLE1_OFFSET + PARTITION_TABLE1_SIZE) -#define PARTITION_TABLE_FLAG_SIZE (SIZE_4KB) - -#define SYSTEM_PARAMETER_OFFSET (PARTITION_TABLE_FLAG_OFFSET + PARTITION_TABLE_FLAG_SIZE) -#define SYSTEM_PARAMETER_SIZE (2 * SIZE_4KB) - -#define USR_NVDS_PARAM_OFFSET (SIZE_2MB-(3*SIZE_4KB)) -#define USR_NVDS_PARAM_SIZE (3 * SIZE_4KB) #endif /* __MEMORY_MAP_LN882X_H__ */ + + diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_sleep.h b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_sleep.h index 19825e72..fe503575 100644 --- a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_sleep.h +++ b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_sleep.h @@ -6,49 +6,60 @@ #endif // __cplusplus #include "types.h" -#include "hal/hal_gpio.h" +#include "hal/syscon_types.h" #include "ll/ll_sleep.h" +typedef enum +{ + ACTIVE = 0, + LIGHT_SLEEP, + DEEP_SLEEP, + RETENTION_SLEEP, + FROZEN_SLEEP +}sleep_mode_enum_t; + typedef enum { - SLEEP_TIMER_WAKEUP = (1 << 0), - MAC_WAKEUP = (1 << 1), - EXT_INT_WAKEUP = (1 << 2), - RTC_WAKEUP = (1 << 3), -}hal_sleep_wakeup_src_enum_t; + MOD_QSPI = SW_CLKGATE_QSPI, + MOD_ADDC = SW_CLKGATE_ADCC, + MOD_I2S = SW_CLKGATE_I2S, + MOD_GPIO = SW_CLKGATE_GPIO, + MOD_SPIM = SW_CLKGATE_SPIM, + MOD_SPIS = SW_CLKGATE_SPIS, + MOD_I2C0 = SW_CLKGATE_I2C0, + MOD_I2C1 = SW_CLKGATE_I2C1, + MOD_UART0 = SW_CLKGATE_UART0, + MOD_UART1 = SW_CLKGATE_UART1, + MOD_SPIM2 = SW_CLKGATE_SPIM2, + MOD_WDT = SW_CLKGATE_WDT, + MOD_TIMER0 = SW_CLKGATE_TIMER, + MOD_TIMER1 = SW_CLKGATE_TIMER_1, + MOD_TIMER2 = SW_CLKGATE_TIMER_2, + MOD_TIMER3 = SW_CLKGATE_TIMER_3, + MOD_TIMER4 = SW_CLKGATE_TIMER_4, + MOD_DGBH = SW_CLKGATE_DBGH, + MOD_SDIO = SW_CLKGATE_SDIO, + MOD_MAC = SW_CLKGATE_MAC, + MOD_CACHE = SW_CLKGATE_CACHE, + MOD_DMA = SW_CLKGATE_DMA, + MOD_RFREG = SW_CLKGATE_RFREG, + MOD_PWM = SW_CLKGATE_PWM, + MOD_EF = SW_CLKGATE_EF, + MOD_TRNG = SW_CLKGATE_TRNG, + MOD_AES = SW_CLKGATE_AES, + MOD_EXT_INT, + MOD_MAX, +}hal_peripheral_module_t; -typedef void (* reinitialize_phy_cb_t)(void); -typedef bool (* wifi_is_slept_cb_t)(void); -typedef struct -{ - GPIO_Num gpio; - SYSTEM_EXT_INT_Triggle_Type triggle_type; -}ext_irq_cfg_t ; -typedef struct { - sleep_mode_enum_t sleep_mode; - uint32_t wakeup_src;//bit[0]--SLEEP_IRQn; bit[1]--MAC_IRQn;bit[2]--EXTERNAL_IRQn;bit[3]--RTC_IRQn - ext_irq_cfg_t ext_irq_cfg; -}hal_sleep_config_t; +typedef bool (*sleep_condition_cb_t)(void); +typedef void (*sleep_processing_cb_t)(void); -typedef struct -{ - bool flag; - hal_sleep_config_t sleep_config; - uint32_t nvic_int_en[2]; - uint64_t compensation; - uint32_t msec; - wifi_is_slept_cb_t wifi_is_slept_cb; - reinitialize_phy_cb_t reinit_phy_cb; - bool inited; -}hal_sleep_ctrl_t ; - -void hal_sleep_init(hal_sleep_config_t *sleep_config); -void hal_sleep_deinit(void); -void hal_sleep_set_config(hal_sleep_config_t *sleep_config); +int hal_sleep_set_mode(sleep_mode_enum_t sleep_mode); sleep_mode_enum_t hal_sleep_get_mode(void); +int hal_sleep_register(hal_peripheral_module_t peripheral_module, sleep_condition_cb_t sleep_condition, sleep_processing_cb_t pre_sleep_proc, sleep_processing_cb_t post_sleep_proc); +int hal_sleep_unregister(hal_peripheral_module_t peripheral_module); void hal_pre_sleep_processing(uint32_t *ticks); uint32_t hal_post_sleep_processing(uint32_t ticks); -void hal_sleep_register_callback(reinitialize_phy_cb_t reinit_phy_cb, wifi_is_slept_cb_t wifi_is_slept_cb); -void hal_sleep_wakeup_source_set(hal_sleep_wakeup_src_enum_t wakeup_src); + #ifdef __cplusplus } #endif // __cplusplus diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_syscon.h b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_syscon.h index c9ac2be9..e3a24b61 100644 --- a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_syscon.h +++ b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_syscon.h @@ -316,7 +316,26 @@ void HAL_SYSCON_RCO32K_Bitsel_Set(uint8_t bitsel); void HAL_SYSCON_RCO32K_Cbit_Set(uint8_t cbit); void HAL_SYSCON_Xtal40MCap_Set(uint8_t cap); void HAL_SYSCON_PmuCfg(void); - +void HAL_SYSCON_AWO_phy_pd_en(uint8_t en); +void HAL_SYSCON_AWO_phy_po_en(uint8_t en); +void HAL_SYSCON_AWO_ldo18_po_en(uint8_t en); +void HAL_SYSCON_AWO_sram_pd_en(uint8_t en); +void HAL_SYSCON_AWO_sram_po_en(uint8_t en); +void HAL_SYSCON_AWO_pmu_ret_en(uint8_t en); +void HAL_SYSCON_AWO_pmu_unret_en(uint8_t en); +void HAL_SYSCON_AWO_pdcmp_po(uint8_t po); +void HAL_SYSCON_AWO_cpucore_retreg_po(uint8_t po); +void HAL_SYSCON_AWO_idle_reg_set(uint32_t val); +void HAL_SYSCON_AWO_lp_mode_awo(uint8_t lp_mode_awo); +void HAL_SYSCON_AWO_clk_sel_set(uint32_t val); +void HAL_SYSCON_CMP_rfreg_len(uint16_t rfreg_len); +void HAL_SYSCON_CMP_rfreg_base_addr(uint16_t rfreg_base_addr); +void HAL_SYSCON_CMP_rfreg_action_set(uint32_t val); +uint8_t HAL_SYSCON_CMP_save_done_get(void); +void HAL_SYSCON_AWO_sw_pwr_ctrl_set(uint32_t value); +uint8_t HAL_SYSCON_AWO_pmu_fsm_get(void); +uint8_t HAL_SYSCON_CMP_restore_done_get(void); +void HAL_SYSCON_CMP_sw_clkg_set(uint32_t value); #ifdef __cplusplus } #endif diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_timer.h b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_timer.h index c2acff5a..738d158c 100644 --- a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_timer.h +++ b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/hal_timer.h @@ -7,6 +7,11 @@ extern "C" { #endif /* __cplusplus */ + +/** @brief Timer expire callback function definition*/ +typedef void (*timer_cb_func_t)(void); + + /** * @brief There are totally 4 hardware timers. * @@ -39,7 +44,7 @@ typedef enum typedef enum { TIMER_MODE_FREERUNNING = 0, /**< TIMER_MODE_FREE_RUNNING: Use this mode if you want a single timed interrupt. */ - TIMER_MODE_USERDEFINED /**< TIMER_MODE_USER_DEFINED: Use this mode if you want a fixed, timed interrupt. */ + TIMER_MODE_USERDEFINED /**< TIMER_MODE_USER_DEFINED: Use this mode if you want a periodic timer, timed interrupt. */ } TIMER_Mode; @@ -62,6 +67,7 @@ typedef struct TIMER_Mask mask; /**< mask: mask or unmask the timer interrupt */ TIMER_Mode mode; /**< mode: select the running mode of timer, free-running or user define mode */ uint32_t user_freq; /**< user_freq: user-defined timer clock frequency fx, which must meet the request: 321.5KHz <= fx <= 80MHz */ + timer_cb_func_t cb_func;/**< cb_func: call back function when timer is expired */ } TIMER_InitTypeDef; @@ -189,6 +195,7 @@ void HAL_TIMER_LoadCount2_Set(TIMER_Index index, uint32_t loadCount2); */ uint32_t HAL_TIMER_LoadCount2_Get(TIMER_Index index); + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/syscon_types.h b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/syscon_types.h index 61107f61..a88b0be6 100644 --- a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/syscon_types.h +++ b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/hal/syscon_types.h @@ -175,7 +175,6 @@ typedef enum typedef enum { - SW_CLKGATE_PATCH = 0, SW_CLKGATE_QSPI = 1, SW_CLKGATE_ADCC = 2, SW_CLKGATE_I2S = 3, @@ -198,7 +197,11 @@ typedef enum SW_CLKGATE_MAC = 20, SW_CLKGATE_CACHE = 21, SW_CLKGATE_DMA = 22, - SW_CLKGATE_RFREG = 23 + SW_CLKGATE_RFREG = 23, + SW_CLKGATE_PWM = 24, + SW_CLKGATE_EF = 25, + SW_CLKGATE_TRNG = 26, + SW_CLKGATE_AES = 27, } SYSCON_ClkGate_Peripheral; typedef enum @@ -339,8 +342,7 @@ typedef enum (clkgate) == SW_CLKGATE_CORE_MAC40M || \ (clkgate) == SW_CLKGATE_CORE_MAC80M) -#define IS_CLKGATE_PERIPHERAL(clkgate) ((clkgate) == SW_CLKGATE_PATCH || \ - (clkgate) == SW_CLKGATE_QSPI || \ +#define IS_CLKGATE_PERIPHERAL(clkgate) ((clkgate) == SW_CLKGATE_QSPI || \ (clkgate) == SW_CLKGATE_ADCC || \ (clkgate) == SW_CLKGATE_I2S || \ (clkgate) == SW_CLKGATE_GPIO || \ @@ -362,7 +364,11 @@ typedef enum (clkgate) == SW_CLKGATE_MAC || \ (clkgate) == SW_CLKGATE_CACHE || \ (clkgate) == SW_CLKGATE_DMA || \ - (clkgate) == SW_CLKGATE_RFREG) + (clkgate) == SW_CLKGATE_RFREG || \ + (clkgate) == SW_CLKGATE_PWM || \ + (clkgate) == SW_CLKGATE_EF || \ + (clkgate) == SW_CLKGATE_TRNG || \ + (clkgate) == SW_CLKGATE_AES) #define IS_SPIM_INDEX(index) ((index) == SPIM_IO_EN0 || (index) == SPIM_IO_EN1 || (index) == SPIM_IO_EN2) diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_sleep.h b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_sleep.h index c88b6771..40bdaa93 100644 --- a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_sleep.h +++ b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_sleep.h @@ -1,23 +1,12 @@ #ifndef __LL_SLEEP_H__ #define __LL_SLEEP_H__ -#include "types.h" #ifdef __cplusplus extern "C" { #endif // __cplusplus -typedef enum -{ - ACTIVE = 0, - LIGHT_SLEEP, - DEEP_SLEEP, - RETENTION_SLEEP, - FROZEN_SLEEP -}sleep_mode_enum_t; - -void ll_pre_sleep_processing(sleep_mode_enum_t sleep_mode, uint8_t sram_powerdown); -void ll_post_sleep_processing(sleep_mode_enum_t sleep_mode); +void ll_sleep_mac_tsf_clk_switch(uint8_t ps_clk_switch); #ifdef __cplusplus } diff --git a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_syscon.h b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_syscon.h index ead9033e..ed258e7c 100644 --- a/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_syscon.h +++ b/platform/vendor_bsp/LN/ln882x/include/driver_ln882x/ll/ll_syscon.h @@ -332,7 +332,26 @@ void LL_SYSCON_EXT_INTR_Set_Triggle_Condition(SYSTEM_EXT_INT_Wakeup_Index ext_in uint8_t LL_SYSCON_EXT_INTR_Stat(void); uint8_t LL_SYSCON_EXT_INTR_Stat_Raw(void); void LL_SYSCON_EXT_INTR_Clear(void); - +void LL_SYSCON_AWO_phy_pd_en(uint8_t en); +void LL_SYSCON_AWO_phy_po_en(uint8_t en); +void LL_SYSCON_AWO_ldo18_po_en(uint8_t en); +void LL_SYSCON_AWO_sram_pd_en(uint8_t en); +void LL_SYSCON_AWO_sram_po_en(uint8_t en); +void LL_SYSCON_AWO_pmu_ret_en(uint8_t en); +void LL_SYSCON_AWO_pmu_unret_en(uint8_t en); +void LL_SYSCON_AWO_pdcmp_po(uint8_t po); +void LL_SYSCON_AWO_cpucore_retreg_po(uint8_t po); +void LL_SYSCON_AWO_idle_reg_set(uint32_t val); +void LL_SYSCON_AWO_lp_mode_awo(uint8_t lp_mode_awo); +void LL_SYSCON_AWO_clk_sel_set(uint32_t val); +void LL_SYSCON_CMP_rfreg_len(uint16_t rfreg_len); +void LL_SYSCON_CMP_rfreg_base_addr(uint16_t rfreg_base_addr); +void LL_SYSCON_CMP_rfreg_action_set(uint32_t val); +uint8_t LL_SYSCON_CMP_save_done_get(void); +void LL_SYSCON_AWO_sw_pwr_ctrl_set(uint32_t val); +uint8_t LL_SYSCON_AWO_pmu_fsm_get(void); +uint8_t LL_SYSCON_CMP_restore_done_get(void); +void LL_SYSCON_CMP_sw_clkg_set(uint32_t value); #ifdef __cplusplus } #endif diff --git a/platform/vendor_bsp/LN/ln882x/include/kernel/FreeRTOS_Adapter/freertos_queue.h b/platform/vendor_bsp/LN/ln882x/include/kernel/FreeRTOS_Adapter/freertos_queue.h index f91a3ad4..ba8c3c99 100644 --- a/platform/vendor_bsp/LN/ln882x/include/kernel/FreeRTOS_Adapter/freertos_queue.h +++ b/platform/vendor_bsp/LN/ln882x/include/kernel/FreeRTOS_Adapter/freertos_queue.h @@ -25,7 +25,6 @@ OS_Status OS_QueueCreate(OS_Queue_t *queue, uint32_t queueLen, uint32_t itemSize OS_Status OS_QueueDelete(OS_Queue_t *queue); OS_Status OS_QueueSend(OS_Queue_t *queue, const void *item, OS_Time_t waitMS); OS_Status OS_QueueReceive(OS_Queue_t *queue, void *item, OS_Time_t waitMS); -OS_Status OS_QueueFlush(OS_Queue_t *queue); /** diff --git a/platform/vendor_bsp/LN/ln882x/include/serial/serial.h b/platform/vendor_bsp/LN/ln882x/include/serial/serial.h index 80898fb9..d29cf127 100644 --- a/platform/vendor_bsp/LN/ln882x/include/serial/serial.h +++ b/platform/vendor_bsp/LN/ln882x/include/serial/serial.h @@ -2,7 +2,7 @@ #define __SERIAL_H__ #include "proj_config.h" -#include "serial/serial_p.h" +#include "serial_hw.h" #include "utils/fifo/fifobuf.h" /** Human-readable serial error descriptions */ diff --git a/platform/vendor_bsp/LN/ln882x/include/utils/crc32.h b/platform/vendor_bsp/LN/ln882x/include/utils/crc32.h index 75f028d2..d9466036 100644 --- a/platform/vendor_bsp/LN/ln882x/include/utils/crc32.h +++ b/platform/vendor_bsp/LN/ln882x/include/utils/crc32.h @@ -1,13 +1,20 @@ -#ifndef CRC32_H -#define CRC32_H +#ifndef ___CRC32_H__ +#define ___CRC32_H__ #include -uint32_t GetCrc32(uint8_t *ptr, int len); +typedef struct { + uint32_t crc; +} crc32_ctx_t; - -#endif +void ln_crc32_init(crc32_ctx_t *ctx); +void ln_crc32_update(crc32_ctx_t *ctx, uint8_t *data, uint32_t len); +uint32_t ln_crc32_final(crc32_ctx_t *ctx); +uint32_t ln_crc32_signle_cal(uint8_t *ptr, int len); + + +#endif /* ___CRC32_H__ */ diff --git a/platform/vendor_bsp/LN/ln882x/include/utils/system_parameter.h b/platform/vendor_bsp/LN/ln882x/include/utils/system_parameter.h index 65bc583a..2821589f 100644 --- a/platform/vendor_bsp/LN/ln882x/include/utils/system_parameter.h +++ b/platform/vendor_bsp/LN/ln882x/include/utils/system_parameter.h @@ -15,7 +15,6 @@ typedef struct { #define NETIF_HOSTNAME_LEN_MAX (8) -#define WIFI_PSK_INFO_LIST_SIZE (2) int system_parameter_init(void); int system_parameter_deinit(void); @@ -35,11 +34,10 @@ uint8_t system_parameter_get_dhcp_enable(void); //ap_hostname config int system_parameter_set_hostname(wifi_interface_enum_t if_index, uint8_t *hostname); int system_parameter_get_hostname(wifi_interface_enum_t if_index, uint8_t *hostname); -////PSK info -int system_parameter_set_psk_info( wifi_psk_info_t *psk_info); -int system_parameter_get_psk_info(wifi_psk_info_t *psk_info); + int system_parameter_set_wifi_mode(wifi_mode_enum_t wifi_mode); wifi_mode_enum_t system_parameter_get_wifi_mode(void); + int system_parameter_set_dhcpd_config(server_config_t *server_config); int system_parameter_get_dhcpd_config(server_config_t *server_config); diff --git a/platform/vendor_bsp/LN/ln882x/include/wifi/wifi.h b/platform/vendor_bsp/LN/ln882x/include/wifi/wifi.h index 79a33b7f..8c2fabd5 100644 --- a/platform/vendor_bsp/LN/ln882x/include/wifi/wifi.h +++ b/platform/vendor_bsp/LN/ln882x/include/wifi/wifi.h @@ -183,7 +183,8 @@ void wifi_do_temp_cal_period(uint16_t adc_ch0_val); //STA bool wifi_station_scan(wifi_scan_config_t *config); -int wifi_station_get_scan_ap_list(list_t **ap_list, bool sort); +int wifi_station_get_scan_list_size(void); +int wifi_station_get_scan_list(list_t *out_list, int out_list_size, bool sort); void wifi_station_connect(wifi_sta_config_t *sta_config); bool wifi_station_disconnect(void); int8_t wifi_station_get_rssi(void); diff --git a/platform/vendor_bsp/LN/ln882x/include/wifi_manager/wifi_manager.h b/platform/vendor_bsp/LN/ln882x/include/wifi_manager/wifi_manager.h index 37568280..2f8e17a3 100644 --- a/platform/vendor_bsp/LN/ln882x/include/wifi_manager/wifi_manager.h +++ b/platform/vendor_bsp/LN/ln882x/include/wifi_manager/wifi_manager.h @@ -102,12 +102,10 @@ typedef struct wifi_manager_ctrl wifi_manager_ctrl_t; //wifi get mode api (需è¦wifi_cfg æä¾›) -bool reg_wifi_msg_callbcak(wifi_manager_ctrl_t *manager_ctrl, wifi_msg_id_enum_t msg_id, wifi_msg_callback_fun callback_fun); +bool reg_wifi_msg_callbcak(wifi_msg_id_enum_t msg_id, wifi_msg_callback_fun callback_fun); void notify_wifi_manager_task(wifi_msg_t * pWifiMsg); -bool wifi_manager_init(wifi_manager_ctrl_t *manager_ctrl); -bool wifi_manager_deinit(wifi_manager_ctrl_t *manager_ctrl); -wifi_manager_ctrl_t *wifi_manager_get_handle(void); - +bool wifi_manager_init(void); +bool wifi_manager_deinit(void); #ifdef __cplusplus } diff --git a/platform/vendor_bsp/LN/ln882x/lib/boot_ln882x.bin b/platform/vendor_bsp/LN/ln882x/lib/boot_ln882x.bin new file mode 100644 index 0000000000000000000000000000000000000000..c88d035069670c5d0c4bf332e8719a2eea9c92f2 GIT binary patch literal 26040 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 Z-vCO4(bu;ZIv#_KzP=CQjp-}h{vUPJzIOls delta 29971 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 == 1)? true : false); - if(ap_list && ap_count > 0) - { + ap_count = wifi_station_get_scan_list_size(); + if(ap_count > 0){ + //prepare scan_list space + list_init(&scan_list); + for(i = 0; i < ap_count; i++){ + item_iterator = OS_Malloc(sizeof(ap_info_t)); + if(item_iterator){ + list_add(&scan_list, &(item_iterator->list)); + } + } + + //get ap list + wifi_station_get_scan_list(&scan_list, ap_count, (display_option->sort_enable == 1)? true : false); at_printf("Auth{ 0: Open, 1: WEP, 2: WPA_PSK, 3:WPA2_PSK, 4:WPA_WPA2_PSK, 5: WPA2_ENTERPRISE}\r\n"); at_printf ("\r\nAP_num SSID RSSI Channel Auth_mode BSSID IMODE WPS Freq_offset FreqCal\r\n"); - - for (iterator = ap_list->next, i = 1; iterator != ap_list; iterator = iterator->next, i++) { + for (iterator = scan_list.next, i = 0; iterator != &scan_list; iterator = iterator->next, i++) { item_iterator = list_entry(iterator, ap_info_t, list); at_printf ("%6d %-31s %4d %7d %9d "MACSTR" %2X %3d %11d %7d\r\n", - i, item_iterator->ssid, item_iterator->rssi, item_iterator->channel, item_iterator->authmode, + (i + 1), item_iterator->ssid, item_iterator->rssi, item_iterator->channel, item_iterator->authmode, MAC2STR(item_iterator->bssid), item_iterator->imode, item_iterator->wps, item_iterator->freq_offset, item_iterator->freqcal_val ); } + //free scan_list space + for (iterator = scan_list.next; iterator != &scan_list; iterator = iterator->next) { + prev = iterator->prev; + item_iterator = list_entry(iterator, ap_info_t, list); + list_rm(iterator); + if(item_iterator){ + OS_Free(item_iterator); + } + iterator = prev; + } } at_printf(RET_OK_STR); @@ -710,53 +729,119 @@ char at_notify_aplist(void) int i=0; int ap_count = 0; ap_info_t *item_iterator = NULL; - list_t *ap_list = NULL, *iterator; + list_t scan_list, *iterator, *prev; - ap_count = wifi_station_get_scan_ap_list(&ap_list, true); - at_printf("\r\nAT+ScanAp\r\n",ap_count); - for (iterator = ap_list->next, i = 0; (i < 10) && (iterator != ap_list); iterator = iterator->next, i++) - { - item_iterator = list_entry(iterator, ap_info_t, list); - at_printf(MACSTR";%d;%s\r\n", MAC2STR(item_iterator->bssid), item_iterator->rssi, item_iterator->ssid); + ap_count = wifi_station_get_scan_list_size(); + if(ap_count > 0){ + //prepare scan_list space + list_init(&scan_list); + for(i = 0; i < ap_count; i++){ + item_iterator = OS_Malloc(sizeof(ap_info_t)); + if(item_iterator){ + list_add(&scan_list, &(item_iterator->list)); + } + } + + //get ap list + wifi_station_get_scan_list(&scan_list, ap_count, true); + at_printf("\r\nAT+ScanAp\r\n",ap_count); + for (iterator = scan_list.next, i = 0; (i < 10) && iterator != &scan_list; iterator = iterator->next, i++) { + item_iterator = list_entry(iterator, ap_info_t, list); + at_printf(MACSTR";%d;%s\r\n", MAC2STR(item_iterator->bssid), item_iterator->rssi, item_iterator->ssid); + } + + //free scan_list space + for (iterator = scan_list.next; iterator != &scan_list; iterator = iterator->next) { + prev = iterator->prev; + item_iterator = list_entry(iterator, ap_info_t, list); + list_rm(iterator); + if(item_iterator){ + OS_Free(item_iterator); + } + iterator = prev; + } } return AT_OK; } char at_station_aplx(char *str) { - int ap_count = 0; + int ap_count = 0, i; ap_info_t *item_iterator = NULL; - list_t *ap_list = NULL, *iterator; + list_t scan_list, *iterator, *prev; - ap_count = wifi_station_get_scan_ap_list(&ap_list, true); - for (iterator = ap_list->next; iterator != ap_list; iterator = iterator->next) - { - item_iterator = list_entry(iterator, ap_info_t, list); - at_printf("\r\n+CWLAP:%d,\"%s\",%d,\""MACSTR"\",%d", + ap_count = wifi_station_get_scan_list_size(); + if(ap_count > 0){ + //prepare scan_list space + list_init(&scan_list); + for(i = 0; i < ap_count; i++){ + item_iterator = OS_Malloc(sizeof(ap_info_t)); + if(item_iterator){ + list_add(&scan_list, &(item_iterator->list)); + } + } + + //get ap list + wifi_station_get_scan_list(&scan_list, ap_count, true); + for (iterator = scan_list.next; iterator != &scan_list; iterator = iterator->next) { + item_iterator = list_entry(iterator, ap_info_t, list); + at_printf("\r\n+CWLAP:%d,\"%s\",%d,\""MACSTR"\",%d", item_iterator->authmode, item_iterator->ssid, item_iterator->rssi, MAC2STR(item_iterator->bssid), item_iterator->channel); + } + + //free scan_list space + for (iterator = scan_list.next; iterator != &scan_list; iterator = iterator->next) { + prev = iterator->prev; + item_iterator = list_entry(iterator, ap_info_t, list); + list_rm(iterator); + if(item_iterator){ + OS_Free(item_iterator); + } + iterator = prev; + } } at_printf("\r\n\r\nOK\r\n",ap_count); return AT_OK; } char at_station_aplist(char *str) { - int ap_count = 0; + int ap_count = 0, i; ap_info_t *item_iterator = NULL; - list_t *ap_list = NULL, *iterator; + list_t scan_list, *iterator, *prev; - ap_count = wifi_station_get_scan_ap_list(&ap_list, true); - if(ap_count > 0) - { + ap_count = wifi_station_get_scan_list_size(); + if(ap_count > 0){ + //prepare scan_list space + list_init(&scan_list); + for(i = 0; i < ap_count; i++){ + item_iterator = OS_Malloc(sizeof(ap_info_t)); + if(item_iterator){ + list_add(&scan_list, &(item_iterator->list)); + } + } + + //get ap list + wifi_station_get_scan_list(&scan_list, ap_count, true); at_printf("\r\n+CWLAPLST: %d, ",ap_count); - for (iterator = ap_list->next; iterator != ap_list; iterator = iterator->next) - { + for (iterator = scan_list.next; iterator != &scan_list; iterator = iterator->next) { item_iterator = list_entry(iterator, ap_info_t, list); at_printf(MACSTR" @ %d, ", MAC2STR(item_iterator->bssid), item_iterator->rssi); } + + //free scan_list space + for (iterator = scan_list.next; iterator != &scan_list; iterator = iterator->next) { + prev = iterator->prev; + item_iterator = list_entry(iterator, ap_info_t, list); + list_rm(iterator); + if(item_iterator){ + OS_Free(item_iterator); + } + iterator = prev; + } at_printf("\r\n\r\nOK\r\n"); } else @@ -3032,23 +3117,25 @@ char at_iperf(char *str) #if WIFI_SWITCH uint8_t wifi_en=1; +extern void wifi_track_init(void); +extern void wifi_track_reinit(void); +extern void wifi_track_deinit(void); +extern bool wifi_manager_init(void); +extern bool wifi_manager_deinit(void); char at_wifi_switch(char *str) { uint8_t en; en=atoi(str); - LOG(LOG_LVL_ERROR, "%s() 000 en=%d\r\n",__func__,en); if(en&&wifi_en==0){ wifi_en=1; - LOG(LOG_LVL_ERROR, "%s() 111 \r\n",__func__); - wifi_init(); - wifi_manager_init(wifi_manager_get_handle()); - wifi_sniffer_reinit();//wifi_sniffer_init();//wifi_start(&init_param); + //wifi_init(); + //wifi_manager_init(); + wifi_track_reinit(); }else if(0==en&&wifi_en){ wifi_en=0; - LOG(LOG_LVL_ERROR, "%s() 222 \r\n",__func__); - wifi_sniffer_deinit();//call wifi_stop() - wifi_manager_deinit(wifi_manager_get_handle()); - wifi_deinit(); + wifi_track_deinit();//call wifi_stop() + //wifi_manager_deinit(); + //wifi_deinit(); } at_printf("OK\r\n"); diff --git a/platform/vendor_bsp/LN/ln882x/src/console/console.c b/platform/vendor_bsp/LN/ln882x/src/console/console.c index 37fc48b3..17e42284 100644 --- a/platform/vendor_bsp/LN/ln882x/src/console/console.c +++ b/platform/vendor_bsp/LN/ln882x/src/console/console.c @@ -8,9 +8,8 @@ #include "ln88xx.h" #include "utils/debug/log.h" #include "utils/debug/art_assert.h" -#if WIFI_TRACK -#include "ll/ll_gpio.h" -#endif +#include "hal/hal_gpio.h" + #if (CHIP_ROLE == CHIP_MCU) #include "serial/serial.h" @@ -132,17 +131,21 @@ void serial_rx_callbcak(void){ OS_SemaphoreRelease(&g_rx_sem); } #endif /*__CONFIG_OS_KERNEL */ -#if WIFI_TRACK -extern GPIO_Value get_gpio_value(GPIO_Num gpio); -#endif + void console_init(void) { CONSOLE_CTRL_T *console = &console_ctrl; Serial_t *fd = NULL; #if WIFI_TRACK + GPIO_InitTypeDef gpio_config = { + .dir = GPIO_INPUT, + .debounce = GPIO_DEBOUNCE_YES, + }; + + HAL_GPIO_Init(GPIOA_8, gpio_config); int bd = 115200; - if(get_gpio_value(GPIOA_8) == GPIO_VALUE_LOW) + if(HAL_GPIO_ReadPin(GPIOA_8) == GPIO_VALUE_LOW) bd = CONSOLE_PORT_BAUDRATE; else bd = 9600; diff --git a/platform/vendor_bsp/LN/ln882x/src/cpu/ARM_CM4F/ln88xx/system_ln88xx.c b/platform/vendor_bsp/LN/ln882x/src/cpu/ARM_CM4F/ln88xx/system_ln88xx.c index 4ef8bb98..4c7f6b61 100644 --- a/platform/vendor_bsp/LN/ln882x/src/cpu/ARM_CM4F/ln88xx/system_ln88xx.c +++ b/platform/vendor_bsp/LN/ln882x/src/cpu/ARM_CM4F/ln88xx/system_ln88xx.c @@ -16,9 +16,6 @@ extern uint32_t __Vectors[]; #define vector_table __Vectors #endif -/* This variable is a placeholder, defined at the junction of two blocks memory(SRAM0 and SRAM1) */ -int placeholder_between_sram0_and_sram1 __attribute__ ((section(".ARM.__at_0x1FFFFFFC"), zero_init)); - /*---------------------------------------------------------------------------- System Core Clock Variable *----------------------------------------------------------------------------*/ diff --git a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sdio.c b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sdio.c index 6c9ceaf4..729f0c99 100644 --- a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sdio.c +++ b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sdio.c @@ -4,7 +4,7 @@ #include "hal/hal_syscon.h" #include "utils/debug/log.h" -static hal_sdio_ctrl_t g_hal_sdio_ctrl __attribute__((section("wlan_shared_mem"))) = {0,}; +static hal_sdio_ctrl_t g_hal_sdio_ctrl; static hal_sdio_ctrl_t *hal_sdio_ctrl_get_handle(void) { return &g_hal_sdio_ctrl; diff --git a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sleep.c b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sleep.c index 8f591d62..41e4d007 100644 --- a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sleep.c +++ b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_sleep.c @@ -14,7 +14,30 @@ #define SLEEP_TIMER_EXTRA_COMPENSATION_MSEC (0) #define RTC_TIMER_EXTRA_COMPENSATION_MSEC (0) -hal_sleep_ctrl_t g_sleep_ctrl __attribute__((section("retention_data"))) = {0}; +typedef struct +{ + int irq_num; + sleep_condition_cb_t sleep_condition; + sleep_processing_cb_t pre_sleep; + sleep_processing_cb_t post_sleep; +}hal_sleep_action_t ; + +typedef struct { + sleep_mode_enum_t sleep_mode; + uint32_t peripheral_mod; + hal_sleep_action_t actions[29]; +}hal_sleep_config_t; + +typedef struct +{ + bool flag; + hal_sleep_config_t sleep_config; + uint32_t nvic_int_en[2]; + uint64_t compensation; + uint32_t msec; +}hal_sleep_ctrl_t ; + +hal_sleep_ctrl_t g_sleep_ctrl __attribute__((section("retention_data"))); static hal_sleep_ctrl_t *hal_sleep_get_handle(void) { @@ -24,15 +47,9 @@ static hal_sleep_ctrl_t *hal_sleep_get_handle(void) void EXTERNAL_IRQHandler(void) { HAL_SYSCON_EXT_INTR_Clear(); - hal_sleep_wakeup_source_set(EXT_INT_WAKEUP); } -static void hal_sleep_external_irq_wakeup_init(SYSTEM_EXT_INT_Wakeup_Index ext_int_idx, SYSTEM_EXT_INT_Triggle_Type triggle) -{ - HAL_SYSCON_EXT_INTR_Set_Triggle_Condition(ext_int_idx, triggle); - HAL_SYSCON_EXT_INTR_Enable(ext_int_idx, true); - NVIC_EnableIRQ(EXTERNAL_IRQn); -} -void hal_sleep_rtc_wakeup_init(uint32_t counter_match) + +static int hal_sleep_rtc_init(uint32_t counter_match) { RTC_InitTypeDef rtcConfig; @@ -44,11 +61,13 @@ void hal_sleep_rtc_wakeup_init(uint32_t counter_match) HAL_RTC_Init(rtcConfig); HAL_RTC_Enable(RTC_ENABLE); NVIC_EnableIRQ(RTC_IRQn); + return 0; } -void hal_sleep_rtc_wakeup_deinit(void) +static int hal_sleep_rtc_deinit(void) { HAL_RTC_Enable(RTC_DISABLE); NVIC_DisableIRQ(RTC_IRQn); + return 0; } void RTC_IRQHandler(void) { @@ -59,122 +78,316 @@ void RTC_IRQHandler(void) HAL_RTC_ClearInt(); //disable RTC - hal_sleep_rtc_wakeup_deinit(); - - //set wakeup src - hal_sleep_wakeup_source_set(RTC_WAKEUP); + hal_sleep_rtc_deinit(); } } - -void hal_sleep_init(hal_sleep_config_t *sleep_config) +void SLEEP_IRQHandler(void) { - hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - - if(sleep_ctrl->inited){ - LOG(LOG_LVL_EMERG, "Function hal_sleep_init(*sleep_config) has been called, If you want to reconfigure, please call hal_sleep_deinit() and re-call hal_sleep_init(*sleep_config)\r\n"); - return; - } - memset(sleep_ctrl, 0, sizeof(hal_sleep_ctrl_t)); - sleep_ctrl->inited = true; - memcpy(&(sleep_ctrl->sleep_config), sleep_config, sizeof(hal_sleep_config_t)); -} -void hal_sleep_deinit(void) -{ - hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - memset(sleep_ctrl, 0, sizeof(hal_sleep_ctrl_t)); - return; -} -static void hal_sleep_wakeup_source_clear_all(void) -{ - hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - hal_sleep_config_t *sleep_config = &(sleep_ctrl->sleep_config); - sleep_config->wakeup_src = 0; -} -static void hal_sleep_wakeup_source_update(void) -{ - hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - hal_sleep_config_t *sleep_config = &(sleep_ctrl->sleep_config); - sleep_mode_enum_t sleep_mode = sleep_config->sleep_mode; - - //clear wakeup source - hal_sleep_wakeup_source_clear_all(); - if(sleep_mode >= LIGHT_SLEEP) - { - //±£´æÖжÏʹÄܼĴæÆ÷µÄÖµ - sleep_ctrl->nvic_int_en[0] = NVIC->ISER[0]; - sleep_ctrl->nvic_int_en[1] = NVIC->ISER[1]; - - //Çå³ýÖжÏʹÄܼĴæÆ÷ - //disable all interrupts - NVIC->ICER[0] = 0xFFFFFFFF; - NVIC->ICER[1] = 0xFFFFFFFF; - } - - //enable wakeup IRQ - if(sleep_mode >= LIGHT_SLEEP){ - if(sleep_mode == LIGHT_SLEEP){ - NVIC_EnableIRQ(UART0_IRQn); - NVIC_EnableIRQ(UART1_IRQn); - }else{ - NVIC_EnableIRQ(SLEEP_IRQn); - } - - #if WIFI_SWITCH==0 - if(sleep_mode <= DEEP_SLEEP){ - NVIC_EnableIRQ(MAC_IRQn); - } - #endif - - if(sleep_config->wakeup_src & EXT_INT_WAKEUP){ - //ext int wakeup init - hal_sleep_external_irq_wakeup_init(HAL_GPIO_Mapping_To_Ext_Int(sleep_config->ext_irq_cfg.gpio), sleep_config->ext_irq_cfg.triggle_type); - } - } + NVIC_DisableIRQ(SLEEP_IRQn); + //do nothing } -void hal_sleep_set_config(hal_sleep_config_t *sleep_config) -{ - hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - - if(!sleep_ctrl->inited){ - LOG(LOG_LVL_EMERG, "Function hal_sleep_init(*sleep_config) has not been called before, so you can't set sleep_config!\r\n"); - return; - } - memcpy(&(sleep_ctrl->sleep_config), sleep_config, sizeof(hal_sleep_config_t)); -} - -sleep_mode_enum_t hal_sleep_get_mode(void) -{ - hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - return sleep_ctrl->sleep_config.sleep_mode; -} -extern bool is_sta_sleeping(void); -extern void initialize_phy(void); +#if 0 #define RAM_RETENTION (1 << 0) #define RAM_MAC (1 << 1) #define RAM_CPU (1 << 2) -#if WIFI_SWITCH -extern uint8_t wifi_en; #endif + +#define PRE_SLEEP_LOOP_COUNT 10 +static void pre_sleep_processing_hardware(sleep_mode_enum_t sleep_mode, uint8_t sram_powerdown) +{ + int i = 0; + hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); + hal_sleep_config_t *sleep_config = &(sleep_ctrl->sleep_config); + + if(sleep_mode < LIGHT_SLEEP || sleep_mode > FROZEN_SLEEP){ + return; + } + + if(sleep_mode >= RETENTION_SLEEP){ + HAL_SYSCON_AWO_sram_pd_en(sram_powerdown); + HAL_SYSCON_AWO_sram_po_en(0x07); + HAL_SYSCON_AWO_pmu_ret_en(1); + HAL_SYSCON_AWO_pmu_unret_en(1); + HAL_SYSCON_AWO_pdcmp_po(0); + if(sleep_mode == FROZEN_SLEEP){ + HAL_SYSCON_AWO_cpucore_retreg_po(0);//set 0 to enter frozon mode + HAL_SYSCON_AWO_idle_reg_set(0x52); + }else{ + HAL_SYSCON_AWO_cpucore_retreg_po(1); + HAL_SYSCON_AWO_lp_mode_awo(1); + } + }else{//sleep_mode <= DEEP_SLEEP + HAL_SYSCON_AWO_sram_pd_en(sram_powerdown); + HAL_SYSCON_AWO_pmu_ret_en(0); + HAL_SYSCON_AWO_pmu_unret_en(0); + + // if phy needs power down, then save phy reg to cmp + HAL_SYSCON_CMP_rfreg_len(0x158); + HAL_SYSCON_CMP_rfreg_base_addr(0x0); + HAL_SYSCON_CMP_rfreg_action_set(0x1);//bit 0 is save rf register + while(HAL_SYSCON_CMP_save_done_get() != 1); + } + + if((sleep_mode >= DEEP_SLEEP) && (sleep_mode <= RETENTION_SLEEP)){ + ll_sleep_mac_tsf_clk_switch(1);//switch to 32k and power saving + } + + //set CM4 sleep mode + if(sleep_mode >= DEEP_SLEEP){ + SCB->SCR |= (1<<2); + }else{ + SCB->SCR &= ~(1<<2); + } + if(sleep_mode == LIGHT_SLEEP){ + HAL_SYSCON_AWO_sw_pwr_ctrl_set(0x02); + while(i++ < PRE_SLEEP_LOOP_COUNT){ + __NOP(); + } + while(HAL_SYSCON_AWO_pmu_fsm_get() != 0); + HAL_SYSCON_CMP_sw_clkg_set(sleep_config->peripheral_mod|(1< FROZEN_SLEEP){ + return; + } + + if(sleep_mode <= DEEP_SLEEP){ + if(sleep_mode == LIGHT_SLEEP){ + HAL_SYSCON_AWO_sw_pwr_ctrl_set(0x01); + HAL_SYSCON_CMP_sw_clkg_set(0xFFFFFFFF); + while(HAL_SYSCON_AWO_pmu_fsm_get() != 0); + } + HAL_SYSCON_AWO_pmu_ret_en(0); + HAL_SYSCON_AWO_pmu_unret_en(0); + //restore RF register firstly + HAL_SYSCON_CMP_rfreg_len(0x158); + HAL_SYSCON_CMP_rfreg_base_addr(0x0); + HAL_SYSCON_CMP_rfreg_action_set(0x2);//bit 1 is restore rf register + while(HAL_SYSCON_CMP_restore_done_get() != 1); + } + + if((sleep_mode >= DEEP_SLEEP) && (sleep_mode <= RETENTION_SLEEP)){ + ll_sleep_mac_tsf_clk_switch(0);//switch to 40M + } +} +static int hal_sleep_peripheral_module_to_IRQn(hal_peripheral_module_t peripheral_module) +{ + int ret = 0; + + switch(peripheral_module){ + case MOD_QSPI: + ret = QSPI_IRQn; + break; + case MOD_ADDC: + ret = ADC_IRQn; + break; + case MOD_I2S: + ret = I2S_IRQn; + break; + case MOD_GPIO: + ret = GPIO_IRQn; + break; + case MOD_SPIM: + ret = SPI0_IRQn; + break; + case MOD_SPIS: + ret = SPI2_IRQn; + break; + case MOD_I2C0: + ret = I2C0_IRQn; + break; + case MOD_I2C1: + ret = I2C1_IRQn; + break; + case MOD_UART0: + ret = UART0_IRQn; + break; + case MOD_UART1: + ret = UART1_IRQn; + break; + case MOD_SPIM2: + ret = SPI1_IRQn; + break; + case MOD_WDT: + ret = WDT_IRQn; + break; + case MOD_TIMER0: + ret = TIMER_IRQn; + break; + case MOD_TIMER1: + ret = TIMER_IRQn; + break; + case MOD_TIMER2: + ret = TIMER_IRQn; + break; + case MOD_TIMER3: + ret = TIMER_IRQn; + break; + case MOD_TIMER4: + ret = TIMER_IRQn; + break; + case MOD_SDIO: + ret = SDIO_FUN1_IRQn; + break; + case MOD_MAC: + ret = MAC_IRQn; + break; + case MOD_DMA: + ret = DMA_IRQn; + break; + case MOD_PWM: + ret = PWM_IRQn; + break; + case MOD_TRNG: + ret = TRNG_IRQn; + break; + case MOD_AES: + ret = AES_IRQn; + break; + case MOD_EXT_INT: + ret = EXTERNAL_IRQn; + break; + case MOD_DGBH: + case MOD_CACHE: + case MOD_RFREG: + case MOD_EF: + default: + break; + } + return ret; +} + +static int log2(uint32_t val) +{ + int ret = 0; + switch(val) + { + case 0x1: ret = 0; break; + case 0x2: ret = 1; break; + case 0x4: ret = 2; break; + case 0x8: ret = 3; break; + case 0x10: ret = 4; break; + case 0x20: ret = 5; break; + case 0x40: ret = 6; break; + case 0x80: ret = 7; break; + case 0x100: ret = 8; break; + case 0x200: ret = 9; break; + case 0x400: ret = 10; break; + case 0x800: ret = 11; break; + case 0x1000: ret = 12; break; + case 0x2000: ret = 13; break; + case 0x4000: ret = 14; break; + case 0x8000: ret = 15; break; + case 0x10000: ret = 16; break; + case 0x20000: ret = 17; break; + case 0x40000: ret = 18; break; + case 0x80000: ret = 19; break; + case 0x100000: ret = 20; break; + case 0x200000: ret = 21; break; + case 0x400000: ret = 22; break; + case 0x800000: ret = 23; break; + case 0x1000000: ret = 24; break; + case 0x2000000: ret = 25; break; + case 0x4000000: ret = 26; break; + case 0x8000000: ret = 27; break; + case 0x10000000: ret = 28; break; + case 0x20000000: ret = 29; break; + case 0x40000000: ret = 30; break; + case 0x80000000: ret = 31; break; + default: break; + } + return ret; +} + +/** + * @brief Check whether can sleep + * + * @param none + * + * @note If can sleep, return true; else return flase. + */ +static bool hal_sleep_condition_check(hal_sleep_config_t *sleep_config) +{ + bool ret = true; + hal_sleep_action_t *action; + uint32_t value, tmp, idx; + + if(!sleep_config){ + return false; + } + value = sleep_config->peripheral_mod; + while(value){ + tmp = value & (value - 1); + idx = log2(value - tmp); + action = &(sleep_config->actions[idx]); + if(action->sleep_condition){ + ret = ret && action->sleep_condition(); + } + value = tmp; + } + return ret; +} + +static void hal_pre_sleep_processing_registered_cb(hal_sleep_config_t *sleep_config) +{ + hal_sleep_action_t *action; + uint32_t value, tmp, idx; + + if(!sleep_config){ + return; + } + value = sleep_config->peripheral_mod; + while(value){ + tmp = value & (value - 1); + idx = log2(value - tmp); + action = &(sleep_config->actions[idx]); + NVIC_EnableIRQ((IRQn_Type)action->irq_num); + if(action->pre_sleep){ + action->pre_sleep(); + } + value = tmp; + } +} +static void hal_post_sleep_processing_registered_cb(hal_sleep_config_t *sleep_config) +{ + hal_sleep_action_t *action; + uint32_t value, tmp, idx; + + if(!sleep_config){ + return; + } + value = sleep_config->peripheral_mod; + while(value){ + tmp = value & (value - 1); + idx = log2(value - tmp); + action = &(sleep_config->actions[idx]); + if(action->post_sleep){ + action->post_sleep(); + } + value = tmp; + } +} + void hal_pre_sleep_processing(uint32_t *ticks) { hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); sleep_mode_enum_t sleep_mode = hal_sleep_get_mode(); uint64_t u64val = (uint64_t)(*ticks) * 1000 / configTICK_RATE_HZ; uint8_t sram_powerdown = 0x00;//RAM_RETENTION | RAM_MAC | RAM_CPU + hal_sleep_config_t *sleep_config = &(sleep_ctrl->sleep_config); -#if WIFI_SWITCH - if(sleep_mode < LIGHT_SLEEP || sleep_ctrl->flag || (wifi_en==1)){ + if(sleep_mode < LIGHT_SLEEP || sleep_ctrl->flag){ *ticks = 0; return; } - //LOG(LOG_LVL_INFO, "\r\n%s() line:%d\r\n",__func__,__LINE__); -#else - if(sleep_mode < LIGHT_SLEEP || sleep_ctrl->flag || (sleep_ctrl->wifi_is_slept_cb && !sleep_ctrl->wifi_is_slept_cb())){ + + if(!hal_sleep_condition_check(sleep_config)){ *ticks = 0; return; } -#endif if(u64val >> 32){ LOG(LOG_LVL_EMERG, "[%s, %d]ticks(%d) expected overflow!\r\n", __func__, __LINE__, *ticks); @@ -187,22 +400,24 @@ void hal_pre_sleep_processing(uint32_t *ticks) sleep_ctrl->flag = true; - //set wakeup source - hal_sleep_wakeup_source_update(); + hal_pre_sleep_processing_registered_cb(sleep_config); if(sleep_mode == LIGHT_SLEEP){ // LIGHT_SLEEP˯Ãßģʽʱ£¬Ê¹ÓÃRTC»½ÐÑ u64val = ((uint64_t)1000000 * (sleep_ctrl->msec - RTC_TIMER_EXTRA_COMPENSATION_MSEC))/HAL_SYSCON_Get32KPeriodNs(); - if(u64val >> 32){ - LOG(LOG_LVL_EMERG, "[%s, %d]RTC counter_match(%lld) overflow!\r\n", __func__, __LINE__, u64val); - u64val = u64val & 0xFFFFFFFFULL; - } - hal_sleep_rtc_wakeup_init(u64val); + hal_sleep_rtc_init((uint32_t)u64val); }else{ // ÆäËû˯Ãßģʽʱ£¬Ê¹ÓÃרÃŵÄsleep timer»½ÐÑ sleep_ctrl->compensation = HAL_SYSCON_CalculateCompensateNs() + (uint64_t)SLEEP_TIMER_EXTRA_COMPENSATION_MSEC*1000000; HAL_SYSCON_CPUSleepDurationEnable(((uint64_t)*ticks * 1000000000 / configTICK_RATE_HZ) - sleep_ctrl->compensation); + NVIC_EnableIRQ(SLEEP_IRQn); } - ll_pre_sleep_processing(sleep_mode, sram_powerdown); + //ll_pre_sleep_processing(sleep_mode, sram_powerdown); + pre_sleep_processing_hardware(sleep_mode, sram_powerdown); + + HAL_SYSCON_AWO_clk_sel_set(0); // switch to crystal clock + + + } uint32_t hal_post_sleep_processing(uint32_t ticks) { @@ -225,7 +440,7 @@ uint32_t hal_post_sleep_processing(uint32_t ticks) } sleep_ctrl->flag = false; - ll_post_sleep_processing(mode); + post_sleep_processing_hardware(mode); if(mode == LIGHT_SLEEP){ ticks = (((uint64_t)HAL_RTC_GetCurValue() * HAL_SYSCON_Get32KPeriodNs() / 1000000 + RTC_TIMER_EXTRA_COMPENSATION_MSEC) * configTICK_RATE_HZ) / 1000; @@ -243,28 +458,67 @@ uint32_t hal_post_sleep_processing(uint32_t ticks) NVIC->ISER[0] = sleep_ctrl->nvic_int_en[0]; NVIC->ISER[1] = sleep_ctrl->nvic_int_en[1]; } - if(sleep_ctrl->reinit_phy_cb) - { - sleep_ctrl->reinit_phy_cb(); - } + hal_post_sleep_processing_registered_cb(&(sleep_ctrl->sleep_config)); + + HAL_SYSCON_AWO_clk_sel_set(1); // switch to system pll clock return ticks; } -void hal_sleep_wakeup_source_set(hal_sleep_wakeup_src_enum_t wakeup_src) + +int hal_sleep_set_mode(sleep_mode_enum_t sleep_mode) +{ + hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); + + sleep_ctrl->sleep_config.sleep_mode = sleep_mode; + + return 0; +} + +sleep_mode_enum_t hal_sleep_get_mode(void) +{ + hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); + return sleep_ctrl->sleep_config.sleep_mode; +} + +int hal_sleep_register(hal_peripheral_module_t peripheral_module, sleep_condition_cb_t sleep_condition, sleep_processing_cb_t pre_sleep, sleep_processing_cb_t post_sleep) { hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); hal_sleep_config_t *sleep_config = &(sleep_ctrl->sleep_config); - sleep_config->wakeup_src |= wakeup_src; + hal_sleep_action_t *action; + + if(peripheral_module >= MOD_MAX || peripheral_module < MOD_QSPI){ + return -1; + } + + action = &(sleep_config->actions[peripheral_module]); + SET_BIT(sleep_config->peripheral_mod, peripheral_module); + action->irq_num = hal_sleep_peripheral_module_to_IRQn(peripheral_module); + if(sleep_condition){ + action->sleep_condition = sleep_condition; + } + if(pre_sleep){ + action->pre_sleep = pre_sleep; + } + if(post_sleep){ + action->post_sleep = post_sleep; + } + return 0; } -void hal_sleep_register_callback(reinitialize_phy_cb_t reinit_phy_cb, wifi_is_slept_cb_t wifi_is_slept_cb) +int hal_sleep_unregister(hal_peripheral_module_t peripheral_module) { hal_sleep_ctrl_t *sleep_ctrl = hal_sleep_get_handle(); - sleep_ctrl->reinit_phy_cb = reinit_phy_cb; - sleep_ctrl->wifi_is_slept_cb = wifi_is_slept_cb; -} - -void SLEEP_IRQHandler(void) -{ - //do nothing - hal_sleep_wakeup_source_set(SLEEP_TIMER_WAKEUP); + hal_sleep_config_t *sleep_config = &(sleep_ctrl->sleep_config); + hal_sleep_action_t *action; + + if(peripheral_module >= MOD_MAX || peripheral_module < MOD_QSPI){ + return -1; + } + + action = &(sleep_config->actions[peripheral_module]); + CLR_BIT(sleep_config->peripheral_mod, peripheral_module); + action->irq_num = 0; + action->sleep_condition = NULL; + action->pre_sleep = NULL; + action->post_sleep = NULL; + return 0; } diff --git a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_syscon.c b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_syscon.c index d1b0cd26..9e38e16c 100644 --- a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_syscon.c +++ b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_syscon.c @@ -498,6 +498,7 @@ void HAL_SYSCON_EXT_INTR_Clear(void) LL_SYSCON_EXT_INTR_Clear(); } + /** * @brief Reset the mcu by software * @@ -526,13 +527,104 @@ void HAL_SYSCON_Xtal40MCap_Set(uint8_t cap) LL_SYSCON_Xtal40MCap_Set(cap); } - void HAL_SYSCON_PmuCfg(void) { LL_SYSCON_PMUReg_Set(0x8B050900);// (BUCK) r_vtrim: bit[9:8]=0b01 //00: 1.195 / 01: 1.202 / 10: 1.210 / 11: 1.218 - LL_SYSCON_PMUCfg_Set(0x20001603);// o_digldo_norvdd: bit[10:8]=0b100; o_digldo_retvdd: bit[14:12]=0b001 + //LL_SYSCON_PMUCfg_Set(0x20001603);// o_digldo_norvdd: bit[10:8]=0b100; o_digldo_retvdd: bit[14:12]=0b001 + LL_SYSCON_PMUCfg_Set(0x310746fd);// o_digldo_norvdd: bit[10:8]=0b100; o_digldo_retvdd: bit[14:12]=0b110 LL_SYSCON_Misc_Set(0x00002C0D); LL_SYSCON_PMUAvdd_Set(0x00055DB6);// Avdd & PLL & RF voltage 55B75 } +void HAL_SYSCON_AWO_phy_pd_en(uint8_t en) +{ + LL_SYSCON_AWO_phy_pd_en(en); +} +void HAL_SYSCON_AWO_phy_po_en(uint8_t en) +{ + LL_SYSCON_AWO_phy_po_en(en); +} +void HAL_SYSCON_AWO_ldo18_po_en(uint8_t en) +{ + LL_SYSCON_AWO_ldo18_po_en(en); +} +void HAL_SYSCON_AWO_sram_pd_en(uint8_t en) +{ + LL_SYSCON_AWO_sram_pd_en(en); +} +void HAL_SYSCON_AWO_sram_po_en(uint8_t en) +{ + LL_SYSCON_AWO_sram_po_en(en); +} + +void HAL_SYSCON_AWO_pmu_ret_en(uint8_t en) +{ + LL_SYSCON_AWO_pmu_ret_en(en); +} +void HAL_SYSCON_AWO_pmu_unret_en(uint8_t en) +{ + LL_SYSCON_AWO_pmu_unret_en(en); +} +void HAL_SYSCON_AWO_pdcmp_po(uint8_t po) +{ + LL_SYSCON_AWO_pdcmp_po(po); +} + +void HAL_SYSCON_AWO_cpucore_retreg_po(uint8_t po) +{ + LL_SYSCON_AWO_cpucore_retreg_po(po); +} +void HAL_SYSCON_AWO_idle_reg_set(uint32_t val) +{ + LL_SYSCON_AWO_idle_reg_set(val); +} + +void HAL_SYSCON_AWO_lp_mode_awo(uint8_t lp_mode_awo) +{ + LL_SYSCON_AWO_lp_mode_awo(lp_mode_awo); +} + +void HAL_SYSCON_AWO_clk_sel_set(uint32_t val) +{ + LL_SYSCON_AWO_clk_sel_set(val); +} + +void HAL_SYSCON_CMP_rfreg_len(uint16_t rfreg_len) +{ + LL_SYSCON_CMP_rfreg_len(rfreg_len); +} +void HAL_SYSCON_CMP_rfreg_base_addr(uint16_t rfreg_base_addr) +{ + LL_SYSCON_CMP_rfreg_base_addr(rfreg_base_addr); +} + +void HAL_SYSCON_CMP_rfreg_action_set(uint32_t val) +{ + LL_SYSCON_CMP_rfreg_action_set(val); +} + +uint8_t HAL_SYSCON_CMP_save_done_get(void) +{ + return LL_SYSCON_CMP_save_done_get(); +} + +void HAL_SYSCON_AWO_sw_pwr_ctrl_set(uint32_t value) +{ + LL_SYSCON_AWO_sw_pwr_ctrl_set(value); +} + +uint8_t HAL_SYSCON_AWO_pmu_fsm_get(void) +{ + return LL_SYSCON_AWO_pmu_fsm_get(); +} + +uint8_t HAL_SYSCON_CMP_restore_done_get(void) +{ + return LL_SYSCON_CMP_restore_done_get(); +} + +void HAL_SYSCON_CMP_sw_clkg_set(uint32_t value) +{ + LL_SYSCON_CMP_sw_clkg_set(value); +} diff --git a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_timer.c b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_timer.c index fdd1822b..a3cb4c4e 100644 --- a/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_timer.c +++ b/platform/vendor_bsp/LN/ln882x/src/driver_ln882x/hal/hal_timer.c @@ -4,6 +4,7 @@ #include "ll/ll_syscon.h" #include "hal/hal_common.h" +timer_cb_func_t Timer_cb_func[4]={NULL}; /** * @brief Initialize the timer according to the input param config. @@ -16,6 +17,7 @@ void HAL_TIMER_Init(TIMER_InitTypeDef config) assert_param(IS_TIMER_MODE(config.mode)); assert_param(IS_TIMER_MASK(config.mask)); assert_param( ((APBUS0_CLOCK / config.user_freq) >= 1 ) && ( (APBUS0_CLOCK / config.user_freq) <= 256 )); + assert_param(config.cb_func); HAL_TIMER_Enable(config.index, TIMER_DISABLE); @@ -52,6 +54,10 @@ void HAL_TIMER_Init(TIMER_InitTypeDef config) default: break; } + if(config.cb_func) + { + Timer_cb_func[config.index-1]=config.cb_func; + } } @@ -233,4 +239,14 @@ uint32_t HAL_TIMER_LoadCount2_Get(TIMER_Index index) return LL_TIMER_LoadCount2_Get(index); } - +void TIMER_IRQHandler() +{ + TIMER_Index index; + for(index=TIMER_1;index<=TIMER_4;index++) + { + if(HAL_TIMER_Int_Status(index)&&Timer_cb_func[index-1]) + { + Timer_cb_func[index-1](); + } + } +} diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.c b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.c new file mode 100644 index 00000000..5e5a4736 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.c @@ -0,0 +1,316 @@ +#include "string.h" +#include "xz_decompress.h" +#include "flash_partition_mgr.h" + +#include "ota_image.h" +#include "ota_agent.h" +#include "ota_port.h" + + +static uint8_t temp_buf[LEN_4KB]; + +static image_hdr_t app_header; +static image_hdr_t ota_header; +static partition_info_t partition_info_app; +static partition_info_t partition_info_ota; + +static int verify_total_img_partition(partition_type_t type, \ + partition_info_t *info, image_hdr_t *hdr) +{ + int err; + + if (LN_TRUE != ln_fetch_partition_info(type, info)) { + return OTA_ERR_PARTITION_TAB; + } + + if (OTA_ERR_NONE != (err = image_header_read(type, hdr))) { + return err; + } + + if (OTA_ERR_NONE != (err = image_header_verify(hdr))) { + return err; + } + + if (OTA_ERR_NONE != (err = image_body_verify(info->start_addr, hdr))) { + return err; + } + + return OTA_ERR_NONE; +} + +static int orig_image_do_restore(uint32_t app_body_offset, \ + uint32_t ota_body_offset, uint32_t size) +{ + uint32_t i = 0; + uint32_t count_4k = size / LEN_4KB; + uint32_t remainder_4k = size % LEN_4KB; + ota_port_ctx_t * port = ota_get_port_ctx(); + + for (i = 0; i < count_4k; i++) { + port->flash_drv.read(ota_body_offset, temp_buf, LEN_4KB); + port->flash_drv.write(app_body_offset, temp_buf, LEN_4KB); + ota_body_offset += LEN_4KB; + app_body_offset += LEN_4KB; + } + + if (remainder_4k) { + port->flash_drv.read(ota_body_offset, temp_buf, remainder_4k); + port->flash_drv.write(app_body_offset, temp_buf, remainder_4k); + } + + return OTA_ERR_NONE; +} + +static int decompress_read_cb(uint8_t **buf, uint32_t *buf_len) +{ + int32_t tmp_len; + uint32_t ota_xz_size = ota_header.img_size_orig_xz; + uint32_t ota_img_body_offset = partition_info_ota.start_addr + sizeof(image_hdr_t); + ota_port_ctx_t * port = ota_get_port_ctx(); + + static uint32_t xz_already_read = 0; + + tmp_len = ota_xz_size - xz_already_read; + if (tmp_len > LEN_4KB) { + tmp_len = LEN_4KB; + } + + *buf = temp_buf; + + port->flash_drv.read(ota_img_body_offset + xz_already_read, *buf, tmp_len); + + *buf_len = tmp_len; + xz_already_read += tmp_len; + + return XZ_RET_OK; +} + +static int decompress_write_cb(uint32_t offset, uint8_t *buf, uint32_t buf_len) +{ + uint32_t app_img_body_offset = partition_info_app.start_addr + sizeof(image_hdr_t); + ota_port_ctx_t * port = ota_get_port_ctx(); + static uint32_t xz_already_write = 0; + + port->flash_drv.write(app_img_body_offset + xz_already_write, buf, buf_len); + + xz_already_write += buf_len; + + return XZ_RET_OK; +} + +static int xz_image_do_restore(uint32_t ota_body_offset, uint32_t size) +{ + write_cb_t out; + read_cb_t in; + xz_header_t xz_header = {0,}; + ota_port_ctx_t * port = ota_get_port_ctx(); + + out.Write = decompress_write_cb; + in.Read = decompress_read_cb; + + port->flash_drv.read(ota_body_offset, &xz_header, sizeof(xz_header_t)); + + if (XZ_RET_OK != xz_decompress_buf_to_buf(xz_header.header, &out, &in)) { + return OTA_ERR_DECOMPRESS; + } + + return OTA_ERR_NONE; +} + +static int restore_image(jump_to_app_t jump_to_app) +{ + static image_hdr_t img_hdr_temp; + upg_state_t upgrade_state; + uint32_t app_body_offset = 0; + uint32_t ota_body_offset = 0; + uint32_t size = 0; + ota_port_ctx_t * port = ota_get_port_ctx(); + int err = OTA_ERR_NONE; + + switch(ota_header.image_type) + { + case IMAGE_TYPE_ORIGINAL: + // copy header + port->flash_drv.write(partition_info_app.start_addr, &ota_header, sizeof(image_hdr_t)); + + // copy image + app_body_offset = partition_info_app.start_addr + sizeof(image_hdr_t); + ota_body_offset = partition_info_ota.start_addr + sizeof(image_hdr_t); + size = ota_header.img_size_orig; + if (OTA_ERR_NONE != (err = orig_image_do_restore(app_body_offset, \ + ota_body_offset, size))) { + return err; + } + + // verify app partition(new image) + if (OTA_ERR_NONE != (err = verify_total_img_partition(PARTITION_TYPE_APP, \ + &partition_info_app, &app_header))) { + //TODO:HOOK + return err; + } + + // update OTA upg state + upgrade_state = UPG_STATE_RESTORE_OK; + + if (LN_TRUE != port->kv_ops.kv_set(KV_OTA_UPG_STATE, &upgrade_state, sizeof(upg_state_t))) { + //TODO:HOOK + return OTA_ERR_KV_RW; + } + + jump_to_app(partition_info_app.start_addr + sizeof(image_hdr_t)); + return OTA_ERR_NONE; + + case IMAGE_TYPE_ORIGINAL_XZ: + // copy header + memcpy(&img_hdr_temp, &ota_header, sizeof(image_hdr_t)); + img_hdr_temp.image_type = IMAGE_TYPE_ORIGINAL; + img_hdr_temp.header_crc32 = ln_crc32_signle_cal((uint8_t *)&img_hdr_temp, \ + sizeof(image_hdr_t) - sizeof(uint32_t)); + + port->flash_drv.write(partition_info_app.start_addr, &img_hdr_temp, sizeof(image_hdr_t)); + + // copy image + ota_body_offset = partition_info_ota.start_addr + sizeof(image_hdr_t); + size = ota_header.img_size_orig_xz; + + // it takes a lot of time. + if (OTA_ERR_NONE != (err = xz_image_do_restore(ota_body_offset, size))) { + return err; + } + + // verify app partition(new image) + if (OTA_ERR_NONE != (err = verify_total_img_partition(PARTITION_TYPE_APP, \ + &partition_info_app, &app_header))) { + //TODO:HOOK + return err; + } + + // update OTA upg state + upgrade_state = UPG_STATE_RESTORE_OK; + + if (LN_TRUE != port->kv_ops.kv_set(KV_OTA_UPG_STATE, &upgrade_state, sizeof(upg_state_t))) { + //TODO:HOOK + return OTA_ERR_KV_RW; + } + + jump_to_app(partition_info_app.start_addr + sizeof(image_hdr_t)); + return OTA_ERR_NONE; + + case IMAGE_TYPE_DIFF: + case IMAGE_TYPE_DIFF_XZ: + if ((app_header.ver.ver_major == ota_header.ver_diff_depend.ver_major) && \ + (app_header.ver.ver_minor == ota_header.ver_diff_depend.ver_minor)) + { + // this feature is not supported yet. + return OTA_ERR_NOT_SUPPORT; + } + /* why? it's impossible to go into this branch */ + else + { + // download ok! why? App should check it! + return OTA_ERR_IMPOSSIBLE_VER; + } + + default: + return OTA_ERR_IMG_TYPE; + } +} + +int ota_boot_upgrade_agent(jump_to_app_t jump_to_app) +{ + ota_port_ctx_t * port = ota_get_port_ctx(); + upg_state_t upgrade_state; + uint32_t v_len = 0; + int err = OTA_ERR_NONE; + + if (LN_TRUE != port->kv_ops.kv_get(KV_OTA_UPG_STATE, &upgrade_state, sizeof(upg_state_t), &v_len)) + { + /* upg state param error,may be first startup or KV damaged */ + if (OTA_ERR_NONE != (err = verify_total_img_partition(PARTITION_TYPE_APP, \ + &partition_info_app, &app_header))) { + //TODO:HOOK + return err; + } + + jump_to_app(partition_info_app.start_addr + sizeof(image_hdr_t)); + return OTA_ERR_NONE; + } + + if (UPG_STATE_DOWNLOAD_OK != upgrade_state) + { + if (OTA_ERR_NONE != (err = verify_total_img_partition(PARTITION_TYPE_APP, \ + &partition_info_app, &app_header))) { + //TODO:HOOK + return err; + } + + jump_to_app(partition_info_app.start_addr + sizeof(image_hdr_t)); + return OTA_ERR_NONE; + } + else + { + if (OTA_ERR_NONE != (err = verify_total_img_partition(PARTITION_TYPE_APP, \ + &partition_info_app, &app_header))) { + //last time copy err case. + + //return errno + } + else + { + if (OTA_ERR_NONE != (err = verify_total_img_partition(PARTITION_TYPE_OTA, \ + &partition_info_ota, &ota_header))) { + //update OTA upg state [upg restory filed] + + //jump to app! + jump_to_app(partition_info_app.start_addr + sizeof(image_hdr_t)); + + return err;//ota err image but wo also jump to app + } + + //version compare + if ((ota_header.ver.ver_major + ota_header.ver.ver_minor) > \ + (app_header.ver.ver_major + app_header.ver.ver_minor)) + { + port->flash_drv.erase(partition_info_app.start_addr, partition_info_app.size); + return restore_image(jump_to_app); + + } + else if ((ota_header.ver.ver_major + ota_header.ver.ver_minor) == \ + (app_header.ver.ver_major + app_header.ver.ver_minor)) + { + /* a power loss may have occurred after the last restore before the UPG STATE update. */ + if ((app_header.img_size_orig == ota_header.img_size_orig) && \ + (app_header.img_crc32_orig == ota_header.img_crc32_orig)) + { + //update OTA param + upgrade_state = UPG_STATE_RESTORE_OK; + + if (LN_TRUE != port->kv_ops.kv_set(KV_OTA_UPG_STATE, &upgrade_state, sizeof(upg_state_t))) { + //TODO:HOOK + return OTA_ERR_KV_RW; + } + + jump_to_app(partition_info_app.start_addr + sizeof(image_hdr_t)); + return OTA_ERR_NONE; + } + /* why? it's impossible to go into this branch */ + else + { + //TODO:HOOK + return OTA_ERR_IMPOSSIBLE_VER; + } + } + /* why? it's impossible to go into this branch */ + else + { + //TODO:HOOK + return OTA_ERR_IMPOSSIBLE_VER; + } + } + } + + return 0; +} + + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.h b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.h new file mode 100644 index 00000000..14a0941f --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_agent.h @@ -0,0 +1,15 @@ +#ifndef __OTA_API_H__ +#define __OTA_API_H__ + +#include "ota_err.h" +#include "ota_types.h" +#include "ota_port.h" + +typedef void (*jump_to_app_t)(uint32_t app_entity_offset); + +int ota_boot_upgrade_agent(jump_to_app_t jump_to_app); + + + +#endif /* __OTA_API_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_err.h b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_err.h new file mode 100644 index 00000000..925af6b0 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_err.h @@ -0,0 +1,24 @@ +#ifndef __OTA_ERR_H__ +#define __OTA_ERR_H__ + +typedef enum { + OTA_ERR_NONE = 0u, + OTA_ERR_INVALID_PARAM, + + OTA_ERR_KV_RW = 10u, + OTA_ERR_UPG_STATE, + OTA_ERR_PARTITION_TAB, + OTA_ERR_DECOMPRESS, + + OTA_ERR_IMG_TYPE = 20u, + OTA_ERR_IMG_HEADER_READ, + OTA_ERR_IMG_HEADER_VERIFY, + OTA_ERR_IMG_ENTITY_VERIFY, + + OTA_ERR_IMPOSSIBLE_VER = 30u, + OTA_ERR_NOT_SUPPORT, + +} ota_err_t; + +#endif /* __OTA_ERR_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.c b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.c new file mode 100644 index 00000000..a3314d2f --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.c @@ -0,0 +1,113 @@ +#include "ota_image.h" +#include "ota_port.h" + + +#define TEMP_BUF_LEN (128) +static uint8_t temp_buf[TEMP_BUF_LEN]; + +int image_header_read(partition_type_t type, image_hdr_t *header) +{ + partition_info_t info; + ota_port_ctx_t * port = ota_get_port_ctx(); + + if ((type != PARTITION_TYPE_APP) && (type != PARTITION_TYPE_OTA)) { + return OTA_ERR_INVALID_PARAM; + } + + if (LN_TRUE == ln_fetch_partition_info(type, &info)) { + port->flash_drv.read(info.start_addr, (uint8_t*)header, sizeof(image_hdr_t)); + return OTA_ERR_NONE; + } + + return OTA_ERR_IMG_HEADER_READ; +} + +int image_header_fast_read(uint32_t start_addr, image_hdr_t *header) +{ + ota_port_ctx_t * port = ota_get_port_ctx(); + + port->flash_drv.read(start_addr, (uint8_t*)header, sizeof(image_hdr_t)); + + return OTA_ERR_NONE; +} + +int image_header_verify(image_hdr_t *header) +{ + if (header->header_crc32 == ln_crc32_signle_cal((uint8_t *)header, sizeof(image_hdr_t) - sizeof(uint32_t))) { + return OTA_ERR_NONE; + } + + return OTA_ERR_IMG_HEADER_VERIFY; +} + +int image_body_verify(uint32_t start_addr, image_hdr_t *header) +{ + uint32_t offset = 0; + uint32_t size = 0; + uint32_t i = 0; + uint32_t crc32_result = 0; + crc32_ctx_t crc_ctx = {0,}; + ota_port_ctx_t * port = ota_get_port_ctx(); + + if (!header) { + return OTA_ERR_INVALID_PARAM; + } + + offset = start_addr + sizeof(image_hdr_t); + + switch (header->image_type) + { + case IMAGE_TYPE_ORIGINAL: + size = header->img_size_orig; + break; + case IMAGE_TYPE_ORIGINAL_XZ: + size = header->img_size_orig_xz; + break; + case IMAGE_TYPE_DIFF: + size = header->img_size_diff; + break; + case IMAGE_TYPE_DIFF_XZ: + size = header->img_size_diff_xz; + break; + default: + return OTA_ERR_IMG_TYPE; + } + + /* calculate CRC32 checksum of flash image segment by segment */ + ln_crc32_init(&crc_ctx); + + for (i = 0; i < size/TEMP_BUF_LEN; i++) { + port->flash_drv.read(offset, temp_buf, TEMP_BUF_LEN); + + ln_crc32_update(&crc_ctx, temp_buf, TEMP_BUF_LEN); + + offset += TEMP_BUF_LEN; + } + + port->flash_drv.read(offset, temp_buf, size % TEMP_BUF_LEN); + ln_crc32_update(&crc_ctx, temp_buf, size % TEMP_BUF_LEN); + crc32_result = ln_crc32_final(&crc_ctx); + + /* check the CRC32 checksum */ + switch (header->image_type) + { + case IMAGE_TYPE_ORIGINAL: + return ((crc32_result == header->img_crc32_orig) ? OTA_ERR_NONE : OTA_ERR_IMG_ENTITY_VERIFY); + + case IMAGE_TYPE_ORIGINAL_XZ: + return ((crc32_result == header->img_crc32_orig_xz) ? OTA_ERR_NONE : OTA_ERR_IMG_ENTITY_VERIFY); + + case IMAGE_TYPE_DIFF: + return ((crc32_result == header->img_crc32_diff) ? OTA_ERR_NONE : OTA_ERR_IMG_ENTITY_VERIFY); + + case IMAGE_TYPE_DIFF_XZ: + return ((crc32_result == header->img_crc32_diff_xz) ? OTA_ERR_NONE : OTA_ERR_IMG_ENTITY_VERIFY); + + default: + return OTA_ERR_IMG_TYPE; + } +} + + + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.h b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.h new file mode 100644 index 00000000..0ed43810 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_image.h @@ -0,0 +1,17 @@ +#ifndef __OTA_IMAGE_H__ +#define __OTA_IMAGE_H__ + +#include "flash_partition_mgr.h" +#include "ota_types.h" +#include "ota_err.h" + + +int image_header_read(partition_type_t type, image_hdr_t * header); +int image_header_fast_read(uint32_t start_addr, image_hdr_t *header); +int image_header_verify(image_hdr_t * header); +int image_body_verify(uint32_t start_addr, image_hdr_t *header); + + +#endif /* __OTA_IMAGE_H__ */ + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.c b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.c new file mode 100644 index 00000000..12c027eb --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.c @@ -0,0 +1,72 @@ +#include "ota_port.h" +#include "ota_err.h" +#include "hal/flash.h" +#include "ln_kv_api.h" +#include "ln_kv_err.h" + +static ota_port_ctx_t ota_port; + +static int flash_read(uint32_t offset, void *buf, uint32_t len) +{ + return FLASH_Read(offset, len, buf); +} + +static int flash_write(uint32_t offset, const void *buf, uint32_t len) +{ + return FLASH_Program(offset, len, (uint8_t*)buf); +} + +static int flash_erase(uint32_t offset, uint32_t len) +{ + FLASH_Erase(offset, len); + return 0; +} + +static int ota_kv_set(const char *key, const void *value, size_t v_len) +{ + if (KV_ERR_NONE == ln_kv_set(key,value,v_len)) { + return LN_TRUE; + } + return LN_FALSE; +} + +static int ota_kv_get(const char *key, void *value_buf, size_t value_buf_size, size_t *v_len) +{ + if (KV_ERR_NONE == ln_kv_get(key,value_buf,value_buf_size,v_len)) { + return LN_TRUE; + } + return LN_FALSE; +} + +static void chip_reboot(void) +{ + +} + +ota_err_t ota_port_init(void) +{ + ota_port.flash_drv.read = flash_read; + ota_port.flash_drv.write = flash_write; + ota_port.flash_drv.erase = flash_erase; + + ota_port.kv_ops.kv_set = ota_kv_set; + ota_port.kv_ops.kv_get = ota_kv_get; + + ota_port.chip_reboot = chip_reboot; + + return OTA_ERR_NONE; +} + +ota_port_ctx_t * ota_get_port_ctx(void) +{ + return &ota_port; +} + + + + + + + + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.h b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.h new file mode 100644 index 00000000..1d43e16b --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_port.h @@ -0,0 +1,60 @@ +#ifndef __OTA_PORT_H__ +#define __OTA_PORT_H__ + +#include "ln_types.h" +#include "ln_kv_err.h" +#include "ota_err.h" +#include "utils/crc32.h" + +#define LEN_4KB (1024*4) + +typedef int (*ota_flash_write_t)(uint32_t addr, const void *buf, uint32_t len); +typedef int (*ota_flash_read_t)(uint32_t addr, void *buf, uint32_t len); +typedef int (*ota_flash_erase_t)(uint32_t addr, uint32_t len); +typedef int (*ota_kv_set_t)(const char *key, const void *value, size_t v_len); +typedef int (*ota_kv_get_t)(const char *key, void *value_buf, size_t value_buf_size, size_t *v_len); +typedef void (*chip_reboot_t)(void); + +typedef struct { + ota_flash_write_t write; + ota_flash_read_t read; + ota_flash_erase_t erase; +} ota_flash_drv_t; + +typedef struct { + ota_kv_set_t kv_set; + ota_kv_get_t kv_get; +} ota_kv_ops_t; + +typedef struct { + ota_flash_drv_t flash_drv; + ota_kv_ops_t kv_ops; + chip_reboot_t chip_reboot; +} ota_port_ctx_t; + + +/** + * @brief ota port init. + * initialize some hardware api that ota module depend on. + * + * @attention None. + * + * @return errcode + * @retval #OTA_ERR_NONE initialize ok. + * @retval #OTA_ERR_* initialize failed. + */ +ota_err_t ota_port_init(void); + +/** + * @brief get ota port context. + * get ota port context. + * + * @attention None. + * + * @return the pointer of ota port context. + */ +ota_port_ctx_t * ota_get_port_ctx(void); + + +#endif /* __OTA_PORT_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_types.h b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_types.h new file mode 100644 index 00000000..b64b9965 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/ota_types.h @@ -0,0 +1,50 @@ +#ifndef __OTA_TYPES_H__ +#define __OTA_TYPES_H__ + +#include "ln_types.h" + +typedef enum { + IMAGE_ATTACHE = 0u, /*< it's an attache drvice image */ + IMAGE_TYPE_ORIGINAL = 1u, /*< it's an original image */ + IMAGE_TYPE_ORIGINAL_XZ = 2u, /*< it's an original image which is zipped */ + IMAGE_TYPE_DIFF = 3u, /*< it's a diff image */ + IMAGE_TYPE_DIFF_XZ = 4u, /*< it's a diff image which is zipped */ + IMAGE_TYPE_PLACE = 0x12345678, /*< make different IDEs compatible */ +} image_type_t; + +typedef struct { + uint8_t ver_major; /*< major version number */ + uint8_t ver_minor; /*< minor version number */ +} image_ver_t; + +typedef struct { + image_type_t image_type; /*< what's the image type */ + image_ver_t ver; /*< image version number */ + image_ver_t ver_diff_depend; /*< which version of the file that diff image depend on */ + uint32_t img_size_orig; /*< size of original image */ + uint32_t img_size_orig_xz; /*< size of original image which is zipped */ + uint32_t img_size_diff; /*< size of diff image */ + uint32_t img_size_diff_xz; /*< size of diff image which is zippede */ + uint32_t img_crc32_orig; /*< checksum of original image */ + uint32_t img_crc32_orig_xz; /*< checksum of original image which is zipped */ + uint32_t img_crc32_diff; /*< checksum of diff image */ + uint32_t img_crc32_diff_xz; /*< checksum of diff image which is zippede */ + uint8_t res[212]; /*< reserved space */ + uint32_t header_crc32; /*< checksum of the image header except for itself */ +} image_hdr_t; + +typedef enum { + UPG_STATE_DOWNLOAD_ING = 0u, /*< ota image downloading */ + UPG_STATE_DOWNLOAD_OK = 1u, /*< ota image download finish and check success */ + UPG_STATE_RESTORE_ING = 2u, /*< ota image restoring */ + UPG_STATE_RESTORE_OK = 3u, /*< ota image restore finish and check success */ + UPG_STATE_RESTORE_FILED = 4u, /*< ota image restore filed */ + UPG_STATE_PLACE = 0x12345678, /*< make different IDEs compatible */ +} upg_state_t; + +#define KV_OTA_UPG_STATE "kv_ota_upg_state" + + +#endif /*< __OTA_TYPES_H__ */ + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.c b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.c new file mode 100644 index 00000000..a6e2426e --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.c @@ -0,0 +1,593 @@ + +#include "xz_decompress.h" +#include +#include +#include + +#define XZ_BASE_SIZE 1846 +#define XZ_LIT_SIZE 768 + +#define kNumTopBits 24 +#define kTopValue ((uint32_t)1 << kNumTopBits) +#define kNumBitModelTotalBits 11 +#define kBitModelTotal (1 << kNumBitModelTotalBits) +#define kNumMoveBits 5 + +typedef struct +{ + uint8_t* Buffer; + uint8_t* BufferLim; + uint32_t Range; + uint32_t Code; + read_cb_t* InCallback; + int read_cb_ret; + int ExtraBytes; +} CRangeDecoder; + +typedef struct +{ + CRangeDecoder RangeDecoder; + uint8_t* Dictionary; + uint32_t DictionarySize; + uint32_t DictionaryPos; + uint32_t GlobalPos; + uint32_t Reps[4]; + int lc; + int lp; + int pb; + int State; + int PreviousIsMatch; + int RemainLen; +} XzVarState; + +uint8_t RangeDecoderReadByte(CRangeDecoder* rd) +{ + uint32_t size = 0; + if (rd->Buffer == rd->BufferLim) + { + rd->read_cb_ret = rd->InCallback->Read(&rd->Buffer, &size); + rd->BufferLim = rd->Buffer + size; + if (size == 0) { + rd->ExtraBytes = 1; + return 0xFF; + } + } + return (*rd->Buffer++); +} + +#define ReadByte (RangeDecoderReadByte(rd)) + +void RangeDecoderInit(CRangeDecoder* rd, read_cb_t* in_cb) +{ + rd->InCallback = in_cb; + rd->Buffer = rd->BufferLim = 0; + rd->ExtraBytes = 0; + rd->Code = 0; + rd->Range = (0xFFFFFFFF); + for (int i = 0; i < 5; i++) { + rd->Code = (rd->Code << 8) | ReadByte; + } +} + +uint32_t RangeDecoderDecodeDirectBits(CRangeDecoder* rd, int numTotalBits) +{ + uint32_t range = rd->Range; + uint32_t code = rd->Code; + uint32_t result = 0; + + for (int i = numTotalBits; i > 0; i--) + { + range >>= 1; + result <<= 1; + + if (code >= range) { + code -= range; + result |= 1; + } + + /* uint32_t t; */ + /* + t = (code - range) >> 31; + t &= 1; + code -= range & (t - 1); + result = (result + result) | (1 - t); + */ + + if (range < kTopValue) { + range <<= 8; + code = (code << 8) | ReadByte; + } + } + + rd->Range = range; + rd->Code = code; + return result; +} + +int RangeDecoderBitDecode(prob_t* prob, CRangeDecoder* rd) +{ + uint32_t bound = (rd->Range >> kNumBitModelTotalBits)* (*prob); + if (rd->Code < bound) + { + rd->Range = bound; + *prob += (kBitModelTotal - *prob) >> kNumMoveBits; + if (rd->Range < kTopValue) + { + rd->Code = (rd->Code << 8) | ReadByte; + rd->Range <<= 8; + } + return 0; + } + else + { + rd->Range -= bound; + rd->Code -= bound; + *prob -= (*prob) >> kNumMoveBits; + if (rd->Range < kTopValue) + { + rd->Code = (rd->Code << 8) | ReadByte; + rd->Range <<= 8; + } + return 1; + } +} + +int RangeDecoderBitTreeDecode(prob_t* probs, int numLevels, CRangeDecoder* rd) +{ + int mi = 1; + for (int i = numLevels; i > 0; i--) { + mi = (mi + mi) + RangeDecoderBitDecode(probs + mi, rd); + } + return mi - (1 << numLevels); +} + +int RangeDecoderReverseBitTreeDecode(prob_t* probs, int numLevels, CRangeDecoder* rd) +{ + int mi = 1; + int symbol = 0; + for (int i = 0; i < numLevels; i++) + { + int bit = RangeDecoderBitDecode(probs + mi, rd); + mi = mi + mi + bit; + symbol |= (bit << i); + } + return symbol; +} + +static uint8_t xz_literal_decode(prob_t* probs, CRangeDecoder* rd) +{ + int symbol = 1; + do + { + symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd); + } while (symbol < 0x100); + + return symbol; +} + +static uint8_t xz_literal_decode_match(prob_t* probs, CRangeDecoder* rd, uint8_t matchByte) +{ + int symbol = 1; + int bit = 0, matchBit = 0; + do + { + matchBit = (matchByte >> 7) & 1; + matchByte <<= 1; + bit = RangeDecoderBitDecode(probs + ((1 + matchBit) << 8) + symbol, rd); + symbol = (symbol << 1) | bit; + + if (matchBit != bit) + { + while (symbol < 0x100) { + symbol = (symbol + symbol) | RangeDecoderBitDecode(probs + symbol, rd); + } + break; + } + } while (symbol < 0x100); + + return symbol; +} + +#define kNumPosBitsMax 4 +#define kNumPosStatesMax (1 << kNumPosBitsMax) +#define kLenNumLowBits 3 +#define kLenNumLowSymbols (1 << kLenNumLowBits) +#define kLenNumMidBits 3 +#define kLenNumMidSymbols (1 << kLenNumMidBits) +#define kLenNumHighBits 8 +#define kLenNumHighSymbols (1 << kLenNumHighBits) + +#define LenChoice 0 +#define LenChoice2 (LenChoice + 1) +#define LenLow (LenChoice2 + 1) +#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) +#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) +#define kNumLenProbs (LenHigh + kLenNumHighSymbols) + +static int xz_len_decode(prob_t* p, CRangeDecoder* rd, int posState) +{ + if (RangeDecoderBitDecode(p + LenChoice, rd) == 0) + return RangeDecoderBitTreeDecode(p + LenLow + (posState << kLenNumLowBits), kLenNumLowBits, rd); + if (RangeDecoderBitDecode(p + LenChoice2, rd) == 0) + return (kLenNumLowSymbols + RangeDecoderBitTreeDecode(p + LenMid + (posState << kLenNumMidBits), kLenNumMidBits, rd)); + + return (kLenNumLowSymbols + kLenNumMidSymbols + RangeDecoderBitTreeDecode(p + LenHigh, kLenNumHighBits, rd)); +} + +#define kNumStates 12 +#define kStartPosModelIndex 4 +#define kEndPosModelIndex 14 +#define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) + +#define kNumPosSlotBits 6 +#define kNumLenToPosStates 4 +#define kNumAlignBits 4 +#define kAlignTableSize (1 << kNumAlignBits) +#define kMatchMinLen 2 + +#define IsMatch 0 +#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) +#define IsRepG0 (IsRep + kNumStates) +#define IsRepG1 (IsRepG0 + kNumStates) +#define IsRepG2 (IsRepG1 + kNumStates) +#define IsRep0Long (IsRepG2 + kNumStates) +#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) +#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) +#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) +#define LenCoder (Align + kAlignTableSize) +#define RepLenCoder (LenCoder + kNumLenProbs) +#define Literal (RepLenCoder + kNumLenProbs) + +#if Literal != XZ_BASE_SIZE + #error +#endif + + +static int xz_decode(uint8_t* buf, uint8_t* out_stream, uint32_t out_size, uint32_t* out_size_processed) +{ + XzVarState* vs = (XzVarState*)buf; + prob_t* p = (prob_t*)(buf + sizeof(XzVarState)); + CRangeDecoder rd = vs->RangeDecoder; + int state = vs->State; + int previousIsMatch = vs->PreviousIsMatch; + uint32_t rep0 = vs->Reps[0], rep1 = vs->Reps[1], rep2 = vs->Reps[2], rep3 = vs->Reps[3]; + uint32_t nowPos = 0, pos = 0; + uint8_t previousByte = 0; + + uint32_t posStateMask = (1 << (vs->pb)) - 1; + uint32_t literalPosMask = (1 << (vs->lp)) - 1; + int lc = vs->lc; + int remain_len = vs->RemainLen; + uint32_t globalPos = vs->GlobalPos; + + uint8_t* dict = vs->Dictionary; + uint32_t dict_size = vs->DictionarySize; + uint32_t dictionaryPos = vs->DictionaryPos; + + if (remain_len == -1) { + *out_size_processed = 0; + return XZ_RET_OK; + } + + while ((remain_len > 0) && (nowPos < out_size)) + { + pos = dictionaryPos - rep0; + if (pos >= dict_size) + pos += dict_size; + + out_stream[nowPos++] = dict[dictionaryPos] = dict[pos]; + + if (++dictionaryPos == dict_size) + dictionaryPos = 0; + + remain_len--; + } + + if (dictionaryPos == 0) + previousByte = dict[dict_size - 1]; + else + previousByte = dict[dictionaryPos - 1]; + + *out_size_processed = 0; + while (nowPos < out_size) + { + int posState = (int)((nowPos + globalPos) & posStateMask); + + if (rd.read_cb_ret != XZ_RET_OK) + return rd.read_cb_ret; + + if (rd.ExtraBytes != 0) + return XZ_RET_DATA_ERR; + + if (RangeDecoderBitDecode(p + IsMatch + (state << kNumPosBitsMax) + posState, &rd) == 0) + { + prob_t* probs = p + Literal + (XZ_LIT_SIZE * ((((nowPos + globalPos) & literalPosMask) << lc) + (previousByte >> (8 - lc)))); + + if (state < 4) { + state = 0; + } + else if (state < 10) { + state -= 3; + } + else { + state -= 6; + } + + if (previousIsMatch) + { + pos = dictionaryPos - rep0; + if (pos >= dict_size) + pos += dict_size; + + uint8_t matchByte = dict[pos]; + previousByte = xz_literal_decode_match(probs, &rd, matchByte); + previousIsMatch = 0; + } + else { + previousByte = xz_literal_decode(probs, &rd); + } + + out_stream[nowPos++] = previousByte; + + dict[dictionaryPos] = previousByte; + + if (++dictionaryPos == dict_size) + dictionaryPos = 0; + } + else + { + previousIsMatch = 1; + if (RangeDecoderBitDecode(p + IsRep + state, &rd) == 1) + { + if (RangeDecoderBitDecode(p + IsRepG0 + state, &rd) == 0) + { + if (RangeDecoderBitDecode(p + IsRep0Long + (state << kNumPosBitsMax) + posState, &rd) == 0) + { + if ((nowPos + globalPos) == 0) + return XZ_RET_DATA_ERR; + + state = state < 7 ? 9 : 11; + + pos = dictionaryPos - rep0; + if (pos >= dict_size) + pos += dict_size; + + previousByte = dict[pos]; + dict[dictionaryPos] = previousByte; + + if (++dictionaryPos == dict_size) + dictionaryPos = 0; + + out_stream[nowPos++] = previousByte; + continue; + } + } + else + { + uint32_t distance; + if (RangeDecoderBitDecode(p + IsRepG1 + state, &rd) == 0) + distance = rep1; + else + { + if (RangeDecoderBitDecode(p + IsRepG2 + state, &rd) == 0) + distance = rep2; + else + { + distance = rep3; + rep3 = rep2; + } + + rep2 = rep1; + } + rep1 = rep0; + rep0 = distance; + } + remain_len = xz_len_decode(p + RepLenCoder, &rd, posState); + state = state < 7 ? 8 : 11; + } + else + { + int posSlot; + rep3 = rep2; + rep2 = rep1; + rep1 = rep0; + state = (state < 7) ? 7 : 10; + remain_len = xz_len_decode(p + LenCoder, &rd, posState); + + posSlot = RangeDecoderBitTreeDecode(p + PosSlot + \ + ((remain_len < kNumLenToPosStates ? remain_len : kNumLenToPosStates - 1) << kNumPosSlotBits), kNumPosSlotBits, &rd); + + if (posSlot >= kStartPosModelIndex) + { + int numDirectBits = ((posSlot >> 1) - 1); + rep0 = ((2 | ((uint32_t)posSlot & 1)) << numDirectBits); + + if (posSlot < kEndPosModelIndex) { + rep0 += RangeDecoderReverseBitTreeDecode((p + SpecPos + rep0 - posSlot - 1), numDirectBits, &rd); + } + else { + rep0 += RangeDecoderDecodeDirectBits(&rd, numDirectBits - kNumAlignBits) << kNumAlignBits; + rep0 += RangeDecoderReverseBitTreeDecode(p + Align, kNumAlignBits, &rd); + } + } + else { + rep0 = posSlot; + } + + rep0++; + } + + if (rep0 == (uint32_t)(0)) { + remain_len = -1;/* it's for stream version */ + break; + } + + if (rep0 > nowPos + globalPos) { + return XZ_RET_DATA_ERR; + } + + remain_len += kMatchMinLen; + + do + { + pos = dictionaryPos - rep0; + if (pos >= dict_size) { + pos += dict_size; + } + + previousByte = dict[pos]; + dict[dictionaryPos] = previousByte; + + if (++dictionaryPos == dict_size) { + dictionaryPos = 0; + } + + out_stream[nowPos++] = previousByte; + remain_len--; + } while ((remain_len > 0) && (nowPos < out_size)); + } + } + + vs->RangeDecoder = rd; + vs->DictionaryPos = dictionaryPos; + vs->GlobalPos = globalPos + nowPos; + vs->Reps[0] = rep0; + vs->Reps[1] = rep1; + vs->Reps[2] = rep2; + vs->Reps[3] = rep3; + vs->State = state; + vs->PreviousIsMatch = previousIsMatch; + vs->RemainLen = remain_len; + + *out_size_processed = nowPos; + return XZ_RET_OK; +} + +char XZINTERNALDATA_MEMORY_ADDR[INTERNAL_DATA_BUF_SIZE] = { 0 }; +char DICTIONARY_MEMORY_ADDR[DICT_BUF_SIZE] = { 0 }; +char BLOCK_MEMORY_ADDR[BLOCK_BUF_SIZE] = { 0 }; + +int xz_decompress_buf_to_buf(uint8_t* header, write_cb_t* out_cb, read_cb_t* in_cb) +{ + uint32_t nowPos = 0, out_size = 0, out_size_processed = 0; + uint8_t properties[5]; + uint8_t prop0; + int lc, lp, pb; + uint8_t b = 0; + int ret = 0; + + uint8_t* dict = NULL; + uint32_t dict_size = 0; + uint8_t* xzInternalData = NULL; + uint32_t xzInternalSize = 0; + + memcpy(properties, header, sizeof(properties)); + header += sizeof(properties); + + for (int i = 0; i < 4; i++) + { + b = *(uint8_t*)header; + header += sizeof(b); + out_size += (uint32_t)(b) << (i * 8); + } + + if (out_size == 0xFFFFFFFF) { + return XZ_RET_STREAM_VER_NOT_SUPP; + } + + for (int i = 0; i < 4; i++) + { + b = *(uint8_t*)header; + header += sizeof(b); + if (b != 0) { + return XZ_RET_FILE_TOO_LONG; + } + } + + prop0 = properties[0]; + if (prop0 >= (9 * 5 * 5)) { + return XZ_RET_PROPERTIES_ERR; + } + + for (pb = 0; prop0 >= (9 * 5); pb++, prop0 -= (9 * 5)); + for (lp = 0; prop0 >= 9; lp++, prop0 -= 9); + lc = prop0; + + for (int i = 0; i < 4; i++) { + dict_size += (uint32_t)(properties[1 + i]) << (i * 8); + } + + //os_malloc(dict_size); + dict = (void*)DICTIONARY_MEMORY_ADDR; + if (dict == NULL) { + return XZ_RET_MEM_ALLOC_FILED; + } + if (dict_size > sizeof(DICTIONARY_MEMORY_ADDR)) { + return XZ_RET_NOT_ENOUGH_MEM; + } + memset(dict, 0, sizeof(DICTIONARY_MEMORY_ADDR)); + + //os_malloc(xzInternalSize); + xzInternalData = (void*)XZINTERNALDATA_MEMORY_ADDR; + if (xzInternalData == NULL) { + return XZ_RET_MEM_ALLOC_FILED; + } + xzInternalSize = (XZ_BASE_SIZE + (XZ_LIT_SIZE << (lc + lp))) * sizeof(prob_t); + xzInternalSize += sizeof(XzVarState); + if (xzInternalSize >= sizeof(XZINTERNALDATA_MEMORY_ADDR)) { + return XZ_RET_NOT_ENOUGH_MEM; + } + memset(xzInternalData, 0, sizeof(XZINTERNALDATA_MEMORY_ADDR)); + + //init param + { + XzVarState * vs = (XzVarState*)xzInternalData; + prob_t * p = (prob_t*)(xzInternalData + sizeof(XzVarState)); + uint32_t numProbs = Literal + ((uint32_t)XZ_LIT_SIZE << (lc + lp)); + + vs->Dictionary = dict; + vs->DictionarySize = dict_size; + vs->DictionaryPos = 0; + vs->GlobalPos = 0; + vs->Reps[0] = vs->Reps[1] = vs->Reps[2] = vs->Reps[3] = 1; + vs->lc = lc; + vs->lp = lp; + vs->pb = pb; + vs->State = 0; + vs->PreviousIsMatch = 0; + vs->RemainLen = 0; + + for (uint32_t i = 0; i < numProbs; i++) { + p[i] = kBitModelTotal >> 1; + } + RangeDecoderInit(&vs->RangeDecoder, in_cb); + } + + //decode + for (nowPos = 0; nowPos < out_size;) + { + uint8_t* dest = (uint8_t*)BLOCK_MEMORY_ADDR; + uint32_t blockSize = out_size - nowPos; + if (blockSize > sizeof(BLOCK_MEMORY_ADDR)) { + blockSize = sizeof(BLOCK_MEMORY_ADDR); + } + + if (XZ_RET_OK != (ret = xz_decode((uint8_t*)xzInternalData, ((uint8_t*)dest), blockSize, &out_size_processed))) { + return ret; + } + if (out_size_processed == 0) { + out_size = nowPos; + break; + } + out_cb->Write(nowPos, dest, out_size_processed); + + nowPos += out_size_processed; + } + + return 0; +} + + + + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.h b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.h new file mode 100644 index 00000000..641cbcba --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fota/ota_agent/xz_decompress.h @@ -0,0 +1,43 @@ + +#ifndef __XZ_DECOMPRESS_H__ +#define __XZ_DECOMPRESS_H__ + +#include "stdint.h" + +#define prob_t uint16_t //uint32_t + +#define INTERNAL_DATA_BUF_SIZE (16*1024) +#define DICT_BUF_SIZE (4*1024) +#define BLOCK_BUF_SIZE (1*1024) + +typedef enum { + XZ_RET_OK = 0, + XZ_RET_DATA_ERR = -1, + XZ_RET_NOT_ENOUGH_MEM = -2, + XZ_RET_STREAM_VER_NOT_SUPP = -3, + XZ_RET_FILE_TOO_LONG = -4, + XZ_RET_PROPERTIES_ERR = -5, + XZ_RET_MEM_ALLOC_FILED = -6, +}xz_errno_t; + + +typedef struct +{ + int(*Read)(uint8_t** buf, uint32_t* buf_len); +} read_cb_t; + +typedef struct +{ + int(*Write)(uint32_t offset, uint8_t* buf, uint32_t buf_len); +} write_cb_t; + +typedef struct +{ + uint8_t header[13]; +} xz_header_t; + + +int xz_decompress_buf_to_buf(uint8_t* header, write_cb_t* out_cb, read_cb_t* in_cb); + +#endif /* __XZ_DECOMPRESS_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.c b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.c new file mode 100644 index 00000000..d0647066 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.c @@ -0,0 +1,1110 @@ +#include "ln_kv.h" +#include "string.h" +#include "ln_kv_api.h" + +static kv_ctl_t kv_ctl; +static kv_err_t kv_gc(void); + +static uint8_t kv_checksum_crc8(uint8_t *buf, int nbyte) +{ + int i; + uint8_t crc = 0; + +#define POLY 0x31 +#define WIDTH 8 +#define TOP_BIT 0x80 + + while (nbyte--) { + crc ^= *buf++; + for (i = 0; i < WIDTH; ++i) { + if (crc & TOP_BIT) { + crc = (crc << 1) ^ POLY; + } else { + crc <<= 1; + } + } + crc &= 0xFF; + } + + return crc; +} + +__STATIC_INLINE__ void kv_lock(void) +{ +#ifndef KV_CONFIG_OS_NONE + if (ln_kv_is_os_running()) { + ln_kv_mutex_lock(KV_MGR_LOCK); + } +#endif +} + +__STATIC_INLINE__ void kv_unlock(void) +{ +#ifndef KV_CONFIG_OS_NONE + if (ln_kv_is_os_running()) { + ln_kv_mutex_unlock(KV_MGR_LOCK); + } +#endif +} + +static kv_err_t kv_flash_read(uint32_t addr, void *buf, size_t buf_size) +{ + if (KV_FLASH_READ(addr, buf, buf_size) < 0) { + return KV_ERR_FLASH_READ_FAILED; + } + return KV_ERR_NONE; +} + +static kv_err_t kv_flash_write(uint32_t addr, void *buf, size_t buf_size) +{ + if (KV_FLASH_WRITE(addr, buf, buf_size) < 0) { + return KV_ERR_FLASH_WRITE_FAILED; + } + return KV_ERR_NONE; +} + +static kv_err_t kv_flash_erase(uint32_t start, size_t len) +{ + if (KV_FLASH_ERASE(start, len) < 0) { + return KV_ERR_FLASH_ERASE_FAILED; + } + return KV_ERR_NONE; +} + +static kv_err_t kv_flash_wunit_modify(uint32_t addr, kv_wunit_t data) +{ + return kv_flash_write(addr, &data, sizeof(kv_wunit_t)); +} + +static kv_err_t kv_flash_blk_erase(uint32_t blk_start) +{ + return kv_flash_erase(blk_start, KV_BLK_SIZE); +} + +static void kv_flash_ctl_init(uint32_t flash_start, uint32_t flash_end, kv_flash_drv_t *flash_drv, kv_flash_prop_t *flash_prop) +{ + memcpy(&kv_ctl.flash_ctl.flash_drv, flash_drv, sizeof(kv_flash_drv_t)); + + KV_FLASH_START = flash_start; + KV_FLASH_END = flash_end; + KV_FLASH_SECTOR_SIZE_LOG2 = flash_prop->sector_size_log2; + + KV_FLASH_WRITE_ALIGN = sizeof(kv_byte_t); +} + +static kv_err_t kv_blk_hdr_read(uint32_t blk_start, kv_blk_hdr_t *blk_hdr) +{ + return kv_flash_read(blk_start, blk_hdr, sizeof(kv_blk_hdr_t)); +} + +static kv_err_t kv_blk_format(uint32_t blk_start) +{ + if (kv_flash_blk_erase(blk_start) != KV_ERR_NONE) { + return KV_ERR_FLASH_ERASE_FAILED; + } + + if (kv_flash_wunit_modify(KV_ADDR_OF_FIELD(blk_start, kv_blk_hdr_t, magic), + KV_BLK_HDR_MAGIC) != KV_ERR_NONE) { + return KV_ERR_FLASH_WRITE_FAILED; + } + + kv_blk_set_fresh(blk_start); + + return KV_ERR_NONE; +} + +static uint32_t kv_blk_next_fresh(void) +{ + uint32_t cur_blk; + + KV_BLK_FOR_EACH_FROM(cur_blk, KV_MGR_WORKSPACE) { + if (kv_blk_is_fresh(cur_blk)) { + return cur_blk; + } + } + + return KV_BLK_INVALID; +} + +static uint32_t kv_blk_search_inuse(uint32_t item_size) +{ + uint32_t cur_blk; + + KV_BLK_FOR_EACH_FROM(cur_blk, KV_MGR_WORKSPACE) { + if (kv_blk_is_inuse(cur_blk) && + kv_blk_freesz_get(cur_blk) >= item_size) { + return cur_blk; + } + } + + return KV_BLK_INVALID; +} + +static uint32_t kv_blk_search_suitable(uint32_t item_size) +{ + uint32_t the_blk; + + // no more writeable block, no need to do the next logic + if (KV_NO_WRITEABLE_BLK()) { + return KV_BLK_INVALID; + } + + // no more blocks with sufficient space, searched before + if (KV_MGR_WORKSPACE == KV_BLK_INVALID) { + return KV_BLK_INVALID; + } + + do { + // current workspace is just ok(workspace is kinda cache) + if (kv_blk_freesz_get(KV_MGR_WORKSPACE) >= item_size) { + return KV_MGR_WORKSPACE; + } + + // first we should search in inuse blocks + the_blk = kv_blk_search_inuse(item_size); + if (the_blk != KV_BLK_INVALID) { + KV_MGR_WORKSPACE = the_blk; + return KV_MGR_WORKSPACE; + } + + // no more fresh block, cannot allocate new block and cannot do gc neither. + if (KV_MGR_BLK_NUM_FRESH < 1) { + return KV_BLK_INVALID; + } + + // if we have more than one fresh block, just give it out + if (KV_MGR_BLK_NUM_FRESH > 1) { + KV_MGR_WORKSPACE = kv_blk_next_fresh(); + return KV_MGR_WORKSPACE; + } + + // no more block inuse has sufficient space, and only one fresh block left, we should try gc + if (KV_MGR_BLK_NUM_FRESH == 1) { + if (kv_gc() != KV_ERR_NONE) { + // no more dirty block to gc, we give out the last precious fresh block(no more gc any more) + KV_MGR_WORKSPACE = kv_blk_next_fresh(); + return KV_MGR_WORKSPACE; + } + } + } while (LN_TRUE); +} + +static kv_err_t kv_item_hdr_write(uint32_t item_start, kv_item_hdr_t *item_hdr) +{ + if (kv_flash_write(KV_ADDR_OF_FIELD(item_start, kv_item_hdr_t, checksum), + &item_hdr->checksum, + KV_ITEM_HDR_SIZE - sizeof(kv_wunit_t) * 2) != KV_ERR_NONE) { + return KV_ERR_FLASH_WRITE_FAILED; + } + + return kv_flash_wunit_modify(KV_ADDR_OF_FIELD(item_start, kv_item_hdr_t, magic), + item_hdr->magic); +} + +static kv_err_t kv_item_write(uint32_t item_start, kv_item_hdr_t *item_hdr, const uint8_t *item_body, uint32_t item_body_len) +{ + // write header, if a power down happen here, we can know it by header magic verify. + if (kv_item_hdr_write(item_start, item_hdr) != KV_ERR_NONE) { + return KV_ERR_FLASH_WRITE_FAILED; + } + + // if a power down happen here, we can know it by checksum verify. + + // write body(key & value) + return kv_flash_write(item_start + KV_ITEM_HDR_SIZE, (void *)item_body, item_body_len); +} + +static kv_err_t kv_item_hdr_read(uint32_t item_start, kv_item_hdr_t *item_hdr) +{ + return kv_flash_read(item_start, item_hdr, sizeof(kv_item_hdr_t)); +} + +static kv_err_t kv_item_body_read(kv_item_t *item) +{ + uint8_t *kv_buf = NULL; + + kv_buf = (uint8_t *)ln_kv_malloc(KV_ITEM_SIZE_OF_BODY(item)); + if (!kv_buf) { + return KV_ERR_OUT_OF_MEMORY; + } + + if (kv_flash_read(KV_ITEM_ADDR_OF_BODY(item), kv_buf, + KV_ITEM_SIZE_OF_BODY(item)) != KV_ERR_NONE) { + ln_kv_free(kv_buf); + return KV_ERR_FLASH_READ_FAILED; + } + + item->body = kv_buf; + + return KV_ERR_NONE; +} + +static kv_err_t kv_item_do_delete(uint32_t item_start) +{ + // set the discarded_flag on the flash + return kv_flash_wunit_modify(KV_ADDR_OF_FIELD(item_start, kv_item_hdr_t, discarded_flag), KV_ITEM_DISCARDED); +} + +static kv_err_t kv_item_delete_aux(uint32_t item_start) +{ + if (kv_item_do_delete(item_start) != KV_ERR_NONE) { + return KV_ERR_FLASH_WRITE_FAILED; + } + + kv_blk_set_dirty(KV_ITEM_ADDR2BLK(item_start)); + + return KV_ERR_NONE; +} + +static kv_err_t kv_item_delete(kv_item_t *item) +{ + return kv_item_delete_aux(item->pos); +} + +static kv_err_t kv_item_try_delete(kv_item_t *item) +{ + uint8_t *prev_key; + uint32_t prev_pos; + uint8_t prev_k_len, k_len; + kv_item_hdr_t prev_item_hdr; + + prev_pos = item->hdr.prev_pos; + + if (kv_item_hdr_read(prev_pos, &prev_item_hdr) != KV_ERR_NONE) { + return KV_ERR_FLASH_READ_FAILED; + } + + if (!KV_ITEM_IS_LEGAL(&prev_item_hdr) || + KV_ITEM_IS_DISCARDED(&prev_item_hdr)) { + /* situation 1 in kv_item_update, the prev_pos is in a fresh block now(for gc sake), + no need to delete the previous one. + */ + return KV_ERR_NONE; + } + + // test if situation 2 in kv_item_update happened + + k_len = item->hdr.k_len; + prev_k_len = prev_item_hdr.k_len; + + if (k_len != prev_k_len) { + return KV_ERR_NONE; + } + + prev_key = (uint8_t *)ln_kv_malloc(k_len); + if (!prev_key) { + return KV_ERR_OUT_OF_MEMORY; + } + + if (kv_flash_read(prev_pos + KV_ITEM_HDR_SIZE, prev_key, k_len) != KV_ERR_NONE) { + ln_kv_free(prev_key); + return KV_ERR_FLASH_READ_FAILED; + } + + // key changes, means another turn of gc happened, the previous block is filled with new item. + if (memcmp(prev_key, (void *)KV_ITEM_ADDR_OF_BODY(item), k_len) != 0) { + ln_kv_free(prev_key); + return KV_ERR_NONE; + } + + // the previous item is still there, delete it. + return kv_item_delete_aux(prev_pos); +} + +__STATIC_INLINE__ void kv_item_free(kv_item_t *item) +{ + if (item->body) { + ln_kv_free(item->body); + } + ln_kv_free(item); +} + +static int kv_item_hdr_verify(kv_item_hdr_t *item_hdr, uint32_t item_start, uint32_t blk_start) +{ + uint8_t k_len; + uint16_t v_len; + + k_len = item_hdr->k_len; + v_len = item_hdr->v_len; + + // 1. test key/value size + if (k_len == 0 || \ + v_len == 0 || \ + k_len == (uint8_t)-1 || \ + v_len == (uint16_t)-1) { + return LN_FALSE; + } + + // 2. test the flash address range + if (item_start + KV_ITEM_SIZE(k_len, v_len) > KV_BLK_END(blk_start)) { + return LN_FALSE; + } + + if (item_start + KV_ITEM_SIZE(k_len, v_len) > KV_FLASH_END) { + return LN_FALSE; + } + + return LN_TRUE; +} + +__STATIC_INLINE__ int kv_item_body_verify(kv_item_t *item) +{ + return item->hdr.checksum == kv_checksum_crc8(item->body, item->hdr.k_len + item->hdr.v_len); +} + +__STATIC_INLINE__ int kv_item_is_updated_one(kv_item_t *item) +{ + return item->hdr.prev_pos != 0 && item->pos != item->hdr.prev_pos; +} + +static int kv_item_is_moved(kv_item_t *item) +{ + kv_err_t err; + int is_moved = LN_FALSE; + kv_item_hdr_t item_hdr; + uint8_t *body_backup = NULL; + + // drag the header out of the flash + err = kv_item_hdr_read(item->pos, &item_hdr); + if (err != KV_ERR_NONE) { + return LN_FALSE; + } + + // compare the header + if (memcmp(&item_hdr, &item->hdr, sizeof(kv_item_hdr_t)) != 0) { + return LN_TRUE; + } + + // backup the body + body_backup = item->body; + + // drag the body out of the flash + err = kv_item_body_read(item); + if (err != KV_ERR_NONE) { + return LN_FALSE; + } + + // compare the body + if (memcmp(body_backup, item->body, item->hdr.k_len + item->hdr.v_len) != 0) { + is_moved = LN_TRUE; + } + + ln_kv_free(item->body); + item->body = body_backup; + + return is_moved; +} + +static kv_err_t kv_item_do_gc(kv_item_t *item, const void *dummy) +{ + kv_err_t err; + + err = kv_item_body_read(item); + if (err != KV_ERR_NONE) { + return err; + } + + if (kv_item_write(KV_BLK_USABLE_ADDR(KV_MGR_WORKSPACE), + &item->hdr, item->body, + KV_ITEM_SIZE_OF_BODY(item)) != KV_ERR_NONE) { + return KV_ERR_FLASH_WRITE_FAILED; + } + + // reduce the free_size + kv_blk_freesz_reduce(KV_MGR_WORKSPACE, KV_ITEM_SIZE_OF_ITEM(item)); + + return KV_ERR_NEXT_LOOP; +} + +static kv_err_t kv_item_do_fetch_new_copy(kv_item_t *item, const void *the_item) +{ + kv_err_t err; + kv_item_t *dst_item; + uint8_t k_len, dst_k_len; + uint16_t v_len, dst_v_len; + + dst_item = (kv_item_t *)the_item; + dst_k_len = dst_item->hdr.k_len; + dst_v_len = dst_item->hdr.v_len; + + k_len = item->hdr.k_len; + v_len = item->hdr.v_len; + + if (k_len != dst_k_len || + v_len != dst_v_len) { + return KV_ERR_NEXT_LOOP; + } + + err = kv_item_body_read(item); + if (err != KV_ERR_NONE) { + return err; + } + + if (memcmp(item->body, dst_item->body, k_len + v_len) == 0) { + return KV_ERR_NONE; + } + + return KV_ERR_NEXT_LOOP; +} + +static kv_err_t kv_item_do_fetch(kv_item_t *item, const void *key) +{ + kv_err_t err; + uint8_t k_len; + + k_len = item->hdr.k_len; + + if (strlen((const char *)key) != k_len) { + return KV_ERR_NEXT_LOOP; + } + + err = kv_item_body_read(item); + if (err != KV_ERR_NONE) { + return err; + } + + if (memcmp(item->body, key, k_len) == 0) { + return KV_ERR_NONE; + } + + return KV_ERR_NEXT_LOOP; +} + +static kv_err_t kv_item_do_recovery(kv_item_t *item, const void *dummy) +{ + kv_err_t err; + + err = kv_item_body_read(item); + if (err != KV_ERR_NONE) { + return err; + } + + if (!kv_item_body_verify(item)) { + err = kv_item_delete(item); + } else if (kv_item_is_updated_one(item)) { + err = kv_item_try_delete(item); + } + + if (err != KV_ERR_NONE) { + return err; + } + + return KV_ERR_NEXT_LOOP; +} + +static kv_err_t kv_item_walkthru(uint32_t blk_start,kv_item_walker_t walker, + const void *patten, + kv_item_t **item_out) +{ + kv_err_t err; + uint32_t cur_item; + kv_item_t *item; + kv_item_hdr_t *item_hdr; + int is_item_integral = LN_TRUE; + + if (item_out) { + *item_out = NULL; + } + + cur_item = KV_BLK_FIRST_ITEM(blk_start); + + do { + is_item_integral = LN_TRUE; + + item = (kv_item_t *)ln_kv_malloc(sizeof(kv_item_t)); + if (!item) { + return KV_ERR_OUT_OF_MEMORY; + } + + item->body = NULL; + item_hdr = &item->hdr; + + // drag the item header out of the flash to see whether is a legal item + err = kv_item_hdr_read(cur_item, item_hdr); + if (err != KV_ERR_NONE) { + kv_item_free(item); + return err; + } + + if (!KV_ITEM_IS_LEGAL(item_hdr)) { + if (KV_ITEM_IS_FRESH(item_hdr)) { + // situation 1, it's a fresh item slot, meet the ending + kv_item_free(item); + break; + } + + // situation 2, meet power down, probably broken, just mark the item as discarded + is_item_integral = LN_FALSE; + } + + if (!is_item_integral || + !kv_item_hdr_verify(item_hdr, cur_item, blk_start)) { + // it's no integral item, or header verify illegal + if (kv_item_do_delete(cur_item) == KV_ERR_NONE) { + kv_blk_set_dirty(blk_start); + } + + cur_item += KV_ITEM_HDR_SIZE; + kv_item_free(item); + + continue; + } + + if (!KV_ITEM_IS_DISCARDED(item_hdr)) { + // tell the item where he is, he does not know yet. + item->pos = cur_item; + + err = walker(item, patten); + if (err == KV_ERR_NONE) { + if (item_out) { + *item_out = item; + } + return KV_ERR_NONE; + } else if (err != KV_ERR_NEXT_LOOP) { + kv_item_free(item); + return err; + } + } else { + // it's a discarded item, deleted before + kv_blk_set_dirty(blk_start); + } + + cur_item += KV_ITEM_SIZE(item_hdr->k_len, item_hdr->v_len); + kv_item_free(item); + } while (cur_item + KV_ITEM_HDR_SIZE < KV_BLK_END(blk_start)); + + // have walked through all the items, get enough information to refresh the index(blk_info). + if (cur_item == KV_BLK_FIRST_ITEM(blk_start)) { + // come from fresh block break + kv_blk_set_fresh(blk_start); + } else if (cur_item + KV_ITEM_HDR_SIZE < KV_BLK_END(blk_start)) { + // come from while ending + kv_blk_freesz_set(blk_start, KV_BLK_END(blk_start) - cur_item); + kv_blk_set_inuse(blk_start); + } else { + // go across the boarder, means the space left is insufficient + kv_blk_freesz_set(blk_start, 0); + kv_blk_reset_inuse(blk_start); + } + + return KV_ERR_NONE; +} + +static kv_item_t *kv_item_do_find(uint32_t blk_start, const char *key) +{ + kv_item_t *the_item; + + if (kv_item_walkthru(blk_start, kv_item_do_fetch, key, &the_item) == KV_ERR_NONE) { + return the_item; + } + + return NULL; +} + +static kv_item_t *kv_item_find(const char *key) +{ + uint32_t cur_blk; + kv_item_t *item; + + KV_BLK_FOR_EACH(cur_blk) { + if (kv_blk_is_bad(cur_blk) || + kv_blk_is_fresh(cur_blk)) { + continue; + } + + item = kv_item_do_find(cur_blk, key); + if (item) { + return item; + } + } + return NULL; +} + +static kv_item_t *kv_item_do_find_new_copy(uint32_t blk_start, kv_item_t *item) +{ + kv_item_t *the_item; + + if (kv_item_walkthru(blk_start, kv_item_do_fetch_new_copy, + item, &the_item) == KV_ERR_NONE) { + return the_item; + } + + return NULL; +} + +static kv_item_t *kv_item_find_new_copy(kv_item_t *the_item) +{ + uint32_t cur_blk; + kv_item_t *item; + + KV_BLK_FOR_EACH(cur_blk) { + if (kv_blk_is_bad(cur_blk) || + kv_blk_is_fresh(cur_blk)) { + continue; + } + + item = kv_item_do_find_new_copy(cur_blk, the_item); + if (item) { + return item; + } + } + return NULL; +} + +static kv_err_t kv_item_do_save(uint32_t item_start, const char *k, const void *v, size_t v_len, uint32_t prev_pos) +{ + kv_err_t err; + uint8_t k_len; + uint32_t kv_len; + kv_item_hdr_t item_hdr; + uint8_t *kv_buf = NULL; + + k_len = strlen(k); + kv_len = KV_ITEM_BODY_SIZE(k_len, v_len); + + kv_buf = (uint8_t *)ln_kv_malloc(kv_len); + if (!kv_buf) { + return KV_ERR_OUT_OF_MEMORY; + } + + memset(kv_buf, 0, kv_len); + memcpy(kv_buf, k, k_len); + memcpy(kv_buf + k_len, v, v_len); + + item_hdr.magic = KV_ITEM_HDR_MAGIC; + item_hdr.checksum = kv_checksum_crc8(kv_buf, k_len + v_len); + + item_hdr.k_len = k_len; + item_hdr.v_len = v_len; + item_hdr.prev_pos = prev_pos; + + // we donnot deal with the discarded_flag here + err = kv_item_write(item_start, &item_hdr, kv_buf, kv_len); + + ln_kv_free(kv_buf); + + return err; +} + +static int kv_item_value_is_match(kv_item_t *item, const void *value, size_t value_len) +{ + uint8_t k_len; + uint16_t v_len; + + k_len = item->hdr.k_len; + v_len = item->hdr.v_len; + + if (value_len != v_len) { + return LN_FALSE; + } + + if (memcmp(item->body + k_len, value, v_len) != 0) { + return LN_FALSE; + } + + return LN_TRUE; +} + +static kv_err_t kv_item_fix(kv_item_t *item) +{ + kv_item_t *moved_item; + + moved_item = kv_item_find_new_copy(item); + if (!moved_item) { + return KV_ERR_POS_FIX_FAILED; + } + + item->pos = moved_item->pos; + + kv_item_free(moved_item); + + return KV_ERR_NONE; +} + +static kv_err_t kv_item_save(const char *k, const void *v, size_t v_len, kv_item_t *prev_item) +{ + kv_err_t err; + uint32_t blk_start, k_len, item_size; + + k_len = strlen(k); + item_size = KV_ITEM_SIZE(k_len, v_len); + + blk_start = kv_blk_search_suitable(item_size); + if (blk_start == KV_BLK_INVALID) { + return KV_ERR_INSUFFICIENT_SPACE; + } + + if (prev_item && kv_item_is_moved(prev_item)) { + err = kv_item_fix(prev_item); + if (err != KV_ERR_NONE) { + return err; + } + } + + err = kv_item_do_save(KV_BLK_USABLE_ADDR(blk_start), k, v, v_len, prev_item ? prev_item->pos : 0); + if (err != KV_ERR_NONE) { + return err; + } + + // reduce the free_size + kv_blk_freesz_reduce(blk_start, item_size); + + if (kv_blk_is_fresh(blk_start)) { + kv_blk_reset_fresh(blk_start); + + if (!kv_blk_is_full(blk_start)) { + kv_blk_set_inuse(blk_start); + } + } else if (kv_blk_is_full(blk_start)) { + kv_blk_reset_inuse(blk_start); + } + + return KV_ERR_NONE; +} + +static kv_err_t kv_item_update(kv_item_t *item, const char *key, const void *value, size_t value_len) +{ + kv_err_t err; + + if (kv_item_value_is_match(item, value, value_len)) { + return KV_ERR_NONE; + } + + /* save first, then delete, is trying best to keep data integrality. */ + + err = kv_item_save(key, value, value_len, item); + if (err != KV_ERR_NONE) { + return err; + } + + return kv_item_delete(item); +} + +static kv_err_t kv_param_verify(uint32_t flash_start, uint32_t flash_end, kv_flash_drv_t *flash_drv, kv_flash_prop_t *flash_prop) +{ + if (!flash_drv || !flash_prop) { + return KV_ERR_INVALID_PARAM; + } + + if (!KV_IS_ALINGED_LOG2(flash_start, flash_prop->sector_size_log2)) { + return KV_ERR_INVALID_PARAM; + } + + if (!KV_IS_ALINGED_LOG2(flash_end, flash_prop->sector_size_log2)) { + return KV_ERR_INVALID_PARAM; + } + + return KV_ERR_NONE; +} + +__STATIC_INLINE__ kv_err_t kv_mgr_index_build(uint32_t blk_start) +{ + return kv_item_walkthru(blk_start, kv_item_do_recovery, NULL, NULL); +} + +static int kv_mgr_blk_index_rebuild(void) +{ + uint32_t cur_blk; + int is_rebuild_done = LN_FALSE; + + KV_BLK_FOR_EACH(cur_blk) { + if (kv_blk_is_hanging(cur_blk)) { + if (kv_mgr_index_build(cur_blk) == KV_ERR_NONE) { + kv_blk_reset_hanging(cur_blk); + is_rebuild_done = LN_TRUE; + } + } + } + + return is_rebuild_done; +} + +static kv_err_t kv_mgr_workspace_locate(void) +{ + uint32_t cur_blk; + + /* we give blocks with KV_BLK_FLAG_HANGING a chance to rebuild index */ + if (KV_MGR_BLK_NUM_HANGING > 0) { + kv_mgr_blk_index_rebuild(); + } + + if (KV_NO_WRITEABLE_BLK()) { + return KV_ERR_NO_WRITEABLE_BLK; + } + + KV_BLK_FOR_EACH(cur_blk) { + if (KV_MGR_BLK_NUM_INUSE == 0) { + if (kv_blk_is_fresh(cur_blk)) { + KV_MGR_WORKSPACE = cur_blk; + return KV_ERR_NONE; + } + } else if (kv_blk_is_inuse(cur_blk)) { + KV_MGR_WORKSPACE = cur_blk; + return KV_ERR_NONE; + } + } + + return KV_ERR_NONE; +} + +static void kv_mgr_ctl_build(void) +{ + uint32_t cur_blk; + kv_blk_hdr_t blk_hdr; + + KV_BLK_FOR_EACH(cur_blk) { + if (kv_blk_hdr_read(cur_blk, &blk_hdr) != KV_ERR_NONE) { + // sth must be wrong seriously with this block + kv_blk_set_bad(cur_blk); + continue; + } + + if (!KV_BLK_IS_LEGAL(&blk_hdr)) { + if (kv_blk_format(cur_blk) != KV_ERR_NONE) { + // sth must be wrong seriously with this block + kv_blk_set_bad(cur_blk); + } + // we get a fresh block + continue; + } + + // do index building + if (kv_mgr_index_build(cur_blk) != KV_ERR_NONE) { + // sth goes wrong while index building, we give it a mark + kv_blk_set_hanging(cur_blk); + continue; + } + } +} + +static kv_err_t kv_mgr_ctl_init(void) +{ + kv_blk_detail_t *blk_detail; + + KV_MGR_BLK_NUM_TOTAL = KV_FLASH_SIZE / KV_FLASH_SECTOR_SIZE; + + blk_detail = (kv_blk_detail_t *)ln_kv_malloc(sizeof(kv_blk_detail_t) * KV_MGR_BLK_NUM_TOTAL); + if (!blk_detail) { + return KV_ERR_OUT_OF_MEMORY; + } + + memset(blk_detail, 0, sizeof(kv_blk_detail_t) * KV_MGR_BLK_NUM_TOTAL); + KV_MGR_BLK_DETAIL = blk_detail; + +#ifndef KV_CONFIG_OS_NONE + if (ln_kv_mutex_create(KV_MGR_LOCK) != LN_TRUE) { + return KV_ERR_INTERNAL_ERROR; + } +#endif + + return KV_ERR_NONE; +} + +static void kv_mgr_ctl_deinit(void) +{ +#ifndef KV_CONFIG_OS_NONE + ln_kv_mutex_delete(KV_MGR_LOCK); +#endif + ln_kv_free(KV_MGR_BLK_DETAIL); + KV_MGR_BLK_DETAIL = NULL; + + memset(&kv_ctl, 0, sizeof(kv_ctl)); +} + +static kv_err_t kv_do_gc(uint32_t dirty_blk) +{ + return kv_item_walkthru(dirty_blk, kv_item_do_gc, NULL, NULL); +} + +static kv_err_t kv_gc(void) +{ + uint32_t cur_blk, workspace_backup; + int is_gc_done = LN_FALSE, is_rebuild_done = LN_FALSE; + + /* we give blocks with KV_BLK_FLAG_HANGING a chance to rebuild index */ + if (KV_MGR_BLK_NUM_HANGING > 0) { + is_rebuild_done = kv_mgr_blk_index_rebuild(); + } + + workspace_backup = KV_MGR_WORKSPACE; + + // there must be at least one fresh block left, make workspace pointer to the fresh one + KV_MGR_WORKSPACE = kv_blk_next_fresh(); + + KV_BLK_FOR_EACH(cur_blk) { + if (kv_blk_is_dirty(cur_blk)) { + if (kv_do_gc(cur_blk) != KV_ERR_NONE) { + // cannot do gc for this block, give others a try + continue; + } + + kv_blk_reset_inuse(cur_blk); + + if (kv_blk_format(cur_blk) != KV_ERR_NONE) { + kv_blk_set_bad(cur_blk); + } + + kv_blk_reset_fresh(KV_MGR_WORKSPACE); + + if (!kv_blk_is_full(KV_MGR_WORKSPACE)) { + kv_blk_set_inuse(KV_MGR_WORKSPACE); + } + + is_gc_done = LN_TRUE; + + break; + } + } + + if (!is_gc_done) { + // if do nothing, should restore the workspace; + KV_MGR_WORKSPACE = workspace_backup; + } + + return (is_gc_done || is_rebuild_done) ? KV_ERR_NONE : KV_ERR_GC_NOTHING; +} + +kv_err_t ln_kv_init(uint32_t flash_start, uint32_t flash_end, kv_flash_drv_t *flash_drv, kv_flash_prop_t *flash_prop) +{ + kv_err_t err; + + if (kv_param_verify(flash_start, flash_end, flash_drv, flash_prop) != KV_ERR_NONE) { + return KV_ERR_INVALID_PARAM; + } + + memset(&kv_ctl, 0, sizeof(kv_ctl)); + + kv_flash_ctl_init(flash_start, flash_end, flash_drv, flash_prop); + + err = kv_mgr_ctl_init(); + if (err != KV_ERR_NONE) { + return err; + } + + kv_mgr_ctl_build(); + + return kv_mgr_workspace_locate(); +} + +kv_err_t ln_kv_deinit(void) +{ + kv_mgr_ctl_deinit(); + return KV_ERR_NONE; +} + +kv_err_t ln_kv_set(const char *key, const void *value, size_t value_len) +{ + kv_err_t err; + kv_item_t *item; + + if (!key || !value) { + return KV_ERR_INVALID_PARAM; + } + + if (strlen(key) >= (uint8_t)-1 || + value_len >= (uint16_t)-1) { + return KV_ERR_SIZE_EXCEEDED; + } + + kv_lock(); + + item = kv_item_find(key); + if (item) { // already exist + err = kv_item_update(item, key, value, value_len); + kv_item_free(item); + } else { + err = kv_item_save(key, value, value_len, NULL); + } + + kv_unlock(); + + return err; +} + +kv_err_t ln_kv_get(const char *key, void *value_buf, size_t value_buf_size, size_t *value_len) +{ + uint8_t k_len; + uint16_t v_len; + kv_item_t *item; + + if (!key || !value_buf || !value_len) { + return KV_ERR_INVALID_PARAM; + } + + if (strlen(key) >= (uint8_t)-1) { + return KV_ERR_SIZE_EXCEEDED; + } + + kv_lock(); + + item = kv_item_find(key); + if (!item) { + kv_unlock(); + return KV_ERR_NOT_EXIST; + } + + kv_unlock(); + + k_len = item->hdr.k_len; + v_len = item->hdr.v_len; + *value_len = v_len; + + if (value_buf_size < v_len) { + kv_item_free(item); + return KV_ERR_BUF_TOO_SHORT; + } + + memcpy(value_buf, item->body + k_len, v_len); + kv_item_free(item); + + return KV_ERR_NONE; +} + +int ln_kv_has_key(const char *key) +{ + int has_key; + + if (!key) { + return KV_ERR_INVALID_PARAM; + } + + if (strlen(key) >= (uint8_t)-1) { + return KV_ERR_SIZE_EXCEEDED; + } + + kv_lock(); + has_key = kv_item_find(key) ? LN_TRUE : LN_FALSE; + kv_unlock(); + + return has_key; +} + +kv_err_t ln_kv_del(const char *key) +{ + kv_err_t err; + kv_item_t *item; + + if (!key) { + return KV_ERR_INVALID_PARAM; + } + + if (strlen(key) >= (uint8_t)-1) { + return KV_ERR_SIZE_EXCEEDED; + } + + kv_lock(); + + item = kv_item_find(key); + if (!item) { + kv_unlock(); + return KV_ERR_NOT_EXIST; + } + + err = kv_item_delete(item); + kv_item_free(item); + + kv_unlock(); + + return err; +} + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.h b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.h new file mode 100644 index 00000000..59119408 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv.h @@ -0,0 +1,291 @@ +#ifndef __LN_KV_H__ +#define __LN_KV_H__ + +#include "ln_compiler.h" +#include "ln_types.h" +#include "ln_kv_err.h" +#include "ln_kv_flash.h" +#include "ln_kv_port.h" +#include "ln_kv_api.h" + +typedef uint64_t kv_wunit_t; + +typedef uint8_t kv_byte_t; // byte +typedef uint16_t kv_hword_t; // half word +typedef uint32_t kv_word_t; // word +typedef uint64_t kv_dword_t; // double word + +#define KV_BLK_FLAG_FRESH 0x01 /* a totally virgin block */ +#define KV_BLK_FLAG_INUSE 0x02 /* in-use */ +#define KV_BLK_FLAG_DIRTY 0x04 /* has discarded item inside */ +#define KV_BLK_FLAG_BAD 0x08 /* bad block, maybe device error */ +#define KV_BLK_FLAG_HANGING 0x10 /* index building failed, we mark a hanging flag here, and will give another chance to do a retry */ + +#define KV_FLASH_START (kv_ctl.flash_ctl.flash_start) +#define KV_FLASH_END (kv_ctl.flash_ctl.flash_end) +#define KV_FLASH_SIZE (KV_FLASH_END - KV_FLASH_START) +#define KV_FLASH_SECTOR_SIZE_LOG2 (kv_ctl.flash_ctl.sector_size_log2) +#define KV_FLASH_SECTOR_SIZE (1 << KV_FLASH_SECTOR_SIZE_LOG2) +#define KV_FLASH_WRITE_ALIGN (kv_ctl.flash_ctl.flash_write_align) + +#define KV_FLASH_WRITE ((kv_flash_write_t)(kv_ctl.flash_ctl.flash_drv.write)) +#define KV_FLASH_READ ((kv_flash_read_t)(kv_ctl.flash_ctl.flash_drv.read)) +#define KV_FLASH_ERASE ((kv_flash_erase_t)(kv_ctl.flash_ctl.flash_drv.erase)) + +#define KV_IS_ALINGED(v, align) ((v) % (align) == 0) +#define KV_IS_ALINGED_LOG2(v, align_log2) KV_IS_ALINGED(v, (1 << (align_log2))) +#define KV_ALIGN_UP(v, align) (((v) + ((align) - 1)) & ~((align) - 1)) +#define KV_ALIGN_DOWN(v, align) ((v) - ((v) & ((align) - 1))) +#define KV_OFFSET_OF_FIELD(type, field) ((uint32_t)&(((type *)0)->field)) +#define KV_ADDR_OF_FIELD(addr, type, field) (addr + KV_OFFSET_OF_FIELD(type, field)) + +#define KV_ALIGNED_SIZE(len) KV_ALIGN_UP(len, KV_FLASH_WRITE_ALIGN) + +#ifndef KV_CONFIG_OS_NONE + #define KV_MGR_LOCK (&kv_ctl.mgr_ctl.kv_lock) +#endif +#define KV_MGR_BLK_NUM_FRESH (kv_ctl.mgr_ctl.blk_info.num_fresh) +#define KV_MGR_BLK_NUM_INUSE (kv_ctl.mgr_ctl.blk_info.num_inuse) +#define KV_MGR_BLK_NUM_HANGING (kv_ctl.mgr_ctl.blk_info.num_hanging) +#define KV_MGR_BLK_NUM_TOTAL (kv_ctl.mgr_ctl.blk_info.num_total) +#define KV_MGR_BLK_DETAIL (kv_ctl.mgr_ctl.blk_info.blk_detail) +#define KV_MGR_WORKSPACE (kv_ctl.mgr_ctl.workspace) + +#define KV_NO_WRITEABLE_BLK() (KV_MGR_BLK_NUM_INUSE == 0 && KV_MGR_BLK_NUM_FRESH == 0) + +#define KV_ITEM_HDR_MAGIC 0xABCD1234DCBA4321 +#define KV_ITEM_DISCARDED 0x0F0F0F0F0F0F0F0F +#define KV_ITEM_IS_DISCARDED(item_hdr) ((item_hdr)->discarded_flag == KV_ITEM_DISCARDED) +#define KV_ITEM_IS_LEGAL(item_hdr) ((item_hdr)->magic == KV_ITEM_HDR_MAGIC) +#define KV_ITEM_IS_FRESH(item_hdr) ((item_hdr)->magic == (kv_wunit_t)-1 && \ + (item_hdr)->discarded_flag == (kv_wunit_t)-1 && \ + (item_hdr)->checksum == (uint8_t)-1 && \ + (item_hdr)->k_len == (uint8_t)-1 && \ + (item_hdr)->v_len == (uint16_t)-1 && \ + (item_hdr)->prev_pos == (uint32_t)-1) + +#define KV_ITEM_ADDR2BLK(item_start) (KV_ALIGN_DOWN((item_start) - KV_FLASH_START, KV_BLK_SIZE) + KV_FLASH_START) +#define KV_ITEM_HDR_SIZE KV_ALIGNED_SIZE(sizeof(kv_item_hdr_t)) +#define KV_ITEM_BODY_SIZE(k_len, v_len) KV_ALIGNED_SIZE(k_len + v_len) +#define KV_ITEM_SIZE(k_len, v_len) (KV_ITEM_HDR_SIZE + KV_ITEM_BODY_SIZE(k_len, v_len)) +#define KV_ITEM_SIZE_OF_ITEM(item) KV_ITEM_SIZE(item->hdr.k_len, item->hdr.v_len) +#define KV_ITEM_SIZE_OF_BODY(item) KV_ITEM_BODY_SIZE(item->hdr.k_len, item->hdr.v_len) +#define KV_ITEM_ADDR_OF_BODY(item) (item->pos + KV_ITEM_HDR_SIZE) + +#define KV_BLK_HDR_MAGIC 0x1234ABCD4321DCBA +#define KV_BLK_IS_LEGAL(blk_hdr) ((blk_hdr)->magic == KV_BLK_HDR_MAGIC) +#define KV_BLK_INVALID ((uint32_t)-1) +#define KV_BLK_HDR_SIZE KV_ALIGNED_SIZE(sizeof(kv_blk_hdr_t)) +#define KV_BLK_SIZE (KV_FLASH_SECTOR_SIZE) +#define KV_BLK_FRESH_SIZE (KV_BLK_SIZE - KV_BLK_HDR_SIZE) +#define KV_BLK_END(blk_start) (blk_start + KV_BLK_SIZE) +#define KV_BLK_USABLE_ADDR(blk_start) (KV_BLK_END(blk_start) - kv_blk_freesz_get(blk_start)) +#define KV_BLK_ADDR2IDX(blk_start) ((blk_start - KV_FLASH_START) / KV_BLK_SIZE) +#define KV_BLK_FIRST_ITEM(blk_start) (blk_start + KV_BLK_HDR_SIZE) +#define KV_BLK_NEXT(blk_start) (blk_start + KV_BLK_SIZE >= KV_FLASH_END ? KV_FLASH_START : blk_start + KV_BLK_SIZE) + +#define KV_BLK_FOR_EACH_FROM(cur_blk, start_blk) \ + for (cur_blk = KV_BLK_NEXT(start_blk); \ + cur_blk != start_blk; \ + cur_blk = KV_BLK_NEXT(cur_blk)) + +#define KV_BLK_FOR_EACH(cur_blk) \ + for (cur_blk = KV_FLASH_START; \ + cur_blk < KV_FLASH_END; \ + cur_blk += KV_BLK_SIZE) + +typedef struct kv_flash_control_st { + uint8_t sector_size_log2; + uint8_t flash_write_align; + uint32_t flash_start; + uint32_t flash_end; + + kv_flash_drv_t flash_drv; +} kv_flash_ctl_t; + +typedef struct kv_blk_detail_st { + uint8_t blk_flags; /*< flags indicating the status of the blk, see KV_BLK_FLAG_* */ + uint32_t free_size; /*< how many usable flash left */ +} kv_blk_detail_t; + +typedef struct kv_blk_info_st { + uint16_t num_inuse; + uint16_t num_fresh; + uint16_t num_hanging; + uint16_t num_total; + + kv_blk_detail_t *blk_detail; +} kv_blk_info_t; + +typedef struct kv_manager_control_st { + uint32_t workspace; + kv_blk_info_t blk_info; + +#ifndef KV_CONFIG_OS_NONE + kv_mutex_t kv_lock; +#endif +} kv_mgr_ctl_t; + +typedef struct kv_control_st { + kv_flash_ctl_t flash_ctl; + kv_mgr_ctl_t mgr_ctl; +} kv_ctl_t; + +typedef struct kv_block_header_st { + kv_wunit_t magic; /*< is this block formatted? */ +} __PACKED__ kv_blk_hdr_t; + +typedef struct kv_item_header_st { + kv_wunit_t discarded_flag; /*< is this item a discarded one, deleted or updated */ + kv_wunit_t magic; /*< for item header integrity verification */ + uint8_t checksum; /*< checksum for key/value buffer */ + uint8_t k_len; /*< key length */ + uint16_t v_len; /*< value length */ + uint32_t prev_pos; /*< previous position of this item */ +} __PACKED__ kv_item_hdr_t; + +typedef struct kv_item_st { + kv_item_hdr_t hdr; /*< item header */ + uint32_t pos; /*< where this item is */ + uint8_t *body; /*< item body: key/value buffer */ +} kv_item_t; + +static kv_ctl_t kv_ctl; + +__STATIC_INLINE__ void kv_blk_freesz_set(uint32_t blk_start, uint32_t free_size) +{ + KV_MGR_BLK_DETAIL[KV_BLK_ADDR2IDX(blk_start)].free_size = free_size; +} + +__STATIC_INLINE__ uint32_t kv_blk_freesz_get(uint32_t blk_start) +{ + return KV_MGR_BLK_DETAIL[KV_BLK_ADDR2IDX(blk_start)].free_size; +} + +__STATIC_INLINE__ void kv_blk_freesz_reduce(uint32_t blk_start, uint32_t size_reduced) +{ + kv_blk_freesz_set(blk_start, kv_blk_freesz_get(blk_start) - size_reduced); +} + +__STATIC_INLINE__ int kv_blk_is_full(uint32_t blk_start) +{ + return kv_blk_freesz_get(blk_start) <= KV_ITEM_HDR_SIZE; +} + +__STATIC_INLINE__ void kv_blk_flags_set(uint32_t blk_start, uint8_t blk_flags) +{ + KV_MGR_BLK_DETAIL[KV_BLK_ADDR2IDX(blk_start)].blk_flags = blk_flags; +} + +__STATIC_INLINE__ uint8_t kv_blk_flags_get(uint32_t blk_start) +{ + return KV_MGR_BLK_DETAIL[KV_BLK_ADDR2IDX(blk_start)].blk_flags; +} + +__STATIC_INLINE__ void kv_blk_flags_add(uint32_t blk_start, uint8_t blk_flags) +{ + KV_MGR_BLK_DETAIL[KV_BLK_ADDR2IDX(blk_start)].blk_flags |= blk_flags; +} + +__STATIC_INLINE__ void kv_blk_flags_rmv(uint32_t blk_start, uint8_t blk_flags) +{ + KV_MGR_BLK_DETAIL[KV_BLK_ADDR2IDX(blk_start)].blk_flags &= ~blk_flags; +} + +__STATIC_INLINE__ int kv_blk_is_fresh(uint32_t blk_start) +{ + return kv_blk_flags_get(blk_start) & KV_BLK_FLAG_FRESH; +} + +__STATIC_INLINE__ int kv_blk_is_inuse(uint32_t blk_start) +{ + return kv_blk_flags_get(blk_start) & KV_BLK_FLAG_INUSE; +} + +__STATIC_INLINE__ int kv_blk_is_dirty(uint32_t blk_start) +{ + return kv_blk_flags_get(blk_start) & KV_BLK_FLAG_DIRTY; +} + +__STATIC_INLINE__ int kv_blk_is_bad(uint32_t blk_start) +{ + return kv_blk_flags_get(blk_start) & KV_BLK_FLAG_BAD; +} + +__STATIC_INLINE__ int kv_blk_is_hanging(uint32_t blk_start) +{ + return kv_blk_flags_get(blk_start) & KV_BLK_FLAG_HANGING; +} + +__STATIC_INLINE__ void kv_blk_set_fresh(uint32_t blk_start) +{ + if (!kv_blk_is_fresh(blk_start)) { + ++KV_MGR_BLK_NUM_FRESH; + } + + kv_blk_freesz_set(blk_start, KV_BLK_FRESH_SIZE); + kv_blk_flags_set(blk_start, KV_BLK_FLAG_FRESH); +} + +__STATIC_INLINE__ void kv_blk_set_inuse(uint32_t blk_start) +{ + if (!kv_blk_is_inuse(blk_start)) { + ++KV_MGR_BLK_NUM_INUSE; + } + + kv_blk_flags_add(blk_start, KV_BLK_FLAG_INUSE); +} + +__STATIC_INLINE__ void kv_blk_set_dirty(uint32_t blk_start) +{ + kv_blk_flags_add(blk_start, KV_BLK_FLAG_DIRTY); +} + +__STATIC_INLINE__ void kv_blk_set_bad(uint32_t blk_start) +{ + kv_blk_flags_set(blk_start, KV_BLK_FLAG_BAD); +} + +__STATIC_INLINE__ void kv_blk_set_hanging(uint32_t blk_start) +{ + if (!kv_blk_is_hanging(blk_start)) { + ++KV_MGR_BLK_NUM_HANGING; + } + + kv_blk_flags_add(blk_start, KV_BLK_FLAG_HANGING); +} + +__STATIC_INLINE__ void kv_blk_reset_fresh(uint32_t blk_start) +{ + if (kv_blk_is_fresh(blk_start)) { + --KV_MGR_BLK_NUM_FRESH; + } + + kv_blk_flags_rmv(blk_start, KV_BLK_FLAG_FRESH); +} + +__STATIC_INLINE__ void kv_blk_reset_inuse(uint32_t blk_start) +{ + if (kv_blk_is_inuse(blk_start)) { + --KV_MGR_BLK_NUM_INUSE; + } + + kv_blk_flags_rmv(blk_start, KV_BLK_FLAG_INUSE); +} + +__STATIC_INLINE__ void kv_blk_reset_hanging(uint32_t blk_start) +{ + if (kv_blk_is_hanging(blk_start)) { + --KV_MGR_BLK_NUM_HANGING; + } + + kv_blk_flags_rmv(blk_start, KV_BLK_FLAG_HANGING); +} + +typedef kv_err_t (*kv_item_walker_t)(kv_item_t *item, const void *patten); + +kv_err_t ln_kv_init(uint32_t flash_start, uint32_t flash_end, kv_flash_drv_t *flash_drv, kv_flash_prop_t *flash_prop); + + +#endif /* __LN_KV_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_api.h b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_api.h new file mode 100644 index 00000000..be0c08f5 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_api.h @@ -0,0 +1,16 @@ +#ifndef __LN_KV_API_H__ +#define __LN_KV_API_H__ + +#include "ln_types.h" +#include "ln_kv_err.h" +#include "ln_kv_api.h" + +kv_err_t ln_kv_port_init(uint32_t flash_start, uint32_t flash_end); +kv_err_t ln_kv_deinit(void); +kv_err_t ln_kv_set(const char *key, const void *value, size_t v_len); +kv_err_t ln_kv_get(const char *key, void *value_buf, size_t value_buf_size, size_t *v_len); +int ln_kv_has_key(const char *key); +kv_err_t ln_kv_del(const char *key); + +#endif /* __LN_KV_API_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_err.h b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_err.h new file mode 100644 index 00000000..3a892140 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_err.h @@ -0,0 +1,36 @@ +#ifndef __LN_KV_ERR_H__ +#define __LN_KV_ERR_H__ + +typedef enum kv_err_en { + KV_ERR_NONE = 0u, + + KV_ERR_BUF_TOO_SHORT = 10u, + KV_ERR_BLK_STATUS_ERROR, + + KV_ERR_DATA_FETCH_FAILED = 20u, + + KV_ERR_FLASH_ERASE_FAILED = 30u, + KV_ERR_FLASH_READ_FAILED, + KV_ERR_FLASH_WRITE_FAILED, + + KV_ERR_GC_NOTHING = 40u, + + KV_ERR_INTERNAL_ERROR = 50u, + KV_ERR_INSUFFICIENT_SPACE, + KV_ERR_INVALID_PARAM, + KV_ERR_INVALID_ITEM, + + KV_ERR_NEXT_LOOP = 60u, + KV_ERR_NOT_EXIST, + KV_ERR_NO_WRITEABLE_BLK, + + KV_ERR_OUT_OF_MEMORY = 70u, + + KV_ERR_POS_FIX_FAILED =80u, + + KV_ERR_SIZE_EXCEEDED = 90u, +} kv_err_t; + + +#endif /* __LN_KV_ERR_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_flash.h b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_flash.h new file mode 100644 index 00000000..13184bd2 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv/ln_kv_flash.h @@ -0,0 +1,21 @@ +#ifndef __LN_KV_FLASH_H__ +#define __LN_KV_FLASH_H__ + +#include "ln_types.h" + +typedef int (*kv_flash_write_t)(uint32_t addr, const void *buf, size_t len); +typedef int (*kv_flash_read_t)(uint32_t addr, void *buf, size_t len); +typedef int (*kv_flash_erase_t)(uint32_t addr, size_t len); + +typedef struct kv_flash_drv_st { + kv_flash_write_t write; + kv_flash_read_t read; + kv_flash_erase_t erase; +} kv_flash_drv_t; + +typedef struct kv_flash_property_st { + uint8_t sector_size_log2; +} kv_flash_prop_t; + +#endif /* __LN_KV_FLASH_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.c b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.c new file mode 100644 index 00000000..0c2cb38f --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.c @@ -0,0 +1,37 @@ +#include "ln_kv_port.h" +#include "ln_kv_flash.h" +#include "ln_kv.h" +#include "hal/flash.h" + + +static kv_flash_drv_t flash_drv; +static kv_flash_prop_t flash_prop; + +static int flash_read(uint32_t offset, void *buf, uint32_t len) +{ + return FLASH_Read(offset, len, buf); +} + +static int flash_write(uint32_t offset, const void *buf, uint32_t len) +{ + return FLASH_Program(offset, len, (uint8_t*)buf); +} + +static int flash_erase(uint32_t offset, uint32_t len) +{ + FLASH_Erase(offset, len); + return 0; +} + +kv_err_t ln_kv_port_init(uint32_t flash_start, uint32_t flash_end) +{ + flash_drv.read = flash_read; + flash_drv.write = flash_write; + flash_drv.erase = flash_erase; + + flash_prop.sector_size_log2 = KV_CONFIG_FLASH_SECT_SIZE_LOG2; + + return ln_kv_init(flash_start, flash_end, &flash_drv, &flash_prop); +} + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.h b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.h new file mode 100644 index 00000000..8f317f6f --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/kv/kv_port/ln_kv_port.h @@ -0,0 +1,80 @@ +#ifndef __LN_KV_PORT_H__ +#define __LN_KV_PORT_H__ + +#include "proj_config.h" +#include "ln_types.h" +#include "ln_kv_err.h" +#include "ln_compiler.h" +#include "mem_map_ln882x.h" + + +#ifndef __CONFIG_OS_KERNEL + #define KV_CONFIG_OS_NONE +#endif +#define KV_CONFIG_FLASH_SECT_SIZE_LOG2 (12) + + +#if defined(KV_CONFIG_OS_NONE) + #include "stdlib.h" + + __STATIC_INLINE__ void *ln_kv_malloc(size_t size) + { + return malloc(size); + } + + __STATIC_INLINE__ void ln_kv_free(void *ptr) + { + free(ptr); + } + +#else /* KV_CONFIG_OS_NONE */ + #include "osal/osal.h" + + typedef OS_Mutex_t kv_mutex_t; + + __STATIC_INLINE__ int ln_kv_is_os_running(void) + { + if (OS_ThreadIsSchedulerRunning()){ + return LN_TRUE; + } + return LN_FALSE; + } + + __STATIC_INLINE__ int ln_kv_mutex_create(kv_mutex_t *mutex) + { + if (OS_OK == OS_MutexCreate(mutex)) { + return LN_TRUE; + } + return LN_FALSE; + } + + __STATIC_INLINE__ void ln_kv_mutex_delete(kv_mutex_t *mutex) + { + OS_MutexDelete(mutex); + } + + __STATIC_INLINE__ void ln_kv_mutex_lock(kv_mutex_t *mutex) + { + OS_MutexLock(mutex, OS_WAIT_FOREVER); + } + + __STATIC_INLINE__ void ln_kv_mutex_unlock(kv_mutex_t *mutex) + { + OS_MutexUnlock(mutex); + } + + __STATIC_INLINE__ void *ln_kv_malloc(size_t size) + { + return OS_Malloc(size); + } + + __STATIC_INLINE__ void ln_kv_free(void *ptr) + { + OS_Free(ptr); + } +#endif /* KV_CONFIG_OS_NONE */ + + + +#endif /* __LN_KV_PORT_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/src/nvds/nvds.c b/platform/vendor_bsp/LN/ln882x/src/fs/nvds/nvds.c similarity index 99% rename from platform/vendor_bsp/LN/ln882x/src/nvds/nvds.c rename to platform/vendor_bsp/LN/ln882x/src/fs/nvds/nvds.c index 8e83545d..c0a1a062 100644 --- a/platform/vendor_bsp/LN/ln882x/src/nvds/nvds.c +++ b/platform/vendor_bsp/LN/ln882x/src/fs/nvds/nvds.c @@ -1,4 +1,4 @@ -#include "nvds/nvds.h" +#include "nvds.h" #include "hal/flash.h" diff --git a/platform/vendor_bsp/LN/ln882x/include/nvds/nvds.h b/platform/vendor_bsp/LN/ln882x/src/fs/nvds/nvds.h similarity index 94% rename from platform/vendor_bsp/LN/ln882x/include/nvds/nvds.h rename to platform/vendor_bsp/LN/ln882x/src/fs/nvds/nvds.h index b9030c5b..515f5fc2 100644 --- a/platform/vendor_bsp/LN/ln882x/include/nvds/nvds.h +++ b/platform/vendor_bsp/LN/ln882x/src/fs/nvds/nvds.h @@ -2,8 +2,9 @@ #define __NVDS_H__ #include "ln88xx.h" +#include "flash_partition_table.h" -#define USR_NVDS_SECT1_OFFSET (USR_NVDS_PARAM_OFFSET) +#define USR_NVDS_SECT1_OFFSET (NVDS_SPACE_OFFSET) #define USR_NVDS_SECT2_OFFSET (USR_NVDS_SECT1_OFFSET + SIZE_4KB) #define USR_NVDS_FLAG_OFFSET (USR_NVDS_SECT2_OFFSET + SIZE_4KB) diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.c b/platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.c new file mode 100644 index 00000000..56068cfd --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.c @@ -0,0 +1,61 @@ +#include "flash_partition_mgr.h" + +#include "hal/flash.h" +#include "utils/crc32.h" + + +int ln_verify_partition_table(void) +{ + partition_info_t rd_info; + + for (uint32_t i = 0; i < PARTITION_TAB_SIZE; i += sizeof(partition_info_t)) + { + FLASH_Read((PARTITION_TAB_BASE + i), sizeof(partition_info_t), (uint8_t *)&rd_info); + + if ((rd_info.type == 0) && \ + (rd_info.start_addr == 0) && \ + (rd_info.size == 0) && \ + (rd_info.crc32 == 0)) + { + return LN_TRUE; + } + else + { + if (rd_info.crc32 != ln_crc32_signle_cal((uint8_t *)&rd_info, sizeof(partition_info_t) - sizeof(uint32_t))) { + return LN_FALSE; + } + } + } + return LN_FALSE; +} + +int ln_fetch_partition_info(partition_type_t type, partition_info_t *info) +{ + if (!info) { + return LN_FALSE; + } + + for (uint32_t i = 0; i < PARTITION_TAB_SIZE; i += sizeof(partition_info_t)) + { + FLASH_Read((PARTITION_TAB_BASE + i), sizeof(partition_info_t), (uint8_t *)info); + + if (info->type == type) + { + if (info->crc32 == ln_crc32_signle_cal((uint8_t *)info, sizeof(partition_info_t) - sizeof(uint32_t))) { + return LN_TRUE; + } else { + return LN_FALSE; + } + } + else if ((info->type == 0) && \ + (info->start_addr == 0) && \ + (info->size == 0) && \ + (info->crc32 == 0)) + { + return LN_FALSE; + } + } + return LN_FALSE; +} + + diff --git a/platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.h b/platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.h new file mode 100644 index 00000000..de37b4d9 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/fs/partition_mgr/flash_partition_mgr.h @@ -0,0 +1,58 @@ +#ifndef __FLASH_PARTITION_MGR_H__ +#define __FLASH_PARTITION_MGR_H__ +#include "ln_types.h" + + +#define PARTITION_TAB_BASE (1024*36)/* < Warning: Do not change it! */ +#define PARTITION_TAB_SIZE (1024*4) /* < Warning: Do not change it! */ + +typedef enum { + PARTITION_TYPE_APP = 0u, /*< application */ + PARTITION_TYPE_OTA = 1u, /*< ota temp*/ + PARTITION_TYPE_KV = 2u, /*< Key-Value */ + PARTITION_TYPE_NVDS = 3u, /*< nvds(NVRAM) */ + PARTITION_TYPE_SIMU_EEPROM = 4u, /*< simulation eeprom*/ + PARTITION_TYPE_USER = 5u, /*< user defined */ + PARTITION_TYPE_PLACE = 0x12345678, /*< make different IDEs compatible */ +} partition_type_t; + +typedef struct { + partition_type_t type; /*< what's the type of partition */ + uint32_t start_addr; /*< start address */ + uint32_t size; /*< partition size */ + uint32_t crc32; /*< checksum of the partition info except itself */ +} partition_info_t; + + +/** + * @brief Verify partition table. + * verify the main partition table of flash. + * + * @attention None + * + * @return whether the verification is successful. + * @retval #LN_TRUE successful. + * @retval #LN_FALSE failed. + */ +int ln_verify_partition_table(void); + +/** + * @brief fetch partition info. + * Fetch partition information for a specified type partition. + * + * @attention None + * + * @param[in] type types indicating the type of the partition entity, see PARTITION_TYPE_*. + * @param[out] info pointer to a partition info struct. + * + * @return Whether to fetch info successfully. + * @retval #LN_TRUE successful. + * @retval #LN_FALSE failed. + */ +int ln_fetch_partition_info(partition_type_t type, partition_info_t * info); + + + +#endif /* __FLASH_PARTITION_MGR_H__ */ + + diff --git a/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_common.c b/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_common.c index 50f4cee7..782720f8 100644 --- a/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_common.c +++ b/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_common.c @@ -8,10 +8,14 @@ #include "ln88xx.h" #ifdef __CC_ARM - extern unsigned int Image$$HEAP_SPACE$$ZI$$Base; - extern unsigned int Image$$HEAP_SPACE$$ZI$$Limit; - #define HEAP_START (&Image$$HEAP_SPACE$$ZI$$Base) - #define HEAP_END (&Image$$HEAP_SPACE$$ZI$$Limit) + extern unsigned int Image$$HEAP_SPACE0$$ZI$$Base; + extern unsigned int Image$$HEAP_SPACE0$$ZI$$Limit; + extern unsigned int Image$$HEAP_SPACE1$$ZI$$Base; + extern unsigned int Image$$HEAP_SPACE1$$ZI$$Limit; + #define HEAP0_START (&Image$$HEAP_SPACE0$$ZI$$Base) + #define HEAP0_END (&Image$$HEAP_SPACE0$$ZI$$Limit) + #define HEAP1_START (&Image$$HEAP_SPACE1$$ZI$$Base) + #define HEAP1_END (&Image$$HEAP_SPACE1$$ZI$$Limit) #elif __ICCARM__ #error "TODO: support iar compiler!!!" #elif __GNUC__ @@ -29,11 +33,14 @@ static HeapRegion_t xHeapRegions[] = { void OS_HeapSizeConfig(void) { - xHeapRegions[0].pucStartAddress = (uint8_t *)(HEAP_START); - xHeapRegions[0].xSizeInBytes = (size_t) ((uint8_t *)HEAP_END - (uint8_t *)HEAP_START); + xHeapRegions[0].pucStartAddress = (uint8_t *)(HEAP0_START); + xHeapRegions[0].xSizeInBytes = (size_t) ((uint8_t *)HEAP0_END - (uint8_t *)HEAP0_START); - xHeapRegions[1].pucStartAddress = NULL; - xHeapRegions[1].xSizeInBytes = 0; + xHeapRegions[1].pucStartAddress = (uint8_t *)(HEAP1_START); + xHeapRegions[1].xSizeInBytes = (size_t) ((uint8_t *)HEAP1_END - (uint8_t *)HEAP1_START); + + xHeapRegions[2].pucStartAddress = NULL; + xHeapRegions[2].xSizeInBytes = 0; } void OS_DefineHeapRegions(void) diff --git a/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_mutex.c b/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_mutex.c index 875c49dd..eb0ed1fc 100644 --- a/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_mutex.c +++ b/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_mutex.c @@ -50,7 +50,7 @@ OS_Status OS_MutexDelete(OS_Mutex_t *mutex) * @param[in] waitMS The maximum amount of time (in millisecond) the thread * should remain in the blocked state to wait for the mutex * to become unlocked. - * HAL_WAIT_FOREVER for waiting forever, zero for no waiting. + * OS_WAIT_FOREVER for waiting forever, zero for no waiting. * @retval OS_Status, OS_OK on success */ OS_Status OS_MutexLock(OS_Mutex_t *mutex, OS_Time_t waitMS) diff --git a/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_queue.c b/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_queue.c index 2e02bf55..aa0ffc3a 100644 --- a/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_queue.c +++ b/platform/vendor_bsp/LN/ln882x/src/kernel/FreeRTOS_Adapter/freertos_queue.c @@ -36,16 +36,9 @@ OS_Status OS_QueueCreate(OS_Queue_t *queue, uint32_t queueLen, uint32_t itemSize */ OS_Status OS_QueueDelete(OS_Queue_t *queue) { - UBaseType_t ret; OS_HANDLE_ASSERT(OS_QueueIsValid(queue), queue->handle); - ret = uxQueueMessagesWaiting(queue->handle); - if (ret > 0) { - OS_ERR("queue %"OS_HANDLE_F" is not empty\r\n", queue->handle); - return OS_FAIL; - } - vQueueDelete(queue->handle); OS_QueueSetInvalid(queue); return OS_OK; @@ -134,13 +127,3 @@ OS_Status OS_QueueReceive(OS_Queue_t *queue, void *item, OS_Time_t waitMS) return OS_OK; } -OS_Status OS_QueueFlush(OS_Queue_t *queue) -{ - void *item; - - OS_HANDLE_ASSERT(OS_QueueIsValid(queue), queue->handle); - while(uxQueueMessagesWaiting(queue->handle)){ - OS_QueueReceive(queue,item,OS_WAIT_FOREVER); - } - return OS_OK; -} diff --git a/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_common.c b/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_common.c index 400aab84..e6ffa370 100644 --- a/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_common.c +++ b/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_common.c @@ -8,10 +8,14 @@ #include "ln88xx.h" #ifdef __CC_ARM - extern unsigned int Image$$HEAP_SPACE$$ZI$$Base; - extern unsigned int Image$$HEAP_SPACE$$ZI$$Limit; - #define HEAP_START (&Image$$HEAP_SPACE$$ZI$$Base) - #define HEAP_END (&Image$$HEAP_SPACE$$ZI$$Limit) + extern unsigned int Image$$HEAP_SPACE0$$ZI$$Base; + extern unsigned int Image$$HEAP_SPACE0$$ZI$$Limit; + #define HEAP0_START (&Image$$HEAP_SPACE0$$ZI$$Base) + #define HEAP0_END (&Image$$HEAP_SPACE0$$ZI$$Limit) + extern unsigned int Image$$HEAP_SPACE1$$ZI$$Base; + extern unsigned int Image$$HEAP_SPACE1$$ZI$$Limit; + #define HEAP1_START (&Image$$HEAP_SPACE1$$ZI$$Base) + #define HEAP1_END (&Image$$HEAP_SPACE1$$ZI$$Limit) #elif __ICCARM__ #error "TODO: support iar compiler!!!" #elif __GNUC__ @@ -25,12 +29,18 @@ void os_heap_mem_add_pool(void) { - uint8_t * heap_pool0_base = (uint8_t *)((((uint32_t)HEAP_START) + sizeof(size_t) - 1U) & ~(sizeof(size_t)-1U)); - - size_t pool0_size = ((uint32_t)HEAP_END - (uint32_t)heap_pool0_base); + uint8_t * heap_pool0_base = (uint8_t *)((((uint32_t)HEAP0_START) + sizeof(size_t) - 1U) & ~(sizeof(size_t)-1U)); + size_t pool0_size = ((uint32_t)HEAP0_END - (uint32_t)heap_pool0_base); + + uint8_t * heap_pool1_base = (uint8_t *)((((uint32_t)HEAP1_START) + sizeof(size_t) - 1U) & ~(sizeof(size_t)-1U)); + size_t pool1_size = ((uint32_t)HEAP1_END - (uint32_t)heap_pool1_base); if(K_ERR_NONE != tos_mmheap_pool_add(heap_pool0_base, pool0_size)){ - LOG(LOG_LVL_ERROR,"[%s, %d]add pool fail.\r\n", __func__, __LINE__); + LOG(LOG_LVL_ERROR,"[%s, %d]add pool0 fail.\r\n", __func__, __LINE__); + }; + + if(K_ERR_NONE != tos_mmheap_pool_add(heap_pool1_base, pool1_size)){ + LOG(LOG_LVL_ERROR,"[%s, %d]add pool1 fail.\r\n", __func__, __LINE__); }; } diff --git a/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_semaphore.c b/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_semaphore.c index 12f5e0b0..acca0d61 100644 --- a/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_semaphore.c +++ b/platform/vendor_bsp/LN/ln882x/src/kernel/TencentOS_Adapter/TencentOS_semaphore.c @@ -72,7 +72,7 @@ OS_Status OS_SemaphoreWait(OS_Semaphore_t *sem, OS_Time_t waitMS) if (err == K_ERR_NONE) { return OS_OK; } else { - OS_ERR("err:%d,OS_SemaphoreWait filed.\r\n", err); +// OS_ERR("err:%d,OS_SemaphoreWait filed.\r\n", err); return OS_FAIL; } } diff --git a/platform/vendor_bsp/LN/ln882x/src/net/lwip-2.0.3/src/port/lwipopts.h b/platform/vendor_bsp/LN/ln882x/src/net/lwip-2.0.3/src/port/lwipopts.h index 5318d47b..2506459f 100644 --- a/platform/vendor_bsp/LN/ln882x/src/net/lwip-2.0.3/src/port/lwipopts.h +++ b/platform/vendor_bsp/LN/ln882x/src/net/lwip-2.0.3/src/port/lwipopts.h @@ -53,7 +53,7 @@ a lot of data that needs to be copied, this should be set high. */ /* ---------- Pbuf options ---------- */ /* PBUF_POOL_SIZE: the number of buffers in the pbuf pool. */ -#define PBUF_POOL_SIZE 35 +#define PBUF_POOL_SIZE 25 /* PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. */ #define PBUF_POOL_BUFSIZE 500//(NETIF_MTU + PBUF_LINK_HLEN) @@ -68,7 +68,7 @@ a lot of data that needs to be copied, this should be set high. */ /* TCP sender buffer space (bytes). */ #define TCP_SND_BUF (7 * TCP_MSS) /* TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. */ -#define TCP_SND_QUEUELEN (42)//(5 * TCP_SND_BUF/TCP_MSS) +#define TCP_SND_QUEUELEN (5 * TCP_SND_BUF/TCP_MSS) /* TCP receive window. */ #define TCP_WND (6 * TCP_MSS) /* Maximum number of retransmissions of data segments. */ diff --git a/platform/vendor_bsp/LN/ln882x/src/serial/serial.c b/platform/vendor_bsp/LN/ln882x/src/serial/serial.c index a6707250..0c149cb7 100644 --- a/platform/vendor_bsp/LN/ln882x/src/serial/serial.c +++ b/platform/vendor_bsp/LN/ln882x/src/serial/serial.c @@ -1,6 +1,6 @@ #include #include "serial/serial.h" -#include "serial/serial_p.h" +#include "serial_hw.h" #include "utils/fifo/fifobuf.h" #include "utils/debug/art_assert.h" diff --git a/platform/vendor_bsp/LN/ln882x/src/utils/art_string.c b/platform/vendor_bsp/LN/ln882x/src/utils/art_string.c index 5407db6e..dd417e0d 100644 --- a/platform/vendor_bsp/LN/ln882x/src/utils/art_string.c +++ b/platform/vendor_bsp/LN/ln882x/src/utils/art_string.c @@ -5,6 +5,8 @@ #include "utils/debug/log.h" #include "utils/debug/art_assert.h" +#define LN_MAC_OUI "00-50-C2" + /*************************************************************** * º¯ Êý Ãû£ºsubstring * º¯Êý¹¦ÄÜ£º»ñµÃ×Ö·û´®ÖÐÖ¸¶¨Î»ÖõÄ×Ó´® @@ -250,12 +252,26 @@ int generate_mac_randomly(unsigned char *addr) HAL_TRNG_Init(TRNG, initStruct); HAL_TRNG_Start(TRNG); while(!HAL_TRNG_isDataReady(TRNG) || HAL_TRNG_isBusy(TRNG)); +#ifdef LN_MAC_OUI + uint32_t addr0, addr1, addr2; + sscanf(LN_MAC_OUI, "%X-%X-%X", &addr0, &addr1, &addr2); + *addr = addr0 & 0xFF; + *(addr + 1) = addr1 & 0xFF; + *(addr + 2) = addr2 & 0xFF; + for (int i = 0; i < 1; i++) { + trngNumber[i] = HAL_TRNG_GetRandomNumber(TRNG, i); + } + HAL_TRNG_Stop(TRNG); + memcpy(addr + 3, trngNumber, 3); +#else for (int i = 0; i < 2; i++) { trngNumber[i] = HAL_TRNG_GetRandomNumber(TRNG, i); } HAL_TRNG_Stop(TRNG); memcpy(addr, trngNumber, 6); CLR_BIT(addr[0],0); + CLR_BIT(addr[0],1); +#endif return 0; } diff --git a/platform/vendor_bsp/LN/ln882x/src/utils/crc32.c b/platform/vendor_bsp/LN/ln882x/src/utils/crc32.c index 38d2eab7..02ccdeaa 100644 --- a/platform/vendor_bsp/LN/ln882x/src/utils/crc32.c +++ b/platform/vendor_bsp/LN/ln882x/src/utils/crc32.c @@ -1,7 +1,7 @@ #include "utils/crc32.h" -const uint32_t Crc32Table[256] = { +static const uint32_t Crc32Table[256] = { 0x00000000,0x77073096,0xEE0E612C,0x990951BA, 0x076DC419,0x706AF48F,0xE963A535,0x9E6495A3, 0x0EDB8832,0x79DCB8A4,0xE0D5E91E,0x97D2D988, @@ -69,9 +69,27 @@ const uint32_t Crc32Table[256] = { }; -uint32_t GetCrc32(uint8_t *ptr, int len) + +void ln_crc32_init(crc32_ctx_t *ctx) +{ + ctx->crc = 0xFFFFFFFFL; +} + +void ln_crc32_update(crc32_ctx_t *ctx, uint8_t *data, uint32_t len) +{ + for (uint32_t i = 0; i < len; i++) + { + ctx->crc = (ctx->crc >> 8) ^ Crc32Table[(ctx->crc & 0xFF) ^ *data++]; + } +} + +uint32_t ln_crc32_final(crc32_ctx_t *ctx) +{ + return ctx->crc ^= 0xFFFFFFFFUL; +} + +uint32_t ln_crc32_signle_cal(uint8_t *ptr, int len) { - uint32_t crc = 0xFFFFFFFF; while (len > 0) { @@ -80,7 +98,6 @@ uint32_t GetCrc32(uint8_t *ptr, int len) len--; } return crc^0xffffffff; - } diff --git a/platform/vendor_bsp/LN/ln882x/src/utils/eeprom.c b/platform/vendor_bsp/LN/ln882x/src/utils/eeprom.c index 2caaa830..1a48b30b 100644 --- a/platform/vendor_bsp/LN/ln882x/src/utils/eeprom.c +++ b/platform/vendor_bsp/LN/ln882x/src/utils/eeprom.c @@ -8,11 +8,12 @@ #include "osal/osal.h" #include "utils/eeprom.h" #include "utils/system_parameter.h" +#include "flash_partition_table.h" #define PAGE_SIZE (1*SIZE_4KB) /* EEPROM start address in Flash */ -#define EEPROM_START_ADDRESS ((uint32_t)(SYSTEM_PARAMETER_OFFSET)) +#define EEPROM_START_ADDRESS ((uint32_t)(SIMU_EEPROM_SPACE_OFFSET)) /* Pages 0 and 1 base and end addresses */ #define PAGE0_BASE_ADDRESS ((uint32_t)(EEPROM_START_ADDRESS)) diff --git a/platform/vendor_bsp/LN/ln882x/src/utils/gbk_to_unicode.c b/platform/vendor_bsp/LN/ln882x/src/utils/gbk_to_unicode.c index 2b359ffa..19c003c8 100644 --- a/platform/vendor_bsp/LN/ln882x/src/utils/gbk_to_unicode.c +++ b/platform/vendor_bsp/LN/ln882x/src/utils/gbk_to_unicode.c @@ -3,7 +3,14 @@ #include "utils/debug/art_assert.h" #include "utils/gbk_to_unicode.h" #include "utils/debug/log.h" - +#if WIFI_TRACK +static const unsigned short table_GBK_to_UCS2[][2] = { + {0,0}, +}; +static const unsigned short table_BIG5_to_UCS2[][2] = { + {0,0}, +}; +#else static const unsigned short table_GBK_to_UCS2[][2] = { #if ZH_CN_WHOLE_SET_SUPPORT {0xD2BB, 0X4E00}, //{0xE4, 0xB8, 0x80}, //一 @@ -6771,3498 +6778,3498 @@ static const unsigned short table_GBK_to_UCS2[][2] = { {0xD9DF, 0X9FA0}, //{0xE9, 0xBE, 0xA0}, //é¾  #else {0xD2BB, 0x4E00}, //{0xE4, 0xB8, 0x80}, // Ò» - {0xB6A1, 0x4E01}, //{0xE4, 0xB8, 0x81}, // ¶¡ - {0xC6DF, 0x4E03}, //{0xE4, 0xB8, 0x83}, // Æß - {0xCDF2, 0x4E07}, //{0xE4, 0xB8, 0x87}, // Íò - {0xD5C9, 0x4E08}, //{0xE4, 0xB8, 0x88}, // ÕÉ - {0xC8FD, 0x4E09}, //{0xE4, 0xB8, 0x89}, // Èý - {0xC9CF, 0x4E0A}, //{0xE4, 0xB8, 0x8A}, // ÉÏ - {0xCFC2, 0x4E0B}, //{0xE4, 0xB8, 0x8B}, // Ï - {0xB2BB, 0x4E0D}, //{0xE4, 0xB8, 0x8D}, // ²» - {0xD3EB, 0x4E0E}, //{0xE4, 0xB8, 0x8E}, // Óë + {0xB6A1, 0x4E01}, //{0xE4, 0xB8, 0x81}, // �� + {0xC6DF, 0x4E03}, //{0xE4, 0xB8, 0x83}, // �� + {0xCDF2, 0x4E07}, //{0xE4, 0xB8, 0x87}, // �� + {0xD5C9, 0x4E08}, //{0xE4, 0xB8, 0x88}, // �� + {0xC8FD, 0x4E09}, //{0xE4, 0xB8, 0x89}, // �� + {0xC9CF, 0x4E0A}, //{0xE4, 0xB8, 0x8A}, // �� + {0xCFC2, 0x4E0B}, //{0xE4, 0xB8, 0x8B}, // �� + {0xB2BB, 0x4E0D}, //{0xE4, 0xB8, 0x8D}, // �� + {0xD3EB, 0x4E0E}, //{0xE4, 0xB8, 0x8E}, // �� {0xD8A4, 0x4E10}, //{0xE4, 0xB8, 0x90}, // ؤ - {0xB3F3, 0x4E11}, //{0xE4, 0xB8, 0x91}, // ³ó + {0xB3F3, 0x4E11}, //{0xE4, 0xB8, 0x91}, // �� {0xD7A8, 0x4E13}, //{0xE4, 0xB8, 0x93}, // ר - {0xC7D2, 0x4E14}, //{0xE4, 0xB8, 0x94}, // ÇÒ - {0xCAC0, 0x4E16}, //{0xE4, 0xB8, 0x96}, // ÊÀ - {0xC7F0, 0x4E18}, //{0xE4, 0xB8, 0x98}, // Çð - {0xB1FB, 0x4E19}, //{0xE4, 0xB8, 0x99}, // ±û + {0xC7D2, 0x4E14}, //{0xE4, 0xB8, 0x94}, // �� + {0xCAC0, 0x4E16}, //{0xE4, 0xB8, 0x96}, // �� + {0xC7F0, 0x4E18}, //{0xE4, 0xB8, 0x98}, // �� + {0xB1FB, 0x4E19}, //{0xE4, 0xB8, 0x99}, // �� {0xD2B5, 0x4E1A}, //{0xE4, 0xB8, 0x9A}, // Òµ - {0xB4D4, 0x4E1B}, //{0xE4, 0xB8, 0x9B}, // ´Ô - {0xB6AB, 0x4E1C}, //{0xE4, 0xB8, 0x9C}, // ¶« + {0xB4D4, 0x4E1B}, //{0xE4, 0xB8, 0x9B}, // �� + {0xB6AB, 0x4E1C}, //{0xE4, 0xB8, 0x9C}, // �� {0xCBBF, 0x4E1D}, //{0xE4, 0xB8, 0x9D}, // Ë¿ - {0xB6AA, 0x4E22}, //{0xE4, 0xB8, 0xA2}, // ¶ª - {0xC1BD, 0x4E24}, //{0xE4, 0xB8, 0xA4}, // Á½ - {0xD1CF, 0x4E25}, //{0xE4, 0xB8, 0xA5}, // ÑÏ + {0xB6AA, 0x4E22}, //{0xE4, 0xB8, 0xA2}, // �� + {0xC1BD, 0x4E24}, //{0xE4, 0xB8, 0xA4}, // } + {0xD1CF, 0x4E25}, //{0xE4, 0xB8, 0xA5}, // �� {0xC9A5, 0x4E27}, //{0xE4, 0xB8, 0xA7}, // É¥ - {0xB8F6, 0x4E2A}, //{0xE4, 0xB8, 0xAA}, // ¸ö - {0xD6D0, 0x4E2D}, //{0xE4, 0xB8, 0xAD}, // ÖÐ - {0xB7E1, 0x4E30}, //{0xE4, 0xB8, 0xB0}, // ·á - {0xB4AE, 0x4E32}, //{0xE4, 0xB8, 0xB2}, // ´® - {0xC1D9, 0x4E34}, //{0xE4, 0xB8, 0xB4}, // ÁÙ - {0xCDE8, 0x4E38}, //{0xE4, 0xB8, 0xB8}, // Íè - {0xB5A4, 0x4E39}, //{0xE4, 0xB8, 0xB9}, // µ¤ + {0xB8F6, 0x4E2A}, //{0xE4, 0xB8, 0xAA}, // �� + {0xD6D0, 0x4E2D}, //{0xE4, 0xB8, 0xAD}, // �� + {0xB7E1, 0x4E30}, //{0xE4, 0xB8, 0xB0}, // �� + {0xB4AE, 0x4E32}, //{0xE4, 0xB8, 0xB2}, // �� + {0xC1D9, 0x4E34}, //{0xE4, 0xB8, 0xB4}, // �� + {0xCDE8, 0x4E38}, //{0xE4, 0xB8, 0xB8}, // �� + {0xB5A4, 0x4E39}, //{0xE4, 0xB8, 0xB9}, // �� {0xCEAA, 0x4E3A}, //{0xE4, 0xB8, 0xBA}, // Ϊ - {0xD6F7, 0x4E3B}, //{0xE4, 0xB8, 0xBB}, // Ö÷ - {0xC0F6, 0x4E3D}, //{0xE4, 0xB8, 0xBD}, // Àö - {0xBED9, 0x4E3E}, //{0xE4, 0xB8, 0xBE}, // ¾Ù - {0xC4CB, 0x4E43}, //{0xE4, 0xB9, 0x83}, // ÄË - {0xBEC3, 0x4E45}, //{0xE4, 0xB9, 0x85}, // ¾Ã + {0xD6F7, 0x4E3B}, //{0xE4, 0xB8, 0xBB}, // �� + {0xC0F6, 0x4E3D}, //{0xE4, 0xB8, 0xBD}, // �� + {0xBED9, 0x4E3E}, //{0xE4, 0xB8, 0xBE}, // �� + {0xC4CB, 0x4E43}, //{0xE4, 0xB9, 0x83}, // �� + {0xBEC3, 0x4E45}, //{0xE4, 0xB9, 0x85}, // �� {0xC3B4, 0x4E48}, //{0xE4, 0xB9, 0x88}, // ô - {0xD2E5, 0x4E49}, //{0xE4, 0xB9, 0x89}, // Òå + {0xD2E5, 0x4E49}, //{0xE4, 0xB9, 0x89}, // �� {0xD6AE, 0x4E4B}, //{0xE4, 0xB9, 0x8B}, // Ö® - {0xCEDA, 0x4E4C}, //{0xE4, 0xB9, 0x8C}, // ÎÚ + {0xCEDA, 0x4E4C}, //{0xE4, 0xB9, 0x8C}, // �� {0xD5A7, 0x4E4D}, //{0xE4, 0xB9, 0x8D}, // Õ§ - {0xBAF5, 0x4E4E}, //{0xE4, 0xB9, 0x8E}, // ºõ - {0xB7A6, 0x4E4F}, //{0xE4, 0xB9, 0x8F}, // ·¦ - {0xC0D6, 0x4E50}, //{0xE4, 0xB9, 0x90}, // ÀÖ + {0xBAF5, 0x4E4E}, //{0xE4, 0xB9, 0x8E}, // �� + {0xB7A6, 0x4E4F}, //{0xE4, 0xB9, 0x8F}, // �� + {0xC0D6, 0x4E50}, //{0xE4, 0xB9, 0x90}, // �� {0xC6B9, 0x4E52}, //{0xE4, 0xB9, 0x92}, // ƹ - {0xC5D2, 0x4E53}, //{0xE4, 0xB9, 0x93}, // ÅÒ - {0xC7C7, 0x4E54}, //{0xE4, 0xB9, 0x94}, // ÇÇ - {0xB9D4, 0x4E56}, //{0xE4, 0xB9, 0x96}, // ¹Ô - {0xB3CB, 0x4E58}, //{0xE4, 0xB9, 0x98}, // ³Ë - {0xD2D2, 0x4E59}, //{0xE4, 0xB9, 0x99}, // ÒÒ - {0xBEC5, 0x4E5D}, //{0xE4, 0xB9, 0x9D}, // ¾Å - {0xC6F2, 0x4E5E}, //{0xE4, 0xB9, 0x9E}, // Æò + {0xC5D2, 0x4E53}, //{0xE4, 0xB9, 0x93}, // �� + {0xC7C7, 0x4E54}, //{0xE4, 0xB9, 0x94}, // �� + {0xB9D4, 0x4E56}, //{0xE4, 0xB9, 0x96}, // �� + {0xB3CB, 0x4E58}, //{0xE4, 0xB9, 0x98}, // �� + {0xD2D2, 0x4E59}, //{0xE4, 0xB9, 0x99}, // �� + {0xBEC5, 0x4E5D}, //{0xE4, 0xB9, 0x9D}, // �� + {0xC6F2, 0x4E5E}, //{0xE4, 0xB9, 0x9E}, // �� {0xD2B2, 0x4E5F}, //{0xE4, 0xB9, 0x9F}, // Ò² {0xCFB0, 0x4E60}, //{0xE4, 0xB9, 0xA0}, // ϰ - {0xCFE7, 0x4E61}, //{0xE4, 0xB9, 0xA1}, // Ïç - {0xCAE9, 0x4E66}, //{0xE4, 0xB9, 0xA6}, // Êé - {0xC2F2, 0x4E70}, //{0xE4, 0xB9, 0xB0}, // Âò - {0xC2D2, 0x4E71}, //{0xE4, 0xB9, 0xB1}, // ÂÒ - {0xC8E9, 0x4E73}, //{0xE4, 0xB9, 0xB3}, // Èé - {0xC1CB, 0x4E86}, //{0xE4, 0xBA, 0x86}, // ÁË - {0xD3E8, 0x4E88}, //{0xE4, 0xBA, 0x88}, // Óè - {0xD5F9, 0x4E89}, //{0xE4, 0xBA, 0x89}, // Õù - {0xCAC2, 0x4E8B}, //{0xE4, 0xBA, 0x8B}, // Ê - {0xB6FE, 0x4E8C}, //{0xE4, 0xBA, 0x8C}, // ¶þ - {0xD3DA, 0x4E8E}, //{0xE4, 0xBA, 0x8E}, // ÓÚ - {0xBFF7, 0x4E8F}, //{0xE4, 0xBA, 0x8F}, // ¿÷ - {0xD4C6, 0x4E91}, //{0xE4, 0xBA, 0x91}, // ÔÆ - {0xBBA5, 0x4E92}, //{0xE4, 0xBA, 0x92}, // »¥ - {0xCEE5, 0x4E94}, //{0xE4, 0xBA, 0x94}, // Îå - {0xBEAE, 0x4E95}, //{0xE4, 0xBA, 0x95}, // ¾® - {0xD1C7, 0x4E9A}, //{0xE4, 0xBA, 0x9A}, // ÑÇ + {0xCFE7, 0x4E61}, //{0xE4, 0xB9, 0xA1}, // �� + {0xCAE9, 0x4E66}, //{0xE4, 0xB9, 0xA6}, // �� + {0xC2F2, 0x4E70}, //{0xE4, 0xB9, 0xB0}, // �� + {0xC2D2, 0x4E71}, //{0xE4, 0xB9, 0xB1}, // �� + {0xC8E9, 0x4E73}, //{0xE4, 0xB9, 0xB3}, // �� + {0xC1CB, 0x4E86}, //{0xE4, 0xBA, 0x86}, // �� + {0xD3E8, 0x4E88}, //{0xE4, 0xBA, 0x88}, // �� + {0xD5F9, 0x4E89}, //{0xE4, 0xBA, 0x89}, // �� + {0xCAC2, 0x4E8B}, //{0xE4, 0xBA, 0x8B}, // �� + {0xB6FE, 0x4E8C}, //{0xE4, 0xBA, 0x8C}, // �� + {0xD3DA, 0x4E8E}, //{0xE4, 0xBA, 0x8E}, // �� + {0xBFF7, 0x4E8F}, //{0xE4, 0xBA, 0x8F}, // �� + {0xD4C6, 0x4E91}, //{0xE4, 0xBA, 0x91}, // �� + {0xBBA5, 0x4E92}, //{0xE4, 0xBA, 0x92}, // �� + {0xCEE5, 0x4E94}, //{0xE4, 0xBA, 0x94}, // �� + {0xBEAE, 0x4E95}, //{0xE4, 0xBA, 0x95}, // �� + {0xD1C7, 0x4E9A}, //{0xE4, 0xBA, 0x9A}, // �� {0xD0A9, 0x4E9B}, //{0xE4, 0xBA, 0x9B}, // Щ - {0xCDF6, 0x4EA1}, //{0xE4, 0xBA, 0xA1}, // Íö - {0xBDBB, 0x4EA4}, //{0xE4, 0xBA, 0xA4}, // ½» - {0xBAA5, 0x4EA5}, //{0xE4, 0xBA, 0xA5}, // º¥ - {0xD2E0, 0x4EA6}, //{0xE4, 0xBA, 0xA6}, // Òà - {0xB2FA, 0x4EA7}, //{0xE4, 0xBA, 0xA7}, // ²ú + {0xCDF6, 0x4EA1}, //{0xE4, 0xBA, 0xA1}, // �� + {0xBDBB, 0x4EA4}, //{0xE4, 0xBA, 0xA4}, // �� + {0xBAA5, 0x4EA5}, //{0xE4, 0xBA, 0xA5}, // �� + {0xD2E0, 0x4EA6}, //{0xE4, 0xBA, 0xA6}, // �� + {0xB2FA, 0x4EA7}, //{0xE4, 0xBA, 0xA7}, // �� {0xC4B6, 0x4EA9}, //{0xE4, 0xBA, 0xA9}, // Ķ - {0xCFED, 0x4EAB}, //{0xE4, 0xBA, 0xAB}, // Ïí - {0xBEA9, 0x4EAC}, //{0xE4, 0xBA, 0xAC}, // ¾© + {0xCFED, 0x4EAB}, //{0xE4, 0xBA, 0xAB}, // �� + {0xBEA9, 0x4EAC}, //{0xE4, 0xBA, 0xAC}, // �� {0xCDA4, 0x4EAD}, //{0xE4, 0xBA, 0xAD}, // ͤ - {0xC1C1, 0x4EAE}, //{0xE4, 0xBA, 0xAE}, // ÁÁ - {0xC7D7, 0x4EB2}, //{0xE4, 0xBA, 0xB2}, // Ç× - {0xC8CB, 0x4EBA}, //{0xE4, 0xBA, 0xBA}, // ÈË - {0xD2DA, 0x4EBF}, //{0xE4, 0xBA, 0xBF}, // ÒÚ + {0xC1C1, 0x4EAE}, //{0xE4, 0xBA, 0xAE}, // �� + {0xC7D7, 0x4EB2}, //{0xE4, 0xBA, 0xB2}, // �� + {0xC8CB, 0x4EBA}, //{0xE4, 0xBA, 0xBA}, // �� + {0xD2DA, 0x4EBF}, //{0xE4, 0xBA, 0xBF}, // �� {0xCAB2, 0x4EC0}, //{0xE4, 0xBB, 0x80}, // ʲ - {0xC8CA, 0x4EC1}, //{0xE4, 0xBB, 0x81}, // ÈÊ - {0xBDF6, 0x4EC5}, //{0xE4, 0xBB, 0x85}, // ½ö - {0xC6CD, 0x4EC6}, //{0xE4, 0xBB, 0x86}, // ÆÍ - {0xB3F0, 0x4EC7}, //{0xE4, 0xBB, 0x87}, // ³ð - {0xBDF1, 0x4ECA}, //{0xE4, 0xBB, 0x8A}, // ½ñ - {0xBDE9, 0x4ECB}, //{0xE4, 0xBB, 0x8B}, // ½é - {0xC8D4, 0x4ECD}, //{0xE4, 0xBB, 0x8D}, // ÈÔ - {0xB4D3, 0x4ECE}, //{0xE4, 0xBB, 0x8E}, // ´Ó - {0xC2D8, 0x4ED1}, //{0xE4, 0xBB, 0x91}, // ÂØ - {0xB2D6, 0x4ED3}, //{0xE4, 0xBB, 0x93}, // ²Ö - {0xD7D0, 0x4ED4}, //{0xE4, 0xBB, 0x94}, // ×Ð - {0xCBFB, 0x4ED6}, //{0xE4, 0xBB, 0x96}, // Ëû - {0xD5CC, 0x4ED7}, //{0xE4, 0xBB, 0x97}, // ÕÌ - {0xB8B6, 0x4ED8}, //{0xE4, 0xBB, 0x98}, // ¸¶ - {0xCFC9, 0x4ED9}, //{0xE4, 0xBB, 0x99}, // ÏÉ - {0xB4FA, 0x4EE3}, //{0xE4, 0xBB, 0xA3}, // ´ú - {0xC1EE, 0x4EE4}, //{0xE4, 0xBB, 0xA4}, // Áî - {0xD2D4, 0x4EE5}, //{0xE4, 0xBB, 0xA5}, // ÒÔ - {0xD2C7, 0x4EEA}, //{0xE4, 0xBB, 0xAA}, // ÒÇ - {0xC3C7, 0x4EEC}, //{0xE4, 0xBB, 0xAC}, // ÃÇ - {0xD1F6, 0x4EF0}, //{0xE4, 0xBB, 0xB0}, // Ñö - {0xD6D9, 0x4EF2}, //{0xE4, 0xBB, 0xB2}, // ÖÙ - {0xBCFE, 0x4EF6}, //{0xE4, 0xBB, 0xB6}, // ¼þ - {0xBCDB, 0x4EF7}, //{0xE4, 0xBB, 0xB7}, // ¼Û - {0xC8CE, 0x4EFB}, //{0xE4, 0xBB, 0xBB}, // ÈÎ - {0xB7DD, 0x4EFD}, //{0xE4, 0xBB, 0xBD}, // ·Ý - {0xB7C2, 0x4EFF}, //{0xE4, 0xBB, 0xBF}, // ·Â - {0xC6F3, 0x4F01}, //{0xE4, 0xBC, 0x81}, // Æó - {0xD2C1, 0x4F0A}, //{0xE4, 0xBC, 0x8A}, // ÒÁ - {0xCEE9, 0x4F0D}, //{0xE4, 0xBC, 0x8D}, // Îé - {0xB7FC, 0x4F0F}, //{0xE4, 0xBC, 0x8F}, // ·ü - {0xB7A5, 0x4F10}, //{0xE4, 0xBC, 0x90}, // ·¥ - {0xD0DD, 0x4F11}, //{0xE4, 0xBC, 0x91}, // ÐÝ - {0xD6DA, 0x4F17}, //{0xE4, 0xBC, 0x97}, // ÖÚ - {0xD3C5, 0x4F18}, //{0xE4, 0xBC, 0x98}, // ÓÅ - {0xBBEF, 0x4F19}, //{0xE4, 0xBC, 0x99}, // »ï - {0xBBE1, 0x4F1A}, //{0xE4, 0xBC, 0x9A}, // »á + {0xC8CA, 0x4EC1}, //{0xE4, 0xBB, 0x81}, // �� + {0xBDF6, 0x4EC5}, //{0xE4, 0xBB, 0x85}, // �� + {0xC6CD, 0x4EC6}, //{0xE4, 0xBB, 0x86}, // �� + {0xB3F0, 0x4EC7}, //{0xE4, 0xBB, 0x87}, // �� + {0xBDF1, 0x4ECA}, //{0xE4, 0xBB, 0x8A}, // �� + {0xBDE9, 0x4ECB}, //{0xE4, 0xBB, 0x8B}, // �� + {0xC8D4, 0x4ECD}, //{0xE4, 0xBB, 0x8D}, // �� + {0xB4D3, 0x4ECE}, //{0xE4, 0xBB, 0x8E}, // �� + {0xC2D8, 0x4ED1}, //{0xE4, 0xBB, 0x91}, // �� + {0xB2D6, 0x4ED3}, //{0xE4, 0xBB, 0x93}, // �� + {0xD7D0, 0x4ED4}, //{0xE4, 0xBB, 0x94}, // �� + {0xCBFB, 0x4ED6}, //{0xE4, 0xBB, 0x96}, // �� + {0xD5CC, 0x4ED7}, //{0xE4, 0xBB, 0x97}, // �� + {0xB8B6, 0x4ED8}, //{0xE4, 0xBB, 0x98}, // �� + {0xCFC9, 0x4ED9}, //{0xE4, 0xBB, 0x99}, // �� + {0xB4FA, 0x4EE3}, //{0xE4, 0xBB, 0xA3}, // �� + {0xC1EE, 0x4EE4}, //{0xE4, 0xBB, 0xA4}, // �� + {0xD2D4, 0x4EE5}, //{0xE4, 0xBB, 0xA5}, // �� + {0xD2C7, 0x4EEA}, //{0xE4, 0xBB, 0xAA}, // �� + {0xC3C7, 0x4EEC}, //{0xE4, 0xBB, 0xAC}, // �� + {0xD1F6, 0x4EF0}, //{0xE4, 0xBB, 0xB0}, // �� + {0xD6D9, 0x4EF2}, //{0xE4, 0xBB, 0xB2}, // �� + {0xBCFE, 0x4EF6}, //{0xE4, 0xBB, 0xB6}, // �� + {0xBCDB, 0x4EF7}, //{0xE4, 0xBB, 0xB7}, // �� + {0xC8CE, 0x4EFB}, //{0xE4, 0xBB, 0xBB}, // �� + {0xB7DD, 0x4EFD}, //{0xE4, 0xBB, 0xBD}, // �� + {0xB7C2, 0x4EFF}, //{0xE4, 0xBB, 0xBF}, // �� + {0xC6F3, 0x4F01}, //{0xE4, 0xBC, 0x81}, // �� + {0xD2C1, 0x4F0A}, //{0xE4, 0xBC, 0x8A}, // �� + {0xCEE9, 0x4F0D}, //{0xE4, 0xBC, 0x8D}, // �� + {0xB7FC, 0x4F0F}, //{0xE4, 0xBC, 0x8F}, // �� + {0xB7A5, 0x4F10}, //{0xE4, 0xBC, 0x90}, // �� + {0xD0DD, 0x4F11}, //{0xE4, 0xBC, 0x91}, // �� + {0xD6DA, 0x4F17}, //{0xE4, 0xBC, 0x97}, // �� + {0xD3C5, 0x4F18}, //{0xE4, 0xBC, 0x98}, // �� + {0xBBEF, 0x4F19}, //{0xE4, 0xBC, 0x99}, // �� + {0xBBE1, 0x4F1A}, //{0xE4, 0xBC, 0x9A}, // �� {0xC9A1, 0x4F1E}, //{0xE4, 0xBC, 0x9E}, // É¡ {0xCEB0, 0x4F1F}, //{0xE4, 0xBC, 0x9F}, // ΰ - {0xB4AB, 0x4F20}, //{0xE4, 0xBC, 0xA0}, // ´« - {0xC9CB, 0x4F24}, //{0xE4, 0xBC, 0xA4}, // ÉË - {0xC2D7, 0x4F26}, //{0xE4, 0xBC, 0xA6}, // Â× + {0xB4AB, 0x4F20}, //{0xE4, 0xBC, 0xA0}, // �� + {0xC9CB, 0x4F24}, //{0xE4, 0xBC, 0xA4}, // �� + {0xC2D7, 0x4F26}, //{0xE4, 0xBC, 0xA6}, // �� {0xCEB1, 0x4F2A}, //{0xE4, 0xBC, 0xAA}, // α - {0xB2AE, 0x4F2F}, //{0xE4, 0xBC, 0xAF}, // ²® - {0xB9C0, 0x4F30}, //{0xE4, 0xBC, 0xB0}, // ¹À - {0xB0E9, 0x4F34}, //{0xE4, 0xBC, 0xB4}, // °é - {0xC1E6, 0x4F36}, //{0xE4, 0xBC, 0xB6}, // Áæ - {0xC9EC, 0x4F38}, //{0xE4, 0xBC, 0xB8}, // Éì - {0xCBC5, 0x4F3A}, //{0xE4, 0xBC, 0xBA}, // ËÅ - {0xCBC6, 0x4F3C}, //{0xE4, 0xBC, 0xBC}, // ËÆ - {0xB5E8, 0x4F43}, //{0xE4, 0xBD, 0x83}, // µè - {0xB5AB, 0x4F46}, //{0xE4, 0xBD, 0x86}, // µ« + {0xB2AE, 0x4F2F}, //{0xE4, 0xBC, 0xAF}, // �� + {0xB9C0, 0x4F30}, //{0xE4, 0xBC, 0xB0}, // �� + {0xB0E9, 0x4F34}, //{0xE4, 0xBC, 0xB4}, // �� + {0xC1E6, 0x4F36}, //{0xE4, 0xBC, 0xB6}, // �� + {0xC9EC, 0x4F38}, //{0xE4, 0xBC, 0xB8}, // �� + {0xCBC5, 0x4F3A}, //{0xE4, 0xBC, 0xBA}, // �� + {0xCBC6, 0x4F3C}, //{0xE4, 0xBC, 0xBC}, // �� + {0xB5E8, 0x4F43}, //{0xE4, 0xBD, 0x83}, // �� + {0xB5AB, 0x4F46}, //{0xE4, 0xBD, 0x86}, // �� {0xCEBB, 0x4F4D}, //{0xE4, 0xBD, 0x8D}, // λ - {0xB5CD, 0x4F4E}, //{0xE4, 0xBD, 0x8E}, // µÍ + {0xB5CD, 0x4F4E}, //{0xE4, 0xBD, 0x8E}, // �� {0xD7A1, 0x4F4F}, //{0xE4, 0xBD, 0x8F}, // ס - {0xD3D3, 0x4F51}, //{0xE4, 0xBD, 0x91}, // ÓÓ - {0xCCE5, 0x4F53}, //{0xE4, 0xBD, 0x93}, // Ìå - {0xBACE, 0x4F55}, //{0xE4, 0xBD, 0x95}, // ºÎ - {0xD3E0, 0x4F59}, //{0xE4, 0xBD, 0x99}, // Óà - {0xB7F0, 0x4F5B}, //{0xE4, 0xBD, 0x9B}, // ·ð - {0xD7F7, 0x4F5C}, //{0xE4, 0xBD, 0x9C}, // ×÷ - {0xC4E3, 0x4F60}, //{0xE4, 0xBD, 0xA0}, // Äã + {0xD3D3, 0x4F51}, //{0xE4, 0xBD, 0x91}, // �� + {0xCCE5, 0x4F53}, //{0xE4, 0xBD, 0x93}, // �� + {0xBACE, 0x4F55}, //{0xE4, 0xBD, 0x95}, // �� + {0xD3E0, 0x4F59}, //{0xE4, 0xBD, 0x99}, // �� + {0xB7F0, 0x4F5B}, //{0xE4, 0xBD, 0x9B}, // �� + {0xD7F7, 0x4F5C}, //{0xE4, 0xBD, 0x9C}, // �� + {0xC4E3, 0x4F60}, //{0xE4, 0xBD, 0xA0}, // �� {0xD3B6, 0x4F63}, //{0xE4, 0xBD, 0xA3}, // Ó¶ - {0xC5E5, 0x4F69}, //{0xE4, 0xBD, 0xA9}, // Åå - {0xBCD1, 0x4F73}, //{0xE4, 0xBD, 0xB3}, // ¼Ñ + {0xC5E5, 0x4F69}, //{0xE4, 0xBD, 0xA9}, // �� + {0xBCD1, 0x4F73}, //{0xE4, 0xBD, 0xB3}, // �� {0xCAB9, 0x4F7F}, //{0xE4, 0xBD, 0xBF}, // ʹ {0xD6B6, 0x4F84}, //{0xE4, 0xBE, 0x84}, // Ö¶ - {0xB3DE, 0x4F88}, //{0xE4, 0xBE, 0x88}, // ³Þ - {0xC0FD, 0x4F8B}, //{0xE4, 0xBE, 0x8B}, // Àý - {0xCACC, 0x4F8D}, //{0xE4, 0xBE, 0x8D}, // ÊÌ - {0xB9A9, 0x4F9B}, //{0xE4, 0xBE, 0x9B}, // ¹© - {0xD2C0, 0x4F9D}, //{0xE4, 0xBE, 0x9D}, // ÒÀ - {0xCFC0, 0x4FA0}, //{0xE4, 0xBE, 0xA0}, // ÏÀ - {0xC2C2, 0x4FA3}, //{0xE4, 0xBE, 0xA3}, //  - {0xBDC4, 0x4FA5}, //{0xE4, 0xBE, 0xA5}, // ½Ä - {0xD5EC, 0x4FA6}, //{0xE4, 0xBE, 0xA6}, // Õì - {0xB2E0, 0x4FA7}, //{0xE4, 0xBE, 0xA7}, // ²à - {0xC7C8, 0x4FA8}, //{0xE4, 0xBE, 0xA8}, // ÇÈ - {0xCEEA, 0x4FAE}, //{0xE4, 0xBE, 0xAE}, // Îê - {0xBAEE, 0x4FAF}, //{0xE4, 0xBE, 0xAF}, // ºî - {0xC7D6, 0x4FB5}, //{0xE4, 0xBE, 0xB5}, // ÇÖ - {0xB1E3, 0x4FBF}, //{0xE4, 0xBE, 0xBF}, // ±ã - {0xB4D9, 0x4FC3}, //{0xE4, 0xBF, 0x83}, // ´Ù - {0xB6ED, 0x4FC4}, //{0xE4, 0xBF, 0x84}, // ¶í - {0xBFA1, 0x4FCA}, //{0xE4, 0xBF, 0x8A}, // ¿¡ - {0xC7CE, 0x4FCF}, //{0xE4, 0xBF, 0x8F}, // ÇÎ - {0xC0FE, 0x4FD0}, //{0xE4, 0xBF, 0x90}, // Àþ - {0xCBD7, 0x4FD7}, //{0xE4, 0xBF, 0x97}, // Ë× - {0xB7FD, 0x4FD8}, //{0xE4, 0xBF, 0x98}, // ·ý - {0xB1A3, 0x4FDD}, //{0xE4, 0xBF, 0x9D}, // ±£ - {0xD0C5, 0x4FE1}, //{0xE4, 0xBF, 0xA1}, // ÐÅ - {0xC1A9, 0x4FE9}, //{0xE4, 0xBF, 0xA9}, // Á© - {0xBCF3, 0x4FED}, //{0xE4, 0xBF, 0xAD}, // ¼ó - {0xD0DE, 0x4FEE}, //{0xE4, 0xBF, 0xAE}, // ÐÞ - {0xB8A9, 0x4FEF}, //{0xE4, 0xBF, 0xAF}, // ¸© - {0xBEE3, 0x4FF1}, //{0xE4, 0xBF, 0xB1}, // ¾ã - {0xB0B3, 0x4FFA}, //{0xE4, 0xBF, 0xBA}, // °³ - {0xB1B6, 0x500D}, //{0xE5, 0x80, 0x8D}, // ±¶ - {0xB5B9, 0x5012}, //{0xE5, 0x80, 0x92}, // µ¹ - {0xBEF3, 0x5014}, //{0xE5, 0x80, 0x94}, // ¾ó - {0xCCC8, 0x5018}, //{0xE5, 0x80, 0x98}, // ÌÈ - {0xBAF2, 0x5019}, //{0xE5, 0x80, 0x99}, // ºò - {0xD2D0, 0x501A}, //{0xE5, 0x80, 0x9A}, // ÒÐ - {0xBDE8, 0x501F}, //{0xE5, 0x80, 0x9F}, // ½è - {0xB3AB, 0x5021}, //{0xE5, 0x80, 0xA1}, // ³« - {0xBEEB, 0x5026}, //{0xE5, 0x80, 0xA6}, // ¾ë + {0xB3DE, 0x4F88}, //{0xE4, 0xBE, 0x88}, // �� + {0xC0FD, 0x4F8B}, //{0xE4, 0xBE, 0x8B}, // �� + {0xCACC, 0x4F8D}, //{0xE4, 0xBE, 0x8D}, // �� + {0xB9A9, 0x4F9B}, //{0xE4, 0xBE, 0x9B}, // �� + {0xD2C0, 0x4F9D}, //{0xE4, 0xBE, 0x9D}, // �� + {0xCFC0, 0x4FA0}, //{0xE4, 0xBE, 0xA0}, // �� + {0xC2C2, 0x4FA3}, //{0xE4, 0xBE, 0xA3}, // �� + {0xBDC4, 0x4FA5}, //{0xE4, 0xBE, 0xA5}, // �� + {0xD5EC, 0x4FA6}, //{0xE4, 0xBE, 0xA6}, // �� + {0xB2E0, 0x4FA7}, //{0xE4, 0xBE, 0xA7}, // �� + {0xC7C8, 0x4FA8}, //{0xE4, 0xBE, 0xA8}, // �� + {0xCEEA, 0x4FAE}, //{0xE4, 0xBE, 0xAE}, // �� + {0xBAEE, 0x4FAF}, //{0xE4, 0xBE, 0xAF}, // �� + {0xC7D6, 0x4FB5}, //{0xE4, 0xBE, 0xB5}, // �� + {0xB1E3, 0x4FBF}, //{0xE4, 0xBE, 0xBF}, // �� + {0xB4D9, 0x4FC3}, //{0xE4, 0xBF, 0x83}, // �� + {0xB6ED, 0x4FC4}, //{0xE4, 0xBF, 0x84}, // �� + {0xBFA1, 0x4FCA}, //{0xE4, 0xBF, 0x8A}, // �� + {0xC7CE, 0x4FCF}, //{0xE4, 0xBF, 0x8F}, // �� + {0xC0FE, 0x4FD0}, //{0xE4, 0xBF, 0x90}, // �� + {0xCBD7, 0x4FD7}, //{0xE4, 0xBF, 0x97}, // �� + {0xB7FD, 0x4FD8}, //{0xE4, 0xBF, 0x98}, // �� + {0xB1A3, 0x4FDD}, //{0xE4, 0xBF, 0x9D}, // �� + {0xD0C5, 0x4FE1}, //{0xE4, 0xBF, 0xA1}, // �� + {0xC1A9, 0x4FE9}, //{0xE4, 0xBF, 0xA9}, // i + {0xBCF3, 0x4FED}, //{0xE4, 0xBF, 0xAD}, // �� + {0xD0DE, 0x4FEE}, //{0xE4, 0xBF, 0xAE}, // �� + {0xB8A9, 0x4FEF}, //{0xE4, 0xBF, 0xAF}, // �� + {0xBEE3, 0x4FF1}, //{0xE4, 0xBF, 0xB1}, // �� + {0xB0B3, 0x4FFA}, //{0xE4, 0xBF, 0xBA}, // �� + {0xB1B6, 0x500D}, //{0xE5, 0x80, 0x8D}, // �� + {0xB5B9, 0x5012}, //{0xE5, 0x80, 0x92}, // �� + {0xBEF3, 0x5014}, //{0xE5, 0x80, 0x94}, // �� + {0xCCC8, 0x5018}, //{0xE5, 0x80, 0x98}, // �� + {0xBAF2, 0x5019}, //{0xE5, 0x80, 0x99}, // �� + {0xD2D0, 0x501A}, //{0xE5, 0x80, 0x9A}, // �� + {0xBDE8, 0x501F}, //{0xE5, 0x80, 0x9F}, // �� + {0xB3AB, 0x5021}, //{0xE5, 0x80, 0xA1}, // �� + {0xBEEB, 0x5026}, //{0xE5, 0x80, 0xA6}, // �� {0xD5AE, 0x503A}, //{0xE5, 0x80, 0xBA}, // Õ® {0xD6B5, 0x503C}, //{0xE5, 0x80, 0xBC}, // Öµ - {0xC7E3, 0x503E}, //{0xE5, 0x80, 0xBE}, // Çã - {0xBCD9, 0x5047}, //{0xE5, 0x81, 0x87}, // ¼Ù - {0xD9CB, 0x504E}, //{0xE5, 0x81, 0x8E}, // ÙË + {0xC7E3, 0x503E}, //{0xE5, 0x80, 0xBE}, // �� + {0xBCD9, 0x5047}, //{0xE5, 0x81, 0x87}, // �� + {0xD9CB, 0x504E}, //{0xE5, 0x81, 0x8E}, // �� {0xC6AB, 0x504F}, //{0xE5, 0x81, 0x8F}, // Æ« - {0xD7F6, 0x505A}, //{0xE5, 0x81, 0x9A}, // ×ö + {0xD7F6, 0x505A}, //{0xE5, 0x81, 0x9A}, // �� {0xCDA3, 0x505C}, //{0xE5, 0x81, 0x9C}, // Í£ - {0xBDA1, 0x5065}, //{0xE5, 0x81, 0xA5}, // ½¡ + {0xBDA1, 0x5065}, //{0xE5, 0x81, 0xA5}, // �� {0xC5BC, 0x5076}, //{0xE5, 0x81, 0xB6}, // ż {0xCDB5, 0x5077}, //{0xE5, 0x81, 0xB7}, // ͵ - {0xB3A5, 0x507F}, //{0xE5, 0x81, 0xBF}, // ³¥ - {0xBFFE, 0x5080}, //{0xE5, 0x82, 0x80}, // ¿þ - {0xB8B5, 0x5085}, //{0xE5, 0x82, 0x85}, // ¸µ - {0xB0F8, 0x508D}, //{0xE5, 0x82, 0x8D}, // °ø - {0xB4A2, 0x50A8}, //{0xE5, 0x82, 0xA8}, // ´¢ - {0xB4DF, 0x50AC}, //{0xE5, 0x82, 0xAC}, // ´ß - {0xB0C1, 0x50B2}, //{0xE5, 0x82, 0xB2}, // °Á + {0xB3A5, 0x507F}, //{0xE5, 0x81, 0xBF}, // �� + {0xBFFE, 0x5080}, //{0xE5, 0x82, 0x80}, // �� + {0xB8B5, 0x5085}, //{0xE5, 0x82, 0x85}, // �� + {0xB0F8, 0x508D}, //{0xE5, 0x82, 0x8D}, // �� + {0xB4A2, 0x50A8}, //{0xE5, 0x82, 0xA8}, // �� + {0xB4DF, 0x50AC}, //{0xE5, 0x82, 0xAC}, // �� + {0xB0C1, 0x50B2}, //{0xE5, 0x82, 0xB2}, // �� {0xC9B5, 0x50BB}, //{0xE5, 0x82, 0xBB}, // ɵ - {0xCFF1, 0x50CF}, //{0xE5, 0x83, 0x8F}, // Ïñ - {0xC1C5, 0x50DA}, //{0xE5, 0x83, 0x9A}, // ÁÅ + {0xCFF1, 0x50CF}, //{0xE5, 0x83, 0x8F}, // �� + {0xC1C5, 0x50DA}, //{0xE5, 0x83, 0x9A}, // �� {0xC9AE, 0x50E7}, //{0xE5, 0x83, 0xA7}, // É® - {0xBDA9, 0x50F5}, //{0xE5, 0x83, 0xB5}, // ½© + {0xBDA9, 0x50F5}, //{0xE5, 0x83, 0xB5}, // �� {0xC6A7, 0x50FB}, //{0xE5, 0x83, 0xBB}, // Ƨ - {0xC8E5, 0x5112}, //{0xE5, 0x84, 0x92}, // Èå - {0xC0DC, 0x5121}, //{0xE5, 0x84, 0xA1}, // ÀÜ - {0xB6F9, 0x513F}, //{0xE5, 0x84, 0xBF}, // ¶ù - {0xD4CA, 0x5141}, //{0xE5, 0x85, 0x81}, // ÔÊ + {0xC8E5, 0x5112}, //{0xE5, 0x84, 0x92}, // �� + {0xC0DC, 0x5121}, //{0xE5, 0x84, 0xA1}, // �� + {0xB6F9, 0x513F}, //{0xE5, 0x84, 0xBF}, // �� + {0xD4CA, 0x5141}, //{0xE5, 0x85, 0x81}, // �� {0xD4AA, 0x5143}, //{0xE5, 0x85, 0x83}, // Ôª - {0xD0D6, 0x5144}, //{0xE5, 0x85, 0x84}, // ÐÖ - {0xB3E4, 0x5145}, //{0xE5, 0x85, 0x85}, // ³ä - {0xD5D7, 0x5146}, //{0xE5, 0x85, 0x86}, // Õ× - {0xCFC8, 0x5148}, //{0xE5, 0x85, 0x88}, // ÏÈ - {0xB9E2, 0x5149}, //{0xE5, 0x85, 0x89}, // ¹â - {0xBFCB, 0x514B}, //{0xE5, 0x85, 0x8B}, // ¿Ë - {0xC3E2, 0x514D}, //{0xE5, 0x85, 0x8D}, // Ãâ - {0xB6D2, 0x5151}, //{0xE5, 0x85, 0x91}, // ¶Ò - {0xCDC3, 0x5154}, //{0xE5, 0x85, 0x94}, // Íà - {0xB5B3, 0x515A}, //{0xE5, 0x85, 0x9A}, // µ³ - {0xB6B5, 0x515C}, //{0xE5, 0x85, 0x9C}, // ¶µ - {0xBEA4, 0x5162}, //{0xE5, 0x85, 0xA2}, // ¾¤ - {0xC8EB, 0x5165}, //{0xE5, 0x85, 0xA5}, // Èë + {0xD0D6, 0x5144}, //{0xE5, 0x85, 0x84}, // �� + {0xB3E4, 0x5145}, //{0xE5, 0x85, 0x85}, // �� + {0xD5D7, 0x5146}, //{0xE5, 0x85, 0x86}, // �� + {0xCFC8, 0x5148}, //{0xE5, 0x85, 0x88}, // �� + {0xB9E2, 0x5149}, //{0xE5, 0x85, 0x89}, // �� + {0xBFCB, 0x514B}, //{0xE5, 0x85, 0x8B}, // �� + {0xC3E2, 0x514D}, //{0xE5, 0x85, 0x8D}, // �� + {0xB6D2, 0x5151}, //{0xE5, 0x85, 0x91}, // �� + {0xCDC3, 0x5154}, //{0xE5, 0x85, 0x94}, // �� + {0xB5B3, 0x515A}, //{0xE5, 0x85, 0x9A}, // �� + {0xB6B5, 0x515C}, //{0xE5, 0x85, 0x9C}, // �� + {0xBEA4, 0x5162}, //{0xE5, 0x85, 0xA2}, // �� + {0xC8EB, 0x5165}, //{0xE5, 0x85, 0xA5}, // �� {0xC8AB, 0x5168}, //{0xE5, 0x85, 0xA8}, // È« - {0xB0CB, 0x516B}, //{0xE5, 0x85, 0xAB}, // °Ë - {0xB9AB, 0x516C}, //{0xE5, 0x85, 0xAC}, // ¹« - {0xC1F9, 0x516D}, //{0xE5, 0x85, 0xAD}, // Áù - {0xC0BC, 0x5170}, //{0xE5, 0x85, 0xB0}, // À¼ - {0xB9B2, 0x5171}, //{0xE5, 0x85, 0xB1}, // ¹² - {0xB9D8, 0x5173}, //{0xE5, 0x85, 0xB3}, // ¹Ø - {0xD0CB, 0x5174}, //{0xE5, 0x85, 0xB4}, // ÐË - {0xB1F8, 0x5175}, //{0xE5, 0x85, 0xB5}, // ±ø - {0xC6E4, 0x5176}, //{0xE5, 0x85, 0xB6}, // Æä - {0xBEDF, 0x5177}, //{0xE5, 0x85, 0xB7}, // ¾ß - {0xB5E4, 0x5178}, //{0xE5, 0x85, 0xB8}, // µä - {0xD1F8, 0x517B}, //{0xE5, 0x85, 0xBB}, // Ñø - {0xBCE6, 0x517C}, //{0xE5, 0x85, 0xBC}, // ¼æ - {0xCADE, 0x517D}, //{0xE5, 0x85, 0xBD}, // ÊÞ - {0xBCBD, 0x5180}, //{0xE5, 0x86, 0x80}, // ¼½ - {0xC4DA, 0x5185}, //{0xE5, 0x86, 0x85}, // ÄÚ - {0xB8D4, 0x5188}, //{0xE5, 0x86, 0x88}, // ¸Ô - {0xB2E1, 0x518C}, //{0xE5, 0x86, 0x8C}, // ²á - {0xD4D9, 0x518D}, //{0xE5, 0x86, 0x8D}, // ÔÙ + {0xB0CB, 0x516B}, //{0xE5, 0x85, 0xAB}, // �� + {0xB9AB, 0x516C}, //{0xE5, 0x85, 0xAC}, // �� + {0xC1F9, 0x516D}, //{0xE5, 0x85, 0xAD}, // �� + {0xC0BC, 0x5170}, //{0xE5, 0x85, 0xB0}, // < + {0xB9B2, 0x5171}, //{0xE5, 0x85, 0xB1}, // �� + {0xB9D8, 0x5173}, //{0xE5, 0x85, 0xB3}, // �� + {0xD0CB, 0x5174}, //{0xE5, 0x85, 0xB4}, // �� + {0xB1F8, 0x5175}, //{0xE5, 0x85, 0xB5}, // �� + {0xC6E4, 0x5176}, //{0xE5, 0x85, 0xB6}, // �� + {0xBEDF, 0x5177}, //{0xE5, 0x85, 0xB7}, // �� + {0xB5E4, 0x5178}, //{0xE5, 0x85, 0xB8}, // �� + {0xD1F8, 0x517B}, //{0xE5, 0x85, 0xBB}, // �� + {0xBCE6, 0x517C}, //{0xE5, 0x85, 0xBC}, // �� + {0xCADE, 0x517D}, //{0xE5, 0x85, 0xBD}, // �� + {0xBCBD, 0x5180}, //{0xE5, 0x86, 0x80}, // �� + {0xC4DA, 0x5185}, //{0xE5, 0x86, 0x85}, // �� + {0xB8D4, 0x5188}, //{0xE5, 0x86, 0x88}, // �� + {0xB2E1, 0x518C}, //{0xE5, 0x86, 0x8C}, // �� + {0xD4D9, 0x518D}, //{0xE5, 0x86, 0x8D}, // �� {0xC3B0, 0x5192}, //{0xE5, 0x86, 0x92}, // ð - {0xC3E1, 0x5195}, //{0xE5, 0x86, 0x95}, // Ãá - {0xC8DF, 0x5197}, //{0xE5, 0x86, 0x97}, // Èß + {0xC3E1, 0x5195}, //{0xE5, 0x86, 0x95}, // �� + {0xC8DF, 0x5197}, //{0xE5, 0x86, 0x97}, // �� {0xD0B4, 0x5199}, //{0xE5, 0x86, 0x99}, // д - {0xBEFC, 0x519B}, //{0xE5, 0x86, 0x9B}, // ¾ü + {0xBEFC, 0x519B}, //{0xE5, 0x86, 0x9B}, // �� {0xC5A9, 0x519C}, //{0xE5, 0x86, 0x9C}, // Å© - {0xB9DA, 0x51A0}, //{0xE5, 0x86, 0xA0}, // ¹Ú + {0xB9DA, 0x51A0}, //{0xE5, 0x86, 0xA0}, // �� {0xD4A9, 0x51A4}, //{0xE5, 0x86, 0xA4}, // Ô© - {0xB6AC, 0x51AC}, //{0xE5, 0x86, 0xAC}, // ¶¬ - {0xB7EB, 0x51AF}, //{0xE5, 0x86, 0xAF}, // ·ë - {0xB1F9, 0x51B0}, //{0xE5, 0x86, 0xB0}, // ±ù - {0xB3E5, 0x51B2}, //{0xE5, 0x86, 0xB2}, // ³å - {0xBEF6, 0x51B3}, //{0xE5, 0x86, 0xB3}, // ¾ö - {0xBFF6, 0x51B5}, //{0xE5, 0x86, 0xB5}, // ¿ö + {0xB6AC, 0x51AC}, //{0xE5, 0x86, 0xAC}, // �� + {0xB7EB, 0x51AF}, //{0xE5, 0x86, 0xAF}, // �� + {0xB1F9, 0x51B0}, //{0xE5, 0x86, 0xB0}, // �� + {0xB3E5, 0x51B2}, //{0xE5, 0x86, 0xB2}, // �� + {0xBEF6, 0x51B3}, //{0xE5, 0x86, 0xB3}, // �� + {0xBFF6, 0x51B5}, //{0xE5, 0x86, 0xB5}, // �� {0xD2B1, 0x51B6}, //{0xE5, 0x86, 0xB6}, // Ò± - {0xC0E4, 0x51B7}, //{0xE5, 0x86, 0xB7}, // Àä - {0xB6B3, 0x51BB}, //{0xE5, 0x86, 0xBB}, // ¶³ - {0xBEBB, 0x51C0}, //{0xE5, 0x87, 0x80}, // ¾» - {0xC6E0, 0x51C4}, //{0xE5, 0x87, 0x84}, // Æà + {0xC0E4, 0x51B7}, //{0xE5, 0x86, 0xB7}, // �� + {0xB6B3, 0x51BB}, //{0xE5, 0x86, 0xBB}, // �� + {0xBEBB, 0x51C0}, //{0xE5, 0x87, 0x80}, // �� + {0xC6E0, 0x51C4}, //{0xE5, 0x87, 0x84}, // �� {0xD7BC, 0x51C6}, //{0xE5, 0x87, 0x86}, // ×¼ - {0xC1B9, 0x51C9}, //{0xE5, 0x87, 0x89}, // Á¹ - {0xC1E8, 0x51CC}, //{0xE5, 0x87, 0x8C}, // Áè - {0xBCF5, 0x51CF}, //{0xE5, 0x87, 0x8F}, // ¼õ - {0xB4D5, 0x51D1}, //{0xE5, 0x87, 0x91}, // ´Õ - {0xC1DD, 0x51DB}, //{0xE5, 0x87, 0x9B}, // ÁÝ - {0xC4FD, 0x51DD}, //{0xE5, 0x87, 0x9D}, // Äý - {0xBCB8, 0x51E0}, //{0xE5, 0x87, 0xA0}, // ¼¸ - {0xB7B2, 0x51E1}, //{0xE5, 0x87, 0xA1}, // ·² - {0xB7EF, 0x51E4}, //{0xE5, 0x87, 0xA4}, // ·ï - {0xD9EC, 0x51EB}, //{0xE5, 0x87, 0xAB}, // Ùì + {0xC1B9, 0x51C9}, //{0xE5, 0x87, 0x89}, // y + {0xC1E8, 0x51CC}, //{0xE5, 0x87, 0x8C}, // �� + {0xBCF5, 0x51CF}, //{0xE5, 0x87, 0x8F}, // �� + {0xB4D5, 0x51D1}, //{0xE5, 0x87, 0x91}, // �� + {0xC1DD, 0x51DB}, //{0xE5, 0x87, 0x9B}, // �� + {0xC4FD, 0x51DD}, //{0xE5, 0x87, 0x9D}, // �� + {0xBCB8, 0x51E0}, //{0xE5, 0x87, 0xA0}, // �� + {0xB7B2, 0x51E1}, //{0xE5, 0x87, 0xA1}, // �� + {0xB7EF, 0x51E4}, //{0xE5, 0x87, 0xA4}, // �� + {0xD9EC, 0x51EB}, //{0xE5, 0x87, 0xAB}, // �� {0xC6BE, 0x51ED}, //{0xE5, 0x87, 0xAD}, // ƾ - {0xBFAD, 0x51EF}, //{0xE5, 0x87, 0xAF}, // ¿­ - {0xBBCB, 0x51F0}, //{0xE5, 0x87, 0xB0}, // »Ë - {0xB5CA, 0x51F3}, //{0xE5, 0x87, 0xB3}, // µÊ - {0xD0D7, 0x51F6}, //{0xE5, 0x87, 0xB6}, // Ð× + {0xBFAD, 0x51EF}, //{0xE5, 0x87, 0xAF}, // �� + {0xBBCB, 0x51F0}, //{0xE5, 0x87, 0xB0}, // �� + {0xB5CA, 0x51F3}, //{0xE5, 0x87, 0xB3}, // �� + {0xD0D7, 0x51F6}, //{0xE5, 0x87, 0xB6}, // �� {0xCDB9, 0x51F8}, //{0xE5, 0x87, 0xB8}, // ͹ - {0xB0BC, 0x51F9}, //{0xE5, 0x87, 0xB9}, // °¼ - {0xB3F6, 0x51FA}, //{0xE5, 0x87, 0xBA}, // ³ö - {0xBBF7, 0x51FB}, //{0xE5, 0x87, 0xBB}, // »÷ - {0xBAAF, 0x51FD}, //{0xE5, 0x87, 0xBD}, // º¯ - {0xD4E4, 0x51FF}, //{0xE5, 0x87, 0xBF}, // Ôä - {0xB5B6, 0x5200}, //{0xE5, 0x88, 0x80}, // µ¶ - {0xB5F3, 0x5201}, //{0xE5, 0x88, 0x81}, // µó - {0xC8D0, 0x5203}, //{0xE5, 0x88, 0x83}, // ÈÐ - {0xB7D6, 0x5206}, //{0xE5, 0x88, 0x86}, // ·Ö - {0xC7D0, 0x5207}, //{0xE5, 0x88, 0x87}, // ÇÐ - {0xBFAF, 0x520A}, //{0xE5, 0x88, 0x8A}, // ¿¯ - {0xD0CC, 0x5211}, //{0xE5, 0x88, 0x91}, // ÐÌ - {0xBBAE, 0x5212}, //{0xE5, 0x88, 0x92}, // »® - {0xC1D0, 0x5217}, //{0xE5, 0x88, 0x97}, // ÁÐ - {0xC1F5, 0x5218}, //{0xE5, 0x88, 0x98}, // Áõ - {0xD4F2, 0x5219}, //{0xE5, 0x88, 0x99}, // Ôò - {0xB8D5, 0x521A}, //{0xE5, 0x88, 0x9A}, // ¸Õ - {0xB4B4, 0x521B}, //{0xE5, 0x88, 0x9B}, // ´´ - {0xB3F5, 0x521D}, //{0xE5, 0x88, 0x9D}, // ³õ + {0xB0BC, 0x51F9}, //{0xE5, 0x87, 0xB9}, // �� + {0xB3F6, 0x51FA}, //{0xE5, 0x87, 0xBA}, // �� + {0xBBF7, 0x51FB}, //{0xE5, 0x87, 0xBB}, // �� + {0xBAAF, 0x51FD}, //{0xE5, 0x87, 0xBD}, // �� + {0xD4E4, 0x51FF}, //{0xE5, 0x87, 0xBF}, // �� + {0xB5B6, 0x5200}, //{0xE5, 0x88, 0x80}, // �� + {0xB5F3, 0x5201}, //{0xE5, 0x88, 0x81}, // �� + {0xC8D0, 0x5203}, //{0xE5, 0x88, 0x83}, // �� + {0xB7D6, 0x5206}, //{0xE5, 0x88, 0x86}, // �� + {0xC7D0, 0x5207}, //{0xE5, 0x88, 0x87}, // �� + {0xBFAF, 0x520A}, //{0xE5, 0x88, 0x8A}, // �� + {0xD0CC, 0x5211}, //{0xE5, 0x88, 0x91}, // �� + {0xBBAE, 0x5212}, //{0xE5, 0x88, 0x92}, // �� + {0xC1D0, 0x5217}, //{0xE5, 0x88, 0x97}, // �� + {0xC1F5, 0x5218}, //{0xE5, 0x88, 0x98}, // �� + {0xD4F2, 0x5219}, //{0xE5, 0x88, 0x99}, // �� + {0xB8D5, 0x521A}, //{0xE5, 0x88, 0x9A}, // �� + {0xB4B4, 0x521B}, //{0xE5, 0x88, 0x9B}, // �� + {0xB3F5, 0x521D}, //{0xE5, 0x88, 0x9D}, // �� {0xC9BE, 0x5220}, //{0xE5, 0x88, 0xA0}, // ɾ - {0xC5D0, 0x5224}, //{0xE5, 0x88, 0xA4}, // ÅÐ - {0xC5D9, 0x5228}, //{0xE5, 0x88, 0xA8}, // ÅÙ - {0xC0FB, 0x5229}, //{0xE5, 0x88, 0xA9}, // Àû - {0xB1F0, 0x522B}, //{0xE5, 0x88, 0xAB}, // ±ð - {0xB9CE, 0x522E}, //{0xE5, 0x88, 0xAE}, // ¹Î - {0xB5BD, 0x5230}, //{0xE5, 0x88, 0xB0}, // µ½ - {0xD6C6, 0x5236}, //{0xE5, 0x88, 0xB6}, // ÖÆ + {0xC5D0, 0x5224}, //{0xE5, 0x88, 0xA4}, // �� + {0xC5D9, 0x5228}, //{0xE5, 0x88, 0xA8}, // �� + {0xC0FB, 0x5229}, //{0xE5, 0x88, 0xA9}, // �� + {0xB1F0, 0x522B}, //{0xE5, 0x88, 0xAB}, // �� + {0xB9CE, 0x522E}, //{0xE5, 0x88, 0xAE}, // �� + {0xB5BD, 0x5230}, //{0xE5, 0x88, 0xB0}, // �� + {0xD6C6, 0x5236}, //{0xE5, 0x88, 0xB6}, // �� {0xCBA2, 0x5237}, //{0xE5, 0x88, 0xB7}, // Ë¢ {0xC8AF, 0x5238}, //{0xE5, 0x88, 0xB8}, // ȯ {0xC9B2, 0x5239}, //{0xE5, 0x88, 0xB9}, // ɲ - {0xB4CC, 0x523A}, //{0xE5, 0x88, 0xBA}, // ´Ì - {0xBFCC, 0x523B}, //{0xE5, 0x88, 0xBB}, // ¿Ì - {0xB9F4, 0x523D}, //{0xE5, 0x88, 0xBD}, // ¹ô - {0xBCC1, 0x5242}, //{0xE5, 0x89, 0x82}, // ¼Á - {0xCCEA, 0x5243}, //{0xE5, 0x89, 0x83}, // Ìê - {0xCFF7, 0x524A}, //{0xE5, 0x89, 0x8A}, // Ï÷ + {0xB4CC, 0x523A}, //{0xE5, 0x88, 0xBA}, // �� + {0xBFCC, 0x523B}, //{0xE5, 0x88, 0xBB}, // �� + {0xB9F4, 0x523D}, //{0xE5, 0x88, 0xBD}, // �� + {0xBCC1, 0x5242}, //{0xE5, 0x89, 0x82}, // �� + {0xCCEA, 0x5243}, //{0xE5, 0x89, 0x83}, // �� + {0xCFF7, 0x524A}, //{0xE5, 0x89, 0x8A}, // �� {0xC7B0, 0x524D}, //{0xE5, 0x89, 0x8D}, // ǰ - {0xBDA3, 0x5251}, //{0xE5, 0x89, 0x91}, // ½£ - {0xCCDE, 0x5254}, //{0xE5, 0x89, 0x94}, // ÌÞ - {0xC6CA, 0x5256}, //{0xE5, 0x89, 0x96}, // ÆÊ - {0xB0FE, 0x5265}, //{0xE5, 0x89, 0xA5}, // °þ - {0xBEE7, 0x5267}, //{0xE5, 0x89, 0xA7}, // ¾ç + {0xBDA3, 0x5251}, //{0xE5, 0x89, 0x91}, // �� + {0xCCDE, 0x5254}, //{0xE5, 0x89, 0x94}, // �� + {0xC6CA, 0x5256}, //{0xE5, 0x89, 0x96}, // �� + {0xB0FE, 0x5265}, //{0xE5, 0x89, 0xA5}, // �� + {0xBEE7, 0x5267}, //{0xE5, 0x89, 0xA7}, // �� {0xCAA3, 0x5269}, //{0xE5, 0x89, 0xA9}, // Ê£ - {0xBCF4, 0x526A}, //{0xE5, 0x89, 0xAA}, // ¼ô - {0xB8B1, 0x526F}, //{0xE5, 0x89, 0xAF}, // ¸± - {0xB8EE, 0x5272}, //{0xE5, 0x89, 0xB2}, // ¸î - {0xBDCB, 0x527F}, //{0xE5, 0x89, 0xBF}, // ½Ë - {0xC5FC, 0x5288}, //{0xE5, 0x8A, 0x88}, // Åü - {0xC1A6, 0x529B}, //{0xE5, 0x8A, 0x9B}, // Á¦ + {0xBCF4, 0x526A}, //{0xE5, 0x89, 0xAA}, // �� + {0xB8B1, 0x526F}, //{0xE5, 0x89, 0xAF}, // �� + {0xB8EE, 0x5272}, //{0xE5, 0x89, 0xB2}, // �� + {0xBDCB, 0x527F}, //{0xE5, 0x89, 0xBF}, // �� + {0xC5FC, 0x5288}, //{0xE5, 0x8A, 0x88}, // �� + {0xC1A6, 0x529B}, //{0xE5, 0x8A, 0x9B}, // f {0xC8B0, 0x529D}, //{0xE5, 0x8A, 0x9D}, // Ȱ - {0xB0EC, 0x529E}, //{0xE5, 0x8A, 0x9E}, // °ì - {0xB9A6, 0x529F}, //{0xE5, 0x8A, 0x9F}, // ¹¦ - {0xBCD3, 0x52A0}, //{0xE5, 0x8A, 0xA0}, // ¼Ó - {0xCEF1, 0x52A1}, //{0xE5, 0x8A, 0xA1}, // Îñ - {0xC1D3, 0x52A3}, //{0xE5, 0x8A, 0xA3}, // ÁÓ - {0xB6AF, 0x52A8}, //{0xE5, 0x8A, 0xA8}, // ¶¯ - {0xD6FA, 0x52A9}, //{0xE5, 0x8A, 0xA9}, // Öú + {0xB0EC, 0x529E}, //{0xE5, 0x8A, 0x9E}, // �� + {0xB9A6, 0x529F}, //{0xE5, 0x8A, 0x9F}, // �� + {0xBCD3, 0x52A0}, //{0xE5, 0x8A, 0xA0}, // �� + {0xCEF1, 0x52A1}, //{0xE5, 0x8A, 0xA1}, // �� + {0xC1D3, 0x52A3}, //{0xE5, 0x8A, 0xA3}, // �� + {0xB6AF, 0x52A8}, //{0xE5, 0x8A, 0xA8}, // �� + {0xD6FA, 0x52A9}, //{0xE5, 0x8A, 0xA9}, // �� {0xC5AC, 0x52AA}, //{0xE5, 0x8A, 0xAA}, // Ŭ - {0xBDD9, 0x52AB}, //{0xE5, 0x8A, 0xAB}, // ½Ù - {0xC0F8, 0x52B1}, //{0xE5, 0x8A, 0xB1}, // Àø - {0xBEA2, 0x52B2}, //{0xE5, 0x8A, 0xB2}, // ¾¢ - {0xC0CD, 0x52B3}, //{0xE5, 0x8A, 0xB3}, // ÀÍ - {0xCAC6, 0x52BF}, //{0xE5, 0x8A, 0xBF}, // ÊÆ - {0xB2AA, 0x52C3}, //{0xE5, 0x8B, 0x83}, // ²ª - {0xD3C2, 0x52C7}, //{0xE5, 0x8B, 0x87}, // Ó - {0xC3E3, 0x52C9}, //{0xE5, 0x8B, 0x89}, // Ãã + {0xBDD9, 0x52AB}, //{0xE5, 0x8A, 0xAB}, // �� + {0xC0F8, 0x52B1}, //{0xE5, 0x8A, 0xB1}, // �� + {0xBEA2, 0x52B2}, //{0xE5, 0x8A, 0xB2}, // �� + {0xC0CD, 0x52B3}, //{0xE5, 0x8A, 0xB3}, // �� + {0xCAC6, 0x52BF}, //{0xE5, 0x8A, 0xBF}, // �� + {0xB2AA, 0x52C3}, //{0xE5, 0x8B, 0x83}, // �� + {0xD3C2, 0x52C7}, //{0xE5, 0x8B, 0x87}, // �� + {0xC3E3, 0x52C9}, //{0xE5, 0x8B, 0x89}, // �� {0xD1AB, 0x52CB}, //{0xE5, 0x8B, 0x8B}, // Ñ« - {0xC0D5, 0x52D2}, //{0xE5, 0x8B, 0x92}, // ÀÕ - {0xBFB1, 0x52D8}, //{0xE5, 0x8B, 0x98}, // ¿± + {0xC0D5, 0x52D2}, //{0xE5, 0x8B, 0x92}, // �� + {0xBFB1, 0x52D8}, //{0xE5, 0x8B, 0x98}, // �� {0xC4BC, 0x52DF}, //{0xE5, 0x8B, 0x9F}, // ļ - {0xC7DA, 0x52E4}, //{0xE5, 0x8B, 0xA4}, // ÇÚ - {0xC9D7, 0x52FA}, //{0xE5, 0x8B, 0xBA}, // É× - {0xB9B4, 0x52FE}, //{0xE5, 0x8B, 0xBE}, // ¹´ - {0xCEF0, 0x52FF}, //{0xE5, 0x8B, 0xBF}, // Îð - {0xD4C8, 0x5300}, //{0xE5, 0x8C, 0x80}, // ÔÈ - {0xB0FC, 0x5305}, //{0xE5, 0x8C, 0x85}, // °ü - {0xB4D2, 0x5306}, //{0xE5, 0x8C, 0x86}, // ´Ò - {0xD0D9, 0x5308}, //{0xE5, 0x8C, 0x88}, // ÐÙ + {0xC7DA, 0x52E4}, //{0xE5, 0x8B, 0xA4}, // �� + {0xC9D7, 0x52FA}, //{0xE5, 0x8B, 0xBA}, // �� + {0xB9B4, 0x52FE}, //{0xE5, 0x8B, 0xBE}, // �� + {0xCEF0, 0x52FF}, //{0xE5, 0x8B, 0xBF}, // �� + {0xD4C8, 0x5300}, //{0xE5, 0x8C, 0x80}, // �� + {0xB0FC, 0x5305}, //{0xE5, 0x8C, 0x85}, // �� + {0xB4D2, 0x5306}, //{0xE5, 0x8C, 0x86}, // �� + {0xD0D9, 0x5308}, //{0xE5, 0x8C, 0x88}, // �� {0xD8B0, 0x5315}, //{0xE5, 0x8C, 0x95}, // ذ - {0xBBAF, 0x5316}, //{0xE5, 0x8C, 0x96}, // »¯ - {0xB1B1, 0x5317}, //{0xE5, 0x8C, 0x97}, // ±± - {0xB3D7, 0x5319}, //{0xE5, 0x8C, 0x99}, // ³× - {0xBDB3, 0x5320}, //{0xE5, 0x8C, 0xA0}, // ½³ + {0xBBAF, 0x5316}, //{0xE5, 0x8C, 0x96}, // �� + {0xB1B1, 0x5317}, //{0xE5, 0x8C, 0x97}, // �� + {0xB3D7, 0x5319}, //{0xE5, 0x8C, 0x99}, // �� + {0xBDB3, 0x5320}, //{0xE5, 0x8C, 0xA0}, // �� {0xCFBB, 0x5323}, //{0xE5, 0x8C, 0xA3}, // Ï» - {0xB7CB, 0x532A}, //{0xE5, 0x8C, 0xAA}, // ·Ë + {0xB7CB, 0x532A}, //{0xE5, 0x8C, 0xAA}, // �� {0xC6A5, 0x5339}, //{0xE5, 0x8C, 0xB9}, // Æ¥ - {0xC7F8, 0x533A}, //{0xE5, 0x8C, 0xBA}, // Çø + {0xC7F8, 0x533A}, //{0xE5, 0x8C, 0xBA}, // �� {0xD2BD, 0x533B}, //{0xE5, 0x8C, 0xBB}, // Ò½ - {0xD8D2, 0x533E}, //{0xE5, 0x8C, 0xBE}, // ØÒ - {0xC4E4, 0x533F}, //{0xE5, 0x8C, 0xBF}, // Ää + {0xD8D2, 0x533E}, //{0xE5, 0x8C, 0xBE}, // �� + {0xC4E4, 0x533F}, //{0xE5, 0x8C, 0xBF}, // �� {0xCAAE, 0x5341}, //{0xE5, 0x8D, 0x81}, // Ê® {0xC7A7, 0x5343}, //{0xE5, 0x8D, 0x83}, // ǧ - {0xC9FD, 0x5347}, //{0xE5, 0x8D, 0x87}, // Éý - {0xCEE7, 0x5348}, //{0xE5, 0x8D, 0x88}, // Îç - {0xB0EB, 0x534A}, //{0xE5, 0x8D, 0x8A}, // °ë - {0xBBAA, 0x534E}, //{0xE5, 0x8D, 0x8E}, // »ª + {0xC9FD, 0x5347}, //{0xE5, 0x8D, 0x87}, // �� + {0xCEE7, 0x5348}, //{0xE5, 0x8D, 0x88}, // �� + {0xB0EB, 0x534A}, //{0xE5, 0x8D, 0x8A}, // �� + {0xBBAA, 0x534E}, //{0xE5, 0x8D, 0x8E}, // �� {0xD0AD, 0x534F}, //{0xE5, 0x8D, 0x8F}, // Э - {0xB1B0, 0x5351}, //{0xE5, 0x8D, 0x91}, // ±° - {0xD7E4, 0x5352}, //{0xE5, 0x8D, 0x92}, // ×ä + {0xB1B0, 0x5351}, //{0xE5, 0x8D, 0x91}, // �� + {0xD7E4, 0x5352}, //{0xE5, 0x8D, 0x92}, // �� {0xD7BF, 0x5353}, //{0xE5, 0x8D, 0x93}, // ׿ - {0xB5A5, 0x5355}, //{0xE5, 0x8D, 0x95}, // µ¥ - {0xC2F4, 0x5356}, //{0xE5, 0x8D, 0x96}, // Âô - {0xC4CF, 0x5357}, //{0xE5, 0x8D, 0x97}, // ÄÏ - {0xB2A9, 0x535A}, //{0xE5, 0x8D, 0x9A}, // ²© - {0xB2B7, 0x535C}, //{0xE5, 0x8D, 0x9C}, // ²· + {0xB5A5, 0x5355}, //{0xE5, 0x8D, 0x95}, // �� + {0xC2F4, 0x5356}, //{0xE5, 0x8D, 0x96}, // �� + {0xC4CF, 0x5357}, //{0xE5, 0x8D, 0x97}, // �� + {0xB2A9, 0x535A}, //{0xE5, 0x8D, 0x9A}, // �� + {0xB2B7, 0x535C}, //{0xE5, 0x8D, 0x9C}, // �� {0xD5BC, 0x5360}, //{0xE5, 0x8D, 0xA0}, // Õ¼ - {0xBFA8, 0x5361}, //{0xE5, 0x8D, 0xA1}, // ¿¨ + {0xBFA8, 0x5361}, //{0xE5, 0x8D, 0xA1}, // �� {0xC2AC, 0x5362}, //{0xE5, 0x8D, 0xA2}, // ¬ {0xC2B1, 0x5364}, //{0xE5, 0x8D, 0xA4}, // ± - {0xD8D4, 0x5366}, //{0xE5, 0x8D, 0xA6}, // ØÔ - {0xCED4, 0x5367}, //{0xE5, 0x8D, 0xA7}, // ÎÔ - {0xCEC0, 0x536B}, //{0xE5, 0x8D, 0xAB}, // ÎÀ + {0xD8D4, 0x5366}, //{0xE5, 0x8D, 0xA6}, // �� + {0xCED4, 0x5367}, //{0xE5, 0x8D, 0xA7}, // �� + {0xCEC0, 0x536B}, //{0xE5, 0x8D, 0xAB}, // �� {0xD3A1, 0x5370}, //{0xE5, 0x8D, 0xB0}, // Ó¡ {0xCEA3, 0x5371}, //{0xE5, 0x8D, 0xB1}, // Σ - {0xBCB4, 0x5373}, //{0xE5, 0x8D, 0xB3}, // ¼´ + {0xBCB4, 0x5373}, //{0xE5, 0x8D, 0xB3}, // �� {0xC8B4, 0x5374}, //{0xE5, 0x8D, 0xB4}, // È´ - {0xC2D1, 0x5375}, //{0xE5, 0x8D, 0xB5}, // ÂÑ - {0xBEED, 0x5377}, //{0xE5, 0x8D, 0xB7}, // ¾í + {0xC2D1, 0x5375}, //{0xE5, 0x8D, 0xB5}, // �� + {0xBEED, 0x5377}, //{0xE5, 0x8D, 0xB7}, // �� {0xD0B6, 0x5378}, //{0xE5, 0x8D, 0xB8}, // ж - {0xC7E4, 0x537F}, //{0xE5, 0x8D, 0xBF}, // Çä - {0xB3A7, 0x5382}, //{0xE5, 0x8E, 0x82}, // ³§ - {0xCCFC, 0x5385}, //{0xE5, 0x8E, 0x85}, // Ìü - {0xC0FA, 0x5386}, //{0xE5, 0x8E, 0x86}, // Àú - {0xC0F7, 0x5389}, //{0xE5, 0x8E, 0x89}, // À÷ + {0xC7E4, 0x537F}, //{0xE5, 0x8D, 0xBF}, // �� + {0xB3A7, 0x5382}, //{0xE5, 0x8E, 0x82}, // �� + {0xCCFC, 0x5385}, //{0xE5, 0x8E, 0x85}, // �� + {0xC0FA, 0x5386}, //{0xE5, 0x8E, 0x86}, // �� + {0xC0F7, 0x5389}, //{0xE5, 0x8E, 0x89}, // �� {0xD1B9, 0x538B}, //{0xE5, 0x8E, 0x8B}, // ѹ - {0xD1E1, 0x538C}, //{0xE5, 0x8E, 0x8C}, // Ñá - {0xB2DE, 0x5395}, //{0xE5, 0x8E, 0x95}, // ²Þ - {0xC0E5, 0x5398}, //{0xE5, 0x8E, 0x98}, // Àå - {0xBAF1, 0x539A}, //{0xE5, 0x8E, 0x9A}, // ºñ + {0xD1E1, 0x538C}, //{0xE5, 0x8E, 0x8C}, // �� + {0xB2DE, 0x5395}, //{0xE5, 0x8E, 0x95}, // �� + {0xC0E5, 0x5398}, //{0xE5, 0x8E, 0x98}, // �� + {0xBAF1, 0x539A}, //{0xE5, 0x8E, 0x9A}, // �� {0xD4AD, 0x539F}, //{0xE5, 0x8E, 0x9F}, // Ô­ - {0xCFE1, 0x53A2}, //{0xE5, 0x8E, 0xA2}, // Ïá - {0xCFC3, 0x53A6}, //{0xE5, 0x8E, 0xA6}, // Ïà - {0xB3F8, 0x53A8}, //{0xE5, 0x8E, 0xA8}, // ³ø + {0xCFE1, 0x53A2}, //{0xE5, 0x8E, 0xA2}, // �� + {0xCFC3, 0x53A6}, //{0xE5, 0x8E, 0xA6}, // �� + {0xB3F8, 0x53A8}, //{0xE5, 0x8E, 0xA8}, // �� {0xC8A5, 0x53BB}, //{0xE5, 0x8E, 0xBB}, // È¥ - {0xCFD8, 0x53BF}, //{0xE5, 0x8E, 0xBF}, // ÏØ - {0xB2CE, 0x53C2}, //{0xE5, 0x8F, 0x82}, // ²Î - {0xD3D6, 0x53C8}, //{0xE5, 0x8F, 0x88}, // ÓÖ - {0xB2E6, 0x53C9}, //{0xE5, 0x8F, 0x89}, // ²æ - {0xBCB0, 0x53CA}, //{0xE5, 0x8F, 0x8A}, // ¼° - {0xD3D1, 0x53CB}, //{0xE5, 0x8F, 0x8B}, // ÓÑ + {0xCFD8, 0x53BF}, //{0xE5, 0x8E, 0xBF}, // �� + {0xB2CE, 0x53C2}, //{0xE5, 0x8F, 0x82}, // �� + {0xD3D6, 0x53C8}, //{0xE5, 0x8F, 0x88}, // �� + {0xB2E6, 0x53C9}, //{0xE5, 0x8F, 0x89}, // �� + {0xBCB0, 0x53CA}, //{0xE5, 0x8F, 0x8A}, // �� + {0xD3D1, 0x53CB}, //{0xE5, 0x8F, 0x8B}, // �� {0xCBAB, 0x53CC}, //{0xE5, 0x8F, 0x8C}, // Ë« - {0xB7B4, 0x53CD}, //{0xE5, 0x8F, 0x8D}, // ·´ - {0xB7A2, 0x53D1}, //{0xE5, 0x8F, 0x91}, // ·¢ - {0xCAE5, 0x53D4}, //{0xE5, 0x8F, 0x94}, // Êå + {0xB7B4, 0x53CD}, //{0xE5, 0x8F, 0x8D}, // �� + {0xB7A2, 0x53D1}, //{0xE5, 0x8F, 0x91}, // �� + {0xCAE5, 0x53D4}, //{0xE5, 0x8F, 0x94}, // �� {0xC8A1, 0x53D6}, //{0xE5, 0x8F, 0x96}, // È¡ - {0xCADC, 0x53D7}, //{0xE5, 0x8F, 0x97}, // ÊÜ - {0xB1E4, 0x53D8}, //{0xE5, 0x8F, 0x98}, // ±ä - {0xD0F0, 0x53D9}, //{0xE5, 0x8F, 0x99}, // Ðð - {0xC5D1, 0x53DB}, //{0xE5, 0x8F, 0x9B}, // ÅÑ - {0xB5FE, 0x53E0}, //{0xE5, 0x8F, 0xA0}, // µþ - {0xBFDA, 0x53E3}, //{0xE5, 0x8F, 0xA3}, // ¿Ú - {0xB9C5, 0x53E4}, //{0xE5, 0x8F, 0xA4}, // ¹Å - {0xBEE4, 0x53E5}, //{0xE5, 0x8F, 0xA5}, // ¾ä - {0xC1ED, 0x53E6}, //{0xE5, 0x8F, 0xA6}, // Áí + {0xCADC, 0x53D7}, //{0xE5, 0x8F, 0x97}, // �� + {0xB1E4, 0x53D8}, //{0xE5, 0x8F, 0x98}, // �� + {0xD0F0, 0x53D9}, //{0xE5, 0x8F, 0x99}, // �� + {0xC5D1, 0x53DB}, //{0xE5, 0x8F, 0x9B}, // �� + {0xB5FE, 0x53E0}, //{0xE5, 0x8F, 0xA0}, // �� + {0xBFDA, 0x53E3}, //{0xE5, 0x8F, 0xA3}, // �� + {0xB9C5, 0x53E4}, //{0xE5, 0x8F, 0xA4}, // �� + {0xBEE4, 0x53E5}, //{0xE5, 0x8F, 0xA5}, // �� + {0xC1ED, 0x53E6}, //{0xE5, 0x8F, 0xA6}, // �� {0xDFB6, 0x53E8}, //{0xE5, 0x8F, 0xA8}, // ß¶ {0xD6BB, 0x53EA}, //{0xE5, 0x8F, 0xAA}, // Ö» - {0xBDD0, 0x53EB}, //{0xE5, 0x8F, 0xAB}, // ½Ð - {0xD5D9, 0x53EC}, //{0xE5, 0x8F, 0xAC}, // ÕÙ - {0xB0C8, 0x53ED}, //{0xE5, 0x8F, 0xAD}, // °È - {0xB6A3, 0x53EE}, //{0xE5, 0x8F, 0xAE}, // ¶£ - {0xBFC9, 0x53EF}, //{0xE5, 0x8F, 0xAF}, // ¿É + {0xBDD0, 0x53EB}, //{0xE5, 0x8F, 0xAB}, // �� + {0xD5D9, 0x53EC}, //{0xE5, 0x8F, 0xAC}, // �� + {0xB0C8, 0x53ED}, //{0xE5, 0x8F, 0xAD}, // �� + {0xB6A3, 0x53EE}, //{0xE5, 0x8F, 0xAE}, // �� + {0xBFC9, 0x53EF}, //{0xE5, 0x8F, 0xAF}, // �� {0xCCA8, 0x53F0}, //{0xE5, 0x8F, 0xB0}, // ̨ {0xCAB7, 0x53F2}, //{0xE5, 0x8F, 0xB2}, // Ê· - {0xD3D2, 0x53F3}, //{0xE5, 0x8F, 0xB3}, // ÓÒ + {0xD3D2, 0x53F3}, //{0xE5, 0x8F, 0xB3}, // �� {0xD2B6, 0x53F6}, //{0xE5, 0x8F, 0xB6}, // Ò¶ - {0xBAC5, 0x53F7}, //{0xE5, 0x8F, 0xB7}, // ºÅ + {0xBAC5, 0x53F7}, //{0xE5, 0x8F, 0xB7}, // �� {0xCBBE, 0x53F8}, //{0xE5, 0x8F, 0xB8}, // ˾ {0xCCBE, 0x53F9}, //{0xE5, 0x8F, 0xB9}, // ̾ - {0xB5F0, 0x53FC}, //{0xE5, 0x8F, 0xBC}, // µð + {0xB5F0, 0x53FC}, //{0xE5, 0x8F, 0xBC}, // �� {0xDFB4, 0x53FD}, //{0xE5, 0x8F, 0xBD}, // ß´ - {0xD3F5, 0x5401}, //{0xE5, 0x90, 0x81}, // Óõ - {0xB3D4, 0x5403}, //{0xE5, 0x90, 0x83}, // ³Ô - {0xB8F7, 0x5404}, //{0xE5, 0x90, 0x84}, // ¸÷ + {0xD3F5, 0x5401}, //{0xE5, 0x90, 0x81}, // �� + {0xB3D4, 0x5403}, //{0xE5, 0x90, 0x83}, // �� + {0xB8F7, 0x5404}, //{0xE5, 0x90, 0x84}, // �� {0xDFBA, 0x5406}, //{0xE5, 0x90, 0x86}, // ߺ - {0xBACF, 0x5408}, //{0xE5, 0x90, 0x88}, // ºÏ - {0xBCAA, 0x5409}, //{0xE5, 0x90, 0x89}, // ¼ª - {0xB5F5, 0x540A}, //{0xE5, 0x90, 0x8A}, // µõ + {0xBACF, 0x5408}, //{0xE5, 0x90, 0x88}, // �� + {0xBCAA, 0x5409}, //{0xE5, 0x90, 0x89}, // �� + {0xB5F5, 0x540A}, //{0xE5, 0x90, 0x8A}, // �� {0xCDAC, 0x540C}, //{0xE5, 0x90, 0x8C}, // ͬ - {0xC3FB, 0x540D}, //{0xE5, 0x90, 0x8D}, // Ãû - {0xBAF3, 0x540E}, //{0xE5, 0x90, 0x8E}, // ºó - {0xC0F4, 0x540F}, //{0xE5, 0x90, 0x8F}, // Àô - {0xCDC2, 0x5410}, //{0xE5, 0x90, 0x90}, // Í - {0xCFF2, 0x5411}, //{0xE5, 0x90, 0x91}, // Ïò - {0xCFC5, 0x5413}, //{0xE5, 0x90, 0x93}, // ÏÅ - {0xC2C0, 0x5415}, //{0xE5, 0x90, 0x95}, // ÂÀ - {0xC2F0, 0x5417}, //{0xE5, 0x90, 0x97}, // Âð - {0xBEFD, 0x541B}, //{0xE5, 0x90, 0x9B}, // ¾ý - {0xC1DF, 0x541D}, //{0xE5, 0x90, 0x9D}, // Áß - {0xCDCC, 0x541E}, //{0xE5, 0x90, 0x9E}, // ÍÌ - {0xD2F7, 0x541F}, //{0xE5, 0x90, 0x9F}, // Ò÷ - {0xB7CD, 0x5420}, //{0xE5, 0x90, 0xA0}, // ·Í - {0xB7F1, 0x5426}, //{0xE5, 0x90, 0xA6}, // ·ñ - {0xB0C9, 0x5427}, //{0xE5, 0x90, 0xA7}, // °É - {0xB6D6, 0x5428}, //{0xE5, 0x90, 0xA8}, // ¶Ö - {0xB7D4, 0x5429}, //{0xE5, 0x90, 0xA9}, // ·Ô - {0xBAAC, 0x542B}, //{0xE5, 0x90, 0xAB}, // º¬ - {0xCCFD, 0x542C}, //{0xE5, 0x90, 0xAC}, // Ìý - {0xBFD4, 0x542D}, //{0xE5, 0x90, 0xAD}, // ¿Ô + {0xC3FB, 0x540D}, //{0xE5, 0x90, 0x8D}, // �� + {0xBAF3, 0x540E}, //{0xE5, 0x90, 0x8E}, // �� + {0xC0F4, 0x540F}, //{0xE5, 0x90, 0x8F}, // �� + {0xCDC2, 0x5410}, //{0xE5, 0x90, 0x90}, // �� + {0xCFF2, 0x5411}, //{0xE5, 0x90, 0x91}, // �� + {0xCFC5, 0x5413}, //{0xE5, 0x90, 0x93}, // �� + {0xC2C0, 0x5415}, //{0xE5, 0x90, 0x95}, // �� + {0xC2F0, 0x5417}, //{0xE5, 0x90, 0x97}, // �� + {0xBEFD, 0x541B}, //{0xE5, 0x90, 0x9B}, // �� + {0xC1DF, 0x541D}, //{0xE5, 0x90, 0x9D}, // �� + {0xCDCC, 0x541E}, //{0xE5, 0x90, 0x9E}, // �� + {0xD2F7, 0x541F}, //{0xE5, 0x90, 0x9F}, // �� + {0xB7CD, 0x5420}, //{0xE5, 0x90, 0xA0}, // �� + {0xB7F1, 0x5426}, //{0xE5, 0x90, 0xA6}, // �� + {0xB0C9, 0x5427}, //{0xE5, 0x90, 0xA7}, // �� + {0xB6D6, 0x5428}, //{0xE5, 0x90, 0xA8}, // �� + {0xB7D4, 0x5429}, //{0xE5, 0x90, 0xA9}, // �� + {0xBAAC, 0x542B}, //{0xE5, 0x90, 0xAB}, // �� + {0xCCFD, 0x542C}, //{0xE5, 0x90, 0xAC}, // �� + {0xBFD4, 0x542D}, //{0xE5, 0x90, 0xAD}, // �� {0xCBB1, 0x542E}, //{0xE5, 0x90, 0xAE}, // ˱ - {0xC6F4, 0x542F}, //{0xE5, 0x90, 0xAF}, // Æô + {0xC6F4, 0x542F}, //{0xE5, 0x90, 0xAF}, // �� {0xD6A8, 0x5431}, //{0xE5, 0x90, 0xB1}, // Ö¨ - {0xCEE2, 0x5434}, //{0xE5, 0x90, 0xB4}, // Îâ - {0xB3B3, 0x5435}, //{0xE5, 0x90, 0xB5}, // ³³ - {0xCEFC, 0x5438}, //{0xE5, 0x90, 0xB8}, // Îü - {0xB4B5, 0x5439}, //{0xE5, 0x90, 0xB9}, // ´µ - {0xCEC7, 0x543B}, //{0xE5, 0x90, 0xBB}, // ÎÇ - {0xBAF0, 0x543C}, //{0xE5, 0x90, 0xBC}, // ºð + {0xCEE2, 0x5434}, //{0xE5, 0x90, 0xB4}, // �� + {0xB3B3, 0x5435}, //{0xE5, 0x90, 0xB5}, // �� + {0xCEFC, 0x5438}, //{0xE5, 0x90, 0xB8}, // �� + {0xB4B5, 0x5439}, //{0xE5, 0x90, 0xB9}, // �� + {0xCEC7, 0x543B}, //{0xE5, 0x90, 0xBB}, // �� + {0xBAF0, 0x543C}, //{0xE5, 0x90, 0xBC}, // �� {0xD1BD, 0x5440}, //{0xE5, 0x91, 0x80}, // ѽ - {0xB4F4, 0x5446}, //{0xE5, 0x91, 0x86}, // ´ô - {0xB3CA, 0x5448}, //{0xE5, 0x91, 0x88}, // ³Ê - {0xB8E6, 0x544A}, //{0xE5, 0x91, 0x8A}, // ¸æ - {0xC4C5, 0x5450}, //{0xE5, 0x91, 0x90}, // ÄÅ + {0xB4F4, 0x5446}, //{0xE5, 0x91, 0x86}, // �� + {0xB3CA, 0x5448}, //{0xE5, 0x91, 0x88}, // �� + {0xB8E6, 0x544A}, //{0xE5, 0x91, 0x8A}, // �� + {0xC4C5, 0x5450}, //{0xE5, 0x91, 0x90}, // �� {0xC5BB, 0x5455}, //{0xE5, 0x91, 0x95}, // Å» {0xD4B1, 0x5458}, //{0xE5, 0x91, 0x98}, // Ô± {0xC7BA, 0x545B}, //{0xE5, 0x91, 0x9B}, // Ǻ - {0xCED8, 0x545C}, //{0xE5, 0x91, 0x9C}, // ÎØ - {0xC4D8, 0x5462}, //{0xE5, 0x91, 0xA2}, // ÄØ - {0xD6DC, 0x5468}, //{0xE5, 0x91, 0xA8}, // ÖÜ + {0xCED8, 0x545C}, //{0xE5, 0x91, 0x9C}, // �� + {0xC4D8, 0x5462}, //{0xE5, 0x91, 0xA2}, // �� + {0xD6DC, 0x5468}, //{0xE5, 0x91, 0xA8}, // �� {0xCEB6, 0x5473}, //{0xE5, 0x91, 0xB3}, // ζ - {0xBAC7, 0x5475}, //{0xE5, 0x91, 0xB5}, // ºÇ - {0xC9EB, 0x547B}, //{0xE5, 0x91, 0xBB}, // Éë - {0xBAF4, 0x547C}, //{0xE5, 0x91, 0xBC}, // ºô - {0xC3FC, 0x547D}, //{0xE5, 0x91, 0xBD}, // Ãü - {0xC5D8, 0x5486}, //{0xE5, 0x92, 0x86}, // ÅØ - {0xBACD, 0x548C}, //{0xE5, 0x92, 0x8C}, // ºÍ + {0xBAC7, 0x5475}, //{0xE5, 0x91, 0xB5}, // �� + {0xC9EB, 0x547B}, //{0xE5, 0x91, 0xBB}, // �� + {0xBAF4, 0x547C}, //{0xE5, 0x91, 0xBC}, // �� + {0xC3FC, 0x547D}, //{0xE5, 0x91, 0xBD}, // �� + {0xC5D8, 0x5486}, //{0xE5, 0x92, 0x86}, // �� + {0xBACD, 0x548C}, //{0xE5, 0x92, 0x8C}, // �� {0xD3BD, 0x548F}, //{0xE5, 0x92, 0x8F}, // Ó½ - {0xB8C0, 0x5490}, //{0xE5, 0x92, 0x90}, // ¸À - {0xD6E4, 0x5492}, //{0xE5, 0x92, 0x92}, // Öä - {0xB9BE, 0x5495}, //{0xE5, 0x92, 0x95}, // ¹¾ - {0xBFA7, 0x5496}, //{0xE5, 0x92, 0x96}, // ¿§ - {0xC1FC, 0x5499}, //{0xE5, 0x92, 0x99}, // Áü - {0xDFD6, 0x54A7}, //{0xE5, 0x92, 0xA7}, // ßÖ - {0xD7C9, 0x54A8}, //{0xE5, 0x92, 0xA8}, // ×É - {0xDFE4, 0x54AA}, //{0xE5, 0x92, 0xAA}, // ßä + {0xB8C0, 0x5490}, //{0xE5, 0x92, 0x90}, // �� + {0xD6E4, 0x5492}, //{0xE5, 0x92, 0x92}, // �� + {0xB9BE, 0x5495}, //{0xE5, 0x92, 0x95}, // �� + {0xBFA7, 0x5496}, //{0xE5, 0x92, 0x96}, // �� + {0xC1FC, 0x5499}, //{0xE5, 0x92, 0x99}, // �� + {0xDFD6, 0x54A7}, //{0xE5, 0x92, 0xA7}, // �� + {0xD7C9, 0x54A8}, //{0xE5, 0x92, 0xA8}, // �� + {0xDFE4, 0x54AA}, //{0xE5, 0x92, 0xAA}, // �� {0xD2A7, 0x54AC}, //{0xE5, 0x92, 0xAC}, // Ò§ - {0xD4DB, 0x54B1}, //{0xE5, 0x92, 0xB1}, // ÔÛ - {0xBFC8, 0x54B3}, //{0xE5, 0x92, 0xB3}, // ¿È - {0xCFCC, 0x54B8}, //{0xE5, 0x92, 0xB8}, // ÏÌ - {0xD1CA, 0x54BD}, //{0xE5, 0x92, 0xBD}, // ÑÊ - {0xB0A7, 0x54C0}, //{0xE5, 0x93, 0x80}, // °§ + {0xD4DB, 0x54B1}, //{0xE5, 0x92, 0xB1}, // �� + {0xBFC8, 0x54B3}, //{0xE5, 0x92, 0xB3}, // �� + {0xCFCC, 0x54B8}, //{0xE5, 0x92, 0xB8}, // �� + {0xD1CA, 0x54BD}, //{0xE5, 0x92, 0xBD}, // �� + {0xB0A7, 0x54C0}, //{0xE5, 0x93, 0x80}, // �� {0xC6B7, 0x54C1}, //{0xE5, 0x93, 0x81}, // Æ· - {0xBAE5, 0x54C4}, //{0xE5, 0x93, 0x84}, // ºå - {0xB6DF, 0x54C6}, //{0xE5, 0x93, 0x86}, // ¶ß - {0xB9FE, 0x54C8}, //{0xE5, 0x93, 0x88}, // ¹þ - {0xCFEC, 0x54CD}, //{0xE5, 0x93, 0x8D}, // Ïì - {0xB0A5, 0x54CE}, //{0xE5, 0x93, 0x8E}, // °¥ - {0xD1C6, 0x54D1}, //{0xE5, 0x93, 0x91}, // ÑÆ - {0xBBA9, 0x54D7}, //{0xE5, 0x93, 0x97}, // »© + {0xBAE5, 0x54C4}, //{0xE5, 0x93, 0x84}, // �� + {0xB6DF, 0x54C6}, //{0xE5, 0x93, 0x86}, // �� + {0xB9FE, 0x54C8}, //{0xE5, 0x93, 0x88}, // �� + {0xCFEC, 0x54CD}, //{0xE5, 0x93, 0x8D}, // �� + {0xB0A5, 0x54CE}, //{0xE5, 0x93, 0x8E}, // �� + {0xD1C6, 0x54D1}, //{0xE5, 0x93, 0x91}, // �� + {0xBBA9, 0x54D7}, //{0xE5, 0x93, 0x97}, // �� {0xD3B4, 0x54DF}, //{0xE5, 0x93, 0x9F}, // Ó´ - {0xB8E7, 0x54E5}, //{0xE5, 0x93, 0xA5}, // ¸ç - {0xC9DA, 0x54E8}, //{0xE5, 0x93, 0xA8}, // ÉÚ - {0xC1A8, 0x54E9}, //{0xE5, 0x93, 0xA9}, // Á¨ - {0xC4C4, 0x54EA}, //{0xE5, 0x93, 0xAA}, // ÄÄ - {0xBFDE, 0x54ED}, //{0xE5, 0x93, 0xAD}, // ¿Þ - {0xCFF8, 0x54EE}, //{0xE5, 0x93, 0xAE}, // Ïø - {0xD5DC, 0x54F2}, //{0xE5, 0x93, 0xB2}, // ÕÜ - {0xB2B8, 0x54FA}, //{0xE5, 0x93, 0xBA}, // ²¸ - {0xBADF, 0x54FC}, //{0xE5, 0x93, 0xBC}, // ºß - {0xD1E4, 0x5501}, //{0xE5, 0x94, 0x81}, // Ñä - {0xCBF4, 0x5506}, //{0xE5, 0x94, 0x86}, // Ëô - {0xB4BD, 0x5507}, //{0xE5, 0x94, 0x87}, // ´½ - {0xB0A6, 0x5509}, //{0xE5, 0x94, 0x89}, // °¦ - {0xCCC6, 0x5510}, //{0xE5, 0x94, 0x90}, // ÌÆ - {0xDFEB, 0x5520}, //{0xE5, 0x94, 0xA0}, // ßë - {0xBBBD, 0x5524}, //{0xE5, 0x94, 0xA4}, // »½ - {0xDFF3, 0x5527}, //{0xE5, 0x94, 0xA7}, // ßó - {0xBBA3, 0x552C}, //{0xE5, 0x94, 0xAC}, // »£ - {0xCADB, 0x552E}, //{0xE5, 0x94, 0xAE}, // ÊÛ + {0xB8E7, 0x54E5}, //{0xE5, 0x93, 0xA5}, // �� + {0xC9DA, 0x54E8}, //{0xE5, 0x93, 0xA8}, // �� + {0xC1A8, 0x54E9}, //{0xE5, 0x93, 0xA9}, // h + {0xC4C4, 0x54EA}, //{0xE5, 0x93, 0xAA}, // �� + {0xBFDE, 0x54ED}, //{0xE5, 0x93, 0xAD}, // �� + {0xCFF8, 0x54EE}, //{0xE5, 0x93, 0xAE}, // �� + {0xD5DC, 0x54F2}, //{0xE5, 0x93, 0xB2}, // �� + {0xB2B8, 0x54FA}, //{0xE5, 0x93, 0xBA}, // �� + {0xBADF, 0x54FC}, //{0xE5, 0x93, 0xBC}, // �� + {0xD1E4, 0x5501}, //{0xE5, 0x94, 0x81}, // �� + {0xCBF4, 0x5506}, //{0xE5, 0x94, 0x86}, // �� + {0xB4BD, 0x5507}, //{0xE5, 0x94, 0x87}, // �� + {0xB0A6, 0x5509}, //{0xE5, 0x94, 0x89}, // �� + {0xCCC6, 0x5510}, //{0xE5, 0x94, 0x90}, // �� + {0xDFEB, 0x5520}, //{0xE5, 0x94, 0xA0}, // �� + {0xBBBD, 0x5524}, //{0xE5, 0x94, 0xA4}, // �� + {0xDFF3, 0x5527}, //{0xE5, 0x94, 0xA7}, // �� + {0xBBA3, 0x552C}, //{0xE5, 0x94, 0xAC}, // �� + {0xCADB, 0x552E}, //{0xE5, 0x94, 0xAE}, // �� {0xCEA8, 0x552F}, //{0xE5, 0x94, 0xAF}, // Ψ - {0xB3AA, 0x5531}, //{0xE5, 0x94, 0xB1}, // ³ª - {0xCDD9, 0x553E}, //{0xE5, 0x94, 0xBE}, // ÍÙ - {0xBFD0, 0x5543}, //{0xE5, 0x95, 0x83}, // ¿Ð - {0xD7C4, 0x5544}, //{0xE5, 0x95, 0x84}, // ×Ä - {0xC9CC, 0x5546}, //{0xE5, 0x95, 0x86}, // ÉÌ - {0xB0A1, 0x554A}, //{0xE5, 0x95, 0x8A}, // °¡ - {0xB7C8, 0x5561}, //{0xE5, 0x95, 0xA1}, // ·È + {0xB3AA, 0x5531}, //{0xE5, 0x94, 0xB1}, // �� + {0xCDD9, 0x553E}, //{0xE5, 0x94, 0xBE}, // �� + {0xBFD0, 0x5543}, //{0xE5, 0x95, 0x83}, // �� + {0xD7C4, 0x5544}, //{0xE5, 0x95, 0x84}, // �� + {0xC9CC, 0x5546}, //{0xE5, 0x95, 0x86}, // �� + {0xB0A1, 0x554A}, //{0xE5, 0x95, 0x8A}, // �� + {0xB7C8, 0x5561}, //{0xE5, 0x95, 0xA1}, // �� {0xC6A1, 0x5564}, //{0xE5, 0x95, 0xA4}, // Æ¡ {0xC9B6, 0x5565}, //{0xE5, 0x95, 0xA5}, // ɶ - {0xC0B2, 0x5566}, //{0xE5, 0x95, 0xA6}, // À² + {0xC0B2, 0x5566}, //{0xE5, 0x95, 0xA6}, // 2 {0xD0A5, 0x5578}, //{0xE5, 0x95, 0xB8}, // Ð¥ - {0xCCE4, 0x557C}, //{0xE5, 0x95, 0xBC}, // Ìä + {0xCCE4, 0x557C}, //{0xE5, 0x95, 0xBC}, // �� {0xCEB9, 0x5582}, //{0xE5, 0x96, 0x82}, // ι - {0xC9C6, 0x5584}, //{0xE5, 0x96, 0x84}, // ÉÆ - {0xC0AE, 0x5587}, //{0xE5, 0x96, 0x87}, // À® - {0xBAED, 0x5589}, //{0xE5, 0x96, 0x89}, // ºí - {0xBAB0, 0x558A}, //{0xE5, 0x96, 0x8A}, // º° - {0xB4AD, 0x5598}, //{0xE5, 0x96, 0x98}, // ´­ + {0xC9C6, 0x5584}, //{0xE5, 0x96, 0x84}, // �� + {0xC0AE, 0x5587}, //{0xE5, 0x96, 0x87}, // . + {0xBAED, 0x5589}, //{0xE5, 0x96, 0x89}, // �� + {0xBAB0, 0x558A}, //{0xE5, 0x96, 0x8A}, // �� + {0xB4AD, 0x5598}, //{0xE5, 0x96, 0x98}, // �� {0xCFB2, 0x559C}, //{0xE5, 0x96, 0x9C}, // ϲ - {0xBAC8, 0x559D}, //{0xE5, 0x96, 0x9D}, // ºÈ - {0xD0FA, 0x55A7}, //{0xE5, 0x96, 0xA7}, // Ðú - {0xD4FB, 0x55B3}, //{0xE5, 0x96, 0xB3}, // Ôû - {0xC5E7, 0x55B7}, //{0xE5, 0x96, 0xB7}, // Åç - {0xD3F7, 0x55BB}, //{0xE5, 0x96, 0xBB}, // Ó÷ - {0xD0E1, 0x55C5}, //{0xE5, 0x97, 0x85}, // Ðá + {0xBAC8, 0x559D}, //{0xE5, 0x96, 0x9D}, // �� + {0xD0FA, 0x55A7}, //{0xE5, 0x96, 0xA7}, // �� + {0xD4FB, 0x55B3}, //{0xE5, 0x96, 0xB3}, // �� + {0xC5E7, 0x55B7}, //{0xE5, 0x96, 0xB7}, // �� + {0xD3F7, 0x55BB}, //{0xE5, 0x96, 0xBB}, // �� + {0xD0E1, 0x55C5}, //{0xE5, 0x97, 0x85}, // �� {0xC9A4, 0x55D3}, //{0xE5, 0x97, 0x93}, // ɤ - {0xCAC8, 0x55DC}, //{0xE5, 0x97, 0x9C}, // ÊÈ - {0xCECB, 0x55E1}, //{0xE5, 0x97, 0xA1}, // ÎË - {0xE0CD, 0x55E4}, //{0xE5, 0x97, 0xA4}, // àÍ - {0xE0C2, 0x55E6}, //{0xE5, 0x97, 0xA6}, // à - {0xCBD4, 0x55FD}, //{0xE5, 0x97, 0xBD}, // ËÔ - {0xE0D6, 0x5600}, //{0xE5, 0x98, 0x80}, // àÖ - {0xE0D2, 0x5601}, //{0xE5, 0x98, 0x81}, // àÒ - {0xBCCE, 0x5609}, //{0xE5, 0x98, 0x89}, // ¼Î - {0xD6F6, 0x5631}, //{0xE5, 0x98, 0xB1}, // Öö - {0xB3B0, 0x5632}, //{0xE5, 0x98, 0xB2}, // ³° - {0xD7EC, 0x5634}, //{0xE5, 0x98, 0xB4}, // ×ì + {0xCAC8, 0x55DC}, //{0xE5, 0x97, 0x9C}, // �� + {0xCECB, 0x55E1}, //{0xE5, 0x97, 0xA1}, // �� + {0xE0CD, 0x55E4}, //{0xE5, 0x97, 0xA4}, // �� + {0xE0C2, 0x55E6}, //{0xE5, 0x97, 0xA6}, // �� + {0xCBD4, 0x55FD}, //{0xE5, 0x97, 0xBD}, // �� + {0xE0D6, 0x5600}, //{0xE5, 0x98, 0x80}, // �� + {0xE0D2, 0x5601}, //{0xE5, 0x98, 0x81}, // �� + {0xBCCE, 0x5609}, //{0xE5, 0x98, 0x89}, // �� + {0xD6F6, 0x5631}, //{0xE5, 0x98, 0xB1}, // �� + {0xB3B0, 0x5632}, //{0xE5, 0x98, 0xB2}, // �� + {0xD7EC, 0x5634}, //{0xE5, 0x98, 0xB4}, // �� {0xCBBB, 0x5636}, //{0xE5, 0x98, 0xB6}, // Ë» - {0xE0DA, 0x5639}, //{0xE5, 0x98, 0xB9}, // àÚ - {0xBAD9, 0x563F}, //{0xE5, 0x98, 0xBF}, // ºÙ - {0xC6F7, 0x5668}, //{0xE5, 0x99, 0xA8}, // Æ÷ + {0xE0DA, 0x5639}, //{0xE5, 0x98, 0xB9}, // �� + {0xBAD9, 0x563F}, //{0xE5, 0x98, 0xBF}, // �� + {0xC6F7, 0x5668}, //{0xE5, 0x99, 0xA8}, // �� {0xD8AC, 0x5669}, //{0xE5, 0x99, 0xA9}, // ج - {0xD4EB, 0x566A}, //{0xE5, 0x99, 0xAA}, // Ôë - {0xBABF, 0x568E}, //{0xE5, 0x9A, 0x8E}, // º¿ - {0xCFF9, 0x56A3}, //{0xE5, 0x9A, 0xA3}, // Ïù - {0xC8C2, 0x56B7}, //{0xE5, 0x9A, 0xB7}, // È - {0xBDC0, 0x56BC}, //{0xE5, 0x9A, 0xBC}, // ½À - {0xC4D2, 0x56CA}, //{0xE5, 0x9B, 0x8A}, // ÄÒ - {0xC7F4, 0x56DA}, //{0xE5, 0x9B, 0x9A}, // Çô - {0xCBC4, 0x56DB}, //{0xE5, 0x9B, 0x9B}, // ËÄ - {0xBBD8, 0x56DE}, //{0xE5, 0x9B, 0x9E}, // »Ø - {0xD2F2, 0x56E0}, //{0xE5, 0x9B, 0xA0}, // Òò - {0xCDC5, 0x56E2}, //{0xE5, 0x9B, 0xA2}, // ÍÅ - {0xB6DA, 0x56E4}, //{0xE5, 0x9B, 0xA4}, // ¶Ú + {0xD4EB, 0x566A}, //{0xE5, 0x99, 0xAA}, // �� + {0xBABF, 0x568E}, //{0xE5, 0x9A, 0x8E}, // �� + {0xCFF9, 0x56A3}, //{0xE5, 0x9A, 0xA3}, // �� + {0xC8C2, 0x56B7}, //{0xE5, 0x9A, 0xB7}, // �� + {0xBDC0, 0x56BC}, //{0xE5, 0x9A, 0xBC}, // �� + {0xC4D2, 0x56CA}, //{0xE5, 0x9B, 0x8A}, // �� + {0xC7F4, 0x56DA}, //{0xE5, 0x9B, 0x9A}, // �� + {0xCBC4, 0x56DB}, //{0xE5, 0x9B, 0x9B}, // �� + {0xBBD8, 0x56DE}, //{0xE5, 0x9B, 0x9E}, // �� + {0xD2F2, 0x56E0}, //{0xE5, 0x9B, 0xA0}, // �� + {0xCDC5, 0x56E2}, //{0xE5, 0x9B, 0xA2}, // �� + {0xB6DA, 0x56E4}, //{0xE5, 0x9B, 0xA4}, // �� {0xD4B0, 0x56ED}, //{0xE5, 0x9B, 0xAD}, // Ô° - {0xC0A7, 0x56F0}, //{0xE5, 0x9B, 0xB0}, // À§ - {0xB4D1, 0x56F1}, //{0xE5, 0x9B, 0xB1}, // ´Ñ + {0xC0A7, 0x56F0}, //{0xE5, 0x9B, 0xB0}, // ' + {0xB4D1, 0x56F1}, //{0xE5, 0x9B, 0xB1}, // �� {0xCEA7, 0x56F4}, //{0xE5, 0x9B, 0xB4}, // Χ - {0xB9CC, 0x56FA}, //{0xE5, 0x9B, 0xBA}, // ¹Ì - {0xB9FA, 0x56FD}, //{0xE5, 0x9B, 0xBD}, // ¹ú + {0xB9CC, 0x56FA}, //{0xE5, 0x9B, 0xBA}, // �� + {0xB9FA, 0x56FD}, //{0xE5, 0x9B, 0xBD}, // �� {0xCDBC, 0x56FE}, //{0xE5, 0x9B, 0xBE}, // ͼ - {0xC6D4, 0x5703}, //{0xE5, 0x9C, 0x83}, // ÆÔ + {0xC6D4, 0x5703}, //{0xE5, 0x9C, 0x83}, // �� {0xD4B2, 0x5706}, //{0xE5, 0x9C, 0x86}, // Ô² {0xC8A6, 0x5708}, //{0xE5, 0x9C, 0x88}, // Ȧ - {0xCDC1, 0x571F}, //{0xE5, 0x9C, 0x9F}, // ÍÁ + {0xCDC1, 0x571F}, //{0xE5, 0x9C, 0x9F}, // �� {0xCAA5, 0x5723}, //{0xE5, 0x9C, 0xA3}, // Ê¥ - {0xD4DA, 0x5728}, //{0xE5, 0x9C, 0xA8}, // ÔÚ - {0xB5D8, 0x5730}, //{0xE5, 0x9C, 0xB0}, // µØ - {0xB3A1, 0x573A}, //{0xE5, 0x9C, 0xBA}, // ³¡ - {0xBBF8, 0x573E}, //{0xE5, 0x9C, 0xBE}, // »ø + {0xD4DA, 0x5728}, //{0xE5, 0x9C, 0xA8}, // �� + {0xB5D8, 0x5730}, //{0xE5, 0x9C, 0xB0}, // �� + {0xB3A1, 0x573A}, //{0xE5, 0x9C, 0xBA}, // �� + {0xBBF8, 0x573E}, //{0xE5, 0x9C, 0xBE}, // �� {0xD6B7, 0x5740}, //{0xE5, 0x9D, 0x80}, // Ö· - {0xBEF9, 0x5747}, //{0xE5, 0x9D, 0x87}, // ¾ù - {0xB7BB, 0x574A}, //{0xE5, 0x9D, 0x8A}, // ·» - {0xBFB2, 0x574E}, //{0xE5, 0x9D, 0x8E}, // ¿² - {0xBBB5, 0x574F}, //{0xE5, 0x9D, 0x8F}, // »µ - {0xD7F8, 0x5750}, //{0xE5, 0x9D, 0x90}, // ×ø - {0xBFD3, 0x5751}, //{0xE5, 0x9D, 0x91}, // ¿Ó - {0xBFE9, 0x5757}, //{0xE5, 0x9D, 0x97}, // ¿é - {0xBCE1, 0x575A}, //{0xE5, 0x9D, 0x9A}, // ¼á + {0xBEF9, 0x5747}, //{0xE5, 0x9D, 0x87}, // �� + {0xB7BB, 0x574A}, //{0xE5, 0x9D, 0x8A}, // �� + {0xBFB2, 0x574E}, //{0xE5, 0x9D, 0x8E}, // �� + {0xBBB5, 0x574F}, //{0xE5, 0x9D, 0x8F}, // �� + {0xD7F8, 0x5750}, //{0xE5, 0x9D, 0x90}, // �� + {0xBFD3, 0x5751}, //{0xE5, 0x9D, 0x91}, // �� + {0xBFE9, 0x5757}, //{0xE5, 0x9D, 0x97}, // �� + {0xBCE1, 0x575A}, //{0xE5, 0x9D, 0x9A}, // �� {0xCCB3, 0x575B}, //{0xE5, 0x9D, 0x9B}, // ̳ - {0xB0D3, 0x575D}, //{0xE5, 0x9D, 0x9D}, // °Ó - {0xCEEB, 0x575E}, //{0xE5, 0x9D, 0x9E}, // Îë - {0xB7D8, 0x575F}, //{0xE5, 0x9D, 0x9F}, // ·Ø + {0xB0D3, 0x575D}, //{0xE5, 0x9D, 0x9D}, // �� + {0xCEEB, 0x575E}, //{0xE5, 0x9D, 0x9E}, // �� + {0xB7D8, 0x575F}, //{0xE5, 0x9D, 0x9F}, // �� {0xD7B9, 0x5760}, //{0xE5, 0x9D, 0xA0}, // ×¹ - {0xC6C2, 0x5761}, //{0xE5, 0x9D, 0xA1}, // ÆÂ - {0xC0A4, 0x5764}, //{0xE5, 0x9D, 0xA4}, // À¤ + {0xC6C2, 0x5761}, //{0xE5, 0x9D, 0xA1}, // �� + {0xC0A4, 0x5764}, //{0xE5, 0x9D, 0xA4}, // $ {0xCCB9, 0x5766}, //{0xE5, 0x9D, 0xA6}, // ̹ {0xC6BA, 0x576A}, //{0xE5, 0x9D, 0xAA}, // ƺ - {0xC5F7, 0x576F}, //{0xE5, 0x9D, 0xAF}, // Å÷ - {0xBFC0, 0x5777}, //{0xE5, 0x9D, 0xB7}, // ¿À - {0xB4B9, 0x5782}, //{0xE5, 0x9E, 0x82}, // ´¹ - {0xC0AC, 0x5783}, //{0xE5, 0x9E, 0x83}, // À¬ + {0xC5F7, 0x576F}, //{0xE5, 0x9D, 0xAF}, // �� + {0xBFC0, 0x5777}, //{0xE5, 0x9D, 0xB7}, // �� + {0xB4B9, 0x5782}, //{0xE5, 0x9E, 0x82}, // �� + {0xC0AC, 0x5783}, //{0xE5, 0x9E, 0x83}, // , {0xC2A2, 0x5784}, //{0xE5, 0x9E, 0x84}, // ¢ - {0xD0CD, 0x578B}, //{0xE5, 0x9E, 0x8B}, // ÐÍ - {0xC0DD, 0x5792}, //{0xE5, 0x9E, 0x92}, // ÀÝ - {0xB6E2, 0x579B}, //{0xE5, 0x9E, 0x9B}, // ¶â - {0xB9B8, 0x57A2}, //{0xE5, 0x9E, 0xA2}, // ¹¸ - {0xBFD1, 0x57A6}, //{0xE5, 0x9E, 0xA6}, // ¿Ñ - {0xB5E6, 0x57AB}, //{0xE5, 0x9E, 0xAB}, // µæ - {0xBFE5, 0x57AE}, //{0xE5, 0x9E, 0xAE}, // ¿å - {0xB9A1, 0x57C2}, //{0xE5, 0x9F, 0x82}, // ¹¡ - {0xB0A3, 0x57C3}, //{0xE5, 0x9F, 0x83}, // °£ - {0xC2F1, 0x57CB}, //{0xE5, 0x9F, 0x8B}, // Âñ - {0xB3C7, 0x57CE}, //{0xE5, 0x9F, 0x8E}, // ³Ç - {0xD3F2, 0x57DF}, //{0xE5, 0x9F, 0x9F}, // Óò - {0xB2BA, 0x57E0}, //{0xE5, 0x9F, 0xA0}, // ²º - {0xC5E0, 0x57F9}, //{0xE5, 0x9F, 0xB9}, // Åà - {0xBBF9, 0x57FA}, //{0xE5, 0x9F, 0xBA}, // »ù - {0xCCC3, 0x5802}, //{0xE5, 0xA0, 0x82}, // Ìà - {0xB6D1, 0x5806}, //{0xE5, 0xA0, 0x86}, // ¶Ñ - {0xB6E9, 0x5815}, //{0xE5, 0xA0, 0x95}, // ¶é - {0xB1A4, 0x5821}, //{0xE5, 0xA0, 0xA1}, // ±¤ - {0xB5CC, 0x5824}, //{0xE5, 0xA0, 0xA4}, // µÌ - {0xBFB0, 0x582A}, //{0xE5, 0xA0, 0xAA}, // ¿° - {0xD1DF, 0x5830}, //{0xE5, 0xA0, 0xB0}, // Ñß - {0xB6C2, 0x5835}, //{0xE5, 0xA0, 0xB5}, // ¶Â - {0xCBFA, 0x584C}, //{0xE5, 0xA1, 0x8C}, // Ëú - {0xCBDC, 0x5851}, //{0xE5, 0xA1, 0x91}, // ËÜ - {0xCBFE, 0x5854}, //{0xE5, 0xA1, 0x94}, // Ëþ - {0xCCC1, 0x5858}, //{0xE5, 0xA1, 0x98}, // ÌÁ - {0xC8FB, 0x585E}, //{0xE5, 0xA1, 0x9E}, // Èû - {0xCCEE, 0x586B}, //{0xE5, 0xA1, 0xAB}, // Ìî - {0xBEB3, 0x5883}, //{0xE5, 0xA2, 0x83}, // ¾³ - {0xCAFB, 0x5885}, //{0xE5, 0xA2, 0x85}, // Êû + {0xD0CD, 0x578B}, //{0xE5, 0x9E, 0x8B}, // �� + {0xC0DD, 0x5792}, //{0xE5, 0x9E, 0x92}, // �� + {0xB6E2, 0x579B}, //{0xE5, 0x9E, 0x9B}, // �� + {0xB9B8, 0x57A2}, //{0xE5, 0x9E, 0xA2}, // �� + {0xBFD1, 0x57A6}, //{0xE5, 0x9E, 0xA6}, // �� + {0xB5E6, 0x57AB}, //{0xE5, 0x9E, 0xAB}, // �� + {0xBFE5, 0x57AE}, //{0xE5, 0x9E, 0xAE}, // �� + {0xB9A1, 0x57C2}, //{0xE5, 0x9F, 0x82}, // �� + {0xB0A3, 0x57C3}, //{0xE5, 0x9F, 0x83}, // �� + {0xC2F1, 0x57CB}, //{0xE5, 0x9F, 0x8B}, // �� + {0xB3C7, 0x57CE}, //{0xE5, 0x9F, 0x8E}, // �� + {0xD3F2, 0x57DF}, //{0xE5, 0x9F, 0x9F}, // �� + {0xB2BA, 0x57E0}, //{0xE5, 0x9F, 0xA0}, // �� + {0xC5E0, 0x57F9}, //{0xE5, 0x9F, 0xB9}, // �� + {0xBBF9, 0x57FA}, //{0xE5, 0x9F, 0xBA}, // �� + {0xCCC3, 0x5802}, //{0xE5, 0xA0, 0x82}, // �� + {0xB6D1, 0x5806}, //{0xE5, 0xA0, 0x86}, // �� + {0xB6E9, 0x5815}, //{0xE5, 0xA0, 0x95}, // �� + {0xB1A4, 0x5821}, //{0xE5, 0xA0, 0xA1}, // �� + {0xB5CC, 0x5824}, //{0xE5, 0xA0, 0xA4}, // �� + {0xBFB0, 0x582A}, //{0xE5, 0xA0, 0xAA}, // �� + {0xD1DF, 0x5830}, //{0xE5, 0xA0, 0xB0}, // �� + {0xB6C2, 0x5835}, //{0xE5, 0xA0, 0xB5}, // �� + {0xCBFA, 0x584C}, //{0xE5, 0xA1, 0x8C}, // �� + {0xCBDC, 0x5851}, //{0xE5, 0xA1, 0x91}, // �� + {0xCBFE, 0x5854}, //{0xE5, 0xA1, 0x94}, // �� + {0xCCC1, 0x5858}, //{0xE5, 0xA1, 0x98}, // �� + {0xC8FB, 0x585E}, //{0xE5, 0xA1, 0x9E}, // �� + {0xCCEE, 0x586B}, //{0xE5, 0xA1, 0xAB}, // �� + {0xBEB3, 0x5883}, //{0xE5, 0xA2, 0x83}, // �� + {0xCAFB, 0x5885}, //{0xE5, 0xA2, 0x85}, // �� {0xC4B9, 0x5893}, //{0xE5, 0xA2, 0x93}, // Ĺ {0xC7BD, 0x5899}, //{0xE5, 0xA2, 0x99}, // ǽ - {0xD4F6, 0x589E}, //{0xE5, 0xA2, 0x9E}, // Ôö + {0xD4F6, 0x589E}, //{0xE5, 0xA2, 0x9E}, // �� {0xC4AB, 0x58A8}, //{0xE5, 0xA2, 0xA8}, // Ä« - {0xB6D5, 0x58A9}, //{0xE5, 0xA2, 0xA9}, // ¶Õ - {0xB1DA, 0x58C1}, //{0xE5, 0xA3, 0x81}, // ±Ú - {0xBABE, 0x58D5}, //{0xE5, 0xA3, 0x95}, // º¾ - {0xC8C0, 0x58E4}, //{0xE5, 0xA3, 0xA4}, // ÈÀ + {0xB6D5, 0x58A9}, //{0xE5, 0xA2, 0xA9}, // �� + {0xB1DA, 0x58C1}, //{0xE5, 0xA3, 0x81}, // �� + {0xBABE, 0x58D5}, //{0xE5, 0xA3, 0x95}, // �� + {0xC8C0, 0x58E4}, //{0xE5, 0xA3, 0xA4}, // �� {0xCABF, 0x58EB}, //{0xE5, 0xA3, 0xAB}, // Ê¿ {0xD7B3, 0x58EE}, //{0xE5, 0xA3, 0xAE}, // ׳ - {0xC9F9, 0x58F0}, //{0xE5, 0xA3, 0xB0}, // Éù - {0xBFC7, 0x58F3}, //{0xE5, 0xA3, 0xB3}, // ¿Ç - {0xBAF8, 0x58F6}, //{0xE5, 0xA3, 0xB6}, // ºø + {0xC9F9, 0x58F0}, //{0xE5, 0xA3, 0xB0}, // �� + {0xBFC7, 0x58F3}, //{0xE5, 0xA3, 0xB3}, // �� + {0xBAF8, 0x58F6}, //{0xE5, 0xA3, 0xB6}, // �� {0xD2BC, 0x58F9}, //{0xE5, 0xA3, 0xB9}, // Ò¼ - {0xB4A6, 0x5904}, //{0xE5, 0xA4, 0x84}, // ´¦ - {0xB1B8, 0x5907}, //{0xE5, 0xA4, 0x87}, // ±¸ - {0xB8B4, 0x590D}, //{0xE5, 0xA4, 0x8D}, // ¸´ - {0xCFC4, 0x590F}, //{0xE5, 0xA4, 0x8F}, // ÏÄ + {0xB4A6, 0x5904}, //{0xE5, 0xA4, 0x84}, // �� + {0xB1B8, 0x5907}, //{0xE5, 0xA4, 0x87}, // �� + {0xB8B4, 0x590D}, //{0xE5, 0xA4, 0x8D}, // �� + {0xCFC4, 0x590F}, //{0xE5, 0xA4, 0x8F}, // �� {0xCFA6, 0x5915}, //{0xE5, 0xA4, 0x95}, // Ϧ - {0xCDE2, 0x5916}, //{0xE5, 0xA4, 0x96}, // Íâ - {0xB6E0, 0x591A}, //{0xE5, 0xA4, 0x9A}, // ¶à + {0xCDE2, 0x5916}, //{0xE5, 0xA4, 0x96}, // �� + {0xB6E0, 0x591A}, //{0xE5, 0xA4, 0x9A}, // �� {0xD2B9, 0x591C}, //{0xE5, 0xA4, 0x9C}, // Ò¹ - {0xB9BB, 0x591F}, //{0xE5, 0xA4, 0x9F}, // ¹» - {0xB4F3, 0x5927}, //{0xE5, 0xA4, 0xA7}, // ´ó - {0xCCEC, 0x5929}, //{0xE5, 0xA4, 0xA9}, // Ìì + {0xB9BB, 0x591F}, //{0xE5, 0xA4, 0x9F}, // �� + {0xB4F3, 0x5927}, //{0xE5, 0xA4, 0xA7}, // �� + {0xCCEC, 0x5929}, //{0xE5, 0xA4, 0xA9}, // �� {0xCCAB, 0x592A}, //{0xE5, 0xA4, 0xAA}, // Ì« - {0xB7F2, 0x592B}, //{0xE5, 0xA4, 0xAB}, // ·ò + {0xB7F2, 0x592B}, //{0xE5, 0xA4, 0xAB}, // �� {0xD8B2, 0x592D}, //{0xE5, 0xA4, 0xAD}, // ز - {0xD1EB, 0x592E}, //{0xE5, 0xA4, 0xAE}, // Ñë - {0xBABB, 0x592F}, //{0xE5, 0xA4, 0xAF}, // º» + {0xD1EB, 0x592E}, //{0xE5, 0xA4, 0xAE}, // �� + {0xBABB, 0x592F}, //{0xE5, 0xA4, 0xAF}, // �� {0xCAA7, 0x5931}, //{0xE5, 0xA4, 0xB1}, // ʧ {0xCDB7, 0x5934}, //{0xE5, 0xA4, 0xB4}, // Í· - {0xD2C4, 0x5937}, //{0xE5, 0xA4, 0xB7}, // ÒÄ - {0xBFE4, 0x5938}, //{0xE5, 0xA4, 0xB8}, // ¿ä - {0xBCD0, 0x5939}, //{0xE5, 0xA4, 0xB9}, // ¼Ð - {0xB6E1, 0x593A}, //{0xE5, 0xA4, 0xBA}, // ¶á - {0xD1D9, 0x5944}, //{0xE5, 0xA5, 0x84}, // ÑÙ - {0xC6E6, 0x5947}, //{0xE5, 0xA5, 0x87}, // Ææ - {0xC4CE, 0x5948}, //{0xE5, 0xA5, 0x88}, // ÄÎ - {0xB7EE, 0x5949}, //{0xE5, 0xA5, 0x89}, // ·î - {0xB7DC, 0x594B}, //{0xE5, 0xA5, 0x8B}, // ·Ü - {0xD7E0, 0x594F}, //{0xE5, 0xA5, 0x8F}, // ×à - {0xC6F5, 0x5951}, //{0xE5, 0xA5, 0x91}, // Æõ - {0xB1BC, 0x5954}, //{0xE5, 0xA5, 0x94}, // ±¼ - {0xDEC8, 0x5955}, //{0xE5, 0xA5, 0x95}, // ÞÈ - {0xBDB1, 0x5956}, //{0xE5, 0xA5, 0x96}, // ½± - {0xCCD7, 0x5957}, //{0xE5, 0xA5, 0x97}, // Ì× - {0xB5EC, 0x5960}, //{0xE5, 0xA5, 0xA0}, // µì - {0xC9DD, 0x5962}, //{0xE5, 0xA5, 0xA2}, // ÉÝ - {0xB0C2, 0x5965}, //{0xE5, 0xA5, 0xA5}, // °Â + {0xD2C4, 0x5937}, //{0xE5, 0xA4, 0xB7}, // �� + {0xBFE4, 0x5938}, //{0xE5, 0xA4, 0xB8}, // �� + {0xBCD0, 0x5939}, //{0xE5, 0xA4, 0xB9}, // �� + {0xB6E1, 0x593A}, //{0xE5, 0xA4, 0xBA}, // �� + {0xD1D9, 0x5944}, //{0xE5, 0xA5, 0x84}, // �� + {0xC6E6, 0x5947}, //{0xE5, 0xA5, 0x87}, // �� + {0xC4CE, 0x5948}, //{0xE5, 0xA5, 0x88}, // �� + {0xB7EE, 0x5949}, //{0xE5, 0xA5, 0x89}, // �� + {0xB7DC, 0x594B}, //{0xE5, 0xA5, 0x8B}, // �� + {0xD7E0, 0x594F}, //{0xE5, 0xA5, 0x8F}, // �� + {0xC6F5, 0x5951}, //{0xE5, 0xA5, 0x91}, // �� + {0xB1BC, 0x5954}, //{0xE5, 0xA5, 0x94}, // �� + {0xDEC8, 0x5955}, //{0xE5, 0xA5, 0x95}, // �� + {0xBDB1, 0x5956}, //{0xE5, 0xA5, 0x96}, // �� + {0xCCD7, 0x5957}, //{0xE5, 0xA5, 0x97}, // �� + {0xB5EC, 0x5960}, //{0xE5, 0xA5, 0xA0}, // �� + {0xC9DD, 0x5962}, //{0xE5, 0xA5, 0xA2}, // �� + {0xB0C2, 0x5965}, //{0xE5, 0xA5, 0xA5}, // �� {0xC5AE, 0x5973}, //{0xE5, 0xA5, 0xB3}, // Å® {0xC5AB, 0x5974}, //{0xE5, 0xA5, 0xB4}, // Å« - {0xC4CC, 0x5976}, //{0xE5, 0xA5, 0xB6}, // ÄÌ - {0xBCE9, 0x5978}, //{0xE5, 0xA5, 0xB8}, // ¼é - {0xCBFD, 0x5979}, //{0xE5, 0xA5, 0xB9}, // Ëý - {0xBAC3, 0x597D}, //{0xE5, 0xA5, 0xBD}, // ºÃ - {0xC8E7, 0x5982}, //{0xE5, 0xA6, 0x82}, // Èç - {0xCDFD, 0x5984}, //{0xE5, 0xA6, 0x84}, // Íý + {0xC4CC, 0x5976}, //{0xE5, 0xA5, 0xB6}, // �� + {0xBCE9, 0x5978}, //{0xE5, 0xA5, 0xB8}, // �� + {0xCBFD, 0x5979}, //{0xE5, 0xA5, 0xB9}, // �� + {0xBAC3, 0x597D}, //{0xE5, 0xA5, 0xBD}, // �� + {0xC8E7, 0x5982}, //{0xE5, 0xA6, 0x82}, // �� + {0xCDFD, 0x5984}, //{0xE5, 0xA6, 0x84}, // �� {0xD7B1, 0x5986}, //{0xE5, 0xA6, 0x86}, // ×± - {0xB8BE, 0x5987}, //{0xE5, 0xA6, 0x87}, // ¸¾ - {0xC2E8, 0x5988}, //{0xE5, 0xA6, 0x88}, // Âè - {0xB6CA, 0x5992}, //{0xE5, 0xA6, 0x92}, // ¶Ê - {0xBCCB, 0x5993}, //{0xE5, 0xA6, 0x93}, // ¼Ë - {0xD1FD, 0x5996}, //{0xE5, 0xA6, 0x96}, // Ñý - {0xC3EE, 0x5999}, //{0xE5, 0xA6, 0x99}, // Ãî - {0xCDD7, 0x59A5}, //{0xE5, 0xA6, 0xA5}, // Í× - {0xB7C1, 0x59A8}, //{0xE5, 0xA6, 0xA8}, // ·Á - {0xC3C3, 0x59B9}, //{0xE5, 0xA6, 0xB9}, // Ãà - {0xC6DE, 0x59BB}, //{0xE5, 0xA6, 0xBB}, // ÆÞ + {0xB8BE, 0x5987}, //{0xE5, 0xA6, 0x87}, // �� + {0xC2E8, 0x5988}, //{0xE5, 0xA6, 0x88}, // �� + {0xB6CA, 0x5992}, //{0xE5, 0xA6, 0x92}, // �� + {0xBCCB, 0x5993}, //{0xE5, 0xA6, 0x93}, // �� + {0xD1FD, 0x5996}, //{0xE5, 0xA6, 0x96}, // �� + {0xC3EE, 0x5999}, //{0xE5, 0xA6, 0x99}, // �� + {0xCDD7, 0x59A5}, //{0xE5, 0xA6, 0xA5}, // �� + {0xB7C1, 0x59A8}, //{0xE5, 0xA6, 0xA8}, // �� + {0xC3C3, 0x59B9}, //{0xE5, 0xA6, 0xB9}, // �� + {0xC6DE, 0x59BB}, //{0xE5, 0xA6, 0xBB}, // �� {0xC4B7, 0x59C6}, //{0xE5, 0xA7, 0x86}, // Ä· - {0xE6A2, 0x59CA}, //{0xE5, 0xA7, 0x8A}, // æ¢ + {0xE6A2, 0x59CA}, //{0xE5, 0xA7, 0x8A}, // � {0xCABC, 0x59CB}, //{0xE5, 0xA7, 0x8B}, // ʼ - {0xBDE3, 0x59D0}, //{0xE5, 0xA7, 0x90}, // ½ã - {0xB9C3, 0x59D1}, //{0xE5, 0xA7, 0x91}, // ¹Ã - {0xD0D5, 0x59D3}, //{0xE5, 0xA7, 0x93}, // ÐÕ + {0xBDE3, 0x59D0}, //{0xE5, 0xA7, 0x90}, // �� + {0xB9C3, 0x59D1}, //{0xE5, 0xA7, 0x91}, // �� + {0xD0D5, 0x59D3}, //{0xE5, 0xA7, 0x93}, // �� {0xCEAF, 0x59D4}, //{0xE5, 0xA7, 0x94}, // ί {0xD2A6, 0x59DA}, //{0xE5, 0xA7, 0x9A}, // Ò¦ - {0xBDAA, 0x59DC}, //{0xE5, 0xA7, 0x9C}, // ½ª - {0xC0D1, 0x59E5}, //{0xE5, 0xA7, 0xA5}, // ÀÑ - {0xD2CC, 0x59E8}, //{0xE5, 0xA7, 0xA8}, // ÒÌ - {0xD2F6, 0x59FB}, //{0xE5, 0xA7, 0xBB}, // Òö - {0xD7CB, 0x59FF}, //{0xE5, 0xA7, 0xBF}, // ×Ë - {0xCDFE, 0x5A01}, //{0xE5, 0xA8, 0x81}, // Íþ - {0xCDDE, 0x5A03}, //{0xE5, 0xA8, 0x83}, // ÍÞ + {0xBDAA, 0x59DC}, //{0xE5, 0xA7, 0x9C}, // �� + {0xC0D1, 0x59E5}, //{0xE5, 0xA7, 0xA5}, // �� + {0xD2CC, 0x59E8}, //{0xE5, 0xA7, 0xA8}, // �� + {0xD2F6, 0x59FB}, //{0xE5, 0xA7, 0xBB}, // �� + {0xD7CB, 0x59FF}, //{0xE5, 0xA7, 0xBF}, // �� + {0xCDFE, 0x5A01}, //{0xE5, 0xA8, 0x81}, // �� + {0xCDDE, 0x5A03}, //{0xE5, 0xA8, 0x83}, // �� {0xC2A6, 0x5A04}, //{0xE5, 0xA8, 0x84}, // ¦ - {0xBDBF, 0x5A07}, //{0xE5, 0xA8, 0x87}, // ½¿ - {0xC4EF, 0x5A18}, //{0xE5, 0xA8, 0x98}, // Äï - {0xC4C8, 0x5A1C}, //{0xE5, 0xA8, 0x9C}, // ÄÈ - {0xC3E4, 0x5A29}, //{0xE5, 0xA8, 0xA9}, // Ãä - {0xD3E9, 0x5A31}, //{0xE5, 0xA8, 0xB1}, // Óé + {0xBDBF, 0x5A07}, //{0xE5, 0xA8, 0x87}, // �� + {0xC4EF, 0x5A18}, //{0xE5, 0xA8, 0x98}, // �� + {0xC4C8, 0x5A1C}, //{0xE5, 0xA8, 0x9C}, // �� + {0xC3E4, 0x5A29}, //{0xE5, 0xA8, 0xA9}, // �� + {0xD3E9, 0x5A31}, //{0xE5, 0xA8, 0xB1}, // �� {0xC8A2, 0x5A36}, //{0xE5, 0xA8, 0xB6}, // È¢ - {0xC6C5, 0x5A46}, //{0xE5, 0xA9, 0x86}, // ÆÅ - {0xCDF1, 0x5A49}, //{0xE5, 0xA9, 0x89}, // Íñ - {0xBBE9, 0x5A5A}, //{0xE5, 0xA9, 0x9A}, // »é + {0xC6C5, 0x5A46}, //{0xE5, 0xA9, 0x86}, // �� + {0xCDF1, 0x5A49}, //{0xE5, 0xA9, 0x89}, // �� + {0xBBE9, 0x5A5A}, //{0xE5, 0xA9, 0x9A}, // �� {0xD3A4, 0x5A74}, //{0xE5, 0xA9, 0xB4}, // Ó¤ - {0xC9F4, 0x5A76}, //{0xE5, 0xA9, 0xB6}, // Éô - {0xD0F6, 0x5A7F}, //{0xE5, 0xA9, 0xBF}, // Ðö + {0xC9F4, 0x5A76}, //{0xE5, 0xA9, 0xB6}, // �� + {0xD0F6, 0x5A7F}, //{0xE5, 0xA9, 0xBF}, // �� {0xC3BD, 0x5A92}, //{0xE5, 0xAA, 0x92}, // ý - {0xC3C4, 0x5A9A}, //{0xE5, 0xAA, 0x9A}, // ÃÄ + {0xC3C4, 0x5A9A}, //{0xE5, 0xAA, 0x9A}, // �� {0xCFB1, 0x5AB3}, //{0xE5, 0xAA, 0xB3}, // ϱ - {0xBCDE, 0x5AC1}, //{0xE5, 0xAB, 0x81}, // ¼Þ + {0xBCDE, 0x5AC1}, //{0xE5, 0xAB, 0x81}, // �� {0xC9A9, 0x5AC2}, //{0xE5, 0xAB, 0x82}, // É© - {0xBCB5, 0x5AC9}, //{0xE5, 0xAB, 0x89}, // ¼µ - {0xCFD3, 0x5ACC}, //{0xE5, 0xAB, 0x8C}, // ÏÓ - {0xB5D5, 0x5AE1}, //{0xE5, 0xAB, 0xA1}, // µÕ - {0xC4DB, 0x5AE9}, //{0xE5, 0xAB, 0xA9}, // ÄÛ - {0xE6D2, 0x5B09}, //{0xE5, 0xAC, 0x89}, // æÒ - {0xD7D3, 0x5B50}, //{0xE5, 0xAD, 0x90}, // ×Ó - {0xBFD7, 0x5B54}, //{0xE5, 0xAD, 0x94}, // ¿× - {0xD4D0, 0x5B55}, //{0xE5, 0xAD, 0x95}, // ÔÐ - {0xD7D6, 0x5B57}, //{0xE5, 0xAD, 0x97}, // ×Ö - {0xB4E6, 0x5B58}, //{0xE5, 0xAD, 0x98}, // ´æ - {0xCBEF, 0x5B59}, //{0xE5, 0xAD, 0x99}, // Ëï + {0xBCB5, 0x5AC9}, //{0xE5, 0xAB, 0x89}, // �� + {0xCFD3, 0x5ACC}, //{0xE5, 0xAB, 0x8C}, // �� + {0xB5D5, 0x5AE1}, //{0xE5, 0xAB, 0xA1}, // �� + {0xC4DB, 0x5AE9}, //{0xE5, 0xAB, 0xA9}, // �� + {0xE6D2, 0x5B09}, //{0xE5, 0xAC, 0x89}, // �� + {0xD7D3, 0x5B50}, //{0xE5, 0xAD, 0x90}, // �� + {0xBFD7, 0x5B54}, //{0xE5, 0xAD, 0x94}, // �� + {0xD4D0, 0x5B55}, //{0xE5, 0xAD, 0x95}, // �� + {0xD7D6, 0x5B57}, //{0xE5, 0xAD, 0x97}, // �� + {0xB4E6, 0x5B58}, //{0xE5, 0xAD, 0x98}, // �� + {0xCBEF, 0x5B59}, //{0xE5, 0xAD, 0x99}, // �� {0xD0A2, 0x5B5D}, //{0xE5, 0xAD, 0x9D}, // Т - {0xC3CF, 0x5B5F}, //{0xE5, 0xAD, 0x9F}, // ÃÏ - {0xBCBE, 0x5B63}, //{0xE5, 0xAD, 0xA3}, // ¼¾ - {0xB9C2, 0x5B64}, //{0xE5, 0xAD, 0xA4}, // ¹Â + {0xC3CF, 0x5B5F}, //{0xE5, 0xAD, 0x9F}, // �� + {0xBCBE, 0x5B63}, //{0xE5, 0xAD, 0xA3}, // �� + {0xB9C2, 0x5B64}, //{0xE5, 0xAD, 0xA4}, // �� {0xD1A7, 0x5B66}, //{0xE5, 0xAD, 0xA6}, // ѧ - {0xBAA2, 0x5B69}, //{0xE5, 0xAD, 0xA9}, // º¢ - {0xB7F5, 0x5B75}, //{0xE5, 0xAD, 0xB5}, // ·õ - {0xC4F5, 0x5B7D}, //{0xE5, 0xAD, 0xBD}, // Äõ - {0xC4FE, 0x5B81}, //{0xE5, 0xAE, 0x81}, // Äþ - {0xCBFC, 0x5B83}, //{0xE5, 0xAE, 0x83}, // Ëü + {0xBAA2, 0x5B69}, //{0xE5, 0xAD, 0xA9}, // �� + {0xB7F5, 0x5B75}, //{0xE5, 0xAD, 0xB5}, // �� + {0xC4F5, 0x5B7D}, //{0xE5, 0xAD, 0xBD}, // �� + {0xC4FE, 0x5B81}, //{0xE5, 0xAE, 0x81}, // �� + {0xCBFC, 0x5B83}, //{0xE5, 0xAE, 0x83}, // �� {0xD5AC, 0x5B85}, //{0xE5, 0xAE, 0x85}, // Õ¬ - {0xD3EE, 0x5B87}, //{0xE5, 0xAE, 0x87}, // Óî - {0xCAD8, 0x5B88}, //{0xE5, 0xAE, 0x88}, // ÊØ - {0xB0B2, 0x5B89}, //{0xE5, 0xAE, 0x89}, // °² - {0xCBCE, 0x5B8B}, //{0xE5, 0xAE, 0x8B}, // ËÎ - {0xCDEA, 0x5B8C}, //{0xE5, 0xAE, 0x8C}, // Íê - {0xBAEA, 0x5B8F}, //{0xE5, 0xAE, 0x8F}, // ºê - {0xD7DA, 0x5B97}, //{0xE5, 0xAE, 0x97}, // ×Ú - {0xB9D9, 0x5B98}, //{0xE5, 0xAE, 0x98}, // ¹Ù - {0xD6E6, 0x5B99}, //{0xE5, 0xAE, 0x99}, // Öæ - {0xB6A8, 0x5B9A}, //{0xE5, 0xAE, 0x9A}, // ¶¨ - {0xCDF0, 0x5B9B}, //{0xE5, 0xAE, 0x9B}, // Íð - {0xD2CB, 0x5B9C}, //{0xE5, 0xAE, 0x9C}, // ÒË - {0xB1A6, 0x5B9D}, //{0xE5, 0xAE, 0x9D}, // ±¦ + {0xD3EE, 0x5B87}, //{0xE5, 0xAE, 0x87}, // �� + {0xCAD8, 0x5B88}, //{0xE5, 0xAE, 0x88}, // �� + {0xB0B2, 0x5B89}, //{0xE5, 0xAE, 0x89}, // �� + {0xCBCE, 0x5B8B}, //{0xE5, 0xAE, 0x8B}, // �� + {0xCDEA, 0x5B8C}, //{0xE5, 0xAE, 0x8C}, // �� + {0xBAEA, 0x5B8F}, //{0xE5, 0xAE, 0x8F}, // �� + {0xD7DA, 0x5B97}, //{0xE5, 0xAE, 0x97}, // �� + {0xB9D9, 0x5B98}, //{0xE5, 0xAE, 0x98}, // �� + {0xD6E6, 0x5B99}, //{0xE5, 0xAE, 0x99}, // �� + {0xB6A8, 0x5B9A}, //{0xE5, 0xAE, 0x9A}, // �� + {0xCDF0, 0x5B9B}, //{0xE5, 0xAE, 0x9B}, // �� + {0xD2CB, 0x5B9C}, //{0xE5, 0xAE, 0x9C}, // �� + {0xB1A6, 0x5B9D}, //{0xE5, 0xAE, 0x9D}, // �� {0xCAB5, 0x5B9E}, //{0xE5, 0xAE, 0x9E}, // ʵ - {0xB3E8, 0x5BA0}, //{0xE5, 0xAE, 0xA0}, // ³è - {0xC9F3, 0x5BA1}, //{0xE5, 0xAE, 0xA1}, // Éó - {0xBFCD, 0x5BA2}, //{0xE5, 0xAE, 0xA2}, // ¿Í - {0xD0FB, 0x5BA3}, //{0xE5, 0xAE, 0xA3}, // Ðû - {0xCAD2, 0x5BA4}, //{0xE5, 0xAE, 0xA4}, // ÊÒ - {0xBBC2, 0x5BA6}, //{0xE5, 0xAE, 0xA6}, // »Â - {0xCFDC, 0x5BAA}, //{0xE5, 0xAE, 0xAA}, // ÏÜ - {0xB9AC, 0x5BAB}, //{0xE5, 0xAE, 0xAB}, // ¹¬ - {0xD4D7, 0x5BB0}, //{0xE5, 0xAE, 0xB0}, // Ô× - {0xBAA6, 0x5BB3}, //{0xE5, 0xAE, 0xB3}, // º¦ - {0xD1E7, 0x5BB4}, //{0xE5, 0xAE, 0xB4}, // Ñç - {0xCFFC, 0x5BB5}, //{0xE5, 0xAE, 0xB5}, // Ïü - {0xBCD2, 0x5BB6}, //{0xE5, 0xAE, 0xB6}, // ¼Ò - {0xC8DD, 0x5BB9}, //{0xE5, 0xAE, 0xB9}, // ÈÝ - {0xBFED, 0x5BBD}, //{0xE5, 0xAE, 0xBD}, // ¿í - {0xB1F6, 0x5BBE}, //{0xE5, 0xAE, 0xBE}, // ±ö - {0xCBDE, 0x5BBF}, //{0xE5, 0xAE, 0xBF}, // ËÞ - {0xBCC5, 0x5BC2}, //{0xE5, 0xAF, 0x82}, // ¼Å - {0xBCC4, 0x5BC4}, //{0xE5, 0xAF, 0x84}, // ¼Ä - {0xC3DC, 0x5BC6}, //{0xE5, 0xAF, 0x86}, // ÃÜ - {0xBFDC, 0x5BC7}, //{0xE5, 0xAF, 0x87}, // ¿Ü - {0xB8BB, 0x5BCC}, //{0xE5, 0xAF, 0x8C}, // ¸» - {0xBAAE, 0x5BD2}, //{0xE5, 0xAF, 0x92}, // º® + {0xB3E8, 0x5BA0}, //{0xE5, 0xAE, 0xA0}, // �� + {0xC9F3, 0x5BA1}, //{0xE5, 0xAE, 0xA1}, // �� + {0xBFCD, 0x5BA2}, //{0xE5, 0xAE, 0xA2}, // �� + {0xD0FB, 0x5BA3}, //{0xE5, 0xAE, 0xA3}, // �� + {0xCAD2, 0x5BA4}, //{0xE5, 0xAE, 0xA4}, // �� + {0xBBC2, 0x5BA6}, //{0xE5, 0xAE, 0xA6}, // �� + {0xCFDC, 0x5BAA}, //{0xE5, 0xAE, 0xAA}, // �� + {0xB9AC, 0x5BAB}, //{0xE5, 0xAE, 0xAB}, // �� + {0xD4D7, 0x5BB0}, //{0xE5, 0xAE, 0xB0}, // �� + {0xBAA6, 0x5BB3}, //{0xE5, 0xAE, 0xB3}, // �� + {0xD1E7, 0x5BB4}, //{0xE5, 0xAE, 0xB4}, // �� + {0xCFFC, 0x5BB5}, //{0xE5, 0xAE, 0xB5}, // �� + {0xBCD2, 0x5BB6}, //{0xE5, 0xAE, 0xB6}, // �� + {0xC8DD, 0x5BB9}, //{0xE5, 0xAE, 0xB9}, // �� + {0xBFED, 0x5BBD}, //{0xE5, 0xAE, 0xBD}, // �� + {0xB1F6, 0x5BBE}, //{0xE5, 0xAE, 0xBE}, // �� + {0xCBDE, 0x5BBF}, //{0xE5, 0xAE, 0xBF}, // �� + {0xBCC5, 0x5BC2}, //{0xE5, 0xAF, 0x82}, // �� + {0xBCC4, 0x5BC4}, //{0xE5, 0xAF, 0x84}, // �� + {0xC3DC, 0x5BC6}, //{0xE5, 0xAF, 0x86}, // �� + {0xBFDC, 0x5BC7}, //{0xE5, 0xAF, 0x87}, // �� + {0xB8BB, 0x5BCC}, //{0xE5, 0xAF, 0x8C}, // �� + {0xBAAE, 0x5BD2}, //{0xE5, 0xAF, 0x92}, // �� {0xD4A2, 0x5BD3}, //{0xE5, 0xAF, 0x93}, // Ô¢ - {0xC7DE, 0x5BDD}, //{0xE5, 0xAF, 0x9D}, // ÇÞ + {0xC7DE, 0x5BDD}, //{0xE5, 0xAF, 0x9D}, // �� {0xC4AF, 0x5BDE}, //{0xE5, 0xAF, 0x9E}, // į - {0xB2EC, 0x5BDF}, //{0xE5, 0xAF, 0x9F}, // ²ì - {0xB9D1, 0x5BE1}, //{0xE5, 0xAF, 0xA1}, // ¹Ñ - {0xC1C8, 0x5BE5}, //{0xE5, 0xAF, 0xA5}, // ÁÈ + {0xB2EC, 0x5BDF}, //{0xE5, 0xAF, 0x9F}, // �� + {0xB9D1, 0x5BE1}, //{0xE5, 0xAF, 0xA1}, // �� + {0xC1C8, 0x5BE5}, //{0xE5, 0xAF, 0xA5}, // �� {0xD5AF, 0x5BE8}, //{0xE5, 0xAF, 0xA8}, // Õ¯ - {0xB4E7, 0x5BF8}, //{0xE5, 0xAF, 0xB8}, // ´ç - {0xB6D4, 0x5BF9}, //{0xE5, 0xAF, 0xB9}, // ¶Ô - {0xCBC2, 0x5BFA}, //{0xE5, 0xAF, 0xBA}, // Ë + {0xB4E7, 0x5BF8}, //{0xE5, 0xAF, 0xB8}, // �� + {0xB6D4, 0x5BF9}, //{0xE5, 0xAF, 0xB9}, // �� + {0xCBC2, 0x5BFA}, //{0xE5, 0xAF, 0xBA}, // �� {0xD1B0, 0x5BFB}, //{0xE5, 0xAF, 0xBB}, // Ѱ - {0xB5BC, 0x5BFC}, //{0xE5, 0xAF, 0xBC}, // µ¼ - {0xCAD9, 0x5BFF}, //{0xE5, 0xAF, 0xBF}, // ÊÙ - {0xB7E2, 0x5C01}, //{0xE5, 0xB0, 0x81}, // ·â - {0xC9E4, 0x5C04}, //{0xE5, 0xB0, 0x84}, // Éä - {0xBDAB, 0x5C06}, //{0xE5, 0xB0, 0x86}, // ½« + {0xB5BC, 0x5BFC}, //{0xE5, 0xAF, 0xBC}, // �� + {0xCAD9, 0x5BFF}, //{0xE5, 0xAF, 0xBF}, // �� + {0xB7E2, 0x5C01}, //{0xE5, 0xB0, 0x81}, // �� + {0xC9E4, 0x5C04}, //{0xE5, 0xB0, 0x84}, // �� + {0xBDAB, 0x5C06}, //{0xE5, 0xB0, 0x86}, // �� {0xCEBE, 0x5C09}, //{0xE5, 0xB0, 0x89}, // ξ - {0xD7F0, 0x5C0A}, //{0xE5, 0xB0, 0x8A}, // ×ð + {0xD7F0, 0x5C0A}, //{0xE5, 0xB0, 0x8A}, // �� {0xD0A1, 0x5C0F}, //{0xE5, 0xB0, 0x8F}, // С - {0xC9D9, 0x5C11}, //{0xE5, 0xB0, 0x91}, // ÉÙ - {0xB6FB, 0x5C14}, //{0xE5, 0xB0, 0x94}, // ¶û - {0xBCE2, 0x5C16}, //{0xE5, 0xB0, 0x96}, // ¼â - {0xB3BE, 0x5C18}, //{0xE5, 0xB0, 0x98}, // ³¾ - {0xC9D0, 0x5C1A}, //{0xE5, 0xB0, 0x9A}, // ÉÐ - {0xB3A2, 0x5C1D}, //{0xE5, 0xB0, 0x9D}, // ³¢ - {0xD3C8, 0x5C24}, //{0xE5, 0xB0, 0xA4}, // ÓÈ - {0xBECD, 0x5C31}, //{0xE5, 0xB0, 0xB1}, // ¾Í + {0xC9D9, 0x5C11}, //{0xE5, 0xB0, 0x91}, // �� + {0xB6FB, 0x5C14}, //{0xE5, 0xB0, 0x94}, // �� + {0xBCE2, 0x5C16}, //{0xE5, 0xB0, 0x96}, // �� + {0xB3BE, 0x5C18}, //{0xE5, 0xB0, 0x98}, // �� + {0xC9D0, 0x5C1A}, //{0xE5, 0xB0, 0x9A}, // �� + {0xB3A2, 0x5C1D}, //{0xE5, 0xB0, 0x9D}, // �� + {0xD3C8, 0x5C24}, //{0xE5, 0xB0, 0xA4}, // �� + {0xBECD, 0x5C31}, //{0xE5, 0xB0, 0xB1}, // �� {0xCAAC, 0x5C38}, //{0xE5, 0xB0, 0xB8}, // ʬ - {0xB3DF, 0x5C3A}, //{0xE5, 0xB0, 0xBA}, // ³ß - {0xC4E1, 0x5C3C}, //{0xE5, 0xB0, 0xBC}, // Äá - {0xBEA1, 0x5C3D}, //{0xE5, 0xB0, 0xBD}, // ¾¡ + {0xB3DF, 0x5C3A}, //{0xE5, 0xB0, 0xBA}, // �� + {0xC4E1, 0x5C3C}, //{0xE5, 0xB0, 0xBC}, // �� + {0xBEA1, 0x5C3D}, //{0xE5, 0xB0, 0xBD}, // �� {0xCEB2, 0x5C3E}, //{0xE5, 0xB0, 0xBE}, // β - {0xC4F2, 0x5C3F}, //{0xE5, 0xB0, 0xBF}, // Äò - {0xBED6, 0x5C40}, //{0xE5, 0xB1, 0x80}, // ¾Ö + {0xC4F2, 0x5C3F}, //{0xE5, 0xB0, 0xBF}, // �� + {0xBED6, 0x5C40}, //{0xE5, 0xB1, 0x80}, // �� {0xC6A8, 0x5C41}, //{0xE5, 0xB1, 0x81}, // ƨ - {0xB2E3, 0x5C42}, //{0xE5, 0xB1, 0x82}, // ²ã - {0xBED3, 0x5C45}, //{0xE5, 0xB1, 0x85}, // ¾Ó - {0xC7FC, 0x5C48}, //{0xE5, 0xB1, 0x88}, // Çü - {0xCCEB, 0x5C49}, //{0xE5, 0xB1, 0x89}, // Ìë - {0xBDEC, 0x5C4A}, //{0xE5, 0xB1, 0x8A}, // ½ì - {0xCEDD, 0x5C4B}, //{0xE5, 0xB1, 0x8B}, // ÎÝ + {0xB2E3, 0x5C42}, //{0xE5, 0xB1, 0x82}, // �� + {0xBED3, 0x5C45}, //{0xE5, 0xB1, 0x85}, // �� + {0xC7FC, 0x5C48}, //{0xE5, 0xB1, 0x88}, // �� + {0xCCEB, 0x5C49}, //{0xE5, 0xB1, 0x89}, // �� + {0xBDEC, 0x5C4A}, //{0xE5, 0xB1, 0x8A}, // �� + {0xCEDD, 0x5C4B}, //{0xE5, 0xB1, 0x8B}, // �� {0xCABA, 0x5C4E}, //{0xE5, 0xB1, 0x8E}, // ʺ - {0xC6C1, 0x5C4F}, //{0xE5, 0xB1, 0x8F}, // ÆÁ + {0xC6C1, 0x5C4F}, //{0xE5, 0xB1, 0x8F}, // �� {0xD0BC, 0x5C51}, //{0xE5, 0xB1, 0x91}, // м {0xD5B9, 0x5C55}, //{0xE5, 0xB1, 0x95}, // Õ¹ - {0xCAF4, 0x5C5E}, //{0xE5, 0xB1, 0x9E}, // Êô - {0xCDC0, 0x5C60}, //{0xE5, 0xB1, 0xA0}, // ÍÀ - {0xC2C5, 0x5C61}, //{0xE5, 0xB1, 0xA1}, // ÂÅ - {0xC2C4, 0x5C65}, //{0xE5, 0xB1, 0xA5}, // ÂÄ - {0xCDCD, 0x5C6F}, //{0xE5, 0xB1, 0xAF}, // ÍÍ + {0xCAF4, 0x5C5E}, //{0xE5, 0xB1, 0x9E}, // �� + {0xCDC0, 0x5C60}, //{0xE5, 0xB1, 0xA0}, // �� + {0xC2C5, 0x5C61}, //{0xE5, 0xB1, 0xA1}, // �� + {0xC2C4, 0x5C65}, //{0xE5, 0xB1, 0xA5}, // �� + {0xCDCD, 0x5C6F}, //{0xE5, 0xB1, 0xAF}, // �� {0xC9BD, 0x5C71}, //{0xE5, 0xB1, 0xB1}, // ɽ - {0xD2D9, 0x5C79}, //{0xE5, 0xB1, 0xB9}, // ÒÙ - {0xD3EC, 0x5C7F}, //{0xE5, 0xB1, 0xBF}, // Óì - {0xCBEA, 0x5C81}, //{0xE5, 0xB2, 0x81}, // Ëê - {0xC6F1, 0x5C82}, //{0xE5, 0xB2, 0x82}, // Æñ - {0xB2ED, 0x5C94}, //{0xE5, 0xB2, 0x94}, // ²í - {0xE1AB, 0x5C96}, //{0xE5, 0xB2, 0x96}, // á« - {0xB8DA, 0x5C97}, //{0xE5, 0xB2, 0x97}, // ¸Ú - {0xB5BA, 0x5C9B}, //{0xE5, 0xB2, 0x9B}, // µº - {0xD1D2, 0x5CA9}, //{0xE5, 0xB2, 0xA9}, // ÑÒ - {0xC1EB, 0x5CAD}, //{0xE5, 0xB2, 0xAD}, // Áë - {0xD4C0, 0x5CB3}, //{0xE5, 0xB2, 0xB3}, // ÔÀ - {0xB0B6, 0x5CB8}, //{0xE5, 0xB2, 0xB8}, // °¶ + {0xD2D9, 0x5C79}, //{0xE5, 0xB1, 0xB9}, // �� + {0xD3EC, 0x5C7F}, //{0xE5, 0xB1, 0xBF}, // �� + {0xCBEA, 0x5C81}, //{0xE5, 0xB2, 0x81}, // �� + {0xC6F1, 0x5C82}, //{0xE5, 0xB2, 0x82}, // �� + {0xB2ED, 0x5C94}, //{0xE5, 0xB2, 0x94}, // �� + {0xE1AB, 0x5C96}, //{0xE5, 0xB2, 0x96}, // � + {0xB8DA, 0x5C97}, //{0xE5, 0xB2, 0x97}, // �� + {0xB5BA, 0x5C9B}, //{0xE5, 0xB2, 0x9B}, // �� + {0xD1D2, 0x5CA9}, //{0xE5, 0xB2, 0xA9}, // �� + {0xC1EB, 0x5CAD}, //{0xE5, 0xB2, 0xAD}, // �� + {0xD4C0, 0x5CB3}, //{0xE5, 0xB2, 0xB3}, // �� + {0xB0B6, 0x5CB8}, //{0xE5, 0xB2, 0xB8}, // �� {0xCFBF, 0x5CE1}, //{0xE5, 0xB3, 0xA1}, // Ï¿ - {0xC2CD, 0x5CE6}, //{0xE5, 0xB3, 0xA6}, // ÂÍ - {0xC7CD, 0x5CED}, //{0xE5, 0xB3, 0xAD}, // ÇÍ - {0xB7E5, 0x5CF0}, //{0xE5, 0xB3, 0xB0}, // ·å - {0xBEFE, 0x5CFB}, //{0xE5, 0xB3, 0xBB}, // ¾þ - {0xB3E7, 0x5D07}, //{0xE5, 0xB4, 0x87}, // ³ç - {0xC6E9, 0x5D0E}, //{0xE5, 0xB4, 0x8E}, // Æé - {0xB4DE, 0x5D14}, //{0xE5, 0xB4, 0x94}, // ´Þ - {0xD1C2, 0x5D16}, //{0xE5, 0xB4, 0x96}, // Ñ - {0xB1C0, 0x5D29}, //{0xE5, 0xB4, 0xA9}, // ±À + {0xC2CD, 0x5CE6}, //{0xE5, 0xB3, 0xA6}, // �� + {0xC7CD, 0x5CED}, //{0xE5, 0xB3, 0xAD}, // �� + {0xB7E5, 0x5CF0}, //{0xE5, 0xB3, 0xB0}, // �� + {0xBEFE, 0x5CFB}, //{0xE5, 0xB3, 0xBB}, // �� + {0xB3E7, 0x5D07}, //{0xE5, 0xB4, 0x87}, // �� + {0xC6E9, 0x5D0E}, //{0xE5, 0xB4, 0x8E}, // �� + {0xB4DE, 0x5D14}, //{0xE5, 0xB4, 0x94}, // �� + {0xD1C2, 0x5D16}, //{0xE5, 0xB4, 0x96}, // �� + {0xB1C0, 0x5D29}, //{0xE5, 0xB4, 0xA9}, // �� {0xD5B8, 0x5D2D}, //{0xE5, 0xB4, 0xAD}, // Õ¸ {0xC7B6, 0x5D4C}, //{0xE5, 0xB5, 0x8C}, // Ƕ {0xCEA1, 0x5DCD}, //{0xE5, 0xB7, 0x8D}, // Ρ - {0xB4A8, 0x5DDD}, //{0xE5, 0xB7, 0x9D}, // ´¨ - {0xD6DD, 0x5DDE}, //{0xE5, 0xB7, 0x9E}, // ÖÝ + {0xB4A8, 0x5DDD}, //{0xE5, 0xB7, 0x9D}, // �� + {0xD6DD, 0x5DDE}, //{0xE5, 0xB7, 0x9E}, // �� {0xD1B2, 0x5DE1}, //{0xE5, 0xB7, 0xA1}, // Ѳ - {0xB3B2, 0x5DE2}, //{0xE5, 0xB7, 0xA2}, // ³² - {0xB9A4, 0x5DE5}, //{0xE5, 0xB7, 0xA5}, // ¹¤ - {0xD7F3, 0x5DE6}, //{0xE5, 0xB7, 0xA6}, // ×ó - {0xC7C9, 0x5DE7}, //{0xE5, 0xB7, 0xA7}, // ÇÉ - {0xBEDE, 0x5DE8}, //{0xE5, 0xB7, 0xA8}, // ¾Þ - {0xB9AE, 0x5DE9}, //{0xE5, 0xB7, 0xA9}, // ¹® - {0xCED7, 0x5DEB}, //{0xE5, 0xB7, 0xAB}, // Î× - {0xB2EE, 0x5DEE}, //{0xE5, 0xB7, 0xAE}, // ²î - {0xBCBA, 0x5DF1}, //{0xE5, 0xB7, 0xB1}, // ¼º - {0xD2D1, 0x5DF2}, //{0xE5, 0xB7, 0xB2}, // ÒÑ - {0xB0CD, 0x5DF4}, //{0xE5, 0xB7, 0xB4}, // °Í - {0xCFEF, 0x5DF7}, //{0xE5, 0xB7, 0xB7}, // Ïï - {0xBDED, 0x5DFE}, //{0xE5, 0xB7, 0xBE}, // ½í - {0xB1D2, 0x5E01}, //{0xE5, 0xB8, 0x81}, // ±Ò - {0xCAD0, 0x5E02}, //{0xE5, 0xB8, 0x82}, // ÊÐ - {0xB2BC, 0x5E03}, //{0xE5, 0xB8, 0x83}, // ²¼ + {0xB3B2, 0x5DE2}, //{0xE5, 0xB7, 0xA2}, // �� + {0xB9A4, 0x5DE5}, //{0xE5, 0xB7, 0xA5}, // �� + {0xD7F3, 0x5DE6}, //{0xE5, 0xB7, 0xA6}, // �� + {0xC7C9, 0x5DE7}, //{0xE5, 0xB7, 0xA7}, // �� + {0xBEDE, 0x5DE8}, //{0xE5, 0xB7, 0xA8}, // �� + {0xB9AE, 0x5DE9}, //{0xE5, 0xB7, 0xA9}, // �� + {0xCED7, 0x5DEB}, //{0xE5, 0xB7, 0xAB}, // �� + {0xB2EE, 0x5DEE}, //{0xE5, 0xB7, 0xAE}, // �� + {0xBCBA, 0x5DF1}, //{0xE5, 0xB7, 0xB1}, // �� + {0xD2D1, 0x5DF2}, //{0xE5, 0xB7, 0xB2}, // �� + {0xB0CD, 0x5DF4}, //{0xE5, 0xB7, 0xB4}, // �� + {0xCFEF, 0x5DF7}, //{0xE5, 0xB7, 0xB7}, // �� + {0xBDED, 0x5DFE}, //{0xE5, 0xB7, 0xBE}, // �� + {0xB1D2, 0x5E01}, //{0xE5, 0xB8, 0x81}, // �� + {0xCAD0, 0x5E02}, //{0xE5, 0xB8, 0x82}, // �� + {0xB2BC, 0x5E03}, //{0xE5, 0xB8, 0x83}, // �� {0xCBA7, 0x5E05}, //{0xE5, 0xB8, 0x85}, // ˧ - {0xB7AB, 0x5E06}, //{0xE5, 0xB8, 0x86}, // ·« + {0xB7AB, 0x5E06}, //{0xE5, 0xB8, 0x86}, // �� {0xCAA6, 0x5E08}, //{0xE5, 0xB8, 0x88}, // ʦ {0xCFA3, 0x5E0C}, //{0xE5, 0xB8, 0x8C}, // Ï£ - {0xD5CA, 0x5E10}, //{0xE5, 0xB8, 0x90}, // ÕÊ - {0xC5C1, 0x5E15}, //{0xE5, 0xB8, 0x95}, // ÅÁ - {0xCCFB, 0x5E16}, //{0xE5, 0xB8, 0x96}, // Ìû - {0xC1B1, 0x5E18}, //{0xE5, 0xB8, 0x98}, // Á± - {0xD6E3, 0x5E1A}, //{0xE5, 0xB8, 0x9A}, // Öã - {0xD6C4, 0x5E1C}, //{0xE5, 0xB8, 0x9C}, // ÖÄ - {0xB5DB, 0x5E1D}, //{0xE5, 0xB8, 0x9D}, // µÛ - {0xB4F8, 0x5E26}, //{0xE5, 0xB8, 0xA6}, // ´ø + {0xD5CA, 0x5E10}, //{0xE5, 0xB8, 0x90}, // �� + {0xC5C1, 0x5E15}, //{0xE5, 0xB8, 0x95}, // �� + {0xCCFB, 0x5E16}, //{0xE5, 0xB8, 0x96}, // �� + {0xC1B1, 0x5E18}, //{0xE5, 0xB8, 0x98}, // q + {0xD6E3, 0x5E1A}, //{0xE5, 0xB8, 0x9A}, // �� + {0xD6C4, 0x5E1C}, //{0xE5, 0xB8, 0x9C}, // �� + {0xB5DB, 0x5E1D}, //{0xE5, 0xB8, 0x9D}, // �� + {0xB4F8, 0x5E26}, //{0xE5, 0xB8, 0xA6}, // �� {0xCFAF, 0x5E2D}, //{0xE5, 0xB8, 0xAD}, // ϯ - {0xB0EF, 0x5E2E}, //{0xE5, 0xB8, 0xAE}, // °ï - {0xB3A3, 0x5E38}, //{0xE5, 0xB8, 0xB8}, // ³£ + {0xB0EF, 0x5E2E}, //{0xE5, 0xB8, 0xAE}, // �� + {0xB3A3, 0x5E38}, //{0xE5, 0xB8, 0xB8}, // �� {0xC3B1, 0x5E3D}, //{0xE5, 0xB8, 0xBD}, // ñ - {0xB7F9, 0x5E45}, //{0xE5, 0xB9, 0x85}, // ·ù - {0xBBCF, 0x5E4C}, //{0xE5, 0xB9, 0x8C}, // »Ï - {0xE1A3, 0x5E54}, //{0xE5, 0xB9, 0x94}, // ᣠ+ {0xB7F9, 0x5E45}, //{0xE5, 0xB9, 0x85}, // �� + {0xBBCF, 0x5E4C}, //{0xE5, 0xB9, 0x8C}, // �� + {0xE1A3, 0x5E54}, //{0xE5, 0xB9, 0x94}, // � {0xC4BB, 0x5E55}, //{0xE5, 0xB9, 0x95}, // Ä» - {0xB4B1, 0x5E62}, //{0xE5, 0xB9, 0xA2}, // ´± - {0xB8C9, 0x5E72}, //{0xE5, 0xB9, 0xB2}, // ¸É + {0xB4B1, 0x5E62}, //{0xE5, 0xB9, 0xA2}, // �� + {0xB8C9, 0x5E72}, //{0xE5, 0xB9, 0xB2}, // �� {0xC6BD, 0x5E73}, //{0xE5, 0xB9, 0xB3}, // ƽ - {0xC4EA, 0x5E74}, //{0xE5, 0xB9, 0xB4}, // Äê - {0xB2A2, 0x5E76}, //{0xE5, 0xB9, 0xB6}, // ²¢ - {0xD0D2, 0x5E78}, //{0xE5, 0xB9, 0xB8}, // ÐÒ - {0xBBC3, 0x5E7B}, //{0xE5, 0xB9, 0xBB}, // »Ã - {0xD3D7, 0x5E7C}, //{0xE5, 0xB9, 0xBC}, // Ó× - {0xD3C4, 0x5E7D}, //{0xE5, 0xB9, 0xBD}, // ÓÄ - {0xB9E3, 0x5E7F}, //{0xE5, 0xB9, 0xBF}, // ¹ã + {0xC4EA, 0x5E74}, //{0xE5, 0xB9, 0xB4}, // �� + {0xB2A2, 0x5E76}, //{0xE5, 0xB9, 0xB6}, // �� + {0xD0D2, 0x5E78}, //{0xE5, 0xB9, 0xB8}, // �� + {0xBBC3, 0x5E7B}, //{0xE5, 0xB9, 0xBB}, // �� + {0xD3D7, 0x5E7C}, //{0xE5, 0xB9, 0xBC}, // �� + {0xD3C4, 0x5E7D}, //{0xE5, 0xB9, 0xBD}, // �� + {0xB9E3, 0x5E7F}, //{0xE5, 0xB9, 0xBF}, // �� {0xD7AF, 0x5E84}, //{0xE5, 0xBA, 0x84}, // ׯ - {0xC7EC, 0x5E86}, //{0xE5, 0xBA, 0x86}, // Çì - {0xB1D3, 0x5E87}, //{0xE5, 0xBA, 0x87}, // ±Ó - {0xB4B2, 0x5E8A}, //{0xE5, 0xBA, 0x8A}, // ´² - {0xD0F2, 0x5E8F}, //{0xE5, 0xBA, 0x8F}, // Ðò + {0xC7EC, 0x5E86}, //{0xE5, 0xBA, 0x86}, // �� + {0xB1D3, 0x5E87}, //{0xE5, 0xBA, 0x87}, // �� + {0xB4B2, 0x5E8A}, //{0xE5, 0xBA, 0x8A}, // �� + {0xD0F2, 0x5E8F}, //{0xE5, 0xBA, 0x8F}, // �� {0xC2AE, 0x5E90}, //{0xE5, 0xBA, 0x90}, // ® - {0xBFE2, 0x5E93}, //{0xE5, 0xBA, 0x93}, // ¿â + {0xBFE2, 0x5E93}, //{0xE5, 0xBA, 0x93}, // �� {0xD3A6, 0x5E94}, //{0xE5, 0xBA, 0x94}, // Ó¦ - {0xB5D7, 0x5E95}, //{0xE5, 0xBA, 0x95}, // µ× - {0xB5EA, 0x5E97}, //{0xE5, 0xBA, 0x97}, // µê - {0xC3ED, 0x5E99}, //{0xE5, 0xBA, 0x99}, // Ãí - {0xB8AE, 0x5E9C}, //{0xE5, 0xBA, 0x9C}, // ¸® - {0xC5D3, 0x5E9E}, //{0xE5, 0xBA, 0x9E}, // ÅÓ - {0xB7CF, 0x5E9F}, //{0xE5, 0xBA, 0x9F}, // ·Ï - {0xB6C8, 0x5EA6}, //{0xE5, 0xBA, 0xA6}, // ¶È - {0xD7F9, 0x5EA7}, //{0xE5, 0xBA, 0xA7}, // ×ù + {0xB5D7, 0x5E95}, //{0xE5, 0xBA, 0x95}, // �� + {0xB5EA, 0x5E97}, //{0xE5, 0xBA, 0x97}, // �� + {0xC3ED, 0x5E99}, //{0xE5, 0xBA, 0x99}, // �� + {0xB8AE, 0x5E9C}, //{0xE5, 0xBA, 0x9C}, // �� + {0xC5D3, 0x5E9E}, //{0xE5, 0xBA, 0x9E}, // �� + {0xB7CF, 0x5E9F}, //{0xE5, 0xBA, 0x9F}, // �� + {0xB6C8, 0x5EA6}, //{0xE5, 0xBA, 0xA6}, // �� + {0xD7F9, 0x5EA7}, //{0xE5, 0xBA, 0xA7}, // �� {0xCDA5, 0x5EAD}, //{0xE5, 0xBA, 0xAD}, // Í¥ - {0xE2D6, 0x5EB5}, //{0xE5, 0xBA, 0xB5}, // âÖ - {0xCAFC, 0x5EB6}, //{0xE5, 0xBA, 0xB6}, // Êü - {0xBFB5, 0x5EB7}, //{0xE5, 0xBA, 0xB7}, // ¿µ + {0xE2D6, 0x5EB5}, //{0xE5, 0xBA, 0xB5}, // �� + {0xCAFC, 0x5EB6}, //{0xE5, 0xBA, 0xB6}, // �� + {0xBFB5, 0x5EB7}, //{0xE5, 0xBA, 0xB7}, // �� {0xD3B9, 0x5EB8}, //{0xE5, 0xBA, 0xB8}, // Ó¹ - {0xC1AE, 0x5EC9}, //{0xE5, 0xBB, 0x89}, // Á® - {0xC0C8, 0x5ECA}, //{0xE5, 0xBB, 0x8A}, // ÀÈ - {0xC0AA, 0x5ED3}, //{0xE5, 0xBB, 0x93}, // Àª - {0xD1D3, 0x5EF6}, //{0xE5, 0xBB, 0xB6}, // ÑÓ + {0xC1AE, 0x5EC9}, //{0xE5, 0xBB, 0x89}, // n + {0xC0C8, 0x5ECA}, //{0xE5, 0xBB, 0x8A}, // �� + {0xC0AA, 0x5ED3}, //{0xE5, 0xBB, 0x93}, // * + {0xD1D3, 0x5EF6}, //{0xE5, 0xBB, 0xB6}, // �� {0xCDA2, 0x5EF7}, //{0xE5, 0xBB, 0xB7}, // Í¢ - {0xBDA8, 0x5EFA}, //{0xE5, 0xBB, 0xBA}, // ½¨ - {0xBFAA, 0x5F00}, //{0xE5, 0xBC, 0x80}, // ¿ª - {0xD2EC, 0x5F02}, //{0xE5, 0xBC, 0x82}, // Òì - {0xC6FA, 0x5F03}, //{0xE5, 0xBC, 0x83}, // Æú + {0xBDA8, 0x5EFA}, //{0xE5, 0xBB, 0xBA}, // �� + {0xBFAA, 0x5F00}, //{0xE5, 0xBC, 0x80}, // �� + {0xD2EC, 0x5F02}, //{0xE5, 0xBC, 0x82}, // �� + {0xC6FA, 0x5F03}, //{0xE5, 0xBC, 0x83}, // �� {0xC5AA, 0x5F04}, //{0xE5, 0xBC, 0x84}, // Ū - {0xB1D7, 0x5F0A}, //{0xE5, 0xBC, 0x8A}, // ±× + {0xB1D7, 0x5F0A}, //{0xE5, 0xBC, 0x8A}, // �� {0xCABD, 0x5F0F}, //{0xE5, 0xBC, 0x8F}, // ʽ - {0xB9AD, 0x5F13}, //{0xE5, 0xBC, 0x93}, // ¹­ - {0xD2FD, 0x5F15}, //{0xE5, 0xBC, 0x95}, // Òý - {0xB3DA, 0x5F1B}, //{0xE5, 0xBC, 0x9B}, // ³Ú - {0xB5DC, 0x5F1F}, //{0xE5, 0xBC, 0x9F}, // µÜ - {0xD5C5, 0x5F20}, //{0xE5, 0xBC, 0xA0}, // ÕÅ - {0xC3D6, 0x5F25}, //{0xE5, 0xBC, 0xA5}, // ÃÖ - {0xCFD2, 0x5F26}, //{0xE5, 0xBC, 0xA6}, // ÏÒ - {0xBBA1, 0x5F27}, //{0xE5, 0xBC, 0xA7}, // »¡ - {0xCDE4, 0x5F2F}, //{0xE5, 0xBC, 0xAF}, // Íä - {0xC8F5, 0x5F31}, //{0xE5, 0xBC, 0xB1}, // Èõ - {0xB5AF, 0x5F39}, //{0xE5, 0xBC, 0xB9}, // µ¯ + {0xB9AD, 0x5F13}, //{0xE5, 0xBC, 0x93}, // �� + {0xD2FD, 0x5F15}, //{0xE5, 0xBC, 0x95}, // �� + {0xB3DA, 0x5F1B}, //{0xE5, 0xBC, 0x9B}, // �� + {0xB5DC, 0x5F1F}, //{0xE5, 0xBC, 0x9F}, // �� + {0xD5C5, 0x5F20}, //{0xE5, 0xBC, 0xA0}, // �� + {0xC3D6, 0x5F25}, //{0xE5, 0xBC, 0xA5}, // �� + {0xCFD2, 0x5F26}, //{0xE5, 0xBC, 0xA6}, // �� + {0xBBA1, 0x5F27}, //{0xE5, 0xBC, 0xA7}, // �� + {0xCDE4, 0x5F2F}, //{0xE5, 0xBC, 0xAF}, // �� + {0xC8F5, 0x5F31}, //{0xE5, 0xBC, 0xB1}, // �� + {0xB5AF, 0x5F39}, //{0xE5, 0xBC, 0xB9}, // �� {0xC7BF, 0x5F3A}, //{0xE5, 0xBC, 0xBA}, // Ç¿ - {0xB9E9, 0x5F52}, //{0xE5, 0xBD, 0x92}, // ¹é - {0xB5B1, 0x5F53}, //{0xE5, 0xBD, 0x93}, // µ± + {0xB9E9, 0x5F52}, //{0xE5, 0xBD, 0x92}, // �� + {0xB5B1, 0x5F53}, //{0xE5, 0xBD, 0x93}, // �� {0xC2BC, 0x5F55}, //{0xE5, 0xBD, 0x95}, // ¼ - {0xD0CE, 0x5F62}, //{0xE5, 0xBD, 0xA2}, // ÐÎ + {0xD0CE, 0x5F62}, //{0xE5, 0xBD, 0xA2}, // �� {0xCDAE, 0x5F64}, //{0xE5, 0xBD, 0xA4}, // Í® - {0xB2CA, 0x5F69}, //{0xE5, 0xBD, 0xA9}, // ²Ê - {0xB1EB, 0x5F6A}, //{0xE5, 0xBD, 0xAA}, // ±ë - {0xB1F2, 0x5F6C}, //{0xE5, 0xBD, 0xAC}, // ±ò - {0xC5ED, 0x5F6D}, //{0xE5, 0xBD, 0xAD}, // Åí - {0xD5C3, 0x5F70}, //{0xE5, 0xBD, 0xB0}, // Õà + {0xB2CA, 0x5F69}, //{0xE5, 0xBD, 0xA9}, // �� + {0xB1EB, 0x5F6A}, //{0xE5, 0xBD, 0xAA}, // �� + {0xB1F2, 0x5F6C}, //{0xE5, 0xBD, 0xAC}, // �� + {0xC5ED, 0x5F6D}, //{0xE5, 0xBD, 0xAD}, // �� + {0xD5C3, 0x5F70}, //{0xE5, 0xBD, 0xB0}, // �� {0xD3B0, 0x5F71}, //{0xE5, 0xBD, 0xB1}, // Ó° - {0xD2DB, 0x5F79}, //{0xE5, 0xBD, 0xB9}, // ÒÛ - {0xB3B9, 0x5F7B}, //{0xE5, 0xBD, 0xBB}, // ³¹ - {0xB1CB, 0x5F7C}, //{0xE5, 0xBD, 0xBC}, // ±Ë - {0xCDF9, 0x5F80}, //{0xE5, 0xBE, 0x80}, // Íù - {0xD5F7, 0x5F81}, //{0xE5, 0xBE, 0x81}, // Õ÷ - {0xBEB6, 0x5F84}, //{0xE5, 0xBE, 0x84}, // ¾¶ - {0xB4FD, 0x5F85}, //{0xE5, 0xBE, 0x85}, // ´ý - {0xBADC, 0x5F88}, //{0xE5, 0xBE, 0x88}, // ºÜ - {0xBBB2, 0x5F8A}, //{0xE5, 0xBE, 0x8A}, // »² - {0xC2C9, 0x5F8B}, //{0xE5, 0xBE, 0x8B}, // ÂÉ - {0xD0EC, 0x5F90}, //{0xE5, 0xBE, 0x90}, // Ðì + {0xD2DB, 0x5F79}, //{0xE5, 0xBD, 0xB9}, // �� + {0xB3B9, 0x5F7B}, //{0xE5, 0xBD, 0xBB}, // �� + {0xB1CB, 0x5F7C}, //{0xE5, 0xBD, 0xBC}, // �� + {0xCDF9, 0x5F80}, //{0xE5, 0xBE, 0x80}, // �� + {0xD5F7, 0x5F81}, //{0xE5, 0xBE, 0x81}, // �� + {0xBEB6, 0x5F84}, //{0xE5, 0xBE, 0x84}, // �� + {0xB4FD, 0x5F85}, //{0xE5, 0xBE, 0x85}, // �� + {0xBADC, 0x5F88}, //{0xE5, 0xBE, 0x88}, // �� + {0xBBB2, 0x5F8A}, //{0xE5, 0xBE, 0x8A}, // �� + {0xC2C9, 0x5F8B}, //{0xE5, 0xBE, 0x8B}, // �� + {0xD0EC, 0x5F90}, //{0xE5, 0xBE, 0x90}, // �� {0xCDBD, 0x5F92}, //{0xE5, 0xBE, 0x92}, // ͽ - {0xB5C3, 0x5F97}, //{0xE5, 0xBE, 0x97}, // µÃ - {0xC5C7, 0x5F98}, //{0xE5, 0xBE, 0x98}, // ÅÇ - {0xD3F9, 0x5FA1}, //{0xE5, 0xBE, 0xA1}, // Óù + {0xB5C3, 0x5F97}, //{0xE5, 0xBE, 0x97}, // �� + {0xC5C7, 0x5F98}, //{0xE5, 0xBE, 0x98}, // �� + {0xD3F9, 0x5FA1}, //{0xE5, 0xBE, 0xA1}, // �� {0xD1AD, 0x5FAA}, //{0xE5, 0xBE, 0xAA}, // Ñ­ {0xCEA2, 0x5FAE}, //{0xE5, 0xBE, 0xAE}, // ΢ - {0xB5C2, 0x5FB7}, //{0xE5, 0xBE, 0xB7}, // µÂ - {0xBBD5, 0x5FBD}, //{0xE5, 0xBE, 0xBD}, // »Õ - {0xD0C4, 0x5FC3}, //{0xE5, 0xBF, 0x83}, // ÐÄ - {0xB1D8, 0x5FC5}, //{0xE5, 0xBF, 0x85}, // ±Ø - {0xD2E4, 0x5FC6}, //{0xE5, 0xBF, 0x86}, // Òä - {0xBCC9, 0x5FCC}, //{0xE5, 0xBF, 0x8C}, // ¼É - {0xC8CC, 0x5FCD}, //{0xE5, 0xBF, 0x8D}, // ÈÌ + {0xB5C2, 0x5FB7}, //{0xE5, 0xBE, 0xB7}, // �� + {0xBBD5, 0x5FBD}, //{0xE5, 0xBE, 0xBD}, // �� + {0xD0C4, 0x5FC3}, //{0xE5, 0xBF, 0x83}, // �� + {0xB1D8, 0x5FC5}, //{0xE5, 0xBF, 0x85}, // �� + {0xD2E4, 0x5FC6}, //{0xE5, 0xBF, 0x86}, // �� + {0xBCC9, 0x5FCC}, //{0xE5, 0xBF, 0x8C}, // �� + {0xC8CC, 0x5FCD}, //{0xE5, 0xBF, 0x8D}, // �� {0xD6BE, 0x5FD7}, //{0xE5, 0xBF, 0x97}, // Ö¾ - {0xCDFC, 0x5FD8}, //{0xE5, 0xBF, 0x98}, // Íü + {0xCDFC, 0x5FD8}, //{0xE5, 0xBF, 0x98}, // �� {0xC3A6, 0x5FD9}, //{0xE5, 0xBF, 0x99}, // æ - {0xD6D2, 0x5FE0}, //{0xE5, 0xBF, 0xA0}, // ÖÒ - {0xD3C7, 0x5FE7}, //{0xE5, 0xBF, 0xA7}, // ÓÇ - {0xBFEC, 0x5FEB}, //{0xE5, 0xBF, 0xAB}, // ¿ì - {0xB3C0, 0x5FF1}, //{0xE5, 0xBF, 0xB1}, // ³À - {0xC4EE, 0x5FF5}, //{0xE5, 0xBF, 0xB5}, // Äî - {0xBAF6, 0x5FFD}, //{0xE5, 0xBF, 0xBD}, // ºö - {0xB7DE, 0x5FFF}, //{0xE5, 0xBF, 0xBF}, // ·Þ - {0xBBB3, 0x6000}, //{0xE6, 0x80, 0x80}, // »³ + {0xD6D2, 0x5FE0}, //{0xE5, 0xBF, 0xA0}, // �� + {0xD3C7, 0x5FE7}, //{0xE5, 0xBF, 0xA7}, // �� + {0xBFEC, 0x5FEB}, //{0xE5, 0xBF, 0xAB}, // �� + {0xB3C0, 0x5FF1}, //{0xE5, 0xBF, 0xB1}, // �� + {0xC4EE, 0x5FF5}, //{0xE5, 0xBF, 0xB5}, // �� + {0xBAF6, 0x5FFD}, //{0xE5, 0xBF, 0xBD}, // �� + {0xB7DE, 0x5FFF}, //{0xE5, 0xBF, 0xBF}, // �� + {0xBBB3, 0x6000}, //{0xE6, 0x80, 0x80}, // �� {0xCCAC, 0x6001}, //{0xE6, 0x80, 0x81}, // ̬ - {0xD4F5, 0x600E}, //{0xE6, 0x80, 0x8E}, // Ôõ + {0xD4F5, 0x600E}, //{0xE6, 0x80, 0x8E}, // �� {0xC5AD, 0x6012}, //{0xE6, 0x80, 0x92}, // Å­ - {0xD5FA, 0x6014}, //{0xE6, 0x80, 0x94}, // Õú - {0xC5C2, 0x6015}, //{0xE6, 0x80, 0x95}, // Å - {0xB2C0, 0x6016}, //{0xE6, 0x80, 0x96}, // ²À - {0xC1AF, 0x601C}, //{0xE6, 0x80, 0x9C}, // Á¯ + {0xD5FA, 0x6014}, //{0xE6, 0x80, 0x94}, // �� + {0xC5C2, 0x6015}, //{0xE6, 0x80, 0x95}, // �� + {0xB2C0, 0x6016}, //{0xE6, 0x80, 0x96}, // �� + {0xC1AF, 0x601C}, //{0xE6, 0x80, 0x9C}, // o {0xCBBC, 0x601D}, //{0xE6, 0x80, 0x9D}, // ˼ - {0xB5A1, 0x6020}, //{0xE6, 0x80, 0xA0}, // µ¡ - {0xBCB1, 0x6025}, //{0xE6, 0x80, 0xA5}, // ¼± - {0xD0D4, 0x6027}, //{0xE6, 0x80, 0xA7}, // ÐÔ + {0xB5A1, 0x6020}, //{0xE6, 0x80, 0xA0}, // �� + {0xBCB1, 0x6025}, //{0xE6, 0x80, 0xA5}, // �� + {0xD0D4, 0x6027}, //{0xE6, 0x80, 0xA7}, // �� {0xD4B9, 0x6028}, //{0xE6, 0x80, 0xA8}, // Ô¹ - {0xB9D6, 0x602A}, //{0xE6, 0x80, 0xAA}, // ¹Ö - {0xC7D3, 0x602F}, //{0xE6, 0x80, 0xAF}, // ÇÓ - {0xD7DC, 0x603B}, //{0xE6, 0x80, 0xBB}, // ×Ü - {0xCAD1, 0x6043}, //{0xE6, 0x81, 0x83}, // ÊÑ - {0xC1B5, 0x604B}, //{0xE6, 0x81, 0x8B}, // Áµ - {0xBBD0, 0x604D}, //{0xE6, 0x81, 0x8D}, // »Ð - {0xBFD6, 0x6050}, //{0xE6, 0x81, 0x90}, // ¿Ö - {0xBAE3, 0x6052}, //{0xE6, 0x81, 0x92}, // ºã + {0xB9D6, 0x602A}, //{0xE6, 0x80, 0xAA}, // �� + {0xC7D3, 0x602F}, //{0xE6, 0x80, 0xAF}, // �� + {0xD7DC, 0x603B}, //{0xE6, 0x80, 0xBB}, // �� + {0xCAD1, 0x6043}, //{0xE6, 0x81, 0x83}, // �� + {0xC1B5, 0x604B}, //{0xE6, 0x81, 0x8B}, // u + {0xBBD0, 0x604D}, //{0xE6, 0x81, 0x8D}, // �� + {0xBFD6, 0x6050}, //{0xE6, 0x81, 0x90}, // �� + {0xBAE3, 0x6052}, //{0xE6, 0x81, 0x92}, // �� {0xCBA1, 0x6055}, //{0xE6, 0x81, 0x95}, // Ë¡ - {0xBBD6, 0x6062}, //{0xE6, 0x81, 0xA2}, // »Ö - {0xD0F4, 0x6064}, //{0xE6, 0x81, 0xA4}, // Ðô - {0xBADE, 0x6068}, //{0xE6, 0x81, 0xA8}, // ºÞ - {0xB6F7, 0x6069}, //{0xE6, 0x81, 0xA9}, // ¶÷ - {0xCCF1, 0x606C}, //{0xE6, 0x81, 0xAC}, // Ìñ - {0xB9A7, 0x606D}, //{0xE6, 0x81, 0xAD}, // ¹§ + {0xBBD6, 0x6062}, //{0xE6, 0x81, 0xA2}, // �� + {0xD0F4, 0x6064}, //{0xE6, 0x81, 0xA4}, // �� + {0xBADE, 0x6068}, //{0xE6, 0x81, 0xA8}, // �� + {0xB6F7, 0x6069}, //{0xE6, 0x81, 0xA9}, // �� + {0xCCF1, 0x606C}, //{0xE6, 0x81, 0xAC}, // �� + {0xB9A7, 0x606D}, //{0xE6, 0x81, 0xAD}, // �� {0xCFA2, 0x606F}, //{0xE6, 0x81, 0xAF}, // Ï¢ {0xC7A1, 0x6070}, //{0xE6, 0x81, 0xB0}, // Ç¡ - {0xBFD2, 0x6073}, //{0xE6, 0x81, 0xB3}, // ¿Ò - {0xB6F1, 0x6076}, //{0xE6, 0x81, 0xB6}, // ¶ñ - {0xC4D5, 0x607C}, //{0xE6, 0x81, 0xBC}, // ÄÕ - {0xC7C4, 0x6084}, //{0xE6, 0x82, 0x84}, // ÇÄ + {0xBFD2, 0x6073}, //{0xE6, 0x81, 0xB3}, // �� + {0xB6F1, 0x6076}, //{0xE6, 0x81, 0xB6}, // �� + {0xC4D5, 0x607C}, //{0xE6, 0x81, 0xBC}, // �� + {0xC7C4, 0x6084}, //{0xE6, 0x82, 0x84}, // �� {0xCFA4, 0x6089}, //{0xE6, 0x82, 0x89}, // Ϥ - {0xBAB7, 0x608D}, //{0xE6, 0x82, 0x8D}, // º· - {0xBBDA, 0x6094}, //{0xE6, 0x82, 0x94}, // »Ú - {0xCEF2, 0x609F}, //{0xE6, 0x82, 0x9F}, // Îò - {0xD3C6, 0x60A0}, //{0xE6, 0x82, 0xA0}, // ÓÆ - {0xBBBC, 0x60A3}, //{0xE6, 0x82, 0xA3}, // »¼ - {0xD4C3, 0x60A6}, //{0xE6, 0x82, 0xA6}, // Ôà - {0xC4FA, 0x60A8}, //{0xE6, 0x82, 0xA8}, // Äú - {0xD0FC, 0x60AC}, //{0xE6, 0x82, 0xAC}, // Ðü - {0xC3F5, 0x60AF}, //{0xE6, 0x82, 0xAF}, // Ãõ - {0xB1AF, 0x60B2}, //{0xE6, 0x82, 0xB2}, // ±¯ - {0xE3B2, 0x60B4}, //{0xE6, 0x82, 0xB4}, // ã² - {0xB5BF, 0x60BC}, //{0xE6, 0x82, 0xBC}, // µ¿ - {0xC7E9, 0x60C5}, //{0xE6, 0x83, 0x85}, // Çé - {0xBEAA, 0x60CA}, //{0xE6, 0x83, 0x8A}, // ¾ª - {0xCDEF, 0x60CB}, //{0xE6, 0x83, 0x8B}, // Íï - {0xBBF3, 0x60D1}, //{0xE6, 0x83, 0x91}, // »ó - {0xCCE8, 0x60D5}, //{0xE6, 0x83, 0x95}, // Ìè + {0xBAB7, 0x608D}, //{0xE6, 0x82, 0x8D}, // �� + {0xBBDA, 0x6094}, //{0xE6, 0x82, 0x94}, // �� + {0xCEF2, 0x609F}, //{0xE6, 0x82, 0x9F}, // �� + {0xD3C6, 0x60A0}, //{0xE6, 0x82, 0xA0}, // �� + {0xBBBC, 0x60A3}, //{0xE6, 0x82, 0xA3}, // �� + {0xD4C3, 0x60A6}, //{0xE6, 0x82, 0xA6}, // �� + {0xC4FA, 0x60A8}, //{0xE6, 0x82, 0xA8}, // �� + {0xD0FC, 0x60AC}, //{0xE6, 0x82, 0xAC}, // �� + {0xC3F5, 0x60AF}, //{0xE6, 0x82, 0xAF}, // �� + {0xB1AF, 0x60B2}, //{0xE6, 0x82, 0xB2}, // �� + {0xE3B2, 0x60B4}, //{0xE6, 0x82, 0xB4}, // � + {0xB5BF, 0x60BC}, //{0xE6, 0x82, 0xBC}, // �� + {0xC7E9, 0x60C5}, //{0xE6, 0x83, 0x85}, // �� + {0xBEAA, 0x60CA}, //{0xE6, 0x83, 0x8A}, // �� + {0xCDEF, 0x60CB}, //{0xE6, 0x83, 0x8B}, // �� + {0xBBF3, 0x60D1}, //{0xE6, 0x83, 0x91}, // �� + {0xCCE8, 0x60D5}, //{0xE6, 0x83, 0x95}, // �� {0xCFA7, 0x60DC}, //{0xE6, 0x83, 0x9C}, // ϧ - {0xBBDD, 0x60E0}, //{0xE6, 0x83, 0xA0}, // »Ý - {0xB5EB, 0x60E6}, //{0xE6, 0x83, 0xA6}, // µë - {0xBEE5, 0x60E7}, //{0xE6, 0x83, 0xA7}, // ¾å - {0xB2D2, 0x60E8}, //{0xE6, 0x83, 0xA8}, // ²Ò - {0xB3CD, 0x60E9}, //{0xE6, 0x83, 0xA9}, // ³Í - {0xB1B9, 0x60EB}, //{0xE6, 0x83, 0xAB}, // ±¹ - {0xB2D1, 0x60ED}, //{0xE6, 0x83, 0xAD}, // ²Ñ - {0xB9DF, 0x60EF}, //{0xE6, 0x83, 0xAF}, // ¹ß - {0xB6E8, 0x60F0}, //{0xE6, 0x83, 0xB0}, // ¶è - {0xCFEB, 0x60F3}, //{0xE6, 0x83, 0xB3}, // Ïë - {0xBBCC, 0x60F6}, //{0xE6, 0x83, 0xB6}, // »Ì - {0xC8C7, 0x60F9}, //{0xE6, 0x83, 0xB9}, // ÈÇ - {0xB3EE, 0x6101}, //{0xE6, 0x84, 0x81}, // ³î - {0xD3FA, 0x6108}, //{0xE6, 0x84, 0x88}, // Óú - {0xD3E4, 0x6109}, //{0xE6, 0x84, 0x89}, // Óä - {0xD2E2, 0x610F}, //{0xE6, 0x84, 0x8F}, // Òâ - {0xE3B5, 0x6115}, //{0xE6, 0x84, 0x95}, // ãµ - {0xD3DE, 0x611A}, //{0xE6, 0x84, 0x9A}, // ÓÞ - {0xB8D0, 0x611F}, //{0xE6, 0x84, 0x9F}, // ¸Ð - {0xB7DF, 0x6124}, //{0xE6, 0x84, 0xA4}, // ·ß - {0xC0A2, 0x6127}, //{0xE6, 0x84, 0xA7}, // À¢ + {0xBBDD, 0x60E0}, //{0xE6, 0x83, 0xA0}, // �� + {0xB5EB, 0x60E6}, //{0xE6, 0x83, 0xA6}, // �� + {0xBEE5, 0x60E7}, //{0xE6, 0x83, 0xA7}, // �� + {0xB2D2, 0x60E8}, //{0xE6, 0x83, 0xA8}, // �� + {0xB3CD, 0x60E9}, //{0xE6, 0x83, 0xA9}, // �� + {0xB1B9, 0x60EB}, //{0xE6, 0x83, 0xAB}, // �� + {0xB2D1, 0x60ED}, //{0xE6, 0x83, 0xAD}, // �� + {0xB9DF, 0x60EF}, //{0xE6, 0x83, 0xAF}, // �� + {0xB6E8, 0x60F0}, //{0xE6, 0x83, 0xB0}, // �� + {0xCFEB, 0x60F3}, //{0xE6, 0x83, 0xB3}, // �� + {0xBBCC, 0x60F6}, //{0xE6, 0x83, 0xB6}, // �� + {0xC8C7, 0x60F9}, //{0xE6, 0x83, 0xB9}, // �� + {0xB3EE, 0x6101}, //{0xE6, 0x84, 0x81}, // �� + {0xD3FA, 0x6108}, //{0xE6, 0x84, 0x88}, // �� + {0xD3E4, 0x6109}, //{0xE6, 0x84, 0x89}, // �� + {0xD2E2, 0x610F}, //{0xE6, 0x84, 0x8F}, // �� + {0xE3B5, 0x6115}, //{0xE6, 0x84, 0x95}, // � + {0xD3DE, 0x611A}, //{0xE6, 0x84, 0x9A}, // �� + {0xB8D0, 0x611F}, //{0xE6, 0x84, 0x9F}, // �� + {0xB7DF, 0x6124}, //{0xE6, 0x84, 0xA4}, // �� + {0xC0A2, 0x6127}, //{0xE6, 0x84, 0xA7}, // " {0xD4B8, 0x613F}, //{0xE6, 0x84, 0xBF}, // Ô¸ - {0xB4C8, 0x6148}, //{0xE6, 0x85, 0x88}, // ´È - {0xBBC5, 0x614C}, //{0xE6, 0x85, 0x8C}, // »Å - {0xC9F7, 0x614E}, //{0xE6, 0x85, 0x8E}, // É÷ + {0xB4C8, 0x6148}, //{0xE6, 0x85, 0x88}, // �� + {0xBBC5, 0x614C}, //{0xE6, 0x85, 0x8C}, // �� + {0xC9F7, 0x614E}, //{0xE6, 0x85, 0x8E}, // �� {0xC4BD, 0x6155}, //{0xE6, 0x85, 0x95}, // Ľ - {0xC2FD, 0x6162}, //{0xE6, 0x85, 0xA2}, // Âý - {0xBBDB, 0x6167}, //{0xE6, 0x85, 0xA7}, // »Û - {0xBFAE, 0x6168}, //{0xE6, 0x85, 0xA8}, // ¿® + {0xC2FD, 0x6162}, //{0xE6, 0x85, 0xA2}, // �� + {0xBBDB, 0x6167}, //{0xE6, 0x85, 0xA7}, // �� + {0xBFAE, 0x6168}, //{0xE6, 0x85, 0xA8}, // �� {0xCEBF, 0x6170}, //{0xE6, 0x85, 0xB0}, // ο - {0xBFB6, 0x6177}, //{0xE6, 0x85, 0xB7}, // ¿¶ - {0xB1EF, 0x618B}, //{0xE6, 0x86, 0x8B}, // ±ï - {0xD4F7, 0x618E}, //{0xE6, 0x86, 0x8E}, // Ô÷ - {0xE3BE, 0x6194}, //{0xE6, 0x86, 0x94}, // ã¾ - {0xBAA9, 0x61A8}, //{0xE6, 0x86, 0xA8}, // º© - {0xBAB6, 0x61BE}, //{0xE6, 0x86, 0xBE}, // º¶ - {0xB6AE, 0x61C2}, //{0xE6, 0x87, 0x82}, // ¶® + {0xBFB6, 0x6177}, //{0xE6, 0x85, 0xB7}, // �� + {0xB1EF, 0x618B}, //{0xE6, 0x86, 0x8B}, // �� + {0xD4F7, 0x618E}, //{0xE6, 0x86, 0x8E}, // �� + {0xE3BE, 0x6194}, //{0xE6, 0x86, 0x94}, // � + {0xBAA9, 0x61A8}, //{0xE6, 0x86, 0xA8}, // �� + {0xBAB6, 0x61BE}, //{0xE6, 0x86, 0xBE}, // �� + {0xB6AE, 0x61C2}, //{0xE6, 0x87, 0x82}, // �� {0xD0B8, 0x61C8}, //{0xE6, 0x87, 0x88}, // и - {0xB0C3, 0x61CA}, //{0xE6, 0x87, 0x8A}, // °Ã - {0xC0C1, 0x61D2}, //{0xE6, 0x87, 0x92}, // ÀÁ + {0xB0C3, 0x61CA}, //{0xE6, 0x87, 0x8A}, // �� + {0xC0C1, 0x61D2}, //{0xE6, 0x87, 0x92}, // �� {0xC5B3, 0x61E6}, //{0xE6, 0x87, 0xA6}, // ų - {0xB8EA, 0x6208}, //{0xE6, 0x88, 0x88}, // ¸ê + {0xB8EA, 0x6208}, //{0xE6, 0x88, 0x88}, // �� {0xCFB7, 0x620F}, //{0xE6, 0x88, 0x8F}, // Ï· - {0xB3C9, 0x6210}, //{0xE6, 0x88, 0x90}, // ³É - {0xCED2, 0x6211}, //{0xE6, 0x88, 0x91}, // ÎÒ - {0xBDE4, 0x6212}, //{0xE6, 0x88, 0x92}, // ½ä - {0xBBF2, 0x6216}, //{0xE6, 0x88, 0x96}, // »ò + {0xB3C9, 0x6210}, //{0xE6, 0x88, 0x90}, // �� + {0xCED2, 0x6211}, //{0xE6, 0x88, 0x91}, // �� + {0xBDE4, 0x6212}, //{0xE6, 0x88, 0x92}, // �� + {0xBBF2, 0x6216}, //{0xE6, 0x88, 0x96}, // �� {0xD5BD, 0x6218}, //{0xE6, 0x88, 0x98}, // Õ½ - {0xC6DD, 0x621A}, //{0xE6, 0x88, 0x9A}, // ÆÝ - {0xBDD8, 0x622A}, //{0xE6, 0x88, 0xAA}, // ½Ø - {0xB4C1, 0x6233}, //{0xE6, 0x88, 0xB3}, // ´Á - {0xB4F7, 0x6234}, //{0xE6, 0x88, 0xB4}, // ´÷ - {0xBBA7, 0x6237}, //{0xE6, 0x88, 0xB7}, // »§ - {0xB7BF, 0x623F}, //{0xE6, 0x88, 0xBF}, // ·¿ - {0xCBF9, 0x6240}, //{0xE6, 0x89, 0x80}, // Ëù - {0xB1E2, 0x6241}, //{0xE6, 0x89, 0x81}, // ±â - {0xC9C8, 0x6247}, //{0xE6, 0x89, 0x87}, // ÉÈ - {0xCAD6, 0x624B}, //{0xE6, 0x89, 0x8B}, // ÊÖ - {0xB2C5, 0x624D}, //{0xE6, 0x89, 0x8D}, // ²Å - {0xD4FA, 0x624E}, //{0xE6, 0x89, 0x8E}, // Ôú - {0xC6CB, 0x6251}, //{0xE6, 0x89, 0x91}, // ÆË - {0xB0C7, 0x6252}, //{0xE6, 0x89, 0x92}, // °Ç - {0xB4F2, 0x6253}, //{0xE6, 0x89, 0x93}, // ´ò - {0xC8D3, 0x6254}, //{0xE6, 0x89, 0x94}, // ÈÓ - {0xCDD0, 0x6258}, //{0xE6, 0x89, 0x98}, // ÍÐ - {0xBFB8, 0x625B}, //{0xE6, 0x89, 0x9B}, // ¿¸ - {0xBFDB, 0x6263}, //{0xE6, 0x89, 0xA3}, // ¿Û + {0xC6DD, 0x621A}, //{0xE6, 0x88, 0x9A}, // �� + {0xBDD8, 0x622A}, //{0xE6, 0x88, 0xAA}, // �� + {0xB4C1, 0x6233}, //{0xE6, 0x88, 0xB3}, // �� + {0xB4F7, 0x6234}, //{0xE6, 0x88, 0xB4}, // �� + {0xBBA7, 0x6237}, //{0xE6, 0x88, 0xB7}, // �� + {0xB7BF, 0x623F}, //{0xE6, 0x88, 0xBF}, // �� + {0xCBF9, 0x6240}, //{0xE6, 0x89, 0x80}, // �� + {0xB1E2, 0x6241}, //{0xE6, 0x89, 0x81}, // �� + {0xC9C8, 0x6247}, //{0xE6, 0x89, 0x87}, // �� + {0xCAD6, 0x624B}, //{0xE6, 0x89, 0x8B}, // �� + {0xB2C5, 0x624D}, //{0xE6, 0x89, 0x8D}, // �� + {0xD4FA, 0x624E}, //{0xE6, 0x89, 0x8E}, // �� + {0xC6CB, 0x6251}, //{0xE6, 0x89, 0x91}, // �� + {0xB0C7, 0x6252}, //{0xE6, 0x89, 0x92}, // �� + {0xB4F2, 0x6253}, //{0xE6, 0x89, 0x93}, // �� + {0xC8D3, 0x6254}, //{0xE6, 0x89, 0x94}, // �� + {0xCDD0, 0x6258}, //{0xE6, 0x89, 0x98}, // �� + {0xBFB8, 0x625B}, //{0xE6, 0x89, 0x9B}, // �� + {0xBFDB, 0x6263}, //{0xE6, 0x89, 0xA3}, // �� {0xD6B4, 0x6267}, //{0xE6, 0x89, 0xA7}, // Ö´ - {0xC0A9, 0x6269}, //{0xE6, 0x89, 0xA9}, // À© + {0xC0A9, 0x6269}, //{0xE6, 0x89, 0xA9}, // ) {0xC9A8, 0x626B}, //{0xE6, 0x89, 0xAB}, // ɨ - {0xD1EF, 0x626C}, //{0xE6, 0x89, 0xAC}, // Ñï + {0xD1EF, 0x626C}, //{0xE6, 0x89, 0xAC}, // �� {0xC5A4, 0x626D}, //{0xE6, 0x89, 0xAD}, // Ť - {0xB0E7, 0x626E}, //{0xE6, 0x89, 0xAE}, // °ç - {0xB3B6, 0x626F}, //{0xE6, 0x89, 0xAF}, // ³¶ - {0xC8C5, 0x6270}, //{0xE6, 0x89, 0xB0}, // ÈÅ - {0xB0E2, 0x6273}, //{0xE6, 0x89, 0xB3}, // °â - {0xB7F6, 0x6276}, //{0xE6, 0x89, 0xB6}, // ·ö - {0xC5FA, 0x6279}, //{0xE6, 0x89, 0xB9}, // Åú - {0xB6F3, 0x627C}, //{0xE6, 0x89, 0xBC}, // ¶ó - {0xD5D2, 0x627E}, //{0xE6, 0x89, 0xBE}, // ÕÒ - {0xB3D0, 0x627F}, //{0xE6, 0x89, 0xBF}, // ³Ð - {0xBCBC, 0x6280}, //{0xE6, 0x8A, 0x80}, // ¼¼ - {0xB3AD, 0x6284}, //{0xE6, 0x8A, 0x84}, // ³­ - {0xB0D1, 0x628A}, //{0xE6, 0x8A, 0x8A}, // °Ñ - {0xD2D6, 0x6291}, //{0xE6, 0x8A, 0x91}, // ÒÖ - {0xCAE3, 0x6292}, //{0xE6, 0x8A, 0x92}, // Êã + {0xB0E7, 0x626E}, //{0xE6, 0x89, 0xAE}, // �� + {0xB3B6, 0x626F}, //{0xE6, 0x89, 0xAF}, // �� + {0xC8C5, 0x6270}, //{0xE6, 0x89, 0xB0}, // �� + {0xB0E2, 0x6273}, //{0xE6, 0x89, 0xB3}, // �� + {0xB7F6, 0x6276}, //{0xE6, 0x89, 0xB6}, // �� + {0xC5FA, 0x6279}, //{0xE6, 0x89, 0xB9}, // �� + {0xB6F3, 0x627C}, //{0xE6, 0x89, 0xBC}, // �� + {0xD5D2, 0x627E}, //{0xE6, 0x89, 0xBE}, // �� + {0xB3D0, 0x627F}, //{0xE6, 0x89, 0xBF}, // �� + {0xBCBC, 0x6280}, //{0xE6, 0x8A, 0x80}, // �� + {0xB3AD, 0x6284}, //{0xE6, 0x8A, 0x84}, // �� + {0xB0D1, 0x628A}, //{0xE6, 0x8A, 0x8A}, // �� + {0xD2D6, 0x6291}, //{0xE6, 0x8A, 0x91}, // �� + {0xCAE3, 0x6292}, //{0xE6, 0x8A, 0x92}, // �� {0xD7A5, 0x6293}, //{0xE6, 0x8A, 0x93}, // ×¥ {0xCDB6, 0x6295}, //{0xE6, 0x8A, 0x95}, // Ͷ - {0xB6B6, 0x6296}, //{0xE6, 0x8A, 0x96}, // ¶¶ - {0xBFB9, 0x6297}, //{0xE6, 0x8A, 0x97}, // ¿¹ - {0xD5DB, 0x6298}, //{0xE6, 0x8A, 0x98}, // ÕÛ - {0xB8A7, 0x629A}, //{0xE6, 0x8A, 0x9A}, // ¸§ - {0xC5D7, 0x629B}, //{0xE6, 0x8A, 0x9B}, // Å× - {0xBFD9, 0x62A0}, //{0xE6, 0x8A, 0xA0}, // ¿Ù - {0xC2D5, 0x62A1}, //{0xE6, 0x8A, 0xA1}, // ÂÕ - {0xC7C0, 0x62A2}, //{0xE6, 0x8A, 0xA2}, // ÇÀ - {0xBBA4, 0x62A4}, //{0xE6, 0x8A, 0xA4}, // »¤ - {0xB1A8, 0x62A5}, //{0xE6, 0x8A, 0xA5}, // ±¨ - {0xC5FB, 0x62AB}, //{0xE6, 0x8A, 0xAB}, // Åû + {0xB6B6, 0x6296}, //{0xE6, 0x8A, 0x96}, // �� + {0xBFB9, 0x6297}, //{0xE6, 0x8A, 0x97}, // �� + {0xD5DB, 0x6298}, //{0xE6, 0x8A, 0x98}, // �� + {0xB8A7, 0x629A}, //{0xE6, 0x8A, 0x9A}, // �� + {0xC5D7, 0x629B}, //{0xE6, 0x8A, 0x9B}, // �� + {0xBFD9, 0x62A0}, //{0xE6, 0x8A, 0xA0}, // �� + {0xC2D5, 0x62A1}, //{0xE6, 0x8A, 0xA1}, // �� + {0xC7C0, 0x62A2}, //{0xE6, 0x8A, 0xA2}, // �� + {0xBBA4, 0x62A4}, //{0xE6, 0x8A, 0xA4}, // �� + {0xB1A8, 0x62A5}, //{0xE6, 0x8A, 0xA5}, // �� + {0xC5FB, 0x62AB}, //{0xE6, 0x8A, 0xAB}, // �� {0xCCA7, 0x62AC}, //{0xE6, 0x8A, 0xAC}, // ̧ - {0xB1A7, 0x62B1}, //{0xE6, 0x8A, 0xB1}, // ±§ - {0xB5D6, 0x62B5}, //{0xE6, 0x8A, 0xB5}, // µÖ + {0xB1A7, 0x62B1}, //{0xE6, 0x8A, 0xB1}, // �� + {0xB5D6, 0x62B5}, //{0xE6, 0x8A, 0xB5}, // �� {0xC4A8, 0x62B9}, //{0xE6, 0x8A, 0xB9}, // Ĩ {0xD1BA, 0x62BC}, //{0xE6, 0x8A, 0xBC}, // Ѻ - {0xB3E9, 0x62BD}, //{0xE6, 0x8A, 0xBD}, // ³é - {0xB7F7, 0x62C2}, //{0xE6, 0x8B, 0x82}, // ·÷ - {0xD6F4, 0x62C4}, //{0xE6, 0x8B, 0x84}, // Öô - {0xB5A3, 0x62C5}, //{0xE6, 0x8B, 0x85}, // µ£ - {0xB2F0, 0x62C6}, //{0xE6, 0x8B, 0x86}, // ²ð + {0xB3E9, 0x62BD}, //{0xE6, 0x8A, 0xBD}, // �� + {0xB7F7, 0x62C2}, //{0xE6, 0x8B, 0x82}, // �� + {0xD6F4, 0x62C4}, //{0xE6, 0x8B, 0x84}, // �� + {0xB5A3, 0x62C5}, //{0xE6, 0x8B, 0x85}, // �� + {0xB2F0, 0x62C6}, //{0xE6, 0x8B, 0x86}, // �� {0xC4B4, 0x62C7}, //{0xE6, 0x8B, 0x87}, // Ä´ - {0xC0AD, 0x62C9}, //{0xE6, 0x8B, 0x89}, // À­ - {0xB0E8, 0x62CC}, //{0xE6, 0x8B, 0x8C}, // °è - {0xC5C4, 0x62CD}, //{0xE6, 0x8B, 0x8D}, // ÅÄ - {0xB9D5, 0x62D0}, //{0xE6, 0x8B, 0x90}, // ¹Õ - {0xBEDC, 0x62D2}, //{0xE6, 0x8B, 0x92}, // ¾Ü - {0xCDD8, 0x62D3}, //{0xE6, 0x8B, 0x93}, // ÍØ - {0xB0CE, 0x62D4}, //{0xE6, 0x8B, 0x94}, // °Î - {0xCDCF, 0x62D6}, //{0xE6, 0x8B, 0x96}, // ÍÏ - {0xDED6, 0x62D7}, //{0xE6, 0x8B, 0x97}, // ÞÖ - {0xBED0, 0x62D8}, //{0xE6, 0x8B, 0x98}, // ¾Ð + {0xC0AD, 0x62C9}, //{0xE6, 0x8B, 0x89}, // - + {0xB0E8, 0x62CC}, //{0xE6, 0x8B, 0x8C}, // �� + {0xC5C4, 0x62CD}, //{0xE6, 0x8B, 0x8D}, // �� + {0xB9D5, 0x62D0}, //{0xE6, 0x8B, 0x90}, // �� + {0xBEDC, 0x62D2}, //{0xE6, 0x8B, 0x92}, // �� + {0xCDD8, 0x62D3}, //{0xE6, 0x8B, 0x93}, // �� + {0xB0CE, 0x62D4}, //{0xE6, 0x8B, 0x94}, // �� + {0xCDCF, 0x62D6}, //{0xE6, 0x8B, 0x96}, // �� + {0xDED6, 0x62D7}, //{0xE6, 0x8B, 0x97}, // �� + {0xBED0, 0x62D8}, //{0xE6, 0x8B, 0x98}, // �� {0xD7BE, 0x62D9}, //{0xE6, 0x8B, 0x99}, // ×¾ - {0xD5D0, 0x62DB}, //{0xE6, 0x8B, 0x9B}, // ÕÐ - {0xB0DD, 0x62DC}, //{0xE6, 0x8B, 0x9C}, // °Ý - {0xC4E2, 0x62DF}, //{0xE6, 0x8B, 0x9F}, // Äâ + {0xD5D0, 0x62DB}, //{0xE6, 0x8B, 0x9B}, // �� + {0xB0DD, 0x62DC}, //{0xE6, 0x8B, 0x9C}, // �� + {0xC4E2, 0x62DF}, //{0xE6, 0x8B, 0x9F}, // �� {0xC2A3, 0x62E2}, //{0xE6, 0x8B, 0xA2}, // £ - {0xBCF0, 0x62E3}, //{0xE6, 0x8B, 0xA3}, // ¼ð + {0xBCF0, 0x62E3}, //{0xE6, 0x8B, 0xA3}, // �� {0xD3B5, 0x62E5}, //{0xE6, 0x8B, 0xA5}, // Óµ - {0xC0B9, 0x62E6}, //{0xE6, 0x8B, 0xA6}, // À¹ + {0xC0B9, 0x62E6}, //{0xE6, 0x8B, 0xA6}, // 9 {0xC5A1, 0x62E7}, //{0xE6, 0x8B, 0xA7}, // Å¡ - {0xB2A6, 0x62E8}, //{0xE6, 0x8B, 0xA8}, // ²¦ - {0xD4F1, 0x62E9}, //{0xE6, 0x8B, 0xA9}, // Ôñ - {0xC0A8, 0x62EC}, //{0xE6, 0x8B, 0xAC}, // À¨ - {0xCAC3, 0x62ED}, //{0xE6, 0x8B, 0xAD}, // Êà - {0xD5FC, 0x62EF}, //{0xE6, 0x8B, 0xAF}, // Õü - {0xB9B0, 0x62F1}, //{0xE6, 0x8B, 0xB1}, // ¹° + {0xB2A6, 0x62E8}, //{0xE6, 0x8B, 0xA8}, // �� + {0xD4F1, 0x62E9}, //{0xE6, 0x8B, 0xA9}, // �� + {0xC0A8, 0x62EC}, //{0xE6, 0x8B, 0xAC}, // ( + {0xCAC3, 0x62ED}, //{0xE6, 0x8B, 0xAD}, // �� + {0xD5FC, 0x62EF}, //{0xE6, 0x8B, 0xAF}, // �� + {0xB9B0, 0x62F1}, //{0xE6, 0x8B, 0xB1}, // �� {0xC8AD, 0x62F3}, //{0xE6, 0x8B, 0xB3}, // È­ {0xCBA9, 0x62F4}, //{0xE6, 0x8B, 0xB4}, // Ë© - {0xBFBD, 0x62F7}, //{0xE6, 0x8B, 0xB7}, // ¿½ + {0xBFBD, 0x62F7}, //{0xE6, 0x8B, 0xB7}, // �� {0xC6B4, 0x62FC}, //{0xE6, 0x8B, 0xBC}, // Æ´ {0xCAB0, 0x62FE}, //{0xE6, 0x8B, 0xBE}, // ʰ - {0xC4C3, 0x62FF}, //{0xE6, 0x8B, 0xBF}, // Äà - {0xB3D6, 0x6301}, //{0xE6, 0x8C, 0x81}, // ³Ö - {0xB9D2, 0x6302}, //{0xE6, 0x8C, 0x82}, // ¹Ò + {0xC4C3, 0x62FF}, //{0xE6, 0x8B, 0xBF}, // �� + {0xB3D6, 0x6301}, //{0xE6, 0x8C, 0x81}, // �� + {0xB9D2, 0x6302}, //{0xE6, 0x8C, 0x82}, // �� {0xD6B8, 0x6307}, //{0xE6, 0x8C, 0x87}, // Ö¸ - {0xB0B4, 0x6309}, //{0xE6, 0x8C, 0x89}, // °´ - {0xBFE6, 0x630E}, //{0xE6, 0x8C, 0x8E}, // ¿æ - {0xCCF4, 0x6311}, //{0xE6, 0x8C, 0x91}, // Ìô - {0xCDDA, 0x6316}, //{0xE6, 0x8C, 0x96}, // ÍÚ + {0xB0B4, 0x6309}, //{0xE6, 0x8C, 0x89}, // �� + {0xBFE6, 0x630E}, //{0xE6, 0x8C, 0x8E}, // �� + {0xCCF4, 0x6311}, //{0xE6, 0x8C, 0x91}, // �� + {0xCDDA, 0x6316}, //{0xE6, 0x8C, 0x96}, // �� {0xD6BF, 0x631A}, //{0xE6, 0x8C, 0x9A}, // Ö¿ {0xD0AE, 0x631F}, //{0xE6, 0x8C, 0x9F}, // Ю - {0xC4D3, 0x6320}, //{0xE6, 0x8C, 0xA0}, // ÄÓ - {0xB5B2, 0x6321}, //{0xE6, 0x8C, 0xA1}, // µ² - {0xD5F5, 0x6323}, //{0xE6, 0x8C, 0xA3}, // Õõ - {0xBCB7, 0x6324}, //{0xE6, 0x8C, 0xA4}, // ¼· - {0xBBD3, 0x6325}, //{0xE6, 0x8C, 0xA5}, // »Ó - {0xB0A4, 0x6328}, //{0xE6, 0x8C, 0xA8}, // °¤ + {0xC4D3, 0x6320}, //{0xE6, 0x8C, 0xA0}, // �� + {0xB5B2, 0x6321}, //{0xE6, 0x8C, 0xA1}, // �� + {0xD5F5, 0x6323}, //{0xE6, 0x8C, 0xA3}, // �� + {0xBCB7, 0x6324}, //{0xE6, 0x8C, 0xA4}, // �� + {0xBBD3, 0x6325}, //{0xE6, 0x8C, 0xA5}, // �� + {0xB0A4, 0x6328}, //{0xE6, 0x8C, 0xA8}, // �� {0xC5B2, 0x632A}, //{0xE6, 0x8C, 0xAA}, // Ų - {0xB4EC, 0x632B}, //{0xE6, 0x8C, 0xAB}, // ´ì - {0xD5F1, 0x632F}, //{0xE6, 0x8C, 0xAF}, // Õñ + {0xB4EC, 0x632B}, //{0xE6, 0x8C, 0xAB}, // �� + {0xD5F1, 0x632F}, //{0xE6, 0x8C, 0xAF}, // �� {0xCDA6, 0x633A}, //{0xE6, 0x8C, 0xBA}, // ͦ - {0xCDEC, 0x633D}, //{0xE6, 0x8C, 0xBD}, // Íì - {0xCEE6, 0x6342}, //{0xE6, 0x8D, 0x82}, // Îæ + {0xCDEC, 0x633D}, //{0xE6, 0x8C, 0xBD}, // �� + {0xCEE6, 0x6342}, //{0xE6, 0x8D, 0x82}, // �� {0xCDB1, 0x6345}, //{0xE6, 0x8D, 0x85}, // ͱ - {0xC0A6, 0x6346}, //{0xE6, 0x8D, 0x86}, // À¦ + {0xC0A6, 0x6346}, //{0xE6, 0x8D, 0x86}, // & {0xD7BD, 0x6349}, //{0xE6, 0x8D, 0x89}, // ×½ - {0xB0C6, 0x634C}, //{0xE6, 0x8D, 0x8C}, // °Æ - {0xBAB4, 0x634D}, //{0xE6, 0x8D, 0x8D}, // º´ - {0xC9D3, 0x634E}, //{0xE6, 0x8D, 0x8E}, // ÉÓ - {0xC4F3, 0x634F}, //{0xE6, 0x8D, 0x8F}, // Äó - {0xBEE8, 0x6350}, //{0xE6, 0x8D, 0x90}, // ¾è - {0xB2B6, 0x6355}, //{0xE6, 0x8D, 0x95}, // ²¶ - {0xC0CC, 0x635E}, //{0xE6, 0x8D, 0x9E}, // ÀÌ - {0xCBF0, 0x635F}, //{0xE6, 0x8D, 0x9F}, // Ëð - {0xBCF1, 0x6361}, //{0xE6, 0x8D, 0xA1}, // ¼ñ - {0xBBBB, 0x6362}, //{0xE6, 0x8D, 0xA2}, // »» - {0xB5B7, 0x6363}, //{0xE6, 0x8D, 0xA3}, // µ· - {0xC5F5, 0x6367}, //{0xE6, 0x8D, 0xA7}, // Åõ - {0xBEDD, 0x636E}, //{0xE6, 0x8D, 0xAE}, // ¾Ý - {0xB4B7, 0x6376}, //{0xE6, 0x8D, 0xB6}, // ´· - {0xBDDD, 0x6377}, //{0xE6, 0x8D, 0xB7}, // ½Ý - {0xDEE0, 0x637A}, //{0xE6, 0x8D, 0xBA}, // Þà - {0xC4ED, 0x637B}, //{0xE6, 0x8D, 0xBB}, // Äí - {0xCFC6, 0x6380}, //{0xE6, 0x8E, 0x80}, // ÏÆ - {0xB5E0, 0x6382}, //{0xE6, 0x8E, 0x82}, // µà - {0xCADA, 0x6388}, //{0xE6, 0x8E, 0x88}, // ÊÚ - {0xB5F4, 0x6389}, //{0xE6, 0x8E, 0x89}, // µô - {0xD5C6, 0x638C}, //{0xE6, 0x8E, 0x8C}, // ÕÆ - {0xCCCD, 0x638F}, //{0xE6, 0x8E, 0x8F}, // ÌÍ - {0xC6FE, 0x6390}, //{0xE6, 0x8E, 0x90}, // Æþ - {0xC5C5, 0x6392}, //{0xE6, 0x8E, 0x92}, // ÅÅ + {0xB0C6, 0x634C}, //{0xE6, 0x8D, 0x8C}, // �� + {0xBAB4, 0x634D}, //{0xE6, 0x8D, 0x8D}, // �� + {0xC9D3, 0x634E}, //{0xE6, 0x8D, 0x8E}, // �� + {0xC4F3, 0x634F}, //{0xE6, 0x8D, 0x8F}, // �� + {0xBEE8, 0x6350}, //{0xE6, 0x8D, 0x90}, // �� + {0xB2B6, 0x6355}, //{0xE6, 0x8D, 0x95}, // �� + {0xC0CC, 0x635E}, //{0xE6, 0x8D, 0x9E}, // �� + {0xCBF0, 0x635F}, //{0xE6, 0x8D, 0x9F}, // �� + {0xBCF1, 0x6361}, //{0xE6, 0x8D, 0xA1}, // �� + {0xBBBB, 0x6362}, //{0xE6, 0x8D, 0xA2}, // �� + {0xB5B7, 0x6363}, //{0xE6, 0x8D, 0xA3}, // �� + {0xC5F5, 0x6367}, //{0xE6, 0x8D, 0xA7}, // �� + {0xBEDD, 0x636E}, //{0xE6, 0x8D, 0xAE}, // �� + {0xB4B7, 0x6376}, //{0xE6, 0x8D, 0xB6}, // �� + {0xBDDD, 0x6377}, //{0xE6, 0x8D, 0xB7}, // �� + {0xDEE0, 0x637A}, //{0xE6, 0x8D, 0xBA}, // �� + {0xC4ED, 0x637B}, //{0xE6, 0x8D, 0xBB}, // �� + {0xCFC6, 0x6380}, //{0xE6, 0x8E, 0x80}, // �� + {0xB5E0, 0x6382}, //{0xE6, 0x8E, 0x82}, // �� + {0xCADA, 0x6388}, //{0xE6, 0x8E, 0x88}, // �� + {0xB5F4, 0x6389}, //{0xE6, 0x8E, 0x89}, // �� + {0xD5C6, 0x638C}, //{0xE6, 0x8E, 0x8C}, // �� + {0xCCCD, 0x638F}, //{0xE6, 0x8E, 0x8F}, // �� + {0xC6FE, 0x6390}, //{0xE6, 0x8E, 0x90}, // �� + {0xC5C5, 0x6392}, //{0xE6, 0x8E, 0x92}, // �� {0xD2B4, 0x6396}, //{0xE6, 0x8E, 0x96}, // Ò´ - {0xBEF2, 0x6398}, //{0xE6, 0x8E, 0x98}, // ¾ò - {0xC2D3, 0x63A0}, //{0xE6, 0x8E, 0xA0}, // ÂÓ + {0xBEF2, 0x6398}, //{0xE6, 0x8E, 0x98}, // �� + {0xC2D3, 0x63A0}, //{0xE6, 0x8E, 0xA0}, // �� {0xCCBD, 0x63A2}, //{0xE6, 0x8E, 0xA2}, // ̽ - {0xBDD3, 0x63A5}, //{0xE6, 0x8E, 0xA5}, // ½Ó - {0xBFD8, 0x63A7}, //{0xE6, 0x8E, 0xA7}, // ¿Ø - {0xCDC6, 0x63A8}, //{0xE6, 0x8E, 0xA8}, // ÍÆ - {0xD1DA, 0x63A9}, //{0xE6, 0x8E, 0xA9}, // ÑÚ - {0xB4EB, 0x63AA}, //{0xE6, 0x8E, 0xAA}, // ´ë - {0xEAFE, 0x63B0}, //{0xE6, 0x8E, 0xB0}, // êþ - {0xD6C0, 0x63B7}, //{0xE6, 0x8E, 0xB7}, // ÖÀ - {0xB5A7, 0x63B8}, //{0xE6, 0x8E, 0xB8}, // µ§ - {0xB2F4, 0x63BA}, //{0xE6, 0x8E, 0xBA}, // ²ô - {0xC8E0, 0x63C9}, //{0xE6, 0x8F, 0x89}, // Èà - {0xD7E1, 0x63CD}, //{0xE6, 0x8F, 0x8D}, // ×á - {0xC3E8, 0x63CF}, //{0xE6, 0x8F, 0x8F}, // Ãè - {0xCCE1, 0x63D0}, //{0xE6, 0x8F, 0x90}, // Ìá - {0xB2E5, 0x63D2}, //{0xE6, 0x8F, 0x92}, // ²å + {0xBDD3, 0x63A5}, //{0xE6, 0x8E, 0xA5}, // �� + {0xBFD8, 0x63A7}, //{0xE6, 0x8E, 0xA7}, // �� + {0xCDC6, 0x63A8}, //{0xE6, 0x8E, 0xA8}, // �� + {0xD1DA, 0x63A9}, //{0xE6, 0x8E, 0xA9}, // �� + {0xB4EB, 0x63AA}, //{0xE6, 0x8E, 0xAA}, // �� + {0xEAFE, 0x63B0}, //{0xE6, 0x8E, 0xB0}, // �� + {0xD6C0, 0x63B7}, //{0xE6, 0x8E, 0xB7}, // �� + {0xB5A7, 0x63B8}, //{0xE6, 0x8E, 0xB8}, // �� + {0xB2F4, 0x63BA}, //{0xE6, 0x8E, 0xBA}, // �� + {0xC8E0, 0x63C9}, //{0xE6, 0x8F, 0x89}, // �� + {0xD7E1, 0x63CD}, //{0xE6, 0x8F, 0x8D}, // �� + {0xC3E8, 0x63CF}, //{0xE6, 0x8F, 0x8F}, // �� + {0xCCE1, 0x63D0}, //{0xE6, 0x8F, 0x90}, // �� + {0xB2E5, 0x63D2}, //{0xE6, 0x8F, 0x92}, // �� {0xD2BE, 0x63D6}, //{0xE6, 0x8F, 0x96}, // Ò¾ - {0xCED5, 0x63E1}, //{0xE6, 0x8F, 0xA1}, // ÎÕ - {0xB4A7, 0x63E3}, //{0xE6, 0x8F, 0xA3}, // ´§ - {0xBFAB, 0x63E9}, //{0xE6, 0x8F, 0xA9}, // ¿« - {0xBEBE, 0x63EA}, //{0xE6, 0x8F, 0xAA}, // ¾¾ - {0xBDD2, 0x63ED}, //{0xE6, 0x8F, 0xAD}, // ½Ò + {0xCED5, 0x63E1}, //{0xE6, 0x8F, 0xA1}, // �� + {0xB4A7, 0x63E3}, //{0xE6, 0x8F, 0xA3}, // �� + {0xBFAB, 0x63E9}, //{0xE6, 0x8F, 0xA9}, // �� + {0xBEBE, 0x63EA}, //{0xE6, 0x8F, 0xAA}, // �� + {0xBDD2, 0x63ED}, //{0xE6, 0x8F, 0xAD}, // �� {0xD4AE, 0x63F4}, //{0xE6, 0x8F, 0xB4}, // Ô® - {0xC0BF, 0x63FD}, //{0xE6, 0x8F, 0xBD}, // À¿ - {0xB2F3, 0x6400}, //{0xE6, 0x90, 0x80}, // ²ó - {0xB8E9, 0x6401}, //{0xE6, 0x90, 0x81}, // ¸é + {0xC0BF, 0x63FD}, //{0xE6, 0x8F, 0xBD}, // ? + {0xB2F3, 0x6400}, //{0xE6, 0x90, 0x80}, // �� + {0xB8E9, 0x6401}, //{0xE6, 0x90, 0x81}, // �� {0xC2A7, 0x6402}, //{0xE6, 0x90, 0x82}, // § - {0xBDC1, 0x6405}, //{0xE6, 0x90, 0x85}, // ½Á - {0xB2AB, 0x640F}, //{0xE6, 0x90, 0x8F}, // ²« - {0xB4EA, 0x6413}, //{0xE6, 0x90, 0x93}, // ´ê + {0xBDC1, 0x6405}, //{0xE6, 0x90, 0x85}, // �� + {0xB2AB, 0x640F}, //{0xE6, 0x90, 0x8F}, // �� + {0xB4EA, 0x6413}, //{0xE6, 0x90, 0x93}, // �� {0xC9A6, 0x6414}, //{0xE6, 0x90, 0x94}, // ɦ - {0xCBD1, 0x641C}, //{0xE6, 0x90, 0x9C}, // ËÑ - {0xB8E3, 0x641E}, //{0xE6, 0x90, 0x9E}, // ¸ã - {0xCCC2, 0x642A}, //{0xE6, 0x90, 0xAA}, // Ì - {0xB0E1, 0x642C}, //{0xE6, 0x90, 0xAC}, // °á - {0xB4EE, 0x642D}, //{0xE6, 0x90, 0xAD}, // ´î + {0xCBD1, 0x641C}, //{0xE6, 0x90, 0x9C}, // �� + {0xB8E3, 0x641E}, //{0xE6, 0x90, 0x9E}, // �� + {0xCCC2, 0x642A}, //{0xE6, 0x90, 0xAA}, // �� + {0xB0E1, 0x642C}, //{0xE6, 0x90, 0xAC}, // �� + {0xB4EE, 0x642D}, //{0xE6, 0x90, 0xAD}, // �� {0xD0AF, 0x643A}, //{0xE6, 0x90, 0xBA}, // Я - {0xC9E3, 0x6444}, //{0xE6, 0x91, 0x84}, // Éã - {0xB0DA, 0x6446}, //{0xE6, 0x91, 0x86}, // °Ú + {0xC9E3, 0x6444}, //{0xE6, 0x91, 0x84}, // �� + {0xB0DA, 0x6446}, //{0xE6, 0x91, 0x86}, // �� {0xD2A1, 0x6447}, //{0xE6, 0x91, 0x87}, // Ò¡ {0xCCAF, 0x644A}, //{0xE6, 0x91, 0x8A}, // ̯ {0xCBA4, 0x6454}, //{0xE6, 0x91, 0x94}, // ˤ {0xD5AA, 0x6458}, //{0xE6, 0x91, 0x98}, // Õª - {0xB4DD, 0x6467}, //{0xE6, 0x91, 0xA7}, // ´Ý + {0xB4DD, 0x6467}, //{0xE6, 0x91, 0xA7}, // �� {0xC4A6, 0x6469}, //{0xE6, 0x91, 0xA9}, // Ħ - {0xC3FE, 0x6478}, //{0xE6, 0x91, 0xB8}, // Ãþ + {0xC3FE, 0x6478}, //{0xE6, 0x91, 0xB8}, // �� {0xC4A1, 0x6479}, //{0xE6, 0x91, 0xB9}, // Ä¡ {0xC6B2, 0x6487}, //{0xE6, 0x92, 0x87}, // Ʋ - {0xB3C5, 0x6491}, //{0xE6, 0x92, 0x91}, // ³Å - {0xC8F6, 0x6492}, //{0xE6, 0x92, 0x92}, // Èö + {0xB3C5, 0x6491}, //{0xE6, 0x92, 0x91}, // �� + {0xC8F6, 0x6492}, //{0xE6, 0x92, 0x92}, // �� {0xCBBA, 0x6495}, //{0xE6, 0x92, 0x95}, // ˺ {0xD7B2, 0x649E}, //{0xE6, 0x92, 0x9E}, // ײ - {0xB3B7, 0x64A4}, //{0xE6, 0x92, 0xA4}, // ³· - {0xC1C3, 0x64A9}, //{0xE6, 0x92, 0xA9}, // Áà - {0xC7CB, 0x64AC}, //{0xE6, 0x92, 0xAC}, // ÇË - {0xB2A5, 0x64AD}, //{0xE6, 0x92, 0xAD}, // ²¥ - {0xB4E9, 0x64AE}, //{0xE6, 0x92, 0xAE}, // ´é + {0xB3B7, 0x64A4}, //{0xE6, 0x92, 0xA4}, // �� + {0xC1C3, 0x64A9}, //{0xE6, 0x92, 0xA9}, // �� + {0xC7CB, 0x64AC}, //{0xE6, 0x92, 0xAC}, // �� + {0xB2A5, 0x64AD}, //{0xE6, 0x92, 0xAD}, // �� + {0xB4E9, 0x64AE}, //{0xE6, 0x92, 0xAE}, // �� {0xD7AB, 0x64B0}, //{0xE6, 0x92, 0xB0}, // ׫ - {0xC4EC, 0x64B5}, //{0xE6, 0x92, 0xB5}, // Äì - {0xBAB3, 0x64BC}, //{0xE6, 0x92, 0xBC}, // º³ - {0xC0DE, 0x64C2}, //{0xE6, 0x93, 0x82}, // ÀÞ - {0xC9C3, 0x64C5}, //{0xE6, 0x93, 0x85}, // Éà - {0xB2D9, 0x64CD}, //{0xE6, 0x93, 0x8D}, // ²Ù - {0xC7E6, 0x64CE}, //{0xE6, 0x93, 0x8E}, // Çæ - {0xC7DC, 0x64D2}, //{0xE6, 0x93, 0x92}, // ÇÜ - {0xB2C1, 0x64E6}, //{0xE6, 0x93, 0xA6}, // ²Á - {0xC5CA, 0x6500}, //{0xE6, 0x94, 0x80}, // ÅÊ - {0xD4DC, 0x6512}, //{0xE6, 0x94, 0x92}, // ÔÜ - {0xC8C1, 0x6518}, //{0xE6, 0x94, 0x98}, // ÈÁ + {0xC4EC, 0x64B5}, //{0xE6, 0x92, 0xB5}, // �� + {0xBAB3, 0x64BC}, //{0xE6, 0x92, 0xBC}, // �� + {0xC0DE, 0x64C2}, //{0xE6, 0x93, 0x82}, // �� + {0xC9C3, 0x64C5}, //{0xE6, 0x93, 0x85}, // �� + {0xB2D9, 0x64CD}, //{0xE6, 0x93, 0x8D}, // �� + {0xC7E6, 0x64CE}, //{0xE6, 0x93, 0x8E}, // �� + {0xC7DC, 0x64D2}, //{0xE6, 0x93, 0x92}, // �� + {0xB2C1, 0x64E6}, //{0xE6, 0x93, 0xA6}, // �� + {0xC5CA, 0x6500}, //{0xE6, 0x94, 0x80}, // �� + {0xD4DC, 0x6512}, //{0xE6, 0x94, 0x92}, // �� + {0xC8C1, 0x6518}, //{0xE6, 0x94, 0x98}, // �� {0xD6A7, 0x652F}, //{0xE6, 0x94, 0xAF}, // Ö§ - {0xCAD5, 0x6536}, //{0xE6, 0x94, 0xB6}, // ÊÕ - {0xB8C4, 0x6539}, //{0xE6, 0x94, 0xB9}, // ¸Ä - {0xB9A5, 0x653B}, //{0xE6, 0x94, 0xBB}, // ¹¥ - {0xB7C5, 0x653E}, //{0xE6, 0x94, 0xBE}, // ·Å - {0xD5FE, 0x653F}, //{0xE6, 0x94, 0xBF}, // Õþ - {0xB9CA, 0x6545}, //{0xE6, 0x95, 0x85}, // ¹Ê + {0xCAD5, 0x6536}, //{0xE6, 0x94, 0xB6}, // �� + {0xB8C4, 0x6539}, //{0xE6, 0x94, 0xB9}, // �� + {0xB9A5, 0x653B}, //{0xE6, 0x94, 0xBB}, // �� + {0xB7C5, 0x653E}, //{0xE6, 0x94, 0xBE}, // �� + {0xD5FE, 0x653F}, //{0xE6, 0x94, 0xBF}, // �� + {0xB9CA, 0x6545}, //{0xE6, 0x95, 0x85}, // �� {0xD0A7, 0x6548}, //{0xE6, 0x95, 0x88}, // Ч - {0xB5D0, 0x654C}, //{0xE6, 0x95, 0x8C}, // µÐ - {0xC3F4, 0x654F}, //{0xE6, 0x95, 0x8F}, // Ãô - {0xBEC8, 0x6551}, //{0xE6, 0x95, 0x91}, // ¾È - {0xBDCC, 0x6559}, //{0xE6, 0x95, 0x99}, // ½Ì - {0xC1B2, 0x655B}, //{0xE6, 0x95, 0x9B}, // Á² - {0xB3A8, 0x655E}, //{0xE6, 0x95, 0x9E}, // ³¨ - {0xB8D2, 0x6562}, //{0xE6, 0x95, 0xA2}, // ¸Ò + {0xB5D0, 0x654C}, //{0xE6, 0x95, 0x8C}, // �� + {0xC3F4, 0x654F}, //{0xE6, 0x95, 0x8F}, // �� + {0xBEC8, 0x6551}, //{0xE6, 0x95, 0x91}, // �� + {0xBDCC, 0x6559}, //{0xE6, 0x95, 0x99}, // �� + {0xC1B2, 0x655B}, //{0xE6, 0x95, 0x9B}, // r + {0xB3A8, 0x655E}, //{0xE6, 0x95, 0x9E}, // �� + {0xB8D2, 0x6562}, //{0xE6, 0x95, 0xA2}, // �� {0xC9A2, 0x6563}, //{0xE6, 0x95, 0xA3}, // É¢ - {0xB6D8, 0x6566}, //{0xE6, 0x95, 0xA6}, // ¶Ø - {0xBEB4, 0x656C}, //{0xE6, 0x95, 0xAC}, // ¾´ - {0xCAFD, 0x6570}, //{0xE6, 0x95, 0xB0}, // Êý - {0xC7C3, 0x6572}, //{0xE6, 0x95, 0xB2}, // Çà - {0xD5FB, 0x6574}, //{0xE6, 0x95, 0xB4}, // Õû - {0xB7F3, 0x6577}, //{0xE6, 0x95, 0xB7}, // ·ó - {0xCEC4, 0x6587}, //{0xE6, 0x96, 0x87}, // ÎÄ + {0xB6D8, 0x6566}, //{0xE6, 0x95, 0xA6}, // �� + {0xBEB4, 0x656C}, //{0xE6, 0x95, 0xAC}, // �� + {0xCAFD, 0x6570}, //{0xE6, 0x95, 0xB0}, // �� + {0xC7C3, 0x6572}, //{0xE6, 0x95, 0xB2}, // �� + {0xD5FB, 0x6574}, //{0xE6, 0x95, 0xB4}, // �� + {0xB7F3, 0x6577}, //{0xE6, 0x95, 0xB7}, // �� + {0xCEC4, 0x6587}, //{0xE6, 0x96, 0x87}, // �� {0xD5AB, 0x658B}, //{0xE6, 0x96, 0x8B}, // Õ« - {0xB0DF, 0x6591}, //{0xE6, 0x96, 0x91}, // °ß - {0xB6B7, 0x6597}, //{0xE6, 0x96, 0x97}, // ¶· - {0xC1CF, 0x6599}, //{0xE6, 0x96, 0x99}, // ÁÏ + {0xB0DF, 0x6591}, //{0xE6, 0x96, 0x91}, // �� + {0xB6B7, 0x6597}, //{0xE6, 0x96, 0x97}, // �� + {0xC1CF, 0x6599}, //{0xE6, 0x96, 0x99}, // �� {0xD0B1, 0x659C}, //{0xE6, 0x96, 0x9C}, // б - {0xD5E5, 0x659F}, //{0xE6, 0x96, 0x9F}, // Õå - {0xBDEF, 0x65A4}, //{0xE6, 0x96, 0xA4}, // ½ï - {0xB3E2, 0x65A5}, //{0xE6, 0x96, 0xA5}, // ³â - {0xB8AB, 0x65A7}, //{0xE6, 0x96, 0xA7}, // ¸« + {0xD5E5, 0x659F}, //{0xE6, 0x96, 0x9F}, // �� + {0xBDEF, 0x65A4}, //{0xE6, 0x96, 0xA4}, // �� + {0xB3E2, 0x65A5}, //{0xE6, 0x96, 0xA5}, // �� + {0xB8AB, 0x65A7}, //{0xE6, 0x96, 0xA7}, // �� {0xD5B6, 0x65A9}, //{0xE6, 0x96, 0xA9}, // Õ¶ - {0xB6CF, 0x65AD}, //{0xE6, 0x96, 0xAD}, // ¶Ï + {0xB6CF, 0x65AD}, //{0xE6, 0x96, 0xAD}, // �� {0xCBB9, 0x65AF}, //{0xE6, 0x96, 0xAF}, // ˹ - {0xD0C2, 0x65B0}, //{0xE6, 0x96, 0xB0}, // Р- {0xB7BD, 0x65B9}, //{0xE6, 0x96, 0xB9}, // ·½ + {0xD0C2, 0x65B0}, //{0xE6, 0x96, 0xB0}, // �� + {0xB7BD, 0x65B9}, //{0xE6, 0x96, 0xB9}, // �� {0xCAA9, 0x65BD}, //{0xE6, 0x96, 0xBD}, // Ê© - {0xC5D4, 0x65C1}, //{0xE6, 0x97, 0x81}, // ÅÔ - {0xC2C3, 0x65C5}, //{0xE6, 0x97, 0x85}, // Âà - {0xD0FD, 0x65CB}, //{0xE6, 0x97, 0x8B}, // Ðý - {0xD7E5, 0x65CF}, //{0xE6, 0x97, 0x8F}, // ×å - {0xC6EC, 0x65D7}, //{0xE6, 0x97, 0x97}, // Æì - {0xCEDE, 0x65E0}, //{0xE6, 0x97, 0xA0}, // ÎÞ - {0xBCC8, 0x65E2}, //{0xE6, 0x97, 0xA2}, // ¼È - {0xC8D5, 0x65E5}, //{0xE6, 0x97, 0xA5}, // ÈÕ - {0xB5A9, 0x65E6}, //{0xE6, 0x97, 0xA6}, // µ© - {0xBEC9, 0x65E7}, //{0xE6, 0x97, 0xA7}, // ¾É + {0xC5D4, 0x65C1}, //{0xE6, 0x97, 0x81}, // �� + {0xC2C3, 0x65C5}, //{0xE6, 0x97, 0x85}, // �� + {0xD0FD, 0x65CB}, //{0xE6, 0x97, 0x8B}, // �� + {0xD7E5, 0x65CF}, //{0xE6, 0x97, 0x8F}, // �� + {0xC6EC, 0x65D7}, //{0xE6, 0x97, 0x97}, // �� + {0xCEDE, 0x65E0}, //{0xE6, 0x97, 0xA0}, // �� + {0xBCC8, 0x65E2}, //{0xE6, 0x97, 0xA2}, // �� + {0xC8D5, 0x65E5}, //{0xE6, 0x97, 0xA5}, // �� + {0xB5A9, 0x65E6}, //{0xE6, 0x97, 0xA6}, // �� + {0xBEC9, 0x65E7}, //{0xE6, 0x97, 0xA7}, // �� {0xD6BC, 0x65E8}, //{0xE6, 0x97, 0xA8}, // Ö¼ - {0xD4E7, 0x65E9}, //{0xE6, 0x97, 0xA9}, // Ôç + {0xD4E7, 0x65E9}, //{0xE6, 0x97, 0xA9}, // �� {0xD1AE, 0x65EC}, //{0xE6, 0x97, 0xAC}, // Ñ® - {0xD0F1, 0x65ED}, //{0xE6, 0x97, 0xAD}, // Ðñ - {0xBAB5, 0x65F1}, //{0xE6, 0x97, 0xB1}, // ºµ + {0xD0F1, 0x65ED}, //{0xE6, 0x97, 0xAD}, // �� + {0xBAB5, 0x65F1}, //{0xE6, 0x97, 0xB1}, // �� {0xCAB1, 0x65F6}, //{0xE6, 0x97, 0xB6}, // ʱ - {0xBFF5, 0x65F7}, //{0xE6, 0x97, 0xB7}, // ¿õ - {0xCDFA, 0x65FA}, //{0xE6, 0x97, 0xBA}, // Íú - {0xB0BA, 0x6602}, //{0xE6, 0x98, 0x82}, // °º - {0xC0A5, 0x6606}, //{0xE6, 0x98, 0x86}, // À¥ - {0xB2FD, 0x660C}, //{0xE6, 0x98, 0x8C}, // ²ý - {0xC3F7, 0x660E}, //{0xE6, 0x98, 0x8E}, // Ã÷ - {0xBBE8, 0x660F}, //{0xE6, 0x98, 0x8F}, // »è - {0xD2D7, 0x6613}, //{0xE6, 0x98, 0x93}, // Ò× - {0xCEF4, 0x6614}, //{0xE6, 0x98, 0x94}, // Îô - {0xEABC, 0x6619}, //{0xE6, 0x98, 0x99}, // ê¼ - {0xD0C7, 0x661F}, //{0xE6, 0x98, 0x9F}, // ÐÇ + {0xBFF5, 0x65F7}, //{0xE6, 0x97, 0xB7}, // �� + {0xCDFA, 0x65FA}, //{0xE6, 0x97, 0xBA}, // �� + {0xB0BA, 0x6602}, //{0xE6, 0x98, 0x82}, // �� + {0xC0A5, 0x6606}, //{0xE6, 0x98, 0x86}, // % + {0xB2FD, 0x660C}, //{0xE6, 0x98, 0x8C}, // �� + {0xC3F7, 0x660E}, //{0xE6, 0x98, 0x8E}, // �� + {0xBBE8, 0x660F}, //{0xE6, 0x98, 0x8F}, // �� + {0xD2D7, 0x6613}, //{0xE6, 0x98, 0x93}, // �� + {0xCEF4, 0x6614}, //{0xE6, 0x98, 0x94}, // �� + {0xEABC, 0x6619}, //{0xE6, 0x98, 0x99}, // � + {0xD0C7, 0x661F}, //{0xE6, 0x98, 0x9F}, // �� {0xD3B3, 0x6620}, //{0xE6, 0x98, 0xA0}, // Ó³ - {0xB4BA, 0x6625}, //{0xE6, 0x98, 0xA5}, // ´º - {0xC3C1, 0x6627}, //{0xE6, 0x98, 0xA7}, // ÃÁ - {0xD7F2, 0x6628}, //{0xE6, 0x98, 0xA8}, // ×ò - {0xD5D1, 0x662D}, //{0xE6, 0x98, 0xAD}, // ÕÑ - {0xCAC7, 0x662F}, //{0xE6, 0x98, 0xAF}, // ÊÇ - {0xEAC7, 0x6635}, //{0xE6, 0x98, 0xB5}, // êÇ - {0xD6E7, 0x663C}, //{0xE6, 0x98, 0xBC}, // Öç - {0xCFD4, 0x663E}, //{0xE6, 0x98, 0xBE}, // ÏÔ - {0xBBCE, 0x6643}, //{0xE6, 0x99, 0x83}, // »Î - {0xBDFA, 0x664B}, //{0xE6, 0x99, 0x8B}, // ½ú - {0xC9CE, 0x664C}, //{0xE6, 0x99, 0x8C}, // ÉÎ + {0xB4BA, 0x6625}, //{0xE6, 0x98, 0xA5}, // �� + {0xC3C1, 0x6627}, //{0xE6, 0x98, 0xA7}, // �� + {0xD7F2, 0x6628}, //{0xE6, 0x98, 0xA8}, // �� + {0xD5D1, 0x662D}, //{0xE6, 0x98, 0xAD}, // �� + {0xCAC7, 0x662F}, //{0xE6, 0x98, 0xAF}, // �� + {0xEAC7, 0x6635}, //{0xE6, 0x98, 0xB5}, // �� + {0xD6E7, 0x663C}, //{0xE6, 0x98, 0xBC}, // �� + {0xCFD4, 0x663E}, //{0xE6, 0x98, 0xBE}, // �� + {0xBBCE, 0x6643}, //{0xE6, 0x99, 0x83}, // �� + {0xBDFA, 0x664B}, //{0xE6, 0x99, 0x8B}, // �� + {0xC9CE, 0x664C}, //{0xE6, 0x99, 0x8C}, // �� {0xC9B9, 0x6652}, //{0xE6, 0x99, 0x92}, // ɹ - {0xCFFE, 0x6653}, //{0xE6, 0x99, 0x93}, // Ïþ - {0xD4CE, 0x6655}, //{0xE6, 0x99, 0x95}, // ÔÎ - {0xCDED, 0x665A}, //{0xE6, 0x99, 0x9A}, // Íí - {0xCEEE, 0x6664}, //{0xE6, 0x99, 0xA4}, // Îî - {0xBBDE, 0x6666}, //{0xE6, 0x99, 0xA6}, // »Þ - {0xB3BF, 0x6668}, //{0xE6, 0x99, 0xA8}, // ³¿ - {0xC6D5, 0x666E}, //{0xE6, 0x99, 0xAE}, // ÆÕ - {0xBEB0, 0x666F}, //{0xE6, 0x99, 0xAF}, // ¾° - {0xCEFA, 0x6670}, //{0xE6, 0x99, 0xB0}, // Îú - {0xC7E7, 0x6674}, //{0xE6, 0x99, 0xB4}, // Çç - {0xBEA7, 0x6676}, //{0xE6, 0x99, 0xB6}, // ¾§ - {0xD6C7, 0x667A}, //{0xE6, 0x99, 0xBA}, // ÖÇ - {0xC1C0, 0x667E}, //{0xE6, 0x99, 0xBE}, // ÁÀ - {0xD4DD, 0x6682}, //{0xE6, 0x9A, 0x82}, // ÔÝ + {0xCFFE, 0x6653}, //{0xE6, 0x99, 0x93}, // �� + {0xD4CE, 0x6655}, //{0xE6, 0x99, 0x95}, // �� + {0xCDED, 0x665A}, //{0xE6, 0x99, 0x9A}, // �� + {0xCEEE, 0x6664}, //{0xE6, 0x99, 0xA4}, // �� + {0xBBDE, 0x6666}, //{0xE6, 0x99, 0xA6}, // �� + {0xB3BF, 0x6668}, //{0xE6, 0x99, 0xA8}, // �� + {0xC6D5, 0x666E}, //{0xE6, 0x99, 0xAE}, // �� + {0xBEB0, 0x666F}, //{0xE6, 0x99, 0xAF}, // �� + {0xCEFA, 0x6670}, //{0xE6, 0x99, 0xB0}, // �� + {0xC7E7, 0x6674}, //{0xE6, 0x99, 0xB4}, // �� + {0xBEA7, 0x6676}, //{0xE6, 0x99, 0xB6}, // �� + {0xD6C7, 0x667A}, //{0xE6, 0x99, 0xBA}, // �� + {0xC1C0, 0x667E}, //{0xE6, 0x99, 0xBE}, // �� + {0xD4DD, 0x6682}, //{0xE6, 0x9A, 0x82}, // �� {0xCFBE, 0x6687}, //{0xE6, 0x9A, 0x87}, // Ͼ - {0xCAEE, 0x6691}, //{0xE6, 0x9A, 0x91}, // Êî + {0xCAEE, 0x6691}, //{0xE6, 0x9A, 0x91}, // �� {0xC5AF, 0x6696}, //{0xE6, 0x9A, 0x96}, // ů - {0xB0B5, 0x6697}, //{0xE6, 0x9A, 0x97}, // °µ + {0xB0B5, 0x6697}, //{0xE6, 0x9A, 0x97}, // �� {0xC4BA, 0x66AE}, //{0xE6, 0x9A, 0xAE}, // ĺ - {0xB1A9, 0x66B4}, //{0xE6, 0x9A, 0xB4}, // ±© - {0xCAEF, 0x66D9}, //{0xE6, 0x9B, 0x99}, // Êï - {0xC7FA, 0x66F2}, //{0xE6, 0x9B, 0xB2}, // Çú - {0xB8FC, 0x66F4}, //{0xE6, 0x9B, 0xB4}, // ¸ü - {0xB2DC, 0x66F9}, //{0xE6, 0x9B, 0xB9}, // ²Ü - {0xC2FC, 0x66FC}, //{0xE6, 0x9B, 0xBC}, // Âü - {0xD4F8, 0x66FE}, //{0xE6, 0x9B, 0xBE}, // Ôø - {0xCCE6, 0x66FF}, //{0xE6, 0x9B, 0xBF}, // Ìæ - {0xD7EE, 0x6700}, //{0xE6, 0x9C, 0x80}, // ×î - {0xD4C2, 0x6708}, //{0xE6, 0x9C, 0x88}, // Ô - {0xD3D0, 0x6709}, //{0xE6, 0x9C, 0x89}, // ÓÐ - {0xC5F3, 0x670B}, //{0xE6, 0x9C, 0x8B}, // Åó - {0xB7FE, 0x670D}, //{0xE6, 0x9C, 0x8D}, // ·þ - {0xC0CA, 0x6717}, //{0xE6, 0x9C, 0x97}, // ÀÊ - {0xCDFB, 0x671B}, //{0xE6, 0x9C, 0x9B}, // Íû - {0xB3AF, 0x671D}, //{0xE6, 0x9C, 0x9D}, // ³¯ - {0xC6DA, 0x671F}, //{0xE6, 0x9C, 0x9F}, // ÆÚ - {0xEBFC, 0x6726}, //{0xE6, 0x9C, 0xA6}, // ëü + {0xB1A9, 0x66B4}, //{0xE6, 0x9A, 0xB4}, // �� + {0xCAEF, 0x66D9}, //{0xE6, 0x9B, 0x99}, // �� + {0xC7FA, 0x66F2}, //{0xE6, 0x9B, 0xB2}, // �� + {0xB8FC, 0x66F4}, //{0xE6, 0x9B, 0xB4}, // �� + {0xB2DC, 0x66F9}, //{0xE6, 0x9B, 0xB9}, // �� + {0xC2FC, 0x66FC}, //{0xE6, 0x9B, 0xBC}, // �� + {0xD4F8, 0x66FE}, //{0xE6, 0x9B, 0xBE}, // �� + {0xCCE6, 0x66FF}, //{0xE6, 0x9B, 0xBF}, // �� + {0xD7EE, 0x6700}, //{0xE6, 0x9C, 0x80}, // �� + {0xD4C2, 0x6708}, //{0xE6, 0x9C, 0x88}, // �� + {0xD3D0, 0x6709}, //{0xE6, 0x9C, 0x89}, // �� + {0xC5F3, 0x670B}, //{0xE6, 0x9C, 0x8B}, // �� + {0xB7FE, 0x670D}, //{0xE6, 0x9C, 0x8D}, // �� + {0xC0CA, 0x6717}, //{0xE6, 0x9C, 0x97}, // �� + {0xCDFB, 0x671B}, //{0xE6, 0x9C, 0x9B}, // �� + {0xB3AF, 0x671D}, //{0xE6, 0x9C, 0x9D}, // �� + {0xC6DA, 0x671F}, //{0xE6, 0x9C, 0x9F}, // �� + {0xEBFC, 0x6726}, //{0xE6, 0x9C, 0xA6}, // �� {0xC4BE, 0x6728}, //{0xE6, 0x9C, 0xA8}, // ľ {0xCEB4, 0x672A}, //{0xE6, 0x9C, 0xAA}, // δ {0xC4A9, 0x672B}, //{0xE6, 0x9C, 0xAB}, // Ä© - {0xB1BE, 0x672C}, //{0xE6, 0x9C, 0xAC}, // ±¾ - {0xCAF5, 0x672F}, //{0xE6, 0x9C, 0xAF}, // Êõ - {0xD6EC, 0x6731}, //{0xE6, 0x9C, 0xB1}, // Öì - {0xC6D3, 0x6734}, //{0xE6, 0x9C, 0xB4}, // ÆÓ - {0xB6E4, 0x6735}, //{0xE6, 0x9C, 0xB5}, // ¶ä - {0xBBFA, 0x673A}, //{0xE6, 0x9C, 0xBA}, // »ú - {0xD0E0, 0x673D}, //{0xE6, 0x9C, 0xBD}, // Ðà + {0xB1BE, 0x672C}, //{0xE6, 0x9C, 0xAC}, // �� + {0xCAF5, 0x672F}, //{0xE6, 0x9C, 0xAF}, // �� + {0xD6EC, 0x6731}, //{0xE6, 0x9C, 0xB1}, // �� + {0xC6D3, 0x6734}, //{0xE6, 0x9C, 0xB4}, // �� + {0xB6E4, 0x6735}, //{0xE6, 0x9C, 0xB5}, // �� + {0xBBFA, 0x673A}, //{0xE6, 0x9C, 0xBA}, // �� + {0xD0E0, 0x673D}, //{0xE6, 0x9C, 0xBD}, // �� {0xC9B1, 0x6740}, //{0xE6, 0x9D, 0x80}, // ɱ - {0xD4D3, 0x6742}, //{0xE6, 0x9D, 0x82}, // ÔÓ + {0xD4D3, 0x6742}, //{0xE6, 0x9D, 0x82}, // �� {0xC8A8, 0x6743}, //{0xE6, 0x9D, 0x83}, // Ȩ - {0xB8CB, 0x6746}, //{0xE6, 0x9D, 0x86}, // ¸Ë - {0xE8BE, 0x6748}, //{0xE6, 0x9D, 0x88}, // è¾ + {0xB8CB, 0x6746}, //{0xE6, 0x9D, 0x86}, // �� + {0xE8BE, 0x6748}, //{0xE6, 0x9D, 0x88}, // � {0xC9BC, 0x6749}, //{0xE6, 0x9D, 0x89}, // ɼ - {0xC0EE, 0x674E}, //{0xE6, 0x9D, 0x8E}, // Àî - {0xD0D3, 0x674F}, //{0xE6, 0x9D, 0x8F}, // ÐÓ - {0xB2C4, 0x6750}, //{0xE6, 0x9D, 0x90}, // ²Ä - {0xB4E5, 0x6751}, //{0xE6, 0x9D, 0x91}, // ´å - {0xD5C8, 0x6756}, //{0xE6, 0x9D, 0x96}, // ÕÈ - {0xB6C5, 0x675C}, //{0xE6, 0x9D, 0x9C}, // ¶Å - {0xCAF8, 0x675F}, //{0xE6, 0x9D, 0x9F}, // Êø - {0xB8DC, 0x6760}, //{0xE6, 0x9D, 0xA0}, // ¸Ü - {0xCCF5, 0x6761}, //{0xE6, 0x9D, 0xA1}, // Ìõ - {0xC0B4, 0x6765}, //{0xE6, 0x9D, 0xA5}, // À´ - {0xD1EE, 0x6768}, //{0xE6, 0x9D, 0xA8}, // Ñî - {0xBABC, 0x676D}, //{0xE6, 0x9D, 0xAD}, // º¼ - {0xB1AD, 0x676F}, //{0xE6, 0x9D, 0xAF}, // ±­ - {0xBDDC, 0x6770}, //{0xE6, 0x9D, 0xB0}, // ½Ü - {0xCBC9, 0x677E}, //{0xE6, 0x9D, 0xBE}, // ËÉ - {0xB0E5, 0x677F}, //{0xE6, 0x9D, 0xBF}, // °å - {0xBCAB, 0x6781}, //{0xE6, 0x9E, 0x81}, // ¼« - {0xB9B9, 0x6784}, //{0xE6, 0x9E, 0x84}, // ¹¹ - {0xCDF7, 0x6789}, //{0xE6, 0x9E, 0x89}, // Í÷ - {0xCEF6, 0x6790}, //{0xE6, 0x9E, 0x90}, // Îö - {0xD5ED, 0x6795}, //{0xE6, 0x9E, 0x95}, // Õí - {0xC1D6, 0x6797}, //{0xE6, 0x9E, 0x97}, // ÁÖ + {0xC0EE, 0x674E}, //{0xE6, 0x9D, 0x8E}, // �� + {0xD0D3, 0x674F}, //{0xE6, 0x9D, 0x8F}, // �� + {0xB2C4, 0x6750}, //{0xE6, 0x9D, 0x90}, // �� + {0xB4E5, 0x6751}, //{0xE6, 0x9D, 0x91}, // �� + {0xD5C8, 0x6756}, //{0xE6, 0x9D, 0x96}, // �� + {0xB6C5, 0x675C}, //{0xE6, 0x9D, 0x9C}, // �� + {0xCAF8, 0x675F}, //{0xE6, 0x9D, 0x9F}, // �� + {0xB8DC, 0x6760}, //{0xE6, 0x9D, 0xA0}, // �� + {0xCCF5, 0x6761}, //{0xE6, 0x9D, 0xA1}, // �� + {0xC0B4, 0x6765}, //{0xE6, 0x9D, 0xA5}, // 4 + {0xD1EE, 0x6768}, //{0xE6, 0x9D, 0xA8}, // �� + {0xBABC, 0x676D}, //{0xE6, 0x9D, 0xAD}, // �� + {0xB1AD, 0x676F}, //{0xE6, 0x9D, 0xAF}, // �� + {0xBDDC, 0x6770}, //{0xE6, 0x9D, 0xB0}, // �� + {0xCBC9, 0x677E}, //{0xE6, 0x9D, 0xBE}, // �� + {0xB0E5, 0x677F}, //{0xE6, 0x9D, 0xBF}, // �� + {0xBCAB, 0x6781}, //{0xE6, 0x9E, 0x81}, // �� + {0xB9B9, 0x6784}, //{0xE6, 0x9E, 0x84}, // �� + {0xCDF7, 0x6789}, //{0xE6, 0x9E, 0x89}, // �� + {0xCEF6, 0x6790}, //{0xE6, 0x9E, 0x90}, // �� + {0xD5ED, 0x6795}, //{0xE6, 0x9E, 0x95}, // �� + {0xC1D6, 0x6797}, //{0xE6, 0x9E, 0x97}, // �� {0xC3B6, 0x679A}, //{0xE6, 0x9E, 0x9A}, // ö - {0xB9FB, 0x679C}, //{0xE6, 0x9E, 0x9C}, // ¹û + {0xB9FB, 0x679C}, //{0xE6, 0x9E, 0x9C}, // �� {0xD6A6, 0x679D}, //{0xE6, 0x9E, 0x9D}, // Ö¦ - {0xCAE0, 0x67A2}, //{0xE6, 0x9E, 0xA2}, // Êà - {0xD4E6, 0x67A3}, //{0xE6, 0x9E, 0xA3}, // Ôæ + {0xCAE0, 0x67A2}, //{0xE6, 0x9E, 0xA2}, // �� + {0xD4E6, 0x67A3}, //{0xE6, 0x9E, 0xA3}, // �� {0xC7B9, 0x67AA}, //{0xE6, 0x9E, 0xAA}, // ǹ - {0xB7E3, 0x67AB}, //{0xE6, 0x9E, 0xAB}, // ·ã - {0xBFDD, 0x67AF}, //{0xE6, 0x9E, 0xAF}, // ¿Ý - {0xBCDC, 0x67B6}, //{0xE6, 0x9E, 0xB6}, // ¼Ü - {0xBCCF, 0x67B7}, //{0xE6, 0x9E, 0xB7}, // ¼Ï - {0xB1FA, 0x67C4}, //{0xE6, 0x9F, 0x84}, // ±ú - {0xB0D8, 0x67CF}, //{0xE6, 0x9F, 0x8F}, // °Ø + {0xB7E3, 0x67AB}, //{0xE6, 0x9E, 0xAB}, // �� + {0xBFDD, 0x67AF}, //{0xE6, 0x9E, 0xAF}, // �� + {0xBCDC, 0x67B6}, //{0xE6, 0x9E, 0xB6}, // �� + {0xBCCF, 0x67B7}, //{0xE6, 0x9E, 0xB7}, // �� + {0xB1FA, 0x67C4}, //{0xE6, 0x9F, 0x84}, // �� + {0xB0D8, 0x67CF}, //{0xE6, 0x9F, 0x8F}, // �� {0xC4B3, 0x67D0}, //{0xE6, 0x9F, 0x90}, // ij - {0xB8CC, 0x67D1}, //{0xE6, 0x9F, 0x91}, // ¸Ì - {0xC6E2, 0x67D2}, //{0xE6, 0x9F, 0x92}, // Æâ + {0xB8CC, 0x67D1}, //{0xE6, 0x9F, 0x91}, // �� + {0xC6E2, 0x67D2}, //{0xE6, 0x9F, 0x92}, // �� {0xC8BE, 0x67D3}, //{0xE6, 0x9F, 0x93}, // Ⱦ - {0xC8E1, 0x67D4}, //{0xE6, 0x9F, 0x94}, // Èá - {0xB9F1, 0x67DC}, //{0xE6, 0x9F, 0x9C}, // ¹ñ - {0xC4FB, 0x67E0}, //{0xE6, 0x9F, 0xA0}, // Äû - {0xB2E9, 0x67E5}, //{0xE6, 0x9F, 0xA5}, // ²é - {0xBCED, 0x67EC}, //{0xE6, 0x9F, 0xAC}, // ¼í - {0xD6F9, 0x67F1}, //{0xE6, 0x9F, 0xB1}, // Öù - {0xC1F8, 0x67F3}, //{0xE6, 0x9F, 0xB3}, // Áø - {0xB2F1, 0x67F4}, //{0xE6, 0x9F, 0xB4}, // ²ñ - {0xCAC1, 0x67FF}, //{0xE6, 0x9F, 0xBF}, // ÊÁ + {0xC8E1, 0x67D4}, //{0xE6, 0x9F, 0x94}, // �� + {0xB9F1, 0x67DC}, //{0xE6, 0x9F, 0x9C}, // �� + {0xC4FB, 0x67E0}, //{0xE6, 0x9F, 0xA0}, // �� + {0xB2E9, 0x67E5}, //{0xE6, 0x9F, 0xA5}, // �� + {0xBCED, 0x67EC}, //{0xE6, 0x9F, 0xAC}, // �� + {0xD6F9, 0x67F1}, //{0xE6, 0x9F, 0xB1}, // �� + {0xC1F8, 0x67F3}, //{0xE6, 0x9F, 0xB3}, // �� + {0xB2F1, 0x67F4}, //{0xE6, 0x9F, 0xB4}, // �� + {0xCAC1, 0x67FF}, //{0xE6, 0x9F, 0xBF}, // �� {0xD5A4, 0x6805}, //{0xE6, 0xA0, 0x85}, // Õ¤ - {0xB1EA, 0x6807}, //{0xE6, 0xA0, 0x87}, // ±ê + {0xB1EA, 0x6807}, //{0xE6, 0xA0, 0x87}, // �� {0xD5BB, 0x6808}, //{0xE6, 0xA0, 0x88}, // Õ» - {0xB6B0, 0x680B}, //{0xE6, 0xA0, 0x8B}, // ¶° - {0xC0B8, 0x680F}, //{0xE6, 0xA0, 0x8F}, // À¸ - {0xCAF7, 0x6811}, //{0xE6, 0xA0, 0x91}, // Ê÷ + {0xB6B0, 0x680B}, //{0xE6, 0xA0, 0x8B}, // �� + {0xC0B8, 0x680F}, //{0xE6, 0xA0, 0x8F}, // 8 + {0xCAF7, 0x6811}, //{0xE6, 0xA0, 0x91}, // �� {0xCBA8, 0x6813}, //{0xE6, 0xA0, 0x93}, // ˨ - {0xC6DC, 0x6816}, //{0xE6, 0xA0, 0x96}, // ÆÜ - {0xC0F5, 0x6817}, //{0xE6, 0xA0, 0x97}, // Àõ + {0xC6DC, 0x6816}, //{0xE6, 0xA0, 0x96}, // �� + {0xC0F5, 0x6817}, //{0xE6, 0xA0, 0x97}, // �� {0xD0A3, 0x6821}, //{0xE6, 0xA0, 0xA1}, // У - {0xD6EA, 0x682A}, //{0xE6, 0xA0, 0xAA}, // Öê - {0xD1F9, 0x6837}, //{0xE6, 0xA0, 0xB7}, // Ñù - {0xBACB, 0x6838}, //{0xE6, 0xA0, 0xB8}, // ºË - {0xB8F9, 0x6839}, //{0xE6, 0xA0, 0xB9}, // ¸ù - {0xB8F1, 0x683C}, //{0xE6, 0xA0, 0xBC}, // ¸ñ - {0xD4D4, 0x683D}, //{0xE6, 0xA0, 0xBD}, // ÔÔ - {0xB9F0, 0x6842}, //{0xE6, 0xA1, 0x82}, // ¹ð - {0xCCD2, 0x6843}, //{0xE6, 0xA1, 0x83}, // ÌÒ + {0xD6EA, 0x682A}, //{0xE6, 0xA0, 0xAA}, // �� + {0xD1F9, 0x6837}, //{0xE6, 0xA0, 0xB7}, // �� + {0xBACB, 0x6838}, //{0xE6, 0xA0, 0xB8}, // �� + {0xB8F9, 0x6839}, //{0xE6, 0xA0, 0xB9}, // �� + {0xB8F1, 0x683C}, //{0xE6, 0xA0, 0xBC}, // �� + {0xD4D4, 0x683D}, //{0xE6, 0xA0, 0xBD}, // �� + {0xB9F0, 0x6842}, //{0xE6, 0xA1, 0x82}, // �� + {0xCCD2, 0x6843}, //{0xE6, 0xA1, 0x83}, // �� {0xCEA6, 0x6845}, //{0xE6, 0xA1, 0x85}, // Φ - {0xBFF2, 0x6846}, //{0xE6, 0xA1, 0x86}, // ¿ò - {0xB0B8, 0x6848}, //{0xE6, 0xA1, 0x88}, // °¸ - {0xD7C0, 0x684C}, //{0xE6, 0xA1, 0x8C}, // ×À + {0xBFF2, 0x6846}, //{0xE6, 0xA1, 0x86}, // �� + {0xB0B8, 0x6848}, //{0xE6, 0xA1, 0x88}, // �� + {0xD7C0, 0x684C}, //{0xE6, 0xA1, 0x8C}, // �� {0xCDA9, 0x6850}, //{0xE6, 0xA1, 0x90}, // Í© {0xC9A3, 0x6851}, //{0xE6, 0xA1, 0x91}, // É£ - {0xB5B5, 0x6863}, //{0xE6, 0xA1, 0xA3}, // µµ - {0xC7C5, 0x6865}, //{0xE6, 0xA1, 0xA5}, // ÇÅ - {0xE8EB, 0x6866}, //{0xE6, 0xA1, 0xA6}, // èë - {0xBDB0, 0x6868}, //{0xE6, 0xA1, 0xA8}, // ½° + {0xB5B5, 0x6863}, //{0xE6, 0xA1, 0xA3}, // �� + {0xC7C5, 0x6865}, //{0xE6, 0xA1, 0xA5}, // �� + {0xE8EB, 0x6866}, //{0xE6, 0xA1, 0xA6}, // �� + {0xBDB0, 0x6868}, //{0xE6, 0xA1, 0xA8}, // �� {0xD7AE, 0x6869}, //{0xE6, 0xA1, 0xA9}, // ×® {0xCDB0, 0x6876}, //{0xE6, 0xA1, 0xB6}, // Ͱ - {0xC1BA, 0x6881}, //{0xE6, 0xA2, 0x81}, // Áº + {0xC1BA, 0x6881}, //{0xE6, 0xA2, 0x81}, // z {0xC3B7, 0x6885}, //{0xE6, 0xA2, 0x85}, // ÷ - {0xB0F0, 0x6886}, //{0xE6, 0xA2, 0x86}, // °ð - {0xB9A3, 0x6897}, //{0xE6, 0xA2, 0x97}, // ¹£ - {0xC9D2, 0x68A2}, //{0xE6, 0xA2, 0xA2}, // ÉÒ - {0xC3CE, 0x68A6}, //{0xE6, 0xA2, 0xA6}, // ÃÎ - {0xCEE0, 0x68A7}, //{0xE6, 0xA2, 0xA7}, // Îà - {0xC0E6, 0x68A8}, //{0xE6, 0xA2, 0xA8}, // Àæ - {0xCBF3, 0x68AD}, //{0xE6, 0xA2, 0xAD}, // Ëó - {0xCCDD, 0x68AF}, //{0xE6, 0xA2, 0xAF}, // ÌÝ + {0xB0F0, 0x6886}, //{0xE6, 0xA2, 0x86}, // �� + {0xB9A3, 0x6897}, //{0xE6, 0xA2, 0x97}, // �� + {0xC9D2, 0x68A2}, //{0xE6, 0xA2, 0xA2}, // �� + {0xC3CE, 0x68A6}, //{0xE6, 0xA2, 0xA6}, // �� + {0xCEE0, 0x68A7}, //{0xE6, 0xA2, 0xA7}, // �� + {0xC0E6, 0x68A8}, //{0xE6, 0xA2, 0xA8}, // �� + {0xCBF3, 0x68AD}, //{0xE6, 0xA2, 0xAD}, // �� + {0xCCDD, 0x68AF}, //{0xE6, 0xA2, 0xAF}, // �� {0xD0B5, 0x68B0}, //{0xE6, 0xA2, 0xB0}, // е - {0xCAE1, 0x68B3}, //{0xE6, 0xA2, 0xB3}, // Êá - {0xBCEC, 0x68C0}, //{0xE6, 0xA3, 0x80}, // ¼ì - {0xC3DE, 0x68C9}, //{0xE6, 0xA3, 0x89}, // ÃÞ - {0xC6E5, 0x68CB}, //{0xE6, 0xA3, 0x8B}, // Æå - {0xB9F7, 0x68CD}, //{0xE6, 0xA3, 0x8D}, // ¹÷ - {0xB0F4, 0x68D2}, //{0xE6, 0xA3, 0x92}, // °ô - {0xD7D8, 0x68D5}, //{0xE6, 0xA3, 0x95}, // ר - {0xBCAC, 0x68D8}, //{0xE6, 0xA3, 0x98}, // ¼¬ - {0xC5EF, 0x68DA}, //{0xE6, 0xA3, 0x9A}, // Åï - {0xCCC4, 0x68E0}, //{0xE6, 0xA3, 0xA0}, // ÌÄ + {0xCAE1, 0x68B3}, //{0xE6, 0xA2, 0xB3}, // �� + {0xBCEC, 0x68C0}, //{0xE6, 0xA3, 0x80}, // �� + {0xC3DE, 0x68C9}, //{0xE6, 0xA3, 0x89}, // �� + {0xC6E5, 0x68CB}, //{0xE6, 0xA3, 0x8B}, // �� + {0xB9F7, 0x68CD}, //{0xE6, 0xA3, 0x8D}, // �� + {0xB0F4, 0x68D2}, //{0xE6, 0xA3, 0x92}, // �� + {0xD7D8, 0x68D5}, //{0xE6, 0xA3, 0x95}, // �� + {0xBCAC, 0x68D8}, //{0xE6, 0xA3, 0x98}, // �� + {0xC5EF, 0x68DA}, //{0xE6, 0xA3, 0x9A}, // �� + {0xCCC4, 0x68E0}, //{0xE6, 0xA3, 0xA0}, // �� {0xC9AD, 0x68EE}, //{0xE6, 0xA3, 0xAE}, // É­ - {0xC0E2, 0x68F1}, //{0xE6, 0xA3, 0xB1}, // Àâ - {0xBFC3, 0x68F5}, //{0xE6, 0xA3, 0xB5}, // ¿Ã - {0xB9D7, 0x68FA}, //{0xE6, 0xA3, 0xBA}, // ¹× - {0xD2CE, 0x6905}, //{0xE6, 0xA4, 0x85}, // ÒÎ + {0xC0E2, 0x68F1}, //{0xE6, 0xA3, 0xB1}, // �� + {0xBFC3, 0x68F5}, //{0xE6, 0xA3, 0xB5}, // �� + {0xB9D7, 0x68FA}, //{0xE6, 0xA3, 0xBA}, // �� + {0xD2CE, 0x6905}, //{0xE6, 0xA4, 0x85}, // �� {0xD6B2, 0x690D}, //{0xE6, 0xA4, 0x8D}, // Ö² {0xD7B5, 0x690E}, //{0xE6, 0xA4, 0x8E}, // ×µ - {0xBDB7, 0x6912}, //{0xE6, 0xA4, 0x92}, // ½· - {0xCDD6, 0x692D}, //{0xE6, 0xA4, 0xAD}, // ÍÖ + {0xBDB7, 0x6912}, //{0xE6, 0xA4, 0x92}, // �� + {0xCDD6, 0x692D}, //{0xE6, 0xA4, 0xAD}, // �� {0xD2AC, 0x6930}, //{0xE6, 0xA4, 0xB0}, // Ò¬ - {0xB4BB, 0x693F}, //{0xE6, 0xA4, 0xBF}, // ´» + {0xB4BB, 0x693F}, //{0xE6, 0xA4, 0xBF}, // �� {0xD0A8, 0x6954}, //{0xE6, 0xA5, 0x94}, // Ш - {0xB3FE, 0x695A}, //{0xE6, 0xA5, 0x9A}, // ³þ - {0xC0E3, 0x695E}, //{0xE6, 0xA5, 0x9E}, // Àã - {0xE9B9, 0x6963}, //{0xE6, 0xA5, 0xA3}, // é¹ - {0xBFAC, 0x6977}, //{0xE6, 0xA5, 0xB7}, // ¿¬ + {0xB3FE, 0x695A}, //{0xE6, 0xA5, 0x9A}, // �� + {0xC0E3, 0x695E}, //{0xE6, 0xA5, 0x9E}, // �� + {0xE9B9, 0x6963}, //{0xE6, 0xA5, 0xA3}, // � + {0xBFAC, 0x6977}, //{0xE6, 0xA5, 0xB7}, // �� {0xC2A5, 0x697C}, //{0xE6, 0xA5, 0xBC}, // Â¥ - {0xB8C5, 0x6982}, //{0xE6, 0xA6, 0x82}, // ¸Å - {0xE9AD, 0x6984}, //{0xE6, 0xA6, 0x84}, // é­ - {0xD3DC, 0x6986}, //{0xE6, 0xA6, 0x86}, // ÓÜ - {0xC0C6, 0x6994}, //{0xE6, 0xA6, 0x94}, // ÀÆ - {0xE9C5, 0x6995}, //{0xE6, 0xA6, 0x95}, // éÅ - {0xE9BB, 0x699B}, //{0xE6, 0xA6, 0x9B}, // é» - {0xB0F1, 0x699C}, //{0xE6, 0xA6, 0x9C}, // °ñ + {0xB8C5, 0x6982}, //{0xE6, 0xA6, 0x82}, // �� + {0xE9AD, 0x6984}, //{0xE6, 0xA6, 0x84}, // � + {0xD3DC, 0x6986}, //{0xE6, 0xA6, 0x86}, // �� + {0xC0C6, 0x6994}, //{0xE6, 0xA6, 0x94}, // �� + {0xE9C5, 0x6995}, //{0xE6, 0xA6, 0x95}, // �� + {0xE9BB, 0x699B}, //{0xE6, 0xA6, 0x9B}, // � + {0xB0F1, 0x699C}, //{0xE6, 0xA6, 0x9C}, // �� {0xD5A5, 0x69A8}, //{0xE6, 0xA6, 0xA8}, // Õ¥ - {0xC1F1, 0x69B4}, //{0xE6, 0xA6, 0xB4}, // Áñ - {0xBBB1, 0x69D0}, //{0xE6, 0xA7, 0x90}, // »± - {0xB2DB, 0x69FD}, //{0xE6, 0xA7, 0xBD}, // ²Û - {0xB7AE, 0x6A0A}, //{0xE6, 0xA8, 0x8A}, // ·® - {0xD5C1, 0x6A1F}, //{0xE6, 0xA8, 0x9F}, // ÕÁ + {0xC1F1, 0x69B4}, //{0xE6, 0xA6, 0xB4}, // �� + {0xBBB1, 0x69D0}, //{0xE6, 0xA7, 0x90}, // �� + {0xB2DB, 0x69FD}, //{0xE6, 0xA7, 0xBD}, // �� + {0xB7AE, 0x6A0A}, //{0xE6, 0xA8, 0x8A}, // �� + {0xD5C1, 0x6A1F}, //{0xE6, 0xA8, 0x9F}, // �� {0xC4A3, 0x6A21}, //{0xE6, 0xA8, 0xA1}, // Ä£ - {0xBAE1, 0x6A2A}, //{0xE6, 0xA8, 0xAA}, // ºá + {0xBAE1, 0x6A2A}, //{0xE6, 0xA8, 0xAA}, // �� {0xD3A3, 0x6A31}, //{0xE6, 0xA8, 0xB1}, // Ó£ - {0xE9CF, 0x6A44}, //{0xE6, 0xA9, 0x84}, // éÏ - {0xE9D9, 0x6A58}, //{0xE6, 0xA9, 0x98}, // éÙ - {0xB3C8, 0x6A59}, //{0xE6, 0xA9, 0x99}, // ³È - {0xCFF0, 0x6A61}, //{0xE6, 0xA9, 0xA1}, // Ïð - {0xB3F7, 0x6A71}, //{0xE6, 0xA9, 0xB1}, // ³÷ + {0xE9CF, 0x6A44}, //{0xE6, 0xA9, 0x84}, // �� + {0xE9D9, 0x6A58}, //{0xE6, 0xA9, 0x98}, // �� + {0xB3C8, 0x6A59}, //{0xE6, 0xA9, 0x99}, // �� + {0xCFF0, 0x6A61}, //{0xE6, 0xA9, 0xA1}, // �� + {0xB3F7, 0x6A71}, //{0xE6, 0xA9, 0xB1}, // �� {0xCCB4, 0x6A80}, //{0xE6, 0xAA, 0x80}, // Ì´ - {0xE9DC, 0x6A90}, //{0xE6, 0xAA, 0x90}, // éÜ - {0xE9DD, 0x6AA9}, //{0xE6, 0xAA, 0xA9}, // éÝ - {0xC3CA, 0x6AAC}, //{0xE6, 0xAA, 0xAC}, // ÃÊ + {0xE9DC, 0x6A90}, //{0xE6, 0xAA, 0x90}, // �� + {0xE9DD, 0x6AA9}, //{0xE6, 0xAA, 0xA9}, // �� + {0xC3CA, 0x6AAC}, //{0xE6, 0xAA, 0xAC}, // �� {0xC7B7, 0x6B20}, //{0xE6, 0xAC, 0xA0}, // Ç· - {0xB4CE, 0x6B21}, //{0xE6, 0xAC, 0xA1}, // ´Î - {0xBBB6, 0x6B22}, //{0xE6, 0xAC, 0xA2}, // »¶ - {0xD0C0, 0x6B23}, //{0xE6, 0xAC, 0xA3}, // ÐÀ + {0xB4CE, 0x6B21}, //{0xE6, 0xAC, 0xA1}, // �� + {0xBBB6, 0x6B22}, //{0xE6, 0xAC, 0xA2}, // �� + {0xD0C0, 0x6B23}, //{0xE6, 0xAC, 0xA3}, // �� {0xC5B7, 0x6B27}, //{0xE6, 0xAC, 0xA7}, // Å· - {0xD3FB, 0x6B32}, //{0xE6, 0xAC, 0xB2}, // Óû - {0xC6DB, 0x6B3A}, //{0xE6, 0xAC, 0xBA}, // ÆÛ - {0xBFEE, 0x6B3E}, //{0xE6, 0xAC, 0xBE}, // ¿î + {0xD3FB, 0x6B32}, //{0xE6, 0xAC, 0xB2}, // �� + {0xC6DB, 0x6B3A}, //{0xE6, 0xAC, 0xBA}, // �� + {0xBFEE, 0x6B3E}, //{0xE6, 0xAC, 0xBE}, // �� {0xD0AA, 0x6B47}, //{0xE6, 0xAD, 0x87}, // Ъ {0xC7B8, 0x6B49}, //{0xE6, 0xAD, 0x89}, // Ǹ - {0xB8E8, 0x6B4C}, //{0xE6, 0xAD, 0x8C}, // ¸è + {0xB8E8, 0x6B4C}, //{0xE6, 0xAD, 0x8C}, // �� {0xD6B9, 0x6B62}, //{0xE6, 0xAD, 0xA2}, // Ö¹ - {0xD5FD, 0x6B63}, //{0xE6, 0xAD, 0xA3}, // Õý - {0xB4CB, 0x6B64}, //{0xE6, 0xAD, 0xA4}, // ´Ë - {0xB2BD, 0x6B65}, //{0xE6, 0xAD, 0xA5}, // ²½ - {0xCEE4, 0x6B66}, //{0xE6, 0xAD, 0xA6}, // Îä - {0xC6E7, 0x6B67}, //{0xE6, 0xAD, 0xA7}, // Æç - {0xCDE1, 0x6B6A}, //{0xE6, 0xAD, 0xAA}, // Íá - {0xB4F5, 0x6B79}, //{0xE6, 0xAD, 0xB9}, // ´õ - {0xCBC0, 0x6B7B}, //{0xE6, 0xAD, 0xBB}, // ËÀ - {0xBCDF, 0x6B7C}, //{0xE6, 0xAD, 0xBC}, // ¼ß - {0xD1EA, 0x6B83}, //{0xE6, 0xAE, 0x83}, // Ñê + {0xD5FD, 0x6B63}, //{0xE6, 0xAD, 0xA3}, // �� + {0xB4CB, 0x6B64}, //{0xE6, 0xAD, 0xA4}, // �� + {0xB2BD, 0x6B65}, //{0xE6, 0xAD, 0xA5}, // �� + {0xCEE4, 0x6B66}, //{0xE6, 0xAD, 0xA6}, // �� + {0xC6E7, 0x6B67}, //{0xE6, 0xAD, 0xA7}, // �� + {0xCDE1, 0x6B6A}, //{0xE6, 0xAD, 0xAA}, // �� + {0xB4F5, 0x6B79}, //{0xE6, 0xAD, 0xB9}, // �� + {0xCBC0, 0x6B7B}, //{0xE6, 0xAD, 0xBB}, // �� + {0xBCDF, 0x6B7C}, //{0xE6, 0xAD, 0xBC}, // �� + {0xD1EA, 0x6B83}, //{0xE6, 0xAE, 0x83}, // �� {0xD1B3, 0x6B89}, //{0xE6, 0xAE, 0x89}, // ѳ - {0xCAE2, 0x6B8A}, //{0xE6, 0xAE, 0x8A}, // Êâ - {0xB2D0, 0x6B8B}, //{0xE6, 0xAE, 0x8B}, // ²Ð + {0xCAE2, 0x6B8A}, //{0xE6, 0xAE, 0x8A}, // �� + {0xB2D0, 0x6B8B}, //{0xE6, 0xAE, 0x8B}, // �� {0xD6B3, 0x6B96}, //{0xE6, 0xAE, 0x96}, // Ö³ {0xC5B9, 0x6BB4}, //{0xE6, 0xAE, 0xB4}, // Ź - {0xB6CE, 0x6BB5}, //{0xE6, 0xAE, 0xB5}, // ¶Î - {0xD2F3, 0x6BB7}, //{0xE6, 0xAE, 0xB7}, // Òó - {0xB5EE, 0x6BBF}, //{0xE6, 0xAE, 0xBF}, // µî - {0xBBD9, 0x6BC1}, //{0xE6, 0xAF, 0x81}, // »Ù - {0xD2E3, 0x6BC5}, //{0xE6, 0xAF, 0x85}, // Òã + {0xB6CE, 0x6BB5}, //{0xE6, 0xAE, 0xB5}, // �� + {0xD2F3, 0x6BB7}, //{0xE6, 0xAE, 0xB7}, // �� + {0xB5EE, 0x6BBF}, //{0xE6, 0xAE, 0xBF}, // �� + {0xBBD9, 0x6BC1}, //{0xE6, 0xAF, 0x81}, // �� + {0xD2E3, 0x6BC5}, //{0xE6, 0xAF, 0x85}, // �� {0xC4B8, 0x6BCD}, //{0xE6, 0xAF, 0x8D}, // ĸ {0xC3BF, 0x6BCF}, //{0xE6, 0xAF, 0x8F}, // ÿ - {0xB6BE, 0x6BD2}, //{0xE6, 0xAF, 0x92}, // ¶¾ - {0xB1C8, 0x6BD4}, //{0xE6, 0xAF, 0x94}, // ±È - {0xB1CF, 0x6BD5}, //{0xE6, 0xAF, 0x95}, // ±Ï - {0xB1D0, 0x6BD9}, //{0xE6, 0xAF, 0x99}, // ±Ð + {0xB6BE, 0x6BD2}, //{0xE6, 0xAF, 0x92}, // �� + {0xB1C8, 0x6BD4}, //{0xE6, 0xAF, 0x94}, // �� + {0xB1CF, 0x6BD5}, //{0xE6, 0xAF, 0x95}, // �� + {0xB1D0, 0x6BD9}, //{0xE6, 0xAF, 0x99}, // �� {0xC3AB, 0x6BDB}, //{0xE6, 0xAF, 0x9B}, // ë {0xD5B1, 0x6BE1}, //{0xE6, 0xAF, 0xA1}, // Õ± - {0xBAC1, 0x6BEB}, //{0xE6, 0xAF, 0xAB}, // ºÁ + {0xBAC1, 0x6BEB}, //{0xE6, 0xAF, 0xAB}, // �� {0xCCBA, 0x6BEF}, //{0xE6, 0xAF, 0xAF}, // ̺ - {0xCACF, 0x6C0F}, //{0xE6, 0xB0, 0x8F}, // ÊÏ - {0xC3F1, 0x6C11}, //{0xE6, 0xB0, 0x91}, // Ãñ + {0xCACF, 0x6C0F}, //{0xE6, 0xB0, 0x8F}, // �� + {0xC3F1, 0x6C11}, //{0xE6, 0xB0, 0x91}, // �� {0xC3A5, 0x6C13}, //{0xE6, 0xB0, 0x93}, // Ã¥ - {0xC6F8, 0x6C14}, //{0xE6, 0xB0, 0x94}, // Æø - {0xB7D5, 0x6C1B}, //{0xE6, 0xB0, 0x9B}, // ·Õ - {0xC7E2, 0x6C22}, //{0xE6, 0xB0, 0xA2}, // Çâ - {0xD1F5, 0x6C27}, //{0xE6, 0xB0, 0xA7}, // Ñõ - {0xB0B1, 0x6C28}, //{0xE6, 0xB0, 0xA8}, // °± - {0xB5AA, 0x6C2E}, //{0xE6, 0xB0, 0xAE}, // µª - {0xC2C8, 0x6C2F}, //{0xE6, 0xB0, 0xAF}, // ÂÈ + {0xC6F8, 0x6C14}, //{0xE6, 0xB0, 0x94}, // �� + {0xB7D5, 0x6C1B}, //{0xE6, 0xB0, 0x9B}, // �� + {0xC7E2, 0x6C22}, //{0xE6, 0xB0, 0xA2}, // �� + {0xD1F5, 0x6C27}, //{0xE6, 0xB0, 0xA7}, // �� + {0xB0B1, 0x6C28}, //{0xE6, 0xB0, 0xA8}, // �� + {0xB5AA, 0x6C2E}, //{0xE6, 0xB0, 0xAE}, // �� + {0xC2C8, 0x6C2F}, //{0xE6, 0xB0, 0xAF}, // �� {0xCBAE, 0x6C34}, //{0xE6, 0xB0, 0xB4}, // Ë® - {0xD3C0, 0x6C38}, //{0xE6, 0xB0, 0xB8}, // ÓÀ + {0xD3C0, 0x6C38}, //{0xE6, 0xB0, 0xB8}, // �� {0xD6AD, 0x6C41}, //{0xE6, 0xB1, 0x81}, // Ö­ - {0xC7F3, 0x6C42}, //{0xE6, 0xB1, 0x82}, // Çó - {0xBBE3, 0x6C47}, //{0xE6, 0xB1, 0x87}, // »ã - {0xBABA, 0x6C49}, //{0xE6, 0xB1, 0x89}, // ºº - {0xBAB9, 0x6C57}, //{0xE6, 0xB1, 0x97}, // º¹ + {0xC7F3, 0x6C42}, //{0xE6, 0xB1, 0x82}, // �� + {0xBBE3, 0x6C47}, //{0xE6, 0xB1, 0x87}, // �� + {0xBABA, 0x6C49}, //{0xE6, 0xB1, 0x89}, // �� + {0xBAB9, 0x6C57}, //{0xE6, 0xB1, 0x97}, // �� {0xD1B4, 0x6C5B}, //{0xE6, 0xB1, 0x9B}, // Ñ´ - {0xB9AF, 0x6C5E}, //{0xE6, 0xB1, 0x9E}, // ¹¯ - {0xBDAD, 0x6C5F}, //{0xE6, 0xB1, 0x9F}, // ½­ - {0xB3D8, 0x6C60}, //{0xE6, 0xB1, 0xA0}, // ³Ø - {0xCEDB, 0x6C61}, //{0xE6, 0xB1, 0xA1}, // ÎÛ - {0xCCC0, 0x6C64}, //{0xE6, 0xB1, 0xA4}, // ÌÀ - {0xCDF4, 0x6C6A}, //{0xE6, 0xB1, 0xAA}, // Íô + {0xB9AF, 0x6C5E}, //{0xE6, 0xB1, 0x9E}, // �� + {0xBDAD, 0x6C5F}, //{0xE6, 0xB1, 0x9F}, // �� + {0xB3D8, 0x6C60}, //{0xE6, 0xB1, 0xA0}, // �� + {0xCEDB, 0x6C61}, //{0xE6, 0xB1, 0xA1}, // �� + {0xCCC0, 0x6C64}, //{0xE6, 0xB1, 0xA4}, // �� + {0xCDF4, 0x6C6A}, //{0xE6, 0xB1, 0xAA}, // �� {0xCCAD, 0x6C70}, //{0xE6, 0xB1, 0xB0}, // Ì­ - {0xD0DA, 0x6C79}, //{0xE6, 0xB1, 0xB9}, // ÐÚ - {0xC6FB, 0x6C7D}, //{0xE6, 0xB1, 0xBD}, // Æû - {0xCED6, 0x6C83}, //{0xE6, 0xB2, 0x83}, // ÎÖ - {0xC9F2, 0x6C88}, //{0xE6, 0xB2, 0x88}, // Éò - {0xB3C1, 0x6C89}, //{0xE6, 0xB2, 0x89}, // ³Á - {0xE3E5, 0x6C90}, //{0xE6, 0xB2, 0x90}, // ãå + {0xD0DA, 0x6C79}, //{0xE6, 0xB1, 0xB9}, // �� + {0xC6FB, 0x6C7D}, //{0xE6, 0xB1, 0xBD}, // �� + {0xCED6, 0x6C83}, //{0xE6, 0xB2, 0x83}, // �� + {0xC9F2, 0x6C88}, //{0xE6, 0xB2, 0x88}, // �� + {0xB3C1, 0x6C89}, //{0xE6, 0xB2, 0x89}, // �� + {0xE3E5, 0x6C90}, //{0xE6, 0xB2, 0x90}, // �� {0xC9B3, 0x6C99}, //{0xE6, 0xB2, 0x99}, // ɳ - {0xC5E6, 0x6C9B}, //{0xE6, 0xB2, 0x9B}, // Åæ - {0xB9B5, 0x6C9F}, //{0xE6, 0xB2, 0x9F}, // ¹µ + {0xC5E6, 0x6C9B}, //{0xE6, 0xB2, 0x9B}, // �� + {0xB9B5, 0x6C9F}, //{0xE6, 0xB2, 0x9F}, // �� {0xC3BB, 0x6CA1}, //{0xE6, 0xB2, 0xA1}, // û - {0xC1A4, 0x6CA5}, //{0xE6, 0xB2, 0xA5}, // Á¤ - {0xC2D9, 0x6CA6}, //{0xE6, 0xB2, 0xA6}, // ÂÙ - {0xB2D7, 0x6CA7}, //{0xE6, 0xB2, 0xA7}, // ²× - {0xBBA6, 0x6CAA}, //{0xE6, 0xB2, 0xAA}, // »¦ + {0xC1A4, 0x6CA5}, //{0xE6, 0xB2, 0xA5}, // d + {0xC2D9, 0x6CA6}, //{0xE6, 0xB2, 0xA6}, // �� + {0xB2D7, 0x6CA7}, //{0xE6, 0xB2, 0xA7}, // �� + {0xBBA6, 0x6CAA}, //{0xE6, 0xB2, 0xAA}, // �� {0xC4AD, 0x6CAB}, //{0xE6, 0xB2, 0xAB}, // Ä­ - {0xBEDA, 0x6CAE}, //{0xE6, 0xB2, 0xAE}, // ¾Ú - {0xBAD3, 0x6CB3}, //{0xE6, 0xB2, 0xB3}, // ºÓ - {0xB7D0, 0x6CB8}, //{0xE6, 0xB2, 0xB8}, // ·Ð - {0xD3CD, 0x6CB9}, //{0xE6, 0xB2, 0xB9}, // ÓÍ - {0xD6CE, 0x6CBB}, //{0xE6, 0xB2, 0xBB}, // ÖÎ - {0xD5D3, 0x6CBC}, //{0xE6, 0xB2, 0xBC}, // ÕÓ - {0xB9C1, 0x6CBD}, //{0xE6, 0xB2, 0xBD}, // ¹Á + {0xBEDA, 0x6CAE}, //{0xE6, 0xB2, 0xAE}, // �� + {0xBAD3, 0x6CB3}, //{0xE6, 0xB2, 0xB3}, // �� + {0xB7D0, 0x6CB8}, //{0xE6, 0xB2, 0xB8}, // �� + {0xD3CD, 0x6CB9}, //{0xE6, 0xB2, 0xB9}, // �� + {0xD6CE, 0x6CBB}, //{0xE6, 0xB2, 0xBB}, // �� + {0xD5D3, 0x6CBC}, //{0xE6, 0xB2, 0xBC}, // �� + {0xB9C1, 0x6CBD}, //{0xE6, 0xB2, 0xBD}, // �� {0xD5B4, 0x6CBE}, //{0xE6, 0xB2, 0xBE}, // Õ´ - {0xD1D8, 0x6CBF}, //{0xE6, 0xB2, 0xBF}, // ÑØ + {0xD1D8, 0x6CBF}, //{0xE6, 0xB2, 0xBF}, // �� {0xD0B9, 0x6CC4}, //{0xE6, 0xB3, 0x84}, // й {0xC8AA, 0x6CC9}, //{0xE6, 0xB3, 0x89}, // Ȫ - {0xB2B4, 0x6CCA}, //{0xE6, 0xB3, 0x8A}, // ²´ - {0xC3DA, 0x6CCC}, //{0xE6, 0xB3, 0x8C}, // ÃÚ - {0xB7A8, 0x6CD5}, //{0xE6, 0xB3, 0x95}, // ·¨ - {0xB7BA, 0x6CDB}, //{0xE6, 0xB3, 0x9B}, // ·º + {0xB2B4, 0x6CCA}, //{0xE6, 0xB3, 0x8A}, // �� + {0xC3DA, 0x6CCC}, //{0xE6, 0xB3, 0x8C}, // �� + {0xB7A8, 0x6CD5}, //{0xE6, 0xB3, 0x95}, // �� + {0xB7BA, 0x6CDB}, //{0xE6, 0xB3, 0x9B}, // �� {0xC5A2, 0x6CDE}, //{0xE6, 0xB3, 0x9E}, // Å¢ - {0xC5DD, 0x6CE1}, //{0xE6, 0xB3, 0xA1}, // ÅÝ - {0xB2A8, 0x6CE2}, //{0xE6, 0xB3, 0xA2}, // ²¨ - {0xC6FC, 0x6CE3}, //{0xE6, 0xB3, 0xA3}, // Æü - {0xC4E0, 0x6CE5}, //{0xE6, 0xB3, 0xA5}, // Äà + {0xC5DD, 0x6CE1}, //{0xE6, 0xB3, 0xA1}, // �� + {0xB2A8, 0x6CE2}, //{0xE6, 0xB3, 0xA2}, // �� + {0xC6FC, 0x6CE3}, //{0xE6, 0xB3, 0xA3}, // �� + {0xC4E0, 0x6CE5}, //{0xE6, 0xB3, 0xA5}, // �� {0xD7A2, 0x6CE8}, //{0xE6, 0xB3, 0xA8}, // ×¢ - {0xC0E1, 0x6CEA}, //{0xE6, 0xB3, 0xAA}, // Àá + {0xC0E1, 0x6CEA}, //{0xE6, 0xB3, 0xAA}, // �� {0xCCA9, 0x6CF0}, //{0xE6, 0xB3, 0xB0}, // Ì© {0xD3BE, 0x6CF3}, //{0xE6, 0xB3, 0xB3}, // Ó¾ - {0xB1C3, 0x6CF5}, //{0xE6, 0xB3, 0xB5}, // ±Ã + {0xB1C3, 0x6CF5}, //{0xE6, 0xB3, 0xB5}, // �� {0xD0BA, 0x6CFB}, //{0xE6, 0xB3, 0xBB}, // к - {0xC6C3, 0x6CFC}, //{0xE6, 0xB3, 0xBC}, // ÆÃ - {0xD4F3, 0x6CFD}, //{0xE6, 0xB3, 0xBD}, // Ôó - {0xBDE0, 0x6D01}, //{0xE6, 0xB4, 0x81}, // ½à - {0xD1F3, 0x6D0B}, //{0xE6, 0xB4, 0x8B}, // Ñó - {0xC8F7, 0x6D12}, //{0xE6, 0xB4, 0x92}, // È÷ + {0xC6C3, 0x6CFC}, //{0xE6, 0xB3, 0xBC}, // �� + {0xD4F3, 0x6CFD}, //{0xE6, 0xB3, 0xBD}, // �� + {0xBDE0, 0x6D01}, //{0xE6, 0xB4, 0x81}, // �� + {0xD1F3, 0x6D0B}, //{0xE6, 0xB4, 0x8B}, // �� + {0xC8F7, 0x6D12}, //{0xE6, 0xB4, 0x92}, // �� {0xCFB4, 0x6D17}, //{0xE6, 0xB4, 0x97}, // Ï´ - {0xC2E5, 0x6D1B}, //{0xE6, 0xB4, 0x9B}, // Âå - {0xB6B4, 0x6D1E}, //{0xE6, 0xB4, 0x9E}, // ¶´ - {0xBDF2, 0x6D25}, //{0xE6, 0xB4, 0xA5}, // ½ò - {0xBAE9, 0x6D2A}, //{0xE6, 0xB4, 0xAA}, // ºé - {0xD6DE, 0x6D32}, //{0xE6, 0xB4, 0xB2}, // ÖÞ - {0xBBEE, 0x6D3B}, //{0xE6, 0xB4, 0xBB}, // »î - {0xCDDD, 0x6D3C}, //{0xE6, 0xB4, 0xBC}, // ÍÝ + {0xC2E5, 0x6D1B}, //{0xE6, 0xB4, 0x9B}, // �� + {0xB6B4, 0x6D1E}, //{0xE6, 0xB4, 0x9E}, // �� + {0xBDF2, 0x6D25}, //{0xE6, 0xB4, 0xA5}, // �� + {0xBAE9, 0x6D2A}, //{0xE6, 0xB4, 0xAA}, // �� + {0xD6DE, 0x6D32}, //{0xE6, 0xB4, 0xB2}, // �� + {0xBBEE, 0x6D3B}, //{0xE6, 0xB4, 0xBB}, // �� + {0xCDDD, 0x6D3C}, //{0xE6, 0xB4, 0xBC}, // �� {0xC7A2, 0x6D3D}, //{0xE6, 0xB4, 0xBD}, // Ç¢ - {0xC5C9, 0x6D3E}, //{0xE6, 0xB4, 0xBE}, // ÅÉ - {0xC1F7, 0x6D41}, //{0xE6, 0xB5, 0x81}, // Á÷ + {0xC5C9, 0x6D3E}, //{0xE6, 0xB4, 0xBE}, // �� + {0xC1F7, 0x6D41}, //{0xE6, 0xB5, 0x81}, // �� {0xC7B3, 0x6D45}, //{0xE6, 0xB5, 0x85}, // dz - {0xBDAC, 0x6D46}, //{0xE6, 0xB5, 0x86}, // ½¬ - {0xBDBD, 0x6D47}, //{0xE6, 0xB5, 0x87}, // ½½ - {0xD7C7, 0x6D4A}, //{0xE6, 0xB5, 0x8A}, // ×Ç - {0xB2E2, 0x6D4B}, //{0xE6, 0xB5, 0x8B}, // ²â - {0xBCC3, 0x6D4E}, //{0xE6, 0xB5, 0x8E}, // ¼Ã - {0xBBEB, 0x6D51}, //{0xE6, 0xB5, 0x91}, // »ë + {0xBDAC, 0x6D46}, //{0xE6, 0xB5, 0x86}, // �� + {0xBDBD, 0x6D47}, //{0xE6, 0xB5, 0x87}, // �� + {0xD7C7, 0x6D4A}, //{0xE6, 0xB5, 0x8A}, // �� + {0xB2E2, 0x6D4B}, //{0xE6, 0xB5, 0x8B}, // �� + {0xBCC3, 0x6D4E}, //{0xE6, 0xB5, 0x8E}, // �� + {0xBBEB, 0x6D51}, //{0xE6, 0xB5, 0x91}, // �� {0xC5A8, 0x6D53}, //{0xE6, 0xB5, 0x93}, // Ũ - {0xD5E3, 0x6D59}, //{0xE6, 0xB5, 0x99}, // Õã - {0xC6D6, 0x6D66}, //{0xE6, 0xB5, 0xA6}, // ÆÖ - {0xBAC6, 0x6D69}, //{0xE6, 0xB5, 0xA9}, // ºÆ - {0xC0CB, 0x6D6A}, //{0xE6, 0xB5, 0xAA}, // ÀË - {0xB8A1, 0x6D6E}, //{0xE6, 0xB5, 0xAE}, // ¸¡ + {0xD5E3, 0x6D59}, //{0xE6, 0xB5, 0x99}, // �� + {0xC6D6, 0x6D66}, //{0xE6, 0xB5, 0xA6}, // �� + {0xBAC6, 0x6D69}, //{0xE6, 0xB5, 0xA9}, // �� + {0xC0CB, 0x6D6A}, //{0xE6, 0xB5, 0xAA}, // �� + {0xB8A1, 0x6D6E}, //{0xE6, 0xB5, 0xAE}, // �� {0xD4A1, 0x6D74}, //{0xE6, 0xB5, 0xB4}, // Ô¡ - {0xBAA3, 0x6D77}, //{0xE6, 0xB5, 0xB7}, // º£ - {0xBDFE, 0x6D78}, //{0xE6, 0xB5, 0xB8}, // ½þ + {0xBAA3, 0x6D77}, //{0xE6, 0xB5, 0xB7}, // �� + {0xBDFE, 0x6D78}, //{0xE6, 0xB5, 0xB8}, // �� {0xCDBF, 0x6D82}, //{0xE6, 0xB6, 0x82}, // Í¿ - {0xCFFB, 0x6D88}, //{0xE6, 0xB6, 0x88}, // Ïû - {0xC9E6, 0x6D89}, //{0xE6, 0xB6, 0x89}, // Éæ + {0xCFFB, 0x6D88}, //{0xE6, 0xB6, 0x88}, // �� + {0xC9E6, 0x6D89}, //{0xE6, 0xB6, 0x89}, // �� {0xD3BF, 0x6D8C}, //{0xE6, 0xB6, 0x8C}, // Ó¿ - {0xCFD1, 0x6D8E}, //{0xE6, 0xB6, 0x8E}, // ÏÑ - {0xCCE9, 0x6D95}, //{0xE6, 0xB6, 0x95}, // Ìé - {0xCCCE, 0x6D9B}, //{0xE6, 0xB6, 0x9B}, // ÌÎ - {0xC0D4, 0x6D9D}, //{0xE6, 0xB6, 0x9D}, // ÀÔ - {0xCED0, 0x6DA1}, //{0xE6, 0xB6, 0xA1}, // ÎÐ - {0xBBC1, 0x6DA3}, //{0xE6, 0xB6, 0xA3}, // »Á - {0xB5D3, 0x6DA4}, //{0xE6, 0xB6, 0xA4}, // µÓ - {0xC8F3, 0x6DA6}, //{0xE6, 0xB6, 0xA6}, // Èó - {0xBDA7, 0x6DA7}, //{0xE6, 0xB6, 0xA7}, // ½§ - {0xD5C7, 0x6DA8}, //{0xE6, 0xB6, 0xA8}, // ÕÇ + {0xCFD1, 0x6D8E}, //{0xE6, 0xB6, 0x8E}, // �� + {0xCCE9, 0x6D95}, //{0xE6, 0xB6, 0x95}, // �� + {0xCCCE, 0x6D9B}, //{0xE6, 0xB6, 0x9B}, // �� + {0xC0D4, 0x6D9D}, //{0xE6, 0xB6, 0x9D}, // �� + {0xCED0, 0x6DA1}, //{0xE6, 0xB6, 0xA1}, // �� + {0xBBC1, 0x6DA3}, //{0xE6, 0xB6, 0xA3}, // �� + {0xB5D3, 0x6DA4}, //{0xE6, 0xB6, 0xA4}, // �� + {0xC8F3, 0x6DA6}, //{0xE6, 0xB6, 0xA6}, // �� + {0xBDA7, 0x6DA7}, //{0xE6, 0xB6, 0xA7}, // �� + {0xD5C7, 0x6DA8}, //{0xE6, 0xB6, 0xA8}, // �� {0xC9AC, 0x6DA9}, //{0xE6, 0xB6, 0xA9}, // ɬ - {0xE4CC, 0x6DAE}, //{0xE6, 0xB6, 0xAE}, // äÌ - {0xD1C4, 0x6DAF}, //{0xE6, 0xB6, 0xAF}, // ÑÄ + {0xE4CC, 0x6DAE}, //{0xE6, 0xB6, 0xAE}, // �� + {0xD1C4, 0x6DAF}, //{0xE6, 0xB6, 0xAF}, // �� {0xD2BA, 0x6DB2}, //{0xE6, 0xB6, 0xB2}, // Òº - {0xBAAD, 0x6DB5}, //{0xE6, 0xB6, 0xB5}, // º­ - {0xB5ED, 0x6DC0}, //{0xE6, 0xB7, 0x80}, // µí - {0xCFFD, 0x6DC6}, //{0xE6, 0xB7, 0x86}, // Ïý - {0xC1DC, 0x6DCB}, //{0xE6, 0xB7, 0x8B}, // ÁÜ - {0xCCCA, 0x6DCC}, //{0xE6, 0xB7, 0x8C}, // ÌÊ - {0xCAE7, 0x6DD1}, //{0xE6, 0xB7, 0x91}, // Êç - {0xCCD4, 0x6DD8}, //{0xE6, 0xB7, 0x98}, // ÌÔ - {0xB5AD, 0x6DE1}, //{0xE6, 0xB7, 0xA1}, // µ­ - {0xD3D9, 0x6DE4}, //{0xE6, 0xB7, 0xA4}, // ÓÙ - {0xD2F9, 0x6DEB}, //{0xE6, 0xB7, 0xAB}, // Òù - {0xBBB4, 0x6DEE}, //{0xE6, 0xB7, 0xAE}, // »´ - {0xC9EE, 0x6DF1}, //{0xE6, 0xB7, 0xB1}, // Éî - {0xB4BE, 0x6DF3}, //{0xE6, 0xB7, 0xB3}, // ´¾ - {0xBBEC, 0x6DF7}, //{0xE6, 0xB7, 0xB7}, // »ì - {0xD1CD, 0x6DF9}, //{0xE6, 0xB7, 0xB9}, // ÑÍ - {0xCCED, 0x6DFB}, //{0xE6, 0xB7, 0xBB}, // Ìí - {0xC7E5, 0x6E05}, //{0xE6, 0xB8, 0x85}, // Çå + {0xBAAD, 0x6DB5}, //{0xE6, 0xB6, 0xB5}, // �� + {0xB5ED, 0x6DC0}, //{0xE6, 0xB7, 0x80}, // �� + {0xCFFD, 0x6DC6}, //{0xE6, 0xB7, 0x86}, // �� + {0xC1DC, 0x6DCB}, //{0xE6, 0xB7, 0x8B}, // �� + {0xCCCA, 0x6DCC}, //{0xE6, 0xB7, 0x8C}, // �� + {0xCAE7, 0x6DD1}, //{0xE6, 0xB7, 0x91}, // �� + {0xCCD4, 0x6DD8}, //{0xE6, 0xB7, 0x98}, // �� + {0xB5AD, 0x6DE1}, //{0xE6, 0xB7, 0xA1}, // �� + {0xD3D9, 0x6DE4}, //{0xE6, 0xB7, 0xA4}, // �� + {0xD2F9, 0x6DEB}, //{0xE6, 0xB7, 0xAB}, // �� + {0xBBB4, 0x6DEE}, //{0xE6, 0xB7, 0xAE}, // �� + {0xC9EE, 0x6DF1}, //{0xE6, 0xB7, 0xB1}, // �� + {0xB4BE, 0x6DF3}, //{0xE6, 0xB7, 0xB3}, // �� + {0xBBEC, 0x6DF7}, //{0xE6, 0xB7, 0xB7}, // �� + {0xD1CD, 0x6DF9}, //{0xE6, 0xB7, 0xB9}, // �� + {0xCCED, 0x6DFB}, //{0xE6, 0xB7, 0xBB}, // �� + {0xC7E5, 0x6E05}, //{0xE6, 0xB8, 0x85}, // �� {0xD4A8, 0x6E0A}, //{0xE6, 0xB8, 0x8A}, // Ô¨ - {0xBDA5, 0x6E10}, //{0xE6, 0xB8, 0x90}, // ½¥ - {0xD3E6, 0x6E14}, //{0xE6, 0xB8, 0x94}, // Óæ - {0xC9F8, 0x6E17}, //{0xE6, 0xB8, 0x97}, // Éø - {0xC7FE, 0x6E20}, //{0xE6, 0xB8, 0xA0}, // Çþ - {0xB6C9, 0x6E21}, //{0xE6, 0xB8, 0xA1}, // ¶É - {0xD4FC, 0x6E23}, //{0xE6, 0xB8, 0xA3}, // Ôü - {0xB2B3, 0x6E24}, //{0xE6, 0xB8, 0xA4}, // ²³ - {0xCEC2, 0x6E29}, //{0xE6, 0xB8, 0xA9}, // Π- {0xB8DB, 0x6E2F}, //{0xE6, 0xB8, 0xAF}, // ¸Û - {0xBFCA, 0x6E34}, //{0xE6, 0xB8, 0xB4}, // ¿Ê - {0xD3CE, 0x6E38}, //{0xE6, 0xB8, 0xB8}, // ÓÎ - {0xC3EC, 0x6E3A}, //{0xE6, 0xB8, 0xBA}, // Ãì - {0xC5C8, 0x6E43}, //{0xE6, 0xB9, 0x83}, // ÅÈ - {0xBAFE, 0x6E56}, //{0xE6, 0xB9, 0x96}, // ºþ - {0xCFE6, 0x6E58}, //{0xE6, 0xB9, 0x98}, // Ïæ - {0xCDE5, 0x6E7E}, //{0xE6, 0xB9, 0xBE}, // Íå + {0xBDA5, 0x6E10}, //{0xE6, 0xB8, 0x90}, // �� + {0xD3E6, 0x6E14}, //{0xE6, 0xB8, 0x94}, // �� + {0xC9F8, 0x6E17}, //{0xE6, 0xB8, 0x97}, // �� + {0xC7FE, 0x6E20}, //{0xE6, 0xB8, 0xA0}, // �� + {0xB6C9, 0x6E21}, //{0xE6, 0xB8, 0xA1}, // �� + {0xD4FC, 0x6E23}, //{0xE6, 0xB8, 0xA3}, // �� + {0xB2B3, 0x6E24}, //{0xE6, 0xB8, 0xA4}, // �� + {0xCEC2, 0x6E29}, //{0xE6, 0xB8, 0xA9}, // �� + {0xB8DB, 0x6E2F}, //{0xE6, 0xB8, 0xAF}, // �� + {0xBFCA, 0x6E34}, //{0xE6, 0xB8, 0xB4}, // �� + {0xD3CE, 0x6E38}, //{0xE6, 0xB8, 0xB8}, // �� + {0xC3EC, 0x6E3A}, //{0xE6, 0xB8, 0xBA}, // �� + {0xC5C8, 0x6E43}, //{0xE6, 0xB9, 0x83}, // �� + {0xBAFE, 0x6E56}, //{0xE6, 0xB9, 0x96}, // �� + {0xCFE6, 0x6E58}, //{0xE6, 0xB9, 0x98}, // �� + {0xCDE5, 0x6E7E}, //{0xE6, 0xB9, 0xBE}, // �� {0xCAAA, 0x6E7F}, //{0xE6, 0xB9, 0xBF}, // ʪ - {0xC0A3, 0x6E83}, //{0xE6, 0xBA, 0x83}, // À£ - {0xBDA6, 0x6E85}, //{0xE6, 0xBA, 0x85}, // ½¦ - {0xB8C8, 0x6E89}, //{0xE6, 0xBA, 0x89}, // ¸È + {0xC0A3, 0x6E83}, //{0xE6, 0xBA, 0x83}, // # + {0xBDA6, 0x6E85}, //{0xE6, 0xBA, 0x85}, // �� + {0xB8C8, 0x6E89}, //{0xE6, 0xBA, 0x89}, // �� {0xD4B4, 0x6E90}, //{0xE6, 0xBA, 0x90}, // Ô´ - {0xC1EF, 0x6E9C}, //{0xE6, 0xBA, 0x9C}, // Áï - {0xD2E7, 0x6EA2}, //{0xE6, 0xBA, 0xA2}, // Òç + {0xC1EF, 0x6E9C}, //{0xE6, 0xBA, 0x9C}, // �� + {0xD2E7, 0x6EA2}, //{0xE6, 0xBA, 0xA2}, // �� {0xCFAA, 0x6EAA}, //{0xE6, 0xBA, 0xAA}, // Ϫ - {0xCBDD, 0x6EAF}, //{0xE6, 0xBA, 0xAF}, // ËÝ - {0xC8DC, 0x6EB6}, //{0xE6, 0xBA, 0xB6}, // ÈÜ - {0xC4E7, 0x6EBA}, //{0xE6, 0xBA, 0xBA}, // Äç - {0xD7CC, 0x6ECB}, //{0xE6, 0xBB, 0x8B}, // ×Ì - {0xBBAC, 0x6ED1}, //{0xE6, 0xBB, 0x91}, // »¬ - {0xD7D2, 0x6ED3}, //{0xE6, 0xBB, 0x93}, // ×Ò - {0xCCCF, 0x6ED4}, //{0xE6, 0xBB, 0x94}, // ÌÏ - {0xB9F6, 0x6EDA}, //{0xE6, 0xBB, 0x9A}, // ¹ö - {0xD6CD, 0x6EDE}, //{0xE6, 0xBB, 0x9E}, // ÖÍ - {0xC2FA, 0x6EE1}, //{0xE6, 0xBB, 0xA1}, // Âú - {0xC2CB, 0x6EE4}, //{0xE6, 0xBB, 0xA4}, // ÂË - {0xC0C4, 0x6EE5}, //{0xE6, 0xBB, 0xA5}, // ÀÄ - {0xB1F5, 0x6EE8}, //{0xE6, 0xBB, 0xA8}, // ±õ + {0xCBDD, 0x6EAF}, //{0xE6, 0xBA, 0xAF}, // �� + {0xC8DC, 0x6EB6}, //{0xE6, 0xBA, 0xB6}, // �� + {0xC4E7, 0x6EBA}, //{0xE6, 0xBA, 0xBA}, // �� + {0xD7CC, 0x6ECB}, //{0xE6, 0xBB, 0x8B}, // �� + {0xBBAC, 0x6ED1}, //{0xE6, 0xBB, 0x91}, // �� + {0xD7D2, 0x6ED3}, //{0xE6, 0xBB, 0x93}, // �� + {0xCCCF, 0x6ED4}, //{0xE6, 0xBB, 0x94}, // �� + {0xB9F6, 0x6EDA}, //{0xE6, 0xBB, 0x9A}, // �� + {0xD6CD, 0x6EDE}, //{0xE6, 0xBB, 0x9E}, // �� + {0xC2FA, 0x6EE1}, //{0xE6, 0xBB, 0xA1}, // �� + {0xC2CB, 0x6EE4}, //{0xE6, 0xBB, 0xA4}, // �� + {0xC0C4, 0x6EE5}, //{0xE6, 0xBB, 0xA5}, // �� + {0xB1F5, 0x6EE8}, //{0xE6, 0xBB, 0xA8}, // �� {0xCCB2, 0x6EE9}, //{0xE6, 0xBB, 0xA9}, // ̲ - {0xB5CE, 0x6EF4}, //{0xE6, 0xBB, 0xB4}, // µÎ + {0xB5CE, 0x6EF4}, //{0xE6, 0xBB, 0xB4}, // �� {0xC6AF, 0x6F02}, //{0xE6, 0xBC, 0x82}, // Ư - {0xC6E1, 0x6F06}, //{0xE6, 0xBC, 0x86}, // Æá + {0xC6E1, 0x6F06}, //{0xE6, 0xBC, 0x86}, // �� {0xC2A9, 0x6F0F}, //{0xE6, 0xBC, 0x8F}, // © - {0xC0EC, 0x6F13}, //{0xE6, 0xBC, 0x93}, // Àì - {0xD1DD, 0x6F14}, //{0xE6, 0xBC, 0x94}, // ÑÝ + {0xC0EC, 0x6F13}, //{0xE6, 0xBC, 0x93}, // �� + {0xD1DD, 0x6F14}, //{0xE6, 0xBC, 0x94}, // �� {0xC4AE, 0x6F20}, //{0xE6, 0xBC, 0xA0}, // Ä® - {0xE4F6, 0x6F29}, //{0xE6, 0xBC, 0xA9}, // äö - {0xC2FE, 0x6F2B}, //{0xE6, 0xBC, 0xAB}, // Âþ - {0xCAFE, 0x6F31}, //{0xE6, 0xBC, 0xB1}, // Êþ - {0xD1FA, 0x6F3E}, //{0xE6, 0xBC, 0xBE}, // Ñú - {0xC5CB, 0x6F58}, //{0xE6, 0xBD, 0x98}, // ÅË + {0xE4F6, 0x6F29}, //{0xE6, 0xBC, 0xA9}, // �� + {0xC2FE, 0x6F2B}, //{0xE6, 0xBC, 0xAB}, // �� + {0xCAFE, 0x6F31}, //{0xE6, 0xBC, 0xB1}, // �� + {0xD1FA, 0x6F3E}, //{0xE6, 0xBC, 0xBE}, // �� + {0xC5CB, 0x6F58}, //{0xE6, 0xBD, 0x98}, // �� {0xC7B1, 0x6F5C}, //{0xE6, 0xBD, 0x9C}, // DZ - {0xC1CA, 0x6F66}, //{0xE6, 0xBD, 0xA6}, // ÁÊ + {0xC1CA, 0x6F66}, //{0xE6, 0xBD, 0xA6}, // �� {0xCCB6, 0x6F6D}, //{0xE6, 0xBD, 0xAD}, // ̶ - {0xB3B1, 0x6F6E}, //{0xE6, 0xBD, 0xAE}, // ³± - {0xB3CE, 0x6F84}, //{0xE6, 0xBE, 0x84}, // ³Î - {0xB3BA, 0x6F88}, //{0xE6, 0xBE, 0x88}, // ³º - {0xC5EC, 0x6F8E}, //{0xE6, 0xBE, 0x8E}, // Åì - {0xC0BD, 0x6F9C}, //{0xE6, 0xBE, 0x9C}, // À½ - {0xD4E8, 0x6FA1}, //{0xE6, 0xBE, 0xA1}, // Ôè - {0xB0C4, 0x6FB3}, //{0xE6, 0xBE, 0xB3}, // °Ä - {0xBCA4, 0x6FC0}, //{0xE6, 0xBF, 0x80}, // ¼¤ - {0xB1F4, 0x6FD2}, //{0xE6, 0xBF, 0x92}, // ±ô - {0xC6D9, 0x7011}, //{0xE7, 0x80, 0x91}, // ÆÙ - {0xB9E0, 0x704C}, //{0xE7, 0x81, 0x8C}, // ¹à - {0xBBF0, 0x706B}, //{0xE7, 0x81, 0xAB}, // »ð - {0xC3F0, 0x706D}, //{0xE7, 0x81, 0xAD}, // Ãð - {0xB5C6, 0x706F}, //{0xE7, 0x81, 0xAF}, // µÆ - {0xBBD2, 0x7070}, //{0xE7, 0x81, 0xB0}, // »Ò - {0xC1E9, 0x7075}, //{0xE7, 0x81, 0xB5}, // Áé - {0xD4EE, 0x7076}, //{0xE7, 0x81, 0xB6}, // Ôî - {0xBEC4, 0x7078}, //{0xE7, 0x81, 0xB8}, // ¾Ä - {0xD7C6, 0x707C}, //{0xE7, 0x81, 0xBC}, // ׯ - {0xD4D6, 0x707E}, //{0xE7, 0x81, 0xBE}, // ÔÖ - {0xB2D3, 0x707F}, //{0xE7, 0x81, 0xBF}, // ²Ó + {0xB3B1, 0x6F6E}, //{0xE6, 0xBD, 0xAE}, // �� + {0xB3CE, 0x6F84}, //{0xE6, 0xBE, 0x84}, // �� + {0xB3BA, 0x6F88}, //{0xE6, 0xBE, 0x88}, // �� + {0xC5EC, 0x6F8E}, //{0xE6, 0xBE, 0x8E}, // �� + {0xC0BD, 0x6F9C}, //{0xE6, 0xBE, 0x9C}, // = + {0xD4E8, 0x6FA1}, //{0xE6, 0xBE, 0xA1}, // �� + {0xB0C4, 0x6FB3}, //{0xE6, 0xBE, 0xB3}, // �� + {0xBCA4, 0x6FC0}, //{0xE6, 0xBF, 0x80}, // �� + {0xB1F4, 0x6FD2}, //{0xE6, 0xBF, 0x92}, // �� + {0xC6D9, 0x7011}, //{0xE7, 0x80, 0x91}, // �� + {0xB9E0, 0x704C}, //{0xE7, 0x81, 0x8C}, // �� + {0xBBF0, 0x706B}, //{0xE7, 0x81, 0xAB}, // �� + {0xC3F0, 0x706D}, //{0xE7, 0x81, 0xAD}, // �� + {0xB5C6, 0x706F}, //{0xE7, 0x81, 0xAF}, // �� + {0xBBD2, 0x7070}, //{0xE7, 0x81, 0xB0}, // �� + {0xC1E9, 0x7075}, //{0xE7, 0x81, 0xB5}, // �� + {0xD4EE, 0x7076}, //{0xE7, 0x81, 0xB6}, // �� + {0xBEC4, 0x7078}, //{0xE7, 0x81, 0xB8}, // �� + {0xD7C6, 0x707C}, //{0xE7, 0x81, 0xBC}, // �� + {0xD4D6, 0x707E}, //{0xE7, 0x81, 0xBE}, // �� + {0xB2D3, 0x707F}, //{0xE7, 0x81, 0xBF}, // �� {0xC2AF, 0x7089}, //{0xE7, 0x82, 0x89}, // ¯ - {0xB4B6, 0x708A}, //{0xE7, 0x82, 0x8A}, // ´¶ - {0xD1D7, 0x708E}, //{0xE7, 0x82, 0x8E}, // Ñ× - {0xB3B4, 0x7092}, //{0xE7, 0x82, 0x92}, // ³´ - {0xBFBB, 0x7095}, //{0xE7, 0x82, 0x95}, // ¿» - {0xECC5, 0x70AB}, //{0xE7, 0x82, 0xAB}, // ìÅ - {0xBEE6, 0x70AC}, //{0xE7, 0x82, 0xAC}, // ¾æ + {0xB4B6, 0x708A}, //{0xE7, 0x82, 0x8A}, // �� + {0xD1D7, 0x708E}, //{0xE7, 0x82, 0x8E}, // �� + {0xB3B4, 0x7092}, //{0xE7, 0x82, 0x92}, // �� + {0xBFBB, 0x7095}, //{0xE7, 0x82, 0x95}, // �� + {0xECC5, 0x70AB}, //{0xE7, 0x82, 0xAB}, // �� + {0xBEE6, 0x70AC}, //{0xE7, 0x82, 0xAC}, // �� {0xCCBF, 0x70AD}, //{0xE7, 0x82, 0xAD}, // Ì¿ - {0xC5DA, 0x70AE}, //{0xE7, 0x82, 0xAE}, // ÅÚ + {0xC5DA, 0x70AE}, //{0xE7, 0x82, 0xAE}, // �� {0xD5A8, 0x70B8}, //{0xE7, 0x82, 0xB8}, // Õ¨ - {0xB5E3, 0x70B9}, //{0xE7, 0x82, 0xB9}, // µã - {0xC1B6, 0x70BC}, //{0xE7, 0x82, 0xBC}, // Á¶ + {0xB5E3, 0x70B9}, //{0xE7, 0x82, 0xB9}, // �� + {0xC1B6, 0x70BC}, //{0xE7, 0x82, 0xBC}, // �� {0xCBB8, 0x70C1}, //{0xE7, 0x83, 0x81}, // ˸ - {0xC0C3, 0x70C2}, //{0xE7, 0x83, 0x82}, // Àà - {0xC1D2, 0x70C8}, //{0xE7, 0x83, 0x88}, // ÁÒ - {0xBAE6, 0x70D8}, //{0xE7, 0x83, 0x98}, // ºæ - {0xC0D3, 0x70D9}, //{0xE7, 0x83, 0x99}, // ÀÓ - {0xD6F2, 0x70DB}, //{0xE7, 0x83, 0x9B}, // Öò - {0xD1CC, 0x70DF}, //{0xE7, 0x83, 0x9F}, // ÑÌ - {0xBFBE, 0x70E4}, //{0xE7, 0x83, 0xA4}, // ¿¾ - {0xB7B3, 0x70E6}, //{0xE7, 0x83, 0xA6}, // ·³ - {0xC9D5, 0x70E7}, //{0xE7, 0x83, 0xA7}, // ÉÕ - {0xCCCC, 0x70EB}, //{0xE7, 0x83, 0xAB}, // ÌÌ - {0xC8C8, 0x70ED}, //{0xE7, 0x83, 0xAD}, // ÈÈ - {0xC5EB, 0x70F9}, //{0xE7, 0x83, 0xB9}, // Åë - {0xBAB8, 0x710A}, //{0xE7, 0x84, 0x8A}, // º¸ - {0xBBC0, 0x7115}, //{0xE7, 0x84, 0x95}, // »À - {0xB1BA, 0x7119}, //{0xE7, 0x84, 0x99}, // ±º - {0xB7D9, 0x711A}, //{0xE7, 0x84, 0x9A}, // ·Ù - {0xBDB9, 0x7126}, //{0xE7, 0x84, 0xA6}, // ½¹ - {0xD1E6, 0x7130}, //{0xE7, 0x84, 0xB0}, // Ñæ + {0xC0C3, 0x70C2}, //{0xE7, 0x83, 0x82}, // �� + {0xC1D2, 0x70C8}, //{0xE7, 0x83, 0x88}, // �� + {0xBAE6, 0x70D8}, //{0xE7, 0x83, 0x98}, // �� + {0xC0D3, 0x70D9}, //{0xE7, 0x83, 0x99}, // �� + {0xD6F2, 0x70DB}, //{0xE7, 0x83, 0x9B}, // �� + {0xD1CC, 0x70DF}, //{0xE7, 0x83, 0x9F}, // �� + {0xBFBE, 0x70E4}, //{0xE7, 0x83, 0xA4}, // �� + {0xB7B3, 0x70E6}, //{0xE7, 0x83, 0xA6}, // �� + {0xC9D5, 0x70E7}, //{0xE7, 0x83, 0xA7}, // �� + {0xCCCC, 0x70EB}, //{0xE7, 0x83, 0xAB}, // �� + {0xC8C8, 0x70ED}, //{0xE7, 0x83, 0xAD}, // �� + {0xC5EB, 0x70F9}, //{0xE7, 0x83, 0xB9}, // �� + {0xBAB8, 0x710A}, //{0xE7, 0x84, 0x8A}, // �� + {0xBBC0, 0x7115}, //{0xE7, 0x84, 0x95}, // �� + {0xB1BA, 0x7119}, //{0xE7, 0x84, 0x99}, // �� + {0xB7D9, 0x711A}, //{0xE7, 0x84, 0x9A}, // �� + {0xBDB9, 0x7126}, //{0xE7, 0x84, 0xA6}, // �� + {0xD1E6, 0x7130}, //{0xE7, 0x84, 0xB0}, // �� {0xC8BB, 0x7136}, //{0xE7, 0x84, 0xB6}, // È» - {0xBBCD, 0x714C}, //{0xE7, 0x85, 0x8C}, // »Í - {0xBCE5, 0x714E}, //{0xE7, 0x85, 0x8E}, // ¼å + {0xBBCD, 0x714C}, //{0xE7, 0x85, 0x8C}, // �� + {0xBCE5, 0x714E}, //{0xE7, 0x85, 0x8E}, // �� {0xC9B7, 0x715E}, //{0xE7, 0x85, 0x9E}, // É· {0xC3BA, 0x7164}, //{0xE7, 0x85, 0xA4}, // ú - {0xD5D5, 0x7167}, //{0xE7, 0x85, 0xA7}, // ÕÕ - {0xD6F3, 0x716E}, //{0xE7, 0x85, 0xAE}, // Öó + {0xD5D5, 0x7167}, //{0xE7, 0x85, 0xA7}, // �� + {0xD6F3, 0x716E}, //{0xE7, 0x85, 0xAE}, // �� {0xCFA8, 0x7184}, //{0xE7, 0x86, 0x84}, // Ϩ - {0xD0DC, 0x718A}, //{0xE7, 0x86, 0x8A}, // ÐÜ + {0xD0DC, 0x718A}, //{0xE7, 0x86, 0x8A}, // �� {0xD1AC, 0x718F}, //{0xE7, 0x86, 0x8F}, // Ѭ - {0xC8DB, 0x7194}, //{0xE7, 0x86, 0x94}, // ÈÛ - {0xCEF5, 0x7199}, //{0xE7, 0x86, 0x99}, // Îõ - {0xCAEC, 0x719F}, //{0xE7, 0x86, 0x9F}, // Êì - {0xB0BE, 0x71AC}, //{0xE7, 0x86, 0xAC}, // °¾ + {0xC8DB, 0x7194}, //{0xE7, 0x86, 0x94}, // �� + {0xCEF5, 0x7199}, //{0xE7, 0x86, 0x99}, // �� + {0xCAEC, 0x719F}, //{0xE7, 0x86, 0x9F}, // �� + {0xB0BE, 0x71AC}, //{0xE7, 0x86, 0xAC}, // �� {0xC8BC, 0x71C3}, //{0xE7, 0x87, 0x83}, // ȼ - {0xC1C7, 0x71CE}, //{0xE7, 0x87, 0x8E}, // ÁÇ - {0xD1E0, 0x71D5}, //{0xE7, 0x87, 0x95}, // Ñà - {0xD4EF, 0x71E5}, //{0xE7, 0x87, 0xA5}, // Ôï - {0xB1AC, 0x7206}, //{0xE7, 0x88, 0x86}, // ±¬ + {0xC1C7, 0x71CE}, //{0xE7, 0x87, 0x8E}, // �� + {0xD1E0, 0x71D5}, //{0xE7, 0x87, 0x95}, // �� + {0xD4EF, 0x71E5}, //{0xE7, 0x87, 0xA5}, // �� + {0xB1AC, 0x7206}, //{0xE7, 0x88, 0x86}, // �� {0xD7A6, 0x722A}, //{0xE7, 0x88, 0xAA}, // צ - {0xC5C0, 0x722C}, //{0xE7, 0x88, 0xAC}, // ÅÀ - {0xB0AE, 0x7231}, //{0xE7, 0x88, 0xB1}, // °® - {0xBEF4, 0x7235}, //{0xE7, 0x88, 0xB5}, // ¾ô - {0xB8B8, 0x7236}, //{0xE7, 0x88, 0xB6}, // ¸¸ + {0xC5C0, 0x722C}, //{0xE7, 0x88, 0xAC}, // �� + {0xB0AE, 0x7231}, //{0xE7, 0x88, 0xB1}, // �� + {0xBEF4, 0x7235}, //{0xE7, 0x88, 0xB5}, // �� + {0xB8B8, 0x7236}, //{0xE7, 0x88, 0xB6}, // �� {0xD2AF, 0x7237}, //{0xE7, 0x88, 0xB7}, // Ò¯ - {0xB0D6, 0x7238}, //{0xE7, 0x88, 0xB8}, // °Ö - {0xB5F9, 0x7239}, //{0xE7, 0x88, 0xB9}, // µù + {0xB0D6, 0x7238}, //{0xE7, 0x88, 0xB8}, // �� + {0xB5F9, 0x7239}, //{0xE7, 0x88, 0xB9}, // �� {0xCBAC, 0x723D}, //{0xE7, 0x88, 0xBD}, // ˬ {0xC6AC, 0x7247}, //{0xE7, 0x89, 0x87}, // Ƭ - {0xB0E6, 0x7248}, //{0xE7, 0x89, 0x88}, // °æ - {0xC5C6, 0x724C}, //{0xE7, 0x89, 0x8C}, // ÅÆ - {0xEBB9, 0x724D}, //{0xE7, 0x89, 0x8D}, // ë¹ - {0xD1C0, 0x7259}, //{0xE7, 0x89, 0x99}, // ÑÀ + {0xB0E6, 0x7248}, //{0xE7, 0x89, 0x88}, // �� + {0xC5C6, 0x724C}, //{0xE7, 0x89, 0x8C}, // �� + {0xEBB9, 0x724D}, //{0xE7, 0x89, 0x8D}, // � + {0xD1C0, 0x7259}, //{0xE7, 0x89, 0x99}, // �� {0xC5A3, 0x725B}, //{0xE7, 0x89, 0x9B}, // Å£ {0xC4B5, 0x7261}, //{0xE7, 0x89, 0xA1}, // ĵ - {0xC0CE, 0x7262}, //{0xE7, 0x89, 0xA2}, // ÀÎ - {0xC4C1, 0x7267}, //{0xE7, 0x89, 0xA7}, // ÄÁ - {0xCEEF, 0x7269}, //{0xE7, 0x89, 0xA9}, // Îï - {0xC9FC, 0x7272}, //{0xE7, 0x89, 0xB2}, // Éü + {0xC0CE, 0x7262}, //{0xE7, 0x89, 0xA2}, // �� + {0xC4C1, 0x7267}, //{0xE7, 0x89, 0xA7}, // �� + {0xCEEF, 0x7269}, //{0xE7, 0x89, 0xA9}, // �� + {0xC9FC, 0x7272}, //{0xE7, 0x89, 0xB2}, // �� {0xC7A3, 0x7275}, //{0xE7, 0x89, 0xB5}, // Ç£ - {0xCCD8, 0x7279}, //{0xE7, 0x89, 0xB9}, // ÌØ - {0xCEFE, 0x727A}, //{0xE7, 0x89, 0xBA}, // Îþ + {0xCCD8, 0x7279}, //{0xE7, 0x89, 0xB9}, // �� + {0xCEFE, 0x727A}, //{0xE7, 0x89, 0xBA}, // �� {0xCFAC, 0x7280}, //{0xE7, 0x8A, 0x80}, // Ϭ - {0xC0E7, 0x7281}, //{0xE7, 0x8A, 0x81}, // Àç + {0xC0E7, 0x7281}, //{0xE7, 0x8A, 0x81}, // �� {0xC8AE, 0x72AC}, //{0xE7, 0x8A, 0xAC}, // È® - {0xB7B8, 0x72AF}, //{0xE7, 0x8A, 0xAF}, // ·¸ + {0xB7B8, 0x72AF}, //{0xE7, 0x8A, 0xAF}, // �� {0xD7B4, 0x72B6}, //{0xE7, 0x8A, 0xB6}, // ×´ - {0xD3CC, 0x72B9}, //{0xE7, 0x8A, 0xB9}, // ÓÌ - {0xBFF1, 0x72C2}, //{0xE7, 0x8B, 0x82}, // ¿ñ - {0xB1B7, 0x72C8}, //{0xE7, 0x8B, 0x88}, // ±· - {0xBAFC, 0x72D0}, //{0xE7, 0x8B, 0x90}, // ºü - {0xB9B7, 0x72D7}, //{0xE7, 0x8B, 0x97}, // ¹· - {0xC4FC, 0x72DE}, //{0xE7, 0x8B, 0x9E}, // Äü - {0xBADD, 0x72E0}, //{0xE7, 0x8B, 0xA0}, // ºÝ - {0xBDC6, 0x72E1}, //{0xE7, 0x8B, 0xA1}, // ½Æ - {0xB6C0, 0x72EC}, //{0xE7, 0x8B, 0xAC}, // ¶À - {0xCFC1, 0x72ED}, //{0xE7, 0x8B, 0xAD}, // ÏÁ + {0xD3CC, 0x72B9}, //{0xE7, 0x8A, 0xB9}, // �� + {0xBFF1, 0x72C2}, //{0xE7, 0x8B, 0x82}, // �� + {0xB1B7, 0x72C8}, //{0xE7, 0x8B, 0x88}, // �� + {0xBAFC, 0x72D0}, //{0xE7, 0x8B, 0x90}, // �� + {0xB9B7, 0x72D7}, //{0xE7, 0x8B, 0x97}, // �� + {0xC4FC, 0x72DE}, //{0xE7, 0x8B, 0x9E}, // �� + {0xBADD, 0x72E0}, //{0xE7, 0x8B, 0xA0}, // �� + {0xBDC6, 0x72E1}, //{0xE7, 0x8B, 0xA1}, // �� + {0xB6C0, 0x72EC}, //{0xE7, 0x8B, 0xAC}, // �� + {0xCFC1, 0x72ED}, //{0xE7, 0x8B, 0xAD}, // �� {0xCAA8, 0x72EE}, //{0xE7, 0x8B, 0xAE}, // ʨ - {0xD5F8, 0x72F0}, //{0xE7, 0x8B, 0xB0}, // Õø - {0xD3FC, 0x72F1}, //{0xE7, 0x8B, 0xB1}, // Óü - {0xC0EA, 0x72F8}, //{0xE7, 0x8B, 0xB8}, // Àê - {0xC0C7, 0x72FC}, //{0xE7, 0x8B, 0xBC}, // ÀÇ - {0xC1D4, 0x730E}, //{0xE7, 0x8C, 0x8E}, // ÁÔ - {0xB2FE, 0x7316}, //{0xE7, 0x8C, 0x96}, // ²þ - {0xC3CD, 0x731B}, //{0xE7, 0x8C, 0x9B}, // ÃÍ - {0xB2C2, 0x731C}, //{0xE7, 0x8C, 0x9C}, // ²Â - {0xD0C9, 0x7329}, //{0xE7, 0x8C, 0xA9}, // ÐÉ - {0xD6ED, 0x732A}, //{0xE7, 0x8C, 0xAA}, // Öí + {0xD5F8, 0x72F0}, //{0xE7, 0x8B, 0xB0}, // �� + {0xD3FC, 0x72F1}, //{0xE7, 0x8B, 0xB1}, // �� + {0xC0EA, 0x72F8}, //{0xE7, 0x8B, 0xB8}, // �� + {0xC0C7, 0x72FC}, //{0xE7, 0x8B, 0xBC}, // �� + {0xC1D4, 0x730E}, //{0xE7, 0x8C, 0x8E}, // �� + {0xB2FE, 0x7316}, //{0xE7, 0x8C, 0x96}, // �� + {0xC3CD, 0x731B}, //{0xE7, 0x8C, 0x9B}, // �� + {0xB2C2, 0x731C}, //{0xE7, 0x8C, 0x9C}, // �� + {0xD0C9, 0x7329}, //{0xE7, 0x8C, 0xA9}, // �� + {0xD6ED, 0x732A}, //{0xE7, 0x8C, 0xAA}, // �� {0xC3A8, 0x732B}, //{0xE7, 0x8C, 0xAB}, // è - {0xE2AC, 0x732C}, //{0xE7, 0x8C, 0xAC}, // ⬠- {0xCFD7, 0x732E}, //{0xE7, 0x8C, 0xAE}, // Ï× - {0xBAEF, 0x7334}, //{0xE7, 0x8C, 0xB4}, // ºï - {0xBBAB, 0x733E}, //{0xE7, 0x8C, 0xBE}, // »« + {0xE2AC, 0x732C}, //{0xE7, 0x8C, 0xAC}, // � + {0xCFD7, 0x732E}, //{0xE7, 0x8C, 0xAE}, // �� + {0xBAEF, 0x7334}, //{0xE7, 0x8C, 0xB4}, // �� + {0xBBAB, 0x733E}, //{0xE7, 0x8C, 0xBE}, // �� {0xD4B3, 0x733F}, //{0xE7, 0x8C, 0xBF}, // Ô³ - {0xD0FE, 0x7384}, //{0xE7, 0x8E, 0x84}, // Ðþ - {0xC2CA, 0x7387}, //{0xE7, 0x8E, 0x87}, // ÂÊ - {0xD3F1, 0x7389}, //{0xE7, 0x8E, 0x89}, // Óñ - {0xCDF5, 0x738B}, //{0xE7, 0x8E, 0x8B}, // Íõ - {0xBEC1, 0x7396}, //{0xE7, 0x8E, 0x96}, // ¾Á - {0xC2EA, 0x739B}, //{0xE7, 0x8E, 0x9B}, // Âê - {0xCDE6, 0x73A9}, //{0xE7, 0x8E, 0xA9}, // Íæ + {0xD0FE, 0x7384}, //{0xE7, 0x8E, 0x84}, // �� + {0xC2CA, 0x7387}, //{0xE7, 0x8E, 0x87}, // �� + {0xD3F1, 0x7389}, //{0xE7, 0x8E, 0x89}, // �� + {0xCDF5, 0x738B}, //{0xE7, 0x8E, 0x8B}, // �� + {0xBEC1, 0x7396}, //{0xE7, 0x8E, 0x96}, // �� + {0xC2EA, 0x739B}, //{0xE7, 0x8E, 0x9B}, // �� + {0xCDE6, 0x73A9}, //{0xE7, 0x8E, 0xA9}, // �� {0xC3B5, 0x73AB}, //{0xE7, 0x8E, 0xAB}, // õ - {0xBBB7, 0x73AF}, //{0xE7, 0x8E, 0xAF}, // »· - {0xCFD6, 0x73B0}, //{0xE7, 0x8E, 0xB0}, // ÏÖ - {0xC1E1, 0x73B2}, //{0xE7, 0x8E, 0xB2}, // Áá - {0xE7E8, 0x73B7}, //{0xE7, 0x8E, 0xB7}, // çè - {0xB2A3, 0x73BB}, //{0xE7, 0x8E, 0xBB}, // ²£ + {0xBBB7, 0x73AF}, //{0xE7, 0x8E, 0xAF}, // �� + {0xCFD6, 0x73B0}, //{0xE7, 0x8E, 0xB0}, // �� + {0xC1E1, 0x73B2}, //{0xE7, 0x8E, 0xB2}, // �� + {0xE7E8, 0x73B7}, //{0xE7, 0x8E, 0xB7}, // �� + {0xB2A3, 0x73BB}, //{0xE7, 0x8E, 0xBB}, // �� {0xC9BA, 0x73CA}, //{0xE7, 0x8F, 0x8A}, // ɺ - {0xD5E4, 0x73CD}, //{0xE7, 0x8F, 0x8D}, // Õä - {0xD6E9, 0x73E0}, //{0xE7, 0x8F, 0xA0}, // Öé - {0xB0E0, 0x73ED}, //{0xE7, 0x8F, 0xAD}, // °à - {0xC7F2, 0x7403}, //{0xE7, 0x90, 0x83}, // Çò - {0xC0C5, 0x7405}, //{0xE7, 0x90, 0x85}, // ÀÅ - {0xC0ED, 0x7406}, //{0xE7, 0x90, 0x86}, // Àí - {0xC1F0, 0x7409}, //{0xE7, 0x90, 0x89}, // Áð - {0xCBF6, 0x7410}, //{0xE7, 0x90, 0x90}, // Ëö - {0xD7C1, 0x7422}, //{0xE7, 0x90, 0xA2}, // ×Á - {0xC1D5, 0x7433}, //{0xE7, 0x90, 0xB3}, // ÁÕ - {0xC7D9, 0x7434}, //{0xE7, 0x90, 0xB4}, // ÇÙ - {0xC7ED, 0x743C}, //{0xE7, 0x90, 0xBC}, // Çí - {0xC8F0, 0x745E}, //{0xE7, 0x91, 0x9E}, // Èð + {0xD5E4, 0x73CD}, //{0xE7, 0x8F, 0x8D}, // �� + {0xD6E9, 0x73E0}, //{0xE7, 0x8F, 0xA0}, // �� + {0xB0E0, 0x73ED}, //{0xE7, 0x8F, 0xAD}, // �� + {0xC7F2, 0x7403}, //{0xE7, 0x90, 0x83}, // �� + {0xC0C5, 0x7405}, //{0xE7, 0x90, 0x85}, // �� + {0xC0ED, 0x7406}, //{0xE7, 0x90, 0x86}, // �� + {0xC1F0, 0x7409}, //{0xE7, 0x90, 0x89}, // �� + {0xCBF6, 0x7410}, //{0xE7, 0x90, 0x90}, // �� + {0xD7C1, 0x7422}, //{0xE7, 0x90, 0xA2}, // �� + {0xC1D5, 0x7433}, //{0xE7, 0x90, 0xB3}, // �� + {0xC7D9, 0x7434}, //{0xE7, 0x90, 0xB4}, // �� + {0xC7ED, 0x743C}, //{0xE7, 0x90, 0xBC}, // �� + {0xC8F0, 0x745E}, //{0xE7, 0x91, 0x9E}, // �� {0xC9AA, 0x745F}, //{0xE7, 0x91, 0x9F}, // ɪ - {0xB9E5, 0x7470}, //{0xE7, 0x91, 0xB0}, // ¹å - {0xC1A7, 0x7483}, //{0xE7, 0x92, 0x83}, // Á§ - {0xE8B5, 0x74A7}, //{0xE7, 0x92, 0xA7}, // èµ - {0xB9CF, 0x74DC}, //{0xE7, 0x93, 0x9C}, // ¹Ï + {0xB9E5, 0x7470}, //{0xE7, 0x91, 0xB0}, // �� + {0xC1A7, 0x7483}, //{0xE7, 0x92, 0x83}, // �� + {0xE8B5, 0x74A7}, //{0xE7, 0x92, 0xA7}, // � + {0xB9CF, 0x74DC}, //{0xE7, 0x93, 0x9C}, // �� {0xC6B0, 0x74E2}, //{0xE7, 0x93, 0xA2}, // ư - {0xB0EA, 0x74E3}, //{0xE7, 0x93, 0xA3}, // °ê + {0xB0EA, 0x74E3}, //{0xE7, 0x93, 0xA3}, // �� {0xC8BF, 0x74E4}, //{0xE7, 0x93, 0xA4}, // È¿ - {0xCDDF, 0x74E6}, //{0xE7, 0x93, 0xA6}, // Íß - {0xCECD, 0x74EE}, //{0xE7, 0x93, 0xAE}, // ÎÍ + {0xCDDF, 0x74E6}, //{0xE7, 0x93, 0xA6}, // �� + {0xCECD, 0x74EE}, //{0xE7, 0x93, 0xAE}, // �� {0xC6BF, 0x74F6}, //{0xE7, 0x93, 0xB6}, // Æ¿ - {0xB4C9, 0x74F7}, //{0xE7, 0x93, 0xB7}, // ´É - {0xB8CA, 0x7518}, //{0xE7, 0x94, 0x98}, // ¸Ê - {0xC9F5, 0x751A}, //{0xE7, 0x94, 0x9A}, // Éõ - {0xCCF0, 0x751C}, //{0xE7, 0x94, 0x9C}, // Ìð - {0xC9FA, 0x751F}, //{0xE7, 0x94, 0x9F}, // Éú - {0xC9FB, 0x7525}, //{0xE7, 0x94, 0xA5}, // Éû - {0xD3C3, 0x7528}, //{0xE7, 0x94, 0xA8}, // Óà + {0xB4C9, 0x74F7}, //{0xE7, 0x93, 0xB7}, // �� + {0xB8CA, 0x7518}, //{0xE7, 0x94, 0x98}, // �� + {0xC9F5, 0x751A}, //{0xE7, 0x94, 0x9A}, // �� + {0xCCF0, 0x751C}, //{0xE7, 0x94, 0x9C}, // �� + {0xC9FA, 0x751F}, //{0xE7, 0x94, 0x9F}, // �� + {0xC9FB, 0x7525}, //{0xE7, 0x94, 0xA5}, // �� + {0xD3C3, 0x7528}, //{0xE7, 0x94, 0xA8}, // �� {0xCBA6, 0x7529}, //{0xE7, 0x94, 0xA9}, // ˦ - {0xB8A6, 0x752B}, //{0xE7, 0x94, 0xAB}, // ¸¦ - {0xCCEF, 0x7530}, //{0xE7, 0x94, 0xB0}, // Ìï - {0xD3C9, 0x7531}, //{0xE7, 0x94, 0xB1}, // ÓÉ - {0xBCD7, 0x7532}, //{0xE7, 0x94, 0xB2}, // ¼× - {0xC9EA, 0x7533}, //{0xE7, 0x94, 0xB3}, // Éê - {0xB5E7, 0x7535}, //{0xE7, 0x94, 0xB5}, // µç - {0xC4D0, 0x7537}, //{0xE7, 0x94, 0xB7}, // ÄÐ - {0xB5E9, 0x7538}, //{0xE7, 0x94, 0xB8}, // µé - {0xBBAD, 0x753B}, //{0xE7, 0x94, 0xBB}, // »­ - {0xB3A9, 0x7545}, //{0xE7, 0x95, 0x85}, // ³© - {0xBDE7, 0x754C}, //{0xE7, 0x95, 0x8C}, // ½ç + {0xB8A6, 0x752B}, //{0xE7, 0x94, 0xAB}, // �� + {0xCCEF, 0x7530}, //{0xE7, 0x94, 0xB0}, // �� + {0xD3C9, 0x7531}, //{0xE7, 0x94, 0xB1}, // �� + {0xBCD7, 0x7532}, //{0xE7, 0x94, 0xB2}, // �� + {0xC9EA, 0x7533}, //{0xE7, 0x94, 0xB3}, // �� + {0xB5E7, 0x7535}, //{0xE7, 0x94, 0xB5}, // �� + {0xC4D0, 0x7537}, //{0xE7, 0x94, 0xB7}, // �� + {0xB5E9, 0x7538}, //{0xE7, 0x94, 0xB8}, // �� + {0xBBAD, 0x753B}, //{0xE7, 0x94, 0xBB}, // �� + {0xB3A9, 0x7545}, //{0xE7, 0x95, 0x85}, // �� + {0xBDE7, 0x754C}, //{0xE7, 0x95, 0x8C}, // �� {0xCEB7, 0x754F}, //{0xE7, 0x95, 0x8F}, // η - {0xC5CF, 0x7554}, //{0xE7, 0x95, 0x94}, // ÅÏ - {0xC1F4, 0x7559}, //{0xE7, 0x95, 0x99}, // Áô - {0xD0F3, 0x755C}, //{0xE7, 0x95, 0x9C}, // Ðó - {0xC2D4, 0x7565}, //{0xE7, 0x95, 0xA5}, // ÂÔ - {0xC6E8, 0x7566}, //{0xE7, 0x95, 0xA6}, // Æè - {0xB7AC, 0x756A}, //{0xE7, 0x95, 0xAA}, // ·¬ - {0xB3EB, 0x7574}, //{0xE7, 0x95, 0xB4}, // ³ë - {0xBBFB, 0x7578}, //{0xE7, 0x95, 0xB8}, // »û - {0xBDAE, 0x7586}, //{0xE7, 0x96, 0x86}, // ½® - {0xCAE8, 0x758F}, //{0xE7, 0x96, 0x8F}, // Êè - {0xD2C9, 0x7591}, //{0xE7, 0x96, 0x91}, // ÒÉ - {0xC1C6, 0x7597}, //{0xE7, 0x96, 0x97}, // ÁÆ - {0xB8ED, 0x7599}, //{0xE7, 0x96, 0x99}, // ¸í - {0xBECE, 0x759A}, //{0xE7, 0x96, 0x9A}, // ¾Î + {0xC5CF, 0x7554}, //{0xE7, 0x95, 0x94}, // �� + {0xC1F4, 0x7559}, //{0xE7, 0x95, 0x99}, // �� + {0xD0F3, 0x755C}, //{0xE7, 0x95, 0x9C}, // �� + {0xC2D4, 0x7565}, //{0xE7, 0x95, 0xA5}, // �� + {0xC6E8, 0x7566}, //{0xE7, 0x95, 0xA6}, // �� + {0xB7AC, 0x756A}, //{0xE7, 0x95, 0xAA}, // �� + {0xB3EB, 0x7574}, //{0xE7, 0x95, 0xB4}, // �� + {0xBBFB, 0x7578}, //{0xE7, 0x95, 0xB8}, // �� + {0xBDAE, 0x7586}, //{0xE7, 0x96, 0x86}, // �� + {0xCAE8, 0x758F}, //{0xE7, 0x96, 0x8F}, // �� + {0xD2C9, 0x7591}, //{0xE7, 0x96, 0x91}, // �� + {0xC1C6, 0x7597}, //{0xE7, 0x96, 0x97}, // �� + {0xB8ED, 0x7599}, //{0xE7, 0x96, 0x99}, // �� + {0xBECE, 0x759A}, //{0xE7, 0x96, 0x9A}, // �� {0xC5B1, 0x759F}, //{0xE7, 0x96, 0x9F}, // ű - {0xB0CC, 0x75A4}, //{0xE7, 0x96, 0xA4}, // °Ì - {0xD2DF, 0x75AB}, //{0xE7, 0x96, 0xAB}, // Òß - {0xB4AF, 0x75AE}, //{0xE7, 0x96, 0xAE}, // ´¯ - {0xB7E8, 0x75AF}, //{0xE7, 0x96, 0xAF}, // ·è + {0xB0CC, 0x75A4}, //{0xE7, 0x96, 0xA4}, // �� + {0xD2DF, 0x75AB}, //{0xE7, 0x96, 0xAB}, // �� + {0xB4AF, 0x75AE}, //{0xE7, 0x96, 0xAE}, // �� + {0xB7E8, 0x75AF}, //{0xE7, 0x96, 0xAF}, // �� {0xC6A3, 0x75B2}, //{0xE7, 0x96, 0xB2}, // Æ£ - {0xD5EE, 0x75B9}, //{0xE7, 0x96, 0xB9}, // Õî - {0xCCDB, 0x75BC}, //{0xE7, 0x96, 0xBC}, // ÌÛ - {0xBCB2, 0x75BE}, //{0xE7, 0x96, 0xBE}, // ¼² - {0xB2A1, 0x75C5}, //{0xE7, 0x97, 0x85}, // ²¡ + {0xD5EE, 0x75B9}, //{0xE7, 0x96, 0xB9}, // �� + {0xCCDB, 0x75BC}, //{0xE7, 0x96, 0xBC}, // �� + {0xBCB2, 0x75BE}, //{0xE7, 0x96, 0xBE}, // �� + {0xB2A1, 0x75C5}, //{0xE7, 0x97, 0x85}, // �� {0xD6A2, 0x75C7}, //{0xE7, 0x97, 0x87}, // Ö¢ {0xC8AC, 0x75CA}, //{0xE7, 0x97, 0x8A}, // Ȭ - {0xD1F7, 0x75D2}, //{0xE7, 0x97, 0x92}, // Ñ÷ - {0xBADB, 0x75D5}, //{0xE7, 0x97, 0x95}, // ºÛ - {0xB6BB, 0x75D8}, //{0xE7, 0x97, 0x98}, // ¶» + {0xD1F7, 0x75D2}, //{0xE7, 0x97, 0x92}, // �� + {0xBADB, 0x75D5}, //{0xE7, 0x97, 0x95}, // �� + {0xB6BB, 0x75D8}, //{0xE7, 0x97, 0x98}, // �� {0xCDB4, 0x75DB}, //{0xE7, 0x97, 0x9B}, // Í´ - {0xC1A1, 0x75E2}, //{0xE7, 0x97, 0xA2}, // Á¡ - {0xBBBE, 0x75EA}, //{0xE7, 0x97, 0xAA}, // »¾ + {0xC1A1, 0x75E2}, //{0xE7, 0x97, 0xA2}, // a + {0xBBBE, 0x75EA}, //{0xE7, 0x97, 0xAA}, // �� {0xCCB5, 0x75F0}, //{0xE7, 0x97, 0xB0}, // ̵ - {0xB3D5, 0x75F4}, //{0xE7, 0x97, 0xB4}, // ³Õ - {0xB1D4, 0x75F9}, //{0xE7, 0x97, 0xB9}, // ±Ô - {0xCEC1, 0x761F}, //{0xE7, 0x98, 0x9F}, // ÎÁ - {0xC1F6, 0x7624}, //{0xE7, 0x98, 0xA4}, // Áö - {0xCADD, 0x7626}, //{0xE7, 0x98, 0xA6}, // ÊÝ - {0xB4F1, 0x7629}, //{0xE7, 0x98, 0xA9}, // ´ñ - {0xB1F1, 0x762A}, //{0xE7, 0x98, 0xAA}, // ±ñ + {0xB3D5, 0x75F4}, //{0xE7, 0x97, 0xB4}, // �� + {0xB1D4, 0x75F9}, //{0xE7, 0x97, 0xB9}, // �� + {0xCEC1, 0x761F}, //{0xE7, 0x98, 0x9F}, // �� + {0xC1F6, 0x7624}, //{0xE7, 0x98, 0xA4}, // �� + {0xCADD, 0x7626}, //{0xE7, 0x98, 0xA6}, // �� + {0xB4F1, 0x7629}, //{0xE7, 0x98, 0xA9}, // �� + {0xB1F1, 0x762A}, //{0xE7, 0x98, 0xAA}, // �� {0xCCB1, 0x762B}, //{0xE7, 0x98, 0xAB}, // ̱ {0xC8B3, 0x7638}, //{0xE7, 0x98, 0xB8}, // ȳ - {0xF1AB, 0x763E}, //{0xE7, 0x98, 0xBE}, // ñ« - {0xB0A9, 0x764C}, //{0xE7, 0x99, 0x8C}, // °© - {0xF1AE, 0x765E}, //{0xE7, 0x99, 0x9E}, // ñ® + {0xF1AB, 0x763E}, //{0xE7, 0x98, 0xBE}, // � + {0xB0A9, 0x764C}, //{0xE7, 0x99, 0x8C}, // �� + {0xF1AE, 0x765E}, //{0xE7, 0x99, 0x9E}, // � {0xD1A2, 0x7663}, //{0xE7, 0x99, 0xA3}, // Ñ¢ - {0xB5C7, 0x767B}, //{0xE7, 0x99, 0xBB}, // µÇ - {0xB0D7, 0x767D}, //{0xE7, 0x99, 0xBD}, // °× - {0xB0D9, 0x767E}, //{0xE7, 0x99, 0xBE}, // °Ù - {0xD4ED, 0x7682}, //{0xE7, 0x9A, 0x82}, // Ôí - {0xB5C4, 0x7684}, //{0xE7, 0x9A, 0x84}, // µÄ - {0xBDD4, 0x7686}, //{0xE7, 0x9A, 0x86}, // ½Ô - {0xBBCA, 0x7687}, //{0xE7, 0x9A, 0x87}, // »Ê + {0xB5C7, 0x767B}, //{0xE7, 0x99, 0xBB}, // �� + {0xB0D7, 0x767D}, //{0xE7, 0x99, 0xBD}, // �� + {0xB0D9, 0x767E}, //{0xE7, 0x99, 0xBE}, // �� + {0xD4ED, 0x7682}, //{0xE7, 0x9A, 0x82}, // �� + {0xB5C4, 0x7684}, //{0xE7, 0x9A, 0x84}, // �� + {0xBDD4, 0x7686}, //{0xE7, 0x9A, 0x86}, // �� + {0xBBCA, 0x7687}, //{0xE7, 0x9A, 0x87}, // �� {0xC6A4, 0x76AE}, //{0xE7, 0x9A, 0xAE}, // Ƥ - {0xD6E5, 0x76B1}, //{0xE7, 0x9A, 0xB1}, // Öå - {0xC3F3, 0x76BF}, //{0xE7, 0x9A, 0xBF}, // Ãó - {0xD6D1, 0x76C5}, //{0xE7, 0x9B, 0x85}, // ÖÑ - {0xC5E8, 0x76C6}, //{0xE7, 0x9B, 0x86}, // Åè + {0xD6E5, 0x76B1}, //{0xE7, 0x9A, 0xB1}, // �� + {0xC3F3, 0x76BF}, //{0xE7, 0x9A, 0xBF}, // �� + {0xD6D1, 0x76C5}, //{0xE7, 0x9B, 0x85}, // �� + {0xC5E8, 0x76C6}, //{0xE7, 0x9B, 0x86}, // �� {0xD3AF, 0x76C8}, //{0xE7, 0x9B, 0x88}, // Ó¯ - {0xD2E6, 0x76CA}, //{0xE7, 0x9B, 0x8A}, // Òæ + {0xD2E6, 0x76CA}, //{0xE7, 0x9B, 0x8A}, // �� {0xD5B5, 0x76CF}, //{0xE7, 0x9B, 0x8F}, // Õµ - {0xD1CE, 0x76D0}, //{0xE7, 0x9B, 0x90}, // ÑÎ - {0xBCE0, 0x76D1}, //{0xE7, 0x9B, 0x91}, // ¼à - {0xBAD0, 0x76D2}, //{0xE7, 0x9B, 0x92}, // ºÐ - {0xBFF8, 0x76D4}, //{0xE7, 0x9B, 0x94}, // ¿ø - {0xB8C7, 0x76D6}, //{0xE7, 0x9B, 0x96}, // ¸Ç - {0xB5C1, 0x76D7}, //{0xE7, 0x9B, 0x97}, // µÁ - {0xC5CC, 0x76D8}, //{0xE7, 0x9B, 0x98}, // ÅÌ + {0xD1CE, 0x76D0}, //{0xE7, 0x9B, 0x90}, // �� + {0xBCE0, 0x76D1}, //{0xE7, 0x9B, 0x91}, // �� + {0xBAD0, 0x76D2}, //{0xE7, 0x9B, 0x92}, // �� + {0xBFF8, 0x76D4}, //{0xE7, 0x9B, 0x94}, // �� + {0xB8C7, 0x76D6}, //{0xE7, 0x9B, 0x96}, // �� + {0xB5C1, 0x76D7}, //{0xE7, 0x9B, 0x97}, // �� + {0xC5CC, 0x76D8}, //{0xE7, 0x9B, 0x98}, // �� {0xCAA2, 0x76DB}, //{0xE7, 0x9B, 0x9B}, // Ê¢ - {0xC3CB, 0x76DF}, //{0xE7, 0x9B, 0x9F}, // ÃË + {0xC3CB, 0x76DF}, //{0xE7, 0x9B, 0x9F}, // �� {0xC4BF, 0x76EE}, //{0xE7, 0x9B, 0xAE}, // Ä¿ - {0xB6A2, 0x76EF}, //{0xE7, 0x9B, 0xAF}, // ¶¢ + {0xB6A2, 0x76EF}, //{0xE7, 0x9B, 0xAF}, // �� {0xC3A4, 0x76F2}, //{0xE7, 0x9B, 0xB2}, // ä {0xD6B1, 0x76F4}, //{0xE7, 0x9B, 0xB4}, // Ö± - {0xCFE0, 0x76F8}, //{0xE7, 0x9B, 0xB8}, // Ïà - {0xEDEF, 0x76F9}, //{0xE7, 0x9B, 0xB9}, // íï - {0xC5CE, 0x76FC}, //{0xE7, 0x9B, 0xBC}, // ÅÎ - {0xB6DC, 0x76FE}, //{0xE7, 0x9B, 0xBE}, // ¶Ü + {0xCFE0, 0x76F8}, //{0xE7, 0x9B, 0xB8}, // �� + {0xEDEF, 0x76F9}, //{0xE7, 0x9B, 0xB9}, // �� + {0xC5CE, 0x76FC}, //{0xE7, 0x9B, 0xBC}, // �� + {0xB6DC, 0x76FE}, //{0xE7, 0x9B, 0xBE}, // �� {0xCAA1, 0x7701}, //{0xE7, 0x9C, 0x81}, // Ê¡ {0xC3BC, 0x7709}, //{0xE7, 0x9C, 0x89}, // ü - {0xBFB4, 0x770B}, //{0xE7, 0x9C, 0x8B}, // ¿´ - {0xD5E6, 0x771F}, //{0xE7, 0x9C, 0x9F}, // Õæ - {0xC3DF, 0x7720}, //{0xE7, 0x9C, 0xA0}, // Ãß + {0xBFB4, 0x770B}, //{0xE7, 0x9C, 0x8B}, // �� + {0xD5E6, 0x771F}, //{0xE7, 0x9C, 0x9F}, // �� + {0xC3DF, 0x7720}, //{0xE7, 0x9C, 0xA0}, // �� {0xD5A3, 0x7728}, //{0xE7, 0x9C, 0xA8}, // Õ£ - {0xC3D0, 0x772F}, //{0xE7, 0x9C, 0xAF}, // ÃÐ - {0xBFF4, 0x7736}, //{0xE7, 0x9C, 0xB6}, // ¿ô - {0xBEEC, 0x7737}, //{0xE7, 0x9C, 0xB7}, // ¾ì - {0xD1DB, 0x773C}, //{0xE7, 0x9C, 0xBC}, // ÑÛ - {0xD7C5, 0x7740}, //{0xE7, 0x9D, 0x80}, // ×Å - {0xD5F6, 0x7741}, //{0xE7, 0x9D, 0x81}, // Õö - {0xBEA6, 0x775B}, //{0xE7, 0x9D, 0x9B}, // ¾¦ + {0xC3D0, 0x772F}, //{0xE7, 0x9C, 0xAF}, // �� + {0xBFF4, 0x7736}, //{0xE7, 0x9C, 0xB6}, // �� + {0xBEEC, 0x7737}, //{0xE7, 0x9C, 0xB7}, // �� + {0xD1DB, 0x773C}, //{0xE7, 0x9C, 0xBC}, // �� + {0xD7C5, 0x7740}, //{0xE7, 0x9D, 0x80}, // �� + {0xD5F6, 0x7741}, //{0xE7, 0x9D, 0x81}, // �� + {0xBEA6, 0x775B}, //{0xE7, 0x9D, 0x9B}, // �� {0xCBAF, 0x7761}, //{0xE7, 0x9D, 0xA1}, // ˯ - {0xB6BD, 0x7763}, //{0xE7, 0x9D, 0xA3}, // ¶½ - {0xC4C0, 0x7766}, //{0xE7, 0x9D, 0xA6}, // ÄÀ - {0xB2C7, 0x776C}, //{0xE7, 0x9D, 0xAC}, // ²Ç - {0xB6C3, 0x7779}, //{0xE7, 0x9D, 0xB9}, // ¶Ã - {0xC3E9, 0x7784}, //{0xE7, 0x9E, 0x84}, // Ãé + {0xB6BD, 0x7763}, //{0xE7, 0x9D, 0xA3}, // �� + {0xC4C0, 0x7766}, //{0xE7, 0x9D, 0xA6}, // �� + {0xB2C7, 0x776C}, //{0xE7, 0x9D, 0xAC}, // �� + {0xB6C3, 0x7779}, //{0xE7, 0x9D, 0xB9}, // �� + {0xC3E9, 0x7784}, //{0xE7, 0x9E, 0x84}, // �� {0xCFB9, 0x778E}, //{0xE7, 0x9E, 0x8E}, // Ϲ - {0xC2F7, 0x7792}, //{0xE7, 0x9E, 0x92}, // Â÷ - {0xC7C6, 0x77A7}, //{0xE7, 0x9E, 0xA7}, // ÇÆ - {0xB5C9, 0x77AA}, //{0xE7, 0x9E, 0xAA}, // µÉ + {0xC2F7, 0x7792}, //{0xE7, 0x9E, 0x92}, // �� + {0xC7C6, 0x77A7}, //{0xE7, 0x9E, 0xA7}, // �� + {0xB5C9, 0x77AA}, //{0xE7, 0x9E, 0xAA}, // �� {0xCBB2, 0x77AC}, //{0xE7, 0x9E, 0xAC}, // ˲ {0xCDAB, 0x77B3}, //{0xE7, 0x9E, 0xB3}, // Í« {0xD5B0, 0x77BB}, //{0xE7, 0x9E, 0xBB}, // Õ° - {0xB4A3, 0x77D7}, //{0xE7, 0x9F, 0x97}, // ´£ + {0xB4A3, 0x77D7}, //{0xE7, 0x9F, 0x97}, // �� {0xC3AC, 0x77DB}, //{0xE7, 0x9F, 0x9B}, // ì {0xCAB8, 0x77E2}, //{0xE7, 0x9F, 0xA2}, // ʸ {0xD6AA, 0x77E5}, //{0xE7, 0x9F, 0xA5}, // Öª - {0xBED8, 0x77E9}, //{0xE7, 0x9F, 0xA9}, // ¾Ø - {0xBDC3, 0x77EB}, //{0xE7, 0x9F, 0xAB}, // ½Ã - {0xB6CC, 0x77ED}, //{0xE7, 0x9F, 0xAD}, // ¶Ì - {0xB0AB, 0x77EE}, //{0xE7, 0x9F, 0xAE}, // °« + {0xBED8, 0x77E9}, //{0xE7, 0x9F, 0xA9}, // �� + {0xBDC3, 0x77EB}, //{0xE7, 0x9F, 0xAB}, // �� + {0xB6CC, 0x77ED}, //{0xE7, 0x9F, 0xAD}, // �� + {0xB0AB, 0x77EE}, //{0xE7, 0x9F, 0xAE}, // �� {0xCAAF, 0x77F3}, //{0xE7, 0x9F, 0xB3}, // ʯ - {0xB7AF, 0x77FE}, //{0xE7, 0x9F, 0xBE}, // ·¯ - {0xBFF3, 0x77FF}, //{0xE7, 0x9F, 0xBF}, // ¿ó - {0xC2EB, 0x7801}, //{0xE7, 0xA0, 0x81}, // Âë + {0xB7AF, 0x77FE}, //{0xE7, 0x9F, 0xBE}, // �� + {0xBFF3, 0x77FF}, //{0xE7, 0x9F, 0xBF}, // �� + {0xC2EB, 0x7801}, //{0xE7, 0xA0, 0x81}, // �� {0xC9B0, 0x7802}, //{0xE7, 0xA0, 0x82}, // ɰ - {0xC6F6, 0x780C}, //{0xE7, 0xA0, 0x8C}, // Æö - {0xBFB3, 0x780D}, //{0xE7, 0xA0, 0x8D}, // ¿³ - {0xD1D0, 0x7814}, //{0xE7, 0xA0, 0x94}, // ÑÐ + {0xC6F6, 0x780C}, //{0xE7, 0xA0, 0x8C}, // �� + {0xBFB3, 0x780D}, //{0xE7, 0xA0, 0x8D}, // �� + {0xD1D0, 0x7814}, //{0xE7, 0xA0, 0x94}, // �� {0xD7A9, 0x7816}, //{0xE7, 0xA0, 0x96}, // ש - {0xD1E2, 0x781A}, //{0xE7, 0xA0, 0x9A}, // Ñâ - {0xC5E9, 0x7830}, //{0xE7, 0xA0, 0xB0}, // Åé - {0xC6C6, 0x7834}, //{0xE7, 0xA0, 0xB4}, // ÆÆ - {0xD4D2, 0x7838}, //{0xE7, 0xA0, 0xB8}, // ÔÒ - {0xC0F9, 0x783E}, //{0xE7, 0xA0, 0xBE}, // Àù - {0xB4A1, 0x7840}, //{0xE7, 0xA1, 0x80}, // ´¡ - {0xB9E8, 0x7845}, //{0xE7, 0xA1, 0x85}, // ¹è + {0xD1E2, 0x781A}, //{0xE7, 0xA0, 0x9A}, // �� + {0xC5E9, 0x7830}, //{0xE7, 0xA0, 0xB0}, // �� + {0xC6C6, 0x7834}, //{0xE7, 0xA0, 0xB4}, // �� + {0xD4D2, 0x7838}, //{0xE7, 0xA0, 0xB8}, // �� + {0xC0F9, 0x783E}, //{0xE7, 0xA0, 0xBE}, // �� + {0xB4A1, 0x7840}, //{0xE7, 0xA1, 0x80}, // �� + {0xB9E8, 0x7845}, //{0xE7, 0xA1, 0x85}, // �� {0xCBB6, 0x7855}, //{0xE7, 0xA1, 0x95}, // ˶ - {0xCFF5, 0x785D}, //{0xE7, 0xA1, 0x9D}, // Ïõ - {0xC1F2, 0x786B}, //{0xE7, 0xA1, 0xAB}, // Áò + {0xCFF5, 0x785D}, //{0xE7, 0xA1, 0x9D}, // �� + {0xC1F2, 0x786B}, //{0xE7, 0xA1, 0xAB}, // �� {0xD3B2, 0x786C}, //{0xE7, 0xA1, 0xAC}, // Ó² {0xC8B7, 0x786E}, //{0xE7, 0xA1, 0xAE}, // È· - {0xC5F0, 0x787C}, //{0xE7, 0xA1, 0xBC}, // Åð - {0xB5EF, 0x7889}, //{0xE7, 0xA2, 0x89}, // µï + {0xC5F0, 0x787C}, //{0xE7, 0xA1, 0xBC}, // �� + {0xB5EF, 0x7889}, //{0xE7, 0xA2, 0x89}, // �� {0xC2B5, 0x788C}, //{0xE7, 0xA2, 0x8C}, // µ - {0xB0AD, 0x788D}, //{0xE7, 0xA2, 0x8D}, // °­ - {0xCBE9, 0x788E}, //{0xE7, 0xA2, 0x8E}, // Ëé - {0xB1AE, 0x7891}, //{0xE7, 0xA2, 0x91}, // ±® - {0xCDEB, 0x7897}, //{0xE7, 0xA2, 0x97}, // Íë - {0xB5E2, 0x7898}, //{0xE7, 0xA2, 0x98}, // µâ - {0xB5FA, 0x789F}, //{0xE7, 0xA2, 0x9F}, // µú - {0xB1CC, 0x78A7}, //{0xE7, 0xA2, 0xA7}, // ±Ì - {0xC5F6, 0x78B0}, //{0xE7, 0xA2, 0xB0}, // Åö - {0xBCEE, 0x78B1}, //{0xE7, 0xA2, 0xB1}, // ¼î + {0xB0AD, 0x788D}, //{0xE7, 0xA2, 0x8D}, // �� + {0xCBE9, 0x788E}, //{0xE7, 0xA2, 0x8E}, // �� + {0xB1AE, 0x7891}, //{0xE7, 0xA2, 0x91}, // �� + {0xCDEB, 0x7897}, //{0xE7, 0xA2, 0x97}, // �� + {0xB5E2, 0x7898}, //{0xE7, 0xA2, 0x98}, // �� + {0xB5FA, 0x789F}, //{0xE7, 0xA2, 0x9F}, // �� + {0xB1CC, 0x78A7}, //{0xE7, 0xA2, 0xA7}, // �� + {0xC5F6, 0x78B0}, //{0xE7, 0xA2, 0xB0}, // �� + {0xBCEE, 0x78B1}, //{0xE7, 0xA2, 0xB1}, // �� {0xCCBC, 0x78B3}, //{0xE7, 0xA2, 0xB3}, // ̼ - {0xB2EA, 0x78B4}, //{0xE7, 0xA2, 0xB4}, // ²ê - {0xC4EB, 0x78BE}, //{0xE7, 0xA2, 0xBE}, // Äë - {0xB4C5, 0x78C1}, //{0xE7, 0xA3, 0x81}, // ´Å - {0xB0F5, 0x78C5}, //{0xE7, 0xA3, 0x85}, // °õ - {0xBFC4, 0x78D5}, //{0xE7, 0xA3, 0x95}, // ¿Ä + {0xB2EA, 0x78B4}, //{0xE7, 0xA2, 0xB4}, // �� + {0xC4EB, 0x78BE}, //{0xE7, 0xA2, 0xBE}, // �� + {0xB4C5, 0x78C1}, //{0xE7, 0xA3, 0x81}, // �� + {0xB0F5, 0x78C5}, //{0xE7, 0xA3, 0x85}, // �� + {0xBFC4, 0x78D5}, //{0xE7, 0xA3, 0x95}, // �� {0xC4A5, 0x78E8}, //{0xE7, 0xA3, 0xA8}, // Ä¥ - {0xC1D7, 0x78F7}, //{0xE7, 0xA3, 0xB7}, // Á× - {0xBBC7, 0x78FA}, //{0xE7, 0xA3, 0xBA}, // »Ç - {0xBDB8, 0x7901}, //{0xE7, 0xA4, 0x81}, // ½¸ + {0xC1D7, 0x78F7}, //{0xE7, 0xA3, 0xB7}, // �� + {0xBBC7, 0x78FA}, //{0xE7, 0xA3, 0xBA}, // �� + {0xBDB8, 0x7901}, //{0xE7, 0xA4, 0x81}, // �� {0xCABE, 0x793A}, //{0xE7, 0xA4, 0xBA}, // ʾ - {0xC0F1, 0x793C}, //{0xE7, 0xA4, 0xBC}, // Àñ - {0xC9E7, 0x793E}, //{0xE7, 0xA4, 0xBE}, // Éç - {0xC6ED, 0x7948}, //{0xE7, 0xA5, 0x88}, // Æí - {0xD7E6, 0x7956}, //{0xE7, 0xA5, 0x96}, // ׿ + {0xC0F1, 0x793C}, //{0xE7, 0xA4, 0xBC}, // �� + {0xC9E7, 0x793E}, //{0xE7, 0xA4, 0xBE}, // �� + {0xC6ED, 0x7948}, //{0xE7, 0xA5, 0x88}, // �� + {0xD7E6, 0x7956}, //{0xE7, 0xA5, 0x96}, // �� {0xD7A3, 0x795D}, //{0xE7, 0xA5, 0x9D}, // ×£ - {0xC9F1, 0x795E}, //{0xE7, 0xA5, 0x9E}, // Éñ - {0xCBEE, 0x795F}, //{0xE7, 0xA5, 0x9F}, // Ëî - {0xECF4, 0x7960}, //{0xE7, 0xA5, 0xA0}, // ìô - {0xCFE9, 0x7965}, //{0xE7, 0xA5, 0xA5}, // Ïé + {0xC9F1, 0x795E}, //{0xE7, 0xA5, 0x9E}, // �� + {0xCBEE, 0x795F}, //{0xE7, 0xA5, 0x9F}, // �� + {0xECF4, 0x7960}, //{0xE7, 0xA5, 0xA0}, // �� + {0xCFE9, 0x7965}, //{0xE7, 0xA5, 0xA5}, // �� {0xC6B1, 0x7968}, //{0xE7, 0xA5, 0xA8}, // Ʊ - {0xBCC0, 0x796D}, //{0xE7, 0xA5, 0xAD}, // ¼À - {0xB5BB, 0x7977}, //{0xE7, 0xA5, 0xB7}, // µ» - {0xBBF6, 0x7978}, //{0xE7, 0xA5, 0xB8}, // »ö - {0xD9F7, 0x7980}, //{0xE7, 0xA6, 0x80}, // Ù÷ - {0xBDFB, 0x7981}, //{0xE7, 0xA6, 0x81}, // ½û - {0xB8A3, 0x798F}, //{0xE7, 0xA6, 0x8F}, // ¸£ - {0xC0EB, 0x79BB}, //{0xE7, 0xA6, 0xBB}, // Àë - {0xC7DD, 0x79BD}, //{0xE7, 0xA6, 0xBD}, // ÇÝ - {0xBACC, 0x79BE}, //{0xE7, 0xA6, 0xBE}, // ºÌ - {0xD0E3, 0x79C0}, //{0xE7, 0xA7, 0x80}, // Ðã + {0xBCC0, 0x796D}, //{0xE7, 0xA5, 0xAD}, // �� + {0xB5BB, 0x7977}, //{0xE7, 0xA5, 0xB7}, // �� + {0xBBF6, 0x7978}, //{0xE7, 0xA5, 0xB8}, // �� + {0xD9F7, 0x7980}, //{0xE7, 0xA6, 0x80}, // �� + {0xBDFB, 0x7981}, //{0xE7, 0xA6, 0x81}, // �� + {0xB8A3, 0x798F}, //{0xE7, 0xA6, 0x8F}, // �� + {0xC0EB, 0x79BB}, //{0xE7, 0xA6, 0xBB}, // �� + {0xC7DD, 0x79BD}, //{0xE7, 0xA6, 0xBD}, // �� + {0xBACC, 0x79BE}, //{0xE7, 0xA6, 0xBE}, // �� + {0xD0E3, 0x79C0}, //{0xE7, 0xA7, 0x80}, // �� {0xCBBD, 0x79C1}, //{0xE7, 0xA7, 0x81}, // ˽ {0xCDBA, 0x79C3}, //{0xE7, 0xA7, 0x83}, // ͺ - {0xB8D1, 0x79C6}, //{0xE7, 0xA7, 0x86}, // ¸Ñ - {0xB1FC, 0x79C9}, //{0xE7, 0xA7, 0x89}, // ±ü - {0xC7EF, 0x79CB}, //{0xE7, 0xA7, 0x8B}, // Çï - {0xD6D6, 0x79CD}, //{0xE7, 0xA7, 0x8D}, // ÖÖ - {0xBFC6, 0x79D1}, //{0xE7, 0xA7, 0x91}, // ¿Æ - {0xC3EB, 0x79D2}, //{0xE7, 0xA7, 0x92}, // Ãë - {0xEFF5, 0x79D5}, //{0xE7, 0xA7, 0x95}, // ïõ - {0xC3D8, 0x79D8}, //{0xE7, 0xA7, 0x98}, // ÃØ - {0xD7E2, 0x79DF}, //{0xE7, 0xA7, 0x9F}, // ×â - {0xB3D3, 0x79E4}, //{0xE7, 0xA7, 0xA4}, // ³Ó - {0xC7D8, 0x79E6}, //{0xE7, 0xA7, 0xA6}, // ÇØ - {0xD1ED, 0x79E7}, //{0xE7, 0xA7, 0xA7}, // Ñí - {0xD6C8, 0x79E9}, //{0xE7, 0xA7, 0xA9}, // ÖÈ - {0xEFF8, 0x79EB}, //{0xE7, 0xA7, 0xAB}, // ïø - {0xBBFD, 0x79EF}, //{0xE7, 0xA7, 0xAF}, // »ý - {0xB3C6, 0x79F0}, //{0xE7, 0xA7, 0xB0}, // ³Æ - {0xBDD5, 0x79F8}, //{0xE7, 0xA7, 0xB8}, // ½Õ - {0xD2C6, 0x79FB}, //{0xE7, 0xA7, 0xBB}, // ÒÆ - {0xBBE0, 0x79FD}, //{0xE7, 0xA7, 0xBD}, // »à + {0xB8D1, 0x79C6}, //{0xE7, 0xA7, 0x86}, // �� + {0xB1FC, 0x79C9}, //{0xE7, 0xA7, 0x89}, // �� + {0xC7EF, 0x79CB}, //{0xE7, 0xA7, 0x8B}, // �� + {0xD6D6, 0x79CD}, //{0xE7, 0xA7, 0x8D}, // �� + {0xBFC6, 0x79D1}, //{0xE7, 0xA7, 0x91}, // �� + {0xC3EB, 0x79D2}, //{0xE7, 0xA7, 0x92}, // �� + {0xEFF5, 0x79D5}, //{0xE7, 0xA7, 0x95}, // �� + {0xC3D8, 0x79D8}, //{0xE7, 0xA7, 0x98}, // �� + {0xD7E2, 0x79DF}, //{0xE7, 0xA7, 0x9F}, // �� + {0xB3D3, 0x79E4}, //{0xE7, 0xA7, 0xA4}, // �� + {0xC7D8, 0x79E6}, //{0xE7, 0xA7, 0xA6}, // �� + {0xD1ED, 0x79E7}, //{0xE7, 0xA7, 0xA7}, // �� + {0xD6C8, 0x79E9}, //{0xE7, 0xA7, 0xA9}, // �� + {0xEFF8, 0x79EB}, //{0xE7, 0xA7, 0xAB}, // �� + {0xBBFD, 0x79EF}, //{0xE7, 0xA7, 0xAF}, // �� + {0xB3C6, 0x79F0}, //{0xE7, 0xA7, 0xB0}, // �� + {0xBDD5, 0x79F8}, //{0xE7, 0xA7, 0xB8}, // �� + {0xD2C6, 0x79FB}, //{0xE7, 0xA7, 0xBB}, // �� + {0xBBE0, 0x79FD}, //{0xE7, 0xA7, 0xBD}, // �� {0xCFA1, 0x7A00}, //{0xE7, 0xA8, 0x80}, // Ï¡ - {0xB3CC, 0x7A0B}, //{0xE7, 0xA8, 0x8B}, // ³Ì - {0xC9D4, 0x7A0D}, //{0xE7, 0xA8, 0x8D}, // ÉÔ + {0xB3CC, 0x7A0B}, //{0xE7, 0xA8, 0x8B}, // �� + {0xC9D4, 0x7A0D}, //{0xE7, 0xA8, 0x8D}, // �� {0xCBB0, 0x7A0E}, //{0xE7, 0xA8, 0x8E}, // ˰ - {0xD6C9, 0x7A1A}, //{0xE7, 0xA8, 0x9A}, // ÖÉ - {0xB3ED, 0x7A20}, //{0xE7, 0xA8, 0xA0}, // ³í - {0xCEC8, 0x7A33}, //{0xE7, 0xA8, 0xB3}, // ÎÈ - {0xB5BE, 0x7A3B}, //{0xE7, 0xA8, 0xBB}, // µ¾ - {0xBCDA, 0x7A3C}, //{0xE7, 0xA8, 0xBC}, // ¼Ú - {0xBBFC, 0x7A3D}, //{0xE7, 0xA8, 0xBD}, // »ü - {0xB8E5, 0x7A3F}, //{0xE7, 0xA8, 0xBF}, // ¸å - {0xC4C2, 0x7A46}, //{0xE7, 0xA9, 0x86}, // Ä - {0xCBEB, 0x7A57}, //{0xE7, 0xA9, 0x97}, // Ëë + {0xD6C9, 0x7A1A}, //{0xE7, 0xA8, 0x9A}, // �� + {0xB3ED, 0x7A20}, //{0xE7, 0xA8, 0xA0}, // �� + {0xCEC8, 0x7A33}, //{0xE7, 0xA8, 0xB3}, // �� + {0xB5BE, 0x7A3B}, //{0xE7, 0xA8, 0xBB}, // �� + {0xBCDA, 0x7A3C}, //{0xE7, 0xA8, 0xBC}, // �� + {0xBBFC, 0x7A3D}, //{0xE7, 0xA8, 0xBD}, // �� + {0xB8E5, 0x7A3F}, //{0xE7, 0xA8, 0xBF}, // �� + {0xC4C2, 0x7A46}, //{0xE7, 0xA9, 0x86}, // �� + {0xCBEB, 0x7A57}, //{0xE7, 0xA9, 0x97}, // �� {0xD1A8, 0x7A74}, //{0xE7, 0xA9, 0xB4}, // Ѩ - {0xBEBF, 0x7A76}, //{0xE7, 0xA9, 0xB6}, // ¾¿ - {0xC7EE, 0x7A77}, //{0xE7, 0xA9, 0xB7}, // Çî - {0xBFD5, 0x7A7A}, //{0xE7, 0xA9, 0xBA}, // ¿Õ - {0xB4A9, 0x7A7F}, //{0xE7, 0xA9, 0xBF}, // ´© + {0xBEBF, 0x7A76}, //{0xE7, 0xA9, 0xB6}, // �� + {0xC7EE, 0x7A77}, //{0xE7, 0xA9, 0xB7}, // �� + {0xBFD5, 0x7A7A}, //{0xE7, 0xA9, 0xBA}, // �� + {0xB4A9, 0x7A7F}, //{0xE7, 0xA9, 0xBF}, // �� {0xCDBB, 0x7A81}, //{0xE7, 0xAA, 0x81}, // Í» - {0xC7D4, 0x7A83}, //{0xE7, 0xAA, 0x83}, // ÇÔ + {0xC7D4, 0x7A83}, //{0xE7, 0xAA, 0x83}, // �� {0xD5AD, 0x7A84}, //{0xE7, 0xAA, 0x84}, // Õ­ - {0xC7CF, 0x7A8D}, //{0xE7, 0xAA, 0x8D}, // ÇÏ + {0xC7CF, 0x7A8D}, //{0xE7, 0xAA, 0x8D}, // �� {0xD2A4, 0x7A91}, //{0xE7, 0xAA, 0x91}, // Ò¤ - {0xD6CF, 0x7A92}, //{0xE7, 0xAA, 0x92}, // ÖÏ - {0xBDD1, 0x7A96}, //{0xE7, 0xAA, 0x96}, // ½Ñ - {0xB4B0, 0x7A97}, //{0xE7, 0xAA, 0x97}, // ´° - {0xBEBD, 0x7A98}, //{0xE7, 0xAA, 0x98}, // ¾½ - {0xB4DC, 0x7A9C}, //{0xE7, 0xAA, 0x9C}, // ´Ü - {0xCED1, 0x7A9D}, //{0xE7, 0xAA, 0x9D}, // ÎÑ - {0xBFDF, 0x7A9F}, //{0xE7, 0xAA, 0x9F}, // ¿ß - {0xBFFA, 0x7AA5}, //{0xE7, 0xAA, 0xA5}, // ¿ú - {0xC1FE, 0x7ABF}, //{0xE7, 0xAA, 0xBF}, // Áþ - {0xC1A2, 0x7ACB}, //{0xE7, 0xAB, 0x8B}, // Á¢ - {0xCAFA, 0x7AD6}, //{0xE7, 0xAB, 0x96}, // Êú + {0xD6CF, 0x7A92}, //{0xE7, 0xAA, 0x92}, // �� + {0xBDD1, 0x7A96}, //{0xE7, 0xAA, 0x96}, // �� + {0xB4B0, 0x7A97}, //{0xE7, 0xAA, 0x97}, // �� + {0xBEBD, 0x7A98}, //{0xE7, 0xAA, 0x98}, // �� + {0xB4DC, 0x7A9C}, //{0xE7, 0xAA, 0x9C}, // �� + {0xCED1, 0x7A9D}, //{0xE7, 0xAA, 0x9D}, // �� + {0xBFDF, 0x7A9F}, //{0xE7, 0xAA, 0x9F}, // �� + {0xBFFA, 0x7AA5}, //{0xE7, 0xAA, 0xA5}, // �� + {0xC1FE, 0x7ABF}, //{0xE7, 0xAA, 0xBF}, // �� + {0xC1A2, 0x7ACB}, //{0xE7, 0xAB, 0x8B}, // b + {0xCAFA, 0x7AD6}, //{0xE7, 0xAB, 0x96}, // �� {0xD5BE, 0x7AD9}, //{0xE7, 0xAB, 0x99}, // Õ¾ - {0xBEBA, 0x7ADE}, //{0xE7, 0xAB, 0x9E}, // ¾º - {0xBEB9, 0x7ADF}, //{0xE7, 0xAB, 0x9F}, // ¾¹ - {0xD5C2, 0x7AE0}, //{0xE7, 0xAB, 0xA0}, // Õ - {0xBFA2, 0x7AE3}, //{0xE7, 0xAB, 0xA3}, // ¿¢ + {0xBEBA, 0x7ADE}, //{0xE7, 0xAB, 0x9E}, // �� + {0xBEB9, 0x7ADF}, //{0xE7, 0xAB, 0x9F}, // �� + {0xD5C2, 0x7AE0}, //{0xE7, 0xAB, 0xA0}, // �� + {0xBFA2, 0x7AE3}, //{0xE7, 0xAB, 0xA3}, // �� {0xCDAF, 0x7AE5}, //{0xE7, 0xAB, 0xA5}, // ͯ - {0xBDDF, 0x7AED}, //{0xE7, 0xAB, 0xAD}, // ½ß - {0xB6CB, 0x7AEF}, //{0xE7, 0xAB, 0xAF}, // ¶Ë - {0xD6F1, 0x7AF9}, //{0xE7, 0xAB, 0xB9}, // Öñ - {0xB8CD, 0x7AFF}, //{0xE7, 0xAB, 0xBF}, // ¸Í - {0xB0CA, 0x7B06}, //{0xE7, 0xAC, 0x86}, // °Ê - {0xCBF1, 0x7B0B}, //{0xE7, 0xAC, 0x8B}, // Ëñ + {0xBDDF, 0x7AED}, //{0xE7, 0xAB, 0xAD}, // �� + {0xB6CB, 0x7AEF}, //{0xE7, 0xAB, 0xAF}, // �� + {0xD6F1, 0x7AF9}, //{0xE7, 0xAB, 0xB9}, // �� + {0xB8CD, 0x7AFF}, //{0xE7, 0xAB, 0xBF}, // �� + {0xB0CA, 0x7B06}, //{0xE7, 0xAC, 0x86}, // �� + {0xCBF1, 0x7B0B}, //{0xE7, 0xAC, 0x8B}, // �� {0xD0A6, 0x7B11}, //{0xE7, 0xAC, 0x91}, // Ц - {0xB1CA, 0x7B14}, //{0xE7, 0xAC, 0x94}, // ±Ê - {0xF3CF, 0x7B19}, //{0xE7, 0xAC, 0x99}, // óÏ - {0xB5D1, 0x7B1B}, //{0xE7, 0xAC, 0x9B}, // µÑ - {0xF3D4, 0x7B24}, //{0xE7, 0xAC, 0xA4}, // óÔ - {0xB7FB, 0x7B26}, //{0xE7, 0xAC, 0xA6}, // ·û - {0xB1BF, 0x7B28}, //{0xE7, 0xAC, 0xA8}, // ±¿ - {0xB5DA, 0x7B2C}, //{0xE7, 0xAC, 0xAC}, // µÚ - {0xC1FD, 0x7B3C}, //{0xE7, 0xAC, 0xBC}, // Áý - {0xB5C8, 0x7B49}, //{0xE7, 0xAD, 0x89}, // µÈ - {0xBDEE, 0x7B4B}, //{0xE7, 0xAD, 0x8B}, // ½î - {0xB7A4, 0x7B4F}, //{0xE7, 0xAD, 0x8F}, // ·¤ - {0xBFF0, 0x7B50}, //{0xE7, 0xAD, 0x90}, // ¿ð - {0xD6FE, 0x7B51}, //{0xE7, 0xAD, 0x91}, // Öþ + {0xB1CA, 0x7B14}, //{0xE7, 0xAC, 0x94}, // �� + {0xF3CF, 0x7B19}, //{0xE7, 0xAC, 0x99}, // �� + {0xB5D1, 0x7B1B}, //{0xE7, 0xAC, 0x9B}, // �� + {0xF3D4, 0x7B24}, //{0xE7, 0xAC, 0xA4}, // �� + {0xB7FB, 0x7B26}, //{0xE7, 0xAC, 0xA6}, // �� + {0xB1BF, 0x7B28}, //{0xE7, 0xAC, 0xA8}, // �� + {0xB5DA, 0x7B2C}, //{0xE7, 0xAC, 0xAC}, // �� + {0xC1FD, 0x7B3C}, //{0xE7, 0xAC, 0xBC}, // �� + {0xB5C8, 0x7B49}, //{0xE7, 0xAD, 0x89}, // �� + {0xBDEE, 0x7B4B}, //{0xE7, 0xAD, 0x8B}, // �� + {0xB7A4, 0x7B4F}, //{0xE7, 0xAD, 0x8F}, // �� + {0xBFF0, 0x7B50}, //{0xE7, 0xAD, 0x90}, // �� + {0xD6FE, 0x7B51}, //{0xE7, 0xAD, 0x91}, // �� {0xCDB2, 0x7B52}, //{0xE7, 0xAD, 0x92}, // Ͳ - {0xB4F0, 0x7B54}, //{0xE7, 0xAD, 0x94}, // ´ð - {0xB2DF, 0x7B56}, //{0xE7, 0xAD, 0x96}, // ²ß + {0xB4F0, 0x7B54}, //{0xE7, 0xAD, 0x94}, // �� + {0xB2DF, 0x7B56}, //{0xE7, 0xAD, 0x96}, // �� {0xC9B8, 0x7B5B}, //{0xE7, 0xAD, 0x9B}, // ɸ - {0xF3DD, 0x7B5D}, //{0xE7, 0xAD, 0x9D}, // óÝ - {0xBFEA, 0x7B77}, //{0xE7, 0xAD, 0xB7}, // ¿ê - {0xB3EF, 0x7B79}, //{0xE7, 0xAD, 0xB9}, // ³ï + {0xF3DD, 0x7B5D}, //{0xE7, 0xAD, 0x9D}, // �� + {0xBFEA, 0x7B77}, //{0xE7, 0xAD, 0xB7}, // �� + {0xB3EF, 0x7B79}, //{0xE7, 0xAD, 0xB9}, // �� {0xC7A9, 0x7B7E}, //{0xE7, 0xAD, 0xBE}, // Ç© - {0xBCF2, 0x7B80}, //{0xE7, 0xAE, 0x80}, // ¼ò - {0xB9BF, 0x7B8D}, //{0xE7, 0xAE, 0x8D}, // ¹¿ - {0xBBFE, 0x7B95}, //{0xE7, 0xAE, 0x95}, // »þ - {0xCBE3, 0x7B97}, //{0xE7, 0xAE, 0x97}, // Ëã - {0xB9DC, 0x7BA1}, //{0xE7, 0xAE, 0xA1}, // ¹Ü - {0xC2E1, 0x7BA9}, //{0xE7, 0xAE, 0xA9}, // Âá - {0xF3EF, 0x7BAB}, //{0xE7, 0xAE, 0xAB}, // óï - {0xBCFD, 0x7BAD}, //{0xE7, 0xAE, 0xAD}, // ¼ý - {0xCFE4, 0x7BB1}, //{0xE7, 0xAE, 0xB1}, // Ïä + {0xBCF2, 0x7B80}, //{0xE7, 0xAE, 0x80}, // �� + {0xB9BF, 0x7B8D}, //{0xE7, 0xAE, 0x8D}, // �� + {0xBBFE, 0x7B95}, //{0xE7, 0xAE, 0x95}, // �� + {0xCBE3, 0x7B97}, //{0xE7, 0xAE, 0x97}, // �� + {0xB9DC, 0x7BA1}, //{0xE7, 0xAE, 0xA1}, // �� + {0xC2E1, 0x7BA9}, //{0xE7, 0xAE, 0xA9}, // �� + {0xF3EF, 0x7BAB}, //{0xE7, 0xAE, 0xAB}, // �� + {0xBCFD, 0x7BAD}, //{0xE7, 0xAE, 0xAD}, // �� + {0xCFE4, 0x7BB1}, //{0xE7, 0xAE, 0xB1}, // �� {0xC6AA, 0x7BC7}, //{0xE7, 0xAF, 0x87}, // ƪ {0xC2A8, 0x7BD3}, //{0xE7, 0xAF, 0x93}, // ¨ - {0xB8DD, 0x7BD9}, //{0xE7, 0xAF, 0x99}, // ¸Ý - {0xB4DB, 0x7BE1}, //{0xE7, 0xAF, 0xA1}, // ´Û - {0xC0BA, 0x7BEE}, //{0xE7, 0xAF, 0xAE}, // Àº - {0xC0E9, 0x7BF1}, //{0xE7, 0xAF, 0xB1}, // Àé - {0xC5F1, 0x7BF7}, //{0xE7, 0xAF, 0xB7}, // Åñ - {0xB4D8, 0x7C07}, //{0xE7, 0xB0, 0x87}, // ´Ø - {0xF4A4, 0x7C38}, //{0xE7, 0xB0, 0xB8}, // ô¤ - {0xB2BE, 0x7C3F}, //{0xE7, 0xB0, 0xBF}, // ²¾ - {0xBCAE, 0x7C4D}, //{0xE7, 0xB1, 0x8D}, // ¼® - {0xC3D7, 0x7C73}, //{0xE7, 0xB1, 0xB3}, // Ã× - {0xC0E0, 0x7C7B}, //{0xE7, 0xB1, 0xBB}, // Àà - {0xD7D1, 0x7C7D}, //{0xE7, 0xB1, 0xBD}, // ×Ñ - {0xB7DB, 0x7C89}, //{0xE7, 0xB2, 0x89}, // ·Û - {0xC1A3, 0x7C92}, //{0xE7, 0xB2, 0x92}, // Á£ - {0xB4D6, 0x7C97}, //{0xE7, 0xB2, 0x97}, // ´Ö + {0xB8DD, 0x7BD9}, //{0xE7, 0xAF, 0x99}, // �� + {0xB4DB, 0x7BE1}, //{0xE7, 0xAF, 0xA1}, // �� + {0xC0BA, 0x7BEE}, //{0xE7, 0xAF, 0xAE}, // : + {0xC0E9, 0x7BF1}, //{0xE7, 0xAF, 0xB1}, // �� + {0xC5F1, 0x7BF7}, //{0xE7, 0xAF, 0xB7}, // �� + {0xB4D8, 0x7C07}, //{0xE7, 0xB0, 0x87}, // �� + {0xF4A4, 0x7C38}, //{0xE7, 0xB0, 0xB8}, // � + {0xB2BE, 0x7C3F}, //{0xE7, 0xB0, 0xBF}, // �� + {0xBCAE, 0x7C4D}, //{0xE7, 0xB1, 0x8D}, // �� + {0xC3D7, 0x7C73}, //{0xE7, 0xB1, 0xB3}, // �� + {0xC0E0, 0x7C7B}, //{0xE7, 0xB1, 0xBB}, // �� + {0xD7D1, 0x7C7D}, //{0xE7, 0xB1, 0xBD}, // �� + {0xB7DB, 0x7C89}, //{0xE7, 0xB2, 0x89}, // �� + {0xC1A3, 0x7C92}, //{0xE7, 0xB2, 0x92}, // c + {0xB4D6, 0x7C97}, //{0xE7, 0xB2, 0x97}, // �� {0xD5B3, 0x7C98}, //{0xE7, 0xB2, 0x98}, // Õ³ - {0xCBDA, 0x7C9F}, //{0xE7, 0xB2, 0x9F}, // ËÚ - {0xD4C1, 0x7CA4}, //{0xE7, 0xB2, 0xA4}, // ÔÁ - {0xD6E0, 0x7CA5}, //{0xE7, 0xB2, 0xA5}, // Öà - {0xB7E0, 0x7CAA}, //{0xE7, 0xB2, 0xAA}, // ·à - {0xC1B8, 0x7CAE}, //{0xE7, 0xB2, 0xAE}, // Á¸ - {0xC1BB, 0x7CB1}, //{0xE7, 0xB2, 0xB1}, // Á» - {0xB4E2, 0x7CB9}, //{0xE7, 0xB2, 0xB9}, // ´â - {0xBEAB, 0x7CBE}, //{0xE7, 0xB2, 0xBE}, // ¾« - {0xBAFD, 0x7CCA}, //{0xE7, 0xB3, 0x8A}, // ºý - {0xB8E2, 0x7CD5}, //{0xE7, 0xB3, 0x95}, // ¸â - {0xCCC7, 0x7CD6}, //{0xE7, 0xB3, 0x96}, // ÌÇ - {0xB2DA, 0x7CD9}, //{0xE7, 0xB3, 0x99}, // ²Ú - {0xC3D3, 0x7CDC}, //{0xE7, 0xB3, 0x9C}, // ÃÓ - {0xD4E3, 0x7CDF}, //{0xE7, 0xB3, 0x9F}, // Ôã - {0xBFB7, 0x7CE0}, //{0xE7, 0xB3, 0xA0}, // ¿· + {0xCBDA, 0x7C9F}, //{0xE7, 0xB2, 0x9F}, // �� + {0xD4C1, 0x7CA4}, //{0xE7, 0xB2, 0xA4}, // �� + {0xD6E0, 0x7CA5}, //{0xE7, 0xB2, 0xA5}, // �� + {0xB7E0, 0x7CAA}, //{0xE7, 0xB2, 0xAA}, // �� + {0xC1B8, 0x7CAE}, //{0xE7, 0xB2, 0xAE}, // �� + {0xC1BB, 0x7CB1}, //{0xE7, 0xB2, 0xB1}, // { + {0xB4E2, 0x7CB9}, //{0xE7, 0xB2, 0xB9}, // �� + {0xBEAB, 0x7CBE}, //{0xE7, 0xB2, 0xBE}, // �� + {0xBAFD, 0x7CCA}, //{0xE7, 0xB3, 0x8A}, // �� + {0xB8E2, 0x7CD5}, //{0xE7, 0xB3, 0x95}, // �� + {0xCCC7, 0x7CD6}, //{0xE7, 0xB3, 0x96}, // �� + {0xB2DA, 0x7CD9}, //{0xE7, 0xB3, 0x99}, // �� + {0xC3D3, 0x7CDC}, //{0xE7, 0xB3, 0x9C}, // �� + {0xD4E3, 0x7CDF}, //{0xE7, 0xB3, 0x9F}, // �� + {0xBFB7, 0x7CE0}, //{0xE7, 0xB3, 0xA0}, // �� {0xC5B4, 0x7CEF}, //{0xE7, 0xB3, 0xAF}, // Å´ {0xCFB5, 0x7CFB}, //{0xE7, 0xB3, 0xBB}, // ϵ - {0xCEC9, 0x7D0A}, //{0xE7, 0xB4, 0x8A}, // ÎÉ - {0xCBD8, 0x7D20}, //{0xE7, 0xB4, 0xA0}, // ËØ - {0xCBF7, 0x7D22}, //{0xE7, 0xB4, 0xA2}, // Ë÷ - {0xBDF4, 0x7D27}, //{0xE7, 0xB4, 0xA7}, // ½ô - {0xD7CF, 0x7D2B}, //{0xE7, 0xB4, 0xAB}, // ×Ï - {0xC0DB, 0x7D2F}, //{0xE7, 0xB4, 0xAF}, // ÀÛ - {0xD0F5, 0x7D6E}, //{0xE7, 0xB5, 0xAE}, // Ðõ - {0xB7B1, 0x7E41}, //{0xE7, 0xB9, 0x81}, // ·± - {0xBEC0, 0x7EA0}, //{0xE7, 0xBA, 0xA0}, // ¾À - {0xBAEC, 0x7EA2}, //{0xE7, 0xBA, 0xA2}, // ºì - {0xCFCB, 0x7EA4}, //{0xE7, 0xBA, 0xA4}, // ÏË + {0xCEC9, 0x7D0A}, //{0xE7, 0xB4, 0x8A}, // �� + {0xCBD8, 0x7D20}, //{0xE7, 0xB4, 0xA0}, // �� + {0xCBF7, 0x7D22}, //{0xE7, 0xB4, 0xA2}, // �� + {0xBDF4, 0x7D27}, //{0xE7, 0xB4, 0xA7}, // �� + {0xD7CF, 0x7D2B}, //{0xE7, 0xB4, 0xAB}, // �� + {0xC0DB, 0x7D2F}, //{0xE7, 0xB4, 0xAF}, // �� + {0xD0F5, 0x7D6E}, //{0xE7, 0xB5, 0xAE}, // �� + {0xB7B1, 0x7E41}, //{0xE7, 0xB9, 0x81}, // �� + {0xBEC0, 0x7EA0}, //{0xE7, 0xBA, 0xA0}, // �� + {0xBAEC, 0x7EA2}, //{0xE7, 0xBA, 0xA2}, // �� + {0xCFCB, 0x7EA4}, //{0xE7, 0xBA, 0xA4}, // �� {0xD4BC, 0x7EA6}, //{0xE7, 0xBA, 0xA6}, // Ô¼ - {0xBCB6, 0x7EA7}, //{0xE7, 0xBA, 0xA7}, // ¼¶ - {0xBCCD, 0x7EAA}, //{0xE7, 0xBA, 0xAA}, // ¼Í - {0xC8D2, 0x7EAB}, //{0xE7, 0xBA, 0xAB}, // ÈÒ + {0xBCB6, 0x7EA7}, //{0xE7, 0xBA, 0xA7}, // �� + {0xBCCD, 0x7EAA}, //{0xE7, 0xBA, 0xAA}, // �� + {0xC8D2, 0x7EAB}, //{0xE7, 0xBA, 0xAB}, // �� {0xCEB3, 0x7EAC}, //{0xE7, 0xBA, 0xAC}, // γ - {0xB4BF, 0x7EAF}, //{0xE7, 0xBA, 0xAF}, // ´¿ + {0xB4BF, 0x7EAF}, //{0xE7, 0xBA, 0xAF}, // �� {0xC9B4, 0x7EB1}, //{0xE7, 0xBA, 0xB1}, // É´ - {0xB8D9, 0x7EB2}, //{0xE7, 0xBA, 0xB2}, // ¸Ù - {0xC4C9, 0x7EB3}, //{0xE7, 0xBA, 0xB3}, // ÄÉ - {0xD7DD, 0x7EB5}, //{0xE7, 0xBA, 0xB5}, // ×Ý - {0xB7D7, 0x7EB7}, //{0xE7, 0xBA, 0xB7}, // ·× + {0xB8D9, 0x7EB2}, //{0xE7, 0xBA, 0xB2}, // �� + {0xC4C9, 0x7EB3}, //{0xE7, 0xBA, 0xB3}, // �� + {0xD7DD, 0x7EB5}, //{0xE7, 0xBA, 0xB5}, // �� + {0xB7D7, 0x7EB7}, //{0xE7, 0xBA, 0xB7}, // �� {0xD6BD, 0x7EB8}, //{0xE7, 0xBA, 0xB8}, // Ö½ - {0xCEC6, 0x7EB9}, //{0xE7, 0xBA, 0xB9}, // ÎÆ - {0xB7C4, 0x7EBA}, //{0xE7, 0xBA, 0xBA}, // ·Ä + {0xCEC6, 0x7EB9}, //{0xE7, 0xBA, 0xB9}, // �� + {0xB7C4, 0x7EBA}, //{0xE7, 0xBA, 0xBA}, // �� {0xC5A6, 0x7EBD}, //{0xE7, 0xBA, 0xBD}, // Ŧ - {0xCFDF, 0x7EBF}, //{0xE7, 0xBA, 0xBF}, // Ïß - {0xC1B7, 0x7EC3}, //{0xE7, 0xBB, 0x83}, // Á· - {0xD7E9, 0x7EC4}, //{0xE7, 0xBB, 0x84}, // ×é - {0xC9F0, 0x7EC5}, //{0xE7, 0xBB, 0x85}, // Éð + {0xCFDF, 0x7EBF}, //{0xE7, 0xBA, 0xBF}, // �� + {0xC1B7, 0x7EC3}, //{0xE7, 0xBB, 0x83}, // w + {0xD7E9, 0x7EC4}, //{0xE7, 0xBB, 0x84}, // �� + {0xC9F0, 0x7EC5}, //{0xE7, 0xBB, 0x85}, // �� {0xCFB8, 0x7EC6}, //{0xE7, 0xBB, 0x86}, // ϸ {0xD6AF, 0x7EC7}, //{0xE7, 0xBB, 0x87}, // Ö¯ - {0xD6D5, 0x7EC8}, //{0xE7, 0xBB, 0x88}, // ÖÕ - {0xB0ED, 0x7ECA}, //{0xE7, 0xBB, 0x8A}, // °í - {0xC9DC, 0x7ECD}, //{0xE7, 0xBB, 0x8D}, // ÉÜ - {0xD2EF, 0x7ECE}, //{0xE7, 0xBB, 0x8E}, // Òï - {0xBEAD, 0x7ECF}, //{0xE7, 0xBB, 0x8F}, // ¾­ - {0xB0F3, 0x7ED1}, //{0xE7, 0xBB, 0x91}, // °ó - {0xC8DE, 0x7ED2}, //{0xE7, 0xBB, 0x92}, // ÈÞ - {0xBDE1, 0x7ED3}, //{0xE7, 0xBB, 0x93}, // ½á - {0xC8C6, 0x7ED5}, //{0xE7, 0xBB, 0x95}, // ÈÆ - {0xBBE6, 0x7ED8}, //{0xE7, 0xBB, 0x98}, // »æ - {0xB8F8, 0x7ED9}, //{0xE7, 0xBB, 0x99}, // ¸ø - {0xC2E7, 0x7EDC}, //{0xE7, 0xBB, 0x9C}, // Âç - {0xBEF8, 0x7EDD}, //{0xE7, 0xBB, 0x9D}, // ¾ø - {0xBDCA, 0x7EDE}, //{0xE7, 0xBB, 0x9E}, // ½Ê + {0xD6D5, 0x7EC8}, //{0xE7, 0xBB, 0x88}, // �� + {0xB0ED, 0x7ECA}, //{0xE7, 0xBB, 0x8A}, // �� + {0xC9DC, 0x7ECD}, //{0xE7, 0xBB, 0x8D}, // �� + {0xD2EF, 0x7ECE}, //{0xE7, 0xBB, 0x8E}, // �� + {0xBEAD, 0x7ECF}, //{0xE7, 0xBB, 0x8F}, // �� + {0xB0F3, 0x7ED1}, //{0xE7, 0xBB, 0x91}, // �� + {0xC8DE, 0x7ED2}, //{0xE7, 0xBB, 0x92}, // �� + {0xBDE1, 0x7ED3}, //{0xE7, 0xBB, 0x93}, // �� + {0xC8C6, 0x7ED5}, //{0xE7, 0xBB, 0x95}, // �� + {0xBBE6, 0x7ED8}, //{0xE7, 0xBB, 0x98}, // �� + {0xB8F8, 0x7ED9}, //{0xE7, 0xBB, 0x99}, // �� + {0xC2E7, 0x7EDC}, //{0xE7, 0xBB, 0x9C}, // �� + {0xBEF8, 0x7EDD}, //{0xE7, 0xBB, 0x9D}, // �� + {0xBDCA, 0x7EDE}, //{0xE7, 0xBB, 0x9E}, // �� {0xCDB3, 0x7EDF}, //{0xE7, 0xBB, 0x9F}, // ͳ - {0xBEEE, 0x7EE2}, //{0xE7, 0xBB, 0xA2}, // ¾î - {0xD0E5, 0x7EE3}, //{0xE7, 0xBB, 0xA3}, // Ðå - {0xBCCC, 0x7EE7}, //{0xE7, 0xBB, 0xA7}, // ¼Ì - {0xBCA8, 0x7EE9}, //{0xE7, 0xBB, 0xA9}, // ¼¨ - {0xD0F7, 0x7EEA}, //{0xE7, 0xBB, 0xAA}, // Ð÷ - {0xD0F8, 0x7EED}, //{0xE7, 0xBB, 0xAD}, // Ðø - {0xB4C2, 0x7EF0}, //{0xE7, 0xBB, 0xB0}, // ´Â - {0xC9FE, 0x7EF3}, //{0xE7, 0xBB, 0xB3}, // Éþ + {0xBEEE, 0x7EE2}, //{0xE7, 0xBB, 0xA2}, // �� + {0xD0E5, 0x7EE3}, //{0xE7, 0xBB, 0xA3}, // �� + {0xBCCC, 0x7EE7}, //{0xE7, 0xBB, 0xA7}, // �� + {0xBCA8, 0x7EE9}, //{0xE7, 0xBB, 0xA9}, // �� + {0xD0F7, 0x7EEA}, //{0xE7, 0xBB, 0xAA}, // �� + {0xD0F8, 0x7EED}, //{0xE7, 0xBB, 0xAD}, // �� + {0xB4C2, 0x7EF0}, //{0xE7, 0xBB, 0xB0}, // �� + {0xC9FE, 0x7EF3}, //{0xE7, 0xBB, 0xB3}, // �� {0xCEAC, 0x7EF4}, //{0xE7, 0xBB, 0xB4}, // ά - {0xC3E0, 0x7EF5}, //{0xE7, 0xBB, 0xB5}, // Ãà - {0xB1C1, 0x7EF7}, //{0xE7, 0xBB, 0xB7}, // ±Á - {0xB3F1, 0x7EF8}, //{0xE7, 0xBB, 0xB8}, // ³ñ - {0xD7DB, 0x7EFC}, //{0xE7, 0xBB, 0xBC}, // ×Û - {0xD5C0, 0x7EFD}, //{0xE7, 0xBB, 0xBD}, // ÕÀ - {0xC2CC, 0x7EFF}, //{0xE7, 0xBB, 0xBF}, // ÂÌ + {0xC3E0, 0x7EF5}, //{0xE7, 0xBB, 0xB5}, // �� + {0xB1C1, 0x7EF7}, //{0xE7, 0xBB, 0xB7}, // �� + {0xB3F1, 0x7EF8}, //{0xE7, 0xBB, 0xB8}, // �� + {0xD7DB, 0x7EFC}, //{0xE7, 0xBB, 0xBC}, // �� + {0xD5C0, 0x7EFD}, //{0xE7, 0xBB, 0xBD}, // �� + {0xC2CC, 0x7EFF}, //{0xE7, 0xBB, 0xBF}, // �� {0xD7BA, 0x7F00}, //{0xE7, 0xBC, 0x80}, // ׺ - {0xC3E5, 0x7F05}, //{0xE7, 0xBC, 0x85}, // Ãå - {0xC0C2, 0x7F06}, //{0xE7, 0xBC, 0x86}, // À - {0xB6D0, 0x7F0E}, //{0xE7, 0xBC, 0x8E}, // ¶Ð - {0xBBBA, 0x7F13}, //{0xE7, 0xBC, 0x93}, // »º - {0xB5DE, 0x7F14}, //{0xE7, 0xBC, 0x94}, // µÞ - {0xC2C6, 0x7F15}, //{0xE7, 0xBC, 0x95}, // ÂÆ - {0xB1E0, 0x7F16}, //{0xE7, 0xBC, 0x96}, // ±à + {0xC3E5, 0x7F05}, //{0xE7, 0xBC, 0x85}, // �� + {0xC0C2, 0x7F06}, //{0xE7, 0xBC, 0x86}, // �� + {0xB6D0, 0x7F0E}, //{0xE7, 0xBC, 0x8E}, // �� + {0xBBBA, 0x7F13}, //{0xE7, 0xBC, 0x93}, // �� + {0xB5DE, 0x7F14}, //{0xE7, 0xBC, 0x94}, // �� + {0xC2C6, 0x7F15}, //{0xE7, 0xBC, 0x95}, // �� + {0xB1E0, 0x7F16}, //{0xE7, 0xBC, 0x96}, // �� {0xD4B5, 0x7F18}, //{0xE7, 0xBC, 0x98}, // Ôµ - {0xB8BF, 0x7F1A}, //{0xE7, 0xBC, 0x9A}, // ¸¿ - {0xB7EC, 0x7F1D}, //{0xE7, 0xBC, 0x9D}, // ·ì - {0xB2F8, 0x7F20}, //{0xE7, 0xBC, 0xA0}, // ²ø - {0xE7CD, 0x7F24}, //{0xE7, 0xBC, 0xA4}, // çÍ + {0xB8BF, 0x7F1A}, //{0xE7, 0xBC, 0x9A}, // �� + {0xB7EC, 0x7F1D}, //{0xE7, 0xBC, 0x9D}, // �� + {0xB2F8, 0x7F20}, //{0xE7, 0xBC, 0xA0}, // �� + {0xE7CD, 0x7F24}, //{0xE7, 0xBC, 0xA4}, // �� {0xD3A7, 0x7F28}, //{0xE7, 0xBC, 0xA8}, // Ó§ - {0xCBF5, 0x7F29}, //{0xE7, 0xBC, 0xA9}, // Ëõ - {0xE7D4, 0x7F2D}, //{0xE7, 0xBC, 0xAD}, // çÔ - {0xE7D6, 0x7F30}, //{0xE7, 0xBC, 0xB0}, // çÖ - {0xBDC9, 0x7F34}, //{0xE7, 0xBC, 0xB4}, // ½É - {0xB8D7, 0x7F38}, //{0xE7, 0xBC, 0xB8}, // ¸× + {0xCBF5, 0x7F29}, //{0xE7, 0xBC, 0xA9}, // �� + {0xE7D4, 0x7F2D}, //{0xE7, 0xBC, 0xAD}, // �� + {0xE7D6, 0x7F30}, //{0xE7, 0xBC, 0xB0}, // �� + {0xBDC9, 0x7F34}, //{0xE7, 0xBC, 0xB4}, // �� + {0xB8D7, 0x7F38}, //{0xE7, 0xBC, 0xB8}, // �� {0xC8B1, 0x7F3A}, //{0xE7, 0xBC, 0xBA}, // ȱ - {0xB9DE, 0x7F50}, //{0xE7, 0xBD, 0x90}, // ¹Þ - {0xCDF8, 0x7F51}, //{0xE7, 0xBD, 0x91}, // Íø - {0xBAB1, 0x7F55}, //{0xE7, 0xBD, 0x95}, // º± - {0xC2DE, 0x7F57}, //{0xE7, 0xBD, 0x97}, // ÂÞ - {0xB7A3, 0x7F5A}, //{0xE7, 0xBD, 0x9A}, // ·£ - {0xB0D5, 0x7F62}, //{0xE7, 0xBD, 0xA2}, // °Õ - {0xD5D6, 0x7F69}, //{0xE7, 0xBD, 0xA9}, // ÕÖ - {0xD7EF, 0x7F6A}, //{0xE7, 0xBD, 0xAA}, // ×ï - {0xD6C3, 0x7F6E}, //{0xE7, 0xBD, 0xAE}, // Öà - {0xCAF0, 0x7F72}, //{0xE7, 0xBD, 0xB2}, // Êð - {0xD1F2, 0x7F8A}, //{0xE7, 0xBE, 0x8A}, // Ñò - {0xC3C0, 0x7F8E}, //{0xE7, 0xBE, 0x8E}, // ÃÀ - {0xB8E1, 0x7F94}, //{0xE7, 0xBE, 0x94}, // ¸á - {0xD0DF, 0x7F9E}, //{0xE7, 0xBE, 0x9E}, // Ðß - {0xCFDB, 0x7FA1}, //{0xE7, 0xBE, 0xA1}, // ÏÛ + {0xB9DE, 0x7F50}, //{0xE7, 0xBD, 0x90}, // �� + {0xCDF8, 0x7F51}, //{0xE7, 0xBD, 0x91}, // �� + {0xBAB1, 0x7F55}, //{0xE7, 0xBD, 0x95}, // �� + {0xC2DE, 0x7F57}, //{0xE7, 0xBD, 0x97}, // �� + {0xB7A3, 0x7F5A}, //{0xE7, 0xBD, 0x9A}, // �� + {0xB0D5, 0x7F62}, //{0xE7, 0xBD, 0xA2}, // �� + {0xD5D6, 0x7F69}, //{0xE7, 0xBD, 0xA9}, // �� + {0xD7EF, 0x7F6A}, //{0xE7, 0xBD, 0xAA}, // �� + {0xD6C3, 0x7F6E}, //{0xE7, 0xBD, 0xAE}, // �� + {0xCAF0, 0x7F72}, //{0xE7, 0xBD, 0xB2}, // �� + {0xD1F2, 0x7F8A}, //{0xE7, 0xBE, 0x8A}, // �� + {0xC3C0, 0x7F8E}, //{0xE7, 0xBE, 0x8E}, // �� + {0xB8E1, 0x7F94}, //{0xE7, 0xBE, 0x94}, // �� + {0xD0DF, 0x7F9E}, //{0xE7, 0xBE, 0x9E}, // �� + {0xCFDB, 0x7FA1}, //{0xE7, 0xBE, 0xA1}, // �� {0xC8BA, 0x7FA4}, //{0xE7, 0xBE, 0xA4}, // Ⱥ - {0xB8FE, 0x7FB9}, //{0xE7, 0xBE, 0xB9}, // ¸þ - {0xD3F0, 0x7FBD}, //{0xE7, 0xBE, 0xBD}, // Óð - {0xCECC, 0x7FC1}, //{0xE7, 0xBF, 0x81}, // ÎÌ - {0xB3E1, 0x7FC5}, //{0xE7, 0xBF, 0x85}, // ³á - {0xF4E1, 0x7FCE}, //{0xE7, 0xBF, 0x8E}, // ôá - {0xCFE8, 0x7FD4}, //{0xE7, 0xBF, 0x94}, // Ïè - {0xC7CC, 0x7FD8}, //{0xE7, 0xBF, 0x98}, // ÇÌ - {0xB4E4, 0x7FE0}, //{0xE7, 0xBF, 0xA0}, // ´ä - {0xF4E6, 0x7FE9}, //{0xE7, 0xBF, 0xA9}, // ôæ - {0xBAB2, 0x7FF0}, //{0xE7, 0xBF, 0xB0}, // º² - {0xB7AD, 0x7FFB}, //{0xE7, 0xBF, 0xBB}, // ·­ - {0xD2ED, 0x7FFC}, //{0xE7, 0xBF, 0xBC}, // Òí + {0xB8FE, 0x7FB9}, //{0xE7, 0xBE, 0xB9}, // �� + {0xD3F0, 0x7FBD}, //{0xE7, 0xBE, 0xBD}, // �� + {0xCECC, 0x7FC1}, //{0xE7, 0xBF, 0x81}, // �� + {0xB3E1, 0x7FC5}, //{0xE7, 0xBF, 0x85}, // �� + {0xF4E1, 0x7FCE}, //{0xE7, 0xBF, 0x8E}, // �� + {0xCFE8, 0x7FD4}, //{0xE7, 0xBF, 0x94}, // �� + {0xC7CC, 0x7FD8}, //{0xE7, 0xBF, 0x98}, // �� + {0xB4E4, 0x7FE0}, //{0xE7, 0xBF, 0xA0}, // �� + {0xF4E6, 0x7FE9}, //{0xE7, 0xBF, 0xA9}, // �� + {0xBAB2, 0x7FF0}, //{0xE7, 0xBF, 0xB0}, // �� + {0xB7AD, 0x7FFB}, //{0xE7, 0xBF, 0xBB}, // �� + {0xD2ED, 0x7FFC}, //{0xE7, 0xBF, 0xBC}, // �� {0xD2AB, 0x8000}, //{0xE8, 0x80, 0x80}, // Ò« - {0xC0CF, 0x8001}, //{0xE8, 0x80, 0x81}, // ÀÏ - {0xBFBC, 0x8003}, //{0xE8, 0x80, 0x83}, // ¿¼ - {0xD5DF, 0x8005}, //{0xE8, 0x80, 0x85}, // Õß - {0xB6F8, 0x800C}, //{0xE8, 0x80, 0x8C}, // ¶ø + {0xC0CF, 0x8001}, //{0xE8, 0x80, 0x81}, // �� + {0xBFBC, 0x8003}, //{0xE8, 0x80, 0x83}, // �� + {0xD5DF, 0x8005}, //{0xE8, 0x80, 0x85}, // �� + {0xB6F8, 0x800C}, //{0xE8, 0x80, 0x8C}, // �� {0xCBA3, 0x800D}, //{0xE8, 0x80, 0x8D}, // Ë£ - {0xC4CD, 0x8010}, //{0xE8, 0x80, 0x90}, // ÄÍ - {0xB8FB, 0x8015}, //{0xE8, 0x80, 0x95}, // ¸û - {0xBAC4, 0x8017}, //{0xE8, 0x80, 0x97}, // ºÄ - {0xB0D2, 0x8019}, //{0xE8, 0x80, 0x99}, // °Ò - {0xB6FA, 0x8033}, //{0xE8, 0x80, 0xB3}, // ¶ú - {0xCBCA, 0x8038}, //{0xE8, 0x80, 0xB8}, // ËÊ - {0xB3DC, 0x803B}, //{0xE8, 0x80, 0xBB}, // ³Ü - {0xB5A2, 0x803D}, //{0xE8, 0x80, 0xBD}, // µ¢ - {0xB9A2, 0x803F}, //{0xE8, 0x80, 0xBF}, // ¹¢ - {0xC4F4, 0x8042}, //{0xE8, 0x81, 0x82}, // Äô - {0xC1C4, 0x804A}, //{0xE8, 0x81, 0x8A}, // ÁÄ - {0xC1FB, 0x804B}, //{0xE8, 0x81, 0x8B}, // Áû + {0xC4CD, 0x8010}, //{0xE8, 0x80, 0x90}, // �� + {0xB8FB, 0x8015}, //{0xE8, 0x80, 0x95}, // �� + {0xBAC4, 0x8017}, //{0xE8, 0x80, 0x97}, // �� + {0xB0D2, 0x8019}, //{0xE8, 0x80, 0x99}, // �� + {0xB6FA, 0x8033}, //{0xE8, 0x80, 0xB3}, // �� + {0xCBCA, 0x8038}, //{0xE8, 0x80, 0xB8}, // �� + {0xB3DC, 0x803B}, //{0xE8, 0x80, 0xBB}, // �� + {0xB5A2, 0x803D}, //{0xE8, 0x80, 0xBD}, // �� + {0xB9A2, 0x803F}, //{0xE8, 0x80, 0xBF}, // �� + {0xC4F4, 0x8042}, //{0xE8, 0x81, 0x82}, // �� + {0xC1C4, 0x804A}, //{0xE8, 0x81, 0x8A}, // �� + {0xC1FB, 0x804B}, //{0xE8, 0x81, 0x8B}, // �� {0xD6B0, 0x804C}, //{0xE8, 0x81, 0x8C}, // Ö° - {0xC1AA, 0x8054}, //{0xE8, 0x81, 0x94}, // Áª + {0xC1AA, 0x8054}, //{0xE8, 0x81, 0x94}, // j {0xC6B8, 0x8058}, //{0xE8, 0x81, 0x98}, // Ƹ - {0xBEDB, 0x805A}, //{0xE8, 0x81, 0x9A}, // ¾Û - {0xB4CF, 0x806A}, //{0xE8, 0x81, 0xAA}, // ´Ï - {0xCBE0, 0x8083}, //{0xE8, 0x82, 0x83}, // Ëà - {0xD2DE, 0x8084}, //{0xE8, 0x82, 0x84}, // ÒÞ - {0xCBC1, 0x8086}, //{0xE8, 0x82, 0x86}, // ËÁ - {0xC8E2, 0x8089}, //{0xE8, 0x82, 0x89}, // Èâ - {0xC0DF, 0x808B}, //{0xE8, 0x82, 0x8B}, // Àß - {0xBCA1, 0x808C}, //{0xE8, 0x82, 0x8C}, // ¼¡ + {0xBEDB, 0x805A}, //{0xE8, 0x81, 0x9A}, // �� + {0xB4CF, 0x806A}, //{0xE8, 0x81, 0xAA}, // �� + {0xCBE0, 0x8083}, //{0xE8, 0x82, 0x83}, // �� + {0xD2DE, 0x8084}, //{0xE8, 0x82, 0x84}, // �� + {0xCBC1, 0x8086}, //{0xE8, 0x82, 0x86}, // �� + {0xC8E2, 0x8089}, //{0xE8, 0x82, 0x89}, // �� + {0xC0DF, 0x808B}, //{0xE8, 0x82, 0x8B}, // �� + {0xBCA1, 0x808C}, //{0xE8, 0x82, 0x8C}, // �� {0xD0A4, 0x8096}, //{0xE8, 0x82, 0x96}, // Ф - {0xD6E2, 0x8098}, //{0xE8, 0x82, 0x98}, // Öâ - {0xB6C7, 0x809A}, //{0xE8, 0x82, 0x9A}, // ¶Ç - {0xB8D8, 0x809B}, //{0xE8, 0x82, 0x9B}, // ¸Ø - {0xB8CE, 0x809D}, //{0xE8, 0x82, 0x9D}, // ¸Î - {0xB3A6, 0x80A0}, //{0xE8, 0x82, 0xA0}, // ³¦ - {0xB9C9, 0x80A1}, //{0xE8, 0x82, 0xA1}, // ¹É + {0xD6E2, 0x8098}, //{0xE8, 0x82, 0x98}, // �� + {0xB6C7, 0x809A}, //{0xE8, 0x82, 0x9A}, // �� + {0xB8D8, 0x809B}, //{0xE8, 0x82, 0x9B}, // �� + {0xB8CE, 0x809D}, //{0xE8, 0x82, 0x9D}, // �� + {0xB3A6, 0x80A0}, //{0xE8, 0x82, 0xA0}, // �� + {0xB9C9, 0x80A1}, //{0xE8, 0x82, 0xA1}, // �� {0xD6AB, 0x80A2}, //{0xE8, 0x82, 0xA2}, // Ö« - {0xB7F4, 0x80A4}, //{0xE8, 0x82, 0xA4}, // ·ô - {0xB7CA, 0x80A5}, //{0xE8, 0x82, 0xA5}, // ·Ê - {0xBCE7, 0x80A9}, //{0xE8, 0x82, 0xA9}, // ¼ç - {0xB7BE, 0x80AA}, //{0xE8, 0x82, 0xAA}, // ·¾ - {0xB0B9, 0x80AE}, //{0xE8, 0x82, 0xAE}, // °¹ - {0xBFCF, 0x80AF}, //{0xE8, 0x82, 0xAF}, // ¿Ï - {0xD3FD, 0x80B2}, //{0xE8, 0x82, 0xB2}, // Óý - {0xEBC8, 0x80B4}, //{0xE8, 0x82, 0xB4}, // ëÈ - {0xB7CE, 0x80BA}, //{0xE8, 0x82, 0xBA}, // ·Î - {0xC9F6, 0x80BE}, //{0xE8, 0x82, 0xBE}, // Éö - {0xD6D7, 0x80BF}, //{0xE8, 0x82, 0xBF}, // Ö× - {0xD5CD, 0x80C0}, //{0xE8, 0x83, 0x80}, // ÕÍ + {0xB7F4, 0x80A4}, //{0xE8, 0x82, 0xA4}, // �� + {0xB7CA, 0x80A5}, //{0xE8, 0x82, 0xA5}, // �� + {0xBCE7, 0x80A9}, //{0xE8, 0x82, 0xA9}, // �� + {0xB7BE, 0x80AA}, //{0xE8, 0x82, 0xAA}, // �� + {0xB0B9, 0x80AE}, //{0xE8, 0x82, 0xAE}, // �� + {0xBFCF, 0x80AF}, //{0xE8, 0x82, 0xAF}, // �� + {0xD3FD, 0x80B2}, //{0xE8, 0x82, 0xB2}, // �� + {0xEBC8, 0x80B4}, //{0xE8, 0x82, 0xB4}, // �� + {0xB7CE, 0x80BA}, //{0xE8, 0x82, 0xBA}, // �� + {0xC9F6, 0x80BE}, //{0xE8, 0x82, 0xBE}, // �� + {0xD6D7, 0x80BF}, //{0xE8, 0x82, 0xBF}, // �� + {0xD5CD, 0x80C0}, //{0xE8, 0x83, 0x80}, // �� {0xD0B2, 0x80C1}, //{0xE8, 0x83, 0x81}, // в {0xCEB8, 0x80C3}, //{0xE8, 0x83, 0x83}, // θ - {0xB5A8, 0x80C6}, //{0xE8, 0x83, 0x86}, // µ¨ - {0xB1B3, 0x80CC}, //{0xE8, 0x83, 0x8C}, // ±³ + {0xB5A8, 0x80C6}, //{0xE8, 0x83, 0x86}, // �� + {0xB1B3, 0x80CC}, //{0xE8, 0x83, 0x8C}, // �� {0xCCA5, 0x80CE}, //{0xE8, 0x83, 0x8E}, // Ì¥ - {0xC5D6, 0x80D6}, //{0xE8, 0x83, 0x96}, // ÅÖ - {0xC5DF, 0x80DA}, //{0xE8, 0x83, 0x9A}, // Åß + {0xC5D6, 0x80D6}, //{0xE8, 0x83, 0x96}, // �� + {0xC5DF, 0x80DA}, //{0xE8, 0x83, 0x9A}, // �� {0xCAA4, 0x80DC}, //{0xE8, 0x83, 0x9C}, // ʤ - {0xB0FB, 0x80DE}, //{0xE8, 0x83, 0x9E}, // °û - {0xBAFA, 0x80E1}, //{0xE8, 0x83, 0xA1}, // ºú - {0xEBCA, 0x80E7}, //{0xE8, 0x83, 0xA7}, // ëÊ - {0xBFE8, 0x80EF}, //{0xE8, 0x83, 0xAF}, // ¿è - {0xD2C8, 0x80F0}, //{0xE8, 0x83, 0xB0}, // ÒÈ - {0xB8EC, 0x80F3}, //{0xE8, 0x83, 0xB3}, // ¸ì - {0xBDBA, 0x80F6}, //{0xE8, 0x83, 0xB6}, // ½º - {0xD0D8, 0x80F8}, //{0xE8, 0x83, 0xB8}, // ÐØ - {0xC4DC, 0x80FD}, //{0xE8, 0x83, 0xBD}, // ÄÜ + {0xB0FB, 0x80DE}, //{0xE8, 0x83, 0x9E}, // �� + {0xBAFA, 0x80E1}, //{0xE8, 0x83, 0xA1}, // �� + {0xEBCA, 0x80E7}, //{0xE8, 0x83, 0xA7}, // �� + {0xBFE8, 0x80EF}, //{0xE8, 0x83, 0xAF}, // �� + {0xD2C8, 0x80F0}, //{0xE8, 0x83, 0xB0}, // �� + {0xB8EC, 0x80F3}, //{0xE8, 0x83, 0xB3}, // �� + {0xBDBA, 0x80F6}, //{0xE8, 0x83, 0xB6}, // �� + {0xD0D8, 0x80F8}, //{0xE8, 0x83, 0xB8}, // �� + {0xC4DC, 0x80FD}, //{0xE8, 0x83, 0xBD}, // �� {0xD6AC, 0x8102}, //{0xE8, 0x84, 0x82}, // Ö¬ - {0xB4E0, 0x8106}, //{0xE8, 0x84, 0x86}, // ´à - {0xC2F6, 0x8109}, //{0xE8, 0x84, 0x89}, // Âö - {0xBCB9, 0x810A}, //{0xE8, 0x84, 0x8A}, // ¼¹ - {0xD4E0, 0x810F}, //{0xE8, 0x84, 0x8F}, // Ôà - {0xC6EA, 0x8110}, //{0xE8, 0x84, 0x90}, // Æê - {0xC4D4, 0x8111}, //{0xE8, 0x84, 0x91}, // ÄÔ + {0xB4E0, 0x8106}, //{0xE8, 0x84, 0x86}, // �� + {0xC2F6, 0x8109}, //{0xE8, 0x84, 0x89}, // �� + {0xBCB9, 0x810A}, //{0xE8, 0x84, 0x8A}, // �� + {0xD4E0, 0x810F}, //{0xE8, 0x84, 0x8F}, // �� + {0xC6EA, 0x8110}, //{0xE8, 0x84, 0x90}, // �� + {0xC4D4, 0x8111}, //{0xE8, 0x84, 0x91}, // �� {0xC5A7, 0x8113}, //{0xE8, 0x84, 0x93}, // ŧ - {0xB2B1, 0x8116}, //{0xE8, 0x84, 0x96}, // ²± - {0xBDC5, 0x811A}, //{0xE8, 0x84, 0x9A}, // ½Å - {0xB8AC, 0x812F}, //{0xE8, 0x84, 0xAF}, // ¸¬ - {0xCDD1, 0x8131}, //{0xE8, 0x84, 0xB1}, // ÍÑ - {0xC1B3, 0x8138}, //{0xE8, 0x84, 0xB8}, // Á³ + {0xB2B1, 0x8116}, //{0xE8, 0x84, 0x96}, // �� + {0xBDC5, 0x811A}, //{0xE8, 0x84, 0x9A}, // �� + {0xB8AC, 0x812F}, //{0xE8, 0x84, 0xAF}, // �� + {0xCDD1, 0x8131}, //{0xE8, 0x84, 0xB1}, // �� + {0xC1B3, 0x8138}, //{0xE8, 0x84, 0xB8}, // s {0xC6A2, 0x813E}, //{0xE8, 0x84, 0xBE}, // Æ¢ - {0xC0B0, 0x814A}, //{0xE8, 0x85, 0x8A}, // À° + {0xC0B0, 0x814A}, //{0xE8, 0x85, 0x8A}, // 0 {0xD2B8, 0x814B}, //{0xE8, 0x85, 0x8B}, // Ò¸ - {0xEBE7, 0x814C}, //{0xE8, 0x85, 0x8C}, // ëç - {0xB8AF, 0x8150}, //{0xE8, 0x85, 0x90}, // ¸¯ + {0xEBE7, 0x814C}, //{0xE8, 0x85, 0x8C}, // �� + {0xB8AF, 0x8150}, //{0xE8, 0x85, 0x90}, // �� {0xC7BB, 0x8154}, //{0xE8, 0x85, 0x94}, // Ç» - {0xCDF3, 0x8155}, //{0xE8, 0x85, 0x95}, // Íó - {0xD0C8, 0x8165}, //{0xE8, 0x85, 0xA5}, // ÐÈ - {0xC8F9, 0x816E}, //{0xE8, 0x85, 0xAE}, // Èù - {0xD1FC, 0x8170}, //{0xE8, 0x85, 0xB0}, // Ñü - {0xB8B9, 0x8179}, //{0xE8, 0x85, 0xB9}, // ¸¹ - {0xCFD9, 0x817A}, //{0xE8, 0x85, 0xBA}, // ÏÙ - {0xC4E5, 0x817B}, //{0xE8, 0x85, 0xBB}, // Äå - {0xCCDA, 0x817E}, //{0xE8, 0x85, 0xBE}, // ÌÚ - {0xCDC8, 0x817F}, //{0xE8, 0x85, 0xBF}, // ÍÈ - {0xB0F2, 0x8180}, //{0xE8, 0x86, 0x80}, // °ò - {0xB2B2, 0x818A}, //{0xE8, 0x86, 0x8A}, // ²² - {0xB8E0, 0x818F}, //{0xE8, 0x86, 0x8F}, // ¸à - {0xB1EC, 0x8198}, //{0xE8, 0x86, 0x98}, // ±ì - {0xCCC5, 0x819B}, //{0xE8, 0x86, 0x9B}, // ÌÅ + {0xCDF3, 0x8155}, //{0xE8, 0x85, 0x95}, // �� + {0xD0C8, 0x8165}, //{0xE8, 0x85, 0xA5}, // �� + {0xC8F9, 0x816E}, //{0xE8, 0x85, 0xAE}, // �� + {0xD1FC, 0x8170}, //{0xE8, 0x85, 0xB0}, // �� + {0xB8B9, 0x8179}, //{0xE8, 0x85, 0xB9}, // �� + {0xCFD9, 0x817A}, //{0xE8, 0x85, 0xBA}, // �� + {0xC4E5, 0x817B}, //{0xE8, 0x85, 0xBB}, // �� + {0xCCDA, 0x817E}, //{0xE8, 0x85, 0xBE}, // �� + {0xCDC8, 0x817F}, //{0xE8, 0x85, 0xBF}, // �� + {0xB0F2, 0x8180}, //{0xE8, 0x86, 0x80}, // �� + {0xB2B2, 0x818A}, //{0xE8, 0x86, 0x8A}, // �� + {0xB8E0, 0x818F}, //{0xE8, 0x86, 0x8F}, // �� + {0xB1EC, 0x8198}, //{0xE8, 0x86, 0x98}, // �� + {0xCCC5, 0x819B}, //{0xE8, 0x86, 0x9B}, // �� {0xC4A4, 0x819C}, //{0xE8, 0x86, 0x9C}, // Ĥ {0xCFA5, 0x819D}, //{0xE8, 0x86, 0x9D}, // Ï¥ - {0xC5F2, 0x81A8}, //{0xE8, 0x86, 0xA8}, // Åò - {0xC9C5, 0x81B3}, //{0xE8, 0x86, 0xB3}, // ÉÅ - {0xCDCE, 0x81C0}, //{0xE8, 0x87, 0x80}, // ÍÎ - {0xB1DB, 0x81C2}, //{0xE8, 0x87, 0x82}, // ±Û - {0xEBFD, 0x81CA}, //{0xE8, 0x87, 0x8A}, // ëý - {0xB3BC, 0x81E3}, //{0xE8, 0x87, 0xA3}, // ³¼ - {0xD7D4, 0x81EA}, //{0xE8, 0x87, 0xAA}, // ×Ô - {0xB3F4, 0x81ED}, //{0xE8, 0x87, 0xAD}, // ³ô - {0xD6C1, 0x81F3}, //{0xE8, 0x87, 0xB3}, // ÖÁ - {0xD6C2, 0x81F4}, //{0xE8, 0x87, 0xB4}, // Ö - {0xBECA, 0x81FC}, //{0xE8, 0x87, 0xBC}, // ¾Ê + {0xC5F2, 0x81A8}, //{0xE8, 0x86, 0xA8}, // �� + {0xC9C5, 0x81B3}, //{0xE8, 0x86, 0xB3}, // �� + {0xCDCE, 0x81C0}, //{0xE8, 0x87, 0x80}, // �� + {0xB1DB, 0x81C2}, //{0xE8, 0x87, 0x82}, // �� + {0xEBFD, 0x81CA}, //{0xE8, 0x87, 0x8A}, // �� + {0xB3BC, 0x81E3}, //{0xE8, 0x87, 0xA3}, // �� + {0xD7D4, 0x81EA}, //{0xE8, 0x87, 0xAA}, // �� + {0xB3F4, 0x81ED}, //{0xE8, 0x87, 0xAD}, // �� + {0xD6C1, 0x81F3}, //{0xE8, 0x87, 0xB3}, // �� + {0xD6C2, 0x81F4}, //{0xE8, 0x87, 0xB4}, // �� + {0xBECA, 0x81FC}, //{0xE8, 0x87, 0xBC}, // �� {0xD2A8, 0x8200}, //{0xE8, 0x88, 0x80}, // Ò¨ - {0xBECB, 0x8205}, //{0xE8, 0x88, 0x85}, // ¾Ë - {0xD3DF, 0x8206}, //{0xE8, 0x88, 0x86}, // Óß - {0xC9E0, 0x820C}, //{0xE8, 0x88, 0x8C}, // Éà - {0xC9E1, 0x820D}, //{0xE8, 0x88, 0x8D}, // Éá - {0xCAE6, 0x8212}, //{0xE8, 0x88, 0x92}, // Êæ - {0xCCF2, 0x8214}, //{0xE8, 0x88, 0x94}, // Ìò - {0xCEE8, 0x821E}, //{0xE8, 0x88, 0x9E}, // Îè - {0xD6DB, 0x821F}, //{0xE8, 0x88, 0x9F}, // ÖÛ - {0xBABD, 0x822A}, //{0xE8, 0x88, 0xAA}, // º½ - {0xB0E3, 0x822C}, //{0xE8, 0x88, 0xAC}, // °ã - {0xBDA2, 0x8230}, //{0xE8, 0x88, 0xB0}, // ½¢ - {0xB2D5, 0x8231}, //{0xE8, 0x88, 0xB1}, // ²Õ - {0xB6E6, 0x8235}, //{0xE8, 0x88, 0xB5}, // ¶æ - {0xB2B0, 0x8236}, //{0xE8, 0x88, 0xB6}, // ²° - {0xCFCF, 0x8237}, //{0xE8, 0x88, 0xB7}, // ÏÏ - {0xB4AC, 0x8239}, //{0xE8, 0x88, 0xB9}, // ´¬ + {0xBECB, 0x8205}, //{0xE8, 0x88, 0x85}, // �� + {0xD3DF, 0x8206}, //{0xE8, 0x88, 0x86}, // �� + {0xC9E0, 0x820C}, //{0xE8, 0x88, 0x8C}, // �� + {0xC9E1, 0x820D}, //{0xE8, 0x88, 0x8D}, // �� + {0xCAE6, 0x8212}, //{0xE8, 0x88, 0x92}, // �� + {0xCCF2, 0x8214}, //{0xE8, 0x88, 0x94}, // �� + {0xCEE8, 0x821E}, //{0xE8, 0x88, 0x9E}, // �� + {0xD6DB, 0x821F}, //{0xE8, 0x88, 0x9F}, // �� + {0xBABD, 0x822A}, //{0xE8, 0x88, 0xAA}, // �� + {0xB0E3, 0x822C}, //{0xE8, 0x88, 0xAC}, // �� + {0xBDA2, 0x8230}, //{0xE8, 0x88, 0xB0}, // �� + {0xB2D5, 0x8231}, //{0xE8, 0x88, 0xB1}, // �� + {0xB6E6, 0x8235}, //{0xE8, 0x88, 0xB5}, // �� + {0xB2B0, 0x8236}, //{0xE8, 0x88, 0xB6}, // �� + {0xCFCF, 0x8237}, //{0xE8, 0x88, 0xB7}, // �� + {0xB4AC, 0x8239}, //{0xE8, 0x88, 0xB9}, // �� {0xCDA7, 0x8247}, //{0xE8, 0x89, 0x87}, // ͧ - {0xCBD2, 0x8258}, //{0xE8, 0x89, 0x98}, // ËÒ - {0xC1BC, 0x826F}, //{0xE8, 0x89, 0xAF}, // Á¼ - {0xBCE8, 0x8270}, //{0xE8, 0x89, 0xB0}, // ¼è + {0xCBD2, 0x8258}, //{0xE8, 0x89, 0x98}, // �� + {0xC1BC, 0x826F}, //{0xE8, 0x89, 0xAF}, // | + {0xBCE8, 0x8270}, //{0xE8, 0x89, 0xB0}, // �� {0xC9AB, 0x8272}, //{0xE8, 0x89, 0xB2}, // É« - {0xD1DE, 0x8273}, //{0xE8, 0x89, 0xB3}, // ÑÞ - {0xD2D5, 0x827A}, //{0xE8, 0x89, 0xBA}, // ÒÕ - {0xB0AC, 0x827E}, //{0xE8, 0x89, 0xBE}, // °¬ - {0xBDDA, 0x8282}, //{0xE8, 0x8A, 0x82}, // ½Ú - {0xD3F3, 0x828B}, //{0xE8, 0x8A, 0x8B}, // Óó - {0xC9D6, 0x828D}, //{0xE8, 0x8A, 0x8D}, // ÉÖ + {0xD1DE, 0x8273}, //{0xE8, 0x89, 0xB3}, // �� + {0xD2D5, 0x827A}, //{0xE8, 0x89, 0xBA}, // �� + {0xB0AC, 0x827E}, //{0xE8, 0x89, 0xBE}, // �� + {0xBDDA, 0x8282}, //{0xE8, 0x8A, 0x82}, // �� + {0xD3F3, 0x828B}, //{0xE8, 0x8A, 0x8B}, // �� + {0xC9D6, 0x828D}, //{0xE8, 0x8A, 0x8D}, // �� {0xC3A2, 0x8292}, //{0xE8, 0x8A, 0x92}, // â {0xDCBD, 0x8299}, //{0xE8, 0x8A, 0x99}, // ܽ - {0xCEDF, 0x829C}, //{0xE8, 0x8A, 0x9C}, // Îß + {0xCEDF, 0x829C}, //{0xE8, 0x8A, 0x9C}, // �� {0xD6A5, 0x829D}, //{0xE8, 0x8A, 0x9D}, // Ö¥ - {0xBDE6, 0x82A5}, //{0xE8, 0x8A, 0xA5}, // ½æ + {0xBDE6, 0x82A5}, //{0xE8, 0x8A, 0xA5}, // �� {0xC2AB, 0x82A6}, //{0xE8, 0x8A, 0xA6}, // « - {0xB7D2, 0x82AC}, //{0xE8, 0x8A, 0xAC}, // ·Ò - {0xB0C5, 0x82AD}, //{0xE8, 0x8A, 0xAD}, // °Å + {0xB7D2, 0x82AC}, //{0xE8, 0x8A, 0xAC}, // �� + {0xB0C5, 0x82AD}, //{0xE8, 0x8A, 0xAD}, // �� {0xD0BE, 0x82AF}, //{0xE8, 0x8A, 0xAF}, // о - {0xBBA8, 0x82B1}, //{0xE8, 0x8A, 0xB1}, // »¨ - {0xB7BC, 0x82B3}, //{0xE8, 0x8A, 0xB3}, // ·¼ - {0xC7DB, 0x82B9}, //{0xE8, 0x8A, 0xB9}, // ÇÛ + {0xBBA8, 0x82B1}, //{0xE8, 0x8A, 0xB1}, // �� + {0xB7BC, 0x82B3}, //{0xE8, 0x8A, 0xB3}, // �� + {0xC7DB, 0x82B9}, //{0xE8, 0x8A, 0xB9}, // �� {0xD1BF, 0x82BD}, //{0xE8, 0x8A, 0xBD}, // Ñ¿ {0xCEAD, 0x82C7}, //{0xE8, 0x8B, 0x87}, // έ - {0xB2D4, 0x82CD}, //{0xE8, 0x8B, 0x8D}, // ²Ô - {0xCBD5, 0x82CF}, //{0xE8, 0x8B, 0x8F}, // ËÕ + {0xB2D4, 0x82CD}, //{0xE8, 0x8B, 0x8D}, // �� + {0xCBD5, 0x82CF}, //{0xE8, 0x8B, 0x8F}, // �� {0xCCA6, 0x82D4}, //{0xE8, 0x8B, 0x94}, // ̦ - {0xC3E7, 0x82D7}, //{0xE8, 0x8B, 0x97}, // Ãç - {0xBFC1, 0x82DB}, //{0xE8, 0x8B, 0x9B}, // ¿Á - {0xB0FA, 0x82DE}, //{0xE8, 0x8B, 0x9E}, // °ú - {0xB9B6, 0x82DF}, //{0xE8, 0x8B, 0x9F}, // ¹¶ - {0xC8F4, 0x82E5}, //{0xE8, 0x8B, 0xA5}, // Èô - {0xBFE0, 0x82E6}, //{0xE8, 0x8B, 0xA6}, // ¿à + {0xC3E7, 0x82D7}, //{0xE8, 0x8B, 0x97}, // �� + {0xBFC1, 0x82DB}, //{0xE8, 0x8B, 0x9B}, // �� + {0xB0FA, 0x82DE}, //{0xE8, 0x8B, 0x9E}, // �� + {0xB9B6, 0x82DF}, //{0xE8, 0x8B, 0x9F}, // �� + {0xC8F4, 0x82E5}, //{0xE8, 0x8B, 0xA5}, // �� + {0xBFE0, 0x82E6}, //{0xE8, 0x8B, 0xA6}, // �� {0xC9BB, 0x82EB}, //{0xE8, 0x8B, 0xAB}, // É» {0xD3A2, 0x82F1}, //{0xE8, 0x8B, 0xB1}, // Ó¢ {0xC6BB, 0x82F9}, //{0xE8, 0x8B, 0xB9}, // Æ» - {0xD7C2, 0x8301}, //{0xE8, 0x8C, 0x81}, // × + {0xD7C2, 0x8301}, //{0xE8, 0x8C, 0x81}, // �� {0xC3AF, 0x8302}, //{0xE8, 0x8C, 0x82}, // ï - {0xB7B6, 0x8303}, //{0xE8, 0x8C, 0x83}, // ·¶ - {0xC7D1, 0x8304}, //{0xE8, 0x8C, 0x84}, // ÇÑ + {0xB7B6, 0x8303}, //{0xE8, 0x8C, 0x83}, // �� + {0xC7D1, 0x8304}, //{0xE8, 0x8C, 0x84}, // �� {0xC3A9, 0x8305}, //{0xE8, 0x8C, 0x85}, // é - {0xDCD4, 0x8309}, //{0xE8, 0x8C, 0x89}, // ÜÔ - {0xBEA5, 0x830E}, //{0xE8, 0x8C, 0x8E}, // ¾¥ - {0xBCEB, 0x8327}, //{0xE8, 0x8C, 0xA7}, // ¼ë + {0xDCD4, 0x8309}, //{0xE8, 0x8C, 0x89}, // �� + {0xBEA5, 0x830E}, //{0xE8, 0x8C, 0x8E}, // �� + {0xBCEB, 0x8327}, //{0xE8, 0x8C, 0xA7}, // �� {0xC3A3, 0x832B}, //{0xE8, 0x8C, 0xAB}, // ã - {0xB2E7, 0x832C}, //{0xE8, 0x8C, 0xAC}, // ²ç - {0xDCEE, 0x8334}, //{0xE8, 0x8C, 0xB4}, // Üî - {0xD2F0, 0x8335}, //{0xE8, 0x8C, 0xB5}, // Òð - {0xB2E8, 0x8336}, //{0xE8, 0x8C, 0xB6}, // ²è - {0xC8D7, 0x8338}, //{0xE8, 0x8C, 0xB8}, // È× - {0xBEA3, 0x8346}, //{0xE8, 0x8D, 0x86}, // ¾£ - {0xB2DD, 0x8349}, //{0xE8, 0x8D, 0x89}, // ²Ý - {0xBCF6, 0x8350}, //{0xE8, 0x8D, 0x90}, // ¼ö - {0xBBC4, 0x8352}, //{0xE8, 0x8D, 0x92}, // »Ä - {0xC0F3, 0x8354}, //{0xE8, 0x8D, 0x94}, // Àó - {0xBCD4, 0x835A}, //{0xE8, 0x8D, 0x9A}, // ¼Ô - {0xDCF1, 0x835E}, //{0xE8, 0x8D, 0x9E}, // Üñ - {0xDCF9, 0x8360}, //{0xE8, 0x8D, 0xA0}, // Üù - {0xB5B4, 0x8361}, //{0xE8, 0x8D, 0xA1}, // µ´ - {0xC8D9, 0x8363}, //{0xE8, 0x8D, 0xA3}, // ÈÙ - {0xBBE7, 0x8364}, //{0xE8, 0x8D, 0xA4}, // »ç + {0xB2E7, 0x832C}, //{0xE8, 0x8C, 0xAC}, // �� + {0xDCEE, 0x8334}, //{0xE8, 0x8C, 0xB4}, // �� + {0xD2F0, 0x8335}, //{0xE8, 0x8C, 0xB5}, // �� + {0xB2E8, 0x8336}, //{0xE8, 0x8C, 0xB6}, // �� + {0xC8D7, 0x8338}, //{0xE8, 0x8C, 0xB8}, // �� + {0xBEA3, 0x8346}, //{0xE8, 0x8D, 0x86}, // �� + {0xB2DD, 0x8349}, //{0xE8, 0x8D, 0x89}, // �� + {0xBCF6, 0x8350}, //{0xE8, 0x8D, 0x90}, // �� + {0xBBC4, 0x8352}, //{0xE8, 0x8D, 0x92}, // �� + {0xC0F3, 0x8354}, //{0xE8, 0x8D, 0x94}, // �� + {0xBCD4, 0x835A}, //{0xE8, 0x8D, 0x9A}, // �� + {0xDCF1, 0x835E}, //{0xE8, 0x8D, 0x9E}, // �� + {0xDCF9, 0x8360}, //{0xE8, 0x8D, 0xA0}, // �� + {0xB5B4, 0x8361}, //{0xE8, 0x8D, 0xA1}, // �� + {0xC8D9, 0x8363}, //{0xE8, 0x8D, 0xA3}, // �� + {0xBBE7, 0x8364}, //{0xE8, 0x8D, 0xA4}, // �� {0xD3AB, 0x8367}, //{0xE8, 0x8D, 0xA7}, // Ó« {0xD2A9, 0x836F}, //{0xE8, 0x8D, 0xAF}, // Ò© - {0xBAC9, 0x8377}, //{0xE8, 0x8D, 0xB7}, // ºÉ + {0xBAC9, 0x8377}, //{0xE8, 0x8D, 0xB7}, // �� {0xDDA9, 0x8378}, //{0xE8, 0x8D, 0xB8}, // Ý© - {0xC0F2, 0x8389}, //{0xE8, 0x8E, 0x89}, // Àò + {0xC0F2, 0x8389}, //{0xE8, 0x8E, 0x89}, // �� {0xC4AA, 0x83AB}, //{0xE8, 0x8E, 0xAB}, // Ī - {0xC0B3, 0x83B1}, //{0xE8, 0x8E, 0xB1}, // À³ - {0xC1AB, 0x83B2}, //{0xE8, 0x8E, 0xB2}, // Á« - {0xBBF1, 0x83B7}, //{0xE8, 0x8E, 0xB7}, // »ñ + {0xC0B3, 0x83B1}, //{0xE8, 0x8E, 0xB1}, // 3 + {0xC1AB, 0x83B2}, //{0xE8, 0x8E, 0xB2}, // k + {0xBBF1, 0x83B7}, //{0xE8, 0x8E, 0xB7}, // �� {0xD3A8, 0x83B9}, //{0xE8, 0x8E, 0xB9}, // Ó¨ {0xDDBA, 0x83BA}, //{0xE8, 0x8E, 0xBA}, // ݺ {0xC3A7, 0x83BD}, //{0xE8, 0x8E, 0xBD}, // ç - {0xB9BD, 0x83C7}, //{0xE8, 0x8F, 0x87}, // ¹½ - {0xBED5, 0x83CA}, //{0xE8, 0x8F, 0x8A}, // ¾Õ - {0xBEFA, 0x83CC}, //{0xE8, 0x8F, 0x8C}, // ¾ú - {0xB2CB, 0x83DC}, //{0xE8, 0x8F, 0x9C}, // ²Ë - {0xB2A4, 0x83E0}, //{0xE8, 0x8F, 0xA0}, // ²¤ - {0xC6D0, 0x83E9}, //{0xE8, 0x8F, 0xA9}, // ÆÐ - {0xC1E2, 0x83F1}, //{0xE8, 0x8F, 0xB1}, // Áâ - {0xB7C6, 0x83F2}, //{0xE8, 0x8F, 0xB2}, // ·Æ - {0xCCD1, 0x8404}, //{0xE8, 0x90, 0x84}, // ÌÑ - {0xC3C8, 0x840C}, //{0xE8, 0x90, 0x8C}, // ÃÈ + {0xB9BD, 0x83C7}, //{0xE8, 0x8F, 0x87}, // �� + {0xBED5, 0x83CA}, //{0xE8, 0x8F, 0x8A}, // �� + {0xBEFA, 0x83CC}, //{0xE8, 0x8F, 0x8C}, // �� + {0xB2CB, 0x83DC}, //{0xE8, 0x8F, 0x9C}, // �� + {0xB2A4, 0x83E0}, //{0xE8, 0x8F, 0xA0}, // �� + {0xC6D0, 0x83E9}, //{0xE8, 0x8F, 0xA9}, // �� + {0xC1E2, 0x83F1}, //{0xE8, 0x8F, 0xB1}, // �� + {0xB7C6, 0x83F2}, //{0xE8, 0x8F, 0xB2}, // �� + {0xCCD1, 0x8404}, //{0xE8, 0x90, 0x84}, // �� + {0xC3C8, 0x840C}, //{0xE8, 0x90, 0x8C}, // �� {0xC6BC, 0x840D}, //{0xE8, 0x90, 0x8D}, // Ƽ {0xCEAE, 0x840E}, //{0xE8, 0x90, 0x8E}, // ή - {0xC2DC, 0x841D}, //{0xE8, 0x90, 0x9D}, // ÂÜ + {0xC2DC, 0x841D}, //{0xE8, 0x90, 0x9D}, // �� {0xD3A9, 0x8424}, //{0xE8, 0x90, 0xA4}, // Ó© {0xD3AA, 0x8425}, //{0xE8, 0x90, 0xA5}, // Óª - {0xCFF4, 0x8427}, //{0xE8, 0x90, 0xA7}, // Ïô - {0xC8F8, 0x8428}, //{0xE8, 0x90, 0xA8}, // Èø - {0xC2E4, 0x843D}, //{0xE8, 0x90, 0xBD}, // Âä - {0xD6F8, 0x8457}, //{0xE8, 0x91, 0x97}, // Öø - {0xB8F0, 0x845B}, //{0xE8, 0x91, 0x9B}, // ¸ð - {0xC6CF, 0x8461}, //{0xE8, 0x91, 0xA1}, // ÆÏ - {0xB6AD, 0x8463}, //{0xE8, 0x91, 0xA3}, // ¶­ - {0xBAF9, 0x846B}, //{0xE8, 0x91, 0xAB}, // ºù - {0xD4E1, 0x846C}, //{0xE8, 0x91, 0xAC}, // Ôá - {0xB4D0, 0x8471}, //{0xE8, 0x91, 0xB1}, // ´Ð - {0xBFFB, 0x8475}, //{0xE8, 0x91, 0xB5}, // ¿û - {0xB5D9, 0x8482}, //{0xE8, 0x92, 0x82}, // µÙ - {0xBDAF, 0x848B}, //{0xE8, 0x92, 0x8B}, // ½¯ - {0xC3C9, 0x8499}, //{0xE8, 0x92, 0x99}, // ÃÉ - {0xCBE2, 0x849C}, //{0xE8, 0x92, 0x9C}, // Ëâ - {0xC6D1, 0x84B2}, //{0xE8, 0x92, 0xB2}, // ÆÑ - {0xD5F4, 0x84B8}, //{0xE8, 0x92, 0xB8}, // Õô - {0xDDEF, 0x84BF}, //{0xE8, 0x92, 0xBF}, // Ýï - {0xD0EE, 0x84C4}, //{0xE8, 0x93, 0x84}, // Ðî - {0xC8D8, 0x84C9}, //{0xE8, 0x93, 0x89}, // ÈØ - {0xB1CD, 0x84D6}, //{0xE8, 0x93, 0x96}, // ±Í - {0xC0B6, 0x84DD}, //{0xE8, 0x93, 0x9D}, // À¶ - {0xC5EE, 0x84EC}, //{0xE8, 0x93, 0xAC}, // Åî - {0xC3EF, 0x8511}, //{0xE8, 0x94, 0x91}, // Ãï - {0xC2FB, 0x8513}, //{0xE8, 0x94, 0x93}, // Âû - {0xD5E1, 0x8517}, //{0xE8, 0x94, 0x97}, // Õá + {0xCFF4, 0x8427}, //{0xE8, 0x90, 0xA7}, // �� + {0xC8F8, 0x8428}, //{0xE8, 0x90, 0xA8}, // �� + {0xC2E4, 0x843D}, //{0xE8, 0x90, 0xBD}, // �� + {0xD6F8, 0x8457}, //{0xE8, 0x91, 0x97}, // �� + {0xB8F0, 0x845B}, //{0xE8, 0x91, 0x9B}, // �� + {0xC6CF, 0x8461}, //{0xE8, 0x91, 0xA1}, // �� + {0xB6AD, 0x8463}, //{0xE8, 0x91, 0xA3}, // �� + {0xBAF9, 0x846B}, //{0xE8, 0x91, 0xAB}, // �� + {0xD4E1, 0x846C}, //{0xE8, 0x91, 0xAC}, // �� + {0xB4D0, 0x8471}, //{0xE8, 0x91, 0xB1}, // �� + {0xBFFB, 0x8475}, //{0xE8, 0x91, 0xB5}, // �� + {0xB5D9, 0x8482}, //{0xE8, 0x92, 0x82}, // �� + {0xBDAF, 0x848B}, //{0xE8, 0x92, 0x8B}, // �� + {0xC3C9, 0x8499}, //{0xE8, 0x92, 0x99}, // �� + {0xCBE2, 0x849C}, //{0xE8, 0x92, 0x9C}, // �� + {0xC6D1, 0x84B2}, //{0xE8, 0x92, 0xB2}, // �� + {0xD5F4, 0x84B8}, //{0xE8, 0x92, 0xB8}, // �� + {0xDDEF, 0x84BF}, //{0xE8, 0x92, 0xBF}, // �� + {0xD0EE, 0x84C4}, //{0xE8, 0x93, 0x84}, // �� + {0xC8D8, 0x84C9}, //{0xE8, 0x93, 0x89}, // �� + {0xB1CD, 0x84D6}, //{0xE8, 0x93, 0x96}, // �� + {0xC0B6, 0x84DD}, //{0xE8, 0x93, 0x9D}, // 6 + {0xC5EE, 0x84EC}, //{0xE8, 0x93, 0xAC}, // �� + {0xC3EF, 0x8511}, //{0xE8, 0x94, 0x91}, // �� + {0xC2FB, 0x8513}, //{0xE8, 0x94, 0x93}, // �� + {0xD5E1, 0x8517}, //{0xE8, 0x94, 0x97}, // �� {0xCEB5, 0x851A}, //{0xE8, 0x94, 0x9A}, // ε - {0xC4E8, 0x852B}, //{0xE8, 0x94, 0xAB}, // Äè - {0xCADF, 0x852C}, //{0xE8, 0x94, 0xAC}, // Êß - {0xB0AA, 0x853C}, //{0xE8, 0x94, 0xBC}, // °ª - {0xB1CE, 0x853D}, //{0xE8, 0x94, 0xBD}, // ±Î - {0xBDB6, 0x8549}, //{0xE8, 0x95, 0x89}, // ½¶ - {0xC8EF, 0x854A}, //{0xE8, 0x95, 0x8A}, // Èï - {0xD4CC, 0x8574}, //{0xE8, 0x95, 0xB4}, // ÔÌ - {0xC0D9, 0x857E}, //{0xE8, 0x95, 0xBE}, // ÀÙ - {0xB1A1, 0x8584}, //{0xE8, 0x96, 0x84}, // ±¡ + {0xC4E8, 0x852B}, //{0xE8, 0x94, 0xAB}, // �� + {0xCADF, 0x852C}, //{0xE8, 0x94, 0xAC}, // �� + {0xB0AA, 0x853C}, //{0xE8, 0x94, 0xBC}, // �� + {0xB1CE, 0x853D}, //{0xE8, 0x94, 0xBD}, // �� + {0xBDB6, 0x8549}, //{0xE8, 0x95, 0x89}, // �� + {0xC8EF, 0x854A}, //{0xE8, 0x95, 0x8A}, // �� + {0xD4CC, 0x8574}, //{0xE8, 0x95, 0xB4}, // �� + {0xC0D9, 0x857E}, //{0xE8, 0x95, 0xBE}, // �� + {0xB1A1, 0x8584}, //{0xE8, 0x96, 0x84}, // �� {0xDEB1, 0x8587}, //{0xE8, 0x96, 0x87}, // Þ± {0xD1A6, 0x859B}, //{0xE8, 0x96, 0x9B}, // Ѧ {0xD0BD, 0x85AA}, //{0xE8, 0x96, 0xAA}, // н - {0xCAED, 0x85AF}, //{0xE8, 0x96, 0xAF}, // Êí - {0xB2D8, 0x85CF}, //{0xE8, 0x97, 0x8F}, // ²Ø - {0xC3EA, 0x85D0}, //{0xE8, 0x97, 0x90}, // Ãê + {0xCAED, 0x85AF}, //{0xE8, 0x96, 0xAF}, // �� + {0xB2D8, 0x85CF}, //{0xE8, 0x97, 0x8F}, // �� + {0xC3EA, 0x85D0}, //{0xE8, 0x97, 0x90}, // �� {0xC5BA, 0x85D5}, //{0xE8, 0x97, 0x95}, // ź - {0xCCD9, 0x85E4}, //{0xE8, 0x97, 0xA4}, // ÌÙ - {0xD4E5, 0x85FB}, //{0xE8, 0x97, 0xBB}, // Ôå + {0xCCD9, 0x85E4}, //{0xE8, 0x97, 0xA4}, // �� + {0xD4E5, 0x85FB}, //{0xE8, 0x97, 0xBB}, // �� {0xC4A2, 0x8611}, //{0xE8, 0x98, 0x91}, // Ä¢ {0xD5BA, 0x8638}, //{0xE8, 0x98, 0xB8}, // Õº - {0xBBA2, 0x864E}, //{0xE8, 0x99, 0x8E}, // »¢ + {0xBBA2, 0x864E}, //{0xE8, 0x99, 0x8E}, // �� {0xC2B2, 0x864F}, //{0xE8, 0x99, 0x8F}, // ² {0xC5B0, 0x8650}, //{0xE8, 0x99, 0x90}, // Ű - {0xC2C7, 0x8651}, //{0xE8, 0x99, 0x91}, // ÂÇ - {0xD0E9, 0x865A}, //{0xE8, 0x99, 0x9A}, // Ðé - {0xB3E6, 0x866B}, //{0xE8, 0x99, 0xAB}, // ³æ + {0xC2C7, 0x8651}, //{0xE8, 0x99, 0x91}, // �� + {0xD0E9, 0x865A}, //{0xE8, 0x99, 0x9A}, // �� + {0xB3E6, 0x866B}, //{0xE8, 0x99, 0xAB}, // �� {0xCAAD, 0x8671}, //{0xE8, 0x99, 0xB1}, // Ê­ - {0xBAE7, 0x8679}, //{0xE8, 0x99, 0xB9}, // ºç - {0xCBE4, 0x867D}, //{0xE8, 0x99, 0xBD}, // Ëä + {0xBAE7, 0x8679}, //{0xE8, 0x99, 0xB9}, // �� + {0xCBE4, 0x867D}, //{0xE8, 0x99, 0xBD}, // �� {0xCFBA, 0x867E}, //{0xE8, 0x99, 0xBE}, // Ϻ {0xCAB4, 0x8680}, //{0xE8, 0x9A, 0x80}, // Ê´ - {0xD2CF, 0x8681}, //{0xE8, 0x9A, 0x81}, // ÒÏ - {0xC2EC, 0x8682}, //{0xE8, 0x9A, 0x82}, // Âì - {0xCEC3, 0x868A}, //{0xE8, 0x9A, 0x8A}, // Îà - {0xB0F6, 0x868C}, //{0xE8, 0x9A, 0x8C}, // °ö - {0xF2BE, 0x8693}, //{0xE8, 0x9A, 0x93}, // ò¾ - {0xB2CF, 0x8695}, //{0xE8, 0x9A, 0x95}, // ²Ï - {0xD1C1, 0x869C}, //{0xE8, 0x9A, 0x9C}, // ÑÁ - {0xF2BC, 0x86A3}, //{0xE8, 0x9A, 0xA3}, // ò¼ - {0xD4E9, 0x86A4}, //{0xE8, 0x9A, 0xA4}, // Ôé - {0xF2BD, 0x86AA}, //{0xE8, 0x9A, 0xAA}, // ò½ - {0xF2C7, 0x86AF}, //{0xE8, 0x9A, 0xAF}, // òÇ - {0xD6FB, 0x86C0}, //{0xE8, 0x9B, 0x80}, // Öû - {0xC7F9, 0x86C6}, //{0xE8, 0x9B, 0x86}, // Çù - {0xC9DF, 0x86C7}, //{0xE8, 0x9B, 0x87}, // Éß - {0xF2C8, 0x86C9}, //{0xE8, 0x9B, 0x89}, // òÈ - {0xB5B0, 0x86CB}, //{0xE8, 0x9B, 0x8B}, // µ° - {0xBBD7, 0x86D4}, //{0xE8, 0x9B, 0x94}, // »× - {0xCDDC, 0x86D9}, //{0xE8, 0x9B, 0x99}, // ÍÜ - {0xD6EB, 0x86DB}, //{0xE8, 0x9B, 0x9B}, // Öë - {0xB8F2, 0x86E4}, //{0xE8, 0x9B, 0xA4}, // ¸ò - {0xC2F9, 0x86EE}, //{0xE8, 0x9B, 0xAE}, // Âù + {0xD2CF, 0x8681}, //{0xE8, 0x9A, 0x81}, // �� + {0xC2EC, 0x8682}, //{0xE8, 0x9A, 0x82}, // �� + {0xCEC3, 0x868A}, //{0xE8, 0x9A, 0x8A}, // �� + {0xB0F6, 0x868C}, //{0xE8, 0x9A, 0x8C}, // �� + {0xF2BE, 0x8693}, //{0xE8, 0x9A, 0x93}, // � + {0xB2CF, 0x8695}, //{0xE8, 0x9A, 0x95}, // �� + {0xD1C1, 0x869C}, //{0xE8, 0x9A, 0x9C}, // �� + {0xF2BC, 0x86A3}, //{0xE8, 0x9A, 0xA3}, // � + {0xD4E9, 0x86A4}, //{0xE8, 0x9A, 0xA4}, // �� + {0xF2BD, 0x86AA}, //{0xE8, 0x9A, 0xAA}, // � + {0xF2C7, 0x86AF}, //{0xE8, 0x9A, 0xAF}, // �� + {0xD6FB, 0x86C0}, //{0xE8, 0x9B, 0x80}, // �� + {0xC7F9, 0x86C6}, //{0xE8, 0x9B, 0x86}, // �� + {0xC9DF, 0x86C7}, //{0xE8, 0x9B, 0x87}, // �� + {0xF2C8, 0x86C9}, //{0xE8, 0x9B, 0x89}, // �� + {0xB5B0, 0x86CB}, //{0xE8, 0x9B, 0x8B}, // �� + {0xBBD7, 0x86D4}, //{0xE8, 0x9B, 0x94}, // �� + {0xCDDC, 0x86D9}, //{0xE8, 0x9B, 0x99}, // �� + {0xD6EB, 0x86DB}, //{0xE8, 0x9B, 0x9B}, // �� + {0xB8F2, 0x86E4}, //{0xE8, 0x9B, 0xA4}, // �� + {0xC2F9, 0x86EE}, //{0xE8, 0x9B, 0xAE}, // �� {0xD3BC, 0x86F9}, //{0xE8, 0x9B, 0xB9}, // Ó¼ - {0xB6EA, 0x86FE}, //{0xE8, 0x9B, 0xBE}, // ¶ê - {0xCAF1, 0x8700}, //{0xE8, 0x9C, 0x80}, // Êñ - {0xB7E4, 0x8702}, //{0xE8, 0x9C, 0x82}, // ·ä - {0xF2DA, 0x8708}, //{0xE8, 0x9C, 0x88}, // òÚ - {0xD1D1, 0x8712}, //{0xE8, 0x9C, 0x92}, // ÑÑ - {0xF2D1, 0x8713}, //{0xE8, 0x9C, 0x93}, // òÑ - {0xCDC9, 0x8715}, //{0xE8, 0x9C, 0x95}, // ÍÉ - {0xCECF, 0x8717}, //{0xE8, 0x9C, 0x97}, // ÎÏ + {0xB6EA, 0x86FE}, //{0xE8, 0x9B, 0xBE}, // �� + {0xCAF1, 0x8700}, //{0xE8, 0x9C, 0x80}, // �� + {0xB7E4, 0x8702}, //{0xE8, 0x9C, 0x82}, // �� + {0xF2DA, 0x8708}, //{0xE8, 0x9C, 0x88}, // �� + {0xD1D1, 0x8712}, //{0xE8, 0x9C, 0x92}, // �� + {0xF2D1, 0x8713}, //{0xE8, 0x9C, 0x93}, // �� + {0xCDC9, 0x8715}, //{0xE8, 0x9C, 0x95}, // �� + {0xCECF, 0x8717}, //{0xE8, 0x9C, 0x97}, // �� {0xD6A9, 0x8718}, //{0xE8, 0x9C, 0x98}, // Ö© - {0xC3DB, 0x871C}, //{0xE8, 0x9C, 0x9C}, // ÃÛ - {0xC0AF, 0x8721}, //{0xE8, 0x9C, 0xA1}, // À¯ - {0xF2DF, 0x873B}, //{0xE8, 0x9C, 0xBB}, // òß + {0xC3DB, 0x871C}, //{0xE8, 0x9C, 0x9C}, // �� + {0xC0AF, 0x8721}, //{0xE8, 0x9C, 0xA1}, // / + {0xF2DF, 0x873B}, //{0xE8, 0x9C, 0xBB}, // �� {0xD3AC, 0x8747}, //{0xE8, 0x9D, 0x87}, // Ó¬ - {0xB2F5, 0x8749}, //{0xE8, 0x9D, 0x89}, // ²õ - {0xF2F2, 0x874C}, //{0xE8, 0x9D, 0x8C}, // òò + {0xB2F5, 0x8749}, //{0xE8, 0x9D, 0x89}, // �� + {0xF2F2, 0x874C}, //{0xE8, 0x9D, 0x8C}, // �� {0xD0AB, 0x874E}, //{0xE8, 0x9D, 0x8E}, // Ы - {0xBBC8, 0x8757}, //{0xE8, 0x9D, 0x97}, // »È - {0xF2F9, 0x8759}, //{0xE8, 0x9D, 0x99}, // òù - {0xF2F0, 0x8760}, //{0xE8, 0x9D, 0xA0}, // òð - {0xBAFB, 0x8774}, //{0xE8, 0x9D, 0xB4}, // ºû - {0xB5FB, 0x8776}, //{0xE8, 0x9D, 0xB6}, // µû - {0xF3A6, 0x8783}, //{0xE8, 0x9E, 0x83}, // ó¦ - {0xC8DA, 0x878D}, //{0xE8, 0x9E, 0x8D}, // ÈÚ - {0xC3F8, 0x879F}, //{0xE8, 0x9E, 0x9F}, // Ãø - {0xC2DD, 0x87BA}, //{0xE8, 0x9E, 0xBA}, // ÂÝ - {0xF3B0, 0x87C0}, //{0xE8, 0x9F, 0x80}, // ó° - {0xF3A1, 0x87C6}, //{0xE8, 0x9F, 0x86}, // ó¡ - {0xF3AC, 0x87CB}, //{0xE8, 0x9F, 0x8B}, // ó¬ + {0xBBC8, 0x8757}, //{0xE8, 0x9D, 0x97}, // �� + {0xF2F9, 0x8759}, //{0xE8, 0x9D, 0x99}, // �� + {0xF2F0, 0x8760}, //{0xE8, 0x9D, 0xA0}, // �� + {0xBAFB, 0x8774}, //{0xE8, 0x9D, 0xB4}, // �� + {0xB5FB, 0x8776}, //{0xE8, 0x9D, 0xB6}, // �� + {0xF3A6, 0x8783}, //{0xE8, 0x9E, 0x83}, // � + {0xC8DA, 0x878D}, //{0xE8, 0x9E, 0x8D}, // �� + {0xC3F8, 0x879F}, //{0xE8, 0x9E, 0x9F}, // �� + {0xC2DD, 0x87BA}, //{0xE8, 0x9E, 0xBA}, // �� + {0xF3B0, 0x87C0}, //{0xE8, 0x9F, 0x80}, // � + {0xF3A1, 0x87C6}, //{0xE8, 0x9F, 0x86}, // � + {0xF3AC, 0x87CB}, //{0xE8, 0x9F, 0x8B}, // � {0xD0B7, 0x87F9}, //{0xE8, 0x9F, 0xB9}, // з - {0xC8E4, 0x8815}, //{0xE8, 0xA0, 0x95}, // Èä - {0xB4C0, 0x8822}, //{0xE8, 0xA0, 0xA2}, // ´À + {0xC8E4, 0x8815}, //{0xE8, 0xA0, 0x95}, // �� + {0xB4C0, 0x8822}, //{0xE8, 0xA0, 0xA2}, // �� {0xD1AA, 0x8840}, //{0xE8, 0xA1, 0x80}, // Ѫ - {0xD0C6, 0x8845}, //{0xE8, 0xA1, 0x85}, // ÐÆ - {0xD0D0, 0x884C}, //{0xE8, 0xA1, 0x8C}, // ÐÐ - {0xD1DC, 0x884D}, //{0xE8, 0xA1, 0x8D}, // ÑÜ - {0xCFCE, 0x8854}, //{0xE8, 0xA1, 0x94}, // ÏÎ - {0xBDD6, 0x8857}, //{0xE8, 0xA1, 0x97}, // ½Ö - {0xD1C3, 0x8859}, //{0xE8, 0xA1, 0x99}, // Ñà - {0xBAE2, 0x8861}, //{0xE8, 0xA1, 0xA1}, // ºâ - {0xD2C2, 0x8863}, //{0xE8, 0xA1, 0xA3}, // Ò - {0xB2B9, 0x8865}, //{0xE8, 0xA1, 0xA5}, // ²¹ - {0xB1ED, 0x8868}, //{0xE8, 0xA1, 0xA8}, // ±í - {0xF1C3, 0x8869}, //{0xE8, 0xA1, 0xA9}, // ñà - {0xC9C0, 0x886B}, //{0xE8, 0xA1, 0xAB}, // ÉÀ - {0xB3C4, 0x886C}, //{0xE8, 0xA1, 0xAC}, // ³Ä + {0xD0C6, 0x8845}, //{0xE8, 0xA1, 0x85}, // �� + {0xD0D0, 0x884C}, //{0xE8, 0xA1, 0x8C}, // �� + {0xD1DC, 0x884D}, //{0xE8, 0xA1, 0x8D}, // �� + {0xCFCE, 0x8854}, //{0xE8, 0xA1, 0x94}, // �� + {0xBDD6, 0x8857}, //{0xE8, 0xA1, 0x97}, // �� + {0xD1C3, 0x8859}, //{0xE8, 0xA1, 0x99}, // �� + {0xBAE2, 0x8861}, //{0xE8, 0xA1, 0xA1}, // �� + {0xD2C2, 0x8863}, //{0xE8, 0xA1, 0xA3}, // �� + {0xB2B9, 0x8865}, //{0xE8, 0xA1, 0xA5}, // �� + {0xB1ED, 0x8868}, //{0xE8, 0xA1, 0xA8}, // �� + {0xF1C3, 0x8869}, //{0xE8, 0xA1, 0xA9}, // �� + {0xC9C0, 0x886B}, //{0xE8, 0xA1, 0xAB}, // �� + {0xB3C4, 0x886C}, //{0xE8, 0xA1, 0xAC}, // �� {0xCBA5, 0x8870}, //{0xE8, 0xA1, 0xB0}, // Ë¥ - {0xD6D4, 0x8877}, //{0xE8, 0xA1, 0xB7}, // ÖÔ + {0xD6D4, 0x8877}, //{0xE8, 0xA1, 0xB7}, // �� {0xD4AC, 0x8881}, //{0xE8, 0xA2, 0x81}, // Ô¬ - {0xB0C0, 0x8884}, //{0xE8, 0xA2, 0x84}, // °À - {0xB4FC, 0x888B}, //{0xE8, 0xA2, 0x8B}, // ´ü - {0xC5DB, 0x888D}, //{0xE8, 0xA2, 0x8D}, // ÅÛ + {0xB0C0, 0x8884}, //{0xE8, 0xA2, 0x84}, // �� + {0xB4FC, 0x888B}, //{0xE8, 0xA2, 0x8B}, // �� + {0xC5DB, 0x888D}, //{0xE8, 0xA2, 0x8D}, // �� {0xCCBB, 0x8892}, //{0xE8, 0xA2, 0x92}, // Ì» - {0xD0E4, 0x8896}, //{0xE8, 0xA2, 0x96}, // Ðä - {0xCDE0, 0x889C}, //{0xE8, 0xA2, 0x9C}, // Íà - {0xB1BB, 0x88AB}, //{0xE8, 0xA2, 0xAB}, // ±» + {0xD0E4, 0x8896}, //{0xE8, 0xA2, 0x96}, // �� + {0xCDE0, 0x889C}, //{0xE8, 0xA2, 0x9C}, // �� + {0xB1BB, 0x88AB}, //{0xE8, 0xA2, 0xAB}, // �� {0xCFAE, 0x88AD}, //{0xE8, 0xA2, 0xAD}, // Ï® - {0xB8A4, 0x88B1}, //{0xE8, 0xA2, 0xB1}, // ¸¤ - {0xB2C3, 0x88C1}, //{0xE8, 0xA3, 0x81}, // ²Ã - {0xC1D1, 0x88C2}, //{0xE8, 0xA3, 0x82}, // ÁÑ + {0xB8A4, 0x88B1}, //{0xE8, 0xA2, 0xB1}, // �� + {0xB2C3, 0x88C1}, //{0xE8, 0xA3, 0x81}, // �� + {0xC1D1, 0x88C2}, //{0xE8, 0xA3, 0x82}, // �� {0xD7B0, 0x88C5}, //{0xE8, 0xA3, 0x85}, // ×° - {0xF1C9, 0x88C6}, //{0xE8, 0xA3, 0x86}, // ñÉ - {0xF1CC, 0x88C9}, //{0xE8, 0xA3, 0x89}, // ñÌ + {0xF1C9, 0x88C6}, //{0xE8, 0xA3, 0x86}, // �� + {0xF1CC, 0x88C9}, //{0xE8, 0xA3, 0x89}, // �� {0xD4A3, 0x88D5}, //{0xE8, 0xA3, 0x95}, // Ô£ {0xC8B9, 0x88D9}, //{0xE8, 0xA3, 0x99}, // ȹ - {0xBFE3, 0x88E4}, //{0xE8, 0xA3, 0xA4}, // ¿ã - {0xC9D1, 0x88F3}, //{0xE8, 0xA3, 0xB3}, // ÉÑ - {0xC2E3, 0x88F8}, //{0xE8, 0xA3, 0xB8}, // Âã - {0xB9FC, 0x88F9}, //{0xE8, 0xA3, 0xB9}, // ¹ü - {0xB9D3, 0x8902}, //{0xE8, 0xA4, 0x82}, // ¹Ó - {0xBAD6, 0x8910}, //{0xE8, 0xA4, 0x90}, // ºÖ - {0xB0FD, 0x8912}, //{0xE8, 0xA4, 0x92}, // °ý - {0xC8EC, 0x8925}, //{0xE8, 0xA4, 0xA5}, // Èì - {0xBDF3, 0x895F}, //{0xE8, 0xA5, 0x9F}, // ½ó - {0xCEF7, 0x897F}, //{0xE8, 0xA5, 0xBF}, // Î÷ + {0xBFE3, 0x88E4}, //{0xE8, 0xA3, 0xA4}, // �� + {0xC9D1, 0x88F3}, //{0xE8, 0xA3, 0xB3}, // �� + {0xC2E3, 0x88F8}, //{0xE8, 0xA3, 0xB8}, // �� + {0xB9FC, 0x88F9}, //{0xE8, 0xA3, 0xB9}, // �� + {0xB9D3, 0x8902}, //{0xE8, 0xA4, 0x82}, // �� + {0xBAD6, 0x8910}, //{0xE8, 0xA4, 0x90}, // �� + {0xB0FD, 0x8912}, //{0xE8, 0xA4, 0x92}, // �� + {0xC8EC, 0x8925}, //{0xE8, 0xA4, 0xA5}, // �� + {0xBDF3, 0x895F}, //{0xE8, 0xA5, 0x9F}, // �� + {0xCEF7, 0x897F}, //{0xE8, 0xA5, 0xBF}, // �� {0xD2AA, 0x8981}, //{0xE8, 0xA6, 0x81}, // Òª - {0xB8B2, 0x8986}, //{0xE8, 0xA6, 0x86}, // ¸² - {0xBCFB, 0x89C1}, //{0xE8, 0xA7, 0x81}, // ¼û - {0xB9DB, 0x89C2}, //{0xE8, 0xA7, 0x82}, // ¹Û - {0xB9E6, 0x89C4}, //{0xE8, 0xA7, 0x84}, // ¹æ - {0xC3D9, 0x89C5}, //{0xE8, 0xA7, 0x85}, // ÃÙ - {0xCAD3, 0x89C6}, //{0xE8, 0xA7, 0x86}, // ÊÓ - {0xC0C0, 0x89C8}, //{0xE8, 0xA7, 0x88}, // ÀÀ - {0xBEF5, 0x89C9}, //{0xE8, 0xA7, 0x89}, // ¾õ - {0xBDC7, 0x89D2}, //{0xE8, 0xA7, 0x92}, // ½Ç - {0xBDE2, 0x89E3}, //{0xE8, 0xA7, 0xA3}, // ½â - {0xB4A5, 0x89E6}, //{0xE8, 0xA7, 0xA6}, // ´¥ - {0xD1D4, 0x8A00}, //{0xE8, 0xA8, 0x80}, // ÑÔ - {0xD3FE, 0x8A89}, //{0xE8, 0xAA, 0x89}, // Óþ - {0xCCDC, 0x8A8A}, //{0xE8, 0xAA, 0x8A}, // ÌÜ - {0xCAC4, 0x8A93}, //{0xE8, 0xAA, 0x93}, // ÊÄ - {0xBEAF, 0x8B66}, //{0xE8, 0xAD, 0xA6}, // ¾¯ + {0xB8B2, 0x8986}, //{0xE8, 0xA6, 0x86}, // �� + {0xBCFB, 0x89C1}, //{0xE8, 0xA7, 0x81}, // �� + {0xB9DB, 0x89C2}, //{0xE8, 0xA7, 0x82}, // �� + {0xB9E6, 0x89C4}, //{0xE8, 0xA7, 0x84}, // �� + {0xC3D9, 0x89C5}, //{0xE8, 0xA7, 0x85}, // �� + {0xCAD3, 0x89C6}, //{0xE8, 0xA7, 0x86}, // �� + {0xC0C0, 0x89C8}, //{0xE8, 0xA7, 0x88}, // �� + {0xBEF5, 0x89C9}, //{0xE8, 0xA7, 0x89}, // �� + {0xBDC7, 0x89D2}, //{0xE8, 0xA7, 0x92}, // �� + {0xBDE2, 0x89E3}, //{0xE8, 0xA7, 0xA3}, // �� + {0xB4A5, 0x89E6}, //{0xE8, 0xA7, 0xA6}, // �� + {0xD1D4, 0x8A00}, //{0xE8, 0xA8, 0x80}, // �� + {0xD3FE, 0x8A89}, //{0xE8, 0xAA, 0x89}, // �� + {0xCCDC, 0x8A8A}, //{0xE8, 0xAA, 0x8A}, // �� + {0xCAC4, 0x8A93}, //{0xE8, 0xAA, 0x93}, // �� + {0xBEAF, 0x8B66}, //{0xE8, 0xAD, 0xA6}, // �� {0xC6A9, 0x8B6C}, //{0xE8, 0xAD, 0xAC}, // Æ© - {0xBCC6, 0x8BA1}, //{0xE8, 0xAE, 0xA1}, // ¼Æ - {0xB6A9, 0x8BA2}, //{0xE8, 0xAE, 0xA2}, // ¶© - {0xC8CF, 0x8BA4}, //{0xE8, 0xAE, 0xA4}, // ÈÏ - {0xBCA5, 0x8BA5}, //{0xE8, 0xAE, 0xA5}, // ¼¥ - {0xCCD6, 0x8BA8}, //{0xE8, 0xAE, 0xA8}, // ÌÖ - {0xC8C3, 0x8BA9}, //{0xE8, 0xAE, 0xA9}, // Èà + {0xBCC6, 0x8BA1}, //{0xE8, 0xAE, 0xA1}, // �� + {0xB6A9, 0x8BA2}, //{0xE8, 0xAE, 0xA2}, // �� + {0xC8CF, 0x8BA4}, //{0xE8, 0xAE, 0xA4}, // �� + {0xBCA5, 0x8BA5}, //{0xE8, 0xAE, 0xA5}, // �� + {0xCCD6, 0x8BA8}, //{0xE8, 0xAE, 0xA8}, // �� + {0xC8C3, 0x8BA9}, //{0xE8, 0xAE, 0xA9}, // �� {0xD1B5, 0x8BAD}, //{0xE8, 0xAE, 0xAD}, // ѵ - {0xD2E9, 0x8BAE}, //{0xE8, 0xAE, 0xAE}, // Òé + {0xD2E9, 0x8BAE}, //{0xE8, 0xAE, 0xAE}, // �� {0xD1B6, 0x8BAF}, //{0xE8, 0xAE, 0xAF}, // Ѷ - {0xBCC7, 0x8BB0}, //{0xE8, 0xAE, 0xB0}, // ¼Ç - {0xBDB2, 0x8BB2}, //{0xE8, 0xAE, 0xB2}, // ½² - {0xBBE4, 0x8BB3}, //{0xE8, 0xAE, 0xB3}, // »ä - {0xD1C8, 0x8BB6}, //{0xE8, 0xAE, 0xB6}, // ÑÈ - {0xD0ED, 0x8BB8}, //{0xE8, 0xAE, 0xB8}, // Ðí - {0xB6EF, 0x8BB9}, //{0xE8, 0xAE, 0xB9}, // ¶ï - {0xC2DB, 0x8BBA}, //{0xE8, 0xAE, 0xBA}, // ÂÛ - {0xCBCF, 0x8BBC}, //{0xE8, 0xAE, 0xBC}, // ËÏ - {0xB7ED, 0x8BBD}, //{0xE8, 0xAE, 0xBD}, // ·í - {0xC9E8, 0x8BBE}, //{0xE8, 0xAE, 0xBE}, // Éè - {0xB7C3, 0x8BBF}, //{0xE8, 0xAE, 0xBF}, // ·Ã - {0xBEF7, 0x8BC0}, //{0xE8, 0xAF, 0x80}, // ¾÷ + {0xBCC7, 0x8BB0}, //{0xE8, 0xAE, 0xB0}, // �� + {0xBDB2, 0x8BB2}, //{0xE8, 0xAE, 0xB2}, // �� + {0xBBE4, 0x8BB3}, //{0xE8, 0xAE, 0xB3}, // �� + {0xD1C8, 0x8BB6}, //{0xE8, 0xAE, 0xB6}, // �� + {0xD0ED, 0x8BB8}, //{0xE8, 0xAE, 0xB8}, // �� + {0xB6EF, 0x8BB9}, //{0xE8, 0xAE, 0xB9}, // �� + {0xC2DB, 0x8BBA}, //{0xE8, 0xAE, 0xBA}, // �� + {0xCBCF, 0x8BBC}, //{0xE8, 0xAE, 0xBC}, // �� + {0xB7ED, 0x8BBD}, //{0xE8, 0xAE, 0xBD}, // �� + {0xC9E8, 0x8BBE}, //{0xE8, 0xAE, 0xBE}, // �� + {0xB7C3, 0x8BBF}, //{0xE8, 0xAE, 0xBF}, // �� + {0xBEF7, 0x8BC0}, //{0xE8, 0xAF, 0x80}, // �� {0xD6A4, 0x8BC1}, //{0xE8, 0xAF, 0x81}, // Ö¤ - {0xC6C0, 0x8BC4}, //{0xE8, 0xAF, 0x84}, // ÆÀ - {0xD7E7, 0x8BC5}, //{0xE8, 0xAF, 0x85}, // ×ç + {0xC6C0, 0x8BC4}, //{0xE8, 0xAF, 0x84}, // �� + {0xD7E7, 0x8BC5}, //{0xE8, 0xAF, 0x85}, // �� {0xCAB6, 0x8BC6}, //{0xE8, 0xAF, 0x86}, // ʶ {0xD5A9, 0x8BC8}, //{0xE8, 0xAF, 0x88}, // Õ© - {0xCBDF, 0x8BC9}, //{0xE8, 0xAF, 0x89}, // Ëß - {0xD5EF, 0x8BCA}, //{0xE8, 0xAF, 0x8A}, // Õï - {0xB4CA, 0x8BCD}, //{0xE8, 0xAF, 0x8D}, // ´Ê - {0xD2EB, 0x8BD1}, //{0xE8, 0xAF, 0x91}, // Òë - {0xCAD4, 0x8BD5}, //{0xE8, 0xAF, 0x95}, // ÊÔ + {0xCBDF, 0x8BC9}, //{0xE8, 0xAF, 0x89}, // �� + {0xD5EF, 0x8BCA}, //{0xE8, 0xAF, 0x8A}, // �� + {0xB4CA, 0x8BCD}, //{0xE8, 0xAF, 0x8D}, // �� + {0xD2EB, 0x8BD1}, //{0xE8, 0xAF, 0x91}, // �� + {0xCAD4, 0x8BD5}, //{0xE8, 0xAF, 0x95}, // �� {0xCAAB, 0x8BD7}, //{0xE8, 0xAF, 0x97}, // Ê« - {0xB3CF, 0x8BDA}, //{0xE8, 0xAF, 0x9A}, // ³Ï - {0xBBB0, 0x8BDD}, //{0xE8, 0xAF, 0x9D}, // »° - {0xB5AE, 0x8BDE}, //{0xE8, 0xAF, 0x9E}, // µ® - {0xB9EE, 0x8BE1}, //{0xE8, 0xAF, 0xA1}, // ¹î + {0xB3CF, 0x8BDA}, //{0xE8, 0xAF, 0x9A}, // �� + {0xBBB0, 0x8BDD}, //{0xE8, 0xAF, 0x9D}, // �� + {0xB5AE, 0x8BDE}, //{0xE8, 0xAF, 0x9E}, // �� + {0xB9EE, 0x8BE1}, //{0xE8, 0xAF, 0xA1}, // �� {0xD1AF, 0x8BE2}, //{0xE8, 0xAF, 0xA2}, // ѯ - {0xB8C3, 0x8BE5}, //{0xE8, 0xAF, 0xA5}, // ¸Ã - {0xCFEA, 0x8BE6}, //{0xE8, 0xAF, 0xA6}, // Ïê - {0xBDEB, 0x8BEB}, //{0xE8, 0xAF, 0xAB}, // ½ë - {0xCEDC, 0x8BEC}, //{0xE8, 0xAF, 0xAC}, // ÎÜ - {0xD3EF, 0x8BED}, //{0xE8, 0xAF, 0xAD}, // Óï - {0xCEF3, 0x8BEF}, //{0xE8, 0xAF, 0xAF}, // Îó - {0xD3D5, 0x8BF1}, //{0xE8, 0xAF, 0xB1}, // ÓÕ - {0xBBE5, 0x8BF2}, //{0xE8, 0xAF, 0xB2}, // »å + {0xB8C3, 0x8BE5}, //{0xE8, 0xAF, 0xA5}, // �� + {0xCFEA, 0x8BE6}, //{0xE8, 0xAF, 0xA6}, // �� + {0xBDEB, 0x8BEB}, //{0xE8, 0xAF, 0xAB}, // �� + {0xCEDC, 0x8BEC}, //{0xE8, 0xAF, 0xAC}, // �� + {0xD3EF, 0x8BED}, //{0xE8, 0xAF, 0xAD}, // �� + {0xCEF3, 0x8BEF}, //{0xE8, 0xAF, 0xAF}, // �� + {0xD3D5, 0x8BF1}, //{0xE8, 0xAF, 0xB1}, // �� + {0xBBE5, 0x8BF2}, //{0xE8, 0xAF, 0xB2}, // �� {0xCBB5, 0x8BF4}, //{0xE8, 0xAF, 0xB4}, // ˵ - {0xCBD0, 0x8BF5}, //{0xE8, 0xAF, 0xB5}, // ËÐ - {0xC7EB, 0x8BF7}, //{0xE8, 0xAF, 0xB7}, // Çë - {0xD6EE, 0x8BF8}, //{0xE8, 0xAF, 0xB8}, // Öî + {0xCBD0, 0x8BF5}, //{0xE8, 0xAF, 0xB5}, // �� + {0xC7EB, 0x8BF7}, //{0xE8, 0xAF, 0xB7}, // �� + {0xD6EE, 0x8BF8}, //{0xE8, 0xAF, 0xB8}, // �� {0xC5B5, 0x8BFA}, //{0xE8, 0xAF, 0xBA}, // ŵ - {0xB6C1, 0x8BFB}, //{0xE8, 0xAF, 0xBB}, // ¶Á - {0xB7CC, 0x8BFD}, //{0xE8, 0xAF, 0xBD}, // ·Ì - {0xBFCE, 0x8BFE}, //{0xE8, 0xAF, 0xBE}, // ¿Î + {0xB6C1, 0x8BFB}, //{0xE8, 0xAF, 0xBB}, // �� + {0xB7CC, 0x8BFD}, //{0xE8, 0xAF, 0xBD}, // �� + {0xBFCE, 0x8BFE}, //{0xE8, 0xAF, 0xBE}, // �� {0xCBAD, 0x8C01}, //{0xE8, 0xB0, 0x81}, // Ë­ - {0xB5F7, 0x8C03}, //{0xE8, 0xB0, 0x83}, // µ÷ - {0xC1C2, 0x8C05}, //{0xE8, 0xB0, 0x85}, // Á + {0xB5F7, 0x8C03}, //{0xE8, 0xB0, 0x83}, // �� + {0xC1C2, 0x8C05}, //{0xE8, 0xB0, 0x85}, // �� {0xD7BB, 0x8C06}, //{0xE8, 0xB0, 0x86}, // ×» {0xCCB8, 0x8C08}, //{0xE8, 0xB0, 0x88}, // ̸ - {0xD2EA, 0x8C0A}, //{0xE8, 0xB0, 0x8A}, // Òê + {0xD2EA, 0x8C0A}, //{0xE8, 0xB0, 0x8A}, // �� {0xC4B1, 0x8C0B}, //{0xE8, 0xB0, 0x8B}, // ı - {0xB5FD, 0x8C0D}, //{0xE8, 0xB0, 0x8D}, // µý - {0xBBD1, 0x8C0E}, //{0xE8, 0xB0, 0x8E}, // »Ñ + {0xB5FD, 0x8C0D}, //{0xE8, 0xB0, 0x8D}, // �� + {0xBBD1, 0x8C0E}, //{0xE8, 0xB0, 0x8E}, // �� {0xD0B3, 0x8C10}, //{0xE8, 0xB0, 0x90}, // г - {0xDACB, 0x8C12}, //{0xE8, 0xB0, 0x92}, // ÚË + {0xDACB, 0x8C12}, //{0xE8, 0xB0, 0x92}, // �� {0xCEBD, 0x8C13}, //{0xE8, 0xB0, 0x93}, // ν - {0xD1E8, 0x8C1A}, //{0xE8, 0xB0, 0x9A}, // Ñè - {0xC3D5, 0x8C1C}, //{0xE8, 0xB0, 0x9C}, // ÃÕ + {0xD1E8, 0x8C1A}, //{0xE8, 0xB0, 0x9A}, // �� + {0xC3D5, 0x8C1C}, //{0xE8, 0xB0, 0x9C}, // �� {0xD0BB, 0x8C22}, //{0xE8, 0xB0, 0xA2}, // л {0xD2A5, 0x8C23}, //{0xE8, 0xB0, 0xA3}, // Ò¥ - {0xB0F9, 0x8C24}, //{0xE8, 0xB0, 0xA4}, // °ù + {0xB0F9, 0x8C24}, //{0xE8, 0xB0, 0xA4}, // �� {0xC7AB, 0x8C26}, //{0xE8, 0xB0, 0xA6}, // Ç« - {0xBDF7, 0x8C28}, //{0xE8, 0xB0, 0xA8}, // ½÷ - {0xC3FD, 0x8C2C}, //{0xE8, 0xB0, 0xAC}, // Ãý + {0xBDF7, 0x8C28}, //{0xE8, 0xB0, 0xA8}, // �� + {0xC3FD, 0x8C2C}, //{0xE8, 0xB0, 0xAC}, // �� {0xCCB7, 0x8C2D}, //{0xE8, 0xB0, 0xAD}, // Ì· - {0xC6D7, 0x8C31}, //{0xE8, 0xB0, 0xB1}, // Æ× + {0xC6D7, 0x8C31}, //{0xE8, 0xB0, 0xB1}, // �� {0xC7B4, 0x8C34}, //{0xE8, 0xB0, 0xB4}, // Ç´ - {0xB9C8, 0x8C37}, //{0xE8, 0xB0, 0xB7}, // ¹È - {0xBBED, 0x8C41}, //{0xE8, 0xB1, 0x81}, // »í - {0xB6B9, 0x8C46}, //{0xE8, 0xB1, 0x86}, // ¶¹ - {0xCDE3, 0x8C4C}, //{0xE8, 0xB1, 0x8C}, // Íã - {0xCFF3, 0x8C61}, //{0xE8, 0xB1, 0xA1}, // Ïó - {0xBAC0, 0x8C6A}, //{0xE8, 0xB1, 0xAA}, // ºÀ + {0xB9C8, 0x8C37}, //{0xE8, 0xB0, 0xB7}, // �� + {0xBBED, 0x8C41}, //{0xE8, 0xB1, 0x81}, // �� + {0xB6B9, 0x8C46}, //{0xE8, 0xB1, 0x86}, // �� + {0xCDE3, 0x8C4C}, //{0xE8, 0xB1, 0x8C}, // �� + {0xCFF3, 0x8C61}, //{0xE8, 0xB1, 0xA1}, // �� + {0xBAC0, 0x8C6A}, //{0xE8, 0xB1, 0xAA}, // �� {0xD4A5, 0x8C6B}, //{0xE8, 0xB1, 0xAB}, // Ô¥ - {0xB1AA, 0x8C79}, //{0xE8, 0xB1, 0xB9}, // ±ª - {0xB2F2, 0x8C7A}, //{0xE8, 0xB1, 0xBA}, // ²ò + {0xB1AA, 0x8C79}, //{0xE8, 0xB1, 0xB9}, // �� + {0xB2F2, 0x8C7A}, //{0xE8, 0xB1, 0xBA}, // �� {0xC3B2, 0x8C8C}, //{0xE8, 0xB2, 0x8C}, // ò - {0xB1B4, 0x8D1D}, //{0xE8, 0xB4, 0x9D}, // ±´ - {0xD5EA, 0x8D1E}, //{0xE8, 0xB4, 0x9E}, // Õê - {0xB8BA, 0x8D1F}, //{0xE8, 0xB4, 0x9F}, // ¸º - {0xB9B1, 0x8D21}, //{0xE8, 0xB4, 0xA1}, // ¹± - {0xB2C6, 0x8D22}, //{0xE8, 0xB4, 0xA2}, // ²Æ - {0xD4F0, 0x8D23}, //{0xE8, 0xB4, 0xA3}, // Ôð - {0xCFCD, 0x8D24}, //{0xE8, 0xB4, 0xA4}, // ÏÍ - {0xB0DC, 0x8D25}, //{0xE8, 0xB4, 0xA5}, // °Ü - {0xD5CB, 0x8D26}, //{0xE8, 0xB4, 0xA6}, // ÕË - {0xBBF5, 0x8D27}, //{0xE8, 0xB4, 0xA7}, // »õ - {0xD6CA, 0x8D28}, //{0xE8, 0xB4, 0xA8}, // ÖÊ - {0xB7B7, 0x8D29}, //{0xE8, 0xB4, 0xA9}, // ·· + {0xB1B4, 0x8D1D}, //{0xE8, 0xB4, 0x9D}, // �� + {0xD5EA, 0x8D1E}, //{0xE8, 0xB4, 0x9E}, // �� + {0xB8BA, 0x8D1F}, //{0xE8, 0xB4, 0x9F}, // �� + {0xB9B1, 0x8D21}, //{0xE8, 0xB4, 0xA1}, // �� + {0xB2C6, 0x8D22}, //{0xE8, 0xB4, 0xA2}, // �� + {0xD4F0, 0x8D23}, //{0xE8, 0xB4, 0xA3}, // �� + {0xCFCD, 0x8D24}, //{0xE8, 0xB4, 0xA4}, // �� + {0xB0DC, 0x8D25}, //{0xE8, 0xB4, 0xA5}, // �� + {0xD5CB, 0x8D26}, //{0xE8, 0xB4, 0xA6}, // �� + {0xBBF5, 0x8D27}, //{0xE8, 0xB4, 0xA7}, // �� + {0xD6CA, 0x8D28}, //{0xE8, 0xB4, 0xA8}, // �� + {0xB7B7, 0x8D29}, //{0xE8, 0xB4, 0xA9}, // �� {0xCCB0, 0x8D2A}, //{0xE8, 0xB4, 0xAA}, // ̰ {0xC6B6, 0x8D2B}, //{0xE8, 0xB4, 0xAB}, // ƶ - {0xB1E1, 0x8D2C}, //{0xE8, 0xB4, 0xAC}, // ±á - {0xB9BA, 0x8D2D}, //{0xE8, 0xB4, 0xAD}, // ¹º - {0xD6FC, 0x8D2E}, //{0xE8, 0xB4, 0xAE}, // Öü - {0xB9E1, 0x8D2F}, //{0xE8, 0xB4, 0xAF}, // ¹á - {0xB7A1, 0x8D30}, //{0xE8, 0xB4, 0xB0}, // ·¡ - {0xBCFA, 0x8D31}, //{0xE8, 0xB4, 0xB1}, // ¼ú - {0xCCF9, 0x8D34}, //{0xE8, 0xB4, 0xB4}, // Ìù - {0xB9F3, 0x8D35}, //{0xE8, 0xB4, 0xB5}, // ¹ó + {0xB1E1, 0x8D2C}, //{0xE8, 0xB4, 0xAC}, // �� + {0xB9BA, 0x8D2D}, //{0xE8, 0xB4, 0xAD}, // �� + {0xD6FC, 0x8D2E}, //{0xE8, 0xB4, 0xAE}, // �� + {0xB9E1, 0x8D2F}, //{0xE8, 0xB4, 0xAF}, // �� + {0xB7A1, 0x8D30}, //{0xE8, 0xB4, 0xB0}, // �� + {0xBCFA, 0x8D31}, //{0xE8, 0xB4, 0xB1}, // �� + {0xCCF9, 0x8D34}, //{0xE8, 0xB4, 0xB4}, // �� + {0xB9F3, 0x8D35}, //{0xE8, 0xB4, 0xB5}, // �� {0xC3B3, 0x8D38}, //{0xE8, 0xB4, 0xB8}, // ó - {0xB7D1, 0x8D39}, //{0xE8, 0xB4, 0xB9}, // ·Ñ - {0xBAD8, 0x8D3A}, //{0xE8, 0xB4, 0xBA}, // ºØ - {0xD4F4, 0x8D3C}, //{0xE8, 0xB4, 0xBC}, // Ôô - {0xBCD6, 0x8D3E}, //{0xE8, 0xB4, 0xBE}, // ¼Ö - {0xBBDF, 0x8D3F}, //{0xE8, 0xB4, 0xBF}, // »ß - {0xC1DE, 0x8D41}, //{0xE8, 0xB5, 0x81}, // ÁÞ + {0xB7D1, 0x8D39}, //{0xE8, 0xB4, 0xB9}, // �� + {0xBAD8, 0x8D3A}, //{0xE8, 0xB4, 0xBA}, // �� + {0xD4F4, 0x8D3C}, //{0xE8, 0xB4, 0xBC}, // �� + {0xBCD6, 0x8D3E}, //{0xE8, 0xB4, 0xBE}, // �� + {0xBBDF, 0x8D3F}, //{0xE8, 0xB4, 0xBF}, // �� + {0xC1DE, 0x8D41}, //{0xE8, 0xB5, 0x81}, // �� {0xC2B8, 0x8D42}, //{0xE8, 0xB5, 0x82}, // ¸ - {0xD4DF, 0x8D43}, //{0xE8, 0xB5, 0x83}, // Ôß - {0xD7CA, 0x8D44}, //{0xE8, 0xB5, 0x84}, // ×Ê - {0xC9DE, 0x8D4A}, //{0xE8, 0xB5, 0x8A}, // ÉÞ - {0xB8B3, 0x8D4B}, //{0xE8, 0xB5, 0x8B}, // ¸³ - {0xB6C4, 0x8D4C}, //{0xE8, 0xB5, 0x8C}, // ¶Ä - {0xCAEA, 0x8D4E}, //{0xE8, 0xB5, 0x8E}, // Êê - {0xC9CD, 0x8D4F}, //{0xE8, 0xB5, 0x8F}, // ÉÍ - {0xB4CD, 0x8D50}, //{0xE8, 0xB5, 0x90}, // ´Í - {0xC5E2, 0x8D54}, //{0xE8, 0xB5, 0x94}, // Åâ - {0xC0B5, 0x8D56}, //{0xE8, 0xB5, 0x96}, // Àµ + {0xD4DF, 0x8D43}, //{0xE8, 0xB5, 0x83}, // �� + {0xD7CA, 0x8D44}, //{0xE8, 0xB5, 0x84}, // �� + {0xC9DE, 0x8D4A}, //{0xE8, 0xB5, 0x8A}, // �� + {0xB8B3, 0x8D4B}, //{0xE8, 0xB5, 0x8B}, // �� + {0xB6C4, 0x8D4C}, //{0xE8, 0xB5, 0x8C}, // �� + {0xCAEA, 0x8D4E}, //{0xE8, 0xB5, 0x8E}, // �� + {0xC9CD, 0x8D4F}, //{0xE8, 0xB5, 0x8F}, // �� + {0xB4CD, 0x8D50}, //{0xE8, 0xB5, 0x90}, // �� + {0xC5E2, 0x8D54}, //{0xE8, 0xB5, 0x94}, // �� + {0xC0B5, 0x8D56}, //{0xE8, 0xB5, 0x96}, // 5 {0xD7B8, 0x8D58}, //{0xE8, 0xB5, 0x98}, // ׸ {0xD7AC, 0x8D5A}, //{0xE8, 0xB5, 0x9A}, // ׬ - {0xC8FC, 0x8D5B}, //{0xE8, 0xB5, 0x9B}, // Èü - {0xD4DE, 0x8D5E}, //{0xE8, 0xB5, 0x9E}, // ÔÞ - {0xD4F9, 0x8D60}, //{0xE8, 0xB5, 0xA0}, // Ôù - {0xC9C4, 0x8D61}, //{0xE8, 0xB5, 0xA1}, // ÉÄ + {0xC8FC, 0x8D5B}, //{0xE8, 0xB5, 0x9B}, // �� + {0xD4DE, 0x8D5E}, //{0xE8, 0xB5, 0x9E}, // �� + {0xD4F9, 0x8D60}, //{0xE8, 0xB5, 0xA0}, // �� + {0xC9C4, 0x8D61}, //{0xE8, 0xB5, 0xA1}, // �� {0xD3AE, 0x8D62}, //{0xE8, 0xB5, 0xA2}, // Ó® - {0xB3E0, 0x8D64}, //{0xE8, 0xB5, 0xA4}, // ³à - {0xC9E2, 0x8D66}, //{0xE8, 0xB5, 0xA6}, // Éâ - {0xBAD5, 0x8D6B}, //{0xE8, 0xB5, 0xAB}, // ºÕ - {0xD7DF, 0x8D70}, //{0xE8, 0xB5, 0xB0}, // ×ß - {0xB8B0, 0x8D74}, //{0xE8, 0xB5, 0xB4}, // ¸° - {0xD5D4, 0x8D75}, //{0xE8, 0xB5, 0xB5}, // ÕÔ - {0xB8CF, 0x8D76}, //{0xE8, 0xB5, 0xB6}, // ¸Ï - {0xC6F0, 0x8D77}, //{0xE8, 0xB5, 0xB7}, // Æð - {0xB3C3, 0x8D81}, //{0xE8, 0xB6, 0x81}, // ³Ã - {0xB3AC, 0x8D85}, //{0xE8, 0xB6, 0x85}, // ³¬ + {0xB3E0, 0x8D64}, //{0xE8, 0xB5, 0xA4}, // �� + {0xC9E2, 0x8D66}, //{0xE8, 0xB5, 0xA6}, // �� + {0xBAD5, 0x8D6B}, //{0xE8, 0xB5, 0xAB}, // �� + {0xD7DF, 0x8D70}, //{0xE8, 0xB5, 0xB0}, // �� + {0xB8B0, 0x8D74}, //{0xE8, 0xB5, 0xB4}, // �� + {0xD5D4, 0x8D75}, //{0xE8, 0xB5, 0xB5}, // �� + {0xB8CF, 0x8D76}, //{0xE8, 0xB5, 0xB6}, // �� + {0xC6F0, 0x8D77}, //{0xE8, 0xB5, 0xB7}, // �� + {0xB3C3, 0x8D81}, //{0xE8, 0xB6, 0x81}, // �� + {0xB3AC, 0x8D85}, //{0xE8, 0xB6, 0x85}, // �� {0xD4BD, 0x8D8A}, //{0xE8, 0xB6, 0x8A}, // Ô½ - {0xC7F7, 0x8D8B}, //{0xE8, 0xB6, 0x8B}, // Ç÷ - {0xCCCB, 0x8D9F}, //{0xE8, 0xB6, 0x9F}, // ÌË + {0xC7F7, 0x8D8B}, //{0xE8, 0xB6, 0x8B}, // �� + {0xCCCB, 0x8D9F}, //{0xE8, 0xB6, 0x9F}, // �� {0xC8A4, 0x8DA3}, //{0xE8, 0xB6, 0xA3}, // Ȥ - {0xD7E3, 0x8DB3}, //{0xE8, 0xB6, 0xB3}, // ×ã + {0xD7E3, 0x8DB3}, //{0xE8, 0xB6, 0xB3}, // �� {0xC5BF, 0x8DB4}, //{0xE8, 0xB6, 0xB4}, // Å¿ {0xD6BA, 0x8DBE}, //{0xE8, 0xB6, 0xBE}, // Öº {0xD4BE, 0x8DC3}, //{0xE8, 0xB7, 0x83}, // Ô¾ - {0xB0CF, 0x8DCB}, //{0xE8, 0xB7, 0x8B}, // °Ï - {0xB5F8, 0x8DCC}, //{0xE8, 0xB7, 0x8C}, // µø - {0xC5DC, 0x8DD1}, //{0xE8, 0xB7, 0x91}, // ÅÜ - {0xF5CB, 0x8DDB}, //{0xE8, 0xB7, 0x9B}, // õË - {0xBEE0, 0x8DDD}, //{0xE8, 0xB7, 0x9D}, // ¾à - {0xB8FA, 0x8DDF}, //{0xE8, 0xB7, 0x9F}, // ¸ú - {0xBFE7, 0x8DE8}, //{0xE8, 0xB7, 0xA8}, // ¿ç - {0xB9F2, 0x8DEA}, //{0xE8, 0xB7, 0xAA}, // ¹ò + {0xB0CF, 0x8DCB}, //{0xE8, 0xB7, 0x8B}, // �� + {0xB5F8, 0x8DCC}, //{0xE8, 0xB7, 0x8C}, // �� + {0xC5DC, 0x8DD1}, //{0xE8, 0xB7, 0x91}, // �� + {0xF5CB, 0x8DDB}, //{0xE8, 0xB7, 0x9B}, // �� + {0xBEE0, 0x8DDD}, //{0xE8, 0xB7, 0x9D}, // �� + {0xB8FA, 0x8DDF}, //{0xE8, 0xB7, 0x9F}, // �� + {0xBFE7, 0x8DE8}, //{0xE8, 0xB7, 0xA8}, // �� + {0xB9F2, 0x8DEA}, //{0xE8, 0xB7, 0xAA}, // �� {0xC2B7, 0x8DEF}, //{0xE8, 0xB7, 0xAF}, // · - {0xCCF8, 0x8DF3}, //{0xE8, 0xB7, 0xB3}, // Ìø - {0xBCF9, 0x8DF5}, //{0xE8, 0xB7, 0xB5}, // ¼ù - {0xF5CE, 0x8DF7}, //{0xE8, 0xB7, 0xB7}, // õÎ - {0xB6E5, 0x8DFA}, //{0xE8, 0xB7, 0xBA}, // ¶å + {0xCCF8, 0x8DF3}, //{0xE8, 0xB7, 0xB3}, // �� + {0xBCF9, 0x8DF5}, //{0xE8, 0xB7, 0xB5}, // �� + {0xF5CE, 0x8DF7}, //{0xE8, 0xB7, 0xB7}, // �� + {0xB6E5, 0x8DFA}, //{0xE8, 0xB7, 0xBA}, // �� {0xD3BB, 0x8E0A}, //{0xE8, 0xB8, 0x8A}, // Ó» {0xCCA4, 0x8E0F}, //{0xE8, 0xB8, 0x8F}, // ̤ - {0xCCDF, 0x8E22}, //{0xE8, 0xB8, 0xA2}, // Ìß - {0xB2C8, 0x8E29}, //{0xE8, 0xB8, 0xA9}, // ²È - {0xD7D9, 0x8E2A}, //{0xE8, 0xB8, 0xAA}, // ×Ù - {0xF5E2, 0x8E31}, //{0xE8, 0xB8, 0xB1}, // õâ - {0xF5E5, 0x8E42}, //{0xE8, 0xB9, 0x82}, // õå - {0xCCE3, 0x8E44}, //{0xE8, 0xB9, 0x84}, // Ìã - {0xB5B8, 0x8E48}, //{0xE8, 0xB9, 0x88}, // µ¸ + {0xCCDF, 0x8E22}, //{0xE8, 0xB8, 0xA2}, // �� + {0xB2C8, 0x8E29}, //{0xE8, 0xB8, 0xA9}, // �� + {0xD7D9, 0x8E2A}, //{0xE8, 0xB8, 0xAA}, // �� + {0xF5E2, 0x8E31}, //{0xE8, 0xB8, 0xB1}, // �� + {0xF5E5, 0x8E42}, //{0xE8, 0xB9, 0x82}, // �� + {0xCCE3, 0x8E44}, //{0xE8, 0xB9, 0x84}, // �� + {0xB5B8, 0x8E48}, //{0xE8, 0xB9, 0x88}, // �� {0xCCA3, 0x8E4B}, //{0xE8, 0xB9, 0x8B}, // Ì£ - {0xB1C4, 0x8E66}, //{0xE8, 0xB9, 0xA6}, // ±Ä - {0xB5C5, 0x8E6C}, //{0xE8, 0xB9, 0xAC}, // µÅ - {0xB2E4, 0x8E6D}, //{0xE8, 0xB9, 0xAD}, // ²ä - {0xB6D7, 0x8E72}, //{0xE8, 0xB9, 0xB2}, // ¶× - {0xD4EA, 0x8E81}, //{0xE8, 0xBA, 0x81}, // Ôê - {0xF5EF, 0x8E8F}, //{0xE8, 0xBA, 0x8F}, // õï - {0xC9ED, 0x8EAB}, //{0xE8, 0xBA, 0xAB}, // Éí - {0xB9AA, 0x8EAC}, //{0xE8, 0xBA, 0xAC}, // ¹ª - {0xC7FB, 0x8EAF}, //{0xE8, 0xBA, 0xAF}, // Çû - {0xB6E3, 0x8EB2}, //{0xE8, 0xBA, 0xB2}, // ¶ã - {0xCCC9, 0x8EBA}, //{0xE8, 0xBA, 0xBA}, // ÌÉ - {0xB3B5, 0x8F66}, //{0xE8, 0xBD, 0xA6}, // ³µ - {0xD4FE, 0x8F67}, //{0xE8, 0xBD, 0xA7}, // Ôþ - {0xB9EC, 0x8F68}, //{0xE8, 0xBD, 0xA8}, // ¹ì - {0xD0F9, 0x8F69}, //{0xE8, 0xBD, 0xA9}, // Ðù + {0xB1C4, 0x8E66}, //{0xE8, 0xB9, 0xA6}, // �� + {0xB5C5, 0x8E6C}, //{0xE8, 0xB9, 0xAC}, // �� + {0xB2E4, 0x8E6D}, //{0xE8, 0xB9, 0xAD}, // �� + {0xB6D7, 0x8E72}, //{0xE8, 0xB9, 0xB2}, // �� + {0xD4EA, 0x8E81}, //{0xE8, 0xBA, 0x81}, // �� + {0xF5EF, 0x8E8F}, //{0xE8, 0xBA, 0x8F}, // �� + {0xC9ED, 0x8EAB}, //{0xE8, 0xBA, 0xAB}, // �� + {0xB9AA, 0x8EAC}, //{0xE8, 0xBA, 0xAC}, // �� + {0xC7FB, 0x8EAF}, //{0xE8, 0xBA, 0xAF}, // �� + {0xB6E3, 0x8EB2}, //{0xE8, 0xBA, 0xB2}, // �� + {0xCCC9, 0x8EBA}, //{0xE8, 0xBA, 0xBA}, // �� + {0xB3B5, 0x8F66}, //{0xE8, 0xBD, 0xA6}, // �� + {0xD4FE, 0x8F67}, //{0xE8, 0xBD, 0xA7}, // �� + {0xB9EC, 0x8F68}, //{0xE8, 0xBD, 0xA8}, // �� + {0xD0F9, 0x8F69}, //{0xE8, 0xBD, 0xA9}, // �� {0xD7AA, 0x8F6C}, //{0xE8, 0xBD, 0xAC}, // ת - {0xC2D6, 0x8F6E}, //{0xE8, 0xBD, 0xAE}, // ÂÖ - {0xC8ED, 0x8F6F}, //{0xE8, 0xBD, 0xAF}, // Èí - {0xBAE4, 0x8F70}, //{0xE8, 0xBD, 0xB0}, // ºä - {0xD6E1, 0x8F74}, //{0xE8, 0xBD, 0xB4}, // Öá - {0xC7E1, 0x8F7B}, //{0xE8, 0xBD, 0xBB}, // Çá - {0xD4D8, 0x8F7D}, //{0xE8, 0xBD, 0xBD}, // ÔØ - {0xBDCE, 0x8F7F}, //{0xE8, 0xBD, 0xBF}, // ½Î - {0xBDCF, 0x8F83}, //{0xE8, 0xBE, 0x83}, // ½Ï - {0xB8A8, 0x8F85}, //{0xE8, 0xBE, 0x85}, // ¸¨ - {0xC1BE, 0x8F86}, //{0xE8, 0xBE, 0x86}, // Á¾ - {0xB1B2, 0x8F88}, //{0xE8, 0xBE, 0x88}, // ±² - {0xBBD4, 0x8F89}, //{0xE8, 0xBE, 0x89}, // »Ô - {0xB7F8, 0x8F90}, //{0xE8, 0xBE, 0x90}, // ·ø - {0xBCAD, 0x8F91}, //{0xE8, 0xBE, 0x91}, // ¼­ - {0xCAE4, 0x8F93}, //{0xE8, 0xBE, 0x93}, // Êä + {0xC2D6, 0x8F6E}, //{0xE8, 0xBD, 0xAE}, // �� + {0xC8ED, 0x8F6F}, //{0xE8, 0xBD, 0xAF}, // �� + {0xBAE4, 0x8F70}, //{0xE8, 0xBD, 0xB0}, // �� + {0xD6E1, 0x8F74}, //{0xE8, 0xBD, 0xB4}, // �� + {0xC7E1, 0x8F7B}, //{0xE8, 0xBD, 0xBB}, // �� + {0xD4D8, 0x8F7D}, //{0xE8, 0xBD, 0xBD}, // �� + {0xBDCE, 0x8F7F}, //{0xE8, 0xBD, 0xBF}, // �� + {0xBDCF, 0x8F83}, //{0xE8, 0xBE, 0x83}, // �� + {0xB8A8, 0x8F85}, //{0xE8, 0xBE, 0x85}, // �� + {0xC1BE, 0x8F86}, //{0xE8, 0xBE, 0x86}, // ~ + {0xB1B2, 0x8F88}, //{0xE8, 0xBE, 0x88}, // �� + {0xBBD4, 0x8F89}, //{0xE8, 0xBE, 0x89}, // �� + {0xB7F8, 0x8F90}, //{0xE8, 0xBE, 0x90}, // �� + {0xBCAD, 0x8F91}, //{0xE8, 0xBE, 0x91}, // �� + {0xCAE4, 0x8F93}, //{0xE8, 0xBE, 0x93}, // �� {0xD4AF, 0x8F95}, //{0xE8, 0xBE, 0x95}, // Ô¯ {0xCFBD, 0x8F96}, //{0xE8, 0xBE, 0x96}, // Ͻ - {0xD5DE, 0x8F99}, //{0xE8, 0xBE, 0x99}, // ÕÞ - {0xD0C1, 0x8F9B}, //{0xE8, 0xBE, 0x9B}, // ÐÁ - {0xB9BC, 0x8F9C}, //{0xE8, 0xBE, 0x9C}, // ¹¼ - {0xB4C7, 0x8F9E}, //{0xE8, 0xBE, 0x9E}, // ´Ç - {0xB1D9, 0x8F9F}, //{0xE8, 0xBE, 0x9F}, // ±Ù - {0xC0B1, 0x8FA3}, //{0xE8, 0xBE, 0xA3}, // À± - {0xB1E6, 0x8FA8}, //{0xE8, 0xBE, 0xA8}, // ±æ - {0xB1E7, 0x8FA9}, //{0xE8, 0xBE, 0xA9}, // ±ç - {0xB1E8, 0x8FAB}, //{0xE8, 0xBE, 0xAB}, // ±è - {0xB3BD, 0x8FB0}, //{0xE8, 0xBE, 0xB0}, // ³½ - {0xC8E8, 0x8FB1}, //{0xE8, 0xBE, 0xB1}, // Èè - {0xB1DF, 0x8FB9}, //{0xE8, 0xBE, 0xB9}, // ±ß - {0xC1C9, 0x8FBD}, //{0xE8, 0xBE, 0xBD}, // ÁÉ - {0xB4EF, 0x8FBE}, //{0xE8, 0xBE, 0xBE}, // ´ï + {0xD5DE, 0x8F99}, //{0xE8, 0xBE, 0x99}, // �� + {0xD0C1, 0x8F9B}, //{0xE8, 0xBE, 0x9B}, // �� + {0xB9BC, 0x8F9C}, //{0xE8, 0xBE, 0x9C}, // �� + {0xB4C7, 0x8F9E}, //{0xE8, 0xBE, 0x9E}, // �� + {0xB1D9, 0x8F9F}, //{0xE8, 0xBE, 0x9F}, // �� + {0xC0B1, 0x8FA3}, //{0xE8, 0xBE, 0xA3}, // 1 + {0xB1E6, 0x8FA8}, //{0xE8, 0xBE, 0xA8}, // �� + {0xB1E7, 0x8FA9}, //{0xE8, 0xBE, 0xA9}, // �� + {0xB1E8, 0x8FAB}, //{0xE8, 0xBE, 0xAB}, // �� + {0xB3BD, 0x8FB0}, //{0xE8, 0xBE, 0xB0}, // �� + {0xC8E8, 0x8FB1}, //{0xE8, 0xBE, 0xB1}, // �� + {0xB1DF, 0x8FB9}, //{0xE8, 0xBE, 0xB9}, // �� + {0xC1C9, 0x8FBD}, //{0xE8, 0xBE, 0xBD}, // �� + {0xB4EF, 0x8FBE}, //{0xE8, 0xBE, 0xBE}, // �� {0xC7A8, 0x8FC1}, //{0xE8, 0xBF, 0x81}, // Ǩ - {0xD3D8, 0x8FC2}, //{0xE8, 0xBF, 0x82}, // ÓØ - {0xC6F9, 0x8FC4}, //{0xE8, 0xBF, 0x84}, // Æù + {0xD3D8, 0x8FC2}, //{0xE8, 0xBF, 0x82}, // �� + {0xC6F9, 0x8FC4}, //{0xE8, 0xBF, 0x84}, // �� {0xD1B8, 0x8FC5}, //{0xE8, 0xBF, 0x85}, // Ѹ - {0xB9FD, 0x8FC7}, //{0xE8, 0xBF, 0x87}, // ¹ý - {0xC2F5, 0x8FC8}, //{0xE8, 0xBF, 0x88}, // Âõ + {0xB9FD, 0x8FC7}, //{0xE8, 0xBF, 0x87}, // �� + {0xC2F5, 0x8FC8}, //{0xE8, 0xBF, 0x88}, // �� {0xD3AD, 0x8FCE}, //{0xE8, 0xBF, 0x8E}, // Ó­ - {0xD4CB, 0x8FD0}, //{0xE8, 0xBF, 0x90}, // ÔË - {0xBDFC, 0x8FD1}, //{0xE8, 0xBF, 0x91}, // ½ü - {0xB7B5, 0x8FD4}, //{0xE8, 0xBF, 0x94}, // ·µ - {0xBBB9, 0x8FD8}, //{0xE8, 0xBF, 0x98}, // »¹ - {0xD5E2, 0x8FD9}, //{0xE8, 0xBF, 0x99}, // Õâ - {0xBDF8, 0x8FDB}, //{0xE8, 0xBF, 0x9B}, // ½ø + {0xD4CB, 0x8FD0}, //{0xE8, 0xBF, 0x90}, // �� + {0xBDFC, 0x8FD1}, //{0xE8, 0xBF, 0x91}, // �� + {0xB7B5, 0x8FD4}, //{0xE8, 0xBF, 0x94}, // �� + {0xBBB9, 0x8FD8}, //{0xE8, 0xBF, 0x98}, // �� + {0xD5E2, 0x8FD9}, //{0xE8, 0xBF, 0x99}, // �� + {0xBDF8, 0x8FDB}, //{0xE8, 0xBF, 0x9B}, // �� {0xD4B6, 0x8FDC}, //{0xE8, 0xBF, 0x9C}, // Ô¶ {0xCEA5, 0x8FDD}, //{0xE8, 0xBF, 0x9D}, // Î¥ - {0xC1AC, 0x8FDE}, //{0xE8, 0xBF, 0x9E}, // Á¬ - {0xB3D9, 0x8FDF}, //{0xE8, 0xBF, 0x9F}, // ³Ù - {0xC6C8, 0x8FEB}, //{0xE8, 0xBF, 0xAB}, // ÆÈ - {0xCAF6, 0x8FF0}, //{0xE8, 0xBF, 0xB0}, // Êö - {0xC3D4, 0x8FF7}, //{0xE8, 0xBF, 0xB7}, // ÃÔ - {0xBCA3, 0x8FF9}, //{0xE8, 0xBF, 0xB9}, // ¼£ + {0xC1AC, 0x8FDE}, //{0xE8, 0xBF, 0x9E}, // l + {0xB3D9, 0x8FDF}, //{0xE8, 0xBF, 0x9F}, // �� + {0xC6C8, 0x8FEB}, //{0xE8, 0xBF, 0xAB}, // �� + {0xCAF6, 0x8FF0}, //{0xE8, 0xBF, 0xB0}, // �� + {0xC3D4, 0x8FF7}, //{0xE8, 0xBF, 0xB7}, // �� + {0xBCA3, 0x8FF9}, //{0xE8, 0xBF, 0xB9}, // �� {0xD7B7, 0x8FFD}, //{0xE8, 0xBF, 0xBD}, // ×· - {0xCDCB, 0x9000}, //{0xE9, 0x80, 0x80}, // ÍË - {0xCBCD, 0x9001}, //{0xE9, 0x80, 0x81}, // ËÍ - {0xCACA, 0x9002}, //{0xE9, 0x80, 0x82}, // ÊÊ - {0xCCD3, 0x9003}, //{0xE9, 0x80, 0x83}, // ÌÓ - {0xC4E6, 0x9006}, //{0xE9, 0x80, 0x86}, // Äæ + {0xCDCB, 0x9000}, //{0xE9, 0x80, 0x80}, // �� + {0xCBCD, 0x9001}, //{0xE9, 0x80, 0x81}, // �� + {0xCACA, 0x9002}, //{0xE9, 0x80, 0x82}, // �� + {0xCCD3, 0x9003}, //{0xE9, 0x80, 0x83}, // �� + {0xC4E6, 0x9006}, //{0xE9, 0x80, 0x86}, // �� {0xD1A1, 0x9009}, //{0xE9, 0x80, 0x89}, // Ñ¡ {0xD1B7, 0x900A}, //{0xE9, 0x80, 0x8A}, // Ñ· {0xCDB8, 0x900F}, //{0xE9, 0x80, 0x8F}, // ͸ - {0xD6F0, 0x9010}, //{0xE9, 0x80, 0x90}, // Öð - {0xB5DD, 0x9012}, //{0xE9, 0x80, 0x92}, // µÝ + {0xD6F0, 0x9010}, //{0xE9, 0x80, 0x90}, // �� + {0xB5DD, 0x9012}, //{0xE9, 0x80, 0x92}, // �� {0xCDBE, 0x9014}, //{0xE9, 0x80, 0x94}, // ; - {0xB6BA, 0x9017}, //{0xE9, 0x80, 0x97}, // ¶º + {0xB6BA, 0x9017}, //{0xE9, 0x80, 0x97}, // �� {0xCDA8, 0x901A}, //{0xE9, 0x80, 0x9A}, // ͨ - {0xB9E4, 0x901B}, //{0xE9, 0x80, 0x9B}, // ¹ä - {0xCAC5, 0x901D}, //{0xE9, 0x80, 0x9D}, // ÊÅ - {0xB3D1, 0x901E}, //{0xE9, 0x80, 0x9E}, // ³Ñ - {0xCBD9, 0x901F}, //{0xE9, 0x80, 0x9F}, // ËÙ - {0xD4EC, 0x9020}, //{0xE9, 0x80, 0xA0}, // Ôì - {0xB7EA, 0x9022}, //{0xE9, 0x80, 0xA2}, // ·ê - {0xB4FE, 0x902E}, //{0xE9, 0x80, 0xAE}, // ´þ - {0xD2DD, 0x9038}, //{0xE9, 0x80, 0xB8}, // ÒÝ - {0xC2DF, 0x903B}, //{0xE9, 0x80, 0xBB}, // Âß - {0xB1C6, 0x903C}, //{0xE9, 0x80, 0xBC}, // ±Æ - {0xD3E2, 0x903E}, //{0xE9, 0x80, 0xBE}, // Óâ - {0xCBEC, 0x9042}, //{0xE9, 0x81, 0x82}, // Ëì - {0xD3F6, 0x9047}, //{0xE9, 0x81, 0x87}, // Óö - {0xB1E9, 0x904D}, //{0xE9, 0x81, 0x8D}, // ±é - {0xB6F4, 0x904F}, //{0xE9, 0x81, 0x8F}, // ¶ô - {0xB5C0, 0x9053}, //{0xE9, 0x81, 0x93}, // µÀ - {0xD2C5, 0x9057}, //{0xE9, 0x81, 0x97}, // ÒÅ + {0xB9E4, 0x901B}, //{0xE9, 0x80, 0x9B}, // �� + {0xCAC5, 0x901D}, //{0xE9, 0x80, 0x9D}, // �� + {0xB3D1, 0x901E}, //{0xE9, 0x80, 0x9E}, // �� + {0xCBD9, 0x901F}, //{0xE9, 0x80, 0x9F}, // �� + {0xD4EC, 0x9020}, //{0xE9, 0x80, 0xA0}, // �� + {0xB7EA, 0x9022}, //{0xE9, 0x80, 0xA2}, // �� + {0xB4FE, 0x902E}, //{0xE9, 0x80, 0xAE}, // �� + {0xD2DD, 0x9038}, //{0xE9, 0x80, 0xB8}, // �� + {0xC2DF, 0x903B}, //{0xE9, 0x80, 0xBB}, // �� + {0xB1C6, 0x903C}, //{0xE9, 0x80, 0xBC}, // �� + {0xD3E2, 0x903E}, //{0xE9, 0x80, 0xBE}, // �� + {0xCBEC, 0x9042}, //{0xE9, 0x81, 0x82}, // �� + {0xD3F6, 0x9047}, //{0xE9, 0x81, 0x87}, // �� + {0xB1E9, 0x904D}, //{0xE9, 0x81, 0x8D}, // �� + {0xB6F4, 0x904F}, //{0xE9, 0x81, 0x8F}, // �� + {0xB5C0, 0x9053}, //{0xE9, 0x81, 0x93}, // �� + {0xD2C5, 0x9057}, //{0xE9, 0x81, 0x97}, // �� {0xC7B2, 0x9063}, //{0xE9, 0x81, 0xA3}, // Dz {0xD2A3, 0x9065}, //{0xE9, 0x81, 0xA5}, // Ò£ - {0xD4E2, 0x906D}, //{0xE9, 0x81, 0xAD}, // Ôâ - {0xD5DA, 0x906E}, //{0xE9, 0x81, 0xAE}, // ÕÚ - {0xD7F1, 0x9075}, //{0xE9, 0x81, 0xB5}, // ×ñ - {0xB1DC, 0x907F}, //{0xE9, 0x81, 0xBF}, // ±Ü - {0xD1FB, 0x9080}, //{0xE9, 0x82, 0x80}, // Ñû - {0xD2D8, 0x9091}, //{0xE9, 0x82, 0x91}, // ÒØ - {0xB5CB, 0x9093}, //{0xE9, 0x82, 0x93}, // µË - {0xD0CF, 0x90A2}, //{0xE9, 0x82, 0xA2}, // ÐÏ - {0xC4C7, 0x90A3}, //{0xE9, 0x82, 0xA3}, // ÄÇ - {0xB0EE, 0x90A6}, //{0xE9, 0x82, 0xA6}, // °î + {0xD4E2, 0x906D}, //{0xE9, 0x81, 0xAD}, // �� + {0xD5DA, 0x906E}, //{0xE9, 0x81, 0xAE}, // �� + {0xD7F1, 0x9075}, //{0xE9, 0x81, 0xB5}, // �� + {0xB1DC, 0x907F}, //{0xE9, 0x81, 0xBF}, // �� + {0xD1FB, 0x9080}, //{0xE9, 0x82, 0x80}, // �� + {0xD2D8, 0x9091}, //{0xE9, 0x82, 0x91}, // �� + {0xB5CB, 0x9093}, //{0xE9, 0x82, 0x93}, // �� + {0xD0CF, 0x90A2}, //{0xE9, 0x82, 0xA2}, // �� + {0xC4C7, 0x90A3}, //{0xE9, 0x82, 0xA3}, // �� + {0xB0EE, 0x90A6}, //{0xE9, 0x82, 0xA6}, // �� {0xD0B0, 0x90AA}, //{0xE9, 0x82, 0xAA}, // а - {0xD3CA, 0x90AE}, //{0xE9, 0x82, 0xAE}, // ÓÊ - {0xC1DA, 0x90BB}, //{0xE9, 0x82, 0xBB}, // ÁÚ - {0xD3F4, 0x90C1}, //{0xE9, 0x83, 0x81}, // Óô - {0xBDBC, 0x90CA}, //{0xE9, 0x83, 0x8A}, // ½¼ - {0xC0C9, 0x90CE}, //{0xE9, 0x83, 0x8E}, // ÀÉ + {0xD3CA, 0x90AE}, //{0xE9, 0x82, 0xAE}, // �� + {0xC1DA, 0x90BB}, //{0xE9, 0x82, 0xBB}, // �� + {0xD3F4, 0x90C1}, //{0xE9, 0x83, 0x81}, // �� + {0xBDBC, 0x90CA}, //{0xE9, 0x83, 0x8A}, // �� + {0xC0C9, 0x90CE}, //{0xE9, 0x83, 0x8E}, // �� {0xD6A3, 0x90D1}, //{0xE9, 0x83, 0x91}, // Ö£ - {0xB2BF, 0x90E8}, //{0xE9, 0x83, 0xA8}, // ²¿ - {0xB9F9, 0x90ED}, //{0xE9, 0x83, 0xAD}, // ¹ù - {0xB6BC, 0x90FD}, //{0xE9, 0x83, 0xBD}, // ¶¼ - {0xB1C9, 0x9119}, //{0xE9, 0x84, 0x99}, // ±É - {0xD7C3, 0x914C}, //{0xE9, 0x85, 0x8C}, // ×à - {0xC5E4, 0x914D}, //{0xE9, 0x85, 0x8D}, // Åä - {0xBEC6, 0x9152}, //{0xE9, 0x85, 0x92}, // ¾Æ - {0xD0EF, 0x9157}, //{0xE9, 0x85, 0x97}, // Ðï - {0xD4CD, 0x915D}, //{0xE9, 0x85, 0x9D}, // ÔÍ - {0xBAA8, 0x9163}, //{0xE9, 0x85, 0xA3}, // º¨ - {0xCBD6, 0x9165}, //{0xE9, 0x85, 0xA5}, // ËÖ - {0xC0D2, 0x916A}, //{0xE9, 0x85, 0xAA}, // ÀÒ - {0xB3EA, 0x916C}, //{0xE9, 0x85, 0xAC}, // ³ê - {0xBDB4, 0x9171}, //{0xE9, 0x85, 0xB1}, // ½´ - {0xBDCD, 0x9175}, //{0xE9, 0x85, 0xB5}, // ½Í - {0xBFE1, 0x9177}, //{0xE9, 0x85, 0xB7}, // ¿á - {0xCBE1, 0x9178}, //{0xE9, 0x85, 0xB8}, // Ëá - {0xC4F0, 0x917F}, //{0xE9, 0x85, 0xBF}, // Äð - {0xB4BC, 0x9187}, //{0xE9, 0x86, 0x87}, // ´¼ - {0xD7ED, 0x9189}, //{0xE9, 0x86, 0x89}, // ×í - {0xB4D7, 0x918B}, //{0xE9, 0x86, 0x8B}, // ´× - {0xD0D1, 0x9192}, //{0xE9, 0x86, 0x92}, // ÐÑ - {0xB2C9, 0x91C7}, //{0xE9, 0x87, 0x87}, // ²É - {0xCACD, 0x91CA}, //{0xE9, 0x87, 0x8A}, // ÊÍ - {0xC0EF, 0x91CC}, //{0xE9, 0x87, 0x8C}, // Àï - {0xD6D8, 0x91CD}, //{0xE9, 0x87, 0x8D}, // ÖØ + {0xB2BF, 0x90E8}, //{0xE9, 0x83, 0xA8}, // �� + {0xB9F9, 0x90ED}, //{0xE9, 0x83, 0xAD}, // �� + {0xB6BC, 0x90FD}, //{0xE9, 0x83, 0xBD}, // �� + {0xB1C9, 0x9119}, //{0xE9, 0x84, 0x99}, // �� + {0xD7C3, 0x914C}, //{0xE9, 0x85, 0x8C}, // �� + {0xC5E4, 0x914D}, //{0xE9, 0x85, 0x8D}, // �� + {0xBEC6, 0x9152}, //{0xE9, 0x85, 0x92}, // �� + {0xD0EF, 0x9157}, //{0xE9, 0x85, 0x97}, // �� + {0xD4CD, 0x915D}, //{0xE9, 0x85, 0x9D}, // �� + {0xBAA8, 0x9163}, //{0xE9, 0x85, 0xA3}, // �� + {0xCBD6, 0x9165}, //{0xE9, 0x85, 0xA5}, // �� + {0xC0D2, 0x916A}, //{0xE9, 0x85, 0xAA}, // �� + {0xB3EA, 0x916C}, //{0xE9, 0x85, 0xAC}, // �� + {0xBDB4, 0x9171}, //{0xE9, 0x85, 0xB1}, // �� + {0xBDCD, 0x9175}, //{0xE9, 0x85, 0xB5}, // �� + {0xBFE1, 0x9177}, //{0xE9, 0x85, 0xB7}, // �� + {0xCBE1, 0x9178}, //{0xE9, 0x85, 0xB8}, // �� + {0xC4F0, 0x917F}, //{0xE9, 0x85, 0xBF}, // �� + {0xB4BC, 0x9187}, //{0xE9, 0x86, 0x87}, // �� + {0xD7ED, 0x9189}, //{0xE9, 0x86, 0x89}, // �� + {0xB4D7, 0x918B}, //{0xE9, 0x86, 0x8B}, // �� + {0xD0D1, 0x9192}, //{0xE9, 0x86, 0x92}, // �� + {0xB2C9, 0x91C7}, //{0xE9, 0x87, 0x87}, // �� + {0xCACD, 0x91CA}, //{0xE9, 0x87, 0x8A}, // �� + {0xC0EF, 0x91CC}, //{0xE9, 0x87, 0x8C}, // �� + {0xD6D8, 0x91CD}, //{0xE9, 0x87, 0x8D}, // �� {0xD2B0, 0x91CE}, //{0xE9, 0x87, 0x8E}, // Ò° - {0xC1BF, 0x91CF}, //{0xE9, 0x87, 0x8F}, // Á¿ - {0xBDF0, 0x91D1}, //{0xE9, 0x87, 0x91}, // ½ð - {0xBCF8, 0x9274}, //{0xE9, 0x89, 0xB4}, // ¼ø - {0xD5EB, 0x9488}, //{0xE9, 0x92, 0x88}, // Õë - {0xB6A4, 0x9489}, //{0xE9, 0x92, 0x89}, // ¶¤ - {0xB5F6, 0x9493}, //{0xE9, 0x92, 0x93}, // µö - {0xB8C6, 0x9499}, //{0xE9, 0x92, 0x99}, // ¸Æ - {0xB6DB, 0x949D}, //{0xE9, 0x92, 0x9D}, // ¶Û - {0xB3AE, 0x949E}, //{0xE9, 0x92, 0x9E}, // ³® - {0xD6D3, 0x949F}, //{0xE9, 0x92, 0x9F}, // ÖÓ - {0xC4C6, 0x94A0}, //{0xE9, 0x92, 0xA0}, // ÄÆ - {0xB8D6, 0x94A2}, //{0xE9, 0x92, 0xA2}, // ¸Ö + {0xC1BF, 0x91CF}, //{0xE9, 0x87, 0x8F}, //  + {0xBDF0, 0x91D1}, //{0xE9, 0x87, 0x91}, // �� + {0xBCF8, 0x9274}, //{0xE9, 0x89, 0xB4}, // �� + {0xD5EB, 0x9488}, //{0xE9, 0x92, 0x88}, // �� + {0xB6A4, 0x9489}, //{0xE9, 0x92, 0x89}, // �� + {0xB5F6, 0x9493}, //{0xE9, 0x92, 0x93}, // �� + {0xB8C6, 0x9499}, //{0xE9, 0x92, 0x99}, // �� + {0xB6DB, 0x949D}, //{0xE9, 0x92, 0x9D}, // �� + {0xB3AE, 0x949E}, //{0xE9, 0x92, 0x9E}, // �� + {0xD6D3, 0x949F}, //{0xE9, 0x92, 0x9F}, // �� + {0xC4C6, 0x94A0}, //{0xE9, 0x92, 0xA0}, // �� + {0xB8D6, 0x94A2}, //{0xE9, 0x92, 0xA2}, // �� {0xD4BF, 0x94A5}, //{0xE9, 0x92, 0xA5}, // Ô¿ - {0xC7D5, 0x94A6}, //{0xE9, 0x92, 0xA6}, // ÇÕ - {0xBEFB, 0x94A7}, //{0xE9, 0x92, 0xA7}, // ¾û - {0xB9B3, 0x94A9}, //{0xE9, 0x92, 0xA9}, // ¹³ + {0xC7D5, 0x94A6}, //{0xE9, 0x92, 0xA6}, // �� + {0xBEFB, 0x94A7}, //{0xE9, 0x92, 0xA7}, // �� + {0xB9B3, 0x94A9}, //{0xE9, 0x92, 0xA9}, // �� {0xC5A5, 0x94AE}, //{0xE9, 0x92, 0xAE}, // Å¥ {0xC7AE, 0x94B1}, //{0xE9, 0x92, 0xB1}, // Ç® {0xC7AF, 0x94B3}, //{0xE9, 0x92, 0xB3}, // ǯ - {0xD7EA, 0x94BB}, //{0xE9, 0x92, 0xBB}, // ×ê - {0xBCD8, 0x94BE}, //{0xE9, 0x92, 0xBE}, // ¼Ø - {0xCCFA, 0x94C1}, //{0xE9, 0x93, 0x81}, // Ìú - {0xC1E5, 0x94C3}, //{0xE9, 0x93, 0x83}, // Áå + {0xD7EA, 0x94BB}, //{0xE9, 0x92, 0xBB}, // �� + {0xBCD8, 0x94BE}, //{0xE9, 0x92, 0xBE}, // �� + {0xCCFA, 0x94C1}, //{0xE9, 0x93, 0x81}, // �� + {0xC1E5, 0x94C3}, //{0xE9, 0x93, 0x83}, // �� {0xC7A6, 0x94C5}, //{0xE9, 0x93, 0x85}, // Ǧ {0xC3AD, 0x94C6}, //{0xE9, 0x93, 0x86}, // í - {0xEEED, 0x94D0}, //{0xE9, 0x93, 0x90}, // îí - {0xEEF5, 0x94DB}, //{0xE9, 0x93, 0x9B}, // îõ + {0xEEED, 0x94D0}, //{0xE9, 0x93, 0x90}, // �� + {0xEEF5, 0x94DB}, //{0xE9, 0x93, 0x9B}, // �� {0xCDAD, 0x94DC}, //{0xE9, 0x93, 0x9C}, // Í­ - {0xC2C1, 0x94DD}, //{0xE9, 0x93, 0x9D}, // ÂÁ + {0xC2C1, 0x94DD}, //{0xE9, 0x93, 0x9D}, // �� {0xD5A1, 0x94E1}, //{0xE9, 0x93, 0xA1}, // Õ¡ {0xCFB3, 0x94E3}, //{0xE9, 0x93, 0xA3}, // ϳ - {0xC3FA, 0x94ED}, //{0xE9, 0x93, 0xAD}, // Ãú - {0xB2F9, 0x94F2}, //{0xE9, 0x93, 0xB2}, // ²ù - {0xD2F8, 0x94F6}, //{0xE9, 0x93, 0xB6}, // Òø - {0xD6FD, 0x94F8}, //{0xE9, 0x93, 0xB8}, // Öý - {0xC6CC, 0x94FA}, //{0xE9, 0x93, 0xBA}, // ÆÌ - {0xC1B4, 0x94FE}, //{0xE9, 0x93, 0xBE}, // Á´ - {0xCFFA, 0x9500}, //{0xE9, 0x94, 0x80}, // Ïú - {0xCBF8, 0x9501}, //{0xE9, 0x94, 0x81}, // Ëø - {0xB3FA, 0x9504}, //{0xE9, 0x94, 0x84}, // ³ú - {0xB9F8, 0x9505}, //{0xE9, 0x94, 0x85}, // ¹ø - {0xD0E2, 0x9508}, //{0xE9, 0x94, 0x88}, // Ðâ - {0xEFB1, 0x9509}, //{0xE9, 0x94, 0x89}, // ï± - {0xB7E6, 0x950B}, //{0xE9, 0x94, 0x8B}, // ·æ + {0xC3FA, 0x94ED}, //{0xE9, 0x93, 0xAD}, // �� + {0xB2F9, 0x94F2}, //{0xE9, 0x93, 0xB2}, // �� + {0xD2F8, 0x94F6}, //{0xE9, 0x93, 0xB6}, // �� + {0xD6FD, 0x94F8}, //{0xE9, 0x93, 0xB8}, // �� + {0xC6CC, 0x94FA}, //{0xE9, 0x93, 0xBA}, // �� + {0xC1B4, 0x94FE}, //{0xE9, 0x93, 0xBE}, // t + {0xCFFA, 0x9500}, //{0xE9, 0x94, 0x80}, // �� + {0xCBF8, 0x9501}, //{0xE9, 0x94, 0x81}, // �� + {0xB3FA, 0x9504}, //{0xE9, 0x94, 0x84}, // �� + {0xB9F8, 0x9505}, //{0xE9, 0x94, 0x85}, // �� + {0xD0E2, 0x9508}, //{0xE9, 0x94, 0x88}, // �� + {0xEFB1, 0x9509}, //{0xE9, 0x94, 0x89}, // � + {0xB7E6, 0x950B}, //{0xE9, 0x94, 0x8B}, // �� {0xD0BF, 0x950C}, //{0xE9, 0x94, 0x8C}, // п - {0xC8F1, 0x9510}, //{0xE9, 0x94, 0x90}, // Èñ - {0xB4ED, 0x9519}, //{0xE9, 0x94, 0x99}, // ´í + {0xC8F1, 0x9510}, //{0xE9, 0x94, 0x90}, // �� + {0xB4ED, 0x9519}, //{0xE9, 0x94, 0x99}, // �� {0xC3AA, 0x951A}, //{0xE9, 0x94, 0x9A}, // ê - {0xCEFD, 0x9521}, //{0xE9, 0x94, 0xA1}, // Îý - {0xC2E0, 0x9523}, //{0xE9, 0x94, 0xA3}, // Âà - {0xB4B8, 0x9524}, //{0xE9, 0x94, 0xA4}, // ´¸ + {0xCEFD, 0x9521}, //{0xE9, 0x94, 0xA1}, // �� + {0xC2E0, 0x9523}, //{0xE9, 0x94, 0xA3}, // �� + {0xB4B8, 0x9524}, //{0xE9, 0x94, 0xA4}, // �� {0xD7B6, 0x9525}, //{0xE9, 0x94, 0xA5}, // ×¶ - {0xBDF5, 0x9526}, //{0xE9, 0x94, 0xA6}, // ½õ - {0xCFC7, 0x9528}, //{0xE9, 0x94, 0xA8}, // ÏÇ - {0xB6A7, 0x952D}, //{0xE9, 0x94, 0xAD}, // ¶§ - {0xBCFC, 0x952E}, //{0xE9, 0x94, 0xAE}, // ¼ü - {0xBEE2, 0x952F}, //{0xE9, 0x94, 0xAF}, // ¾â - {0xC3CC, 0x9530}, //{0xE9, 0x94, 0xB0}, // ÃÌ - {0xC7C2, 0x9539}, //{0xE9, 0x94, 0xB9}, // Ç - {0xB6CD, 0x953B}, //{0xE9, 0x94, 0xBB}, // ¶Í - {0xB6C6, 0x9540}, //{0xE9, 0x95, 0x80}, // ¶Æ - {0xD5F2, 0x9547}, //{0xE9, 0x95, 0x87}, // Õò - {0xC4F7, 0x954A}, //{0xE9, 0x95, 0x8A}, // Ä÷ - {0xB8E4, 0x9550}, //{0xE9, 0x95, 0x90}, // ¸ä - {0xBEB5, 0x955C}, //{0xE9, 0x95, 0x9C}, // ¾µ - {0xC1CD, 0x9563}, //{0xE9, 0x95, 0xA3}, // ÁÍ - {0xC1AD, 0x9570}, //{0xE9, 0x95, 0xB0}, // Á­ - {0xCFE2, 0x9576}, //{0xE9, 0x95, 0xB6}, // Ïâ - {0xB3A4, 0x957F}, //{0xE9, 0x95, 0xBF}, // ³¤ - {0xC3C5, 0x95E8}, //{0xE9, 0x97, 0xA8}, // ÃÅ - {0xC9C1, 0x95EA}, //{0xE9, 0x97, 0xAA}, // ÉÁ - {0xB1D5, 0x95ED}, //{0xE9, 0x97, 0xAD}, // ±Õ - {0xCECA, 0x95EE}, //{0xE9, 0x97, 0xAE}, // ÎÊ - {0xB4B3, 0x95EF}, //{0xE9, 0x97, 0xAF}, // ´³ - {0xC8F2, 0x95F0}, //{0xE9, 0x97, 0xB0}, // Èò - {0xCFD0, 0x95F2}, //{0xE9, 0x97, 0xB2}, // ÏÐ - {0xBCE4, 0x95F4}, //{0xE9, 0x97, 0xB4}, // ¼ä - {0xC3C6, 0x95F7}, //{0xE9, 0x97, 0xB7}, // ÃÆ + {0xBDF5, 0x9526}, //{0xE9, 0x94, 0xA6}, // �� + {0xCFC7, 0x9528}, //{0xE9, 0x94, 0xA8}, // �� + {0xB6A7, 0x952D}, //{0xE9, 0x94, 0xAD}, // �� + {0xBCFC, 0x952E}, //{0xE9, 0x94, 0xAE}, // �� + {0xBEE2, 0x952F}, //{0xE9, 0x94, 0xAF}, // �� + {0xC3CC, 0x9530}, //{0xE9, 0x94, 0xB0}, // �� + {0xC7C2, 0x9539}, //{0xE9, 0x94, 0xB9}, // �� + {0xB6CD, 0x953B}, //{0xE9, 0x94, 0xBB}, // �� + {0xB6C6, 0x9540}, //{0xE9, 0x95, 0x80}, // �� + {0xD5F2, 0x9547}, //{0xE9, 0x95, 0x87}, // �� + {0xC4F7, 0x954A}, //{0xE9, 0x95, 0x8A}, // �� + {0xB8E4, 0x9550}, //{0xE9, 0x95, 0x90}, // �� + {0xBEB5, 0x955C}, //{0xE9, 0x95, 0x9C}, // �� + {0xC1CD, 0x9563}, //{0xE9, 0x95, 0xA3}, // �� + {0xC1AD, 0x9570}, //{0xE9, 0x95, 0xB0}, // m + {0xCFE2, 0x9576}, //{0xE9, 0x95, 0xB6}, // �� + {0xB3A4, 0x957F}, //{0xE9, 0x95, 0xBF}, // �� + {0xC3C5, 0x95E8}, //{0xE9, 0x97, 0xA8}, // �� + {0xC9C1, 0x95EA}, //{0xE9, 0x97, 0xAA}, // �� + {0xB1D5, 0x95ED}, //{0xE9, 0x97, 0xAD}, // �� + {0xCECA, 0x95EE}, //{0xE9, 0x97, 0xAE}, // �� + {0xB4B3, 0x95EF}, //{0xE9, 0x97, 0xAF}, // �� + {0xC8F2, 0x95F0}, //{0xE9, 0x97, 0xB0}, // �� + {0xCFD0, 0x95F2}, //{0xE9, 0x97, 0xB2}, // �� + {0xBCE4, 0x95F4}, //{0xE9, 0x97, 0xB4}, // �� + {0xC3C6, 0x95F7}, //{0xE9, 0x97, 0xB7}, // �� {0xD5A2, 0x95F8}, //{0xE9, 0x97, 0xB8}, // Õ¢ - {0xC4D6, 0x95F9}, //{0xE9, 0x97, 0xB9}, // ÄÖ - {0xB9EB, 0x95FA}, //{0xE9, 0x97, 0xBA}, // ¹ë - {0xCEC5, 0x95FB}, //{0xE9, 0x97, 0xBB}, // ÎÅ - {0xC3F6, 0x95FD}, //{0xE9, 0x97, 0xBD}, // Ãö - {0xB7A7, 0x9600}, //{0xE9, 0x98, 0x80}, // ·§ - {0xB8F3, 0x9601}, //{0xE9, 0x98, 0x81}, // ¸ó - {0xD4C4, 0x9605}, //{0xE9, 0x98, 0x85}, // ÔÄ - {0xD1D6, 0x960E}, //{0xE9, 0x98, 0x8E}, // ÑÖ - {0xB2FB, 0x9610}, //{0xE9, 0x98, 0x90}, // ²û - {0xC0AB, 0x9614}, //{0xE9, 0x98, 0x94}, // À« - {0xB6D3, 0x961F}, //{0xE9, 0x98, 0x9F}, // ¶Ó - {0xDAE5, 0x9631}, //{0xE9, 0x98, 0xB1}, // Úå - {0xB7C0, 0x9632}, //{0xE9, 0x98, 0xB2}, // ·À - {0xD1F4, 0x9633}, //{0xE9, 0x98, 0xB3}, // Ñô - {0xD2F5, 0x9634}, //{0xE9, 0x98, 0xB4}, // Òõ - {0xD5F3, 0x9635}, //{0xE9, 0x98, 0xB5}, // Õó - {0xBDD7, 0x9636}, //{0xE9, 0x98, 0xB6}, // ½× - {0xD7E8, 0x963B}, //{0xE9, 0x98, 0xBB}, // ×è - {0xB0A2, 0x963F}, //{0xE9, 0x98, 0xBF}, // °¢ - {0xB8BD, 0x9644}, //{0xE9, 0x99, 0x84}, // ¸½ - {0xBCCA, 0x9645}, //{0xE9, 0x99, 0x85}, // ¼Ê + {0xC4D6, 0x95F9}, //{0xE9, 0x97, 0xB9}, // �� + {0xB9EB, 0x95FA}, //{0xE9, 0x97, 0xBA}, // �� + {0xCEC5, 0x95FB}, //{0xE9, 0x97, 0xBB}, // �� + {0xC3F6, 0x95FD}, //{0xE9, 0x97, 0xBD}, // �� + {0xB7A7, 0x9600}, //{0xE9, 0x98, 0x80}, // �� + {0xB8F3, 0x9601}, //{0xE9, 0x98, 0x81}, // �� + {0xD4C4, 0x9605}, //{0xE9, 0x98, 0x85}, // �� + {0xD1D6, 0x960E}, //{0xE9, 0x98, 0x8E}, // �� + {0xB2FB, 0x9610}, //{0xE9, 0x98, 0x90}, // �� + {0xC0AB, 0x9614}, //{0xE9, 0x98, 0x94}, // �� + {0xB6D3, 0x961F}, //{0xE9, 0x98, 0x9F}, // �� + {0xDAE5, 0x9631}, //{0xE9, 0x98, 0xB1}, // �� + {0xB7C0, 0x9632}, //{0xE9, 0x98, 0xB2}, // �� + {0xD1F4, 0x9633}, //{0xE9, 0x98, 0xB3}, // �� + {0xD2F5, 0x9634}, //{0xE9, 0x98, 0xB4}, // �� + {0xD5F3, 0x9635}, //{0xE9, 0x98, 0xB5}, // �� + {0xBDD7, 0x9636}, //{0xE9, 0x98, 0xB6}, // �� + {0xD7E8, 0x963B}, //{0xE9, 0x98, 0xBB}, // �� + {0xB0A2, 0x963F}, //{0xE9, 0x98, 0xBF}, // �� + {0xB8BD, 0x9644}, //{0xE9, 0x99, 0x84}, // �� + {0xBCCA, 0x9645}, //{0xE9, 0x99, 0x85}, // �� {0xC2BD, 0x9646}, //{0xE9, 0x99, 0x86}, // ½ - {0xB3C2, 0x9648}, //{0xE9, 0x99, 0x88}, // ³Â + {0xB3C2, 0x9648}, //{0xE9, 0x99, 0x88}, // �� {0xC2AA, 0x964B}, //{0xE9, 0x99, 0x8B}, // ª {0xC4B0, 0x964C}, //{0xE9, 0x99, 0x8C}, // İ - {0xBDB5, 0x964D}, //{0xE9, 0x99, 0x8D}, // ½µ - {0xCFDE, 0x9650}, //{0xE9, 0x99, 0x90}, // ÏÞ - {0xC9C2, 0x9655}, //{0xE9, 0x99, 0x95}, // É - {0xB6B8, 0x9661}, //{0xE9, 0x99, 0xA1}, // ¶¸ + {0xBDB5, 0x964D}, //{0xE9, 0x99, 0x8D}, // �� + {0xCFDE, 0x9650}, //{0xE9, 0x99, 0x90}, // �� + {0xC9C2, 0x9655}, //{0xE9, 0x99, 0x95}, // �� + {0xB6B8, 0x9661}, //{0xE9, 0x99, 0xA1}, // �� {0xD4BA, 0x9662}, //{0xE9, 0x99, 0xA2}, // Ôº - {0xB3FD, 0x9664}, //{0xE9, 0x99, 0xA4}, // ³ý - {0xD4C9, 0x9668}, //{0xE9, 0x99, 0xA8}, // ÔÉ - {0xCFD5, 0x9669}, //{0xE9, 0x99, 0xA9}, // ÏÕ - {0xC5E3, 0x966A}, //{0xE9, 0x99, 0xAA}, // Åã - {0xC1EA, 0x9675}, //{0xE9, 0x99, 0xB5}, // Áê - {0xCCD5, 0x9676}, //{0xE9, 0x99, 0xB6}, // ÌÕ - {0xCFDD, 0x9677}, //{0xE9, 0x99, 0xB7}, // ÏÝ - {0xD3E7, 0x9685}, //{0xE9, 0x9A, 0x85}, // Óç + {0xB3FD, 0x9664}, //{0xE9, 0x99, 0xA4}, // �� + {0xD4C9, 0x9668}, //{0xE9, 0x99, 0xA8}, // �� + {0xCFD5, 0x9669}, //{0xE9, 0x99, 0xA9}, // �� + {0xC5E3, 0x966A}, //{0xE9, 0x99, 0xAA}, // �� + {0xC1EA, 0x9675}, //{0xE9, 0x99, 0xB5}, // �� + {0xCCD5, 0x9676}, //{0xE9, 0x99, 0xB6}, // �� + {0xCFDD, 0x9677}, //{0xE9, 0x99, 0xB7}, // �� + {0xD3E7, 0x9685}, //{0xE9, 0x9A, 0x85}, // �� {0xC2A1, 0x9686}, //{0xE9, 0x9A, 0x86}, // ¡ - {0xCBE6, 0x968F}, //{0xE9, 0x9A, 0x8F}, // Ëæ - {0xD2FE, 0x9690}, //{0xE9, 0x9A, 0x90}, // Òþ - {0xB8F4, 0x9694}, //{0xE9, 0x9A, 0x94}, // ¸ô - {0xB0AF, 0x9698}, //{0xE9, 0x9A, 0x98}, // °¯ + {0xCBE6, 0x968F}, //{0xE9, 0x9A, 0x8F}, // �� + {0xD2FE, 0x9690}, //{0xE9, 0x9A, 0x90}, // �� + {0xB8F4, 0x9694}, //{0xE9, 0x9A, 0x94}, // �� + {0xB0AF, 0x9698}, //{0xE9, 0x9A, 0x98}, // �� {0xCFB6, 0x9699}, //{0xE9, 0x9A, 0x99}, // ϶ - {0xD5CF, 0x969C}, //{0xE9, 0x9A, 0x9C}, // ÕÏ - {0xCBED, 0x96A7}, //{0xE9, 0x9A, 0xA7}, // Ëí - {0xC1A5, 0x96B6}, //{0xE9, 0x9A, 0xB6}, // Á¥ - {0xC4D1, 0x96BE}, //{0xE9, 0x9A, 0xBE}, // ÄÑ + {0xD5CF, 0x969C}, //{0xE9, 0x9A, 0x9C}, // �� + {0xCBED, 0x96A7}, //{0xE9, 0x9A, 0xA7}, // �� + {0xC1A5, 0x96B6}, //{0xE9, 0x9A, 0xB6}, // e + {0xC4D1, 0x96BE}, //{0xE9, 0x9A, 0xBE}, // �� {0xC8B8, 0x96C0}, //{0xE9, 0x9B, 0x80}, // ȸ - {0xD1E3, 0x96C1}, //{0xE9, 0x9B, 0x81}, // Ñã - {0xD0DB, 0x96C4}, //{0xE9, 0x9B, 0x84}, // ÐÛ - {0xD1C5, 0x96C5}, //{0xE9, 0x9B, 0x85}, // ÑÅ - {0xBCAF, 0x96C6}, //{0xE9, 0x9B, 0x86}, // ¼¯ - {0xB9CD, 0x96C7}, //{0xE9, 0x9B, 0x87}, // ¹Í - {0xB4C6, 0x96CC}, //{0xE9, 0x9B, 0x8C}, // ´Æ - {0xB3FB, 0x96CF}, //{0xE9, 0x9B, 0x8F}, // ³û - {0xB5F1, 0x96D5}, //{0xE9, 0x9B, 0x95}, // µñ - {0xD3EA, 0x96E8}, //{0xE9, 0x9B, 0xA8}, // Óê + {0xD1E3, 0x96C1}, //{0xE9, 0x9B, 0x81}, // �� + {0xD0DB, 0x96C4}, //{0xE9, 0x9B, 0x84}, // �� + {0xD1C5, 0x96C5}, //{0xE9, 0x9B, 0x85}, // �� + {0xBCAF, 0x96C6}, //{0xE9, 0x9B, 0x86}, // �� + {0xB9CD, 0x96C7}, //{0xE9, 0x9B, 0x87}, // �� + {0xB4C6, 0x96CC}, //{0xE9, 0x9B, 0x8C}, // �� + {0xB3FB, 0x96CF}, //{0xE9, 0x9B, 0x8F}, // �� + {0xB5F1, 0x96D5}, //{0xE9, 0x9B, 0x95}, // �� + {0xD3EA, 0x96E8}, //{0xE9, 0x9B, 0xA8}, // �� {0xD1A9, 0x96EA}, //{0xE9, 0x9B, 0xAA}, // Ñ© - {0xF6A8, 0x96F3}, //{0xE9, 0x9B, 0xB3}, // ö¨ - {0xC1E3, 0x96F6}, //{0xE9, 0x9B, 0xB6}, // Áã - {0xC0D7, 0x96F7}, //{0xE9, 0x9B, 0xB7}, // À× - {0xB1A2, 0x96F9}, //{0xE9, 0x9B, 0xB9}, // ±¢ - {0xCEED, 0x96FE}, //{0xE9, 0x9B, 0xBE}, // Îí - {0xD0E8, 0x9700}, //{0xE9, 0x9C, 0x80}, // Ðè - {0xD5F0, 0x9707}, //{0xE9, 0x9C, 0x87}, // Õð + {0xF6A8, 0x96F3}, //{0xE9, 0x9B, 0xB3}, // �� + {0xC1E3, 0x96F6}, //{0xE9, 0x9B, 0xB6}, // �� + {0xC0D7, 0x96F7}, //{0xE9, 0x9B, 0xB7}, // �� + {0xB1A2, 0x96F9}, //{0xE9, 0x9B, 0xB9}, // �� + {0xCEED, 0x96FE}, //{0xE9, 0x9B, 0xBE}, // �� + {0xD0E8, 0x9700}, //{0xE9, 0x9C, 0x80}, // �� + {0xD5F0, 0x9707}, //{0xE9, 0x9C, 0x87}, // �� {0xC3B9, 0x9709}, //{0xE9, 0x9C, 0x89}, // ù - {0xBBF4, 0x970D}, //{0xE9, 0x9C, 0x8D}, // »ô - {0xF6AE, 0x970E}, //{0xE9, 0x9C, 0x8E}, // ö® + {0xBBF4, 0x970D}, //{0xE9, 0x9C, 0x8D}, // �� + {0xF6AE, 0x970E}, //{0xE9, 0x9C, 0x8E}, // �� {0xCBAA, 0x971C}, //{0xE9, 0x9C, 0x9C}, // ˪ {0xCFBC, 0x971E}, //{0xE9, 0x9C, 0x9E}, // ϼ {0xC2B6, 0x9732}, //{0xE9, 0x9C, 0xB2}, // ¶ - {0xB0D4, 0x9738}, //{0xE9, 0x9C, 0xB8}, // °Ô - {0xC5F9, 0x9739}, //{0xE9, 0x9C, 0xB9}, // Åù - {0xC7E0, 0x9752}, //{0xE9, 0x9D, 0x92}, // Çà - {0xBEB8, 0x9756}, //{0xE9, 0x9D, 0x96}, // ¾¸ - {0xBEB2, 0x9759}, //{0xE9, 0x9D, 0x99}, // ¾² - {0xB7C7, 0x975E}, //{0xE9, 0x9D, 0x9E}, // ·Ç - {0xBFBF, 0x9760}, //{0xE9, 0x9D, 0xA0}, // ¿¿ - {0xC3D2, 0x9761}, //{0xE9, 0x9D, 0xA1}, // ÃÒ - {0xC3E6, 0x9762}, //{0xE9, 0x9D, 0xA2}, // Ãæ - {0xB8EF, 0x9769}, //{0xE9, 0x9D, 0xA9}, // ¸ï + {0xB0D4, 0x9738}, //{0xE9, 0x9C, 0xB8}, // �� + {0xC5F9, 0x9739}, //{0xE9, 0x9C, 0xB9}, // �� + {0xC7E0, 0x9752}, //{0xE9, 0x9D, 0x92}, // �� + {0xBEB8, 0x9756}, //{0xE9, 0x9D, 0x96}, // �� + {0xBEB2, 0x9759}, //{0xE9, 0x9D, 0x99}, // �� + {0xB7C7, 0x975E}, //{0xE9, 0x9D, 0x9E}, // �� + {0xBFBF, 0x9760}, //{0xE9, 0x9D, 0xA0}, // �� + {0xC3D2, 0x9761}, //{0xE9, 0x9D, 0xA1}, // �� + {0xC3E6, 0x9762}, //{0xE9, 0x9D, 0xA2}, // �� + {0xB8EF, 0x9769}, //{0xE9, 0x9D, 0xA9}, // �� {0xD1A5, 0x9774}, //{0xE9, 0x9D, 0xB4}, // Ñ¥ - {0xB0D0, 0x9776}, //{0xE9, 0x9D, 0xB6}, // °Ð + {0xB0D0, 0x9776}, //{0xE9, 0x9D, 0xB6}, // �� {0xD0AC, 0x978B}, //{0xE9, 0x9E, 0x8B}, // Ь - {0xB0B0, 0x978D}, //{0xE9, 0x9E, 0x8D}, // °° - {0xBECF, 0x97A0}, //{0xE9, 0x9E, 0xA0}, // ¾Ï - {0xB1DE, 0x97AD}, //{0xE9, 0x9E, 0xAD}, // ±Þ - {0xC8CD, 0x97E7}, //{0xE9, 0x9F, 0xA7}, // ÈÍ - {0xBAAB, 0x97E9}, //{0xE9, 0x9F, 0xA9}, // º« - {0xBEC2, 0x97ED}, //{0xE9, 0x9F, 0xAD}, // ¾Â - {0xD2F4, 0x97F3}, //{0xE9, 0x9F, 0xB3}, // Òô - {0xD4CF, 0x97F5}, //{0xE9, 0x9F, 0xB5}, // ÔÏ + {0xB0B0, 0x978D}, //{0xE9, 0x9E, 0x8D}, // �� + {0xBECF, 0x97A0}, //{0xE9, 0x9E, 0xA0}, // �� + {0xB1DE, 0x97AD}, //{0xE9, 0x9E, 0xAD}, // �� + {0xC8CD, 0x97E7}, //{0xE9, 0x9F, 0xA7}, // �� + {0xBAAB, 0x97E9}, //{0xE9, 0x9F, 0xA9}, // �� + {0xBEC2, 0x97ED}, //{0xE9, 0x9F, 0xAD}, // �� + {0xD2F4, 0x97F3}, //{0xE9, 0x9F, 0xB3}, // �� + {0xD4CF, 0x97F5}, //{0xE9, 0x9F, 0xB5}, // �� {0xD2B3, 0x9875}, //{0xE9, 0xA1, 0xB5}, // Ò³ - {0xB6A5, 0x9876}, //{0xE9, 0xA1, 0xB6}, // ¶¥ - {0xC7EA, 0x9877}, //{0xE9, 0xA1, 0xB7}, // Çê - {0xCFEE, 0x9879}, //{0xE9, 0xA1, 0xB9}, // Ïî + {0xB6A5, 0x9876}, //{0xE9, 0xA1, 0xB6}, // �� + {0xC7EA, 0x9877}, //{0xE9, 0xA1, 0xB7}, // �� + {0xCFEE, 0x9879}, //{0xE9, 0xA1, 0xB9}, // �� {0xCBB3, 0x987A}, //{0xE9, 0xA1, 0xBA}, // ˳ - {0xD0EB, 0x987B}, //{0xE9, 0xA1, 0xBB}, // Ðë - {0xCDE7, 0x987D}, //{0xE9, 0xA1, 0xBD}, // Íç - {0xB9CB, 0x987E}, //{0xE9, 0xA1, 0xBE}, // ¹Ë - {0xB6D9, 0x987F}, //{0xE9, 0xA1, 0xBF}, // ¶Ù - {0xB0E4, 0x9881}, //{0xE9, 0xA2, 0x81}, // °ä - {0xCBCC, 0x9882}, //{0xE9, 0xA2, 0x82}, // ËÌ + {0xD0EB, 0x987B}, //{0xE9, 0xA1, 0xBB}, // �� + {0xCDE7, 0x987D}, //{0xE9, 0xA1, 0xBD}, // �� + {0xB9CB, 0x987E}, //{0xE9, 0xA1, 0xBE}, // �� + {0xB6D9, 0x987F}, //{0xE9, 0xA1, 0xBF}, // �� + {0xB0E4, 0x9881}, //{0xE9, 0xA2, 0x81}, // �� + {0xCBCC, 0x9882}, //{0xE9, 0xA2, 0x82}, // �� {0xD4A4, 0x9884}, //{0xE9, 0xA2, 0x84}, // Ô¤ {0xC2AD, 0x9885}, //{0xE9, 0xA2, 0x85}, // ­ - {0xC1EC, 0x9886}, //{0xE9, 0xA2, 0x86}, // Áì - {0xC6C4, 0x9887}, //{0xE9, 0xA2, 0x87}, // ÆÄ - {0xBEB1, 0x9888}, //{0xE9, 0xA2, 0x88}, // ¾± - {0xBCD5, 0x988A}, //{0xE9, 0xA2, 0x8A}, // ¼Õ + {0xC1EC, 0x9886}, //{0xE9, 0xA2, 0x86}, // �� + {0xC6C4, 0x9887}, //{0xE9, 0xA2, 0x87}, // �� + {0xBEB1, 0x9888}, //{0xE9, 0xA2, 0x88}, // �� + {0xBCD5, 0x988A}, //{0xE9, 0xA2, 0x8A}, // �� {0xC6B5, 0x9891}, //{0xE9, 0xA2, 0x91}, // Ƶ - {0xCDC7, 0x9893}, //{0xE9, 0xA2, 0x93}, // ÍÇ + {0xCDC7, 0x9893}, //{0xE9, 0xA2, 0x93}, // �� {0xD3B1, 0x9896}, //{0xE9, 0xA2, 0x96}, // Ó± - {0xBFC5, 0x9897}, //{0xE9, 0xA2, 0x97}, // ¿Å - {0xCCE2, 0x9898}, //{0xE9, 0xA2, 0x98}, // Ìâ - {0xD1D5, 0x989C}, //{0xE9, 0xA2, 0x9C}, // ÑÕ - {0xB6EE, 0x989D}, //{0xE9, 0xA2, 0x9D}, // ¶î - {0xB5DF, 0x98A0}, //{0xE9, 0xA2, 0xA0}, // µß - {0xB2FC, 0x98A4}, //{0xE9, 0xA2, 0xA4}, // ²ü - {0xB7E7, 0x98CE}, //{0xE9, 0xA3, 0x8E}, // ·ç - {0xECAA, 0x98D2}, //{0xE9, 0xA3, 0x92}, // ìª + {0xBFC5, 0x9897}, //{0xE9, 0xA2, 0x97}, // �� + {0xCCE2, 0x9898}, //{0xE9, 0xA2, 0x98}, // �� + {0xD1D5, 0x989C}, //{0xE9, 0xA2, 0x9C}, // �� + {0xB6EE, 0x989D}, //{0xE9, 0xA2, 0x9D}, // �� + {0xB5DF, 0x98A0}, //{0xE9, 0xA2, 0xA0}, // �� + {0xB2FC, 0x98A4}, //{0xE9, 0xA2, 0xA4}, // �� + {0xB7E7, 0x98CE}, //{0xE9, 0xA3, 0x8E}, // �� + {0xECAA, 0x98D2}, //{0xE9, 0xA3, 0x92}, // � {0xC6AE, 0x98D8}, //{0xE9, 0xA3, 0x98}, // Æ® - {0xB7C9, 0x98DE}, //{0xE9, 0xA3, 0x9E}, // ·É + {0xB7C9, 0x98DE}, //{0xE9, 0xA3, 0x9E}, // �� {0xCAB3, 0x98DF}, //{0xE9, 0xA3, 0x9F}, // ʳ - {0xB2CD, 0x9910}, //{0xE9, 0xA4, 0x90}, // ²Í - {0xBCA2, 0x9965}, //{0xE9, 0xA5, 0xA5}, // ¼¢ - {0xB7B9, 0x996D}, //{0xE9, 0xA5, 0xAD}, // ·¹ - {0xD2FB, 0x996E}, //{0xE9, 0xA5, 0xAE}, // Òû - {0xCACE, 0x9970}, //{0xE9, 0xA5, 0xB0}, // ÊÎ - {0xB1A5, 0x9971}, //{0xE9, 0xA5, 0xB1}, // ±¥ - {0xCBC7, 0x9972}, //{0xE9, 0xA5, 0xB2}, // ËÇ - {0xB6FC, 0x9975}, //{0xE9, 0xA5, 0xB5}, // ¶ü - {0xC8C4, 0x9976}, //{0xE9, 0xA5, 0xB6}, // ÈÄ - {0xBDC8, 0x997A}, //{0xE9, 0xA5, 0xBA}, // ½È - {0xB1FD, 0x997C}, //{0xE9, 0xA5, 0xBC}, // ±ý - {0xB6F6, 0x997F}, //{0xE9, 0xA5, 0xBF}, // ¶ö - {0xC4D9, 0x9981}, //{0xE9, 0xA6, 0x81}, // ÄÙ - {0xCFDA, 0x9985}, //{0xE9, 0xA6, 0x85}, // ÏÚ - {0xB9DD, 0x9986}, //{0xE9, 0xA6, 0x86}, // ¹Ý - {0xB2F6, 0x998B}, //{0xE9, 0xA6, 0x8B}, // ²ö - {0xE2C9, 0x998D}, //{0xE9, 0xA6, 0x8D}, // âÉ - {0xC1F3, 0x998F}, //{0xE9, 0xA6, 0x8F}, // Áó - {0xC2F8, 0x9992}, //{0xE9, 0xA6, 0x92}, // Âø - {0xCAD7, 0x9996}, //{0xE9, 0xA6, 0x96}, // Ê× - {0xCFE3, 0x9999}, //{0xE9, 0xA6, 0x99}, // Ïã - {0xC2ED, 0x9A6C}, //{0xE9, 0xA9, 0xAC}, // Âí - {0xCDD4, 0x9A6E}, //{0xE9, 0xA9, 0xAE}, // ÍÔ + {0xB2CD, 0x9910}, //{0xE9, 0xA4, 0x90}, // �� + {0xBCA2, 0x9965}, //{0xE9, 0xA5, 0xA5}, // �� + {0xB7B9, 0x996D}, //{0xE9, 0xA5, 0xAD}, // �� + {0xD2FB, 0x996E}, //{0xE9, 0xA5, 0xAE}, // �� + {0xCACE, 0x9970}, //{0xE9, 0xA5, 0xB0}, // �� + {0xB1A5, 0x9971}, //{0xE9, 0xA5, 0xB1}, // �� + {0xCBC7, 0x9972}, //{0xE9, 0xA5, 0xB2}, // �� + {0xB6FC, 0x9975}, //{0xE9, 0xA5, 0xB5}, // �� + {0xC8C4, 0x9976}, //{0xE9, 0xA5, 0xB6}, // �� + {0xBDC8, 0x997A}, //{0xE9, 0xA5, 0xBA}, // �� + {0xB1FD, 0x997C}, //{0xE9, 0xA5, 0xBC}, // �� + {0xB6F6, 0x997F}, //{0xE9, 0xA5, 0xBF}, // �� + {0xC4D9, 0x9981}, //{0xE9, 0xA6, 0x81}, // �� + {0xCFDA, 0x9985}, //{0xE9, 0xA6, 0x85}, // �� + {0xB9DD, 0x9986}, //{0xE9, 0xA6, 0x86}, // �� + {0xB2F6, 0x998B}, //{0xE9, 0xA6, 0x8B}, // �� + {0xE2C9, 0x998D}, //{0xE9, 0xA6, 0x8D}, // �� + {0xC1F3, 0x998F}, //{0xE9, 0xA6, 0x8F}, // �� + {0xC2F8, 0x9992}, //{0xE9, 0xA6, 0x92}, // �� + {0xCAD7, 0x9996}, //{0xE9, 0xA6, 0x96}, // �� + {0xCFE3, 0x9999}, //{0xE9, 0xA6, 0x99}, // �� + {0xC2ED, 0x9A6C}, //{0xE9, 0xA9, 0xAC}, // �� + {0xCDD4, 0x9A6E}, //{0xE9, 0xA9, 0xAE}, // �� {0xD1B1, 0x9A6F}, //{0xE9, 0xA9, 0xAF}, // ѱ - {0xB3DB, 0x9A70}, //{0xE9, 0xA9, 0xB0}, // ³Û - {0xC7FD, 0x9A71}, //{0xE9, 0xA9, 0xB1}, // Çý - {0xB2B5, 0x9A73}, //{0xE9, 0xA9, 0xB3}, // ²µ + {0xB3DB, 0x9A70}, //{0xE9, 0xA9, 0xB0}, // �� + {0xC7FD, 0x9A71}, //{0xE9, 0xA9, 0xB1}, // �� + {0xB2B5, 0x9A73}, //{0xE9, 0xA9, 0xB3}, // �� {0xC2BF, 0x9A74}, //{0xE9, 0xA9, 0xB4}, // ¿ {0xCABB, 0x9A76}, //{0xE9, 0xA9, 0xB6}, // Ê» - {0xBED4, 0x9A79}, //{0xE9, 0xA9, 0xB9}, // ¾Ô + {0xBED4, 0x9A79}, //{0xE9, 0xA9, 0xB9}, // �� {0xD7A4, 0x9A7B}, //{0xE9, 0xA9, 0xBB}, // פ - {0xCDD5, 0x9A7C}, //{0xE9, 0xA9, 0xBC}, // ÍÕ - {0xBCDD, 0x9A7E}, //{0xE9, 0xA9, 0xBE}, // ¼Ý - {0xC2EE, 0x9A82}, //{0xE9, 0xAA, 0x82}, // Âî - {0xBDBE, 0x9A84}, //{0xE9, 0xAA, 0x84}, // ½¾ - {0xC2E6, 0x9A86}, //{0xE9, 0xAA, 0x86}, // Âæ - {0xBAA7, 0x9A87}, //{0xE9, 0xAA, 0x87}, // º§ - {0xD1E9, 0x9A8C}, //{0xE9, 0xAA, 0x8C}, // Ñé - {0xBFA5, 0x9A8F}, //{0xE9, 0xAA, 0x8F}, // ¿¥ - {0xC6EF, 0x9A91}, //{0xE9, 0xAA, 0x91}, // Æï + {0xCDD5, 0x9A7C}, //{0xE9, 0xA9, 0xBC}, // �� + {0xBCDD, 0x9A7E}, //{0xE9, 0xA9, 0xBE}, // �� + {0xC2EE, 0x9A82}, //{0xE9, 0xAA, 0x82}, // �� + {0xBDBE, 0x9A84}, //{0xE9, 0xAA, 0x84}, // �� + {0xC2E6, 0x9A86}, //{0xE9, 0xAA, 0x86}, // �� + {0xBAA7, 0x9A87}, //{0xE9, 0xAA, 0x87}, // �� + {0xD1E9, 0x9A8C}, //{0xE9, 0xAA, 0x8C}, // �� + {0xBFA5, 0x9A8F}, //{0xE9, 0xAA, 0x8F}, // �� + {0xC6EF, 0x9A91}, //{0xE9, 0xAA, 0x91}, // �� {0xC6AD, 0x9A97}, //{0xE9, 0xAA, 0x97}, // Æ­ {0xC9A7, 0x9A9A}, //{0xE9, 0xAA, 0x9A}, // ɧ - {0xC2E2, 0x9AA1}, //{0xE9, 0xAA, 0xA1}, // Ââ - {0xD6E8, 0x9AA4}, //{0xE9, 0xAA, 0xA4}, // Öè - {0xB9C7, 0x9AA8}, //{0xE9, 0xAA, 0xA8}, // ¹Ç - {0xCBE8, 0x9AD3}, //{0xE9, 0xAB, 0x93}, // Ëè - {0xB8DF, 0x9AD8}, //{0xE9, 0xAB, 0x98}, // ¸ß - {0xF7DE, 0x9B13}, //{0xE9, 0xAC, 0x93}, // ÷Þ - {0xB9ED, 0x9B3C}, //{0xE9, 0xAC, 0xBC}, // ¹í - {0xBFFD, 0x9B41}, //{0xE9, 0xAD, 0x81}, // ¿ý - {0xBBEA, 0x9B42}, //{0xE9, 0xAD, 0x82}, // »ê - {0xC6C7, 0x9B44}, //{0xE9, 0xAD, 0x84}, // ÆÇ + {0xC2E2, 0x9AA1}, //{0xE9, 0xAA, 0xA1}, // �� + {0xD6E8, 0x9AA4}, //{0xE9, 0xAA, 0xA4}, // �� + {0xB9C7, 0x9AA8}, //{0xE9, 0xAA, 0xA8}, // �� + {0xCBE8, 0x9AD3}, //{0xE9, 0xAB, 0x93}, // �� + {0xB8DF, 0x9AD8}, //{0xE9, 0xAB, 0x98}, // �� + {0xF7DE, 0x9B13}, //{0xE9, 0xAC, 0x93}, // �� + {0xB9ED, 0x9B3C}, //{0xE9, 0xAC, 0xBC}, // �� + {0xBFFD, 0x9B41}, //{0xE9, 0xAD, 0x81}, // �� + {0xBBEA, 0x9B42}, //{0xE9, 0xAD, 0x82}, // �� + {0xC6C7, 0x9B44}, //{0xE9, 0xAD, 0x84}, // �� {0xCEBA, 0x9B4F}, //{0xE9, 0xAD, 0x8F}, // κ {0xC4A7, 0x9B54}, //{0xE9, 0xAD, 0x94}, // ħ - {0xD3E3, 0x9C7C}, //{0xE9, 0xB1, 0xBC}, // Óã + {0xD3E3, 0x9C7C}, //{0xE9, 0xB1, 0xBC}, // �� {0xC2B3, 0x9C81}, //{0xE9, 0xB2, 0x81}, // ³ - {0xCFCA, 0x9C9C}, //{0xE9, 0xB2, 0x9C}, // ÏÊ - {0xC0F0, 0x9CA4}, //{0xE9, 0xB2, 0xA4}, // Àð - {0xF6EA, 0x9CAB}, //{0xE9, 0xB2, 0xAB}, // öê - {0xBEA8, 0x9CB8}, //{0xE9, 0xB2, 0xB8}, // ¾¨ - {0xF6F9, 0x9CC4}, //{0xE9, 0xB3, 0x84}, // öù - {0xF7A2, 0x9CCD}, //{0xE9, 0xB3, 0x8D}, // ÷¢ - {0xB1EE, 0x9CD6}, //{0xE9, 0xB3, 0x96}, // ±î - {0xC1DB, 0x9CDE}, //{0xE9, 0xB3, 0x9E}, // ÁÛ - {0xC4F1, 0x9E1F}, //{0xE9, 0xB8, 0x9F}, // Äñ - {0xF0AF, 0x9E20}, //{0xE9, 0xB8, 0xA0}, // ð¯ - {0xBCA6, 0x9E21}, //{0xE9, 0xB8, 0xA1}, // ¼¦ - {0xC3F9, 0x9E23}, //{0xE9, 0xB8, 0xA3}, // Ãù + {0xCFCA, 0x9C9C}, //{0xE9, 0xB2, 0x9C}, // �� + {0xC0F0, 0x9CA4}, //{0xE9, 0xB2, 0xA4}, // �� + {0xF6EA, 0x9CAB}, //{0xE9, 0xB2, 0xAB}, // �� + {0xBEA8, 0x9CB8}, //{0xE9, 0xB2, 0xB8}, // �� + {0xF6F9, 0x9CC4}, //{0xE9, 0xB3, 0x84}, // �� + {0xF7A2, 0x9CCD}, //{0xE9, 0xB3, 0x8D}, // �� + {0xB1EE, 0x9CD6}, //{0xE9, 0xB3, 0x96}, // �� + {0xC1DB, 0x9CDE}, //{0xE9, 0xB3, 0x9E}, // �� + {0xC4F1, 0x9E1F}, //{0xE9, 0xB8, 0x9F}, // �� + {0xF0AF, 0x9E20}, //{0xE9, 0xB8, 0xA0}, // � + {0xBCA6, 0x9E21}, //{0xE9, 0xB8, 0xA1}, // �� + {0xC3F9, 0x9E23}, //{0xE9, 0xB8, 0xA3}, // �� {0xC5B8, 0x9E25}, //{0xE9, 0xB8, 0xA5}, // Ÿ {0xD1BB, 0x9E26}, //{0xE9, 0xB8, 0xA6}, // Ñ» {0xD1BC, 0x9E2D}, //{0xE9, 0xB8, 0xAD}, // Ѽ - {0xD1EC, 0x9E2F}, //{0xE9, 0xB8, 0xAF}, // Ñì + {0xD1EC, 0x9E2F}, //{0xE9, 0xB8, 0xAF}, // �� {0xD4A7, 0x9E33}, //{0xE9, 0xB8, 0xB3}, // Ô§ - {0xCDD2, 0x9E35}, //{0xE9, 0xB8, 0xB5}, // ÍÒ - {0xB8EB, 0x9E3D}, //{0xE9, 0xB8, 0xBD}, // ¸ë - {0xBAE8, 0x9E3F}, //{0xE9, 0xB8, 0xBF}, // ºè - {0xBEE9, 0x9E43}, //{0xE9, 0xB9, 0x83}, // ¾é - {0xB6EC, 0x9E45}, //{0xE9, 0xB9, 0x85}, // ¶ì - {0xF0C4, 0x9E49}, //{0xE9, 0xB9, 0x89}, // ðÄ + {0xCDD2, 0x9E35}, //{0xE9, 0xB8, 0xB5}, // �� + {0xB8EB, 0x9E3D}, //{0xE9, 0xB8, 0xBD}, // �� + {0xBAE8, 0x9E3F}, //{0xE9, 0xB8, 0xBF}, // �� + {0xBEE9, 0x9E43}, //{0xE9, 0xB9, 0x83}, // �� + {0xB6EC, 0x9E45}, //{0xE9, 0xB9, 0x85}, // �� + {0xF0C4, 0x9E49}, //{0xE9, 0xB9, 0x89}, // �� {0xC8B5, 0x9E4A}, //{0xE9, 0xB9, 0x8A}, // ȵ - {0xC5F4, 0x9E4F}, //{0xE9, 0xB9, 0x8F}, // Åô - {0xBAD7, 0x9E64}, //{0xE9, 0xB9, 0xA4}, // º× - {0xF0D0, 0x9E66}, //{0xE9, 0xB9, 0xA6}, // ðÐ + {0xC5F4, 0x9E4F}, //{0xE9, 0xB9, 0x8F}, // �� + {0xBAD7, 0x9E64}, //{0xE9, 0xB9, 0xA4}, // �� + {0xF0D0, 0x9E66}, //{0xE9, 0xB9, 0xA6}, // �� {0xD3A5, 0x9E70}, //{0xE9, 0xB9, 0xB0}, // Ó¥ {0xC2B9, 0x9E7F}, //{0xE9, 0xB9, 0xBF}, // ¹ - {0xC2F3, 0x9EA6}, //{0xE9, 0xBA, 0xA6}, // Âó - {0xF4EF, 0x9EB8}, //{0xE9, 0xBA, 0xB8}, // ôï - {0xC2E9, 0x9EBB}, //{0xE9, 0xBA, 0xBB}, // Âé - {0xBBC6, 0x9EC4}, //{0xE9, 0xBB, 0x84}, // »Æ - {0xCAF2, 0x9ECD}, //{0xE9, 0xBB, 0x8D}, // Êò - {0xC0E8, 0x9ECE}, //{0xE9, 0xBB, 0x8E}, // Àè - {0xBADA, 0x9ED1}, //{0xE9, 0xBB, 0x91}, // ºÚ + {0xC2F3, 0x9EA6}, //{0xE9, 0xBA, 0xA6}, // �� + {0xF4EF, 0x9EB8}, //{0xE9, 0xBA, 0xB8}, // �� + {0xC2E9, 0x9EBB}, //{0xE9, 0xBA, 0xBB}, // �� + {0xBBC6, 0x9EC4}, //{0xE9, 0xBB, 0x84}, // �� + {0xCAF2, 0x9ECD}, //{0xE9, 0xBB, 0x8D}, // �� + {0xC0E8, 0x9ECE}, //{0xE9, 0xBB, 0x8E}, // �� + {0xBADA, 0x9ED1}, //{0xE9, 0xBB, 0x91}, // �� {0xC7AD, 0x9ED4}, //{0xE9, 0xBB, 0x94}, // Ç­ {0xC4AC, 0x9ED8}, //{0xE9, 0xBB, 0x98}, // Ĭ - {0xB6A6, 0x9F0E}, //{0xE9, 0xBC, 0x8E}, // ¶¦ - {0xB9C4, 0x9F13}, //{0xE9, 0xBC, 0x93}, // ¹Ä - {0xCAF3, 0x9F20}, //{0xE9, 0xBC, 0xA0}, // Êó - {0xB1C7, 0x9F3B}, //{0xE9, 0xBC, 0xBB}, // ±Ç - {0xC6EB, 0x9F50}, //{0xE9, 0xBD, 0x90}, // Æë - {0xB3DD, 0x9F7F}, //{0xE9, 0xBD, 0xBF}, // ³Ý - {0xC1E4, 0x9F84}, //{0xE9, 0xBE, 0x84}, // Áä - {0xC1FA, 0x9F99}, //{0xE9, 0xBE, 0x99}, // Áú - {0xB9EA, 0x9F9F}, //{0xE9, 0xBE, 0x9F}, // ¹ê + {0xB6A6, 0x9F0E}, //{0xE9, 0xBC, 0x8E}, // �� + {0xB9C4, 0x9F13}, //{0xE9, 0xBC, 0x93}, // �� + {0xCAF3, 0x9F20}, //{0xE9, 0xBC, 0xA0}, // �� + {0xB1C7, 0x9F3B}, //{0xE9, 0xBC, 0xBB}, // �� + {0xC6EB, 0x9F50}, //{0xE9, 0xBD, 0x90}, // �� + {0xB3DD, 0x9F7F}, //{0xE9, 0xBD, 0xBF}, // �� + {0xC1E4, 0x9F84}, //{0xE9, 0xBE, 0x84}, // �� + {0xC1FA, 0x9F99}, //{0xE9, 0xBE, 0x99}, // �� + {0xB9EA, 0x9F9F}, //{0xE9, 0xBE, 0x9F}, // �� #endif }; static const unsigned short table_BIG5_to_UCS2[][2] = { @@ -24826,7 +24833,7 @@ static const unsigned short table_BIG5_to_UCS2[][2] = { 0xFEFD,0xE30F, 0xFEFE,0xE310, }; - +#endif #define NUMOF_TAB_GBK_TO_UCS2 sizeof(table_GBK_to_UCS2)/sizeof(table_GBK_to_UCS2[0]) #define NUMOF_TAB_BIG5_TO_UCS2 sizeof(table_BIG5_to_UCS2)/sizeof(table_BIG5_to_UCS2[0]) @@ -25205,7 +25212,7 @@ bool is_str_utf8(const char* str) if ((chr & 0xC0) != 0x80) { return false; } - //¼õµ½ÎªÁãΪֹ + //����Ϊ��Ϊֹ nBytes--; } } diff --git a/platform/vendor_bsp/LN/ln882x/src/utils/system_parameter.c b/platform/vendor_bsp/LN/ln882x/src/utils/system_parameter.c index bffe8fb6..c5da34d5 100644 --- a/platform/vendor_bsp/LN/ln882x/src/utils/system_parameter.c +++ b/platform/vendor_bsp/LN/ln882x/src/utils/system_parameter.c @@ -17,10 +17,6 @@ typedef struct { uint8_t ap_hostname[NETIF_HOSTNAME_LEN_MAX+1]; } hostname_t; -typedef struct { - wifi_psk_info_t psk_info_list[WIFI_PSK_INFO_LIST_SIZE]; -} wifi_psk_info_list_t; - typedef enum { WIFI_COMMON_CONFIG = 0, WIFI_STA_CONFIG, @@ -42,7 +38,6 @@ typedef struct system_parameter{ uint8_t dhcp_sw_config; hostname_t hostname_cfg; server_config_t dhcpd_config; - wifi_psk_info_list_t psk_info_list; OS_Mutex_t lock; }system_parameter_t; @@ -58,7 +53,6 @@ typedef struct { uint8_t dhcp_sw_config; hostname_t hostname_cfg; server_config_t dhcpd_config; - wifi_psk_info_list_t psk_info_list; }item; } system_param_item_t; @@ -221,13 +215,6 @@ void system_parameter_sync_to_flash(system_param_item_t *param_item) } break; - case WIFI_PSK_INFO: { - cache_content = (uint8_t *)&(param_item->item.psk_info_list); - len = sizeof(wifi_psk_info_list_t); - start = (uint8_t *)&(system_parameter->psk_info_list) - system_parameter_base; - } - break; - default: break; } @@ -325,111 +312,6 @@ int system_parameter_get_config(wifi_interface_enum_t if_index, wifi_config_t *c return 0; } -static int system_parameter_set_psk_info_list(wifi_psk_info_list_t *psk_info_list) -{ - system_parameter_t *system_parameter = get_system_parameter_handle(); - system_param_item_t *param_item = get_param_item_cache(); - - ART_ASSERT(system_parameter && psk_info_list); - OS_MutexLock(&system_parameter->lock, OS_WAIT_FOREVER); - param_item->item_id = (uint32_t)WIFI_PSK_INFO; - memcpy(¶m_item->item.psk_info_list, psk_info_list, sizeof(wifi_psk_info_list_t)); - system_parameter_sync_to_flash(param_item); - OS_MutexUnlock(&system_parameter->lock); - return 0; -} -static int system_parameter_get_psk_info_list( wifi_psk_info_list_t *psk_info_list) -{ - system_parameter_t *system_parameter = get_system_parameter_handle(); - - ART_ASSERT(system_parameter && psk_info_list); - OS_MutexLock(&system_parameter->lock, OS_WAIT_FOREVER); - memcpy(psk_info_list, &(system_parameter->psk_info_list), sizeof(wifi_psk_info_list_t)); - OS_MutexUnlock(&system_parameter->lock); - return 0; -} - -//PSK info -int system_parameter_set_psk_info(wifi_psk_info_t *psk_info) -{ - int i, idx_idle = -1; - wifi_psk_info_t *wifi_psk_info = NULL; - wifi_psk_info_list_t wifi_psk_info_list = {0,}; - bool need_flush = false; - - ART_ASSERT(psk_info); - - if(0 == system_parameter_get_psk_info_list(&wifi_psk_info_list)) - { - for(i = 0; i < (sizeof(wifi_psk_info_list_t)/sizeof(wifi_psk_info_t)); i++){ - wifi_psk_info = &(wifi_psk_info_list.psk_info_list[i]); - //Got it - if((psk_info->ssid_len == wifi_psk_info->ssid_len) - && (psk_info->password_len == wifi_psk_info->password_len) - && ((psk_info->password_len > 0) && !memcmp(psk_info->password, wifi_psk_info->password, psk_info->password_len)) - && ((psk_info->ssid_len > 0) && !memcmp(psk_info->ssid, wifi_psk_info->ssid, psk_info->ssid_len))){ - break; - } - - //First idle - if((idx_idle < 0) - && (psk_info->password_len == 0) - && (psk_info->ssid_len == 0)){ - idx_idle = i; - } - } - if(i < (sizeof(wifi_psk_info_list_t)/sizeof(wifi_psk_info_t))){//already in list - wifi_psk_info = &(wifi_psk_info_list.psk_info_list[i]); - if(memcmp(psk_info->psk, wifi_psk_info->psk, 40) != 0){//update - memcpy(wifi_psk_info->psk, psk_info->psk, 40); - need_flush = true; - } - }else if(idx_idle >= 0 && idx_idle < (sizeof(wifi_psk_info_list_t)/sizeof(wifi_psk_info_t))){ - wifi_psk_info = &(wifi_psk_info_list.psk_info_list[i]); - memcpy(wifi_psk_info, psk_info, sizeof(wifi_psk_info_t)); - need_flush = true; - }else{ - wifi_psk_info = &(wifi_psk_info_list.psk_info_list[0]); - memcpy(wifi_psk_info, psk_info, sizeof(wifi_psk_info_t)); - need_flush = true; - } - - if(need_flush){ - system_parameter_set_psk_info_list(&wifi_psk_info_list); - } - return 0; - } - return -1; -} -int system_parameter_get_psk_info(wifi_psk_info_t *psk_info) -{ - int i; - wifi_psk_info_t *wifi_psk_info = NULL; - wifi_psk_info_list_t wifi_psk_info_list = {0,}; - - ART_ASSERT(psk_info); - - if(0 == system_parameter_get_psk_info_list(&wifi_psk_info_list)) - { - for(i = 0; i < (sizeof(wifi_psk_info_list_t)/sizeof(wifi_psk_info_t)); i++){ - wifi_psk_info = &(wifi_psk_info_list.psk_info_list[i]); - //Got it - if((psk_info->ssid_len == wifi_psk_info->ssid_len) - && (psk_info->password_len == wifi_psk_info->password_len) - && ((psk_info->password_len > 0) && !memcmp(psk_info->password, wifi_psk_info->password, psk_info->password_len)) - && ((psk_info->ssid_len > 0) && !memcmp(psk_info->ssid, wifi_psk_info->ssid, psk_info->ssid_len))){ - break; - } - } - if(i < (sizeof(wifi_psk_info_list_t)/sizeof(wifi_psk_info_t))){//already in list - wifi_psk_info = &(wifi_psk_info_list.psk_info_list[i]); - memcpy(psk_info, wifi_psk_info, sizeof(wifi_psk_info_t)); - return 0; - } - } - return -1; -} - //ip config int system_parameter_set_ip_config(wifi_interface_enum_t if_index, tcpip_ip_info_t *ip_config) { @@ -594,8 +476,12 @@ int system_parameter_get_wifi_config_default (wifi_interface_enum_t if_index, wi memcpy(ap->ssid, WIFI_AP_SSID_DEFAULT, ap->ssid_len); len = (strlen(WIFI_AP_PASSWORD_DEFAULT) < PASSWORD_MAX_LEN) ? strlen(WIFI_AP_PASSWORD_DEFAULT) : PASSWORD_MAX_LEN; memcpy(ap->password, WIFI_AP_PASSWORD_DEFAULT, len); + if(strlen((const char *)ap->password) > 0){ + ap->authmode = WIFI_AUTH_WPA2_PSK; + }else{ + ap->authmode = WIFI_AP_AUTH_MODE_DEFAULT; + } ap->channel = WIFI_AP_CHANNEL_DEFAULT; - ap->authmode = WIFI_AP_AUTH_MODE_DEFAULT; ap->ssid_hidden = WIFI_AP_SSID_HIDDEN_DEFAULT; ap->max_connection = WIFI_AP_MAX_CONNECTION_DEFAULT; ap->beacon_interval = WIFI_AP_BEACON_INTERVAL_DEFAULT; diff --git a/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_manager/wifi_manager.c b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_manager/wifi_manager.c index 3e5969cd..c617b68d 100644 --- a/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_manager/wifi_manager.c +++ b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_manager/wifi_manager.c @@ -7,7 +7,7 @@ #include "dhcpd/dhcpd.h" #define WIFI_MANAGER_TASK_STACK_SIZE 5*256 //Byte -#define WIFI_MSG_QUEUE_DEPTH 5 +#define WIFI_MSG_QUEUE_DEPTH 10 struct wifi_manager_ctrl{ @@ -17,8 +17,14 @@ struct wifi_manager_ctrl{ }; static wifi_manager_ctrl_t gwifi_manager_ctrl= {0,}; -bool reg_wifi_msg_callbcak(wifi_manager_ctrl_t *manager_ctrl, wifi_msg_id_enum_t msg_id, wifi_msg_callback_fun callback_fun) +static wifi_manager_ctrl_t *wifi_manager_get_handle(void) { + return &gwifi_manager_ctrl; +} + +bool reg_wifi_msg_callbcak(wifi_msg_id_enum_t msg_id, wifi_msg_callback_fun callback_fun) +{ + wifi_manager_ctrl_t *manager_ctrl = wifi_manager_get_handle(); wifi_msg_handle_table_t *msg_handler_table = NULL; ART_ASSERT(manager_ctrl); @@ -57,15 +63,11 @@ static void wifi_manager_task_entry(void *params) case WIFI_MSG_ID_STA_READY: //turn on WIFI LED - #if (WIFI_TRACK==0) - LOG(LOG_LVL_INFO, "[%s, %d]WIFI_MSG_ID_WIFI_READY\r\n", __func__, __LINE__); - #endif + LOG(LOG_LVL_TRACE, "[%s, %d]WIFI_MSG_ID_WIFI_READY\r\n", __func__, __LINE__); break; case WIFI_MSG_ID_STA_SCAN_DONE: - #if (WIFI_TRACK==0) - LOG(LOG_LVL_INFO, "[%s, %d]WIFI_MSG_ID_STA_SCAN_DONE\r\n", __func__, __LINE__); - #endif + LOG(LOG_LVL_TRACE, "[%s, %d]WIFI_MSG_ID_STA_SCAN_DONE\r\n", __func__, __LINE__); //update ap list break; @@ -151,9 +153,10 @@ static void wifi_manager_task_entry(void *params) } } -bool wifi_manager_init(wifi_manager_ctrl_t *manager_ctrl) +bool wifi_manager_init(void) { OS_Status ret = OS_OK; + wifi_manager_ctrl_t *manager_ctrl = wifi_manager_get_handle(); ART_ASSERT(manager_ctrl); ret = OS_QueueCreate(&manager_ctrl->wifi_manager_msgq, WIFI_MSG_QUEUE_DEPTH, sizeof(wifi_msg_t)); @@ -169,11 +172,12 @@ bool wifi_manager_init(wifi_manager_ctrl_t *manager_ctrl) return true; } -bool wifi_manager_deinit(wifi_manager_ctrl_t *manager_ctrl) +bool wifi_manager_deinit(void) { OS_Status ret = OS_OK; - ART_ASSERT(manager_ctrl); + wifi_manager_ctrl_t *manager_ctrl = wifi_manager_get_handle(); + ART_ASSERT(manager_ctrl); ret = OS_ThreadDelete(&manager_ctrl->wifi_manager_thread); if (ret != OS_OK){ LOG(LOG_LVL_ERROR, "[%s, %d]OS_ThreadDelete manager_ctrl->wifi_manager_thread fail.\r\n", __func__, __LINE__); @@ -188,9 +192,4 @@ bool wifi_manager_deinit(wifi_manager_ctrl_t *manager_ctrl) return true; } -wifi_manager_ctrl_t *wifi_manager_get_handle(void) -{ - return &gwifi_manager_ctrl; -} - diff --git a/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/itypes.h b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/itypes.h new file mode 100644 index 00000000..a8a9b6d8 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/itypes.h @@ -0,0 +1,52 @@ +/*---------------------------------------------------------------------------* + | @author : LightningSemi WLAN Software Team | + | @version : V2.0.0 | + | @date : 1-May-2018 | + | @brief : IEEE 802.11 a/b/g/e/i/n MAC Software | + |---------------------------------------------------------------------------| + | COPYRIGHT(c) 2018 LightningSemi | + *---------------------------------------------------------------------------*/ + + +/*****************************************************************************/ +/* */ +/* File Name : itypes.h */ +/* */ +/* Description : This file contains all the data type definitions for */ +/* MAC implementation. */ +/* */ +/* List of Functions : None */ +/* Issues / Problems : None */ +/* */ +/*****************************************************************************/ + +#ifndef ITYPES_H +#define ITYPES_H + +/*****************************************************************************/ +/* Constants */ +/*****************************************************************************/ + +#define INLINE static __inline + +/*****************************************************************************/ +/* Data Types */ +/*****************************************************************************/ + +typedef int WORD32; +typedef short WORD16; +typedef char WORD8; +typedef unsigned int UWORD32; +typedef unsigned short UWORD16; +typedef unsigned char UWORD8; +typedef signed char SWORD8; + +/*****************************************************************************/ +/* Enums */ +/*****************************************************************************/ + +typedef enum {BFALSE = 0, + BTRUE = 1 +} BOOL_T; + +#endif /* ITYPES_H */ diff --git a/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.c b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.c new file mode 100644 index 00000000..8ede4e45 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.c @@ -0,0 +1,62 @@ +#include "wifi_port.h" +#include "ln_kv_err.h" +#include "ln_kv_api.h" +#include "itypes.h" +#include "osal/osal.h" + +#define KV_PSK_INFO ("kv_psk_info") + +/* restore/store psk info */ +int kv_set_psk_info_list(uint8_t *v_buf, uint32_t buf_len) +{ + if (KV_ERR_NONE != ln_kv_set((const char *)KV_PSK_INFO, v_buf, (size_t)buf_len)) { + return BFALSE; + } + return BTRUE; +} + +int kv_get_psk_info_list(uint8_t *v_buf, uint32_t buf_len) +{ + size_t len; + if (KV_ERR_NONE != ln_kv_get((const char *)KV_PSK_INFO, v_buf, (size_t)buf_len, &len)) { + return BFALSE; + } + return BTRUE; +} + +int kv_has_psk_info_list(void) +{ + size_t len; + if (LN_TRUE == ln_kv_has_key((const char *)KV_PSK_INFO)) { + return BTRUE; + } + return BFALSE; +} + +/* heap memory manager */ +void *mac_malloc(uint32_t size) +{ + return OS_Malloc(size); +} + +void mac_free(void *ptr) +{ + OS_Free(ptr); +} + + + + + + + + + + + + + + + + + diff --git a/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.h b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.h new file mode 100644 index 00000000..fccaa1c8 --- /dev/null +++ b/platform/vendor_bsp/LN/ln882x/src/wifi/wifi_port/wifi_port.h @@ -0,0 +1,15 @@ +#ifndef __WIFI_PORT_H__ +#define __WIFI_PORT_H__ + +#include "ln_types.h" + +int kv_has_psk_info_list(void); +int kv_set_psk_info_list(uint8_t *v_buf, uint32_t buf_len); +int kv_get_psk_info_list(uint8_t *v_buf, uint32_t buf_len); + +void *mac_malloc(uint32_t size); +void mac_free(void *ptr); + + +#endif /* __WIFI_PORT_H__ */ + diff --git a/platform/vendor_bsp/LN/ln882x/tools/bin/fpu_patch.exe b/platform/vendor_bsp/LN/ln882x/tools/bin/fpu_patch.exe deleted file mode 100644 index 81e2a53754afdf2b9cc002e59ead3fe64a7dbfd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 118784 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%0Dd7!E#LMpMthvTktXRL=;{pksZDcSJ_H% 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 {1C2FK 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 zls