From 7169882b1f3f12dc56e4a2d5ffa5e727f041fb40 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Fri, 10 Sep 2021 02:27:17 +0200 Subject: [PATCH] :sparkles: Implement new font rendering --- CMakeLists.txt | 1 - Packaging/resources/devilutionx.mpq | Bin 607126 -> 1004804 bytes Source/DiabloUI/art.h | 6 + Source/DiabloUI/art_draw.cpp | 33 ++-- Source/DiabloUI/art_draw.h | 2 + Source/DiabloUI/diabloui.cpp | 40 +++- Source/DiabloUI/fonts.cpp | 41 ----- Source/DiabloUI/fonts.h | 17 -- Source/DiabloUI/mainmenu.cpp | 4 +- Source/DiabloUI/selconn.cpp | 23 ++- Source/DiabloUI/selgame.cpp | 71 ++++--- Source/DiabloUI/selhero.cpp | 66 +++---- Source/DiabloUI/selok.cpp | 14 +- Source/DiabloUI/selyesno.cpp | 11 +- Source/DiabloUI/text.cpp | 57 ------ Source/DiabloUI/text.h | 12 -- Source/DiabloUI/text_draw.cpp | 34 ---- Source/DiabloUI/text_draw.h | 2 - Source/DiabloUI/title.cpp | 4 +- Source/DiabloUI/ui_item.h | 69 +++++-- Source/automap.cpp | 2 +- Source/capture.cpp | 2 +- Source/control.cpp | 51 ++--- Source/controls/modifier_hints.cpp | 2 +- Source/diablo.cpp | 16 +- Source/engine/render/text_render.cpp | 266 ++++++++------------------- Source/engine/render/text_render.hpp | 33 ++-- Source/engine/size.hpp | 14 ++ Source/error.cpp | 4 +- Source/gmenu.cpp | 20 +- Source/help.cpp | 6 +- Source/inv.cpp | 2 +- Source/items.cpp | 4 +- Source/minitext.cpp | 6 +- Source/palette.cpp | 12 +- Source/palette.h | 2 +- Source/panels/charpanel.cpp | 240 +++++++++++------------- Source/panels/charpanel.hpp | 2 + Source/plrmsg.cpp | 4 +- Source/qol/itemlabels.cpp | 8 +- Source/qol/monhealthbar.cpp | 14 +- Source/quests.cpp | 9 +- Source/scrollrt.cpp | 30 +-- Source/stores.cpp | 8 +- 44 files changed, 522 insertions(+), 742 deletions(-) delete mode 100644 Source/DiabloUI/text.cpp delete mode 100644 Source/DiabloUI/text.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e55a645c..3dc625e51 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -441,7 +441,6 @@ set(libdevilutionx_SRCS Source/DiabloUI/selok.cpp Source/DiabloUI/selyesno.cpp Source/DiabloUI/support_lines.cpp - Source/DiabloUI/text.cpp Source/DiabloUI/text_draw.cpp Source/DiabloUI/title.cpp Source/DiabloUI/ttf_render_wrapped.cpp diff --git a/Packaging/resources/devilutionx.mpq b/Packaging/resources/devilutionx.mpq index 61d425a17588f09e625dd4e3541e514b38bd4e2d..69091ba96ad60991f3b228d0493212ad7218c48b 100644 GIT binary patch delta 403365 zcmYJaXH*m4_dOg?6a+-1S3v}%3L-s#iilFBw*XQjy+jCo5b0IvB?J|LkCf0Mp-O1d zf=CG+A&^M#z5V(A)_T@6FYc^4YhK)Q&)mD`?0rsp6n}WJ5|{QHJ$4=t2z1?u?rOXS zTGXKfE$Y*Oo?boOujDeuR}0MvQKk%U(pNXGvyxXAO@vWYhb)U;uRhy;eyduC^n@Jf zyn2@sbR7f=Uw_K`>^jw5u;2y!|`@f%G$v?(Q>pdg85nXGo%J_iiDG%B68`La3kpIRDo_&mt z_u2pX^JApMNelc^>ED~5&#on|tAT!gc-9V>yL|cE-tjoJ!k_I)dfQHyWVg~p`&*k} zn_vF`C-L)UH?yCim4d2~)C}BDLqU~(LZ+sXaobT*fvW8{Xy_!!FUTnW=Kn8flvKBbJXLoP^;PB}9G>D* z@dmB%8;MX*TNuU7JDi?REBijQ7q&DFV5~>C5xb>5iqUz z{ee8koo3%gEpch#Bf0|k}M-Z{4@KrMXd&8JZE zYd2^>Z=Qat7`w|^@wWoO=;~{f(RNo&@@6#L&NOjVB<#f{>l@LlU}hvlH!q1VAg3>+ zEn;W928{uzWDxby&Csh^=Uv6{-jxd%v>;FcBM3yzab@ELf!GB>Ah;L^R4D}lwaSA) zhbkbDsTv5BqX_~f>w!SQ`XCU>6a*Tv0)ZmzK_EdF5U9=z1XA(?fhNSkru z*}MH8HRWFw%D;!Ppb#;tza&|*v%QC*_pB+R@9{A6WLA5VMb_^&HNPGBMR8~Ll*(qH zi()VOZBLkxN2K4NDf61C#G-XS4leBxS+Tg7IG;5SfnI3)aY>Tu(@Z#FEg>$8=;`Ki zF`1^W?9+3_)VadN7lSjlAvs2U!0t=GlW_#W+_Hvaz^e$+7>o;JP#Fe}vyfDWar4yGZMcO=*wH~y`u;aoj0{Xt{LyNF5QZe zwgS2?5w|bWS*>+(ma`4)A$E_F>p~j{nOlw$@V0yP;HiDr>Qv~gr<;wJf8F^R??yf@ z9XdUDTBUkcR8}_y1_;3NZENR`STcfnhGPfUCI74!5v(^ey9GnZLC>AmGJVbI@d%}* zlrM=s3ogyP49Ic3sVTC&XWp8-w^k6+Vti*UJDHukU;5%Q_!UWO>uBX@;!H_2GGlJf zVwQ-`UqNrKER~$Ki)44h`!R|Z`#-kwV1~FZYWbu*@j9TOepx6#eMWhDq6z}mfYodG zPp-NS2rgkhS_UJwrt<2z7<5u4$}dZBQkZY?rn}!O>JBT#$+qjkhY0AzXrb6($~^o0 z!N|dyk9kO@B7;G9&d=P|4REK8d{P8%v_S;PH@NS;`snX%wQ|@rZCUANAjw;@H0!Xr zNc)`X0T9H;Rpc%ebm3~!8ni(52$a};`3{f94P@f6U;Ubpz5~LGn2rB*wlk+(6?^5m z5>Hik{Kh!mwU@iZ2ClUIH?j8bGJiwQJu16KL;PcQ_vpI}_^54+kTL z_wxQh1m^ql?Wtr>JjiB_?{lhh|}D zwnvTtS$IULdo#0}O97jz*f(5HSaCG+p~=ovxbs zsV+1df3v503u!y0$-;`zn0Bz4kW7jH*$YqKPeuetNB*RNY$ux7RI-fFN#RHq`{I}n zushWm_AyjAgAbK|Me^&861byX40)317jW)E{w_1QuiDE)4|Cn@T2!?YyXBr(hiKz* zavWnc81^5Ie@40Gq{jNul!w}JC?<3FysGJC|2z6Z?+jRGCUV+V9MY%mKj9D$a{H#< zz#xYdWve6=Yey8l6GvTiw)itdyEI7x^^fe_CE*ZE!t!LNg)qC}TFdDWqV6= z3VXKrU5hTg+P1Wjcv`o3-e%yO0mDWJ2g6fKd?itwLB-D@ zDef4U_nf&$PwhdXt>Cn`v=Fv4wZsUexcK!&a!%}96n&qJ4%$ism0@Il%gAo}I0JHB zi74E?N<;@fL$p?x<10j~0Ap4)zeHSJk$Ih|3zT#qQfRp^{6yJKt45#c6ZP6+spvA!rau=Jl^| zeiPKETjkr=I>UKQV)a{uTStT1o!Ig5a#O+%oos`Gs7Xc<`EUpZxI16Gl!kxcWv%Iz zu<$^k6Z&b2ZWtqj@I4Hax5FYFpf6<(-eRJQ7hP{uxr`bSx~+IvM9jFg_l%%5I+$HL z`6YpME{2hzl^Vny=3(_x{sxox*KjFpu>MEL#aylR5GHP?2zakluB1O&;FizW9U>jWR z$mGvvp@jB+8D`h{muPRkfd~g9g+CKBpXTYqe@NkdpDxw_Crl0h%JSPTVs~EXlq#k^5BK9`j}YbrApJ zy-)7TPp~c7%VxF@sVqIONS0ly=3ynM-Ffgx zJi2)WM&T5!2cnr(Z@W$-rB7!A+@DaVH_2mLpFunTQEFn-43X7iR?3qsk>bvQC6YZ6bJ-_P%Ob?A=LQ~yo_?k?+c_(0*^#5$B9zz|^IP3D!-<^~>DljeW-+bZ z4TyTos&3yj8rBR)PU_6z|FMS|@~%-c@b@ z-H}0k2-d?mM}XUEmumata-IaVBinzjZ_-T~Zog61P*U$DPG2-_hHaAUG6F71BwR9I z=beu!G`q>Nm>3z(Eh%sR?e&Sf95-m~f9iwL(!cHUVTNGUs_V@SK_Anh<6 z(1p3}p(q5l|1;y9XpK6F^e17C#f_yl!}UwYJPOb3T(~I1HpFyoYja}&PTz_3 zjH(^A(%jr-VBnY^O(C^5=H>0+M@=$*>2bmDB8W}@jDY27zl~k|uPLvU*Z-C`uk~XJ z&Of9<`2J07`CnUAzqy_1y{p)jt*3(FbBq*%r*~B_$qp;!%UCj~kd=!D(9BfMA1k5+ za(_UD!SsRRqE&2L0Wr9k)-`if(WV#SOSQiO%CJTxbo%|59+{H2r3`vh>-RLbb&bO@ zQigno*^H#VN`n2t4Szp(mG@x5Sc4+~f`nxQ(;8L}O)!XYrV^*s@=EM9#2V(r2BUgj zpyM$C!zM@mG8eyqUTr|w$>HysIjssw4)N45q)W&YFX8yvqAs57&A9*e^9W6&7; zPAc+?>z|lE9Vl8U&BptodkyPD3MsT|Rc~dB9F7w8=8EM4jc1Gl8ZN2vyuV^;OyU5! z&x}@{>g_5&rKVjlyAl3|{8Gl<0~zur|NZptPJ|hyeS6)?KPwxa@<<-t!_n8n(d{K$ z>5)vByK8AUbh{m1lj6NFlI)imFWS;A#gn4m}fg)ewlEZa(4VR zXkMDvh%?~Te3L1Rc4^DHi%YA6w4@4DN9iSMdRY11vZwc*M%~1OO;=C@Po_N&-)z(h zo|Tm5GX!-=Q|5Bvvs4D?9lDVs{=z1iBK8(fY)*9&UC1Qgq&jxSczUB;EUuqjyE^JW zQCKkdXH__MkW&USYnfdo3?2jKKl@DuM2}rEDM-@YQY!%;Bb6A4O`pXMX$OJv0}jZ| z{_2;eAi||96uqH=>`u@_-s=xH88^Rl4+&{L$bp_khFrG@U7UhY82DLpd+tfNrl+gV+JbRLJaK;*QKw|;g|E<7t)DO!Ws zGw0frgp%5#vjvl?(_)4X80IFYaljj*WLE`_;b=V4*ByLw+LitOXR_M)P2ZwM1?|&F zl6zwvWb;Y=W~*f9zBE8gkh1CSsjd_rNLheyCEjt7K}=H52S_)+a!*=B7=Q2&2p9WO zmyqe%C_jG?BQC7IsTkjw(lZ>s&gJ?gfpmQKnXodRQxv@VblM6w6IjEd(1Y|**|9ji zEiE_%fkpXuO5(vPp6Mka%3L)i$}rRqVOc`TCen8_a6sCi1}JHP$sT<~j=`VIC`1uQ zklRn*K5~L1M}O@kanh4+nHydu@^|^V-tzEi3 z*S<5Is@{qXHLJ%!VwGGhtv|0_;V26F`j}4AIw=HjS$hRt*e6~)zJI;(#6)Cak$$_( z%s03g@v53|X`B@Zz5{(UsRKXwHg70>520Sz%e2TW!$+Ojy>fbMcPlfv{oL42w%J(G zc>)zo!?KcjXaVn%bLb{e;eGp!`o*A3^P=bgMrgay=}WcZ_ix2HiO5Xz2@zk*ReQ+y zFc{FMN6m(f=r(g_Xh-~E?c_6vfY+;9{bR%Z`QYdJJzZaHXMIlnkH_rbo>5vs->@y6|SH`KM;e3q`8M{0%w(qcXjJm~rWV9JRQuWd?^1aTv5Tpebj` zQL+$}X_l~rAa9@OW$@s8o~~{-{QH#vWcr+*Z#rEs^JO76P1*P)qma}4wwjGmW+Qo5 zgpVF-W3sgL&hM4F=tst?Hmp&|DP{f0I9C&+tf-#Q1?GXSVgyyaJsOu7iupHtO^F?! z_`?79Q_0}Ya4wcudyE`%QDd3}O!yq^x3GukqLVSgp>jpRriBp8+MY4}F$kBTcbfq< zny?n42I

EK04i)$L`&i7>wK#$G7!EdBB(NZ?d~MxRc%mq>$v82|6@lkFNW45u%K zk6*`(Dq?e;)Xs+?Av{phL%G2JhCJSra&k&Gv>I;(%w}#}H(pusH<1R)h&!vc?|1RF z$Kp-I8BX7Q%T%UH=wB7Dv$#9E4N6^byY_7LzODgUJ8rAdU~5B4DRJCbQ?I8nOUF8y z(O`D+T^uy+mVKFUQ>JH6$^!Z40+VEsnL&YLV|%Fh2h8u2a9oi`cw=R@ce@eCusE&B z(!-$d(NXj9!ff>r7Zecg(^QCk9m&gLnErN?Xrbu^N_g=eQ@RAe+J+aUTD; zTVGBDHESc^XRh|;S`rJGP7!w~!m9NBuCFseP0!9=^!zd8H_zJ0T^g5{qCB0>6t}9U z*Y-oyf2zC(@1jjVP!JI&(@sb{h>^`RY?~ zG7MFDXXVpA!#3}bc=Z7?>G%cIpT!m;9d2iBT|_>4WQW~tif5@_0BkPG?Xd>s#Lg#n zsVb_Ny1gV?eE?ZGSK2;_3UlmI$trcFIe?V?)b?0s^9nY5-LuQ@H!H~7M@SGx=9LMY zdem*Ei`lnlH@@#p8S$=Nv%WolrZ{98h%3msxB~1L|C2L=Z{$6@b+-|;x~lO-XIXtp zX2_O6oHyyi?%vHtskn)X#VRO<+RE;ilvraS{Vs_M;J9cvm^EX&Tn;beT9UqhhNXgD zW)(h!2VK}&fCw?CXNQMGuE9h5o}IJ#i#gx{JZ$qa78Xr|zw{oFb{lML=)5L%zOjo7 z>GC755t_SPeu3H^+0zKUq}+KlhNy(jesU4H_J(0y z>I8t&7K_g5meZ&|+)H)!PFr}a zi^9|m<6LxTgVZwuXXV5lrKgZv(pJ~n{d-HkhCvvThvl;E{WV;s9)oM^cgZ%}BfLw2 zKeb)q{CNGm@~9lY)r9RQmf?1jozv@%>VOa}3w7EwT}--Sn~#v2h1C4QgBS%dcxbW9 zOhG(8V|D7|wtx5j(nZ-*;sD9wDRY`d*PO*ahc;TWUW{2u;tR^nn5SoqhXMD% zb>pcDg{7Y`8FveL4u*RjD*Y{Yc5ddEBwv1MJSunWUb+S!ij1J#wh)Z>A882D0#haB zSe{&@xrK0*4w4~n*aTzVAhee;wr$HEDlV$+w~F_u~LalR~3 z@wl@2nfT`)xpt_F8IR1U^BU`>F>Sym1U`H?Jb0A89U}YSm=66>-Cn`6vnh5tUZXz8 z_d`eZe^81F$dO|XESCkMbSZx0EL~wo8QvoGu^S?f*(Byey|d#$><7{QRXu?y`J|1c z(5z_bK*%vYj~gS`=Q*l!HJ$Gl@4#`i^ZKneI7?4i7A&d^ePUxU96aMD0x;}s&wce7 zB~sBXc~7$m)x=jW9h4|1i}AG4Ntj$)+p|UW(ln-9PZ*zukc_-FrZiBr-Tpye)m8U% zWQB0vX765CzrkwLNy_$R4hPkl$CkA6pz`92cIEk|ecVj;V!R606O}SPp;8uTJ*;*p zwfn@BwHbI##Js1kAF3oW0P~GnuBN^Pd3!Dmx^2@@L36v&}JnEk#Cf+c#?hFU@NRY1nmVDbK`TknE{2IbYekxgfUFnGT zQ1u$Ui;I>nK}{&hywi-Feo@oR;=&u@Vv}r<9t{u4 zddp^E?0$_;Gf(=Y5;1k$hgj${$WN7d6P0UB3$LPqhMyQyDGIE~cWc15Ukrq~@X>1D zB_dYV-w7@JP^}5Qj!?rq{*WaF(W)Iq-!c3nghV<0@Xyym{{diwR4?t(O3H2}-#to` zy^PZjG_X|70qkRgUTT%;uzO#mn942R&qT)2#@o?O-)=DfIsQhel#U6}oc0F)5omwFR)-et~$s&@;dxdiCEXbQ)oR;eyT<7cE;alT+QK^NoUaBN&@gq~+%$$!BGUo8eqMvARf)v&F{a zW4FthG?5;^Ii^05Htsy0H=4|F^;;daUZ3ONz`F^Ucvojj>prV?n5b~XdBkiPmio=@ z0#76(nuP{x*Lo%t$~O9{Ak-$1L3}{-9bFY5R|>m|@~3Fcv37G_e~3>NZxxdnxWWr(Pr!>XFrrD=<>o$}_h?wxT1yEy0O;R1tuAtA!VCNQT`%;h%8r?H_-Pp++apqr9<}WeD zDTHjb9uY?cMMsOSsugab`k6B^QufZlCw00ff_0+x4uOSd8YX@RhFu<0yZ=g7RyY`n z;BUe8<1+8Sipq=IKSJ^$N~MTrs1^$kN=+2h%`umWU|>GoahezJFfvBJOVZ+E`iJwPLAi`-R&JTj-|E{5R|z;eM{(o^46;jHC)M=YkL z_aisUaLnrAUvy!o*J#XHdZD+lA=oP>*Z?ArHlJ32x%@C6tofnlQn9Un8S8(IrH`kXdoN!3v7dmKW4NgPdrD zif)R%l@lNVLrl1K61|DDC*NI&*@fKNOs52i`E9m{TTaov*6Y|rsv<_|xmyPiR=2c0 z=%@ri*l7vnr)b+ZGtbIKTAWyq_w3i(EumlPHPWv=Cs6v2lY75a^yE?*@F{*cTG2M& zY`5T+6k!7vrW2d*EfmoVl#Ugv_jh1UF>@SBkogBl8g>sP@67K>AwV!`WR9hS9%icb zF%ksp%Zxqjef)z&P&?cAN@3c;)J;)*po&)m~k`S@pHMDkDq`AKMT@vJ~E@_ z1)$3L^7QZa%!MB&KJsH-D0fD)D<(43-+QamGx@ft$HL)F`zDXzD`&}b(!I*XuKb9_ zy6il>h`6aBL-T!zmqhH31mE(C7|h8e#nY59LRx1P zY;hD3#&{R!h$B&ylSgm^$Q%{V&tm%(_9ggpv9|#lPpAsUaNI@cMr8>o3+WaP=ftS_3rySQtQD>Q z*xL%zZMMF(^SeEcPJ}en(gy2G+%|I}NaBn-6($BojEejcBo+@^ilzB~3;E~*Hj`9u z+a4rKVNNc$sv^5NWg7(%J;Q~Jbg@qmSpcs;6Fp;-vCn_q**+{_W54kkc3785IyL8} zJbzHxlXfZ^*~oGewcL;q^GVB$aRbzClPunOQKs}LtJLoQ#=@vDtat6| z%F{xIky_z%0^~myVqt_d|0fcVP)XA0(xQH4gPO>C%b04mx|~Y!e?(rS7{l0_Dad9p zOo%#N^ypC`ML!J`n=^5pIPe(B(N|sP)RxBwR>`JNycpV~ymXq|;(U(UjXWK!u*bI2 zuN?#Fv>ueZ#=9-^dG5{$#&q6?^;VguFDu`6wQgQ84)PIOrt)@C0KxKtvo^HgyPxyv z>OnEZQ|7l5)h=YIvcxNL?<&38(l;TibnLj4X!3k#Ji`X)r3m#6zBtdi;+JEdDXAMw zpMjqRM`JY0r~+bgGrjH5v!aM(LCIo@k(mK~Br_8!rzmxwz%Q4emS={`TXN%P)#X?! z`(E6nx3Nb`e9#TRzss+Wc|+Ew%~6)ut-x>Cj+BIK0^lO7WERRaqBb@-w6y6;Uzg2Ne2x*ZWg;{L)IwKF6G zG3yIxsE!#=Z7SGeV`?FBsp`9rOnRDIm}1zlqKD@vU{gf{5<%<&We|Ba?+Q6F0?q z^zJVWssEK$LQMTvltA$7I~Y!qX+D->dZCr?mq_BzX6DK&vf|&%;+2(XN<>ksvmbDeEH?^hUX8pHHHT7n>htZB-w+-4?i^Ug7?TT zY~@6d_lxiPj8m~(vReMPVSOqCS>2g7vJrP4G((4$`ka=;W%*$PRFF+y5woR*3)F)z zdd0yhviX3#QDzF>z+6i`z3AtY{^XP*4oAcq9RSk~m~31`i*u6PtCJ&00z9a1~EZkBPLv)V>3guZ`j;wL-Q99cEpnJ)Z31msWySQ z%!O`jCbcApJJ(qzaKor~>+se}>NO>T4ixhc*+5Y#=l6?tor3o%-huMI$nF1rZ2zdj38Rt>&1R=KH3-YV)H!z4>%AFJj z3v&MPa*)ZnhNMg-&~F-kb$P6y+Co55s&Z!#En6&DpQ7T8;NMt!JMo-&scA_h#IgkQ zR=rVK5#_^T_RnRKDkmM>=9DCVnF{3Qv6&P)qbHoL6F(3sol(z3stPkbrQYHr;zSWy z>e_*D<@U6a5hvVo&SK(kf5WfYKYprl?y6(--?SU4DN01=B+*@tf3hEp*NvqZB*f4z zAau`CuD%m2!jx~lzpD7@xZrz4X|&^^1R*U!FUh*D0RmELTDicUb{Jb!j~ z{@o_2#7igf8l^Td+r2sOChsv(`&ljd9!1;lXiER?b<-cD)HS*l-GQp&dqgU#h4{{$ zoFy$g8kl&%A1K?L_#Xapnes~C?Qy}WiSQ@2m)6g}R+ri6+BCXWVsWPqvWqlU&D#0? z=+bj+4b#HbVp4`#d$V)De-p6%6zxKm9%slzi#Z6mreS zz=SZu9wL3MOfFql)R--MuUHgAKwrY-%Qv;7dl7_QIs9$dXNlg<1lidWn}DB5erY*8t|twZTX!GuAvp zyxh9z#h!xxLqn0ypgOQR<^e=eCyB+qU6RQ_JgL%>Nq{S*dWUWI&tOj?e-T%A)BD5Y zWY6ckV%_J==`1Wz9EJspK~Zu^C2CSFEyDVXmh8>zJ%$Hc<_VEJ4N&HtI?kEaHrec_Ma~4(p>_7_*E@j+*qX?K%VMV@9Y_Dd~{UI-`BzZaqO2@n8 zW;c$Jp6{KBN_IyI>5c{$v2DXz4!#LaQGX`P`6#gB4TUa-bY*L?D<=X-8|=*1lp&{7 zyZ&>m{_>K*=H-KshPq97aeUPn7)n2O`BIr_mlfURQk!UJ=+K zmHhCSEmw>0VES^C&P&T(CfX0D*t5x}3^;mddDS|1=9Z(Cehr%jZoOoJJ4q^stp1_F zD3~Y#kG^+fx`(SvJU3z`GODRQEvBteQWSaVE=k9mtjH9#meW046*G zk0Ud_&dbCNFd!+-HXwSaM5VU-)AHpy)3X?^g$4ce#+=6Te*qZ(_D${G!0t1;zUY!& zIp*mT!<3;LtwySXrT%5X3)t>~x6kzH1?{!Ww5b=7_>`o(l4a2xTy zkUm1cEoZq;^Adau^*RmWDirtp6kxZ(sZlhpo|wC?#qjlGGM}~{cnrK=IPgjM*E-D3 z-y5yi!}Y9pbb+BrrQtejA($>!{g-wK8v_m~>q}gXar}j}(B2F~!V>X_YEVa~2D5`? zJA`^ZIVt&2TZ)_hz9`SYy2@CY%n5nd9Zkn#C47egiuZ=)S(mrb{?Qu^K>XY@M+UrVOv-jL;e#H{l=f?U1 z(EY3?F*0ILy^N@PI>Vl@umMmGb+OP&P^TF*$MOd=$Sl-h5JmB(WvKVIv|X^Ch-HEi z+|3<)@iNY|+KsFeA}|XiYZ_1PzhhCWhU{SdXqx;A94DklM^P3!8%Q^g{k1Y0!jGoQ z?J&#scvc@Nw@**+j;1CG;L<6evM;B#q*|G1 z`>=S)d9bltfj)Du+Xv+8d*?5?p@uwX8ot?N9my82H^Y{MIDo%zHs;(BzFz-1ev##x zmd3=ZV}eP_li%>#e&3>?AN?SYV@U5VQqiHT_e;$DWJJ2#vp<-SxJCRXa`M;Mjy?&@ ze-*3{DiH5*gq+q9D;c8^mZ?r#^ z%4uS5H1WlTEF7rTiFY1+E#)|r)w(~CRSD`aiafpjeypsLWiYX1AwHb(L$v&=%90E- zR*lu<5$m<{@+Ho)`wUcyM{pxI>?ecc66c>;F!o<*B*b6I{RpY~AS2er+|$>2;SY6! z&eOMO8NBB6_MZ^5J-d3-;}nR)nJ6wn9jf{r#^=NK?>K=EFna6mEG;8v{Yv++YTbNE z|02YK$S)@APAm*bv3S7SeU%ebWj5X%FxnE(50R{0*A_#Yw!QUyIYJwl4$1K4oGTMq;-i_zDeGP<2T|= zSPLl8RBQxE$zC&%bVi`JR8kbDpr=3lg z7)qO7Gs+C9Utv?}RNd4^Ycw;jnUyJm9w6?w_5hG+X(IWh0m|@U^A-IdMK%!8BM{+6 zx>L0PS4Bq{z-2`z9xuG!$m?Sw_Wm{>5H(2=gQi+sk8@$id1aP#+09fFHHK|Sw@<~$ zWWk0g!gXV^DlU$TC#&EYD3crW>%dP&f-UL?)Nc*v-moZlpxJ|S8E7zAY@xy6zYBUO za9r;B{-?^72J$~fsy|D@p)K=D!PmM{@H@$A0+AWYf3(a)LBHng&f=^-i$1M{4wL^E zHQ827dC=77uU0qIZvk3>SFv?udp#m8o9;el5j{S)kSU!wNY2Slr?QU+!5R94zYobmGc znXAuBdH7QD>3&v$B|{jd+6hC9+%ANLHLQ2iV36=HGIW6o^YQ56;apQ>5%37*s_VmB z{X(w(w61re4_S>H9g8JZ4?0&rYAzRoAIvh_;Bwbu{z(Z0_KveIE=PH;ml70aM#fQn zj%*Ae-kNgv__4L|uRD+ab}=gt%8MN)MV#uHHzX^qZUkMU6JuHJdX1Nn{&;b7!AlK` z&@`3H$j~J+o>v*Xo!DxD0@&sD`~l3h8KDD2@TyLPA2~eFiL{)L(^9#xe=K5FX@^}m z2xH?g*2?rc-}9nN=kF^QQ3Znz8K#{Vp)t6aSq>~dl z37ufSbeZ}ef`6+McTFrPmnNBsYs#r5x?QtMi^oOG5KRq_Illma<*QVW{I&fgiKV*T z4!5<&1+VCT9$vwe;zL?4ZxNdh1lL>44gRoC1&qact&Sj`9*8RLF$Sb&NkH4PBl^06Vn3!`<3|%vCyqcnh!+(nm|O5-jy&)P|jEiohFR zwLV4h_IZTwvXKB$r6n3zAQN$xB?rRi#z2p!%Crjf-Q@rGJl&hV6_+D90 zC5gV<<_~q6!(cJRyB5Co+tMOt5Qe+M!EOGA&E^9^T5%ke5Y4PFN?AFoVA}$Jm$uOr zIhI_fdq5S!$)~qcjQT%j3QQzfbttx-MWC0X9^$8Vx(k(rmVE}BWWp%p&dqWCcf7@l zj-K^eF{~)TJL!tyb(j0AN4mSD@Api_;mfDtN)8`e?I3f4@#ifU@zuL;#NoBQ)?p}* zf=z?%R9|}cOO0{$mB@kTeK|zu%gEtWEvxP%KqP}(__VrK=B(NpU;U!q$1!{5`D+t; zjr>nNN2NKq`_vfc?|%{VM8`sg=OfCdAYLY-L8a^H)Ff)d{C?;$8Az5xjQXZqg93XE5HpbSjp4v)?2C zq=?0%s#q!)RIJr&Einf%t|HdY-eczmNZXfizV__u9;PJsi2}%wdBE_CanIUu+aFZJ z0;L#*xtjF}&zEh$Gf0#q)aBQ!mI7TEKwl`GCLI+!_wJG>Q4$61@)T&xG;r?5NR5xU zD(GE_$*dGqX;wn`))yY(QguSj8M|mJ%~x`8os%igf{o1_uhD9Tzi6;grD$UMTBTU5 z*HHd^1pgx@hlIEer+PwwdDEEZywxZ^yzX=%Zrp|KU+*=d7GmMG-Ud6i zWj(ggsolI>GJ?@B8Za&1T}(E_mT{*u$fbJg>GySV6Fou{?kpL=_@xJVNvX?vxF9l^ z-l|T2$?Ircp<6Jc)u$Ei1@S76vby`$p#QJ+Yj!|^~<<+`K?;JhwP{S=Jf-=2%7 zV4XcPjs<%BRZGSK!+CZ2RzLa?A07%569TUqNZ7pHvOI;pT#ijjIg!P#>Y4wvw))xl zxoM@4LIT&CcqvOUFfbNPx?KzE-b|BN+NlkbX(1wws6)X_?>4k-Hj=C>nRzf{{AQjP zOKT^(wTkVQQ$$5z7a<#UX7a-q^t^tuTByksk1Lb?}1r^e}9DwH+5n4z08l#!?tD`YTeNTcee`t^OpWWF> zk;^ztI*{#Imv&i~4;<)wdS)dzryH=P?U5uu82oo58spbhJ3UHHg7)`|jJG2dIwQWq|9{!JM(iUbNquTDpyptDf63v=6e}AW%Rlmy$M9+0olwF+6S$3n7yDfvE0i6bNwVz=+pQ-U#y`{@EU@lR zueNW7;?MW^`pf7u1ygljcqw)J+&!>#Z(Qj+oEK;DHFoS9HE=M=v)1k;!1|umh296f z1laLY)$1n)!H2Sm)gfoh@aJn6b-_F8I|mIVXKzDDW%!0_9y6PGQU?6|f44EXwD3Ug z`tj%*I(#u^5YsRufeJ9>GrF{}k@jnc=u?!ybI8^+OZFTE_m|q}R#g ztWg9&i%+q2?UE{I%Mh03%G-SKtdSJzk-UIx|v$;*& z?ZERZ%O)qte=)Gf&|M1oV2^u-rSjU_lr1X>{8%3oZ~qD~#TM?FV*8NmktEC0W1YmK z4}#q806%2y_3@sKsnpJbUAwLKqUJXdDQ=sxEOcnlOMgeoBA2k!!srVIkuxHX+|B)o zJ5~cfVt0U0DC}$yEwB(U4CuY`VAZ|b%|G>zACKxA_^;F2$K<>Q^16KEyRlYALy3$n zDtI0@Imh%}c0IqYx*`3<)x<#rUbC7&%+49;V}2@M)b1THTr=uPY)@TvN_KgLuOxkR+v2 z2`cj$vJTt1vd`)*02E&RD#USimpSt5vNGCo1Oc{;@AzkJK1lD*z~JqCdW~3hzDMB? zFWa_ifBXI0Dk(1LDv^W`HMNqoWPhZRd|BaXKsWGFFmYRv>Eb2LCE>$Rf8(`-jBT-Qu5)~e z1@Khd(KZ*a9BJ`1F_PFLIDhat;rj=CJenxwWfbfi#8Le>bL!aH`XTDHd(YKf0)8M} z@8Y7?sDsZ?=VB)d3}qJw$#h)^^zl zlT6}f&QI1tvy-}5O>*v?yTXdV+?r@-BdX|C=aAhKE6&3Sh=Uq>?lp4D%U4MZNV*J} z+qQno(#~#_ah9=nbC=PrNoN1X=Xzp1*C<1~F3g`Den~w)qMJ};$uTzlxSy>qw0O4p zNv|_{q!44i>_}_U?ABR)>p82pafLA1=nN6XpcIn~Nm8UIm=JPP+U0{Rxjqy?)K;yd zDITI;ce!T5%3>=)eMkrDP|=^jcJrh6(l>X`-#sDo-d3C%9en`*`bn|3Gn{5_S+O>p z4KIXEcCqSC(T`&jAt9s#!6G(Sb??riCUeXXJ1-|5a8mm`vwd4z_K)b>a3NyvgN?_LIV||D z5>|Fp(*a$irfZd71`xIhjkI9Rc!WD&I$}$QsL24@L2QBC{<;wuf^Xjjn1g6pp{-TD z?hHySaY0@64@N0X-RrC+iW~Lry!12teu0xhS4!n>Do|<5d$2sO}b0!+3)|nyI<`%cI?=Feedh@InUcM)NC|f zDL4Xjm9)&cV0(pF4*jIf@qn`dm&;;E=FWzrfK_T_HiI|2zYiMzg=E_wU!*<&=hX= zQsgzF(JoM~JAB1n}eb9Qy*>W}cr#!hXmA z_ni@l$E#~^TP_pA4qZ1MF&o_LTcrVeR<0RASmoh!m1w5+--$a+_+JGGFWiQIciy9g zFVi#%rEM0Dc#ousP^I1$z8BjbSaB=gTNFZ9v0m5H{3tc&c|hpmoZy3QMyupG2A+w5 zL_X`*W(Vw-@)}tV6@RQby&0+JNR%sba#i7EjK7M2rtCA(T1-#iZKy>NzM$l28+_ zw7a>zC%9T4;XJhU#ENq{ZzS&$B_M=iVGVL-h_GzI+-W&g# z=?Clk2CEr>MZDRsByVK+@kDVzA{=5Cy4rS`t^tqMmr`mYz9v% zTC#xtlb^FyI-Uqcdae5eJOU_a{nkPMgkc#19^p+qnxLwK(%p~#SDOmuV@wyDtbW@Q z%I+!Pr!Pi3(Q05S<90dh8uft~+is;4=Yejf4532UlhUU$Z}je5^HaN5WU$-(96{$v zp?-a~bN+%;M{BKblEf5$+10JWmA@YK1l8e8V7r-M%vNfXm-bwMxAh~UgxhF#(UyAo zNyqOzwUFy9cQ40~J9jPYPCupL_5X{e1GX0EDnlI?Hhls+H*@?d%xi20cWs*-*CmHO z`GK7VH*Sq{4|I$oHpJ3}8;~~0>D^nz>_TNbC7;6X2WUnGj@@3xa~1fS-n**R;q;i@ zVuG+0#PWoloY3U(BR4F1Es{M@o~QZOSG5q_HX}gXN1Mh%qIwK3Z|`p|2a?H&Bd6x} z5(&{+(Ib|4c2cJOvna4_1a!?Q>}906*eE-OVLAoj7rQHlfu*w*aLs&L$`pJc^wbK- zFp|6N<2uZUw(?&C!1-CFNZ(pPVY*Jjw5HeQsqQ42sXY+*+1euAWw+(&nP1k@mPtwU ziB5PbU;Vx!MOKUR^z|@}Qvm&(_-^LX!K$0@q4~^I42_+~aVub1Uyy#MZcXJz{l+DO z3QxeF0-8!l+iKfYg7arC95u;ufIC}a)OVU-UtW>vTW#A7H_%XV+n1Wvsw}ry_ic)u zZ+p^};xg!6<`@AZ--Q*Gy?YV3W(M2OY(1(L;|rUKpaCa_fx=$MMWdaLc~f%oMEs*X zzw-y(3G_LYndTF-6lH>NDiE^I@||O{V zAPsD(IG36wp>4D^V^;2hhmc^0TY;UPDokAx=$0p^R`-CC8=O<4-xhqRx<|+cvMC#1 zOTO3}K{1Eai(0XNn+?#hzU7n;C1`ggDR84JrcC_s0byk-JF@2{ z$|p=I_yfp{epy?mH(8dx3$d3@KM=NS$#Ao$nWv-2+%+!u&FS@#H!A`QH{AVv)+HR@ zDf@YqS;~4l(?by;5Gpm$Oa8a&;DGATJ}(Sh!XZUGonJ5dmtiRNL-XTr2`Qkv_*#je z&zSZqpiO74dOHX}SC86Ro(43f} z-2pzKcXD^f>ojs*D^hCCZLA;*vN*eLhJ*JTlluTJhTG>R#kDC)f_N%62(xV3yw~&G zZW{Nqs9JUw$Sd)C`go`pm zVWmJws9;g#M~9Ug3(GC?3^t#j5an)Tdu>Nso|%gw0sGEO9Wmu611|=|pGg4=LGXW3 z{<_K*6Z2ya2W?05Z@tNKpsF-w-t?J86>b}YwaDbFbhOtWxUy4gAmihWlj}{h8qsrI;)5W!|Mo1QDWqRx&)AP5=gtul6G4IAQ7#b3=i_^8RjvOsh)~QS^5Xw(aQ@rrP)I&cM@s)NRGjue*Uw6p)OoYa7lnk+c_-CpNB^D{1Ab?LW-|udGF`BV(rkg+fwg( zIqurq|CqZa)seburXfClw4ZshZ;V`86uNcvz>T&i+Z)H!4j7Ec2zThphWMJxcAQN4 zQ?`T+X8>Xnz51i^o8p}{u7F> zu7l{~;w4BWpgo|_c~*;`aM4a|nPws-%v~`X9546Vjk|bf-Id!CLa_Wq8lT8L2~LaS zoq9HbL;B^{0u4Q6af4B`cOEN>*J5=&?r~0t1^s?|Y?nzc;56m4D98GAYm8eT+)Knk zJsN`=;OrL>RYakk_|Ep6R(H(o(eF2IO}Vy< z_oZcRp2%%e)urXPh|}48mV2K~9}vfFK)ZTq&N7lF+s<=7T%Dd*&6kT{!>3Biu;2y+ z^To#T7l4A%5GP;m2-0X67Ke`i9C8K$`1`ZN&+7>R3oVb?VTpQG;$ANlb9uS^ zaM>X*p4kgU_Z0Q|f%v`Ut||H%|BFsVW8&{xVjXAyF>dGKQcR}4pH+3ie&xy+bn(`M88Zdq?(`RoU; z9BWl|yPUAP2&+}4fX`(O_3Ja|@qZQ$!lV;JaCtO+t%~h5k;q5)58{q4?^`lPqj^h< z@qFIkQA9GIbs}HljRlsZm*QlW8IcJGHvqNF0$1D6D-YY$7C-A;4sajh%1r2YpF#3; z6gB+lWiP0d%BH}BY4dn6)gSUi*5AE%Q$7RiG-t4g+0ht zcUxmm?{Czxu42lwpnA%LHC{^}9qFYou+N=483<3J{K$h1iwxM**I@MJS zDLG38)oph_QX*Sgbf^G7@*{@0*WZ97A;2z#qMB8XH7e%CVWv#qE|49F>vOGvIUe)_!GRDYqN=bqp4-Ol_E3?V%ul#&F#jHPyNrbaS(}>K$T~pM}DCl3z@Xh?QlyG)TwpN0_ocoei@Y1 zBa(~PXyods+Yp&H)xh}aq+YWEHU&9ax{{{wv-DxAQR|yl^^(lgl%Nt=Uzqn%?PF0EmJ^I9Palb5{_;{IEO`9PUNYau@J3gjjW z(`bzQ4fIIihjsRgT}jS=e)JVrh-s@BNy*A($Dw!$n~{3y9=IuXUXGGRyg87^g-pPK zaoe{J$KI)jV|VJh{XHJQv%JhCJjMJ?LC}~7@Wp3avIe~>ALvPMUQZ+9T#-gyModc_TX%u|o_$cX zKfP%EPZccpYkhvhpeh6^YvKH7D>i9V$~R*%F;(S5@(hNuGaI402b@Rw<8MRA(~v#} z81OvLI|UH^4xg7abA_uY7jk{p*MhSUFENN#{RqKu{+0ifaD%j9?zsq0$zNq7aaeUK zsd;AXVH$NdNw;uAdBd!>BQbezMyYy**)HyS7jw`pOcyy0S>~_!z`L@A51DN+qOEVd zFII$xVYUI~xn4OPOWC#2i4-N1DWwG|>5IrMzPbUM{ad&7M$)=x9|7rWmU~(Eej;4}<`KXdXvQMGGwuqx|_<=kLxfXrX;>Fhohl=nK>D3qQ>&MnH zWt^fYaA}IL|Cb2YCoz5Dchm(d_+`{Efg1->7uTQ`-4-mC3vd^7_Q*e<`b-+IEAofi z+KdiX@D0A|Apkpn1$A?p{1GX>^ObZRB1x>w0eQW19b63o;~;md&U@G_yv@C z4s+s0+fT6iy?bA=Wr0rQc(hfzQEPdC1k?l``ZbPB8sqwgBtXYf>&(e=T}-pmU>_p3*uQ)_MPEBe&~B; z3H5o+zy@l-KW1_4uYc`EXWETKPd2Ll_Sn~(8gNr*p~2)P?#MtU0825Dc$&q4GL^s& zi_?so!_Cj_;2#zHc5nV|nTy*{Sl<@^?zOS!>uR;C6-Wl;>K+(X%-^!bx);l&*#}m% zgb6)`XNuN_SqeO>w&{x!svgw~t^whL+Tr1u(2(6Vv>f{`=M0p&fq05?h`jSeU#|U3 zUuHvuoL#hVQ0C**J$@kaq=XQ>x}32n(qsaM5le)NZAY3I6%Kv>>|ciod?xln7X+QZ z9FId7wXw$uTYI@90<;ne5w32`IM2>3(>l2P71kuO#H9~7xgHIna2)9du)}LXSXib! z%dhPne(o!!)!bSum_532Q%fh%m&?c@zh=qce&4fnPZsQvKAn#KzsumBF0u+fb*6?ZaDtmETf?+==f2ZnT2XU{^b!qIp7p&VNqF{G z^@e?eW#TYo0qK>W7~_54hw_i}%{mze70CRSCUkoaFG}4U*e}2Opu<$(rwnawnBQry z&yV}2B!XVvQA1 zK^^#aLeBfl>(5Y%^32tq>0c4o|2G2CXS-W7NO_PTttWW9p~gXE#6-m%rotgyCd;FpqQupK!?zJ>uMkh6LJHR z`=d4U-3Y!WLYMzb%4fSA711FwZ&>7t^Bv6QnP`vg)TaKZAaruXc>#7t}6 z4(0HvNv2;D{ZI8s$+oZI@+#Oo^(MFf(OBnVDo#j;(zNHTTUOR+jLY14+2xD>`czDT z@)DFU+eP^#mU4f6YEMlwDbm0DeyDr24Z5Z>+W}uG#5uevht7zSRZK&69B1h|5)bQ+ zodZ3YIi6kbhZ(jEYT4l+q(125Yssip4Qr1l&>thWBxx?m%R8WWwrWR5XGbpT^Yj(Wd|xf3$xeX)fESX^4U& zolIrc)_&z40573ccaA?=ijLurLv)pI$L*TYoGa^Ct*xf1*=%ee`8(w*lZBY7W#Z{?h$UopGrXMd#^c6Lg0TCpscmTUEQ>%G8~@de%XDIB)6C zr6JK^yx$mdRI>`x8ve?Hp$ zi`%Neys{5c+M}MJzRh z!z8+vsU{-FSA85wwn(g|DoIZp+mbqy&Ns63cb=TXu7Yy;IU&?k=s5itk>v{W?5Q7e zb~%l%C6#_oy~c{NQ>?9J@v(?yd6mG9>kzy3LO74A7hTx-)`&M-7w#u7{vC1_OYocF zNBI^@USGC6n5EO1t8=;RY{hqodl?O$xG)Ck5J7swRitsNkT}|cK+V+yF@0Pb3ugp= zL2W^qKDyS?HlkL_RokK2=XYv*#lkG{pH3Phd7F30S*U)q8rmJf?90O~bg~38O()*| zV&9eSn)zG*qFr?bZp7X-zBRF)TZ2;1EPJOXVF@f%32rQCLPa8kj&`Zg>QB3QuB$6b zVzI5%|1=8#GJkz7tsV+lPv1)`@<|Kwk6-p&5be|nsRQK7E5!M6jGE;a7U}xS$zWlJ zYciEFy#RUEYSkATNznYVrkTI!CKI z!ov>qrqRJ#izxTpWq@hb*2^1RLd-Cp?20V!SVls_gB~(4uB_5=_=*zjaW`vV_qeYx z@X4r6*(Yz1d+56-=?3AHX1q?5hh)CY*FXh+Yy_=TJKxW#J8bli%JE;hZ^FXYhvrWn zzJ*^}y6#apV=JSh$a3$$ZCuhdo#(CG zq)PXmW1(dAzy7_l@cx}>anZK}r9>rg;$Cs<6aCGW#8U;y;HI>NpeWPYCF(;Xep1QmY+Fh^ zKWg7u5OncyLaD0 zC3W4UF1eiqm68-mY!VraHkxa4x*WASOG=+*ENDWu-|m7NfmCv?${?v9BHiv;)zhW0 zeD~`id)G4?oEZoam)%ASuPL^Bo?YENbt^D`Z+|&mwU*_*KM_D_iKwRDHu12zd+t$` zEU?yMK;5A*U#~oLxC~dJ*$mJ)9@j#0b{ox(>G=m4`(lXS%wXQ1l|&L6tJ8Q5PErV5 z%9wFc5|ghrLpuIT#rd&N=W*RX?`obIszUdH2yjrgJGj=8@#e9(q9A~^OUF8OeOfO!d9at{&U?b~-VU;Fb$>L^oT2gRv|0B>7jp;}2G^thuQs z#I_mn2=Fuxe)xdrWfU5ztJTxc&vCQBEif{rQmId^Oa7*kddQEl3~j?H(H4J9qP@4wv$^*0;EFdsijC)YypTQ>& z6WQUc=P%h{I6ftqE!H>$K>PA%eCssVbr>^qXFYx2ab1im`Hg|7P-V%>F>CfQi+hNs ze9*hPJUZH!)S)2-c-e~f_MGtCD%(zkO51u>`1M!%YPK67))+@c8EtH+44rnXqkG`w zts+mYn{Qm)#of){ARh>+vo{VDou%S+HgNFHlk5$lmqyxv7+IqYqoFh;?zuVSW&zJ) zLtK+c0x=($E<^XX^C2sg9?f9~siXP2_=PZ6WqMH_!XWym{-8ruE?SY? zlmY%VUgCP9r%DZz2W`IzytC|r6HleXX$($HlSbZsp`RV;_IgS|>@lwz{pA{k>)@Fb zLSIw!>2MVdu+l)l2c7E^~LAJ8Vm)*r$F7U#HVyRwvIM z*qg%Yll1u)vTyW@o9X>v2XYCbb=Lk)BOg1-gQ$6Jh6+y4IWE6mvW7~xC%3nAa)hDx zMjNK2#uMGasz7|fOL<-N&n0}?5))}Cpd8)XjKBpv=gZ@pG4f`<{xuH)Kk0)y6h@pB z$!Iqf)ZK;SF?)r3gpmkWL3&@F26n4YLu`An6L~i@8@WTINwdk(>HDBokp6A5VUuHb zx@fN;qC-~aKvz+m7bfn)9LXI1@JvK1ndI^ztW4h+A)e(`dwGtk)NmwW>DC3<)s;`9 ziSXW~Bg*0%N#0T!_yh$1Qm>301b-B;i;Rl|@?+IYf^?9G9n|x70LR8cZmjEElpn_< z1i=f#J#L5~QgOV*J~j7kPsY=aaudsqdXSHP>~n3=Q=T_Ml~!5aPsw;*9{c#?vd!gC zRnIOnij6A9boVC1`^j1xY>b>_rKh|0|GK#ra|smEBk7tQ97zJZGRCRbO$GPO=L1$% zpPSYa{<&ps=`elwW8~dFyAAwjH2YoIb8f3pzQZvN-l3g|v*)H6`9wP0%M0!rJ$tuv z12c<>4DfQr?rtBS$_fl0+>AamH}0>rfLTA;=&(08?Z={BwFo>Aq=}3N9yUWJ*hN_qGK)I9c6V2l9>o` zg9kz_nME1f#+`DXk070&wn$+~fbA@cKt#KnLTDG@4f z)DIu`eE_s; zunk2wYg&B+ee>JXlp%EUI8t;JP3*ogV!&&HAfpi9a7z`gMoql%XN1FF`lQh=6L|RH z=O#H+&Z_6|t^(i|Y-alDQd5&{S(Xh3-CBCBr29Zeg=THd(fE=FL z{)$MRzAM^Qf3vU0n=f&sd85(@tzJG&GBKznd;6Rg9Vc_&QbZ9tPm}1=Ow)TU9DCiU zT?MTKav{dc`GGo@s%-{{;V=tV%qcsFqL5b0k)Mk*_OG%n{j_5!OtTFy{p3y;W;8v` zF*cX(EV(GH+ldG#bN1_n?$VRKU`A+mUKRY}|24WRr0h|&)os*iz0i+7KE1d*`4pD> z1A+FN{e}Oa<*V3u^X*1%iq^n!HVpFZ-3{pS-xOz8=e)2X8*T}xmypw4tUphb!K1?V z&v)MR^5==O1+#K;@BLDvoWGi;NnW_OcFzHBRUg~gC>zFr8N5^ZkwVlA0^8T()3eB_ z*&)jceTl|bWDzXm5YDtKoz;OTI96^&m$`nQ#Nvb_b%X$Zs4S1JCTW_3Y7E7vIhh^5hCkGIVfN@ zIZBU}QTV3z1o(yhM!nP!YQk8)dkS`xCN)j$# z0gI(1IzO*}KYZy1d3g5~UMQDx{dI#pK=w^WRm3gi!(aVxSwwMcPz33eZao#Xr|W-< zvCM0(CJ1X;p@|8Mv<-&REJQL6=S0pLCF24M|E2HvL|hx*%+AsuW=Cztk+Zg}sWZ@e z+H=WUb+u3WVXClAUrV`^1orZZHsKKmuO2aSk6Z>|7CYFG++vCu{l!_CqS_iNV1S&1 z6I{$unymtT=ua3v3j35^tfZi&*v5FtKgH6@9U4GD%(IO!lBOv^?MI4^zXeZzT6d|Z z{sNcGSp`@=8df6~C~H>eME?q%`kc#cXnWC|p6uaoDqZF@vUddDyD;jOMd0+xAuQ<}U`kYSOay7A}7ZOS(k3f6| zi{5x|-|MLzYD!S%Q7E>PTi{*oSLVSDjHHv3AqQhxZH^QEZrQIvwV>H?IILmVN(00% zBmJ_Xqwf}3TNq4RA-qw2f|t3blH-ZCydKr}*ki~}T-xz*)Aa9Q?U&pGbFdq!Qrzq7xqcN%j4vVJM4Y~>@$WC$I9ic)uHIEVkHQe`Fn1}MlC z_56E~SUuwX>-)gZ86EKz7V|)J>I^CZHiB?E9sDjag?lifFGhvYT}gBNkb#Wl<4nhE zE%&*Z#l%WJIzM@oBiVywWg1MmF)})EGgR#R&hFh9mIiYKo%N;?ymG~GGI?*t0vRDE zwC3GfWFG}(Ri#g;&1K+8B#1Rr$3Pni48@2Ps)?Pyn&2>4OZB3#diZmfX5s%74XG750NZor|PH{&@jczlidGu@AOf)3hJW&4H5L#i3(GMFD z`|B=t)$9-8A%+oNy89L-epiAeb7|9a2BwzVg{XbKF0z?E^C>neb!sp$pb^s;@S4TA zQ|n+|scf~`czeTMu%{_JeW^KndgzKRJA^qkl@YMN&W?(zi1FHl8$K=#pJU5-KaC9ysB#8r<;NC+b$ zfYJVPMA?`5O2rG^ZS-NOXMNlqg~olZfa_3+-YH-GPmXhP3J4*l<_klB%gRJt%ekos z$uuM;v;p2Xl1RA!&fE9J*Qd>^4llesZsNE<>~i){#cUy~ye25SG5w;2;~8_`G~wa( z1@R}X*O(;TgJ%YPi6UVFjSKgPGV z$ndkb63ir-fn_uKPk4qU`T0SrSmPhqxcn1o#9ug>nQ|EesVy7k<_30JnvD$L``uKy z7Yp&$>6R(dwK1GHZI3=9eD7Y%pf$CINAxNcU0~taUp@)J_O|sKJ=^?jJ|n51U^>d8 zdGX%Ywv)P(g5W~9Jx*sx&cABYCBkS!E$atpGbH~wL7jEC(UDnlcyS_Av~ttpM^@Vf zycfzP`0gxk^;a@;~gKTEsD7Xjc0yUZ$*3uAd%gN^<*+b5Q#j2zd{0(j_| zxOJM2mmnf|8(h3Po}3>O82cyP(P9aQ&%-EW{doWQ{Ci55AjdnLlXQSfaf&9DQWnA`dV9TMA=q2 zg5jAQq$^bvJVYNp|Cj~jw0o3dGqAp4P`w~sphZK}jfJhySx7v6+guHz#<=*Z0ceX+ zxDN!tltz$YCHgVzKKTa`@pYc(i&D$n_e<(sAPmeSd&@;ak1k= z%?Ys0;}Y(TR&12U2dKZq;UX$KR?g(G#Aim>9h~)5cD+KXoYBX-d{cQI|FSQHdEQT& z^^2y8MLf|ZZCQadHvIrd4!5kZoBN&TBiVx~I8T}GSaM55$((qDOnZV(OU)TZ%*1dMkUw!OQRGb7T;g*W#-Gm z`ZD*HnkcKyl8O{RI{a^3CDQ~x7kg`6@rT=4u>fcuF5XapItjmS_L==iGZH_B<=hN+m2ID{*CPI|4obgddpZT+j* z9<1af5f4@RV3N%|Pmxx)4CoV1E^otG=Kp!RtjaC6dW6Avb28l6V7^cN^+OtWR==_D z{mw?s3z6aHGds46c=SDhLMD7434e4vT8>`wK0aF!N_W-%=aHL{L|S(Iz0>Mp;J;C5 zJIqPZqwXH`!Q0I}u{pb^OsCPirS6U2U(+96CSCiN`-`P&BBJH_6xG9#fnC}C9~5*j zFytoJNTTcIq#*;G%JC`lYC!#-xPj)r6Gr#~c9LeambLZZEuAzlFKf6JlWg1%tEF!_ z*M0lYU`Ec!QwE|jwUxt+NUzfm8>(0hs3Tx1b`D}x;Kj}*+*!gtfnDl>jymYGnXFHM zc9Y8UWXol>ujcO;1EybxHkI{o|gv`Hic`e{XG?1|!ic#W3U520aKzpAE z{^SnzfjeNh+tn&r!c1!xltOfAL_@ND= zz5#_dM#e8xF0x^&NuDn$&rSa>=90vpLVw>E%+1ZSWzQ~iC=aNo?m=pF-z{!DY4aTJ zQ8WVsx!MAT7?&Z#Zh2usH43}0hy3q?u1J00glC9EKLjUICMj`+Z9P9-6&T6#eNtx4 z0(i2%XjQHaqr1EoCTECJ7!TYvs2BMWH*lA=Itq%2`=}x6Yhdl`1k(m`ynG)2A*Q+o4tw99CjZiPmXoI-jZ{j6Ge2 zn?;r>^Eh@n=O?o?>c^?XA{fZ!TKdy!;Le1yJZdKy?cUN`={|zqQA+$+Qg#)Vr73LY z^p=5D8N^X7I8QL{h(1|`2pi1wqJ1CYC=ucKHYZ?ke&A#$r97=dz3$;sOr6$A?xsy5Qwp%TmnoSyO`BdzE-yRKbDt&gXT+I39e-F_1l8wXHqt9dZouhUN} zXY6bmHgk4&3G@_*`DVD7eeDM_M@ZpIF<}C6e3>}-Sc<#`l;K$Q@Yol52%h#A4~*g+ zJbZe@GBPRim*cp@ZSdVguUu*OuBl~-`3NH;wlzZ$j}O1}H~pFd;H@+FC7zaiWYYLB z6C~P5MC4|Ak@&M$`Bta1h`JwDIx!fT_T@Js$alI9QL!V&-oBQr4TwMH7@Tw;tbnEc zEG@6_1~$~_Zk{afK!I}a`0hDxT$(Xgf~YORqzYHO=ODOd|TSSS#~ybY#RabZRh6BJtd z$KUbNMH`OctbSXpQ$dAa)Y_H^1|oHnJeK{!YfQY`eKrEF8X0GdyE19nHHc<;6)1Qb z6FHwRiqzYW3MJf#3_R3uu3U=TBCe(@&>)eOoKT~J|`S|Cf_dDd4!0F_uc~Z zyT-%lc|}@^30@aD|MUQqmICY4EgkanFjyK^3V%&)ggQ`O-op3p0x@#8Vsv=;gcdS( z^tur_mhjfDhTbPi{M&S=_6O3w2}XU)2ru4GQxRW23mni1@SKv86HZ`h3=Z;@TL zS-YkTZz9OOmLgl>Xi^%bi9Hma=@kKZcwntJ{QsO``ZX06-Kqb;a~chnaJX;CZr^mn1e#p!@r!QkO$Y~DmT2<$+ z7?-5!;OI2ELf)`ZuExu)Tc8YFaSFk)O(x-4+iz&mfuQ zOpW`(tKxxyK*w1i?k{?;g&W*$dF+}7P^e6SRYZE>s7S&#kW$t>1O2TW|&U zWYv-}qR2e;#~V?Gl%CrVmCNOmnrkmn4*ORK#DXab248TuJCniHDZhvPeuiMl- z9kEeUhHVPa_19Tcsm{O`Oq2**@C|JSMvqhLmgGtgU%Xb0O>dcMw4qGiIl!J|s{soZ zYOe^_M&3FcI!Gpe^Qbp4M;-eGxI`wYaApe|+{n8R%4LP_M^tyA;1_49ZVi?RCz3@R zUuHaoDqA3@f6eCZ5cJR0naM4AD4!Sjt-$4W@^zS=y>Csmw+~=klD|8(jN!9KBCqe< z7{&X3w`GaRfEmH99-kD;c(Jb9bv`o9fbxm-_n;mLtmxie0wa5)=nOdcaFgjHErTLM z=d|`CbzMZMscRqLjV8hqYb`Fhq=|zUNxsHLSZ+dKv&ZE)SLKuIhpU^}D&$7VY0JG~ zz^`nZ#y}1dBKLF3FGrddjH_#R@bm%BAmv(D>dYTD-`M1`v-C#qbo`GqO^f)&B?Xd; zq^8_%_>xat_gBKnRd7FY_pr>oUd}oMDKrzIlp!=Y4ic#Ub!!lVV;K@ zs2O0cKvt~BIkIyafwHJch&kK7Mij*az>(h&Q(Yqy6_ysS3!yj++G*J&#_rodqAbJ& zMWc*Fb-dfydz74v`G-SyEoCO!%ao<)yFL{GM#5bUpHm=uzqg$+0*z7#a?7jHEAYXo zxg3Ur#KkvhGcjy0s_$dnVaQl!cGSALzWM9jiH7_W&3_NjrVQjYb>~~+tp26+5R>Ok zS_y=2g_!-Lp@=&c*a?|nHXgm8>IeZL%m)~8AVsl@p*$2;9kb`NY;;@IwHRO%?+3g* zGk~)^E+wJUfJx)F;+o~$% zNv@TX&8-Mcgu23da+GGpyVf7Y$y}G>+BI1R)z}U}MiORH#DFYmfBA2AxO_sLmI_uU zcblr2MD>3BjHZ}H!tB>YZD`U{((j>(S<-exdH?}di%K@vy}$m(x0J9XxVWzqQ=;a* zLd2hM<6+qet~`~G5s!W}RQcpf`}g;(#stZ=vfD9urup6f00|Oi{E)r-ZT$&q$u}AK zRc{i4DJ1kpO>NJ8SR}QkiqiTg#w^-j-MJ@75re5!C<=3q3zhw)TdthuaTUH2Y^$H> zDZI$JXvk;F$C|{<(@ZBS0ar6B7q6f9sp)Mo*qSsG?yzk=HUzQ9tzBhGP})6ole@wX zTurh(Rw75V7==vf0-cv62eTDcxl!nrMF8nXe?}krW?Woyc zswl4!-aX|U3YCNNlTKsf-6N0HXNZk@uyg=xc4Hnt7P*>3P#sCSxJM~Qd+`Q&E8WkF zP!yfeZB?h1yfKtB7vN};v{d3!+d2Q0u*|xHzqF}l{fW370E;?ozBv9z}!yjbv=O@g)?gFGNqMBzLb`wrSyC>*Kv8rG1A|A&1HHeRTqT-cQl( z?Op@YmS+*rnxe_ZNf$QqC<+0o>1a4zq9ekW4i#^c&{>lcS&>>tcqe2P8+O^#_nw=- zp~2Ly-KFCv)R*&kths~B+MP^c(epbHF*ew3?7J4Tewn2fpH`&-=en|x@)(D%ap8Y2 zwyoI$N#dW+C~tmVu$W3HN*pVUv8j(8M<^q^m~R1Ga~HFd$U*lN)RVvpXU>apEjn<# zIo2`rJU&3c;~vm|nG<7NF$%?`gr^XIlFOL`9e31QCowlUf#+oA}kP(;UCPd3m!rxV6ory}_)$_&9gdZBo)J zC@82&ozM4`5^K+L)C$(81RY#)4St`rU9~;^I&mc<=7qcT3D*6t$5e@kb$6(jTx$M# zc+TGIWNSmz1U2YAK@oG8=U8YpAYuQXC(rgfS#?d{p;(*2{hGh}|BMUnw|x;)4BiOg z0$v+X5997@>%~9F{g*3>#i@V9%L%xA1M#!t;N&bXhwB$5r!sWUfoT{s7~EUB(-@3> zA+(*K(KU46uZW;f>Bl$TijbS3lsh<<@N@~hmf`k5VnGm?qsRxJ+DGXDpklF4&nKPl z+VtjL9nf@?t<`_oCFgKVLCv`CKnoU2Q-0GP^G3{Az7~=_0^NeN*a}=Wy0e0K&@Z=; zkRnmtTe!=;xT2BN(os4DFTD1q*Zab1ERJ>;;rzQ^v)_G>H}^hM5f!DJkd=zi0VBrO zI=;0KS?SU1sNA-5V!jr5M-1JTU*+4Y)j&Z&1iFfzMyaYKq|p7&VmxzSOcuphiy*X$ z9t27V2$_wLb~y=%2+&P(U7qdT1f8Rc1tou=vJHZ}7c$N>dJNwfcm?1wVVvUAFcAT1bUU2g>)(`~O2$K@oIq4Xk#iL6t3(Z9Q2Y_k~x zBiinNPHae5avW*W=t>Z#WwRI+zXUa6>dIDm*qF<9$PR8dP)pktXsU4-)WTA3cJtI0 z`jmL|5XL<55&p`>0&z|Ed56V=AYII!88@N2rq4(JRwMZ~QV?JF5h7DDu$5A7_D&(R z=`0-5>yj+$&u8hcDec?Gj?qHSy`(Mnd4S%z->;;SEUIuXSF87E8Xdam22ZCUHxAz7 zEAp{c3SJn2&RnRNtM+7#s>pM}E{5@*2GI;fYl3HG@KiVm<8|gCU7Qf7q^@=uR_yok zG@u~CR!QwfvZ#0YH;GTLhX=~*c$td8_^xb5dx0tJL-&Re2j`{-3Y?Z861mWPL%aNn z{f~OS{_S`bDFVizi2%g;$xY_fx6^!(rg9r!+p(UXsJc{%#oe+Wwg0#>f0R#!XB&c)<9TKV1k-qZ2 zYwh{X-e2~YJ+t#4JlABB=RWWAI*!=;|62`mgHf7Vj&^E6(pw2rtyHgDwjcOI+mQN< zMqnqzqMv=J5YH)>ZEv_jGRHe}npw~ksbgep%WycjHDmhRV(?jOebmeO0Nm~NvrcgK zaTr3~0v%6g*^#0j(d|G)_^m8)Y^yKN%N`2ME`G`b@&88&%r=H{T79zt;k zkpCvOH!Vf`Uw;qS-X2dt>I%#IW?9`1ZUM*;Qz2iXbh>I^c59P=ylDWR(EhTQhTmaE z4f{Sx`;d9IutIp%357_?&+wldA!Rog63S?2$Cn@1H4!uI@mUk;;P=H34|cuGLXd_9 zK*|1NoZ7K3aM}7fQiU}Qk(q7XrQnR@3taa}_J0Sa!oeVN;zt||s+?Q-9ewVzfePuzDGxl*v$Sh+gP40HR2f=gnQ zmljZpVK|$PhaGHUb{5&ctlsen;VXq+~zjMOuhDZ2?0*B9IDyZ zMk-HOSj*3iSPRd>cH?`Vyim`b|Hha<7eAA4r0%cTtJt35IaH;h6V+4G@43s~!)HQp zb4zP*?#@20Se#Dgcz_M|DWvW}tA=*|oQ`^PF0{&4+hBK+S^&NuJ`nVd!)W^jKF3LT z2F*$yB3qb=$fVRMpwuSq^8bNKkmVIJ%z8O22KqY z$dNIL&mcSLy0Jln4Jl>CI8KxTk#p=+_?yPZna$BRMr9K8NTdmU0_p~q*$0}*!504Q zLvUuw4WpYUh9?!wN*5o%f1T84Cad2bLfxo=e0Z$<%kUS_oqePKQ`M{DEl8M~q~d3Z zv=fq8KYkBe++c#8Y8W9dOjg_)8_BLT@6jvYOgS_sJm25@}0DZ{6A z=JB#RlH#XaYMlpx5z7t}^QL?4{~^V_U4sXmyyCq)9%k`lfoDIbA0|J52>|O^ZM$fr z)0YpCw#`a-lLZCern?E_4~VrbxZpvN?$Qs4Iqb3+xd;|>wSvr21+~nN@pb54dz2Be zep_;DnzZu#nSI0U-zKe3Mya;74jInPRtWDxg3vIMF#)K6#O74aiZx1zC@>-vuC-+g zv}@MM^6B~w-FHCiWgv)Z4tPyt;`DQCJ!PsuQeqZjE$lPkspHGay^5_r^E~dm9&-U9 zDVwd(3EQ=59r+Y6wi6Ej+JuT>XOZN^zA;eT03jud_44Xc)%Ynz2L+sjUz#CDlIkHv%mx`9v6d`6I){ z`Po;gQ=;x_3YOGX(~8lr5Y-+9nUTxgncZ=)lSuDhD?KJFX4FGu@13;QMTQQbR9`usFvWxor%v=9)-A$H0*yK?ZR|BfQ$ng61HTEw~-aS+xdjEbH}zfsU8(+aE% zVR(IG?<%=hp>pPCcE`0f6_S{p;-mbSO2Bp)JaYwQuj=5F-VM0-=^VB0B-wPPftsCf zNfJF)3E83K?uJ4+jh$Ic`!{x~r>es}H8m^>Bsi6^uI|p*U-!s#q_m;hZ?9-SGIy7F zaUg2Wx3M2N*jJ%s^P-h2H6100z+MJ$@6me_&aa10*I-t+D>Qjy=~DD(QAWZWn;dO} z2g{iXLNj7rsU@-T1(T-z=ox26Fq(+n&xiH0Z<=j8Kr|+tx&CU`6#rge;*9&*o5uy? zmg|z)5VY-betfsC>@`wB;<*7nW+fgQ{Ys}moRct1lC_z6*iz%tEd)mcx*c)^?u*@? zPlsK*nJ+$-bR-RtxVrsgB9><=Sc)14 zU<*D;azFJy5(vHa^Fg1tbP6mU{785B%XPSXUN(TO6Zk2 z9{6o%P&zjDcs_^&=G%u295ntI`7_&WFx3itk}t^kFURp*R)*;4cRBl8ZH=G~TDJZu z$Ny$o-*-#giL%r-v}jqIkChu!4NV)OhAAz<9)HBs2`1c`>THzP^LR6*xMuFD8Yp7@ zCou41EX8^9snnRL%UHhOQPb0SY-b~S%DL#lPa?|M}_ z`S+BJ{j>6Q!I}jb$uOoFHXs*c&eBLF2H`{> z*N+BXx0Y>xFFEmvJtLY++qFb9__isFP<`G9`x^mM6FUihLw83mbq2ZkfKN(m7Z3Pj z{gTxEd2Otr=ORTcqHo#s52aIbs%DUvd)ql#57yag8ssp}Hv94)6e=c8gheK{=z>nF za+EPLB@ekgf}tQm)%&N6(6Bt?{!nSxi11aZ-}#@q)>C{7KQZoE(~;RoIl;Y zsO%K!nTqIY7dfmIeDzX710COR0iQGheiG zhz{6qpJzRblBUkarmt z-#MI%E$gyX3h334m7Ge7;m@Wx)t{@2Cse{Qk6#_Of|u~B87Fx&cHVfP-JTf!B#}P+}1@SoOtlDU-aBBUJwxg=Uxh<%F~XvGzw@zJrp9FT0-; z7ojUT`2wF<+(8l^N@+ZB@J(jf3T^V~M-~q<?OA%v1 ziZH$m{|e!A3J@K)^>+;jeon6}Vx3zNrs9!&=0I=t;P>*AQm!*6^S=BlA-nZ2#a}Pq ztbUBk1%9U?$L5|LmI^Wi*46A8KFc`h_O#=uMeGVLbPY>ULA_9abyMv@V9c0H-;L*yji7 z<3ofkR`hLVQu>m6$ul`>BLlh?8&MyCaWtP9X&A>*8=~#Tpacu)c=pmcof9K$&Aehx zt!|I#lMXP+uCM5!I3fHj_a9mCfSh;eLs5Q9X8UhXdXRqMd_OH6btluJmWBY(UJIla z7;0$xsQmlW>kchR^!8I=s*#2YBL+L*qm?|&t6a{dP#iVlM|7xtheW{6|NFDE<^C*7 zDDk98rf0Wj%cJ&;ced`Ik224x+HCN()v*n5X&Bid_g_||f|Y@KK38j6K^$l`M`8S! zyeH#P#E2&mJX`{a8AlQ2zyi)HIIUo^PRQT1ZUl^2`STCqvF{%^e?UYu54tFf$Pt1% zaOmska4IbQw`S86H=HziEEpiBv}7&ueMiWg8Y&ta2JGhz5ic2%*bHkCs!`j`7VAu% zFLrtcAP?eK7~nx`9z8G*q%MAihrAgvKJY;lMELB8PyP@r$p;vrbreQ;+RkQCWh&CR z%EI59E69xWo=ej_#fDygGgff3hllaZ&@|NKfm+QI6g@xDf0UQJYmfSSqnWy6rWnyK zr4l>O?TZ^<%XVvJY@UPbW1&`O4IyOWTIgEDC;F78v}>>1Ru-`uHO4vHOnguWsi)NIibnM2oK)aeqf>t5_X2No6KMYMx>Xvp1W z3O`+v7@tS+k+VrK-V$r5r7(Pv%j+&Om6xU-Zh z5dn|s!-C^p#-h+#DAB?JE=mA9NQIPnBwk&TsMp(=Z_p75hF-JhCjEm zs$C2i7M8#K6{I>(dcLdF=Uh_MJ=Hq#M0BJ)PM|Y`%2YXzyj@o|`9xGiza1WtO%1Z5 zSAgt=;g(Zl6vE8wx3p7Rdu4HyEb(m8Mqwz&#P};je+Xte1j0k=$CQr6riLn6sd++a zz?8JFQf!3C^j8l&^&ZIoVb=PF_zt8y|ixA^iq#Q0~X04?G6?2X&c~-E3ChemA@TKN@ti>a^9!cUTk8SON*7+Kfi1{Q_BH2y4w5aR*Qx@{BXx zjiuXf()xn2D**-ithpFdJ#Ypo@>c-|>#rURdvPl|rIvL{7aO9p7W*=K4YQPI-+sVV z?tk-$?U!Ov>P^@P(`fnyz5-TCL6oLI6KZJjF$Z}M;EMEAo$lrSj|-F`Z^lk<^6|#_ z75ZRq#LtC*1D0Ds->-2@SpcH0bHV2u71y!c5i{hj`l<%5G(Bv&F)20p#oXTvPv(b5 z@oNE3aMjZH&w-A_)(#cbJh&<-gVwhg$1;6X4PsX=&U1fA`F-`&jrQeteiBz8CcCX@T}A4^*P@=Yw>)6!`V;=u*VPj*Zo1Vk!DnlhZ5u@ z9wAzq`E++WcouTvX`H0`Hz$qts>1#l;#i0724;s?OVh4z$Tn?brIm2yl7=veTdct) z!vU|bwq_EZ6Wq#h&I9ltzmY45YDP-vYxOJ5b@Q)^os0X)6e#KX5Vo~S8`!v$O?mvx zK%?9Lk_D(0Qeho1{7rE}b%EP&ROV7)k_<5{c~Z+kWG3~=`;Y-2w3vfmN+|2ox9-U@|s zD3}$g>kIO~XG$pHMn-X)EES%&dYFNh+~`dyv-AgHI86bD~trp$+(#w>V~F zGtdjXCXYO;S`;Nq@C@r6QuoTa@nDBOzC~y6ru$VH1wmaP?KFxra6%`&UP|n|pe)tP zUf#tXI5pVu%-2Pjr>0Pe35+|6)%9oB3WRJgr}wd!jf}e*i6;{Znb-`W*NdOGRDZdPD$`$~{f z-2M~d5RdMBnpT;!888gagxV*e0wTz;ZOMI^sU4)YJLS!qTfsNqLMvm8jLy*qUdmM3 zQ3U+(JTCeA%2X_a8PMg#LFwLp;i;*iA7xSq7w&aG9 zmHPTja(Cb|v1UA!wdV54MY-9eJ(nvb#SJE)qpPz%2s{IhSBbkn=t_Q_k7F0Y?1+DL zbYn4Qql?F(1-7MyTl{MuE|Qt@cWQcyf6j>o;dZZKN$_j^Ql$9&GJq;<&@rfoD*W{G z)n8}N(#ieGH1!lACkq06Fe0z4(l0E4b z+y_cb)+7~@z8dg@hzu@xYVe~nqAZJn-x4W{?c~uVwA$+^JDBaylTd}8l)=)1m&75d zOHOrYexoO-``&=qexe8`tvL3qxBlHAXtHL>m?v^+?ylLR zma&J?rJPzgNf!4`K`?C}d@W!35*gzx9=Z9nOKmQ1)v$PNXI?5iE9bf?BrI%6%s+8r zcf=Ydp`QAV=*^v`SZ`}FQnfF8rrFDprouA2H=z$|8UXl%ZCXW5lqBkoFOGg*6i>Ak zFSC;v`-m*M((j_>!u;^q>#O)ppCaY80nHIgPdP=$r$Ayd@{x}Yy>YV-) z!pn&;9(0sRgod&uz=m_~7$YY}8}gH8Y|oqcAT%=~X3ePd0n3gUMxR9nVMk>l^VljT z=8r!hAAs3<*)dy7!lU8}9ZYCV@AQxEl-ZQw7mo%7kJoq%x?N6s;?;7p+ny~127j#Y z)oIv4BHSf@pqeZ&m7-Xk^RHV?Vvw)$sJ3EunD?8$-8ZL>9--9^z4T>ek$;wz2a+87 zG#~VtJW@^wdR>w%VTu-82|Sg`=wBx0k_T8TS7FyA7aERrg-Gm8))MJLIcQPp+1&kU&8kh^=3>rP^B zu>cP}6cgyy+Mr;Z{?^#j`H{iKthf`Rm`)i}_#P4OU#^jCBApD)tr9DRk@Fp6{*+S@zOD ztV>57+*$0AuadtmNtFL5s**hO(>^}x{NN;T5N*qmxYnc=%OtVQUR{2NjGC=HaOSoH zF?QU6vTyZV6>1QDl2xqryPVA32siZ?bLez)$Sa<}_~u^kK(7?ciwhuQkS5+_J>_P7 z{%H3)|C1OPlYq-(mG7*zsHSHa$sGeuc8Aur<2=^B3AleQ1S?7oxOqN{V>GsEt_1j= zq3tv}3fm6l@a~NG)5EzK%_Hae`-;G)JN1I6=;Q|S`(BnWc%$*g;vsHHRKB(FZS`c< zj%`up*1_xoI@d|T)2sijWd8@!DQ>ahL#1|}wx8~$DN(t|&ga5aJ@oxrQS5x$%7%HMMV)g-sRP996D8{8lnNSnN+!{v1GWUgf5Yx$Xl~JYzFS5k6hu}Wr zs=I&XhD9fk$;4vN@bY3S66z!3EF>^V2BZbZuA>NjukHYSJtcz-gt{)qH&RzSl#lgg zZctY?8zFg~cwoq&3sCoiPnrf={Al0c)ZA;7c}IFT4SKA)Py2TUQsvOA1E?)Xc_hRwzA``uDl2Liu-)iFLbKLDM>9u>P?T z+EfHpmB3a(^M&n?V9qM1lRf>0`g3f$2OQzJs*k)AUD$lUo{E=m_GU!5yiJ?9q?@#Y zT68fD9r!HDzCC%S5?+jG8YFfw%9FUV<}M+GS3#Vj|2jUFLQzH5?QqqjgoUGchjs=0 zZs9m$rQEigDo<+UsQOugEf#`6|9zbI&9EuDc;l3LJ?TT>fD8Y6$6T7r!gkUEQH`>k zj@zlffCKXS5GqEpPcp8LtcWIU-Zc(z#fph7`fw2s_Km}fRXCfMCGe$h=j9@`+!^X@ z#;+)7F0Z47Iu$(aZ%sM`9?U5<7HZ#}cSXBJB-3>$jAyJguZ1$HYKD6_%aQVfg{Ic)YtTy&- zK=izr1nfJ5vSgao+)z-HWJfBcpn~A~`nYogyX@L$@D#V~H*>dquINW8wsa$5o%F~3 zv(*JN;(iw`!b= z|MDDxLEOnK=T826Lxxc=ACKP8^Gf9rBW&abW!a?5jROYTotsEv#pJZNmy^xY|0a1< zfbMns_DYZxL?CJoe|Fz*x{1slCh3x7t`6KUjrI;5pe`}>N|{klqD4P3TSq|HHLnZp zf1Oh4Gxl`okgxo47Bs*$?Dy_)kpGCng zSeA?oK|^@)c_F@{q!u1C6GUGqt65U<{EeGro~*%5C4#1^oU@14^HtC`W{(q}QT%KI z!&abKnPKdx&l=p7x^SHgF#-^2px&TWtQ3FU^ixTv3>E)aE0cWB_Aw6^FR^Fwn>mi^ z^UP^Nfd(8mT0UOVH7Gw+`_0?^v4_&Dz&rm`Au#PaG(N%C%C=W#0Y5GzGB+yj|Hv5j zdEPIglC-fXr-AjaS3@nw0(Kk3a!zr~o&vc*_KZ^Z&3SBdqZBAX@+ zLgb>|ABgDZrfCT*f1FnQWmiE3t^wWky2{ffS#y-LvaggPbW}r9?eWX&DI0VpuW)G2 zxGI#&(g+q)93*u36d`KiSy}L2b--eW9C6E{CnVXAy2KhRJQv!Q! z8=iOIzFKPJ^qp;LH6NJSCCO08H&6q9N}^-f4S8PXnj7v3N-u-HoYapb^oX2ecoKyp zi=X=dMEK!3B=!$T=J5^A_16&g%FR2wDIZVexGpD7fA`O7Fe2d@v5wxul)Mu{sRbGdesClKwk#o1Mg8;WK{E`(tes_ zICc9pNvYxcM!ljGioy7$&CJ=@x?$GQB>8UO6z4lXj^+XS-M@}^&&J?4EwczlXpYd4 zml7l7NUf&NC=a?bh_ro6VzO^My}+q$lYcTU7@szPdbK{xnvj^R#A65cURb}>xx-$F-(;WOU3T#Gx!XT+U;ETJf(v#9H50I}Hq7L=d9LT`CNj9Xt$seS)dP!g zH-BK)NOE0NUU$TRIwu$E!RXsXsy=%6IobxV)f}6 zaK+c=@U$in2?l;gRQA9vhA7Yb>vzji=Uhhq(!ty+&x6Pl?#?*%KLqHdWEx}v=#)Ni9Cy4U>*GHA!Kj&uGUxhV_c9ebbURE`j z29(J3ZozkXf~m-f@8JzOO-LW5c&w$|qDyJ7e_Xoy+)^0A&3(I)nq)evPv@p*g-q^^ zWyk(f6A16TF5e(&-DKaD{9(z-uD3pXIo<;smnBWU@_F8emQWNUS9{)j{$4Itw~_A) z8i#vH3}x-kC)tNU+w!0G$EsYD`bRx~V9-CX-ZLl47)2&rfY!9z+XK+eiOI`wQ~K_0 zVJvb#oXf)io->4g>ZHGHq+^iN5E0;n%iSDVf8%NnA9rIgEqn~y{2Ne!JNg2~nSgPx zNWK{>HWfU0lRw|bkdYwXt6Q-FknoK*8!CcA)1II6;4So970M?jnZ4B{(h#Wp8(K7Q zZMvUN4t+P!aneWrR2Lh*kD(my#rXX*-HzD(5VVrGn(1@5TWEp1#e`FO_}6}RS5O&NdVffh(ep9SoCW0=am zbqs30r=e$>j&1X)y*Hjy4yfXL(v_-Jxh~Te-W-nIeUEqi6Vv zuL4`Y44>X}ne;yh_sI>t4EUY%S<>Kcf;jx;{9fmbBd6SK=w}N66RYr%zIRB2*{uE> z_JV}3a{u4*c22~-4~vgCkqo}?EZ>L{ak3~bHOk!8+ys};^{@xnbK zwP>tgyzGdLrr6!|a85d#xnC_#xlo!}_wE-4^lMTibuR9mCyFn2^9|Knre8Qp7BoXU z`oC1n^Q#%ByEX!dncdnZ+j3&Y_(1NrL}`OU+2$TE2$@y&HWXs@%|Ud{?}bMgxHj>5qJLjXs%OQ%#C1bj zCNtS>*54yq$g2)TDkHcmL|#q2_)4*AvD=Djog~^$mlW z#0;r{;YU}P%s#CA$t3=%rIWDo{bfs-oHaD!%n5qREpn_2b0WZ*&g3C6IqRaVrVwz= zhE3bhL%?MR8CI6PqQW#Ea}sVly(t)&Ch=n{@CTm`M=M9X(!KUh16=vnN|LSQGHqLCvufdxFHqzVf7^G6;YKJzabfS)z(F{?)~K8P zRLnB7&{wlKtT6pme=gYtf8uvu5LFtBSe)Yfet?k|vx<3*HyJf@56-FKLY&-o1qrDO ztf#s#pS3}7mu6ST58y5{VDq4w8&2+NNUfD8-GE8>GP@gnAy;;h8I;G>#@_pdT-psM zV87MDNkK^6z5uB&g4f2G3(ODdTh3h)De?UI(BM@NFTa3o5OU&FONhHl0cK!sBa{(a zy!Uz~%l(?t(r1z>cCVh%@Bg}33H|Zj;asS~3J1T%JKO$nYK4>L;1(5aP}`{Bb}nA2 zTEVF$i9utEZT9r~@h$vH9iL+hkX760Ja+OpV>?H|qyAJHO$oL=et81bw_y0_yjmg{@J7)x$TZv!PXLYf9EuNkEbjyodOw0_N^xchd>$J zK33_pAC!}@NXDM#a!3b4u@*g%PEdcHCy?F(5+Y=!c%gf#xp|j&coD$#?=Z20VyqVvRT_&|kAl4FPz}`VDxQHeePsi9=F^X>fGjV24p$}p z-mLe1a%33a86)4X9dYInepZAf2OoOs`H?owFgcXp+j*BZr4*+ev9`n6FY#$A`9qS@ zb;jz8k@h8|%2^lZw1W7RX)NKa$foIYZMBR-Z)5>;=ltlm;<|VW%w3MB-&Lx?-igtp z6`90fNDJhrYm1TPQ@xYR7Y4_zzB_K2+N=w6gif3m9l4(Dz&RkXo}`ji>hf$`F@bTj z6t!Wjpbc15T+ z^;n(@?UmhWa`VMwf$axgcz~&K7mK!OK_D$)-mWEVjf}4S9?n!jCCplRo4nCpwpU`G~7|yKaz>oDZ{?%q~sDI)cgc_%djGfOey6Gl^y*vB)f zy8BInvma+?7;+pI)1_9pfW{L2A#jKF3-^L~E&z~V<9vv2VgJ7Q)`FrD{q zmFVg607Tf>s3-N_YY*-Td2w7RPWzX@jGtHOWDh(y5ny#MF~lNk$b)0jN<$q?V~Eem z8FIsAZ)cWDX@7W*xv-Bm?WjR(LSnxbu?M)zrjF0bCss;##@We>Xr}>=t%cgA`986h zlSG&;Duvb6C-2M=66Is1;imE)r=mfxq_$r+>}gsZ0xKf25Np2o`U|2!&pPVEmKY6I z#1HZz(ro0C!jYdG=BQqNaz0JzIg6hOtx77ZDa^&ka zUsx_}SE@U24Tvi}cX>Y?frOrtr6RsqN5gkhLh2rv-L~Nac0BlKy9YcE9dK{Gv%AZ- zbg@}%*)yyko4KL+lS;pI17VOHIfQP5>-8@vezB-^p#l^3w>OqtU(N5V@TD8bn>E(9 zQDQv{li)>iJa@7cz9MKr8t@42r)H_2AlZg6eb)J+^VCh{+$4^P|K7obQUxC38I`X( zsKV?l4uD!w@(BU4rX36Pg(`Rm{Zq1HNQ0aiF&dG85Q%*%sx^_p<1Lh`^_D&z5xZV{ zY}^$>u{%+uWKtI_@9o-jqOBPd#c3*?#%QG(%?)a){om~KL|VG$w69DJXJ=dErafDY z;=Y|_vD@Uk{e;SKQaGsWh@20{Cl*9IX!-+1=qum>j-O%N!+L(UyRO*ANKEG8oZKh> zVP?bpx~UPSdW^bNsOU&t&T|X{>GDqXHqN8pbqQgiji$cd6)&=rzPi087%J_4SC<;J8ES#?bp%MT1`{Z3r|OM6UwOo9|5m}Vo?RS^~rN$$9ZXye&DWQ z^OC~clJc|deC@MUC98WJuDC&k@2bxhODRvN7gOHdv@9d zaDw9rxWf%z4y~NT`|Ab@JY-Uh=z0%pyc%e%+8)1u5g%XG%7bZ{y7szt&1UEq`}7K1 z1SS{Slsn&)TkGtcpUt=UvgUab6wskcJXy^~sRD!MWD>5)c|ioPPzQ`Q(zIruoUnIT zR8pp6nfWD670x|6zK9=sSg>Tno|R!LWJcl5Qh;P1DSjl_yWgeE2(5m;*ArX@n%#Fk zaBv%(}7zVB%Wewjl?-%5uAvMsJW{2anmn8c|O+$&g8&Aywzb& z=iU(aie%k}tDr z2IB9taD737Hd$_Dw=jSJKxA(c?wKJ*n*~svZAB6_8#j2eQ;7_-cd8{{+)7%?@+4R@ z7W&L-4zQeFQtPn+k+`6Bk8j1Ex`p`0xax0Bz5J50k;?4hw;fapY<*kk2;4kk^2I~+KKT}j z_sT*gK6QOt&}jwO%&r$+nen&lsLxCG{2a!2p70G?5)n(eVRK%e@$TM7gPOFDl0H8_ zPnXO?`jxcJdVlDR!memMr?-4BVv!N^>EKoIufsd&kh(+koEUBF%1a{2iHY*g#l6NQ zSXfy}Ys}NMb%_an^x(kG`hz(uIILz1%VE?j42ECzFaAXYP;qOFTDMxJetpRXF01PT zNCROH@re2GO+l&rgdN8(xBbl}7kDLl*pC?8^FLv+9gWIrr;MWMk)SunO?q)xjs2`5 z60W+!myNclaGXkQU`YeZ2L^dD-o^es^QvbUMqSMD79AY%x;zN93BDwtTfrrtO7wKsWjYn;h@ zAd>OAaKrD zcMne(9O32dG?(SKrY1y{Vb{2>-Xw&tJa>28V`6M#sh{NRw03 zGqZE^3yWmRpQYuM)wT7%8=G6(JG*=P{|gZ@_{(qSS@IRyY|6~&X&&mA1 zO#=9zQT)#&2LCgS|9qK3SAIOe(_ZEfPrUT`)5G&o5+L(;x9QF^aR!R-nVbLk6cT!w z<3VhB`TGxHmwDu+Uwx`r2fr)7_Ju0^6VhqBcKgnU57eaR{lkc;8XJup;&+W+*@j$X z<`wqrlD2J)xGD-B22w-Mv)sf}juMUx@t4kDzZv?;=soSbYghQ6zN2~nFe=7@-*y}P zR{Xp`?_$I?9Fq_Uom;*PlJqh=^Cc3HHSD+u}o`+G8HJ%C^0q zzsSI=JALsQpP&~t3l^k45F7P*To`C*K3$=qF<_yg$>*e@8RzApp&7kRLsKLCpC`V+ z#&+o)4b2bqMVeFn2eipn$M=EANoW3@D-Rei&8T0R*^j14I8UX_B2GWNB8135r_fXg zhL!zk#H;QQiS%TBi_=WXPAfdeJ;A?}@?ir~GBsYNPC2as+f173G7F9-r~4 zuIgIWq1nU_68*{S;x#hqFIrT~qnSKV`3{LUU|&Qok2fy-p7VGqN+y;&wWdII<-#*P zrTXP43!AKxSjP^yhy~oKH0^BNR24_qO!!S*UI(mm#0Re9bs0;9l>2 zEj*0jU;gRR7;Il3@JosViI{FKyrSJ`S=L5hXOxD3Ej@1r#RPrDJ&u8Q-*9T9y)=^N zjKTfsP))x_7}6-Rx*MOCn|fyz*I|W-ek`@&x3aD7)}({ zl%{~kukqDzeuKKS(C2yH#ftYuidHWf!~=8RMg3^Y;jcvzt|D%TOIC)$F;qi)eI{p* z3B%EAFz{)yuY56}hOT(Pn3%@4r{-}L8B=9vFpp|w$y)TYxdjVMu0d{I>;>IDNjiHJ zW|Jx_&q@p_<-3C~nVa)Vq~u8i-D?B2p^m|pO z-aioVTnW})RjFHXm4|9EDU1fxrXsg{{Mx@Ih2tH~%Y#=H>y>D^RXH5kB6dayDcxp1JqPlzebt!T%g)*#RM;<6B#(&U2u;9 zjqROsQ2W{v!VU``?bq_EcM%Nj9H~D_;jDfIbsT+RA1w^&`|?L-HsuM6B(3K_a|Kw| zLQJRd8H0zzd#4r$)q#UQUUqLY;WbWuDaI=KsHO3&PpFtmJy0*aCbfFNg_O)e2ro_^ z^m1O0v_S8qJ^daToLQG&J8R_Cs&50(=b^L_4u+v+CP}QO#)aaJZDA->3&Oy8>+HGj zd&s7ML(9+>qjvq>|6|*s4@?t(@I#TR5}10vy_Z7&F5c&r-*;u!mjH3)so%@GFO9^M zz(9$*1y_GlDx&9Xv40Dg8b4YtyIFIb<3A5>kQ*?be4BlgKdY7mK{5h{`aA)e8O+UM zU6YZs>j7(uT7DHHY4W=0p1KZkEK~+kT%ia0$VgnI-$w2CrsVm{w)xBc6aeO8L6-DT zC+tO=yR!yH&ff0IzV0sTre^Si!h>u_kO-m|m-iT<%|JeT6|e1RHtFq!cF_$@W|*8A zN5rFkLIf#Sez93J0NtA8jg)H(O}$qrd&R*ikj6@%j~)DyL(Ux2TTmeUPJZB(n@<+BuWooCwJR#Gx=CMa=*T#FGr%-*CT&SQSmwe9p|k<~bn?DxwBDMo@^IG~om! z^!LE!`}}DG8+I7cVJaJME(Uj$;~DmKSqUe2_5jy=o1_SUr6N~4?b^YbBJr2%lwk3$ znuV#VWa<)?3f%syRCGDT=K#{Q2;c9JH>-<;IN=qImHgC^(2j{@q2|`r_U!UO`fHqV zZp?rA;{;eG*Db_P!WaWTL7J-Z8jZfiV7;>W?DROKv{13T%~jBDCFfvQ+$6Yix53WTCt{GxVxw9QqK*h z{vblIwQ%F3?l)f-zx-hR1@Lef1^87ZHWY7uMCx>oRfC*LeNa!%$=MRU;bQZySRHOM zaZ1n&{N_TsoMSt!PBscUZCp0D?j`2M`)g4d7+K&v*NfXTrBfvLB?uM-C#Ots&wUwn zz7`|yCg~kED_Tf%<6_@&w-V|-k7#i>0+<7}y)4rxb}R9^;^bR!m?U9Q z8&UK++=J}!63&=vd5gmBM2HqOw3~lBfp{^!Mu0uncUYx2qXDmE8* zw~AOY1eA$&-OXCJ2{xw!kXXcWaiKJ%C`*Sq;)CJz4+UL=C!aKiyN}czyTfu7SH$0! zBt0}oIGTscNtNqiU$PsnJSM-CHC@#uUD;hV}6|S#fm9WoQeD={Yd&zU=O*mJ=R@yRU~cPOuwk&i! zeybaXN~A||4DGxr(pPIo8-}wLBxO?FzV^Dx7i7GnLRE4kQ1bnT3wL?eW5msiMq}lf zhFl5+AaAsjQuOLj_R#X1%y+Np3EZT|C{O$u+360579%Jx^d?B{wjD~N z0Ay$3L}N!L<(pM>L)3@LqAFNE1Y?}t^|XB1 zfam#RhZ3xCT2deffT|ut4W*|?J`H^KL!J7H6!{O56hi`wpA}@x@CPFgH!v*~7ukSo$3{+n$q+3yPa$#dcia=~XH@7D0~` z8cApNKy43yn!lp>hils_ZfxVeOFk-HhO&8B)fH?HTE74wrW?PQ{R=p{AUFH_n54HD zW%qlVGJh4#$JhnxmH?t*hSWv{{L2{ZZ7D(;)I!S4ISL|1A#)O!APDZE*5z*O47 zeTKVBRp5!M{bhI4J4H${F7eRMr^n;ci%3HMjZ^N$H(w=KI;@rL&pFr23)DhXKhX`s zfs;R(Z-L8a8&+-YP{IDF#T`0CC~GTdWH$_99)t-hPg%g#Pfd)(Djz&E9?&vWn`7A+ zTv~Z{Y_atLvASd^Emg*Hu9X(f#>V(G`>UHJV%Mg9zOVnn+}yr`KDjuIR@!=f- z?nwK}WoY>neZGM?{e%uPK)!BWr#Q)9hZqS5h1P8+VbCN^vJa?qAW~5&d zGGX!14%;sN1@0+1CI=3g7v)~$CjnRPFI%4&!|}uGKN+kFPy^HO%;ia@M+S`2Zv)>$ zl!Ov~X-Ix~fW4(iF@KQvTW2tQ1YHNOMQI}9$EV~w-!`sebK10SGzG_kL}?@v9IvSX zamZ@tFK)LGrsF-i_d#j&uZ71&B$`u1a6<3f{})ql9o6(3_i>{?Q4kD3Kw3n)B?luE z0cjCo!~p58O**~?Al*5}FbJtp5+jwaZ34oiCALYIl+?5PzMu1)=Z~GUot^EEowM)v zx~|Xb{eE45^>B~duGUo#EP5lf%eBBjqmN{~krBgS*P8y+rCH{+r!9eR5}uX7{tAe+@ilWVwUpOBnB`D^J|+o!Hi7 zAsDcBn_RCN=y4f!_aWN2*0{Q5&$Jwme#>nqktMd;*ZQ-H*-uRgxZ67^Wm5;1)MZH;KH!~YwqCc?&v`feF@@K|TsdS@~B3oWV{i`*7C7P9$847LL1!u1l^sYw>hb5W5Fc`DkLW7dnJ_*o9#n ziq&N)Acc(#`~c6wZ@$|XY^&Q)x?xznJvp!37(MTBu$nPSj&!u{r;!F8$=xdvVucIj zMao>F$u42qWTEjeObs0@^=M}7mr0Mh6U>MflIn1J_zakPY;E)nGFC!7_`Ch#E!1>S zS%q~j7L@&5b=7Eb2sWerUZh!!Ur}R2{E)G8yCOpJ5bSbG@Cmr?Lrw7V)U8P_Q3xotoroDf2Er+4jr&&kVJCFUDWOWGnP;$!(ut`wtJ`7 zdM`&%2qc%z@DWMiGS~j^J_PL{^)klX3qMU+DT0;f-2EGXdCR>7&!OY@qO%%jGJP^l zpy4w|4Cj7WvS9M4O*58N_`{1+`4&T*|B`YlU3e<$24GVA8U%=1(~?JdND-@58=QfZ zpKPQe}41%tAzFszVCE_lz$I{W_O(7H4P1SH6BE`h2*2X#8kpn$I1 z{ruHo?r%Or{fOh~2LtSZy_e(S7$q9WiZ`UlWf__fF@j2e{&1|Pa>)Mnw3f?C?78+| zbr~BoK4(A*Dk^$&oUI2cNzbasH;l>okA#rwx?G#}RqMn|#baX|1e6L&Y}_mq0y z3qQ*Mg~Z&N*NiSWxkq^y{_%MvDIli*;&$UwiPB20ugKSFBdNZep}!gM&mhA-ext6m zHG>+5{_*I#fAu{|hLON^o(l{O8~S{^Wqcc)nz+tz`QIz0-E~F(9~E<$x!vc_@t~97 zkrFrYN=4B!^3Uf?f<=kvOVGCaVpqj6l(vU=bdqla|>v2rBye*<>rO| z6K7ksS-LXBkAh2^U@4Yl3q-uxK{oLZP^EU9c~s7mwRX)8yERfrzPlwob1Xg68RJ{y zHUvU57|B{0!i)!xdtkvjK&ya~upsS$kA=E)(JYthuV z4?HbiQ+@v*x2Y$k_*>04>y!)E_V$=HhaW#~CUy7Sa@QN zKKtsjKg5YUaSYlAIV7=Ey8qpvsq3`x-RPwtgERFs!x_}eoMsMLV&A05o9AzC zILOY$P=eA(`s|a++g1W#9>kdEMADv-F#|rop>bY*7(^c}lblbFPt$uso2^yeF%hK8 zt%m5<9NSJ&jyZfh9NiNAlcQWU5t0ND!jj;j^LO^VIwudxw@jy(!RPQ>`ayHZh6zJN z8JS^|yf}|y796d_^#9s=j@Ot$+$Gzg_(Fa;jPNJb2Y4*GMR$4RF1`0^$uhBOMCuV{ zv^FpYrhGi(DSUrTM9<)2UD4P^OWVf!>+JO>`CRUnbqFR>DxN0&iXf5-*?*l zpuP3t!y5~Tz8$*x+}Q~YV0c`!ohiLFiOn9HR$eXcNeN?l#I7n3m)n^HZpGZ|mo1^r5RiJ` zliogvQGB!#uBs@grkE``jL<{M5mu^+h1ieOH_7rgLm7FgjJ-(UIK;qH+2^eEuMi!8 zkNVK@PB*=?v?e;Qmr>#s%J*h4=|4*Eb9mLzSA4Ay(A#r&oBT5QUg%`#Q%vv6-iF*lwN zPV5|+R}TEs-0vH@+GH!`?;qRJA4VX9wAo}k#@*Big;H~m-@ zK{=JBuwy}NX?kL`Cb*Orl}*?oUvR=iHEFVH;SNR~l(b3;X9MZIg^<=W7INPZ*3y>`-b*JvK)qe#)r&f%sf z8q#FM^&VjpDQLR!H_0C3ho+3r;tk)t?C0MeyX1H&s>h7J9E3Gv*2KFNH-GYV9)$hW zr~Y47`>l!$OSPnV9c5!FzQxp_9~6pJTLh~CaUlE{i5ZU%@xo4S8`1dm1e-(xXOj3N z>eq(c_vVh2Dmh*HFGu`CnMJhhKID3dlIb4X3QYwI=4G`?55SK~4pDgVK+PQ9zyj-O z@CAN{)4+e0{GzdR>PH|g;cY=tDZIG^3jfvw(8D*CJ`qpn;T65kDf2uXq;34E1P%V7eAB&iq?E`q#K zsRMIYV*Q}e0>3lh!L~`yPzzA~n-K@!LYgUFju-7obRr9!KM?%b)c-8A8FL>)-ywYc zunR+@4@Bhk z2c97DK-ix6(B(9g0p@C$tTk-57Wr9OEqxJYAAI?5y4%0TNb)L6Bt_OnsJDShG+r)y zQ^f0LU8=USM}hkUxdw=QAc>Hk6Dbo3Og=P|b;zOvK9HU^QG zdR|A0yji^CoitN!7w2}(yQ1UY1DD~;aqTa0S^dFpN1Or3{G6$|)@WbO2 z2SS{Dpd2gSr00(VCvR=tg)>AV#0A^IRubPuX~iEsohESZ3ynU#&r_f7IE~lX|9eB3#-y($pnTquVnd#k3fYsJwqkB%Uz#1`-z*P zm|jSGSm1u9{0cVb%#x`e_LJ2A#KyItMH?woUxkFPelWGZoS9VJZ9k5Uo_v zq|KIXDVUt{`Ppt+Sc+(Xfs`#ilOJN}+!S8S_FzFQjOlwZ^hvAzrQrk_)m`MLnTQuN zSDk^TVg|Tn_`K*iWu@z%ILc$eH zI6*~ji1Y}Pvcv&la+>X+9|-$P0c(2a0%Vkwrak1w4Zj|ro)uva%f-0hN*DSup8v6r zx;EXT?naDp!VHhJM=jDp-Ozk_EAFKyz*9zC9trPjIw1?NCEhkXvPxj;D@32eOUNTLAHPaPWkmN zxHP8U&yGvgt%mfLZKhWhO_Fv7waRIK$-=WEQ~xjOl0i)g$_3kQA5f}XoW(vE$uiB& z?S*-+vLcy%4EMr*Vhlnyxv*{glvSz4+^gUhGwG4yc#>>Q59Nr%z1-j_>U)9jrYLrH z9ceBA=K4EbP}~wcgWE*{>MT@Bo8Pu?(Rvim@XS7R9=Lp)kWK8P98`pzmsCoX2+s0Q zk_U^9?s@tln|#B@NuSgxqD7GbggmQj&t*nThy+bwnvzl$gOLPC2A!Eb)d1rxQ0oCn zs%aoe((|`B?_`GJYJwl=V>tO?zj)WSy0vl2B${N9nx9~Y2@)t)N~|N{NE{QC9Un%1 zgv~m8Rpvs+xnAwF)Bc-{-$s%-yoXf_2Mm2~6ZUD-7BOj9B<9KFfTuuhBuHL3wbtsa zRvxlzJ}=AK=gsp46ILr!0{W?c7yiW7g1Ym}dT)H<@4Eq# zxF^&DD?jU`jD*idAJIcXV|%%$paI~=5-F2N}qWi)W*fy}c(t$YBH z`PDhfS@U2a=IJqO{2xXV^69^zX)p+V{WnJB$%cVCkvVl}{qG%O{z$4E&aW1W+09+8 z9gA7s{e&?;dm=0Ra&+l_QDmsVcsC0y(q#QHCb)=rRHi#DrJ!>Ru)J~tEhVfp&bXrg zSp=RG%IERWS)!ePWus^b>5D>pZ-J&Q0Y$QA24Axzc}krYmahpu3pT7Den|8TLhAYF zly_tz5NJ{#`r|w;VLCV!d5hU&^Qz!zYMHRKh+7x*vwR1Vmh8xKL#KhG=tIsr;Q=E> zf)@37qtkcgqkoO245t(Jq|P35?^mZ?i%4gV-c@0aq-UwbFFF-BmY>+O0GuZ2#OEe< zZ40Geu3Ex(~f@8&&_`V7e}j$w%i_q6U#R(t8A z1LWV@DW_V}R3-U21Nq+%W@bsf4rv1Tl~vZsr--a){D8eutUS0hv|utL4$x{4?Lv&j zNfSuVxAcDHF5Io!gNmeZnp|2aRAFd9nk8d6om*CO1lHqxb!wLshm1Bv=n(}K7pC@e z5v|AV8pmqm3c`@|?_h@TKT4jFa78(Xo7&nNR{|kjC=Z<+k5gJJ!$DbcKy_pb?v_i} ze)X9kP#!e;PoN5=7Xs5#DKSJAU6xt!Gy?sytA2_bzdtlk#SdZI_B>)uAQSxyugB;5 zz322RRoE={DS>p$6^29h9x0amHkwRTbUChC;fVhU4oDHvdcmp*g+ARyzC@Rnf0_y2 zfcH*XGlqLe)W1wB4ckqxP$3Ck5V=VMa7A~3KnbxiG)fWhnCM>Lo0TMXhpus6xxg)k zH8Q8I8riW8MHyY@sC8og8?q}`U6)o6`;Ze&LWhe<_Jv*e2_ikh4x{yMKHpm6zF0d1^;R^%8%ff2Eb{=hTRKs&yvHb9O4K-}k7f06{7$32`bahz#X5h>A*9or>y_78O;5KIOGB6_ubl z6_vjY<#P^HRQDaJs8Zdjs9JrgsNM%qQT2sUQKh}3ycb8o5>u(Dje*@U!m7Llq1A0mrIuaOHf{2roQrwQ;6lBxlF*N=tD5mguXS^0&s6a z%=(*xya+{SF&HhUvBfqR$xBDsq&m|8z17RNh-}{}0m;A#Cz%1$A)ou+u3ijuW~ZgE zX!cz0m1y{k!+=|oe7LtmyySB|z2KHekJw0I{C-xX9+!z`$dclw00|4*Xqb7K1bY{3 zDXErDgFP-88<9+(!+f$alA@Dvv*qvN-_L*#)Ez$N$0zQMezF^=zek4mnO84rd$(ng ztzb5FN2T@qr>FN(zd}$Xwose)7&R9a*)Z>oY_(-I;5LvuIYrWo4sSgZ0oQ1sxQ)j93qQCEotE-n*b(yT%QschCk1pOe{o8-? zY%h!#IDn!Q@%7t+-X?K^Wk9ZE-`3lpYWcDvg-nKtgd?75@sM671a3C+jo*O9d+e^p zu3!&{D@*wWlk(v48imd`5+?Wx8AjgOD~$J*W}3@SS4+wxF=OJG zvt64=ibj$9ULav(>m+U-z=U2zYD+S!{Q?qblW%_Apj3FjEmwUgVWVoQ<1HzA#*5~v zdQrK75g5jVVOK;w4|6T23s~x2+eAU@M&b)R2(r+#W_RQLVx3sWt}MZVjy!g~D84*X zGyg^=b?@BZtIYEaw@tWNCuXC~;W#$GdRwfC50{l{w89s~*~Qu3opR!uxnJHNJ^;|( z5FN%_PJ3&+Fzzfyl9xms@3#=$Ybz}LjK2iiuOHKmOUNtP-Slfo5&LkqAuhs7g~_MF zQ1zLjx32U~PwHMjuUntemu(cY)2d(#@)yK1F?G`2bnO1@JZZs2SPPKp8J`Sq47%%G z-;^gNIvmMG(BH$oB`$cVohdJ@0(o0ezB`}+rpEOcO}Ph55+aHw^KQ}^GYnqhg2R|i zH{8Q1Hs_g#$DU}f@}h;(ucWWm&L1z^C<}nGcMeV*a312|@8t4JAaA`+&(`f2l5y5F zFFn3s2k~GCixG$DJ*uz>qMMuE3~F1{QQBt5Or)x@Zw`Y863DtRkF-Sqv}paGVz6-Z z*_dA2Ccw<{1mpTxZlqxRW%dgP^mh-v)uqi_yM;yN&frU(*6Xvd*vUF~#rJ)?>xmdf zbR|qc4D-b0v~0HcLM!h9#44Yg-pWwQY8C{`P%g|Wuf2|DxrT|>45U?X==6_)C+>K% zH$bO{GuDa^a`VGKNa7UEPo^6&SbIR5hUTIstiu}o6E68B? ziPr8xw?~FJ1oJ3D)M-6fV!|evW-lGr3wD)|tk5IJ$w8Kk&zj|LS-_>!WL$olu8Qd7 z9@(S0KQvXR(5kK?0{e-6&{!C)Q;|caU%Tyilx||Ihj-BrC}4mQ()7nGS>DO=6aDq7 z3zHadcXYZvxf(5)!;J6gmn8ZvW;nOqB1}%LL3-emXu0epenOIU3G;35TkJ9_S~>GO zMI1NQ1I|f8^`bpq?-4TZS)q|e8`lErW_6?%4k`yluR}5@uF>_k#t&HY?+(glk(%TX zaOo9=)3B{tK*Cb(z&JB>ITJpZ^gh*3t77uiqw%hxTC`_0-s03ny=cx z6_msV{D!iKWeWM01Ch*-JnJ_f>QZu^btrdpy%qlMTmL0cw~4la+;W}tJYu9X?yA5= zj_5n9@8sOe53;3j#G}|nM0nqLAgIc6-?>jymhEsM3ZQf*o8HCR6$qnlGetx1KH(S2 z5sck)#fWSvh8aqb4pte@LfSVosPFJ|X#UV|a@8Q0Mz-1npo9X&H*74VAZT!Mnu%SG zDhsv9LziF)UI-S&ffwc+&;KgsDp7ov9&CWQMZRui7;%M_5rW&IMU{)_H|AWU6L?b0 z{LZfr*!SMTT)#d%&P@KYE!saW*>Kfb88r9`eEoFWNARCff{I>5lR+T2+=Yez)3N$T zQU>p}-rRPH#$&Eq_aNRhep1Va}kW>(C~)h*7mZ{EoL;! zqGjw7+FlKE@!nrk{KGP0_XRe{Tg+&cHt?L@i2Eefm$2F7L#r%tkx?@IcdKMA`4{|f zw8p%2-WL}b4G(03^m9cI{BamB0s>y3$PxjX56FzcUmUW%)1oj zu4oUXGQ2N(vf!Z-YNTyInkz6y zF223*9?C{YCSrzw^TpmQ=rw=sL^&%4)DK!udFjl9 zhdOMoENkq)jFMDa-*6p@3xTw6>#(MrktU;U+8)9BPI;qj9?RW)=5t36&EwD^$+I`( zSl2G2`bp*m=j86MqQC6SLmP&Hr@MR071%p(nkpkh1V@`+??|tG%)?f5KDEIi^67kM zXkSXa_7hY;P9Ohg7!3Q|3S6ClooHR$MjI-tE!C)%#X5qsFpo%+KB$w*4-mRGh^J)R z{zs0n8H)}5JeXOqO*9!8;M01k<8?!n-NnwX1`#xpv?qW z$UBg+fgW@>-B&+5)?EtX6c-}XW?|T3QHRWa(jlGix_OvW_aspq(8x=-DPKM1kl0kj z`IZDod_eFlix>?rJ&D*G+#P4#&=of8r%b_`l+R0ipx3GY=l; zZMpyBn|0(h$Mwbo!h)eNF~v>6%@%Y0!n%o?oV>5N^+sX>Y_YDz;Jo|icw6t^|3GK~ ztRIHtsaPy9Yz${3xaowJ()o>3mIRP;DH$;Rr?wmE%sY8*JH7r7F-ecn-+kzTAySt)g+jM|X6Z*KKF* zI(w!6b~^n0DUSa?Veu^FjT=F4>5aYJN73UL#nAsyaAV7((NH%3jYH69Fv>bN zb9-SCk#}xlcABR>3$xSJV9w)aLi>+P4vB;6*NP8`=+bb@{cRu0{P2_e2ET3AN!M-+ z?mU_+6hM7=cyM~N_~wv!hOCb!xMkZ!;VsO>R7&HPR;y@*7_!=>Tl`yUW2cyX4q=PLIHF-Q5tj|`C)PlBXw5JUDgaFY|{ zhBIrJYWvAktr^F+z7g#9$w5KfOZGKAL%@?9!0&r;VgwEO<~0=u?%X5oV1%xcB%-gm z>_izC5fl7aDdN&3yv6QwmH&UJs8hf3y>Flrm{ik3$(0(a!7aDYp34tHwYUq}H;RMk=?KD?|L-VlNeFSRcImQFv=CTlj($eGF<1cURl(gN?gXoyL3saM{VGMcDNoGtJzmimFz^PjR^L8W{crRZMXkrO4wzGpB&Ok% zyFeq=&}Ewcp#zGgF0|`>E@eeo!27 zIDD4;Z%bj2`kvthJshpD2Q(z)ToBv5V_;aklFy)T+Zrzaf&}EWv~Px)M6TJ+t6vyg zfX;0%e98o9U@nllSC{HLCP%=2LaFsa1iN>_yC;8Qo`>_1UI?OUoJ? zRCTXSWlxLEuGTou9MX2rZWrJ2C_eiwgc36sfQCD?N&CD-T1Yyy%Rjfk zeMdO+y6YbfKUKgYRI;nuLEZe zfbQI>rQf^1JO^-g%(-(xp2LzG-aSTt-!LAo-&5`nQ9^k?$<`Ur`!Hl7-s|Mo>Ygb? z)*S5NSIv8R(kz8KZOfiKZC_p|p1B^Ejg5(4vtub0;wZhYloBCIwT9jz-1V4^r%xg;!DHtz4N;Xg z7a%=UsYwZI$JyaE)oh~{9u8uf!Z~g(j8F~rRF&zRrM!|R-bgYwa+%fJk;E-27M8mZ z%pL?bX3>_k|Ac5>47vHg(b=+gZ(jXfk+XawkL9J}!t;z9R@_6p!)$(;aiudd?w9zX zDOTL#0HlCrChKJocL8|ZG}j}6{H)e~Fz|isXO{`n2vA_86s7xSjy{l^OuYxQQRu50 z@WuLsPTxH(erfxjlY;2BudjV^#y3#=+63cUHH^BLt}T^TULBe^zOo^czc`?_ck|ha zaY@{Ea-2|d5BNH(>7^JCA>O_ioq%`u1t|6m;IUC80k&JY$9-Wk$7GndMbp=sSvK0( z#L<;DhDWP$5^BzRTHQ9oiq06dz*-1Wryq1Yf3T_G?-tq3{roYAtZH|Tqke&RhN^si z5-zSir#cjNh0dir>N8FCda&YxK+$`2haStbjhEas3NlD}=7JFsG?;i!Db*zfL*4)? zxD9jZF<*v$x;$k%bZ@a}0z8C`J> zozHxcSZ5RZ1~RIi>s!o^ih{_c%;)5gC;4xp>c7hJ;99Y#ibCt7ir9_$T!NMr<1<>_QSJpmRGs_jp`inQA=NqR?zFn z-KLQruW+pjZzkdNeaE-$@jz4~WTP#cy}h8s2*h~k+&_7f-9pLGyvM6G2)KCF?bG*7 zRDt47{0uwjQj4P-;0ovS#4rZU9hWiwK@0{;Pt|_JWe`PtnyJ6WeI=Tp@~zOM08@O= z$6C_g1+najxYrvplx{;Ja;Q`-Jo_PiZ|a-~VZbNrME0-+)U#C${Bd714`tcRh_5VI z6j0931v0k7TLy{7b6-cy=5L}~o*8#H&X;CAT+nsdq4)}fzg1vg906K#_Q9;BW^DM<9$_LM`z|B@725NFShIAUN zzUd4(Y{B_3B>TUB(ityuP91%Hwdu>1<>0}7L^UzaF3iPOSd-fHQW(Vdb4~5<#WHwN zQ*{aN$4Gv1NkU!S?L+ZP38Bde*E9r#sc=m z-IdsJbY=eX&** zc@n#Q0Z?zj1;FGLVWO>9hkc6535&Ywt6O(Ev?*PgK9NIx;BA{QlaZMq=hlSAE-*72 z3i)jFR7b0|&8aJ6Z(KA`-+cG2DbJPcDzxnmAYPSgH$a?$?QVp7Hu|as#ya5OI>FD! zjyD7cx%jXgR;PLQ!Doh&YL-5|$#h#0_t%4f=GS8C+hdwd0ky*nK2zJ0hlzwOIfv8t z6eCkXB-sY`$LxalMFr?=erC!aC2(u&Alsu?dA?{t6C9Y|xIbpSC3H9zVk9AL6n7>2 zg?~{xc_pOXhHlf=&oG&!{jCZ2?%-Bu%Ft+wWk80<`fYMEKYq%VlMW}RI=%z}-arAk zyYfZlaegdiGqYD8<{4;`)c45w#ZJQG&2a@| zyXU*1?KcRUC8-d{oIQ5`>tb{V&}$w~>5VGHIeMWLfwL;CfffS;tjj0(kokE5hOMxO z?8)w(^O7djdbY&i%dFMUtPaGWRDdI;1CisFQ+X})OtPMR-mBYzdFe21+B|+1EJmb( z#nO=7hdJIMyN<#tP+R}TyfJ6?aOjpmI4ZW|-{0|vcDUY?lG*0^mwQ}a{gV6yvHj&E zrfOloR*gcx5KB{o60Z>h4l?@^%w@Lid)K_0LWmyPGY6BsH!%(hwkgv|fKW*QW-6w< z(MX^5FF6Dr4TLHW6z^I0Su9MmOzV`e5A1zxnzF+;@c3^aPI_Uhe-k`#qp!YFoJn4f zP&fa1Zt$1b_Dr#r)QGqs>o5<|3Mq9UcC_IejCnXDoeO08dD>9C%Anu3W<-@^|BG(8 zphxIPzSp=E(SFrr@#qRbWD}1o!*GZ)D)@{SlM=Qa{ppEO30}Ms4Vq0SY}3!hsNkVu z%Rd?_@0)A;I)CTf`ytF(S*3=W?w5neec8DWe%r+EV{j&9Ao^~j!YqkdWAjG>kLlTa z=+8FQxicC9&p?kQxuMJN+?+@Ja8jAu`-9>|2D_j=!X!f0)SDf6%&ZA673{dWCey>q;}?gxw&eQ1|9zGa)NTf^O*zpy^C!lrrsd>aJ<`PkH+Vl zyJ0V!{=V?yzI&zxUyzd4~qb#N|j@&xP{M%9IMLFpL`7E&Hx&hVA_ZYN|V z9Il^i*n_*ELc%a=|u|3|R^*oVRez>VtZoY^lJw^)M5J?y8#0H4uS3Zv4 z3B3=!a%F*YX_{*3v0U#&kf5s+Nyn*;R}6G~s{6iZ-vZz@U$J6{GX-yrxM}b$h*N8( z2%)iNgL+NVL3-n?TrPb$_Bo;=+Ie0f%cECR+2A_rarg}vqrB^ucJvoHjjta-DxgI) zHEYf+4-i%#LCTvCZW~hnF0`s!Ue~v{!kaw9-0Dpsr0-2lsgzvaq86aGQTAcDn`ZLH zSYy;>+zNQ!KDA>E<>4n(Kvv6|{_Xy|EAdFb^qE!eLi2lbxI0&d40D+in*Z{KImJ8GNX=%zI$VYrHYWM2xiWC(;$G^>`hmcTzRXR2MOI$R+ z@uNh;d7-)Ls(Qzfi&yN8c9X6=R7ZX(>>SsmQiv91%(r}IWxKS!_%UJncPO|%(egx} zJJGAXl1 z+QVt&8VTOKP4~sr(nnaKBDeW9iQeidYYI@ij8!*MM`GV02^r%Bmn}i~2y9dFMDX=@ zP}GP2ljdE%a_>OQyv`0kN`05*!!MbAtk>3LGu3W*b^Y%faGMS+(|M*H_GjqCE{n$= z55-wTxh)0D{Mge|^PD@L^5TYHJUfqCsHDAENzOX?b1M?0v2|5`A&5HcKwKYqXD7r* z!zmOIK%>SKT>`;b=}1}|C4C5-&`m-TR_TpOW%d{q1ahU82Wa=^77~tR(!Vx0`(`94 zZe>k)U6e9@JDPlS+WtjwN#kg&{z{j%dgATBqgRQ!rCgFa12OQEp`Y8I?Sl{nO^m3f z${Xa-Q-@2SM%$%xdDQpVVbWay*p%D~#zlCATi;Q;HqjEi{{4P*Lf^Xrl^&Bi(!l9K zOabON$X(fe$z@z4SB(vSe*ZaGVXy_|;`JtoJ*8yl(~QNbhPCBIRP;j!{GiFTUx?#Z zjpGot=2q1Bg+79GZSSXyTOLk;;yx>HJ5OWlAhW;8Ex0>-k>QfOszoUaFS*+#w?8h? zqC=G9Te}skOxh=ADpgr{UCit5XnZ(wnY?&6d}$%+A+i15+*}zO%$DYYdP%sRM}YHN zxrYUcr}ywdXQ0Y&YemPQjS;$1r%qy;?|8nUdT=VZVLs4fMrrrrlLo(WJqIqM&vw3R zlJ|9&PapKf_h3z#2_5@jkltP4FEUJg!6%SAT1{asuS%MFbMcpEdJ|Y_WEx-GHod zZxn+SaPhjy^9_rT_>`Hj?{$Cei_*$(_Btl|5|~9xc*B32e|zD5Wa9%SZww|KanA*N zI7sUUht2phlj5o>$KlH1?d4Lzo(Gba$dgLbyvEmMGNyC|3f)L6WpR9i_a)kC!g`bL z&QeK>_#UNq8c6=^FXl(MqP!WQ0ugtOFLUA0IBg`QCzJz;QZ>*`dGry$CnhI~4!_5} zZ?JVY`3cqw14p(l&CJCF4_3NQ56(B&pQm~7hqs>RvHos)PeWi)ZK$@y>G#6qHx2aA zP)Ef~a>x}7*I#Xpz2TGZZg%cXyAuY-?JvdUcRjrU>Qgo0*$=J33m0s1cV;enPl{*i zPwrJ|BbYvoU8u3;t;~s)G{{X&HkdMLH1Sz@i_t|R4P27qOsu$B;#v<1gV%#)-yZMD z9^9Z?%qlDb49ZChoRRzrCGT39?XlG!HnM>toREi* z^QlzeeQJw@QdH2d9g&!sbacuX>iR8utU!D^9OF-@)a*0|Etp>Y_-{8W;A}eHcrsJ zVqaH_9;40gQX|?D?J<<0_fz0&5?$#IRP)>bx}C^Jn4k%KHJt`hMp4Z%>X&pU`Nm!+ zwF@HKFhOz)&0EC3SM^d_q$X){-yiH0oo<4SQyHQ}dJpuis7Q2@vmeVBQROc?2Jr*FH*w?o{|aNc zNeh(VzMdbk53Zr;z}?rCER|jT^B$vN^7Yi9YYn2d-C&9}rCF6(vZ9?Iz&zKOx-10A z1|J#)F)nly{^soLhUVRoyPuxWG-WoQRqo$%o$^tdTYKc;pd(!Zbqlq+t(A8>;#JIF z?>}#d($rljIG*WYmuarj)o40=&RQ@Za>Y=_s$27zg!CuUZa6tS)bw?`Tz5ir!eTTcv40f&#E(eZBYa)6W6Onf$mNYHNRjqFszMr&$NyUx$6+7HceZ>bd7(cAmruH>=1EBD+2RbaxLaZr-^zvg~A%!DfUO zlRWx%0Vu1T>0;n?7#rn<@M+`O>c!O)qW7_$ zfIjB0bqmTSVo~`l6eq^YQ+_KyawczKm0=nL2vlIqGEr(JY6NKL(SKyLtnp#fze2`6 z>qC_loC-)n7hg-&?9er2^6{?^=8CUREBK}fS(bxJ6PXc zxl|+ZkXDnrC3KKHE#ZYacivm1l0ExuKvP+L49F-gZb}6Gy>cu2$YU$VtQ@oSuPSI$ z>p@AQpYA|7NwI`FfNq%}d&vnZ_STOs6R4VB3|!BZBD&wALpfeTs!X#~-+p>fq5R70 zvsR*v6SjB$+|k{3hdT5cP>kh(Eo8TjsVirK$qLEazz|E_;4ZYkklBB?0Sq@ z?O40wbCJJ1NOwKZusy%!1=s3rtx!F-gHZcfpXjZ?ta7f#WkUHLpw+uK?~>+0s8|ZA zfu1CUdwhpf(e|mzu+U?`4x9Y~N?dhz$aau7`|-wQ7{AQxoVvhvVA&ad1o^w%z#UYRYl55WK-S#6w1Rx^d&fQ^+f)!2LI z+_2@*J}c{SkT?a_3{7J8n?ActRnlsz>w5RN`&AYPclzlWz&HkcR%ec`x?0q@%#5Rp zSCqYoHc39ui}7UYAXT*+#&8+&mrV_S%px;iQ7Sh{gFby_k^&0TMdOpmRRymjqZEz~ z!UwEze3?^M5-s^u2-j}A8BOrg^=rAaJmK3r-jM!2g$~fctWXHO4}r%8Fn*CL0X2h* z480;E?D@=Tz{mnR%?+azqIX(HfHs^hV5QLk*^SW%bn{EB_(5}dHla94gSv6v**UJI zAs|@JGdS#Plpt|e6Z4~9*S$>YBl5#ymnL2OEMzA2OKdbUAR5D$J^K^3QQ}l0Y_rj} zCrw)oKv5KoNr%&kcZRld(yRUXnB4LQiqd-g+@I{&P^)aD2rh^QK{%~O z672B_c^-7=?V6=K;`V6A8-B4KbxQpM$~~F-48=1mcgMuItec<`cdc;S+U@_67fEv& z)PmKjUk-UuJC1*v+V=v?|?456DG3O|j}udU1Nuw2=2J#~uW(;yj>? zt+avAH||$AU@Bx1=*9tydU~z5ACl9Ten-zxSC06%>G8X$jfMbwTtdf#5%{It7Rdor zxgMdab6d*f0P2>wIanw|Xw4Kwn|Uh^cxz<_5foWE=~Ysldk1*1Tvz+|1-t$n3;Zu{ z@K)}BBIXqB_z&vab9=3z&Kw1xpoxM0_*TwR#6)u4?{n$aW2_EKtM#!CaKYDhep+|| z#@}+l|0Gya+2bduQ*L4Z!gMd(>=QF<3OTwH^+sz-C#NyI0c-6sLFzc|A(ft zaBDJd-@b*42#9n@h=4RWi4meAB2og<1C*2;FuHD)Qlz9~43U({t|3zpIl7T;KrB|ers9|t-;g0hU&4@JA4$4K@M z?;e)ft=}Qni*}q`1`nC}6V#)$#fDs#@ZP4L6;Wjvn?@X}ct4fcT1alr)%|%j9qX5D z90o)*MhD&jR8GWN_SlixeOlo}t`2h5Hz#ik{l3TpH1bGtVhRQ*o1L~#{**|y%YC1i$llA zx*|KY2+nx4?5Ixl{JFDLl5BbAcj3j2@-}^d@h1m%WCT2#)%24n@6$$O)MZRK6!Wwt zM2JUrV|CC{DT!jfi=bA;*J)t#RIwc~gl8zHw-vL2Zg{wttf=1P`RLRj3@t3Otrzg}t@rxUqZqAJhrZg)jQhS;Y59v^Tn+(~ z7-lvW%h33q(GN7r@oM^=kz{w}7UVz4$6?HQ9X#p99A^>m>!8Jd+OXSxBUh>EwR>zY zZjZW7>$heRkLgWe%9Z8p#jJQ9U;m?J$sCuYwmp5S=c* z)lj70@_n84TC>9+!G2PH=7`TgQx*WN-POB8!QWdlc^CN(MCq3)I!2-?{nXjI(SQyM z%u@IIMUCTpj)peH4XNFhXJKYxSBn**R7I?dHqqRDxFWm5=O#ODn(KET1DSN)BR466 z7$x@uqK=}W-cUTUPQBt-mMN0UsiVB3ANe)J+>=ZAe2UsQH(q_>VvHv>|D|f%8D@Rm zpEXL(v`gIB43#C5347pY>O3lL5lp&JC8?JO&l8E|h9&(qM^&aHUKagxjJu(4H^e;i zNwJx;ZUH^R;c<=XYeX+pF4;rvF2IwaNy#~g2vtD?B!^hq@pB*cZH4%GWq){6B@asK z4t7ye2lElr#)CreC|G?2FxmwHL!FsHVS^BxC}Fd+=(+p?1GlxjKQVBcvd?4z+KKh2 zsI>5{ulV)SAIRMJa{0*;GpG3$tUh?`w~1C6>X2zx!#rzPa2Fz!;lI1YcKf6aQ+sXu zi_i2TervlO5|>6LE$d<_6T$V6e+PQA&7}G)$G$iwInz7%@oHeBzXH2ua{SuLML}@Z z*Y#J`O4xG)`!oSYuVSO1{O0E1VCE~4ZNDcu zoG-_IDC1u<6~h5F`kAe!*H?_6vzR7Tg`tzvKrI%(n&+cDPMs_ty4vK32h?(N^Ca>A zT;^U#dp9e0y|t1|>9v>RmTL0EUxj(Vf8UUwi*cN!i&~apJBQJ~$~RLOB2M?(F=g<^ zzxPk!ri`cyE#KZzSk#%*;0aMh44Y*Li^%@BU94mW-q~LO>}H8J+1~K)^Y}B&S#f>J zJk`e$|N0>;IiLeFJFg^~^FMrD1eG!HAG*@d_d;~tI%XiB^NUWflw>ta&`b)^TRnh! zONXwe&2Y?YRZzDvaD6$fkAa#H-HoQvtU&DEG8*cej`V-SS-G@q$17hew-HoF&Aypc z*8+#^w)oH|RHtgNR1x;uhH=@!%c@rJ&x1kFa(RDQk;EfgN^Ei65O(!oZzx;2Cqkhq zXFgEOf0%K}|6W2?aeUx(264Ooy{vxAnQ53@@U99bgS!hMO1%pOw%t2^E^`)Fe{MU^ z{|83dlB|`v75R>$a2IOHs}lY7$wK(9Zg-X_qx8|0)il8_lJ1Au)!kA}v*y6| zG!d_Oq-NZ!rhLho5~G|Rgb{;lnv0{QgTYvhEGl=$If#nIfGqmj_-eim_~ng$@fmV* zgM6|mS&iqhE68is^gaV__(3+keK<|y-oi7v7kv_B7AL3Hz$ggTE6#ETIr5KxUa>pv zil)SnMpvewkcGtU@p7gOr5l%VqIT_beMbcfLEfos3PCF`7H+Q{H_p0naf3~J-yT_^a z7?Fr*iRnLSacj7oH}}Sfyg)&5rC$vnK{cHuz0BbCe^F6B3( z`x(C$++P{eUDfVJQy{*Ysv@j(+*D2jvc*lHx^F%!-s*%rXo>{a_UQ?QPqUgX4OQHd z>Pn*p*pF@Zo2p#DdAfWpj)!WTn~xrwmJ2>as&(yxniFhvJ(!#V0B=1^3FCaF#SrUd zwZ;?`zSjM`d3d-1?N6{!mQeB1xWBW9k)d4LeBjG3A66veeH=O^orO#^%IS;y!xCke z$)X)`f3K3>7Cx{Gc$r+iyxVj^x|8Pn%Cl$>K)xEyg+P4D*6Y`{N<^CG6`QqH^B>7E!DwW7lS?JA^ZB5&u=(LzJ%Txd2{jfJhkpZ%@_Z7HbwYfyx9CZ z)kR0T;??}o6T1%_#BbZ&B>~DE2wHKyfl)4U2;Gu|Vrw~gk)HdsN7=$38#Nq%6^hti z8eMkEIFp}-cA5Lz`0q^YCvCSmfy=g9YeGaP3tm(*ttfIZKw-+@IYrc1k ztW{{r>mp6~a>Og5ME#!HsCbh->cK8oIS$ zs!nTx)2w6YGoKTku}0%bnI(-o2jCK?2w;?cdPn#ZLUv4;AK3H~l;l4;%YPt}0v*UzIV;BOZ%OL2B}FX1l;xFca~IH{K*j59N~u)@rD(zMnqx;k zJv0mODP^2?7kwk%X^av6dv-sk+1i^y$Ko(~!bKIIk47%UHYjy<-(p5Z!lclyYQ#Jm0;)%C4xk$bAL6F01jHO0nNwoJr<1zR}%Mcmm@&^s|A zTPet6_ge6{f^~NxcHP;==0>p8BNxrzlIH+eT*Z9l63!fjL5ST+Fqk_vpgm{TK21Xm zdrz2@5lI2+RZ0FE$~C_|+x$al!ahbp**j@!@^9;n&<6~LN1Dqnj+UA(G={vMop~87KVhOU3?XKja$Xjoly$B9{`N^ zvvw^8FLnp`!d42s69YeZ@tiS8P6P~JSSgvFXgbmH5AsX+1yO|0xm+%6Az$q)|C=?X zA?xpXI=^;`V00zPr=za9rFeKd()wD0fi~iFt5M zzuhWv&HfQH8Y2jqc_lJ)C*ci0{@vdXjchNXi>~6U6;?k4!)xCbyh7wH1RtSSzP^Y+ zhQIN!D}Q$!xANKrxn}lu!RFs}hx73jngab0Q{Am)j`^%1dAfO1%WlLiSAb3GhiCa0 zF#{x$n9WW68kT>5BGTyjn|&!9`tXODPi>sbMpE>Lnu7xP+xoX_bZNIpiKFFS585>x zJ{iB_^+&lP)4th!k{P|sij~g2MTsKtNpF;w z9hHhA!OpafTueY~M0yqi%PB}PF%OzRh2-_Rc`=vwLiKVgc1hW)XIO8s3ApPeP1WlP z=JF6LPM9!%1GezGX?h;qnA1yWB~#$O5L6=*`yR#Wr1TgAf8Fv`+p!Eo-%ygYF-p_k z5eR1Y*g(7Z#fgz@6;ed}96a1koaFu)zfecbJPVMCv+s!e$YcsEnQ81zaW`(2_Fz`% zl^%w`b&jw%aVwgvjPh4vI6J;LtNMNxTY%hOAD26Qn~7Ua#t>8&LRY_q#ZM=Ki#1ZxTa1^lOT&ntjEciqt6RjSNbp92$pYpjgO#= zsj=5M=moaSh`z>aGmu+n`jj=xCdjSUjdLh}m*B3L#+y_-vw7uG;N+PQ^>k`=8fwi> z-`EqKma)ZigH(K_r3Z>=WDt9`7EV1v(yp;l_u9KwNatI35b+2-eKxH1sEF=;d9GbO=#fJGi(JBv?Ka&{Z_eeJl(iR5qF8 zF%ohQ*$5t=EY2;|SajBsvKR-JvmH7%$31&a#7}Eo&L=fu-7en(u!ZsaYKUaOc|gNT zh!liXr62P=Yq7J%AfP|JM^7vH@HySIL|pgI>~)c2`LW5_`KFwrp!$=AK`+uEXsxx@ z*OXoCAX)MuY&pda}(vh=Y&t+;@%>aPHWEdoKjDvZRTn zOc^3#+1c#vp@tOM=k{P%yV!TJ<2R&+w9#hfho(l;&Thsw3Clqycd!BCbG>nzIW~H! zB`Yop_U#vLwjQu~`!RNWtDgqEV{eURZ(qi^&=Mo~^?;WWn1FJpjtM;>Xo8}v2GJ)f zSuf2;s2$E^`d}#_E?~Wyfx@Wp(=x|panpT}q zN4o?c0jy`f&3{ca-|zOd^!ch1$LEjWH|?StoEtS%gp-srJZ!DO2{7!AsbR*y)IBjw z?+>F9KO0}1Hw3}qq#;#NiHOCBr$Zd_e)W7C0xhPs{RSaxblxLrU&h>H4Xl%R>-{`x zvacc6?U6fKL%yyKo>(TE=3H9pop({_rKC{?fQ+!v)0M!wH2v@U zTH?8ix^xSc%8Ao>c^C(SJ;Oy7+o76Ae)T)~|9(>ZJa*17boh&!H|n-C#@EkZqXNCfun8dXy`o9q`#2sxqWc0rP z$X`wA_fUKY4V$ahkzhu1k?F^<<7A(|hWkt;)&U;R8iMEi-?(omF&o)_HTigphbH6O z_b+W-|Ei?d_!_@rQm`6g;NHJeWb?#nA9)S=*y?J15uX0<$|pG)T8k!dmz|cH`|}>O z)psSOd5d=ob$^ed-kkRx@EU1-yeGT20qi|vj~zWVSZ^N6P{3N8o9|q;tjM*5ZZ^Cy zZ`YW-8tftDCUC8h>$R~|pL<$7Ep^VQs}wCCI8z3o^8{ z|NRNZMY7f^xCAde;khck{+N9EkzPb}e;?kS&0B|&JKBoslP7-6@BFte>YYvVvTRgST!furl)-3Z-b~* zi?J@0<|e`_glM!93L%v5rzx;_j^b_eyeGI@8+^8SS!zj(QtA%&h@9)kq`3s@#CbA= ztS&WO?;m}<8(4N(O@@9>{yR<_c%UQmkvrV(R_Wz#G>4%;SXOa`%Ny7`CD4;z&JC`P zyF6fSh)9BuynV0N_YT0dZfw{)Qb8G(qYpvK1r(H_W7uF!RT&JL!Z3 z?(L?b_ec2Jb3ZXRdn5Kt-Bx#sRgB%P*PZLxabKw*ZSLi~n#piGpE6v(M;jRQRq}_o zn!xGmZXM054eoXzG~Dv-5+?In(M4PXHN)w*l4gE(oIr+36f2}PmLB(FW<-FZ&3`$b z1k1Ul(Ej3u{mqsRh|y(?Nv$YB=t|B7Y|b@Y-H{f#NOqvl!r*jv7kO!dvXV^Q)SQ1` z?298b7O=*g@IkjV58inOj&oHyPQpH7gq!(P_A*If&w%5mClfn9k073G?-s)lS9+pE z$gu58W18*RQDyrK>f^GuKTk$;cBbz9*p3==t)&G?AueN1b%i2iK?sy;y(|98;!PoZ z-H|orQjVAAAvXJR=u{A2Up%!x<-g*Gz{TeHk+}tqJ8K%H*ngh!QM_2;=ZXRC|D>%Ljlxt9V0Kd;=oU4w z&AEp~AcsBWtz#p$wv$yd%hg)nsj%|1zg1Mm%%cpexA{iyGHon8L|j$LibC%6?}az7 zX&&(&OmZ*CPhAPkVS#P<>~Is~#}ApP)gdGr_`5ugI~+LVl6gvqx}TRDu{+MUDYzL! zZP-RIsojmISKr`QMwtjJTP`-Ju15)(^4-?KP){cpeTA=+FxyV=9mwy!{PH@}6W%w` zS*dr~ewbCm&I?l9D|)fq=~rI&3+D8?lFJXfc;!Dd6*tVJW!oD3gvH)f-YsjoK1y~Shfg%j!GTnnzWY} zZ}u14D^hx!lgm#u}p3G=z8taw*&v6Hw||L0`MCLMc-(3|ul!Kl0!~%N6Ha zSo1g)J3@TF{EKY5=iY;nn!mu4-h#>tH9E>rn7hF5l=>Y4E!CHBBGQ_lngbXuSDG+d z9oJe2P(&qOla6j{p-WMVK@<)@$)!=GoWELd1MW=3T9cv}sbPh&c z(>RpEm=smqu2b(a-t^o<0CK`1i?5^}R+0onM{=$N|E=|2-#S0@iO*vLw?)FkknLkYA zF?|#fGY@tBmz>i*?zdf7)&B1(h?wEpb093xf7_2+pjl&+S;5(K7?7Upw5#Fp0Yw=# zO%U~Lu2pD1N+h;qc#;uJ=sL zj!h>@9Wz@Y;wYP_*=*v0-Esa-anmU(eTPe$H0y~-Sl+!=g%JO#R&$J8tVy+R2aHej ztOu7y-CeeH0>e!3WS=2TwPOX+@@uVu=`7tsaX{oDIaW0sU+2A#)cT-7lu8 z-Orp1%a12HgtrH~8x8~x>FgUtsA&Wo=7{5BNOnV6=t+WimLHFZHLd@OOQKy}kxl

T-0A)jO+sO!=>T(A1P7Eg*O8W_qyYXwFXeUi&fQZv~a-h4U0PFx6E7Ifeb5tI?(ZM{^(<3_bVZ*v4FvM`_Np>Lori==7v;H z=BrbOa)7ZZT%O_HRJ?M!96>y>ddmd>WgF>mc-0Tt%(h5g&4u=@yQMUiD^&Y+(gf_f zg$T(8oA4gS-@lSZ^HRj3E)fcj*wksF+Gjr!xyo{vTMGF-(nTaPxBL=m>ns1Xq}2}3 z)Gw6`_o7!AiL;y=0mcJ1m9ouq9X5z`J-KE z0<`t&&r`bkKQHwt;l#dW?dXs(X6t0C1{!)h4#RMv0yQ77e__t6P~<%MmT+VALS>2? zi*wfaUp)?HN32{;&i2QU(!C4;{TNZwuXIqKWHN%D?x$gTPH9PR?JHpI@LEnq%o=Fp z9#Uxt?}Yn!%XHJ_V{y*!N!%m+SyHl7>~Qtc#%DydZ=q=lv*|oxd2Aop$iLV3gzrPK zIM)2M*W7paP-EQ7w=c+z1J;w{&>l-Kav0{uGKLb`TenLtg2nSPP{j{flOJx1@*YxO zx4$R*kCZjq{~#4=)`9p(9*{l7pcBqij_fkSU4@x5c?egjb@@280{vCG@PeYv*T*wG zs`begcSxh+e-zT6`Q2-fe;-h(v_$ZyMSXwWFEo&UnF=D1CDM}oQlT~e{ZrLXFp2ki zCnS3*_DP@xTJ5S&aaz0ZKV6ad>o(kgXw&HSRoZsBpUIJPbAUL~3?>?yCH~IRzhhm! zP1ZR}DL~A2<{V@n4b7rgA@RBbWorZr$b8MU-YCyY?d-+9TCp zGFX81?zP7;T?NEFY+~|vBCy4>3WXmJf)ZUd;KN_UcL|rfI0N!EdVw3f+YAHXCp=+> z8Mo%UA7gHO3OWx~MV^j${EEp`3MnQX2tj)Im-cJo=i^I6uIiIb+le*jdq(yQxl0P} zcVBi4qNfJXOhO)cyU<+!u(7LIf zZ4Se`Nnl>Y=*rN)VhmTrpT~-&1pT_nyR(oswj|e_`R`FkQD3X-CG{mvfGqrn}HfsEcW!0MeYocTugYzgu6(qmfZ^jIri%@~g0 zFc!&TA8i<2O#hcCR^h)Ki+SoF?7uXrf+Iw@(@5@1bv{j;9l4gjgc*hl z{#2PH%k`j0tKWJ1R#|;S(n#^1VSrteUlb*CX_9YlvSUg+S62T?@5B=kFB6X;4;B$+ ztJRSrH#8jxvieZvKx>oVf9p`6{EuUJY#*xcl#oGL!4K9%FQx;aYbwZf9G)((JxPgOi51N-Ey$STt*+V&E>{9sky3s4GC_+ zJ%2Jk_Ezf^KU)0 zrMN0-y4CGwe5O`QSKLz|Baa7Uw5B|%)9*-c-T8o4Tgv=HVz$?BKl)|!WzK}IN1NGG zF2#QZ7Osar7Ex7<5D)s$}CHuPPVjTrlmo^&%@7-4X1CRzdrFZrdKd0Qq}m;7avCwAjv2 zGs#>a#KZ1{{e!BVG`j#PJcC9;dXWlIT#9^;jg%AIeNk=^ zgz=m0PnZ@rodDe4_u-Y${JJ0751h1Nlq|8k8(hm4#dqnBrDy`;AFqdrcOxj0_U#=% zWu*Uf)7rcrx}_B|wx;4U?!xlP@xp3-7ib6_7|`7c>M z99*U~Z&?G)q$Z7>vo0+)`o}YO`^T^af6bmGDSdkVLBbmolMXIknv z1Fh7BwyU3L`#qhO*F@hw+P(GLd{Btl5h4edSy*)f)NV*cy>H;?{SltVIwmhVfHjz{ z=`*i=`}p>Kma+tibxL}8R25S+5D3vsK%{b5{Y}sUl ze%0&&dU)v$gyHr{gJPn8(>>)*j^7+C$HqCMetJPfVw1@_(v4!>^PdkCT|_K7^^`eL z%;eAB<@v|=^rGZHEA+~#eN;@Dxc$tq=LcNJq2e3w%_h``v$J}Rh&1zEnX^iR_B48h z51%DG4@yO1dBc`n^qR}x5Sk@bY!uPDfG%hH|=u-0Oqu& zun)s{+l{Ms8|uBQP{p$@g7oUi-jn^43RAUm{?68TrLqc4T zFptq=r}AT8N-`YXA({x9I~2oI*UOP+p9DfEAE$z3q>{7dg+<4jm=T)Y)7Ko^1+bH?0Zcfi=L?f$zc0_?rHgPz!UOY{Jr^cMdq*}7P^Oo84&Gr$FJ&m zbW3wJI9tAS6DEatpbJKDPpE2Qmh6vP2r|6TcUD+aF3{_~Zx>Grm1b@|+g3K$?nMMU zM6Ojx9K7=6KR9@F{6{CVg+>v<;Tj0n1M^#8Uts{zQyjJX?A+r_VU7t^kopk1& zsCspXPT5S|BVWF0UjyF$@=I1mrUKwGa;xcTfT2HTAA2b7aS*6vCSs`Olyo%geRhKP z)wOId8J&h{1zS$|V6OTArjy`4s`zZCW^L}}iJ5jXgy4S|0Ifk<;gapzKWK_y9b-6iY_y18 zGO_F`q#TKCSc*CgG(dM!s2Bs8Ksny)u_fbbq~nKXAd1#KJA8~BckW&5H?^Z4Y3R3H zTD^4ZtiAwbrBtvRVpsju2veAP+6+mq5qio<)qN>cOwN5fm zItaH@G$6y6yOpz$9U<;70hie=3#eXL$Xr?*6ynJcA+<24*0$DX4&*G2HfH$uxL3fZ z2)y0C`Y;-Ea@4H^|EmLXGL9{R9ikZIw&v%NSD+O7#Vc>Gtk*(D7Tq7A)o zs+uIlpQ_Q3mABWQ0kZGR%1KXQ%Rd@W4a=rdws+sZKlfDyk-_p%&^J-~ZC0Pl##iKR z;Y+`+_IO>yre3o@Z#0l4=C9CI5Y~FyRTJ|o3f}PR&NDx`GTZkln(Uu$|InMbvcURc z{5G(_^wKzg(vx3*wuAiXngQx%j5jty#-ZI@YZ8zxmeubSnBz-OI7Rh+fw#Q&=-!9o zYpWy7>`-}|I;ow-1xeo9mE*F+z)pCQ9(LJI{1)-B5L4oW5r$y=#*#{q!e6iTj}l!* zP>@|ph74R)K11t>hgDbq9CE!#)Xl_=_fd_xQSoN*Mn^}9DZ z%^9`E8PJB)KR@r%lEQ2xxg^^=VHc4PEwry{&xUEBxdL8md=r0-GAKoLp&z?OK7M)U z^Pb6JV3bOV?TqVX;f}bmY=+|$ARsCzdMaMzwv_g8!qNpA)(4tR_77pt%`7S+(q zAZeb-Lk{_-1|hF9nOOFS_rsVQe^<(PDtGA8qJ#0LWy)~@qfOS<@H(WjeEd(RoQfmf z^)Pt?jzv-5JJn!fXGwI!$JHZC!EBB(T3Yi7$C>Rf(fK~guc0qL#xCEt0Hi*#1hS5= zmt}*jXxCH4D|^=Yb?( zGt+yA`g&q0TxonbgD?)wW%)Y3pI&O8OAS9rLL>+SSCHe8aV;UG{+z)6^eX z;oXD%?h=*MSI?*}M7>{9GO;6HQyidQVjwq~=HOMCnjJC13JH(&;J$brLhHr!|O^_H!hCp?koSZX-2>wR4 zi$X=>(3LVvyb7t!96EfVDjeHyfFR`K^X^)RV+cCK%u`<%*Uu+0uk4^xzrVn*5Eb`c z2lh(lEw?O{Pse%fCU`qxs=T^tc{@iYwG~-ScfTqsE7`Y6mh??4mFL(|O*8-vtT*s@ zUSTyN;GVmpxUo%o{ilr^;l0TJ4eK2}i5YOO-33}=f zH=mj>94{{J0bM%YOUbCXwWJeL+;HY$YL!M7593a$F02!~fs*B20ff*na+Z*(hyeW0 z7$SSju{|j7DcX>&^CXFe8ca-mp=O(bG-edfMcvF{X)IepfP}%ydeg!X?Qe@lQu5oa z555xKQ9=^>8s30gH1J)i+QD6Luv5PC$+PiEjwhn3n$TRB+|{4P$u7{S;?JVIFv>01MUSWjlUuP6M=N($v~hI0@-hU?tl()2V?qz7XFW>*r$lH%#pIkNFwjqpa>&eW)aE%Y)_O2h@TB-B5Xy5_U-!Yz-+ zMNesd(l3+yux-Lq6%$m-_61{DxVe|QIJpo~ey$66CHX2fZDT)s_0^Zr7&?^!Ovq2( zyOS`X(ue`5s}Sp1oCO*$1Eq3CRr=IF(fqC{ddDxu=TG(SBh)lMBo_Xs# zft4XY)01eTzD^%3MX065$@0`#J+`yM+|Pziia$HF3xOK?1m{*f&)&g|_-DFj$IR+Quu3Mu32Cu54e}fG2rhB9TX!6HJ<3fh=OEV1aLMxgsNlMHI{SDxFt)R`}cl!W5udQ$Hp+ zdi_9?8+4r3_-D5#6q_{_z3JCLLSC!}_)Y{~_Yb5j++235;8EJJf4uR*P@X#PC!BhW z_>%A{rluV1t@@+}H{?*hKhU)k!AZvt4?Wxa;mT4f;*WZ3%2y9j zRo{mm`j=YZ;U7&0a;`~^0XB0ZUGiAP;0&+x(}E=Ylv<+cm1+pjbIP%fe#EW%d`}Z= zcb7uebcXv>I%d0x^OtG|-`1F}1G^=du4>=FUz`-C|# zE2}6sl2An?yY*BnjBuFfpw(sBWTed6O^>1>GgG##{%cDK|K9usYBU?FD{20wVb(QT zg=X?db;-IN@M^m9heSCgxR6>&3{pf(YNZJLx-h1??>AwfadD+1#t1aYVK>lD8Q2Mf zb*|DcZM+9jcz*TG`z>CE_4&4lnoBDrVcU`wV&**>s{UDeH$Q^xyusZXh$AYB<{)TA zjvvEz(7I}d5vD-N61`$YW4vZ<-Ft*_hgU77yl`y0*sC8#+5GHGEsDM*yT2wi?V5QE zaSa7&N6H?+1G*N3b|r;#)AB>23+Z~i6l9@k$Yt?SNc)&5k4H+gQ@cihfb-FP$T4C| zCBD1Z+CG5L0V38tYzvJzINhWMQjh$vD$)~gQznbK0o=HyX0h7ZgqC&c&ao{x^c}qA zg$L_$dhg6I()*d>V8`E=r`mi7Ra>fT>Dxmdny}epm=yyyF#{7_aFI~Q*WX5BmfqxYR3l~aKn~?y_*J^KYrcm$Sib~8k&+w^Qzw_%=ieXe-md8U%pQ;s>CoklW$)C(OdQ399^*V6G&7wncuQ3Q zn^b(WeeZgGhkKvoTq%t{<960Za<$;Ir8WV+^T#=tycsV1w@X0PUu^MR+6vY<*P3=| zi;{gVEQsYtLdAuBV)Yl#x71NMZk!6NrBG4J2|GjCQ;B}pyzBV#jy=eGnT)uQ0s_X=L}M)nMhq|QWAd?C`d)Q z|F%;uhUm}CxF{j&3P{=PNi$~g-s<4yJRbk*0H(2QXAdE^>;;wT_Tki8PlzxO8wgq~ zo0>`5PC4J);$9+LJQempl$7afuG>>vs&oh3{_D38SOkdTXO5rFoO1*Mk{*1d|F0nk zLFGpEn|=Q;j<<}n;avNL>(r02&Ef6^mf#|(b7Y|GzhCYw8l8j)IXd>Y2dbQ-R4nh} zhB5WJdh$5H6<2Y|J4oI9``qE>gVd{j64bRoKdd7FsyD_+;Tjm2Q$ObGJQHXtkvj^T z-gG$`gBpp~1CDf`scYg4y^t}2`x^>(nu-&pGAyDIG;_fPT&;rh7GA?>Iw>&v#euE_ z4vkl@D(feub8b#V6I6|!s*I>_bi}i7hMcx0vEzY-wcr*B|L`fVjY+nE9y%|;AZ&Wz zHD62d@^AoQY;{y+dJ#!uwnfnEX?=|N>u#im^wk5N%5SOuDJ)PhAlpgdu4v%vp{eB^#}%PRiu zrr!bB^jM0T>{m+`!X>I++{~`^Ud!CqfBx?-G$yb)liA?508Z-12Z3m@kM|IJ+Ovr7^8!qVqx(`9eYhTOie=>My>so%jUA~VJp7haz(N2 zxIctp!-hX#VM~3UzJ+AB-dGV*EQOuOmES0_P?s0tfL5PaPEj#lL6LP;-+EcDbvK|z zokN9!!_LpAq$!sGT#V!BKPxQr2zS&vP+{46j#wK?Wmk=?Q)9TpgxX>wVfb|8xXrJY)BN7(6{jhfuX(~{3iABmmc>O3&U6!xfD6(Zoe+3*K1 zkiBtN?S2N;&{g7l!L#_@gb8S5uV8f})_#X7wQJC7{fdIqc?saTISr=l7{d%Hfk1ZO(kH+9XwmHkS^`<kd>kJo_03NQ+qvF%l=GG`jhecmAl!hWiH-D$o=}33r2~~6fE}JJ66qK zYv483^{}&2=o#7MU`919#08>!&UugQ;FP7JPs%WIRC+?f>Y}OfW!EkMf{jbNi&|4EtU*=Y(}O$)rv`I^3;j`^+4Os9UhA7om5ys8&uz59c{~VaoKYYA z#{aSO7H&tFg=_evYo zRX$JCyf{D6#nRxrpf$uJ?$&~D=K24kU|;?eW&N6i-M9;67FwSl4lQ1)Cb6E1lRw`M z?YSgkBTvnnG5_Fw)F(L;dzGLts0dd2CmzPxbcp3-ne{4og8rVD!SION1N(@ovm9S?+5x7#MjP1L3-YK-cq9fch1vdx?*M=}#jiVQShg)~J{nj(ZY+5miW+0uKp{=A z>~_Tnmv2`IjoK;f|NB-g3zT%jikza@8su+{a8|yeALLq!nMc2gOyRkIxb|Qpp`z>l z^RsP!o^jI?gGY?E#olN$OQ^k+H;K&&biV@pi20+#8Q+1249}DbT zJ5TFpPVAKeCIHz}r~T@MVPzyCvFbQp^3-{k`&w4J83bf&qTMo{06diU3SX@p*OPU< zIQj^pxh2;hIK37jeNMYIBA`s6M2BQ;E*_`N+m3TgU59^ELjD3=8)k0Jel(ROx)K?7 zmj5V8^ML~3-pbV?K@MxBS?Gpno+acTgy8(t@y3~e5Q62r&!_U#zJQbg*V)V%p>yaR z6(YWliIkquy+v-$ko0y(1)g3TIbO`CEOu<;v{3u%R;87Sb=sn#D6tXz?=pqwB6=@4h4IB#36$y91NU%1hcmyUXH)cI055Z8U{#_tJd(ywgbvr^3;=O*0 zu#OI_$zT}RtQeRu$RFM-zBA}wnMvATMda5Qe~`E+mhLoH-_f>KnX z`l8+z=H5&RKwqfxAyzHiD6u+JSJ`F!yp76}A}n(q+Q-w$A{7_qN3sRe-CbJd9tnU? zKLfzE5|?aSL||e+#ecsB4AiLmc_)T73=vpO}A5iD@peFJ~;6l_s-{G9(Ru@&#TVP@}ps&Aa`%f zj1)C9^=RltZ^(l-S>vx;6~+3PvV7>pC;#+N+qPPk48!O*VtlakC>y2?31tiBjlY1k z*O^2P^s3)eyQ>{fcHI?S6`Ci0o7XPsMUdUJy7iA+nx_677%au!BfqZ<%j&z)IM??0 zh3o>cx`RizOUpgBktucT13Pu-Ex>2fT^X0F7*LnVujka76f0RU!l+h*qhO!+ zl9&S{Va3srrrht)de6J3GG2|7IlLEBg)JmxOQPXCnWGj1OJ&*@;rarEodH<=^Iv+Q z7DuVLw^K%2X`eB-%Fj&103~Maq3ZU?-rKh=coi>w(|giWmFw=4>QQ@T``WjUN{!rO zxy&WGGhMPRndqmB-ivBmZaF?I--fT7XwG(2FZ>YTmWCQLwL5j@ijE8BU+;f>&*mnz zhMD;?Q2fI5yB<*v8hx+Ne=(Xyg!Fnyr=hOCj8{xz@@Q9sXH02A;*U z@m8H-gA9OlxYQFKX|Jm0i)Q>%~{p?vPF+6Pd!tJO`B)rOgs0gb0un(`XG z0_V4mygg5JVu3xLp**d&@Jm7==G27r8~%a+9Xx?=4%nrK4*fD?N(n(YH@DsvANFuQ zdSe&GsHx4x!L2V_Opc(#7*O>AabiN_z{%&BJqt8-)*I}Al>IATk6;QxK_ZXcf6qYF z^W8gu)N}bKFOfo7vb{y^uK6+x^{)^}>A6i{eVZg!ScEIshrO6S3a$P#rVa!n$5Aa+P@zmRg%F+QK7( zOrm7D3?a+Uy^VIx-z0lJJA1eJGr+Jrtu%y|(o9dqgUO3lDa=2?c1EYrW%CXak{k;> z|BbC*oA{z9Az>FfSF`ZS!_QUYd5f2Q2g1^=(-haX&)biLYxZ>Ys$YJ9B=zqU1GgvK zyj~hl12^e}=3WIg>CBlWb0@XkCEq|jr4(YWplnWl%VkF^xnnJz-571n&4-Vp@w<*E z>jk^{6Kl1Z?;RXaB7YBa#U4@W<^H|yA3OPBqubL=_DlP`*F_58R2r07gsOHGa%I-~ zdh{RM@{3tHX(e(F{Bjt~uUFg_2KpQw_irqEj^$FwZQDsN<>@-Y9MM-|p!H{l4_H&8 z3}=27Tle==P2UzgtGtoURMIgR*jt=uowrrf1$iDF`BKX6P-y9Xoef7#$ZM}Cwu{q0 zDuONZtI8ahE|~pI_~@l>l@fZf-~jrDyCU-BHvDt>R1nKTu8xpwRa^$Rs1O*Sgqt_!cRjAz;IgcG|>x=ghpak@`mF ze_jZ2l9mnI9&nDU zI=Gz%Z))^@kqoe6Xe!q~=YxnZA->%l?!QsC9Uvh^Cx!U>AjmTK1n5pJ3>{Gbt8R*^ zRKE4`vmJ<)S4FA45SS3l^)2}QYXM~r<;BMe4#&ngG8rMPQ8>tN^~RFn3~LLO(CD@k z13|dGmV>1XUZlS$^}OMvFiDT}?D#Xhk-j5|Vd8GpY8kU|>EhCsctqLpyxi)SG^1In z_0W4mCB%&Iqf$8p$jsNRC&Z1tl*5?`UkiBjsqsVTelVehEi7)w#^>S5R~IxhCTP%t z=&d&e!l-Z?I)YEUC&6QhyETz{J%(qMLVvdAWUjMilwJixG3uP@$@ z9Odi|$T|uKG*DNx(MU@p|MhI2Ruj-`sa8W@lF~$Wzgt@CBw5TtH`+(JYRi3cek&!a zqJyJ1tmpX?e0Tw7(aY(GC?hl`1?egDW-#>z-0C&#JMVq0xO?`Fe6xh>|I($G`gD{Z zi9Mng6%aJ;4H9p@UFbwIxED*jOw0S;614-|EEb#GHvg%3@Zd*0jVhHK3&)arYF>6x zn{An5fv3FQhEx$A$#vCm-4Vs$8C)z^MJj8%NEJO)MLJxJSF8H#+<14g(Cn5RV=)ll zt(+r!qCzWqcPNda!&Vj#anc%EO(a0fpu>x69w}Qq%MVG!R*r_d9( zvOu!pd?S2w zLluFTd{BSIEZmzLH&5#I^8QFzOl5MvV;4q^+djMxVvH|w`MXX@rws@N-X8Ke(%Mt< zV>?y1aP!EJD(0n-9(H42Rhrb98Qzf*w9JNw*J@M{wkP4(hms^1ehM_Y_SR?JLh@Wk zK4dZey80O(2ifHu+Px^fxN}yGY^MD;FF053jX7f9_|tncz%RCZWKnjw(l}G!Ia~im zam;zfWh((hRdLyJ6l_;^E{!Oi#eIC=VMuK#NIaA^F@#=~{66q^H~WEOa$s=wPbKo4 za6luHRM|Oz(F!@Av<41N|Eq;8>?`&mKU`H!bOG~aZjNgI??{h7e|tdv%VeR*8ES+3 zk_+;J*`o(0$W3O}XM+4$fBz&;$$%3XVR89O(&P4kQJ^1^R+_Mv#5u@Q4;Mx~HOTSt z^BC;TVf$YUpN%M@8`!=O(24oaq_yHelyJ9kMbV6VzL^Z18wH-J+NbtLmn(b3Zu-Vz zc7;y=&U#k8b?O`wY+Gzz@d$DI^~wI?NUj=k0=pF05D6K%1*#fLFBTi=dN1XEwF|5- zWfz4Z`a5Bn>AEh7oks<-s{K;r<_rxx$%cET!|je=U$1M+X`8p;Hm9kl)|pkS>=8`BzHi+?3gjR_IhA0zHa!=q<3ZCU-#)H-+V zq2fJ0akQ&!NGBzm1fpA65niSrV}!lqFc7T_WU2MXX$*TVGrD+o!YZX@QFC%&zVL-p zg*II@2QR&{q6~R#7A{fXjp1(F-FbdtiS_}(6?6AhDt#pn9&edZdD8NS#>z*!pT@lY zLT^~TPdfHqKvGGr!iztbV1HqU>3KZP`J8G8PP8lOUCJ7KRJaVjbUH05$=FzNw)+4m zTN)Sao&^!McKse9l!0Ykm|5H}o(?lz!{U&-NKAjih5l}eO*qwXIb}L6qS$B`$=j&4 zYZJ#tTv|FHKR0xa4|+`x*PcCUzP#V-rCnc-W_}pj1RslNO z_ZGw)s>PZq+&X%UsmaNCY!IaOEQ>ti8o4*qP|7X)W z0p~G?L2|xPofo`}RM;(0lE<`??cQ-y(6&-0cbt7VRy-gA);A9X3u6A-4@V3>z~4I1 z^R4XndE%W;>qzy&Yr>kf^9y}}M;@5RM_1M@-#|v-1(UM>!*UkhaQ@HEI^pWASD=0r zapt+n>4W~UpGu6^-m1)m(7AV}i$2kxa-*QaL4b{V$Ag$`_eX#%|5w|34l8Z&f1@6g z(2lsLq?Gc9im~==kN9gk?b%s%T^8H^F)!Sa8@6C#UC>loy+azf(g3sVijZ2gu2>if zYL=e7AbXe{&}kILdT4|z=>!l z<$=|vIhDi#+}X_Wn@w2C0r&38Rpjg>pcog`Ey-4cl!@|4-U+*FBYRoFetSa9)T>4P zEQo=EpJ;-IE&|xI#N%hMf(-e9tHDIoC_{Dmg z7c_NhGH2$?5R~QWVT@ zXIPl*b9x2lH+O3I06Qla4rP`Lk6A(TW{IdhV0~toya}GS%xL5nqfdoIW8U1Qa%Gpu zEohy*u464w@L-U}=q&I0jUFC(DK+;GI+ZX~vrkONEJljlQIqzv#1p+od*#!lOc^-U6|RDwm{@v zWpBnN#tGLt2tjlS)3cqNM+7&EOY(y^;KL>~61<{iwz%LV&-Q)1>R8aK@v;0ui3NQ3 z*sQ>|sAKzU{@*VaLlz&HdMlrdq2{yJ#2P&V#Gzr}_8xsE5-<=>*PQDLf2)c=INBWB z9wU#j+h0k^idZ#v_M%22f&`cLvLQeGINU;B+dPI!_V0=be)qAl>ln9!^nacA{JeyK zwTi0U@h?_ls-G`!(>^J&{pC}Q2rmN9Kb`QL8E%rYFtno@!QTn9a+Kd{>ry^vl*OA* zDOY@W47M$u2HJ?t1HS#}sY!P!TeDGEzgB&VIx`Bff5rFVM@jyyq!NMN1X3rIwB+WY zR4X;u{YiP^YL}w{ta-cvbw;bcT2VS3m4{puA^SxnL)Ojwtr*2$X z(T!nez3Ufdy)hHqJRKuX6~mOg4fjkStrjO>iU+rWruSajGSVE}ubZOgvZGg?{mS?Z zj#Le;E2o8XkEYBDoQ4ZSZ2p3SR-8~W=R8^E4JnvHTf;UMp9~L(X-P{xxm_%L&P=hY z`ZO`fw~Q}hyX7_3pxLh+$Ex^y_KK}<;mPfHM)}tQilMQ2IC zRZJY!Yz)h2Kz9Y-~BpGnBNDwi37xt}r>C zr0_ki%P-wWAyIw_e6$^1TaJE74JE=l5U32j}Xk-%3*mD zd9%_+ePQnD3-`UI6xm5{=nt3MUqq2h3D07I@~6^sh!wXoGnT8XFQS&H07MQ>r;aeC z^JxADC>4dS=9QOEcqwr~azA{AFA}Ep!`O0y`K!#T7t3BB{@MHjNaUT~a!F8f|Ly2( z{b(sDpL3vdteo3AoN3}gw_&v|hNQ<=+P;0S-A=^$aIh1)0y@y78Q5>Msur{-tdB29C&#Daxhaa?v%t!1h+hTIjUU1xyeW^ zb4N&1S0>hPE_5LqZ_-BSkaC@Ofv`sOlLfGWl3keE!gbUkt0#0dT+b!c&_xw>^yNf|J0M+ z0mWrKm%H=(&i8{;&w*;lADh;)j2X!PBpaNs@7$Y&ug`vabL2oxbS~#nVD?^gT%H%x zk6l)P41{XH#z&uzOsFwUGU&|9F>R1RkJ{JEPexF)wE{!Sv&KBh^}x*J@ok(1LQRsA z(X+RRl_pa#qQY;$^T$-INcJ{P7-`fL z+^t`#@(?efyE}0WVw%_R(X0zGx)vVZ+GN&GP>B{7^#VTXfW^E{pV2)+q_rEc7+;w4 zF^VVL$R;kk88HO#P`frCqQHgVTeb2FfQFq(bhG6DL@PoX_O1h-ArzlZX|TN%9rlV2 z#&ZXy9ZU~vdIxGcf2iofzQu48${^zWTX~_9HnLXxIT@jX>PIO=p&yK?s6BVfA4ho4 zQ=WPP2S-Xdt9^BL9LT~|d8d)$v|xtAqiTiYZ(2GVy^Ou;qy$U2(z+ylN~w%fJPHRSsFkxp}GCdSzFYKAMCfU;20fJP^e0=Es!xXMRTUc8*?4oEnD899qL6 z&j*G^U|8|wzkTBtyVbtq%2g{lD;T`AQFm!h2kJ;1Gv*@F&t+w_8#;S$L>T|dy!4^I z7lDI9ZhTyCHiC?nemGc)w7}~Iov}^KAG&%^2t)8Dtp;S`cy2^D7 zFuMFpchtM1IFtlHC0ut#&16wF`rKR1Qev3bj{#<*rLWYnV_%5OzlZGnb_~B1%e=i1 zwXa9&eYz?IBjq9eIUa5(lm~_j1H8MY!ZU0fp&=vjRN9IZN}Z)F2jyqKKlccqy2;)1 z4)d>^_{*Z(5XkK9dEWTZSQMod!xSu$AXN)=K%Ba*MGJ#_JRo}ulTwShsG&HW>T7Tb zf8^hx++L;YL58pU2YBajlMdUaH4cN(qlGJ8kvQ zDSuXb7tV$-EAUGnU$koD%%r^pUI(&i&a;NumSY@oU3X!H8>dRtjq{%uC+M7nzvBc2 z&cW!k;JBayc-SI{V#a83Z#g%;ARtjobbJ@FVyn-MPuMA^zYY8%fUo`g$BHkoM=BZ4y-ed)fM*StbEcP=%oX_Ul@c4$!scy63#4q=-7PT94?rF(Hs zpImCMlje)Q;$SvUnC3N8*#sqIoB0wjn^byHw$#G3BJr}~r-Z=21naD&z2372;HYOT zs9gSuJo|WTFmMU;E;gqI(s?LM$&(hrt|JgnEF2raQu;GN^(wz}j+Du7&O3Z&Y}7>g z+Eq~r6V=4)$OMk}*x;*}F&;R)L)#xd3A>N6yHjCf1?efv)E^SdQp)tz!VYL+*uv^N z9Aoc1oDCQ&AlBt5y{LOAn82V2uP8~Xm8vSCU9LO>KAu+YEGaSB4@S$bbyGh`2N$7( zO*mjqWc|AbX4b%WY}?$Ti`I30vWjQ9Eb56k9l$YH5L6}_KqIa&T`|jx{6j!lqm;KS zF3UT2l=6H@*RR1}Msz7_)tOEOaxBnG^Vlg=phcZk%EL82XM zWs|iI11Y3U3&47Ror%u8CEuaH{)1uyW(J2KdGXZZcWX{m`y$zy!+C8+oCBI)2yu)j zSbl#$Ik07~U|yJo4)~mQlLU_dWzinFvG1o-ve_iA=%0yD2sSfHl?^R z?IdPcHJmALuJJ^Flv+$#x#)7y);h>?yNTvmxH+}x`hVsl+tLO8Bx?R(O5ejv%D6Rw zH=s_cife76!9QA<*?%qY*1|#D_*$@On(lDE+<<&ggxdM%!p%Nq(zH#oH;sl<+j-*!l>VTgYlGwmWq`vd%no5gl9}4Ak3p9$4cTo^@Eb0^1E) z8C^vaM!p0H=c>cKf1ChWh8^V4X9Bo5tbQb96edV{o_WI2RSig{@1~d+W645leC>Kzeq-dXM zf3O}(xJ*TzmjbS$w{Q$JYFIes89;{7eLL}b6EiBqW(-!YQifl2d}YHvUU4EA3HRdm zUJTolQ~%aOPVp5w zKX8SNZh!*`9Nw`$y~}P9Ia{h_I%A1FJk8Ofq6_}T+tKV$`7PD@SAFtEr+!s^_{vo9 z7k+5lcr1_paB4Yodo=F3{s-p)WLg!X_iqCPw>*}wGC~b$Uk@@~%3OV3vacg=tMBe` z{?n-?uY8?)YVugP&R0emPvtfz(!J_PdpX=qS_Nin+h5#Hh6pLpPx%}fOjhGn=agLN zb}DZt=VorxNoHT|8oo+15h<0Vx`^A}?4pu=Qf2(il{*n>GHtW8cyLsa*Tpf*>*udd zH0Jnkm{ol$!B_QMw)$T8f_viQ7RV0)16i@qzOSqgLF2QCdL3u9UH|cOE{c;xO+~y(Ubn_5?HNv_r3tu zjN4{fXGO)&b7yO7`u4&uRrtr)8_P-J2Eue+fD>n6(}$C>E(6uo`4oSH4ryb<{&H#3 zM8^i7V1mk^wW=L*h3`3*^C?vCDf~R>6DU$#g<5HE5u2ZVmxxsP3eei@hLc~d6pB5bgC|tG zlQo3|6K21W5ZNAUqv0Hfvtnv)t^D8?v@TwqxA*RbF|FXY*9q+TqX~!i#yLsD2puLt z=~&aftRo)ht}#!Ee~yP!-nD-L(bwW+uY?3xhmEm*A^X%`x>kRm5UZ&6oH=N16zZSj zl9ge9`$HpW?FG~g{6y%4Ij|Lm!+naEaP9~*Tk>{P%;kNgIBuve*;~^jn)?U0F5>kL z)bTq3?b)skui>+TbC`5|vQcQ_8zRt0&zz+K4=$QrVSm64`R1V%e&{DsRgqnLi{*~AC(C~th@4W=buM3z z>*t)2!ss5pJTJ2imT2^>dCgysXH)4j%VjVIbs5}=gu^4l7J;e6c9vd*jS)MyOF#ck zPLY$BE{5_3JfO0sGjfX%0K#EDI8z( za>$-ecO~yTvw82)B)0!%zAd<<8Q;a{9s!2sdqbcM4V6COS85q=5s0VaSkrX z*%)QiivFM;!@k|0-D64ruF}M~UuS*h>M~(!(4_p^_IrTB)Ms}fo9?j4K#97~!mMg_ zbJda}0yN$wJMZyfBaSU8$2RJ{@?#qTD~jNsddBSI;K}wSw@(S)lkuX2r~k?JN&Meo zmOy=p{m)I(KeK%2QQ%1JOKb!?Gj&C^ReV`Xphdbb))A}FYLw2Ug=}URlkDW^ZCM5? z=l3!h&hb2eXp}Ol(B3ZU$grHwTHq@uy zj3#o-5c{ugr?5W1Mo4zNr703#h-^-u_w_&9(H}W2!K5pCZxlM=^`0kSWRV+O0VVAr zCPM1MDWryZIpb}WxKrK0>sg4sN{m3gY$V2I9{9HO@B_mCWsuu3g)aftPex3{j$d{} zT681bUkN&-jT-tLT?-IRI`3#MZkw6Cy%Q{(6Reyqdp^-je>Ri>)LAzGkV!0q(rzM+x9?!I8G z6hOj;?>-zF8zi*k)H;tG>iTYJcN*VYOqJ?7?>dR0$q9YU8G2w>G+8DlaV zW9EL{qsIiR?)XCo(gZtm^V@+gwMKc0g_NY}R+E>})@lx87xU&rYe-LCFlPoS#czoq zou_U0QH(Vt3x^?><2-lK^>)12^c;Egc6KO=Hm{PASwW;DfT8o;z(y z&pNqV43dm47gHhsoSo0GsLH|FAdk{XWfC?V0TQ29T9(8=PyCWJl@yHb#ju39fPxaC zl!Xee-enlBAhM+l*VnvM_IwE5ydFD7^e#$S<=LsYpHe$uQTpCAd(m*2Z*Lrm<00;? zE%M;^5`MoY2vf^Q9jU-52bM{NpA(rEVp5>l6BplP*VCUQ-0L@lIW!D*RD#<2ea79y zTF)Y!5B{D`1+{+0QG*@$yO#!X!i?9XL&C2K&6jBQb>B_~gQt3_;ica3%qKV2-CaOs zgDrs-1cmKP)+OclRE??EtiRQ}ICkjR;6#J#P!?$Ml68YZ6R@Ndz0mL$H*xLUzj?W= zK^|Y4JKJEjR2FiZs$b9CFUT~ul^$OaJB;xO^t#_-eg|=au}jYqQOr*Bt`2h-;Do0Q zgiHr`Br>_($oVKV+kKvpZfbPq;i=RxF3Lm54)=-+GmT|hbcw3W%!!fWRuj26b5K-# ze0;-YgdmvC10Zg~NR24=E!UU7)&j;@*R?HnOZl1yo4av!WWhWIJIZ9SRTo;zr6v2y zLfQ3mTQw{o6!=_= zOd8rRQ^DbQ3Oci`tyNyR zJ87KA8%Pj*jnICy@WrdSP8l1gP0|p?{W6ZP|Zw_FxBn}@~(JKPE<8DdRDamVkFvC z->YFV9Gt{_`!ej8(vQ+}Vtd7dB)V{*09aC)*mk6r@3lDz4Cpp(Q<^~3?rVWU1H zjNUQ7dy}h}`Vb+%0jR^cOP8~$$;%547m;dotkfmQ4Qj%rg4$>wpu*I(D{`bD9l21t zlosLt@v?eapwwK$`2f|K3V#exCwCnwG&aZ*hVyqa_=gWbkfifk|CtdUmyXo)8m~hy zY9tc58C*5r)40%bq9Ad|Wt2sEb;$ER(40#DIAstC*D(Dq<8+!Pyq4(df1=+Fn5Z>M zMr@v?ege189l>n92TlLo{ftZ{z2;VM4&p9x=tzs>sTz;>^bU-3lK^twf%eY{EuYzg zZPKy~pP`gbcD(I4S9|M{&9^V7kHq0YQ%7aB<7I%;_-&H=G!aDJ*hnHF zw@y5wlu)%)28g{BIndP{Ts1yijjub#Zt{6M#*^S$v8xmFqx!?^S54=^XM;Xly-xD- zBJzw$B{Q%krQb_HtG|lB0lIu(T|i&)gc=GnFWzzG=jm}evyW|N_z`XYXXL)E(HB~a ztC1(aH>N)XdtOa7K)bl!YKFzSyFBo1NpH{w%eI*(oJ-wMlJ9xpcXb}Iu=n*W2KV9p z?M?Nzqu_s&K0~vY|M`CpTyt{ot`c}?93jj~B7pWIS#-9R0n!!NLNfGA^Q)hu%?r!X z^>6+(&`)5tBzpZApxEm~=#4Jg{RIPbu5~ls@^$^@!@H*u2tyQi;?i}AD-9>~jT+{* zmXZUK{*IYy^S*o`#Z(n3Wc+jC%S;-uD(dz7M_cue(Qg#SoZqomyZkj{>Rp(A5o*6> zGk+AlKcfGX9Y{`GZWFtYIy)QkFrwgEYAcl{jECU$;|Xf2;|9&mr=wq|ymd|;=(73F zqGTNV%xo3bgV&Evjo|+YfK=pjAwdRJt<*ej*~7}?^RKy<^!Syzx3bjf=Ah563wG+$ zQ8a8&<7(cf61z*6{4>^iWnSEDMdPyiUL(O!8ky_|Oy6|r-u0uWv^CE;wnp!a{jyEALa^Od?;oMX)eC^!ax+b@+Ffv~FPXtqBBD^0uL9#+C*7TV z6*77$e$wJj0cO&kRNpEbBr925E^l=QJlqXCT-`6{TXN%GjcUraf6u#A{Htn}HyynG z%uilsI6g*SS|DLkia=g~RM@Dim}clbLd_`=iAOKqLCbB;PAVPj^OZu1!z!cJtbl-j zLdwfaVb`xT>HT&KLM`*Cg*d&2)Hi?={f_b_m=)SG)_F}1Nz*aSXD2|BwwE=ncWZiaR)4;8~ z>4l_zpP|iqUlm@nsch$t*B8uYAkdpZ_Z2%w{oO#$2$x~SAw8Yg=N8VPmTau8N4?j8 zPPli|q#Gf1sCv5Qit(MCp-k0RmKotpbOcp@&jk&I$7o(X2i=7)5(lp5u z-5B{%1#znD99jZXP~#qd`c*8AHWM*mBg zC)1_AuNvwV@-SN+A2RYBvad|^)qJUGBw~cu$nnQQO#kaH4ejY^+Yoe;|4JCkvC%~_ zya4V(xI`W`-FNIvfA3*}0_f{+FzRFv7(#|-MP6INd+K(-;DtwaYs&00OUsm=Tp0&% z3u!vMiXzLIzX97eY*{}Tcz(MJGqfc+{A3dHP(AiH{BtwH)HKBM{5{&Ze4#b^GbXlt zf#IzMF1EsiWkhS2(}HE?23tsG*!3S6GfkL~a1)8&cfAN+8C{55 z8JZVvXZ3DNAK5#7Dgd;4avWe@OfjHodmJ|}UDKO7ByFy7)7J%}gLpI?EtS_KTPN(7VTC&t6;O>BS><6wipN@63ob<&}{LC)5R z36gqX2icuX`teEbbIGD+H3WtN-Mh}2PLg?)jf|xy!inKcK_7uB!L`8ANYa0>0!sVK zOt5?H3FGkWAW?}91t0`R`rFqh7;EtDYU-(QZWWa* z*uK0|V5Q1_{kkF|p&eg0l2|2(hbd$&6?JN(?Wlts^Pbw}kN&TL{cvL9mhZFB;8~U` zMF;Hac)kQfZ~gcEt?QQ`kWZ4ccGgYLB>!A$N*!C_9C^M+SO8L+XZG8wtRIy;g5Nz> z_F$E)*FqLLw~*s$oFsv)%wuRcOMCP~EA?^U65EKQ;p>3SB)1!L>(OAkH!W@(7?m;e z8XDa@f2U+UFJ?FHSJ+%Q{Hgqt+MH!(eR;@Lg}`5>-W~=3cGcTp9%K)T1g1C=b}UXx z9XTtjcI6SlSIuR$X&@=2M{vW^zYo(+>I{O5Z3fRfPp_Z#W9;X*dM5I=aK>P1*>Rxd zuPPE`Lr!^wOuy$vcw;;IG^nC?Gg^^+ke^iF`a3FT*D+6PSAD=!kYb)l!P{@#+8&mb zIO|c)^V_eVi|-AqX}syRe>%00brS65Kgx(dfnY>`RVd}95ltuuOK`LN>f@GuDU`4U zC}_>GZ!GS;+C;qAJhDbQ`7W)HKd^WECQ4xQ)}3V1t4r~Mma(-&C1jr4qud#WnYxf< zxQ!~&tzo@OoX0BTqic6A)5HbKw%(V>Ea=M)E7{Cb%Uh%q`J73_s}bn+5sc?3Y~~X2 zz60XD-q1PdRE4+VF)PE$G=Jle(LEc-YZFc*SC_iP@tOENzb?2PHF_R%0vs5z%sbaU zzV2ng3QksHmiTDu!#WQ;LF=RNq8(_muopv^MA<0YS*lAPfooXxa@Gj#Re~H}uFbB> z0%OS{(}$HxMvV`YE$go6a!_JJ0;siafxocMiahgPhs*<|UaT#uPIu)%)>W8;N5?a} z?_leE8Qxv_4+i9gBFjGj6f>k7kGDhye^C!0*V%=5nwky6RNm5M9(NwK^ozs;hU ziP-*@y8p^hJsp^%MPfhro9#ImvEcD2ZFQhTtCdcwWW-D(?|+$ZR!^E_3=Qu{-lX^!olyfB{pbAp2K~^ zDs4BBS~)PA226=HAQ%U*;E7G*|_1!0EV&go$qO=47 zK_~th@ue*t&aDT5)_9sB`_3ee842RjI)H{1*fioBunAnzDRwW)zcLkr z6Jl%e11e>Qb))gv$Emf8yd$~%Azn-`!ExpS5;Gd8vu^ZO3_-;7i|j`Os+CoAx+&Vd zsRn$k+ZmzEEYigeC`vs2@K_`S5yAyuvB{<>k@oav+x`aHw%qI{XrhCS*Y)Ae zEChf1kqXi9$>~i=@6+gV6@?j2WigXSm;*;*A412D*IvKpluPk5acycZ?z}iOCN(r> z=@C@_`LH7NA|W6{)l0DDwMFJ!9LHvS8QnH86>i!_^Wy91)|&IdmS{_Pqn?qY2j+eZ z!!kKZRUjkH9qV%e-?Q7KbCZ$37#Hk~*=~FOkzuU9VJ&Wxm?^j*_|eC3n}gSm|0})sdrlD6b@(Lbw{7sT(`XjW&}Uir%vQT@k^evYWil;pT8d&ZN%B$br5b{rePY9@h#duIw8fsQl6dli-!7UsRi+Oug%>Rk~GRp-&1BXq=h6T8aY z+-7#`C_nH_BI?;l3JKyh4yV*teysR!nS1v8^-hm$cz_0GB6H_Bs45i**^$1@Gl3pV*JAi?ilZ2pxo8_ZUHC{z#9Y}O;jkA zFj8#t_HM<9zHB|Z0#)~S_3rYSCp88i6`cKs7J}L`ZyKmwk8tp-@Tba*3*EZI$z6-)bPcMlZt8RoOQ3(oRwKE4jppatm3$+*e zk$zM(g~-)h8W4MKR8{sH=l0eOfQ|eGbS*b%f@8?DXupib3p4FwGem^8J5paE9!c=l zT2Q8I2+&V!sTry4EqRoWMcX11>;r!BJaD!dE8s$#PpORndo#)w^ zuY60|Zb~#Mc(NCJSi;7O`o-`fp*nJ9Sh$4mgY}|hF$LQ@dzd2&L)w zopIR;nLJ0Aue+Wtlh7jp<+EX^U&juaXd0Z06iyBfG}_TuR;wC7qVsI}4uPa^OJ$); zl>-S&JE7@`$WyzyYpj*`5x)})xH9Q%a|hFJxrk#@^#s6kCLP!5w_kdC!9mC;;2=zmkQ>21aO~uYfz(;xGN4soe4)OVnJ!!5E{hADFAD zbQ^ANg6qiLer7N>@wCgz$H^e1O)v)K{eRRcb8}% z*U<3QJ562ROHgwDlQZXZB{=?Oq4TOI=2dJNf21f#jY+jz0N0)qX%R&NC(C?p{$A!Q zDI9<->HjjomoGzA@*0S~S9^&KHYW=S)~m^%S)duSODhQd-}xfT;Nx2;d7a8;e!ktJISpueRa(AwAf9Gi5L@M6f2D z5)cGMu4CP>@!=+teot%cp0l5A7Plx^E0gY`dF~`-jpB}i-6vMf9xoR(4$mE~vB$|( zMV9mc|D4f`>C8Y-LnO@=I{DO~rOWhr4RT51R}q6x zU+8~%3Mf?!3jl9rDfPXp-KEx*U7Z*V+q(_cG)T;3*UA)n-b>=@pBU*Effr=9@U7Ig z{Q|opbycbNKWvU!op8b1582^cEI)cp4BLV9a&x`ABb9>3Zet+S)k~fMNI(7_c-t3l zA}8&*aDb6)6E+!hr65K3Qwaz8e)B#<2{=v=FYYy^VZVQcwRV~uAJnR7xboY&1m;Dk zV_3-OGcxVZ^+wlQhu1W$H&8}wDd2`GthdY7PL?`#EBK;}^mc{Sw+HkfnZTS7ARvru zI8jOpcl3SVu>0oDc5PC^#bVPV9kYMPT>x zgUG4-2R+-V+>M@q%)#D&+~$oKK-Pk4z#%_(uud!+s_fm3nc0hg#O+&KdM0lV?4xVj zqRR{2+dRXeI1N?Qbbz=(T~Iz)u}lsRoXl(Zvs1hAb`-%&EEA<`aP{ebtOf*np$M zx3p3b-GC(!yB4+U!dUJ4VM$QNND`uzfBN{9F7NZ@Gn=u3|8hqyJ$+X%G*;>TC~Hp8 z_*XRts#yXMcCVd?KOd4+dXf#M?q9RJ+rT3CGSbld#rkAv#&FH_0#7d9 z)+8-G1fKT>W+>NXi0G{^_*XfJ^3z<*Ivn}^0qbUMoCp|ZVEa}TxzH$$nU;IOBSM=l3?uaS zD7J(|s4tZmBKgfG^wsTZUi446j`I&7YQ3%Ux- zT#4?qF$!f6a>eNli$j=y$uBTL4d=2xC#7CRAAXLT^|pi>kBJtu{tZCKDH+K{euqU{ zI+?rMgKdY^{xT1Hj+vH?+jraM$w3XAi~`=+u$r%UVNG|>J7N56M@c%8=Mq?wF9|o= z0^PA1V`%0Z=X9C(@=CbS9GOaa4mQB_m|ZaX8Uc~DaJG24N|g<}pSAEy8}BX3J;a;T zI#|ZSmGtnbj}sOx{bP-@leTTIdLjVU*BEHv`rq@6v8t=N_PNxKT;BS|3(z%Ca>^+r+P!s5Z@K{xJ&Fok{+}ck$sTCE_|igY`K~oz!-6Ei*JSt)L$ej+4Xv zk-Rm^fEcwj4Ajh{5H5yr*taC~cPqGlKU&xPk+!hq1Zc)ASE3s2K1H{mNRztakGFOT zyuFr%l25*%?C@jyH(gcpQ~Z8^ea*~KO$ zHMUGg^(N{bLOW7vV8daf$T1I+}SddYFAf^I?@F#xtB#6Uc&m z(g=HQFdkH&(#uU>(Xd}!#>d6`j+A@-jj*njY)&dSl|pwWOc5#>cTPV^Nqk1KdcyQ32vcWg6#&X-CS6jU-@PFcyyj@7ym{*>B^^ z@-mya0nv|w!DA9D@6rUj_M~^X1iNEJ1p>e=vi6*T&1Hl6IqvJS*HA9x$Ln8`78{s5 z9BUVggJk0TGa^S6h&eIGCjJI5l#=Uz2`dER``8dC%EcChCi2& z@MNpH&-yE5fkXlR!bDp+kbhrp+AXIB85#kpz{3dkIs_Sxk6)6!nya1w++>O|+AvaD za{|KF=N01J8f%B8U0r=-;O+{OK{!OI*|!8f>dJ6-`EG!K$u?WvqB&UeE=!o*H))~{z`Tb~IuJ#`_{Cm!=^W&`# zN=3?)>+dixs6667lsD7a8=3WgvNnne$jK=n2>-4(o0R6lHr!6X%UQdI4>iddRlC=5 zN<51xiA@D*r5p$NoyQe5=vw-fzJt*g)64O?2Jd~iCrq@<)XZG&f$UGM?(jUrV4_zZ z@D)!D`^SmD;>ebc*1bk?;FJh$bYhB!mulfIeO8Rvm7 zkeZF=!0#Ao!l42D2{e-VPKD^0pV)7-$DMg@)stEoj0JFW#^Uzi*Gr6RSsFIV#@kBC zzQ?kM=XYn2`UA+#hUv&@mF=6StM{txdo!xe-9!HQS%{)v&sa*77WMfaR5&<*{bFir zN8*R7`|Q?c+K>5Fw{@3iP%{y#EHx1guo z+TWV4!$Us6$Da#=IRMM*c4r(W4<3Hu{OW`=bv*c0^ZL5r&4+R`15FVo%kSc(=jC_Y z8wA20%C)@qpV)m{%=HIi~ zJ)bb7InEuqmJA@=w>7go2AOm-8u)K)E!ejU!1^*m|Cq?e-{9Gk<4fy@RXfL8W{jl~ zLzX-%0Kd6&+^`T6_yD`z6Qpi|g{kGI3xiHVH3sIX-B~JgXnIvjBMzJ;V0L&BNFMWR z#mOMhAfoxat7YZ3*@OlvoYPP<*M{wHa$t>LYiA`N+mjaT)*`*_fW@UlSrseS2f(N5 z+dMlrlMx#pLF#!!M>`G}Pf5t2A*Oj5Y$%yJG=%O`pyzIbY#Nk5W%7rhdjU8xlphB+ ztQ|XLEktOigy*0|sLzJ4j6WuQX^XGaId0k*KTA*2PrkL?a&!~`H4GOF%sp83SCHde zRK}+dEgdf!dVUM?_yY;^x_%1S<3Rt9X!A_p>X_fbe$9?76D;t&W$nsN6R8-*iqB6i z(XMuxSf*Cp(e?s2Hyu9OKzTRs&vwfQtc)he*UKxR8n@r1s`ZB5HjiA)ph7S7Z5m*0 z^{s?``*oXbc9eZ&tOe$tMLG~gJf`*zByIv1134-$P_-(eTo+nv$AQ=q$pxh;c`kBW zHH9bNt~>G$*%^eQax-mT+n*oC;|?YDd4GGl&u zgGir&^)yX{_y8gVm^^)hd=ck!j5|0c2GwkxyBo5s8R^NPtd+@1FPVB}n(eELj1QD| zL%nGi>p?{^dgvn5k8^ioC)_i$Ht$;6$0{qymkMkuS6Ctf+7;tU!Zzbd-~-Cfd*GMAEn4GGs8W9u($ zk8fRsH!AjtVFd%T(nSpmmVN8r@d)&yxE>Du{h~q7)tENzRUZ~uO&>1l@*eXGLD1d% zkSzFRZ$p3jmyF<*b3|6>j>3UV_W+XgRZek172hc?8rb5| zTcl1X{0zV!X2a0op3}-hrmvp-)c+To<(14tMs6Bs#g!$F@yT(PZtp8(?9xmOU7F4g zOvcWFwpdY|~)mq=0m0XWZm+%VrZQSX3+^#xWRUsoF^IH01@ zm*or{?IX+Yd@g3fHbJ&h0)zW#qd--(WWB(qSU z@ucpJlyI^ldrgy-ipeCC=1QB(=(|QXCHwbUxSclliT~6h9nU__ zU3wyw*Hpq4fW%yf^uDD{+g5M4d&u@ENG<~~xaW0baOmdF%?4k!ts7ma@-u+T1tYI8 zFCJK?Lx;OToTIuhLIR>`1+yA5F$v>`ZOs!3XMfmC+;#k(qH8!|nS@wXE6@`6YV$1A z8-sVe(D@nt_zdw;weowY2RZ7Tk%3dS+OiUt;}odczGkzdUMBE|afl>x?Qb|kLT}-x zmmeY8wvfHS7e(x>wm z^6Q-+U2@WvPkV4XS9oiCc}A1?Jl|y3s+>JM!)OIYYH~3M*-X=#|5N*8+=CdJ%-BZy zAun;_AZf3oTCp$4u^% zX`Da@5?m~UXx2AItxYUh@F9ePtZbV`Bl{OqXm60POs zQ{LB@25$x$;_srPnm#VrCv)x44;89cM3_1mubA78wbKWV_g2X{C#KMLz42^1rA@YD zvS0AXzkI6l$|j-LP}b0=BzX!(2+I-~h~Q=mKmy^5L4&B@Pzhw4e@POT^09x0Ae}r9 z??_d%lk9l6XjGyuC2c?a0IU5OawM3OB6G*8ZT?$hHzEtiN=-Fce+yO ztCG=lU{)kfgk}EY{Ax(Kzeac!l_M+yp{@)$YW`e1Y()KxxaES%U(b-!q=(h6EXua- zD*K<3*IU;Naw!)7JM=BAAsETvr(Gdt{Xvxn`ufzcXy!eY)D8AFfX&Q(FG7abAZ&v!x$JsK;@UGKi?9M*P*ztm^c_5Uu#24Ug=p^PJp$E3J&4yF3@=yo{6M*(I3D+ zdF)lMaiej&h~!5V1V4sHytv2juHo#UUv-Q}?PE`7IHA-!u-iKrbQB9>Bdj-N)fL~q zXk#;JZ51(5X{+zOeER5#H)fZT_657KF+%@@%rG~+JYs{;H~1Cz?zyROA9*9>!tBgI zr1fg8Z{Y1>Tv=91xes~WK#6+w%y$44f5Sq~3gY+@6edNp@VQA3Dp9oubdOpn;1Q^h zgipt?v0h>+??3k0zWPA{9H+D>a;q(vbLKMHOHfQUUAo_mJtxw;U5I+{dh6!~w5JPK z@^+y;u2%Gj8Hy;C0HGvW_;cSNVpk~#2eE&eOzDJ^r}#w3D0@p z=E~hVj_Q#1a-0b9ibWzt0hJ^p`MG^L!@sQr0!U@G4~#B~OwRyfMH)ELmnJwNW8kSl zd4K)oVx%z@qsBU&Dos}Qr;5ZXH`>*mZ!c2M8v6k@Ih*(EJKw?KH@S}XZOoy8il>~Q zKrvYIYwb&s0Pyw&Y-!e9Dv|ncE6qkT5*{WPuRsy5cONH_YNkv%%0DF`j=b2OBR{3A ztmIb;`J77P;9#IluI+tV(YUh5;e4u-IrHCNg;{ixUzGhxwL_ApX}b|cmHSlP6Q~a& z9D=ZmiW4#6l2s6-8W4Aa zcNr23SY40D-!<-qLll79$#(A50#FyoGac_Fn6s((WQz9R8(h!7^=*fBBv5O7)DH4! z67`xRLQm1#hjag1{6;bB@>KkfGy%!#nJLQ%yl!$u9|{cQ8G}`=pGhnQHSb4f*S^F@ zsM-)mjwK_3I?>*vJG|ChJl{rZXSGIofO~hZaNJ}IDyU+?GK|NU3`=qoPn^c28EK@J zEh#m|ixG=CYpE^{1VOzo?zSI1+1OkY=->1~7^t9w+E9{HCw4PQ%8S2!Pzut;V8r7J zgrXE`0$-^(JD>P7V!nlnkH<|%Z@4aiF7k)xurLbwgQQFFF*tp4@I5p!83G~N<5OLFW#(#AM7|ChXW z_*}T)I>fHQQ^aAiaA>RM#6UGFXhsnviM*KksiZ&Ido`%$nFU<7dD~u1_V?F0QvTW2 zhkZ7@H1tOmOGCg3^Tee98VEeZ+IZ|cQAAP~7enY^%a!1Q&Yf|i<@Tu7?VF%w&xo=y zD1I;WB@d;yG$-4;PxCRBu7V3%GV&WMFU8N7L-$QXwCuaYt0%?gJQQm|BYQMYH(PFd z0-E`fL4czLT$K<6w*E?6%2w7xm$M90^p@00Cf$9K@ydSDHa6P824+U1s$r*rnb&u> z*|j4K^j!t4P4cA!7fa|xE0)_r0?=l^o z+~m!tLl$$&*p1PbpQxFBF4vi=e_)I@W3y(O_8PZj;SyP`^7s9b1FaYDSJK9K*DhEp zpC*)|5-lyzNk)0MqKB>0wmj3F42m!Gcg>pJUsv)4u>M6E%B0FsT+|<{O&9tLsPgnk zrPO`cNOgb$&f7Lt!#;_%v5wydFNFJ|_0GB@!LwdgPi99uU~6Qo^sZ&^^|u!g9~&=V z_uJ+^4QY%SuC;0YfO-c~=hm#?N9Fs6F{%ZRufpDG zBbHo%GO8azowPShxp-)i_$lk2@yZomq3aj0NRW>>f52UIBGy|M{%iiz_2q@l8O&p^ z{Fp!))F7;abZn99%X@$lWFJzG00-=aD;C5lsPoM`Q zIkWiES;bMF^g&%ai8ZT^Xk>4mty^KuwI2u6&WzMmit@TN)l(P$KAu-sYl_6cF7!o8 zn;&qm+nbKz+47=Jg*XVrHfd6TIuTkR4XJ*N1kDAT|oYkhQGdhmh+{Hvo zrm+*msQ=?IDV1I?PsEW$4Ao(uRIO)jM$W@u;Jy?M*A(L^?|eT<_Fjk|BsN@Gbj1C$ zZrPJjT3YRHpNQ!a1kE}79sjQgT+1fo1A+2EQ0`UM2bL{;qbSc;YA$|>v()ecO^ zhr%s7@Fr!|*2hM%w=)O_Cs960-ZkSeCEuqOLOte^|%Koe{4H$0%c^ALIjUueu z6jWF1z-#fVBF}t^Z%d{~I%k$>bu;tx`IwY9-N9izr}8M)oti$KD0!_R`GORD}onW`!yHc3zI z(N7BCRLreLXPh{*cnQcGsc{>wjs4t8t9IxgsJmk>D<`8Eb>FxTptMB5#W{1ZW@c$G zH!6pqU(#+*FRY>1u4uwOfZp&mmG&uJ<>k%FQ8_U2+hR}}6nTerunRBeuu-h}d{O!x*v}E;p`PJFyMw*|! zK^jB1NqKXwmUo#UVJt^-2w$J?#)Z6;d!o+ zv(Vhl@DG?LVkutr*h*PR7xE~ybyY9j;F8wxy#OpRH4WI=x-W;CdTb)n` z12}K<$PoKXWt%o)+t%ZD81=5QrocT4=a8P7(LI|Zg8I#Hd@lUKlw;!R@Bref!P}J} z!3y0xTM^67E+}ptV$Sg;kvJLT#A_4wzz^8692kmUTu{%%(I<+P$!eVFi>`>yujOa( z_8ONQ`j`DA0Y0Ri7M z_LIoM@ORx4^CjyqiK&w1=|hFhEAlGxSg}WAUuXXfK&^l5W>VjoNP+>+wnD#^zlP*& zF1ze<_2VZSB&%xr{`GIrt>JZfqOl@<${;CDL#A-ycZcWYZmyDc*E}eDz)m#?x44?K zH|H@#c>DPE#wl7-#xzc6L!&hvFfT`}er?{#_5G21z`A)e%HfnLP;jP4{9^9J6V%Gy zLokreZn!ViSodrNnOHb^#e%ogE2e=`ns44uN}w0`ZE4{eIeSve)$}ACtM|~&4M_cg zjaW;MpA)=+5qg-LKDxn*uwK)_AvIl}D*X_{1w@$FL)ptWKv2w5O{p}1E+d^cP}4OI zNuDlyN50m*Y5I9Jxx6ZWT?&orfC8O83(Pw;j_bN1=~4qf;- z8@!uTmO|1~Ls+D%$4feYw_Lt8u~wn>{wFl@MnRq^LFiVmcpPa#&3r{!0<)0dIih=x zuW_`YW%y&>;*Uf>{Z<#CBh819VZ+e!+~|doq<^5;7T3Tr?mD@Zb(aLPmi|2zMsTMn zjn$ZH-3T<3&MHlPjc~flk_LZ(3@_Z}ccjeh^Nrc^_E#=<>T%oE@D#Wc8E6t7rZJ_p z=PG38*jJ%jFF6B@aH@^@ck{9`BcaMe0$JV9X=2U6l zTvqzs7>YOw&;{!jBvG5*BWW(+I`;>kn^+$jY?gx3lm_;yhbq-4O6M-y^k(dMQ~V74 z1#)LAXr}Y~zCOJC4*1UDm}xHBfEClsfc4FXBajN-4GZ~29o)W5OpXFw$F=MbWAGEJ zxHN52YI>2~bLBZR^+U|w)wm}Jz4|?pg(c~qH~RAh80vvhl+3?9eIvEjG(cW- zrvVtaf@?KO3V8_W4cf?q4VLjq{yv8rwI3`ySF(R!t^4r0i8l7d4vem5?Tgl|M;nnI z`Dc(CO}Q`P)!gxwWKx{Koa^Jy$oH0rG$h^>)-9D@J9ZVlukmW(a?~iCYlZeaI(`dZ zNu|~6Kf65AX4aL>374zBx+dyA>HYX2EAV9Y3Q=H5Z-A~3ol-_r&>bfq|AZjU?{z~e zk4E#9sKfi(e$ijHL=M&E^AtE%zeCQxn$tAB#&w*yLc>=QkhOvYW1}RU67l3c-`ovE z$JZE-xe4oSq@9WRhlcgdZ0ps8UhagK*#Ep`$bRLYroC>Z*D9MCi!Z4iM9+600MxYq zMSe2^GFpqTCBp!u_2&P?agkQvV$K=!c;$R`!Jj@yueaH|1Iahatsg?s>aGY0k{{Bu*F~)uX zCM*VlOCWp{$o=Rxq&px%v9Utis2^Kv`>Y%@q`VhAGa-vchdb@nzae*lNI~*Th467j zdh=aigTX1;eAT!fo=!n*K;$`32K}^r3>dJYJ>Md5^Rd7T>uc(qHiP_j;!SF3Xt5tX zeT6sy-&x@_e0*Y|grk-$N;1gtTLlI*L&fR9&GXA`(i#4sVy__*L$J3M=~wDTTvgRf^qQ)^+P>6nhT9lb zcRw|@GeH2%O6Y1?FD=pEtI~2co_Jej*9N|Ns>fS}zSsxyAF|XITCZ$Rb4^ckO)V_A zp9Ea=RLw3wDspA~Wvh`W|Hyv+IlFG8RFa17t6D38R4=tW(}A%YlTZ&^M_l$|-gH@9 zO26fS`ho{(k&)iBni{ngq^lAFX990wb8Qr@NdPIdd!gxKH+5<;X_sTimECZMsioeNm&`Z4mhTLV`K$2ayj3z;9er4e7~KS7vvt)GVxCt;aJy_gV_#--*w7Mor)SI9Y1DiB~-Sh5RO`)0#0Of<9W1g_B8!caje{l3Vxf zu#)%FC9kD>vM$e5Fc0Ufk1SrA6)b*Hu&_TAZg=!Cq&3a7u;r)u5>{**@k3cU0T=Ux zR|~g$RRTj~m245*u&P17ur{c;!$C?==Zwd3`rnWo2AjkTNix#m{F56$66HDM?B zAD{35X}ei%QQnwxi)UaC427B+8) zd)K(34_d)h|M{nSYy)4ZK8u6uv##Fyl(l)QGxFf+M#xw=UbMaAl7G$UnT}<^fSNFD zttL7m)7lCwyheS%>AzL!25+6|%%*cAhVJ8|#RXP0ss1r*F23Cd<&Pov9>BEEO^Unf zVqT|TRYJ7}VmSY3*4qj|m(;l5t9Kzf46@-{$1yct`l1QA2W@jf27M!f4H?e}x*4_L z=Q)`wn|;1fs@yDp1cz*mOKt-ohXKo=G%wu44(qcn@f%;zYlF>>9VDBA#A@D|A{i` zenz3D#$~m7KF^*gt6F32bHV(<7Nmnf>4oV$UG+jUnD1!vkA zm+*=S#6Sk;Z0_#14H__CyMKzQWU4;6t$(mn{j-@Dsxn&BnBaPKGdqa(vR31P> zc+~+nUEvFPF2CmW-|Y0`Z>!4i!Ge{J>1wUtDKdMi8Gh!M6>8EedSOSFz>m(_xPuGF zSNY!v`p6`oVtTE4qQtot@Mow5Fh?JX-S4n_&9s^~)T|5TB9qV;PBgoLGk*?rX5}hv z#5l@pr{?aR0xs^d3=Ci}n8L!s^z`(os3Ci@DJLfy5!2lRO`XS#F(92ymIB-YbK^|sEbU;8TU@7Ss$tc z$&>Ea{#^`WJNHNH+@GB|rf^x-KXlbo9W2qz=V*G25M&ul#PLixNL27Qyxyy35O_rT z5}X)>Ipd_9u}gIITDdr`ye%xUQgfEVM$_`lv@yFDZFMy8?JT$cwCnY1Lh`L&!@Z{C( zSNMe+5x1v%OQ^XY5`9;c-BrM)4tl#<%KSt_I!&aQIelqZyc4NfeU!@|UaHHxk!-?p z#_l0Ry>jf%q*kP2pn)10!iSEr38BZrf|XCLNOxq?=jRev!HS#qj6?7j2oQ->ox#}Q z3Q;@4)+afldf1X;XTm34HczeU&n@+T11t%odeo(UajU!+dYFa>SS^{X%-{Puek)B1 z0yM}fIT^b1m7%mxLmw-J8Sd@y4R7_p+^@nlt%^@y(n5<~V(Stws3G5U(FDQs~NJW*HrRIh8<`fFF;6ll7ww$#)5!k7CUf#Dk6r%hB zgZ=ZwZ=z`d(xJ9ee9h4EOY_fzh#3(}R79Ef(K)EVw)GPv8*wf$K{8)RY2c_UsPDj( zrOna6((h{Uullz;dYGn1l^5Wk@S8Zcaj}DB1^UcZB(9&%2=alj4|fzw_ukK6CAx36 zy>5#BgLOT6&VT$E^YFxp(xL{JYvmh(9R5v;LI}qB`R|s9cf%BTi^}fPA^#e3`*%fL z@k5E!fU#WVK4qtNf3QgIVmmbefy@7bKz6?S+436`EO6x+iKubnXmDD2y(s=Sh%>;{ktFbhC%)) zIofi8w3oym7Z`vZGH8VR5fmH4Mu90GJJ?B9JJ428NT(k?Tv<_9S}d`+w-;VtTO*OA z%Vk}K%k@LY%MWily;hj@xwmns->Z2tav_jL+b!MD+jEW8tO7X_GnY<2S=PT^al=*(-*xH8)hEyTR$3^`px3&H#;)G*Z2F#InhgH423SNJyq=SfPThb2 z+v`tw5o4ur9EY<6)T1PP{>tqp3`2dOv2gA0Ev=hvAjySSG6J z)oK3bE%mNFAOBF5qw91ne7}D!H%!n!7ALD-9CuCC$Vb|jjIASGCBjh7zI$b${uK}R znC6J5Nw@JBw943fmwcfa6w&G)`jdZ}|5l#B^`)hTlT@3df{h^blAy!DJP<$o&v_%q zP9Yi4o1fICx7*1`0*(hyTVA3D``*pM2CLrGh3LLLE!g~G_EmnL(SZJpK71?kpG&0K zj07zm9%`6Q4UP+o$Cl1m0x#~3!fG`7BgM!+u({3)MGVEFCEL>h@Val2tWdzZdI!n9 z^H2KYoq|!w(Z3|j-$;A>m-yA=3vjlJeaalgwLhNu7`j5jxV9{^=6HWXpX8sx4yKf+ z*hvqMy(uoB@0~_G^1oaDZ~zBBEXyl}nES8ST~Z>&vWV9fCeT&8fFT8r3G+#BM>L7> z63;xnpg!LG>H_bWBC&epFFE#ZnudP;$a8bgs_e2`Uy955d0>*?sOB5{wsIVK@oZ%nEza3C_2+Q)v--2%m`Shyu-MD>TMDF%$tg-ptS6TzS z+ue%Q7*#i^)j_C|X_S7;a}UIQZ_c@h_eQ_9F8amR3azL(e$DP$$pyWCc4b(vP*2?H z^OgVfnl69pj`}RUE;9bA(E*uZvq`y$2CwITkfXS$Q?5dnfmypUrAC3aC2Y$4U4y4A z_Jqgo5(9<%^X3Tm!gZKmeQ^Bmety_J5=9QHhrKUtO+nH)6gBla;aTJoy$bhNqE`psY) z0oc&R;k0xOpe43Mst>e;Y%aY2CADhmEm)0r)h+xH=J%xUxe$ZrjZGG@rYkFMNq(tm z&kfp4s=p*N8@9mvmMc=Nf5o)5fPcI@9B$p-USBK_Be>N$p+{yg;aT-|mU3pHZ{8wa zp6|>t3+YDwxhB~I4{TF`f{nD1FFRALNu1`W>Y3a;fJvob7##F#^T=Y|8?^LfYVje< zd6=7v$(&muzSxGXM}gOM^mL6kw@2pZR7BC&?SInM57hdMBO>Q=w!iOAIHjc;S6BTl z^gNPw>8O9+H7%;7$kLb;J*Eypa=K=F@TF2cxTTP}(>MCLDO~w85JI%)mgK<)<{LN5 zTsx$m0i2NTo93fKez`eK&R7?Eg?Qp0+?5b?k{5PE?WZXe)HoH)W5c~GI#KtxET#Sd zK};!bVwBePYW;UJl^gqK`EEJB^>jzZjHBFz${ex3XOWclbOFAD8-GuC@e9Y5?SA@* zG1JHp%C20X?;T`!uFi0QdXXCH5p>|fDJ2Iyz@54}%P+ja`M=Hg6jogo26x@%*Xgt8 z7%N@3?FS-cPdaN~4n(T{!Itp(M%TRTUaaRF%$vM3trgn69_-yw$JDi0jjfLXtA1g= zwvt!i`FngV)Q7TuK2$rG+`HD|j^gb&kgnd&H4hl_^?@^Xj{hCPQ0@Mb5Ia=^L>q8i zqlkm6XtoyY-@wMtK=vV$guPe%`~*`=RJoOQU^n(4*P5u@Ut3$2)NI-x@5BH(x~@AP zxelR9Ug3z82#--E&r>a(A=j`6R`8zu;bkEr?jSGi1rx23-_T|M5mc_)_Y#qvCbw~v zhkl=X&Tu`Q{WtLOBTirDrUpYS7enu-k$4*=aV_xUju$xgJw;YN>PPa-_C$=w zW?a^omY}>^vO{*EGOO{xSl#QHv)P=U5|Gwrm(+EWgrGx^mj2m0V%?BQK;yK) z2toJjI1u})^({^luwAU@SR?b#p_}&I)|b#3il{q8A)4G~!{C;NaDU}w;Q4dLK5&AH zB8>^_y_zTLEJnpdgUq!7+23ndZW6+uAo{N5|NO7du{w5fvR=FXb!z@d5Xq8l+`^K) z?*UUV6!`+*72FY}dHgG8o*gDh;g_GMmMo7?q$LKSIZLd*VITe(^HXl!j|7!gW|uU< zNFKk8A&mcUjin6D%7-h|ZhI446h2qnOZ%O;~z z=O27pEzjiOI@LixVuDeLiB=N1hTKls$X~A`cuKujT3E2;>RqzTEsy?!hHb*g`u+iK zU7Nj4!9Sfc;jMtt(wINS_-?L85aua75gohHGfdNWC953Hstenx$X?T6p{H{8v$nRJ zz3x*;eCTT*fFll;Odn+DH77rWN#v9Aq5jR8K7>+N{4&zrpp1QbsUwvOpNxh+K{^Fu zKX|w<%dl=oV@LC7pIbo&%j|HYPjW`E!4W}o>+-FufKS&ng&Bm3FSAN#m0od~ST#N< zS9Ub`+Pq%&H3r@4r0DS^|0ok?za=hHC~w^R_3%#Okd{lQGAP}(?9n7F;iftC`T(eR zZIL7%_tmAdG?_M}ljiWM=Fvt(k00xU;=J04#|`Sba!$ox@wehK%iRQozsrIa84t3k zw=2#HILC8agJuuPP$NVhSo!-$mCni}`ERC=aF9PbaBh95`()Yh+DkmwUeakZcT`mp zL+Xd{GVTmZ_JJ-=lFc7%HV$3Rxtb0mj|=*n2(uKpGe0q5Xez36yY%=G9W@5EziH!*tI?PRi0xkl49?I!w$eowS%kQ{1mA3S0XF`)X`k|!K z4l(OF@|n`oC(-?U zQ8O%`cfGVzK>G!VtpTZs7_sRh3D!7y15s)j7TwQ&D}64~S@HWRW0{*bbxLu*@`6`&-d=AZb1_vd+>h_G5K6!#Hm7u5JRnGpdt_#23kiMupZIL=u`~CEh z=PsuR^sUf&J~pT$v{O0MFx4K9@-#%oTk1K-HN)^o&sizeGs9kLLnv*1_{XG&K%!`g z9uJ%+rqR?<58JtsV2ke;rcU!tE|afX)X1ovxHT|5#&h4#6+Ia+)!DDO{N?m|accm; zku{h5^L#o|>=Hr3s!@vkAKQK0|95z3vNgzzD%#^u-|b+mhvF~&w%u@%C5!YGOxSL= zH;gC2+wZNEfHo2=zxk@R16$nG002Wn zf!Ln6h!WZM+FVbi01vE~R@a1|qQg9FHF}0J=7I+;jlkS-Jb!?ow#M7sY6v;4tm+O)4_xO?%@l%Js>Vy>~`YzWBlnpTKa2#MLOXt)$*7M@u>{@^zSJ- zRu|QiNFU+T095qG7(M=MjU{DYL(m+eS>!pITW95`MK%l_aE9CR>~v?f(WUyJ z{1l1@-|^5{emLgs;b$m=)V_7X-MCmGxZtIc-ArR_*yrlgpL)v8-DNIj{;U{Uq0HrT zQmJdKMqjuyZ(9Ed@1L?ht4cFdnqJ7sO|y>75~Bepa6)2IeM?|xHdo@vZ%Jp>%fIG_ zZLUv{t^4hkt0QZtjR}sK^j0sB!J*F^wWBUdcsEG(6Q;Ge;RYgUgO4h;ZyZ-H_a2Q_ zO-nkMiJnxPUK&+esHa5xW6pqR_b_-}=vLd}cjJH%FW0<*gz^_YuIS*P15u>$&o|=8 zN#GkSto(NE)?fi2Ozu`d+O1;qObJ^QPEC{iPZ9N{m!NWdV=k-6#9;iglVq4)fJagz z2LaVwc~yZxrFf>~$qz=VO?ab?;gaDI9XWm^;a+3g_tFe`tblELf+s4TVj%&>IVPes z8<7dGA}+FnEaBZV-(8v%xNrwIWw!VS*(eOd?cMPHL>4L$ zPV<$Vjc@CVoL!P~tj*TN$4*7iA0aZO1KptoDqwnrc?>^mW9U>TLv{@GM*(mif6FsJ zm51aju)=iKn{(EV*=Hs$hdtzr=bx_j_%zYU+SnJUwY>j{tDzEO^G?ye%QTRcSBo#r zOLS2Avt1^CJMXX4FAm%q^h+9zAj{b zJpm+1ok-9KPd9r2`+Y0 zKKl*k>^0Ku=RY%l{`dcA`tN@>-~ay~@6uL{RuxsF)Cje=7_AOfRTNb#c2Pn|Vk>8> zsy4MnL`y5RVw0de>>V{z1dWl@-qil&`Fel9|3H2?b6$?~IPS;ocD-KnEs2RnglAor zUUqQh^ZPBXqu;oCEwU|oF~!0cFXb5K#M~$uw%v`H%l23b17$bff#~s_|3!9sK|Csn zV{52pnI1y_de?j@O@)RM?9~my5**aVER4XU7dMgyd%*z5gQxh22jE-)tt!F%60x~_ z8V-%m{gB*a(dG$ih%m|j0};lJh0UPiy$jn4P!Ct$dr^f~JlitI#jhNa$f0Hk6R%Dw zd}gsAE69L`L=hGTHFiC)yba zNh0#VE-)(I?X^z<@K3yXVQ{aoz2mJim&b<{2Q6%CSh+(_Q{1KFPb7m2QrzH89y1;k~&=gk#Kh)!jaP5@4B zUB~c)c=Qa~eT)M<%RBz{Wpn(#iI6`pWh|3j=0c(v_7)p&{fQp!e{6X-W}@!~vKbxi z`Z-lf;QN3N!`2teG3~aV&WU^^N&@ywQ?e}4M%SQ7)qwd4q)g+rz_?v2t0KszhWXzm z`Y<$(!7)`z3wUSOA1Xyx+@>Q-u1yUh`6&OJd204gY{Z4E>$ad-`tP|6YtqY2YkMm3 z0qR4xfK`v@M>^^zWO2-9@F>2x=7VJVrti0&->IjkT?g_f->6`&NvKs(^F{EUjB^WS zsf60_T|-aerjJL{dfgbtrz?48wYg%ca!uu_Ieq^(OU|${>K;m6988##o-tVpSMzv# z#rhEWEhA3X6@DQr*g8#)AFq4J;xaKy z7F=U4sdaPM(26tdN#L_lK-o@sTITHOdsdxaGokxWR7)-_6SvQ+vbg$cnwcyk=9g=~ zjcx$XuZVp;5L!lmJTi?UCS}`3w!#B<``&8sC-};reF_2{EM!noKpW6CKsdcaCF}kt zsaEqez1+T!PpgZs(O~(&(|bb;W-G;iDEVsdc!@a=wjtPw32HBOX`cr1O$|Rf0Z~A= zw^0JS~@Ox zy4Md)#5UDBgF|8w4pM1DU6M#waDt1-iAGi~+R`Kk{kT7%W(+mGL{mHS>Ns1@-!}g}lYx=a~bPZU*6)5?ee}gTg2LZ=_xA z8|e~blID-a1DCCEsbSzlQl=SXXu3THoYG<_j{}=(z>2_1svSd)h7U2)g|4x+A(!B+ zn``V)RP-FbKAL86atP1g!B@{~Cp4X*MkQayC~*re=hBi`2F}S6$kTY2%s< z@}MR{Ew{!mk8n+V4b}Ln>l>pQeQW-=O*ZX1TSw#*RT6&B{B!dR+ib-o6Q!!Dh|u81 zA6Fa9;<~in((-$2aRtiSsG zetyVCj_%8m2YB^b$hYG_tm!6eUt{onQ(o3d5OT4{-O;(b(If6)rV6%rG|Iuhm@5?t zv8B697|;55d88Br;UX%I?s4)m@j3ygUB5xp;kkkYKE|G(Su7Hm1|di{omzP3FnY}awyR2d#+G}xuAJ+5&k zu;wkBi_E9zcq-NP&s!h}4PN`uaC(N?s7P`r;=2;HdDNB16zFOJW#fHGi4#xGDzBy-eL8974XPe z7TwWddkAd35LHAgu#q5L_n~K9e+d1ewQ^Ak^0+WKb&K#*%D)Tp7kcY6_BEmM1^7hu zUi}u>ZvHC?emVS9qaJZ&8stYmal=gCsEkMoWV|89K+8N9(iKRPac~=Vc?YoRvX#u- z@{?r1r6{bsVlKJE%HY^by}PURg+b(KB0cDR+MQ5RaLt|N7y8QB!*k-;#DpUR8r6dq z3G_h^ZtRXVcS>TzB%ruCRmUbY7yD7Q;`-H&EhjLj4*W`~nzJ{(gNH#!enifjPRLz-1^-x)I!|@}KOjQ7Z*c$3l4A$x$s+H+<{aBvZd*DOl`c-KKIHSl}a4 z8I5Qwn_G_lxclu-%zSgVo6*NAP37Ye$%k;U(g>UTMfZR8uOEkh!>TlYxGoO*Z%&Fi zzPRc?*TjcvLx!!~+Y}AG6qp8tr+79Inw2zr;onfi=c;!vuaOK)N%CqZN;%;=zx-Ol zGU2Ipuv5PI3wk&sY5rou@3$L+xN_j*7fM(ek~8bJ2)5{L_p`47?IW=J-~GR&Epnq6 z%$P7<_k;AVmec+(nEr!7?0<~b|IK>>1pcQ|M=1fETZWgBQ-Kp68vQNK%t0q`E&626WZaorM`m_I#J76qP;8A6$EDwI^bz8 z%SI=uBqwP;HSnzicUE0$S2F5}+$@O1si3m6T%2K?HUpH{9o}oJxL28*-s@Mp=CNCy z+=zw@qT(Y=N3pOW;KQ?)S$xy4H6)4s(4$+aJ?j3F1%i7CvYk#v6{v+1;+JmHQ2(hZ z%Po|x%1_Q{SV;4ww$8Bz<$3=W?CqEwQGBSnC`DaOMjm;@gE1F;u8SLb36h>#VNMu9 z6JC%;QNiHRF8BVa8#4#t|NPcq$IK*VFir&4?G-SY?sOKI_sJ6Q6W%`*}V>fluv=uLUU|k?CKN(U+Ur_+0Ko<7laY8|X>@Bh5?i z5Y`R(fzlSIGWLCOTgBA<#pgAC@k!T1j72L#p`+88Gs{isLkh&5nxtW)4B>5fT_olD ze*^7^S8;%zQ(^s1Qm3llKJ9gq!sti4)#i{^Fwf|Xm)6}9noRFlrx)Xn_FSx6LQ2T0dUULe$U-INBL2VT8 z-}nXxJ4e`3wn|qoLCWVD65iG@rCRj}t#P%u)c`R|deg%dx8!=2{u==#_i|{}-2LH& z(~k_)QE^sw8l7uzS4BwX+?;l*+(pCB#r8hUR9+!U$#dNb*K-Whvl3#yS@Jq|FX)k^ zfcQ)H@$Unx17P$9Pd58~55DVn}zDx7Iqg|N!YhE_}7OhGy3(b-QS!l1^TV}-F zHz*PM__00}o;sIo+i7Y#EWe&8?PGB15=Y``PY~*T z3sxiSZ6kVOH6Qi(9ZMvISj1?E*Mz?-dgrZ6|Gu^g{C?Wt z>$n=)PE-6877v#WJ-VG<@g)_K%?z!U6zJNH!o13J&+uyQP~;+h2*A5`MN<=HT4@z4 zJ3hrK3}&}8FF=*i`+ijv;2+<7-%+Zc{-GE`$cGUX$L`thnID zFL(*uvt1{l@-Zrfrw>jq&XoZw+78;Fb*PJ82cJ2_*)MfiumBjXIRwh03 zCd;iqG5!%5)KT64EywpvVEvyVb*l<}F_%8%LA=!95N+1YZ;!R$9jM^`9O$6sf1io+ z&3FW6)8ul-!kw?4M1@87)S7d{jP_d!BTE0)?9@jx>Xn8tLBA}5cmS57QgC*81^SWn zR12XqnC44W{_-#A!%Y`sM3Pyzh&VbL$_(VX`~Uv++!3SP@9oL4hbnCgHrH5&3%Ani z|DD&ZZ{JJaZ_7$oSW1qD5q+*Fb>n1`UJ%O_f{M)09e12SvRbFH#2wK5cEf*WUR{xG5;<#yJZkAT`@NvbW@9~Dw z2&40<<8X?_36qcSw(_f?j6bKX@N&OF#!MQo(KOS1oigVbU<%n!o^y!K1(K6Wf6|=A zm8Pt+C8okJJ!WPa3=YXY@=-ZDQPMZqN>6s=>4cBuEuU?k9e>^>* z;C>eS{xDz`!+7eXN937Y>sov3zQnRxa{hJmj!U7>Z&~X8I2}oYV-Pq=ai@QBe11tG zY*d=7Mrv5Bv`Vh|YQ)y!tl}7N#IB?Fl?2^TKJo_wAo^0m&NoBd~+} z(9?9Cfff7viS<9!QS3W`1RKoK_#~ru^Jm*%M?RmvK&NO7Tf&<%6DfZ<(#*3O>QqQ- zU?6C9dYP#tx67`R?>`J>W#Bqmhx# z)>ge0-QlLbo|@fD3|rhEAgd%4Ud`cr;i$VW&U;Dhks-q6Cepz*m5$)r_=7gjAyWra zXgj(obEwrL@Y(+$=bh9B?DmdcW)jnYlH$sQ``9)$4!X+1OaEgvJB4(}z|-hjJuN7w3^dR8{~tOrJh6xnh6pCEk3-erjP!{SLPhA#{^ zI3`@kCk(aYo!`D6TY2}%&9d|m4UA&l4~juTji{cpYMX;zOqj2X z5KsfYoGyS(MJ}vNgtNQ#gR#d}5rvy6e|yF0_K7*Hk6WG+7Uc>ye1OY)sLE#y8LcZ( z8?j&E^pqvEkqq&i=QF%4uK@Eet;Ec@III_yH15Yt56(Ua#7w=T+$RgI`6p@?vc}@I zR)HbDXDw(3vkjTgUGH&jI^aopNrI#W@m0XIDVaaD?>9U$%b6~Az*$J2o8G$MQ!DV6 zbJxAb{tA&|F4rEe^B%l6bYQef4e?MNV5GS!(aGkniX%^(O|PmN0+_|?vu-cPLbmWT z@P@dLbE^7E8qP3q#^sJGs}@WL>G`K8tq5+DYYs%d?S=fgJ4_2N^_9{@`uLVAzxB61 z_W1Ye`LJX>n{ciY5M^@j890`1+Kyo)6*)-Lr_S}Usk^~kq8V`axhL@zo%i0Avuh7? z5F=AuNl3yS4WV#NV2G7NSAcxQqqe-3BL49>g19Jq2NLk>k?lzFzaG4&l1fjpOzx#P zdg~m0i`%|Gq7<8Zr%&u&9 z_yWIzwU|$JF+zLa9GbvaN935S-FjrM!wBBCk0vq-L+(ccJjQaprf`M0-~sHr@JHG& z-IAx<{x(owH5IRow4Ha+_Rd>Mhx+u*je?>(hV1Y+0nTa0aOak`%&i;L;os60jP|2H z6+zCB;Ht$vHFZn`JzJmd_LVH1@!FG7!u<)i%(_EQR7NPT$%Cv~eKuT13IrK-dU@jn`(UqA({FVhLN#McC`#GOO(l^ z{{EB(7pVHVD%8r&HL;K)DhV5g%33`wT|2*Lmbl2OtC!5XM6c%jzeO44#B@#IcLiYA z6DqunpjD0*3ncRd?Fd|&oc zXg0A)(dYCbmr4P+ttK;%xgl^(sX@l&pJet&+^BpUqBje2)K#kF&rD z)-9>Qfakz;CZ+4(0Jwwk`^9Ls@-l8eO}wXTSdy%+H?7D5$W*faCAnf_iBPZKlf$=bukda3tGrbUmQ?bkjO34rs*!6oBA{8TfaM9JsJ+~&hAqr1wIiGzGI1b{QZpb}R;Yi_LcZkNTzvK+tP270l%;+-lo z-_OXuQ}aDMb!zb+V0|M_Z#Sx^rb8FE=>%>!QUH>k257PU1+P|B4XhqL#&52{iM+S_ ze4OsAWmLR-`6{ZSCX$1ZhR&LVFD|F6!}#@I6j-8{(g$U^Vbj%5ZBIqfKVKkk{l$p; z9ysfhZrB+l7S>ERKUbjSpe?eH_XJ#c z$c+uhpO*+#R>+amVO8OpPhfr>5c!-&%{$dY@3K-JhS_duMbAd=c3mSSYtIHfRe*jv z%y&jVa}MN2at5LO#ZieV>EQGIRdu z*mqZHV+n$tXOHP?r5ZiVZtQ13-%8(5l}Q#o_5_q0X*?v<${mvIj&FPO?e@k^qEGXN z;X`36pKYf~R;Y%a1|Nx2jx;I-dYOY^*}Jb-CMlrz!MS}*QWMIlr79C*4cBF-oZRg+ zLUuLrQr}MfOvO>og|J@bF%^c$x;i zg};lxKmsYr(bAl7>Ah&(x8Y4SAZyQCMj4#4^i#+{=&wj#%9ZigRt4*OuFqmTlmdHy z7YXU(&HtXmU{%OZuBvR0hbx?#9#%FQ@eXzhVch@c&$*UG$0n zsHE09XF3BQanikuZu}NdXEA@eY(WeUB%XtTIbk~q<5;n$7hSL#wz1u@WTm{)!0 z5JX}6F6BuMsK$~k6pUbLhIHoy~g5Ya|@6VZ_v#dEG02Zxvrk z17zn{v`Lwve*ynd<<AH!fottliEKyG*`cb6?=b;KA!;T^aSxjxOiQmOYPIhD z(}5@~81UKmByw<4uBv1`46_d{DC zN)1ZJm%EH8?Wck)3iQ?sg(_ecb@~CmQeVV2)r+d1S!(UB*1f3d4=@%Dw6rj4^P8Hm zjs5&LM=$s_LCFXaTy@l3lY8VcNO>+Yv-m(r24$2cKYf*2(4Du$Ht&Ed`N8|stR>Q2 zvl2H{q9iSo*dfuQ7j3-ELv$M1X%I^L+xJ+4kv?HzjgzGe1z zoa|d&g9cUQBElTwmU^WI%x1HYd*fR^a_!$ewFb?}Le@`pjj|K@MgzDNBLhQW9sfJ% zY1H1J!Ok5z4}_igxsISds?g`!ff5>FFZS!+S6LB$Hod?$w_Q8->lNT9G+{4SASXdb z`ElLzHJFwO(>c>XD`pUY1v_VDJiB^Fngwf?IKkbWNQqtm3PR zYHu$8N-%0Rm1po~*9M~H*kN2|);GS2|GNFsFv!$UvLtPB9QoAy)_=gQ|JJI`9$E4h zv7S3QOTV%^=YMJa_JvCRYn=3*n;o%|!M#k1p0l>!i?eGFc^j_63~i^=}X;t96EJ5ycOk`bSy9*$dut_9k7(V#6h#6 zkR@c|H#~!!)v7g2J)P}kkIEkkEG3XI3T|iPpmAn;6$=OD57XFa#T;~q6Wt8!><>#- zac)jsx=MN5hX({nGrE4@Xs0}q4uZB2`xz64J5Ni*g94$0N+LWJ&+$oRPoI-INB#PP z`z?Gz%E^YnQW045VDf_VIpyG;W8tzV&yZ66-jStrm0D1K^3Xj8|0rK_NlCcZ2H~nP z2KAhj+bFObqvk@|P^73$7fouuzRo!+M(UKzF|`b8DM^)`hg%FPSth;hUU{FWBBeI4 zWL+z9^M0Q#ednjQ+Vn@Vw!%K(8A|yw(CGz&*B=11Z-=>C6=ZNf!{TCDGNU0`){j|< zeqMVZ3Ylzl)HDnOeOs!02sq-|8;YpzYAIyaZ7S#@ii0VAn`gDs05bYUQqNn5ccUjj z>a^f~7@q{jr89KvGZhD$Otq*p?^_sVAt-E%@--?A2!565*Q5~>7aN5}Atn)l1^k}r z!05z&#e~@!ZzHB&znX=VqnIoG&Odqg2t71uC*PbmqbWHzxn z@9W(vw1Q@kB`Ry4^{TI;-HuIi;rczDJmVgd>ASh_C47m|3`mm=L3G zBO%bN8;0_mSi63yOQs#-?A7S0csj>91Q}O|t}gbt;(Z!3D|KzF`5*R63pX(6du?Lm z#D;Zc+;>^$Q@X9a!-1~unTtpMp`+#Pyj8JxA{ARnEHWGxgLL~ z%Jln{3Y@Yg9|`Mrh&n8v!)oVUA?bdf*@`Gou^(N_$>jt07C{A5jw|~La4hmLHKV#! z?<=_S!9>LE{c}sdL>nE!;o$f-G2E^9;J#ZlIqsGe*j|!-pOP9B3xJyr6cwcNbW|k{ z{z=k|I`*0a{HMapXB_!4+BY|YZIG<>^UFWO3!k}gR703~wmKbsdKS;dv0a^DOW@X= zf9VGO^l_4l=?nUL)9%CG1c~T8G-hYxmtr%DucHADV+#O>Wj-_IO%8Zeyx@{so%8-G25 zv{?3OBUW6)Fmp^Ioizc2lpPGGQ6CN|L%Q6m^fh@XtqDhp?QVl+7cA-Tz`DYeK)Ql7 z)X?&K5*GFk{@hfO|zDTz76+ z+4}KlBns2<|3e``MJ2UlT}I9^d)6q?roHGjtR2tGo^j=Ny+AqL&X=chUnkRrY?yHP zh%TB5aI>!VqqD(%!@<#){$ojPL3{&SiYi2+I7XVX{@uioCNwlFl0I7CQQV z)~w<(3-qFt7W^=j()K!I{m~5JV1Kma6!0O%cp6ktZ^iVfPu+0r=bJgTKQRsZ>e!O> zFkOuSO2^E2hEuY^wYO{FtTuGz@0#IZbSa8B%jF1jX=~BHIn!QI@y0%G(nDP zXqyv3c@V1vvaft*9Ib#aN`ay%89cUYEMuEIv(V>N9EKRzxrbKPB$4~C+V{)@UbVze z$&6+bxZr2}L0{3%#Wz?oy!6+8zbHH{p7@sD_U9kApR+W$^ALb{*?fVjXv}>RQ%X_cSwgH8pNwlDg!PZ?7vy#Ph zJ!#CJbgxhsO_UGxpB%MWPt}a+hvP>Owj&iOls-$a4=e)1m=W$0j5dp^a?ao}AzFID zGm&Hy3%$y7V7^RuE?gerriM#r#*n!IuBwI(J`*Wp{i^i2cj@v|+NP+2cBf zKFsMVraU77Iu|rt)MiwXAuS3Es>sH-)6bMH)|{)E;Z5Q^8`p2jNV~4svO0dbhDvCd zeWg-&yN5L%5_~xHzeNRef=@LTlPu!A8+lq*R>8m&v zl_z5rf7>xzI%?bIJKaOlp=K4!%UV*}rO=zAzYPc86 zj>ZwlK`tc7lsC}zG5K4RkBAQ{ljp`dC3#gzoL@)T`rs4f56xB zYW}%R-=u~~G3`G8U1moNRf^^mI8)}*l*r&X)p}b1=%TOCVI-GBePHuyBCTt?cK6FH zfXO+EH~czvnF1a@`hL7aDGJ;|wvMgeR<3FY$0pr(N7ENy@2xnj74Zu;gTwk>I`>|G zHL09AVUT#&LliT|_ z(-k`#C_>-~kXDJqpV+M$s4x(A^~@EV&qhG=Bx%xE;$chhHd4eSVa-hG>Ka*gcI`B_ z^j&2ram&5r;G&%2Mupk+rLlGYH@g4rrWZD@fkLZ~kyT_(^^hIZqhU`Vx>28Rr7?`J zL}dnbuY1fE+qzhy#ElAqmPe~{zxdTwH}$l>k(xjL-xUJ`pQxKPpf@<(L0%d*m4$S} zryjYf2%7Y|b0XebWz(DVVKFxu)HItGwls@$BOLD#8)gajs6g08#NOV51I&zJlYoVi}+2F-P; zX!y;+^zMk-vX*U{w998`GO{b@r-uUB%nF5_hJp)4=0`IaA1nFxWr2uWI_XFnV})IR zzD-r3VYCd!YgD2`0c&xFLN<2MwCWN@Bc-~LRU-zAm6L&h*_E&857x(?4$Fi$mz{gY zg^74 z>6j}xosFqDdEV&pCwO;Lm=2`0r1u)&60GwDKNQmUFH&xq^!B(`J}rMYTqH|k9{yb& zn@reH>z@RU@qa2F?61U(3hcUrk8Jjz!=0@Q>pKbzk{tv5^{3tY{58Ijy>L&!Dq#~0 zFU%xJWQ+~|L68IXvQO2Q;v0tZ1x%#uGYyc@bAvFIMYXzHRLTW*#lbdV?BQVB-x&)n zqwr;4H1zdBG~!r41imWM#|Q8AkVq}`>bvqE{yac;OIZm%O_L`@!MB>OUgxKpBbAB% zE6T@jC0MzZibUgT1E>EA(7M=Xi|*{{5A4Vl+aj!{-}a8E>ETiwr>-F2$ta*RpBtzA zchN3IMcG6`$4U^!6RfI5!U@(?xZ-%}#p3p{&H`608z*5rv%USW+Q3!Ym z*gnXRAB`!Low$CtZ)_hW!%gf@mS8H__64(HmJZN%{bu*HggrgYv&@9QRvuX;~hhzoT0_6VAfM)L{L|b4(bil#+z5`Prd|u9wd5Gvv zA}t)wd7c=nGI77q{H5c0>mBCJqe}Wb8GGc`q1;E0OYq6 ztsqV42`2hfjGqd*Q24rKuVzo#X6y)C820=(0x8(rR+5S3j8f-Qv-!(t_yXYINhP0H zh{?_u94LgGmb;rH=P!+{-91I!?zZ?Yg|!{AS9Q_L-W6vOJCHrGc+?QkQ&M-}n*Q_= z50lH#Sj4pG0;9n~pAL1YDY&&+2#WO*5|CP+=C84!lY}A;~ zZ=~xlHYR)$!=6YGj%xzhUHSpWmh8L2*boWu)?Z(@-u&rTRYfi(39{6gn&gUURxZht z@n@J@QnaEy?cWYWgf)MG+3T1egz1iK&=*sPh?!Iue^G#Y&HzR64uRpnV_doz)f|vM z*Sq--&K}aMdzy8HmsF2nJ$oM)`sJ=mq$|hm-W08G&MI-D1Qg&T5(Y$PzK1oLa6sH?A~* zU2f_lqLie}WS$=f`Y&BzLWbYovSc~y+=^zz3X5qQMr3|`Axci2py&nrTo9q&VE218 z;`b@c&%MDQV9^lfb9gJ=m15}YyrD^BjTm)o_5a+7$PGINh^ z_nq!Dyg3^~i`W8G<}*s?in|BGRjSHX%y>4pDHe2`oFgzI%!BDUS?KZ8#$!}5hQxE% zNFmBK^&0F3^>Yfn$oiiYOP#$uLO=b?f!xg6YCnKyr6oBvPk7KZfjYf<9&TgkxsXz_ z(lb$wDzOt5+P*}V@yUpWn$32YVB_kvmCeRDqf6J;?@1$^E80!t(dv|Fd~n;op&@8a zF(vZ^AZ?d|`{EeHcI!7IPQ~{DCjK=q-lw?JtJVv1)@i@$*ZeXs_iR1Dze76aC?! zqWvFG0kmNhSLGq-$QChpDn+`-LgJ#I(tvp2gnqHDDMV~s!_zMsz$U#JUIhK);6*gQ z6gv)PPq5(vfUHx8x7hFG>_%bqF+_eIF3~yCc$k9lvFucG&a&-Z`4mubDaiq6j^}S}K^3;J^)a|>gR$U?n zbcQHkj5}HQ=Qpx+$S>#A9Gv>IXnOT!m3)gxc-WHZ(#A{k#>>Ph3Sw7| zkM9I*Dr(Yyogmj1&Ydj zMB#^NDtdB(#S0^iZF#k}fMj8TN{7(!NN@m(S8lcb<3JDf&x!g*!>Al?u?T$sU5H9} zVa@aUG+F0nl_UqJG;FG8mxq!^T$ORNicY&nGW}LjOP-%c3o-<>?whn}$TY@H-=;l2 z84uA&!|M;e2JIBrlW#j=+hx>Ud&?PKUpjSHFQASWQdwt_t$5!Ai7H4-gIgGw>*r#{ zfK_uG6jrCwHYbrsXiv6yi@sMYx(H>yK~rUtC9>vO?PwgKbZ9(+ z)}8;@OyRY=c{!z-uluuO%LtmDx|7J?H5=yH;!Q~a%=w$j-JfDD{Mk!;o_8D_H}@Ue^)fATIyz}5BiB?>-aXj(Sh2%T*Bq-*XQ@XI^2)Y zlwi%4F}>TTmU)s}SbNL7;3Pj}R8v*y8+^ox`$@Q3pf zK)u!2MVF=xQd_BLl>K(3cmcw3*rJrq8g)}WtMWY}(|cE>Tl~?XNzfTu+2*cHD@G43 znO4fyP8YiV`Q9pM6ehvy1(6@Ydj=LK-!Hqr5VcXI$`m+MW7&#=J|DlNs-isLu9_4T z_Mnf2?yFz~y@mD_O22@$Cursrj7ER}+G1T8avD=8p`RzlmCduzFP%y$yGy4lv6Ljb zwNy~SrgP^+v|#95bFak)Zg!e7^%n9@2AZ$NFbWpO^@MHBe%yp+B(=;OM4hSV#^dgt z;vigN9(2v*s^V4uHcKssqX)0E*k)AuX<$+Em&B!`k;NMed8Hj?VSuXHSKE7^ z>S?t0b6rG9ka_|y$)~sP@BKNnP|rvXh&?7dMV3-{Zu0fG?XqCs$=|kb#oj=j&84%U z{}1DWVMKB+TU4Jp8?MPSx@>vI{(oMEsj$~g$qY1l%1!X}{TB5?(IF}DqOaOk|6hgF ztzNggCl&|2|2*OS3mL%Nq)cmKAv(9&%-D*bw_NSz`AM`1T^pM?6L8prl+{d58f z45w5v2ZI%sJC)AheGzbQ8Sj>Ahmp*zS_bXy6V+g0-XWEl03d(k0R(9!k=eP1lW+mPS<=ftcsdnH!Ol3}^yuON_$Yoa zENm&0#vE1vyK}^(nRRUi_`1yvBy4ury_Ve&e^bQ1H(V)tHTQ5gxdh+$YV+UazYgD* zERJC_Lvf1%?UzlQHG;RV(S~<#+qQwNli3}M)t!pnvYh*>mZ~75YiHmdJ83BBpo%D= z`U_rlm6wZjgarKK0`!!8IBwQd7)lT%`eKrd3ax-t?D|x>#;7q?l!oS@^~RWdb4-SA zX3rZ=25QjiAK)-L{^;0EVfzml=!Xc#N2|h~F&p^hya#3+c^VrS#}Hg7(D-DsVG&d_LZ9G&-Qc7d)+$V8u{3GwvZ!+ zAV8XXIm{j>^#Yd)S#t|YhfY~SZh|<&>?qF)d{ye$WV9O??xl3O z8HgMt`;2()RC4hK83ZJ1(89RQB#3+f@C5E7+A8#7b5t`9KIs6F`YQHwzU;U)n(FSn zH*uYt7%ooIifs~Djiz6T?K1B-bb%o_#S>g@E%A7|@=UwMMgB*F=XkNZ)!>110{!z9 za-i^Nzc}a#g94>%b;JQY5;}g$%M(t%^&w#MjjEpV?5npud|tiB`|frIPs3&b-@gF2 z^uv&2$(k|SPi*}+XIV?v(KBY!u zI6eyXf|rn*kC`ntYKs+}n&(pxT?G!k9&w3=jbN7(i^G$=8JG@yXB1Y=Ib2`29b~N28?QE1dj#%Axr~r5DIDc(?xYHw~ z2D1vdv*3%_tt|-OJ8^QtF9qxh*4Q~gCf$=8=Mv@Zd$L~luI$E0umioJgK+41+Gyt8 z((!&drl;J@Gt>&}=-J^m>Dw#DX<^G7E1Idue|ckWUvk|u{49y~)nwd@^x#Fe^k}RJ zj3_|Zw_PIQ9ca>Zkgr=|Qht`gW*1L*`cmv(7{F_1+GV4n*Gtj0dY0_8War~HgmIA) z?MQ??jXbvMkxuaf`hum~6{r`$Z#eJZOYNInHRQOq>AXv>V6#O@OB~MhZ6AE7chwG} zzhS-Dy~^#aYHhe_ebr~jyf?Jsp&Kj}ndS_6sEhwA`gc(t6vLX(wKCR#;}5w{JO;% z=OKu7n?fcw*d3+if?G>sax?Bv5*ZbU4stZ{p!blJvPC_Kin(qB8xv=)L>3i~%u0KM z2iNJyna#~h^I?T@MBJ;{&#z6L;6KD@cYCiK7QF>DzseVvh8KdJ+Nfynrn@ZvM=njE z8z7d=*L{<@JqDVVvc8RmA~N8?#vsR8}1hW9pRb+ah24u)5Ur( zK$QIRI<=nP$&X(=t%b#Y6+1ugKPkr~3z0~Mu+kiBwaBLaqmpMfw(*kUekao-Tl8Gi znKqu&o#x8Fyi9h>7L{kFC}2B?dMo)@2Hy7tur(GTye;~YF3|_>oA7YoVU~%XoUdz> z7bHs+bx^OJx@umw3b7wbr`|XC%6=2*VE1WGfXb?Tv(W00b@_$7VAoDElFsU^-Hxc|L__f?P2^k#kK)sn4bL&CwTULkb4 zeh<2u+TO^8TE3moLxC76GZP%+36lkC(KEQpT3e6Q3j4m5Db&OoW`meB3(U>7913+u zL1ADk;>LGK)D()&N>^P8OVyj2*jcnCUZlvY?8WIN=1KR3MLWW7R=gV=+IAzb>ktZW zS@D7Xplc8D^yZZUePU+F)%LT)l`lSC0Opsv%uV-(@4<&Ci0R)S#%Ccvh#dBq_>U}A z@7!vC4t*YSuT}2DALjzpW6(Djzw&Wz32{`B7pIgR?|FpPq-KJ*PlUmcVN6Vck*hdv`4EgjL`k<_Fq?faCx!efmuOHs8vxD2L9;T15BniKGx zdrQa}f9sEGHy>rPs=~~AZL^RWEREA41XH9(KU*CtUu_u?5eI6HjWIIa7CRj@Rds0# z4^O}`Lg%=y%}D}m1v^gBu;#pK_dFeWYKF{OA66imoTm)$i;=c;D`~73sJK?7v2gdD zIk$vK^sH;LS9Ox)4@I-9Po?u%QP-Zv&_jFETIkFc$OX%Zc;_aI^||GzMCy0Kk~A_3 z2_#p1DJOph4n${EU5k-PE?v2lFmT!}!Fa8FYXw+;3i+ocEJV5Ky9QMe_QJ`t)&-*P zk7y!HE`+*@?AClbVjrYz9PQk$LqaNDEd?fV$>)U*RKl%bHHjLm{!O22m$QNH`ohd)lY|+Ng)iok)S*pdEK#-soY)=CRc1lj&rlHsco9>x()*Z)`1*7DQ zXPp3>aw2<4Vo#w{lk54GyNfT^M)J$Bwf7%xn1q=GeSvg~8KMh?pAwITktenP-uOaF zR!`gLqs6;2-`I1S2vb#)4~Wb>8{TpL%T+h!s534JOdJJwFgxtXOUCdz3F^iVC(->A zLjqvoX#O@}Cp`YASK1V3K#r6FdIt5+3~K!cwFl*zjb4r;#&URP$B&lXm!AyfrHZ&g@a2212~;uW>Q zV{U_|BG{5tA*C~f22LRUth%I&r`q{08}A6k`N;o|wfBr_qJR5+K}A7|0@8~hy@S+H z6+}gv^cFz6bV%q3L8N!-gb);wNDIA$defx^0qFq@kVJZuDrM*X@8?;2o%8CPy`EVs zSu5{m&2MHhb6wx-^SOEE8UXtQ=u4b$%y&CgtcaU@*Dk7`$gx<95+kV4UNShA=ID3pIuH5E|rxf6#z#Ut5O_zIPs(Qxr5y zmWHiF#^Bin93}EM>Ft_Jdm?sasbbs>uT9M7_!TPJBt>+Om*zhIFNn zSuJtak@SGSoXHcZrb|~6*<{jJ@h-$l*cgjTH=AWAYGXNB$VOx=iu+{DE%dfngs<)0 z?2AI%M8;pu0ZleA!tL6K@K_ylaIgiAy3)4e%s-?tBnHxt!c=gsLfrNKeuR0SdzQAx zZs&~SSvs|su&Squ*k}XkEw3(!B)*a;Ny`*)m^{UsjIB(PoGp4iAl{-&LcfDtJe7tD zww*rZ`7J$GZuoh7=m7x@C%Aevu;?#=O2pWZive=4${J;W2S$^bI&TUJ%rmRvCt3wy zn^>6X_!J0$I#{dzPR?GUqbSF=5^$ru)o`zSyA=M1Cu$*A-bq2NM%p*T`&D|1SMfVOtjzTdP35 z5`4=#X2F2MY|<_bB6P3s54LOJo?K$);|e4#V1O8Jrf&VdX)n)CY{Sk7xW(!B$* z-FmpIoTD_{H;j)05lj#I8D|poMX5vKl2Do|TOs6;3R~IX@ZU%8${k?s1$FCkdfk`f zu_rOA>vxA-2|hL@MFEp9YL%c-pdI1E@ioDG^d-ITXsUBJq~VKdOAb+SW-0kwSRlQe z>1xrJIs`^(E6ca$bmCI|C48R z+>Zi!(8t$ZN9*zYBNqF-9`y@#_>^PQd_zo8Q|U*OA6V+hwLww5F{pn)#_Z$vhy~~3 zQb_cdl>3({5XWRy?6WngYceqFR09~(kwcDd4)X_$0Lr%apmowYh*qyVzc`JG)cAXY zi=LQ+SkKC&WzQ?8Ke?~*&1@(hOfnE;4zh-y5YaIHTXbRHr_QMZYap+I(XXci2N%R> zdX4-Zx+1rQkX?1e|1pXPeA?Y7$&6TbQglIYuHYMpxPDl1Pzq;p%CWxAz#ab2Ew~sE zu1{+-IE@@(s$mYIQhEWqSqVUVGpBaynL4_5PzbAVV|9?q&S2yT7Hu;h+IH+#SFmGA zePbt0s}6elxY3)%7i;Njmj=uWtq~oXqMQGms9FCt+EfsFVzNE}G;ECQXD)Q;Yxu?5 z$XE@@w}&~T08A{u4@$oAYJbQ4fKVsphb{(7q-%fYyxS`qn5#6tJ| zLFqE%osm^3SapABB?E2(cvF(mRiP9Zrvj;x#-Fe{ryGkFqYSkkmDh&V8)|*Wx2@d7OFgyAp+NN)sDnfq$Mo_Oy?4SHZVL@C zhA;(B*6j6)y`DlL{tAHW{FuF5LuRSz4F)zkbd*s{<^hqQa4iSW736m4&bwCBd%XB+ zkJ$MA9SJ(;L+!0fQT9hsekdE#f}m7To`FMEKY?`-k&g}ebrh%<^Q2Zi8ny83hTP?M zX6VrF9n-`8l7#6ddE20o=E)xk?|4yjWKKQln@&UWd_3aMD^RCq{N|$;GKlPSljcvg zh1|&aNm%Jy=UgZ_jn^eN$LDDOo#{FW-k^E=M0Q{g-e}d|S!x!QUnX+^nNjZO1>9+n zEecV`*5t}kem{5tAOx&fRq$pI?jYzyyE7N66q{IBA8nz?n_khzM7i$x>7=;l!x(b5 z*pOWRNZf}QfCZ!S0tdiaY+mN=bSWwGl@UIS*~7*MKZ?;oMy8}>K?4=dy8a$gtC`vk z8X9CaFr8pddiLgM@F6>7td?Gq%Vn+<^qn!SD5mY;w=p>7Jr*$2Jofmv&ZGIqblGM?g!p*ddxJc5DPa#U=B-yv02pFkL=q7(p%a~FQ~L5v_=S9= z8e8^7Y;rLCVISOp(&s{C`bJPJ;h#OfK9=Kv!4 z+;q3J9eQ%@ppwCozfCW5_;pVGTMmfz!EngB%F)2d>AjIN&|}5QkvAvpjZo^b+13Xb zYPx9*Q7)k*68r_G`XuFg;$q3>5(0ja$s*9Qpg_P_TZhY01U3Y}1g*=vR9eMi#`CrS zaK?#=)-Mo>!H{CW#MUghO7u_0d+%Htv-(Za)sze4aaDPiv*h)SLn~=U%=mN6SG7dz z-MePMuy+sZ)@dfD<75M~a@~bs#G253gB_~Oi16ap+&d!x37FDD_yT0|Yl@|WtDLp< z*)|tE%1+Muo>MG^L$n>jHw6a9<6+- zYwHSEB!4Ka1E{G)ovt{zD_lq+`MVSc)|Wn8J`qFjg%+G1QRDU29W;YLyb->-4S4ot zfV2mIzdwC}hvAw#Sqe93=;6WFWRf{cmqIt!2p*hUqL}&ZwgcyC8n8h2J1PdQHXj8* zEQ^7<$JCuK`m{QOmEyo_t@#0XnRAW>uSlQd@VxNOD4{?u!^;p7^3+13wmzeuH_ zLxWVS=}jHoM=mo{MUtrsnK?(s%38wmo7)O1iNQkSdftKvm)upN+gWO$qt_bp7;VC+ z`q<%wNCNul6f18)JF9~h!nv&>wP&UDtaaw-CXiOnM*SBD z^yC>?`lq$j*QrjHkelzS8z9*#?$>!rPLL6cN$kU;!9@wD4N6W4MmD@N??x%@hJ4M= z$cU<1(!r{D8bN_p7S+7gOm_NKSOOjjrRe--S5@63!alGIG;^<2h6qH}eSL#$=XLD! z&5H!qXwST9mV|U=?V7YGFU2Uzcjx-hYEGIwQD+3QoNw}7^7Lk<1IM2+-DI17+dTL1 zw?|x>ktsE5zMincnL??V@7g~#uZ&=Pb=F%8wD}Bh@%Aow2D>1@d@RvPU}wG@iP5Zd zN%YTC4mb4O>yxubkauD~V3xDf37fVHv;=4z`i;vy&@j4_Zby>WEq8Wgj2SBoEtm>O zdf_?=cehsvoMoop*&k(6_+09avnWapWr)ogQ$fI_Z+IX4*rM>o*QeK!2ox07?wE9o z{t?ilYJ4Mi%kfwA76Y`ddB)*;@8g!h+Y|DZ{r);9u1+Zh4NT5mq;a!l&xx5J-0uThsh5F zdC5>_U)&iREIfkPCXg}jxOaETDNDFF>}3AM>VL{PYlS>aqwwZDP-_IYE%vKWezQta zL$yO3yBpe%@@h^R=QsP$j9>`DRc_!Y%q2u*$f!?$Nej}}T51Vaol!P9S!Uay9|SK$ zCTmx{j)Hl%a;tHwpJ7*(t^T4U3DLt7Y{$8Ul6m4srPq-`A1OaqS%f2^hrS+2`+` zrN$1%=eG4bCSommt;3gnwI@kw{p`yroeL?SlYeVT*vhL}P~Jks3X3kmja(*G3Bq_C zt$d~3oPBzWJ{!a5vfEJ6+(rvOVcv~MYNr3tY+KTEwSqAT+{{oyuilH|(0^OEU?<+7 zQwSU8$L}w0#3$H73F-GoWL@CyWxI0{Uh`mJB{6Hc3Nt`vr(aI(w{wpunowu?AJdP> zZpA5yBnVNWCFrB$AGl0j8z`4Ra()(Q{lXJdXg9djn2ZEg1+2hFO&f!txnj77h&?7X6johWnm4w_Zt2_|e>NJeoMN7he3Y1ngNSliT(ts+( zqwVK+amT1KD{H$AvpGJz2fBQjHhiw{h7^+;o4;5G8r3=pgX)*PFoBo?%sz;bCDjvS zBC1}q;E%%nQxE!?26&t1f5Zu`{MZ{s@=V&^^PJ##12jr#N^B61SUv&^?KEE=P#eisYu1D2d zaY&{+$#XKQCb%1#^b6!d^0gd>#G;ZRfB&W)1%>p`17`6xrpo-;hRI z693^Zy~}K0vp{8qdndH~Wi{u(aG6S5w)BQ7$6p>yXNfyMACW)C4~zzfgOp9paybd% zD{ZF~_pVup8d%+&HWS7RhM(4PcIYpbl+l~72VVx*bQ@LUT`PFg!C2Z+X9@>A%)|_2 z*D-|yq&B3yDc?7Q`V+0%D!h(D=B1n-zX(gY*iu+_0kiCubqqN_DW?fq?`F(3%(0H zWgu=GGn{%MCO0Bm{e>1rnJghQ4jTF`Ha0I`j>@Wm^pB>A?Ed9)CN2GZY@AV~D9aeh z0!lGaoI+5zR9Sg`yxdU0%Qnr!VQ+t#WJCG%^==uHIRFzQF&*jUthQ4g&9COa6}gNG z^;enq`Jmn1z59N~At(p33Loj+e>}YX>)s9sd{O<%Ym&y@oNwlv&Hbl4uU_~lpc{iy zX&2>tAWwAyO=H9_zfAm~GaSz7g7;&bFu`IulJ}9e(AHn+2Npl60Ehj4!n8*z8c|}S z8hUhA>62Fd@xQI~dNQ|?K(%#pITr~*&Jza-{3)A1|Iw2MRA*a}5b4u^XnaWaKc>W# z#&Qqrwm+#0CVlx9cj?dceCNizsZTL9KSMLLAnFZJEf-!*lu!|FKkL>{_fwsY++Uei zOcN1IRKFD5JMnaT+yZm4>C*-`Z0L0qroA86OtU}ikQ*D>pu26BLryrNu_*Tc9()(9 zIHhRxVSf6%0^56n%r_3@UfG9n8BZ%s^G1h!AAifFzW3)Y>hUn|So!@H+>kO??DN;| zBnSxnK@>u#`4+RE3iO?`WZ_}1^y-Nj@4GJ=ndD|oeacT|-$~oSE?aP7+VQJyOi?O1 z=ZTs17BA7`dQQB~ufX-C|CW=;B4r&Ii9|4hCz%E@hjpMIB_xoYv}suF*u{p0!MyGS z+pvAaw3Am2ZukUTjO9QP^w^d{Qy2>YVg~3Oo(I75vBAEK6{mq?P_mKay?!Zr{KY1; z>POfZj4YEg4FaFfCbX6&^DO<~l@sy~$x;qwtZw57Wfc2YJd!RTFtSM%tXkD#GH_|R z;Mv|SC%Z4Pt#(Cft+4>ZYYp$gWWk(;s;i;#z9AF9qL5$SF+pCd#)DuvWysU3hL|XK zwO;y*7Vo#yuz|}le`rODQ%|3}w_13Z;&nH5}6 z3C+Lap}0T6p3Sssf7xfap`$84gkkQq$t@_nw;D8ByMT*Ypsp@2ll1m5s<856l&c01fEv+vMgRG2gls%IjvV^Ew`S#Cs=H4 zy{S(<)K?ET$q^^c%Iq*Njnr*zjDA#ep3Tx%Y;IU)cNnYg*{;Orq#V$g0vTqNr&DG` zTT}(g07^*xp2dNEzN}Zbz<;r+*(olhUnjB)x^i{E1ohwtGMD!Sbi7OyFNG&q3L0OV zt!K(b0?a(Q&=aL%pM^zTra%)V z=+2NCH(pq?uZn5>tgaeYL<%7%C7PQ^Z``~^cKZ%F#a&7&YMOiZY3b-6FfcMPv#_$U zb8tT7;(o-#%f~MuC?qT*Dkd%=DfL)dMpjN<0idX)tfH#+KzOlKr zy|cTwe{lHc==kLH408VW;_`~9!6hO2O#G0O+#(@~+D?mzcz^Q_qagE>YL%O}?%sd$ zse1E`cSdMFXwUR6Bm2v=>dIT>`HSDkC?3ew0PZqN235Zyjf`A>%4KKGRe_D6W;S2& zU%*_6lig*7$CHxYzT5r#@6x5q8*J8tE7DJ&o^+XNyU$fg-pq&C9*Je2u%E1ZdA#Wn z>9`S|BpcRV`rk~2|8p@saT8Y_juIb;)mbiES^J@k9|Fc;CBWv~lTnos~&j0tt z`af&+KXxP_|97YD|HzRzAa0Od&usRGm{B+Lzxci^Gy5KjdsFYuu zFUSHz$?l52-uv|aX0-o28L4`7tbbO-lN(Wz=N*C9d})%^dXE|rBu}Dll3P7}^TuA2 zMR4{4WO-ZLxR?FJ(Hnr=O*rY4$+=o;WR+996Z=*B{f%hZIjfk&{n)6`I>OV)*a*lI z;x4BXU2*0_SDa=zQ5N@%D2o$fBOw{!A|Z+6BOw_SA|dgXApR!G;*OL^NTk$BNNy5k zaTr|^5-P+0$l?Cm4M#Pt1wbWF*-;bx9%u)8ZtK81`y1 zRuO=bX+YW9}RsEypfj!kO){wn2s=}&O)M73Da;RFoTh@f)4%lhY+})Ummol{G z`UCXeVH#sMHUyly=>xvYq6;krx-*Q13S#cjB9lkY-c?XK|A;?*#oyMFj!2syWlU-v zha?BxE?~Ait9+K@qwAh{VZe9M53jH0f3+{298%l4K@@y#>5T}bg5!{R1u!wI0kH8x zw(`^bK0>9a&<^jb9VizfoFw?MO3KS-Q-w|yT%Mm$E+{~H!ur4w>G`VeH*lDp8_xNJ zz%y9tP+i}=d{^EChm|-jVKp&qJgh?6;>~Q;>snn7VKAN)Om>C~sDqI5=xTlmr zOT7yJOuEh1t?%`fc`p~O9FvbUJRB)lX!256e%pxI*552F*cg~!SX8hQkEYd20*eRl zD^F|Yf(Bj0>Tgfh;X_o;oH0VsI;ruHepCS&SZfgI_p8K;)aefBFC4!#4YY(5>zLQA zrSlVm)GV^B+0@!gl559T^MEx=hfSS3p<&EpEDl}quTySgsJT*yXYN|LP>jj0ovFjz zahNb;`f}DW6eigz80{s5VtcrIZnLonS9(xzy3Gd(RqDUjiu18DSiez+wSPQDvO=rX ztr=+b&V8lUN@pX{N}Y4@Wgi5gK#MJ6gSl%KNTD0ph8Fc@tLAXP`tX(>AoZ`MW1i8z z4?=9n&~$BeSqF4-s2ohCP44R)=$LnOiW5#h5L37Ll)oa+NBj+x(6(_yQO4xG+n?G6 zJ2XuasyFy%xyPIj!;%?jXs$(!-s?=e{j~CBc+!K==j=bx$ShS z?|;ewkwTQm6_ybZp0_j@D=Z`lHryk5M9fSmyy*)E>zz0R#ppL8KIGnTq?EU3h?6Of z8YzjEK4coO@{SF;J!5tdP;n?sP_;nly2I(aGl%c2ff{`WaJ``Lt&CoILhdf17X+}t zqH-=8xd$eFM#>QKY>nl(jAY~l zehh-g`X73nssWz68~3mP-f{a#F5buMG%JV@#CNoKR9LVWCs$6y?qf;9Z~dCEdPiEy zfQv|hn@8gyHEsCBCf`c%v~qj=4x?0{C7fqsu4?&u&2jD%%@oYf*z1=kqRjmfgZ}IO z=kt&pE3*aY(v_kZ+swyH;e)Q9^H+cC^(X7mkp_-5k-s#pNM-_y2zNgD1bMSOiP;pW%Q% zOFGN;k4+iRvyGOuUozwO{{DWDl6&abqFr`-y*X@csR~fO!;m0}KkhPB9=YLGkj63w zTZykH&J)YsYT9i?>iNQiPUe#cQp46K=WZo1jemmCpwaDHB-e=?|_k> zUD#TyN>acS`u7=2rgA`L75j??aYz^~Cq8Q!tDK;+PQ_E;sr?Ic0|lxSW`RAW{EmE% z`rU1H2=k%r(R{dRn6D9e2to_wQn*;O)i7>{Hc=E_n8wy>u)55`UgRWn9aH~yi_0wE zj6>dz0boIJdJne4m$&Uk8gLew7}56!D%TARp+!2gkL?CL$8!->!`@tNkjUu$HIh04 z?1TLCAfk?!hIA~n0$B))Dk6t(9J#WoeYUYN-Vw*egJi3=v=`JEd|EZrPTt*s9k`T)!~*otBmQHnv^f& zo&4kTR$=%!&}V4Yz7-z0zJJ5ut3U5O-($h5ty}L?I4}Yk6ahy`1&ZL?kb-|SGWObfg1(EcKag(R zr`zepH>>k2n>Jz)-2GEnA^kv2kTN~GyDS9!v56zX)+gZ+#kH2(RP<-CY^3yi`9+430mHing4Nx z$=rqx^gcL>f8996aAI6J)-PM>yU@r0s^pu7W^)lFpCFL57a(gpIhPYF;H!SedH1k8)g?Vw=7fz;RoyRn9u z6GG7A$9x|4IJvs(O{jd2bXzcFMAm!p&e}Qzytp4jJI3Zp>Us^+B|LAG7W*_k@2au5 z_>IPPeuEUdlkC4+g+3UsXlXq8GeW)bjBe>itNr2(2gfv6s;hJ?yHI{4toFEI;XsL_ zg(gt!D=WGpam+}(K=)eY9T;XnY%-A5qT$HUC8apX z6%=^hK%!t4$efH9Ke5`e4y1h!^C$B+y$fN>cd%vMs|HEs&)$l^&$oQo>sG%Vl1s*G zIDB@`^H#Q%IeOxdb&EC<(HKSZbD=Ay=8yMQ-IROGxmeu-hYvJ`z07*w@}tO z)ubGNFZyuQ0Z~Ej$_iZf3!I0aa{+Ow;GJ5LeGhdT90BzAqiOp#clZK*8*4jQ7|pefKO*Oy{AhIjn(RmlJ6#cr6_(J z_4+yilEB}25%Rf8e%S-w4`v?rXHn)94jJVWz(_ra@3lP82m%oU5=w{apt3GZg~mSo zu(`#sPM=PBWA;xfWwQqf#0+wBU3-Gh{^ejB7AiTk-Jr4=v`^jR8AFANY3_}bUSo}r z=LRfX4{#8sA2JX2Y!chvz*9k7%0|eR1I?GWf_P=q<#p6OmJ(otAb2{~SF1pkF-ICh z1F;NjiD6$P*H0=JPobYtRWL(*%gw{g-Q^`PamU4gQxptT<(NDg{(5cjD|)PN8f}L<@tNn9TcfElzsi_EMyia z7!Yd#w%Z@2AvdFKr~o8(lQ*twgOu1@M(3W0o#f!}OX`ru0nDD~$iA+@M<$wq87$r1 zJ_Al|S*GXgzADG$hy4WG-E9AcDmDTqs1X6?OUg#kO1}NDkOwY(LRpnYX_KYX5RQ>K zYKELt_RM+ewP*6%dtbf#_`IZn1}o3(525spOJ}7?-_D61BX~SF2HRtAFdrrlV+w+q>1N}ZM!ph9x{Il7w zge_=xqK&y8_M=DY>iZP;0S@~i$f%l3j`Nl5=zGRA#ob=M-6wjQF<|s_d8Lw*8o$y5 ztM7SSPTTK+Z8qT1<@;l)xHj@{cv8hA$C9#t-mY)3PQyNG6%FW^rH`j$$`oit3P)W; zMvP-6&EA4Rdd&(ilQW%u1Xq!HR2hiB)(S6z(Z&;u{}JxEW~9zxr~g{B2jP(?&3js| z_gQMB%!ojMnMuap_F&OCe&CW<5Wv!u&F?r3;=7TxMX%=+Kp!(;Ez;PzPlsF+du}5^ zNTCP0q40^4g!%km>XvuQp_z6movfxm%08gNpNiYUjD#kV0P$I@qN=f7FzOtir7YOp ze8!YaYInUsPW*a`Pi030Bx4lJi!dxjX<&lXfD|Z-+-O4r~bZO|Y zjl5rU_A&NAefFROA3VoQd>g*5+p!`h*iY5q@~RH`7W(KIhM0KD_{=&!%U1Te?+ z4!Ffwyvf|gidIk05bjI`@mm^tfYmjG$5t7@IXBjwB}I-Qu(mB>Up7?M6I%sT*_ z{@T1Re*MtelCZG<060N{lCv?CT3^Mu=p*dV`XB7Z;;w%ISiZ*Hk%d;Y@^#Z|j(&4D z=68Y_2{*KVkV6nuw5gI@>LzG4sye9VuE z=EOHnHg4r#(endZAFUwhef@X+UV$i1g8Wq0xnAnkKT~M6-=$5-A7096ubATAtTNP`O_SV ziDoKdI(2&{ZNQ5n=gy#AX2m|=fak)b0QT6kM~l%3zyxyDfc+Z3ZotSk+6kit;8IKo z6J>m|LIcalc9#VSvtDIUr(n~`5ev4A>?{cL`8g?A?>U?^+bVaE_q|UM%P=IWj?4jB zBi@-!G4qIPChC}BZQd_=+K~y|Mq2T@-FjcTV8o%-U^TSlOI6G3!GA{XT57a9$qTQhg=e6vs8)hy2P6Qd8|B6|E zL(D8;1<+8i^&ya9Xf9J_KoRnDmKkU75GBiG%fcZXW4TPF{Tw(LiCe3}u`W2xAmuvZ z^FZ6*!EUXU5n{HP;FQ{wlqUkf?{YX}k#cJ@qjF9xN|BnNet;;z>&fnpflIEZoVd+| zI0>>q-6)XBRAo+`J!w*pmK=2;NvtKUcu7I+%Ms7G)wwb0-?#JxA>6taO^#h~Y1$?j z87AQ1N=Ahcgfv>U8! z<^41(mld~xicD--|EVR*lvf%l-r)E>s_qJ*oswu+zeP9>&y90>|5(aw8X6%jBVc=8 z{z?g-1mDz%m%(?()7t)~r$PL92(&-ld*n(gtDaU4juQ{E@s*E7MV5T3d;ZpI8=${N zrMN&%aCLwntvbk=9yp=Mt_=)_-YaTudYv|<4pc}M4SOPH_GFd* zH?N0}a$3iNSkR0TqU`sWt$p)7@3a$dN7>-%63|$JvsOtOQ)e|gpUfa1*&qAjOFVJEsZ9c%LRSC&- zNZsUz#A0d{(<&<5KRIP#Oo0t4VHI3*QGDf*JQH^25u!AZfzY*JjA-UJ2RB^-y=dx4 z25$U270~f*5-EFeVJ)!=1&pk|hot;X^l|y=I~d0F(;-`_1i=D|q7$cVs2Db7Oge(ryJn*Xp~MXx=K9&c1skNOKKTB~|DVsc$i zN_absAaW-<^z$SMQ9{06-sOpXR%NtOa7gzJw+X?SUf#(m#!Gj!tUyd1Tjz(Li?TU> zBQ8p$_N1=HgxXu>=RVtG`+mvIF(GuWC>b8q^KWdy8VPl))6XqAW+c`D2}Ik2c(917 zrSg7Dc{9F<{}pJ|K?)*|mB1jw*e|9_33>OCOH(%F77?p5 zP7S{sMD%&G3x<{(JyV)=7=@Znbi^`y1iy6JxaBIbM=hi`)xpZx2owA`VG<>;Gzu5# z2q1%#rFCr-cTXplsK8wbS0UunPCB3PB|*P*`si^Q zAzk|RMfJaVzuy(|NU$)%wJ5$myoH{-L8Oa}q>{ODPCZo)iOloC*;lcH+>yjlOgCi0 zDj?CfRq}U89Sz&DsN&~ND52lSzfWGHr6mdH1}iRyXiLJSCn@0HQA=R)rIU8P(s?g^J z2Xxb=dkzH&0-NlgLW%&v_JGSMc3iQmdaylA71!DuxW~@=!@b)f6Gwr@^c~pm9C@^nG`UZ2kYp9dk)4xbW5ctbcuJmHEm}2WK$CLqc+}`{>5nW0cAsE zYTTqoSJoRNc(q#W33}t+$9C!WGj%4W$}@*qzf3f@`xPYge`0$%v0MxUrqou#hSv#y zPj)`H?E5v~*+cw3W#6{I4Z&EWm>yoCD1ggy<k;yx{HJ@`3s2qaPz5GVZqd38gPXYAkxxtwHw|ZF>UJU{E zUK3_o<6=@GBse-ksqTJm82Dh4u0NVvhUWxG#=J6gj9wq08%t;`_sjNG(2-v1GX)!C zcViG+0<~{h39qEJm^6Q3bRf{W-#5lB#N$vjvd9MIpB+0?R>EaDlP1p;?%C;CaQ_B5 z0zUfvppfKtP#L!K9 zGnq9mlUUu4t0`ymdSfw&E?m5Y-w6?)aJLAf;-mPBuVa_%O}BTSN$O-LBqagx#u0 zlbvVcP}BL3K2PP5t`t!lS z@#rYd2S>m6(2rMH1~;CcjRt$Eypkv4O(8m|{)kr*s4psKaYo$vi-DFe4D zAOw!IKvAnZ8oou7l>0SB_p8(VzX3mgH(Ym#azyfC6Kl~{ozB6SzkNOI05u0BOZ5f5vE>@w>f16FC?wo z{Fnzl#nZG@kAoS0k0IDKFR(QNPx}`)inNH0HDf5f1B|*!jvi_8GYQr7oVQHD@+ubZ zm*lfpgs~d59aZsb8Mo3mXm4N-6ag%&@9Zcb76E97ba%Ed7GKpyY8;Lr81VKUp9r$n zDoGbiTYOJnm&$G=igIQnRT?r3XgrJnT%2xByDIpzjcP49GZ3~ zbDQ&N4Q5#dh8g;Ne*Cp~<+|a+5T5c+bvs^%?_bx|rw|yJAM%+4%Uzd1#zoTT z&Qp?&#I4Em2G8>>UV3u}EAop5yKODa1cKo+$Z2Jzu{gW2Bhy1Q+m?0Yr%gxYsmfF= z#MM)zU)t($2qoHaF~N*a=lf11qoW;L2IRLjI<1WcYj=?vJ!u!#)0`Nd$Re=H%FZVsp5&)7Ga2xZOy* zO!y#**Yw~guo6^+Mje92I=vl`G|F~)X&uAyNNl=9wAzt?h##!(o12!GDE`M2n*}+X)FS&}K1Tx|X?Ik4EO5ap7Hj>f@X=yf8_7xNW zE0Koy?Fpv(wnYiGlw^S*<$%e0vdagcXsQm3|GPl7ImA|dvdVuAmZaE@S^rd?mk zxHG2lJ*!(W21=%?YUz!>#r($WH9tS_vYP0d-Luk<7RMcDVQ*8^MPkO`QDD7-Xz+{r zjBS)K#!_TQV-yaqt(sZwfs;MZ0%P7?FcA@Gb^}pX7?vjMH~lb`Tre#QdaCY)*eyqG z1DMQIgVQ@#NNKk6`Y(30%(b5(a27i>bN{X0!X$9MJhJ6@jKw$I$qVDtn78#9Mlm2r zOE{Pp(lts&wWw>kZXPmct^Cw8QoRkp(dU+vn8EIT$-LK~_+iIp=M45@mpnFKLWNLm zT7&?4nIyrtsEQCQ6q}9fX=owFzs9g$vz`S<|aLPsV z{p7;aZ zFyYi1`e!8dt1B$RH#H%^?(ytq= z7xn^|4$Y{&poNxF8q%Q!SS_GtJu1SLTf3#Vtb7;h)ou6Ofb=4k^wFLFj1Jb5-6EPR z_ChsDCf^f1kYr%SioBzDZ;5v`N!+&aSfXQB0+|M!soTox>NBD87W45)3q%UyU6xXj zjI)4c`7cosT2`8o_w^7hn%|FPubk!{>sc-RnND|Ct8)UJ9O83$u!YSuE?(?aY%UWw zn6I-WoyTuHn6b~P#aB{yo;UpoX(R#~wRScdtstYHw2{n#F&oS-KN^(#)Hc{pqVXM; zY6FWTxb0_%;9VIjIqS)*%xlPRfMkJmBWmgcCP$(qgFkN%=l~b(jPQD^DZg>5?G5+w zyml=gXR=ORT2ahHN*wmH9NAK-`4IC9Mu(57^kZQZolUO9=})omlZOwi&I{Pkd_ueP z;P@+^>aa=z7HMXMOeDB&Z2D74V+k>S;;mu6Lj@NBtX%XZ7%>NN$cqfs!FxY%UeLg4 zhz$Ec_iTjSlv6^rbGJWZ9RU;2dXz6V<@bu2$L4*yfaYP{8*ca**}8n3%iD`~Jf8D3 zp~qEga?!EeabQ35Dwg$6joR3@QZCWdOjxti0}lsZl!=?j+m!B0j24KFw8x?7&8%k+ zl#iQM5O$A=P_Yt-hUN==(Akq6aZ#7CfvslV@IoR#*KNo+AGNlEKb)8z&f5!`>ZCHG z4#}pP0ctE|u1z?1f*I2)?EyS!(j1^!Qx8nH&{x1@zeMKxEu9kW+JdtwjWWI!JNsPT72iPzUYzUga^HTyw^XpOd1#tKrM;OmTQ+ z71u#aAlvuhXZxS#VQY`p#e9qFVvY-cl>uU`j$dTchCb);O8J0F=BQhTrMoHQ8nt%; zMO{Im5*NnifA8KLlYRF&p;_asWMJ^>GfFdC(y2RF`-x0y2CZI$wy)lgWa&gMg4cTx zLj_0Mj1@JC3>5hIUXp;F=gjh^$zW8ug&t*gInfP>B8aAT`AfhB*y%4HzJlKyT09Md z`m!v-);5}^Y(;aVM@)Doi~6r+18cGq`S8L*OpHz_pR1uKi6Kpt`k%eo!866d)8sBq zO%)20Rpm+8`P1qg)_ANOTxurH(2Mhc^Z6ZySZ$YDKAKh;81eSLem(({4SNr4PxaA) ztT;mbob{pQmB~-E)3niZce4|)cD$ao(W-?R#-wB+-@*I7V_52bR}Y^uJrW64_nwvh&Fb1GyAee!5NtGZ148huKO=>qBl>>7|Cpx(;oYKXL&K|5R=e`+= zl6A1DLQRO~?w369?p&w7o~n&dBs=@N;2C)kP@p*!tb0J!UKMyy6Icrg9s&^HE^E}s z(Q8dj|BJixjAlFj-+oX zw-~W^?e)*^_rK4%pWct}oRddM9^`z#IeEXY&vm^n2d>m6j~dVpUCONR+uiZo%D{v~ zuMsMXE>S-%nE{`9(g}&)Pf|5TeXCaiPI@FoJ3Uy2Mg^QT@cMR_Inz+Qr|Eb%@ZY>m z1g__j?PorwMPIU*mtKwexV_?py+c5`f=zPfmxA#a+PzxUWG zD&74!R_*rc)SS#R=HEEyrdMBLB;&_387>3cOVKs{9{0N7^K29=<_F|A$jiNjPY%nK z&~UH&I09e3lQJ_Qc?z=-Mn*ll;%>o400E=beh{go4!9@LOb zA9Cm9K?Um}JUZ{D%9%r(l*>!J`hA^joZ+jC&CwHmN1ngByZ7AWr1amK6-~LTS1p1m zSKE_TS4vmD^$Wn}y*Rs$gR560r3eb}qt@=|*tF`+TJ!N?6)ARG*~wo|&=HSycxTg( z!N`9pk)l^T^iEr8CF2LRY#5aPpogBT`m5vyPxQ_G0UH?T%A=X|bSLv6coebU`**hy zld}4PB>2ccuhq>O=_`zDZ^i~AUdU}Gbt&;)bjL+Nx&l^YeX^$Bpzz*Xuk-js?Zk^- zhfB5tK6GEQmGG#CT7=E`RLFeX=0(1@Lkp#gq@qwWlN-CLN2Okej?!juNYn7N*cNLr z$9Q1IJ6JVF|I$V`wLMv*rmI?u`&;%nJ!XRpx01D5@ZERcwEJV-fESW#trsmMb8P{V ziV(S$Sr^|uE5^`N4-;A#nP1egRW(09Fz%r)&_EjzcjR?pUv)WbYsKGcE5 zbF6*)vm+)G)BpO8o8HTQDbJXb&6L%$;FPUthDFp+g@CNM2|}aO&2dk*n&)F`FU zyKDwzN3Enz0(q|vw&j6`W4f~R&9g8g%z!St-*oKR4qiziW-4j)XUv4^h#b^vARm?3 z$R$fSt9XS#D8_*^$s9b9Vdis+z6D2AZ?5DX;`7P#Y*-QXll z9qdm2hKx=hG&(xwgxAijrO{I^h1XKF_#ag26Z5eSGF#_i4cXP32;qK4m^-o`AO|4e%GZ^Tw_@l|CX3BuPLk1~%y-0(Wd#%F!O zN;b$F*?IH9xQdwN9oXa3v5Or+k-8&E(b!u%Bf!o+$0%eZqEI|>ml?h1#vhI_SDNC> zGEYgs4|&?eCP4fI2{XF9F87TWThaEFR`@EY?jt`6wLbUx2l_rju@0QR+H~7JmRSKR zY-(s3Z;t3knlr7jnlI>Kw|%ry7?*u~^rDN(lgs@is-N}1Oq?w{D7E|bf7uRay&Qcf zF^JsaF{Km#b|@_Y3&9IC&cr^747YD3R<16e zJjE0!rX>)6G%tHMli|j!K-S4FMY@#}{x+rx7dx)aKCvQ!aSBK^=Ifd>kGY5w|B8X( zg?l|6aMSOzd&?L_++p>2iuz->x4g{9TdEP^sR$uhQLB+h?^wK?Sq6li&tbVA4jGXG z#i`W9xn?UR$7|9_(c^8;OfP|y!)-@m@3Lp49?fzMBPrldwzKKx0Vg;!l*=Jg-ra{{l)tqFv`h~MeqZ7u4*!7DI=$LP)%%ErWZBs zQxgQ!`iQCpXN^K@Yb{%h%g?>$1$m7Kpz%i34gv++yv^#6v2 z8L8)kkcyKxW_ruR?DkH%_oao&^&4dtbu$7UmY1Qjwt0_`cUN=_?zD5!glEL)lJmn- z+by+1gjUP+pevISYor9f;6JbHxwP&ss;n7l+);MJrPWBFM+~A=H>+C);CfJ|Ke46O zZ?%4&25Up-G9HNA>Q(67k6rZ}cuB!$R-J6;v^4~Gth;aK!)9K4CEo>AnRGp#iM{Qv zvgxi7><3be)p4vn6;5@5M_PzrJX&DX5WA`b2Ha<$$cEn2s$@Bl)+9JZ;mQeUAVg}= z(cDez4o)V!I=NQ9NRbjKZP!u6&zBqr70g+AY<|CM37*+AKBo1?P+3@*l4w;DoHSAt zQDNJrhRF_vSZbz=;WC1!-2yJJcUsIy3*l0wZDWB{sDyKNk%6h{UcFkmRu~YR(N>lV zb(w=@cA+%EyF3zjYk}V>==ZRg2;DT{oNEnT4_R}l&krGT^B!P)eDz)JuP+}x)D|cb z>Lnw_uLQRWF>X|!m+7LJbjk82ykcjHGKNo=KX42rRC~xFYM$=i(dZ|QGxkB4(rY1q zb`~A6BcQ20gxk$DWK}Q*i@?^6_)|!&l%g4zE zZ3NXC5@cT(g)L&7^!_m7KYLI!t0q2^Wo7GGpb-v~eAV!3^~fBrGV-G6D#$U_rH?;uA% zbdqw%y^?EqP6mr(R(LvQ&~hO3FfTHmOddg2tP>3xzkP!`99ENDaUjkuB~e3oF36;1 zmQ$|&qNx8dC$_qTgQe)$&AFa*gzkzlum8&lSAG4D63dG}f5Q4%Jy#f!&8q%vvy$H=N!5vhz%Sy;w^Q`Pn_DJM&IfZof0w-G*pl zKf>EYRl`A{tKAcsYKf-T=^R_22Nw?Ty)!2NZ4B0rc;PO^2lF6xugSX%vFHOf5C=h` zoKgK2b|;^a1Yy8OU?qhjal}Wnp&=K++~yX@rK3VB;}+R;WzHW~TkLf~rc0%%#u;idfamnGDggE3$U z=AVP_DuRWs*`;fQWxPDSp7{>aZdvE$FM?D6IN|U2fq*>p9 z-(=Gj5e#jt3N+zP^_=V#d0)<57qYNrKlUgJ5c1Ipg4q9MP++cLI)L9E3On^fcLciL zNGxe->@L#A@mm>JIT+%*+Av!K$kKF!_LkS3)3Bp{uTRIGM&$_>gBH=1%Q?x0ibI2( zIJ&+8;4Vl$TjbfAi#MWKMrm0|(A#oeaA#2G8JzizG)4Nark43}{(?u>j0~>l z1}6L3%Ve`-Ht;p-%n`$8(a*yOkAke8sYXlf*c%~AxlMS>jE=o$xAcW`eG6xH7o``OR5NRThuUJoEm@ zd|<_Ej9>!2fz_jp5A6oM;s&ut_i*hWie7n)-|z29m@ax3M_n45y;JEu4wU`WM!z@x z(&U*r=$c!Jg9i;)|4~{v_L`Zy4NfmE(Ie4QQ{{lL4uK+&fjqWoHzt{C;^o;sSSM|l zdj--aXkRx9bhiQ z+fW^H18GZ31v$ZR!=8h1Q&({P`b4*a7(yQe)XY+b%2VMS?9!s(A)<`ui*eVG`of#Y zuZ9xq`J)rOou(%>G0>FW{2*Ae2V@*B$FB#Q-NE0qzbk|Qh(fAJTud=mA zs7^~K{0N7%DH)WV_-8CaRpHI^=4))xwUx)&hQEYZE;{YsmV=R;j{U>eSlyhX#gf|E z+en1BJ92x5L;;rkDXUjD+idWH(Ew6!V2{vcsX7V3Rv)+q*d0( z@Pv^3?`cubZra>hRV(}k80oXu8_D~n;?v|wlDhU;7bZZer@}otqhIdY*amE+vA@a-{=?4*_$cX+eQ-Kq|9=Z8VJL?M3?*}l~Twc^P|4p+1O^D?Q}8QHrUgv#D!-} z{f2nF#f)PI>rtV-RVK9Y{FEqtpY!GvBSfAy=i#D(q;lIGrgSPehvXPJ#Zziev}BC{ zmo-p>G%cytqPcbAUSXN$tr`3i0!2C)rJO*i)Y_CaoTU1$PTR=gKVF|h*i#Qg%gT#b z8H1L`g0<|>CW;*M{(xcA!6Sx0-gL)w`l_z{)>X!vKW2erS4-yf*o;&IE&P_CjbA&} zrR(ah?%aN&WU5%rwgyW?pMT9j=3V_1aW!7jD=901nYQ!^dWNhWr=WCY3d)8IUE%@*oBM%Bbz~og z$B#x&!qJUF2A&AiP}-@)7qC`z8y*~1H*^dps@9Jz!rQnWKdy^bT+H;^HiAKuQ>b)n zKB9rS$rVr$-Y2N1yj`D`+=?>3;kuEYsCe9eO{dMu*)hvgxI4=ZBvW zv|4RBwfF0EV-R<=TzQ^-;*U*~dn0??G&-FrqmKC~{i={5EuBt0j1##z&P5Gy0ANf%An0qm0ya&cxZ!ZEdotZ}q1#?vffz<%64wGbAl~Dxd1< zO!`X;8f06-GaRly36S^*u(q!2#J9O;Y?rLZEGKmpJ*x!In!4Gqrj-KuF;Bny5IV{B z*`?H=Go#A%(gPLn9U%I4z$3kWVk%O~bZ!S=a!qI3*PHrIuXmNV%~+TP7jep)=lYA& zTF;E~LBGGR)|J=f()3wTCxp$s7jdyli5N*6HR5IEZ_9^2I(lW09I1(*VSX_+zAri; zwU)9~y+&~!{q`StvTCLOg#M|Slcda5H_BgHMqP==fJsg!oQ+m4@UC)LoUTk#VY-Lc z2gB-3A+02~0(KnEebAsw=BZDxhh?ul@V8DX`11sI z4*ra9e8z{vfVwAr9L(+DeFNmvCuTu}TBk$*t8)?FA;nYi@b>9oDe_v4Gtpoka$Fgz zNQiu%?&$7KD;|<}iGu`B(7TDs^EOtT8Ds+og>BKL4S62(|CFS8l&kRRYrC*DWmoM? zrqAArDd!n5d){ki^vH?%3-S-38W#ko^NngiqZVGa;de5ZSf6cUcn!S%0xCF8v>7C% z(6&vI=S~#HKu0+mC(Si^rJx9HC0?-7O#|K!ri0EPUeQe|k#fE2sPT!tRRQvu9MwsG z@kvlYzIrBs+qj8}|*28+JSvdOy&Fvgib5%bM zqE@u_gg-lhz9ba{6z0F0S^%bIZgfMh1xqsFE(kN-*xDe6v!Y=7Ph%QLZ`jlF1gJ4< zg+_Y9tQo|Ijy`cbVj}pL$q{**t^7?_CJ_yyW{0-TtI zNfq&&Vr%jnbz^{ZQys zSYWikjJ?}Skyt|RSk1nGDh!ZS9HduDd-nr7(>NwJY=_-EI^h3+WHCP$q}dqgh!=|m8EvC{{e zq&RVXbO}8ZUp%}szfBX5mJY++|3-#CJE`tLzWQGL(-yt#cJvmaA&Z7wd=&quX~8t~ z=J#-He-rXm$N{Hpn2uIX2z;vN{#uV)M0b_PEOXYmhd%gUh|9Oo9`8+1;ODy!ruXNaxMD^jfh`$%@AJtY|Wz_gUiFGzBtMBri9OYyY|BlfV?G9Y&i*DOM-71}mF0?- zJf&Qd#-uqtB;VC7$iu=p6jotz36ur_Li`n?FA)h<*MC?VW}UeBQOE4QyH*Gvg8_r}M z28!u#j$dbDwu_0B@eLG$TQJ*~S()~d>gDJo2dM>R1ZGHdhtRZWyntwxYivSw9h?fId5-_ z(jr~AaSYXIJh(3n0*Ps+S)+|cDt=FW7h*nc1s9Tm&!Wz z1%opMf~+PTw(hPAEzV5a>m=xmr+EU0HwpV_EV{CEyY=AoCkvy$bnl(-XfP+z3}Ypl zuzMX1>Nje(F!|Qmjr(!(@-ePat*i;9?4Oz97pe7tZkBw`Qvsx1g*ELZoh`xpTi>fZ zTGAG2qQB_NAAkKz&+mA}z*9h6KlsUUAia>KsDvZJAu$C0BuQfV?duAB%LPP%afu56>->V$!RQEot9@M39W!n{iC&Z8-xKH5#2+@Eb-Qlx8E{o((lBkf3H3U>Z=bG8>J_8rk=hhPRONp$!G*gRoAV*eid zmI(L4+EuWppRYQ-|KTxJKqy2UE>$$V6HJHjY0>_~^!5mVlIP${djNtWd`9pCH1MeLp{QtQ z_Oq})M%syaDf+;qLa+A04P#cA6MczdEs!9-1<8+rZwam*RM90yFxw6sL;k5&V>8@3 zpz27EewWSqfKk+AxN*RSn%h|TsD`XTg)c9ux|3+;uhpr|@*^&wydBW*z1tHpgRb3I zokfQqAbJLtDBVJDbo{slYQ>Q~w{|Q5L<$VdkarK=qYdZW5qr6-cnd2|$9(fw`*Ec1 z7r)NwDJhmpj~T0M5W|Fa5$sCBtIL7B4yc*1S$;vS5)?0#&Jgs}!+&5d)2bD&L#vIK zd6XcC!c-|bs20)3cIrD8J!9H^60859=r~m1zZvqUv-}cZ!Z;v#;oqgvR&RJySESVV z3zyvs;W)=J8qbL_*!nbrV#3g?#l$D@DXkw92jcZ}CNbkSr02BfcjOtd1!mQ{amVyw zvo^~({Cfi?&gD_PV|^A`51FR#Uy~YPFI^tym<$Sh=XCcq7ci!ulMEt~@e_4NLiLjn zo!cetvSJ}Tnr`(l3RSJhmqG6pEY7xjKadOcb6n`T2v<88=HGZ-hR|dYN)@oL$rvH6 zSiX~ffdA(mE>{c#ZVwj-E4$iz6BHTNnvpo+JDrl8;WIfpyKY^YwVka|}>g zjlFTBZRRY!J3mGD*2kT;K&Z3BLUxT^&qtG()4DT3UN@~zr$G=qY=i;&_n65t8?ONO zn7_alWmi+vi6Of+`U>44m}ojV3}GHk%6*>>SHip~G6IiCa+GCZZXG2Hj>T%qA6$CQ3e(#bt>(Z}incD(QLrd8&wsyNPOkprpED{TBts>grrPDb*t`HgG_gtd7XGzT1?&y#tT{Rxgf8 zDMe{Xsego9E|BU(1fYEa)BLNxxBJWSpy0J{f9k*?9{lW`tkCg~-Ha?x#1J?x#!v}@ z3a5L(qs5;zZI5c#uI@adGQTrOnC;!gZ*&aiEwf>4 z;E5xNX-9eJk*>_4unvSzBw#wce z{9Z*n6O+|81dtcrZr(3upiI9AY5&u!r6^O{lj2bBzKOfOZmE;3wq6Gfy_ty5g9)CI~<-uc&v za;a|q@JTWWZh5JKBn2%^n;yKdLCJL=jM9M}_X$g6I}KsIUWd{F}tJr?*tkTxY4v+WN&cn{$aDVxDZGzK(69 z;$VK#{*L-Pk}-^qzjGLwvs>X-UX9Hqc2!JI;#MR1RN3{&gH_E#lyrnOFgmZGKSRD~ zXXpgP63a#*D)Qb8td2FBntcy$ud}Ox%!vg9wRtGphyTS806r_+N|1TWC(e(t5X4mr zY=8d$1hKmOe;;^~>c-ChJFD{U|6)7C-rOO;KMCvJ+#zzIgAL(Xrg!lGNM#xTz>66G zXng>!Xkh^07oPi=rT_p~y#xSk@XSX=Jpf=53;=xo2ml;G@H|K;01)B}0Q7zV z05~E5fZ})n;4~EgFvtM_kc9xiZaDxzUIPGlHUa>BZ2$mw9{`~C7XWCS0s!7)@m$Gu z01QC14*+AQ(gdSdAnAlqM1YKEVk9rUe855(NHzwFH1i zEd+qUE&@OR{u{GS5df;O1b};+Fap5+Ljr*F1p&aEkPu*Tj}VYSM+j)TPY8I#O$d+> zBm}&YAO!f!69T?HCj=C!69Oi62mv%;LV)>4LO{9$Az;-V|9Su+KsuBV-}gZXK%^1^ z0&)of$|ZyV)ha@OZUZ5}r=1W`JU|HeJ5C4~Umye!Z4d%J9O6I!{*n;Ta)$`eM@a-I zXCeYba}ojQpAZ2I#fSh?vP6Kp&xiorYD56NcSHaUBO-va1rdPn6A^&il?YJlO$2cL zOa!aP!(@Z z#U&+{?64e6@P~DiTUYZd8|g|^jU+`2;?@tdxzG|A7O04;;lzEsh7U$9?O1b%&TB7S zx*)P7=BZ?{0RuDF1HR?}nX4Qn;BDBE6!*5j+@CAa*6UpFCRTD!$202a9oX((;EP}O zZ3r?6-bTe-Ms11f{a1y*jC(U0Hx`Qb=sF}2Jfn1Lo7B#Zoc^%SqN0Kh$vA6HAM>lf zF2c|KVJf1m4AdWt)7vNduRkUzan^JVt`MKhDBmEkd@KjExwo8`Pftuwa{f_2{7Z1X zyV^Co)+Tm3wMvoeXJ|iE_YHRKxvI@J0%7J+s++U!e<}RfK++LV9I^gq?DOs#P-a22-e6P9<~n(n`Zj()t~QxY`V3~;$}rHR4OuTg zUGQA4Kk|i%gZ;9LYCLb}SJ)6)vtyK{oOQ~eqVCIp>rs4rSJ=f8RomsO6THe8w)ab#{ZS4N7@IT*31j-gYc;dPXfie^h4|cD^q) zd{*+jH{3F{;q;!gvE1-d^u#po-Bc6T6r;w>9;Z{|Z!+f>7tNOY&hG;*V|`l-a((~) zT@!{zxz5uXxW;M0%Ls=T->090Vic~IL$_?|5eDy6%zq0F`|(|y-9crt zeS-{SVN_jnTO9s<-v};^%vA-Ck_VhW30**oAHz!qU8J{_Xhbd^2C@grqffcea1a@QXCi)s zFFPrSilv)5r-WGJgv*t86U8Qy>lWV6RAEow$mo?5y5gc=o`r|Or*uD=`-?nU03d7X zMYn5RE^a@nfxUY#q^#~cd!+sN>&(V%4&S?K5axjWeTq z*Pp-HC7*CwQreZ{O8a!A&@56#ZmT-qHa@e6r4|&WB7qq$YqW{xham@gU9j!P1>Nb3 zmM^7X%Ha*0P)@+{qYf0*LYC(%af|o^h2q0Q&JISeHc|immttB#XNmR971x|yCEfd_ z%`VTjk}XnoTPr;OvXsYU_(lD`(#RgGi_mrY_ke<#zfpHY-(jM{q9LdNW+B`4HIOPo zHuG7f=Tt`qE#4V!SMjn(>>-2MCjMyXkV^cB?U6PaEBH_ z$5iY(R69rf68Nsy+>o5DwT;ryvknpC&e9h67Z;I6Co|u2{%EXms5iiLw8UKe`8hGs z0!f(xeOYizRlRLo0M=_6w@Xg@dw#an*W~poUt^fx@26KmF0b;U<<*Xgn^1h~I7Aj~ zrS|pNr}jnWz(>tU=e*I&*uJ<$!Xy1@7x``Ju=s(0k!dY5{e$gSkW{KRz3xnsw|7Fe zPl`7`E%lA?J_S=>- z{2F#$?43(%=c%1-?Q)mwr6?OR_6*bb;CYt}y)0cyqOYjy$*jqXdDF4j033+*oRGUT{{?detrF2trj6lxnl9 za32F}&A#m4p7NSuHnoOF#@U@4IRozmM#?xeMG-FS)r0{HdZ-xnlT6hWmG{Qn$ zTK`lEgWZnJC=Za_RZqiN!8;Mdr%UNN`HXJyb)!?L$)J##liQCx5uGhye9b$rD!&DhM19`TVA(EOshK( z{NwR%J8FIdp=xY`uAY7oggw}E+*77#5-dMj;%i#s3mNAdU$@mbxK}FvFreruMef%s z@ms*72eKmAL$kLmmBP*Bc|JzC){bSCgNuf1J`**Vz9lO@(Isz&V@?1 z0gl?D?VHs`*^54={w8B?%VVp7Tk!?XmW{UBffI=XM|Eg%GbHFn%w^9v<=rXqqGtW= z!}a-drq4H~o%;(1$l9}uquso^chP2ToH_!{B+Y4OemY?I&lm=|rOIb*TjAL*wZ3OO z{X1toojQ9jv=6*xKEp<#T?);=XT-DGYDv4S@?bNut^w{ zwr5UAt3`iSTZ{&bG1WPKR8O3(OfoH{&B@9Z`&_oN>_#s#*+KK(VuE=})osy_EI{U| zsR8)|B1{mM*NMek$CHobhtLoXX{Vj{k z+0r2n!LE*nBG*ggdu7gJCB{)4e01Yies1@S6fM`2VFO|qpVG$K@g$$?w9t#q58;^w zPapUZ1dI)(g8~ zMfpyFz@PjrD=-mvZH8vKGD2@!T^zX*g24`a*Ox0%52W87P?w^kulH%4*1v-+z2XOF z;Lh5eD?yxJKM?zr51DYo)IIimN`jZ4ki`WvF&&xT+mvY$dZToc{SL;Nx z`06Z}(;$A7SIb{BCh`}SAe+Y_TT{MU&nu_$`V$7jx=>-Mx_@8!d8fFyJ4%G7l6bel zMs`8P&JeZ{VSlu%iP|uH_$gXS%IY|>nvb#X(d=8O3%woepOPFI9GztNq29|AO}OGpIQfR9w~l*cMvk+@o>7COlH^+auU*#@9ZV~ z*w_2>S>eGxd8m%4Ecx@TfrVUVFA_617-bX4&e@Epv1*l$eBF_1lX1fKNJ>kSNsibt zZ}+mqSfkHBxvchji7WZBMiTj~9&y4M0__`VnQ_AW^pN7Y=({Wj7e0#I_#^TBL|%0A zy*dfTshq=A8Fp$8w>*DF2?`j$i~rc>y-Nm$*&xHJtNT5*VfjwN56Oyt`PJTQhh0kw ztE7S**j)?0@NnzBwee%onxpQh7qHEUwq3a<>93iv_uOO?DZ}Z1%~5iO2A4h@ns*t) z)|>QTr+vh>r+=NuH*N)G?+S*JB>Z+lI(E8XOIcL_LwRbH4Ldf-zJI02bAD`Z%OCo? zW@ldC-?s}_I9kwyj{%X}IFh4aSQMGGr2h8TfW+}i-h*%DccENF;quwP1YtZNCZ2hh zFJYy(G)(5$!}*fO?Jh(GHRrwL&MJ{zKNgvbJ}>kzYa_)9-Vh4}+1*5eJYwHqR_bV& z7fv97RbZ|^_N&2}Aejx6mG#!f;e_aad1y<-rOZO+V*ag5WTzn?=B{DiZ)9ei%@naa zxz6TJwN=g3AK1_)vbWO|0SAy7=)&IElw?cxVatA|^QcJkp-9<8#RX7jabd{cxWZth z5PNHwJ%96u1+XMV@PS3~^Hlo1xVre>wB+m@hcL+3lNRs zP4(sPNOY``+Gqw@Hl2gonJHfTPc$1L&Nlv0tjDoxQM&a6JDlUriJEvE%)Gq$2 zYE_v$+@oLQU^=JIR?^sxKh=r3^n}JV-sWnz@k}i5jL{S5u5k;seDr+)XJ!joNOlK9 zsD83FYMh!@oWWdAj4g{UV4+=#W47`TTYKtCs$B25V}y&_`!+tM^4r~EV6lhE-i)VB z`xuIH;eq;V-ltZ5&V~oVDsDB9_QNQn))tOBgI3$w5QomntJ=g*BzRo>OIYE{R79#Qm4O;8U?XYSvM4cCTik%>(cD2*}UrP2QY41kij1^19{i$xS1@hL(A>M zvTNqww}k;^E1Z1@IewS65y4Zf^5Zgecy-`gCrUfhEREv9pHsD0|FP`K&Jq;Wbf2h$E;G*$S}xo!2MtKnI(?`I1vp)&n`qExj1h(h7UhTqzcxt+UBkkG8Rx1q1m_lDs;gas}pb zg9&R_&I^-@4ZH}ls_99VaeQ*6AGN71tWlWBs2hAHX(my3Z+6DMYjD*7`k+S&e9b6p zv92b85caaGju)GyN?Desaz;wMa5-RW8>=kchY81;-D%x%i2iM*UqN92Y;ydwCZr@^ zy|no_F)Ab95<8?LuV+qdBrN$!eOb68kFTn{VPCvYbnuY&^z`aJ0`6`0fC~L*FSMI7 z?rnkQq(^`q*IeyWzVPa|Budgr_el5W8qTLtEBSuOYXrqp*Hgm2A+}sfV_c$)($vnE zf-u4_F0MBjxP^#{H4YmLmNfarOGv9v z;PynW_OB^}OF}WNcR4e)?RD|QW-po^7->tDhlpUstN7ivNxW?u%G(n6-l?r<@_pt; zp?j;9yNQL3XFz^@P;C0}}rTez6{H*@g9>_HjxX3}x5%PJ{(^|G9# zy<>o^b4|}gc;m8VKz=k*|3kCzn6KYk8>d?_F#E^%-s$#hR!VcGEanA|W`67(uPT}y zt4-B4VL9vGp*!TsOD_ieD&rcpMH*oXv1dP%0MmUxbNig+w1^rNp83D|&dXX)Y#>0~ zG&boQ@zL*a-vlkSoSf;gqWZ+di=t&e$)0G4fF&iTMC`M4h&}yc=|drLwk2;xc{W40T-!Z*_ufLdk2v`F%@ygWG!~amTyRoivChvLYBowK zw-kgH%;A6R(){hYzWILr6$42>iA$SQiES9v#(eNwcif~78qBb ziG2Lya-ocTA9pkp&~5ca%B&k!s-(2L9I!}0gTRq0@dS)fb<`=!$o+h>DE-nqxPNlG zkkjds)^YH%rE_8XHtD7kew4BxwP1$&fZeg&EnQ@>^H}AoTLhTOf4sFi`0j!$g0zj{ zw!U5zvgt|27v=K>{x0WMl+^LGke_lbrHm5&$4?1fFdY1?>vH4hr-?rWdJjP_RSOY3 zf$ahIU=hn}Kii~Vgze0C7$(WYlP!$xNNSYlp`OUnFV zQlto$4f7WKW)4fQMXc}fn;+>5_)Jk!TnG2KW zsbRhq0J%EY(J%g8XA}RfQhJ`|7aRQI3l+gzNZ+>ohLCj6+b}185$1!UY_r{Jd+(>M z9Li+9zcUpZ8;-rdg*NziKn+Cml-Bnd`zrYP+1Ay+RgWA5nbDm*VaZOouvt1f!ryAk zGED$wp%z8V*X0WUhwFgZ`7ZVPLZ}w<s&UwPSFl0kNi}yI}`as{IGgr4RyXHIS8lZNlewj9YELzlYDB4=RCQD2nQJ;wbx_&K9c^{q#*kly0Um0ZU! z2l8xf8NuvF0pd=Xe$aKYwu~Tcp6(Jc%8OJCxjzi+uPuWql ztgJLBd&D_5$4*u<4~}!}eK?NeIP2^E`Tp|!2Of{h^L~Ha?zh|Z9(gtf6!9jC1$$#8 zbUOZ8eZTWeP^})`3q0QFxENa!VeM9Ju9?BxQXJ*H>&;jHY~x>7o*(DxXqSHV+t}G4 zecpkIV&?_KodE!)!R!s8a_`#?q@Uf@Ldz%uu2dmIyKv@=Y2jGarQLW8vHHO~EYMZ4 zf^Lu?_zR&0bXMFJy792ioC6g*{*I5W8p9?5*g0B1KmCFxJc zH2-UlXTx+WK$J5)K88#;&VPW~70`rI#(4f{>{QM* zX#HhvX*P=pyFy66yPYd|==LqPO!%vjQ3tM5moQf7EwR2~$Nwe11h6;U`3+uZ+57d|gF{#)`03t>kEO}*o~tQ7s0$-gSKU?} z@45$QT_&h_IGhHnrR=tT(MnVx_NpIpqJI)Em0N#%pw_)+6NZ^Yl(p*mywMcM{j-Hx zTt4GpW!yXVu^zsyF-djROBzF@c6*pW0B z`WjkZg+Isqyl*E;LD3p_6Y*!6FGes&ARTMhOH72#;$MN_H|IgCm*7Oc zn6js4!akWGm-=8PF8uO*a1yQL1=iXq_^a&Uo#3x>GlpSr?zKMp+f_3!940Pc3st@m zB^{pnLhYk8wwlcz1OklimwM2~Lpo zWAI#x1?utb+Is(JPQhioBAe0#dfF0KlAixL`*pI+lj{?pEe;@FwKeoHr^f}4T>m&o zwwIbT%4oKIJ87$}$SBs)$oIt^)Zfz48QcDoQ)Q!f#6xskgB-S&3eHs3m;AVPkL{e{ zo}iHCkID8$KdHbDGw4u^!nLbE7CW>2?u>8AC92+h@Y64?BHF~{LYJyKKl(@l4D-(-sj$w?s1q%f4{eoJm*-!FP^4~_`` zzNYUcIqSwEA8em>nvnj(u;WuWA0Hc5oF#H0Ex~tH8+YHn*zjiBvtRo9r#^29hVlmy zlA{}T5;+FTr_k$P)6M~N^v&~)R~*pb?y z&(q4#cFZlNal`|x@vz`f7a+CMA*U$Gf@^q*(opvmX=4bhkGipllW9!`6<3YgHe*;I9+ZM6FKO2^1; zP7}aDq%L?v7t}@u;47#%-A`;@-l5bUuJysth|MSKBiqx*S!bJgS$y z^9h$b{pBq7E;~jb?ew|rnd$`dBU|dSj@S5!eWxDJc3H)iZ;_Cu`Je9?L8IbPavvjl zJnjD{qE<4N^NVe0Mnfc~%;G#CY9^vzwQHzKeQ@7=pdd!9c#(?tEF zskBrP1El?9ClHa?#I_EqVB7a3?ZlU`oAC*}{nWp*dyzM{lBBJ@?W|7X7UziX=Z+h!}W!m;+_4zs<}< z$4iV5rCk%zj9Q7kJ!{jP3|GvS$$AMKf_ifxgkCIbAcAvB=SoE^GR_6z@p*cZ3SR1Sj2)Q<1tH|5c`wmBH=pK z8-O)NG~teuc;M_yL|*qeP~13VS+x{mpsPO31P`k7wZK|~qMCH?+YnhL0>-q4_I5^z zEHhO{yK8c=oC$5*mt1fI^TgFpx}JH`q-c!)A29Ljv2N{(UF*T%4tq~Q^@$Nw{;h`; ztds>4kNHWMdnLkk+RW}CIS#u8`;P*1A)?uIm_3DQ$f09l3Lw!x@Qg4!E;T@80Lej2 zF|<#cSwK2r5QvsU{3KusJlGE{o}`NLU(C+j*JQrhmh9WPXm1H2hOKWGP0bZnc4IrRJ1rbyIcibu)V`&iX~jpxP4mMrX`( z3@`5SG`tw-vsSPKHB8@Qcl(6kHt_S}qkbw%!rUK{N{7az$GP%1WGCd5HPEZY;-CWo zCeDgr;*x(thFacKkosVncJ|S~KVz!paYeSCsNBcI+#%&)bgy6x$nX#n+i!I3>~$#~ zW{fi7(vu!v^__-D+N+>Cq$?EmJ+Y@C+XDLZECd)d)Pm@pw2Cx5WG?M_pqA6a#_(wW z(hR9jprU1fx78#ZV?mPNO+0bF+)lSZP)|JCIGihc+l|fhqF9%Xm<$ymzBIcZWUtku zlkR*d6Ws?9&U@>5`oUZR#xk<|@$(_-ILc&~!@PZ;M>sVYvfLxV0U1)os=+~xADmle zfiG-MB-)qYTwOFFnJW`+^XJk6t@*yiAm;?H_n27s99yk<>W1~8{hAP>{d-XRSeh}W z63GI)bypp6Nfpm1>A)VG?|R%TtSdrWo=GEw?+=wIo1=UhLW zCkuB*l9x{6s98s|iB|2U4tkZLAmm^i*is8S<%<%~!mUma6UXFE-J)DQ$T^cZDuN|9Mcoo}t813W>MOV?5SU#?f=*ogt(6xf~Mf3f^|6EDO$@E`W-C8g2dBg zXr!bFwWl2mXU8sFTaXZ2e`_|*fe4<~WM0xV^$qac&27lC1&8=BTw8!bU~05E08PL| zYiwNfuZ=@XVV_`fa3-)CA#)&iJ^4X`(+|&p$wF>u!whft2dMaXXxbMIwS8}&5^If= zS@plaP<%L#n+_p{qV>uZ;mBVNa4i=EokeThzS=;8c{vGg-6^56pEK_z6L-x<`ax=v zsC4->YxrBYll2;D<-OjkYZ95e5-)y8;W6>J*tT2xLLoh{+r&jEhcIxhc$UBxjR)K1 zQEeAI!WRoZVtz_H{2b(P+mNs8Yp_3MF+Ni2zs5o@`ykzco>6xd$**KBxD)$fMv{Q-s&ZA4aDZ} zt??$%?xxQ)wtaHm&0V}+?)WC`?*o*_1i}KPs}}w{*Y9V>E|i7a&}YT_gpB^Js$?q& z&U`XdMvIh`V1844jH5saT}gX=xhLT&pGlwdEn-N=)Jm};YwrQT#S(B#r(&Dxjyg6^ zEcsP9SI*B2UUv6!Y+0()>dXo?%HVE#uZboVypvoyv(DI2=M>+EnX3e&yS{MgmkJ&C zqt|k%F0o}n-Q@`v&XpVYCOhk>Sv&kEfsfWc^Om!fA#yzk+e88{21Z;&Sle*#U78{C^TL3(Z)|na@Bue2%)uW+d!0TN%*)nytTE z!LG)678CglOSUk8yH1okhPmH5qpp-mE{f$UY#NXL$#l^h;j+DM7Y-g~4h0d84NZ3$ zrA>0^(TV(Vo?V}^n!}|gPqbJutA^Q0j8iQ?6a^b$92DrZKr~B zpE3C_{vDGw6l}L+O8QQMoi)n$XQ};wY(+meCNwV8^TQ8;c${i_#bGn^9krWdNCv?Y z_yyWp|4zR4Kr;l-z^LWLZkK?@4DtogR+Qp0CH$wCZ=?VRM%917socGa&_-2`D8IfX z4A3un+8K5IK=%pdslQ1nP*dmGLB|JcPkE({iCqs-sv_#!0pLf+%$2FZSA zgD116Wh3Iam)V?FIea((k|@dlXV#JjG*D-B-ZAqQRr89#LF-EvN6=J~Ryc^Xpr4G2 z_nol}Pq^9W@#ZgLk{Lq>50f)#|JCWS7oPaHhFquK!$(jrE817$U>e44JJ%FcX60(6F9Wt5iuu3!L^d;)Th1!0LN`8IatJFQ?0G zw6#c_ZFXV#88bN8(}myhnTbkS+I40$&(*F2b|D0WmP(5N4M&AYxB_=wCpiRc>k#f&)FpmM%LFxX-^8D zEjStyHIH$$uG~mAn6Vwv8@tV@SLqr%^*2H|C1 zO+T;ahV)o)?pI$1zv(>WiE@RxJ+%mZ!u8Pc{=EaXoXru=Cb&ec^Gb(soia^s_d{sY z&09Av|NcmL&B@I0Y|jG>DU!#ftGnmZFvRoW%&juRatjXO$l4qc1aj451-n{eF(N5V ze!{);(ifG)Sbhm0%}U^snK~O~v|gR}dn>9dh+tiuEBDVnO^|-t=m*N5Mh#{j4+QCX zOA|U!6q*y(yuSPy!jNlCd=<>{$hbiGz)9yLR?v3WJKtE>cqKXhD{8I@S!NGWZ0((D zdbC5Zhu2#}i+zcDl2Q&7#VDe2N7{;eOsucw(xXJoH(+|XOJLh~VrdMS_LN5@zdw(? zdupvzL((e$%s`7*V?O&FY&POP%6(JMr}qAN#QXECpg%7*T}vP8Js}|U3Gp>HKP|El zTXomMT7K#tgl9ds7jPqV-Oo-reJPgpmVHWSTESz(YSj>liP)KuWsuHI0{<|1K4MWIj%1~qa$?#a6XimgdN*BFn!5E1 zP?82it)Z}0=DZ;C?QMrzBf8G*yk9@LH2dxth?=t>|JxCS{r3LpKHJ@P3}I|&)>cOut!-DVoS zEh($2IN9(X7o>5}k@;D;`*Y*cL`YFb=&r-!Slk)YS6@qPc9Onk!W)IKDHD~PN3UUE-vZ%%nZH%bd(rjk{V)pW?axX$cLW_@(f5u_4Y5r>s64Z)PwZ@+&?1 z!m|;+*Kzn!#NWylZ8J=t^Xu3E()tkw#m)ml>CRSW=4U>Rco|L7z&HW*d{7BIOGCGX z?QV9)$x5W$hoKx)JXg~K0vD?({usS^~3H1nT+#3%U zEM&tl4n!w69!NGExz}C+$l}RlR@1SlYT5I?| zD;fxw&iU!#7#Td99XssAwd7EAgyCcpE~GXkSZ5x??A3Nz{iyM48_xqrh8zZH@ny?2 z1xDnl?us3;(I`?hAVJbD-ms-e;?nt5# z5_`~h%fPCT12~6k8HOr};ihTK1A3Be%=Si$Wmo-|s_{-tKpMN7qYF(WzpEhSh-`DA zF|buWjF>IfqnEQ}Cm}6=A@YH) zhxY7Yvq&pcjYKS;8_9|vSMIftwBr5uX)fVgpEmx;-N~=$VdY_&Mx>+_jlG+iJ?p_# zI{4oR*MM%?zRK1gd2R%;i!bVWQ<_7t;F9y9^9}EwQ9sVFL+Yb%!O2g?F9Y{0eJgC! z&H#1vz$IYv+gg2aX7|twBoe~J7-P379}aZrJ6U^@`bMaPBq|VKD=a`?zwF4hj_`^+ zr&_+7N|kk8Rg)GNyJwJJod0R5RdRQ%iaanOgjwih{ZH{e{`YM@<^nIr{B;{>0Ijc6X zklw4212vgiki&bcmx^5%x{G=okufVMP%f6z-(iP+G0Pn0pNI@V*0)w|SLv_7;;PB~ zLzZJ)i?J`sMi^MgC%(COOmR;r^8Jj2v@O$u^qMTn+&Iu4dX1SDDX9nwSOJWEQFaq2 zZ{E_Fapb>lJI&Wib=j(A;>MpG+9n*zeMCaP17$%Y%%V9z6`fSzxMp$l)xl#g4jauO<&T~c~5L5%H|wV!>kxdaS%wJ=6o{@)1n4r z&#ZK>jlQ+uDE3Ly@l%94Fz#p7I-RHJG6l{xAHR>7NMP8oUM&Z;IELgTRv!B1(2q{8 zh5|RuooL?=M*=kGlyOlOBBA_NQ?oYol0fDr{k7v$)%(JQHEf|i>3;Su@U!OR-}lOX z%<_bic_SiC3|Y>b#m(XK{2INSt+EeQ#OJ?Tla|^;e+S$hu9b=h@|`r8U&B2-W}@L< z>)M|!@ZEAfh@!kI<8D~RhV&!Gx2oyav`h12kmSv8uP?nG@7-n}AAqP=gfyl^5vvM* zXH4&|@E#s+w=O>+e&*zZHn{y7_@#92u2bwf?316Q%JuLct&u7zKOQyXerp_0Vkvpl zBS+Zzkg6%`&jLY8Kt18(H0uI-IU8nQLBHiIaLK{uD<7BGc`WWB)OscFwcY{JhW}L6^;`S=p=ALcEvvYjS%zLw5fEj4!_5+B#sBSF3lOEgC`y}cS<(Ra-mqXs2ji_B z1O7r`+!4pn7)ydx|8u4jDplhvDAXkQesox^ONW~DUh>$C{mQx^X@oF4eP%!3zT&Y{ zoTH$%(Jaf0YoC#;y5)%l!i66xp2@O!P9;P~nI=myt3bR{rq+Jpx7Z~}5*)QBf0%Xh zYsHg-2b~eXNXZb&*Knv%5qxFM@fOZ#8B;IUFv!_2yD9F!bY?jD?8A!SA2<9uh+pel z*So}DUhIZx3Q(Y;7p2)5LBTKGGOKXwzuG|7@n0$)>clMaKP3(9E-$)RI&2a|VK1we zz1c!GmysztZxRDeMnS^FO2B;|Qc>EwlG7<3LY5_!jnklcGe$wFI>xQt~z z@_z`BW0#IC-EDM-#@s2tR-{q22{>k>@f~?!HKfyk8c#iFlhm zeeM{;IenUNz)49GQ=9WF*b(#Hg_}jF;O)cC@cWeS4d}>5b-!a)Mg&4~*jf%<)y7bN zGIAxw)#3do_pHxPp0y7^lMC5!r*yCsO`0T zdg36IcK@){RLnl}M$ml2mr4JNU2jebA}h0bIrs!a4W;^f9OUyzhN`ClJK-E{D;2km zXoWX5zNkbQ9Dl$ri|aFia5QHiS8~7`-9BHt-!xDg*d5)I$<|nL>dDs@iv-w*ryD?E za#6;f1PkiX+xuyM&;Jqm_NYGQ5)ZRhqQ80m8qa9Y)$o_Dg?IMZtV%x%>Arc-fgqiRJ9}VMcH&pnF-f_9)(9y1Y8fW^n9;kDO4x3;w?6>co)j zz2m#lbf%Nj!?$Xav|li+zWejRz`=rUgfjGXaGYmkN{+@pmqVo|dO;3BTyG-bf|Q4) zS1Av;o7(+IZwquTx~Lw6sJQ(>(loCgL&;8`vbX|e0x011+nOn z9abrBKzJEKzPxyc_XYq(4fGc01e`S8emDgoxLz$U#rl*G|3fHw*M)RRj+!j6k@Z$H9 zTP`qLEM+4r;gvQ4YT&`0qr8_NC9Eqv&D_l}!wQE8%neJb7-clo^Qby`ps8(wL#&4@ zVY5srO71mVfGKYApffD;ab6)}A4~G^nIwT6Od~yFSA;3r&1gw|Gaxhd9P6SZwCAb5 z2op#5;c3k``2_roMDHa~4sqWUK#B03r_k^zWoobb%TU=7@L)CDMoac*NxrZzoLq2t zrn=lb*N=dvXjp}YV?Fkf+$d0>I7$ALb;V?S-4J*>zJBD>S?TZ{^HXp$b8$<8Ec1`o zIat?a(<5%!!Zb{|3#8grYl0ptFHWULM+A=Y8Nu_#z-;;<5*G5ZlVxw-Sb$n@089gD zOTA3_Mb)~I6eqD9Ur|KNn1i;BTTwrtIN}$k;j*fBiM;69Ai)qGvz5cQ)f9=<&7G)m z0vbcEU+jR@51omMj0I0@WfDx&%LE4FPk^DdS5E$@ZQ7A!eL$NCQf7%A9pLko2@&%0 zjxETD?nJ1phoPFSDv7O5uo7)1`i1boQG3W*{7bI#1GNK0(G+{L)?C0<(Ie(fCM*D% zP2C2=;nTpvk)+#|a-N|(7#W;v1qBC~`{erTaN@IT@M$Y=L__@#5N4=JYK!Yc5}ce! z)Y#iTb+ogjV2iaq)!aH>eA*zwTWPO2Xz4@?&gaT-&!@+%a9*3jC5TcCw9Hk#+i1kN z&VO*s<#EdO(@Ms8Y(4EuEk=teNUO_BsotsTNk$(;?Vg)^cxddNyvuQ;J{ZV4bGMnt zrPkXZy~O4{Qgf89Gd^ebB5FhffMs9(LVlxzj2K{f{G${c);;xd3bDIYkH;J)=?x9; zceET>`A%1k2n+bMTV8Hxs6O;f3vs(WwOxjfkA$J6V8; z$KP6!2tm^!f*8m+v@v(U(tAul#U>X*RZ2tGEAQ8?fAd56N4_^Lx9Vn0lj}cI`w6@m>~X9Nx0rP5egoXK?&&D>|_?!}I|O zUacqdE8c@WuG&1G1o@yBl12CK915L`RLmtvZ4}%b$GH0PcTAk7Tqu9MzxYO5X!=T? zze?#YZx<{$(HlF>Srnc|c@YJ`8Qi_c6}a=3 z|GLolev4ndN%AyL2g?nW@;M^!N4_86tLDLO=;${)U$(_o24eQQZ~V5>({1g;^_be# zI3(Uw*}I}>UH0I8Y*`+sGibcHv8ZUgtgeVDgwYgJcRI?_wSM{FPBcSPJj&I2ld~VB zp40+7|MagR$zIx5K-%HuN?n(UJU`j2?$dIq*srcJaC32aJbGL0WY68YcRyb%Mrj&f*GNO<#f;7k)flZ#fjF) znHUC7_m1H1-GT|59x&wz0wY0Ru)qTwHsBxma*e+Bs-vKD+)_XHNVuFrB-3XoGdHmB?88Ep7ZKld#M{=4f;VOE%#m zHUI}#jFQeqVtxp^Vx4bLPAjQkDEqhz$@R_?m}8Eogi=a0xSjTxMF~JJz#Q7h<3p=y zjLU%%H!Q&SPXdP=O@>6`nfcw#7hLXG`&FI0tNuHf3_AO9uOrdMm=NY3IE_(}{TBXOgSg2o~Aq1hBjUju{X##l)OZ0;=<1p#7rBlU_nwvI%1@C8pTxu`g z`%Su*d9+B8$Yic0!H~e6%NEePoy<8Tq?4$U(0P-bH4oGY+SPHoeswE7z;H zia(s}8q40fH9E`y7F8KBICJjs&cLsEGy2@fezEv`1VVCE{uviJcg3?J-Y&c+Z(ruof%l)q^1sl( z-Wj}0H4$wUC(ilURl0w7r}KBOzFS>z&HVNleK`a;e=z^g`n6@MYu*}m zcSKG+KcZ?kOy+1kSLvafBkVQHW5s`|zVw%L?g-fECZ|WnUF?D59j0r#whY;`$A9a+ z|5oYsmh;=SBRQWU`*|l-)N}gFd9w?3fkb8#&UG~Kj{XytsiaS-y&%hY2TI6Tmj`T< zseTVYogY1E>$g_P@wij%JAvQh76@z>ab%~|?}zU?8jmlLy3_>ERKXqlUMtGDg}J01 zz}C!rfwlEqPV<#^^-Yq5Jj8rQsGDu7_!PQScF`l5?fG|&e6K>4{gry0}$Xk zc`#;DZWX!0Da-dcTiiS>Sv9}@7UEsf?WzGotDBG(bhBNc;DBhc?>L|ED)J;5HX6@W z>m?VfFE?sjjE|S|C<(&iVhO_R!Q9csgV?4W6W*5QbI{yjd4(|ufI>18n zNl$};H_HWkH;y5f)iqDKIjy)a?&0U=)bR8V172s}#Jn`}Z663e<>KN6128t<%Tl|~ zUc_i%5d=5ywgvhDZ_1|(5tpCMn?&Pz;#cinp;Pn5FWt8p6mp=Ng1)chSnja@wv=!Fj4ns-{%2k5wvwdAr>)LCt-KT8 z6V-|)hV;S?(oD||f`GTQNR1&)jDJ_Nje()uv8JOj05Q)|u(z^65vt7d56z{iejMRb zZ_W=2?wZ%La3=%s-rK=k6}Jw@*^EFmj!-M#-8lB&kxu?dDNBa&KI{ZB?CR7t(^pa| z?=P25Dcnmm9AcUkMQF-#gKPW98j)M!!@<-R7nZ583p049dRotUvdtAnLPEL>rSNSm zhQ9=oQt6gz7a0_}8z=dZr-$WXWyR{Z@P4BjRH`w#Fa$uuvIi9cf0*~{35c)iJ!!s_ z_*nWNRwA9JKWhl_A(5*{)xldaT^@Wz=*{P0;WLoI0?6Aam2mW)Rms4SRzQ4#f_cy1 zgjYb#1$3IGaFVuD$O>N18ns2EMOCif9nZl{&kEni_|=}?GVF9DtSWB88qJT;cA#$yH5F=t!e#Q!0(GTqACh6#l29b(x2v z17TV%R`_~v#3P-&DPj*5vAee3&4MpFsRTd+WT%UR!j84p0lJqJz*5N*HNbQYqOm3h zONG(Zo6?uD{|-RsE1Z{h3|jDSw3%=Bc+TeiDytyy`D!$S;8T)Lef0*+Y_lvz-%SwB`8{o^YL-b-Aunc=F4YSKHXY2<+anuEZfd+%cqekg+d!1D1mqYEBa{Q z4w@b(kcS_!XIBoH(v0#9zPpl4_X$s?%OVSyZ`7uF>6<>x=2n&;o|y;32=+}La<}3O zH-aeZs_*3?0i0)XE6dsP4}1NxWKk>bHor2L%P?~c7j8NkzEs;+iXWaHAfGip%clL34#gBr9(HHre`5%$#=4CCmx7>2DqKkPelxP9?0K~R8rzYQ1-nW z>%WWE%-KFJ{jPuZqU80uS-IBGx71R-Z!Ia`2RdkW@Td8ck2Ge|LwnfanN`kx2#)D! zWD#s~Tj_pimEsmcx7#h``1ATDlHe;AB#iC3wLAPzvsQWqYU3$Zm2t_=hz*d4$o zDbzq<4qv-l>rrN>>NW?HU$AXkacP#oMyF@F5XPLBjdm#m(C(9M$U9Py(u>dS|HJ6+ zdr8M8umAeq4odfEvAYn?5|263&Rh8UuFQy7=BAr)oQJx>63@;9J?h{HBnc3x#7PR` zYHBWC;`oOm%nFo`K#UW>K5r^F-DA=~=71crO17lrQJKvPkwAT(I!riAYeo%*cwr7k z+Bn%H_F%5MDs3B#0^nf#76sWnzgo5fH!Xzm?jI}pZMI|2oY56=9y)5)&T|PecDaz9 z*sK~T;CrA$E71%QBz!UDTdnz?Vx#ok9xk}*W}~XNbG@-XFXZr<`Rp}>$@IoQnex9Eb6@{0x4qob`_yu{>|^T2 zF9UIgcJ#ve_mvZvkDGOzD;?}!F|8uE;v=uFemZK&HG~tRu=)xugc$(zyQ?vZtLw)< z`GKulTc1@UOTp{xJ9{r*Vf?@!NT~gA8zWt z-}giz0g5|&C#?0sCiy@afVaQ5uKWnS$2C_%JH--pX=B(_DV{1#T3HTCtQi}4)SQ`+ zq+VEdPQD{cLx|yUFKPjokOOzj+=`5;!z)>9NIsn@Y!AN3y(42hv*@WLs!>nJ5CqX+ z>HDa?sqFiK^EjiFi773d{oRg79m4E$7yGd*W+)}IEj#`Nb>M^Vy?_rN)r)H5jxYEJ z(y5sTI7G)(k}vjczp*rx^yDO1RYoM+Of5|!5X@R(nQ9(y2Jr6n)*in9Z#T~U66*KeuD!#EK*hg0${)?+IA-)J z*QKq8BNP0G16B%4aI`}%dxVy(c*1`QY}%~_4*!|jf1(+l?39zQ#{J=0g6#bjm5+E5 zO+6<8`4E%$3PX5^9{a;}+IzzwpHuXx$x25!e@Yx@NCU1loo=@4c}oS;$|;8-V{J-o z)HcbNH-!vQ@4Tfk!}gya!xz;*<0n{&h9i-*LX$&~xOT9>ApN&n*O3z%s;s(7b? z)fa^)EGnVicj5e5T|ZTvOy48;&kaB#y)qFW*3L|PmQ|!eOPS%?W|`!^&^5W%K~kp9 zVtlF~5_qcRiz-K_Q4>`;&-@>YcbxP865201F^`z+&)bh3@ftMYZu<@h4TPpHPn3Wd z1f#>_cA<-P5)F<@WJhTn&*`z;N1&6LBT5`!g*Ry%_@a>kBVk3V%pecEC#)m?2Ce?- z3PWz0dNLAPifMEJ&|*T@MfPV{R+#`#`Kx8VGUr*Q-*w2C z>qE~T<*4`hsRhgnlzJgJYG{c(K?|Su18tZ0WiO0J>U-03|gzZ$&eveXMLvGi9~I zSO0rFo9Ixo;T#?|KGZ^NvC_AU`08fUu=4D{!v{c=*bVO1@wiAQ;2Fb4A-`wa*&$1BA@pj?vaA{mJ$7O_MrRQ#Y;QX7Uu4yZ z?Xjd4hwve5`wH^*iG7*TRTt-X~Ul6m4^+4$VgLr^@$LH|k}=2hH)=;&MCp00g{q*n#FC4%N1PC%!F3c9 z@O2-$vfxDmp7CE8*!fV$I4Wofc>p$OnE=Nh$UJV`-<9c1ne_rnc{G2G9#+mH>OEG@@%O7C7X{PsE&LUr>Djx~Z zf9mKgzZnl-=U%&wHZN{|WkKk<6pVv}f!rsL9w?S*91((8!69lD+a+r$yVl>uV6?wC zDGD7^S5Xt!$A;?h(GVQ%QV9zS^pxUW-7`}BJ3hX2hu~mtVG0)di9OZxqz3ow9!zWx ztPU>39i9e-+;5{~x`PiHahtAdz5Li09CF;JC_80v_@ib#y5p3o$L6P9JM&u2)jJuO zlV>5O*$%I}KF)}ice)iz2GWgyCl_xwzHd-B+8y}z&*OV;Ny^sjx2c0~uxE8XwMfJL zJM9_tAo~w+V|A>``8o4N>fHQ{pU$J&z>;WrtkX*}Ufbud=Dng=d1MH8%?Ik`-2R!Q z_|E6YW5qB9;s9%jO=|5UP@E>*NB~T;4ln!|uh3fhk2AntCaN1Md?rZ&Fzx^H{vk0) zfM_H>l4^cl@it0qy}Lo716H)*iQ2oiJ7&3I)A-!%3Qe{mHkmWk>3mVnNzn;~j=H;fMqM{Fhn@F*=|A^@CwxPw+TR!Rrge)V zTUdKxwF9GnEHYXvBQN=HT$vGfd`<=eL~B^Vx7YZF72a7nl#PZ;1CPH-$bI1nOO3nF zZWCMFKr(uwDoqbIIPGi~{^sqWN!DQNISyfcmwnMetfBfGrg76;mnM7p!@#u%#c!Dj zE{D+y8wt?EE0oZ~wiAqZRPevB4h_Bc8tfgh7MXVT68HU#p3E-a$n|W2D}If?#SL+N zM5}vDKyiQE0;361w%R$IffZ zh~%hUlwT0tH9gCredw}fI1V=OLltDoWkQ2K$p?|=w|d8&_}a{sQhe)vOYA|z`Q)R3(rMJOP1e4>E?Wmmdw4qsr`R0 z`{;JApk|9;;Nmf<>_WXW3Bzv-nmo$clwq*CP{8jjCXaM!UD|l2G9$tHkVs07*aeiC z8oNMLD}zOSL(-s=b(|&CF5IGnT^Sn-sK~7H>=?<>_|PR)#no&II~FV1!iw317An?f zIz*$Po`UgOU^+IozS{{q0^7He=8i`}QBL(>;4$+JuI%2K(~JV83I3Zd_0b`t=Y5V; zRXgcD8|4(b4|1GZT2un8F{o!A>k+NkSkRt*6+su%7r?T|-tyfH^IJ?Q#-`9PG5=^M z3B)OY6{P=kr^ufkrYl`LPz6t&9M%~vIb3soPpX1fF}u%1u#Ps>0hi=SB?t@B=*(MyZCmf9=CQrWDDh;m+hr)4{P0I zv>&>E53Vvb-h8~b!=0*CTv1E+)eTKq`R4Q^e_y0rKEmY4s2O*3g&|1*R-~&rKSXW{ zBJKIF-)+!y+0~kK8~Y8u!x%AQegN|e>@-_eaxTLV~=mFI5R zt-E6vHNG^Bx}nU5LK1?#=j=naI`_8q#-sh=SIC8m;oJv$#qf?FD(`2j1hI^k=Iw(` zil}3ZlTuU7`&lP_eBDz3-4%|p?2aBm+MG*=4!FK}etm^aJL;R^(Ay)VLB8KTOAppa z*a?4xs_pc6mxO=zjsuH9PG#()BUYTxLF~eBX|O_4SnKcLpRaVH{vCF){&3H@5Z=F- zc@_V@=kG=)ZeT9rAs_*-PU=`Kr}*Gwdo&tezY(mlu0Tav*TfG3sD=@Tl~nc99l3uw zN4Fx%R=!S;{`Xidp-!VyV@PEKcqXUoj&;|T)bL(R!f+>L*};W=rM*Zzvm0EGR{*nvWSg026plA28S+FRqe+_jx+dE; zHyWDTas=zoJPd+P<=RXwwTFv!V47dyls0Wp&T|80%R*YX(3^!ExrBrLp1tCZ)R%u) zpS8EJu`*&@D$?{Sirw2|F$Qmr4<;uaVSJ}<+IK1>;{mYrkb&&fFnzXB`sdk&7${;M z>EBkNp5<3pCQ9!6bMi;>*t=?fcc|9 zdmI8~am7u@tuYSyRG+umk61P%m-#&XcOVsERIu--O3z0Kim-S+oc`E2*J9wn?OcAWsSa3@pE*Xt^p=r|aUFeQfc*R+NO-K!vWiCg!n6|w4| zLG+mAK-P=UP0+wyv(6PLH=jB^?gQU+Ge?od_5d;Qz42y>gVN#8_Lp)Flbu@EgS&d( z0V)9N315^#sU02yXtJ_meR{R=UZ3|&$HuM1!&zkG%KtlO!QY za#$=WDso6jj-_~YkV?*nIfNWX&WG(OIptU>XXa4EoW&eBXL1&E$Q(wF!<@#6w=*jK((adac4vAzp!C2)#*9zM&u+t6q1;p8MIPF8 zpzf>(7_P4k>p=CW%P_;ZMYmN7?HZYdsAE<_UuTDL4b(K$X0AVcl&{qFgtu2;EV%_e z=~x_>;Sst)VkPlx(UlUgid-2Uohv}zwf^=ZrAuETW<)}hE!0NKcO8lb*c>G`8!NwK z9g^CnJ?w?xh5pt9O6F}$d#AWX>?cqA`)fkzmxiY{DUO^M=N6N^k3BYjVcM~J0@wHW}@8( zd(%YmCYJ5hjBS-^H@CGaJw<`cniyYMu})C5Pg~g#iSuU|sQ~&OJEsCnZqoC-m+^!kMtC#t4H`|NoMH zi{Vsi(c!5alr=RM~p(o3+(k$$1x6udzuMSl)6HN z1*+~bOyPSzSjY+^^tcOSbF2Vc;1;sdZBLKX*l07xyCqw;*+&7}kgFur>>az6==Wub z%$5kfoSy=3C7%w~ye!$MZ(hD%a;`z5IMW0E7k{trxC6>XLJf9(LNj`a6UH!qh{`;C zGK@iHUk(l69DC-k+CRlNQ$}~g2Fyh>DB$I=4u(-MGMbU#-|3ZmBss>gZ<3mN4j&I| zlpU4zY1^#=u-mIg0-;B5kz1q8K0GA<81Ya8yIV#HIQ~I{XfpH%8(!gWte#~UxYu0N z)Xdyt*QH%;g1-q~mHl7dUXGsq8i>@W3X^=ZL~@+uJPt7l{=MKEt4bousz&l?CEO#G z1SMHhVQs+;A&0&VZ1&f}VfvNEZ~O$D%HVlIMS%6F5yXy}4d7dfOD@MV%e~e;>9$S% zq_6tLjHZEX$kFQMu6HxZ+e_#fIqGsyU^@F=*htZ)RfqaH)|HGVyKXnsM)o`tUv%Tc z%*7!>=xl|vDj;ch?Vl?5u9&EnQ}ICZ8*GI$+{>=X*H%w3(92FOgL@GZWgF^RH;Uc9&Vmpo2Gp|HD!YM zoJeT^bI_M}-C)LeR)oxo%&Bb4ACO82-{$@fUx<7yxIVDM?!BGa8aJyz#x3jTeVk** zQd?o46U2BiV)P>J?`}%i*R1L6|Li~j`mhV+xzT*s`*-G0@Xf)$Mqw)aAWPbxE8Y)` z&)D9K#8wl!l^Xx`p?OS6!~lwcc@foY5ijl6ZvLLp1*wU&(3?=3S7{WxjQ9~7lYamOBo$E%mxb_nFAY>Ad%0ET%K*f?^rlkgus8v(XLurftb}L7-m=uW30y0W&vR${w0(?-(yB%3X0e z=nt(2C><}-;=JQXyL!XO$s3G7<5p{oJ)sHc4{R`$w`^;Z>GBp~b{Yiv30A_(KM@X1 z)9D9Wo~^jQp9N%Q9dLfB{YEumjg^nv+@v*M#`(|qCuHr(Z`n%r+cB{eQf0pWyDl{^ z!Y7vQfU^?hg=g%%!y-2ZEftUIE-5I{9Vh#hji!(NmyqoYGe6E+Vi)dIz-+&+;@N*~ z`BxJrO&rx8;Aoo6;O60yPHiQ@ffylW4y$=uTWLYjBaaHCv1T$)-Zc@loRF_dR=Ip9 z&+9kZ6&Am3%`Z^{#A1)*Yi}wKSG+&Y1ztkf*$_Djk3*pYqSxDS*ZKzg$*bzHPTzFY z`m&uH3*i2|8+|a4Pqp2v#GTRE@G*9mD&Ga~r-iti-T~+d2Flf8rkeSRzW8M3*ZnuR z-kq0NB_{m57%gqosSv8*Wlaf-xg}ou-1rc-n6kqWQ%0*a`*|qI=TGKpU6b0lYVizn zUJdk!m<}-IL4n~}9xai$6L`K-N^waO1oS%V4z$E@C}ueJU%hN!gD`z^98x?O9|XFA zz+XH9s%-8mlqyMd*h!BO-znbQ1aY+uy5`EomBK2grPUHgl0axd<@HMRV&T6~AKuw%e(kb>iHxp#+m(*>fCGO2wvGTc1&P>8@>`+G3Oa&za7+Hqo?y2;q=}7dfTT?F;ypRm5tstls`zbzZr@v6a5DNF7m@nqlzstJbde*by zs9m!%Rkc(@Ma-$_P)1O|6}Kdfoxjo+{`Nw~t%m;K?mN^c(e28Ri!(xQGJo(y8Fkf7 zK-1o$ob-HLkBN!c%t`xg_h8rcpX9Qee* zliL;XOO(kkPZE7fe@&I9UH-|2d~TK=2ncW)dYIs9L!U_5f%68raT4w08gm>_Fky41M+P+8JzjY;idvb!BU>b5Wm11b|ZAs{a(hWQA<5AU$mI=;J4<^RuUP z)UJkm$+(bLVEOttkXlA%7}nc1u$k~{iaK+6Cd zlSy-=Iabgn1P$zA<79B{1(@h4>>M2|979~t8ZPKeM<%>!;rKH38vxyD@Rsl!mNX)M%W1(%i%kaXW*pi@Mj~C;}1(RHX~yUMF6(;wAV#xa&rkdk*)NR zqC$@*jN>@c&*yuzCf?c&Q)MG{sfCEXKi)|DTtLukMpi7Z_5z<~6Gr9_AR~Tz&oN`X zfo2kiWyLxei88eZx)#gJ9aQ|l34&>ioCx25y4GqgKHTNIAJ&BOnhbBwuDAPcH)=0j5*_e!HBF*u|52gAXx z1$7N4>B)-+kwNSEHB(GN`yIX|OY9R;wvhg{1*idF-hdzcBqgJGY~PG?CImXj&QEG&o|?MZe5%dYH;kcs*%un62~m4D!S_O`p_enbQ|!p(FEx$F2()8j!pBvhF{n+;0|g0 zN3C!NRtwAzX1mv8e$Aqseg)n#y1v^gLw5Cl7nxYXqN?eU`us)y0SRYQ% zvhvxT-C>={6B|5v)2N!x?wFd{?$gG3Iynmstn`S)YJQ4p??S8hi)A}oO-{Ok;+`}KL|(Ok;X>+4Yq$Y@+lBRw)2(vH40H$ z#=)x+pV`i`+f0T^fxk@qR%Vj6OMsN)wzPW4^N|@YnlY-DHtZ*rR;G|}+8vUyd zKKkSFgaXYi?ig4c%~#cZxZyDyHSOQ6jq$Tp*LS>JQsM_E7sHS;f--AK%hPi1IEH+9w0GprC#MU9pC_vmjPFrsMHgX2NMlAFHQ zK<#49$Eh+d{h9ZE%4uEo+%6Jo>rPg0z?*0Jjn${|Vb1Yyu#S^xGfF?LGdSSj_nxQM z9j>fx6(oUb-6W??Oog9w-_N1Q(p5Ayo!mqh5}~oKPGy1ifF$nq@?!+*zT(Cc7tnX* zur`~MDJ*v?lA-Vdrfl=2k2F>N8uk`GxC%ibPX>E^f-kr6a`31s&2mdYdyk?CYs0Bc z4KQs`md~p4+SH>VzeqAmpdZ(9*}x)#pFA|$D&q~DL8!>9-O=Cl8TI|Pd}GeMx$BeJ z!F{wCh?EZ4lY+Slt*c#4##C9S;Vpb@^4_7afw+&t2HZ*PLo1JhmG4dHs?E!bQht22 z1vWWn7_9VYPKm#EWW(q)j?O2Y1rd+L@?5_aAkKUK*cn41F2;x^V#+QLjKT!_f&%&6<2~E zv|jcp0EQ4j>w3)LUdz*z$KKfTX z$$GezuiYEw-|qSiu>79wS|ZXY5D>hDp}ZLW9Mqx2BN zTzjCu7VWI3|IaE*;7pR8xMu?j?Eq{zTh`Fw*anWnstTL!upm3H6(N!~DG}KC$NFDv zH;JDT7Bou(Ks5gY1+U&F=4wsW&fMq9ugNZAp2 z!v)GfqGSbt%Ndj#`cb%XfwrSH-VY3gtsM==kuFLEZ9D8Y@GP>G+U||&65XbR1b2ce z8O;Ygm*?Nxf_z5hX!{Es?g?t2nXLBzcyb`H03=qPD`d;UEgmzsEw#OIYr)tn+`ODr zU=uVs6~}j8CjLqab-@nNXoDA|>+rUbz8?qTycwQP7yXeFGu_%MlR;24K^XVK`Zz5G>Yihdx&JKe&zvQ6Bv)MnD zY@nk$^qp`OqA@Ctv!oT(EOXfuM$@iFPj$6$)R*p>X3qyJ9kzY?ZMZ8n4=kiBOqwX> zJ_U}h>gL8-3p0@FrRV>=e`0hiAL9%UBV1$+>;d>~3+YO5My1Qsj%<$Jvd>9O8dS}ZO`=*jLlQAIIZ84)R>2m$U!HHVZVh+;vFPwZw?8%9lqphin~Ce z4EFN}fVb6Rn?jL^%bG+}sRy4E>e#LN{Nl^_58`p-csPE7E&Z5-1kF7b_vpkvP}8{y z1Z5@TsPw+zqe80fzmX$v*DMc3r0p-jgd~3u@CgUeVOw0%0$?a(UK6vGd~HFjQ)E+0M8@ z1WN1zOGPo9FNu!7F0g(qJ3mE)$!-FU_Ly%8)kXQ?$FMBMEuM=edWBj!!ZWUuB7;)#Yw~` zpTbXFbL=q2zQM?0cR*O2y$Q?Sf1M2O4pZK=nX?R6!DyochTe3C=*r-QOnnk7(2wx}bNX);m%Oj|eVv+;sLhN(6J zG`nWX_KCcfsJC=lpzx#Xn{1a$f9pEW@pXz}(-z9_?ipT=Vycv$`2athGZvB)?eYGO zamNilP4i%xa2jmdCHbdY#{C`${Bfy1oi21Sc6w{SF_J1g zgQp&CqMxXYA?n6>Ci`y|O+=HVw&A~<=sE}9NL+Po<*u#so+^4s6*Y9^IZ;M&IJ+0a z@;YlQ_;qmfEd|v`AdAg}j~WVa>M}omoKMrvcThtxe?L>gSaM+jZ(~Z=2jG38Ayk$o zTh~oD=Lm3v1K%}^%u9$wo7P9{Upim4O@_ZVN)yf|v|6)VsGQ0?3p1F_QZ!#s(p!oF ziPV4s{ucWfdK;@6;ZunBUR78`KjL*1Nqg{5`?<%vf8VNw03+DlDh+aB+WFE`IhYDW zdgDL&Axjw`_IniElO(36hvGOU0zEX+OtZfJvTI_z-)Bt{OxLhve<&2!Q{HW9QN}8djhUZU&yvC!u4RFgo!D^M4 z5#V8EHRZ%nK);|54epk}Uy;F-Cqx770xkm3N!5@80raM?lr*8}^&|z_eTGJSP~Xb9?DM<}1|GBO1sy zZjIB3xkadn`r4A<{OrV=WXa_?Q#MEKVvCHR3J3-0ub6Z6Wy{`bvaRVT<#2pv5HIDI zR>L+v-Q#n#)pWMuy_M@{xsYG{ZElr{V7Di!hHr+z8X;GOO9Wpao(TPuOc5sZ4G$OG z>+1I+@eqBypUw>q zQA=C*>l-rl$~LI3KTOL#>q7Ma?fsf!$Aty36@#q65SZ0O?%!uPN)6EgRoUIb02yw5 z*?}WUf#n^V*%QC(*f&uKNnv;s@v7dd_5-QCw1<=*JMi6W+}FZEPy7bZA;;bfcKRiN zL+f{WV5`C@tU+3IzY z4hB&h*j-rbb}&gy1S;^CqAH$IVP_WA^R{|rsw7Sc#P1+8K2VE5X zXk~KcJ=(6d$uY6+yX+ zgALs~YC{~r%HsO6d6Y62cI}PlWhyLxMHlwWi*72iAalK8V!^kOV_b4YG0(8TXuZr% zXTTA&Cb{=r9q>Y0woZnQUHE0)3cZGxPv4dY_0zRd%l~eS_FR)rmm@k_9#pSH{O9j& z-!{bp`%p2nF<8Acc4lSzks;@{$i0=Yg5LFBJJFKZd6X*scR9uR;$it40|ZKv?zvq2 z9W*nPp30R*Iw|~oB*5UBMI0z_c7S z5?YBUDEw;y-$r4B$U_dZSl|S7Dw0@*lMY`ID1hbHp(%eMjp4q8WUpmhWY!e>Dl`3uB90KC!EhfiIvmLe;+0_W|u9_eeb2oJm4GxkX&XSgT zDz~Q;GvXcw_n=X<7}!fGqo=i}3aLfG?VzGw2Ouv~Z}L_c^5u>jH~58BCU&|i?Mlef z%?aHTQ_V#-e`Ir}bTxBIY)0sUn_i5zz_qMJ`CE+*@BB>9k3CD-nY=^FD&kpEt*=}r z=qUZ+q)7*6&7pOS@>ZtO#rI?m1j2Fz9G+rRh^N_Fujww&LtoBnr>Yxy!Injo%POuy zzX3UBi>Z3UsWn!IpfkFICx$%;HlS!kOW8#;?f+`c{=9x)J9U5dqJ&2Jcfwei64pmf zt!jvq^+dJ_;#Q&X>VfLsjRKhGI#&8sM9j8#L+Yhw+0L`rPvl?jt(I5kM_+RrvmV9~ zdc>wer#hra&!=-!;h)1yUnK|zn)Y3N6AT6DcuTQ@<+IhhO8mQS|A{X)4<5cp7xo%i zv=>B==#e8vWbNjfr!<#^0?0(YCY$Z*-%DP~lS-i7FR1&CS3$8c+rjm56}nPYed~qg zWzHwvVn6&y-e|mJCupQE6byb(?hF}W+tEqv_LBQcMLp6!8#!#f3A*EW3-O|_(me{0 z9sPn>(~DsF{`OgL`b8Q+dx1@)t{^4|fGr32Va|B9DFnDbzkB4@yS|n5WTMM}fjVBw zZkUrE>#utOOE506>34Q?khlyxPWZr5f)=`0rZXhKEEG9a{j(yuyAJdU(e@)9c<>zP zkH*-v-J%!P3?3>QxD|lKx*>|oqnRf<)UK*e>Zs)&;flyN@iz}nSZ=p3 zG_HQ&z-ZvDDriNunMOpn?h%vTUBSWF;O^kmO(lY{yHWp;$2VWlH~EVXd}HHlQ(P5$ z9PnX$cW;oNQr*f&*!GlA&L_us9cvWDV~^52CHNoxkf3k5;M#IJz)4U~UVwJxdTm(_ z!E17<0(ZIds8}GpUvy{Ec`kL6Re+1yP%qW-%VIKb)601%3I&VLsT<7g_7_f1>QjE~ z%=C>+tRr$BF)qICq{&X)`AEhmb zX>z}s(h}qN0IySClGneho!b`L2QGb$7Efu3iat7ZiM_;#i7^iyL=^XkxCV*~iQ7-l z{n||m+!kp$h1R{tp}a58)#NeXQ#y>kZvt~LBu_9CZuYcC0r@&WE58XJ&*lG%WOXom z)`B6{l+Z;OPe{3c%Mg0{yEPSZ9xG3r)xzGQk|!k_8N*O5WI~-><20T|WB`Y)?7$Vo z-$Nvgy6w0PH%?!RbDyM>7-ueTI*a;FmwlYi62pJ<$-}e!vtq6{8@^Lbzs^QD?m0#* z=QFs*djV38Z0ZB()H>&GgiGhl1Ga^aT#`Mz<^ zmQ{`U)C;rI18vkohS(Op7xUsX#JbiJLh|>vK)QTQWj3=@^WdZEO^#B zCfH;-ifP8+S+@Lg8u%&W1uCasGK>3Iw zmRW<9nXR+YgMQ7^*c9pmf2&VYGk$S`w6QNO%mUidk_p1^_H+wGRx(5Vu^d$wM>oEN zz4$*IjVrTD_Bfp8i#mV&#sXCkrHtQHnhC?yb5hqTAq{!5dp$>;hYe6*ldo}d5;#Gx z6`F^yZ1C=$Y=ZpNC{WxBWBG0~y;8J_7!6@OJjg3Plq}{BnzkyzLn~%x%Gb|=);?ma zhZyNPqABjM*@K4JPm}=4=k>qI3&FP&%u_}EB4ld+8j*?cWw*R}mhVZN*>_hh_Fh)> zty>MnDE=DuDAO@0ahE`SR|8SLbghBCjZBsbN|^M9FAH@#BI) zM9^!*W3TkBrm}`itji5h>$RZ>gIfw*5cv>M6hg-&*k#RuV+47n^F`5ber*S7?Dyx0 z!b8QNnTMb!@R*!Agh>fu zDt+)SLAx7{Ty!p$Oskn`)cwZ{(#e%qJ zpoSjf?MMZ zvmo9a?E4gmEPd3mKjDe-w2u3%cfqs#I$-|ug$SL;x$km@3uiHd(6qCi@-}=q;f2mgo@4>}2%wdX$ zO3su;Lxc~m`UO<4DO%ZPbD8MH)?~s?Ydv$bSI@1`tT|2ad1Z>Td_ofSbGaV@QG0c- z_47YR)(w~@5Wyb#n@tp#n-``Z18RJWIpnpeygb>No*|U z@WCLr@2s20^gQskLvqc^A!c47bG>AVQ&8ADfuSVi)&jc-p*3G^l zsEQ_e9YO#l3;Gwuf5&nbVYKjn^aEHWH+o1SW3ukh!ER|v3w6Igl4eVF^LI;|cfn0+ z9aXJG(HxGtk17y_k`_X1DKhU``&-S?&Bh?DL$ivjqOSfRjm7I{yrvF zd_zxJ6&R(3*ujjt(mZe<6^HSdN)g&|g%y`&@Nj4~B^8$Yf zv6|!K{jmaj!}xegcg3ZC)K6-F#T%1ue+Qga;w)PBV-8<0M|Baz%-Q}DdD`a1q3M(> zaM|u^7+;22Ijt`#@ z)I(yt%}W2{TE9@#cHC#Fh?$3N0Rf+;Q>>Kc*Hm2E0^^Iav2$6RlX3A~+Mm$uZs@!3 z0W9<9X3<~cSm!44n=F6ypfaaYF~-g1Eb6!#34L1#d;17cWH=_p=k&{|iTwCDTfT)O zuS~LZxpnJuyym%5YQQh`zpRIj{pIcY(%}BHgD>$puaFcJ=K?Zzi4^L zAYV;$r8jcZdA%*43+>8JLCGPLXScR}cSj^(O(A#q&2DFu%)+r3T#C+q6hyQD&r_?; zyJrmL8_3MEfZ7f3)d4eboaF)Q=8V6=!h+RrGblJ-Q57`#LgB;B2tEH#((^hEQC{~` z*?0%Eti&}Bg=`A4tI5x9aTs68d|}fXrzI6?c{3jTg7g2bfIB!NWKE7C*^Co`>SAgF zAJZZGpZ!}wROh3OcGig{X3a%{_O$zGfT5@!RnRDV1esuCWsG1PTJnLa>9HgHY;Ob{ zMvtk(4{0nSD=zj01=WR(+qt1Z^x=&$ucQ8N>>aSDne>tU1*@vp(sKAQAI!XbN7qisZGdK;rn!QBsd=kdhAz|7NI=3a z!4F;@tqy>IU&uzWwuG_7)AemnP2^l!zjC`I9r2Gzt>>6+Z;S;V%K8lvE2B45k@Rx% zHUU`8ieY&FU`+aHYD^7Q=hmeOPucf4HuRvbT2x8iWwfymJ^E92!)3N`z*fBg<&q2) z>4f`?rn0@r2%10H#7;;SJa)>JMsBN}-;9bb<5U1{V#GBYB7%ZT3k0^O%LsoTE2r4W zV)1+4~a03VJNG*(X-Sb3B4^i*?g!{LSlhjCu8 zmFOqTp{pXPqCo? zjQc=3yJYjsakY@tCI6aePEs&}a_=eQvX|K@H2Q_R%Ssk4h4Gf`JA>ZFN55vOM{9rm zIF1O~&Zv7gQ@1)^fDe2)Jpmp;A)smiDx$)_l#&bB{RwL*Te~rzXtgUsHAQw(-}Leq z9}#|EjKcW52p;Yc_T4oUI4ya{O=HN|kw3!+qnEN37C~-v{7aP7D!W`ATBhIZXNoo4 z%~POLYGT~`KCIhPvX69q1B7k*;jbRmuAQUix{&V&KPLGIdRA|Y`wBmT zRuC?RzGul{e1Wfhn$`^AS(zF)g(ro@HIFQ|t1oJTsy=;q<@_C1>;DEEPX1FtF0MPw z2^eVni4|?p%^1Ad6|SitW^MwE?PO_DO4bbmclU`m3C~|`VwEOVk#gWt-^C2?;a&y^ zJNtGfgV6UZqo7YmiO>)0nA%pK+LB8J@cjPZ(%Ap}hA@%p5+Ji`oYQbQa1#)?6H-;Doc2}RS1?C+pQIWN4vlK=D z)^L`Bz%h{;7v56ZI9x%M@~Fe?5w|jD+)uk57Qxc>k{y&oZwE2W>7tFozw9qRMq$GM ztoS)RK`;0#cH2g1OIQDIeRe@s#+NOQ0EHHgUjeO#Jp*_aE~pETKEBOD>}WUsqhwRY zWRUIOqv8U;*TC-s2e4_h*l%~}=rr0;(#TwCexCOmFR!mvirw&U&HH7s--Tcbe;j^o z#r*!L{{jqhlN@_0ffop7Ym#E>OiUhD^%1fs_eT;4Z=$^LJEnTZir6(huTBvy$G1KI ztoEAaLcX7-vw2=T6K>NYX%YUP{Yu;ZX-8k=IiJJFIhJ7ofK7SzHzQLj{eh-J)EEn> zkXKt)%I#;{owXEdKe%+yzNPH%1oJ6dThR5-73bP(1>QNBaKsn%Yo3MYCW!mbw^Zlw zfEZRk1X<^dP`#CLfk&ZKBeyPfxmI=&1L`+XfVPBjCuBpX=p`YX4i-#Pxx66JO)k7p zxb&322BW@?xa`K*kyBN*4SUT*?t0Q zWDnyWof!_-uNwvvFe`b{9hw1Wbp+{oDxq|TXDL8X#glEl`$PJ?jL$HCnRGEFb8V<< zNpPT2y8OA)d@JrXTYq?w*!VO56!*a`_qXHTc}qPzIXt{Ut`RIoBckF5mZ?MfVd$bk zeQcB0WSGMD%-fj`M>|scgqc*Qw}lgHf_FVYC7YWuv-O%s{nv%H@@CBM?yXIP5eo80 zAu9l{3C3Dx8IDBXPd0C8#hvt>$>O)Cy{mct5q z_P5gcdj=2H965UD~&i`x|V+vniPpRF)KSKL=s0zwvlwUHMW4om^fG@9@y4D4HG@w z+hPA#os8H>@RO%wgFsW~XU6G=)f3V*Q6-qkvBcuj;|~Dn^Vwzwv9}trU7aZF_EZqz zc8adnmpRWE4Ocm#MX~Ic4Q@9toejJtupXMpxnxC5xyO;tU`jj9M@Xf$d>5gS{eD$= zM|#O16(Y*AS6y*<1#b@sTJbMijtTczaiAR7K3wcGzh%?^j?IOsVk}?X7(Fwy5?I{k zJI^tmSp8}G2A;j?yneHpG%`*_5}yzn&Zt1tGr)fBiSGSy2e>HXm#n6Q2suoSYUUh= zq?I=6_7x=HB{_y%{{HjRk$AqtJ-FC)e4=SY(Rk~r^6pS(KOQjFIOYLuz(%?o`$%iJ zB;4R%WHCT+nsPT)gZzNBUbEh%@wM*sauUpjDZB)=(?DZ^)wk-kr_VUSYymu|)t_OQ zU(VpXo&b9Qs4r}*&PC<0zOaDv`5!H55Yd}7jd_}E+R?hk;|Xsh%|)seEKaL}_XInJ zlc0i3_PU9}JnlA-_voE4zc2*z-{LkFshY{M!>DHHAKG~> z1+9HR?-nJG?-n+$k;nTPEQjgl7hSd^%@<~`8v{)cdM5k7=z_4}&Dmlw0pb&Yb){$K zj%wbXcR`1hC`1e}MKNPtQB+4!Ee3uf4652u1P(=3O~_18KHRZ<96;0Uvw=&taW#s|xG< zREW#9t)ugZ$FHkvZDmkSB3i^(Q{LwAsXKel&nI2YSc`^T+iJmL7WGFujM3q+%z*&s zSJS@;O0DwM9PaX)&dnb`#$A!2YS#kXB@H?}*}?^sqGVI3LuJ#6<}h^iO_%?`4xbsm z)Bsb0pYb8Cd?W_AxyjT$cO`nQm=>5pIE;UPLn^RmleG{=oxBE#prcpSp?_q%h7gI=3Nm z31`bRw}yF{bsO#5v}i76Rw7f4axiq%7^OfE=3FUxHL{Rj)WijOf5}iE$NE!3`q)Zc z2bp<7!xl6t)~+D4nGQ^2JJ1p1TmAy{DfDjDOKL<_RGz*F4}v}a-3BbLEI5C4Ha31x z=J{e_Y156?5iXCGiNzWJJIGYc4D%EtsT6W)P$Oe?6CXiF2Xk`Ov+jy1Jt@1tP8^N8sXH%5Qm#X`s$WWP7V8E0GDCRtxF* zp8n%CUzUvMXXV!>^tQ=U*uqQ#u%@auxle>+)fW$6EN%r{Sgnx6Rdu_{|bL_@X)oZ2myK|>gY|O$s_y*>wY;7Hjo%2QJ z7bIAl-c`!i-FNi~D(-?gJ+#bj0@J?y!vzg~>jeWGo9AN5Ttr4p}T*P7OZ zun!v*yt)ryK$Z*mK5Z|s%u4iY(nvSsh0yzThxJOLBQbY}^Vw|4?jt_5%q3Y-z05fzbjFS@Orsc zz`;D<`59rnNk@)f3>I^jC>+vyn_IF^f}k2E#mWyrKjTk^AQZIQcM`YIKCP*BEoIls zkM3LS^?KNx4p$xH+>7WMFUo8glrG<@d?M2s6di-xGu9U|o5CQpUDR3Q?kZr+Rp*P` z(5T3i18(xM^F*E9%A-M31^0Z93ym!b*IHr^uZT*V3~r<(^-?gJ^*L~95l;usL~PGV z91rm1ngz1x{R7#7H%&Q9VAm1YZkUuox)d>!+H)>nZj1k|4!+*zkV8URb0|G(J&Z&{o>t5qJ{GJn7# zcoECb1Y@y6wq-S{VzNBo4;b2e3VXxAz1xGkhcVdm$HV(8n)e{Ul|~-R@=eTwj0qiz z7#G+%YHzfjoC0U5&V^-`DG&nkWd)B0mtea)4YBt|AYLr+Tc^wN9a_KQN@ry3nOWs@ z1h`n4oIvk?f80TZVOKZy$DLDMvC~H2Pn%6{#HX(&mJJlnkW9qQ4q6W@1YL!C3+V-W1&slh$0qBDWdgJae3V%(FD| zT3k}ilr}Y@!Y!C}c2qxZi!E8{T(5EC3{$v0NLtvv@JwK6ibv6pVh_eJ_>Or98{@xK z76MRKtkfAD!3qaVyx%y(a?8qBlPQU#S{fbcH)AhulRDK1bZ)@Sebp5qMP#BumC?B4 zeXlz_3z@qrvI~A>JoRK1anczQaC8JaR?!^1WlLtZ@4SEd2fl)iREV`^PC`PJ)v(wmMhwO5YUY0SevF9ev!l zp|K#2bHU~UlnM!pXS-tOH0!mnYx=_@Q(%G;9u^Hzj({#p#_}2M;f{+~{tUX9^F|`#aomNi(Jtv?)VFPgFghNdFka9-5tEHx^3s5?lM|3XALv^r0XX9!GBp8ZA8 zuW4b0k-tu7-GRA%e8g875!=Od0qpNFEa51bRua%WuuVxLf9a4XEOTi2e!;Q4xMSmr z=Gz;MSC5~5<08i7>={$sz#Y=mfLH=|e=#}tMl~s+mh|s_8T?>m^kq;=l5?@djHz~2 z&Ui&(g-^5`ZQbsNR~z)U#f2;I0W&4~$Fc|Y{x4q^7ilKy5pkr>i!ra5x82Je0_r9A z?g08xjAlxWeXa9_y)S$69@`~;^SrED8BhA`u*5<6US1Zxi{(03u~Kli`s$;&c>8g(QorKq7BsUouNs*d)o9d4a;E;6ET{VU~6L2 zQS>;3S5$B2YA>j7#+)tQ)=ZkfJ6itd12j30t#tY%Yz22qT6hm`^9Z4I)uv4x8*_fd zH5yt3t%|7G{Cm_^;-^3I6nU=3O7Y04?rhvycW0bXZ^BQ53Dm4m>85M#?Gb=W(`lM@ zsIPwG6oP28?Yd3&a@R4If)&1Z(Xhs-xbFV+&GyCj97Sec^WMz(Su#np5G+NG1BruP zSe8l&wU$ftA?X8~#5n)iKn0;mJ6eC(Qf}o|uA>`rfD?}F?LU$Utjs011{^{p?iS)K zZ((;Io2Z4f-ic-^K3veZBCcV(eF+sGBYUJ#n*~e8WcOFn*mZCOGWx!s<%E3512L4_ zxJeSwCcZf@mH5G`)%xyJH>WzF|0eGl$~KPtGKbgFh8NbF`qdZ{fqC0Sf&M{Ce7#Xs z`0T5P;hM9mQ+o7Mgp|T{0>J8bk;*{`*x8IKFw&(imc^m|#PlcaHPCZu{t3WW<MGw zG?;8vL(}P5q$*M4)`zzrtUd&viJ)2jEFFKISn;tD-Ixc#DUbhYDqei?KY`N;Nt9f*OPk zC0S7|(<1XNB2%qOloF&DWCJd<0e~w4N|PSsoX@gSZkr!J)OFE>RE|F`wVnyXR+JgZ z*|z}2zY)`05ED)%SrY{U)BU(#H7PK5^k&2ypdZyMqbuQ+x4~x9i{e4TM_rc&yZ zNRMR*7%{vMz&D}#V}$(u7&7I-5DyUs-d}pOSIyIQO(&{Ax%G#5>qkL_QuF!UQHj-L z3ez&7_f&*%zMkQ$1Mz8vzo~_t^oyv+rFGS^Q{s2O9oESe9}}ZgO~Z1GAw>w*%Ve#V zP2~}s=Ji?A^jkPa57momPYL6jxn?f6vY%N}Gmh77X4{o{Z}EIe_5gW3Ydj9?2jCU@E~7)% zBnV)YzrvSn+AHm_h-e$XDW&i;T}J~^J?3Yl-Hy7fQj z@?OA15B-Cg+afdqRTcNc*fR2YZSXUrGTq8Dppv6XLfX94y2lw{gOwd>4A!sUe6u+m z?UJTDu{z9-)`3@T)2?Jp5V2{u#;Kh&&Sk~Ye!At3s4lM|I?Wjn(2?hb{Fg3F&X+7`(M@x@|HR7xa4i2VCURze%7uXTpH(c&8uD8 z+i;UPXAI|u`G+Oa22Sn)qyJPOC@qVB^$LF`iGl5CM-u@Hq<~HvzA8Ab;#XfnzWdj5 zauICfX_~Bc#faA-J&s{o?Fn~(g?#bh(>H5vrCY&I;!@eYx`*`uzsIH9cF(nDnNRZ?R3|I`)gpMd4bdV5)sH3v*CnEo@Vwu$_PC z=`Mcn(HE+`d>h_q06Ot)r6|$QU2ey|SvPG`y@U@0WE71=_x=kRviM%~b_>38O{Qrh zcxerIGRO{@^z{w)M-j`*q$>{kvc2ss*GtoTjVu)H_oI~Xxl#9W+1tw7hfBlrVKFB2 zCovh0rl9rg?n2};`61af^;_=`H9m>w&e)i_RCabTdcT$1d{r!Tg^C`Dri0 zRn@(2U9uK-FT^@k{6~Yyw-As6sd^?7%zFd~$;SO|~#hkGH(*LSve^+pp#x?t? z^b&_5%JSA0j%C*K%IuW6o^i#67-=ziqKRn;x%{B*%+iw(G879Xb0r_^+pA$pzq0|9 zB#6jdW3ay`sy5PlBnF2bi3s9=n$*2<^eg$(Lx(OF;*eerE z-TaQa`900)VQ7~_ODXz?&9zyjS15oFzw5;x*YvJg3RCh|x1x54ZKu858oH({$Dr z4vYy@%zjnF-uz2_)hboASXdT#TaW=L5Z_!3iZHZ!qE9XxYF{oVB|I3Y7dM0e2L&PR z3$P>(g{}LM5Kv(I2y+mMW<&<&R0zgN{}J`Bs+~V*$|XJfYw#bSlFg&}D%3^8O`duR zSAig!}*G`2C2!tpMBn=@^pGOY@_X zp-nbz+X)*NLHy7QC3|h9B40j3!)i6o{@-!C#k@Aj*vf~rZUN!qEF=qlqS991c{(D3 z09~xVW=&LyMQ8m%g5B>tQMx9f4frCJ+;Ft?>ZFG5eBYX9=<`<>k8vv)YA*U*ye6~F; zn%4<9@QX5;ZG=EUm8K$vaf)0k_K>p*KLp`KEo z8lp$+yzPL%o#)$&%l#3wU~9a?-#J73co6GKSwT>Ms3!+SR(qrK_}Mf;7UP#tksOJ= zAQE1Hv0tYl_NFLCoqI}pJv#+Vn!LMnF=Mx2zfwyz?y$$(pn#qdLJgO7Jzv;4cWWr- zFle8Xw)tOM!&Nf)d9KR!<24VyJ)Lm6>L7dMarwh}q8ayv7{_IsTICCPD8))|QBjy)OrX~?GBOJ$!o7QM!*rg~IK=$7YzZ>*kg z@b(KGroMgjRug@B{S!oUT11Vsrj7ZmOd!C6rs=!QOIYvHf4L1{uQ`1ymKw3wQW_lV z&6+!)DEAfIlewvisfn&{Ttek;$^ z#-B*%hj7M~o*2_B=@PAYF~M^QY!<)3ZP}7o9 z&Vg9J_Tfa?9*IbF?lh)!5E_i-u5imo!@B7u6TQdEfgR;k&lXRA!1FUXIcp=P1VQvz zS{W+%U7%Jl(onEjxF1f4#U=J?!$PG&c+swy@cP4-kJ9Hy9JWol4`1!nA2%^$DwK+3 zce>D;jp+dCjb$m_)SWb4hBKQ~t*4HK-h#^=DO3COlB_EazK)sl<_WA9^fiZc1WeC; z`q0fjY*aZRV0Z@zw2Avs4EZi<>uyzR+Q#yNXaqYg=Z1A1xS9pETw1(Q`~GjlUVp{F z($vbskYF}=2UCv#Q)@u)0QWFe%YSt9x0(JWYF~z^IHNGcK)}ONe%bwp{X~or)QX{p z)Q4Hr=eS<$Z+!LhAG&zQdAbO3n(}044Oq-PHiu2(CV?4bLE#`{q4}m=s?qXY;|=%E zmh00laP#X=vHdrK&GKlvKdCabRrOobnJEd#nLN~OOwXv+>)2i^RHdJl~iO;OhoZt^%sl`Vyr^*gxbqu3ea+SwAgj8 zvw@zu-dM5a^cVE*BjHKqQ4Qv-5z9fT)vI04TBu)4lFgJWRF*Q3GGvb-#Zjd8JbNPxNKdyqOIx1?v8}f6YIJD zNUiPklJw5)(`jd*q^9151yx!_*DYHg?6W;Co{=|=uU?NfmV_@$Wvm_OLw7QNk01@G z02`czJs{5LI+r~Qmm0AqJ$O`UBH~7AOW&lpL6lb9-RQ)apYGyWTXLgd1%~59Iqer0 z6yQ>&$D;m3+!gZ-@Cww@BPWOm=ZF_gIeiz^z6KkX{(5onr7*m>O2j@h$OZlUbXdYj z*9U$fGoCPS>@ZInPv2SM=e(w-xg71+fGHQsCD1J7yb4gJ2PL(hSBYXZG1uaTFI$Ku zK2J;k+BC;%vh{9Ld!DmBetBSr>zM$(L=b01IHx-Od?=ImKd)T&cl@p1hMfaH5=gx; zldG6VK+H$ZO|4(fAp;vfKT;b?`1o`Bagk}0E36;Ah!SidCP=OeU>w)OZj(7 z4$8&QNCM}HMp0lCRqNo^A}5-ZK52@HKZ0_t_oW}%f<4%eK#MMA5{vQ2YV<}gbp6m% z2veh$GF0W;TE^U^${d2484itLm2S&&yI!l3?2i(6DLTtB^-~uC+8P(E+^W*A^%rq{ zclgjrygpNIDN42WXz`_}t;^`qrbJsFqd{y3Jx{P{l3Qp4jN}lfjWJqL3rl6c87tQq z+Ne=>yQ#H){1CNH>#YrtA+^7Kss#ooJzqA2ylhg|2g|XjT^J8GJ1S~myJYP_95Gp$csm~L&YzrgjJCuE@Z*crRj+ZhnBP+%-`=WwQXK!LVT;TteIg-B^`Vj+ZP zGCDOb4e3*O;Qx}8uyx^olVJkTDq8*U_f=vW&r%Av`(&Ao)=3v6QD*)=Bv7gRHc7xy1X$#YGQHSx~=3O$ zJVBwb)T>s%rrThmFe7qq6W`qA(ARrlNK*CaRpnZB>0Om00a@c>O$({A2IX?Mn>)Cf z@_VI6r<@wf-%lfb3NFl-3Va)RNdtVe05wD|e)?YO%u+#629hc4dQ?U>cy2K9U1#YQ zc*+L=4VMliV=_1|p(gL_^nExq2;uY*(O)i~DPJk~j7t1Z2U&s_#U@y(l5-CE@HXGe zZ4k-7VYWWc<<>|2_*J$NXPZlsldnIfnv9O zq|cy5jcv_l;;Q?@JAg z?J})m8)gJ+1%THPCSMHM8n^?X4S&|zc4;mUa_-pr1S57E&)WDF8;~%TcH7S>rj*|( zM~^&Ke-I(}*tV7<(A|J`7ak=XnBl(sq5jXYIFct*&-z8Z*-+xX$>1;bb(0jRiGU&~ zZ{u?7KmIOL*tiGPo#__wYEKg5%lrJ+4@EBm22kJ7|dgf-x%2x&DP96l%)kQ`f&= zHY?$HcE@w%GxK{60M#qWq_Y(wMNS!Ar?umM1a{n*FB9q4#9muADB@v@8_DE*%qu~1 zn2TC)ah5kdJ{|ge^l9QbAs_Z&K$Ageh@YNCf29cf^7Qzl#5La z@liD4cJVvXdL5NnW&eW}fWqz~o8P9~vO&&>UE z6HFwwoOTe%O*iu;wT8uT+k6FQX(|0q*E71)sdD2YUO#mZwm+r+)>|@1l4B~$K#4#I z>V0P}QT|(8^Fo1Fh~=5zLoeT=MEz}rf1x+f<_ih0EQA1#f6c<`I~gmtPyumR7qWDv zlkS;`s@EB6Yb*(uYuG@ea6m^%t);$Hkx857ynvj0t;{?|3xx+d`tka-;x5zo0=YL- z-?Zt1g1sD4P|wZG222NY<p}-;d6U} z*RNW8yF|p_CYNc9c>e-3N5os~?LsmHd6qWJB_2D&lYNXXmE8AWW6@P)(0GSN$TzLQ zHV}}F)I(Ej5#h%|%S$odp(>1~yE?h}CEqD!ViE~4G0Z@5#~eF{F+&*qU(9SIedagCQPE>mc!-1Z4YA!zko?S`fCc{m{1JeSA6Py@9cV+w5 zc2zNV@{QIqe-dhS^flx*ijI@-Q=S4ANF{3gM%EdGN@3*NGGg^HUtu=%9&uWFuYlU^ z#G6M$9zJ>$w5*p$>-e?~#L*T4q}GeVAK`cgX5K{ISqt^b84lR9VsZKbaXzEXn;p`= z;r{TT_TXuGmbYvGw1otIcq}mQbqUlB5?Oe zbuKvFVLAI_s+B_@49*T11>W4}oZl}A`l8`w9g44U3mq36Mnd~3_fc|>1Gb6QW?%=t>8@TI7IW-&o$(=)XIMkeTc%X1{Ogv3D>^Q2Pd1|dy ze@Ul$_#d%|ZB=tOFg@!% z+{CtQvnk>#+ql{+rzVu$wn`BCW3z7!20{LgJevKkI6@SSq*poW>NN;Pv{EQ%0* zXm-)09kzZ%bIDQ0tu%+{BZsEmEye*9?jWk+k*BsXv< zo8Ix_5%j9~O1VnMqXMdfAbm8?S zs|>mq1PlYw)PBR*RQ1ofwCdic{_dY+ANA_DzN?XnNl_OD8$6qmN4Ndeg;|TD&g?V;sHhS=mP}YTM48IQYc12I? zkKa9lZ+gn1wk$bR;E~2?d(j54?E>-)!Y#z0DU7So!fty|UK*QNHAOGP${eD9NKIheW;>wHRoZR~!bS^6Rg& zrK!X5Jig-2<%(pm2P{xHa{D-!S~>u|E#&!zplBg%>1RDr99Cn9T0R-lV^EDv>*yVd zD!;6>7hya|6>Hbk$#m_5X(~^DGVo4KFg!Kq+7aS-Wv@0_y!HV;JaD{KR|uNqwX zfeT)aJ}QRYdO>_uzI!)In7Q!Cy!RpDBm5IJ${QFH>K;g!u2xNI{u-VT&I{p5W@1;3 z|0Zvd7;PZ}F0;`VgWx^A(^cH8gm-)BDBDjuAxkm>SE&OP3js%qhwK1iG_6GSm-Gkv z&x1nEVJon(P~f?s0L#>Kh-h|8xmrl*p>DoP`|>H;fUj;-+sHN^6ZwtPUWI$$w)_*X z?{;%d2HOMC9RN1uWs8Q601_n}e2)^Pbn?`tYLoV87VJ=)TPMU8>Q{HhW1mY;QcL&8 zjqRtbuG9#nKZfs*z25@%=By0nSvkkWc7_L98Pdygs!vMhSZbJEU8u}Lp4lJ;><@$n zmvp`4o|`p!YEEz(1d7%94l?Nm)0{_%$u4*@vLB!}k&Xm`H3@_}y4E^G?8B=fN z&lK=v?=yeT>B2ZOln48EKDf25oiKp<5vzVd!QBPKR z4O9O&d9-r-y%r0rv$^`XCoQDn$%8k#fofLj8$$=V7xA+A4sWpuj@L#M>0>8orj&Ix zO`?~~(gF|$w!r-iimRdqT0V45hvG;Ljj@*Bz}%`|tLGqsdIa$|I~c5cbi>#_zAEO< z7iSnKamW5|N-M3JiY9nr{ftbC=4f7MwkG)W6lb15oh|tDbIbrU0pnYB;Jc{?*@&@S zkvK2gzN$X)k&U`gkh6WhEM0zMT__M@BVGvPQC{Ra_DclukW8Tn?^*Upugn;=z2PrVkN6oT7R8IP7><1Ith3 zFzM!0o2DZBJ?zSB0bm53()6P05m!;r0)vFkp^8gmuzFx?_0Is}HAG-gJ})*M4-h{z<1^X|r>uZqso|k6sy)ZZ3E%BPa-(!{Cz1%Gs9>7v3 zDf4CXnCdWb0s#G*>IuWYI2G{7aSUjH8@zSgIbshTxrrmdSqPQ8wfE^|BI4zk_cu9m zlZC4e_%ioI!Y-f3m8t_r-<-Yw_Jx=tObJUrzy)I%JHN4d#3(F3tzv$v?9=Nn%KwfFD~r5tmUBb1(06J(x*8q3eF@l7XwZj<}AP!wea;<92a zSQo>t*|jWd54KQo@ArQaWKU;#Q-?zd5vGiA?xm;?tA4>+Av$3P{TH1dd_!r;3zhMx z)@9vMUf|E%8Rh-yDGRTEi`*ZhZ6B0DP;5Plp6IW@irZ|=p?&W&o=cMcdxB0%gR3lH zGV~&S9BCYNkYvx{Vix$`TlvKPRRYT;7xwI=`vKEm8y-dL`IC{w6ZU1Kp5O=ZGsZ=1MUS78n_ z;cS8GE$RI?CM3dweu5@(SEzwCf9P8ao3;a!OH~?|n4j-s$xk{lnhCpR)_xgbccWwU zRb5ho882j4zy?(1eW&oUO0l3M?HpzXGMTJroUP-KQz2Sms#F6cNG zc22xXWn+<#kH(^&)3;4Q$wpoKc8+nVHzDj_A$XShW{SS zHAjEA{E498-LxrfD<>SbdexFujS}0&?Yiz4(HQI5}?dTAUVWh-b>o5%jY{tm#w za+sb<6yLS44QQ4AiKx#m3h z)H-M9;Vio(fJr?It5?hoGV6OEi?TH0F4b$Q#f; zmwTV~@%m;pc2gc>&1Lkr5SylIaJr&1LrMc|T(i$L&nV2MvK^mY1pL)|ff1Q6m3D*} z+C2dRd`+cg=1Fi6W}j^j@WS}x_>Io*Lf-keW~XPo2b!nBG*cJfMwa6y%o(#>@SAM+?=1=sXYs3xFrlv8K zrr`YrHZ&9v{4luv`VKb~kez0*tC48Cr^8Iu@Yf43&?bN&c-8&+X<=o(3p;5;QYS8b5Y zCpaZ5E~n)hTM#|xZfJ?uk3zVkgM4mX_2kelx$W5fu~vbsVAiXe;|7 zN*X}j|I^m%i`Uo@fIOz|MPi8Jk3KZrD?DXnRQALLXZ3b~;lvZ*wc8-XM!EP+lccqi7nDLaV_xJcCBcn1>#`rkPGRK5S4{ z+;-{cyK7+iA>bQNJ=Jf=H}HF4m*a=}OC65Sx0r-PWn$r27lRw0)P15fG{VK&w6F0c zHO|V42U+jlW{MnY;0GN_7|X71#HGWW^U+rygeKZitDpa+M%pS}M*wF0Z@caqeIg*t zlt%RoP+P16x)Qeqa<)z}O1H!a15(+{9uJQsw%+n0X3B#nI114*(Tp_qb5LG^mntTIadol#$?OW z9*>k3c2-(;KsU+`UKm{4D)2ugl?EGJHnBs}=oEI1$z>jiKs>;9FaGjY3A$XPC>p z7e7xU&2BXsspy0m3I`Ry|ArtrGe$Xw+i96gEEK&k)#MeAq=*`Ezq+cgsXSqne@3`+ zh_357V}aL43R&+{_U&&En3oBi#wpgGyahVzmh&+1pX<&55K^tYENIBOQE2&3{njdL zjjZ9f5`ZrMRo0@SaQp{DGG@xXLxAJmX@{NYkve9w&_}m%L;CC81Zl&`wBot}i%6k` z)7pAb8;N?LmfX%st z$zR-mT#sC#z)g5;pzs;@R%Wt&OOl+rKli&pu#wnA9qjm2h+aKO>Uz!X)QO80^Q9wP-R5Nz>5XZ}Suqkn>)P=6v4z(>9 zpgWkkJlZ^-9BePllRWmW--un9GLFheDle~vb60>S-2)=t)7bV5L^+Jcso-OsJ)x8) zN~*PC>F>Z492_{RpDJoeom(?uum?d6z&OY|yCoai&K1OKtR!@vV4O+x(wt?ydX%XO z@Px`9b26mn_%W4QWmGnz21$98z8%^Yr5v2ii;UX$Qj(0JK@9v|;nebgpHoeGJZPn# zV2g*JEG6);$5;Y;BoKpWzVwEH96gKd_aO2Nj$!bwhU=Gngf?c9gE*~%*>SPf{MIVoX)`u zRGYq4ttM=dT|h>+$Q!Q=O(^rZ1VpPgEHGkg1YfVRc8`oi?J9!js$CWf7r8gp$mjbH z`2CI_Ix@Qb^VA=faltUI%NSus>Of!QVpu8DyJEKfHI<^Fux~+o6%}X6v z)=usUK?|WQ;E%|klfPk8O`$k-mTcpFW#6lJ*IfXs<*S!Hi^Nh>7Oq4f;@8#k^)>WG zXKjr&K;Q^)JUup~o8>jR_8lE>G}``0&-!WY@wcLxllFTouWgLW;T>C3Oa?VdW5;9H zmKg$hdoP(!4v9-g2m=K%wtj~JI4;_I5+(^GA4B-fj#vsK6k7cQMq{Q@Cf8d9^kgqI z&m%0AdKUUN)Lb$5-U_15_kXGM@1*3b|KQVCDS%EcVnJ>q18eElfjoj8dUd!6-dMjfEQI?gJXQ*a)ld0$C)RK znb^HDm3-EN*jU)YTPm{mGGHaVNFyDtac+oz$L)(JZjQHIF8%~j5N~c)U~`M?X?g2B ze{#xe1@3k%zBJW@0rR~*9l+9Mz*A5Dttz9H*+>^|zYn@3dfyLEHfbs#l`IuJo~!oy z3X3hn$tV8>(nNfBbTJ)l4{ue>AZdNE^sO(!vxesWqO9I+jvWP{W}y8Dw7tdIJ_wj6 z2ODOI=9F#c=(Wt&uA zaC{oj8|?ncA8-$Um7369RBGQYWF7kRpvyX);(QxpFdW5YB{qYq#Q(#tE_2RV9;tFc z=6yBwu9?5C9?bZj2GD< zC30wv2=DE*$FZ4u%EsE(#y7Pz4lZLXH355;{qJA2o6Is<58R$@aJk^Dc`L+}|J&mp ziGY5oqxaKC1Z1b(C!=Ih<31w^ZL0b89KT@FL_?bI`_)lz;-taCC+hbNht22<_hE{z z*~|_YD1Bu_xuICW3U>6$434(gNnm1S2Dz$b%McwCw;d+1X@@4&v#VUDmmqLuV5R`M zYr?GM`LTwP3`^(SY_orFS}(iyPDYhfSd&=KU1e_6wV_+>HkC(*&p^3t7rg5IvQ8rn z{gvWGlGY{ABojo_${KGU@=>|k-iiFBPWy$GmFu0t)~!3kO?@WNQ}yu|#0$6EWuhF+ zF|#}Q<=l;PBVwB|9~Ld>re$h>YCmB!(WNKW@0j+C>U#ubal-j>X72HK}AiU zkQ*OVo_9QGyX-!kSMTeS`^5*gpeKVq8T?_e$tX)e1xmG#Yuo#abW-Jyu)Wp73x{sY zmnuoNev+W?uDg99DqjpD7m369)w?j zxae?a;3~<%Hi}yYyDR~}7qsyoThE5id-8D@-=##ZqlgZcm!G7yq!B5t%fNe){R=TA zkz2k!Bvo$dCic#^`9=lG4#T`IfXsilvmX15EbGM&SEJ8Xz(*ef5mj^g!o+lQ(gE_~)=AsSg^=)otP;X3I!M{N{BdyProiHQ z{&U^?LMM({nKR^J_Cz5K&^i~zmve)E4|qoeO{;Fj-ktOU+^JDc+$s!<*@$w17{l>> zvnXZm<4#Hz3<0e1!fcPhDlNwu<%-7{)8GiR!+ho1JWF@?v`SuiQMrLoI z$;uP-?)pi-W>Pt$T9dR^j>j-OKv|m-wjC0{H#EB9{PJ2qLyrzK+vwxi=q16nBM9@y zZt=0rGZMM%0D2!5M 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%0D!Kmx6?Wn8?lk%`Tn!rZWRI)m25dxE|xn{tV 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

qiy>0M%zUaW4X|aKq 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 delta 3910 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 diff --git a/Source/DiabloUI/art.h b/Source/DiabloUI/art.h index c339001ad..ee233792b 100644 --- a/Source/DiabloUI/art.h +++ b/Source/DiabloUI/art.h @@ -36,6 +36,12 @@ struct Art { { surface = nullptr; } + + ~Art() + { + if (surface != nullptr) + Unload(); + } }; void LoadArt(const char *pszFile, Art *art, int frames = 1, SDL_Color *pPalette = nullptr, const std::array *colorMapping = nullptr); diff --git a/Source/DiabloUI/art_draw.cpp b/Source/DiabloUI/art_draw.cpp index 7559792e8..fcc0913fb 100644 --- a/Source/DiabloUI/art_draw.cpp +++ b/Source/DiabloUI/art_draw.cpp @@ -3,9 +3,27 @@ #include "DiabloUI/diabloui.h" #include "utils/display.h" #include "utils/sdl_compat.h" +#include "palette.h" namespace devilution { +void UpdatePalette(Art *art, const SDL_Surface *output) +{ + if (art->surface->format->BitsPerPixel != 8) + return; + + if (art->palette_version == pal_surface_palette_version) + return; + + if (output == nullptr || output->format->BitsPerPixel != 8) + output = pal_surface; + + if (SDLC_SetSurfaceColors(art->surface.get(), output->format->palette) <= -1) + ErrSdl(); + + art->palette_version = pal_surface_palette_version; +} + void DrawArt(Point screenPosition, Art *art, int nFrame, Uint16 srcW, Uint16 srcH) { if (screenPosition.y >= gnScreenHeight || screenPosition.x >= gnScreenWidth || art->surface == nullptr) @@ -26,11 +44,7 @@ void DrawArt(Point screenPosition, Art *art, int nFrame, Uint16 srcW, Uint16 src SDL_Rect dstRect = MakeSdlRect(screenPosition.x, screenPosition.y, srcRect.w, srcRect.h); ScaleOutputRect(&dstRect); - if (art->surface->format->BitsPerPixel == 8 && art->palette_version != pal_surface_palette_version) { - if (SDLC_SetSurfaceColors(art->surface.get(), pal_surface->format->palette) <= -1) - ErrSdl(); - art->palette_version = pal_surface_palette_version; - } + UpdatePalette(art); if (SDL_BlitSurface(art->surface.get(), &srcRect, DiabloUiSurface(), &dstRect) < 0) ErrSdl(); @@ -51,13 +65,10 @@ void DrawArt(const Surface &out, Point screenPosition, Art *art, int nFrame, Uin srcRect.w = srcW; if (srcH != 0 && srcH < srcRect.h) srcRect.h = srcH; - SDL_Rect dstRect = MakeSdlRect(screenPosition.x, screenPosition.y, srcRect.w, srcRect.h); + out.Clip(&srcRect, &screenPosition); + SDL_Rect dstRect { screenPosition.x + out.region.x, screenPosition.y + out.region.y, 0, 0 }; - if (art->surface->format->BitsPerPixel == 8 && art->palette_version != pal_surface_palette_version) { - if (SDLC_SetSurfaceColors(art->surface.get(), out.surface->format->palette) <= -1) - ErrSdl(); - art->palette_version = pal_surface_palette_version; - } + UpdatePalette(art, out.surface); if (SDL_BlitSurface(art->surface.get(), &srcRect, out.surface, &dstRect) < 0) ErrSdl(); diff --git a/Source/DiabloUI/art_draw.h b/Source/DiabloUI/art_draw.h index daadc84f5..54a9f7051 100644 --- a/Source/DiabloUI/art_draw.h +++ b/Source/DiabloUI/art_draw.h @@ -5,6 +5,8 @@ namespace devilution { +void UpdatePalette(Art *art, const SDL_Surface *output = nullptr); + void DrawArt(Point screenPosition, Art *art, int nFrame = 0, Uint16 srcW = 0, Uint16 srcH = 0); void DrawArt(const Surface &out, Point screenPosition, Art *art, int nFrame = 0, Uint16 srcW = 0, Uint16 srcH = 0); diff --git a/Source/DiabloUI/diabloui.cpp b/Source/DiabloUI/diabloui.cpp index 2294698c0..399268d4a 100644 --- a/Source/DiabloUI/diabloui.cpp +++ b/Source/DiabloUI/diabloui.cpp @@ -12,6 +12,7 @@ #include "controls/controller.h" #include "controls/menu_controls.h" #include "dx.h" +#include "engine/render/text_render.hpp" #include "hwcursor.hpp" #include "palette.h" #include "storm/storm.h" @@ -21,6 +22,7 @@ #include "utils/sdl_wrap.h" #include "utils/stubs.h" #include "utils/utf8.h" +#include "utils/language.h" #ifdef __SWITCH__ // for virtual keyboard on Switch @@ -541,7 +543,15 @@ void UnloadUiGFX() void UiInitialize() { LoadUiGFX(); - LoadArtFonts(); + + LoadFont(GameFont12, ColorSilver, "fonts\\grayui.trn"); + LoadFont(GameFont12, ColorGold, "fonts\\goldui.trn"); + LoadFont(GameFont24, ColorSilver, "fonts\\grayui.trn"); + LoadFont(GameFont24, ColorGold, "fonts\\goldui.trn"); + LoadFont(GameFont30, ColorSilver, "fonts\\grayui.trn"); + LoadFont(GameFont30, ColorGold, "fonts\\goldui.trn"); + LoadFont(GameFont42, ColorGold, "fonts\\goldui.trn"); + if (ArtCursor.surface != nullptr) { if (SDL_ShowCursor(SDL_DISABLE) <= -1) { ErrSdl(); @@ -552,7 +562,7 @@ void UiInitialize() void UiDestroy() { UnloadTtfFont(); - UnloadArtFonts(); + UnloadFonts(); UnloadUiGFX(); } @@ -726,7 +736,10 @@ void Render(UiText *uiText) void Render(const UiArtText *uiArtText) { - DrawArtStr(uiArtText->text(), uiArtText->m_rect, uiArtText->m_iFlags); + Rectangle rect { { uiArtText->m_rect.x, uiArtText->m_rect.y }, { uiArtText->m_rect.w, uiArtText->m_rect.h } }; + + const Surface &out = Surface(DiabloUiSurface()); + DrawString(out, uiArtText->text(), rect, uiArtText->m_iFlags, uiArtText->spacing(), uiArtText->lineHeight()); } void Render(const UiImage *uiImage) @@ -745,17 +758,24 @@ void Render(const UiImage *uiImage) void Render(const UiArtTextButton *uiButton) { - DrawArtStr(uiButton->m_text, uiButton->m_rect, uiButton->m_iFlags); + Rectangle rect { { uiButton->m_rect.x, uiButton->m_rect.y }, { uiButton->m_rect.w, uiButton->m_rect.h } }; + + const Surface &out = Surface(DiabloUiSurface()); + DrawString(out, uiButton->m_text, rect, uiButton->m_iFlags); } void Render(const UiList *uiList) { + const Surface &out = Surface(DiabloUiSurface()); + for (std::size_t i = 0; i < uiList->m_vecItems.size(); ++i) { SDL_Rect rect = uiList->itemRect(i); const UiListItem *item = uiList->GetItem(i); if (i + (ListOffset == nullptr ? 0 : *ListOffset) == SelectedItem) DrawSelector(rect); - DrawArtStr(item->m_text, rect, uiList->m_iFlags); + + Rectangle rectangle { { rect.x, rect.y }, { rect.w, rect.h } }; + DrawString(out, item->m_text, rectangle, uiList->m_iFlags, uiList->spacing()); } } @@ -794,11 +814,11 @@ void Render(const UiScrollbar *uiSb) void Render(const UiEdit *uiEdit) { DrawSelector(uiEdit->m_rect); - SDL_Rect rect = uiEdit->m_rect; - rect.x += 43; - rect.y += 1; - rect.w -= 86; - DrawArtStr(uiEdit->m_value, rect, uiEdit->m_iFlags, /*drawTextCursor=*/true); + + Rectangle rect { { uiEdit->m_rect.x + 43, uiEdit->m_rect.y + 1 }, { uiEdit->m_rect.w - 86, uiEdit->m_rect.h } }; + + const Surface &out = Surface(DiabloUiSurface()); + DrawString(out, uiEdit->m_value, rect, uiEdit->m_iFlags | UiFlags::TextCursor); } void RenderItem(UiItemBase *item) diff --git a/Source/DiabloUI/fonts.cpp b/Source/DiabloUI/fonts.cpp index 88dbc324c..7d55aa437 100644 --- a/Source/DiabloUI/fonts.cpp +++ b/Source/DiabloUI/fonts.cpp @@ -9,50 +9,9 @@ namespace devilution { TTF_Font *font = nullptr; -std::unique_ptr FontTables[4]; -Art ArtFonts[4][2]; /** This is so we know ttf has been init when we get to the diablo_deinit() function */ bool was_fonts_init = false; -namespace { - -void LoadArtFont(const char *pszFile, int size, int color) -{ - LoadMaskedArt(pszFile, &ArtFonts[size][color], 256, 32); -} - -} // namespace - -void LoadArtFonts() -{ - FontTables[AFT_SMALL] = LoadFileInMem("ui_art\\font16.bin"); - FontTables[AFT_MED] = LoadFileInMem("ui_art\\font24.bin"); - FontTables[AFT_BIG] = LoadFileInMem("ui_art\\font30.bin"); - FontTables[AFT_HUGE] = LoadFileInMem("ui_art\\font42.bin"); - LoadArtFont("ui_art\\font16s.pcx", AFT_SMALL, AFC_SILVER); - LoadArtFont("ui_art\\font16g.pcx", AFT_SMALL, AFC_GOLD); - LoadArtFont("ui_art\\font24s.pcx", AFT_MED, AFC_SILVER); - LoadArtFont("ui_art\\font24g.pcx", AFT_MED, AFC_GOLD); - LoadArtFont("ui_art\\font30s.pcx", AFT_BIG, AFC_SILVER); - LoadArtFont("ui_art\\font30g.pcx", AFT_BIG, AFC_GOLD); - LoadArtFont("ui_art\\font42g.pcx", AFT_HUGE, AFC_GOLD); -} - -void UnloadArtFonts() -{ - ArtFonts[AFT_SMALL][AFC_SILVER].Unload(); - ArtFonts[AFT_SMALL][AFC_GOLD].Unload(); - ArtFonts[AFT_MED][AFC_SILVER].Unload(); - ArtFonts[AFT_MED][AFC_GOLD].Unload(); - ArtFonts[AFT_BIG][AFC_SILVER].Unload(); - ArtFonts[AFT_BIG][AFC_GOLD].Unload(); - ArtFonts[AFT_HUGE][AFC_GOLD].Unload(); - FontTables[AFT_SMALL] = nullptr; - FontTables[AFT_MED] = nullptr; - FontTables[AFT_BIG] = nullptr; - FontTables[AFT_HUGE] = nullptr; -} - void LoadTtfFont() { if (TTF_WasInit() == 0) { diff --git a/Source/DiabloUI/fonts.h b/Source/DiabloUI/fonts.h index ae6d4e82a..dce98207b 100644 --- a/Source/DiabloUI/fonts.h +++ b/Source/DiabloUI/fonts.h @@ -9,24 +9,7 @@ namespace devilution { -enum _artFontTables : uint8_t { - AFT_SMALL, - AFT_MED, - AFT_BIG, - AFT_HUGE, -}; - -enum _artFontColors : uint8_t { - AFC_SILVER, - AFC_GOLD, -}; - extern TTF_Font *font; -extern std::unique_ptr FontTables[4]; -extern Art ArtFonts[4][2]; - -void LoadArtFonts(); -void UnloadArtFonts(); void LoadTtfFont(); void UnloadTtfFont(); diff --git a/Source/DiabloUI/mainmenu.cpp b/Source/DiabloUI/mainmenu.cpp index 0e075cc11..f6940e051 100644 --- a/Source/DiabloUI/mainmenu.cpp +++ b/Source/DiabloUI/mainmenu.cpp @@ -51,10 +51,10 @@ void MainmenuLoad(const char *name, void (*fnSound)(const char *file)) UiAddBackground(&vecMainMenuDialog); UiAddLogo(&vecMainMenuDialog); - vecMainMenuDialog.push_back(std::make_unique(vecMenuItems, PANEL_LEFT + 64, (UI_OFFSET_Y + 192), 510, 43, UiFlags::FontHuge | UiFlags::ColorGold | UiFlags::AlignCenter)); + vecMainMenuDialog.push_back(std::make_unique(vecMenuItems, PANEL_LEFT + 64, (UI_OFFSET_Y + 192), 510, 43, UiFlags::FontSize42 | UiFlags::ColorGold | UiFlags::AlignCenter, 5)); SDL_Rect rect = { 17, (Sint16)(gnScreenHeight - 36), 605, 21 }; - vecMainMenuDialog.push_back(std::make_unique(name, rect, UiFlags::FontSmall)); + vecMainMenuDialog.push_back(std::make_unique(name, rect, UiFlags::FontSize12 | UiFlags::ColorSilver)); UiInitList(vecMenuItems.size(), nullptr, UiMainMenuSelect, MainmenuEsc, vecMainMenuDialog, true); } diff --git a/Source/DiabloUI/selconn.cpp b/Source/DiabloUI/selconn.cpp index 3a3072549..a8d82bde7 100644 --- a/Source/DiabloUI/selconn.cpp +++ b/Source/DiabloUI/selconn.cpp @@ -1,7 +1,6 @@ #include #include "DiabloUI/diabloui.h" -#include "DiabloUI/text.h" #include "stores.h" #include "storm/storm.h" #include "utils/language.h" @@ -45,36 +44,36 @@ void SelconnLoad() UiAddLogo(&vecSelConnDlg); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelConnDlg.push_back(std::make_unique(_("Multi Player Game"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelConnDlg.push_back(std::make_unique(_("Multi Player Game"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 218), DESCRIPTION_WIDTH, 21 }; - vecSelConnDlg.push_back(std::make_unique(selconn_MaxPlayers, rect2)); + vecSelConnDlg.push_back(std::make_unique(selconn_MaxPlayers, rect2, UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 21 }; - vecSelConnDlg.push_back(std::make_unique(_("Requirements:"), rect3)); + vecSelConnDlg.push_back(std::make_unique(_("Requirements:"), rect3, UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 275), DESCRIPTION_WIDTH, 66 }; - vecSelConnDlg.push_back(std::make_unique(selconn_Description, rect4)); + vecSelConnDlg.push_back(std::make_unique(selconn_Description, rect4, UiFlags::FontSize12 | UiFlags::ColorSilver, 1, 16)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 30), (Sint16)(UI_OFFSET_Y + 356), 220, 31 }; - vecSelConnDlg.push_back(std::make_unique(_("no gateway needed"), rect5, UiFlags::AlignCenter | UiFlags::FontMedium)); + vecSelConnDlg.push_back(std::make_unique(_("no gateway needed"), rect5, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorSilver, 0)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 393), DESCRIPTION_WIDTH, 21 }; - vecSelConnDlg.push_back(std::make_unique(selconn_Gateway, rect6, UiFlags::AlignCenter)); + vecSelConnDlg.push_back(std::make_unique(selconn_Gateway, rect6, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 300), (Sint16)(UI_OFFSET_Y + 211), 295, 33 }; - vecSelConnDlg.push_back(std::make_unique(_("Select Connection"), rect7, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelConnDlg.push_back(std::make_unique(_("Select Connection"), rect7, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect8 = { (Sint16)(PANEL_LEFT + 16), (Sint16)(UI_OFFSET_Y + 427), 250, 35 }; - vecSelConnDlg.push_back(std::make_unique(_("Change Gateway"), nullptr, rect8, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold | UiFlags::ElementHidden)); + vecSelConnDlg.push_back(std::make_unique(_("Change Gateway"), nullptr, rect8, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold | UiFlags::ElementHidden)); vecSelConnDlg.push_back(std::make_unique(vecConnItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 256), 285, 26, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::ColorGold)); SDL_Rect rect9 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelConnDlg.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect9, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelConnDlg.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect9, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect10 = { (Sint16)(PANEL_LEFT + 454), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelConnDlg.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect10, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelConnDlg.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect10, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(vecConnItems.size(), SelconnFocus, SelconnSelect, SelconnEsc, vecSelConnDlg, true); } @@ -113,7 +112,7 @@ void SelconnFocus(int value) } strncpy(selconn_MaxPlayers, fmt::format(_("Players Supported: {:d}"), players).c_str(), sizeof(selconn_MaxPlayers)); - WordWrapArtStr(selconn_Description, DESCRIPTION_WIDTH); + WordWrapString(selconn_Description, DESCRIPTION_WIDTH); } void SelconnSelect(int value) diff --git a/Source/DiabloUI/selgame.cpp b/Source/DiabloUI/selgame.cpp index 5f8659346..0eadfc6ed 100644 --- a/Source/DiabloUI/selgame.cpp +++ b/Source/DiabloUI/selgame.cpp @@ -6,7 +6,6 @@ #include "DiabloUI/dialogs.h" #include "DiabloUI/selhero.h" #include "DiabloUI/selok.h" -#include "DiabloUI/text.h" #include "config.h" #include "control.h" #include "menu.h" @@ -75,27 +74,27 @@ void selgame_GameSelection_Init() UiAddLogo(&vecSelGameDialog); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("Client-Server (TCP)"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Client-Server (TCP)"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 211), 205, 192 }; - vecSelGameDialog.push_back(std::make_unique(_("Description:"), rect2, UiFlags::FontMedium)); + vecSelGameDialog.push_back(std::make_unique(_("Description:"), rect2, UiFlags::FontSize24 | UiFlags::ColorSilver)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 }; - vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3)); + vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3, UiFlags::FontSize12 | UiFlags::ColorSilver, 1, 16)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 300), (Sint16)(UI_OFFSET_Y + 211), 295, 33 }; - vecSelGameDialog.push_back(std::make_unique(_("Select Action"), rect4, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Select Action"), rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); vecSelGameDlgItems.push_back(std::make_unique(_("Create Game"), 0)); vecSelGameDlgItems.push_back(std::make_unique(_("Join Game"), 1)); - vecSelGameDialog.push_back(std::make_unique(vecSelGameDlgItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 255), 285, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(vecSelGameDlgItems, PANEL_LEFT + 305, (UI_OFFSET_Y + 255), 285, 26, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(vecSelGameDlgItems.size(), selgame_GameSelection_Focus, selgame_GameSelection_Select, selgame_GameSelection_Esc, vecSelGameDialog, true); } @@ -110,7 +109,7 @@ void selgame_GameSelection_Focus(int value) strncpy(selgame_Description, _("Enter an IP or a hostname and join a game already in progress at that address."), sizeof(selgame_Description) - 1); break; } - WordWrapArtStr(selgame_Description, DESCRIPTION_WIDTH); + WordWrapString(selgame_Description, DESCRIPTION_WIDTH); } /** @@ -139,32 +138,32 @@ void selgame_GameSelection_Select(int value) UiAddLogo(&vecSelGameDialog); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelGameDialog.push_back(std::make_unique(&title, rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(&title, rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 34), (Sint16)(UI_OFFSET_Y + 211), 205, 33 }; - vecSelGameDialog.push_back(std::make_unique(selgame_Label, rect2, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(selgame_Label, rect2, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 }; - vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3)); + vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3, UiFlags::FontSize12 | UiFlags::ColorSilver, 1, 16)); switch (value) { case 0: { title = _("Create Game"); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 211), 295, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("Select Difficulty"), rect4, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Select Difficulty"), rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); vecSelGameDlgItems.push_back(std::make_unique(_("Normal"), DIFF_NORMAL)); vecSelGameDlgItems.push_back(std::make_unique(_("Nightmare"), DIFF_NIGHTMARE)); vecSelGameDlgItems.push_back(std::make_unique(_("Hell"), DIFF_HELL)); - vecSelGameDialog.push_back(std::make_unique(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 282), 295, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 282), 295, 26, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(vecSelGameDlgItems.size(), selgame_Diff_Focus, selgame_Diff_Select, selgame_Diff_Esc, vecSelGameDialog, true); break; @@ -173,16 +172,16 @@ void selgame_GameSelection_Select(int value) title = _("Join TCP Games"); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 211), 285, 33 }; - vecSelGameDialog.push_back(std::make_unique(_("Enter address"), rect4, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Enter address"), rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 314), 285, 33 }; - vecSelGameDialog.push_back(std::make_unique(_("Enter address"), selgame_Ip, 128, rect5, UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("Enter address"), selgame_Ip, 128, rect5, UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(0, nullptr, selgame_Password_Init, selgame_GameSelection_Init, vecSelGameDialog); break; @@ -213,7 +212,7 @@ void selgame_Diff_Focus(int value) strncpy(selgame_Description, _("Hell Difficulty\nThe most powerful of the underworld's creatures lurk at the gateway into Hell. Only the most experienced characters should venture in this realm."), sizeof(selgame_Description) - 1); break; } - WordWrapArtStr(selgame_Description, DESCRIPTION_WIDTH); + WordWrapString(selgame_Description, DESCRIPTION_WIDTH); } bool IsDifficultyAllowed(int value) @@ -293,29 +292,29 @@ void selgame_GameSpeedSelection() UiAddLogo(&vecSelGameDialog); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("Create Game"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Create Game"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 34), (Sint16)(UI_OFFSET_Y + 211), 205, 33 }; - vecSelGameDialog.push_back(std::make_unique(selgame_Label, rect2, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(selgame_Label, rect2, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 }; - vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3)); + vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3, UiFlags::FontSize12 | UiFlags::ColorSilver, 1, 16)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 211), 295, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("Select Game Speed"), rect4, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Select Game Speed"), rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); vecSelGameDlgItems.push_back(std::make_unique(_("Normal"), 20)); vecSelGameDlgItems.push_back(std::make_unique(_("Fast"), 30)); vecSelGameDlgItems.push_back(std::make_unique(_("Faster"), 40)); vecSelGameDlgItems.push_back(std::make_unique(_("Fastest"), 50)); - vecSelGameDialog.push_back(std::make_unique(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 279), 295, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(vecSelGameDlgItems, PANEL_LEFT + 300, (UI_OFFSET_Y + 279), 295, 26, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect5, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(vecSelGameDlgItems.size(), selgame_Speed_Focus, selgame_Speed_Select, selgame_Speed_Esc, vecSelGameDialog, true); } @@ -340,7 +339,7 @@ void selgame_Speed_Focus(int value) strncpy(selgame_Description, _("Fastest Speed\nThe minions of the underworld will rush to attack without hesitation. Only a true speed demon should enter at this pace."), sizeof(selgame_Description) - 1); break; } - WordWrapArtStr(selgame_Description, DESCRIPTION_WIDTH); + WordWrapString(selgame_Description, DESCRIPTION_WIDTH); } void selgame_Speed_Esc() @@ -370,25 +369,25 @@ void selgame_Password_Init(int /*value*/) UiAddLogo(&vecSelGameDialog); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("Client-Server (TCP)"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Client-Server (TCP)"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 211), 205, 192 }; - vecSelGameDialog.push_back(std::make_unique(_("Description:"), rect2, UiFlags::FontMedium)); + vecSelGameDialog.push_back(std::make_unique(_("Description:"), rect2, UiFlags::FontSize24 | UiFlags::ColorSilver)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 35), (Sint16)(UI_OFFSET_Y + 256), DESCRIPTION_WIDTH, 192 }; - vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3)); + vecSelGameDialog.push_back(std::make_unique(selgame_Description, rect3, UiFlags::FontSize12 | UiFlags::ColorSilver, 1, 16)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 211), 285, 33 }; - vecSelGameDialog.push_back(std::make_unique(_("Enter Password"), rect4, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelGameDialog.push_back(std::make_unique(_("Enter Password"), rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 305), (Sint16)(UI_OFFSET_Y + 314), 285, 33 }; - vecSelGameDialog.push_back(std::make_unique(_("Enter Password"), selgame_Password, 15, rect5, UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("Enter Password"), selgame_Password, 15, rect5, UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 299), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect6, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 449), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelGameDialog.push_back(std::make_unique(_("CANCEL"), &UiFocusNavigationEsc, rect7, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(0, nullptr, selgame_Password_Select, selgame_Password_Esc, vecSelGameDialog); } diff --git a/Source/DiabloUI/selhero.cpp b/Source/DiabloUI/selhero.cpp index 9c068463d..49ba245a1 100644 --- a/Source/DiabloUI/selhero.cpp +++ b/Source/DiabloUI/selhero.cpp @@ -127,7 +127,7 @@ void SelheroListFocus(int value) { const auto index = static_cast(value); SelheroScrollIntoView(index); - UiFlags baseFlags = UiFlags::AlignCenter | UiFlags::FontBig; + UiFlags baseFlags = UiFlags::AlignCenter | UiFlags::FontSize30; if (selhero_SaveCount != 0 && index < selhero_SaveCount) { memcpy(&selhero_heroInfo, &selhero_heros[index], sizeof(selhero_heroInfo)); SelheroSetStats(); @@ -143,7 +143,7 @@ void SelheroListFocus(int value) strncpy(textStats[3], "--", sizeof(textStats[3]) - 1); strncpy(textStats[4], "--", sizeof(textStats[4]) - 1); strncpy(textStats[5], "--", sizeof(textStats[5]) - 1); - SELLIST_DIALOG_DELETE_BUTTON->m_iFlags = baseFlags | UiFlags::ElementDisabled; + SELLIST_DIALOG_DELETE_BUTTON->m_iFlags = baseFlags | UiFlags::ColorSilver | UiFlags::ElementDisabled; selhero_deleteEnabled = false; } @@ -160,7 +160,7 @@ void SelheroListSelect(int value) vecSelDlgItems.clear(); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 }; - vecSelDlgItems.push_back(std::make_unique(_("Choose Class"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelDlgItems.push_back(std::make_unique(_("Choose Class"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); vecSelHeroDlgItems.clear(); int itemH = 33; @@ -179,13 +179,13 @@ void SelheroListSelect(int value) if (vecSelHeroDlgItems.size() > 4) itemH = 26; int itemY = 246 + (176 - vecSelHeroDlgItems.size() * itemH) / 2; - vecSelDlgItems.push_back(std::make_unique(vecSelHeroDlgItems, PANEL_LEFT + 264, (UI_OFFSET_Y + itemY), 320, itemH, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(vecSelHeroDlgItems, PANEL_LEFT + 264, (UI_OFFSET_Y + itemY), 320, itemH, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 279), (Sint16)(UI_OFFSET_Y + 429), 140, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 429), (Sint16)(UI_OFFSET_Y + 429), 140, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(vecSelHeroDlgItems.size(), SelheroClassSelectorFocus, SelheroClassSelectorSelect, SelheroClassSelectorEsc, vecSelDlgItems, true); memset(&selhero_heroInfo.name, 0, sizeof(selhero_heroInfo.name)); @@ -199,18 +199,18 @@ void SelheroListSelect(int value) vecSelDlgItems.clear(); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 }; - vecSelDlgItems.push_back(std::make_unique(_("Save File Exists"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelDlgItems.push_back(std::make_unique(_("Save File Exists"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); vecSelHeroDlgItems.clear(); vecSelHeroDlgItems.push_back(std::make_unique(_("Load Game"), 0)); vecSelHeroDlgItems.push_back(std::make_unique(_("New Game"), 1)); - vecSelDlgItems.push_back(std::make_unique(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 285), 320, 33, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 285), 320, 33, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 279), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect2, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 429), (Sint16)(UI_OFFSET_Y + 427), 140, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect3, UiFlags::AlignCenter | UiFlags::VerticalCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(vecSelHeroDlgItems.size(), SelheroLoadFocus, SelheroLoadSelect, selhero_List_Init, vecSelDlgItems, true); title = _("Single Player Characters"); @@ -271,16 +271,16 @@ void SelheroClassSelectorSelect(int value) strncpy(selhero_heroInfo.name, SelheroGenerateName(selhero_heroInfo.heroclass), sizeof(selhero_heroInfo.name) - 1); vecSelDlgItems.clear(); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 }; - vecSelDlgItems.push_back(std::make_unique(_("Enter Name"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelDlgItems.push_back(std::make_unique(_("Enter Name"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 265), (Sint16)(UI_OFFSET_Y + 317), 320, 33 }; - vecSelDlgItems.push_back(std::make_unique(_("Enter Name"), selhero_heroInfo.name, 15, rect2, UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("Enter Name"), selhero_heroInfo.name, 15, rect2, UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 279), (Sint16)(UI_OFFSET_Y + 429), 140, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 429), (Sint16)(UI_OFFSET_Y + 429), 140, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect4, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(0, nullptr, SelheroNameSelect, SelheroNameEsc, vecSelDlgItems); } @@ -456,7 +456,7 @@ void selhero_Init() vecSelDlgItems.clear(); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelHeroDialog.push_back(std::make_unique(&title, rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelHeroDialog.push_back(std::make_unique(&title, rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 30), (Sint16)(UI_OFFSET_Y + 211), 180, 76 }; auto heroImg = std::make_unique(&ArtHero, rect2, UiFlags::None, /*bAnimated=*/false, static_cast(enum_size::value)); @@ -464,38 +464,38 @@ void selhero_Init() vecSelHeroDialog.push_back(std::move(heroImg)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 323), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Level:"), rect3, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Level:"), rect3, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 323), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Level:"), rect4, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Level:"), rect4, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 323), 40, 21 }; - vecSelHeroDialog.push_back(std::make_unique(textStats[0], rect5, UiFlags::AlignCenter)); + vecSelHeroDialog.push_back(std::make_unique(textStats[0], rect5, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect6 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 358), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Strength:"), rect6, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Strength:"), rect6, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect7 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 358), 40, 21 }; - vecSelHeroDialog.push_back(std::make_unique(textStats[1], rect7, UiFlags::AlignCenter)); + vecSelHeroDialog.push_back(std::make_unique(textStats[1], rect7, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect8 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 380), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Magic:"), rect8, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Magic:"), rect8, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect9 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 380), 40, 21 }; - vecSelHeroDialog.push_back(std::make_unique(textStats[2], rect9, UiFlags::AlignCenter)); + vecSelHeroDialog.push_back(std::make_unique(textStats[2], rect9, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect10 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 401), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Dexterity:"), rect10, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Dexterity:"), rect10, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect11 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 401), 40, 21 }; - vecSelHeroDialog.push_back(std::make_unique(textStats[3], rect11, UiFlags::AlignCenter)); + vecSelHeroDialog.push_back(std::make_unique(textStats[3], rect11, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect12 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 422), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Vitality:"), rect12, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Vitality:"), rect12, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect13 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 422), 40, 21 }; - vecSelHeroDialog.push_back(std::make_unique(textStats[4], rect13, UiFlags::AlignCenter)); + vecSelHeroDialog.push_back(std::make_unique(textStats[4], rect13, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); #if _DEBUG SDL_Rect rect14 = { (Sint16)(PANEL_LEFT + 39), (Sint16)(UI_OFFSET_Y + 443), 110, 21 }; - vecSelHeroDialog.push_back(std::make_unique(_("Savegame:"), rect14, UiFlags::AlignRight)); + vecSelHeroDialog.push_back(std::make_unique(_("Savegame:"), rect14, UiFlags::AlignRight | UiFlags::FontSize12 | UiFlags::ColorSilver)); SDL_Rect rect15 = { (Sint16)(PANEL_LEFT + 159), (Sint16)(UI_OFFSET_Y + 443), 40, 21 }; - vecSelHeroDialog.push_back(std::make_unique(textStats[5], rect15, UiFlags::AlignCenter)); + vecSelHeroDialog.push_back(std::make_unique(textStats[5], rect15, UiFlags::AlignCenter | UiFlags::FontSize12 | UiFlags::ColorSilver)); #endif } @@ -505,7 +505,7 @@ void selhero_List_Init() vecSelDlgItems.clear(); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 264), (Sint16)(UI_OFFSET_Y + 211), 320, 33 }; - vecSelDlgItems.push_back(std::make_unique(_("Select Hero"), rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelDlgItems.push_back(std::make_unique(_("Select Hero"), rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); vecSelHeroDlgItems.clear(); const size_t numViewportHeroes = std::min(selhero_SaveCount + 1, MaxViewportItems); @@ -514,7 +514,7 @@ void selhero_List_Init() } SelheroUpdateViewportItems(); - vecSelDlgItems.push_back(std::make_unique(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 256), 320, 26, UiFlags::AlignCenter | UiFlags::FontMedium | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(vecSelHeroDlgItems, PANEL_LEFT + 265, (UI_OFFSET_Y + 256), 320, 26, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorGold)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 585), (Sint16)(UI_OFFSET_Y + 244), 25, 178 }; auto pinnedScrollBar = std::make_unique(&ArtScrollBarBackground, &ArtScrollBarThumb, &ArtScrollBarArrow, rect2); @@ -522,15 +522,15 @@ void selhero_List_Init() vecSelDlgItems.push_back(std::move(pinnedScrollBar)); SDL_Rect rect3 = { (Sint16)(PANEL_LEFT + 239), (Sint16)(UI_OFFSET_Y + 429), 120, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("OK"), &UiFocusNavigationSelect, rect3, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); SDL_Rect rect4 = { (Sint16)(PANEL_LEFT + 364), (Sint16)(UI_OFFSET_Y + 429), 120, 35 }; - auto setlistDialogDeleteButton = std::make_unique(_("Delete"), &SelheroUiFocusNavigationYesNo, rect4, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ElementDisabled); + auto setlistDialogDeleteButton = std::make_unique(_("Delete"), &SelheroUiFocusNavigationYesNo, rect4, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver | UiFlags::ElementDisabled); SELLIST_DIALOG_DELETE_BUTTON = setlistDialogDeleteButton.get(); vecSelDlgItems.push_back(std::move(setlistDialogDeleteButton)); SDL_Rect rect5 = { (Sint16)(PANEL_LEFT + 489), (Sint16)(UI_OFFSET_Y + 429), 120, 35 }; - vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect5, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelDlgItems.push_back(std::make_unique(_("Cancel"), &UiFocusNavigationEsc, rect5, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); UiInitList(selhero_SaveCount + 1, SelheroListFocus, SelheroListSelect, SelheroListEsc, vecSelDlgItems, false, SelheroListDeleteYesNo); UiInitScrollBar(scrollBar, MaxViewportItems, &listOffset); diff --git a/Source/DiabloUI/selok.cpp b/Source/DiabloUI/selok.cpp index bfc62f899..9ba77b89c 100644 --- a/Source/DiabloUI/selok.cpp +++ b/Source/DiabloUI/selok.cpp @@ -1,9 +1,9 @@ #include "DiabloUI/selok.h" #include "DiabloUI/diabloui.h" -#include "DiabloUI/text.h" #include "control.h" #include "utils/language.h" +#include "engine/render/text_render.hpp" namespace devilution { @@ -18,7 +18,7 @@ bool selok_endMenu; std::vector> vecSelOkDialogItems; std::vector> vecSelOkDialog; -#define MESSAGE_WIDTH 280 +#define MESSAGE_WIDTH 400 void selok_Free() { @@ -56,20 +56,20 @@ void UiSelOkDialog(const char *title, const char *body, bool background) if (title != nullptr) { SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelOkDialog.push_back(std::make_unique(title, rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelOkDialog.push_back(std::make_unique(title, rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 140), (Sint16)(UI_OFFSET_Y + 210), 560, 168 }; - vecSelOkDialog.push_back(std::make_unique(dialogText, rect2, UiFlags::FontMedium)); + vecSelOkDialog.push_back(std::make_unique(dialogText, rect2, UiFlags::FontSize24 | UiFlags::ColorSilver)); } else { SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 140), (Sint16)(UI_OFFSET_Y + 197), 560, 168 }; - vecSelOkDialog.push_back(std::make_unique(dialogText, rect1, UiFlags::FontMedium)); + vecSelOkDialog.push_back(std::make_unique(dialogText, rect1, UiFlags::FontSize24 | UiFlags::ColorSilver)); } vecSelOkDialogItems.push_back(std::make_unique(_("OK"), 0)); - vecSelOkDialog.push_back(std::make_unique(vecSelOkDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelOkDialog.push_back(std::make_unique(vecSelOkDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); strncpy(dialogText, body, sizeof(dialogText) - 1); - WordWrapArtStr(dialogText, MESSAGE_WIDTH); + WordWrapString(dialogText, MESSAGE_WIDTH, GameFont24); UiInitList(0, nullptr, selok_Select, selok_Esc, vecSelOkDialog, false, nullptr); diff --git a/Source/DiabloUI/selyesno.cpp b/Source/DiabloUI/selyesno.cpp index 1f87ed2c2..91b751686 100644 --- a/Source/DiabloUI/selyesno.cpp +++ b/Source/DiabloUI/selyesno.cpp @@ -1,7 +1,6 @@ #include "selyesno.h" #include "DiabloUI/diabloui.h" -#include "DiabloUI/text.h" #include "control.h" #include "utils/language.h" @@ -15,7 +14,7 @@ char selyesno_confirmationMessage[256]; std::vector> vecSelYesNoDialogItems; std::vector> vecSelYesNoDialog; -#define MESSAGE_WIDTH 280 +#define MESSAGE_WIDTH 400 void SelyesnoFree() { @@ -47,17 +46,17 @@ bool UiSelHeroYesNoDialog(const char *title, const char *body) UiAddLogo(&vecSelYesNoDialog); SDL_Rect rect1 = { (Sint16)(PANEL_LEFT + 24), (Sint16)(UI_OFFSET_Y + 161), 590, 35 }; - vecSelYesNoDialog.push_back(std::make_unique(title, rect1, UiFlags::AlignCenter | UiFlags::FontBig)); + vecSelYesNoDialog.push_back(std::make_unique(title, rect1, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorSilver, 3)); SDL_Rect rect2 = { (Sint16)(PANEL_LEFT + 120), (Sint16)(UI_OFFSET_Y + 236), MESSAGE_WIDTH, 168 }; - vecSelYesNoDialog.push_back(std::make_unique(selyesno_confirmationMessage, rect2, UiFlags::FontMedium)); + vecSelYesNoDialog.push_back(std::make_unique(selyesno_confirmationMessage, rect2, UiFlags::FontSize24 | UiFlags::ColorSilver)); vecSelYesNoDialogItems.push_back(std::make_unique(_("Yes"), 0)); vecSelYesNoDialogItems.push_back(std::make_unique(_("No"), 1)); - vecSelYesNoDialog.push_back(std::make_unique(vecSelYesNoDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::AlignCenter | UiFlags::FontBig | UiFlags::ColorGold)); + vecSelYesNoDialog.push_back(std::make_unique(vecSelYesNoDialogItems, PANEL_LEFT + 230, (UI_OFFSET_Y + 390), 180, 35, UiFlags::AlignCenter | UiFlags::FontSize30 | UiFlags::ColorGold)); strncpy(selyesno_confirmationMessage, body, sizeof(selyesno_confirmationMessage) - 1); - WordWrapArtStr(selyesno_confirmationMessage, MESSAGE_WIDTH); + WordWrapString(selyesno_confirmationMessage, MESSAGE_WIDTH, GameFont24); UiInitList(vecSelYesNoDialogItems.size(), nullptr, SelyesnoSelect, SelyesnoEsc, vecSelYesNoDialog, true, nullptr); diff --git a/Source/DiabloUI/text.cpp b/Source/DiabloUI/text.cpp deleted file mode 100644 index 0a5b6b636..000000000 --- a/Source/DiabloUI/text.cpp +++ /dev/null @@ -1,57 +0,0 @@ -#include "DiabloUI/text.h" - -namespace devilution { - -std::size_t GetArtStrWidth(const char *str, std::size_t size) -{ - int strWidth = 0; - - for (size_t i = 0, n = strlen(str); i < n; i++) { - uint8_t w = FontTables[size][(uint8_t)str[i] + 2]; - strWidth += (w != 0) ? w : FontTables[size][0]; - } - - return strWidth; -} - -void WordWrapArtStr(char *text, std::size_t width, std::size_t size) -{ - const std::size_t textLength = strlen(text); - std::size_t lineStart = 0; - std::size_t lineWidth = 0; - for (std::size_t i = 0; i < textLength; i++) { - if (text[i] == '\n') { // Existing line break, scan next line - lineStart = i + 1; - lineWidth = 0; - continue; - } - - uint8_t w = FontTables[size][(uint8_t)text[i] + 2]; - lineWidth += (w != 0) ? w : FontTables[size][0]; - - if (lineWidth <= width) { - continue; // String is still within the limit, continue to the next line - } - - std::size_t j; // Backtrack to the previous space - for (j = i; j >= lineStart; j--) { - if (text[j] == ' ') { - break; - } - } - - if (j == lineStart) { // Single word longer than width - if (i == textLength) - break; - j = i; - } - - // Break line and continue to next line - i = j; - text[i] = '\n'; - lineStart = i + 1; - lineWidth = 0; - } -} - -} // namespace devilution diff --git a/Source/DiabloUI/text.h b/Source/DiabloUI/text.h deleted file mode 100644 index 667a92311..000000000 --- a/Source/DiabloUI/text.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include - -#include "DiabloUI/fonts.h" - -namespace devilution { - -std::size_t GetArtStrWidth(const char *str, std::size_t size); -void WordWrapArtStr(char *text, std::size_t width, std::size_t size = AFT_SMALL); - -} // namespace devilution diff --git a/Source/DiabloUI/text_draw.cpp b/Source/DiabloUI/text_draw.cpp index 4d24a04a9..5f246bb0c 100644 --- a/Source/DiabloUI/text_draw.cpp +++ b/Source/DiabloUI/text_draw.cpp @@ -3,7 +3,6 @@ #include "DiabloUI/art_draw.h" #include "DiabloUI/diabloui.h" #include "DiabloUI/fonts.h" -#include "DiabloUI/text.h" #include "DiabloUI/ttf_render_wrapped.h" #include "DiabloUI/ui_item.h" #include "utils/display.h" @@ -65,37 +64,4 @@ void DrawTTF(const char *text, const SDL_Rect &rectIn, UiFlags flags, ErrSdl(); } -void DrawArtStr(const char *text, const SDL_Rect &rect, UiFlags flags, bool drawTextCursor) -{ - _artFontTables size = AFT_SMALL; - _artFontColors color = HasAnyOf(flags, UiFlags::ColorGold) ? AFC_GOLD : AFC_SILVER; - - if (HasAnyOf(flags, UiFlags::FontMedium)) - size = AFT_MED; - else if (HasAnyOf(flags, UiFlags::FontBig)) - size = AFT_BIG; - else if (HasAnyOf(flags, UiFlags::FontHuge)) - size = AFT_HUGE; - - const int x = rect.x + AlignXOffset(flags, rect, GetArtStrWidth(text, size)); - const int y = rect.y + (HasAnyOf(flags, UiFlags::VerticalCenter) ? (rect.h - ArtFonts[size][color].h()) / 2 : 0); - - int sx = x; - int sy = y; - for (size_t i = 0, n = strlen(text); i < n; i++) { - if (text[i] == '\n') { - sx = x; - sy += ArtFonts[size][color].h(); - continue; - } - uint8_t w = FontTables[size][static_cast(text[i]) + 2]; - w = (w != 0) ? w : FontTables[size][0]; - DrawArt({ sx, sy }, &ArtFonts[size][color], static_cast(text[i]), w); - sx += w; - } - if (drawTextCursor && GetAnimationFrame(2, 500) != 0) { - DrawArt({ sx, sy }, &ArtFonts[size][color], '|'); - } -} - } // namespace devilution diff --git a/Source/DiabloUI/text_draw.h b/Source/DiabloUI/text_draw.h index 2e946f519..fa2f4fd48 100644 --- a/Source/DiabloUI/text_draw.h +++ b/Source/DiabloUI/text_draw.h @@ -17,6 +17,4 @@ void DrawTTF(const char *text, const SDL_Rect &rect, UiFlags flags, const SDL_Color &textColor, const SDL_Color &shadowColor, TtfSurfaceCache &renderCache); -void DrawArtStr(const char *text, const SDL_Rect &rect, UiFlags flags, bool drawTextCursor = false); - } // namespace devilution diff --git a/Source/DiabloUI/title.cpp b/Source/DiabloUI/title.cpp index 6d52722b1..a512f3010 100644 --- a/Source/DiabloUI/title.cpp +++ b/Source/DiabloUI/title.cpp @@ -40,8 +40,8 @@ void UiTitleDialog() UiAddBackground(&vecTitleScreen); UiAddLogo(&vecTitleScreen, LOGO_BIG, 182); - SDL_Rect rect = { (Sint16)(PANEL_LEFT + 49), (Sint16)(UI_OFFSET_Y + 410), 550, 26 }; - vecTitleScreen.push_back(std::make_unique(_("Copyright © 1996-2001 Blizzard Entertainment"), rect, UiFlags::FontMedium | UiFlags::AlignCenter)); + SDL_Rect rect = { (Sint16)(PANEL_LEFT), (Sint16)(UI_OFFSET_Y + 410), 640, 26 }; + vecTitleScreen.push_back(std::make_unique(_("Copyright © 1996-2001 Blizzard Entertainment"), rect, UiFlags::AlignCenter | UiFlags::FontSize24 | UiFlags::ColorSilver)); } TitleLoad(); diff --git a/Source/DiabloUI/ui_item.h b/Source/DiabloUI/ui_item.h index 5322b36c8..c6ebe7798 100644 --- a/Source/DiabloUI/ui_item.h +++ b/Source/DiabloUI/ui_item.h @@ -25,21 +25,30 @@ enum class UiType { enum class UiFlags { // clang-format off None = 0, - FontSmall = 1 << 0, - FontMedium = 1 << 1, - FontBig = 1 << 2, - FontHuge = 1 << 3, - AlignCenter = 1 << 4, - AlignRight = 1 << 5, - VerticalCenter = 1 << 6, - ColorSilver = 1 << 7, - ColorGold = 1 << 8, - ColorRed = 1 << 9, - ColorBlue = 1 << 10, - ColorBlack = 1 << 11, - ElementDisabled = 1 << 12, - ElementHidden = 1 << 13, - KerningFitSpacing = 1 << 14, + + FontSize12 = 1 << 0, + FontSize24 = 1 << 1, + FontSize30 = 1 << 2, + FontSize42 = 1 << 3, + FontSize46 = 1 << 4, + + ColorSilver = 1 << 5, + ColorGold = 1 << 6, + ColorRed = 1 << 7, + ColorBlue = 1 << 8, + ColorBlack = 1 << 9, + + AlignCenter = 1 << 10, + AlignRight = 1 << 11, + VerticalCenter = 1 << 12, + + KerningFitSpacing = 1 << 13, + + ElementDisabled = 1 << 14, + ElementHidden = 1 << 15, + + PentaCursor = 1 << 16, + TextCursor = 1 << 17, // clang-format on }; @@ -153,9 +162,11 @@ public: * @param rect screen region defining the area to draw the text * @param flags UiFlags controlling color/alignment/size */ - UiArtText(const char *text, SDL_Rect rect, UiFlags flags = UiFlags::None) + UiArtText(const char *text, SDL_Rect rect, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1) : UiItemBase(UiType::ArtText, rect, flags) , m_text(text) + , m_spacing(spacing) + , m_lineHeight(lineHeight) { } @@ -165,9 +176,11 @@ public: * @param rect screen region defining the area to draw the text * @param flags UiFlags controlling color/alignment/size */ - UiArtText(const char **ptext, SDL_Rect rect, UiFlags flags = UiFlags::None) + UiArtText(const char **ptext, SDL_Rect rect, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1) : UiItemBase(UiType::ArtText, rect, flags) , m_ptext(ptext) + , m_spacing(spacing) + , m_lineHeight(lineHeight) { } @@ -178,11 +191,23 @@ public: return *m_ptext; } + int spacing() const + { + return m_spacing; + } + + int lineHeight() const + { + return m_lineHeight; + } + ~UiArtText() {}; private: const char *m_text = nullptr; const char **m_ptext = nullptr; + int m_spacing = 1; + int m_lineHeight = -1; }; //============================================================================= @@ -280,7 +305,6 @@ public: enum FrameKey : uint8_t { DEFAULT, PRESSED, - DISABLED }; //private: @@ -315,12 +339,13 @@ typedef std::vector> vUiListItem; class UiList : public UiItemBase { public: - UiList(const vUiListItem &vItems, Sint16 x, Sint16 y, Uint16 item_width, Uint16 item_height, UiFlags flags = UiFlags::None) + UiList(const vUiListItem &vItems, Sint16 x, Sint16 y, Uint16 item_width, Uint16 item_height, UiFlags flags = UiFlags::None, int spacing = 1) : UiItemBase(UiType::List, { x, y, item_width, static_cast(item_height * vItems.size()) }, flags) , m_x(x) , m_y(y) , m_width(item_width) , m_height(item_height) + , m_spacing(spacing) { for (auto &item : vItems) m_vecItems.push_back(item.get()); @@ -352,9 +377,15 @@ public: return m_vecItems[i]; } + int spacing() const + { + return m_spacing; + } + //private: Sint16 m_x, m_y; Uint16 m_width, m_height; std::vector m_vecItems; + int m_spacing; }; } // namespace devilution diff --git a/Source/automap.cpp b/Source/automap.cpp index f5ca5540a..74b88cbd3 100644 --- a/Source/automap.cpp +++ b/Source/automap.cpp @@ -461,7 +461,7 @@ AutomapTile GetAutomapTypeView(Point map) void DrawAutomapText(const Surface &out) { char desc[256]; - Point linePosition { 8, 20 }; + Point linePosition { 8, 8 }; if (gbIsMultiplayer) { if (strcasecmp("0.0.0.0", szPlayerName) != 0) { diff --git a/Source/capture.cpp b/Source/capture.cpp index e4fe63c10..7b6179941 100644 --- a/Source/capture.cpp +++ b/Source/capture.cpp @@ -146,7 +146,7 @@ std::ofstream CaptureFile(std::string *dstPath) */ void RedPalette() { - for (int i = 0; i < 255; i++) { + for (int i = 0; i < 256; i++) { system_palette[i].g = 0; system_palette[i].b = 0; } diff --git a/Source/control.cpp b/Source/control.cpp index 1d04397cd..707d09f15 100644 --- a/Source/control.cpp +++ b/Source/control.cpp @@ -90,7 +90,6 @@ std::optional talkButtons; std::optional pDurIcons; std::optional multiButtons; std::optional pPanelButtons; -std::optional pChrPanel; std::optional pGBoxBuff; std::optional pSBkBtnCel; std::optional pSBkIconCels; @@ -109,19 +108,6 @@ bool WhisperList[MAX_PLRS]; char panelstr[4][64]; uint8_t SplTransTbl[256]; -/** - * Line start position for info box text when displaying 1, 2, 3, 4 and 5 lines respectivly - */ -const int LineOffsets[5][5] = { - { 82 }, - { 70, 94 }, - { 64, 82, 100 }, - { 60, 75, 89, 104 }, - { 58, 70, 82, 94, 105 }, -}; - -/* data */ - /** Maps from spell_id to spelicon.cel frame number. */ char SpellITbl[] = { 27, @@ -230,7 +216,7 @@ spell_id SpellPages[6][7] = { #define SPLROWICONLS 10 #define SPLICONLAST (gbIsHellfire ? 52 : 43) -void CalculatePanelAreas(void) +void CalculatePanelAreas() { MainPanel = { { (gnScreenWidth - PANEL_WIDTH) / 2, gnScreenHeight - PANEL_HEIGHT }, { PANEL_WIDTH, PANEL_HEIGHT } }; LeftPanel = { { 0, 0 }, { SPANEL_WIDTH, SPANEL_HEIGHT } }; @@ -320,7 +306,7 @@ void SetSpellTrans(spell_type t) void PrintSBookHotkey(const Surface &out, Point position, const std::string &text) { // Align the hot key text with the top-right corner of the spell icon - position += Displacement { SPLICONLENGTH - (GetLineWidth(text.c_str()) + 5), 17 - SPLICONLENGTH }; + position += Displacement { SPLICONLENGTH - (GetLineWidth(text.c_str()) + 5), 5 - SPLICONLENGTH }; // Draw a drop shadow below and to the left of the text DrawString(out, text, position + Displacement { -1, 1 }, UiFlags::ColorBlack); @@ -412,19 +398,19 @@ void PrintInfo(const Surface &out) if (talkflag) return; - Rectangle line { { PANEL_X + 177, PANEL_Y + LineOffsets[pnumlines][0] }, { 288, 0 } }; + const int LineStart[] = { 70, 58, 52, 48, 46 }; + const int LineHeights[] = { 30, 24, 18, 15, 12 }; + + Rectangle line { { PANEL_X + 177, PANEL_Y + LineStart[pnumlines] }, { 288, 12 } }; - int yo = 0; - int lo = 1; if (infostr[0] != '\0') { DrawString(out, infostr, line, InfoColor | UiFlags::AlignCenter | UiFlags::KerningFitSpacing, 2); - yo = 1; - lo = 0; + line.position.y += LineHeights[pnumlines]; } for (int i = 0; i < pnumlines; i++) { - line.position.y = PANEL_Y + LineOffsets[pnumlines - lo][i + yo]; DrawString(out, panelstr[i], line, InfoColor | UiFlags::AlignCenter | UiFlags::KerningFitSpacing, 2); + line.position.y += LineHeights[pnumlines]; } } @@ -918,7 +904,8 @@ void InitControlPan() pManaBuff.emplace(88, 88); pLifeBuff.emplace(88, 88); - pChrPanel = LoadCel("Data\\Char.CEL", SPANEL_WIDTH); + LoadCharPanel(); + if (!gbIsHellfire) pSpellCels = LoadCel("CtrlPan\\SpelIcon.CEL", SPLICONLENGTH); else @@ -1301,7 +1288,6 @@ void FreeControlPan() pBtmBuff = std::nullopt; pManaBuff = std::nullopt; pLifeBuff = std::nullopt; - pChrPanel = std::nullopt; pSpellCels = std::nullopt; pPanelButtons = std::nullopt; multiButtons = std::nullopt; @@ -1313,6 +1299,7 @@ void FreeControlPan() pSBkBtnCel = std::nullopt; pSBkIconCels = std::nullopt; pGBoxBuff = std::nullopt; + FreeCharPanel(); } void DrawInfoBox(const Surface &out) @@ -1397,7 +1384,7 @@ void DrawLevelUpIcon(const Surface &out) { if (stextflag == STORE_NONE) { int nCel = lvlbtndown ? 3 : 2; - DrawString(out, _("Level Up"), { { PANEL_LEFT + 0, PANEL_TOP - 49 }, { 120, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter); + DrawString(out, _("Level Up"), { { PANEL_LEFT + 0, PANEL_TOP - 62 }, { 120, 0 } }, UiFlags::ColorSilver | UiFlags::AlignCenter); CelDrawTo(out, { 40 + PANEL_X, -17 + PANEL_Y }, *pChrButtons, nCel); } } @@ -1512,13 +1499,13 @@ void DrawSpellBook(const Surface &out) auto &myPlayer = Players[MyPlayerId]; uint64_t spl = myPlayer._pMemSpells | myPlayer._pISpells | myPlayer._pAblSpells; - int yp = 55; + int yp = 43; for (int i = 1; i < 8; i++) { spell_id sn = SpellPages[sbooktab][i - 1]; if (sn != SPL_INVALID && (spl & GetSpellBitmask(sn)) != 0) { spell_type st = GetSBookTrans(sn, true); SetSpellTrans(st); - const Point spellCellPosition = GetPanelPosition(UiPanels::Spell, { 11, yp }); + const Point spellCellPosition = GetPanelPosition(UiPanels::Spell, { 11, yp + 12 }); DrawSpellCel(out, spellCellPosition, *pSBkIconCels, SpellITbl[sn]); if (sn == myPlayer._pRSpell && st == myPlayer._pRSplType) { SetSpellTrans(RSPLTYPE_SKILL); @@ -1612,12 +1599,12 @@ void DrawGoldSplit(const Surface &out, int amount) tempstr[BufferSize - 1] = '\0'; // Pre-wrap the string at spaces, otherwise DrawString would hard wrap in the middle of words - WordWrapGameString(tempstr, 200); + WordWrapString(tempstr, 200); // The split gold dialog is roughly 4 lines high, but we need at least one line for the player to input an amount. // Using a clipping region 50 units high (approx 3 lines with a lineheight of 17) to ensure there is enough room left // for the text entered by the player. - DrawString(out, tempstr, { GetPanelPosition(UiPanels::Inventory, { dialogX + 31, 87 }), { 200, 50 } }, UiFlags::ColorGold | UiFlags::AlignCenter, 1, 17); + DrawString(out, tempstr, { GetPanelPosition(UiPanels::Inventory, { dialogX + 31, 75 }), { 200, 50 } }, UiFlags::ColorGold | UiFlags::AlignCenter, 1, 17); tempstr[0] = '\0'; if (amount > 0) { @@ -1626,7 +1613,7 @@ void DrawGoldSplit(const Surface &out, int amount) } // Even a ten digit amount of gold only takes up about half a line. There's no need to wrap or clip text here so we // use the Point form of DrawString. - DrawString(out, tempstr, GetPanelPosition(UiPanels::Inventory, { dialogX + 37, 140 }), UiFlags::ColorSilver, 1, -1, true); + DrawString(out, tempstr, GetPanelPosition(UiPanels::Inventory, { dialogX + 37, 128 }), UiFlags::ColorSilver | UiFlags::PentaCursor); } void control_drop_gold(char vkey) @@ -1683,9 +1670,9 @@ void DrawTalkPan(const Surface &out) char *msg = TalkMessage; int x = PANEL_LEFT + 200; - int y = PANEL_Y + 22; + int y = PANEL_Y + 10; - int idx = DrawString(out, msg, { { x, y }, { 250, 39 } }, UiFlags::ColorSilver, 1, 13, true); + int idx = DrawString(out, msg, { { x, y }, { 250, 27 } }, UiFlags::ColorSilver | UiFlags::PentaCursor, 1, 13); msg[idx] = '\0'; x += 46; diff --git a/Source/controls/modifier_hints.cpp b/Source/controls/modifier_hints.cpp index c44cde4c7..8ab376821 100644 --- a/Source/controls/modifier_hints.cpp +++ b/Source/controls/modifier_hints.cpp @@ -29,7 +29,7 @@ constexpr int LineHeight = 25; constexpr int CircleMarginX = 16; /** Distance between the panel top and the circle top. */ -constexpr int CircleTop = 76; +constexpr int CircleTop = 101; struct CircleMenuHint { CircleMenuHint(bool isDpad, const char *top, const char *right, const char *bottom, const char *left) diff --git a/Source/diablo.cpp b/Source/diablo.cpp index e42776052..87164b478 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -1006,6 +1006,7 @@ void DiabloDeinit() dx_cleanup(); // Cleanup SDL surfaces stuff, so we have to do it before SDL_Quit(). if (was_fonts_init) FontsCleanup(); + UnloadFonts(); if (SDL_WasInit(SDL_INIT_EVERYTHING & ~SDL_INIT_HAPTIC) != 0) SDL_Quit(); } @@ -1509,6 +1510,18 @@ void InitKeymapActions() }); } +void LoadGameFonts() +{ + LoadFont(GameFont12, ColorSilver, "fonts\\white.trn"); + LoadFont(GameFont12, ColorGold, "fonts\\whitegold.trn"); + LoadFont(GameFont12, ColorRed, "fonts\\red.trn"); + LoadFont(GameFont12, ColorBlue, "fonts\\blue.trn"); + LoadFont(GameFont12, ColorBlack, "fonts\\black.trn"); + LoadFont(GameFont30, ColorGold); + LoadFont(GameFont46, ColorGold); + LoadFont(GameFont46, ColorBlack, "fonts\\black.trn"); +} + } // namespace void FreeGameMem() @@ -1542,6 +1555,7 @@ bool StartGame(bool bNewGame, bool bSinglePlayer) // Save 2.8 MiB of RAM by freeing all main menu resources // before starting the game. UiDestroy(); + LoadGameFonts(); gbSelectProvider = false; @@ -1557,6 +1571,7 @@ bool StartGame(bool bNewGame, bool bSinglePlayer) } RunGameLoop(uMsg); NetClose(); + UnloadFonts(); // If the player left the game into the main menu, // initialize main menu resources. @@ -1825,7 +1840,6 @@ void LoadGameLevel(bool firstflag, lvl_entry lvldir) InitStores(); InitAutomapOnce(); InitHelp(); - InitText(); } SetRndSeed(glSeedTbl[currlevel]); diff --git a/Source/engine/render/text_render.cpp b/Source/engine/render/text_render.cpp index bd435b6b9..3579fb0e4 100644 --- a/Source/engine/render/text_render.cpp +++ b/Source/engine/render/text_render.cpp @@ -5,196 +5,60 @@ */ #include "text_render.hpp" +#include +#include +#include + +#include "DiabloUI/art_draw.h" +#include "DiabloUI/diabloui.h" #include "DiabloUI/ui_item.h" #include "cel_render.hpp" #include "engine.h" #include "engine/load_cel.hpp" +#include "engine/load_file.hpp" #include "engine/point.hpp" #include "palette.h" +#include "utils/display.h" +#include "utils/sdl_compat.h" namespace devilution { namespace { -/** - * Maps ASCII character code to font index, as used by the - * small, medium and large sized fonts; which corresponds to smaltext.cel, - * medtexts.cel and bigtgold.cel respectively. - */ -const uint8_t FontIndex[256] = { - // clang-format off - '\0', 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, - ' ', '!', '\"', '#', '$', '%', '&', '\'', '(', ')', '*', '+', ',', '-', '.', '/', - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', - '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', - 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', - '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', - 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~', 0x01, - 'C', 'u', 'e', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'i', 'i', 'i', 'A', 'A', - 'E', 'a', 'A', 'o', 'o', 'o', 'u', 'u', 'y', 'O', 'U', 'c', 'L', 'Y', 'P', 'f', - 'a', 'i', 'o', 'u', 'n', 'N', 'a', 'o', '?', 0x01, 0x01, 0x01, 0x01, '!', '<', '>', - 'o', '+', '2', '3', '\'', 'u', 'P', '.', ',', '1', '0', '>', 0x01, 0x01, 0x01, '?', - 'A', 'A', 'A', 'A', 'A', 'A', 'A', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', - 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'X', '0', 'U', 'U', 'U', 'U', 'Y', 'b', 'B', - 'a', 'a', 'a', 'a', 'a', 'a', 'a', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', - 'o', 'n', 'o', 'o', 'o', 'o', 'o', '/', '0', 'u', 'u', 'u', 'u', 'y', 'b', 'y', - // clang-format on -}; - -/** Maps from font index to cel frame number. */ -const uint8_t FontFrame[3][128] = { - { - // clang-format off - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 44, 57, 58, 56, 55, 47, 40, 41, 59, 39, 50, 37, 51, 52, - 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 48, 49, 60, 38, 61, 53, - 62, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 42, 63, 43, 64, 65, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 40, 66, 41, 67, 0, - // clang-format on - }, - { - // clang-format off - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 49, 38, 0, 39, 40, 47, 42, 43, 41, 45, 52, 44, 53, 55, - 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 50, 48, 46, 49, 54, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 42, 0, 43, 0, 0, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 48, 0, 49, 0, 0, - // clang-format on - }, - { - // clang-format off - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 37, 49, 38, 0, 39, 40, 47, 42, 43, 41, 45, 52, 44, 53, 55, - 36, 27, 28, 29, 30, 31, 32, 33, 34, 35, 51, 50, 0, 46, 0, 54, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 42, 0, 43, 0, 0, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 20, 0, 21, 0, 0, - // clang-format on - }, -}; - -/** - * Maps from cel frame number to character width. Note, the character width - * may be distinct from the frame width, which is the same for every cel frame. - */ -const uint8_t FontKern[3][68] = { - { - // clang-format off - 8, 10, 7, 9, 8, 7, 6, 8, 8, 3, - 3, 8, 6, 11, 9, 10, 6, 9, 9, 6, - 9, 11, 10, 13, 10, 11, 7, 5, 7, 7, - 8, 7, 7, 7, 7, 7, 10, 4, 5, 6, - 3, 3, 4, 3, 6, 6, 3, 3, 3, 3, - 3, 2, 7, 6, 3, 10, 10, 6, 6, 7, - 4, 4, 9, 6, 6, 12, 3, 7 - // clang-format on - }, - { - // clang-format off - 5, 15, 10, 13, 14, 10, 9, 13, 11, 5, - 5, 11, 10, 16, 13, 16, 10, 15, 12, 10, - 14, 17, 17, 22, 17, 16, 11, 5, 11, 11, - 11, 10, 11, 11, 11, 11, 15, 5, 10, 18, - 15, 8, 6, 6, 7, 10, 9, 6, 10, 10, - 5, 5, 5, 5, 11, 12 - // clang-format on - }, - { - // clang-format off - 18, 33, 21, 26, 28, 19, 19, 26, 25, 11, - 12, 25, 19, 34, 28, 32, 20, 32, 28, 20, - 28, 36, 35, 46, 33, 33, 24, 11, 23, 22, - 22, 21, 22, 21, 21, 21, 32, 10, 20, 36, - 31, 17, 13, 12, 13, 18, 16, 11, 20, 21, - 11, 10, 12, 11, 21, 23 - // clang-format on - } -}; +std::unordered_map> Fonts; -enum text_color : uint8_t { - ColorWhite, - ColorBlue, - ColorRed, - ColorGold, - ColorBlack, -}; +std::array, 5> FontKerns; +std::array FontSizes = { 12, 24, 30, 42, 46 }; +std::array LineHeights = { 12, 26, 38, 42, 50 }; +std::array BaseLineOffset = { -3, -2, -3, -6, -7 }; -int LineHeights[3] = { 12, 38, 50 }; +} // namespace -/** Graphics for the fonts */ -std::array, 3> fonts; +void LoadFont(GameFontTables size, text_color color, const char *translationFile) +{ + auto font = std::make_unique(); -uint8_t fontColorTableGold[256]; -uint8_t fontColorTableBlue[256]; -uint8_t fontColorTableRed[256]; + char path[32]; + sprintf(path, "fonts\\%i-00.pcx", FontSizes[size]); -void DrawChar(const Surface &out, Point position, GameFontTables size, int nCel, text_color color) -{ - switch (color) { - case ColorWhite: - CelDrawTo(out, position, *fonts[size], nCel); - return; - case ColorBlue: - CelDrawLightTo(out, position, *fonts[size], nCel, fontColorTableBlue); - break; - case ColorRed: - CelDrawLightTo(out, position, *fonts[size], nCel, fontColorTableRed); - break; - case ColorGold: - CelDrawLightTo(out, position, *fonts[size], nCel, fontColorTableGold); - break; - case ColorBlack: - LightTableIndex = 15; - CelDrawLightTo(out, position, *fonts[size], nCel, nullptr); - return; + if (translationFile != nullptr) { + std::array colorMapping; + LoadFileInMem(translationFile, colorMapping); + LoadMaskedArt(path, font.get(), 256, 1, &colorMapping); + } else { + LoadMaskedArt(path, font.get(), 256, 1); } -} -} // namespace + uint32_t fontId = (color << 24) | (size << 16); + Fonts.insert(make_pair(fontId, move(font))); -std::optional pSPentSpn2Cels; + sprintf(path, "fonts\\%i-00.bin", FontSizes[size]); + LoadFileInMem(path, FontKerns[size]); +} -void InitText() +void UnloadFonts() { - fonts[GameFontSmall] = LoadCel("CtrlPan\\SmalText.CEL", 13); - fonts[GameFontMed] = LoadCel("Data\\MedTextS.CEL", 22); - fonts[GameFontBig] = LoadCel("Data\\BigTGold.CEL", 46); - - pSPentSpn2Cels = LoadCel("Data\\PentSpn2.CEL", 12); - - for (int i = 0; i < 256; i++) { - uint8_t pix = i; - if (pix >= PAL16_GRAY + 14) - pix = PAL16_BLUE + 15; - else if (pix >= PAL16_GRAY) - pix -= PAL16_GRAY - (PAL16_BLUE + 2); - fontColorTableBlue[i] = pix; - } - - for (int i = 0; i < 256; i++) { - uint8_t pix = i; - if (pix >= PAL16_GRAY) - pix -= PAL16_GRAY - PAL16_RED; - fontColorTableRed[i] = pix; - } - - for (int i = 0; i < 256; i++) { - uint8_t pix = i; - if (pix >= PAL16_GRAY + 14) - pix = PAL16_YELLOW + 15; - else if (pix >= PAL16_GRAY) - pix -= PAL16_GRAY - (PAL16_YELLOW + 2); - fontColorTableGold[i] = pix; - } + Fonts.clear(); } int GetLineWidth(string_view text, GameFontTables size, int spacing, int *charactersInLine) @@ -206,8 +70,8 @@ int GetLineWidth(string_view text, GameFontTables size, int spacing, int *charac if (text[i] == '\n') break; - uint8_t frame = FontFrame[size][FontIndex[static_cast(text[i])]]; - lineWidth += FontKern[size][frame] + spacing; + uint8_t frame = text[i] & 0xFF; + lineWidth += FontKerns[size][frame] + spacing; } if (charactersInLine != nullptr) @@ -227,7 +91,7 @@ int AdjustSpacingToFitHorizontally(int &lineWidth, int maxSpacing, int character return maxSpacing - spacingRedux; } -void WordWrapGameString(char *text, size_t width, GameFontTables size, int spacing) +void WordWrapString(char *text, size_t width, GameFontTables size, int spacing) { const size_t textLength = strlen(text); size_t lineStart = 0; @@ -239,8 +103,8 @@ void WordWrapGameString(char *text, size_t width, GameFontTables size, int spaci continue; } - uint8_t frame = FontFrame[size][FontIndex[static_cast(text[i])]]; - lineWidth += FontKern[size][frame] + spacing; + uint8_t frame = text[i] & 0xFF; + lineWidth += FontKerns[size][frame] + spacing; if (lineWidth - spacing <= width) { continue; // String is still within the limit, continue to the next line @@ -270,17 +134,21 @@ void WordWrapGameString(char *text, size_t width, GameFontTables size, int spaci /** * @todo replace Rectangle with cropped Surface */ -uint16_t DrawString(const Surface &out, string_view text, const Rectangle &rect, UiFlags flags, int spacing, int lineHeight, bool drawTextCursor) +uint32_t DrawString(const Surface &out, string_view text, const Rectangle &rect, UiFlags flags, int spacing, int lineHeight) { - GameFontTables size = GameFontSmall; - if (HasAnyOf(flags, UiFlags::FontMedium)) - size = GameFontMed; - else if (HasAnyOf(flags, UiFlags::FontHuge)) - size = GameFontBig; + GameFontTables size = GameFont12; + if (HasAnyOf(flags, UiFlags::FontSize24)) + size = GameFont24; + else if (HasAnyOf(flags, UiFlags::FontSize30)) + size = GameFont30; + else if (HasAnyOf(flags, UiFlags::FontSize42)) + size = GameFont42; + else if (HasAnyOf(flags, UiFlags::FontSize46)) + size = GameFont46; text_color color = ColorGold; if (HasAnyOf(flags, UiFlags::ColorSilver)) - color = ColorWhite; + color = ColorSilver; else if (HasAnyOf(flags, UiFlags::ColorBlue)) color = ColorBlue; else if (HasAnyOf(flags, UiFlags::ColorRed)) @@ -303,17 +171,31 @@ uint16_t DrawString(const Surface &out, string_view text, const Rectangle &rect, else if (HasAnyOf(flags, UiFlags::AlignRight)) characterPosition.x += rect.size.width - lineWidth; - int rightMargin = rect.position.x + rect.size.width; int bottomMargin = rect.size.height != 0 ? rect.position.y + rect.size.height : out.h(); if (lineHeight == -1) lineHeight = LineHeights[size]; - uint16_t i = 0; + if (HasAnyOf(flags, UiFlags::VerticalCenter)) { + int textHeight = (std::count(text.cbegin(), text.cend(), '\n') + 1) * lineHeight; + characterPosition.y += (rect.size.height - textHeight) / 2; + } + + characterPosition.y += BaseLineOffset[size]; + + uint32_t fontId = (color << 24) | (size << 16); + auto font = Fonts.find(fontId); + if (font == Fonts.end()) { + Log("Font: size {} and color {} not loaded ", size, color); + return 0; + } + + const auto &activeFont = font->second; + + uint32_t i = 0; for (; i < text.length(); i++) { - uint8_t frame = FontFrame[size][FontIndex[static_cast(text[i])]]; - int symbolWidth = FontKern[size][frame]; - if (text[i] == '\n' || characterPosition.x + symbolWidth > rightMargin) { + uint8_t frame = text[i] & 0xFF; + if (text[i] == '\n') { if (characterPosition.y + lineHeight >= bottomMargin) break; characterPosition.y += lineHeight; @@ -330,14 +212,14 @@ uint16_t DrawString(const Surface &out, string_view text, const Rectangle &rect, else if (HasAnyOf(flags, UiFlags::AlignRight)) characterPosition.x += rect.size.width - lineWidth; } - if (frame != 0) { - DrawChar(out, characterPosition, size, frame, color); - } + DrawArt(out, characterPosition, activeFont.get(), frame); if (text[i] != '\n') - characterPosition.x += symbolWidth + spacing; + characterPosition.x += FontKerns[size][frame] + spacing; } - if (drawTextCursor) { - CelDrawTo(out, characterPosition, *pSPentSpn2Cels, PentSpn2Spin()); + if (HasAnyOf(flags, UiFlags::PentaCursor)) { + CelDrawTo(out, characterPosition + Displacement { 0, lineHeight - BaseLineOffset[size] }, *pSPentSpn2Cels, PentSpn2Spin()); + } else if (HasAnyOf(flags, UiFlags::TextCursor) && GetAnimationFrame(2, 500) != 0) { + DrawArt(out, characterPosition, activeFont.get(), '|'); } return i; diff --git a/Source/engine/render/text_render.hpp b/Source/engine/render/text_render.hpp index d96337b66..9446c2dc5 100644 --- a/Source/engine/render/text_render.hpp +++ b/Source/engine/render/text_render.hpp @@ -19,14 +19,24 @@ namespace devilution { enum GameFontTables : uint8_t { - GameFontSmall, - GameFontMed, - GameFontBig, + GameFont12, + GameFont24, + GameFont30, + GameFont42, + GameFont46, +}; + +enum text_color : uint8_t { + ColorSilver, + ColorGold, + ColorRed, + ColorBlue, + ColorBlack, }; extern std::optional pSPentSpn2Cels; -void InitText(); +void LoadFont(GameFontTables size, text_color color, const char *translationFile = nullptr); /** * @brief Calculate pixel width of first line of text, respecting kerning @@ -36,8 +46,8 @@ void InitText(); * @param charactersInLine Receives characters read until newline or terminator * @return Line width in pixels */ -int GetLineWidth(string_view text, GameFontTables size = GameFontSmall, int spacing = 1, int *charactersInLine = nullptr); -void WordWrapGameString(char *text, size_t width, GameFontTables size = GameFontSmall, int spacing = 1); +int GetLineWidth(string_view text, GameFontTables size = GameFont12, int spacing = 1, int *charactersInLine = nullptr); +void WordWrapString(char *text, size_t width, GameFontTables size = GameFont12, int spacing = 1); /** * @brief Draws a line of text within a clipping rectangle (positioned relative to the origin of the output buffer). @@ -56,16 +66,14 @@ void WordWrapGameString(char *text, size_t width, GameFontTables size = GameFont * @param spacing Additional space to add between characters. * This value may be adjusted if the flag UIS_FIT_SPACING is passed in the flags parameter. * @param lineHeight Allows overriding the default line height, useful for multi-line strings. - * @param drawTextCursor Whether to draw an animated cursor sprite at the end of the text (default is to display nothing). * @return The number of characters rendered, including characters "drawn" outside the buffer. */ -uint16_t DrawString(const Surface &out, string_view text, const Rectangle &rect, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1, bool drawTextCursor = false); +uint32_t DrawString(const Surface &out, string_view text, const Rectangle &rect, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1); /** * @brief Draws a line of text at the given position relative to the origin of the output buffer. * * This method is provided as a convenience to pass through to DrawString(..., Rectangle, ...) when no explicit - * clipping/wrapping is requested. Note that this will still wrap the rendered string if it would end up being drawn * beyond the right edge of the output buffer and clip it if it would extend beyond the bottom edge of the buffer. * @@ -76,14 +84,13 @@ uint16_t DrawString(const Surface &out, string_view text, const Rectangle &rect, * @param spacing Additional space to add between characters. * This value may be adjusted if the flag UIS_FIT_SPACING is passed in the flags parameter. * @param lineHeight Allows overriding the default line height, useful for multi-line strings. - * @param drawTextCursor Whether to draw an animated cursor sprite at the end of the text (default is to display nothing). - * @return The number of characters rendered (could be less than the string length if it wrapped past the bottom of the buffer). */ -inline uint16_t DrawString(const Surface &out, string_view text, const Point &position, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1, bool drawTextCursor = false) +inline void DrawString(const Surface &out, string_view text, const Point &position, UiFlags flags = UiFlags::None, int spacing = 1, int lineHeight = -1) { - return DrawString(out, text, { position, { out.w() - position.x, 0 } }, flags, spacing, lineHeight, drawTextCursor); + DrawString(out, text, { position, { out.w() - position.x, 0 } }, flags, spacing, lineHeight); } uint8_t PentSpn2Spin(); +void UnloadFonts(); } // namespace devilution diff --git a/Source/engine/size.hpp b/Source/engine/size.hpp index 61310862f..69421da30 100644 --- a/Source/engine/size.hpp +++ b/Source/engine/size.hpp @@ -16,6 +16,20 @@ struct Size { return !(*this == other); } + constexpr Size &operator*=(const int factor) + { + width *= factor; + height *= factor; + return *this; + } + + constexpr Size &operator*=(const float factor) + { + width = static_cast(width * factor); + height = static_cast(height * factor); + return *this; + } + constexpr Size &operator/=(const int factor) { width /= factor; diff --git a/Source/error.cpp b/Source/error.cpp index 075548cb2..5e05f422b 100644 --- a/Source/error.cpp +++ b/Source/error.cpp @@ -35,7 +35,7 @@ void InitNextLines() char tempstr[1536]; // Longest test is about 768 chars * 2 for unicode strcpy(tempstr, message.data()); - WordWrapGameString(tempstr, LineWidth, GameFontSmall, 1); + WordWrapString(tempstr, LineWidth, GameFont12, 1); const string_view paragraphs = tempstr; size_t previous = 0; @@ -172,7 +172,7 @@ void DrawDiabloMsg(const Surface &out) auto message = DiabloMessages.front(); int lineNumber = 0; for (auto &line : TextLines) { - DrawString(out, line.c_str(), { { PANEL_X + 109, dialogStartY + 24 + lineNumber * LineHeight }, { LineWidth, LineHeight } }, UiFlags::AlignCenter, 1, LineHeight); + DrawString(out, line.c_str(), { { PANEL_X + 109, dialogStartY + 12 + lineNumber * LineHeight }, { LineWidth, LineHeight } }, UiFlags::AlignCenter, 1, LineHeight); lineNumber += 1; } diff --git a/Source/gmenu.cpp b/Source/gmenu.cpp index 589ee1c49..b62e356fe 100644 --- a/Source/gmenu.cpp +++ b/Source/gmenu.cpp @@ -96,7 +96,7 @@ int GmenuGetLineWidth(TMenuItem *pItem) if ((pItem->dwFlags & GMENU_SLIDER) != 0) return 490; - return GetLineWidth(_(pItem->pszStr), GameFontBig, 2); + return GetLineWidth(_(pItem->pszStr), GameFont46, 2); } void GmenuDrawMenuItem(const Surface &out, TMenuItem *pItem, int y) @@ -104,20 +104,20 @@ void GmenuDrawMenuItem(const Surface &out, TMenuItem *pItem, int y) int w = GmenuGetLineWidth(pItem); if ((pItem->dwFlags & GMENU_SLIDER) != 0) { int x = 16 + w / 2; - CelDrawTo(out, { x + PANEL_LEFT, y - 10 }, *optbar_cel, 1); + CelDrawTo(out, { x + PANEL_LEFT, y + 40 }, *optbar_cel, 1); uint16_t step = pItem->dwFlags & 0xFFF; uint16_t steps = std::max((pItem->dwFlags & 0xFFF000) >> 12, 2); uint16_t pos = step * 256 / steps; - GmenuClearBuffer(out, x + 2 + PANEL_LEFT, y - 12, pos + 13, 28); - CelDrawTo(out, { x + 2 + pos + PANEL_LEFT, y - 12 }, *option_cel, 1); + GmenuClearBuffer(out, x + 2 + PANEL_LEFT, y + 38, pos + 13, 28); + CelDrawTo(out, { x + 2 + pos + PANEL_LEFT, y + 38 }, *option_cel, 1); } int x = (gnScreenWidth - w) / 2; - UiFlags style = (pItem->dwFlags & GMENU_ENABLED) != 0 ? UiFlags::ColorSilver : UiFlags::ColorBlack; - DrawString(out, _(pItem->pszStr), Point { x, y }, style | UiFlags::FontHuge, 2); + UiFlags style = (pItem->dwFlags & GMENU_ENABLED) != 0 ? UiFlags::ColorGold : UiFlags::ColorBlack; + DrawString(out, _(pItem->pszStr), Point { x, y }, style | UiFlags::FontSize46, 2); if (pItem == sgpCurrItem) { - CelDrawTo(out, { x - 54, y + 1 }, *PentSpin_cel, PentSpn2Spin()); - CelDrawTo(out, { x + 4 + w, y + 1 }, *PentSpin_cel, PentSpn2Spin()); + CelDrawTo(out, { x - 54, y + 51 }, *PentSpin_cel, PentSpn2Spin()); + CelDrawTo(out, { x + 4 + w, y + 51 }, *PentSpin_cel, PentSpn2Spin()); } } @@ -163,7 +163,7 @@ void gmenu_draw_pause(const Surface &out) RedBack(out); if (sgpCurrentMenu == nullptr) { LightTableIndex = 0; - DrawString(out, _("Pause"), Point { 0, PANEL_TOP / 2 }, UiFlags::FontHuge | UiFlags::AlignCenter, 2); + DrawString(out, _("Pause"), { { 0, 0 }, { gnScreenWidth, PANEL_TOP } }, UiFlags::FontSize46 | UiFlags::AlignCenter | UiFlags::VerticalCenter, 2); } } @@ -233,7 +233,7 @@ void gmenu_draw(const Surface &out) } } CelDrawTo(out, { (gnScreenWidth - sgpLogo->Width()) / 2, 102 + UI_OFFSET_Y }, *sgpLogo, LogoAnim_frame); - int y = 160 + UI_OFFSET_Y; + int y = 110 + UI_OFFSET_Y; TMenuItem *i = sgpCurrentMenu; if (sgpCurrentMenu->fnMenu != nullptr) { while (i->fnMenu != nullptr) { diff --git a/Source/help.cpp b/Source/help.cpp index 0ae81c0cf..3b302e548 100644 --- a/Source/help.cpp +++ b/Source/help.cpp @@ -106,7 +106,7 @@ void InitHelp() for (const auto *text : HelpText) { strcpy(tempString, _(text)); - WordWrapGameString(tempString, 577); + WordWrapString(tempString, 577); const string_view paragraph = tempString; size_t previous = 0; @@ -137,8 +137,8 @@ void DrawHelp(const Surface &out) const int sx = PANEL_X + 32; const int sy = UI_OFFSET_Y + 51; - for (int i = 7; i < 22; i++) { - const char *line = HelpTextLines[i - 7 + SkipLines].c_str(); + for (int i = 6; i < 21; i++) { + const char *line = HelpTextLines[i - 6 + SkipLines].c_str(); if (line[0] == '\0') { continue; } diff --git a/Source/inv.cpp b/Source/inv.cpp index d6d472c25..f27e93711 100644 --- a/Source/inv.cpp +++ b/Source/inv.cpp @@ -1248,7 +1248,7 @@ void DrawInvBelt(const Surface &out) && myPlayer.SpdList[i]._iStatFlag && myPlayer.SpdList[i]._itype != ITYPE_GOLD) { snprintf(tempstr, sizeof(tempstr) / sizeof(*tempstr), "%i", i + 1); - DrawString(out, tempstr, { position, InventorySlotSizeInPixels }, UiFlags::ColorSilver | UiFlags::AlignRight); + DrawString(out, tempstr, { position - Displacement { 0, 12 }, InventorySlotSizeInPixels }, UiFlags::ColorSilver | UiFlags::AlignRight); } } } diff --git a/Source/items.cpp b/Source/items.cpp index 44da1b2b3..84c0fdb1b 100644 --- a/Source/items.cpp +++ b/Source/items.cpp @@ -1121,7 +1121,7 @@ int SaveItemPower(Item &item, const ItemPower &power) bool StringInPanel(const char *str) { - return GetLineWidth(str, GameFontSmall, 0) < 125; + return GetLineWidth(str, GameFont12, 0) < 125; } int PLVal(int pv, int p1, int p2, int minv, int maxv) @@ -4130,7 +4130,7 @@ void DrawUniqueInfo(const Surface &out) DrawUniqueInfoWindow(GlobalBackBuffer()); - Rectangle rect { { 32 + RightPanel.position.x - SPANEL_WIDTH, 44 + RightPanel.position.y + 2 * 12 }, { 257, 0 } }; + Rectangle rect { { 32 + RightPanel.position.x - SPANEL_WIDTH, 44 + RightPanel.position.y + 12 }, { 257, 0 } }; const UniqueItem &uitem = UniqueItems[curruitem._iUid]; DrawString(out, _(uitem.UIName), rect, UiFlags::AlignCenter); diff --git a/Source/minitext.cpp b/Source/minitext.cpp index 925a3f0f3..d52eb31ad 100644 --- a/Source/minitext.cpp +++ b/Source/minitext.cpp @@ -44,7 +44,7 @@ void LoadText(const char *text) char tempstr[1536]; // Longest test is about 768 chars * 2 for unicode strcpy(tempstr, text); - WordWrapGameString(tempstr, 543, GameFontMed, 2); + WordWrapString(tempstr, 543, GameFont30); const string_view paragraphs = tempstr; size_t previous = 0; @@ -102,7 +102,7 @@ void DrawQTextContent(const Surface &out) int y = CalculateTextPosition(); const int sx = PANEL_X + 48; - const int sy = LineHeight / 2 - (y % LineHeight); + const int sy = 0 - (y % LineHeight); const unsigned int skipLines = y / LineHeight; @@ -117,7 +117,7 @@ void DrawQTextContent(const Surface &out) continue; } - DrawString(out, line, { { sx, sy + i * LineHeight }, { 543, LineHeight } }, UiFlags::FontMedium, 2); + DrawString(out, line, { { sx, sy + i * LineHeight }, { 543, LineHeight } }, UiFlags::FontSize30); } } diff --git a/Source/palette.cpp b/Source/palette.cpp index e1f2f60fc..ffa7b9cde 100644 --- a/Source/palette.cpp +++ b/Source/palette.cpp @@ -160,10 +160,10 @@ void CycleColorsReverse(int from, int to) } // namespace -void palette_update() +void palette_update(int first, int ncolor) { assert(Palette); - if (SDLC_SetSurfaceAndPaletteColors(pal_surface, Palette, system_palette, 0, 256) < 0) { + if (SDLC_SetSurfaceAndPaletteColors(pal_surface, Palette, system_palette, first, ncolor) < 0) { ErrSdl(); } pal_surface_palette_version++; @@ -345,7 +345,7 @@ void PaletteFadeOut(int fr) void palette_update_caves() { CycleColors(1, 31); - palette_update(); + palette_update(1, 31); } void palette_update_crypt() @@ -361,7 +361,7 @@ void palette_update_crypt() } if (glowDelay > 0) { CycleColorsReverse(16, 31); - palette_update(); + palette_update(1, 31); glowDelay++; } else { glowDelay = 1; @@ -381,7 +381,7 @@ void palette_update_hive() } if (bubbleDelay == 2) { CycleColorsReverse(9, 15); - palette_update(); + palette_update(1, 31); bubbleDelay = 0; } else { bubbleDelay++; @@ -393,7 +393,7 @@ void palette_update_quest_palette(int n) int i = 32 - n; logical_palette[i] = orig_palette[i]; ApplyGamma(system_palette, logical_palette, 32); - palette_update(); + palette_update(0, 31); if (sgOptions.Graphics.bBlendedTransparancy) { // Update blended transparency, but only for the color that was updated for (int j = 0; j < 256; j++) { diff --git a/Source/palette.h b/Source/palette.h index a08da11ee..716806b2c 100644 --- a/Source/palette.h +++ b/Source/palette.h @@ -35,7 +35,7 @@ extern SDL_Color orig_palette[256]; /** Lookup table for transparency */ extern Uint8 paletteTransparencyLookup[256][256]; -void palette_update(); +void palette_update(int first = 0, int ncolor = 256); void palette_init(); void LoadPalette(const char *pszFileName, bool blend = true); void LoadRndLvlPal(dungeon_type l); diff --git a/Source/panels/charpanel.cpp b/Source/panels/charpanel.cpp index 6c8dd50be..765546dcf 100644 --- a/Source/panels/charpanel.cpp +++ b/Source/panels/charpanel.cpp @@ -7,6 +7,7 @@ #include "DiabloUI/art_draw.h" #include "control.h" +#include "utils/display.h" #include "engine/render/cel_render.hpp" #include "engine/render/text_render.hpp" #include "utils/language.h" @@ -36,17 +37,8 @@ struct PanelEntry { std::string label; Point position; int length; - Displacement labelOffset; // label's offset (end of the label vs the beginning of the stat box) - int labelLength; // max label's length - used for line wrapping - int labelSpacing; - int statSpacing; - bool centered; - /** - * Toggles whether the box should be using the 27px version or 26px. - * Must be set to true for stat boxes or they don't line up with the "spend stat" button - */ - bool high; - std::function statDisplayFunc; // function responsible for displaying stat + int labelLength; // max label's length - used for line wrapping + std::function statDisplayFunc = nullptr; // function responsible for displaying stat }; Player *MyPlayer = &Players[MyPlayerId]; @@ -120,112 +112,90 @@ StyledText GetResistInfo(int8_t resist) } PanelEntry panelEntries[] = { - { "", { 13, 14 }, 134, { 0, 0 }, 0, 0, 1, false, false, + { "", { 9, 14 }, 150, 0, []() { return StyledText { UiFlags::ColorSilver, MyPlayer->_pName }; } }, - { N_("Level"), { 57, 52 }, 45, { -3, 0 }, 0, 0, 1, false, false, - []() { return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pLevel) }; } }, + { "", { 161, 14 }, 149, 0, + []() { return StyledText { UiFlags::ColorSilver, _(ClassStrTbl[static_cast(MyPlayer->_pClass)]) }; } }, - { N_("Base"), { 88, 118 }, 33, { 39, 0 }, 0, 0, 0, false, false, - nullptr }, - { N_("Now"), { 135, 118 }, 33, { 39, 0 }, 0, 0, 0, false, false, - nullptr }, + { N_("Level"), { 57, 52 }, 57, 45, + []() { return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pLevel) }; } }, + { N_("Experience"), { 211, 52 }, 99, 91, + []() { return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pExperience) }; } }, + { N_("Next level"), { 211, 80 }, 99, 198, + []() { + if (MyPlayer->_pLevel == MAXCHARLEVEL - 1) { + return StyledText { UiFlags::ColorGold, _("None") }; + } else { + return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pNextExper) }; + } + } }, - { N_("Strength"), { 88, 137 }, 33, { -3, 0 }, 0, 0, 1, false, true, + { N_("Base"), { 88, 115 }, 0, 44 }, + { N_("Now"), { 135, 115 }, 0, 44 }, + { N_("Strength"), { 88, 135 }, 45, 76, []() { return StyledText { GetBaseStatColor(CharacterAttribute::Strength), fmt::format("{:d}", MyPlayer->_pBaseStr) }; } }, - { N_("Magic"), { 88, 165 }, 33, { -3, 0 }, 0, 0, 1, false, true, - []() { return StyledText { GetBaseStatColor(CharacterAttribute::Magic), fmt::format("{:d}", MyPlayer->_pBaseMag) }; } }, - { N_("Dexterity"), { 88, 193 }, 33, { -3, 0 }, 0, 0, 1, false, true, - []() { return StyledText { GetBaseStatColor(CharacterAttribute::Dexterity), fmt::format("{:d}", MyPlayer->_pBaseDex) }; } }, - { N_("Vitality"), { 88, 221 }, 33, { -3, 0 }, 0, 0, 1, false, true, - []() { return StyledText { GetBaseStatColor(CharacterAttribute::Vitality), fmt::format("{:d}", MyPlayer->_pBaseVit) }; } }, - - { "", { 135, 137 }, 33, { 0, 0 }, 0, 0, 1, false, true, + { "", { 135, 135 }, 45, 0, []() { return StyledText { GetCurrentStatColor(CharacterAttribute::Strength), fmt::format("{:d}", MyPlayer->_pStrength) }; } }, - { "", { 135, 165 }, 33, { 0, 0 }, 0, 0, 1, false, true, + { N_("Magic"), { 88, 163 }, 45, 76, + []() { return StyledText { GetBaseStatColor(CharacterAttribute::Magic), fmt::format("{:d}", MyPlayer->_pBaseMag) }; } }, + { "", { 135, 163 }, 45, 0, []() { return StyledText { GetCurrentStatColor(CharacterAttribute::Magic), fmt::format("{:d}", MyPlayer->_pMagic) }; } }, - { "", { 135, 193 }, 33, { 0, 0 }, 0, 0, 1, false, true, + { N_("Dexterity"), { 88, 191 }, 45, 76, []() { return StyledText { GetBaseStatColor(CharacterAttribute::Dexterity), fmt::format("{:d}", MyPlayer->_pBaseDex) }; } }, + { "", { 135, 191 }, 45, 0, []() { return StyledText { GetCurrentStatColor(CharacterAttribute::Dexterity), fmt::format("{:d}", MyPlayer->_pDexterity) }; } }, - { "", { 135, 221 }, 33, { 0, 0 }, 0, 0, 1, false, true, + { N_("Vitality"), { 88, 219 }, 45, 76, []() { return StyledText { GetBaseStatColor(CharacterAttribute::Vitality), fmt::format("{:d}", MyPlayer->_pBaseVit) }; } }, + { "", { 135, 219 }, 45, 0, []() { return StyledText { GetCurrentStatColor(CharacterAttribute::Vitality), fmt::format("{:d}", MyPlayer->_pVitality) }; } }, - - { N_("Points to distribute"), { 88, 250 }, 33, { -3, -5 }, 120, 0, 1, false, false, + { N_("Points to distribute"), { 88, 248 }, 45, 76, []() { MyPlayer->_pStatPts = std::min(CalcStatDiff(*MyPlayer), MyPlayer->_pStatPts); return StyledText { UiFlags::ColorRed, (MyPlayer->_pStatPts > 0 ? fmt::format("{:d}", MyPlayer->_pStatPts) : "") }; } }, - { N_("Life"), { 88, 287 }, 33, { -3, 0 }, 0, 0, 1, false, false, - []() { return StyledText { GetMaxHealthColor(), fmt::format("{:d}", MyPlayer->_pMaxHP >> 6) }; } }, - - { "", { 135, 287 }, 33, { 0, 0 }, 0, 0, 1, false, false, - []() { return StyledText { (MyPlayer->_pHitPoints != MyPlayer->_pMaxHP ? UiFlags::ColorRed : GetMaxHealthColor()), fmt::format("{:d}", MyPlayer->_pHitPoints >> 6) }; } }, - - { N_("Mana"), { 88, 315 }, 33, { -3, 0 }, 0, 0, 1, false, false, - []() { return StyledText { GetMaxManaColor(), fmt::format("{:d}", MyPlayer->_pMaxMana >> 6) }; } }, - - { "", { 135, 315 }, 33, { 0, 0 }, 0, 0, 1, false, false, - []() { return StyledText { (MyPlayer->_pMana != MyPlayer->_pMaxMana ? UiFlags::ColorRed : GetMaxManaColor()), fmt::format("{:d}", MyPlayer->_pMana >> 6) }; } }, - - { "", { 161, 14 }, 134, { 0, 0 }, 0, 0, 1, false, false, - []() { return StyledText { UiFlags::ColorSilver, _(ClassStrTbl[static_cast(MyPlayer->_pClass)]) }; } }, - - { N_("Experience"), { 208, 52 }, 87, { -3, 0 }, 0, 0, 1, false, false, - []() { return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pExperience) }; } }, - - { N_("Next level"), { 208, 80 }, 87, { -3, 0 }, 0, 0, 1, false, false, - []() { - if (MyPlayer->_pLevel == MAXCHARLEVEL - 1) { - return StyledText { UiFlags::ColorGold, _("None") }; - } else { - return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pNextExper) }; - } - } }, - - { N_("Gold"), { 208, 129 }, 87, { 0, -20 }, 0, 0, 1, true, false, + { N_("Gold"), { 211, 107 }, 0, 98 }, + { "", { 211, 127 }, 99, 0, []() { return StyledText { UiFlags::ColorSilver, fmt::format("{:d}", MyPlayer->_pGold) }; } }, - { N_("Armor class"), { 250, 166 }, 45, { -3, -5 }, 55, 0, 1, false, false, + { N_("Armor class"), { 253, 163 }, 57, 67, []() { return StyledText { GetValueColor(MyPlayer->_pIBonusAC), fmt::format("{:d}", MyPlayer->GetArmor()) }; } }, - - { N_("To hit"), { 250, 194 }, 45, { -3, 0 }, 0, 0, 1, false, false, + { N_("To hit"), { 253, 191 }, 57, 67, []() { return StyledText { GetValueColor(MyPlayer->_pIBonusToHit), fmt::format("{:d}%", (MyPlayer->InvBody[INVLOC_HAND_LEFT]._itype == ITYPE_BOW ? MyPlayer->GetRangedToHit() : MyPlayer->GetMeleeToHit())) }; } }, - - { N_("Damage"), { 250, 222 }, 45, { -3, 0 }, 0, 0, 0, false, false, + { N_("Damage"), { 253, 219 }, 57, 67, []() { std::pair dmg = GetDamage(); return StyledText { GetValueColor(MyPlayer->_pIBonusDam), fmt::format("{:d}-{:d}", dmg.first, dmg.second) }; } }, - { N_("Resist magic"), { 250, 259 }, 45, { -3, -5 }, 46, 1, 1, false, false, - []() { return GetResistInfo(MyPlayer->_pMagResist); } }, + { N_("Life"), { 88, 284 }, 45, 76, + []() { return StyledText { GetMaxHealthColor(), fmt::format("{:d}", MyPlayer->_pMaxHP >> 6) }; } }, + { "", { 135, 284 }, 45, 0, + []() { return StyledText { (MyPlayer->_pHitPoints != MyPlayer->_pMaxHP ? UiFlags::ColorRed : GetMaxHealthColor()), fmt::format("{:d}", MyPlayer->_pHitPoints >> 6) }; } }, + { N_("Mana"), { 88, 312 }, 45, 76, + []() { return StyledText { GetMaxManaColor(), fmt::format("{:d}", MyPlayer->_pMaxMana >> 6) }; } }, + { "", { 135, 312 }, 45, 0, + []() { return StyledText { (MyPlayer->_pMana != MyPlayer->_pMaxMana ? UiFlags::ColorRed : GetMaxManaColor()), fmt::format("{:d}", MyPlayer->_pMana >> 6) }; } }, - { N_("Resist fire"), { 250, 287 }, 45, { -3, -5 }, 46, 1, 1, false, false, + { N_("Resist magic"), { 253, 256 }, 57, 67, + []() { return GetResistInfo(MyPlayer->_pMagResist); } }, + { N_("Resist fire"), { 253, 284 }, 57, 67, []() { return GetResistInfo(MyPlayer->_pFireResist); } }, - - { N_("Resist lightning"), { 250, 315 }, 45, { -3, -5 }, 76, 0, 1, false, false, + { N_("Resist lightning"), { 253, 313 }, 57, 67, []() { return GetResistInfo(MyPlayer->_pLghtResist); } }, - }; -Art PanelParts[6]; +Art PanelBoxLeft; +Art PanelBoxMiddle; +Art PanelBoxRight; Art PanelFull; -void DrawPanelFieldLow(const Surface &out, Point pos, int len) -{ - DrawArt(out, pos, &PanelParts[0]); - pos.x += PanelParts[0].w(); - DrawArt(out, pos, &PanelParts[1], 0, len); - pos.x += len; - DrawArt(out, pos, &PanelParts[2]); -} - -void DrawPanelFieldHigh(const Surface &out, Point pos, int len) +void DrawPanelField(const Surface &out, Point pos, int len) { - DrawArt(out, pos, &PanelParts[3]); - pos.x += PanelParts[3].w(); - DrawArt(out, pos, &PanelParts[4], 0, len); + DrawArt(out, pos, &PanelBoxLeft); + pos.x += PanelBoxLeft.w(); + len -= PanelBoxLeft.w() + PanelBoxRight.w(); + DrawArt(out, pos, &PanelBoxMiddle, 0, len); pos.x += len; - DrawArt(out, pos, &PanelParts[5]); + DrawArt(out, pos, &PanelBoxRight); } void DrawShadowString(const Surface &out, const PanelEntry &entry) @@ -235,87 +205,83 @@ void DrawShadowString(const Surface &out, const PanelEntry &entry) std::string text_tmp = _(entry.label.c_str()); char buffer[32]; - int spacing = entry.labelSpacing; + int spacing = 0; strcpy(buffer, text_tmp.c_str()); if (entry.labelLength > 0) - WordWrapGameString(buffer, entry.labelLength, GameFontSmall, spacing); + WordWrapString(buffer, entry.labelLength, GameFont12, spacing); std::string text(buffer); - int width = GetLineWidth(text, GameFontSmall, spacing); - Point finalPos = { entry.position + Displacement { 0, 17 } + entry.labelOffset }; - if (entry.centered) - width = entry.length; - else - finalPos.x -= width; - - UiFlags style = UiFlags::AlignRight; - if (entry.centered) { - style = UiFlags::AlignCenter; - finalPos += Displacement { 7, 0 }; // left border + + UiFlags style = UiFlags::VerticalCenter; + + Point labelPosition = entry.position; + + if (entry.length == 0) { + style |= UiFlags::AlignCenter; + } else { + style |= UiFlags::AlignRight; + labelPosition += Displacement { -entry.labelLength - 3, 0 }; } - DrawString(out, text, { finalPos + Displacement { -2, 2 }, { width, 0 } }, style | UiFlags::ColorBlack, spacing, 10); - DrawString(out, text, { finalPos, { width, 0 } }, style | UiFlags::ColorSilver, spacing, 10); + + DrawString(out, text, { labelPosition + Displacement { -2, 2 }, { entry.labelLength, 20 } }, style | UiFlags::ColorBlack, spacing, 10); + DrawString(out, text, { labelPosition, { entry.labelLength, 20 } }, style | UiFlags::ColorSilver, spacing, 10); } +void DrawStatButtons(const Surface &out) +{ + if (MyPlayer->_pStatPts > 0) { + if (MyPlayer->_pBaseStr < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Strength)) + CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 157 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Strength)] ? 3 : 2); + if (MyPlayer->_pBaseMag < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Magic)) + CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 185 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Magic)] ? 5 : 4); + if (MyPlayer->_pBaseDex < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Dexterity)) + CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 214 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Dexterity)] ? 7 : 6); + if (MyPlayer->_pBaseVit < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Vitality)) + CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 242 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Vitality)] ? 9 : 8); + } +} + +} // namespace + void LoadCharPanel() { LoadArt("data\\charbg.pcx", &PanelFull); - LoadArt("data\\boxleftend26.pcx", &PanelParts[0]); - LoadArt("data\\boxmiddle26.pcx", &PanelParts[1]); - LoadArt("data\\boxrightend26.pcx", &PanelParts[2]); - LoadArt("data\\boxleftend27.pcx", &PanelParts[3]); - LoadArt("data\\boxmiddle27.pcx", &PanelParts[4]); - LoadArt("data\\boxrightend27.pcx", &PanelParts[5]); + UpdatePalette(&PanelFull); // PanelFull is being used as a render target + LoadArt("data\\boxleftend.pcx", &PanelBoxLeft); + LoadArt("data\\boxmiddle.pcx", &PanelBoxMiddle); + LoadArt("data\\boxrightend.pcx", &PanelBoxRight); const Surface out(PanelFull.surface.get()); for (auto &entry : panelEntries) { if (entry.statDisplayFunc != nullptr) { - if (entry.high) - DrawPanelFieldHigh(out, entry.position, entry.length); - else - DrawPanelFieldLow(out, entry.position, entry.length); + DrawPanelField(out, entry.position, entry.length); } DrawShadowString(out, entry); } - for (auto &gfx : PanelParts) { - gfx.Unload(); - } + PanelBoxLeft.Unload(); + PanelBoxMiddle.Unload(); + PanelBoxRight.Unload(); } -bool CharPanelLoaded = false; - -void DrawStatButtons(const Surface &out) +void FreeCharPanel() { - if (MyPlayer->_pStatPts > 0) { - if (MyPlayer->_pBaseStr < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Strength)) - CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 159 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Strength)] ? 3 : 2); - if (MyPlayer->_pBaseMag < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Magic)) - CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 187 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Magic)] ? 5 : 4); - if (MyPlayer->_pBaseDex < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Dexterity)) - CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 216 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Dexterity)] ? 7 : 6); - if (MyPlayer->_pBaseVit < MyPlayer->GetMaximumAttributeValue(CharacterAttribute::Vitality)) - CelDrawTo(out, GetPanelPosition(UiPanels::Character, { 137, 244 }), *pChrButtons, chrbtn[static_cast(CharacterAttribute::Vitality)] ? 9 : 8); - } + PanelFull.Unload(); } -} // namespace - void DrawChr(const Surface &out) { - if (!CharPanelLoaded) { - LoadCharPanel(); - CharPanelLoaded = true; - } Point pos = GetPanelPosition(UiPanels::Character, { 0, 0 }); DrawArt(out, pos, &PanelFull); for (auto &entry : panelEntries) { if (entry.statDisplayFunc != nullptr) { StyledText tmp = entry.statDisplayFunc(); - Displacement displacement = Displacement { pos.x + 7, pos.y + 17 }; - if (entry.high) - displacement += { 0, 1 }; - DrawString(out, tmp.text.c_str(), { entry.position + displacement, { entry.length, 0 } }, UiFlags::AlignCenter | tmp.style, entry.statSpacing); + DrawString( + out, + tmp.text.c_str(), + { entry.position + Displacement { pos.x, pos.y }, { entry.length, 27 } }, + UiFlags::AlignCenter | UiFlags::VerticalCenter | tmp.style, + 1); } } DrawStatButtons(out); diff --git a/Source/panels/charpanel.hpp b/Source/panels/charpanel.hpp index 388493432..e5e21605d 100644 --- a/Source/panels/charpanel.hpp +++ b/Source/panels/charpanel.hpp @@ -10,5 +10,7 @@ extern std::optional pChrButtons; extern const char *const ClassStrTbl[]; void DrawChr(const Surface &); +void LoadCharPanel(); +void FreeCharPanel(); } // namespace devilution diff --git a/Source/plrmsg.cpp b/Source/plrmsg.cpp index b39efbbe6..42352807b 100644 --- a/Source/plrmsg.cpp +++ b/Source/plrmsg.cpp @@ -31,7 +31,7 @@ void PrintChatMessage(const Surface &out, int x, int y, int width, char *text, U if (text[i] == '\n') text[i] = ' '; } - WordWrapGameString(text, width); + WordWrapString(text, width); DrawString(out, text, { { x, y }, { width, 0 } }, style, 1, 10); } @@ -109,7 +109,7 @@ void InitPlrMsg() void DrawPlrMsg(const Surface &out) { DWORD x = 10; - DWORD y = 70; + DWORD y = 58; DWORD width = gnScreenWidth - 20; _plrmsg *pMsg; diff --git a/Source/qol/itemlabels.cpp b/Source/qol/itemlabels.cpp index 9917aff59..d6c68e624 100644 --- a/Source/qol/itemlabels.cpp +++ b/Source/qol/itemlabels.cpp @@ -88,7 +88,7 @@ void AddItemToLabelQueue(int id, int x, int y) y *= 2; } x -= nameWidth / 2; - labelQueue.push_back(ItemLabel { id, nameWidth, { x, y }, textOnGround }); + labelQueue.push_back(ItemLabel { id, nameWidth, { x, y - Height }, textOnGround }); } bool IsMouseOverGameArea() @@ -148,7 +148,7 @@ void DrawItemNameLabels(const Surface &out) for (const ItemLabel &label : labelQueue) { Item &item = Items[label.id]; - if (MousePosition.x >= label.pos.x && MousePosition.x < label.pos.x + label.width && MousePosition.y >= label.pos.y - Height + MarginY && MousePosition.y < label.pos.y + MarginY) { + if (MousePosition.x >= label.pos.x && MousePosition.x < label.pos.x + label.width && MousePosition.y >= label.pos.y + MarginY && MousePosition.y < label.pos.y + MarginY + Height) { if (!gmenu_is_active() && PauseMode == 0 && !MyPlayerIsDead && IsMouseOverGameArea()) { isLabelHighlighted = true; cursPosition = item.position; @@ -156,9 +156,9 @@ void DrawItemNameLabels(const Surface &out) } } if (pcursitem == label.id) - FillRect(out, label.pos.x, label.pos.y - Height + MarginY, label.width, Height, PAL8_BLUE + 6); + FillRect(out, label.pos.x, label.pos.y + MarginY, label.width, Height, PAL8_BLUE + 6); else - DrawHalfTransparentRectTo(out, label.pos.x, label.pos.y - Height + MarginY, label.width, Height); + DrawHalfTransparentRectTo(out, label.pos.x, label.pos.y + MarginY, label.width, Height); DrawString(out, label.text, { { label.pos.x + MarginX, label.pos.y }, { label.width, Height } }, item.getTextColor()); } labelQueue.clear(); diff --git a/Source/qol/monhealthbar.cpp b/Source/qol/monhealthbar.cpp index c72247e25..36e67b43e 100644 --- a/Source/qol/monhealthbar.cpp +++ b/Source/qol/monhealthbar.cpp @@ -109,14 +109,16 @@ void DrawMonsterHealthBar(const Surface &out) UnsafeDrawVerticalLine(out, { position.x + width - border - 1, position.y + border + 1 }, borderHeight, borderColor); } - int barLabelY = position.y + 10 + (height - 11) / 2; - DrawString(out, monster.mName, { position.x - 1, barLabelY + 1, width, height }, UiFlags::AlignCenter | UiFlags::ColorBlack); - UiFlags style = UiFlags::ColorSilver; + int barLabelY = position.y; + UiFlags style = UiFlags::AlignCenter | UiFlags::VerticalCenter; + DrawString(out, monster.mName, { position + Displacement { -1, 1 }, width, height }, style | UiFlags::ColorBlack); if (monster._uniqtype != 0) - style = UiFlags::ColorGold; + style |= UiFlags::ColorGold; else if (monster.leader != 0) - style = UiFlags::ColorBlue; - DrawString(out, monster.mName, { position.x, barLabelY, width, height }, UiFlags::AlignCenter | style); + style |= UiFlags::ColorBlue; + else + style |= UiFlags::ColorSilver; + DrawString(out, monster.mName, { position, width, height }, style); if (monster._uniqtype != 0 || MonsterKillCounts[monster.MType->mtype] >= 15) { monster_resistance immunes[] = { IMMUNE_MAGIC, IMMUNE_FIRE, IMMUNE_LIGHTNING }; diff --git a/Source/quests.cpp b/Source/quests.cpp index b0f06d4ae..ce9f50b28 100644 --- a/Source/quests.cpp +++ b/Source/quests.cpp @@ -276,14 +276,13 @@ int QuestLogMouseToEntry() void PrintQLString(const Surface &out, int x, int y, const char *str, bool marked, bool disabled = false) { int width = GetLineWidth(str); - int sx = x + std::max((257 - width) / 2, 0); - int sy = y + lineHeight; //seems that DrawString y is the text base line -> so add a lines height + x += std::max((257 - width) / 2, 0); if (marked) { - CelDrawTo(out, GetPanelPosition(UiPanels::Quest, { sx - 20, sy + 1 }), *pSPentSpn2Cels, PentSpn2Spin()); + CelDrawTo(out, GetPanelPosition(UiPanels::Quest, { x - 20, y + 13 }), *pSPentSpn2Cels, PentSpn2Spin()); } - DrawString(out, str, { GetPanelPosition(UiPanels::Quest, { sx, sy }), { 257, 0 } }, disabled ? UiFlags::ColorGold : UiFlags::ColorSilver); + DrawString(out, str, { GetPanelPosition(UiPanels::Quest, { x, y }), { 257, 0 } }, disabled ? UiFlags::ColorGold : UiFlags::ColorSilver); if (marked) { - CelDrawTo(out, GetPanelPosition(UiPanels::Quest, { sx + width + 7, sy + 1 }), *pSPentSpn2Cels, PentSpn2Spin()); + CelDrawTo(out, GetPanelPosition(UiPanels::Quest, { x + width + 7, y + 13 }), *pSPentSpn2Cels, PentSpn2Spin()); } } diff --git a/Source/scrollrt.cpp b/Source/scrollrt.cpp index 99b0ff5cc..876c27f03 100644 --- a/Source/scrollrt.cpp +++ b/Source/scrollrt.cpp @@ -1206,21 +1206,15 @@ void DrawView(const Surface &out, Point startPosition) for (auto m : DebugCoordsMap) { Point dunCoords = { m.first % MAXDUNX, m.first / MAXDUNX }; Point pixelCoords = m.second; - Displacement ver = { 0, -TILE_HEIGHT / 2 }; - Displacement hor = { TILE_WIDTH / 2, 0 }; - if (!zoomflag) { + if (!zoomflag) pixelCoords *= 2; - hor *= 2; - ver *= 2; - } - Point center = pixelCoords + hor + ver; if (DebugCoords || (DebugCursorCoords && dunCoords == cursPosition)) { char coordstr[10]; sprintf(coordstr, "%d:%d", dunCoords.x, dunCoords.y); - int textWidth = GetLineWidth(coordstr); - int textHeight = 12; - Point position = center + Displacement { -textWidth / 2, textHeight / 2 }; - DrawString(out, coordstr, { position, { textWidth, textHeight } }, UiFlags::ColorRed); + Size tileSize = { TILE_WIDTH, TILE_HEIGHT }; + if (!zoomflag) + tileSize *= 2; + DrawString(out, coordstr, { pixelCoords - Displacement { 0, tileSize.height }, tileSize }, UiFlags::ColorRed | UiFlags::AlignCenter | UiFlags::VerticalCenter); } if (DebugGrid) { auto DrawLine = [&out](Point from, Point to, uint8_t col) { @@ -1236,11 +1230,19 @@ void DrawView(const Surface &out, Point startPosition) out.SetPixel({ (int)sx, (int)sy }, col); }; + Displacement hor = { TILE_WIDTH / 2, 0 }; + Displacement ver = { 0, TILE_HEIGHT / 2 }; + if (!zoomflag) { + hor *= 2; + ver *= 2; + } + Point center = pixelCoords + hor - ver; + uint8_t col = PAL16_BEIGE; - DrawLine(center - hor, center - ver, col); - DrawLine(center + hor, center - ver, col); DrawLine(center - hor, center + ver, col); DrawLine(center + hor, center + ver, col); + DrawLine(center - hor, center - ver, col); + DrawLine(center + hor, center - ver, col); } } } @@ -1321,7 +1323,7 @@ void DrawFPS(const Surface &out) frameend = 0; } snprintf(string, 12, "%i FPS", framerate); - DrawString(out, string, Point { 8, 65 }, UiFlags::ColorRed); + DrawString(out, string, Point { 8, 53 }, UiFlags::ColorRed); } /** diff --git a/Source/stores.cpp b/Source/stores.cpp index e0127653a..e9273712e 100644 --- a/Source/stores.cpp +++ b/Source/stores.cpp @@ -24,6 +24,7 @@ namespace devilution { Item golditem; +std::optional pSPentSpn2Cels; std::optional pSTextBoxCels; std::optional pSTextSlidCels; @@ -2163,13 +2164,13 @@ void DrawSelector(const Surface &out, const Rectangle &rect, const char *text, U if (HasAnyOf(flags, UiFlags::AlignCenter)) x1 += (rect.size.width - lineWidth) / 2; - CelDrawTo(out, { x1, rect.position.y + 1 }, *pSPentSpn2Cels, PentSpn2Spin()); + CelDrawTo(out, { x1, rect.position.y + 13 }, *pSPentSpn2Cels, PentSpn2Spin()); int x2 = rect.position.x + rect.size.width + 5; if (HasAnyOf(flags, UiFlags::AlignCenter)) x2 = rect.position.x + (rect.size.width - lineWidth) / 2 + lineWidth + 5; - CelDrawTo(out, { x2, rect.position.y + 1 }, *pSPentSpn2Cels, PentSpn2Spin()); + CelDrawTo(out, { x2, rect.position.y + 13 }, *pSPentSpn2Cels, PentSpn2Spin()); } } // namespace @@ -2199,6 +2200,7 @@ void AddStoreHoldRepair(Item *itm, int8_t i) void InitStores() { + pSPentSpn2Cels = LoadCel("Data\\PentSpn2.CEL", 12); pSTextBoxCels = LoadCel("Data\\TextBox2.CEL", 271); pSTextSlidCels = LoadCel("Data\\TextSlid.CEL", 12); ClearSText(0, STORE_LINES); @@ -2250,7 +2252,7 @@ void PrintSString(const Surface &out, int margin, int line, const char *text, Ui sx += 320; } - int sy = UI_OFFSET_Y + 44 + line * 12 + stext[line]._syoff; + int sy = UI_OFFSET_Y + 32 + line * 12 + stext[line]._syoff; int width = stextsize ? 575 : 255; if (stextscrl && line >= 4 && line <= 20) {