From 4fcdd3ca2bfd32ff5615463a19a4bd8a04bc6a5e Mon Sep 17 00:00:00 2001 From: SKILLISSUE1 <138233869+SKILLISSUE1@users.noreply.github.com> Date: Mon, 12 Jan 2026 20:11:57 +0700 Subject: [PATCH] Project --- .idea/deploymentTargetSelector.xml | 8 - .idea/misc.xml | 1 - app/src/main/AndroidManifest.xml | 10 +- app/src/main/ic_launcher-playstore.png | Bin 0 -> 134957 bytes .../weatherdemo/data/api/WeatherApiService.kt | 24 +- .../data/models/WeatherForecastResponse.kt | 36 ++ .../data/repository/WeatherRepository.kt | 25 +- .../example/weatherdemo/ui/ChatActivity.kt | 71 ++-- .../example/weatherdemo/ui/LoginActivity.kt | 27 +- .../example/weatherdemo/ui/MainActivity.kt | 158 ++++---- .../ui/adapter/DailyForecastAdapter.kt | 43 ++ .../ui/adapter/HourlyForecastAdapter.kt | 45 +++ .../weatherdemo/viewmodel/WeatherViewModel.kt | 22 +- app/src/main/res/drawable/ic_weatherhub.webp | Bin 0 -> 31412 bytes app/src/main/res/layout/activity_chat.xml | 113 ++++-- app/src/main/res/layout/activity_login.xml | 107 ++++- app/src/main/res/layout/activity_main.xml | 366 ++++++++++++------ app/src/main/res/layout/item_day_forecast.xml | 38 ++ .../main/res/layout/item_hour_forecast.xml | 41 ++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 2 +- .../mipmap-anydpi-v26/ic_launcher_round.xml | 2 +- app/src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 2252 -> 2884 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 2742 -> 6058 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 3286 -> 4462 bytes .../main/res/mipmap-hdpi/ic_weatherhub.webp | Bin 0 -> 6058 bytes app/src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 2106 -> 1756 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 1712 -> 3290 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 2392 -> 2616 bytes .../main/res/mipmap-mdpi/ic_weatherhub.webp | Bin 0 -> 3290 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 3102 -> 4490 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 3834 -> 10132 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 4698 -> 6434 bytes .../main/res/mipmap-xhdpi/ic_weatherhub.webp | Bin 0 -> 10132 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 4464 -> 7952 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 6292 -> 19362 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 7264 -> 11248 bytes .../main/res/mipmap-xxhdpi/ic_weatherhub.webp | Bin 0 -> 19362 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 6000 -> 11858 bytes .../ic_launcher_foreground.webp | Bin 9052 -> 31412 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 9964 -> 16976 bytes .../res/mipmap-xxxhdpi/ic_weatherhub.webp | Bin 0 -> 31412 bytes app/src/main/res/values/themes.xml | 3 + 42 files changed, 801 insertions(+), 341 deletions(-) create mode 100644 app/src/main/ic_launcher-playstore.png create mode 100644 app/src/main/java/com/example/weatherdemo/data/models/WeatherForecastResponse.kt create mode 100644 app/src/main/java/com/example/weatherdemo/ui/adapter/DailyForecastAdapter.kt create mode 100644 app/src/main/java/com/example/weatherdemo/ui/adapter/HourlyForecastAdapter.kt create mode 100644 app/src/main/res/drawable/ic_weatherhub.webp create mode 100644 app/src/main/res/layout/item_day_forecast.xml create mode 100644 app/src/main/res/layout/item_hour_forecast.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_weatherhub.webp create mode 100644 app/src/main/res/mipmap-mdpi/ic_weatherhub.webp create mode 100644 app/src/main/res/mipmap-xhdpi/ic_weatherhub.webp create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_weatherhub.webp create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_weatherhub.webp diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index 79ccf61..b268ef3 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,14 +4,6 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index 74dd639..b2c751a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9e90481..0525c5c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,11 +6,12 @@ + android:theme="@style/Theme.WeatherDemo.NoActionBar" + android:windowSoftInputMode="adjustResize|stateHidden"/> + + diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..7c755a9f58ee422d86e9f2884bdebd94df36cf47 GIT binary patch literal 134957 zcmYIvbwE^K(DvPBDd~`qmX?%8T0%fV1ZftKmIf)Q6%bGwmQImUx;vzMk?xd`?uPwV zfA9Off8G6O&pr3doSA2yXXf)OwHJ5~9z6g608dF#?lk~_Q9r=|76$5Z>N$Q505CvF zPDaZUy6cPSNj)(kq*TBiTQjsfd|pyfShL-%>j9TRbdt&SnV>+bVn)H$@R-d;8(;=Zhy9 ze%+K1@JDHSLahJ)SRs9`qcb(b!P6>Ux9Yt#(0bgsRD8dmZ85=-z=JTZ&E|OMALcLd z?@vK-xD}lKwm0W{R$QXU+n;V07U!$;^HnLgx3QC^9o#7b?t>S@bi(_=CoiI!O^*vS zbRy^`s|rLUngxUz8SR<8_qLf|Vyrb^hF>C>|80U7#vpYzp4_@rGxUDu_DWPRH}~aB zSJwkJMTDn7*Sa6`(B_rv^ua=Md|DI#(B_?M#lXF?$g-b+aGLuIGqWWAl<@PR+l zn}iXt>h|aUZ=)bA-943IsPDv^{UfvP!6J5!M$v@>|MM``e~~eR@mPo3;Kx5wrxLGlkU0} zA*@_!HB7Au)xE47tg33Qmv?TRdi&>0e^4WlzSlhvnh;BDUTYnj9-v_fff0es#x0(n zH59ksr-hHVzKJKdPZ!$>AQE2ksq~twaoZ%s{$~+W*y@mQrr5y?sRn-D{NlaahKkV; zzSuxVOruEJL^fWF(on?P1c_I-Dt{VPFlOw9`k+d1nt+V3vA5B23pE)<0!s#h@t-ab z8KU;9>NR%f2lH3s^+!F7|4!No{I%f@ahr*(?-ce{n3Io~cq28Sg1>(}lT$GFxRMQal*F2>MxZ^b3pB64*ssoJ# z1TaKEYx$;ppq(&FzdH#DgOa-*De-bFZu1P~cjS-a@3&XGGyJyBxYQi?m;bq{8sNS= z?R?$}^*2g+>ejz|3U5=(?3gqo4;ODC057l80-pfS6>NZ#mvZ_YYBB@k)95z7? z%~}XP#aZO+<(}9(s0^(LAp(TqlA8B*2ShVwGE1ybPqd^uO7=2JVvEM7O6Q6!dVJgF zg?*P^16wgVQl}%b-xn4ZHoNFD|6R6r?6&Ge!|cY5#zdhgdxw@K3$hFP!c416D!jpM z;ap6`4}!6qW`M(V~6ZHG#Ba6aU;7J8ClDw<#!TS^4skyKirM`w_9f z&wsa=6(C_ziOy4_lxl6s_G#>SE4gf6RaV}bVw7k=4Vx%QRc|7SEd4mL%0uHL2SM50+5=@UAcKc`me%JB3C zCQ<9BuEb6Pw7@AL)^zc&!SUY+S3W+62)R(;zqmsWfM4moE@P15Z<-6C2H2e9WZbvi z=FtFfTd{vf%qEcKTef5wVHxsTil?`)u9}ya0sNmWrKMH%WR&07{0t5#I;D-04}a!W zPp7%4kh^dE5+eQx49Gxb)I|19Mg!6eI39fd-}hyC0>{F?`N7LCumDjY;5E2_8KAYt z2b3QySTdxf#+-ZUIny!%pX7jl9!Y@(fY^9mV@Z#ghP`czdJc>a`dePfUVUR2i6I8| zRm-q`H4TnzKI}sO-#@Tzu>zEhap~u5AAqc>Rvc!ZceFq(aF<3w%?{%2-{SgvN^hX> zM%tb)|KDr?+j>R&{F&$q@YSp6 z^w+VOm6F723+qqAG;l%3*_6@GZa0&#VG%^Y`HXyhI6z7W`Y)bI1IqPS5PAu>M8vzu zY@93|QcvQnNzkFS7$^XsFXt6zY%0uQOC$mwfd1DgxrVWHGlbard*`}vNq`>o2sH8p zh|GH+%>YbVLoKhlgDBZB{|m<;@F(E6L+=$BoHYc2QPY5;DL_~U3fT-qz`xspf#vy7 zTIpwSQ_-PA=0v+I5SfSxSiqoR=wpC~PCS{t^w`(`b0yg85>Bq^=*;w%IRq9^3Kqcy ziKI{ia8NdhiJ$iM{u2ehcfDx;c|aR%^g*4qtc*Lx|GY|#+`1S>lz;IU6V`ZrV*sKX z5HSfNxz+wm0#FCK{EtEDN1lP6K-$`|fkz-4NEQOknEiz27Z)<|IhM( z%n~oXBtC@_EF=L$YflFZp}nH$+xp5R{oi*H{&;z!ne4Kto0R@5FvSw5;&BT zE}4#s1>`C|yyH-&0I@NHorqcoP_U$Grt;bQDT%m%sRg|^e z;G>yWnoGKxqSYl;m%j$HkZ+VSPcxE4-qXzyW?!ESe@-C@-oH>zK)f4JhNkekbOxUo zC>T#ab$hpN5k@vMRix)itA~q5LJzpbTcj$xFiLHC?^98JaO57w4m!T(;v?f^4OdZc?AKlFo6v^m-ZK{l$M@Zs<^uP-mNOKS-hA&@DiS} zSsEhs8}Ea+BydFz(MH7&E#!%vAbSr$PTxXWoy4z!vZa8BmB8p{0QZ%N>Ts$c2e0#BQe;ELaVD9$dCSA&59g4g zNoeioVrQ9UUj{gahG)2-V=N5@8Y`MizORnRvM;L?|EY_Sh1X3I(NKJ`*OX6AGI70{557{u)ho)XIs1Jf(pr=5nPr>1ADTIt znfukE!C`vmbHy%xme)8IpU{PeGbEbJnwxzI#UMm};1%=dQSla71x_IbDJRyR|{HAztcnbr)P77_#EnIn~cv>V`DJ7szILeFoXnWy!( zq6`I)U00)&M4StT5$eTkoYU~km=bLeg(xWW0OI-n4R8m^s>p%qg9vz~uN;?J7GA%O z_DG(3au>&bLR+Ngu$L+gQLTv6yT%X9DD_^S#}9IIa<~*} z&=0mtUyVPs`7uBj8a*%AB%0ax_4r%GSt>Qv`#|0;U7$T{f$(cJ?*C6_ZAP@Zy`CDzA z=e`va(Vd@R1Dp!!WX?;MlL;K94L=Isoo!D9u0^TR6JpROAX2S##aq|1oy`;+-O4@< zlGfsaVV*4sG$ri*!Ul(RXR=pehZt>K(>&q=Sq&Ih-So*GUWSp0ujA0BHq9-`dgxM} z-V&ywIW=Je7eE07U;rKiXqXoDdKP*%--Yu&ERoB9deXm`mm(d@T z`L-ea=zMn!eYse#u!zc9#b#1!KX-4H<#l6P4ZUl$rk&GV{cn$!Y8iH^BhTLX%Bpr{ z+NsowCB60da_8)i#pxHN!PBvhnnh=5(g)N3rQgHGksFF%9ORMK+-IOx=SmtiBRagDFYEXPvjI%KK3` zJ5Xk@@;(70uq#OHEy)^tr!TM6XaDBSo5@R86tqIaWt+31k(@Vz8rCuMaNN<6)tyc& zELZA{L+Ar{D|wk=cmZ5ay7#Z{55X|p!_5_<lH`EQS5#2qW z<*JpOS}4vBY9k?F+K4AZ;VHb3>pW1mHt19kZS~8YA~p)^B;|qdsk7M0-<}L^x6+*5 zhUXk@sH?@fsK)!yG8%X2&ZSs)X2yXlV>tZD4VEOs3Ouiu*Gb^fbjKjMxFg4aU!I9f zO6UJ=9jmPK*QwQeS65|`t_zcqHP4<0iIQ;9%H{HDiR_O&J_K*?RaS+Ar#BBD@ zC};sp65rRWt;8h6`>xN@9ga_lu+S)UvrqwEves?9Aau^sYn=PhlE>3eco$M~bEjX& zy#|dJaO>6`xBT&`&@)^g5nr(cT(qS)RU)2;$Apkf?>x3)FCA(yIetSvlwlOS2pnz7 zUT&ZY4=B8qfd^H1IL2i=jQilw19$yM>mE=C*KT#vH!L2lhvfD-)G!j9qH1;$7Og4) zVQAw1$sHvn(%t-W?Sm`xa0ykYm_aLTjo%tJz^IgR#n=Zq9U)%Ff@S>>{!d;$@LLeFxXn)VJE79Ky&`N8rA`1smBAEPu)N!- zZnP{S*nGH?x}NFJyiuQRi09*@%FMe#iCl}*(c}5F&30OZmDAG6P9Dq2*Az_K>7mIF zO*%a8zP1p0lZOQRIA9HIY0D3@QYR;mFSNC^>i)uPT&F{7*yPH7-fW8Z0M5xhC{aR= z0l0f0p*`at zi8?A&ktQ>HBLjZ*WY?03P83+rmG`%O_oKD4x_W}hpBn-;1>O#)eV?2e%XhG*{B_Hk zFTV@{pnx5za=L%(%fkVt1i;CneKE|=)SU7}gz;wHJh3^y{>N=~?#TwU#m`qvl}Jnm z_L`exa1NeIyZy0xctE(GZ|efEjt5XxuT$~Lo8AG%1DQ&O#{esa)6Z{$j$e9C&{{jr z6Vxkqy98J7p1tMtTtuL)NJIdgY`%&WO#OY@{H^!&Abim)7$tN{`{q&w7|;~22>Owd@1&9@MO-a$c{$vRz5XUsAX$Em*u(u`}t9Si~1ke zuCG|oeC+1{q414(6gmx9LpZ!2FmvqPoOzR$?2P>K@C3J4CRB>9eTrZaGpo*ol31Wse9zwfqt1C=Ap-<&C?k)x|xKA z#zBW#zk0=8&|b|1`q7E&v;|#k<2RfuQ)Z2lTI>2Q1Xj+@KKo99swrZD2pHL5YNN?~ zQVhYf;*C4CO7<_|Pzz!Tht?#(n##Y4jY>Xtx0)hZFf^8d#PQMNKO`23@>_Tfy9lj^ zWMmQFf4F2zir%MT8S`Yp3kOi}(9-J2RJv)s(&-ipn8g_rStbeDFDa=c_o!NTSCR5h zKv?=t#KPMooKseNs$U1+E^8~D%9TX1%${{WQph9_GpH@MZ>^5ZEPzNqXXyQ8KzcF$ zM!O_Q$X?&~#fzTkOV`JLkJ_n2>h`cB(6Xlbp}^GSelISDhc^>{=Jlsf`0B81+_$j- zb;roJV1P&37@MJ%n%7XSM~dJIa0sglv47;>kDXsU)8ysqqN77TM1sWl*#pu^uzxZ< zq-_PFmc%}^{sCM+0$GrNM2On-8*JCQ;fic~mLVq7Ho}zWM~2ig8rMD&J)Rd;v-h6s zr53lg>;8V#Tq2V$Z7kpWjad!clw48<&W;YZXY&oVcgCJPd1B2)g2hTQS!(P*dF*up z=FeBVGyO1vtm()(ST}>s1Z=8Gm3cXR_PFYCxGkpzs!OKB4Z+NjMS?URJ$?>LE-|M_ z_A6sc^7$VB{$+1(Px{~zL&K;aOIp4!FI!P46QjVWahk8~+Zk}`0hZ%1c?>KGlqJm0 zvQ(o87g~>(tE_6jNY^3s-N#dt1;qHT_-=1rdfq5y;?zFw>{UX0j&;byrW!=5F0IWw zt(lg7cU6&poUAA)bMH>IW)>Ydl%;jm3+*VpZmo#(t~VOCe&cE=$k z_G_DX77*rNSg8--QvJcCJ7B8MN;MUDo!M(&VG@6Sw!JiaL`6P6G4bm#+L7=Ph%Maw zjNWVsy8@FSDvRl!#+$?B^K*a|Yb-1*B=V6)E2kLz_Q}Bof>fAiY%Rx-0hDsQ2^H=5 znb4{L)ZHvaw=Lq7rf=*|^(AzEofoqn>-c6Bo!ZZ_lqzEPTb&m9OI_BEPBetr8?|@R z^z`&iL!XsTj67+gC$q4QZUdhb41(DDfY6yOg2h7u7N9O_8&OSTsi7 zT@U$%iwzPndEVaE|1F-eLg}FMGs(Z6dT+=@O}Mmm!K;i^FF)(t8!G^CqIMQF!0;N9 zn-jW;RzMaC^Fs><6cg^)p$7wD8^bitQxU=qYlx7;GuS4e1-F0F-?x9HM2x_n!jdk! zL2g-r6n|waDiA1QL_YNQX`c!dw4J;pd+#1Tq=<9hw^??6tUX_LJ`uFop=8Vq3+;Id zk#5V8a+i=7I2#@Cp_5*vckz@XVuX1wSUMj(#34^ua_hju-@bi8pLTmm)&!7jZ|~x3 zOt06Z5M1s}b~v1;Jf4E2w_ReH+~R!>*m}|}MASM%kIDIfL0X0Asazp61W(RgkJCkj z!l!YkVqM3f=}(^iJN(lj6wy`EuzMccw2P|vN!O=F$JK$z+y_9v0s}DP{jPt&ffal> z1lVro?UXt;tghx3y7G4%T&D|JJkHcsl}{7vY_dz-G8Oy}yn;1PPD?xGZD8c*V4Z2XKHRLOSngQ}>V+&uyd{&u2?gCJJ>lCEKQO)qp3Ipxy{x zFd;v_uGHJs+n;dAGsyiV z|JL{ze4nj`lFEbZS^Rl-;?702z<|f943%V&yv#%0FvDqX zp?qp^dv1-!Uv;b#Ygc2_D77h5^lcD@zhuxFjvA2U!i_4RI|hJ>ot2-(?yAlMrEgk0 zIqo}%fMNn^B_>yOBfY-8h+H|KMXl{PQ`9xjemBWfCpZ5Rxm~V*{!=+*fOco^6*#Lz z!+zo2l&UYSDy*p~s5TQYS?IXl3Xw)rrFlFqC_a~r=TG2B=dlZ zFi+b*RHbWRdb%x5#v8@@gGpKoj(&}HIc-MQc=k9l+?=80_F zHXiB^kg+v3(!;atC=`o!ac%b+-s8R!^E8?CHKrp$Ni|Ud^6S(t;mUz#CnJ{2h-Da= zW!^zC=U`)ViayA{*u-|d=vPOu#c%T*3EKCwQqHNL7F#r$Uv1UZ{5UmY6l`)W=oGjk z9$)&HMF>zSqEG&qm^aYYIxXD@PB~MTx)X@FV1TQ5eMv&1RjO*WpsKg-aXb7srSnrTR`? zt2m5Dn{pz4FoTx*hTHSw+xcdh{0LNVX9k)8r~(AO2&|?C$uHZ1j2JlBJxz$X|7)9hMSjeXtjjwf zENL^ZnLP_HQSVqI_kED`OP&1*)2W&R{qJ8>{r-4R_4La?+Ct9}ud5o8u-c}uiy}~( z-bqspHc1JEw$a_oO!Gf0rqu3uS7mgv$liTMMu7g{%d&(o1Xk>;K<4o&prv)eWuPJD zY)8kd@0yiR&9un4)o-MEXNqc5CAB73gmvd2R;HFN6$FQb!fFW-(Qjb;Hs%U} zPKAge0wh!CAMYbnj#@QhQ>)hr{4WFD=4$LWJ2OdErhi(2NY|I3N%7^Z%VqLjE{Q1u z-TbXHXVUW&M)U+3NT;&Z5vKF&Y%7SS!msSzK?y+%`Py%r(zi$0J@|ybr=Z?LdKrlq zCfY8CstQ>IBDkS9ROYGNF(kn6#Y2tOCthni1XJg{Q@qe<IY7g{k%*!fuXU zts^ZU(tYT>^3B>O`|n#fbBAh+I4mGcPw#!Odhk7g?I+4Y4_{QAn>?Z??ygecAf;m zlIa9mESc03>eW={?^kE({5QN1!*sj8>OaE&3A6d==vIYDYV|yN%gRVUZt`2?TYV8{ zZh3`|tdiQK14<^+$J;v3TeHtJJ?jYg%>?syxfcV8OpgVgBa}Iof2^)XC~k*KNv=${ zO?D<5B^s{kPcJ@|8d~=mu;4qMp`kbS&7fksGkssm@Fx_jO(usrYGyN6WY_!20~cev zf|4eufdsCGf51MU_tit*yn3(B!{FJW!MC?^t`8fR^+`>SJ}Xa&pdEuoPV-xLx12`F z#UhDlZ6Vl%xW8ay=c1Lb=+d9L84gtlH&;NvENlD(ye?fD${tcMt=lSTTC3|T)fB3+Ae;M=*Q{1Jr>G+GopIsa(g(+dl zm~9u|eKPdLVZEKpDV;9RI%4jYw&{Ge)aX`F3ogatxhiY|*G!9y;--*V>HZVfGo{fZ z1zr*8Je{0ehJRk`M#Tgve&+HhcAQ1&ywYLa1zk@bukpAZ_DkdwdfdkcI52$6W_IW% zrrX52Fd{?9O}zVI9P9GsS0-X-QiaEf=DEzs8T-o9XMOnZ(K_EoAuQ*P7MK(9TDOk}z8eXnl#sVG6&A8Q z22InH?`Qp1;ya^aa7Oa0Oo=K~(GsMDNNSJ5WC3HgcTf-(ERda|P{SjOH}-0~7iB&I z@k7{N{bq((R7GSI!K0TiRjZkqNnH6lqP%w#eDU*ciz(*K<*0N|eWorVTqL!Q{6#^_ zR}3hncm8xFZo;A~&bbIBaz#>K?zQ$!wp9{H?OK0#+(%_guMSHAnl>#-Ehp&%Bbe8n+VW$+Ihv2qGdHv1> zxA=8o9{u;GM4@J=;Pe9j_MFb|($w~1!6T|yP3g+E&1Na0rYY$>zj|`A!FKlSOZy9J zHEeV?QK0D}xIuC)*PrVLSM$(wftf#-C_3c^89^iXb|#WWY&fsN5cN4dDJ3PrdE5PS zVEj1)yGp5%OoA-7L(i`JH}YXpCo1nxA4LyVLatf`nnEJa4Y(hG(OU z{CyLojy>%Xd}nO>9K&fQs@|S#4ArAZC3-?N+4(w`+|HuL^CqY5lRmXM?kM@?HS_Y% z^fyV4EGaLRv2u7ocu_>kW%`~s8Z~`11zbG-#ovFt)3@6E4S9e@Ek^iK!Dan--&#mK z>4sEX2JvNEAE}fgD%axw2AR-@Lp~jMp+w7+aX3z;w7o({zV^4H_3QqAC3T52I1zTv zQ4cFMq!d%VfWAD4oUVUz?%87ZEh zQ37}+h3Z+IWHDR6|66mjGfy~mcP7b4X%W1Sc)p_r8p&(H!aRLAxh*Lh?&n$Xa1MJl zpz63yRybJ}T~3C`9&MWuR3=BHo-p|9)d-TEkw&;k-&x+-!((dZFBsvI{+b0ZYQ6&> zY{hhJOlZTABCL$3j)_dvWslMV)L9;o-=t@toHC4#wcE08_SKogYGovT*>N($w)TplZ zfXneM;ZECo8;ReC{xN;^s5@}BgZ9Uz88*z)^vM@GNE>^><0mA&yOx@cUP>!S==87Q zQ>Da=CZGrN5K;tf*568!aJ}6kQdQ4EpQo!YUiGusEtIKAz3vceIzTHSXchXB_~K|X z>#XQrdgR@m=X==>p3PcBQkCDHJ`R?`?Ge@s{LY0||`L2Sj*1+}V z5>kiI6SyrPlr9A%j-S2lP0fnN!VC?f?*-+%s%tpx8@~_`UOFzFGEN+E5J533kainf zPf(5HlBBgwPuffUlpUn-a+%+|5DSLv+#-D`I|15SW&Ip7cdBm@@!4WAc+rk=X zg~>-8M#aw%YOzBa_fkDq=+yCgpS>oFk(LG=`I-rSj*SJtrHIj1Wrx&FIS%TYJg=6fTT&-rebW%j6|M%dY2 zU>*4e#hZfY*L4$BMwmi{aoU$zi}cQgi}?tQPs^{J!-NLrp%uI0&^p_y`v)n@j7*t+B^8*i(X(+tdmBaRPI(S8?#hb z2@GXQ8f|a?pvO58k=Eo(JVAD$!MMk;D_L z{)F{3L;IRIx-5{q99>BAQuF#L2R@@&J|E9V{epda{ywnIR#DekLz13|ckF|>NUq(J z{eU^C1U9;cJbcCk1>MQu;+L1;gSUxGR#Up*hFtj!M_okM=iq|6tuXW#hYKU+J?8??j|ouJDIg z-}XM)S{hI%xT|R?y8L?nU9&{5&Ivl(;I=c&P>8$)weB&$Ou%9c5sWN-!rrvRg^lT% zufjOl7sEQ!jt1ieKDcE)k+vnv(K_PgGbQ`R-8Z`CA)4|12`6Y*urgW+Y-3oT1-IYrI_BY&q25biLglKV!r0k3C)NLn`dp;@11@ z+GS!e6WRyI3ho95Ql%zHDzzWUJ6lS@dw?t@G1>m<@M-{j~U_t)z`^bQ*hm zOD3hRf7qXMgg=>B@%G5~;tlfmV&jXu-;3UP^H&{ndGj7UG>o)$$oqcQnWe*&%L}4N znu__eJ#?H|uC?xPT|N%_GQ&n3n__I7gTF#J?Qa>=T9z_U1AOLf!{xKcn z{!JR$$&F0uPC2Rxw69A~@AcoJ7}Cxl{d|!hA#V0a>}@9!#kw}fuDbZ|Ydvi33A$e6 zNyQma|I3Lb<*@nlW8j*`JvXDD7j^}=iKSs5KG>3~O~v&u=ImwHHh_>|U#0*9v;l{J zoHsS{S^Lq)!In81bvJ_Vh5cM{(~f_k#f`nTp0e_C`-@ZB(FDC1U1Gvi#w;R$3G~d( z4v+Hinbuxt#RANaVDbW|qJs82J5Oc}hSFD3eN=mkG5V_(RNW|E>pNS8qaZBgfOq9{ z@GRnm8bF_N90J3YJ`~52UJBx` zQZ|E0%8$oTP%6~9qk2kVLoKyNTq^C}pw)a~&6H{&kp!^QzJo|>-cv{i-UuzcvOHpS zB8J5>=h`Vzz7H50ap0r2E-8UFS)cEQpP!%0{LLw8;cdG?>n{^XBOQubUym{?6kju0 za0lo0Qc|8{Z*5;pU<0d2KU|#ETo}f=pUQz2+<#o2hNv!>Z+M@8_06j*QX($Z|Jxoz~e0O5WiDvj~{Cc03iteZ6-X} z+RgcB%uFF%SKMrriM5^!n^o+PDr0PNBSpYrw<|*M4Wgd8GFGclyWQH9mp~l!LK>)I zkoM6MHi+VGhPv||8RRxkTwU?F4X4##u7+{Dys{3Frl%I1oSe+zEy?M4Cv}_zwvI+Va!6K^OjZM?o#^Mc1SDPaWTlMOVx* z{W{2bnw-py-dy?CC$D($?qbpidD&VD-q6WiIza$0P=CWSIB;kxt$4o{4}dSgB6z`z zu%T;bS-n59D8(_j*r+jK5*0Z`KA4zqy==XTC~T>_Ovzek7-M|k?IoI3Lqx-ra;(z} zs9(zN7&9s)Z`YA$Wm1?_eb>X+<*E?GHU$Ol#&f!itZ#GmA-sKmHr3mf8kavNL@{FR zeURH=o-|<(BR{4SghOgBdAWZb(*6U@L3;t-+!vku==J) z1|xr)0=AtGXIoZR1M?j&eoiy>ai_y)bb^6`!P?f<7mmtc4HR zM|L;!OAc(c{*7EOtn0o2zHF^z!K^cx9^XM}tJ+4x?4tw8#$0@Et*dbU0!qA<9I#{G z{K8$jd2Qpcg&;D5{oY7zF;eeO5cUq8EruxIlU}gM+ajc5-B>Ju`5fV&F`qyDds#L> zWxI^N^IpDkw^osF(%gaVbT~-k8|`+|GcV5SNftt^9`tENg(+0OI~;D;e|mHOW!4w! z7>;YM%kz{|zthihhX`f41 zr8M6~S9(dH4s=Qq0|VW8>d`}=1ApiB$L`Cg(`Y8TxzDa5LZm5rb!#gIYAn0r$;0Uc zn^4T`5q6UP8eI`NF7(S;mW{oSOva7GI}9jIpcBZkbK-zutya?EDy(9``pc|pdqx@J zqJ!g^SmokUxtStLY()iB4K#Z>^5JAN8VzG_4QI9AxmvZ}i8>W>PkZHTcM7`%s)q_4 z_is&~1DJ6i{RjXdp$Qy%g9xPqjNO_L1-w$Kv*p0lxZYePimhda%0#HLKA+>_R`Bt0 zalMVr!IKO=<`X(wNULKb=#CdoP5Hausn*}Py+~-1JOk)jDE+;_wiBejDe!h-xw5kW zVR@qt{cv5XASj@s_tY^16cMtD2ty^UNbG_kY^0%bY*p=nq=wc@3u+RXfJf8u;H!noVYMP zexy)t?s}w`X5P4Dwbx1gZ|1*wh)NpVkies!A?&&_Uy+v9vjQ5~NVcs9zMzw+1FxpS zGdAyt=^l+p%96ZS!NF`g;NDKFy!wgRc!KKwVt=G1i|R{qJZ1G*h+h)*I8R^6I`Fln z`}*lv2NMY+JskAUom}FO#=V`imoqS~Lf3A%W56Ei;=f;EkVfE8hGH#Q~Oxzf+fm)-!1i1L3Y*69P)_-aE%SaOf@u2 z=g-i*r(MHaCX3_ap3Z&=mz6|#hixJn*S?1Mp$1l9ydy_iI#bCPcJsQtj+5byqdplI zF+k`NAJ2{EiP@o8Nc@3N7Fw3tdDxvV-~&#%v8K77{s24HA%VzX2!Pv|wu!rZ|FlR? zS)h<63h>43pnB?k?xZvU}8Kak5b*1p=e`er=otFTAqL;CxYDvv)(~~ z)ErE+z#$gBab`I*+8%@SJ${F)KHm!q4J_2gJ}zwq8q}CWMQkUBOfwI-8h;UfI^Hz% zUtu3>GCvG>x*oM8g#}Z<09y*2Ys9yLXhB`Fd4!lj)29{iq+V}}-+B41uMMD*<<->> z$N2vexL8ZLvvYHZ6z8A6w}Vsqi=nBfEpIYO<%vy@ESQPwI?O;nO9&wl8Wd+A%B{c> zK-;r8Uv$WEVujE>?qwtxu>;y+n10`)P^`~M`=2rLhn9J*Y1{7m6Z7}C7kC54Z?-Ut zLGb{D^6C?2mSaC%6DVa9u&DjeY&Z5NTPAg{dE>_qIz)<4aT-mWxEU(2rJ`}BiwW5& z+NScZJj)!q4wg?WTjF2{q-zFUdKy;`UlkGp3SoY07kc$gpCuSI zgTWv@NVgXt|FyJ2fe{$IUdkjoZ2cwVyjoq0(hZd}o`OFfMu4dnItZl1tv9M{-Y`Q1tuE{m_fc6H8$XbO&+8qGX?&pOn8dA2c7eDjSPUhXF^KccK# zZb_gnP$3+Dnp>)g44z6cC#bxovD7T>N~)@@;yoy-Ibl^zk~9q<^*02Y(wjMZH#(!V z`sz2IKG}A5er+ti&Ow`{r-QB`LMuqtD+Z4*zS03$Pc<+7ez(yF1z$?}bGcwb^psUh znCQPxF@Cw}cXioM8|CwvKgDLWHbQBvBq3)zQ>=@AH}<06QmI;P1-B(@ADv$L8P8usi8IcBh}_xS~+#kBWdDzSn^~7)Iwt^Zr8_Twf*7&QdC90)y z(l)EHhQFP0U{n+85CO?;fun|Fl1pg&2mh#M$``lmJgYY z61jV!&F0wlE=wVhY_F3PZ8x`M_P?PLSH#Y^^}gr@tyiZ{Uo83?`Iue_dC}z7;eiLp0rm%U z$_jV>b^%{|7*ak^2Yl}-QokPGDf5daJH0Qg;=M?`(p#BBh3uD>h>W!B>m7rTQI;1X zZ(vKuI|jA*>7sr-4P`vDxlOq4ujui?-@y^8Ji3TgLShywAzc*S9Zp%u ze~MB~7TM3h+4SJlt3OWBXPO)R=T5X`uNxYLQ+b*X+g}az#t5!tl?sZbJu5Ea^;fc& zpXr)lmJfUW{ri}!D}VR+o5ZP-rtKfg2?h?oVkXo@CO`pA?t8O2J32*JgDoa5XGx}b z-@;BF^Pg1mZ?0QdyeE^dcsB3_hecRhCn`mB@Ad~rNu9{vqW8hWzGGA_VWlytHhF~| z7t}-RJ=iY9XMUb~Ncu-X7%JICv+9auQ^zS|%b@W@i?x2HWiJuJee~%I$rO6ORJ>sP$Z(RaW*v>#!i> zw(UMwFBUS7UgGpg<3e&G?KQn{+PRGyTQzHJLItZBvzMc#i;3}vwpyN{oyEl6vb~eJ zoI7ZtSF0xPzQ>pDJN#dD2=)gz^;nO|g~?qr>mbg?y*o2Ky`3!q;it{Jy51*avJx?< zp}84nNzPteB)_o4>6}vqGXFaiVISXxK4myAc{e(IUX#n8rr6Y}QSRNPf!r z{%SPW57$G#_U$KZ)8Na4fBqDt`QX)|zBtXkPv?w*fdQhVu#gIO%FEaHEA7|<86tC{ z&gp(Pvg>4X@mZ^H_X7WL<|(74y;SD5+wG8rP|FVCd%7FD)%-u8O{?z?-ceJJ`Eng* z=&B3|Aoi1su!%>XAoi~XdL3uX+?RNgzdtobTQPRM}a;nV~!-4VAx+47phj`nUL9j566>&lNLeJ<%$5VF0%5<$=p zxxdzRdX4tfsjkh~a|OL4jHkug@Ajx?4<)J>J8BykSlZZVxTi%(@PARk0VbzkwaxyqlHS<`1plfFZ4vqe2Zb6 zy5>C+R<$CdN*C2($4peS>n4npkTVv|jR_~4uhoyRs`8suh%Ns9(@HkGFb;LRcIcC{Zr)3(DK zKmnUy+t6oN*+%o135d-yFT+zPt~&>M!I3K#J?%vwqOewBW>lBOV@XV6s!A0-cFUa* zvrL)Sb}E-!R%-Yv6=BU&3{O^t46^lXzM>_6|LW_P?>)7((vb=M@GE<$w!~R^WC(gwI1($^-Ov$2S;J({9?xR;v#CK>_Y9|83;cpHhpPpyW>H> zHPwQ`T;VShxb5q$7n@#M89DvjSi!@)*v!dy#K8o&s;et`aS`JmsGNOR#GAIKYvkIH zfTpg)5G<%hh%i2M{09jO?b+RRx?Sx;F6&{GM-D2l&6UX^0GSABCEbI?95(N05P{}u z-6!U#&4*y8f_5FbH^;u&R@pn`GOUd=T#=h->>no_6@Rb3MFc|XAh$;K1do@?%aAfb zt5%SY*!Se9>2kg{#c=F3dsM5#A2^!(i*ZxZ51Q#28D&z3Hq!@pyj`0g#FpLmaXk%r zEI-B3adGuGJ01rmP(8CuYb|m;ulkG{x^hu?OceC$Iz>sN0ES`&u$CysJ@4y17T?F2 z{tOW1hEGjsX=zo}R2d35jQ6JYL_9i^8#r7+vAs{Oby5&FEn{zI_R94yu6NJT)HFid z`8Ld=lb^e}?9hH$Xp3*zfcE&3d*gHa5&|e)vdAXSE?t4m&@wj=;9dV>;PAc2;L?+a z0K1dJPc`e%4Bi4Ly^YO!pn2L2QF}%TZpVT_832bSL^v;GSd-xaH1E<^+g*~3gcXe* z#2pO+nRmB!kR4ij4nDr&l&RS{YI=^lyNirhxn_%lHg;WleL>v$Iapq1s=CGdQ_L7% zY=v&js$SJoYL04Zo>*l_Nv=;COzGCz&184DWxWFZ4SOvPSzm|iIdn>@iuEe_Hd79a zo>t!l^a;mrtlx@v?c7&RIqbP5cNHuYu!%Q<9B!Cq@}``BnuU_|PrXg>jZNmzZj@B2 zshnC#FgV{8rPGY{<1hN4fIGcpxO?Yt4i!JAkK}2?0YH>(H}B^k9iVs$kn=0f{|Ej+ z0l#&;RuPw&pon>>DnpnImR*+fm<;0g-R$ppEshDY5oG5bz_}qTAmBM;pSX?qKZdf` z>KQ3P!Xd~?lIk%~!WMq^KjZ&&vi~J$wetK0bW`@GO`G(Ll${N)K>P(G5C{YU;aC7S^S3%W zI)=<{Yik%@SF<`2PW@>{vj6wtfcM>i%l3&|68FHGhr8R2#5=^h1tnR}!IT{YR=&#w z3m<>S>r9FWYC<1k`XC1&0fK7X^Ef};^H8z^7kC2T0pQAA)Tx5|1|Em!u6R}Om_N_| z4vSo;ib?>?%)++}Rb>d1!AxQaK%zn}3_5-;8UesLx!H3bqrQ&_K^bB=Kycp)&jKDJ9K!C~;YARQy*|5jZ$?V+lk8CH zKk_rvw~wf=eV}vh%ms{;<*Z-7-l$$H0)apv5RMF5T|P?FP@-17g8 z01V>NPXL%gW>!1SgCC#$kMKxv&jcq12KGG8PhjLg@eF_jc#I$jifG{m-0vd{_#7j= zB05=0O5ooils-riSNbOWe}a-9!NVm?aGxE=CK!5s4r@4#liw>%;0bsP1w_iO0I}HARodvCkjm z>c`&^Hy70UecX>B4miG>Ck{fnD_#VxtPfb;s@Wq?wUI`-qQZ#yEj)bQpZ~p$6s#(fj}Uf#$bx!%W?xI*bAcS73=oPQq7eX)36KJf0B{$-LIBVUz>U&CE`lNkk=-idF`0Rj zpMD~sk^xxP>~oO0&qY9zqWZsaVxb%x_mxnFf#)jl{~6~9MUB_sKL6i!sy6`tpJMq# z@q-X(o&Xn9?6+>UWOn2recFh>((4h};UBLEq~XOg$-X z=ZATj>3_`)rTn%aBjYEn&5d*C%$bw-*kh0BiHT+&*1&!Kyh;Y}f8)F%oG7Rs3|RM2@bGFt*+cQ;In4`z zzrhoL905(?L;RAUcma6gBK|)mF;XK}TJA*bx#HY;?gjD_Kn4V3)S^r3wIn9)3)rmh zjcKa;S?7!y(|_@cUwGoLKY>6X5Kbff)!@3-{Tgh7=IAQ6ze%}t3+ z5TDmE1+Q1dAP1O&R>UL+je;CxmVeM>k^Oq6lp#9yyeP?jcm(vY)XnUDOo1CfR`6J9 z9>hZmJZaI)#mxnTK@q1(DPz{TFm=gR`C&pr2q<9`bXvdBnL$=*> zPXd~%K(=n(I#g{5dN#%H2uBOJ_)#zZ!yo?8Gl|0AO7wF$E41pkqp1 zFZ-ENh6Er?sRs-uCIS~f6h0>a7TJfefF2En;1v*gH$fQYfBI!4eZf+hkeE9H!Nli`8?(S~vHIy(&IAW;D!)K!P_jabs*nTqv`U~+7D!L!c}{rmIJi?6=;qWys_TReBHTj%}JkM8h3`|OjBzyJO3;s+mm zFjP(Ap%Nd$5dps$EXY6o=}(6H?z=B**5t`^M%LHfYBw3*b(+P`f-c8irWm-Z-*2_> zWHTrWt1gi%+kW@^p$g`>5`Y*BUn3m{#k-A4w!9)qOcL31NRmTS9>ojb6Ox!B*KvU- zz;9&tk)^L^=cLm!rLX7S0FVJcQ}h9*zf9Z_>ECL}OXbQ7*=~8p&oH^4oLdmz;MAPG9 zQo|=JXE0xdJOPJLhOH4!U&3+AMt%J-24J!=v+jw)F+vHQ@zg5 ze0J#ryI}aI+h%z@J0o=4qRu(fSFzs?H5MZLH$d^PTeZr&VE)`ug}K>3@HnJj*+j#3 zNih7;CKz8=!~l8KVG&-)45i+E^_5qSUbALR+G*)+V*m7a*gt>X=;r2>(M|R9hS%2K z5p>#jTJ?!N=A@wqtOi}wYScy9B8{37h8_@-5_hvN@4f6$+W$@(J^H4ZlP6A@F=LGL z=9{~QoR(i8;Y)$v#Ls{JbKQ#N%Tq6yII*RwxM-{2W&exCp!-NnOn{{y^;xBUH#OYd zW+e#@<$F*TT6X&(N+eFchyW;^`VLj{UnYkV04V={IjEMOiPNHp!@?|ECb)IrG5*F0 zfz}{Mr#1xwxl!Ec=*p+G6UP6ckepa$?zWh@xIl#Zlt2C_COnpp?@S>|@dUuhEqo*@ z#^woVBtXp(h#>$(* zlLL}bABC{JCu-Iw9k3YnJzj@>XI(|b-AxS*OUH~EQ@}_jJWk(<|NK)HJ9q9pch#y@ z=8A%XIVm336JE*uwo?%H+S!*RB_+yMwRI|Yb@EalOh^+BBs=Y&Mbc7sRu&g@x3^7d z-MD(STYl%ALGhnYIDNqu(zoGad*X>FGOxbkiVG)>8FP=})8&mX5iE$F(vS=OwMgZ7-uSLhjqk0DrI^aYA?Rt@IuO1u95aAFsII{8eryiHT z9)toUKqUhLLL>?y!1tkihVq@llb|FF;`@#(IgBL$eb=EssWSe1K3>AhGgZaU&lUe8 zuDM!SU>EegjPUI7+oX?+BiY?8!<#O-Y4z$tj3>r#EB^OJIDPT%yYCLZW$jwe)X5XZ zMlwR(KBw)UZmW5hOBDJ&i!dxu9mIcIMwt@lEre@WmMT_jviSeI* z$^i@-|LFPS#tk1)SJ##7vj2{40G}|6;Xr?>k>--b;#4*QZLzw|LNs8v?q~1&Fe^3q zVpDbHo$cpOUbg;*8%plJd%fk2H@2M=qv5MywlUb7)Bm@u5qf_8U|c#FvEt`0q1DVxK=) z(e*3$`1kjTs#sADr-_n30EMk8ZLYYL5xm@LWt)tRowv z7KXC-4dLPyhqBLB#e_cp_`A~WudiLO0OA2MAe1mlPT}J@N9(cMZPr#;e>{UV3qTMPAPTqCe=G4`Al^FTnTu|8~4ug_uIo#ONUxu&e_s*xi{ z4&S+XGlp87x?ZLoJ9eD?=FB-?IPF|2ry;OVcI@ar zd)l;CQ(<8wT$Gu;05@)m~ zEZ}uMaR~c=PSo20+MbIazr4It2Nq@(}`0wKD z5ifELP>P632}Y8VC1#YhtUgpJOE8x<|HbaY9GNAODmA zMt5%QzHdZsIP|pJEPmuNnR@x+XPYpeUC!=%*?k{dh<-t7AL>@O=VHuT^+OAhF^8nHy0B`R9Kj&YC{CF)u6a`V^1j zVV_lcE!FLOFKD;!av1b{L1G~WtZF?!T>HEU4|^U8h}~)eG5~QTp?$5=mmj~iui^pt zA~{k5pd3q?*cU5&ppIJZ$Fu!85dbN`ngF>`MRf43TRy&kLO^PtP|UeM`$H9aNxqmrV6%jV9SRsQh94;w)O;(wonQwIns zu2``mFn8AU#+>xfof!fDiy40Jzr2$9Gl$8zpWQ~i>QF2E&Ov@*K){HFv7vak;CV#b zY_p8e07Bh13o6L6;ckVS z(52Heh0iu>CY%5mm1ZVh-a1qrA_5YC4bKE?3UUwu(_dMXn9cDilm|2RdHQpXR*4Mi^^ zvt8g8J>1g{T_RInB2!xUoheqo5BE(dffG0h1qlEFfN-*4Lc<*>tHb92aAolY(ihu~ z6IjNF6|S6=dUs^*b0yCeKSuE?wf<24u+Dk8A6L9dOo1oJ0pnmfXgH6_IdZa*DSOjd za)>E(NSH~w>DzLcNrvz(InQ>6oNqrvE^wS7=hzgIGd3LkcvTU%?@H@VlX2N2~5~I8HTd&H9;*yM3+CTVRQsk1YQ76zVMx5 zLxeSi?-d(lOb8(UdpuH!zdo^oy@Z!X;=9I>B6Vf~2n)I~YJ{(^+aUY>X!#I!cnB=w zey_v!VT#xLS|lT*yQ#Kz-X)6{N1ordEg}AQN;tXEy=KjM-J3S)CyyQ5Syx(mOC&Aj ziGbbuE>rk>m?H00rhO_3p3mlpneoB(8T&oqmUsR%ffO)($A4o+9vVOrDt=p5!PJ}V z^}g3Ka^&V=!-o0e&*PK;SaN&!VQa!7X$#xKZuPNn=!sbK0%CG z6h<^R=})fG8iMe$A+@9j6T{H5)g~HxomO#IepdR<;SDv9PMz42-Z^uo?d6wW9*l`# z6c#vnfoX17knQd5iOUu)%$YL2b!l!^#uFZg_1|{0X}`m4in^faRd+w!&>9N|BX{vZ zH3@PG`_19E=0Rf|LF5b6$9{7`GkaddlsmMpRY(EI0B%7bl<~WVDwHo%Sn-NqQ~ppk z2aEFi_Ho4tK`lSr?g{KUC{$);v)iCKQBJlbvi~7bPLmSlur)!>kOs?H(z$Yubheyl zJzFkvoFkWd&XX&AgXEgv5VPf6BBF@BD=HQeiJI6OY+sE2OiZGQDJJo=n`kr^RNC&cY+0f;6IQHdcrq?f+GiU8hS6q?uT5at}R0|B`2b{bI zFalVyef#z?YnLqX&z&@>a(rp&i#aLDfA^S8?GBx`Ctk1X1^COdSp(T(W7xP*hhTy9 zY6Ol+ECcC1xw%EBq(|w_8*VUH6csJ> z*vy}?l17%KP|&ctoN*e(@`q9eYXXD9hLlPXiX-H%gR&4_0GX+cQY7?gS4aT4t)^bD z!`hMPb$wP{UiQP4OBS#D%}Xy8@JThj|Ni^Y10>+&Jbu;G6nD=}Hzln)XKD5Lii+!V z)6!lIxSXHcjmB=94kQrXAP@ksYyh@iaXZJ!xUT}V03XqFpRYL|2&WnfP}<+Z@)s7W zBG|MdnGNy{F8#i){;>1~{xJB9<~$gb!vxm{7dl(fe%%NP=!OYN&<~}caVRC5hESSi z2xZzC+~bE)foBvIGZ>d8jG@Y;Xd0h9hH8>V(zMj!G%q)bmX+yf!xSf7F+YiJT%JjH zuPdbcE-ay)7nRZvFDRn>Hx$tQ7v#}Hn{w$VoAcOr`R_v7d0{R;pUby- zbl-+tx_5oP`2U+%7tj@FXVdyKlIfgDK3Y81Ni*~HRFfJ-z)E_uP7`rT=$3sShN{EIec8loUpcdp}g3L zdMp+b03(wE1FR!S07T;wY)YN1VHUN^yb)z6KqHc$Frrn=W;bYivXTW5#kdO>E*!;QYanswBsg~Mx-I7ZyKeDKsV+M!FEiye0eayhM1^EP-l$;jf@B~GRS^}O#C`c3>fO~Ec$Xei_vCv)A;7cc<7?Tk zWoub8iUM)NDX1MvNxH$5ZakgJy~Al@>S&sg9Yu2s$IzmZXj(otmR3*D(Ap__y5tNi zUB19Y+ZKE2`elB)WrdG!Tj8R+SGj1{dLKP@X)@Jcn@=xoucY7Xtf9aBbQ-<=_)L2D ziJA1?6VvIP$EUDNqW2!3Nbf&6i9UF0vb=qAGX3?bsr2?^6X@+nCyLj+{pcim>(MFn z7XR;SKb}f2-7|seZ>gduuP$cdkjG>qmF`#>pj(!C>Bc1u^Yqb!|Nh(HLuwTjDC3PMG)0TkT0@)j{# z^e})xv8zLlRjWoXnLodVt^MW2X<3(678UME^ZWnDWilP&{oE^BVdHvHi758H z0CQY_s<%-u@JVg5B_?7bECAyJmh2mD!1q+Ex#_F4x6>|N7nWJu-#cek9 z@cpCwIfrD~q{x{rV9!;I2F24qW`m-9RSY)lgXkMcueayXOSfiI%MBT{`^sc`S#)E7!_NFQNCdqlKE5^_wVK^wdLnIuEupk;9@i{iA{SrV1bizXjJ$U)W7f-$HvdjE@ z4WIh;-6!dRP|bSAfXbX4O=WR$%B;zgAI=U2f9}$o-r{}T&euUFOHcnW-tjz8DiM{P zHKn0}374pf5xG6$T7k}y6(^!^2ChwgL<2B`t}{C&`1A6@{B7`5pAsYhKZ0I-aj?^2 zxjWus{*%L~?{e}6cd?++4`!xgqk%oCV^IZ*QZ}4Sh*CFTU(oL_VlkEE9pM!aOiLNt zs@Hb-t>&*X{J!_nJ)T=C^0HUnx@}u2k~{`tb|=<>UJ$X;(J%7fvHDmJ| zfD+^*Wh`?hxG#FZSWYtdtf#R0w8LAVGZCKM8cb1dK)~5eIqF@ZX_k@M^ci0 zIHl-^QIT^PRr!b0^o-H8W}=NQo9Cmu)}+%DTXU%K=6w43ow@YteYy1eALTN@=g>Pp z&7t=m&7qH;Dqt`!W=t(>2$^1AYCxoOG``4G%*-M#jeqmU>r$alp`9Wc)dpv`V6>4c!1A| zMn~>Agb8KNhK#Es=?dP#Xj%Dy-UQ+t1N_k^0S%LcVhuH7vBMJ(NdOe^Kb8bQ$wS|$ z1VAQb_U+LCYff5$2pibr;<{Om1Z=i<%L@t~JNt}zo9?>lw)|5 z2f7K@Cp=S(RaRYGSHKqV9y3ByX`bB0i@W<&j)jwWv z#u?L=FJI&X6CBv6|J?)YkBM0u*R07pXTjO?=1rgSXnB6t2SK;B&1H$}b(&cLn|UJ{ z&><4n4PPq;%(OSN5=LuZh}v~dvTI2Iq*W*-PPEc>@dj19*@>)gHGzi}x~Kv`f)Cz@ z!QLJR1rOK0d~d4;rKo&e;W{?rIRF(h^P|X%_%>U#0XuYLZ6K zGy(bsx^#|}Ze8W3=WfiWmv>gtd(TXvkM>NUPin`}7Yy!SH8RLI7SqATJO=q3mTU&# zY-(@JrX!GsEb3^;U`b_3W=ZV-hu5b`sD@@YnsPmA@HQx7rtNK{B@qj~+AFla~fxnUAuj1ip=Lmd+l zZiFs?rv}#pybKU=ZAcQRwkwvci=_uZJ|C%jl&TD&(50eRJpdsRphe#Z0Eez8V0RoW z&B^`CnbT+9vF4m}vbJ7)u^q&AK*#)d53D~tzsncR@y(q*W6IR(>RqXciEnzXwu4qa zcMuSIk>PJpJweBj<6w}y7UcEfG3kT={6)_Wcm(>F_bS&`1Oe!_nf32Etfq$>8XAV3 zG6diWCIGsas0XysW8N~wMt38l7MZmoi(f1n>T-FJVtJAH7V(qN@RAS<|7P%40Ux($ z^nzP}zFN`)K`l5)fXEOx8@l=P+kNr&&nwG{cb#?S>=g?a&UVh8JsVl(L-_X8aKD@+ z2i6*loMmY3BaZ|YO`m;Hby3-#WUucZ9+Rn)6?TsRZS=l}g~!&N=xHxn+A3@sWKR%2 zl{`jXH<5z><7>o#Nq^{$hiQ5!twUzI%ueq=3Ktt5?tG8QLLQ@8dIHcyh_6#0f3HLn zO7TXJPd9`T4TCAkFoaTAGWmW11KD{0U|LogLl;ap()G*S^u*O{>EBUEzj~mU-h8@} z{#sW>pEQ)v7fnUEp9^8)QI|$X>j3`g)YX{Aui?L&_&YTx(~*{BYHLZN{Y^pI-<(Qc zwPex0mIC^;xtRW5UqbXX^M@l%+6GTDg6Z8=fN25*(bdJzF%Kzx#&V_(*7<*hM^O1~%#Q#~bXwi+AtX(^& z;U_<_4m1w>zds^Eim1>Sxn|iy=fc_3R*Ww#+?D8Ze&)4WkGM_79=izn=tXW2GW-Pz zhyeY_lHLCJqvDudgI3~7S53W4R>$ACg;xNi0Jo8bt;jQhA!5{ZoAt5pnsl)b0y9q) z0&p5ixC(Q#Zc9%}_?<-;*JXukUIA&f&pLo#fPX|SrN|99&O#qgR05z5a{<_^k70rP z^mE7O8FjsOgRUn%7C3&z^!eU&`uzDk`t12a`p4c9`l!Bw-hHZ!ezPNwUbr!v>b7Rk{i{5*ZH|N1 zPq5IEas$mN)Y8=4I4baupk(V1@-rFmn3xQhM)J8C$=3v*OOOIV?qr-5gb)dX$Qkg6 zTns+HNHo?W9|MB>&^6(zkB~Bl-r(y&owR5dg1`B3wd19~YrSt`Vnc*)m=^F@u#G1a=zUubxPXNU8dL<`G55q=_ z&VXHM!NBkNyWNiOeM(&)TefUmHGl5Rr#%kq5i@T-W6T&q0whC++h4l>MH^QAzqZ(_ z2*n;j07OVZar?`YqOdGQ@R*t%>_9t4v$4lxF(1lFOMZPqWyPKqix%9tX~Tvocinum zgHOaj63=&ZC|3WNwX0SXO&mM+(&F6QM*Q~CMPzGwmxrG;C zG~XXXK2wxp5so5srh^+EwexP_Dps0Eg>Iqj5mQEOdbFsu_Zg&k(Z~iCq-e9t*CyX0 ziA*My!omZa$MXRGkrXrzqYMV3Lgz3V7Z^p;Qb*Csu{yeQO(N~um`cxH#bAF|8U5}@ zRrL1b6X@f*DZ&MQ;Dw2_kFDS@n*sV6^tG^%0}PY_2F(Cl&wgre^fKT}>8STJ@CR5D z*~(6$ZU$Kh?so#173mMy-=-XC2!;e601y#KmlpkSJk-|cq9ZLX zYTxUkw!Lm90&XS(9@@`@;H$j}Oa>BpEmCM-6T$?!w7<5L4(u6A`}fq)Kc1c-k_=zj zQB3tWwZnd>Efwz7F`@xlmC64~-}< zW}TunkWZ^8A9_D90q`s0g9nEN<;SY128WtdthQAK0k8?t2$5s}R-0B3flx((0bwE; zD#AErm&uIWf?k_mf7I)+f3SGooZDBgT(NBHr57d*BnW=D2i)j)U469!x_tS<1-Dk0 zmA#OilJbtrYH4+{&PQH|DF&WEt?)(*62RD_wGA9-I| z{m@~2U%7rjD4kZ*kvY?+J$=dg_2>5gEhqhP_uY3CEtq@8wty@CATNF|79WfYi;rYL zQBHwH7T|yEV*fJ{|D$*l0Pw2YKeCT|SIlbJz1!UXw+tNL&arFPuHj1-Eb!NiE8me34F2Bli2sxoXeTo1Z5j|a zxMYo_w%LSb?lYsiAD=f3TYhMFYXIQOwzM(^KSl@|&xj;Er3p>=?`V;Y@6)g-wfG)w z6gf4cc*Bq4&*WPs5b+=xCRM>})4`S^`noZT_BUow`}3L9$^h8P zB%r;Kfs^HE6H6mN-`7w0F_3`>>8NL7P@l-p0ho^k?r%rqm8L7 z>HOI;_AkkRBmx~E0u6XAf5&DY9cl7Xdy|KMtCw0^_(m16cLJD zh~m~)at6X)fEbo&Ar8Lpz_kb>AUps_N@c>zx6%s$5`lzdCa^jklK^ddqR07uVRri7 zWs4VFw07At!zpFuonXh)4?k?$x@pslapk4=rv|+52Hnp6K8Njy(_};#x>uIpsbL#g z@+ta37?m!dkVu^AC+g#oAx5`R8no&lJBc|mH^3Gbt>nDnIhlv#GO><>p~{%(jkg_~ zH*@-xciwnoVgKK9(jRZW`KD&k{Q1-KGt=J*xEx3M2a8REY)d3v$Uf#W=6bxv{@+AQ zA5**ug2C(L;1_XH`7y5b`_bPxYfx?O*Z_E_b?f|vXhhkJYz!j52x4E%%4zI zm3+mHM6ul)nU=@oi{^f%qvB?1bB23(t@o z)hqHr0N8M&!Nn_v&;b0Ae5VM&T?YV&1b+w!fhy5L>HD?P8bm`L53HImo79x*;2}LuLBPJII>(c3P za}gbAu3!>1mj3*33H{=pV%odCjP6>SLg!C5)4aksstk;xEX#08<#Uy!kD)|XvH{jB z{@7Rwur-&!=R3$2dO&yrSRV+_0EhyBA6_9TqNGqLcIXHxG9N%mCKbRR6(P|gDOENu z0`Q{(g>RMXScH*44xsDw==z3CZ^yo|WkoGh$B#dA?#!9#1L1&g?_k|B0=jzQxU!_F zIMuY2Q^0=Kb0LG-BAM1}V|4bs2)+N|W<5R_* z&|sk0Xz76##;+97T*{#B^~Kwc7UX2Uy=cyysc-!1S8@G+*C}x)YjKK{M3oV=gRpD}IS>LrWv7cE+(LB+tpjDdgufRd}Ny>H}gw_RhpdF$p9 zpWXU`O&7Nhxfs}(=-+@1DSAXG>^XGqz?_*ug9JqObBBa2I5oD5=fea*^v(}?0hmM> z(E8UbO8!KH9{#KZvyO#9!!(8;!{D3K`1S`BwETe5<4>a;_Yj(t6Gi7t(a}xk`Kf+; zIsN6SS@d!JEc&8$0`0FKN3C_`)UhX@+IMGC+wLSfROh9`4Q{ra-PF;-z}K9}0LK8z z1mGx=_v)Agu;tvvpn0^Gt?D{{ypF-Oj!6Jp_Fcm54@nS$PyoOb(#d~!3Tqr7{oN7( zxb#IhqS4Er7Z9H*yZ|B;kfD%(EdI`l@Zb1d_?;bf{2u&!j@0q@uIJwX0ja3(cN1K^6GzF-Q|30*b*RU2uAx)Gd9$;eibwdq(-8_>%dhQJR&Cbd6 z(&5T&z_PkVE+#e=wf8{FI~DcZuOES`Dad_etvmw&O?EC z+dF1WY!B931%E*R6suqKp)o?gz|#n?k0gI8rbOnV{WFOq0I==>{%SJ18irQA(g-!6 z#k3d|%zDbKi6MP#bXRh~_vr=apa0{FE;|3zoCSd6nzd^Umt3%ZReCV^n!{{7Y}Lkz zP=F{2MEOOW^aT889so54BY{3L-VY#APlEcG+R;hQCdZ^WoFEVfxp@U4!TXv`Z9a$f zZ-IFGud>sUZa;I@tf`wWxFGT6mtT$=VD10yMf-c9$ z4!x$ss)_9tmLo0Bg}N0@=Fo5TMBpYWJaVb<(1XwCbSHkq{^q zJ9jQawy*mXa`eJ{{zal|A4B3KcJcUL+Jb&2D)jDmv(Il zQo|kD^v9o;(?_*6^kq{uTl(b;P$kq}SHJ`yn*khvm?~W7?TxUSeFFSNf*e4xHdV-x zJ#6{bW{6DsqipFO6=4LWk-r=wRJA`l@y!ee~o+`s2=Ws=q3eet3R>ZagcV zHcT|og8V3&m^h5`ET>bNevs(6h&cuFn!w&iRe%I`3|Nwayb(2bL{a{@wm=j@x(04y zTvPJ(=skeMRFNYhNPq+uTw@*uTmS|t*Z_RQU?IJxmkpsqIhkpHo;hXGMHj7Go$U-bY0UsTVtN&qA_NdpHSAvqct;YEE9lavFAKJP2r zwrp8;?X{b9{eR;rbG-ZRyTe|5@kLKoYU&L>hvR1+tNBv~|07P5p+~j8Wp_X|58!_j z<-`Cuu(%3%s0>Vv|EniNy)R$K7ep*JGFmvwau2oq1Ggdu2;qyvrq$pibtJgr|58<4 zeE;~0iZzp}tIK9ioaoxLX_F51z5Rddz|rS8ZQ8VHG4p57PF%Hk!P*70W;`&qr10aQ z)6s?aDta@Bx_$sXGOx8UY&D^_8;Vnw(x7z93zr%zQJ>MoM8G6E_BrENi3@8^w(t#E zb%HP;qhE=)DH~RtPqxr3EG8y><~WcIG?VQK5Sn1xkN{jdC`vUagrstvY^kMMcGg^78Y? zvu;lDxc_X|YC0H8dW1m%4XhRPasX6= zQ_VLM1OWE|{;a>?akj+8^m=WUqsczc=Qe|(Il<|?ij7J;%K!TR)>G=>3wuynT3Sqg zetzK0nUn9xP7VH%Sli|lQb*CHXSnJ9 z4O#TU9b@UuM<>$XpRJ*P>@J}%_TJtKxg62d=`1`ljCb8gulXzW{nGhv2 z0pS0y^;5@gFLmwlQ#S)Y@$(=9-2i<4thQ$UKO{!-d$%_-nP|@A_sHip%AvMrnN-wf zQxB7j9$vSux-?#Igc^7~>$8~{<LRIoL^Cpl0Ei@HtsG$HFd2GHT1~sxX8Z7lZQE|S?b>VeG5Kkfg{Kp0;YE@gz_2b+ z#JGjKo*(NJaeT$ik2-mP69Z!#|J{xRxuz`Hzz0O38P+qC2w3|frp^QcmVG^5n<53F z1P1wbwx-({_`?JsgC9>9%~ADhHPu9zOVES zCPrB4YO@BlVFThg@+2JV0l;ICBtVb@gbYILuCIi~zeb4c4u+GcmpKdkzDO`haJ$-y z^K*Z;al?knt(RV!bo=es7*OBK^1a@?NX&s1bH^Rm+qYeO(d82=OJ8E^zgx9_Jm|jw zcRvHM*Njbz4FlJy>OzGlMgecFB_yKVuiENY&CE8S?>myQV#sSTiX` z(Shbl2Bku3t%Ie`);R+YEY2LuD*KS z4}bW>xPi`rqF=~h=+tXBZPHw^VT13Yl`D&jbFv!K1HOX^@s4g`n8CFV0{~uLxc3E! z$BAJ)VxXMxCiacjt0MD@R5{lDuePWU^``+5h`<(+ccuV6-21Ail?F`mdL0IRx7TVr zlIZb#RaQ{&eC<+=hi%V073{MD-~mn>MYb^h$x&t)bie&EpS z+n6Io1h6epNpC+auh z)-xG8-4@fnvb@|su3Now=fxMUo49e~#)O)hnqg>m^L;wO_^nTD-8%H1>#mEx_3Epq zUc7G2?OvPZGpAAC0bur8Ou|C9#Eur=53AoUV*P4w>_`Ftw>|p%TS*T2!Sp|~EaMUN z*Ub9OY;9Rs>6&DVU{r7*RNygM*dntCW$j?n=wr5?U`7V`AWAk4qAcqmT3i`T=TC{F z%g)r&^LH20pBN-Q+*3&h_LfoW-a?&pfeZB06 zD*~6cu;yXyOW<#B^2=Izkz}XF)@7~$ENS^ak%IqEVe3DcZ(;RR- z3*hs*5IPa0D=2aZx{yF9stK@eO46WGR(Ocl@F0Jm!%QUFnsew#O98dk7tsDah4j(W zCG`4Z<;p+nZ4(4k1WzVw0%YBsD{v%Rz+=a(*v>F-{vxx+cs|a7 zBmv=}a{n3u0NGRLgM{uYn4*HeiaCM+DCZHbepI$GHlX)Imqi=bo|@qQc;Ojmys&EN z(%Y}Ra`W_OpM5q4IdR`7Z1~0li}0KJdgD!3T~%?>x^?H3;B@{z;BfraZ8RRX zYqh^L(oCpDYgZy&>AYFF=AqIU>$7w?~1E1*h zp#Q-5(vmlF(^4KR$jaDST~RT8^XAQ#*I$4AdodRr=Ml*{=Pq6xUtU$CjJHN`8ZhtvSACVn&MW{$$H2%60yLCZ-Levr5O%_SG)>(M4W* zVymCtd2$?mT34Rh(sx2iAXngH#%&`Z}XbJ5wQI+~m^ zh6=62DOo?75;RfdiHRnRCx^S&p+nMOoNNeXV*Q{rdx6&x1Eb`~XH}4h3O({o@#1eL z0K&N7`x(K+qh$s8UyiRVd9I?Y=;GYm+;LS^RfrLPZ@>aN^XjXwwoM*Cer9=g_LYU1 znGaSJ7QUVq@O>F?G#o{|Uk%G5p9?u)s!f1*PtJYtjf7uD5+&+%E|j+R;MV&t%lY4=(*V>%L?_I))~<-fS(lJ(Q~ zJn@8640kxiSv(RUUwP$u!>YxLCnpEIANU;h!@MDS#n@-DW_mKkj3RT)X!2XpmCGUhVP$7DaIdAw&OHfR6dBVU#g=$*ZAqQp1*Y6@C3&J{_vf zWve}#+UjA6G8hSqTXk(ia3Ah&X@#o*D1cm8^gcq(eBb*J+=m4$tzZy=a9mvitpLP2 z*-$5JZ6oH6#5)iTY5A(}@!d88`rimZ82m-QfYAC#X={QYn?Fg0D})yVVUP^r6**F$ zMICjy{Cl&+ZQO0? z&aXomA-XPR(?KS7Up5xfN44ej-ZM4y#$!|HvCE6-s)c@9SP)BjmO+%N!vw++6yR&p zhX!I6CZc?eI!qd}7^2Cdiz2J&78xrO%`j+4W9IA5BE+LLDSG61F6ZOxlu)8E@>dLU zT(Q$^>`L&&znz(u{P^stQxm@r4TFRSk#%LmkALjmymsx(nsMWPmE!e&W!LME8lt0m zt+2vPsH2yCV-ROoC&@R4h17&rX)x2iS z8gq4N>GZ<1w7b$05?*rKtY4V5vAtG3V!vqUAX_;K)};e5DT#v#7i6cm#G7>8ye-Cj4z60U!g~+_{74d1@(iTQ9gTt_EZ};$%%$|n z%>O?i0Fl5izcZdwy$`VLk0k(d&5}gO0#?1qV_@({e7~(BOOUMg`dp=SFrB*VP$uZ7 zu6mg#fVBc~`bGjE8WN!&LEqd2d{5y~5Q&sXNKBGLmC!cCVEQlfq+c{IcMI*j7|9?hVP7QkazM)UnBz9vyRDD#or zIsm_&uR$x50VJJ5XZ&jf03!0804(SgphFK5zR!T-FzLIUCS&W0C5yJ~+`c{U?z`_E z-GA?$DhI&-mRoM|-Ez$}SEu{^zv4Cch^_rjx7pMSW6y=IebDuyB1q~8k!tZQ zk58_yUVOpo)sDOFx=S-qD*hiHH*DN!UNmP;O<6&~)}YVxvdd;Z9B(#sGehpR^1_R5 zf(j83;IDx6@d$v}Xj<6}=9`)g$&O#&ERwB*a41~`brBv07Qao)3RH(!D$4w@W|9Da5FozlMiNzj0-$HM&lZ-jiZF=9#H7o_B*Mf> zn8Dx4w;mH(0mqPs&j(t+2KhE!H=42ygQ?VUIxQ+1MOzja=>AK5^tYxd^l3vSeZ>H9 zv=MP;l;N>O`W(9PWl>LK9(D5V(LJc=mv!v2x4i;t0`wCYgc8`Ilp_Ad<7i%^#J&Mq zD)@Ia$14N?poYHws^t&MKGLdI34j9r2tO#H21x)QxUXjBhviuC{x;;>AOJyL7wG{A zB{VibWTIa?6M-Wl-j9xmi0=njl-9=$AX2iC(vc<~uPX#=8z7lHDJuXFCXh1-@SV`2 z7%hcmawM82wekD5*2}O=CqIWKMMpsX>htMvLow}dnM`j#HkN*|qlmVj@288;u+p5u zF_di|L<#yq}`FqA~A&0=b*%6BiGKX28>jcfgHvP%#EML&nn$2aT${sh2|E{^al8)fep;ptT{ zN0h8fs~?kPyPXzuYl7GFhw{S09p^4xyyV(zw+2pikIi>}z+y(C;6o2RH0s)ITS`|h zTYOhRR@QH=dR?no7uRFaYs63ooCsv+BQ6hS1}j_zWVQTHB=F$mYh{T}|4sO>NMw!y zh(&_kN zK4wM#MN2Uq+*?Q;&lga4GhEOq)cOot}T-z)8UW=SQ6=+(HESi-A6Js-FaYbo^7h0K(-T39iQj{Uk{U z1UW!>01^qt{lWX&5J>>!ke|qme>L_WK>(Dsi4>9OD2PBfWCD?1fn!C4RFuyShdk6Z z2zx(5UJ#TSvS0#XI|L*R`2a2a9($9;E&gu9cffZ!^Z$pmow6yO@;`5e8 z`w<#wDWMPQYUt-XOXx?Nl4x$;C@OWGMj7TGi0+VH?Qrt*H5agI$ZrKegV4(A6Ok8S zglifls9_z^U;2ZLDq<2UT+UW=sQtAXIum8Bddj51I zUHIxtFF9|$?wVT{%%1scCOqA&!+W7S@cS*XY)C~%2^}FiH!2psDr$nB5UrA!rx<1; zS3{Bh=R%c8G7y>nB|JOm{SqsO)%h)!u!ja-X1%Bi>vbB99p!n2uV1uw-Mu@uZ?D?B zcW<-^`JMv${e(EMkSv4lx#u4J`RA`Hs3Yxb5=^ypB!f6R~9Xk0l4D< z8aS~AnXm`OruJn9WAvd@lSs}{tjzyF)cgW9^AwM%Lmwi;4DbZVghhks0F~nLv}Feq z|52Qs{nXqUGZsGl!ykG8p#6XE$#CGDy!q;@nrkkUorY<`| zG)5%Dpjv{heKXiHJSJ>C!Tp9XiJ@TB@1k|@dE3Mjoq-9M5rWfeg9oTvn#twDNY+M9!65$_2C zAj2(PwHee?n@v=o#rOGl?15Jyfk{A+4zwiG=go!m-m``Dn_UI;=oLA1`2QfvjX;Ns22DCQv!gBGvpe`R`K$jz~YZL8V=^A zrM_KLUiwmbZvKxZSB_hC@dX!@Jo3mRnD97g0Q|p$Lzy2x{Jitd(_OK7bKWHvu3s~y zX8aD1&HP&?0IlY@m|k?(Qv1rQ1OQW*goVi)6a?V^j|V_aDg^N3ea*~F0r>C)s9grt z&+}VN@FPdSF18$-KeF3LgDox0J1Lt>ii`Eh*Lxx zYUS$I#gJb&ic*cksTAO!8%-N$*y+*B^XS!`)%3wrlf@LdeYFL&Z%-xzbQ&FG#sBql zh#zMN0?@_a-_w%HBmkDTk8czC?;!Ow$$>l}@CVp1m>f~!{wi?E8~_!(RFGtF6eK`q z{7W~z;;I(}pr7;safK*EN~phpBo2}QfIRg7-)~=pE4@*c9)^-1Bf(!K0HMDlLlgLJ zQe>Y1HJ?I;OW;Wnw`v$gNg51?A3%C!86wI71rbm^B%#j$z{~joVunDd3PE}V#JRz1 z>rzBdf!?|t7IYP4QdKMSHQJiIbg0=&`}d~P=Z$&v(VkLz{ioIR!rkNOq05SC{ZtoC z&xoaT!w~Yt3?{E;IQf_WAom0Wz=jf3Q7HhjD+$2yNWd|G9|=Axm=7i* z8hiMDXK_x(|C=#o;OQcU49`^O<;Bz1t%FatO&kmchh}G_&PYuR{KjRs9>pOI>?&nFu7& zVYIBR2SC7Dm0A3)dz^G=cRU@cb+J|Hrz6cO;7f1<$je4OvRqAO$*Uj*kYQ00($w;{ zP*Pe0n)ie);jo0?UuMn2lK?^NJURTh5DCa(OZ>YL)oPdDOC>yEfR$x^Vd>+kP}Zbx z)j+sxP=d3}myn5lkT4mLR(q0MuLiXGRc8*!ybTZ`**Osv0LtiLQ4xWV0Okrn;2j9E zB#CZ|s0`@90H!@4Q1XAfKuqfR9M>b)z)Ni{3Dnw>Ob44X==1s_`lNO|lY!Y(dwmJr zxYS4Uaz;_UZitTMUz`m@yIS!TKDX7#Wy-`f%J|P4rWNzrROOHsgVOGXXfJ+*=W0@uQ?u zOehuMo!<1s#5YTGb00Z#=FAD3H*B!owsmXFu3fu^BMJIs)8Qxmfdz*f39hhd93opj5Ii>%*c;n&J! z6OaHI(?+eT95W0iiR2NRPTOwL$Gtyy=FBW5AK;{6j&*f)vG?A2Z&p=d@l7t1=^(mX zNpO~yIlvlmf6PgDB5to`1*SuO1lC3-L#d!INR(DhtWg-aaG^r*m=XpM_pvdN?Tdcw zTJkfgNH-0qs)S*5c4Zvhu{J<2-djX(K3z#)w3O0;mOMJ#oFOdOt_H+?(LWwme6Rs4T96w}WsbqZ8<3zI$$*6T^cdjj8&r42wy)--j+VRCzGdG^M(fWNT%RJ!^oB%LjOq)A^fbKO{Y1yV#%WNKmF-Xv4|V>|7|DWaavh?+3>CBUz)V-k}b=|6_nQ6G}<1K z^aMi0Vi(pBlJwxVhg%d4e_+LjOZ`L^t`YUq*lgj74LPVo1^|A13ha13CnekE$vC6 z-aZ5XHSg#rpmg&4PY6IC4}eMl)R_5qM*`G##r?tmSOOqJ8=>Sz0rnt9YJy{!0E813 zWiz9`T?0Y7;1M_u0Z@7eNFtzAZ}54d?%l4NN8?BJwRU$H0o|n zmjs}JuaPEr5IjPTGv{F@lPj1f&^lKdCwfT(WWd~owJsCXY=W+hFsZ89+rA@ zGFx+swaH+K#xWvOyaARifLw9Oi#l})b_fF?#;=M1KoMJ3WBjtipG?}5?tkI#7A|kN z|C2EYP=zboGr_(zILQX(bn{#WuELLz^+x-NZxfB*N6%p*|T z_e$k}NFG#wW5jwNv!-I5VdVqR`@g^XeenNs{nf<64v|C{6of%GaFU$`Wm{&oJ0lVx z)2OXJiwR%}?Qf{0kDjWcSMDjHXSZe3&CC6?tWrngg2O1)csjXbhw*-o5#25s*vMvJ z!$WT&muL{g*Kn+nuX$YeGM0@lm@X4?TgLF-!BoPLe65cb6A95?*d3aGVd1@C;`h^% z4V4F`C|L??i0O5jbRVSqy!A`w&fW5(JMYZezJ2=%?+t)1dF{m)wQH6yA8*oWJInxV zku)ql9O%3l*&S3Q4h#LM6M0;cFrjP`oj;?+-*OBus=fHu1OP|4Re3MrJ=BJ}17N%N*p-!Nn1#M?3wliqh*tosdPV!ND}C4j^{baMjm0Ca?#E$qtg@9vj51joki zRIpd;P-P>E@Z(;=`oUOZghv4Hhq4w?+iEs;&8)7TcgeZu#&4ZH`-HCT-MDe1dHI=V zj?WIJ?erTRp9BoH4xiT4>yG8$rwl~FM89~{>6^!p*&Ib?OB7kGQGx`ZbPpv{SQAWK z!&p@hlLvRKBmh_&Y*Ysn0Xzv%py&gj#o!eK`FZ^k(bz{nh-PMtrYq*!>A{W3^vZpO z4E&|EuRfm+u(EDNtQTM)tWyR6C3#IW?m^u?V$1@>kev<%50UO}S%QYgk0;^R$l*K3 zigY(e0@1Ori3BGV{N?@sT#g03Z&!|83n|BfzbgHI^Rd4@ED?#0ecn6r_w|3D<4OPb zJ>K_G$_qt_VMG;y@McJlh7|StfM8(cGdc=p^EH!C2OEm%lV>aFtw$>9`P+->_EiBo zcU&A*c!y9>Gl&AZ5qvG9VGyokvdxfIpH1M2b4t=XlSHupx3L)b|sw zLr7M78qqsIdLI?RxzM9;OKi8tVmXlJ^S_^woP2*tPR`~zlP6Eze(klofxi7G(V>O~ z&OGzX*tt`tm?ux3>|A{2S@)y|l77bo;IPwZ>UEiv7Qzt(AasGK$tVD6Tr7%L0PIl( z`$*}NkRnKcN(7L!BCT9|Oq2*6sIhOj%RLrTcSS+o^4U|W{TO=D|96}y2iEg~mFH)k zJ!jtLoP?BDTv}6?UuWs{Yfa>hW6PYa8Xx+hn|RI48qulGXdFpK(?~LzM^U_;H>p)_ zN>RhB;kAn8b&b{t5pF%b%pGu9(RS4+Nq~k4MI7d_$59}51f{ZqEw-OV>n0lM@yoO6 z)%(lnqi4!#UtJCzU~3a@d?bK%G@y|T`o>G;4+4PN{KHHD4xwaEu`-VZiUB#*C6WNB z-iJ`dfFOoRidRJ$c?@p>#twrFh_F!>9c(P2eGTL2-6tkc?e%$d-C_rwku{1k^`}u# zdpZ-=5p3DVDg8*yOpeV=0E~hF1kDZ#m@Gn1m}5qeRXd8j4&E20(X5Xc{Pkm`VIc^B zh4%|c0OnxG85k-7a4^YsTUd_(;B=a9m)Y1_l9Tn^m76b_v+JIF;`{I66X{S1!16_l zYD`*9r!g*;%yF`m5=o9OF>e83LKtCTZ$PAg03fFb7C-*BYobM!5fUbme2x1ebcpv5 zYZUhAipFqy8RHi%$X|-)iPRE*!}k5i{y50Ix_w5DEuq zBEkV`LJzIW;hsG^ctUyrkm&OIE3a6m)r{Skp5S@aZPM)*-La5} zr(>lS$D%Q@vSLD|M{7(y;*(@%Wo9;vBnykn63gTO>%r^7guxw$Aw4!0E5Cq9AfKkQBw6+OHW&NxGp_f-L{SXu4{#m+EdRq&FWMOP|zMim|VU8Z%ij!<{c( z$>Cu!GDZ!H5`$t|8!#kBmV`xG-vjdfk??3^)yh|aU#-Rf0f4tag1>yNEC)rn0M|`x zV+I{;&ZnmrvbjywiMr;6~a z46#ClA;FI!M?f9a;}gx^FeFaZ*;pI(JvB=EV7U6R{%Eumhj469&=udFpOW-`ipR6G zEF+_O(*+jSSX^2V+ z`iBN0C33WIe-a?P0Q|QfLyIEb3rUGKt){E8pkVHbMT_h!R;)PT8Ui6!$D2TV<>i|v zR~BVG>$Yn4TQ#G4?3yUC;V=cwr7?;@C{7K^BGI}RO^=WOh2H5XUy9;QD930zV|g>i znuJT#ua9R^WakZTCCqgY9skhq2kc%K!^9wl!GDBEvMP!nOiL@{=+;$!s=u|E-g;_0 zeco6_UpE)iq2_G1?$b$3kQ0_$xQUJ$R~BwwR^;t(Gk;QLW%HbMUTKpFp9)KNdmMYAHb`FA%SwkSTTS| z^u!RvAw~f?IT&@7<9nqU8#3ePrh&hDCGcPqH!ru!k&h zsbfVr79g)f-xfp2!>a1j{<>9t41;@+ccmuxso`5SzX-8@SpDeU$I{7q|FGX-{d+-1 z+Ha>;lt1*y?YA55<2CF5eFu(Hy}&{wKxL#61VFtoWtS?<5tn%cf&lPEYGZ5I8msACIBU*~ zd+xc%0yk6t@B80A8X6jgZCJh9ch>ybmlx(FzY%YaIcn3hwZh;I7aSU8#A_Jz0se7D zR%Dorg$*WMcy74q*s6gNbMxcQ7-{{xHAw2S@dh{Z+8M<>2XqXCLUU>X{$nUXH<}XT zhESeuFilAtMz^d?pci&j(i@Lg(?1%j=&R;Jw*Ir&`cI{{CV)SZ!c7 z^ZR_+m``7{RL}=|#xe;grKhjUrpxA8sml8U%Cj>GU?Sks59U2FQUbS0PZrh_#@HAU zGV_`M_6RS^Y5_3;Q_1{CE`W#kg;y8Nx4h>>PmI`5TpLz0Dr!WZ5rC#q-xG8@50n?? z?Oncj@xlwwJy(Ci5`ae@F`PAb!9-JBT&Ee;QHpMa^$ro!_YC3Q2+*bIjQ|}hs;YG1 zWbDYKY&rNRtf#|<8>#{n!%L^_4LdC)+}Fq-oZn-5rHzj3eW1iV{LQeh5`34yQE}jdbVQBzozdVtV)K z3i_n3g!Z@OQQOb5sI@s+C}P=l4+=i))c#6&m#+5RA0PnVPm$o>mjEc> zFG?@*n5;TbJpf%OBV_{6%>9=gnM!K8 zEr+gJXr;xaqo|aLK!8br+ccEHe>B-Gdb0AhZpL*FQmjKofI*OHxTTSpED3-FIWH3c zAChNv$PK`#Y$UxwmwZ`A6&Repi%B<0}S~Z$p=vagT)d4=DdI|y}gq$i3|6V2vxDUOemRGCc)euRD4B5id zs;rC0Z0bo%@VDh>q`qIAoAp?7g6HBa*8TV0bz8=Bk3L}A$C%Lndk!3@=%FMDo{kF< z9qrbgyDt8!jhD?>Fl*M2#}*a-!DqAXGsQ-CqO~w$Q=&XX*SD>t>Ru8qCgtLbBmp4; zAU3u17T_WW3pGXqK#fQI@y?GfT)jGf-@bil=Xt_x(Ce?iK6=ZREx8F^?~e_!F&~>X zu}4wgEGD2a0dN>b3u^}PdSva3dS|gFP+W4edbJGx4D^1s_C3gejy03tU?q=;f$BwP zL_6YqP+(?@h|75l8cJmF&$SMtD$fYIV7i$e+?+>5XZ-CaSS*5%T^`gA(n!eIV0 zR?;nS-J;(<%D2KvU80-}u73gk=un42I_T1;Gy)nR0N-Pg1VEi@APE2jWK#BB5FH+s zYXn1>Fb|@q-cLOZ9_ndyF$r){ce9I*G7%6hg!vjg!0)lYC5OJ=TS|X>ww(6fmQA;v z>!8KuqbS>T8YNl>F*pw=hlRn~Y!D@aHVqSJ4a)uGs96=*1rbof03O~Wss{iBK%HZP zkeVLQJnYstm%^< z-nj0(S?8X+I3BuR33Hx)B6>;&j{l?M)?05Kv3=_e){EDzo49b+tc`i8sZV)r){h(p z9b84S$&K&=C{v)6ji$0pY{JO6luYD7B3n3opbiEC0Wd^IQARNF)5+D4@GAR|{Yc#noH zc~l1=*)P_@1b|6EoQ3>GE3XyiBB0(sT676S%`RpoxZw7S8%@cY!89RpG@Vmrq@P}% z%iuqj-g#y$TUf<(uqBHQH7AKiF&)i*w!#8*RP@$C?XO80se5|Vu(yCb=P6$ zd^&ZB8ubAJ@ck4?0Axd^Fac-<0ccViFQH+RY+sE24n6!>4_{9`^G)H68!bD z1u%#K9+w6dbZi*(Lv4T+LWHmg8yTHGo8_az%(Q3b&7OM6+O^9kUA=j;?bh|{NA&+* z1IPFL04v>b-F2?1)zuRUGBdYl1ruLpBJiP2r){yoCqEMaf1FK#zei&c4Sm#( zW+IQkh+G1e*eE6n!zo!egr+1%(WNt;^x!4g^oNJX(TBC;=pU?554L2}k>}YmYsM^i zuV~$h%*??D*+l>}pu^R9q1{{4#L;@g&#f?Tv@4Ux2&Rsm?gW_hDGEUJooEv*S_R{`i`*(D1OnY_VEt;)b=h=r ztxk*K!_)-tFY;28w@)88ZqjYnZFTM2cjBzUz;S{da813qb?e}T3m1-BzHnjboGFto zO7Zy~v+8uOI}G|yP;2Y9n0nw9z{RExvgw;_f_T4-(}g#rhRhg_W7PF{tmd|iq=a8o zmXw@x*=3hGPn1C(aD~12;)}x<%$qm1EI;>lpUeJNm(|qcLiGZMl8EqyR5a4Ufa@Ow z0GJH1im=(^JWcb^(-b9D=RG2Jp=p=azY>yn#^NZ*^T7QJ&Zh2r&E?`2#xcP zq$}pS=;px2(P#Dfw67t94x_7I3!1d}1o$7V!>C@i%oxzS>oFk?+1dbn z0KZ=m#S0)v0OGk}L0I5ea2Sy9i$r!){3Ze*T0J*pQcqJhb?o8m@7V`MCvG*O| zaaLE_;BHxU`i!P&x-^nTy<5eW+>N`z25ev{rkDVsBqSsb>?S~hDW=$9iopah#n_TY zk||EeZpwyK!e;qdLMRDfaFt})vaR!<_ulW5#$$&hY!=Jpp67X==_ASh?m6#0_ni08 z5&ryO zJNt+zfJE`1$P7Yy-6&+#FI}5_&G-e&~*)2W1Z;V zr%nIzzbsu`f61ansqpQ?>8MrNFf}ZYZ(e=1<$`n0DXK0lom*K{cy(iS)tZXJf>-i# zJiCJ~$6=v+kBU_-3m|&?1p$zv6Sx%w04+LJ6WNWKR9PI`IklFf^Jt`3L|6KqmnhB!!~UQaadLL4*1BrnOg=(rHDRRO?Hns5Mob?W4U9n+0^si1U3^`itP7 zMs6kmE?$E!CIB9bgU}&>dVwIXEy!pG#B@BlTLzI3n-65za39A5m||zQ4+P!rkID)Q zpKWevIG0|3eb^KP!uKH+zi95(RJafT<6}6?s&sW6?e_t31?DAU8NAzO>6tm%0iclbRr!7W)o&)IsFXXI^?U z{*@~F{l@9^!Ir7?NqZyh+g458+e&CJJ84nv-w6VcD<{9PBktc?Bye~uCh_sD7{jY) z0zd#l5($NZLh4lr0Ua9@6#iKtj{!ge0KEwC=n>3v;-eTsB)UgR`PwSuT|ZFD*IEf3 zjsrL*h|vKil%m}*8nFSHow+cMm5YtL!8+TtH~i zYi(^!S+#1FZ{_*tFFfzeCEuGovG#{SSN0yS&2oTu!$*)NM_L>OZs_mjAUVLKV8CND zANDw`y`db>TeD|Qz2csG?kU=|Y16Q|F!6ibb=Ru&1+!-_m@#>BTYk{LJI7%iz~2M% zBF+*80g&m+!~seo^C6rN9Fm=bzKw&wmBMgRDC#rI-HbQeAe@;4qk)CmUnYeu zikgFC>04)bsP)Dw`rX4*X~&jk+S3kozY3wa*4tU6Ib=DMMh>BoQ|J2Iis(=)JK?Qm zj8Zy+``SPrnF$DT@JHWvK+c^PlkA2>Uycn73SV^SIsl2IiA5G*kO=7QfU+AvPH~jS z0SAx?Xe-xHCeSaQldYwg8z6}VUtdfBdb;wdo3G!!?bWoawTa$;W-7gM*JN6AaULxy z8B68aqbO<~BZ^=B$Oc%EO@rEBmRKilhgq}@x*ZI0?8uKZQ5kRJoj;_4wRU5ig#^Am zxy_aVw*|hGeT&OQK8J%`AT@UT5yk;0lZCqKidW8FddBKYFI}@V|gMLtzY=#g-XHFvw%yL;lluhJJfE!sf2ya0tkjb{sgj7B z*yG;a(oo;NY{`;~9=!M7aI!x*kp^G1Wy_Yd1+%9{OLD_kR2RoOs$#L%3WA|e^8A6` zJfHs{kn3jz{0EAo(Ra&Yg+DDVDA+WA=FBUuzxLY6Yu2pE(Ik+Eg@0A{1vOk?>(;Hy z_|liYRNm4!@to?S*y_rHg6%aWg|F0>7X7F)8hxdvIJRw4ZPnwKTyXByH?8{m{MTOl zPZuuE#;kk%rcDo-FFbeonwEyT*ZeL=AEt7N+1&b(20IX>{Dr3WV4IRuAcJIS z0J{+=`x&x%_YVSK7wJi){-JN~va(adXkZTd**44tNTFQUSgQ7ppp`RhwC0jr`ooj6 zXxCN_{;jp_R53dqjv0bJnA9hCVe(wIKsaZq)F#`x(9?gYwN#LRBLbxikN|WCperEE z&N#@su@H54g&B$f{4)dB7RELMLzw_Mb#RCT;2HsB#z?Pn4IfD9ZEC}l7K zh=Tyc#1Rv+RsAm%(4lSo-K}8;e@AN>?QKIQpqYMhZxdZH-9dAUQmHiiREk(e^O_k) zPGg#At99}E%jUJ`v`AoG=3r{3J)6)u;N>-zg9)7a?*F(M07(EuQJ_ehn?M3SX{@f^ zdhXJt7ef_wxGCQeZ5p{_$M)2lR(*BWLU3opDdW74Ea*)@fQ`L(fVQ+09Sif6rueT1zagw)x=R4lpZoO$nemL-&&*|v%+N}d(f*Fo8 zgcH#n2?ui%q)1V@51`^7;v5OPe~kbH`EfuH0NF8sc0s2$!`$bbKoRFCstAmtvl>$9 z;p<}bANNh7kDi;%yCe?&ah$JW_bw~-#VA&!U^|L<=N{7vwcw!H!7`9)l@47y3TQ>} z2XMcLzk?k-96LMmo~{V(+ZJZXA}t&PBnJnDFFuY>0JKa%9DyFHfVo0zqL&F{FB8XJ zjF8rdfH;m~BG8N408u1ZtO0=^*J}Zj1HQi6P_L3thdR-M8luCZWfipom9%F|9li6^ zWO`wBJ>79hl&0j4q(b`$3R%Wd$c43M5e2gzD~=VVeuxnI86@VCoXa`(pAKEXOb`KC zEO#i!Vf#4b^>qB}*S_Yt<(6B9Ra>0QO3E1|D^{%Vwlp@DRhO4HlouB_7qee2FD#r~ zTUpsOXU?30l`B^|nZRTWClys?%1#QyLi^H%7uH?2;=EOUr{kk+lVM;;^hloZ%VHup z5p*>m@TZYqKoWp}$*K_mod3()AgcbcJJD(dL>r_PqCXQTls%TpgCl5m~z|_wN~t=4tEsGmOgQY4`&UhiZfUy0PH-wMXMGnw&A4pdH|gSphBB>{-P$J zR1kuGkxjty0e^;f{`=SzJg^M@K}JBk#bXeG=wOkc z>=Xcy9l%imG6_*p4A{p6-~a=)C`URXOaLO{Sn3eSLR%$Y^9}Uorm58N-D7HO%azA1ahO#op<^H8?P-pW@ca)kFFaCa2d&K2N^gv;2#hA3=(l1U^b#~u0JQ+ z{`-rTEt_-k(xtv+-=IvHvM;!8-n=>UwCPhXYp$>Tsn=mW;4~S?2Z>U?bs93IzJW#n zd{zVbtte7Tm9RjX6a)Zg{WeJi#C?n|mA$%x0HA9CElbvP3R}lhzWo$hTtAM!evXZP z_E-zO-#&%*yfBG+&~J^Nes-dwov%$gX*`Er6`U(%T8}0GnBgwlu26X`+x+lZnGNV~ zMR8UsJK<7EAoz0#{>TC-0`Sj^p>e|i=VTWE#!#d6bpMtR^=;+dKaK<1!gO$JP-qAo7C)zqKH6GG zZ#-2`FWfzmmQ6BHU0@XDT1S)5FrK`bOtg(=3R@hMYj+BHZI>~F9Og9gIGG$cIk1BW z==C^%BgC;DBj|GOoi}5~V+&`@nDhGUn}+2ma%IYt{ew*_{5y5++O;iBb=8mhJ&qkt zv*8HN7(oE!nW5A$z`4I)^eAVMQ0(JCE}$O)pa@U^_n}cPb;`wgBtP#nn#iAJpr|E< zN_h9*7#vBrTpXb1ZY`nz_gp>g=%^M7e~@K8(8>) zYDWSZ0mxwj01^-o*AED!>?Y9*1?5;_*=iaQqCkhBThSI_0)X>>DMWQR4q}_j;MbU} z?rJTk54P0O8&9{;_b&0$`O~tf)HRawZR07=oJzqgO;Xzg0U!kKEOOe?MM14Q8|}1E z)RgVUgTQV-A>hlkm{21CN?-XlVa=;e{76 zmY;d%O(g~S|Cw#h>O;{Hgnhga{?VL>AOL7-M4vx99<(Sy?N0!N0K`C4AZr9cNSFdr zlU&G_8VwXSWKywhEKLff(7#MF(w1AR=+}=o(FgGw+TB?scJv2$XMdoLo#|Fg?L+W~ zGe$ub&SmA!Dsf)Byf6E$_jf`XIK++@J^v8>L6vur*!d&)>jXe_6u@b-0|#+X1mK?$ zd4sbe04YH80Km_u>&LCee$O7bOM8JPkO+ex`nMeR2MSTc*6?n|Se*acv z8;Zmc*TGh(SVqL}(#_ZT?syfig=StCMN9&GG`nO1)%ut)J0?&Bni@<30tT!nbmkby z<;b9HM>;tjOaknX3;yc_Kp#vdW|n{epsUAb9mvn|?y4$@J$w4X)6P(BbIO!`!3_)i z)?054-gVdQ&3>2TL$||v2$RYDPP^FsJ26vS3;x29n6fCxC?}AKNn1xj>j? zpfsWH5B+kyj=@B|Wn5J47d3ol7+~m>jv*ujq`QVjX)r-)1O!A{dI0GLmF~7kK^ks4 zgrTHE=@O)CX5Qofd7j_!dXJ6M|d+oK?zTK!xcfV$$g5RF>xzv=3aAn5*1DA|@ z{^r@5g!PYOavo6dd~SWFi+L_eK1pe!Qb6nXQBq4m=C^dUg8}oUfbln~42ps0oz|oZ9#DiuEyl|jK!(mg+jNSAqMm+*JVB~}- zxp5=DN`K#?AM2&1e$sG&Tpo7rasjkH0^#pvCS*^cPmDHF>83``TY6fte4j} zW(9JyyrCCtuU}5wBtejVl$7@2Egqv*P|A)m!0#%4&#-&OIP1|$U zzhX&Xo{gUlc29=PlJR34JKIBjHs4P!o9d%KbkHJUo|hR(4!1Q9`%Zbj8YJha{#r>Y zMYZT(Zr0gEvTq>ROM>`FU-gU%|LR+xoX<39bvZgFRPmFKb@1`$4`j*H4PHakeaj4!Iq23nn5GtLET+^AL)1&SBvY{3%sw&vLAC zcgCfb<*%*Td3Kw_*h8JPk;=zU0lUGrbnl(V?N<+N1nHV(rKx=vSF6}m4o5c@Tf34t zVsN4Q%?!HG9%Uc81G$Sv$`P{omLZYXXla#17T{h#?R$*5KQSThfx9^5^(<&2Z2u}> zgb-J5M>^%FITmlfi5CBKe|vOvw6xVFo@LFcd*qXk0O6hx2M?a{c4f2TV{L2A#LAB#J~xA!VyFZA-|9} z9+ylD=L$Oy?r$B&KAc=+vN=3WfKKbP==@zJ?|*JkoU<=_qtq{rrU_XJVc#k~8Xxyp#wpUhFu1 zqIUFk;~8wu>zcvu8T%x>ZesW8)?peEY8dFh@1z3Md46Wt;pBc&5*4e@eTY?o0)Z&0 z?a%+`C4%)`#$XyF0CRsT97>A1dmJl>BHg(XedjEDtJ6Zhl)5L(4}&T59U&rOJC1YurtDf*bm{up7`xt(CbXU(Pp z5rBOkZt>7UMLt5k&p#GEkxPgy5(5I9{!7kfd9YEdx(?}!>&zPSBE8nq7LGmvF1@_Gfr7mVl zJuB?L*6d>Q_e9WP?Q+nIO}wwd*}Gg9yni-~Jd6u(CG2#vH2Yzg#wsNj*yk`5KR-tK z-Qvd+{08$BLAo-rA+Mq=Z^=SuTDTtF zGVTU0)9U25RJhb*bU&o{SX`b_9=4+8V%jKVLEhgqs@ zlgtpQ3sS4eDGqBn$0O!V*g=6xmb^XXf5CV(S3wZQvFK9U@<)QvFX>3xyvY!``%A0j zH77MuXg{^3bY~(SALsCkniUb_?%exE9>~*_C@>$B>==L68T913Al&!n z0dACdc1J$ziVo|vNr&A?(E>*vbi-`gx6}CF6SYJWceO1}Ffj+Ulvf+E;_;cBX^3dk zRX%I1xmdWZGg4Ek$IvlrF@vx8x45H{0~|)Ui0UgWV@l=+iVxwr$FnPMhu8YEkqLFl zEjqH{FI&pcF?8Y>Y=y^`L6$)o>!^g0u<@t;bycH|)3Zm;Ff*xKxM z2eX&_^khNE#L--X;FheW$;>;>m+o)-=_>UKrmR+tV0i^EE(vRY$h!2 zR$3AJnn$9L{)m+%$sFjc40%7Ij3ejsc15JHJnkm@>({SD9}$KbHK{XIDA|iL11CpW zdv})~cnQOv)gI?X=mVKf+yxAIMi#3JF@?F2`~d#4L_xBR{~Y3MP4g?cj6Kg;155aPxSgoOw3C{ z5J^l#jS8KFpE{GgL`49(T1^)89OLShBJzk_9WC?FH7_bqUUOt+55Cvg*^|MmS2Y)|gyi@2%e)iMq~Yh!iCXDo0vYK7LHhE8C6Cm$41~HV}GcSkRdP z<_0^ksb-zjvI?SI&*^_Uz&JtWwnZ!T1_@>`! zSS?Lm$Md1zKg7tE_f?l2yJW)u$dsy8-wh3>q=Ah!;(6%{B*4aDsVw036HIRR%JW;(C3S3i6;cSRT*8TK0f67`fCNZKJ@6BS!UjKrtrKszzF!ha+T*f zWKRTG$m*~IbzHC3KcfVR3l2xc5@PnbG!Bkj=&!cR&JBtaO?fB&BoHk9cwi!Z;Mp`! z%rM8Wq)!XHteu!8f)=6;;w}|`7Tn>>R_Ksakm$Z2Wqh0XQ2{2&Enl23p{3ZSr`Y13smLmQDBS#Lcz*0u3?}n+8ve^{{4dji@I?5FtAviok9tXAv(E@RG>=^A>48r`DsZWR$>l*S*uz(UB}^VQ;XO zD=qf}5uZNwJlIgsHm@r^N=cbzi}WfRdb#6s{2#@O`Ea}rSqt|SgNQv!ZEm2SX=c{( z$v}o3!e8@_d;)Duqe=O&Y|KcmL*dt{)U9vvKThtoM4$EQI9L$YVL5zaVsHUto57aM zMI_crYMgfvz_lm|&KzfjHmjk zRsUc-`HOKBJS-GVJ%4Td?yTjRI(z#QP1jcyWnbk#ZMO;cIK1EvE8Mo>x7IF8n!3}| z?98}U9Z&z?GbO^2v-r7cR&CTU^x}&Y@u6u%y%r@55gVp#9{E5dICB2oz4|!XK`Gm$ z3Foa*w>h85>7OGY8SKQ$$D@BH4gw732=AU-k8RC^I`QpCGn6nKX+3WkURvlEWgqhT zVH0T%6C>532){(VerW$0XCA&-C;x*#jB3Y&yy!3Vu&qS1jR~!NlQ)|d_geQ3{eBys zb%DAhh}+76zY5K!imTFy@>m*$J^x098Y|h+#{u$(D!*()Sw!BtO}cYSe*6dZ)M-n@ zSld)UXlpIk@-5Ug16KDK%`y4kq1-I}`55nhkhzH!59IVD^2fy16rnwON}N@K-=4Nd zu!!G5f0MN}#OKgBeaIyT$tIxQ7^k|~Wuu89CxEye+FO<uNgu5giKuR*1%~B8R3;-#|hU5h{t6U>0m!r$RAdTbo|!WwsKvFQRhe zF-$-bidt^`sdi+uh>%F6_bYHIW5bo>fzG#+d()(T2baE{=P`(!hdKAXWQ+K%8MT6R zm{hoD#!z0qRqLP(B}C4*&N;R;hsJZA{`2k!X?rbI~@_ z9dqP{A8PuCRX!!@oZ=5(ZE_$G?;ueg_j;_Nat;qO*n~_ z_bX;juQ8CX(7bUGC#uRHAq)$W*^+m5Ur9vZ%JD^ro*q;!j=VP1r@O|-JHYB8&Sw~q z=%L=Ma8LIFAxduL-@%nFGPv2;5qaS=(0C@{;Wq$`2$QZ^oIqvwkL8OwNs^C7~&=Pqp}X&YH_!OT@kGt{4!6qd9`Hn z#|Wu7no#ZtMuaNbwTW!V8=I#p%q6$QcVDLh-d!4!pjNV4pF`Qzu$zz1qjjgN8y8k+ge2Wu8k4ZPCN}vZA;%uLl!<&gA@#EAG{;f4G0u zD=RzsOd{mJ`ec^wzQ13UOj2?0GvtRaD329&YxoRpaTk~QQ}H!XDuR;k!sS#SL^~T_HTN_(I#X-{MNBulbrRV`5ERoxon)lB)b~vdMUCkX!wz zJcIWut(k3BYR6GZd9h(5ilGmDq?ao42=AM)PUYETFlWZ0V}a8QD58;wx*JLq7XF(O z_Ivc(UpXt5Kivy4&;CA{gdT35Hxz1?zHM5ytCI%z<$g0L%~M=J?z%>e{YQYOvCqYC z%cP^?L04(Od~o#bgR-aqAQYNW(=&Sa6E4tNCMkM(R6b~uP=p9>x>s0&wt1HcusM|? zfY}e9xv284M;|}0x1M74S)htYymu!5?}{Xl@;}>q=PUj~H*0F)q(~vJVcMx{7K47O z^fthdQP3N{wW?(piKfsFi6{zdW4Q}0sYXq8$VUpsJTWfsmkQl!<=WmYyWV=7_#@v( zs%W!4#^=mvr|bJtJ(P*k@kfAM+#>0STr!rn>q#*kP>LHk#=@JK0i-hpR*l|OOX6>V9Ttt;Rw(n>Q6Y(Wm2@X;H*@9<`MFYqBE zq7by@3n*eIARo)Wd{Awdl6p^LW_K?`-eV_LhhEshyv`w+iMCjG_O-akaixX#(~)=4 zG?jw!8-K_fbF@66fEG#@IO!}{iww={M&^O@MVu;^ED6MB#aiFTpysx#`-cgCMUu09u2W$BeWmB zRTOwTh4o|Te**-KwP_6ugr5^jd%Jb&E(%s2(hyV2K`xJ;Acx+Ou~9_ns?M&YTPG2F z4(#m(bTKTqun}(y^D5u6LT2e^d|9PX zjbYyx(JSsH)#h17t6|4rd#VG|;!nRzsO^L*! zfzGi9wz@^-otnNc2*YKPY}ioq=^UO|kG%}iy}fUr*?I|z-aqDogaYZ{5VIB)P>1KY zPZ#s%ImU$P$|A#p4d_i_$w!l6 z?Zeb8yV|#C_3y4QrEO!mq38l|hOvv!8k{{7_#o}6iyDnBf>8nvMDH9W@ymImj^+l+ zp3mRk>Y{(SRpKSuv@a%{Gi_TO{nhhM|6p-IY6fTeZ~lavs$(q`c05zaql_t<3`HIS z$Y)pc%@ja}FEXSF(gGS{1+fZ+W1Z)bK^^C{gHN#M`gzjAxT(h$tY5TIU_i{&SDH%h z6g2-4tCVrQ{Jl-))n0xl>Q7I%GAtO7$Et6^Iubvleo{w?ccRM4UqAuQ4suKQQ`#Ec ze1##0kFVnkb?jeE)Z!kgw9n5V^XjH+O$0Wd>&Tu~hwTKiu>!h)oKAUrQ9AjzFyP%d z2N_y{of}}e@NdeGPk6U!c=#BG{AC-N4UaOVhXqgqWWPntQzrn?TPD!+(@}N8T39(1 zC4M**F>P!B94yY?D#{UlH;(gfOQ`=+Q853Q7QI~}bw@Oz3~Ix)ZoMDcv8u5ALFJVL z%+eGAMz%>(z8+=u3rV|ffBLI46OlWQc_Dsi`tV>P7{Z9Aqml~fAXM!@6Csm)h&eonZ#~g8 z%JC6g{4S`f9Q-|eDKLn7fB$o7n?Cu;e7^ak0x&L5@A+CRq;WHj6y#Iz2kz~B1Ige7NWx=S`fC`X z2`-4H24&-xN?9eY#t-eTLuV&8YxsRF!6NJ3FVe3i^)p7#-v#Tr&EURHTg$}#*IG3p z`n?OM14D=kP+E$iPTDDiLcth7u)xNniyW;U5(FL;0vOxpiu*g6nv2hAW*grdv&USU z76cIdqM1FLoUSMllV2&npAH9c2Pc9E_1c z`ezdmE@U8DmcJoIxkX*6AzstR|LFWH}+banO~dgJRKWS&#H%s=81id2XA zIA+$x)!1ZW@!FFYyvcui$HQjORHzTg*mOQVBA_(TlrR=hp;p)sG$Q>>5_-8`&s8$k zf9+LLGOd@Vv{c_DSleWF z%`CP(K}s5&-;ATz>SyrqBdo{!C^hsrbBG)t&|*8QHEavsMc5KnikgpPif!KLXe_glIS(HkV-UroO8^TMLDdsTgwNI#b%?& zpbM7go%#@v@MF@X2MB{nFRGbo;J^)Z68D+q#s&I4k82W$grg|tAX_YGxv&dwpsiFw z_@KFLG%GFEy2G~pe@CG6=NGdyw_iu%We;fATuEQdlV7^b%-X>C2!qu?pmp`iLjN#T zO_{nDG5`ZwJLTMUWw>;UjTTvMZXN6mZ6lqkx2_LdWA97W z-t~SUoIj|XcIKt&Xz`e1Ic;j>_je$rZ0{nU1TEaHUtGJlKfHQA;JIC`|F6;v;ReJm zDEP7Wet*haXV)W$cmP?K817sR11pXKGL+BevMoE0@e9Yc8HQSofk{?jwT>)rY(Kq5mD?e_ib663SlWIt=5cckBpEvZ6h8^niNilfABT5lIGEFpAcp zE05qV1(H?iXT3vPIh#(7*NP8Meu(c&@Joaev##>Jr9+y}-{ryRXFVmoaQpjbIleZ~ zLn<|Zx2uE-P`sd^LIJ&a$2Msk&ut+$-U2bPggXL*!R}LbX$!A+zcdh}Vp7EH29*e# zFMFA79$N%mwx;gxU}I-5k>uX{a~U~zckoyNiqJNyTb(JSh(jIYd_~s?I+@9A22}CA&c#tAfAHthqjKY19g_cq!7x=p+zhLVhK+c(zA48SH@YHNn&n( zF*Th+3H1_l?`tF&wM6u##s-GQ;x(87&B0+?`{$Wq7U( zuwcPCK_M?fe#;ja9xmDH3417F99Mo7PL8rGCll#EpvhbTO`*u#Xu5-YjrA-Qz9I_WF@I-G=jP3I7e}?qH!nGPfcKt!BQS(HUj&wAiH%-ggbo zntEo@AlPSxbB)7HW%wuH!+?ExFh6&y zNlT7*JlXD_|K-d}jxZl<){e1h+*lt$v^ICw)d`Zo829CfuIQV82Cx^KHXdolGcNpd zdfbKntwTyM%lf=#va-C!pPMg!@f1H5?%-+%%GeD1yb(df`jGVZ82a* z5Ky)0w%sF}`P`mo`nX}QLHWvvF2J}Z&$v`~78lZbxshc9ZWHi2|8KUo@=SJ*-B)l! zEd}VWZDtuhq9a{OLIUVzfifuP7D+N9`&66=euP0JfMRp?WJCg9uZf4JLZD-5xZJCX zLS>g%rHlKLb;@6q;dP+w26tfkrEOA9%iCkq9IX8i;CUrp4Kos93eH(5nzY&=RR(msQmpRW!$>C@M=t0e!O@Wbix!6u1-1iWYC zJ}6*jqW=I52TVha5Y7$8Xe*iwUQKb|qtq#*JQP3iu ziqM>h--K|Vr%JJnEY8nAY_t|h&1dJ&$B1YuvOcUU^AN*~ zii?+@)@wHX(N%tbtz~5HO&tFD$uc7?YO-NKPyp8hy2_7;= zYZDIBxG{n#MlLvZMndMZ)*a%brHp6KFZVxOUFCnoGc4W1&Ak38~gBKm<4Mw-gS3^m1 zEukQE&&|42%g`25(=Cb`h3!)?TS4=ew`e;pJn^EK3O!W-g;MYb>OISmKMm=Kgt69# zJn3jJyYuJ}oz1WJ{_mRr=bH9^he#QngtY)CjpJ@!zy72=|5MoeqA>U|#U4-c#>6iz zTszP8r*=a4yy)eqwz*mxZ{pE-UrV!uC41dScmj%e8H59w8O(Qq#{tKs zr;phWm@lIgQ&rFYzH?>1H(|5wIXbm|GNe^DM)+mI(LzgcKQS%#I9LM!VKS(hr$ztL zH;?_&IN2a6_!1yLTK!Y6YF=qq_o+4-d$>TlW4fq4oyS%|VZO z60CnE(d;7D6O>cX(yEcqxTbC5;8$0)MoEx{0TDx1fg22H{hkY|NdW|zO^i>-vCLjQ}_RHi|3Jr`90&RmJc3drvf z`{fg%pQ`#d^NjnC8WiO%DZl^u%vAF@Myz}o0u@P^mXCR>0vL*O-$RjNGwI+vFbQe^ zijqR+J*OiD+v%eONSb^>>6^}!+1mNa#*^`RaRE}3ytEfr5~;By7P{` z(K(BowNEt;!Ri~nLz)AqlYZBjs#G8cy97Z+uoGOMxA-LsW6O6f+fF`7iBCh zD&*A%`p|vJPSN{O@RznGF1aEwYma*T9&i%@$A$uy1lkb@09=bLso@<58{xKp6p=0- zI=V%ph4D5E?%u!gP}A6c2=bQ$))plMFn*J>M2QnD?r&mn-Soo`%WE|me%UX&P)kD; za7Tl-@Z1J&Kr`m`Aw^bAI$#_9Utaerbl{=@H`)#HTlRi&^D|kZ`Q$-UkQ)QUU(NJ&_Z(N45h`geNtNWH0f z*TnYwDWQ|8S?|pE${&b2w2$VD2VBzLV~u45cfZ4crzn=T(<6U{Btkkl;KdjL9Kj6a ztxDLE%ZQ2leTuP>?$qjheEVAXUltMG8`EOXIUE)rg$WGZf7OshikUsS(W3^OppYtV z8k8<^41RolI}D2Yk39~$9)6$^OF@G|xo``8WmH)<&(&9Ml-87&dTeCil)-Q*|HLJL z#s1&bd#RQLaFEiLU=YAQ0`Q%jU@KJACHDUI2pu^pIbm>+t}cDIY9f@A5=GUr#47^n z5Jg^rMJYQ2HzXPyMhszsAP=X#fD=&o3uSrAXsc(iFC44s>RX3AbWC`~zQ zuez=CA^n5kQ;7<0<@0Ekto10Z`O8?@#q=Y)RBmMUK`azmq>W?O0R&Z9_#C_rL+uG% zMWX)Zn`_+(XW`mv*$@Q^~Hq~+1^q|?6KA#-R8Orh0KZV7>p-HNDd2T4L{?18I=X;S5Q6uD{k|c-U zb@dpEM9FbveHI@a(WT$SApkj|!%V$M9S^R=XLZg`Pum4ei<`in`nA^F@W#~wqX`pu zZdat)KKUYf0aR94`^2j?GZrES-(Q7?!m+A=_+`G#s104>&hzJVGu_R>ZDh0is%PST zN(qHuO}2OKXDcup3VuE&w@>RI!&`&*#AqRgh73xSuza%L$~9Lw1Pwq+KF4kkMN@sK zm3g!O$G0tJ$?py4w=Z`}9@@XDm=w?SIanRA)3XXr{;yj(emaP!k#y^CL(-_VJ$3#M zQV|t{ZoW|E9sCtDLyYiCK;o8Be}s;*t&(v{8okAvImcMKADQoS{@=H`m&)^~PU7bm zd+1>Z=u{++J3lP+{0sG(BeNc9AQX~U{X+voq!JX8U0AW&$3=9$j*{7?^?{ofrNL4Wl|=&XL-qeHkDFGqCgbf|i+RTntx z>(V7f62v$zgOKHzhGv`oT(8t$SfF^P!-3dF3T4MagK`6@NU?!VSVz2y^JpDD5ztmXbZO>=%Ap>9Qn}mj(6C#4-wN zgZ;EnD`P>pd~n-0GBPMNnmA$1Jnru=jz}9zYsUe0`qA8=>FrwkH17Xh1c91nt$wE$ zS06u4#JF?KbDE!nQU*Lup+1#`9{}Wa?B5&&^Uly8lm@OQ-qWJ>7!TtCV-8vFU z%EZ+VfP-+)0jXL1LwY#yke=>j*r9w`&fgeQ{P5GGcdZV3>hg8j-j;`)-IG{?&O#v)95yZeEoxJc1W|h@>S4JJtO}Ock zG>zRhW6gG7PwK!HFEROdraK3MWnm1sPycX0RVUbBC&*7a(1D^O?*e-_zF*G1-9lr3 zLXCLQi{`rQ4L>I;*&XvGA9p)g*%92b&$|zq=L5|E2X;l0CakTVFiOo*p&nTY#6XRl zx|#9EG`PJ0*vW}<$HA$1NR(eI=G*NaWs9I*#x&*Yi`86P<q}`&R5Ot^}IC0x)QGaTQZP0{%W&k8Y+*!FCf~I7ye!5Fz zPC6Y=tad%;m|Y8V&xmDj2sfi*z}k#dV2eASe&u;PH&An%vd%(vDZl^uj#UJ z5%lM`x~9Fl>=NI$7(E;R?}&B~4MNqlOgkcv2%sAY)XPlr-(#*CNo#4=RxPH!)8PN=Pz!(Sd2#Tk*W5 z6MrrqEQwCmnt)3rWhhVRYds(dtN);mK4o_k$bsbwUd0xfL=pjY^65Z6sv+^7iqB)n z{`SZGoSgWU-m>wzp&L&t6FH4|E;kgny zwvbYb7vSN;{q@kys_#m>T6ppq0SStwy8%0WQh!P81EjQZps!o@{l}vN#k_4y#Xfnj z3R?G59W2bq2m^TlJ~8XQ@#%pPd~|jkc-ckcKfqmS46-|kCHh<+?XlM^Vq7#x?*XqB z(2MU!Vfk;py?&zSvzWG{cU3+2ow?TS_%@Vpuxo3_K*u8i%!QbD;#b+9Arz4sG z*wUk%@o2lk^6^kMP*NK40V`G68=2|V?c67i&a$4Glzp{amNeEQcmT#;rWEu|_fbjg zUFTQjII!`&v?=j|h#=Qy92VStqAU;|=dA)w`kmGlA^}BsV>MN1RW)mY;?Tf)3F6sa zqqhAAO>PzM=Uxq$C@U^%`#1a?Yx_w|ezDGSp#mH^1oO%>012AO00_C`_z1BI|CI9q z?1?JC9Pt*?iGy`v5SITfirogYF`*PR%4R;)oH5ycu1nVA8aLi9G*HSwg9=#M)?&Hq z&NR{QsDHc6E)$h(fy^*h5CmB`V`Dh_N8s6q3o-S($z*tFs$~?y z=>ALU$Z{ty31%LU}`XWd!*YH%NB;INr%>wBs*xr1RTW{U4Zy^yD^u2h?z+Pl}jfAOn6 zX%Tc3+XE*|fb49^x=GLmlAS=$%23!G^hYj~3SP-j*dkbcl?a96}SkBb0OK+sW2 z1JDu<>T^r)5XJR|RP`NqoatpbD=*bK2Gm%XfF#4RW%?(~bslCoee-;2vxb49xf%q4 zDEJ?SRemSHUF6qjVaYzM*tSd`5V=jM7J9QW_TV?`y@?o2w2sdtI#0U6(7>PU^k}4= zz9RU`VP(5o0<$9eYmPYEYTUo-$smdxcz`8o4W@C@y2@!pWHS(QWDXHNfeGxHv3ws7zH@nV+y5uPlw0^P(4fS{V} z88N2@l7rOjlu`BBohy|zfb5RA447E>oLM!d3XJNiyah3be_mc$4sq{nf41(hQm-fz zxbqQLfLmVXDR=<^3As1g9Eb`$ASxOKmQkRbL1?hk;wOIpx!a1pYND6WvYC2boz!^Z zK}Bi!y5oaYouVk&cnowWI*zkkXI*(oeI^1LEJhuULJ}l!!sEsrZ0D!aEF?CEEZQCr zK|y@yG8E)5N(d_at+3ybQ=UlAPcIilB66<6ylpO zHc82P|J&s&?$1XU{Vey|Erzm3$zW8nmhcmQ8r zV9h8;AMle$5I!sacHHam*h~?#*~BE*%n`fO1&&tTE2)Z>CfL&osnPymqTYR7kt)EyB>kedD-`@mEZsSi*t;9fyH zcHj7zv0|YIm!1(8M++)wr2tG0x^O2njSu*&aYnP zDcT)9lVs5ThqQ(almiEk#OZ?D#U5R7Bmh+%>X7_WSb7)9Pn(V{{jOy_z+H&TLGvC{ z;JU6b=4y=R>Maq{m6rxsIz8Bx$pl!8VMrCL8OtP~`_v zQ`@|P(#`z?#P;_! z;{Nw+)u4}kuz}g@xf2pork$WiOz|i9&u8EAqhxSC;wI2R7Bv(=uLsoE@;g%8<^@Z@9BdfZkH0jB^vACceu@2N=wm>^rO zqwA7)!kf=Xs8Jy*S4I$}SS}Qk-|An2rt27D(+4&M3KJDA{Mse?3`{SmV}fP9i)5e| z%|s|Zs6^6`tpdy0cdUqO?}@x=UO)}^Z2P}+V&V*LS;kJ3N(9#;)^Ngki*pB^(1{V8 z3baM0QXImvr6-1$qzxDj2&~C}TTxaA#L|IcLnRuN_|6Z{WiPvv-cq``DbZ*@xj_be z(k+}54KQD5`cEXIVkLuwxu0C%;$g@ZFuvckG`D6h1=NJFHMK>IysR<`S${yBVGNRB z{ZdFhbzOKgCI^O00cc<$1f1rhggP6;vln|2WIqP5dSG3hXPqVOatGg^+<(!vdAPUh zZr!z`7T`{Y{7?>|1c*rY9Oy67=7Vl*yiu0*_!YXDw@_uJUlaT7>&vh)WKd46!X6S$Xo2^Q9M#MqF1Ig@9et$>1 z!~QlfQ;q`E19KIJ3@lE5(=ba3>Ycd`Mie+sY__4bv00Iy6wen@Yey7pe$^(kjFKl# zDXi3*5qbeF=`aVC!$=nULeBhWZ`nSX$EEV!%0>c$Hsvw&nA^21b?g4|Cw-ed6JIaX zcN~R(#)ON&%8@d$nE%DHJoucl4kN?Ds|=oUeUtlC{J)fP!uU@$hP=drTqcuk8X~|s!`;;-&>CObh|HBm?;If zr1Eb7Aw7~k=*>c@-lska>u=pJ_s{s8=Om)eB`goSn!I+6mB^07`>>>!IeowXahn}^ z_w+RBmGf>|FD`#yCmzfHZazG3z1sOyqsYZ#{^M4cklxAQ;>7k<4_hWR zqe|nWctA#QP0SJub_ZD{a0_gXHW4>+`3=awR`q@J8QYsxZaMyNAY^dn+Vz8yhLV|* ztL{z8oL}~ZmjZWR#%gc9Eq4IHa!6iy-t5$rB*!JV_z*+%ci%PqB5=)q_3y>Z{(M6s z(@odoFQ$?Nna8_7KSzIVJ|1bhK4|^qyFVvy`ltQ;Y~!2Hvg~D>WP?GI>kl8^UuOl9 zPB6B{>pug`e_9(Z|5b)kO5a}%rY4g98oNHo%Z%%zIqYxpGLbqQo#|MnAPwBiNnQ8w zkyNfa`}2WtdQoy6dp)iDygg{Yj*MbSIj}2?LO)mxvJARwn*KglzU=2RK}BAikGGpF zOrs9W{LdGs8WucF(s3J;4`b=#8AqVE43sY~GB$Ht*VYw+N6aY!7RZ(c3ISLT3wNU= zxM=_tC`=_O3_LEtICy{y8GFjcr9U)oX;J8woJ&cM|EYiJ&C@fv{It7MnTLe{j?DXM zlD&rlVPXVc1lXX&os2CGz>u_u?uW`V549Kn5??v!;9)lLCbmC#;MIKxFOgo88Rg>F zuOk=U&_(kXs@e_@25HbRg(a$NCQop{`bF>!fh_9D+eGdtZ@buRVh1r#f5FnctNmH} z+t&@C4N2D*pEiF5WUT+tsU#VJQQ%CW7^l=Mk;*L6O5 z2Pg);`i{eH#NRL~O7ZkItfg1r<>_FRRyySmoc&hL=9wW2(|KB?S_;93o&Kc?7b{_U zPSan7%xYigjl6$sF56aJ?Ka6zFK8wec$sqB!X@)bZFR9or8pf~`!fcjRu-~Li@Wek zb7&z%c=^gAMnhG&M>QnP8q&rNZ+S*d-1>}#^p!9(IM}J#Y2Ew=t@7Iqbl%BE7vKDo;43A2d+H?pId@`&-Feg#FfDi@e7QaRb>Yxeg~7;ao6vA3myi+zoU6u zT-z~c-+!f3&D3rGtsPZ7j@$QDI;e&rPq4dkfH4WkjnAAm7yR~Ofg;vWKPq$q&GFxJ zZk|KL%B@#3x>x01V*9bvRd`lVG)G?)n}ZesVz7hHQUeNpb>6DGw~4kU;6P~bfg2p) z@w4``^wGlKcXleAmL4gPOj{doB->VHlyK0a%2Aua`1deaP8eE=-Vh$_;du+J`#z(! zqNZF!CSGyb0#*Fro}{3`&}dY5(5F5dsn)@~cEQ>99EY&c$OA3XC%yyVRH&TIuaB?w zN5mT;t_n4O)8-IY+}_6 zdY=>0U6uyvR;Loa^rxI2l!(eJ=rN`;qq3)3rj-AyXhoC|D7?criC|y-)}a$lg$mAF zfa8LG(aW;E5)!`S2f7V5PUi+)ZJX%J;`VCWy?<_(wLdX2JqkkaFKpI7^{W-?Ws4O3 z)Mq6o@;YlOY;)m}N#c<0o*N?>^i@Qk?cO@h7Sg8ew|JADci_cL+NxjV);?i7muFMG zcWye|3cX>&>Qb~<_Sw8^_}w-z*##~G=zG~ay7m9@^c4S(>5jeY_q+H02k$xOotfvEd1l7#Xv5%wHo>VC z@yUd5ZzGdw8KY+Uz(4uUp94uNV55fL+1{GT#gsGs`SU<)#Jhl&H)=C~epOlyTb1iO zFMjtBZ!wYXKHHnu3}u2`-1S5aeoDFJ73^&s3GYT93ixtep7&d3JD`wE{SmOFa5c%@ zK)ob+6*FMkOiOarb9uvkYd=9Vci-Vl#;}MY_^k})K7kq(n6M+_^U?p$HGe>PboaY} zcL33Me&GFgi?u-PLBiJ80*bM#l6zaf*)Z5$qq8gg-m{{Le_P4cd zBhU9CPSibP~i< z3r_t5I@Q!mlF-?T>9;@T=njO=ebVbtvM;OF=XVd9xl?u9hMXeJw9C)VPaltMy`fv! z;io>J>E-QuoDgXx*H!n$GxVAU)5p2=Wmd8olj(1N;1uOo16nb^H6y~x!>Z+&Ow(?- zs}+I7KIO6(-p%!?kZ^v3U7cY;_xLJrsyoHnpOz;M!)awtD0o`V5@|@2`KqcP_kT`O zn!OmAc26}-)!k(_ps`J(vHTTiMXM60Y7yW`+xQ|O?Pap35wA2_KmpN@7x|Hnm0<>@ zmPQle37$sR_phQ~?Rpdas+sN%{^V=qlX=lxYfvSGwho>lgq_QP&Dwb=TppUDUrTShY1CQBll;LEd_Uxd#J20 zq!29@JwO^jHurvz)IxOzE&uG(qYv0@?@FcnW?u@uCw?l$UG(Mef zujEh_6fYkG+5V9S>!lC^hZJ9Yj_-S@#E*})>T?F4mm&$2tIKiLzsHJc>ClO-%R;Of z)6v0Ee|L?z z%=K?Lht1pGHLI5pDawd4xWIWeJHDf-broq(*o*!*4ey zRc55;WyTi?g;t3Rg7+gf603y>3*oaEHD=5!iI$7z({t-3rqkoEzr84Gj=7E`#)kro zx;7RxsRpnAY~gH_-3+|q#xB*XwNyR|c44&bsY!|$Fujx*bed_~7XJufKQdLpdn#h= zHkRrqmbb5tH-|PXCd#7aw(ZMvZ@GVrT2Q9Y3D$wDL z1ap4!+}F@_j0yYa-cw@zcYDVIFl6K32Akcd6x`=LLUvcdWU}ZI!^b}2?kSJ^x#Z|x z%S@3HiYML{W8Fbfw!S&)SA{{;daw^;Ms0_MOHgvuo^O>ua5IW8G0ULHRErEoHQdg_ zXk?)W*RKf&g}Ij+Q)!jtOeMk%b^ z$y>F6kz?_B(Juu)`HhR;wo8f~LVis5sjf_l&WO5OIo|s;kXB_->k(9?`G`_TNSHNh zCXlZ4S8Q|kHMr+W<1T48Sx))c=)u4k;I=a@WkE!OvwG?(I}pRdGXX(*aA`+Ye( zh}q2v)C?8qHhK=aW#S)=|MB3CL2s6P?PyLjM#R*s(i2KY7VkpTW#t|8kn-wY^xa3A zr-q@`bnW=O2!&QA&LDKq${?a2yeUb4wAwL`xw6_jC5~kZ{}>EYuzVb!j=S1IbNT*Z z%Uc@UYl)1JQ66QDg3t7$Bj|<_QbljJYS_?Bn=gKhv{Sx9EqY|`ihKqdt7=+cdgIXjfjJAxTB<+P%2f!@iO0uE(alrR7UiQ>Y!% z*fi*vRY=7N!RSmV;i=|Kzjhdozh=(stikJQA)rG;X>_b{UM^4ao=>;{BOLmUJY6GA zo_4+cejjd3H*xF@lXPug^hN08#?~!eae7-9!Kck|I)aCym1@xTHM*Po7aE5YPO487U0L;o%g!&b=l(t^9S$=q!|KJRu4z~js@-wzn$TVj0G$w00?Y>viGBJ)ovUpz zk@=7D`!`{}H_UfxxQv>fRWo7Su6h z=KB$@G4q0qP(oOEp{}gwVDvA9qf&JET^7CA-m8tTy46>x{wh4`Y2Fpm7_88}`8fP} zq@1X2X9_gd3f$5F{WLmhpuZrHOnYPcthu3DTmhJmVUZyF$~dX!J}QRJ&4$4N?37GU z7J*GtfaVH8BrP25>cUPCCy(wSOt8GM5W~3S$D6PejyJ9QdzN2@%gslpr-Ua-5iYc{ z!kujG19d+KU?whnGlvx&idq7C->NIp?}}azm0j5hXGoVL3d3^Z$OmKn+Ow@lK*dVM zABqg0v(LYGBbRbndLH}~^ShB{)`_v*(J(zgzkqC*uGRF{%Rh7WrTFY2K~}DUzS{C= zcj-Xi(Y{@X$XM{NPc}eIa3DpO!D}nI>_rxQA`sFWO-Htt{dtI4gm6(~bUH;oV%E4Y z&!SfXqwC0qELLBL$Z6))!GNYhPb}>j$@!b0-RUw&Z(j3As}W{WuGVcS36o=$x~pX7 zs=6Yjw=-i4Zi}P5-&oxBEB@)FlhO30<1CKE!}lWEOadZTqLoBt-?De7Ow1j#Dd6;& zXzG3d8inY=0U(^V9SR0`#`>X%$-7!R7t7J&_rMfe=)e_P%LO$C^YFM{0-; z7R_IUjo#Y$Y+4nN(vNtkoQ9F2403U{2rMaiK$Q+KK85o`2XX?_SvbMx!tTEib_v*Nui zT9uA0;FUz2Tw%%Dm$D)aa};VLLWECi&i)vhiHp8CX~`&N1e zypDQm$5HeqFl`9sCTrYeJH()Qt z+V3C*s9WZ~;DsQ}C6o#1ZwMf5*)1He_598~*2mkUO}!m_n8c2UXs+(^D%Yw++|>hsRAj&4;aB$*Zo#x z*~y>hsjam8bp&!|WZLUw&8sF_Gg9K;c-IASE{%EGU6#dWwB+d!+%?vX6{R zA3xmObH>p`&fCJq?{;o#+dB2%f8F^8=h{AT;>^8i{%K_V=Vdm~yzA`Cv0Ma0`28jY zIEbC3kuRaGq^L!?rTKS%Up&0>6&cS^%y}Tp-(zZ=$k)|_79bz#4#n zOAn6U`xNG*aKR+dbG*6r1=hxk18$a<;-35M$)5Z@^Pam-*T0J4AYqHLlX6~TJd$bD z1;+QOap-k+ACB3 zTR(X?K&f>VMB{;rRW4IZlx&?jUc|YB98gXXvZHUleYzZAesg~Q_=2Y|fbe%SiAew! zK*vIS`Ab7JiryA2a@9?Mvvs%gf^}9ru&FHgMGFPbG14B7n+T*x&~zs2vENfRVMOyt zU}!it#rmmqyrH95^;GMM_-*FrZJ2c^#haV0>fw1mMM@o?S%#Vs_`Wyvhb&iez!E+r z`t-$=usrP3zwSc2VK!ktQKRyQ7;8e|@q)}Uf9ch7eQJa_j$@vZy_uezN|K@CDb#$L zCNL-#hi@a1a8bw%xtgriZs1^qQD8|FEh%-ld3- ze_ZH5frChQJNfmXyJjoIRjF>sc)k_>>>OO8sXoM+#NE_^!UObq3Zy^XU&hDDoMJ<4 zZ(F~zvzyHG68<#OD<>kK{h;uafFxtA*=7Y@Cgia7M?YrpFQU^sRv`$)c&&gSkQitJ zW(T4C<@3TD7@1_-87_gu)=EMsp+b$xYXUDz3GVf7$!PG*yy=iM43U6+$#~GM)A>f5 zBd9#LA3c)}2G?+3e}1Z+_ex7kt3Hb2XAzZ#YH#xx_lbL5bo=#ms>*U`03|yHEmx&=3DN(}_bLBxc(b%}XMd3j@b~|05PBkCI+$+@| zEVW6u7Gs5gX+hEupiK`{;#yd;&XRMc2td?dz1k=(FaIvYBYL}Gt0oJKy>(*lU84g} z-tm#!tpRqg&i_p7*X5##md<;DqEf}9`id^`{yoO!#2ch zonnFU1~^(#tp+%^)gbI!W*9&u6lz0)f|N^uPK&SC3~Kn}=MOkXb#kJ1(iM5}uri1* zJhuCDzjvK^i(}`YUnvhbx6LYxEH}j^FcHl&`05yasn)bjb0!OApy-gg;>5) zln%|ar^M*~U-%UAhh#OOc7NkH(c-nt9a~l8BrcjjMz8mjum1kgNF0WO5=ck?!Hfnn zz!VB%6)H6;Kp0S7B5e!7qh1fV95fm(EGfS5jx6QJ;kmy?a7`!lXy#{Fg>2Pcgfj^;K2AIy8|haiTKU36lvMHUb#X~~fa^qlJ!-UF^?$!boa+3!Iy&L1 z%>At3>>3skCrF{He%Sctcd99R2!aMELki{Ks2E?8oFPlFNF!gqS6C3Z@MoNkMiU$m zj$%+k;gfhJY>3Wvy?=1xB_YEy1t`AV{|QAHO@DgmB_1kzWR+DNdH20K!+kMH*+_Va zQ5%SF_&PnN2d+d}eMlK}M3nv)6Zr=?(xaHhdN5$?>Eq+`qpCYSm`U-1LJ} zIZUizRyg1C(C2A~SIt3hsNg<(NbSN}3`bfa2~JP*SD#8$DG4b2Z`81o5UL3ihc*XNd4f0+fN zgWhBHDtM2(EHe0kXc1{?d0k+e&J6+7cRkb&I>Sb_H)*!z=P~_bW4H8DX5VyXv}{-T zbRW~g!naI>r|Iuvx9iP}iCcuNc>U{$u6Fn#S(%yK-UmqB*k&xiwafj6=I9S={LfdU z@$2}?j5$@m=;JC{O2s=7z5XuXbFofv8%!%MVgv}iJ=z41N$y_wK9bXpI>Lv$?)zU(r&`B9YBYItpT^1?ZN$D%6>HQe*d8x>$_6sdGk-N`}T*U)kG zLH%MZkOyIAyMx4ZP&;cVs(a*vl%Jh8-^bQ39XLLhk&7gMo7+60qkDMpd1^|{$ZJe? zY{ID$Bc>wuyOEQwv|*IXd<+~Ie^)vwpPEcnp0E_AUL62LT*kj+-T}vKoGe)xfSC5a zeE14VA0!aK_sMXfG7%mA)Z{6g1temr4~Cl7R=WOoNmLy?pk@-F0*6Kx%5xW^n+K~A zfsZFwXXJB7!7>eR`}K8k02E#iw`Gxm6J7?uAoT7Zk#beQF*tz6SSHSk_ z`(ScFL$IB%iT9jni^6%KP~%zKJ;a?0&b^O2O?>xbd?^W3&KhE>>~4^&wk6`?0v{F1 zWZ{Xx_(fP8r{qUwLY>ta217oCw`!tW-{bd^qX|Skc4lRg^HUoS9@^TJ<1lkXE}gXo z#P1m^pJfz9zxh=s9btVSJEY|HlY+$0Sl3K?Lp#~9$$E9~+x+Ew;R#Qo^lcNIbdSJ! z;w$;H8-jN?t9%9JMS`C?+Rz6VCGsJoU5fs;SRnKvNJ|NoHhUCd1cTuqO7uD{Cx)y} zruPOnjXm(FqqFHDS#I}tx~vfgyrhvB|4gm`jUF0XSQ78niw)QyTIKIREc!bUoTBoQ z4~9!)O0VsevP+UV)uC;|nOYJ05#)c+oh;V^(xC8JFIU4_rZ3(<9*~Q)L6;44{6r_w z1a8mD0~Y-MT%B?xPfoir%gaA7{!J%qubs%EFN1hA&IQA!j;L}pfJLtI(}y*l*h%!N z)O}s)tm{2o=Bu|UK989fI4BYNdqX))6p+Jd(sBIc_W~nYP6pG+6 zE^-Q$i8$b4MyH`n*BvKo^x8g&5Th5;&4TiYXfmtIswi(n>F;eGZ{IVFXb zUZg-eu2C5s#WV@8?rU#K3&8Ku!vWL9XW1(@X zVQa3n!qktF%v~UWPa{%+gM3nwTttdRL9W`=UY_u)|63vGkY(7dhAfT^Ta-N!pf4Ltwt~2i=n3+_x>tianom`_GN0ihfFI3;vp> z=3Qp@#Ya-ZHHiFtn>sZrsvT=mC@Y~Qr5(j)&fK4zeb`k~t$m=8nO;r%6H7K|MjXbk z7dJNC*5RRc%xnVQj&k#Og>$QJ-Gn~N`WZu6? zqY0#uH>QJ2C0-j#i+(uM5 zDI|+ZXQp;ng`?kE+Y>hqaL6DU?mMCNJU-kZe3vCj0ThRyY-+lhoOIeuY!SqK&GneK zDKdhAx!`;b2x3h_*IXu;T;(4N+6oGX!XeqWlu*R}jz5Zk-j+XW4*7fQOKz}e%2KZV z2QYUyjZQt+h_d5AFJNK0 zd)8xxe2z*SNZKauWIYlnmSFgN$u!p|+#yO88N<<{aU+CXaG!90<9qlukqpi^m5X0p zthY}{F{y=BqZ!7C^>v`L9{*%QR{}pQAiN1L$ueb^>VH1xv9r(l<}syiBwv|yS$-d9 z>$*HX0`~db7?tjxfGDhMK8K)G(1`f9yD~=a@|>i*gFff0c5OCS|4FH%*{D*nHO9zf)y;ZfOl_yjw6Df~^mkuP%bTvun z&@vou*jzHDTyh*4gq*Z@;+qGP>z-BD`4Q=4EB*#rGlVebInpKab2- zyTPQ>J+)^}lA>o~*lX1nUboeA9?zWGNp5Ci>=wM+0||clwI`{Zmt)c{HXZu*%*NO+ zHkn?Z?S=a;lK0d+x>k95(I|mTds=e#uv?Zc2*4S$TFqsTKrAeb2JoM^SGA(_v$eZ< zEiXP|0a4U6+)qE#yf7A=4LNUbT3Ak6Q5Ia@EHi~8Ulbce{N_|b_Ac--p7DRV9|Q1P zzR-vQNc+aHD|3TfOvJC=t)IQnaE`mV1tb!6#oZFPhC5_i*@ zz;@sBif{dC?d{AICeMsF@^(jX!Ds(!s40f4>8lwB-FXh~`Unnf)4n()GvRN*Cqd;Hv&3RQ73YH*GV1%ZsRj#?xSS_hs8ZTagbXVL5xJzRmB1fpuR|g|awCs( zySn8~4&L}f9AWp7Vq1*Rpc@Tz-f*JFCLLWT^g5vM>Q0MF93O(1rrYKI60lp0YLc%` zY;m=xd1~>4In$4PJ{0})SHx--dHiJ|6ns<~BmbzJv7++Kb8OZo6W!$g-u#w88@61= z1(M9?{BJsXi^M{H^AHg~?R>+Vg@R#&M$v`TgO(a-k}5(^)R+iZqSMr4e*_h3?BM6N z2J22cX`2)|s4n6(!7!-i{M^tot>7Tu4b93)3(2)r;J8ls6YxJ*9@Y}_y3jZ*PHjA{2u`SZ8wmp1kq`W4Paubt{ zODGJy2`q{xWcd-30^R_X-24O4Aw87FGQNVNEp9jk9Sn)bJWjV5y|SjTyL?O?Xs3eG z4oZiLR`{~6-}T~vpJbgbyi^P%C{FJUkEGik9@V?UfVHur64tWSnf)*j4=^wNFhvG8 z1L`Kna*!{jDJJD#MB6-^4?y(QJsEmXtz|k=K>K ziwaP>)}pbNPn|UDLOnArcCS|kScW_v%F5q~&5?^gjBwr528AP&#o(t(7&EGkj}@p- zix`5SqapFk@jZ)C;XkSk=RKz0r+iolJt7b)qJ6YvqN|My1)5MD5;%|WXUkY+6s_DQ zAMud?tq?{J7x-29`Fy|XVjhYKgQpbU^6x0?8Q2!k>8C$O9xE{6AVi2jp!bG^ z3cz)*I3G=y?G)2BRfz2QkFb!h!oZcACDgc-DOgTat2Lk%Y<6@Q>P(~AHEUjqs}*>N z4s5B#{2YCd$(8$*1-}yAa9*koZ}(I*ozxEd4KaaeI~z~|IvsMW`opc@Id*v}uX|pIT3{jW; zW(&=jPBrp_=l8PGiwKl=rLy^d7O9@Eq4~0@uAzQ&RynhP&JUofvb8|VpjA5p2=!aI zRelJ?Qn%5Gp#biIKu3YC?o$o3Xi$r9S?FC&Q8fMs&}TNThJ%H$X94CWME^@SEX$yS z&%O_~`?GHsCQo`pt+%FdUKBp%Nkeb@#0f^Va3gx_wSqJv82!y5S>eFJd~HQJW+QK| zs-t9X|9dYA{r&S6;^w8VXQ%4yWncSvNe)9CT!Vh;+>sSCV-pS`N)s*JDu81(a76zD zG3Lucsc(f?X34|19foz_)8%2=62D%lV0uiB#SQx&UR~<~+>_#eoLSqb!&R6gIA(NZ;YRG`?@4X(^(iL-Eg{m;`meK_uYSv zKRkEKU1yOM;cH%lB~D5GBJ9%3moGvjQoxQ<0auer3S z!*cqE3BC(Wug=qV#5fH_dqQp zJq+~G?YQh{qN4pKhR(;wncVgj6A>QTqduZGiWC5??@pcqrCkq$7B;N59p#Wj#bc8^ zRK&iH?9Aq@$m3FYWOB(pIH-8LE-zz=0u*9zd+G%Kk&a=dy`xu%)W(E7#KhJAjbKB>TQF$4g&!!KYgr z;Y8dI{T~(m5gwaVtA(B&sccAxO1!4@+Wm6li{*3oMfq+;`R?ThHzBs+;eE5d@wU%E z!S%-%)XZBw!)KZPcXV$~@Tr5P(=T7_2T+EfkpW(s&&ek4P=1r&C-1hWzmS7?ZUoik zDo;KPL$}S0s@y0r4BZuDm-P#pXzJ!AvM@{gvbso!mJHx-NF7xS9n{zAGhqlO?#Yb$4S_u422;9?NDCgH;3W0Y$~xZ}xu%)H0h*gGc_~x$5t#25qMey{#l0 zdXLRZJDvFP1(UG=88*BRp98{Jy8q@#J|WX{gYkn?=;KRiU_8*)UH;|}aRWq&{iJmH zIe*{&$Vm(O{xe=MIpdAl!H9v1@dR;Op=szU)MI|JGZ}klyNBmuY=XZ`2Zdp-A^3nswe@ zr^qv(zn@yYj@SDV>w_?}?dozW=>ss6&|Y!{j)3v5jY1b`!pZ!X>dmDU{Nxl13#wBEWGXU&V>lLSXLce?g2d z%yPJ-yoD->lZ+ZrCq=n2IUIU(e56I@C;HsGKw7B{#Ud>c_dSY zI3p&dOj)>f*Rz3`bVY)N_~)%Y6`vOuv?cu>Tylac%P_ni_43d7u?h%Enw_q-2WbQAZ*17AF_s9H$rq`hVQ z1XVCkeJ6fbxx4kK!QgRbCgK@mBDxf*rM7~jI5Fo9Wvf6mGMkDmiHL|?;O*=BSi6tc zp%n%^tv5$BIR;Ncg?~8F1fqi^+q7gtqDqEw(_4$u1#!+2JKZ=mM43M!gxt=aZpDxJ zu+Z@VG14@bAvE=4W5i102C)u3vygP(DsG0ZLQo zyZ5lYM2A-{?%7hDIWX^2pZT zv(YatJ5|XzQZCiM+`>wED;8L0>on>oXg+F0>yUFUx?`D@gTOb#16*JJgHjZzzNB}X zV{4dQnR${9*Coy{(#Mur)nRA*#W@o8hRWZJR&t(icd!XsW$Ww{VUXA+x(hQ z>Dy4Y%k$37*U8Ld<#e_==X0quI*H>e?gIQTUht1y{F6m`ziXix&wY-HF%mv$0O2|P z?x7(Tvb8qnoxhU@&O#M;NYbC-oF7=sV7Nes0|#+HIB80=R`wAO?Zb_>8DFf#atx@r zZRa2?O~M$E9td@lPt4C;%H(KvlGHt>P*h5y4Ju@gn|K z`D|^2&x^ZfW8yVR+BjVR*wwdPv#A(rd{ll^|D$jey3ZRL=@d!!edo0Ha zS$-72AuCs*HGF?*zZ4-+e-1y3iH@B9A+?}YSEqJ)FedVrx@pkQgqH+3=yD39= zwa0#h^B|45)FmG|GgW7Mn=9i{_)k($4B^Gg;!$`wCZ7mI($`!X*?5Gv6jT()7C%0J zJ?wvRHZL9N{^MWp!H$gbSW0iOzdU;VgqQ^RWO0i|76!j^!(>@S)jwp&LE&w$7QA$V z-B2P-f{`(jabc4HK#U7=4;+>5>B8@y>7t}0i7n11?9HwYPf_kmUV0&zpA#p%4Uqyx zA@vFDc16Sm-8maOaNS&s*=&o8X7qND7ZVG3_0-R*IcB?xLL(kU>q5O=2%tJA-}A7e zicmopaj-%zz-$1~Fx}NsL70mXN8M;ZmRHVMzhBLm zcTm$G`*m}fSYN-?Gh@fZP5|ecBPyu=^cL~qn1|8HFtrFg|t$9DOZxe3XV zUZ_r??K3$v95{DnatkO48~%!)2OY6hk~x=n#p-jhB6UE#J>9ps;~M^|Theo_r9#FNxW~D@{eni(4@8?Z!1EMj$FpYuq94q z`$-Bv zFolOZ!ejMq@sf7~+!dme*4`lP+;-ykzv?y#&0BWp;hV6H18P#*WaT#M*nu0Hj!7kbpzq32)uzf}^O6HLNfE=g-(b zh$i^E+Ogl-YmzlLR=>v(!P!)ouOmnQUlKu?U^JO2cz=XhWIUA}x~%T=_<_AzUff@0 zNdA7b>-ym;%gGsu_Q_59o0Ek>zeEbbg!r6wO(_}H1n~!OmdYfUkp@`20wx z?C+G`VW{mm^q9;&_pZ$(^wQD~2WvU>%3s%77ft{FLy6gGYU|3{dG(Xb_O}pZ?@i@w z4*v;DetA~Cx9S|&qW<2(1# z9SzlT2|bm0!Q3$w8~w!o^LjyNNP<{X02zdEBoiGxzKtUwZ2IZYw5|__F)s^?VFC_V z2exD~JPe?`8xPlavxU!ZN~TM7Nvvv2{v(?`I(7Arb83s$ZM>|CkmwLZH)?%dsKXqL z!hW1L5IFKCf-pCe;5J$1yDuoE*-GkSU{T!3z9XxkLx{ql7I*6dIg32v%k^Yi$rth+=Lt>PYHgBu}pSw6fkSzT}oeD~e`E zBev#gjX^^>Vd_MEBtL=;r4LN8r-!!XF8wjvmk1A`hv^Wqn#8JxijFbS$6z#YY^JB< zokWNZZcVxD)npqBc%kqoCS5kyaS8eP7&_>an97?a`dTYAg@H&QvYCE`rj^lp?{)_} z$lX8Prv6LKK_k!INx@<3)nxfP^6ohbFRcgvUhP6G5`e{PF%bq*Z#r-_28V|x;M5zkF zTKs??z&>7h4mse#3bInb!b)CsG!5FR9Z&mVgHLl|!#Y;}_WwV|+1~}xoj=J&hAE%Z zJiT%|k2Y8v-w@`B9uhTpPussR-?Ual5JIY?vJwvpMHYb;DV!MVQtnKFaoLysa5(#T zr}X5+gL<=E?c10S3SL$;>uiUQX?6WC?EydQyF)1!lPufRJw$Nc*^2y1A7lg^$dBWx z^E;d8F`RiS)Yg`=MZr~OZ;$<2)YF1wLW_?>u?QV9(y<;?ZD(en(VGOU-TxwwknOlb zWMER-{}Auwl8~suY-8T2u}d z8MG{9n*OfM^;i%n3eQSduYnWsk9bLZMNG z1Etrh-FK_cU8E}s?U`o)gpg5mL@_d12^?O1#EN|i_%B=_G<7+`{fn=r>bP6>U0xaL zS;x1cs2FiC%JeG_I;y7^bz|esHgpP3EfcvCvv~_14c=g2gOcZ`Xjtr9*ol}TiunX- z#odp(-c8?^QyjibT+5Ip+rrr#OwJu^@uA*=TToM{v5So3Lt=-Z^e)8zGmBsbECja- zaLpZEIU{v5a?jc2iNXInkX+O_?NKwXxx|^HRx6{f+VQMqe}s_-$G?22-SJ4^b4XDG zl5&mY-I|6r%vt^uUq03-CU}E@o~B{JQ~+~BI#cj{Hi_on@ew>eCu8zCQD+1HK-nXq zyW0|@C^3uEDvoN+W{DV&dAXd+kZ3tYg2$eD8kkEd0Au7K190v;s6@}Xy;2Pe@k zO6ex+4Y{B>?(c=tFA1hj3F>YZm6MOAs&VJHpRo%(_IiQu`M)2FqoQk{7f}ShqAe4y z-!;;Mnd>EOxPwD^?vg`U4xM3w($i1JtX%HgUTHWf7hG%AbN5w`+PQURg)83Q#9_8M z2Hrdv-=1)0D6rm&kBkt-$B95OS;Ys?wn~5n=pvxySZIP@QjJl1?EC7dYJdP? znQr2J!34c~>!UGc&+{ehi}P;hZBVhlQVUI)6r_Zv;gaAbhbIKLok!Ciiacz=ZzIL` z@9fWa7T&iu3Y@3su(guO)!&0@%!Nu zHa2ToFa3zz>qn^BD&2~TFNM(Cp>3*_M3#poU(pb9@XzPv`H;kOx~OM>9Asck>%5U% zTuOR66;S)NXwIxg`@a~v@=mxeWPs7Z%jEB?YShL%a=I<5&Zr3TjKbdTdxonCfR6>0 z?&V@fxIrtF9dYg7ZqZZ9(fY8m2vfxM@}&tsOjaEd1jRM z6jZ@1Yex?VIk*`X?Rueua@(#}%E7K%|M4~{UT5VSYMKrYo>tl75Pqt)RZM)h9Bvv~ zQ}R}VNg9RCAM2|>#=~HX%)<=2S=Iw?&eQ0b{uv?~9OH3?u@aAS8)T_kjhIeuu^SS$ zDrkJF^q*XLJToMuEKfb09{#yh+o0OJifkEeyEN@?9gF6a6Il87tgE#f?je4!%&E)_l}<7(%W(3$29dJ-l8q$;F$I8?xvVFa{BvyMeg-~fuA`tf?Ln5buIh& z<*SdRe?Pd+gyh5~2Bwl9d(~SxY0lRWX7FFF^fDLqvSA~fbeORoG+l(K#Xg3UL+S{R zM94n?1?LP&-LWT@Dzl7p2Sq|xvkNLGs?*L}xSoX^$@m`mN<7YdbBzgwt<%r_nrQ{Z zX{mgBugC8)jULJX9HBZ82 z5y>OHk2Zqb*7I_eWzhUHN&RUzQj6nw!X71uh#b|xG;YenW_j3e)H8~YUY@$KxE`HX z8J`>pd;akzB4S%|C?@Z2+hNdiY=$vuDyUPuzS!3=NI!_&&dSFR~;@ZUP+>2Dv1Ym09~?KU4vQb+!hXhK>xzTs@&^9^uv zJGJ|UylyR6bQuwQdrXIdd0LTNuj@EHFIGaI=p_pTF!lTqqO|)KB?*{yE-`B1plt_p zg~>%wYyFTpC^RV@|Kx97I0*9)?k8D!yMlsAqNrA?rsyZElVX9z6YHbhL+;+cQ%_I6 zJt#qqYRm?g7?8HL>QwZ$zcM2AqVKLU4@cW#K7}0!C5$nguw%Y!)4@61u*4#U_?s0s z@lS5ttihkn(nG-e$Nt>UED2jgf^KT%44==!-4OMrhdS%;HvW z;L)8Er=nB_8fVMZACH5>{n#H0CK^ct#zdny5X2GhniH?pF1zvC*i4x|IVY!H%1y6G zv+_asXDs8D9>eo5Wwwwo9c&=Jr0N@B{b}|~w6EN|D;z$08N3%$;YPBuq?gjWZ0(Ph z6a^XCeE$ys0zv)0ee@>MAYV6weEoAvP*w6*Q_=wDS0ige0 z_+NVt@0mdUx&San943i8_(etl!O@13bsa+#jqvwyv|as+O$YuO9*c#P8)B*ULAnN7Q^6-~4LjFIDD)`93>Evj-3h(ZC`A-MkP5KqY|JaTa-O zGkG5~C_DB{YRp?iw_ch_&;F=^{;{Kp4Nw^&;}{}fup^lU;0gaYgN{6#&K`(|-e(dy z(3!}j$ia-A@YhI4$lRuALqpcX^v5&-xtiF5=BfFqrVCh-24{Eu`3m{!0!>%8^>o5}jWC#`knh?;%gnU<1 zU7yBl)wm5zb=?Nuuf%i~jqT*`e0vrh-o@CHNBj4b((fNHqs{-CMijr8wtP za)hemmsR~-i$ny(Blkygg(3uM>0h;`h%NvyEr4V{sVs6iD9RE>5#b?{FVI|5@!Ad7 zeP-L&zy5C}X6c_f%y9|_mIr?2l~>NX^0JE?SGTq9F3QY$E5@SD^u1bc0NoSUT7s?PiaDPYw;Raq44(e~@vghm8^%lW6nKGG8nrKp9XN zvOri9`2xygQie3hpbGTu;1KMwwt?XH1aE`9__&y`6cFad@vyO#<51y!1$0}(aiwWw zgx5{&9m<@#PEwk<`FII(QzQ6%l!(IPnpfQeASXlR0$>W@P#0>%72w^g{V<`hXgkuA zNJBjdYP%clWsOq+AT_j`RUveo6LLW?rGTz;YFm*y@&|OHMP31NB1V|3MiBLBXYqmQ zf(|7Xa11!!!#zGeUO?qBAZmnZ81=j0{L~ac024`A_N7C=uKc8lX()w&=dWKUMi@V9 zGU%VLW2)=$SlhwJaIEc#?}zXi>0qI`i@)1;e2+OaxF?_9+fzlqeYA@1_^gLk7R;xd z$k~+an9ssqmGDW&P`>~O3#t}^0MJYRR3jjHz2^C2&L8c6W%+RjoCgb4mlXczbyxn& z9bdck)=Z;)GKV?LaSFzlZ@MY(s>?3lSY1^7mzZ#nK5BQdoG0J3HYR)<-{@!(Bmw{- zK-JDuDgc=L0|G!b14-f=+{ebjYoE(TK}7+wqG!^|;ze}l)k*Y+`zxt$R~3!*l+e-M z5;jEnG|1k^5PO!xJq2`#$zYI;yDTBhBH@ULgj_9A3`C+EeFy{?`XK1xO~0Yj4WDlO z@Hg1-9%~y2eoyc=$Um2lHBSRbF;ha)AU=4%3Yxbl9xvXn6H&GzFd;Gpb&fiemn|N$ zobSmJ0Llwgo;(1OML0Y#=dA<{rV3Ozf3O?KQo^7YxdTa>_np9=IHSkQWQ=py^EOlx zpz>-{w8xdV3Spok1X*hTnve^8he|9cFCC%?k%s~XrVa8)B_d+~N_YY48o=?Y1k8W{ zFd~=`)%OA7AD_I5>rDT?0#ShgsT%jGLnYN68@dPxJ{JA@o9dc0ZtKSoybVls-3Hz- z-zoA;+EZv0g0wf6`ga%7+r72)(nB@$%}b)GG35-(cF(3H+k8r}sRX{*2?9Xx7vc^Q z0D+o+qX6(lMUp2Xf+DTqM~iZ@pZm&QZMS)icF7#(FvlqvcYgcZu4_L1>Gh?# z*&R&kV^HX**TtNFj5UO!tqWNIU=09t2@InIH!^)ywLpT)O$knhBZ3m7VUUYG1;D0C z0-X!^FMANqnN*T6gKk>oq&?rtr#Bxfr^6j(?A?_!O6Uk1^uxPy1S1{!G}c`t0s(Ww zcn-#1JZ>S1bmiS?A!|Q0j}Om}H~7IGmvLJ+#KGIa&rQA!l0MYM!lkQ#`nwBgpd0@O z1i(rk{g3X zj~*@1rW<5mm{MT$WN1Lrq)J9a7+(nqA4!s=kQPJ}UkmL;0Z9G;@&*Fr=C3FKH1VOX z2c0CxlRlt4el^u3$D{$rH~}ImCVrO+!Br1I)eU~(IvJ+=ZFSN%UaR>3Sld%yx8t`n zqzAwV@>4o}w7)%#-t8=*-#=7J58aYR*DSG8dCW{o4xd8_p$jP1f>ry11pt6$z)>9p z5ughIZSG$a0cr_gyG#Q_hKFL&AL$?Bi-{U3%FW(%#U+YNq0ugx!yM)~1>^SH zZx6Zjf(z;k)6*YjWj>OimF!@yFV+sPf6+t%fO=m{5$NP^hX8O(X&~BzN^%gU102W) zSU^dRvnY>^$!A)u^yHV*>6I-d)Yo24{p}^}Jr^>;u%{1?SmwR6XpG5ljLCIq7ar5H z#Kn+i26_IP_X#f)V!&UjrW@a2V%LqNaa)zLjo%J_ZsIn)a`FEC0wAA>8WDgDg8&CA2R!K z4v1i=kUa#LI?jH{3qXDV@&xpRO%;MyRU3L3TKnE)Dj-AsMnbSkNGS487XdfWgB%3R z;d?{?AfzwTC^&!o4np{Ry|e=m0Z1OiwV@Lres|;*XppG~MY4+Y15-mdK7Cq7dHcb~ z6@Wx1bV!s!m37K=(*)pgB_;&&oiVzBpvV0P&dfLL3%?PB(}Zgk{~v36^6S=k4T~t^ z&lyGq4*zBc_*#3nr1q47iI|_DoC~PwSkL2O_2-nfn#Mu7Atc>q|dc}%#765aMcF7#(FvlqvSRiP{ zk|ilw$w@ytHp1=tWBT?~uM2D|Z(SDv@YF%z=~@_C zC5ypxmZUx=|FK;lS!B)^^7$1i0f2C}%wuN>L4X7Y82wC$eLdL%+3zV40C_|^5d~lY zuoD6xLrM`L0&osewf!nz0MjC>Vn7LifRNG?`|w#Rs-lZVbqqN6KnPzV5x9>0 z(*;VHDAG3`V=y3Clvokb861HM7NbE)pOeFw9I8X_g`o*r{PuoP6MTIhYkT~)I@PvR zXz=G8-s7XbJt=fxcOkvEdolguu3Gx$MM<AO=jxhCRHXIdvF1HNOl4iurow!AY{7_P;W$+O`(14ZKc?hkyY# zZUZ1R6{1(u5+HxfTYK5F@-k^6e2((9Y?ZhsWX0qU@)8mQ`Qv=lytm50*Xr*@2q-}? zejfUhg@l162LRImDCuKJT|XMcq)YZaGVxV;8r~BKUHj+m<^SM)2G2R`(G~taweJg+ z1nPUkb`FzWfK&&VKvfljS0H^LgjCUxNF^caIT9dv2t!O^1gZm&B#7@;FDuN^jyGM4 z&ZsxdjWUGG;ENg)bscILd;ZEchMd4i6*P2G|27 z0w4geKp4t}RU{z6?qmUgo&W&>AX5jZ2yi(l8c~Eu_drc~+1=-#zq)k&`t=Kp_Q)LO zFvlqzE9&a3%NI9aSY1~1Qk>f{6lD*S<$>ef7D)h<8=lD@K>aVu{ba3gX%>WTfe|7C zbR^gi8DMV#34*d1h((eDOA}_&xus{(-Pif(_gm}ejm~B|u&0*#dJ#s4p-ZBXE{})+ z%s~?q$8RY{_Q=Zxb<4g>NTnEa1)0w{UIG2*?5W~g~@sl|s7koj=c zg-?Z&CzAIk0X;;odMc>zPE{YIs~+(}{5rJnT7wEtD?v7)Vb8dPHZ_lZL=#QA06@?A zLl6MEXWgw4tB3$4h7|Nl1c)KERy_y|-z$z4Q%0&}QmdYjoDn@q5W+)?o@mh-^?e5= z3wEh#BNg6Pzp46P{mu{wdN)LMjQDMI0TAe3>G#~nk-zpkPJmGm1Pg<}@u?~VHI)#! zcJbSN%=VMTO3@D9sW^J`wY7ieWE5 znni!K4Us@Z1eFj-WLtnl{luXR_x%&{ZUZWyEk!s-rc zt^yBG-`3#YHoWe`w#T8{Cm#P0AM=skcm);#5)HsHh=+zs0aQ2u`9gr=-J#SD32(iL zLBQO1AdG%;0b)=gW>t!Zd<0BMAkQLIJmo;vKA)>b?!c&)BOu)i(FjNbA_uCHAYFa~ ze?7Yh2CeK50zf_wVn9s|Aet~JQz0NoMT7%@->X)Hs%Q2~^nyQQq*L#jsG=DVfqG{_ zl>>lt#I=Bqfm(T^c>k(fqhA2{1s%3CwC`U_S`=?Q2q0)3!Hu~&bpgGa_?a5z1$e-1}C!6~A7SfwNmGr`(U2$&!MR1#n`3jlN)1!A1eK5ty?uh*?yxuU11$AW$& zMtfuqbC}~44%~#_`qsA=tz5FCCO0!saIm%X-QZ!S+xU?sJFn4IZkA0N%D( zL`d$f(fJS=fnHoB< zr+^N^;CIH-5EJN8_WnjXk`K){QlYMUfJ6268lHOWn9Kbb6zmlLKX-QL+Z_ zKamcj49*V_d5R)6@pSVf%U^}RRnCB9%xh5t1qdLt(Z#Xr^X?}PDgjPqz7OngbVhKY6ex+AkzkZ z&s-;H^*yTJNqO07S_e=Ge8&Y%&?-?Il(2Xbui=4ibp0z}@4te6c5g2I@aj0as3M%o zBj!?e_v?1_7XQg&+VDBd}uLyl_#7*mo|pd zo!2MRFCM6*w{|zud%H{NgI*>dbdl@v(I^|+;SM%dEC7ylsHQuII)lQ+FyKNiFlZnn zc%G`ciOgGTBy=*MlE@IgNAeiR3giG!9*Jv-OkD9=NFQD5;MF3#pN~D* zK@>st&=1U`>tr&KygvyjqUGjwo*a_zt`)lJ}pFLIdes4Y<+Ra{DkLHE3Av_E+U_(0C1rkNpITol%W`GP(cdl>* z(+4ovolFd!Y_ORWP8JS#LVzHFEuZ?>tMB7uJILfWxSNRzee_uX^g|5nVej$BAXo?+ zCRQmcQ%Qu1fW~`y%ClCBwCI`b!O4%GG!W(r#Skc$cd5K>vr)PF4DOxEn?f^#>3Euv?V~>U{zrG}J;$+Ij&(#)u-QNCHCl zDr%tj7SK8ciuVtXo6n0y$4D2Z3{(}$DDP`jN;rA{9SMBgUK-oOkL~8;XOV>OK%!3k z{$YGCB4jf8n0bGUp?3bCuZ@vzeZMRMMC7QyAGWQ;0q+aKR~K88T!SAM{ayL=PFEfM zy=xVH=kgS4PC1K8B4<;Ubs?pNTPP`v@9A(Rd8`eBcHeF^{X+RKI)3Vd)^~J`#TacZ0Ps$(TGrff zc}+?2KYX!KBS_$Z(ob-rp+`8yS+Uw*C?&g@(CrWa+H`<6=cnfV5cSM3wU^m`d$*4Lhz%hN$-Nc`{nD%!y z(t++;7B5wFfCa$^yK`vZ*(~~iiRXPLj}N+h)DLkW^VceQP=$ws!@Zcl))%?~p&;Ku zwYycJ;gcx<*c)V_(*F#~!B|*9tT6c>?k-@0WkT*kqaqeNOsxH#m?mJs(_6^rT0sZ+ zocHgkmiDpl^p?@vU4``i9u`H<KS#s?^+g>)v|J?@!I>O@Lu;~`t!C{diF<4=&Gf0 zR2VUva_kEzojw1QFcc)bz;x)Y$<{#uVF zM7a-El@x7XytuJ)&6+jyjJC%d|Az7 zxy@zy`7O0&Wi55(<;~S41boxlNU&MUAz7lxhfmY~u5!Kv5AROGBRazwxoG z#-c0*d2ZZ$^BVElK&b|GEc!77y*4i|0NJlXQJw-Gm%rL^1RraqwjcZr-VQ!j`Fwr9 z!JiTQ_$1Gd|D3>isPk0Y`fKE~weP1WFRL*>JG-GEC#T+soXpI+s)FLy)~2R^UDnw6 zYHDKqFtT@JZCKnRoC(}QG2sg&^;m5jyfT;u#0f-pPlkR}I zF=x`{ZE>{y2Tklaeb+GR`1l&>w;OBd zPY>15U!SO@H+F&qOR4YKQWgZ6EDloWy>>4f^b|VW%cLt_up%l+RP={@gFJpIXH*c9 zI>`b6A##M)2cAiyL(ekV?#^QJ!Zbx5zovja|3XP#>}L;se|rJF*TLt=g!k8{>gmr< z)YHq4*U|4Dt)|~UT1kI=tc>1Z@%A>0gZKB8)BBw)i1<7Pko==6T4+jI>TwTumjK2jyZgU0mH1>h-s;;c8p}xGl zd~s!E#=2$8qI-LL7f2E($p6>RKcBLG-MY`zRaM?oUs=&pTT%L4WpUvPCHXlomKWu} zSX)ufD1DJd!3$-Dd5nVR`T6IoN{gPat|)r0uCnC0S_ZbO%QRrS0*{qES5scPud2Lw zUu9|WzS6?neI@zX`-*e3_mvjp?kg`;C@sj@SIUo<=BwumbF%goWM%Cu;n(1Ol_f>b zRTLFGS5cV%TxChYbCsn9&tYHX#rgbvA@9FrA3mps|MCUFuPuCz-|L6GS9^a+K0lV9 z^ITa$&T~cbS3R$eyHt+7innFI{MicHHt%1dcprZs{J#9>%CJw~M=AEh+jva=7UF*e z`3!lkK<&RA`@(lpI4P>i0rlBsygwXgVQ$vGqMWQ>6y;|9T#%jp^Fl^JX4cPg(=vWm zl$rC3lAOFh6lG?9kQ^H`hPIumm$$0_52$^8?hi>oszLyXg3>2IvV_B!_;rL+3?rHa zK$HWk31WSLdE{};qO!F4w7%I+m$ljHniV#>Zbdj5q>$(ipvKT02GA@)UfnlwAjU+1es6GK`79RJmAa+axg5cd6oT?9iCIa;3 ze^ux|089aRqa%ijvol{S%g=eKEGPRHg>08A*oIcKO|C92e!jA(@cHt*g6FG?VC&2G zRTLMqO)uP6p`pC6fRV4EfNi;Y4EC}pH%a#kKmi{IgC8p`$d=E54J|DQ?2ozZ`Qn1S=gW%}pW$J{ zoq-Q3iWSQE_)Gb?nG;?pD*_ki3;4Mg`2FfH|F6L31r!xMS5sR0^SaXVj{3^VJI-CV z?y~Og?j&jBeC6dAe|lBh;=77+vtLS2^8RmDif^lmGrd_Pztm%HrzZSm^BD-pk&;l?8U$ zdiQSc^rl!4MX?~k7Q2x|jUu+7n9n4Bsm3ovqb#r#QDQd<-~Wp-s1c1ZvGIl!lIV$8^QgZ$TNfPQ~rQmh0*Y?;%J01hVnWl5$A7<_+EGyrBCPb z9WE2fLgm%U$@$>C^SPE5&J!ANkK!l>5GNhAdw53aA+IPuJ)>*9E7L*U$^6oNSq`l% z>U%CjLZ+|kr%2UZ6z7CUcn6h*5ZzH2iS5V_hIb?a!JToxe|N;=X20EV`V+Ll`Hxw| z-F6X$J%CMF|4Jc13II|FkV}Lz-UEY#0GL0GCcIb+40pm_A{w4iBJLd`N`hYz6C#I; z+W6t3E`Eflix9#`iTcQJkqVC#NkUC@q^ORL5LK~ZqB1^|Fhm2L$A*il=x9O?y#tIQ z(EG6wUpy!e$;b%G*Dz5Z8Y;T-hlr!gMv2oJZQ|M!BjRV5j1~X;-;Ltco>uYRdN9Ch zwikfGAnY12U(MUw(ui`mrhb;{e#!jRu6S~J+CZlLMFYl+F!bYPf7p7N?tQif!UsnF zHR6N&>cp!*uM=DEs1mEbQ7CR-92Zy53yb+}ZZRii7gMV&Vp`H6j%jp@lRA9j^0^Ul z%i=Y-eG1h>B%X`Vv2acZ#dAVmFm46S_ z!|pX@1i4p&T=@Yvyiy4Gm^A_VDHUSoYTZBTkOcr``40g=2?1*U9|oLC04QVs5%>># zNZ`W!|Bf}%jq?s@5PGpH0{KQ6TE(lYy2StfXtMahWl3?x$z#O{Z6Pta(kdDYhl=X( zS43@;+HL$OMlyP&s0kk-Y9mK7aDAYtjUGkqeF$L~wYlK~+u#>~D(WMZkz7#`vWODu z&k2i7|Th-wFF4Yz01=`u^y>3jho}8%zMO@iM@W+u2tX3GONg1$P$Y z1$Pz^T_!rbvy}NjT+;jq(fe4O=v9K~SDa`T(ai*1(-AaW(KygG;u{)Wi|jD|i9Z=`g23^pfI~-y=TI=pv0K z6MteFE%`-w*Z87>on!Nf=iq(C$50lg&tX{>@CK9-bR6`VXfvg;6W>d|64vrAf$zZM zK*#Bs#=9gRk@cd=0bUa3IPr~4NAe3iD?wa%kLseB%b~9m0{AcTtzk@zzK_LrltiK* z7e`}%9bZ`VBnf7>HK$VZ51T%zdu?^u*q0OG;PyO^a}O*&dC3Sieeiok!tZ590z`?a zMBFZRE17{?ggsbeitQq$#VL?Er*C0MM$Z|%6h#`B@!C|ls03VcZ+cuuy>3nm-y;p) zh05!Z@AEtIKBs|nwY0GrP9`6)U`M{?b%f#sqF$sW?{ON)6RzDd&UC!|twVe6;QaD3 z8Xe?2nerkI&X3BY7iIBqc|xAdJNo*{b7=;5=x|)`y7;v^iD-G_Z&W>UT&O>i_I)Jz z`}`tchrN;MgxGo5a5AOI-!v&Y%r^AhW&*D(-Ip>#OGlC zl-?(lw@)FEY^*22rB%GXvQ7MEd6oF(rG?^(nRYQRIa+iT4HXr^p<*1Bx!8A0KhUrwO<6({z?dtQwCCN zAeWWGXTWYc!UkdYnlWM*j0x9Kez@+7#fQD)#fKZ}#0ML@#9#025>NfGUEH;#RxF(C z7j0uliE*KkRQ@3%;XH!ckU@wm-R20KlFgVDil1r2qhn z|BL_t`=4w9K&}|@Tj5K@CZawUI|PD5A?Z^f-@@je@LRnmwObNX_L zm$dfR&s|HEzw{4)(W`{?VLu4t{z8DIdqvEMKj#rIEc=Va`@|UE>8Tg5-qR_5dt0Zt zb$&ve)9MgYi*l)q!$pbhD3Ndt7cut;A`~O(zm5`l))DkShl#Py;iASrT(rlBi^ZK5 zvHXm%c=)z@@uz#+#GC6{#CscS#RnV8Xk<-H_kkwTPI!`v@Y8!!?W$abl`5fCSVK39mq& zot`;IlfVpZ8N6uztssG#F|ZB(Yw z48UF^pwm`KGePSKY>&kBTcevAZ3{Z!YFMK$8tr4ctfe70H|tLq(==AmU=4~tFtVTF z$TU1d(~*Ya1^Rc@wf-B$>r~njS-gjV_cGU#Uuq0rOH=<%IzC*ZjEaxw%cA1t@A005 z^z|ZbwD6zszvOoBs6!o(K|WFMF#L48ArSNh?Do$iUeB9{`8hIsS`w2VA>-13ERO(& z0fe}rNT^Yz`U(0Ug~T%%KqX@LIZ9k(V5)-B3=steV@KTTTkRf@eosqJr8QVw*^oa} z`$mImJnCGft^bjDrq8o_Up1a|e7byadb)bi=ONu-_4SnnX7KttQfVR$?U}l-?*RRO zGIdr+eAL;2nA<}HKwbx}HtygN76=fxTqQ6#@C@&0c>wdb*m-?%oQ@HbnMWT*l&1oE z4n`j{(@37)E1=Ou)MRB}BmhfiVy~RNsCOW+~tYOc31Yf0AHVY#Jt-qDP9kbva@g)x(CHYsK$>)*@c* zZ5MB^Plng>Yy)EK}d)mZ<%j?9g zXXcBuyPZ^~Bg9zGks@XvLbQ&Uv@1sg)dx1sa>)5|o-+rd)r?;;dX|QC`-U84>-*5a z_V>jA=@8AbVGbW!JumekAN5h62wC0S&w~&Es0>)WgK0nRV>apWFAdNF4QT-Y^o1Ee zAQ?*tT0^V`(r7`NCZ=hZ{1yy`0otQ6e;IFv4(G7|py&$DF`(1vrAA8!&{G`KX=Ui? z03kq6V>PJv_229HlRh4O`UB{+_I^4(UE2ER`n(U8b~e&+X>q80@v{MGXi#+rV{K?? z9TKt)%9S4x9_&$kfE@!qoXdeC{t*ul>E2;bIfL;l$wU@FGXJ18m)*t|_}n4^l?0?e zFl1C#HU=qNMo^IZN=MQanE5%Xpcw%m^Mm*r1=6ln<#GWLUz%BF8r0tMpud-H99p{R zwA1;`e52AtXTx)(tN%$@VgsnOvg?H7LZfHqob`N=^ajmm);-QMcIQ(0#?Qt-)ZUFk ztpuR}Oxx+EqeBENkj&*h)zLFTz+lLv3+rGWX;_`S#0W^>n&OHP(+Cse&m#sBGQ(jI zJ)<}pFpqa2^MFEy0N);qC{{eaU;vuJ>+#=xelk^;*Yd;Z2BA_{= zMSkv3G2VK(=uQj~XEd0^cfT4DTfSES>BuOX!D|k6*h$cr zEdWSB@c5(`hHmBJz221g^F1wM^S5ioZ3_#;ah18EJ~Tp%wU1;W2OB*F2|lzT2>d>1 zhp4T<^4ko-%`FP)zZP0@#5mVcqCR${IHqodSawE4^judVp8Z9qcx`Q)c#VXNcY7;X z6Tlt^d*Q<&B6jyC#2(GD6IM#dDS&}O0B^s{`Bz#L<}SlDV36N`q3Qri)t&@oIT zTr|?>`Eg?QwjANNjUqva1OPi6W`Ws($w|5*`>c+TYm7~ut7o$RYe>_gf$i^$g;k?N zB;ea!)VHDD#}Tws3L#jz6T=D~^f3qk?D=yq0)QI5rkOu9za|oxO?*Uppnae(fTB5m zi&^;1U_N%%I6^1^Fp|e$L(xphlt91XgFpf+6;wT|C5vf#s?ob_I*9l5G*Nz&;Sv3z zJ=eaIX=I*B`Yh>aKR%;R4|&(2U%YAPp6T+I&VN>(2g|=cjlHLnXZ_Xd#*C~NUgQ9rYtE3qMCLCyHG+X1oEcS%H&&&@b9dH@o~tXwWwZ0doGP=Z z3?3nhJwvHIjACQ1po@e-uMa-m>0de6W+YDSBTnrj4#ABWM1uNwoET!4pit}tlV1zF z2>lL%aw-7KT=}-&39x+ykP!sZQvuBU;l)o00CH-9rvcW&V_yji0H3VMXHSS9Y%CXV zt#1&|-Q6zkxq6&f*q$TW<41~e%=MdxQ~5>_J!spHvUMG#Jc=;ek+$t_GefTF=K--dyQ#vD(>P=a1sK0@A@I?T`&F9Jy zZqEqe3z$g|un4!6o>AQ-oGwvF>5s7v5tXj5h>pZz;+Dk;@tdDEiI>+kh&MM)5bxe! zB0jjkKzszxfe->%0Lb_QkZNfd2+EP{m$fGV=FmUwoghA5S0~JyETp`zIF6_Wao6k+cO5%i809&e8D`AA6f)4%t4c#BwHj#cE-KgEui!B<4N;|Nh?9xC#QPQ);XL0@HJ4`>XP z`>`b2EKoDCv@w*MTsEB3eC9Ls=h`#LP!GIc|2<&F0+lZ`7|zio(B;axU^KHPHt)$!KRXZl^ap!q zf54QynsS13Hvn25S&v9VYF065kE1*&Blv^W!v7@UcCnBav=SZ1t$%v}0Du5VL_t)i zdxxp{57i-5LdYP5fEYT64MrrnaxO{xS%YD)f~x!3l|9%!jI!1D>K#3^Prs+#%VxIf zdG@s)gFVB!J}xDo;9NBb{da>kp1sGN>9~I@)6Yh>;J^fnp|4|gAB2Jk7mxm70|46v z$^3bfpM41cno3YF0I*+isF6W1*wPn!1z3fT2nCqE-$RVm2Zm}A9yc)?m%NV^1Z=

