diff --git a/README.md b/README.md
index eb0271f..b0c85b1 100644
--- a/README.md
+++ b/README.md
@@ -53,7 +53,7 @@
|:---------- |:--------------------- |:------------------ |
| 2025-05-12 | 创建工程框架,配置时钟、GPIO、串口 | 使用 STM32CubeMX 初始化 |
| 2025-05-13 | 操作系统移植完成,RTT-Viewer完成 | 设备初步调试 |
-| 2025-05-14 | 增加Shell控制台 | 增加调试接口 |
+| 2025-05-14 | 增加Shell控制台、增加串口2用于蓝牙 | 增加调试接口 |
---
diff --git a/XM01_BLE/XM-01/.mxproject b/XM01_BLE/XM-01/.mxproject
index e17e341..a5f5ed3 100644
--- a/XM01_BLE/XM-01/.mxproject
+++ b/XM01_BLE/XM-01/.mxproject
@@ -1,28 +1,32 @@
[PreviousLibFiles]
-LibFiles=Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l431xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
+LibFiles=Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_usart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_lpuart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart_ex.h;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_def.h;Drivers\STM32L4xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_rcc_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_bus.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_rcc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_crs.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_system.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_utils.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_flash_ramfunc.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_gpio_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_gpio.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_i2c_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_dma_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dma.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_dmamux.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_pwr_ex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_pwr.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_cortex.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_exti.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_usart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_ll_lpuart.h;Drivers\STM32L4xx_HAL_Driver\Inc\stm32l4xx_hal_uart_ex.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l431xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Include\system_stm32l4xx.h;Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
[PreviousUsedKeilFiles]
-SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\stm32l4xx_it.c;..\Core\Src\stm32l4xx_hal_msp.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;;;
+SourceFiles=..\Core\Src\main.c;..\Core\Src\gpio.c;..\Core\Src\dma.c;..\Core\Src\usart.c;..\Core\Src\stm32l4xx_it.c;..\Core\Src\stm32l4xx_hal_msp.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c;..\Drivers\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c;..\Drivers\CMSIS\Device\ST\STM32L4xx\Source\Templates\system_stm32l4xx.c;..\Core\Src\system_stm32l4xx.c;;;
HeaderPath=..\Drivers\STM32L4xx_HAL_Driver\Inc;..\Drivers\STM32L4xx_HAL_Driver\Inc\Legacy;..\Drivers\CMSIS\Device\ST\STM32L4xx\Include;..\Drivers\CMSIS\Include;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\components\finsh\inc\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\include\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\extension\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\extension\fcntl\msvc\;..\Middlewares\Third_Party\RealThread_RTOS_RT-Thread\include\libc\extension\fcntl\octal\;..\Core\Inc;..\RT-Thread;
CDefines=USE_HAL_DRIVER;STM32L431xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
[PreviousGenFiles]
AdvancedFolderStructure=true
-HeaderFileListSize=5
+HeaderFileListSize=7
HeaderFiles#0=..\Core\Inc\gpio.h
HeaderFiles#1=..\RT-Thread\rtconfig.h
-HeaderFiles#2=..\Core\Inc\stm32l4xx_it.h
-HeaderFiles#3=..\Core\Inc\stm32l4xx_hal_conf.h
-HeaderFiles#4=..\Core\Inc\main.h
+HeaderFiles#2=..\Core\Inc\dma.h
+HeaderFiles#3=..\Core\Inc\usart.h
+HeaderFiles#4=..\Core\Inc\stm32l4xx_it.h
+HeaderFiles#5=..\Core\Inc\stm32l4xx_hal_conf.h
+HeaderFiles#6=..\Core\Inc\main.h
HeaderFolderListSize=2
HeaderPath#0=..\Core\Inc
HeaderPath#1=..\RT-Thread
HeaderFiles=;
-SourceFileListSize=4
+SourceFileListSize=6
SourceFiles#0=..\Core\Src\gpio.c
-SourceFiles#1=..\Core\Src\stm32l4xx_it.c
-SourceFiles#2=..\Core\Src\stm32l4xx_hal_msp.c
-SourceFiles#3=..\Core\Src\main.c
+SourceFiles#1=..\Core\Src\dma.c
+SourceFiles#2=..\Core\Src\usart.c
+SourceFiles#3=..\Core\Src\stm32l4xx_it.c
+SourceFiles#4=..\Core\Src\stm32l4xx_hal_msp.c
+SourceFiles#5=..\Core\Src\main.c
SourceFolderListSize=1
SourcePath#0=..\Core\Src
SourceFiles=;
diff --git a/XM01_BLE/XM-01/.vscode/settings.json b/XM01_BLE/XM-01/.vscode/settings.json
new file mode 100644
index 0000000..6a84574
--- /dev/null
+++ b/XM01_BLE/XM-01/.vscode/settings.json
@@ -0,0 +1,6 @@
+{
+ "files.associations": {
+ "stm32l4xx_it.h": "c",
+ "main.h": "c"
+ }
+}
\ No newline at end of file
diff --git a/XM01_BLE/XM-01/Core/Inc/dma.h b/XM01_BLE/XM-01/Core/Inc/dma.h
new file mode 100644
index 0000000..493d98e
--- /dev/null
+++ b/XM01_BLE/XM-01/Core/Inc/dma.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file dma.h
+ * @brief This file contains all the function prototypes for
+ * the dma.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __DMA_H__
+#define __DMA_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* DMA memory to memory transfer handles -------------------------------------*/
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_DMA_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __DMA_H__ */
+
diff --git a/XM01_BLE/XM-01/Core/Inc/main.h b/XM01_BLE/XM-01/Core/Inc/main.h
index 9bdf20b..4db24bf 100644
--- a/XM01_BLE/XM-01/Core/Inc/main.h
+++ b/XM01_BLE/XM-01/Core/Inc/main.h
@@ -57,11 +57,16 @@ void Error_Handler(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
+#define BLE_TX_Pin GPIO_PIN_2
+#define BLE_TX_GPIO_Port GPIOA
+#define BLE_RX_Pin GPIO_PIN_3
+#define BLE_RX_GPIO_Port GPIOA
#define LED_Pin GPIO_PIN_12
#define LED_GPIO_Port GPIOB
/* USER CODE BEGIN Private defines */
+#define RX_BUFFER_SIZE 256
/* USER CODE END Private defines */
#ifdef __cplusplus
diff --git a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h
index ce64d5e..e27d3e7 100644
--- a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h
+++ b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_hal_conf.h
@@ -79,7 +79,7 @@
/*#define HAL_SWPMI_MODULE_ENABLED */
/*#define HAL_TIM_MODULE_ENABLED */
/*#define HAL_TSC_MODULE_ENABLED */
-/*#define HAL_UART_MODULE_ENABLED */
+#define HAL_UART_MODULE_ENABLED
/*#define HAL_USART_MODULE_ENABLED */
/*#define HAL_WWDG_MODULE_ENABLED */
/*#define HAL_EXTI_MODULE_ENABLED */
diff --git a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h
index 9e241bb..4cf6892 100644
--- a/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h
+++ b/XM01_BLE/XM-01/Core/Inc/stm32l4xx_it.h
@@ -51,6 +51,8 @@ void MemManage_Handler(void);
void BusFault_Handler(void);
void UsageFault_Handler(void);
void DebugMon_Handler(void);
+void DMA1_Channel6_IRQHandler(void);
+void USART2_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */
diff --git a/XM01_BLE/XM-01/Core/Inc/usart.h b/XM01_BLE/XM-01/Core/Inc/usart.h
new file mode 100644
index 0000000..149bca8
--- /dev/null
+++ b/XM01_BLE/XM-01/Core/Inc/usart.h
@@ -0,0 +1,52 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.h
+ * @brief This file contains all the function prototypes for
+ * the usart.c file
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __USART_H__
+#define __USART_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern UART_HandleTypeDef huart2;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_USART2_UART_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+extern uint8_t BLE_rx_buffer[RX_BUFFER_SIZE];
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __USART_H__ */
+
diff --git a/XM01_BLE/XM-01/Core/Src/dma.c b/XM01_BLE/XM-01/Core/Src/dma.c
new file mode 100644
index 0000000..d8e0972
--- /dev/null
+++ b/XM01_BLE/XM-01/Core/Src/dma.c
@@ -0,0 +1,55 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file dma.c
+ * @brief This file provides code for the configuration
+ * of all the requested memory to memory DMA transfers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "dma.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure DMA */
+/*----------------------------------------------------------------------------*/
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/**
+ * Enable DMA controller clock
+ */
+void MX_DMA_Init(void)
+{
+
+ /* DMA controller clock enable */
+ __HAL_RCC_DMA1_CLK_ENABLE();
+
+ /* DMA interrupt init */
+ /* DMA1_Channel6_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA1_Channel6_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA1_Channel6_IRQn);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
+
diff --git a/XM01_BLE/XM-01/Core/Src/gpio.c b/XM01_BLE/XM-01/Core/Src/gpio.c
index 403af30..e8182f5 100644
--- a/XM01_BLE/XM-01/Core/Src/gpio.c
+++ b/XM01_BLE/XM-01/Core/Src/gpio.c
@@ -46,8 +46,8 @@ void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOH_CLK_ENABLE();
- __HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
/*Configure GPIO pin Output Level */
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
diff --git a/XM01_BLE/XM-01/Core/Src/main.c b/XM01_BLE/XM-01/Core/Src/main.c
index 3ee59d9..4c23fda 100644
--- a/XM01_BLE/XM-01/Core/Src/main.c
+++ b/XM01_BLE/XM-01/Core/Src/main.c
@@ -18,6 +18,8 @@
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
+#include "dma.h"
+#include "usart.h"
#include "gpio.h"
/* Private includes ----------------------------------------------------------*/
@@ -60,7 +62,7 @@ void SystemClock_Config(void);
/* 线程入口函数 */
static void LED_thread_entry(void *parameter)
{
- SEGGER_RTT_printf(0, "Thread1 started with parameter: %s\n", (char *)parameter);
+ rt_kprintf("Thread1 started with parameter: %s\n", (char *)parameter);
while (1)
{
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);
@@ -98,8 +100,13 @@ int main(void)
/* Initialize all configured peripherals */
MX_GPIO_Init();
+ MX_DMA_Init();
+ MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
+ __HAL_UART_ENABLE_IT(&huart2, UART_IT_IDLE); // 使能串口IDLE中断
+ HAL_UART_Receive_DMA(&huart2, BLE_rx_buffer, RX_BUFFER_SIZE); // 开启串口接收DMA
+
/* 创建线程 */
LED_thread = rt_thread_create("LED_task", // 线程名称
LED_thread_entry, // 线程入口函数
@@ -113,6 +120,9 @@ int main(void)
rt_thread_startup(LED_thread);
else
rt_kprintf("LED_thread creation failed!\n");
+
+ // rt_thread_mdelay(5000);
+ // HAL_UART_Transmit(&huart2, "Hello this my ble module wake up code", 37, 100); // 发送 数据
/* USER CODE END 2 */
/* Infinite loop */
diff --git a/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c b/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c
index 03a2229..f328e8f 100644
--- a/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c
+++ b/XM01_BLE/XM-01/Core/Src/stm32l4xx_it.c
@@ -1,20 +1,20 @@
/* USER CODE BEGIN Header */
/**
- ******************************************************************************
- * @file stm32l4xx_it.c
- * @brief Interrupt Service Routines.
- ******************************************************************************
- * @attention
- *
- * Copyright (c) 2025 STMicroelectronics.
- * All rights reserved.
- *
- * This software is licensed under terms that can be found in the LICENSE file
- * in the root directory of this software component.
- * If no LICENSE file comes with this software, it is provided AS-IS.
- *
- ******************************************************************************
- */
+ ******************************************************************************
+ * @file stm32l4xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
@@ -22,6 +22,7 @@
#include "stm32l4xx_it.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
+#include "usart.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -55,7 +56,8 @@
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
-
+extern DMA_HandleTypeDef hdma_usart2_rx;
+extern UART_HandleTypeDef huart2;
/* USER CODE BEGIN EV */
/* USER CODE END EV */
@@ -64,23 +66,23 @@
/* Cortex-M4 Processor Interruption and Exception Handlers */
/******************************************************************************/
/**
- * @brief This function handles Non maskable interrupt.
- */
+ * @brief This function handles Non maskable interrupt.
+ */
void NMI_Handler(void)
{
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
- while (1)
+ while (1)
{
}
/* USER CODE END NonMaskableInt_IRQn 1 */
}
/**
- * @brief This function handles Memory management fault.
- */
+ * @brief This function handles Memory management fault.
+ */
void MemManage_Handler(void)
{
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
@@ -94,8 +96,8 @@ void MemManage_Handler(void)
}
/**
- * @brief This function handles Prefetch fault, memory access fault.
- */
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
void BusFault_Handler(void)
{
/* USER CODE BEGIN BusFault_IRQn 0 */
@@ -109,8 +111,8 @@ void BusFault_Handler(void)
}
/**
- * @brief This function handles Undefined instruction or illegal state.
- */
+ * @brief This function handles Undefined instruction or illegal state.
+ */
void UsageFault_Handler(void)
{
/* USER CODE BEGIN UsageFault_IRQn 0 */
@@ -124,8 +126,8 @@ void UsageFault_Handler(void)
}
/**
- * @brief This function handles Debug monitor.
- */
+ * @brief This function handles Debug monitor.
+ */
void DebugMon_Handler(void)
{
/* USER CODE BEGIN DebugMonitor_IRQn 0 */
@@ -143,6 +145,44 @@ void DebugMon_Handler(void)
/* please refer to the startup file (startup_stm32l4xx.s). */
/******************************************************************************/
+/**
+ * @brief This function handles DMA1 channel6 global interrupt.
+ */
+void DMA1_Channel6_IRQHandler(void)
+{
+ /* USER CODE BEGIN DMA1_Channel6_IRQn 0 */
+
+ /* USER CODE END DMA1_Channel6_IRQn 0 */
+ HAL_DMA_IRQHandler(&hdma_usart2_rx);
+ /* USER CODE BEGIN DMA1_Channel6_IRQn 1 */
+
+ /* USER CODE END DMA1_Channel6_IRQn 1 */
+}
+
+/**
+ * @brief This function handles USART2 global interrupt.
+ */
+void USART2_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART2_IRQn 0 */
+
+ if (__HAL_UART_GET_FLAG(&huart2, UART_FLAG_IDLE) != RESET)
+ { // 判断是否产生IDLE中断
+
+ __HAL_UART_CLEAR_IDLEFLAG(&huart2); // 清除IDLE中断标志位
+ HAL_UART_DMAStop(&huart2); // 停止DMA接收
+ uint16_t received_length = RX_BUFFER_SIZE - __HAL_DMA_GET_COUNTER(huart2.hdmarx); // 计算实际接收到的数据长度
+ // 业务代码
+ HAL_UART_Transmit(&huart2, BLE_rx_buffer, received_length, 100); // 发送接收到的数据
+ HAL_UART_Receive_DMA(&huart2, BLE_rx_buffer, RX_BUFFER_SIZE); // 开启DMA接收
+ }
+ /* USER CODE END USART2_IRQn 0 */
+ HAL_UART_IRQHandler(&huart2);
+ /* USER CODE BEGIN USART2_IRQn 1 */
+
+ /* USER CODE END USART2_IRQn 1 */
+}
+
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */
diff --git a/XM01_BLE/XM-01/Core/Src/usart.c b/XM01_BLE/XM-01/Core/Src/usart.c
new file mode 100644
index 0000000..d153ca3
--- /dev/null
+++ b/XM01_BLE/XM-01/Core/Src/usart.c
@@ -0,0 +1,154 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file usart.c
+ * @brief This file provides code for the configuration
+ * of the USART instances.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software is licensed under terms that can be found in the LICENSE file
+ * in the root directory of this software component.
+ * If no LICENSE file comes with this software, it is provided AS-IS.
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+/* Includes ------------------------------------------------------------------*/
+#include "usart.h"
+
+/* USER CODE BEGIN 0 */
+
+uint8_t BLE_rx_buffer[RX_BUFFER_SIZE] = {0}; // DMA搬运目标缓存
+/* USER CODE END 0 */
+
+UART_HandleTypeDef huart2;
+DMA_HandleTypeDef hdma_usart2_rx;
+
+/* USART2 init function */
+
+void MX_USART2_UART_Init(void)
+{
+
+ /* USER CODE BEGIN USART2_Init 0 */
+
+ /* USER CODE END USART2_Init 0 */
+
+ /* USER CODE BEGIN USART2_Init 1 */
+
+ /* USER CODE END USART2_Init 1 */
+ huart2.Instance = USART2;
+ huart2.Init.BaudRate = 115200;
+ huart2.Init.WordLength = UART_WORDLENGTH_8B;
+ huart2.Init.StopBits = UART_STOPBITS_1;
+ huart2.Init.Parity = UART_PARITY_NONE;
+ huart2.Init.Mode = UART_MODE_TX_RX;
+ huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart2.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart2) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN USART2_Init 2 */
+
+ /* USER CODE END USART2_Init 2 */
+}
+
+void HAL_UART_MspInit(UART_HandleTypeDef *uartHandle)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ if (uartHandle->Instance == USART2)
+ {
+ /* USER CODE BEGIN USART2_MspInit 0 */
+
+ /* USER CODE END USART2_MspInit 0 */
+
+ /** Initializes the peripherals clock
+ */
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART2;
+ PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /* USART2 clock enable */
+ __HAL_RCC_USART2_CLK_ENABLE();
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**USART2 GPIO Configuration
+ PA2 ------> USART2_TX
+ PA3 ------> USART2_RX
+ */
+ GPIO_InitStruct.Pin = BLE_TX_Pin | BLE_RX_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USART2 DMA Init */
+ /* USART2_RX Init */
+ hdma_usart2_rx.Instance = DMA1_Channel6;
+ hdma_usart2_rx.Init.Request = DMA_REQUEST_2;
+ hdma_usart2_rx.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ hdma_usart2_rx.Init.PeriphInc = DMA_PINC_DISABLE;
+ hdma_usart2_rx.Init.MemInc = DMA_MINC_ENABLE;
+ hdma_usart2_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_BYTE;
+ hdma_usart2_rx.Init.MemDataAlignment = DMA_MDATAALIGN_BYTE;
+ hdma_usart2_rx.Init.Mode = DMA_CIRCULAR;
+ hdma_usart2_rx.Init.Priority = DMA_PRIORITY_LOW;
+ if (HAL_DMA_Init(&hdma_usart2_rx) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ __HAL_LINKDMA(uartHandle, hdmarx, hdma_usart2_rx);
+
+ /* USART2 interrupt Init */
+ HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USART2_IRQn);
+ /* USER CODE BEGIN USART2_MspInit 1 */
+
+ /* USER CODE END USART2_MspInit 1 */
+ }
+}
+
+void HAL_UART_MspDeInit(UART_HandleTypeDef *uartHandle)
+{
+
+ if (uartHandle->Instance == USART2)
+ {
+ /* USER CODE BEGIN USART2_MspDeInit 0 */
+
+ /* USER CODE END USART2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART2_CLK_DISABLE();
+
+ /**USART2 GPIO Configuration
+ PA2 ------> USART2_TX
+ PA3 ------> USART2_RX
+ */
+ HAL_GPIO_DeInit(GPIOA, BLE_TX_Pin | BLE_RX_Pin);
+
+ /* USART2 DMA DeInit */
+ HAL_DMA_DeInit(uartHandle->hdmarx);
+
+ /* USART2 interrupt Deinit */
+ HAL_NVIC_DisableIRQ(USART2_IRQn);
+ /* USER CODE BEGIN USART2_MspDeInit 1 */
+
+ /* USER CODE END USART2_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin
index 42b8ded..fdc4f7c 100644
--- a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin
+++ b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvguix.admin
@@ -93,8 +93,8 @@
2
3
- -1
- -1
+ -32000
+ -32000
-1
@@ -110,8 +110,8 @@
0
- 2390
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001200000001000000010000003A443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF80443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C6273705C5F74656D706C6174655C637562656D785F636F6E6669675C626F6172642E630000000007626F6172642E6300000000FFDC7800FFFFFFFF3F443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C52542D5468726561645C7274636F6E6669672E68000000000A7274636F6E6669672E6800000000BECEA100FFFFFFFF42443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C5372635C73746D33326C3478785F69742E63000000000E73746D33326C3478785F69742E6300000000F0A0A100FFFFFFFF6D443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C636F6D706F6E656E74732E63000000000C636F6D706F6E656E74732E6300000000BCA8E100FFFFFFFF68443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C636C6F636B2E630000000007636C6F636B2E63000000009CC1B600FFFFFFFF48443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D444B2D41524D5C737461727475705F73746D33326C34333178782E730000000015737461727475705F73746D33326C34333178782E7300000000F7B88600FFFFFFFF67443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C69646C652E63000000000669646C652E6300000000D9ADC200FFFFFFFF6F443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C696E636C7564655C72747468726561642E68000000000A72747468726561642E6800000000A5C2D700FFFFFFFF5B443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C447269766572735C53544D33324C3478785F48414C5F4472697665725C5372635C73746D33326C3478785F68616C2E63000000000F73746D33326C3478785F68616C2E6300000000B3A6BE00FFFFFFFF6B443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C6B736572766963652E63000000000A6B736572766963652E6300000000EAD6A300FFFFFFFF69443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C7372635C7468726561642E6300000000087468726561642E6300000000F6FA7D00FFFFFFFF5F443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C447269766572735C53544D33324C3478785F48414C5F4472697665725C5372635C73746D33326C3478785F68616C5F7263632E63000000001373746D33326C3478785F68616C5F7263632E6300000000B5E99D00FFFFFFFF6E443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C696E636C7564655C727464656275672E680000000009727464656275672E68000000005FC3CF00FFFFFFFF7B443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5265616C5468726561645F52544F535F52542D5468726561645C6C69626370755C61726D5C636F727465782D6D345C637075706F72742E630000000009637075706F72742E6300000000C1838300FFFFFFFF64443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C4D6964646C6577617265735C54686972645F50617274795C5345474745525F5254545F56363838615C5254545C5345474745525F5254542E63000000000C5345474745525F5254542E6300000000CACAD500FFFFFFFF5B443A5C4170706C69636174696F6E5C4B65696C5C5061636B5C41524D5C434D5349532D4453505C312E31352E305C536F757263655C5472616E73666F726D46756E6374696F6E735C61726D5F636666745F696E69745F7133312E63000000001361726D5F636666745F696E69745F7133312E6300000000C5D4F200FFFFFFFF3A443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C496E635C6D61696E2E6800000000066D61696E2E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001401000066000000D505000057020000
+ 254
+ 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000100000000000000010000003A443A5C4A6F625F576F726B5C436F64655C315F584D5C584D2D30315C584D30315F424C455C584D2D30315C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001401000066000000D505000057020000
@@ -1806,7 +1806,7 @@
File
2925
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D52545F5553494E475F48454150960000000000000013000D52545F5553494E475F48454150046D61696E1423646566696E652052545F5553494E475F534D500C52545F5553494E475F534D501272745F646566756E63745F657865637574651972745F7468726561645F646566756E63745F646571756575651072747468726561645F737461727475701072745F68775F626F6172645F696E69740F5379735469636B5F48616E646C65721072745F7469636B5F696E6372656173651252545F5553494E475F555345525F4D41494E1672745F68775F696E746572727570745F656E61626C651052545F5553494E475F434F4E534F4C45046C6F6766036C6F67056C6F6731301261745F6465616C5F41504E5F436F6E666967116765745F6F70746963616C5F706F776572166765745F6F70746963616C5F313331305F706F77657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D52545F5553494E475F48454150960000000000000013000D52545F5553494E475F48454150046D61696E1423646566696E652052545F5553494E475F534D500C52545F5553494E475F534D501272745F646566756E63745F657865637574651972745F7468726561645F646566756E63745F646571756575651072747468726561645F737461727475701072745F68775F626F6172645F696E69740F5379735469636B5F48616E646C65721072745F7469636B5F696E6372656173651252545F5553494E475F555345525F4D41494E1672745F68775F696E746572727570745F656E61626C651052545F5553494E475F434F4E534F4C45046C6F6766036C6F67056C6F6731301261745F6465616C5F41504E5F436F6E666967116765745F6F70746963616C5F706F776572166765745F6F70746963616C5F313331305F706F77657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -3603,165 +3603,12 @@
0
100
- 1
+ 0
../Core/Src/main.c
- 54
- 105
- 106
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/bsp/_template/cubemx_config/board.c
- 30
- 86
- 98
- 1
-
- 0
-
-
- ../RT-Thread/rtconfig.h
- 12
- 108
- 117
- 1
-
- 0
-
-
- ../Core/Src/stm32l4xx_it.c
- 3
- 1
- 8
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/components.c
- 0
- 189
- 195
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/clock.c
- 8
- 109
- 120
- 1
-
- 0
-
-
- startup_stm32l431xx.s
- 0
- 165
- 173
- 0
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/idle.c
- 0
- 169
- 174
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/include/rtthread.h
- 6
- 308
- 318
- 1
-
- 0
-
-
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c
- 0
- 128
- 148
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/kservice.c
- 0
- 1493
- 1498
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/src/thread.c
- 0
- 337
- 342
- 1
-
- 0
-
-
- ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c
- 0
- 1481
- 1486
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/include/rtdebug.h
- 0
- 133
- 149
- 1
-
- 0
-
-
- ../Middlewares/Third_Party/RealThread_RTOS_RT-Thread/libcpu/arm/cortex-m4/cpuport.c
- 0
- 370
- 378
- 1
-
- 0
-
-
- ..\Middlewares\Third_Party\SEGGER_RTT_V688a\RTT\SEGGER_RTT.c
- 38
- 1
- 14
- 1
-
- 0
-
-
- D:\Application\Keil\Pack\ARM\CMSIS-DSP\1.15.0\Source\TransformFunctions\arm_cfft_init_q31.c
- 0
- 320
- 341
- 1
-
- 0
-
-
- ../Core/Inc/main.h
- 18
- 16
- 25
+ 42
+ 96
+ 113
1
0
diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx
index 21a0b3e..dd9df05 100644
--- a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx
+++ b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvoptx
@@ -351,6 +351,30 @@
0
0
0
+ ../Core/Src/dma.c
+ dma.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ../Core/Src/usart.c
+ usart.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
../Core/Src/stm32l4xx_it.c
stm32l4xx_it.c
0
@@ -358,7 +382,7 @@
2
- 5
+ 7
1
0
0
@@ -378,7 +402,7 @@
0
3
- 6
+ 8
1
0
0
@@ -390,7 +414,7 @@
3
- 7
+ 9
1
0
0
@@ -402,7 +426,7 @@
3
- 8
+ 10
1
0
0
@@ -414,7 +438,7 @@
3
- 9
+ 11
1
0
0
@@ -426,7 +450,7 @@
3
- 10
+ 12
1
0
0
@@ -438,7 +462,7 @@
3
- 11
+ 13
1
0
0
@@ -450,7 +474,7 @@
3
- 12
+ 14
1
0
0
@@ -462,7 +486,7 @@
3
- 13
+ 15
1
0
0
@@ -474,7 +498,7 @@
3
- 14
+ 16
1
0
0
@@ -486,7 +510,7 @@
3
- 15
+ 17
1
0
0
@@ -498,7 +522,7 @@
3
- 16
+ 18
1
0
0
@@ -510,7 +534,7 @@
3
- 17
+ 19
1
0
0
@@ -522,7 +546,7 @@
3
- 18
+ 20
1
0
0
@@ -534,7 +558,7 @@
3
- 19
+ 21
1
0
0
@@ -546,7 +570,7 @@
3
- 20
+ 22
1
0
0
@@ -556,6 +580,30 @@
0
0
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
@@ -566,7 +614,7 @@
0
4
- 21
+ 25
1
0
0
@@ -586,7 +634,7 @@
0
5
- 22
+ 26
1
0
0
@@ -598,7 +646,7 @@
5
- 23
+ 27
1
0
0
@@ -626,7 +674,7 @@
0
7
- 52
+ 56
1
0
0
@@ -638,7 +686,7 @@
7
- 53
+ 57
1
0
0
@@ -650,7 +698,7 @@
7
- 54
+ 58
1
0
0
@@ -662,7 +710,7 @@
7
- 55
+ 59
1
0
0
@@ -674,7 +722,7 @@
7
- 56
+ 60
1
0
0
@@ -694,7 +742,7 @@
0
8
- 57
+ 61
2
0
0
@@ -706,7 +754,7 @@
8
- 58
+ 62
1
0
0
@@ -726,7 +774,7 @@
0
9
- 59
+ 63
1
0
0
@@ -738,7 +786,7 @@
9
- 60
+ 64
1
0
0
@@ -750,7 +798,7 @@
9
- 61
+ 65
1
0
0
@@ -762,7 +810,7 @@
9
- 62
+ 66
1
0
0
@@ -774,7 +822,7 @@
9
- 63
+ 67
1
0
0
@@ -786,7 +834,7 @@
9
- 64
+ 68
1
0
0
@@ -798,7 +846,7 @@
9
- 65
+ 69
1
0
0
@@ -810,7 +858,7 @@
9
- 66
+ 70
1
0
0
@@ -822,7 +870,7 @@
9
- 67
+ 71
1
0
0
@@ -834,7 +882,7 @@
9
- 68
+ 72
1
0
0
@@ -846,7 +894,7 @@
9
- 69
+ 73
1
0
0
@@ -858,7 +906,7 @@
9
- 70
+ 74
1
0
0
@@ -870,7 +918,7 @@
9
- 71
+ 75
1
0
0
@@ -882,7 +930,7 @@
9
- 72
+ 76
1
0
0
@@ -894,7 +942,7 @@
9
- 73
+ 77
1
0
0
@@ -906,7 +954,7 @@
9
- 74
+ 78
1
0
0
@@ -918,7 +966,7 @@
9
- 75
+ 79
1
0
0
diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx
index 9e073d0..9c2af10 100644
--- a/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx
+++ b/XM01_BLE/XM-01/MDK-ARM/XM-01.uvprojx
@@ -402,6 +402,118 @@
1
../Core/Src/gpio.c
+
+ dma.c
+ 1
+ ../Core/Src/dma.c
+
+
+ 2
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ usart.c
+ 1
+ ../Core/Src/usart.c
+
+
+ 2
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
stm32l4xx_it.c
1
@@ -492,6 +604,118 @@
1
../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.c
+
+ stm32l4xx_hal_uart.c
+ 1
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c
+
+
+ 2
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c
+
+
+ 2
+ 0
+ 0
+ 0
+ 0
+ 1
+ 2
+ 2
+ 2
+ 2
+ 11
+
+
+ 1
+
+
+
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+ 0
+ 0
+ 2
+ 2
+ 2
+ 2
+ 2
+
+
+
+
+
+
+
+
+
+
diff --git a/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex b/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex
index 2d15696..a3ab3a7 100644
--- a/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex
+++ b/XM01_BLE/XM-01/MDK-ARM/XM-01/XM-01.hex
@@ -1,18 +1,18 @@
:020000040800F2
-:10000000684B00202D020008CF1800085503000897
-:10001000CD180008C5070008451D000800000000B5
+:10000000384D00202D0200082B2A00085503000857
+:10001000292A0008B1080008D537000800000000B0
:100020000000000000000000000000003F02000887
-:10003000C7070008000000009B020008091C000818
+:10003000EF080008000000009B020008E12D000806
:10004000470200084702000847020008470200086C
:10005000470200084702000847020008470200085C
:10006000470200084702000847020008470200084C
:10007000470200084702000847020008470200083C
-:10008000470200084702000847020008470200082C
+:10008000B5080008470200084702000847020008B8
:10009000470200084702000847020008470200081C
:1000A000470200084702000847020008470200080C
:1000B000470200080000000000000000470200089E
:1000C00047020008470200084702000847020008EC
-:1000D00047020008470200084702000847020008DC
+:1000D0004702000847020008893700084702000865
:1000E000470200084702000800000000000000006E
:1000F0000000000000000000000000000000000000
:10010000000000004702000800000000470200084D
@@ -27,17 +27,17 @@
:1001900000F03CF80AA090E8000C82448344AAF1E5
:1001A0000107DA4501D100F031F8AFF2090EBAE8E3
:1001B0000F0013F0010F18BFFB1A43F0010318479B
-:1001C000C4480000E4480000103A24BF78C878C151
+:1001C000D8610000F8610000103A24BF78C878C1F7
:1001D000FAD8520724BF30C830C144BF04680C604D
:1001E000704700000023002400250026103A28BF95
:1001F00078C1FBD8520728BF30C148BF0B60704799
-:100200001FB504F082FA1FBD10B510BD00F0A0FAB2
-:100210001146FFF7F5FF00F0D0FA00F0BEFA03B484
-:10022000FFF7F2FF03BC00F0C1FA00000948804765
+:100200001FB505F010FF1FBD10B510BD00F016FBA7
+:100210001146FFF7F5FF00F046FB00F034FB03B496
+:10022000FFF7F2FF03BC00F037FB000009488047EE
:1002300009480047FEE7FEE7FEE7FEE7FEE7FEE7C8
:10024000FEE7FEE7FEE7FEE704480549054A064BE0
-:1002500070470000351D00088D010008684500202A
-:10026000684B00206847002068470020EFF31080AB
+:10025000704700000D2F00088D010008384700206E
+:10026000384D00203849002038490020EFF3108035
:1002700072B6704780F310887047444A1368012BA8
:1002800004D04FF001031360414A1060414A1160ED
:1002900041484FF0805101607047EFF3108272B611
@@ -54,1158 +54,1559 @@
:10034000006880F3088861B662B6BFF34F8FBFF3D1
:100350006F8F70471EF0040F0CBFEFF30880EFF3B0
:10036000098020E9F00F40F804ED40F804ED1EF09C
-:10037000040F0CBF80F3088880F3098800B503F0F0
-:1003800059F85DF804EB4EF0040E70473000002081
+:10037000040F0CBF80F3088880F3098800B504F0EF
+:10038000E7FC5DF804EB4EF0040E704730000020EF
:10039000280000202C00002004ED00E020ED00E00B
:1003A0000000FFFF08ED00E0B1EC088BB1EC08CBDA
-:1003B000FFF79CBF40EA0103024630B59B0710D10E
-:1003C0004FF0013400E008C208C91D1B9D4315EA27
-:1003D000C41FF8D013F0FF0102F8011B0DD01B0A57
-:1003E000F8E711F8013B002B02F8013B05D011F8AA
-:1003F000013B002B02F8013BF3D130BD10B5431C8B
-:1004000002E010F8011B71B18107FAD14FF00132FF
-:1004100002C88C1A8C4314EAC211F9D0C01A0A0619
-:1004200003D0C01E10BDC01A10BD0A0401D0801E2A
-:1004300010BD0902FCD0401E10BD40EA010370B59A
-:100440009B072ED14FF00136042A2AD308C810C9C1
-:100450009D1B9D43121F15EAC61517D0D8B2E1B2F5
-:10046000401A50EA056110D198B2A1B2401A50EA80
-:1004700005410AD123F07F4024F07F41401A50EA21
-:10048000052102D1180EA0EB146070BDA342DBD091
-:1004900018BA21BA884201D9012070BD4FF0FF304F
-:1004A00070BD0AB9002070BD10F8013B11F8014B76
-:1004B00063B1A3420AD1521E08D010F8013B11F8D3
-:1004C000014B1BB1A34201D1521EEDD1181B70BDCF
-:1004D000421E12F8013F002BFBD111F8013B002B0B
-:1004E00002F8013BF9D17047032A40F2308010F046
-:1004F000030C00F0158011F8013BBCF1020F6244BF
-:1005000098BF11F801CB00F8013B38BF11F8013B4F
-:10051000A2F1040298BF00F801CB38BF00F8013BFC
-:1005200011F0030300F02580083AC0F0088051F86C
-:10053000043B083A51F804CBA0E80810F5E7121D77
-:100540005CBF51F8043B40F8043BAFF30080D20796
-:1005500024BF11F8013B11F801CB48BF11F8012B62
-:1005600024BF00F8013B00F801CB48BF00F8012B85
-:10057000704710B5203AC0F00B80B1E81850203A0F
-:10058000A0E81850B1E81850A0E81850BFF4F5AF33
-:100590005FEA027C24BFB1E81850A0E8185044BFBD
-:1005A00018C918C0BDE810405FEA827C24BF51F82A
-:1005B000043B40F8043B08BF7047D20728BF31F81E
-:1005C000023B48BF11F8012B28BF20F8023B48BF6F
-:1005D00000F8012B70474FF000020429C0F0128090
-:1005E00010F0030C00F01B80CCF1040CBCF1020FE6
-:1005F00018BF00F8012BA8BF20F8022BA1EB0C01BB
-:1006000000F00DB85FEAC17C24BF00F8012B00F8B0
-:10061000012B48BF00F8012B70474FF0000200B5D6
-:10062000134694469646203922BFA0E80C50A0E815
-:100630000C50B1F12001BFF4F7AF090728BFA0E8C3
-:100640000C5048BF0CC05DF804EB890028BF40F88F
-:10065000042B08BF704748BF20F8022B11F0804FD1
-:1006600018BF00F8012B704710B5044610F0030FB7
-:1006700008BF11F0030F40F015804FF0013E121F2C
-:10068000C0F20E8051F8043BA3EB0E0C2CEA030CD5
-:100690001CEACE1C08BF40F8043BF0D0A1F10401D5
-:1006A00002F10402521E08DB11F8013B002B00F896
-:1006B000013BF7D11146FFF78EFF204610BD000029
-:1006C0004FF0013C50F8042B51F8043B9A4221D1E1
-:1006D000A2EB0C03934313EACC1317D150F8042B6D
-:1006E00051F8043B9A4215D1A2EB0C03934313EA51
-:1006F000CC130BD150F8042B51F8043B9A4209D18A
-:10070000A2EB0C03934313EACC13DBD04FF00000B1
-:10071000704700BFD01A01BAB1FA81F101F0180197
-:1007200022FA01F0CB40C1F12001DBB2C0B2C01A05
-:100730002CFA01F3D11A914311EAC311E6D17047A3
-:100740007047704770470000004870470845002018
-:100750007546FFF7F9FFAE4605006946534620F09F
-:100760000700854618B020B5FFF76EFDBDE82040B4
-:100770004FF000064FF000074FF000084FF0000B5D
-:1007800021F00701AC46ACE8C009ACE8C009ACE810
-:10079000C009ACE8C0098D46704710B50446AFF3F8
-:1007A00000802046BDE81040FFF739BD0149182000
-:1007B000ABBEFEE726000200704710B503F00DFF48
-:1007C000002010BDFEE770472DE9F84F0026DFF846
-:1007D00048A2DFF848B20D460446B0F1904F10D061
-:1007E00054450ED05C450CD08D48844209D08D48CC
-:1007F000844206D08C48844203D0AA218BA001F009
-:1008000034FD28680104090C01D0000C03D0AB2191
-:1008100086A001F02AFD68684FF00309002821D066
-:100820000128FCD01128FAD00228F8D01228F6D0DE
-:10083000B0F5881FF3D0B0F5041FF0D0B0F5441F19
-:10084000EDD0B0F5901FEAD0B0F5081FE7D0B0F5B5
-:10085000481FE4D00328E2D00B28E0D0AC2173A0DD
-:1008600001F003FDD1E0012000FA06F817EA0807BD
-:100870007ED0287900F00300012801D002281DD184
-:10088000E86848B1012807D0022805D0032803D022
-:10089000BB2166A001F0E9FCA168700009FA00F232
-:1008A0009143EA6882400A43A2606068297920EA9D
-:1008B0000800C1F30011B140014361602879C043D1
-:1008C000800712D0A86838B1012805D0022803D0CB
-:1008D000DC2156A001F0C9FCE168700009FA00F2C1
-:1008E0009143AA6882400A43E260287900F003003D
-:1008F000022827D1B4F1904F10D054450ED05C455A
-:100900000CD04748844209D04648844206D0464825
-:10091000844203D0E82145A001F0A7FC28690F28F4
-:1009200003D9E92141A001F0A0FCF00804EB80010B
-:100930000A6A7007C00E0F2383409A432B698340D5
-:1009400013430B622168700009FA00F291432A797F
-:1009500002F0030282400A432260686810F4403FBC
-:1009600052D04148016E41F001010166006E00E085
-:100970004AE000F0010000903C4826F003010A180C
-:100980009368B007010F0F2088408343B4F1904F64
-:1009900003D0544503D1012010E000200EE05C4557
-:1009A00001D102200AE01E48844201D1032005E063
-:1009B0001C48844201D1042000E0072088401843ED
-:1009C00090602B4908686A68B843D20200D5384362
-:1009D00008602749091D08686A68B843920200D573
-:1009E000384308602249091F08686A68B8439203BF
-:1009F00000D5384308601E49083908686A68B8435A
-:100A0000D20300D538430860761C2F6837FA06F009
-:100A10007FF429AF00F02EB8000400480008004819
-:100A2000000C004800100048001C00482E2E2F44E7
-:100A30007269766572732F53544D33324C34787823
-:100A40005F48414C5F4472697665722F5372632F21
-:100A500073746D33326C3478785F68616C5F677083
-:100A6000696F2E630000000000100240000001408A
-:100A70000804014018BCBDE8E08F000070B50C0010
-:100A8000054604D14FF4E37105A001F0EEFB69695E
-:100A900024EA0100214040EA0140A86170BD000045
-:100AA0002E2E2F447269766572732F53544D333254
-:100AB0004C3478785F48414C5F4472697665722F98
-:100AC0005372632F73746D33326C3478785F68615E
-:100AD0006C5F6770696F2E630000000070B515468B
-:100AE0000C00064604D14FF4D77107A001F0BDFBFE
-:100AF00045B1012D04D040F2AF1103A001F0B5FBC8
-:100B0000B46170BDB46270BD2E2E2F4472697665DB
-:100B100072732F53544D33324C3478785F48414CC4
-:100B20005F4472697665722F5372632F73746D33ED
-:100B3000326C3478785F68616C5F6770696F2E63C0
-:100B40000000000001488068704700000400002099
-:100B500010B50024032000F091F8002000F008F800
-:100B600008B1012401E000F025F8204610BD000086
-:100B700070B50E4E05460024307898B14FF47A7166
-:100B8000B1FBF0F00A490968B1FBF0F000F02CFE6F
-:100B900040B9102D06D200222946501E00F020F840
-:100BA000756000E00124204670BD000004000020B4
-:100BB00010000020094808B5016E41F001010166EE
-:100BC000016E01F001010091816D41F0805181655C
-:100BD000806D00F08050009008BD000000100240C1
-:100BE00070B514460D460646102A03D3BE2113A045
-:100BF00001F03BFB102D03D3BF2110A001F035FB0A
-:100C00001D480068C0F30223C3F10700042800D97F
-:100C10000420191D072901D2002300E0DB1E012258
-:100C200002FA00F1491E294099409A40521E224082
-:100C30003046BDE87040114301F000BA2E2E2F441B
-:100C40007269766572732F53544D33324C34787811
-:100C50005F48414C5F4472697665722F5372632F0F
-:100C600073746D33326C3478785F68616C5F636F76
-:100C7000727465782E6300000CED00E010B5044638
-:100C800007280BD0062C09D0052C07D0042C05D042
-:100C9000032C03D0A62108A001F0E7FA154A04F0BE
-:100CA000070110684FF6FF03184040EA012012497F
-:100CB0000843106010BD00002E2E2F447269766527
-:100CC00072732F53544D33324C3478785F48414C13
-:100CD0005F4472697665722F5372632F73746D333C
-:100CE000326C3478785F68616C5F636F72746578BA
-:100CF0002E6300000CED00E00000FA0510B51B4C5F
-:100D0000B0F5007F13D0B0F5806F03D0A72118A0F5
-:100D100001F0ABFA2068C0F34120022805D020681A
-:100D200020F4C06040F480602060002010BD206886
-:100D3000C0F341200128F8D0206820F4C06040F4BE
-:100D40000070206019483221006848431849B0FB00
-:100D5000F1F0401C00E0401E6169490501D5002802
-:100D6000F9D160694005E0D5032010BD0070004056
-:100D70002E2E2F447269766572732F53544D333281
-:100D80004C3478785F48414C5F4472697665722FC5
-:100D90005372632F73746D33326C3478785F68618B
-:100DA0006C5F7077725F65782E6300001000002022
-:100DB00040420F000248006800F4C0607047000025
-:100DC000007000402DE9F0470D46040077D0206800
-:100DD000401E0E2804D940F259417BA001F045FA8B
-:100DE00065B1012D0AD0022D08D0032D06D0042DA7
-:100DF00004D040F25A4174A001F037FADFF80082C3
-:100E0000D8F8000000F00700A8420CD2D8F8001073
-:100E100021F007012943C8F80010D8F8000000F0BD
-:100E20000700A8424BD12078764E800721D5A068D4
-:100E3000A0B1802812D0902810D0A0280ED0B028C1
-:100E40000CD0C0280AD0D02808D0E02806D0F0283E
-:100E500004D040F272415CA001F007FAA068B168CA
-:100E600001F0F001884204D9B16821F0F00101439A
-:100E7000B1602078C0073BD0606838B301280ED03D
-:100E8000022820D003281BD040F27D414EA001F063
-:100E9000ECF96068032813D0022814D0B0B1306890
-:100EA0004005002843DAB068616820F00300084379
-:100EB000B060FFF747FE074641F2883911E036E09F
-:100EC00030688001EDE730688003EAE7306880072A
-:100ED000E7E7FFF737FEC11B494502D90320BDE80C
-:100EE000F087B068616800F00C00B0EB810FF0D1C2
-:100EF000207880070AD5A068B16801F0F001884227
-:100F000004D2B16821F0F0010143B160D8F80010BB
-:100F1000404601F00701A9420BD9016821F0070101
-:100F200029430160006800F00700A84201D00120B9
-:100F3000D5E720784FF4806540074FF4A0674FF461
-:100F4000C0684FF4E06914D5E06860B1A8420AD0E7
-:100F5000B84208D0404506D0484504D040F2F5419B
-:100F600019A001F082F9B068E16820F4E06008435C
-:100F7000B0602078000715D5206960B1A8420AD07A
-:100F8000B84208D0404506D0484504D040F2FC4164
-:100F90000DA001F06AF9B068216920F4605040EAC0
-:100FA000C100B06000F03CF8B168174AC1F303110A
-:100FB000515C01F01F01C8401449086014480068E2
-:100FC000BDE8F047FFF7D4BD2E2E2F447269766539
-:100FD00072732F53544D33324C3478785F48414C00
-:100FE0005F4472697665722F5372632F73746D3329
-:100FF000326C3478785F68616C5F7263632E630073
-:101000000020024000100240144700081000002099
-:101010000800002001480068704700001000002010
-:1010200070B5254B002210469968DC6811F00C0160
-:1010300004F00306214C224D08D00C2904D00429C9
-:1010400031D0082931D010E0012E10D11A681207D2
-:1010500004D4D3F89420C2F3032202E01A68C2F346
-:101060000312184E56F82220D9B10C2918D1D8688D
-:1010700000F0030002281AD003281AD01046D968BD
-:10108000DA68C1F30211C2F306224243491CB2FBE3
-:10109000F1F0D968C1F34161491C4900B0FBF1F09E
-:1010A00070BD104670BD204670BD284670BD2046FC
-:1010B000E5E72846E3E70000001002400024F400C2
-:1010C000001BB700244700082DE9F84304007CD03A
-:1010D000206830B1800904D04FF4D171F1A001F043
-:1010E000C4F8FE4EB06800F00C05F06800F003078D
-:1010F0002078C0066AD5A06930B1012804D040F23A
-:10110000AB11E8A001F0B1F8E069FF2804D94FF471
-:10111000D671E4A001F0A9F8206AD0B1102818D047
-:10112000202816D0302814D0402812D0502810D0B3
-:1011300060280ED070280CD080280AD0902808D0C3
-:10114000A02806D0B02804D040F2AD11D5A001F0FF
-:101150008CF875B10C2D01D1012F0AD0A06900289F
-:1011600030687AD040F001003060FFF7EBFC804639
-:101170005DE03068800702D5A0690028A7D0216A09
-:101180003068000703D5306800F0F00004E0D6F8BE
-:101190009400F02202EA1010814218D9084600F0AB
-:1011A00097FB002811D1306840F0080030603068AB
-:1011B000216A20F0F000084330607068E16920F493
-:1011C0007F4040EA0120706018E0EDE055E03068B3
-:1011D00040F0080030603068216A20F0F0000843D9
-:1011E00030607068E16920F47F4040EA012070605F
-:1011F00025B9206A00F06CFB0028D3D1FFF710FF5F
-:10120000B168B74AC1F30311515C01F01F01C84036
-:10121000B4490860B4480068FFF7AAFC002870D100
-:101220002BE0FFF78FFCA0EB080002286AD830689B
-:101230008007F6D5306840F0080030603068216AD9
-:1012400020F0F000084330607068E16920F47F40CE
-:1012500040EA0120706010E0FFE720F001003060FC
-:10126000FFF770FC804605E0FFF76CFCA0EB080080
-:101270000228DBD830688007F6D42078C0074FD02A
-:1012800060684FF480384FF4A02940B1404506D043
-:10129000484504D040F2192182A000F0E6FF082D55
-:1012A0000AD00C2D01D1032F06D0606840450AD129
-:1012B000306840F4803013E03068800330D56068D7
-:1012C000002871D02CE04845306803D140F48020DC
-:1012D0003060EDE720F480303060306820F480200A
-:1012E0003060606878B1FFF72DFC804605E0FFF7BD
-:1012F00029FCA0EB0800642898D830688003F6D554
-:101300000EE05EE25CE2FFF71DFC804605E0FFF7C1
-:1013100019FCA0EB0800642888D830688003F6D454
-:101320002078800749D5E06838B1B0F5807F04D0D7
-:101330004FF413715BA000F098FF20691F2804D9B7
-:1013400040F24D2157A000F090FF042D0ED00C2D3F
-:1013500001D1022F0AD0E068002830681DD040F487
-:1013600080703060FFF7EEFB07460BE03068400509
-:101370000BD5E0680028A4D007E0FFF7E3FBC01B13
-:101380000228B9D830684005F7D57068217C20F074
-:10139000F85040EA016070600FE020F48070306027
-:1013A000FFF7D0FB074605E091E1FFF7CBFBC01B41
-:1013B0000228A1D830684005F7D42078000731D53D
-:1013C0006069E0B1012806D040F28D2135A000F01F
-:1013D0004CFF606998B1D6F8940040F00100C6F85F
-:1013E0009400FFF7AFFB074604E0FFF7ABFBC01B21
-:1013F000022891D8D6F894008007F6D512E0D6F8E6
-:10140000940020F00100C6F89400FFF79BFB07460C
-:1014100004E0FFF797FBC01B0228B2D8D6F894006F
-:101420008007F6D4207840073BD5A0684FF000082D
-:1014300040B1012806D0052804D04FF4387119A016
-:1014400000F013FFB06DC00009D4B06D40F08050C3
-:10145000B065B06D4FF0010800F080500090234857
-:101460000168C90511D40168814641F480710160A9
-:10147000FFF768FB074604E0FFF764FBC01B022888
-:1014800097D8D9F80000C005F6D5A06801283DD04E
-:101490000528D6F890003ED020F00100C6F8900054
-:1014A00026E05BE02E2E2F447269766572732F530F
-:1014B000544D33324C3478785F48414C5F44726904
-:1014C0007665722F5372632F73746D33326C347878
-:1014D000785F68616C5F7263632E63000010024086
-:1014E0001447000810000020080000200070004091
-:1014F000D6F8900020F00400C6F89000A06841F2F1
-:101500008839B8B1FFF71EFB07460EE0D6F8900009
-:1015100040F00100F0E740F00400C6F89000F5E765
-:10152000FFF710FBC11B4945AAD8D6F890008007E9
-:10153000F6D50CE0FFF706FB074604E0FFF702FBD9
-:10154000C11B49459CD8D6F890008007F6D4B8F165
-:10155000000F03D0B06D20F08050B0652078800679
-:1015600032D5606AE8B1012807D040F24531AFF2C8
-:10157000CC0000F07AFE606A98B1D6F8980040F08E
-:101580000100C6F89800FFF7DDFA074604E0FFF710
-:10159000D9FAC01B0228C7D8D6F898008007F6D51C
-:1015A00012E0D6F8980020F00100C6F89800FFF786
-:1015B000C9FA074604E0FFF7C5FAC01B0228B3D8F2
-:1015C000D6F898008007F6D4A06A00287ED00128BB
-:1015D0000CD0022814D040F26E31AFF2381000F077
-:1015E00044FEA06A0028F1D0022809D00C2D6ED04C
-:1015F000306820F080703060FFF7A4FA0446E2E023
-:10160000E06A58B1012809D0022807D0032805D084
-:1016100040F27631AFF2741000F027FE206B401ECE
-:10162000072805D940F27731AFF2881000F01DFE8F
-:10163000606B08384E2805D94FF45E71AFF29C10EC
-:1016400000F013FEA06B801E1D2805D940F27A31F0
-:10165000AFF2B01000F009FEE06B02280BD00428B6
-:1016600009D0062807D0082805D04FF45F71AFF2E3
-:10167000CC1000F0FAFD206C02280BD0042809D011
-:10168000062807D0082805D040F27D31AFF2EC10D3
-:1016900000F0EBFDF068E26A00F00301914229D10D
-:1016A000216B00F0700209011039914222D1626B66
-:1016B00000F4FE41B1EB022F1CD194F8382000F069
-:1016C0007841B1EBC26F15D1A18F01E072E083E0E8
-:1016D0004908490500F4C002A1F50011914209D161
-:1016E00094F8401000F0C06049084906A1F100716B
-:1016F000814248D00C2D70D0306840016DD43068E4
-:1017000020F080703060FFF71DFA054604E0FFF717
-:1017100019FA401B022853D830688001F7D4F4E945
-:101720000B016FF00F0202EB01110843218A5204F2
-:10173000490802EB4151A26841EA02210843217D98
-:101740004FF07E42490802EB41610843217B40EAA9
-:10175000C160F168224A11400843F060306840F0EF
-:1017600080703060F06840F08070F060FFF7EAF958
-:10177000044604E0FFF7E6F9001B022820D8306891
-:101780008001F7D526E03068800123D4306840F02E
-:1017900080703060F06840F08070F060FFF7D2F940
-:1017A000044604E0FFF7CEF9001B022808D8306891
-:1017B0008001F7D50EE0FFF7C5F9001B022802D91A
-:1017C0000320BDE8F88330688001F4D4F06805494F
-:1017D0000840F0600020F4E7FFE70120F1E7000097
-:1017E0008C809D01FCFFEEFE10B5401EB0F1807FA5
-:1017F00001D3012010BD4FF0E02460610F2160177C
-:1018000000F01CFC0020A06107202061002010BD1A
-:10181000024608A1002000F02DF90F4D4FF480542E
-:101820004FF47A7621462846FFF728F9304602F031
-:10183000CAFBF7E7546872656164312073746172A2
-:10184000746564207769746820706172616D657475
-:1018500065723A2025730A000004004830B587B04D
-:1018600014216846FEF7D9FE1648C16C41F080018C
-:10187000C164C16C01F080010591C16C41F00201AD
-:10188000C164C16C01F002010591C16C41F001011C
-:10189000C164C06C0C4D00F001004FF48054059001
-:1018A000002221462846FFF719F901210020009463
-:1018B000CDE90110039169462846FEF785FF07B080
-:1018C00030BD00000010024000040048FEE7FEE7C3
-:1018D000F8B51C4E05460024B06DC00002D5FFF7D8
-:1018E00069FA0DE0B06D40F08050B065B06D00F069
-:1018F00080500090FFF75EFAB16D21F08051B16524
-:10190000B0F5007F04D0802D07D94FF003040AE022
-:10191000802D08D9A02D01D804E001D1022402E0D5
-:10192000702D00D101240848016821F007012143EE
-:101930000160006800F00700A04201D00120F8BD5E
-:101940000020F8BD001002400020024010B5EFF367
-:101950001184202383F3118800F004F8E1B281F3AD
-:10196000118810BD2DE9F0470F461C490446164664
-:10197000087808B900F0E8F9184904EB440001EBD5
-:10198000C005B846D5E91B94002760354C4511D9F0
-:10199000A868071BB74200D3374668683A46011962
-:1019A0004046FEF7A1FDA868F61B3C44B844A0429F
-:1019B00000D10024A9EB0400B04200D206463EB19B
-:1019C0006868324601194046FEF78EFD37443444BC
-:1019D00007B12C613846BDE8F0870000D400002034
-:1019E0002DE9F04107460B4815460E46007808B928
-:1019F00000F0AAF9EFF31184202080F311882A4621
-:101A00003146384600F008F8E1B281F31188BDE8AC
-:101A1000F0810000D400002070B50E46144900EBA0
-:101A2000400001EBC0051446E86A183520B10128D2
-:101A30000FD0022805D113E0284600F0B9F9A042E2
-:101A400001D2002411E022463146284600F0D5FAA2
-:101A50000BE0284600F0ACF9A042F4D20446F2E7CD
-:101A60003146284600F09CFA0446204670BD00002E
-:101A7000D40000200FB408B504A900916A46039968
-:101A800000F003F801B05DF814FB2DE9F04198B0C7
-:101A9000804607A8029040200026CDE90306CDE944
-:101AA000056815460C4614F8011B00296FD025293E
-:101AB00008D002A800F055FA05980028F3DA18B00B
-:101AC000BDE8F08100200122217823291ED02B2996
-:101AD00019D02D2902D0302908D102E040F00100B0
-:101AE00001E040F00200641C002AEDD100222178C0
-:101AF000A1F130030A2B0CD202EB820201EB42026D
-:101B0000303A641CF3E740F00400ECE740F00800D2
-:101B1000E9E70023CFB22E2F0BD114F8011FA1F15A
-:101B200030070A2F05D203EB830301EB4303303B5D
-:101B3000F3E76C290DD068290BD070294AD00BDC53
-:101B4000252914D058292BD063290CD0642911D110
-:101B500012E014F8011FECE773292CD0752917D077
-:101B6000782907D11CE02868011D2960017802A8A6
-:101B700000F0F7F9641C9FE729680F1D2F600968C2
-:101B8000CDE900200A2202A800F01DF9F2E72BE0BF
-:101B900029680F1D2F600968CDE900200A2206E0A0
-:101BA00029680F1D2F600968CDE90020102202A8C6
-:101BB00000F06EF9DEE72868011D2960076817F854
-:101BC000011B0029D6D002A800F0CBF90598002807
-:101BD000F5DACFE72868011D296001680820CDE902
-:101BE000000603461022E2E7059800287FF767AF5A
-:101BF000049820B1024607A94046FFF7F1FEDDE94F
-:101C00000410084405905AE710B501F03BFD02F0BE
-:101C10007DFABDE8104001F043BD10B596B04421F7
-:101C20006846FEF7FAFC142111A8FEF7F6FC4FF403
-:101C30000070FFF763F808B172B6FEE701200324D5
-:101C400000900004019002202821CDE90A04CDE98A
-:101C50000C410721CDE90E1010906846FFF734FAC9
-:101C600008B172B6FEE70F20CDE9110400201390F1
-:101C700014901590042111A8FFF7A4F8002801D0B2
-:101C800072B6FEE716B010BD70B5254C206800078F
-:101C900004D4D4F89400C0F3032002E02068C0F319
-:101CA0000310204951F82010A0681F4A10F00C00C2
-:101CB00007D01E4D042806D01D4E082805D00C283C
-:101CC00005D011601CE015601AE0166018E0E068AD
-:101CD00000F00303E068C0F30210401C022B19D08F
-:101CE000032B1AD0B1FBF0F0E168C1F306214143A8
-:101CF000E068C0F34160401C4000B1FBF0F01060B0
-:101D0000A0680849C0F303101039085C1168C1408D
-:101D1000116070BDB5FBF0F0E6E7B6FBF0F0E3E76D
-:101D20000010024024470008100000200024F400A6
-:101D3000001BB7000248016841F470010160704760
-:101D400088ED00E0FEE7000010B5124C0320206192
-:101D5000606111A0A06104F1A800E0614FF480600F
-:101D600020620021A1626162E1620BA0206604F59D
-:101D7000956060661020A0662167E166616709A131
-:101D8000E01DFEF717FB08A12046FEF713FB2020FD
-:101D9000A07110BDD40000205465726D696E616C35
-:101DA000000000005254540053454747455200007C
-:101DB0000269C1688A4203D88068401A104400E072
-:101DC000501A401E70472DE9FC5F0E008046DDE989
-:101DD0000C47C6F1000099469246834600D4084657
-:101DE000012502E090FBFAF06D1C5045FADAA94596
-:101DF00000D94D4624B1002E01DB780700D5641EC2
-:101E0000B80702D5B9F1000F0FD0F8070DD164B1B2
-:101E1000A5420AD220214046641E00F0A2F8D8F85C
-:101E20000C000028F3DA00F030B8D8F80C000028D5
-:101E3000F9DB002E02DA5E462D2102E0780707D595
-:101E40002B21404600F08DF8D8F80C000028EADB82
-:101E500007F0030002280FD1B9F1000F0CD15CB1DB
-:101E6000A54209D230214046641E00F07AF8D8F825
-:101E70000C000028F3DAD6E7CDE900474B4652467E
-:101E80003146404600F004F8CDE73CBCBDE8C09FB9
-:101E90002DE9F84F8246DDE90A4B012599461746A0
-:101EA000884608462E4602E0B0FBF7F0761CB842A2
-:101EB000FAD2B14500D94E465FEACB7017D1B4B122
-:101EC0005FEA8B7002D5B9F1000F02D0202000909C
-:101ED0000BE03020FBE75046641E009900F041F80B
-:101EE000DAF80C00002835DB0CB1A642F3D3DAF89F
-:101EF0000C0000282EDBB9F1010F02D9A9F101096C
-:101F000003E0B8FBF5F0B84201D37D43F3E7DFF817
-:101F10004890B8FBF5F000FB158819F80010504602
-:101F200000F01FF8DAF80C00002803DBB5FBF7F52A
-:101F3000002DEED15FEACB700CD0002C0AD0A64267
-:101F400008D220215046641E00F00BF8DAF80C008D
-:101F50000028F2DA00F002B85447000818BCBDE8C7
-:101F6000E08F10B50446D4E90130421C934205D3FA
-:101F700023681954A260E068401CE060D4E90102C3
-:101F8000824209D121682069FFF72AFDA1688842B1
-:101F900003D04FF0FF30E06010BD0020A06010BD06
-:101FA0002DE9F047C4681746894605464FF00008FA
-:101FB0002869A04201D9061B02E0A968201A0E1A5E
-:101FC000A868761E001BB04200D80646BE4200D369
-:101FD0003E466868324620444946FEF785FAA868BE
-:101FE000BF1B3444B044B144A04200D10024EC6093
-:101FF000002FDDD14046BDE8F0872DE9F0410446D1
-:102000008846D4E90207C51BE168606816460844A3
-:10201000B54206D94146FEF767FAB819E060BDE857
-:10202000F0812A464146FEF75FFA761B08EB050170
-:1020300032466068FEF758FAE660F0E70907090ED5
-:10204000002804DB00F1E02080F80014704700F065
-:102050000F0000F1E02080F8141D7047002807D021
-:102060000E4910F0FF0F04D051FA80F00078401CA8
-:10207000704710F47F4F04D0C0F30720085C09308C
-:10208000704710F47F0F04D0C0F30740085C113094
-:10209000704701EB10600078193070476447000802
-:1020A0002DE9F04F89B0934688460746002500E0A9
-:1020B0006D1C785D202803D0092801D04545F7D351
-:1020C0004FF0FF3A4DB316480026DFF858900468E9
-:1020D00009E02A4639462068FEF7AFF910B92068B2
-:1020E000405DC0B10C34D9F800008442F1D3A6B1F0
-:1020F00020220021684601F07DFB6A4641463846B1
-:1021000000F08EFF48B16946B047CBF800000020D0
-:1021100009B000F009B8A668E9E75046F8E7000002
-:10212000140000201800002030BCBDE8C08F000063
-:1021300010B5044605488068FFF790FF0449401E2B
-:1021400051F830102060A1F1140010BDBC00002037
-:102150000808002070B50C480468FEF787F80546AB
-:10216000204601F08DFC04F1440002F063F80420E5
-:1021700084F83400204601F0B3FE2846FEF77AF8D2
-:10218000BDE8704001F0E4BBC00000202DE9FC4137
-:1021900019460446DDE90837DDE90A651430406078
-:1021A0000060C4E90821C4E90A373A4623211846E9
-:1021B00001F020FBD4E90A014218D4E908010E4BD2
-:1021C000121F01F041FAE06184F835600020C4E993
-:1021D0000E052564206384F8340020676067009052
-:1021E00023460190054A194604F1440002F036F8EE
-:1021F0000020BDE8FC8100005521000801220008F4
-:1022000070B50446FEF732F805466FF00100206312
-:1022100004F1140001F08FFA204601F0F7FB284684
-:10222000FEF728F8BDE8704001F092BB10B5029CA3
-:1022300024F001044472C0E907120021C0E9093109
-:1022400000EBC1021432491C526012600129F7DB15
-:1022500010BD70B50546002405EBC400143001F034
-:1022600073FA641C012CF7DB70BD704710B51BA01E
-:1022700001F024FA1C4C21781CA001F01FFA2078F0
-:10228000C00702D01FA001F019FA2078800702D5FC
-:102290001FA001F013FA2078400702D51FA001F01B
-:1022A0000DFA2078000702D520A001F007FA207867
-:1022B000C00602D520A001F001FA2078000607D55B
-:1022C00009480F300168BDE810401DA001F0F6B9C3
-:1022D000BDE810401EA001F0F1B900006275732046
-:1022E0006661756C743A0A0029ED00E05343425F61
-:1022F000434653525F424653523A30782530325863
-:102300002000000049425553455252200000000071
-:10231000505245434953455252200000494D5052B6
-:10232000454349534552522000000000554E535436
-:102330004B4552522000000053544B45525220004E
-:102340005343422D3E424641523A253038580A0006
-:102350000A00000010B502A001F0B0F9002010BD85
-:102360001B5B324A1B5B480010B50C46022811D19A
-:1023700015A16068FEF7A4F900281BD014A16068BD
-:10238000FEF79EF9002818D013A16068FEF798F9AF
-:10239000002815D011A001F091F916A001F08EF9D6
-:1023A00017A001F08BF91DA001F088F922A001F01F
-:1023B00085F907E000F032FB04E000F00DFC01E0DD
-:1023C00000F08AFA002010BD746872656164000034
-:1023D00074696D657200000073656D005573616707
-:1023E000653A206C697374205B6F7074696F6E73EB
-:1023F0005D0A00005B6F7074696F6E735D3A0A006E
-:1024000020202020746872656164202D206C69731F
-:102410007420746872656164730A000020202020B3
-:1024200074696D6572202D206C6973742074696DF8
-:102430006572730A000000002020202073656D2063
-:102440002D206C6973742073656D6170686F72659F
-:10245000730A00000D4810B5C16891F82110890772
-:1024600003D40B49002008700EE0816821B180225E
-:102470000748FEF7F9F803E006A10548FDF79AFFC3
-:1024800006A10348FEF724F8014810BD14000020FF
-:102490008C0500206D736820000000003E000000E5
-:1024A0000349C96811F8212F60F341020A7070478F
-:1024B00014000020014AC2E9000170471400002006
-:1024C0007CB516491648FFF7F5FF7821012000F08A
-:1024D000FBFE144DE860D0B10A211520CDE90001C2
-:1024E0004FF480630022104910A001F0BCFC0446A8
-:1024F00000231A460FA1E86801F0E8FA0120FFF76F
-:10250000CFFF14B1204601F0ABFD00207CBD0BA035
-:1025100001F0D4F84FF0FF307CBD0000844A000881
-:10252000244A0008140000205525000874736865CB
-:102530006C6C000073687278000000006E6F206D94
-:10254000656D6F727920666F72207368656C6C0AB6
-:1025500000000000944EF06810F8211F41F00101C6
-:102560000170FFF777FF01F0A9F8002500F031FFB7
-:102570000400FBD41B2C07D0F06890F82010012930
-:1025800007D002290ED017E0F168012081F8200061
-:10259000ECE75B2C02D080F820500DE0022180F89F
-:1025A0002010E3E780F82050412CDFD0422CDDD012
-:1025B000442C38D0432C42D0002CD7D0FF2CD5D07F
-:1025C000092C4DD07F2C70D0082C6ED00D2C6BD0E8
-:1025D0000A2C69D0B0F87410502901D3A0F87450B7
-:1025E000B0F87630B0F874108B427DD2CA1A00F180
-:1025F000220123301944184401F0E5F8F068B0F8DE
-:10260000761022300C54F06890F82110C90706D0DB
-:10261000B0F876102230014464A001F04FF8F06861
-:10262000B0F876409CE0B0F8760000289ED060A01C
-:1026300001F044F8F06830F8761F491E0EE0B0F85B
-:102640007610B0F87420914290D22230095C59A0E3
-:1026500001F034F8F06830F8761F491C018085E7F6
-:10266000002403E052A001F029F8641CF068B0F8DF
-:102670007600A042F6DCF4684FA0223401F01EF888
-:10268000204600F01FFCFFF7E5FE014622464BA066
-:1026900001F014F8F0682230FDF7B0FEF16821F87F
-:1026A000740F488062E700E03DE0B0F87620002A31
-:1026B000D5D0B0F87410521E491E89B293B2A0F85A
-:1026C0007410A0F87630994224D9CA1A00F1230177
-:1026D00022301944184401F076F8F068B0F874100C
-:1026E00022300D54F06800E040E0B0F8761022305F
-:1026F000014434A000F0E2FFF068B0F8764003E057
-:102700002BA000F0DBFF641CF068B0F87400A0425E
-:10271000A5DBF5E72DA000F0D1FFF068B0F874104C
-:1027200022300D5422E790F82100C00702D022A0E9
-:1027300000F0C4FFF068B0F87410223000F00EFC16
-:10274000FFF788FE00F0BAFFF06851220021223026
-:1027500001F050F8F06822E015A000F0AFFF641C13
-:10276000F068B0F87400A042F6DC0AE022300C54A5
-:10277000F06890F82100C00703D021460DA000F0BA
-:102780009DFFF068B0F87410491C89B2A0F874106D
-:10279000B0F87620521CA0F876205029C2D320F839
-:1027A000745F4580E2E600001400002025730000FD
-:1027B00008000000256300000A000000257325734F
-:1027C00000000000082573202008000008200800F1
-:1027D00010B5124C2068800702D511A000F06EFFE2
-:1027E0002068400011D50D48C01E007808B1FFF7E1
-:1027F0003DFD0A48001F007808B100F0F7FA0748CD
-:10280000801E008808B101F013FF2068002804DA58
-:10281000BDE8104008A000F051BF10BD2CED00E055
-:102820006661696C656420766563746F72206665A5
-:102830007463680A0000000064656275672065764D
-:10284000656E740A000000002DE9F04104461E4642
-:1028500017460D46084601F039F8001D2060257224
-:1028600000206760C4E90360BDE8F0812DE9F04114
-:1028700000260D460E61C96849B1297A39B12F6821
-:1028800040B10446FDF7F2FC014636B111E00020EC
-:10289000BDE8F0813C460126F4E7A4F10C002A7A59
-:1028A000007A20F08000904203D00846FDF7E2FC59
-:1028B000EDE7686800262468BC4201D1002404E0EA
-:1028C00010C0EA68761CB242F5D10846FDF7D2FC8A
-:1028D00020462E61DCE700002DE9F04190B0002792
-:1028E00033A4082302AA02210AA8FFF7ADFF08209B
-:1028F00080460146224631A000F0E0FE404600F04E
-:10290000F7FB35A000F0DAFE0AA93846FFF7AEFF64
-:102910000746002643E002A850F826400C3CFDF78D
-:10292000A5FC217A9DF8302021F08001914202D04F
-:10293000FDF7A0FC32E0FDF79DFC606904F1140591
-:10294000A84228460BD100F0E4FEA18BCDE900108F
-:1029500023460822414626A000F0B0FE1EE000F00B
-:10296000D8FEA18BCDE9001023460822414624A0C1
-:1029700000F0A4FE2C680CE0A4F11402082124A0AD
-:1029800000F09CFE2068A84202D023A000F096FE32
-:102990002468AC42F0D10FA000F090FE761C0E9897
-:1029A000B042B8DC002FAFD110B00020BDE8F081FC
-:1029B00073656D6170686F7265000000252D2A2EA9
-:1029C00073207620202073757370656E64207468A0
-:1029D000726561640A000000202D2D2D202D2D2D03
-:1029E0002D2D2D2D2D2D2D2D2D2D2D0A00000000EE
-:1029F000252D2A2E2A7320253033642025640A00D1
-:102A0000252D2A2E2A7320253033642025643A0090
-:102A1000252E2A73000000002F0000002DE9F04150
-:102A2000AEB000263DA4082320AA012128A8FFF764
-:102A30000BFF08208046014622463A4800F03EFE41
-:102A4000404600F055FB38A000F038FE28A930467B
-:102A5000FFF70CFF0646002557E020A850F8254058
-:102A60000C3CFDF703FC0746207A9DF8A81020F0E7
-:102A70008000884203D03846FDF7FCFB44E0782212
-:102A8000214602A800F07AFE3846FDF7F3FB94F8E1
-:102A90003500009023460822414633A000F00EFE88
-:102AA00094F8340000F00701012907D0022907D06B
-:102AB00041B1042908D0032908D00AE02DA006E07E
-:102AC0002FA004E031A002E033A000E035A000F028
-:102AD000F5FDA76A00E07F1C38782328FBD0206B27
-:102AE00001F04CF90146D4E90A023B1AD31A6427D3
-:102AF0007B43276CCDE90071B3FBF2F3E169401A27
-:102B000081182BA000F0DAFD6D1C2C98A842A4DCE3
-:102B1000002E9BD12EB00020BDE8F0817468726554
-:102B20006164000088480008202D2D2D20202D2DC7
-:102B30002D2D2D2D2D202D2D2D2D2D2D2D2D2D2DD2
-:102B4000202D2D2D2D2D2D2D2D2D2D20202D2D2DDC
-:102B50002D2D2D20202D2D2D2D2D2D2D2D2D2D20CC
-:102B60002D2D2D0A00000000252D2A2E2A73202548
-:102B70003364200020726561647920200000000029
-:102B80002073757370656E640000000020696E69C3
-:102B9000742020200000000020636C6F73652020EB
-:102BA000000000002072756E6E696E670000000004
-:102BB000203078253038782030782530387820203B
-:102BC00020202530326425252020203078253038FB
-:102BD000782025730A000000F0B58FB000262AA4E3
-:102BE000082302AA0A210AA8FFF72EFE0827224678
-:102BF000394627A000F062FD384600F079FA31A08E
-:102C000000F05CFD0AA93046FFF730FE06460025BD
-:102C10002CE002A850F825400C3CFDF727FB217A58
-:102C20009DF8302021F08001914202D0FDF722FB77
-:102C30001BE0FDF71FFBD4E90901CDE900012346A4
-:102C4000082239462BA000F039FD607AC00701D078
-:102C50002EA000E031A000F031FD607A800701D5A0
-:102C600032A000E034A000F029FD6D1C0E98A842AF
-:102C7000CFDC002EC6D101F043FA014631A000F0AE
-:102C80001DFD0FB00020F0BD74696D65720000007D
-:102C9000252D2A2E732020706572696F6469632068
-:102CA000202074696D656F75742020202061637425
-:102CB00069766174656420202020206D6F64650A48
-:102CC00000000000202D2D2D2D2D2D2D2D2D2D2002
-:102CD0002D2D2D2D2D2D2D2D2D2D202D2D2D2D2D31
-:102CE0002D2D2D2D2D2D202D2D2D2D2D2D2D2D2D21
-:102CF0000A000000252D2A2E2A732030782530382E
-:102D000078203078253038782000000061637469BD
-:102D100076617465642020200000000064656163B2
-:102D200074697661746564200000000070657269E2
-:102D30006F6469630A0000006F6E652073686F74CA
-:102D40000A00000063757272656E74207469636BAB
-:102D50003A3078253038780A000000001CB5FDF7BD
-:102D6000F7FEFEF75AFFFEF779FD0A211420CDE9A0
-:102D700000014FF4806309A20B490CA001F073F825
-:102D80000D49086010B101F06BF902E00BA000F0F2
-:102D900095FC052001F017F9FBE7000048656C6C15
-:102DA0006F2D525400000000111800084C45445F7C
-:102DB0007461736B00000000000000204C45445F0C
-:102DC000746872656164206372656174696F6E20F6
-:102DD0006661696C6564210A0000000010B500F0AE
-:102DE0008FFABDE81040FFF7B9BF000010B518A07A
-:102DF00000F064FC1B4C21781BA000F05FFC2078E5
-:102E0000C00702D01EA000F059FC2078800702D530
-:102E10001EA000F053FC2078000702D51EA000F091
-:102E20004DFC2078C00602D51EA000F047FC20789B
-:102E3000000607D50B480C300168BDE810401CA007
-:102E400000F03CBCBDE810401D4800F037BC00005D
-:102E50006D656D206D616E616765206661756C746E
-:102E60003A0A000028ED00E05343425F43465352C4
-:102E70005F4D4653523A30782530325820000000DA
-:102E80004941434356494F4C2000000044414343CD
-:102E900056494F4C200000004D554E53544B45525F
-:102EA000522000004D53544B455252200000000068
-:102EB0005343422D3E4D4D41523A253038580A0079
-:102EC000A04600082DE9F0478146002500782E46EF
-:102ED00020B11F48DFF87C80046829E0BDE8F04796
-:102EE0000021084600F06CB848462768FDF786FACE
-:102EF000024639464846FDF7A0FAC0B925B93E4614
-:102F00003846FDF77BFA05463946304601E0401C5D
-:102F1000491C03781BB10A780AB19342F7D0801B91
-:102F2000A84200DA054639460BA000F0C7FB0C3476
-:102F3000D8F800008442D7D3002E06D02A46314666
-:102F40004846BDE8F04700F02FBFBDE8F08700001D
-:102F5000140000201800002025730A0038B505462B
-:102F600001E0491E6D1C59B128782028F9D00928A4
-:102F7000F7D06A462846FFF793F818B12C4604E0CC
-:102F8000002038BD009838BD641C2078202801D06E
-:102F90000028F9D100202070294603A000F08EFB04
-:102FA0004FF0FF3038BD000025733A20636F6D6D20
-:102FB000616E64206E6F7420666F756E642E0A00F9
-:102FC00070B50AA000F07AFB0F48104D046805E0C8
-:102FD000D4E900120EA000F071FB0C342868844282
-:102FE000F6D30EA000F06AFB002070BD52542D54A1
-:102FF0006872656164207368656C6C20636F6D6DC9
-:10300000616E64733A0A000014000020180000206A
-:10301000252D313673202D2025730A000A0000006B
-:1030200070B5002315461C461E464AE000F8016BA9
-:103030005B1C0278202A01D0092A01D18B42F5D3EA
-:10304000082C10D321A000F039FB002605E055F82C
-:10305000261026A000F032FB761CA642F7D322A051
-:1030600000F02CFB2FE08B422DD2D2B2222A03D0CB
-:1030700045F82400641C1BE0401C45F824005B1C40
-:10308000641C08E05C2A04D14278222A01D1401C49
-:103090005B1C401C5B1C0278222A01D08B42F1D3BE
-:1030A0008B4210D200F8016B5B1C0AE0401C5B1CD9
-:1030B0000278202A03D0092A01D08B42F6D38B4212
-:1030C00001D28B42B5D3204670BD0000546F6F20F3
-:1030D0006D616E7920617267732021205765206FC2
-:1030E0006E6C79205573653A0A0000002573200044
-:1030F00010B5044602E003A000F0E0FA641EFAD224
-:1031000010BD00002D00000030B5826A4B6800241D
-:103110001A44914211D01378DB070ED1C36A93424F
-:103120000BD0036B934200D10163146053684B6072
-:10313000836A5268CD1A1A449560826A8B681A4471
-:103140008A420ED01378DB070BD1036B8B4200D180
-:1031500002630C604B685360806A4968121A084425
-:10316000826030BD2DE9FF4F9B46DDE90DE50F9CE8
-:10317000A846630601D5454B01E0444B113B9946F7
-:10318000E30601D524F00104E30701D0302300E079
-:1031900020239A460026A3070BD5002A02DA2D2603
-:1031A000524206E0630701D52B2602E0230700D533
-:1031B0002026002322B930228DF8002001230CE0C4
-:1031C000BBF10A0F14D002F00F0C120919F80CC051
-:1031D0000DF803C05B1C002AF2D1AB4200DD1D4696
-:1031E000AEEB050214F0110F4FF0200C08D015E0E3
-:1031F0000A27B2FBF7FC07FB1C2CB2FBF7F2E5E752
-:1032000046B1002A06DD521E04E0884201D280F851
-:1032100000C0401C171EA2F10102F6DC26B1884254
-:1032200000D20670401C521EE40605D508E0884214
-:1032300001D280F800A0401C141EA2F10102F6DCAD
-:1032400030242E466D1E9E420ADD884200D2047054
-:10325000401CF6E7884201D2E55C0570401C00E0A6
-:103260006C461D1EA3F1010308DDB8F1000FF1D17A
-:1032700004E0884201D280F800C0401C131EA2F175
-:103280000102F6DC04B000F003B800007548000845
-:1032900030BCBDE8C08F00F0C5B800001CB51421DB
-:1032A0000A20CDE900014FF480630022034904A005
-:1032B00000F0D9FDBDE81C4000F0D2BEDD2D0008B5
-:1032C0006D61696E0000000070B54843044600F06F
-:1032D00045FA050003D02246002100F08BFA28466B
-:1032E00070BD000070B5044C044D02E020688047BA
-:1032F000241DAC42FAD370BD104A0008184A0008D9
-:1033000070B5044C044D02E020688047241DAC4297
-:10331000FAD370BD184A0008204A000810B5FCF71F
-:10332000A5FF044A5188491C5180BDE81040FCF7B4
-:10333000A1BF0000BC00002010B5FCF797FF0B4CAC
-:103340006188491E09B2618000290ADC0021618080
-:10335000FCF790FF6068002807D0BDE8104000F03F
-:10336000F7BABDE81040FCF785BF10BDBC000020D7
-:1033700010B5040008D0FFF7D1FF204600F074FC20
-:10338000BDE81040FFF7D8BF10BD000000487047EF
-:1033900008090020004870470845002010B5FDF7D7
-:1033A000D7FBFEF73AFCFEF76FFCFDF733FE4FF458
-:1033B0007A71B0FBF1F0FEF717FAFFF793FFFFF712
-:1033C000E9FF0446FFF7E2FF2146BDE8104000F0A8
-:1033D000FFBC08B54FF0FF30009001226946002085
-:1033E000FEF7B4FA0098C0B208BDF8B505460D2046
-:1033F0008DF800000024284600F0CEFC06460DE0C3
-:10340000285D0A2804D1012269460020FEF7E8FA67
-:10341000291901220020FEF7E3FA641CB442EFD31D
-:10342000F8BD000002490148086070470400FA0531
-:103430000CED00E070B530490546283009682C1DB8
-:1034400011B18847002855D02CA0216C00F036F926
-:103450002EA0616A00F032F930A0A16A00F02EF9C6
-:1034600032A0E16A00F02AF934A0216B00F026F9BD
-:1034700036A0616800F022F938A0A16800F01EF9BA
-:103480003AA0E16800F01AF93CA0216900F016F9B1
-:103490003EA0616900F012F940A0A16900F00EF9A8
-:1034A00042A0E16900F00AF944A0216A00F006F99F
-:1034B00046A0616B00F002F948A0A16B00F0FEF895
-:1034C0004AA0E16B00F0FAF82878400706D500F032
-:1034D0009FFD014649A000F0F1F802E04FA000F086
-:1034E000EDF82878C00602D453A000F0E7F8FFF703
-:1034F0006FF9FEE770BD0000240000207073723A7F
-:10350000203078253038780A000000007230303AD8
-:10351000203078253038780A000000007230313AC7
-:10352000203078253038780A000000007230323AB6
-:10353000203078253038780A000000007230333AA5
-:10354000203078253038780A000000007230343A94
-:10355000203078253038780A000000007230353A83
-:10356000203078253038780A000000007230363A72
-:10357000203078253038780A000000007230373A61
-:10358000203078253038780A000000007230383A50
-:10359000203078253038780A000000007230393A3F
-:1035A000203078253038780A000000007231303A37
-:1035B000203078253038780A000000007231313A26
-:1035C000203078253038780A000000007231323A15
-:1035D000203078253038780A00000000206C723ADC
-:1035E000203078253038780A000000002070633AD7
-:1035F000203078253038780A000000006861726455
-:10360000206661756C74206F6E20746872656164E9
-:103610003A2025730D0A0D0A0000000068617264EB
-:10362000206661756C74206F6E2068616E646C65D5
-:10363000720D0A0D0A00000046505520616374693E
-:103640007665210D0A00000070B50546121D22F0B6
-:10365000070044380A4C0646002240F82240521C1B
-:10366000112AFAD3416200218162C1624FF0807257
-:1036700000F134040264016384E82A00316070BD03
-:10368000EFBEADDE10B5FCF7F1FD044A1178491C20
-:103690001170BDE81040FCF7EDBD000040000020B7
-:1036A00010B5FCF7E3FD044A1178491E1170BDE81E
-:1036B0001040FCF7DFBD0000400000200FB47F2168
-:1036C00010B503AB0748029A00F044FE04467F2879
-:1036D00000D97F240348FFF788FE204610BC5DF820
-:1036E00014FB0000880700200268516002680A602D
-:1036F0000160486070470268516002680A600160BA
-:10370000486070470168814201D101207047002064
-:10371000704702460020114600E0401C09689142B3
-:10372000FBD17047D0E900124A60D0E90012116065
-:10373000406000607047D0E900124A60D0E9001292
-:103740001160406000607047D0E900124A60D0E923
-:1037500000121160406000607047000010B5044620
-:10376000FFF7DCFD04482146406800F023FA0446D8
-:10377000FFF7E2FD204610BD4400002010B50346CF
-:10378000102A1DD341EA0304A40719D110C9103A25
-:1037900010C310C9102A10C351F8084B43F8084B46
-:1037A00051F8044C43F8044CF0D202E010C9121F47
-:1037B00010C3042AFAD203E011F8014B03F8014BBD
-:1037C000521EF9D210BD10B5034681420FD28C189B
-:1037D0009C420CD9811803E014F8013D01F8013D29
-:1037E000521EF9D210BD11F8014B03F8014B521EC5
-:1037F000F9D210BD10B50346CCB2042A19D3810703
-:1038000017D1194644EA042343EA034306E008C1FA
-:10381000103A08C141F8083B41F8043C102AF6D29E
-:1038200001E008C1121F042AFBD20B4601E003F895
-:10383000014B521EFBD210BD2DE9F0410F4606464A
-:1038400000F044F80546C068FFF788FF041E17D053
-:103850000021EA68FFF7CEFF26720020607208227E
-:103860003946204600F0A0FAFCF700FD064604F1B8
-:103870000C01281DFFF738FF3046FCF7FBFC204603
-:10388000BDE8F08170B5044600202072FCF7EEFC24
-:10389000054604F10C00FFF745FF2846FCF7EAFC5B
-:1038A0002046BDE87040FFF763BD70B504460020B8
-:1038B0002072FCF7DBFC054604F10C00FFF732FF39
-:1038C0002846BDE87040FCF7D5BC0000074A00213F
-:1038D00002EB01131B78834202D102EB0110704707
-:1038E000491C0429F4DB0020704700007C00002004
-:1038F0002DE9F041054617460E460846FFF7E6FF5C
-:103900000446FFF70BFD211D606800E00068884257
-:10391000FCD1FFF711FD46F08000287208223946DD
-:10392000284600F041FAFCF7A1FC064605F10C011F
-:10393000201DFFF7D9FE3046BDE8F041FCF79ABCE8
-:10394000007A000601D50120704700207047000072
-:10395000F8B5FCF78BFC2B4D07466888D8BBA868E8
-:10396000C8B300266846FEF7E3FB696804462846AC
-:1039700091F8342002F00703032B0ED191F8353073
-:10398000009DAB4202D303D1130701D40C4600E0E3
-:10399000012622F0080281F834208C4222D0009ABD
-:1039A00002700D46446016B1084600F02FF820461C
-:1039B00000F066F894F8340020F00700C01C84F88A
-:1039C00034001148007804F11C01002805F11C00A6
-:1039D00002D0FCF752FC10E0FCF74FFC3846FCF735
-:1039E00049FCF8BD0446084600F04AF8606810F843
-:1039F000341F21F00701C91C01703846BDE8F840AA
-:103A0000FCF738BCBC0000204000002070B5044624
-:103A1000FCF72CFC184B02465868844206D114F877
-:103A2000340F20F00700C01C207020E094F8340010
-:103A3000124920F00700401C84F83400050794F870
-:103A4000355004F1140001EBC50106D54D6828601E
-:103A50004D6845604860016005E00D6868600D686C
-:103A6000056008604160A06B996808439860BDE8F4
-:103A700070401046FCF7FEBBBC0000200808002088
-:103A800070B50546FCF7F2FB05F114040146D4E9D4
-:103A900000024260D4E900021060AC616C6195F8EC
-:103AA0003500084A02EBC0000268824204D1064891
-:103AB000AB6B82689A438260BDE870400846FCF7B1
-:103AC000D9BB000008080020BC0000202DE9F0410F
-:103AD00016460A461F4605460221FFF709FF05F173
-:103AE0001404AC616C61AE836F720020BDE8F0819C
-:103AF0001CB50AA0FFF7E2FD0BA0FFF7DFFD13A145
-:103B000015A0CDE9000101231A46042115A0FFF7F5
-:103B1000D5FD1DA0FFF7D2FD1CBD00000A205C20D2
-:103B20007C202F0A000000002D205254202D202040
-:103B3000202020546872656164204F706572617442
-:103B4000696E672053797374656D0A0030383A35B1
-:103B5000383A3533000000004D617920313420328D
-:103B600030323500202F207C205C20202020202592
-:103B7000642E25642E2564206275696C642025738B
-:103B80002025730A000000002032303036202D201E
-:103B90003230323220436F70797269676874206204
-:103BA000792052542D546872656164207465616D8A
-:103BB0000A000000F0B5E9B3C91C21F003030C2B87
-:103BC00000D20C23426B9A424CD3846A016B091BCE
-:103BD000D61A45E062181578ED073FD155686D1A81
-:103BE0000C3D9D423AD3556803F118076E1A0C3EFE
-:103BF000BE4222D3CD180C352C4420F0010626609D
-:103C00005668C4E9016155606168446B0C34A14297
-:103C100002D0846A21448D60016A0C331944016228
-:103C2000436A8B4200D2416240F001011160016B96
-:103C3000914200E016E008D00DE0111B691A036AFA
-:103C4000ECE7836A4968194401630B78DB0702D00B
-:103C5000C36A9942F5D102F10C00F0BD091D61580B
-:103C60008E42B7D20020F0BD010011D00C39086897
-:103C700020F001000860026B8A4200D90163836A68
-:103C80004A68CB1AD21A036A9A1A0262FFF73CBA40
-:103C9000704700002DE9F04106461346C81C20F08D
-:103CA000030404F13802D01C20F003050B4423F078
-:103CB0000300182830D9A0F1180797422CD3471BCE
-:103CC000382200212046183FFFF794FD32460C2190
-:103CD0002046FFF70DFE04F1140112A081E8A100B7
-:103CE0006763A5622C60606B0C3068600020A86080
-:103CF000A06A6968084444F00101E0620160606BF9
-:103D0000E16A0C304860606BE16A0C308860A06A40
-:103D100020632046BDE8F0811A4604A0FFF7CEFCE0
-:103D20000020F7E7736D616C6C0000006D656D201D
-:103D3000696E69742C206572726F722062656769A2
-:103D40006E206164647265737320307825782C204E
-:103D5000616E6420656E64206164647265737320B3
-:103D6000307825780A0000000FB410B504AA039932
-:103D700000F023FC10BC5DF814FB0000002800DA02
-:103D8000404204490B2801DDC86A704751F8200001
-:103D9000704700004C000020014600E0491C0A78F2
-:103DA000002AFBD1081A704710B5002A07D0034635
-:103DB00011F8014B03F8014B2CB1521EF8D110BD84
-:103DC00003F8011B00E00021521EF9D110BD0000D4
-:103DD0000B46C11C21F0030223F003018A1A10B51F
-:103DE000014603A0FFF756FF0349486010BD0000DD
-:103DF00068656170000000004400002010B5074BAA
-:103E00000022074C5A80104604EBC001401C496058
-:103E100009602028F8DB9A6010BD0000BC0000207B
-:103E20000808002038B56846FEF782F904460648BF
-:103E300044602046FFF724FE032084F8340004F198
-:103E40001C00FCF760FA38BDBC000020044A0020CA
-:103E500002EBC001401C49600960F9D070470000C6
-:103E6000CC00002070472DE9FF478946DDE90C763C
-:103E7000824601461D4690460120FFF7DDFC041EE8
-:103E80000DD02846FFF76AFC60B103968DE8A100CB
-:103E900043464A4651462046FEF778F9204604B08C
-:103EA000BDE8F0872046FFF7EDFC0020F7E70000B3
-:103EB00070B50A4900250C688C420DD0A4F1140598
-:103EC000FCF7D4F9D4E900124A60D4E90012116079
-:103ED00064602460FCF7CEF9284670BD38000020ED
-:103EE000044914300A6850600A6802600860416042
-:103EF0007047000038000020FFF7DAFF0400FBD015
-:103F0000266FFFF71DFD0546012802D12046FFF769
-:103F1000CCFC0EB12046B047002DEDD1A06AFFF7D2
-:103F200027FA2046FFF7AEFCE6E700002DE9F04750
-:103F3000DFF84CA0002486B020264FF01F084FF475
-:103F40008079AAF1780522460EA104A8FFF70CFF9C
-:103F50000AEB0421CDE90019C4EB0410CDE9028677
-:103F600005EBC00007460023084A04A900F010F83A
-:103F7000384600F075F8641CE5D006B0BDE8F0875F
-:103F8000880600207469646C65256400F93E0008A9
-:103F90002DE9FF5F92460EAA0F4692E870010A468D
-:103FA000994683460121FFF7A3FC8DE870014B463B
-:103FB000524639465846FEF7E9F804B000F000B81A
-:103FC00030BCBDE8C09F10B500F081F8BDE81040DE
-:103FD00000F024B870B5044690F8340000F00700F3
-:103FE000022802D04FF0FF3070BDFCF73FF90546C4
-:103FF00004F11400FFF79FFB04F1440000F092F974
-:104000002046FFF703FD2846FCF734F9002070BD79
-:104010000148006870470000C0000020F1B50F485B
-:104020000468FCF723F9064600252046256300F0C6
-:104030002BF804F144006A460021074600F0D4F84A
-:10404000384600F01FF93046FCF714F9FFF780FC02
-:10405000206B801C00D12563206BF8BDC0000020C0
-:1040600010B590F83520012191408163022180F83C
-:104070003410FFF7AFFF0348006808B1FFF768FC92
-:10408000002010BDC000002070B5044690F8340038
-:1040900000F00700012804D0032802D04FF0FF30C1
-:1040A00070BDFCF7E3F805462046FFF7E9FC94F8FD
-:1040B000340020F00700801C84F8340004F1440030
-:1040C00000F030F92846FCF7D5F8002070BD002834
-:1040D00002DA4FF0FF3070474FF47A7190FBF1F243
-:1040E00090FBF1F301FB130000EB40034A43C3EBE9
-:1040F000C0104B1E03EBC00090FBF1F01044704762
-:1041000001480068704700003400002010B5FCF73B
-:10411000ADF804460E480168491C0160FFF778FFBE
-:10412000016C491E016406D02046FCF7A3F8BDE8E7
-:10413000104000F00FB8C16B016410F8341F41F05B
-:10414000080101702046FCF795F8FFF701FCEEE747
-:10415000340000202DE9FC41CDF804D0CDF800D08A
-:10416000FFF7CEFF0646FCF781F805462FE01D4815
-:104170006FF0004104686069143C301A88422BD209
-:104180002046FEF766F8607A810702D420F001002D
-:10419000607204F114010F466846FFF7ACFAD4E9E7
-:1041A00007108847FFF7ACFF06466846FFF7AAFAF4
-:1041B00068B93846FFF7C8FA607A810707D5C107A2
-:1041C00005D020F001006072204600F05BF8054841
-:1041D000FFF798FA0028CAD02846FCF74BF8BDE84C
-:1041E000FC810000CC00002070B515460E46044648
-:1041F000FCF73CF8062E17D2DFE806F00503080CA2
-:10420000111A616A0FE0296861620DE0617A21F09C
-:10421000020102E0617A41F00201617204E0617A18
-:10422000C90700D001212960FCF724F8002070BDE7
-:10423000A16AF8E770B50446FCF718F80546204671
-:10424000FEF707F8607A20F0010060722846FCF75C
-:1042500011F82046FFF729FB002070BD2DE9F84337
-:104260009046DDE908450A461F4606460A21FFF743
-:104270003FFB23463A46414630460095FDF7D6FFC0
-:10428000BDE8F8832DE9F84304464FF00008FBF73A
-:10429000EDFF81462046FDF7DCFF607A20F001004B
-:1042A0006072FFF72DFF616A1D4F4318A362002261
-:1042B0006D4600970CE00668A6EBC2014969994279
-:1042C00004D0C91A6FF0004C614508D345F822604C
-:1042D00007EBC20155F8220049688842EBD11AB1B8
-:1042E00005EB820108304860521CF1D00C49091FCF
-:1042F0000868401C086004F114010098FFF7FBF9FE
-:10430000607A40F0010060724846FBF7B3FFB8F1F5
-:10431000000F01D0FFF71CFB0020BDE8F883000070
-:10432000CC00002070B50446407AC0070ED0FBF7E1
-:104330009DFF05462046FDF78CFF607A20F00100C6
-:1043400060722846FBF796FF002070BD4FF0FF30EB
-:1043500070BD00002DE9FF4F83B0814604460498EC
-:104360001F4609EB00084FF0FF3B4FF0200AA04525
-:1043700003D2C9F1FF30D8460490FAE0252803D0D3
-:1043800044457CD220707AE000250599491C0591AE
-:1043900008782D2811D02B2812D0202813D02328BC
-:1043A00014D0302815D00A785E46303A0A2A13D243
-:1043B00005A800F027F9064618E045F01005E4E7E7
-:1043C00045F00405E1E745F00805DEE745F0200586
-:1043D000DBE745F00105D8E72A2807D1491C0591FC
-:1043E00040CF002E02DA764245F0100505985B4674
-:1043F00001782E2913D1401C05900178A1F13002DB
-:104400000A2A04D205A800F0FDF8034604E02A2990
-:1044100004D1401C059008CF002B00DA0023059A38
-:1044200000201178682901D06C2902D1521C08465D
-:10443000059211784FF00A0C6F297FD00CDC6329AC
-:104440001FD004DC252975D058290DD179E06429C5
-:104450007CD0692908D179E0702960D073292AD0ED
-:10446000752975D078296ED0444501D22520207059
-:104470000598641C0178D1B3444500D22170641CB6
-:1044800074E0E80608D45146761E002E04DD44454B
-:1044900000D22170641CF7E717F8040B444500D2E2
-:1044A0002070514602E0444500D22170641C761E03
-:1044B000002EF8DC5AE002CF01B93CA1002000E058
-:1044C000401CB04202D00A5C002AF9D1002B02DD68
-:1044D000984200DD1846EA060AD452463346761E54
-:1044E000834205DD444500D22270641CF6E74CE0AF
-:1044F000002206E0444501D20B782370491C521C6F
-:10450000641C8242F6DB52463146761E81422DDD26
-:10451000444500D22270641CF6E70FE00AE0701CEC
-:1045200002D1082645F001050096CDE9013504CFFA
-:10453000102316E04445A2D2252023E74FF0080CB3
-:1045400006E045F040054FF0100C01E045F0020593
-:104550006C2801D068281BD004CF0096CDE9013526
-:10456000634641462046FEF7FDFD04460598401C83
-:1045700005900598007800287FF400AF049880B17A
-:10458000002044450BD220700BE0401E0590EDE763
-:1045900037F8040B82B2A807DFD512B2DDE708F8BE
-:1045A000010C07B0A4EB090000F004B8284E554CEC
-:1045B0004C29000030BCBDE8C08F134610B50A4638
-:1045C0004FF0FF31FFF7C6FE10BD002070470020FE
-:1045D0007047002070470020704710B5FBF746FE7B
-:1045E000FEF7DCFEFFF784FAFFF730FCFFF706FC6E
-:1045F000FEF754FEFFF736FCFFF798FCFFF712FCBE
-:10460000002010BD10B5024600206FF02F0407E017
-:104610004B1C1360097800EB800004EB4000084459
-:1046200011680B78303B0A2BF2D310BD0020704785
-:1046300010B518A0FFF742F81A4C21881AA0FFF70E
-:104640003DF82088C00702D01DA0FFF737F820886A
-:10465000800702D51DA0FFF731F82088400702D55A
-:104660001DA0FFF72BF82088000702D51CA0FFF73C
-:1046700025F82088C00502D51BA0FFF71FF8208869
-:10468000800502D51BA0FFF719F8BDE8104004A073
-:10469000FFF714B87573616765206661756C743ACD
-:1046A0000A0000002AED00E05343425F43465352A4
-:1046B0005F554653523A307825303258200000007A
-:1046C000554E444546494E5354522000494E565388
-:1046D0005441544520000000494E565043200000EC
-:1046E0004E4F435020000000554E414C49474E4527
-:1046F0004420000044495642595A45524F20000078
-:1047000010B5FFF7F5F9002010BD4FF04070E1EE55
-:10471000100A7047000000000000000001020304BE
-:1047200006070809A0860100400D0300801A060054
-:1047300000350C0040420F0080841E0000093D003F
-:1047400000127A000024F40000366E010048E801EF
-:10475000006CDC023031323334353637383941427F
-:10476000434445460000010002000100030001002F
-:10477000020001000400010002000100030001002A
-:104780000200010005000100020001000300010019
-:10479000020001000400010002000100030001000A
-:1047A00002000100060001000200010003000100F8
-:1047B00002000100040001000200010003000100EA
-:1047C00002000100050001000200010003000100D9
-:1047D00002000100040001000200010003000100CA
-:1047E00002000100070001000200010003000100B7
-:1047F00002000100040001000200010003000100AA
-:104800000200010005000100020001000300010098
-:104810000200010004000100020001000300010089
-:104820000200010006000100020001000300010077
-:104830000200010004000100020001000300010069
-:104840000200010005000100020001000300010058
-:104850000200010004000100020001000300010049
-:104860000200010030313233343536373839616275
-:104870006364656600303132333435363738394158
-:104880004243444546000000252D2A2E73207072B5
-:104890006920207374617475732020202020207398
-:1048A000702020202020737461636B2073697A6507
-:1048B000206D61782075736564206C656674207462
-:1048C00069636B20206572726F720A004F4B0000A3
-:1048D00045494E56414C000045525346554C4C00FC
-:1048E000454E4F4D454D000045494F004552524FF2
-:1048F00052000000454E4F535953000045494E5455
-:10490000525054004554494D4F55540045554E4B57
-:104910004E4F5700454255535900000045525345EC
-:1049200050545900636C65617200636C656172205C
-:10493000746865207465726D696E616C2073637252
-:1049400065656E0076657273696F6E0073686F7768
-:104950002052542D546872656164207665727369C3
-:104960006F6E20696E666F726D6174696F6E006C38
-:104970006973745F746872656164006C6973742034
-:10498000746872656164006C6973745F73656D004F
-:104990006C6973742073656D6170686F72652069EE
-:1049A0006E2073797374656D006C6973745F7469DC
-:1049B0006D6572006C6973742074696D657220692D
-:1049C0006E2073797374656D006C697374006C6923
-:1049D0007374206F626A656374730068656C70003D
-:1049E00052542D546872656164207368656C6C2044
-:1049F00068656C702E007265626F6F74005265623C
-:104A00006F6F742053797374656D0000D74500088B
-:104A1000CF4500082D460008CB450008C1240008FA
-:104A2000D3450008244900082A49000855230008F6
-:104A3000444900084C490008014700086F49000834
-:104A40007B4900081D2A0008874900089049000892
-:104A5000D9280008A9490008B4490008D92B000842
-:104A6000C9490008CE49000869230008DB4900084D
-:104A7000E0490008C12F0008F6490008FD49000878
-:104A800097320008A44A000800000020D40000006B
-:104A9000C8010008784B0008D4000020944A0000A8
-:104AA000E401000800000000010000001000000008
-:104AB0000000000000093D000000000000000000B0
-:104AC00000000000000000000000000000000000E6
-:104AD000000000000000000000000000380000207E
-:104AE000380000200000000000000000000000006E
-:104AF000CC480008EC48000804490008D8480008E1
-:104B00001C490008E0480008F4480008144900085F
-:104B1000E8480008FC480008D04800080C49000894
-:104B200001000000800000208000002078000000CC
-:104B300002000000900000209000002020000000F3
-:104B40000A000000A0000020A00000202C000000AF
-:104B50000C000000B0000020B00000202800000081
-:104B60000000000000000000000000000000000045
-:084B700000000000000000003D
+:1003B000FFF79CBF53EA020C00F069802DE9F04B77
+:1003C0004FF00006002B1FBFB3FA83F503FA05F4C4
+:1003D00024FA05F65E4012BF1643B2FA82F502FA1D
+:1003E00005F4C5F120051EBF22FA05FC44EA0C0401
+:1003F000203556EA044C4FEA144418BF641C4FF0F1
+:1004000000084FF00009904271EB030C39D300292A
+:1004100019BFB1FA81F701FA07F6B0FA80F700FACE
+:1004200007F6C7F120071EBF20FA07FC46EA0C06B4
+:100430002037B6FBF4FCA7EB0507103F07F01F0BB6
+:10044000CBF120060CFA0BFB2CFA06F644BFB346A0
+:100450000026202FA4BF5E464FF0000B5BEA060C7F
+:1004600008BF4FF0010B19EB0B09ABFB027C48EB0B
+:100470000608C01B06FB02CC0BFB03CC71EB0C0186
+:10048000C1E70B46024641464846BDE8F08B13B52E
+:100490004FF000004FF00001AFF30080BDE81C40BA
+:1004A000704740EA0103024630B59B0710D14FF078
+:1004B000013400E008C208C91D1B9D4315EAC41F92
+:1004C000F8D013F0FF0102F8011B0DD01B0AF8E76A
+:1004D00011F8013B002B02F8013B05D011F8013B5C
+:1004E000002B02F8013BF3D130BD10B5431C02E0F4
+:1004F00010F8011B71B18107FAD14FF0013202C827
+:100500008C1A8C4314EAC211F9D0C01A0A0603D01F
+:10051000C01E10BDC01A10BD0A0401D0801E10BD3F
+:100520000902FCD0401E10BD40EA010370B59B07D4
+:100530002ED14FF00136042A2AD308C810C99D1BBA
+:100540009D43121F15EAC61517D0D8B2E1B2401A62
+:1005500050EA056110D198B2A1B2401A50EA0541A3
+:100560000AD123F07F4024F07F41401A50EA052150
+:1005700002D1180EA0EB146070BDA342DBD018BAF4
+:1005800021BA884201D9012070BD4FF0FF3070BD03
+:100590000AB9002070BD10F8013B11F8014B63B19E
+:1005A000A3420AD1521E08D010F8013B11F8014BAA
+:1005B0001BB1A34201D1521EEDD1181B70BD421ECA
+:1005C00012F8013F002BFBD111F8013B002B02F880
+:1005D000013BF9D17047032A40F2308010F0030C40
+:1005E00000F0158011F8013BBCF1020F624498BF86
+:1005F00011F801CB00F8013B38BF11F8013BA2F123
+:10060000040298BF00F801CB38BF00F8013B11F09D
+:10061000030300F02580083AC0F0088051F8043B3D
+:10062000083A51F804CBA0E80810F5E7121D5CBFAA
+:1006300051F8043B40F8043BAFF30080D20724BFDD
+:1006400011F8013B11F801CB48BF11F8012B24BF71
+:1006500000F8013B00F801CB48BF00F8012B7047C0
+:1006600010B5203AC0F00B80B1E81850203AA0E84D
+:100670001850B1E81850A0E81850BFF4F5AF5FEA81
+:10068000027C24BFB1E81850A0E8185044BF18C934
+:1006900018C0BDE810405FEA827C24BF51F8043BDB
+:1006A00040F8043B08BF7047D20728BF31F8023B2F
+:1006B00048BF11F8012B28BF20F8023B48BF00F8C3
+:1006C000012B70474FF000020429C0F0128010F097
+:1006D000030C00F01B80CCF1040CBCF1020F18BF1E
+:1006E00000F8012BA8BF20F8022BA1EB0C0100F0B1
+:1006F0000DB85FEAC17C24BF00F8012B00F8012B84
+:1007000048BF00F8012B70474FF0000200B51346B8
+:1007100094469646203922BFA0E80C50A0E80C5021
+:10072000B1F12001BFF4F7AF090728BFA0E80C50D2
+:1007300048BF0CC05DF804EB890028BF40F8042BCB
+:1007400008BF704748BF20F8022B11F0804F18BF38
+:1007500000F8012B704710B5044610F0030F08BFD6
+:1007600011F0030F40F015804FF0013E121FC0F250
+:100770000E8051F8043BA3EB0E0C2CEA030C1CEA90
+:10078000CE1C08BF40F8043BF0D0A1F1040102F1F7
+:100790000402521E08DB11F8013B002B00F8013B5C
+:1007A000F7D11146FFF78EFF204610BD4FF0013CF8
+:1007B00050F8042B51F8043B9A4221D1A2EB0C03D0
+:1007C000934313EACC1317D150F8042B51F8043B90
+:1007D0009A4215D1A2EB0C03934313EACC130BD12D
+:1007E00050F8042B51F8043B9A4209D1A2EB0C03B8
+:1007F000934313EACC13DBD04FF00000704700BFE7
+:10080000D01A01BAB1FA81F101F0180122FA01F00F
+:10081000CB40C1F12001DBB2C0B2C01A2CFA01F307
+:10082000D11A914311EAC311E6D17047704770475E
+:100830007047000000487047D84600207546FFF713
+:10084000F9FFAE4605006946534620F0070085468D
+:1008500018B020B5FFF7F8FCBDE820404FF00006C7
+:100860004FF000074FF000084FF0000B21F0070198
+:10087000AC46ACE8C009ACE8C009ACE8C009ACE8DB
+:10088000C0098D46704710B50446AFF3008020467E
+:10089000BDE81040FFF7C3BC01491820ABBEFEE71E
+:1008A00026000200704710B505F025FB002010BDA2
+:1008B000FEE70000014800F06BB800005C02002079
+:1008C00030B590F8444004F01C050124AC40056CA0
+:1008D0006C60046863608368102B036803D09960C0
+:1008E0000068C26030BD9A600068C16030BD70476A
+:1008F00072B6FEE710B590F825100022022905D047
+:100900000421C16380F82420012010BD01680B6818
+:1009100023F00E030B6001680B6823F001030B60EA
+:1009200090F84410012401F01C0304FA03F1036C55
+:10093000596080F8254080F82420104610BD10B57D
+:1009400090F825100024022903D00421C16301245A
+:100950001AE001680A6822F00E020A6001680A685B
+:1009600022F001020A6090F84410012301F01C02F9
+:1009700003FA02F1026C516080F82530002180F802
+:100980002410816B01B18847204610BDC06B7047B1
+:10099000F0B4016C0B6801680A6890F844400425C3
+:1009A00004F01C0405FA04F61E4211D056070FD5B8
+:1009B0000A68920603D40A6822F004020A6090F8DA
+:1009C000441001F01C018D40016C4D60016B1DE075
+:1009D000022606FA04F71F424FF0000C4FF0010503
+:1009E00018D0970716D50A68920605D40A6822F02F
+:1009F0000A020A6080F8255090F8441001F01C01AA
+:100A00008E40016C4E6080F824C0C16A00291AD063
+:100A1000F0BC08470826A6401E4214D0120712D583
+:100A20000A6822F00E020A6090F84410026C01F08D
+:100A30001C0105FA01F15160C56380F8255080F86A
+:100A400024C0416BE2E7F0BC704700002DE9F041A3
+:100A500004007CD081492068814D884235D07F498F
+:100A60001431884231D07D49283188422DD07B49CC
+:100A70003C31884229D079495031884225D0774984
+:100A80006431884221D07549783188421DD0A8420E
+:100A90001BD073491431884217D0714928318842DC
+:100AA00013D06F493C3188420FD06D495031884294
+:100AB0000BD06B496431884207D06949783188424C
+:100AC00003D0A52167A003F02CF8A0684FF480465E
+:100AD00038B1102805D0B04203D0A62161A003F0A0
+:100AE00020F8E068402804D018B1A7215DA003F0E9
+:100AF00018F82069802804D018B1A82159A003F063
+:100B000010F8606948B1B0F5807F06D0B0F5007F7D
+:100B100003D0A92153A003F004F8A06948B1B0F5AF
+:100B2000806F06D0B0F5006F03D0AA214DA002F06F
+:100B3000F8FFE06928B1202803D0AB2149A002F0DA
+:100B4000F0FF206A70B1B0F5805F0BD000E02CE0C0
+:100B5000B0F5005F06D0B0F5405F03D0AC2141A0F6
+:100B600002F0DFFF606888B101280FD002280DD0A5
+:100B700003280BD0042809D0052807D0062805D063
+:100B8000072803D0AE2137A002F0CBFF33492068FD
+:100B900014220839A8420BD2304B5B420344B3FB0A
+:100BA000F2F29200C4E910120CE00120BDE8F081DD
+:100BB0002B4B5B420344B3FBF2F292006264284A7F
+:100BC000083A2264022284F82520036847F6F0726E
+:100BD0009343D4E902252A43D4E904573D432A43E9
+:100BE000A5692A43E5692A43256A2A431A43026014
+:100BF000A068B04229D0206C0F22884212D151F84F
+:100C0000A80F94F8443003F01C039A409043086006
+:100C100094F84420606802F01C0290400A68104377
+:100C2000086012E00E48A030016894F8443003F0E8
+:100C30001C039A409143016094F84420616802F0DB
+:100C40001C0291400268114301600020E063012111
+:100C500084F8251084F82400A8E70000080002406A
+:100C6000080402402E2E2F447269766572732F534A
+:100C7000544D33324C3478785F48414C5F4472694C
+:100C80007665722F5372632F73746D33326C3478C0
+:100C9000785F68616C5F646D612E63002DE9F041DF
+:100CA000884604460025581E4FF6FF711E4617461B
+:100CB000884204D340F2DF111DA002F032FF94F805
+:100CC000240001280DD0012084F8240094F8251078
+:100CD0000020012907D084F8240002252846BDE819
+:100CE000F0810220FBE7022184F82510E0632068F0
+:100CF000016821F00101016033463A464146204631
+:100D0000FFF7DEFD206B00282068016802D041F06B
+:100D10000E0106E021F0040101602068016841F045
+:100D20000A0101602068016841F001010160D5E716
+:100D30002E2E2F447269766572732F53544D3332C1
+:100D40004C3478785F48414C5F4472697665722F05
+:100D50005372632F73746D33326C3478785F6861CB
+:100D60006C5F646D612E63002DE9F84F0026DFF89B
+:100D700048A2DFF848B20D460446B0F1904F10D0BB
+:100D800054450ED05C450CD08D48844209D08D4826
+:100D9000844206D08C48844203D0AA218BA002F062
+:100DA000C0FE28680104090C01D0000C03D0AB215F
+:100DB00086A002F0B6FE68684FF00309002821D033
+:100DC0000128FCD01128FAD00228F8D01228F6D039
+:100DD000B0F5881FF3D0B0F5041FF0D0B0F5441F74
+:100DE000EDD0B0F5901FEAD0B0F5081FE7D0B0F510
+:100DF000481FE4D00328E2D00B28E0D0AC2173A038
+:100E000002F08FFED1E0012000FA06F817EA080789
+:100E10007ED0287900F00300012801D002281DD1DE
+:100E2000E86848B1012807D0022805D0032803D07C
+:100E3000BB2166A002F075FEA168700009FA00F2FD
+:100E40009143EA6882400A43A2606068297920EAF7
+:100E50000800C1F30011B140014361602879C0432B
+:100E6000800712D0A86838B1012805D0022803D025
+:100E7000DC2156A002F055FEE168700009FA00F28C
+:100E80009143AA6882400A43E260287900F0030097
+:100E9000022827D1B4F1904F10D054450ED05C45B4
+:100EA0000CD04748844209D04648844206D0464880
+:100EB000844203D0E82145A002F033FE28690F28C0
+:100EC00003D9E92141A002F02CFEF00804EB8001D7
+:100ED0000A6A7007C00E0F2383409A432B69834030
+:100EE00013430B622168700009FA00F291432A79DA
+:100EF00002F0030282400A432260686810F4403F17
+:100F000052D04148016E41F001010166006E00E0DF
+:100F10004AE000F0010000903C4826F003010A1866
+:100F20009368B007010F0F2088408343B4F1904FBE
+:100F300003D0544503D1012010E000200EE05C45B1
+:100F400001D102200AE01E48844201D1032005E0BD
+:100F50001C48844201D1042000E007208840184347
+:100F600090602B4908686A68B843D20200D53843BC
+:100F700008602749091D08686A68B843920200D5CD
+:100F8000384308602249091F08686A68B843920319
+:100F900000D5384308601E49083908686A68B843B4
+:100FA000D20300D538430860761C2F6837FA06F064
+:100FB0007FF429AF00F02EB8000400480008004874
+:100FC000000C004800100048001C00482E2E2F4442
+:100FD0007269766572732F53544D33324C3478787E
+:100FE0005F48414C5F4472697665722F5372632F7C
+:100FF00073746D33326C3478785F68616C5F6770DE
+:10100000696F2E63000000000010024000000140E4
+:101010000804014018BCBDE8E08F000070B50C006A
+:10102000054604D14FF4E37105A002F07AFD696929
+:1010300024EA0100214040EA0140A86170BD00009F
+:101040002E2E2F447269766572732F53544D3332AE
+:101050004C3478785F48414C5F4472697665722FF2
+:101060005372632F73746D33326C3478785F6861B8
+:101070006C5F6770696F2E630000000070B51546E5
+:101080000C00064604D14FF4D77107A002F049FDC9
+:1010900045B1012D04D040F2AF1103A002F041FD93
+:1010A000B46170BDB46270BD2E2E2F447269766536
+:1010B00072732F53544D33324C3478785F48414C1F
+:1010C0005F4472697665722F5372632F73746D3348
+:1010D000326C3478785F68616C5F6770696F2E631B
+:1010E00000000000014880687047000004000020F4
+:1010F00010B50024032000F0C3F8002000F008F829
+:1011000008B1012401E000F025F8204610BD0000E0
+:1011100070B50E4E05460024307898B14FF47A71C0
+:10112000B1FBF0F00A490968B1FBF0F001F0D6F824
+:1011300040B9102D06D200222946501E00F052F868
+:10114000756000E00124204670BD0000040000200E
+:1011500010000020094808B5016E41F00101016648
+:10116000016E01F001010091816D41F080518165B6
+:10117000806D00F08050009008BD0000001002401B
+:1011800010B5040003D5D22107A002F0CAFC002C40
+:1011900009DB04F01F01012088406109890001F189
+:1011A000E021C1F8000110BD2E2E2F447269766532
+:1011B00072732F53544D33324C3478785F48414C1E
+:1011C0005F4472697665722F5372632F73746D3347
+:1011D000326C3478785F68616C5F636F72746578C5
+:1011E0002E63000070B514460D460646102A03D340
+:1011F000BE2113A002F095FC102D03D3BF2110A037
+:1012000002F08FFC1D480068C0F30223C3F1070001
+:10121000042800D90420191D072901D2002300E069
+:10122000DB1E012202FA00F1491E294099409A4032
+:10123000521E22403046BDE87040114302F059BBB7
+:101240002E2E2F447269766572732F53544D3332AC
+:101250004C3478785F48414C5F4472697665722FF0
+:101260005372632F73746D33326C3478785F6861B6
+:101270006C5F636F727465782E6300000CED00E0A4
+:1012800010B5044607280BD0062C09D0052C07D032
+:10129000042C05D0032C03D0A62108A002F041FCA9
+:1012A000154A04F0070110684FF6FF03184040EAA2
+:1012B000012012490843106010BD00002E2E2F445B
+:1012C0007269766572732F53544D33324C3478788B
+:1012D0005F48414C5F4472697665722F5372632F89
+:1012E00073746D33326C3478785F68616C5F636FF0
+:1012F000727465782E6300000CED00E00000FA05C2
+:1013000010B51B4CB0F5007F13D0B0F5806F03D043
+:10131000A72118A002F005FC2068C0F34120022894
+:1013200005D0206820F4C06040F480602060002078
+:1013300010BD2068C0F341200128F8D0206820F4B7
+:10134000C06040F4007020601948322100684843B2
+:101350001849B0FBF1F0401C00E0401E61694905EE
+:1013600001D50028F9D160694005E0D5032010BD02
+:10137000007000402E2E2F447269766572732F53D1
+:10138000544D33324C3478785F48414C5F44726935
+:101390007665722F5372632F73746D33326C3478A9
+:1013A000785F68616C5F7077725F65782E630000AC
+:1013B0001000002040420F000248006800F4C060A6
+:1013C00070470000007000402DE9F84F04460025EA
+:1013D0000068F2492F46084202D0C943084203D0B0
+:1013E000C921EFA002F09DFB2088FC4E000521D50D
+:1013F000606C4FF400084FF4400938B1404505D007
+:10140000484503D0D121E6A002F08BFB606C50B1BF
+:10141000404503D048453BD001250AE0F06840F440
+:101420008030F06034E00021201D01F0FFFA05005B
+:101430002ED02F462068800376D5A06D4FF000098E
+:1014400068B1B0F5807F0AD0B0F5007F07D0B0F565
+:10145000407F04D04FF4A271D1A002F062FBB06DC6
+:10146000C00009D4B06D40F08050B065B06D4FF051
+:10147000010900F080500090DFF864A3DAF8001052
+:1014800041F48071CAF80010FFF72CFE804610E08E
+:10149000D6F88800616C20F440000843C6F8880044
+:1014A000C8E7FFF71FFEA0EB0800022801D90325BB
+:1014B00032E0DAF80000C005F3D56DBBD6F8900035
+:1014C00010F4407014D0A16D814211D0D6F8900074
+:1014D000D6F8901020F4407041F48031C6F8901096
+:1014E000D6F8901021F48031C6F89010C6F890001C
+:1014F000C0077DD0FFF7F6FD804641F2883A05E04F
+:10150000FFF7F0FDA0EB08015145D0D8D6F89000C8
+:101510008007F5D5002DECD02F46B9F1000F03D090
+:10152000B06D20F08050B0652078C00714D0206ADC
+:1015300050B1012808D0032806D0022804D040F278
+:10154000991197A002F0EDFAD6F88800216A20F0F0
+:1015500003000843C6F888002078800714D5606A25
+:1015600050B1042808D00C2806D0082804D040F236
+:10157000A3118BA002F0D5FAD6F88800616A20F09A
+:101580000C000843C6F888002078400714D5A06AEC
+:1015900050B1102808D0302806D0202804D040F2BE
+:1015A000AF117FA002F0BDFAD6F88800A16A20F042
+:1015B00030000843C6F888002078800617D5E06A16
+:1015C00068B1B0F5806F0AD0B0F5406F07D0B0F5C4
+:1015D000006F04D040F2D71171A002F0A2FAD6F841
+:1015E0008800E16A20F440600843C6F8880000E003
+:1015F000A3E02088800517D5E06B68B1B0F5802F97
+:101600000AD0B0F5002F07D0B0F5402F04D04FF42A
+:10161000F07163A002F085FAD6F88800E16B20F43F
+:1016200040200843C6F888002088400517D5206C64
+:1016300068B1B0F5801F0AD0B0F5001F07D0B0F533
+:10164000401F04D040F2E71155A002F06AFAD6F824
+:101650008800216C20F440100843C6F888002078E8
+:10166000400614D5206B50B1B0F5805F07D0B0F5BF
+:10167000005F04D040F2EF1149A002F052FAD6F810
+:101680008800216B20F440500843C6F88800207879
+:10169000000614D5606B50B1B0F5804F07D0B0F59F
+:1016A000004F04D040F2FB113DA002F03AFAD6F808
+:1016B0008800616B20F440400843C6F88800208809
+:1016C000C00514D5A06B50B1B0F5803F07D0B0F580
+:1016D000003F04D040F2072131A002F022FAD6F8F0
+:1016E0008800A16B20F440300843C6F888002068C9
+:1016F0004FF0406900034FF080654FF000682DD532
+:10170000A06C50B1A84208D0404506D0484504D04E
+:1017100040F2412122A002F004FAD6F88800A16C20
+:1017200020F040600843C6F88800A06C40450DD109
+:10173000F06840F48010F06010E0D6F89000A16DE1
+:1017400020F440700843C6F89000E6E6A84205D1B0
+:101750000121201D01F06AF900B10746206840030D
+:1017600048D5E06C50B1A84208D0404506D0484565
+:1017700004D040F266210AA002F0D3F9D6F888001E
+:10178000E16C20F040600843C6F88800E06C4045FA
+:1017900028D1F06840F48010F0602BE0E7CF0E0015
+:1017A0002E2E2F447269766572732F53544D333247
+:1017B0004C3478785F48414C5F4472697665722F8B
+:1017C0005372632F73746D33326C3478785F686151
+:1017D0006C5F7263635F65782E63000000100240E7
+:1017E00000700040A84205D10121201D01F01EF922
+:1017F00000B10746208840041FD5206D4FF080556A
+:1018000050B1A84208D0B0F1405F05D040F2862127
+:10181000AFF2740002F085F9D6F88800216D20F04F
+:1018200040500843C6F88800206DA84205D1022127
+:10183000201D01F0FBF800B107462088000411D5F7
+:10184000606D40B1B0F1804F05D040F2B621AFF2EB
+:10185000B00002F066F956F8880F616D20F0804004
+:1018600008433060384600F000B818BCBDE8E08F8F
+:101870002DE9F0470D46040077D02068401E0E2861
+:1018800004D940F259417BA002F04BF965B1012D1A
+:101890000AD0022D08D0032D06D0042D04D040F22A
+:1018A0005A4174A002F03DF9DFF80082D8F8000038
+:1018B00000F00700A8420CD2D8F8001021F0070170
+:1018C0002943C8F80010D8F8000000F00700A8422B
+:1018D0004BD12078764E800721D5A068A0B1802812
+:1018E00012D0902810D0A0280ED0B0280CD0C0283C
+:1018F0000AD0D02808D0E02806D0F02804D040F242
+:1019000072415CA002F00DF9A068B16801F0F0012D
+:10191000884204D9B16821F0F0010143B160207818
+:10192000C0073BD0606838B301280ED0022820D011
+:1019300003281BD040F27D414EA002F0F2F860680F
+:10194000032813D0022814D0B0B130684005002815
+:1019500043DAB068616820F003000843B060FFF725
+:10196000C1FB074641F2883911E036E0306880015A
+:10197000EDE730688003EAE730688007E7E7FFF7C4
+:10198000B1FBC11B494502D90320BDE8F087B0680F
+:10199000616800F00C00B0EB810FF0D12078800777
+:1019A0000AD5A068B16801F0F001884204D2B1689C
+:1019B00021F0F0010143B160D8F80010404601F079
+:1019C0000701A9420BD9016821F0070129430160F1
+:1019D000006800F00700A84201D00120D5E7207878
+:1019E0004FF4806540074FF4A0674FF4C0684FF490
+:1019F000E06914D5E06860B1A8420AD0B84208D0C6
+:101A0000404506D0484504D040F2F54119A002F007
+:101A100088F8B068E16820F4E0600843B06020789E
+:101A2000000715D5206960B1A8420AD0B84208D095
+:101A3000404506D0484504D040F2FC410DA002F0DC
+:101A400070F8B068216920F4605040EAC100B060CD
+:101A500000F060F8B168174AC1F30311515C01F05E
+:101A60001F01C8401449086014480068BDE8F047E9
+:101A7000FFF74EBB2E2E2F447269766572732F537B
+:101A8000544D33324C3478785F48414C5F4472692E
+:101A90007665722F5372632F73746D33326C3478A2
+:101AA000785F68616C5F7263632E630000200240A0
+:101AB00000100240306000081000002008000020E4
+:101AC00001480068704700001000002005480649E2
+:101AD00000688968054AC1F30221515C01F01F01C9
+:101AE000C8407047100000200010024070600008DD
+:101AF0000548064900688968054AC1F3C221515C5E
+:101B000001F01F01C8407047100000200010024083
+:101B10007060000870B5254B002210469968DC689B
+:101B200011F00C0104F00306214C224D08D00C29C1
+:101B300004D0042931D0082931D010E0012E10D171
+:101B40001A68120704D4D3F89420C2F3032202E0E7
+:101B50001A68C2F30312184E56F82220D9B10C2984
+:101B600018D1D86800F0030002281AD003281AD030
+:101B70001046D968DA68C1F30211C2F30622424363
+:101B8000491CB2FBF1F0D968C1F34161491C49001D
+:101B9000B0FBF1F070BD104670BD204670BD284608
+:101BA00070BD2046E5E72846E3E70000001002404C
+:101BB0000024F400001BB700406000082DE9F84342
+:101BC00004007CD0206830B1800904D04FF4D1717A
+:101BD000F1A001F0A6FFFE4EB06800F00C05F06821
+:101BE00000F003072078C0066AD5A06930B101284B
+:101BF00004D040F2AB11E8A001F093FFE069FF28A8
+:101C000004D94FF4D671E4A001F08BFF206AD0B163
+:101C1000102818D0202816D0302814D0402812D0F0
+:101C2000502810D060280ED070280CD080280AD000
+:101C3000902808D0A02806D0B02804D040F2AD11DA
+:101C4000D5A001F06EFF75B10C2D01D1012F0AD086
+:101C5000A069002830687AD040F001003060FFF7BA
+:101C600041FA80465DE03068800702D5A06900280F
+:101C7000A7D0216A3068000703D5306800F0F00073
+:101C800004E0D6F89400F02202EA1010814218D93C
+:101C9000084600F0D3FF002811D1306840F008005A
+:101CA00030603068216A20F0F000084330607068CE
+:101CB000E16920F47F4040EA0120706018E0EDE027
+:101CC00055E0306840F0080030603068216A20F04C
+:101CD000F000084330607068E16920F47F4040EA1A
+:101CE0000120706025B9206A00F0A8FF0028D3D138
+:101CF000FFF710FFB168B74AC1F30311515C01F05F
+:101D00001F01C840B4490860B4480068FFF700FAF2
+:101D1000002870D12BE0FFF7E5F9A0EB08000228BE
+:101D20006AD830688007F6D5306840F00800306027
+:101D30003068216A20F0F000084330607068E16983
+:101D400020F47F4040EA0120706010E0FFE720F0BF
+:101D500001003060FFF7C6F9804605E0FFF7C2F9E1
+:101D6000A0EB08000228DBD830688007F6D4207882
+:101D7000C0074FD060684FF480384FF4A02940B1BD
+:101D8000404506D0484504D040F2192182A001F018
+:101D9000C8FE082D0AD00C2D01D1032F06D0606893
+:101DA00040450AD1306840F4803013E03068800349
+:101DB00030D56068002871D02CE04845306803D1E8
+:101DC00040F480203060EDE720F4803030603068EF
+:101DD00020F480203060606878B1FFF783F9804696
+:101DE00005E0FFF77FF9A0EB0800642898D8306879
+:101DF0008003F6D50EE05EE25CE2FFF773F9804601
+:101E000005E0FFF76FF9A0EB0800642888D8306878
+:101E10008003F6D42078800749D5E06838B1B0F562
+:101E2000807F04D04FF413715BA001F07AFE20692B
+:101E30001F2804D940F24D2157A001F072FE042D55
+:101E40000ED00C2D01D1022F0AD0E0680028306896
+:101E50001DD040F480703060FFF744F907460BE076
+:101E6000306840050BD5E0680028A4D007E0FFF7F4
+:101E700039F9C01B0228B9D830684005F7D5706819
+:101E8000217C20F0F85040EA016070600FE020F4FF
+:101E900080703060FFF726F9074605E091E1FFF713
+:101EA00021F9C01B0228A1D830684005F7D420785A
+:101EB000000731D56069E0B1012806D040F28D21DC
+:101EC00035A001F02EFE606998B1D6F8940040F07C
+:101ED0000100C6F89400FFF705F9074604E0FFF794
+:101EE00001F9C01B022891D8D6F894008007F6D5D6
+:101EF00012E0D6F8940020F00100C6F89400FFF735
+:101F0000F1F8074604E0FFF7EDF8C01B0228B2D84D
+:101F1000D6F894008007F6D4207840073BD5A06817
+:101F20004FF0000840B1012806D0052804D04FF436
+:101F3000387119A001F0F5FDB06DC00009D4B06D85
+:101F400040F08050B065B06D4FF0010800F0805057
+:101F5000009023480168C90511D40168814641F405
+:101F600080710160FFF7BEF8074604E0FFF7BAF89A
+:101F7000C01B022897D8D9F80000C005F6D5A06884
+:101F800001283DD00528D6F890003ED020F0010071
+:101F9000C6F8900026E05BE02E2E2F44726976652D
+:101FA00072732F53544D33324C3478785F48414C20
+:101FB0005F4472697665722F5372632F73746D3349
+:101FC000326C3478785F68616C5F7263632E630093
+:101FD00000100240306000081000002008000020BF
+:101FE00000700040D6F8900020F00400C6F8900081
+:101FF000A06841F28839B8B1FFF774F807460EE0DF
+:10200000D6F8900040F00100F0E740F00400C6F878
+:102010009000F5E7FFF766F8C11B4945AAD8D6F846
+:1020200090008007F6D50CE0FFF75CF8074604E067
+:10203000FFF758F8C11B49459CD8D6F89000800797
+:10204000F6D4B8F1000F03D0B06D20F08050B06529
+:102050002078800632D5606AE8B1012807D040F2C6
+:102060004531AFF2CC0001F05CFD606A98B1D6F862
+:10207000980040F00100C6F89800FFF733F80746D3
+:1020800004E0FFF72FF8C01B0228C7D8D6F8980045
+:102090008007F6D512E0D6F8980020F00100C6F8C7
+:1020A0009800FFF71FF8074604E0FFF71BF8C01B76
+:1020B0000228B3D8D6F898008007F6D4A06A002882
+:1020C0007ED001280CD0022814D040F26E31AFF23D
+:1020D000381001F026FDA06A0028F1D0022809D0AE
+:1020E0000C2D6ED0306820F080703060FEF7FAFF63
+:1020F0000446E2E0E06A58B1012809D0022807D07E
+:10210000032805D040F27631AFF2741001F009FDDA
+:10211000206B401E072805D940F27731AFF28810B6
+:1021200001F0FFFC606B08384E2805D94FF45E7152
+:10213000AFF29C1001F0F5FCA06B801E1D2805D9A4
+:1021400040F27A31AFF2B01001F0EBFCE06B022804
+:102150000BD0042809D0062807D0082805D04FF452
+:102160005F71AFF2CC1001F0DCFC206C02280BD0C8
+:10217000042809D0062807D0082805D040F27D3170
+:10218000AFF2EC1001F0CDFCF068E26A00F0030160
+:10219000914229D1216B00F070020901103991425E
+:1021A00022D1626B00F4FE41B1EB022F1CD194F8F6
+:1021B000382000F07841B1EBC26F15D1A18F01E05A
+:1021C00072E083E04908490500F4C002A1F500115E
+:1021D000914209D194F8401000F0C06049084906C6
+:1021E000A1F10071814248D00C2D70D030684001BF
+:1021F0006DD4306820F080703060FEF773FF0546C4
+:1022000004E0FEF76FFF401B022853D830688001BE
+:10221000F7D4F4E90B016FF00F0202EB0111084350
+:10222000218A5204490802EB4151A26841EA022185
+:102230000843217D4FF07E42490802EB416108438B
+:10224000217B40EAC160F168224A11400843F060F6
+:10225000306840F080703060F06840F08070F0606E
+:10226000FEF740FF044604E0FEF73CFF001B022897
+:1022700020D830688001F7D526E03068800123D46B
+:10228000306840F080703060F06840F08070F0603E
+:10229000FEF728FF044604E0FEF724FF001B022897
+:1022A00008D830688001F7D50EE0FEF71BFF001B51
+:1022B000022802D90320BDE8F88330688001F4D4F5
+:1022C000F06805490840F0600020F4E7FFE70120CE
+:1022D000F1E700008C809D01FCFFEEFE10B5401E72
+:1022E000B0F1807F01D3012010BD4FF0E024606188
+:1022F0000F21601701F0FDFA0020A0610720206186
+:10230000002010BD7047704770B50446C06FD4F808
+:102310008060216889684FF01005090618D52128CA
+:1023200016D12068083050E8001F21F0800140E8F5
+:102330000012002AF5D1206F38B1FEF7DBFA20B188
+:10234000206FFEF723FB202821D0204600F0E6FF77
+:1023500020688068400618D5222E16D120680830E3
+:1023600050E8001F21F0400140E80012002AF5D19A
+:10237000606F38B1FEF7BEFA20B1606FFEF706FB62
+:10238000202804D0204600F0A3FF002070BDC4F830
+:102390008450032070BD70472DE9F0410268044667
+:1023A000D0691168976840F60F0318424FF0000596
+:1023B0004FF0020605D183067ED58B067CD5A16E33
+:1023C00033E1DFF894C207F0010301EA0C0C53EA91
+:1023D0000C0C71D05FEAC07C0CD05FEAC15C09D5FF
+:1023E0004FF0010CC2F820C0D4F8842042F0010262
+:1023F000C4F88420820709D5FA0707D0226816623C
+:10240000D4F8842042F00402C4F8842042070AD59C
+:10241000FA0708D0266804223262D4F8842042F0F9
+:102420000202C4F8842002070CD501F020021A43EE
+:1024300008D0236808221A62D4F8842042F00802E7
+:10244000C4F8842002050BD54A0109D523684FF44E
+:1024500000621A62D4F8842042F02002C4F884207A
+:10246000D4F88420002A36D0800605D5880603D506
+:10247000A16E09B120468847D4F884002168896894
+:10248000490602D410F0280F27D0204600F020FF84
+:102490002068806840061BD52068083050E8001F7F
+:1024A00021F0400140E80012002AF5D1606F78B1B8
+:1024B0006A498163606F00E015E0FEF740FA00288A
+:1024C00009D0606F816B00E02046BDE8F04108470D
+:1024D0002046FFF760FFBDE8F0812046FFF75BFF75
+:1024E000C4F88450F7E7D4F860C02023BCF1010F92
+:1024F0007ED15FEAC06C7BD55FEAC16C78D51020D5
+:1025000010622068806840064FD5616F0A68506885
+:102510000004000C3DD0B4F85870874239D9A4F8B3
+:102520005A000868006880062BD4206850E8001F15
+:1025300021F4807140E80012002AF6D120680830AA
+:1025400050E8001F21F0010140E80012002AF5D1F7
+:102550002068083050E8001F21F0400140E80012D8
+:10256000002AF5D1C4F880302566206850E8001FA5
+:1025700021F0100140E80012002AF6D1606FFEF74A
+:10258000B9F96666B4F85800B4F85A10401A81B226
+:1025900007E0B4F8581081429DD1106880069AD5A2
+:1025A00066662046FFF7AEFE95E7B4F85800B4F82B
+:1025B0005A10401A81B2B4F85A0000288BD0002972
+:1025C00089D0206850E8002F22F4907240E800275C
+:1025D000002FF6D12068083050E8002F22F00102C9
+:1025E00040E80027002FF5D1C4F88030256600E0D0
+:1025F0000AE0A566206850E8002F22F0100240E8AB
+:102600000023002BF6D1CBE7C60209D57E0207D501
+:102610004FF4801010622046BDE8F041FFF773BE12
+:10262000020606D50A0604D5E16E00297FF44CAFF8
+:1026300051E74006B8D54806B6D52046016851E8AE
+:10264000002F22F0400241E80024002CF6D1C3679D
+:10265000C56600F055F93EE720010004C9310008C5
+:1026600070B5040012D0A06926490028264A274BDD
+:10267000274D20680CD0884217D0904215D0984240
+:1026800013D0A84211D04FF4A9710BE0012070BD06
+:1026900088420AD0904208D0984206D0A84204D07E
+:1026A00040F257111BA001F03CFAE06F28B900205E
+:1026B00084F87800204600F04BF82420E06720687A
+:1026C000016821F001010160606A10B1204600F04C
+:1026D00025FC204600F02EFE0128D8D02068416855
+:1026E00021F4904141602068816821F02A018160D5
+:1026F0002068016841F0010101602046BDE870409A
+:1027000000F00EBD00380140004400400048004089
+:10271000008000402E2E2F447269766572732F530D
+:10272000544D33324C3478785F48414C5F44726981
+:102730007665722F5372632F73746D33326C3478F5
+:10274000785F68616C5F756172742E6300000000D1
+:10275000F0B59DB00646142117A8FDF7D5FF5C2102
+:102760006846FDF7D1FF25493068884244D10227E9
+:102770000025684600970995FEF726FE08B1FEF78A
+:10278000B7F81F48816D41F400318165816D01F416
+:1027900000311C91C16C41F00101C164C06C17A9EA
+:1027A00000F001001C900C20CDE917070320CDE9B3
+:1027B000195007201B904FF09040FEF7D5FA124CAD
+:1027C00010482060C4E901758020C4E9035020202E
+:1027D0006561C4E9065020462562FEF737F908B165
+:1027E000FEF786F87467002211462620A662FEF7DF
+:1027F000F9FC2620FEF7C4FC1DB0F0BD00440040EB
+:10280000001002406C0002405C02002030B4D0F89E
+:102810008030202B02D0022030BC7047A9B1A2B179
+:10282000002303660A4C0368A3420BD05B681B02BB
+:1028300008D5036853E8004F44F0806443E800453E
+:10284000002DF6D130BC00F005BF0120E4E7000008
+:1028500000800040704770472DE9F8430446C06F80
+:102860001F4615460E46202802D00220BDE8F883F8
+:102870009EB195B10020C4F884002120E067FEF7E6
+:1028800031FCA4F850508146A4F85250A0684FF093
+:102890002008B0F5805F02D003E00120E6E7206960
+:1028A00010B13546002610E000250EE080212046BC
+:1028B00000F020FFB8B9D5B115F8010B21680885E3
+:1028C000B4F85200401EA4F85200B4F852004B462F
+:1028D0004FF0000200970028E8D14FF04001204659
+:1028E00000F008FF40B1C4F87C800320BEE736F852
+:1028F000020BC0F30800E1E7C4F87C800020B5E7D4
+:1029000070470000014608A002F066FB0F4D4FF42F
+:1029100080544FF47A7621462846FEF77FFB3046F6
+:1029200002F0DFFFF7E70000546872656164312050
+:102930007374617274656420776974682070617261
+:10294000616D657465723A2025730A0000040048C1
+:10295000094808B5816C41F001018164806C002256
+:1029600000F00100009011461020FEF73BFCBDE88E
+:1029700008401020FEF704BC0010024030B587B0BC
+:1029800014216846FDF7C0FE1648C16C41F0800175
+:10299000C164C16C01F080010591C16C41F001017D
+:1029A000C164C16C01F001010591C16C41F00201EB
+:1029B000C164C06C0C4D00F002004FF480540590CF
+:1029C000002221462846FEF759FB012100200094F1
+:1029D000CDE90110039169462846FEF7C5F907B015
+:1029E00030BD000000100240000400480D4810B542
+:1029F0000B4901604FF4E1314160002181600C22FC
+:102A0000C160C0E904128161C16101624162FFF7E6
+:102A100027FE002803D0BDE81040FDF769BF10BDB8
+:102A200000440040D4010020FEE7FEE72DE9F0411C
+:102A3000044600688846002550B1012808D00228C5
+:102A400006D0032804D040F6623167A001F069F88F
+:102A50006068401E072804D940F6633162A001F087
+:102A600060F8A06808384E2804D940F664315EA0AA
+:102A700001F057F8A069C10303D4C10201D4C10118
+:102A800002D56849084204D040F6653156A001F0ED
+:102A900048F8654EF06880070FD0F06800F0030139
+:102AA0002068814207D130B1F0686168C0F302103C
+:102AB000401C884220D0012593E02068012809D0DD
+:102AC00002280AD00328F6D13168890309D4316875
+:102AD000490304E03168890701E0316849050029AC
+:102AE000E9DAF16862686FF00F0321F0730103EB1C
+:102AF000021211430143F160306820F080603060C1
+:102B0000FEF7F0FA074604E0FEF7ECFAC01B0228D5
+:102B10005DD830680001F7D4002D62D1B8F1000F04
+:102B200026D0B8F1010F34D0606902280AD00428F9
+:102B300008D0062806D0082804D040F6EE312AA096
+:102B400000F0EFFF207D4FF07E41400801EB406038
+:102B5000A16840EA01203169344A114008433061DC
+:102B6000306840F080603060FEF7BCFA074630E025
+:102B7000E068801E1D2804D940F6B8311AA000F084
+:102B8000D0FFA068217B000240EAC1603169284A79
+:102B9000E3E7206902280AD0042808D0062806D0D6
+:102BA000082804D040F6DC310FA000F0BAFF208ADC
+:102BB0002049400801EB4050A16840EA01203169FA
+:102BC0001D4ACAE7FEF78EFAC01B022801D9032569
+:102BD00007E030680001F5D51DB93069A1690843E7
+:102BE00030612846BDE8F0812E2E2F44726976654B
+:102BF00072732F53544D33324C3478785F48414CC4
+:102C00005F4472697665722F5372632F73746D33EC
+:102C1000326C3478785F68616C5F7263635F65788B
+:102C20002E630000FFFFEEFE00100240FF80FFF960
+:102C3000FF80FF070000E0FFFF809FFFF8B51C4EFC
+:102C400005460024B06DC00002D5FEF7B5FB0DE0CF
+:102C5000B06D40F08050B065B06D00F080500090D5
+:102C6000FEF7AAFBB16D21F08051B165B0F5007F90
+:102C700004D0802D07D94FF003040AE0802D08D935
+:102C8000A02D01D804E001D1022402E0702D00D172
+:102C900001240848016821F0070121430160006810
+:102CA00000F00700A04201D00120F8BD0020F8BDCF
+:102CB000001002400020024010B5EFF311842023E1
+:102CC00083F3118800F004F8E1B281F3118810BD9C
+:102CD0002DE9F0470F461C4904461646087808B906
+:102CE00000F07AFD184904EB440001EBC005B8463A
+:102CF000D5E91B94002760354C4511D9A868071BFE
+:102D0000B74200D3374668683A4601194046FDF796
+:102D100062FCA868F61B3C44B844A04200D10024E1
+:102D2000A9EB0400B04200D206463EB168683246C4
+:102D300001194046FDF74FFC3744344407B12C617C
+:102D40003846BDE8F0870000A40200202DE9F041DC
+:102D500007460B4815460E46007808B900F03CFDC2
+:102D6000EFF31184202080F311882A46314638463B
+:102D700000F008F8E1B281F31188BDE8F0810000AD
+:102D8000A402002070B50E46144900EB400001EB90
+:102D9000C0051446E86A183520B101280FD0022872
+:102DA00005D113E0284600F04BFDA04201D20024DB
+:102DB00011E022463146284600F07AFD0BE0284615
+:102DC00000F03EFDA042F4D20446F2E73146284628
+:102DD00000F041FD0446204670BD0000A402002022
+:102DE00010B502F0DDF802F01FFEBDE8104002F061
+:102DF000E5B810B596B044216846FDF785FC14216E
+:102E000011A8FDF781FC4FF40070FEF779FA08B1C4
+:102E100072B6FEE701200324009000040190022016
+:102E20002821CDE90A04CDE90C410721CDE90E1096
+:102E300010906846FEF7C2FE08B172B6FEE70F209A
+:102E4000CDE911040020139014901590042111A8CD
+:102E5000FEF70EFD002801D072B6FEE716B010BDD9
+:102E600070B5254C2068000704D4D4F89400C0F352
+:102E7000032002E02068C0F30310204951F820101D
+:102E8000A0681F4A10F00C0007D01E4D042806D081
+:102E90001D4E082805D00C2805D011601CE01560D7
+:102EA0001AE0166018E0E06800F00303E068C0F381
+:102EB0000210401C022B19D0032B1AD0B1FBF0F0EA
+:102EC000E168C1F306214143E068C0F34160401C62
+:102ED0004000B1FBF0F01060A0680849C0F3031097
+:102EE0001039085C1168C140116070BDB5FBF0F08D
+:102EF000E6E7B6FBF0F0E3E70010024040600008B0
+:102F0000100000200024F400001BB70002480168F4
+:102F100041F470010160704788ED00E070B504462F
+:102F2000406AFF2804D940F64D516BA000F0F9FD2E
+:102F300094F82400000710D5606B38B1B0F5004F4D
+:102F400004D040F6525164A000F0EBFD20684168C7
+:102F5000626B21F400411143416094F82400C007E2
+:102F600010D0A06A38B1B0F5003F04D040F65951F6
+:102F700059A000F0D6FD20684168A26A21F4003112
+:102F80001143416094F82400800710D5E06A38B1FD
+:102F9000B0F5803F04D04FF456614FA000F0C1FD62
+:102FA00020684168E26A21F480311143416094F85D
+:102FB0002400400710D5206B38B1B0F5802F04D025
+:102FC00040F6675144A000F0ACFD20684168226BD8
+:102FD00021F480211143416094F82400C00610D5EB
+:102FE000A06B38B1B0F5805F04D040F66E513AA0C6
+:102FF00000F097FD20688168A26B21F48051114395
+:10300000816094F82400800610D5E06B38B1B0F5EB
+:10301000005F04D040F675512FA000F082FD2068BB
+:103020008168E26B21F400511143816094F824001F
+:1030300040063AD53749206888420AD03649884246
+:1030400007D03649884204D040F67C5122A000F0D7
+:1030500068FD206C4FF4801530B1A84204D040F6D2
+:103060007D511DA000F05DFD20684168226C21F4B7
+:10307000801111434160206CA84216D1606C68B188
+:10308000B0F5001F0AD0B0F5800F07D0B0F5C00F23
+:1030900004D040F6825110A000F043FD2068416842
+:1030A000626C21F4C0011143416094F824000006D1
+:1030B00010D5A06C38B1B0F5002F04D040F68A517D
+:1030C00005A000F02EFD20684168A26C21F40021CB
+:1030D0001143416070BD00002E2E2F447269766549
+:1030E00072732F53544D33324C3478785F48414CCF
+:1030F0005F4472697665722F5372632F73746D33F8
+:10310000326C3478785F68616C5F756172742E63BD
+:10311000000000000038014000440040004800402A
+:103120002DE9F84300250446C0F88450FDF7DAFF86
+:103130008046206800684FF0200600076FF07E4749
+:1031400012D54346002231042046009700F0D2FAFF
+:1031500050B1206850E8001F21F0800140E80012C3
+:10316000002AF6D1E66721E020680068400722D5F2
+:10317000434600224FF480012046009700F0BAFA3F
+:10318000C8B1206850E8001F21F4907140E8001297
+:10319000002AF6D12068083050E8001F21F0010114
+:1031A00040E80012002AF5D1C4F8806084F8785015
+:1031B0000320BDE8F883E667C4F8806044F8605FE8
+:1031C000656025760020F4E710B5806A0021A0F83C
+:1031D0005A10A0F85210FFF7DEF810BD70B5846ADF
+:1031E000E06FD4F88050216889684FF00006090626
+:1031F00006D5212804D1A4F85260204600F08EF8AC
+:1032000020688068400606D5222D04D1A4F85A60B3
+:10321000204600F05DF8D4F8840040F01000C4F8B7
+:1032200084002046FFF7B7F870BD10B50146806AEC
+:10323000096809684FF0000389062DD4A0F85A30B8
+:10324000016851E8002F22F4807241E80024002C2C
+:10325000F6D10168083151E8002F22F0010241E85F
+:103260000024002CF5D10168083151E8002F22F02C
+:10327000400241E80024002CF5D12021C0F8801044
+:10328000016E012908D1016851E8002F22F01002D7
+:1032900041E80024002CF6D14366016E012902D0DA
+:1032A000FFF7D8FA10BDB0F85810FFF72BF810BD93
+:1032B00010B5806A01214166016E012902D0FFF735
+:1032C000CAFA10BDB0F858104908FFF71BF810BD36
+:1032D000016851E8002F22F4907241E80023002B8E
+:1032E000F6D10168083151E8002F22F0010241E8CF
+:1032F0000023002BF5D1016E012908D1016851E8A6
+:10330000002F22F0100241E80023002BF6D12021EB
+:10331000C0F880100021016681667047016851E89D
+:10332000002F22F0C00241E80023002BF6D120211B
+:10333000C16770472DE9F04704464068AD49002554
+:10334000884204D340F65841ABA000F0EAFBA068E5
+:103350004FF48057B0F1805F07D030B1B84204D04D
+:1033600040F65941A4A000F0DCFBB24E2068711475
+:10337000B042E0684FF4006906D100281AD08842B4
+:1033800018D040F65C4112E0B8420AD048B1B0F51E
+:10339000405F06D0884204D04FF4466196A000F00A
+:1033A000C0FB206A30B1484504D040F6614192A08C
+:1033B00000F0B7FB20694FF4806848B1404507D062
+:1033C000B0F5C06F04D040F664418BA000F0A9FBBB
+:1033D000606930F00C0100D120B940F6654186A04B
+:1033E00000F09FFBA06968B1B0F5807F0AD0B0F50E
+:1033F000007F07D0B0F5407F04D040F666417EA044
+:1034000000F08FFBE0694FF4004730B1B84204D0C0
+:1034100040F6674178A000F084FBA1682069E2696A
+:10342000014360691043014320680268824B1A40DF
+:103430000A43026020684168E26821F44051114368
+:1034400041602168A069B14201D0226A10438A68B4
+:1034500022F4306202438A60784A216878489142B7
+:103460000DD1D0F8880010F0030006D0012842D01A
+:10347000022831D003282ED13FE001202CE0714AF0
+:1034800091420BD1D0F8880010F00C0024D0042811
+:1034900022D008282DD00C281DD12EE06A4A914256
+:1034A0000BD1D0F8880010F0300015D0102822D0B1
+:1034B00020281ED030280ED11FE0B1420BD1D0F809
+:1034C000880010F4406007D0404514D0484510D023
+:1034D000B0F5406F11D010205C4A4FF00008B142A7
+:1034E00030D160B102280DD004280DD0082875D144
+:1034F00026E00220F0E70420EEE70820ECE7FEF7E4
+:10350000E5FA03E0104602E0FEF704FB80B36268D0
+:1035100002EB4201814261D8B0EB023F5ED8010E5E
+:1035200003025008181841EB08010023FCF742FF82
+:10353000474AA0F54071914250D82168C8604EE0DA
+:103540003846E4E7E1694FF6EF76B94229D1092818
+:1035500044D2DFE800F005080B430E434343240048
+:10356000FEF7B4FA07E0FEF7C3FA04E0104603E002
+:1035700035E0FEF7CFFA90B34100606801EB5001EF
+:10358000B1FBF0F0A0F11001B14227D84FF6F07175
+:103590000140C0F3420001432068C1601FE038468B
+:1035A000EAE709281AD2DFE800F005080B190D191F
+:1035B00019192100FEF78AFA06E0FEF799FA03E0EE
+:1035C000104602E0FEF7A6FA48B1616800EB510030
+:1035D000B0FBF1F0A0F11001B14209D90125C4F806
+:1035E00068802846C4F86C80BDE8F0873846ECE770
+:1035F00080B2A2E7819698002E2E2F4472697665DC
+:1036000072732F53544D33324C3478785F48414CA9
+:103610005F4472697665722F5372632F73746D33D2
+:10362000326C3478785F68616C5F756172742E6398
+:103630000000000000800040F369FFEF0038014007
+:103640000010024000440040004800400024F40004
+:10365000FFFC0F0070B54165A0F85820002104461A
+:10366000C0F884102220C4F88000606FD8B11E4BCF
+:10367000C362636F1D481863636F1D485863606FB2
+:1036800013468163606D656F2168024628462431C8
+:10369000FDF704FB38B11020C4F884002020C4F8E2
+:1036A0008000012070BD206940B1206850E8001FF3
+:1036B00041F4807140E80012002AF6D120680830F9
+:1036C00050E8001F41F0010140E80012002AF5D146
+:1036D0002068083050E8001F41F0400140E8001227
+:1036E000002AF5D1002070BD2B320008B13200084D
+:1036F000DD3100082DE9F0471F4690460D4604468F
+:103700004FF00009089E32E0701C30D0FDF7EAFC53
+:10371000C01BB04218D8BEB120680168490726D541
+:10372000802D24D0402D22D0C169C94309070DD472
+:10373000082505622046FFF7CBFDC4F8845084F8C5
+:1037400078900120BDE8F0870320FBE7C069C04303
+:1037500000050CD421684FF4006008622046FFF792
+:10376000B7FD2020C4F8840084F87890ECE7206846
+:10377000C06935EA000004D000204045C4D00020D4
+:10378000E0E70120F9E7000010B5104C2068C1699E
+:10379000C943C90615D4102101622046FEF7B4FDC5
+:1037A000606F006840686423C0F5807082B2084989
+:1037B0002046FFF751F84FF4807205492046FFF785
+:1037C00025F8BDE810400148FEF7E6BDD401002011
+:1037D000D4000020FEE7000010B5124C0320206149
+:1037E000606111A0A06104F1A800E0614FF4806065
+:1037F00020620021A1626162E1620BA0206604F5F3
+:10380000956060661020A0662167E166616709A186
+:10381000E01DFCF746FE08A12046FCF742FE2020F2
+:10382000A07110BDA40200205465726D696E616CB8
+:1038300000000000525454005345474745520000D1
+:103840000269C1688A4203D88068401A104400E0C7
+:10385000501A401E70472DE9F047C4681746894644
+:1038600005464FF000082869A04201D9061B02E076
+:10387000A968201A0E1AA868761E001BB04200D84C
+:103880000646BE4200D33E4668683246204449465A
+:10389000FCF7A1FEA868BF1B3444B044B144A04269
+:1038A00000D10024EC60002FDDD14046BDE8F08758
+:1038B0002DE9F04104468846D4E90207C51BE168BA
+:1038C000606816460844B54206D94146FCF783FEB7
+:1038D000B819E060BDE8F0812A464146FCF77BFE5E
+:1038E000761B08EB050132466068FCF774FEE66063
+:1038F000F0E70907090E002804DB00F1E02080F85A
+:103900000014704700F00F0000F1E02080F8141D53
+:1039100070470000002807D00E4910F0FF0F04D0B8
+:1039200051FA80F00078401C704710F47F4F04D0AB
+:10393000C0F30720085C0930704710F47F0F04D0F3
+:10394000C0F30740085C1130704701EB106000784D
+:1039500019307047786000082DE9F04F89B0934620
+:1039600088460746002500E06D1C785D202803D0BE
+:10397000092801D04545F7D34FF0FF3A4DB316481B
+:103980000026DFF85890046809E02A463946206886
+:10399000FCF7CAFD10B92068405DC0B10C34D9F8FD
+:1039A00000008442F1D3A6B120220021684601F034
+:1039B000AFFB6A464146384600F0C0FF48B1694651
+:1039C000B047CBF80000002009B000F009B8A668A5
+:1039D000E9E75046F8E70000140000201800002036
+:1039E00030BCBDE8C08F000010B5044605488068B3
+:1039F000FFF790FF0449401E51F830102060A1F1FC
+:103A0000140010BDBC000020D809002070B50C487F
+:103A10000468FCF72BFC0546204601F0BFFC04F1CE
+:103A2000440002F095F8042084F83400204601F0A8
+:103A3000E5FE2846FCF71EFCBDE8704001F016BC10
+:103A4000C00000202DE9FC4119460446DDE9083795
+:103A5000DDE90A65143040600060C4E90821C4E96A
+:103A60000A373A462321184601F052FBD4E90A01ED
+:103A70004218D4E908010E4B121F01F073FAE061FD
+:103A800084F835600020C4E90E052564206384F8BD
+:103A9000340020676067009023460190054A19466C
+:103AA00004F1440002F068F80020BDE8FC81000049
+:103AB0000D3A0008B93A000870B50446FCF7D6FB89
+:103AC00005466FF00100206304F1140001F0C1FA13
+:103AD000204601F029FC2846FCF7CCFBBDE87040ED
+:103AE00001F0C4BB10B5029C24F001044472C0E98B
+:103AF00007120021C0E9093100EBC1021432491C50
+:103B0000526012600129F7DB10BD70B50546002434
+:103B100005EBC400143001F0A5FA641C012CF7DB9E
+:103B200070BD704710B51BA001F056FA1C4C2178EF
+:103B30001CA001F051FA2078C00702D01FA001F0AC
+:103B40004BFA2078800702D51FA001F045FA2078B3
+:103B5000400702D51FA001F03FFA2078000702D5E8
+:103B600020A001F039FA2078C00602D520A001F08B
+:103B700033FA2078000607D509480F300168BDE800
+:103B800010401DA001F028BABDE810401EA001F0B1
+:103B900023BA0000627573206661756C743A0A007E
+:103BA00029ED00E05343425F434653525F42465380
+:103BB000523A30782530325820000000494255539F
+:103BC000455252200000000050524543495345528F
+:103BD00052200000494D505245434953455252200E
+:103BE00000000000554E53544B4552522000000037
+:103BF00053544B45525220005343422D3E424641BE
+:103C0000523A253038580A000A00000010B502A0C8
+:103C100001F0E2F9002010BD1B5B324A1B5B48003B
+:103C200010B50C46022811D115A16068FCF7BEFD45
+:103C300000281BD014A16068FCF7B8FD002818D03C
+:103C400013A16068FCF7B2FD002815D011A001F0A7
+:103C5000C3F916A001F0C0F917A001F0BDF91DA02D
+:103C600001F0BAF922A001F0B7F907E000F032FB49
+:103C700004E000F00DFC01E000F08AFA002010BD25
+:103C8000746872656164000074696D65720000009B
+:103C900073656D0055736167653A206C69737420B4
+:103CA0005B6F7074696F6E735D0A00005B6F707498
+:103CB000696F6E735D3A0A00202020207468726577
+:103CC0006164202D206C697374207468726561646E
+:103CD000730A00002020202074696D6572202D2059
+:103CE0006C6973742074696D6572730A000000005A
+:103CF0002020202073656D202D206C697374207343
+:103D0000656D6170686F7265730A00000D4810B5CB
+:103D1000C16891F82110890703D40B49002008706D
+:103D20000EE0816821B180220748FCF714FD03E012
+:103D300006A10548FCF7B5FB06A10348FCF73FFCCC
+:103D4000014810BD140000205C0700206D7368203E
+:103D5000000000003E0000000349C96811F8212F4F
+:103D600060F341020A70704714000020014AC2E962
+:103D700000017047140000207CB516491648FFF773
+:103D8000F5FF7821012000F02DFF144DE860D0B13F
+:103D90000A211520CDE900014FF48063002210496B
+:103DA00010A001F0EEFC044600231A460FA1E868BB
+:103DB00001F01AFB0120FFF7CFFF14B1204601F0FC
+:103DC000DDFD00207CBD0BA001F006F94FF0FF30B7
+:103DD0007CBD0000986300083863000814000020D0
+:103DE0000D3E0008747368656C6C0000736872782F
+:103DF000000000006E6F206D656D6F727920666F38
+:103E000072207368656C6C0A00000000944EF068C4
+:103E100010F8211F41F001010170FFF777FF01F059
+:103E2000DBF8002500F063FF0400FBD41B2C07D057
+:103E3000F06890F82010012907D002290ED017E071
+:103E4000F168012081F82000ECE75B2C02D080F8BB
+:103E500020500DE0022180F82010E3E780F8205088
+:103E6000412CDFD0422CDDD0442C38D0432C42D022
+:103E7000002CD7D0FF2CD5D0092C4DD07F2C70D062
+:103E8000082C6ED00D2C6BD00A2C69D0B0F87410B1
+:103E9000502901D3A0F87450B0F87630B0F87410FF
+:103EA0008B427DD2CA1A00F12201233019441844F2
+:103EB00001F017F9F068B0F8761022300C54F06871
+:103EC00090F82110C90706D0B0F8761022300144CE
+:103ED00064A001F081F8F068B0F876409CE0B0F89A
+:103EE000760000289ED060A001F076F8F06830F8E7
+:103EF000761F491E0EE0B0F87610B0F8742091429B
+:103F000090D22230095C59A001F066F8F06830F8D0
+:103F1000761F491C018085E7002403E052A001F0D0
+:103F20005BF8641CF068B0F87600A042F6DCF46838
+:103F30004FA0223401F050F8204600F051FCFFF76A
+:103F4000E5FE014622464BA001F046F8F06822301B
+:103F5000FCF7CBFAF16821F8740F488062E700E0C3
+:103F60003DE0B0F87620002AD5D0B0F87410521E8B
+:103F7000491E89B293B2A0F87410A0F87630994225
+:103F800024D9CA1A00F1230122301944184401F03F
+:103F9000A8F8F068B0F8741022300D54F06800E012
+:103FA00040E0B0F876102230014434A001F014F85B
+:103FB000F068B0F8764003E02BA001F00DF8641C27
+:103FC000F068B0F87400A042A5DBF5E72DA001F081
+:103FD00003F8F068B0F8741022300D5422E790F81E
+:103FE0002100C00702D022A000F0F6FFF068B0F870
+:103FF0007410223000F040FCFFF788FE00F0ECFF68
+:10400000F06851220021223001F082F8F06822E0AD
+:1040100015A000F0E1FF641CF068B0F87400A04245
+:10402000F6DC0AE022300C54F06890F82100C0075A
+:1040300003D021460DA000F0CFFFF068B0F8741057
+:10404000491C89B2A0F87410B0F87620521CA0F870
+:1040500076205029C2D320F8745F4580E2E6000044
+:1040600014000020257300000800000025630000F4
+:104070000A00000025732573000000000825732046
+:10408000200800000820080010B5124C20688007A6
+:1040900002D511A000F0A0FF2068400011D50D4806
+:1040A000C01E007808B1FFF73DFD0A48001F0078E8
+:1040B00008B100F029FB0748801E008808B101F014
+:1040C00045FF2068002804DABDE8104008A000F091
+:1040D00083BF10BD2CED00E06661696C65642076DD
+:1040E0006563746F722066657463680A000000007F
+:1040F0006465627567206576656E740A000000006D
+:104100002DE9F04104461E4617460D46084601F0CB
+:104110006BF8001D2060257200206760C4E9036011
+:10412000BDE8F0812DE9F04100260D460E61C96819
+:1041300049B1297A39B12F6840B10446FCF796F8A5
+:10414000014636B111E00020BDE8F0813C46012671
+:10415000F4E7A4F10C002A7A007A20F08000904263
+:1041600003D00846FCF786F8EDE768680026246867
+:10417000BC4201D1002404E010C0EA68761CB242BF
+:10418000F5D10846FCF776F820462E61DCE7000002
+:104190002DE9F04190B0002733A4082302AA0221A0
+:1041A0000AA8FFF7ADFF082080460146224631A04D
+:1041B00000F012FF404600F029FC35A000F00CFF93
+:1041C0000AA93846FFF7AEFF0746002643E002A8DB
+:1041D00050F826400C3CFCF749F8217A9DF8302035
+:1041E00021F08001914202D0FCF744F832E0FCF764
+:1041F00041F8606904F11405A84228460BD100F08B
+:1042000016FFA18BCDE9001023460822414626A0C7
+:1042100000F0E2FE1EE000F00AFFA18BCDE90010E5
+:1042200023460822414624A000F0D6FE2C680CE06C
+:10423000A4F11402082124A000F0CEFE2068A842B8
+:1042400002D023A000F0C8FE2468AC42F0D10FA039
+:1042500000F0C2FE761C0E98B042B8DC002FAFD141
+:1042600010B00020BDE8F08173656D6170686F72F9
+:1042700065000000252D2A2E7320762020207375DE
+:104280007370656E64207468726561640A00000072
+:10429000202D2D2D202D2D2D2D2D2D2D2D2D2D2D68
+:1042A0002D2D2D0A00000000252D2A2E2A732025F1
+:1042B0003033642025640A00252D2A2E2A732025F8
+:1042C0003033642025643A00252E2A730000000054
+:1042D0002F0000002DE9F041AEB000263DA40823D8
+:1042E00020AA012128A8FFF70BFF082080460146DD
+:1042F00022463A4800F070FE404600F087FB38A0A6
+:1043000000F06AFE28A93046FFF70CFF064600259C
+:1043100057E020A850F825400C3CFBF7A7FF0746C4
+:10432000207A9DF8A81020F08000884203D03846FB
+:10433000FBF7A0FF44E07822214602A800F0ACFE83
+:104340003846FBF797FF94F8350000902346082283
+:10435000414633A000F040FE94F8340000F007011D
+:10436000012907D0022907D041B1042908D0032927
+:1043700008D00AE02DA006E02FA004E031A002E062
+:1043800033A000E035A000F027FEA76A00E07F1C04
+:1043900038782328FBD0206B01F07EF90146D4E960
+:1043A0000A023B1AD31A64277B43276CCDE90071BC
+:1043B000B3FBF2F3E169401A81182BA000F00CFE68
+:1043C0006D1C2C98A842A4DC002E9BD12EB000209E
+:1043D000BDE8F08174687265616400009C6100084A
+:1043E000202D2D2D20202D2D2D2D2D2D2D202D2D31
+:1043F0002D2D2D2D2D2D2D2D202D2D2D2D2D2D2DFA
+:104400002D2D2D20202D2D2D2D2D2D20202D2D2D10
+:104410002D2D2D2D2D2D2D202D2D2D0A00000000B0
+:10442000252D2A2E2A7320253364200020726561F1
+:1044300064792020000000002073757370656E643D
+:104440000000000020696E69742020200000000038
+:1044500020636C6F73652020000000002072756E71
+:104460006E696E67000000002030782530387820B3
+:1044700030782530387820202020253032642525DA
+:104480002020203078253038782025730A0000005D
+:10449000F0B58FB000262AA4082302AA0A210AA890
+:1044A000FFF72EFE08272246394627A000F094FD8C
+:1044B000384600F0ABFA31A000F08EFD0AA9304674
+:1044C000FFF730FE064600252CE002A850F82540F4
+:1044D0000C3CFBF7CBFE217A9DF8302021F08001C7
+:1044E000914202D0FBF7C6FE1BE0FBF7C3FED4E906
+:1044F0000901CDE900012346082239462BA000F02E
+:104500006BFD607AC00701D02EA000E031A000F062
+:1045100063FD607A800701D532A000E034A000F08E
+:104520005BFD6D1C0E98A842CFDC002EC6D101F0B9
+:1045300075FA014631A000F04FFD0FB00020F0BD2C
+:1045400074696D6572000000252D2A2E732020707D
+:104550006572696F64696320202074696D656F7589
+:104560007420202020616374697661746564202062
+:104570002020206D6F64650A00000000202D2D2D85
+:104580002D2D2D2D2D2D2D202D2D2D2D2D2D2D2D68
+:104590002D2D202D2D2D2D2D2D2D2D2D2D2D202D65
+:1045A0002D2D2D2D2D2D2D2D0A000000252D2A2EEF
+:1045B0002A732030782530387820307825303878C4
+:1045C00020000000616374697661746564202020B6
+:1045D000000000006465616374697661746564203D
+:1045E00000000000706572696F6469630A00000072
+:1045F0006F6E652073686F740A00000063757272D5
+:10460000656E74207469636B3A3078253038780AA7
+:10461000000000001CB5FCF76BFDFEF7EAFBFEF79F
+:10462000ADF9FEF795F9FEF7E1F917480068016862
+:1046300041F0100101604FF4807214491248FEF7F6
+:10464000E5F80A211420CDE900014FF4806310A29F
+:10465000124913A001F095F81449086010B101F057
+:104660008DF902E012A000F0B7FC41F2883001F0B1
+:1046700038F96423252216A10348FEF7EDF805203A
+:1046800001F02FF9FBE70000D4010020D400002046
+:1046900048656C6C6F2D525400000000052900081D
+:1046A0004C45445F7461736B000000000000002003
+:1046B0004C45445F7468726561642063726561741F
+:1046C000696F6E206661696C6564210A00000000F4
+:1046D00048656C6C6F2074686973206D7920626C1A
+:1046E00065206D6F64756C652077616B65207570F2
+:1046F00020636F646500000010B500F08FFABDE81C
+:104700001040FFF787BF000010B518A000F064FC50
+:104710001B4C21781BA000F05FFC2078C00702D062
+:104720001EA000F059FC2078800702D51EA000F0E2
+:1047300053FC2078000702D51EA000F04DFC207825
+:10474000C00602D51EA000F047FC2078000607D561
+:104750000B480C300168BDE810401CA000F03CBCC8
+:10476000BDE810401D4800F037BC00006D656D20AD
+:104770006D616E616765206661756C743A0A000050
+:1047800028ED00E05343425F434653525F4D46538A
+:10479000523A3078253032582000000049414343D6
+:1047A00056494F4C200000004441434356494F4C6A
+:1047B000200000004D554E53544B455252200000EE
+:1047C0004D53544B45525220000000005343422D9C
+:1047D0003E4D4D41523A253038580A00BC5F000822
+:1047E0002DE9F0478146002500782E4620B11F486C
+:1047F000DFF87C80046829E0BDE8F0470021084626
+:1048000000F06CB848462768FBF76FFE0246394651
+:104810004846FBF789FEC0B925B93E463846FBF746
+:1048200064FE05463946304601E0401C491C0378C9
+:104830001BB10A780AB19342F7D0801BA84200DA74
+:10484000054639460BA000F0C7FB0C34D8F8000031
+:104850008442D7D3002E06D02A4631464846BDE8CA
+:10486000F04700F02FBFBDE8F087000014000020E3
+:104870001800002025730A0038B5054601E0491EDE
+:104880006D1C59B128782028F9D00928F7D06A463C
+:104890002846FFF761F818B12C4604E0002038BD27
+:1048A000009838BD641C2078202801D00028F9D158
+:1048B00000202070294603A000F08EFB4FF0FF304F
+:1048C00038BD000025733A20636F6D6D616E642002
+:1048D0006E6F7420666F756E642E0A0070B50AA044
+:1048E00000F07AFB0F48104D046805E0D4E900128F
+:1048F0000EA000F071FB0C3428688442F6D30EA0A1
+:1049000000F06AFB002070BD52542D54687265613E
+:1049100064207368656C6C20636F6D6D616E647389
+:104920003A0A00001400002018000020252D31361E
+:1049300073202D2025730A000A00000070B50023A3
+:1049400015461C461E464AE000F8016B5B1C0278C7
+:10495000202A01D0092A01D18B42F5D3082C10D38B
+:1049600021A000F039FB002605E055F8261026A00E
+:1049700000F032FB761CA642F7D322A000F02CFBFD
+:104980002FE08B422DD2D2B2222A03D045F8240048
+:10499000641C1BE0401C45F824005B1C641C08E000
+:1049A0005C2A04D14278222A01D1401C5B1C401CA5
+:1049B0005B1C0278222A01D08B42F1D38B4210D2A9
+:1049C00000F8016B5B1C0AE0401C5B1C0278202A8B
+:1049D00003D0092A01D08B42F6D38B4201D28B42FD
+:1049E000B5D3204670BD0000546F6F206D616E79A5
+:1049F00020617267732021205765206F6E6C7920CB
+:104A00005573653A0A0000002573200010B504466E
+:104A100002E003A000F0E0FA641EFAD210BD00002C
+:104A20002D00000030B5826A4B6800241A44914280
+:104A300011D01378DB070ED1C36A93420BD0036BFE
+:104A4000934200D10163146053684B60836A5268DB
+:104A5000CD1A1A449560826A8B681A448A420ED035
+:104A60001378DB070BD1036B8B4200D102630C6020
+:104A70004B685360806A4968121A0844826030BDEE
+:104A80002DE9FF4F9B46DDE90DE50F9CA846630627
+:104A900001D5454B01E0444B113B9946E30601D556
+:104AA00024F00104E30701D0302300E020239A46DC
+:104AB0000026A3070BD5002A02DA2D26524206E073
+:104AC000630701D52B2602E0230700D5202600230B
+:104AD00022B930228DF8002001230CE0BBF10A0F2F
+:104AE00014D002F00F0C120919F80CC00DF803C015
+:104AF0005B1C002AF2D1AB4200DD1D46AEEB050285
+:104B000014F0110F4FF0200C08D015E00A27B2FB6B
+:104B1000F7FC07FB1C2CB2FBF7F2E5E746B1002AD5
+:104B200006DD521E04E0884201D280F800C0401C1D
+:104B3000171EA2F10102F6DC26B1884200D20670EF
+:104B4000401C521EE40605D508E0884201D280F8D8
+:104B500000A0401C141EA2F10102F6DC30242E46F7
+:104B60006D1E9E420ADD884200D20470401CF6E7AA
+:104B7000884201D2E55C0570401C00E06C461D1EB9
+:104B8000A3F1010308DDB8F1000FF1D104E0884280
+:104B900001D280F800C0401C131EA2F10102F6DC15
+:104BA00004B000F003B800008961000830BCBDE823
+:104BB000C08F00F0C5B800001CB514210A20CDE953
+:104BC00000014FF480630022034904A000F0D9FDE6
+:104BD000BDE81C4000F0D2BEF94600086D61696E68
+:104BE0000000000070B54843044600F045FA050097
+:104BF00003D02246002100F08BFA284670BD000049
+:104C000070B5044C044D02E020688047241DAC427E
+:104C1000FAD370BD246300082C63000870B5044CFF
+:104C2000044D02E020688047241DAC42FAD370BDD9
+:104C30002C6300083463000810B5FBF717FB044A27
+:104C40005188491C5180BDE81040FBF713BB0000A0
+:104C5000BC00002010B5FBF709FB0B4C6188491E16
+:104C600009B2618000290ADC00216180FBF702FBA8
+:104C70006068002807D0BDE8104000F0F7BABDE832
+:104C80001040FBF7F7BA10BDBC00002010B50400BF
+:104C900008D0FFF7D1FF204600F074FCBDE81040BB
+:104CA000FFF7D8BF10BD000000487047D80A0020A9
+:104CB00000487047D846002010B5FCF719FAFEF7F7
+:104CC00098F8FEF7CDF8FCF7FBFE4FF47A71B0FBD5
+:104CD000F1F0FDF703FBFFF793FFFFF7E9FF044651
+:104CE000FFF7E2FF2146BDE8104000F0FFBC08B529
+:104CF0004FF0FF300090012269460020FDF7DCFFF5
+:104D00000098C0B208BDF8B505460D208DF800002A
+:104D10000024284600F0CEFC06460DE0285D0A2857
+:104D200004D1012269460020FEF710F8291901225A
+:104D30000020FEF70BF8641CB442EFD3F8BD00006E
+:104D400002490148086070470400FA050CED00E0D4
+:104D500070B530490546283009682C1D11B18847C7
+:104D6000002855D02CA0216C00F036F92EA0616AE5
+:104D700000F032F930A0A16A00F02EF932A0E16A09
+:104D800000F02AF934A0216B00F026F936A0616802
+:104D900000F022F938A0A16800F01EF93AA0E168FD
+:104DA00000F01AF93CA0216900F016F93EA06169F3
+:104DB00000F012F940A0A16900F00EF942A0E169EB
+:104DC00000F00AF944A0216A00F006F946A0616BE0
+:104DD00000F002F948A0A16B00F0FEF84AA0E16BD8
+:104DE00000F0FAF82878400706D500F09FFD01464C
+:104DF00049A000F0F1F802E04FA000F0EDF82878AB
+:104E0000C00602D453A000F0E7F8FFF73DF9FEE733
+:104E100070BD0000240000207073723A20307825A5
+:104E20003038780A000000007230303A203078259F
+:104E30003038780A000000007230313A203078258E
+:104E40003038780A000000007230323A203078257D
+:104E50003038780A000000007230333A203078256C
+:104E60003038780A000000007230343A203078255B
+:104E70003038780A000000007230353A203078254A
+:104E80003038780A000000007230363A2030782539
+:104E90003038780A000000007230373A2030782528
+:104EA0003038780A000000007230383A2030782517
+:104EB0003038780A000000007230393A2030782506
+:104EC0003038780A000000007231303A20307825FE
+:104ED0003038780A000000007231313A20307825ED
+:104EE0003038780A000000007231323A20307825DC
+:104EF0003038780A00000000206C723A20307825A3
+:104F00003038780A000000002070633A203078259D
+:104F10003038780A000000006861726420666175AC
+:104F20006C74206F6E207468726561643A2025731A
+:104F30000D0A0D0A00000000686172642066617548
+:104F40006C74206F6E2068616E646C65720D0A0D62
+:104F50000A00000046505520616374697665210D92
+:104F60000A00000070B50546121D22F00700443803
+:104F70000A4C0646002240F82240521C112AFAD35D
+:104F8000416200218162C1624FF0807200F13404FD
+:104F90000264016384E82A00316070BDEFBEADDEBB
+:104FA00010B5FBF763F9044A1178491C1170BDE88C
+:104FB0001040FBF75FB900004000002010B5FBF780
+:104FC00055F9044A1178491E1170BDE81040FBF7ED
+:104FD00051B90000400000200FB47F2110B503AB91
+:104FE0000748029A00F044FE04467F2800D97F2437
+:104FF0000348FFF788FE204610BC5DF814FB000054
+:10500000580900200268516002680A600160486027
+:1050100070470268516002680A600160486070472A
+:105020000168814201D1012070470020704702468B
+:105030000020114600E0401C09689142FBD17047F6
+:10504000D0E900124A60D0E90012116040600060AF
+:105050007047D0E900124A60D0E900121160406048
+:1050600000607047D0E900124A60D0E90012116078
+:10507000406000607047000010B50446FFF7DCFD9B
+:1050800004482146406800F023FA0446FFF7E2FD99
+:10509000204610BD4400002010B50346102A1DD341
+:1050A00041EA0304A40719D110C9103A10C310C96A
+:1050B000102A10C351F8084B43F8084B51F8044C20
+:1050C00043F8044CF0D202E010C9121F10C3042AA6
+:1050D000FAD203E011F8014B03F8014B521EF9D24A
+:1050E00010BD10B5034681420FD28C189C420CD9DA
+:1050F000811803E014F8013D01F8013D521EF9D278
+:1051000010BD11F8014B03F8014B521EF9D210BD2E
+:1051100010B50346CCB2042A19D3810717D119461A
+:1051200044EA042343EA034306E008C1103A08C1F5
+:1051300041F8083B41F8043C102AF6D201E008C1CE
+:10514000121F042AFBD20B4601E003F8014B521E4A
+:10515000FBD210BD2DE9F0410F46064600F044F8A1
+:105160000546C068FFF788FF041E17D00021EA68D3
+:10517000FFF7CEFF267200206072082239462046D3
+:1051800000F0A0FAFBF772F8064604F10C01281DA6
+:10519000FFF738FF3046FBF76DF82046BDE8F08199
+:1051A00070B5044600202072FBF760F8054604F154
+:1051B0000C00FFF745FF2846FBF75CF82046BDE8EA
+:1051C0007040FFF763BD70B5044600202072FBF706
+:1051D0004DF8054604F10C00FFF732FF2846BDE804
+:1051E0007040FBF747B80000074A002102EB0113AB
+:1051F0001B78834202D102EB01107047491C04293D
+:10520000F4DB0020704700007C0000202DE9F04115
+:10521000054617460E460846FFF7E6FF0446FFF729
+:105220000BFD211D606800E000688842FCD1FFF79B
+:1052300011FD46F08000287208223946284600F009
+:1052400041FAFBF713F8064605F10C01201DFFF7A4
+:10525000D9FE3046BDE8F041FBF70CB8007A0006F5
+:1052600001D501207047002070470000F8B5FAF71B
+:10527000FDFF2B4D07466888D8BBA868C8B3002639
+:105280006846FEF7B1FB69680446284691F8342069
+:1052900002F00703032B0ED191F83530009DAB428D
+:1052A00002D303D1130701D40C4600E0012622F0FB
+:1052B000080281F834208C4222D0009A02700D46F8
+:1052C000446016B1084600F02FF8204600F066F85A
+:1052D00094F8340020F00700C01C84F83400114812
+:1052E000007804F11C01002805F11C0002D0FAF737
+:1052F000C4FF10E0FAF7C1FF3846FAF7BBFFF8BD6C
+:105300000446084600F04AF8606810F8341F21F09F
+:105310000701C91C01703846BDE8F840FAF7AABF7A
+:10532000BC0000204000002070B50446FAF79EFF44
+:10533000184B02465868844206D114F8340F20F006
+:105340000700C01C207020E094F83400124920F0BF
+:105350000700401C84F83400050794F8355004F128
+:10536000140001EBC50106D54D6828604D68456005
+:105370004860016005E00D6868600D6805600860C0
+:105380004160A06B996808439860BDE87040104682
+:10539000FAF770BFBC000020D809002070B50546A0
+:1053A000FAF764FF05F114040146D4E900024260F3
+:1053B000D4E900021060AC616C6195F83500084AD0
+:1053C00002EBC0000268824204D10648AB6B8268DF
+:1053D0009A438260BDE870400846FAF74BBF000070
+:1053E000D8090020BC0000202DE9F04116460A46ED
+:1053F0001F4605460221FFF709FF05F11404AC61C1
+:105400006C61AE836F720020BDE8F0811CB50AA00C
+:10541000FFF7E2FD0BA0FFF7DFFD13A115A0CDE91B
+:10542000000101231A46042115A0FFF7D5FD1DA098
+:10543000FFF7D2FD1CBD00000A205C207C202F0A53
+:10544000000000002D205254202D20202020205428
+:105450006872656164204F7065726174696E67205F
+:1054600053797374656D0A0031303A34353A333705
+:10547000000000004D617920313420323032350097
+:10548000202F207C205C202020202025642E2564D5
+:105490002E2564206275696C642025732025730AAB
+:1054A000000000002032303036202D2032303232E1
+:1054B00020436F7079726967687420627920525452
+:1054C0002D546872656164207465616D0A00000086
+:1054D000F0B5E9B3C91C21F003030C2B00D20C2357
+:1054E000426B9A424CD3846A016B091BD61A45E081
+:1054F00062181578ED073FD155686D1A0C3D9D4235
+:105500003AD3556803F118076E1A0C3EBE4222D3F7
+:10551000CD180C352C4420F0010626605668C4E9ED
+:10552000016155606168446B0C34A14202D0846A09
+:1055300021448D60016A0C3319440162436A8B4235
+:1055400000D2416240F001011160016B914200E024
+:1055500016E008D00DE0111B691A036AECE7836AB4
+:105560004968194401630B78DB0702D0C36A99428A
+:10557000F5D102F10C00F0BD091D61588E42B7D281
+:105580000020F0BD010011D00C39086820F00100A6
+:105590000860026B8A4200D90163836A4A68CB1AA9
+:1055A000D21A036A9A1A0262FFF73CBA70470000E7
+:1055B0002DE9F04106461346C81C20F0030404F10F
+:1055C0003802D01C20F003050B4423F003001828F8
+:1055D00030D9A0F1180797422CD3471B382200215D
+:1055E0002046183FFFF794FD32460C212046FFF776
+:1055F0000DFE04F1140112A081E8A1006763A56209
+:105600002C60606B0C3068600020A860A06A69683C
+:10561000084444F00101E0620160606BE16A0C3013
+:105620004860606BE16A0C308860A06A20632046A5
+:10563000BDE8F0811A4604A0FFF7CEFC0020F7E792
+:10564000736D616C6C0000006D656D20696E69742E
+:105650002C206572726F7220626567696E206164CA
+:10566000647265737320307825782C20616E642015
+:10567000656E642061646472657373203078257888
+:105680000A0000000FB410B504AA039900F023FC2F
+:1056900010BC5DF814FB0000002800DA4042044909
+:1056A0000B2801DDC86A704751F8200070470000E0
+:1056B0004C000020014600E0491C0A78002AFBD17A
+:1056C000081A704710B5002A07D0034611F8014B9D
+:1056D00003F8014B2CB1521EF8D110BD03F8011B89
+:1056E00000E00021521EF9D110BD00000B46C11C84
+:1056F00021F0030223F003018A1A10B5014603A02A
+:10570000FFF756FF0349486010BD000068656170EF
+:10571000000000004400002010B5074B0022074C99
+:105720005A80104604EBC001401C496009602028E3
+:10573000F8DB9A6010BD0000BC000020D8090020F2
+:1057400038B56846FEF750F90446064844602046DE
+:10575000FFF724FE032084F8340004F11C00FAF75C
+:10576000D2FD38BDBC000020044A002002EBC0017D
+:10577000401C49600960F9D070470000CC0000204F
+:1057800070472DE9FF478946DDE90C7682460146E0
+:105790001D4690460120FFF7DDFC041E0DD0284673
+:1057A000FFF76AFC60B103968DE8A10043464A46C4
+:1057B00051462046FEF746F9204604B0BDE8F08782
+:1057C0002046FFF7EDFC0020F7E7000070B50A491E
+:1057D00000250C688C420DD0A4F11405FAF746FDA3
+:1057E000D4E900124A60D4E90012116064602460B8
+:1057F000FAF740FD284670BD3800002004491430F7
+:105800000A6850600A6802600860416070470000E2
+:1058100038000020FFF7DAFF0400FBD0266FFFF707
+:105820001DFD0546012802D12046FFF7CCFC0EB134
+:105830002046B047002DEDD1A06AFFF727FA204699
+:10584000FFF7AEFCE6E700002DE9F047DFF84CA0DB
+:10585000002486B020264FF01F084FF48079AAF16B
+:10586000780522460EA104A8FFF70CFF0AEB0421DD
+:10587000CDE90019C4EB0410CDE9028605EBC000A8
+:1058800007460023084A04A900F010F8384600F043
+:1058900075F8641CE5D006B0BDE8F0875808002014
+:1058A0007469646C65256400155800082DE9FF5F74
+:1058B00092460EAA0F4692E870010A469946834620
+:1058C0000121FFF7A3FC8DE870014B465246394693
+:1058D0005846FEF7B7F804B000F000B830BCBDE899
+:1058E000C09F10B500F081F8BDE8104000F024B86A
+:1058F00070B5044690F8340000F00700022802D08A
+:105900004FF0FF3070BDFAF7B1FC054604F114000A
+:10591000FFF79FFB04F1440000F092F92046FFF7E7
+:1059200003FD2846FAF7A6FC002070BD0148006878
+:1059300070470000C0000020F1B50F480468FAF776
+:1059400095FC064600252046256300F02BF804F15F
+:1059500044006A460021074600F0D4F8384600F0BB
+:105960001FF93046FAF786FCFFF780FC206B801C9D
+:1059700000D12563206BF8BDC000002010B590F861
+:105980003520012191408163022180F83410FFF716
+:10599000AFFF0348006808B1FFF768FC002010BDA6
+:1059A000C000002070B5044690F8340000F00700F5
+:1059B000012804D0032802D04FF0FF3070BDFAF761
+:1059C00055FC05462046FFF7E9FC94F8340020F02A
+:1059D0000700801C84F8340004F1440000F030F922
+:1059E0002846FAF747FC002070BD002802DA4FF085
+:1059F000FF3070474FF47A7190FBF1F290FBF1F3B6
+:105A000001FB130000EB40034A43C3EBC0104B1EE5
+:105A100003EBC00090FBF1F01044704701480068B0
+:105A2000704700003400002010B5FAF71FFC044650
+:105A30000E480168491C0160FFF778FF016C491EA0
+:105A4000016406D02046FAF715FCBDE8104000F0CE
+:105A50000FB8C16B016410F8341F41F008010170E8
+:105A60002046FAF707FCFFF701FCEEE734000020C0
+:105A70002DE9FC41CDF804D0CDF800D0FFF7CEFFE2
+:105A80000646FAF7F3FB05462FE01D486FF000418C
+:105A900004686069143C301A88422BD22046FEF715
+:105AA00034F8607A810702D420F00100607204F1BA
+:105AB00014010F466846FFF7ACFAD4E9071088478F
+:105AC000FFF7ACFF06466846FFF7AAFA68B9384602
+:105AD000FFF7C8FA607A810707D5C10705D020F023
+:105AE00001006072204600F05BF80548FFF798FA65
+:105AF0000028CAD02846FAF7BDFBBDE8FC810000AB
+:105B0000CC00002070B515460E460446FAF7AEFBF1
+:105B1000062E17D2DFE806F00503080C111A616A99
+:105B20000FE0296861620DE0617A21F0020102E074
+:105B3000617A41F00201617204E0617AC90700D024
+:105B400001212960FAF796FB002070BDA16AF8E7F1
+:105B500070B50446FAF78AFB05462046FDF7D5FFE7
+:105B6000607A20F0010060722846FAF783FB204635
+:105B7000FFF729FB002070BD2DE9F8439046DDE9D1
+:105B800008450A461F4606460A21FFF73FFB234603
+:105B90003A46414630460095FDF7A4FFBDE8F8833C
+:105BA0002DE9F84304464FF00008FAF75FFB814601
+:105BB0002046FDF7AAFF607A20F001006072FFF72F
+:105BC0002DFF616A1D4F4318A36200226D460097A6
+:105BD0000CE00668A6EBC2014969994204D0C91AD3
+:105BE0006FF0004C614508D345F8226007EBC20115
+:105BF00055F8220049688842EBD11AB105EB8201C1
+:105C000008304860521CF1D00C49091F0868401C3C
+:105C1000086004F114010098FFF7FBF9607A40F086
+:105C2000010060724846FAF725FBB8F1000F01D079
+:105C3000FFF71CFB0020BDE8F8830000CC0000202B
+:105C400070B50446407AC0070ED0FAF70FFB054640
+:105C50002046FDF75AFF607A20F001006072284666
+:105C6000FAF708FB002070BD4FF0FF3070BD000058
+:105C70002DE9FF4F83B08146044604981F4609EB87
+:105C800000084FF0FF3B4FF0200AA04503D2C9F1B6
+:105C9000FF30D8460490FAE0252803D044457CD252
+:105CA00020707AE000250599491C059108782D2877
+:105CB00011D02B2812D0202813D0232814D030281C
+:105CC00015D00A785E46303A0A2A13D205A800F0A9
+:105CD00027F9064618E045F01005E4E745F004050D
+:105CE000E1E745F00805DEE745F02005DBE745F094
+:105CF0000105D8E72A2807D1491C059140CF002E7D
+:105D000002DA764245F0100505985B4601782E29A7
+:105D100013D1401C05900178A1F130020A2A04D267
+:105D200005A800F0FDF8034604E02A2904D1401C30
+:105D3000059008CF002B00DA0023059A0020117887
+:105D4000682901D06C2902D1521C084605921178AD
+:105D50004FF00A0C6F297FD00CDC63291FD004DCC4
+:105D6000252975D058290DD179E064297CD069297D
+:105D700008D179E0702960D073292AD0752975D0AF
+:105D800078296ED0444501D2252020700598641CE6
+:105D90000178D1B3444500D22170641C74E0E80658
+:105DA00008D45146761E002E04DD444500D22170F1
+:105DB000641CF7E717F8040B444500D220705146E5
+:105DC00002E0444500D22170641C761E002EF8DCEF
+:105DD0005AE002CF01B93CA1002000E0401CB042D3
+:105DE00002D00A5C002AF9D1002B02DD984200DDC6
+:105DF0001846EA060AD452463346761E834205DD2B
+:105E0000444500D22270641CF6E74CE0002206E014
+:105E1000444501D20B782370491C521C641C8242F9
+:105E2000F6DB52463146761E81422DDD444500D2D6
+:105E30002270641CF6E70FE00AE0701C02D108260D
+:105E400045F001050096CDE9013504CF102316E099
+:105E50004445A2D2252023E74FF0080C06E045F088
+:105E600040054FF0100C01E045F002056C2801D010
+:105E700068281BD004CF0096CDE901356346414622
+:105E80002046FEF7FDFD04460598401C0590059848
+:105E9000007800287FF400AF049880B100204445CA
+:105EA0000BD220700BE0401E0590EDE737F8040B95
+:105EB00082B2A807DFD512B2DDE708F8010C07B0FF
+:105EC000A4EB090000F004B8284E554C4C29000002
+:105ED00030BCBDE8C08F134610B50A464FF0FF3105
+:105EE000FFF7C6FE10BD002070470020704700205D
+:105EF00070470020704710B5FAF7B8F9FEF7DCFEDE
+:105F0000FFF784FAFFF730FCFFF706FCFEF754FEBC
+:105F1000FFF736FCFFF798FCFFF712FC002010BDDE
+:105F200010B5024600206FF02F0407E04B1C1360F1
+:105F3000097800EB800004EB4000084411680B78FE
+:105F4000303B0A2BF2D310BD0020704710B518A0CB
+:105F5000FFF742F81A4C21881AA0FFF73DF8208875
+:105F6000C00702D01DA0FFF737F82088800702D5B0
+:105F70001DA0FFF731F82088400702D51DA0FFF7CC
+:105F80002BF82088000702D51CA0FFF725F82088F1
+:105F9000C00502D51BA0FFF71FF82088800502D599
+:105FA0001BA0FFF719F8BDE8104004A0FFF714B8D4
+:105FB0007573616765206661756C743A0A0000004C
+:105FC0002AED00E05343425F434653525F55465328
+:105FD000523A30782530325820000000554E444562
+:105FE00046494E5354522000494E5653544154454D
+:105FF00020000000494E5650432000004E4F4350B1
+:1060000020000000554E414C49474E4544200000B9
+:1060100044495642595A45524F20000010B5FFF7E7
+:10602000F5F9002010BD4FF04070E1EE100A704706
+:106030000000000000000000010203040607080938
+:10604000A0860100400D0300801A060000350C00F8
+:1060500040420F0080841E0000093D0000127A00BB
+:106060000024F40000366E010048E801006CDC02F8
+:106070000000000001020304000001000200010012
+:106080000300010002000100040001000200010001
+:1060900003000100020001000500010002000100F0
+:1060A00003000100020001000400010002000100E1
+:1060B00003000100020001000600010002000100CF
+:1060C00003000100020001000400010002000100C1
+:1060D00003000100020001000500010002000100B0
+:1060E00003000100020001000400010002000100A1
+:1060F000030001000200010007000100020001008E
+:106100000300010002000100040001000200010080
+:10611000030001000200010005000100020001006F
+:106120000300010002000100040001000200010060
+:10613000030001000200010006000100020001004E
+:106140000300010002000100040001000200010040
+:10615000030001000200010005000100020001002F
+:106160000300010002000100040001000200010020
+:10617000030001000200010030313233343536377C
+:1061800038396162636465660030313233343536E4
+:10619000373839414243444546000000252D2A2E18
+:1061A00073207072692020737461747573202020CD
+:1061B00020202073702020202020737461636B20C6
+:1061C00073697A65206D61782075736564206C65EC
+:1061D0006674207469636B20206572726F720A00A6
+:1061E0004F4B000045494E56414C00004552534626
+:1061F000554C4C00454E4F4D454D000045494F0014
+:106200004552524F52000000454E4F535953000023
+:1062100045494E54525054004554494D4F55540031
+:1062200045554E4B4E4F57004542555359000000BF
+:106230004552534550545900636C65617200636C5C
+:1062400065617220746865207465726D696E616C39
+:106250002073637265656E0076657273696F6E0098
+:1062600073686F772052542D54687265616420768C
+:10627000657273696F6E20696E666F726D617469A5
+:106280006F6E006C6973745F746872656164006C32
+:1062900069737420746872656164006C6973745FFB
+:1062A00073656D006C6973742073656D6170686FE0
+:1062B000726520696E2073797374656D006C697303
+:1062C000745F74696D6572006C6973742074696DB4
+:1062D000657220696E2073797374656D006C6973E3
+:1062E00074006C697374206F626A6563747300680C
+:1062F000656C700052542D54687265616420736837
+:10630000656C6C2068656C702E007265626F6F74CE
+:10631000005265626F6F742053797374656D00006D
+:10632000F35E0008EB5E0008495F0008E75E0008C6
+:10633000793D0008EF5E0008386200083E62000800
+:106340000D3C000858620008606200081D600008EB
+:10635000836200088F620008D54200089B62000833
+:10636000A462000891410008BD620008C8620008EC
+:1063700091440008DD620008E2620008213C000848
+:10638000EF620008F4620008DD4800080A630008B4
+:1063900011630008B34B0008B86300080000002038
+:1063A000D4000000C80100088C640008D40000205C
+:1063B000644C0000E401000800000000010000003F
+:1063C000100000000000000000093D000000000077
+:1063D00000000000000000000000000000000000BD
+:1063E00000000000000000000000000000000000AD
+:1063F00038000020380000200000000000000000ED
+:1064000000000000E0610008006200081862000857
+:10641000EC61000830620008F461000808620008BE
+:1064200028620008FC61000810620008E4610008AE
+:106430002062000801000000800000208000002091
+:106440007800000002000000900000209000002072
+:10645000200000000A000000A0000020A000002092
+:106460002C0000000C000000B0000020B000002054
+:1064700028000000000000000000000000000000F4
+:0C64800000000000000000000000000010
:040000050800018D61
:00000001FF
diff --git a/XM01_BLE/XM-01/XM-01.ioc b/XM01_BLE/XM-01/XM-01.ioc
index 090b4ba..ee4efd7 100644
--- a/XM01_BLE/XM-01/XM-01.ioc
+++ b/XM01_BLE/XM-01/XM-01.ioc
@@ -2,25 +2,40 @@
CAD.formats=[]
CAD.pinconfig=Dual
CAD.provider=
+Dma.Request0=USART2_RX
+Dma.RequestsNb=1
+Dma.USART2_RX.0.Direction=DMA_PERIPH_TO_MEMORY
+Dma.USART2_RX.0.Instance=DMA1_Channel6
+Dma.USART2_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
+Dma.USART2_RX.0.MemInc=DMA_MINC_ENABLE
+Dma.USART2_RX.0.Mode=DMA_CIRCULAR
+Dma.USART2_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
+Dma.USART2_RX.0.PeriphInc=DMA_PINC_DISABLE
+Dma.USART2_RX.0.Priority=DMA_PRIORITY_LOW
+Dma.USART2_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
File.Version=6
GPIO.groupedBy=Group By Peripherals
KeepUserPlacement=false
Mcu.CPN=STM32L431CCT6
Mcu.Family=STM32L4
-Mcu.IP0=NVIC
-Mcu.IP1=RCC
-Mcu.IP2=SYS
-Mcu.IPNb=3
+Mcu.IP0=DMA
+Mcu.IP1=NVIC
+Mcu.IP2=RCC
+Mcu.IP3=SYS
+Mcu.IP4=USART2
+Mcu.IPNb=5
Mcu.Name=STM32L431C(B-C)Tx
Mcu.Package=LQFP48
Mcu.Pin0=PH0-OSC_IN (PH0)
Mcu.Pin1=PH1-OSC_OUT (PH1)
-Mcu.Pin2=PB12
-Mcu.Pin3=PA13 (JTMS-SWDIO)
-Mcu.Pin4=PA14 (JTCK-SWCLK)
-Mcu.Pin5=VP_SYS_VS_Systick
-Mcu.Pin6=VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1
-Mcu.PinsNb=7
+Mcu.Pin2=PA2
+Mcu.Pin3=PA3
+Mcu.Pin4=PB12
+Mcu.Pin5=PA13 (JTMS-SWDIO)
+Mcu.Pin6=PA14 (JTCK-SWCLK)
+Mcu.Pin7=VP_SYS_VS_Systick
+Mcu.Pin8=VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1
+Mcu.PinsNb=9
Mcu.ThirdParty0=RealThread.X-CUBE-RT-Thread_Nano.4.1.1
Mcu.ThirdPartyNb=1
Mcu.UserConstants=
@@ -28,6 +43,7 @@ Mcu.UserName=STM32L431CCTx
MxCube.Version=6.14.1
MxDb.Version=DB.6.0.141
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
+NVIC.DMA1_Channel6_IRQn=true\:0\:0\:false\:false\:true\:true\:false\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:false\:false
@@ -40,11 +56,20 @@ NVIC.SavedPendsvIrqHandlerGenerated=true
NVIC.SavedSvcallIrqHandlerGenerated=true
NVIC.SavedSystickIrqHandlerGenerated=true
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:false\:false\:false\:true\:false
+NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false\:false
PA13\ (JTMS-SWDIO).Mode=Serial_Wire
PA13\ (JTMS-SWDIO).Signal=SYS_JTMS-SWDIO
PA14\ (JTCK-SWCLK).Mode=Serial_Wire
PA14\ (JTCK-SWCLK).Signal=SYS_JTCK-SWCLK
+PA2.GPIOParameters=GPIO_Label
+PA2.GPIO_Label=BLE_TX
+PA2.Mode=Asynchronous
+PA2.Signal=USART2_TX
+PA3.GPIOParameters=GPIO_Label
+PA3.GPIO_Label=BLE_RX
+PA3.Mode=Asynchronous
+PA3.Signal=USART2_RX
PB12.GPIOParameters=GPIO_Speed,PinState,GPIO_PuPd,GPIO_Label
PB12.GPIO_Label=LED
PB12.GPIO_PuPd=GPIO_NOPULL
@@ -88,7 +113,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=false
-ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART2_UART_Init-USART2-false-HAL-true
RCC.ADCFreq_Value=16000000
RCC.AHBFreq_Value=80000000
RCC.APB1Freq_Value=80000000
@@ -146,6 +171,8 @@ RealThread.X-CUBE-RT-Thread_Nano.4.1.1.RT_USING_HEAP=1
RealThread.X-CUBE-RT-Thread_Nano.4.1.1.RT_USING_SMALL_MEM=1
RealThread.X-CUBE-RT-Thread_Nano.4.1.1.RT_USING_SMALL_MEM_AS_HEAP=1
RealThread.X-CUBE-RT-Thread_Nano.4.1.1_SwParameter=RTAaThreadCcRTOSJjshell\:true;RTAaThreadCcRTOSJjlibcpu\:true;RTAaThreadCcRTOSJjkernel\:true;
+USART2.IPParameters=VirtualMode-Asynchronous
+USART2.VirtualMode-Asynchronous=VM_ASYNC
VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1.Mode=RTOSJjRTAaThread
VP_RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1.Signal=RealThread.X-CUBE-RT-Thread_Nano_VS_RTOSJjRTAaThread_4.1.1_4.1.1
VP_SYS_VS_Systick.Mode=SysTick