From 95e56631068bb5a0e9f887ca46e1ad667736613c Mon Sep 17 00:00:00 2001 From: wu-chengwen Date: Wed, 1 Dec 2021 15:52:16 +0800 Subject: [PATCH] * feat: add usb service Readme and API file Signed-off-by: wu-chengwen --- zh-cn/device-dev/apis/usb/usbd_client.h | 378 ++++++++++++++++++ zh-cn/device-dev/subsystems/Readme-CN.md | 1 + .../Function\347\256\241\347\220\206.png" | Bin 0 -> 36579 bytes ...7\345\221\275\345\221\250\346\234\237.png" | Bin 0 -> 65136 bytes ...1\346\236\266\346\236\204\345\233\276.png" | Bin 0 -> 61470 bytes ...7\350\241\250\347\256\241\347\220\206.png" | Bin 0 -> 33813 bytes ...3\351\231\220\347\256\241\347\220\206.png" | Bin 0 -> 42429 bytes .../subsystems/subsys-usb-service.md | 320 +++++++++++++++ 8 files changed, 699 insertions(+) create mode 100644 zh-cn/device-dev/apis/usb/usbd_client.h create mode 100644 "zh-cn/device-dev/subsystems/figure/Function\347\256\241\347\220\206.png" create mode 100644 "zh-cn/device-dev/subsystems/figure/Service\347\224\237\345\221\275\345\221\250\346\234\237.png" create mode 100644 "zh-cn/device-dev/subsystems/figure/USB\346\234\215\345\212\241\346\236\266\346\236\204\345\233\276.png" create mode 100644 "zh-cn/device-dev/subsystems/figure/USB\350\256\276\345\244\207\345\210\227\350\241\250\347\256\241\347\220\206.png" create mode 100644 "zh-cn/device-dev/subsystems/figure/USB\350\256\276\345\244\207\346\235\203\351\231\220\347\256\241\347\220\206.png" create mode 100644 zh-cn/device-dev/subsystems/subsys-usb-service.md diff --git a/zh-cn/device-dev/apis/usb/usbd_client.h b/zh-cn/device-dev/apis/usb/usbd_client.h new file mode 100644 index 0000000000..a70be10399 --- /dev/null +++ b/zh-cn/device-dev/apis/usb/usbd_client.h @@ -0,0 +1,378 @@ +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @addtogroup USB + * @{ + * + * @brief Declares USB-related APIs, including the custom data types and functions + * used to obtain descriptors, interface objects, and request objects, and to submit requests. + * + * @since 3.0 + * @version 1.0 + */ + +/** + * @file usbd_client.h + * + * @brief Defines the usbd Interface. + * + * @since 3.0 + * @version 1.0 + */ + +#ifndef USBD_CLIENT_H +#define USBD_CLIENT_H + +#include "usb_param.h" +#include "usbd_subscriber.h" + +namespace OHOS { +namespace USB { +class UsbdClient { +public: + /* * + * @brief 打开设备,建立连接 + * + * @param dev usb设备地址信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t OpenDevice(const UsbDev &dev); + + /* * + * @brief 关闭设备,释放与设备相关的所有系统资源 + * + * @param dev usb设备地址信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t CloseDevice(const UsbDev &dev); + + /* * + * @brief 获取设备描述符device + * + * @param dev usb设备地址信息 + * @param decriptor usb设备描述符信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t GetDeviceDescriptor(const UsbDev &dev, std::vector &decriptor); + + /* * + * @brief 根据String ID获取设备的字符串描述符string + * + * @param dev usb设备地址信息 + * @param descId usb的string ID + * @param decriptor 获取usb设备config信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t GetStringDescriptor(const UsbDev &dev, uint8_t descId, std::vector &decriptor); + + /* * + * @brief 根据config ID获取设备的配置描述符config + * + * @param dev usb设备地址信息 + * @param descId usb的config ID + * @param decriptor 获取usb设备config信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t GetConfigDescriptor(const UsbDev &dev, uint8_t descId, std::vector &decriptor); + + /* * + * @brief 获取原始描述符 + * + * @param dev usb设备地址信息 + * @param decriptor usb设备原始描述符 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t GetRawDescriptor(const UsbDev &dev, std::vector &decriptor); + + /* * + * @brief 设置当前的config信息 + * + * @param dev usb设备地址信息 + * @param configIndex usb设备config信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t SetConfig(const UsbDev &dev, uint8_t configIndex); + + /* * + * @brief 获取当前的config信息 + * + * @param dev usb设备地址信息 + * @param configIndex usb设备config信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t GetConfig(const UsbDev &dev, uint8_t &configIndex); + + /* * + * @brief 打开接口,并申明独占接口,必须在数据传输前执行 + * + * @param dev usb设备地址信息 + * @param interfaceid usb设备interface ID + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t ClaimInterface(const UsbDev &dev, uint8_t interfaceid); + + /* * + * @brief 关闭接口,释放接口的占用,在停止数据传输后执行 + * + * @param dev usb设备地址信息 + * @param interfaceid usb设备interface ID + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t ReleaseInterface(const UsbDev &dev, uint8_t interfaceid); + + /* * + * @brief 设置指定接口的备选设置,用于在具有相同ID但不同备用设置的两个接口之间进行选择 + * + * @param dev usb设备地址信息 + * @param interfaceid usb设备interface ID + * @param altIndex interface 的 AlternateSetting 信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t SetInterface(const UsbDev &dev, uint8_t interfaceid, uint8_t altIndex); + + /* * + * @brief 在给定端点上执行批量数据读取,返回读取的数据和长度,端点方向必须为数据读取可以设置超时时间 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param timeout 超时时间 + * @param data 获取写入的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t + BulkTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector &data); + + /* * + * @brief 在给定端点上执行批量数据写入, 返回读取的数据和长度,端点方向必须为数据写入 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param timeout 超时时间 + * @param data 写入的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t + BulkTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, const std::vector &data); + + /* * + * @brief 对此设备执行端点零的控制事务,传输方向由请求类型决定。 如果requestType& + * USB_ENDPOINT_DIR_MASK是USB_DIR_OUT ,则传输是写入,如果是USB_DIR_IN ,则传输是读取。 + * + * @param dev usb设备地址信息 + * @param ctrl usb设备控制数据包结构 + * @param data 读取/写入 的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t ControlTransfer(const UsbDev &dev, const UsbCtrlTransfer &ctrl, std::vector &data); + + /* * + * @brief 在给定端点上执行中断数据读取, 返回读取的数据和长度,端点方向必须为数据读取 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param timeout 超时时间 + * @param data 读取的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t + InterruptTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector &data); + + /* * + * @brief 在给定端点上执行中断数据写入, 返回读取的数据和长度,端点方向必须为数据写入 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param timeout 超时时间 + * @param data 读取的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t + InterruptTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector &data); + + /* * + * @brief 在给定端点上执行等时数据读取, 返回读取的数据和长度,端点方向必须为数据读取 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param timeout 超时时间 + * @param data 读取的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t IsoTransferRead(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector &data); + + /* * + * @brief 在给定端点上执行等时数据写入, 返回读取的数据和长度,端点方向必须为数据写入 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param timeout 超时时间 + * @param data 读取的数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t + IsoTransferWrite(const UsbDev &dev, const UsbPipe &pipe, int32_t timeout, std::vector &data); + + /* * + * @brief 将指定的端点进行异步数据发送或者接收请求,数据传输方向由端点方向决定 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * @param clientData 用户数据 + * @param buffer 传输数据 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t RequestQueue(const UsbDev &dev, + const UsbPipe &pipe, + const std::vector &clientData, + const std::vector &buffer); + + /* * + * @brief 等待RequestQueue异步请求的操作结果 + * + * @param dev usb设备地址信息 + * @param clientData 用户数据 + * @param buffer 传输数据 + * @param timeout 超时时间 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t + RequestWait(const UsbDev &dev, std::vector &clientData, std::vector &buffer, int32_t timeout); + + /* * + * @brief 取消待处理的数据请求 + * + * @param dev usb设备地址信息 + * @param pipe usb设备pipe信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t RequestCancel(const UsbDev &dev, const UsbPipe &pipe); + + /* * + * @brief 获取从设备支持的功能列表(按位域表示)(从设备) + * + * @param funcs 获取当前设备的function的值 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t GetCurrentFunctions(int32_t &funcs); + + /* * + * @brief 设置从设备支持的功能列表(按位域表示)(从设备) + * + * @param funcs 传入设备支持的function的值 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t SetCurrentFunctions(int32_t funcs); + + /* * + * @brief 关闭设备,释放与设备相关的所有系统资源 + * + * @param portId port接口 ID + * @param powerRole 电源角色的值 + * @param dataRole 数据角色的值 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t SetPortRole(int32_t portId, int32_t powerRole, int32_t dataRole); + + /* * + * @brief 查询port端口的当前设置 + * + * @param portId port接口 ID + * @param powerRole 电源角色的值 + * @param dataRole 数据角色的值 + * @param mode 模式的值 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static int32_t QueryPort(int32_t &portId, int32_t &powerRole, int32_t &dataRole, int32_t &mode); + + /* * + * @brief 绑定订阅者 + * + * @param subscriber 订阅者信息 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static ErrCode BindUsbdSubscriber(const sptr &subscriber); + + /* * + * @brief 解绑订阅者 + * + * @return 0 表示成功,其他返回值表示失败 + * @since 3.0 + */ + static ErrCode UnbindUsbdSubscriber(); + +private: + static void PrintBuffer(const char *title, const uint8_t *buffer, uint32_t length); + static int32_t SetDeviceMessage(MessageParcel &data, const UsbDev &dev); + static int32_t SetBufferMessage(MessageParcel &data, const std::vector &tdata); + static int32_t GetBufferMessage(MessageParcel &data, std::vector &tdata); + static sptr GetUsbdService(); + static ErrCode DoDispatch(uint32_t cmd, MessageParcel &data, MessageParcel &reply); +}; +} // namespace USB +} // namespace OHOS +#endif // USBD_CLIENT_H diff --git a/zh-cn/device-dev/subsystems/Readme-CN.md b/zh-cn/device-dev/subsystems/Readme-CN.md index 73a09eb14c..6923a5a776 100755 --- a/zh-cn/device-dev/subsystems/Readme-CN.md +++ b/zh-cn/device-dev/subsystems/Readme-CN.md @@ -43,6 +43,7 @@ - [Sensor服务子系概述](subsys-sensor-overview.md) - [Sensor服务子系使用指导](subsys-sensor-guide.md) - [Sensor服务子系使用实例](subsys-sensor-demo.md) +- [Usb子系统服务指南](subsys-usb-service.md) - [用户程序框架](subsys-application-framework.md) - [概述](subsys-application-framework-overview.md) - [搭建环境](subsys-application-framework-envbuild.md) diff --git "a/zh-cn/device-dev/subsystems/figure/Function\347\256\241\347\220\206.png" "b/zh-cn/device-dev/subsystems/figure/Function\347\256\241\347\220\206.png" new file mode 100644 index 0000000000000000000000000000000000000000..37361456afa94c7618445caa2fa9e3cce0f6a424 GIT binary patch literal 36579 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 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/subsystems/figure/Service\347\224\237\345\221\275\345\221\250\346\234\237.png" "b/zh-cn/device-dev/subsystems/figure/Service\347\224\237\345\221\275\345\221\250\346\234\237.png" new file mode 100644 index 0000000000000000000000000000000000000000..693c612861bc7ac85810526621fe55c6a4e300e7 GIT binary patch literal 65136 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%0Ah`zlXs1G4sktGaCE3V<# z%5-qA7_9QWKsW2*#EIR_!T3~w~Z&N z`5#_AS9uSlcL{Q*n>^Q039IvjN#&3lE5TkL^BaAtZ_qgi^FCjQNUF^d1ED-s1D|r7 z$#2SDC3>$6edA0!CLfR5g+H|Smp!Nvy0hqT^;wy?tdOo9s&*?jf_yZ%aD{>S4nx$l zfoe+#m&rta6W#LDrW(0VXKP<`+#W}4oocUPtl*8x#SG2@rYfiDrEkqU z*{Ud9UJ17;pP50JcZeo7H@A7zq9b&(B($k2vdTt2Pt&^5^RUf*Q|g9MGK70QIST`s z(PVEt05%{ByH_Qg5rS!6T_BOE^!vH2QF6eOJ}z>j4@nL>pVm9OHp%d0N=RluQgBra z9D0g_NVmEwzT~YO2*HS(U@8mUBZ;mO^6E@K7EMPw0%*$D_4$Z8aw^55BW+NsWMp(F zor)zS{H-xL=3WdhkSoFBLCJ6ey-WKX7luzH(%eG1JPF;I zORrl8KkjMvMJkEQwd7B*5Lzi5C=cJKa%q?djJUIv8><>qBnlgc zw_4l?GhpH47p}wXILnq}5PVB&=7lOt3(BF)QymK*!UR-JknyiHd6DG>uw$x@V%6t~ zAQvVCRpThlP{X?!TVF+dm4PRHuVV#T-D&+;6_DW2wJn+1mrNZh)OtFx*osdnXxzOe z!E2y|)Q4x5Mp)ja+ZW5}8{nh605r~tpNZ^X(%k-BB4*CWi}ixAv$P}W&ieC2Hv5d= z#DlFy6)tC30%w(>BKD|*^l{G;zDc_*Ejg3MM6xHU#TsykNy_!2*dOZW)+hK zL0|=UW4rvk91#-qWMAW%MIC$Q5>=&Ym(ieW&P?BG96xr4c{I})m&Ls$S_nR1X9hu`!Y-=jQ=8KemL0Zi#UOzy9 z0TOBx;&1GPhaJ{SG>ym|XE1(Q7_JIQFMwXyZGxbY&;4ZcIw3<-+~^>>9TfO4r@br0 zr^a#*iBj_;fC7)0E`Q+IsSd9tW{5LP^_pHn86a|m=9HQ*@p-Pm$RPV~QyukGwRkTG zU{ua{j}W+`g!C+^3s9Y)TTJx2{VDV#u6OyO0kz73*xm!5u+{GE0{*8iD3)71mJZpK z8(fH*gT-Lhi>b-zNx(|ws@q6lNQCMODE6o>>G}uv>r~qbgc}F`Z9I%-z~kA|@p6MK zEKVS#9k~9SCenj4@?_TUUW?<9$QZ)VhNU6$OnD~y6{(@;n-X1t*bd&8syB*jW0`<* zZ)gl8hK!6F^Z(KqBGs-IafTA^&Y{KZcnr$Vd>0nMr2OVj$K7n`6{zicgR-bJ*~cnO z6mJU{@0ta5-7pwX-{RqjvWmk{(hkCfaWokTVn%C;F0yQaioP-*ezATGda26vnp%G7 z8Z!40VKu{&%W;V7>~e_q_+u5wLMk?bxN6nL3N+TFR!k7sOX03HGN(?dy1&IzzS|h6 z{lw;$`xdf+@4xAPIbi2c4amGub29c(ho51(%woNrLYmiZ?bz`6LUR?{?|+;~kwHF2 zAv9HFT0s4=?~Ze&4)AFX%HEvb?927L|% ztEu~tCwPq(H#}JCKA-uX6#YDcquD>@dTxAq7EIbh@*<>P^bkTG+-%8E>57ivmA-z9O{r`K1)GX82lOkU(zo74Mr zjbCa06ah0jNbT}kh~5ca4(;(pU|Tj0e4<2tFp#PPmmzjjC={>!99R+(c#2Y#Z}IAZx>Cd1mDlBPpWuAnoPQhdYV@F!4gp@ezb{?4Cn^PN6v!dusl>-#z;{ zuBL~g=bE~6S39kDnpYRPlWwo0g^)5?l(r7wXSv5a@9jc@ust49ZKuw~NJ3GdEzcz- zKsfw{cS9C9c*Yz1&&62T8P=(M6Uj7l=&-nc$Bb_Fektu-k|Wx;K`%zGgR3kyv^&JD zkwFJQbV&8XvG+2*P3lk=kHk>2M*^so{=Dqym9)9UfM1E?FkB35@QXunwt`*{0%j)gWY~BduHzfRHC_$ygmjOx`9)t& zXNgw4X!G{3I+(U?*!7utIZKe`lk>RXxL`Ysktxfghs;?vQ5SJ}PubM)aC0Axfm~5j z{-hg(`q9U*^fd_@n&?HgcqQdB*x628w5?rrvF`dJWT#=y%$l2${@Ar*XWHlxW36gR zbY|7ED_3nc6SeCQWjNgCPat&%5fbr|jtZj6bKLMs|0;Btu46=`34(tl1-3(;=RAVa zE`l4p5}U;S4Lx%khK{exb?QnHw)VKfpZ@zA`AybMzlWsO!EEVypD z$qQzM=)~n8VY6)1_S`-L6yB>*LKaO8?3&>@eLNBg>}-=SL2M9B7fZzO&w*FPZzX`N zK!nkJb0a4|$5w^9(+w*IK6vqn$ILwP{Y*E3#0t3hYP)DWJj#Z-c`Kbcun+h!Ccm?0 zmee@Uz|*9{vLGjHR?XI#$bNwQ^>+HAR_aEC{X!nR&C9| zaXvU{U}Wfu%km89hvLzE+;<0*@(Z%RqS6>3BYj5;)$?#5blp)cajNYH%2qu&@+2e; z#(vP-o7Z;iJrB$4JPT}V&}c@97_SznyB&4IV>6J< ze75Ul*C_f}xaqH#GV1tCd6WB~&+_~&j3o?0NpmJ86#!?&?MDO&1U*!5~6 zDtmS}u(V|6l@b-t`3#e{U}y%vO4u$RGM5-9@OwRfL;vvDsINBcRzI*xGq|R25*kI> z^`3S62|w&=OIX!&U9szA2gq`>FOyTBZSm~N$#e`47PWLi- zJb&7luPTy9JJ2{wqCFcECozdF_^U`Ziy83!4}{5~eq`K1XU<<}iAG50-7h)X z7w39&4^9IOkI8hwrs*BxuFl1jgDj8_eEHn2ZEb zS89~r>YqG2N0hgu2Xqz*)o7{+CQgtDs{2_n79fXkoaY= zGQp5C{6@yj;uCje4vJ-;dmkmr#-~xEE+LTAi%0vE`Y2sE3E|1(c1qBs($wWBCoR{E z+vT^BoJ`)EpZX&Kkinea>r`$6+8siE8$->tk7o&&!)+tI*&f@hp9QZQHXA=YV^#y* zvvEkaC|>!#l}!*vk7AD- zHb^oKV_K|7$!}L!uY2Y~NMUQm~ zLZ7+bF2z~}vU=wz0I-1~7;7!nQK7bq9a?AN?Q+hrs8W8HxqOy;J1>uKu(!uEp{gUnvN4 zH^~Z6V?>J?V~eFSNTw7*fQu~Nk5K)U=Kc;Ae9$TVB#&-w&M^J@p5;3rcGoJz%OdQ< zKK4I(N>q}3f<219T|_cu57)__T)ndSgCYAwtAj_(&I{~}rZ0_7xK%b?kM>Xah#Ki+ zQaNb`aJzIOCiZSGalYB@OO)0<-|Bu}-Z3o!EX0dD^O+UC8PzhTXol2=I#8lUiV6Y^ zduXe3OA5xKjx%r38)^w*Fwu_MWLa*g@v!GOK}vTrA!}WHM}&qPULkjq;wdzecE(`r zpGxdgrO{3@JmkcVXd**}XOEoCa&=I4a8j+z);I97w_Gzz4#VnK>3bi6$ta@VM7xqa zYJk+h9MHN3k;uy8U|()yJ2U?DOC=pkb@hmLiTn@mTUovo=U9=Bo|4_Px))TwNxIZP zMLZ_l%#b{ZJM+i{*@Yh!5)=|)Or*MS@P~y_dbO22&|rVTrO)W6l$p6K=BqH6>{RWv zb>~-A`QRt`Dcn-5=&@XZ!BZ}71ej@yR91G{?Ms}4dD!QYV&B?H@QUpOM@TY~)H$v& zQ~nA1r317D?_VN};f+?$rfJ3AkP*D;k3)Q(J>Kz4QnpL}>x}H;<7~Jn9lqLN*Hg`o z5D8pN&7TwY3dFWX5MJTM-cGiVI}oyY1wBhY3T!55z61(j{^FKIilu2|v1#z~=&_X_ z2BSa&_VmshBgXn}a}4BO_n_yR%{JwD_HrmAzXDZ4BfcWTp9ta{v0TSD>WXS58T;(R zXr%1gfKO){4iMOEKq&|lyTF;5aOpdw|)3}!A^Sx~)5 z1Q(xM7L)YHfRo-63crZLh6<3OlG(*ehzQW2d|I`x^R^T?b1sQ9Ce`{ufvJQVa~gJp zFBpMRszgTDftPUfw`Y88#LLflQ+sqSJC;Jfg4aFg*@||VJ|kG0p_j-BtFEd~ zf9b>mROJ>n<##<>AVA?BW(hvR`LJ)Q21O>eftQsjAsY?HP-}5FFGw)z>;M$12$@)`2g)p{K!o#TvgR!^X+GH+i>sc>0=G{jB~k^snr=t448+7X2n2kN6gD?HRT4~z*H5! zr2=CP;ET#|h^F+*t(Lv&*&L61z3?vW(;Ov6dQ$#pNIMv|Vv@0FQcP$L?@a$ z?gYZ50!s+lBk`o?#G}@^NN*J<0P1#Buh2@JYWbrB8v$4LchIywzDl$CqECG*V;6x9 zlHuFV`Yrm|kL(ZX`yfsb_SWxr2pm>AUSuc=sfY5EufeZ7NYa663*no?g0NaY4^vG3 zOYxgfq#Pob=>nS?P`DVOKn+w7UPqr)Wefa1i(*!VT32FrA%_&(WO>BLcC3qIZt%_8 z6~lj>*@Hew|9C?qEk;974byLB>9y^{UD7 ziV{h*9N=+@KP{%f&iY0fhQ^Az{H>$u!j)OG^DYD-lPa>Qtv=c?PdfdE$im3-uWr-5 zPaPi$`~==0Z(n>lURfN$*v#Dye0~urPD`%CQBjDFAf$Wn?la9B`tcazqKs2qg$c0$ zD+|w?0J1BDH1o!J40UZ-VStjuI%x#2UTJ3YD9DD%a*KJ>APn;7 zg)IzM9zC{cEIk7p76I9TyK;H-W%lv71xnBbWmRXmLapA_qgi}TGz#=iJ}Xbhg_Vha zlw9vcd7*2?>gtNGq;m9GTH?_}PG{6+jF=Aosra4UaPbm_M)UTctgn)c>50x?Sy?!Q zypcxwg~iblcZBR8TnlC^^iFXRxc(es)s_BXj&OeVWxQ56`Z3K35szuC)RCr_whWNi z2=tEmdPkwDgwY9RF1E^e(;&pJ$bnjXV2%mGL>U4xy#Wg01Z&Hbu!@ISA*x?025CrT zQ&*uvk32HGP8^Xy=1|Qky6BZno z_k$nlOInZoUpDogi~Oxi>@#Zi{|CUrqH?);&FGraqbm=d?#v^QG=d`KY~65 zGl5!A?N4LVkBzitYK`CA6^Fe+9dnj)S322@KU{tj_5U#UmSJ%;-MjDL5FCOgxD(vn zg1ZGLKybI<9!PL^9~=_g-Q9I?w-AE6pXPb@v-kTy*FN9R#W!YXs=BMIR;_j4zhXwD z=HbFl(Jl$BAM<+q9wQ7X_CeZd;rCrjtsv;r^fZ{A-x?P5<7|_l6dOeFXDb?C=<_9l zL(h+(NVf4A8x|ag_(iwH8(kd2^ zusvloAq0(#r#?(N_}^NFbE!b((Lp_ehX>H%il|+!S&Fem4&dko!vBIv&9Vl@iM>4S zVCe}`8Jh000HuI${~#2OunTqp8nSGY%+s8DXdV;wFRe>KVt-jcT)h;*1dikq1X=-8 zEaDBz^&9t-Fi98bxKgO!h?rX;D zVvmO`QlSzvC}siO?hvi;vQGtIUd>=H!Vb+wE#6@Ri?OiVt z&on0iYE(1VHSD8m?j$VJl)g~bw~7cmR9C48oAb9M+QXKjC&9OpJXexGvvmk)U>246 zE;<^R&}KG$u0Nx{jOC#0XLXiv$!86|oO+%;cR(fT0h0DOvKr{(SNa1}nVKk!3ufua zYksSWPp96B3NR&&LngdV+KN>4YvQ7hw9Q3za$#^rSD3Ef8j&F;91t0JUz5WPQ?&4T zG@ssFK-@ZbKRNqWeIo?NDV6QL}%~a8f7T!8^No z?z5RLk)3fMtor26$o^UeUBw<^W;cgZ2CVdrt&Kh{Hml8ZLac>d0Wb*FIQgJBl;R9H zRNs9gj>A3}WwKO~@NzlX5Uw7g8W+MZwFt908G*>N67RY#rE+od%A}Et!9IJwLa?jO zBH!y**h6)DUqCqJ&f+{+Z3oCth}Sgk=vTiH2#IgrFFA=6T*Mj%=@micw!_e0MyeGb z3)Qk5HTw-d2*M#l3_#h=#`jg$;bVTnac<8C~oaAOH;85g-%_F3|y3=o4L=DW$%S=XU1 zIf{JeAzyM0rhMA7;1S(cg`t0;O?i?3)^We21lZJw6!n^)U-Fcp;Kb32F`$z6u~sJF z4!!~#>;%G9{Xpnf7Xu>nKD0zq>ZGO*hK#$kh!_?Y`LfKs*v_iO$X%%gvlMiqBX>ly znC&0>!0!C(A!5R}#o8Jg+Fa-22$@qKT84aRU}uTq zRwp?+u!IMY-Yc=xT-aAwoDZdvn!#T+~IaOoQ`XYnXOd17_5t`c??vB>u*h2LXz@<3mTvw%gXheJ_**1k;K+q2DXmU6z<03 z<8K&st==Khzd|WLPF2YKa5oQDYjpm)1F@g&g}@hGV3tV*Nu;H1jZx*)gWimjCBaq` zt?B=~!Pu<_L|t!K99-uRt0R97dPr2n0Gjdd{<1IYH(W`7mAX zz;`7=FYpT30o2QVCr*VVU;LoV^s=#!_<^33;$~g9X4DurR7IRr{bQ7$CYL+@AkzOy zuvG?$JFA8z7$z|x!;*Cj+~+Vso{dI`!$G<80BzW4?On8+=LD!IGmi)v2Ek1h-c7w zcM-Qwj-1J#xWHdp^k>}h(J4^?fdMP{TfP7H6#F0iNpZ|j z&`cFwk;#XQGLs5k?7e^*cV|ZT)Mszu(~C~wASZd2lmL*_Bgu1D=|{FstdIOZzWn4^ z|Nm4NI6;HLokkDy<@MZ5_%GDl(07Asr%?hrF;=c>DM;aSe?U8KR8Bb!ZS50@*0CoIX0w{5wXD5YB)iM@sg8!< zrM`~e9Z4Se>bTtGTm-Mp7Jxw%5Q9a;$Yu+Gl(1H}%LLXkEVm)#oWjN#)$z^#W~9f*Kh+s_YL2>NI{3l(xSsA9h_|zHbUaJs^5E~f!=K;37 z?PSE8T@LU!ic)TB*?d;gV!|SOa(!o0Sl^2u%|#iFG$p*1Sn^T4hf5CYy#|&|7e-{R z;ea*m>7bYz`|raHlb}Rz3z^%rr|^8k-+N#bi%7Ih%goMgFBCdcE12Q469>EzE7|*o zG(;^(n$r)%ZM7q{mfQ%JXdXSuvg$&d{WBny2ddK&B<9wFp7lJte@k|y$GZ-spktUO zr!2KE!1A4a>J7KkH{L_WZEl+Aa|pwS3|S|VFNOID7_5)awa+v{$S3(C z2jQrMQ%R2^maEB`^UjRQMwKBZ3)gi;Vlc4mwM$pU&l9=g?zDB^^nr4E)X2KIE zPfxCb9TVlGW%u{3Z&fpc*WX2pd>2s!;&>uxs>{^8aFY*I)KJK5mlQl$js%F~;t@eW z)eN#7)ffDA(kWLHzDLJi4J@_-FJ|bBPSS}6qRybEdm;fuS(7_NdX+^9SrY3MrXdO? zLc6bnvl9VOOvJPVWd=`hmXIL52`xL{_k}xnKU45tTVlb(Y2)(A(cFT`N#SA(a4NB3 zgS*=Xs3m8+S{`mpB&};@|VwL^fwlFC1u?|!aE&d%Ra7s{IDZzjr0{R zMPs^KwZSl?yqJ-kxvYUp z?)`J5H#>g{uQQ3kVuY6vFWfsTZlFvA*qZ1UoVz=x0J*U%c|y)K+zQKL>ZqoxG#`yB zrC3nuFCuitd330p#%wQ;bi%xW(=YW@cD8&KQJ!gZ5$5^Oz=B2q1EpDyXkXpJ_Qh+{gV2uTUX%g?GJ&^Fh1h=5jmt_euqNm_4^jCz zYrwS&8}kvShdK(C@G5j4%Qmt#89+DuSby;b-s%v|+e8A^p+1jUXGeBRxr z>Zun^8YkQ&G3TmzWl=af);&OJbXFLFj)`Nm-*GFAzwlgL`AkWsFNR~B@$ z;aKQ|clj6tLlF@#E3h=_<7;SvXeJwpV~5QYND$m_T;M9s>ch+%X>o|}7NMvIjoIVs z<0tpw$MlPD-1%29NkNK1q?Yrh3O`Gdy5!QOJFqc}4M`+fM7=6jxq$jK@f#QEH^&x$ zhXE7|xG*%xwD-^G=t~j1VapKzr~@TX9KzEsz+P>IhIyM0p=kKssF5nDy5f^)_pY!- ztUsi38P6LK%c_q25fgOsN1_ca~(YQVT;rqMbV?_*I>v z@Bvww|B!vr1l)B3c=Q3m5WLeN z?1V$wGfKg64u2W79WE|zPE5B$<~z5%bfy`aAe7rvyEYJ@@SoMWas4cxX7IH(r__&!t z)`KSW$zXW6$?hGg-8aSJa{K^6eAr1`3sW>?l&Q3YIOpGW&HYS&m;)me}&=wT^ zXwkJjv&t#R@K&npQPuan(?sO^-`;&Z=KLksJzg`{9kTOyROqORHIIKRPnC~ooDFXe z*3{1-w0Sx>G-~c#)rnp)P=hDb@Af|^BMmP{HaATw{3T%b1vF1?`HZ9L0^yNJ?M#`% zeCf%E*yy`}8|osKv$>wE#sWqe8_+VK7JV0CfCi%fHYg(*e(FBc zI^az>I&CaNYE+6T&2{`9GZV_wL^m8Z_K%dzqM2eAX$u0a$yP!f|2KEIAk4pCQ}MxO zLhk-Ox5bwp#1m7YG0@5-EVeOLvMW!K^JCaCyrYpz@vb6un}sB^&MPpgd%Pe@4*FIY zWV)YzOYozOHnER zU7lcK;)L4Aeksu{h+6=meTxA3XE5~1D>edRd?V=WTDI;4%NyBG2D7E8lkRHygJEw06qJbG6N`F%_tq z6R34^yogqv>0=r?~*N|+n z&N1ULL$OxbbDv%xmrneji-8X{hW5rR%+{*D0W009QfLS;f#=Tuw|7_Z_a#C})Dv7M)OW8&ebui9GzY8O;P*^L1W) z0U*y?LU=?oB*k4+4Az8KN|FClltuu;1_vP>a6Wa?{{7~{CcvX2GHT)Du0;JIjer^< z^w%I_7y%3;CdvT+Ofn$EOnjAj4Dc^VvIt z?YoW>WTKNkGSo3VLgrd?pk(4RNxad0A}vG@0w?&t`BwHgD=JD;FMM-og22EB?zTe} zK_S9KTkzk6%F+f@oy~IFgoJFh9H+_lV78o!Z#c&{53G@4emZvrmgJCd1aP;vn!--@ z!zZELvQLUnoeLO`HKzq+;B&yPS&{_f@4wA|k-;~}$q{RTI~fD5&Vr;r)f_eKaSr#i zZkqi2M~v6hS90c4)a}n4vle4hsxY1`WKcmM8HQ6m7;(L|)*r+7*Y->*i=t8FBG8>- z?WBQIF<)P{;8q)}+fQ3(z12_iMAatx2^OQgflMl>n0_2Tw;bjYscHPFm0twzuGdrY zosCAUvnloE6ldi)w%V1C1wWRusF&EwtE*!j?}d=7u4?N*4_W=asH4rBrN7qnKV5fu zP*lbNpCmX#Tq~ifc(X@D8z=)`(tap}N+}v%QTh4FXcJUhDF?r)hDUAUU^Hl5ZvBf8 z2e)6Ng+vV%rO@9RzCMvjYTn96o>d^aF9r^`KNoF@5QG(vGe_paa#pDv%huTjvo23R zcYJAEGTt+OQn)pm<4Hmw3B~)j-AHzl$4csNioEy|yfiNkJyHejg;iGT#Km)z6j@g}BMB6CYq=Gi~5`7lR=IdH16qb`sMmT48jchi^9y zzsnHOK&s>KEw!rxY`?OHcqHAAx^RF84R-i0vb-w(tZ^)^K$SMS22$tLpq<);HTCOB z9xApBl61nSz1=}c|2P~g!HK6R4dL4Lb{BH746cL6gW;&Vt*PV3m|dAx;y5}cw&<>z zx`ol8HD5LM5sMH1LCo7}7O}lF>mu_OipR$0Okq<9f(Q}yrP%(>f7KR>z3QCzYL=Dd z2u;nZ&o~%}HX|22>Q`HJhokrLTcC@CjDCtFgobt4`m|rYoRfhb&dagO7eAMHF@_dy z4Z`V+xFH-jMO5cd8PA7Z5KTD~zH#`Q>UEkmK!>^kCA=XY?r+;@74>wIOuBYdvr~E*O3d6iUxIaV0BceRl_&_1y0d zX3ZP;=>r%pYJw+Zlgs{uV}8f2ps#-y&N8CRu6C;S`?5)&{?<(FR7r&I8PH$1k*$53d2+^dq>NWU2@m3G`0~;&n6mpt3AH8UFzy61* zhxMNh1KHRAjq}5300@qKDeQKsGp@p+O%GL$HID4WEW{zN)|uBd?f)S4kun9y0yN43 z`}Ow!H}213zFgls^ZxGXW_=f+8vl=v@zH6~y#anP9TBc#jliFQ_!;lqPp>@k|IJR^ zhzHn*-dMvw{|j>%a|J*W0m5bj4dMS^zL*M4FP`%R@B??_m4sr2pKm|rOOB@22im&kF7$6aAy$BW!+_{(# zPBtEh8d|6_uCwX%hgyOF%w*Hes#4N)`kY zxoFwnk@2h+pPwE+n!2sJBqz0<^}m}g)n;exxPs``MY!3_6heP`dQa>z<8aFK4`9;<8DBr&oP3V@@f22A=R2z2^W zVqTz#o1U(h>q?#X$Ik&g`5=HkByZ)P0QirAt&is;_e?jdZrMp^Yq||~b8f!BbAoG2 zO-GWTBk#QaloZuQuxi(sMJAPLRf&yQI4@S4>eK@dN_i1@yd|apDI7gf@OC3mM>4xH zdScaWz05QM=}3*s8p6Qn1%R_*eREKJcTRv0=G?$2gse&%+H2Wtw+{gCItjpiE5Bmy zOo1$dst#)fnDq)Dft=s>deNLPEUlXC{K|7rmYd`pbkJTEQEq5viWHGr#k7HGrOtkI{a~iZn!vl;>j{_v?iFWWxzw*{%mEVs3#=2(x(FmM zAFr3~+5Dcp8LgM=%WRhG71jwp?|tq!0f3S^@IG{b(b;~_9*oBCX{}cps~7-m>_~~*+N3!K{Vt+H31XBG9w;VohyZOu*n4QL9nY-(@;uxIN22Ary=*O9SEV72w2uH>BWLC%X2-Z6QPf+$4#jy2x2ZsZ=wvs9EOn^tm zB888)hkKQxIs00+iXajGJaT_?Qeiy)6i=-%&DI~pJL;XmWt*0C^?T~0J3{|X{j%K* zTR$u>)cT6Yex^=;>pDPWe!M@dfEILTGKLnu@I}UDn5+iSkVAzE=?Q4j!q1IKoc3#a zuLMuiSKKDh)Iru~eCDO?8uzm=j323+tAWv|KH}c~!MOZ9c%^`Gcz-lC&$JbtErHEF zT6hP>2txO<{le{ZLv&Yo7$18LRYQDV0g22(JKf2T>dp zPYenHz&M<%4}ph+C%@HIGxm!TYR|bk5Kyv$yr|BFgO^P0Nc7R zm6}SBvcCDhzQprpqvzX1*m}oTC>&5&z}t@eI?w<5I7rPu-Yw$?Oy%v}1*$sFabFeV z|2!8XM&%9obi-YE;Oyz~4jw3HlPZep_+=#TdGmGlze0nd{?|{yN)HT;Vun02_3x`! z(7O`!UCG~f#TbLgW^#woB1SJ>pXiWk|Cp2H1^feF{0G3uv=y+VkX8VPJ?*o~txP7C znSC)K-iyLxUGkJ`aq@S^!Xt}|pY)t;u{x@^V5S^xu^_!L?F z`6Bye5I8yEvGdIts=7nr)dg^j0U9n{x<6~GKN4Ig?op!1cDcDIl0el~B`o3BxX$4o zEUl{?*gy5LojuHQhCTaOTF&Corq;5Co7WqHsQfa9YfBrP<@1(Q0WI@XMIZck>dga5 zO?MHxn*HmO}Ty|3uu8zZ%pZnf}sa>8 z0ZCq)GGK8e@CKx@QWJR-7o9lO^E+1Jbueb|xyS+_`E5Cw#$DJhaWt4Uy+mpJ() zRRX&w3ol?lYk@hyOi+#Msj=$7uLkxfHxhJGt|@Te+BO6e-${eN)&URL`RMp6_WRTM zN32eD@isYRIm6%bNUfLlNSDo`(1QK4hHK3m2$g}+C;)W$p=Rkl2Neu80w+ym3#@`X zdfQuAdVaqIk)|aqkXDn>%ylOn)^CT8N<^{Fz&!y%}EUhyAD2MbqH|BaSZ&o z@Zrz-25C&4bE3*i-SoQ4U@@`xlPX&--q`3)_`QdfMLz;`fd_r| zR2%+p(vnm^QC1$fp9{hG>s$#gGfi}^_jAw>9qbUjd$6q?f_{B>9135f0G~}9pj{c3 zsQwu>jiyjD%k1ofZtvO=(>{V2>@rx!YJW2ZL>j=2v04aCYB^-W`Tp6)`pvHbZ5^G3 z45$Dj`Lf~gRswr$8m6$cDvwI3Vf?V<1wfHx?365zQDA0dYRb-jxuOX;`jm_%lo*jY zNi2L<>q=p?VjDr6*-`Zex$P~7nO5f zO#o9c6&547WdQw?dGFW0u~nm3g;spp%KIU3Bly~D9iQWD5=d5RC0;Z$AW-4V_#?9jaAi`oOyoX>~5T-aVLCF#4)NTPTIBcMGn?i=`{UW;(h( zz4b;T#H!^HFh8;HTCepvK{n^4@yD5$@^)%H@^~=sP$TBgi=3h!er=0`h&iNG8<>w? zwuiEPt^rasps%X75Kkqu3EX1y?5G!Xuu*GeJHJ&gl` zw=MP0suobX4b>sC3v4(OfgouCuly8MeKeKp5Ppd|acb$`bqDixBK#*dBVea){>Q)7 zPRJ1%rcf@Pp$9SF*8R`5MlXQn2@BhN36Pj{`-k17q->}DyP%wjguS+YL!RGxPu`%h zyWs$VGcsFvrr3lymhdMxA>sd8y(r0F8}9db7W@bVh_BsL69%?DS94$}oOHcVo~F`? z{)Yd+<5Ty6ro)*pDG5K#0u3)yVKrYGMF%TD=jHsb|0<%m_xhEBeg*E;xB6f<_ftay z)HKOHY9qz0pliGS_5WOm?%#F;AZcKBNBH@csMuz!P{1*gOY$AiwSbjw7~g>5*Nqr( z^iR9Pcl()%hIQY=U!olJF9xezSXy@h|AU&}6oNoc$$9-9$M@yQ?G-NXGk1lm{@AZ_ zcY`iGI5=heDp&X)`{5mO;>Mc*xb{wj%?s9-e?pZIK;Rs{H z%2qh2JwUd@_sN^nBJqFkm|suc%9jiPmI7j4C(1hWCC>jku^`wr%q@ZVQ_H}90e;r#O8K6$*&tA4ZE6^Sg#ye9e>)c}Te~v%! zS9)W3pDN_jT(JbS4LE?s=l`Q^Lf$<8m$r4D?a0Ja-~Bw)%@Zs9_-}+3@V5Y@7$W?9 z8UF}?=z%-dON0(=;h5X0rRAa9BT0nU=6lNiJzAkR3R<_`F23U}Gjjl6*^x0v2tRT0 zOl=eMUi452iF4tVgx9bCoY(M0HUQX`$Qtgvm&34<`LZ2{@JLOyV{u-pUE@851H3Hb znfwn{r>{HAFNr^8yOtsWta%6$`rGn3k-gEDWjx`+hG_uBPcx7I(r>cj6faM!@vFUb z`BcnvaY7StEhUBWX0fwAz|pfh77Dtbf-7W#0_DLn4UOWSX9A6ohOda(rU<6DrK_8HB>D~5v%d?YWY&RuL%!DS(&9Jf-6>9uKFx>H$t}vyg3#?HPFj)YX<9PuIG@3(Bp0b|`QC8c>Yl zApl2mAojLY0;ClI!V>|)yyrV$_Fn{O?&H6q6M^%%{&Qg<1=bJ4x*vd#v{-z_uM!{| zX@-^3wxt)t>RbgxY6+cd>)+--KZ`;)FvW`WC}K6%H^ctqjO{Gur>Z>rfb{o84Z6iQ zsq?CaQn^&`l+R@t5+@Svh^6)HTdA1Ono%tct(na0rIbpDRlKeUtwxgEIZiThq?yk( zO`licRvxCPd#wH7o7@@JgN4r{0lj+&`>^f`h9w4!k@~_CH`)Tu4{lh$z1v{zJUC2s zn%hm!8vZk10Wb5izbr1g`)rVz;$efOdM@*=6JfN;%>yO9a#Lvttex+z-ZP=F0kp)3 ztl>#TmoIpR)zHvq;l*2ghegyV7 z?=sJRhTu4_`L>OXO$N+3Z-5N7K{vup04qMro>S!7eWK**oH?KR#APaPk=KL{r;AQO zocgqZuAi-~Z2?5SrT}tGQwVWBL497cSn^5_R6PtUDiqB0%#t2{lq-Ow=@vlf8g{B5 zo>TXw%VzA}Ew}E3(-OPeS!H?|Okm+4U~yedK->?CFy#*NS&xkE3m|Ax`H;B@#l_!v zf^j-t87Vr^Pwg*@9ybLLYA=)ijyb3jmm%YltCjWpY!c^BzGjlj^|hD44HRUdVA1#% zkW_4Sc6RL-K|a3BkyP|D-yjnc-bUTDH|l2bCI=Mt5{Mf)|05>(U!qZ^NIFk9h&t7o$Rb%&ei3gf0W#nt^1li&)zRZKa40I zRzV=xc6df=k;CiH*A16>Bu~Ydbr$mKiUMc7l1Q#L2m9>?X4Fw-^)Lq^a%$FRpVSVY z4GM6TDLB-l24T+63Yg846mhiIR=-xv>KHBxD2Et#YB?;<>NxhydTzX24tzLUMHgWH z#j}j?z2e2(YOKb=D${X)<793I|A5=&PYxbx7TVlCp~0|~L{0cdCi$`}x6y7RhI2dS z<-88Lvd9~JFHTD@p}eP-=2K0@IXU@9Mw_a99j;dB; zyarabZWjHZZ-OJ{?7Wh+hVKqoDFiROBaS{YNi(u9Qq4;+RA zk1DA?dx-oJUx#hd_%-WZ&5Fpw;~3f5Tc|Ec8^A1h2;JnhDUHAqQ_H6Rwx%vmGGbsP zdrT^}5UUqrxlu9h_XNhr$Bv;BpR2LQ$m~?+5x4mI^U{3XW9n`I@M4wen#{BwC*1_}P*e z+2YfVvHa3qioo&MS(58|=C$;)SZeFTETRE=aQ1_AConS7p9&e-I=NeKUr<`StPY$yRBD#MKeE)a@Az zjPbfTkt4A79~v_v&-&2f(Ynq~H~KGMzbJZH1wo{D^hm@e5l6lWLwf}hu?LV1%H6uR zM!V&9Uw^6hP_<5)$cI>^7eUGg_IA9cFkJZ{*Zr?6O_r<@Kgsvf5Nawb5zH#yE< zzQ9T>pfjDL!LY^F98pTLmq)aKL+JUS8g%NtkylbT7*grlZC}fyDfEaJNdWgNVXZ2EmYO)SM1kX$EE#z}?A`gfJrfW*I4u z*Fl*LGn^Ey7Zz~qH=Q3NQqumq7nfW>Y-I2t17E8hV?NFEkY%IZa7$lOchptlGNJU4 zP2{Iot8%}d%oTdcqK5>jtt@e!s^jrNGjNJX}eTzQtx%VR|<&&*`!=QbZy z;+nB^on+zIDxD-m3&F8&WQ~(&8OU)bN}kLDlOvK{AmLW~qo?+*U9)+X%E(B=%n!RJ z11kbr6f``6lo8Q9=N;3Mx>3HSQXFC$CDn}-q95&K20C=-MhsPaSs`JbWJ-Uy=sDi+ zP}vZS3iCN9>7odr4t_6=0ff`FOH0Sj;d@=Kv}IS);(a@D*PR5y>3+O*S?)B(G7nQB zGZ8(|t+ekLVZVLr4MFDqUhMs}uPxWpFDWo_{2*a9^(`(wDXrX(x2QsiP)+`AF!|!J z!}C*#1hy5*{l>sKYyeScZDP-ZgvKw5UCyfOcWahj79PDc+n7k?8`vea&|jrN@+>ntl&!&l$|76`&1l2@!{ec}__Nr4wN# zF>f9w+23r}W8kpMSzl+hP@uWuW4H#++4HNgo~Bq@n!|9;u`NfT`w485n4vO|+`D%$ zLM8G*P2i%S)e3*?Izp2vOYcbibaBNfhe<>U%}RHM^46?|DJ8bPOVkf% zV0y3PQCH*pp>7207)v~<+H-Ekg;KhbXZIGL-o z$zv*@(1t9t@e`aB$J#VQ-#lQtm-w-Nks1MKJ#t}wi8mr;JVRMq`c1)JfV=g_o-M!q zl7eaMR%~RqtF=|P16@jekghlJ=)G+iRMwf5i)|{Z9j2udR+Z{!$5^}gnm8pg`uX-0 zq-V{~hkhDc?;W)vc9#VmpQyE7&SGbCsp!sDu4n=~+I0}49Vnru{4LqyHmjcXm1azE zVnw1baH^N`3-Y7I@9YTW<&@UuCJx2>#3czsj6Et=7Ezx@I?N-z1PzQs9%WluTe+#| zBP`K*HvA=9bI+!g@@Dxg<(I!6NCCcHC_Ba|z9+w@4v%`-8fC(u7&95g!HUa1Z>YBc z2J=h_x5puGz$%%EZY#;3*^zg|)KQKh1S6dRtArS%DE2_H$QFf7I)GD2cUN|0Gs!n$ zb8~%9n-WHX3;yMtM4QSI{*d=mivx(6T^uG_F>(@P$-lxl!JZxYOZXRvvUUY?Ca0K7 zZf>3m|MAza9sbiEDD<^jeQQPeG7rY!-$6Mi?o{+Fh8jWQRuq98Um_gHQ-RmfW=|f& zXu<|kn%L$Kl|SqEWVb<<5`!xCF7~^TJM%J!7Y<>K;8 zX)A4^SYSvr_|nt~U8TH7eV9W3D5JlzWy1jZ%S$!FOF8H^KA-apk zD=u|EgG~W@dEkYIM};-%fP$l}A7_Mnx*R((eSMJ4->iM-*97Snm%sN;d}{uD$8O^x zydvSSm$8GrtU6F~ZJWKc$m$p0Ev*^1>ixu5t^zfCJ>09FtV3Z<Y|qz;Q$@XV%`Z>ceI&!Zj!_D#z2*5Tov3Is@^iaY76(LW|R8qTe23Z~a3Nw)|A z&sZ1w@DT3TAf{@hGzEQ9%0}gm+$Y5gx+9|K!8DAT8$Ok$zo7y#sy@j#!>j&%zo!U& zhGzVK`ekr=V9+`i?XLY2@2fYi?!dm`@^0({n=iu|sG_Eko_B zu#2qYTBgN*1NcvNvg-IV&%4Zimc1Vcu@edG20MH99TeP4$nBK z>&~h)_Z>`fR#R}j3ZTuzKlwF0+F9k1XJ12k_UJpV(T4fTyq{*B$39TI#ORt)0n zvKwnlC|c3>Pd8=nuPzIcG3<=@Gv!y0LoN?j&&Ex}J*B7bSsLwR?@bFhwa<)VB zUVoNJe_m9yDfszPt&5?I@EbdxP~}3qJt`#Z)|@{{ELf}QCR&0p(~4-U8Ds^-FgA_D zRYGJ}B@22f5>Wr_p4_+j927m5K2q;6t|xY^GWKZ^UwLte!)c&Wa`mKfCJe>kIw?dp%c0_329Hm-@tveNaVP ztJ;HG1r`nrfkJH;DnX6}r=czrg@K$8=@h(Jbre~Ld+mHJe266(JtFw4UafoWJNUgE z*9lU3;ONGsHEr_c_Bl?T5Vkv1nCbdMtf;WD45w<;s!`j!3Jj;s@5R4$;XzgI|7rnD zs8hp>b?ML3AqoOfC;1iVh&L_eiOepWc7H1$)b;NqP1!sQGvpx2jns&>8h_-nwi0BH zl*Qq?8iIzkKg$#;s(T~YlCqg6E8h{X@3mavq)Gc^L?~+WQ!$eFI_txW zX3xzf*ZyQ3(#!?&Dy`SfTA9#sAr>od|6%n*M527EfD>P(izk+>UpbIdPc8RL{~_#w zSkfqQz(<VXOkCc>zsZ1&4#*d!h8ml#rsHYxuMF8O7ia8kW@q& z43%`&=I{_zbswJu33JJXwgq8P(Ts``2I9iCnYKt3yKFt8Vy3=!E*OgU8HQr$p0m-C z9;^ZD1MJdYHT~iA_X|fs0`ItbI5ysu%Z~T^ffxO`Gh#Wt~l)zI2$Xk=N@6$i2y|k(SnD(YENacE$Tk zuPzf(>l-uQPBnHlG@f?dgr0D0ihY$8g7?@NZ16btl4m>gnDz6LgqM>_O+aM|cWi9@ zi*|K|Ofo)l$f7B&KE;Q7s`_ zm|+8ja?D+Kzr;p)pixx<`yC=&YYmNq55d|&rgVlT3i z+fO5ph6$#>4u%+?;NMv1yFKyzLMo{$&^3S9QXx~V(OiS`Et?BU;^puvVTZo0>5os{hi-u_1nHc=+7cyFhf6D;-+LGp zyDw1j62D7vMP1&uH}_8RtWwvi{XT3fNAn&s!x=yC7sl1co^XW z=89HD6T_Sy=J`^(&soUENOD6{wZ^-sbqt(?k5Jr4_f#5;+G zZ`l9y$uqJzV$My9uPyL}l)i07W2&ORwhS1z{k4O#@qUq^!zkQ^s4S6mDSTq2g_`f+ zRFD|tnM)OHg+$e%^VGsKiTx_*R6HJz8fI`b^`?S~@=56h(ZaH*->d1~h^l|VNYVK# zUvcxT7*?_f57Nw#{hz&?lHip(#U8etu-XCX&yh~Z94u{!EDH4Mn!&f?uV{IH3xDb} zM4R;Z34I(cANq!TE!E18Zfb8~jzS_y<@+@5pK%nYfG<~?)gW1u{BwX{%sy-Su4yaN z{O45by0K&WYZri!&J9QbY2{7R)*TqhFB?a4&22=Tyw_oYRUv4$gXUgU;TBcr zn@1Z&2(;hNVa;`YA4-(!@|PXFXZD3Qw|l5CGv&%{*nXgxXRZ<7ksWtGaOW^ykTTg_ z;bg5YHP7;qIC?&z`0=X3PobjqT$aKLNH^&@k8ws~Wv~z?R?B^RIR2v-e{`;4gp$Ed zV&lu>2lX*PrP+0N;jXJ=NcjvNx#8nLRNS@sWAShIqs?9WhihJkE#aIXmkYs=;Y(|p z;M&x-CGGuEjOBw55fxdPu;+{_uJD{)5sddo{C;Vz^VW{viX$RaS{mH<>KQZ8v4S(Y zaU*c{?Oct|#u-*{-8Q|07q0En+sn>+Fmd?XZW%UvcE~Qh5XO?jJM@xO8^A^+9V<{7fRcpDtX>1YHb{L5PVqZC2xR)AXAK}nV z&0XF<&na2dC*srX*EL!;n%Sc$@qo9G8i))lC^Y+v$> z>-d6d-h;a2qm4h1ZlUjtR+z41i^z=qPK_5O3hVPjp1%Qk99_VKhSh$3gI4>-LlnC8 zWNTggz2efX0UhZMVt5Uo+p`Xf%W;MW>J_oMZJ%|{InuJp#EN49>sys6f^cLvORov; z^QGUqJl`LBOFc5(Jh6VAujaKOs2mLZKTN%KR8-&hKdgduBi&Nc-6b#rk`9bWcXxM4 zNq4uD4BaK&NSAb{NDtl5#rOBKe$SeJT+21gow?`Sv-hj^u#9uR60*1&DGF@u*Y8Gk z(u3q~W@PO~yHn4%+Ju3q{wr$}ijZ>(3`BHF$cYz;d-li+m;tZckZC=mQkG-p!0^Y+ z)ROaFSE-MgFCxzsT2F*SWE~?cl;{c1xY01T)!{PxfS z3JrrfP5thJ(-c*ZPY4Rz;%m8kRe{QQB{JM$oE4v4u|c&@UFMaU1qki8zaHX6Rs`9i z#F$S3Traws6a!yOwqOr=srjD7Z&ze?A39Vh9BMx>qH z^323#cx5p3G0C2Pa}t=XWiH9?70~wy6y!0@+$o>0T;fCD9$xzC(D1Qs*%cA|i#%G6 zmekKNRi+s`CH22FWgi#+P(I_}XGKZD_<0P9KjL@qTxfAZ#w@u06( zm4@MI%tiUUm|Z#8I~yzUrx<;27V(AO{urvfEB3*`cu2 z;wDLw(wGSl>l7O&>zb5ypgJgrgl!W?aqaIyV)upJ;;Vdw8gV(KLiDp*Bq15*kU^JD zxYYOQrEl^3f?&gB_2%#Oe3A`sv(;~_yn>+oba`e3*mw?0&4-}Zm+slD7)TfBn;r1f zjO~vX6;tG%2NNM*xOHyL6ExUJre5W!)9LMTk1kSGB0DpRv}ay_#M>*41277d4s2A3 z$0g4*;({w}-32}phnMdhBx($>?4_{kjHnn#X(jARos+mx?Hva6KSq1n!JE?L!cKg* zFTSiQi)pbZ`P{BO%xKz1vgInaKO(^erD`gKW6|PH?AAGi{5|lX8u#*gtS?r5ZgLgbqF}M}|ABzn3?mUz;2Qgw*L- zzK=Je^Fm9}00IDf9WvI;HdB!T@XI&{Dnzx)_9{CIdpNPhi`r4*pDe1S2+_=U` zf3MwkZxgPTi=G+>c2RWOQUnuoG1Nm)STG_{tUodoI=aP>6pzM{yB;7U#)gD(Zwn&z$6hqYju_o6= z*J{#>VF80$8lwtYV%)yGiosLnoSLT-(UI&cY;yCM?b_9>36F7RA?A259fwHLqYlk{ zDfL*h_!$_+@WRa|QQR>a(-4Gvo~}H?4;ya_nu5*mM~-|on#;7?ZMRM$Adye{VWYH2 znXaA>Mpj(z@vfyP62(yC%fG^*k?%*{mZ5u3+K&RtVrl=(L9FkkIXEXtAsM=yq+t6W zC_Fz$x4lS=zp*8nVg+xr3f)orHYn-K!wSmJ4=*Y$}X=Icb#q>oH-AG z7;^jSABwy<;HnnLsIWu`@1oEcuRrwsBGFy}5@RjL%_i^U;KxGL7#*lr zXhphI|LL!3jR@-JOW;A^QjuYVv6w`~f_xG4p1i(P9MY$x8O1~QOJ|O)C*7YbACdS zw?y^d1<(l=`zq(FkqldPOrXY>gGdDGr=(}RaNmKqE|*%=O6?s3En8Y?-C(yzF?WR< zXN^7mtdD(zFzy8!vIHcsv& zXpC&QuoLj&qE?;W3oFnhtl+_%lQit3qeM-YBC<`!(Xi@QmKRp3hn)kTi17|3&&YG_2LHv6upWmn;-tCM*Of!2-8jd59=pMFiPLEL@B`ilx@_kn`=e5gUk zc1SUS;_>cwaf^0Jaf=IX(&`zv0o)Vi-b?z86p=iP-L%TSGb*5hl@ODNnYZS02Z5Dn z+*vcj`>PB4?UH$%&H*n*DB3aamFEg1B~8iNXHUl?w=r{Z8vjaZDF$=$&@%eo4CyLQ z<+%eekbM!@+?Kl;+e*7;Mh6XUakFQYOXtOFaOzLq?+zx>%KG z?q;#(-UBa&Wb5Nzs3-TFesKSd@tsiNN}ToggCr|o-nms$C)PGuozaFw_o%UpWCbFD zRnmjjB4opHpHUHa^A#Lsm4Ip?8;i;PIM+0sM8Fh6zii)67U}lEFqiYl^}*>Qb+kG? z;n*rJ$oL>|+pX_c#C<&_ql!U7Ca$DSzJD3c=0WwDrN&|yuKez0ZK302qrfeRN;VZL86qB4E_iyue9C+wFy_w;z}RpJtN6UCz9`*`_Bofr7YJj zxp<~_hsPL~eCuPrfu<2~hk{IP^at-YNxHfE7V4iclcbPwgQq0-5-N4tqD^zVut|bb z7Nk7|&d{Q2ML6GPi1X}z?Xs3%n@{o0iXP3-$W9fz%Owtj#+WXR4Fyp1)d%dZB%@a! zM${&1|6CHQtn*g~8Ru-DvC1^hMm4i;mPbQd;`wOb$<2EgMZl`5qYjg}$sz`t7VSX2 zeaI_ju`H{9n;WZ7Fc$knlm^Y`Ul(Hzbep_Z+}=7I)muKs97{mPF0{=UzQG?m7=@5) z;)Dscp`kfQ9Z#i$Pq{d(-Cmp6{yv1L|>FzxYGTlstPVf7Md#mh+ z$Z;WDcj`a&^e2=xkb=WJVI%H~KefXTi4(P>MrhzB>`vK?^>&%U*q9a&Xc`)A*LqU| zB=#15@n3ZnId58~8u|K!desvv2fCe!Y68^{jj6mq>Iw|ScDR0dG4b0cyBszJIVIA5 zDzc@|lxPK3D?v)l&ivfWLJZd1e0w0R324Jl4R-O$=5Kj3Ts5jW?d?`((CRDx?Rrtb8xjcx*0{r} z_Z5$9Wg!n^3R4Uorr&5R$wwy0~Zs_(^)6rEiqRhf}1+K`93- zb!r*W23y%mGuZd}k!||iV+%Oeh5po_8aV{yA7}}|_1e6x(R+B!;6O+fJx~wZ7n^h; z^EN)h^s4l7xIAb^>O*HYZp|{C;PiB24!TMZ*H{i)4V8e@;`)~;l)FwUhAK-=GJy>6;K#&@|7fvR8jYZtcRear#mFTvxNE>XaXS< z7uxyUN&tZA+<3b)j~4{9BkJT!;x_j%BMTBbizM;!?%*pj6b%(l@BE^YI~npxK59Az zTH1W{Gjj6KJhzJ=@Eaec9#o414q=nc|2(3?T);o0hL(qp5(}CBNDwziRE1Oa3{WJc9-x^+x5~ zS$*G*(G^{0rqe2v_o5Sza#I;yuyCmt+ozahf45bW{iL`6T6Or-Th!ay?z%qpeqgce zm!HqJHk^@n+_*J=);rMa6+Lmy%ERw?Ot9X#uzClo-<6As5QG{q1E`>uEw}3>z3-=i za#}iKBp**vE?v4oBxI}Zm;Q2>uoLeM^!U)h=$aO1EGq_Fme*Rb$;L#8zleWHyfrA=Tj_ww&g z_N!PfA65^>2l4;T2-hb_l0!FT!8v`2@1Hg}dfXWjM#SW2RZ=^uKAC5*{e5USPF3oL z-E#{`1{G`%e_NcsgPV!U?<`Y;!W9}vzHWP|wQ)Y_or{y`L6WN9sa<6*@eWDSO;Sx( zh`Is3Io0BB5|iLoCNexmT6s&~#Dr+lHs8CZ752gpI#<-0UTu0&K;hd>cNlz5n(zyi z1xH2qmI{KM#928$NH~|!&isJ(0b=If`1i`%qz!g3W0{MEhxnAJF6s_IWa^&%I{t^> zE&>1JwBNWqDwwLDlyHFX%TI(Yby2QV=u%8_a12&F5RXYZIv_fv$c@D=zX{DgNex0` zH)9!su(tvmCOap>yj2pPTEv*hnLjsI-pYEwhh~t_VP+O#7Rt~1VP0-|FZfZ_=b*MvI zl&aOJ(@2HW;{IeUcF3G|Pz2w-WOB}JSqKf|9&sAMXY-(O{T7$hT=NwT2kBcXZS#u& z6lXIk#uw$dFKuqfjZpU%u7)40)frzs;uIzyi9?i!1U|vrnoDwV6q2kyE=QCIV#Mlf zeb0nWTSNXH+OmHyz(t6M{6)-64-y_xQ2$wqix>EVl{D7Ws8_yH5yEVlR`pg2vS;#j zRM78O0qa##oxZ02HBrqET{@f#m}~d(sXXLwUu~sv-&lu=X0?4T zvSZ;5p5kMyxlwXxO1V$?_>5+mqS*8+wrriEl*y13KJ+8#Q?MPUMC`j6^I3>d8NtS^TGZiWnghE z=tOCmL1hGPnXYnGv!*2oA}aC)BkzIItww!|0VhJQqyO2ysWt=>f=WcU~Zb zRFKS>!P0eXgj>ynL>LWWAXfdwXW+WtHNaub)4D}xqOzcFNXAQESo9q*(m=OnnXW=* zA!tih0%o+sEpudGRBGm=7bDPGDjW-}*+&y68ODwG=r*SC>9k|tCZCl{L}HbaLw>a> zc=fn=TvA&D2jghbCKI2xo8?rmm@p-T&q#}$xA2;jDCagpEQ5Pfb%!2MW&j9iv8eLp zIQ>CdiglJeq})w#>_@95*(wbcH{$~=_sgwqf}>W0`u{t#tSUPZ{+(F{lYPNl;Pg`GrQe6Sz-VCjF7aDLFk zZg`%7ZS}F+F~8UhlrR+0#JG9abid(Qk@Z8}>{m&0CYk~yH#f7cs{R{OPimT0IwvQH zQBP9XNRt1)tIDp}ReymTA3BLT^VjuQ#W49QTqH?ID4@E>5E+^;O|8~XaL-`)kpTSd zi+7I@tM5MQAQfwXZnCQ|ZolKIdQ!Tq?@8$jg{z009ywU|*eLo0ezV!LK!aB4)yWg-}($KH=U=rSoT3gl=5@tQ^@+Ln(-}bZ)|)a!?z$Mu;pKTsbZ5V%TCc?W z`iHhSsm1SyEH{Gj%*FAnC^8aKyt?4zb|Sh3L6NjG|7+@ZHj{FK%U+nkk8l?~ZDZGI z8|v1w03!mM6o>4gQ>1Iy*|jOh^+@0Lmwf77OEPgHi?xw?TBC^ z(!7ZLUnFi->R*KeaI2?Z21InNhY2(KNXNW{oz9i0><3Vc2(=%)D8a=$w(HeP7sfG+ zmlS}HVG7k&h*fw$hY?nZk4lsgBm2VfcV^=u6px{ zoDFmRYfo|dY8iwOs(WWg5h*A4kc=}sMo}^&s}9XxsE$UuRgQdI{1{aEKP^BsM(s#v zo}64;eZ_+8vQy=0l;S|=lG&gL^(L?^Z|kccvcAvwc+O(ro%2n;T)kj{b=Ps}55^EE zmdtNs-ynr>#s>m(C9SB*6;BpC#1e|V8}FNM)Ugs{IR?x2^NDIKBeMG+A(iLNnjDw~VAMcuxcwb{`QrIH*6kxQS$# z&v*?tSe|=(VP}0WZQKPUD zH=>3L#?BV9MWn`Wez^0+h4$rj~!2f$7S4&j)# zD?eMCBa-BHEglAoO+*LCZdS{>?2ao!u#DAQCTxW6`o1a|`Wd}pjt%7=36Y(E#81_R zL`m5neeP7DV(fz-GY4gmZQba}i75)P8n0QW$`cUWe6!}Cwe^xdCAJj)E}pZzH5KME zB@}({>mEUL7}$`|ih9HaaDRukz9iY8*C#KK?Ox0i(|={HQN8?QE?`zj&2^21w;lrT zdRa?AYK@)m92w>ZH?else?dSr zTV%B>nwwd>izL@S!A;krWz$26LJ!GY-FbGC^JtA!@giLUGAx`KO^azxEolNJU1Dh8 zRZQOgS`Hm)e$Re|Zg)`)58k7=-oH?OLeC5Nh#Y|Fn|@7&Sc!w$CBV9h0sBYr|W(vAVGu|D6Eowo)LU0 z+fiU-MIdCmKV&=mKxCLjlDOpdq+&Ms;qk}p6m9T$I@QF9J1TFhOV={ z=sXS(<{u!ki>XEGC51)r1A}n=&)5<_hPV{ct`j9mm3i+4^Oot&XEuAk%1pA~HN4Gi zo*3T43>1qVI1!zjjLsySd`@%5Z|N#Bji5n) zV?{Vxv|c|g&bRUmV!{%B3tL`7uh^;akBOrL1>N(AOAhKM z;0GL{rfShM(pmRwC)Y)Xumy)6$fAJPnI}@eRI;MO-slv5gUV$8sL#kTX4dEZl}8SKXRa%|Ph@0HRQx{@rF)Lm`ECO?|Hy1LLDf_f))Kb9I|8*04Y)$HSLSvFf^KE8h%|34N znm3_ywTqXXuZFuuP)K&T2MkEC2F#ABSvIIJxx-+|_}2OCX)>3LA+f)xIc<^68a5p% zey;g>$>dg3pIMn9bW<8?2Y3E;%_33RlC0TiX_Q!)U8S^`{UlEj}xwM2oqpncGX{ySLyQYZ3j zxUaTT>oH6>cAH95IK+v?dFP~H4yM|BIF;!^7d%Sbz-(HXb-Pk;{qM+NKUBF8lN6;V zf%b+G@uF>-`5&MU#0aP~4@-B|w<|X)w*jU}5CVrkJ4&}ajI{!{ir{E!o`HroeYz4h z;uI{BG?_i8eE^=`su$-q9|B5n<@yU3%XF7wtt5j?*5#t}LdT!~u?c|r_*|bz$$btu zsJiYt&Z-Zks2BsqHdSU81DQHys3r0^cfD?GzlF0#%&!3$n~6_K&F%`|MPW9ZkC7pe zGc7SdU!e?uVs%&Yg2KJfCTT<*{Vh>jkqs#=43>eEYD`6b*pr{2HVFaA17EL)9zFjLVLyPFkmW?DarX!)A*6IHkEnqLy<{xvQ7 zH+>*Ig}5t`h=XZ6UaCR2N~ss6YnyEA)yrUd!cs$d(&oPjCD3Yp1@%@H_6p_#uSqsHyjj<4DUGDRB)&5h zvTVkG`aH1`eIn3iMPFks)RX!MXx*P)M?{cIudYDyV8LSdRN6oYmV(&_3wa12O1dBg z6GeAW9IpaD$~-0eiv9S=DglU=ePQJKKyMzX{G`x~9r6J{32<^-B>)N$@^Kj_tbA{- zL&Y6z5G{hA;)W&jBt|X{AsH&^g&r|*HUQ$EYK$_UY98O}qqF@o&KL?B)Ihcavw=SrSm59uSCKOe*eloiS z)QF=7Z@}v%rj-gWc$rSH!l5UQy>ulX(<6B?Jei}m!)A9T+Qbw$qrX9|nh)!rYum^{ zz$7*Gu9K1xkSD!;^EXp4MAj7Ewl!+=s`j@%R^r5Oim|dNOg|x^cTJk#U#_?J9Lc1k z68byhQVp|G_483O@`}%)Gl*Vcv@ijWU^gjNa*J(q*K|qrCbv1KiWV-%A|6N5G~B*5 zY28$fE`FY^F9WKc<&Od{>xQCy38gmBx-bRB>XJ05@5}`DE$81YEguO);bt25?0(|l zq>z3n`#;f_akBOdpfaFiv~4++%7YJp!h?~4oA8Gp;iq;b@W3Slw0`tY%EDBrd3ftF zk=+Uy(~bEJDv`QmD@oXRqB0o`)Q@GWqeu8C;G5};qPpW$ccC_xo0Xcyh^x)zsC~B0 zXUiTs+b%VURYOC~NV!1y1)1Yp3imnvU81We7i0WL6jK|f(roQ*YHm`tx2pAei*aMt zfw-ydl^{AUq_E?kJ57(A)BE3ppIf>}q~0wVK-9*&Xf^e2nUax1#@QbvpAgzh_XU!iP!=h4|3Is{|}>j>dDxtv3$H4U1+ z%~%MUD*%YWO+6_Qa$S_mvW^)NogIf*hCKTQkYyCDA0~D8Y@l>aU}ErqAXqHslyY7a zzoR)B%&)Hh>4)!HkG(6fD*!KRR|+qZj4plV1Q`Rs=XYdGSYzK{uHcJ95Gs=C+<<3G zM%RZ{S}Hk_gZEfSD@g^X*A!`$6rT{!os4q;0Obs^r3e zqe<|vdWh9f4iY7>lOl!uO^Oytppp#my7omhX8xiYaBV3^CF<*oV=3W!UuSW22cFt zD9e-25bNVlnkdbqjB01~6fsfTuXRV%5=;ve38y8L28A3`%1g&l;# zh3}FTdi$<)R#j|wi;!`@6OH_ZAY^h!m=(|R#M~yU=-5wP!)G$25`rzMz70xVxRo1bFv5gL2-Qlxq(=#$D9hGsT>`F=z10ePF!Zl$S` ztcBKR?1$xT*C~Jpm|!c%EbR@z4F9+EtRXG{Nh`I70Bn=VQ*rud)uZ;?gy0?zti%qp z2E$s(ZA)1Q;Bjs*ptxT{{9m6d{{GvWL9$o(F*mQlq2hWThBmdpzmOxM@VPc=e1LnF zzIso0*tDAk+%pWJgUbKz*+>k$VX2@2Rw5yMABtS2EbwW1wJLLeVNQUMEefzK03U;% zJGuR0k6-*x(lG$01iWw1vxhnWn>Yd^DAJxB04VN{T-)Vihetr;2fv zuy6|agPRmjGUaqnKzW(zy3+K~16b}@i5&ZDlFr{L84c+{!Nr?M+4X`Lxt!J)e61(J zP)a(j3s*)ZjJ?6w7ny^3;giVk^VmAK_7wkXKUrkm;2`?z(g9;oaoNKMIPZ4dy zDH$Iwy4VI+3XN^6rFF72_N}wMQ%)isj@e*T{@g?v^&*$57OmGl7WP8zzaMYr8Pko# zXfa5%?3#R5sS|hSSZeS=*VOF_EbgbKUAD+pI#g?*uFU zgf~Ci^`CSw(=jE_+e}H0vouO+K0Q$(`xLnq7r!rZT7R> z=<8gBsOolf8M9@*fW(2i!5>8zTSD_hq?ok}Pxp6cFa3Wv>mC5fF?Sv`drTF^2B&q| zTYkRj0V?~I;auSL+||w?nS^j$0rR&wi{u%;t4}4<8qQPlfr_m>btY*%LJ6L0vqcv- zw6K>!ExYAE)mhW81ft?~0TAR@#yS0RmXe25eZJqE8aeDBkE?LzaCPWn?NiUbPDV9r zGxk~h&~yUSsV4>h&K$<}ye6VB<$;wYYv)Xgx%{p+04g6kApvpWf16$5c!*lWvr7P* z4BsXQ;8&_%8b6cSAEvPOye=rJ>-8zRxL;KnQWr#JP1kUh7fnq0AxXM>!Ca##`hNUn zQ2KGa#&h04cxi&h7qN5=Y3(cxjCTpq;e6_>r{<6(HI}-l7UnuEtYn9ejsPFy^WPYV~&bD|@40qsA4Nt@HLVlbH=F&gmabbpo?0?UO z3ZIJ-Ddd0KeHJYAy9khRpmr<%w$B%`b|wWG58g6?f|9zAOR|RoV9&mO2cmlslIKta z8PQTKakoY(NRlR>rD;aRW`|fX@mpF&ITPxQ%FejxyQyQ0_H)N;+6UsqJD=Dg3v=XD z`<<8q>Iaa(KQn$EhM?`>F?j@ZoD|O*E7u@&cPO3{Y%lzkmff71F$(Ta&LiNhX3sY+ zoZQkiBuNAW_^ls30F|`l*T1wUnC}3*60`mOAo!m34s(be^FF(DPcM0cz5Ao<)^3s#7K-WVyI|uq$0M>Vs9Kl< z4i^k$xPjHP9x}+lS2&}gd1a{)lUMPmcT$kOSur-G75&H>&w@xGc(og6yX6=`_X2!# z{PcKyUX%S$`oD9Mn^v1^4LE`vuu|T^fB(|P6(TDpbr)g&6r*vMop}g}d2MZ8QeHqx z6HvwMa5Ai0Bfd9(wZ*Tf?DFTktIdOp1xvL7M*FU5QQdUf&2kgLpa#Bq+qqBu%T!B0 zugPk5Imuw{xK(3$%_MJ|M^(BH#>hocZ1vQN(kATTU)i%-PcNno66EBRxfz*krhVhnOK|4Sg4(!-t z{^zwTkZ0lhFzZ_ofFWpR6*?$-cL3CUYPZM|Q}zjXf1DA_fJ<&UqQMfp=Cj@og$D!E-L&&jh^{~p`p3EVdX z#EIijrwps-6Xd&GAS^}=c;FKrxG#8SLF;=&h9`jhhn&(d%r>OuVMw1-Uu)E_+OeYynMc%@i$Cd zj6lWE@h75d1#J|N`{YdX-=B2%CqWN@BvRmSN6KQQMd79aMHtesp1$zgKESpR4Q`Wk z%Vaq;Lp=$?G>xv_U0FO{t`j~!&*WGnl&w_2L-^Ush5#la&l~L&IDRAry2-+s z8AKqvAYOU@t0Qb)SZfxu-ndcaa8!RWhhQ6a;0Cf_Y1d&5hczm;xnCa>DKuG??0Ag| z>3Vb3v3eLCOp+@I2)+Tn*A0LGrbh`KHU6`&j8QzE1pj+Tb2E}rxB=AwQ|F9*i<1l` zrsh%Tdq~FY*~wEfCid25k2}BX6L;Owow0>IMa4=Gs-wtxI_XYER$YT45brVg2)dS8 z*A1$`Jr=&3onG)do)+BeyB9sK!8kpOc*0&lBE|xJlj`dHR!epD#90?ZeoAKb2eefz z-2O*N)1BhZ8$+6KtM@msIcDZr3j?5DH|H6;WJ1DAgB1xi$9GTk$sgJ#&mRg}Rv0dF zy;ioZY}#lYZ_EOyq@ zdzP)=4aYQl+2!uux^r`Ia=>+FylY9?#?s_r;l2Hvfg>`3u(GL>Z7jN#u8wz^3G)wZ z-M}Zf+fiWWTFb(^QpM$<&pr+Am4N(ase-`zFXWMoMuupWaC14gXy?&!(rl$NRC0M1 zQ*0p21S{ip(npq6ma=g2QTLO#L*1;lKNY2SjFS)$7-F*m2)1|8C@yNJVv8WIBS!6y2b#^WzX3YRivc)SCM^n$NCevP(`1YJ{sH^$aVfct;9 z`jo}|#C_WpIl$_}XQ8E@BnbXuSwfpXE%^c^? zJcq=P=!}4Jnb)-*ja)pRfO7u3=e@If!1~wsM`v;#7eXwrqz+i3=)%s$9vG8alu6jj*aTZ zjm1s-UUoS~oE7Q1FBVBeB_SG9x1mjtBVOKkxx3Lm-CYoE>R))|*0a1@D}O)Q%r=`@ z>lI#W7L>1PW%c)h56%bZoRWN=djUG(f}6`NGMBlWf9CPA&dorvRUXe#i)C>^|PXqUoa$}Z5TCNl7 z%pZx8t6Yl|5;hf|_#veLZvpe>XOa$A9oD;mJM)H}7Bl}HZSMGDm)z?9kMjj0)Vj&W zi9p?@AYH{HaMkAZE;kQObyb*cB*9jt4bYC9Mdf!6sATHP zw+LH0V2Rk=4!w+|tsrs&*0G?0{2fq@@`ntfSzNy);~)HlT=zp-ko%Q2%cQ1lYhsYx z^jU`=^{E(d<<fE*DmD5SV#X4n)s?XABq8hfaO>+ zWVXACdZr!)0@xv8^J0-9FMU_Jl=lPoRrX_7x93~CuZC}vb;T&K-g!+P&OdhJyf#$N zhXYqVG!Q4O4j+@85NOh}rK$v(mYJk+ZgX4Oa#N_Al3PG4Q3>uONV~U`|5q8) z?R_TtQd~qO`ZiD#E7iR3Jys$m<1(u*-77GFK>Jkt!4vYM*OMHkX+*ara)g^a{!TcExa`m)UO;}5n~sIZ zMWGd;=TL*=Pnbm4T!~x#A(ep7jgOJpt|9EhzSEZRjmQn9!6fTqauAt=zJ>OaLzJP= z85MyM1-F$?4DYFTveUkCrg*zF;0yV_1e9yJ0Qo7-{xb&`VvLkKiTA3=@`ODA9#*+3 zh8-fyH{+RL{%z>n4*)zLOQDc${H?0VLnWF64vm_;iNXODoH>*7XZ>G?MR2`8e+zUO z&wC+&;+`@@)+y`gkFYr8XC7Iu7}_$1IOJP-ddEm(dHN4fkoO?AH0gi7lJyVezuMV< zMAGK!f8H>p$_I`*OYvFz`-s;F(y~Ckpyxyr5izyIXyH=gT=^r1tnETyWs?{eG0CFVTA`6viRd;8_C;T0yHY2^u1_R$rM z&>V1C2gB=)3Z#f^u#()zLFds{_wY+Qb8c^wp-aHdtJK`!O^@3^^qvOj7HGC>rxZyv zbF24$r1Q$Mb2EyY35o*MEdUTe+{U18%OJ>bC0U56i}f1kVm;a1OCO9Y6=?(yU(`Z( ztmsW{pHESZ%oIO&tug_V^XbS6n;WHV>o$@CaYlvvs<9<21;Zqi0!^lSt*P?XWdY|X zwXAnC@7KCSTSBs_+B$%p?=9F^h1Z;43$KI96(Q3f+*u!PzuJ^IGf*GOWkO{%=MyJ{ zFeu;53elpk>P(96TLONzvfj2FpU=(@`#$K{Wg&;Nld(R!%lC~>tsX0|TstW>k#KQ%SS{70&N@RbaETd zNs4%eOz*}P)^`I}qw>lJ6i5GBTc-MnVIH4hd3K=}IX?(YN<#jp1(2KXZH7C$=3m!V zB^I8T96oS&PzAp!lv%NNrJ-!t(d13~BARVn;ZJO+>Zu)Rn^u{2l zo${9o#O;gWs}tf99odJBn>wFdgHNt{R0?s%q{Kg9Bm0LjWD8WBq|G-b+uKMsj|Gkk z+>8O(c!A>SZL@tTCcs{T=(l zbK7GYf3Vbtj5JhlaH{Ins99X!F1}n@IK{6m*iig!dpH7;&tGeiE z*5{UGDVWO=mY|OM(MfHyIGi_ajg<&Sj_R1e;%9XG+tZpJBKvU1&o6Y65s@vlBF{ol zXs(DU#oMzTF%sI2psfQQYh(&0;g9|Hbe9cN9uQnK<~v1-v7@K;q+nnte9H)A^!ci` z^@q;86QN@U+b!)+y*jbjr_m!0q+k8Dj-UVv!Vg|XK8z604rm1YH#xrCw1XRHZ)v_` zB{uuU{R)qdOe7Gnzdh9!8>J`JEXP)q>*D>O4#ecdCn#JE8y8l+x8pa+D-)-TNz_~! za4nR+BM^&39vF@eYW7$&M`d?G7o9`b5 z{tiwrSXGpAtY6GJY9ve@4_v5)$eMF)Dc;O)QmSqr&|dP?3c;-009fwnVf87~=dvc7 zCl?>EtEyz*SDjC_h^O;<^;ninQ8GpbN$C}$3!w)ca?ffu0KpZT227@}s>brYPF59G z<;yU=XzK8_1t`{bPu{0Rxa8&@F{i4Tuz#}k*0W$~k`f*2lW%oP#T#3Tgfh2ywTtg^ zS{5Y1ofikZ`Z9Dw#E%|xAUF8Zf3W}ZHJGC@nRm0Cys9dJD0>zmv1% zxwkJ%z5WRCWetqPK9Knyr1354ZBbo*LY&$~#T`Nw#0+}(#O6-%MX6H>L zw0xHkT)JvQ%LpW0U1v&mFF&AHn81`Vu9@urf`TGZH4|^6h>n)b@s`l_ zCB(q$u6He3%F*3E2I1Z{i?<$)t09BD&big*bfg2p+o=`5t$48lf|7vn^Y5VT6<~|m zNtF(+`?ukO0hog}&sM%Zh+$hCVn$@9ibXRd3Ud^66kz<`V@y&rDfM97yq2TYkcC-y z-u-TFQeORb9m6+X4-zrGF>K~yN%prA&4xm zVSd6BAV8DM3^%bu_#XS6yM~8BaDYrC2x9g&qo8}GrNG0_6yBe3Y`nffWhtVCV z$^Z!OGLmlvs7nsJ>~j;?LI$Dm(pZT^?CyW)a$y%h<4sO)yy0hORV^+0+ATfc&U71% z&Q*{xn5&YR%TB5={pj~GYEQ=jyngb_Hd0QROG?4*)R(hXE1h4F;&!cg(fVjHBp^mf zc5ua}2s-PEV3!l!P|2xJwHPqt@0ydP6)AT(bQ>A1Nfc5W$lS?@}+9CPgc7rK*kyR}+MUEV_<;$0OITLv?8 zI9N~&Hicp(;f)(`VJ`zW)T<@SQvY|X4tY!E z-b%-O2?cmeX}B~6(pbIqIbX;? zBaIg=Se?efbC57W&h-`kTw>7)7rYmA8^#%xUiBQ6vAFt}{g2Pr^*pQtAQzN~DBJ*>yQ61F$BBe)ap)gb6cvgL18AkL6ql!mE8G7a zQ4!{Oj*8KvgdkcwUJ*N97WZe)K@ru*<9Zn|5wu>d$SFkcm;+MV7TDl95Gh~}YQvEe z1D?(H=t|Fo#!u}SMBp7RLQ+DIHsAn6eRy^~Q#+tw1H3}(Gs?dM)d{b zXBg98y$FsIUzU0Y!Fy<)bkD{#2uX}lyt*&2)F}okd^=~jm%XDyxiv^Qlt@_8XVRi$ zU*=34x&p{Y`Idd|4kI^sXP`iEfUnH+MM}$`1G**YTL3p8|1vEu&7p_sL;ncSIlzVi z(HdDruq_Ms30m3Z`wq4PMhZSo`dC%N+_%-8etb>W1U&3ImTP6JPofWEj%+DoIQCgG zT3|#KKR;g$_dKU5mWGH~8=O@<9(DzuufqU^BxaV;2Mrl)XuBwLI;iUZ(SE9z=eSLoX zi$41RwZ?U!9T+AhN(Myaf4;666V(iAJ)e}@1Mtz(uC~)iTZq2al~9v<8m8#A-iMgd zr!1ER^Urg@D%AAmuXeiKEBvB=X;MNXEtBm$qyCwY1k!?j_LG3etA|{W(!J)MRf`j;*YVwfUgB zSUdyCy%+BbM1R8(?;c=z=#B@zWX_8hM9gYAD&V;QL#_&Sf!68wmA3E0#pjgc8(=b- z&hPFKzE!QDqVVj81Jlnbws9-S^cgWeu=s3<{$I(Iec*pfyU2a6*W1{gcUN(hgeM3t zfstMiePD)@mTvm>p>C@}%VsvOz|B^C$rXjipBzSc&1BxD5Lj=B)T!aCGsH@QM5_IMhNEAP=z`^y(VDCsm&f;u;|pYC^yePq*@?7GoE zr+3_aAkc>Nsw4--^Hy0MXnS|BUhtmEr_01Uemu>W8}AIM$NQnM_O+6vRN-9rR1fU_ zQ1e=O?jwCB*t_IcM@ znB`H7GF7p~Z~zQuDeIaOP2`QGu=>5Y1#s&gy6GKhuFr;Q3)}#QB;Hd6BNX-V6}sn* z$waiNZ7o4w)IUiFOs2E`O@|OYN%vPPy|RR=zoi7zo)2t`%LxYjE#|m4mbhwh^{(q5 z1@2W4^e=e*81&iY=bxUv01|kaer%A?&_HJar2Y%VTDgzVTesCL{_U7e({@rD$G4>~eHH&- zUtb*;)${d_poG#$iAV`Zmy(i#NH++GEFvsOHwX(ZAqa>fAxKGgcb9_FE+tEYG)w1F z&#Zpp`+Q%|@3-^EzFsr;&OI}C?m08>IrBa~3tV~$G&o%}=~F|EXkN@kXW12R>P0(p z1Usw@U`11G&$IW|?9vjEfge)C1)j^&nn&v$S18e%Lo^;Ys(m}u9$o#?+}Z)#_X9iN zne8Of4aKOuZ#vu4cgZM^$!Id?PKjJ)W|=)tb;wu?Y@LL$qD!!?`tdK#DtueM9$3lm zZ_27-z>1G^J;@}Sg*%XzF#6gX#-SjxjvGWYScWt+EY~ixVO?Xni$zL`f5QydqYcqw zDMOkSfc3h&g@ zQT%SWJ?FV3X1xBL%~^J7^j-CtYWSZKY*z;Mg*oINCfrFlB%qy6Ra2IT5!T8=sAsB0 z!z%33B9P#*i+@N{asfG%%J{MByA-wPz9I2=TRo zD1B4deoY!NHVz!#A_HOM=WpeA+!IiY5X+?nRD4_rxJc3aKA7Fve_c~D(WT-lttGbH zL5c7xb|3|Y8r)1ugHL!FmyHJ3KS#9$mjoP075OXgB>@g*qVZ+@_Foy;I3{60=1YA= zSD<_X=XY#+G;w~*0Oco@XT@x9x3t7TW}?|glocn-Ux+Ua@1GzN_Ii*j---)A^!a)< za@ryWZL-gbOn6ZqsIrw;bg>#y$%ffirRR^`24zJGHG{kt#b;B8PY@h9En>w5DG_zh z7}wP(n|(=%!{Plwfy1It>Mw13IaAu3>vmqb5;xjqHq|UOlsy$+-GFa?teBsQmt|YM zx9Vmj07Sygl>)OoNa!JZl?-xa{p;WdI+%FUwhtS_)+Yko&D-gmi zS@%2=>g)7>K0ByD^SbEuN7UFX-0hTOQ0{gR@ZPswKrO0<6^f|rtJ52V^v|vJe{ipN z{4O<-ypMQkeazRJTqSDX8d}g(y~Bv|bfln{gB2|^fYh`G191HU`c(7eeRuw3^! zm|ID?I7>mOrW{vS{H#k+HWjyQz3LazRbYA~V+4tb&&x~-8jTZ!IT!hm?=^9x^8Aj2| zdYd%4itklXavd(=;(dy!bWf3hZGYy=0Am$_MMv3Rol;>HGd0GyK>wgE%W|cYI8|XZ zSq$YihA>Mff6PEpfL9ye^otF^)f3A#aJWG0t0c*5MdCWh*>DA}fU)wYPxyGMkJqi| zA1tX<+%Ue?toh0AoJ7Bwc8Hl&#a>iJ&e95a*4*+sK)to-P>`bQ-~V` zn%ToGU!Q%yMa`$jgDNOpdjhk5Wb@T-ab0C8d}&09ZvCRRD_CX5-e;B<>2g{H#VlT6 za`(m2N2ui=RX?gQI<5E_!0a&ve-;#yzyIYbrAnnQJ@Iu zus`~66m##Za+_9Kp%0}Ak@6-FO>jX`V<>3ipLNq;dh@dlMn$xYRnDyI9WX3J#M}JV zhBOkthd5YF{vTSe=TV3KLvlA-H(K!cJx-uAF`onZZ&@(a7JUU2uxsD1n5j)Z3 zTHjNP3$2Z~T1;!;@X~gfQHq%P2npfBrojp8sP@G$uGPP_IW`UjAr4n@lh2Jczrs@0 ztzc=iS=~}{{UBJ;Q2v+N2PaHwOEW0-jLemFI~rUgA^&Nk0*gSeQPdsJ&!_*h;;E|# zqPu#W$glisqS#!4g^M5PWnf_V$L1-esuJ&$=kp@ zWO7nUtM1=C0u#_`HrL(GPDLX5zmls5c*x4e!5f6aKY6OlH^6Dd)C6fMsTYiYrO)*? z5Y;zb#?5|QjmH5ZgCN@Mf1ARsZqxH;J%;^pS`)0hPyP~DyUqkBmNQFRZV?F|0i0duo0%7alBY}bli2syiK;!N} z=OOOmA1k>D`8}#1>tFl725a(E{I-3JK40xlcj1P6JQ-`JFV<)x-R|13ei`yotO&wx6Cxk|ye&ms4EM&$S zov_<*-IL5G^gQ_bpy@qv0qsP}&KD!=VS4EVVTl*;OWRGZJ=oSM`LVR5`iQsQgk^B} z24*DFWXL(<;bzg|jB6O(UBHSX3 zJ{UvbE(P6gDlzFZX6C6us;&ry`HIrJZ05mcRU8CukgH#U(B~2GTyMNAs|2eAaWDwK zFjD$U@bmX#Y>=(*5O&PSub%HnO1Wi~PTsf(jE2hT0g==Ob2SR|VsN|+ttvILaEcfn zJ!%jl*Am+eavKaa?vDgLa9;5Xw>$%-Zk(|>4yv6oU^t!g*qmVk=#Vzd|Gv2Wrt5^g zO+MiLVX7{OlM+~J*8fCd^j4|AD5~$JQ{z?dyPV~{hj7;koP51myvYhVBeQ%l#G7|T z0#}5grdt8lDO|Bdb4u-%EqOxw*18dm4wWxfmIuc5RmYR-9vQhNX=Dy2Kdr}jv(D6y zqt&9bY1uG-=kd?@L;3~_cI74aN24-70%p6RVFHrkWPPM%-`$HYp-he5-A(HsmC`Xk zqX3`ucIicoRP$+PJ~YL2V}7MP%O>jWH-v?%)2s!<*hT!YSC|lh4UMMoHN>G zEhBxykhQmQNHO1n{TR?MIuy6q4=M1O{T`lMBtOL%ZMXm@d8lmGI7Bn&pr4AXazrU3-vDT3i9hA;? zJ4mj^w9W&P84++qZ-==2TW_lh(A>SG{)OO@PG<{fSLC80Ivs{v0_JnR$i0wbE}~FR z8Iap#{X zF1-avc>UMXYgvZPTkybBprd<61n8Q*@koAK0AMXtg>b=}o2(c~-qo#QrMq=>9BRc~ z+RFW%$^r*FA@b{J3Tt82AT(+zfAhYWs{paD!HwY6?kmzA1f1k`Rly0OnaWXWX zFHx=s-8#3b;Vt`jwZyg~?~%WYj&Od5F>Um<8I<^FuBOFc;2seKxDGbDz3+Q^6%*H9T8fP9sz^}o`--$KSh;x*o z6onXJ=eeKr8GxIOC@L5yGK&t=eB2#I7dSk^9DF>4o|F7D3bZdNf&pLf`_&^x%C=OI zp!UaA#+W72652u;Bi0AUVlm@9P1U%#&bN{Ed+QkEf{$1?{}YpNg&u>7^w|j z3&a3;FIO@@qPq@O^NX`iHtLHvH)p3%U&?`7%w5To_42nn%^-IWgNHtJlF%BlR|Vdq zq%paz3)lD>-eX|1ORyDiulibXv#8T>WStq4Hyy;k9I$W*gZz?0&q_zJy|QNxBmnX#X-zT73vFs9~LCX zh@uVw@KnNQ?|m!%>?DLGA}5dlKA8NjnSjp!$0mTUg<#uZrUkw%2Kz_QB)5@QfKeyd)1NTvpycAXdTzU(4se5d@?w3U!bZe9{D9LE}0wvBLc#s~l_U zd%OxeLsWv|EP%6BpiM%$z$SwJnaLbCKs&9+?W$4NBtQ)NeAlnit2yb2`FGM%j421s zli;k@O0xRX=SXd;HO7gP04p{)uv<{`c00az?ybW7z6+_x8nHI5zY=xC0Mi{2wLUC%@ z>W&*Wdy>0}5YL4egS=C>86uI1l2E_|!vL7CO^s|zzalUnf)#CJJ@AUmcJP^})49*y zP&MJ)?TSIWxQc4h>hPtKjzCz`%`lCvp+Nu-G$3f12)3ZZ5gvOU^?ZPV2Y2rn!)Wp8$Gd|` zat0-494jJ7qJH};AAnfv!5*8|&c3G0gMK^KH@4G@r1*7~8hlIH^r($G?-IR|fE8a! z3-(HnQ2))?`>+)i(>(N3jt6H=06xw-UQ8(dp!X|MN3ddZ9?QYg#>| zYu7pZk`~^1taKT?1jCO)ITi;^_R8Cw@Vhu0q%yXRq%yKfU1jc8zVVHjIruu0KuGA0 zchOrwQdGti|I0|poEdWh8cXYknCk~|84u8}&n>k`Y<7%0`NtL6R=2G$>w^=uO^%%3 zz~|CHejit-oGhT!!}V6c8X&`s#BasG**v9R$cMv~>P*jfK60fAT~~_i08w3~zKRTY zKghY$Z<%1HZ?cM2n%il8QK)JWYvA{qkn9G&ie$st;U&DAngooqD!jGNIrGdidH@N? zh-x3!vjcNn_T)olqen?cmhqN=^LI%uf;Nf5L7Y#>qVflw&c${Z2U~wA#`zeS@!6RX> z&&?_+?k(~w9dr)sES$K=57kQkQe2aAx~l5Y4^n>cDNnR+ObIc)?}zl0T@lpuG65ge z;av(!BPMGT$JQ$=KnE4=R7UHpj(zzqlFQ%>0U9Fr8P}C zRqh*&E%cLhma?%HUOg?HnhZg@89bqcA%fcBV!y!E@%p-46RJ)ir)P!Im4Sm%F_E++0e}E=G;o+m~{f;Mn z)LH>{ZVn?U<*pbutmfr&rllq7mZ6Mza0uX=UQC<}=z-w8O_|5Q$I#Ls(0-CFd#K&B z7Edc)I1L-ma%5|zx;3I>_H?(u7~RlHCRXx%)n4qu%>c=swno`eNd2VyxSo*f8Nq97 zLhCDEvSs(i$)WV#cf~MUE%}#_x6{=b_rT7cxK=7kzTkbDobG!H3V^;>;GNjbF!0_= zo7*|#y`657KDWs%Jpl!wrY{Ksm)4u|<|BsC!u6*!*9}RFq|YxZh5}>DXJa;4^)`R>i@6_Ac3nEzyy7 zsnCmWcWNWykce>iq%UdHr(bN^Wn+@sx65TcpV4rp+n~%MO#!>2ynIma4Mb8SXDb(d z+2NfuqEpl4d^8XA9_s1w z|7xL8<<;54n=0887N6!hUX~=-OPJLfb?WLp%yh^ zxie3l(BdYC+fTGIBlN?3x#QVSf7JeQCltR(o}e`~PiBCSfby_xyS=@ANp7JlhARnn z6`>cuBAtG)L_j&LGOSkhw0&rb;MPYz(~Z|pe`dPhPhamdBF`2ax)pGVL2*V5k2;3i zuEa^|HL25+pbTHf_gDqfE847et}EIGC`9!QG}Aiwy*+b5o|HN7nx*CCoc0gJZUwQa zvyJ#Mr!(Vzgk|9i1qB57Y=HFqTlRBbw#riP{v3F zUmu&DIfTG4)m?P3twS@`j0;uyK>BcVdNZ*sH1q{or}}N@bH}{z_8s$L?e4Rh=P-lpC?`(&Us>wVRH zmw5K`hxUWxD)FTxq%Xy1AN^he+kU%lcTP?^O)ayV;TfzJy;@q0n!R`C<(=hZy|f|j zPqSoKTpSAKFPGP4jcmasPjb!2Ya%qq98=ql zzZG4Uy&Ow~|2{lShhj+VHk^DcI52cKJb{UV49U?tgKp9^tLP}J%su;*t__cE&Fvr+ zWBrWoumIsW9!_hKUB3D0gMgv}!_BK3;>mZ zV`P?7&aoO73+u{j)@4dY%PBC7m4v?QayUsmubTbk8UVf3RJ zlb_Pl&Z^QdB0{>MhPqlNIM;sC=;zJS%YAiPlI-^KL{@JJojyl7tclB6vyin>Vo2+xocX^D|s#@^GCyVfh3`DpHO30er zQ=o&Twvjm{FXrPTQ7%Zk1q&Akr1_cM{LW(h-a8T$=r+|@7FAKbO^cn4fq{3>{h(06 z;^wLn-AWazJbE}dBtg!JWMob{B+9$s6xE^Tn7SutA&{Dee0*9aTv}nObUh=9VuEw4 z)#%>-k95U;F}8St+p^aw#K~z6YqQE=RorBbiLZ*gl(xay&UUXbn_f4k2D|dU>IaHw zo>}Yh=$j>|9VU!uqk31qIb8}P8cr*_&5;LNV@i2;Cs_K%4Rj=TYet^PR@9MFsIJ6S zsEg7nlv&pp*;Fm}byKqPtkfipND3vtpr5lv+vn|THZb?Nv&xA+wd|6dg3Q8mBmb%e z!_dS?r$=R2xE)8Lq@CP}LFS1;Ht2Q|B$d_L%ZTD+!^5H47scrLh6ChkNLToqmwKtW zHYaPo()f2;8>!}6OSDnO6t~aZ@dcl~usX-{LD#fA^vh3~GBCY4T7}9Z9it|Eo^>-W zwW>dLd4_AH(Rim+jWGsmW{85iens3D;7!U$q=VHc%S!6h%w1_ln^t8FV3+1b4; zkg^W`1{p;%tWx+%?%fAFhl>OE#12$HFZyXrVU?1Xb^LG;#ADWNn^s$NK>OC6swuEC zTWGFy@@tIpXTSCfR6e?UPkjkC(z${kgGr8%g_|LohABE4SVSW_^D=?T{zF{>Lqp+g zo8_L2pyX!x7I$0_PQNH=Dmf+*7bN14aT3%K)Xlb(fm@Z{8+pAqicPF_5Rc%Ivk;#a zbdPtawI`O(!K6SOt|d&J<8=YX$s+W93OTnQ72bdJ)l9Y1jQfO#MYj!ZQ5$vAmh_*} zD3!dK!N-eT_*CP()FC5tVyC}@%x zzhUamLVGpTV{>B>!^OGh!Q!w1)L?r2J2_z+ zoM*1Zc=Ks84CV?O@OU!q4HZ6UHt4Y3nwfzd^cFJ^x}VoiA6hc_9-!CJ*~J!rDurx@ ziCE$_qll2J-60<*>KnGMxwqP1z4_BBRWOL;y+;TO0bU#2k?|%z-XiF@1=g-1rV*cK zR}vr;#DO@oGNSyrpf8wpwev{+zOIiOudhMVYip);J>Rsbx9MUnox2rN!S8y03KBOo z``Pv67MmESt7o0<9=#hwjaNfO9Hx3Ot@!;Y(3ts_eiA?NaXE{E9b&FEaxUhPy<# z@W1oSnMhLwsXkby(a^*3V}3BH1;}Em#pJa-#+T0t4|4Qn>&C literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/subsystems/figure/USB\350\256\276\345\244\207\345\210\227\350\241\250\347\256\241\347\220\206.png" "b/zh-cn/device-dev/subsystems/figure/USB\350\256\276\345\244\207\345\210\227\350\241\250\347\256\241\347\220\206.png" new file mode 100644 index 0000000000000000000000000000000000000000..cc9f164641da4f2a54ff49e2666413db6a9beea3 GIT binary patch literal 33813 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 tH=SPtUfzF~Y%LDL7URqhIT;g5e{{^c@m1+P0 literal 0 HcmV?d00001 diff --git "a/zh-cn/device-dev/subsystems/figure/USB\350\256\276\345\244\207\346\235\203\351\231\220\347\256\241\347\220\206.png" "b/zh-cn/device-dev/subsystems/figure/USB\350\256\276\345\244\207\346\235\203\351\231\220\347\256\241\347\220\206.png" new file mode 100644 index 0000000000000000000000000000000000000000..72f91d045057498d5717644dc720e616c19a48d4 GIT binary patch literal 42429 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 QF9C;&f~I`QV{_#H0RF*V!2kdN literal 0 HcmV?d00001 diff --git a/zh-cn/device-dev/subsystems/subsys-usb-service.md b/zh-cn/device-dev/subsystems/subsys-usb-service.md new file mode 100644 index 0000000000..789a3c3c0e --- /dev/null +++ b/zh-cn/device-dev/subsystems/subsys-usb-service.md @@ -0,0 +1,320 @@ +# USB + +- [概述](#section175431838101617) + +- [USB服务架构](#section350923483241) + - [生命周期](#section894546131154) + +- [主要功能介绍](#section951321854211) + - [USB设备管理列表](#section951321855211) + - [Function管理](#section951321856212) + - [USB设备权限管理](#section951321857213) + +- [接口说明](#section83365421647) + - [Host部分](#section83365421658) + - [Device部分](#section83365421669) + - [Port部分](#section83365421670) + +- [开发实例](#section54626568156) + + +## 概述 + + USB设备分为Host设备(主机设备)和Device设备(从设备)。用户可通过Port Service来根据实际业务把运行OpenHarmony的设备切换为Host设备或者Device设备。目前在Host模式下,支持获取USB设备列表,USB设备权限管理,控制\批量的同异步数据传输等,在Device模式下,支持HDC(调试)、ACM(串口)、ECM(网口)等Function功能的切换。 + +## USB服务架构 + + USB服务系统分为USB FWK/API、USB Service、USB HDI、USB HAL四个部分。 + + USB服务架构如下图所示: + + ![](figure/USB服务架构图.png "USB服务架构图") + +- ### USB FWK/API + 基于USB Service服务,使用NAPI技术,向上提供JS接口。 + +- ### USB Service + 使用C++代码实现,包含Host、Device、Port三个模块。基于HDI的接口,主要实现USB设备的列表管理、Function 管理、Port管理、USB设备权限管理等功能。 + +- ### USB HDI + 基于HAL层,向上提供C++接口。 + +- ### USB HAL + 使用C代码实现,基于Host SDK和Device SDK,封装了对USB设备的基本操作,同时通过HDF框架接收内核上报的信息。 + +## 生命周期 + + USB Service作为系统服务随系统启动、停止。 +- ### OS INIT: + 操作系统初始化阶段 + +- ### USB Service Start: + USB Service的初始化阶段,进行一些初始化操作,初始化之后将USB Service挂起,等待事件触发和调用 + +- ### USB Service Active: + USB Service的执行和调用阶段,具体描述为USB的插入触发了USB通知,并进行USB设备连接,创建数据连接通道,进行数据传输等一系列操作 + +- ### USB Service Background: + 当所有的USB设备被拔出之后,USB Service不再处理USB业务,在后台挂起,等待下一次的USB插入之后触发USB Service Active,或者在操作系统关机的时候进行销毁处理 + +- ### USB Service Stop: + 操作系统关机的时候,销毁USB Service + +Service的生命周期如下图: + +![](figure/Service生命周期.png "Service生命周期") + +## 主要功能介绍 + +- ### USB设备列表管理 + + USB插拔事件通过订阅/发布的消息机制通知到Host Service,改变Device Map中的Device数量。应用层通过API接口调用从 Device Map中获取所有的Device设备列表。 + + USB设备管理如下图: + +![](figure/USB设备列表管理.png "USB设备列表管理") + +- ### Function管理 + + Function Manager中定义好支持的function 列表。通过调用接口设置functions 和 获取当前functions,且能实现string和number的转换。 + HDC是通过修改SystemParameter实现加载和卸载;ACM和ECM是通过给ACM服务和ECM服务(基于HDF框架)发消息来实现加载和卸载。 + + Function管理如下图: + +![](figure/Function管理.png "Function管理") + +- ### USB设备权限管理 + + 当APP调用USB设备操作接口时,Host Service 使用设备唯一标识,在管理的权限列表中查询该设备是否有访问权限,若有权限,会执行操作,否则将返回权限不足信息。 + 当APP无此设备的使用权限时,App可以调用权限申请接口(RequestRight),会在权限列表中加入App与设备对应的权限信息,后续进行USB操作时将正常执行。 + + USB设备权限管理如下图: + +![](figure/USB设备权限管理.png "USB设备权限管理") + +## 接口说明 + +- ### Host部分 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