w;q7e~wo+c_;&-MoWHwqwZem5~h-*Dk{4-;+@Sp2Y*bzu3F zTg1#3QDhlPBgVr;Q}{4(&8ZRbz<+jk)fD3_Jt5XMoz;_&|X7u{Xhoy|v<xR^F>m{_(TAs)E3Sv>#CZt=#tR`K?_YVkhyOJK`=>>-d4*cux9 zJn)7^&{CwKZSBlcBM=h$3jk`Pp=>8gvfN|XzXES3%s}0u{tCqB>x<}Lj1li|C=+i{ zeqOk@Q9N*4N?bEPDjLIwiwRhr0dV@i4kD{h{q9puDzD(EP19oU= zEh3Kk#&@Vwv)lkKj;R3p&jG8P4n0iGQLqYGCjfB9GzmG3xiJuDNF1y-(<*YGP@PGF z)f$K&Kbr3$(>4a~^;h#qDAkNo{V1q+q#8$lpH`b>rK{4)#FG`j7PnrlqtyKzFVfKG zo70i$X3`t1%rgG|_rR2;1V2FS|961rsaU0>@*vY;TLlOSF!s}!KN|q@$RF0cdgi}( z0YC`>tmcIMfQ8bfI55u#VgUgFJ_7vIE~F4(5k3e4ZZLlnI}qaeL@iFJQWbao z8HJ2GFhlgx=X&C~pL70ZkaPBJK#a}rA0Zr$A;RM%Mu(+Jb`Q^y!*~&^0?M36iTb>+ zh%1f{i`6$KdFR8|@2@8TU;+sMMI->k#is;b7tbpLuncaz*t2Sa=p*dunIN#C4E)Vw zT0k*;>_s5=iPteUVvbn1uJ9SplWX8nGoEMg8O8bGnhNpiFH_>FAGL^8*EWgkPA?ND z)Vsxa&*7rPeU!*2#*Jl~0b=@oV&(xK31-ew!cB~jw|Ry@XtuK*2aGx6(8$@~Dw^O1 zbw4yPL%t`e*oesleeR%ncL8STbjUmIG};-vy0< zpw)a-0+&2z;U7nh&Suk1b-zEI)zj+!$X1~b_HXs-_)MLsxOMUC;>>)XP0#zMJ6N9j zf2)Ufe?S=r#;bp()c;BVfPe-suj(CD*DP$|2*He)y%GSRJ%)V-i~uo+J4~v(^gk+t zjE{IErdglzH8P@87aRE3g^ro`L-u?7!(P5+!9g<`Qm%uQ^>CW`4-y9xi1f2e!`8>G zY$5h`o}O#f#WmnueWRW8=!Qo9P>cJVP@kH4y)G|}vN%QDY!fBc(Ify26G>to7tV@^ zpI_Y|p8EMz@yf=D;*Cw%)1X|u4_g2d1hB3h40%T{oZnQ7o%hy>UH8?CU90PfLDdi{ ziJ46x23XGccx{>ZXe~A(D(6jIKBi|M^;XbmeuDULT?H{w7}r(Nv68Pp-cY4oSJ68J zithtr{(t_T3h~G-6T}@Cj285Iln1MJZO$9>xiA)z z^&v-rlJS6GU_^$|0}1~+TMVA|BSwR{^J4oDQ4>5uOe`HDzBeBo z@z(k_@pf-gytj_Zws9=`48WZHXB)8xL5cW)nEJ<#cHB>8B4O#1)l_HeYQ$$$ zo=?}5^F9Vx!uJ6QPN|Zp@2svC+gDc+v|r06_su3qRUW%G=|< zxgjN9S>GXk|MPC~i*KdGMMsDEAC_8&hyv3nQDBpXt7v=rcJ^f=yL~FgIM}($mt>rS zoM*+AF$UYWk=b6cSDK*uV*mblAjr;RzjF=x_p-k?us`U80BC2@{|UlGrX8{12q^8kk-HUv-|f zhU3Lw@1G`K-PkH#-7#7C#*+h|eh9wMsqju4&2!^K(ME^*7^BJt4et>Tq+M~m0jPZe)czTbqsL~n`( zf_Jge(#A&d-u*3fPFUX}-sx=-@2~Hqdg~JJuc7j;X&3LTr8?R~LIl0@7QOTKx^}9s zE_!F8cz^Xo@j*|w_^_vw>a|0B(%VMDL^BBsDe*3)@m6o0cwOqizu)}rII#Y>H|#sV2lmXs z-XQ-=dWoj)KcPPNCIGM<1_XU*hHP@>23BdX03Zp1P5|g90V?K?Wiy5VVBpXORBkY& z30QJO!sih&IL5G(0AQ8^K*C0_nni(yM!dG8#7S*MAAIN1>DwN?bHRfzZdlOs(x&5k zUfwvR=Pw&OdS2Po+Ve#Hg+r9l_B{^I(49&OLx>=abeDwE64DJrBi#%oAd)H#LrQmd z3rcr)4Lx)Y@Xr0-&wYRY!SkGb&OYnxz1ChBG;4Z-3EcIt%vC*c_~r1vkMnUgo?+*T zXdbM5wOHJ_JRRCkO=Zm7_HnIU=2i**3pyt_yys&vRR(Po7%6z*^?j=GWNk+_{KpuE zPkijRCd46nylz{wt#2NE?{eqU-RvSFwNRiG5m9312p=6Got}oVy}hKshIdu4jgFBi zzlC84{BKcIrm{K-0rw=mdGv+iM24iyuzk(dmPTs$pOii0L=37b1weOL9DKH3rsDDV3qwMl-)%U?c?$x2FWbiYh? zmw>o>AwoZSKh(y(&|tTn-Gyls9C?~`b>)P#tF%R+j6k}_vko*s5y8gm zULbuJ@*uuySy$~+$~o$hT2W~P`~xOHu;^*_@)+a zByPPk$RyiPk-`7|mBXbc!OJBwd?TMN{~_UvB{s5GMi6<&gsp_8i=vLm02Uswx6YAs z70xbUFGu|%28vXFmn~f$2(K)c$(pjN`wyStZ{OdttbP@dq6*(-U|%$jUNNL8iFZC6 z@Zf(o^fouZ@p*47JhreSgw^$Ycjh(9W$ZeEy=GU*wMudweexZB&*VO%N7kbox>nch zgo^Q$StSXSqO|W{;nW~Hy@*O+2TFzJJtI0_0PygGf@MK_6g&~%*C#Bh(?1c_mHZi{!s+DIcD6R2BFy zm*mDj)JO6rQ}8WQgUbr0Wc-urT_8$Z!NY;vEI_(F_iuDFO5@myS@c!-k(&4DqpviG zuR2zYc%8Pee=c&in@{B8Y`^pwRxGAGaUJKq`kH_3c1wkyG|iQnYdqi|>4 zSQ}c0i;6+uaijuRpO8cYoQ&xh)1xp;5ruo81YOfJ1n+cW2vI8Lv!kszP^aYt z1Lz!T1Pvwb2sr-HwK=6GQrh6UjM|5I5PMDM!xI_&8?k234esjd6skcFa`*yi82X)i z3hY7wjG^O^rK)0$Gd_qTm*egHj%$B5ww;S0^`EMiWr2@q$BaJvhV!zgu_R_DqbDxt z9UzcsYrD(-B(6M|H;qeloaO#ho9(l_TAKJn$f#CtWt7au4XQxVcK78*D`wwqY znBMO#ax7FW)g4x9D^)H`i+#{lcGl(+`RiJ=oUV>jpG8ivX|6Q8Y-pzsTLGo3cYv2h z7c(mk&MI7S))6XrxK~-8-CIsX|=JdLZ= zd51qKfJY(JSLIxgb!OE~OT~{V)uu-p2Al`{C(eKIfyfo0rURJPz92!#RlVhCtk$4& z{(8hf-zEG@KC1UU6#U+V&*t9WAs9ZZXT)#em&`?#He%CpRAu?^2cudBkA=LO)fLy^ zIqoyn&Ar#TucLtFPy6wmbB=#U3lTn^KKv{u2j`g%@|}W;KtNEkFcwhA+)L;>nJ^6y zjw9U_t^z(vF<90!*1b$lI@lhA(fA#?|Dta-H1R~*v)+vtmzP@%$mcb_L7a>+s=9$Z z`@W0pL}3ZH3s=P=e{7ojHVPUI$o7}`Ypc?X9sdpx#tli~i`4k5Dy2_pjTUqSL+(^_ zK(A&0H{!ZbCYxv+3kkb5=&Oxd!k5MmM8scW=CxnAwd?4Rw6*>I%_7CPP-%&bA{!kC zcQraL**sM#s}p;S{PPP>5ie6`c+=9zq*&=CccX$;*T?XtIY#q&#^vD5^>v`rItDW( zJ$?EF96zn)RbR+@y>1vN{QV2H;ltd^S1*`t!oJDB)biS$=y9f(?%G=AX~`5}&>nq`SmC^exTY+FSBpJdN7!Czg{!~aG>iybTBqXv!V>b^w5ccG%?4n|X|Bte zb3I4kQ+8_J#5-mmP|u_1*}JT#$wsD}#>bHU&z}+){at=If=jQ41(r6%X@A>4*U`|F z+w{eL8MdG@+#WZB5ZI4Vxif*q=#~k|`~=$2(1ZowyZ;gq$wn$~TCyRTmb{M+z^+lw zd|6eHbIz-A&y3zxI50icD=IXByEXdHUK$1tPh2h6rsokA>34~MePLLJ$IS2KH^qi| zMUj{)SY48$o(I!W;n>=95gE|Wk7S3c4!U`K^vD3#jHleMp&S7s_hm>%i@8LbyRvaZm!9(t6dO}eO`b8lM>TACEAQyua`TDz@u8I)F_1{0d zZC0W`9M>ire+h%JoBP#XT#Sop^& zQ%WBI;GLrA{BfE{7vw6_OPn)GAT5OraKIg}RIN!3Yybp#W$T@O$|QE6jap;+%0l&_ zmIHtb=tFGy|CL*7&X1Amfd>?pb2e9$H+cG3cpO*5GTdUnhGm4lW2y>zT3`a3Y(f_$ zY&}1)bZ~CqJ_>JK9B+1yW-qED6A&?8&-x8!0ls_mxG9~Yd$+}(ilT~+-rT@3@cY~A zFgmn+bifg7A~DKkPgl?|1@{-MV1+vM;IpDNCPd#~G3!;<#!5P>m4uQK-@CfI3$Biv zQBk%A@jJ`WZY?9p$L%+;#AKuCadqvp^xQA2%+oN>3xp_-ekW71JY4r0Ow6;Ik9z=N zgWmw&jD_GQ-PI9VQi*jT#~3_`8QbQov%aX{R&8*%qCPV78VxOLe?r>oQN$J0ip}Wn~9dvpnQ?Ug7l^M zWy4+Y6VdQUCMl=0JO2DdADi(z5FRsYswy?=&z4rPIBnJUPvQMKE0aY&Y$B5)eXmPE zzcsk6Kq8PFO$a|cpD{ts8A!@wGJE``)wFFzbxQ|%FzobpF%7BySMe%pcB>RWJn>yz@NK&SP zcExbLgpr=plY(KV7KY;it7iWbJh%Lx{|BWzWpQFdv_=(ghc_DyX<&~EIkF?%Utj5`Qu8x$Ym1TdQ-Z1QRC5w$X9*&Jh^FBg(yin19 zrw@*^Um@Z5RYMaU=C`5PD8B!x-9#E3vtztp@piJ10;~tDRVPHBGX*ggX0la{Nl`5Q zF=rM@UQQ%Xz(NJiqX|`sbIgc7eP3Eh#tM@t;;L-(a&>z!|8-?*i*ibM#&xEqCJ{K= zT#Ri+7#B0JmMt)W=~ZORizkJ7?Yyc@81QS6@E-R@A!2r|ULe!9@P`f$jcHoSeio~$ z+`xFa)q@8%=y#<}Zj?#A^Nbe}`Rc@t?1HoVqlx|6xlh5El78vE*Yi^_LQy1nKRpuD zw%B#ukl_Auza%j08z%;~~RT@}o(>7Q+_|UNz1hsZUcpk5v zil)LIrzZEpqBIqFi7@XOCN=g;Z?v8sU~-dg|4b~G;?pjMAsRl47g!u?!<9m+cWT-l zSNpEUE+8bqkt1&ZxhsI?EN{g;wdyB^umH*5--BzgFGv3_d?hF~)lVNz8fM`j&(#I+ z*z2B~_LQ{;Jh}5ghP^e_`Il!cUSF4ESBNX^y_VrCFRy$&6TVc5?p__mKD4!dd3_Y+ zyCP~~3!5(VH&tC`~c!DBg`5`tp^_m5P*s zkvT=wJS-B1J#j9^HMqq(?P_m(7-(#}RfqwKHYwvzD_Dhlr;6tPtHNGz2P~+4%h}d@ zBc}R9w*L|h^+jja*jda+^2obo(S31wyc-q}+O}TS=t;_0t>}@&*vhI^gw)cM}d zyRAs)+$PxBshc6}VaKh4G3xta%wWiK_s;csD=YG{h&MUz@ciXs4`WrC&b$r~krXO{ z^sZfK>?#=*UX=dscA0!ezkS|6{Mb6XwslztDF_(5(|S%2NgHm|0kImX{;bd-za&T| zwhH?AIgw{KVdv-7{-PYs*F!N$ig_A28dt=v;ETen(ST7SiNZU#&Y^qT@vYnJma?PZ zZ{_7mkkb`-EYmLExhaPUDx+b&-OQdJydCML*syzo%_LVzrv5Ce@EHYw_mbxTmMQEb z-sy_4*m?`#_W5%()i2>5YeY?t)kQ0XP4W@z?>wrdJR&twqQ!6iRU}1VbV6_BV)ewh zO;oy6v}E6KR#4)LaSWR!DNM7^!0<3ztVUAK!h zJ3CM`Zx$T(tJ*p?3+PFl1lr-kHCH9Dg&eZnsJA+b_tK~X%nN5bq$9LCKQHpQx^-8ygG2a_0>ZD7n%Exa4p!(u@Pg z)7;Ys5^PdCOz0rl&e_=0S$DJ(!g^%oCM8cgieuV(rx_OmkKt2vRJND_Ft=Z_6XX@R z+j6t%`4h&u-)K|gSf+T4vgXc9vrqQ7WLDnl_t#-OrrU}QZpzRw5DsfjB7)9ieYGy5 z;S)R)T#mbp%D9%oV#@Hm>^!G&>VIBR5AhATakqr5l|{_ULkPFj*bay6kx1Fyg%JeP z(d3yD=-}_jPW;Zrxg@|uYyU-&>)-1_dp}Crgz*FUM{tl2OQVSsAq#IKsh;&(Mf_C# zPqg4nAJw_*s<{WJKp_O?ssCx9;$PX>GChlq-LxU*43GX03+8%3leJHu-Aw!f&bvo< z!xco*J`pxf&q>U$s^2L3SseVE)f%ZxJG2AYD9uPrLqAqHS5|fk#$d>3KDKA7;NN)i z3$BP37w^+%mli+K`aYjDv{3n0p5!E1jxb8u8;!`8d(@|ke)1q34|oM~RAGX|_&FAD z%YSrp1IyYm?wDzV8FO+v3fqfqJwCf#q*d&O^Ix7&-CH|)X+ADi^iNX(ZWa#@1RCcG zX%9`OA6xP|uAl2?3VlUC6{{HG7e_1|+Bd2r)asb*1wB8dxx*)}wN~yM?(b(VRR|~d z>FUmeb2|60?2af7j)zUf=WuXkb3I#tQ?ctxZ2`ErHyxOn=f zV{uCa3m2h=f1IYV;KairOF6$*vb_k_uYUcKL*tUH)oXd*S>4Xq!S;&MY8N9fw_cH` z@2iC^6mup$My22|-=Fhy+TGKLdyz+>fdWfT!xN}A>I!q)FT)f@;;`xyyY}WF; zy20|iJ2rfpOEgXMX5)EWv~(|RQn_L@JJ5sqAOWgj{5faT;KxjQx?L&AxvbbXzq-ZF zP3c{80h8VX-2t(cEMlZy`%vHBo;HV%HV-b4gLkRizY@QBpXa;j3e-}w-&-p?u_=M? z=QFl9R_9eeVfR!PuRKPbwEWT#M9$;vok%$qr4%5Z(F^~}WnRn^4|*51pUuUS>2+Hr zu;G3>41k4hcW9kOsfk6&D1?PpH9uejVua{k`l;lFF?+o>xY!a=?OMDma;%FaCArpU zW1}0jxSn7~tD@_Y0i<*yOWZ(iQWg%Xm(rmWT`Xg;rPQ*N)57PcN`uPRIpEozZMBsg zXG$8hqHLsVFpmk3TT6?9jt(z_I&geLJER}c>yD)l7zwlCM6@{#ZOy`ZD^rFBtrg7; zyWItgiwf!XcCCKe~TC4**Tn&19z< zjl?Ls6=hXs&TFkLjlkZAj%TGE=!6;*;UhR~aApSX3(^K7(pV}A(xL{^>{&q$#l?%$ zx<<{EHxrOzkmSdJ`@no@4;N=XA25U(Ms%R1^Q~ z=i)&`v9cN+em>Kk?3J~=K@ag^!c31zqA2;b>q_}-+RIL zlKUo=3@vRqZJ1)1R|{r&L0-|`$xDk|b61aG^DZN1w~XU+x%-PG0+D{gujyT#m1e#H&_X<#t) zjksY_Esd|b*p><#sJWDO!0aKwr|jtLkRh#X@5+`FQ(>T4%-JTY7blSI2oRy7PTzkN zh_d)-V6>tYMAi4gT;eD5Cw;B)50SOC6;5wXCj3?|M=WK?V}=)lPLh&5&7Wu%Qp!Z( z6{YqHwEM05D`6EaEtHP<^$Lv85BT_`34wkV#|~o7&Sm@1Fg|SW)s@M4iE4g1TYeYc z^PSLrX_m(bFeI!3Fw>W%@%clrw&fw)eLMg6h;#fwo%nsxj{7 zY?CmE$&^Z1O>O8TK!|VzpCsmr6MCTVFRt@;PnbdOpk zH8ElTqI`I*x7S>TIG{*BanotYba&cC=UG2>go)2iV!}5gqtBlLb<`*XcdvBE8>isY zvrALNY^3=mQv7R zWV&$?G_^>6*6Nu=CU0!7sC}h+VAo>3kO+%#YCFr=Sh%{dLPHoJEExQIKbJL))|+-` zAc~KVUnzfrAXQMjJU*ZEjOrWCdVNA(hDjX#5@rLPK%0@NTS9`u& zDJ;-g`gc<-?q*PUD?(M8{&r+n;6O4v@0~bDIUmgr*n5zu^ql^u;{9op$P;z{W%9!U zfjO7O6~MhF>14Lw$YonQ{Q{EdmY1ou4s-|XIlR&DzpSoqO}HmGUsimqFYmDXWKa`w z?>v*=-;(xruTv5CZqLD7f9j)HUir@wAUEp+US!eqc3gDU4Lp5aPMPH~;ijLs)2pWytO7QI8n%Pl#z4$ka zGM-`&@*MTl`5NCLvWW7ugWtY7N-86Gb*R5yD%>;krn3Z0zukNF^!BM8D#6OKSR8cj z$+T}G@V8}RkUuYBGTyz;uI8SL1#`{{$Gy$W+}_BD7uynlN>t+cnu5`sbE-{7zN!(H%aVIu%=7TJfaqW4mu}mIW5{ zpYf}zBe?KQ5k%A66*l5;ECC}H4RZx<;DYI?6Nj*;t6>vcv}`7I6shGyYYsq4M-4sz zDcaiRW0CL`lvmW{$n7$J1C)XeIFhY0Pk2#h)@Ootbp2cZgu$p*A~?M;q9HA}=ToZ(|!aoEs!KYX;i!2CH&*^MPX zj_%&UEa>Q}dU7J+;@~oIL0@^pTe;G)Wc3akgcoPJokvOfA(S)b?&7c5*093phEhND z3`m#Yh}ks-a3`Se1`k?c#33z7aEsmo+m}qS&=na!-fVI*$6W8*)RS&8=X6_>^Q@|9 zh)`?zwJ524oz_94;daVPkmN%*{`K|TZa~#Pg@OB9{2YVWwMJ`z(-ipYw>H?);wNUO z#Y^5o>6B{)g|MtgJetn+!$IGe$eahL_le0(3KLmsGjk z%ulNN`lB$0FGQ;lW8Hy(ZMU5>LOerc$&nsqEm+uowkN2@5)6-UaB*CbjfTdIpJ!Z) zQy$vd3YY6tRmswm02ru#;hHxH$@{7nT~`;(_bUiIxtXEz=uQ~O_2IMG^jVpc_t3Wx zv>f%=H)2&z&5~dGcxh>?Hi6H#|ABLy)D;%4tpDE^%X9b8Q}QKVRDH!I*H;s|-`kA6 zzc=|s{?hScclTPF19ap49#7sMkOVia1>y3zP*q1@nGLV~1Q69)Fw0_ss%MywfOKd< zwgYWW#^Lz|IPa87^D%&9o5pdG4`RCSrWM8-Nl77W2QKY2p29Ax14^sQL58{EOs;Kc zF>@pql!@=-0RtZb&9^1+1I}wycMxd zFJq{APwuozTy`e31dAA_6LavnLx}&g{I4c~;R0Ul?G~3`!5J$H#zqew=GTOM?WQ~+Tx_Y3!~03HMdQW#i?E%W_zm>4ht_K%bvvVEaWcVDpvYU!-0 zIXOqxzw0@EiyVUUE&msj91>F-&jA{*XbG#)3?8eyubnJ-7+G)LJYtvL<@~^ujX)*p z!r67Q00IEDm_Or4^U(9*5c7OJ!1|8IOKHcUiJ*_I8GIIo6N-&y?_vkn-s=ZDBEdlODy0j6)b`z}aH zoQj@##yBY@OYiqZq(fws4Srxc2c#%ro+GoM@x!v~CH#*F#8E`bH?CJ+{PZ2nG6t{$ zA9B;T4Rc-*xY?_?4H5q7;JTH=6v36kJK%Y++?_O)t<_i!Y1A^SAz5zzJBs&=X+c~w+nTf)nghMNjtmRZ8;dRV!8tj@;|x; zbdsRVud6nesY&xp4~yT<%T=Wp|E$QZ@x~ zdxBR2n^x=pO*s8!;s>~rCgJ4`Ec#zR5;_KvUTmLJHUJ20>>%8bh6=C2k+PJ9r5$;C zigJrU+7mAqJim5PyTO5HA9I6?l__Sg->O-HT=26*wwnVF!ZA+aXM{P4aV$rqydauU z#pg%QrO`SN%C)?W_4hz5rg7!2L~aUUGyuC=SUHNC8Mh)J+sh)TA%O^P)kP5ct^+k6 zAdP~0M8HmFe5byBbyUHk*fy)LdG(j_LN&!>DDiW+&Z_s8@rBd>cA_LlM&P|6oM)8zFiOOyIPiR9669q6kebJa!AJ`S% z458Q)mV++Me0~w*zigQ0Yi{>>?j`eB=F;u$Rve*ZJTc!Y(u6P3&EIyv&!)@E5jt?y z35+<_9JB|a5s}GcyaU+H1O7)RPfC}F#^x+a8%@=)s_m^6h5icZ35 zi&s+Eg#`OBu7tXVmiN%vRAGkeNhx1EY4n?Q(&>|7a=loa)A)PhI0Y0~N*dGcSM?g{w18ikewNjvuSH3FlOa&wL+9 za@xl1nSVW>mGP=|?nd*DvV`J}qZ)m#bo(jl@1UXKXvThi96xtwK5n)`T$TQ?zC*a* z+bCJ^8jO}!vk6*Bl+`s+MJ-R5cJRjpNP`*18 z`cYmY1rX1H_eGqJp!L!d>(p)fJE;{fZq`hj_`A`l3%P!&R za%Vq44?R|cj}OHbKd27VG#&6;dK~ZB+p(i}LhudQb5nbc*-*wpZ89`qRxgvQ{gOoN z;Bn<}FK1@&_;{rF)n}nvKB{IbWibTg&gV&u!T2+%;r{EFygDkDbP}B=hllb1wAiH< z?gGk>44tO&|0tkHWi9=xEv=*Tocr~G1`KWVHak2PT-lzjwEjP=K(V2O`%zB9=X`tO z=i;Ia^N6_9Zbs@9WZLj^tB0~Qf>AIge&You^?lc-$>;16jdq)MIf{6L&I-Z z_@`P#oRpK|APuj{p74~YR(4;#-L^r&P9_~s;$_{f6u_gxTR;JXWo4tshUHsJxA%H{ zU{MW|{HPNHvA)m$=Ea#J={)O$OOBDOp;!C=opW-kE+RqaRk5SJ{i%UQ{u!>1I;u^j zW%;LSaueeNW|j7hG6c<%@{i2fk}Fd)BMx*mQBfJHd{ptA6{6=KhRKIOKJg_vz+$@&z@~v!>k-$0KV> z+N$0X#5n#35rimMTmW9Xx2O5X)EHJzlSJy$s`QGeGCNq`_~{5%F0lrjUk0|yy?=zR zpiit1$bH+(Dt?00+}2I)ns|1jqxb&``hPGE85;Z{at^AN?alAF%pMIULLK?HIfyT- z={~f~rF}aYovCvVN?T&Z9lN#w$M-|Z_`}3`{vl}>ItQ*EH0Zp2{w)oBL@xUQ2#aZ& zv!-k04M}k)+3@8FG1PH2;yg>j`075c=<$Y(sBpf)anJSw=AnFi(ANA~^64RashM%? zc(0eN--p}SGI#(g;5|%x3`PTtq-bE45h>zIjiX6OKF1&p-uw|#^&#;^B=CdIxu_YMZ3_` z(MBSj)$uq1VMVLw?7Qv(QhORQKT8wl4{_QR1%W-PrK2AgRW5LpXRf!~RFMcKOPjY$yf2|&$D!-~vHfgu~aF)bjfJfi;-_&&)hgsC|naHjE zCjT^yp!4R7#P%Lv3brU&?j}i#p7?X@c9^lZbYZ=l^wi|R5fMp zm-3T?gV_eJS(cY*9lb=Eb=R(J+GA)42_U}&lot0CIr)fE88Jl5m;P>%go74}(iIz# z@+1||TmSBN=zg+ToP~l5!~OhrMZkp~qDX?ivxNU1m2NCll#~OcAybOq zL7R_7T$cF5`QrKcK%VrPfltbVXZP($f4?oItmIojkr{ya*Kw8=YL2-rh zkwS3{V(~g=C%`lk0Btr>e}IhtD0@7{<}Jvq^**EgwlkCr^QUxsdcY}4UR_=P4eHvy_k*NR;ib{-2&5n#0}--YF7w*d~_Dmpawo-PG z=&pnL6ZOZ<2``)NX6k4Y#{%{YGPi-4z!CNT=`FGXWdWCafx`%Itm(*k{L9-x~lA&kB=yX`r2874Gc7; z`PvvrF2!FWS$h+I+X(dm6vuMhOj1|t{ID9w_rqH+Gz9rxX(`Op$D?GOJStm zC!r*eL;-#iOZiGf4IEYl9=R<%nV9jxsU@5D-*~}u<@!B){tpHOU~==_jt&&?nsn~v z>Lpr4!3ljbKtx+>`2A~HcSwCs7gmyVp6>8*=s%d>vTZ?S+fFq`&?8Vt_c%^Na`%x3 zriSOF7HGV_VtLnOGL|89md`|P^sCYQ5035wNUI*{&a=D7tOh+QPUp^PE^hGDD=FEG zK`5>gL=W>ypg6c*#=6lS_b$X)B2u2$vHgk+g`tRT#$=`;rcFJFws*_+Jc(z{KR%q0(#Z@Y;&; z*!un*j^!r?!4f*o!Z@1k2#$5Uu1PW)=*zwz*cBR->^MKbG?U_R?)B+Hk?tDAijVJ_ z^GrY0V{ct9SSBoVZ!iux)>it|xawPaWs-Pzh`MtY`BHF|qW!3+GLy%Cu}|B_c+N=~ zQxRz$!f1Yr-I>gBPycFXO1M>U)cR6n@0d~7ug8;Q{B@VqyIN4NzVBZYj6XE)x(_|H zFlHa80Z@Nm-rDnZ{oEVpj#L_q#~~ZF|CPzMrSf{|V`gSX5-kP-1rx~q-)?&bV1Pw! zcP9xS$N`rjQj5R2qSyDJfm5#@Ba`r-j>LYfke)R?AyMs(>Y*Lfdq(@S59BlyWNMKm zD-F0ER1sXU)OY>IWC2so3N%)^yKO9bCCdFWh$$qcGD1Pt^C)jY(Q-~tpavb#PSkZ( z>R6YrW03z9xSwGgHXCDy-uc&Bn)XGSju3~ACO zoJuS65!k&s37Qe{ys((*6tGLSzrjTA8S>qi{qF=vkaF49naDMzVZ{YPMVNp!#`KeM zt!?tauZz{_lM~WPy_(l;{&(lHi@r2ht?v6Tp_Q38Gk=(AMIVSOdus+lnSP9;+=?CX zj9Uy^bu**DgF~mcB+vor+9$L&iB6#l_H+&aQ+Mnf71DR!*bLZUvp6>eCC8Ck@NoJK z4Z;oaAS+#J{@+LHZHO$===QOVcT5@TiZ}zm9vYAke?xo6vh8`aG2-cd@uWLI$XM^N z+sOr#!U2BL1eALHmg{O0r1+r^8Vk4Y>x#UCV~f&MZeya}^v*rS2(H=)PYX5z-HbXc zKaBn+hbD_yom8)tv2ggbb7wSW#-Ma(bf+Afj;B=yNgsSML6Pz$L~p|c0z5`F-%ie= zJaZq1c8zMH`t`qO05J^>K_G+G1Drw+byFoEpX~%Lci8*?lzIPCG$ooXH%t|ROzeY4 zB&}xy&a&Ya*TxFbA@Un|+$7P<7U~Q3vGz69UO>RbL<&mKqNH1vLP-k7Y18`*`EJud zA{4`B;jH972K%^l@vZGz*a)u`>`EPf(Y;GUki$s7YVX(2Iesnerx{0{E3+j_EEKWx zxui4vvfcn(z-eBPRiZBhhbM~gd6?h#H8oW(G_e6aM5oIPu7nl}8p#xYApcIzF64-` zLzy@dqyEn)hY&yEqf$&(Lhh6fe^Lwf%c$NwNJKbBj9D+>?-D*=eG7^!zu|EvEXV@q zB;?z=OU8K+LkY&G$0@oGD9Na=J^<;CdM2f7vF26UG>CWu9qoX_*fQZhxA8OuW(pmy ztG0#pt2OS$-~@O53+KY5@SVrppQ<%ke*KiSs-i9@W3o;#RfnuHuf3lmx0s}W+y*=b z9g>>iHybo^!xCV=XI!$`b$;~+vf-@HuhcUK+Gt6z=-ivb1{@ZS-=#}l=$2PLukDWb za5=6boEhE!(-%Pg69%?HqZ5tmlOCAg|Eg|kbi_@>>;7B9Eq7d5Ios!cpOoH+P%7_Y z)C;h)2PO-k>qizkKyVkzlWBSYBT1$~1XcSOwO+JUkoQQy+SfYHYv%0@8lrE#pg+UE z)NcQ%j6oLvc*ja9G%u4kZEXDJzrF;{%lkN|{X!1=lcG>!QF%j#b}KBZ6=H&ZSHAdx zdn=;rLr==jFqG0$-LinoXGsJ1Nkr|a=-u|~MR`wX%>VTX-TrFUsu>$_~fq{qDOQ z@RI2dXe>qIEGfORvnAl_VCH#t7zEt$L!2e{LYn-2w#zhCkqe_VNaG~#n^LC=E5GgR1RNClZj>jQ3GIi-Ngj;?hbp`J|_==qE?T%`sOiV5lg_q9#&f>LT*nVo-f*WhDvo-Tp|YMKh9&x z-wI;s#+7Ygp+48BKkwn9?`D!CN!puDZ#8k48|yhz=2rvl?KL0Se&2l?^VudWfc`nU z!Pv3HfccIE+TEo-(Y$4mvIznJ4n3oVs;5WrQR~J+RbikWPPkEN;Q3FM<*BDapMpHd zMIy4k|H`9#0Zh(rTz6}4WzmnQ<|eu49iFb}P-e zfpi8~fUSW7rH@$Zv=mBP6URnZ#hvbg0-RaGwv%t?xb%>spyNhaHr{NbV{}^}0qg+! zWayXlm?`6#MS-`lwzoA`nA7Q%?LwF~YI=t6i5xmX@M6L0(-~otf$iQ{U|%aL2@Wo6$w@A0v1m0YP59 z@Bp}9$K3^Ng}XZM7|FA4=UuPDl63wZ{rl&5gSwG{+X4pC%rfObZ0x;)p9aJ2D5T}%$=P;gvn zam89p-PJS&piabkn-~pU7u&DhO0+`oFpfp@Lxr?_5A=Tn`=k93oJUkOTMHofGkQn~ z9;;(O%QABUMj}KP*{1GQ;%Y~OC$XwZ&D2MkNd^+ zM?B1K>%6?HhM=K)ny=YIz6RsRa7lAM1A1O?xOXgD@N*HS zs0;;=4UIT`-?y&($k>n8VYO3T*UF29 z;W^@|^*lDO%Xe|9(1qb49L8=dBpYxJ$p(D-EX{uTg6EO&k>CL;7QLJpn$k%;7}5Ep zPxE^t+x>kWT4)vO>i+u1Sbbqx_TKURdDOt}h}iuw8)t{m6LRKuUhNVbqEAFs+k!ZE z`?x!r>c;R`8WCl&LDQt;C)S10&G8@+mdw&4}fnFniMJfj6FYhEs+n0Y)tAcMWlya<7mCA|^x6k5kcnZcbe1rfCq;-=?7W91Y3e1l9u@3x=DwvB4X)6pmGZi!{c~8q)VWi; zkVKNi6w+%VO{mx%-cXMVRu%~Cb-(?8&k#UD&c4#=mn`NVYb%79w>WWd$sTT+Nvb^DGW6Z)N+ zFnbbgSzsw^vP$=9yFuSLH#RwZ%=+%2{KB9bp1uG{ls(D9fW_~?+cF`Qn8!03Nj?m9td!IW!G9cE{8+F&0Nj< zsV3h^;ck>o5=0T-Mo0Gj0@HWo7yy?N3$$HQEYxc@668d zP6dFvdWckm6hMlXE@mwIEgi6H;~;P1xez}wF;4CHs4ehn#cQCU%vgL=Qsua_5kMbw zVE(rm2Bns??|%Dv=2uKWi_ni7v%j_$5z2!>BozUAs225AIVOwP<7+H{Q(Bb1BMa4A z&oA$$1~8O~km|VLx4}f%QN+oIwLv5I;L1M;_WELQv7>}+4_BjT9S?c%;u-HWdDh5< zNEQbdM_?Mo1AOs7Q%yUX!-tjlTvE>J&Pda7M)T!wCJ2Rz;pz14CSq+yEBZn9E+rR? z(~|@9C!ntPvU|`Wt%tC6pSOvFw=YyL_8d76K(w{C>2pqj!C^M?E)3^}vW_!T^)Iaq zhCW6$#&RgCFaJ^d97BDftf#TTJF}&fRZ*F7+UoN4OfvdIACw8BwVsZ|chrKvU8*i( zqnb6vgf4toL85V2{rMMMnT6BevnOQ}%%-FS{q6Z68ufhB=blwgWztg5pXlGx+Pv>& zfx8Kb^j;Zz%^VGBF;_n4tCM{%PfV01hO_yLFf2Ye?5*8J zJ;U`JD`nBgna!B~F+V(ApxUusYks-1L=s*h_NnjANPqUnI+{!` z>if*}$IzAupH#C8p-R2?Jd6?at!#5WZ2Ee!*bqm>v;A$*@cxe$`#ENsB}C~@uEKuV zv(VZ5Xhm=XGl{7>&xa)|;FS_C>QAyLQkSfoU&=v1^~AR8<_Z@%G_Cb z>~^p|t+CHG#kVwWq7GpjaYD_6dFypSG8$e6tZr?y$4*&_L-XBh9=!F0yfd~*-hveG zez=Qu`}hyAfRHj1n!NLYza18q4?H*y-s$IOJlnqogpy+9ySBEuTTT}j99|Dsu87Z= zjH=3AXf^BIW)=>k-Wi}Yp$B!6Bn{-&dEd1RZk=uQ9vnc87FRotN{*K>_l6Q`Zd<=R zUd=sU;0rFR*PA~rv+2Ky?Q9hze#BiJGF?3!>(eF+yvWi=tbGJz4{nn71)msVHG+Fa z=O|Q&x`Kn&=DrH6ZtdtcIh)Xe`Do9`WOL&hrPCw_Sh^&WRNlv34_U>|<`2d0ZcgO6 zzX_LqI_oQ%^{l-C#QhT-%fj#r} zNI(LmrKvqTIp9auBmPz5v&}mSu_UbUSf=9R!JlV&JOAb<&=B85V&RZiOq(}C=#0#h z3G3C14)-<{?AH+oh6i^!kB5QcjrATwFO!V~?B~XzNqQ2g4Ve|Ve zKBcbLXCrM-h&JbyuO7SmJE}`hjTdv7eI|i6xl`t9OHHq+wYX@z*<|mE9RkR}fA?9;;fEwu-7*S~|>9dp;Fy%@#%Nsy$-wh*7k)Yj0{(o7f3eyTl#|V(%S6 zWccLuzJ33T?=N{IKjd*cw==GDuIt=~VIy;@@2Qh9gnmFNQ~3JYb&}7vTjb!gbFam} z^e>2mqSNFOh4ZPnXkk~)H`Xhn$fr?KqN!7UTmB&~VnmEwx7;S2-TJqc_Udyg z)aN1a{+ki97zR11hwIezcOUcIA(=83DHwg(WTAfc2%|ugyi!Na!Py}`NXmN4PRh2b zI7^4P+?Ib$F3&b{$Y|X~YvF{}Z>_9MDjzm+7Odkm3;s#j$;oi715YwV_)!(RR z89~ye2b4wOdawG8g%D9l{SgbB(jf*yLiCnh3-QsV;{pHWkId9^7$LtJvO%it2-V&K z^?W^Wy#3~z<%iXsk{Hu{j)O{kCiuT2{X$5mRD9&F^5a+rZ_Tc{W6Hq z0i6{Z$WBGKQyxhiOXgtqW~tMJ%)|o`>u(u0Kb$D`hA+(~`C;FEm62gzK8i04cRx>4 zQb&K)B?B-p$6da{aQCxD9$bz9nuIT8@*Xu!a7dSQ?Q6c3+A749dx8#&DCUA?7moc&yzm)VII6X%YY`5Vb3KgVt6As5l2I6JlDSa z$9Eav*>V`YSiQ-O(WSp>hhu@6Pr|@;*LOVe7!QA-P1ZGb?w$t(q z)0EPxSn|0bj#7|lV|g>WGj3O8t~{ym{&@HI*C%}V%*$L?-8b!>Z~E)?>fh2%l;DCmEK`C#9oz@e;JzVYZ?2 zLIkR-m{CijvLvp>WVYNZvwqZl*nuf&-o!YnjdOH3ko@@rC39K8@|q9GosQr~(^dn> zXa6E=XE`@Zt3XcIZ}pWt$H3ZqNc=!16OJ>Q72h8`Wp<$Qf@vc>w z68@_ZTMVpcta29jc9Eq?n?M$3%OHgeuDOOVj3hl^%9rhqloYKTG50(8&KTqt`6V!{ zMO6vMZf{wz(q(v;7IuryjVBb8ExP)HY*Z8bj{MXi&$9Z%G7BveD(q$$S#T~%N7z~o zp)=R-lBXBfl@!ca43btnJ?1GTq#eX-vNpKHm3y>c?v93t!9X0t*Ec)kRE+G zu3k&golU=f>5@Ir1IoBy?Nd(&a2b*ht@%ZGeXDugXK5%kC0g5d#gNn=*U9O0Cw5lh zP*lK=I#jHDT7y~tU%Cu-jbhJ-xe@e8gG>uS`)5$f2WIr{NhR^ zU8D@7)UVeY$(sE{q!Zuv{tnV_<(vP`H!S0!yXrr5&)lfgP0OOwg*!cm{g zVi~tPqoTl2ZOjveNo}F_*r3vp1(yu?8U)_C-0m=2xjbRpW%}uCk754O|M!kCymLud z?>w((Z@3VTWVKF}%#*KMPpfI+lMRLr|pO6ZU3^ps~(x@mP-6#1gx_dDm) z777G*)8%vWc#c!*W5!W7nnw(21nF32O-j+e=4BQe4le5@=dz*IW^!d3m$jz;V~vhE zhwGyB3xhsiE0cKuxb#a#{eIr1lowTtfY;}7Z8nP=(ql&h=l3s_41}j9QD$#l5>$}O zMenXPDC%`}Qfv0QF%ys%unIgsA`%(lBHG^wp0SCIAK8QBoF+fYfvY4|g4FoQIdWm< zOhqR~$I`;*@2Ho#+*HX7>BhHOu0BlUL{~)VN8soN&viC9;4`eO3dFgSRG(R0aMprod@NltdZB zsDC(#?09M3OWwIb4WN0-;73H%MO5t0qfko;?-PT%(X) zCd+ku&kOXgKwDBdY6Q>v9s0?tIkZG@@_Y8}s(`2dKRPZyvt4YsWiY&N%Pr$m^4PWA zuMK} z6e3+i@fA-Vw#;NVCZ!Q+E)TKi3eG2|&EI$t6K{DP5@aOu7Iq>A;acg{z;W~TtQ!QE ziR5MRrHj;PY^t(DX*}Wcqg$%E?@U?8{bRJP8F0$<`ctwG5^RIGU^#bjWfW%*TeVrA zFdV$6N0p*WL@YFzNEiw(LFBsoSwl{r`4glTy?JA-&z){)cPUWxkMFi+BE_p+^~;;+ zHeiP*51U%T_mkIHiWWlA@Nxwg_UHk&6=8biYaMwTYS%sW*7_1ebqde*<@Af)?rir_ zwbROj)W1xT%l;8*uCZ$KXg^^Z2OTM9_mqBsWT)#o;RV#PaLF5wcz0RU^9 zp5N?=S9YBE7e)&XNa%A*SK0@emE;5QQMa(axo`;u{TZxIM*G=}lrZz!6}t|{@xRd4 zPnHudiq?4AJOiA*uGK^g%$?bM#tQ#oDW2(4q~_B%cRp9=)l<%8 zZZfFamg&sj(l6Nb)QDmI*XHY&>F*3t`I0jF{xdb`rzXF>I$icZXCPd8Q7&S^9Dy8J z(>_*aF=l@gm;mWPsX3kVHeTrmpS?qKT7-W@#U|v^u6b~VDQH?Q_Sp-2_I4e5irx6F z(D$e2km5h63|db|)H-j7di^yrzOuTl zVtow>vEh&7z+tU!6Y{D?Y>51fvDvQymSF(&an3_7b6Z4>!uDV7#TbWm49icT`pO4| zFjWEP7MJaw|Ki@n+bo({<=2yQxqi2n^He;9rPvmy)9Stc>%uV;itG4 zjp>Gdr<~xzS2o;P=yFv=YtAq4<6l+Ckz`S1h52)E=xuvXeDQscIoqaXyQ*H4DU}ic zU=dac*zMK7NjW7IuJ|ob{{Gi1qKyC9fRjQ4DDWCSj#%ex4r^v@u#-G@am*C)ISvU% zz3K1iXPi>LCFS?p5l?i}^m>I&q0pt6%w9x{a)#5;mP%Xe(*H+zzR4f=i<4cORnNS1 z52Vhlo)}=&_vCTTN9MmZLzO~;<%IhRU+?MfTy8KF8trH@#%6i|(+_{r=I|}fe}qWe z1R^(I+M;YsYIao5WKSD&d@{^k{xwINFfXyfUnW*(G^-+QFj1_G``o_)N;#M;>KCA0 zWf4W4Ggo3XGtYI%6E8r!PgPIH>nni6V_K5O_<0ucnP2pg_KV4VZW(EDYBHL3SpF-JO zE*7S1t!kz>G|#bXjRh&fYr_x1cv> zBO@b>eQ}wnsmBZy(8&j4w)wz+WmcZlGX{zYaW^csN(rKVzg2tbgj5$#sFL(_bm`Re z`h-OS<}Bl?VsVt2I z_q%drWT?f5QS7-fb-*DOw0*lUGUfqNyyO`lm^xsq&JNCr znyJbXvd>Wft&K$z+bds|!%7NQw7q3-5Q?fPSDF4uu_|#V^fHnCduz(^m;AHfY3Z-l z%*}JIQk57{yAI4M+rKdXii6KKr)w>4xJJA_&?bL!NdmGBx_}JY0WY2pJ3BEiDsUJd zzEmAzN$K71 zqoWYc+BE%^>md$39C1c#?l!OZ&W?;}@bY9_B}%TzXJZ14-IN5fKEAj@nJq^s*L0i? z`HPik&5L+h_5ka@Z(ql**$B!2x^5{q7BS@2ZSb^s)r>lx7<4z^1FY8ovN`MKS_mP> z|0XC2y>ljj1c8G|4*4T?=sjJ|TRw)bd-l1eEGSR7D`2vWx4h|hW{)J-A{i_ceJ+p7 z0)Nvi*~V~zgTLTg-a9?LLM6pfN}n1s05Yf+O@G!4;iMSFz^QiBWG(!HLDzTSyy;P7 zSP$;e!%l4TRrxg;PO5fYGJ=)o!MDh^hmMX!sgtnrc4jjv;AS(dQ|}kim$jugjN5X$ zzSp`xTk)*q^&I%={tnVg;jE~7*@%q80&*@RobE1sR;q%Q`w@8ZR1KP<|7GD8oNoG{ zCzp`SKlA-hFKTQ-=7S;Al#vLWYGplNj`M(hq2_#NyeHBn8L({DwO_&q9-b<}@}?cC&y1HEcn_fejo+ppg}mcu#pkyDdBlEW7(h+CUitamKJv$1-tK|1+7 zOyH^l$f++&Hkf!IR;pzpZrvC2^5XJ-N8shvtnX#1rgQes7*z#B=3Cdlc~bD!#!_x_ zks8fjGdB?3A%uzY=0AGEJgGIe&e%Qwh-nIfT;%|z5@N#*y!fU?ZOM>FmWN!_yiF4s)O`$g~RI=wY zwAc7jP;rgZ_m7y)VHOWz#smOZ{ipcRgA;b=n+5Y%lPEGKz;cD9&|TT_msWq8t2@pn zP7Gbe9ac)24i}-S@h1 z0jG%W3QxQA?b_c-!f82lSoZ!MFLY%^z=)Q74-fxNv!O$uo^|5ht(X)eoA0AV58e6Y z&|buo@$joW8rKi33qs;G4<&*3#L1NCnyGjStPjL86|YCKTpykl3xjq{|2NnpT^X~9 zDp3=pqu<=mSXGN>Xq;?oc)1GQA|oV(h^IAMpjgkbWFY(z(>6WrXH|p_MV|Zw9}9!~ zz6B2Yttzt8LqF;z%GW#2{}f&zgmcBTk#O%%hQJKup#bHi8If>EBem7IJe!%eu{0gG%au2PbD>E#FOn+(@0-d!j8HM~p=Fpu#L$Ov^_ z!1IWvL3tr6pqSe{X-q8+Jl~s`ps^TC{Is1|&9dy#eq$AP7st(Y>M%;ck#FV;fbGdv z6aWJP6Ay#Lr_7k?y`tnmvQhNE13h|w(E?i>aj9gN!fn|Yn6H&NSBJ}FNn|k^QNu=B zU0`ZlHZt+pzx|k;|MC{PX}~wrRgqf`9n?SuK+y{vRKoZR6`KC#d8q3uDg2U23%1d{ zZc|5Y{mY017Y_(_`;w)vI{82I~#W5?(+zEGWxFjIo5WC=RSbmBRzd+G;Vjpn-c z`-0wOLif?JUEZcyH;)U@&{?i>!N26Myhgok`(Gez5CQnDaRY4r87LDyEFV}<{w)Td zGA6p&nHg-ZDV0ZgB5`AQ|!<)rIZZ)hsyr%jcpZPoLF#e$+s1T0U z{9l*`QQlbO=@MB*bHpu_hW^o|VYGa({|Upf{AzVsX^|L9G!!A6CN1ZzL^zn_*U7%v z(XmMUOX(Z0+#SfcT`6pKvEvuG*Emyfy9pH&ARow^`}3NInkXYp6uOx1mi$FxQF8oW zno_cFOf%cZt7){+diAYCR@;ZYMmtZu27I(I=K|fpj!WR?C$k ze%q^J$mUr{vnJ}}-FVoWoFI0N%(L*_pRqK6DYnHSa=)-i=L@?|ZvM62T1h z{T{pu!>*X;a^=OJ``oqA`AUB6-(71Z%iP@D40p-+Fg-Oj71ft1cYNVXdB$}0yR{YD z@zy#r#Y`mVa+{RlyJSfP{B3wuzAn0p7V>QB7dSrbB~}UH{h6w{@s9vYmg!A4k$hY*_O%Y*o+LTnU z)QE85=8^1^LAa^60a$=&6ivb^9t!~&i2H$fcX)B-M=j^FvW|9{i~v!V_#6S+8_z!L zF*tGGdE+J$0t!-;E25x$_4dSxoT?#beO9hQQeN62yV@Q~4ZOj8ngI_#rBJs8tTKNU z<4&RH%n!&vP20?V!So|LFTN7Lx%b66Y1ZU8rM`nR2d0$z>XL&X(If~g3F=N^QcdEw z=>HE}npRrNS#rB&)NduyLAVjd;@~#6iClWFIB~BH#E$glk_M?E{X(hDce0d>Gv^wY zebt|~=}=OrJAA%|$}z#55bNJPp~n%z>(G-};DCxecq=6SvhTKJ@^9mS@iJqv5%a!#^%MMlSlm6jRC>s{ zt3f#(OxItlMPTh!{O9&7-|r=3JfY4)6{{mzZ8CfMmr>_(1A5I$$piB0YMM3QGimah zp4$ALRL!QVhkhr)3>Ms^&3&W(E61kW&F&A^ZjspasMphpjOfQQ&u((xuvdK3PtcTM z+t-XZwpH#hpPPOA-qP+}>G+ooIVrX9Z9>t*s{iBze=uSWRJQobo8fUw%RR zOX2wNORe^TU{OTexDTDpy}CFfaW9_b3t}wfA~|i#N2q=KS11az6lSUMVaJZ8y)4H4?l0l@t3CeQnl zE`5cb_rnIFfU3GnNdhmHWixu&`?4cZ+^d+n`LfJ4Ig3QsO#nw>*VjG|2mX|eH92Tg z-s;OoT4HuuGC}u)GE!5Vr2xt-`+$cXxPA#$?d{Zl?=E1Arc<~fNkrI7H$QifH=Vgs$uM~nq zWo#z?9tm31+Y7qV4q1evC`5FK=FnpgU|?Y2$nTxWv=LWVEIxZP!}njV=o%QFIfMWE z``L)jsEezAMOE=exqnra4m?M}8kl7@eAekAX1DJ`ZKsKnWy#idSf=Z36)U-0dMaF6 zph>$y{od7Qc!}yS_O&w{*eyKBXD(HVVXXyyq`l@rh0RxGb8S4LK1CRp@a?28${n!Q zuVi4wOmZ_&GUyEdDnWQ-vp8B|{a-(Hv%^@-;Gt)Uj2bpM*1vVmHfvBpPqGMJ+DKK~ zYA~%lKbIt6viGbu)LV;RA}O}EA!1Lq#=B3!aT0XUV7s5CZYok~!!`J56yckwYArjI zzyDQ~_kv;H5ER1R6Z+%zepl^P8%1Fhy}U?K^`WH%CkP_IE@fnxD=!i-mru~^i(izq zS)js|#K4v_P72i(#5xKNGunPE5Gyq2iFI78#DB?swC8c03SW-Oy2JBI@H!(dE+CJY z7*?IpbOpk92n3>T^2s&`_~&b#A!g5T+Q{78+ljQ|Z z3)tyLmG*k`ydLg6lgK55+y`#ofek{%dJ=hJALqtKkIoA{g zVQbq{-hbrmu2(LrKKAF;UE3QFX%8qk)L@g^C1(3qVUVL-=^O&z**~BQsKjOSpWWtY z{&~}U*m)FwK5z>%x}f27qlpm@L<4QLfWbd!lK7t2P0cBu3H<8oC}i)Q>XC6`h^S7 zMw-pnyv}BL^uR>oxnnEogY6OZSNhFO5@^4O&4e8p!+xjjQC_ejgepK^=K2GIdArWb zt$q8-b+PeqvubZ<;UDa;OP0i9hs$0`Rt&|dMs7vB>*BczK7WXdA0-jSZ{>GlOt5%k5xiTS0ABj zk{+Rix96-y!8@)rcMeMd%W+0sfwgX&Pbc3sp-vUc zte&bZys6Rbtm`dKyoV9-5H9xVxF1lEH#zeR{1)oT7Bqb$`KUW9eJa&NVgjMG*R8f% z(&PkuTwgN>b(mzzgPsnZo3;BqIp3d0>l}(cxpQ;r$@Xw-scD%vr@x5$af$o-xVlDO zz;Sn%aPV2-oLIbKuKe+^MXF-EosNyDf>zM!Ait*$Ng*oWnn)P5%L7TY0a4I92Wbk# z%eCu{z>7nM@n4UwIq%-2BoAHgq^DuOuFGO}5m?fZ$4o^zC@WqpcZY9b)Y#P(WW?n9 z1+JttUIQGrXCB@8zdy*+c{c5gj0vi6|KD$=|Gzw>ZhQIqUiUyjIECYAr0bsN+D2L+ z%SbLqro8)SpQ{%4X-h`;Y(7YLUteFvEk-_lM7FrYhu(GfwV~2DuDl*d)*&89U7El# znKdxFGc;pfj&2!7dLd2zxz22*9@y$lUMF!TA3bVd`IGzkR7){N_&?w4M&`P@2aD&> zL{8t%rEjkDmcaVk?(7nzS{4<^ph#z-?Z;giZq)w8bC{$AQ=D{j&;Vr5+H2lM+fMF2 z8+GT7z(mac4JEE~9T%zj5s;U!R&7wl1Qfc!_{#QL#ZORF8)yv zNl0oLi58b9N;j3eV;jG(rD^5L1J4^&cvV&MehzvETh$7u~(1$1jwt@ZKGfd`si@BjC_icjh|a1fRhBwuiXPhMms_0_C5KKn5sNflsZyLOMa-wjbz7ri~F z>iWxd>W0Rgc7^0F1F4y&u3wtPUkR38m01snQMnY_#0#z`-?A3+@I=hjMe8cg*{;9f zXfrSBIimDQ%#sg%Obx+ zMjMwtTX|hbM|R$jvP9W_o`}VGmE8jVnfS~b;(rkMS)x{@;DMKGY2Egb=x;`S%+Ox$ z>o(;Whldvn<_~Dw@>26*cK60FZ1<(ts%{ac8`-VNyf;pYF_;qS*X`P?bs{r6)Z3z< zc+rufld8V2oYb$KM$76(tgSjYC)WaEq;plo83G#hL^IvT<_6a2)^4BH-45iB^&IB% zy*t4t`O6~nP5=Gss6@%>Oj%c%HR}l}CprnCZmB4tsnR*40!T^lLrL(TmiOqaZ& zx#h7kckzO;+`^!5_}u2tczA~WdatR#71C7T9BC?dg>(*k5RaE&jK)iF&~m-)=TVmCN0 zqs}$lXT(ry%@&aJa(n=oGV&h63Y&kr?{glXVD^qPE#3`Fle)L9?>*)t_MXM1)LIz% zx;~a(b?d>|vZUQ^iT874Pep8F_3w$&-68)!%)GxDcy-3NOAfpq7kO<% zmr-t)yV@gt|VBu%YTds znm$jBb9-|aBNm{a(J|7yzl92F&ush8&OFbRaT?W;GlN+U*mDmFDDuu}fsdq5g1)3b z+vYX1nB#~%z@AWXP#tWYl{%(nKQydB@mf7WvHE5oHa?1%jd3zlbg8MxD^A+`94pCR z)6)^GU_01^oGM5K?v3H%O!;dPZ8qb}qZ?ed-ovyxc%An&HtL?f->d86_;&W=%YJc% z{%P-z*Lc+-v?(9^f=+$zV6Qcd$HXT`(S8i(x>##9GgD;(_r$4%F8`)d?YwrnI9$Az za-OTLh^J#y>&ARV?lv&#^mh;yi^x}ICkxyRjk)IxHZNY>_|~mtX#DNLneUTuXtm#% z#+mn%|A^JE(oSGhyO;xEGp$c|DwCYPdShY6s-eEO6H?A6M99o;{Mt7 zL39v%4nD!J_~$^IN5uhRh3v75TE;F6DNm4z_T!M=?y3J_|yc$>Rj)GdI@CoHOWRHAyAJz3=O2 zCBkIhYC>y~X0K>p4`Sr9TAj8CyPBOFJ>T=$dihD{BD}himAb^Nr6V=*s6EKsPRVXxEgN${PnFhFpbRN?Bh-9DLq?z90$euQxr|SZ~-}nA9;M6uQ(AzUnPa z=!AY`5xg|Z&`lUtm4DK<2;%=`4hLg~ZE`c^Y|ol+=zr9%eEYb(dw&uIqI3pd95&`7aphyeEN@TL1lO&f@zlDNPr3AK=9w z#`!DljsJhad~uIzvK*2pk(V|fKFK`LJ&0d)saoE)_(zb~E72y)f!vZ~WY!L)%zybRa@-z-j2gVp*X_l-47-1G^mz=s^h>!z zJlfE9^(3#KqFeC^MX0s_ozaAjYF5HY9iIlDM+Q{27*ySwOOIhQrMG?CFe5nxppK*B&r=jx3VaDuG1 zF1EI`>gruHUs5$rCc+&VtSbZQd2+(DE#cgMlZWAt!2H;1#fzHXmzY<1g!SH8Q%|kG z|2OY$7@B!cNA=NjDSXid5prw_#`1WJbCceF!Z)nA`KpQ|a#R6Ic0^6CGI9X@4e}p1 z0YmmDa7J7J`NKB;7SQjT!?jB3-1$mz8mSsSnfy&xf+hWe@o1+um&VB)7v7$x5b04; zj7OSmH%23D*0a`vaV_KV)(BRUjbvy?ZcJSd3BC7ma<0Ikx#yXSxCc#~i3D?HWs)LL z7`ZQbP&2wqbH-FRuHZVffgH{;+}a9CU38uQXp9W@T&UJz2>dbbC@dM>6s5%j|NbbA8ASM{&0!_Px*2&xB7ebwfAd*(k6h>f1+eZP>znXWO+Fy3% znGIWlVr4ja(HaX@iROm(`3pGFe||N>_qSQQPD!9z62DMd{B&D$&Lc&xG;DnO;AV`;Q8^L*l5!!!4h=Oj4rL?l_oiz1LS( z$vqd<$}34p{qxze*zPGnM1W70V%1Mn{uA@?q(j6h%?^8^jNS5^fx%VD+gssOF%*xI zT;u$`LyFKVEqdlI$o_!!XCD8g%^#bYrM!0mu+`U6?8LcDS-80xar-I4%(zkI;X)Q) zN!qBx?t?E6ijlpI873vNgxGD$V$}l)(6&(Nq!(b=eT9|HpKOyUzA zIM5k&HW%NYPnvYn*sSkBnwo=vah*+tw&MyfQcEVIH)laW%-~MFIw*R*&gMUz3>LIS zQ=r5H%U=Q$!*|%ngk4oPSL@>1GIx0e1xG4fJ25jJ%_!1>qX}C5QH90Ag0jO>m%cP>i`2bx!@v2-&k$exs01G#cF&o?=EOR`XxOX`R0)n-X ze2Y1@_FSIBjW)0hJVdCO&NDllMk*%cljVWxjKFK3ws}e9{=)AL*UYufjTb)uX41kY zJyJZkynz>d!qlbqgFdtKTE1;adfCM>!O3Lz()JA|*+cCYGapM4M^yq73oa|RqGqL@ z3swEK&0g)MbqA9xJL}Ep`;`r{BZ8AIK+(26&*$eK`vlRk6VZd>xIS9}V!Aqe4CTp! zYQF4UdM>9NQ3C3J*U`PMuxEGhixk)Xi?spRX)%5sJnJYiDcCfwa4>|sOHNHj9MgcV`02cHmwT7-wraOKPv1QEh;Fl)vO*e#hwL*cPVeF#67QjRsNIW6 z&~A@r9WIn3_JmiDTGCXqJ=li?ZcaOhwg(*^SZTc{Qup0&c+ZSQ=*f5x)*I&)n>lLz%5l7LI%1#ULoOca%0{!C(D>sRj}cvJM(Q zztlt;zg#@kTns2;((oOJOwOQq<%M+?8=5xm?@Fh{%1;`dS2q(HahTk3z|i+XJ>bw zLYsD#vVSt?uYnk%-xFYTmKYUIa>QOo-%D0p#pJS^&R)0H@v4KjdPxPb1pE_Sx0#R| zXvM?%hEkx+y$(s%GlBx^S>EgQ=|_W@OT3%q^Oqr(wLQipB;gf);0A1)CJSb|TYxdn;sJxf0o`zXvi?xh}q%I(O` zD5L`F6gvS*q!*$B|B?fR2(oE7%m(3pT&XB5A6PyBtoRmYX#;)|Z7F=^7!{9jM_zGX>5;pQeaI+}#2V-Cc93^B%!hynOS-b97{ zy(1d*^YTBwdnnB5uy7tl-p+X;c{l2nL{0m;XG4h=)<$4^@9(hig!ubQ5Fm)HOYY9M z>uH1l9r?axmpt|>X(3Ps>+#ZsQcq(RFB#c$n5RDQI|0GL7T z!0Y=o5r4##1x_R9`onM>yaIhU|PT^ZAHDb-Jkr|6T<9utXvMiX^ObtY+h(v@6J! z!v|TWFfP+*n)FeZTB922s-oRP!Z`6$$YUNzQ?32}wxqYSGcNgw^C~~T)45Z79$!b! z`YCSlqmK#VU^6u~c=yrplLi5!r_J{A?DJR!QH(p%>5L_1?Og+MVqM*zvw3NP69nvg zIX})Mco6uL`I?d9`LIRCxcCaR_uwE6cC}jxS|0>=Wh{AG zw6hP8;b{{Z;CjUIUU=s;)$6q`|3GmYx4hbpepK8|j&N6=!BZc;F#pzs(5nZj5#+lM zn#}&GAG~=S)$8-iJRw#lAH-AqX--8Q<3}wA{c|20Uc~NR0Om(M%3Zfvwr`)y z&u;6k^*S<6e*99pYqwosai%46?{nv)iE!(akhI}K!Xw7|XIyfq2F zrt4WNk8lh`3C-wu3-Xc{dO2|u(t}?Ywd>2FMn6UYuUH5-aLNO!xMh|Azu+5k{AIV} zKOpjM=%;XHBjqr%o_3?`A|zSX4xEJok=GAw#daHSFq~S&DepXISlKYog{i5y+6dX* zMTzSh966Q!mJ_M1I9*Q2+_kIJ8)W&Qd<|6o^dSBV&q~_%g=%J*FdqexWr#eK`Ut5q`IDR`)z*@ z#~)U`_4dcum(F^hj2|Gox01TM(5-&^ZXi``D4Bu5F>Mq^#oRtUuO`s5CtejzvknB_q zk7up+@IHe-6{)sa!7rceQ_Gj6kQ}X=S1RG3=nM|c<~{37pu=U@a3iAM&?0Cz2Dj0# zGS*j!DXrlY6)y&7DhPz(w+yqY(`1h-F|T7_6swZeC$;1hPVa{j*tPS%Ep+pyXcEZlyzqL7|q%C-ulZver>Qz8s8r$&2Bi z@V;>KpX$~E+t#clIwG6tWJjL1a)rUIM%!*$CHuy&at+MJ)J7Lpu56@S0J|Tm&U9rt zN~rSIv1Rf2$4EHLM)|rxU&`%U*uS3fiHRP4SkD6raSMhdJcajT!x64m!f3*mzNUx1 zO&Mp(nZT$adu?5mH642--PEI9G-nv+?zPGkFlr!D<-MZw3Fl~^HGC$`Nl~dDw?iDo z0Sts^bRhYz4nL#a*=dtGZKaDSyhYccRu=hvCPJ)%p@{v~Hs{Ux;Ej2TGM2ucuFPGE zW5EtHvnHUW))Oq`G;j8c-bEazjQ!S6+O3*Dt4HV2C_A~+E(*`!Ah`Si!-Ds02Nw#o74|Ax_>;OezR;Ugo-xR%ubQ4;FHt5q zO3)vmz=SRY!rQxbp{-5RcCl-BsELbJ#(w0_`FV;(%hfLJ(IpYqEboTO@jPrlI+wm! z^e2JuV1z2tw_sd$)M0zP-&VFdXA6*i#|gJ`0YjZfIMuYeE$z=R@!mLxwFqT(w(w+` zYmK^0cU>V2nx;v>gw}e4ruq8mb%0?~&nK1WwM;5cJHd8BAj%O&!nb>J5yv|{eHAZz zAk<(#btJ1ov|^65NnI7buiZ{{;*Q0S%Wt(Lf+RCLB2JI==X* z;-lq{Jw@m{I;cKxZRE=``1ZH!*KqSX;fuWAQKu(Y z%NA#KfBa#a(_y$TYVpSEgI#yUlf$E6Ut-)I(R=W39j|afgpZ0)qLF%>i_3N9=_|rF zf|FxebLt%Bz$Nrp9!knzwh$U04c) z#oh~#%7Xe z1%Jg^#D+%Mn}$5#G6b(OvIv^BSk8}i6NIbZ^cxx`r&PI?l^HGSnsxp#w&{w0%R zZjho~!)FJx-3|$Mk}&r;nZO-(G!T^QF$L6zD_3~Rwz53k8tTKMIv04@yhND01-Pv0#jUMciBMdULxxt03w;HcD0p>*eUnWIyW}+D#UrdGKsN3Fd@#@2= z%Ums>L^1TtZzI3)ucBMRRh7>yKAM=+H9~$EB|a%h(=ScZc>Z(n$&{Ax+1-=qyz7N9gJ@c&&Mrv z9@Nvb!Ub)DC8~b!VL#4R5f%FrnHBr>WCW*FVUrHa69(6Im!)uDg5{ygMLz84G1l?0 z0jPx93s}^FSmu6AO{sbf9t$!aXIL|Y>(H>Lo%6SD=Ux5yVPG(S)~nx-(TXjcb^X-t zxZz@f^dB!&B)a2VGbPh`<#gWgoxiW?2VWh>@CQTNPckfs^+ZG1l|c~c#^Q9|q8rDS z4)`BB7C;_qfnQ|-*?&luJMN;$l|5|facT*kuU|gCx_T|071;5zX2_B`oDGij$}a8_@(5 z@mxF4WTw2ux}P3Q+Z5rzVv<*|=vw*d6S>oDH3k*17Hi5dDdgH3(J|fbbMP5vqOL+Q z{it%U$J^-`88EJBs3)rwIlhtVf~-xtvK35WRmQl_7D)c$8qXsE#m{nFQKo@A#R_wM z=QqO1Xr2cScrykFb$az??XoqVe7z-agXz2bcfP@HQYxSL|90{5+6E8pNqy{jhVlXT zP8j`d{P^q|vlIWZ#^|v8Js*#)-n*hcIC%2q>y_W^_|p1iUh1b6=l?AME|9JcU!!0f z!uOYHW~9Jp)=eL|V=rXhY%n_dWlqZ1>sZ+xh=q*zrd_@((Lh<4|38P;vj^e|8;4e*ZqPH_Qw`;OXk;vd$@?2>{dX BaxDM= literal 0 HcmV?d00001 diff --git a/app/src/main/java/com/example/weatherdemo/data/api/WeatherApiService.kt b/app/src/main/java/com/example/weatherdemo/data/api/WeatherApiService.kt index aa943e0..23e2ef4 100644 --- a/app/src/main/java/com/example/weatherdemo/data/api/WeatherApiService.kt +++ b/app/src/main/java/com/example/weatherdemo/data/api/WeatherApiService.kt @@ -1,22 +1,19 @@ package com.example.weatherdemo.data.api +import com.example.weatherdemo.data.models.WeatherForecastResponse import com.example.weatherdemo.data.models.WeatherResponse +import retrofit2.Response import retrofit2.http.GET import retrofit2.http.Query -import retrofit2.Response - /** - * Retrofit service interface for Weather API + * Retrofit service interface for Weather API (WeatherAPI.com) * Defines the API endpoints and request methods */ interface WeatherApiService { /** * Fetches current weather data for a specific location - * @param key API key for authentication - * @param query Location query (city name, zip code, etc.) - * @param aqi Whether to include air quality index (yes/no) */ @GET("current.json") suspend fun getCurrentWeather( @@ -24,4 +21,17 @@ interface WeatherApiService { @Query("q") query: String, @Query("aqi") aqi: String = "yes" ): Response -} \ No newline at end of file + + /** + * Fetches forecast (current + hourly + daily) for a specific location + * @param days number of days forecast + */ + @GET("forecast.json") + suspend fun getForecastWeather( + @Query("key") key: String, + @Query("q") query: String, + @Query("days") days: Int = 3, + @Query("aqi") aqi: String = "no", + @Query("alerts") alerts: String = "no" + ): Response +} diff --git a/app/src/main/java/com/example/weatherdemo/data/models/WeatherForecastResponse.kt b/app/src/main/java/com/example/weatherdemo/data/models/WeatherForecastResponse.kt new file mode 100644 index 0000000..b368e1d --- /dev/null +++ b/app/src/main/java/com/example/weatherdemo/data/models/WeatherForecastResponse.kt @@ -0,0 +1,36 @@ +package com.example.weatherdemo.data.models + +/** + * Response model for WeatherAPI "forecast.json". + * This includes current weather + hourly & daily forecast. + */ +data class WeatherForecastResponse( + val location: Location, + val current: Current, + val forecast: Forecast +) + +data class Forecast( + val forecastday: List +) + +data class ForecastDay( + val date: String, + val day: Day, + val hour: List +) + +data class Day( + val maxtemp_c: Double, + val mintemp_c: Double, + val avgtemp_c: Double, + val condition: Condition, + val daily_chance_of_rain: Int? = null +) + +data class Hour( + val time: String, + val temp_c: Double, + val condition: Condition, + val chance_of_rain: Int? = null +) diff --git a/app/src/main/java/com/example/weatherdemo/data/repository/WeatherRepository.kt b/app/src/main/java/com/example/weatherdemo/data/repository/WeatherRepository.kt index 7b06255..66fc5f6 100644 --- a/app/src/main/java/com/example/weatherdemo/data/repository/WeatherRepository.kt +++ b/app/src/main/java/com/example/weatherdemo/data/repository/WeatherRepository.kt @@ -1,7 +1,7 @@ package com.example.weatherdemo.data.repository import com.example.weatherdemo.data.api.WeatherApiService -import com.example.weatherdemo.data.models.WeatherResponse +import com.example.weatherdemo.data.models.WeatherForecastResponse import com.example.weatherdemo.utils.Result import retrofit2.Response @@ -12,23 +12,24 @@ import retrofit2.Response class WeatherRepository(private val apiService: WeatherApiService) { /** - * Fetches weather data from API and returns a Result wrapper - * @param location The location to get weather for - * @return Result object containing either success or error + * Fetches forecast weather data from API and returns a Result wrapper. + * This uses WeatherAPI "forecast.json" so we can show hourly/daily prediction on main page. + * + * @param location The location to get weather for (city name, zip, lat/long) + * @param days number of forecast days (default 3) */ - suspend fun getWeatherData(location: String): Result { + suspend fun getWeatherForecast(location: String, days: Int = 3): Result { return try { - // Make API call - val response: Response = apiService.getCurrentWeather( + val response: Response = apiService.getForecastWeather( key = "822615b3cef1437bb0202739251712", // API key - query = location + query = location, + days = days ) - // Check if response is successful if (response.isSuccessful) { - val weatherResponse = response.body() - if (weatherResponse != null) { - Result.Success(weatherResponse) + val body = response.body() + if (body != null) { + Result.Success(body) } else { Result.Error(Exception("Empty response body")) } diff --git a/app/src/main/java/com/example/weatherdemo/ui/ChatActivity.kt b/app/src/main/java/com/example/weatherdemo/ui/ChatActivity.kt index 35e3e3b..66cfcb1 100644 --- a/app/src/main/java/com/example/weatherdemo/ui/ChatActivity.kt +++ b/app/src/main/java/com/example/weatherdemo/ui/ChatActivity.kt @@ -3,8 +3,12 @@ package com.example.weatherdemo.ui import android.os.Bundle import android.widget.Button import android.widget.EditText +import android.widget.TextView +import androidx.activity.OnBackPressedCallback import androidx.appcompat.app.AppCompatActivity -import androidx.appcompat.widget.Toolbar +import androidx.core.view.ViewCompat +import androidx.core.view.WindowCompat +import androidx.core.view.WindowInsetsCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.weatherdemo.R @@ -20,64 +24,67 @@ class ChatActivity : AppCompatActivity() { private lateinit var btnSend: Button private lateinit var recyclerView: RecyclerView private lateinit var chatAdapter: ChatAdapter - private lateinit var username: String // username user aktif + private lateinit var username: String override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + + // ✅ penting: kita handle insets sendiri biar semua HP aman + WindowCompat.setDecorFitsSystemWindows(window, false) + setContentView(R.layout.activity_chat) - // Toolbar + tombol back - val toolbar = findViewById(R.id.toolbarChat) - setSupportActionBar(toolbar) - toolbar.setNavigationOnClickListener { finish() } - - // ✅ Ambil username dari Intent username = intent.getStringExtra("username") ?: "Guest" + findViewById(R.id.btnBack).setOnClickListener { finish() } + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { finish() } + }) + + val root = findViewById(R.id.chatRoot) + + // ✅ INI INTI FIX: kalau keyboard muncul, kasih padding bawah sebesar tinggi keyboard + ViewCompat.setOnApplyWindowInsetsListener(root) { v, insets -> + val ime = insets.getInsets(WindowInsetsCompat.Type.ime()) + val sysBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) + + // padding atas biar tidak nabrak status bar, padding bawah ikut keyboard + v.setPadding( + v.paddingLeft, + sysBars.top, + v.paddingRight, + ime.bottom + ) + insets + } + etMessage = findViewById(R.id.etMessage) btnSend = findViewById(R.id.btnSend) recyclerView = findViewById(R.id.recyclerView) - val layoutManager = LinearLayoutManager(this).apply { - stackFromEnd = true - } - recyclerView.layoutManager = layoutManager - - // 🔥 WAJIB kirim username ke ChatAdapter + recyclerView.layoutManager = LinearLayoutManager(this).apply { stackFromEnd = true } chatAdapter = ChatAdapter(username) recyclerView.adapter = chatAdapter btnSend.setOnClickListener { val messageText = etMessage.text.toString().trim() - if (messageText.isNotEmpty()) { - - val time = SimpleDateFormat( - "HH:mm", - Locale.getDefault() - ).format(Date()) - - FirebaseUtils.sendMessage( - username = username, - message = messageText, - time = time - ) - + val time = SimpleDateFormat("HH:mm", Locale.getDefault()).format(Date()) + FirebaseUtils.sendMessage(username = username, message = messageText, time = time) etMessage.setText("") } } + + // biar insets langsung diterapkan + ViewCompat.requestApplyInsets(root) } override fun onStart() { super.onStart() - FirebaseUtils.getMessages { messages -> chatAdapter.submitList(messages) - if (messages.isNotEmpty()) { - recyclerView.post { - recyclerView.scrollToPosition(messages.size - 1) - } + recyclerView.post { recyclerView.scrollToPosition(messages.size - 1) } } } } diff --git a/app/src/main/java/com/example/weatherdemo/ui/LoginActivity.kt b/app/src/main/java/com/example/weatherdemo/ui/LoginActivity.kt index 82228af..b040057 100644 --- a/app/src/main/java/com/example/weatherdemo/ui/LoginActivity.kt +++ b/app/src/main/java/com/example/weatherdemo/ui/LoginActivity.kt @@ -2,38 +2,33 @@ package com.example.weatherdemo.ui import android.content.Intent import android.os.Bundle -import android.widget.Button import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.example.weatherdemo.R +import com.google.android.material.button.MaterialButton class LoginActivity : AppCompatActivity() { - private lateinit var etUsername: EditText - private lateinit var btnLogin: Button - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) - etUsername = findViewById(R.id.etUsername) - btnLogin = findViewById(R.id.btnLogin) + val etUsername = findViewById(R.id.etUsername) + val btnLogin = findViewById(R.id.btnLogin) btnLogin.setOnClickListener { val username = etUsername.text.toString().trim() - if (username.isNotEmpty()) { - val intent = Intent(this, MainActivity::class.java) - - // ✅ FIX: key KONSISTEN - intent.putExtra("username", username) - - startActivity(intent) - finish() - } else { - Toast.makeText(this, "Please enter a username", Toast.LENGTH_SHORT).show() + if (username.isEmpty()) { + Toast.makeText(this, "Masukkan username dulu", Toast.LENGTH_SHORT).show() + return@setOnClickListener } + + val intent = Intent(this, MainActivity::class.java) + intent.putExtra("username", username) + startActivity(intent) + finish() } } } diff --git a/app/src/main/java/com/example/weatherdemo/ui/MainActivity.kt b/app/src/main/java/com/example/weatherdemo/ui/MainActivity.kt index db8f87b..2465c3e 100644 --- a/app/src/main/java/com/example/weatherdemo/ui/MainActivity.kt +++ b/app/src/main/java/com/example/weatherdemo/ui/MainActivity.kt @@ -6,23 +6,25 @@ import android.os.Bundle import android.view.View import android.view.inputmethod.InputMethodManager import android.widget.EditText -import android.widget.LinearLayout +import android.widget.ImageButton +import android.widget.ImageView import android.widget.ProgressBar import android.widget.TextView import android.widget.Toast import androidx.activity.viewModels import androidx.appcompat.app.AppCompatActivity -import androidx.core.content.ContextCompat -import androidx.lifecycle.Observer +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.example.weatherdemo.R import com.example.weatherdemo.data.api.RetrofitInstance -import com.example.weatherdemo.data.models.WeatherResponse +import com.example.weatherdemo.data.models.WeatherForecastResponse import com.example.weatherdemo.data.repository.WeatherRepository +import com.example.weatherdemo.ui.adapter.DailyForecastAdapter +import com.example.weatherdemo.ui.adapter.HourlyForecastAdapter import com.example.weatherdemo.viewmodel.WeatherViewModel import com.example.weatherdemo.viewmodel.WeatherViewModelFactory import com.google.android.material.button.MaterialButton import com.google.android.material.card.MaterialCardView -import com.google.android.material.floatingactionbutton.FloatingActionButton class MainActivity : AppCompatActivity() { @@ -30,26 +32,43 @@ class MainActivity : AppCompatActivity() { WeatherViewModelFactory(WeatherRepository(RetrofitInstance.apiService)) } + private lateinit var hourlyAdapter: HourlyForecastAdapter + private lateinit var dailyAdapter: DailyForecastAdapter + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - // ✅ FIX DI SINI SAJA val username = intent.getStringExtra("username") ?: "Guest" + findViewById(R.id.tvWelcomeMessage).text = "Welcome, $username!" - val tvWelcomeMessage = findViewById(R.id.tvWelcomeMessage) - tvWelcomeMessage.text = "Welcome, $username!" - - // FAB chat → kirim username ke ChatActivity - findViewById(R.id.fabChat).setOnClickListener { + // ✅ CHAT GLOBAL → ImageButton (BUKAN FloatingActionButton) + findViewById(R.id.fabChat).setOnClickListener { val i = Intent(this, ChatActivity::class.java) i.putExtra("username", username) startActivity(i) } + initForecastLists() initViews() setupObservers() - viewModel.fetchWeatherData("London") + + // default city (AMAN) + viewModel.fetchForecast("Bekasi", days = 3) + } + + private fun initForecastLists() { + hourlyAdapter = HourlyForecastAdapter() + findViewById(R.id.rvHourlyForecast).apply { + layoutManager = LinearLayoutManager(this@MainActivity, LinearLayoutManager.HORIZONTAL, false) + adapter = hourlyAdapter + } + + dailyAdapter = DailyForecastAdapter() + findViewById(R.id.rvDailyForecast).apply { + layoutManager = LinearLayoutManager(this@MainActivity) + adapter = dailyAdapter + } } private fun initViews() { @@ -60,7 +79,7 @@ class MainActivity : AppCompatActivity() { val location = etSearch.text.toString().trim() if (location.isNotEmpty()) { hideKeyboard() - viewModel.fetchWeatherData(location) + viewModel.fetchForecast(location, days = 3) } else { Toast.makeText(this, "Please enter a location", Toast.LENGTH_SHORT).show() } @@ -68,78 +87,73 @@ class MainActivity : AppCompatActivity() { } private fun setupObservers() { - viewModel.weatherData.observe(this, Observer { weatherData -> - weatherData?.let { updateWeatherUI(it) } - }) + viewModel.forecastData.observe(this) { forecast -> + forecast?.let { updateWeatherUI(it) } + } - viewModel.isLoading.observe(this, Observer { isLoading -> + viewModel.isLoading.observe(this) { isLoading -> findViewById(R.id.progressBar).visibility = if (isLoading) View.VISIBLE else View.GONE - }) + } - viewModel.errorMessage.observe(this, Observer { errorMessage -> - val tvError = findViewById(R.id.tvError) - if (errorMessage.isNotEmpty()) { - tvError.text = errorMessage - tvError.visibility = View.VISIBLE - findViewById(R.id.weatherCard).visibility = View.GONE - Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show() - } else { - tvError.visibility = View.GONE - } - }) - } - - private fun updateWeatherUI(weatherResponse: WeatherResponse) { - val weatherCard = findViewById(R.id.weatherCard) - val tvLocation = findViewById(R.id.tvLocation) - val tvTemperature = findViewById(R.id.tvTemperature) - val tvCondition = findViewById(R.id.tvCondition) - val tvFeelsLike = findViewById(R.id.tvFeelsLike) - val tvHumidity = findViewById(R.id.tvHumidity) - val tvWind = findViewById(R.id.tvWind) - - tvLocation.text = "${weatherResponse.location.name}, ${weatherResponse.location.country}" - tvTemperature.text = "${weatherResponse.current.temp_c}°C" - tvCondition.text = weatherResponse.current.condition.text - tvFeelsLike.text = "${weatherResponse.current.feelslike_c}°C" - tvHumidity.text = "${weatherResponse.current.humidity}%" - tvWind.text = "${weatherResponse.current.wind_kph} km/h" - - val condition = weatherResponse.current.condition.text.lowercase() - val mainLayout = findViewById(R.id.mainLayout) - - when { - condition.contains("clear") || condition.contains("sunny") -> { - weatherCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.sunny)) - mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.sunny_background)) - } - condition.contains("rain") -> { - weatherCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.rainy)) - mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.rainy_background)) - } - condition.contains("cloudy") -> { - weatherCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.cloudy)) - mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.cloudy_background)) - } - condition.contains("snow") -> { - weatherCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.snowy)) - mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.snowy_background)) - } - else -> { - weatherCard.setCardBackgroundColor(ContextCompat.getColor(this, R.color.default_weather)) - mainLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.default_weather_background)) + viewModel.errorMessage.observe(this) { errorMessage -> + findViewById(R.id.tvError).apply { + text = errorMessage + visibility = if (errorMessage.isNullOrBlank()) View.GONE else View.VISIBLE } } + } + + private fun updateWeatherUI(weather: WeatherForecastResponse) { + val weatherCard = findViewById(R.id.weatherCard) + val ivBg = findViewById(R.id.ivBg) + + findViewById(R.id.tvLocation).text = + "${weather.location.name}, ${weather.location.country}" + findViewById(R.id.tvTemperature).text = + "${weather.current.temp_c}°C" + findViewById(R.id.tvCondition).text = + weather.current.condition.text + findViewById(R.id.tvFeelsLike).text = + "${weather.current.feelslike_c}°C" + findViewById(R.id.tvHumidity).text = + "${weather.current.humidity}%" + findViewById(R.id.tvWind).text = + "${weather.current.wind_kph} km/h" + + // ✅ BACKGROUND FIX (no typo) + val condition = weather.current.condition.text.lowercase() + when { + condition.contains("sunny") || condition.contains("clear") -> + ivBg.setImageResource(R.drawable.sunny) + + condition.contains("rain") || condition.contains("drizzle") || condition.contains("thunder") -> + ivBg.setImageResource(R.drawable.rainy) + + condition.contains("cloud") || condition.contains("overcast") || condition.contains("mist") || condition.contains("fog") -> + ivBg.setImageResource(R.drawable.cloudy) + + condition.contains("snow") || condition.contains("sleet") || condition.contains("blizzard") -> + ivBg.setImageResource(R.drawable.snowy) + + else -> + ivBg.setImageResource(R.drawable.defaultt) + } + + // forecast + val hourly = weather.forecast.forecastday.firstOrNull()?.hour.orEmpty().take(12) + hourlyAdapter.submitList(hourly) + + dailyAdapter.submitList(weather.forecast.forecastday) weatherCard.visibility = View.VISIBLE } private fun hideKeyboard() { - val view = this.currentFocus - view?.let { + currentFocus?.let { val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager imm.hideSoftInputFromWindow(it.windowToken, 0) + it.clearFocus() } } } diff --git a/app/src/main/java/com/example/weatherdemo/ui/adapter/DailyForecastAdapter.kt b/app/src/main/java/com/example/weatherdemo/ui/adapter/DailyForecastAdapter.kt new file mode 100644 index 0000000..b125ee5 --- /dev/null +++ b/app/src/main/java/com/example/weatherdemo/ui/adapter/DailyForecastAdapter.kt @@ -0,0 +1,43 @@ +package com.example.weatherdemo.ui.adapter + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.example.weatherdemo.R +import com.example.weatherdemo.data.models.ForecastDay + +class DailyForecastAdapter( + private var items: List = emptyList() +) : RecyclerView.Adapter() { + + fun submitList(newItems: List) { + items = newItems + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): DayVH { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_day_forecast, parent, false) + return DayVH(view) + } + + override fun onBindViewHolder(holder: DayVH, position: Int) { + holder.bind(items[position]) + } + + override fun getItemCount(): Int = items.size + + class DayVH(itemView: View) : RecyclerView.ViewHolder(itemView) { + private val tvDate: TextView = itemView.findViewById(R.id.tvDate) + private val tvRange: TextView = itemView.findViewById(R.id.tvTempRange) + private val tvCondition: TextView = itemView.findViewById(R.id.tvDayCondition) + + fun bind(item: ForecastDay) { + tvDate.text = item.date + tvRange.text = "${item.day.mintemp_c}°C - ${item.day.maxtemp_c}°C" + tvCondition.text = item.day.condition.text + } + } +} diff --git a/app/src/main/java/com/example/weatherdemo/ui/adapter/HourlyForecastAdapter.kt b/app/src/main/java/com/example/weatherdemo/ui/adapter/HourlyForecastAdapter.kt new file mode 100644 index 0000000..52610e3 --- /dev/null +++ b/app/src/main/java/com/example/weatherdemo/ui/adapter/HourlyForecastAdapter.kt @@ -0,0 +1,45 @@ +package com.example.weatherdemo.ui.adapter + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import com.example.weatherdemo.R +import com.example.weatherdemo.data.models.Hour + +class HourlyForecastAdapter( + private var items: List = emptyList() +) : RecyclerView.Adapter() { + + fun submitList(newItems: List) { + items = newItems + notifyDataSetChanged() + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): HourVH { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.item_hour_forecast, parent, false) + return HourVH(view) + } + + override fun onBindViewHolder(holder: HourVH, position: Int) { + holder.bind(items[position]) + } + + override fun getItemCount(): Int = items.size + + class HourVH(itemView: View) : RecyclerView.ViewHolder(itemView) { + private val tvHour: TextView = itemView.findViewById(R.id.tvHour) + private val tvTemp: TextView = itemView.findViewById(R.id.tvHourTemp) + private val tvCondition: TextView = itemView.findViewById(R.id.tvHourCondition) + + fun bind(item: Hour) { + // item.time example: "2025-12-29 13:00" + val hourText = item.time.substringAfter(" ").ifBlank { item.time } + tvHour.text = hourText + tvTemp.text = "${item.temp_c}°C" + tvCondition.text = item.condition.text + } + } +} diff --git a/app/src/main/java/com/example/weatherdemo/viewmodel/WeatherViewModel.kt b/app/src/main/java/com/example/weatherdemo/viewmodel/WeatherViewModel.kt index 81e5f11..f23f389 100644 --- a/app/src/main/java/com/example/weatherdemo/viewmodel/WeatherViewModel.kt +++ b/app/src/main/java/com/example/weatherdemo/viewmodel/WeatherViewModel.kt @@ -4,10 +4,10 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope -import com.example.weatherdemo.data.models.WeatherResponse +import com.example.weatherdemo.data.models.WeatherForecastResponse import com.example.weatherdemo.data.repository.WeatherRepository -import kotlinx.coroutines.launch import com.example.weatherdemo.utils.Result +import kotlinx.coroutines.launch /** * ViewModel class that prepares and manages UI-related data @@ -16,9 +16,9 @@ import com.example.weatherdemo.utils.Result */ class WeatherViewModel(private val repository: WeatherRepository) : ViewModel() { - // LiveData for weather information - observed by UI - private val _weatherData = MutableLiveData() - val weatherData: LiveData = _weatherData + // LiveData for forecast response (current + hourly + daily) + private val _forecastData = MutableLiveData() + val forecastData: LiveData = _forecastData // LiveData for loading state - to show/hide progress bar private val _isLoading = MutableLiveData() @@ -29,17 +29,15 @@ class WeatherViewModel(private val repository: WeatherRepository) : ViewModel() val errorMessage: LiveData = _errorMessage /** - * Fetches weather data for a given location - * Uses coroutines for background operations - * @param location The city name to search for + * Fetches forecast data for a given location */ - fun fetchWeatherData(location: String) { + fun fetchForecast(location: String, days: Int = 3) { _isLoading.value = true viewModelScope.launch { - when (val result = repository.getWeatherData(location)) { + when (val result = repository.getWeatherForecast(location, days)) { is Result.Success -> { - _weatherData.value = result.data + _forecastData.value = result.data _errorMessage.value = "" } is Result.Error -> { @@ -49,4 +47,4 @@ class WeatherViewModel(private val repository: WeatherRepository) : ViewModel() _isLoading.value = false } } -} \ No newline at end of file +} diff --git a/app/src/main/res/drawable/ic_weatherhub.webp b/app/src/main/res/drawable/ic_weatherhub.webp new file mode 100644 index 0000000000000000000000000000000000000000..1efb2e56c489bb90d6dbdf270ad716545d7cfdc7 GIT binary patch literal 31412 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 z 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 T%Ku0C|0w?-<^QAn{}W>rH2jHf literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml index 58c12cb..77eafa4 100644 --- a/app/src/main/res/layout/activity_chat.xml +++ b/app/src/main/res/layout/activity_chat.xml @@ -1,53 +1,90 @@ - + android:layout_height="match_parent"> - - + + android:background="#2F55F4" + android:paddingStart="12dp" + android:paddingEnd="12dp" + android:gravity="center_vertical" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"> - + + + + + + + app:layout_constraintTop_toBottomOf="@id/topBar" + app:layout_constraintBottom_toTopOf="@id/inputBar" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" /> - - + + android:orientation="horizontal" + android:padding="8dp" + android:background="#F2F2F2" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent"> - -