From 0f24c70b8e35e670303e96a701417556416b2d17 Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Fri, 30 Sep 2016 18:27:54 +0300 Subject: [PATCH] Publish test plan and test results for Neutron resource density Change-Id: Icaa3bb0756dd26c298c35acf2fd6ffd336c247ef --- .../test_plans/neutron_features/index.rst | 3 +- .../resource_density/plan.rst | 141 ++++++++++++ .../test_results/neutron_features/index.rst | 2 +- .../resource_density/chart_latency.png | Bin 0 -> 38759 bytes .../resource_density/chart_tcp.png | Bin 0 -> 42907 bytes .../resource_density/chart_udp.png | Bin 0 -> 42123 bytes .../resource_density/index.rst | 216 ++++++++++++++++++ .../resource_density/router_vm.hot | 41 ++++ 8 files changed, 401 insertions(+), 2 deletions(-) create mode 100644 doc/source/test_plans/neutron_features/resource_density/plan.rst create mode 100644 doc/source/test_results/neutron_features/resource_density/chart_latency.png create mode 100644 doc/source/test_results/neutron_features/resource_density/chart_tcp.png create mode 100644 doc/source/test_results/neutron_features/resource_density/chart_udp.png create mode 100644 doc/source/test_results/neutron_features/resource_density/index.rst create mode 100644 doc/source/test_results/neutron_features/resource_density/router_vm.hot diff --git a/doc/source/test_plans/neutron_features/index.rst b/doc/source/test_plans/neutron_features/index.rst index 905d2e4..346346b 100644 --- a/doc/source/test_plans/neutron_features/index.rst +++ b/doc/source/test_plans/neutron_features/index.rst @@ -9,4 +9,5 @@ Neutron features test plans .. toctree:: :maxdepth: 3 - l3_ha/plan \ No newline at end of file + l3_ha/plan + resource_density/plan diff --git a/doc/source/test_plans/neutron_features/resource_density/plan.rst b/doc/source/test_plans/neutron_features/resource_density/plan.rst new file mode 100644 index 0000000..9443c08 --- /dev/null +++ b/doc/source/test_plans/neutron_features/resource_density/plan.rst @@ -0,0 +1,141 @@ +.. _neutron_resource_density_test_plan: + +============================================ +OpenStack Neutron Resource Density Test Plan +============================================ + +:status: **draft** +:version: 1.0 + +:Abstract: + Is data-plane performance affected by existence of other OpenStack resources? + + + +Test Plan +========= + +The goal of this test plan is to investigate whether existing OpenStack +resources affect data-plane performance. + +Out of all resources the following may theoretically affect performance: + * instances running on the same compute host - because of CPU consumption, + additional network namespaces, iptables, OVS ports and flows; + * routers - because of Linux network and OVS resources; + * security groups and rules - because of iptables rules. + + +Test Environment +---------------- + +Preparation +^^^^^^^^^^^ + +This test plan is performed against existing OpenStack cloud. + + +Environment description +^^^^^^^^^^^^^^^^^^^^^^^ + +The environment description includes hardware specification of servers, +network parameters, operation system and OpenStack deployment characteristics. + +Hardware +~~~~~~~~ + +This section contains list of all types of hardware nodes. + ++-----------+-------+----------------------------------------------------+ +| Parameter | Value | Comments | ++-----------+-------+----------------------------------------------------+ +| model | | e.g. Supermicro X9SRD-F | ++-----------+-------+----------------------------------------------------+ +| CPU | | e.g. 6 x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz | ++-----------+-------+----------------------------------------------------+ +| role | | e.g. compute or network | ++-----------+-------+----------------------------------------------------+ + +Network +~~~~~~~ + +This section contains list of interfaces and network parameters. +For complicated cases this section may include topology diagram and switch +parameters. + ++------------------+-------+-------------------------+ +| Parameter | Value | Comments | ++------------------+-------+-------------------------+ +| network role | | e.g. provider or public | ++------------------+-------+-------------------------+ +| card model | | e.g. Intel | ++------------------+-------+-------------------------+ +| driver | | e.g. ixgbe | ++------------------+-------+-------------------------+ +| speed | | e.g. 10G or 1G | ++------------------+-------+-------------------------+ +| MTU | | e.g. 9000 | ++------------------+-------+-------------------------+ +| offloading modes | | e.g. default | ++------------------+-------+-------------------------+ + +Software +~~~~~~~~ + +This section describes installed software. + ++-----------------+-------+---------------------------+ +| Parameter | Value | Comments | ++-----------------+-------+---------------------------+ +| OS | | e.g. Ubuntu 14.04.3 | ++-----------------+-------+---------------------------+ +| OpenStack | | e.g. Liberty | ++-----------------+-------+---------------------------+ +| Hypervisor | | e.g. KVM | ++-----------------+-------+---------------------------+ +| Neutron plugin | | e.g. ML2 + OVS | ++-----------------+-------+---------------------------+ +| L2 segmentation | | e.g. VLAN or VxLAN or GRE | ++-----------------+-------+---------------------------+ +| virtual routers | | HA | ++-----------------+-------+---------------------------+ + +Test Case: Data-plane performance measurements +---------------------------------------------- + +Description +^^^^^^^^^^^ + +Measurements are performed between 2 instances running on different compute +nodes. One of instances has floating IP assigned and thus is reachable from +outside. We are interested in following metrics: TCP max throughput and +UDP top packets throughput (for 64-byte packets). + +TCP throughput is measured with `flent`_:: + + flent -H -f stats tcp_download + +UDP throughput is measured with `iperf3`_:: + + iperf3 -c -u -l 64 -b 0 -t 20 + +List of performance metrics +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +======== =============== ================= ====================================== +Priority Value Measurement Units Description +======== =============== ================= ====================================== +1 Latency ms The network latency +1 TCP bandwidth Mbits/s TCP network bandwidth +1 UDP bandwidth packets per sec Number of UDP packets of 32 bytes size +======== =============== ================= ====================================== + +Reports +======= + +Test plan execution reports: + * :ref:`neutron_neutron_resource_test_report` + +.. references: + +.. _flent: http://flent.org/ +.. _iperf3: http://iperf.fr/ diff --git a/doc/source/test_results/neutron_features/index.rst b/doc/source/test_results/neutron_features/index.rst index b4bec7a..9b0e38d 100644 --- a/doc/source/test_results/neutron_features/index.rst +++ b/doc/source/test_results/neutron_features/index.rst @@ -11,4 +11,4 @@ Neutron features scale testing l3_ha/test_results_liberty l3_ha/test_results_mitaka - + resource_density/index diff --git a/doc/source/test_results/neutron_features/resource_density/chart_latency.png b/doc/source/test_results/neutron_features/resource_density/chart_latency.png new file mode 100644 index 0000000000000000000000000000000000000000..a4917920c32560f4a2ae3fcef4b4bc9340e19eb6 GIT binary patch literal 38759 zcmeFZ2T)XPw>78;l5++D36is9B}h(+fMk&j5(HF&AW?FT5(Ok9K|r!Z$siI1ny5(5 zNY2de_q$Vd|Ej5fzPdFvb??+r?^_hzeNLbAJbSOb*4q0R^7xSgE*2HmwQJXKl@w() zu3fvKeeD{GD+UU@LQ$tf4ZkoQ74=?UyN1^R|94$?){peOb}f-oN%p~$Hy<`R6Md7{FVIV8&}IfEl0}!rDv0YwMn*_w;fIN(u7ler7=FG`G2SL5B#hbMMInOU zJ$V1yKOZeI8c!ywsNBTU_xQ6oFrBMkSMsaArI2Kg2@Y0&6g}}XfogH2bSlquecNMQ z`*eP8Zic+1-b$=gU7~7C9{Jr=F+CVbr?cK2xhbz{UGEN$Xg^sgKhVZMNRUImoe~Fc z@9du2`eAL0zgXXBq>9lm+$?)kU|kbYTjl${_PZ^kQHAP!9{-)6 zA2AWpPpvy}^+QJHFJ5rDU`{A9Gk$z_(z!U?FVB+0fm697Aa0nMW?;b4MwgVFd~v9T za^uFy5HTzoYqU%|H~rflbJU+DHj)LWUnZ~zDvfON=$0CfcS^NWBitl-k?Rr}JrUNr z@`T#$&0Bv>Z^p)MBlq|B)OKcOb4Bn`nHU%tdI|Zx1+8XwXT)W`zAY>#gO?b3i5fD| z;pl&JYyS5e_donyb+VI~=zY#VVXO{@xlWlVCwsxWW3sXn#1O3(F>iS!t7z*D;%o3e zOpO#;ld8|A1hc+1{byxkY2>Alt2trv-}28MJJfLOHI1zKA=J@5s=IWvsah;i?xDyl zW_Z|ZhpHNSk@e!s>1aue{B)Ee1a*9yIe$y;WpJeC3i;jc+*uoBKCoh&^P}Xod!8mA z+n7a7X4?mKt&f+zGODxpn99QON9Ka)1BhyuOB-#xnIfDdkuv9y?Q!k>FO@FrXB$ao z)>;@iczBN#6^}QK&~Dzm4A2N+wZe`#XB#v4RqJ+F{PdIV_9NMNTnm1bH40JpEhiG% z^(qR{UtR$n>GvdWsgNIc{YP#@Ulo^>+|^?yT=YPrlVineBw8#<6|lD(tqf&#cqlu8 zdL(nf{F;zg{BPR@wL_?Yz5b(Z2elE6*x^@;LqpoO7RZaup-&F;(GOA6K3H+`UitKK z^#xYPGXu$aN1LD-+})x&A>{H52djD!+9Ae9yobuZ%_t9?d??hcv_G2Y8k-`Ue}>%j ztXuRIItL@%h@UfOP4zYUVf4rsi(9boLGu3JLEZoGjQRiO4fY#F_*f5J_6u&J-233U z{i3imArzSaifxzrsH$fqza@4nBhw>O3jf(@&K(^F zKizdr$y=0yOL|w?>kmEfi^^~R6H=9Z@-06L+8Db6ad&>1#2)2tOP+W-Iyy>Aw>t3L zym`}dcQcrE`Tr_0xKZ-tPa<#8Nw69xDm|0?BYA;+_in|nXAdqbs;m2dP7%hCka&<} zitH=L*Vqr&mTQf$XEg{CS`bg;AEc_vwd|KBHuTGiO$tgy=e z*`K|1`p;!=@{?Y#3O&R*9oyShBcl7k%jaEAA5I>CyxCs*H`dRQ_b_p?PROg4CaNY` zkV%Amp_gGA8;KlD_riUU$@QfT6Fh*nyJnY_h)^d(3 z?m|;m_UU7O?x5{p(c9dB%hEr?`s=nuRU*g_4g0IgOQrE|p6x%DP(C?5E?bVo$DK|g zH@QTfqnGfqclGuvpTwrhfmlXtQOaI*OXjH4-Air}5fOU&xf*W*3W{U$*~s8m)q~v` zri}*?slp@K8KDPTP^bruLVWb)-lnTOihTRpc{%CXkFT~fl50=34}K*hIn{W#_t@B& z_Z*~`6~{5F^vjj^tPV3dFU^Ybv}E0E8G4y(>DGjyDp>!bJEif^C~;LY^P9d&s*g`$ zC0;ZCE$DB*1@7omT7W&mPew}&AFCO}j6?S>#ycMM3vi|Ht|7*Vjo5L7hc#cnKqf&B zVe&ZxqHLzO0KnhrG`C#lTf0a&6laC(N!_VGB_<9`&y@+HeIT zU;KjNK!9YI|L>#|QzRlIB;P(LYeC`=b$F4L#S}Hi zj-HF_Vm-A$est3G z$$0b&>K+}uryjYZqlT{JzAW5pBR}aMM;x(NkbC=G<^KLSovEDLdKTI))zW+x6T_*) zg`(o=KG(DO8g8R$URUlHus%$`OJ!RsOLfQ&Hmd2bDo0p?Qdev*GJc_ggWHd2$w!37g0}GMp9>W`1!d-*w08A{A?Ew$YY?F8yHp>~ycR*jw}4zwpBH z;w(`9vhP%ww7aZF=kwFcLox5M=ItNjFZHhS-eJ>|&)y#+p7YG`G$7mOUjId2eNd|2 zC#3*sf!XZ@9Kii$irZ1#rpxTp=}!w8S7FJ?6Aq=fuk;KItPVF9?i^ZWN#|fZf7*qZ z{Q3aSJEiuEbV`mQGt=whbZpbs>f%fSCrW$6Gv;6$`yrKZwT=Fr^Kuoov?9Cy(D{oSg_<_yr0aC}M! zY@2NDm5`ue<9h<+5oB|?e~=Jl9z+-ozZ6|4u7~{lf4-7JRaI7+dAXJe$Xe(!p-&nb ziWE_@6PhcjNh(o{fV1c$`loKra&ES(J=Y0&>G>?Wdx>G|PGb`O;SQ9BZ+6CBJdB1D zl&jy7mvV+rA+IF(XV`z`ivD%^mwpPR*>;vMnNm#s)1A2R;!OB?rYy5wNH6L)1My)q_Rge~Ow9~hI9 zGmhSMaDedS5#r*~nTXVMeL=1M#wf8rokwEP+TiRmg@Eqt51-W%?yd5}-NdJ2UoANE z-jvX3t8I7uIgN-CeOTgl(%$A;YIIqAZ?Wv?`Md|4dY9E9UE`dFtjE@?B{Sj8q{+4K zyEmENo=Vhis%xP;959+oz5o1jsuj)@E1ABdUh0zgc`(0qNyt2O+cEouwc(;4Zx|KZ7&?*UA8rFESwR|?r z{iEeEi)&)c4{_!fO~P&uN8+gs{G7g?2%bctGw}aoEm>>#=0{h}FVWOer)8yaT%3g= zD!s0j$3MMPHzJz-%+J;MP=uZLK<6oKk%RZW&d2wneA5qqJsa+QZ(tCUp1v!-W}D*m z(sOS6)gq6^lar6;UFvyl=q2?+rSgU2$>)b%>&sU>q5rYqANDD(e8sg_N}Aoq%VX2E zH~7|HeZD%ve?^(V9osxv$$@V*Hg<7Un&&ThGT+>4L^gbSxaIJd0Fzr#=zN0ZqE{<) zk#91PXe?* zKehhL_fqlo*8qb9+ryV*DR*VYUAQwZF8WUiRhpuv*VOk1u9S-$zc)QJwfu}nRWVWB zeRgq?8a_60VCtQJKNN*4&~?CUX(^$8BgbuY_gu$<@1NznKtEt7Z?5`$l~KCBJbH4G z`%^>`yY0$bNWKIu>Jb-3RokbB6OFmbI{ehlEfuZ~iL`0q1MZ@(id2Z=g@_X!9@UqV z6<3SbT<3|ntyis2oliNZ?TbrE57c_Q4QDO3o2)z)MtL{Vl8TCIEWxJ z+w&|std5HJ6&_sO`o|j_^8T2iQ)4n3dv&sn(}&lYdv&t=r6?oeQ~Lhf?c4V;jsB)IXWJxyITH55z%z@djA*Q^5=!i+p~rzWyPDr71b(NZ_v}Sw3NvOX~wFiy{R|< zwXm7Z$za?|DicqA2^KS zNHhO(TrPWe{#T0ee``&&N6uh8IZnMEcu4D9*0Q!^z{tU`f~@O{B*_o$t@*l6YbefU z`Ws%Qr`m8KaX46jYvkUx69@i5^Msfc`YOMLw@2#2oz`t|wQmN!s zFVyJif7~JKv1W(o3jY3?KhfrT)_#dXZd!peT&Yy0q$a4lgO82IA0L)&rDR z$Bx{@Kk)Qm-JqrvYVR5Eef{zyxv^#*0qbc*q4j(Co_A3UBtg$CF3#A^Cl<)K^s5Us zh1P%Rth*<*UOB@jD_@L^AqsS%{2zHlkv`b|a_LFhn_2DgvJDP)U3Dc{mPP1&Jhpw< zKkdbeIZyr#xnN)7CNPc{%iLDCzJ>I5)kHYSvxOdrU)fk0cphl|%h`^dz|gIoN;X=x zDe*_{#utoc3}z_h|IJOvf1i{8xAjr~pTC7PRfU#H2c1NGin8B`qIQpti25J1b$Q+q z9{T@TdW#=^cv~YEQc>zf^Mq@)^Bo?Uc!EHkc+n%;1G0ab5Gl}vIG*q9l%naH@AsbC zODtX8p?r~0zwIezof(quUi6PZ$L)TKsv6>Tem}F=Frb;G$wU4i%&X!2G!cXz1QIJc z^8K@ei$v)GsqJm_E9+&x!G|irDyllHmoG*B&-}gOfi(P}7) z_jeC#%wJyC%ffweb4~SH>0Y`d8u&2Cb7<&gu_}oo$xAT@Re! zX@+=U$({LrT=I9ydS10KtE5j)78%Da`aaAn4)aO7=i2|}sFxXGE@~WiN6mgytE^|Y zg*gr*@iCIbGras)_5NS`Y8Gjgl>+IBQWMva^-X~K>doPyqkp2;=bXE-K0 zI$F52VQV-sDJh91s$okxEcNPYx&B=p>o;XvT80RvNw}%_6+uJ-Y^m^zgr3z8BUu^i9g*;F9 zMPDrhBLd9R_V@R@ySs;TRcx)TLkv~O9z@ZQl4|9tQkG-)FeD@-1mV*q7+}dB9juPz zf3f%;YKU>+O%(1kG&JPm;_~(DS6He~pFW}E)7nkfmLue>+Z){Wl;c_Xo)6xhTMfV_ zkBy6Sc5-SjQO?eLn5tc(U)AJ!#vV_8f`fxYQqK^P%5R~(xAfzMogGQ<1Ks@9 zL^XWcVdm>70`cZ&fjX93PRqxSw{>)M_KjK8((Qg0#2^+2e<|^z;L%A;cXU|53WkJ) z2-^HaR9HnlVKi|(cG*Dq{y6#l%}=ZF31Pj!L%niSw7m6)sX`Zj=ez!NgvFq#yk`$! zRykgm#!-VCD%CDYk*;$lXVXBPp(2u$jz#2J_nx2ZC35O%R9OCiIG(7m%I0V@JLlA| zEI{P;r2S;L-H9n9)AsS>M_3I;I%A25H~!_QwyEXi<%rQwltTGFK0Y_l@r)5tcX4rW zloPoPGo=IAm7UkeXvCZf5Q2qz=H?4<)*6Rjv(4V#PASh{m78|-Ch{0*eF8l%Z5$gb z>@a)Z>-^2;WR)~lyM7vvkp!njW)GKsWy>&my}aPtgSF9m*KJ-q3^sz&g@KG_(~eNx zq9UEr*+MN26Xx4@c#N8+E3Ju9er3u84I<#1M+>!VArfY1XX9AZI$x33OC7Z7H@a>= zEAD&FpSMLVWLKb5O6zXN!&3^0Vnz)gc=#=)!FK%f@$s8V8nt?-)!}S~C_b}JFMdw{~7ooN=%$C`g$qYFlAba3B~K|@W;r=UDvJYt*xzW z`G~d2Dvq1@^jGvO9UUDe-6U`yX9w%#@?CJT2n6Ey^_z0-M*D@Z;hwt-J$uUoe7d2A z*(sSl-Sx*4^{x&AV?8~XD);Z-zeT?atM{DWGQo7bz!DP^6ENbN&BoeVXojLMq;#;t z!23ZP6Qg(WAA2Y+5BB%vqiDJMe)%(F+g35@*k$&(?JhjPYhhXjHiqF%!A9E4m{$7Cw(;#$^^5hvOh4)5K!;yVT*&t=pEbNGH}8qX!^11mE?FDN z$Ny4V=1~9U@1J7RC z;g7%#72=U6IB_Sti!!CT?lf+&iFK`Bk3$|rrNzd6c{wjHK>6BvbUlhzT)*0m^4+`O zDr;#)#o(|ol{7JDZo{uXi}mjIt(Oe~sx`xE!Ce~FI$l>XG9`c8Diz+}+un|9C_v@4 z^ZOfvTxfyU;{3edct=Sz2~n`m>guZETf_%~1Kx_tii*3!!uWW2hetZ-tMpXZV|B!PEAq& zP>72`>-hYLk@r^hiz%0mP*P+Ce9w`%Rx8EirSy5!M~g~@l99nHtEX@t<>LI@zfpGB z4-w>qjC=2N+d5_XUyI|wR-S=5dqXA0mUM~mY zP%^mWt{u&H;qRx<&CMBpb%Gqk(YQ@}`y7*vpe@JO*B6O7c6J*O?~II$F(+lZL#e;7 z^G8RcR8>_CeGi5#gJ7Uk!jPn)p&7`KjACY-H!bT+yC*EBea@-(B?peD?8LDf|JCg6 z`ts#B^wKYh7Z2)d=mPTeq$_+$0BOhP6PU*AO(1=+(s7JxFZ*nbvq(o2)Cm_bj z5up%5Yyyv0njolyC?loaB6Z+HsRGtnrKLPB$u@xxDO8A0whz|F5z$Z_gGZ_L9HU|Z zPZc~o&iyfo;Z%1}>#@nXDX6Klt>kxKJ33fxVZMCXfp;XV8#on}l?|_#Bip%)320~{9uZ$Bk18oCLC2x+`9_30 zkc5KFUBF`p6BFOss2CzH8dzn(nIYdojoS%T|11F}r-A^bTLF~A*USB+8n@jw=+PLM zLSX#@0s>4tJG0uUA_>Y~Eh?L^!974Nof4!)t}dJjV{>yT8$IteY;s$}BSqh1Quhid zN7$)#@gHTj;Cr@b8#Bb;23ENPrIN;a!a9J>oy+7BL8YFf7z0=jS4Q{4sL7))A_7k2ZyN31}F`t zk&nS=azjUx^-$#w7-STvlk!DrH4f=Vi&5M_866lMbp{lXu9V9Ui8p@!oHeHfY7PSt zWWlNEy?dob&9nyP(r(7Ls@EIe9$`%(nH@QoJ`;ecuz5Fu0Hus2L?%=bA|fK2p9S>A z2t^#geq@1?Y2Mu2j0nCu*;@wgmDR({%q)Erz>NKCK@pSccz<;S^04N`RJBH~GA@;X z)LwvXgQUkXfm#Rm<1}7s^3RW%bEI%as%%DEaSnIp+FH$*AOSSQ6~z_4n-CIIgeKp$ zGPNtvuVNR&Gtr4=M>A!3_l%T{S1tWMk-=0f{KUoaJZlKP&(!cP{byHKS8J>3LU+uH zJYP9kjda!7$sWsBQk>92)WI(nD&|eVpXgEN51?`f8)Qy;UR{cNU!FftVV`ta`-xd3 zK*qPrtzoRH8eU6UI5S>q1f=q_VSS!hCi*AxAGi2SL8_xx+bTU%6yoFi3z+bnf7hrh zl7?^KL9L|Y?`uL}vr53`0La?A$VTs9e2ocxT#(4jJ z1Mt4Z?}_A9QU}x`j>e_W8rii9{Yl?W*S>5G>z1JqCAe-2!C>!ZCPPestb;dQiSINRU`)Pmi`nQ92K2Q(Is-k0`o->x(IJ6ayW1!IwMvX(c5@tRv% z1+nr1QIu@~osw0q*dl%T_WbxSP?@#ye=yY&BoQ+sy0JC4ekBHkU`_ND)N#K7S$Fbk z02mtuRM`;;k7HhdX2W`y_pItDFTK+NbFF24QP2hjOgQ_KQ1aPA3~4S@L^)9c0pdi? zh1njP&fSL2`AEJRDf<(t{@1TwiNTse(r;{T@@4biy$diy?XET2k&rV7agZVD-RUy~ zd_cAZsS1cfs?pKWA#Gj0Cvd@i#v;b$lce(V^BMP(Qc|);DX7ZL3Gv>&dzT{Y5Gl+0 zR9JU|e-u-bTy=TS+`wQ8_Oa3H!X1dQ;?1roI$=J(Z#N@XqC9T9B(FWGw$sCjd;Y1c ztqJflX&{_Vl6Fdj+4=c4Bnjw5pj2t>+Qmu0ru$5=$hnIj(_#nD+5!F2JzW_&+?rY6 z+yq*HN9}jn2#f_30MX`5rS%9fxgl4RVK0a&C{Iuy={8C0rErO2FEZF3yZ?Huq!c-E zZfa`kez0eVIVv zwig!z%2Da0LA)S~Pnm$)2N6E&;T&MuoVsNnAxG@(?cr8t>Rz)XNSr=i-8_&TcLPQU z$d$DTm*p^B`xl_o9>^)D#e&zWr)HpaA8d@(kCXsiAJty~n@DEa*WDBo6QdA$D`r@y z1#5A3{jOC%=s)9`t)HKWy&zqQ3|wI=qKN?U_%s+WAnV0os`Y83`{=J^=Q>6jIhba|1cq(CnOtzZ03 zqtI7=fm?IigPAglzPi(I*j*y_w-=HyRzCXk5s6+aM~YXohio1<)SK<4A82x~z-cyEg!9SA`UL?ZCcaOM(-ymK&kM z|9R)Ab$|6iS3pOomVWI}7&{sjHMOwyud96iqwX-~NC7cfPAPfYqics&L)UD7-9JTWCDRMjV* z_r;_DDx;kx0s-)Fr<^et3g4gk`7jbTQ(zutwx*{1#x2(>NlK05?zwCv?Qh}yg|%K- zSa^qq?Xo(I_HYYPZU!YBjE!f2V92Up>zD~;5GjU$ppC;s%J?|2(rqAUz>s&BeuU*d z{iJbczXSwa!fbyt=&c1Us{3zv6Zm(pkG(FQQk3pSXOs_*UWhTlvbeVU_wToGyeQDx zhRLO++doo;?;Khbw2Y0pjDI#%^nFvT>`O~a+l>zUorusIfCV7<{G7|KAulhlHQ)y_ z^zgs6v|LN8ZhsW0sI092)#+1M7`8^KpPyeeO2E`t5-$CH(C5KtrsIlNdi^WzgL3ln z@=e}XUV#3HVF<_AgaqwI_XBXY0N6olPI_FP*E!C$2G>E9>VsDS`uv{&L0Mgf007}U z+vItV7KE_ThVtl5QQ8Z%1m>HVpk?L4$THO)>}_srZ2fAE+NrS~VZI+dJQFA3b*`Hw zizz@kk_2I3mKAPZ=6+zqL|?fN78HnHpemo^@$3jvKE%ep+kd^gpd>KX*?AL}PV^Pi za0`U!&N0+7)5K3+&)%~@KDj0B0t(y62fX_h*9ZT)05aQZ@2wsWfc_i?Iyk?J%C7c-JB#n!58m_sDKUU zD9_FxG6E;-W?ScU-Rq(J+uNox(zjQ}OX;5J!2-AV-T=ABlk4cycLc#@HIQDSSCOZl zEl