头文件

+

接口名称

+

功能描述

+

usb_srv_client.h

+

+

+

int32_t OpenDevice(const UsbDevice &device, USBDevicePipe &pip);

+

打开USB设备,建立连接

+

int32_t HasRight(std::string deviceName);

+

判断是否有权访问设备

+

int32_t RequestRight(std::string deviceName);

+

请求给定软件包的临时权限以访问设备

+

int32_t GetDevices(std::vector &deviceList);

+

获取USB设备列表

+

int32_t ClaimInterface(USBDevicePipe &pip, const UsbInterface &interface, bool force);

+

打开接口,并申明独占接口,必须在数据传输前执行

+

int32_t ReleaseInterface(USBDevicePipe &pip, const UsbInterface &interface);

+

关闭接口,释放接口的占用,在停止数据传输后执行

+

int32_t BulkTransfer(USBDevicePipe &pip, const USBEndpoint &endpoint, std::vector &vdata, int32_t timeout);

+

在给定端点上执行批量数据传输, 返回读取或发送的数据长度,通过端点方向确定读取或发送数据

+

int32_t ControlTransfer(USBDevicePipe &pip, const UsbCtrlTransfer &ctrl, std::vector &vdata);

+

对此设备执行端点零的控制事务,传输方向由请求类型决定

