From 79efe1616420d3dda3610129ee1d3436af94e1d7 Mon Sep 17 00:00:00 2001 From: minh7a6 Date: Sat, 25 Apr 2026 21:20:04 -0700 Subject: [PATCH 1/5] Added initial support for GD32C103 --- port/dwc2/usb_dc_dwc2.c | 6 +++ port/dwc2/usb_glue_gd_arm.c | 83 +++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 port/dwc2/usb_glue_gd_arm.c diff --git a/port/dwc2/usb_dc_dwc2.c b/port/dwc2/usb_dc_dwc2.c index 92479c8d..94845c13 100644 --- a/port/dwc2/usb_dc_dwc2.c +++ b/port/dwc2/usb_dc_dwc2.c @@ -323,6 +323,11 @@ void dwc2_ep_write(uint8_t busid, uint8_t ep_idx, uint8_t *src, uint16_t len) } } +__WEAK void dwc2_override_hw_params(uint32_t reg_base, struct dwc2_hw_params *hw) { + (void)reg_base; + (void)hw; +} + void dwc2_ep_read(uint8_t busid, uint8_t *dest, uint16_t len) { uint32_t *p32; @@ -495,6 +500,7 @@ int usb_dc_init(uint8_t busid) dwc2_get_hwparams(USBD_BASE, &g_dwc2_udc[busid].hw_params); dwc2_get_user_params(USBD_BASE, &g_dwc2_udc[busid].user_params); + dwc2_override_hw_params(USBD_BASE, &g_dwc2_udc[busid].hw_params); if (g_dwc2_udc[busid].user_params.phy_utmi_width == 0) { g_dwc2_udc[busid].user_params.phy_utmi_width = 8; diff --git a/port/dwc2/usb_glue_gd_arm.c b/port/dwc2/usb_glue_gd_arm.c new file mode 100644 index 00000000..8f523182 --- /dev/null +++ b/port/dwc2/usb_glue_gd_arm.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2024, sakumisu + * + * SPDX-License-Identifier: Apache-2.0 + */ +#include "usbd_core.h" +#include "stdint.h" +#include "usb_dwc2_reg.h" +#include "usb_dwc2_param.h" +#include "board_config.h" + +const struct dwc2_user_params param_pa11_pa12 = { + .phy_type = DWC2_PHY_TYPE_PARAM_FS, + .device_dma_enable = false, + .device_dma_desc_enable = false, + .device_rx_fifo_size = (320 - 16 * 4), + .device_tx_fifo_size = { + [0] = 16, // 64 byte + [1] = 16, // 64 byte + [2] = 16, // 64 byte + [3] = 16, // 64 byte + [4] = 0, + [5] = 0, + [6] = 0, + [7] = 0, + [8] = 0, + [9] = 0, + [10] = 0, + [11] = 0, + [12] = 0, + [13] = 0, + [14] = 0, + [15] = 0 }, + .device_gccfg = ((1 << 16) | (1 << 19) |(1 << 21)), + .total_fifo_size = 320 // 1280 byte +}; + +#if CONFIG_USBDEV_EP_NUM != 4 && CONFIG_USBDEV_EP_NUM != 6 +#error "gd32 only has 4 endpoints for pa11/pa12 and 6 endpoints for pb14/pb15" +#endif + +void usb_dc_low_level_init(uint8_t busid) { + NVIC_EnableIRQ(USBFS_IRQn); +} + +void usb_dc_low_level_deinit(uint8_t busid) { + NVIC_DisableIRQ(USBFS_IRQn); +} + +#ifndef CONFIG_USB_DWC2_CUSTOM_PARAM +void dwc2_get_user_params(uint32_t reg_base, struct dwc2_user_params *params) +{ + memcpy(params, ¶m_pa11_pa12, sizeof(struct dwc2_user_params)); + +#ifdef CONFIG_USB_DWC2_CUSTOM_FIFO + struct usb_dwc2_user_fifo_config s_dwc2_fifo_config; + + dwc2_get_user_fifo_config(reg_base, &s_dwc2_fifo_config); + + params->device_rx_fifo_size = s_dwc2_fifo_config.device_rx_fifo_size; + for (uint8_t i = 0; i < MAX_EPS_CHANNELS; i++) { + params->device_tx_fifo_size[i] = s_dwc2_fifo_config.device_tx_fifo_size[i]; + } +#endif +} +void dwc2_override_hw_params(uint32_t reg_base, struct dwc2_hw_params *hw) { + /* HWCFG2 reads 0, this is unknown why */ + hw->num_dev_ep = 4; +} +#endif + +void usbd_dwc2_delay_ms(uint8_t ms) +{ + uint32_t count = SystemCoreClock / 1000 * ms; + while (count--) { + __asm volatile("nop"); + } +} + +uint32_t usbd_dwc2_get_system_clock(void) +{ + return SystemCoreClock; +} \ No newline at end of file From 00048c8d306b8c8125996bf7111fbcdefdef109d Mon Sep 17 00:00:00 2001 From: minh7a6 Date: Sat, 25 Apr 2026 22:26:01 -0700 Subject: [PATCH 2/5] Check if reg_base equals to USB_BASE, removed 6 EPs check --- port/dwc2/usb_glue_gd_arm.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/port/dwc2/usb_glue_gd_arm.c b/port/dwc2/usb_glue_gd_arm.c index 8f523182..e10cbfe0 100644 --- a/port/dwc2/usb_glue_gd_arm.c +++ b/port/dwc2/usb_glue_gd_arm.c @@ -9,7 +9,7 @@ #include "usb_dwc2_param.h" #include "board_config.h" -const struct dwc2_user_params param_pa11_pa12 = { +static const struct dwc2_user_params param_pa11_pa12 = { .phy_type = DWC2_PHY_TYPE_PARAM_FS, .device_dma_enable = false, .device_dma_desc_enable = false, @@ -35,8 +35,8 @@ const struct dwc2_user_params param_pa11_pa12 = { .total_fifo_size = 320 // 1280 byte }; -#if CONFIG_USBDEV_EP_NUM != 4 && CONFIG_USBDEV_EP_NUM != 6 -#error "gd32 only has 4 endpoints for pa11/pa12 and 6 endpoints for pb14/pb15" +#if CONFIG_USBDEV_EP_NUM != 4 +#error "gd32 only has 4 endpoints for pa11/pa12" #endif void usb_dc_low_level_init(uint8_t busid) { @@ -63,11 +63,14 @@ void dwc2_get_user_params(uint32_t reg_base, struct dwc2_user_params *params) } #endif } +#endif void dwc2_override_hw_params(uint32_t reg_base, struct dwc2_hw_params *hw) { /* HWCFG2 reads 0, this is unknown why */ - hw->num_dev_ep = 4; + if(reg_base == 0x50000000UL) { + hw->num_dev_ep = 4; + } + /* TODO: For other GD32, potentially will need to update like this as well*/ } -#endif void usbd_dwc2_delay_ms(uint8_t ms) { From 43304a25ba3cf5c36f540a04381ee50260a8512c Mon Sep 17 00:00:00 2001 From: minh7a6 Date: Sun, 26 Apr 2026 07:54:20 -0700 Subject: [PATCH 3/5] Fixes to USB EP count --- port/dwc2/usb_glue_gd_arm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/port/dwc2/usb_glue_gd_arm.c b/port/dwc2/usb_glue_gd_arm.c index e10cbfe0..c66ba566 100644 --- a/port/dwc2/usb_glue_gd_arm.c +++ b/port/dwc2/usb_glue_gd_arm.c @@ -67,9 +67,9 @@ void dwc2_get_user_params(uint32_t reg_base, struct dwc2_user_params *params) void dwc2_override_hw_params(uint32_t reg_base, struct dwc2_hw_params *hw) { /* HWCFG2 reads 0, this is unknown why */ if(reg_base == 0x50000000UL) { - hw->num_dev_ep = 4; + hw->num_dev_ep = CONFIG_USBDEV_EP_NUM - 1; } - /* TODO: For other GD32, potentially will need to update like this as well*/ + /* TODO: For other GD32, potentially will need to update like this as well */ } void usbd_dwc2_delay_ms(uint8_t ms) From 85865f47eb4d812c6ff923052d3b22859daeff31 Mon Sep 17 00:00:00 2001 From: sakumisu <1203593632@qq.com> Date: Mon, 27 Apr 2026 10:24:00 +0800 Subject: [PATCH 4/5] update(cherryusb): update to v1.6.1 Signed-off-by: sakumisu <1203593632@qq.com> --- CMakeLists.txt | 2 ++ Kconfig.rttpkg | 5 ++- README.md | 46 +++++++++++++++---------- README_zh.md | 42 +++++++++++++---------- VERSION | 2 +- common/usb_version.h | 4 +-- docs/assets/usbdevice_usage.png | Bin 0 -> 52297 bytes docs/assets/usbhost_usage.png | Bin 0 -> 95150 bytes docs/en/conf.py | 4 +-- docs/zh/conf.py | 4 +-- docs/zh/quick_start/demo.rst | 56 +++++++++++++++---------------- docs/zh/version.rst | 12 ++++++- idf_component.yml | 2 +- tests/bouffalolab/CMakeLists.txt | 1 + 14 files changed, 106 insertions(+), 74 deletions(-) create mode 100644 docs/assets/usbdevice_usage.png create mode 100644 docs/assets/usbhost_usage.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 39d1a273..be652aa8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ if(BL_SDK_BASE) set(CONFIG_CHERRYUSB_DEVICE_MSC 1) set(CONFIG_CHERRYUSB_DEVICE_AUDIO 1) set(CONFIG_CHERRYUSB_DEVICE_VIDEO 1) + set(CONFIG_CHERRYUSB_DEVICE_DFU 1) set(CONFIG_CHERRYUSB_DEVICE_GAMEPAD 1) set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1) @@ -183,6 +184,7 @@ elseif(HPM_SDK_BASE) set(CONFIG_CHERRYUSB_DEVICE_MSC 1) set(CONFIG_CHERRYUSB_DEVICE_AUDIO 1) set(CONFIG_CHERRYUSB_DEVICE_VIDEO 1) + set(CONFIG_CHERRYUSB_DEVICE_DFU 1) set(CONFIG_CHERRYUSB_DEVICE_GAMEPAD 1) set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1) diff --git a/Kconfig.rttpkg b/Kconfig.rttpkg index 4fa34158..12e3f2e0 100644 --- a/Kconfig.rttpkg +++ b/Kconfig.rttpkg @@ -516,12 +516,14 @@ if PKG_USING_CHERRYUSB choice prompt "Version" - default PKG_USING_CHERRYUSB_V010503 + default PKG_USING_CHERRYUSB_V010601 help Select the package version config PKG_USING_CHERRYUSB_LATEST_VERSION bool "latest" + config PKG_USING_CHERRYUSB_V010601 + bool "v1.6.1" config PKG_USING_CHERRYUSB_V010600 bool "v1.6.0" config PKG_USING_CHERRYUSB_V010503 @@ -543,6 +545,7 @@ if PKG_USING_CHERRYUSB config PKG_CHERRYUSB_VER string default "latest" if PKG_USING_CHERRYUSB_LATEST_VERSION + default "v1.6.1" if PKG_USING_CHERRYUSB_V010601 default "v1.6.0" if PKG_USING_CHERRYUSB_V010600 default "v1.5.3.99" if PKG_USING_CHERRYUSB_V010503 default "v1.5.2" if PKG_USING_CHERRYUSB_V010502 diff --git a/README.md b/README.md index 9b9245bb..c43098e4 100644 --- a/README.md +++ b/README.md @@ -86,16 +86,18 @@ CherryUSB Device Stack resource usage (GCC 10.2 with -O2, disable log): | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------:|:-------------:|:----------------:| -|usbd_core.c | ~4500 | (512(default) + 320) * bus | 0 | 0 | -|usbd_cdc_acm.c | ~900 | 0 | 0 | 0 | -|usbd_msc.c | ~5000 | (128 + 512(default)) * bus | 16 * bus | 0 | -|usbd_hid.c | ~300 | 0 | 0 | 0 | -|usbd_audio.c | ~4000 | 0 | 0 | 0 | -|usbd_video.c | ~7000 | 0 | 132 * bus | 0 | -|usbd_rndis.c | ~2500 | 2 * 1580(default)+156+8 | 80 | 0 | -|usbd_cdc_ecm.c | ~900 | 2 * 1514(default)+16 | 42 | 0 | +|usbd_core.c | ~4000 | (512(default) + 320) * bus | 8 | 0 | +|usbd_cdc_acm.c | ~400 | 0 | 0 | 0 | +|usbd_msc.c | ~3200 | (128 + 512(default)) * bus | 16 * bus | 0 | +|usbd_hid.c | ~200 | 0 | 0 | 0 | +|usbd_audio.c | ~1300 | 0 | 0 | 0 | +|usbd_video.c | ~2500 | 0 | 124 * bus | 0 | +|usbd_rndis.c | ~2000 | 2 * 1580(default)+156+8 | 76 | 0 | +|usbd_cdc_ecm.c | ~1500 | 2 * 1514(default)+16 | 42 | 0 | |usbd_mtp.c | ~9000 | 2048(default)+128 | sizeof(struct mtp_object) * n| 0 | -|usbd_dfu.c | ~2200 | 0 | 45 | 0 | +|usbd_dfu.c | ~800 | 0 | 1 | 0 | + +![usbdevice_usage](docs/assets/usbdevice_usage.png) ## Host Stack Overview @@ -128,19 +130,27 @@ CherryUSB Host Stack resource usage (GCC 10.2 with -O2, disable log): | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------------:|:---------------------------:|:------------:| -|usbh_core.c | ~4500 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | -|usbh_hub.c | ~3500 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | -|usbh_cdc_acm.c | ~600 | 7 * x | 4 + sizeof(struct usbh_cdc_acm) * x | 0 | -|usbh_msc.c | ~2000 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | -|usbh_hid.c | ~800 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | -|usbh_video.c | ~5000 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | -|usbh_audio.c | ~4000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | +|usbh_core.c | ~4000 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | +|usbh_hub.c | ~3000 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | +|usbh_msc.c | ~1500 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | +|usbh_hid.c | ~2000 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | +|usbh_video.c | ~2500 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | +|usbh_audio.c | ~3000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | |usbh_rndis.c | ~3000 | 512 + 2 * 2048(default)| sizeof(struct usbh_rndis) * 1 | 0 | |usbh_cdc_ecm.c | ~1500 | 2 * 1514 + 16 | sizeof(struct usbh_cdc_ecm) * 1 | 0 | |usbh_cdc_ncm.c | ~2000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_cdc_ncm) * 1| 0 | |usbh_bluetooth.c | ~1000 | 2 * 2048(default) | sizeof(struct usbh_bluetooth) * 1 | 0 | -|usbh_asix.c | ~7000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | -|usbh_rtl8152.c | ~9000 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_asix.c | ~3500 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | +|usbh_rtl8152.c | ~5500 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_serial.c | ~3000 | (512 * 2 + 32 * 2) * x | sizeof(struct usbh_serial) * x (2048 default) | 0 | +|usbh_cdc_acm.c | ~1000 | 0 | 0 | 0 | +|usbh_ch340.c | ~1200 | 0 | 0 | 0 | +|usbh_ftdi.c | ~1200 | 0 | 0 | 0 | +|usbh_cp2102.c | ~2200 | 0 | 0 | 0 | +|usbh_pl2303.c | ~2500 | 0 | 0 | 0 | +|usbh_gsm.c | ~300 | 0 | 0 | 0 | + +![usbhost_usage](docs/assets/usbhost_usage.png) Among them, `sizeof(struct usbh_hub)` and `sizeof(struct usbh_hubport)` are affected by the following macros: diff --git a/README_zh.md b/README_zh.md index df2276ee..b9a89e77 100644 --- a/README_zh.md +++ b/README_zh.md @@ -86,16 +86,16 @@ CherryUSB Device 协议栈资源占用说明(GCC 10.2 with -O2): | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------:|:-------------:|:----------------:| -|usbd_core.c | ~4500 | (512(default) + 320) * bus | 0 | 0 | -|usbd_cdc_acm.c | ~900 | 0 | 0 | 0 | -|usbd_msc.c | ~5000 | (128 + 512(default)) * bus | 16 * bus | 0 | -|usbd_hid.c | ~300 | 0 | 0 | 0 | -|usbd_audio.c | ~4000 | 0 | 0 | 0 | -|usbd_video.c | ~7000 | 0 | 132 * bus | 0 | -|usbd_rndis.c | ~2500 | 2 * 1580(default)+156+8 | 80 | 0 | -|usbd_cdc_ecm.c | ~900 | 2 * 1514(default)+16 | 42 | 0 | +|usbd_core.c | ~4000 | (512(default) + 320) * bus | 8 | 0 | +|usbd_cdc_acm.c | ~400 | 0 | 0 | 0 | +|usbd_msc.c | ~3200 | (128 + 512(default)) * bus | 16 * bus | 0 | +|usbd_hid.c | ~200 | 0 | 0 | 0 | +|usbd_audio.c | ~1300 | 0 | 0 | 0 | +|usbd_video.c | ~2500 | 0 | 124 * bus | 0 | +|usbd_rndis.c | ~2000 | 2 * 1580(default)+156+8 | 76 | 0 | +|usbd_cdc_ecm.c | ~1500 | 2 * 1514(default)+16 | 42 | 0 | |usbd_mtp.c | ~9000 | 2048(default)+128 | sizeof(struct mtp_object) * n| 0 | -|usbd_dfu.c | ~2200 | 0 | 45 | 0 | +|usbd_dfu.c | ~800 | 0 | 1 | 0 | ## Host 协议栈简介 @@ -128,19 +128,25 @@ CherryUSB Host 协议栈资源占用说明(GCC 10.2 with -O2,关闭 log) | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------------:|:---------------------------:|:------------:| -|usbh_core.c | ~4500 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | -|usbh_hub.c | ~3500 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | -|usbh_cdc_acm.c | ~600 | 7 * x | 4 + sizeof(struct usbh_cdc_acm) * x | 0 | -|usbh_msc.c | ~2000 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | -|usbh_hid.c | ~800 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | -|usbh_video.c | ~5000 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | -|usbh_audio.c | ~4000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | +|usbh_core.c | ~4000 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | +|usbh_hub.c | ~3000 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | +|usbh_msc.c | ~1500 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | +|usbh_hid.c | ~2000 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | +|usbh_video.c | ~2500 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | +|usbh_audio.c | ~3000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | |usbh_rndis.c | ~3000 | 512 + 2 * 2048(default)| sizeof(struct usbh_rndis) * 1 | 0 | |usbh_cdc_ecm.c | ~1500 | 2 * 1514 + 16 | sizeof(struct usbh_cdc_ecm) * 1 | 0 | |usbh_cdc_ncm.c | ~2000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_cdc_ncm) * 1| 0 | |usbh_bluetooth.c | ~1000 | 2 * 2048(default) | sizeof(struct usbh_bluetooth) * 1 | 0 | -|usbh_asix.c | ~7000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | -|usbh_rtl8152.c | ~9000 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_asix.c | ~3500 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | +|usbh_rtl8152.c | ~5500 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_serial.c | ~3000 | (512 * 2 + 32 * 2) * x | sizeof(struct usbh_serial) * x (2048 default) | 0 | +|usbh_cdc_acm.c | ~1000 | 0 | 0 | 0 | +|usbh_ch340.c | ~1200 | 0 | 0 | 0 | +|usbh_ftdi.c | ~1200 | 0 | 0 | 0 | +|usbh_cp2102.c | ~2200 | 0 | 0 | 0 | +|usbh_pl2303.c | ~2500 | 0 | 0 | 0 | +|usbh_gsm.c | ~300 | 0 | 0 | 0 | 其中,`sizeof(struct usbh_hub)` 和 `sizeof(struct usbh_hubport)` 受以下宏影响: diff --git a/VERSION b/VERSION index bf6627b8..77b8ba14 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ VERSION_MAJOR = 1 VERSION_MINOR = 6 -PATCHLEVEL = 0 +PATCHLEVEL = 1 VERSION_TWEAK = 0 EXTRAVERSION = 0 diff --git a/common/usb_version.h b/common/usb_version.h index 3e4c2aa3..5c59978f 100644 --- a/common/usb_version.h +++ b/common/usb_version.h @@ -15,7 +15,7 @@ #undef CHERRYUSB_VERSION_STR #endif -#define CHERRYUSB_VERSION 0x010600 -#define CHERRYUSB_VERSION_STR "v1.6.0" +#define CHERRYUSB_VERSION 0x010601 +#define CHERRYUSB_VERSION_STR "v1.6.1" #endif \ No newline at end of file diff --git a/docs/assets/usbdevice_usage.png b/docs/assets/usbdevice_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..30f7c99236af5661b50db2a9ccdbf726a5762d86 GIT binary patch literal 52297 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

E- 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 literal 0 HcmV?d00001 diff --git a/docs/assets/usbhost_usage.png b/docs/assets/usbhost_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..cb86a116da9d572db906f22a25f2841b26df468b GIT binary patch literal 95150 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

8(hYTg)@3Cn38 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 Date: Mon, 27 Apr 2026 21:25:43 +0800 Subject: [PATCH 5/5] docs: release v1.6.1 Signed-off-by: sakumisu <1203593632@qq.com> --- CMakeLists.txt | 2 ++ Kconfig.rttpkg | 5 ++- README.md | 46 +++++++++++++++---------- README_zh.md | 42 +++++++++++++---------- VERSION | 2 +- common/usb_version.h | 4 +-- docs/assets/usbdevice_usage.png | Bin 0 -> 52297 bytes docs/assets/usbhost_usage.png | Bin 0 -> 95150 bytes docs/en/conf.py | 4 +-- docs/zh/conf.py | 4 +-- docs/zh/quick_start/demo.rst | 56 +++++++++++++++---------------- docs/zh/version.rst | 12 ++++++- idf_component.yml | 2 +- tests/bouffalolab/CMakeLists.txt | 1 + 14 files changed, 106 insertions(+), 74 deletions(-) create mode 100644 docs/assets/usbdevice_usage.png create mode 100644 docs/assets/usbhost_usage.png diff --git a/CMakeLists.txt b/CMakeLists.txt index 39d1a273..be652aa8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ if(BL_SDK_BASE) set(CONFIG_CHERRYUSB_DEVICE_MSC 1) set(CONFIG_CHERRYUSB_DEVICE_AUDIO 1) set(CONFIG_CHERRYUSB_DEVICE_VIDEO 1) + set(CONFIG_CHERRYUSB_DEVICE_DFU 1) set(CONFIG_CHERRYUSB_DEVICE_GAMEPAD 1) set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1) @@ -183,6 +184,7 @@ elseif(HPM_SDK_BASE) set(CONFIG_CHERRYUSB_DEVICE_MSC 1) set(CONFIG_CHERRYUSB_DEVICE_AUDIO 1) set(CONFIG_CHERRYUSB_DEVICE_VIDEO 1) + set(CONFIG_CHERRYUSB_DEVICE_DFU 1) set(CONFIG_CHERRYUSB_DEVICE_GAMEPAD 1) set(CONFIG_CHERRYUSB_HOST_CDC_ACM 1) diff --git a/Kconfig.rttpkg b/Kconfig.rttpkg index 4fa34158..12e3f2e0 100644 --- a/Kconfig.rttpkg +++ b/Kconfig.rttpkg @@ -516,12 +516,14 @@ if PKG_USING_CHERRYUSB choice prompt "Version" - default PKG_USING_CHERRYUSB_V010503 + default PKG_USING_CHERRYUSB_V010601 help Select the package version config PKG_USING_CHERRYUSB_LATEST_VERSION bool "latest" + config PKG_USING_CHERRYUSB_V010601 + bool "v1.6.1" config PKG_USING_CHERRYUSB_V010600 bool "v1.6.0" config PKG_USING_CHERRYUSB_V010503 @@ -543,6 +545,7 @@ if PKG_USING_CHERRYUSB config PKG_CHERRYUSB_VER string default "latest" if PKG_USING_CHERRYUSB_LATEST_VERSION + default "v1.6.1" if PKG_USING_CHERRYUSB_V010601 default "v1.6.0" if PKG_USING_CHERRYUSB_V010600 default "v1.5.3.99" if PKG_USING_CHERRYUSB_V010503 default "v1.5.2" if PKG_USING_CHERRYUSB_V010502 diff --git a/README.md b/README.md index 9b9245bb..c43098e4 100644 --- a/README.md +++ b/README.md @@ -86,16 +86,18 @@ CherryUSB Device Stack resource usage (GCC 10.2 with -O2, disable log): | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------:|:-------------:|:----------------:| -|usbd_core.c | ~4500 | (512(default) + 320) * bus | 0 | 0 | -|usbd_cdc_acm.c | ~900 | 0 | 0 | 0 | -|usbd_msc.c | ~5000 | (128 + 512(default)) * bus | 16 * bus | 0 | -|usbd_hid.c | ~300 | 0 | 0 | 0 | -|usbd_audio.c | ~4000 | 0 | 0 | 0 | -|usbd_video.c | ~7000 | 0 | 132 * bus | 0 | -|usbd_rndis.c | ~2500 | 2 * 1580(default)+156+8 | 80 | 0 | -|usbd_cdc_ecm.c | ~900 | 2 * 1514(default)+16 | 42 | 0 | +|usbd_core.c | ~4000 | (512(default) + 320) * bus | 8 | 0 | +|usbd_cdc_acm.c | ~400 | 0 | 0 | 0 | +|usbd_msc.c | ~3200 | (128 + 512(default)) * bus | 16 * bus | 0 | +|usbd_hid.c | ~200 | 0 | 0 | 0 | +|usbd_audio.c | ~1300 | 0 | 0 | 0 | +|usbd_video.c | ~2500 | 0 | 124 * bus | 0 | +|usbd_rndis.c | ~2000 | 2 * 1580(default)+156+8 | 76 | 0 | +|usbd_cdc_ecm.c | ~1500 | 2 * 1514(default)+16 | 42 | 0 | |usbd_mtp.c | ~9000 | 2048(default)+128 | sizeof(struct mtp_object) * n| 0 | -|usbd_dfu.c | ~2200 | 0 | 45 | 0 | +|usbd_dfu.c | ~800 | 0 | 1 | 0 | + +![usbdevice_usage](docs/assets/usbdevice_usage.png) ## Host Stack Overview @@ -128,19 +130,27 @@ CherryUSB Host Stack resource usage (GCC 10.2 with -O2, disable log): | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------------:|:---------------------------:|:------------:| -|usbh_core.c | ~4500 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | -|usbh_hub.c | ~3500 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | -|usbh_cdc_acm.c | ~600 | 7 * x | 4 + sizeof(struct usbh_cdc_acm) * x | 0 | -|usbh_msc.c | ~2000 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | -|usbh_hid.c | ~800 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | -|usbh_video.c | ~5000 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | -|usbh_audio.c | ~4000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | +|usbh_core.c | ~4000 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | +|usbh_hub.c | ~3000 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | +|usbh_msc.c | ~1500 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | +|usbh_hid.c | ~2000 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | +|usbh_video.c | ~2500 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | +|usbh_audio.c | ~3000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | |usbh_rndis.c | ~3000 | 512 + 2 * 2048(default)| sizeof(struct usbh_rndis) * 1 | 0 | |usbh_cdc_ecm.c | ~1500 | 2 * 1514 + 16 | sizeof(struct usbh_cdc_ecm) * 1 | 0 | |usbh_cdc_ncm.c | ~2000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_cdc_ncm) * 1| 0 | |usbh_bluetooth.c | ~1000 | 2 * 2048(default) | sizeof(struct usbh_bluetooth) * 1 | 0 | -|usbh_asix.c | ~7000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | -|usbh_rtl8152.c | ~9000 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_asix.c | ~3500 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | +|usbh_rtl8152.c | ~5500 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_serial.c | ~3000 | (512 * 2 + 32 * 2) * x | sizeof(struct usbh_serial) * x (2048 default) | 0 | +|usbh_cdc_acm.c | ~1000 | 0 | 0 | 0 | +|usbh_ch340.c | ~1200 | 0 | 0 | 0 | +|usbh_ftdi.c | ~1200 | 0 | 0 | 0 | +|usbh_cp2102.c | ~2200 | 0 | 0 | 0 | +|usbh_pl2303.c | ~2500 | 0 | 0 | 0 | +|usbh_gsm.c | ~300 | 0 | 0 | 0 | + +![usbhost_usage](docs/assets/usbhost_usage.png) Among them, `sizeof(struct usbh_hub)` and `sizeof(struct usbh_hubport)` are affected by the following macros: diff --git a/README_zh.md b/README_zh.md index df2276ee..b9a89e77 100644 --- a/README_zh.md +++ b/README_zh.md @@ -86,16 +86,16 @@ CherryUSB Device 协议栈资源占用说明(GCC 10.2 with -O2): | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------:|:-------------:|:----------------:| -|usbd_core.c | ~4500 | (512(default) + 320) * bus | 0 | 0 | -|usbd_cdc_acm.c | ~900 | 0 | 0 | 0 | -|usbd_msc.c | ~5000 | (128 + 512(default)) * bus | 16 * bus | 0 | -|usbd_hid.c | ~300 | 0 | 0 | 0 | -|usbd_audio.c | ~4000 | 0 | 0 | 0 | -|usbd_video.c | ~7000 | 0 | 132 * bus | 0 | -|usbd_rndis.c | ~2500 | 2 * 1580(default)+156+8 | 80 | 0 | -|usbd_cdc_ecm.c | ~900 | 2 * 1514(default)+16 | 42 | 0 | +|usbd_core.c | ~4000 | (512(default) + 320) * bus | 8 | 0 | +|usbd_cdc_acm.c | ~400 | 0 | 0 | 0 | +|usbd_msc.c | ~3200 | (128 + 512(default)) * bus | 16 * bus | 0 | +|usbd_hid.c | ~200 | 0 | 0 | 0 | +|usbd_audio.c | ~1300 | 0 | 0 | 0 | +|usbd_video.c | ~2500 | 0 | 124 * bus | 0 | +|usbd_rndis.c | ~2000 | 2 * 1580(default)+156+8 | 76 | 0 | +|usbd_cdc_ecm.c | ~1500 | 2 * 1514(default)+16 | 42 | 0 | |usbd_mtp.c | ~9000 | 2048(default)+128 | sizeof(struct mtp_object) * n| 0 | -|usbd_dfu.c | ~2200 | 0 | 45 | 0 | +|usbd_dfu.c | ~800 | 0 | 1 | 0 | ## Host 协议栈简介 @@ -128,19 +128,25 @@ CherryUSB Host 协议栈资源占用说明(GCC 10.2 with -O2,关闭 log) | file | FLASH (Byte) | No Cache RAM (Byte) | RAM (Byte) | Heap (Byte) | |:-------------:|:--------------:|:-------------------------------:|:---------------------------:|:------------:| -|usbh_core.c | ~4500 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | -|usbh_hub.c | ~3500 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | -|usbh_cdc_acm.c | ~600 | 7 * x | 4 + sizeof(struct usbh_cdc_acm) * x | 0 | -|usbh_msc.c | ~2000 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | -|usbh_hid.c | ~800 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | -|usbh_video.c | ~5000 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | -|usbh_audio.c | ~4000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | +|usbh_core.c | ~4000 | (512(default) + 8 * (1+x) *n) * bus | sizeof(struct usbh_hub) * bus | raw_config_desc | +|usbh_hub.c | ~3000 | (32 + 4 * (1+x)) * bus | 12 + sizeof(struct usbh_hub) * x | 0 | +|usbh_msc.c | ~1500 | 128 * x | 4 + sizeof(struct usbh_msc) * x | 0 | +|usbh_hid.c | ~2000 | 64 * x | 4 + sizeof(struct usbh_hid) * x | 0 | +|usbh_video.c | ~2500 | 128 * x | 4 + sizeof(struct usbh_video) * x | 0 | +|usbh_audio.c | ~3000 | 128 * x | 4 + sizeof(struct usbh_audio) * x | 0 | |usbh_rndis.c | ~3000 | 512 + 2 * 2048(default)| sizeof(struct usbh_rndis) * 1 | 0 | |usbh_cdc_ecm.c | ~1500 | 2 * 1514 + 16 | sizeof(struct usbh_cdc_ecm) * 1 | 0 | |usbh_cdc_ncm.c | ~2000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_cdc_ncm) * 1| 0 | |usbh_bluetooth.c | ~1000 | 2 * 2048(default) | sizeof(struct usbh_bluetooth) * 1 | 0 | -|usbh_asix.c | ~7000 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | -|usbh_rtl8152.c | ~9000 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_asix.c | ~3500 | 2 * 2048(default) + 16 + 32 | sizeof(struct usbh_asix) * 1 | 0 | +|usbh_rtl8152.c | ~5500 | 16K+ 2K(default) + 2 + 32 | sizeof(struct usbh_rtl8152) * 1 | 0 | +|usbh_serial.c | ~3000 | (512 * 2 + 32 * 2) * x | sizeof(struct usbh_serial) * x (2048 default) | 0 | +|usbh_cdc_acm.c | ~1000 | 0 | 0 | 0 | +|usbh_ch340.c | ~1200 | 0 | 0 | 0 | +|usbh_ftdi.c | ~1200 | 0 | 0 | 0 | +|usbh_cp2102.c | ~2200 | 0 | 0 | 0 | +|usbh_pl2303.c | ~2500 | 0 | 0 | 0 | +|usbh_gsm.c | ~300 | 0 | 0 | 0 | 其中,`sizeof(struct usbh_hub)` 和 `sizeof(struct usbh_hubport)` 受以下宏影响: diff --git a/VERSION b/VERSION index bf6627b8..77b8ba14 100644 --- a/VERSION +++ b/VERSION @@ -1,5 +1,5 @@ VERSION_MAJOR = 1 VERSION_MINOR = 6 -PATCHLEVEL = 0 +PATCHLEVEL = 1 VERSION_TWEAK = 0 EXTRAVERSION = 0 diff --git a/common/usb_version.h b/common/usb_version.h index 3e4c2aa3..5c59978f 100644 --- a/common/usb_version.h +++ b/common/usb_version.h @@ -15,7 +15,7 @@ #undef CHERRYUSB_VERSION_STR #endif -#define CHERRYUSB_VERSION 0x010600 -#define CHERRYUSB_VERSION_STR "v1.6.0" +#define CHERRYUSB_VERSION 0x010601 +#define CHERRYUSB_VERSION_STR "v1.6.1" #endif \ No newline at end of file diff --git a/docs/assets/usbdevice_usage.png b/docs/assets/usbdevice_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..30f7c99236af5661b50db2a9ccdbf726a5762d86 GIT binary patch literal 52297 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

E- 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 literal 0 HcmV?d00001 diff --git a/docs/assets/usbhost_usage.png b/docs/assets/usbhost_usage.png new file mode 100644 index 0000000000000000000000000000000000000000..cb86a116da9d572db906f22a25f2841b26df468b GIT binary patch literal 95150 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

8(hYTg)@3Cn38 z=Td)^Z*vmoz&8G4zRDlcxQUP6y}68(fOa%*Hna+F`E?vP80!Rv%tp&djuo!9?k_ZM zzag!RV)nIr=8|`$NYAhJ*Z70&kZ`U~i00~=kHvf>;$WAbOdCs@?0>cs$8L*oDy>5@ z3tm_b_RH+pRbZ5k;|8zLi?9W1ip>6D<|~I6z&f!?UyK+`CHybO`C9X!*%h91a1lE@ z(a%oNsQ@l&P&vELsAnrN%EupIH@Q*`qqY)dba-)R2>WLL+<#qn)V0E3s-N$RjG#W(jh(4+ zvVCzihw((8CU2$1bmKAdK!y6(;OqCKjw-8S@#T*iue2^rCXk@zE?itsd>HxgQU-hqtWU9qZf=Vg0gZ1~4a zadisUq=;HdKswarrWuPy+G$VWikIE5L*>`zNEi|A^0c=zRk+pL7Aq1=*WV7O6X0xSXBD(U{cooJ z`UfM>@KEP!0kr77O>@P-@)fX!2jNB?bz+@ncoI($ncuQs5U4l<77o}|2CfGVHi?dy z{u>kQBrajaQiTkje`if408;;5xWv=1)iLG6^b0jLZt&h*ViYdLfR8?I=@Bp^tRk1K z%)Ev{8Hx)3n6|1Yg+|CT2zH&JOezChEtdw-j&g_ml@}|4tBWk0=s2lVKh-|@H_Vh~#G~F1~=opVCZK&l<%u`({n}#ws_%afeg%Gl}f968+OG*<&wYN9jY1i4$ zWPo_KZRen6-=<2wv+&DI+NJ{O-@sq&^06ZRse1SuUUYPSB6(_Qe}Pj0>rvh?mEANV zeEfNxgsx=U15JSbFv~11lbVR^fcbsgAW=<&$pWfDmO|Cn*zKcY>_h1)z^~)0?Y6 zK~7R^Y*-_-u3XpPC)Z}`nSMGtcG~$w4bgI}*D$ENUCWrgSQh5$^E$`Eq_7O!lZI~A zEk-z!UNn_npZ~R)Vd%car_WF8wQWvaa|+FF<*hlwc6!}+YksX-7TW0$ z-m*_tns}R(J2t{6K-U$Rjn4h;sV`o-R#_l-&Ep7NKR`153yN%XZ0|C_T|C2%`6Sdy z+*FLn1W#!6)qLX1f^Eh2$stNNcwa_|gHKCSsd9~;C^{>FF+rs95{_A~iNQfO1%YXVe^!CqwTm<7?aH*B< zpAx-)zu+*3;@;V^$K;=m3!@bGCOq)~x`rQsW?rY#K(*6=sGgR#Qm3I?WfOqb*tn7hJ-CUSV#rQS+4M{C?!kUAMaXaY>_&8-F5-R&(!-GPsR_nB% z^ecl-ciwxXd_WZfP`3J)jj+Jx>ZTQ#(FcYxL*g+`I3@ z0Wvaw61(`2$$93W5Y;q5a$nr8Z4Wla%}A4G;HnfY3b8qT1RsQ@bOEL1Y2;N@6YGj@ zMP}7j!NbG83~z@6r;L92xCJ!o)Ys;ki+K!>DUN1qo9qV;{1(I;tX?NPvW;2V8rueP z7$$Vmoc=N8pCeapUD{yam17Uj9nzwT8-Eb~bY$Dw+6ZrkuewqDE>&dd2DjP}X=fY- zBJMI>uJKRoeQm*e(}?Bu>@1}p(eX=4B{mx ztTow-3*ni(B85m*{4EuXaor?Lwv>v*W?ozpk&K5)#c+t_}%Te0^Ca}*djPXwC~-yLyk@Dw2A?l zZY%q?*k9yV<&a-Pe%H!V)M*F|^ds5YW7qaJFzfygvk}!Z6SbLU<)wHCsG`Rm1F^%$ zaLt0?kLV$Y(roUb{C7#A+XaoE2t@?dt(|UOOp&_cDt*=?m_SZ2n)0aFHIB8VtqMbmyIth8&qnvB+9#SSRnaac1KcW(K*TGb*@-sF z^UHd%LuNBdD+~!TdY}^vAE@=7$jkh8=VTom8UK3D)H}KbX zx?ze55mLzZ_a`%rgt7)hU##xqvOAt9k4_Nqf>?M1*?jipPKEZU+p^I^Wsiv(`qup) zyv-pw9H?`O&!7MRjt3aQKY?}Nbt}T7R2K*;ZSey=&lUp~o6_R(D}7tj@HzY0>7WgX zYUieuQM45=dHu1SRYcWzf|?ZJTQ-qF-W4}V=44#99C6KVRIe-;m36DM1R`x+qum(m zWkBj*YKo>lalB=vE)WK?9jiS*5Fhd8a+YRT5fBnyP;zN7{h845n~HlerC)Io6~*x`mA3nsau2I zt0C6=JibcnPn<6r$77ShgN>Ym4M8|F5c-8Z;2ScZqee&C(v3_AtM3wCa)lGB*D|pK z{zhH5cqq=!9tR`7zt%((o7Zc0E)pn=X@qHXddCV;dIUA(%BLpwfZbgX-VC&)oZtj{z5(N zEu&tqaFZ%IBAa4M!W%r0(HhhEE9IHO&6<2M!c7?%)?rhLGg3>9n&qu}1-=7^rJD^t zzHo?^v+rl7yH9Th6$2@!xp<5)E>aH7{;?=Nmyxa*2gc{bdv`_;U1ll-3KZsy5!Sl_ zQHUL}Zm`SUOmK*1=j{F5%piY}V2T=x1d~%|suKTnLP(q35RRr@I8h z9%ql>SeI$RbT;O(ncyPHE2oFaMteac3A1tb6Pc1TwK@){6Vp35B;8j+X_B=x^C|h6 zDVCj<1O6mbii6M5^sCH-`AJ=Aang^l&k;byS@W}pJ>jGE9Jd?P)n&R%WXwa8tMGhp z_88%{?|u;ud(*aRW~c_n%i8Xw3A!4HFT|T*XP7-KV@#e6QknC0r|ERsjL2Kk0nOKZ z?mI2~4#tu{UE*`;4}P?!db#1Z_-gfH>gy60aVvQK@)cRT3%GvQZkf-%f?-X##Fs>~ zo`&chc_a6s)fMlBz%4@Q#FXvl$W~`XiJCpirti=s08jghxQ}caWZ^`QLSY+@1_fF#{$s$cjJG){EQ*!d=C`IO~!eM zAViklbi>DdJ5M+nOC&<+1Dh3cAsVUVH!4MJl50y4m>`12Ib7eS1Tw)iYu@jFPq*7=aSPd#h1nmEQPR>E#XJ+ z`fJiz&$XYl{p|e|6q1f=qJWAW)bDF;!<-&ahD`PQvE zJjWxQv~CygzkD^$ECTX4$9X#0Mj+1fz%Sow*eSKMIcigtZ^3?&wLhTPXOkJmEzJqb z^PbCbV_JbGFd)TJ7reQ)2IdvqAd?mK5;4Nl7MX5(gNN{=lZXfLtB*p~NtjvfK?RWs zmigo_P3v4vm8!ox#+*I6V}yH>%Zje$sn`X{nFr8~<_A5XJPui_sWWO&*bB2+RK-&c zf{0r!VWrA^cm?Cf*=z~3tIA@Vtwc%wt?Ac_`7ShJlYj!Res+i+HI_v_K>g%=MXC0e zv?yvxU;Gu6$D4KrI%nAOD@bAiH}ifAYQcr0p=uzDW~O#Z7^8NLNlz*RDka2;XY}8K zfzf|@$D)}1`3&Zh8+lxu47I5buB0s6mZY-|p1M}G`UDSOxNpw>9;v1Du z(XqD@V~Is%Q;Eg7AcM?H99#;+ z?6NnVpG(rp0-<(?S;OliS~epkQq8-J-#n0h_kK^;%4Zjk8%yX$&))#3vY>DNhZWO9 zl?0HDY9^I{`ZRRvbEa^bG&8nyLD}eAFXY(UIAIa~&2D~ZPy>a#uCjmweKPiFr-(H! z>}t8fC+{Hb))m|gfedQR)`!X)fL+KAW?OQ$T`c5>^MO{|KfvYjcfT?<>pT2UnH#RJ zwuj;8_#^A~$0pY~&+>->$)hM_6WRaq{PMR;#7QsV$l?ZF=rZy*0N}N?KiK^+ClMC|Hr5$c_x4qoa5f5(8_lG+i;GHMaYo)b z?zemBXZIDKVUU@H>C#s(-F~=xLO_Zz_~b;Xk$~dbQ&I>v>di9CR`BiL$xV@?!9=5k za@Thxd;6qYfqhF&r=M)>1u7X1jN^p@O3%`qRybENto-^2cLp(I+1Utl0nZ!JGD76N zwFdO7dFeq;BCr_YBe9OL4=ksrdC~02$$VM@w{_K;qb_=5T;ZuztJibIS53fwW=n; zTDbHx>wD@3(m#-1L&R6esJLH3ph5oDN{txaggxRO#hO<+iH>7<1?a$9} zaGk}TI@u-5W)o_ z=jF9ay$r~M<#sZ0bzm=U<4TELOcK8drQzFMOi>B(#~Y{MhgSvC(p!I4|BB`6Fysz+ zb%ch&fDsr);<4}m)UcS}$!vsy`|2Z&($O{|FDMp@rtTy7ZxbmVC`up^N?Dfq1=zB3 znSQy7S0Po_&4^B#BwRk^92L4(z|-U`J*mN5(T!6 zM)v@q#48ui0y-3TLI5g%!SCD}d)iY*w2T38(Y{sus1Skq32UV}My$a59FA&b`zQivm0eyq?cX`<#Y-MLd!c0^>0%ubSQw)SH>Vg_3 zUaLI}++_~jCFPjSyTDe*+^@1LLO^xK-aO5sg`XC>`}qtI6*`J`URD3Qr1Sru!n1Nv z1hCXOBl$mPmuxyBYL!Bn=T7}I&EmfkPBzh(pZiDMPpq3psNje-uC%F3Bg_#Pw4tLEx`ZRX!^ekiT{&~#s4e)ui=5*tH94~JUv3j7Gr}4 zDNR2QACTb38H#16xbbFW*R~(mxxJmQIR;Hc1MG)5YYyZ&rU}?Cd|!z5`lT1gR?pp5 z6Byrj{>6Qv6F7oXi+Rr{h^S4pe-vNW*_1NA(w4yu*3YAu3~1Ir3QKu)z+Wz^;QSc< znL)FCu9Rx#E)J_B7xa*ZW{4Y*Dy-Q)^W617kS+j5xz+HN1Y?{`N-4U!PDH!dEWkoE`}*yyyb zBrgm1wb6ziE*~x)e>ti|jXQV@YxC_e7P{+Y6z@kWyj$fr^4ne#~4Ob2l&y#^{Z+TJVGql zE$5zJ0@ZZH#0j&H;9K z%kZ|wa1w$?N2R$;^mF=6VBdbdfvGsOhmKt1eqOL_k>1$hvzb#>GTQgZmFhAnaL~}M zEZ{-_!8n%0xNS#2)<79rvFKV~xDlJQlX#AH6waMDJ?<67Z`uHAc(5W?)N_q%5ZVnjl!zL8!O1eURy)9?F4haJ5ox#Z2i zoyw)jNyGwo`FNAp_^xy82S(vjA14s&pJukUp`nT1zk|iwtTi}D{Mj#d9{G9BH63H! zLz#2U@QgJfaUGv~i9+8?%5e_sM0=jm4oP3#Sj52gtTXSl@1qXFh}$`;wY(Ep%N4T$ zVe1LT#O@NF$G$+B&WP^p&v-9Dk^0AbdtpW7BP95DsNcRJg{!@*kVIs`q60mh{5&`9 zh;Xt!(Y9$2zn1(aSNU-}|Jau{eA#h6yWGFb<+iYYn9D<>$i8=SPoJrgrJWu)Ejk}V z#gFaB7n{9Rzl&xUo`RiHc$?*u)Cmna`JU*|-itl*ypStmxe-x~Wj1T?%DquUF66Us z6}taCoddZ3nrZhCLvQB0!T4y`KZyKbNBS)X4g^rFl~jGfQTNjI)@;Rx^G_nE0)(tz zCu>J$#J8hj4S?`fUCupZx2)(5tBnsQ%uEG#JIEB6v(p`PpBn;`GAE1rxz=s?2$1@vXynT2AE3=`J&>LviwlOYCv2SO8D;uM6IUe{=vTG6z{E>Bv9) zeUtZ^p7of9J(|BI;Zb`iD;}?SFvHqpohA)T=7S`Sk`!KHec&;7=vctF-U;E_l&SDP zvAF)bOocd^Gk{MH1RI#^PH)3Z!(PyS#zC(y&GE-ZbYkgGJ` zb)PIQ+kaTj%_2V5{`{GTs~C(H(J+nn+|Qz7yBdq>@vC*)jpp;m#gK&$^1ETNgx(*O zevQx5&@;G@41)dp8Lj>NcKjwb4x%&9E4ZdEguy0ck5>ETwU@7co;04`y%6Eeo3~b0 z8BvUD@62X?Bw-`(l~y;we1+Fh18_>LMK!T}W_>_G_bp*DP@0$WR(Hd-&IU@?o}GA4 zSKWAdRot+9!VF`XG=^MS*L`ud&X;b*Z5VGLs4?T~JI{n=C$~Ww6GvLU9q5(eMS}XXngZhHt-3Jt^ zr&_7Ug5w6&SU$3lzY-nbLP!Qa_ZP3gT&W$NAcizt8?$t9)YgSRJSACXA#nzUUY}G5 zHd5$5wMb8?x^}85*A3WAM+AZ^lA)+yD(wDds6jbniAhSlUD*?5!p&wt5vm# zT|U$Kc$fib`f4@7eW`JD9>CPx2L)rpeAz(a>p9}qAVcd^pn6ao

