From 1e909cafd3959189e491495d495c68a186e493e1 Mon Sep 17 00:00:00 2001 From: Adam Sanderson Date: Wed, 28 Jul 2010 21:46:30 -0700 Subject: [PATCH] Making the formatting nicer for the dot printer, adding sample image. --- examples/graph.dot | 130 +++++++++++++++++++---------------- examples/graph.png | Bin 0 -> 142876 bytes lib/ruby-prof/dot_printer.rb | 26 +++++-- 3 files changed, 89 insertions(+), 67 deletions(-) create mode 100644 examples/graph.png diff --git a/examples/graph.dot b/examples/graph.dot index b524cd25..36453a5f 100644 --- a/examples/graph.dot +++ b/examples/graph.dot @@ -1,96 +1,106 @@ digraph "Profile" { -label="WALL_TIME >=0%\nTotal: 1.401074" +label="WALL_TIME >=0%\nTotal: 1.382985"; +labelloc=t; +labeljust=l; subgraph "Thread 2148237740" { -2159428720 [label="run_primes\n(100%)"]; -2159428720 -> 2159429580 [label="2/2"]; -2159428720 -> 2159428880 [label="2/2"]; -2159428800 [label="[]=\n(0%)"]; -2159428880 [label="make_random_array\n(1%)"]; -2159428880 -> 2159429420 [label="2/2"]; -2159428880 -> 2159429040 [label="2/2"]; -2159428960 [label="%\n(15%)"]; -2159429040 [label="new\n(0%)"]; -2159429040 -> 2159429340 [label="2/2"]; -2159429040 -> 2159429820 [label="2/2"]; -2159429120 [label="rand\n(0%)"]; -2159429200 [label="-\n(0%)"]; -2159429260 [label="setup\n(100%)"]; -2159429260 -> 2159430040 [label="1/1"]; -2159429260 -> 2159428720 [label="1/2"]; -2159429340 [label="initialize\n(0%)"]; -2159429420 [label="each_index\n(1%)"]; -2159429420 -> 2159429120 [label="20000/20000"]; -2159429420 -> 2159428800 [label="20000/20000"]; -2159429500 [label="is_prime\n(98%)"]; -2159429500 -> 2159429740 [label="20000/20000"]; -2159429500 -> 2159429200 [label="20000/20000"]; -2159429580 [label="find_primes\n(99%)"]; -2159429580 -> 2159429660 [label="2/2"]; -2159429660 [label="select\n(99%)"]; -2159429660 -> 2159429500 [label="20000/20000"]; -2159429740 [label="upto\n(97%)"]; -2159429740 -> 2159428960 [label="1593581/1593581"]; -2159429740 -> 2159429920 [label="1593581/1593581"]; -2159429820 [label="allocate\n(0%)"]; -2159429920 [label="==\n(12%)"]; -2159430040 [label="go\n(50%)"]; -2159430040 -> 2159428720 [label="1/2"]; +2159427600 [label="[]=\n(0%)"]; +2159427680 [label="%\n(15%)"]; +2159427760 [label="run_primes\n(100%)"]; +2159427760 -> 2159428600 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159427760 -> 2159428300 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159427840 [label="new\n(0%)"]; +2159427840 -> 2159428080 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159427840 -> 2159428760 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159427920 [label="rand\n(0%)"]; +2159428000 [label="-\n(0%)"]; +2159428080 [label="initialize\n(0%)"]; +2159428160 [label="each_index\n(1%)"]; +2159428160 -> 2159427920 [label="20000/20000" fontsize=10 fontcolor="#666666"]; +2159428160 -> 2159427600 [label="20000/20000" fontsize=10 fontcolor="#666666"]; +2159428220 [label="go\n(49%)"]; +2159428220 -> 2159427760 [label="1/2" fontsize=10 fontcolor="#666666"]; +2159428300 [label="make_random_array\n(1%)"]; +2159428300 -> 2159428160 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159428300 -> 2159427840 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159428360 [label="setup\n(100%)"]; +2159428360 -> 2159427760 [label="1/2" fontsize=10 fontcolor="#666666"]; +2159428360 -> 2159428220 [label="1/1" fontsize=10 fontcolor="#666666"]; +2159428440 [label="select\n(99%)"]; +2159428440 -> 2159428520 [label="20000/20000" fontsize=10 fontcolor="#666666"]; +2159428520 [label="is_prime\n(98%)"]; +2159428520 -> 2159428680 [label="20000/20000" fontsize=10 fontcolor="#666666"]; +2159428520 -> 2159428000 [label="20000/20000" fontsize=10 fontcolor="#666666"]; +2159428600 [label="find_primes\n(99%)"]; +2159428600 -> 2159428440 [label="2/2" fontsize=10 fontcolor="#666666"]; +2159428680 [label="upto\n(97%)"]; +2159428680 -> 2159427680 [label="1562487/1562487" fontsize=10 fontcolor="#666666"]; +2159428680 -> 2159428920 [label="1562487/1562487" fontsize=10 fontcolor="#666666"]; +2159428760 [label="allocate\n(0%)"]; +2159428920 [label="==\n(12%)"]; } -subgraph cluster_2159104080 { +subgraph cluster_2159103200 { label = "Object"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429580; -2159429500; -2159428880; -2159428720; +2159428600; +2159428520; +2159428300; +2159427760; } -subgraph cluster_2159104200 { +subgraph cluster_2159103260 { label = "Integer"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429740; +2159428680; } -subgraph cluster_2159104380 { +subgraph cluster_2159103060 { label = "PrintersTest"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159430040; -2159429260; +2159428360; +2159428220; } -subgraph cluster_2159104140 { +subgraph cluster_2159103120 { label = "Array"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429660; -2159429420; -2159429340; -2159428800; +2159428440; +2159428160; +2159428080; +2159427600; } -subgraph cluster_2159104280 { +subgraph cluster_2159103340 { label = ""; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429820; +2159428760; } -subgraph cluster_2159103860 { +subgraph cluster_2159102840 { label = "Class"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429040; +2159427840; } -subgraph cluster_2159104000 { +subgraph cluster_2159102980 { label = "Kernel"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429120; +2159427920; } -subgraph cluster_2159104340 { +subgraph cluster_2159103400 { label = "Fixnum"; fontcolor = "#666666"; +fontsize = 16; color = "#666666"; -2159429920; -2159429200; -2159428960; +2159428920; +2159428000; +2159427680; } } diff --git a/examples/graph.png b/examples/graph.png new file mode 100644 index 0000000000000000000000000000000000000000..33ed5761b1888c93a996536d333788caa9a1298b GIT binary patch literal 142876 zcmcG%byU@B*EP&J*0GO)jTjpx6qHmHF_BG3gMfqx(xQZv2**yuEg>K!-Absm92E%> zX+grGOQaNucdm{1^E~4l-yiQgzW4JU_c$Ki?BDgfVy(I6oa;K*m5&^rKWEh(4i1j_ zOxc5~930d0IXI>b{xuVS68=&k2>+OAB!BoI$0YqPG$;BV2gf=N=D~gHP7k^p9qm0w zCSUj02Jzih4qPXbcz;p&b|dw8nOM*FhZY4^q{Us!(Rx>JRJpABVVvhyBg<|nxmD-x zt}7{g=I*|u*PwDb^I)%R@EtqbsUYLYmkg(VSNQEOjGcaYeOh$k5BBfYz1TQ?8vA#9uN-E-6n*8L zzvr?4jAP~6|J^UlvHeT@M8UkBJ9ZQrZYykT)Z2Bo``!4j5wWw~M@>ots;hF(_UKgJ z@2X9Xw`tB5UNO(&{iCqALAyp8enu;WBx%HJN{x)xBf3H?!{j`}VB9+{)`q zHtT2DsNPz!egDjh`#e28`L&WB9MjV?*|x%4%JpnUW@em%zi`Uar+)c{@2)M{n0B&s zm9vXWKn=H~eT?Utoev$lYW(Zx&%Ed>WH9ls!}!>k@wOGlmX`60Hp;YrZz<{TEq(j; z2tK5d<1(b4tS?oaq^JAp2B%2%@gt8PKVBtf;Vo(39=h-1%#JU2q-(g{$L@w2I5|CY z8R<<_k{(y*k@J3+Vp5_|yJ6$TmY$x(f2PffGU;GX-pBbTx2?KepcQ1?{r>SP3}@zo zH8FUffcmTRS4WkHAGZAVF@M#rvsT&LRa8`L&z`Lr>Z&!dv6*bhDDmbCf3VZeqB+;C ztY^uhMe7eAK3pBIrL@bj_uTQsqK;p}8)a@OpFaKQWLfZ5OG`^8E8kGLGD>miS6`ky zYwezMF=u<~V~t+jShd~g(!VcW_-xe`uTIp}$~xO4TsoAX$HEM9u2}J-!J)CCVd;t$ z_dl);Zq)r!aC^yo-zdevs7H^srOrIwnB`cTsQYyAgH2wM;Wl0d(~U zKftW`^7@WO-g!4|9UY62-o{L~Ur*%x1h?AQ*l6qO3W$qq4z!k5c2q_ymQC%YkB3xS z912f0W){`g>*S4nm(L!?@|PHHGaKrxo?X!0n57jQ94s{N`PuIGVewkY7Lya>qg}~) z!5_-<^Y^j5#Vl+5Y62eQ3Z2-tLiF5^(`p>PD|YSLb$g{q!JzBm!>^qj#-29T)oH)> zY6=1(`TY`r{y zx7HFdee2C|n;ajBRk4V(sEoSJ=jC!2`zQ|QfEh4QB9!ONPz;h3EAPT5)iD$I^uOl4 z|L`H+An&|Tw_3V|2F;D!<@pz8|M>Z{sJvXII!@ze?L==@U+3pnH=}~i++4O*HTT?4 zb*vDxB33P0J;j*GtiUGX{QK`v3?bUZjXnBxU*ys+_DfHW*)c0BBIOmW@2r)oxIA|` zgDLO3<$CS;AK#8UJ2~xk%+-B*s$;n4LuXS?RM32@oL1Wvwmeh zd&Y=0s7=zN&1T({y)$3iyf)dOw%L6$(XrW0Lfb)3RaW+zjOUu473U-6{d}XNqxm%x zVsNBXaMFaj-SL`!6T83k^(8Onk-LBPA1Sqm2WK;dbLySH6wLP#GH9x@>8Ob8tVs-H znB(XK>^Sq;&M|8$jxjb>vo38?4B$QNxke}TNFPyiB+Xj?+y?>*4M? zYzd_st$L3P_p#18CLYUBZ7U1$%gV}WW?-(D@D+1He#fn8JTFLL+}x3p)iW82#x zp>gL;{QPp_;^MPwQq$9Y1_$Hsu+ofP&GF$?*^fOD`^2U>Y5r>Q!s24NJ$v>9h?=v+ zZJM@dX=zo*s2qsbOsv=(a_)PDmL+@H_O|-Q^?Bp1k5p7@apQUM?h`)`a|&pR_O$Dy z7+>#g%!-!x6O6T}jw=f?#fp6Y_H7$iz+{cCO)O4I=K1kVajW-U0X)(2*s_`>zFUXd z%Quz=OX*fretcJ1S-EsYj%=b%y8XxJe^i!X^Q)!ZOi~WpAF%zzl_b5as3+DREZ&9g z1&@%o5CxBf%iLz=hX!gOjQid0dd~AnVY?Qg}W0}?SvODT)1=BE=z=@fZfh1dwz9`FqIDY zvv}k!ur0q24T+^omtjM2E?vrSbaYhHJ$m#$qvI;~`FF3m-5&&)M9VidHR+^V_#n(D z+T@LE4z!ik7TjK~w%Y(-neN!vwDh)vy}kFnd-t#-qP)ER*2{6Jw(r5T32}w&ay-RU zlJ@@AC-QHw^S6)xF#H$fO(ws8e^fDKj~?={AATWgi5WiUs2ut=(id369yy1sLfjQY zBwM^*fTTlQl!E_5tbu=$LuVBe(X#y6nJ@OEgB@*e`$wAHyYes2l05VIVD|8{XFHG{ zT&{Z>JUbm$|I|ik)~s39bt#83?AkPgBpnoLpIX&D#N6ejEnvT< zmviLk=HcB^QanuT3$4dSuM~Q?B<;N}U%p(7?2Aw+?Ksw5m#UboR3K3G?|#4o)}Xz_ zQQL!u50|`ty_p%NX*(JfWtu#@;N{Ev_1QT&JW_6)DF|Y*DR1BSi#UA$TC{vP!+kPW z=FZwgBu$I4AN`%>;a6$j0R1QKnOP&+EQ==Xyn)`BD(;JkVOy zwDK?Z(h2*iFU+4e^CC`0q-LTH&ojK5Jo2AF`58b-&9Y#rp^y2~6d&wRnKpCYwdFE1 zX3etf|NM#-eE!h4)UrL5SRKw)tKzg%Pcm7E08u#gB?SdC2;y_*&#$Hwxq5Yci2H?(o_bCzw1`S8@nag9R~3-0J}JqV`cto_zyDv0h%2HF zql4ylep8*{0!=|eIy1zq>Nhk`rm)8psOJdhm%JifV~ zIR!8x)(Y4y|0b-Lb+#H&!Nl5nD-)X+`RH9=-lQPY<;S(hN&@183c9{Q*&wN;`M%jMYlk zXGMe^xLRCRri5(Ix_I&8{sRXzvYpOI;lKg|_%Y_M*`aLu_JIoGp8fZ)Ol&j-?sMP% znHcR7^5IjHVcGv0wyusV z*O6X6m$Orgmb^jlDy4uIR~JgmFueXaHMR2o_7iC?L!HK@Iam}$f8j%jUGl1vK-0x9 zUToC19MeLA9Gv*oS5j6c#2kNmsxc1RsPNy<9anO&obkp*top|%uJTO}6tnaN%-w|e ztQLffFxuj0kaq5;Ek%AHv?}1i;{i|AV^voP8(%}T3&$kMvNkE)U+3!Ts>ZR2`Qpm_ zd#S0ZNW?M7(>&%mrmdxc(FiDU2o!v7$EIE(c9UM-g1RWh)tvn5?UCcfzFRRDIy}xz zc5QDvDwU+G?`>AnkIY{BI4w=Vw)y<{sQ;hanEXc{g)(CCno;5c0s`Z}Tv(cI=`=JR zd0%fv4~i7b$sGwwo(w)--omOUXTHb)`)tt9`}gwP_=DFM_wUd0OWe#vGzpM$eRA^c zgV;|mt|Agn$bFZZs)ZRkye2$Jm~g93nk?&UM@MY7^FTr1X5A-NtcVSV zZrra=GRRviblSB571gW-Yh=H>08wp4RR@3;EpvNSB)>*n40d%Urc+?|RGjeemak1d z5Ot8^P)$NC?R(5CD|qHUF^j5qSRnO;quYP}{AphP@KBsidffS6Jrb2i4Gav%`(JZM z1^;{{ z@2@W8E|_a)ix?XbWQZ_Ym1bV4sy{gQCGvAqwsU=+dmbTI{wo|{8wV-Dql+_|%5>(=V0HU>aTeApBy*K1HND;jty6uGd}W0cqb z937Rbke~cbBk5nAxBSB8D_4rmL^qjHnSuN}TG5|sTBaF&Bxo>y7B}Os$~TD^H@!sC zu?!=NuI9Wv!DG)t^>bWe0bl}lIVSZs=OyDQn^$miaz^4n5sPrMySw|dUc5%UFU14! zBQfWGez$1K&M-1EG8SD`{pk3MrHLap^H+)D+*BW7&z(n_@2CCSHgDdnm+iEDUsk^1 zHaER~=Ym@+!-E>miG1)$=1k`qhkYQOD-v68WikL;*t!7ytz+%scSJ2~wx~6ml=v1E6){nL2F2zfq7q++ z^d`?jS%P9}`%rgXWtAz;X?>;xCH2VdCkpPL&89#&JUl$x0`%JG=bJ*_;9hQX?GkTF zk4VtUur+b}@#$)&%TOGn10b#(iFFXiBR zjEEqxd-t(r%a+Z4+e3UJ=m}z?Ufo>Y_5Se*NvCh2z#JQ}Yt-_9ZOu^c)u));%>D6s zE+?<@Uf|Pe->te|L0$m;DicwL<3C6hQjlX)IhNG{HR$C_mkRO1CdJ-&eSCa0laBGB zlti9xyFBs;X_e|7l;xR@eZdbNJox(YW9XWlw)aQJu&Qy#GE%^N#3L72014?lJr(rl zv}qG#BJFB%Dj~uF6M^(mSL5*zit8Ejf3iO#EB4>ab5o2+{?v~1@Lu8H5!4(j1qc_Z>#XxLiMm>6ChFU6J;KP?3HukG#k6P)`RGB#e!|0XGSWC^G!KL%i5VN;Vn z_WYc=bMJu#4G#|oUS5juifW!&0Zi~lTaf);8>Ub5Xam&nCCZLsFTnIFk(0L=e1d{U zCyk5Khk9C)6VpgvfAQ1Wiv*$3_ zt}DuB_+k_K24hV*~XoyohnmNS<4GbNr;(}o?iX@ zpJ`&JKkilIKtcx4*@C4k!nA=N$1PN=MKVBum?bon5gqq?I={z>Erh0e7p{iUrS7rqedP{F_5>Brf zU=K<(<(dR-jp!p>Cdlng=RnY^0`Txi&Ho4V&I>rQ%Uk z1TJVw#!KCj2?uKSj#!2B6OJ;e12K`sfb0VHRzf59q`&v5e%mN*FkuP(tJ6IgPNWqq z;NnNz#XC{z1m}4jn3zu>esVH?urB`Y*|TR!n_%#PukLS^+w#u&?6+L(S-=?v6YMJH z4YZd!%c23C12%jbC{U*!oGdjfD=U`88^F?pgalD2ZYYxV>7>`JG)&fM?m9+$c5kZ; zv^=I4kNh&|Bb!QV72ht1`S{TgS`E&JKA*l2G6o$>lynxQ_qQJae6(oHOb5Rc@_FYy zwg38>f-Wx(uYE5I3iu@@bv}Lilq{-55HZKqai^qYCkkQcR|#)Jq(e>);>N?C>R5+CFn(avg%vwpgSzP07dBvh zKhD66XUNMw|M%bh*!#0B;*tCq=78?tXF!>PuFo4E4n&I7mmI-)QdqBn1#W3+;h8)4 zrqjTbCYTTQq z&f?9Zo+}{IW!&WONc(%ungqyFbViut3)k+BX+Hl;5jb3U)or4>fr>ODWbYnan2>kw zXUh5UA+5$|XAXe>2YGlGBmuDw%uHZ8FzyLAmkY_ctXfO57Cu3E0To>m*k5gJ?O0IY z{{`EKxd4HfK!jc5)20eUGW-6|hmbgwP>`|rIdB_4iXSjDD$pELjEf#(GD_;|b~44T zT)k?Eq6if5rTzQ&r`fd~f!d-;eEHv}R^FEBdH?tTP_e3+S-bpyEy|?#D5kEZwKeL( zjJdfLyRq&Z6%rTkjxafl7hhe##R>@t!Ra&YRrT_;?`zW2%d}U4Mp&vxD!fPSwf`WA z{~uKB|Aqkn-(_)&@7!SArn~?c`2QR&8((--o#|_mBHW2W7JNxXX`qC|K&xV7uA43d zF+zci4%9nXeHLTx+_@%Y!Fnu;^f<-*Hci?5%Ap=O14M&yZaJzvW9~9_0O&VoZD>Bf z#nC~UzXYiqXRRHSr=(r$EsATvhV3AhqxMh;!dJ{$${UKBsR(5%hzB18XYB1w^78Ub zRV%B6fB*e=>GI{#vlgyxN7R#a8I0lE>xvy?{uXOj{OZ*qDm)RzLF6YRKNr4zD_9yr zae#xd9He1{9npEYZodc^dw6hgNx7)wNEiEyL{ox-d?sdHua5Ag@#){oEnmMH*EbHu zfdvnRbjJ&NW$82ISPO)CnvI0SM2$!}PJ$3b0fHR`@()(mUQLfvT|$pLfEuM1GHu%V zaTlU*Qqt1Yi62NksYsL=HZ)%Oxn=T3RB=?=A3JsoV)hHCTI97bDri6+6BYrPNXZ`P z+-4AQxw^0pV=-8g67yegDT>L}jq{C*VUwHe&p z+(A3e>_?_jftE(vJF%1~$|cWs-_MYzIq|v2pC~gQ#{j% zRejaak|Pe*s~nu6J@z^NMv0`ziIQD8FPB<4W z3d8d{+RMY?iO4~ce50oy09sNFIv63baS)HRMUW*UAvSAazlu6KCLyuVV4B&WgyJ_$l+=@ANgs zdy&?@twPc;L-~bS@g|{@L;@7s>foN<=;>stJw2s|(aH;GCcFbGQ;$+u2@zid__kG$ zD6+jX_aiOGb_0L{m3VS5K&18>ZFy?VS*2&P~G%=4nJ8TAQv3IvzC}mBv%tqKmJ);=toy_(Al^^;1M;T zlh9OE#HdDe5!qq6u|Fnh2bFv<)v!{|wS)FubKJSH@18wczx( zaZ6>ItL8idq&Y7r+b0xLLQi?3yu#_$DQ=)CJq8n2WbzXrWzb5lNLa*Y8Bl4O1QX|6O>sJ&XXC85IPyQ zkr^fQ7G7_WxArb>02;vJR)JbVay{8=t7-)U(f9uT?T#yBqX16=#H|D1V+q3=`)948 zhjpyL&S2z!%)i+3=~EbL$iOV`rP$FA_KXjzLF0be5E&7NKc;iD3MyBIJo|Z`c;0h) zkP`<{v)zNRb+T8L)`CPYoPSkJzXo(;r`oa*>13rnKM#V9d`u~V&E{ z(B+FG9Zo(Jn0u0r1W86>;)_ujg2e=h*%K-^sqO)5j_kN8?^Bb#Q;$z zYw$<^32Xr~sEoF@wk$-nWkUK}+}+(tjXM6~3guqH)=w6GmZp>g{7h4Yb=_{sCI>4v zpT&&Mg@FJZC|3pI`Ww9)5z)z_y$B~PV^h;;0D-_HfO(mncCA%xNr&GcHyev;Qa|5! z#oU{hCPfU*&CN$mXU&>bc@C82JC8r6Q545o$OHD)=D3ce!IV_>EL}_7?A21d3L!&J!y>At9j|GiJo%1)?m;OG7&RVEge=KEMWm1Ydqj zUF}!RyBok5Gb>QKs+mk^A&Ey|vzP<*w+fO@y;t%jiimG(2ne9Oq~vGkXOsfPC;e2T z4y6dpwkQ%1CFqJup`$KNP7&IF5vj*iGKf_W%FfQNdU$AVV~(p9u&MaeDXCaQ6K0p7 zlP*Wpn`>VV;GzNufi#nnWn1+!)q!qCv0&+^Kka8$=-T8&5+`ORTCnyPfH~ zA*NMS4m_*4xp2>qz4+>yJJJ(oy|8$4a72huxL@--wl9{FC^-fxY9o{66!Nn$X;<S-zUVzgC68KEG4Iax>rBl~f zUFR2&0vl)YZP}uLdVJN6)1ff&1<%G2n`&%a%o9d-(4c1+fNo zx-0z7o(jk(Rfvwz3l#t`P%OllTZQevJXk8x90QvVIYn{u<00=w_Dqxg6KSC_!|pJ+ zXAws}nz@Qa3kqg=9DE?!No6pZ%kIb~55a~I~#!GNe2|#{MW6CoN3+u zsOJLTa?6*&=>e|#$df^P{gw1Z14f$>4mY6I!720h;hZ$c4=jLP(I#iew_}YceZ-5h zlgi|;=1Fe>EkQfKyMnuSUF@z)wz=@TNNg3P`PwT|rY_Xs|H5Ne72NUt79%B83SKRIa9DEld`Z9w^bV)$b9ix)3SGtbKb*YF7o zS6FqezAb}&%4?8&?qodsv7?kbuk#*z_6VWb9%j4Lggo08IjYR{b&ZW9AijnoEb>Th zg4P4QLlrR!^vpW9vHsVi;MP?egg~8RqHACajDva444i$xML$d@;C`0ey6Ndz1C(u# zFl*f8(D|b+#2x559)1;n6SfPnV~Ht^_jhQAL%cK7x8W?vvwB zQAm)*0|I3ii22!_k3dpgn!SYV19Ut<2OeqJJZJ<0OADO;*Vb0ws4k+kWt(a77lF7W zyCwOrMCa!d&qpEw-n74dwU|W&IDZ2S^1A0-KU=V5;V1<<;t$7D`@_|2}+c`No6*f0Zm)6|8ecK133fwjVNDuB(x;i?0 z91~Dmui@fC_Dpx`p>!t*2@32VPkb}d9MzI^Tv=EuJ`%fF_CuW-SdSRUyh7RBsMpBP z2FHm|w_iOF^u~n??}+Lx!PEDSl6}0a9COIE>#V|Z!DF)bhG5PMg=a0Ed2dtE+OGc? zI~}KtofW|2_p1BwYLv-ho5}P6LXBAgG$MB9^UH%5GbgF?qN)bab4zi}tRQ9d`P2JN2Yv+K3d@C`v1ga{!PEp<9Dsk{fuX6dB4gIW$8dKe zS~K5GbZ<#2EG#r0(tT`nS649Q^I)MXD6eS*F@Jk0H;Aq-S8S~Et z3l>mH0Q(sSb+R_I2GC>4gK8gjoXcvMZI+}-Bki&juGVi(Z+3rGP+$QoAt6hdTPsMf z1}u7RKMt@{3~l_v8Mai=^r4H=2FP?v0Hl=ERM$jH_S%cEVJP-0^T?4StEA75S?X;@ zRO4GvPj-rS|6`Co{TQ^Vw8tkb!7xzq_!}d%ybaO?i?Cg<87kf?iBk^@8&Ycp)NJ2s z+ulNLb9oLYMLGR0w%pZpj9zXrgc6uGtG)Tu?BUv}eR2e#(*acS(%U^K7Quhne|~x0 zsRzYp6(wt&4dbC-Phn)VZg{4Ga)mWGc<55|0R>@C?k|XVM7*G!9Entk-T5OXS97IRW4DDYLj3!H!{H# z%}zq4eF!+W8nwJ)Ew}Xf1Q0`Jjg+@a)Xb|xqZB|yfWdfa?}oa8&KWE+ zfrg-TP0?FHj)t$hZ!kz1hDWmc@rl<5r?H7Trz=$cm|@khxs;KE4NAtWKRnR@FPaW# z#dH#xqahi~vB)ogl->@ar+*aQwKxQ9@~)xgtxmVpBD_!AT}7Ii={yhxAyPf-thHJo z0u-DTiSU?EE$Y&h_!Nx8w}X9TmPFu>y|HX-K*Q^PRY(^G=lU0BV zj*n`HQIKuo$d4-i6v9I89KDY_dq{V4`B-k z1&0vL`KqFoxWVF5twPE%lBJ2cxxd9gZM>FHb*r2_PJ8TH51isSxZW`Kf9NSt?L{=& zW?@iX{d7PD+CMx^#;V1E66wTT5ozWPOTL|-PZ$tQEOrf1ZU};l$8WGz)a-eH1J4B@ znE1o2=K$plI#ve~Y^xyOi}w&j&;*nKmIFC3go7+5dv6drIM^b7`e#);UYhw5NrrXaz~?vWq~Vz!d|LZ zvwAa#GC*B23z3}*Wme{)v->hh`({Pdh(a{dE^fG#34gf)KJboL!dGJA#LAf{B6%Pxvm?jvafD zA%D&q;%b`p2XS&3AY6GTCnr;b6;va0U|3?Qf76Wlv{b7~a7f8j4MmG;ABj^9%HUF| zSAl{Ge39E7ugA7xw^I8SnWwO~V4l#W9eUy7MPfT!-uPEG@DQjgWB}AXR{*C7-ehx6 zQ;sga;4a)BWJ(585DP2fXltNN8cH(k^nk1?29Q-XN~0mFPY^cm7 z;Tj-ZK`?T5ek56}yZ4yRCI?kw0o#sWD7eE7nS4~9>{l3>s7dis3`Y&9MI9$p15uDR z5O7|rpf(EPUEt!5VrP&rNx}8qJ7ut_O!#zYN9v@R9q$#UrQ16*914@;A`Y)*zl{rE zSj!qB8Fc`rEh z$Oh^gNa7Y^Ks~l|=0yDo^hH&}C51n2oGNLZZoi*B zlcNJt^{cOt=fEd0RiPk(XeIU$8Bq>kM-zWSutbGgIR5!_hI;7UKS(nrK?CuPthTde zU3JQnQw4rOVf1<21y~-s2_YOx9mMUztPUDYo<+uJS~R4O(a!i}BK{$cY}?lZJ&de& zqOQYML%of=ZU?g)B^h*jo7T~z;Etsp8nq9Q0qkMa3)7CPwlm zVaeRY902_!fCvDpM-^C516@kgHAusUKnvn)C8QcDrX6H6i;vI$p>#_GH!R4ELnCZQ zT#|XM7qArs@^Ua3+8FZZ1efSXF5kNrz$$sZL$`c-S zRA_FxSF8 z`fQWK_(c23yy4^T&sz6ce)w`eE5p3+Mb}WaCZAIBNZ0&O)o3F zbqRh3=j+;eX_oo<^_qVG)mKm|K^28mf zC_c3)?5z*&JLntu7qJJBpc${1^yjZ=v|eby4$S5U?U&LAeEwoTqNAhZY}TCaIpAnX z$^bd2ZebBueuh4xzS!H4L;14$B_Bf;^$z%#g0T`S`Td5o*$?3VS8f}b>dBcr)a2UN z0aZ@sHHBg2*~&N)oT@6Cm>@MJsYsA+IX^z%lsWwW{96|Kwg}pl?fIpEq#-`_igP^a z6}=|)W-sIBPKJzFWc2u$gSDzE3nm9UwOU^vH2E4JcA^TuS8UC;wE8SzztrTh*}ee* zaSaW}z|MUSs0Hnz1s`8VtYt~XYMbmZIE*adqG;J8fpK~iUt~YXJ!$$tf4>T5^Jca< z56>YKMf3xzq^!Yz+~uRCzuove&5O@8_ERLXHXpUMB{!n(g6pT=LMlb-ezO0LDP_~W zXV`CVn`(2lA=UH_Xgm7Q5i}m#mr0F0TE#|d*Hxxwh_+DP#E=l4El(!Uaus@v`d;?* zH@uO11hoS}EBV3V#%w$-9$+?Lk6R`d_xD0=`>#(z_lNwMFfAauFDX?H8^jDva z?eS7Sney@iM`yRTv_$T48;t?jy_~cXCQ^+NPKU%rgs0&BM7qhX0O@|qlVVBe1w)#x z?GgiLWnGtTJ@W`++LRXnc9B1(&1{D{E%AGJm;SR5@r9d?JRmv-&U(e)8)hGSLcer& zTG(Gwg$+OrS(cNF%X(@%b53Wk37CJ|GiSC-UQtB1SO+$U*12=pzo(OfCh3*>73}6J zu*I-pcLKQlXKFmy&n`||{KiPjK=MfZ6r#&hqVfwv@t7~0k zCnhGyiaqt!?|0H!*icbX!HBKECm4VPQm7#a!@|35ICbRD-l9j`$0HP2!A_rN<2Y?S z`sn%8aq3<{<6q>%4j3*j769p^F!`H2J~}mx&yTS8idr3=CX}?;oqRxHtGGy7@CahZ zqK7F-7#(#^;HXmqz2!+;@%fRRD-l%;U7=P}JCLfH8Z}x1pK5Pe2IbQXSrX#dU1VTr zGGF1kMwMHfA7(U}Q3zA8C@gCvdn4BP2&Fdyy4w=|1;gTaB*OXY&iEf3hlm6Q7stcY zjMqScQ(RiA0o5XZ;k}{=cr8{xs1k?0V-PMael&vMC8pwwp($@ZM<}baId5`)vu`_E zH^7$osXa`QfT=k$DvGwDFneSD9h;VBeqAEmq3sQ!%=^7eTw&NmatUAoA+r~0yyjZ7Migz>(-!+kVKwHj-F+0` zOXT;M_tPXdfCDrU51h+ocltE7M$MB`ABL0pAqqG0oc|ujX7)_{YCgOn=)nV05ULZj zE1#>I#3LTfnKQ>oj4+!^9{(2%uyYC~~_ z(suudh6HacGouKI35}n^J5=gcU|deF&Sj$DMQwGG2_C&-O!<3{PwN*)Vp6~ zZ&+np_wgaW#Y>jZUMCcadZZi`6uGjfH5*UMbn1VI_{Tc0{{ijW1%jiqw?v~dQ($VYMPntZHr>di) zlYbOPM;-Mdq{LXn$2hQ3B<1`Ol4*~!o)eTFb`WJd4vv`5Sjy)|cs6e)H(C9&Gvq@C zn>L#yB6NFe;A?`NTUP?X#~BX!W@Y_ycwO@Lt?w(NyMcip#LB?>X`_=w)yRmfY0-EE z>YWLIeqd{7M~#r^%Anp#SQxR}w%3PhC(9Lr+KR>?{#eRN2QZJ<*IPT~j zf?YcKXvL6&%OUBKWCDmCbI`x|02=p1t?NZ8^FhDJn#yM@E=ez*#c?r6+Fc)Az)#@4 zvM<^C)C@%snNi?DjeuNg1}s8t_4r%4V;(+N>Z~+@SIPAc#g1Q0OoRM()K&9#S6>Vy zvrOpLVnDhuABQyzG|J+r(G?JI0#5DYZG^~H7{krv^1Wy?EJf3DhU+Z}qfreMzD4}eXrKF}0Fo4TLk!d#+VNp^C@CTFM1h@I89{d#n$KI~Km`jrGL_|^> z+Njns+>NQ_od%jm72TnOXb$PhXbY}{p@AUQ3a*lEME~Mn2fI_tEI{s3Qyq%3r?#c< zz~`BqJlTmW26$_o36H*?g)e*bcyg>w8a)7N`uf3V`tY5fLE)8Hp9gRjvuQepo!%n88DGTlYad=y9GEs7T{`V>ztj-;1$>VI6)N*OWfy*1 z1r#TSG$r-p<3-}!aX3p%dO?swGR{5LN?F^`fFi+6YW>2WlftM2wWP_VYb)a3O0JSq zfDdE}g2+KVUc{uK&(`N>HsZ7@rVcV;nQ#bEa~^J#c2r5AT#D)S_FhWl4qC#uNvdAn zj_gi{kAem$F%TYFQ3C*wikt3TKfD1m=O>;(&I zAl^j0d86RaQ?CIKX(H|i%?|2}5@rDyb{{2&{YX`6@ZBQ-Cz8Dc-!Fz|qgx@F{uORS z?0KO|&f^Fyv^8~4exVKcNQr*<&y_1zW}<1He6lcP=tG{DIUM(m9B%NSV27E5TPQ9n z;=AXJ%MoJ14O0zbB23wwo4Q(w@+mhlsGWl1gYWNAy`b-Q{QagOE1pW*=~@>8QHUf!q|zjlmTsz?-YMqAM)wQX;Wl)LQ~i#D{ZZhzFLqB1oKjIUeaT zPH8C6+s`i=;;lK(-KuSd9(ZI9k``SUS6*Ult%M2Ds(Z&+!v>K1Dsw zWNh^=+UWA^3D_K7EE}ntim$D4E}?b}!Ru3Je+)muF?^GLWWSD101|biMDsZ{1m$g# zM|?hg`4TSC_pDQ{IluA&bM8{QOJ8!Kw zKp%AuR>i2mpzc#-%mU(qk1v7v+mD&#zop{lTC`_x&WL_^_|lH%$%&_M!)<1g!xO89X10I!*D3^xD}o-OO}v9H{{s3XX}%@k z=`-qO26GI)tl;E{v%L-4%WfWWAM3wbT0m|+!#o`Fk28G*_2Le%bw0T1UQs*mAzREg zc1V6LHk=w__*}hIj2|fD*}KOu@MwS%tH9TmY&?10UttpoE95FGEf^dc(m=VyH?^Yd(c)?Ej7H|f!%NAa4Tz zn)2wK7_cVfn?j9|0EMUvhxvN6(K(5^38!Kok^V{1eQ?D!NF21Q@AcE7zZXI*e&$Je zz;jpcHpznd?qW!lz11c*%6AS(WPsoZNFZFyUk$jcKJl;^Q5a-iR&XT z&@lp1jzdfkUp;laC=_n^`t@r&#$JP7{#%~52QbHK@BtVIzsfJA25z2d4Ddg487(%t9-1gCXBTuJ7Y| zPlEz!877s8C%`XnGqQTr?-ESH=&!L!?T6o+SVU4Lqo}aZ3p!0{fr!7toCOO6 zHD(W&`4~>x!*4?#VC>heiU(}M*wj@udBd1X|N_L%vBd0X_4zJq(83r=-^ zfB#pxj^O>_o^}X3L50!&{TJxkA|{e_Il_+>ixXeDw}=YuMJRxL?%oYcOG~p2`Go*p zP4&gspJ2SZf?azvS~HL&yHJK!;kG4F6pH9?9uA1C#x@#yBT`0II~2GT=qfmNx)*?q zWF=q|`)W6Y3$pnlNGM-W(v-yhDt_}u9jDq#@)U#?RB?m2jAEIyA~M|K#fuqC+O60@ z3_d=-*mp8N>gwu<#HYSysqw)|7ep1h!VzR{ou~-L@A3J#5+-v$Y7Q{8i0rYbHGMv0 zlaUi1N)$C|mce&!-mHYm0K2zybp}YhI4F6j0{sEC8BEBs?@$fF0j7Ie@9fzpz1agt zsGE%Ly@Dcw8eW8W7cdoA5rTQ=Q6$H=o<4I%1p*MN+X&bpasJ=Pgp3sctwJ4|1sWOI zoeZ}q$kwk9E1ch(1KTL2TP*0ie%$uBbhI7{D^#s?b2dbZeEpwIf%%HVdH4D7fZWV5 zR6X?5cj*XdOHD~33*u5|cRaVDv2pI4ZA_Y5&1C&V95&81u2AerSR3y$n50`;0I;C6 zM}oXFhs}cS@PKzo|7#}?0sx3yHef@8%%|wBxu_D!6@`15o^(8ega+##-_Z^VPNCl^ zR(GL^BOLwbDuTpLSmLe^>b708CTYB60R0o9$ch_YAB7DHzKJbOdWHFiGtp0P}4_!%|f>N10lBQf;T>NuhmHF)~p;###z zZVJE}VdtOb0{%=!-Kj1ZSOvqVD%$QoXx#arw}_it2yl^dbK!O{70KG6^mX`}83rLc z?PSox=>-_X7>7-g$^agwOaH6oL%6bVx%SI(HE2vjs7}4j4*dKqr=(O10<|j7eNuR3 z2;vCHfCfSbl60eHXJ;HPsz`a$MnwRq4Cr~K@o$mDsRXFio3Uv;hr1eNS+Zm=U^0}F z<>wm14$K-yOM8k=;wWI3efzuhqzZ$9Rt1PB?F@0>3|Ng+owetG9EW40JMPQ} zbtK=U=^@XY=)Nah$<_!O!9@5x*avVwbQOm1O1A9vm_0&pA=IV1-{!~`0ep!vS|gL3 zPk~l+`FwpdSc2qTGE|5I;OS{x(oWPwo5!+qIp{KltC}!wJuc&;O8`)j=8SzWA-Vz_ ze>f3{7!=*|XAg%;SJ>6HnHISo9vsXH)K52mow?ZqQ&>5f_Pe`}ZTfQc$`!fA@oe}b zcZ0C4A-2mX_{bqV*{5SSPWI&+aRNwAR3*fslU-uX7u>qzixz6S^v@WRvGr;zc$ zW6Y?TsZod;t(<+0N;~u&^B47ND|d*o&_swhm5<9EG+boQU_~T_O7C z`VW!&5;ZOVkM-j@cPFItd?Ub^v2P7TXdx5$5C~O-BCIX(EqCqO+S_N;@YrA=01IpmYbco{8GIWz9>9z6JMD@<)*|Z=YJ+1AeSpsEnI@X^bP_db z(s5_Sqf0arTDAxTX8~BFaVbnNw#|uw{$Bw3Af3q6 z13wY(jwY;|i!W+t%?#pFSsnETO&_Lg8NOnch#L3C2p*%|G=-ukYrl`KaQp7>e z)oOG_(gv!BWvS`gfX_>+=inCXLT220uYXbtnG3TVfnOU8*arPjBO|1tXH39s7n~7% z@$a${M)X1$Ti~q_8ahhVJy0Lrqyd|L9x9BSRtH=;f^t_qOn55*8G%n)%IIJhITX7> zw$f>Udji0rATPH#v`&(Hm*hLPFb@C}2rrkG{@T-toX)hP`NcJn&bQA4hfP&6F+fNq zMU9P(Cr^MJY`-nh^bXfMRU^E0>HjK|dOl$eY(%X)f-v49Q^Z2;spX2s)rB{%U+1&m z0D`zYq?&UJ$jG6OOq%N^*?;{*LRj2%0kDXev*d}p|Y#{3Tq9K^W70zsEf zD!x8zYg<9)Y22S1=xHf{Ezf4Vprm}TKNepdhoDb@8X_Ovd#Ct1PaC}G3G4}saPj9e zvK+i&;Eymm1zbd-f(Zm+VeswBA>DSEkV*?ucwnanHBoP`aP!qe(_m*AZnwd^bddlR zD^XvTA4aAD6=`3sD@lh_-70~|q!nN#=mx;8+9?OAd_qPkzsvssv@g}8)a9T1t9KWz z)0I|`M84G)EqAF0ER@COqB23HrsIZcxatQ(MeZCVO3a7&nD=|p?LkZgS&WdSYEU5E_B0-$>mG0hj{xXl!UM6hjqMps7D77! z0bLvRTdi1+S$=dEKV%6~is)ouF|tssy_0R zs(5zh1nTaFcDC!ril{X!2#)4pC#g5(+_`gANZS;NAk51g7E!>0kxdF@G44Cjnmv0q zxr)ml-vAyyLDoo_*O(X%!vloRWynH->cu}l}hS5#6bqv*|>DpJ37 zPh}jU6+&xP0?v3BivI1A^$sLsKw+UO>bI&%4gv4=sCYLAJME{2Vr1J`z(~5qkEA@G zpdf4eY++o>m`FSfOhN%@uf@g2v8XmXam4(JjD;ne=7Uy})r|M4HpEEx@{q385(+UT z0N28ifC$;n5-EooZb1kqp!qrcOWhkhXXty05E-?==02d5g>SWh8O+V;vAu7V4Et$8(i)kL;Mm#iSqgLx#f#)Zk3icAU=xX2n`Ge&85}f zl)Cn)5f@t1c1fehfX^`~m$BC|X114N+g^P8P_p~DJl*mFP)`*jAb%114=}JAU^fs5 zw>-5OI7cYC%;AhCn`LiimtYW};N*z=WHj!lGXwbnu1ZAmWbC&q>?2`&Mi}O5brTrb zTySI45N4J{CqjC(zqTHGri_iP33e8KR_Xvoh&YhC7EOoLiw5H$NknL#r3*0Vnmp7L zRUqXK4Aki$10k29SYc04_d!F$P<^LQGjhKDJD2WLBLEK$mF_gcv7yFKs-F=J=#~TO zK*G;k<(6kxTU0{~Lj9Zk~1|xXyG4RD7|~V>2M%`b*z$6#d5wfNNdok|`pEL{7e;r6L6nP>%{&k}IWa zacweYi28-6glfk4cufJ4!+)eeR2gWVO@!`1(@hxLthbk6vPx-1yqpP8rpeHk|3iZU{N$6v4ofI+9!wL4Np&G z3Ngte{zmvIAVFvPk{jgJ2TIk#H4J#ZI$qW1{(ZCG+iNdJ#Txlp=5Wl?Hz!je zVkE;;WrltUnb&-zLf>W34UMQ(#dlB}yGI37a^;qDIJEc?Q6N0(rmEFRXTz#3F`=zkdK_namC#G*+;c_`Q6O zLHvZOM;!@@gH(xb)#i3y@wSg2*TEGBnRrUC-^&M@kwcCLQ$XqxFwAXF)lI~$uvkV@ z6BS8H2rnn1Ic~(Fdkvw!{~jaZ7)&<#wK(Lg!AXEpA&+UfiWPMMOXAMM^6mHphxcMy z%qsBbBwxUK-HA9Q^ZGF#2nRUyYNoOpdmkGv0h8tf{vQDw;(wsgiF5dZP+QCx$NNil zRyELQ(s50dT>9N?lt!TTgdo67xdb9AQ@ zVldB7!oJJyCOG9rQJ&xUYb&vL$nnu!zWQPc;i{h8h$EQ@b&ADeXoRBV5QNCofMe561T1 z^rTHwJ3gNlviK6Fg!Be9!i#MgPO#qX>H`>Zcu|cVp=0)Si(=Z^w|L&Wc)jKW^6gJ{4?Z1 zA_D*C$kd@|(4|=vS}f9=2Hg;dD6KMzs;f1CUW9fa97V%g7-+hcOq1Bh{r`)r_m1m% z5C8w)cCtc<3Z*EaGDB8M$t_xt1A&NQ0Z*0TT4lb^sGOLr3b#LWM(8%f~LL&%_yh*%eiYS#``c=n6$N7P9D>06Ja2d`I6TR2{K!+kjp_J4{Ev!f?5aQ7n8j%5t-!AzU`8GiGR7S` zWTc}rBwW<_pv_sV4s5K%*$qA;5P3w#D}n;!E8i``p+o65^RM^yVzlVP0iGPloU+}N z3d%EXr&<+j;sd-zzYMG4!RpB0IoKwA{krJy#S@Y2;Pa4oLQGNpE_A|y{AWGU$CFL+ z87)K=xAz(Rq7Bg{?xA`~?4zPbO|=~c>|-UZ@_fBBa+M(%m^%tXs5_DWdzypf5mouZGUD#O|KmO!$zyB1wR{$*l1<*hU15b3Wahbd5J&XD`nou{~bY`u*YV)xw*C0mM~>-ec8lM z!~U-YnhmOXAYc8>`}gsmK6(C$%M2uI3z!znF~O9JDhV?7&4&+g3RzhuW^&vD!j-Ni z^8X)7)aZ05`RrXnr(Xa2$99QW8qy5zc$l>z${3yD7pU7w9nL2yA|z%>`7BkWTefVG z-0rTO>Qvt;Ze+Rt`zN|dQ=7kas~baghciYbT2FTJmH1PIt;9yo(cG53DDYqnc2?j!3i??q7zs+T!H%KSFv zuzDXzYwC8AV>Gte=wbB~V-w?IV`q~LNtGTlO1JJYBqF%W9#U&1MC`e500<&;kdC!| z`kdXdJD>VtuAN)cc1uoRs72c&;ufxZ>+J=$_1zO48{SeL)S2>lPw*{Lrw$)uO@h(Q zpguw%Y4>!wEZazM7{oiBhaZ`C@eEmAoZ!@s<)DU1H%BB0>Ovj3f6VPw;W6MDGV%aC z3r20?x`K0MW;4leU6d^cBDAfR>= zG;st{Qa=jAYUKpzt|^+x>C{k)X2$;3q=^|tgNKPqAajWUqlr8 z!^zIqxygr)^~T!meIhpjForb!MM)l2M@o8`OSTtqT)yxtzqLA_Fg%31D$aRiOpGD%nqY&xw}TtO$9ics2}At>2gM<}U#p3E z`ww4Q`~zD>8R{Jv5xwE0%TrSi%ui@SY9q3IMAFC6x@P??3}}yOH8^8*)Qg~fzRy3X z7WF=mt{E+QHY3phBnf@Zg~Hv-l|4CfPg~EwRJxAs)*DVG`yIJ_AaoY<-=3a)T=2%o z-MdfJZ{G1eD7wtKlBqd_sL6NCrD-QF?GPq(E`Xb4UXtL!ql^KPy$_qG_v`Y@`$+f2 z`ly=p7i^NqR9cphVE<7X2dDy&3{FH&k?q<0<@ia9+>B2Wx>#f`T)428=MxkB{}@^c z-QiQD=jx#9s&SIq>q*rU(9Vqs<_5O5r!YTQwj=YFlbQnt0Hp3ET(q}6}#y9!kht}He}4W5w^zLx%UoA z{4FKJl6ylomOWribhN|y9I1(Hsh3zHa6#eJKhU zoRQ9pg%sOPTHIrK55#^gFBC32Vczeh6_D7$NJ*yBnY9+6nJ1GmR+5D@>rXnFEd+J zN0aC18S3b~K0u2_}k0JGs9|` zD8iJKBN&mD(^;BE|KjqB3v3W_w5Tt1A88aa|1U*Ok6{gl-{Xi+ncZtF=$7D?lmNE6 zFc0ma?dZ|n&UJ$vK;avOaxFHwLW{}r*EoQ!+;&vb~`I<^~kb7 zk|(1h6qE~%&ZBGffP2U1Ku_ifgeI`e;sJVE-= z0ADeX$6CM(s@OLryC%e8#y(0fOXQ?-%?{-A7K(Vq$ca${6%&+#b|U(CWRe+I`XHh} z#3-fKsdc}iQi20RlybKD%`#D#|Q72CIKs+&|D3Dl+FteSL@_o)PwwCW#+W7fnP~hc-%&twu{a zhc3a&&Pk}9ltvpkTWWiEtn4Po=!~S+@g*`A3qvn*NRGHnpHU4t0*`ReQs0qQG`yoy zBbRyq-aW$m*A|&H^}7+iUb4lp-6RZd;RLHH;>iIO&lU+y>6SU>|RAdqM|?N`#35$z=L9`8uih_D|J+tS~@GkMCrYX6Jzxt`t3CQcP+0}au& z)1m#cPmC9eWC!-bLcsOf+=T4mtr5mN{eL%Ic<@D+DUOCbr2G8fc;ME|d1F=e} zK3_}GITqhK8l%_MM{}kfb@mm_a$ZxuKtGhZ1DnNwEg-y$O;>724Mam4pgI?FU>UOI zlgmNrX4&@2gz!E&d5(Mc7oQGg(>nU3WtQ z@MomQC;x%XKH&dKN)~{~M0$)=e!Hki$Ig+SA)>0-=ZYPQ>y}D=YX=a`;o)G&axaf4 z6@GudI<8DE19(E0?|GiRqd$7t3>WPqM5W$v5||4JS8aQ><--HYmj2iOWer9AD;a+? zeA(-@$`?DgawZXNKZVee=*l#pZ^VA~^%vD8x&t-qJ{ zJaBPaQsdS#fFiif@zX_;Pma5Sjg9F};7^zEWEb9ufX~<=4B%9 zA<XA6(MrHq?kaUkEDUp&En9^EQS~v5gci}1N!qjQ&bv?jBDHF$Jql-Y>cuUomeeA=1 z5e;1Uct{6}e5Th8374Uv$i6$n>?@;$yHa?BtCwnEI%!6IU0Pp@=OE>i88~9oQDb57 zI&Zx`{>sbt9GoIa3dd`R9D+7uB77B%8hHL4Iu9HHi9!~P*&2EFnfC_aX$jY*9sFOQ zgEh>x IwsP9b^xwLpfyH2Bb8hoz=zWhPx(Tg&Ao{%OQ6L7x{e_;Rp1nD%AJGM7r z@WX|?f^@x+G!bzvdj~2yr})khtiGl<3;|0&Ho zj+A!t>RMV|X3Z*`8+so=V8>g-TWyCswAH^jG3pQ8WCO)mXAq1M^p-Fuk{T_2=Cz(^ zB^DDXBDc6ojRaQ$1j6mpC^Js-PBO+3$K`Q%|60m%zEXOqEOH_Y*|~G$ua{;hh!7aq z0wr}`WR5qHfi;rJkn~cSJ`r7n^zD}Kz{DPs0#Y%a*#6)jH~o$aT|n`*hKz<+W|4rr%n--!!@I z7#^RfZgFNvc({S?&npr7BWCwc9`vs8$7t8qQ+7o?{=B}chMdl|@ER8F?l=IVv zxsI+$2ZAgAGb zpxU7{(~$bb^R5`Na~Ce$!)L}AM&)3mPSF<}1M%dPTLZkCqoZR9DwI29pd^*OqTj!B zK%&F|;Al3!Y0H+^K#fgIO;c~(+C;b6doW_=D-5|>>r4OpPg?kUSU0s$(MeyvImVfP zkCz;Qf|)00{?R0WZbe{5(`8fAByQ#$Jkh?(BX$J`*JsURu@@;Xm;OgTI(K4$z;)|R z0iG>dym-!|W39n641MGM4YkZn za&87}RW6)mYJ2@{Y8JL8Ta3`>T8|y8hH3irGP&KjapTaf4yU4OHhSorRX$_r8BbmD zYd&l6UHh&2CdQCQ-i~A-+%J%@Xec3 z=q~4Y-dkS*i{(oE4o)-f;Z*z8^>qT(>a007taG56t~FhHq)YD2n>RK3%+q@J?j6%Z zB9V@ka=Be*&FWO=Nxi+tk8j$wOPempuMj(VzPJgddLM>PdY_(| zd7q}S;ONs&Td9d4ynPs1UM}M z^@PO4eRMtZe3Gz=6e-EI z%QNraVDgG_C!Ge6!QT+^TWF_1HH#oWTU!&Jt{wV_Hf%jcXEl2_j+P_%oU6QhYXmCK zGRD?fw{9I{CcPM<#G6^MN$;ii6Q=;X8XFgPSUYhrvq=Y{GCl-{$mS-(o$$~o*lOkF zmF1i`8+ZKpsP&DtgMx!oX|n`GK~J??+(H>?npeuhsBFo}O1{Q_Tsn(GLB}|pU?9fC zr6xD+EjW$5I8j=>_LwSvjLA$~xn9SPZ{EGThC&a_ttIiVF2PH&Po)#bio@#8;gHpZ zZ6}TF7X5RjA}=qG?0yY@B5g&4ypqQtKzJD1QMn+N$_4o{(oUVWNCA>bTqL8qUQ#npsDxn zg+o%k%FkazaFcg8U9)?iKC>th$22hiL2eKaV+D19&z4Gf4E@WnAt|#D2q%|+n(+8mwW`8IuDyPYZ z)cYU>n*H!d3+d_f_Y2$q`NF2ONF%#mjWc4CT+uO&~6WmUNk*)qlxG7&DhSbFO2|W|samKSqccxOOdNt&Kp5 zMk9vF+oHUZ);9II7jNQVLuDBOh~9B$`Dv?S8w-6fnhxE&ha-+`m96^;=>}-l>$h($ zZERE^X&m~8e{X`}pzG*bV#|9cruCPZAxrc)X%=s5D2=sGYI$pC+<|xQW6cGN7Ii6E zTKCwvLyc*b+G)UmUGm7VZA)UOZrQ#)Wc~Vj*l=_eZ=dw@@%3t0kTG)p)s&O~0#62z z)B#_xp=_pqxNO4sj>^UHs(l83$bR1^AgDP# z&@jXTA3ogHb_Rx}@3Ia-m(13c%{X{=0;mk(z`2#b`q65BeE-n@_wg#5{{6Qng?Ss# zoaqfj7FF|8BXoBQX+@Rf`c@UUhY=k*abinuu};^nql#_%x&xK5&P}zncIHoS@aG-A zq@||^V$jsuw8`dC9)xy~m2WXz7T&@Y>9x3CG7#Gu9i6T}co2bO@Is~}4a=77)bgTt z6}K>xR4DP(Df|ARK4WOvd2?6)Xs%C-3%!cv!%F>?W~D|7?ZIfCRfnOQo$#zTBNq;{ zw(fzqLl#CkbG>-`I8|Ck_>oS}o-^n5yLWX{*vA;E!`+_}i>aszn75UdB@2*w!CYAZ z+kU{pGtPbGfpVmIr>R~LV~D-UJ-@IMJ;&Y`6}irxJ7UqIuSN@*;oU3%HL)qtzA)In zFEI3|qjSi_KRiC!4%miBz{S~F6y5Bl8xD?0L{Y0&EhGXq!-rpwDh7zhvA+8JIW#U# zAGe+L&1dRVEdnt&7Mn5#v&WDBIqI0GE3ZiW-oebw%pqr&Cabk6DXAC6yzj~r(VKL9 zDk{tdg%$0jlos}Bu|^N~ktcSIQ`*3dx`75?MY$<5kYWuBD+IRVxP1{&A%%H;jnNIm z%1o#c0ib3Gk26s^!t*r-M2f0=$*Y`B`;+9kKLuKh#4Z^ID2X}@Og6=*kvLVO6wTyN zQrXT@M4*UcT1qzHXe2*xgcG)J*sx&)g?vVkW+!jPL`5AWlyx`^&0m(&?lAFgHX(}o z;KK|tI^|P3gTi;K81#ZQ4Y=py-re4H^jWh1^h&Hji^1~e@4gd47#sxqCv#J`vWvjb zS}~5Lk_wJqKOY=*7(>I6iTnlCi;+~{UwQnq^n|ED4YHoPl^^)v{$$8kTKUBiG>^!l0NO5;-LkL|Q$ zoSk|cA+@o(2Gw|^isfGR_V*eT%EY0X214R{Y7X=}XHOj9nIpx1ad0f#!~XmFH3F&M ztxR%9|Emr^UBE63IOW-d4HNqMk4EOXwmW4PQwJ2@xOV5~mCQ=7sfFtxmM)k0RvQ0L zNI7rx?e2KyEfqlfWu)`X+O`cnv*fdrJ}^U*!CdQ?KODPu?Wzb-H{72)kpN1;dcOQo zxoGj}YMW1Y57gs`764dQ$CUd7GUy1V7+TQ_fR zM7S_#;BU$qQ5W~e?7XFrKQ$wx;6G!N^@vL#3u=PPYxG-WKp-+sKXbh|sxWaW^m&Ln zTDT%tT8ua%mQ&%2<-!9{z~^b-3VeYCJ8)-mvc*n=R8d8mr~=+eNwaV$3Q%`Vrh zHPg*)MM7cKEU%LJ)#f>b243FYGq~m_pZW7uUq9t;1!sO!SeQvgCn)WkdN+Rbrq>~h zScjIMwYc3A^slZjBf^#%wW-rxi`~5647gpC->(m@s~#PnAs90`!Q*e~Vw!@U={Lx4 zpkt{M6%mon12*`i{rg2`d7aCI>AQ*wyG=Nv4vl4L7vcG|h1F~BPRh$3|1c`$HlJWH z`CkLhlzmbFV%{$7`WujeBW^y^$^MwL8iheSqFpB|ro!xGSkbfYD9(vub`%x1_+Kk< z^X1ES4DcFQ`L=n|flGs@OxeNL%^r9g9Pwd!JF^9ffByN0hP4a-yQF|Yd3Is(hDaj^ z_ou%Bbv$ej7DgAbLSb}JRB&^mE)JnbS72sv?L-tNj}S;2pv0z_c7 zbYd(gL9qx*8zRxBK{|DVUbHUwFDYgBawpGUr#~$_AyKrYr5f2QFCEi&VMhh3#5b6U z?XK0n=O30Qt$h(^LgUB+(liA{qX97SCQx9=k}C6dDrn%8`@41)*X>*3pfG>n!?_hd zDb~Jo|NhmdPj`^~p2l|Y$F-_n{usrs=?@s7J@|BE2XsO&e=PPl=-00wrffGYF&}on zbdn0j8M9`|jEaT7o*8QnZO4|*&+m6u-Du)QP?rRthN%NiDm~-D&ljpJf-VjI+<21N zfE7Q+n}P#LrB&Z*>}MojY!qN0Ytz(C@P9DYo?+IsQo)6fm)@UPcWW%1-N4`9T?-If z*-JO{k#zN~5y7f<=1@$adu9Aau-O{wz_I#_KHhX%5wdI7t~WH(lIdPD#YfDSzL8N; zQr~v`G{Mh!L)zQbG!Syyn-1jqhK9o{sc2|1*c8|V?;b(GVI)HZY8pu3g4A99WbQYn zYDb(RisZva*r{992clzAaf<;124v7*eG+=45j~LXPV-v2)Zq$j;MC-cg~^a&MkHzz z5P*!oReC}cqY}8DUv}GJla7^dHJ&H5=-JndR?`hQJ^lw)6nx$+0bT0eID_iR+lHvv zy{G;|1NF`%jmw*ZH*7dSn7Nbr2$BD-Dr<(3K|YehEqWLleiDs#O^i9mDuK~d{clfU z&Wi@UDW$mE!@9El%&EyQxGEY0{l04+Z?FVm5SSn+XD|}SD;5f8& zO=tXucX)M2KGT4-wZ#9+WjRc$11D)r=U<1hhlkI!U+LtSjgfPms9a%fSU>YH(*Q zZW4om5|+J6tp&bS^9{OtGGG@tLok*`u#pf57k9s%TGG%x2W9C-a^$nJH@!lZ0 zm7NV%v_SwGpUAC#8qB93-#@MY_3Z3>H*Kzep`xz-X5%ltDLNQVr_LKF44J*s@ z$qCE3~$Q*x<`Q;G4&sF86zShB|{DqyhwX zCHGuWP*#4v_~kt@7FVDSjY2>|{@Yc-+{@@cCCN z*U^*mtlvZ59Ime6^eg6!KeO+j-9Hf{h6DA;{640-?H2$%NvkQ$xkF1hWCQf;i4AvE|XkkVRc(w->zI4Y}Q>yzW_qW1j9V97rA(| zVSs|tcGw*j{HX+>j~_?l=#sylqZY`Ev0q3=f})~YqVq{5mn9KGTTnLfC*iRymmF;v4zgvf<^{uF8% zRjY6D+`f<+GZ^G+zT(H%Mozvj$nUkScvw2`Z^*NIk;^e|fo&-O3*pNTM{lZtXz2`t z>~-cBVufQ0TTpiQ9R#HSu|=Lg;TgorJ@lKp?OG`@fjYmePdD97-@-O-98dgwT5Ghv zIJuo2qm?E`lyd?;K<@B;lil4rBCMGKb~k%&^7s6a*4BlQnLmE~u&4d4$XxzePWX=4 zuptL%#nE4^?=@7ufmAUmcp>^TX@6h-d><=HzVSWp@i=m7)M+v7``n5fM^S*7^zMDT z_l9oCiD%Dd5>hEqj)FQT+k7F?;`3o6W}&Z6m6^PmFzb;1Uu^J{aIK z@}HmO-Cf8t=O?}70SI{?d^$TLLsilX#g!i)jYz})ySM-IOJrqPv|UNZz`pp=>#!kr zkEP#&CTQ=`9sUlJ?>u_s4wlx%F(H7QDJg$u`H|9}^CAx=xtKv9KL6`7r3G1#HD)C*^R{l2wu1jjI~6v@*4eo| zX?8@{Dc_EV4S=c}5oR>)LQe&`*z%*lKujz^J3{tLcLpyCKFBDCjUP{Ce(Rp|U+g45 zFrm8u$k!&a!FNym=^p%=$EbNO= zrG?F+uk=o0jdF@&7lL&so`J;Bjq%3n7naxOBiEgzw4%{5t(Byt+3%$w#}pziaRm z&sxL4Zh!ie;#u?NjRu0}1Q$~LdVs8-Wp;LT9m-Av+Z-S>h*&5k}CDrY?pn4?xM%*Qa5a1XzXx zl$H*8Tb!hRDSOGGi)UZIfB*g7B*A;@?xhGClaq`LFao&7dG_oqHkx4fAZoYmnZS6X zdB*8xpDPO@znr=~XKlk&g_^8L5mclE+Q1oi| z^XJcU-b7kw>L#*Vh!4EZ_R;{c-SWyiF5;KA}wB%0!HiWk#6R*K^84CLMz{rdvp6cbKg!Ep7E5YfW zc%NZFJ_r__A<%PICf=SaEzyhZPn>;SP>_MFx9`d-Gfwh-Pdt&#_5oD7{BUJ88_|JS zzh{G^hYlW`F`ufWb~KuFJhwoH+;Q3KCxvrQO`0+#`F>G$SMDjf#4gD8e7gMsv+W~} zK;;;E{CHQ=x7?8Cy)J$5@h^K@AA{}AaT$Ni(eCs#2ZxHa&2CZt+T&>HOVvEH--v-! zR8*Yt2i3mTS-Mss+`u)PHWAH`9Dk?5Qb|ck`;Hyg;nCf1ZX1HVR&XV5O$=fBpR>Dr z)Pa-3Jzi@U9$P*8*qd{W_B*XGTd-MM#9 zNQwF7hqEToG;trl(6HUWo!~r2v^!aY)s`YGHs$V1XFrdq>Na0WDjcg3h*ARj+Q0he z^fQ^93`+{1-pvaof@a9qx5xsgA#E~2k(}}Ol#<+`_X2n=LQ-u6A@i%W;AJ#gx4z3D zLvFdC(&q@XpxDH(5}9m`i3vV=(wI^KMoP7%MFAp%8?*@@j)}uD-RLv7n=0#6Co)QR z(5AHpUvX(0qoZ4qUry{FlGQ=o$_4RH6}5uLxM4X}-G7eZ!QPR?zeDADh&Rk_+aG!s zt=`S;y&AZ>x~{A$wT7ZSJUQuz`yMriD`H4Qyn+ORqa<_Tk zrv(d1M`loer*3Fp8?Q|2lo`~tgVT@g1jHGrhI;f&m>FI9}zWsUS7$wa<5DDTLEe@Tl!fGDrSaE&5Af* zXO328Mh2j})Mvz)dFkRg+GA%SVa9=6qnaNK@k+CsyU$>|8@C&{k#%HRdu7f-kb`Kc z1@3mp-21HxAv}SmJ*fxd%!HaGUdep)D2n^T;V;*jenxz(lM=CraDEdhc>;RKZN$s~ zmpKbJ>^bR}xEcYTGE|PJpmTW0+O>6DTwER;pW;w#mTM4_hMU}G?%Q3^T5P$8b@l`> zQ{hR;OOZ9NqT5a9zD~Vgps%9Z{T(LLXW6nDbLSqlJyTeA&urk5PZ~giskd*3va{|# ze=i37CRcYn?cNAtCOs=F2*mF$BdsW{bNcR7(Odt?jo5<+o3(0{$>#BfuNj5}Z&v>G z!#MGo1fXU(8e&o#&kEv-58TJ)_Rd#dwI;)uZzf9 zhAdjtlPO@(taQ#9vus&E(%H0Y*Vb{)=420PSTRB@z;YiU6eB$)PZ7sjzhT34G=#-AM<}zq3iwY3 za+;Bw(tW9@by=BDj#0i3odjfku>7YPkw)I};`u;HcE%Yq@+0P*Y+7BTfS`de`7ks)O5}BONu3M>Cn4( z6i`1ZyZMa z_`}UGsf4@c4lm2G1WlVazlulinel|E#7=!Jc#Fqp=O0zcKvwT2_m-_lRt9kT+k9Lx z(l>YX3Bx$sU0${rFsA&Or+Vp1F6K>Q6*KZ3;!Rg5LEj^vZZ=T2dW{G{uDXD6C_P+B z6_*^dD8?rG(Mn6GH9Y!?JKo*(_2s`_Q{O1L?!@D5cuCfLOp^C^et3KCjGXF=i#{m* z%fp-MNGf$$msmTU12{i^|`d-=Nb2djvQ|I-q)B_qN;IFlA}!Bp^zZ+4JRJkcEoor zhN#!<>WXeWw&fCrsEND?;e|GgE_db{AfoTr_gkRKr!Zc&sYo*TA#Be&Vk?HOb*%G5 zQ>avI0ot2J%a<>w*TQw`6NNe!C>6Vt|NgxV!H5}ixI)#Pt3kyxBt63>mJ-*3d11B2 zG8Fp?9ee3owdFvezcz#)VQnUk6dw0A!3zY+TGU<588C`n%D{OqSg;@^D@z6JgWg_~ zF8P@9qB;WxOiTJC?=o+T2x$=Yytsi~-qvS+TM|qO-Te^q0||aV-ts`p^Tu7fZo(;; zFynalz!kz`V1TCXzW8(2%0#Xob~y}Adqc~~)8{?>A1y#vkrjDZcfLbbn8Kzqf54SC z(Dak+G6jDWGurAORww5=?U(}^y% zt1mSBbRKvx5j;ocT#*V}a@kv>7Q*VqF;1!P?$T+L$!&rDHM~X>uwX!QE-H1c>o{VR z&NLVP0%ell7%a|~lh+G2vl#;WhOzi!U~HQW0jB^4xybe@{r49u!uImspTAfdU1IN_qy(#DM&xx_O_PsmHXE6d!H;E@8=PU(P0sv%x;%RR^AEP9y_3~rf~CD`et<|E&3=d1~+3GyXMLw9#~$zZq+uin2m z*zh6w09pk!&M7D{R2nvX%h5(^Lha{pDduXl$NUWf0Ley?S=He9V4u*Y$mnfkMPvod z-oH#9#62q@kT`eoVh;=>@$tjZZ^P!UzI>RgDG@WV7(z=IGz)T1;IRDzVm~e;|Ay|= z>bEF}*5h12CW7^|3Q$hYdmz zg={8+C7Vc?B|eRC9>-&kbx!IK;&6_*L82SPh$5sQH4%s! z$6)uqo84u<%I=U#8GyMIGeYv)*xIHcDZ$Q*t~aSe&30#MFaJzREc=1g-Hd#X>In@9 zM^?DqCoSJpZg2f2O*-l7uEvFUqmZMN0b(SRuxZ>z63PQqn=YBk(X69XSK($q0vipV zJ==hT=|c8`%TeGFAarSJV~CJQlF8z2N0$BG@D`qfYtascS45Xd#IdcoHS766_4Sn- z_ZtMRUr$xbU=TYzGp#Zsz{sJ3EXa%RKI-OZdyrC~QaAG{rdF-4dlx&qlxkh@IKx9=PaGNF(4201vDFu08>@tzruU_OFy z`;@+Ul9xw>(wy@!hZpEbqx(!aR=X5oD2PAb8WQw~su$HYt#>dH??|k-PpU;}Lr>2q zn@Q*e^i9ft7lb_#%_J2y!9hV>##*@0IzZw8!hu`2Hb)4I&?4(*a82DFJ+_hspYknt zmzTqylYQ>Pd*Nj3;?e2LvWj_Ud3G;D_8ZWvZ##-&p^d@XY(|g1mX=l%Fayw4#uo?~ zua%#lf0Yc1=1!Il4$(-*(Lu>9qVX4dcJDMIp%CTpHDD<4<=y}+2LYvp(*qEC_oQ!m zP1L=MKQdaN>Gl~i_Rk>10uym+nuQFJsOiuU!<04cuV3_Kl*QyT-3`pmchX~rxscy)AXAh5%HEU{-yU49Y z#(NrdHAeA4XgBXCFh{wGuJyop7~yr9KnsG+l7ax-oT(Tu9I@}mQw~;k=ePi@9GQd{ zCYyEdl?#`OZEGaT zeHr1b`;uA9s)Pvg(quxUJgFQRqLx~(K)d#1PkG^Saked(+&L24XxgL40b*f5>)x5O zwhSPK<4ePL?z~9^Bg@5>y#pAUdSOv8uEz^hSV0UEPXmmDcWBF+cJE&Ir$5G$Ae!~> zKMupenHq*Nd|}Vzto~eQGv6{ju7yb7{^neyPZa4Lz%;`|?BaON{ylHTjMXtQx%Ju= zqCa>BSIYL1<(8-U1980n_z~nV@_2%byEv2URILP=clO=Nj(I-apl)cvCvu?QQS2wp z``Uf|@3QT@DCZo*kTj@|ZKN?gz%?Z7GUJ5UvT*XcOW4viBynD}6ciN|dIzMHb%m6< z8M=7UA`-WKDYw-Se3ZKUy^888Tt%GzI@DYqAqV|ij)85@{bp<*tHRxhlYx?h_PpFx zRyi$?^)Ya|X+|N zT?6aR|MY1j@jYyL65_AgUQ!ez-L!h>_8>$O~%hvJm~wG?Mxnfg$fu=Bcr1gyEpkV zXP(ngmG=1V!kilk!h(Rl*^`%4^n2-VcYqcogc>FM8Ew>?5^jh9KqPZaFZ3ei!7_=Z zMb+Bg)U+uWJ<-k~!wjtQ%;T0=@7(`cLRG+RDNSjpVWMD=WGmaFXqGnb-aVQyfSp%B zuto67Gnem1qYj3v2te5nzGd9?!SBjha5jUU=x@g^q~+$eCLy*MI@Gjh&#Lx0MyjEp z_2?bb0XOhNx`-6U&43*bCzT~1I2GxXGr%~bVWUQdY!|2RDnvAttqY49Tcy~R$K(IV-1VMsBVXgSTP>-0h zaF!QU(}@_vmYSL)SasyxkJV?eCw-l^0VrfW{R@hyt|dMa-8H|+V5@a75hDn*@E`!8 zYwp~+)5`s5eLFQ23(b%wI8}_9z-mH4W2BqV$u}#pi|@YL%SYR(Q}vRAy+%b;8-a=7 z&#-3k+Fi%^!b{@{9^7o%-|xE#vFJYhz;^qa*RR*dQBLv{O+eGiP~$+g{bNZc<4Alf zuPAE8PrE2OOqtXwB}z{V=3A(%({D=Vo}aul-VwvjscGK2bb}w+MDksOKVKT^GS2< z*|SV}wfg{|IB-FR1sfHCJx^pj^;*~8PS&?!l7gFeA{Mg%C(x98WNWBDQFrU?FiWQE9A7^E#tZS)v-bx#axhExJ~B z9zV`}_G~AF_2F&Z=HGz^gKyO9*s(h>zUXQ2sHp%Nu_?Zd&_sa|wx)hx=p_OR#NE;t zY?R@|Y#xt9v0xJd`;KUd&FN#?G8>%`gN(h>`$r0dG#t<&1lg; zCYdJyaiS3(4P=RSX?$Oo7eZaIc!bVUZ9@{g4V#;Y%rxmhL4%wTiG-uPdkqc;1Jva8 zvoim@{$8?%F#e1{7NLwQx7nKL8p!DY@u7WSaLqWP+3gnxPCPns6TyMVp1~>bnE9aN zWBF#0VRM6n!om)LtC3Yjap}cU@XbcmT{2{xkzs~Z!7Jp9Koy2zrw*!bpgTq1BqG`B zKLYKVw=y&9k+862Jjen5Rlh-l4jntzrJ8F}a~pLHEUE0IWO`&t#G3U6Q_bgi#7p>+AMn9C}8%FBm@ohsoFq=<@iM*C#%Y{yi;Z!1QsR@Nx=rszydeMkv1oIJ^;U zT*#|;J|tdXzJwrw1_=_@;X+Dj+|=Lpgpf|4v|NDv&!2B&z8{9_rPniMpc*I5fLf3< z#k2Zu`wN$j<79-ofo4i1R+O_rYSc4&TgcM#FZNyf_KhJUKy!Nw|JxcM z0akNA8U02L)72O^MA`e7c=9A)|7?{roe0`+sNl7ZFNv5cW!H#6f;MhUfBt+IX-iUv z`la-*-6+iFh;~wCUGnYQHNePo=gv(X9W@B&+MQVtINPBhbtLRf_}W6?9S>_GlYf(v z02PJuXy2vFM&dRq!iI5igW-mV1qd0UP!yT?md!+Kb_2ioAhc_s+S)(KvT7F;639D7 z6AZ9nwpyU5-Ms!^SsKskT^l@28D#^BBx`|1^8D2OA}vd zXlUG_f=#3*@a4E&vh6#(DS+q(L=D6PsSh7U@Zm9&LJfyiaNlJ5V72&=7>YJ{+?dSX`@L*U(r`&iTXou@*shL zX{12d-Vs}NhZx|=Ij;@`za#0lT5RUK8#xZaVj)2*;naN?Dt;8GrO$)Vi3Y@!bx^j^ z#pfzsM2s(~0|BZD2_>awGB0EsECyyg>dQ;c>?(1)YWq`s$s%cBiE~4Wu^4=SN;avf z-~u$Mw6ay7O>-+}v@8OPkdYnL?lc_%h~Ob;4|b71j-^(Hy_xyCYAS@QAQOb5ok$)z z5-437Bla0Z-2$NBej-W1vrz&rq~lCd2lnEMz7kfbIg9vQ9K1A>(bgX$2^)sq4e`*| zj}J$1DE87VXbsqnDRNWk%DQBy-&HiBMD7?OL8b73uW(QvnVlmDvA(166}}(DaO$}Q ztI)eB1lle~zAcItRt<~Q|Ly1$mZIffyH4M|H|XDS0C{$04M}#+%zKWIMFSt&5iF6y zjJMmk1QLaj+nJ4RW`X1Pir65L{eeO5HMrp)P(rG{17$|MS^JiG%b zK%u3;TO2<%PuJsC%)d^~4+wDO*S9GGbBi%!!U%G^14;=yj>6UvuZoFr zLo_e(H5N<&hZud1g0aq@op7TB%8#O#e;Klhc9{;v9oPwdHk2p0G3~46DmM=gTMEJO zax*B8^2oftRAf6n=QNX09vevATsaLQDZHr~K{!?V?OR6!gCJ@%5po*Kkp(yRTD&;p z$rB9_+$iJeqa`w61uPc-F{CCaJROrfq(p4?+#6x%97HQE%aD7@N{#{(#!NwJnZcR` z2>38`t1)mub8YQguTt0WZ3l5ggtb$O9pC8xEgFT36*`!UDm7J7PlfU13}3x|Js8vA z&8)hld}6WAZ~N31MBy3`7aKf~DP&{&+wOi$w<-=pHsB5iAWZx#f}Li>y|EaFXBU@_ zDK@JN2VcX?F)4Teg+LAQ706y5hU))b6BE;V&x&uY(MJJMHP_Gxg1^HP?Z=8eKsim* zJApW|FU$v}8LF(4t8)#Ihc${rIf2}zl_br4xuA6jP{qrVvuz;!LN=DlA$t(I^&|?r zjkt2EOQgH3%*;I2H*$=+v6B`K@%Q)qCL*elrC+$v70jQ6A0~Vq$_m(7$h;%k4n$cS z|3q1VV#k(O%o8cXk_f+y+}s%K%qfVPfxo_vGfcBwHIo70q!vJ4>2w(8^(SM>rSO+3 zA6U1$Aa>{f?Y0L9AocFuE!@A&+qT&d&GOeBbaZO)NZ2cZQi^~zlsidr-Ivq{57aTo zNM$UEDGBE!))82iFeD#RnZ`0Vm6jX5`jNEvUb;|GLr{{hle=WXk>f z&E;TMBv)TAJgd0(`0*iNd+0<#Avgnu4kxteDZqX;1m43#os(F?ZmrrIrH(o<>oK!K zR*^!2{qm(_g<^t$yUw8&X-$=`ktzX#xHhvz@6|Y^9+`$?nPDa-TVw^yv(hGhV}Q41 zv7_#K!VoE*N=_bxj=>#o7SV0mcKn|`h$`Y9i5f^^J*)xn6f^&G#>iAg?KhD6L0sPc zlP7a<4D!MP1p~#rq0l1^*RuT=A-gTu57lYEa#qw4yj(-W2LB_SIEf#u?9@KdL?{Z_~nJxD3 z{Zp`Bc3kqI-&MZ1;x-cmWZby10UK)%^WDnbN2*sfHFxyMbErCwwL%!xl28z$urjZ; zOIc;BO8Tw%4W$s8((;{ocB+DuH*MV-lxmECY}gaZG|$IE-U$qkEMnfvE4Ro#&oBMb z7X3A3^lk~KTeq%EyXcd9rB7^6!v9ZZY%6xsx|98RKV;1U*lrAUh zER3;$tN@0DA?i@A=+-CC0D%Iq!(;kYya50GlOo93(wwM*UeUC zOju>pQ1$NGndalVx6&V{8aXn?R&TW1M2n9*EoRUA_1i4@o5P{~_RlZ=xOC#^h~;!R zTXxdz%jJoC7Qd`mefaR4!&AwcNnS$YHjV{dS7ES-nKMe8Rw=9IvzS+n~coIew-T zK;GQhw>j?mSpI_%P}QjrdM0Su(5ty(6^?aiipF*PtB)T;03%6u)1E!kqIS=MY|&-j zywHFE1ruKI?d{UYD*wXwx1~c_zb@u9N=mc)= z_W=@iGezLXkN*>s^YY@-CddYx4h#(r9zy(O)YI7TDcV9@%m%Xhs(*iK6#Lsp6IRrr zVWI?TMF#&x4Q`);BCRpQ&xCZxF9Wm)}*D zKJXrqQ9pl~7I5Gc3L&b?0UXj+FC8_g$@r@8om3~)pQ945GE7A$cC_&NfciQeI*j{x z9@Z0?rYfy;)kgpPZTl(boqoaTGiTNzCjwXxrIm9;-zGffV*^7&7h<#Tpb}K=X7?L? z8KGH_z=FIp#EECzlwX^FSYs>jL+PyaW}2Ju>+SXQYGag%+Skz#KOvyJNAwN&2sMk?zH$JS&xpfF>zg!M|K|vfWwhbyaC{cxv>VwE3&b) zjE|3Z#&U5HQ{;GFS+SgabMS--Er{DPxaZj`{+X01jqr!?3kaFg=1|wb#|%4eK0PMC zUD2_?p6cUkQ_X8%NZK-V%$O$F8)MS}Mn(;Q5GCeTC};%-TWE>&99)lmKfDcF{05wv zUINXTEYUE4L;6%o2!Pk6nFhKwckM$jik@HW15gsmuF!--jbp(fZJL%}Dh)5R2Ks4W z#2qgzG9sU#GyHD(qh-lsP;?dOua2K`6EAFeFFJV)d^t{%h}}cT1#|DNm|$ z$V;mp9Prprx%Xb^7SB@30GPGQDKGX_+Gf26nb>(PAx$ zqfizN?>`)Ka(eQ*!-owOuW$-u9UNw91_d44zh4*A;zGV<=KtHAR?M&7ys1evp+)=D zXRfN5UZReJ_0myeJi6uULml^2l$9NMP#T7%YopqEbyEw@_QwdM0WPFJK0m*8#pzt@ z*SLmA(4_bnzE|8^ky&7s0HVUQpJOCKg4s~3gzb@>DkAv~y?V7kA$sTTT^H@(pmTlZ zzi{T(3QJC-EEAWs+Sr#ST-=%3o78mQ#P_G*eRIEzr%yGB48|*(>tF^668liyF6;Ej zOQlku-0d2nS>nv=&F&<<$=eqnA4KM~7u6Vg&ypsYD|Blsa13iXh`N3IwnpTaLYhSP zl16fL*RMYvYOT`L<{i?z#|XY6w0y zBzBZ2>e@*)J8r}}G?z5)2qvgX2pwt@$+4976&ETVoszHNf*(0@M8j-Bd#5XY*ZVa) z+~K?5KqSHoVDFzL`?uS^eS1Puk`>^Lke2G|>ItDXDovaId8_d}apugaM6H`bE-GJT3o0bE zg-4@ngHdb&D%IsK6UD@*@A|58*Z??-A^|m$tgG}5GeImS-vp>_DOQ?q8us^_O3KPs zlV>5QyWUUrZ~)YsoNht?K!$GgYpgQ?s9iEb9h7g2BkCRk>{e;iXe~YzjeZbO+^JB@ zj|R*ZMh4YDz7HDHlv(hk2fFkcnzwR@O)X2Mt-Xbp@M1mt_28T?l=uUUuHU`8EtnLG83>5_ z=&p)RQjqd!SiT^I+jrzh2)RjOs72@N85woR&qbasIyw&h;eUy8q-6JdRb`JNgGS-2 zSJ%W01fj^FVEOL0(Ql&}1Jag4HfziylM)0{k-yobp)#kva`h}@aSN}=rbSg+yJn3d zvshK^@mkCPfmBV6S1qC@30;crv=*{*?6S;yH2@06_iLc$ggIt~ON*93s60oO2u z^G9;J4)b#=bePKFAN2G-uSFZtW5}9q(oY<7Sbf)$OHT$7|--qVtuGH~} zxzk=-wVxGIZQvpZlYG8rUvE8{k*TSv$$Rt$@&s_vhHW)N7|Xl2ZHmwpO)e>H5bP`h zi@GT3ZP0pQi0p6u`HGn|&U?i!^lZO!KzEL%^bHZInXuy=fEM?VX2%~rDkG1N9q8$U z?kOD<{1r@Xt?gSq4#ma>QjgxgXHRv0U?>UgD{8^}wbY4i6P(z1FaofMLTLNV(b1wE zoMf%@a5f5BgU+4PSg(}Aa*FfP`Zd!T6nEgj8dO6ax^-)e&p(#mb2haGsTf>m>MO+V zqE|cCVaqai76aMGRUX)s<_;ve(o2W^HSYC=-#^^`slu#(|I?v^kJL{RSF0ON4}9sB z15tw3fAwN5`&)D$48m^C0CRkBVcmoJwEMjC;6XZue3JE?5+C!n;^7nu@ zVbD!&SUoDRYtzK&4oL}w?&$}9u%{&OE}J($5Xt_J>f^KG^@-=yw$Ly!^zq5*;~cV< zc@i`5!mAOhVBS#m+?E%{daXy%Er`ae@(+`{j{sc95?K=+i^teGV0laPwqc9A*f(he zuUPTrWhU|r6Xz6#1b1-paWCdSu#aEK+of@_CS|sN7!>*f6KoldCy_dC%I_Z8*)*bd zv_96*l-f@)x5Ut)Sxs`EKFw#v+|Jb1Nuu>uYhcuKC_(?&%>NuA8L+j1q_(c$rxO1l zC?<~F+*ui`s%=3^8wy}#Zdixl`WAUK=8vf=){aweYwOzeErDRoKAP zOnUlgS!5TydKEx;t@H&Jzmu!03I_>1jJ~_%O-6%9UN!?BlQu|54yXbOw)c&Z&fCC^DVfGRayuuuAb~aW=wa>L5~^ys9ZOwz|?_181i~j*DqF zOeMkLtV(91!580rN zz+>Z9H9HAg#YD0O>8Ks?oR-+521sB;>RerLB+r?`t)SWVy!Y`a#P3Tl>?CaHz5RGRP<=mV!eBVRchDd_6->|su4hx zm^F@d4MkQ?PA1%hWGm*&zco}y_(q)2P`jTxci(N1MVs0l^~t;}^(0?lnJCqD(Ow(0 zmt}UrdWm|NJzx=QBd8S{i$CXK3%*mdwgFwEGmux-_3JpJo+dyh!jkdolF2U6s)vTG zp=R%f1oHLZ82rd(QXV|`*S3x{qn)tS)8gX*36E7=K9d;=sa~V>dK0uh^$}h1#Ue7p z#jI+sQX9@Vw%ZonjhXq}(s~5Q83gD&RHHj22sozziLN2@(@Z~tKG#%ij)(|6cg`m= zO1pXUH8N{$%KyaTDlXmHw^tBh%AGDUuna8qF&7&`G8@3cPpi@CX3Vy2uh^3B--@Jh5m&If@EU2UTvtRgRY_mh^35VRc#e>6d&~0kf^jKj%UIcGbdF`D(X` z!AUv;Id6Phx_sO73oRH+kU)(v_tXSf<58kbExOLO$Ajx~xA_o!Z-gr=D<_t48Yf$i zyYXm?O)Xb6ScDR=+EicEm5!#p#(+E^%MO8Kctd#g9lePx3C@JUel=M9^@PwwmI4%0 zD8@!mlGIjV0yRU7TJ!s?Pl<#gVkB6WSEW9b!q;!W`1f^2ZzdL_=Sf4Haecm*Ejk1dA{vv;tu zcQJ3G5Q=Ly1%D}I$CnZw1@V)&>(Nth_y<>_d* zYHMEo;eMw}%l=c9?&IjlH<2O>%uP0DZELGa6^Nqhexx_{Q}O%5XrdxAaR-+g8}rR1 z4gxQ^#sen+0aI2gxs(stSn%R&>FJ^YL~1UYesnH16|+&Mk-r4iNeJoEgP>G&G}v2^ z!4T~9eiZ3hw{BVSzPE}UEjkA)t>`u;jjg+Ip&xSIG@{<2+-FMHHi19VF`x}>2Z2Ui znVUu_sI&H(s=)B@X4uhnwnoHSYvh~cFdboHKEbwdRpR7Z@Os}|WCTy%Z>Dj*h`)ewsgh&xF*}*C* z7p6^`Bq%oT+9f?oXVB};@#2!MGH&7UFH4(I`#*2SNNrTOi76(;81QN@OQb<+QMTi0xaZ5 zck!S*2l=<Dc&#N5~TIVvb+OyA@fh+uwk_ptA}MW zqoI{qX!Dk7!06ZdwVX4UURq7shOH;}P07vGD z7ZJ(0T*D$@>6<%s)r;*M(!d3`r7>VxPssK3e$D0#ri=TXq`3}K$gx=6z6Ol-HS)j2 zCB>8V^z`Ie5@0Btkv&OPg_k^9aAJ#MtfONPlW0I8el2>zwyeo1Y!J3X&p z+?wfrR7T^0!32%M=GRT{^l)`f;Z=fL(B=$shNiTGlSd%7Tf+@K9Xh0Q7C99DW?S!n zCLf+RJ@COn5H4MkYSbH`&{Ge84w+!*cc_@N8o7+_9omQt(lQCJrAAL0;i0UB18hQj zn02R4c}GSM4~jn^aHLvCiGbtdkv25of)4;Z!FV)6+Q8(9Hhj8VkTjt|+YLNcvTZ9XB%R3aLbzb9w9|(d(}~7x!7ByUR;S~z^}6;eNbY#Xv7B?F zxz{wilQP&M$JpIP)Mj9T7JPXzfNG~O;{6)(#>jM~!6y{&Q2LkSk^|_nR!6aU$Bqpc ze@SrBgVRxURcPqw;ERUdTAe<1j@h%P2~JW`z39+Lirt{S+Jg`d+|z`sP4mE4P{!Yp zXVPXqn7d^GfC+p`8Nd3KwhA#Q#?!Aj6HE(!BKHTFuTi5$(kjucZXU59y_;hZv%q1hWOzWDRk=d z=h`(_DPRvU%60ee-K#*>dX4K}LxBr>k~Fs!r6YH!AR$EsENDrvEmfytQ{W$5ybMA8 zs3)vhlH=pV%Sl<*i)4R!J4N-geO}~gCOvyvV$RTaZwBci${I3l+GWe#2usPOY7#Mu zm_b|e*Jda`D_hUb}<@=r=44B+#rZ*4U2A&N{bs~(K!+>Zzhew76c@%XC2$PQQ6qo*pMnG zGBHAZcU>>HZTc>f3Dxo=+ZM6zJa4WO$FU(XUi6t~`7B9Ny8o6e)-m=WY_Eb{KH@g8l6W97$E=w4QK^(xuuP5 zT@OODkZFvV41?usPme6%U4LR2Y+@GwDxbx^kb5Xsj-sAspnhRw6BF*V4Ai21LytQv z;dUg95Ltf%Q?s}jIU%JH?Hmm&Mnz4j3n!QTQq^c}Y-k2Rt3ApF_o`*;H9hpU>? zFG!sS;Ry^X-sVgjPfYGT1F9WhhVT=+`;CU()Cr@7$rw<~<5Kw2UnbeaZ zHWXBg#}sh&D&8fV)$IoS4^Hh2kkm5;T-C^#YU}lYpscESZ$2t3Ok|S=cE^Tfa7YRZIu#`Tx>MP zwsbpL9^z+LR>PB-RF8-Sf+_n^b?gG87$xT7Le+3F=t*?ahPBa2h>sVx5UGo*LBAFj zw?>Yrd&7DL2B)64G$P3W&St!NRT~u8&%$-OyKX$sODyWC6T>4Sf+!j~_wL=4+8k#J z3nFsaiI`C626H}bnbzwzRKqGVG6HT});(b789a)K7@6c!XbB18ST%kAi3D@wzp5JR z|9j#1fJ~mhN)~nBgqCEaGjC;3XAAE@8VaQOY8V;u#P(iIF5L9KQVcaYb7xWHTCpqb>0ErbKXvV6_lnV5fti#mDGjMB!W27RXAAdDk+F0p@6A#0Qn0| z67SS6r?YdzcTD+T)!26b{XS}oqq*l`e4L;fnm$ywyT*zXfpbvNym{Hk4*Z(P5dUUw zOkX5p^%bQprZtD^p2OlVw^gf-?;a3vk(P`gSWHhfZ`R!2BWLP0`e{^GHOFea8uZ}Z z*Pjkd3yU{~No(CMG}vm4pE10%;$lNX1z=1X03U*qgz00fOZBM5DYGX;++3SM$&eE{ zEGROvBi*y#BVbSAj0+>%HQm*X;)Z}ZtoKfhhui)~rEjhJ_HRpHpK-b995!)y4aZs8 zETW4MX8rY>H|Zr6Y40L@T=o0*9hZ=Pb3Fa?LRVM2(Wlo&laC-~GANE?2WZV_s{r>Ef>uE~e{1wn7MO z+qJ9DS^GWYk>pwWG3}k>8-Ve|dQ-Dd4>mLNt`6o65#~De?=QSR(LwVb8*qcD(s!>e zr>+XP@U(B(fdh`4qIdH{@aGN)W1Rr~kU}BF3FfY{-~vzL!<0#RNt*&D_o7myWTxco z+`YRh6;d|E5^BCF(febFE8sVi%1aX9F?9R)KYM+=`{G;0IiFK~Y7a4Cd)jSk_2uE6 ze1RR|BfC~F0&Ylt+jZWgsZ+Dbivst?@QAgBdH)5GA1FS1BXsmype$6S2W2R?9W;qb zWKNs&Q||DnP(4zR{>e<-@uo-j?!#SOd$J-&EVL*3J^4?`Z_TjQ}vsx zC@n5vVMp&}7$HAk9K|lx=M%MM#^r$ZwZBt=W)G7SGm7_Y-rQISREj2POI=-E1xkQ* zn>K&3iJcLh-ALxu%d}#&`%F8d1T!Q2GG3nowke{hwJBmSpVA-r=TxFLcrY~ zPB7e5P_g<-za|zu9fOHu@LA|P(Sf1wwmhAHN021cT z;Z%544z{-c29*ra_|l(oQc8mx&?~12Mxt|cXgUMrf@V#jK)nM*!z+-=fI=`B6||_9 z*gX*8wuVU9W%F42*)G!;wXSW|=7e{0-duBYzti^9a3YD_Js*%w2zrJR#c1w|PwlL# z>>b=BDtfH-0s*MZ!AN;k6on(vse1RAY8jQ77z!)_+k*IOAKjoD4mhH=l!;)Ckl^-Q z7eY+N-MeZ6JP+?A@C`|5R>;88W`c-EwTz zgll>s?hEzb15T#vv?*&6ig{k2`L$Qp{bF7@sJzaPofBl6E7pnS*lD*rk7z?nJFw#yToeEh-re7E|^5r@g@*z;2 zv|8DVNy7oO0;oCyIK53~Okp8PET8FoJ~PSaM1q=zHjZ=7Y^ZA?6s8Bzc-OvmV63MMHX z`S%$qP$1oq+8V)&!?}eTywX6>PpDbTPU=zAMBuX4z=0673VZv!*|Sn1V42!=c)MyA z6-tYiEdgVLC`N^370O&lf5E|N{iKBRe9|qsj!Chz<;74>*v2{+5Sat-rV}j!N3>xn z2k86c)%IhN^`K2K9yq1pKU^;kV3qZoFfic8OVnZ|)3OB}_TDr#Gm=H}%E zjxgdbFldGd@o(Q_$GQ$E=%(-m&nY3sfYe$r<{?OJVdRe-phRJnh(zW*G~h|kUrMtm zzf&V`ec_$*2s$A)X5cjim<@xAO$2Jnfef_rRgc*0V|vxV+unWRXL7-0rIXgOa{%>V zaoDgLI64ivFDXp9GF9eFP(A{nKf&H!MjUv`8@>Ph+V%dSLpwU(`>e2GvY{;~m%>*9 z)L(zKM^!D;r7(KUfPaJ+LX{}v6j6p@&_Xe#7ef;aqKnrplIVLqS6 zwfv!ip964FpL<6al1(sTS%MmaYjTme)*H~i(xnUE$MHTL>bQ7wlet_ljd8RtVk1Y( zyMJvIB>Rt6af1qIKH&^uy0^yH%)uSF3`UBM3`^?5))#J zo~fxe_d)O>=G^e-0JVO3WiTLq)TvWpTr*2_o&@dVLtf=hqzfa;8l1g6pYSZa0e#S% zqDR1hbR_k&-Kk?*Yi7~0J^+T)($;>sXPBo0A&ZL}NOi79m%v?BZ`sn4KMzSCfVvB! z_4J*~iwDHicUU74gdilSgGo7QQ4j_69PU7Yl4?l^T82&vB<@ag<~-=s_!h4)qeL}! znDCYYM1yCUFoFrS=38PyGp5Wmg$2+yqoa*c9`ZPH_vTOL$B2YoG@S%rf%Jt_K&dR8 zJrg;yb|>Ct`&zk++mzptK)D|+&O7qI8FXLwsiXk@hog`Ki}g=T>?;SHvwJ3VjO!*6 zzC1hJoOwY---us3yNBTZrz)fmskjpwg7xeFw3wML!}MLERD1RAZN*1~bO>mWQHBHw ze+}ZG6(!H&H_9z4ccC{Uvj_SI;pM9dyeZ8uJ&hk+g}pn{Q;J z2K5&JlOlpodTf88-@54Qr{(3fmR&*!kKAE{*A@(&N;%0qu=EW=@uRY2XsM1xN1mWP zXxSZ8z1SntJjG6>%|y<=iKtux-6T&@3M;DIbc~YV9wog10KG4?^`2I7up6DVqI%Nb ztT3`Bz6v1^XB9u=LNn?}xb#eFe^~X#^qyqHAX$)!8Y0q0}o-i74Q>YCr5*sLa#PjCnUfO}^`?T^s<0%Z%qCOsn4#_+2*fNH-^yAi7fHxnZ!H`XNBzZ}z$n0dCN$gl!r`c>(S5;zG z_Xf;sAu>O%1I`#Nxl#CD(vA`tzi9(7JCg14f7$haw?8BVp zZi7=36HDML9v)vxRPrlim$w;_&$_Qp*N$G6o!U|hH3J~P^-|FB!!MF z)sm*S^Z+C&45fV0g|Ds+CH$WjSnBOtXCx}f&a$~EZfFGYUEG^h)@h9Bb@2ES(JV-1 zMNy`TK+Na~WhMeICSrdRq#z)_k>lQanc-OHLCu~NXUOR?^F4H!|N@{F$7qRcyL*vggw1oEr zqu`jB`|D&_+S&?Nxq(I;mVLB_YN3UL;X%Ue%&(#Uc zRR`d@;{8XPiU9&*ZBM#LDvdyNP9nR+exVNG?;Y;MIp_0O&YY=3-IE2cj&{ORNorud zUi>&=UXqgodBp-V$VLG~x7f%uUkXe`@z(&El_g*qHK^2{`4u+}S|D6Fe|{v$1mm(o zZ&1-V(aJM!)2wXuu%i_Eiph5pv&s7nQG$`gcEDCNUtjgPp8PQ64|1J|3ZH*|d-wYX zeY`uvp}et7t`LTr^|IYj?r2y?>RANeg zBTKtXn>I}-Fy^6%QL4?F$voU?G%Zp><1&pl(8}A}tn9>{5hF)Z3aY|zZ^Z7Ov!+ZD zF1lM!W4pTmk{F-M9w;H@Nxbj#PPSp4wBExPYWoK)R#q@cKleaDu0GTR>U2F!r}<)G z(nlbeN~2&!zN1E8lpk)joAyf3O>oaSJbWPzTW8#CF1bpt1x6^R@!NU-@4tspBub>_ zy-SBm1cq{IbSkdpLv>Jfd8*AHCt8#U{-}8i+tvU_d2hu=r?B^g%vYk9L13+m8WiPweCIq{LRTH`|LId076k|otkmV+ zClfAJ(H+XxNOWnsefx$Y7ly`FfxS60Bt^r{mP;lMyJB4ro#af!Mg*IUe5v%Vi51j| zqzcMCxj^ENdaajDBjURV8AWkUaVC9>UVp8jt<$xY$uI)e5C@4=rkhJlMD-_1B{(^V z+1sXe2lM%U?M?qy#REY8F8Z)KQTsM#658XTcAwESnjuTL3}Nsf6-AGhU!fZNRVZ2N z_Y#^h>74Mpl}!_AKnhf2b97GKLb%<8yel;b89=V19KZ@RSC=kH_$6`$!r1_9Ov~N? z#(1@d&5n)~*0L~Dh-^4`opTIRh$s|!ig7EO0ob2s0Vc~N4{fnLS51U}kx03G z*@eHs&#=1suck%hk$qS@1)!HqgZ{@Z*8-{JqrZ6B(i1&u8ncpCt`SjQ=5s-qL-FYd zxO{mCEwK{4b-sJ)E*4h{RxSO3+RpI-bw!^BVAvjfMX~Z|$g7e*4Ep%Qg;go+BFo|& zGF8=#Tb%D6H3=;Wh5Znot;d-oPEGJHIYutwo4>cGcxDGND+QtFqPSXl|_ zWLJ)Av;mloFmRlGP@)q*`lN!+Y-Pp=-A2r;mpY>+P7GIWli&}!F5@#I4MN}mnxO*a zBm%Mg2e)=cM5vIFM4|(~&9K0TghU@2C1F@a3&&tDaj?PgWVLhmzIf=5^1o4_464gV za-x3X);i^z9w!ay{a({KFNYCW<(u7homu~TC4#NEdu(?{i_oFY4lbiWr`D>M-xTPvpNZnoJbO|Vej%{voyno)i6Q&mqCn9{4 zDI9MwXR^8fKZQ4`ehEXdm6a_9@?xZ~WEv`x9H4?`yOHp&92+LOa!kkVq7P_7+Hlb+ z3Bo(fdq3Mn^8(@1uX zFmi#S#aUmzjo9ej?y&|-VyBXZ*zT9YSCxqhlLzcDyoTttGu?a!{`4~2k7 zgfDArX_d(fLhQAHH-0A6ZXR_3s|K6W^*dPqjAepH5B(z{7y`R)^5o|{YGir)fHioF zHmFktOirX!Vm7>i%wSQ-(PIsjR*(ED*eh|E!N_I+CgALIpg_B1dGtWJ$`!}6Ae2FG z5dc7G_41erh(D+XsjmePIAx=O(JR^sk=zq`#TRGSGG!lry38-(`-B6FbbAcff6EME z`K+`?Qj`imV`kO?BxNMwn>C`Fgf?*ymjJ1s!1b^WTo+_lb{l=Edk#Yt{*%m zA3~qycxAN)2Xha5TtGy?S;cfKn#v|)$b&!c|5Sfks)&2%@$>AbB-qV4;P0aIg=zqM zwvSzUY8(R#e&|BD3yVFkbOo#~ZT2J$xlco(vuHR)&$^yzPy+DA%a_+BTu`t1RoM$% z02(bIvzb)V42iZFck*V^af(mbz74A+FITKjNnIJ0)gP))pQknyM@_oQxx4+?i?05# zkli~TkO2t~7n9TO4#4=a9Xb35=z{CGDSv>4FCtrYSEP`Z+_;QIJk{$7_#Zb&Q)6iQ z8T{3ciW2K(M9%h#WwfIi1fxn4zhcChCW-@01--){j8WQ6Oe+3p-d{k-uRngg zQ@9}sJHXLg#q|3!0wf=R%%4#J58=kN+Z(1ddmg}o`bmpt{O$-W{E`i{c9zHx{6$E&+S;%H1;8LO-{R zKX|9#T>LQM(cUl;aa9;IxC{fJ;yY>L#3I=u za^uDgcWS=ZK>jJ9MD9HMK0p3A<_~mxe#)nBuP;N7p%cNQd3O73_vhS46Bxc*)vG37 zW^=$e3^4W&UAOY+Y;NJqdrzKRe0U0_cnRHouRo@C7nb54J!#66w<7Sc)=iG;`Kmc5 ztH^l3fQy(QX^*OOL49;IbOch4j76;ne}@M-RFd*AdtB(r$3JzOpqFnSnez_+=2=Ar zlPiBm2KSW?I?ho^mIH!^-x_RU;>N!`U|alKMIk!Nu3o&Jd-V#b!vY@x7nvxYQy&CA z;$)7l)@5(ZJ(l3^c1Yyy|0vDtC9Y$)@7(E~yo~;VFLUzxIg0fa;8SsKH6Urt6a|z| zb~%5#yHLxk__o88;PcPa+M4|h(%535di)QN$bloa!0tb&w?@rdP|gQEFuYTtxLD8q z!*;Pkp5jHaWY@CVS!-^@!gNJ+?_~eu-HGTY*J|V4+IQ8b>=(rB6(SSI6=jC;Q zToNR}$;oMNNp$P5Ok+e#MaJ{yy&2`XH+<(#B?U^OW4Ru~Zrv=YP$*=I`{x!Fmp|Xj z_q#nM-;k?jJNwX&Au;BEV=MM!h4lc6oHlXSzSN$-ujqN7yZfg6WZcJ0XBlY*v`C^V z5CJ}0sz zpCTG4pvh#M3~;h4^M}W@XP>XedC3*Qps+qX9F3yr7>Q4RDwOkO+q{eT{sE?8qdu`$ z8RMYwyDHTmAP!TK2gVE~tuS+|8muXj-iiwCbf}%~Fw^flkDqxLl>AS6dOch(V7M0S z^FM7V0@AqaOormKlm^6BHn-k~SKjB;Xzsdn_(XZb=@T&%vf@#94KUCom?4ord&ke> z)zx(>BpF~X>naZt%X2`nfls!In> zUAabvS3yS+)N!XoYKt3IQAELQ460k61}4Vxq8W3O$>(1ZrZa)0shSg$J@b!k_7063 z1*b4P&&=RW?E80T^j^8pYYKlT5`Ic)Cn99t?yplR&P(`8P(99DPo1Qq8*r_e-aaWe zpeZ9eG_lQOYhw_NaI`p99GPr8B6Mi#3U7x;GA_l;3L`F&i<)ILlg?q+TUs*JkkXTecWtQ;NJ%p~;W?t1%sZLg47 z<6g$AV`0~UC8oHVqUnx{bKR9cvvpq5UHfS-(e;1+`E@~iR;hyGW`MPNuXzzK%{M@E zI@4jU^VWkNrV#}eFJ0ez@;8sk_BR^j;e}Z6*!0#UZYvKO-&R?VvH=vDvRG;P@=w!q zel2G?vDgVDJa0vB-Fe86%UK1MRyk0K@JFI}&7T+?d=cpJpxNvbHt7xJaq(lB1s65>9iabb zA}`(PiKitpG)t+rzjw(y40Ve+JTjG4n-sUa+N|bi0Vf@!2O!Z?=WC?aVvW$o>&w;6 zKX_Q4FF;rejwv%{h|7L{=(8Yt9H^w|XA#vU7tC~6+A4j=|7ig@XaVH$Onj@~FLghf zm_5<*#kKYApq=U6?2cTppY1s~j8eFX;xpC`C2S{C+}FQ)s#LbfBC8y=!mHqkglug#2=mxJoaJg_WBcqM%)HG|l2$)p%xJ&VX+&ui^pk+pHZqU>fg_s^LZU%Kmy zdz00X}G#HK=}F-lrh;<~-s*&ut$&Br)Q|{GAJ#sf1h$QtgV)o6OjO+qQ=@80I0CjJ8!mX zb~5WrT!PcYN{75x_Mddjb*w#GgRr9lQV7c^>}{m?uSSSbBi9crINyADN$BlM2ePaG z{Hb85LD6xUUp-$ctGvaLfj4g5YD^6?;95*4t8G%GGtE&5L*>XUn;r}qFM;N*(6liX ztc=Ku(m~*9YFdS$26<*>ULT(}P{2)#p%{4&{~pz-kCDwUI#b}2AroEH6Wxrohv{0K z%U!V2hF6A1QVZQ~Ee=ryoaX>2`!0f?6D4)i`Z zkjdRWhzEwO|8?&E(-X4B@H|EsHSS_O!BA&r<0eh^Lf27p&Qa`PEM^@Ga(-h4*wDNE z`bLWREFh5;3GlajpoG7&Jp&7l|D6gDl=_4FrvBaG;6*+#U=fB39_`HRaDv2k%{D45QBmQ9i8cAogirlwo7H)fY4(O;hRsreZ+6JcxM#*I^+ zZ9E;h;6vt`zpxB8%Ca&$Y0|^MU;)CVIW#NQR|{HK7WlpFUwho_or(_T*NJ#H#>){uX#FY9<_NqhSPPAo&KU^Sk2L#AV*UqR}Ip5 z5UDA>?>6hPrY<~tXnde^gJ+qpf9zs6tI61koP|Ym)3J2o_Bjx-pMWU@g*$cq{8aBA5_RpU` zPtYsu`>-a<>_9e&T+3z5>$981P46talH7GeC;I5TANtj&)Wf^ZhbK37$F`P@LStsF z!&tGbdNAQ@d(g5V{eawQC=+`2>h<8{RD;ALHs{DX>nn2jITu5p=v)0+kgk=9L0EdK z+L#tH62&VyaiP)V7xTpu>u|DeU#mYu`~D+Rmy+-E=OmpuvjIX7=I%31MrRnlv>=b0 zJeG>Qsk190%IVp_R-WqTOl6g@j4-2M@A_rhjk}y)AqJq33fAbjujZpaGNjA|S$$_Z z@+^i<%8COylWkLUZ+j{%f~$~0iWv)ZTS}BiE$Ps{LGSftIaA8W0!tjmh z_TkB_8DT`x;+Z#*3U?%{`F|Pq&3iL+)_}w*d9SPt1?ReTYZTJ}7VsP=mahNn_L31J z8u~mxM=)S`CF-fCJq!^g{=)6=>WL1MUSFZ0QwhJ(@FNh@!Dk}#s;}9ae-2e?S}0UFqq|x8SPT5zceXu4_2aMy@7#UQ-$bC z5II7h-f{0~Hx=uf0Ufr4hHiwq@~z#!4fBsfwO9D!KF;;$3~R2S;C~NMknnRvpOYrr znU>hHW%QBxn_4Byao--6IMix;9eclkY?w(T3*W#0wr48~6U-j; zD<;_4)t|6_$^+^v+?V2P52?icDAlNpFLp&c45GMjf`)mkx<|vX&_0K6X4}6l9-p^# zTk*qQVXB%^=y~Qd-p3K^WNNw(vADW!QN`+%Ri6$`IKKST!=vQz3%3F$@fL<7r`R8V zm12m~;)0I3I$MNxXgSLxiY0!BY0McGdGMebMgvJVd)~wKL!5%E4&UW{~X+tIr~PKo==8tc6Qq z=gq0HYioX=y8l$&eynHvd~1)P^I0@C8}#vr?Nh+l>)=j?Sb->puURu#RC)@T-UXNV zdAqB=z7uqQb#0TcKVh=a#BUif#l0)#ApKB&*>0PO>+3#eX=y27Vo}V}iI;2K)|AJt zRSS4hb}+bak1VYcQzhMi859-*W1|vDP5A(RCEIYn>Y4jTZ^Iy{ z8iwYYtRE=`4@ZzUi-T6+)6nieKe_K=4wHCk&f(_HVX^K@pCRJarB^TYwa#Ah!hXsW z3;vG;BqHNezhd#@{DLk1CZ_w zFu&Biblo4@@#BN8UGq-J)Wk+aNRsN>EhWhd=wZa~!r8gFO~lgoKmWriO6`?;85oGh zPi&zeuTC_27@mc4s0|#0NJ?v5;KHn6U*+2%TEUVi@u?{v&Hvy*9WZ0z;81&txdbGv zAD0+D6#homR3WC!UHFxgArl%H+%zXG9sbl=BLoUXj4%1E{s{>Q6P`WAC`Oz|W$YTi zqE|+LQnTj(A)+Glqm@dB;Z+#&O!$3;AOY2trI*_4oULq$=?Cwsgqr;Rqes7szo`A` zvJhFRumCT9jZV|DB+u13ajaYCp%bJ!Vg0@4)L|1QPE6-a0gI+|wJA7Vmc!R&k6-iA zqi?$wyeA1Cq2UmbUA^E>$t-tl$fID3XjSo<$x1thhp0dNu!cccF2AWkM=hxx(7_Mq+<1eLnpB>Q|vi%#AWL{lFtprX>pa!(&~jF5*1JNJD%$uEU$k* zIo}almewAyd0OWm8;k=9HuD!O$cAItA9Iz1Xv9R!O2#6(E(#l+tP@0C>n!lkc}JRw z25DF%lwFm_(I3;HfnHUg`B)kn=>UPHFG9n@#&0bMGoB4(J|Ao6VpC;})4vXNrO}`*U9-4Sp)TXA)S_iK4gz~ra+!D*2TC2ZpYo?wGQ1|n2clW~= z08l?O^3cBE4gkh@1;A;Y%|A5I{(@TWe8y2_0*v&b5L{jOM&IWCwoDqP-@RLYwj6=J zx<0FQs7L@@f}Omu2(k z&c(5z6|ld;SEQJT9Tf`7Y_9glVwa`5~lAq+7dA2_m6O+5P>Az)VBKoPE6&m{F(hO)9-j30d$A*V5*iW43N5idp zRYy-;o`lGtR7yOe-fZk1!+NC2)xW;QPI$KHL*=_v(eCP6ZX9lFyQy}M$*grEy*rH)<8@of$~~h@2jCJf*&CvxCxCtN8WrY{3JkO8d0%= zFWGhJ32EJ^jF;m8_jF}E-o9K9P z11xhoBqAu3qqSbgO;CZ4d~=ee&1C=p54#Ow@WntoC8y|^MT3FrKqSyu@^$35ZCrls zr!pd)_#_<)9Ysgw!(F2nQ2e@ic*qbZaXQ;}BZShI1;N{`B2AkS*El(kv{Qo(v*KQu zO)Yrye$SsXDAdLrG!+9wv2EEObC<3}`|RrNZ|{O5(Emidf4TehZCPg^MNIyaHVuy^ z6-0(Hu%!!c%{XJ+_mq^G>uBLc2?w3sI9W&UsnqF_$*14AxQ#JdpAn!zox-W0t9E-CdC=n?5u6SGz_a8NJmY3{!P>m&v7#y_*E z*O{|jg;&+!+tCa-5Y)xFOy;o%-`4HT7mnyNLm8+Doxe;*qXuMrC=Ih($(R2t zON$OlQZSQE#?vm7w~<{fKJz{Jz3jT?)40Pl$>F{WS+)G-m2{L#^c60rhIJf*^#^7Q zO~#JB>l(J@Su)7AC>O;4D&T1|jiq((dLM{6zy!lG{$OF^y;f$U)UmOSy^FE2CPod^ zf&%FAlA=>mw1}d`!)g(Kb0=~gPL)Osv%Q)(wmqzEQ`D#87aO(d46<{l5VB$6FKAHeXEkbo3NFaho#fJI0OIDYmbk0pDh!U6bX)H zQMEB^4kJXd>O^qHjkp;W9s+8@7t27Q>6EkR9)|e6h%N;l@3j)>X!kRqqab#l$1G)NVM;rzed>joy~BZ9oI>1n z0^MM`e&+c~e47WJq?pn!@yi>z^VCq;R6@tJzuI)TRdXp`>mP}V@|9sy zqykw$0{raW=b8-p*$)E8Z%pPa><3EUtR`qX7#nu0OV0Og9f7<2(6tQCAw8>Si1DQA#k=}mflE^ku$ z%Yz12OItgdNEG=Zl=q4b5s!(@jP5j^_uJ}JQ3yB2OL%y(x-3Ak+2|uo)66SnW4Ry2mIsh*n;bD2q^>^{+M*dVqfQ6*T!` zP01W*Oh$>N z$N^K&#^_m)MI<_W`xuU{k=#?Kz)49dWCWqm)b5DaM-wG6S%EW=+d(B3xM73Ek=>m5 z%!DE6tA&uqN8OhZo84!7(>l}lzl~q7M|G+rn`(gULK$bFX>TCrMdJ?r)#LusCdI!d zO`pD*bFe;1wQF2Khb%2>wfpejhg)fH+T$FsZGKK>rvC^lE7jz!BsXjs?$Dat6fQf%T&nANLe}_I%p*-ezWpc6{G|L>8sLd2<6aU=KkB6um84{MV*a{DtJ? zgBYS9{r;iR`{)S5S6Aoi)Cf(y_?)PJ@N zN3gG-KcD!q7RkvH-c|kE=KAt#_AneUdi?lzri~ZHY&_J_j1W7JqUJi8zFXAfj>d0) zJ(?V_rd(FB!m-YW_)~kivD2*CdeiH2)^Ly&r| zL}S!-`6`Nq52%#KzFg+g$0h=0N*8-$&6D(Mj=YJV!B(M zt5a(>LIUP^&8sb$?LANh%zHz6R@l0hjEEMQ9D9;0C8(zEm|}D)nj)eoW;*NzvE$B5jePgxxP9T4Gpi*SBhdQ&4e!Rhjp8dY!=jsAXS)lUL$Myym#Xn?3(#PA6LpwrT&YRqy-zs`Aa zwB9MQJJ;%SNnUS|dv ztVFRPaw6_=6$OlVxQaPBW1r%3BPw>nn!C=9ZC$yb8yWs`0X@g+Ae~3m3HL>W1nuZ( zMA;8>krMjkH7vHs@dJW_Iy1p83l|7qG98w9B)qH45Z4`pZsW6L(>PTszkR&^781-8 zg|BSzIuH;XC;mONXLsaRzY&It22Tc~AS9$xVH(d($F{d{^`Z}gMd0yt>NECeGrJ*c z7ht&=N>PsrR(w>@8d;KTsS!GJ!$khe(<$McIA-fx70L`Vd-kMCg2o6$H3)(t5_jTh z5!E^JWb~iy3nmUOz_y36M^W>NbQkPzBL)P;h_@WAJJ-+BvScp?bK-`SL7*C)D8^Bf zwElP26zV@P!VOd(ydG5#90EaHE{2+0g+O3}Fw|pgm&U#b*uv4e#WbKE8MH(mzCoBJ zh;u!U8GmVvl>#<6o-!~Eyn#bu4b}VK_=wofgQ8PmstA|`6Qn)fKRAI4#s&bfCjs*4 z12r;%q{6q=lNCi`0YzF69Nv+IOZM7R69d$hJU; zeo@EqAjM;dPLo)*zijpFo%{EX&hGP5j}wP>fm!4baqp8o*R(9zyg6AOCAS?)#4)=? z4_-A5TX$$OnR7z`wy&|%>n#%THJSi@Xt9NfH!8*sY#gH21yp*{-7%8v+o)yND5%~4oF=YESJ|_-q6rwTV|FJ!G&da>76!H^ zvuT(kWni~SM-FcwrBG`bLctoNAjv8NSW|3Es1c+%MrzxqAUt?aU3K#T12&mgg9o%? z5&~jG#QQQ-O7FthHd7%R>A?xSLCoDDm9E>6U8*h9wr8Oe}-%?;sJQ*gnMDuEma+LU@#DY z_=O?W$QEZ2-VLCxe_3#))C4^@gd05MGi}<`h})Uv*-9^id;MScFMde$TO9pDQ_XHT zb%^wq;h(l7x-5hgfT*`Td+XJCYHO^M**VZ#>6$T<=5u7?^2YP5VsEWD$1pk3f$9k| z)*Mp_fZU6rWA!IMPSEOz%@5XOd-mFZ|@y!f+X6D#kfu(x{MadVYs?>04_sN zLQaTkqMzy79z=6KNh8E7oDhR5kt(vWXeBTLO{f337@9X1;;IOLV=5fcV9J6S+EnH& zay*Uo=36cAsbitKNFVjN46h;frV$2|5+<7(N-$IaBRLt!xoOYk)I%r2s*YF@HM~sy z|Fi%bjr1;&t=&+p!OM$goz{%j-H)6}p@fU`2Cy0#UdYYd(iuiDeS4SDr_rT6M=>Cc zH@^wn`G)jKAv!}ed5kinP%v?SLm)ejN++zyFj^A6iK<(=Pwqpo=Yz6Tk|!rR!?UTL zGDemmH1K*HOUgdSY+b!ETrq@^5+uBTzG)*~Oe8mQ!w!cReP?y#yFy=flPHD0vo}5t z!~T40$=IG48SwaIAB>2`OnYjy{PwJau2nQOX%t}z(6xDO5*!?r)aNE`UcP)O8J`g! znVqGplfm`c3(Tbkts8E|=dOpkNp@8iA~=(2G?LU7{%zXeO!^x-H<|$7qer_iB|ECY z+0C+yL6Q=nMK)Z3L>+X;&Xi?v0CM2PqYCUyxQof>T163BaZ+eKHPJC02ET&KArbs| zq_=oV!wKH>v^orb!Gdee0;6Cpnc!6vQhv%HNA{v%6Ph70#dL%Dlf{zo{%PoLW#1p; zM(#S}JE5GxD@j+(Pf>dDVbgG4jypINV=Gl&5Os{Kv;ZY~V`!w&rViW~0=I+LT>xv= z6uw3qiEO&~|BBTpS5UMVuV2qq_~HSS+9{uvd<-1xP*MH8e~S|2mj!jr)(tXwUrzxr zCtDpjalqKOwMsi!^m6T1wHsk^JnzTYjvVT!7CU7X;Cb1E5 z2Ct=MB^JpTB*@EkL@nYWn^f(^(p}=mN+&SK?tS{)SoLas5XDI*cyRuk2uz+yU2HXN z$#LcJEiArn^<3(?haY&JG95KwSOC&zoJDsTr+qlErOY-nFzTi-+>pB>~)Lizi$GGTlvCz-(7zzwB3j1BTt zXa9?=;AGB3%x5^v94txr@?d-P*i@^Hs<=MyHvkJ%`kSplLZW{cz5u^%y@wq&H+{wo zAOl#G8c-o!I0fg|CVx?Ojaam(2NST;XED&0#$X;T0(Wlv`wB0DrYP;ibQ>C1CdJU*d>nQt^rAtLLHZ20b}%$oyrq5Q{WE zcl-oaD&j1uEM`LOHQxOb6p|9Tp!%c(P#XKhg$gouu91=7}W=Eysp;{?T zzDk*nMQwU!W&_FH1DEdGw!NjhwYZbTc4Jh9ZNftF4>)ui7hQ(TC|7^_3|sR>iHc5a zgf?&4^7A$qIvQcB6c9XcvVGK%BmMyR!!e6|`if+*=={*z;4+`z-fbr}5}z9l{{XqE z!Y&^>rpM6+Ie{q|4xjHclp2;VW6t>+$lo^i~l?n zd9X}*V;X=bqaWS5Y)U~~rmP@RS1kYW>B-sS_j8J{4#=h){7ldnrv~DVC8UoyQZj>x zWCja~V-Idzy_6F*O$1fUhg4fFNG;tck%jbr%!L2eVU{t6BAXX*34`UYq7a(~KN#f5DiE*i~QhjD) z6L98?*eM}ehs+U2QO^38Et~8EZ&0*8DEwws$n%t;E(!uJ{+8O+ORvVz!v6C~L&+=U z?iAiKcn2h^CE^vFWSZfer0o;eVR^`xFDr=jvZ{%1SXBGFWEkB91x(401JqzjpAQc@ zNeHDiG{m!;AANG#x0Nk-0)=w#AEZ^q+~XO@W-;pHpv_LN&%&rBL5E`&5wj94id7%*m=l)-9nDeq?>1`knzwb0Au$l? z1v^zJI2tmYf|2%6X+3-WE;{Fk0P2VqNn*wkn{P-7rf(T*pL#Q&NIELHc_+G>g-_1B z=@vmnHWW@LZYUZj1-@&iA}#IB6Um3Xd0&b*;udcx$KV^cVGg(!R82a04wSVK?11S7 zOPfjXHSqUl8=L7&FR$QJ+xIeNQ1wggA38wS5pm;bdy7&(Vd(4XHR+yK$*Z@wODg#3 zpZ{5kVWW6!arJ=-tl+{VWs9#h;kmm0K`veE@OBtJHYC5aylo!aXcfNtQl*fbHFk%G z*R5xuQDhzBi66f>k>cTljeoC6)&fF+$ z02Q4pOY>yO1$!4KmbV!v7p2c+wTYE}uP0qSW%j+IPe58weaC6jo^-oFRG)dIn+?Rl z$-9RN*prg;eZt8w>2nxH6;%j;WNC6=UB|`j(W%vZZtycDC?D9oDlj3eNe<2a$>ie; zDO%*A@J3|tJ1uC#6Q6ba#Ce2oC-$o_-iQ|r(yn%~hvzTLwe;T>Hf_cXnbVY#Tv~r- zgy)3J;ZVsf1dQ&xZRvT}yv@TxOR`~-eNr~j2QfI(fpMXPiV^R#1C!!1A`tX*92#yv zW%NHVqaJt?n)fD5YeG`$)fp!}yiU|8B*jz22spvO>!q}3B;a>Hs?=9~|Ni|kJL0a@ z)~u6k!~(@Kn*h}j_J>D3=Dy3i;cA9I!-mU$w~|E^6~W9eOvxx(Ybz03!9dF zL>Xz8h7!VfWcP-Kwix5<<9ObHQeMP51@5XE>u>}WQ!Ctl3MT5es8s5#cKGDUEu4O0 za~+~UqHtpCCz0KX!YU=S^FTrmb&L`i3KV>OxOsUnbr!Y{t%!Nzbny7G1Hgf^Y(K_4)w#IlT35M`3FwGsvYcVZ@hFPIA;sZ5@ zIC^u6MRa{N>vWgxbtd)?l_-VS?Cnou0|t_wk+Gr7#(5D^RZ$Dz14vec8C2KHrw@?N zB=N4SdkcKvlt{1gOKt2mLX4!Z)*}YGGaCzb@$PKPHsRwR<>fJD(g`bg5#jJtLhGur zfDZ&D@QaOjTftS88V?^Bdyw7)(a07enhRdG$khv3{Na3(gC$Lr3~Zuy+$qgK)FG!B zb1t})0c;-)0JBjd7|X<@tb4#M{bFe6e1f>3C9;L+F{&S4RFD8Qx)y))32BA}!T{w7 z;xiP4Uq3`(7jFQjp3$k-BNgyMtd^`E`PvdT#KT(Ap70lvu zo{TV|5wf43@t{rY-B!XeTBT{Zh!l)-aN0Gmr%d2-_#Lyio6vDp`;9wz-~a$$hNr&8 z^-$=0*~~_#5_RRufija8x`PMrUF#P<@^E@ZqtAyO9ziULy96(O0YHm@wV-3~pB6N& zd!b4vNJ|1yaYoz=)9O{THl)OKyOq3uw9r(lhQ!2u6+zpSg~b8_1RqBUs=*u4zRiXU z_!H61K^ohvUTq@aIUBGL%dgO}E|v;|)|ds88frUVHMKR`w-zR8`P(~t9j&*iN+pC$ zN+gjY62X zK41^S5iMK{wcMv5`~++piNH)lCSOGt!jw1-iF^utTY_lO5IxjHS!n52&c(kRxji#9 zzGdB=kDWR6Z4h!?*S_5aFhAX2|bJMZzJrvJMx^HqR!C2~8wh=js@^W*RL-xMrgx z=6=F&0kXLlWi*5ZT7hA^A0)8gp$e(vD2GkPSp~n}kDx(%H-@U+NqFK1%6toFsKo~5 z?B!V06!>xV_YZ9e9}Qs&6ImAr z2mplB216q;;^#_u=xkCCABc~<2m&C=3QadVAW*di!)u)$oOZvk>aL~W+Mp)I7Cpd!(2l}UYUqJ%45d9(tH6SXz zVt){YTM5V8oEnuYV|E4~En3FHcac7Cfp`q--d`W#IG~nf6BRUY0IefDf18Cfpp)M2p?E1ru%hh|7cEr!+LiJ2xtcN-3b)2RNAU<%>dv39ikMBU_cb z@0x&0I9-MU;5GnRcS+KT5r~b5gm=l*EoftvY!VM2vA@UwR{I>Yw ziC?nUiGfst&3;1R@b?Sp)fM!{T39p-s|hB6@u4rqFE<5aB(@2b1ga@tPya6ShN5c* z4JepsH61{SS))aKNjI3869|ZSYrHL`4`e#wdeC#o%agHD3W`iX(M78jjm$+;dG-hO zmEfYng$WCbq>ii5wG#%X0M7Eg(CtOf{?aHm5b%~rpG0IMn4d$9M28zq$I16=aSX7I z9R(mT`}pQfm6o5 zu%_hi-qjr`76DOFrd0o!SmnMh50Fo z(!gQZowLvn@-_D9chZ<_6N4fb`%BCz(jsymDWp}GHWYh?>Xk61GV4vF`Pb^t3RZ6h zVC=`gCoD2J%-4dc*v=8bt7>bjo*UTyu0*~B^dpA2P;(Z^=k@1x>{6M0(vL9R|8HCy zj>X5{K?)$MmD-B`&oI=yV(P4Q2^o0{m|PeYY(($|A7M&&l_w%7q-3n>G}{E$TA)x6U5wr0|ySM zw`ftHABc)J`@;WwwCe2BOXw~{GA&PF1jrN?Oo-t8PM%zx@Z!?HLoN38;v5LV3n;1> zo}H1ct?D~timFW3EU{~LWP3Y%m&LcF0U-97F946w`>0h z#H6yz3P>Ztea5_*_pZXKoN#Y92;Pt=3&2>nIWUM?Ns&f3#KWqd#{h|nhsRgfvZ)7u zcUhY1+uX$;BhJbDd)RINK5_f(%V835AI6I@CO`KE?3^seaGkjT#4pY>I{_na9!FJe z&Ye2}=g+T{ulmoOJ54DN5bO9IKfYk=ySi@*UMGbky{qEAL)Bxb5;>j7TS<&I-61*^ zQSRybHz9Sv-=YlqPDO-@GF5cmBx33O32Z-eBFR|j#Dt)b;U}@$q{UTS^ZMAQZ{Lyl zMt~fiOnw4CBPocdKCS-^5Hqh$EYyWVnUGuBxhP^6&iUfk;nqT`Q^`hOvwc-9I{G<;70a&d6?LWhS|I z*yY|=t!+Hc&<`+P$YAo(ERVZC9b|q-FaaT#Tj?F9`T-}i?Qb9^qPR22Z8m2Sm-wk1c|${={N-(`e%|K#Gawp<}qm%al8i`3qL z2LkEbzyEoQ438DliB#`c0X&9g16|V=ZU5fhuG5&MNdMHd=sGTN(nZt56axc`)c%L+ zqI?4D>18iWr84A9{oT7Tv(*<`okCOPa5vZ~*#|}4qV zuP}SQdmxk&|F{jEcRhvU)oZi=PYXb+6Gf$6T{+D2<3UW@eD*?y$;uyE^#B?bT2m3# z!yH&($B)w^z;?p!ULcx4*4uXdNnK$vX3U*7D*A1*|HR#e=&w`rgQqy0oxk<*|KIbV z+p0r*QAx;@*SJ^9#G{g;%$k&)x}}dxQvi1PYgTd1IzDgH+=|M|5fC9Fc15{Q1MNrR zeu9W3YtSn%f0BYMV0hB83Amlui%PAU2m~yJIa%MesrK0GqnVS#;&FC)64**jc_POe ztly9ShllU>?ft}WAD*<7-Vc!+H>0XdrffthNz&)a`Vt7_zz)yMxk_Ay%(MnbfsLR8 znSA8_>}O5AYKQ(9eakyN#fC`=rRF8%$cHmhx-Me>Ty=0#nMYIYu+#Azo#~C!*#Eu%>p+m2l zUl_(qjB8>oehR}JsZENc)V zHSvC?&FJZ?;Rp0&!JarME9nm?Untns?}_^utcVcv1rtqH!Fk9Yn0g_qGih(-v)4)J z0*x)~bF^72TLURug#L#xLE6Zzn+t6rR+FLxGDxl7z}H|wNGQefhW`LiUfF+5V+#9! z7l;cdC;;BZJIcBrh|4K&6JWgC&(A#JY`jK=tQhOlCqcWUtwx10GiU-M(}q!^Rmzg) z;KxkD`JxA61B<_y;sNjDT3T$X89tmCK&K^4r>s)x5SC3(Y$Ep>rIDBg^UE$_TnG6E zR=cked8f2d*SCl8X@_aVu0r)Djox7->JSa&{@l7f#m;0`RaoOHG`}K>-FJA4>OuN! z<~gH0Y`WFq2@I!HVwR8Sj@(TE`YfvgFx>Yzla z&{c!bddkoO8mBahTz-qqjz=s818^uRD`OgZ9J(Q~p^<4kTD1ORc}&QGF!R6}T1I!F z%1?CL6JXT8za_=wB3~~f@j?!M%y5)1zl^aFv9-hOm2PIfD+_TPE-cd#bepUOu)}9S zWF~qe?krHj3V5kHhYRIJBjYxAL)G)fq|u__{~=bqH9sNZC@DpO!60(8nvUyMb(re% ztG0Qy=kD(_1GnEV+@U#Y_`QqXK2NxNO%y+s=)LQ!2m zHPRX!osgggQa~wkKQzP37cNIJoMDIe%5(O;Ah$42>PISm7@A>Ruh#~nrk(rOFfT0y zl6d7I0l>{?P_H! z&fER}uYJpwEjyJpOBs8FiV9hhQW7akHBDqfWN#5kWhq$_g@i~UDpIM0l!}Rxl*SU0 zC|kehW$yET{LkY&&bjXy>ihkC-ph5pw#!z_SH(L;27L%`!NQF>{n^*5u5|bC;|LDT ztHU@X7|NPLAm!SQ(;f(@7^gL2Fc2?l(^y;0p?07?63suk&+(p~Zq3XZ+p0`E3%z{{ zH6MMq_LV>Xkv__2t-6=JKL;^PPE&+$Qb7vit)}Ixj|173AQw_j5}%#3Tt_}7)woP@ zli!F!u7sz0hUMyML_`vA}bOFOkse^ ztMhPY;(}5D{z$raxxSKGS1MODZJoFLT6lv&4p#3P!9qF0>KJdE!k?4;0Il`1n^ zy?z+h2%G8?f5Wb~PWRkuU&OEo{5aFKn?BO#JVe(%yi!H6mAxn$TfwI$CM zIWzBQekeFSySLPuEE-PIWkG>)X1r6N^e& z5_AgN2e0!#wX~f3u;l&wHgtz{!=tb5@`PDBLVS3^rGMFn3Lx`Ss)9TLWYL=@^8~lS_0Dbap^TnGyxodT& zPW6<%A(BZsI|)79Nm2CBFGX{xgLu{+o}KiTb3~frN)_K8ZvkR7wr3vam?mHSkzaBw zlM=^J69%0x9h~<2G&|e8uZU>Hr}X37+i3Zz@XM78lpdW!s359eIncoUIM8P9&iOBR z{t^*IX7L+}_(&fyGqaD+ym=P?$BpEJT3Epp3NqL38U-I*?(Eza@ZgBfrjWHAPqjbS z{Env5C?;XZAqLm6hmXDl10VZ(=57mOTOh4Ps|P%tBj4y1x2;HlSK)gqoEx%;1x-Qu z5i21FV}@2ihnZi*SE^W;Gp`L*JAQ!p{OJ8dvVMOr5jM$01MY_s{JX-bRvIcjIx)6K z8$|TYaXOMR%0%ov@;uwK-_W@&iLz3X5?n+cT;;r-vIRU%jNh%p<``G5N_V z!#ehgsOH&ik2o^7{ytN#aUF{!ltN8Bl2%q$EJPI_w!jmT)7gzBd>a1D@BPCJ&JqM+ z=%tSLjIg*=cT2@yCizg5Npe%{NljyLyrzmjm%5MB!gvCu#Y*N-J=H)SqOU&k4G}o1 z1~jKi!2>v_&*Kq;hD!JD^RjfCC)3KzUAS<@&_-&^b&6fZcqX2ssLjD<Brla*r|8aZmC$Pd7u#z3AMDF|xfQiWO|5s+Ha&Lo z&1(P1&Om=h2S^Z8htJpQKX|_V?$n2qg|?6AdOk1L4ZFCw2r}r=n#3-e|C0ddmEb z*Xa^gh{_4Ia(Jgh_NgS!Y(tLLOJsu*d9f<~vv$}t1A|8ET~}xATB0-*^|B<0V}uZh zzIFG}u}_RUq!@;vvXZ`lLi6e_)hDz+FUrdFvH077N$Qgjr0HBdfd^&7S9g8~1h#`) zqTqWmni$K^?!}B{DCpp86aEBJLkM#^Ia{1z923!DTL#?KY%N9za8+5q93eYfEm2S< zG)9q9m6q}L$^DamxA)Nx)?PPEv?f&-74`$SGCBtzdP8Uc;hYc8+Yxq`DWN=yG>SwK zGRVPdai0)jNcs_z)We~b`A;%9rE;KB6W7H0Za2I{+lHnp@vTYg)_Xcvj(Wle9j%q5 zr0k;~tEQ=(i{J}1H72tvqTSCMbG_>J!tDt~FTS#iHYweTvNJONJ^!@pb%0~Mxt;_p zccBMLp#jy?4qQ<5#@cnvA2FNP+{s7+aJHp1qU&vqSW;iRP0C1+vhGN-ZNT(nPrC2F zUYzo$iTf!n_%M|T>o2DIJtho_gRAL*g9mf{ZW%u0;XT>p)p2P`->#8s;MtgUPicAc z@`@miaKOakx)9y4cI4DaCxI|iLQrJVENWdoU+GW5o0;GSI8IZKyQ&#Wu}k*Pj~6QM zX#h@%Ba02Pnw|xl^47KLT48f`Qme^Kf&Bb@xlL(LBx0~>`rAo>B0@R9)M)YQS(P#% zo&I)5WaMk@t7FP9WApYEdo3&h_`Qhsb-us*1O6D0V=256Qi5bE02$d~baR=n2k)Ia zthWSK;3%55x0f+R>&RA!;jkW(@7SFiAiQVA4ygu6yQ6pG=ra-dR4{2Iwb>MI;&hQw z3Y4J=g}ATyD&ipgZNUzMauoFkPeI}>#EH$*5*ah_rR46*P#X40Dq0-EQ}|uNuk60F>bIPfgr7%WD|hBw#$k0)+^_Z?0L)+`InwvoCG@ z`j`Azz+6vMr=kKOx`d}^kg(TK{WgV+xbFmt5Rm~zdPu@iH*pjp;ilbB1q=&6t7s|{ z$N|fmQNf7HlI2&m{%1YNg)Z}EsBgukO$9Us6(27g3FwxJwa4v4Cn8}I2N$oA6S%aY zih@-oLR)HI+a{XhL`Xr>eowAXyDW!4&flTDkyH=X#v{K^$wJ6*h0@9lf|3=xQB`PG zR+hvDad_k%zLvye=FW|&{dVQAYj$YBv2Mw1Bnn6rLsF#6JUs?^NL@%2KF@5j)#rxR zt-YCil7{r_O?l44hhlOl4jxg)OA+)Cd8rSMop(hyx=2nJY2u=&2D_4fB2S!GqzQ8& z16xOp>crx3ioCkl#&Q&g4jYS?wP$U|SEIN>4Ua;G5eZNGfASyeKhTx;Xk#!TXa|Tq z9}nAY|6)n-<_(ti^95iR6X9y-*mX`Tw(@%f)Q52M!;e4v_Q4iD)y4WefRW zyd=C3?YJ2B;hj|>Y}WShs#^(sS^Fj`x?RVP>VN4iqe_@9I!g`iUO`` zY9X{j3hxxj?b>QS^&;Fc`+Ib7&CTkduJ}S)E%#{0CzBnE^#E;MW5u)oV%)cLWr=VX z!cx&L+BegEEKjhoy^2IsF0r#q-L=HTi()BKP1z?T@#09SIg#d+PNFf;8`!a6;UW|8 zMxLyM+B1*3wE~pCL1?yf?pinIRQm8;b`RLP|Bm$xx~_IDJ!?8!3be;iH4w}0L&oO0 zE;6HY=D#bT-VA(}YT3>adcB7ykXe8h24mF_2l@w6+3$25xdrFFC z40CqdLJf=OOFMewuxZzc(-E1w5c7y`kpW9{wRb5R1~5z;^dYe)6RvWGa^+p} zZa;Ge(KkX2eEoKa1tm&<&K&2@x?2uEZsq7&{dQD(%YZ!-AD-9lwJ_)7OM3^0hLbNB zKi7;wE7qCa6wz~sTWhI+$f@h7NKHH+qK7UIf?CE90u=;^bqUJ2e#B-F%Jxn-$Ts zidG%IUU!^plGZPK`Tf+4rqZ-|U92_gEw`n<-S62SC z{(f_PRYR(9UIMsA{c&6JAsGgFwK&1n_w(6>?mltlpH8Es%)oqs`K5B;y?UFen$uX3 zEhK=(L)YeV!Yhh$vE{i}rFGe(QwdyRfOC*DY8elo6uAu|8GIq5PJqcrE! zZ6paIzCCngwvWvlnUew+i4*oj&xlO;nE(VuuNv7FzqwiMoY=Z=V?;A!2CvK5nwaXA|mb-41HaoxK_KM*j|N6`3E9Aqv0znQk}4HjPqHxE+cr_^5OX8n;vSh zv{N4qq2=2hJ>0s!{*=-(yUJa5oU;<(4C17G3SS1AzR~I?yDqA#s2xCVzpK64G|6!g zSEwkY5bd?o6>yJry9D_T_eL^O#k5K0k7tzLoZ6JWIj^8V?DnV-rmSCoZN2p=QT{^W z+=}YEGJ5gIcDhI#hHgH(&MBxFi;nYg3T-iX?Eve!h9R_tIB}wi-^{4bC;dYa-O`;a zQF+VF_g@#yoA;>1v+Tx|F*TRJUVmJ1EV6sAdl^?HpNkDHH4?0(eY#C>+tDb^WWp4c zZS2XBnWD_(_Pf&D??}{Pm89#}yYXB>2uXXxL^Mqd^uJ!qNK%h!kH+_|TL>VkrdCsL$$34u#tD0cCr_&v_O`65x-kx)>)<5l4 ztYv&UEG+p|<9+k!mZS=+RJm9GVkr2|pvrbL-_}U*d4k*JUFNpPcV_Xhl1dP2Hy z>96DB;-o}Iqd%8uPjMB(sPku;%g!Esz3^(*bu@_$6>Qd`e|7LPc%VV1q*?_hPw*V?WCYQ;?K1wXqX$D~bn9l?XlBG(eLfpd?>Q4eJl)~mT z*9mP41Ocu&Gr@8d^^iaeTrzUuNI(-P5*1fdbi5NM3iAU-E@o3KChHND%sMi58~Av0 zPhI*9JPDBY9r?9WVV7!cE(5-U*@?B3x3*JXl`@a1j($ViRkhdE(-SE2R%WIT*zj$k zcxYgkCU0+IGI7()8T$@?*`>Fj-uzUPG}IcPr~nRhA0KeOlJ8Vgk|wCW`eS7qP=#ADERoYwCt}E>%M+wDE2Pek|w$yDIi&g5>1!U=bX! zVr;raoIc%5f#fUd>rbQ@F`arw_+!6BBr{99sh$tl-uk8M6>LMfx}h3pXdQ45{MoOP z$6>~M7F<}=x!9uHTK==oZHwSr=+suGFR}AQ=ZBsF0IV3N5+FpD~)}rHB_BupF>iQAH(2e3Hz0kLh?iA z3=|MiaE(H(@|IM8N@`}7mMzi2Gex`6*Rqec) zUQwM~?$Wni^VH`rSB-@piD*Cf!lkOwN-2u$@5Va0vwnK_~2W4gd(9pe<*Cyk1QbyjPXHm>q zv}g}a+D`owW4-`?-GVLX_j={ME!^Uzz?l+1g8?PAiKe2D$K*ck_}{Ha^i&NsMBvz^ zOVEbrQG`pHD;gfP7$TUBSvsTVopWmu`H-+j#wBUU^((sbk2d@zV5Q#%dHxw&NvS(e+go!y(N@<0eV z(c2!WVw8g&ha&a4W$de}^-$IRO9nRuF!u^@q%61tc%ccMQTzQnYfLyz8=YLipHcPv z`21-069SMFB?w|mk2OHKcf!nSNpNniiOAZacS_?;=>NJs3%au^oJWYLBZ)Zez+`4lzIK<($zRGJKXKA`{)io7OBRb0V%F5e;`X2hFYR+sWiwG&u zC6we`?d^0G36^y-?Nqt`kd3+%eoRg-r_Y&VKRU!L={EHui$b6`6uZikMyHI-r!nvD zzJ5^0mjAdfFi($(CGen#rQIZ7#{J7bEBH9JQJ1c62Jpbaz2W5xTUO`cj-krJi;v?u z?j}G`%m|DJQhhrtTl2gr#S`YDZJ?W@3!m=JuCOICLV4C5&6=SLE-L6zTYp&zs!j#q zsb4MjBd&>B(4c-Bti0;lK@hkm)_tbL{AY#vu2Fg2?~#3xQ&$vRu#8!RfQaect7|T) zs`M0&>3r%_uhCpkCk3MdX+XZrc+K7|`a{{92sBP)FW_K;Yf?mEq2-aWs~du8D9=pS zbZ)7n0S^pR0Qy9W$hpQ#iI67U$uRI;}8$R6@i>D7GIGVDoA3iYu8r2Xh_jKD8h~h*HlSGf+vKH0{Z?l zww)Qw34e)xWBS;>DS4;4UxAhJ+81beK!;2pk^ z6S>qu^Vh!zjAPaE$YV&38`t;JVz{QUW%5|0ERaxn*cdMM2crNEdK zs?(Z6aCP5vOio{#K8gN{75>lkMZPm%a2ixsH~Q#st*6>gD%)Z26Ia;U>WyoyW)FN_ zn%3@#`;yNIZd31Rx?H$&r8DR7daMZls~qH_H8q71ld)+X_f`~;1A-;`Kco9zS{*s} z|AlWR38f`6vCj7`X{o6U^SU>EO;RmquQ+aR{`#h|85e5j`?n0ua0F4l$ju3W%$X&V z(W$&TWQWdM_i_P${mmPPs%)2dtEv?yix&0d&q|w4cOl>yKu481%M8WSlO-=a0(w$+ z1fxn$`tfOogp>(!36ztVxxb#VG*nny9=;{6_5?+u48!;w#aHA~=4eIxBgfi;PSLKLME8 z0V7m`>qrO}QE*#W`0zrYiG3zLm(Px42+m)gBG@j_q0IUPt3@#02qu~nX)CMDov29X zMdt%;R-&yFuov3bgVsuH_^c9keTUH5R786@o2M`z?LQ%?C-Ca{b?=9udLmlI@$sOy zIVZhq>lyg!i&j~UltIqH^>v^6HE!5|49v9e7$J5(oyv%wzu!G+&xasaWjpeR@vd*w z|N5ir>#8eX&c1(M0u@|E38z?p^UJQf_3wscWF(?zA-=E=g4WfmSL1s1TECvamtL4H z8d5l&!Kq2VR9f2LqeI;nULQn+Bsb6tioeD~x9>HpVURVFSOA>)zdWEn3*O1w0;qW_ zn(HS?o3vS;4_Yo6arQqlQ5517OK&zMT2ByW8AITJ!i^PA)~=l4QR>>Ks9;}g@P}|-<2^8psO_W+ohx{h6j|zX1bYa#)Kj9k&xi!@~HghBIfTLh#e~G|+8MTbGu0`g-(iow~;GbC{tv@4i=MW^FAtbjf4^JG5@_ z9-0Nby2;10lb>As%m!S4_lwUujMp#XZ4JSf!S_%?UdA0|FjM%%En zFI{^=hd)3h3cL-Pwk}-~)U|pW^BUN8(*Gbv9KGN;0>!S)`_c{zheNa)3582+Y#P8s zh=I~}_PhvRcu=lC;AS71AI<_gms_ky{27ukh5*9`=WtR$t%?{6soyysh9#|LQ6%$U zB!Gv$j6UI3etst^5a&g9+eceC+>F>ZGHEfg5(+xO1Oe$jVzGk%+!Z|oT2vC^II1os zuL+vmXZ_nz%Rs&4W@6^ouyfElJ{1w&uzv_L^w(d-fm`mIFH?^MVO!5 zf_E;B2Oy8!RFWwKFu&>JC6X=t*~@awjvHs;-YbhSEec8SB@=c#Z7S||i?HynKd&ZU z$Lmg^MT5|cpA=E3dIhzAH1DCYD2f$oOE}p^f#TtDVNg@)E*2B z3E9P|vAdNseSa+iO__Cq#W?ZnTNZh16!_6&&b@Z!st_(5gq6&~=XD!$T}&KWS`6FH zFM1&x7CxMN66C5iHLx7tq!zaCvY#!Jy02*ZKCT#1>q0-2o+!e#A!i~_6TtrOs4Uh%z@_8OQxsO=>MY90A zDQV*zMM`hg-+eK8n`bn#-*6KM6L!^u2Pu%g@=(M1=H_Y$ z2zkJI^aGN{%MG~%V5|01*6_5%tV37fyi+LBrBz3@CMgn}QC+$mXLo=ns~M{`xW&GA=I<0QFZ7WA)0N7Fh7AIxSb_%7*igp}-Bhcx`Z2q~y1+=+v?!q{- zK|ZCloh1LN;Z})`#iVi&*m&#O*fD4?{W&w%s{D!ELSU*s}X4}YY*G`j{Ih(6qEhw#7{&6;&8#K@9YzK;jH564c2 zUV9Bt-0VcQ>*MRIPE`~8GJjua=xkKVx)`4Hp^&klwmw9hu#utR@t(&0FMc`emZMW& z0LOP~YR-`D@G*g`HRWMJGuShRL@*2*Iy53MLQ6GZCybNzkw+jRJ#^fIfo`t;I-R4?Y7-3`7MOHoo%xNmeLJLJM86>42KFkJ*&k1kV;@*v^1_t}!f7|o5D8_UT z4zbWB0(geD*}ftipCUg9$13cR{<1wd9f5Ot+6QMMRo+_gy`QpA29MTxK;*I5R6r4Sy}r zs>|kHI_`$JPv%AU`NH&{%e&t!Ke&Ite&-E zJ$}&O_X27VC*d>knqvpJyg32t>i>YJNe1G9tm-FRP0Gtx0>aYA2A-KS(LsH*fr5 zla>9rL8CllJ0-IkeArMd*M4+9soB}H-?v)4$BpLCf=r#)M9RKcHI`w|K18FG?9jP< zFDmSc#JS-qQBxQKV`XrX7{d162zKfZ^-#w3SVrHV&OPUmUC{w~a|~(ECRSE6wU3$J zKs3~qELHiLjFg(+<|d(+1Jn%s)D;#;#5pI}rtUr21P>hK*KY}~G<4)|ok+3ewTGG!Ev9_@5lHEC_lbhE%{(zaBC*#(5`F0z% z3ziIh#$-$ycXqWj7Pps71gP3Kot|j~iF;;l$^D(+TQi|VGtuHwY`2uv$ZU-=5HpuG z^PY5+D+UFl>H8zTEbJEh`8#oTdUCbO_XC@sA8oM3aTP^XF233mQBh9^Z)`0m6&8o> z{E87I6UBFLxP_;kOZ`oF<4jH(wMTjlo_ofbe|l;SMEB@~WlZz_9b0A+C}ha{z&F{C z#%ZWa4||5f4Xe`sD)%+d=l*6T*?LXRt3Hu)moi(isiK(8y;(tkJ5qp&0H9 zta9M{F;^B7M6d^ib366|shYE71)+r0)$Uduf^@+jR(29(|9*d)2DA+vWVjD?V; zA=yTbaplVMy9hSi{O$Dsi3H%(lPEQi1esA#n4|93ZaeIZsNeX1Uhpp9V0&Qsp+gj$ zX|ZY}qP1wWXubrfL88-#8j?PM_%~&GUoPv_574AhyzFPM~W>q za+v81Mb|($qJ8>O%LSk_L_CO7p8}DfeINGYNrtykRxX8~tR-3MV_KKR=nK5oo@)!L z*a(rW1oG3Y>ASd$0C=3N-FXyHv*bS^IGo)4cdi*$w!%vxO&p`&?0fuW7a-xGd9;Hf zTj4B_*jWsR_682C=@cXj9Yr#9_;0#vz<@`7`EOWsHq>1t;Of%f@o6tHH;3n$<5zH& z0_Fwa;T=jBNw*~oMskT|?nLEEWufeulp%rU)LZGI*X6Uwq%9;>3bZY+i(vJ7N6!HUpL)3gKg&{s;oYvbtHihtQyTo0+S z{^(PoZ)7A2RQZ9!Z<#mmEZ~QTpxCvnt|{8N8?&;ry(wPBY0ecPGuBygCwtBq%=dXg z5&OH3;+Pt;=z2$wc7>O8R2-wb4RHSLrWz4Jx5<@whcD6&tp{*Ij-UG6@#Dt}S3svK z;#b<4hkkhujK>zki8O8O3mI*X56wQxu>3;AJs?MXQhE-dpJS^ zA`CSNNs~s59#^Z1u=Fl z=$vGPN8zP#Kkx)lUtd^cTaFksB7QTU>yL1rZe+9#(=cHuJ0yZ_;ljgf)qTD}*hzLj zRod;MqD7}#+PF?!?6PJJaVOramxq4puHdQ{soq5wfg@KYlz;(NF8IK)Wvn*)zvo0L zB(0Yu@~~RUzuduFE=pZbg3!5k*)n?CCQ+&#TV7&7t3c=yM}tC#FOysz^QhlY7yG_{b$W%=weSCUEn1DGkfn_JMxtp_o?g#mZUs(u08}VZTXqr zYh(BF%d{{VOLjU4W;z9_#qhMNkOvFMC6T5Tu?xnj!~+NXb83AL!)Whzxg`%ayjP+t~a3SNGvqFN>naA+;H8??yz z|Fi%wYQNVwxx2resb7jgQ8@rEZK>ZZJT-dHlRb@=i*ZU-wV@oBO#GVJv1RZbu+Jq_ z$Rb2%`!t~b(N>->DFuwPqSC~7GFkh9q@O#UTsJC>oQ zB6$u7-_Bc+y=-S*=mLz5ynrYv`=F1~#lO0)?-T#*ZzY^qN#jN1DsC*Yh!CZ_J#z|7qBj7}QRU5GDWi)yZH< zj(Pt#yD!#HXJR&T(OvwFmvng|9J)}|m{zMLN(c-{^1ml-IVMh3w(m=Bv1!1q zK-Ko?0n`6Cph&p=-wwb=3V1eI094hIz)-O9gPH}&@L((wh>>@HO=e-#tNd>Nz1c!e zE|GPg9h^PX1|dN(-~%?Vg+;-Y2mgkOlw(SCeC${tBpB%8M^x#li{cU!6CSZbJ`I-kBEAyblBpbw+>4SBO(o(jO00ll%pe*%=Ch=H zIASIvRM2?Jd_;yn&DL)7s4-6v<(n9lc@sw3ex~24Mz}+KC2DPLN5y0cA=%EDq@{>j zZRv>y+~$7BDA{uyfRnY`CXJ+ObdK_72+t3`Zm}QJut>GUg$2HF|5M2Q8aJ+XIoDs{bH`9RT5m+A@F6H? zk<3fXICc9&Khtb5HsrN3&okH0B>Tn#+Za)e-Buoy75Fg?Ro)S!#jRaV88=);-nI7N(Uy9}67RN2FxZ9m4 z7NlFX8~Nojw_EQ`J$mhJ24_Lzb38eJYQziOSDPp=meOdFT6@5>MxpAl1U*i37=0W&Ve#r0!*{oGjp z=YPnk{WjD4&XhXp!-l=zvH8mN>mji3$`p_Az(w~mEsI$V8Ay3TDr*$}Eca1Q-{xFd z{c_p~NN+UVQ?y(5_3(#$rZ(#2LZTph@94-aYs1Gqy@6;&P)0sL20!G?a%k4Rkfv(e zwrw+AlQ3h(ucX7@k30<~vQ1oxG+3XCCuvBFRQvF&BZ)q#*iu0TI~(S2phn({v(z8p zckZ~&eDa(}kJMm=P5p)sCt%YEB-03v`@qW?Yc|$U7qwHAu`_@Z;2X%cIm{Ob-)x<*o>NcJd;Xx2K$kRcw@#;^WkR6SLD{(&RZFG7 zSp_c`d(v z473PIIG2!$b3JWOc_DfPDf1O2)Ld-Zzzp@XxR52eU5w5@7R0>b43^MnUO>N?a5oqZ z2~DG~Xt4ffcJY=iT;!c^5`aNHjRJZnk4<&#*lWp~-m-)wd5d2lQH$bzR~W0bmiv)?dbQxSxuUc`-Q1`s$i~7n{CJiKgW@fClMR`== z2IScEe`!7cCH8fIq~9t;*M_WXK*qI6r>x5~lDto7)hu)x=FQbMdffQ&E*;y?#W2xx z{NFnjb5I}H16TcBez%hdx*Hs)yWRbG6L(NoN=xr(jNbd`6HxZ(B|M<9XrTbl-4*mt zVWA0xvqs+A*RPF0P>v*C`1%vkq21D@x^S4v&hwtWhy-H*tm;q3UFV-%LF8aty{JQr z08P7ZDX4nz-IR6g|edXqRo!f zO9ka?boEUaEHLCxekL|zS5T8?&CDGh2PO>Q)#N3(t-&I!7GS8)fdbpq$7eA!!4ll` zSU&31zK0$s!Un{UyvBl`_4YO280lMwoEtOr8Cf=D^Q_#Lncm+Q<~sFrs))HBdj&_J zP%s!y&gHDtjZe_G&injxFsC~gZ()MlAKr8Gw}fu`()H)poAn1QHnFm{KXX>-)SbD1 zT^CKZA!CyQ?2pFWHIL&;93I1!#7BGa;zb^sNq$TiZHp9rJO3?OmV!(RQO%eTO`Gi{ zryB=;b?=ujyUo1lyx0!snBCfK%wPBFTyucz6#kblUta$Y?Rj$r$r@$}f6~(1+1p## zJY`GI1Hw$(LN28&7H0R(P56`RGn_~9UWLtmf{Sf+jmuyoW8;2&+N#W(>JA&{j3;Am z*@_kOcs)-4#CRfaSDTDQ)m?{J52n_-GVxXJ(JB<(S6emxh_ z9_)0Ec~{=5lK8;=J7~-p^ZqqPZ`g#t&w?<`-$Z#b5X>k zX7SdQ6mUCThPP_nx`_e~W>La97zKp-%JojPT1Yr#wg>YN8~pa>!rTHc+@b^)?KUct zBR9HyZh&|XSd5!S1@+*|bH~s#iSY)mN3m6;r?fp6EqT*MYgc;2P{y_?K}Oo(ryGhD}LcI)X3L*Y86D-Iv=f zLyQace~YS!DUt*CjYrk~zp%r=t2exjV%qBDk0wlqVtkR!`d@4Xi7064n)uw0acPR< zcY^d9#?>F82fBrG^zPky?W2(n7bY1!Ek`ECUA7k^=zO==19~UbmbP-Q$v2mA4BXXr zCKa4K{)Y}(*l$^5b8Bk@A@bRGk}Qem#^Q(7BEJEFe`?rk2StcRfI3;^o5O=l{y5-C zNC$7L)YjjhgWt^Z%de_AhD;ZiK>`pYov2R6Rn+vHu)ZB#uMD@SaLtz#jjKR8CcbI9k!%Nb{%Aq{zM&A79npVNb@IB;{9g z1MM%03yNAPjAiNW-LRx+)HAN<+eClNt=u5K51Ke>ztLCA^fDwwQl3k40k6Y`l`vx0 zx1OL6U|a_t)dhDO<>0}7+f@(k>WMm|_5)sr6D%O*^H~w_kZkEj@IfOYXB&#^60zD+ zjv-Mr!Fw(^{b^@&6zVcWk2O2^Zxcn}mgRO~#4SlIstja5ZzS)%%0|pqzztnvAauRNNkoQU(y+g7*G7U_8t~1G|bLz1@Fc6qOq^T zeJW(2K*RovzkOx6DVsk9+XG}}Q)cP3<-+UGR~SxIiDwMLn`^`?BTB#s3H*QyzP)5TLQXY&>CQqpZyb z3IL5emdf>Rc!!w>>!w>$3=8JihYiE`7x`%0a7A(4;;_ocXL(bBp z^4iU4(jPG+*mM#o#!Ei(_yG7YWMlH<$3fNC&#GnW)S5n(i6SE1fm*O}LkKwh6+-EZWTuUE~yqU%&a5NR^oijnqr7AoD-rYr&0SAN%Xvojac>%Mk^ zpVOP&cbiB9iT<{IS(j>L4x2yCJ?!dfNB<#BWktoNms6@=Ql7f&sGIdK7wLWkXtH^-!m9a#7 zIW%P~qiiSIi)B5>quG!_J}_Px;YqwC8IsGf)o%F4E$UBB7nI-SXlw_MLEvRz^>sT8 zgi}iOt63q(x$jD6GqNs6>GY_U^O3P8L3L?%!J`0wNcETslR1n%g4q)G2(r z!ACMaP6^!fG4hHeqQTaiUe6!bd)@SN4>*qfAPb-eED~m-Q9m=bn{Mvfc;f%vzZR_% zJ4wh$`|VI`t(Kd5(i=dUs=xUhwHuc$Kjt`V{7AvPzo^|5TNx%Y{YQB%Iz7dkwG#sD z78(`08T-ZO=7NgbtyqETY1*lp5eJZSG{a7D;JxMGj^OSGdg&H0$B*9Xj7j?C*hQRr zG+R-hKCMqW3W2$AZ{ax&b;MJp$YOP68?cmG z{7r7YCN7^sq8AKMQBy%}>`fvY^@43YnV)y=SNbOl*S&T z%{dM)3bs`dd(4H|N2P1?pzjs!wuA-P-Q4tUZ2!zFp$-+d()Y$&#h}uIeXm&D=g@4B zfL^pSk}bV%V2!*fPDODC&w3k=Q4W;-j(yKKX32fdG;k{Dq)d%Lo4ZD`#( zqM+WcikI5L`h~$!=uuH;LJ7EgE>Lqh9BntD{iH{?^2*-(v+dMD8U55$@7}*3Aqb0t z%+MCxu>NHIuB3c#yj6@9>gxIlzc@CGk$8rmJv$v)VSaJWQmWrhzh=#xd2ZEXLyPK< zACCj~8^!+R^r3*TWn<3D4)u#nP4zKthhx^5K5N!NTAq@6=O*V-qhSmG%p6rT!-WH` zR)78+-k?!a!&--Mu4wd4KMbM$75*Hw6F2`@aN>%2{uQ7def`g1egWM4G+()#sZop8 zVc88of8Lmwq8Dwhc>VV6BU~1d7cYK1Sx(c^LE*s21_|UB zffus22ukw+-a2lOU5hsw>--V(5mVe8T3jP_<<({eB;7VRPA9U;%)r>)p||Pd(TFE~ zcK*w9`uxv|&;S?}daGQ{-JLs;^zR01PIDTqsrmaMq88&J{{8pA=%HSK}qKz^iXM~nk7*j)LJ)4EnW3s|<-n@Mv@s4r5!<`6) zEF-nnzGsZi@`lG@t{wq*uS6R08RWtI+Cp2`@0C=C^LwSM|8wP8dZAl<+r9BIr38<0 zqbi@**nh(*b9YF>V$v1Qthzeq)L%e$5Ho8Ety{HhNy|9DbVBMXTiCdf#N*6*Tk^KY z%`1p&rvSHfI!Ipr95~XI%sZuhoVxJJpDzYoFWi^z9x++nfAz1KiGM>BVaJ>CdB!*3 zV`c_yXF1>P6XPWrXYi@V_1BH7{`$4q)^5hV=qEhLN@M88)CAw17r9Y|0{i_bpQ1sU zU9b$Va#9%}^^^&J;u`oR(Z^(6oISGcK7-7teI$pz-{wU#f4U&$kV2ba-v0gjAIV!y zgyhU%%?6OX^Jkgf)BG(vmHAHmgCj)^E^sYCsNaUpku28G1qw8+; zjmrFvD%pp+$t<|x*2wM*v5|0Cil&nAANK?v4enFCQ zQ@4BO@80_p$g^yj%+L6s`KA+<3Jtc4SrT#v!F2|QZoJv(-MqI29ozdTbxt1ZB8cJR-DRBuZg$kJXcJ{lYM!7@NCCt z*DkGJyvnm&!^S_|J#BolN-_ahb_2SZ+^O;LYPWx#7ekI^-U2=D4z{0!+DS>t7928V z^eXnUVk<<~8nbjV>Y8i}>Ywy+^_Yj>9#AMN{6j+SS`2tXMeroZpux&#*R+O@>0mRM zGi^IS-*cNh4PppJyl(8s$+N;$GxQXrHtV!}|NkF_KZ<@v{wO{P5UQ>GMF2DP!sUQN zJq+e+2mbAUaJK&ut_5xpTi_9{LBC0?->QE5XQrHlC_J{{Xe)F{^R4}|G;>XLuKQ)R zxq}Pp%Z~jL%cZKVO#$0&BzPmu`xiI=5yZXuWE(l2Oz7ZSZnv3v9;%#6kN)rFp6lS- zp4PPW1Ls4}9`4WXPO8nZmg`nW-K7IkC}{QeO`2eqcFl}RPiiGYtv zr#b#sw`+_gob};-1c@^A1}+4XooSEibeu+Lz)YA@nu*kPDy>5x z-7z5jQ!(W(ViCf5k}c}Wmtlj7$!@pTZncta-E@^Qt;LsSX-?CGfn?N9);g7%>AYzE zn|jEa(+SPCAe*xCp0AOAf50hRCaT*xyClDoI*(Cp?SQf|HdXux8aV9F9ya0MPYu=rQJfWXupk7TjHxGbHnzPDzo^v`t5|!~hTb!s@*Z zuP=-^HXGrKA;mk)o>R;~ay%&?yPw;i_w~!&12j7dnaeviD&_X=6I0feW}S5^IK9?F zqOC>6g8+7gE2FM=Yd^I!+BwPW<3Gh^RWqh;Qh&SVk(Yl3jq|w59&R@~%q;NuyT?oI z#dLFK{f{pBbR-(l(C`B;9v7p_hyM34slo5OPR;M#68*sB$y;kba9R8S&Xcq-iA)eM zdB~7+xoepk84T11&(a!`1(|8)KditRlNgPNF!W~b+C{A`RsK&407xi;A0|CqbDJ{X z(Ac=s?3Tkm;Dc|Ym}9ni%+`E{2ZHiVg{MZb&;o=Cx4Bv21s*h3zOb3L<+^$+qpd`7 zFOG=6{(4~16O>yFYY^$$1)E zAH1CgqG;fncm-Z)cy&fAt8g4 zGMjbb$uuq5Qn4q-R4nH)_A3gi%cuyovA_Af_IUn2FF(_^wB`bB}YD;g7 zq(Iim_B}s*zt|ehW*8%ap$9u=&wWk)CC!a8S4v0c0X*}$tgMcY2lCbB$g#uZ>#E31N6ueK4tns$ZLyP!F#lC0$&Gk_5(Ofmp6nwrc~li` zDR-(*`asPttl(+ak4K}o&i=4MA+jGB4T&PG8UZRv7KibVs|g<*}HH; z;e;#UuSSZ26DAya6wHv5NR}mj+WyvS`QZ&GQ-VcZe2;u9k^@d%nJoI1T=tE(J_wyO zTVJ0Wmzr^~^%ly>SOf|VZ?}9bY4FdJCv$9U!eXs+4MsT??gs-IoO7KTxvZiheYJkv zS3FEr^(Yi9?H6ylhmNqhffzXY|3VFO;%y8m)yorl(ce?-y-Mg6cIK?pK@BwS zijjZ+`*3>prL`8?wB+G^NYMF4bOn5bSi+%R#kLVRyKKA zQ+6qlm(yNxebtNY`fpoJ+|tU}xHuXFTVT!8RU^YEY$4I2At62XM+*M<>)BWi=8mUb z_eU8IbBBXq4CLk8G2qP|6ra9)={$Vj)t?K84IjRjGy65#u_Fa3>yieW7maJ%o^cOR z1357YKb5ok9sjrb&sqF2(y>5^>+9t?KaLoY^AQN#>3!#aA&`I+H`N{m6Y-}R*@ht)nXFF&hYL3fZ0s4P2n$igd1Y?TWx6Wxj)|F7*GC=ZRxd921H zloHIFxx+li!9(`?`g-u?;k5=289phQ2t!rHPVZGg(O+qvBxFOeb?WZUHniaLd-a%9 zhJQ^07KBahRr?u|1xy13S2jiez$XNV9fXXCsss2Tr7fei^Z?)Q@%G$``!Sbyl}q^I<;&ts8+-oru=tO9SWvVXWUYBx>Cf+6P?-|VHIx^Aqp}3 zw{q9HY$!GlvZ@v5IZA<(x0fyZ6uTwsCo%naV(x&#kBe?qGG=kU%=D9Ve)`K3H1kAh znR(8#bbI#LfWZm%@kunuY2NG|<%?V29p1Y6refd)4J(*e^De1h<>uqlw9%Fb&0 zeOmULyU(X83o>&bU5U)%JA8cX!#RZ-U5M>5qWPnN?^Asp`h}l6??R!a@uqW5Np16I zDt{02${pr7U0peVNW0dg^S*NBU^@25Ct^~87lF((X_3lGOLcKwz>`f!nxl^5PDH{E z3D)yHo)uHL&tkQn$r=4=|4q;1r#_f(*f5@;rbobF5xr*U-K}PN`$#bH2Y2fq(wG@7 zT67e?CB>p=?p;ry;XI_XceAtW?T+de-7N1v``An#|Eq*!U#kv87n|=}a|~H!!;hIC zZsW; z6d6>+PvIu(%Zw5o9i37sya`;NW3NqLw0eS-0QFkrA<{{>m?TXQ{7D88!;~bWdt{t( ziFWvG2Nq~6kQ#<@p1il&$2}Ai0X5K0kzv9|lgAU_reyVf!P9elyz+)QI-uo(32MsW zpjLey7*Poeq>Sd>*ZmypR4nGe-!f=V49*N%p_kphlVZ~9WsQz{*_Y0Uuu=6h@GOMx zI7B*AkWlWHSC;o%m>%^Cte_r}@kN=RKh?mVN+Rm-5f9X2v)=em8%EA;`j-0di+fDm z&=Ips{soOZN&y|6UKm>R@GPCKao-v3K7V0(bt$0J=D&M}eQTc;8s_VI11cknkiE9JPM84cDE7 z#>q*9=e)SI^dmUy@i9~Rr3u(P0=Q4Hg)+%1h^Mh|BuHnkJsPSe_UAj?d03$ zn-*tnN-A|z?=~+RX@#MxDmSo0al$y{Mn3q?CZO zd*kkZow9vKqi)l0oQtHY3q(!&Aw81K&e78nZhz{VWixWUcJ2fYh@@T}iN9=o^Z?dq z*RDo%IN;bPyE$vju3OmL;rr&+y(R=xu!VPg6PzsXro7fnmEGxyze(0IiJj5mnjZJ>T{L7dluh;yY<4SgR!WW z;mo4fuYdO&llC*k7tLr;4X~=gPT$F;qpK5fd#<~iWR@dbWAfkde3!R~JvzuGE^1vg z;>5J3g!e3+bEWw2rk6{jlbkTHrCBt4sO12`6UHGs zaG5b#KuYvy#3pqCo^{(3!S02!_VV^NhzoMcyK}m*-Ny?*5y5ulE)iMg+k|6to-Ra} z!SgJstlUFWIU~`1+IV@h5-!B~X`*qtZ&@8RH~61;j{@_u4yJ;7%4hhqFxKeJvd8_p z0MK?}Eeq}=Y@*~ROMD|!17JS~pJz?CO1SZNHkvq&^2vL9O&lBfa$fB{^Zd#Ra(I?7 z#)$ZeW*^^M)eu3Q&Q6PRW9oL@{59rO-!qklnyM$jpaQ+T?ig&$bVSV( z6f)XrI@>n-vlVs1c}(4CH4MOI)PQ9j9i6e zgwkasD_dsUC`#KXB_o^2$Vy95LiTDIg@nvRrBY@QE~8YksVK_ocR%C(`TpEKe|+EH zi+a7D&&T5&$8ns;sj0c162g>($P(gSPx$GkMPj`JGJAY}ufvU~bfRfTAGl8nFTXW5 zqGzY%tY2stg$KawW2cpMj$QuK*nU7jTTv5HbBLM@@}=h0On!ReMA_1Gr#$j=^im#(;q0&EOFY^S4c#jv|wI(O!=n1prO zJ6)QvsFNox0En!5oIiI__C!j5sL&ZkLur3ZH~drnVp^<7`0INZH~^ujdcBMtzyAvz z=uS$vap*P($0jU^Jj4z4I@>e6>->s*Owb(L&*d+qiovwRa1 zhe`xWyMEm);TZu(ssxIKNA9b_+ilm@+-$+Cc$2*W zF9vrHQ)`E;Teq}vTi3$|m9Do;BiOq1zX8SJQyz-1jOfa!^o<}WUh3}~lhteWmakJD z#<&}zO+O??Z@@ZldHEfl+vZe6t-two+2@y;L!1n>C1$+)yoQJn3iSk(Fy6iF!K0zQ zn1x@0~c$%MW->tiQm0TTPFvJP5*wqI|Eju+*QYwi0xo4|el4_fi-u%4oy%mAC2M8N7_p506;=I0$JZ;wtGH@d2_QUo|rjx(4ori0EV>$p$xo1i>q z>lWKC_Pj&$UA@<1LDg;0Ap1t4iz1T}>}G=pVz=BKdTh(Pqn14(S?@srm^nD?CjECk z@P5>RvfKf_c|GT74I8!}JLoY~?bu=rNJ_0b3b=m&xbZDzzg3T&cZ>E$U2tE(5N1?t z>{#>`CnpZBDVt7~JmQFsHZ?txrE)UCro)$?G-Fb@G2aw5b=f>X$ZeDxbT1a~s_brL z^y&GeBW2C`Z1(Br}Op=TeYKdl}yS%?aV?vLl)iY?6h{Zdt8nO zZMb`GOiQZl%-h$$ph4qnn-TV`}@gW70FLFBwfSEf9?4(^c2Y%KfcdwjX;Y0mnS zt%O*_1^3aqMcejt${09$QEnb>_YLqrG*S+)d%gVo1a_KfYmuQAFI;$tF6h{G>-^6@ zIjhI8AZVek-nHWNd+{lQ(=~POkmm9Zt%;@2M@|4mn7b3?vP*}etzue z;@7Y5bE!uoeB>}VzQ6g{tp~A?dvp|#!K&n1SaF%T)#QZpw3=H1 zem@`Q*v2ZUaIw>)M_y^4lrwMmQc;Y;=8SE_sK|CYUWBa*b#yow5gjcfV#jt|#HpZ0 z)y)=MLW^$h>9%_ajL!6VxICJIJ~H-~;b|6jW7VoKKXhZl$DFP?D4y(_fy*xtn`LE5g?=MX_1Pkdgs2Hb@v!JndC+)-*yF zH}&e8&GJ+)OtP7h`MI)lx1LWX(MA9xgnalgmp;>aMXNz3m7;qfMZ7?Sd>tG$+V*7P z>naEg*s76yP0FFY);D*ki2&-!StV)rfsLaa&us~Iom_lV{^F%eTCnKU-QYaO9=zY; z=eIrX!jnf8e;VMPASs>D^wsO~hN1A`xSBFM6WngFOzg_EZ^gS)GF_=0JE}WkZlu}SC`$0e5)lIj=#{?iu|=%kqAC?9 zUvcY}Iaoft!_2kAFq#d9cvgnumkvrqaft0wA3xqza?kxX9(R0qWNE%wPf*9FdYXAN zq%Xi^Q?fpTUs7UJDQ^s|Ehix_u{HIvh|cm0N)IzT7-_OOg*decvh-qQ%1}l^;fho7 zuOg$4M8lDPtWT*B28TR|+rmn}zyk>%T^RBomy{pHgOM>FKFr zk?Q6D?^4l;0A-iqAt9boX!Q7dCisp)ljj%oNhtmLagrB3!>s3*`co77Bd>VD{gLsS z{P5AnxVp-_0D`W?oiw79lV;f6i}n(KrohP`UDp-I?wQrK zMwzwv2yt0<6hLBN$h-)l6KZnWl#cASU zH_bXEOVJz3d;-eI0tR|z?+0*pmGb6^+_H3sN;kM&RxpJ*Nb6p9k);G^QeyXQufr$UbzHt*(zqpYj z1~Ldz>rts}ewe`N&krn=e+q#GG$wnW#m+R@uE*NC;lX}_wJ zLuBPaWm!gtMQ`qDqRBl(O@$Egg}!c{ufIRrVCzFi4I+~u$*E&(yzI%8gXYKy0ew>` zxg872{oPesBHCKlmp4xZ7fOH;h!Mk^jnD61s`~#*fH;GU$7LD-8vRsBl zQOeU}I>H;VBd#8)NXDL7%C64=p%+_75<|f!fOHvFak3^s_8%@@T&Uk~s*HM)7sa6f zdQNT~)&$N-UIcpFJ8;uX(P^EV*H(r=wtf2a^n5c6(~z@;PR_e{_MF({)7o8N4QuU0@sHmCN6Kieo+7cqD206^Ogw zEYOyHkIpdTl7k@%G^BXZy{^biK~aV^;AX`=A{2AJA@{$dhN6TBxj!Vzjeo>oWB;kH ztThQId0|JO+PZDq`vk1FoSDRQ?FC?!vk_}PKxSBbB+LU=27Oq}=jGqop2XCGF>yjW zQwbv(*y~4DlHa>3f4Vkh63}rbgE&}Zkn)1?Jt9~JmfWk`sbj}=h<yaI$ppi>ar zSNiSl0E-8T1C~PIqZS$(w>{1Fkp&|;9(w)z|4RY=9n|X>lOQFh24#GmPT-m|18521nM>4Ru8O%@Oy;f+0V=PlzDqV4U~r_3kP=X+*{9vcj@zwQk9@!t8wu4!t*iv+lVsQ;iaJcvc>d~d z8bXbu1Wjcu8hN64KxbcCI!70mXo}1FDrFk;uWW^+pmGF@Peus?y5lG65>|YQLGfeD zetsYRrv-?w!>jW0@1`z11%L6y+qWC(U)qb9uwlcaJ2TSY14WFF?1)lhJun6=9b(3G z&sj}E#Pt+^Jc>1O4PdH?;jx3yEFv*$RHmnwJcb*Ftir)phq7^BA3Z(UalHsO6Zel4 z6#nEn;PqGf{VZU2lp*xcTA6a^@O=&f_ssnLq< zr&LKn`rL%9bTnl})54u+$FIOx_JqS3KLY4D#SI31SqWy&G#X(bS*B<}g7!O}n>(7c z_p+#H;@j1$sGneHH{sK9{bLDbE_Fsn8jhlFi>toM$^$lh4A$45Na?}GpN-GQv z4_U0n*XzuA<+N>iwyzbAYCFWH4TwO7p%Ca4>TBq#fl)%k162f{Tm*dAaeQm z{PIq5byLhD9kpoQJe64MQWdz$AhV{4Zqb3(sl;NCd~@P%XOv@(@h-m3SLY)2v7!iY zm^5h{x9{TR%lFZ_y0!P09{L}bE{}hZ?q}1l1N8O!v_+ICzW_J)IX%>A0k21v?%{Z4 zWkO}$o0M~yPIS}LvznizC}nUg0KJ9D3CDy8E@bHW^XH9rJ{u0-EbA;5%%Gx@L zA|RXg>MbYpFwdy9QLnXh`z+^P-4D^QG^(`@QJ3bhA_GJ(fVM8xGhlI#o;`!b#(^gj z6&Yy=PZdoB_^e^OnMjgNhD?j&68V#;(&vnmhIC!rHyn>m`@s(KTeWGIc$%soqV158 zL@}03joQBd>>M9~;+Tsn(AS-cJZ&Pi7Jagc;vL4N_3GER0zt|T&lN{UCMCA+8MwfL zllSt|CktjwU+U|QnpPF4|G!7>wBNZHhEXi+1s)J!6{ScHF|}SFPYX&?=EV=9_!^Cq zqktl4T3_~PUxVP3Tb%kPsysjhQ$#NU#V`x>fU3)ph07?o!#Isq%9if(s6Yn#0W|@B zbyOe+G@fQ0FZ9u4qy=%4Y!OjDnL;QIJ>;iAfIV-djo-FMo$#oPumRxN$Nft$2Xi z2BNWLNtai-8-s#mwHqGDyh0Kz5q)pnz6K)?d_MnA>8~|mce}-4l11VA^8NdS zCR%8#Vz&Ew78Q$tXuzh?9oAHi>iu!D8Nj6x_e~2iDR6_9AdZb2M{<>t3}daR%jPj7 zv$EpdzX!%YU{K<=+YcpOr_mkqGx8TVGMZcXkDosEoB!3TBN)ZFGpPwx9(Yt8*sfrD zTef0E$Q;aYuR)M>k^m6-+|=Gdfh+<=O-)T=K;k8&JeUOx7{g_D7*2tI_XdSxs8mD72{2(ls9zL|4QMGP` zXYfM0WFfG*B~;=kDj&F6SP4NR0~Rxz3Gk_f-_=)S*jTMDj_zPGayQ#s-8;6K^hP4l$!)&_@0OhduFn=Q#VMt;*r; z);a*EcGL9m-ppoJcAZ_LWac;2Y=UH>u%WVYI$))&N);&q!w|CiLZn&8jyb$u$v!A) zNu)hQW!nq2lB_NeJYhHSJ>ds6gHEOL z(C|z)tpao6)l#2K=?w5{f6BQQ3XH*VleAR}xV^Ia=C4T^gG>r!0yQhH>3d}n8WCBR zTk#LDVQvH&A}ncp*QEjSl8xxGd`)o{ChAL?=HoG(c8HQy7MBquvhj!(Ys*;=kGGC1 z>sx~0ax#00SiF+VkzB;_mB|gtevz}$yUm?9ZyMelq=3;0pQv=O?0A7FS?t6hc^9JW zruCDe*22Oor3zx9db0IO1&EU%L$+CZtRNB$kF1M5zDvjSD&rj`uMgpj(B7i+m3y!2c z5Hv&PEC@JZ?pN3-go?nJDh)Vd1G{KsP!PskhKM?(!lhzS-ZS@7Tdf^&?@YR8I0;A_ zSYlDLiUw{)8VE{)32&>|g2kK>GMiR-`HH6_1>&?BGwKtPrHSQD7!cBA@jJGB>?Ewc zeBfzWU<)iGb|rwtI3up3=hH+0gH}LxeetE4MGk;>&ce-+%y|R!x`Fg8yCEJofVda*AWP;dw0dDXtlboAP2xgKLa7RRbn-Muw!gGu4kyXZY@^)h1<4~>r?sL91iaf<=?kRC3!S%zjKF)04CR2 zAh`N_3(`H}WEQ{<;WGdG>4Hx6`NNDJt-cf~{0(X?Q};7SgK^GJ&TwvFuU9*wyRIm0}G=`+J-3MLwm+|Nu6YHh)Ww@Big z>fN|7Y%Mv#Wxf1Mc1E5!(e%ZXr(yng{`;=Ye9MSm<;^K(I6(fed(NPDg{zT9Li!}U_1yd!JKkApxuYUjT zoo$={?lx?7)9&+n4UOF^-y%H{5D^@zQ-Wq5IYB~3v%xdf!?&Kd2>bqtJ109Af$3|L zljlA@Rg0R;>R@++H+cs~uq{bZGfTpAEp4efF=V?_?K_M6-QNOwJreo(d=u5ax!p&s z8NDj6w~4)dQsKegGsn5^8uA@X=N|q(D4)M*G)nE=bPH<@P@>6rr(ly1zJeUmG50}v zQ2$Y_^xjQU<^K$>nRxf9xWj`JpCyvx#-{aVs+$~U`mJU+-1ql!udz4*q6giP#+U-eQMPAzc5RZ{Pa$d?LZA35s<&yA!n0!>YVI1fKfl#arK9|_w&1cN zn~KMaWk9%gYVUoSETgCWk%X7)8Z7n1UjL}j8~6eOin`Uy zKehL`VIKJ8ipT;+yROPKe0-?_4e^1lRAvL_pMR`$%A)t-sgEyv_99q%6H!K4hCVOf zK27~CSXCOL1d)@-9s$ABK{*RPeG>b!q*T|xKj3hE89r^!Pc1x7O+6QA*BKgl-y@rY z^s9~0aC!MB_x6^O8b$!XNdbtc&W_6gEWM#K{H)Q2CpXcQA7DTYP^G+Kn)=~UDp}vm zc_25glja6>{{afd$@QTaJyOA6zRJTFC8lf}r^IRoA|ZpI1R0m+&-*q>eb9*j{9#`x zKWV+oe&;4f(EYR5^_oMKxVljW3sO`4^Yw^*xjd#{Bqm=fXEA+{8E|?~%$QDr?IFS0 zP*N&iv>S7bJ~$fXPm{wnblQIBP0vIH2b3?hcnyHe30cgzQCk`nS&e}hvYwVV)E!^J zPt(xvl>Sh?KZj)8Fqy-;n1H7E84@nfPtVqa9_1JGZqmt_L@i~oKsc{%wf;v1PrXy< zA2(4j6HmPSZ~Q&qO)})M@1#aJ#SAklhF0icUh22=n^yM?_e1vhii2Y7)=GroLHhcx z^rzBUy{~ln^Wt{Z_hZm|@!QKKNgLRg4)&fU2eqLQ4JQ&s(Xz_S9tDgq3bgvl?E=tr zhzBj(Yzp+p{XMqRmZ!*9Y0j1r{&N8e2|{S0e2nE*M+I1yvQU&x4%cpL?PeFj$)}dz7R6CR6}aJjU%&JR*MW)!})tM*p68$ClmcxC22cG)yfxAl*HyIJOu zq`aZEiJrQ)o@$nAwC+UfsQpK0<$JvU{rgS!uh~YH&+mU;IlTR__Rp8xxpMH)#n=08 zuKrf#r7Tpghc)6cEv*=D`?`_tZah+HFR_sF2{teaJ4($cO&!-2MbkpaGlYrFT;kP{ zI*R<~6vk)L22v^*Wc({XC&GQ5aqpM`zz3(8r~k3JEvJ5eLEjj*AHZ@}NU*h3(x4QXTD!2;lsc`iNj4{Y^o%5K5ifIVhs8_aLJGA z)$9GD=+S))ad_M7K;~rg74`X=WR+%y17ZnXQkt4d~6i3v8K?LAf zZ?La$WI0Uvt!Kg!afGxHSo3xqK0N915=0FSujXyk*=n!r$M8IZ#;ZtAbvUq+Oiwyp zRR+p}ij(DhvU><_>y&%0j<`VccMME>cv8{7%Od6B|QHc(<;|kP$=Boid|A$r@8c@0PeiH9aKI; zBHL$AiU^d&Ok%8nh)=A~shu`Z5ek6`7$+wOD#It(VSb0p2ju?Y0yKBN9&I0}U)Jy_0%&W-6X@PMn_f&Ps-tfiOjU6GQWfr zNZCJKLOEJs;cRPkkkP!z8CR$s8;Tf@4 zC2!I}S{u2dEQB3dFjS9}K?X8{bLJCdXYi%P4OtZBbUsoaiX{*<5B9fd7_tW5&X_pK z>%&S=ciBW2{d72KK}1r+Pu{9HxbkD;-C@H|#;7E{O7yomJP#VN``VdiooC!V&=kF0Gv&R%TF^T_X3Hic znd@oQQ`wdZ4xdh05`JjHWz$VNmkq=CL3l7&rkue)^L|-P-Ti*;kB{faU;65MYs|kW z8q~#Rka9w21rNz`sVpv#eW6#bjpka!3|C7wTPW^He9?bcmOy1p_KH~_*ws5NJ>7+8 zB)?zrA~r55g|u`JXgDx%v{46<8Hfh?=YocoRor?m|FVS3d+R9mB+oJHoZ?-tvAv?x zZk)PPNe<#P){jw8p(8~w0XWiFW3wcnfB+qpAZP8PDD(xZ0I)MK4R6yEMwE_s1Bn*= zK=5MOl!b7|z!Y7I{Aum1vZ-znBhBz^8lZ9?d=0~1T}|r+v%jhBK;^}Y6MHq3fT?0R zFJ-}c?S}F8n~1rxm|lIvn#6mHj@Azh36XJEkvi}Iir`}rK;S^!oX=hJD`I>fH{Vn@ zo*f$Sl`Sqm*S9oAhki{mun4!n-f>z<2mW)Ytoi#|F~#rVtHP94d54Y@bq0W<_$1x4JlclDr3P?LYulI=RZRi@eBgBN#s4`$N85C> zQ_-b{M(KL&sIIl)l&fnrXud>Jf^qodX>m^>Io?%Bq2AieR*rSU|^S&Pms{|9#LJVX+OD;oL#XXJ@Szv;MkEADMIq7!WKR z=>O=cN9Wi-41P1>k~s=`NyF3TSrxxSSHcIcr2t_~jT*g85I;&J8DXh?jcICPrnawLNj}OV`BR)hrL%`n z8wtv`Yv6(d^0ejBvRb7kT3p zC20^R;w-Ip?eDv_;*7Vv1NB1fCU)^$3>)$2=nXr`>nNfg1b$TezhB|JZ_yr|2L$SP zI$nWo7!PPMMA^oY-!Cd3&V(QTTzr-O-?s|poAf3iqX|sKiEceTP$MqIQ9;>79fz?) z0h7%rgu^?@7a^?lxK^;mdfM;GqGo?FVc&i2-p7_F$Gi#;pK0 zC~uHKup3!fTjwvBH7kHrSb(0$!1&}pAc9idmgqQ$wP-5(3_n;gLD$|4D%N9wO#m~B zu`S!SrBYWgvE6kFw(HK2K?()a7$H>YN-Zn4HC)l-Cm57?>jPLJ5gc$MarK|$taYeS zGk>r1Gh0otpEVd!8n<7TW6rMCM1cZP)MyNO!yp`c{KZHsblhj#9aL_esPOqAM)+Xj zS?e2YEygEQm9lZw1rOcegM#C&IF-57D&OF+P%E_x&{|Y%77mUsLda1+#GI)L) zZ2o2PsXJ;Rto}c#2I*1`r*j)29J-IZ6u1-#mYhz6IHT~0^a-9=EX@+HHXXHT87&{D z{Lejezo^r*ul#Kv_y_f?d2P{kub{og%` z69H_$S@#q)S^nf8kIOXAOj3qJ>Wiq5rW(TH-;bKsPgW{q>x7uMVR7fudidF&&o>Ek zN_!xb0+NdYnh-RH#-MHaPlr=Y5a?wQGnkju0X}|yV#Ntm(rxK#hrDeN?b0QX;-sAs z;|*Orvc++xb52k9rV=zHK0{Dddxo!^dYAe-JCMiIA3WlG>O;Zy{A3U zD~YR=4>c236@tbLL?QUhB}fZ6UESF%f9} zqUXOZEc9mogycMsUa39^oNQSS#3m4&&LC$SQi+WW%_9Eu3g*T z4nu%{ol6?ezG~j;C<-46SH(K?zav500S)BgDxB$&giK{A{UYWkMA1O&E1G1A@G-+I z3}itnE~V>XyY}wgx$-#Am7TvzG`Uc~ z1srBkSa3N-cg8CdQ2XG6!@A->2sV?>ql^b%+3T^TlaPNf9`9}6n{ceE0_JEp=ruAa-fU*=r}H6~W4J(&%o4U83E3}(FZA`5q4Egt0WF$#B*`3iTSn9>u(reawD^NFPM|&E;HM<|}EFM;?(JE7Pl}@tSo1om2 zwL_*9m?IuvHV1)1oG34sY`2htr?RR_rt`&01}Ld2`I})wDsh6tDB>0mSwzaW_6`0L z`8tB^1c0^>EZ5~`+y3s>A3E2H)(DC)h@vj$5h)Z)-#u8rb*ojp{-HHv_J;L9zKGsz z6gNtK$p2LiSMBV(n-mLGnx3}N^y&bR%&LmoW`<}Ue@zijCAZo=6=Dj35 zqTL`{h7fb!4xph|AGQ*0lMh!EFGAP=Am@r(ciN6tEu(llwgq2? zg~>yCtrvu9Qsw~|AwU`w@n@i<>-{ooh)r5+*}(&CDAFVDns7ZFOTW)iGNe<7uStOt z9C2YDX#^r$)`y?*GB{gx5~-!sQHoL;KdC;pwEJ@%j5>7sqP2@&2{lSQx*36{uto60 zBSCzR*=G}0xi8|f!PHA0$5Q+}Wv&j|Is^`1EGjG+RMS0#Oh;#(+ zcFPB7KG6ln=#5yCFZ+UDnWOvnTia~D736G8yy}g4hwKQE`vy023eBZz(6mdJF3BVY z45lc~@vHGFT}q!b-2Tw=M-=5iUcIh7b>e|vcUcra4~je5*O%^2EIOr-BQ<56O_Kf5 zXod1`mWCG#B`$5%t}B?SxR1=PT~yU0D|Lp}2aYAGGV2{bOz8$=rlgsu)g%G*gtU z21BaD2voSDh!-)HSp*Cxk#!``6FaN3Zxn|fR4DLxU54(*h2I|CvzfB82{&@1XQr-I zzx7_|R-}Ri6=?A^gNVZmGV5a3%j(JZkSksC^74crmW^3R{N66%z4(DQ)vm0b7F&Ww zO329&sr?}kFj&pGY-wv_oZ5)4D0JseyW^gd7`%}1^Y)Y(R~D3c{G~h~E8Jn0<7S1# z2^r>0r24W0ij1`_$#!-|#H{w`JR2t={J-?``DC|wUko3mydDDG$6sfkSCWqY_OQR5 zU_j!wZQJg@9$v*%3bpTz?K_FhqMxLpU%I-0e4M7!n4jth-Av5S#{ZV2G+ek#=d&uP{vx$(Orzh*_!IGp< zrRGfI^+;)fm7HuclvlBG<#*FZt(17|K%Duj4*tIUlR{Hg;t*9tn2Au~s$Fj?GH-wX z2HcZc3Q<)d-UAbm9gAk)DyZgIH)%-Sq)_lof4o_#=&*V`oR&W{rWB^YeQCjypzkSZ z9SgUJg}Ok~%yb!W_E|3fGxN2{Xl%_wV7peAEAJgy5LJeu^3FRBHf^Y-Ab5+o1*i{r zwj-xbJ#e<`3J5+VhMlOmM;7#9WYrfhG)@kbN`Q7Q=_{RCSCEWQWY5? zlhSDFql{mF{=WV0w$ts`YQenh7wI} zj^+WFC9H@LSnr)rK~E}Iwh^z=?q8o1ni znlPsUl@$Pf0ka5eO78ese_@Y$6S`AhU{Q#no*wP~qCVr(4>(PxMDMW!UF%7aeq z#q0`jS!aUY)&#N%RCo%*BdEiHTU2Ze5q@3=%%R8eqZ6;Cpo+GPn>q}^=$P|C0Rh(_ zC`G!meye~(!lT;vU_Xox4Z7N-&g34b5L$pDkZ0Adt!-M00tG{w_CuG$+PH-m{bSkx z0T>qmLLCJzWI-psl$EVmFiAdfMAo%Ma}y?mEcRiTfdgu`Q-eexYG_*L72mEpYLQ|2 zttCCKveJR{u@R8x5cqIy?M@MUByhT2axDc4p1uV`lYjvCPHM^S@z_L=)Manrtn7$- zvMd#mnipWZm{7=eiSSNaH+{&v(w2cG>2hh$6fKmU_Aomx93ls+@xCnqF_-c1G0;_8 zyYPycwgIe_OxCqNT=Th~_!ysZ{6GVolRweQN{UC>V8p>qX4V;r;uaCNDjQSo|&;6_=I}$V}ZWM{M4)6LM;`+YHu72`Ez4X>&&g^&wFm% zX7l>>YZ=1km#6=M4!VyVq7^e*bOOLINsroMijM%;;*fRC9h!8iq3u|NI-1?Oy^VZI zp&(okxiidCM>T~;oc8Xi>Z6twO`b7LBU4o9@rpe7l+0HZU%9IqYE~CCe0>d!X*n;M zqq-D8x0!{7uIfgX@}8nImfMY|gPw)y>8+6P_wL;bncsr?9~xDMh4wCprfUD& z$>DQZS+{ugn4?Dj zSJ{#AZk%lC{J4wj_{@#BZ<>B0s_GiCUoeuP%(xSYTXb!$k~rx6r;e%Ta zswtRq>o+oJaOfL#swN#G!7!~+3mzQ^g%5uh`O=6V6@~@|TlVkov6=_m8`G_yfMsZ% zb?lbK4COu;|0$m})q-j%q`9=R`hI-HQ>sashJNeH>jG3IwYyRZ9F>UX)yT8o2Bd6x?qGQpC9S|OW(%70zs3VFA5ao8&JX;0`c%Q(WMyvm6fBuZ1%PC`+{ci zv_`XQeS~e2HkOu}hX-$7PcaK0G9r^G9k4vEEoxP)5+L8-Jvlgvx$Hbm5^ zj8!6OjG!tLJ4Z^O37iqor*M9&u%WVN4-AVr2`L$oY@$yvLf0<=ljWTN`KbtPc!A

#SwJPwHDa?vK+9)JhINCX8fJ{KiYqj`2X&G;L--xyCSy3xH)J4G|F$s*Rcu(JL^5xwJs3i{{ zg}KS($&=As2Qp|vvng&HA}5o1kK&+)^bND}lZFv(JNCFF^XOP`iEv+B8Gvx)9q|7A zPMnyxaY>-%e=rBmguTbGnNp)(t^UcSoO;`&7=*7~L*J4xL*qI3#>%fX3 za$T9l+`!U_j2o+9_(t~4jMKTJJhTU8{*+LExO;05={&a<- z8abEn3{ojWC6~es$$}ATC+W&5@7Tz#Gi$h3OdDBFj6jRYa zDBCw_=&K2D!nz<|>T*Fj#YUifhO&|MWf}uom#D|41p6 zjxV$J$a=x^#ayyCaY>|>w8v5{!p0mMV5reO2t!tp)Zn!M5%CY1aRZYfqDg>F3NNxz zVk}%Xj!}7vX+G)8?rD|mO=7|_1kh3RbL2wr{rfc#1^EP<7=?8uW1n`#4%IeCHCP1t!Ew2ook!<+ZKEXDcoR&rS zqfAa*t|I0zr%t_?Jk6-THIpbvz#8F4F7aHJC$WmBtH<$1*|@B7P+T&%{wpLdamC?5 z7s|hwX!m(4<8;-Es0{@^eSs4^T#Hu6S5tyU{7(zeQNe79fobe#$~Rf9O&}HFzT6fN zOctDV^60la5QQy4_ywYSM2Ca)^$kabzk0rKDdm7re3E>bnNtqYj+rLvH>Pt%`YHbj zPz|QFfJ#=L0SQv}b;)|E$&>f}k%5?{ySu6Aq8pN3wLC61R0dPcpc{&RqFnV)Ak8*d zgb$Y`ne)zv6@Lx)G^fWwcQmjWT1Xyb1W^Z5;2rnkb#8Okq`#Lch?VRpU<^#RisW5JH16EFBku(g+b0<1Mk!^x zE3hfUfps{|mYr6e-f^A6LxMfERi7Pq1}Q#CSC|X?Z!R+A)??mGtxTSWdAkABkw`hi>|46R0QA5MWuI zWZUXmpjb+iI5<=CZ-M-Md3XE?J8IG@S={dhUPRX*u6Wtl6^3`p)sb|-REKCzi5{AL z`dGd(JNOZlMgT}^Sd4viJof1bsxK94XN!FSu=b*6A1>sK7#xA%*dDjnl>QvUO>P?p|!G@_*Qh;lRs$C8VM7#Qk^bIN6(0sAf@HMB%2ZM%6%Pb~NxsJB?`$XJ1@ zfGsit6B|3{#Kp!hk4UbEiWGQ})&NmhE|=&OS8ROqMFh5>RiZ4L{_rr$ zF)U;d-HTaQflSHc8%yB{0Zm2So4R;+akuVNGjstd{3aydDt|CSn^SFU>h9%X(-BK! zG3rxZ7br<;92swBV71%Qi~pd+*Piu*Vi#ko^{`xEmtAM=2vG@26Ky#czdrYnFR_<) z81MBXV;0OLqg7(;QAXupyK<6|^(AoJ7gS?x5;$|~DLTbgG7toMBC32?1>~PphNo_w z@e)ee<-gNzqQHk6{(Ej)9!+nNECK^)L|Ma5ceB1@YxoefIwg9&cJ_C2%Gb#rJ5vg1 z6o)cFMyJMSdV|F98sw6c?BS8t>evKdeRliSE$5jtGxYDO*r>n~T^H;Fp-N`r$7U7j zYK0-z2j8*9EsfV5MwdlX(|J(_ArQh#33>h2yb6xTfS zS2y4afUjA+=~}`O7dTLa=jgQg>-qo!qPw8#)b(f);rNkyv$VWi9C>|$tv(8OLo(+X zElJp&S_8F>vFkKnB>`cBVoT=Qaui&w%56w|Mzvd?c$N1Y;0@Z70*vV_`e2X;^kMD3>YyAfu^EC$>V9G~;uYjM9S09?4YT1x z!6YCh4|GlGAZ~vf0+T4sajX;XE?gyLj9)GjPehQJ*=;j3Glj^c_`+GCzKu=pn5PFl z@waY>h{@B*YG@4@uy)X2)@!(P2wJ@d*`EMTcT*Ar6@p+HcqL$?>f zmln7HRZ*=L7T*^@tfQ7}Ls3#s;RWiT4k3!0!`R!)&{~Vng_BoVJ?fe6^QwUwg?|Fu z!$-px$EC9i^4r53=4d&%y?uD1EsiZA+*`Y2Rmn0UDJ=;FP}t}1G#(=SgEW_=K}8_I zbYDii;dRYAn9_imX{*X$fn3g|OVc3kN|8QIs%1FYq=@QTvZimaRcE)VeOs1>9H;SeM#(PKY*38=vA-BWxJIsO}akw=XQ#@ADYB@(dX^h z!QBFyRmkqJhhi*mdvfwd^mc4@SMYk%9u9h&)gq07pOhItVOrcC_Ec#(gvTz|2+FjfM)Wu|7o9zPRN1O7o2b~% zq4WR9nqun{LC%s?m@}20ba%ocU}bQJ5d@HijNz{N`W~OAYtNn~K0ZxBDy+i= zud34?|8e92GcLPq+xzs%lQBVB2lw8l##IEie8l*c)k)^tjSXM(0DM6hvZ8K>l$DkO z(pp8YU8MUi;W78}+e21$s+spY0W$V{Dk`m!(-tIaQ4i7W`g^BTI~Af~Irid8Wp8RK z`hRAQ_8a%ssYOu}wjb*Yv3bKbC zz@ra;{KUJb#@zsv%DuKc`3OH~^Nof>MOX3acH6f_m>n|CWV8Gn^I5Wt8nI$*`D^4G z%vSt5tI^FL<*}SJw>`}dpT;JN9PHTHaL$OsiLa5(?0Vs}2JB=bdh@K~hsGHB!WBsK z!Ie;MER>iKa+I9Y$K+mg%pe(4jxy zop_$5+K7+DoJ3Oj+mEYnaqOao#rs&Pyk^gY)`6ibtdcW_o8z`4MJ`dW{KJ0}@97#P zY^1P*gNsUi7F%cDypLArRo?a7445L)=DM@@))XwZ2_KbqKqwNgCCur~6MI?E;LT?T zq5X3@`KT=l3)(>>zmw-yVQnLORNfZBBX%4%Oatp**Z7ZM3Ee(w+B$-nmFJzNj4YtQ z9JKhQS$r{9OnB>?2@Bk!A$LJFlb=4F)cND;8!}l*1B%Ij(w<1IJMsJ{O}tnk&bIf& zqE*rHaxZNEFHs4mQy04Bv{z{f2rYIafwz0u=i+sI@j-`hVeJTXu*EHO>u_*XY&N++ zZT^8A1(X(6HB^gKLVtUK^)Y}qQJ&?O@o#0J3plCbMRj9kW27M)Z)#|0$O>F>E#-bA z&68rrUbpANPNW1SIxvh~()sSvF^bm_5ZI2d4|RG>;#!trr-lY9h0Wjy!UQ>i8IAG` z?MHnG;DPGqi0bRu7+rbpIE+kxICV5=mqLLd-O=)Mfp`3=m}+j*0QUzCN0xm#I_tu; z>^Zf4Uxy(if$|KbV86zADO`K)3Cll<9)$CDV&DE%!buYx^~BJP*go}*`oSoj@h_ap zrw*sC8S`4WnTQ;lrw5#YrBS-|`nGTKL3i#D0_+UxbGY?QV8gfqx8%?o0#-|1r4WUw z7?u)0m=!*Ky?A87{%Q_wJ*dzo8bey-ulZ49Xext7r2Z}Eo`N?`{y-8I!63( z=r(&!8~~gyJ)rb6=vBC^iWX{KJR#Y?MW%Env57twlQ^x|^DPvjgXUtrATjC9`!6$Lc^&h1OFK4N$Uq4Mqr8B1DNADCm^7fj z75^$h)Ma*joiHpqIP#bU({Npsc6P{SQ<$>gptWd%-}{9&&WsvHNw!f)y&Pq`~qh@xeJt z#bDabwad;Cd#BN5l?;=4RaAl#j(xN{OeIpQ>%Mza@CDw&vK=M2Jv$F4@{mq32*fO0 z?DdLhjf{x)Q;cQepVM^p+Ys=nbdcwu9;@KjUZ?-og)o6P+A@2uQNk36k%Tsl95g^t zUvLKvGQeH6A{NJ-8$&8IRV~aFgd4n}_p# zlz&=b-52npWB2Z3PklXe`gGL5)`tRxnn4Q#Idvn`=4tQ|qg<03VOJj*vU;~`)Kq$a zp==NtyRKjH5#r*T4zuOm9d)sOx*(c^`r@8Xo6bFYnBVI)pKpknXY=E~_H^a@;%le7 zP9-ydR0AITxXu}G*g~be%QaPaR@{>{edj@Jba{4i6r(uA)9HGBe)&^pEW9wb-dF_t zs!N)y0*F)b_h#Nx;d_3| z`S|$tsKdZAWOf01tP^Pf$rARi8ORq(N!j0?ShJ#R{D@yZRH+5x*iOK5J9qWqO@J!| zHY(*a8gO0-`2zf6YB=@SyxbjMv{;i0gc(=9EZ|Kwp8vpHmvf#T>v7N(GL$Wkakidk zYJ%ieo2Od4sOcyyYRMGHq`H?ms{CYVEdTXYQz2H>jA?$Qo_gxpeF z&d*QUOkXD?AS5wuPv{zfNUs4YH(R>2LiMRFy8uyE$S9FGSCH|;uBH~hC@QLh{%urW zVTvJNAU9(kXxXzAhqES30d6+dj%|&~hojw>=~&n(!gt*E0q!?nt1Dz8jDOX;fBzE? zmerj0&o)mBwkVwE&6`pNzEO zkufn}szXK?_cJz6?6^WHt&fWLKdndolWIL?RQ#cKw;!|!>)LH>#@TF}i8^^%jbl|c z61QL9wEbAe88f1qAJ&?B!@$J!R^vRYv;Q=?`1ALR*A7k%E_Z!>s;qS7&-;#hm*gFM zbnJP9uRlKgs@j!w#fkIE2^{+QMkfUgOF)D6ctJsx16Kj;+*&Y0nu^TKjl|2{W!rY= z%YMS;r5(uxey?OspVvK&E>Nv)waSdJt#+Mcukz zGVRZ7)C*}DHF}Dhmtyxi6Nz9g1bT>!v_4HQLaE1vNP1fdf3*P3;q>o2e)>Tm)?(DU zzI2|nj)xzen0jRob#tB4Cv)PMTz|H==kPV=z%pc|2*Op?!AvVicQMqZXdW=65hw38 zCU0l#e?9S-%1m@2U~+71Y+Cw1p;;tAR1l{hPqy9rs?R#c;bdWHP%u2bmR4@j$@$(( zG4`j5Y~HHXOponjh~4~k2rspP8Vu;#N4qMpKdAG9&)Z7@GW~)<;;6*LeKap(9erT! z?-j%;Xk<i=YNF$vO8|w#!D3PFoq=~kC>ns* z9`9c!JFv*#O?Ohr)>G3Ct7RVpG*+zjxAgh8D8Bl=&gi?BZfwoZvW)!I<>|37P%DZ>(y12@HF{`*Z zr&apZX#m^AKH(F=c&B-^+eWy`p?DaRfk5Ag>Lt2}Mzz5qB(o#aI(%caq|7{Sw1vfC z3S8{mzC4&XK0D571YkxzsO}p*da0t8Y;=v{FXrod-9u4PJ_GZXZ?K!XqTZ@it0IdO zQk2N1I@BIibNyHSda`(`S7~ws>bL_~JqJB#6`KDLRGr8?7O?|Tg9wK?k9MqRqVwuB ziN7zZLCe6;Ct8#2O#V>qubJlA^cHa74?J{pyhJqFnG_-#8_eWQC zt(@eD#2mDl9A3X(Jrz~el(D_8O!sKfoUWb9UPq%@!-f}%pL9mksHn`0@ zRA0^l5J);u>*nCv>vryZ)T5Oh!)GE;XM_E74=)g$pKr&njQ~sz%R@;u5{>NL;XiaI z#D5Beka)ZI7nA{oZ3>Ww&XsSZ5(NaOZAGWux53efrn^ zrYC+SV%akj)Q=09yUTR4v3qw8&4E>)2BUf5KMkBTWzNA21*}5~snD_LleHQlEi@*6 zPv>1AuskPM>H;yHFv$?tAu7>l<>nPliH^LXFVqUpJuHD7uAcI$TFmELeACnxvillv ziFwFDW-^|geT=mF43|Fb_U#ins~Fbg<0+#DdG&L-jUKQL5tF*ZH`{WJ4T1@rd|t<` z{T1u*-totZvI74OTlen0Nou+6XlL~4R{rm=0|C=ba8LZt-SNlJ`n@qhmq8wupZzxn zb!I@oqT`2^>X#CrnzwA3#tzyhP7Qz4qaG#)U@V@Hb641729%6M04F$y=?+1+ASM9IzV}$d55ebeOPe#cj$9^=MNjm2(I9yy z8CB-MU0&cpURA|AXT;9F{o0tiGVaRPHgG$ePXI?P_==FMFnUXr-&k~jqP!9=87N0--)INY^o&%<=oP@kcge#K1L} zd)$Al`JDY30NiDtKl9fkOg;|k@p+PaVSW++tACiybEWzduC7@<{8#xz<}3kVR})GT zr#T2h3&}}q!>6XfLwYu`QyXUxgU;-}rq$3HcrE5Wqkm%ZL1o2L-26HX;DrLRDKp^r zg12b(A4h5E0G~&VG@bwFjAOGmOMaH=>O078-Typ8tG@Qdx$d0c{{XRxC>)}Uv&&Da z;FH8dn}*gUcgUwzC09hp1riYRaM1!cI>@1A*PADnrZh%0eeKPl^Tpg1n5p-L=b%BzN0! zl0+=``muApYf(X$5&)gqiwT7SY2RDhpNxef>-;l|JS$Nt!Z3hT#GUK2)*K`kn4bGv zc1OQNUE_5y>VnhAq9ik)IniuJkJqBgk{E?3Cb2wcY|SSc$i?`LwOU^)V+QW6idR0= z3#laslgXv^RDv&Xvwir4x20vZ#C~4$COU1V(Oe$k-EwPL_%Ypn2Qni$2|AYjd!F9*oq6re0e*MPVY-Xh@5FvvHG8uf^_S^j7y&5%cY#uaaZF#oo;pfkd zqGrT!{Y^ifP?Lvd#J}sTK9Vc*nC2Wv z{%3KowFL=}rWPS8Gs!sZ&JB&?M0t_3(Mb1R@p*b=r`^UpCiH-H8#Gvg#Ybe3dd!6j zyXXuS7hYGQrM!J^_PPN39jI&$uKwD(y6Wy)76khI*Jj#~>pue&il+5O8;!E|jHSN8 zcwyYag}r$hCK-G#6_v(kzIRr))@>x3vNJ#gYQ3gz;Kf1?l`z6npsW(oIsEL5k@m(>;cRxG+cnZ_C zGGIw2b_G$HK4XSs@g*Jd*xdh4`%#+Hp;QeMk)C{*J;d?YwnjeQW)S^Zj_W<#$LjK!O0!IcU%5)h?u zYmN6OZ6;5?1#q(&sQ|>`4Df3Dn}duFscYPJ0iwcJXBaeXM;z>#L~gBd%u(0|a2MHU zkC>4XS)Pr~@;BlB!p96|nJH&G;g#}R{=Q0!7BX^5*CyUq{6*eTsJqqsJ2C~ffkZ@rLlQBti_RtRMrmH(0g&1#0j^ps3 zrG`{OGd*k2$~X7>Hgh#FVC+C7tD zlb7g{81URixNNNv=lI{_$EBz~&}WYm>&rE3c(rXbZXSmTm$4M-&>4vq0Rr_;r0d52 zueLLdiRz5Pu-2t&tbkLhPzGecu_8ZIBtcM+wn8Z&Q7oV~iW`(sj3SE*h6)xzwjv@Z zl}Vruf|Pc|s);R%0)q-JEEZE0DhdXv3u-1-ggyt;AN}3*{v%;#?!Djlo#j36c~6Q3 zWb0jW*m2TMOtNFq1gyWIZ_r@(O&H<=?}8TVu*j?W9} zWA-0GHD#Cf$;uzmanbuCl_37mqKhjnd z8eQ(-i*{UVYc91a{FSKjK%jDVJ(v>mHAW9^6RY^1=8#z5=*5cO!AiY;HSe418kVX?fI_3On_xlBtW7Y8VmnJ=Tkr-Iv{quP zk>_{gz^bNB9R+Gp+}S#rdyaqE8jRS@0l=+JW=?`xf=YUMpN-^fb=>f_S6HnN(fqiJnITe5(2OvHV4ZPxtQ;KzGb1O?T>qbAv0Pbx)&<9DEb%Lk8&P|#0O=<>awIh)dq`%)q+}Oh4=v^io#*EN}sB*_E3jvelo83 zKwe%>cD5&+ZAgc!iC*O-=jMvEIY%{ly>PX&5BnVdvR#car%fy$>MIG15Fyd;N~NrY zXO2J_1sfuaR$BgHC2XjvNJX=r;(8J|cP08WWc)JZfjh9Xx8DOFsTo`j%blL7iD9`? zv$DF6#NGWP$;4ftKsiKYXS1*h zAH}Pq)-Rk<@cfIv8t-m6=!hkN0bK~mKBu6-7a$Hj0O4;Do_7E?8MqTIR#+TSAjIvm3rJkU zp`;vJb#5RsYbz206mAy*fJa!n0eAt*ASnPfxDm9!wPuoR6A!=O^I=P9YzrJAJg{N# zo(|(Ub1*GDE|g?h-44(_ozZz?n<Z+a7Tu*lr@tKxu;BZCby#yc|f&UJ(U4hhqp{wJVoclG5h{c2O=Y)4ydp=A|oFM6HjS^+8A)w6AYREAlFUq@;Gt|A56(`=Uyy3NVi~i7u|L z_k^xmY-hX^XM^jktFGP+gQA(fjGlorQG1b<@yoLCtlbgGu8?umz@Du6RnF>kUJDEv zo%*Atz4va?K*hm@rgNX^c7|KG4ndg{`VYnVHTS(0*~@FF*3%qLIAXHYF(?7EP|$S( zOD$q3xQRNp+wOf~%LytYXpdp#F-TeRC6wx#Jz{<<6N{RkG*C82#)J?S(bh0oxll6& z;;9UoLTVx-Q>BVBh?*;PNOC5xA+KUK{G{9W@?p7J-q9ouF+Syw)KB&mjR`7B)YX~oB(iGKrQmgP?X literal 0 HcmV?d00001 diff --git a/lib/ruby-prof/dot_printer.rb b/lib/ruby-prof/dot_printer.rb index 30029a49..359b946f 100644 --- a/lib/ruby-prof/dot_printer.rb +++ b/lib/ruby-prof/dot_printer.rb @@ -2,7 +2,7 @@ require 'ruby-prof/abstract_printer' module RubyProf - # Generates graphviz graph in dot format. + # Generates a graphviz graph in dot format. # To use the dot printer: # # result = RubyProf.profile do @@ -19,6 +19,8 @@ module RubyProf # class DotPrinter < RubyProf::AbstractPrinter CLASS_COLOR = '"#666666"' + EDGE_COLOR = '"#666666"' + # Creates the DotPrinter using a RubyProf::Result. def initialize(result) super(result) @@ -27,7 +29,7 @@ def initialize(result) # Print a graph report to the provided output. # - # output - Any IO oject, including STDOUT or a file. The default value is + # output - Any IO object, including STDOUT or a file. The default value is # STDOUT. # # options - Hash of print options. See #setup_options @@ -41,17 +43,26 @@ def initialize(result) def print(output = STDOUT, options = {}) @output = output setup_options(options) - mode = RubyProf.constants.find{|c| RubyProf.const_get(c) == RubyProf.measure_mode} + total_time = thread_times.values.inject{|a,b| a+b} puts 'digraph "Profile" {' - puts "label=\"#{mode} >=#{min_percent}%\\nTotal: #{total_time}\"" + puts "label=\"#{mode_name} >=#{min_percent}%\\nTotal: #{total_time}\";" + puts "labelloc=t;" + puts "labeljust=l;" print_threads puts '}' end private + # Something of a hack, figure out which constant went with the + # RubyProf.measure_mode so that we can display it. Otherwise it's easy to + # forget what measurement was made. + def mode_name + mode = RubyProf.constants.find{|c| RubyProf.const_get(c) == RubyProf.measure_mode} + end + # Computes the total time per thread: def thread_times @thread_times ||= begin @@ -97,7 +108,7 @@ def print_methods(thread_id, methods) name = method_name(method).split("#").last puts "#{dot_id(method)} [label=\"#{name}\\n(#{total_percentage.round}%)\"];" @seen_methods << method - print_children(total_time, method) + print_edges(total_time, method) end end @@ -110,6 +121,7 @@ def print_classes(thread_id, methods) puts "subgraph cluster_#{cls.object_id} {" puts "label = \"#{cls}\";" puts "fontcolor = #{CLASS_COLOR};" + puts "fontsize = 16;" puts "color = #{CLASS_COLOR};" big_methods.each do |m| puts "#{m.object_id};" @@ -119,14 +131,14 @@ def print_classes(thread_id, methods) end end - def print_children(total_time, method) + def print_edges(total_time, method) method.aggregate_children.sort_by(&:total_time).reverse.each do |child| target_percentage = (child.target.total_time / total_time) * 100.0 next if target_percentage < min_percent # Get children method - puts "#{dot_id(method)} -> #{dot_id(child.target)} [label=\"#{child.called}/#{child.target.called}\"];" + puts "#{dot_id(method)} -> #{dot_id(child.target)} [label=\"#{child.called}/#{child.target.called}\" fontsize=10 fontcolor=#{EDGE_COLOR}];" end end