+

int32_t SetConfiguration(USBDevicePipe &pip, const USBConfig &config);

+

设置设备当前使用的配置,通过配置值进行指定

+

int32_t SetInterface(USBDevicePipe &pipe, const UsbInterface &interface);

+

设置指定接口的备选设置,用于在具有相同ID但不同备用设置的两个接口之间进行选择

+

int32_t GetRawDescriptors(std::vector &vdata);

+

获取原始的USB描述符

+

int32_t GetFileDescriptor();

+

获取文件描述符

+

bool Close(const USBDevicePipe &pip);

+

关闭设备,释放与设备相关的所有系统资源

+

int32_t PipeRequestWait(USBDevicePipe &pip, int64_t timeout, UsbRequest &req);

+

获取异步传输结果

+

int32_t RequestInitialize(UsbRequest &request);

+

初始化异步数据传输request

+

int32_t RequestFree(UsbRequest &request);

+

释放异步数据传输request

+
+

int32_t RequestAbort(UsbRequest &request);

+

取消待处理的数据请求

+

int32_t RequestQueue(UsbRequest &request);

+

将指定的端点进行异步数据发送或者接收请求,数据传输方向由端点方向决定

+
+ +- ### Device部分 + + + + + + + + + + + + + + + + + + + + + +

头文件

