build.bat 或 build.sh 时经常遇到问题
-2. 原教学仓库 [2022-fall-yatcpu-repo](https://github.com/hrpccs/2022-fall-yatcpu-repo) 并不支持 ZYBO-Z710 开发板的烧录
-3. ZYBO-Z710 烧板流程复杂、为支持烧板脚本的正常运行需要学生手动根据助教增改很多文件,开发效率低
+## 为什么需要本仓库?
-**本整合仓库具有以下特点:**
+1. 开发环境配置困难,为配置开发环境需要付出很多精力,开发效率低
+2. 学生在运行 build.bat 或 build.sh 时经常遇到问题
+3. 原教学仓库 [2022-fall-yatcpu-repo](https://github.com/hrpccs/2022-fall-yatcpu-repo) 并不支持 ZYBO-Z710 开发板的烧录
+4. ZYBO-Z710 烧板流程复杂、为支持烧板脚本的正常运行需要学生手动根据助教增改很多文件,开发效率低
+
+## 本整合仓库具有以下特点:
+
+- 提供基于 Docker 的一键环境配置工具和配套文档
+- 提供基于 Vscode + Dev Container 一键环境配置工具和配套文档
- 已提前用 cmake 编译好测试文件,无须再运行 build.bat 或 build.sh
- 完全保留了原教学仓库的代码段填空设置和项目架构,代码迁移便利
- 支持 Basys3、Pynq、Verilator、ZYBO-Z710 四款开发板的一键烧录,学生可以专心把精力集中在 CPU 的编写
-YatCPU [文档地址](https://yatcpu.sysu.tech)
+## 如何使用本整合仓库?
-Tokisakix [个人博客](http://tokisakix.cn/)/打广告/bushi
+下列内容主要讲述如何使用本仓库来完成开发环境的一键配置和一键烧板
+
+1. **使用 Vscode + Dev Container 来一键完成环境配置**
+ > 如果你已经在你的设备上完成了开发的环境配置,可以跳过此内容。
+ > 此部分内容搬运自 [YatCPU 的 Dev Container 环境配置](http://tokisakix.cn/2023/11/14/%5BDocker%5D%20YatCPU%20%E7%9A%84%20Dev%20container%20%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/),你可以前往文档原地址获得更好的阅读体验
+
+ 使用 Docker + Dev Container 配置开发环境比较简单,而且也经过了测试,所以,我们推荐在 Windows 上直接使用 Dev Container 来设置开发环境。
+
+ 按照安装指南配置好 Dev Container 环境,环境中含有 Scala 开发环境以及 Verilator 仿真器,但不包含 Vivado。如果你不需要烧板,那么使用 Dev Container 环境就可以完成所有实验以及软件测试了。
+
+ **软件安装**
+
+ 安装 VSCode,直接在[官网下载](https://code.visualstudio.com/)
+
+ 安装 Docker,直接在[官网下载](https://www.docker.com/),你可以参照这个[视频教程](https://docker.easydoc.net/doc/81170005/cCewZWoN/lTKfePfP)配置
+
+ **安装 Dev Containers 插件**
+
+ 在 VSCode 的扩展处搜索 Dev Containers,下载安装
+
+ 
+
+ **使用 Dev Containers 打开项目**
+
+ 我们可以按 VSCode 左下角的蓝色按钮来运行 Dev Containers:
+
+ 在上方的运行选项中选择在容器中重新打开,这个命令会让 Dev container 自动根据 devcontainer.json 里的配置信息来创建 Docker 环境
+
+ 
+
+ 如果你是第一次在容器中打开,你可能需要十几分钟的时间等待容器配置完毕,如果在配置过程中发生异常,请检查你的网络情况后再次运行
+
+ **运行测试**
+
+ 上述步骤完成后,我们就可以像在 Dev container 为我们配置好的开发环境中运行、调试代码了。
+
+ 新建终端输入 sbt test,期望你有如下输出
+
+ 
+
+ ```bash
+ [info] All tests passed.
+ [success] Total time: 181 s (03:01), completed Nov 14, 2023, 3:24:02 PM
+ ```
+
+ 后续当你需要再次启动开发环境时,按相同的步骤运行 Dev Containers 即可,此时 Dev Containers 会自动使用之前已经配置好的环境,不需要再次花费十几分钟等待环境配置
+
+## 外部参考链接
+- [YatCPU 文档地址](https://yatcpu.sysu.tech)
+- [YatCPU 的 Dev Container 环境配置](http://tokisakix.cn/2023/11/14/%5BDocker%5D%20YatCPU%20%E7%9A%84%20Dev%20container%20%E7%8E%AF%E5%A2%83%E9%85%8D%E7%BD%AE/)
(PS: 能求个 star⭐ 吗 QAQ ~)
diff --git a/asset/devcontainer1.png b/asset/devcontainer1.png
new file mode 100644
index 0000000000000000000000000000000000000000..46a82aa345f2719b3d67c835ba1fb7fad7dd8d7e
GIT binary patch
literal 398780
zcmeFZXH=70*EWh36%iE`=~h4y5RhIXq9D=~P&$!~5L$@z8X^c-kYb@p35bA5Z$Vlj
zptJx{T7UonDIv4~Aqk|OxSw~A?fZV`oL^^*@B4Aq7>tm$xRd){Yp!cv^O|$<;;xw?
z{~?h>JUl%7Mz?QT@bDbu@bK*4dtg7e$M);53hv7;e+$DKJmvjjMDCltAU#t(9-gWs
zKBn_N?)!s}Z`=Cw@SM8%`)8Mt#f5bq9!`PLO+Bj+rxlh!*2&>)0tYiTX^6(W)4e
z_(%|;sozX$cOQPie9yVdux}6aZe3TreEc<_Y}5Ms!Q8TIyZc~zcNN`bgAPRBe0S~M
z`&_V>@$IL(n1a2J;(Faudmp)_cbnZ-QZ~uzC0N5hhc_;d=-jVgTMdWMRwF6rF}wl8
z#g;{8*`L=Q<8#R2X~4(^?v4J@p8V3=7Wm^m56_cx`u~UZ43^KJBI_|}%OjD7J(oWh
zgmdynl>Xa2^PI75isgi*!EPCpm!!QeInrZ2MX&Q3J+E*l$r)>l-t)&_=gtxV4|69p
ziAOTjcgj_NYVJ?rugW=Z?^pn~OIsD=(X0SVJtG3`gIzT&4 zan`D{2#hkVqB%Oay}H$ckDk5ijVhCT+SUPGcN`LShq*Fzt(*avXsBzX!PwF|UrB|H z2Vk_kd#fsRZFXRj7!CF93D~b01je`wZBuB$L+M*-%9OwqnjFuZrExB&d%Yi?1fYX$y0%sG?>4 z;pfjUakDHj;|8EGn`y6R9(Pgvw sK~l~Dh%O>*!7{5JHhk3e5`x}_aK?M=tP^iRpJx?6y!$mKiYYm<96th-Uwg)w zYz%zsQM1tXRuoZZGWc1c_o3)v9ZU?4^lqsrsOys#pJdln>^!ISIOS; mxps;hNu>#xHRhZC#!gDxi=ip%ZptI0Z6J)!<8O z1RqR1$(jNb{-XMi3UC5Cy sd%I#l^LqDt{@@%{X z(w=iEd&813gup1MtKJ{oR_ k4QL-3cHE+or3Y#nj$r4TT{WYAF&mz zhoZ1Xxe$Im1TA)?m~>*WenE^)YoI1^Z0v=H^FMyu(b)RLAiH<0>>E+tCZ29UFyn%j zEpbqR0o5haWqMJnTIcvwHX^c0hvp2J^=3lH>wz9 KWZ3XD< z?>M+^vO=bd-P7mA1CIL0*uB>^y?^Atl~2f!7n|#vdp{eqKB1(6#H |5?UceSJ!r*-2Wn6@EzKJUY?o8)TOM&()#_D)i9y! z!X6nEg?p-=D+RqrPct*#(Up7H4uz?FvsCk3QzO9OfHwIz28O>R3*X6t)mUdRMPXug zNh4|Tn4y16H>JG)VR%~)As@V`zO{n@lT3QUdl49^!A R%-<`RE^uYB7F7Y{VoD_raS-@g8 zV9z1+PVLirjTdT0h@7v0F8rw)Q@{ik?0+h 1uU9VsKu)Vot(vp$0s#|} z0AgZl;~}GpTR8WQc%m$avJdt(?jU2ASIOXyYBrg%uk+JEOLzCB7fW(V{#1RRH?XN+ z^ZhjQ?!Nk|h15a+#na%VyRONc(8KIW$%!gOmPd!1YBXz!H0ab4);%Eod2&N7V08VX zU!=06!*m?y+TKwKs8>f)Lty~wYX(jKap_ok_+L4}{_-$X2ACZj&DPmA8J#M=^E4u* zM6F@=K~a8AlY54i4+V2y6mHa5NL>V?9>Qv4sd?bTZfI)aa1b5lHVGw}*jhA<^Y2*> zg1O(pSFIlVs5IO8s(U*8I!A&UsRDKHc;-|QdW2c)!^-#&I7a2&N9qO#oA@#omX765 z!YOR{{Z`!vB4TUAX25uf`O{jMH`IM9&rO>brN*Rv^RCgMEo=vn&dif6SyNf(mu&n| zrdnI#Kb%nhyRPfmw83U}H9bkqy}?}9FY!)%aUd=Ip|RH91QS?+6MD5;9kcpE@OaJg z#~IX<9~;Llv)FxxU&~thMf<|t^81O1ZY(|);!+Yq(>->ak6K68-2jOCt{E;IXAvvZ z6lMTGclk b@=(Y)M=?jF2vk&>fFUyao5gQTx9&qrDl-U#aK< zRW7l?;4iW2VN)MEt*tL&c8`LdY&mULZ^1U39_aWq;N{e)eL(xVA X9 zW-w~?sY^}Y#G(wlk)j`-EqqCRHZ8Ji74~|3k-kKaqJn`Le@(*t%Q1m#PnPGPvZY z4Am!a&|Z@60c8u!s$BczEDw8rd0P*e5NC6F;mW&CYe-PL971X5BewFRUkWab-s0ge zR!9moF<8ZhnWEn7s?lzu$LO7^2Axydt^Ab56?ZA7-~zo$tx4|+f9V*NklEnGQQt^% zVNGr6J-$+qKRc=#G+0F;t_GV0>U%h2{80mJpGph;=&)uVuL|Vw@-WCm-)tPz%9Er7 z^~8Y$BM2Fc1-x5{a)`sI)^Mh;Pq?wnRdpXqc#A}ffSY}Ik|Q*SlKrq;PP8=`K2iW3 zP1OXGMyH`yuRSlubVVCVc#Rd#%si8H%m^w(JMgi+)xaZ2#o0SVJd3o8jQjz0v$x-e z*Yo_Et7O}-=AkyXtl;I&07FZ;*4G!f4V&6aRPoHLTP+lznAcz)z+p|C2JC7p{V5Zb zIYuAKY6r@9Wp&~csoPu(-R$Ed+FWVTQObQth?Oj*6daSjIwK@5fAHYu+*{Ez9w=L0 zvf!O1?GK&CVXMO^aSAewC9FDyo7ss!N|@>tm)vQPd_i+_Vw4;uxDSsI%I-6-XTRQP z&~Jkw;Fd-fbfrl9N!8 $Dk7nGlVnIHTa)}{;SwhFJ8`y5e@ zD;yXW_BOZKiKyk@aS4xX-%i@V{ b`5t}<^YXkor{T~=v(w+- z9gN&2fplxBsOBw_b5zvyGhC#|<*HcYEitxGaYEevfR4+s(=zaAXg;?7uhmoa31KX^ z+|C&kZz1X0)&fbNtbcAPlBmm36d4~}ce<+W%s7Kzc>g-TV7x(6GxH4?mbaHN?u|v> zQIogIlB{$SlNB!t1AynfU96T9G&{^Y3lr~&mk^_)8y@8V>|wDwnQq}(Udpcd9iY?p zaL?pBPcJ5EBYH%p6r<3W2HonsxrU}PyWUe$?%VmPOrZC)39YxdlHr_VubkNDKLdcX zCt*ooXbG#hCWu(-(dbY%mSYx9fs~J~MR8f&givN>u=l#|X=joWv~#KH0ltB~xpQ31 zn5_uvs6k9_Wq3f=)nQOJ?dCee+x^p()1SA<^@9l152&Z$h{0e*E6AELg6f+Pnv|GR z04 _ ; z7Lmx?2HW*Qc%;-tSCQf7lv>(%BP*Ol^?w!YSQW=P#L(@X-|+@W_8yKKJ5(#%smvL} zc>E{uyLE?SI!V_mHy=VZF~- <$^ zL#grM4pqve+Alc1JkuGJLh!P@j+^eq7PxNaM*>}Npk(R!R^(jfKsd4fWAOZ0BI}zo zvE_r)orMTTyDe@)Dv(RXP1GkdX5DBZ&*^fo2OUX9bDJ{=G3jUVuu!@?Ils|p+-Pj zZ{2dBTQ##VK|-sKsE r*D9lE%`qYOC7nqchYff5N0YB@L}ew?C#dw8`QE*Ksy`7 zppBL5biIO*bFKxB_Ph4%#}sXm*r2wNdXcyRT6F(P2GQSfkzJ=qsxV2{tr-@KPx1WwCvDW{jEy;2_GAoX?PMgB_9CKgGTd_-~Hn{-Rrr%#vc zGeQb%;%F1y@g8`0$=FyJi*SHib#GCZzgh<#M;x5i`DHPg$S6DdRo+>SHOzmxPAR z?Ve4E!dRbw{Pu;db8<|=K9x65uOq+)=dQnAX!dBocoyvz)>+3sY<4hUv|rT1I{w}I z?ZYpgSjnQVcp}4pA<7C$Ne-7NAMubTA$FvD3n?nu^!AyH4d5ACV}XOQP83~m-Y%&x z`_sm8F+qf1u`_%mH_5|)Y1@c@&sYvWhy73z6fyP9hJR$%(Ph*GI%d=|wZ57`F F?!KkG_eG^U12l)Y6*f_v$($FVS1S6TZ5 zM5l-J8NX4!;T1Ktk)dNjuU6YVP);r3=*^U6*Z#JOf)!)z5&b=vL`;4@c?pIg7weXv zZP4?YcXZ9dpE99y6@wGfgIHp^KP<3gkI%NA{!unL2AT}XU#%Q|Ezr8WMJqO)h*YI` zhH_nKO^!aNcAro*_^0A&Rf9mP!elvMRK>esmn4UMMhCuM>YBPU4z57VY0dpI&y8m< zFEwB@nyy(1N96Dxx$Gb5JnrT=Q1b)2Ov?XMndD=vmXngI>>~d%wI $M2Fpr@&Dv79aUyDLX4k%*kH4K(1aA|S!)Pe9$I_W8l!HwJk7`k7qKC|I_ z_-(yL?ewv1=uRP61?z&7ToJ{otFk<%s_Z~RA?Ec!_y(6ZzF^wsthHD!>Z(AeNwT73 z~dzRS&zU+fp3I2wI% zLa;yP!g1%+Z ii)5U%-e6pI>lsCz z0)8qCY-)k6IG>QqobVxOv;B*xZ#|430UNG>jbh%~;W9tLCI_P`&6Ywbqouob6h}$U zA6QYV2*%q9)UnRGty>>nadOn5U(|nK5R7akH)YL=^XiF$l!azU876)nsj0Lq8ZM5Q z{k4_Hnkw?cEsBXoAS`;eajOT)@B@G;4W?_K4*!r>18AzMn-WSe^M@$6a9(V7V~LY* z-yw}cr|fZ$TKeDlzAty2@-24JyEuO0*?bNHp*;4>2pN9-VlnJ53BeO1 kI)&jcakfO1_(paz5DshI-W}yZE6_U>um~ zs;p72e3hiy{-E%#-*L7jP(;hP5kP6T%Iv>QGZg5S6lm!W%MziK0d2>6PQ65a+ f(aqb0 zD-NFE;N*jP>9bq!xj^|iW_1q?fQw``$!+I?>+1CPk&+@&Y@*PkZ;OgXIC8f`ypr<0 zv2l^_0M*{n>I7rJssaqodn@7R0DI5ejG=YouCM$!r+2~vy#oBZ-iKXNfAn9*u0CI9 z4rWPy2Li3&?~{R#ZM!%66--194FOp5_wyJJI$!0OV??R1-m4af!hAD=pN@!X!%;d5 z&8^7cS#XV1hx5|PZ5QhbLz;)MWsuSQ=O2X8iK1zn!}+dlJ)SV!R8^xRXzvgb3*00j zgA2pW#Ovuki}x(vSUC{`-PMgdp^t&co0Jl#r%v_4=8b(5u*o$Nd3qEJpoHUet_I%J z5wL?aCKpSPAepA&Tg6IPclvox6cN;phaeb&E6bIBtzc)UXU`7qsFb>yiT$A+Eg`NT zbS`FQGxo^D(Hl39N~Oqsn%Q^l%^nE^IAbGP^j=iX^(QhHc-}ggPoK87+Wz)d%==C| z*zoGrd81 XW)n{fOm+5RG8^S=Kx;NRX@@&*hTv_M0t=>uGN&npFzfAYd~B5N zeFXAw8DLZ>&t+=!)n2@HMzdOUbYQ_TO(%<`gD|zmz-`8bkuQ}80frNx-WI?;!tGFj zy_k&gxFOw_o<)u}O%tmKHt%mkKEPt;&2!XZpVP&@DfAPhGM f{CFpUjrW}A^if-X`?(Mlni m!_~8nAtG__o+a9)0q6}Iq%M6-0Ozi=zdt=q{ybkzka^E+@a2HbzFVcr7q%JTXNVByG@ zJeeN2K(P$!M^WpZ32Cy@p=JF^AFZNeDh3H9hOgeZ%8oRi{aR u(M#pC10XY=XLRx<%av1q@9XOUe2h!Qj`ZP`cG3BBbB8Pwj3cYPa>yntX&IcXl z=+Pd778e%b>H~1Z0|Q4 x$Ou+ob7iez}dAU?V+WIpb UHQ6 zQsgC5Wa1YWnbDw=!ysqu5?gq{Ef{Ew3dKart-tGiN8X@77YHiHF{1+yE4$@!Nd6q$ zRH_L>%DeYMqHzQ0C)B-(=Fx!pFp?6H6)qk{el`LLueYIhggHimw3#-B>n+C~g#u%Y zUx|8+UDs-#GEaO6AEoy_kWUHjAF9gzFg|{{n)D6_8$+}nkQI#d{%y>u$lbq<`4H>X zIU)yU`;B#_FG5wYK0?!17x1FwUtI33Wyu_&H;*H5+h{jG2hhVQa9o*5-rNNyt-zOt zPD^dR1hlKQMq1e_0LQm7h9xI+8e<9?>2-fw^&3t*kmbaA#rU;}+S`YJs-`Q>f5-tq zUHB;QnWf}meiratRdSQJ;ua`-03f>{@97awHRqc1N=kdhkyWi#A^z7M8n{S+Wrf`7 zN9jR0y5{Xp18%giHO_+OL%~#TOw9O@9&|GsZC*qZ*Pv^v 5Q$w z)xm1v(F||GASyH1l}j;7p_*Fri_1Q@$IJCR`K`Q0L7R@2*&9uhWk8HePe5(eGRlb) z1O`^(O>lM1L~LawZBPjjej*5!f^wwmp7v)Ytc7p=R>ICaI;B~L50cyY0IlIhmb8d* zr {Wsyty6W4-yivjeK`O=-jNL)RX^e)3lR-Q zAb+^908Lyo&T5}f5Y>4=N-CQiPn`a;>&XYuLBE)Ns%;t9t%H8WT55afpO0Ght@!R| zmPBgYqn9!F YB 3&IIb*#?PaVhRhlyt z?zZ%Nsof+8^T YgQE$!}l%j Xo~t2&l3pA=3p|4itC3Y9Tk$K#Quy{0{L1){X?o{Xb7^R$%VdDnJb zheTW <&ma@uQ@3R2A z*_(Hk1ti`o6vBE#4vE%`pOPzKuv{=(#c%|EtJvuoQ9)-!Y!+p3@`0KDC(R&=?haYKBrC7soNVzP~gTY+Ax;4Q@ z@LVrSK7K7;Fyz2y+i5BFHz$04Jh^4Xb6!6$Dl_I`<+&^FuX~z&6e3 v0Oz9 zjt+-F34905_APg@n_n;* I8OU3wC2dwyP4KN2;A;0E~vnBJQA3M)$E2{9gw}`7Td2T`Zes`J;lzGgCP^&+3$$ z6P#&7lR5W+zeUv8Jg%8?#2fBUU 4R3BidX$tw)t zM`x4MF0JR2Y-vK#D8M@+Mh0;;R$>|N!}y9
y8%cW$Zz=GwPuiGUs@b!s&(`UVN zICjKU?C}+$771`YtaPj+C6z2G8vJU165mUaeAUUO;I!}P5{spwc~6xSpOhY!G| zmr(+4nW-7Hbw64&HWi<4<>UeP#E+-e^s6YV{&GOUiL~juOJ&9trfIbl-i|tjUiAT` z)(wyGX@#QB2awRI?43c_5kN}?B53<$wK=P;!+JDmP^h)aQ&v)p;oP~T7*^UKz~#98 z&f#W<%h1%r0Wn;a>x@FQUgGJfHz%Sr-?Z~nAKzr&y;J@0%LSuz&96^<>6!~OIsJ|4 zAuBlTWSCWbZ1pxVzVfl@nbRM=XGFa4QuIQK?sl8~3#He2C-5o;Q%_HA?9oJcb)B@g zZ^yw!IyUS3wB#x8OIfS45+JI5XB5_&ty!%DSw;+bb*uQ76OUox_wX@w8j5T7h|ZPv zbw-wxU(*|sVSF-ZTy7aJL0#dkK-ZVeJ3SL$zKyLfzX_!t%?5r8F$yJpL~3cj&{T@F z9t{Z`!)1TL3RfbZO&|luQ~jU@R-&(xxh^a7sF=MG4$S(Ugbg@Khb$rR^{l_6wiWzN z&B-EgMvp6Q0E(Cu;^qWce+stwE)$5!4xsAW*_SDyyrb0O00y~$tG#i24GWm;cD#@8 zSXulWS|<##!m%JlZQ|3!-ry_Pqf6EH3k~!8Njn88#YHWP@rIC>J6CNvLnM|$#Z_OR zle1))=z{(uoL|m(jyhPe^<7h;S^b*AUQVDVJY6?|-gHnqU9 m?ezl_4ha(-DD9f*v zN9qjm<2lxx?ZIXKMA< Y-F={gawo`%hef@7 z({=fsnj#?`uc>)spnebfFi^f9 RkSFKoPZJu2iefbF^e+ p4X6njCBc9p)rGw!z5072a$(uRWO-ju=GI%0xhS8x$gVmNjG z`ns)He;uP;Io}$35#MySfEC4qcz6aJd+hK_+YV#127)m-4QK$JU0+K>>H1eh%>PB@ z3Ki0WvlinyU*tJK;f|?<+yZkZ1`ckvEjPAZ%LoQ{llD~Tqz1<%cvxEC!{3wxeAnju zUU(fA%M63t)n5b_6(qeIEPNMf{)>{tYMCAuhBhCw7;*5r6VCcDezeS0TcmZl{xJjN zm&7&yCy6&WraDBLL;NRLFpZD#>Wsbbcxtf<(bI75Tdo0dm 7~W@c9yXzE&BpzLpgCgBoX%$ov=vztfFQbw{|qpzqt`Oo zuRyLpa^fE#=!f)x>S5=Z3YXfO-vz*~^86*6wl;r~npcl!`3u>DD2Mng_7Y#IiX1s) zfBYKI1Rzpa*64`y>4{-EGH3{`!dkHkR_#Z>`xdBWIK4$fz6${;1@!Xn&@lE{wd`gQ z0P)DBRlrxdq9~Q@;mfC;&}zzsTVY!y5uf#Er=z#to8pV7Z4@aUKwM9!^I9zUm1m1) zc18b3>U8u)rJc2kp5|wgfoV2FKgR2@lRqpTc-U0Zi^Y|OjyGObZGB?&t}^)gs6S+D zWf;xB?rvk+SrfMlJa2WDG2)Qaz^(*Yfo=?LfO>X1>qC+4j|Nb8FsqWBd(d!l431l9 zvEpg(*3ZrUp&H^-8=@q{X(AFsNAolaTRO@^K^avpQ<+4%IYSR$VC@uWIzX+gau?LD z2aal~hDb8Gbq9LESC+qA#nDr!!B5k<8RKLtRd}!ZkQX0f*uj4^(D3Ibn_jEX+p e*!eLr% z@d^j#g$^fvMBoRG;B|~9B@S0#Xj6%5d{bdvA3kq~6J+YHATv~XaYQ}^VWZBDgOefE z2eIE=Ax+X|*QM1F_6U!iZ$UIhstb#DzQG~>tIbc{JLTu&$x=&)sRh9%r)D)y`Ik}I z_q(wt^C7*8a;~+jFRB(4MDqpm*IHgj$hVIG*$Bqc;Y1KPABT7--b%PQ*I0@P>7^N5 zK$AVoq$v`yI`CFikA}ZlxFXd*9BdL=Z&Q#;Sqsf#$9w9Z_Ag`8Sy;(Pr+U&A%x@v@ z$Gt^Vu{6sGa_n~+&l!H~k*pa`DFuzV1w{y+_`mZCIx;>D{a>{i2&igCDx?Gv%Q=kq zhN)_bPII(YJ$7IZU|B2OmYW k&e0=DbJE4=`JbjbCt19xYHxB-veE^Sq zQd)Dz_4voD0V68>WjAA=`x!Az8Rm@d4oyTp@=UW&5;+(LJ>a88Q0^3_w}hr2_J`L> z)&inuc*)!(F-O9y>keQPwJK}*CJ`g8Y!)!q6)=0T{ELefLupdkSu`I?r~2>Fk;Upv zRu`h=D?ZKot|!aBNmSEA+~B=TzC}uc_1-)f&KsjcixklujI5KZ@~jQU$LZw9acmQC zpjNg@U`&fZAPNR-L=O82$cKF6-^!?JS|bWg(Bk@4KXVl`gf-{Ams3@c*EoESZ*0OX zQMr6VeF}eg=YG;tc>nS3Z|{pHgn0s`u1^-COT28 *?3Z9)|oB+MPfb9v4YB;otS2jIJSpbLE1`@2p$~#`ssNx%B^wCAf%^oxMAQ z4aOY2&N5`wW>BY*6JacsHzh zB%eY=d{L;V6lh^xbJ(ow#C|cRxQfXCJQ};-MhdSo+=x0_E5L;2 Adc XWOP89q4$6;VYparbTD1^L`+2^1un zGS=a3Prvr*JhOivkNADhhpoMSk1}=8okEB%^~VQz7QYQV<5XwwD1ewzt+mR+`!6I? z>f_fXxw}?VlNC%YgFXW7UU{LyhFwt4`lN> C2PlZ&T7&Zrbc{=~l3`O(QvnVbQ-UclFRIwsItl`PYuQdCrCv>pFXIlU889`u&8C z#O1XZ_X#1diOTPF^J E!|o$?;lf58+Te;EU)fVE>QR zdw{Ef_NvZLrgs7iBqnu1GuVmia2W92J#1=| zIFzGkPzl40*MDxITUT5R(Qy;w))k0z!c{%5j8CcEqg~^!Paeqzie1veB2c3R;T3d- z)^^R^w011AA?)V11zuIW&OE=vG4BzsD3X4}oy3g=xFn&x9cAT1IP$!{fB)hcCRZSS za>N9Hao?F#iCHDXG98|c{;HL;Z1A?v!mK2472-8Dm&Hoi$rmTQS-H4CSmS2n_;{_Y ze>HvL==HFD0-Rz_q<$>(*=Ng5NeRGN&Wsny2xA?YF^5JU=}z14 tl(UkM5Luad(P6QF$O-%3RA=VUv1S7n2~-*tm;tIz6} zxi(gN(}xyiprVw+ Qi_|xnbGaW()U@YM-0;xg|6j_mK;k3tEopi*496E z+F)Mu+qaJGbVs6f;VPZ;AF|%E5Kx|hbH5StpZmGFtspdhmZ^5bO*_YN9V27KQ>h=r z`RpXXzx|~UdB!wBVHCviG&C3cF?~-IH}4eww)yICwLn*1rm9#_yI&vggKpD{RHcn~ z=uPVu+r0viF7xMQ5m7?&TW%b_aJ8+s;UmrRrqXr2P1Rm{4Fx8+K&G%@ym4MTOxY85 z2E>^&tP;0_R7gAYuH%;pSvNd-8g{j+MmTEAdx0q*pmI9rgpfxYwq{vM!wAUuk) z6&jAVuP-9cU?j1M6#wT2c_}!9a*zqxCZ#?b2|bHE>Hm=#x0$|h`@Ys*o_Hyykm8dX zKEll`h4O2wF9{N%c|SeOc@L|7sJZl-XfM!ILsY?*rD;_k IBIQ{NAF?=$&$a6xzoUG)A%Y61zsBB< zc4&U*p0(2$VAQ`>B{`T^>amhFgBlC;n`)462zd}xbdaaNRA+ggJ?w$B{}smUe>1G# z3&}mok@-dD7&|;7E)X?&xY#6y{Q%%}NtEvd&y|@~RSZ3F z`e408aO!m&yY{`s_})hqH`i KldXbK=lh>S3k zuf4D;-yKVXzu8E2Aw!zADeQek`}(m$X>-3Y{oP|ENe_?N9iT(c=L#j-JF%UyTSby1 zcGN(yTpsc{&%-Pw-#`4tbzg3Q8{aJ S>tCpcg23kYae@fh$E0hKX?|D*`s4J?#W25AV5Ti!JDgdFDIot;{ z>K@QBYs&JsawJAdYB33420~RSqdLYJtcvrp0oxS;Lw!mfn-}6UU9E~)>FUk4%oU)> zZS>_=*du6m*bK_Q8eeS=n$TkL)w^kMsJ-u4J1U rQ!c$@nF(l2GN5fR zRk;}?Fw4w#cgO-?k^ga~ 9&m@T&) z5I~0OFbN`-=Rtu>EeicTYl^9?oi~f|#%8Gg+EoRaHW;xsh8eNzIu3#OUySjkJky%; zu;Cqkx&i8xVx1<+lXYIOtkbRHJcgNeZ(CtGgJbd-bE?<)F)mGH+NcxH4&eI34S7PN zMba+6{D@ZhQ0q?HK?z$QJ{~7E^Pq-Sl+;+wHFzsPWitGfQ+&v&!H{1nq>K!ov9vN- zlD&LMjzfwinnZR}?M->p9sdYDB3JER4IXLt3w@YCR({mC$0Da%!FPqM(B-#W)nL82 zj{n4K-P4hfdF4URQ;mZ)^8hBOOjb!o{XUhm{iaJu=%a4}7* }<|=!bZZ5rA7Ka2vRU{c-p=UpT^$O z$XT@3L2gJ3%?}8@a129AVvX((j8@0+0)y+-DX)U*8(Fob)y(g=G$8hFp(ZIq&@erD zL>A$L!}c|%wokT??chj;1sO@w?oV@CW*ag)>k|Mg^)R5%Q`pNtNX1Lb&Lf kPu5pynmB9XWxX>qKP2GTEeEJOP9o>F;fGiDgC|(6E00OKo(sX1=IRPC6MUV+& z&l9X%nvQ8d)soaxzHjFUyBNXA-E?=n%5U_Ee)=%#WZ;U#RH>j^YUF%pp@FhJ2Iv z>lKe909DCD;%qdkUy`j%@Z_(klkX1SDC(T=;$jAk>Y+i}kIwR!A67ya+*5vv(vZXK zTMqBw+n)otrV<(+PiTHTjY;gXT8 5$-+hrFVt>Q^ zML3o0@3%H^QG@gISpCZDq~osHs(_SF!8>F-j0fR!z^OKadWXr(CfC(#K%F%Ct}&V* zfl-B3NQ-R7W2x)w_#L?Vd^T0Jk)qn8L0X?f3eRSBI!2CN;y?#S$WHcecfWf 5KJe@(d34$M^$E6d?-0TM7fqt5Wet(4RJ za#@`mGwqY|V1)^W@cblO)KZ#I7bfULj@@OrgPtV48ys8Et?)$wx5~jCU(p2}*~1tO z&|+`A)AQAV48j%0jSJ(C?4?46!XWSnq}ETTK~!26GKVOubtgw_)?jHj7!gBr@S5*3 zG~8W7>U(z{fEDRCc0^MvxyREee1x2xBoya44lA-`|88_)pIo+Y9Wv11h6>rV{$oYi zRH#LoyO}q~!*P=(qU_Z1Z0hOCAArvj?RRp;E4=XBed{9}O12CcKH+|lu E zrF$Uh!#6+mTHFOik923fu> j(&kKBj0#hmZ#O3KIu2Ye}IlC zIKYRCC67OH6F)3+@=O2CZA=i%Nw;L*JTsG>>*%)Xad5fr6)$?@#X4{^bm$zU<6A1? zR&Vs_!>)0$%w8pQTE9^?#Aw#RWeoTaYvcJUW!;KYcU8jPN@IziRhCFP_S=7)tK0kQ zxH6|M?p46o4tPez-5Hcn7FAUTo<5HW&9zW>&3TO5Y-D`h*A83QwRIz!I8Tq-*A^JF zj(4qI9ClMXhSXMfak}!ts(~!u<@%+6`PmRb`4#pVYc5I%PeH;08_4=U_}F!k5P-Gy z-Nkhv@l&Sjz?@N)BcRvG{H|AeZ!ePoq+$_raf#fTDD)O`RqocZxFE%K$v9>$LiuNc zpFSjQZtDS%b*b%!_sj%&H1)KZ`@uP#V!Yu5{3c3@mvycUCYXlyhe)K=0Cc5= lOdBYnqKW0UD8EGaX1iaiZK$QVP^ z?c);ff7*$nL~*w4DGh$k ~AI&m);eB=53*b+zG4;q@CX=*XsTE5Vo0*f_7Gb-28Agx;P&pu?MZfR;2t z*E67k)0HGh=yBdA4VWkK(nkq9^DkTmUp2izyV4khx#<4gpMXMHRd1fU!X_W)jerjB z)a~U_(4 4%Zwqm`X a_ |b-Kv7~6y#oMVi11ht&JG-N -{}pZUqdaKhCSBf05z^pz4Nx#?l0=%aXL z2C&o>hEkVRS)(-^;ACiGj2+Jmoq~ yTYSg8H7>?bmw9h02wW7sDTdo!L z{4wx R-IxCX*IgaRI}` z4yQ5i#~$JQ11+~SYo{W;wTtzt1ELzQb~~enNMK`Dm}_%|ceKL{So~tVldinbHOpWw zJ>~;vj4`(&e4|6BdZP#*H=x=5m}1!xZ+|ls`v%6(NWPh4MZf4-A7(5F^jmB1{i-YY zuz4%g^h3*7EN8Bhy?Nh>5v?qjXcQx!ZRaP*7QNUsSy^Bi)Y6}mZil>Yvkhr}1z+S$ zDHitg|MhZE+6bqth%45A`a k?T%& zYgJ{fjSsiYL(fVn 9MVFZ)(i{!7^*T zR?L?^%%`Gh4-0chbZ?r{l_O-wH$QGIJ8Q^gldS%Ywc;#p@pS5`po-P=j%`?gZd)6y zpQ^y@lz2S|7(ArVO#}_>JCx52c;8kJLDDl6hH5=Bod4VYZ8${zerYh2s~7z!p8=?S zA@KF?b?Y)#ICg4_mlhEi_6BsK_j2!}gC`1=DAKj>Xb6V>GZD72Prjoy^x;p5X5Vq< zLQVBj_x*AZ-aDwnnGwUW>Yls5*{F-BYiD`CX@?-?!*hTN%W(Yp3RI}gdowAj3R1pA zD$QoOD>m~oFc}LB*FgwfhWI7P22Y7To1BIh8}E7YY#z6~whmqn(+u9m@Bs_ y(qO*^hh@I^p R%*qzrra|` 3O<9?Tqn^L!5S}v?xI!Wb~ zoMj5->Gv|z |M41Z7Va+wwOf6*;eo6&DaqTH$T%n{(;p7%Q@aaY^79}tT}oF zfwqm^eNuy$gSzP&f;Zgu-83BbXoI~FW;a*de7;PX_1pNM^CKluZham&fEAJP_Rv4& ztpDFc)9XJQ*A9lV(iO >*lU8gKhCIlsMf9FTOgJ zd%x?+IKM(bE3clx1@Z9sCHyasT0RlSu`=89WL1c1Ij)CT<>8qV`C}ot|DNQ<#50cO zv43X$-!J1)()(LJ<++~s=j8G5WSn6NMR9}D+`E5HJ zH~7D(d(W^Y*CkvSMZrRG+3BK!AWcA|38+};C`Eb`Lhn^d2#SCO=_Jxsnn;rXi4a0m zR7xNqJp>2{p#=z15=zSVqI<8k_xY}U{vUpa *P>hm>W$rs%C}vy{PX9|3p|_qfffY%2=HIm0{)}u0(@wM9RL9S zFCTp5cJKSH;D3KH6-YK8$6xX$9NzuT *3Ki|vtS_2UE|EoXy#GnO|e0BBdWo2b7 zu*E1XinT+8wIuLj7Y52fb3Jbco%gWe{}cEAQ&dm9TOgdg!Wl0Glsjg+a!3Of4w=aD zh;p&xo69Il$NGF +%yPg8cz}Jj*^}zBmJH;Q+3`y4I<<`s0pB z!=6vN>Egv1d)QnO{?`Qt@-Y?jBbQaTKJ!MOQ4d}Gu*}KklJvhmz4{juMXo|kGiXE@ zk{E4Mg{F=`m%@l(q@arbHKY8i^Rm2Ai^KBDXWl7tB#CI*kB83+!I)zX1@9{>Gbs?( zjsk>9&j7RaocM3sTY3bvqqv=h5vOiwet|4>DHAhzwdg(E^m$resWFUKbMsm=4NYku z!Z1Vd9|H;n_VtTBrY#XJuyb(v$Hwq;MJ?8}rY&S&a(awPTtQ+OK75){4|_G)<}Us( z{S$SV#O!XE5~G(s(%{}!Qc`LVy=How9b%n~n^O*3wuLbn^+Wdh@5|r6@8CXIWrw=r zq0Sa8_TQEl`L{u(RIe0pY#MC(4OUn!CqhtR6eCHuh4QMZQ0>QRr~+BO3Vlv;H1`2d zJEjkC{{Obi|2{wePxaur6qH%DEZ!?gHDtj|!n6RlTv|)7w65=9L@)H0`9A%CKwOy@ zWa}CDzX?*&4VU5En$)03o$mzCyh2CPfI_1{WpKNL#(g(hpB1ySCPt*{C3liNC z&h}agXcV&H=Lc&G)=xitnPID;8(|k#u-*WAw2rDY(W6+OV_>#3xL$2N=E_DHcbpUo z ^uTim|@F>u=TQ9jjQdH-)K(RK+{KDBeNs~a5p^3t#+Weqf zO1;nDR)01cHQ(J4 zV AzT*54z9YBQ}IYkOGa_ii_$hBM$CkN^V7w@Rg;XIGc0W$ z8g1MVWR&`(_ezqBiFO0M6hv!Lch_1mZ9}nmXbx38yYkCK;bC1cMfs}_Dv}%O^-qgg zZSUU(+Q7vci(2b~Ls-#a`0?y){;(O%F-_Ob)2dOMA1(vB_o#Uy;5rs66VzSfH6*JV zP5+2G{-ILvkHUR=BigVmX75-
~VYRZ#p-T5&ukmIeF0t 9)U=*TYt)b+@*MFtXYSJceq%?P+4mix53+ z@QkJ1II^nB=zEe7!DR5s{(5g`=R)8B7+JQt=YR#ytu}_he8tdcK4w*u)plZ@OmSFM z>LVIPI(7yl3wpt;i$9kzmNGU$dZ{p7BhE)3mgh4G9~EwsI$z2?0{x8DO8JcCAH4$A zpd-|sC$4et!#%X$Cfdn>Tjhe?_AicyeL(+njF`~By^JVfg$SUrwfmg0+eRNLg3`R> zOAgS3vA{b^$g$OkT#o(8!WtLLEvkL9#CnEnoD*zH0L$97baTMcgLTIuKVJWs_D1=m z{+6do6;a5%msM`#GQo~=>Cxr{wZU)m*=}h>&Q%?7m-yh_evhwi +Gd-GGT$C! zeq3+xs9F!LYH%4=nIC8A`F+>65&4Ie5Du&@`r{2n`vA;+4F-(4=R`1hyd`I>n#Sg* zOB8i30&J(3hPVUzRB@_!F?BnsCeg2XUg0yYp6AuZ<8_pC-1^0WWojHQVi?_hW`3{` z7ThP6A_G3~w}}Cf(f{d@=MFW}_|AxFSEY{+jm^r&s{7-F!){;Y{=#if&F3mxJcHew z$+0gCs*LE0g$e$0-5=!$TgSM?t~Z1?uS*Ds!C>n(RMEeGA;n8bnm%+V-nhwPM$1I9 ze8?x`We&0pDswO=k5XRl(oT;A{an$6ItLm54nB6N1<%=mcrDKyna?O{eVy8?@3x8B zaFRs3#d76tJQjEu OeQV^eD&z3^!5nE#GV=FEb_ ziTU8-JM(uX8-SicP~TPM6$|PLVQ@vj#KXa(z=OEav~Yj^2TL!kVcJ(CVq^zE-N|{% z!V~5p?H#KfLZ}FQqyD t#-{A?0DyP7CI zw!;HWD;L+pv>Ug5+HnYt^ e6lTub585*P=gt%r`(@XwAhTF;g5go80 ziThs#?qU8J8w*LAv0%P 9#0O+fOsW#K42)OFDf2irL>^?(AUprYcq?683_)}$2y6feJ z2@-Q3QE4e*dV3`Zxb>yOAQIKOtlTec#<`4vUtD) D-BktWG(ct{N~B5+P6w7 zAARpFv;QADA#odEA@9OfaU@1mnqnh?6#(_n8Os&VHSQRMx>+p(MiwdOO* T*qTu>ti@a0lG}YZU+)?q=w1>m+|3 z(jyXtox_QHcaevWKF4W-n10IjYUAyC-iMnJ881UAaT~&-`G|N{;&-%3xYsF`>eb+E zZ?$1>O2KKK3V6TOwB8+q)Ht%|^fhq$<*Qm<*5ZDzwyIk`?C-mK8nN@2g tmr#GCn2T^9)-qx1-_i)8hCCo9($M&J?6iS?Q7X}{HAa+_QY1M(EH{RV7o zLNA(2H^4rT$! uu7-^(o9WDFgedrrM?+~ooFM&XDfZc>i^XBp zA(XiBV`$}wWN#YJU*40L^sePJU~3FJ$lK_OPS>KsPPiJXCKHYXR)X=(*-m1_Oa$hV zOY-*fuvEXxRHdr*CB?IwfR!;)2u>Rb?l>ouNC4RNU}uPU1Q %TLl zwjAHFQ4$D6L*0n54=G>Isk7z4;hnjQ->j_L&uRRKETrjBGRGCk=$jYyH|4GtnO{8T zSCt}0py`3#dn&Jcx`xygv^raKJo?~2-7a26tTlvQy>$Ki%asjm5834lyS@vdO3g!U zK6A--QmfQ>FZhQr&^O{j+~q&i5~}qRzJEqdfDrO0(s)hwNLV2*!ChjNO^FLz&N4f- z^7m(|jXIggsOKO^=x-&G;FtKpR~)RX%XY2xEoIhrKkGPvEL(4#;KHE7qVCPOU3lfA zuh=L&+}asD!+*&5- ~Nz7X9Sb?MW?+LKb2<2HZaJoxemMecj4WD(7>< zY!ltdq`{PE? *m-Baw$eVv>{=H57A{xqY{AuGn`q0O{63NLbSgyC2c8S|hesho z(NU{uefit8>GeBC;AVx6(6K+NJr{9Egqia}XRx7my%M^mY)N(V*o-x|-}Gxa+Rz8r z5?I=;V+9KV1~{F86C6U{jNodz9pMm}ypAf= ENz* zZ)pbx Q_|Es)mVw`p5DJw?kQb()fzeV(n#38k76$IcdzY0a02$-enZf`vog zPG25-(c0%rV1Tb8t+t05w`U1iV@{n3#)A77>%QG%#pmK_iBYTl=T=)dTf=8pYwVQ& zNUJgbaRO_*vjeQtotbb~6i}bv6_gaIU9iOJ1JHE+Tygg>XAx_C)@23G;Wfu4)ICwm zy{th7w;0UZs~I$Au2YxGNcJs1zONMUBj0GwKeRBd?5xjNGP`Y|Z@1EDtb~1JZl|%^ zseY3wlL3|Vn?dzkZ8bUC4ts;Gbe?R}Yq!5?A|orbieQ(J_cgit`D})3prIqf%Xe&< zDYma_jWMEbp<3q)mQ>D{CSybkMk&0^4X8+S@J%BO+8(!!2#;?oC8~ ;`!-+QM2PZct2gAE^NKSuh&?8D2BN=B zti7%mZ%-LFC8KW}eSyFnG%Y-H(#Sn{il-Z)LtF|4e&ao2eu29+J3YxybMQ Pq_; z0=A+xQ?t<`8%#29sSR)y$UQ??NKftqJukJw-p-+WFH}If{3 W@KxW zF+vtxYA-7fVjtxVya7YKv->Y^Cs`N~x|qE-vmGTG8@>ID1mdVPH)mK|+J|i!XG!by zegkCxR8PP?bWnA_lFAUtFE+3WJ$bj%J6rj>o=hv^dGl>drr$nbdgp782RyKp3QTtO z5e+vYiz5cxF8dtN8*O125x2=f4{3hIW{Em$I~BzRycK$jK_k|cv?Z4Z#CA3O<@PY| z7YbQTuho9=U@bl0rL*JKl*1~PhC2bwxEOL9^#S}0zh(k$^s#%cTn^-XdNFd$hL#(T zT}zt1T_w26Ye9Sym$9r7;NlS +)%`zmd9FA3*4%Vd+E7bRP3tmz}O?cohbc%7W3Y*xQ38O{g@tyE7?np zf1>oBjXH--$}he_#_!sVggt--b>>K64Kyga8fCFPR)4$W _?i9wCK7TJsd;%GvfYJ+rR#+rutMpSHMof
-1}$Y1N5oHjuKDqHX%Z8VyzIl>8|OZ(YSFQG!|J7-gp%L> z$D#MTOjzDG^PDCzHBzK&XYRUFrVInmh*fwE9lhv%&PJjOWT$2k?$iKvw0S^9O$XX% z#R|ZA2a6BoT7dk0 &`?gw01Ej=iduZ1gV)<2}?~_GO`Z0 zjAW$bM$BgQ &1dBpxon%K?LQc z|Fi^c!lxFLBXin9=7hSbc5bMliK5g>qy>QIlA=wgy`5Y75G%wl<^elstA)XvavQc0 zUiE?p;?4Wqhpn6n%zOBm0vB?|^~Ps(m#0$oX|BP^tHR8~2a(0n9yv!pDNdpWF>b;Y z`a1n%fn%Q$E`h$LFqw*3xl=ZttXC5bSYn@axHsSe@LvLDF1M8q9baD>Se?(op|;HZ z@Z&`or1XGSncT5KKIYLqUzB5aT-#d>y8>N(Rs+Ar|D)T-uhPTtoqBR~WO$ZA%~JQE z1+?w9GTlNfs0y*zy_ x`xpyPib6C{$F-cFV;xncsRtfIm5ohq~@~x9q!{U+2CAbMQjK(Ex z;^IgKV#x1wmaTYuTYpUdn}tQ_yj{SV2H`s`Yo?1Jf}^b^+mcIqzsS`yoYctR@X-u~ zjs{Mu*h`tuAHQ>WT!Q$$hc(_D Abid1Z zer-iT@=2-BaJ|g@E1yVyX~qxfNRfI5&v5(-QNC2pz>?yk?d2f2E>lJxYO;Vn>ALn# zakY3KE4$dK`-)YA<8#FsDVO#c{<6ae^J=d$QloUY_gHg3=z~Txz&=Uq$14aKCU}Af z*_m+vg?(j~?-@;op2vo=SSv(FvUj+o;)vM(75b$5i31b$sRtMEu?YdVyy2N3e{Ek^ z<{Br<3 Up|{XzcX((RHt +JNOyqb}(To(Ck@m3=>3?XcaNeVM@_%dX6kiPd61pF_NBFUOC+s+5zy47Fe2 zdfaeWul}?T@5=$7d{?`pgLVo-@LVrF_g>J!?_$Hy8kros^rJH`@;&60xcJ>{8$_GF zv%@{|K~|Gbdaa;{rkY-pX6{MMlNrW 8KU6{ooURL^)aqnZ9>FM--`2%c^HI*kD zOUG0CC|A#EMXm6u1}&sS1=iL=m_wxXGUaJg2I}CfhI^7BH+u;@^B1B%(YZEwrSDl! z0q&4H!q7p+ElGVg*DuKsgxcNp2mA$V#PPE1t^mnY-%5e=7P`09THF+gP2;xD6A)<_ zgKMb+-iGaWJ1}Z&w8w(htX(v#glvzQ@7BY&_}Q>K&qV>=N0(KtNgCf-X2gr{jTzhP zTy(hIYP0)Fy6qXdg>}}^BXyj8iT(b>N9OHX?m7Fk AQA3xUu*v z5w$z2Ca&BDby8j4kAeIYCL;~=ej2r%XBs$D++ImQh@_bUcj6X8WQwaYW)As9`j?Go zTzYM44?DobEqtXR6nK >~8|b-ta~>L(l5xnlMM)dyP(Sd-T6&8nZp)1T7f`_ej!o|K!gKhEzL zgXCapdQ4=6y*A}e_j(?~R>UK$CZtWYBf3mbXDo3indLCUN1%u41|uh5smgm+xSV3X zkg`vyl$q4BDcG`dZLI6p2(x&d=Rt8QGZR_Q4D0tRNU{A6a4fW#CT`{4fmJn^FzSRG z9=fCcxv~s_=BvKLN0Ckh8ycQ`7{>n|J2P6jSMgxU(*vj8f0%IWy!K`(`YY%#R?J4$ z&FC^V>;0gQ?*YmHezg$DxIAW6)oQ7Fza{K=+P^uTY6NgZu%_72rW-gx_45Uti!xfH z8~M5K9Vq*m1}pyCCso&e{I%uMC>(~2qUZM&h$yM< % z`}W3e5L|AUWVOSm-uYn)!yQ1LXei%+Cy)uaoKcE8iCFZ4N?%89bDvuR#d^1Lu)81} zZS{y8#T?_S0Fe*n^w{8`<1@2r{CTBF9vwTNkRqaAHIzQJ;;?3K^+0mS^Rah1uVA`K zm}iy>IOWQU=V4YcIxGoaKiD(zsOvB&FbPWIc0ODzwzfBLytk2mZ(U|hXYeV$7%%RD zV%|BvXRqz`whX%SQY;lzR_V_oY(+)C^{2ck))4ikos+e(lx KU$+ jzH@kn#=7Zoro=}A`4jr`z*^&T1 znI-l_`F=-YDpbMe?@6(nYtZe16blM@IrDlD_2Z xm-q*=N=H_wLmGWve%ws!*6E_Ayg|?AU3w{-p@_7J6MpF6jgiNw~o)R&D@5 zJZ%CidMT3VmDw(jPhfQ{+es>M3KVU*tp55DD9Ef$tbM)SYPq)te*l4}c8)*=jpT72 zL1$vfeP$SoD>AR7L4(eO? !ucP(*JReF#pRZGp{NV!x{+ z5Aq`Plobmw 3NgY@& z8_;*r3m4H>MZtds6?Jq9e+1=8XP;&bf86bO{-%IPxRyEOkqlexV_`}UYccq}PIC&u zTyvH^@^73A^=0?u76Jjxdq+zd6+*7q(@bs~39t2%Yb%#j4m)`0-7TNQw>LAabPmp1 zxw?D3$Y2`Op7%>rd4o(k4aBa8!}i0ZlghmkSUeT0OUWkIqJ)JO_LwT?4HMJ@Ya{KL zziU--r0C18&?s-{dDfi9*265^7iAMojh^$R 0c$Tb) hoJFCL z^=8#TiCg?-da99Dku1t!Q?AUQ2q>++y}w`(BXx7_v!R06ohkfDJ#DAm!UmAvx;g(7 zGb|ltk`)6|D- VH@aY;oE3~h3U{(lF Bht|H<)y zf}DV=_C>=UKj-4k(^ Wq*a@MQBPf%{mv6;j9Q!?NHmk>dBP jUD@agIy0*2y^XTM-72&9yc`|qdPz>vrY9MAhJj_3*+tqGOw|X9PM(>e#kF@^ zyT13TN?)j @8iBeG>eb9 zEK}7yc>2q+hJHCNk_DpwQE0~gccIyIc!fAY0NtxU_^UGg)-j)2YG(UW!g8kS3#cyW z0Rr=Kz nsorOA?R;n {fLKqK3w%;Bpmlx nm2C5 t<3x z>>veb@`}Tkk4j~GKH2vB94>xy3Gh2r+7`6B_!+gsXw82tOVSn?A^kc%L7Y~IY~Xpa zo0g{l5Ok?=L->qFb%P;?<|a3E`_}gks9@%vTKkNA3*+F{G@rx}et@+SkINMD6H8dS z$_+o~9X^7umz?#Cb_P{kvk@##UN+>Bo$qbYPe&>(WqWB{v6;HkkIe6;Sfcx{Du|A! zl>ztBj*BR>OKk$T=R2~l0M$be=m}wz3C})lz`yU+zf}GuffanvD$+`Sv)f~BpT4TO znp8+ 3q-1KBI3aN!h!7L=&-tb^9l&}Va;jev zA#KAGtw}(4d!rY!VA{KuO{jFP=xaMqw@@?ruJPd}V#(u!H1B) {6(6{Fxv@r- z2T?EUYXALlQ?<7@?l0?cw-z75L1zWmxFPR4rT6FRPq~l;5Jy~YXy^4;*hrZA3TGW} zx+o-XR3dFTzYaoQ&Rg#&c~Y@#VApKH9utyNs+)zey)j=2bWS8Kn{_=;4M%Hrgl)=& zv=iQmrJB0Md8eV1OOlFvQOde`K8SBT{7h6+zd~$b5HGnPPwJdLI|$t2>mZRs9m2=f z0TX#8OWr9Zi~$9ipH}*LTh&%n*?L&l%>qqu#pLB_7!|b??eex3$84?m7q@Fg>e^;? zvVm=#>|b=kS@KCk>0vn9=Qo2=2Y}mPsd<^*#!z&+2n>EJ1nB?sR!+*Ek#Sp`JADyd zs29N_aA7P0p>gwvsMX_}rAAlu*J@&JUX$r>5B{u`j2jtr)M(aS;2rEhC=Hn8eefCD zQ|9H)J^1aQiVQto>uITvG9+xyAO`9@QW5;zTkZH?Y>Dlm;B;g{r}W%<*cg*N@XTkT zar9(uCrO>|W|KWM=@n*&mK$}=I$@$DSdnVD{BZcZ5~mIO hB_8$+>b8DH7ApKT*zz0rH<@V~T5k^*Rzq7=ya>?ZQpFFpl8s|t6gq<6LI+R$L- z9l3e=75;hUUtS78w?6W9`HRM%&s-ZKNC){E7K*s4Jwq|bOzrpA*J%0}!o{(gfyz4< zawXeNGO>5pY?R>BgPU5h+AViIz8+MGi)%AuP!Cd_1K$KcHe0TFQmWvHX*Ma-$vPpI zUjokjOaJ1mIz6mmtywp$fH8>(Fack3je) *?Sczdi@#z!K-xsjQ{<{2|Jr) z_>W%N%>LbuAYT(5?3Ge3)%%+G)cgWywNC_FaS9@V)C{q{U8U(E^TI3^2AN0#mI-Q} z8RN8f7K*$DBtn>YplC4uBqfXV_N9&Oxecb(R
z$_vs5i5UUO5 zp?>v(?jQ2BtW6pAR^ceL5qGlT!}GCBHT-$bK?B_&hgA_~5bWl-$ceebPY3`wWfvj> zHSc(VCM|7JDuH+Bn3Wk=1-%A6o3-Tk1U>WVJb9Kr^zhny3a* z=1*#K%_1GS;!yDHh4o{I&HGdBUz@3cLVUZfSQIE+HkSB~HDXC(;G&@rTKlKx{J`lo zyq=az@oj&lfgTPV%&OZ+lpbYVfG@Q kG{vEw<&-w9@ z@2+R(u+Msh;)X2cLQshIG|sAY1;Q^;aV@Vb(9+9HtGMH}=Ak<`%ElXp?2?p8Bk(2t zrRrir(fu8%)BCOtF3OM^-`= eW$SsdNvr zrzuq4*Y{mem5()6MFOaped%e3`_~46Hw?@4J; j_ 7NwtsGWxwxf>r6Ew{ea{ZY%bZ_r zuC>1^r9Q4I*EP$$&ZH4pwe;13<`m$0Fzpyd&eJt5Wwy;6ebz zq 7(u20FqKD~+s{H&NG(hh{DUQZ&Y#SC zcjB`Y+?hz1l|n;m&;1LoHsdt)Qn@x>2-T}$)7YU6!!(+Trd9)TIklHQ9|uWu)?#vQ zeNTXV3;g6UcUl1GY|RHvvG+PpC=JRV{MYROjGWZI6=DxC_?#y|CrD%}-m%0UKlZzD z0{nik=vbpJQW#xCtEcGzjJ);<5clAR`)--O;Y0(BC67w;XMKTD`BG=&)-zbv?po^K zf5)qH<#q_OGpcZx@tgC`cnj~}DbBMMk)9Cux%YSQ67ykqG6m=YqjAukm$glPB@WV@ zg2ai|=2;H5kj44a!R#?m`M(#V#3aehPGWF>M=EyO$YqV9NQ~6)KDa;C*Xvq&tp`AR z%ZjcM^uMY`4dz;~?3ectDF62ZvCR$toBaJ7oO>!Q%GLpv5Z|U_C70E>JGX1d$p*`D z3%9*Z>jYxE7JUX8IQbLv@pH2rQ_0>kg%op61vumDq+3Gih?@U+u)i0!> e9_+w<_o?9p1A4w&GU2!ZCcS%t8n zS%r-TW73ZyrkTCFiX4T$LLqgts3If_7X8-GcXM)3cB5kFyRC1NbcJ%3PuC~f{Vk(l zgMSm@j{?g|g2(`AW?dpEe*-mS9c%eb8iw6r77*$8qgRnE2?}$C;?nX)3#MMMb+am3 zLG_g~PPLmpBGR5uVPpy%>9=A;cLjd3lFEY{MQ}CW2Rg}!r2qX>03C3b48ws7AK?FV z@qUB-IL+n)(;B+8W7-h3(;CQV6#4jBEAL(p1SeIV4eDP=4_qrTU7gT(1Cb{SI%up! zQcSH9;E(1b3C_J};t}%je~1%Ua +92Np2)_wd{gqlviPeUO;67f{IIycz_F^sHcNt_l__T9_E9Ny4 z>wua+P@P!J1elcoSur2rmiDT}{|#zAzy3@=w0#A`mu*@{*@nxeC~dengu c4~6<|?ya7NS&`-jJK@Im`-1^}5AfS1NiS(2%JZE?(8TXwM*F=Ii=CmsJ|{;z za@(JXrCN?Fn@V%$q5)7%e^hIqVqaKl*?Q@3{ZSJJ$fyTcC(61Kn%J_to*f(SbP+g- zwItLmIW9hyf$wyMO}9+7`)CBvUkO&0)d}~>`=qKl>}XZkc}vFPc9+*Mx-@zpE<6zg zJ9+fNo1H0DDP`%8Yw0i3fmJK*&rE@XaMB5rcQ$$Fq8c~mB!P(H9HZGp?BA@8SPLQZ zJJx@m@=a?}crDA&^6V}R4~wFGNb>mmNrMG{Yr2%lJ%A#^JDw6kvrLkEwKM(8f`~+R zy(2tOmF4ZAWT<8m&_{kg(}uU-7q3(Yku+VIWd5d=f^qUOKi^cs-W}zExHzrW_9?a7 zNrO7KIy8aR7T0F`&@{IB5JoWHCG!5riTAM!bJ!i%=cJe^GKA7+5;$-ZU~5;082rsT zehqA7IrZjY3uLIn+(P|!V& @?g>r7-!u$d}@lTFw;mYoae4Y*w=8j|X)r?_H>hgX#oGPU1L@oQSv8oe3 zvHAF;@s)u*cc0cWXA_!jW~Xi^^uFf2X1Gg>S75Niqc4!dw2%782%q*V^n|Ly8==BV zQ(_^bPZC&y=}4WiXU_02kA>z0&tsGK1oV##$`ruSO0V4KR=>7`)PULqaPmS{W-nyq ze%S4L$F}!{7vo7_MZo#|;?8C@uIJF7tV;-a3iYw|SdBth3=?~M-!abM;6#T%*K!)T zlH=x^#@Z1U$*JYHiDxa0B6O-AzP=qV3vS(hWN)htL!WCAet0k5(0Z<4eY~8=&2Eh& zrULWDi8WI8Yx~EHbe+2vix_eK1P(i9f88V)&+zwu*1z{0Jwfm}7fbcNu!`sfs<{=d z*uQl~9>0{MYXZC-)X#I%@5LguK>e4d1eEQ}F7o}R)9-o*6`DC8-93GSR+;qn6^zz( z9J}X^K-0P%-$ND_pvQMDpGLg&VVmPRVEpEleDoh1bOh}0E>OJ*i^m9z0_^EmTZvpA z&J%K-Js?WQhb#iALjbdoONo#>;O=F7Cq m7?hL@NT!<6B)eUu{xVOWwe @`d)@2-QbbHair45lxQl0hU?%8UATrk>%o$}q7EYCE;pPs}N zt=Ojo<&}4ad_Ty_^B?K6E*WsbtEt|zhuw_s8+Q$P>#Kj3?NwBBVMsInczvQGPa5 +09$KW_5(Pzsoyy7s4i5i78=4u_ wfa0S)jT42)L? z=;4--!eVn*++oIk8NXm0D}#_!Ue$mb$5D@-qr=R;KVd<)q3oIgItU!UoJA&45{tp} zABc)1 7 z?vfEfIDFaP>r !vjux+)<}X5MT2$=0s^FOD(Q#YC2E&h_O*e8)xDk5l*WN!FZNuQX*Me3~6yr-ZFE zJ#uYB`n>VhZhIfKx>TzNIb2F4nIdiMeZ3jXxx=-f3dFav* *G z5p1soUNdmiIz{`E!?bS)S>d$-;>jLsQFV#;h&yM(ZM;6oJ*-Ob%nP^)3~N69cT7du zj2o|j0Hkb|<^WG)?;n|qxOFZJFGZ4DdUv55=)Z?luwRoucQx+8p!|0V4CJaspxVA+ zx^Gp9{Kl^1hXKc@X1hsQ@B(eV%bD&Voa{*X7DDA+IMn6QntAM0+e+$`8csR}sKwmh zhVH#`{W46ef0hHfoKcz3RrBoHYg3%oxrt|B^U79E5I=LRK&v?FlK*VimswsGc(bdx zk~E7x`|{b6?xT0_Rtg-p@)SaD$6bXl)DK2n4xU?124pI219rNUCyL9UxmxMxYsh=t z|7z}6w~q(yb?6DpND%6#H2rWurNO7yS$D@saO|Aa>?ogKIB5E|J6n%UsQM~jfNE=L zmYv*X`YfbbX2HKT!;Og_Ri7uDE9g;3~Zin)@9O3WyblSr8x)Pfj~9kOR~Rekcv@ z;E?1C%md0oK0@S}v4`_pbGP_vja~Y;8NFlH9PSWc)l{e2*UcqnLg4mit&DpJaKkmm zk5xOZ-_n!d2arFwVue_*5Y>5}FO;&)qZFBl_2@o9^9?4HF4ZA1F%O=wN-z^PjYD~R z{I2&J1iU%Ak;(bx7Rln}+WzIv&S25BFaE7Av=*pBw7}cy3zBoN0~hd!@XL2W)Nfp@ zOu3XwV#FOydfOte0%;0(b1s?c3R !?FyF(p8Yf-zY1tY9 !0|V1Hh#H iSEOcI9No2_PmCg< kCAs!| ziS4CSdAb=mI0=!j(bV}tD NQ`djA&g2INEM9sS8Ru zE`2keyS$%7>H17|lik%cLA>-ksimyKTwxy~@qWLE3~}RkycP2km?gfEaDZhOlxM5D zY|ppdgRBr~3%RU)s(HCCESum<-Z*|E`@^W28^%g=P)ol6a&TlqI T~dp)p?nLNJ~V#>`vqjdk2zFx7B8~t(%9ww-z(LqNyFO zQ97x`;!1o3f|x$Z?S328Yl2^wVHw119rO)RJsjelpMor~I^wKL3RrDBOi}4>-vL-( zCe5;8oj2vS%16%8XMg1vzLST^0Qz;IXP4B>caB|TcsJ~|hB#cjY_~uo(IDbl%q_p8 z0d?yR{FZ$wj&2S>9Lyxe7_+KhtcGE>eHM#jHuPZzgGY)vBz!i)RFc6G0FQqmX?{02 zPTs;fuIs7#cWyBz=6JGP2}IpQpfVR?_>7p4=au(BGChj{Y>QuiF`K(yKbR#V#_NzG zza!h85?N|Z3p=Fk {RET^JxeILjun+rw zgB(J#(b@D{9McE&mGf(QG7>hvj}*(iDJIb0d^(mu!i&+`EW?Now>r{f;IuZc_D3}U z{$;RM*pEGkypwNuXg02gbQfI9%2WH5v^e&`tU2w#P^Pi GK_2GkqgNeI)C#T)9R3HTYw%NaARNy_3@*q5}V$|($FA3Nx z*tBFe UUQI{=I??!2#i{QnnUU|PcLUuo$usHQ*JmcRW+@>| zDlk}bq$-l-)LS0asO~(n%VvjIT&y!_f$-CJN+DYos@r&C$TkpHksNp|wPR4@EPZ9R z)3kD6S6gQ5Sj}kA`tf-n;ST9UmU^h?G!d7wX?mbsJY4UTp3hnOU|o QLJQAO?hj|4e%_LS(w-BgJSS0$JomS>*L_%o$BanGh&XcqosJ?l_A}= zGIn@xqt?sbgK!rM;5+8M&W@K)xlGoE^u7ka@lnT1bMKUcM(*0+??)K&=Nd#L-)R6B z_X`JZf68tBF*?_DSS0IA@gukt(Ou@)!pltER`(Revg90r=}(OwCNpyBoJ+z?fvugu zc@McLaW9BNK0MRo@Io>ayM2sORN^OX5H4<=algZ!#`pZ;1+F~tfyjm8c3QKC@4M87 zWu{5l@O;y;?7XQ~j-)?nn-5T-xv>+^stSSi$RH*P-YA}E)Mry4a>6uUT}@!!$V(|y z%6#Tu5K!R#Uf=%b6)S(l$BX#Lt9NHssKeNHXm_~%IFGQ1%U-?D9~^t`P_S5DBu@BM zz^2@hOY3u;UWlcnV;7=CJAkDLRTmvDqHJ7QweAPwZUOIt-+9dMMF&4dTr8-yTR6%X zdk6$s4IwD+kb$=GmS?Z$I1^mRxlj3I!QO8)1-w+TYa(3ppcBl)iKS8dc4tUlZ)S1{ zTwp9)iUNazHO!=bVFhj$gMfKPr#e6`xG{geMRhK*%YkK;t5}cfm#bWdpS$vzGEzs8 zYl`6uO9dS}1+25wRm`?|@TAtA-98yG>sZ{{BT(VotWp1jweGgom^!EseQs!=J|kI( zfBrml(JQnHbv<;HZ&(>^&C{=}+p>mVzw_$}OAU?cZd7F2ZLF+*YA);D@tP&Qx85d{ z_)nH8G%P<7GeL*vcoS@82;)6r7CN8&yw9F~7@T0hvy8PY7VJ5K1150@rsr}7Rc3t; z&OF)Ag>_l&6*3uGWwk2;UOy@0c}QgOXKs158!eFC9^AHl;CSnA=BJ@a(4}8Se(zEb z>Ayw=-;6V(c%--@?f9BnEfzCNw$<>cpmZ~J@CT3CM>lr>!uI s;lXj@jv|avU%@gRfsjeA@TLn zE+hg}h=HMw75Vh(=bZL+(QHE}Eh^lhUPDpml`B|}Yzu3VmL1a_CwTim4!s$2M&qKM z9bo0DFq@kg3v2MJ!C7O!R(lZ2({r5dqMwe5G@Yx~vXC@oC&4faImNhpNLBlfWw*lP zq#?^n;VAhdYV^4$xj GHCi^gY1=vL11T}1nxRu=jjx9?2k<-z7E0I a&o3A}3&1>=r yX{^zv6&(3X^Qmu|IJb2XcZUH~Xj`OS&?_|d zoE`8&>n>N&)~D!!J+v^=;&$wcLxTKNE}>f6Z6B>N^U-o*%sSFg^ouDF4rBLVA)_ai zTA-)Qd{cx>mv*LXB$ak9f^MAY=~Fm1_r{ZNo)Ep&?_=WUy69P9+ Hk?RTbw_yWNc{Z6hDLP1`xS#x0Wsir>1dtmgb8=ifUyWCEXyJclp _zJ=V>nqFn63iDil5|cE?pSYl>|V@3gGF7^mJd zgK`$+?Cz4UmUqEvKb}HfoJQ#`jLjNbjURM%CCvb1cwXxmkGfnxNfz~Y9pjqp?uID) zNzCNA)^;EguZ!M<%5XF0rN#Q1nORrE)*)D=5xxE@g4ONv#nf$;f3F~QU<0=?>Vh_6 zyQc8_8iV?5!%FHzGg~V#0`&<%?#u6q+AXgWS=-3v8X{wzLTXoroJ~i9y)}&8l$sWv zj5f{JU1e4Vt *c3gAZpMtJnOq$8ZhUnZpPO0ghgHM`=FEF zk3+zMfY(3f80(J7QjEVq4q7F!T=j?>Fc$;8ciq10gXc^X=0Dm_5w3VLqUU`p1^9rh zII}6Cw6ns$Yr~{A7>?xfp4Z`1uD?-oOD0lP<1d_PxYdo&=juC9*{tTT81Ocahx_~V zkrNTkH-}}?fz6bf9= rvNoYs}`oAf<^2t zpF=XpLtr`U#D1?Jw?pe)3hIp`jO4R9H1m>us)irs3$(me)uJOAHH!sI;`FGt6H}j@ zR{MQ~1uzm9HY*{c{Jo{j Dh&|d!<5u=B7g#?nm?g!fQqfw3(Z?y7?r<SeCUN8Fj$#iFF#7HK=+q~jtZ(n* AcDxAG> zahEYt8&aun`QDk^#QAajvm+gk%wgD%-;|zZ!S^bLas$q~vA+Z*m|xmZW8^7P@E~i; zE4OpZ8(MT3L ?&h}GK`ZKw|HC{>N?E9e8y)?`bfEgU)}HirtosxHq=1rFp- zgMaM#bkl$7+muP~tmHgq{w=DmQdl|At8jg>5ag;?ozUH`L|jKCZ_V7|Qz*Z9x0_@F zUw@0zQW8|wYa|XxSX_ma6)(#Zo6cKkY@0p6RC9}&_xe?ajXCFrA_wK|^@LTVS{%H& zwUf%w5-k_QB8SFIj9#V*)AFHC&F~>LP{JruqBytS&MR4``%QD8vN-2O8 uN^;oOB0H@J`4AlGE94a&yv$vFiceCBPtY3=hSkj8-jCFJiM6~vc z)kpoV<~kGcI`16m!(C}vc&Uh?ZF`AcZ^sA6wrU&{WrSi;s#05V6pUh$u=EP>`-v z6$KHHP5>#=rAY}P7K(xtks=}lM0yFmhbSEagx(?a00BY^2? ?O@9vA()eLG(a$>1u>M%4Lf$#^_Z72%q;erN`m&Yc z+K9=fhtoVZj==3Lgr6JUgo aAFn8{oon2Mt@psL79%1h_&DwA}kjtb-lfP8`Ly^uG#dz)x9jRv(_@Dy!+G z{V`{Jvf@G3mE0qKMILAq)gMz!c07U)BsWhbA;~$CQ*LC(1uQbQiweE|wQ5=L#EM0X zmGPe>`pLIf0lcw@)igl3M$au|(GlhwNY=_sAVo< }J7SQ{o%@XV?zYgy$RU@L|(8KWKTwF0T!H1N&GwjG)ctw&e%2=lsBg?~n61 zHx!dJi3c3>r|4-;@o}-UFwfy;8$rp7+=@5U{USb(`B;!u`$Rs#cHeuyOjEgvNVJNV zs^qXM*`>=<#8q&NBgK<`kHV&uZ{ yzf0$pU_t$0CJnO%q1%~s9j-x9~w_!apGR8J~zMi^K0aQu2w zUC@bwV9#>anTItjS}t@r_I5Fd<1NtE*eUf*H}O%o0VheH8f+Xhw5-3#@BUH%*WAp4 zj;<=85?xy#Q=5p{iYHo?_MGKdWOObRl)tOX9^A~dJyNvWqcFfdDT%FCl32B7L6)Di_0WOE7ys#@*UpfXmZ3?=$zfIM-u zC cNTkDXm?c? JT&hvi``sRUO9uuFxhrk(sL+GPeEKLb>rnf<&)!0&}nR%-=xCC z&6ME%KapNNqS!2YP2M94SZR@<>E*8nc*RHrL`bwp>^=HXGUK)nW5chqg)E9uV<28d zG*f+IczPUbg&9#;UB)DRwTC`MGB$&c3E!30XbzyA|Ji?m-)9qbrCiyMC^fpno%Z;| zRAG73Ne!Tnb-j={l3nqja_@1LZ4L)H>fFU;sl)0arop>Ps=@)__eA&6 Thwr52;O(kr@UE?*WCox0bgT8pG0Aj|I$ zXQ9;R5*CLX2lJqX(CG+>{H%pIo>Bm%snHHS==w7Ua~M>8bPRp|Cl5Ds@MUk3Ui%wW z$Im#EYUSe_f&nAKn1M!G)>Z8r4n %wbgM4DmWJ zMk{-3Nm-^yMlcDenSBnhdaYv_XXAahMXrlw!jckX+g6{#v-H@HU9R2)MZ12oQ)zlR zjTjA`ul==QbF3bKiT>R5NK2Txsk2M2WE>59!qTfojAtH5pVZ08ava$IO*8JMX-rzl ziz3v}@ yFu!z>oI?1?L8c7CQu;8++6*LX@E()t?gp%*CJOLJS6Gg%?fmBc zM~PBCa(-5lzRg5z)`6bxdlO_~Y^a1@hccW8l>eUnsPn}EjXO)B;|`m#WpKzS8T<_V zn1e?71EW7rE2igl2Oku=-rK|W;-SzRst1!$pAXIo&7dg;i&6kHP_P8Kd*#3d`<=d= zM4u14P7K1s?SeOArZA~@XLG0=hqsouU^MN=$MI0pBh3a00IEe6yJY4?LO0%7Sac*b zyI`L9kMuoserUfK7Fa!X3_uNi`*^-9WW!9mW!-4GL0lmChQqjL)m?#U(G>P4iDkc~ zl1EoN-AH;p@r^iyz4_gSB_|dJtC?lMLxr@t9xKrp+lVmzb3cvxEq)7=E+pN35d3*C zY~-ce)h2Iaxvtka(JscL*F1=;^;R*6D^&Oh9%21!fBYK ?Rw;IWZpo)fwfrG6Sx(k~K|wtha|LH8cHICMgFDbMc0lMk{^iRbi^zN{}>< zj*KK{W{r3_&?f0yNK_52#7}RvklX2XS}B00euUOGB%#@Nc(Ci<&25SF*sB}he|5R+ zLI7Rs_o4LS#uvp6+XcWi;^jW;gxHf6_|N4+9`YcoH#GxEgzhor(f0MGSix@XlPlrr zG8Y7Y3oxp^Rfz1o2&X64|1cjByzf9i{`Ls$chzV>8<0UWW$eXBevlzSik|`M=CZ+9 zXs39J9*TeqzT)RjH#q|R9E^NICc+MTRO^oYz6WY8<9%J6NF3(6fTTOpub8va4f%ss z3k|S0xhl!Oy1`4kx?D7#BXOO39>{oRgp~x|$`;CgR*aKYf4Ecod~%U~TYeh>eWBv= z>e}63ab|uWH6T@7`2(XiXHGfYcXUj>Q~T#qdnx01efHfSaYm` |YIrx2ZL|1CjTW>E`n!981J2_0I|oyH@e< J&Z(q%u|Xaipn5)><&x^xehfpoX7)F|F>0Psbi#PM1$uB@cP+A6i>0$V zs3mz6R_vSlC~n~AEu3Ln7=g}J-_E)6bRE{iFH1EwxvJl@X!)3=@9&aOx#n~z*Qf`C z_}Mqjl8;E3eC}{3`Yin}!tjgX$U*}+Islt{di}p7FYmhp1%PKYTNq9*S?_v+x@<}T zOi57Y0)PVR1X0_lvCq|^Py$rq(E`?LMNc)Tf{!OWjKTN7n&nvV8=CQsDCqRoiX-4x zu)!aLS|c2A+xkaX2ryzKnBlDipjZjG6e7=6MB9@D07O25fliqJ*n;(va{j1_L$h}4 z(|fs#j#aW?4!q?GU#z2!VSz>(2X`-O2LinX8mE<7)GyniYAY}bOWn|Od Z}W>+_MYIBJCqYHow6h`gU_(dA@_X6w%-eTxW#?>0|8Q)&1J+uy1;iu z!l(x^@ke)6Z&N6J-WdxJ4c2{Zu1=iKJm-<9G 6dGq2l!kQbcE}qc$}k5#l!B8V|DQ!fA{sMJ#|?TF*}p@mF0Og{VlJ*Q QPbAmt{ur3RM~*_#`&R32r#^y^}uL@sflV^K69L@4PVv zSfWq7XMTjxdCPyQf6Nlc`+<>~z30u%#C }V!`LQu}4~Qiu zRC8MSkH!Pm#Y1*1o@>a1X*K|9zAE!gcb+RMD7tAz=#xE^=S@faFF>Xic&?Zqr5Iv| za)AxZmixto 8Y^$2%0(og3(2HB7@O)lA}nJtnBi8o5xeVXP$ag8uDL98 z=y&j3^4?g5OELV1CV=a6<12STuy$wmN>!Py?FDw9S~MNu;-;DRYc@k20;ZF6b@V{B zhWfzhP+ukC4_1%8qvI;2AL2Y#V>Aco^3)l2PD6t%p8|X6E2v@T?^GIDXbSS8*msT7 z^dKGreb1qCiAxro?+dLS$4+NOnFFOj06Cp-CT2ahj?v?h$8OqoVzX=P_i=miV?QG5 zo06f(z>TB_COLWjxIt5Rc-)8$+BVff(8Kf^rpk O?$36Evi+_j4UPOAgq4u%3+T>wQyL|522Dk<2{ zSO?IvG=mbIJlxLEo!$b<g7QuN#wyER@uGgK+u}sTurc<-l&fc@bJIBUHTho}V$U z@Gc8FP-eOEBM(hRhw(;}e3AX}pTPKpIj)>&(|54#ECV}p#AZQ~o8R@SsI)5=pZ}xq ziM1D3E$qOAD(MaB+X89$3nOgL(JdvEMI~z|iv#Z5T4(1|lObeFP!%5siZ#xL&4#H~ zD3!Wp`yid;;h(?X%F 9D5+^^uAin}Q_SszG}43TKX^{$OxVIe<} zlY8_vZ00-8Zg5(jOh4gnGL~{?xK8!C3SgXxBL>gug-|YA8H1m_?%e&$pPQhfS#5Re zWv2Vpj{sUTF|Vb5R940%vQr#C#b*H75HE`5MpXBJ?H{#xq1}u~+Z18>#x4#eb0TP| z nz9Ox_!s~-$TI3+|(mmO8K!1xu))^hDMc-e!FnP=dspF6I%c5CH_vV4rOC0v+ z**}e|;;Qu?&Yb&e5@knCtp`m|V~{9-v+F0%nQ>mEQAUB{N&PjrglaYnWJMZAKAg@& z`X&jWWKX 5Eiou43J*Dbg2M}enDXn?!_eB|x} zqZ-W_yASICn7=i3ItNiHe26t>Mjhku3c%b>1=xW8<6!CZpKV;bL=#x38WR)UG8lW# zsjsgyPa%(=Z;a!J;S%5LwI-iO_z@STURmY_Xoq+de?f$E+rdqjrKArzau=+lT)o!D zDh9jL2G@DziYtSze#EMdzRTp+eI${jpL&GdkU=F5#+<5BB&<(}PTGbs82%riL0~^i zgHt-nW5~Nv+6CS9R?)!>rvsEAV7+y6TLD1YyQw5;ABp>gIj(It`xU$NeVB4_X&|I8 zZtdQU<5)%CZdD2OwA#geb+5N*CY|V@>-wATv~GeYaPY;g*(a;@Gm638qClx;QX;2t zu$ucUZ~35;j!ub$AV5o5u<^)l>_`7dr0FWFixMWXA7d&5qjjVgtuV~Naso*O`~IUq zp?gqz_82~pQ4!1U<>8V#ow^(4)n!rrZ~epxl**jzLw>6Mjv~?ZJB2FPJ~iEL;WD}f zb3VgxeNmc(-J1E*(+j@p%P5)YplL$7u5eiGg{<;}8-|5V{%nSdACu2{@|D6r2@t3% z5mJfwfc)SoVTNAx2d|;%GrnXw`D-Eo LDc)&np0rjRbSXqT8YQ@ z95v-?J0TvUwNwWv2ln}&cKjAyg5%;`nNAGtozk#q0G;#&dWA#w+CQ%fX!V7JjmS^{ z1CU93G&yzNstYQ@c6HD1Q-7~_wv8zSvp$LqNEzbaNy8dw`#sd0RhIIybjVQuYp}8W zz-1>CAOH$@egJ}2G@-fjHh`xrPvoVSLt{OHNJ%@ZbefUQ>1V3XhR@Gt!dqF7eeZ(> zpRX;SYxqGOhflLQ-rXZ6(Xp^4L^%{6?4K|2W6jvS2^xq9oUQ^4xA ^EtiFEsq#FZHB{_D(gTuS!c3jU z8(!DgWsNc2yK+O1D&-x&Z^6oj`vIzZKAxpp 9Ow_FE@tiERsPQUf+P3<0J=l$ocRF}QTDlg}Tc%|1b!jLPW43+DgZlle22b4Jv z4S?(jrIY^)V uiv@_c(bvb_;avB15<5mR hnbAr NIdMzr32GXsiUyV90P7wm|Qinr$YU8hCh|Upe=g;7z znxK_CsNIGZX`F)t_HVtJ;RqT3EOrYMMI2K#iL?d^XZw@h>u|f4{EM4A4V6!4!hZmR z?eVmyQ>+qqPmsoFs!S|^y 4sMle|K|53d{SI{8AIf1CASdza$g(eA8zGof}Pkm_9ju+5b z$fTR rCnZqRtrVl#+M~ZL#{^%*o5Kjn`@V-@9Cy!P_m6 zz)hrMqu~pWcyaS8e}I18r75$R_@`=zPg}4F+T2(+MgC(JZ%snG3Y4z>s<*(4UO%z2 zK6-u@MBj d+;eO58X%8H{(_Y2HO9LS-|M^j-Ak1xIdj%GQvR-@% 2cch&2tR~#g^4XPH1ds-!}FDu{`t$4kj!))KwH6OL3)KPTGd2vM> zz?i0(FUn5RqO*gd8iJ>|6j|UM>Qz)e<|D|04^HMGpw9e_IbdD=NN1W1)&rxoNocro z;_=PXC`#Ds5HNp>)2}TM^9c3J934F3_zy$G$vNbDd~v_9B5OxipD=V%CsfhghU6NS zssk)!lD&Sm%rML6i-s~lx~zf|z#d9$ggSgc?Jm#U8PAYOZLGXWWrqEAG*^TI&ixgn zJy3%_;3=@{?SY83`!WNr$5Lv+iE_$?4FCeRbr{{4X1xSDn3Y@_+(ka_4!pXv3*AzC z3-G_bYVRMKSOo!#W_o4MZ?7Ebtq#3dT@gn6{3DG116M`Rb_bBwvg=>!GTRqhw7GeA ze~@PR0w9ymYm27dFwZB8E5 X)>8R|mFwDiylzM~}ZmrflYLlPRB`On6-v-g8`(2F7n}$`w(+ z$SmpDWBV^!%>n`)OB-^auc_uPcKDR=rIm22(_4nkE;}UU#Ft-Y8jOGSuQs!~a7+^0 zACTY|^J1S;X1=hpx|Xi115-DSwdO2#rTp^g3dG?R`7{Nap;b$7S!uH#(-^tC44ha| zSNYj`7_~xO9M6+28bW`Z;~p1RaKj9ChCzh=|AJrdaM0?>!FkeukXZ)5#7dCp7R@q= zQYfKe=NAO{$4yXm0a`TSc%_JEGc-)%(|(^^@HLE27i|R|yb$~?9|Uj&b=+6rX6jJ$ zW_75RL^D*KU7&1V+kNUr%Gw>0pIY>YVb@qZb-|82qVA=3{B2aL6pu-G`5H?#eNEPU zzf}|XI#aQF)z_PPd~?VufU P+%4+W+hCNI6ku9Gc*`W%z|;r7XD z7KL)qR7o0C-kODNQ;{~hgHYYzJUTvS=a95PSc28)v?Js?L%PZNG&QN0hyN1#es_RK z9)b3@Bgk8|bY~O|MeabLE|$}aYCz;)>mJaf2z-Rp0KPRjjLvL%)vei&mUP&Pp_WtT z7R((bI^3kxpjx`kP!x9|^$XL|u+{C2W)F!3FH~^me5jv>Bf}9EeT4dPmXUax{^!bJ z60q`b=LfNgC#9`NnD#M#3Lp2+(hpX<1Izs&n-vR^OM7~fT_9Q$#d7~|a}QQ7Sq=}9 z{CCe7y94{VD6FRc-#tr7K20w&zjo1$!Y7XUM?2n0@96dO4*$OXco= qyshi`*eF4B(- R hWDVT2g669oDO;B;iMN&*%9;I-!FGH@&8(URE&$VyPug%uSpAl#Ma53&Loe>trV zv?Sf|pXBVa@FojYZsDmfbvtmwG?&{AE>2D#=9nO>cN>HEzWun3rLBZy>G2BAA$KSv z9Vkoyl0ag`d_m|=R+}|LJ;}(s-(-DT`2!U7Wi4MzE#Un9-?>6|A@KE6;3miTC&sk2 z{6(DK=Je!UBkAE6?M=T4if*oly`m#ag)c!dT$J{UOT0I@F|ki&x@jZZg&6S5;>yA~ zJOII2vI!8yZRbabetQUnLKTPyJpLH#$OII#dPPBvgpauKeVQS?YH0?m`ZWr30NSC& z1PdZbJs#5x)+&uV2*6DN2o&$OAk5^gBJ_#3bX73)A3mdm5+*u65MM{E$M7M2F+{pm z>$?z!cek&lzkQ#3tod5U74GxQ7h(m!bubIwKc#l<*wv5vxBvOlcKSkp`n9tm*7u(b z-I>;XHF);c*~da3)IUU#4~Z)3!+8ev`MUPGhH*I~ 25L3mLLnP8lbasUa@}k1xl5%JfeC=3{GuM@JS5=+Fizrq^ z9Sd$(WBf+-OE~-YiEx&$JziQSYs1sI{>0mlWxF87&0&^Wukw9TMT1tpvPYEhX)|5t zZ@I4Hud7Ojh}_K6BH$+7>{&Bk6 pptB|ylkLbB0rVZsqhlYj^^NKmSJV(2B_%ClEbCI6elL>nleoF-l9gu5}^ikgN@ zjA`p<+|xtJyZdjaOQjNIyUR`(rH(o>B(n1uIH y$0>A&?dkOrZmNVA`t$xyUfouI@;#0jX zD~xs_$i7fdzfewt^?S&k7~+S~{?AL-_VqmsK=*cFIe{$nPk{v!nVX-j2L!OUMgq+D z-ZLwVH$(5{2K%OBAG#nIKbCo=3cro7V+sHKGT;PDdtq~$vvOgU B{yP?H%^j6>61thQjxhh@Ixo1QU%f zt=Oo*Dq<7e_8Puuz3yRG8vK?~wIlveHi_$jq+hP<9WR|lLP_=4d-PTF5@TL802r^K zMr|dH;jbHC>5DNNR_{-2B#C(pA?q#$@Cy-Heiy2)W#}5KO6?13GgrVC#%}Db782c` zj3k{j64 _(7wAn9R+tc^i#ra82(EdjQ>g}smTuFCo*k%_wBPFHWi zj37@=O_>Z*$OAxLKj?R5`Q7mUZ>2{ygghIi$}rz~#dLVWPq?)-n(XnboLL>$ij};< zchSAnqacz$G0atG79BZNb?o@tjMMbi9>w&ajAcFGF!hKUS7}dk{rRO3O3&Ai-?Xe6 z4f#j>t;41{=8eDz_^G7pXOWffUBlYxj~`Bmd@%F+Zh&6u<)l=GeBawO-axBdoo86= za`GtvsZ|NbXL;bQyX=I1*|X4DM%5e}b3nsH$oZ6P9#jPc7}vS2@{biaUY|R)8nE)X z2l6pq&Xon)Ec=UjDDbvX@S=ekJwMpy6V}Tqo8QN$vbr<|q4#-T!li!X&v5&X3xRSw zLD8|Vrd|T2VZvyl?<$;`&ZghI_QT@sSj7bbKJ_+R?;Mi+?OaW1Hj$783@ED0ZhWuH z>Sj1|QR6?JOA0KUw2KPN>fddLRH|LO8>@3-+%8H Z{Gdr 5ry;x 6&-Q;F{gpeeB)zrsF)bCs9kSV^yGw^Q{MT6`UU&%Y{itXWsXt+GIg>&N7U7eh zAoF(fuOb>%LV!vPWJ2KY8Uo6aDcN-Waem*V&n#e<2CdTu5um)7ScfyL2j|d_0#`bJ z=)Pcr@!f3AZt(3eFq@Z3aNcN!vR?H|;$70^#rLVKj}tCbsodO0dZnmbE*2hIq#Poe zp~YK WOg2qb1;`GMz5<+(rr7}2QJXAnl`t%SawgDZ>*od+#Nk&PR2^CKm| z*=(Qpz)vz8!A!B&Xy@uw27cc(F)QH#+tbhE7Ka)(oxtknX$B(&Rn&wz)vL}Xr7@dY zQ&ZF~jN;tSybyY!J35fVJ3^&3rM*$EcYq?4bK0te3XhUSz$L{64{uN!)+zb_kB4lA zN;JnhJRzjeVx18=EeBf9UTCk}T_HWm# z_vcjm8Bd z<**w97Nmk+!s!-cAhD_TtVGW9_N;!0igoTIY~MZ+qlD1I5jSZ#r9)$kn`!;O4oobJ z&K<^k@^#CCc4;};d_fGMdZU-7o^tE&aSR0(??0Zi2_-B5iTskt7)R8j$P@s#J9F^& zV}S_{J( Cm#DKq4Lubn0~{Lj;2VVBz@WxA|F!?S%%I jnT~<^5n=?vp>ueww*2FTRL26mrvT1&!Exu;6PTqrl zr5WT~tj(Z;()*L` z@z4s!-sctDt3j&mi^%_;KfBYn+#h7^5Or%_Ma-#kt$f8=`Ycv>CeFanjTElTQL1Jw z Qmd#LQJa?vROrVUznFzbs$BZ$H zhP9IJ&E$rh5<=_qQN!$EFjK=nj{^NSZ{NDrLLRM-bX)W(I4SaFPLNCXRs~}ZzlQrK z6+RE&1D!EzU38tN;{Lj_>zTH^rss@8ElYBTj*PkathQJ!DksmIPrFm~dQ57=HxEZ$ zDryqFFvGbcT88DtyUpzZF_%&HSK!MZDHfv~iSvE+JDl?kg&DG%eJ-TOFTpOBAf=CM zLiPH#JO}6i$|(U_zKinVj)6+>vMlv`BbXC>7B+x;xi=ZHBfja9vyo}GXP{4)^W*V_ zp4Ei&YzVG7vs5a;V^#|0$G{-5*L>y}tj(pYlsN+ D z#L8881WvV<0o=M>;8)b2b3QR~O$ht~X&uHpP4&bNo>MO+yq#11nVpj|@26X1Lz1jG zN`)qy)K_HTY61VlONIdSLGrtRK$6GPXc5e0l?uDiKv@(473-DcYe_u=+%%2xCwySl zderAVr(_O^I1i)?y?&_&F14M^+K>7Z?^t<;&eD -ap-9V2!Yxw5A}J^v7awUy>eYy+6-BXNG3pyiqCr9XS}sPV 9&nWN!UK&~LZ&9ue2C2;$%2+rQq-5^Hr#n1+i^BDeb=~MT z2~Pzt`QC|f*&BD&q011ZWVpuB_`wf8Wv+w=>o-m2*$!po3(%Pz7paXCQ?O^2r93#S z%B!0TnW{0SpHe42rjQ#W6YEBY9nBdrpbyM+M9tK2uLBAG^S&ou_Iw!q<9GgHkJQ)A zTcB5!AGbhcww5epR>O_|OhiR|nq&d6_FaUO%@-*$EEaM5RwccNbrUQ}rd?ee9$H16Ft0&WQb zx}r~P#KwNx$P7&Vjlxf3)~f%@cr-}p^t%7~-uDh~_;7~B3vZ^wEPI>ItQ1WYr-fWQ z9L2ratHH7@q3(bdQGMW@Xxl&0$oa}lM@zx`^0#2j`<>@!)p=Ak^fXWRJt9fkEP+id z4&@qXjpBPmLX5vNCTRlIrC2tjNo2;mrLIUR85LC5DRUd6nCM)Cx%@z6=ptN7G;<}v z4~WM9*BT$)5dP!IxG*!P`t;5`J~cvEG^!7i&ud2)