+OjJb$M=j|?+a?<8st1uUgR=oN8C|Kkp1|p+zdUhpP1#5Y}|N>0gK1qhyc*` z5;i|s*#zC%g9#~kA7w~vuCGt!J*2)bH?3e+Zs;&ojmvmP0u>)0pG{ED2NP$h0KSeC z?}hA9l}X#pIr#y`_;&8c7iIJSh(=X1-LtcofNV*#w^!X+ktEWDN!n_0VZmRB0dwv> z7Ad=GihwngNZqy}XQT+r?9q*T@#4jhqrhWD-<4W1rzK zdDGk5yN?R&!w3_ixNx|4qlPy_5TxbCfB$q4rRtmf=7FIN(5_Sh&wcXf5A1;vn{@Z~ zvh(s1WZb+-6oMN^fmZb7({Pp?wk)c^EiSn@U^;fz)*!$hSy@?utO^mNBqZRfs;DT+ zf{FYH^$Ji4D{AG+;Fd7lRxa+LI8GIM!7fmumLUNW?VCK(L=$jZ>Ptq7IY9gN6wV|G zPxmKJNZv_k7=zJB(#x3Z-yWqV<1XB$#d>sT;uXmZr4zer83(jQ1x=rEj1M6VtX*1b zYb$~0AlK2xgeIu$(@mfn^E%C57t)HY%eP%3Qr>Y-4h)nU)Ywy0lm!nt?wchIFMm%| zGkxop%atlGWhbfI_Vnpf-b|9tKz@tfr_Ek8njAP3Ad*uBZ4(@gBjOu8&&W=$&Ez`X z!d!}nnv|q%ns?`^<}={`+ZSg?y74O<5O|R<)pc~pGYQ1mmB#&;H4t-=8cF3&r*@4r6ou&IebeS8~3F?N;5OFhT!R_)rj`M9ymC=2gv&>6t!J( z+Uy>TCUCv#o!7~hDiNJ`#unhf%xwAYz5V_B&TAyG7tj^tv-R9xA=Drg+j)DmrL_7n zP15AE*YS=?j#L2u%6xw16o=A;0Ls>6752;`uueW!S}`Y}dk>S$i$Q0FA@!+|hK7c* z@$Glp1?t&Qn1bxl3`oQXol+=h2uY&xnOrPt{r&yTx*~IPa>8lFzk))h;4KR#4EJZ| zF{s9Q`M~tyB`ArMa4FuGe`KktQ}JlTpgEG`F_a}2`VdjS^A0#}fup1!&4-XH!v6`Bih_Ge4 zy}|HC7~|sN@~JosWuc{n3klhd;oNl*I03_&$d;dZVWj{tns9}1A8Y`=Cz)MByu4CD z+69m4%^5`(=(Vt9<8o^>rg(#t zL;D;AS}-9az@#e}P2q{)d3@kCK_S`!M#YqX15E~ARqfJe7vQ0qb%u+A#>x8$87yBO z9}`Cq%QUtCunzXKsp;PFUo(M;uC8TJj>iPU!^1$>ULS7gHL#X52L%Q)To-sgi0tqp z{K2;&K#N9+Ir~d&un&swPQsNjPzYFjxyd%Ob_ov@WahC90x&{Af^F2^-Y&aAHEIWb zBd{j&!JVjfc}8NRn{X*aP_(?t%<)i-i^`E(O;Peg8lbWO3DX}sjocd4~mzG z>I?5c{k^Ut%Ew1I6CW3+*=aPBhAoA3q4+K}IuzPzJLlH0BFLj->Zx zv1UFV^GJo&fIOBg3E*HwX=y0}t&r~3Z0sGC;^Jbj^J8@Y5BQ#NDnYF5?5e5*P?HxI z7oduN_&=|=_?`e#&kG7FI4U*vGp)+B6co=vN<^Ww1^&yMW;*>$&hyNepRwVc>h|U) z*EF$q?UzqT-3q|@J)UiEZInYRejt(O*X6|-ROHaX-&sud0aWioaJ9FATo@;t&M{y! zoM)~#y;{V|dkq@MGU>ZXbc*O}W-?^yk8vNeu$V3>(w}4N>X9epWoO44QNW4T9k?$p z-q_Iar1=yQ34$_THJQQGEya&=p+D_jTx=|Fg#59=S0}bpLey*^|7IJq_#7_2Hh~E6 zMnAzWcXV|z;v%M|7_VR-1?;DffdqmnPoaQh*93Ur6<%fb9E;jdi!4YA)Pav?Vqy|} zIc&=x``F1zV3&@Jwc3``bU`val7g$XtxZ!y13E$UE)i?-A3jW%naJ$xBm9Aj2ERaB zAa4vo6eBVI+rP?}S+D#4in@x*cW~cyb#*aVYDqY>aX6}(q70#BbeJU<1`;*k;Twov z5J+t-KIi$5KVM5~S9Xx;9CJV3nS-1$?$Bl(p{0%IHqj0Y}M{yub?$n@m+j<(}Iv6IIwK#e9&oTcU1` zREXi|Q#4E-@LfbiC>V1qD)t~!%ObKjK?5Zs1YaRF;7S#g%t0uFE}N6^435jn;5X0= zsY3FDP;WAciNWP>D_#Qb56F#C3#WpOQ{b1x_}!OWqSBc|qGTJLsDM+_fu46!X}>*dMn@#CQWQ zfoL-;35|;S1+9-xMf0Yd941>^TU9=Baq)m6RV8^Rr~P8Ripr|0e2`Yq1OU;_a2@*u zzpV!@3dy=$B5VTr%=$lwLTsc7y_k$=(2A2Xa*SuZ41meYqkgVWSqL-bOp<8 zY;Dbc(#(g(686b9*crh3i0q5m?mQodTnr^)d&g{6CQBrZ+J564>julNFH=wttQ=B6 zKDYw*oYZFgXYKdz$0hoLeUAUp9W+NPw|#PV-x%=$**{20u`xDwJl(f$XY8}0613T0 z`jHAyueibKz-j8>faK=bM(zy1q3OYZ3U}WO@))=@Qt2Vsc)*>9Yo~6d6Z=eg*D@(J z6?^YB6qwck?4W=EJ``o2Btn84OkN2bI*&5%ixc1v`kK1?nh(Ny`}?E%=KxZekjCp? z%8ZnW0v6u%W4MXg#~9Ne78rF)l!)#64X6h!NLQYeG~mZAUtOdb z33x8@j8c=zNl!PoyuI{k-8)JFPqq7Gq*U^>hXq(#{?IQ|bdo(uWWCE&C|KPoY7Pr2HsV2$zso z7ITVpH$$2di?38#qTpHMS5`S2j7cxxl+Xj|OBbgme(rQ9>9MI<+dzpyjfD552Q=;| zgpfuA*ozQneyd-Cg3xJ?R!7hyI-;#jOv(YqU>WJLA^M&mosS>)p)$r^0BZ7;ua1>a zQ-zTPpX`I%620Bn*tq_W(X$qxloUKM2}~ahQ$Dvg9}^3UfNyQ%<3}q)*&u;Bmh9~8 zI9-xc-q|Z7LIXISVkOEF*0cU7)Xa|@T!6#OK1VXw*iC3`WC@^ol4Nm-y^xfYG;yH& z!gI3}%CITQZE&Obz@CM`aMCLz(alvRl{HbdA9}B3*U4?bAS)Ff3DEN6JqLMScaq@Y z+Ndp}%p{4`tUfd>449Q6xSL=S=U_cy%sv9a5jaK%Z<${mws-WO^WVZ~rX1(2|6 zMA#heuWAZV64Iq|jm?EO!&?c3J&L{zqy=6;ZJIq@qk_G+rbXw@jO@k%G3q?eTs~>! zvg>^2)Q+LrgR)Eu2iZjY`NaxaW=~MUt@+&(-x-qaZvQP_`COhSjdI5$vgi$AF5@%*-UJw`wpR zE7qeBP2e$##CxKkpzt0gCe(hqmOeR#KO0&fjPuBL8w4zFyAOSi)WXf;O{C}eoKxEl z^#Zae8}5ceC>kX#E$zmQ8_)t1PrvVGYH1l*LV9v-(`G2EBVGJ0KVFbDmXo7naCmrp zXWdi4I=ONG36ZZ`PCM&~B#|zYD zYCWuxZ07Yz!1wept^7da10JBzD@qxv7wvP%7RVt}rx^3g z8z8slOvk}E#qfS!8jaG{)^;cPisTAm<&%5gygM3NoS!sqFAV}6WrK=i)&Jqa7#)}? zp`;vx3*a4?z3x1wcd@p)Ydy>~I>8l;k<>wdkVX9c%>uW^$9QHTus6cUxTI&bSY4N= z5C~m;{j9D_F0`zkKcfYfD``UZ)4`b3v{wlzT4yLj=PHTZN*l}v?;rs%kGM5*TL>BD zK|^_h)%r$G(HDUQJA20^H|M5an&@CAm};bH7(z@;*T~7qoj$e_G66?dlupuBIUbvQ z2X%u1osn*TYvv4U{mM(IRk^NMj`CnVwh@tQ{03zQVOt)b0mjbX{YdW=lshh%NiaDR zzDG9Ky430#0P_NhY`G4-(Z98HD!<(jAY;7qXUIY4FhTXw4|)>?E>;jpv^3->1Yd4f zo4&*zVa>T^Qq%ayC|_#s(N?UIFGV6uoZKQNhUB4}OLr(F2{xKr1u|A{YF6z>!rJ)S z$eg2y@%BwGlLMQnYOc;GMuo_N{u``dta@m3hSRk+!Ih)KV-f}%ufCvk;tNo+IRd*$ zG7mG1OzG(Cgia>!?c2BK%jXJ7M1YFPG7x?r@n2baZr2d}fKm;ilPl%vc>#nXR5zU& zh*a^@y5X@gZ45UGydl5QPnyf^A;irzdMPsLIb+JU;pe! zvyv|eKVpsFQ0ctSwD6n(kC8UIZrN`ju&}v`UXX8JYHAcR0=L%TLm>UtAKEdwRAD6( z&!sA8VR?WAgo6Ue%L7gH-5{`wOBJ%CaRz;x-uy)ow+1`#uI1A?>N%j~A#jx*C%b4b zm!TN1$k5!n#lJ=PNw=KgYd^qUF!EhMC0IW|{3Rq*}_4&HtyWiy9>22r{6LlJ<>XnGlc zYSs%S(_gOGk+kA#b8~-7AFU(|i_ZfEo&p&L2Qs3O!R*a?MQ*NzzJ7`$B}u?;xC0wa z2Q*o@ob;e=uBN2)^7ZSzg98w8I6{JgT2)=&TUu_5it0^^jbcAQFF6AlvN2I{w<$7$ zYF#wpz=4n;=VcZAlM5K(55Nylruw7zsc-FyF%4R}%ZX8i%n;4%r z^bROHJPruX5*r&E*aw==&< zE5r&r{%!%%!MOrvE=<9M7)IvF%FAD#pAb_bD@^d}G-wdQSfu;-@C;H4m~G1#mrJgV zpSm|h*rP{}uojzUVN8ONI)FqLNYQ-V4LA#x#2<#(^oFn zWMD3-p|P=pT`e0}V?@Ex?{7D-v9XK$E-x=zGb4Z>%eGwXE~*4zk+y%15m4!y(}Nly zfsRYX)Ci*EncDU1qs9&-#a zOgU`?18DwE)-`=G@YlHvszt=aPLGcjMTkrq_IGwLaB&5Ng);dHWU`gdP)LETAyunr(fBp+V@U-1SFJd4a^mCSL}O z^gszd29WG**a8v)I-aOruuU+y!C|#+1 zE%txo3R6O;5`FJUdy9fiP}0Cv0CR>l{_dlN9DtV);NwV4oktZ@o)e*8xZ$4(z0mAU ztVN}4C=JL)DZ-+VE|#152RApjZt=^PFCkXAp4RU8T)zRf9yC=bXlc0{saZ{^=7FL8 z{=KvKom{}J)gKd{MF+bb68eEG=-^NLk*^=ql$;r0P1n2fXm5a`3kF9Q>`Q~-YN+Aj zu3H}*)tW&U@5B5M^l@4N!It~el12+OegjeFO_iJNU=A<#1|#rX8^|&nC#M}GEM$|y zEP(bp1QCpW85U`C^{o(~5_;crT8aLf+xq!K66pB&Q7{ew)b1NhZXkQt=Rt(6Fem|}7_})P~ zf+DpVW=H*P#w|NXXv(Tp4s0L5AQylK=pWr$&zQ1ckm_!Wy`)ea!MRbgvqFI8g2xs8 z-n}EZJdYnVGRcgh5>!@DK!-D-X(X7UKB=g(9rps!U+cI6o)5ugGzOnWXM4M967Pdp zmLRx7QqgOk3i|q!YokTb(hj@63pyQq&5oy%|fJ{*K_$&!4xzZ3UrOWi>#{!oot2 zM#l5(>2cr_QxNWgpu+6FBMSILYbq-4L7&a>8M9Xy39E~5{3ylsQAU3LS1^qPJ?)oH zP9KC`r0~AK1*4^%-(iF=(<-J?)`TMtV`S(6CMNIJE?t5R}mmn^;9TMrYiY5h8G?k+i=i_tD`soV#lr?m~z0Z$* z`zK~*3`OQiHK`aGvq8lJvFza1zTjnnnYql85-wWcAt<2 z>J=^HM=A`X2$M6Ih+KxXg^ltK1yAeZ2@1&tY_@AA+#>sp->amm)$WgYhMXIpu7>- z)Fi>r-KmmuT|ktX*%CT}ke(#5&^ixf4DPiaimA4?HjKZ(U}aW2 z^XC39W7H>p@J%p{X8}GC5HJpdYR=&Sz&@xNw}^=Np)S$O1j1C^^}JZv#1-M8I50N) zr>3A!GY!ZM9LMO3Ip(_4t$~?I<&` zx1WW;grH|cGnIfU5(h;CDUuIfq^Lsu3pGTsAQBpe&zdAek|JhjB?JVJ-9rfp3D~QS zhW?2OHwg8+mVNMagA_iqOL+>v9iog)Gq2KqMqlK67tBDOY=ir~()U+A*pMc~hj51n ztavkheSLFtb07!v^Yi7R^aK=?l!D-8Lc&2k{>R!GY6q)ld~{SUE{v1|2%IaEAIwMr z0j&X}5yD)~45rUm%O{w=cEc#aeHcD#WcvDOF0c&5LB9GI^Bw?32KV(UaS6{fbqA{yPi15J>dl(@YIr1QVv&! zZj_o?>eV`$Kr;(^q$@M^!jr*>pe9gp*$|tGH?b_@09{3(3l4Al8}27Tj>5EOf+L!- zr>7^39O8j{@&^>*w1Fo7Kci5PlVJ@U9s>ptzVv8gFekvqhWX&JGP#U4>-KH~ED6YT z#KZ*h0Rfns|9g1YiQutoCd%vemI=fme5Rf&WjCo?e#Q=V#3T2hH^ATS!t_>Q{>lf} z4Fn%BZM*Ne%I~G4fZji?d_Dw&doZyQrppo%K*$>h<-)T6Lvlhw;5p0m4cw{N!4B{{ zm{?fA>ym@^0!|~QDS=o#NDyq%ZK%tw2N`Xxt%F6TcwjiL1;v>4CGml@mLU%@VdUj4 z0|uz*|KPy`fDgN&tbq1iy4w?G4;a_Y4gj}~!1D^YCjmoEF2Hb-mLcE+pa*hNWj`Y( zC@46;u6U)}#ur0e#QOsbZf0f&4Ee%)ZCHQ{uQw+JIo->#H0vez=&DUQI5?nogtHOE z-6}@>NhoxIIUV_JCny8qT?Grh?`?Zx??9&y%)m~Uh)WM3W5`L)Hp;Di7WtOGx0mOl z%#lb>^f3GJ*3CA=319}02$;Qnys`EZpK=ARm4YPWz8k|nIh564KN#4UgmenTr3Sm4 zaZnwS6VDevL{dno8UzH!5m2|+&dy+N7Q_4z>Jl$ZvO@mL#CczwBD=ZZt|oFBkj>}r z+f!%6$NvNquee2V4{Pxc6gW><3YcUCyN@4ex#}`BGm#b>@HgM{<@x!M0(HiKSC?ck z^;zu044`TPdi2d;g_Rnhqo3qnMt=S>#1~95hhP*;k_R)Z?6Uuo1ON6(!5}0wME%uN zDLcCf+u7-XZHNwN2e|?icMZ$RB4B@$_{?~nq1_>z zwUa9B&<-QZFxy}NISW3Xi5;(izz30+46)oO4}jB3XTn;wgUJIk?$K9SSy_3i$?r}K zz~JHJLYSN#TK)MONUY+k_zoR5&~;s;lhp>IjQg929KN zmBCDyUxFdaKzLFHsy&e#D<@~)&=6t7=+Mvuyvx7yLD2E^_5B9(FFEm7*CLRE?jV`c zB|IlfjU1mOH5n=B82FUaC$9kyPE?$iJa`Se4ZhI}*VJ$->4C@#8xDEPsm0@2hDBU?sB zzo31ivQhSua}jtN990DH38f_%Ilup6=Ia3vx@gj}T44U{Pi1xZ2^Jwe4ng#(I>6_h z=UM~6b;4Y3nr?hc9-&1e%ac4cb$f=}sOcP8aY}hZ8eu{O&g6gJ3B-Wv&XYtmAy~>P z4M8ch`9FVPrc2bKm*hT-GjM1XlB5)`WyM^T6=tIoSE)L;KBZZ=k(Nf0-bBuqc}CFO z8-vkUAl~4FUF5@)e}p^UK6NCWH__390D4V!3JmM33H%xw8lcMwB#FBbV`X#G5D)=O z4j5v|M%pzp&|QWW4p8*RPGZAhJ}|Wo2|_Ti4{QnO z+KfZB1{Sqq07`&0`8YNUP)pWhOZuf4oK& zR_vFNH2hm;WxB2cy45J(VBh}|LyOnKrX4sa6fA282N z`KF>gJu?I9*wo7E2wGbJ$rv@qpkvZ=bMGuUdwF@S^tOLi$0gVu6wS^T1A;4N(>@Jt zFyymLP(H90AJUXN4y{2oxPA4WT}yex{fb>xlP@k=(p#eQ_QG4#Y0z$_d7-0kV8lW3 zYf=&1mk1{(j;5ZGkx}`2u3Zq}j--mBq6j?2@aGXcJr#{PmxMh5A(K2gDYj!QZ!XGNdt+JPTD$6O_c^wDe=9%&gc4G z*Y{ueo?p&&F7NYxzsB?V829`Aaeq?EX}6%Bef!Vuev=$tKSiZAFgNPz3ADXm89nrK z8LE%uSx{+I+xyk53wl$;V)mV_Yv`->sAT1S*w;tofZ}mwrKQsEdLVI;5_QvgvUjh_ ztZTXR__0^B#;^kJi#&U!_6e;*hOXnwZG7j;yX7ARl-=_pAbZEltFqeNjoVns+SX1> zV&1XETr&;xYGcH$qKTUzHkuamr5-G`dQ@HQVBy%TB@T`DiPR1ZMr?y{Jcb61H?Ca! z=hBh!N)P^)m}lhOl5uZ6E24a=IgOu($HSr`v*mM;YT0TmKB}yuG7QCevFwcTZP{$j zvw*riPo6sUv7z`CvImjO?KC3BLgI^1*9*mr`?J$arc+R+Z=!DPOXCpPwz#f{RvH1n z_51h@hz?ow(28fd6na`7!XFllLMUQzPpCw)?TE$o6G+_BvA1sApf8-exOvy8RYkA(wTT5^M+W9TS z?wPcbL2el#@pREvFBgP#sVZuXQ$~8oUu@%Xo6Vp^lzkjb+?^F3-#R29X?Mfqr6gce z{Xv5Q?Bsg)_P!K7YL8BDU)B4F)a3MNds@DITb8GXGCIzu$Eq5T4(T!^KZQnCkDvyr zY{bOGnik}remudx#Luwuc#*7_k-~;I1+Lqxj=OG%^R{98C|ihCClTfW8ois(TZsqg z83fXrNv%hkLx(&n>bvoQ5mIGN<#d9Nivt|l(n4G7kjXC`nLnlraa@kkuly zBPA$Jk}BtO%81nTbqq`St>0Am?eWkl!9$!2i^ba-Xo>r=Yyn65_wPT$=qm&!`ndXs z4{I(=&b#naf1Fsylg{+6sFZcxif7eRRH2Gk%T+I8Js@|^5+*5~bd|dzE`~_g-@iY} z#l?23`Gm89&j+6HEt*R#-n#WJN({YF{mk*R5ostj-Mcqq3{B5cc6pVF%c*)#s*n5$ zR_cviRN9G^{(TG9vYvNaF50XRDjD+OUPR|lbJZVgf%Ja)s}~;n>+VC^QpOh#`5c~i zd7Qy%iUWYo#fhA6hYd_uGMDJg?`UNmV!&2{pwk=mi7 zW{Vk3Ejg>7C7?@JO&oQLMlHH<+>dBdxyIKwSMS^L7u2Kbrf-zg)kpbPNxdHL_Rg-* zWq<3tTbF@jP`IESr#g`x8T*qyWX#~AGJNmfAoXK z@ju@F`{@w&$2%@gjYnOG1OM{U+ePUfu`X;?qbISM5IkzI!;P>y}vb$%( zQ46zwUV9i}?dfL|pdS_*T3!7ZWuG7|8F!h%$I}9b0>E(RT8zva$rbgZbid^-X}Vba zM(3rhQ4nnsbsEzFwd!hO-STaHuf+f$d?64r-qTt^Q)GS@Hfta-BP*NUvSrcYYq!y~ zft;NTYP7A}lhNbDgJV&G1hE`7570?}P04Yw0CdT~vUxeYMjBCuEPfw!o$fy(#oh3W zdb~=%q?+2=4|~_oLFq{F?FNenLU#Ug<2gGJ5c(sP zd2(iYtincWGX*Ke2vXZjKXnc&f6`7Nl=vIoy{7*ODpIH%(d49bMNQ4UaNMIuj@0^= zSEJg;U)5d9dR6h!{rxwHzIMX`q;B5q(BD^zIasuz^KFto-Kg1=no@>B zn%368OSNCWe&D)qHXDopO(FV8_4a?5ZNEAsgekzQ$8B}vhMa$8gM{awz2m#RWP|~X zxXVq0CizNqjz>U6ccrjSVIvxd*qqf6RmH{TK6Z;I=v5jdbSw~5BFAU^9cSR^;Gpy2 z%<@OUsJzr%f!{j;H7O2tBxKKxKR)Nok%nzYYQV{AGmSQMCVWjuEMl1DbYJ=Upkmj% znGg-uAs?iEMDGN)p};r0GMkiAJtV=|+0Ctvau{{9(6){_23%8GT522NGau>cxHvE@ z=jDB05PKAUruRhWqEZ_z)I9OQm$kCS**4O3=bsDoT2Vhp_F&()SmsQf* zk}_e}^rg#Jdxv~c(w5w}zdD#szHzR8v26Y>D#k!1M2w571S*fYpS1)+q175EB_m^j zhWq%jT!7Th78cCaW3z^`4-+JU-u*Km?qBlpr{|Y7um7b~OMrm(>(%2rYbfrros9Cn zpvfq62DR;>?fmq#OsIz0664YNkr4-H&Wo3QH_laVRx>XcQg=V40zA}Jjd7vPo{j5o zA%s=GmA*}_Z{O`DB_o&LfZZ!TeR@VGaN=%FbN{%i@7>ZxH~n*{3#u5yEJ-O%7Z(On z3bl6i8=}sdy+lADs+#XsD$6ofR98<@DIo|Zwja?2j!RTGjvW5pyKK+NjZbuaqoc6;0~Vs-zybUzy07?-3i&XDa)|+J-=*7H{+*+^&SXESjNZAKcoZ3V-geZs3!$Gh zcBB+er5=4>$l%bSu~L*K51I+;?}9d$0xYpwwc@C`AO~p?onX=)Fl&MP>*RT2e3% zwqow&ZQ^M7r-68YwsI|L2mhM>*6B#tH3_-6>`CWKN^&PYqKcr%TlJqW=5}$t$z_0ID_=ts(&f-zLbvEv%6za2P*qlMlXC1#^HJ)5@@)l(bq>gzMVAe@!w!47$J$q}c z<|l~@;(xn#=+EemZf5wY5J`BjHmH83P9B0oTKwP9CHCQUc< zaM=0~#-)5abrLZX&~^WH#Y>8p^E!EtQtAm3zMy%Mickf<0(TxgK^OE#?R0t*S z$Bb?Q&N>O>=%>%=LAeq8-29(5NsB?N=;R zv7~sRExiOZtY9i*q>%iZG<3(SSeWi!m)!Z|SNk#vt+*(^>dkL1F$rS)nU(M=Pyp_V zf{H5^*2PdXt!;fR{i_%xG|^MddBYRk7f_5vqdI>777}AW6>H@>quWuNytnu4J-}M| zir&JyCKDi9v&mXL(Z~8wupR3ewA_Lpa)=VT3UZ;NSnxZ=!?vQ%@$}&PAGj4k6D`rxQoZn*QwP_0Wz(^#$2%1Fl)0;JjgpvA z(NIbrXY>ygRJw2PtTA$WC@I1_TJ?WT&s&v|LQlAC*+=5Gz}Zg|#=g`>?b^LNW0RSa zkV*(*iv0`#%{Ln8%78eXTY6t6A`I4m^24bdmh^jj`&0TAb{XBv-(UvyyC}H=22@XP zbbE(^N6L0aTq`z!C^9bW`FimEBTgAQh(#8k{OY}kfo$d4z|Q!sIRnQ`#fHZ z`YUl=W!RGkE`U974g^p8sDiM7Wrfv@+NoKuHe9cjb#nXmzUzH?Mdt4+tkZHnf&8G@ z(6jXsDGV?)s6`}O?$q)4M19m|@TKwkp*N+hMvWX z)5ps7tK1eVd1T@N>R@qk@%%8AY&3?2SM@W4urT!Ihnxa$*`Ns(c)!0N zKiKam&x^U>zhue#moL}9D5K0x$rKu9CQlAc%@d!KkR>xnj8jC~S?hOq^1Ir?e7}R% zn;$4Wk+ISdR_eQ&ud(0CR*i-+@e9kHFBR2Qzr^FP`x_#Ci%sjMO`Aqh%bh#4Rj9T<4lJJb2%^S4`|Sl{V`}Bp*p=b~ngTBmC87kGioLfn z&1tbVMRy?>kEot6(zV%g9D(>;89U5oi)jgjcBAx({*{`VLE74RLhm*@41Rs2`wL;- zo|$<)9^9;?rwwyneEE|0BKc-1uqCJ#UMFabc8`e&Mn`t;92$u?f{_64@f7YZKnMGj zCVr%>3s|vYbA0mV8<^2-wKn>6e^vy;m^5|f=OS2+{=&>H=zD!wYX4DN`gZG{+3G4$ zbx&qxFRy9TBr3JCm5|Wicl$BUP`^Q|P3obD?Us_9JVbC83Rw{EkgAb)cgBD>NmnoW zUzK^So#YKE%y<4n@8j$duA!;?r=;+2EAgoqC8Bt%&(jvYyer7APv#1W`vX?&PLg|1Ym-i`UWx#^Su{_^w&_qu)elmg^oo-k#jM}qML<>}3x#=J^qxDH z(m!6g>FryCi-8@*{+i>WOW>UwHkr>02@TzYa3H;#F?0sTuXQ@^&^lw&GOr@&CkXqX zK?hmBs3^PWL{YRLuh~nq3sTN#%e@XBZ~Fn~hcP|v^=#t=SB1%Y#>_^x3oB*}Dd`7o z+fGZUX8Hqv7zKrTY6Ccf5lin~d-yPnI3-N+BFLdo75Mxjf3MlI{W?dY0ayJ&Af-1< zJ_t>K@j!b&b|=+JdJo#iqD;iSOzRB~e(hx31a2ds3jQ7P^rIV$j;5vpgvewWiHq$> zQj7bfG0DL{-KT51VOX>(@<#2vQZL@D(_`Q^x61+h`##q3K!JTf(g0lO+!V@o60 zXYtCYN!Q1j{_FB`OSnX5*Pqdm*TE{;u-f1K%FCC#m;6>Y*v@|6{_LDIa9B%g>#xp^ zRp9!!=eG?Y!-)FmNcZkN)Z_Rrj7B!bvGcS$dXvhhq^6|wA25IqVmVD*PIOTlCKx~n z*i}I^0&F=In&IlZjIl_at0>oT*s7$YgyGb5gy@iXmnjuCCM0N%ja0T#n66Rynpk7R zhJuvaC-@mu(S;%Xk6%((mt$GnB8*Z0ZR&mAYM@k9bU`Bvg8iR;<;kTrB==`dQQ3PL zkl-P@mDmqDe^L;~eE8tf+;)a+yn61nh^AdCwU%YYf2fyFL%3((Q`gXVsg&OEM%M6m zday(aP4K@EUNgby2d1c*`-6$mBW1f?j_DQ}1Rz6tx$P8p)9266kB?{2TvIcxVFVsb zgma_Jcaj0hHZEY=g6GWhIR&8QGE>-IC#LR^PgWj@W_cRDA}F2Che^AwXNG@x`}V-k znw#}AOkJc8SP6N?xcnDW0~6|=6qU4Sv0oB@BCZhPd3Fht=$9y%ua$seOq5a^zjn;R zBHr_2)3d7qQ7zr>2-Z>{p)oNr@xi?V(E@_B#;O0N`Gi9bSh&!DR}zNH1TCdbx3+}t zU0tz*1qFVmsV(yKOj{;C+LWoQwXqv5M(z(xE+`~&vhJ|pZ=dpAN_#%Iag4N4MM>gh z33Vxw+$Mz}!SxR1fSfjTC!_5G8m+0?23!%pbAfc(B|4qbVdBMYp>2aRJzSy)u|1`| zyuAG0#iolFR|d@7-f+{5E^3s{FRAUn|55u{?+Hi&FPn_=mOk_#6{mWuhox z{G)H9FhrYuR$KK&3$;-?j?I5q;6sZ|Cz{7!*+iwBGHh`T+ahi=%?f zoo8U~R1!Dq>f%gA6q9jgdKdrfhUlxTZ=$jobB{Ix)O^x z^+21qUlR(ubHrs;27_A1%)~J8Uq-+43kp>F^&5?9h(T{{RdiS=ZM7A(6>^Igmq?gw zOfZOwijoamlbV!d^UJ1EX+^^+ggj#+T5}&(z9er3l1qT(Qz8l*^pC2mzM)M}`2Wj|cDK%?o6ohU!tLEh>lY%c<@qB_w?7u<+=8 znELWaXWsz>1dM@=C}?TObw7Xq4%h|X_KkJ-*zmB)#`Q~1>zNv|KLu9`a*OuMUXqf2 zD|wA@912?$wBXThvXRcRFHS4B^qo{~hOku_Y&$QQ&Bgi!!>27?2$?JTStKr76D!^K zs<36nm1cz)uV~cRtEez=;AR5|W@W>vfAzCa)t{5<<60tJMU=Ze-*`pUdcK^J-9f9B zArIB9IaEMcUD#@mQ(u0A%tc7(3D4TJo6#~9x+IhFKYRi@{Leo_>Kv_nK|*dpZ)f`n zabu8QBcQoJ{6cyt6?4r2Oujt1^1ej{8XYIRAX~;;(VJy8Y#18z^ zw1D2P2s;jEpFSErCgOrvRAnBd({sS6V7rpJ{j)~DJV6=|^huMd6&fgyJBrGrXbjy*u zQgUk4n)XL$LNwUTDpw|e?S<0tskmG4`*UHSX2vM)~FRo`N-k-?$C>$?efBAL_4~_0>;iZWAZ`2(k+(mUTm| zwYA0msO@1kc`)s3WcvrtCv17a;E;jhn{-8juV-gMO=9cfr@1y8(mN=$ee#_|#Yc5J zw#<;Y5Zw`6z1d>;@KCy1HCw&trGLo$mY>B)`IdY9n;A$yn>cgH`mZx@<1`f?Tk+t5 zs`>~svmgM2@J)rjetz1;uI0?S3Vu#3bgxqjd+!0ThaQv8nNTuJTzp?@YO3CqblZp| z1>?^=7ZQ#3tF9dJ0KgE?NRl9UCPqYPi_S!Wk`rpDjK(=Xyi%$K-_S3%ZBb0?E z>0m^l&&uQ(x^b83jQ#$Zg{VBfwQbSrxwI{6MZ{i%&=9?OTQ;qulB==8b<`{TNI^k- z)jH3qC+9meBD0Ha#A4IYmjb_>j?e<3*TtxfOP4L%KTT}_COo%+2aM;AIX3g?114mV zAEmdhiH;U_cl~Q#8B#Do2Y|Ru=1tcIST98Gho}TV>$ZI#+rw<>5%(7a_zdyl!pm!Z z8{C(Y0-RTJ*HXO0JW#rLf}Hw#16N~l|23a6@Hp^yQ_hIx4O;o-`T6-!hQ5<`rl%J{ z%pf;O6KIM72sxHMI;n54oOw!gWGD(`7RX=+I-M|2*=iDds>Cp%wng+6_#cTEbTSy$ zF3Uxep?Bj)cl-ZLNlLo?@Zt75<`c!;^vzWr?Coz(U;6a?u%7l-nuiUotpT&{+$l3o z{Ht-`je9s*rkMxlUS#;-nlPDQJ7NxWyiiOOUa1_`Sa{sa- zg`U%(P+tH-c}7FMLD^n0%V`-oc_z+xrhl2_cs-+t?r%9FP5_M2gM!s0+VvDU>v z?r`p>?8=T`zh)hFm+Z}i)Kkn~+NVr&)Ec~HZQj90}&<%yTbMLZMCS55yzg@bdi znY&9sSQo+Vwj-5tCt(GpiRVf1(b}H{2h+v9y}ivFGoHz*el$}(7c}G@9H@2=zfznL z7+PpUSw(SwXR$@rfPX`1X-U8c<_2sHEqv#B&M{RZ{5MWpOc%`wUkP<^1icZBfE3!5`fy?!B;xa*v6h4{=9u}Q;*TcSXZ({3|(`QU&y z^!aQm^PnMS=vKp)Et8{>5q)m?$@6ZSkP(;OEg+ykRuu0p#@(?;kA7@@ zb3-KibtFiko?bpXA8~tS54nLz5w^I|i|Jnaptx8t*|~G3sHl7}COSJ?ZsjX)q--cy zYB5l1ggA<%uYu1yTn=9sUw#$a1>5gee=T3IKtKAjJh3|KPL8H{ofpJ=n;^rG^j|{y zv=}p{|EV9enEpMw>BD&c1?Mu27G19pDL6|#Zs4iWSD5Zv{v3LZt{~6ys-aG5pwe1P zU^MIn_YJZ6sbsR|<%<{VloQh`>+0P6Yf@xUv5!Vr!g#;*2=Qv)q>3K<7jhQ}>Vzrb z78K0JwP3%KNNv)G(R6t31w2`?e0jYvs)v8XE~u*mEqP^^xABVAvuR%7XLJ{?R8I@lQgr<%S+M^`N>q6Z_6eXE zalr7TW0-RC@TNXpGR;Crj|MDdX4WFfOk{q{trBgTCVlk+)|bmtyb(jt!T`~}DaShG z2-;J^L0Q>o2N%CUfwff-6PN;Ay)wR-yXiEOVpRR4L_t*Lq!G04#E&Zn1!IYpPmf0! zPu2c5Y1hbNfP4CXFZ!sjUUGY-{vcv>-?T2Vefj~n2p~d|q%c@vAQ+gDa4Q3c%s8|z z^%tn5d+Iu*7|xR?_mPpQ)bODjK@BdbWi=(|cr()!w|2>{H>vuGy;V=GT>TG!tBLD9 zc6jAy(BruBgj;!ZLhuGzcQ!}Y-VXMZuxq{2)NsseMBPz=8Nc-E76Yf9eMO?!2Y9IC z8)QmnT$RE|S>~^)cwxUnJ_lBVys>vlwmhcNJr%C;?oshYazT98K zl4;S?qS9XK6v`T#=V|wm`7JIIDQtmyoi1QGWvY)F8Zg_*#B7C08_(;v_qx7P)`W!| zt@@dTp|BLt4gY9sWR`;S^?kOW?ZKz8`*iVs`yHfI%RKi97LN)~(U?voI<^ybX-Qf3HNt23m@d-CuYiDmy@hp9LOI_7lezhUo z+z)fiTujq;?xRO15`-`@f%JhFd&e8(u8uYlD&CC4$}^-kLKoPaO%Xu zb+?45?Ro3!@fjQHEoFb4s#ZWw+Rair1T*BEj!0z(UWt*K*r{xHgbQCL+ell3(F zg@9cwY^Fqc)1jHU=5fhi0wz~*b;8s+BbX@q?zl?$a%d~>@e`dw`UD}eP3W3qK(hSM8d{2Hw5h#CWZ{@4v!kR;>S1xR*%jb!`w&e%v~JGx_oTiUiK4GqFXAwsPR)v&Gwpr+-~z zyw?VW1)7h>T5A8o7=AImznYY}l}y4khOn6U@*$L96xG|ImUd3i5|CqsK`AL~;2*mS zg44>si8U-Q{FK$L7AsV0F3h2P`4<|ICLl%ZBwQ+Y&d+}V+Y-dePriM8XiBn*>(OW& z*x2BBKO%F~Q_6{AtK0MOYm$=#OuM?__3Qba_wL^x3t%{_9e_&fr~eAw(Bh>VB?1>M z@+b{n&{#VT{|1Dn>*aZpnrI%iF~wSjT>6IMNZ0p=db-U4mdjX1 zM;>RNlph7H2-0z=3&RGfUzGza^7COL)v^_WGMZ;53>O3r1QYtH>i+9G(oW_z4-_l* z&hxVQtUfx_c+Z^Kvl|Cli(dDPZ{1fx#>sNmltE@+;TFjv&7L?Uvu~NrNMWX+WkA^(NjJq zge)GJb(q9U^sV>NmONitsy)KVRD7R3iMwXQbNAeH=YFt{>C5za3XIN#Hrj9@#Y<$j z&U9;3=xcY(^-sNFop-#CHBAf1fA)3X_7!xu9|DV}xgMxl3r!q3c=bP(18>6VJx54M z12|~%E}U&jY$NO^RQ(|?CVCs)9>4vmu9ljb8Y1$sxUDk5{PWo5ix!K4@O-VyG#`=3ZrPP{oB@^7c5!y!S$BJ1z3q^W7z z|BY>C?>FnDO1K9iLW+{0N{iO$p?7wOTo&192V%LP3EQf)dgTsMG1R&0Jf6@BD5>!q<{M}bi>`~bL&R^|AB2&3II%)Sa z=O%0u$BR|_qMwDewZ^x%bowATrEoK(fSCmo>P#_8D_CRHL6vvNJy)=|^rfO~S>p7{ ztRqHdqQP4D?$oO;o8Jb!Hk^JSrJ-PfC?&U{e5S|hEoaHKg2af1FS}$Q^Dew+e~6cIR=jDJD<(kcsEcoeSD5J8lzjxUX;P z*RKL7KYk z*B2ERFc&L5HoN4E=+6ke^DeCYbH1S94Ur5xe>B|@tIa8@#&e!cX=w+9kudW^(<_+1 zm8{#NylPq8c&iTDi))tz4~^abrr>^bL%CyM8r{qt!YDgB??>lQN&h6-5f3ugu_?8y z0>aA!3hM}TX^Dw~YB|to>c)<=;PV`3($==Raplyh^=xR|%`(QvtQ8cm zXz@~p2%obuGus%N0Ck?6ZB|iRE2Hhp&{fj}^Z}v)^#v}?%Pr?GUl-VIqW@Bb&Kjr(V zQKJwnIgHGlJ&u}V+vu)Zd0aA6prlq}@+P567vQ|-y&Nk_ zaIv7Gh&yOtU_iyrj4t{MWN;UR*R7I$NLC&VO%RI2My zd0hx^;l;6^t%RdID&g{7!r0>p8eTwv$7KdMl7@n2%!ff(hYHGn zfmE*W7&+bj=g=L`(F+|3-@~TuvdB{W z8QIQxt3h~rc6JF52LKLm<>hN@c+flLSrojs>(8A$V*@?C z#5o77sjRL&dD4Gt4o}{HShY1$`}Z$i6yZLC*;`{^{rtl3FCRGPJ7j;udFcy*zNtKe zf$D_BF3a0GTI&ZWmh(_4Xq5Z)6WkCH{6l$Ry|Q%45^eoM?!KU8RfF9xrpqb(r0B>! zaY8tN0MsY1@yO0boo|QTUj#nvef@S(F18YJub#yzH#Ie7Gm!f7WiUho%1FU2RW#nv z&Yv zSjrZNexFA3Ezhw&Kqf+5+)y_Hdg%0N244gp^C>Go>bdtVd}q0>$|NqatC#;;QOcno zUmGXpi^c81|42)bkYKAlG{26X*^F+AV$b(C|gQ0<>b+;iJZ zA~wWr&&m=U>#y!Gm(=Ox^oDl@9`@0_$+RIIa;0C8Q!KRdGQ0){OX4W~YuKzxN- z3znbM%9>5~?jt(v_`trLf|g!MwnrYOoq^lK%q=aaf6}y-0cbyI^;wPsCl*cD}ZnZL=^9CI;XlEdd55ccZFxza{K;YA5)jPQ=?wZ+u~6Qyq1MQD}}`ruuAU zG4l=0LRiqc$I?w-o1PvW9X(@SPAt<|o}Ss4F0Fl#nZE>{q~F*`t1WwVuG|blUGc+9 z7^%3icl_nWGZ&VEH}oIBc5a^zd9$2|gEL@iQ*P`wJSd!3#x3F8D48P*!b z{3})gty(ljvu(lIuQ4s3(d?4c6q98y`bwRgJyIqO)-s4456?+T4hFkX?{>53kQeYV zK>@syeQz?iq#n^2LG{QAWrOsYT^nc>lD%!SDDsaAa`2f73ltwbqf*jsq%&Shm%%{# z?FSEzyBEmp%L{65Wm+Xa^25N4*9)deU=jX^ZU+3qaLh0Z3z`4Uzga?;+H$n;uy*pW zz-LdWx4>X3?;=`Yq(KmOAXn)UJqkTn;sZhLj@Z{`jAB1QV+eGx%51BTA3t(n)m#jD z>Dp*PJPZSq3_4RYGH!#B+YjBE*z_EifkuLc*V*MAq(kx%Pe3Rht*tS{me2bNTFX;F zCaL4zW0E~}b2g9%b5yhQo=6^=y62ZbtGJm!@Wgr$-kD9{;I64+vu~k?VX)MD&_H6! zXhXxr|PQ!CfvyNl}rT9~8R8 zE`RclP3uU21g1YwY}R3)3x7JwfMeoY+k(7EpvCstC6T5UTnJq;IgG4uzqAh-gp|eM zdmbBl_7-4Xbfx4BMt%m0rdDphV4x#ibn4W^?eSge9aBcG`^}mI7WaQ>Z@2WoVJS~Y zt*SCsE&E|ifK1`E{Tu1dHa?p%ml6gw9+>NBFn<;rw{@558uQSq>gr#=et^NONyxp2o$@i8v#9m4X&Ix?sIX|!R*>i-nyd0Ih@ctK!427p^|$>hnZ+;`SJ;k z$a$i?96-?UsWfY}x6HS`D$dJm1l|1al!p*IyY45%WQ;6%w!a}{nUbP|@Y@G_)F4!N zoKmt|&H6O5_C#+3(c#&%<|^Z%!|)F&5xO~DGH^$GTxT!d^sI~793+ruE15BvbLnrH zIYPchvaDvFpxax)V$(Jn0UBCI z`NvP(=K1%^}VBj6D z&a!8QJL~V>Rr+V6wodKFjq;iUK{Yu+f<`fw}15bu`ruSW5h)>w!`^E+tS5_V+lf2?J^65lezT>#Zf|k zA|qq__T!P)@7^7Bi6!Rw_jR(<@fCi$gwhUB@hmTi$d5L!x4gWg%ox%glW_btseuL@ zO>W{z4dK2dka@hmxzi)ucy8kxS_CxEZ9jfY!OV-0#AbBKGFHd6ZE233o`%B&9i79@ zuCBtVNz6fng3i>PV;B_=6Xqg?Yq;^+(m&fjZnupXS`M$lpl%Y2KPgH0^m?53Hwn71d_oH+mPnl71g}t#I$Vy) zJr8Jjv9L|F6Al{JGs04z*O-kiX&^-igZnQrAE1vRnWYmti79AP=CEmsZ|Lb{2*NXW#A9|iWOa$p0|4> zDLj8WP%_rW5RASkai~lL%M6_Y5)m)nqxnOkVU(~;Y9E1O0~&k>b)|vyXU>SSv-QUh zP@GX~RTLE|J#<22S=GV~zVT(hH9t7ElV_8he1pD{cXjNSO6zmv($ua7{t`5iW8GSP2=qi}}#sA^&4m_t5LuOJP>KpF=e z5|GEpe@>7uflY>w7*X?zg4uKSY|{4_c9Q>gH@ip5-0ZZ?m_Om&)d+CaSd5*nF+=EkCpS0d_TO)A#663|_WVM`U3Mxtl$1|)66TEw*p=tX z$+{dEW-{|gX2UkcX`wZ&i_9xpjp}M@rvsl0BpTu5$`GeGM3J^Kg&rsNTx%Cin_T|i z$C^HT!1%AN`O&v?%8YNBU(g8+vCFhH6CUH3m;)2=lmXaE_Uoa&VOBcQ`T9sAXTL-uqz z(9yNZI>~U5zwmw!%sM{zePiQode$+0q@=JXaX=3T1os%3!~N%4k}q%B4arChHfA;M zTRwQ$uy(-h$^aZ7Si1-E^ARw-fpiCeP(EX&Q`;g$i<8@FV+rX9*c=^eF1ZMm!P+xC zGO8xwFd{^EFIAoGMhy_&&2ThF9f<3RieXruW2RnLSH}z{ub)|qsfIr!fhbmUSDYGV zH)^2pzl5&D2${y0V`%`mK~4l|8c7a*9-ISYI0*US*AYkvg#1zF{(mnknXBXw&zqH% z;%UIk;T!_Pg_f5K=j(gx&J7tKoY3J|MR~Q9nrGMrcFViM;(Ebgq4R^Pu!78Pu<{(S-e=rYUbu-+a4_;0r;uw~3baCH- z7!C+908d8d&4^0I;}g@;koPE@vDVq5{NHmIhMBL$1QCirPR+YT8Ii&!THpv%fmI8- z`HMjCL{XtR&le(};bUju7l=$bxxzVTJ`i`XlQIppx6>Q;-(uRFmGwZGi9c%ubl g|K*7K-QB&8g++_iMrRHAi+`N$C)*vj^~^%39uzRxq~ujV5GPZXtYp%I~7xpL)}jI_A&l`GfO zu3SNKL`8zH+^tk6hEF%Gq@USdxpKQ1{%gHzuNmroJ!R z$)eMw7&uaJb2}L5GvGTI@;C&Mj-;g-Jikg$^C0bwL18|lLCWVhvbMFZaqiu%s~gop zC=Y+J9&Vm6*V*3CUASE9eAs=S$PuBF{gmDxKBN_kgLJN7!G{SE)jjwWvBrvo4WHX@ z|I?SDV_2+gYeyJ<0o9vsy~-~*Eaxk%`;V%eOH_nVcm;SFcU;IUjg3rrhV3Wc*u2wR z){Bk1MMX(TnRY4Bg&IpzTUU7Qh1N=zXcAAmeC#kzPui;LS(dArl0NzVsPby^jTjkJ z?SXF+F)vFkI+@+>e?(t=+Sf5rhPcz-X=M&1ns2qo^5dqmT@T05d@b}7q9qI`$UFjN zZMFxN*C!Xlx_2@1rTDq*9PC_qi)CC06m`rplPg31xP`iOqw51K=Hmky(;NMDJj-gl z%SDF)JedNVZKvB4zeYq!125u!VFamn9saz0R^iM~P#diB=dzf1$74NVQ2&*gAi(*B z$&_>C0iUMHx}Ad=^2cE^YczMmbK%F!{X-l>3IQRZ0kVq?u}=3dELyb05g(VLU8r|2 zpPM8Ic?q5gb><}V+@Em$7GfUL@QAr`56_y-T2|tx@Oy39wMAa@^hBD<{>mP47KICR zR8;@q;7*?d#KW_E9~x3y!(OWUOmH=FT9@Cg@cHJoA?M4ZX)Vr;{vRprsnZx)PdU-h zod{oBT6});Ae|i9~CF4aiNKu9m_M1P57*f5L&quM~ zV=qW75beD;i5`HcK%9XZt`dhN7o15k8jre>jCbj$Os$u?pQ1K=5sQ{_(@lf~9{fL8 znE$+N|JQ%_#Ww0v#qvayt3Hv|q!%Hn9A0OB(IBF1vuT5*zGoE*Pde?W8RiCsJnkE* zLbTvObn_prhINkjPh0MP-Mxp#W3m4Ds(Rt@YOas5y?^-7arh+Q>d)J^gT5uT630Iq z>$2D3Nl8pq`?0vk-1z|?@ie`4PdJbkN(4!B&vr}MPXY}U{62W8Vx%#LmS|xM^UUk>D_h^Uv7Y4$UTFFSHGXZ5Y7g_X~y=U1Hx9)Fyg za=$ow*xlojp(6H5s@#t%A;WQYpjquCu9q5q>)4ppqkFZD1y+`0c$P?u;QT3J$eV!2 z<-t=bP8L={-^OIRH-$r)22z)j`F?(J8g$z{OZH93vYqYVMMkV`Z`iRQCDA3V10J;? zVbGf&52lfSlDm+tt35~%jld)z&FbM9y4?LBWG-kp`C()!_Ol&xaDX~J?j;{7>%DvT z*x7fgOPyU@E{wgfHm9X1%t3`0Yr=>Mcp5OEP zgrd3Q?!MO1TQj0D4Sb%#krk*CjN3l+2H0F>{9G*t$ZvnK&{1JMId1n{EPY5C6V-!v z@xdfBP*VRYi{X0Lt;-7Od8HXYZ+lq++06#*8*%-JHK#lwAPjg@^w`ZJ>jSyUo-o1A z!e_p`$l}QU0xYt|A0E55Nv<_MjaBT_3AnD13(Vzu~k zHj-EWHa;#aM4G*ntm1cDh0T%v2?2sJB4}PvBQ2PD9%!9jYNowZZtOjeP8aR^-_gY9 zffjm4Oh=+qUi2_@;E#P=$};#5zUe=|}7+z836(a z&L6KxexK*@I~h0Uo^;y%s#EVsMkT;9YL&Zv)^|13L2hpGh8vMK4TY7`F1}9mU=>^S zR+JrcqKXWQN`fQ;;XNNC6oH4q@2H*Kjd8r;VKv)tKZb%sjhZ?eqKIo$S#;zDXCJV~@Zi}ecIChBkJ98Vn!qw_poY>2T&`*TMX zo*b%tU-G|G=ci5Y)UtWF!e3{;KKjM>(&jK)qLpqhWdHJE=3}jH4W9el{513*(GBOK z(2yUaAgbczcp&(Vrpvn%nl75#d2zG}qDtA_d(5_DWZw$E^r|;CH__qoT}s=~6(#>F z39*TvS6mduso^|k`3p#*To6F=@ed#o`4dRG||G z73D2-_hZe-TyzXHLHep{WVXptOHTfIVhL{qTj&;cS(~YA%E1ucf8uz5F@_lznB;s zKAU)In5&XklUt-pc=zsS#JyB*)F_j96ci0U)6g(3winOPpJMs>V8i3GsG(aW*Ql#( zC=>ea?X}dvSn-g2#hR)2_1gp)ps|=H4XsA;YzdNI7k@Je%{q;7X&Rh1FwwNtpnXZ3 zr9<`bUDWx);=@Cin|}5$cQi8`DGE_&U~T&_>@CsKRg6knf2to`3tX)W?PnP^+KKo` z+Ewy3j``n_6LnlA77;&l&-e>Z3SVl{aFI+}^3e}yOCxG6{yRz&K-JvPS4R|P!Jd&7 zB30(G9HW~d`Jw(7fmq@G{eCs~~JOAAn z@NeSVfA@uyc#v8WmyM@Zobp!OD@PqIyRtKO{}yIs4jVd65bT0=&S6jWTy#LnJh!y_ ztrWrKWnD@z|E6&{wTH#`tooPONCaG#y)U2T6Mse5lUZ!wi`rw)Qb26^UKliLyWUjm z1DjZ)S8~-`aw$Psik6!~o^DC6j0O9$Q@^HnXFr0T9|8+Sos^`k`O~Xfv z%sTX;mD_V#p*H5E>Xxw@EGHNLzDF4UEI+RMQI1cZaOC^Lld&HbOy=w8lUi8+5smS; z(7?yd&8-%4d130hb&}gMggiSt8*fG`GcfG)LZN_}hF>zW`ej>sH>jeA?k5BNyFo2# z1SdPC@RMGT9{o7H1JYp+z8fQ&Uli-1U@9r{ajr(a@&I3Vb(pl~OY0AOSIf+jp??#% zV%`q?mq3GBNlEV)9`hXl3PT)2g^lRmcZYbd8aT_Ulrv>V$GH1OR=(*aDovbU82Tn> zsddHw$-y^JMDf@HfR$aU?}O@*u0j1A?CC1N%4w;v+K^4|oJoB@<3)czPwvy+2aGc> z^J*$7Jno`vKf%xJj2J>D#O9=VMns^-o^4d5|FW!6KM-PPI}1D1L(+L@ z@8WuR{A>52*lL90t&gOWWT9s7r+ifiw3c5f=K^{7FOh#H2lGxw%(2n?<`;2(s8a^B zw2SAZwOQ(IiOWvwcg?vAu8Wt96AwS4>$TAR$vm8oCgEx=hI>a@w`m=o5k3^4WRwjE z3RPJmUcGddO)g6+vXC{ilYh!j(9*0n}G8|jUZIi_{i1zl&#vtID6b@cRp8YT#xU z+Li)XZX{2bzfAGJ>=reDt9=q!5zCuNxkxUHQ*drx^()1szcYN|R;gU3}?#mKnw`dh9ocr z0aXrzI0CDuJ@dA92XdZ$&9|ou$^SVc@|luG2{e#p`3tKv>)S@k!o}@(M$rzoI>Wafy!sq<;Tt#l z4~7YT6A(7+u00nYQ~N3GWFVxe=1eV%@I4aS3Yo#+w=J(V{(IO z3~z8)c}abBsIqAer`s^?m-auy71QxQaK$p4@Txsy{NCF86Z++T_b}D!DK%mx+E*Ee z|6H+%N;0D;dGHQoh?L98jQ-dgo#o4uKUhSW!#!y^@l5K=%72xYfK5z_6ZO-VZClpY zJL?)kC7ruLq5$QsD=!~>^OhCqaK6KIsZKe|_9O|8wl%xlGq9>-1tBe`-@2nCF z(kJn0L6@y^_Q`5ZqE|f3W8d|?*U!{YJUNKe{~;h!MN@-4aF0@-f9&(6&$QLQ`IeL6 zvr5)a$J{2NSFc~6ru$ZD3uibHrmGPT>i74w6jx-osAXxmsvG9Av$8(=`j-%B-$Cw1t6sPZ))TGmi}^jFa=rMZ zq{$J+<;vkQ74o1^#-#FvFN!}D6{{tkFc?m|x}7)nv2U;bm@k#y6xF>W54Dy-XzGDw z)@NM0SRB#lg8S@lM9RzON?F}QVul?nMA14PWNamK*p;qW+jXc9YLf!w*2$&!8w^}wUZ8oDoFIPFfz~aC` zc)*e3_imN}tXpn9fBNXgkeIi%;vT^{V5EvzX=F zHu{RXa%iz!xbZ9tcgHP5BxLkY{WJ>s9S--)k=CQh9Eo+f&8(xwgeFPf4{a)U-aat# zY&H4rqf=gIG_1Ce$M#}9bd{yW5KQ^Ui*|F;K<9Px`ww?T%O>Bz$&N&N)k zL!l=ZGd2C@ol*Ly)vC)v87sf8WnO&B@tIaTjJrtrYI)S4IqES!&}?*GUOcMIF|K!U z;bkydTC2VLqjY`ccc2TKdaJ4_cU%78v(>t@X0ztL=##?BXMZTn2Mltd9;bs}o(Q?; zd!9ObMxQ}#SL&VL_J`yGhImL5>zWFmUf>N>t%~pL1z$ zi1`?;^XZw#e$cWN@2K#nc?@<|bAqFRHwocEKCw3)6kNb%CRQQv!F)IhTumYc8eL@>iC++QW(J z&Q&p+cF&{6fJ2APTZHV@(Y=0h1u@t;%(>6spB~nob&=DnB7BOeB}=tEO>TiC-v_y> zqHiGz-P_#VhXbfKe?K0|utiLVR`A4tnVxA}Jd~^_zHw$>X>njTl_^m;F`~k=+nw;O zLOs(O>n0lMSNe57@+!Vk9k!3LcH-YjR8Kh{-_;QCoN0KoD|q?a@hib{x#hHq9~)k0 zT4`x%m-#1>$sYR04ic@+p#|<*Y6r|pJ!zWbig>rKMMj;dMV3ECTT$V;)a<8Jt-iIX zb8uGbc~pI4kl#4pOl@{-_sfIb(AQyh?u}MSw0F+)>-tmoNCQGc9aDF*w=7LYwg?g z9IjZd@9w?aIkXGpOANL;+Er*C*K55vW_P{WDlkoQ>BMz#NkDJMIL5@+Z_(~~8SpKH z;MA8%t>z>3Ssl&pPhTeK8VufxgObKENlAYG=GKe-P1=Vi=@&oJ?{p@d7kYB2$17j@ z!ql(Y`CQli((U8j1zYM8<8c>fVO^(xmYBcy{ovn7`Xj8XhRR6_j~^Ee9G`0>icTL14{N_(C0zZ~B-ttsa!URiHpOALFfl?0 z9=m%V?(LoR?odwEs1)j~Z2yOyX^Yz7_Agp+tv{26Elu-wH|t^uYiX!o8%cQooh-aK zKV+9#>KFzYdHn`5-LxHit6WB(bgw~G*a1}lgWcg%eP&uOr( z6O#Yq`*#sUnAc&y88x?M3%0YNK{PUdH>@H9)uXUzP&Hq3uuMiGB;R7$R}k$M&Cw@? zgo|OEG>=c83%Ai?P~x8v+)cRq+NM01`&%I|4y4sl^r}CG$|73S7SHE`=Qa+>8O|P- znhu%0K6gAsy5RdmI$mrW^vP#VS+vg_Iqu1hS=L(A9qV~ME?+B|u2t;V8_XrWsv@M5 zG@7@&ELreKPHXY;Im4&|gX-U%Cir8N;GF+w5RzhaUEX<VV-!c4p-__y8Q7BSIWlG((NwU73A|*aqKH;|Md7y zh9oc+Rn%qLT2-y&iWDa=(*qb=&XDH{#Z_?Xnp@56CICQ z`QSHWH~#$tIA<2fNl8h>19k=}ZL*d&MGYbhBVt*@pb+j%@Y81{e#jiZA?_!47C}ezivRmTgeo+Nw{|Ru*({~P6CR|6 zA_0P|vxMJ&%>OP9DVd<0{`}_5wK+su@}D2&{U6fs|4%2Gh{taVeDk+yI#Yxx1uXn~ zLTk#De**`yGiYVm5RGg@rTDK~{_KCWJPhF6m2&=kBPGh`eW#~khUoSWPF~G%FzRwm z3taw>(LLsUq)$!%7}6jAHKeD}&3TH3ZJQUb5Di;J)A8-*@yhRRjZ)zm z#V?*q?p^1!>sj@m2vGT58i`dx_v$7;f|7)WQEN6_UBQ)I!_lF_p+J3}~+w z=v3NCscUhp%F3&m+BE*=Y%733dByOXq*lz4Vq`u;_<9gD{mC+EH)7OQRfcEl#$XPU zdJ~(*-pBW4uMcpyWfuAe1*p*5Ttplz8wj_W5XUWLR+3~We&nA%w;UK>T#5P-=f&@7 zualDysMFB>p2bfQ-$Lg;I@MY7i0T<*$d3i=YM*2Y+5|QHDJJyAUWP>4j2%i@JJAnCS@B^XYn{gq~6-?%&whKc{6xV?eM_pY4$js^vl zFZRmOzFIN937?*?QU@iIUU)ZEl2HGBU(W7-N9tuh5fS%6SOkL;$o}*3_12c9JW6@`rn+C>rMV3d!I%7Ufdta&4~)Y zV3pmnfu$vj1BJLSDOE}^H7)I{j%bB7dXGRKpX)l4jINH`d6QL5P2!}aq(!;+P9oju zXMIOXG0(Mw-&}5ppv>>gif)|hIG;1)phHd`Sx5h+dV#herC-Q=@lI<5s~lk zf$V^X9|LSMroLUs!`^d=FU_uUq zCjUS@hPm}10v0l14@L*2I5=Km00%%{59P6ObGK-DdU~4i!aKQ*_;VO_T3K6XE2ZCX zP%P?be-RN8aelHd;CXSjHu|-QtC^WLaWZB?zbHsFWs-`1JFn7ObdwUz+ym<|MQchMjaOC%k;%Sf5 z{MW+;#zZHc@=sYY9~3`9oA~CuTmKe?T*xh!_Hk04i!$bUc;1j;Hj1qf$w8YZkHv(> zH>aYou*dE1?utIE()Hblas2dsx-XOudiD1#nZ!Gd_Sq?JiSR;Zg*N59v(i|9OSq1Lt?;v9TvUXiLbA^KP#pC zbR*Td9T&Uouf%h`Hn=#1r<|XEvAj^%)YL>J6`JA&B|g~SzX~-_#ocKffle;$5q!fS zCCcJL45h|leGJM5H5s|ga+<8Zt-pU)DJSc3GCq^$Q^eB`QAplHMoUIkOysqm`R?T} z6{Z537neaz9=>}x-;P85&iYpi+_?GfLYMvOkVLu-?EZ%jJ_8I6_JrPVH=r$9biZj- zSWzrci?TM9HD1SvIENiEAc&=a`rX;xZTyBFqWRS*QwKz6I>O zydyt;plRJoD16cW9)c76s)*v39kS)Q8Nrd3*Tvt(a++X=2Hv({O)V0set7* zSn5zR!Ijlj28WOp0q320=*Wn(&aSR)HEAy%%c&*}t!fAJqTG%LW)-W$g@)dtvnX2Y zfCM_#4mF;a9;`!nP7l@_uS_sUjUXE#`XYhT#M`S( zHj3VfA>+G%J7p<4;B8l+4dbcDA;@ zeEoX5@l7OKFL@+Y428tHZ54+`9#fGDY%k#F>3F#%+Ye@~GWj(mj;8kZn<%7J3gTK6 zcaD#a7&S{!i#(>jIrn``d`_HtDeSnRz1){ss9ouOJuEh;=*rjMP@%wMHv*ni9dE*V zjZgrlzJC6EW^FB4$abQ_ns);j6`PDKi9x*pN?zKXHzhb+?s{-=u()NZ)3yOgXBfF~ zOJbpMZ(0NG3)tx9it$`^7K|!sYySp5@s;``P0aV#tZ*DF=yz3jlZO8@}?@7%k>Ga&^|c0 zf3QBTrlzK0@aom##zv?Z@<*;uJ85e16w-H=+5rD}J)Zwq0dF3P>yNcQQE3Yj3LcL!R6t%1 zG~qizTex=vb=f+fJo2klR8(OkeBNdyfPe^Kag#V|bVGG_?1*M!V`!L7l|IKt>8}Tj z4%8_;2{&kLZ0t_td)vecdkjnh*+Mbfy_>X1vWF*kBvy_+b*k(@q7+kdEdvzrgP?18 z<<+*)8b(e~EwX=~miBOEaJ45@tbx$xt{-btS{=S}N2#^EXeKR()gdM- zs&t@90Oov&Abc+`uOlqV!n(RT)?1Mes8gXS(pJAedSzs^@cVbBw4fsnF|N|hcHKT6 zdZ4PQYyC`XY5tY5x|$jqsB}H`^;ea|){qAMKJV=<_rpU{q^Hx?EBY(Y$y2f2%GItc z9zo8@2Ba1(e2}=yVYk!+mqosQJ>?Pzpn`J0Wmr^LEF)a(x_G(o#MVL=ai;+rN|pO* z*;ZxmP`(!Er{LN(kTEYiqMI!#X#;ffP7DkTekKV9EufOG!KRR3ZRqR6-gX4F>34@b z+Tub^T3ST6RU3aY?hC@L7-P+0MW@uE-@J)c-Vpr#o$LMz9u0kt2cbSeHA9QeS}y8d z!!jE7J}5g9Js5cdoob1RiQTyqHdgu??(uHr7rW)YhU@ZG;R6ZW=7Dd2Ha9nqj}wnG z@bjOvgb+)6#YRi>UtaB-ie)nlzdYGnep}+hI=i~6_2u~^Mkx>MYW{tl8W%jKz@Q*o zdwcVtJi;>Ei{=42DXB%!>}#~$Y=v(LrxW@votf{P|3j4$_RMI0ZjjpBg*(ai*HX+Ut=I92N&6oAs#2pT2)XAmC4yM=Ea z=lqY89=3T(SAjifQ4`x`Vq|P$R#Sj7lq}!;{rmpJ<+BKvC}k_FtwcUss|nRS4J_gJ z8&)%$n_=^QSQO@H;%f=XXw~;`OUfj3D8w!j2^{RWHelnU{nl@JoQ4dP$3Mt2CsK)8dZ)o*g{+5-<-b| z6%}P=Eq>8&#C*jjS5G5$p+X-8Qo5du!6D96Rz~JgnAf~tA_%-mY__yVZ*QPh7#~6H zLi#q8_l(LRj<6W|2#ZSc-eoEuIzFRF3zKHaQmUArkKAVFZ7Dcy%H_LT*Z=7|D8@h? zqVvEE!IlgZWvowSrKW=?dUQ|xaj|{p)ib2A#Kao$K$InLug|wff)Ok#D{ImB1Sv+s zXEQQ78laONkByDpBSkf=maU9zxDr7n6^?{u)ms2nu{Kh4tzD*SlvF{?pr^N&kk5vC z=Q{TsD7OTz*YC=W*`rfx0B40rtRW>-&zN$;a5WSWxsrxmmY$wYMYOTF=y1SDDyenuMDt3)AppqFT%wFce5M+6CYuGu3mbJ{yQ^PINlz{$i4x${p^o~=*S zjMvwvYL#2WzCuGGJy0#`c&Z{U?vtIJ4Twgxv-4Z-Ea;YBTj-YGm(`UOdIzt#dtl(I z9oAQ->n`qa2=nbyR5v$k~s^L&z$Bl_f1jcij4j?GYY!n-6nnvz0RZ=z+o0PNR zy0^gG8bEmX8QDXpH$REkcT*5Y*oP)Mew>D)|61 zvAwr95sB6q2YtbuQgnAA9I3Y(G6oK$KE0Q}QT^|h07%cw%)l*$5puLlO_9A-8N;nG zALlN5-5GwezY1EhLc|LR79p1XDvV1`_ejkpzLx=l+U8;n0sw5;NlEHVCK0l#oLRIyS`TRIpDAnX{Nci2n zygb&kqvK;P^D$f#ve7ip%Zo~z-`D{D?nhe`VEYTNtVcNh!-7BM*EHv5Q&%wt>cxgb%gn%Jg*@hO;$CQbaFF?4>&U&TZI;GzsFH4Dw ziyPtUD`a4h5~*-M<=)YYVb+^`&iH3$|V{KjO zupSTXzYON7%|SM^*l}|T5;*@duGd3N3t*@EpyIJe6B835c-USa=b@7nd2vs^podvb zPR^_l(2di$Cj|%^`b4M1SP6WZWEfcp8{Pf;5><~s)ssDNGx2vOxLqO{LUfaE3yQn( z-7T?r%l=OxV0!3;gf1YF7;y+3K<@}g@_mNyjm(eZ;{?mTPzMzI6j1Rr!-`-P4UZlS zuih)rW?vD}Oa(ZsHr1TfpC1JPgj=pFS5!Td_JVvuB04%FD^2U&B6mDR0_an*Z$UjgAOA>n*As*%AR; z2M0-hsaTQfA0OyApz@fs%JTH;YSjyMfeti^U)*fin5lnzf2>L^Uz6fyWo4!QMiJ2c zx8{+z4iNh(@#?v*kCh&=+-n}9I36s}A+{cZcGM?rq<4_ZK=E-3mIpo0pjF1`@gX+$ z!Q|QDTr)Z`aRO*Ug+yMZ2$!zwWklY-;YinzkeZlT#lSoIWK+FQ#ti;42*F5?En0U* z#6~6)QfJ;5TLi^NzJRVm6`_5bgfngpc@Vg!vt4AAN6=>^LpEDmHCghWIT zErL;&k_g0oWDC_CQj6gycw?9pYy}agbRePV8{8msA3pw_>+$_%=34W0pipLfv$9@Y zUYz$@%az+Vq$_;kS!j<$Nx-nSf}38d1Az3gdNBdAut|I+Gp|NTD0Ha1jbP#k?W$<^-N5VWH(GtUjnzjuU-B`X`gd; zc5G`Vo*`n#uF(gH9lXcpWHmvnPLV-#6Y~=V)Qz^{*l>)ytRfLEhxb*{nyz@=#)*@e z$L7Fba|hef-rf!+#Or#%7+L`i&_HqL;@lOSUQsU9%{FB$%*j3YYIw+(L-ZID1AHy$ zCi!W$6N8GVy-a@qk4MHm!^2W6?`HA!(?H0AOc*bIiM|8#zfHt0>eje$fy;7qJcO3A z94}K)S0_-K0{u?B2W@Tq(N4HlHDihzIU6<7o`E43NM*hw#uC~Eyt6n-FjRbS@P~~_ zbKGo4*Omw4knzo02aU+7?*5S~=Bki;HvkWSIxMm``kClF*K~9Cs)4lEQ7?2zcwENm zEt98DaZhf|-+29c6(j>>+qcedYWh6)xq?MNaCo$Bxa?sSq=O}Rb0JbuQISeA7?Vsi z1eX_lzZtukikT3cq%Z2|Bxz`$M%}nOP-bvxRE3!po$;9HOe`})gD zAM{N+q^72ViIQGHXlk{_G8I8Pt=ME~ek96t!&T^8GLA?Qk_=zufl0~AB0E%^sU&s`7P_!dTr7=G%i`Ipw^LPv#X`SaKM1_N& zmBgwJis_ZG(M+x&0(}BN0D;sn9M@mk-`{UGl8}DCaZM32EzEroy{veTP`tx^sJ)!kK|mVd zU{i$3f^JOixjtKPpZ7NGv2%{(f1u3e#p7bqmd1OGF>5dUb(dPBzVkA^el z2!w@&mpw{vfv9Upy#Dd#4WwB#GCVV`waoVxq$WvE1(r&tU?m_a0;x8)C9=>M5k{E5 zb)DYsRkE-rLLph(+e=)tocb0AYk`p8)cR|Wjv(%f^!4?vsi_fXxr!f5CP=ibKk!)z z_5jjkKC7AUpcf-RG)F{ZvO|-*gZPIiNzi5Q!IShU)Q- ztI`4bgG3UND2L4{K^RcPalA5!q-ZsKQCwX7ek1ZG){9;fkjhPv?${sla-xLTJ2JOiTiY(?{@^;Y+kO{i7hhrJPSSQA+b3JYTaN(kLLJ>1Oo@Hz9_ z8c35s$Li?d#o&YF536b!m@k#(^kkpGg{Mhde~8(^i_m6krXJj>VUNTsb93_=C^JYs zahWvtHYTefj*HymA-b!gpr8~24J^`R*R+pD$PR{Be&MqIo7IROSPXFEgN!eG;q<8f6ZH$^b0VDd5`cpzDhaTc4&g>Y|1zL~_C(AOMi!d_80a z&vg6tZC^Az<&31RfKFUOLORHq!P*p?jk3!J^p*g#rE=8w(o#>t1mtW0W@uI9a*&T> zyQTw0Bt3L?IamuAl?Is#0VCx^uD`UPvLM;@yG}r`_OL}5pF@baMC;!9_)xuA>Pfxp z2suqea)xUs`VItneB{Mzfc5TfZacp_cnn)Gs73dz0SrLK28&AX?Cgj-bVpF3^t~-B zJ4ku-_KU*mU@q;Xr8KgUkx|R~U~4zeOL19?)(*uOu^dsAG0sPf{z6-AJgw+Hx6?D;c!~_CRC&c&r;_7P9Z~rntrk09(P^66| zb@1%)K}Sc|@ct$a%|p)%H>msJLOp_V?)RJ~tyC|NrKF^qP%$3z^YcSg2v7!fQc_yV z73$eJcK_t;PB0HKx0#3wX40^a^AzkNv{t~GA2~8IvVJ9~uT9W=pl7}ZWvgUS67O$L z*Fod7;k0=k^(OFGQoC=nATVfZ0FBSr>^waD}0k`i%D2y%OY*NX}R!6UO)0*5Hjk#EAzN~N&Q|Csy`VYBV(S`Y(oQ1Axt(4 z3Jb~a-sLrH35F2FAYLm?JOI??b9~@1lNbIk*zUZO(2Q)bzP8&@%2UK#ysf0dhN!&R$?New4&I@pydi7 z)5uY|b|2;I9Q1je>!Ae_r=6-Tn@e(_e>FCgHyYI@0E{^HmrWoF zMsy(%+&Mh#hNXr05zCf{4Dx$UY1kkVe9oMMy_yGCsShfI+N>&|7qZ2O`%4c4?4 z&V-IzGml6tMkrM2wvM)cAp+6aGQ-x}pbkwU<*$oVi+b`@o{mps94n+`}zi8FTWv%dkVyC20rkw7sHW2v%zR9oklUyKLrsye`{gH zKj(T!i6O1A1OXgkWM}u<+&siH!T`^tMN?k7=dGa#HV~%s#Tg%sW^{CP168muF*ZC2 zS>+R_Bft53g@#8>dFdc^rYF^K{E{G5n)AhdVDNF}_-LEzQxHs&P5VD7_}wP$`+2vk ztE*1Vi*hKNY&KxrB<5+pCL|tTN0?~kW8Y-6m(75F#JoTwU}jVfiMz+jih1qoiRZOz zZy^Qnh(UshEIx}aqeBR_bD#ek(F?IUM(rtq7j5An5#T{bdwRaWj3)MM)`{2ch}DH( z#`6+Aw!`3ss4*DUcUDDH5YvT6ha^K!4I-45KcE}XE_!224LnO;)}_$%<{TN z1uB&Ml){JxnzrRV*hqB4b=ZX77e(lu;UGO{L>j}X9tPsdu@X^~mYa{`Uo(fYYi8c^ zqlm9_-o3HE2_Y>E=XvLR#-(pQrNgZG0b^{5Je6B*o*=eLi;5myX&|uyTL$dgI-#+T zE{cYGo4?)t`dwn;pzJpAMs?LJ=}}Qp;UPYY8G=q*SNcts9q5c{_;D~$U{KOn@eX%s zc2=oSSCGWfIHgB9Q#n9KeN9$ojM~b_?RY2Cke=f5{{8!47Hd4tHTCqSCnwM07N9fg zuR;#tPC}+!7mQnvnyv(?u`db}DxFnN$|I=kXqSt(P`9YrsLpc`_2%F{*gvB+hA^6D zb*TcVoo$c)A`%HY7cuL9p5_}nUZ5jDPM!=Z1EwW(Ynz*TsiMe5a;N%t#bFh2pg|_@ z+_YTij9cPo<*QH1J|Wfb{xC;K;E&vf(vW8eBm>JJX4>kZ0SWrx<~`&a$jCC=$K#q&t=&6G>bI6mDfgwHPe|l629pT5Ko27d{w=v5$_Wdc)BuV3>kCL?=j^92{o}K|0BBf_4Poyn9LKB$pPihX5^)?W3E%)1BE5YOK1RI7}Xo5ybW}WZ8*HF#ouL? zrXQ_hhV}H%9!ZUGadYEWr*%Gs+)8{L91Acq`K<1m&46E#nv;Rqm{w@E@;zl=h@GyE zT(hnq74~?zE~<(qo)o^(+INeHQ^d~cXe)K)K#b$nPdCtoz@MN~87<5S{jR_v82qPLTKo*Y|aK!pV^4dAvzAAe?IZ)#w8i6uVbTV|_wDBy7MK+r!uf6x`*0^w&QJ zymlz=FeeL62Q)od4GTw-i=w~Zj8YDbB*EKcRiS_4MS(An3R(14zb`rgB^C`ewe&Vx zz~Sa}_eX(4ums?W?*1_oL_tAOS682nRFr=Y+JpX~mhzhH;P$v>9R>C+vWL8g6>ORs z0rgTM4C23mTE%8~8(ij9lwpV&i((9R!UE8YVtIQCAOHe2i*X$|=l#a3^1avZ<*z@@ zkn!Th0FFYWU?9zs`R!%bss{YxT%caTltG$S10#R&Kv$AJ3>~;py}(Ir{gtjHDbmFMJ`sxhRwhg{4t%y#I0n=A+S! z&(dUXfEt%jZe?Ei^^3~wSy)^KZeubf7ypcim@Ps`-}{`E<+wJ&#`tIx5lcaia(0`B zUinPz>DJb)*jhL!w$qJ1k_-{?MyPEMf~${g9{~le^~?dlg1=r&mwl@RGWoFZyCWPDMXD7-PvGNaO%2yVW!= zKG*`w`ZJzOZer}g>qw33PtRzP)9M=K3Fw|c@6k@oBR8(Y+?Ms36lHKw5X_f$VZe*P zTJ1UyQXI!ULW;NG3;b(_8KK4k#~63$r#W5`!DC30&=Dw z^_dTRjxfG&bmQ^k$9DJHw&8C^!4`um;yIAl#}(O%nj?*o7R?~IikD4?*;F7(3bp{o zbDWYX5M5AmKG)TSNfz}O5bwgzkHj6&Vl2I=cS%V@_E_y#o?<+7aBu)8Zf$M-D1()a z?a_r;pM-Fz=Y7(v0Ezx&&LF1Y1el|ZjVN~&9EeiR#@(P`+{dkW)lFtr3@2e8dYm~m z`D20gYy4#PksdwcJ5b1cXBcIQ2JWAS1q=~KBs)4gG5)XKzWkBOy=(svwNcn+B5XsExq&Fe#x_+pC1h?; zREiK~$~x{te&r!}C7Rdy2j9dwtfr)^%NL zeV7PLh#r6UQN6#sFB{Y5&E4|MujkTsfkkDnu{-Rqkkpy8>bUc5z5<@=3p^L2RCc{d zin1C9^e%a}>WaYD6Yw;qM>_q2eFMuos9zzI{RqEvM^Zpw(>`6~yS~9eRKoY*aGZ2% zTHd{RlZ*ONUxq)X1258Q)`pjUOKX;_;(|r?qxzVg01N|8Xbck5zEB3E8W57feZQIE z3?y9qD>N=_JGd^6qkE-DNs$vKetk@ESZkl2lOwad3ylR~f77xx7JO=PS#(F@N}~~> zgQGhZifL@djlGlGJy(94C}cI%lI~dmd=D_V7sA#E-+8Bv#}6q& zRgl^pFK#@0e;33Oxq0`vhtT1bl$7}8t;+CF%lj&833~VBK zo3b(dPa9N{#H%1~97!aSZb0#8*xPEAW+I(ePXJZ`!Z~s4ZI-t#=tNTpPMCd;tBNqo zl$Dj0d=z*m()g{^z3u8|YtAhN=+$HG_Z(&C$7XX%=lsR(3BNW1YTVXkb$|?&V}>N4oh1s1jyWos*pn7$>8x9f;Pk zc}Z#2_y7P}y}nS$n9rLyVN}w8L4%-$;Lk_SyT#{{mY*B3ZapQ}wPqS`;VWEh5GqNN zygeVNaG4p=lBePWmIbAy&ECN3oX})FY^#<+&!@&Feh1zd7#{9~qpf)Jyed>54}^n< z$1t)iItRthhifdAhjVDOc`S*~LN)E-5Kdd6<>=?a48&?V`;*bi{5KIT<=BXeTZ)P3bPXIj0uLk+rh=1+_}B zNt(aVy=?Rwgs}Iyb5Dly2Y`o!Rh+8P;?yWfr#SoWLILyk-YR>QzNpOw7^aZaR#D4Piz0Kq?JU6hM={q>=jgTjZ9^IM20-w8%vzQSgb`Q*(jWzZ{jz*Z@;=0GT6fi`~SaBHI#PAtcGWukM7d&PV{;Shf9&Uc?3g+nPGAA0CSi%$ z<2PgfrLNiZ-K8~L@L@*WsjsWcgUNyM>zW?>3*tD-3~o11^1t0DV|vwzV6rNq|Dz+b z$f<@2e4S~HQsQBjo6@;S@S#+@QzSkBtzIj%FQ1+RQVzc&2uzRLUC$uf!>`~O`R+Ivk&R%4By?jOrPwcAym)(8K*Uqpd~p8_a_%qOxleZjx_wbuiD$3_PHAQ3LNFCkb|(zK7nv;hnL!KF(W%10zY1S1 zL`5(U#5+XO=HikSWstnq_*~-h^vRCLKM~LARU+%xr){?W@b+y!%-aJmQ%!#2psMaO zo;6%A1hcyB)bwxbttM`)E~oG$$B9WS=)oY=C~4`cLT9;?uWdhh?aGxBKv?hA^g>vu ze++$o(Ef1XA%qze9`K6syLg*sKIQFgzf3ZNVx`Oe!h0||A>kvGN||dbo`>&9q904Q zfwMz(Bmq537i5Y-Z8Lh({MruiP0r;qH`eFbE<@KAJw?B8;t9ok8QoiYQO)butKRNS zWd^5?dOCifT-|Jcwu4QT)2mQ4SK0Pa=I2p+@D4Lm@SZr;deQmjnq^Q9BuVeZ!F-4G z4tS>e*8SUy=alJNdvSPfqVl2T1bUV2TFj$WzM6)u3;D-yVdkXsiOYc(FlPZB#K+fH zaP-yY<1~Z%#|{n-ZhZ6r^bx95lgA6>_xMi;!a zyzr;gGTJ_K9uyl&b)kJlg!$F z;boi~bjf$tzf#qJ+7G;CJUZwT^gaj*ti!WY_HYb=DTRR)jV@sDld_zn`#`BAF&FFO zH*Xs`+fXX9)h(DC$?tr_dr_#j%(e2#ebHo<$=Ww>hK7b*TADt6x{k?{qka&iYVKTq zJC9@8`0D+Q9hQV~9UdP9xu{Oy3skUO0W;LLh{1;`DJh~6@tnMeMjCD3g4fcC_dFa%3KDV&7hp?E5)l%LvUiPedQ%EJ zjmJZPFj(G%-+rvGCq;92i0!}-%?P?MWLe${vvW>*p~h{f*kr*XFN(agr@$PstZB&S9i=~MP`V(oC2}Ps#;oFb+xtmf!@D9h)J_~9Dquc2`S#Gmr$QP zDxgQ?R*tvh5aQJ-J(?PO<{1SUMQoBchyMKh@=&lhLx4?Pob^ACPBtheKEv_l<0i-A}?fz*h)oggl@ z(~tW)y?k~>>r5|;OE(ff$Rlnqp!|q7ptt&UZek9uYXyj*l#!9H3e4Jm0v>=P^FCVo z=xAeLeH66I;=u3@=W0{=)VtBps*G2!&4!!?7Ezyws6#0721CC>X(gmk#_9VGG-lZp z6x`Rc;C#a=)6&8$QqVs?{|c%P0>Lw|pQ>nSj-{Id0s^#W1XDWpJ>=4**8l`~uAcz_ zft`;Q=QSm^U_w`9%AH^klM;G<0hk~%1a3`6@kRAO8hDa?IT($uQN2D(P0)x*@`4{Kw+ z?(*_7`nS5=hO3I}8R9;s(p@-+*_8(@Y$MhRQ#x;mE=X?AN=V>R>&8b^aRo=m{#2x2 zk??by$-;NoijxOYS<&V(OG+X#NPm6Os-?BE88}f!p@K@*Y1|F!jgf>QsSrv?xzj6V zN!C+eN(OsgN9wUqm$f{<2UCxw5^B#!9ZZ|S_poO5>a5?oQFYoKaCDg|6kk9kqU-z! zeavH6ZFb4|b9=kcldtGM@NzcT3mpwX;NIK+KtMK>UUfIsbHhdWYP0BY9jV-Xgw>$f zjo#>v=Cy4vtli<&_E7(xbqBt#f*9A-)C7K5FxelkzSt8?X>#E5 z`lovkLFDA3Ih8i~eVPCGSoi5=`y7sf?&~wyY%nYmw3coGG3o!AGKO#CzavjJ5)vyP zF_tlWgP6PWq5hhC=9s?x7$u=to?q4$ef5C;ix)47I%PkDOo#I=>WzzX?Gz#Ty0n>2 zZNvlO=Hr{fkt2p}D6wqiv9a$^48gU!w&~5M#aWE^&%l!iad`G_Q*Qh;#>`t`4b*XsI`mi^K^}-HH zVA&EuC}b01DxIZ)^@(%BGK(;YvA31g-44=~ zsr|{Zz0g$=brNkLWyW!?UD9$nJwy(-Li8u4#R4MuB2;k*o|cwAI`HTkhTlH1tAD3P zN}YYKvk7(vh_;OPB9l;hPj!|du$?3MPNfG|dILw{7(2kwht^w|X|U}TDcu4*@Dao$1P1;X(Z4W!frdC`bW$fPD+@qFgiH>x_z$<1>iAF5+(ZJyBu&Z_wiulf z0vD1shjVxC+&OYwE6DW|E%zE5_cgS@SP-vjoL*;2ju2h@0AeAPM$aD2BHm_jSO!}} zJNU7P@bC`8>3h@=NBi{h;v6PTQQ8!2BcHcICc}(F6w|@sW;G@?&8!i^|JwzTHEh=m z2t(v9p32@0>vnU^*^lFc-^O5-rZJ1G=owmheFc5zAhS7!S!DY+pw?7Byi_V3=63^XzH$8A+Y2bz=fU{raKg~|Y)W97~9}VOJJ3GSYXvWULw@IRF zaSc-S?lv$ogdIBT )YS_p_IJv`uISy=c}Wx6DApuRNyvXp)ca12^+K!jTUexNlbj|jKKM@(;tbE+#)*?0O33(f3pD3iCkmk5c!X`#UK z05|}`3OqkQ&k2d~?r~U?2&>(X7ch(pd8_g{k6zxl2`!_^o;|QAob~inIa=&zS8!+t zKrphPbLe{bkU2S@7okqLq-97lx`bh_Z2`LqE>nW_OAgPe3!9+cg)62eCN>g=t@~ox z)nLOuUfZ@=Tic=e*j+AB4VA51OYr%T$qiVjPI@q@z*hZ}B#f#-)GRjfaywhw!1*b* zrl*)w(wNuu9tb{u7!Qstm6-Ul;#pA`rrb`TL#@~Ce!pvKY6@I-?t=%L4>)Hqk1!7N zd>ue6!9GFH(QT;l{Kv(}AhWLUd0Cmn#DtXY{5cio`yU${xj%Vt+42N5r#xLboj9a$ zHo&u+y?jF)7+6}eMq6B5JkBttMa!CP))qeR4qybh+CE`ycy+u1d(B~cM@Jo)KAQzk z<%K(+1E3d*S0S-Im97`n37YtcSg)V$gNzu1WUU(Jv2Qg+4cx`Eqo$MVFwV9?UIm&%KWI?d%D- zRPx{CDku!2eqNP*QZ`$DZ?|}n4NA=Q2fBSZVzsjq2p1f1+l9rM|xYfciyXW}$@LS+tIBV>N zW7PWa8L)lPWMTgoRB3cgUsO_~!jHt@;Gk?oWN=Co15w7T(;aT53IQ|2u{;2wumJ~HNX3eCF@tD3WEW|v;7VEw54ET zR2nqk?gwDWy)sQt(h5W>XP^4O?8r z=^y`NagUKe;Ny_8Rfi6Zxs9wmOZzU_9cTsJZjKf0**aEOC2^ry&H|w8`j%syt8XDs zFPBORMWO|hGI18(c;jk0jx>4`mzdAsr9^$fcM;-HLg2!Px^d9l0h z*E;~S06)LJ_t$5Egn-|b_TRtKzU^o(z8T78ACx#o^z{KnRoC5LYoS`AgdvIHw;srL z*oj_nSwEFI=~S&!;(((H^Kv>WAsRJV)H?L@Q3(k~jx(5!GV4V81}+n?;TYVr0P<-5 z`>RzoQgIK#!okqgh89$X^AYTha%1Rans+s!t$l_N*$Lgf{OF7L`1snR$)i%LFMo`T z#CJ^~G#O7QnB`J==px8pQP5C~w~ZupQ~RPnv|(C^#(YuF!$*(EsoYXXni7K*U%zkC z4->Ibl7CuZj5ZoSzRZoSM%ed>yd(qCsa|;VD$rfAb;w?H0Nd5(18{ ztWP|3kU>gUf+hmqzkVH%!7w@%BEN7-uE?eSE2!+?R8#wh^wB-Jw{jsoGMZnGo((87 zP}RuYrz8CZFWU9_ty>!~ZU!6=mshO)L(LdL<(B}|W}Qv$kP8;k+zGiAOS@C6fyp&@ z>_BHD=*3eri#IMoIt4I?UsIfo+VN+dipWP?Ck6Y zP(f&=0I%wpbP(sT@nkK$F%w&}0^gXbrS&d%)3bX=0P}ueO#@c=!d$2U%}8DS8Mv@- z<>xroQNOR>c7ji~lwlo13qi}kQ}IolS3sbDXej1i%rRUdEx?%U@d`g~GyT^%{dT@1 zdJC;P@I5^h(_7WQ(e3V7zgaEZKPRXUR1&6aUUvZ;(AQ2pytI&`XJBR!3|??h(G~mzL=gF85xOxrKPG$=0K~l z4ZBd7S=mK*`CG+o+{VseFs>@u`xE-VAt zLkeoQDCebVNV7Q&dg%!~U=%^j`N*236Vt44sR6&#$Tld3FRU0pI|s?8oqsQU)=xcb z42E9sflDOJ^a^*n${)rQycaST2fSkUdI=TSSgYHv2P4h&>Abs{K7mpKFU`YCG<|!U4Zc z4EI-V=b=MFS5dojX%FUl)8acG5nDrGI7A90m`Rc$EpVW)>Ef~Y(X~usY{xOV+U^5{ zD{!kzjTjg2wfS!7PN-*C1rYHWfr>bzaJu}WZo%=E8YGy|E#wLAh=YB|C)t1n7|Sb$ z_W&Hf{&LE^j0AYi5~QM<$LKYnWMFBw?oM_N4*kN=t0w9zczV9*b>Xo)=jjP5Rq^aj z9|M+G=s6+%h@adFL{(gzG`i+SOv^%qrj{1mA#E)!RtI}WM#Mx!XqGY%=15yZnt~1dtx<0eJLy= zf)m~7&B*LB7axDX|HQ}+P=qD;(EmC@%pB-pKM1CFV0xGJ2{}Qe0$_JEV%@ps>pdQ# zNTT6y`uOn=a$J2VQnlWun(e7B#LOxnvK?HZ6U6$OGoEaMd9L!!rS8^?%sy7bCFyaP z6vH_7wZN4nU+S*mMDPV@Z9#1A9^PzUzBMo`?z+z#nc9UE@Ue411gsnaqH2dpN9%#M zG`;%cxLe^Fi{+D}_=He}iE@RxFG8N?;wl6P{nCDA8V@rbWbrUWI(IOyyef;u8XUJELP_7?&g4e_>YhLS)qTJ!pepi5Xj$&+_iWLIoo{<)%b59;9_Oi!4ckOASbo z*#RkhqTcAwUiGopUE^K=rB67^-=<@|Ku*q2bn`MxpSLH4lJ~L7F?F?q@IlLe9`Z;} zkBJJ%EI)bmO){V@7-zKR@A z#UgK@#Yb>N56l5Ua(BaD6HJQo)>0s{*AY&`YMu8u|Ej$Z<{3*XjipCI+yhx@&ye_r zF~xww&7Xg4>zmqIwzQ{5g!}vZ!5qNLgf@lyDq*yTOO0L?Qj`g@_R{KgdwQX94s1DU6L5&jfajU8cb2ir?HiioBDQ#d zEyd4vQQigoM2If_X^M6c!JB=KQ!^sSV|z6|gfIH`HwecWB77KsV*<^~XRR%vixM%U zdmSnoe9d4aUt*UIu`p^-D>>r5^o=8>*s=sLF!Q^O>ve*srqmm!!N5XAPcN_6iI!+? z@cM}9=W!B~o<`G#^;Sa(|7;-enk{0_(*CYgb~V1S6d|W`MP}c_-~+ZSIo|_2lb#4E zeKTFTl85eu<{keKRQ=Hy``mfYM#=TtJle`tQ!Bg&F#*LLX4`X6>%!k6@4czA^LBB;LGl=s=`TgbCRmg0Cz`TY=LgW)9t&~B zlCMRS460-QpFgKvTzW@GZ()881gRM&E1T1{!wnBp+bOKU8JnJlGm7kwBWdm0X;5dM zO-n+qLWmGslp-&3-GSwQ9Bn(HXX0pq)`@Utv)C}l)nQ%E#-`-(B5Kw9k01A%n*Ihx zb~8P6NHkZ57E)gZ+8-NiFq+@+m^%W>dp7N)9EI$nZKi&f5Ih}1smFY3P2elvn>ux-V%%st2@pfGhjJm6e*Z3gL0cC`a zklB+mR7j}QXHcRdA|k*zyhKkUEh|f5brG!9jg=$}g4ZYD(>^Y)AZvl5BnMk7#7d+^ z^lF!nR@n~yhfqt0Gn%^; z&m4w-bw=-F!m_wBtTn36hQA0E7DBR<*2Fy5zb=Qxn23EPckbZ`LJckgY-l>=;*y-4 zOu6y!(x_RvH4oLmU>j^SNE{@6q;pWJ&FI+1L>}qC7-%n+>do|Qy-Ri8R0$b5Ha3o4ASB5W>;ej~1Uok@;t>$+?C3)@ABcW%r_=ATRSIy6^cdZfv$HeW#F&=C(>M%y zj~>MrbbkBhFf6j=Fr;3jom*RuU5<}m7jbYuJ5nS^8d&zDcg@dI9g!<~hS^)KTXzF}q21iv*+2+GGjJ>nBQ~P$FD{QW%>HJ%BL~@i{IV zfvzdEqK#X(4x#SAjd*1=Z5zN1uv9CgY7|$<`?h%u4w!^#3SEnlH}I~sG5UUZ7814d zuqx2#T`ReLXwiwBA%Ki8JXwJ4b~voiypd@*^Ig#C0DUW3-D?C71P|fGD30_%4NXn< zZg*llnQaigjhn(#x$XD(ZpTYj?~YVFhX#SVt4I1dD0Tqq-)J&GH6Y!A=1bOoKvhB8 z20z(_rFjV2PZ{>xlYZ=P`_6mBcp^R+@l*R^ClCOJI~Z{SuSmQdXe+<}6|5*R+Xo60 zuam+B=qR}&sqb_cQbv-eqfj*Z9?jKl;O&T^(^dDu%{W?SdW)Boqdp)PAkB(-B_kI; zuc+XV+m|$7c|DQ2wqU$2lRuo^vu)-L3fyHd!EyqFJvj96LtA8P-_wK#71mA?rpOmu zF++4&Y%gY>h25|Lgb{t_pf)nQSuv{K-Bfu=$sQDClpFpEhv~uJzXPyP6|FjGWCl5p zW*!3A!N0+48*++OuF&@dZ#kh+Nf~ zhd7X+W8pvK-BZqpJJ39*jMX4_n3Pq@vg{e}KXZGkavB&IU_a3QX5Wte@~N;xkPP8m z!(<<8`RT2b2tG!7*r6zKVrmc0Pk^5x93W?FP#+6;ok^_NfdP%1B;eBa_w}JehpvH} zK_)dATD4y_7aPEYCb?hK-pXe$L$8$5x#k&s@b+b%&WJ~q6l$13Hk=kDo=amAuEX~< zgp!!CP%+Yxx1v2xo}OI~cu?E}LwCMO2vYHLyac=onb}kZ#FSQ)Q{%HVT0Q2~Kp`x2 z*)*Y$ptM^;u?8f1Ty6d;YB?m1BB6#?Aho!(1gG8$w0f|`qUYF7;}Obfyoec4WWl|J zv?p*!ai9prKt;sH#^$`ApZD+9_pPl@!6%bK!7!%4nFKI40gQrH{X4q&1s5&KMyzYZ zMo;Gl#XrM$(i)tYed31!cpV|WXjC2HH+to@{I5eiL8#@)e7n1^oX z!rWGP8>puWn8)N<=jY}CGB^egoSoyU=!As=QeQf7Ckh$lqs;j3oAnwxsZjmosNm8k(>)MNeO!ATlI2 zxtt%`t-_cg@W%E-z=#;!!tfNt)?$!mi$Exz9u=tYPG*c;zKVA7h<=IHwKX*o*IYgA zU-*r~{R0g++9O0E>Nqw?0Cq)iipe+qT4A@&v!)s zcwKt}?+xgyqs;NX+g*RVDo;ua&0$2W7o*ymakVW7U|HO_FnBcT*E zwBgmyVBLl@n_=tUzkksmv_Y3efJaUD9!MvHodE3&1czoAt1c|EIg61!F$(;eXRGDV z+}_~r_|#x7H*-*Ri;9Z=DzUoQ6048~4XbfS1ItT7H+@a8e2K(F7SPCrpa1g1bOX10 zvHPMkAz~n{0ofAlhgsa2Og0^m>y03I!jGxM*hwe#9~md5V~f!1ub)1B`tact=3wDS zt5%o+K9-f0MGZ(FG?``MiD{W!K^dJzwnd5ha9zC+MG;RIGg~27uO7fTsKQR%Ki_X10iAf(Ft4$%uHf>_9@f5PY!gze3pP316s0=?KmKL!1xasXSP z?1q_x)^gqhUc($1Fdtc%GBW)x=sI%_VZEfW;jHQM7OAt}mSh7Dhr&ZH{;*bW0^W|> z6%_%|JTgd6upN8?f8)F-G}rmfG|W?S+LG(+d(k|ozGHldzR30dICO-Wk2v?Fs(ol- zAiqT8X>5Az$3j&pKR+qE8YZPYJaM4>uV22vilM2Y!NS4>$nTlJ<++ z8?&;rjYX~qwLSeolzpZqiqoa2U_RLSzCk8)&5}8^Ve`HmT@RDD+f>xl9wVKi)Tycy z+Z7e)TDHedoVY*FD#?mpGlMLI(#>1kvQ{rIBLoHC% zRBzU972^Qi86zw?ABsdb1v4BWUx03b-4C@M1?0y`e2OMZ*gCT8(QcuRc3~;WYDH}G z`UEI|rA$Ku0|z16_XMtkWAyuFML&4Tq8%jf&@RsGeA>%{ql-CUkNxuCAA8 zQ}*mN9+okWcv)7jM*FWRE8CBvc0U{^5WRUja&r=gjK2=kaK^x{FfVz}8s~^ktU(YB zhS~;JomjgIjS`avGiJq`Wq5X9jSo(LPSCSk&PwV_m=QCAv=I6Wt`6Ts7xHr0!Zuyh zLrXe6k$DzC9OB{`_jeMQQ}dDhfant}Buj-}x|Bp}N?7>&*8^T^FMq5aLNB9WU(RPE ziJemTZEmuLoft}yU=@(JA{9IMHQemWw8yg*EGT8X3ctyF=@go?#;g)SchjwsNH1p7 z(X!ibq@`IScWFVb=S!bCugG)q=0EG*K?{TLHB=AHWxIXE#qvPGA)96{UhI7!%ynrB zHk1+yknFc_-!M}19C9c9JF@AmD_5+DWrOdec_PCSMuH-wf`IU`(E@!suhQS@WSm1O z*6kQX*;Ph}I{k%0hsZ2qqN0sT3cG1Mw_be#AOGjnd1XbQ56n3nN7vM3v=^&S@I=!q zq=ew3DBCTMQCe<~QUG@edC7<1$oY%eq#BVRo7&NOphcT6YQu_g?C_{^sf}SIV>#a< zbOR_#P#BBKN{@)zJ_B0B;trA*7b-lO0FwGfh93H+d(h!Q5_Z3NV_2q}hYv9zsk&qL zCLlFxgFVd3?c0`BdIIU7^NFl<1?`la3N0jV zx4NdLZ8=xz!s6T$&)8BBkQhAP$r5>MNaQBi70M4#O2*?iTCl+o4cHo1){c%2IQ_7) z@(5g8q)~<-2}v9kg=(F`O38fw{Jfjn0BY;_Y3S#wUP>^hsGNM$KRGs**tz5g0pS^{ z#ncSxJaY0EnCUsUdZnt7cWA)|~nWEe3qRFA*W0z*4e5SECovNQR6bp#2h z-k4GOj|}_kA!GnTG$TgpJM2Nw6$8(qYdTc!ZT$B>F=Zii%C5w% zXK+wX^hk2Ry<+xxZc!J|{&>8TiS%3B)|`-2mgYZMYrqexef$iM(}8IgAa8O#{nod0GbRQ7n;}T_s;-P zu{4Bec`y8J1dk7d4DyFla)`}W&yc-lG*ZUR31A7mfZOro&#^BLr^$F+3bTx^CjbQe z;%kC;@#d54?xU4!ZEeMisr#mZeMufh#hc%Yu3o(wT{`~;+Q5$=Dawx83Uan3_u9|p z|A1V8nP2XLl}*48fNI<)RoNv(TvBWf9uyK0p>*FpO|GC*#<8FY6LP_-Y;&hEw=-}T zgO8scA2Br>Xo|iomFT^E32$)Qsm{OPhz6P(by+yp($Gg>heaQ_@|@HaP@em$JioQ0 z!7Iu+(fUxXGxHZPhfpL|3Ji=xgnF9NI@t~FI{b0?={_)TajM5b6A9#F&H*NIF9oA( zRh~V1IB6I_keSWg{|YA;7am}z2-+IAdMuQIFTWD(70wK5*u7KLn-%fG>0PQD)B{-KiPG=VQAX>mcY0_e&xs;-_(sf0< z?Nd!cm(cjf9KYS3x?F@W^bmYDXoG>IrX#Lf4g7WM;MrXJzaT0PhT}NNLU3oi6la;B{t^?;nRAJCFYizfNDB zvDoK@UDoa06Sx!BZvEgLD9-ig(f3v-BX7AX#V$r(R)9Jyb{j!2hiMQjBmeqz-70xX zrl%6Num48Q;?GYLY=PCT%sQhlQ*j_a2s#vtO$qapNfcJshy1IpC0RLzRKDY&(Bp!I z2y^D;=SJb|{Gzx%gN4kU!d*kE4WfSsFH`K5TbUEp=X5qS=uBn~UZ(>H7?jGCDKFom z%CM<@C2ma+dbh*)T!=D$$pe#*?zqUin8T_L#>_Jp*q$A%E70&6KIowa7dH4AVr>CM zG1?l-V@7;Ua~?d1B@+b0z<%J{a4Cy23-X&N;FcJB*(PP92{Lxc?L=b6Y%|UQL+}L7 ztDXumss}uRv_WiIayfcb0JqR#ojK^l&U0&*rU}E%yvt*yLCYkS_8Tw=;(%#uYY!A+ z`4a%|rS0tE>5{C7X<}!;^aZ&;!^5H?A~7W!v#Ws%Try$E%MW5nKk$Xm&BY}&QSv`A zRQ%Q$^Lz4ycvyHi5a-^r33dCTXfc7vCLrqo>(!5Av@UVLz?!O)+9%~yVFhRch_fTYZmOxC8@LfOC(t*l4;_FBQ<BM$J~^fsbMu?!nr~SMugL`KqiGSy?2>nZ49v_ z_(q&0F-|O^eL;hVM;uB0LuFT`*|#E>G8p+#plu9LxV(W&8JlkW8fJCf&$!@6KSt|7U*yBEJ(RIOTBUI4|3E5%@}owD~;$ky#KRKbl3r#cfmFFhrE|8o;Z zFpcrJByTpK?gW$#9G1Wrl^+{*Zh0pRN>Dst-_61`GcQpHT}&eK)A~jeeet1CAF&St zBVT5zAhge6(-F>&^PaQBV!>(`r$#KD$ zyhbOD+CFdvPUNC9KMcJa2Zj@w&s4jf*gW`WTjR+)9K0V&g8+@t!x9AbTI}uCI{j^D zw!_<>Izd4}C8TlE``so7vHiMN?~5b%e=-qlgBWfqUPECJHYc=b@X{SGd~B6djZaZ{ z=sEqYD&;2j)!dMoysi7U!R##N=>GKeN$;FFiQ##Wh4_dyhaZEJMZFNh8=Nt0*toQ~ zSW~d|u2p0zmd&Zy8Af71k&Ba)M3a^h`FMo1lmx{9TO`4HJp}^@P)Ka`>>%Vt;*9nF zP^gmX{4T4Yu(nIRSswvC-V1VYpbf7L>wAUbKM zvNdxQuJpC>$sr8@_VnS3fX)1)2rVMj|4d^;p)*0ucJ|ctD_C7;R`1~JssERfDK~HC;Y%* zTCp2>Dp|&~2A68695cAJ$s(%;V{_Q&)95ul@^uzkC2Wcqh2PCpP_AZS3kOkC0dzFd zX~LIP(gI&4DCnsn+!%e@Wc)F8?E@i?us(3pWn4_({zgIIMg1v8PtZphk{CQ(G?q0~`s8x+x+}P#r8?{wm%_xeVk178aP#mgW zwZ+8UB(M^&tDmn+fUW3E10kD+Elj%_I>3&ttgPJ7L>39-n1z?W=rGbFF|guM2xVs! z92X*&kqjp$b~G?`c_Y1j(!Q-5b053Ig@pW|DfAd`jA?nW#^L3K9q2&8j>Ounf7^-i zt8hX118W@Qr>+uE)xLZRSW|j_WTuKS%wdjQ@~Kni>e2YHmAew&=h`VUAqwIeq7@L^T z&0k@Ul@kodXx2WPyRBI#61Fvn2=lIrSnIp<09F-{anLWKM>~h#hQ`0_?9Uka4*>B` zF_qbFAAYQc9BqocIZZ1;GJLS%&UKm3#xg$q)aJ3@hSh{iW3%-hjT8*Qh~?LJbPyN+ z;Ct6qA?fI|o6%_134{_kS5Weyln}oYBe_!%$_R^R*hKdoq)-6(iFWuROJ?yo{w9C| zKl}C~>msJlu*Vj#h?I&2BxjI;!Pg-*T^X|RfjJV!iwF0P+&>Oe3FvTrzg=hhqF_uw zcQCf^2Qf~B^{`b=Cr+GjaRDk2G}N6paLO}yCcI(8OI(Oy=2W8;85PJ@<;H?LD~Pq7 z&3j=P9JBS)3_vapyPmC~q4C`j6VjdhU|$79M7|((gM*V$#Z(bni(sU!5)oAvpbQeqFJ1n#zKPWe(sfr zHQed(e7N2t--_}Dswmr_4=Np|a&0R8OH)(#gY>FVx;ns>ehhomarYI*UtuvM7=sE5 zWnN}6i$Gmpu>ut5q@EkiMh7GV{Cr~S%}V-Em29@IbTon})_$04GxqMHtS8PiYW8I# z4kb5Ek9I8poP(#-V;99t3m%-b2oqt%1ql87*Ka?2OLMa=+UofD_o%*D_r6cY z8e*k?Wf{iGG_kG2%mEmTSi=m|s(zwn01*(iFJ>iMH(Jjhn-2zBAAN-#F3c_VMho0o z_y;p!9gi^x^*ORH#={CxZ7{^UXobs-%!%D*^wJaiJs#t7B!i*B8St-e!$hxfjMzzB zfn|!&_;TJAu4j4$b)bWE$sJ^NbFQv}SwP*o==+v=mtiHmc~i_`Wg9jf*hj#YXz8bV zs#C+@8ebW-3t)E)p~TwSM_4^Lpoonx!uI)At@kWm;}VIQn!}ibty-G-3Y53e{F*e3 zP*m#RgsG8kZP2Z`NqcrG?V8$=7{c%dNE?*KTuc~t>IGn{J#O{i)f>CV@a0{suUIf9 zS7T{Fb6|fOe3}>czsRD!1SL*6G(zk!FLsxt$j$AiWMbigwyq;#)5icr-jW4)m`}O7 zIHzxS>Gu-Da2Ohmk3ab-_r0$*+l4e@DVj`Mc~Cf?AIJ^Dx~p|GCsw+*w-cyG(A=h-+*ZUsT`=z=Zo>eUHcxl?wx; z0`D*u7TJX>y{UWmeuR1E)2EbYSu*QhOSA0y1yH7_sMu8L7Z89^s(WZ(!An^$j4`HO_UuwcKqHJFU@q* z5bFjpD^Jj*CB&+#uqvoupd7jGs306F+;CSM6!7*`o~FWqw5VVrG1xrG9eV{oQU)$` z14PB1B8*Yz78VxHZ;O`AhNuK99jWlqqel=Fh#RMt{c-w_2bpI*TCo1|}Jp+gFbQX_slDjv305$^|Z zl`lV!m@1G^e1s^*Qy~1cZuO`F`_=V#w_QL_3WW^?_yM3oZ>u3SnYikMlUUaU13^0? z0fVD(cgfwD{PpWsB=w%Aa^hS9G{JPT3I=t`rtaXS)(53Cvb1<_O;--G{r=bv_k-1JexmIXx0YrHW`JV|u2&4DDY*QbS`O<|}rpz|0e@;rDE zhjLsQA8!sK36vY!or`#65FWmK{fdf5us)1GS3rWOsO;<1jHaE%GWPF%eJyCjP?=w1 z&0hwnKrZFRx0u8bym>;P?3g^jn;W?i%UCV)5r}&13K-Brq;RLhS@RThB~eE4o%z$V zkDxID1%q)|8*f5^o=rpk;N}LKCV3)*D!mKJKP+N;b+}RPM7FL1;NmHS zR&7CSRJPF#k`Nr|Fzlfv&dw>3Q-R}iy=63g|Iy--lC@l1b+P~Rp8+mz5Ss!jf}n{W zwYK1LlypB)W(1WDpY1?0LF({3e;%1*&tHbRiVCr=pF>ayi&ZGe8*o!A77FDS`HkDN z$Hl~m0N{X+2tVd&dV@C_2^5-iO#WGdD+5+z5X?E>QwY4<{Y~ zB|Iv>0EQV$lhILXy~s6GDht+65c3#>$>-t2F#_O#tHpUwdG>4;W?NAGj`?&Mhn3yb zj8NRAI$#}=s7~CwXT1h|90v6ucNUPMd_-#!0+X|lyp zXX4KiT2B5U{6Ew!!^EkGFu>kB^Fe z3*4{)z|^MA|NXs9Vq#)76*zEM!)b}jC+4__ndGQ8zn&jIEb&GDbHd4zkDQ6a6TK$z zp9%LDI%DFVG@O=$YIv(Cewfe36b!MW^}nwyPJHElnCAiEjvyzPd!6uq)|1H=u$=(% z#3JahL<+x0wi8Gddk4_kgPt;)c+I1z_y`d4$2lkzs7PLL-W0n_Q-q1P)=aG5e4nwU zuDN*vhZMC44c0+0fS3&*#L6c;G$={@h)vAb&Fgpoo5iaK2#t z4-KoNVDBTidy|G$@Y0s3;Agrqs0x=V(L%w*fws4zqT*|N`zHF{buF!}@YGR~abF1~ z>$Z%FN)a4mpx1EfbY?bX5na55-{^8o?RPJI5ip}_+f z)kV;hdbW;4qh8qozdUjd(GTOr4Fg637#wWJiIA>Bv+`rx^7Qz)oJCd`01YM^c*sZO zF>Vii0!IR=56czNZQ!n&Z!6(Zfn*{GGTwq8c=zrBN?&)5E{4SMGh^+=$W6D2_o3F| zXz7GXgrXtqV^5{7B;X;@%u%HfBOn4S(Z}K0BxBv;=LE?Apgwqu_fWE`h;K(X+P7~X zxGkLOyuw042Ee@*=vGiN_Y(_tMYVi9aP*?i;dLtFJyFgnpmITpLs6*tjZZ8!giC#E zK7Ra&(bH)yS_olXd_<*Wt;7?bLJW@{(2emM7#MSp+A=aZ@EAa<-=?O<^K3gME2tKa zY|0fd1q(7j2dbhPfDy~zF!2=KEa-ZyrZ^6wy!Qb9SRwIso8Psy`L-7kK8>eOp1?Gl z_TYg#1Y~GyC*9nlZo?;g5ltg#XIvPdt(Y*q`joeVvAKwyS>t?VluAu+QQ%KBk3g@>Dk9!-dj zu{ONs<^1uoVCs@rViVgN99C&a@NoUutn;(BQxs`NyBs;K=X|a(!Q(yNan&c??ww%Yc zE|`7{*K^jsEuK(U>yq^DCrIm|<&wjx-+kYEU;DbQz0V0$R+L6ZBS!n{ufNb`Wh7Mo`s=Ft zUw=zywZ;uLYdkzSn`7pl({2YpJ?%LX>*CpxR&6h3z ztbLhN{5Ii3i!UzX^{WO#U*%A|es6^y?qsggc+`I=;_A}-+d$vnoUtdW{NsEG8@Kz_KBje-2I!GQ$ZrB{G z3u`Av1)F4c%KBI8P7fFt94uFHdg!jZzUA{GKcJ~IBj-L-Tsz;wJhmd>Q#jnT9Qu4b zsfTv!)?A&KghULd{u9FLYbPXQ!LMBJ3HrLP?X~g+me(@zzAW6Cf#domHl9^_ICl3% zvQUq9-5am<+j^uB_yZSqcbct zs11RDjcq|ffh7$Or4bDIy<1Cxk^|MBZP#szK$LPw~5KC!qX<)ZH;?mM3 zZ_^`5wbDw|U1S#z)}9`znXSU{Q1$1B;9fy&(2}0v@7RbUlM+STF>3H{Z_18&&MJnF z-f%1vNHnap&ELo>9_;IB`5#*5|H<~IJ-8+ximJCUX0o)wB1f+0%>L<2yxlImdx_8Z zfwF}4(}gHj|GbgAl@_*d2Eq-5+1R+>P~mnxA9viEsu>vlF0Z7ukI3IX%*T94nVu-m z^Lg$MeUwH0CFjK^_p&I@%|9ddW{=nNqK9={1#0KE-&Uno7u-RSQUz2t3xo?Ul`Sf2g z!tM`7d?h!vv%5@N6+YaEncZP+^iEDyRhGYI3g+)J|wA4 ztEl>4+YJMs&>!l_cw=W!dt87w4FVM zkI;*``laR(FOp984=DMvC-Ge`&O2{0fAxc9KIC6OKuIWO05xpKKhMDbB_aQ>xp_iQ zA>7>RsW33Q!j(uo-))&$Jcu1>jVR^kxCN{qnK5+-M^~!&m^KB=@(@_|rTHJI(~p%L z?|wLXLnpsTCGh_B6W1zjYDmrHThu9c@4Mq0t(HBCvpTErdO_e|q>~>Bd+g|k9RdHz zI1~K_J!Aj>^i76u0xy3p`zvh=Xz9F-diij!2XUbmuMsc6#Zu7q(af&CcXUO)f{&sJ zMF!{VKQ0n+@c$?X#1ahy@murxI({47U*@(=4pYC2#GG(;wli`o1OI!vO(pHQ|{4sAX0r=tyFKd)q2{~_ChQH)#r&F~~n5iNPNB;nV@iUu8_ z!0E8>@>Dwgn#4x?LY$R6a%)^orRunADRw3jWU(fo2M`@BkE0aUV9Z6R#;SdsTZ4e zZC+p~Sg+c>MUW4!n)-)-SB)yv?i}k#KnHTXx-nc|jU_@Dvg&5;wQWq`=%?b5FYZ4& zK6zLqFOFa7niMplZTI0a{o?%H-1dvO_Z|70#PtU1QfQKs^;!s)B9Z!t56N`Xo`rJV zE_U2?qiW+gIe3rd(v%Wj6FboF|7K7+p>1lWr_D-Vv3AOo@}rZQI4)iIwdiw~EWaCR zyhl{epP7d0`zwC5e)f-pK01Fg+_ds8(RgWQw|d+RzSGm~Wx3RDbr)0b$7HLo1+>Vp zANfK0!>;}}xZuwIJ>lg>y8_3`7CN<{mFG?pd((*G+&=t^FZo^A zsf_E#j}^<`L{ZwD8!5A9qAz!``}u{7II)>hn6{l>&Sc@Ia9%ak!+$P%2!`blu_hvs zh|RG)I4FIB->TY?U!Y8c|7p5L=KW@Eyi$8E68Aoe^T~OV2)7_#fvfO`y2F<4Pv)u3 z_`eBPc(3WTyNo8&BVP_}z^sl;?8ZOyH=*X}mJ0fmq*?F3n)s#8Xfp_dXZ!$@J0_#3(`(mcZl7VEXV=u?YN7p$_w51VJ%bj`1~+x;wZGED?NkMVtZUzA|@Pr&b~HX{Pu&KdHih@XnMtw&bphn{&B zW&EaNV}FafSN}I7A7bDBy~O*UzsV}yFtAkYaC(sJu+&HR&E4sG!B*0!K(fI~D+dK( zT*8CMK+{SaffshVE7m5NS(AeZx2F%Y*AlFW+AJmi!Af=Q^AXC+aSvNEGxqu^`=>b^ z|AZxFJ|VGk_$}@Cs1Z6qm;8x++1h|0Sx~|fa}a-i^;&@MGwJ`G&Z^;1rCa; zg!p*>1F^+Ro${e5AR1AS--lZMc%^Y%FbB&swmZjD?NU4M!wzOk9Xpi@LV(QA3hID zP%Xs;rB~N%=JJJF*E^p2Q^ApMYwPP?j_Zq4Nh;c&1&^+JN_Zn74*;txC$HBy5(aji zBDqVT+3Dmm*!>f+PrmyJ|xqY4_ z;HscrIO5W>$hBGwMwMz!KsV{h2aOQVDjf8&r2 z0;8~V{y!-T{|9AoQZf#h0~Gd5t5_p@O&w(D+{`K>e#aFRowtJI?{?Vy`0BQ+V#dr} zn_To10i!1xo?_SJJ^nM+@4+7ybQuQj$@lTUlzOIJS(aw_cIG#yy)g9f<8!17e{61^ zC5%?S9NgXBtL1Z6m&COxh(|=p1ufuX4Bv&g|D+4XlSh4a$Av|;Yy+@&m)>9+H}S*XCIDLeu>a6C2A38b$A&V z7(9CPX!<;_p`igJ&^Ld(fjn)pKaNhRP~gMf(W-0y;uwh}w;=)h`Zxu&2q&st*g3XN zYd01Vb`OxB?d|QViF=gCT3^^STrSQk!<9On%Br%IbeFAl&~ERs3QXN|nkb+6_X>^7 zPWU9Jgz(A_!|r^MgOjQ4>&OH@tL>5vg|o`owyh0QH2y($zHK)B5pK_ZI9}$PcD4^+awl{OF!MRU2i7uAhH)~GD z>^_No+@8L?RJmL%xJXAaw-(x;O3qqX)*Sn-B^}fey#KbQn95F3uF^$SjlFFL#S!y$ zg7xs4iQxgU$g|~b$;)Qy8{z&89otM4RW#nEwGgOy$yRq1hiQ)J??YsWA%dmn@ zRO!P_ujpKf1L};OE6)&!OX8;)G`LZ_rTmfIMC+FB^r6`Fp2!bw#*r63F2Tq;&eJFT zjN!h|N6XvP)}OMvZ*^CA9+Sw4yPSQv9i6;Mq+i~9Ih0#)Jl2W2<;1@0uAV_GT~$HD zKAs-$ek?PdsM}4=J9%W7ogCZj+z^ExooG@kSoD6f61hN0!1xgZ&Zc}(zGutg;5P4x z2EoCG@cxq!$*C{v6RW;qg2Dnjj(PRRry0rex%z|??X_*k+)5(%y<*kfzUMog2aB9_ zOuu)l`|;_L-AQTK{qjtT>UZL{2kQP$jHcKx)pLut(>i0b;7B2 zXC1kf@1Dna?)yhOM!vJFr9uT}6rtL2zb5mYO>VqMTCS~*$(d>0eV{2$QB%(CRaa#Y zo@C-OEj+=bG`35Y#O!oi`JSO!dwmY&a=E19uTAIs=g*~_-b||t4Cx(|hIn%opU-b@ zvRGyx9*ZdtIW6|Y@P!GAbXLiVOcO}2U+fT~2W7JFdtE5~=_OTicB%JR<7O5qk40Yr4nEVyiX0 zIFUy9GWB@<$!&zeD09L!&l1VAaq(+pU`*_lN_vZwwwsx5jr~HsX~TevbSyIMz*AMB z;91?Ojt6&BZUjwp>s?s8ChL026X2-tWNGMi?wWP^IDV2*Ah1n-7mF1akYcI-u8U<| zZh(+QqU7{o=GnkBvgBLid5W%t<-?|vgIrm~o8Rh>6Gi?wo#{QFcTzl?*QBcQSSml; zm6C2Nb=wjxcz$YY*d63%?$1gaI2zVCH$^AKvYscK%6au*r}pwZZvWOTm3q$r@z1Bp z^drkA1(Uh112OpY(s`B%%*Wfn{ca`N=El=%8F!b&4eQZ3cG{jT?}T0LiAH1Ib5OO2 z*xcUms7I&Jd+^L|d?E#tk@jK+)2q7HWW4lBbZ(*-f9bKR%6#QKOR>;t$Mo4pmEXIy zL>S9geLO$k?WJRDd^G8yB+slQOm4oyS@$^MBm1mM=&r^p$Lv-+cG&`&|SR$i~ zFM-F9Ucx}>=bRns%f}1f6&0dShT2Gksn=eVUv5|X`MTLnU-X)oS56e2oSeK|2_LPm zk#rW9tk(RH=*ClkrG4Man<;NRj_;v^`EV(AWByIRHb#Ro#)N$a;Ty@pGI z-b}rwn`e^{zKqG5#HnXP4hgwfu!A(%JKDKCqrv#yGCOgiTv20vd#HDAnd#m|w`O}V zY{kw(ycs5Udg}F>!XxBd&#NrEY_^R>{^|)UL3F&h$fog+cl3auN%NYUVb)(;1y?&na2^#`d z;V}>Wb`~K#SAzNKyuEb|?W~-TKZf{Wh}@pGN73TS<*}QTNz3_x$@?LVp8u|~^=}OD z|KSGdzgS=Y?_Wk5nDl1{OCg@(1lJ^+GELY$BX5i{$DOb3$ z*(H~h*SS|x^@luSgVDsuUgoq}IPiStScy%&U1Op2)3nWt^R~RQxch>gihCHr%X$Kg z?xsIX!yIz;5)5rVH}C(EzF=<2cc^~Z+)3K6ep}wF!NBCQ@$|c!LsP3#&VR;D>wKK$ zRv@D5<>uM6X%RV8>L8IE5Wv2qJQv<%rvCYPclqK68iqfu5{cc%Y&T?G>%7dZ3I_W8 zTStst7m`yria3sc&53vz-2@z|Xu9h=+we+QX_}x8BZurwZWd6H**cEhn z^9@0lmNDn>Bx9n3qP1Gh31~)5P0i79ulir-_x~4jU%x_FEHVZjG5ATXI?U+-NbI9$ z0kg3ibhmET{e9)lEn_WHbwS~%|djc94$|zP8K9*mbH~0^w7T45u?a25d0?+mGy6l8pBJiU*=4& z(tojWqwGU;QfntmqvSH=4JT{F|g z1+|{mABR(juAk>Y(C^@?KN`j6I6hAbIC_mCc_HI&+RU`*?zSQO`gh+mK<2K9AX4T( z+Is(XaOh~)v7xZAFgrVY^FmW!|7UnUV@ElAt<~b-=P?T9k+Wh17Cd(U!lreDK8&p0 zIHlTwcO7l%ZCh&fb<>lx`+ub3FsKK7Ff8S6H{Ks5Es^o9qiSKXUNkQZcQzBJ& zHN}5O?)cuoggeftr=?xpgQx8C^vcyvx7~JS)1R$rUFfz<-NWx+)@ow&zG#70_pAKe zktl-chBM6_o*))U;3je=e(|nZ!E5JFeo~z6bv)qGaIi@pnzH)w(<9%c&hO-f9?Qm; zlDh>r5N0AyUr#-IisatEkprI?vgv>#WZFG;g2pz5R{!URiIn#8>~8RJ$68 z%#*nMUU2k^-^0VBNbV?*%Xt;=cCEK{Qo707bJ^p9obBsWS_x2nQRpqJre&5gdw9I-m z=W$k@$7zrbN@N%ZlIas!Sy?Hm+XrkD@T%?Y?XIq_*RNkUB-|-BUh9&^nO|7&LkS?1 z_ol(+3Vnr&ikhXA%*)N4t5falSEJYW8u{kuyu3snD>`RNk>(#+N^p0b^ZL`Go5z~2 z2WyqC`ztJ(UjlU6l%B1P6p`@Rh7fUzt%-TYY82?sw@1^b(H(_Th@|$El$79AW35~L z$n5$c4R0lUOLmv!RtM2#r-dsn=sU~HW zlaqt%pZKJfYi(^UCN9oBW#K@`rae+(flJqOetM{3T!BY~kMCPa8z#J$5lqNVP)&M5 z+s1~JO1L^vx%84_kF#7C4^4P&tT;Kko_Scr+idnVUUMI(|fO8QJX zoV?kpgiTzkK`B|d)Oz$etjuPtZ1MY~t8-UcY(6J=ZO}5~*`7Bp~4EWS?1z`j%MRYg~FoiHqu& zyQaQq_)TmI)RIAX5AIuz6dEK8dvHWb$^-=m<5n}|eSJ}E-bYn~rE&+!R!mGxs>;1U zHk$6@;^Grt{8urYcW(j-W+Nkzwrw08OGYFurv1=K?Ej*=q@|@bh^jR0B9_QlA1{}y zwZoQ>l(dQ9l#-HynEJqLGnORi;)h8gY&pPCB=-ZOB;RRui1uMjgVimxC1Z{> zb>kSk0Q2An21~skmv}ivS+py#xMMTq;sp5l19XT3Wu39HZXBdZhv(~5FKldtX<{#w zGBPp_=4!OY8=IQaIXkU<^R6{+$GIiO_HeY=OqxJq^RZ+Txd1>zbKW;3$0vo}%8f9UHRFSq-pPb%VBR#?%e}hDw(%DXnRQF=rurF1z4J&@iX>9~M!49%kM&<~6;fwE0!dSD{yJB_O&f2g~NJ;!#()UlVVeaYndn+t>F~o zBO?K@yr}5tH?Lpo)_aCNQh&kT+uO^*!g5Qbsz5bW0#$ag{^;oFsL^82oPOa7P?;0n&KuX_N709qa_|F|L48BMQ5!1Cmdvo{Twri3WzoQ!0t z)v%P3$Ik}uJgsuW&BOhDR?ROoCrc3YdAhYv*NAyuPrQ-{R*g}RmGR~u>&sF5q$<0% za`$aajB1ggBs6-eoK`;xW4C0=%gC5#(l~p+YYaJq_<)0IZlHFj3dy*rXamvLM5b>i|?>RIygtD>3?Xo`R zOTc3@<_O3)V#lsqQ(-;Il}=mKp$h1p+)GMLod$@FK_-AF{vk0jaVu?U$=s12?jtN0 z!%0$g+3;d#WwilBCNfES|2_hlgvWBA*sSO0&!2A}zTBDn`W|!lX;H@j3eLB$Z*IVO zgei`;v`9JW>KEwN_6p=AbNI7apP%fvq3%$5N=$P~lvtDZMi?-hR49s~e9 zpl-N8ueze*{XK_F`7354&xI(yQvTg5ptu{5uT_vni{W5zBc!0I)z4k>Y6KlY-@lPP}iERt_k~G zzf}ZCAZ-7$!3PyrB43T$e7QSG5b#_l-ZIgqi+28`O}gBeu4kWE zFooC?vu%rGpU!@i=7SdyMna;xMm$JJK@lFXwKXGtD|K&OG~Cq-8L`tv%If4nTDACnBC_{HEGERgR;j zR)i{doChW<9e!nZeh{i2G5Lh*adUxkW@bh$S6y=YwOt>Byz1xApCiTq+w2SsD3^=b z@6gbsLmDkf0Z)3LlytZ`9X{u>zoNEQVi=d18A`%8`x9rwDqGo8pu~PgY_1-lZ**)d zwWsFgE}h?XYvIoKw39ER%8VOO0^IdYO*36x3_9aEA#inIhzm|+i?zyhZ&)FbxA_e7 zSa#qc&uhg>*s-FbA_!(k)~P~+t75FNMhq$$qBQgn!W1neorVC2-WCGa6XA7G8L>og zR8rD6SPpG;WH7DkWdRat`4Ek6aXeHKTa9pvAp&xw4k7%wpOSvU$>U{8!LhH zQty>-IK*MzmH-ci!`XF!Z$?H2uD5Y-{v+&*{p_=>(LrUHu}XR`eZ@;@Mxin zWUk)en;)xI*{yAvk2U0aGTzYM#Hki#6}>LjBDwJGN&v5+6^Q9_hsEy5$Vk{EI(ZQv zz5^e;Cot4;3vGm3K|w(yUpr9P0jiu)YnUWGwR6T^ZksYTR!&=M>y6#Y?O(0%^D6>i z&iPkMXrEW9-Lx<~g<3kSsbHoVDnakpK%D|9tUxU4-n*nD}3K zR6YCUmtJrwBO}w`++->i+gv{K8G%My)aeaCi{#D~(Q)bI?d|Ow!h(i@_O!llYHUQB zDS#-5FVYu$c(OhYRjJ@{8Y5o-E&2YI8H${geUrkwyQu3Y zKro(Pbxi~myUB>POOPW{e!ccPl)Pu34d^=)xaq5iS@48+CD9NOK>(q9QrHf0uUF^( zlGKstrnQX?C+k;zZwiC(Je7=~5#&#pxTfxE8KRC{OOl-ExQaI#UwG%pwNyxATgdqZ zy$TErTq-NGoA%sWdUWm1+G?Xm+dH7H>7rM!UY&{RfB(>MIJYi7o@kD8W(URh%RR6_ z-ZH6;LGQ~iIVI%|l&7VoB_LbCq|lBrr9y}hM6oYTI$6*Kqq5MrJ!)1xJ8*8!_}av; z*6@NSMPg4>0Oi+`_g9Cd-CHr-=fC62E{cTQHS2!=wU1ug#Ln8f#$i!$Ef?TZufm?P z%;GwcPj5qWFd?-(RIixUCnTh#u*gsZv7~i&de?X>T|MvV2r6LG=IUxN^#%Y4%7%=0 zyye5H#ir{kKeECD1KVLu_D#swuIWGL0>n*EPX`oY(W@i90kQlEGY@M+56%+8Oj=3` zAchc~MW<>nidGIN=UWjk&!UcWJsH?6{z6Rh`y-hOB$UTpiF}whe`GZP>i={}zhJ>~ zRC%1GD5=%^AdR(AGn4|4cH|ThYit~Stz)SW%gGF zx5ZW#hkM@fF!S=30mC10M^ZHBHxBaNl6Kr%&L+eAa;C= zm#N$6bodFKi8VZ?a8t1qw8W%cQ8?0k!9fZs zoVPk&z6sE|zP46~OLfbn=Yt0nm8JUt9zof2o15V_!(}#FMZszmRjp8rfXY7Im*@pa zA~B(OeOd?Qa$PEPy=pW~7;lq@_d76JA> zZ6Zxyt8!o5@QsN|Y6;OC@iZol{2G@{U7w?8zgi5Au!YkQ?%Ti**13+jo}nRL7M9O& z2mh?%hx?2*tFOBJLzofd)poSj&1LRt$d@)WZqrUI;V*PDxCSL#95e9Df0@=b9-xsDiJaeFlwaZgRU#2j zchEpSHzXMQJ*ZgRI~DdcZZjbnvbkMeco?T$#v*O2!D^pxP6+{N#l?+AzDWQw4`~~v zxC+$L!RGYkK+fZ(ZkiK<;GfGsvPPUUGc(hqLdPner2%iPDulo@n6mi3Z) z10Q)(g>uvX-YeZuoC)*}G5HyyTYBmaV@EiN`&I&aw7>gq~fy;^)SO zZjMR@rMMqd*b6{2pz7Gb<>tE*2{jMOr#-*11=&T~@>!3(`jro44pvemN3lr< zopZv9xP3Cn$Z&EYtQ(vew@^_nfPI=Kg8oDBeP$tryB zi`nMj#$Td74KY_zLWxi=c#(s&Z=ZkSQbcH{rI8{dsHT3YSFT<^IzFD!QbX%}f3G;b zr{J}a+d;}3sWf+Yceqsl?whw~0Toej&E0@a_h}+DKvYze<#2vzr0K=kF@mRsh|*L6 z0*bLB2{oQ4aGTM15WYdhrTeU1iL>lH*A^N7IgVA!8RVGx9Rf&fmzhRixJ+Ew0-+aM zDG;V0bM(rrH7lRbPfSc?DkX<8qP0A=u7Dl*MHI8asxRzuQUZm-SlH(yBFTAXBkj}B zjSojgMu20LJYC}&^sji8-{03)1hN};P^aG0Ba%w8w;XB%!H;f4wOQ_$tU5P)`jogT z5&$T5@h%4kR<{-2hWX=EiNIU-8+5ZQncsogJw8i7g4_(o3kWO`dl`JI=w`Z}#`VBg zC|EL*M4t9E?*UBH7{k2xHjyF1H4%A~iO-~(EuX;U?CcEn3Pl#IpKs6Dmfg~_iEiJf zJcjE*$F_$*LbyvAahgcSw-F^9BG$vez(7Zr3Hl8f=m%~y3|`XNJ}4{AYzj9)+XZss zQ<6W%vu1D74ygcXzm!IUz*xMF$w`lzD6yATB$UVm%<3#x-TmUsTsZx=x zDdR08$A97@ogqui)w?lS?Q0fr^H2&qmg3&?YenR(DcOS-G;C}j5T9XSV1PDhx&N}^ z)fF@ow5AxGN-WmNFDAhwJpJsfZ$N{%MG)CX7)c46cE)QKn>wuwEQ17=@h0+yqRG0< zY^+!7ia_PNSEyGZcYq`dfS#A1kc(qu)iz;t_9p&11U^c5UEM{A#Scg~ziZ(ivq68f zVLj=GRsVKh(oQ()q$DLjdIJ~F2Iz!bIXgf1zjgcd)G^?r3{IOokQi)(MG1#O3d3tv z5cG8PZLejjMs$?k^HVx|KYcaH#n1nwf`i$f<2}M%wBB2kGSf(Zs^WvXJM+yy z`Tol<;1~dCu<2Amr9vSTT=@R>rjZ12m*)IPPp8{7NT%Oo5L9?`x?VbY5CD7aoS$Q5 zF!vB3AaH6$h>>v_svs!#R+>_fj#qDByubgF%kRldS^_XkDkg(4wn_6-p!vWdQVGB5 z??Q!vMN`v+67!&;l5=ZVH^FwH*57f?SP2LVBZyiBO~#>ccyIvFxdjD2(u$0X3^Y$2 zlxky?8B1Hn#v(t11yJ~HrEp$f@A!0?85tFOp1WG}UvmL9vQ`T!73I*7Fqf{A9<-{j z|E-VQsAy<7Y}pcM5`|AnE%7rMqPo47v{oPw5TA)KPhvtg{17-<3c93`Oo|4r7LBew zJ|e~cYk9l}ot0!hT%|jr9~xZ;q4ubi4-^oN%DN=173Y%zRX~_f1eZ;Gl|P}F_F(M^$}>vL`aR6 zF>s}H>)b1y*TJoKX6eXqa?sXrydvp13S+HwRF74MCmtwgd6MI&IkU zIu;0!+6(96boN>teTjHJyASq4J`qTAu`KtV&&g0wB#Zf?$(}E#1c@ZG))_XVfzr1Y zP8ap^@~Zj3WrFsaeV5{#1SjkjfIZNqo=S&BpX1!*WQr5>bblB#@&MlvVig4!!RiH^ zR#I+iRoELC8ymwkBi37};=VNA5&;JI3gTC3h3cr)LmHja1ZztN;awT@3qy9c|yF;y#wqaq{I*5G~B#>OUNyb6MnN=ToZ?A~)4 zV1)r?A3l6AY6%&wcxKcbgzp=Yt2|{XvG$N>c4g({?AT!~;u9Xj{jZpPg?7_*QFZ*X zA149=Tv6P?$bwu~XLx)E;~Q99sqD=~01Yb$2?F5(ex(odTz^(WfnI&SR(ZbX`3Y5A zHae8RZy!d}WpUSH!R{a+ZwM9Qy?0NuDo!^tOqK`95N-UE8Z*!nWnZNq_6>Sfj;IDm z*jU9vq>E8?n4_TbtOh^%z9E(7$#jLfBGw=o1zzY6aE5Ska1d@xz%r1;Bw-I%c%weS zo3f2vUFcdIJUl$Y!sJ5l5M~(=T^VnE@Snx$& zPEM=Jk&&w^BV!)qw9k!9YUFMpu_BEj#51VHga|1Z#*T>@4*vAa6Y-wF7N!_RtV)E% z2d?mKLFdo*ul27-KvkQ2kuDnI2Y8Hz{aVg0}!>WE={Gj)6Y zxuauKI8=ZCmo|omsg5K8jQq1=+S;UFKIi5#zpe&U`1v(O5CVI-48!wuy&RCvWx2l@ z=R?|iEO^6bjbG8nk*4HsepFoU&{7FlkfTEC*Qcicf=0tEz-A>2*x1geJ2;KpFF>pIb>;RL^u@q~I=_~pya&d$nkL9%_FbI%7M z&Xu41(x0%ZMHMLLGSbt1e0`UfmkrQB^M$lCtLVeVe1|BZlM}e~I6J~Nx~1|65mp9p zt~b*n?ZW`FN$)*Rc>^>rRG(>fX(>R#FEn5%iT@eW^sE&WP%w+YUtmIjsI#1L9kWKh zKK%r=E5g2l?}kQE^0BB*%DfH{mLTv(u2O(fxF3NP5gjqcteRcuc4+G(CM!aTE;x63 zxXD?5my1h9=Q?0QE-2p9qa*NNuIn}DDKoFFtwF`~i#2qk{7St$GY;XEEaFA3*PO3N z4e?%}RnEqHdxzp(;KH5dPo6<|ZCVWx#OZifun9TLB*)ygXPbdOA|WBEinu}pC*(Fa zBDoA-KK1SdZhUM9vIz7mkn%tX0WhVEC`3H9YhFA zpY`hN5)u;NTMWRrq2b`L2OE>fR!3W#N$pb!NKOc{h0X-rYBn6d0lsAWN&FoOzhoc} z)ZfAWBB`_otOAOOXm8YD0euGEYzG$w+;aEeU}LN_m!mFKa)g`H2^(y5${B!dV|X5T zHI1hmjnDV8Z~vT2xJk&C@(u3;>ph@!01UtDRS!EOBWg4O^pGG=DNdquH43Qa40==< z-Uymf!&IwzY5FvFik`PI)lcwkNl8hE3iQBd_;E)*Faqfr%};abVT7Fn?F_>@Hs^$Q z02zd@v8ycHB`-RnXgi=TM}~6n%L<8#BKi$BN#IsO@-eG_7X9$z;_M}SRB5`_jedWX z8M$#c2bx~t`7a@i0(RP@VBf?GlCJPlJS~UzPWl0`04j`FhDS)PKVw<7dgmaizeWY}p)m{{t?|)OgOIjZRuZ~ca1UHh4_N8?ffM}%S&s483BS0q@}87G zEHlj?gg0L4-KhKRV7XskN_$3>^0?&+NWLj(WI}w!L6dA`gy_Z_M{XbcdsASda(tm; zQ!UUXqeML?-k~^I0_B(!F4{;USyonNt`GiPAvVJJzi)NL0(Bi97_9rro<&Q@?Z)VL zbc*i-`m(`M9MOrq+)9IwRiMT_lo1RrfwMs_Hb!HZSO|iu>Jq5WW3aJ`wCe zX7F2KjArVyPv*=x&atpsV`F@ktwEp zb9uCQ5w^XFErMn8>Q=4!i(mrQru;`9GN_X=g@cOk`HL)m(1H2}wW(hr zX$@+85=dqfe_yUm$A(?RS#n;)Wp%r9+9;Kwdzgre=VG$Eud!H?Wsf7qxVG z{(R@)00RvTrgjp7gXN%K#EGO+^8))@6lCfr<&R>}Ua;*?N9AG*tAH1x-q)>mX653- z8CUJsXk&^|Y6BNCFCk$RT=rZr8#Co^`_RB=c!BpU^d#%`^I=IG?Nwzlv1Ps-8qj3+=)=(K57aJws9Z6E(*?9n}hLens zi>vX@K&h3+jJpHPb@?@)8=gkS=$M#<`Ik7=y8AQwbzm_-*IXJ!az6YK7yxY^vyuZ4Foy_J_W!1Ux_&At^73336>9KWl_=5p+|HA z)+Z-1`faXsu*+l+0<9q>IPeroBvyPA+hdOrcdasO==TEn`(uz{Ib*+!3|;6>3jT<~ zO)w|2Ec}a2C|%T=e=WK3in+eNvZm}>RmoM44sa&6@zEu?Bat`@z?rKZak4;T9fKnV zicYWaZfiARBtkC1~tV|#Yk1`m&Q(C~^B z_w^NDSKi1}TOzuFK^lK?W!5}rtG$2;IY>R@I>+5Ph^uoPXjmHLR#sL*tFEcHcMG=4 zTnG3|Gn0w~%tAmzgNP9CyHk)S1C`<)Dq|rqA@E`&_U4Pw z=C7(jH4bMCvj3&&yCcC|LdaO?xZK~ESCfH!jEUO;ZUi+|MRhft3F%|(nftij5lDSK z`nxdi7Wm|oYp+n9`!UWwXlXB4GRl|bX&?2B1~5>ca-l*u{|x4VzuBI)SpWPG^1 zhO%Lf-SYA0PyHF8K!mU6>npn_L}O=XM>#ON4|)rG0;0&jd#)Pq#rCY^wx#Mc1pXt0 zw_UUe8sM7sk4*H;II$2c6h`ILtk#*Mr$vUo_9T7aZ-QZ5Wi!qj$g7N8{25V$^S=N) znz4;(t25_s34j(Js!i+EDPV3$Uu0B(XC+F&2e}u7SlpDI>Vzy$pl|34j%#LmI<#?Z zz&Tu2?qAgKke2aAOqh%mQhs>^RU7Yn$6iyuoYgx%yRh|u2%lKP2{i_3&7xoxz30!L zpGezN37zpEk3kpx$w$9BtDi^Pzwp0v%DzS7JjKc5@2c@Ue_COS_k6Amn}{eNVgNcl z&;fgRqCou>{(rvEne)!=76~tl!$PN`qT8z-z z0Cs2eGgmdIAD9@#jtV7mOH)$~M9s18i#?37Fv>T_;dc)^Bt;#&8snk6Hwed1I@qXL zyOaiQYAk3bsPw{jZB7r?`P2Knbn4vifjBqRNH>AT7v2Wb>wB(H@SE7AJw_hVd7 zR!#$4Y0v|Nzu!-*r3H1dBX(bZmsN4~of>QD0QsylZxD}z-Sk!%2WaZ^0 zL;{Bp!U4_%7?7a-&%d09A<+zCpZ{t>Z>rl1*NxdwbKH|Vo~KHo(m`t?FZk|WS62r* zCaNx&F*B=C+=w#_gZM7Pxi~pGIyxr?G+JZ?E)gdQQNHvJC_|oWwdAY6;20Q|1?OP4 z#n;bo)(Vzde+siNpuyRsbe`f85I6%7eUv73z7K&wq@HnfYzM+G^}`k&1x6K*)ey|) z%yQsO(Kd1h`1t%%OvUD)r8R+?1?dl#Hv+amtp--SO3$w%YV7E^sYyvkcYW9FnVcGC z7$d2pxIczMJ=Q%7prhZGgQ-D;GNf zwG?6)S{&5Qp)ps^gRqq&*^tqaQT%;;^f7#BmyM!J(lavlp;byr`4K>ggx4C(tU(ZR z{oy$vCZlE<510bVh_pFTz#S_9Aqky`qm5|dnJA>?s^{|$AtpdtY?UW-!Z-Z5*t})v zRB8z$gDsncajWxnb{WUTCOUDm*T?uOcfRN=D=P!KXlrW^#q<5X}Ngh;iiU$hQ`J*7n9T$&@!QI?1lbNeYF=4Z*Fz_0SS|NtYYoG z9i(2zyy{wn`G@7@KpM(rmozmjGU$g#Y*o2zvZae&O9S;gK0ZDSN@KPu5S*N;sVN9J zLyb=uj&w4p;7f}-HrOW6E0N!|hr@(1Yx%TKj2gPLJ$@X^HAgx`H?LZRnY{SDH zgP}Hvy+#X@?o4fFQVK3~fZc=1EyU~(8JBUuR^4BIfxztRT=yTYtuVYfb)rszhSo@) z7T=zgN;n=cT*>>5-n9T);N(&Fc>*d!?D8)lO!J67y_y$~KoCRQXbc7=EGH^B>Apbu zQ1Ei#Vr(=e1{>@7)q@7W>FYOcq|5To{F5met* zfTYQV<^-gtO>c@f6Ea-Z0YEqG_TkP>qw_?efj9&}Q@$!0qJydSDQ0V^55gbrpDwc* zhv`%>ZYjSPKo>+|bs#4ikAnRe$SEQkB$qCW#7|C7q2!P=Dm!JN@WUj7z-{c{0c{l( z9OrK6$ibnReUHh3Z866Vd$3jlP35oI^b;r%ON+-D)G1;KNEw2Ii5v#6v$E)2IZ4NX zbFRZt4Sm+crh^`dPtjt3hFtv5hkQsdo5ey$*D^LHARs_oJOT~GFcLmC(4GJYV#6WW zC`M7~)OSvnKnWTgJ$v>HtP2H5o5se*Ug?{Q^Tx06peQ~KxeM(Jn8t44cSQ8nCSWs6 zL-3wJ^90ePWz#-_CK`+*fTN{Ki_pGL9e3trYhcuVvp?e|qKOW3KzA-FPYrir0_@~D z1Dr~p#gEJ-ks@)J6M~-lh-G|!O7sKvAU0KS6nBny%}6~EGYT+}foSCzq{%Q)*oC0m0n0)u)J%eE`B3P3g%E*ce)#Y^(B4Q&pYrF3nUDv= zQ&YMXa+MOa^z@Ks*wk2l<4}lToUF2{3XQ(gptre>X@A^hu`{6Bs`I zqyg_P7(b9=b)eZmaiv*6(gN-*7>WK2Q?Stw^s1c^4-R$4};7VhBfCV zLAAg+^Ytw& zSXeNEq+RMuYXywLHmj|v;dlTrT({Nsa!w?qg2)H!CI0uGPl&7r(c})X4&{U1R{gQF1|V6_qw?6#~@o@zcYOYISf1>P*FrKYJ5E%M1>0QA(g^7Dqe%|W&;Li zNs%?^fB~7)a3Y4zGT81*QiZLl)KEh(5QCWkT3LQ|p65X`e|g&tWIqBn`2h2c_+~X8 zgL5bib;zr+Lxf}t0IxzlN5uqk_Q8V(FwRFnZV-5E1>KR13&&`fe}%RMB_}7sa0E(^ zHXkEIOABGmhA4X{x1U47E-5Oy&2OI)7$^(LeI1j$26!e&tUH&@EiLdB4AbM|THvty z&tyRd&U_4LG2ZtZ977NrP^ue^EMV63wROxD^4g>Fh%+B)^6{~;Af4b?vimQvyxSWZ z^xGmRRqnT9bLRp=rpZ0yRtzQ&4&N6rDpE+gU*;}S_nyvF5+1NJ^eX>=xZ@;$`e;a!`ueHoUGJSOP&DCQZ_Y7{hPNDn!`EyO<+GzgH$jENaUYL{; z)!=Y+4t04UItjE(I_as~*AeGL`AsBRDx3aCU8tiFIkX|SuZMmdSoM@*By78)8@>iI zl<#$$iqnMqo@!C@!|63B{P7~_y7v#{jaU2yxzp=Me}4pZOc5irkTP z2-Q%Ma>y!O;P8TjW(*EQVx%lKA<-A?33 z=w*G~L9$fzA%1YSO=W4_oj((~DFXzGiv2+?0bBQq%HlpMi!S7wwM^dm^OJiVM3_Pq z5I7cqOci*7bG7o#J>B6mC`BG4T|b|l|GCTClrpn`{SvW0|Iib-^?J~=|2*4#$0@tJ zczA98co8d|roD>H9vW)vIkf4p37~)M*s&dLZT|Cc%E2q4nr_~(5DkHFVZF2c&3$Fj z2c5M(J)Z2qEW-;ff@H>@%^wgFDz!;s7cMG{swzrKdgG7JPcNGj^eX=;dD47mC!{nh z-+zS0<&Y)?ta&o0t3q|lpos><}svp++wj@i;Qt6ee1ZDiYzW5y@Nm!4mb=xUXvSK?3YjqY;2 zQ{3L(N$h@2zx^PF#aLIJyGq)rpaHwz!DX@z4IzvL1#@|2_4y9k)xi1BhXwj!vnhsl#RCYEG2#Ijx7_z$Q2c zZQHn?txdZ!9u>~x6gfJ^8ExfIiTy^pW-In7f>D9k_J=^D?z$0a5W3IuZO*SCinx?O zXgev9Q``Jn&LR6_$dXKVrxVV)0S1mXg;QHdO1%e~%Bz{jYFvg!I4otCe_QIffw))e z9KuEMagz;yeiDzhCI3A><26hL`w^98PsWr~R9?*q$p$muwl+P+Dkt6>KRl*fN_uf| zl(f`kuyk_cZ~0B^cb_K%Cag2n5-7r+aw@eSJ{;h5<6CR4zUG15yuZ4-x~gjY#gNa{ zs+&hF)JD+91~O^`7MViC0N=q1NJum#dC6Xc?HxK)CNUhbp>n^!#-o$ zuhyUT-Zpx{J;et%&U*Nayy?=f?(?5t-^|R+eh!3mXwbRxqqcmE)-xG(ZT;k5eXrdk zFS|Z-Pun_4rnJ*we!TnROF^Ed^5gu-7G3Q#L&l|CYWU}n$NSmkiDF}k?7pwQa88Zi zryMwtGp}Hl`G9|J+_+Iwqh7LXrEc!hCsGTKlX)43)L4;upU#o8DcX`g()$l;PwCTR zu7HToi4;B}DdUBRvIUw=+r3r(12VNGAZ+=tCuL}PC^C_yPI>+_0!D=$=$w+0dHf&Q zw_sS)xJLfpJI;`bdbA2WWtJv?8(g=*SEdjjkYI_!WnUaJ{xj! z%0Uf@^m&-Hz^I||mI0&;{XsXiW$XWXd2!jG_C0Jx8Oxg?7R*<>eS1p&qhmK7%()Y` zWy=;CTR0FxPgBI8J}$k7R7|k7YSZjmfaYgr7RqPm6>O&HWfVb}Nt4_qMk}bPjTpa5 z?V1~*HOe+~dZcq#NCDshJX)#|!Z#&?dCZx!cFmf>93{34J0xV)s@)-*rZ}{G`?j6h zVnh}0u)J1~9gHkEe*@|p5mKikDi0+72;v0-5d{@;dcuZ3YcP>TAFH3Zrsc1hqn^Gx zy}kc1y(O9N?eH+}-PAj3RvZy{nu)RTq=-%0eJri>1+}l`z(R-mS-&T%S#F3MYmc19 zM?K?I*lWwx4Fsj}YrjfeN3v_tDL-G&9-8XCJ@rVbnRV2v)vF;TE$3qn{Xo3~LkM6= z?<$fyo<&9atG%5%RQmi%KdF#1fSPTuc$LKDR+*FEoDO9D3q#Ef@|TF27TL z_t~edt*u7lIqvReFjI(V{wGjKrGL5lTZ7Ss5(HWsmJwr3b2{kbmiJ{`CQXHrJy3OG zw{3e*uNQLBFxTv;e?b;JY#&uwg)rXTc)h6LmU<{AU}a_HkliwG;%8+2eTeD=3<0LN zKuncc&{;CLnTJsbj~M8&QK*rzWpE|7DxAd$3r?RpRW`V_ws@SMkla&{yhhvD+WPp$bV*D}i4jRn=_CwB8x)AWwRXe?upX3QaWfVH9PFZsSFI&FlV*}z=lxqYPI;)y zoqzvT`qg)GGk8|;wY`L`Qq{Rmf&CA%;EK;V#}&adOP*%K+FEa#t)DY_JV%%2Vk)8G zhK4XagH=@xU;R9+_ErMHJc;H1-n}bb z*Y}muI@7TAn4Nowg``tIylPX!)-V0LrBnN}uY*^whL9Si_k}p|>G}C%!jAv83-x0) zt#sh=N<&dBO{hi@oqs6rq1I7vB)cbtCeONsUhK$EcC`vm(XQ$3}VK5+s&(HfU3sggmttPVXQe1z58@tflhXQ z5-}k7qPnvefkP+UJAjVjb)2-R_V$xPmDQHTDVn?6H&>Xp0mt;F?e{u)Euu@UH$6o- zAprSM)nuIlYG+_^=9)J-_fjWq4*qM;P*;ba!w0R`ySNYsPt=RmzGt+W;$uRg@!aB6L3fMwjJ>tiwd2uKB1C#Stg@oX> zN)0}r3z{fFx{I$yuh<|#eqLK7w8-6UP&x^Zx=Rqn8gC&Ze^H9c+2 zRT8_RM6=(6CAPNi>NIJmK=ewlATXdUZgWea*;Vndk=md^<2VJU=A0jz+}Hdt27Ksk zf?Xb2Zu<1;nq%$loSiF(lSI$h!~I^_u`|mnKGUuhH1+Ql#PjLS&dxo14~%;Lf(J1) zG!#r7VV&!Le_z(>-*|Js>0;+=>sDd)tD&}ty1fW1yceO1Fm7X%P1nfYy|YPmNn$TA zp)Y3S=+SK?UVqi3velNj8uB@-$ecpMox?KsFOB8e&D#)3I|DOB&b0^wZ=1fbo6#vUwV$o18C>{PSH8_iDj+cKCd2shN!GD z+7Gg8;ki^IgNt5k-2TcZ_Wkq;DyZqVCEa?J4fXuPdtFtE)rY)&!zONSpNPyLV3bn0SE!-rzY#qfR?!4`y9YNKgYoX+Mog= zk(@*g5`cDgM@Gd5&E|lihgpvrTK5S>LT{E+7oDr@;%(9-pK&-rXmsxt5z)mOdF{Lw z_Ul|mj$^xrzq?r6qy5pHJ9kLv7yZkN`KOyVZJP6+u!`5I$Y|4W+AR@%a-*w3LgTaB ztTXC*)blHc4_9;IzVz2FBULeSV9WdhAtk2^G|afr=AyIP{%kc~MLkB|w@ML6)&vPa zZOzHqBL&md#Xh%Y)cKZSGUs0^>pNLBr|0QuXcS@Kl(xV8p_Gk=c$%14y{70(^e=ma zp+tq?GVkP@XWi)m$C)D-0m&x9TeKqNIZd0~RjaBI@?oX!7KeRs;FRf43f~xOPeLZg1^c%SlI8vF9Pc8Z^Dv zZPmUC+)O#AZAo>}J3KOE$T>YdJwgBJT>2`1^r%2;G8p2R8%-$+`6hK|Ix5ylov4K_ zg~`1WQE3ILI%u-!Z`ik8yB?z+(5F8RLRNEpSMRm{z(9V}{ar&IVOhX@svWv`KaOIP zfzexPt!CrdR%v)btH(wRh}PX%4X-6j-oJbIjLN}JYIt+ig%1GM za#Q<=iwSkp4v!yjz`)#GrKDSWHQPWzLE)@q`64YzsD#8{J9VN&EkW=PHkZA-jq0&t zb9{X79m@u{AaY4L7N1wb=SJ3U>+D#cyS>BP--eDDme2S*u9T<${L`nm=+iEEk$!bq zM${3Lcj~<=D98IU$X>#}gMIHm)ym2$*XL%!P%Uk3Lgt9jRqh)f3QQJc>_K#B4m*d9 zwx{voYHhgP!)d9vZT>c39h&{sjy0uN!Gj3Y0&5<1!scgJX-s!*s$w ztlC$!d`Q^aL5hk|V^u=$@Xo#~HpQA|9U9Q|R$8YQQMKC_|DP>&DXGr@U?oH6V>s&I z0AL^nJW>X%G=4F2Ue+@@=$4;!Edi~P5HNNGH&y7$o$*&b*UTXSB<#o&0$$wY;vnqj ztJqoTO2114zS<=!r5YXpLbLf*fwE>H>}6vXHoiqL>}|b5D6sxO7SNZ^D~-VQuQwE< zyh338(VUzk#ubLeHE;^QTbs@!ukxFQbvi~;pWWVLa}tw@cFMXsd3L~Q9N1F)NTQp<(s<)oO!A9$LqdvsRru;qi$Co4>4?co7 zV-1QQKQA9SEP3`UVTuG90gplK&Yk$6H)i}6+;?KF5D!5D8W^)uoVHz%S)$xqfF9Tr-OZld|JZD|!cx4XPd=FtPbae1ZDSa(-rcyIf+8C98`a`c68W`h0vblU3yOB^msK+^sD_b1cmpZ8aX;<*6K z@##m8E_#pxwx%2561|RfqZXZjqFG3Vr3c2X`wlCdlKA1nhwJOwWSVYZ5Yn{2eBh|q z`_f!wuAVL?Cg;hV`B$z;uU-$y`2EL^AUf3Q3qsT_b;oyg7s>l(A3L^)YkE?QeHFV< zE)R62VpF4cgE;vw1X7uE4=Gm}#o{9w-_+afP37Yis*i?uw6Ah^-*2=}+%ka`!)YOO zI?@d{h=xBFQecVPwZ^9}1hO>FAe`&ooE{a!X#S?Oog2u-I1m8zYfvHOtl68Yrv6Uo z`?}#jI)7ZR@2*eCk$|h6!c%gkRSRHlIH#7D%_64EbJRB9bE))F;=?I z7*9{nDO09AFe-1s>S)*QaEhZz7Ibb~W^FBzwO=a2|8k70Xz>nFOV{oZ^9GjmU3Z3@ zprzvdsh*_4eK58c*qVKbbzFAVcCmNSSW1OpHP9t z;;5D_XEMGWvHmq+OqN!qW@1Qr=J>Fm^6@r9WD$@VBaYKDfE#~%>ejVUj!^Ax z4l=prvC#=d3sw0aNz=oLW1^`QPUz|TH+l<>K^j+1;NygSg;$KP`%Y;AA!#k6 z2)pYp9^E7YFuC zmDJNj(IayU@(X!Uewp!I#fdF9OQ`_QW!IGUu)R9!siL|%I!+a&%99+=2(pgUIeG~y zeWME{%gqF>_?caXfo;+CFF+7-&+Da>YOsl#!hjv0(imR#`uZPe{!ZzWPg$?sVP+?U2}%z7D{(4bDoc5H}x z&0flQhPlvwE;B>gH@ih+7sajgPS?x)7Bl^-VI0%*mo6!9q7c3I@WF$GtyzxyHrZ-+ zX{zC5;z*u2a&Tkw1`H*1i`HKVezZtueUH^TuQ=rOUW!*H_Ab47b9CTKm2QI1gV_M$ z&Tl_{tfmjoG5{mbhqj$d2b+8&R5l&F0haTf|wP+oGE zJRa;^%$F`-+tK#7zRDhE993c4u(zBp(Ub6_+m&JvB?;D-80xH_Go2QNvs<_J+JDizq$kC< z9fkxnoU^}RbwmTtWD}mhm`3gkOI%O9vn(=0zqFF4Tld0QN#LcWf0>3~4GF}d zU1pBhO>7mA1B*zEU--|#EA)djdKl?aKN$9L3^^>UxFj>L%+F#lq#b-_wu?cJ=+9~! zBXgAw?RUGdSkl>=0Bc+wH)zZmw9T51yiG~^(Thc9p6x&UU%!4W^n_Ip@U%JQ;KA64 zCBDA9IuG^C$OIT%nx&9yv}}^?ZSP8IB8uR_O!pZe@gflJ7f6d|`^2o%`-MOl+1DeO z+Sxyq4mGm@qk7E8+AT3{YQ(Y=4N)|y!`E^W&_>x`AIj1;w?vr+ObW@y;5VT5V=jQO zm3E}xL)Oh`xQ>b^)Up%e_U_$VnJHSl%Tc?Q)~Mj|Ad1H^-7;}F^$+V^EgoTOojR2zg{CwOx2fP0Vwa;g?j?%i`}uE_gqk~eLx z#A%o4Hsl{29UaqURW2`!OsM9>1onv{d|lihB8Kzk%K8jMkf*wRP<;>S1nZ!+yS&DKd5QmpWfU9AnWn zyCBd5U}s?d%|?&D88)GNt0%;nz*B8hG4|=Pe<5zL#TM<22<_gE))9xG@&rAi>YUdN zi8w2|EP_|8unsh*O^bcna+F7N=(zTRGUF0VjVPE^End98(j;0j=FWlr`?rO=R*2+H z5*VD*W8%~2%Jj`XIni&S9yDoU>s{&8b!#dp*TKReyMBK! z*<+Cxh(5uCSu%lu3Jy0{E{7D7dBH}hN=)x^>FkqRZsS(HcPZ5lC_wPja7*2J7%4g< zNMn;x9?fJx9N9s#2l^Hq$K%2(0YhW#?*mi?5t0YTk>UjshHDiXq>e{NI3 zFxr`MZeTW$$Fh0s*w#6^-)~{`;V;#6Ry1&KAPRKvDM#PUG&l-3t2Bkd!_l#MU~Jy>5hD3SsR^U>-ZW<8xZFNIDsbRh zi5vBl+kt`qISkx#)1e0XzG{VT117Db{uQ(bh&_a3|3fXI_o1SvAF|LzF`2Z4c^)yF zH*ancwiYZTGwHgW>B5T^gq!)|UZWil=bA(Ccn-O1-|^8yCoLf%0rW>>i;8A|Ls7Hr zM_gyS32-vKl>3;{#Q}N%<0w7v;7{R16+g~cGxcgKqXmtn0R(BmN=J9@oKC~Ge2?g< zKDjHkjGp3QZ5}l`iQ`n~g)#y(BJ8&l3q}ot51q4S?&uk|x_hN!?4o9vX=qrbg-w++ znJs5Y#2)5Z_y>(F>8`bG4EBbMqD_V3=^KmRiY z2cm$j#p+LkMWRT#a^x()=>JtySPKpXU-D}jHF~s=<-sE3$B(CVE9cm;V-Ask>U|T| zUxb+b%%QQ)kKeZKYg=1Rge{@aZdoR1+{wB*}-)Xf?_{)}f{N_kL6R zHNN)wB;1D>qduOEn00bi??ZR_TOc}OwEOg1?Dvu%v+w9R#^0BQCd?T|vnS=-giZNi zzVp7b*Z{L|1Sq*n&ez=q+p0=X)SpE`LD!L` zOOFb3I|h!{(7+*-jud-YzZ>hA4pdq&%^A&4QO~eR$**%7W!`;mx zgfIJP^)9*PEw7dV48nbe|sSfLV9|6_@49w`D(g8}C zEVvh?TN#?NtM&cUrSS55_Ur*^I)9#zy9Jy60Nf0``Oz0HnN|(+=)ReKY)3|hP5^E5 z<+&MsbIi-wil?0ZK1SR%_q&t8BFgqH(7snRYE2K+Rh@+m5ICTMM*vl@rSgCQ%yb!1 zMBJMx81wHCyNqLenoqc%{FhQ<(}PNC=kSE4skAh!JY zah>+vmQ>X!>A~ylBH6(SjW2v*C2TyRr2M_T**!-c?@T7!mz?mtKCw>;sBpuN2bu;$ zol-X@EEVl^F=#=|Ce;*d=*Vw)I|Kpnw%f*rt&62sRAbwqR6WqCEH95PFi=@}$icj! zvkr+Zc6n=iIXKApsN2q=TjxP}!Kx3!q!f60K*%8NG7g}z*gK7w_Zj4H=FA!VtuN8Z zY@dS)xB=UH(+;mFW9j(*e}^Rtz=iI=ZXKfvcc>T(LDTM|zgIv2X8A=-VpF`gbYFaY zyzvffNS54KeDr*|@Q;!3wE1A4mqY1hSibB0~@ z&qr78&c2H|AT2CU`mMW^ZOjz_iCAA8wD}Dtdz-1t$2(Yb&BJxJ_3+tD4oHj=-3>bm zNZgv^?MHNV)4PjHdjG_5i?^DUoBYe6aFMst+a(_uG0{}VCt7T=$6LD=4#>C<4R$0wOn>d3&~Km`mS^ zYRH8$`8)~V_weMT)8;pCT#x;&ikMwjeVPi34Kfn#vGQiNF98{Dx#;lX1q-4R;Hw6R zL^vVi7>TFjo{=edGT`FrWK7!7DKtH7spRmWwu=tPeN;HCmN-$;LGVYO-J5QMy+VQA zmzE$QxT8B}Hnf|5`}ArY*pxY2b?$qZ_E494J~wyLLhI`mi~bp$E9=rv@0L*R%F4<3 zV-mh;H1_VHahF;|Mu~C@Dy3p3tC~D(eH11byUD?dmUDj(%jn_j`?~d4-(9mGyeiMJ zZ-1MAX9D<-Z@(%u^w!0G6Q9@)rhYYqI^K4TW(xZ*{UdGpPJ z+QgXdI?6$;we!(`wC2`9J<4WGs56`3uc|kMYL%|xL&4qqfOPwaCumAqj2$cVE{z*< zs|x3RoTyu_Du8zGNry?ELPX}Q+`AyP1c6@M!nG0UHCQ&_7_R2o9 z)sQ?xIzV}658g1_-M%b8d)Db~A=|&Wu9{(Dn+5$K{YX-&x;a@GOHBA2Nhi&LEO@1+ zN0Bo#t?FhO5CHnqU6_%TrFBTKC)~Q#^NU?ugXhhfOsl71j@!<9)a%R2$qjeTxI^32 z*$AyCK1s35wsn|jYIa+u$gAs(-(^7?RC#$h<0~dl#@4+gC}^knwO@No>URDbf{pjrtx|62d{iliEF%hGJd!qSbQ8u$cXrUm3AXmeUAxPF zWd3a_`uzBX^vvIjY-ylcH_3eAxXgFQA%&;uco9uxXd$^pn|Mmol zT-C%rdxy`_DxY#n#;7^~Foc@L^7r2(WpI}NtxT<)!CWEjC6P<^TdW#tT>*8fc<)7L zojitg<}S6*6B)FSSeqW*+b#28kU)PTnuZvFp(|rhE}s{y4r=$P$F8;Q^vp>^2!Feo z8D*8@9%CM}Lo&S2e2x0;Zin@ZI-Dk~&liNq?MgT6(7?1FxCR?(U7%Z7{mjf`J1(zM zh}GRJE~?q^o5;R|w)Nu2`?jHQyu9;Qq7Uz!^eI)6+;P*1DRwzdJ1khV(zsc6k(5b- zZml`l%dLN);%c@Ul`>`=Mi>3#uWHcI%&s^# zrjG}3@|~y|zuT@KQ=cH}LLmrJP6t+B6^za@ZzTJvY?V)n@T3md_nq5cBi2V&|&0LC^kQ8}m&szN~vHCz3 zLwksd>e0N%PT|^aioS3{fH016$GAG*bgO1|OT(3=y+NW~y zE#;t2ctx~>SX>I7!f=m~2Yu)&6k1N0MWL1^fBIJE6;?QR=^tl6DAB2&`U@v%7Xw<{KUD5GG?dE}$6sdiWnA9^ajR`a>Hn%Kv!}pUr8uyuQ zxl~Me1t;8OM5|iL2I5>60fx)uvX`E|dhJ^7M}&}#*IZsYkDh(pN%MiDkt=gHMQ2DGy`~ufj*A{iV`zl=Zg{1UI=lg8^Bd!`Nb`O-2k@?!%3is0j(4iY_ zCGj7x0Q6x)yZ>&1LuV0~eDz#vbMN**(olQO7|)Vf9*)Vi$g43XDofG}-6 zJ3hKd=T*py6ElYd==m{U=&F>Q9Fy+MoHgDKHCOo}3#qC!-%g~bd8Zdm6Z08O&qg-x zd&Be`6r{O|Nal;|ty{PJFK4KCrfr(2gUZb0JPwJ}rkIPU`Zinp_3yvCvucqvlV(nv zF%9eL#L#9pr1OL>qaoyF>7)r}p9DH8pi<-J_Q$asdP+|zA_dYQ_50T^gXAMRKBYHh zU1joSC|nWu*3r}RaU*MBK+?r`_~g_alPJruVHrg{jCU!Uo(f zfPA+7`}FvX?)DO|wr9NC)0CE3IU`Xb`o&!BUjv{PO}o089eMvmR64PFA0C6!wyPD=Q?!^C*}K3f3buBx)w;Ag-OKbYjd2!&Rfdnv}x3 zr;fDc7Q3dkR4H}ydlH@rCA;dM#{&%ejZn42iZrGJDs&1(o2lz5qtFN z)r+Zei^oEHB8`-1N{z9%?=q5el_@pDRQxh`ZhCO=$Lec?dW#ATJqyQ&&UkQS`AhF- zj4IO|IO5f@1M-Uxm1=2NQ~5JjgHwUt#e zoKrvfhi1uaP06f?B?VC$chU`uOQvEUFb{8U75F@zIuAcR;SF}TN@nnxdH!+E#fadK zk68_lMHNW!F>~m9ceIg_5zI57j?=*mUzscqdI1m(?^6T@t8AN>x}P>lL4m3z($q0^ zRdtkxMk+}$+ml-czPlN0*tGLwrUkPrS`QMor}!!F@v3?W-V{u~b1yqJE{n0V@e!3( zR48;PE2wFCfhuzSXagf#Pf|`ecu>$3$4kyl$3OWr*LO;usNb9@%eWj+C*#DF0(T2z z26g0Ot6x!F9Ax22WOaJx$sS$ImOd*gx2lsHn_&Y0h2BxGH?z_=*m{2$T)@SEhYAtl^5w8+-&R)ET$2!$|KrA|hFp(`} zIP!S0wc{g~A0f#H1<~dwnz`hB8nFe>^<%@q>zW>2u-YZ`&77POPIkT%R$Nj;=-QdF z{bwO9n8Kb?K07C|*5-6#qq6QbsTgUCV!=2A5{TE8+5}P<#)vPUU1G}(&c-GtOn)8Z z{)2{%2MhY&`|S=V<4*wPsek^?Zly7%w1ovI^!Kv>y|F*ocRhF)-Bl>6u7PFB9L~Q$+6fC3b8gtctZgcy|<3BRh7%Li^ML2mh&+|bF$I5l5Qgzl{sm37_=s5 zQ(AfS(ae~OWcK2fku2)4wyhaV$iN!sqB6J3Ow!>MX1=p4W%|ZY!wuzy6B&_oE(e~UDPWogTn z3YE7pA=4#p+q%2EQ#0UZsp9V%IC_bG@};*5&H`a8+kYsD>O6;F8=mW^Q?=kQK!4rU zg+vYc^&C^cMP|gyJvyo1Ug6(ybd;-jwECAuxXeLg-z{SGyp87s(6C^^o5seJ&VeP@ zv#d0w7P?R|GbPq%c3LZ1y?XYPdG==_ ztXWX?Rg%{UC@`rZ(Y|_D2;vk}`V0l!^_~!Fe`M_BjP43Ch=H%`>yZn_ucKOK;b22KiRNV3?pNedJ>aDZ39Iyt?R-T8~0OXPWGX!G{dwpVjacmwgDtEetp6 zEvT^ugB?{fUiOn4n3Rg8M`Z!srG`Ey-tU_jp3h|M;C}9YtDDnn=6MoMplba#4l(cA zOi36!uXwu7&6Xi4Svq0uWB(^c)6pb7W$=n+f*#dB{KSzXH5?*ZZe?BecBcxHnted? zl~3p0-9&(PH zXJR?{c>;hZ?gA6mX^nE~*pVQiyZ4oWuT{{#q$I7Y6PMSQvSe)F16=g*z?Js2Xl>!P zl>xQ$iiG)rJvYOg_A7HXsHR-Fy`f1;MI^%Ixr6+Kkg^&d1BH|Ir3DKXtb%Z;o1>AW z)UTiL*Ud}K4#(}&d>V2{1 zbCMARwL^%{ub^6$)-PY4<2-s_xKZ5NcSE^U%AP&{0`%~W>_2b-Q_mYXep~>>llQe8 zCFF$AMZu|OM{(83JG@tTR6IRvNT}SNG-b`>Mnug!w#C=}(#5e*OAoA6_yE<-{mi>n(1;8E*A&-n6l9n9pU#9Me$Pd;a|SmSV`hf|D&pmpG1; z51quIrs;R@c$Jk5XJ!$I)koP{r}uUL9^#*q*CF#vsro=XVWs7FGhIqmO|6g$4K4=n ziyQ0%gOa)buvp;;N$?3nf1P_uQp zl)c~IKb_jVF5&@U`^bd#dN1b*mMoz{R~YJ9c-4As*55~Qe@i6plb695v;m&}?u4%1 zf>Zxo^zBZ;xyO35yGx}q^4$s`zbnE+Ww!vWE_zvt3y?fFo@RhwZ@J?L+SYHGeaU>H zo6vtZ&m=cmu35j{R~g{cM3s4#8#?-kI;=OuN~I(v)z{Y}GH;^WjaGZoo6I#=0!Z`} z3+^BA#P58OnZyjRzYVQjew+Mv5NC=@N(lb@(b60(k-|YTw}Y;CT;v##Mzmk!J43qYYuH;#%4!GA z4PQBkR9KsHAST#}{R`aEySBa_0o~WpSMOko_gBp;;^gX)qHat_5yrH(Zcd0QJ4n-h~g*B zQ%Msg&HT%1ku&O(f0}4YrtgE#qG+1kvtSAmj3>Gj4T)yBuyDM8>*J@R)VeDr0eswE z(AS`M14LTLLEE?(h?ZW+FPOprU*FBghm5~6*NJu?O-VJ25W8*4 z@`KHTi=aR1H1zfTDHGtqC#`?nwTYvziK-{g{_>6#`IRp>YJO+;=95f7C>`9hZlaM< z!p@D_GrWc-bv~~LR{|=Tv@ly3ZSmj%_Q$4ApTLYua_{S;d+wJK$#3=#2pDdCn6d4Y zV~G;r4OM#C83p(BbFDChEpv_XV+O^66qzxaL5tH*8V7gtrM7R|W*unPwbU+>t*msc z^oTGmO{#FfNJ{7tS-L5=GLGcQH&sGQkTg~R_7(A^++jvnbAovzpB^&`-3U!kK4}M- z+@@IItku3MR=%6D2OCJ@>k;d%Ljqh0y;1=Zu5wWJ|#Ey4YY&tgvHSuC!1dMfG!w zjp-aD(n_WBr2QOMhn}BC>r6hGn{Yc7hwVe5+Q*^uubQ{NA)u}LTs_ZC$bFn|qL_NW z)rSvF7B7+Q-Mg)&#VW!F?HaufoT@1y^SB8}N~Fp`1t|_1)g>zL$|w+`sMbOAH?_4! z5S5S~AYl(TpM?v}sOJz*$uKO>T0XAb8lj}fXGoGAi5u5%)DiB@3Ij{`fa&P*Yh`T@7==_raxWR;6eZUV5zq$QgjNNdHZ5zQHm}!z*{xW?qhu4ek zy#M_9fLHrk=GJ1Th`<>?=BEFv$nL#_w(a`*75oi2tX>fv0GE`&eWayxFJ7FbuO8uy zFA|b6cbKl$3ADa^Y+Q#9&4YC$9Z^OG`uKc>OGm9ITAG-en)1nUu!)`1k4jzUvtYB~ zIb{vb@@-&p{jrGciW& zv#7{e2WA{GL?Qit=cn&u&>@7W&1EGTT`(ZRoNu87f43M$w%WD1BE~K$MAQx5RY_Gf zoSAz)Cc;?JS%c3KUR}Ni6E`rt3dEnP;?Y%7VN?@$XtVA&wp^Rgn!5B8&-Fi>rEy4O z8LkWNR}iNwUzRV=No8xK3>C=AU(?gB=Kb^Uzq6Y2W9+i|eTgl!Yb4P+h!-hqdL)r> z&hd=R12-`J{hl9<{>YS6Dy`qYZ}{KfBOK{v4SYA4C7Wi6Si5YamE1Pyj;&R17d%sn zJ*Bw@p@hD&GzxtH!pP8gv5sqg%tml6d+Nsa&(2qQlOIItdHN4N3*d*#-xxF}?Q+SanHeriyqOBfPd}r-fkn0i(JOQMpp=5Uo$r>cBGb84N;g#5%@} zn)CQ-$T_NdzFx8@hKRHMBSV6Cu~paKA2|(t70fBf zDX>3lch1skpTQc6zy8KMNG>LxZr`V~a5r)L6lO~=FAZmncBR~|M$fLrIL4rGL{*-dYl7|rx<{Q6mEdMq;i2m;#?yM1yM%` z2>3k}2d)lskkG!baXcpn9KDOOlJS@4>=L!0Eior*3G;Wf(vN%~A_>zMC}bht+ge+r zqB#b<(kYGxJQM1meqgj%XR`1~EuWF++0b+0UE!zca9YJ~=fhM&(IBN@*re)7rhkjw zp!M9FkJ^4ku6J+F=o+>^2^BaK#>eF*%Q-XvQv-8N)bP+%Vx5`){rxxjBZQv{YEZb^ z9Ro+dC%WK+1f%~ZV2@s z-p(9=YA9ApvVPcrL&&qU&j1unM{BSvt$4scz_GUsjyAN>SqS;&~^ zR_u{&J9Y$e!+hS6}W8mbDn7+=8OhLC>t{P~$3pv~KH1CBCy(B}|2 zb|W9B@%GQ3KQ*eQ$Ake1gkdl9Nro9BP{&S@jXJXj0~AQAs=-4xbYXu!ryiC1)3 zU?R_;z~?CMQc_SD#Y1xnnc^gbYbqU-R(h!J9~^74fdK|a)N_DtenFzkf9I+%ZIX?Q zFNZ9ktKu=XKo(I`645)IV*>0WI~IS&%FL!t_nGY=ZVmeH>H0DOh32JM7))E%LHCk( z$C#SJKz-u=1o{XINxn?98oSb#S}vy3P&krZj6l^hHlDGD`x3sup79kPJ$Mj6C}k)d zW)j{XrYn19cLGqj@Ts~=D0c+_7ap{+>-sW%d8Edai{|~vgyVU>y literal 0 HcmV?d00001 diff --git a/doc/source/test_results/neutron_features/resource_density/index.rst b/doc/source/test_results/neutron_features/resource_density/index.rst new file mode 100644 index 0000000..b9b9892 --- /dev/null +++ b/doc/source/test_results/neutron_features/resource_density/index.rst @@ -0,0 +1,216 @@ +.. _neutron_neutron_resource_test_report: + +============================================== +OpenStack Neutron Resource Density Test Report +============================================== + +This report is generated for :ref:`neutron_resource_density_test_plan`. + +Environment description +======================= + +Cluster description +------------------- +* 3 controllers +* 2 compute nodes + +Software versions +----------------- + +**OpenStack/System**: + Fuel/MOS 9.0, Ubuntu 14.04, Linux kernel 3.13, OVS 2.4.1 +**Networking** + Neutron ML2 + OVS plugin, DVR, L2pop, MTU 1500 + +Hardware configuration of each server +------------------------------------- + +Description of servers hardware + +**Compute Vendor**: + HP ProLiant DL380 Gen9, +**CPU** + 2 x Intel(R) Xeon(R) CPU E5-2680 v3 @2.50GHz (48 cores) +**RAM**: + 256 Gb +**NIC** + 2 x Intel Corporation Ethernet 10G 2P X710 + + +Report +====== + +Preparation +----------- + +Measurements are performed between 2 instances deployed in L3 east-west +topology. To prepare: + #. Create new Neutron router. Plug into external network. + #. Create 2 Neutron networks, e.g. `east` and `west`. Plug them into + the router. + #. Boot 2 instances (Ubuntu Cloud Image can be used). Each instance should be + in its own network and on its own compute node. Public key may be required + to login into instance (in case of using Ubuntu). + #. Assign floating IP to one of instances. + +The traffic is sent between 2 instances, from the one with floating IP to the +other. Phisically packets will go from one compute node to the other directly. + +Measurements +------------ + +Baseline +^^^^^^^^ + +We start with measuring baseline numbers. During this test only 2 instances +exist. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 1.8 [0.6] 7445 [850] 132 [6.5] + ================= ============================= ========================== + + +10 instances per compute in separate network +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 20 micro instances (10 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Instances are plugged into separate +network. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.0 [0.7] 6500 [807] 106 [4.5] + ================= ============================= ========================== + +30 instances per compute in separate network +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 60 micro instances (30 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Instances are plugged into separate +network. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.2 [0.8] 6650 [600] 88 [3.0] + ================= ============================= ========================== + +10 instances per compute in tester network +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 20 micro instances (10 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Instances are plugged into `east` +network. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.7 [1.0] 4930 [499] 101 [3.6] + ================= ============================= ========================== + +30 instances per compute in tester network +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 60 micro instances (30 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Instances are plugged into `east` +network. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 5.4 [2.1] 2470 [130] 88 [2.3] + ================= ============================= ========================== + +10 instances and 10 routers per compute +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 20 micro instances (10 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Each instance is plugged into its own +network, which in turn is plugged into its own router. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.3 [0.8] 5690 [630] 107 [5.0] + ================= ============================= ========================== + +30 instances and 30 routers per compute +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 60 micro instances (30 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Each instance is plugged into its own +network, which in turn is plugged into its own router. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.2 [0.8] 5890 [707] 85 [1.9] + ================= ============================= ========================== + +30 instances and 30 routers per compute, QEMU paused +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 60 micro instances (30 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Each instance is plugged into its own +network, which in turn is plugged into its own router. QEMU processes are +paused to reduce noise load on CPU. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.0 [0.7] 6640 [623] 103 [4.6] + ================= ============================= ========================== + +30 instances, 30 routers and 500 SG rules per instance, QEMU paused +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +There are 60 micro instances (30 per compute node). Each instance is +Cirros-based with 1 VCPU and 64MB RAM. Each instance is plugged into its own +network, which in turn is plugged into its own router. QEMU processes are +paused to reduce noise load on CPU. All instances have security group which +contains 500 rules (this results in ~17k iptables rules) + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 2.0 [0.7] 6658 [576] 97 [1.0] + ================= ============================= ========================== + +1000 security group rules +^^^^^^^^^^^^^^^^^^^^^^^^^ + +In this case we assign security group containing 1000 rules to test instances. +There is no measurable difference from the baseline data. + + ================= ============================= ========================== + Latency, ms [σ] TCP throughput, Mbits/s [σ] UDP throughput, kpps [σ] + ================= ============================= ========================== + 1.8 [0.6] 7039 [653] 130 [2.0] + ================= ============================= ========================== + +Conclusion +^^^^^^^^^^ + +It appears that two things have most of impact: + * neighbours, which produce slight CPU load + * OVS flows: the more flows, the less performance. Adding 30 instances to + compute node results in 180 new flows. + +.. image:: chart_latency.png + +The worst case for latency is when instances are co-located in the same network +as the tester. While presence of security group rules have no measurable effect +at all. + +.. image:: chart_tcp.png + +The worst case again when instances are co-located in the same network. CPU +noise also affects - the throughput reduces on ~10%. + +.. image:: chart_udp.png + +For UDP metric the most impact is introduced by CPU noise and presence of OVS +rules. With security group rules the numbers are the same as in the baseline. diff --git a/doc/source/test_results/neutron_features/resource_density/router_vm.hot b/doc/source/test_results/neutron_features/resource_density/router_vm.hot new file mode 100644 index 0000000..b6a8f7a --- /dev/null +++ b/doc/source/test_results/neutron_features/resource_density/router_vm.hot @@ -0,0 +1,41 @@ +heat_template_version: 2013-05-23 + +resources: + east_private_net: + type: OS::Neutron::Net + properties: + name: my_net_east + + east_private_subnet: + type: OS::Neutron::Subnet + properties: + network_id: { get_resource: east_private_net } + cidr: 10.1.0.0/16 + + router: + type: OS::Neutron::Router + properties: + external_gateway_info: + network: admin_floating_net + + router_interface: + type: OS::Neutron::RouterInterface + properties: + router_id: { get_resource: router } + subnet_id: { get_resource: east_private_subnet } + + server_1: + type: OS::Nova::Server + properties: + name: server_1 + image: TestVM + flavor: m1.micro + networks: + - port: { get_resource: port_1 } + + port_1: + type: OS::Neutron::Port + properties: + network_id: { get_resource: east_private_net } + fixed_ips: + - subnet_id: { get_resource: east_private_subnet }