+

接口名称

+

功能描述

+

usb_srv_client.h

+

+

+

int32_t GetCurrentFunctions(int32_t &funcs);

+

获取设备模式下的当前USB功能列表的数字组合掩码

+

int32_t SetCurrentFunctions(int32_t funcs);

+

在设备模式下设置当前的USB功能列表

+

int32_t UsbFunctionsFromString(std::string funcs);

+

将给定的功能列表描述字符串转换为功能列表的数字组合掩码

+

std::string UsbFunctionsToString(int32_t funcs);

+

将给定的功能列表的数字组合掩码转换为功能列表描述字符串

+
+ +- ### Port部分 + + + + + + + + + + + + + + + + + + +

头文件

+

接口名称

+

功能描述

+

usb_srv_client.h

+

+

+

int32_t GetSupportedModes(int32_t portId, int32_t &supportedModes);

+

获取指定的端口支持的模式列表的组合掩码

+

int32_t SetPortRole(int32_t portId, int32_t powerRole, int32_t dataRole);

+

设置指定的端口支持的角色模式,包含充电角色、数据传输角色

+

int32_t GetPorts(std::vector &usbPorts);

+

获取物理USB端口描述信息列表

+
+ +## 开发实例 + +1. 获取usb service实例 + + ``` + static UsbSrvClient &g_usbClient = UsbSrvClient::GetInstance(); + ``` + +2. 获取usb设备列表 + + ``` + std::vector deviceList; + int32_t ret = g_usbClient.GetDevices(deviceList); + ``` + +3. 打开设备 + + ``` + USBDevicePipe pip; + int32_t ret = g_usbClient.OpenDevice(dev, pip); + ``` + +4. 打开接口 + + ``` + g_usbClient.ClaimInterface(pip, interface, force); + interface为deviceList中device的interface。 + ``` + +5. 数据传输 + + ``` + g_usbClient.BulkTransfer(pipe, endpoint, vdata, timeout); + ``` + pipe为打开设备后的数据传输通道,endpoint为device中数据传输的端点,vdata是需要传输或读取的二进制数据块,timeout为传输超时时长 + +6. 关闭接口 + + 关闭设备释放资源 + + ``` + g_usbClient.ReleaseInterface(pipe, interface); + g_usbClient.Close(pipe); + ``` -- GitLab