From 2a8bcfc28b25cb6f6396379f1cc0d2f5566ba560 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Tue, 12 Sep 2023 16:28:50 +0800 Subject: [PATCH 1/3] add x86-build-process --- ...912-porting-riscv-ukl-x86-build-process.md | 146 ++++++++++++++++++ .../images/porting-riscv-ukl-2/figure-1.PNG | Bin 0 -> 43436 bytes .../images/porting-riscv-ukl-2/figure-2.PNG | Bin 0 -> 25739 bytes .../images/porting-riscv-ukl-2/figure-3.PNG | Bin 0 -> 96564 bytes 4 files changed, 146 insertions(+) create mode 100644 articles/20230912-porting-riscv-ukl-x86-build-process.md create mode 100644 articles/images/porting-riscv-ukl-2/figure-1.PNG create mode 100644 articles/images/porting-riscv-ukl-2/figure-2.PNG create mode 100644 articles/images/porting-riscv-ukl-2/figure-3.PNG diff --git a/articles/20230912-porting-riscv-ukl-x86-build-process.md b/articles/20230912-porting-riscv-ukl-x86-build-process.md new file mode 100644 index 0000000..8063ae0 --- /dev/null +++ b/articles/20230912-porting-riscv-ukl-x86-build-process.md @@ -0,0 +1,146 @@ +> Corrector: [TinyCorrect](https://gitee.com/tinylab/tinycorrect) v0.2-rc1 - [codeblock codeinline refs pangu autocorrect epw]
+> Author: Gege-Wang <2891067867@qq.com>
+> Date: 2023/09/12
+> Revisor: Falcon
+> Project: [RISC-V Linux 内核剖析](https://gitee.com/tinylab/riscv-linux)
+> Sponsor: PLCT Lab, ISCAS + +# x86 架构下 UnikernelLinux 构建过程与实践 + +## 前言 + +Unikernel Linux (UKL) 是 Linux 和 glibc 的一个小补丁,它允许您构建许多程序,而无需修改,作为 unikernels。这意味着它们与 Linux 内核链接到一个最终的 vmlinuz 中,并在内核空间中运行。可以在裸机或虚拟机上引导这些内核。Linux 中的几乎所有特性和驱动程序都可供 unikernel 使用。 + +## 环境准备 + +- autoconf & automake +- GCC or Clang +- GNU make +- GNU sed +- Docker +- All the prerequisites for building the 6.3 Linux Kernel on your distro +- qemu, if you want to test boot in a virtual machine + +## 仓库下载 + +```bash +$ git clone https://github.com/unikernelLinux/ukl +$ cd ukl +$ git submodule update --init +$ autoreconf -i +$ ./configure --with-program=hello +$ make -j`nproc` +``` + +以上命令足以成功运行一个 UKL 的 unikernel,下面我们将不使用构建系统手动构建一个 unikernel。 + +### sample 代码树概览 + +在 `ukl/linux/samples/ukl/` 下一个是 ukl-base 的 tcp_server 的 demo。 +tcp_server.c 是一个基于 epoll 的 TCP echo 服务器,用 C 语言编写,使用端口号默认为为 no.5555。system.S 将 sycall() 函数转换为汇编中的调用指令。通常,C 库提供 sycall() 函数,该函数将转换为系统调用汇编指令。运行 make,它将创建一个 UKL.a 和 tcp_server。然后可以将 UKL.a 复制到 UKL Linux 构建期望它存在的地方。这可以通过 Linux 配置选项进行更改(通过运行 make menuconfig 等)。可以运行生成的 Linux 内核,一旦用户空间出现,就可以通过运行 /UKL 命令启动 echo 服务器。tcp_server 是可以正常运行的同一个 echo server 的用户空间二进制文件。这意味着 UKL 可以运行代码,这些代码也可以作为用户空间二进制文件运行,而无需修改。 + +```bash +. +├── Makefile +├── README +├── syscall.S +├── tcp_server.c +``` + +## 构建 UKL + +Linux 中的 UKL 代码(由#ifdefs 保护)通过使用特定的 Kconfig 选项来启用。 +UKL 要求编译应用程序和所需的用户库代码,并与内核静态链接,因此不能使用可动态加载的系统库。所有代码都必须使用两个特殊标志构建。 +1. 禁用红色区域 (-mno-red-zone)。这允许红色区域在所有中断等在专用内核堆栈上服务时保持安全。虽然我们可以在 UKL 中采用这种技术,但这需要对代码进行剧烈的修改。 +2. 生成内核内存模型的代码 (-mcmodel=kernel)。因为应用程序代码必须与内核代码链接,并加载在最高的 2GB 地址空间中,而不是用户代码默认的较低的 2GB 地址空间中。 +3. 修改后的内核构建系统将应用程序对象文件、库和内核组合到最终的 vmlinux 二进制文件中,该二进制文件可以裸机启动或虚拟启动。 +4. 为了避免名称冲突,在将应用程序和内核链接在一起之前,所有应用程序符号(包括库符号)都以 ukl_ 为前缀。 +5. 内核代码通常没有线程本地存储或 c++ 构造函数的概念,因此内核的链接器脚本被修改为与用户空间代码链接,并确保线程本地存储和 c++ 构造函数正常工作。 +6. 对内核加载程序进行了适当的更改,以便新的 ELF 部分能够与内核一起加载。 + +***red zone*** +引用 AMD64 ABI 的正式定义: +> The 128-byte area beyond the location pointed to by %rsp is considered to be reserved and shall not be modified by signal or interrupt handlers. Therefore, functions may use this area for temporary data that is not needed across function calls. In particular, leaf functions may use this area for their entire stack frame, rather than adjusting the stack pointer in the prologue and epilogue. This area is known as the red zone. + +简单地说,红色区域是一种优化。代码可以假设 rsp 以下的 128 字节不会被信号或中断处理程序异步地破坏,因此可以将其用于临时数据,而无需显式移动堆栈指针。最后一句话是优化所在的位置——递减 rsp 和恢复 rsp 是在使用红色区域存储数据时可以保存的两个指令。 + +## 通过 Makefile 生成 UKL.a + +```bash +# SPDX-License-Identifier: GPL-2.0 + +CFLAGS += -I usr/include -fno-PIC -mno-red-zone -mcmodel=kernel + +UKL.a: tcp_server.o syscall.o userspace + $(AR) cr UKL.a tcp_server.o syscall.o + objcopy --prefix-symbols=ukl_ UKL.a + +tcp_server.o: tcp_server.c +syscall.o: syscall.S +userspace: + gcc -o tcp_server tcp_server.c +clean: + rm -f UKL.a tcp_server.o syscall.o tcp_server +CFLAGS += -I usr/include -fno-PIC -mno-red-zone -mcmodel=kernel +``` + +指定用于 C 编译器的选项,-I 指定编译头文件(.h)所在的目录是 usr/include。UKL 要求不能使用可动态加载的系统库,因此所有代码必须使用两个特殊标志构建 +第一个是 禁用红色区域 (-mno-red-zone) +第二个是 生成内核内存模型的代码 (mcmodel = kernel)。 +`objcopy --prefix-symbols=ukl_ UKL.a` +--prefix-symbols=string 在输出文件中使用指定的字符串作为符号的前缀。 + +## 编译内核 + +1. 将 UKL.a 移动到 Linux 目录下 +2. `make menuconfig` 保存生成.config 文件 +3. `vim .config` + +```bash +CONFIG_RANDOMIZE_BASE=n +CONFIG_PAGE_TABLE_ISOLATION=n +CONFIG_INET=y +``` + +4. `make menuconfig` 选择 UnikernelLinux 并做如下配置 +
+保存并退出后在原目录下生成 .config 文件。 + +5. 编译内核 + +```bash +make -j`nproc` +``` + +编译成功后如图所示: +
+ +### 构建 ukl-initrd + +```bash +cd init +./create-initrd.sh +``` + +生成的 initrd 保存在/root/ukl-initrd.cpio.xz + +### 启动 unikernel + +```bash +cd ukl/linux +qemu-system-x86_64 -cpu host,-smap,-smep -accel kvm -m 4G -kernel arch/x86/boot/bzImage -initrd /path/to/ukl-initrd.cpio.xz -nodefaults -nographic -serial stdio -append " console=ttyS0 net.ifnames=0 biosdevname=0 nowatchdog clearcpuid=smap,smep mitigations=off mds=off ip=192.168.122.128:::255.255.255.0::eth0:none" -net user +``` + +启动内核进入 shell 之后,我们执行 UKL 程序触发命令 `/UKL`,成功执行 UKL 程序。 +
+ +## 总结 + +本文主要根据 UKL 构建过程完成了 x86 架构下 unikernel 的实验,更加深刻的理解了 UKL。UKL 的基本模型允许将应用程序链接到内核中,同时保留应用程序和 Linux 的(已知和未知的)不变量和假设。一旦应用程序在 UKL 上运行,我们就可以通过选择(额外的)配置选项和/或修改应用程序来直接调用内核功能,从而采用特定的单内核优化。 + +## 参考资料 +- https://dl.acm.org/doi/10.1145/3317550.3321435 +- https://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64 +- https://github.com/unikernelLinux/ukl-eurosy23-artifacts/ +- https://research.redhat.com/blog/research_project/unikernel-linux/ + diff --git a/articles/images/porting-riscv-ukl-2/figure-1.PNG b/articles/images/porting-riscv-ukl-2/figure-1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..afb276618513ada6fed91cdee7655b2fe0a6eb16 GIT binary patch literal 43436 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%0AUX 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 literal 0 HcmV?d00001 diff --git a/articles/images/porting-riscv-ukl-2/figure-2.PNG b/articles/images/porting-riscv-ukl-2/figure-2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..6e0f41569f3ea513d088692766c93a5f0d745298 GIT binary patch literal 25739 zcmcG$by$_@-uF#|v`Q>OLXnO|BO;9g(y-`mq$OmbbSVweNDD}(Akr+6c7aGEAzjj4 z&xy|LJ+t@R_w)Smz8rJRjEJ(h)_I-hH$K1Xm5S0M0$fU56ciK!Iaz5n6cjX3@c*qi zXyD)CcpNk+DCTN%(h?dTZ`RL^>~6{>ZbcoQdDq|PeL#UZ&yvpcawCK|S{FUEN?zcn zVT5ThMTJ1>qxsv4#N^J@)oeG47gUSm2`JepE%-1>Ozl;I=dr?4 z7a-SdsL`Ha(B~Mwl68d`(+=pArkBO>Zo*IPCpO%F94V`16unhn5jB7rY6j z$5T7842lX0vauTa+ya6=uu3M(0EwuM*Rl*>GQ={9dOv-_K<*wDWi#X9;k|zSx{^In zUO`?7hdv@AA|=nD=|x??4?YGO0RcfEvGs5W5$)nCRyH$@uwUlYxUve1c~`?2lee0S_qoRXW)BiK+PmysmG zg?hiGn19W2K~| zj^49{?)+#E%kELvZ!qLS?jjHfLC2|TwWb^9c_>sPWK7EGfwaZ!b(uxGB4y0-&h4X< z8riEKeJ(|N-<#BM;z$ZnA9yzI*>Z7laB$!w^y{AHW?nvVbX*crf(>0g?h1*?5abuGe*5+g;*E09%_>cLn*ABH4Kh{IgG^$G;!-iCt zG1T{`rly{TRpo9UzX*(W6*gF2+=#q&9}=9Lk?{yd64f!g^u7L>S%o-Vi}M@yp7Znb z0c*apDcvd&i?@^(Q^gv(dMb@D=J*e*JWgxF9O+Ako6|-P5&~}q22|_6e}RVQ*@R}l zRV%ROE9CO65tmW@SYMBgjeUy{yQeZVJ3K0C?NH;pLv6?0Sgj*%PbEI$?cj>^?U-Zu z(TgTT2+>VRKE=nmYDQlBFwQYTTG3vp!tI!TBWfBNG7O0Xi%EL=z)z;!2^P)g2YRC) zl=BB^qVh{i2`|Hnvu(!L*V*-F;fBN*ii2&lk z*4^t13um1mSk}b%V`N31AFMAA`B5w6}z)4T=C{OB;<$KcFo11%=5B21Q zXkyRZp2|MUIUxsQW0VJRGiCu6;5HFR?Q4=ZFi4vXNMx{q!*voY(w7W4$q`VU_lXl5 zjDgIdrVxcknzQh!&BLgOh}Oj3%JscHK5rthPF;nlITLM7O--GhuM0fkQ$)N6f6nN| zHYNh<;^OlB@aOqX57*(w#NollL{LzWLcAF#QA=g<$Qq19W{@v(4nqP$L2(TO&4cYI zcHjUDW}vQ~Q%1eZ<2cpem+(V~FxX9Tu$O8?+LCRoUjtH0B4RXF{T166ksqSnD&TV6JXSbBPnI~l-+wzs#PgeJ$v z?%lsXF*%7pY>9ZbKcr=pt5$H6NvVZeJ;4HT<~mYpfR89HE)GP@f*q5Si_3-j5l)@Q z_HEtH;!boY>JS&X57#=J4Gavn212uO=IFlBJRy{eE&sTaAXn;tb7`~rQgky|nKQYh zI*~LPRlBH8zZC3S-rzg68b{B4NW1@xGW{j;2VC^VE8hfvHqDbH204GaVwse zO~;>AES;R7B)BET#SAxIt*qFj_L04kej!RrHd%tuxpF9LrGeO+<51e4I&FSXNZ4a=EdPnml z-AsS*Jot`Q*3R-+{WC5EbaSe)O1o*fSYolz*wT_weeMEmFGnuSBsXL#N=gVCpe;W= zwq_&(LLN`?Xr^1lG}vzsDvN=2j*d+@Y!|t;_T$HGQiOe}}S3~%|)k@U0MO?F(+Dou|EO%uyw*}9iJfe}5WwDy7Bm1#- zsl*l&xZyQ=MQ#4!{rvjvYF*# z^K9nk=3YtrTa1BiY89`ge{S2OKZ!o{_9R(=g^2fAk_jY#kR|kX0;*oMH;bhVO~6^d zj|NPJ_Y@rK5{f^n&b-Bh^0R(at6`z^4UCVc^k}@+y4r~iXu^j4gCC|ZNi+a?qTP%x z(nDX=Ky^9POFTiMFltXoVk>z-}WAfO?HxBS1i?T3qGR`6`Rm%+{# z4J1y&pz1sYDH1$n-BfwMhwvVW3wthiaZcXgsz&8)F&#df9t8+1ZWdw8dtB3U(JWhnhrK7=G@q zDm84x?YIU`ju}^p;g=uDPLcET=2lir>6UuPPIRidw6wI6l9Cw|aHnStwUiUI8{Z0_ zGqem!bvi$B1Ml|k3lSQhwewI2#<$IP+NhECDW6Ob#E_Y1 zgpSw4+Vwd{avnv^+>Ez?8yjcl=jUf-p~epb{YAj74E{FlVq}K|52>1tu4m^x6qbxG~C1l74O^7P(fi~a{zl!SXkJJd#xI{Y_VPQ zTU$<#9$|YBbyvRFUme<*sHK{({YsYEIk>|2fp=cm*Cb|l3F))diVdyv6KMa|bl-g) zy8c9$f{HiB;dq|Uys||a6dK^GetqK4uYeiEq0PX(fsk@_t)BEhdzjm0 z7W5=8S+aod-RgMghwneZhHLe3zWXuQ`H{OiIqPwl0V1u&PWGEHd3lu(;s$P-sAc4`JPld9Hq$3O_Q5h=|st#xVj~6B5Y6G56=9#8#Wxgi>SIScnh$fByVXaS-3xv-r%6j@a7Tx_`u_RD9+yR_SFh z%=Ir;iA*XWQQT4z$GmTZkKl)_#lyr}wLE4LT``hS8TtH=h7BGu6yjXGf~e*S*xylR zg_P5T-&-MR5X9h^#bWJ~nc@L{DA>xGdgSX@Q(3XH!b1A{wBD;=OKFXTh`3fg)L-A& z2wKj?B#;u4r(A`D!y2nZ8K;#Dl^`T*A&gnsdE2v51WC1M$QUQS2&_-!9El9jmUZc- zxeBVx)!xh`VZg4*Xbl)$!wMi~yIKDpxfDRc1imY=FxcQFR5rloz6SHpW`^HEOG>;h zb3L6O3iTc6K0P_n)YQcPxO8!TTDN$STo8W)CK( zA5;*bdE^C-a4Snof!j+2pEQP<_@gb3!8yK2<*P@QfqaA`mp>R(%JOV|6!rMTDK5NY zZfp1F_xcJ5R_)Kt&8UYt@Q`o(J?anT@9?g7r%aR<$7QLoCRbX>T?}Sie5$kq#%Sqr zkp10WTpY0RYZC|R7l@6#>a%2XCRD%q@X;gsAv8O;JT(@CFzGXOQkj*XKWV6`KNU-Y z1LP#dwf=iFgTIANXM3V71COBn3(@IWM94Mzl)PLume=zSqM?!*`LyA2Kr5R4xGrg0 z0qLon_CDnZ4_|Q|pW9weC5pXoog#4mKAskI!&8X5W|T~4VW2sYK`uI6HRBulz=XPm zPLtc3=Aw{;+GpcA{1X4>MII;1__0svPd-GECWoPo`qJm#H0%w3VO=h#tgLMI%s}rv z$*i$Vtp;sD)gYEZLX)+zVtm6L@y;G%(Nbt0D{O5)*#O`D^y+3{G_XtH&7g>r);ZcA zF)|T#s2Zc&jYiD&N0F1;I*O?ts6j?+yB+S;8O_ZD|h*n2!14P}ixo!`*mfRw;9htOKT zx={i)^6lF)TSo)_xX``GfC6-e$9(jOy~zT`NlFwB)-sExel>FE&neD?_IAWG_Bh0E2aObRcG(tgM#S*X>+fc#*rI*^tj9 zvZNkAK3#JS^Cv zOWN!S3XCOje(5ObA%dNi4beR+TAfK(v+BlmP@m|dn=~2So8vU-j#x_VszU` z+3_>OPaN;(!#xbIyDly+N=rHO2jy`5L?(mNYWc0W445j}#a;nOd6BeHsDW-@yg)JX2e$i4vQ6tE~SrEhP0P&$nq(ZLf32TO?MlP9=Kv|Z*;9UPR10~Z$;Bb*qk zN5NGI0m?y@#DFs~&&J5-+-(>wnJQo_4bsB!Q+Bb|DmT2a(5$HCBGqJx04ipn0bEuF zVpcr4?@&8k)GJhMP0J6wN^{5}a6Q30$!5{*58kAw(*&FRoUD6YB+f@^|Ktf8n*kps zfANNYE4TtcE#@m{1hbXj*zs(9{P^*SiG#N{jgKPZ>t{bFw>?D4>DXjx&{b5g9PF8{ zkr5IaJ}V71AAA(>CY}e=M8;CGv!w-PnIj;$hYi^Wn-OO3=G~Cf>=v&8KQFGo(-Tq| z)pRi*@6!W&ug9$#hYqndtRQYxyeeXk0#KXOW?sjouFAja&s-!ume`CR&@RnT4xBPl#Zl^eQ4Vnia2(f@H0#!}cLw<{m2Qh{s`O>6LpG-0+WsVypU*AZfZW+|zt0@Lk3JDqpwazl8@aT5%^$^nY4`ZbyuI5!{HuAX`d-p$ zhVlja7xPjsAY)t-g{)M2NMzliKOawltnTaWHGhz*`c7nxX}2Yt4hJ|B8S65wGDDro z2xu8Ct_4BdPknOa?hN%A?d3LYUH4@DGoo{%SzP=ue1vv}g`Tvoj1MLuOMs7tbB4vO zNh}hX>yc$--TP}JSv3KzGr~difh}YAUw4zssDfB`@N-AU%~u#bl~%~~A#z`nFLT?O zjVdHEA2_gjJkE}|5m2RkbrKnNba#()wcbz>tmBZ7kk-yXCeEKzjd)LPWGoz>wnos9 z=Ew7(SVs;I59<%Bfa{%H<0_oCrjX?Z7x3>zq8?DCDdi)VcrT|L_R(Kv3-R;se}6U| zKlM(bKux}ORru*V&I>!AlfevppEh&_Gc&U*1#ajk5zxX_w45)Lnwn}NMJuqprNhh1 zizOJLKqPg<7`B#*S4#HFs}M8B$a-kn*x0<1zHMyK@`qLFB#}y3&}PS?mwlteg~2VX$#e}L_fUHF9IMk}c@Px71OStlW496kYoHdfRZQpSjAVl+a=lS1Bm%VZG`6B806%8W7(xG>xjICC>-V^D6S&2xLD4K znhEK}8hTEu6K8e)+gXr5Oju}dmyvqj>W3{wtEa6Eo#b#lM**j`n{ZlBPmhOunk4s9 zBgh_~_J|iq(|t9TDCMM*|CdC^wQk~+cmGdAV2PW{`Y*xnIwS*}KpZRRL;gnxKmvZJ zfal$6HVF!H_vX!;IXO8CWb=ZoiZpB*IlUzExj+(Ve%f#c^5H)3N0_1KRa+uxKFxgR zUsZ{n%B`sjpDsPa*tf4)zww-s*rIte{E67?u4p60F9+c<035B5U?v#MsOiPE7-9NGJ4HoBOY2sU zG|wz`JHMfSPs;eFy)0!3E-A}S7Eu1wHX6IziMrP3@vv%##9>s&b{a)uuAUOz5(usNa_}&tIeEApipqG(p2VSUccXuqF znXakpq9Vf5i!0RcYXN5lvSYU)&*sW4_+PmN-`y*>&;j=R&77UB({o_d!FBkeVQ>;B z`7RJe5@)#tWSIJv+af+-X{@ZQ?02FIf*riJ_7LP}(PC3`+k1O^%h;y2vB3r@lR;@-xLvnlVEN45Q#itq>T8|+Y7}X92$yWYo>Ge$nu*wJw4S)h_|>$f;)@D z-18J9xK4@2jQSIWoh6Rk4qAe5bo zBJjIc32upqb|{XQkB<)@WnWS4FuO8E0bjD<+EJ6vbXa!2YZ2!tPg}T8%Unkkro_9V zBDSAZblg8ddm70ilyKUChsX(Q5Ccz2o=GsCf*&nm2*=O27V(cR4S^!`{!mwUFTiimc&^t%nV-e1 zyee3;)yQQ*rYA0$80}C5zVp^Fqty~!lYJfavnltMs4w4b_j-`mI|=DW-{xCaHrKs5 zJ9OjKr>jC{p8&eOdP#oqc=~4XUW7l?aWK1qJU5hips)w{l9zT63A$H>a;q%O(?l%T zc%Ibwf{Ym*DGPpazFW;6nC^t2_M*o~)VEF2xjb1b+hGM3VF5n1wogf2lmNEOnrQjy zg{Lf`Xk+nMSXkvr)0?0|bgw@Lxkn{?QQ?!?38^d$ISYTCKFczNHVPRue;V!z@ zU!w==J8rtO6DNr*Guc?fLdV_HlalRnu`hLSaB${2js5~CAXD;Y$AKj0YC7^aNvf-> z19?tlWF+uS?Q`3+v$Og|8~VSk$`lam@7N@WA3l7zS4&Al6I|R^$sTZ)uaw545ecU# zuj;PE|1Pddq7&kl41)zV5%Bv~*VIt*Nb}+ke)|?DpR1j43j(=vVx%(kfz0fW8*Y?ZpcbYC`apU%q@1 z5EKjunuNX%st#mQdLy0>LFk(NUptvy&p$eu@?-YU+vazJ#}RiU8RWDL;60gXq>QK2 zK9^ooiiP?-$S+@T{ZT&RP6W*ff!IY4t=z%APM^!D>1?&A%)gbc!x?C5KA%!lyA*{@ zod+UFvs)>L5&GKeRAk(agKACWxsvZbxfnokcSSC{m@+_0KN~^|UUH(|yJ=#X>jL)p zyrxhj$p0hfhHK_|=z4ZQgh#)mK8&WEF5));oQwx`Qlv4ZC@*i$v>i1S6&?l})h71NO4D3N?N1GgCF*g9 z*&1kf4csgoK3NROop?P_B>`a#NZmjSR+`n_(w8dOx+RXoeR;&uonwTV{rXuRw0ui9 z>M{wr1Zp^;z?DM=Uihz$MY#=ca0>`qif${-pyTtHUyjANyi@)!e&yZ9-zt{g6wojJ zwPKMgr)%>sri0^)%ghoR{b^L}?6V}k$b$|k@m{=qojzxEd>d|YL%~mugNTNt!w7ye zYxOmfwMJ%(eCZ<2H#3l8a$29WiVHpq#x8RnVjN!>7GJVlxi65!twd0TrOE_wGMA#= zi&Q6B7=Lf8v->_Et@q4L0YXh3C?#nvbQO$I{#4iR_cH~$=$!~f!c1lcX}?r?X$JwdR3}Pm-)CrV#^ssSk(-H$pGlI~#defT z3{#9O^_iIKvuAS$p3bON=b#z|zsS(X{Cp_s_a5zEKE?ceb@v!U!uKR_@M)0f0&oV& zDeIuN>9fOQ+kv3OZ|x$*5M?0x{Q&FDy68^TXlg))E86yKvmBggh$=iGC$HYQ* z|1QHC!-%Qtxz`=GV1Zma36ML2m<&6N>HL@p8k~yE3~0^t&dpHDH#wvhQ*v4zI|u+r5n{x@xl|{e0J9cVMm2D*DCjB3*gX{A)$WVqI18sOlA?VU`wxqP@*ZQ# z^N7ny4?ki1Xxl8< z?(L@{x+RQJAGEgOmr1Aig^>*J4b62);~y4uj??{#Z&FfDe%5d9Jee%Emml+w`!dWg zATT^W-t9aIP!}u=v6p7+H)qLX%@~a6fZ(W#{0a(62GqiEK9| zCi}GFn$5(3+-1D~PRGX4G2|sf9cv)**O8Hq%JuiQBP}bXO-<=b$E~drajV_&Yyh(v zHS{D`w5$9}ukvsM&FW@jVJ90AihZb{DvbZetC>)yWCb8paQsn_ZSEtE{W>h@pbiwK zCXAfh+OQLt$bFosVi(4vtfb`b?*40mD&9@b21k;zewrVcMq!53iN z((755Wz=u>{=VY6BSIV10R&{1^W@|twMWXQxouenw8%2}Dc0BFVXS!Y**8O4gAIyd z`-X9>*>4>v{lqhCYio0JF|oO%KIoxD7XK&<%~nuWo`W*=?6kCiwpAH4CzDKT@Cj?a z6a~imj~^*1Df@3pC0HcQkTWRT;DjLj#8C|8VX!S2s-Tgiti64SN$R)xEge2eP-*$! z={kw_4HgfB``xK#gJ}H(+o-i zsLj$%90kfmxC|Rm#Kia7GQh{1H+<{gK!;!q{or%y&3@&*ASYloIo%?}F@xErV3DbZ z@t_wL<_+46^7Jk2IsRFKWU6E_+CF(QqkL6^*hxZ~_`^CYU(B`zfp^@6`f%V8EualD zyicyVvzM3Yu26M?v?5JuX=mqYo=a%F0LSoi)xwvD<$CJOo^)R`MJXlW1$^*gl?Wbn zW|+j?^fj;#1J=ba_hB98al}<;GQ`Xqq(<5gBfkQ{3h_U#W&=7*K3?L_PZWLx6-bbp zg~~rzBU}`ohd_NK=tWPz`}4cR13E7mTW*gZ;3c|VyQjE-vRB$`$jDm z?#_nA8fG%a0tjobWwD%6NN_Mzn?ibiUZ^xTw>|nsx|%1bROn;vBnELLJAvxTTmB^Q9eB1+62pm~ zhOz%FEBr`o0qX_7d4?WO#~W06jrsj*+xiiRk%P|^pdkxz!@+7lKh$u#sgaS|%1X(7 z%`ra)_Mk;y2XG5cz5=in)KJP?OoDiC)>jo#P$epkS;N{qyHf zup9Jl@rjB?vb=3QB9c?4t9Ko4fI^dKL|;H|Tr~}^dmlzONM+<_m?X{4nt&f8X5boq zg?6~bm}B!f*$ut7gEj!@L1yD!V*ywZK6w(F7&W1u-C^<0^7P|a23bM?S_ty+n0~N_ zLZqJ;viH}MG420DV2#FCR zpEMX`*GgwIM6>)W8A+($<>mBQ-*nu%2@r;EZe5l56B3W2Xi5qS2A*AolNW==L)PUl}MgMM}T`DP+ONHvFO4o1jJz*Tr<=XcPns`Jn=f|~n?dTnRD~1;f8;Pz{_yAb(=n?I z4lb@sgxDG4@(g(i_T(Y(F*0&FOXSlMm+m>~a42>$C&n7Ovw3;3d9t?Rs!JRQ@WYf8 z%FbP?SJJ?V=jG>v%>%~*#Ih$LVrR2gUx+C&+U#>_mEm=O1b;2~ZiXT>mt~hHT+A-( zqZI&aAbE4^Vq^MZ!{~C~=)SOUN@^--R4qGdZX>}Ts&SkaRU8C3&{tLfNP^_lpYCkQ z=YnbKiHFDN!c(ukfk&0>wkg8^h8rIbjW^51r#A;88KfxeJs0~%m+!NgLBQK{8B#p< z+@;H|f@5!oor_D5kB^U^|NQ5(W`uC{S08Cr5C-|2*7_9LjJLJ5ZF(QpH=lxk&NqD= zM-jcJ>|y8qxSHesl3j1#7M1?CEFi$?EWw8R5gZfUiMfh{=|8RQgVlBfAg^S@m#L)Z z(y9OEwIVT9Q1p`lI`ietJ@ggpxoshOj3=>6$6vlE1)G3&<4fGRw~wuDkx2$_ERPh0 z_Cw=B9rRnbZt1Ag6&4DMiqa5KfP%|vcW;08wNxysW?hW|< zzlkls>gEp@M;E7?yB}?mdcY!%Ww_>_S;#s}#Y~?+Sn#Z=Z^8#G=FgSv>@_pZfC?dq z)rKd;ds`b)k*y_5cFD-u8_cMA9R4&oB6Wo<^D-nW92_1R)w?UgV3M++nRzzt#T07F zvQUg+uH${QML++dTX&}GHPhC61OtlVqeqd{e&3ExqI~S^*oko)-e`QXQMP<0z=9@q;AU*w|i4n*y-SvP$Om^$cVPCh!7S zsa@op`q2yp_4TK{$-F6f*CjuG{D>QiT}X&+3xk<#`2Q@v;;sxojYFuY&=a+4C+r&) zBBhWLh&TD8BGsRiVNeD%CKWKyPxLJOxS}3gX8J2w0L}_%h(<)!&v<&}4AJ(CeK`+M zG;~3Gegx`nYf7CB^74|yWv-yC=Mqf5k zUtRsysJIu2oGa@x-vNt_CJLL(9J9*|g?07(a5}^YT%s$=s!)?8XbJwCvw~X)IO3^n zOu-aF7dFH)3HN!EdKY5at?27cvPeS>k#QwbD;nghG*UCZ3gmD=MofVsnJnzOB*0JG zb9iChzj`BoWpb=rseK7<6dLk>)B3GjZx0n!VEZ7|p^55ns9l@ji$=3lyddleSL=M#;*{b)lce0novvf|P}X!eSB1)C?JH!_fq<(O=jqOTSAcM-L49xl$ubo2nT}e`5(0t@!Miu#htC{@0V3+f z`(H$ql-gg3sII2~wUUeFQ>3D$Rc5%s-UGlgO(T?G$*2zWDdg7Q^g9zJzl6I1sGZ_F6ruTZ@>~w}I}T5>F!Cy?CvZ-^%(*%b3Z< z9$5)EauC~1dmS2BlIoOM;kJvv(lii3B2+mLFJ8F2*Hl&AtfowQi76rEwn}2>Dc(;v z+Qht9E<1$!2lwQ$Eq!}d2V6MN+WKOm_0WoWH{|4)+1PZ=d|~Q&%1*ZH*$Cd`6<5|! zv=MkZ(rt>F9K?sj@0mwfL;qKi4mdYM0;?0xjzDWZ+=qQGOJ7V#NUfip6DMfV_|6H9 z#s#PT#-G|>D=>mq3OFAunT_APiYwly_8kyw2I{0oLXnpJS z4a>A*89a!8)d<>1_$jC+8a($4z2XZBSY%Y~1oSK!78;N@WCrBLq{qj{#nTrTEdwMg z4Uym&z5!O<{%dTJ^w2F7DIscLW;heq267%jQMxKc zpwNDhApy}Xk0;4Wl`^#D=#vSFveV;jvu^59Wo{ zp(1by2=3k8wHg{8)?E*2`BPr=q>GQ3Riv|!pl=R=cuWsV{w^So_G5UuAOBOqF!OKX z=>PkIL3I`5GEN>PmZEg_o!u|cs7~!$B29n@u~SW36pEJat%U1R(J>8v-8l5XGXW5+ zjlQt(Bk5Cm)k-ztAxs4Br~ED$*3&On{)wHP9oV^2rVFZEZDL7EDk^?O-cL@IJ5eXs zvC$+J{ylU-`1#rEzYkrI<+M3g_Xc&V8!DiUT1nziP*BVYDGl-+J)$)5W>bGv#QD1+ zxRo*|6oTO9@Pk36RXagG4QI5DdcTPTCvMce54u&Q0;XZvW2c{K`Y_)mUsX_03{5FL&?V$B~olj zoeEjSA*?C}0C^X6Th*AV7EkpBOakfRoIol859>W@!t*0ccN^$`%{MfboO$~Ikdj@G zK8KD0Qe0HTi%%WP03@|kf@CLg2JCs=e^NY8ZU0U2h~#npi{eonblM17nFN5u0np_O ziADgw*aX2ls7dRBd;ZA94LdbKL-iZsLBIAlgr^ta)0w$KfZ_?rvssL=z0Et0wtvWd zM7O-)Cpxq5d4+Y!TNCUgsT&yq_?bk;uL;#{^!s;%e#KskJe6T7(s!jLRqso*s6>z% z51uDnrP?Y4;;7{|g8ckx_gom06>doW*cQrL183@w-b9EYN;9) z6^iTr)Uc_{pFP0dQW!T_FIzEnRKp#72!_ z9^Fni{)A_FMS>iFo)A!Q^1s`B-8BzVsGiEL{OlZZSi%B01Cuy(nx$0DgTs4K^k?0~ zSFO5--~I*rXXBsV{T)e9Yh3l}2xysMBTpRi&64h<`s&Jx2?UEoTr+#XT3!97_Dc4^ zI}>|yd@KV_E#Wj^^Z4}r;-g2_u0U!o!o{VfZ7`DnU;1(j2pzmi|9Nf{(tY465M{u+ z;Uh$RF7%Bas*G&AvVuc?*g}Ox0z0&;OYXHP@C0=i7*E9iPRS7U z7ih>|Mj_K5Ag-6I!1va_*C(1JfsRp!-N<#Pn;JJrTGh_h7G0U39C=H`qu=SLJ%IjQ z9s=gS+3xN7S}vtUo(3iuefm4euhmam+(I zcV=1xB-5IWn!Wp=;S#UCPFC`hr*JjFwOR7>zBmRcwzG505?nj=_RL+sKWP~47>Wp( z^)r$yX8!}u{_g4!TNokX;?8o{`h=2 zOdWSvz=SU#XSRnV>%7l}d-whTUjQ^8Y@)zw^pDaM8r2aHOby1uY9Q=$+jAZG2=L{q zBo+8a;me7p;MH~#orB3kDnW;qc5q<$r+l(HKKFLYdDL!`i;t30{QfJY7KfL!Kg3+?+B%xVi5M zaHzo*4HC@KT@j;qX_=8

dZU-m$zft*W2=~{9u=#lG86l-!59QFXc%jE&!5SjHf?MVDYfPDX}b;>d{v zZ36%Tk-OU-XQ2P4?g06XGc~r>?HC+U)dUNd@gBM5r#6AMVID3bOv_eiO zJy(>KqpfN>=sO~DQmJo)(VA8Hv5Q?or3-k|4tc*hP|w!yNcoD{7FE;vH!qVyK`lOD z^eBqXM{Dci#Qr65YC(kAr zBBOc14ZtWqKH~=fC538PJIM3$P_w5@C0huV0s`sHp*k$FOPVZbU+z3Y-;8 zgJI7S+bm0lk^&l#?o^1GVL1=f?c-HeQ6?U0FjAiHV|D_vA-dqoCmS9BGYpA|niGCHOV@P?3UjgPZ7VyDkj$o5N zvTMX`dUJDg4AViA2QJjLUZ?H>O-zCK1OzJqoTk>tx4ZwCRvuSJ^pG9)~W_cPb@0 zxz&OUxeFT3wDfetC=sWdk#pdMfOvuEc995+VeJB$w|lS{OzNI4$V*%f zO-+4q24oD#s{4tF$B>zu|CEHg*a!iTV`8IJIN~u2`4uN)nfY%{CTVHKZ*&$O&_}hr zxoM@NnXsV39C#;_y$8$*zC#;fjAHKrOW+Qe4LsZoVFUA$fF#2*{ebqk6wo~lyNoD? ztZ7Q*lxR2j<+V{B#r#3Q9lBU=9lroP5@VosN`ibY&rKHkEwvMob9@9o5fPq$ zX4Ermy-I*moNm+_SIb_>`$tB((ceHz-y7%0vV{OM(P`EH%G#6pO+uzVC-2cu#MExgK3st*k-M=BS(LtL(Y56T1uGzc?J|!gMw<#Z z7XI-chM}5;!6KLkS{wA{B-z!~6^b8VDJlJ51Ih{Rh$J)?Y~?pXeoEZ4PTE|(Ad-Uw z>*(lQ3qf4XHW(T%3Pln>-Tom{9jy}sj%~t`7gskm2z|xtz;LoK$`c~~#(!}zWCXuB zn7&edp8D?&vP;YRo-Q1=401OxBw(;&!7a(B!f7+>AF<%Q1BV3ZOJKsSH-Sg-%OY4$ zO-L)xUCQ~^(DJ2JyL-lz@d6BZgP>+~a#G(R%Ug;>MtkzD8q2xc{{q2) z{`LxjiKM=Vwx)5;%=>%#xJJ+`)C;mwxoT&P2ZL1+>UEjlz=~^XY64-s;$YM9B9&Bf zYip|tb9H59tSkfQT1b**2Rex$`1!3p19c6X%+KR;$wuH>fK z6xpyUiA-}O@_zGMJ5TwKtKE|?droFo4(nx9K|T*+tK?LJx)1POM!UV6lD*HC{*i?F zu=1u5=r=#fRAwSY#Fla~!|Au-*t@gj!~b#V#>EJMB`q zLLuKaA)ufwFP@RdiR`gX2}YleXVYrQv2k_P*z^ojB3p~Gl4`XF6yWU9lPrK`+%mkm zYX5*(61Wg}kngtgU^RH;f%NUxN|5zf?PD5`?t6%g8Ul-C&#nC#5D65)fVatJHl-*> zto=4SVj?2=4;e);ok69g^7>Z}Upg`BQyhmX{u(^6VUb6jl$G}b9%ZSoS>)i#H!7T} zSS=cT>;OBcNjIy2XxI|mBM1yDLqcEu$@?!nfG5BI^#gu{jf{?J+uE{qI0Nn)LX7jG z6#unrHOGp9<$w|tw0*Cn*WI6khkPI%nKO+<{G7o!QT=yOZf-w4CjjC#NUZI|VL1^7 zCZd_#cok?B4|q*LoD37P`uGdY9yWSueo-IYW_ZB$y*69xW|v`|`0EM5a3KCMK=@CyP7(gwJ$1JAvk5=B9;C z0z=oY$>yP?0+RuPEtXMQ+(H`})!4btU{Ak0<-40hqS?)U@nx8n}Fdsk0BQy+l zs`Z_!iG!c0{YmtLvCJa*vh?<9@Ea6`*=-J~5WOey2cZ7ym;06Qi2>@N@8c_(LAcEzMy;h6k; zWO~L?lA;^h@yw8L>oN2xG zR9WLejF4fRk9rCLquNn44{#$->mnJZ8=sG?xPpgu%&qMBkDCIK7_4|5QLCIa|KqO% z1(pgSPgQMpw6iEJzJ!-aWNFaFdz6N$T?4lVb^_(!#sFaAS_UMz3zw2w262VHrGHQ~ z|4*C^3rhMD6C)#-_w3>5bks-@(R}wXnI%p>ps=*$<-`WyF$Eq@R4V;S{{QZgevcx{ zljE@R5`O%}T71Pe^rtQhmfdi2_V9qTZMD?BE{Xq5S7=9Ndnx@x58$N)dVp&@{|)5e%l#e5+5U<1Zy={Q>Gv#e)wZN5p5h=> z9V@SeCW4uowY2^*L>F2aw>f#4-ZT*sjD<1B?W-safnhHCG-C=2 zs1uOd>iJ5^Z`;OIt{!d#5$z{lb`si~5RFDB?|mwofn0d{Z`JR+jq}XZgyq_p&_)rM z@S(sWl#2zd4t>vEhTguyt7q8!UGv*6|Ec+%<2v|Wfg=FGrsXzZEWNZ55`6q4j0-&S zDm8Tiq->xfuLBz8>iIkD?B;#fEpGpQoKetx1a-$Xe<%;n4IGRu%}nQkgM^{QCx%!A zkHJ&FzM)omESWywX$GdJTqOX%2u_<44_2`T>lLPtg#}{TtKq(%V21SQWy873)l4hC zE}5`4K!_K$a>}HZYYqQTW#=7Fb^rHqDo;{T}!Ixc}?X>#6t-d@6W~ zB=KeX!aCHEGo58=cfY*>3a;(Ji3|L}hrfusE)0+!9HIdpi{nBQ>k!QLKz{~oHxNaJ z#QdYb+x92-zN3Wi?{<=3yygJ?UE*)&8H@7&BjS?2&!#m6cnb=f?ibaI`u~pn)2G2l z2Dk53F3p<@`+JGA6sBy<^pjlV`y?arLWW`D>R+|^+IO~22o4GzAZTZeG$JGJCE z^`8=>jU zvT+>FYezik;#lqNj_I}L-;nz|<6n?F8n`aG-scCHyFqprIlCno#=Z}>`-*t|WWVV8 zT{Poj$MGjoo>xcMq)!_q-5RX}fd_DP0A4L)>R~?=`K?*-d~FpK85vp2Xvn?e|A}k) z8^iuIr2V!1cQht@uN>_ zkQ)*lBwfSJrD47|Szb~xtyi3ms5MDC{7eEkD>b1ZWKLWOwAu{d7-Un2x3m~KD@I57n) z-QUWe&R@zOEnv)(v7Y9-mhHE1F1UFsZ_t^K(Etl*Ah|~IHGGlKh66}6NqarswoFHs zd-D_d)r7!W(z z^Y+8e@AD(-zYz>`Pw?dBsc{_rssIOTYil(Gi6`9;;oVw6KC1x8tROgdWok_AwtnTd za4h0FGHKUO!BY+#d!OIEgiw+{y1@U$?95UaFkirSxO_5)D*e-GQBINR4Dy2-Et>j( zf8psMI}O?qL-!U}^p5y?yg3_Uerd@GR?CDvI_Xta`c1NgHqHfdo%I(-Fn`4cqRy)} zfe#sef#gQ*{}UwNW@h2TkH7Nx@i%}*vR;*+?sly)%$z}iH-3-V_~L9oEC3m%dP#`_ z!Dj#pEYlB1JXBhL+e{=0REx{=^8~#b*AkSHPC6e7%T_a(AIUiVOe$-&DypM zN7{oF0I4?k$uuH!{<)JbFCzusu@hfOd~&616nQ%SVes!6I38zw0GsoMp8FSMF8NS^ zuy-Bb>4q&p*yP8~-*ipcfXl1TK&pMJax$`hnwm+#ZV1P>xAYB!!%y=%5%uZs2-Inh zNO2cWhCBR;#B?4YF%y-o(aZYJyJ*2Fm*&5R!z&^=?VPAhn@_JuDU*YE27z*%4#?q+ zLHjC;uFP;ZEe2ger`b51wXn5A9ky*a#2x|_Y5QdB@CM5-te{d-RwizL>%FyV_BYKA z9**&xg#Gbf5PDyl&$MNaw;IK;*kx#?LN*|oznDj&cvA^ESio>d?HkDSpo7=245!I$ z1BZ|pe94@LBB@xEGYw+Y7{vRJAF*qmY}VGb6+;YHuOo{29f-m;325^)zSa~f!$wyn zKwy5D%6cRqmw@stQ->3L>QNt#oddS`d&@CluDeISoEE%MoH&OoV71Yg(4K{QZu7+> z_6Gf8kx%OF0=AM;RvONb!Inxm-Z!=}**@I%oO)LB|0EY6B zLiSP{`xYzS=RQi+)ihr2lxU$crlba$m}j@4&lad*d}m|i`fGwqX4j&)6oGD*&2*1n)7s?K!` zxQ48RiIzh#tX_6@xr2=Z2mrwDnH2!$%g?V^nm;a|(w!Oq14b1syRuC(!RjKIYjv-2 z(uAE{^L#3-FPNCRjRv$>*ZomdCfuEyV?NQs9^Ym(ycxKodo4vg;)RC3GqFW+bca!m zH4f-cAVUp(_1UV3=#V>0n?H4>>|9(BeM}Iz$IB!M6`{#q>S@Gr#jAeyuNkQWuq450 zbn*2_>mOAH3PgB3Bm=BzJQ5n@J_-ZE_71xulNKQZ zAa-T^>qVOF27-ylNhYDm6{ehNEO?$H7B0xP5HehtGWe~Z-hy|^PkjOJE!Q@4VWhk9 z_3I73KdTl>cYKQV^L@Pcuoc463GaoJSRHT)#{I_GJ(ZjabYI76jj69W>soUo$mi>x zy|J`acH#|-@z@bE8SOUgEaYB)@S0_~pBU_FZ|nOKwNvMR%w5H}N`C?I#vWKca3<^) zbw$%wM?u#s#vqW`DG;qg6^1F99?&cF980D+rJH1O;zC+po=1<3Q&39b5g+`GwIx)_ z5GQaY?nP;7DeQlb=}Wb9X`DN`rNfIZ)Zg`M;*Egg!;XU=42hhv;aPS$-eD2bJBy!6 zgw9L(@5z0lgsf`W4WqEXb3A@)*AIA+@ds^isqNRo zU>|bQ0)(6G?mxM?G&Ff0Nqrr!bH9KHF)vlmmwQZc7d*7v+cJ^XE<}&wO=?^Sajk$f z`vS!Qbvs}u3knObRX^SSP7uTf6-&EhYx;Y<5oP=Uu%rx~+S-irM#phM{Ug#wdskw{ z;F#*s3yfNy4Q=nuc6V#_+XsEiqmuo697bO-Js~N;x{N+UtJSZfTMutV_dXr!jF)DK zp#cx0qm3K_D((GZg`P&dHB{O|?_HO2&;0n*#H0O7d>CX^@PwGTf6dsq-eZZuf}ife zn)g7Gs11muAYPuawf#{FUK8x8dG2Ud1)fxb6yHa#is$*I`dkyf*8u zSU+Kk+5-H_oWa5=bZ>ZQ=nnMru3R~3vA(_@DLm%Op>b?sPsdCL``OPVY8B{fvf!4& zLIIhJQiqzH)Z^Ty+o?3-JXVE}bB#S4Uj4v?b8+yRKakMhTLl*_Z0+03`@T06 zVPRHFx(HqRqJjcQ-7ycGNB4Ektim%DeJFNl%~yV$@n-$xI?m(H9nqw&gGyQgZ$xA% zJ|vQ}^q419(S5NQ6&9YUp5O*OyyXC&ihkHqnP0`gb#DCtM+v8#0x{*=Ke%&*Nnn!; z^H;H7whz(V3Iqua4Z8=0tkb$k2!nE!l%?-N1@@3qvl8J=8$jzT+$&xDj-IX5P6N|$ z#6B!9MT`7o*E?rxKCQh|>3#oRPmJL#=nQvHSWsqH0N2s8fpTauoGGUR3!9SvtNt`< z8Yatr0BK>p5K8`Spu<<*#NQug+s?W5ilW>+$Z5`y6ZwfuR*(B(D9(j_f{*_D;^eHg zI)wrLJ408MbMj>5?^k+IQU>cTCP-BY63b$?j>B?GSKI+g5<&Qn=p*O zWhHV`yFRojwvm%Z!4n-FeI8(Xlss8Il+uRva~Z%NH&wK;Q3||b{ouv3wcsZ77RXJc2Pb zFMr4>rXfo6eh`MDBg_iL_1`oFS_^KGw?frUCDWNo&JMRzMjT>XJ)>JWoA|)Bc6Jgf zfoAl9iUE;!KvaZSvY^odGyCv@+S;Na->UFgjHoB^jpw>=a;Y@rVM9o2_L@?X{&Nps z_hvhjp8*gin=;-lxa410s_e@%!eLp8(@K)yvB2MD;zDV%g)=tfKrM;bWoK$ycCZ@c<{b=%w zq-Oe*Cr_Fi2O51)R9_Hhs13Mvg=wI69!;q89!OD(vv8V6MnQ5;9|3Nx%6&Be~$!i@s-_Mfx%i^ zrgyMY&x7%YSc{p-Q^yzK3w=JMDHZgfk=|lSHd}e{O|70nQ2{kLgoy$PBqC=C*DZ3< zd7`VHa)O;A^}9g)%%%BzEZ%8*g<7&)sb7y8=ywidIgW6<5V5$u4V#5}hp;K%Tp?K} zPt)w&&{@0Ll?I?ktL>yozjkK4DR$g;SC|t~qy`-3Z5aqXv3#07tvxk{ZOW7sqI^u$ zfa)_Xmr4|#gP#yA&yd2+#7cbO5<$C6>{9>$cfWY7gZx4eEdI$d3Pere^gQcg9vh~p zKV;91lAQNd(l78k!4i=Xl+#DN9dL4=^)07W0t-Js8? zstfx9GkSPtg`QJFga8z_N`)GLoU~L`7b%wzXSD-P3C|M<^9rRda(`sGa`gQ@Nb9AN z)OFjqTNT+9eYqcLka+jC+htP)oRmeObg(b0L#*pIVIcWfck}3CC%iT9-Feg)2(|^k z9xFcZlov~!9oef%o?{Pq_Y4+jTkl6t7^$O`M#?y1)!Epf-5?RG4i82S6}eb-u}7IF zL>u&S#guA%Y7R&BT9*%3%Wq8(=b(`44?nQE5Ksh_R8^4<@4`%n!~C`9AaZfh;cz+}p(^Dd@>iO}5cg;$c)698g=KL_}y zQ+W^Q2f@n0;h-xJ8ZIm$FE2>m3cdp3)DyGGa4yM&vR32b(h?O35j}%l;@uc^i4@iL za(ElX6GfRNOiGW$uqYx`KPA3acDp|JJP>^aBJBjLlfHoiHN0AvO8QBkq@*yy%%mEt zHn;hcRsOEJWp&7`rO5s84p4TdpJY$$RI1F*CBz`lx?GZUVHS%A^c$L(Ay_)xU6z(L zo~HDE+!ZnxhRK`5Wj)W%UhwKz zyPKO&!Fd?yq)aU=-2PcR!@v9k}ohotAkWbF8a`p3}ffaR&>7$7eLsX|Y4L}Q} zHcd5QWRf;U7Dwjh=6X|QPmq&1f39nDFb&y0Oj+nSBdt-Una-GlyStZe&a-cE{q0#M zJGTCbNsUGS;rY_w=j!FMrZ4W9=^SID5g_rBSvuwIoF()&=rig~l*8&ty@)n**}9VZ z{?-je{-R^vSOF$+>g1UH>5@JRvh%Ul*)d#)_q1n}rEPER1;RTRe8fO~8SpPFQ=Gp( z1dbaymKFG(mzO>6Fuq`SVK2bRQg&lx-Mv;g~GUs zg9XnJuhv?kP}fmXV)vDt*0YO&1gfdwT9w7eceV(OicIN>R2TPA@k+SmnipE z#~P|vskXPDH<+EPBhP}Dkw^V)=8JlIBF@g35@P-a-(Fqz31u*Sjq<)F8H&k=_wVs< zrg*;<_7eJvL5X?!--kl--KTPY9R~T?KovRnzrQ$^|6h7B1m`&_u~0oHUp;5x_ivv* zvrEr;#5gYczj$$jnfc<>)D+Hz3m4$2zaO*bZp1OK{r-L5$%(t7vhs!$;p%vG@apQS zNPxIlgNT?I=4$Pk=W7aH!dnurVH|kAHXMjk{(a#ok4f!X?XvnZXMCpKVNx+@ngiCUCQz9%E-dPf-WuZ<#X{gQf2n@ zc>4PKckE^#(tQtn_1EKp(!-rg;TpMW%%pT}fefb4otzr<3noXbYsKZ|<&zt3{4)dG z{xXG{s|uboO(7xy55#7}k3+5?hjC|PWMu5VL4Zt34*}7W)=hG5tNfJsSHAt#ZhPHB zL#>9qe@~bK&iO#Y@;G$<1AP%+Ht5iT!53v)&Kec6F4O_{tUhitHX!u?G*(V^}nP zMXEix`4kW3v^IX}IgXf^oSxA?=i$;$pXBb_-`{^fHcr5WJ<;XYHDR$?t@+M`h993E zq3PE7m-m={gI{eIx^E;kP8S=x*x9jr9?wu4EDsi-Tq8$R^Rye+yw2R-b{L2CTNbMi zWyQaG&;-|uPKkcGCpjfGmDiRJxoQO*Q%g&67ng(N_PNQ>cyc!SBkyGe1_-xoX8OOU z!|sO&uDus+8ya`ST<{e(EY$03_psi)d2^N5jwV;TI;gOaJ)m`ccGmFw+q)R$<>d>D zi(hjzO4mEMCnkS&#C^`l*l@>>zhjpDY7qCCNLl38yWLjXv5Hau&fuMK{MWBqnqKwH z++}CQ#j&?uovWmzb9XClZC5}p33(hOruvr)6U}*(w{FrWI-_f8X_YyykU@^{Ei&oC zQ@iWA`15u=pTl`vT->)X#1bK7FC?iwi1CGw^Cf-wS(qts&vx-rUeKUa)Z8l2%(-1F zDtmhE@%t0q@^_!_ovKypt<(%0O(a@Dy1)<|>;5LETNwY!or(Ek&*6jD2lX6fZaEeF zhYED<5VH^s0i$A~Nc0m|WoBk-o+h|#{W`c#xJftS?*idKNJMlJ!+5@`> zJF-Gga|FY4OAlyOZf@e;Cy2K?nr$nrAr`V@=IEJ0EAz^!7}#;}-t&DmdilzgfZbik zJQhjhq&O(zA$4`%2oHl8WeVJki6O0psbiB{zn0BWuu*1h_*0mP-7TC!O!tWtIL>Z*3~A)Kp}ZF%Y^Jrq`z$AZnkms46SZ6?=Fr<&-A(ncX$-&qj;o_dModCJp|f%@{5rCbT$Id|q(B zIfM-ZPXA5q6Qiu6BBE!{o}mS`R8p)YS&WoeGO)2pDl3z8CJBc*EcKUHC-`CG-@JSG zGD?>#F2Pffw{oSTf)9yrRQHb`zDDga<&;bw^sKCS0r=ESY+eVC+z)@JpRjV9bW&99 z4x6hL8sZZDl?uHjlad(9u7ya@DkQ#ri<8>3Q0iaq7Gf*fB5H7kjbey?Tl;w*>zDc1 zLziixHE`@JcCw7N{{#rllD*6yuwl?!!kW-qoxxXk_39fjYm@5hYF2& zo-Yu@uxg!$@r_-BK2J5iKS^3sGTIRF?ruvQN#LveasSBTqsqD2 z#g12(@i8q6HPd@}vp>f~<|64g>b7FO!;;EeIfSl$fA-VCS}$Rh9Q7B+$L?M)mx=Of z4jD<=w6l+Y_V+(X?MW^v={H~DOmti2MOEWwKz?H+i3<}t{H)rKj}jLb?>6Pw@5}Ri z(HMNiV7$tO$K#OWA{GYb{qV|eU zv!-gZCKo$0vbMPRKv9thl3sUT-zOy>HqA1Eot+&>_fKM;mf3t*bi!6oOG!but~sDX zU1wst0GV2P`lxzuyrFc$Gx%wd@qGeJ3SmzQB!k0(fB*iy&GEi%)!||m6t2e2x%TK4 z5>nEyhU_08lc?ruDkx_o-yth2+h(tJEOB7%ys+`ov#yfN`|kC$Vy(tokG~lQAkPDj611M@NUWF9$t6HvG~SmO7*PSyV*gYdh0&-h}RTta62Ezym%m%_Z#Z|^CrYC&RZras%3 zlt~gAo7#$`lYQXe!1<%M_k`javSKguN=LOHzq{ka`*ggo@5RPUv)h-R0BX;x+}7jU zrj(s!XCDfj?<~Gq8zwon_Z3j9?4douNIK5o#;su%Bz^FmGHzDUnw?QVfMTGQZ_1Wp zV`Jkgry23hTek|FH}shyF5GsP>&t9sZ1&gnD1_Xv+S=L<7MX-aWK&wagH(e&g|a!^ zer7RRrtmEFO?Y@R4b6nxn&4}4Zan*6-|GQ$LFr7V(d{t4MxZ-+-hl8NjiA8(M zJ$zXA=~1i=RDWVpQX~ssx^!u<%=Q*k&wRsHLU?kQ-_Z|N%#G=p8Cw7^m5XzLtOd@F zw?1cQi&}+e~pEUFFBh7OMhbe$qVj3E8 zguT;^!96`aAC!FN=jU$;2~kmdZ1;Hgt=P|Zia&W0k@=w4@r;wKBl&1KFeT+C%BC{m zfv2ZXVPRqS@GzgL(f++I0l(1DP&BuaBVWs}0%}BaQ}|7~-$W<27SwkvE6pQW`StHy z&G$O(%tC=8c=Th#4L(py-5_j%I+GpMVpLj^@okV~g& zCL$zUZ@i*|S`a+57|>f9EHKC0;5UATBO0M!8x){PN|C?#bZ}%5}o~HI<-iUE++#-lLj# z^hL5&k$Z!5-$NvB5zT2kPJhF7-|ms*v6=MN`sxm~7k)zt9WLC8=b1Wi6aIsWt=|LE zw6n9rI(aAHVwWuH&@K{a_pX-k7pwfb%gQk4x5mcu>iW;08NPk{HaW^WA^-l`Jw3Xc z5(3GI#9hN7Z}y(P;pHTJnHMjiPtK!iB~oz88i>N!m0?{gGiX7 z&UA{5FL97vI$fDKm3?QpwLDbhyw$;7@T`~admMLHh7k;Q4D(a;;Kmeb5i<_5FU7@Z zsECM&e9I9oBT5gqgtk@~@MiP{*{b%X2qGoBPg@Wy(ci3}JRyvTj8tCYb66zyJQ|r` zJUa#KaK~lS5E*(Nmra_@t*s9|rctw9!E803rFq(kY=t22WiFbHKwgEShC*3aZM+<_ zhYsTHJ(Ey&Qb^KBo$Bgp&ef{Sw-{nqW@iL&m6MYLGpPmvukCqYq*?JC7a#)i#Ts3@e8u+<*3dv2#v-%srs3@Km; z!pM~;z(ghq>0AJqGBPn0m=CZLlaT1`E)VTb;d^~n_k`b|t~i(%s@^A957s$Gk7d;& z+m?V3yN6um99CFu$9v9487*u4SoM=W1-$|_Dkmq?CREKmKYpZSI>u^G3~3`{pkyRTN0_46A}{ILVPt!tuoZZDEOW~d{-%AOkR3#cF|nY z>-eat78aS2TVG#arlouWABjQJYXuJ$7C@j#O{lOi@H$#4jh=~l_m0xZ_I_ALFJ#xR!2g7;l#g+AR;S;H7hS=KTKm7!;4AQcGTB>^-6&`*^H${_9 zI4L}QvPex+F6Qi@%d4rVODNdiAG4Hj{P*wQWo~=9Pd0u%DhLz4&pa7Ixic0QBZP&UgeF^v3PmxFXgsDlFRx4t_y8CH!uDZ+CSp`0&ux zD9L+#rpW!kZtkv0#BmAtIk`lEK+BO5B!TrNcAwYw+m{mg92nuv$Q2l2t&fgsLS|)XS5a2} zP*kKilsK9qE+>{G=tc^8mw|<)xbimppl9pRjnV)#S9-oxx0z&NUS8g|*;KpiP1mZS zQjgC_`mjr7ymybt3kE@yQBUac*UIwpAvWBNdPvMbLCMa}&)-w{L%`iVdPGf8p!C;Y(RNRN4Jh?jyge$GcBS$;mIEfF61J^yy%w z6I&>?FrHL|?wzYPJB!LR^z<{TwTC3$!AQuw=a7<;aCrW_%z=HFF4>Z) z*a#Az^V!Lsa;-glC}1gK_^fG~XK}UVrnu z8wLTjc=}5^*{Q*()N0I^A&AFqml>klxGOOPxE01g<%2jDNXg2wnzvQC+HqCOrLTD} zo+b1_ZyXgx3_w7X0JG}!a4BRjQH zZ#BlJq^x|q)nT&I{K>?}sv?U$OUO=m)=@k^N;gMGA`kFrJ=~)Hq!shLYAn=^=sWo5 z?7q4K54az8wvP|2AwtXH02O4H%q{gME-v`o1=7g|eBtMZdr$;@A#d;sDx}h{Qt#YZ zCFjNJPqgy?fPE%JPq-B!F-7fExiQ|%!eg^cMkh}ko}rA&%Fb$sl|{= z6e^>ETk2$_)EYriNIww~usIv3<8@Np+rFJ%Tuc&7%JQ{8N5gh~@;KcpzIK z@PPSgAtt~>Y_MoFguz1!?pY2Id}ubMN=(3}FoQu}I%1XSA#FbIlc7b^gZqCR`- z$o*;!T!tRz>P4(i`W^sMGuxb0aecjkhO4xuyZEhV!#1iVCTm?jfvl=)=c804g;0%t z<9P~x$BXSTEQ+)XM{QkQrTn|6)1M^|vY!_DGU`#Cig4VddcC=z?y$BN>rSX)Vv-*5 zEv9uvc(%>JB|>t<2;#z0wQ+3VU~B#jbfKG@cAtvd0Y?M=jm|VGUn@x^ci8&Xq3HS^ ztr}O?1rJMANmZ4JWW>1W=};JORAJh+p)JarC$w+p;_M1*X4F(v(#(ABsW~|7K$M9? zX)VMvAsjnt?daHP{aDrTF11x)?u=b;l^i;3WEBEOMDaH@%kZ#Fpq{=v?u!7l+6Xon z+EH5V0%&uYk}@ZgVEYrcM40Hl$1S~L$C=YtR0~v<)GGrO>qTcvVf$giqYW(z1_eKp z8&i@@3rv5h8K!$s^PV-|>OLVrW#e23u3HJMJ)kK8js;`k#7%QnUQN)N$C_Ik<~z2U{hQDpY*ep#$SW%x_iI>B zK?DFklGM|?0mN`}*|( zEtV4v4NY=tszIIqDIhxJX=oj3XlaLvjh~sCia=RGn7Tg9w9Tt6wK@t4KCO}TGr%?g z_<{x%pa&%-rCOD9!4Gatq0r9EygW$=L}1j{1B8#!MAk4<*&|y&ZjbN!YrdE$Ev;Pf z_ukxCunt8p8hV{{c07;rPT+USq|^HnosbX`8j9CfuovJ%xAi559skQ^GM2ArLwTcP z=E{2$9+3+fxw%ac7|M~nR^wIISXfw)%+i@C7z}*mr@gXlYffi?Z2-km)s4q09H6uH z?=e+kEOg+b1j;x7B5Q8KgQ@XIF8?-tWP4lNGTrv~*4As!e}utH2tW4+=l|%Kp4NxI zB#Nsu6w@mNud$*&e*AdRd4>rZhTqTd2E$S{U(^CDQch8qdq2`-%t3Yo$JZ|PLuTfA zs7=!Rq$7zlx$I;i07lyifE~XNeF&qYT}Y}}`FF=3UA*?cFd4pn2oALS1NsZ+RE&60 zKY#wz9WAq!{_!mNd>@j20_hX$e)p!Iuouvy#5}#&y~nBQek8aJZm+5?lzEbj?LE6p z+B34M+kECmb+)%=h2Br4mZP$*=4Lb3q=h0IO~2-sduFvGWl?*wVtvz4>b3kGDK|I%)5C$<>A6^)mlCPSrJAYbm(V}*(H5g z4n~+TltbG|ew9Ri!TRdaL!?*yvfj+$Ons*#b>kYf-xKemfQVj`>_YEHG>eAeldjX6 zvv`88;oc*j?6HO4HP|3(6st#1P?Kz3JuOqj&MI!sdFxjXO9i1kzcn{A>8!0SEQmaM zbiu7@S2R&<8$dIfZ1Uj`cndjR5uwa4Vtk7Pawx$p1pHRqkQS&qy(+dnlC+@JL8 zHY-NNGAu1F*Wt53g&C7dkDMTPXMvhiT{MEP1DQYx0I{yH^LEJMmqVKmFfuZ4@Aw$p z`v$EsZ#2ruk=I0AQWA<9xwgiHZk1rYiINgAB#Yn0JAX!}XPwLI)P0Ys-Kh4U!#e!U z8=u>XX_JttZs1W1y^iCyz6pR`_~f_zUHxx304ol1QZ#oba%vk^I`e$)40v%fGoxGn zY6_Q&!l;g(ukViJC5Crp3^zLeFuO5mIs64Tf~H()V>P$jetx*PVgp+>Vq#n_s#3aQ z|Jtg@)`ZoGm6|gq^Vz|f|ML_I8_WKssZL-UfY0{9^Q-zkgvrD77aDox-acc<+dUF7 zx0F}gB=2>o2vBvV_H?QCj_0wnX0@xbRN~P{N1pu5uYq)Iop7AG)G(nS=w_f(*MnN@ zDZhFcDa`cbsKn@on^W$|IrvZ8t@k)QawK`1d+N3VgYFU4pZs&)QClhoquL{*D}g@% zIL=$p6?*MAP#=${zirV1HW(KXA5WxVR*_%+JVX-*BIej#^aYV4oYy{GR{cxFCO!}H zHtMf9M1KBP-c}=2&HBd+00;Shmb$gO>D%30UAxD|Lh|$T|H!q(S$#nO(?kO9i*bA$ zt8%&bKgo6*5txH2oz}4UF5bME{xnBLEvFxOt~`?ntZih%# zzgJhAKnb=5N)z}ZY}8wun$!kVx)Z2NICC~Ibl%Bbx-a8kr|Mn%HR52sF~FV7zpFqwQJ)+CM_); z9WOxe{_?CBCf9osKL51bju!YWAPk-FeMJk!|0gET@rN`v1OpmzjR^v9>nV7j>5RadCR=@6i9xQ(?fVNSs56KyT2i4NXii zP$d>azO;{GMACcf^$U_ee{Ny@t@8M>H}fs(egbgt-~y_fOdgU1O-vn zMF1`auoPV+ZkB3ZiCa}g1sO>6;?V8GSJOy6Ffh2qWj$_Dn$42hW4iaYUf0ISS#vtf z*`j&=_+ZOCFStXDS}RsnE6_iOx(?nE9giK7MCWN-pjtJnoRLAl%56mf^Nmoo47G}y zny;a@ye8v34_6vNa|6&V03@)Rh$<>Z7A`Bw3%&>>qMrt|`y@wnJl1?5cWNd~7{;Tr zl3ZT+gdFf`S5^NrUgX3*G(wSddYm zi@KlQn-TFgmqG`nR_VxcdNOfFIdOKn*8__@ulAHoC5wcJPNojddv4unG#cs&pgZW% zW^zi$r~f;2n7?;i2bkLD+SYui)-)1U@XCGf2?|mU<0vxp!wYnYmeUF^pttWF3xMEoPu2;q*h|JRNGBnKP&^1@LC;kBBuqh4r>&`>~Gl(=pUlO|sv1M2VBPoJ%#0D1Cv=j@4Y+*&c>^biptUwr=%~+! zZ`(2NqfqI?5zeWHqis*X*jKp+PYQ4*OvRL5D5&a2nspVXK@#MA!W+T@0n@Z zp|kSxUQ^HM&suT}$eV#w+S1;xc*+uV^T&@LsO{Zo$Jngqy_Pq(+IBCTKR-IYD)L1= zr_j1nMb_RO>nvf4UFe^}NgS`a`qU~5kfYws;UwUNdb+!jwNtgxM1JR;46HTjzRxQk z<3+65nORsar7)xv77{{C2VBQ7efG@fI!@aR)VFQZo3-FPfF??W05d8&`gY`prlzK8 zpoTrExpkTi*x!Xi?+1C|VFV^*t?gas7@{=SYASI3WKOiVw$>vn5*Bku9QR1hK;Mix z`@6>~DldT{1TE$!3yUo0(-bfBO#en z0M-Rpqr{>SU!9WrFN9Uqp2DIn?Kz9Eaa~JVF@ctTX>Y3@{bm zGEdwIOG?6dPC=Z)&d#pOK?e0F-*snEBw)sVXlO{S$T+0;s2vGR^8b}oxut*Q&%{0;IwKfN(8@EY&gWez$MF%z{%|9F-k!lmX<@Q`AnBNj z7D^LjNR)1Y8bs$xktHE=HQlqeg`*Z+0iyw!@I?UfZ$c9Hy^cbGFGWF7v3G5=H%+zy z0#!jr2fxmZI^r%tgmk&4``j z_m@PF{z2f2=e5To4Q`|#2`8F^fP#8Ffmxh2pPn`ESFh`>lGWH2&4iF;um(_9V{q*k z=fbvx#ig!qn+0bO)1FJfDIJ1v{u%w zW%6$y>rsevg_Oo8G~;8fu2*B5COYQPYM*2S;dDeu&U4c#cBbS(B|0j3jobmS5`-8b-D zr%ZGAIK4-;DfT(EHp^>bYjYDOkSd`ECS5BwHv72~!tNs{ zW9Wo3{d0yan)?b?_ zQmb$@0bhDEARkWEnV(`#bQ;!+a#&ZAFtx~9KvT_KH^MLgIm-pj>%iJ{=%N4U+pu+T zIS{qc)Qn%W%~81k|D+<^**j0()RJie+be@!Y}8JQFy(v+c%;GSAZmiFhoJt|TAV!^IufId@FgW{ai% z9I7>QuO)7{ekLZxrk}gV1qo*W2@MW5=bTS=2Hr$OphMt7;DJSK*yE@!`h*39R{b~h z;Z_zFUo`q7wVsIq@|?f4@mgZ@XN1HSF;;> zCSHN(4^;<9>vzv)ZjBD1xWY5)UrS=;mXF@~bOxN##cKlC1uW-sz>q4&e>8$i| z=jOo9J7kf(e5n`9>=bR8(tU;c%i+;=c8|m7C=r101Jl2cK8VN#9c1EH-hvzq!F}J= zl@AhM0BA|5g)tqM=@tbT?MEo-7!l+~#8Q^v@zQIC{$X*_4@6&+(KxlzIH!*3P zhZ_Ba1#={E$)kCqXBNZ^>SXSWNJtVua%VcRe5WCuQSa1xzD7erD3sEt)s)jhFr8_l`S97 zqfm@r@9430#YsD?bA9iK7Fm_&EoEZxr#G6Zu~C{e?nBliKbLl-#bqb*h+!=PG6Lf# z0VQR~w{K#vQeJ`AXZF{xL(covP^l4^^x}&4W7>xl$~H&AnrQD56GH)l7=U8Kz`y{B zKpNjFd2g_VdKSE(A4g5Yi6j8K0ObUIiPN}?=1p>nMzE8C7|9-giC+UnqMj#?F}G3}rh)lvLVE1p-`%65$g1CUV=b$w z%JCUzJDJ25MxjP)JP<7knMfP3`9N6$a3Scn`}tR!P3(1?%-Vs?igWiLcYFdfUVwNo z=~PB~;*;u7xSUNVmGJ=G%9;Z|rj4Z?*8oc&SZe8qrJ4lOd3%3~0tbgbHlMdHz1QHT zNufJ1=O~I&U0eD@;48AVtH~e*HkDY80Jx0Cmw>VZ*27)xbvYza>2Z+R9_?C!*fs-a z|0*P;5!~j{AEoZNO!{C)oh9+w(|L~@7{vV?s&?ZBo3KPGm@EWAwNs`}o5O!@7wo4y z*LiTwY+lssB9>pom)~8$&!AAy=qc0sBE1ASxk4mTnK9f|EuFz`*H=6VuFfs#?}@o* z?QFG5+SnzQu1GyX<*w!30_+Xt6$1r`wmzfma7Id?lS0R9Q&j*Xq;~W)<->>iRk|r4 z^$PSFUfz$K0Ai?(`!ZrkR>;mx>{?C4Ck+-at_4eHpa*!$s8%q#-A+oiYVU!C^U&4M z$Vd;;Gn%|B}nT*|18-l?Q-HV%T&-W#hQ+N6-N9 z$*VfM`%VVt2nr97^QanrdbDJ)ltSkV+<|)H_XPgZ2@f0b&pH#Dfx?W8(g*#)D{8|+ zbU`=4Rd8HMgp_U$n*2g{0z2gbVfwu&ddB6WXnlZEQQ7%w%=^7brysZ9?ZkqZ0r`l@ zgV)H8Rs}E=U}e9OVH4m%P!#lj;5QUg__9>H5~_P>mOrXGdJVGR2Tvgomg;oxAR-KS z+v~w!14BV%T_qRS8QtcZawmA02MjAk7%Eo zn`bQ+19A=nP6x5saXVLc^c(=5LTvNUb_#&`xXp$4*$)~N#+u)~2PcQWq>rJ>WbV&e z^B2tXAPt8LM&z7dxW?t#*;!p^9NT7)Y`t}~yRtP*^AN-1)8NPk>}8WjHWbfflb4G?wM*VQ9)JApU@s9+a?pqZP*I|jigfEIyNFd;j_y7F zP1g&z2@%$6@P^jn$0i1JytICISd7SXadGu$O=Q{_9gp$W)XcU!A9J2=3gDxntY?qG zU%WGXsKq%7Sw_D=?eWv6fy2Y<0F96yf`o+RWW378;h=t;t(A#GY)jjP`jpF9D>WB?G2m4R#uYstH_DrqD0;gSR~Q630Ia zIfudSR}Ti$Tsq;fi7q*84@12Z<5&f8?! zOx^)^^zvQR>hiJ$VzknJc4K<^V0rama-m7jt5rd={UZ0Ke;4#$VS>AZ$pdC4vD6DE zgzIA)4$m9<2G+a|vz+tt@>J>YyINXA3=Kd2F!9Q_7aq*DUIjkuWHr5Vqtd*rh6LH+3VFjK2UA0UupMo7tKs6Fc@j)3WTM8Swc54kY%M-DPnP8bbUY7eQMy0|XZrhS z!_hAsb)6l{r|WNF9W*>PHcm5>0SOV|P*A|l?q~?)9v*LXp>2Eam&oGfX;qR!{*0jE z&Gs#krF&MaPJ4TfWfS`p3P{p6W%Nkq#h;S>30uA7P?)JoOG+vVOhR2;s}ON&-S!}B z8rWO89fR0rL1AH?oqaHAY6j6iMn=`BWJL?UH%&fCXmYbN@ocrJSJkU|pwGFgab$ys z{}hxywC=dqtPBh`T$<6)J>A|iu^7y+&v9r$R-zy^)Cn^e1>)$X=wt4I7~xKAr*UiN zIF&4ivK4?GjA3BwTU^}qxYX|}ep>QCUH$#yTJg#ewWRWVB8(;jE9*;!AV@@bS&aZ6 z(2`4yUXA*>C6h7(jIa-gzfS#GvZ{2N`gLty7m~_|T_wJhc#$t$J(kWJ$a1~GXGX4| zqVg+R`u)3mCIC=?1Coj3vh41^+3ERd5aOQXp`4t`uucn!y4`fuhY$BT??z|M%q(uM zRqs*3z9%S~!1iE4w;z)qK-a4j9I1%M3JO!U0=ZOd<>*}{MlV(lAa^P^7Xzq*oCw$z+1`fO{5|?j zIZVyX6?YZ{-S_W+br$|X={XM=ADZJlS)S##!=svhpEd3Im6a7dw+odOP>FC;7#Qb$ z1!90_Z~6XR%-EO?rr2uF)pqv}90|+I+9+!q*eK&Wh4%uLi!{XWCWyZ%2aM`G0~1#q zY91Sr48x9=78^Hr0RCmJLM_njz$v{+Oax(43E}v3{<3Ro#`_JYpJg&|oG7sMD)= z3`rcJq5;1$lU|^aB3l>K$=8|~y-}*H@x}BqIDcVtC=5JM)tfb~V*{yK#~XiTr*5w4 zU89L&RvZan+3{*4z(;(Ok+F?w1X)6FK=4NT6E#X&@@2?b5Nw0_dKfCXni-j_+;JT| zPOI@_s#;nIsQ`VI^IWuQKG=>xaUN;hTCH5GC{I5%fUOG9@quZS))Tf+KtI~ODjM_u z$m#|D`ps(sl-l3DBN4rv(hf%G>(|?+V1)mI2w3oM}~;4rTTrToxF zHlDo-4P7lA3n{``b>EtVs*3 zQs}78*uKb{u{Ajc;0xNus*S*$R2X(;xr(AmsFmOXhCkbs}!kVW68hB(Uj8$0+aMyn|lq;cGS?wcsyC*+hULr^M3%$+R z*34QqaB4nreOb8#jEr=b$H*Q!*bhH{{(SXLE;P-6M?lpA@TFI0anSn zB7Taj*&=P*Xy}C2sk0zLo++4K&^QvFe>%Z$_jOJuis=cB)Dz{19aX)Dv#jO%kLbMe zZPWDMR7nC6h0r$mF))svUe#+OrSdyyhX6sVemOq{^aZ=Bfb$NIjwV^KdFAVST+>`K z&-aEOdK~Df(C!mF*3|rNW{k8oDc1`;Ph4N`w{7@u$!#_Idx(`dd!9o$CZL0Ev9aNU zx{Yl1aOYC^Eh47i4?GdHWC|J@?KFN@0#k6H|AGRA^jnX-Zvl6q4m50(HCqCYt*=)D z(g(lt{r<|7+p8cg?WOg4E1TMVDoyk;#l(5Py_V?0P(*ASENJM0YriB2^#+WWnKAUR zm|>3zuC5Z2EX8J9Ui~3m>p?A?1YT8cXB0ZJc_5BqThm(^I`H65gH6Jb$oCJYs$heo z@t(6weW!d$@IONEtCzkzO9Qt?8)E*meO&AY+vr&0f1eN)cTUEDjn@A>&U1j8jQ(Ho zwvp}S$SE>e$V0*OT7BXiM-<1L$A|S^(1L_ha%KdBN9RGL$uH&FX^U!LDj`~ts zip^6vJ_t!4(#W{S-WbAkH&}Z8qj)oHzh0k>Emmg%Z4B#g^;T5;51l9mjrQZ$viXfO z_-xhNkb}HoG9i+E7wPJOEB#9oAW*VBX#4MZ3R2PjBL;i7+MO3d_MoD`&~Z-7*YQ7^ z@P70E@u8{Zr*fjvqp4NUL)E?c411Y?JWVMtfBNjwy{Jp2Cx2RMB>cKLZay0(KHk_O z@(C4%u)2UkC?Pt%(L$pO$nJ^+IV2Wg)mMJhxPKoF(tj?^L)pI+;!3e+@D$KKz|@8y zMLo>K(6G*w12(cD6uM&=AlDg$CT(l;1x!sNWolvZ4Wz`Cm|`OivK6X(S1+#Og*`eZ z3HysJz6-XIS1F%eJ7KGu^I@E>{mO8$8suz{wF|&P8#}PJv|mjNyCP7B2@C8$n~U>>zr<2C$n#sYzK zsLGuYxwNN>ihftLozVaYLg(+u%}ys5kAp(YOXepvp%dh=9%0umw46tlTEvSp&&oU#zxNB&FzVVxuvQXfu4@gQNTCBLO~=3Vq#)IB0&GhJ(bHFfIZF7&;iLu zRp+Ff_J0r*Qr)e}xlr%h*ddd*?e6`N))ln1SNl9yPeN*0T#ipJ%L79PAx9$xHJb7Z zw=w5D=TVSzmH{BB&-(Cnd=bMQZr9PePd(66;7cZHX@-i|MPBe1AQh%ne%-V3%Zww+qxn`wSlZ3G~M;`rQ zH;@2rkm}xLPVWY~;={nwU4%d*gyadm(s|HIxIZlXuW>@eV^lcoqZS!^&@i@h#OLV* zd=@m8K(T>9nb$;QF~du-7yBo*!;c3#E%fcMSrnx}tnBgKX!E0I=NH-yiJkIWFqdWW z{Y$JmjRqssl>4h1*clla-Ag-}^N4xARs9}2J4l1LArkj=FI-aXhqX0!7mQ~p5k%Vc zC=&G$2>4H)U9c}VamhbGnh6vj4rtg zPkEIq`>^F8U`7p4CDc)nLB8r20FM{I!ZE5XXs_&>FFdvMoLpq@Rk!S>&5Z)%Ej zz{MC|CBAz9o%o*ae9x1^4+>A^KG5H~C7Q7cdfm5h+2?Yg+8)IC zv7Kvo#`{k>`QX=Tw@D751RVOxk1hhr1&$E&4&%gdiDg_@KjrHg-qGEEgZCvKU3;rF z6kr%1NV>3%#}+DaC9YblOM~Tq&*F_&fyqBN7J=k>$^4Ikob31i3l#oY75_J$G z|22WV`1{R=cW-v1b$2TxwGRY(v``vnpv?Y76K7t#t88CF?oCjixjp(YBIT#?JWZGo zPjpOnFkp<}+_J$l-9Tn8;@0O*Xew%-?7kOKr__Q&4azS}z87@>cH`)LytJPqP%pdB}Ejg5K+T zY`Xo; zdK@TWe}y!2jZp=~4`Msm#MuOaYu{~iL|1~PAn3-qB##j$trL0_RsDm30jdPW*vld!}f&_aZe!+#t&(R<(Zjq!yYu$$0r#Tm|rx+QWbD+5QH_4q*xELBubb!&s0DE zO~@hZ_w4;uN=nN(8X?Ys!NIFvr|x*?7=CG<@flcpF|gFAVO^~peg_-X%b_>oIL;N; zjG?To_dZP~YHjrq^0jhwBHAxOKmiNrC{kZFbwt+Bs-cWU5lIWRd z+wt1AyLZy@YJ`nt69wUGIBSlAUBO0c4IkBl%8MZDCT1m79sLm56=f{0d{ zw6wI@-Ny|6YRoE+QwN3;W#~5cHw-RbyeOiq408kRhm4F2@s|#g;KuVMoaXf<#*L{< z6#~L_DmT~1oF-U~-mc8IbI5`(=Ej?cEnJzIZCkM#kwXagdJzw=&0eKrqk_`9d}azZ zdBTkyzEI!~S&;Vj_HuTSsVb9PVbd0Ka&o%Q@>``ZJa_xhE~{sNzq@SX9k~~8`TR08 zktlC4y#6XKV7`#{>;aBXVj>l9E#onnx9xz;oevWpf)+x5I{m}HdZnb zI5MD-?4d2cXr!x)LP@hOmyd-0oiIK}7O$WufdinSt?j&T{dMF{IEXiuL)P^DOTfjy zsyCdZuc97Ru`!&0hC-oy0`z)a0+iubcYAxqrcckvh{bQK zW0yUBe>p67=_)mKKng>?C3)JjX}CcEvUT*4knzz0dP&6d9#djuPo+%e)0h`BbQrZ0 zVbF;a)3_ZT9->f8OiY~Ad2t(9#MJnnwbU>^JWxkzwNxXDa2Ot|Nmh_>evGsA;9PXI zp56a`;)V=P`FtV<${oJqu`-ECXMFv{=`Q%Tnc;h}2_EQzv82!=gC@(r|$;D(rXh@Oe@$FBKE z%OAhLxSzgzcMa#pqBizmhfKfmH+$G>$q;nYM3k>cb7sT2XZOuROwZa{-KP9Vj`Nu4 zi0fdqYjKhB*t1qcPMIX`-b~{jl z+h(%h-o1M+wexf|q94Kqa!onZ_lAF2nLOZLIyC#aGrq9#w0&t5IJrAKJUFQRwX@T; zAnNp`ig*RhT+Cp-tIq3_XoyLILeQ1?0S>H{SPE6E5$*^4)rmhFU}Fp_DwnDDf8oe^C->AUt^ahA?E*_^6)ncLeQwUNE_X>1fnX%u}#gWGpJ>U8c55p;?pKyL0K zo>W>}t3xNg)VQ+$tba#Yj%C0twb_Kl&Lq5YW7s?ojX}%T$kCCsp`qa_6;;#EpTznF zZ)KdBf_#Dd|M|1#jbrappuLB+S58ZD+&@dkl-owIs7g(6ZDk}b0}QID{F)l=b?$Vm zbsr3DGtWeo=qE$DV`lAq)T9<{eUCE*8e!`U4(gReszl zb15+L7h7nZH}t;Y*1pc}H>lr8hH+Wa#`Loe-alfC#s{ z>$^4{^CqFoT91;`)ApTQZ@iyZT&54|iMch_8N7=FIoDWA7!iYYvLj27ur4JtRrMU67|^s58D<{_ z9CDwwqO1Dc>vpBA+NnuclI|SOB}D3D^9+Q8ij8&-7Y@7>p50_iFEDU&%eSP_f|a9W zUAdlCKk86^6Y21?>o<W)l9{G zIArz8Kjka)T6VOn6@J)e_4ObQUB(Z1!ItUJqXRI?h`ZIv8-_G~Bq4&SI!tfZ{X z(qU|wug|`9=L|*I=@jGGiquEpL5IpX>?*~KqlW9cEW%AHO+u!2q@*}qiPvGI9q~P} zD(t|T$ykKdM;-%UxGA0BtY#6-zpZP~zEqiwDp z&6IpStK-)6-rg7fm;$c29J?yGxIL@9-e&T_Ef!6hcbo6z6P}>rd&fQL96 zK)Fe)7U4LHgMe?B05=t}M~@zn-gc?}DD&Fd5;pP|iHL09zR`5v?A5C-JT34Tf>+9D zcwfC**S$)!7Yy65^hJt>r%p|^x3}NsmsbDc#k8g_mz_dt&(nBHQXf+&{M;|}bae%n zX^H++xW4bxU~9}JPBw}q?$syAC>Mw53$%cQ`&dYYpUa+Vzb)(q3}f_9Iv17pR#|n4 zojIGcRa|_%!qWwcD0vDAMxg!h}anoi%zkfQ3jOU+S7Z*?*~P%FoclTkafUf1>@! zF!uxx5<_zKh}F6aPYcI}3K@uMFRZzWwV@Y<+TESPQams+x;n zNP@}^^{9ph1L7&%;cA=qB~*Uvnq>DLHcd1$*`9If&Yjf{5-vjqbIy$xb-R)=;qka8 zwv5&%ULsS4CdAF%{Z4|Qcam-!&~(%&j$X+=K2r#RY>~KRCaL2^SR@QBE$2eKVO8Uy z$yJz;pslS6a7i^Noy%ertvF6mU-rT4FDwPfgbwW>kw z{Myl>B(>bvEL?N;LdS}~5JS8eRP>1T`MA0GFNVp*5tnAkR8-!Ca6 zv&ob)XEkX*ff$VYxQ=TUVhdix)3$gUl#k(yV6c4P{H znC0sC>BtCtBu|Y^Kr=tFZkAQFMkIBE=K}Jq0S@1*`Ytw2kwta*dYlIZW&* z%W}G*yDu$#Kuc4TlVb*nh@gujTy)PF!}Bg~V8ya!%cj!{M*8%Krx>7V9gcj7GXF<^ ze^F;YnHScsU5jANWHPl447SK@ikiekoaR>xSzr6RRyxyAcr*>>kjNXfyh2vpi!rF2 z*YI#Op&r{N0iZx9^cdlgt3>To5?XQ|XTWnf>sa&AN-;bzctdU>PUXq(nL9tY#j$Us zzi}!NE$e!Oc2PD{2I6h+B%S(@4>d~^n@jo2H-`l!h7VMJ6FX3OA4OMO+q1_Rfy)EoOaV;YtJA1oJz5!l%w4RHpy2$c9N=c!KkD`J=KmEM5 zXXoKXx8iiRNl13da1`xW$F)<0=Yl2O&Lq!RXV1cpo}QlXgJ;nqrKP2H^T_he2UT|O#yZ-1dckupZ`r)LYW?Ujzuj!42>Svjn%}SkGvF2_ zsQc=r2*&|6wI$1oe&uw}nvU^2JSRM^Wkvi6o_+kmz;7HEubr4>EO3mYr067@@tT;J zG+oc5kLj94Nq^S zGp}(6?^}0m-@0QjKWlclSnU2!qKT?`=WpIkL2e+Iy&l0`4e1gpP2lGD6(8FWzr(qKgu-nOk#?$ z)lF}I`5%lw6}3IlgI-8dXtu_cmNJ^9CCJBlPCY5{lpMHMhdTcCO=kI5^nG z0<#s6fQLtZY+uN7Ytd}~KPTaVLA0eK5oH1x`f@BPS0D%giut7P6XPCxWM@#)7goxTrTkf!BY{k}G%Oy0x~l*xd~EFPmv00b8s7;3=Dbtjh*&Im1OGzAv~H+Jg@yTWvf-Q{P21%rGwr+x z6qCNrjULX_k!EH7VB|i*D;MqYF$*VcVy~&iJ6|n4GIi?IZE+{- z_=F#4*qB>e3!{CYrlzOgpalX5%VD9Z1XkR<~P*eNji+6BSNtn zQF_wNO*hoiw)V^AmnWyw(Fpf={z1r|xi)Ncn*46HD{8msbVxb1^JxAG@GWl^lhSNJ zWR+r(vaYGIM%lpwZ!Hs<(yypg1Q#HRX5msU-&Zww4j~`A{`h)**ej5_cH!%m+S#jb zoAILALZUdqGXo(*OtlF93C%O7WX!&(h);*a7u97@+VzTIi%3cw98zQVIW2Y>ym}qa zeTF(qwuNyFdn!OAa@a;~0?qn=sSmn~X3;4s9o$4*eEc0VUSd%?)ESd^Io(~({a!22 zXiUmYK~Hbdp4_@Vx3{lU`Gfb}KLRJoj~_oiMJE7Q6Q3TAx>*dyC0}2{V!eaCsV(WB z1stWOs_ap-i>!g&@r4T)c8^hCz2cmA$=QPWg9>*1cR0$Rqbmvfh^B=7@XesL;DE3Z zLYo&WT(bIIgK)q7#o19b~jSaHlH&(p$Fti!oGN?9{ZHl(*O)@3JfY?b@l!D zL40h>tTXaN2kWhmx>-ah+P#^$7i(h`eQ3A>E)kvMrw_>Q%k~VtcZYVvIh_`nB z`Tbs`y5PmpQBOQwSFc_*L;(_KcGAORMM+7CW#+9-li@;KiC!(_ta5nK_Ou$nWC}JUt6KhRTh$xxhWNqLAdMb@l^tEhC! zl4w*N^r?`yw5*9ivDn#vw-8{Y&!Nd1Q|sZRnkt*AmUC1~mdo!GY^(N^cw3|_jn-4V zw-9IS7Xs2|q2-p>=rtxse1c(+-Rklv6qVTn3CYaV10@h7w=F58GB$p6f!{7I)?TGIhZjUrLDes{~qOZ(Wd z3ufWpU1YV79~aJvLFo+aVK7&;C>zlkz$-wQG#svXj`_FC`ca74z>>8lj?chr#1Z%B z0Ds!4B*#o@g!27QJ%b1^3;dN9`0Z|1OuiiZsUhEePatj@-}&?BQL~J93!zs_Rfp#l ziJ(~~!x5blxzt)mv*N(ebs>Oa#s{&vgkd

n!MT(d|QT24hAHKT1y;nex?^iu9|XhX+_1BaprO`LJ=)S2@zgmaCKWQcK0 z#oX;v#H>GeUuMMU?AhU!orPnbiHzH`F;&BPXs$Zlxz38=Y~tzMHUYMQwKU|8s?@pj zZFhZJmDcf#CwKHS>x{{SQ}-YprckQISwG0zyGVLt>}0$4n6#S^Ym6*w73~K zhw6e=Z6cG8$LX7le-|*fCRZDP`6Cxt{IBW;e;F&c|9`1i4(FaojpQ|PbzO>coiy(h z&Csiw2FVRDAJCTfu;@u+^{*z|`W88Q8{xD`pH=|_v z{%3kfLz|x)BmDdH#+p1Z`x_H5r6CCY^YSF7ie`=iM6K||uPH~@tax}4IA)7j;LuyX-|^3dj&*tw-m*JAo@4IZo#PnNGm)#m0F#OD z^C7u5*(5v7yP>^ZXw7wY!qCo+%d|Wib4rX?F*Xw3#|0kX9UQ8J1U3R=Quq==uyygA z(`Or=Vk54jM~~XM3oKGZ4>bpcnX~lNH`m$NQxAZ}1 zysms70SuxHA3wiYSN;8WR*C^rIYg;+)aOrVaAR&Jv4?}EW=d{~n)x2bxLCh<1NCTHf-*OSEY_Af!cmuBTZ?=_Gc!i;!%tClM%lQq0Ng&+{eFYYlpRD;~bOr*09B@cLy~jR0E==qF%l!fyFCXbCsDI6BJ)%$=S?>xt z6!DZCg*83;@cjIrQCP;GQ5XSZB;waBtoRZprUa2%V^MJ-%2>yBWe}RU@ljZ#?t@FH zA9S4V8hniDWtAT*%T%STR7rMXjVUvn+kJcX{65tmERsz_xf5ISJ={g{giR%?X|y?` zCgJ=SIAK)1qqMv-;fNqTLr>1Iwdh>kd_iK-jaxQ(h^&M+o+Hc_E9|9OT*@N1uT^P~ z614|8@rt|&$WDfI_y^2cHCD7F^T_`?#F9M|Lq14v9l^vQp2D6^g?9p#jdYML{%phDC{*v7kne}Ta_DcljPGjTYgh>1z#j>)r5paqdE4IB9wUg`IGmfwkGew<2Eus zwgyO6ik;z=Y%l-Ww}BwdW>IB@9f)h+%Eqc0vubj7=>8MILIPrR=2=v|LyKj%^B|Br zo*Af@5FrfoibTGDzO)i>6wqST%Ezgx=P>em1F{FUNF>JHLb_^hz8CpWkR(j}u5`}S zI?KEaR*PSNis=$2>l4^f9VOz{El_8K|9QDTYw;Syi7M^3*!ZF*U;~Cb@-P@qa1@O;@t4qN3=DJ^BB` zi6)?*wsqoFsDsQ+k(QI@-QoWO%N*YD`QP=DcG_RQW_@DSf0a*b*uHak{`AU_o-vU{ zP*R2d7cffd^ZEC1W}`stF;q}{GW+}cCAV|2QIbax`^X^W^5g3Q6sh4qhsny^8^W&> zD6f4_i1iLmaLZ3SCrImbj5Ac;G?G|6bBkZM#X;ZMt92I@H^e0fD(&5igsjJV$(}qi zGtS?NirTa0`f0NRNuSRC^J2dLgQLi1tC!EqY~IzYmSqsRpFPsy-BR7{(K0)q_|5ar z8;x|o5i`GpD);u$a1jGE>&_Z~(0!X;ga!Lj-FI z;^SvVL`3Y1uO!;~`5%6G^o@nejyya5F>S@2oP3Go>`Cgk?=ks^d9I^G`grno)P-F4t?UAqn zpp(F1*zM@Bu#JO0N>9L=aA9_K0tqHJtbk4yTOmNS7hl+J3C@A3ta_4KhgW95idCm% zU3+2pP|Pu_&V#jk;savp?B9LeKMz2Zn;Y-=;9;=tCI5E^bFXndNY95zp-!=!WO8b3 z-^;UMr_;A_4oo-(=s$6;JUvJFW- z!4QI5Q1RZ@xtAs=ZqvPEtxv)i1KPWWWos(Mz}#ZQQkfLF5N>~^)fWUJUOd<%uqeo{ z8&ulM$>&d=au`}hGp9xv>j2t%4zl{Mc8uIrQqWa@msf6d>HMnLqeG3Xks$hzzj+6h z=zx(vKM6xcU`(yUyUi@4Ruv`EjTAALP=F*_uLDjq6H}_!YQnBuTgvAsn;;ot2zIn z|M=7jq^s%W5i)nFsX{=+LsgIESRPE`o`=y&rgdZTz|_0=R=MV{^pbb4nG#bzbM-VN z=itowm@FEI<6d=0Ce$c=>KMJ$zs$V|6lsDWSJ}B*k>}xoiTf6vf}EVon9!l6P0WbA zY2Y^NsixUKCJPi_r>uh?X<}O+knL{{IfijnwY9u>CPu%-jBd1c$2?JBk)X@koV+{^ zP`QB7aLe|8{VD)fBI@&%D;vA~FVp)zxRnWYB2-p87FJ!&WC5&Ob>W(IsNX*ioUA%; z)-_nG+bd`u$R1kXVBJ1ftvCh+|8JUL?z3o>P^})NV%LR~oE+Uwo92i&BSbetl$WH_nrfI%y>Y92U)<%f%x9nNGeD;+fdj)wWzH1q$q8()i_ zJlXoAukVfI>EDDvm%CryKA;;c%lM#ZRn`Z1k{Y=36!>!q3C}5(sFOkeioI=#{ezm1 zld7j@DBj`pPC66+QCkporIvx~^!Y30g$A`H8A-Psr1iV5zKF__J5Csl{J;Xmb3DpP zW{*9F+tYo$MfrS^&J2S&m^7%Z!fF)Zcw1KXM!s}~LU!+0)yfxe#vomApZ=b6_>oq{ zpXf8K0{Y?ZeeH?VoPAgdv?x8vcsSQD{(TSq5%Wn!mwN43Ha-vT4(v_a-J<4P5~Y~y zKh6wi-hbb9ZRqFOu~Cmmc@NzJdDAor3k2s4kLd^4EMQxh6k9pYSFPR>d=fm1vIW3sDS%6|1o*zQ@FQXxZoAm8=j3Ru@n@ zE+bc@LCoiknNUl<&Z9VwG?L{FS|CDjmR-winDpW zr&Gbr`fQ_JeSERvDjp6t?*q3itgPN-iKzw`zhPw@V;Y}2RirV*vQ~^*XR+S+n6iK7 z$vXb;%+kTj3Wu~+GCww*q*LcV4*B4xbk}9Dh*8`=5e@1v}a%kiU~v+F$l{ zcDa0iwaohUsW&al14V=FfxtgA6iJcj0%Y7Bw9_hpn-~RKw#11qaIb-$e2j2sZ%S=f zr$n@Jxpi7HRf&4kY)mF{-O9(ko%ck2BOPZVSRbl56C3;>vBfRHkJz4Uq7{yc6QAG`;YuGHj2T->d{-FjQNW?6 zl6Me;{dwVW=oHD=hHx2lc2^t4BTY(l)%jiu}tMUdsyYONM~ zcIfJN_-}$XloIQ83X=q&@boh}yXmanBc%h=4v9>~m4qAzKaZ#PoapI%Fk^8lM zImxGNYz`HymT~!hd$_Gz4MAgkVu=FX)yth6satGL{((|=4G>?_a1?h2EIoCNmmrWP zST)WgSJ(}XAu`T9p2JSEg)Oi2WKd+>+#hiS8+su#ymH0W@2-Qizl8+o3`Wa7eX}TnBVgW{p~`~_ zNh)tMI>vzbcT2zCT-gJXGhySE_Y!Td0v0_G-T;X*VzZPVu8&qOvlbQK6m2)sIlK(4 zz1i~X^04O<#hmj2&r6D{2URbCV;X+aQ6@TZ#r#m?mK7-{c((PyBfQFi<7qY1t7CMN z>&U_QN|e)25rg%je>`gOEK0IN7|cPCUfbDtrX&^6z9sQm&zS^mK@(y2ehHCv#q?T* z@BFf;(VxJa0i6ye-K;BkThD)C2fAbX`RB+s&uMy@P@|7%VpiA{cj-BcHIE#*|DH^& zc%g?VEL=(2RAV;N1rrbls`P`gKI<|5{=;qlb%4;jO}+vwA9tRGc|rnVI2#VP?HSSyTn1*Rt3ZVU;?bV49_*Vs58SsIj5;Hltx zW2An{)iv9&Iy^WJ;coF}lh$=qO21jY$?58xF%VxQI{R71T;yC&yyRnRPs{opZH{tT z{#4eWWxB}=M%-AG*UA`B6n=ExPd=_%DIzL5m7JzIyyWVz%3e`kb@kwFm;HjRy01rU zGIUu#ejfKX@03h9Ts(4cQ-|bb|CuGJ*Gf%LXF~`xYx@>*Z_CsN!_g@>)Vw_G7kUYX zytz_7NLhF$fb7=~%Zca|OpRak>^HogUC-!xU0DA1?FY*R_mplJ78~m3+XLQdXml^1#RdBhZx&>G&+%iyf<0 zm86kmuN}tyHX&b|X_DTwaUwtlmO~qV&Dkh$gZ*G;)PmsLM%J`-Mn_ZdoYqKXRzULL@pn3O+o%mjoGjkeJmvUcxIP+;^D3= z))+|3AaD%&M<_4#U9Di~)VIQKH;U|}oU;-4-gg~ixd`+&qJHa_Y;aj?Jp}0g*vrZU@?!3_a^(inPp9iqJnl0JYh5Ut96jq_9Tn~k zh<`tdB^3Nn_WXd!#Qo1-!otIYm`kq)1ZZZ=zeFdm<{=I7lzdJ$48@*S(w-hG<(Xeq zXZ;}p9gHr^VXX4<&|I(+0;#Jnc!MHidPR8i<|!Wqmo|O)w8gocW|d-HWy96nV*Y}* zX*5b~=$G@Gba`}yPBPQYVDpQU#+oLkrp#@@U(j6vJ_(NliNTcmGtgh)nH`8#VC8)A zxNlG?HW=~~>WVxad8CJ%9^C*kxRX|7r>3r17>+oHA!K;mXS9I9qOT%%o56`##tIi( z6=PcdU?0%dx@1~;cI^Ci?SCW_qgu#3PJ&5WB^4Crqt8Lik&!{hnPO4uod@-QsmD)p z5ec4Xa$0TOAhcc722mQkq*U3%PkJKgd#$K+CzQO7`WzovgLWpLS`3b7GoC@9&=dZj z>0I`aMbqIgS(5loMpANS3T;jb?FwMlTXD01^<_@KRNwA3bY{c%AC5g0clYi&vj8`+ zNCb_|sgK_PTl(2ZUB#=Rq2U}^es@anWwz2RWv#@e`7%eWd1l~Zl5OX_OAFYiH5d3K zF$;otpM!pUQ&eZyokLY4j6SjkTn?Htmmlg_G#`UMO)vwb-BBu(pW4wWDfqe1vzRra zw7LIONF7-%6b<%oac&GXChau$m>%B1H4Bt!;E&p&)9I9whMo-6eBzPfDl=xztf0|m zl3+3~m*0iF4G;R<91@rQI#P}lxtl_r(4YJaX|LP13B9bNYch#R;(9iE^y}|Qd&qnE zTnnhM5eK}bfT^PuK%%XYoPOWLPY%qA&i;yu!{mNGa@JgaDx9B0A$5Y&LiO0 z4h|*>q-b#>wdT8^?-OS&`}mXd6S+(a03!c}4Jrk9(uL;Sy?Yn<#mRkC`GDvWSR*j{MGu)T|3t#S;ff#i18#+1cUWkTw~=dk05#!izq zBMoudm58ouo511*F$R}nf*6zYm3incY(4t>mxb847dH2K-VGgkqTG3t*R_z;tLfM) z^c#>R`K_23;bpX6+AejCJ^aBN>6Chd#spBjFUE}ih~Kt%e50^$s*pn8UhL7soPF-)q2n=+#FZoZ7>FAjK z?3EW44ep=eW@hG>vfXjXIJ+B&^;Qv)cWpNR)Sk0%4A!%cdcZpY3xQT{FCj{D84gE~ zODNC8=ooZP-{MDM449)LI|14gjwi|K0h{IH4Z%>|N|E00wvnwQ=$a%Z{FRpa};;;9qk)ZOFbVTvB;sUNEw z8ynB<)7_<^fuzu6sxY)vU1K_-9eQ!!x+DFqIS~F_-~>A8*yt=%dxlE4lFlEKSv`st z>_QRHMW4@~KWk3zy!db!6H6-|-(j!SyXUMmlm8=krLMNz&8cVn6=S&069?p+CeOdVK zNi}NC!s48I&pfbu71>{q&IVU{)jLP6`?{R|u;9|u!h=ZqI;Pr0+fAXy68Ji?5d&Cg z-uV536{u*$Co~Y2UwhK8-ks#kd9-{cF%hM z&7q+OFf+#CTAn*Fhk$o|V$e!x>Q>{Pk;{oM#}Whv2Vf#Q4{PqqW;iO3kT}vF^$i;~ z*g|NC@(T|DtX$5mGsB>E&K5W#9#Bro@w538{S6kk@iWt7h_59w)WS4ROx?601)_zaFd#KC!UP{ z7#abc{}q}pW0_W$3!FG=hy#FqK&$5qoQa|V#xC1H8R&9Z4pii+rk&>DMeL+fW{z;) zp=;Cf&JJ!vW}8BU8b2H73;&`IFPE~pZPfJmJwxt)WeIK**6ENKHCNvj4Nj2pG2kZi zH`r12ww5lB3HdSBH#&{->Zlm+OPEv&DHuKIbD^iok@!5mCDwhs`N(XB}+@? z8gMnn_2jV?r)%!rNM_=#P zin_>H<&?TxUKt0&Pz0u*b3uSMM2^PghJZFTiawC2QS1U@fA?V2($N^NQP-M#$q`*T z^JRJ=Dnq>{eCrvcDM%YAW5}sHIR8~$l*)mJ{GPYJ7s*dxCQxP_`9bFabekX zcY&b^+jAiLn}#BPkEM6JSBQ@FnmUW_pAZ_5*DKEK%XW7fWO_fZCIdJApmp zpL1SKq=i0`2CFS97H69go_py>5AKiG~JXA-{LpA%+BwIxofrQJ?k zS6<#`N@K6-7Vg6i<})yf;}-f#<4`NLMFpUs(DdrZ2_xkz7 zr+pvsRB+Hw(VN??yuC#Lkyo%yg&e>q@fA~`%HF|#U2A6DXCdh@y=oH>DBJkE( z4t53Wytox#d*C6=Y|}0n{doo&3g$%+t%pE18Yd-}ZJKV^^F?)V7`pPs)Q&!vO)V0h zd#zHj4L59B68DCkjWn8;#)@vYfP<1Foj3TP6L)1;ZV2JC&h=k;iQW^U*RYS~h%tud z@Ueu1H4rfTWMU1Z-Aa+)oY4xtLr0f}vcxl)tU#~fwU`k6y9wCc(B#N^5q2j+ZyR(K z+nFE5O5@4}y(SeI4Qnp9phlRKSLPc*3CMOBq)q8ckP1nG`1h|BYe|cQcFF(9LtRJG zM)Dxm2I&S*^XWNg_&L0C4r}u$0 zWXt@~W{#X6v=IsuB75_=+cOxJl2Hv~f4Bk*G*XgE9v@->Al6->c$D=&{6OHOjPvW5 zY3HaSU5YkR;pO}-&_wlU-EBFaW((h}O(yy6z5<3Z`+80-gs}VC0TsJd%8FZJ1(>hQ z-WrHyKR#l9ZhuXNaQmLi^np01`YT)v1F=UZuk_NNsSVf~*`Iunzwnl7TO7yG$Mys7 z#e}3Sw{tU(-Re(L@)GhN)pi;l*>PHq*FW0TR4j;3&dmVhF3Z4>mgehf@pIHt$H%|p zY3zsWDdWH7FqZ#bkV2vUy*=f>f0@Y&YC*Y6g62z?nmGteSyx#S6$`hcY zVB%?qwqz$Ee?8HDo95q(V+o5HN7}cqUtiPZ3CPjbMyVyzjULsMq|t<5r3xX>hFlGq z>`)%uN(gGnNxln5I6`*+!EUOUDq;^wVmLI*V)Zoe$uUZV15r;04J?K4V{>em&pa3{ zdzdcHF%=vRa?=@q@I$FS5I-Nfh?A3I8+~qy<;^_ny?gi8w5mD{XKQL{mCV2O=N-NA zj&tDIhmbUAFb`~(YlK8IF)v6sa*XCk zf)QYkVipO7OWW3wH%8k8Yqli5wWM!Jd_ROT2dwQ!)UtrT#6Z;){qpY8FBtau#+f}9 zn)6WoO|TS2Xb$Nw0{E?Agj}UL-m;+Ghz$)XvRw}0Ab=LtN*jzQYum5RCnb(zd4pdf zmW_V=a~rcIEXzru5B4@bR5nAB6cs%xV$1PJL!5eYD>k4%aNmpfOkN_zZDtz$XsDQ_#Fh~7ojObo40HsWkt9n$Uq>g{}}m5ZsX=; z19X$qIi$%1kUCIm?Rg$F#2>dNEFTvvu)LufCe+#4xmRlWj8Ck_sD0}mBYNgJEeF9B z5=ANRj0Aj2)OI9k9YjvtvU9U)pl2teMXC_|i2QaFtAtNPFAIz_<5UFC6q5?gkoJ(` ze&wJJd==0M3Fu0}$^H&6iJ_b^5Pz{)ohTAHtKhV`F4uWJ{7(Q;`zcKXjeq`;2;3Ra(w9yq}E}2h|qNJ&8dN?6}@yQxKY5x1Vk$y9WmbvNqV_HyUO!-MV2Q zV_~|AP^`jVLa(hwcniwRd*5?)@(~n>=#0kadFVy4nq z#Ev!B@e;@$g@|AZ0n6ykF78j-%xI1!m*caumlDVrLCz7Dbfi}3gpDmXX-P+EGGP1C zsoV+mYCu51Wj^;bQXz-mGI+5FZomdZD}EO^2ynWtU1K@}ITc$MiDA)%*pyKa7A$SV zdKpsl9Q1Km_f`d8{JA)gs=?vk4fZ{(k1Pi7{gLKbS_+TGBwhMm2(^p!ycW2W5RWxC z8mO)B8b_vXClDzanD{HQ-x2(nR_wPm(M%={L=t^k7eq;xE~&%*k`2UTi3*duQUT|o z2ql>`AlF)HFP}V7>G^{lItJEuvG4FqtP3s?cp!=s8NwT$5S3z8 z-DpZN6Q((86!s{e{rN2(Q3q%aRyRx^vZ3WjW+pQ+NPuWMnTgHnv2pbNGpI*!PlZ=b zJ_Y|s)Lv1*7GIj+nkY4`5P>a}Qs~%F7wujHmxpA2t}3y)Af09R znXdP1$Dhbp%B)AdmNAi$KMvf}Jw0*^q{B9zTX7HFN=k|k&n^01m#MBWR9w72Qpy&# zSvMDtxphr+p$ishG`)1+q#!BnD~qNN@ZerhcT`la#HYHsx^A}~0S@#iIeE#k<7&@! z1Xdp-+Yf{(k}7FVN6bO<`>6QlbkwJ>jkb}LGm`${CirM`$#bvKRxiyFo}A=FqjXTo z3=CdjaY%)2v4NMIs;a7MNN0H5V6tzab0;52a250t|4Wls^8we`cQ40+-u|%+KexZu zh%Kc@){#t`_6)4THDeI@?>3D(82{!yC$zW}v6 z1_KHPrsaQYG#Wno{`G4pa+DJjtM|t9x}~kV6gX*!AzrIlbG#(=!`PhFXB!p54j{Sm_&)nn zI#ev_Yid{#(x^joOs7!T2tY;tinTm|loi>LzpeMRcP&FkSZ!@b z#*RODledUY0V-fg&)}F4C?Mo&YlM&q79cc1F-Sd&+@3LI+^=oM-qfv>l2Io|$JM<4 z-NO^q&o#A82B#ee`p#`(7m}G|#z`M>F|f=WF^-)idY)#|)8$I;RtP|326Pr2e8SMy zb^$J!YjH6e?A4&>5XWfna=`OQCG)C;@%p?Q%J;iN2g5!+S&r*T9I}a3Sy~A*I8vqm z>%lH^)Q8R52^*Vtm9OA`y1TcUV!4dW%%I*tdi#s&4__HjXJrHNX6Iqd{WWKvVUkwA zTkw&eOT83^n9f6~;%`u;fZ0osW?E7(RDif*Id!MCb;^c~*5PqE`d0mr;2)PXQAiE+ z5&Km`og3O1*a<)IcQrK+13Dqbg3fccyi!M3s^v10e9kV|@-wMT{4H z;$utq`gI5dqPUEJDvWhF6<5Kx22~%v^kHUFax$BC#MSpA9P5Jj0~ZJ2w__FZs}1Zw zLbPXigA|LVi#W62PPOs_534R)RCo&0d3dD5dOcmi;VUOf3uw{EpC+?0_zWT(E4;I<LNz!?n?O0GHl zEt8r2fpkG|%S-;9Zw;(;LO1MZUE)++e}qb<%I&X2ECzrnm6Cxr_b|H;XieNC$ZM-1 z7gcPe{xajyyirUJnYBs`h%yOptWtBNEmU;r(_;65_%4L=W=TuIn=W~L{w>D~uEI!8 zpSE@Tb`(qF<4qCOqw5V?+@7Y)V!Ft7EM+LaYAhes%<<5%<@4JOD(1o;y}cM;&IAp* zvmxI+AIKWoOAXa6iQPj(Lswq4YxNCQC4K>URAldr6q%B<01yh zL?FP^)qVLyT}9JcCg5nQhf;?$W+3Q3pXw^+-6G4BE}P|h*K3hJ#Do+;2=5Hdbu|o$ z-?alTm|nUDr2{w93Nxe%vPlEC-m%S_Hxu44lXT&F;~#zc1I6-S$+E%e{uVpeW{{x* zZI>5EcbuV1T;TkeW*VrgSv;W9(rztI z7rt~rzLmdjnOw!`>{bR07-thG%JJ&un0#vfNws(r-QsyH+ip*m{+p{7u1eCmAjr zp6Y5!$Iop$N!|!-H+J58`7MXsW=sg=zR{&Q;;{B+aw=Lf;8VDmYS&t}f&fkqk*T?> zv$G`lv&@|6S!$ceXr=e9Ycs8>X$?Vgv7%d2_q=s8IyVeLv3OwOF}tQ}{L=ElKTZn0 z8XCr~(oucubk95+H;-9+eII;0?_hbR==BGjY}jfR-FuOfG-T;0lP*AN;XGjT7 zu?#mcSjnu6KS-WgIHvA_(zd}#G>ikPZIac5RRPd^iYpPa!D?@$hOZVjjwBfkd1Br= z6@4mRkP%?K;IrelVR_#%=gtP$6%|36Y>O+Hl{^PuftNne{o6W*(ze*xDVo%_n z?eD*dfx-qoA(tOKv9fqqLY$G8cdUyt`Aj{?QlYu@B?srs-M;bu zfj519eN8aPB5eUKaM~=NiIf5Q*C9)7l(<-O*SZx`Kx`1Og`~IqR95m8K*;wK24rMp zrVQ(@KbDNjiOfr2s!!ylLmIMBnzm#tyuQD)mo$|5@#7P`;I#Tt-SzR%--XcE!544- zE~@&pbs7x8692R=VzNNroo=iBw^0`zyr#eYl7*G=T+UsX!4DaG4gO5YXG8F~0>azf62KNB46+k0GC4T;2TL7ei=QC1l$EKWK%+TgWDp29#MCC( z+ycIUJu3q>_LK*CdtSg*hl4n6Wu;jHx+r+00JT^Tci$Wd+&unpH*`bNOu8^P4-Dw9 z6sU8SlPoZ&ScmhgMM+;o`)A0~_74n1Al$)zIM}lsWEM0?^)We-J==3PWQ>=b#?<4b zT_f;tAjyd0(NJQ+g6vUFE2aHgLtR~@bEG|^I3O{y)w(bH6kP)Hiu0Sak`W`3LtzjM z9X=YnMR|ehWrLdLX9c$#gaph#G}1dc*RSqBd3UP7J&-)n`4O^~TM(<9Ivb*HHn(+j zyh4H*wJxgBzMZ(JfXQuxc{tYUwc?iy$DChaMIrOws*QXE*0TgydcTHwSAvH z-R5Q14WtF;H@6OM>J+|kX!9k6UIZDa|4#6b&lh|NpHUxuIa{(KMmg|iW7qYB{K@B{ z;^*1S6JeNWW}nS(dwm3_7t@Geb+@uo@w(IQ?lPbOXgJ2BR;XASFM<3INxmb z1yc{5^}Mq$$}+>^9&$y2n5Q{wQ`n~~RE9WfenVqpir~Hx1k#V#DVi9ti`^$s{^vf8 zGVWzD%GKp+RwZw~>b|r`97hrZlPhm*bf``CTW4p={?z59&n8&}f6alA&<9T>Ik1Cq zjVtr#_88HytI~x=;y+qrybNwqR%f>sa>a}yIqpf4#9l?eDP}uH7 z)RfQ?1BC9A*s2JU$o?SXKb0Cm5=F;L$(x^+fmMB9<>qWnqgo0}=Qw|s(H!<~r1@(# z*Si`z+{S&GIXGzWMT_;=ye>-ZrpC_N>S|wvzH$X1mpYoNL5UPgcip#(aB*lUTC#u2 z#_KWIJF415RF}OZH5tdxc1>SS^%?gplahzE_pP{ZI<(Hgyu-_>U6ErG^(tG=5@~5^ zWldYHpTi+w=HIq*UcT4A3v-KvSss;F4<_6F`PR)bs5BKv0_|^VF@PIQCxDWyY!h)k`AD=rB@~SMq~BL-e`x%b*z$RS1ZLQ z?^5O@e3qIA&D>U5*+;rQi_E7q^`C7J003RA*HaXHWFK(!u&eeH zrl=@AFff78uXJcl{QFjGtG7pzl6OTIpPk4krx_Ntv*cU9e7Vg3j#SFb4KV2`j=p_} z5_-)~r&b%_$N>B+Mdan@jfel9plJHHvugK`fX)Fj+~HttOu_JWK;6PU?xbnhPX1zv zcvZ<~tx!!6hDql}R|&{&$i3 z+Em>+#+m4X*tm||AEbkTu zU!Z&KqkVYy-L8Gpu6mZ6?)RKxkBNBdPu(H8f}CXcrUi<(@ztK{uKcdMNn)dMeoSFV zw~V}JpwYQ6ySsJccgFge)h%!0D_{d+Es zqC+JxSCY6FE)MJ1MYA6k8c$D&e7s0oMb>2HDFv&#EFX|4@B$``l(1vfp~tOf*X!!( zX%qrPuUePVeHM63&(*t)Jv!k4oCOx08yCrG_0O8dHUKxR4?W568E15sASfcD9;0da zc~WgbDmvUX@Ork{b_qL$mVu9yDDJ)4<;S72_*oDm@4-uYCAyWVyA=$sh_NH1?F5h& z>z}sKJrqK5QvLcX^F~)M0Xpf*4D|Ph0yN{(&s1?G@rAN+e`-`ZrW|CAT9o)^y^cQL zm6s&c5d`4-Gkm6BV897)EYd6nGg(H8*T^OWZ|@AjS~Qh&{p`V(ovs(VDEx6c7wQJM zqmnef3!H5qOV+t%fSdn4qH%Zzump`+YKE4Pt*xz9S*AVi@+B<&e7D7LTj;K%I_l@a z&MCTAP_6*yNy@fq8YJe-94r-i{^^rp@qTd{q&s|40gR=~mbN0_ZIzbR6$!A5E+nzW zR<#aBbHbOiJ)-h0d@0JWCXq&oR|=R=jgFAQ%DaqJ35n=jaOzR9W8;>DbfoX~kkU}& zI{;KGK3hmHUpWEPvA%(mRdaUXS+1%ePBuKb@(k1kb3q=Q_#?5FzvNr?noZ~DJh5B` zQTnpw6LlblE7K2zR@#@^E|+!fo`!2v1YlHSBx|xM`8xRW?}c6IN%=ixGA?&2c23k# z_*LS(|6{rQD}B%#U{cSmNIFGPNk#2BTYgabOBZ{vDe=ji{(+M9qwy~cmTqdo1Xq?HzJC~cC$l(bM1+4qX<6xo^4 zUP?-qlSC=Wo;~Ymk(eS`#!ew+jJ2_i8PDf8o$8$b`#kS+z1Q`gtLt26)y(g{fA{_U zeztE3D`}mGKaqKfG>v$>YJD}eIZ!AgfLx<`)G;DuTv}uM61LFz>C~z}d9UJ(8-BAN z8iVgc4-1ltknb%&s)xUCX<5NvHq^BwG+g@C-pphg;#)6=VNQM>^%DT^{<_~%A;E=NRr{aoX@bpM|s!By8Wjp7(Kti+S*~1X~3!Qk^xN_ z@y#*j@UaFc^iS8vN5g%?9`{QWPeQ5)kTvYX``uZ;qA!$w$i<55HPzMmYKl)b9auxK zJtPuw<6T_6p&7&~i9{Wtn|Q6uWv0_0`GgGXe)sSn#;od-Q*Ejo5Lt#ZjJO_kjh}e60UT_0%LR>aQLMuv;zHcCcrB` zl8WdALb@y5XgsKJ=w}nV{zX2nZ3qZ3_iLcrLN7R4T9Dv{RSUmlZ-RImKuDABSM)vT z6hCfHXzS~bYiKp_`&p7Z=YQabV5>E5D*Ip?qbcs72gXP1?6ACX`=5ZKv>skW zVw|WS%oZxgy$mrXE>j$=(}?>HLETV#y-l^JQpv<|VY2S_0!2i`nc|fQ7fT7dd3>4x z|I`Hx39CF%QXIEXP{OMqV@6f2Py!^YvKdbSLWVDJ4oGBw=$gJCabGGcgjcUyGr2n8 zeIj#VL+}s4wQ*->5<(L2kRUp@tH<#b?sfSm7InIfuzJGjWqk<<@+^XGvuXrdWzwEC zVF<~4DgvzqyIp0_t@=W9tCszrj75WcJ!bC7%JWl0l5`&EJK(IHNCMj&pA*ja8^${7 z{=_3&g6XaQu4GS_h@JbVl1Hk(~U1T z{>Brz1weVAOnhh+svmuufGsCIYu#zR6cYY@fKYs8bCw?%+`4j7D54~rnt{EL3NX4r z?s~b$5wAM5jSy#?_T zr1sk%FIgVl6?;O@&)8nA({WH|?KUTg3LEKpmT;pSJUA7b6;!nkaZ&uVe!IA2m};Hd zdQWNnf_|^P$CTslC>GI^toR9 zGNd!@bIjVZ#LmRaU6lHQB-$>Bj)0RluASeW;-8}#E90>eCS>SGp!#AaM#E6Lr7pfm zC!oVDA;|OJzn^e-06v4}Jx+ei{2T4fqA4i5ZYWgW zcgUX(j}XXf7b$ys3Q!^(GA-GOv1u;LithSA*ore1=my?G9D&v+kMohkoB8<)sCr8p z@);;<-=ew3B^Fy97aYOOJKH+tCy9fS=O?FwT3s+vigW#N$^=?M!Yq)6q?TG?y*puz z8v8}InI=@JxCEsTtc@w8R~dG3&Io^>yyMY=`fB?%1IG zDgb`L4%B`-w&RUUee;K>VLQkv&HTCZ{6}rK{C@VV!?J*Cmn?sErOuv{Q~Ug6*smY> zZRCgIK~O=ql0W@Vn&u^z9hQ zHs38H+j4u|^S;2c5H@-%IEImo?Ql%fm{KN_rB*xs>w7*^Ft$BMVn;G}!LTz8Al|NB zb>GgE;P0U^c#(D=j+eSJ-M0j>!_lJA0tkL{T~* zcM8ddw(M6a7&#gv4hP~cyv_n7JhQa|RV6S0gX9INka48Hm(XaPScGx|S=;?Wt}$Fy zvA^ajKBUp870V@J@rm8RnG$m_WOfCnK*$y|ZlU!{o~Q1O`N`u<-=2p5dpS6q`GxnF zT^edj$fH$V^M3P9Z#_@+Ft09IzV8F3L;*blu%x#1;)kOQXHsvY$jP{FDfQKx)qm%V zUzQ7zrxWA>iQvIA_Y>N?4X6-X>m6u?*XOT;t`9pK-6o#i3~gu3V0)O5pt=Uqinp)= zfxwVsqFQ*?1VdmeMg} zs@%@pNKcVVSQ%T}j3UoXZnkQLmp?+xi4b2^&QZoT5i*mReG8rbBj|0C)SL&0bsW7U z)a~W6kRt?5U)6xkPd}wr;e>d$1^Fj$&gb=sxXyBRYMJ_mp|R4huGA!>oTn$x63RXp zJwqBQWoQV3a-AZ4 zmS?Ay3SRc5+-d3X8lac4eSf_$l=j_v#Sz_OyO(C;;867K+cOpWVx@=6{E<=j8G$V51n>mW$>Gn6 z)4J-?XCU=lDuY1!nvsdIU!t5*-+W~4r}X?R@w@aaZi0{v5lWV! zPpdbyp%E2-^nK^8y0^d`KUP*gIaz8ybUW|JwDY*GV~1QH$7j-N3C-2K<^P~ofIY28 zh(x6L^tyMvSBOPhl*okK2BO$9m&06%bChZc5gOBiiBu!K$$59i-khq>=m-m(?xk80 z>$_Lv2A^rqXa8N3@u?4d2r=J^lsi~wv!Ag63m;ea`>U0^e9cLb%ULCpW8wH%yg2m% z(z!{RpRDBn3r(&`@A?N4y?#NfCF-4>N>*#2(PYWENIGi^%YrJS62sltkzd=2F$*(E zx_WxW2F)3E(^ftQRpKk+u$ow&|6~2?@_Jo#{PuAD%nNtSQsjq17N&>RWCU=Lb%&xN zTq;+*c3iRJzDbpF(y!f`k=pUpBI_6TZk^A?xgduDhAno49r%N2QlLkV!|JYPnkcCk zDzWW51El?Y*9ED-gtbi8QAu^{22XugXrfeGvKqg{$dEan2x+gnA)iBYUop2A95H>s zF4gGIZ+GE8<#cR8yny(PSv8`P#S8f3&Zl=@w>TGs*&T6w7eQpkbokh`0! z<5+4Nzr<|kby3<-?tbByyQ!9QI4b@Q8-ie}&yw#=jmx%q)W8k8-rq&}vFCf!x62E5 zH4BzI=Y4acr2gv}OlX#;%LG`35_w@35#Aa0J*GfXnwn;l%ysl|UYc!<;VlGz3tPaR zjUfr@D23&jG8$_*67y4_EZ7t`C)HMTm8ja<$xK8HfbfmuF-^SLLD{VToj%c~DfCHj zU!^z?E1KY$)7&~EaC|IQEZjrS&~Oq7G5k%bh8be9AsU?fjg)uWRUsx0%44xhGi|r- zrS!KIN7mQf{C&zsCPc=T^aDd-h?D?@#%NNUn7~!`i!uR*V|EB2Nr@cSWOF^dkEn#t z80ly|-F2%~dC&g@SCeCYfvciE>0)~J5iNhHel4a}TmbjMzd=n7hLiOcuZwt=oQL27 zJQ1u7=nzaafpOq@TH2)7n=AWK{gR%!QD?m_c=v7^$?Yx0((>JLX_T7(0cc~KCiqwc zys@q%-bA|K*REiZT4sHQ(R1INhSvKDVI4YAeU)@{ls{FdMquz_L|#RJdKZ`-j%uayH4Nu zLbP3^*|uGdChiw)j8O&{yl}RwX3Mmdn!AH>#1T-1`&r1|b4+h6G-AxquHZB_H#Hd( z;(By>nn9m`%O+AHq=Ld6K4B)9OIOXK`~?El0YjKA`XgSa`_Cnq%Y&$?A8H-uG+f{_>tdpvfkX()&3U?y|<7ENQK%oaMHE zCMRQ3*tGvqnE#$0u9P+}!|UJn4E1#UeU=F-%TDE$zmeH%-$q{jSK08Nyl=bz=6w%} zck7Ap;k|xdssH*V}Ion&ZGz;hqC`onPP z;>7|aC~u)So`68co&4IUZkm=_?{@;B)21dRCTiy>ukvr0vrh5al>Lg7!q&6Ih(J_q z3z2oObop#`tsMg+k~Gb>kZYPKB#C10#*&N`7}EIt)0#`KKWEDykY;3dut!%nI|vej zeK1tF5Xn5{ARiNDYdfbjWUw|4Jvz*ACJYNW1hD5xM6-uu;~clTT3gO@a3&D_J$B@C zC3E)DxGaZ9%w0a|XY;7z3TS`&tA!O?(963s5y#V(cU?+5=mD_w!)u}tWd}|DS@eFy z*el3H-#}via!dbGT65ofZcc;uswC7Y(^gi?GuqD*wgie@8efg47pmxHk1CJPM7|~S;&_}<7;VSL(k#)!y*t)uB|Wox^p&m?)^+k z6!saBI?W!y3Z zD=w`cR(M(?J#GCMz2?@f+0K493QqzvAQfC9dWmu;gf@(51I2(&rnt7l{O}Pb&K;#Gxd@M<(rlgb?@k zj*ULKt+Yyg>mAyi9R_k~vVooonpY|N;jFrG7 zdJ#!VG!|Ng8)?0F`^;z*qkONdSVovi6M0yxY}m@i_rPP=D%hP>*$*Zfut%RVvpaT8 zif7S1dQJ)Et=lw6*9B>{c{7o_3PS*zMndQJMff|xS(GK)g-AMBTVMD|=|DB7rC}=% zN@y~PC@Q}85gQP@?^bII8ar)=e4wfX1_%4c%1i5N(e`1!4-wT6$8Mk6g$rNUD~uSp zB=vo$)&hoG{M*WuW^T7DDOc+bu#FBFX3Bx?^`~=Tp}Fbv^bkzo1-d@8hPvifXa4>-Cuq4EC@?A=AL+ zCCYhXqK?EJqi^zOH{fbPgbnP{k$Wi{*)un_`SkAtpM57#1 zJa<8MH8dl$NEm_{-tmEpwBb=tOgOe4fln3V0ig@)&@*{E=s!N}Z!VuWS5fOC6~~P= zvM>~>RBF>zQthZ%=Btmtb`YMUJXZZ9s0S4K=|^}cKSO{l?b(p< zJyOkiE_OGj>WxWR-;cwT>BPZ@p4T)Xp#Y9m6bqks9yMMnP)kc8n%&sVnH}aXRJ=jN zpg71+C&R49&#^V6QSwZ`?AJC>po}d7&Ja5~u|=lYYhnvSTLKXGaUq+2`aE}AGr6EQ zCePMcK5BYYZn<6RUNE6#7Yf}RA053e>7e7Ia4w~Cs|Y>Cdh2wvWRd=@)eQrxn<5Z; z@Qq(a~!PWU@(b&8Q!3N$ti)v-B}Y zf9ej77@l2rFmK0c=1W*om;|tsNruNgqXmet{dDPa?nSR0Hi)$>nP5C!5>cg%Gn6$ znq9kU1W29IPyUk1`|+1gy3`av0f5~5n#Z}#V5#2lTdLkJg3tvXwer#)SJ%wZPray9 zV;l9-P27k~{LU9sCI~ohx~ljnmtjHc(^09|4mpOiH?o=_HUYXUe&?RIE$nwqJKw#b zWc93c^d4$-4X3pmF6nodXqGS|M~HjNH{ML@p_mU1OGSNTtBN!?$O?=ZHpgc1DqFcX z$JV?BAU4?3>_61xIR_m(G1?GTR>NMpz=om2XGYf8#7ONZQH>>X0?Vu4nz>K!pV&}R zqS7dWG|oAAs|c0bw|naoKEAO8kxxVRarviDm=$~tXdUr($IJ8sub87$yHU4#0J*Lt zU7Jh|)v={p!h>!LB?4VSkG|K$L=@sf(?wT0lV`_!`^fy#eH|I5zqucOX7{;ow?m(( zGMtHFf2!Kezw!68ssI5dR~M{{0&Eb8BP?YMx)MbSuA?`Q`gpSkf{IT)bYW#7 zg*WEQI1w*n|i+yPA^HeUpqn+atKX*xc zKx^04xv!k^gcMCJEuXc7ktm4{Rfhbdghb?0Pbc-_swRfWka@$aMaUHJpp~)@gC-+_C8eT@hLxgU(Z{12W-l!aVpRs^r{aGbNO7A_`uZTb)cCDAX6)eT;oJHWDOL zYwMD`UcmPte*vCm{lIU<{A;)Z!+p~}ebHdl=0Xtiztr4^m`v2 zmswzhJrK2jgnySuqe`Gn?L%=T#7b)XkAUz41*y=JUDn=J?|6msh!_bEbv%`mNsUup zmIdzQx51^HZLPjH-*{$i2kj@ROX|rL1JMKh!%NeT6)sB{)9Y4*Mao-CXE;8@xEb>ETuJR$gSGo z{|LHem_;5OoE74mUK|sm803jO#lN;O)Aw4Q8|#04mha%L`B=0`X;5cV;Kw`iSDZK_ z4wp0%PWf(d_Tt{6dF7J{xQ&&?m``inaJN3IxIsfJEa;ZMD0&^-N#g3p--M@7ic&vu z6O<72R%4Pk7X>(+Mp*qS-;;R@7dRfhVT%o6t~O1d2&NlD04Z^T!XW3X{dS^FlHJwW z%QZ|CpbD$9J#x2LO!3j}b+v}2BOU8_`nSutU2Vy&JFx{7cP@L|Lml^&UQ6RN_K-B2 zF6<8|vod8h@F2%Q0+z9RyO4A_6V;5$TS+aBN7`bO=JqiG$^z?Jjc>!F>30~SWL!`k zvOCaABDNlt`SHn1YBSr>fWYmcHDJx>!?x%dUpOKe{!`j^oZhZ>l@AXcDirlKbF}pE zs7saOeDK`7NOE)~v{g84{}D2wZ~go4zt@j`E>xQl+z|Utkt{s4l$uxMv>FTx;=5NL zy!A}Ez^sfx2r$=rS*xzK;#c{QyR89IpI_c0kixz=_T}M{6!Rju>=6ecpJ3W1-3>%t(ybZ7 zqL|L2GG_wxoI%bRcV01f{jkIp>n};cws(RX2Pcv2n{tV)NSJtp$^c&r@E@zcdFWce z^Ub_L8T3V!$InL8ugh)P!DQxm`74dUvNsUy&0%Gdjtx5RPc-SIPdeH~=p)mJjNDsY z5x0ezREc#FHrr)SJnbSIN$MHf&j{{n3M!0U#jR6m)l+ey+O#mji}+&D;4raRb;|JP zsia;_11?;5;cxuLKGsazdgA!ao8yrD38}T|(cRjfc-DG5tZ~1^SY2Cj&DyzOeE6r! zDwu12B&zjZ{rneq7<2Efmznw4Ed5+m$H3{jX2mw8#P&DR7#@$WH*KZh+G?&_Z;QZ% zm!>Z}kGb;}bcTc-S&IzJDk%rhOT1Px?{TNE-o5o@-LyFidS)3}jin#!61KQ^07h3Pg7l>PE1)d`uDmHpnfkK?`*XTh`lnpCgl{TAOY^NLlh=_$TE z&BpDjNJ{&hTBaaT$I-~I^)Eab?hLsaR6V4gvfDGbUdwgwlhihu^t?8YSt$9`>I?o; zViXa0IIofZ?CXx?KAqj+_t8+5S?7OnEET1hv18*KAY3KplVEYdZ$oPaAGLMAF6G^v zXMh`xT}|4Rtijsv#~ENIhsi<$&j(M)bLbDzpYgrxHlHra?yikzW~;oi+fHl!N1q!A zeQp4gvs|sV^gH1ZV};3kX0)BEqJwyc76Qt!!`hEVmzRCWpb zA)oHk0cP}LXnee@(d5Xojx2JoLuf>x+qLvTy|?q)EHyem-dsRmI^E1gjPYD$lZ*PT zPcwETd)=8;>X%$zyv1-&>g3F2? z#PXu8Cd=x1*~Wc(lGWKW;e*+g#>?&&uC+$PlqZM!y6Nu`BQ;SS#On{C zEijxz?ugK6C>t9oqfUA5$UA2&wOuuJ-AtETyD~HKva)K0T3myX!uvIpnO4#s+SL@Z zpq`H`F14WhNiw#72wJ*BNB=fvzy*pv0WaYrri`Fm2vcP*p6)1%C;~Hq>A>*jfED-Y zIoP@A%4b1s8Z7qTzI{8B_bFk$ul&}X_l|t!p8dXNG96OHt{s@~X;5mIjX)Te2TDv6 zR{XrvrGuG+Tb`%nX*cUNGJJYCwVytH%Fb%f`yr}cEiqPV>L;`)L*$9BmFQSyb4i&^ z@_`q6^GEfV2HZ^4aY}~|&sebkEc-D^U+B$0HVwk)4?Wgz33X1qm@;HngW0Uk%ZyP3 zjzjGRw=prG_oH)Tm8fIXroYZ2Qp2;71^YA{QFHdI6QjxYt9O-My?XU>8N}X6mK;7O z0vhr>EKle|bL5^ohM!SbHs7uc!#^?Ccp848007eS()79I{Ao7^JFvqEpK<|Ub=KCS zrOX?ap1~fT`=zC&Yeya=I7K>9KfHhM))`X$&Cy0Pv)SefUq`0|iy#%sQU{Xk_~t zGP7WpLC0$`G;Y|=$Ug1r;*uy^n|FLeMhF1~?I;bN5j=Im`LLv$yDBaqI4d%qiM$F+ zJG;XEe#fTrCZzDd#!RFv0T*HkZYAIz=sm;Y#>RO)<8|bMjRdTYG zGQN$n0#7WtaS*pI$LpfKWHF#(fLe^fubnm{pUT?4M2%ldIk2-N#dhkt_?8#xNeQC2 zDV;Pp_QQ&F^7G9Qn+k&W6)vmtni@+f3@5a0&TrHj1cU|mMEbf`$HX3dC!6Xri94ep zyNDi4D!2E75i}8A{l)7hkMF5=UQQb>lp-SEFdHv4bP4pxUxsModCLQX%xf94bcgW; zcH?+jFe$f7Iz)AznL<^n+xFlnVS6XwhDWind6E*(j;}B0b%m{$F)>JN(pkmIsvboA z&hc+!8Z%Mv)Idtx$z&QatDPI!$DHM>zx87~!tQxNR!tL|KD3?51JuQq@q zET{kCoS8FMK->>p0HI_qB-J0h6Q-slvJHni*E&4RMyfnNZR$X)@S*&^$4OZLeSCh~HGkPi2~IvA`&zjRYGuZDK*-3%=)*0M@s zcHyzFOXg|OEVoltM4zF;=_3+HUi0Sskg@r5ULq4IU zOxr&^J2+ZnL(}$8S6Zeyt|}>9qI~ZLj1xxvLT`5z6(^Yap}>pxuJzBDG{Hq-2-odNd;7$e={J7TKC$O}!v3wc zy8n`Bd@efb@JBZgZzJl2hDHAxTo$>}|K-2!ul-(Xy_j(gg?$7Y=p^j=hxP`oatsX* zFCB3=FsPrxxb(~;Ce|0|?05kZ53Zug%K6rQU0g4H$fBC+bc(Y;Cp~i=Q|+=T2S|oc zsq6EGlSCc(d^``sb-%5;Zg|efm203?wYBO}$p?=^MOPia5T5L3vA$p}0s@B+{nr{5 zVoY$5ki0QF3(*I1cFpW!5Q@L`M&s>=j8m$p@#So1F32(CewC303FDGn@Ke zaSTAWO`b}h_4--%jc1Z{xAq_%a7+)^3zAInt`f5G5%84oW=@0ZZO>VURgOltQP2~E zUD2#9FoapV7q+RB2x7P`Hl4H?9#DLlu==iOZ)AMm{QC8@8e2G_tdmtN^C>J>&xVSG zso6jV-%Cp>s8)bvM$O(~#ZjW`?9vM+szH?c&@Tz);Ya#L#*dsjo0?9|+9|r- zzWwUWsLryb=Bd@RkG$_}FOBc9-s1}oCzt9}QMmd^JW2>nz36Z{gQh7SHLjWC_ktW~ zz8GFV{#@p|j_htp^Cc9`-*5wpwoy`O1@Z8_$7D6 zM2U4&<`+B)m+pppLEQ(QDBu$jw2`Sv@5PrZpxeSP(u)a|k*wAF)bi0|eGhgym*gkw z=FuS7C*)evp|mp{dC^tLA9igyDB;?PNuG}bAId~li|T0${F+9WgMHwi_+M@jjpqM z!~G262r-m1U+-~n=y_^;khY_f=atubc_@=$OAVjPK~}Y06^cEgu^v>WZUmK0@&SIb zAWtDFw_k9<{=J|8@IzQL9HFhpZ49$N&Swd?4H^-+8%0Q%V7LbQ!J3FUvuCebHXDd% z)+U!o)&Qucj@(DjKbhm=w+uZ!mA#+2uQ1AL34ahAh7>1rf?{LQzrP}0lk9Z&6R~2C>8nIbVK1b9Mpu4=eGG` zGI&5Efg}9OtRuGuBrDWtkCT(j*;$qxU6}QB?vm^@hz)7J7JCM9mqooDO-iUM`}5(ccEl^_$#D?U z_ARkKGL(8xlhb!psmg&qna-74nW1qLL$ri)cKws%WMuS!>7*CDlD_pw#e4lEOYiFJ z8eQ4f8z~VFJ4#xE9oljZd8>TzaF)1tr0#A;*e+*5tR6({iWtA3a`T45S3v&sHUXHQSr==;#Q2hwr}96(&3g_)2e5W;qO z`|;y3?WH$L4|)T!3cfh)sV3cl4QfsBFaD=1#q zyG@vWFRCKwDL0{1RSxK-oA4Yz_}pk7{5&F_X-%WF$I+VGIr7H2O=Y$jqe;>F9RGIA zX?xB@4~1vf)zy_<6#0%#XL5bsjbtv*#dShy2Dm=_7}x1R1UG|bNu4j- z#O*}{&9#igjlz<`h&m96pLFMNpSU(SJQVL>31Cei$~BTiQaMIgW0x{KZfHdSmz}t$ z{D6oq-6`c$Vc=thNMo#e@Nb|A3-Qu|KIq=Rh$Da2_#k=*I|FqlR3A5u0X7Ch7|~rz^8)VM_Gf(%ZKq zlcaX_pqAEtz)G0G+~n3eOGobxueB|j3?TJg3Q${LjV8ew12QJ7A{#|XM<*mtHBL6O z*yGUM!z)=PGfU-oM^|xcd-}rT#^bw*MW2U74-mt6R)kDf9#_jMm5OAwM$=^7S>vmU zl0*Ze^Xw|6g3k_ zJXSMr7UVdCs>dxXqK~NrovbR7vQaWZz#$;nv+%?q{s=k0Iv>eP{OVF4ulwt|v#72v zd0E0d4{$}Rn%p~5iq=5Fu_+OAx~d`t4qoqrD%MQ(FD=_gha zb$d`s69bqRj9QFU=;`r~DH-#J6;>?uFES!8++Sa$ zMs@118_yG=Q8xH~siRfDR@tvk$Q?T5hCE_u-$srH$#1CjIPXS70i|V6ln`+!A$o?~`kWNv2XPjJ za?}z>NfLGgsS(_n{BY(DuNM&GtnnbPh^!pCib(V$yHU4yj=FBWm&R1@0Vv{0tv1Tz&M;KFut=y z_ZP;iZC{eU&OH|sQ1&{L!5YecBJ3x^n+yxyydk(octUpMDn#|ZnXlG1mJ5mbaLkYi zuV0vR1vwTqGV6#tFSX=pg%z>B$YEUHxnKUl(N=_860=Y7B+T>(j})QWQmrsFhmwuo zc_iM?1kZ?6J1kmA-|;4?*P9Jx9#zk(KM>uAsE@@u-ms?O6Zixz{bH!Z!NNU1a3(&{ zU}by4R8#Ph$#Ju*Nim+(L=XNq@)K3BAK zuabN^a&XSm0lI{xvRM54KTGPFyqM#U8B(ZO zNhI=Uxqp9fpCecN2jyYdg!4X)S4w{@D=h=4)Zslrg*v`kC5;-~O8In{T0f0Kq0KL^ zesiat`TT%t&`C!%)AnL3yp&^Oxi%N}GmE`(h<^GMz&-Wk<0uj;sN+M_sU*yQ5L$Mr z%DJ)hL|skIHM{zZ+N>_96{{0$l9|V?ORpdHU%vYaTsg>Uf*}>NcRd=TyNL8}ZjRwd zITi}(IEXVnNfZ2=DO9k0w+l)4-nS~c*^9__uJ}+~NL(Y0N@i}eG1+}l`SPIXJOWI> zk!|g(-XwS>e)co1dL<3tNYiuYD%qhHiKLT{xV1R0()o*_wQt`H1)q-%he{98Ku;0phIua1m#vZc_E~UFY6W3TNpSN11z*@oI5aSs2;ssJ+FYqBGo4 zXNW408o&`VKI9!X@*e-N{Pc)Rez^JB{O-V>37WB^f%>qjqSPTEIAz87WfWup>CF$< z%*F>NbRm!gq)4t_;&+;rifEf$fnaEY%)Qs@QzUAy@lLgW`!Skv#d5^jqCIGmsXu9S zAYwc$(<_SIp%SMS6?27W8>I;YU{6Z^{21yQWB=Gk+#4*oKiG!aX}C)C4T$nJLhy4s z7ccmUvW+e88Ovr)x!jzh#~j^X6{XqHadI&8WXv1RnpLs3GlP>}-V0b|qOhyO|8JE< z|82mq45JFy(zjxy>ZBFp>#zF7t8IwK_>lH4#JIrZ`>^&s{blGkJLl$P$4_Lp-hv7x z!^n1-Q0I##UH#RsV-2bInMF!59RDEu6D}^*6_)Dd{aKDR!56;q`b%V)dCr@BVX1O# z_qE|jB#?z4E2KyY+fC|2KGmaG>(bn+YU$WTch_DYlqu&)dWOY9xA*_|aEfO@`HDEK5=eVyUn(qhpmm<*}|zJmf+HmBEqi3Hc7{T2%^^aRATpoFU^; ze+F*_Jtfax>T#}8iNS^-$hiz743bE~H!L|5dHx~jl~>#?-V-1O^GSAoTpG{tkaxW3 zTq55&y5G2N0I(p*2N``Hf7fFwq;f#DSL(YNWUgx3xB+#wA78|a2nV`4!FT#jC{*8yZ$pK=YF;qye zwEuFqNqABNu_V!CqE4PGE2{0u-DsTXdOvD>X9X2U7n=4mX9Fe{jk4#5hkhroRqN;b zsz&RuC?Ax1LUY%8$KAJuid*e#YWsoUr0~97I{NcFY#En{#Aq?)3z6$B!G61!%Tal9 zAlh#LU`6r$dNavuT+EHFbcNDsYS)@!SMT_B?R|ibjL*^DM{yq#DA}eJXvi=l%=RTa zW_$H~%MJ|~O+ZELN|1nUod z38+N0>A-(oM1#bpgQ|3~yJ|V&=ZJhDoJf1r7ckB)oH?Zr3e3~#36}1Nd*K^PO+%l0 zkDcDSm@#M39bRfEgV&2urC2heT`!5+puubPCm%rDg~5in0{KPl``w?P2PJ(x={Ia` zZ~qn^6H=SpLZy1q^<8cw&}6XgtSQ~Dw2GVcv9qO1RY$u1YoT8UT(*Z;BAwG zLk5pTR}c}-D5C*GJYr_Yk#~nMqrH_lOII|F3-lEAV1>);>QEDJfdCGQQA`d-JCCoy z89*h+IBOeqaAJ%8U~li4>h!M~Q$`6bgk%q@SEm#e{INRhcOnf=`AX6DG5ZI#Vm z+C6kw+=C3~XR+2&6?IJrqQGH{Uuf((`IPGob4a|TXiE2-!;dP5$dO8%=;nb`#-K3E z;j&?Ko}tu^FGIrfkXE)y*ZzZBUg)-j>rNR=MIz`PY!nea+|XcHy7hm6;sO7F;)d#- z6XNBP%h*akz(Nm>bF3n$BO%nis;aY4li>U!cnvj~55}FxtvWk9Z(}CrrxxA%?go>r zx~(RoVTQS&SpEeoJC{4l_w4hu!PYT8<8HcU zh+~tKce(*4ilTdSRW*_R@XI?`gjg~j$@tKw}?TZI}xA?{05HzX&-#`CMe+o zmFA4ZJ3z<%xO+a;?)V4YcFNx*sX--o-2DfY?;>l9Cn~OuAE@UUk7Av!>qK%gfff2j zLb^<#J#?6O_h1*H!hz1$XzzR)tM$!5)zHtA!_A1Yvgk(0z~|G?XoYlkVjZUp$O7hP z5)huJ*)Xgk$XGiSUAX?oXgixyFlyN5g-xxJ5QvRY-5CK#!TT%)a)(6{(Jl$fHvQQi z{H}GG`UW7T2wx0m zuGXjIwg3IpYTRwLc#s#)O|lNB&%lZR%H9rcNF<6Aed=6!;;6fEnTuo@%K=%+nA_*o zbQ#ABhwDNCcju0j`%}#PtvBo+sX_thG&rFEBC4eJx$eovREacl$WkUPE7{vOt}e-> zs!0?-`tr$fs2l4Vyr$C8T|4b4=Of$>N)~Ct8y)-_N(wj6!~mY@8~rUeM)E(>l3y^f z2`x5{tm(R~P zZO27Ib2YU+andjA9Y*qHZPEShR8>+k5V`m-L_DqizyGoc+!Q3LK*NxMo7SN9%d!i# zreNQAiP8B4dqgY7#%3!(35XZrEhv&lOpklk2MB2||Bp211q&oY%ol?rCHZKIYXu70 zY5hd%r;^ab1CoGBkH|Mcep!~wum4L)>Au0 z0VrTE!6yoO>z>V_-~V5lyIodTdll|c_=6#z0g?&^2u_N%AQpB;?U#w5;92IE?i zAPgtKXVJUOoH?`Rr9KKKi2H#Bgza`ME&Ys{9Lv|Mt-YJL=j_k6*+S~IvX+*PyUipQ zL=}Bct^c)`QYzl@l|y*FF6G> zv+c(%79A)p3keSP(s>pW18QK)md}EYu%!`~SAbZ~Oj0glBKYCZ@hkdZAj9dw@=3XS zVo_qhcI-ll%QxBq#geo&vUi4T!@L?KU@HFwU0ISH`?Z7j%-3h4EQ>SqB3Zu^JCxEE zPxF^_y|pOwz`7(}?%drjU8H}a>73~d24f-#(#YEb9Iw?6RV#jIMqIfvg;en6%gJij zD<}47X~9w8uCKjiIKiL660)QI-c*qv9&F}VW6#;&KqOu;r0vSzdB&Fv z?7+si3PETSx+7@la3A7MPP~p)-fv)Vzvq8y36=+l)jodl;O^;#ky%-bF_FmS!TBIL z==ECl=Gz6QDExO>G!2(5BoT85h_Sf{&H(Q`)nA|mg^*r5M69qA2Bzjpe~;SMA{mQU z8zT#DB&UY@hP4lhl%a>iNH88RY)|`j;GPdt$+X8wVZ}V<~>}iCJ;`3~G>u zPeLd_!h7jQUO-_m!!e}&FGK!?oO-b32*$pvw3z|rtWJ}Cyeaj`P87w z#EiWY!)G11|# zYHDh(FxK5UWF~L*5bK<8snuB^w8^N{M$}s>K}sjM4UQzbC_O^s&+vzikz|G$kBm z_&C`L1~Bp(dvB1Z8pXE&i|hQtn_dBt`j8yQ8Z zN37ZgM_V#@*MgFa;LxX5!2Yp6;B;(bN(5SRJU8^bFSkYdY1ycx4)63GUX0ZeBzRax z=iS3J2BaEvI9JF|pK|fGxqIWhk0Xwsl4SZ4zV)rqH+~|Yu#7cp)+{~uT&F6NwA^Vl zmY!hst^w6O)_Hlz@QoPQTXGVC_CCZn0?%J=MYI(`Krcr zNZbX8-~_$q>lrjgKQt04oRG-%V0^Efh~J%}{e)^AdIdWIw_wF~hzcMDAz*gFO!ZCZ z@*MKm3(fT2LNl-h0gFGj?}#i4v2-tQZ45m(e@`{9B#3H~=9TU^h>-Je_KFzX`lR0W z5R#If#p0$4Ky zfJ=PO?zj4&eVj12M%Di)BSDF%@VxSj4~r0NPWL zb|HA9hu8IBVLP>G3=Mg-Y={{&2V#+kb5Cu~Ql7@fK3JFkml5(sU^7}En3eH4NXJ;< zxuapc^ZStgv0oDeHNRgv7`*%7&D~B4!V*$Fgv>Mk$@F6B5~uXhQ4dnV#i?@~DG^ee z+noQ(`QKI$vV|wN>^@|#u9a?kKDkOZ9H}KZZ(ztavf8Ee>pRUc(av;A%v>%A6*u7B z3$Q{V%MxTC+Iny^ZSPH3LHxHhO&+ZU(zQU!6V>0c-7Yg>MEyC3MbBaKwLrBfjYO(} z1HG+8&m;!tE*6ML>xbo{p4&Cj5i#{PdGd^37owJBsiUd6nRUKTJ>vLwyx0-cih?D7 zT$|ziPmVv{SVF*B=D@$*a(=0-vT450s@o3~-&(N`bps;;b#>0w zRd`LN^A_F5w;t55tm9qoPQsX1`w!46tK9&aot1aEI8?WS>Cx|(AuOK{Ueiv^BHz7* zlWB-xxb3R+CB;(u`Nvi{NWDvu44iG1M>O%M1JxIRy(9#2rT0w|(|$Y8tM=@)aF5Z8 znFCu4#=2$Mk6;k}MBV8MgKV}?o&rw9i6o%XIy^!M$v?7W&Q*3p>q3e@a{K#x+A{wl zmT7N8Lqj$l!^%h`&@waHy*I6~8J9iYb}a+56wD`o#F&uG)1KD`%WyG}_JGJ_4nU;l z)JS7P8PstkHPR|{`T8>H6OXt34Hy$AacTPv@LKKr>$i!PD{r_Ve?5vZcrIlEgAXe@ zUki)~4V~~jK=EzKNa+H}Uzd`Nr>&`JO9YYklg0e(h`99KHD;kt|6K@v7jLeuwd&aI z5*{M7@HO|xchJ@4cJ90eKdgfR`9Zz)qAT*(W76|*i6m}c zUCK%u#4Kxvzk^+4^TJl+7Ot6t+@h4yR{SiCfqqO~?&om{*8ve?V%3nx}sJ zsh6==twM3NLi>P;8fE$+mLnLjm}3mxDh}CYzegVg77=nXHyax!wehWq@fH}|Z#UDd1vE987NxxPsv)UmUb3`RX04n@LX(hJ^1&SrOlkG;3I zyqNMU^wyaELW~idNV2xJCYYRtZ08w1HGS>TxraP?ZR^M{x0T7Aa)@*CL@7u90vCIt z%zTIq+INdCs0$AUw>_aufg>4?u-6=W6s5=`crPnxm^S8ACXZm}DV3F##Ar6+6A#$` z>H*5NqpkGKZ$bAL`3jUc5=)?1#TWE8q#{7VtSr3Nj=^Q@7Sn|OLeq^@Y0Mpfv+RVISME3F4}>mF znjipS)5^QWfl;$5#VI$Tc6$un{p@c@PKRzq5QR`&HY;X9isUIMGJGRJ|6*_i3Ergs zydyS?Ne^SK%jv?e=p(<9pDnkc(%(ei3Yec%FuPQPjUtmIIDwrH8-=a}Juk{E zHF@>|q^p4whisj>cV9Y2f(0%=ROO6D6`c&$9Ha&ikQWyc+dlkDG3THzvTJAa>0)W? z+>iagPRKTspZJug*va(Ci>A9l^ejLk_T&z)MqpL0euh2W-2{COofQ2q$t3O2r+c-u zAY8=Ez1`~*W5vP#5Xp91k9Ak@$uro9HXQ6A?5)Hfb^=FUYn(q)(QunhyzHbith)4B zdd>P^dNJVSMD)Cs4%kILL1_}D4>85V4FUnWR)Xrw&KvD2votp?b>{urJ+a$`mP+<8 zne>vEa?;X4u9athsi0PiDNi85B7F){tDa{=1Q(l`xi8op9}<(C!{ppQ9rsqbbBcpU zLDJ4huY|8Tay|A3MoO$PF?pm^-+b8J;@0WI$Q`J*$m*B5@k0$)Jk%V!SsxG=fY>zo zr2E~SPuN$Z0+9&V>$yE2XE)%P4GXfRoR7<>~p zM`Opo>aFYITXhwFUMi%-Gy;4ef+<7YJ_$|`kjQ#Ii!UDH(=LkO_e&odK&9BWkI*{|i)h1*&`mk46HqQapMzjhh!t{qgNiBMq;nnDXYC zryB31ui_rB*p3~6avXi`>&?eZO#Gqh)p_CPs2ru?#!SduLEl;$E`Q_t_3M$*$@7RB z;)Y01^^^OgltG=uF-~NATu`dio7TSgsmkCENIn?uytSiQ=k>n-McI3RQ{DIR<41el zrJ-TAG>kM*b}1D_%duBOWf$4Ap`lPjWtKu6Gc#E&3E`IPRU~D^p@YN0@AWxSJUy60E_cp3-_LlzU+cZ)*S?B4ykKr%Tkr|!hgUpYKb|m*;9j$1io)Njky!|x zYt5?DRBGyEn}QRYg--)z%?XhTrc!MK(svuDfjlpS5N3KWQS`{%KQVO*T-b*$`h#ld zpHX`Fdq>Ab8V%13jsZR8s(=IVp<+>TQ2bUuNK0EhPNK!egq$9}e)~XldH(=V8tfDS z*PmrU%mJn0HaGxQDEr9;)eix(O!TO!k8$^ew~{sL{&UVYuT+V>COP_N3; z1HQr2iFOCTU+OY;UP^;-74iM zgvZ~L(_qr`P@C+ogI6K?Msop1=YDeXLR9x&5zrH^JvC~Yuxq?)yr&Y00EWvjF+zs& z8EgtF3%HaK=TqV&y#0}jP=NJFos;ew&5|J%oV#!XAkXCnf>>&PoFd^Z9;`nV{bNNo zQhKCsYCT9gAf-=u=LyLF97#tx^VXXONC9>%T30bAH?v%HlVrLkQMyN`t@l*<5soU1 zBx1r$h&3qAt-mF8zaXbcDO6HGuaJgN?QbXKbpby;EiEm?Kh5iQf*ncaMoJ7=&QPyY z5TR2l)m|$8I>=KhsCtR@v!+2NvE1xft{y%~IJi3J=jD-@Fp!wOcWsl_{8RrjLPfO>`>vx|Q{ME^u_-fzbr#_I3nd58{*cidfF=eGEDR zyGE9Er2fPWOq=#fs%T%aitE2P7fMP>Y>NzYT$a61>3N!vknoL>Vb{e?!L*``UIh%L z1o3e$QhV@2%XEGBWZ* zOxPm_=Zi$$&J_2O($dKkwnQNpirbFSxFvK4*;7GW1kG@apUD&Y(p)Rwd$8^%Eh~`?GjXeg=(277&V!=kz|^lCd(!+NU{0Ko3{IQ`}44XQ*wqr%>Xos zlT7%@exM(d%L`6ezdmvq8}OyUSo=^c|BgnCPty_!WJpm+;z^)!mAwWNiyXvwo8B1F z2FUjaHT7P6d7tl*fxc#0|3Gps@Y0^1M81RRLkBl5eFLxgw^@nfHyQ%HHEWDEp7wn) zZC25>u6m8v8#|Tv$909?yLUEn*;&iz)Om}Pp7!ZY7T!?As*|6P8mA#; z<_t3gk5$&^%q;&qA+2t;<;VDDYskTw9I+0x6Jd}lpYJNdJiclM?a31iYX0Ed^|og-oESnmqeEusKlw05%GTEQF{1vKbG|^ceumLb)nt-8<`i@M z7$Zh1)b`U7{Z1Yq8y&$vmJ~LbdH2gfFWAvX6o3vGlT3$1kmQ%3WgwOLC?f$UTjYYY zU6$eQqf%*BO+Yy8KB11o&w<343^GYNOe0MSE;SNUmNVEqyUN~uY`BT!8_4#(-va66 z>)zfZ{hX+%x0bIf#z-JYj*UQ@t{a%ZMhi|0Og%JnbX*1lEWoOG`JdIteLusH^~|v^ zN*}=9XqT1yYtlR6ePq@fjtyy|rO18h>&`lk`Z;!V%`sGp4$arr_Q2}?Fej%m9{BlS zL$})%G8#|2&SdI2h;G4skQo<{|KKcIMmc!o2uZML!F+Yf8y_)+R;Aj$wF=CcVUAyy zIqQbj4d*M2&d12rv)T8S>ol%!V&4C^Kg9*!C5Qf+Q*@*%)YKZ$FJ0rnUW8)^MiTa`arI8ejS#Zg~g@O_v z1@$Im0@*Ylm^e2Iz2RYsP{pjdO%1cg%ggzPINT2Ym^FdX<2M6%{udGaUo5dj#!PvP z8U$ViIud#8hkvyHyI2wqVhUo}gl$yU2>^1dtGfr1mz0(!`V}duYfwCVVOg@RMVRL|zLk?*;-^nH3lN)T#*D$7 zJv4c9KqM&{MkBlmNxY<~gJVd2$<+gPWFLZMQx8{}{r`~l^IwRe!>1ml~hQ0&eG()O%dH0hvLPieyVAu^dv`Gtjr zMssL?5{;RaX`dO&s~2d`u8Ka-=p|It~5S z_1=G9G9~xLA8PRo{LPDw&6*X6xso-j=EsP>*!uz_IcHMPQj9+R+>zrp^4#o;)3}oT zUs(78jT}=yi2p;Qy+T^?&!5#h&Qhrm>v)1{2t02cj(JRzDT7$DQqmLL^Xb_}+<~)B z1bw|6dkUMK;sLv-#k--(%_yBvzsPvca9lWJ3Xn|wv(xgB5(L4be!Qv0EDb{uP1F0< zHIMt|O{|{CC)Gxv&!Hv12xx8|9_%=Z(YPJeaZfhPu4Ix`k_a56#QzCp zdszDsFWx#p`I8cp;v%C=V2XsfXoqy@2IkN#!P-%SLKz!zT`a9+`J#YaZ8pRYJhj%u z3Vb{rO@(8_xdZt4PiPz1PdS$p^0PzLMVJlgnj8?`Lz5x!(|0Li& zn1p~=_v5YOS(c&()0f7F2kI99?onR6f4?6}$gb{G7G#5+qmk=oLGX5TX@^fN*Z1(C zD55X-TaC~)RGL7Hvmh3IWpR6-P{1pQ{-=U=>+jUYM2SUm-rj74_oqYpnuaMiQ**6b zo0fm2iCmp=%$$sS{W#JPMQS7ThyfOddRStF5u#UkaHu! zcRKOcW*cj#?QyQEtbDa`j(J^LajF#uyJe?l{DyOywvL^zoQ0sM%! zAO=lJEbkICzP?D=-$X1``tz;UlKCwqA*FeRMVVxrq_ByiwRf*xTuu%@g(T~RG_}p1 z;~4rT{=owdGQaaKBb2xgxlm+;1ya?XYQ3N9rwfKx*T~$~=agzWqFg;ucxwic;&=Q# zy}nb?71CjGMG<`wo*@}r1xp+%dH|@zanz^jEI3ZUlp>b^6b$M(LRcVr=i@)_+7>C;tERU)mnBhNbD1c z^6Y=&Ra*hBJ?PE_xC3z;u@Y)7Ri;k@NiRoAOqkMW`k1IvZn z255XD%Dx3XF%~+%*BP1gNXz5hcIHJ`%8^5h@Y7-cYYj=EK5|LTbYX4=NdTz7OI?dRPUr>`u38hF=p-|AM28?B7X7Z3D ztN0(jRA(|KP7sm1!0ulfK@iIMyc{x;tVacQLX+q=Oi3>dsq9}Fvq#t{`Y&%9WFd} z;Mn(6xzN}bjE;odA0~V&Tfvm$p1S$eI%mso;;O8cpJ(aP!8U~R8~$*5hKbFu=1Sg+ zGC8nXNO^%JL?K|zpBLgrs%83www@2TAG)P2Q6fUUiV-W@!L(j9?p&R$rEI)X*^lq8 z+8TeJu+3kv0sDtEt4=Xy^p5+iV@o-R%_d1CGbg$5)aGUN@K&@9LBf>Oe_oRrC;;+d zIivl#S6XiPNF+^&m~}j!S6so3CC}>Fsp+B5zR{4Yomn{T;tuC2k_WZa%-hnyD;+py zYSI1v{SD#bt2Q!muJ_k@g|=~P%`BV?=hVYErSW>TT-q(pBDGMv&TQ#4;-_nB4bA!@ zGEg42xI-(k9b)c9N-q%=iu|JFN6|@{+}Xw4reDBCYY) zi@*}oF~9madQSA;;OKW+Scn2(M1y_>X|m4?-N_wOG=7Y+pkaLlbPe_`9&}Uy+N?E3 z4a`!y5fP>zK1Kp{5zgklHq2oXmiunB45-W*3GQT)TR@_q^)Ld6o&0BMs|G2SQ1Xgj*IKkLDACgnFLbB(P?8FNXw4EFZ>Tb6I85XNep|n;__`a^8 z;XGx(jnH3!0wQM-#RJh6$QR@TwK8eBoeOil*oQC$X2F4;_ghM<>)PuZNg^YH;BIsj zPbuqFW0p+!Op9*4E|&8G>cQ*L;cm6@b%;I$?qK6HX^H4qy-n!@9KU#rq=mvOuFI-p zC#9lmNU1Oh(zv$@%B05|CjfF-@DrQYI!;7q3q?coso6Ls9CX9o)8by3AOUO}KE_Q4 zCuE;rI7q1<>=9)G<8@Ns)5*e8!#I0%-|9@%57c=?;3Ro|`*NhdU|b2J>#kxXe8@s} zII!S`nU9`5u`=D0v2N23rPnjl)e|7l1!yFl=yD`?x@rj+@+9F}m2yF*viHat?WH##qIZBY` z;k659f-*;yjK?g)jH3x5qZHLFxVc`$ovcl;3BcJ z!NnS>NY8MZ{bK0VUA4ve=Q6Wf5xXjwPNw}*5)nd>Km2FmtQ?atF2x9kf7m^ou~_eu zb!6rbUTWz5gttiAL{^?ozddHV*i_U_bkE3R=`XuoU~QCLti0h)vU?h>dglX9lxIT? zyOTsTJ8ef1RZDq+tEOnfd+o0NK#Z%kt^@GSLCIzHUT+!s)BfKY(;E=6x{X5AD#JTq zdH474Po8n8hUH9v-%A)TsvqJ~@ zuB{I*6j(;`!Wv2s46%MA&l?(%YU7FQDNgqCL~7Ad7$$8ZcqvFw@ZxVeyv+c%qOgJA zg3Mhh3nlc8nRc35+KtF~{dVThsysa#uc=O6?k|byRn{wl6-|6~Iqd&^UE?|XRGpjc zVrgGvzPQFb?eC#tw`Rxw9aqEmpJNN?|1r~m&q`OY$deN?trxHh@$h-At&?+0x2vU3 z6oXh#sd0X-I3h7l3xl$~=jQqAyitG_oTw1@?{|3a4yihz;|13)wJi;?cFsc11p+Dt zq-gExGJh1xA45i;lyPhm#6gHw4{}8*shV$R^vnVWp;KZTzreZCyUqr+Iy}iib`e}? zTN`$li=)@76b!?~I%9>3C9-!Ri6$D>IjL^be}#X8`?0!f61fP;e7%BHQST-IWcGnzAbl7Udx47=Bd_=(k0Ax6jDo^r^ zdNOUdrVP;|a8O8E6$&?`V_&%f5&|E~b%SBc^a*&#DZt`-SSy5$xcVXP3W}1D=B)}6 zb<6cPEVj$q#nWmn^`*~|LZ%sT^Qv~i?F`TT62TmfYBLTrF4R=HU#qJu#$5NO2>9t~ z6manYtdjOysNgl#rMR!>-BgP%>faM+ybLht4l^?|WrY^+x+VRxi1Q+eU@&+<+JuA* zY-)@f+4sd->Hs~{JNh6b;~2#Y;#74Z8HmEiCu-t+INqx7Ej>xAMH2TV0(HTc@UWpE zyiBNvsj_O(`7tyhnEH;UJCfFqK(|SCPJCm~bfWu34@~K38HCN}&QB9D*+x+0GchFS zfooR4+w$gftfIV!9nzqOsA&;Q5?oWw79-y(Z7Z_Wz0S-yGBVN)dv!`$T4mR!n0r=g z7X3%>R`_QHbxokF22@o;ZA`!h@^DT+L0jo3bkoqgH)QGpU}$>lR*0BbJKL0sB z7%sicp>*iXD2qvJwqNM0qNyB}cM$GV51k;1 zZ74}M%?5Wv`7{{J|JO3&dKNE|o)eZ^(-lnJnQ05fAms(>ZPTP&pcZWI*0118V8QVi zzgp=WGJy;|(7RS^yf}0V_+Q1VN!KFdn(cXfl@2W;=(t^EibxS5bh(}a00?fhifNHU+zj}dn1Z+#K7RfUnb~!8O)3}k;FQiT3Yjjl&5gAU zP+rG84fgH?4);O zQ>rO%{$RnfY%UXzTW4arbQnsg(s6)i0OVCx- zD*q@pmly@GPpMpZ-!pCx_I?@L*;}~b%=1krVZ*_-L@Zn=LIlrl;~PWGNkP_(c^M1O zgT(bh^5E<|9Mu#Af`BApqxnNmq+2ogto4h0t3h{?$Q||SstZ*Pl54u-DkXxVs0?qe z1p2d3s|sk$ITfLZ5!E7#-mfF&IwVdZ77U5HQ!;AF6wzIUHmQ~~Ttj#h0?eDLch;G# zw2z^u4;?_F?Ctt0)BGfy?tV>j$Z&2xF2z@BU6;#1LZ1g_7M|Gr{j>s(IV>9`*RP@S z0+wH+7aDXMK3VIQn)UX`2FKjQM5FNBcD@6mUxOFIH~^fSgMt>vg1IB4?$72HRLy)5 z&52d>?oRvLKeZKYqPE&wF;o17J}cGh6q-(o2i)tC?Sl=yeazYol00L8o5;M9&Jnj! z=BeQ^F@vnDkTw{}WmpLoOg>Lpq8qDtw71bz>4fV|IxR_O1iO6ynj=ZiEK>j64yHkp zJv+GJjxfzKjrL`{RD0rLS7gCTz1l`>OddGgULOD0m?78bEtfJo z=5Y)O*|q@j6oXCK|x{I{`f``n&K_ zJjvOgY;LU{Xbkn*@TnD-T=xU%t^T=bE04Pw$GbDz^isy+7Ns3IL?r@qpYDCZ$wNhx zU!W-FS+G;0&teOnB&*^d75M*=9y)QY-xA%Mn-g1`41VcwhyhO{dO|qnW?n2rfrMy~cu(o2JDT=Q*3-(oRI}nN%Z4LkKumE}cVs zz{vjOoN>Er(+^{oO$IN~QqS`2`5qmvSe_C=kNv2Fasi<^kO<$6(iV?um8YDM9!2Fw zV9?zUF-rwZ1K#0_p*|KW%ZQf5#b4f&`Hl@ft{|~cgWwlFATYy|DF^zJ`6V|z)_z>} zltV10h)ZdQPyo&OLUosm4Gl($unwe3>eLu8nJ$g;27i|&K}rAY16Sm6hnf+Lu9wib zFmKHqPs3RiUfP0VVkbzgM1wq}%T6-NmP6j6-G#?z6o8)~Y9__X%*159$-E@GTgBV% zHT)C@3>jvl-FD_dQJ>L7kWo%1=acZ{lSI`DMIF8c1h*8oT0@virYSGKlvwwaz#_!? zQnt;3ZwwGSZuKmTcThV16T&ykq0c3d1`tq;jqN{8Nx1}>e#9nQnNbQFfJ-j&aM1Zc z#SwAb3B#|;(m)oVOV0ZyYDcatKxU?z!3Vi%o~sH4)HS(X+9EvZ7o>1M2y>@ztNmAFJSBv=xL zrM(b-RmD$g^daBbmC`Z+xU7uOJW`%|6bd7gb2F$lKj@jMe!a3WjQ+B)gvuxjLCHlb+*5yHvghIa{n{j|qUR4P~(40gS&C881I zAS7+`bq>_LK($c1*SOj0iwz|hvb-jENW5Pfndc4l7$^_Q^5Eji)%R7{!KNT`;=a29 zr-uVD&4M*?VBurSwkS)M4N!ql1`#;eX+hw6c4ajE8E8NMkZqb$X)l|7gN8n;4(W&3 zhHRbvueIfuwid~$oQjJYNI?qKnxE_2W1C0O*QXKOpa#h?y` z6WIOGD;HbaiqSFPY1)D5Hy);@a$%Fh*j6q+V+AJy;Ec+rr1}r;fvOgvn$`3>*KHpn zSvfUTLX-ZdNk6o{s-PFzNKvb%Snk?5D6u#wsD4ww+j&KNB7h>M2YWC~yD(aQ+#v#- zy1p@O<2_kCeh1kcW8U$4tPLj-HBaDr9s~n00&Tu`E^83?BwR>9rsA9bpb`;>v|9OdadXmw8Va~<)H-b1KSmlu1F!d6QLpXuQ>V*YHc$81 zySn*tVS`unnQ*ng|JGhT&A=rZH*_oB^H?PW0G^oa5&F}vgScWn^fT?KeEW`?Es73# z6aN1Pu4tM!Gz;?o!DNIIOq>HT+H965kUL15<+_O0W&B1Dd?3}lX7tbP-)q9q^WC+w zfBJ$yi|dPTlxiUI>lRUNmbUQ?&>O!^+{O=1o|S5q9M#)!1((T~IkoGG;)=&Kou4v) zemE^IYCl>1AYUk9v_d!?-Q9B=#8}X>q|QBCl%KH1jp8uMaunV9=f8X1qLAN^W)*VS%gQ4P2bK@xr7N~N|@HE7I_$RSyJ5RPMJjU08>9aioOKl zxU_vNjj1qk+X+~sAzL@ggW)NwO`U*wckTL;5Ec8Y%_}Xn%IHEV34#C>xc`^`I>Y&$ zGZm9Wb_TX`@9N$#3MCQPN*O6j+#KWAL9FurKOdKRO#)E3F{101ke;gx9Vkk|@$K>O z^;wI|{J$WOa#+ac=31WPx$K}DzH-p z`9%$L>E>%Iue@g+yf=QZe~YB~w*m)NIgG}?X>4==In!d7I0?G{?%m!pNx<2#F_26$ z$WL3y&EEboJ10dg9DuP6c*m702fsaC_7y}FH>_^pvGGZIs2snvC z^1%>!-0WJfvU*#P6^DDUNCBbC-IP_<^c(K~t^^P&jJ(0ya%hA} zxriba_V#T=sE))`TKh=V_4p2453W2XWpI&CV2BdQ&sP`CUib;UC#pa2Ng}$pYRk(f zv#AjXRk|!<`M;w#rO}4`9*MvWkA^X54Ki%4)*5?q65T^jdhSS^$--6&!Y&|VAlDHl zQzC`jvNq}~{!EneDcCA!y~=`l^X9EuGz;1e%>a>fzgP<4z^W^rR*oV8wWh5fZ)$^M zJ!CuVgTGaZpJ*eF$mwl14BXn?gAdE+5x^mi>nF%i{nGEOw3Ai5SMY za{<0SI{YMwYq0n+8=#6k*>v-9`k#GwXv?sz9RH)-Tme9;<>D?ZdOk!QwCd-d$+1XU z)w&bO+Q8K)L?6nUH#CM?k;B8U-55E~-AJXkO|Z7_z$gUVr@N&??QV;!Mwg>5-0&nS zt@Z&yqPR*y(#|u=R^5A)=NiV<0Jm8&MV;DUjTU~mZaO~VpS-0g4xy9U1SnX%3G5i$ z6}@6(hpofO5;`5MV=W_}%6%Xm(0wmcmSO|~OQI<^Jk2@6@z2rnG1eskWfDZOklNs# zOaHLavwUz+LC7&QNylxQx4V(i{YUwZ8T{26c`T5NZbRSKx(t540+&<#G{{!sXlqmM z3|j`?NUjZVFcz#6kaakCE)#|Fbz;Sqd1~dloen{GL>J^tXbqM1zAueyZ-WRX!fL&_ z`j21^B<-E7*~U?=JOuPPK;hl2kT)%MF7=j%`-oPOg956n-$Fxa^lj>lSjU{F(axV) z?kKe3d+uU}m$s2N|MRY8`t-s9eX(?n3soaAG%q5SweZ4uyT<=%Zr-7;NnURG-PEJA z9~PHrq8Loef2+eO9bRfRWN`@<8M}m*EbUmM)e?wdK>S6;ebjCJkXj?~{TU_`0QrVw z3p6JLlG4_t+&sD#(NMRtD>-Duu=edkq;4Q6~S27ymdfw{hda zetCQV7>Af#_Z;mr^1sjk=m_|&t?WBwQFITr00)Ik%^KH3p_rq*0PRfq1g1JYy&Dcx z6lBVqX%8PxroaQJpzeYxyBjidU7VdWTb9DYFBEXWBnU!er?PHhB4(UOshhX*_Y=UD z*x(dm3V3kkz5R=e$Hp-_jqH*3cG`&axuFm#m?}B;VhT|^eXMMcfJN<(cmF7~45<9Z z{o1Bu7l}gag8y>U_RA(=axOFZ3eEqPQ(b z&knn2AD{QaQfd(n^A71buRS8xZF3)WDRY$!8;hG42YiJ$KPSNSYa6yQ@dZ9vbM{vq zm~DzBJyzvDqDf)T4#KJifwDwPR~P0SyGcXHA4~J!j-Ni6!X9mly-vUe$zj z9zR7EeLpgr&>f<5)Bix5LSl44HqCjxPG_)OMF%n$Bn||w&X&~JK5GRU;!1J32fn;g zlPJ%i?Je%F!7Nc!5|b&T1MXv0^bzDBEwm0!HG&#!E)+2+meXP?J$nlw`@EZMaBN;~CHS;rh%ye^8V>g+sT2Ew))B6{5WS$T`b;tuB#EFA(ss2XN@# z)n2qXPtJbcMy>g7kkUaAT3t5XPUCRx#v2jyYU||Tk=Z7NUpwIO?e2h95-s4tF!)0HYJ7TN3_Rg(1)2sc z2n=4%!+`go%LE>QznX-XfoMeYPh4y=^+`Ch)j+&Uv^jjSeCnP!N;ks*JtRQ3Nh+TV{n;1K;ho}LxGtV^;4kO3NY9w~7u78Mb>y*eNt2xe1LuJOJHS|TUiGhazx(V@BKAX3LjA?N7QeyLHU z1ab6O%XtHZjo60o9_%L0|Cq~5v;&Rg;nYe=fc|M=NY>SG41FK z+{m~@KBrb0Bs+iB5mjbsX`LmLm!ZmmB)DIb9+&V*_u8^gtyd-kEH60mfj$~8>v-6@ z4$^3jEc4Vd+|+E$&_i{}Ne24c1pxP60H42E)XFPXZz?(|Q+xK}bd1kLO$0F}7~US@ zzC{&5&J5a(R2`0r<8z<$k<|;AyI_|DKp@k!7jY&*IhNglQ63P3yR*McwrE z(I1#X0V)r$1RfVFM-IkTX+|>E3x&D^tc9Z~J8jBA`OgMjea3tbBNM~7^(48wXUr>) zwIhV3?N6=Xnjd`-h?B3!+7+VOVWn;REQbL%QL^@L)V0pgD-am?#hDiesV8Y1M`#2t zP|S>{xz-;3hm8_5Fh^sBRcDl1()_mZD27IH9sQy000BK1X6>$?D+Z#i?eA3smtz zREw`!E2@>XdCp{@{UG=9(N)6mini+d&|)@RM=}P6-Og`^hYN!cl@}DRPj5NWqJXOpq*rl(k+R#9Axq;;dU$i^ECXna?bb|Tgaz%V3uxyL(GL?_t7?Y)3k{U zrP^gK2Lg5F-d%iYq^!ua&mHFTU?_c*ggKSqR+N6t5uW0Wb21Mn-n7j^X_M-IT}`W? zQnA(V0ON2qkK^&~Po@aNpkUUJdCWB7`PteER?(tbG-J_E>x(uMb6lnX{jJtkq5ZXv zpY2>|d+hwG z^2I34I8Ti9aw~MiuxS5=M<0K0jvyJTGmS=G`@cGyjk|ocvXJ&ot5sV?wP0q!wTw_2 zjSq@%4##KDNX%ItZkrikUeam}EvE4p{MKv2hNra||MlXkw1IG+;{Vi=mFEJx=yGilLXL2Oo0FHrO_?-RtSuNf<3q_@jFS ztGc$rLLmE4NH3qMk&;mfZiG<#~?lb#9^rBjRkdRPnxrzji z2tLCUn%g(tpG+oGwV|$I2V6pZMyZVPL4U9QadI7wQXJS=(8$Ef&);~1wwMI@J+^ns zkVF~qR{k-kA?_-kep(s^B=79YFN3_zu;r+g$89=%lzmddhBJYe*C&w7!WHbU|Ij{sAg#C z`}d!KePbPfFFm*@FUQr~Joc+H%R1JrW^o4(Z{>x^7fz8@8C8!Kf-%|y1uJYxc&Nzj zT+Z2(LNS*@*%we@Ib(ZS24vu|-xzpnmpHMs040ZwRfc%yx1gy^Y`Yj`g5N|}1!NsD z8~x03r&tw%-CPJ(O90yoqS-5F9mSGdhHMFGge#+1!+R}DoLWG1 zg!oMV0p}@fnhob$-Xl5&0-$n7O^D+@>W!~%TnZp*@%?k!)FQ-bAY9~WTAIdFt^$m_ z8>^Wqcikk&r}=D=vaH82oh}_#kw`0o(Uuh1Rp+Bj25~SFzZouT_>K60{WZA`@Sz~` zU^r4uN-Ao>rx%utso2!T0SCekAaZ5J8JP{90gqw>o9LO0LHhCG$vcHN!2LWn>Iy>b zPSysbA>k(UCC-I_HjOdon171iGI5`HLT-@Mb|8jPp;2|wT+&QoEt#KTINdTV!Md$P zrR&bDNbvS^=6uQ?XcXpt2>3kh3**~BhjDTX83)P7_X~Y2Q|paEM1i{toJsM&fDQD- zhguC+(Rkx#?YSOs|IFd@)u$`BE$*)ujOY@*wf8=TbYZF=Op9fo|6M%jGNA@Q;YLdk zNwC}TTIcl7mWA^*M#&)me^efv1vTLzjJ)$|v;h+P8}1 zu3H}QVumIL7`I(Ly~QQx*LR-YV*4GicgjLYx9|qlJ3p%ydzLQw^&`1@>y!V2y1!A+ zAV!JxyllrGuyeiyxBp+rPfE+Czfp7<{w0H}SFY?;MtCj4M`4=4=Sqd9pn^ePOJv9Z z$Usn_*RXZ{mDv^1^=5!zwL2k)hVl`k$cH~)wMzlaiaq@a{U|QF{S5-{Zf-eW()O-C zJh1I5w`!m<@+Wb|NQlo}acQIpEdqq-&}>|OyQ}WV!vrx#T7yq|W0heC??7-9Yg&@X zWC}8WSKjLB+B9;^TYptkf_XZVL`nS=I&RFIi_8Rwh0b(0$}PQI21QJt%xIUqe4x4z zB6jbuQ`tFMEflMh>UVCJ%&mZRTU8h02A0@&5a1%AyddB9il9&+D2D2+$Wq|iE@D0h zJdG9)xyh7&l<(>agjrn{h?fw{jTb9+8nO7v_}F~TrQLBPz?kIk;jD==srAi%{=B`T zC8sdRc%0<$Z?(41k(L zwI8|-GH|DA0Ip+*s0cj-#RHC33_H~xc=LroNRNWx`&3On+9qtBpU|-{*}$F0RW5ZK zU$~QjJBe!o@1tLZUDBj3U~R5hyt#?JcnYi|G*w{#MN-`nLEfu&LC8_0U|^wL@q+&X zP^y*1Aq0=YP!qrhFp!WKqU7ojaO3?BTGX%4Or4Qk5AiI!`RQ#Us-- zlvM6hwLWH#RGsI?#ce!T%!h1xZi}Q3g@dIER8O@?yLk#a7<5)>b4`MvA|oK};5HiV z7|d)C(@2a3ox%!4iWnLrlD_Z@uKQBl4nz1Z;yWA& z_a8odJ$g~8JjGAxd?DisAQi!MYTc^JBA4o=x$zxvVQQ4!9pZDB7`9)aK!IAT`gjCe zc;|`AHUhqGgj`@aA9UPysgaC|@B7yr7xS})fgM8mNidSKl@*DPx0-xDu7&#!fm4U+ zcN^Ys-P+e=M61>k!$%WspbB|<1o9RL^YD;WVJnTMWgU%axx*WmE(tz=Q14vjvMk@|RE;%HP6CgRu!i~ax& zOSFWl<;yQ^7w4Yp;WhI!K@UJBI6D^$ZHV0(_rj?cpBMs5#+6@4rb_>&`h{3ghrO+! zYUiA!I0Kdmjs3Ezz!3O-0YvV}?>IS(D*~ETN{9P746exkiCOd2PnYyxp)SfBJ^rwV zNt>G9cl0>x#n3Tzv?tE}olnR1_Q<#;4BK-n^z;sTa$=i8{ebPxb~b{_2|=it+6`S~ z&Ja=*hY&Vb3n*By$Y6eOZz{Q8# z?kar#<4_2ttRNgT1CZ|K`gUy4`q_Db!!f%gemx z{m`NJ%S@=ek(CRTd?I}F5qD>`MN>^OxwiI|7qJHF-u7MNoCMINU!c0O%QC;IxTDBP zZ)@Aa^uGMAj-n1`%@bgGkSJzym)4FUn!V;kMpH|7KsmF;llt`AC4Z$sQ@RC3jP-2P zsda!^*yVCMu+O)NZq9pPZPk+K7DL~Tge8_fRizzDa*eqen9Wd=c7XKt3b3WfSf;nM zFh=~21ncJ(o|S1L6&O57Yu}1$^frmBBEBj4o4w`N;HL2n@-5O()259Oc3xas31>uH zj-Sf@oSvhorMBVDP8?`N6Pdi#W{)rbR0@#a+pIDv1kIzw7tL)(s-zo>zK8OHNRRAz zzygl0Yif50wQNFmywQm89nZ5qzP=CyV>_gCJl?vt??HAp9|htj-JenN6Ie%0o%lo3 z77PPAKa$0jX5!EmYR{WbbkbrEmYkJQm@Rd0%x%k@hu;`6zrc{O^ZErEE#3W$)_#}6 z#jLY7IgF(2g$OmGco6U+)IR|UTi-@g`P~z;O2T!@#Vv~5E8KWq2rIK{ujnI42PVfKgp>Mn-^)<)U=V zE_c)pi7%shkFgb3TWQ|cf|=jhyZ!oXGxM#(8;{1&?T3e~o#oHUxYy_8WQB!?Ci(gE zERXhDt)H84_XF>{~^4YQ^AqHf63SP7EIbzR|9;qtMRet z$V!+NAJWo7Ulh53?tDCWc?`1y`(?h+ECvQcn^^-_f|)J-j8y-U(qa+L8RF8HlG1dl zZDd-Qw5RP7qcW{S`-)!{yO6;u;LOjGa2GM%L{w5Y18pgWVuYYHa8L=HoHw%Q{2jSn zY=M0I@ z1NWm;3LnoB5&5FYQX4R|VAZLLe$5prl1R8KeCKLPSSFNWd3|mTIXU%V2eL{8(%W=% zOG|m2-&P87=yoxSlcGfktdEiX@r^5QpEV3y>b(3bw{3-Bkq5Ah3fzxw8JuZ_t!-|}>E zUcHbb-f6l)J?4v)TsbKk;8avkKrEpwBR9m`dq!d%~}da97vQGa&N~-pw5-ooQlxxOoQAVjwxW!NlUbY@7-H}FI?^G0f|w} z8k>#!50@;obdR;U2HtK;eVfOvNuuDm!duXsteAozvfgbY&qf!&wMuOTSRt>;QNa-G z|9d$nh#BNJv2P^bs%}&V^z~mzMYpx(i0{BY%Xq`>w%wY($TC5w3p6?URYeAqv$Aqn z<0t1Xu?)394!h{4y_Y-qxzhK@k6L;5WPN$$~fjP|?jl5O9zjcNvR#W+_{q{v#8 zwj<`=*tmrxePoY(;^>eQvLk6ev$fp$+`%KV8?Ix3@=5r)QfL+XY_^f-s4sR;PY}bQ zk)byi%I|GJAnanXF_AApUy-r2r<$8U7(dipqetHjTb$ZZw92 z>F&c@QJE69eT~33j@JA|>-eiwsv zXWbxmT*u(>*%8L8BF0BNuT+KfZg*DBsB|kDM!K6xaz_=(f9R)Yz2Azs-Dl5E8!ohh z)ZR`;tgpCqfQOv6KR^5}1X&p&svS@ci81xON-E+MV2PTJJZ%!QeMX4Z#=2#^?9K*# zAr)ciElf)zg_riE57bsgQON zFe*F+Tc5{Fxcwx4(u)||f7!Ysdf7Ia1DNB9UHS{cse073^%q)k=wTw6Fg@|rbsFZK z*9km)e^1qT_+RkE|H3XB6__IwK=ufeMOI{bdR6xoXF+IY(MvSrGgp!fjx#kJ_e$}O zO+!?-Scd3=YlHm`s8jd&@V*>qa`y$T)WjdHL6cMHOlfKGs$**W#^-i@d=Dty-xenJGaUIM`E?@oCFxG3 z6WK8lC*PiMT=;?AXW(A+o@-pEvc@0BiG#zl2Ljs`Y0SG5(;SD8M>blJqfmJg7j?09 zR`IJYmzV(-AR6|U>B;?pTOR;21Y(;^3(@NUcPp~EZj;TaXg;xt&y{&)wu|J7*BkG$ zR+ZY-*4LQi|4!B&?NQf;t#U$(C!ZcHs)v_O;`_7%K_Ov-pb!_5_dzf$FYlY$T5iZP z%svcP>lj%OOQ}&}!NX%JquyFAEbKJSXZAGs=peVlYGw3f zC=Ud!GeV*VJ0A2b6+to(oImSpDmz&AuZjkjSUb6$vB~ln=nFW)*d|~ZVg)W9c|=5E zA!PUK^CI8kEid1(_ zl01TO2)r+xs9EtH2!tZZ?b9wovt)H>zd^HouM481>iPFTGJV4SGpqhxP=ex&aW50( z@$6~cP@+Nn0+HPzD$7mCrPxBkUc~Zi?h%8xxi`!EE~0P5y;0cR_xUYzT5M?*6#s~8 zR%hM(?HsN@8!F?ZFYS0#NiqJ(xbB z5RGVuljwi+JGZ1Q@(zlrwV04md$I6+u+*w-AxVbwBj~M0f&RIc)0m$s>|EuZw=!H>2S!8ryGcY2h3M$l_*3&#$VEiH zg8M!u%Z92!;&jf|w&r@Rwp=1~eFYcXK87F{W*%h_3IuN6nYY|o@`e>HE`%zgPksUd zKcjtQLg{r23c`c+;Y%HAY_=|%wF9=&CW}+-MxmPPqi3wri0RY4Myr~o*ia%O;(B;X z(c4{kd0+o*c7T&_G~@jCxQ{E{v;*z;`+nE)&DC@ZPhi!K;YOy!y4$?&PzX8k%S~rd^!Exjqgb;IM_^1v;gVha?Xp{(Hk^fsgE+_#tf(x za9@Fll*_ka({HmE&z&>pqoCW`*h>u5k7m;Lv};W&+xvh1{3sH3vbAck%1fY4SfSra zRF(&EKq`@X4OLw(b;=Xu^3}(@RROIUd5@qcZPG_R4^2nE%1ndWhy$iO6AV|pvdO*) zW{8tuzo&yV&SiOCUoB}Pi|L_|qQ7uD#-nw>2bpjX-_T6Bku(oX7z__&Aw)|lc4_^ZsIMSa~NLFKW9cbCI0f{w}1hJ+_@Waf#2L&%9F5 zJ1u$WWN_3>)pFvp`TpHx&F?(Bt5@5v;?IjtCg*He@O$rK4%x8n!^wXnxGPP?|Cjp# z)(FEDiZcLme}eDRd#>krxkrFrUAi1`bi$bCi~BiOz%*Y5CbmnQTH4ws=hjVZyj{EM z3WX18%Oe;Ng8HN}(_4?=L_{fm7lS4ToRR$S=GarO0gShMfh6NgoD>7M(`OK=Mr&CQ zZ|rYl#D|;)?qJLm@*CF56_%YV{KLBL&hV$>$-g~lSFfgBcQ-vpNqs~-0V2;WaEsGi zqu@;N$7~l9V%vj;726!YC@?ec`%#4{juiYhrPD${-bITl8$blCY`YT&P|4n^tarx zk?tHh(n*hh9a@!jxWHNgb_l$8ze^B|$btkV-23}ja_3=<%;NWs`o-=W?t&G?Wh6MB9#_hy04gQ3I2T)(sC&}pYMuvo0XVVZh2#01cc(EIDGT9CJeLK<#XYKR)2 zl=Tz}I*$>rI$7ub*l%q*nztvvfRBnofxMT-%n?OD0K4YKIgsWJ^>6$0{JjrTOMCaO zz5s{*o@=LpXzY?oY^+_4X?iJ}&VGfHyX8W~M8iJ~SGJ!lH4r1=pq?k%j9UjVJ_P3YYr9mOu52yD zNQ5b*hR{^)k7lQXK+TGK2Z~gcwDsnzk~e)8xwP)P@s9vv1buwWHq-dH@Y1aiCm>U3 z{){OA649Y{?VBnyu?^-Qdgy5R+OMe9i*_T9{|j5!T^Tot7|c-zPpI}03Y6KzQSDN8 zC>j9_FF(8@l9%G=O=M1n#d0*LRtfB(HXJXsX%G45rG zxej%1R&0DXtnboqcddlOokGF+P}jQ&{0j#K?K@Y#*QlYhJ!kD#*RiuK|24Y)YiAa1 zEL|=q`@ZHCe_Bd}R`rLxqyi;hlbXm^##d*30zZx+;-qc^f?p_*cnRmup36s1 zA3N3@dF3(=Xku4M6501eT_wI_@yHlAS~#;GL#W`F+(x=`LVNST@CaIA!GzG@;JO}x z8RIXKVzh^qt{$A2Izj=EL%-( z0Rhc*i#}k}Xg5?unFMyy!T`<<)mK-qQ#QES)yG_|JkZ@F*8RW$NBGXebeEruScV(% z#Ru(hYc1r$@J8ehxWYc6v|~gE?*H*Gy9;tC+Df75d)8okfB&t$yGR>Ru;Rh5Kc{?$ z>m)T;+b53b`7+{TFe2?l=01+`Kladn*t|)k+MvTb;Mea^)UT9S|N3vYH>?tw{_CGV z%Dwu3`R#1i00Y3tT)z46#DKFmH9$XYz`#@|-Qvp0zy8ji2+jE9dRzVOrjxNv<^?AX ze?O;#U*JvpbD%)*8*mj_?7tc_l%SOnTyRZdU|-~6mFV(WS6(X(FX>-r+x@CGU|?OU zJnvlLP&MIu`vX%)ja9lPUa`!MywKKQ3*&UBC-HRe_$C#i+F~|M#SuHpQ*qXmNl6yY z)K4I<1k1(oB9WJGW&kn1|7wWlDo*4=x*F6u@k({O0y;#RMDb{s+?;-K$Fj>0^fsiM z7GoOd8s#DI<(gf+L31%qZGg@bTmAIj@mD zt&W`Xfrjf?G`CCJvVZhmP}F3;dGjX9^IwJkQ`wb9HFd4++jgn9%7^w=t5x(C3|2vg zi>OGwV5L^0q9~IINx-i~83M7$3veL2O&tznTdYy}7^E4C=Bx31HwE7}f+*z%rwI}DS79qR%53G2LOc}(@_XaS&}yo_1ooQDPnTT~CG?`DK5 z+v~syDvNWf1e}`d4RRLrFatn@XKhJ$a)#pn*+*O_^IN}e-IL@n^>_I_P+S$n!Dsi! z;Q~d!2ZF}l>;g-byL@2d6GS4D2sNfZwgc}*Bx^@I2NIF9mGHuxFP#qdF57=P;?2Z_ zf6JRhbdWN<(Ohq;6;sp8e9BsNHEqYxx985;RZ@<{_dP7iw;eQC8C%1}nb4_CBv2vz zMK^D0ww24eOE;lEybvR`41SpbH(2nZE3dXtIzCm@4wK_6q2fuxy@7-geEh9M6j`_A z^%QmH)5Yy@ki7jsc6vZr(uG{$~qj1u#xw@ssJ!7LdkLsDXsWJiAbW#&%HdWJKSRoD2`)LQ2A_x zz!`qH2qxr#9S=E_%FN)sY`d*lu-!^Lj&VJiYl31E5)uqoFZTrcE`KyoJ)2<1;lYuS z3lXoL-ydOra}Z#5Kb?aBIM8DEsPA|t@|QmR=sI?j3Me`HwDOiqxo=26o$ZglM2$B{ z{B%?)xeBLa>F=wb2;6i}v3&J|LZCDm=k?VWqsV&OIp{t$9GIrQ@|PT4+*iqV@m~cr z;o^^5zqnkoWS9UJTQOBLoZH8bNt(sW3A-p$-y6j}cW74v*jm}wYZ#6G3)$R!3MW!2Rl$q}|Pkp1? z7miO!G!Bd!NIJd5$AJ5miS8E7R6C@F7#SHG`wq>k?|hk;QLN()YP5GVr+@e-y)Ayc zE)~W#;NXkfoP#=tAtae0)i#hL5uun0w<4ajy5WqEh@FAz-y@^wvZe&8C#(Z2DOb@{ ze!a<7sAw34w>d%GyUA54xw4GzM2`IO_E_=X?w&dtA?Qi3{H^iK&Rx4+3z_P9Wo&Yg zkbKu&!YcqF!K>KnA>&V6u5^-)x3cneJupjP;-`r}>TStv9G9KuQHiXXMtD!^EVct!+qT6Y7iFIy-YAFPwRNRd)@txJ-#UEMl3D;omL? zhaD0EFlvG`=&RVjHc&4y=XJ|opvTk2*N<+&i2?BbweSNg!(2gzaFWD+t8ieIoBUuh zo2ZMOj?%*|61ip?_Kp(LDA)JIKzhAw0)^GYBm}$oy-E{W7|^0bAzZ;9BMd2FbJNPq z-zQPz#g=}zOBAZ)Q0zx$NXPB%egPuTF!Rl{YFsoniqgwwN4={*pvgob zDoFV^m7pB*^7Ksf5qAg0{9~($nU+mbwf4(@o$NbNc35A@xr0g9fi;srgq&*eC>gq- zo~GMwmglK?6a-R|R1_Xgym_SOuRwU~8#OO8x!8b?u{6_p1D5+7)?N8$>F-TTJ47g{ zsHo_jQBUi4R(|&BDad95aRE%Mc{JC*GMle|;oN3~@Qu`>i5b>eMs2g@7qO~Rm%sO# zoL3-7_UpOh$@Fg0iBw206Fg6!{&H?^ZjHoMc%;8rGpethvO$q@wADc`@#>;lo>uLT zUS-Tj1fk+|a)dx2rNQ4#%IX0-*MS~YmNv!e0T(a;0ufTz%y#^?yngXtoz?wpYWh+(Zqc8MTpMJZ){1Jd!-0F!s=5QHon-~! z-E=P|eR@f^zR29nOt1DksYN_wB9astP_Y0j)%TA->L14kJO!12MO5*flqNU{<2LMW z6AJa}i>kY_WUma6w0LD%XjmZVn%qW2CL9t4e09Hpe;p^nos^1m$*b89773A1n27?_ z1Gi4#L~{abOeertrLqd23Q9{wEJ1GWW#jYeZ(8L9YZz7O0@WDnF44uWAKU;s%w8}f z8FRuR8l1+iMY8q~Svzi}jztE_^fN!w%k~^PXg!^nC5!$iG&ZF}Ir<7Hc&Z>mvLeR& z-vQJ)@ck++J6AOOp&!^rtMH1UX~PTFhRVrFZ#unU#UmdvO7E+IXmluHb2!H@fAznP zBdP8MGYwF?(0p}gin&1iE@7-t&oVIePu`6B8rpdv9om8-3MJwxasUOm0rJ$KroO`n zHsv-pXxx&&1fms``kDXWx%7MqYGC<@vBuvC)c^mV5>FKFeJht=7icDyQ^y}M&iEwh zQ5IcnJe4lz!kp}UJpXSuJ5_HL@LVw-nQ9S*Fn3|0m;+6#V4m8(rS`kF*4E7(0c#fB zBb5nE<%fsZC^e&cc{^W}Ex`_%3g-`0fsglpMmk~ndzc##v1EQ!XY3rsR5*T<9L!7^ zbb4}$PWur>d$%Am^4%x~lPJuTLwvc8Pg2*Ux>g1HG#(rCntQ%ha5c+uWAEj!_J6-` zUwmKN>~HFS92EzU>NOBe84#y|y_yg#%yFb#P(_Wg3&VFHJ_Os;@%v!Q>rOCFU@~0c zn>3s$-_9C156g})2#V!6pz2`aly}}%AJctQYKfHH&owVSO`O`>Al63JyIo$qrdRj0##1I;$BNxa ztgr9CT`aU{IvYCs<}Q*qrnvgIp5p6 zD&iUq2@B=ah0gsEfe?75g+A z$#p}=LA4d+H2JB_nWPC+{^wV|z~(-1V{og+(J6qp)ta_cCS1Dm4c*(@9^p&FADYe- z)9j3m5_Vm#?PERoC3%OX?Ea_{^GD&|YN|Ig+iH4XGn_-TjLNLpv)e#N8y=TzJVXMt zyL2q6q_FVWg|p(o#s~M_E*|T7A=1wduu$L*TLM80{O4_iEP(&qcKsMzq4nzofvETC`k?hgLPkAx1V02f&25UPmWCq}EbBq?_DPM8eXp(ON3%>KfXp@Fbr7%-Mu&Q zx!oUmqkj}K?E#3XU(2q1!9>k(-FG^W^az3bHfB)Bn>O#*xl^CW4IE)2(&0bSwUa1> zmyf?y_Wo3~#)#Zy3lSWnt=QjDLg1VyldT?}XL0NF2Layl^7T!1Cn3<(t;>vg7LL+# zX~k-ymyeIqi{a&Eu!q5eKo2WJQ;MzY;|$iveNu4k*I&1Pn$g_U^vMMpnVdKKo<^Rf zv!55L7{{o@<>eqAt4-Nb8Bl3 z8V3j_XsYPcz8mkNQ|HFsMW-|?=kj9eyytNSV{BZ-co}50wFdd~0;KI2L7%GcDP*Zi z)AJ>NlF*s`&4SP0#gxh!{JHo-9rgWoJwJUg^I^T_MU*~prZ39A_%Jq1y@J2L`0U-Y h|6M%lzq^~a@WFkX_d^dbViw Date: Mon, 25 Sep 2023 02:40:24 +0000 Subject: [PATCH 2/3] Update articles/20230912-porting-riscv-ukl-x86-build-process.md Update articles/20230912-porting-riscv-ukl-x86-build-process.md Update articles/20230912-porting-riscv-ukl-x86-build-process.md --- articles/20230912-porting-riscv-ukl-x86-build-process.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/articles/20230912-porting-riscv-ukl-x86-build-process.md b/articles/20230912-porting-riscv-ukl-x86-build-process.md index 8063ae0..df09890 100644 --- a/articles/20230912-porting-riscv-ukl-x86-build-process.md +++ b/articles/20230912-porting-riscv-ukl-x86-build-process.md @@ -49,7 +49,7 @@ tcp_server.c 是一个基于 epoll 的 TCP echo 服务器,用 C 语言编写 ## 构建 UKL -Linux 中的 UKL 代码(由#ifdefs 保护)通过使用特定的 Kconfig 选项来启用。 +Linux 中的 UKL 代码(由 `#ifdefs` 保护)通过使用特定的 Kconfig 选项来启用。 UKL 要求编译应用程序和所需的用户库代码,并与内核静态链接,因此不能使用可动态加载的系统库。所有代码都必须使用两个特殊标志构建。 1. 禁用红色区域 (-mno-red-zone)。这允许红色区域在所有中断等在专用内核堆栈上服务时保持安全。虽然我们可以在 UKL 中采用这种技术,但这需要对代码进行剧烈的修改。 2. 生成内核内存模型的代码 (-mcmodel=kernel)。因为应用程序代码必须与内核代码链接,并加载在最高的 2GB 地址空间中,而不是用户代码默认的较低的 2GB 地址空间中。 @@ -85,8 +85,8 @@ CFLAGS += -I usr/include -fno-PIC -mno-red-zone -mcmodel=kernel ``` 指定用于 C 编译器的选项,-I 指定编译头文件(.h)所在的目录是 usr/include。UKL 要求不能使用可动态加载的系统库,因此所有代码必须使用两个特殊标志构建 -第一个是 禁用红色区域 (-mno-red-zone) -第二个是 生成内核内存模型的代码 (mcmodel = kernel)。 +第一个是 禁用红色区域 (`-mno-red-zone`) +第二个是 生成内核内存模型的代码 (`-mcmodel=kernel`)。 `objcopy --prefix-symbols=ukl_ UKL.a` --prefix-symbols=string 在输出文件中使用指定的字符串作为符号的前缀。 -- Gitee From 20865e269f13a9e429cbadfce5a33419ff44c2e8 Mon Sep 17 00:00:00 2001 From: Gege-Wang <2891067867@qq.com> Date: Mon, 25 Sep 2023 11:39:19 +0800 Subject: [PATCH 3/3] update --- articles/20230912-porting-riscv-ukl-x86-build-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/articles/20230912-porting-riscv-ukl-x86-build-process.md b/articles/20230912-porting-riscv-ukl-x86-build-process.md index df09890..7eb811f 100644 --- a/articles/20230912-porting-riscv-ukl-x86-build-process.md +++ b/articles/20230912-porting-riscv-ukl-x86-build-process.md @@ -51,8 +51,8 @@ tcp_server.c 是一个基于 epoll 的 TCP echo 服务器,用 C 语言编写 Linux 中的 UKL 代码(由 `#ifdefs` 保护)通过使用特定的 Kconfig 选项来启用。 UKL 要求编译应用程序和所需的用户库代码,并与内核静态链接,因此不能使用可动态加载的系统库。所有代码都必须使用两个特殊标志构建。 -1. 禁用红色区域 (-mno-red-zone)。这允许红色区域在所有中断等在专用内核堆栈上服务时保持安全。虽然我们可以在 UKL 中采用这种技术,但这需要对代码进行剧烈的修改。 -2. 生成内核内存模型的代码 (-mcmodel=kernel)。因为应用程序代码必须与内核代码链接,并加载在最高的 2GB 地址空间中,而不是用户代码默认的较低的 2GB 地址空间中。 +1. 禁用红色区域 (`-mno-red-zone`)。这允许红色区域在所有中断等在专用内核堆栈上服务时保持安全。虽然我们可以在 UKL 中采用这种技术,但这需要对代码进行剧烈的修改。 +2. 生成内核内存模型的代码 (`-mcmodel=kernel`)。因为应用程序代码必须与内核代码链接,并加载在最高的 2GB 地址空间中,而不是用户代码默认的较低的 2GB 地址空间中。 3. 修改后的内核构建系统将应用程序对象文件、库和内核组合到最终的 vmlinux 二进制文件中,该二进制文件可以裸机启动或虚拟启动。 4. 为了避免名称冲突,在将应用程序和内核链接在一起之前,所有应用程序符号(包括库符号)都以 ukl_ 为前缀。 5. 内核代码通常没有线程本地存储或 c++ 构造函数的概念,因此内核的链接器脚本被修改为与用户空间代码链接,并确保线程本地存储和 c++ 构造函数正常工作。 -- Gitee