MgK47C(`y#TZGQAm9?`mmX7vX~#RPhqC588`^9HLygEitdH~wm+a5)w39l3qj$*>La2)lex3ik)qL_H#F zx`FRJB2c_kBens^IX@$A86G^KvQ{O)TH6slwW zAP}!*?=`e)7iZto-m{(TtqR|gZbGL8vD)j9uWXadb}MB|>e6*W>-6crO=*Hzhry)) z2W-M%rpRz?WY#)8e>opA@k787$wkRY^Bv~cWg9(A5xKo=G>%r4Y3Sc;y)gBMwF0cFd>9-ygTHJ*k))mx z0zxBJjxE6&{G+{=gUBwfCl0jeq#2qwu^m8qD3tgfMLoJ;GGXn$*0`JaYE5TC>F-t} zZXlsKu3hp%lX`vxWMDT$)exLcBIT<%b5zw%<>15S3oY@*OskULs+=XWnPX5iyBOWh zO zuYvu{_jctUv$V{{h+t z->77RbR{cUjkxlI+SvP@`=IVzsEZ}Jap0b*Rko^Vg84p`N6XL3M0J-NfIUrIjp{DH zf1Tx6D82#i68vP7Y1mp20^C~g2p#sWjR>VN{*VLoIZ<=~G>l=x+Vss?@8MDn2E zuB=W!{>xAfA>2KUjb(Ks5gCT24|(^vem;d?88ztni4BZz;y==yhUA$ZMcr-rc}*}R zP>t(|(|CWxfpoo5=*2A-)##OUuSH%u9D9Y5n3DoNh43>V{rxe>-u_Gm_HQE4&6Q?T z`DRLM^xalyz`hCPJ}R(Bard{fDJLbty0Zz51skEvbu%}&>)Q^5?J;567(`)-+!4)sUD2rs1cBe zIvSAz7@cv(?sjrr=^&`)cKZ?_xwbs=34hy3HxUB!{*sfq|Ce>#>@VwhjPRC?+ArPF z4w1R*u?1u4Ft>(px1&}6FMQ*(7s?sWiE|5iSiZ`s%NNXv1A6L<89xZf@3D`&n`s^*VVB{rCoMhelJAFg5N0FC*H${5SQj{) zaM4v39~94IqrOQ2hxnZd%7AO(kD*Ky;l64}<@ve3jlb;SwtR+iTi@I#8)nYSvb2hL zx6?8mWM;4sY8n*w{mmiBH@n?zb zIQ}tcvw(vBhdMOFnw!ANhZ;it#N)VN7x=!+*xP`8O%X@Xev~8Hi%;|%4S1;pt%n5t zvUdfdOs@Yb$|RPgNklGNM<%YB_u8YPRk49Rq_xG_?+KrM3gWi(Rt-yQ%k!_YJjoR9 zSf4%PFSpL5n3Y|!6Xbvml?f;-ciR{EAUL*T_911vJbIGc>(XMnxxR|@Iw{vz~FjPG(~ zbHcQ4D{p#a_fAz!1kw%5R|Qt+ys@}a)%Y^8$_j`ugkIiBMZU*IQbO(ZN$Afp zTWSD2&*|=V+x-wA{x*0;RS7Mo0&5ur)|vD*qzYh9yo=;1vDBeFp%68JR2qLsDo;B& zNw6BYu}8|>UmcuCb6jeBHwYM|%f24uY!l4%+4?-yjh%n-K=$uCOrSnRnK`)|kykU6 zTz;LTe+~T4zK*PadBt5%SP@YjmqQ2n=w`LApVtP(xcK)nZ>vH2?aI;9r5b<(CtZjo z1N12|>G?-^$}{&b;pxAGr~eY3{!6&|e@eLdpZ$o{|ETb^D5MsHya4(Cq^=M#?=6hOW9#HhC z20>X0GsCd)UgSDW+!g|7*)%cy;mt-{4O<7MyB^B)asoNM36!&CE%w2mD5ReAPQQVI zfb#oKSSv5;B=G2qx`5QNQwh1+AV_SgJ2*Fg_gr>%2!`~VVCyu6###Q_y1loPf5OQp z#|)0m=^g1V*plqQS~B(C)(7CzH~^#Dl}=?$@S`eUUYeDcjmyJ9BCMHWcmXFa9mDNc z`F#Iu>Jzn9*5kbJ2S^@d28|Ni88(YJK#t9qEoCyOc>KR>?l`9EUTDO*6_5;0oKUsJ zYXJ|@V(fjF*pOptVWZ)TGgt$`!T9O`k`i$5Up&%wR5&M7d(mG+68?5OJ0M7Epf$iJI1|xoc+&ojHStV^6S6(o%1tsb(2S3X~7ok2dFApUQh3>&Xjp# z`z*16_eKeFyDdKos{kJ4G}WU<;B0Z`5d!Cr$iZ%(52m>YqYeIKPkZ<(&|2@g_UAn$ zYuHLdQNsk?nf6usj;BvAE0>ML1)I>&1lKreI^Cx+QPdT`dq z#n4aDR4p*!$4b47?eXoodmlF%Sn(Jh4-x1w?SxUNsP_~;cNi)S6~wvCcxsr6+b8L$ ze2bY#3KWt}huX}2!_$0r>4B=2kGQhF_kZ#7+;RG(OL<{*8D!JIz0?x@al)^iI>(W_ zYsEOW@{FDP{#SF^f-oFSYukEnUoIeiu5EoD96Y6TRSufOa4Pabn#!Ew+D3&h%HwF< z+bzAA7-Q}w&3h$*Yb>pCQXDZ=EUg>nVt~XHgcp+lsdG7MH2@tNJi{1878q(-wOaRl zg)g=;c#nCGtGzQ}XphQT1LrNUF#4V}-pLE=`g#PMg`P(Rs=HZ&^>YEL><$U-`zVZQw6mFmH6*roFY%!%(t$8TKu+roWXT zw0Qzar})O(Ns+V4vQ|Mb8!co5Teie1Xb5qn?&k;{C6?Ho@k^8(?b#wNjY(Yp?J2eR z%Tua%tf(hnWW`C^?Ozf(&BRujn~`b1Nu2i1dIZ_7>c<$}BGTyIBKnc|M)sJI7~D0- z0z{sA8BDG!OQ7!2L63I;@!-vA@dZBaHpIX~oaZyI_OQ)er*mLF^Et+-_{n!a-8!PD z&tO{vE&nppz(S^TZlvPhj*iE*;(h>9J}F&zro{WN3` z1Df|#Yn(-KI>>{ERC?Ww29{BdRCJ_u_=y{lw%0+VTL%2~yhcW=*Rp!FNh-kAb{g26 zIYM5Xo|uS~=q8s8q_*j3q?JEV+Rldp6YmKJ%p(VKfV7Zl0&`1+?8>s`$;vZc*j1Sh z)DQ%@Z0Ac`2((Kd;Afu4`eVFDY2)o7fVud#@uBsmTDg>v-t)Wn`BQh(JxGP5P=M3S z1~|<()cf9>C%Ay&Gv;k*mbODvtk!2X4&a`?mu-6V@L>*+e?@q4>VPnJK-RKGD8BIZ zaIwjfTjR{bZgT~lbfCLB);a+5<>01v{reMzX^_#GIlwZJZS=&{z%a&R$e zNB1BNI0{+$vSE@B2Qq*)=`Y3eLG~XYXzRe}?W@p2&xXsc4n*o1I}SQis9t;Ls^Mv{ z`5BT7Tf2;U=#$K1->0Vn`=TVZk;TPwi*>eRwjOZ)7-gZ#fp%VC!s6$UVfi4$-2(*Y zd#z6a1vCI0AnQtGeC7j#&u^$U<|g~G|9-o>EAzD+*oewBQrhmxIIKh zxTo<*+^#L|mku{{ijW<-;zS$dJNsr$4e@VqeuD!n?1tPDpeH>3s>Caa)ZVaU9 z0&nmB9kKaq;EEH*>ijCa^%wwP)S|{6`!8-=hk(<;b)b-f!VI2}lX4EvJ8#rVVM(0~ zSLSt{tXi`)Z_!K@TL=&F!g(FwTI=eW`J~vJM@```S4@T{74UTA(r!ncyMB*eIiQ^stlv}aB#>RDicl&v)Q2f zwb2{2Oh=sC==@S+;%2jr=91%5ODE*J*oBur=f9*`(GF{kgL_pSSEtyb^d_sD8IT-8 z1Bp=1CY!IAo%yokZoU1PPX8c|(NCWV#ikpX@IOw{FxI;{J%q}3agn4^s6#2=_I5`@ z{)Yaf0Pz6Nun>dh>GK5KN%&%j3*@Sjb%F&eh4XPLVCkZ?>aREl?&w@~b;FJYkLpQ# zF;iPz6004Hag}YBH&tFNAXc;+ER_S6&tY(Syw4#a^qK&$Z5NI#{p>sFsrLgq@2gLa z7pRwJ({&7Z1KGv*!=&MiqlR#zSeYA%PBuN)gu$KRz4H&MmiV$wLESMOf5ta;BPHNQ zVV?KRwEmI0b#8L%SKY;uVcnvumI{B_Tm^y66<{zJA+J*6TOPVZNTrDb)2ME#?J16` z1wI2;K=Tz*RTel6mcyid`L!9i9fVuH>VpeRW#WkX-nmaPmsDY14@!B+ff{~^%_~9o zaL#v4XhSaEg*#~&c z)XA|JN_3YpZHWK@TuOQjmqVLz*m~8d$)8JX7yk;kCs~xzrVLdS!@;xNYgq7)ZvUA8 zBWQ}~Mfx~`?zd{QneJHabziT^h5Kl+wQ_>E$b0~9jOXkJzU34_ZcO{(7?M2jQIB4< zO{Ei5xqp;z>gmbjRP6{iG*=}5x~Bzfk?j}FiD0Du=PAjhLq#Zy>K3>_YSXDxCqme+ z0rL42akfBteV8;+ud{ofM0nlTAUb1LyqsgrmrgD+Q z!qgK|&`97I-Ku?jt*8pPEu0t8AGSV2xa#tRf|*%~ibpGuSzw_9ZrXq}QjOG&5XcEV zG$l(WIi^^@^v<(JRm=mp>iX4aPtE~AF?j*CU#N&F_#J|0ypAYusr9Y*Zv536>X`%a z31StpS?^)^MLGYKLz%1q*TI;?dbq;ocnNxV$_$(vhd7j{@L#B{iwAd!QF!whqx0{6CoL_-qkzzS-x7-%G(-en$SXbyahCyw8u?dIj-`~i(d9v)*#2L?Xpb#R; z^07vi_u~j@6gz+#xf`@9zyIf;Ib3jd+5Nfyf-B~`7G(){AOGRCs`LJHUKU$EGYUm1 zk(X0LRPF%}<-_@*ulC_xMhR`bc3^eRt(5<|00s;~C|dzq^HZffIj660-0)20(BZYq zt#MD?GDN7}@&e4{O{{gQfCMZyBKRBwHol-~aRATq=7dWBPAUmH)7Pl3A9obe>vk$*YQyIRXCx z+YIk2C;0Gxx+)yzx4LQMSfdlbLJsBkut7;P|&ae(Mb9~-?#xkCji`($Q>2zm`q;w9RV;Z0N4>G zDsC&4r+fB?PBYGe*N!LIXT+W!f>=J)3{h2cRZUKINF<+|^MAyh12O)8KL0=4@4tBb zgir3TKR|cQ9C*l@2=7V$<)`+x(C4U)Y`(~%iguBar7thf^*#H#UBgJW{9P=T_`{bp z+o)$ruUv9zeHp~PLLKac=M%jIhFVUh`;Xv4*s(ZH#Ml6vEAk)69PpeMJoyhtX!XD6 z2=y-rLQa+^P88Mj(E+ptJ>?t5j?D(RoNS2kWx#52B3{>sL1nbq(*+BV0}OWoe(HDf z-55hI8#0vt&#{$TXZMgRgaXMeDB9PfVWJa`BXE&nCqFwvX32CX;f&?18-YF7{uMP6 zWb>2g4sy_lJqd(mO;R!U6f^|zD^DVS07=s5Ak@@#^x+q=mjJeWJ;p{`;9V3UeSh;N zZW16X{a6&U15)4izMRrk#$EFFt;0wX`)4}T60kB`c`ZiyBddO~u~RiEW(w1tLDVg-bzOS3n;yjF)!48t<+7JE zClaM!Q0-_}>oRKwjbA?}*1Jg->b9&y^U6_PcLS!ncG4ExB~MR#9~VaL4Qk<4zM4_a zl(?rc*FtFD4=YU`(J37*>GO0td5>#xxkTU z!o{wqa|j=05yF`@q#%qn8vC21sV-caJmX^Q-oCgD<>p%+Sq*&h51Z&VOSeBO=Q^}R zqD`*CpVSi{oQ~@ZyJw|4@LR=%nGab1m^4$;u~lEBuYRJPR_y{q(wQHg^{?oDhLBl>+^p^%HXS9#-XypX-OU|k`s^#w)6Q-AV~vy?nZ9=q zlJPDCT!3yukFS**IUBG3+2&&b7+M&s!hS`b=zx^4H9&J!td-JBpdlOrxZTFPDLzW{ z-tu!&wrEiU+>xXvI*BxkmHF7bElsyN9VjlR!j%*fqwIg;tkqGf7T*eg)J=G3e!Cs_ zzy($MjnR3)g#d7*Ffj9&2hIY=tBuw%H6t3p-svQgc;=SPt&2B6vQ}TLU;QL_h0=Gr z`^Gw4;+uUXEl4_IJqF97t4+kgN&F|n%)V8J5>A}EvOEFSvSR(boA-Qc9D?uVelOo| zHRs5yJfzMR2dEYrca2K@WBN=^lGH?V%k2lJ#K-^A>eGm6^nCVZR?GJ<`{yt0;<2gp z^oBsihN;28r0jKqtM{Sh@w$wB%2v#U<4 zF8@ZkA4>&$c<={cN z${q(q&Q|a7%kE~HuZveaoIo4IJp)$r;5(mVB|Df-Up6160)tzN%S-~ffZ9c^mY zC8-Cm1m}KVwcqfF*KlYuMO5bN?PNy`voCXh6awO?vys@UPr5v=a_7dFZk}eT*HF8& zKgy&A*Y$j1RcL|pg9aA!+5mbbh?&d<0On6aVXKR>K*{=V75^>fkL2qGhcV0ZRgPI%$mLc>RLn+?^kyBy!h~_;B%VjdL&CDNu0o;s(|7 zDSmKpWt-?(87wK=PP#*B&V1ekB~Jk3h7dl#DGWqWTlL-K;+Mes3DjwU%Df~mxXPH$ zd?2_SuByI&b^+fLi-z`BGc`F+=6^EZGH4U{?GR?LVC2Ovok?5r@g6PZk&_`7)5w&P zn&B$@SUCLZLB)_jQ}+Jvh9Pfn6*%INm<;VRRz5}M)t7DqI?~SX`e`W${77)o zT2`w`X+J=qm2niUu1A8y?54?@<1I#rTByK6@pV0Z?K6zi&C)$UGqRJ{SBW8m_W zrKKR7njXZ?-b(jr^oIGa>~1tva~};2$iZ#JVH!0#NvD1|w0~OT;qK1z%^vpcy7tim zH8hd?y6l23X!S`ia?YhT1lnj*xb&Ay6PagyM*-`g`SFcXwKrb&M}vtcoILdsT^xiH zBW14+v@Y=44vUrnCdHjai7#8}osm{FWG29+w&-p@Ap2}M!0dv^6N6tx)%KWTE+0-m z5I)wsNtSY7!DyJY4X*d)*;5RVOYxE#K;zTmU@YD9M|Z_e=jh?6AQqUJ^Uv~@!}%83 z)DHTDeq76>5lr_Vooco2)KM^d(fKo|W^)i5mDchai{HnQai9G0Usd0xl8c3uVjC*Q z=!bOq7iVdTexDu(okCLwokFig-_Cj4a%yjy?esWXa()McQIt8X$?$$|bj(yaHyAl# z>N4=l-x4iY<6c%%XEK44MC7KljyBLk&->$Nr=}DRDY?6Z*0%&GNv@Ib${^hvZDSPMx9?-_fmc9knK7aULhwJJpbReOUXA zH$$(!1oPkBLLV`%jX^Ls4C)a4^VM9acJ3;}J*@D2U2I|&Ww2++MA6{glnY6F> z*nM`N=H&WJ3;A>o+zIo{siYep-)lB@N(6luVjAafIA{R9>7k{g_^3!dFu7B{F03|i z(rlzPkT7*9VFdRbiswexsN%?DGj3FV)I&sqZ~Jy*R+)7t_n@`^r-{Rt$~ zIYH%+Rm65*6%>~Z7wSiphU4Xv)DO)GVwP}M+fl!j)3Law#+e4k3m27USLcCjIwtg& zY+Ajat-GN0bPCVQJ?lK99^{3$kV_vztDSu9{H^5kj>|X4dbn&0zSuudy5R|7a6ZL~ z!P`z_k(VweHLG_lUdLLw4j)peYH!uo$WP%Olu(TKfEY0_w$&+vT=(yb#&iuAP9GEr zag8^{EOK-ah?re;iO=wnJq)oWpm=W+4C3tkk5nz+9X2}?V;}~>x?1OY_$ z6v85G3T;H^cRpTaO_2dVjPgbLX6a2U_Nbc|Srou?6}bWZ=!j~m?QuH5vIt25Lm~ID z#<@;`Qx|BDE2^p}iLjdTzh+q$Iy&l=aTl<7gsMj7g;}JJ_6>An_}eFWLSGiAO>XbK z`qD)_jnkwv+qTd>dych2G6HCQuCXcKgK-8Hx-6GX!$%4Tagcg zc=h!<@7eYRy)tJvwvM$uR|NoGJ;6ICjC+p_ypO)htj3D@5#P(%Cvj|<_iY(`q-im9 zz-2GKzvp&<_kK^xn^9|xuROhr-bWR5UFu7E<@UunjH4D&99-d$clWau{8^VPre@t< z2<0|6EVrej;c0n^vmhkLtqNEQX>IpM8!WFvZ(84&RcK#w!O&cDb>&Q`am255Tw6zb z6Em?I+piG)8?j8{duc+4J%c=8u7gK*r&%Bgxu0G}NBluQ0%t@&k_JD=P;#mPsXI^? zgRNVo&Ro9{#y?)qRX8-JaL2Rs+N8w%<;YK5-gQ%~L3!;>^#;`300-*J1h3BC=K2+e z{2cC!oDiw%<9FwDDJ(KAiNcYs2Vv^r2K`{zM`sLnY7%h6dlMw*$n|P1q+d!A0&MAA zb1ugy7RaMj70>LHlF#FrSC-a!QR^j!wz(!U!aNq^$3l*D!+3#C%!aODIuiT&?cXIL zqcyB0DJ^)v$xQS0%q+0zTcUvK6H-(+!VN)+mw}-yclgCCYR;&2WwF$AB);`ZJcuMU z&$0N1-aZPR?oE<5Dvfm8cJE7m&uWH!hVJhmQ8DVP@9yBvTn08#MsC-xNc+Qwk5_0t z-5Yt2t@Xcsf3}!@%IrDd${igFaL)8@9F;0_C)2k37v?qpSqOSf#)0O4tT}S{63{Hq zG1CCGu?=+GurW5!dxv*je_@>rup|EZsXy3MaZ3W$PmciPDKq)e`JYu#&@hA&RIJI} z_tJr1TscW`8>qeYW!ht_Ia2-3#)*Y13ZSc7`S9A*{yC{<0-&WK&mNQvp%WMW4V4b0 zKbd-e6HozMK*t@fWtyMelwW1MI!FHBNY4s?{WK}Ct5n|I1jSII4_ie*zwXmRJN<`v1;2rt z?5w7=320VrJQPbE8iopyk{%Kx%N7Iw%w72J`FSMRpJLg7d;OnCuAoUMoAI4VTo3)J z|NLJu-TFD_SaWjIE-Ay3)V$G%CXi~Hv`HQ(4_b;IfL-&T!JY=35vt&fh#nU3y?H+| zo5iLQP;Jd(#hPjTk}?>xzNLW1C)dF7{(ts9{}(qdmyaxHj8fLL`FT!|%pEY$dfH%~ zQ+VabVUSejRz9cF@Qgbi~}&76^7;3U!dgj zKApJikfZz9PtPRqAhI)?b%gInG`LZ5EVBDu z$FUn&QRf^~^H_mu9(}Q$wIT~pee3ILF#n&o!UxK1KO}Jh7hDzzBx8GVyNNhm1tkja zJLGbmwHH;!gnXwOZ_?KXMrdk|4@qZ^ZSj#Eq#=n1#DY=RWuI2BfgR-)d9|h9!<9AI z)nG-XXtE#+Jt%-zUYUNrkN(Y~@_AEM`C;Ao%D;;JM>AHx)VOZZEF^&+c;4@%3Q*|b zNFF8Ep5X@p$h!j@Ntm+Po-HDsCE728)a40cUPaX!Quic#gM*QXe7_vdrtYPzB)tQl zDf@eiV<5@=;d*4_!UGHs$MtcD{e#GoI)gn(- z0aE9k@_VX9zrCa&(_f=0J@A@LE){zi>b#ajutUzH60~eQunAFF>L~nF_mN|EH9*14ltpB(-T`i zxA0Zqu+tsaFL|yXQ=+bku$W@YyK2hpzawTFJ!$9xDCRI(>&!CB_Q}CG5ParmE)%$H~ie?6+8PT*py6V5Danw zcHtP$!{Ims;HDH`^Wfr?{C8y9T^zY6o*S0^9G7wd#ru}rb=2kE%-Dc4_vs@c>ds*L zutWu2P%a}Bf!W53)e-k$Q}VT~5|8_JM>#o)R2SlvC=W^NFnC+d#73MwLUj}b+7-5Z zC1-n^kH1>;c54VD>h3s<{MgCDnH|$_*SFXstkC7^H>Rg+Dh3dZs<#t=*xUCsHIrDH zG6ZLyutu&j!i#+&cDLT$v2N6DkQnt#@pwnL$O^nXrDl&&8PsHs(|ra`@dH?0&k58o zKTS^vLfR5aqu`CcO+30h8EystFpRubXHo5%Gwjd)_Kigb5<&6S0HGIywvhAt7EX4b zMon;q<|9Anw`0^40>%DB_$Lwh>Bby2$=^X-lw*Lri(OdrC*-AFSKlIb2 z7&L<%2ReAKovUr~^LkY5wQoPwIeRk=KXM2qszI^<0+>D3JE51ABPP@vUXRmE3Q8Y0 zaZ&~tN4fc*jeO=ldd79aYZmMF1Z0&qB0q^mRp?cQd@sx;&D&d)IJl7dmZCR8q*+I3 zwR7n^tsE!Cd4}JDR3rSkW3T^1RI(*a}}VFl(Csmdc?XrfxQa4+^oGY&!ps(czVZN}Z?KAZ;f2;cRo*~0*D zSyZeVfRx5>+?no)>s!o!xnH*!Vfsbz9?k?2=lPcDV?S)M#gx~NOZhv#LqU-zx)Lwo z7wE>GT$LUum9inakOLr$x$M3c3fciMG2m;Fo1m+^3F92V=||oXI}2(-l}EK$;nX6D z!g%IxZmS!A?5hPDjn;&0TZbSZyvcUyxl;^bht|p*Q#RIqGCJz51n9mL}|hw zM|7v)4t~XJ!ejURbtR4Piz$_`Ze47x9Va%eKK%o>_|3es@nzZ7LH!BOzz>d(>fYOt zmB_efl_NG~8}Ci@3ahA{6u?_0=xJ8C+cU5Ay~`fKJ^bT3=uRJV;G}ArcvV;4Qm%YA z4!pr$jBgzZDz^=it(Sc_-Rk?fbli%G^#rCsev7L*ZD*X=D1)H9R89JH+h@De<`?DX z+NrzvI}2<(EtN8nGmr9FEz2I7s#rat==3#HAZ@-SS0DL`8@(~9AKlbbAU%M!*6>*x z3vXb?k}Rqdx6i4Ta|D*|w=5`ClFD7qSLJ>FYAXCOr4br?u_^R;W7+diVzU;auWX0-5m#-1}D$xiJeeOB|}zQk5-|T@YZtG z{?VaN1%ju^wKoB0t%1uH@g2CAizM>nZx1{!EBKFBtLvl3HEQCxN|cfSqVnqb1w^7n zC-Pw|>>C9w`F~tr93+o+u87Hi1MsDFxTu;s!rfO0<;_GUt%?OIO`Z4dg&x}(2>RK1 z@^wPjjn2tp3$c4U6Pc6K%BT}eZHx1z!}0x-KFSc)fNtnyo4xx@NMo2yR?x-+@qky} zmzj1zAM_#MlYK-LcL2<2;#}yF6$-qNzU4ThTO>2uz+7+7S)s7ZPAn+j4zLn>wBBu8 z$Tchr#dohT+WD^X=NZKu!L%$=I71gQ>vUwDt1HR{J{ks9a9kQT1*V*;VyS&NFK~-9 zn9a%0eL2?T%_4EESYLHEXM=UobxI5UUf)`{5$M7dX|D>ArbtA312$wDYUVAiv$%+w zeEsODBg3oN*ecf@wyxj})p;dv9KlokY1HT+Sj7NP<8{3+^BcVtZ0iKGE;(*6W@LJ? zllj==zP{Mq+1qa~sc_4IIhULzaRkQX3^K~m{%ac%bz!k`wL?UZsNhE|`~q^YA^eli z6Ch2^^0)FF0T&47%W0Q^4op?~<@^3(u8*n@I; zzn>fDkjkW1j@@5fhfif7-OmIT*e+bUcfZ^^d@DQea`N?`mF+NvOAP5&-OHB34BKPD z%4`-8{$d)-8gx3=_i*K!&(YYdDrou< zO+B44lC8!VDl+Mnu1&kZYFGs;g0ig!T2wn%Q}tH%2W89Ckf+I9h{X^dkE;?03AGDn zMpb@-ZV-MZKYoCniHq3u>yl*+BnbtaGLRcrFW2c2`r)Us=*bN~$HjB?wO^6fM9Mik zb|h8slJCX4$J&N9( zu7RWnlQt96V{2fVs1S@moC7Y|lJ)EUK>+7XRi{(#1iXHQeAGq-ysyX(ey0!BAow5m zksGwd&8n{w;^#dZE4j(b;bYNmKnj>EA^5B}Nvr;}Ds$$smJjEL1OGk)vQ8fHcrlcszj9PJ*__t2mNq zxt4y&aG^V%D<$p1oYO-xM^)k|3pwyFSCb{~U1~Z;DlCy`3TgKb*n9q|r+;oQXOqv3 z6F+Gz&!r7z&3*0-ujs%ZqZ|!lK^_@A)B?KW1$K5-){~E(XLyC58u2yJFlR5Eqj=8- zaF~~cMJ2+4I9gpxdxDnVYt_6q>t|t8v*$RB1R<^GhPu{SlH3jaiM$lz4Z(%gKUE5W zt5#t?gO?5A*I&Nk=IG_KrYI9V)yn4Jf&6@5BZfzKv9dQ%WAK3D*`_`OE@1t(!V{P24Lpq2~G}q4ds~zf#y`sVCUiuCwOMs_;df znQG%ib-v!8%&wSluTt$FI!ov+)yJ~LPJ35ryDLyk_pS5v#)Ie*G{>@H?UZutFY(zU z>-Phm3(;@Ensct)k;tTZ1~qnx#Cu&?`tC=-H0y9@`Mx-N+(`?(8V*`Hq-+&nbeC_x zUAG-Ah5z(y@d(;&DkVn2ckjz6 z&p~TGLqs3UJ<@f-4pl0Z=QPLj@L87Zsu-H@^VO#&%Pg1uH}A7;bz(eE6#K23@0em# zpaoHuYb76>95-lb%?gZ{k%*V`ZEjzALG*3MS7<9pXluKyCO7&<0rKO4f!07B>X`~S zP7E50qkHlf>Eywq-3u@$wr!!JN&rn6SAT#@6u+PSd+}i(BS4;3a1>5#dC69Uv4&;m#$90;SHFBjKiY6|sbZ@@v#LhqC@s8BLbv5u@( z10F;M!xJ(22ET>T{K<1Q!|%g)D&@2M(^r?HE_=3}Kc1=z3gMe$8+UkK>Q7g9@IToD z9Zn-rhjt*c>mJ{HQ_ej7bo%fb#PV=3DsVok`tLr_9CGQp%Bmh{OE0<&ysM+%nM=6o zuRR4fd4Ase_9ugjfjU|rSAWhfyvrfm`dtW+lU0+Mldt1Ws#%A%f_Hsp$-B&SNA7^m zbw0tY!!5UOu{Q-R4kD+N6stSw=c&LdUL5lEXZ+?t0dzIc$7PaX&q4jBW=X~N{(a!5 zC7e9Dj@5Q;Fb_S1x92E!yeEF(&y7eTQwO5n0IYTLyBf-1TcEevdaxfqeEcG)x*DnZ z^cqxM8G)*+9v}+Z{VD)eSH+;}>OMEnTZ73}S9-sj?sGuX{cla~BGB|Evj06z?>x}- zjQ`g3>VT&AL3{VV|L5gJ6TiPq=szfZ0>|oq(DNP~K*6NFcGmjvf2!;TN1R9vpfPUU zUy@m0gf?Jz16Nj`oA2i8A9!`c_y7!dO5G9Y;#|NU9#m1>2@v~&m1hc=4^N^ZY&pF8 z>S^I;9{wO3l^3UCivQ_I4mrrxlSdA+fR7A-7e|2=9CYM70Kkrm8WEpQ0^kL6nC%s{ z^~*29^Id?!d?BvU0I~h4{u=x1-D~G4k-s%xEpUJc{=0(wVIas;{4L0fg9F5TAn7*< zS(H4h_@B>{2O9sg{r(Hb4?`<)H4xb~1WT_$BO8fH1jHq^KZw=S=YAtrRoOh|{()FU zzEZ$Fi2;b!%H61|B=k?-;>e7d{WNkj61K*Ctx9flSZLV$Z z_t_jG921ot$Jr@Er-LjbzGDkgnjjkYQ@(LTH|_68Vw;o#e#ma4SJ9RMpNWkd!rvdD zY6J^1Yf53prOSN25#68?iQP(wrZ0mr1M-B9T!n6PN0;yozEuk}>Mc{^7aQ@i5$EIs zPwkj7>PZ5pa=;)_59V~m{<2$C&G;c1b0!U-$tee|_{(l~c{j=}KYtbTB!=tguK+jT zr!7v$inF+kH(|CcQ$4gO2NpPFf~s8Jn`3qd-qdY;JCEH8w%h(Xfg5iM2qZk)N*c$L zc8Ijkz4o+{eAH9S?P+;dMxF|TuJ28L{p`5<)~_?>1&&D<^!aI(sU1D9AI_*i-LZY zvfNv`d<&RTG3swVL#;>7XWmyL0sO+<$+tXUas_5pA9%Rii3zUl@POW{>*(o>u6D}_ zb~LrjIPB{F$bN1KLE-c;w&|RRA?520C1*juK*vU<{qhSwBHL|=gT$P4QjX7ALJDzb z+H;HaBjdwKu5%p6JMbNXuC)54)2>r&QJGU0pKw<3))XS=9s|?@-@~$UHBpCbm#p|D zJuxjtbH#{Ofz$nhG<^@i!@z(LnZNo({@{S^=CG($^(mx2gBNG$n{6+0H8r)3()9zh zx-@3-F|ck#cP3YBoQ(C2VZ!AnPn^|2(#2kSZ*4}6?G(u!Y12-tcFRS2ou^a_gyDe zfA>u>!;eDi%T5n6qXmI9nAY6nPke zt~T4>Xq=NrldKxHr@sA`Xhloqdkge}ouA(1sF25iz9HVZ8Zuh-$pKmwC`Dd&;T2CF zC|UaAl6&A=U#Bq6%_Y&I$=!BjukI-R)=xzrue6m2UYakZ~vpW4%7Q5A7@#!+-$%ebv3$prjOkd1~6DCzF=MI0s#QuDl zEE^9Kc!U3Fzq|UJaYN>-LMh*QN8svY$VC_VmV!LBg72{ibtdh$`C@Yq*lpS%pbgbh z$pQaWL3)Bd>%?pI7e5<}Idw~?16iYC$n)#JWLQMj9v^NuK+ja(c2% zwsmz&1c*kjlUvlA-f@8Lsusa+^0-9$S5)lf6M0}cjR(7r>Q$aG8t^EcFVQ_K;fwQ1 zWOu9#2;DK^X__?bdt#{?C+4yiUvx}4-dpClG@LDR(t7YaDVu=7a#_3q_S!M%PeH{! zD%GE60@ad{l-*X3`Pd+F;N-?Qe_BCZ-u}T%a*9{MiGS`6lJ;oVVE+<^O z-$Bmw>TdWs``P(nwKV+$gf%O!C7Kt4^9HNfJ@i>V{3fgA*KE}b#}ib5mhSGr3647; z853I~aw=2CB*^jHtTIy$>#3)khKztoU}~9ea69F*BQT$s>Qy*~gWqHX3o3_?SRVm7 z10O~pcUy+$-3c>$n1J?k0EpA^o%Zq{Ux^)9_3W)z9G_Vphv%~;n!`0#E* z8yJPh5$(#}r^P%NC8A|lGAx&~8Ar7sO6{dX(TQ`dVV_!8uU|=9@6!<&eXR}TO3+8c zKI*K5Lw-#+6^UA#8HXoVzr?5d?9DfD6`5U3Z^4)QD!1dl1)@lOh$`jLOX{FRYJ}-x z>ODBvhw|3)!mq&Z&5$necAra4Y?LnbxmxAA`SlkKS4RV4D1+%lm05kFigx!ky(c;sn_zT9na6~?vwr?Weofi$QCcRJZH{%R7x2*O zeAn*M9@F8BbG%mC^5C6`JCo!nHzR8Xun^ApIhLsFgYv73n&q5-jJV%m*}zWNd{0sL zt{4Q9Z`Vc_2vP~sY@j?+RQWm^g*15lI%8Vl{1PmhM+0fPPMG#YP65(<9eT%0->-#pv(7gHbU(6bl zqbn~7#CcR#yR8wYuA7kVdZrz(Yl$^S08*^vm);|)w?kw#xgb52K{#wj-)HjtMJ{BI zaa_$XF$J>bTF*&+^C%0Ya~-TBLi zWGs-$P|l9)vNsbf>}K)4@L2-sYG9K%4PQC5Ge86yGvqJrvKn;tqfLw1{+VYO-Xmc6{YnHcy+Vx9SSM4Y&5YuJg)6JNa*$M+#Z8Mg3=pWBr4+BsX_ZbNy6*4J zz*@?{ihDxHHJN-7pasuOz`bRbZ2ZnKKu=N6_|LUhdOdZ}RmCiEQQ!|0ov0XuB;GAZ z%2t57MgTpzQr5LiR{Zw0wl@c43>jMcr(pfl9UNpE^V5!o|oBOsH@7gsF6RF)J? z#a;Ep?jA`a->jrGXTXfDUWUja+&rnOScwSfB2=}^3@Y%>axlfTyHMuJbR*N{FBYCMpoV5N^N7}(&Bsy|KOo` zR!UFE&t8~zI%(2x-_7rtTK<-U&}qYyIj5yZrg5Vi^bYoz~4b&XmJX2(R`#`3B*(kuEQao{w!9>l6$w0=PJzuDD z1Wt)(EctS5fbz8uG#L;Lj$rOF3c`JM=z`<4$mm(PWR?+w)7TPOAxS5?mJBakg%xy$=QZ?^bs!J_{NYjcq^wcAHg= zhrrgYS|<|!R9?A90d#2Tw-~>9c3DPrvg|Yugf9XdymgC-_X2w8t;1{_%#a^>A8R}%4$EOr z-CNHBcdE`Z)OFdfNVnTY1FVmqlt|{(0EQaF9r(FeOe_;r=}LrvV@MoWmp@n+{!6wA z1M;DN(Z*yI#vjhfp<9L{O$Ih+>ExaPDQ~i($#EF=9@I4%1AWQ7(>$uY<>4hg={u?v zEeM`(CvRnVAK{g5nFKG}5lM6QPY-la?&zCj*uV_{8+dGBGXCu8TTmSp6%hiy#SVN6 z{Deh#eal0E>(aOM!MBL?Oh#pRuQEt~ItjeGqV)5|s$#!c0|p;zjuuxQxNPgT&Z1HF z`gRS^KFI<7S1EO5xnqCTDar23wRg-wJ2Ogf>Y|%06TiB81E|1Ah(ivuUo}9&E@?gW ztq>w^H);drTB{)u#&@u^%jBgUa1f{tI0#{64niH^AS~U)Isgtr!QUJNBfvp84>$-c zfP-Mrpr%3j&uhE%XmT5H5E}R4cpMlDo%`paEHVed0uT)R4I7;R2chh54ua_i!*vNV z2Z0etYPTI|RP+7r0u?yxKueYeTJkwE2jSJNrw#DP0}etP_!c(S8a=>4xCuB2_kao^ z7BB=j2t$B_a0;m9qGS$&!3RLyrk>0*0PSMGIS7J)gOKv?auAMyuQ>TP2ca6si=JAR z|NTF&(Hd9xzrjJ!1snvW|3?mjbZ~shuMfXD2r)?WCOV~{kAHh@A>bH<9C&Tl$zI!- z;Y+}4JN&oTwh(x2k-%#!2E4X;PJw&i<5$9Lyx5~Ih7_BC`H&uspKuJZPtu6^(pPKjp?LOmg|D5(}USy2IX@F1FnL77J z^t-xYM%dn()gaMJao=$Yy0}8axB-|ti$l?|xs2S{!5>3D{C>#1b2buWDCnFa%Rp){n0LKqMd4c~NC3*jt@`Rb#xDN+(exFoi zX8~!VYiKepLMNO%Y>IeNqM^N!4!QQ}*&%$#vq`VZH^D6rq*Q0b@&Zep>wOU}x^o{T zEDODFt3dToXY>yiY2(d00p7YaueYWlW->@h$LGjp&q} z^Im~$5m20l^$yjGgEY)gj&;5tXo6{p$8%o|cQd`!iFLQ@oKLAL7ou+qVo}ift}CC) znG1CHNkb?9#oCYFq~ZPV4s;w2hS3mXGTzC5=Pyw|AN_MX7f+~pGF2P8uVaYYgYK*| zMgp1DyO9>~HI06V`>rK^)>*!;Lor6--ujr)G1@^UQp9fkev)0mgH6V_qEb^sy zx^oCtq&*2B;^!ClQxrUq8g}R2% zx>LaCyXy2Iu(YUnoSsu$z5+ZtFlnmz>!AYX{z$Ex^4TVnPaBwpH zZ7QC+nYfxIFes$SqM*%!zPST;Bw-KEr}s%oY*2l5CfO}YoVR2YOvt+-rb^g*NmIe& zD2Zcn-{(0ortC!%#}xb<@mFY@UJJ3Y>I`NCJ5jHDBM4Zff|^TY zPbi+nheGS7igk$Fs~2CER%q6SDM;?eduoo=3iO&asaq)>c`r?(4vsqktVFFEQYd9* zWv8n+Krtceb~uyzS{SggEUG8iZ1`Ll+0s!-BQ3 zly|Y$G1>OUMkPId>SK36UJN^*MLZB31kIh2Zh{>&(NT$Hg?W)=N1Gs!ap|=x63ysN zo%qVuW1lY@{RRP0jBkqT*M+C6G}M0itwdT%uW+(6@2*V8NVq_rd> zfSD+x?nY?~1Pok`gh?j|Cw_lDbk=zYxYPjD3h$X~;@*Mh69jQH=t|=P|G>)6gRZIv z8(p4JHDbnWH>xI>v0ssMNIo&clClT^Ja5-_@mGz( z#ZnMH9w#;Vt*+pXm3b*>ucalkw%(RV^kK&$0+=@Ni*%gn7Ll*^mCl+qG+)hrjwHPc zxIR5PX+CVz`}sGZpjLKcR0wWEE~TOz%YD87*t6&M8#{%BHn>hH>}f6Wi6WI4*#6GW zrMC25snqAYfwvVHlw}+rlHB)|m(EZxPoJWe+B4c=u2@CO(uB!dA2=1`O>AbtW`tSV4N?mHVr;Nh4?6dqM- zfH(<|udYG?^Z^{PAIn=Tv*lKr+>!oUIh$jGU(aZ>7>gwy*Butb+0wIjT|EKQHP9vM z)f?zx6jP23|;Y{y0GWuM2T5&~RIY}I@&d5U=@P5TPFUEPig97P&D|FhYT7R&3uU~-<%b!9(lJcWW-oBF}@nQ=5H@; z^-IIHlotuEbUML5cN8!8*f)v(ra%~OI1XKb{P<9|?a2vNek5SBnV(5J;-t!5SNvjs z=D3{{y%azb$^0+&-aD+Rtx@+?Kt)BGG*OClq=_OR0fI;srKx~O(SQmfVCcPwN(TV} z73m-ahXHOt< z3T1j4_UayeT>e!U_)5PW71br_gj6qFLT(3M(1;#T1gZSvsl zhau2#|P0z`#5%|Ny@O@ zsfl}uQ~>sEq%yyr_j_PA@p|l9Vw-=^Xa5P-fPo@ER ze5*_=p!lJJArg7>-ttiW>C2m1xoav19j$6woi+_{PpE$=tBtM~fEyFz*~D7Q-x)i7 z3H9nj4-nAvrJ6VTq0U0@krRQrB3@5)NWlcp5fW{F%vGwiw0t_q(0Q5+o`N-ButkGgT`08s_>$AB9ndr11a*ldTVgQUpbaDJ~R|ob}*}_G+!m?4-JaB_2&o_E39!0LFVR>n=1ynvjB?ho+PD zN4G+1Pqk#3?^M8y_p-G953r`r^3eeI#Z$xb8M3#QVFCzL_SSpe z1pzXkzSWwZpbD5BUEve!26Lk~macmnnRicht5^-Zw|r{@cB5zMD-B*J2wWj$+z;?L z$+LC4eJH76_u137b(7aQp^t4$^n6m|LD#225vnCVFr#L4Ns}G~M-2pU)JgGY=YI_O zk0T&8@!l;^1T{z{*5#&)dvA+Z#CyL|Wn^+<>kO@q2W*=Czrp|=RZ6MF7j{hXHcGAW zYjAOSq%~uaE|`;E9;oAPSK#M!3mcItThO~3Y0U+oM(=#2sssRvwfolCZ9 zoh&%RC8IGT{&?bT{*05SHILq&3({#%{ki)(hD5Lc@ao0)v zZL6Ax-kkAjbFTmewFW{!xzRu5D-CI8TK$IijzjYr`FceZ<(v40vSzky3n9ZZyc!>4 z0Bct=C9muiu-QJc_4oDpZaxzr!Rgei9b*Dg`i?h8$tF8;Ajx>BH+bCb@~DRy)%6Q+9la}ydev?NB`W}EYypog-T}}4@M$z+69`DFXWkz>?svVX*{l>2kR<;u zAUX9ifTp%bXc@-WK!oahJXOuPBS)R*V$4~U!*}_PgdZmJ?xSrq)#Wt?exm$JkET|oG3o*<78f{2%cpZrFPm@K z`r#HqOdc=A-c=`uTJhooBiXaMqP3bi9ib zU@gtv%y9sX6nllK_X)sSGJc@DJYyZI$5iG64l^#Q!h7T2N_MTK*sV1p{$;Q&wxR1; zW;Ok8Mm-=9v1d0o5_n6r?jPG5>IUqfU%MY9yaYP}k&pj}7yj>Lz@=?^U~*^R`oKCE z2dt^E{wnQFxPub-KltzC zz|O_-Tjl?Go?b&Ra~C=h4D0_GhYGnrvk-LRwoO;d;B`!tErHUyAc27G8>!S;jvedg zI2b%QpKe|{)|qf%M;0h{T76nwq%YHQS39J-O6XcR-&)Ceah+?5U_v_tYF2h$r+bk* z+V)L4a0rbgFjg*oiMq@h0!p=4b9ZZ9eD(*TK?m;c9-$-5Y^Xyw5pSzJ`O}l`X#g!p*Z!u_|LgA| z8t(tr-;Wv>=K7Zx;QzPxLJJujfF-&S$HkXO6|S_&AlE|)H0t%RPj@dqY^l3Sdm+Ex zwU^J&_=o_&+)XW}x19Oo!AlDQ9~T56$5+1NTPYey(5BFvB|^!U0pFWr4-&VkQDI+yJ2sUlz($T{?V4_-)yfBNKx(24?E(3V{}Pm{|3MM6xy{}5D0IO9)F7q8 zQTX#30wm0aQ0YFjCy%E(t>@50|LM|d>^{u9l2J+r&@0-`>#8ZjFXIW^L**~`xk}J{cmSWQgPyUGD zqHD^6OS)c^^2SW_H2GhC`5e;#inb+vV@ws zGY~BKB|r8&_*cPv(2)*#g_EK3h3*gmFbIXS`U<}wB6&o@t|aj1+TYZrFf?)8DsUa< zGCH{-9zGKk=l)Q_WdeO+9X9WN*>5j?6t%-M2o7&+*+~EO&5)JO=if*>#Dr`Ryrz; z97?K79o56so(`nH&1)fKj+G0(6T4%$%%1<8Buw~T4&UyI6E35LVX<*Wn)U8G0zKlT zU7a^x{m5qEYAyK?{48>N;#)zf0OrlsA4TwC15#MV^umaBl4ln>l%vC~`!dNsv6m${ zTw^~J`K0wwdZtj%;PJBtn=nhMQksFCA20tXoXRy+jw4W);Y)aG)fY{CIX{B%dOGCU z^eOKbhGWH8mQr|B+$Cn?!$1nWzwI)4+=EZKbD+#=cI46A?w)rBAPbiI-Wy+jjI>*; zhv+CWv{@^5AFeirZzOEbx+ZFQRXNBKGo2cr;*yBW*7(Q$@KfF?MaABdekbEp_TN*C zXHYf8Aoyc<0pn#2#55RhWkj8h+xLk z3Z>_!b%W?Y&obeY_`cS7P!R270v0Nrj{4X~z#RED zax!~^^I&MjRKiP_86ofls5~iuoA~iIK`%@AI}opi3CDocu4M4w6SswkrSt_y@01A{ z-pC|*kXHMZo~vZoIPZ%oTk#2KEoijU+#)~p1}M|u=}TF(58?s3U?mv#Yv6RuVp#k6 zkw%~{T|%uRPMb|{?k9fqvdj;*On2|}xTD>LEI4cwF~vT)p$3VCiyeu^@&Sv!rQeR4 zQVsiC=7X!})o#wD7c^lx2pv)gesx*}!?5a+AW~6W+ZJU8!zY^_?1|}mYYw3^;qmJS zcpGy;S(Zt)!zd$Af6fO*4P3I+=<#eVk06@gS#D28im&AAHc;x7IM&>(lZvXsuTLaf zNe}6`I(zgm(-kmIbP7x2^+)q@&vhHcBm7+%U@JQ#CxPo$UZar@ zknr>#+JFKQ4-SK;j^Vdi2Qxp;i34dcw+&by_69pEqa=i_1L6nKX%mzJL1Bq!KwAU# zD4*t1VG85#t(n8;;z_H-_q|&!$An`q=i>h>-ki;&6`FGn&zUx{GGxTi?@N4tONZO%9 zqWb;IghZResxz1_M6q|fdqP>?dBGrl?J3lrs5YE=M;cM$OxzWKz_cxNE?@v-e>VIM z%R5u-ScWtd5~TK@<}fhqFkiGEsJtxp=mvmAK!#R9Ab+MI+BZ*J*pwjRK`HPOd!s&| zbKQd}k@J$_zi-1?gt-Fy_HxIhA+o+5?5}#Dk$e>J7*%dxOs8J@JL`XXk@|Y!E}Rsn$84(q(nHq2j|Lc@{2`I z19tCS4q+EZueohZMe)RB7!GU8FDmDwh2Ow|ZdmsrI(5amgi7PWFDcELH^Y?}7k{qG z3X8Vd*)RR!*zcP&J`ug%0Qj&(|9{_L$asH@x$ zs*grqMR@mvZ8oQz!NO3;R4AS|U#vGh=^7g}F5SRYk1-C)^5z|=Um`S9qP@f~FTwC1f+8e`=H-MvgIA#Anzu{8JC*V3d%4s2>m;(i=avO+Es8d}Ey}IFQ&i6r zS1aE8I6VabQ@ZP1cE+!vYY ztYJi_yaQdgV~;n_p?FJgY|nTc158pUjpo}V$ob!#M56zYLE;B+*;jTioEO=>6$nA^!)_(3iiRP9_=S z$2T1&b3!Ll`>eVFQsT}T*#!k{Ab$>Pvw{+uSAw{U3ILkIdt{%22H4w*5_+u|C@ex+XW zDJhrF9-zAhrd`EWOwukGsp$_}=YN$w&8J?bWxUX3**vuwpu7o>hdt3{S?tH_rjjNJ zu0`+4@sR-4smuFI`3Kt3=;F$mOt5{^$$F5;1~t#0p7s0M*crG2U$UigSg<6NxaKt) zkP>=Uh?1#_h+@oaJ>9$<=DsMo2P=yDF>{}T!GmGK*TVv9(BWUx>OasON*uPCO4!MM z-&&N;wiwU(2@uDvzvj@%Hm8M99nK~)z|?pp-X^hPiQ{77@cuUO$qUn{^(l)HSu=-r zmpLr>#60bi(Y!1jdB|#*_To=>Q+@+br~~J*g{0pTuZIrAlqk-dydbh0!BMXq4`yF( z(R?+nK$QH|(3EE(6!_8WNSo3qd=oFL?ypJOZpY&}_S+si7F=iVcm_|ro}`96)v|Pq zF~I+pJQdyX;>V~~3AKaQQQm1z=kE#hGDqVjX-kf4alW>Vuwh@fR=L$TM^GceIg$L(L)0Ye>XLC=Tnnt8P9Z4zoMo=is7;| zzuH<=5ImHxDyi`~?6y?KFwK=3%kHIU>ux$d-mYw!{jditr@i6xC zU9go8NSsH7vY@Bw(relI;yQlyFl23YvykiIUk?uNrdw6zW%-uAucp(!^c0h z+SP0WDcV(y z1~{mHPdvU3lJ}aOYLs&zub+Av$TeWz-)OqavvS*6CiGh zYC@U#nPebtnNNOQPpg)`E}&Bdpx!}zCHa=xc+=#YR%h6NBLoZ(Xq%orOnE0C%zGNJ zFXhjH!?Xi|t9?cp)M+`q1V=%JN_m3B{uSlN=|Cdu{A@n`tn=x#&)(7d zmqO)vMf%M_$=pZ(aR7aX`MC+oUnWjB)BT4r^_~BV^RV(JZ%Gto=+?{t&1Z~A{)yXH zw`NqZqmHub0*h}e@EwO}z=1iJ;$WRr(0uFCU3oKLu0e6Ot1M)B^Qp*xc@LQ*`dbC8 z|E7H(It(4+g@^{m#nkNOgIypp`$XW7AmZ~&;31FW2;&5x0x8z^`w=tFjE66ev4cS( z8u-Q!REB^tLJU*bTk>C2Kq1D=|B8b8ufPA-?3wOe)fn+(7zf;7YN+%(O z-<3|`pwcPqpOsF>A-ybfp43lq9kZ1chzr-)!w~g7p7Whu#5}Z+vx}Z|gEHuMKeV)U z`5$^axBz(>WzjpIl5>9*%xCZC+7092ORa*G(Bi%0q$DWY-bwVIr&a;Uk)`!~79AaW zs`bF2d@~WO&gaX}ZZ+TwN!Lr4|NLE zU{mRaDZq6IP7%AQ^QNR@>4`G`q~Ko2wD@vxeK_>)$l_R|*URFn^WpuREscCo1irLv z5(-7TQ!sV3(G}oE5)`x@=!l`tQ|FtwZSOa_s;&OC_U)uJL9r`aMTx^!XBpO}oySjw zpKeWoAdurK7fuQU&mL>|9U||cNO?E9%QQ9w{#s+}9titfk6L*&KMni|Qo0s*P8VaE zG%^Y=-_$|v0l}6FooTz}atIjv>1|c%sS%m1lEHAZ(qaNXI?+8!Y1oGq9h{zEA&C9*#v;2ZzG>RcLVN6u^?^#5 z*)XG9CZhi=nYm{UMa=mH>JGW+3R$6o^m_fWW>e*2o9okRNkGH24|Cbq_Sta!u%j8S zdoMI8A2+$@zo=2MxV~fy>*ycJK0ki|hXsx0^{9ct9TRFz5PmFpX#?O1S&g|38frI> z0wB*%_{zMDne7rT@`mOeYr0{ABC@80*#esavL%-r_`FxuNL|56;aAl&qD};RQdHrA zVV=XMlx=C0AqwSQ?l1f(EqK5cZl}r*;z(qeSy4-4vCA7&yI*`tyZf7mXG?%*)K{T_ z&9OQaL|F-#b9?X`P{fJ4d~@XJ4A=4315P7kfQeg>zBXmRRrf_XJnQ@sm6K6o`yGtF zq`@+G2A!u5p6cG(xdL9}Xm&)F9(0<~5!zo`v)DoD5SY5LIVXfeQl+G+^4_Z)yD6aN z!t}v?Khz27l#P&77_4&a8sZGU^H0E=<%)kyvgS6I3mOlyP0OfWrcsteNu;W!i`bCo zIw@^^-rumFaPdlmG>4g5qnV zd3*hAPl0a}$_=SstMau!qpRFik0L|wxhkR$Dz z4^_prPX&jETmsIfPe=c)r@q)j3$_L2O9Rp{ijs!0sINezqXJay8pxHQr8S z7=0{CR9FdF7LRC0h5%`D{oBWn-olVH$qh5DD~`?s#ZfwjWzAy29i(l6Z47045{7*l z=L{D6-+fj3fubsmW>>pt`2xIgz8fQ63xPI|`InJ4YlLs6z|Pp=EINy=3u0hSd}3#9-JdkYo56gr|&MH^R;~(RDVatq)k-R~83l-N z8!+Ry>yca5odoT#xD`II{HX20ii4HttTUW|MRCsrvt}$mk$wB1U3W*SoahllS)@;k z_x>?9_P4md9vf2S^;VI|*zQ;i!2xsH?iHc8{eN`I6rr}oZEtHbjFlqP@iMr9W~)@5 zxx{BPbz*9a0G1rwpLU-dR;^dYzCAaO8Ino&?i=fV=L9L1!QnOoZsx4@X?u8 zM+Dycd#slggw3jB7K8w*^R2V^99%KW;{CLeLG!?U;BV9yzEadJdjMnTE2uJ`m>e8v~N@U`P&yACmPr4A!4iY^g_nofB;iWq@j9 zoWVgJ4A(q=UF9WjJmPXEc$S~e3GgHn1|`w#Yza5%foKFtHgTxe2z{S#+1?)WUe9`g zMoCVIT({mF7fNU41L4`s8O|0sx4gPHz27ZAT}KyMXxj4f;pR}+q!?9r`3ooiGgni6lFoR3t&)_R4cL@eXdgtm|eb*r(mvr#P>YDxcU#cgmOal!7 zQf3I#dzH2=XY)J`#w1Nrefsq{$w$T(>Zu+MavTr^M!{SnQ9tzraasX6lsV;7dQGb2E`1vU%$6$3g6wI_(V0C+%pI z(&|qO{ll*}!v5%z0Xd{)UU_*QHNJ}Im|>(LB^q}~TGNrtHY|f%=K01+)91|%(%yCt z>tdG0K5)@ZZLqb}yx|W?eM-McnOeiD%7Ok9$w;a84+O)+vfS&P7h%k;d}6k$1alI( z-ZsGK`}_y^bg+T8hkv0E&@3+oYlS;@(Sr^pI~M7cZomq6Y-Kkfva;gTCoU`*#*7YB z+{N2*lV(GSVNy81PszGC=I2!f;nMR7re{n|TxHCiVSTS17(#0qBM5r4hHF(a6$HZ( zL-N_(`S5&2&?vv!Q+fFT;DmwN=_pZMf}p3#CD?3v^h56!7UfM^u0_r_ONFqI-J!*X zUjWo%viF6TrL=mlVVM^9cMb!OmkzfyL8{#0ltqjO;G{3;+&xC&grwneiIgixbaOB| z^XykY-|S*Fh9dMm%xHGe*WYgE*uW-HfEODse%v+gDZHMv>NvU}eRhi7Qnh>UWr^2- zgNY7Lk2>>to^RW`G)S?2T+ixg!~Mn|u+=-NHL7_7mm-c;lv?XgEM6@N!$)0}>%Vo| zfI0l*UIs6?Wa$|^l(tqhrTxIt?kKDcPp<6$j7Pa9e8WokQq@Q#aXa2)OVGA!hhtw% z?pkbd2rjXaU2YLuL2(#yBmgzPNNBLXQy4H`o(@NP&m&g^!}aYJ$A6uo)B}$%~t%?!mFpZyZz)!NXoR798ugLqzp2Xa^N1R`ZoGeIkc{<%i&dfISU_5?=B>~Rt)BU7cmW^1;Bn?AsrrcgbnQ< zl5<#+f4aIKvPt6F8*hm6f90;rVPj9_j6@rMhls9qovKHTXO5qnbb5Y1!*@Xb6Y=0; z+;~mqM`ruepKl#WBxbaHCEmF9MgB!1BS71)244S3l~KV*lHvm=;Kepnr3#GYCRA#9 zu&Z8>10pd?*utdW%dvycZ1_X)!xdPx^gw1+qg@aLlMcj0I=w-|{CH%49jo!QE|^}; z{BQ!wN9h;RViklawTxoD<{Bj`GaD;64;Bi-QKIw9@fB|&r-Qz9O#kpa+W9-dl5#eP z9S40@k8LhbT2gL~0v$yfG*nBMeHoUDR!sIq-#`9tKPUkbdp0Wqd=*Fb$4p%UvPjw! zlSKxbZKeck_w#}N@!+%bc>6X2hFDIL@bO#_XPd>>(p`zeq~QZXRh z0MT$D)KEZM%X+Tor407eGjGrq#Q+{?CNlpn4C6V|Eb&zg7*($e1bh5VmaF*RpP;_7 zi3I@Anh>U7BXGrPvp>B5ypMse)4=n89)9V03?$_tjA8WvC%A=)W@9|IOI2|Bqy_{}(dUX)r1v z7p`Ygj~fHqB*AX?J)X}&zzjzj{6PT!B~u3R-KYKVz(RQ)&?(;B*p;{@?A2Ii(}oQ(cwg zAkFb3;h&btFA#E)lnRp0CUdOsU~*iPp&?(6_g=Vzq}0qMRM7(7K;-uX|xdzC2($qxeeS*UQ|Usk7cFj1Q}&ib)3)yZWI@O zoD}fHKj6`L2G4slJUTmJpmEbLc=qxA`RC@N_%L*c$9%B!>&M*rYl#5U++{atJl=BI&m~5s$VQ9dPR2D=?Bzl&E4^exHB$^$DVD z1Bg-I<7oZD`@6IB%ml0R9C3JkXZKlb~*LS&0F&{P= zZA&r-21@jO4<Cr7CzF{L(JI2qwlN9gtipB-Xo87u8(XmS{FegT_m200_C+UiAt4 zX3^T!wsNR_jKltABuK~W2;)Nbf*BWlas(+3NcR*aU%gFb(gvH`(xxD3V{e|9Y@45e z>Y)bxN$-+Rbw8BcxUZ|Y6V>AijBIHgL=tiFpf3Bv0i31D0r&;6tPI_Z!(TlY2?J%t z1hacIQ76{Zip4hl_4)Fq(!Li!tQz_9-Jr<#G-qlY^T_>Isj@rrV^cfik9A#ohYUxN zU1JWr2mS$AZe5`-6{l+!Edx`VvrENXjhCZka!=GuhmGQ{M;^L{4=Vr@vxH-CGePh# za~POq3AmaT4)jm&2hwf4aD~wAst*%^N_jL4KQ>_@SQ!0QfQa^A+K0j0xLKn-?`-Y; z*6ThV$7g#ocwhV<`y|jzgWya7Taydv{z0uhN_W(e`|2xaX!l2}aIp8-8lRxw9!eQ6 z-c8(oRmm0LoqTLw5Tt2zS1%e=c5eDm#OJf3=_Q@pVa<8sSM&HcU<_Z514S=?Q?*8@ zV#E(~bQ*7gUNcIZoE%y9y~Vq-xp`u%ULkDIi(L9F^|1HPjM>^^c-e{;IS}|_kjg=n z7S>wkmjvug_}b#cy7 zZ>XV!_i2KBA}d&XM*Gkj%YGc?ZcV@JD%XH=POBOx8-+zt3lu2c4*QLqRSI5Wk}2%m!sKtt4BHrG-yz zenYGM%+)}9?24{O|3V+mM{^la7Z_C!)QjC)$E{R5uP=;93oFm!4`WJQ8sw?ds3w>p z#W_8D;OTxNrpHzKv15CTJ`YnX7TsLuD!2v8w99;nC*K8H&Ssk3aW-YFfL$*?>aDW! z&_UKD4x0pehf6#`>wC+);ltSH+^6Zh<*|+|7ZEp~x9=kxAOnm-xrO;MRKu3O%6qxih@ zH{B@iHyet4v<^Z+qoZjx6H}=hXvHUDig4 z#3h|`hKa%fgW#Nr^pPge;?e}5p~7)BJX!zND>->HfX{w|7%0W5FPZZ4s~TkrD9D%J z!N(5PySmdPzcVsHyiCayp0|DRlH>0M{!zHyLyWfvSxK$7DSW%1(}2{|rl;fJpJ5mI z?sXhIL~qasexFg}!9Jo2Coxgk@I25XYfZ0|iKtF>!77BkpKV0zT@LpT{Ha#{OicDY z-`I#kTk4%nS|c=%Jb9S!)nthoaWv#E0Bhrz*msrgf+f<@gCS$RX{ zqKlCB3yR)P$)7r52V5fZ#^0`<(}?k(t)zxw>$p)pN=ADx zIcWW^&oP$veJc$xoEsg7bQTd~EzzbRYW?GxM^BqV=P%a5M98`7$-h>QfjZswIUXU} z#p6bufFXv0>9NTxF8V56P$}SC*R1^O-6`m%R1mT+s>a*}@3l$8pR-=(Ko>rkds!}M z-$F#I6Vzb+dR*d~YcaFgie{NszIg2VaUfbpiIN!)&s^;_NW+#dKE;@W@*1BH8^%lc zQ2`7mw{RRbn|kB1-Q^WSE^lJGXk@aU^OHz!wQ$#xh)*-KudVHS?X#~EiT!g=_~dHmHOtyk=p*fp3qoBv9>M&l;H3kUUzsKP8=fQk z4u<+}(kLMGO}g|nC7Ss8b?#SZ>Dgq;tIXzbpephNyjHmeSTNy749X@X8KXoe#qR6$ z^Y6I!w78iN-9qn`F99^J^+*&VGUZC@V&#{3>(A&}dtf#{rNUhF3^+Z9qOrT_ISjla zU)Y1%n1vkf^b~!K7vMwkrRP#lApy~ztr_UfvDnnLPYaZn71ib1A1DJ@$S6@vQb~=t z!Q#p|;@KL5%Z)@}l)S=BVMz%D66Ibu$S5fb^q5tj2TAZP{WL8MVZKX;*=UXF!4{&+22jm;hfNy&6sMFG6 z%1Wz1X;pJ3i(9;H*jA9D9Wg`qg%66WxC$DS6yqQ6O<>}Y;5X(pS>HEQn^rXNrJmkB z`w1jwWz3y!98vX7P$f;|so7X97+BSJE@mPk)0X7k7=^U9ha)0+j~$W{10Of@j`LpH zq0NYz{>F>3k}1pI6Th*JFY|#97^o>@e%mFA)MtXUQ()$jL2E;>VoOs2+agAhPB661 z*tLcdK-0vjQNP;(?B^lt~_yngYT9|k;4Ld)W3`g@lj-|tHisYLHb6p>EXxFR z8q9-vu*ozqeZgE^B;&AhC5QLjiGKf=F;W-q%bqOc$Q0@fw!^R2@K}u2n|ItHdi7gf zm>I*l^2B{i&g@JwIJ;H7<{y}GvQ>!@yv`nk{`n(mEGj|vS4SQg&g zR+~NJ&O|)y%g44VuB5Kqpa+2=!}&6dYBx^w`0l+b4X_**jy!`=3^_QPYCOxKtNvrh z`5UWky3$#cGh^&4{Ny~kY-qYRcVvm{{X=x~$fBb~&p1xXu!Cu9H2F0_fNCS-TJ~Wg zucdH>S?kI*sJ%z|xeI7L5|UE^mEPfS;GVP#vVOb@n(p~m>Mw>xF}87=)Qa;+q%h`y z!mGU^T=Feb!`jj4Cg$kqfGAPU{CvdY6VtkKhKIRZqma)+ubd01F47d+>v(Y|yUio@ zuJ~**CfY<2KV5(;A9!wn2fHdq+164tffZV2DOVyTZ#iB~r_ekZqC!rL-rrUyZ@x?V zsX@5cJsVIT&2qEzJ3Y+!>D@h<9-MK2pn|z}O4d#F08wD{ntMPAHwavPi8zfKWhF+cb&Y(-$S>*!p;9S0 z`A5ucR*4576INi-uZTDA%q&~gp1O|Qo}T{kL6z8i$Rh}qUzMz|RiB6Ic;fZ$E}?9_ zR-!kvR^V5y{;Ig*F$dc{pox9W+iH{hM6(g6-@qxo@%LQ$JOvQm$CLE@j@>FIWO-y1 zC;qi&;BZarbyI9-N)hSiypKQH9^jv@M?uT-Pzh4_Yyql))KH7p#9iT*GPA5VCpDgS$Xz1(6*t3vh6Ce6gh|EiwQ;j~gdIIR!yXEO zPh+<&-?r4F`4}~Bfa;e^SD=KX@}-b%J^QC1QY~%5*-{Q5wL#9GZw=|<->=s1H7NGuHK5 zOz-G`26{kitB>`MS0)*%v2lL!%(n1!?Q}4#;8Fn)FIhLBx^@AUvQp%7{PbA!x08(J zngG8SmFT>A&Z;tB95VxiOBKW7a!tJ1)8=?JU|Czw6To^yrxrQjhSd7q0R#}Z&T~=b ztPz45m{%6;Y_bZE{tI}^mOqU>jqcRIK(eM?&^R-2&9Di&8axCG0KqOPaJ{8pQWuqw z*DBRxTtHHrqGDxG5rxS=(NujGg#X{_7vJ20jr{Rqow*GH>2?pmVG==TKB*fi2#%r* zj)J2zpW{bfdvl)&1|Zy-k4kI9y6aThdG3b--EvQqTgMX!^%V(8I)%35&@!d z())1^2EiK|A=?hS*bYyDiMo3pPf^G&q;06){y(;viBvgAjN_8ALD4X142|Ez>iW%>gof*z%WS<872?CLqCG1ttzm%qEzrUD)o{S z*2Qz&Jw_jD2knIk<@^R%BtYGE^k4X1v{@@GupW^;uVDa`F3a=%i@$Am)QR;*(n<{# z*cEvpsN}s68QDC5PWUl|vU5j$bphs6Y-GMYH~H*^{M5)1=%f@XLYL?nywz<;iQZCT2@qipSpP=NEJHJ5p=`75~RIfs%wtXe5$LN zd)qg)3aie_RoL{exHYKBcRXFW@Sy>0g?1m|98rd{(l2M7NS^aQ8&qmq2VQ|Ju`|@l zV=R5GLzLM5zS7ZR$frB|)F&R7OAKq`ld-5TkODVdJK|5P*;eMK+XIEvon0*tXf&~U z0SDX?V`hoBa8|s(YsB2V{5%@pq})pZ&GZ#+me9&cQFOK%1fD?^a2}I9=ww+kSMJ2Jxu0KV8dTTJG$o9NU)+g}^nT5V)PXSA7iyx$Q_dqhYUc z;|v%tHpO>7-G@T_V8CF=os+FAtP-IA9NsbTBPsKJq!s-&AK*U4;Hoy2Np;zK7z|mTOn3hhbmgCD`Q>J9RmH4c1H|OwPg#9V z^N^X+NH_|BBI}3!%L@Cixv05#yc3I3WBj&Ln4a+4LCd#E5p-vnT5& zBMhKUy&oD4)Pb-R@M4UKoLaO1Mf8!9_hZiJ1NR`9s%dUTGvCJvF5(Nw1MkGMGCQiBJpb?$4*XlPx zdK@IS@+l>>Rwf<#jXl9nunLX;*S{Zk`7vrYy>Z^%*@m z2jonhf6xNd#4w#sY9~HegH$i9yIwIaRWbwPYqPO_>G>)7x1aYrfG&<>vQs0p*bo=1 zV>q(&VpUziHkWU}FSm%MB%(@?^@JIT4^+0C?5K@A40!-HYzR(j$Ct(tM}eFZlf>Pa zB!e^oz=CHpj>as1@_q^E?ZAMI9E;rgYhZ`H)5;r}&2x z=?HNmf7>aykNs251bR(Bmw_g1-#`ZGOTBy%vDw>&rrE$rNLREy_(^=-U0HoQ&RMe7 z6aO=%BiB?8#CIeib7DLGo6*W+JCHH5sswz~X2?tCgX8iE)4oT&getk9=JG3k$xrgJ zW4m(_as6dfLr{5-LAm?3OcI2K6b|-SPe>0FSA;bi^uH)8)&;{>2dO+}1jJ3;_j-O< zC;iPk`b#VG$47hLzfOH-&fL^jdD+kWZ%J_XesG2G8_DQ&?E=zz#psI_M8S(&Yb!AK7Krc2s}3x?2&9 zBb3)p;Y>j8qPQYcxtCq^*Xx`4e8JM(jVMTT8C|)r$`AxO6G55I13zmZnbkcxBCZC6 z!0?D8)^IJkS|gnP68zm#5+$};MN{e;-m!QYh?}(90P)pJtnGe$?wq(=OLqdozT|&Y z>g>Qc$PWiAmGhg07sa^Qf##equ}uP)`}}I;xtYQ7SgD@c=WCDm&2Gf{mW-v_$lX+ky2GIqhg02r^;SgOF2>MXGxI$DwIQ-BvL+)y9M7n= z11v`+ND6hkqu=%EPi;A%P<|jFT*^dNd?Gv7NLGeDzS=P6;d4J3z-Pp7;L!P>>A3St zh@*2FKh429_H(u_u)Xhl?NEA}EBqjKwKwX?XmC~-C@U}X6L0kT+WNA{{9e6-cMR}# z(kFVUu|1hiP;4k)RIRO`*ccNLE8lOCJtGw3V`_Gqz|^a)6ycUNAl5`hM@ zy`W!~_nxr7>5L%Q2LpR9Mz;PRDz<#(%LcRgf?b&IlEKr$2jV&*+Kz~<`*h>JX+k!? z4xFmz0H+3!h`%i7?_Z>t~i~2jsD5nOAiIwUAKi%eqX&iw$upDqFMYuRMRVLO20xUF06T?8}+*j>$=fhJLmLSng zxVS6=Ub`)msT(WCa9eO$3X(OChT|@CV>QAxm_Q)@F_-i8&>N(C&1u<78vs{ zw~1DwD|W}4^h5q+*>{k%>G4T0{oyN#R~ABx(m7DYO`;K3_iQ4);5+r*n|W5V^#hm% zhY|FJ?24n-BCkMPJPPe3WJk9VPHN)H0=^zEN-ds=#5*1&Gi_*{cAZbV^zv|D?I7s89+*M#sCVqM^&K8A!R{*@G0t0%T)KKU|V*tXJLZvXm8uz|U1Jk@G zNf5>L+l0L!n*GT%8#*zu`N#a#n`L<-UH&oJa!dTVxt*e+IQ?~sZ4mO3dcYAgV9t~S zVPupuq)8HM<1LDdm zg5w>ffIoKPe#BFj&q-@R!J^&r-2z{;UE)F_tHbJf|E~rMs9BvLq3m9$mbEe83_YWLamT`8Mbje_`ynn zgA#SZwi4TXYiR3attYt9`TH_`C;U?1GU47v0x40f;&Jxh=#%}=fYutjKMKaG2ZUfl zoz_rr6dX88>_MwH{>``YKg%yj1IQs)!yK~?eon;h;~pR;b4q+Ud;Y}VI)MIrri4p# z5&G78M`Zrs=5en7sHuEM5v2wDPk(UIO<0&ebMAF!?z!=JfsbmteHp4m zdsCJVu2qP)?VTM}WDn%eVqw=Yr@KBXHB?}`ON7<*piZ0Gr&_zC#y?c|X7p+_^i#sWA{vRZR0HZi!SZ_eJgUb=5xgm~SmE`>@TH*hiJsVxzfqbCg30 z&qRVb@{s0Vg+|7p&?q?zTq!+WuP%MWvy;vi?ico|i~jvmuV} z!SD5*AU;yqoBh`adJRaM7mRmEn{$6in{wY15GQx-UR4j#dn}t%b^PK*z{&LFFz_q& z>z0;p6D}R+efSqeHOmFGt)JUzTYvqhZM`09Ti?adM&2cKq&5Qc_@sQF%jA z_J?M{`1&X()_=&pwPSfj410Dn@~~#9^J+9dJiB|f=a}SPdR9R^eT4mtkl)eI%~z@z zEOg8ANN>5nvxlj!o+vrz@RuY%2PA#=-;(~;Z%MxmlJuE0Lh4xr6SJfLirMp_6ETH0 z3IxMmT{p&qPZBb_|w#PD;1gP~&VH|R&ULP5U+csA5|f)b=RN0`zw!T%af$6+%$xEOiOuYyE&AH58n|p#XO^rW^Q@B8RYS3xIx{(l0KG1V|wc_h{ zZ(oVKu#rIfHJoX@P^Hb*Sl{RfiI@KIhE=qeyG^S=Nlva{`3lup@0bvyWabq=OKvXW z>dm&E;>`g<>loenoj0*x`C?QRxv&h^yV~M+icMMm3-F>5YW?x2d0wo~lDr({$`3JbV2n-_V+B)!sEa-$k9e45YTZSK_son3X7z!# zB2q4?DzjjSW|L){Iv6jBZ;e1JHzBG(%+$oF+yR!e$`WpN{Hh*kl2eRwSnVhy)~>Gg zb53z)n%@cI*5NWs4yo1jMBCdrRj0>b7&_TUeN)&)%6flaydqRO?s|#x6pVfNyJP$g zunQI2tjIehM&MY!Py2?XewW+W^{!hYnl|7s1cj^pm&e|3>8= zty&@J+N2-m&T}PY8d8GaA7~3R4{Z2-e~*QZoJ$z2uPXfpdBQB$(BscMZl|FmT`!W^ zx`~Dl)9hH6?q!b%g>BJq`8znfMU9MZIL$BOSLkRLg3pMuyB3^f^S;((mrETk55kG7 zRjnns!DWNE^8`LXn-iP3#V$qed^U0-`6%o(=R?C!{#E$B#u@m z+$ix+R)m^3=0Q}I2F&9ykcp+I9kD~S#ayv2SsBorI44%ZI}HvH zZ3;8+3%MH_uv61=9M=TaNgc~uEf}J(DIaAkU905E9`Th^@Y>UXkq^ye3*e1Qevj9y z@CQIws*TEPn)altTNm4N;CvSAv1v+d&yrkcE??*4c}CXs!gvRrdSEJqYg^YINIvnH zXTr;zK!6xFg5xaS6^@l~qyuQb6|_1h4yQhqP*&eu`M<(Frfs z9F`|UUw<#_4S9XE=s6>_ZpBfj#9u0M&TPzgf^y71u=w8F%kl+kk^`>C!(Gx&lCri~ zr^M16<@eG$AwH!XeYu7HJA#M{6)II)Y+>g=pD^p>Or>IJJwYcY2%<%bqe^|GLIm|kTOPI@$s)!)4nDvjg_ z3DIJX%1D3`@6T2DwH2i0T~{ljl{Gq5N&9r2Ywk!1_qAy}_fwfMVxZLIo4#F4OCQ*i z+2nyglxEU*dVu)ciSF${j)V>1FFFY7SkPoD59f=`6!lzy$n56DgnpD}F3dKsR1%uK zA)6vr3{O0$#NJyisf!-3e0QCkY5oC`+xWnZRXW&2rl@W}R=I5DBE-n)qT^i2+2ZT5 z@u(f25mgC&gNV{WXWHnR44br#kW->}vT515_@puxRm~GjawMlj-GsA5^qY#+4I@ag zq(95f2hSNVg1BFg)Frg7>}pe#XC7Yz-Rtmz7Jc#S0;O}#J?aBtDXpsgTcK6-03U{r zBrQ3}l&MkmM41=^Ul_lj+Pj#z`Z}@KXj(i$F~e8z_F(_r!nXGIc&b8*DeiD6-(DdO zC*+ZwjO6EBW~h%AU?1zlUT@Fwcl6=ustyMI4kD*=Kih}<(g$>JwkyoFP=A~uuvZa7 zEs!d;P-d4Nyv!)Kw;UME!vcGDiwjQ%$tcbFn5_Vf!1DpTDl~R|uk_+`A}By$T}H5A z(&Oh^+XsTdLhl6-&Bcw3A83u!;FxQ=fswp`9+&K}+(g9|j3}lBb;aB37k2F(?&UHg z=3q9e^UURQ8k%ZMO0DWqyB}+v|0XWg%6(e0@${uzMH`j3SYNt5+kxoMd=n}PN}$+a z-12G9BfQmHxsB_O?9|1&kh)rGwa(Nb!p?tWW9og*b3DP#ucuibZHtVy`hAFNp=!@8r5(XY`=q;j&xlY+2VS8{ZRw4qOAcB{nT(i7E&$0 z=6WEdae*>J#~}^LMvz!vtFPAMZ-V$OkCTQLYl73qea-US$MmJb+K<1}craF-7TmN@ zK3_(6#J{+l3r=$tw0)#^SLVU*bQKrD7xVZ1GQht1(n@*Ov#%o@)PW>SVTgt8q4G~s zFpA8P$yZs%G3}w**mSd*;EYR2+wT=WQmDsn7U5u?$pNAy< z%6!Q?tu{Z91H9s;Z$bF}mi&@Umtmg9**fEkdPI9RvIR`v=J(Pq2#$#frg?Sig@0sN!D0WzODq`^;newg>5d?_)3y28SQYNZCS@(w%S3fhp$>&C$*RK?7fqDm)SFjfAl{3H9@pr*n7!y=dUYO zs!XoK87gmUIh#Y@Xr|jo+Qm7pOj2F+1uTmW+!AOo=`OGlZ{?oeRi0-ubeJv~n+P$v3y~6+JK<9=|rtX>-wFm_H=mqWySLYSvSBVhhL&Cqw!U#CB6CAxPABhSekP9 zJ@x+Qo~e0#q-fvtK|^GInw747=ced>1;{Hy&ZH%6su+1Vi)&=!7@>M-NN5X#N8|6N zJziLi2wBa+M3v9;m1KO??c8{;oP>?J)NZ8jHF0jN%{Zs?uq32-p>;#Co-YpRR`(T0?vNBMvEIJ1gSxFlSU>Ae&4xBu4%? zc!cqMHuvaXAi!2LjCPI+Q3G4I;&F_HdmGN+mjPEZ*DZn5bv}{>+p(_nuG3Gfv6aRr zoQK*8_D%bdG#}Qr9K<)Z-D8im@!%RJ5M}g>E9B#2mN&7Y5qiwyxq3GioSc})X`P`# z{d(>&|DOg|z=ATXW`v)S=L8Xl`h-g_8hm5)lK#x-CG7)xNi#T-1NeqCHbGIVCHaV} zl}_L`q}(t)eAvGxiFMCT@Jze7rj=#<|MDeD2K<5r3SmjLki6E+NQR#9G}DZ4%KmD& z)CBq@g~MfulbI{xV#vl}gZG+LG1<*;$tPpMl7&Wrv^f50B>v7vR1npn7nEISKPW8(a8vOGiFF=)SG=1H#vT(iuiugDFL9 zh2uR#5BM)Wb&GjQGfe8fI;t|5*4`J65TepPiIWv1w~1bhi1tuAKB@z(WG%3gX^sMt zCQI^h7Hgn!45s455zs>#|BX#Hi078TdauMv+y6GuS$qfwJZa4ci}0 zZ-V}4dNZD@YQnJ_5cNG=P2VmoD}_epyD@NxK8djd0vLG1>OX({|3@`Q?W?(V>a$#*7w{vN#6(FJDUi7h=oK305B!eC?j3eXsmKr(MDJ_>d_=?TVA5?NX zUUEUZ@P~_PT-&vpd6(FcQ*M)>uIeDyeM_MsuFua;gLBRDszX~5*y$~$-px~gVP)Ly zUH-&37Qo`sWBEu8x7kI*URDmnWo#`qEl|p$eYJw9Ul*Eke~g^!(HJRyA&|=hF&?Z^ zE}4w!Q+q2=u|l=bvJ_%eD!dYSY#VXaZX>RWCqMjb7S(Hco7KDtYXh9tRDxMXMmVq6g!eOsP)w;v!-NR?-L^3 zab zFM+wRT)+8yCeVmHR0W~!`IOLWh($cACaIRckrqf=xx1f}e@mXa+28m~i(`xSX?gyA zOJYKayQV^PO*M2*YD$^#;5ciGL}pR!_MEDPs0dZk-flat#`{H&AyK3Akc&@#g*!=-+=? zUJ<&R>%*`j^l~3Jegy;#2ca&1FfU0%c*-w9FS|04dN4>0x*jgDh2W`)PcPu^Mx>Br zb*b@`-HG!*^=YkbT1TtFwXANWrfI)do)ahR^)-qYB&L3y;(=7AFOC0K=9OV{j6R9X z_oPORv=;|yMQ<_S7u|*dzp~7#^(8f;%FOmy3tn26CUJGqvMf@<+mHWz05FUpoZHWm za)+k=TDFH|QB+_3!FUL=1{5-@ETU=qGi#61M~WOq4sVIUgVj^_H{K41R}0XC)ZNqO zZ>g4VjknR&S600)n6&mftV*lDc2bhxvnOK3!!&t{^G^L^Kb9}eekr3K8ceDrAFr0$ zdHoidVD;9x2bG0@l3F(^ymer_w==(YcgA~rk#rP==v)w0UKRL7fv@gmSAd z$Yy-qC7#N4viOH0)L!yr?~A81!?Ut9FxEo~Mgld$5{`*27H151N3A@!kL1bS@O*@s zg}P@6fO#nqIlEacAy)$$U_%r9yQDkp)U*A?h5HP8pXX5*-X@Xk^>2QPLh8#7r>cH0 zTfb0y(#->HyH&V+Y)b1I?cH6%;@Z7cZ+z(Tdgv$-<^FVwGEDEEpC;(ZlQXapuIki< z=I_{1D&a^YQ-74q9Cg5>3^r4y+%ySL7%`!rUKnju;N^Nw-O`j`n0K9Iu?gg%XW0(+ zxw@ilDIHvf!FmJdi8kiSIUCjmkIQ9Vq$8birO>Io_%)aIodcNu*yaWbiB@xU82QRg zPyfB1@jBU11R?O9k07D zYj6a)3*5%DTI|BkX`c}8HAso!{(M7=@;0f!Uf<^V;9dU7d5-rVyk?!=SKdL7Q&A_w z`=j9UtW_{e^?Foj7qx4(LN*NPM@aH^fZnDi%Z{$YPB;wTkk{B5d{!`0ri^Sc60NeP zK+jso>X+PrO2(i27zS3el1rlP7)WXiY!sw9$jn>R3=ql)ogX$9rRs22)f!&mslJ+M zk0ylE*5P_R$n=oq#VJZvbsnKrrCaUuqS$Xpv}y@R5i^(w2bio{|G&p%vYdNiDz0`8q?_+6qm-e0K{FMj;<2_w+THs4vXozy z-LlyikO~lUXGBhWCXO~&r7JU{pMK6=u_R*ajJDqa(rqhiFJsbvk>l_90kkP{O}tk& zpY%4vLed%acAy&WhZ!5$-EMP9@UG9;{3vG2cJ0?rr$A?IV&6?dZzn!5-6=fZL~o87 zU2x*v&7eZhxJNZ2+BUuts!T3!8xtpcY$*4F0=bj?!!IuszG~aW$3?LQ*R!f;=jOJv zR2irs?M=|aOZoa=nH-rosEZ8 z?QnOFhp?d_RVq!j6=xyXNf6hK89=!`#_Y#^6I4~#hgV){zFma6M@|&VK7Lg=`ao9We#o;dN67xQN;2>FwmGjvyXk+09;D->(Ub zmiV>p;|^Vda)7a}w~3mQruD=@jhH3kl@b00PUf>9n|yY;7xX&-a3;(uq81$rhWOCP zb zoa>K{P0LahNG2*r;DJjgD->j_7y-gTo($EDg-UOFOoYz0pNru-+EuWuU_i{|er^-9 zu3-#UW3EADyuh&<$(Rn@l+Zw1#tq}aR|$goH78Z;1GJoKX(~(DCBhnKlKXJ5Ox0VO zBUL@RPSg zRjGPy9R{b8C}{Q4Ns{XU%{xEre9pEQ`f(P+*G5#WA0R4i5)>#q<074DQE?XN6-|VE z*!+gn-u={2Z2)GC*~;c(78ztXPt~K-J2~lORwdYMGZmrWD6=$=4*Tc{A`k;~&feNp z=p5A^I}gqD4fc5kK6Aaq;A8#kmMdwVv7fH9*K0!=58{w*eh1(%Zl)!Z6ZKQ4xnHJH z0FTT2bPwc!LVJ%*C4nr6MHtcKCU(ZIQ(AQswBx=UOh8w3Ie2H#&QtCvNXULR472Pv z-i_vIIPI1gt=uOx!EdaD&=pLIPm>rxo&V}FMs?!9Tr+`-Hgp@Cl^I5OeMEi`nJ{}v zgo6ZtTOO|4&{y4V8IwM=Xq>!f%%BLXb3QQ1J(}nXM^eedO$w`JQehrk-_yZFNbqGB zZ8i|6)aU9qGBmaldNr)E8c`?6hud=8?Az;V$R!TG;c4*%!)NeoJDmmt!s`VBBVjem z0@nuoaT)IAnmj5i>d9%J;?p?75$27KF3d932%@gUwq=jb}m*#2qdr0p*&( z(G_d{IqyTCucR|iZoHM7X2U-N7=~+d?`sC|7{}mGv|eE~wgUL8qhJ#?E8*vq$Z-iw zgOwi#DDw`&WutPZ#OqgO)|LufO>B|US2uH!LdCuN!9RExkB10;2$Ln>V0X-Z)C0ng zri*)5R8J%N^X9R7r>BDEeA;`#LA>r7!+1TWvEp2~D<&BTrK@%{$+`3*E(ZmT9K^XixP{r^Lc$ zRKM_jPNo?Vr_tv-5Yxto0xePiQ&PMQTkZIfBBo7;4hWM7pqjdz zf8RHP8EZ5{-Xj0$FF2#j>7hO7#LRt&#hxqEtxG!jxeN!xk^3grx=BFXY)L-)x{C89 zfcHX=d_3sChl`DG2tbjlq+ego{Y9hG`!bS%cMtNN+dN(i_JZQ~Ds0;wOs;|sCdY!> z+TxymR5;Dj#(Gt#X?HA0lE%LM+0_YjJGpF|A7Y1Vmp`IjGM>zv{1@TP(_}DqFEc}T zKDYx|$sO-zL6Dd-uQdw~dAMW6m?`pj0oaL6_1Z!?0kYuKHS5^5Y;!>A+SzRZk;Pvg z?th|yNZ>5=&hZAze?`cEQ~9bav;KQM~XKKVZ+?*CN`d2-%JXdl`NG2JyvLXFV8)&g9V$s;?K-(R%k5LbUu#z(E7LErT0Ufhji8 zDKT)RH?xgI_ePd!=0RixU|{P9DuJpyY1aMm`=R?T76PbJN%a z>F;xQl#m%uiF=gw`!Yoae6GXbGc%KJrtm=QmS%n5jMx%)yBB#Z*ZjkeImbk^H0dcZ zq3m7E4Sc7c0q!Wuyb=GwwrTATt(S+&%SSs{#ts1B=H^>}O}Q99Zf7;OfJqHeA`#tF zTm!m_hqpW%(_^}4(#Xm7krHPY?WCB0|K@8yGICUW<>p2X*?ENgY*rRv@80 zXzz?4`p6gg3cTnOD5zG|WO6E~CW;9x`_IAKik7i;whYbAmhyQ2BV6pU{Uln(RzNCz zdnvf5O<1MGK;e;}Pq&q6btq5QO&y!^BH4~K zBkc@IZtLy>R4`ENd72d{w{o)&e0O{i;w#Vr^czh6SY{>Y+o+Y{ke;?U^jvuM=m7qn zzNF|A%gu)ri0pnDOhADDo|bXr(U>&FOz%BLGwuvwTIpSh9>Tqi=&dp8CZYBi2n`}YUz6p51?8>T*_MVep)EOnxLt|_18Hd?2*PFDiUwd)x1>nb3+~TrQOA7sz=WOF2N$!r8QG8XbBlIrS>- z-7{3LI-wefI`Kn`3SZ$>umr*4fQ$D!YuIZ-pwAirhr8p=fB0ocDy8}-XP?kCWwg$x zt1^2WI|zCR5)r<^X`6tRyy&{8d9Qd_!ipZiG1>@ynC_I*NlCV)dJj?Q>|P_Z=9Rih z{oV&Vz50wfo9_51TpF^Lx?zhg&p!rC5{AxmO;H0r%3e;1R4;9W3#DU$a^H(_cPA8@ z1Lcrk>vV6@_1Suq-+*gXr*0r8(;k-k_z$blM~ZH9;`!gDRl={E@hw$ zxrDBNdQ(I7yv=Hk(tAU2%j|n^G5b2hZDYoMPiq|cT$i-5xNu$diJ!G@;6C$J&m1Iq z93(n^jO>k4g?p_X9$ULwI5fXBvB?F6tG}mnt=(;8&V7Zk7JpZJ;-I zWT`M&e%^bGFRM&fH5dve%d!S7>gt~{d&$yqNQ&54yu|k~&Uc{NyP9V1ue7S-wMxx; ziWJgbL|kTm7HHF^12Gm;o>Pn_KKwYgB1hp^mifg^oVy+HH!Xl9h@cbr@fU#72zxm7 zKBLu1cd$^~nuxXgMBO**k%+?&Ij#~lrdMHvcqLBCgHq+&*94t|@-|(O$D~2Sgke~K zB35+mmaseA?y9H@b6MHuS<(=WM;}*N>Z9JgA=>O&c<>iJ2T^?_`u_FtiO(T&Bw#nBWc9I+EMMy-FQI&^iN_A;JY#YO zcT*PQgUX;(kd2-qwEWqWt)X$rz^43H^7WaQ3|N>ys8AXITHin3(fv%2L(?=NY{vKH z!6?+`#QU|V@t|7`%2SWe8l$2uw)R6bYY+4L-}S%fJV#A#cs5cih526GD|9wiH)#OD z9(7&`av7OFmc>F~VTobjS9F@#kqgd!*z#e=sbrK&nQs}sFMX?&Jl=NALS_b0x|{Fo zF(UbboeF>L=?4u&k@fPTkLMgDWFPGf|8WD9e$aZKUgaJaq&K)2ubMvCgn2Z!Ac9)7 z&J-FS9!(BT(@;;h-n4yKMK>MwfxmlGv3xhLlSCXK_KXMrXikPFrVY6tJ0P@VMlB=hS=4D;nOC-?{(_uf-=rO8-(>u-TReMJ^b&e}Y_Cbd zqm|Z(&M4WSG+R-Yn<7BDXl}iy%l$=jyQL6deVnKtJb&I$`&}m** zb&CL~2U-)>-B`DX;x@x*#<`{IPQY<#rVmON|k&nnZqW~MpcI1AX1 zM1Pt4dHDqz@d~3PaAeN|F;*}~pvgI{5~%db^|Omyyhi(!ZuH=Vv=r7K=jSUz=%2|6 z<+X1K$?R%JO423j42~J)qWA?LeY9AS+r1A1F3*_dESBIxeFhL$7-R2Lpy+W`fb}HV+6q8sRb2>yX+uhV|v;vP|M$AP-VPpkqJ zp%|%HWFkwBPfi-N5K`6}GeF=guCXvIBj{qCNk)9Z?LM8-{Ughjs&{G`3P1!D0u4rD z(xyKRU*3d3;{-$pY`@x-0Y~rpyN)*A+j2RwFE@eQPkU@;zIl|??nLiddd8dg#ki*K z^)vWVbL=eIxks7c+$@IIxrJaxWh5k7P@sKM`bX!eQ5nd@Vib1-ZK_N?p{o$bV@y0u zI02HNcjx)CrzdKbE1yN&UqFB!suT9VlKlWi8mx~d&FTHILl$`C zgfwb@L2u3SX7z^u%3AOb8FE{k^{U!AM4(-*n~W&uy~~;Y0tUmTldsC%>~XwCE8Ydw zHE~Zq*!<`Q3TlJdZAqX2Ep2>YhD(;~#&Ldc7$Dn-X_90~)ipr6x$cu?kXyvJQX zi61<&Kr*-qB!kgAIdOh#zEsk^6tSl{R%ApDfM&cz(Xb+PQ;{IwB z!Gq3_7M@(OnH_`on6%h(9cGL0u|z0*8>%)fc33eC{TwQ(xy9eczKLhLJXPVXm#IV# zvTB&hkA!{*+Q_MWO>WT;Dwyg>+duBdzH92;YgV8uCcUnhbJ>8X)eR>PEgf{PDHH4&co3-6*7zM{?t5a)K(_nr5CYX=9qoD^AwK*BdL{ z;1s+TiS}WHO_4O%;K*9ZaPKrVI}(EzH&l%@-_sr1>yia>yOyg6rHc}`BZ4Pq3d?Kf zr+B6g5WdcGsn=io;+kFJ&y*71 zRL|RzcrLBu@HYc7216?+(r=aweI0=~CQ>ICt-OSAXT_3E%CyEY_4LpTR^u-KC9?K; zbUn1HF;xi{(uL{fH9Xe4xVv;@Z)GZZuwgLn7 zK6h(3(~MGU+>zlUjlSqGF^EE-|_r@hXzoJ2Smp3 zFaHDoR0*c`I`q{FjWITlqfznqf%!5LNH9Ty0SMPh0Hej8B0=1iIx95&DmZ{!>`1Xq zQC5Yi-GUT1$Z&|3`9l7JL4hAQ1^9t4t8kqZ*B+Aj(+~Ux_<{Kq)tBVo+^@6->bH{5 zeDk-KIVFy8LI6APJo$B(%wNQy{}YiL@r^k*yX5fse=arzkaWibe`ZDK%#k}x|5UiR z{i*-BbpPYhWf&U%V^IeF?0?gxOTFn~M7~Htx&*iE2X1sXV)nUvFC(BKnCJq5^duf( zQgi%Q!N zEg+--zZx;thDDr(W7G^MJ{C=xR`*lScsttMVIGVD)VRX4$aknu5O-s+3v-bk)yI>h z#cv--T}T@(SuNdKX>|x&G$j#>UCJAqs9YzHXO_fn3AT*<2Dfqjd;82I+xfdR0l^4* z8o7`VqDhLs>r#@}t4SZH8_OIUsHJxjTi28PnI7zK%YI&UB!;~4b#^0$IaalMo9TTWO~2wWuGJb>^w^gEg=Kl=IqK|lpBP}vJ7OS5Efdac2l@|Q zOhx%CVD=^TTFBvG%!MMjfz+vFQ|y%#u`z?lw0XWA626HW7Y0V{TVT731Q`xX^K8_O z_la+G+&ezKI$7Dhmx-p2n22!c3z}P$3a`129w(v*oP9%BZ#|c#iKWh@x_1m>e0w~v zPqmtuQsg18#d4X|kx00m*CS)CXGbioH;tJN2PUo9US0o-AXsrAVNmn#SCkU8_G(mV zeOOxTYKz-C3P060wEp9A8^g--XFZj;Fvjyw^4-BQpq<`{&hNL=tHZN>Y`?aKfD)~G4TvHki0m73fSKB8c0lb3bGsnz#GE|80RD8{#&(GT$(N}>dS1BZhi&s?JMuwHI z%MGXkGd!%THD8>t+4S>GZ8jstoDr_^k^#{pr6gQW~f( z?OvB4;g+oTR>4#R*X)5$RiZ6zgbvamx9c}$yXQ_yP8RUq#OtfI7v$Z|lwywR!*n5HYz=g^mJP%STRz#`Bh;)`t=T11`N-V75B=c%&VBd;*}Dqibn z_?b}*g{pmP+?DTTL>o)@QgX|Uyxw9U_NyFffxplErA=xRuBkDgPim7_(`xT2 zS{4tt0RO238-Ouov^qIEdZrH`pXSzY3X5R?G`6qb32EFIo9D>t~n%V&i|#2;Q+Hk(Q6$c5Z421tTD@rU` zSMTEN!0k(faTViByA*&s5!iNJvu#%$!GJnG87Pp-90(W1EH_5&!xF4A3DE6q;6M7KCLQuazSC_+)p*Up- zIyt+CTl#tx<|?Br6rrKHg}s1$D_mGqeo%Nr$kJBtO7j6>*`&Ksb~rGVdFErL80L1y zFyaP0c4>ODvS5Ik1!4N@yH<(6Dxj*kdn5d>hFUdvUFO^3>hw?akKS4?j?*8zrSX}WQKfFV&dv0+FQH4xI4r}yU{k?`!EUyvNfLW1+!J5H6*JYkU7WjF2)t^8p@Ww3K7&VLD5SOXc@ zZ5L~9S6$?>G7soRT6e(Qy58Zuv?LE1)`%6kD!1=Ji$p(Kx@J$gcUo0u2+uI^QVbvb zlmVKNATk!SR{d`i30?1;Y34f8k5p~3vA7B^`q_|}$VrAgP#?$x8KxZ3ClJc(@3Z(f z-=q#5_f+~_Vn5=e9&(tsPJrDQPja-!XEneY>rVQGCoD>bBE{c$=dd9cG1XG`0dv=qtwtwapv{>|CK`A9Kz zjjeCK^m~ynYjpGx*M3Tm#NnU(Aw;aKn?_Y+Kzv=@g8AKgXO?ay&A#(jrR{oSLb6Fe zbd1>jup$?1Mgl%VQhj7|YcqSjkG@kGw4^VlTW50`k+#0~9chpzSv&OjRaxX(`=|PL zN@F#W(&ORK)C>v{`F0gSZLfZ`2b{{*&HS(H z5OqWN!&LWq&-t{yT?_GPI|+NnJT8+Q;GdrW6j*b!Gx7z==0KH=p>Mh)k}c~mw%wfm z(i*?1R;B>)lGp7eBS+@ctJ3HXrz-oGgyS9h&=Ad2WbJk6MA~o1?i}11OKA?4xH?)r zdWQ9$KFAg)_CBuh!THfr^HR*V_|&#q(oK&gzC-H{K1k{&So>>a7xe`oqX^gA=n+r?IlN z>F+~kzl1UDvN6}|4!MKnIDD|`yU=egvMoBCCDc zZt4crJn9A!&5)s}y{{37`fRd9_H4^OBgGzLEBrm?rW)_CJs5AO0sh=Go|F}COa7fq zth%DwLosiTY61}E0!maBpGyY4*@b1NxbFtC0}{r2y&E4g?0+*lR67QEPH%#$0{_og zbSbK&VaIC@Sr0$%0*+xx{-K%|OP3VdKZ>)1;$imzbQ%>Ue!l&?qy=DWFSvgVB@OG= zaDeDp-YV(CA3MvF0ETr~iD4bSW(vNG1K_z7F@?^@ueg3a*|G9os;Z6!Y7_Q+uiif3 z{R%s?^W}NcjuWF<0pJXva0{sZ`ip6hQ5tWph+(a%r?mcPKg%mI3KVPHKvAh1(GDKU z25`fG8^iFy@m%+y1-BzW0V8jPwYcD3^7W^wC@{HPa-Q@3tDI5}_=b=2B-|IidL^XV zIyz=2_>xBOCCB(w9R0@au8!WX0cFu(k7Wlx{Sq*g=l8t?X7OqQyVcTP_}sszUi<%b zVX!`9v?#9$1}JI%Wx=}@769)V)r$V*ryj7SZXPcFxOi`DV?_%lG#Ru&*@J3n&)N3< zo{8Pz6Cfyi5xfjE@G^k@*g2P)nlCwz793()8h&ES0r@4MBY{~q025=G(fwD>`R~a+ z8`y{UEqx)fJ8}Fjc&D!V;NXrO+~fMX=dO#h{ogBo_c!70f84e#DPUXskJWew3kMKC z?-RcBId#YXna?_MjK17)ruoHoWv%rgt#Dk0ufi6Mvb)Xs$~e{9CHQHqM)bLG!Rz9U zPeBGJKm_Oe+a_sm19BDnKpnY`eaHFxK{?W@T|Se83~_lGGqEielvcGbS7Lawr~elI zLDBUgp5fw^)BUf0g<^Pt*uG@qlA6)K;r?|2#hXms_svk}jVP2;pbSVby;-7eq)&c; zwhSy_5=m~zg6ql-l##kcI4sCxZF4?5RW%J3r|?@?D66VMAs0<$5Zwz19j|WKMK&`r zoU#*l|KVA-g@tqfQdoGoTo8HI&kq!`3&ZVCpxe}vX=j!|V0et4*j|$QF8;O!77l5{ zrRA{P<^^7;L)t$UxES$(v7$!~<^YJk$jkWkd^|moJFUgR-BBXmJ-^g zQkD&^7*HbO81n|eK1Y?ae15Vb`X77=^*aw>(?sju6tVP9Lx!@==Wa0s%&SQR(~@t@Y{M)yxDIXY*F9m|0~KsBC4H3^ABIt`Y>_xaGdzp z++{E2S7Voif%!uC{r#S3fc)?h0kiYDMoaJB;=6(par?S3XRwb}DDgB8iBa0*mP^_eymwQSH_;LphZp}6^N@v)QbMA zysuMw@wL?tI;gisgnCc$e47H`i`Vl~i8A=#vUu44T6xaEyES4aO)MOxi#%eLVspcj z76l96s)f*g&W)#?LLS!K`nkX!iEtAB6N+(S|B(E_j`t~I{#5*ZV;iZbk2ZVH1Q+Xz zwc%nnYZlWK|C#8I02>bUb={Kg)uP{3nFlmX#wZ7sAc05XBKk18*Z?Dr{Q{Y=(YwAII7S%ju ziox&G+lEz9{+|i4m&-;~l0(dd;CM(CeA;JKvEjBr?3OUL=IUzn0SzGG47iCK`91*z zb*ffL5hLO46-n+fB?>sV#I5UWMXyP_b*!aU+#T*D^)1X%Pk17841 z-zXfZ#w2(1Sc+Kr4L%pH%8>1=a8`>HC@pg?xAo;t^%SwM>UX~LZp-*=*@2fl{tqv? z@D!Gly_H)auSl;6*kSrDL?$VW2o;t+;twLOk=D4v#wu8+gIn9+rSuo6)H`LXNjU(D zwZ_pnle@PxlImpD1!LP;4d7QUWf=M4YLoB%Fo6HEog87q9Zm>-5QlZ_YAX={&NZ8j ziM4GehAK{Wz@8#>%~)B=w+BmV{G(>?hjf3CVrbIH^YU-iroH>}gZrFCdbWl>uXw^8 za0&|`Qofo)uI-ThS+=q^jw#q(9I#sX1*RdiGeGp6U(gkzW9+j?gc8$|r;2^!uPV-C?=0&_71kate;CVk*svAlM-oBu+?rVBNyct>VaCNs*P2g_0Gj%^qJ zEb`s1SGP)Nsk!_bCfc`g?XBM5%GG@jcJC}GSMyY7Q4$7TPQWjcGhKe`?Fydux~;5> zcw9-TSoMm0WD8TX*{t#voKu;@L=&F?`C!M!Mvj!v#=b<%tm$UD2p^fwVmMi=KT6PY zK?Z(`otv~PVbqQ@gt(;#M2Bg!f*_kqULbWlf8D_THTU{9xCvS9MJqzvTIJ?0#Q3Hr zeCeE0go>UI6pZ){z`hRn>!Ne+m31#oi2EF&w8dBeQCxVMU4lX7cEI2&Ks-M8M^{vN8ty07 z&q05bGh`rsA(FH6!{s&EmF8caD6ca0Rpni6!R89{_bzY2msC`;5n>w-87{Cdfr~LR zw7}@lkG?FuYLX>?fUo>ggB!1ElfB|+@|UX);*{K)VwS7?)19U!M|MZaju(sMtgm7I zyApL+`SN~QzmlM&AERp$kHUrS3uKvG2Ig4oTYar(tKux{Ya2mw4zU(rnRCgjp>`vC19nAJDz10!&xM?k518^U`%kP3*EW#!OGANx? z7Py}@lVxtQyPA~U`!+V{n)pT)0B%+FhewzJaC>pCQ`-39fZxkE@VTIr0V4J3`WX!t zMX(r;UJh>jqdMId`xjL9EjY-l)Ovmf*^$Lq(=dX}PyOe|My-nKA$qhwEo#Mz#MK7i;PgW~vgDdUUhz?x=P8 zXKzflZoZ!V%RQH( zlz-<=9xkJ=?0v7&%(U21Ind41PPNO_+(A)XPJ7W<;_Rgi7g~2r{3L-a!xjPZU!B&I z4ZWbQqNUVFswG33Hhrj-TkMT%`1baC^SFJiHYh=HE>}V5cLBTLJp9vTK6)}-GKava zyeCFz%UgrifLfmCndbYXKOYIQf>k1#UYesG(^P>2;Q|Li*P_zxV!O)wNR0Xi2ZlCn z*T^ZW;!$U0hCX?GxO-Q*L2iRW)%mfG7Q0hUua1h-!BFD=WMVIq)&-6=wHjxutJFwB z+O|Ba1rz+q&{t*>z!d-TFP7XkB^UejEkj9S@N>VLMi<$`9n58K$co9#v@7^{@6TGp zKptEvzH2zMGKyIryI)_^xvo`lH;$R<0Xsu@rmlia%d0WGzyg$g+BR*k8ou8I7!tRY zzA=Lfd$uLA8MKu=N-p>u^dPM|-}8!D0IlnZ47A}m$U?#;SHHW41Ei6d$hf1+j~kc5 z6Mxl)I?Gx(CSKa;l15Zt2FV|_>7R2AEaUN>-+W|;mNVWt;#&vRTX;a%yb3lT8OW${&VkF`1wyDf> zn_B^=de%wYs+*7J8^)fHc$;R=bZp2em+5*$!4p|!FKP8Z@T#3U(bwG6#xrN2IHBS} zpXEG0ch@o0L&7W$Wl$3ZALi%O0>$g@t!<=%W)eU0wWe?)5 z!ngSGTeamj_HBE(`BtVt-Oc3B2ipUt5pcDumL**R;;|+lzmiiPl|``AS>J$~HNT87 zVHzi7kMSmb`v4FiEO5xFu8OL2s-jw^Y5i`2TILhD*I7Xa<-C zycHTag;Dv`Hy$)9b~tPAuKg$LHkCm3;vUg@RUtham|T{B$e1R=Rr_%|@U*&_X>4aF z9jbY3;0+v-12%-c-`o%a4ni;S=m(EHF6n)90XXisgm-Uek|eN#NZp~AdKI+kcGA)X zt{Yd2n|rye{av|d^ON@d|EySQzJI;;Sj`T2^R1G@-Fp_|e7=qE+1+of+_q89hrjVY za1dY;pB(UrEVS(T9k+hI?)u->{XlbA`eMGvJwZtKQ#9_gj8ket-9y zo&E8WY=7QAKVCj@iS>8B{_Y2?PjdB57IAw5&#?>I_H3@2{_N>97|tt#hRMX}HB8of z{?vc81!E!KfBOHPs|xIbRqtDPdZzfC>%OOfho3bt0@t-My7Wr3 zoFSKRv%-T(z!i5(b?#cb#+A)yie*v&u9uKSU$+N5k>8FKAn