From 7b3ffdf79f7e47706d238fb5bb11cdda67236faf Mon Sep 17 00:00:00 2001 From: lwch Date: Fri, 19 Nov 2021 00:02:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/desc.md | 32 ++++---- docs/imgs/example.drawio | 159 +-------------------------------------- docs/imgs/example.jpg | Bin 31265 -> 30981 bytes 3 files changed, 15 insertions(+), 176 deletions(-) diff --git a/docs/desc.md b/docs/desc.md index ee53ae2..3c29aca 100644 --- a/docs/desc.md +++ b/docs/desc.md @@ -1,9 +1,8 @@ # 实现原理 -基于tls链接,protobuf进行数据传输,下面举例在办公网络穿透到家庭网络, -并通过rdp进行连接家庭网络下的某台windows设备 +基于tls链接,protobuf进行数据传输,下面举例远程连接服务器集群内的某台主机 -![rdp](imgs/example.jpg) +![shell](imgs/example.jpg) server端配置(10.0.1.1): @@ -17,9 +16,9 @@ server端配置(10.0.1.1): key: /dir/to/tls/key/file # tls密钥 crt: /dir/to/tls/crt/file # tls证书 -家庭网络client配置(192.168.1.100): +服务器client配置(192.168.1.100): - id: home # 客户端ID + id: server # 客户端ID server: 10.0.1.1:6154 # 服务器地址 secret: 0123456789 # 预共享密钥,必须与server端相同,否则握手失败 log: @@ -38,27 +37,24 @@ server端配置(10.0.1.1): rotate: 7 # 保留数量 rules: # 远端rule列表可为空 - name: rdp # 链路名称 - target: home # 目标客户端ID - type: tcp # 连接类型tcp或udp + target: server # 目标客户端ID + type: shell # 连接类型tcp或udp local_addr: 0.0.0.0 # 本地监听地址 local_port: 3389 # 本地监听端口号 - remote_addr: 192.168.1.101 # 目标客户端连接地址 - remote_port: 3389 # 目标客户端连接端口号 工作流程如下: 1. 办公网络与家庭网络中的np-cli创建tls连接到np-svr 2. np-cli服务发送握手包,并将配置文件中的secret字段进行md5哈希 3. np-svr等待握手报文,若等待超时则为非法链接,直接断开 -4. 办公网络客户机创建新连接到172.16.1.100的3389端口 -5. 172.16.1.100上的np-cli接收到新请求后创建新的link并生成链接id -6. 172.16.1.100上的np-cli发送connect_request消息,告知连接类型和链接目标地址和端口 -7. np-svr转发connect_request消息至192.168.1.100上的np-cli -8. 192.168.1.100上的np-cli接收到connect_request消息,根据请求信息创建链接到目标地址和端口 -9. 192.168.1.100上的np-cli根据链接创建结果返回connect_response消息 -10. np-svr转发connect_response消息至172.16.1.100上的np-cli -11. 172.168.1.100上的np-cli接收到connect_response消息后根据是否成功来决定是否需要断开rdp客户端链接 -12. 链路打通,两端各自发送data消息到对应链路 +4. 用户打开办公网络主机172.16.1.100上的终端页面,并连接到服务器集群中的主机server +5. 172.16.1.100上的np-cli发送connect_request消息,并将连接类型设置为shell +6. np-svr转发connect_request消息至192.168.1.100上的np-cli +7. 192.168.1.100上的np-cli接收到connect_request消息,创建/bin/bash进程 +8. 192.168.1.100上的np-cli根据链接创建结果返回connect_response消息 +9. np-svr转发connect_response消息至172.16.1.100上的np-cli +10. 172.168.1.100上的np-cli接收connect_response消息 +11. 开始转发网页上的输入输出内容 ## 软件架构 diff --git a/docs/imgs/example.drawio b/docs/imgs/example.drawio index 5a25734..53f172b 100644 --- a/docs/imgs/example.drawio +++ b/docs/imgs/example.drawio @@ -1,158 +1 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +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 \ No newline at end of file diff --git a/docs/imgs/example.jpg b/docs/imgs/example.jpg index 60bb9e0e76eb9ba52779c239fd5970269c73b3ef..d36714d4acb7a902d861599208b13061cbc492b2 100644 GIT binary patch literal 30981 zcmdSBcU)85(l8no5fD_02uP67=mexH(rh3d5^AW@dxy}m&EkBKMF3>0SIvU765>BbaT;Emb>><-{9VF-rvB?!u9#z@PG45 zu)9C{+d2R+1o}7S{}YQ8Vd-i?5c);p$Vbo`dLc<%BWpCaH=NC)@db^V6lEhe{g)X^gRJ|%n^0j>Z| zfHFXifd5~Ge~hP7IshQP2LN1&{0Gk*0{~R}0|0cB|KM?a1ORTn2LP~r&&^!S{%8yl z;dv2?mzCuf9UHyf(|30pH762HNXL23AhJ<0vrJr z009C92HXb-0YoqG0C~Wb%fI3G^$G!qh>3m!2{G|iVp0+^GEx#!QZn+Jws(Y3z_5DF=Y zSgC}r5-M~ire;H-)5-?H5Y0DV24;WJ+?F$^6&BHQaV@`?1dtPYbeZxBB|sK%oc#~; z|1EZfq_4{S0}(pG|7)_X%Nl9q6iJw;XciBTbGuFjGIQAfj=PHtS1T{xjHU~`J|wj; zs%8`Ko)5VIsI1nHIzjxwBf*6$uM>W zc8wx{F1U-m%@S+iP?JWHiH?qIQ7{hlee3+*5@r4>2Qw>W-mP^c!t3=?u<-)$R9WK! zkhhr9cjuQeSnmQ*QO059%s4~W`%Ivjp+W&|sSre-$BEyHJGy}_iuU(KZyMuVHbodt zWU{gsaMyPyfcR!xlYEUs*tX!(RJ-+1*zQ!6A-ify06IHAE2|tyl)^L3Tzqb2d@$aP z^SuCEB5K#Cnz|3T{o5D(-vVl+(y-BLh-6#kntEy7UA+BqqJ38J>e*_|*8G=OSNPZr zg*fu;H46>LYd8WUD@2^im^fhNvOY2?-ZM+4Pv>7VkH5+}?O)Lwl#UoT+xU?0*FzlR z!#;i%!29vC&PK>TXy);{oYOvnpkl)+uGIIJkCMe80Q4l zqDcF*LA8MVh0MUFD_g34bF70W7OSZ{5?Q8DU0E}-T=G#^W7(d@QPN;ZW&um-J3Nc_ z1pw2-dkiZ(A<=nARDi$pn=#FM3?(q6%iJ}NQV61nET#V10D|gY=@6FE=D$du@g6@e zJ0bsvDuJO)U`Uq|YWYY|^%%lZGi33XWqb+WR%vvdIf zAGb5!hVyou?H+sX_+fl3!U6fO3C2gK0R!Ilvi&|{ecA;uA;!;!Z$}&xWM?Ipu1}V4Kc<;9m&4oWVA&{Xnu@QoV0O zIi|C;`9A!XvNj(GgzVpl*ZHr1tGb?35~Q05(*H#KRrL>PzQw<(-pD)qO#r^^p@|AW zHop9v4SEsuMZ#DZo92FuZ29BUz6F8hU*sZjOL{Oai@IG~a!ectCe2osT`;tXieAPd zXKUB%zANXuJG{xko%s>WI{q>1xOTRN4+w@+J+8WwT|`?cCX}g&g(Ay89? zx#Y0#g)!ApyCL z<3WL>B{3Guah*fjHON#qeJS=UL-!CXMdeWf=6Qcr93zC3fCSX7@bS&r3JP zFRf~3JeWVBFChUCgM(ig-$pzqdQH1QP4=R3*C9n%X|LV{6huXCn+qh%- z7N_l@Gd9D6+}-LEyl~0cjpFkb&y(RgqqB_!{qqlce&&}m=Bh6Mxv4A6q@&&YT-3Fv z>81yHyY(k{w~9Z+pGl5L#M+aFlcaO38_(rD%Kymr>+=q{s9dxPhZYie1x zK+&o+Ll(Cp1uql^FhN-EP!&eZXyl}d9mS1`f6ounRsNYX)R%aQTVs5FRr`N8{fPcN zmwD6wX)<2YAuO$UR~~#T%kUFBJQ(RF%Z+hM{`qv^Q{t)D>JmWb;os|i31(+!2X(Y$ z@b?D>M=zdZ#&Z}d^?(w$Iegy$VW*C2IrT7Ef32bLJ0u475Ue;5EbM(x#mYCkyG#G7wRbdnfg6e|5Jbe-lP8m*ai)F_+hwEL6h%96J7WQvY3aB`CgiBpuVOO0n9?7fK}+)JdPN8v&q||Za$8k z1^06q;4c^!ou_SZ6z|8YMhb zpwsMY)XfG$TvY`(cpe7AI^&Xphr&c-8cuFVW_uu=O;0VL9L;z7d*pCME)N*aQ>!Qq zu=pBd#pL=UEA`{=4;u_uRl;6wfVa~d=4IH%D7iU4PB;xap)h+GV$ZmH2nYQDc$aS$2E|%wf4ZaHvo& znL#A#1J8DdfV}E+g{$;b;Z%Xc6LkvethQVvaV@OD!xYbZDpzMQ1|d=NqpzGGG=n%5 zarL}7D}=y8|9DwytAfq*5%RPmGO(r^Bn7$;NBs}_eqtt2$N*lYm1@-(e@M!kX%5@ioQM~1+ ztD{ThwsJ|+@TkM=SxO7xPi`7Fni@+=`~yn6c>+U+2CWu#%HkLdH}ZxnGsS0J<(@o- zP02+^H>?_Lrkeurr3`1udtPeq7bHAH!^CkQgoUR0SLA3KBll**uIG(y57i5RayVWp zLRO9f3Bt}{DgJ+)e^B;5^l>^;fltCg+paZr}p8R&7B%r|c?yMH} z&!;Sf>3XtL>!6Q>IR!LU@k-YA{{AerNXMKo>Ha}I<0X^>^;w!yHDsK21Ph(N==_tT zCCmL|O8y^TNdN4o37+U*7EPCR246H0Gd6S>8Wq6%fK8gQi2>iDV81bM?8oN0ns9ZjXieMt9H4LdUQ ztIGjL_l}P>&budQc@&mCKI0AP_4`Jh_D zBeE>r?NIqP^~tSN%aokgODXE&MOzf#I zJ?(bON>Wl6dspR5cEXdLR#E0_e%G!FgB66RAQ)ywvJE#*+A+ zfXeZOH}V>Sq>GYz3JwPn0ulsV+2^n{4@YE|W6B^(a9r-@#oi z+Ms~q{q_!Huso>OM3zm_NV3{yvGSeKE~q-uS(z#IR^pt(LiH1s%_!;k5oyI4MQcRW9YtQED^3%%#4hEl!^mOeylV6qbmZ1W_!bn@Mw z+81C;OAPbV9W89(sz^KA@fFWrp7CV4j@aS{C`!zoND5@Du%2++vG7Pf-rIz%SiK&U z7~WbCWVZg6pL#t}P4a!yTChl-0Q(owAYS3Z(4#z~2(qCwu`ct~0Gdsm9DSxRmDuGQ z2=}qaVKkGd+lQ-0$v@Jw+9EX=4tW;hgt5g-Xx5rD=~bQm;uVmRU(|q7R%I&Nm!SLX zQjXP3@MT%XNEO+3X$)xCIP?I_1`2#G{7DzWIHps@0_b|~Q8s?)!kbhKNeB|`vD1e_ zJgp`YZYh7iL*pw%nJTbcMnugsG|Fk`o4F(wmrxH}DwnLz!&N?zjt;W|8Z*Df|d)F&rFAEoYCptFIr%Z;K^&65ecLzyT~ zH2QX7mA#%*${ZFkA}@%o5dIj7bM3bm=9ppwIv52u1h$v{b`CM_piOu9&YQQsRXV}B zf2Igq2}1FomH}6_|LFwaw*&g$z&|@LI$#^CtC-Oiu2Jly6(gMCY9Bx%rxSiOS?fgvaooKwk+_epPBxo&VqPmVHhK+61yn~JD)i~_T1zSxkg=@(~${t!^f7G%wwXz0sJ-1G_Uh@DTQk8QhR^ZD>$TFS_eNHvObU|bNzV6D0Hs|qf+&@bG5N3GjOC#16_a%4W+gG`^hw41T9F~|f z!rvUaw#g;+m04K$9UM&=H43sDZz9U#g{Pt@=~K-wJpnMedU8r`48`O1MsU@(pXfVC zqu-$ePF^jIo(4(dn(!|!jsMdIMn}1;5%J@bPNC#l!4RV!TNkU%=1a^3(UMtTsBN!mIwy}v&AVnImToWzO zqCf!IXMgX?e}`OpvwEKX)OH%=wYz1rsBfs^!Ke!=VtM<4q6Q7*@5h>VLNpCR=k_(J zQh4AA9UVbh6tt^1!4d|>*^{$68rRr+OP7%L8?5^EKwT|{@S%vbrACU_49UvGUNlt| z*Drh6i}3*a;z@anf}-J}M;=X0kRsKh>T2gPbvJ`rC=wk1cG8bHE|Zm+v_pT}l1%?& zv^|(nboUhwJbdICkUpUKHTR=q6DK=ue$Roaa=Mx}I(GGx6B=bo_d}F&j_a*4EVi;F z@J2$3E?D|81|uAgbhTzz-Qk;8N$IsA)5IjGD=EM zQ!>6r{chlbvvEh+?J8>-Vt2BuMxI!jaQOfyC=`3F9aA~r?3akha1Q5lh=!>jF>7QT zk3=s^^bF(q?~bpdOSkHBOeEG&hN`v@LtA8)Nb3QUW|Cp9Tj=3^H2y0z6>Ivj_B?;~ z*fnG|9BRyZ%!Lq&?S9h1ZF!N#0O(^^t9jaBrRt!zQ~lSexjCy0YwFh;x%pdrkN`I?ZR2&pOtXT zeQrX@j2!9q-HR_kMmaW>OUWZ!YNlM~V!OZDBmz6Y(8KJvEBulYU537~?nur=m}OGd zT0KMDSu|T@bLl#IR#tjB^8pYRCz5kWt(t+RP*OrX6fl;uyB(fwtD_E$T+pViy|m-F zNYh=@?7m&g&`2?AY>;HT6q(&Wr;D&k7jcGi2jq182 z%pA|!v_$Gvd#CY1s=1?IY0(NcZC>ZYov-qwW2)JwtrQG%+ZRriQk~m)IXgD974&%|zo$9?9M2$%M@Mj&z4TNDW5#RO4%TIOR-3CN1LBWGz+hFGAhD zdR*k9^8z+ol;;mq-!G3>FK&@(c?1_EdVZ5k9+MQ)b5c>q+N6r;I_rr~IyXr;-Lq&NdKaKomBB)t0!5z4{eMna7$Wef78ibR#(w zj{HdP3Lf&w%#FxL4lLd-nz9&0t+UqG0!L|KY;e!abDG>Hnv^!>@s5Dfo41%NGAbT) zTMZl+P_qH+Iw{k(+1BF{Wp##6nQ$oIMX1c|eM{^;ptx_nF3!;1bKN74vq&LeDND(H zo5s4#p<=Tu^a9|rjO-5L(+@7q|4fLrDjOpMVo&lp(kc^%GY&~YT!l6z3yZz&8cgPT z?eiR^#Hm=^?WBXa>`@XZW-KS#|$gb4w$=%dlbXnrnr<$)|Mtem_PGI9mTPkBI ztR~WI;QS#$=nxC0s`FY~b-|pG;~XE1!iP|UV#srAalHQunGYg%FyQboz{rLAkL#tKUpm$>H5F(Z5Kk?8+Q7A$5{8;EfbzyXDpv4Uj$A{{L~ulA7|>ZFqVtIG zR^A<5RYgy|Cz2&sjQ0|CT3K>r5?)fi+I;*jMcBJQYZa4(`4EJRaiMq=&lP4Z%sD)V$dK&TL+PLonvku;IErFwxsz)FmS#jb@+vi=J z{K~aBRiD5fm538N8Y8q)6qGyKTeW&!I6~V@7hz!Waq@K%*+fWQ{2H8ha-S3J+V?Q( z0$}mBMJd^`vEQE+5x;dJYP;OhpRU1@b~2yWwxoy(o{+tvM6%F{3SlTwZMS$plO>GJ zNZWfHjn9+emc44@tlVCP4t(d4cN{!`YvCD}@Jz!lS3F%^98(F7Mbzc=Pa26OK<`B_ z=uIvZMa{7{&tT9RB5h#F&}PO095;*eF)rSr@BLb+cvq6yFjapB@+++0Du!}BogH)% zd8DWjI3hjNS=7W5C81Y4BRbWh_DbBVIg&ht%(dnBn{AN(DntAE|*F zp28tX-UW;BC(%~AV`ZD#?S-PDN&581{O(2BLCR~CtV)L55#8OdtzQ2JXZ07hv@T4T zJ2D*>8esvRu{hjk*vddbjEXt2W_76rceJK6dWUWoAXhJ}!ge-K$2)8Y<_GkilvH5laswyJUHf(u8P1|SAK z=5nsiKO7%X7JgH?%3n_sx1FV5YxIJ|cIDUF7|&3N!VF1gH3yqS#him>ZEP1r56EJX zU?Up0e0VMrvY?G6Eoq)ct_qJD_Z51O^?%Ly*uSfs=vu*N@F4eu`&_86ML6pEm&`91 zxx{6b;t*b%7Y^kQ?gFX7OvrYqGS2};^8(IWyK(p}JB)%yGq70~K^03Mx7-&?%d}|1_m)v&KOT`(&#+PKz zO4y=Hx-zi_ zmb`G$_j!B!?1W?d42THb7H9ht`?|J_jO65cLF(Esf?Ta>j%@mN{DC`mhFiMj@WeH+ zPfut^4OM7hJtmp-jO+8vyI8$sg@A-!F3#TF`SDK6PEBY49T(LcBe2|;Mwhxm>Fu5v z-krNI+5U}roW7JpS6h{RZIG5|SddNhjvc`xmDf_BSQV0obGuojYjZy2r%xSFz>v z>dwo09$M?{jP&*{PUAj54^>y%UItZDG7vSvrYRn&zU+RiFY#4UPpDPWUb7=2BCqiY zzJFC9X=PNSKtz0fN_36+L-L_xwEOh<<4_fJz@X32)y&-J3;~?;0!L`WZ8VnQBy0Lk zhn1#=Z}@)gsY_UrU71_0ah1lKrvsZ)K53mc(P*&1>QrCw3&=ROdvRrn%M2a?AO9Q$ z765T_bX7#j$d?G8BDO4B8?q83xC8rK-Bm;|m;%(nB{Tp)68`ZAz3Q;7L2c;A9QD%B zZZEqJDZgOm1{_&rwlk;I;v7-sjauv8QDr~xe;TZtdfR$p#A)nrqDac2$p$JnAC!18 zAs}qorea)APq}G4R2`2W=wE!Q^Z)}MbY#uVY?Faowd+^$@-`eGhmSiq73;h*_XQLz z$2E}yLP6mdfU(wT`%DqhV#O}|q?YH)Cl<$6T(&s{)L7BQ3ia{s^{oS+YqD(N)drrG4Y)w(DijZ&T;O2(VF#`|z&ZZ=oe>ufXxD@n zTY)=vk}puz3Cv4nU6S91SB|o@U^T2}fWX|xZeo`ngZip5xu^A*l;&4fyrIoq^>zg!J#|Oz?~k)Z zGItp47iiTHPieaY_)+V6A85i(GlM=!& zJnHUMMMZe%uwq);>tXR*1GD8guXXf{D+IEcMUTPccK;Q4<5zWA`v8};|D8`~PnNeS zO39N5UWleKP||H8Q{|3p|z^?nDvI<`;I-F1J!?xVWWN@PnO z*?25I2&_rU1Dn!EZOmdDJ57TdgrEj)h7e3sD^YH#o4WTDL z5&67ru&3;?kyHN4D%uxV$i1?!ll>AyDK+V#`j&mpyWgk*7pzhfk&-+)QX$4Rh_i`! z6dIcv!&D(MR;Nyhd6gR4RSiYuHMJnTP@8Px8!o#UGsmai#<%@QOTHBv)Z$t6v=7=P zxtfI!;CIX6t5s>0Jnb}4*yA1;WIV75Lf2q4?R0;Qnup^{c|>&x(>##fLOQ5zH2GA) zJ5vGS6VuXeDEif5V>*@noh=y7<-(D3)DSWYI!W~ts=BS%(IW_f=hSA^iWawVKA5wp zGq(^DlGdUQdV#GK)&@G83uAcU3>xSckK$am&j$P+z1X?!8(V}-wqXAlCFH30a93>h zeicI_-Sie3JMfFO5#!KF$_7&%tB#L;cI=8-y@Xv7)KncUJkY7!RBHooOtaL#+@Gq3 zB5NJ&Sj&$Mv)mIbE^F$Sp)4&eW|JnuGZTSPh+-0XgcmE3y*|p(ZrZvo0y~;y77BR{ zpwSOo8?d7uo@8QW}Zn-)Y}dk5;ttwPbVK@0ST zk|7Zf+?j)~!mMN#W#4vXK46W4-y>|E!TucGJuo*kT7REL^;?}~6TP37QD2Av(kORb ztRt$YwK6la8o~zZ#?_`YKix5A8?Iq+%?Ql?;wt7MWqM7@u}hr^HTtkLcy3+}HY?>S zW;Px!!FW_R7&aQ+MLT*L+VKDfGF;)LXmA)6NNmRjE_YoLM|DS;#GM29?6`Dl4Y+38ipLj7QS5nmtAfYucLZkh>gJW|^P^E?&eaBA-t^ zi^ov{$YXl@Zou5j%#ws7#bmowjk@YLLuQ(Ebrm^PSsCH$Kkx>wAr%^|zFf5Es=}d) zZ2vn~L?|gy@xBtY$c(x>Xk0|Nt#@_#^&jB~F=&f(r8IY1Rx?mF9*NdY7s=}d)+HIB zmx*#aONsBA#EeopX&6fOBtiXkTdJZ5gR3ytg;9rHjy(!7&*As7Fg%Y% z)?cP-)m@LZWGE1O!n<3yBhKf2snGmmz6)o;ZF#pAj6j*hkc+%b&VgS3nlF3Up(EwJ z(?_A-c1H?CCBH6d`S|ObSn+n1+1n*;i?n#~nCt0Pkx~r_)Xc!Xp}o1DL(E!P!e{On za=c0_PY6r4iBK1=oFG=#zx*-LPC!I;iflMvBjYd-nH#zV8tkI5m3e@sGH%nbzNRKT zL;voDg_fF{n*Uc$zHi(%93x5`)CvLOnLU-iCK%z^#WG~InZG^q#*6$q3a>||?>pZ3 zfxSq~%Z>)3vnrSes;Iy58vP1PGAp4&+W{%L(Fhgx$Jq)MHGb@6d8n|*VTM$~*6EY^ z^1OBy#dkB;ph#Y^TS%(A5Y0iTUa*nsVZk#L-11CXeV{`!FKlI9#KPcx-LZD7IVu35 zpRPS0-s~jo4SmdosGAG2US(C!?PxUnW?QZK$|wJhdu4Pfn0KdxZvj7FUX(vZE4@xk zGiVe=X=UAcb-p|uh^EaHSK&zT3caRMnE}r$GiGc9C+Voke=(^2RDsBDH+>+tMfc{; zh(5Ygtp|M|*aC}pas@iv_cn!94e35JVa}hONFhx@xP@zrp&tmO7;}ml&9B$871uHH z-DHg1K~lpa)45{G_!7OJybtKIRVsgWJY?#FeBJGfAotx?yfPR&M!X<{LyG6nNnZd+ zIKlK36U(Xx+d2yYrv67xMybjRnMZMyX8HnZonyZCZI;Mz$4?K(Quhx74BYBES%l11%RQ4}#3EXYlQKOpg)JLHb*IDv2z>sO^T*XE$ zhPGKG2uN*SA(SckUS`r5W@4+xAEa1I6`2m?I5~i#=vgdSPcEB3ACqiKbO{Lomhjbw z=v}=&VQExCe}FR=gxf=bm4x9NwA&E?PAJN2|n2E&Amo+rVyDdq;H39UPvPAzZzt_2z#OgW8!AT}kXq^{#Wly6eNarbS<-7xE(){G z%2aKEZR&tFK4T_3=$$MGEBBi+s>f3^TR2xxkCcR?bs2+?S)$o1(%18`{o_5LxdjQD z0459rc?=Ni%^5vu?3|lzqdask+8$k=&fc4lyokcai| z0)XFBUcTIXT>0d$2|WL%_Dj60hEuB<%U6ib>of&|Bc1}n)Ofl4FB)MF`|M;7l4h)v_Cq;{nrk;%P(JUKW_N{XNM9W zn#d1{JnmP&Lm^lGXa@=1R8`!b3UN77DLcJf4m6;i?9-t>v?D=f!>BB!|u>H%J z68(9q{JS(Vj)TFKXp>B z+(OyIKjP8VL)k z9|Gh+11|jiQ8!=pk9UrLOZHSqIjNW3^ISvH29G-H^JT1tWScq3=_kdeW%=bUN#oK8(%v5KYmv}Wv96h{eZ=HboE zDc4}A8i*5-iMfR&`H!vsb8P?LM*35Zjit^X{?6`yn=eug9P6P`Z0T zG?#tq+}c#>ihXWw(Y+t_}5hHL6sJs?4=m}ogZ!+dHL%+bGbwj6bMOd9DKzHTdNK3RWGzGuzRsMY~bQn%_%N7Z1%Dqh}`Szl;`=+gYsVnv~LqE z-0H?@@3d{7kah8lj12H(MZ4H`SRLWutbDSRcJNmXx+eMJ+z|(M0$(Umt}HSluA5G= zK4bp0CCd5XMZ(px4)iL-^N6U5XE+Zj>b+PDALnS5gRj#j!u#>Tb+XZ5{$P3G+AGYT zr|J*^<33-tJyj0lz083uzi6PQDV<!SD$$RyuT_U zOO>S44dJ!UFjjgofO+9W+Adyr$m$){s$9m0LN?7;wpK{VikG{># z9!R^Qk#9E_HC2y#!MM&PUDz9isOtb{q*smia4(2|4eMjRONB42HuWLbokQCIs%?U@DI`=neF2?o`cG%`>iP@qOZEz2qjNG0J42FpC4 zcX|aHadB3)OvY8}hfXCyo>2YJ+`Fq2yBK3!c}h(KOmx;5-_2h2yG;*jWrNYghtZ?Z zn%TpvA)|z}0rrLZoP;2`0o>QUS91=Tw2Rj`t)x1fF!ZUnLD`8ujR$zNF2cA`5m`Fw zpa^N!fm2U>`s6fYm?EO1!>DbD$*D%3vRQGl)O1B&VfehGv;)h#DQmQ7S!9$oW~f_N zZZL~`#4#MMIAJ54cU=xw9$8snK4ZR>WXCLyJV?T2($W zTNE|@s!vJ3&pu_L15x-j(lg|^C}tb{W060esNiSZkl#<*T%X&EEY=@p1hX#y-#|}} z`MPBKZX4@d;yqd1ojGaEXHoQ2o|rwrt$aEN(Uu9`j;Q#o^AOf_sY)s<~qz~57S|7%V=Pf<4g74*2*Ar&rZJ+n>S4}%ThWjpNqm`;}Z*zpU*mIADwsS61 z-w7?WDzj`KG=VXexityrj3VD2X(Ti$&^4Rnps2p+zTipNC>%vsb(b0>`Rw=Ay{svj zda)i&I07?gZNb(TW?HwE#|HQTxu)&TNOy#6{9X1`sB?QQN3KqX-c?S}%j}jQ^K_Ng z+F)-HpTEw+}lO$t@z52Lv6i#36V2|4X!Wjut|QZ=}}&-Ojd6) z(_v-LD|RwDv?HH|vtk+HEfv2}Kklg>+5?_8*%15%AW*%9QzARou)ijRN~JtLIKx9a z6r$zAR)C9L0c%-TTWD$^t7rPmCd^-rc|BD7+Dq>;_oZT?5J<=*8Hc4Hnv2K7dNkPpc@;n)R}694ef%H-;d)J6qz+ zH5EN+MmqS-XZ~*jm-G?^SH&rIPOolm(=W8au5=u>d(~Kxh z4dZ5GKN~%3Wq&l!taTIY1acPLl(w4*UfTfjKJSc1Ya`wga`zOcIgAO(iQBjMHZ&}o z;6LcLbQV``#C8hC@a)JAdilPi?TzGwmbSS_R4|E|cnqOO{YZZu5p|oBcpMdnGz9+S z#Y9g&)OT3m8jKN#9)|e#-s$imypIs-MLVq8N2D(&BJ1;{^Oq56IK4`!;xFOtll=?8 z&cmi~SYJ5WAPK)v{?k4$jq`&KAl83CStaKYBzQFfw zb5u8SMTi+%#VL`B5}&L`vG~MH^Wxnwan6xp$gaxsW%`6^OwnjkfZx>q$eNa;(5KHu zjR?w(sR%bdWCV&lgM92do$l@NZ@zfJ;x73oA19UO{3X{yV7KD*r|J`;(MzL?wJARy z(ayf(dqU0*8Epg&;Sg{uPj9>0H8Zd#u1GRNbl6IvXfO&?4GZb}&UAA|?W1f`F3SST z1t3yR=LuCwQ{qEEi6^ohvKN4RKD(1wj=J8Q6ZREHgoQAy=@@zGbnzjfHs!P5S;7T1ggz))H6l z1>k-vmPYjOXx&uS9GJ}mwr<+M9j%Zk9_em_I``ENk6&f9E-W&@odq80C8|w4N~CaJ z`0V^ugteOFKrXbC(+gXbQyov%0chJkB~1RWV>f^(^*9U5zW#!Ov|0h9w@OpPv3Pc{ zoF^B0q+G>is-wHQN_fQR*ARUSU#(jH%Yr0%j!S|juF2N>%wx|P?(*wXqGRwz2ptt9 zJjn2u9Xl^r^@9eo$2%;O7QX}kC7^F>rTyiV5y-WttGO%@4L8|!&ka1`iBRG|Yxr?E z%e0n}2x%a4fnQ0Y ze@PC8qMfAYj?77v3mqN`)QpT{fap;hkVj|cVtbWz21J*szKu*eX|-ysQBTNzdJec8 z_V+2vP?oZK2aZj6d!F+BhBUEGw|9A6o#uD2>e!*?5B(6UPq!b`!6y@?zdmwQPt8Yo zIYv%8|5#O11Mz^m2N9VsVR8M14Av?wz|k*~!u~s`lm`?Yr5!VzKSW!=l4c7k=&}1-;nGh*mBp zbKAtArMEIlRz|p(1JXe?`R;A+pMo5V36zH38+`72m77DnUl!#efYmeJ=pYn2&WH6q zCCAa$`vFX5M9^XRD)p0edq!zi+;b_IcOgnoP}khK5WRsD`IQ*CAhA7~A>Qd|Fn;~2&)b7!Ub;7G;(g5jqim#Glo1G$KaLwM7uVyG_ohXAnXvv*`p#y6T83>c%aE7jNv|vr>MV__v-5K zjZ*7`=uy5HV70kYLOeD<0&b2DKjx*=jE8tMMvL^!?-mWOBtUnuhNxR3LXzJ zh#X)o>PYe&5&d~Xxs_vZI9(5syn#=Q3bgcC*Uy1`(pGTAoE_Kp_9jq!%9Qt(R$2>I zwcj7tVks%HOKzzU7-(bE(ttYeK=ZH-3LsEg6KA@H2zMtGYAtScN8{~CqYkV#JYBVY zS!TDBH}a%JvKXd0rB_G@b3h={fg#_SpNDG7+zffxn(-8uGDTC^$Y~m&USnqvYgIzQ z1APJCC|ALL^R;MXFsW~aD6%LQ?4;~V`pA+i;!z1pVkzA_f$I^3|7LKbvTdK%Ea#|k zKW)GQxj^&6+3bXe_->bC$c;9YAPMry^x1noRji!hk4<{GA|Mm&((Nt`4&~vr&87B>v@g6;2j@z~kGV5Yz%+cLJ)C+>GC1ELg&`B|sh?VWUDdMsWH zrUpi@sY_ZOY4FW6Q475a!i22^p3K{vCc&w*>(zv0!dxGCsP7@C#gmpx=q8i_mwGq; za3G~qW+`d{&d|@cNp-;#5%v{a|V48$Z z=|OD&f{0KV&V!N%#0rXr7E_8VDOPj;-2Zuc6~p2aWaz1 z4hbz(*Gm@x*Ys>VR~D(!JCs8N@SZMHr}dPnK0yjb?;)ZWfQB7E6~8mvJN`^pE&!Dh z=d2fiQlCo$PA*BNhmD^OBT_e=g`vLwaI1KY(GA(F92;`8YK7N8idX)U&@m3eN zK}C?P78G)lP^a)t#i|&%U<+CLvN03V$tH8c-S9TE+4iBk_>!J{teooV1LB2y9bwQJ z%M8CR4UBIp`{6YQ?g~cSiecQPBOYW`^=yrcz5(fDx1cI#J?eE8SPh1|e%mbM8DddlGwaZH@ODo>#}W+cN$F4~Ml>@CFNp+N5QO^Y&057ruXxQN!wl@LGP zf(t;&eGrT*(do7O!4U;9j|LxGm*73Ekw*^GF_PZV%HdzH_oz5qL80E+7Cl$@WV93w zqvo;vefiaa-G|@_X*`N)mu+>$CvBI@DI-gh7RJ9*tG&M=n#uA z?)J}3chsR7%)&)arrQ@pOFCd@c)E7jhg1bt+>nm~M*PokYOI~)qT8{t>`GjukGb?_ zYqCI4Jt7V)G-1$oLx|#jR*L`vp*A&RIMEpp$QR>eUTe>(IhQmSZXBtU^@0OMxuxOQ zjKA^~S%&c#o8Z)3oF3U~HyTN2cTTTF-W!ZAoqS=SRd&8%4;imN`WY8iY&;tw=IGI0 zQvE40p(k8oXDnl|dyXq#vWz~ySK{C`K!UJ=gO`P-e8n?#m$vb7;4Q$2+8UV4)ftWE5&1-3`94Y>!{ietybbm6Bu@iB)ojx35v07;cSKd8J)9>f{M>l_C%j!RdSUpfE(96BNK5)gL-Fbf zA1O>OT2;xi!g-7wt(3u$#VZ{cdg8&(^zq9cjs!bAeY>x6E#eF7Z!yv76h3b%pWm{2=4QM2*V%?8guxK9kY!|PyK;Z} z);z@;sOKwQKj`L$icWMrFxjk}S~B7CkvoJrflc+E4`6-4JyV2W$e`7&m1RCVgsS}X z_1p2myPn)0i_K*St#3S-!Dgv@euulfp4}L#k%l(D-qTnJkcArc)1#b@RqbR2HHbxF zyV{ycL9syJBCL3=4p>3Dc_^bzlzbr-P>C@mT#iLf!}D^!kHL-23J-P=`=MSEtsQwu z;UW2|xYek*K=2$-H-pcx&J5)OZl*)j7h%n=VB|@QlA|LLFp%P-X3u%ydcdkR4CX?)x5hf_vyngEoP@-K!e^#Z6rwS)5 z^rz@1HMm6WawVWdfZw2v&y)-Zdz>r|h#*!5($N#0+rbO7pNxK=-T35k# zBblYTWWjB9@@8+SD$HA4G}+~zfDri9QFtrx7hP%gJa?zT5_avXW};i_E>DqGr97|{ zDSFrGB{OvSlYC5}0y*3eiqKb2IE?>DH=XT(3z)Atxc;PuK+aEcA#f0^KNndl^B*u$ zTn3$(YevV}J$+Q%WxGC7kebXjFc74V@;>kd4hgVjWVV{(t(I!QWk5;j4%Cuf78A5!Gb*@dr(cox`Yux~o0Bc2~2F|NBUe-1}ksHMg&Cf76fs72rD@5dImV7~Mul_*VFq!Dfl zRJ7D4s<2~ud`UDPIAS6{%RHJD6Tb}No~seV#T6kEjQf_DWaqNc*R>ZbJmkJ4ha2>@ zlh4)O!7d1od+N}?uvtfLbvi-bI9OcLufhp}kwX z^Uk}-0h)%A5`j6nNn(WODhnlmc;LS zhs($r8O^p)Fas;URv%doy(AW^4RNSH+OcihZY%d43ckAk{1@GFM)Vr4zGBXT_JjbHu|4>9b+A$M@prt569zR?TPlNVyi> ze|t7LSf*);25$EszSf0?s`rrUZQMr&Qla#4d6qy~L4<~5PyBrb(6-f``{ zR-AaiKFP84jr7Fpr@ea`K!Sgwpl)l(mL0Ep@?e(P2CCiI_&B=kh$-9Vfn9I;6F@G` zt1E@3@AVvb-EY*5pJeNAf~U71_mov16Tp@Y8zk)OQrdi*OQsyT4VpE-bLM>F^n|E8 z6{}b`Q^yC`25W=APGgJ$QW+HZsq!19;Xme4Xf9rhS&+*faxM<#0 zo_k&ns^aPkLc*F|3Y)BD6Ieo>Se@e1_}p8xVzW+Q#R>Zt!5B<5i61{ikAp!3_^GQ9Tc?u7RQy>19>suZYDf$v;U?1 z3e`rBwAb%rW(R0XEnC!=mC@EAimNA2-@}EwqQ!&#^hE^iA!*)hVD|^Zvko_^Lzxbi zIQ++imqo?Yr7iv^-(?~l=&lU*;>byBYXSi_pQ3xGEUpvn_WsiFVsY{2B z4_XZqfJd@@0|gp$sVdD^u*+rrmMa^WSilk5oA?UTK1%MA?pvV*D?gF6^a)tqa1#~? z#vdAtJZbR0szz`T!#uYfumDLj~BUuHljI%Lq;wpsgV z417> z?bYWcIayp>FT9EmgP>tG3ofVYp+z41*FU@Au6-#Ab*X%(NZv5b~-dL(M7 z01=hgkqq%Z{6hM=;5tO)ws##HB8JRk?5qwiU`(m5&QFp`rup=(42iv`x&RF3NrtUF zk)t0)_;#&0KL)7Ee~KxDhe!|e-+%Ekh&3X%-~ENfD{i<+s@JSwc-Esc<{b65yuJ-t zw{X~lZo{RTq-|~MuX&XbKbOs+FudjKbzGL67Zn<+S|NMgBhzv|E2vwB_mV^nfqKrc zinK&-ahBvqYx3tIQsqz^>O@kCvpGJVwA0(f#oMJ2;>3QR@XE+qVoz?()oMNBhsYPoK3mq zV;@cRk%Ay&ZrksEx%OI3*7f$!@QN^{9X6!lg_0j%htTyAMjyDSbQa=PTdL&(9c|{C z!CwW`f<+ppcYU%?nOT3Oe2qozxtn7fge z)3+}u#!Wu!&}6E?Yu?)v7;wsMi4X#P2|kCfI9;%Fd~GyN`dO>4J(goc;g?fR4p(Xl zZpug-+g`77F@7O^VUx{8B?BIGX}P#u#MNy#W#uw|J84~CXDxGr&z>ZX6ok)1Dn)0K zydT#W%laVo-7y+8>@qw#0HD~g<5st-LrF)K#X>2E^t$s2xglqMPk9885hi<}rOCd1 zvu)!+%^PBWHvr338;&PlqDU(aDu@JULb7?T7v(?RcX#xY(LmKr?Pf!>4unl^^(UP8 zI6wA^C_ivnRr>dV{Q1Ui25)uf(yitg+uxM^gAEAd6g}BA7)a>)sX~B)u-Z@TLX3!r zs>QjvAp{%T%*XKCM09`tTU&AFvMfY%tWN*9k)$&)Wotc9R(DOb31L$jSf2iN*X>79 z>ZY3`c9z)xE>a>`E;oj+%}>r344zgEBOLB-s4Y+@wcqz>`=W3;qn7T@$^j(h#efMq zy3aw+{QB|PvgreJ&l(fC{!@f-g`r+&Z0(aazf@SJWqA{o%^&mHL(gsf| zMYkec2U9)2TP@;B*Q0b`=9U)fC0Q8n;`drI-0#x1H`&ZxQ%zXE)Me=nb^Nw_o$0T7 zSG3X@EE7)(HwhybG$-M#7Hri#KXj&jb1p|#Gz$Hl{G7TW0?5X!4FiFNJ`mAQXfB>- zVGJXFg^$k+rK!gZSNdw_tx!aC_5zM3?sdep0}Y5A5Qd%HtR}b=(J?#tmfGtL)Wlsp z?dP175{XkCeFJy&_l-P_+Jd}1#4vg&E+S^KO;|Zk!TLAW)w;)DL*_;>HBHPN-3Ce? zPCqB ziJShnd>YQ|ZhMwu7AzPPl(ccDO*k%ltA=mleUBDZu-heY)0pe=nU)*}4wS)90cJu^ zuW%cKoUk|^Z}DEPEzjjJ!H6NUh^-8bsf*jvR#T$--l7IEz;CRkaV$p;iHdcJQ+}=% z&yQyQB*F)Jc@yxx*+^F(Wk7nK#<{!^ar~_*cjSUP`pw{!pf^8*cHx2u#PQay;H|&C z+rJ&m%qK!(El4G%ch8E7AT^d{!G^8Q~0L6oKx zEhfIwG&=rFq~~?zN!G(`z!Ak6J6JpyoBj&;TrYV=??s}mA?j1}>0{Z}xxryceI!V8 zU9fQGy_HAGsuH9ej)X+I#kxFhU?*DIaC?~|D|V@4e0~foZKTiWm50zx|pcSPr6qEpT;fk$#2pP*G$@?=Q>Mw zHs`S1P9T^d*OWZNqFAPnYKwk`keR zPJV1?(*rc|@cl(hteTx)hAYpS{Np%)jN~vr3=dP!E`FCN`v&+iquG*0#VaI*FbpHc6zn&;Y;SvC>)jXGCD`@MG}jxqqnstKfmb;}-v zTKSmBD%=xf*r=x)6~*NP+UhHXdmX>vC>m_Y!Hf+VdBviufK3jkIDSbVMZL#42_@-z z-Xnloru6X36L_(SqRX;c#P>RPWSdLvd8X??@I#`Y8~-58DQa3JL!Fgr5(+$4QRVW< zSnz{%81eVe2zJ+UdEWixT3?mQq23%pm1UJACg)@`JYZ#0dz@4)zIY%Y zDFaudai3>)abb|;eLJ7;X@PGGaXYW9DQ=;7ghtmG_=ZQk0)hopJlXF<6pt#I^#)z% zVyK97EiRXloL*hT6bWW(Q`FAO;}}_*rx?ShSa@H~WF(LYs6Ee!QuF4VIxT7Z=ZXBc z#VNaq4PP<%0(}LkE(VH7M9|CL5w5n}n*g*Be(R-u_fhe__KO?M(;wy5z*O6mYmlP* z>2oV$)2-=EXh6K(&6F+|U8x2y2P41^&;&$8`HT)%@I5ssae*cHJ4A0eGcSwBvZ(iZ zVS8(oTd`G`sLJ&`%_vJ}+)!2RtqDf`!P7sUS3QgO5N!BJLKtcIEjIC`6Sv7QQ>^|Y z^2OF>y=0f4GV8fOyu($S+F4M&RA@y9@8e#LvMuWu9PDL@fZ2VY;p_lAu*s`Yf8(n2 z$w4lRg6n%X{3|FAwjOTz-INTMx?4!?PU$u{RKshWnwKNtVPfRVAKWt7K)eymL)A_X z)xs&a$lud|w$J3$r>i!9FK;5QC06DL>;&m6RqklgSNN;+VR-&$u1Uca(fW9d{-iX<{>N6}roIp&YR=9h^C*$KcY<|8&q1xDm|Kz7pA@IhD5>jFZW~R z_zwdj(zC#Cd3CmYuw0w>-x8xV!wx&eciY-20^6cpjF}OH+b)6k0B$d~f zw0Q8Taa-<+4A^9Q13E7wwy<~rFALT`mY9cDMH}`zz82^5u|`oG(#tgfmR~*-_{1I! z{qUA5Xnch_0005DtgMWe-|Q23#(s)cc<9JC4aAj*k&hns&D4Ke*4BsVQ7E7AXd{AMvhAWrIz&@&uQTGH^rf4zG3o6V$edw_LkiZX2ojmyjk zGNRP(_f`&p=5qXouHL$T4KqJcR2z;$#SgtPqyDVcd=>NOzH9&7J@gI)^Na5HAOBv+ zKc4;<#m#>cMuj!{F5I;5cqDjM@s0-A{p+~On`6RUXmqMS9|&Z^ih8@ur@qpzd)9aOUbl3{qbWiw(aH6cs;DpAU(dnz zGV8^~Jnd#@K?s$;2)wFiE8VCEw)w(IH&s)Ld!rzFk(?bdd4MIJQt zf9gYTu*EW(aC0P1q{`zYy$N#HrzFK2b732H*{3la!BaYCyw-VqzIqe5S$P2#A;a6t z(%O3nqzMdem>64%*-Y9=mF{?!tRp`@uT_DdZ~g%&8@DZuR8RhRu6n^;uJpKwBJ#=@ zsUN)AV|jv51gb>!)+cS4HcE?`uuViiU2!cG{?feoDNL4Wz{7aFE&hVKiknr*K(&v4 zLdPS^#jI}(hFRv=tnuQVG}avm=h>ZXVM(|RJ^%Zycw#NFchq=^m#$W4IXWr|B0A) zE_Nvs2wVyb^xK9<3NP zqC@%@T~6Ph%pntTOt9|qi1QP3=_A^kRy8gJWstp@kCuuJi|`8?I05jqd>4Su_Z}ks zY4X9w1s7BqP;9blGfk*kKat{4(Dzz?Ja#zdlduBuiqovT!Lb z88Du8wC)Z2=2qDUUah}BZcrPX{dv>TV^N;HJz&X3J@5`seJ3R$dG=BoaGK!*eOH<^ z+XFnetq@SMo&n%aQ&RbHb6=4f{#qWWmW*kZCTJ#{nQWbhx8`}!P2}7(`VPu63;t|U zZe3{+P&5#TyFV%%!>?Ng14wH>gx@hW7#0I}zy3O7) zCPC5$DA<2gWvpxQsuRz?*jg;W&ZUC)TOoe2{;o(hiw!a?o_Y>~CD0IfIM!cua*=nL z*(nH4?AB+audTo6v^=fLzsE?n4C34h4-Dfd2aecSq|mB~gVXV{JYL`;W(i|x7v}r$ zy9ia3eO(a)M`7^Z^ZkSwT1-6W7hQ4Ke;C{ULc^drQ}WG*AOBQ94yrz#ec>p2{JYxy zOwk1`g{3u?5-?#qGh!gJbQfG!vw|Jbtva@Qss@1zTWls9}fCiCx1#8 z_aXnIw0}7N_od5W1;Ap!$A3w_T&lU*_VGJNqo8{#9O~c-lfO0eI^kXJDT+o(IL|-9 zJ=DBO-%;_#-?VSn#^MXXXv=uYmz%)xC=hrh1n1;DM$ z(=}D!2g{`>JcGg$i<9gb60awIi?MW&&!(?jvH&|EgN&}Lr8#7zeZp9@8KcEe7>IC+;)scbcOU5^hODjW> z590!4NJIyhc!X*zQTo;q$!KAeQ{>=zyT#Sj?Sz!*UCTw4c)R`S5%Ss&b- zbTX;6Z_KLLvPIveD##-NW&K!fcc}VHABDD^$o;Q1xhlQ|1;ppgpd3`(iQu;s#1po> z`;Yr<1Ol_AuX|^OP_yhnr%v^^{>N7NO}7G0^}LtXJDw}qt1mU`PTHUBwSCVnQPzfL zr^U5DiFj{Z-PuAYnD$(^u+b5sTmHaZ$(Ef)+a%@h+A2`?(6eMXx z{V&h{$AE&W<4ub)T#1B~=AB=Q_9$I?FMNNHHsN`6nkFS^Pq zhXu8uUiJFe9EhWOjmpVJpIt-cz!_$rSe`k_lVf@`Sz(s}H^myZ9;X*KPowk{fb}vu zv}tNHST=IDbEod?VdNowWFwdCe8>;Q3E8Fo&dH&OO9DX@KEa|jd+$(271ba!h_Hh8 z(8!oFZZvF=GD|Ec+(Z)14G#RnDL=E%HU(B=Xi^g%CwKpPaj!G5wYx-_ zNl~+s=mRJCcgpnm2*W9Jf8uVhLL5cjdz~gEf7Aql)Dvh2s=q(H?*t!usT!U!Vc->S zyiWl3dtOiMPVnEXoR26BlIcL|0@A5yaZ$p67SEchr9yXUL|EzisB+&{f!WHgX-2s; z)mG-slOC=@GeF^jTFX}PcKzTYNLV(Yxb>>;_)jify@yI-?d;zybikaMiJ!f;<-V+_ z8+oc!W`*s!@3`kIia6TcrF-giaQB~E1b0E|=j1gj(;w*lJ%OfSN&hmv)*-)RJx{bu zI!q4}TSlD#KcR<|B#>$JnmX=~xo;QNEt0uEz-vnC+EeEW{20iLvR%qtQ4MQr;8Uz% z_oCxDv9sI!Pk**wNWoiCW|u9ed-5i3*AWN)H2p=lPriZ>TUl9c?=X26cod>)`~8K) z8Vi{+|C@E|Z5@`>_A$qVg}g$tjRi!bS+O z#^zL4^SG7NtkIm$d01&RmYy8Z7a8Dv|4c3Zr(NGWzrCd$)st-G&2P(&8><>Gl3(q1 z|MWFk5;%$x)%``6Ui4#XOoOQ6Jm|NTn^&je?{_>;<*_Pt&_UU+f};G)vBG4S2pJmG zo{;M`+Pqw7e^Pu_=BH66zfy&1oPB||!f?>vB5ePgC}k9?D?90!ss^`Z2{QcT@e6dJb`(RMYPPtL?Wt8U7x{qcGv z)1Pk}`(}kC30^lFq3FrF0Vn2+3eUhFa5%JDs#?z^OAn*f2Gy}w7*inCD~0!j-V{yO zq~bQu=G|SE(#VO5g=+6l?bc5t?@XTC)2D61@y+E;o^TGE7dz*!3r%Lw^7l(HFa z{83mg;u?QtW^z1#zNd?!V8+*+dNwZ+R#s^RQ>@?etH~n~pF1-rPfmZA?YdYx(v%bA zS%!NJ1g9ZZl^Ql&L=42mf;cTt ze16fp%D$o#0_*b*6jn zdm*>yZCwkOvE|Wh=5DLnG;ub8?w&KjPDQ01O<#?Uskyiguel8N?Qk6HgQYr-!dVys zDXciuPlMsP5w9KBipy9xtlZf6Zf+Q;P1EuuMR1aS;y%xR8tV;uxE?2Zo%*B0$9gT# zH_yy)sQeN?tNu<3=kVJhlLGyDXBxH4A*k;r_-Nnk`$yeiHlVwjg1oV`e zwRMi^KRdeYD;sL(M2Z&w;cKP9&zlKe64DN# z5Cv{D*UOjDFfR!mzj2Db@1uBp38NVA8(likQeJQ8=t$zn5X^hQYZUEXc{5{Ii1Oah z9`+X(y+Pfkly@ zQ{h~hp87kw7S0Y@y8Tp8!r~BCXQkc%8+LlBGlhWJ)81&J(O!(RhzZ{zGXn~r;IOYs;)RxH8W)NytPU&-*;C zhRv`Z7<$ImZl(C)j{{56Z;U^Pn?5#dsTU@5UCKM&tmAbe4o%93V}q+9AVr&$29u2I z^2O7u?uf&m&a?Lti%bL8si9R7RVTdm_$~91is#vuEZT8%NHEz33ZL)J)@k-k>ASgT~Sr5^qRAPz;vS1Rs& zzHd%`ko)?{Ag4&Wt)Bsr&*WPE4f+#tICRviM|j89H}szwz`vGv?qfd|lEz9C{}ATC zdufzL8r*SkygTYuf0nDz?7%=j+uPDQE;^?ah4)v?3RM|LK1?`(vFDC!>yRB>Xq|Zx zp)&tNvd39K!`VCU;Yf=tRpAG|jXO)XJo!=~8^VPV^DTdVvQaC)s!QX5loC}MJGl-f zQenoa9?fSiQn<>)i&AZeNA6IoL~!!3fhgW~t~+Uv;2#~Hsg^kdh>PILtNhsW&F&xIS-)_I(ny$iwo!Kr{Dqm zyhs6~R5If9`XqDAz%ty#gciAZC|X=bL;vf$La-1BOxp>__SA7aqVa_Nsot5ROXsvS zZPEPKT3Ce|uF-ei10z%jWy;;S66B)2Hk5umWyqL4QAU-FG+lTC1sf}Hu>z6O38QGQ z-1G`Wv;tqSp9XO^`l7$vpyvaaV~;45p|W9Gn<@AitV& zH4h#(D`bwE*=l#){Yc7!p=ODTYR`RaT|IgduxaU3RE6-l-~UGDjxmiD^rO1@q_6$rVom*DThpb&NZL*Kh_HMVg(A84F`VGx`MA2-yw!2-nvYHGLrR<6e?gqTPh`ltJH2b?qPU2>_6d zKb4CL$xSNrRHP<6<%xys2M_y-g}_;ho=nN5Aj(~{IL>aIaP^a=w|6=4_pnyb9GsYs zDl~2r!>4e3pC4}Lt!Bl=U@U7DF-*s8Zk<;&ugW$UL~SjJ za7dYhma}3Fb)VQhQT$xynhNxC@qb329XPF%Zsy6PWc4`7Lk8%c}XI#r2X&%LLQZaXa`X2aC| zWvo63W(c8$(_D2r1B7_roGY@CHO`7n?AT;n|CtL-4J$_Vy3VrCO=Tye^|MvXfAAU5 zHgEfrfPY-+R}YV$1YkzdrQ%&G?n9LdCH2(XB;ofi-??s<6p}p0@L%Y_m?P_IhmW4hf+oG%2AM=~YmA z6@gF#B3-)lD*W-Bd+zvu=XCKF0Dy9EbJ0?fziVJJGF#{mFUfdIgr@&8Bzz6Stq1^@t+ zeNJXBW`A+!^7-{55(xloWdi_Ih5!KVR{-ET{BMr_hwXoi#Xo85-E$k3^L9F(f2;uZ z00iJJ00M9TSOA32IWXWJ;66a&j08{sT)Oz1eqS%0(`B;Dzv&to*%dPKYuB%nUn3{K zPI;5^I>ikNa&jtasv9?N-J-sAosx!@<`(Taf9rQ47k*n_x_s^2@D>F*#d+$#NN1k_ z)YmQyU97%zffI0%`obmZ3ui3=*57mY;-w3}r}n?mRkCZBE?*(P_*)G>pUz|#&ON_; z?J61VwF_6yhx_8Wmh37u4K2sD`*fU7Uf!nXlGHS-7`g*~prs#Q$sn(1?)(QiP*hC9 zz{TAI9TS&UQd<6bU{G8^+rrf?wk#8*7?A$+yl}?zT7T2uDn7serSNl=DD`i*E?m5L zmF&uSoxkbAMe0i&_b=1XKG8IDPAj>hg~km0K~HN0PD{U zkLHw)+ckcSwV>^V?|ArzEjlysu$AzzTA0UB6BAu5cuzvwVpn*4qb#=cNNC(kCY*2b zfYuh`hL4PdCH;_|5rW4-ta+DLO<7|{!#sbv@+?t6<%sScX*>S(egE(SyLFu zle-ubP%3NG`)`X?LrqR5j=by6IKOw%kBt#2Cu|Uh!N47KyyK>)$EpGc z@%X7O)9PF|(}voM5KUCaYRKt?cgz^4z(|sYs{oQnrCmFGM0nH9vd+VgL5|2F6}o9|TldmCeQdx-9ej@5Wa5v5O7= zLHkVV&I7{pf;#rS60~N ze6GX6rNz3F?ll%CUBy33S9H#6AglaA7B*{m`gW=SmNpB{GT?1#nWtgrGRwbTd99B{deKtO#hnu`QJ=$EvK%W3!lht z7DOWqRuneVD%GW4wb~F^f+OJ2)G?r+)h>hU9;Jj#NCjr##405W6zHKv`L&$4aX=aD z(+-Hrs0qW#+`;Lb=&9+v+R7d??WuPW=Ojtw0`=J>cf=~* zv3~WrIJUYEZYWh`u&`)*H>+2!Z0n~O!kz9Irj|C8ONAdc5#@ruoUp$;U>Eg6|Az_k z!)$F?)-yXh^T(wMBa*SZw!${{90k4LTOpY*^v6lW)zB2p%INyxO>p6dx z0C}(fS5_Cfp2~LiVBgEb_;Jbac_Dw6uIB&%{__m1S#`cCUFU}WV)5~595Ou?}d$D{y?^IW*!%4W@Ruy@TufUv>Ly43%#$%mtE#A0X zfvww47xHeKGPtVtarw22`_?;DRDcK%Scm62V_GW3CDJFU-uG?ll!`NYR>m+>y;+K* z&iWb2#--S!B&n#;skaV6S5>s@*2YdXkXB8bIIyoPSHA)-{>>S3{Se2_A(eVc+P%Dj zbB|l9=9V+Qk&z$k>izckqAvPmX=i)#6tNd6$)Emb=}!&%TVel??jS?8&ND}b z5PiB#Vvj_t2V(e-v`e&lEaIvIi0*>p2>YFAtmL@XG}@lPYv0l{4BdXTYxApcm^vlTY zp#4I*V6OJ)S>(u7tqhpTMAal{<(9gehDb*?B)X8PivG{p^DR-v2B`6 zO$?&Wt%mmRw5(cz%Kg+YaU;p9t;;hK3rRLnpYI9E0^qu}fmZz5Ff$&aJhKTWIWmZ3 z6g)h0s|d7m)M8O%HsiIrdlfiX;7H$u655(GojFQU!BRArX z@g0@Jap|Bdic(L7dp%_6wVGjx50@}>*tix4*`wi=yd%8|K9vO|lFJ}9L`7&*Fp8rr zyRo1QQF%okEH) z{Bv{G;=5gKL2j>XAiT-$GhyblKM*%K)R;pp8?-GMY5IaGUjN%<`2WkKz9y^S%Rt}v zyy=6QY~O^3z`A9OA9-ei+8n(wdK0CG(diNAC|@O{jaknn1*ekB*!$2IHf^>Xz+}Va%@4*KoE;t2uqB@@Y>@Zu?>3U;;oih zl4LF#AIoi-SwT-r5j|*Ugi#rCZsxi9=2i-K`tI->;e(=dJ9_5`#Dg+kqxYtKZ>9CV zJYiF{N=g;i)>E`%ovX#F{77q?0K+xhUy8-U93JzG6`{WjoB{r@7{qofYu?&qG7wLg z8{>9gmsF3zd<$W18*|R4;+3D2z;j2;Y8^`Y_^>K8m)iNfw$p(VMSOr% z4r3EFp3rQ!S)gCW5+vS?5otW}QSod%lb}lV z^Bh<`L((CN-&U7!Bmmzy`wA*3Z+Qt0$1qo?wFwA2Sf!)36C`j`Gh2_S?3|kw4ngi1 z^V&@6>=<>SS*>GsUAUyTbjHI_EM_IU=+ zw?wBbKsZ;W68zE-`{Tv2W)G@k#4516AF_sXJNdkf)7=k+_(r5`wNYuNk;(zo_yZi% zK~8V^6{>68U*iUB!4PT&5K~mufYrnq0NeiK-xdtC9_FW>_vrhJ)CyhmJdi1i-40z~6D|cI0`!%Y%9@OHfeJ zRtuTa*}^*5m!iQ4=>lq=apeS>2XbZ@zi7tM8x;|;?lKGoYpYyO-Z9F2LxYIrgEmJx z1V(CxVWfL@aQp zF|3Nt4Rn!f1+lH=oOIq0F_Sxe_b#yJ+Z{1b-b6!9^;nw**R)_jNQ+b!WfhFtD_9iT zS-CIUW(jld4ez$NQ2yfIyZrt~#pVV%bK3jQ1AH$HOhhg|&ls8=@U8Ng?UddaB=uDu z?~}{|t&G?a35Xb;)?UUxBIcmQuAm%~=Z1%Q0S)#?G8j(~OKj<_4T+S60BRsf&Oq<+ zYO}$>wOp)s>~a zTV5|CiPO7rHfT-V3-<>{BK@#Ck;rUzcxI_`w>Tr7ymU<2s@tJ87C@;$*(CS@A8(sq zY$2=Vm`&<{f7S6Wg=4mss}IE#sY)9xHF6v&j94E2kPm!_0!!v zmX4%LS(aVrr{XhF?IEak-#)*wd;i`cv9IDzl6Aa4eU`J$Yt@0BD7VBu(8x1<$2c;f z?inCsZ9|p;f`<;HpT8!wZK60h z#@HI@4Boysdn6OAC+fAHgb7$qd|=UT-2mZ#6%BzeuB2VIfiM24^-CCQ* zrgiLTW}`ddL#CaHoLZ6EH^q)KbI`wTKiyFdj~<`o63>Z%^SEE#suS+qURW2tA6_X= zC-AE4U7$Ev)Te;e5<44nAc=8CiIi$#_aven;&&Bs=3a?;FC}(}TT5H3+1L0hzPuDh zrU0)Nyr)AZYUfBSv|!%d!qyB4;~%(}LKC$@6rsDtKO_9QN|P`~z!wR#H_P33^iAUt zHlWaLuz01@*bZ&vb{MBoii7zXAh$B|I&h1vun046*euB@&cz*Ze*!U*RBHnF3+)|? zzk!zQ8kkNaSXzs&`QrLM&Sz3qAF2k zDE|IF4IIteZ5gdAc2&B={i+6+2~uyzrIg0q=0ljF@vh5CglU~7q1ksaIgC$;ugslL z(918%IZ>%OaCu*TX8;-VBKuvh6}@FYLIRGmpj*^6B00(s2!bsSSbliOF7ePCS3Nr3 zOFN&&H=B#fn_<5D&q%1u;fg{<2=r-{sHhw#CyjA&3l-efrA~u``$&^Id-{q%psUJG zOyK0NDz33coo<%}Wscg}Je=y}t4^__wsb^;NTf=@p;G92TcBjKFrL^przN3P2kamw zhj;gxO=Z+&HN3`^Ya60jWz%+!nQet9=u*WPQ3qLy7OCtKEI4Dtid^>4j*r!ttjK3) zv%b!#p9oN#q5DE&jF5lU*f=8JySLqA`Z%f71tki5iJFqHDQyZ1kj&forSxX^X$Kb3 zYaEAI$Y6grQ@I@>*V&e-qOTc3SwQlPJ$0c^#>Si~9M!+OcVi>&%OWcrtpT z_wMJv-PHxpGJP;<BmT(4> zzNPv)E@eq_;QR87ATp{}Z)r?tHAhP1?b(AAqgo{q@Bi_xLMDn^mf-rMe5#ECteShJ z-dYei8Ozo1EyHG`@>dO8CztFphrlMR5J!fs3H~~}InRuPZ{gezR0*A`X({LvjGl6g z=<=#}+_8hDrKP+{xPe8LV51{MY@y-k43G_!tq|5q=HvwXOdP8FR*pS?+$K|vNS>WC zT=w>q?cMY-WngEHXWcP$G<=yXT)R?b=>E}>*yj>q@MT+AGk@M^ajkxU_%3=0hpSdcZ-dsYRva5$*QLKp)l-sa zhLhg00H5^Wy|!wkX{_4qKZ*yeodI5r!>qawI>!844fpBu1ddek6?Hy-17Zgbd$0mQ zEIb~sF&@i+&fEjbwkeAH2+SEh8%tggwca&(6CBdc#HsCaEzBI&%bqvw{XotjY*Qy@ zok@ZOpsANO5#SNZD_9E3Su9i}xpaDe!eoFsfz`g_nz&Q0#Ft=TE|UN4U&DbiGVM}L zVp~aDEN6iG8Ev*9EoDn1^ps6eME#kJoMlXkO35mG-J6muzqLIuF*kB#_#kZXrDX+g zT8wRHTAF&TWelfXOyCgLf+AD}h+9|mMx$L1qCS{-BulNhh2aS@Hal@yy#Z^^Zb{-$ z#e|^o1hLHU2z5x%$Zb9WOuvBZ@FaMetPNZiIIphx7>kp@v7V;S)2*)zb;3RThNFpAcD#Xrh z+U9M#+81VZfjENmjI=T{hY_vNG3#9|B%)Uu?Vw;-^kGf@eW8Oe!q8c&wg${nj-TGe z#h|4KOoB`>Yhgj5z*=>-PSlO+eh@I-S%Gqx+b-&E@7CqVZ7-VNq1zN582V`Rcn&+~`chr3U|qd8ZjE)u(8PZOg)# ztGWJ_+*n>rVR)3qMoDanai+R-(l@B{o4=nshV<3v)r$8ieA6 zLHwxl%vsQRlmR5UFyD@N{Ev5s|CD<5=RT<_A=Hdm6>mtEKZB3YVbJT>6#h8l)nFg0 z^T|e&X1an}(*)N474Cpk&$SiR%tfk{z^?|^i!eE_99}Py&3ZOqSfMF9%@P1A3Vm9s zpIhczr9!)RxPO82^M`s<;RuZ$QIn@csU9oN617>%#w1b=Uoe@8q$YD*)sQ&Z!kQGS zbXjM%h!)Yw^I2z&rno1+yp2+(NO3Efh|RfTzm3T%xuPLBT_x0-GraP{avT;!!1pTp zU~MN=CcAguUjA}_+(&Qgc82c3aZg79e_iKLl#+8+Zzb{Fj0~wEj}CEg+P`EzD#XoB z50t`Ke!DY}E)LM5|XhU>(b(g;ZubHuKE8eJ8~^O07o- zEP(TRXQHrV4>=IX>dET|!Jj>S+NF?C(I9G`C?Vt= z7QejMnj9_XrJ3}dl&c^?!|b3K7g6;rGk0d0feW$+p+<=Aj9f4M!xs)tAhyATL|3aj zJt>T_9OWDf!?Bn#XJEH-teCY}?&VCJK()D-bI6O`pDXth$};X#?a!^xXJ$`ej$5}P zyPQYpY8=>8AN1OCae~3%yLTedDHiO{-1+nG^#Uz#D5n~)`bYC_rloa+XqK^Jv}#f4 z{oS~VTxF!~qmHmcO#c1AnM)M#vHbZcgU6L9I_FVtg9Vamejx{vz_(AX>?22g4U(Ei z@S2s@V~k45&+S!-VbgnTpZs<+tD!kEkryaoV??j~t&>ya*ZFar<(Ji7ii|Q20x58 zj^2vPRQNt&MLqOHY|x<~SzK9OXEqGNAfEcR!0#@;t@Pxk+ImGIiqLyy`p_M&ukA>Eh+ZNnB~wl%Y)!y6dm^&wri&9pxj03| zbB&`mt1hge(Q$L$=%^onYo=*Gn2VQn)}FVKr1|Kb6QWS6RUxrYxkLD%qi(-+irBqDVDQ48YVCB+->MKl0=bz1#Aa`Oz38J^>wWuW*PqZ1F|_7BCZ6Z|>+!y2R8M&d?QLjzR`ygtrO ziimSrI1}RWzPaEdI^*Duj*eFwlCWr!2J;}OQ=dMgJWy(7d2|o@44!K{T3>hQ!Ma(- zSA8f`Z|Jo6YI{S@uPA<&tuRG?H(y;bvWfOK5zo*OVmyE-K_5$_59v>zhf7#B*Vnl0 zyot~T3eA6*`;ns+-WR6YLyxa@8778V+6Lf&KgY0a;Y$|riD6xZ-$1HGZD)sq2hed^9U4F3rk>3#o>bVJipVXqJ}2 zbpEXJFdXmp?ym8p^0E*uZ8za%JP}iQ!hRXvCjara)qGj*de-egrn;PaqAM0LNPK3UZx=hs~ zVc40K6*QR+H+`9*@(N2pVYy=?S@-*hXqDDSd)xQfn?EEKKk^xGT2hByE>jrRqC+*? zcl3lu401i7J8$SSD0rfZlcUTClG$T}HSCjfs*{FkSrQrtxbaY<1#1QCbxTEu;u;)o zV^t`)!abY!Jpj~Gd&Be-EN3JR(&6>E}@)~n?o#xYGthQ zxkP7k$&6FD^Hl)DmP9#DLkeo zr3I<=bTlY?_SU_R%+&*`*`UuQwd0H2-Dw|kBv1ufMRtlY$qz%W+$Lc3tYOO8v6YLT z`BB{sR!k(GPo?8ebuflF{#v(dsD@e45)^(NO8*wxgNfyXGl)Xs+H0uok$31(zJz(L z-ivN*dQNR7#*-f_lu);Q-l*O%9yn>6lN@Iqv(u-KcBrp#l^~gRfwxu!>t&Y6Uev>{ zeeD{*(=JgFW|t@E(m=^eJMZ-Yj=|>ETz5Co;?%aUR@?P;e^3){r(Z5Vz6a7--0>{f zvKw{t@e;TJ4Vr3QL53iEqxf!QMn8R^XJS1!7vOv-#v7ORtFydWFFvW&_f>g8&{(IK z?K`YEm|1L-tMvyi8-P8N36RNj$B!Dt{}!Ma;B&q*zNZ33*+5k+NP{@ zG4W4(^5X2dv&<=SyJ+ZRv`nCIar}VIcPtYzlfa$+#j(IS@8|(okZ?e4yK+nKMpue8 zOcPQ%r;d*uBTJPv{Ty!Fs&?w0Q4=Jm`2>^?m+Jg#t`NOV4$lW`-SQcju7sGjq|c>; zK@6Obb*1>vXx>y^*9t8o2N@3?oUOKUcb=?bCNKoq0GUxnW@3EZHpRV2WVDgX-)_DP zD#>*#-&1R?uTqkynfJUeq4*}wX}}JJgmQv_eTdccCoduFd2$AkC8C)5GXSm7&aq%C zs4I9k5LQ*FC@+*DR-V?*2%}+j&(P2$FuUC94p3*vtr3g~HluadS4KJJlK8jHbgzVi}c%)k(6(s_~CD`n#{V~5+0nWE|ERemH zs;P2YouNa;mK8&gnhk7)c|xp-S=|=am;gZ0cP2vUvT*@MmcK^iK^TcYMduweuzY*T zriw00!&Ur!NRu#}enF*jz9hwz(~o7RPpf=~Ml?VxIP$BP> zD^#tmqbJNK5&4ShMRSr8B`17^d8V>8RxkRb8T2yVS{J|6P3&D z{Yvm5ehM-nAX@XX`)3ZGOVFau`1Nff-9Iz=ZF`RNHU-*T(=lZHEzSqJ7mu7i3y$T{Ng1`R?h*|D> z)fhf~NdM~~+Y)_9O<4{rmr}*iR*2I8C6^8Qc*^^Qkm)G42)cu8f6hr|Z-(-|B`U&- zN6zbi){j(Fr@V!uw=w^Nu{DKMsy(sYL^0rlMc=J#R51sO>V@5MYx$X|OdgB=J!Ig|Z zFLr0;%^P{=&~DIb-qauxx1qP7p&63bg@WUjo@&xOixI;|T%TF|`gS4+5%kKdWd+62 zM$G@AukT{uVdo zdh&A&WyuvCXgSyE*CF;-^z7^X{{{By@}ChA=KzQq_?Elo#-+=@^71d}o}*UzJ7wK! zJx>9DLoe`riPw<(#PS<_^%uC+ztVz#lK0Ojv2(xwGiD50&VGKhrsMnFz`suEwkH2q z|CL{w`+u07uF?G$9{jfvznDc>cIx*V|Aza(_$;|?pIrFA2vobA`Zz^lutN1KOqeOq z{Ow#IPmN00d=35lZoI|b^-rYWsqlQwYOk~ag0N39T)Bl&kn}Qu7#ZB)t!iP)UKCpbkU?9$7CtQ*1 zNbmClMrr!?hQ*1>_1ot$Et*2AHQ#*elgY>EQ~db$86fx^a}?~+xf{rym~+EFEB(V6 zVCKI7;`}+1TXK$_`BO*y1+JtA*(MD3{k;0upzELK@?Wqw|D;3zmE`{hKy*Y*jc8dkcymf?Ez~a53~S8_)PLL!m0Trb8@9X$*3H`T}0Hv`F}8 zuKg?Ne-8jv2@$!Km5A51>Ps7}%*y|e9h&ZHN#_~a;=UzztU7d2wtbaTf8Y}7!qP;2Xnkj8+9r@8~vHH#V*wnK9#@KVtrBi_bi8>0R z{c|ZBo9wvCtPdC+{1SwFUWIEfmpNr=s!9wWZ8ev{DEUu^6#zQrGKVH+4+%DhudMUP zG_i?^z174}#|#VEj(!Y*>SUY;phRU`_|H3; z;R)TElH1qy`tH4psbzMC+II?5GfF~4w>iadyv^VK+PXWsdj%H65wP=*+Yb(}gkOYw zLB&t_;mCf|_WdYPX_~-i##-*5JsgonWUyd@Hh6tHaXHryE_Va*B z6Tb!G>pR0&@DK31Pd$$o1%zzpg=@zvhA<;HjL7-59x@=_4`d2a2zSX36o&bRB-!4+ zk*X8{J|cth)i^M##j@Q;xRvAR7wiWy#l`A6AZ4eK}mEHI*egJ?nJD+dqr8uNVe*T4UraQnZqJ;&b`)^5&JB)wGG zs*i^)Z@biZX*R5IH?tlLZ?KSwR5KAl%_fd?*dGm8rTCpd2|L)OwVpf zxf!F~+$7>`yc~x@&_=6X7XDl#PI}e|7eG=>yRMaqsgcrNhpXOnFTh9O# z%{iroB5nOv3|464esNHv?(nhq&GF}&>(8GJt~P3}3cgnj(Hluuh6@9Uz7vM_{ynJ+ z8@mw`1CE_V4}Wdg{d(d>&D|?jIm_-zZ?hsx)MZ8&yvO7H`0HyJGdtB%CLT`Fa^e)PKb21M=2R_fWX_t1o0ej* z4$avomJH}$HfI3pkVe~;(O!OGTgR2L%FNOTS?2jV$9AVA`H$~P;=lTae+-g-YY_W9 zc4=)Od$8LBGx+|(ud~?;d}+#C*l@~1U&7WC5+=ynRG$AeSI;Hi~C!9 zxLO$1()D>J5w+bkUQ{`nqk`sXSlk5B)K))Xr3Xje@=NRk2K{B(JqW z&yhr^&P;ISV(GOI{-XhX)5_7eZ zwIk~smg6$EMJHOz(%2$V=^N?NT{)J8`NQysRCAbQsNb8Z^YG~C@fmgsJ`c;8k1 zwEFC=>p`)fok6t-2@!wpZ-z%C|LI!)C$u4)qxO&6whFGl6M%f=i-{5ovxHfgJ2kw~ zFHzcM-?kV1J-mx8q6HR`LAeIMLZoJ;>4J+gNoYou;}K^4f>f^2y)n2$40s)Up%ABh zU5XoZ+H{N=P2b$&ca%!# zUv#hhe{t*kW4uqFv@^H9e3$Dyj%~}<&&`gGzlCgGIzJMdA0+(M?FS9(y!hRu+tgT zhi5>AK^{sBQN0jUsVI;K<0%9ORtfclcl%mI8cqp|x`!X$pK0$+CR)A*t$cAUIBlL; zzodW&;{(3v0 znmLpopQhN--Xe7vguABo1jKR*m4h`oG$aBUbF*&|IE2NJMcn0#d=O1kQl#PZtM&Xw z24R`e!;;^4Ns*1Y^F!SCe_gYZi0-h90)yEQTQTe2+>sP_%K(XhxMeM@Z*XvMPtP&+ zts5^``B!S~0%bxIUuo+yXAkoZ+?uZFy*%^KS#-AZIyB5*EGN9~&id=W7I=-`F`p^z z=h0?8(?t+mJqoQqtfJ_;;|7a7QJ(F>Y+R+P9ETOy zaJNP_Cf^yZms}rNP8bY@8}5_ms%CykjZTZ@3;hm${b-%8JuC+pHa%6>BvRPl?ypB<5mE;|BsTwYl5(+T0(g zl&X3^;ovl7y~0lzlnKh}uS&Jc(wcvGy9v>HmuL$MRmdXT#VSqtEx?CLR4>VOZfvoX z4Y)i4ntO}ivrs5LU{h=#Bo_fWNWvT}U2H73Xd)_KzU7-AJbAL*MGPO0H(dV7ED#QE zEkNf+HN6iQTqEf#A}aW3GwZW;Unwkx% z8alU5ciPl0iSQwQ`eYHeSKNocV!SbG6@_J|>0@}cC(Uv~`4U=% z&iy4gS967mX%I*LwNpzun`W09`jUNNW z_@Qed>JsVtIh$nNuZPw+H+k|7Q{K}*h%=*n{Q4xIf};b=Xd6ipNX@Orl=Z9yfq@6b zdp4W_@&YkWV{3K5A7wwgD?DuC6J~q)LOw9xFbvk4 z!Buqq;_4-u0dER#wTJJMeI0%kzL}whBpst9=3+B@xn~BtZjJH59V`Pt(y8X0t1_$Y z++C|KqerOhjh1(2KWxgXDzTp%LPx`lqWd`tJCZzyBsOlSv;qf+>H3x_2L~Go&9QIlZj2>V7aOX~DI$^H)C?c|ox-(b zZ-zZ?%`oUrnV>89$o*V3*@;*o*lQw208Oe?b_$a`52M`N7Us9%LF`Mr{@xqTKTp}a zc|?HUJlq?4_hZIn0e~AfjV!z=?hT%NJAU?~q;l)JboGZ*y0=vGoUQLHKrKl@Mw(91 z$noeH6`%+*rX9D6PMNKtk}y=E0JdjWNz}Gt8(H`E#~^ZPHbIQ^Q=a-Mnxw zdYMHcqAfxIDDnqLF@{SlSEv;qw4sA zGE(hOZTK+`7h2sUUbUqXcLwlEJp)+Y{p?)d6uFfp`_QS|<=HsRm_pJtH4beLjk>!x zQ#2L)v3?JP_FyVZm<@$CR1V&_kZP{)_wCEC zm~M;vP-tzXBrK40bkF_}GtNX8_HpG`!lOc-#5;{+fS|&z^HxOgWIFoi%n# zNNj-0K{8_%BL6g;=&wngFs3S^?|wlAVY@{C)9n8wyhR;Qi! zTp)Xt!Q*$?WJTjG4&CVb(my!JQ-(m5kA;|j@g2!Fa_uojy)et-NztnOC9`BLuQQSk zF^<#2Xwli2A>T>Jfe4nV29SyJ` zPBR%hIy~Jvaobp&kK`A$NY-Bc_jaOtiPJ1rAgS3+@t#ab*q-(9yM`2(SG2k^A~{>f?;)W$A_DL zIsG`t3nE54+7>+w?vUijQb(z(_J^hpB49>e2dLWVu^>=Qu1X0t1%0&Tcs}7(OMTr; zS#DFrfbW==PLSFc+jSe8R@z7gmoZd)JX+AWj=J{oy=2*;329BU@?E93Pot;(pJ@jm zt=5348{r=bV@hkBj2{*Tdm9Rk4}|kLdut*pGZ2>N_&Pt%uug~^7uQ5%QcxBmyo{km zR-9h+sZCs|pY_)h(B121}+{8_S#yM5TCQBh?;F+4YG$369<8^MnC0rMh0LyfiTXo z*7HS-yDlsmW?^6gG`73dzLLxTA|soL%Ewa04Eu{*{u<`_4BPvbU1o4%FtOP-vZ9Xp zxHBg|J7~F=st#nM)vL}M+$&T`a;PoioC-rKO?22%ig0VQ7|hMJhf$=MWVCgowvvj$ zkHnhR^_7WtPzKK@$_H4Yn;rRV%*D)|uy5RbAJ7qU`M(Fmb&49P$!2j7cB%t=!b9r9 zR=gkH>%ZbsxT-JIgb?QY!aF~9*;d~LLd{OMw<>4AMvDsXu59Q8#|y6)M@lUeQZq-~ z&affF5`qS62a==qR}52Hr}}*AJ?7@O`c&Gz>^Ap~kLxF7*u0l&vNs);pX=<}I`pnI z)&njqdf$=AuwZ-?SSgM(3)h2Gwpn(%_VYB%xv7R9Uq`i(&w+eJ#odOLtum zSvpo$ZL%@2vJM0}rYUx}(&iP$UtvYW(NUS+)#At2259KOVP)myS09651G}7B#8ND# zFR~=g``Ei;L-P|EYm%*^nzT-sOiJX$=8xSK{CqOPEgw`~NmQ(yh+-tvVrJ3}1w#}q z;~&hnM3}y;NO+Bz{st@&EQ+n;`MIW2fYn_o@e@pz>CnP*kk45w$|APIuU zcd>r2nok9-I@+zbWb7Whb_Z7u5$sRm<1gZ6tk-fr@`gmrBTrOVyUC7lPzFn!6%d5cPy_j88=6_xHNi5M;H&Z}qHz`>HrRLxew z;braS((sys3Z^pQ+=#b}cf7$}YgOhG_tngIMo;{1J|z5zOv_5aKpo#a?X1Kii&}iE zDB&;{pEQyxA>w*jSkCC6K%o|oB`&j~-N9vGKfAJJz}&p|=`738oe*A>10QJcM83V$ zIDqj%tPH4K^P7Wf*!QOO=7@oxb5@x|z~e3LeFwywI^i%_!l))N8%7 zyb?4-z?B;Z#q>uQbcZ*&G%2`HLCl7SiG)@ty|wGG^A3%a?XuHaqn>`Sl%+*QrS2%V zp_R9lgo%r@^;(lsBKZ7xqg*mOGo8;ZL>eFZgrI1%gg>O8CVr)m<|_pUYYPG!*{*&n zY(b3ZWU9#LaTY>Q+}?L1&apmWsGgpa9{rZM!Il(8`rD{Nwnvyb-O?p^Cy!cwaG!cs zVe>g0o6mE2*wTmPP(o{^PNHnOW)(mknz&$YUx|mEy>}pL(lKzZ+UfJCu4~h+9_3| z9Z07Qg;GJptApq8iw_5xy{>=Dh?#>0V+w`+?xC2adWKl$(#zP>MdsR%7G;~ zEL8aXakhnet%`H|!i)3Y{#>urbU&W$g4*TN`uzN{xH;?-RaVC?ev(Z_WKah0%y~He zR;FaEOuG6>1Tv6MQ89z`_(E~D^4o<62X7PfDzbE-N5@zau?~_u;t|vLYGGi^qe+2! zf#V~wf|_G?D#vCOBbI-!)h%y1GCdFn7SQHrQ~KFcnNhurLrR%HWK38Svb1v}*}adn zo3Z;&VC3=R%mje;j`Wi(YYI_CkX&cWS*(OGi6|fSI8JahE-MMe3i*ft&k7M1$$5Em zG*=_-OuHAS;Rk+QuI`3kh`o?N8)RM!kqF64)AhPz1IA-uaRZt4IJ*ZHWj$f(W7&8} zxvQvvH6U2^=dYN_SwroIdKSSZQ;0oHt1(Uw8r+@jACX;#sCfQw*eW{XXR&;KSeSSk z85EfP$1LN`Al1*olEdO}A+2M9aQgmkX~tybE=6338*xy)r=m5h)8PdFi)T)IIZ?wi zA`ZYb6?`Dw?6&wUM^uL4>Zg?C4Z}M_*5(G{fUGa2lOWW3W1oo>YK$^q1w^qW^gzd?`!X zJ>-Q>!h(tfUENb^En?>_JluKmrK>n!xgaq!vu7WO$0Fuy)@o+73OSa(l^YmY7SkE| zEHqrU_RtUrqa0Pz?vyOzJ-$1k(4p-U9s-4h2%kJ%wkSjx!d)-?pVH1duBqkC|J-XY zsDOY}1rmBdLlprPX$d_vAryfGNN7@}hDP`Zl!#X_w$(mf3 zIO4#Qh`ckn!Lu#}RWjIO1{4+}cg!xX_QUVeapBB1#>-QF=eT0$;lZ)_RQtC1K=$ht z{~N5pL;1i{{qF}KH(m~k4*s~iRT|JIni%-qy!)}v*UbReyS)L=czY!-G5+~3Q~4PJ zf(7g=yngR)t?70I%wZ8VZ6&P2>Fmv{5%8pVbI!&W$+~znZ#t^iS|^{N_&u0WNv0#K z>Pk8eZV~Mlz5u3b;9{XqLFkv1X3$nKe-8Dsk%*H~Flx;mu&S_Bz~UPFfp!UPiV$eY zd}ZbO2e&s}tIA^VU2Mclf=!6@l=O+;+M(U?@W;qF*{^((bslj==_fxvjY24Puj&__ z-W0oSy5~*blb~HQ%F|D<)6k>RIbW-9FCQC@O$~UJZcT4lml%Vy;wj1mVp$xC+f&uA z=0d|C516qW{`qSCy}CXUU4(Th*l&M9y&4s+O!4kSLZSF^QAfo%*e&a{T`|brvQWfJ zZybKn49J8tTxSU7ahZwO-t%G}@-ZMd9fw#QZGLRY{U&zp5t9kzie0k-FEgUP2c=>itjIDU;=2peyYnlS74A`pw6g-S1zJk!ow&B+=E++ zyIKr21wYN(XT?Fc#6WwDG{3QQxLK~S!d5FwP$D9W)epwM3uXF|A1izI$Ej313W`C# zmkU(x(oHnqAoRU*2k#!)D`N$L(kE{&&l9)+YO^CpfG|qtVildoykaGRW&O$Lw5t+$ z0Y)m@vI?Fu?#@PVQ3&f)s`XR0?6yP|$Fp!IEg7-X-fJ5#D>K$37=b8>TNPgR%ZX^qV?gyzM!oV3<;XF_p=sVA}oR)__yaB=)yDtE~Xq@H_Nyt|IFa@wi z)!!|wYm7>PxSTxJbw%F^5Xg>Dgy@12Kj@@rVL_D%6c~J0vLivI9494Wb;+#&#B~fb zKK8m#nNix0$=7Um!zsq`(G%@)fNU)3h#aDgFHOeVs3|TCGYi|S0}>~R3AQC zo@m(bHXitJo?B=m{aLDsdUkRcE~g{DqA0mjS*4t53HT_>X3OZoq6K-&Qhu_h7S5&W zTt$z|Tq>+(@xnN44A>mi&*$%QsArvREM~=c)N4pgs+B8MaqdJl2`BYQSp5!G&p--7 zus`ZTlz1$6S0_XKTMsUU^xPG|bNMlrm!7A*rdYS*zf*WlRKymJ)VyYp7JOBrl?^?np9Qppx_e;wO>D^B~=tmP-d-v>2)w}FG(LmLxLsQhEpB@%RfM7Qb&+`w>6p)a3 zAa9&e!5*hZ)$erZkKc)&jmIr<2xv^rHa+iPF((JPyWi5)*`VR{xS z+sm1+@bykl3c8o*f-+a>x{Liu!`K`1%{YWLT&?I$&5|YkJ#|BvsmVy}f(a4mtJg#j z@<;>jEtj_(Fyx@dv+fOC%!mO^7qvmd3thHR6JwIN>|KPd>_-U-W;^qeHO^e!jx`n zP-iia-nm@5BDl!er_z3VHX$ghXHu%$t+LeOUU=InX< zG89;;UcsS?9frXgdqt8X9p!k;k$`^7bp{>S-EV(*p5J6BWw~}3np^k&kxPC4lWklXbG_NNTjU!1hkuS-edca5IOiDPo_Q!Hl$EhgE7!5XP;Q^ifydT2PLcS6NQ}7 zay_vV{j~}01m;i>oeq6m?#A_)S{9k_$8-K>HyZ=49Hus$iUd@gO|cq>`A>Lf0z<<6 zW8VIxiT62u`42O9W2($(i&?4VR}L|n(G)k|hR1~buYZ*F!=?>X#DXNWYL zO=k^mZ6ie`v(wx`^-aZ-e2#~sex`?il*n^C?^CxTS=3*Uqr|Kt>NTA4?^|Tj5zH0t*a>AxySg$*F^j~VyysM(CRr%W8_o^}NMq?IORDaSl2y zU2Vbz+{2RNDM2Cjcf7KTLEuF7&aT;I0p(?g03_GfT#jV4+n#*q;>Q&=gbNcA zmD-!E-UqJQ!}-z)$%!`r%0!m3Nj0OoWlAth^3aT5(E&LNEvfay?Q!6ZoKapxhpI^@ zc=Ky=^c(zOeru*gRw*k?(b|{In9Q?kx%i*vC7N@Knnj*`o3sSa*5E>7@tqUvx8oJg z33EDd4A;aMUH+ne`BjF}!$R?zp)Dy5VSd=A?7S9;3h04iJK}p4Shg1T6 zyj$W~07HsCtJXL%Q46mtA^(W6dVL12GQgbbxKB=>e>`qXr%zwZcAU9V-EcX8RLT7x z+^WC+;qL)ywtZ4bsxIrbtphW8)%(h<*A}80!guR|vs<8kB$lZYrbI(yr^b25B{lg+ zzi54+mKMilj+=RX)dDYt-$}>kNq#F`8SMpvR8!7pmy6c)81XFAE+Y!iTFGH6O;Kn zVGY%g^>~LBxC@-)dHh(Pzf z-4fbN@W09MH2=%f4~yd;(EDjZJ>ib5*~RKOjj$FHx1!6-Pi_bIZ~?psm5z?K&e!!C zJZ5(X^V^qV=6m5)(RH2dw?B2mxAner%Oi)yy!geF!#an(i0rCiJ$+p?+-E)XuSs0$ zkf(`h=WdH!iIg)kuc~JEijtKQ1b$K02B?O$a&l%mAFg$;mrO}W@gqtqRuNL{M0NA5 z;W}Tav_ok!gHx|)hV7Q?yL+624Y>On9rMMwDznrL+4<<>fz#oV@d?YHAY${y?YjQ} z0{aWY^*3>Rf0_S2{Wq0=*Ut*Tn|kd1adX!o=q&I~`6ms3-P-rx@2(bK{s(T`%GmQK z`GMS&5jW45v*Nkgs?6I>3pWv?Yzzl?d7*N?eoQ(8AnV!`nL7C^rpH?O|2!u zI{b53*`G2qvgR#Bq<GWG#}<3$OR>>_mhGAVOhGjkAmCW zp>RYqBt4ivTp6Dgk-|0vcy5+%n-JMX$h+-Txi9XvvpxjDdZqM`ic67ao5Bzg-%#D# z1LV%D0D%jWNV;S-`&p{4_$&@r3alHt?s!3I4kKn{Avhe8rRhxhlwG!*0C5{Jr9i|a ze58KEz5Ztd=|*ud(Ls$LYiGsErr9v%Ci1M)LD0RGp6w}XRM-%aABWo(19Pvxc=Swn z2WH@&xFB`s^g*F_jO54-ExPX!H4W_UwuME}b2r$lO6+-zwQwdd`c=#)V?9-c&Z|%D zBPx#R9!9vW85Lha+F_RRGavE#-;zE#)yr~Oe!1#j%~9_a!*;PtyovIiziq=*IlHdb z(g(Nx;yoE7sBgEzZBLogAmkTg8pBdSdpshiPwpKkM)>w?*cZ5Bo|-vh6g$7v5DthO zUU3e$&-rPng-ofg5hOSH@e|{G^eFN4F7652X}TPGI`i9=QfkhVO;J(dqlNd!guC;+ za`8d>0yD}ADehOtN2awdF@>$Cw?O8L3k+hv49-0;%&U!>B5RZ=aem4LD;m--sz;A@ zfD@iab*u4G`o(eZWxDE~A?vjEi|=44|19L7+hDJ5pcb~>ul`_v&2CtztlZ%W6gIa8 zu^7Ls@;kuYXh|4X9R6XgOvByUL=6rX4tPu%1*1b<#xT9Df{TXF%k8tvsIl{n8-=ms z(SdL*Wd*_q(PFp)JnWLbiZtgL0X2mKGgz!(AOYLRX9{C&$*tF$ilq^bmGwGS~<{<*|F%C8xg%Alq$E<;( z18=;GW~Z+0Vf0{~!@U^=?JwCFlmZ3n9D; zR_RPl;KI~PIt0JPQ~O?1GM=6j zklqC~0Rj^6MPYb6L7(P)mNq3dt>Gp#4XS^M&z0gZ;CEP6Hm+78j$BiVPW2d485^id zthA6iOv^ebsWL=eaC8mUR&5~}*cb8CJJCxJ<3AYBPd&$aF%(Xv@_5Z@6)90vU{*ywZGh3dD|gOmZ8Ph%yg4#uc^Dot<$x^ksMGd6A7RadHnSi=5W?1 z71@D?87hbMZ~?TN*;~EWh!h^x?uuxdM1TH5&H}o90@54cg)Ct(WV*QCE4=N;#qnhG zL|CvKE9lLfn!0;#sLoXs%AGXh!bkrv9^nqey>t3#E319wgt<6Q#jCzjjKgr1Rs1ZZ zCYGyO#)Z|rl?7*vs>Xl7pm%i1i~fU=L#CEV)Dq-DOWw<|3x!$T60tMcn_wjsf1HilAVs(E`15yXQ(r-(QH%I|6p#+2 z=yB_}Jc4>Hc86q;IJaA4Qk&rY2RuOr-|ff3E}7yG80)B@%dW|Fe_}v4{FF^N3BVfT z9KV!a_$?=YIfaFnFE2^<@*O25jJrNSC=V$&wn#n^GzrTy=O2WByB8Zwch}Xplk**I zEDc?;Zo6}Baz=LT9Idx$VC`=$7~uu!71gMM@oxDDTIEUK{_uQT2x}*3OM;%EG6dKf zB9~uc)!pfTf1W~G8Fzho{?9iqtR-+4z1|P(OWszFY|0-6Vspa-)q*PKM&evLj!@dRZ%4BH{RtnJsVOkZe($tKS_*t$Si7noj43`fW5gJ zwt7hveWhU5_gYd(m-|-^*z;$?EaKxJWsQ6NBjRKTP-sMlwLW5>CUQSE_v1E(PZo=g zdHG2rh=p-o0;JihwjhUROQkP~i@w*X7|)N$CO7PW<%9n^B)4yyJ+ngSB&s(m1 zoE1WJrHAzsq0%k>6;07!WLHAo$S3PT4O)CK1vIRM=HP2}@oIr$yfWJbC%P3K!d%tM zUDof;fHMs2%Eu8hWAN)ls>oHd&a;g}(0|-1ev!}osw4V~-TkZX;urAte~xt`q&_I&Y z1nEFr3VWaMyCX;9UJU!9bL@IG^FP?&3MpH4hzNYHY(SX zu-0Vto+#=Xv27Y4^G1h$fON)mK7wTv75xziWz!DVvxEN%U5-ic{#cwYxf#PQk$%_K zKA(4bOu|M#Y<>%+?Nss1iI+XTQ&&~I>`RM=%{iT_@*fCRT!lEnPdTi+e71t)z!B=4 zLkVvB0!Ua6BTMAr6meqP@&KioaypuSvIPINX}Xk&9ecyVwcF_v47!3r~Z0t*MKFk=H zxQ#IXL~~kD*fu1dR_F3bu-q4?rmymz%3@)j8uYlEaJLMjL_TsVzy49BDlHA_G0EKV zU|gDPhXK)k((X0_X}E$0wndn2lFYvwm>Zm6cnhAtK^O98Z|Y`_?tnJSnqqt)FI0^H z^Y0x6RH6Dm;vBsfb}~ku2-U1#3biz--b)&Jc(u-7S3**X{*F_`Vy7C)KGo<%R@=<9 zT0*E7Dz^9f*T(;Ee_a$Mpf$PP0LkC&tCJ5kbXMl>P2&%kt3bKU97n9fB(({|IsQ9~ z?-oSAcp`JOSb1Db-%RKwOz9AL(Z;&9t8fA{Xm_n?@@zq`qn@EJ*3*vnEEQ!eG?=%4 z<{AI+4B)`AwK}>bvBG@H6;4*7?FqO;QkIj~aAlA|N{Xq?xAaaaFFRkI!t^_7lg$>+ z=mOYJyu$?;M1THQ5wj;#YGaQ4b(@y${H4l|om6m9QIXYo%hhMQ{=wA@WtLuKu@nWp zRgYeJ8I{)E+sc!hqX#9D#rVKODUpS#Y91a=*`BMRf|;e>YAT$lX9z3^$8A2#)KY30 zx%_w$Os}3x)A4fU;=1;auo#s!&e@uM)@y$IrTqxP!8=6uT}$x&C8aLwOQFxLJ}5tpC&WxBrJ1};fqhcu(V206wfJnWVJx)#;~rmS>G~7 zj+E+>4@c5fx5btcEnb9zfk6f~Pw+iSlv|qO+d{y1Ei8^uXk}K)ziB`L_ zqWyPj(T35GimVliOo?h3%s6T8*6tKa}^{S0|xVm6VB*%@O3z6n|AYS%@9Nw z$wDcZkC*orphKYm7AM{-P z7WC=Xk0McoXnN%ROh^WA`l@DjW4^r5Sj^^ea5&7TAv5`pOG{gkh2;5e|BBG#>HY<| zF!imX!@kYRj~11!A=Tr+doj2KQ^iwo^JjQ~^j7H*aeC|w&SV2x>-kAj|6uV&xlHAd2?qBS@*DW6uGARbwliraEs_ zx10o7i)Nmitqt2RU)m*$Q&I^q=sxv6RAKx?fT`_8p zG*#^VA|U#-<-z_PE7&cBt@BP@zRN9TGwX?cBK+X4(|nE{r!_{Fl3F35+d_?Jq(|H@ z-u-k+h=Yh0O^MS5@NddWe(qUX470q=8J56X`@Cm`XKtld;s-;FfXyP&MJLzwJ4v-M z==cAl9`sE32oa>>fo3Z11}Za-(+Oko@L8}05mq?la!1P*aw>Dp;j~1F{I!;j1gb}zJ4B@r>IjX!C~s{wmX0c5M39)S@Op)fz38yVOQ zX~%E`%dSK~un8SnMaaqK;WaLYc3(*Z%Q-4(O`%HpZuAa2F3XdmYcQDCj|=zDb{Xrg zJK%4?oVOCs?YsX;Uggh2p`iCs@%aK+S5G^XYYdhiX3}Kpn}ARxZYaExpw|HSIQh3w zcOvad40E>Z9?;t7IFi(pzQONO?d!6$x;JC9#`e})eePoE@uEMfhgog|`g2pK614im z4?7>fQ(BBWj6$#VP#TfF8!vd64oLvLcgWInRr4%%EDYU?G#vYdur)@Lxx zLpU$WuI&muFsOsOEX&bZhu@CV%Ngm4>?JLlq&z;ZzD%9z+A2#)4(P@U4^2rDOfNw% zo^D;)RPPnndGq)EJBzMoyxL1AF3MdP+YJ|+jS#mC3z6S`(wq=!6R+3D()@P&pACus zpLeI_lQvam>D7H<35Gk7LL5=~)z{^mIBpoKK1aB@@) zfymn|CZgu{#ZoG|eMFbaT z(?^k4trZ^uXG<@8tP9&p8{}#d<7r(OoEbDoDn@))AfMj=Mi0Lk>!H;!$v9svziLPx z=pN9+jO)R-gv!B!vent$ru8(B!LRz3lKtciy%DOKc@_hx7!jYySQk$;f!IR$@sC*j zO5$bCln-rRUeumgrsx)0o3?Q{7&6*((XxQFG@`obt3a(l5M90s71mJyI_JOcvj2(Y zrWmmO^TP9!5Gh11mZ?i-t}aIp;ta@~#Hn|5;LVV=cU`tvHxpj4gk;F9uGn6{QCRgt zg)Q$l6~Mu>{_z}_&OmYmw&KD~jesFs7SH%wW-HD4Dsu})Cc3*yX>Qdx8xF`rsBxBG6|pQ0r`*`VyBm5I3{Q+e?TL>%^>_E49Z(^72ZiBxwM8$b7?Ft^}YL*9jh_ zBdxLmFx^hOoZ0NJG%dg-ebRy%+S4d`xyW*`Gqws(|5`WLYO^LmXU~UEX9khf5{o71 z2MfCT%K7t`rlw}Zv%^NJ_j4`9cqS3sv&fZuC$M^DA!j1tZ0{YG>P>E1Na0LP?n$dk z6&HVxU7rin*-3KUl+%k#jqK=e8b=&U8U5&H)>l6Q_c-stRdVERJjhXh1_UaXge=-Y zSp3CQnp&(Kj#L8i6N{HS(ms?YxTvZq0o^NWcFv>{-p)dWXr>j?;i zXB{dwF3iFL_e?{JxmVU#Rw6+f$?8!DcR7`DfaLwng_dyHTIaPgdo1@xaUk+}gKxrj z9wPSnFcsTKTMK-@@UFtM7j1unpxaRm!z-4wk40KN8ldT2e)~7weffq4(a1QzqW+F_ zvOThE=;|?90;L)at;NvYiphzW&UCo;SjFgG8ths!LkA^pUi8m%I>SZ;EANzO=aSn4YXpHE7lw#Vkkvv7#ZznbaJ@7_`z+ zBzLioT)~`0vaI6*!5|^PE|2pyoqXO9V1?y4mNb#9pr@F<{+VWo_F7BB6H8{6_-XW_ z^VQqv9O8#}`W$9^;5x^u)}>sTX*XhSAY5R433j=o=0``Efph;gPmuLvBU6hwv?Wm~ ztXs4|GIze5AVvQM$jXZLhC4jMt_A^cxUsOXNDFHk*2rR3?=`<+%_K`t11X~@FgocsTYsYSwt(wC^=!X{&vi&`wdqTCy( zinNQ!0*e$t=0O$W-)mhJ;%Z;!{f2wm0%h14H{s$lee`RP48SGBWX*U`^G-di?%8wE&P8 zL8pvbk+hL7Rb3{2M1hJ&!{^_|qM$Ig%5z_BqOO{INcq9XV$}IA>B)V_d10nG$tB?6CJ+2>q3n>uDYwti3iKh zK|T-J7Rx=XvG*?FpD>N<2lUEfKIrfVIzIWI^u_=nx?`tvV>2ag|q(9M5&W zX0KP--9?x;5B z6p*6LfsGT{82CmMU|K1k_JZrv3dL0!nN|ahTrIcT493N0ja}V} ztLgF1YGIRB-1pfDH$qV(1*H^lQN3WZ3!~Ru#i(h5T7h~=GTt%ASa2$OGMc4WFyOk@sZ1qOd{6K_!rD_qjL`xnC zCyecRVcm1>VCdxw7n5rn7Dui#-ToqZ){GN9z>rUIYhKTBFI0z+zG!XL()1y7#O{Xw zF2@y(8H9}ITp?~QTGi`-kLyRJNkW$4c>mX@yk=+WEx!)Ckch&oL%#Vs8=Z*LM>jQv9;6KGtGj?RpL4Ym6yQYyA`b)-hQ5GE zFcYV|wB31y@Gt44x6r}oKfiBoieY_p1_h?7R^ssQ1kU(iXX$U~M*qjL{XeOG I?&tXb13_cG5&!@I