From 370c47d95be1843587d213e257dfce3f55ff3c52 Mon Sep 17 00:00:00 2001 From: John Preston Date: Sun, 19 Apr 2015 13:29:19 +0300 Subject: [PATCH] new photoviewer adapted for documents --- Telegram/Resources/lang.strings | 3 +- Telegram/Resources/style.txt | 22 +- Telegram/SourceFiles/application.cpp | 2 + Telegram/SourceFiles/art/sprite.png | Bin 163673 -> 165934 bytes Telegram/SourceFiles/art/sprite_200x.png | Bin 210077 -> 212914 bytes Telegram/SourceFiles/boxes/abstractbox.cpp | 2 + Telegram/SourceFiles/gui/animation.cpp | 114 ++++++- Telegram/SourceFiles/gui/animation.h | 36 ++ Telegram/SourceFiles/gui/style_core.h | 4 + Telegram/SourceFiles/gui/text.cpp | 28 +- Telegram/SourceFiles/gui/twidget.cpp | 16 - Telegram/SourceFiles/gui/twidget.h | 33 +- Telegram/SourceFiles/history.cpp | 127 +------ Telegram/SourceFiles/historywidget.cpp | 6 +- Telegram/SourceFiles/mainwidget.cpp | 1 + Telegram/SourceFiles/mediaview.cpp | 372 ++++++++++++++++----- Telegram/SourceFiles/mediaview.h | 19 +- Telegram/SourceFiles/overviewwidget.cpp | 7 +- Telegram/SourceFiles/settings.cpp | 3 + Telegram/SourceFiles/settings.h | 6 + Telegram/SourceFiles/stdafx.h | 3 +- Telegram/SourceFiles/structs.cpp | 17 +- Telegram/SourceFiles/structs.h | 7 +- Telegram/SourceFiles/window.cpp | 5 + Telegram/SourceFiles/window.h | 1 + 25 files changed, 564 insertions(+), 270 deletions(-) diff --git a/Telegram/Resources/lang.strings b/Telegram/Resources/lang.strings index deb8fd1384..3518eaddf8 100644 --- a/Telegram/Resources/lang.strings +++ b/Telegram/Resources/lang.strings @@ -527,7 +527,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org "lng_search_found_results" = "{count:No messages found|Found # message|Found # messages}"; "lng_search_global_results" = "Global search results"; -"lng_mediaview_save_as" = "Save as.."; +"lng_media_save_progress" = "{ready} of {total} {mb}"; +"lng_mediaview_save_as" = "Save As.."; "lng_mediaview_copy" = "Copy"; "lng_mediaview_forward" = "Forward"; "lng_mediaview_delete" = "Delete"; diff --git a/Telegram/Resources/style.txt b/Telegram/Resources/style.txt index 31b97aa66b..9f34c5b78e 100644 --- a/Telegram/Resources/style.txt +++ b/Telegram/Resources/style.txt @@ -1623,15 +1623,25 @@ mvFadeDuration: 150; mvDocPadding: 18px; mvDocSize: size(340px, 116px); mvDocBg: white; -mvDocNameTop: 5px; +mvDocNameTop: 4px; +mvDocNameFont: font(semibold 14px); mvDocNameColor: black; -mvDocSizeTop: 30px; +mvDocSizeTop: 29px; mvDocSizeColor: #808080; +mvDocExtTop: 35px; +mvDocExtFont: font(semibold 18px); +mvDocExtColor: white; +mvDocExtPadding: 10px; mvDocLinksTop: 57px; mvDocRed: sprite(0px, 400px, 80px, 80px); mvDocYellow: sprite(80px, 400px, 80px, 80px); mvDocGreen: sprite(160px, 400px, 80px, 80px); mvDocBlue: sprite(240px, 400px, 80px, 80px); +mvDocLink: linkButton(btnDefLink) { + color: #4595d3; + overColor: #4595d3; + downColor: #4595d3; +} mvDeltaFromLastAction: 5px; mvSwipeDistance: 80px; @@ -1694,9 +1704,13 @@ photoLoaderAlphaMin: 0.1; // not less than that radialSize: size(50px, 50px); radialLine: 2px; -radialDuration: 200; -radialPeriod: 2000; +radialDuration: 350; +radialPeriod: 3000; radialBgOpacity: 0.4; +radialDownload: sprite(346px, 0px, 50px, 50px); +radialDownloadOpacity: 0.8; +radialCancel: sprite(378px, 50px, 18px, 18px); +radialCancelOpacity: 0.7; overviewLoader: size(34px, 14px); overviewLoaderPoint: size(4px, 4px); diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index c7719bd45a..d89191e50e 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -675,6 +675,8 @@ void Application::startApp() { DEBUG_LOG(("Application Info: starting app..")); + QMimeDatabase().mimeTypeForName(qsl("text/plain")); // create mime database + window->createWinId(); window->init(); diff --git a/Telegram/SourceFiles/art/sprite.png b/Telegram/SourceFiles/art/sprite.png index 7e3eeca29a44781b9650434d51b85293657d552a..86fb78fda7f116841280e4c408590ca396329fa9 100644 GIT binary patch delta 46242 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 delta 44284 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 $13Y_kZd3IRY)B|fk)25 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

D{%D$Yp%JR6c(aBW?Ty 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 delta 90498 zcma&ObyyT{)IL5-$4V-`TC;xl; z5EtBf7hFiq00xcbPDKjq1cV!j;8l{7*7o|bli}&5ZS^ApS@>0T@Z-BoB0Ahhe<+(0 zfm}0bDd|qM64v6f#m~*B#t=`g?J}$Bx;o77_sQOI>k!FpiPvbz;1hk5{gL>*P12hA zE0llWkE-|H_8{i_bdlq>QMTiS4R3sgAwHa7y8m8c5S2&&Hj&_-uIC42Xu${E&~6PP zobrRs#kP|nvOl^!5*-?iMRPd@PF>=kY@WGD!Jz+p_)|DeaE0aJN{?#-^RpFJ5)5e~ z4CxxiN%<%`v{aqq7gpgB5t4oIuiczOy<&%7NWE6xu%s`%rNg;b#pz5Uf0*St=i2um zic^{h2_8yA9gQ_c1m3Gb~-W0IOtpJq^#&1cz_0jz?{{^{eDQ zGN^z9Bns`r2sscY2Aa?|0Xkf%+`~mRB%lS<2q=fLd_s4Dbm#z>fHEWzy#Z^9B9Ihd z6lH`2$jHn2{laam2w!d3;J?Awo8`+5zeXVF-;bnzBG zu>85gpX^>&XrZ;r(e!LKPVfQEL9{|OHY8eXq$v|=>)}#gFV;KZoj1|D)b>Yu~B4o!1Z5Vvcsj6=&aQUE+<#DoJl~Xjns*MO%SC5EsJ0ap^HSbxio|IXXp? zPAPT;rIbWqf=9o9H#qKyW3k%@qsJize|~iwvjN{7XRCS^QVs<*$xJEut-od_$IZ@^ zx1Zwzk3amCMC(w0dmYgJj_fX`kgypD=O9Q45iijn@A6Ym{2p}3kQGJLXxQO<&V4}m~-PJ=)vQcBURzbV&%Tb-L$dk^CT)Gh#Z_{95 zi_R?Ci+{U~z|Yy=@xcmupA1zsij59uRGnl_&&`(Q4=Q5NCU)9p)&Vpa2SiW{N|_|X z7)e@+_22FQhgoW86u7hdtChZ>+4rg?Z=?y^(2+gd^2jfajlbjAj|K=0lfUXdFC;E= znATc9CU1nNKnE>}n2m zXLp}MyKC+}ZiKfot9-N4t+y{aBJRYsg6|vyQ1#tWh!_8t^)BlBfkD6xdN)!pK?hLK z(i2nYutL{M-c^g>al`>2MeWL^b`)aYD>TA6`FWfE|NA-ksQ6{?8l#hc+Z2r z{OE0IZ?j2Z*2QlBlxbttzlAVi4M8Xw0;6aR=u!k>dHUeZ;dnKRZw3o|3z^igHEN;r zHrX1u#tqi^3Ri989NItvfr!*Npvj$@e53R2;YCX2D{CpD&{CjcZ@EvQ;qI)Xrt4is ze5?t}!V8oP%f-AjL98&6k35C#hxb%-mu#6s)`Hi94~|Zh9svLpyMnqypTatrzR@K! z09ZiNz*$-(>rR#@3e7hteSP3qKc6h>^Jnv?Q}b?}e*OGw4AbK%bv_SpdtbNE8dboff z&SIo|C2LedZ`{L6l>}3?`o%Wfj)GU)-(y#W_oy;Arh+si2aV2O{Abl1#q6&J>#F}V zY~=VWSnf$CPWPYU#dssHBwxr*D59>klZ;@WK57LPtH9rpY{Y5OB5ValTcKCcluuso zu(z5>>Jf!%MVTF}#2I`V1ily>R#_C8F=X-1sZ8jPR0jaThb1DBAmm_#be2h_Q&ZLWO}J*kDR+rT(@+1=g!_D~FoY**q20#_SU z<5mm$dV6UM+XJpM3a0lPR^zy!-D4>bX(9+=pZjqMKTMj5+~;MutQ*3jIhmc7*ayQG zi-Dwr7V93sRL7=E3N2}W!#20xRsR}AoTjZfjlu27~_#~MlRINF{_7PCQDa;UE~>g zHTlVHlElDbw1HbR7utslfoAYP2H=KZ$qJwk`ywKzIcNR%Hd{JG!JRr~YtvUGZs>YB zg0^YVdn4nbHzfe#(q2DkHwaD5JWt~T%B&g1GNcbYE^z3H4knf7Z)!{;P6C}s%gWAo zarMG!`;b*Q*g)Jyq58Zi0sire;REc(0|jtW%rkrx)j;~AMx3Xa5r~Hvz@r8^TVJTerb<)P<2G7{vWEAGiiH?zfBgbiGXx=fab*XpD(H_r9Sc&*Y|+ z#!$gxAm|VRddD8!v;6^?!RS_fuC6Ie9fF`RMy`^gC&#)=-P{PM30%#!F0~RM=bLmI~(_I;ImoRqk^T9a#)OZ)a(7RXO zoI1Q1D6`amf!ncn_nkbWu^%F#m_Z*pZPCs62js`PDVW@7fVeIM%Twq?YAY2O9C&hB z_gv3a^vRHL)AYAi`UbO^bdlMK_#6YNPJic3`Cz9X5d*qZBLk>E#_m6Bk=hqexp53J z%&}Ivfm?JU*$5uXRDx{6z?T4lrm)k>O;0p=JKXzd4G$RG^5DOZ*F$hz_PmY=BS$-L z{PD=EHuIjSIB0jwAFIw%e$4OXX?o(0--~;9v4m>x62bwr?L%1P3wA=|#tIa)eaJG> z=djgTu_S%}+rLRyAf>ad;F)0v0Vh=SSROXixWK7ULrWycmf0vb|Vc~LfPP)m(3^J)6SG&?Lx>rkSgx` zda*ME`!>#M_7PauZCdIt@C+R#|8#D@c0WFIo~c-N4U^#oQ~kcJLUukMc48$Rb!XQ1 zAe=XsG<~rUIBnqOZ@l?m?_;&(MGZYn{ChPQ}RLbfOjX^d2}Iib~I=e8s{ zSMfe~)21fcxQ$=WF1L|MoI|nJB5~ix=_84VVr+pY5RV*LdA&ojKuaKjl`IxT+>3GyFhRQPt3gdm#u!TP1*jhuv}9LekMJ8xHk0?+(A0Wmo$n|JN!f z&~3IC85wyAT*Yl%kVR46VFRKZItmdubTePRJ@Qw>lvmjw^z1wriX~wrciL)$C+Jqq zR6gzCqw<=Su|aw21!gN5b&sxEsj#`&8hfXS^1^W#`WJ zAMiLwL#7qfkq4qPl854Z6uL+J2XZjF)2V?cL=DB!q+IF`0*wKB^jfrFIt+6mo_IC! zf93ntGbFsqY;%P~Eh5wN?IM37#Px@9BpmA-m8iHJD)1N%E6c94TxsWSB|IP9?`$mB7zUlq9Jqp z(S(B_Ub&I)6&C8b`g^i{2||E4&LQNrcjnnpNhTdmEf7#tUXHZBIzPnp_)H95IA-9Y`R#;yWp@m!9E?FIxzr z+hQ-#hXvz2ux>lfXn*~}=_tOby^QX9DwNIfv!;--& z@Bj?1kBT+ayAaNg@VnIpeKo?26Bvt^QLBMJ2gKA6w)&R(r)jjoV2HK)4{&6(C#B&S zA^ilfRw2M!jRsuFWqzO?5LU~fqrRVOHI#e^7h}~Ia9#Pb517qXSvl=`u6%g|-`kJ| z>d{kqU038H$PLmjMm#-SaOmY4{SUJnLKD|wVTSwqwXDwT+j~wM&g;x*RHh(|hj8X< zkOuTp;z5>K6&m$$%-92+ler9Ew__vEuIZo?uO*>N+u$W#11N$GfLkp1gYW?oK41>A zkov?yFzW{VfB*of=DCl8a9*Sn$JPy_{Y7+CNI(N4Y8^7Xd9yC2?&Y?>{ zVS=k{-5arvuUYz&840x#t|RRD!cS5KNLg#*^siU3K5X!-bhvzS*7AIH^rXRKOUua4 z?zcj#NxO26#`!a>K&x4!3HvHW-y=V0$6zG?af&`w{kuoHIU4y?`AuIVj6xOe|%OcoA5wgi(psS zj2hX^cQ(LBPc`Jfsyd35>JYw)RWqO*ux1)@Tj}B3xu>JT%rkyb3>IlA_;kAE(|Jrx z-7gr7%O^&!Ua$QwH<}$;9DIgB7}H9na~4KEH}Co3FglCw>OG%@#SgBd!aDmZ;$?M* zA2lz9M~{c}l4IR}`GbY<*;Zjzn}(j=%nTB669^esMQ6kAa1NrnM~Zzh&Ps`@julfJ zwBH%5=}_fUl{v`9MaM`4%cY5pemKt1Fg#Nq1hZR$1G zgAN+t;Ri$YuCP~dHT2Efb^J5k_x>gyDmh~+Ia7vj9^5k%3RD~Mi{$y<>9yaAJnQ;d z=Xl8)=qfh4nD~+y;}LDgQBzaXXyLQ8*R%24eOY_FJdVgB9RrV*tPZ-q#xyiF<3^Le z)AbQ;##@DM2wSr46aFOSd{d!s=*HZ(N3lyCX%_Hg4X-x<9VC43;iFD4(|ECr9;am_ z;R8#;dyOnven;&l+~%IZXcHZh9Q5Zv*aG{^mp7#C5cn`FS}Y>yQNr@q)R+jz{;;JI zqw~P&lC>2CfDK$>cZdPlU~rlzn^=sEy`42-A9CPmOf}~m60`6opct}YA9@7@OxOE@ zV2QBae!A@4#s#6{048uCwwSSTF`b*6tHxv8^rv*T+J*yt{pRQw@-0taecUsz>6eWF zfF)9DLAv07+?TSd#4V%CjYAUitAVhtS&%4H^2nE>*Ahbj%*UHuu5&`1Lq8tMUCp_V z@{Wq1rO)@}a1Npi-hz@s`G|_f)FK{xrP50ea6XEybW_ZTA|z#zxmx9tS2_ z-~0R1j3P4AvhEolGSK;MKCIQ#$q?a<<*Ic4y=m=a&0a5-G{*#trS@L84|*?46r=e; z6tRA`h`i0$D!St7b7lL5B$YpGU{tz{mCT*3eK2x-r6TV0XGX$#p@j_D-o7?GvO4t! zx4fUvLWtoCDSqQ}c6)LjGVkP3^_B56DXGaoT1H>Jr7`j;H(3AOlEvt)lCw%t*ZZ4(lx}k>!(USueLyz~&e?3{OtjM}& z23&cAo4kM-HErb(zSTJ8P#17sedz9Z_@S}|o{UV9#Hdz$OLHt7=R2v&KC!T@=7d9%%J|9#`rubKNd3l5SzdSKK(+YjtDRama9By)l_!?OVP| z)~c}6=l4c_F8i%#uT#amk37M3HVQd8O<+-9-~*FVTQHrN9W(6V>gsCy$@JwAtycrZe@?miS?`1os)bmv!vDZ=6R@~@8 zDV5cDjU^E|r{35HtJy|tx5MwPXA74l4EwG7ZI?F;I9>j+-@hJPJm4`A8=+NCuKDt@ ztqNf+^p*}?(-DOV$Ikmd(1`?5r^x)%X%&8I6h76@3&TcS5~$5Zpo}sGoI0>Rq*UvU z;RSQ|W)r|U6kb?R;A2;Uj-MSJQCtd)4P!4ms`2d%VqW>u$6yVe(ySHy40(WbK5)^e z5E}fJ`)TU8u70u()%wcV-2kKb_uIh%wvl5jhxL+1uPz++Arrzj^wlNl0uj40OY!)C z87zQ$sA?JLIK1-kjeXS|`-hn0S98@}u|U`9lI#nC7QQ2aj6?(9LW*SGO8m7oj9ZM>%-pE=d-eGeE3`P%J~q~Q!r$~U zM_%s?1vzB0yF%I1f(qKf4(uW*I4q(Ks&9Rjt=~d~@s}c}HvFbT4>ry8w&q**iUG?` zAy}zG)9c+2_8+uCs{3jnfu*@7d*ivfxK6Xj*0&2F6B|gjQsjeHPmDV8s~LBL!}~jp zjQ4cr@P$sq*+EG`WvGW7 z$aJzh+5UBxv;=@XNZ|W@zrxTQjvXZFi?pP#etqVpow}`>dteFEKI!EzYH+#_@mrK@ zY{eR?ny30X=!6$^QKALy_8@%IT!GVhzfpsg3{0o@rngU)@xsi*7yIS;V^6T_V|9b1 z<60H|CerrBTI;_a4*A)O1o8FF3#VX=ZsT7XtZ(R6%W+Vg;jB?TaZdJ0IY`^MAsY6T zS1fhcU*9+uUv0wS2WmnU)}t1lYh4N<#zMy#`wNHCvf>&;j%uss$yJ=X4UOe^)&4!5 zx1WO1s}&6_SwDoxHdco%375H+0HenfCqClfq@xGqNn>9nTX403_9fqT9<@%|QBJl> z`o5?l;rR85z7u`T;TMV+q$0%f->4wKb#M;7ssG88yb_9CtkqNrMc{3#dms4SqH&@k zL2wcR=TzvMb>N2aQ4#)aP@QhA81-SVALW%Syy9kH8*+=6+;RUsS)`6{ZGjns;vFqt z>uRaIIsE+omj%_1z_%2?+U0akrA2}I|GAe^+BGTO&>`2u%szcVF{#KYp#lynj2>(2 z>N+1!?g4AQ4L^KoZg|fD zzopXE)aoT!K6=^Qc7a-k=tQRFd92anaXs>r6<;BNZx8413Z-{u4V@VkMrLp5g5O*M zge9umNbIMmKShe|S5_C>LW_RYKSG-4el4@_2X7RrI4W~L=s0!IoVb$Wi+mteIPs9L z*<>yQ;o30Uc6w=O%wxa4L!Z|6>0;DDV_+ zv_?xNL*MT$O2N(xlE4`#MlR&pmo_=gk}12|a^Hr?Fo3|v*3KtH73NFX-TasdzW@&8W=9-&W?Bb#>&ov99H=ycI58&8E4oWD6o?0C2*RUc z9zHp(Vns%sMds>l|CW%`^jp2y$hsX=kuO0z;Dy3)boKFwsJ1E%Wc$vibp1E0@nZ$##*WV2 zoJ>$qLdk&`IN;`D<92PG9%La`B1u>lSvucA^k=)=#wYRS8DWo@Vd~;1+NF$2)fm$6 z?ucaRp=7R~XS?-_f+Di>cNN6(_1WUBVU9+N)9ZUT{vfd(aV7G)eD3cH?`Jw&$H;fa zsbMISzY+c0fBDRom%9#G|z0ON`}8yOxYhZIo&Cq*@@haArMy^hjOt@ohS#c#m^ zp;cbfuRGo$oKb1}m8kJPxrx^@1MU4oKIrzlk}!+e7>nLrOTDv zuhA+8C$Q+x+;6|V=?00lw?-96Gik#F?K^_sbL(6FC<`Ma8Cd?Di*rP+9D%8FPd!Lu zQ8&C*r>WI!dZ>!gf49HGIb1q}Q_0ksXXfOHqkDnJKR za>NNbjPQ&jDOk}rnXoeC+`pwECFKXp3SMaUAHHkj!w}GeB2cn;=hxE`9Gq zXXCDcvWr|Pg~n7HS#BB+4Y19DUSV|jlM$9G?7AZ4vGEeb{#e~`r~Qq~{r0R8_}3Kb zzDfXOAif-nA??ZDF1k{mJ;~R4bD!hI%zOlE6z$zDHp&V1ZJ~+hT<=@t>M>Lvv{xL3 zy?VL35>d@LjSVFwgy~}yOFgn|G(vqr*X2%h_T9+zwA(CU0Ns26ZkUsZqgF)3m~F(6 zYs5hRVj$Z_hT@0(VdV45B|R(wA6#;KjGcxbz48{{Dq330Lf>-}B zECgA5D7PQsUYpw5OwIDyW0RsdRKkmi0k4A;koZ{5#Mn3=;x?XcIcI$;lpE&45{*#d zX6N8g98MRhM(Z$+Cg<7fsoKE^M<@(c&3)Los6#R8pbIk$xwWxI4Y8KU?g z;eAnW{~w&Wwkn*9`#v?%D*1_CQm=>OCmaDDMNv`%|GOqZm0$JMzm!+MTAZzjXGDV;|Dg|&*?o#I(Vh2 z+KedpV3Vf8UqC<0wWSW_0`%_aq8^&LdL=$5^n{e?5|~GIn7{B>}FE{{wK*)*@gx@6&#Ez(fAKIDJWsE z3xtl&6ch~lcimcyZdYcFhAVY;c4RGy@^8#YRE!BOyVxY}gX@GY7hP+{MC$DczNt+{ zoGNO(y&V#g#rUx1fSft)Ddc;0o zX*=cJ%pwba!p}gQ@6f2!Mvx>(r<@N2oAQM-kR3h7ARat3wEIfRNY02P58Xb~@Kx7n z;%PCv+2#ap3tVcU)E0Uomj)B_p&ynXI|GuN@{(& zdE+t5!cOTR>CX3Vt&0k|UU2E?vT8e2gC90nUjZGX>t`(^*UTdwmoNxw=A(zxi9i#c z$mP`jXz%^$+^iSEckf* z$(5W`Wz*Z;AhixvB|AATmx@+D!X|3KRDmB%W*JO7nF zcZ;SIz1)u)0*47)Ddw<2U#&-jQtuVMyuo|;xt6{v*Slq|@c#FOjPQKVkIP8`hXGvV z*gQIByNyVLkA2|`q2Wx>2!taA*aUk@KQ|v&MIKt8D*Ed8L@?cB!MfPk6Ym>Nu$3r8 zEGmrZYzXOE(^t(4u|MG}o7^JKHyfAu(8nNRHCP0FX$sh~O z=%&ERrV2F9TsRCu$3`3crk5;VZqn+IS%Ha(2|?sg zD+GTDJ`hw%<|KxEHEM8qUb|1#HAJ3vF!)h z+LQRv1jA8RbCW8FZU5%!e8=FlaM($iWY zSKXZATOOLP>z|B`!OCj6h(Bwe-ofS_6`X+~*=y<)#y8v^UHjm@7KFn%0IpZmh2XE) zKfizfb_kQHL|N%G0nPuwJ`$w3Hsuj+1j!H&dY4)gsaQ3+mZ+Z4uQ+oP5_tXz+WnC) zu$~#GJkVZg>IgMBVW2sfpvm`CK3_pDII3sYkskh-i(2+u*Ek0+Cq?@&*9xPz$S-;Va+=Vd?geZq zj6k0zG-?JGmcH`AJ1Fz6q%Rl~-wk30(x;c=`f(S>8yjdHf3_yhe2dE%$>rcG;dD6r z`a=H)E*|$t;l=x_@=M*Hj{Y=AP?GV0T~}{-%uB-#`o=>c|`iic-Re>Bav%~QA8K}!@n%-hxMI@daraTljo->M^EDLeHwwl zTWYqDezp$!j~hwqxy8Xaavl(TkUVwya~*dB_EtcN z*+3Pvm^MPfl&pst=@6OleC$27A1X(K)mmWssi(&s{Z9PhaY|=)Z-OSfCG69fGHWS$ z2X9A5BHUv%?#reial;c1_BHd|>21*1QU=8oPjhC)2j#?!AIZ^KBtld8k+AP>{~C0| zxC+JZlJHjB1$(-%duAhUh8>-+Jty`HU{gES^W&qn^^(da zL>R=ZkEi9?MJ7K6Ly#IQ{lcaU+1Xmy_c<(7(_Fr`3&0GSKd$DrSgP(2-T&qW0T!uw zu)Q!TMAiyfcjfAd>Bksl3nxx$1LkM^Ft(zhn>Tg!JRxuN+g6DpL6JsxEvqqiFM>*s zm>_|;vR(5ZWsS%TuD5g)Rb4)<3oD)m?%`nLDyImlU=O_M3bUQ(0-zP!h%>*(9n^1H=&s-Aae3Ezac;Sfr%h$lE2J7ANHheHH zF7jb3_MKQAm)ELct*Sw-yd(v$0#)B*ZO4RE!-${%%B`z=0Ax?uah-yC$L0Ns;m7I0 z&*2nHa$y9XHgaY^zX*Cs2*s^+Nq^pcENsL^$Ha`Ju98D1Kx`_fN+DdR&Y+M_Qfpz1IXDV`&XxL(5lT7sQNWg#!$pdOGMO8V9 zdwX?^^fPO@vJnJN)zuZ1@r+q=WS+l=4jSDxA4kT(qq!+KjEq>87QK}sHOB!f8#dOW z&Ko}QZxbtYDwE_hG1>Zc^Ni%m`A8Dr9SRjZI5^nLQY3ev5?-pRpfV7a2gBQ*{jgI? zJ3i+_@_paAOzb-h93Z`j$ZY9fgZ&gb9QrX^_7Gw!hot*fQp5b4lgdhp3z&7rpXKl6 zVf2m7;B#nqvXWPE=2cX@TcgJSn?}st)8L)<2usMUBkm8b z=4T(iysZ6k`N!v4g)-J!=GCiLf)Dv}***-KeF`b9;scoa=wk9Z3r6U1=-VV-ygC1b z(@zrHTH%z2oo4hD73#h*vJ7^WJv`ndw|o8^pcZZh<#!y8%}oU1#W3t}Ybl(U;5GL_ zB3B0p@w!o{E5yvc4*Ux_IZJuywf$i9k~{aL)myxYuR7raIA=8jHcBj;|jo#t~ejx z@&KhNW7{X-E4JOf*1)#*M_Pc;wXgyA_7PENo}8SVY9OM?-FI&B>tbsZ*cj-jDw!X( z(LcRWNSk9#p5?-`6$N^>jzBIx7h)BeW-j$=5W0B||d2n4}x zr`9RCs#wwuAWD7qx)Ky|im|X1Hf~*Y#jXm`>`oQy@~9(q9_zNLOJ3Iu9PQ3jG8h$4 zEfh{{(Ug{!?#e4>P%22zvOE??_5D3QIbV5-iG1jfJ?mFTjXm`0X;g0K;f+t}C+(3~ zewIc$>ZItG69v1@c6f%)Ps7>x&8~gj-{U_I?-G5E;E_fA9k+cvX8V}H2EHQ=gLYv? zrTxrqYg^c(hyWG8^OB&KF#yR2Vz*!?L{u1jmvk^TBc-35#$_ri8!~@%=WN(e3Z#o% zkv6v`E19W+f&$ItmIntpkBREND53{3**l7i1AISviVluO_;#9AW7!mE+@GN<+?Srk zzpSw}Gq2#t08fAGRB1=9XL!U3c}rl#LoaQW|_EerRw^z?M$WGlyoKd|tv^*2XsWKqmReN~*G zlv22PebsxRc%1?5IsCEo18n&9LR0SSBy`OL<_@tF9-xOPQK&I!A{>z0-Cj z(XNQFthiX#-`{@~x&KTlT)gp9QBe-VQ@8OFqnboZA~`q%j?63fpHESi)oI_r%5+EK zkrhQR!~0kI$;A&pg$y5og6sSumWD|t`u>-nr}W4txnwjId>A9PKijr6m19ZX&*(~+ zH;3o=vS-}4zVfMs80iU@`j0IQ+>9bK?0jJr^}!fRwkWe>Txx@QM|z!d6dT$rDLj9F1+&rI!06R*hP`Hpg=O z43R3Ts@lpZ?anHP^jQ1IW90Dri6^{7f zlj~r<ndym^hyfEL%cn-&eDJpAduxXrq`c>q-g*KBAGdZcfwzk&s2O|nBvAam!mhA^z zUOxoApRvYZSMbT%$q#gF0*C6ewyv%&J0%qN5AS_J^`!E$vXNhHpk~N_EnaaaK<)B$ z7rC1Z%DWsr*1&NL%CZsVGKLUiTK0V&V_<;&EWYn$Yk{la_dIaDuPp4N?GF2QsrxX9 z=EpGHw46>_JOnD{#}6t}pN}6uf)(nsmCr_xSzs8_!r{vKc0}^739-I^scfxFf)(=K z+sgLy>@T+8X3>ykV}VkRf!?fzij-Dc28BWdGO)9?X>b&7~@a&Hw^g)@<^y;*|XiZ#f&YtG*s?cf@qf!^x zS08Wl_x&_w7k&I;t?LXl(z%Xz!LzhFWM?pDtOd(l62AKYoHik6V#|m!0?~#%m46Nv z1GPd}A#`ZC`C1nkf#X5~V_r9MjMV!_dmSL8~u&k-rh}i25l1pre=c+ zoZEb`$RrNytANwWLALB@9CKG)>s~}e)F&=G`>GuD&B=+)@#8|t{Vd2%lkAAg2qNUJ z->2n~buhI*agLqO&&|twgcB@Z&lY^}QBO}LT|3sWe(_RLQO>RA#DB5}SH9oorOX$DiGX^7N^ zpp5A!mf7h-t1nd__n*D_C-EB>o+Z;=AiT5#W!s-YRQTGfzC?wS7nx z@SGfTg_#?zVJXFpQ|Z&^&-7sV+Ewh9L!jFu7amc>@^(+Mm5C3=+!zTZd|uqG!%H~t zJ%ofx4qI0E|NZlRp&fZk4}#K_XVOg6#$>B;WTdUdxNKhX@QCORB>Q1g`Lo$1-&2R>Xvh>!mhoEPEmlfU&R zKGz#cN=oEjnf3Y-nHyP8m6RH@r?(f`klfsAxy5WX7_#_FoMHXpwm4{73|=0pZ+bA< z&~EFiDI4+e4)#uu1BuRa52rfq8?;%Zho7IZVhdw0@r4D^`MKY|vJ_#vOoz+1UQKi_X`;y9PLZ49C>@93{`?DLfHz_~-)eqr(*6Of)^mTs-%3A#MoL92 zOdD(uOwY~DE&lkKT~=1cGgQT;C6R2U1NOjl3Ma0U%RY}0$0*~)Tja)5cIGPjP^t(qIkqxa7z|C@x$HE>eEb9l^9e;ED+b20zA6k)5m{e-^T@BStG2xi zw3{v1aV)!j)!N?kX0_obs9XRJF0^ephoS)R(HtS)pR7rPcYFJ*=187bzUg&)oyWoM zfsvOkv$jc|i}+sjJ)YC2F18z!7tQ^2%KXcUOv~A}e4=qVVWbadKacGDxS*(fo|o8c zIYb~(K`lQSz(GF#m!-NGl~8)gC*F$|N+>)gr62g&MM@NRJ1N3n#vi@OZO}zAe(>jx zv~~KMhlUq#pBqozOUK1PBmWBRrXmmTSk0&p{bBBb!>y%UXvBs6R%PiY8YNz0BBtLb zt8|RZ7|XSnMe947-^+#SA1)gXr26!6ZKlSHb{HV}#6+64=>{=@o%!aoQQ&5$eEm5q zS%9$w{ekU>wx?#Kk>h8o2mZ<$kk%hPd0ND=lDlOJi{+zc8$ImpoX4HHcGT_M3=&!| zKLO*^qCg=VR8FNE{#X!oKsaz<&CH;&4k~%$fALW$LbM@~`5KLJbU3#80E%zL^|NwB z3v!>w{0yDbCtu-GM}(Z3O*W}N_n~ZF@2zO9p<6Wv|+>RAZB$3OGEii-fL^Zmp<@s+_pGaKuLjy_XC)evT($;l|hSVg;k2y z`7bX_FJuy4jA}@82B_)16Zlr6Kwh0Fhlv84RXbA=W%aS>{`rdDy^jw*m{hL$hzB%j zN7ST($P+i5^h)Z^um|b?F0qNLAQ3ir+z+gD>ydrOIX{aZe8AQ{l51cz<&LAPL2k=3 z20njrH>`sgOEH(9fs6lsy)!}*$=Txez6N^8xcBuG{3zb49~F<2OmyGudtr8Ub$5;} zIoZshOJ(25ioF#0y1KQAml2=Au0${n0rkTv4#+u8$8$2ix0jeGdcAbkX~a#Xo$5a2 zcJ-)4KrJN|&t#6H0iWf2jBebv!&B@(S9|7C!{mPFH+6zG`s}Q%ILJ>vGifKEH$2I$ z;Ng;$P;@0!2OMg-y=Vn9qp0Y0gz1M{`gqU{nNeUtyQNT8E>+NYL#5ZeA+K@@sm15QuDkCNOs9@pK--#!Qs4qkOx}*TD@JIy=B*mjs7L<*vrBc z(x9)dl*`uWN+O-7 zr+g-(#JqZsUNVkz-sTcDsHv&NnI>&a7Cn#q+m6@?s^krD(P}cC$~!~R%T6;U*HY{g zm7LhJ-Pt$o-MfmU)rQQtwuse+W$M0%MzwZRF|MnrRPv7-# z50Uw0Jn%GT?QkzhInu;<-mv$_acyL@jx5PbK1P;)Y?n7(M8VSq%Z3wfMAfvN6n#>m z%HjsW^3e~hKyDzjJ{ez=tbXg{uT8DNF3##Gh9=o9o03-T#cQ$AQ9~p+UXP{^IL`eb zJ_Mhm9i7@fDQ~RKU;rf%dPP%q`$HomH^El3ESCB-bVF`+mCptStJ1lKj=&ors~`MK z2IN=jy$;Qp9+r-E%|aDKpy)>XIb+_1#0eywh-m??@0sO2^ZJ@57wN-=%9V#Q4@GU{ zWFPz?^Xkj#oPUILxJ6y0VoJ)RtPY+DjD_UWNLYh9(n`BppRf~Qd}*SBpD>F`b8wgY z9pV66cXf@HoThCpc3q*k9GkiHVr=9>+^!c@#Xm*5z&40Met!P7Qt~>rVpR-^QJxRV z?+AV|gxjd$U>al>biT#o-!pnIxygW+=E=qINCp`sbeb&7;8hsi5q>N{q{pQ9UQ|&e z2v|bLlif6@Kp z?P^GP@V*8_!#iYlGzYv)K_RR z2vU#Jmfl~6<-f>a?K~}}WR%zPe9Cem6h`-D-8A{0z4ZCZGx~wY+s`8>yU9Tw=c`Z( z=xe&74CL0RN*%HuV6{-?o*pu1B=2&;r-*=LC?qGTIU@(B1IY$`6z8fM*k0(ou2B?`q7OQ)AE^D{ zO^EKcva*^mo;TIkpQV1T%a&|qv9h{a6fchvYD6vJCyZKcc$4`VyU&%BkXC|PNih+l z`@uT!TJyXmf^jG^R(lCKamD`Df9m%M+Uw-acMr%hl|CMls~yndNk=w^xxTVXMl8K; z^zR+B#U!OaIS4a45R)8M=036pm)*+8@y=6+Qg}uUTYXN_*N0Lz1XAKtc`Xz`D9-WK zWH65-`oI(HJ%Qv^8;a4};X6zTl`HysM>su>9XDM3Ms@iZNy8UdXGgO=GPT+qyiGH^ zF-V#}qf;Vn{xKMBhZ>(1BPZ6@;OgE@V^__~;z~Pn>`OJgloF@mlMylZY zDxp4?u6ND6va37!JrDkS30AVGGu?8N>mcJ!(w<}M;PL1(&Mx`J)a7iWuP(aW|Bt7) z4yda6zK1W;a3z%P7Ntu`>6Av14r%F<5)RVR9nv7uAR*mIBc0Nn(w*<{e7?W;AGpLh zXU?9PJ$v?Adrjzfk2_Vf@~usjS9_*C8?cMmwoUq0*br-QS10J~PtZC)gK2$Jor|w} zV0!6xBt`C7AHKtFBDPrB$a7q>qmj15e@R;Wh@s_!B!sz+rglz)9SKD)#)%9B0alMf z=i=yAw*Q76-jl(mzs6N5%p{X+q?H7g+Er5M#fG@8J7iAo*hXVIB9v*OhF{+vt@UlZ z;_)w*mD%jY5aK5JLj;Adbb@5!v$@ESOF-TTfdA&N_!Qol^xcVn?qh}i)(y79Y%2P} z0<02GYQGg0q->YyGTX@9nMFHkSMxTc#tv*}kY;dv3MX?V>=K1JiP=sq{55s6wwT#_ zo9Oxi{I^qTTS-X!iViIV+u2corbg;3ZsW&~Ei0scna3hXL%3lxa?xX}R|F*!?eBTD zu=RWVYw4zXZP0w!SHcDM43I<<4Vxx_a~>ReCl2`NV22#Karq1+c^gC`F>R@3pRl;# zth#tbk_SG-ATFYMb7zqqh4_W%>p3Vh~1G4^6M7LoLVS4km*S2bGGCfT-zLw{BjfqT z=N#U_8wY!>atZVLy1A`Oa_G;CX{f=rTlx~Y1v`_O&|S8Zt2x%cL8oPkG0+~ynL*;vNAPy#>$+-d3!7uS=8L>hLqkYO}NiLDhoFK4A;C@ejf%!IYPnWbcJhr5<#^0u^T-hW5FRInL8*);vqExg-5zieu3<4^J{ws;WDnX*~uFfmnXlpBBL1+7gwqs!*A$SW-Dvqq=| zyNG7@o6ImqiVQBm^TC}*QkGphp@18ImwbM>d&Y_PPGEBL`pg*r!#M7kP%mWfC5i@c zEPBGhTR8{Aa0@{sOEU4L1Lr<=gBBuA!XMMg@?r0eZ_vVYinyvo4qtW?6QC` zfSDYP0%R5VnVGGm9cLgnU$tDte}e<&jp>(6{bso|GMpeq_CblHps=t4T>C&HSFqk-aX;JDd=|W{8lk(ARa0p; znC9%n5NW{M>j6_#lW7d3>goRaZqbg1-CdTtVCP#}%g#0J`-9}ugh)I}OvN8%gjnTd zEl{g+p81YU8o-2kSCm$~t))2zh)m|@q&vfkkV6q$71XA_nYucxJIecZH>zXne@*c{ zwUcHAwyi2>o*9rQBLFo}LX_Ok2-hEtj8%bvqpnskv5JE*^62QuY_os{XokQ&M%W$K z`yHd{JSS&A&9DA>wV>0=-cRgu-p&s7CxKO?B#X-%sa=yIH`1L@C3=`o&%f9NF69Yf zF@@_Q7MXeosA+{Hyh>@iEo7s5&Vqcngb~DDGowO*@ms7~Mc@^+&W;R)ewYjp{Wz&Z zq#_}`A9x9wtauO~OEp?BJTJ^WISOMl%oT2@<5u|UD{y-7)d08;msOvY8Ypeufx~9D zW@~+hJ7LaTQKG+sEF29@G#VfdK2!~6ERO*_P+@%_l}QHxM5WAqb%OcWedTKp4CtNJ zo)~AR6JN^t_Ujo811@hBJgt3Cgpe%1J@gkk1uORVotE7KZv&$KjRmRv>}D(O+8!OR z`ED}&yzp@wuL#=^vj`S+gyMZA!gR8Eg4V#tjzvjU()lXaQiip`PZll3;;O=Q^bepXy#(vGJ{yg%GBKLrZpZ5#M}oo& zpGj5lHvVp#O8Qk9!xC%lmc&w-`vL*M<=LLqhQi3`Xx~G=7WynE*7l~Hd4t#a-Z)VW zM6b5Fxw)f7+0;I-e&D+Yw{3f#WcjVyp^%R*+h>0P1v9Ylc5dAbW_Z>}!!*5JAs}$qcN)y=h?;JjU z{P>*w-_V!yw%3@jhDYuFs($aALlJ@=0Yc~Z0wWj{z=O3IOQk%~rpbWxAu}S@(mqQy zg5ppPWc(V95L!$b+S7D)>!ci(>{cfIkry>a$12!MY+KnQH3``77Gi57L$4F)(V6>1 zVpDWb5d)I)r%Zb{J_>#Q!gXpVhe4m;ufqz+1xNk&dqq0D(dhQZ5E5<>Q9UoqYapsn z7Yc=jf^FL=0uEcBL;N8>E0Qv6@bVXc8d<0EI~Qc;MH#pTSHlDmG9LR+z4~Fe=`Om$ ztYb{>t?)(Tz+JS{wmNQcp*`kXEMQhfRC;OevrfQ!7eG5XtV zp&jr1K~#9uog~yg)IV@%N$sm+C50lpJ+%D$X`y=YH!vT$Kq%|BZbYSCti{uuzZ+0N z6AgBkfUSv!9J>6o^FkcwH7*>Mh-5(MpLpORgvibp$uyK=Tp7N~VQc&(x=ofG3I;~Uw z7EPCy53LwHzTtKROc5JyYMPm%j@Ft#cE`8Fp(-F_yn6nF@Vt?AWXBF~;! z_gYrLm;r&>%llmJ=&} zPJ?pouw|jn zv5bO+nt0xLtv7BkvCo@MmM|qYB)LvA>Vc#(>wVs8Hj8B-4EcXM;M#`C!>i=RF*(z& zYVjzs-$?8uy<6Gg&(_&}PF-s^$OZTPNxs%%yZ{&HQn2hpz$*6sXC?I6zv9%+ABe3f zY`EQda@FQd?3}Jx_jvybntFn2X6z3rDsK-Y({5ni&B}S`!bY4v-1Vl>p*I-fF3%h3 zR$S-^(|%&ML$2t;yL!f2Kb1axw^aE#){acTq7~bEd?UzI+nvmA*hZ~QlcmhaEFpp8 zx22vGl3Z2xj0xB&6KOwt(Cu-6ycC4Nw}g80wB@fsi9sWk(Zs})+2|+X7{x)iIa>VN zdsoPzD~LBgt)iKIV@!guxO>4Cy99@rn6FEv7Pwo8Y#OY|AW*noMPNk5Q8av}73m90 zL-!A!z~p?1KR$|k9;?&B+riv^VL~jq*ctjxR1f<-yD3|Ly}+L`dPK1Mp2t&Z3EY4(_Xw=e&sy`7J4#TVpAaPWm*@$2V4Bq$3 zo9L84of+h?f`7`z{!b;g-8_{>{a5`Deq9^ljFMV<-^b9~85qRS6 zNdemg>6Skoh7bEgx(9;X9UGCip`a88`J=WzE93)h48*00uxOLka>!~$%+(9MUBqfV z9|GNvcvAk1SgW|I`tl<5VI^Upqtoc?cm(pTR1a0c7_fHO5cey;>TXnaAJCY&b)MHM z385>5Hzl7t@!R<_dP*c)Rk7cL_bA-DC+nK40FW%)j%R5(SY(<0^V2{KJ!(uPm zFi3G2|ExXgR8~~>CelLC&uY8L`173K*8UG`Vx#xZIvFuS4|8jgw^Q;1xw;jd%s%vQ z?|u~00r^IB?a3ldHS1mpP?m}f3$3me>OqD8d2r{Vow3;$w)b6J)HMWu-FC<-RZ6FQl4(MKc|H0AK=i`C}C z3R~_pa`$aYX5ctL0?A`wdmJk4O8)(2{m*RO6s5=@U8tqlWKCOEjk0q2_g+z(n6 z*aygQqwhojZ&L$oLYQEJj~1JqG|&if4Tv1=6U9VbwOC=?CDexIMqH7^C@FM2rsVQ7 zU&{}t8|{rcYlLWJBNdeP6`mCzdiop+r7(*d%kOiBCP#*aLDP&7YLUG@S-S}5%q#EC zTU1A(+03e{PoLku9ixsB`N=$k)w0hQe%)C7FU%q8l~HHti@GNdCh{$tbg8;-!(@5) zBT$wTjW7>^orHz^*8Xnn(-|A*{$P-}E3sz$b2L#WR?>QrVt`P)s?B`Ox)=npHQ&RG zIM=2*Kt_b^LC8O2v9On@NMMZ!DOUN9A`ONJDbS@B%O19t0H_6e9fPsMk#t*to2xCU za?|oz>bVcqrq>&!CIeW2GpARExCD1QK8zLtuhN)WhJ6z=0?8LRw7qISgo%j0DgqH< z*e|CW0-KkAe6fch?VUL)CDjLeRE>f6&IjB$t{O)6 zh#gymle{g`fYLiq#J3i`EtgrVvfG`X@S9YyT@Zp%dbo{D5T@FZGLtc@YQC~xncPdQ zksi4K6B>n?4$}K~wMW!)upsuE<`s=qXEIFmNM4HZX!WtL2HVb|IxX{V{_7tV8+EH4-$cw8hoI7 zk+BU86Sljb6ebvF>O9H$kmI`kcjEGx$LZw*EQVsB@st|1rHdVo#PBE~0d^DC1}5Q> z2g>7bc&w)9GUySDsv19KIf*1!D8yM*zq6$K7e^AN;l8?4 zOYigp+!5e_n}(Z(_m8~?VNT!MNtLZyp)k$1hapKB&M|!*kd_% zX`~N$MK1uSB2~KIU7JnzDDH2-x2)THkBUSwNt{*|B8Do2O{DgigX&G3YoSR5LF7f~ zzfruvZa(zguF5f@s@Kk>jyWT)3|E2I8!pxQQ@%d0JMj}8DH1NfkKwX44BA1s!EZ@* z%Dat@2Ov&O07W640O zRx~{&> z=yZ{RZfw^cXEoV%LGPg#kLUwI)nLXN>dGJ`?1n;wl>daK%?6eZyI}JNrfI8(dmNQo z@R>hbd!qEGIHN7=G{f`o=$g4ZM%D?fq zeXnW^8nl>A5zuk@8pclA;t4C?e0zWq2xDgN{04l%0l~D>V1N`UQho3LudiiCNj!ixo z3PNKWF^P6izTYE%C-=^So%%MFg15ZY;j6MFUAXJEZJdMdEyt6`K1j5@Q3yA47hLEq zwCr&Bvy^O-fYzCGgek?PhxX9a)&^@|&BkOKyd{@mepGo#oq_)rS6oWyuKH*s;L51d zn-Uj@W2MIN)w4C=^xF3z98{|CMsIOL7SUp`V?&|_U5WzH2Ss0?kfm(q?`?~Qbb-+s zLcsEI7(+glKaTa$U@O+=6E^a8H_7mh7c&wq?LCZy&hN2pQtw6a=WM@<1g5!9t;edc z-=P`cc>{eMWE_P|1egxuPl5o1V~^)#NQOO&J&wz5Pue&&JAY1i(}m=G(wNp29^PZw?52#E4Bu~gxx3kM_L}JoDI91Ti8Qt4>N5IHRO9)pYJJ~UGZ}gYKOruMdO%lQRMo!&sRx|Vq3wG zGT}7TsI(=6ukiT%A{{4&0WiAK6HVkfx%(6N6F8#hvu3=f>CqQY+PfplnbS9Wz362b z<4o2IkCsQO&sn_czajblZ1S8vN^V|dbTu&}F~j|4$JuMihW~G&5!!3tp(8>5MQ9Yc3ZxKD-M9)a`<-pVH1iE~& z=+((r*3-B7pRLLU^tY{980avXXl;9UkzT$iiunC=jOW#FTw*B#?r&-Z$J&Zkb9L{i zTB&5%#bWGWzAz_bXb4M0A65$+^HLvBgoKz4U8{0bRXtp_@ls%s7^0G^eB_vrjKOd*`r9AzY7y}4r&wgg~-W3qC535gcz_lK(!_N2kBE;}-X5Jlc8jKGYi zr>MU6IK1dmkq@@uv6-g3&YHz@6imwqpx&A#R|cnf5tHIXzMPWtZlv5`h& ztHxL#V`*RjDOEr6S}><0s$&5z(`C;#cUKR&P~_6$#@hK(cow?6HST8tLUV-&@JUmR zg==Z-)Ds69Nng+pV2V2)rMYDjb{$eyxiZDB2$LP|CO2*dAr05^Y{{N>cP)_QEKi?- zC*KC7kbSvOZx0x7t-$<$7wgy9$?{+`7g`-g|19FvQT<~?6p-Ei@TrdwaA=fSQADfZ)|SOZT4~*+-xcfd__+PSl`#A&ruR``P?jy=tM`^Nr1JB<_Be zh{kyy28IvpEZ?MEG1E3wkFVwhKDJEd${GL}n};i@ZAW50#<#z@Q)dlmJ*H(4&iO%$ z=k1jAo$U4TA8HJBXgtYB)Rj_^e4fE`_2;wuzX2aaD-(BB(SY0M=Ao5(Gsu3L9PtwA z#EJa=a_%1mb_NaK4$y6D;5UdiAwC(f2y7MlYqWppIOSXkvP=hGgI9~B5pH5i3R<41 z|IWci;Efhi%?5kxV};JLnect<=6Ml#U2gYK|`KBH>SlWo}UVrMHyne3&1a zr^PJSy8Z0@XX6wPw{0Iu{A`HUC_wcYh`%m~;UP;U4QxXB_yH%o-mP;LQF9DE`R6v% zE^Tp~O&cMu@=2T>%ddsN=8#|Zo8i#OWW9KY^LH5>uRP*yMGH;Ztgglb$JPRukBk(4 z`siR{NDN`1w10AOnhCd7W6#hgc)0J$cXd{1J#A&9L0zh?8lH5i&N^6@ga@Iw=|>SW z2-5SgvN>OI%~TKEX9UxTU8EYoFPhL`R5Ag60S5h++zIi#+)1ViKw1fVi&GXoWBRqi zd02l3xvvKe{rs)PdV;MGOxA(_`E2|azvgpFZF$f9+irzG;WKsp0FxONMzm&O&DK0R z$?cza5e+vxY4=U<6mh8=5TIh;rM_pV<-1X$JwI+;m%GxpC2?4KGMa>*YQ|eTh}gKR zGTp52Wl{ibq^Vuwb4D0YARry9HlrcuxWA+zf4%eP3n+yYNv&j##WgGwKmO6Lm|>3N zMNhsB8-2O*#+0fRP!`Ps+{j2=R>o3IM2?+3-2|Ns%g8{t*2l=TX@CIZ`tyDKs>}aIc z|E4R(L5cTN6DR?6e$dDQIWU6g!`+I(fb-pHM@>`H^*R9l7v8Fqq(p{bS;tKL+W+fD zoTf`=!>Wda3z;*X*yZ&NkFZ=H9*(fsKxs_Vm}Y%)t_e#KjpGR*`Dor1smaPIXex7_ z&-N?J95`C97lcVkNjpHR2q>{70%kR<$Jw-5y8;C5)o!$TobA?zuGDY<25wJ(zs@VO zfs__c42xLIpR+jeYM~qnfTb@%^7~3ly83o$5~8iSABT+A22pkI8j7zmKdY*@3BcV? zis#2zg3(Zn*@J8Hrl>Vz^g=WL@6kUd!GlK|J#MGf{WAp}3BIu0)?vz{+k&bFJqmro zH86WSz_>1StrC(1`kO@T1)qww9`_`l&^b5L$*|vKBG|lPg^A#G=sz$?0xYZ^xF+); zKTddTeIv?A6kxw+HZYOA+BUR_3q5Ck;o;l)fe0{p8a^-oM&D*zr}3P5wo=lh*>tB7 z<-hBswG^lyvAD#i&kx1@nX25V5pc;_DQ6CGim!ybf!X_AHQziHljh>D0Q@OyR~32i zZrO`q6j7gHpT`HF-ghc41k{^_r3$#%7`+MrzZgpcAB%+L0@|m#brM&XPdcK@5(Rwf ztcli^LA@@}kbDwODXbX1viKoPoi zPf}8nj+nI@*|OhnZnU{kiC#RmLt(E0x|~3~Sem3&u&FSd==*Pxw0YS8QPx=pfXXl)>?tC?!Y?ktSC7&guBL<;-^-lVQwhUg2Ps zDqKwzIrp(8y;&>ZzGTku*!F#If!*@WyGa+;H`-p`UgahZ5K%@8sr%QQP{WC~6BPaM zUZhzI8(iu0D?dDoAU*{24)6HX+4Y|415!y%N63Jr@_BI1^K-og_8FNlRi$vta6i9UKvsZU%P!(Fo+N5qQrtDbx--NBA!%Q8) zqmP!~!sDsnmc|lJ`vQ@FLqXK)-R-Y0_n^-&8Ptaiv$|az7mr-^-`m@$SMVUYUzlCo z|M6H{?_%`2lnmpykr1G^&4P*3i%G}|Pn;g(5BGqmUoZ;>n}*V$sU-)B-egEGY|BQ0 z_*9UNP*YR0*~877i2SR)>e4zfz%f4WtVT4^4kr{gVd!aWrrzJJ+Pp#u~5Y4T*1p zdmRs>q@xUtIvl1i%#Bbfs>KKUjq-iu1C`i8_T>zi#Ux@CI8e)u zC@Pt;TA@k(t99Jyl#8w$y>SLjH#Ii4I-c05vQ4h}qs2<6GE2;y6tcbj5vtzT$V{m< z5TX*RS{1{gZ|>7cJRZ$u+fU%B`x;4?y8lmXq=#fq!euRs9L2g~07AP6wZfkE}144dvPHJ$I+C@Hs3Y(oTO!&Vvnyy2o*Oo&R zF1?rt8D8F9ud&dkxo*6Ka>TUS%NvwB#bu+F3rG80tS?XKBVNBvPe@ zWk%(g8)DsklIcZsv*WKYpQ0EC0)2p~qn_g#67FRK*(aC{Y=j?x{y$m6TFgc@^54sm z6i}PW-)!B|_gPU`OFn{%%u3L~F!ksm6p#T9O_9@OZ}#u;#vpbqUC)PY!qI-k`AE3O z3LBj)KeQZnNEnY#q2h6-IxP~^hFe(Q9VrqY3jBK}P)j{Le`wU^a5mN(sXXjWFLMpE zlODN`H@9Fdsd0&1!K_E|1&uqK4!QhW==h+7@px+BtfZOu= z$!-hCLTN`A$8W{1ykBNG>h}2PC=YrD2Li&u#&`q-^B-)lG?e5(H6&Qq5M-S7es z`RuP$w^$;XcSyUVqf%1fY1Iw)y0s1+)IAx~S>Ea4dSa4HvIl3HyXw$Do)z^_B8q-D(#gz+quHgDr zJeJ`T>n0hEqXFwn4I{BavC7ha^&kVO0jdb06eCvA3!T?4P9lul-RU{BoVElY6Q=h{regSzwdKFr^( zvtL*VVJ*&EbExnzNSY4qy+N$iS%&Oj=fnB{7mk591IGxQBesmx&pv;?ox9tkfyeh( z?fs8QUFf$?>Sllk*Ny$Y7WrHJ6{)|g4EX57*i9#9{{2V*bZg&P2Q@cvDeq8j zI&kdvG*>OTvBov60TDaV1QP}tR{Dg$F~1d#wsuJ&F%xn?x~wiZPvLX?n5v1|PPv-Z z)4sS^F#n|-s}t~?*MK}LNIQm1j*g5B6>GoxLBC29InipKKolk%+9zq8xOQb^iJj7Z zE}&E$q~q#A4u3zu1^uqX3V3D~h2c~yk|5jLVCZS<8_NC>1E<7p@@E<`uA!WXTw&tW zn+_<>1a`19%=KQbw~!~305dE@plYX3I6dQ<1&j;&o}bmQbm3lq@y9x-bhMEKe=X%W z$3F6WPOU|&^gsI+9g0am>6unb)oM=Miso7iW66`|RWz0$x?i+Ltar9ZpJ-H2m9O6H z4suG{h&`(+%`17{prh`2v$@3-D6C(0sthsymU%>1wcOTO{N}ZN{Xa1ukS~jV7?B$K z%y(lfy_xMpp~l^gM;{R_=xqUz#q@H1j{rZ2$!#VEZuxnbB^asw+y@s9(23h54Gv~& zyk~ut8bpRMHB*dhwtG!E(092J!=}{l@Nn(QUwoVr}2dr>mz&*BhJq(gns+>>Z}B; zI*e>OHADMam?@mUUiBawhSUd~_Ft@a1XA3Z?q%!Gy1j{5$ffT*w|@sB7INY=?w=mu zOs>23u?YQi9xr+JuJDc8vCJ4qPw{(25Dc83L;z}R3RpNDK>4Yf>eWGeTefkR98c%5G(6lM7WGc%fyh-rIlD8!u>K3AW$pd$MA$)pew0=Rbc(oR1zz=4t4@oNv%S`7mKxSPQ-`DorYtxBK$OL@s!IvKQE z`P(oG*HBU6nU*#*sjT`=8!D@5Sa-Uce)EjbX39ksM}Fa~6*u{i);(e`GA)tthw3Hs zQ?}r&gV8TB`VEKU*xEjaDMmbXpvvv$k{RUA#2umfg@eLWA&)Z+OE-Wv$pEsDUYyCL z3Cw)5WUlaTilx^dvo=1d!g*IAy469veB`N~5K|u;Dx~W0f`=y#fhwKX{!tdAYBl3C z4(Eic_8Of$JTm7H3^AQJOo-0*Dwz)rw>BswOttCdaf$34r*^~&??let(02C$owKp4 zs=LGIg(h9jgM+Eox})uHF@&Y>*4bvF{YO;@qRXizGVn!trRG8fxN06+>QS z4KW1j+5;sANBn4?K6L*tfwG4jhLpF5Uxc4kLBTzT=DuGxVtWqDgrZlBJWh6^FAc19 z#e1f+M)W84U*GLqkxR2)Im+9RPVso&9L#5PjV=dXa%vCbdDa`tyB$Ue^xmB<{1QeT zz3eJio*&srOVK~y7nX7v9`Z+V^HAoLM{Jf<(Sa@wmc9bvMK9m2eIUxK*S^#q_$)XJ zs+liEbrR57B1LSbS82Z6EqnU(@NP9gq*(Fe#}|N7k_L7dkvbP#)hD&j0!=dE{zm6# zF;C6hv{?R~)mc!~$yJFte z?J9NOWk9~ZU4OOhck!*jV4bzW|NB&G%8g2t`k)9%TnGY{>=yRW zOEIU%gRif5e{XJ@+w9HO{sJ9h{n=LJj4wqX>+EDVy>r<;-#j{mil|-*hmKH`fpC*k zHXr2R#g?WNh|-edruprIN`5Iur#9!`nY4*9`A?~V~IdPA=UzFiS(=~~VmSNd*j%M6v0# zzsX=#0U5E;6o3wkEEO0h_V~BelsW?TkBjI*K_ukvQ1JE$*U1gVPFyEPRf%Yxi)r%( z11__|=exeN#JBQ|NZW7Cm%w)sa88_gM2cwvndzDIMXoy+SrIy@?*B}@b_i{SO%DH zHWJPo392X$SS(bEImOE6c^;p}0sRNWPvzgPB$KeR!K`XPrNYOE2~Q`5ftdWX=V%zT)p`ZWYCwfTENWHfDWsjvN< z2Fs2+vKVE_x<=aDVXp&Pb;T9uR+gq^rJK^U#iRvlGLvzD@lfdz1LQmLvo#Jn@731Z zP`}Tgx*~Nse9hFlk3RaS;4Ae;GZePwZtZC=>*hQ(h&1tnxrm(n-(n!=!&pe8NB4H4 zeT6H+=}q7Pacm;$zvg8oh41pww^1hsBnHCLI08S3_85Q8b84-pzW=k3 zIx7ak4VnR0icV;RU09JUTW64nd|ua5f6fRb#!vbv=9fS?C0blvL3{SdR#1!q0M2m+ zdOA#}y(OZTNTajHE%1;Rb8nvwDC0ef=>2vT;t@^|(0@T3Z!!Y2b6WjxdZ0a9Z98#U zxtHZ^kf$sC{wxcon8wzmr>O=-(co&N)H+#vFpj@R$=5(bex}TY@Gs}b z^tJ=q*PiAtMb?6VB_P%HsQ(%19jgpy14`F(BCYe*;G4F>WJZiTkdD37_iI~rKQkvK z7S{x5AHXyoiLk(mnH&tIIV(FopRf*r@o^a1KVrqLesdnE4^3eD1kfxsr|`O%+-@*c zQDAK4BFg>0HwL07S}-OMQ;7gsNrce)1kG~YxWD7`41OoQ&) zb1=n(u=wM@iUT(`@IN3X8m?L5A`Jw7#pBo9gY$MI7~i4eAi0p!0*D{$(;50Va?{>pwAWdp1O?zBo$uXR6%ua zg^;J^N{NvqUKr^CrxNl1%;R(L^zE2X0pG)hLLegbHk`(AQO;sKQz_oc&F%0*U!sH;JZq}^vj_Pf(Kj@98;wo4Xe ztbrG2r4fUQib4Mf3QkLl3!BT`uZP{%D_%NVFED&M>la8t*4H8q#J9V1LhTje2zvei;j4r?YDDY#j5DlF!{8<7;C- z9{j@>8&9-THkHEiLRiKu#b}d=fg~Vs{)y!OoC}o}lIT~Wt4EG$-%!G&2|kUPJD*y5 z3EeDpg+PDJ&K#&=5>kG}m)G|S--h{UPpjhdjD~+5c|tcE(Y7g`3sBWtn3#ykJgH<(1ht;UeTM0>r5<72ymCC;=K9|cAyNsIqn?&IOZ>?QvKKWPO9QXvdQ0`sBs5?Cdu{Ir zf%_p)`qe zez&)mUH;>4IW61Y#OViLAW~9^<$vzc$DA0CQ<@n5YG@Ow8i|%uXKO6Wd?SSE{5ng| zLor2QtBGu^Zq9#q`PUJmQ#`~M0hjtRtAi}*^Pd~0`izykx+R-SI>u9z&>9pHEaPGd zqF0QD`9e_jYzF_n9nEm`AjlVz9{iVE(a%#}Zj)n~{C}56h_wzID8H(i&#*7N zR@5otPu{@Cs;2zRp=j~}PpB*j&q4kNCWhBenAlH#{y=qUdMiJ})2ni9N{ ztRx$OqGbd`0&x5)K>{AKW+s5AK@{@FFF zHGw$EzOR{9)I=SproGbv%XEsufB%GjyF! z$Dcf-Ka3HlO(}^L)rA%ApLRGkw1x*~qoVz{q9ZLCeTUFMwg5G+z`AC6?{(YT-k<~u z3W4H$>mT97Q?lg5OQ)==hh-{!_GKzIuN0qtpsCPt(^v2mPh$JA^4Oi|01xT^jPTr< z$2}lx@iqSVWU2cHVe-Fp8;#f3J?Ar5+8`YT?FY?|epaCbNvP)9>-f99UD`tHXnuaq zEU1`ipXEh<)~-M5kZPuIIG8WO;2Tp#%_6($S$Og>cGg0+L}ahx<2&dWa^ z_M0cabP|c8X12<@x;9Q7&OD(c=Skg?aQx@_Mf_SS@3ONipk7a2^&hN}|JNbfG$$vG zYv@R#Y`Ud|*ma^kf`iX2-w+Qje(wOLgjR8EVEm@6$OSyzqlo{MKWvkOYIV?!rrFQ2jLP0Okr zus>wkK-Gv{{v?mV?b08{64tWI^Edbj_W8@4M{KDriD}t5nef~UH{38OU!Z%HT~yS+ zz5ryqRCIJg0aj!Pv;fgCF)^n#-o5d8jUmTxAt*8YD|j@OOVu`8hBuH=ZY26o;JGrL zU2M^lMIHa#6nS0QTonr4c@adlT?kcZ>btmJZ(r?PZ2e}d$=)c&6J-18ac(m<#{2p#=f@8eAfMOy z)39BPQ_q>R^!>2K3P;thfc;u+em0ZV$F+YVCigvA?`4I>tBpA zy*$TcchqaauPu1{T`ae~&Uwe~WK*Ty!LU%Y%Inr0pf;*7-HgTUBmy@!L+ROpbla$N zloLK3btNTUq5j%JlP*RKMIDd#eJ=0bjt{wQB1=SN)}WwM$F$~IfTQGD=*08i(g+Eq z`fTT!TYh|KjOVb;*K-tJ8bnPtUzH)^RpK);7UsgD{N^ce{y`RtWOmZEfv5QNq@@dG zu8b?Hs1k8#MpTD#WJuigWLD9Stixa7`Q+?wEf)-3@A6#fADXp_u#&lIEC03Ta_W;g zGXMQtR0t@}&Mqj}4j3{q{jfV#rVw7J{3331zEPkvlo-)}S*rd6s96R16Ib5g-A)oI z&SFTSt6d*jMv;AE7GXL2@@L_nXPg~t$!cZh-U&S?1X`C)u9U@EzseJZq`?`P85!O_Z*Vf{h-kJM zF~Yel-Y)Da>3ufu{EO{%KRy~GC1`7zd^0L}{ap1ARB<-h&g~IP`1Oghk_sA@PhH4Z zypgbWx1{L@?cCKii5)OwhpQ~JHNbR%3;q4%ADr8fmST9mH%H(Qm6o;#u+fJ>0pxZ_ zJF+q|VB`Xy{8VMTe5u3`aOH)HpUiOI)|=4JLY4~+yC>h5hPTmKUb%=lzJJ7fI?2s8qq3Sj0GuHK9nF^>wdp zKQ|Z6haomQ`(SOzu?~6LKAZYwNf;b#Gn-&!WW-_60!uibEY_~>{IUQP2LLsNdoh_x zY%SzX-lfw z35pt>b;bQ^$74KXw%5D{M3>v&26HgcRcP@mKQ zBOZp+{yaJ8rpo&L@86;Cot}XQq5Md=?qQ98>#l+hG%)-^zCY_YD?7cqf4Tdb`;%Su z6?@!>858lIfS1>Bc)J<4wXnk#C)LZQv~hmE0_jigR|oUtHVR7NltUvNfXQUVRP4EA zV*K^T3%b?=B}F|xYidF{J+~Mg4a^|))QtAh+)vq3Y9Z8oRr@B8%F=e{eR9M?{Ew2XKhh>(3|6N+F&*hNYlrX!+zxmc_%LHi~o-)s&UJ`}_MDa)0umqk~FK zPzP|#({9#SY|@g)Nb+itcVcP(B+66Ztc(B-gQnsjoBC?xl^A+$J-u?b1!C#yNeiUI zl@8&5*XCOjxBnkgZvjQV^sY0i{8tyFox2rMsj-y6ey(B_Le_(%l`B(%lUr z-QDkx`~Q4veXb+2B+eCcP3)Q3yRC_d$)y7bMXz!Xn;s;*%TWoodUY5HI#KcjV|yAN zgc-&l+jRkW1wAhtiPiW1WQ%X2#~3(YnD_sWNhExq6-QzDmKgjyX;>20$^NPYsI_Zj zSs8O7qCyFL=#+8+Jv9uTrOqgOHN1#Ah19syH$N4)2>(tt;ToGXeKwV+430KZ09zc- z|EwKRwR)&xvo}Da=sSI`@vqu5S`&30OFZk!)*HV*6_8oAJT4%2B63Zo70XE2!=}YW zQs~Y^>wnk3Mh6cEFC~6$Ez1z>6kUmbclamhWsh2->HBfboYA>2{@@`9{@XFlnXB;= zEQ&Fh1XOahc6h#VRaC@6$ao`)1a^yPUzTEn%v+%Rg_d{I4pQ%P4QLg;MBD zfSFklkN`}R)Hb7|^%1UuXT`P}Y3e7ZZ2JlgD{P!L9 zVg!SEEfL}2zu<&1-Ui5*<)H?p$PVs(b&#IF5!zoQ|CY77Gjiv+qoC(*p%+d$pwRko zk$_+N!_CPgucddStoq_s2ioaw!p^0oW>{o~h5918ee%nb_wJso-x`^Hh2fKCSaHW6 z#t-jVF(Zw*2E~8T0SB`s&BRSbnMsYG!evuSfb#6@!ej#|=3ZeBMGOHVc04~&8u}r< z=axfo%Cn8#=j`KDOBZmyRGiuzFZ4>kXZVa0cyMFNzkIQqgpLRG`h^c4!L_cWHS_6o zc!n5SOJ~}7x45);_ho7=)G?limcUPVh7DOl|4(4aeoubs2auTDWOh-8%7|3Y|!JI+HNn>tdX9l?;s1QBXC? z*)O*LTP7nc{gz!d_!$P57SKnHRsNSaJdTMnTK5s!#%j-EVVnh?4%R(vPDbSIO6!J_ zs#+R=3{>A{?RU=#8}@?6pge9r7}o)0t4pGcx6tz)hyQ*`OYxJ2Mkt7+?2o0NXstC- zvMVdGfMo91djSD~B|~R=K%<#0m-WNg;z#0dhi}ZLD{SuiGYel^T8++H*=G8SB3%ou za^g4=npKXVOm}Wkc}`fS``%AAfUVz;9G1FF{**(N)InJ;%JKnlMcgJ#!QP^R`*|%h7TRw?hxJ zfxNRbCm{dFSI(GOUqQ}N{_S9eng%sTB#@LBVjq;1BUq%P*xZZV3bTo+dDRrf1pOQN zTY&#FXT&n!QX=H1NH(s5PIGOAgULKe`utYyhdlhLDNE~^_+QtF<%}8yUtZ4zOH28! zG3O~n>%$Ym#QtXP3%r4KAyMMfSDwkl`~UNMNahcStEj{UYNJA5bB`LP{Hr7$3Jr0K z@5F>bc9MmQx|4~8Do<{ z%U2~0G*GeVG&yTnO@KihB9FCwgpo$?zIWUR2%}MvFGiG_avB?R!-unoLn^n&UzY2D zF@b+>fkUx&-6J1cPsHZ13@KXNtCl_1*EyoPKK=OhR0>^rh?6r2LE7*z%3IkOe7tqE z0L>$l(GOXBiSXIR^_osYqKsHs>sI~ZO0b44B@Nt;vIoz0KCcH-AjcjE?fdsN-@|5S z)l=-pe)zCcJ&$H{^#ztZI2|pgp#@za45{mm#~ASlve3&OoVHFGM9Up6+*XCAAawAW z9Lhq=tR9wAB3}^S_h#!)@p0(?%w!u9$eO~WdvbY_O!1G$FI{muUECbkTYL!rd!3lR zT>L>?C1M!6N-C{Uz1e$cBzR=ub|DNss)2)58+UK;ah|ffdz^5ZUAjaPWcFjM0d&fE z_I3)T##}O{n;p@zAryBgD$4ZW=7$p*H$bPqSAn@!>aOSqOyT-*`*2hL<TRc{N(@%}o_weSMhw{q0R?j$>}aNQfZGVO>J^_00N^ zUekiB+Oem)roB}?*Pd<3{q1L$Wjz%owe$O6nYLQD769K|>`Wf&=5^CEeuK}367EV% zZxd020VYlH9z&yq%m{k}K}5r|iUT{bnoQ8c%-zVBbAR5zgmuuzjj(Z9DMrS{p~{@ zqt}u3&Ede_-c+@Nv7A?Q(Gf0~^E*n`A)6VSOUnF6-9TIKJ}=5xTt$2-Mp>fLFSlL}a%$}YC`0Wm*${zo3cx0w z6-lWZnDyR_s5*D1hfq>cEm5L@K^jphsnG66v!481sjwPPa_@%q!tNtb!f&U>Z=8Gc zgoeiNS?M&H%*izab_}jiKMHWJkGUL1gJrl{86?H2v~7-Y z!|X~F8upfj&}osSO6ob{AN*GXQmUlvzs|Om9}0T@5rn$t<<)S z{=3pypmeIcG{35^T*?2#?0z~9?=JFdF9E)@t(*qG*2J~4=3q9xuCZCDqm~)4rD?J8 z&&@jnT!ir`irMBbjn=()VLe9W)VyjZFPf-y_y+V{MqU@CfqJh9URhsdxKekZoHwVP z1H}^%V&Ec)T3pnoq~sPvV}JV=rlFw${0|u84F09B{k(7bVwAp}^m(@He7*CFbj8|6p=|BDqoVv$p0o9j0||3?cWhTH?ly_iglqlK zRtn{Qb>6D|>~XVv4;2h{ zCB(WSoTa?H1ct%l#>5GffXAM)vMR-f*x1zc%illI;1sJ&N3vR5A0@J>$=7pPhrApuUSD1=|MdltCb1*vZp&s&Ke$-Th-4=-uXuhosEEGi|{Y--YqQL%B~{<|A^N{ zCg6_ar#}}P2;Ja5-z+yL+73bzdR(k#z4j-- z?2UHC)z!)($1w|FbWg|Tl`WwBUGA?K^Ul^28X8HCnF>ECw#)IVX4c-b3An|PmW|xj zwM#K0qXYxI|GN%qYQaFq2Nat5pR=uZiLDjHit+m#Bvg^^9OVao1C)d~Cre%{YN*${ zCy|sZDp)GyTjyxx@T=q%&wbNLa~uBmYPK&EdYl4Yg0Xr4m6-kb78HcIzX)wO%eD6P zF^~;%y2|@E+u%S$L}Xq3x%;ensGGq*sU+-Q{FcBY7YwSXyB)^wAr^uNzj&-}pDWy@Z{Ok2dBg!7}p}VuZftf}v-6Z2gkD!bDlBy#<&qlMj z7K97P>eR=h*GUBU3w!i> zT=2a-Z^vs&4n2Fmr<0g?3b_0W`@Cygr+Sk5kkVwM@-d*7?<_sba`W!-dW6auA9D}@ z38do`cLpvS`O4q*XE!Xwr#2ysf^e&B5Of%IM4w#ZSIW;&Tg`U=BvVnH93i)wd!~k+ ztr2mSIS>P6XoRwYIK7mMii3;G@eVE0>I3&jYZHa)h&pZVt3TaeW^Ij7;H4bhp?;Kx zozd^P?N1WB_r7jSM5oNf!Y-qNTtwW$qOjW%NGV=#Cg{ESHcW>88RukxsqH5~FV`=C zPKx8fJO}%c)J#pnw(QyK=RSi2DY0ptuZ~(7CMgv9<#(?~REC3P&e8eb`qr=&*ZZ>< zJ?AcTO3VkPzn3J=56ro)CUvG7y0t=L_2SgI3b85NR)Mz_l zrVxsj3y@don_sMc-gu&b6eEr%L|Q>!_H6bOqvvIHOm5Fz{$m=eOnzx4Si7`d^I0cY zGsK?)x`2VU_;Vz6HL^D~ z$;otY+4oJZDawoCTh_o*RfjVDMe&In^v3;g5Pt&ewN^OO`?s9;VQP6p$=);H=Y~C1 z&5bV#guJWIk3bvNc_dC~r1@^z*&Nwl0Jk@MQmo%lU5Ik*oA14_KBJFmv2GYlITTM= zjkggIwx`f?(4@Fe*1}YYQFUJrCCzptouzW%lM!{Tg9Whp-Cb*0uJrVDYb8cbn`P9N z$DY-77&t_AtGz#*0eb;-9n8&V`c`}ua8xrkgYfD_1>L#X3*~2n-hY1?Wy)z=2GDg9 zy>L&MQ5DUeSXJycPNiq8PJG|54P^{+Aq{6nC|N$BrH^|FBt|-czQ|`?-Q{a{5G0)U zXMKV5eM>1eYZ zW7?yi$Yvl`W~!jwe7b%Km$yGWdGXxU!i!V>A=^;$bau#pp`ZYb+`AjnBYQduTIv<_ zwiydL;Em9aURDY^Sqxbwndm{?_m(M({FFWZAMprY&CjV73Orf_i0SjOVV{UocfVp~uiJer)2g_c9jRBgo?EI>RSJXKidt>Ip^!hQ zlJm3--{nQc?6-Yc9$RfO^|CYQRVP?Z_^fR;r(0B3)_bziYj=Nbmv@;2Iz1x(h;JFf zjml~>b7|>Wsf`dm(0qGE3jLI+D8bLSS-Ul&LwD!!*-pF#+H&xC*EzhA2lfN52OlU* zsd{@aZMWEL$VM*;7G5}d6@t?~e3vt2ilrr9BW0CyxVz7d;vlcne7T`?#BiTgVEy@d zoL51C=!Ad7fiz8nQjnSzR*V8Qs^60M=`+5MI25&ADA`_pahr3~F8#))^_|Tg@+!NJ zyNl41|3_$QN`Azvcx+C9tZqaUxvs>pwTl8AGxBd10+C{_O7k6%-+GJ2n+8-1gT-h& z?Ocu)#)JkQR7USiFMcnz*w8fC=KaRQ3&Nz3_~~(VXnj-!J`%7P!uJJ6KLDl@?jKE3 z=GE>IT$c;<^jQZ@Ph2X6Rr>e_rnTRtCbZ_P&$h&K!~qR)sS8MB{3tMqZhco>K` z;>z{&xkl;(;u>;+Afwoot_p3C0kT~i>$(692UM{ijEsKC0d7zzio;v5rrXu-3rF`; zkX(1^<;k2E3v&|_ql$LVRH0?PrrVGq76Qa}ej6WG43ol(i)Yah$WQSh( zgXt%y6Gw~|_TQoG5FA{!Nuis%Coc{Y+bB8gkLRsyY#at5c}=7o-Jxe{T*EhpQ!`YX zQ$sy}WAVw{t3Ratjb5gg5vz}Z??i$-p&u@uK>QT_5%wC-r^TU;v^@=icIzg<3v-Rz zP6CO%UWbFr4O0efj8DlCE!UfqrPOsa4abb2HHY_wDH)nFk@2_V$qajj=%MO%HGQ#y z>)`-=+|HN+NMtZj_IkEz0-n=<&clDADaKknTw+jO&^{C3&}8$oBYem^xitMn)pL2f zz8U=Qa(8w*vjG1YjXpWy!t>&z~^?zdb^l{ML7EP`N#`9IoMt)jn#|PB+PCk6o`j ztQ%%kuDIKGG%3iDt{pc&Jx>_vK_6Xj3hhR`uDizHdptQmXFsoq4xFN1+kD3PRvLeB z<2a{KChvVyrG{Vn1if75Z!Xy#euC;9q`cRv-1O3`D*G-hiq$b5L?VsygEJ7XQPz}J z$wYd<=I1~iiZNopY+hPrwOl5OZ@i*3GDZydov11n&53ny3WG-NrA}iTR0u~$rj~M` z(n#iV>w@2H{hiK|$6>>jfLD0(OSTV0exabi5H)9 z3WPznxTwo@`?02;dlU~3>JXif(-ChxGqEjyxvf;E89{MK+)R{YO9GCEb1cB04Oi1^)CN8~` zYupHx;PjQpwIlgDZKBYtsy0`z5j#jP%<9BUNvY15`j~pL>U06r{_lkbtGO_uA~EZL(z{XI@fE@$bYljPwr)3VL@(1xVYG0U;xK#RL$7s5TTx3XEJy3&ZOy z1d>V!Dg5yaY6~tF{9-F9%&`m>LBd?+xx1CnEgsDq2Kje_t&{wj9k%)P^g`sCPzmIof ztC)7U={5=4;ITP(+1mDSK6SN{)GtN`S)O%jeu&WNUHG6kkslZ16lNI)qi?5U#{s$a z^gardKcIrldgRvFR1$nQ<3Cv)N-5Qux;~ce@%I@y{&(jCJ%{rq)ofz>S&##9hNBIs z7-@sJa&+1tleIHJaNt~7aXXkc;3eXfeMickP@Pk6FyON16Ym(`>jk_kRQp~p`PRPS zb={IP@#WD9dKzQxW>sb;Oc*{BwH=ru?cW)7s-23To<7xxPhy%`oGarR>2V8$^))j7 zvMJE!vFn=x9dSZ^e3-F0x;r+k<6NuVMy1};yGq}N_gQ_K*nGZKEmuA7T7M~;Obt6e zg~0o{k^Mcmy79RDy6{i-%;cXQ9=>q}`|f7wjrQ8pGXdN?qg&O$;{5)rNRE!o`;?2 z6%f_yV3o#%7x@+Q+eNo}#`C7vOaI#VY%|#jF?M3>%(C@>?o7Y;aiMcG&uy^NJ9eS!@^^;MN zbME}{>eoGd8{N-sIn}gB{d27}qJlP1UDIeouhz_LKJRpfy?GPJlgG`Ik${3dC0{1B(IAa&(io*Cv_vU1HH?#cL8-YW0{{h`8b3 z8rj|rzxShOgGtnkB|;a^&NyitYmsKoV4-eH`Ke&hkl?7hl*_jEjPTjYWturujy;l` zD5Kfk{N|M!r>=%hOdBJOjIK1r8-e2#2K-pZ`~?`R7jGoqc(VarZlX<>eN8kKq3g5M9`EC!$^)SXUAlOG)-+*kcGQ#hnT(65ihh*j0xA zj>RveyYG!sOSUY8}O+G*47*&5%#ux-)GV|J%eR5}IgLYaKfzz|U=! z`f1>oWC=rTNWfgfTxGv(GjT86+KnS7YdM2u`PU7CUv6E{%=SIiuN|Eaz#XC8J zVY?6tPv%Py+O5RB%!c&KIHJcK!u2+kFpd=m8J30VNemYHOcwcu{HM!o%2u~iqi_+YfZowj267S5k^X+FI0frgztibJ?yna5%Wkn5jb z==W2LV?FO?bfs=>sI`@y-FP{8JGIrQ<>fS`nZR~#Ieh<_@%R>I@!Pg)peCdYCPbz0 zDtaJx6KduNSHE`J5CUm|l)^Ae!v61g^sAGE()VWSpB(pmM!1B$9w%^{CRoZC2z1MA zj-TH^rkfWAmIY>vmG>*+vFDE~(vTBU2&y(7zSnt|ed>$y!_z0Fp#N?J3lsNUZ{Ek2 z;xZRTz3idGbKX?>O2c26)I|gQdZo}Q^lOBFt!#As-Fh&dTs?Pson48(O)$;j+rI0a zNR!@Xd3kXg5T6Sqb!IHT|NTOn<1~Q_7IoLHQx2jbXU#ylygLIY^{t5Z<8l%?n|s!& znY$10eo@&c{5=+0Rxrme!ly2C0h;Ek;bJ9NAqWz#1}!e8$|zw)J^VH|8PP>1Nj+miR+{f2eFg1KhP>NTFl%)hV= zPgji8gR4hruiglf{BOqZ>|5?vg=*MVo~A<2R?G6ZL;Ks&c`l<=^cgzarWCu!h@?Vd zOq>^Eeo<2pU4%Db(9>4p_Bm3J5xdR3JjZC@HXCmX%{It7$e3`_0A%SGyM@ z)lN|B0TsuD2}s7s*1<&N;LRHw37@g0Hjhe&Accis;oJEZNEhaE)IYq<4{y}(mmGIH zx9S)Tux=K!%fv1YW5_Y0PW58F$Y5P@+DBsPxy`S!fxSS_BCy+@PF8!$?&~vP+Kftd z7P_rV<}9kvY5!IlHcnK9Ep2iRyJ2=SGpumh!j4t(<-}w|NJZN#uV)GK5;AX$gvb;wYVN`rJ#pVFJn)K7Vwe+wVPHw{nNf*~kyT(Na!N-n0$6C&> z9^RaRlh7l~{9zLGry~nBX_!RNjl8T>>9ib_(t7nibfvXo7<+>QcG_V|u^1n`jB=qz1 z?IveA^5>*Mm3U*eVR-Fx*aOzm(ww+yHR|w`<=O4M&fUtj6mO^lHmu0XGSa#soInJ` zM+r%JOWy6X$p4*y$+rJfrLU=wz)b1h`1dtR@C$MjxUy2hX1cF627D8sZLyJGa!Gu{ zB}LF+W&`Gsg%!A*VP=u^B^EFL&!W~!ga>E@{;Bj$RIAjg6b+y{%ifemmKKDR*c#s zdt~Wm5BKpLs-aNz;-5_^Kr=JJZE}5kGAfa8;Wl_4Eq!Nuzxh{+0|JQ`smodG+z=5i zdej(p--!c!G4Ep%Ki&U)JjCbBrhZPmhU{jtf%uwX!02|Rm%$D31Goob8O zX|z438#>-X93Sb&>>+I60Bt)a!5^@%s739+?YBD|GE2-%nG8dRjTw zLg!`v=ki3wdu%ee+a6_vhH;Uu#T^djm*-q^??_U2&{B|)0-CjE-j@`Y(bB#jryZEo zs8kG;RZNVfVoFoET3T~VDsk>@&!3v&GGe|sH+uy)q~kyDMn~NPh|&3DA0#I-YI$~u z{X!I?u)uS{VxS={3=2VJi}Gewg_dAhYd#e0K^~hU_0*M>;+6CYKTrMG!Z#hD{03W7 zDN6m1GE;Ug{qs-KRDetJVZ{B zS;F*KbVi0Ek+S59Fg}WJ%VdrBgGaW`l8b$l$q=g^um(CTYkAL2nmVl<>JN0hI_DWn zmR%b+$B~vw3O0n_N;s{rQWIjizWn<+Ae@>HlsFJR%Dd0wP5F zq8&XxqeBppOWeB{ET@9Je`!?^XNme4YozKchW zY<-}P6=9GsTM>-vg)31-3G0T1{ORu(H86M^Ao?~!%rLk9UEeynve6>4KGdT)jns>Z zu5F1G;shC%z3?Bg(TN#Fj-5Q@=^P^w;<9mH9eW6`x1~S{YHbe*55BnbKzq97%gYBx zg-2jr$7e;JM5|ha3tl`tJfmjpQW+s8(tKa!W?vv8>epyew3dCM{iLm(iiho5HWM~H zEbrQ)d&p5WhuX9hnVbwILV|}Sim=mXO&Xn<>HUh2iz||&*nL0P-VTxY*lT!UVQFcq z@Kuzlxk&*~cuKM8q6Tb&YvM~voAt`)Fp-ko@A z)cZAU^-I)KOd<^B`u3{zyvuGEnY;ucXvm}!NHVTo-O)5BBqTub|0#AgY0pj^T{%>s zA^HQF`V}+w4hzsX$|5&c^^-L>W!GlJZ)|MjE)r*7n;0AOEi5e5s52ozMFc0pjOq`* z57NH6`leZz2^A3z+z=Bl=K3XTP*-!O$%9WAArS@yA!6i`lvsZ@Pc@uE9k@H#5PQy2 z12zBo%|Kbh)(uf02tHh$z>lX)p|w8WNaz2DlaOQ7S`R zk4`z7rG@mWM%K8zIqiq?+8liHhIJLl{r`wH>#nT&>IvE5K*Y7Nciu5eeEi75%#7g; z>k9$GBH#P6Xv~r2SN-i?F$@?wI^qChdh7qD915$es0f>*$ip;G=v3otJT^0fucQrs za^tzZxA(!x>7v-g2U$Mc!QTFRO3Hwo=SK+%YT0B{B5?owe?wA+IL*m`=2n9?T8(DJ z{{B9pP0_$+a!fmtoFW8bSm9cm4)@OIJri^<9S(9l%C>NnOcnk1H4}j!^uM#K5Q9p5 z(hjhWTHuQ7|4QfM0`p^ZMAg0GDI#N=Yw2p~;ZID-3pmzpEJ8RGy(eS4HHDi7R*Emm zja)H(znrN{(1OOyQkl(}-oF?B@ZrOtlt))Q3#u|bF5pMO;FL1ez-wt~0Z*etYZ{BG zh3ejqb@5brQ)RBgBy!r}V%2x&?gCKo*A(VuD;II>MQJJH`Q>GYbzQJrGhvXg@EafD zH;KoMOV%H4Y?yfY_-JIWO{Mc;d_K{pRv(GJXK61s7DmAa!iJ}Hhi>TY=q7hswnNDr zC14i1Djc6MHZ%;V32Ur76-dJp!|YSpMYpm)?A&!C?rrO~k>UJRFbb+ahTeHxwjOsy zD~F;0&f7=Kv#4LiwX+A#=T}$3a@0jdMR^DDof{{gG&Nr~Xb*?N1{sVlECAxJT{?w$ z)||B1Xvx8lIV%ZO)#-2{ec&THJ3F;g1W3^xd6xqA8UXJfkb%l&IK}F=;><29W7-d6 z;^QNpo16PSu!(Ib+6??Z@FfYx4BT@^+uOqC<~!l)Y|XkhiBt6HTNce2X@O$!*j)$^ z{`0}h3&>+zpCG?RS{NAXpb|FuJzOu_*X$CN zJGOk4NFcYg0y#s;g8MECORKL9h;WQHA}P?{~aGQgJT_6 z(+7{0cB3PmRprv?DDzIgg@Xgz)m4^wnBiecN(xHmr;zk?(!-kNWnCaUyTP!=sv?l^G%Vrz>5oEXEvI%pe$sVZ@x11o*Uj#C*t>}x*J&;La#1czB&Q)A%j zN&w;ZwF81-*Pg9XTeWOc@>O%;(b1StaIYb&@ImrSagoJ!)5i8=#bDd)#u?dPs)`23{kTwszDOE$26duQi2 zVD|rU|3DZ7KA{Dx8d!}zu1J~{eh2gn3}WKq-9KP6#K|$~>FGbItN*EKg0{6~5I0jY zv&v`(d<#E0RIH+8B!CFPAERL5Cw&}P7*TgEJ!>L_ktpB_as1uO%+P!}LCKgqGCGQ} z>~SRUtg*R!513IL3{ZBee1}XveEj(0_VzYwSOEkmAcZ15Ec6~FsB_Jy&uG1NU|>Kg zIg^@+3EjCV&7qEvlvDz0ZGHG_E4(gE1V0gI%uCT20wbo5MFz11TU!O|t0^r71qIj) zGBDTCh!2#d4zq|r8X9INty_o~9v()nKm_g$4ARHu@}|A~ofxze;sdU@va&Me70UG1 zMzK1>fc(PlPt~H|TW36$e}Lovq^6djY&mtk-{t4$BBD#9Zv3R4f@E8@=~gm5)$kJe_Sj+FZ0j3(U{wgf zl=jdCM1S8Db%ne%`8@2Ur6mX~BfFE6(`QSzdTmBW7Z-nH4T1=X$?0kNe2!>IK7Vux zJw3fHh+U9DmWlTIiL17AZf0gCG9IW(Uj%ou{LWgvaA)D>2G3g1`1rWFDFG1)iJY`> z!<0ogum=~pKH;(%2i4-{=H_4Z?3;i8LT$~%{NXs#@AwH%iao1q<-fM>ow$;da`owX z6TV{{hY-R#v0I0JS>c2Hg(ZO4A`9dDkPZrS5|GPBk4^p+SDNrGYCVtLG=wP&at}zv zCE$J)Kjv@xbnV#BU~%^Lv18NTV5QZIfRGS5MS)SbnV_bo2Alfici?Ig9^r3WALwWU zdB#YvM0Qg7cLto74LqOe#Sm?H@i8rMY2Up|i5^CAR>sI4BbZ2|UUm+m7ie1{yG)Y2 zLwxaLU(LkI)W6E$ynonz}0TkF9FidtelXsvb9 z2;KA{ufw(nU?H$=GHzbDk1Z{cP%{EQ1d_b5_uQs!iR7C*gSZ zC^}P@cMs)rRuk4+*I&BqPYBy=*o!)p=LtQzu_9)WYJO5`Hh8$Yx@yLLshWGO_BGNK zL}@9R3u1Z#4k9^4oj_N9-NfA}DtRewqsV%0=lw*gbevkLpRnyB5H-0oZdOPUrfu2n zD<3?_1H>D76*0UBMie^uTCVNUn{UNvVW7O&-`zhExmgf8Q;JWzB5*w%=DZuRGxPyq z>tyjQ&zikm{c-QI8|gmw5B{)-Uc0)p+ZoR(pS+=>qN1gz|F#=}ZO+1*L{71$p}K9v zlT`Hk|#NWPKB;qLEq6e0ldF*f)?`YRCQdM`)-Iix9b2KcMt@MESt)&^1 zPw&}Xk78jR!3;8L)~tfgf@(HW7_2isDk&4`qN$fPngR!=A5BB>@XFGo-Y%w8cwYHEmzu7^H;qKGA+pNWh1V zQBdKs5OSuxxAF#AIxs87Xi4}aSv6Fj@Jf6&CYUAmO5n71Al>q;1IQ zR8ZS&Tt&o@(5E{ihMFKFe@i?)wO3YC%WiIdO%#D>-@w1G=^xPZ9uz=k?8)ULJy>ED z^UQ<=Ap(i=9)1BPOVY+vd!t`ypxH~A0l6v01SaF*M&4~g`))Fy-8J9&I5~{jvv{}R zsIv+pthNy1;AbLX=2wiJZoe}X5}&9{$}?ZU#@D$VqZT5t*Lw?i&GwFFpG#L0Y3)HL z_4w|-Sek}|+go>VND8w@K+FAlK=08{DX(J>Z+dDcD|+27W_`HwN}jQ!ES49|WgVOO%01mL;bo$zV2)oYiQdnvwQE{06E z-j{eJv&m|^Vqk@pn+zqZ#v7}3W8r7s1-*DZ(KoC3pQE4{p%23CC@BxuYeJrFHn}vb4oM(_ zTFcX7g_Z+KapXIYi-ivSo1LEr_8oD0>hr=vLxV6mB_+F2mS!NvfHkSUTMRr9ERUT= ztajGAi2g8&1wT?YOiWEbFyMXEfn-EdQDn|3Y{PR*Te#8_3fYCRo2N_j`C~hSR4xV@ z6O)Kt35JhxaBzfaakA>`xpVha_zzIAES;8)uClAD*ckkAF_5;W&Dag*D!?9c2P-i` z8!D)7#z055>J^*z4o}YYgExqkoo4LA*9{R86pc+yu`vh(2hPDuX9d%3l4D*=1R~nn zf#-E#Xz7iiLYLMSxmlk+!9TG8XdT}=Hx$$7DfpcJ=M|36)APk+QQ14wN*Fa_oJ)mv zdaceVysp0UBDty8DXdgQ?ev1<7Mevbwm5B+mDYyzH+lE|0ST4PUBBRh@>k)-*k}n3@ z-h990q&NC4Nzx0|bgpy{27;1k^b@KR}>_4^v?+rU_N2$R(C6mU1r#$SH=X-kfy*`mD`lMe0Rd&IHuZ6Vs`E(IC zpr-FzF*la~i|gN~-cbegu#4IAd~;bxgFFjjvfIgLkyEgjC>E5>+E3PFOL zg&6rK#P)BdX)O~84J+EOhCjA&uIzo}*|_ao>hWp)Lx%|Er0u?r$xRT~9S|K9r*<^5 z3JUr>R=HLLH;Bd#|G`o3Vv>hM8K@@=OjT~>*g)$+dHsvwJF{74$R*T95F_e>{Ca^* z`j;C*#z-&6jJ7}E+x`_6?ploB-i6^SX{`(@3?ShgI~9Bn5d3UuA%TN~1Lj$-&S1;^8j~g%Ef@~GOsWWhQv-##nT<^^NWgQahDTGh zRaJv3D_JFTpyP>f$p!>J;^ORP%-D${bIu^M%>Phg-ah~)?o4oOe}vfB(wO95h@nDoF`_;nfsO%O&4u{m@+yO?ic|w zLar|^*%dWxcT+V2dks5K*$5xW@=aL$ux=vXrV;~6JNR*sJb2}L?$2}1v*`dP%&ZW9 zzmR=E>Rr=qAnFFk^ zun%xfzcj!F8XfNMUuPUPsgm1mi<1r{9AIbH0Lg>kwWpvqVu1mOPAN_*;&IEa5WEu-o;5D-+2BpVg)n=4jPc2urL5Rl`Gdd;Q9(P8z`om z)ttE=3V_H0poq!~@^mJ=s9v^BmB>$Pgp{E?^|%n{=YqXlli)w(1zn)Z3uT;ZdjW1$ zA>m0*`lZ_8Ysew&F)S=@J#@mC7^G19Bp{s{K?R-2r&4_5{^`FYYn~`tOv09wC?X)C_`^GhL~?tsBh+N|B*4jvVM2-jAXWZt z^qXkU{oL_kv)E)%)`T1(2X-*82m=hWYzDlDFWa{^H^n`V34(l8i_-9^73vlQ-Xa?F ziofb*Yn`uOIFSElsf>t;LzraJCyDO~A?=|Qnf_c3yNx)C{PW@Tsn0gU^$c+U2z3_bKLFcMO6m8(F)1m;V_3{_&JrDF>=Fkv z&CUG74}iFx(kgJ?jNQIJ)*vxoL|Q)2K~=GS7!j-`g0vF67l1Vg2nZzSE1m&Yb|NsY zWKg3yHZj3Q))p&eB#VyM4u!bFpEPvc6N74wQBDP70h!c!)Poa-|A_}}KS27`Ef8MN zpsEbx`rTTF2sz^G%FLnn2_K)E{1sgrne}co&#n0C8E{cV&ZO5vbt9`?$mkc6?p21} zFBiS8mVj8a_+kbf14CE*do9~36*ci!5CvzJR=|A1pkA&oT~Yfo5Eft=08@#u=nJJ{ z&E0e)Ydl?9NVzW#gGO5*xwb4LyFp{ehGSx40$`z=_HJFo@sfPK*ta()@Ccu)`|P1m zAsSM{&^-06L>W*QpP!%qtf|3$czBSiSp?PgY>vH`D!YMh9j*w>RUG}@<4e_bVMC5+ zpkmlZ+emL=5~^t1JTPULq^SCsKSi#>(gU`-Kyo{y2Nkex*u*Q=ta%BX;-8_RO~dyi z8A4H@nwJoe0N+Z;QI}PtRG^#%9uH8;gTly9u^>QFpK_8O52_OxYha1ihs@@;&=woKq))Ii*6hPAd&J#2# zGX`pFIpxcNV*%l(hd-!yV~sux3hS$$K1v?WM$5|jo|+A<}SciMOLH?{9^-BP^ ze`NR<1~7ng+6xKyH?e*7D>_X}>EGCo3_v*mu#BETbzJ1kPk*L3&!DdSECX*S;Xu(5 zCynd!P-k8u&w`50xwCh4l%e|b+z1sNJs4r7%W^lgE)B#XAdn7700KlaL+bm7m{BXM zsy^%JL;$k-5bQIt1;TzK3-;}JY#9P(R5*Yd#82=T(sNdeHE;CDq>W zfj|2uAe;Hs^~;Ezs1r8*0~;+>QyLgq!^On~&jw5(w5aHLk{&F+KNn9G711(pQ@%MP zuASYm#c;;=ZscfR4C58(IwkJnw=3K6rWwGprhkceijgul5Wym(+k%I!VdYhF@&ma( zp}Y59OfN(kbmAc!L%DSVxBVKG+&Myz8*LBXTgwTp52OTlc0D68VRF37lQA!MNC3-B2swj zNU4Co58N2D=R5QnelhD2UD)pHc$j|fE;>SJ&PXTOGXzH5@&O%?sVNOGMfG@b4-Y;7 zEoUkgU|k+v{ns)faE$^D5nZ(zC-{>dwr<4hldAr@;U^paclqtS6>4U5Ob6E4-9+; zoA4k@4e2%n&KAIrptjlop!o6K0|6;%&w6)Qh3#4gaxY4a`rpmXZf$tHP_gfQMvG!l z5UVUa19Z!_q&ceV>Yj;sXlQ~_rY~ zz2R#=+;(4|J2iegT%rh*TF>)PZls!0Ae&skK}}GF>FGVOy)2JG2(q7tSR^AZ^7T&G zRcc7t8;ry>#dKgys6LitUeL{bQ;26$qmYC7{H51>$U*K4((jOqxZ>|>-Nytx7qS+| zET{utTHs)-YN~b=gh;bU`(#1;1%Ua7i+~w3UPAjXiqi*x+yPUG)O^h|za|ig(tH*CDPdZkT7;EzRlY{O@FzyI3 zddA2{H#Z(Gn3CdRF$D$m1f4fnfSBp?8B^XjptK{4AqcD$XoMvy>B;t~QxRo|%aTXS z-pW#8RRR2)eB*S*2KJ2;AIBonuky5t{@mwO@b-BiG^){?5h>!UJOm#`Tl@Cr$iki~ z<|Szqoyl*c0+(ELiuU}4wL`x8qfaip>hD5!K7*wG-#-)3o&aW}-Rz19SgnBG8|- zn<|Nw&UpqF>p$`E^A8R&bsMq(kFUhU?1$Y0`mWE5ngH11{C|wScQ}^+`v-hyi|oBu zb|T7*%n%YKBztGClyTW3B-uMjlD$XvOk`wbWkxoc8TFiZeLuhF`SUrBJBLE9`?}ua zJYVZQsjEc*gk<>>+hFDL^75=f>zC4cpW-|){M~Ax_K-*?qKXJkZT|Vo8wxaypde`) z*q0$HLoitlnF?$cB&4RkLLb|omX?N(DJUxXSgG$)jB+dIdUyTr*;%6NV-;2}9UdoX zhUYfeyp*-oiaFea~ZMY${;1VqnkJQ?~uI!I*~A68}UKXl@vTYUaX&ePP1v zP0Y};rs)ZAap8gmQKdWKs-EPugJ?)d2rQL={lZ*-Nrl>UsfE<88d#x<|8L5AHj!tjzCSM zNA7jf=cN)lN7#tC1q7Z?^u-ZG4s-)a5IABRJcDe7w$0)3ZF9zUH!tkG(&T;{KW<$| zUZZBStae)@FMYQ>9kghszGW-^H(k@b-D6&Kjcq?UJ^eL7OxPnK<*T#i`k*p2b!KR; z9shP`UxtdYnw~KTiL#!%hX(~~iC5^HGVjJ2qNigig%os^75o0{fE^DPsI95bMYxjvnN42|T%uKtu^ zF{$rZSkjnd4FlorfB-Bd8lbmM4mR2#N8zi2*Uo&$9qq45*$oW{Bd}%!kz{Bd)iMQRf~*=c)l{lv%468ioUVl#UJ+DDg$l9X@RUN(LYe8U_YfTl<4fw6wJY zDfx61Tq8i|fWp|+(l5NGMu;8LZ4UNGl86qH^TBBmu`^qtT?_s_-vdT$zuTGwL2DNQ ziW1LGynn*ISNJBYdQbm6c0oqiO22-(@pjgK*@EL!5A`Kd)uS}j&J$W8V!Po29*{_3 zdymo_r*wT6#X$9VrU?}HXOXly3Vu+tjTtRnu5LtWMwv}Q}elEU=FXCe7 z<0Ig^UlgfVC`sy1+HPA3xs4j!d4l)aO@*Ld$t8QN_D_&yEr%$BL~TC32KS_@x|+JM zu#o)OrQ0F;g-VdS1(iVValKG@#gN@KGjsDGzK_(GWgp%2@bHk^;P|WWBoSfdP&R(i ztPDz!kd_u%Sh|3j2I-4{190m%1QO9#g3dXE9>_r8_R&t726}k_=>@DzAghsLLWu95 zqLFcK3ORl%v~DR&Q;jQL=D)kdDl~?LbN!Yum!Rd(9Wdqn{P6^x@QHr0>ET5xv3DB; zeAEPETWiAP@yUse6uH8ZoFTSC>x&W7Z;?%r)?9l31_}I#G9AY1-*{4GBUl;<2F~x_ z#qUJ4x#K^1-uE7=!?Ar!WqV;|s$}DL$}@+jsw)37LuEjI3FaN>hj)}4z zG2N!Y8L@Sqr~uIrV9qXoF#S|>Fxmv67tEno`78MYZMufj_e6f0l`h3}%up{ov57}* ze&h76GZueBv>J^;&7|k!8?50AW5bGeev|LgzXY5P$(VSX^S_?VK9@;pK#+ zOhJl8b&_NP>?h>yQ(1tIzkZ~${WyiwPCISZ;9!{c&vn{I8Vp;d5B4?c-P~v{wT0hP zG1TMlz|0?ccQ-uO<+`><%oQ3!7#kc)N=jt5Rv-g|Mm+>}JB0~a#8n0@hI@hiS9gxb zMzp6xY$$Opl09*KNTRR%9Ii&=bm-@+=e1xXsHM&49qLD5U{QLKB8^)XYBQUaF zLr~JKM1kPDyg8wM|8&13STTfswv0#Jo3gsob9}qrAsx91i>42AFgnKN1W^hYOu7ld zlU=O~X2_uUe5;H=l9Oke;P|vjM^_+`l)KMhTmfwWJbsMcb6^1p;n5Qg`$bTzOsaq*4>D+>$1K!&9Jifb z{$SfTNu_NPdlMMVC>f{U+4Z>SlET9bL~Qf?tf5RqdZFd%Ow3%#*hTMI`Y{UQhdFGc z`)aFfBO@ch(bC7<>v}P&Il9#jjMN_)iG7=xflLzvDPm31{BEh`XF9+yJBIp_mRYEI z(8A-tV*snOo`S|plHb##NnpLw(VoA#PW8zY`N2+2z3=I27}JM|E{r0Cw#3uam2@<& zhn$QCARRH6Mdh!L?mu*=1T>M%A$M%8Bb=OTV4ATAd$ian8u~;s8il*>{z}xr;e@5X zuW{PnBIKM!B6KwJ&_dTJN7?fW5z6!&@r@pk7{?sj6ZFAJ^&T{juoBP(x9vYroeH}<`&3l7R`=$}8 z^9}AUYt0~%fP{#4dn4D+S6}pSbvnV4mL}#LkUzy3F*i5&u2Ptep1#fWGWfNO%g2BC zv;Gr_W68G9_gi)G<6Y$?)k*xsx$fHiqce7kc$S&^^HKC6uCep4*G!Jh>z&&0Z(G#8 zo~wc9A}6?X&XC`o#~7QA%ssQ8U1KBspCJn=zn?iNM2i;oPnq-$Y-=bukGw}89!(%l!*!d@1d=7Onz@`*(_bxn3>Wf5z>6x zrASVlY2xv#Gh{puh^%DmdZyF6tW;5-+7C3F7dbsE#b0-t|d}i-ne&jhox}TI) zbVoIZOf~1qyzkQnX}d{dL51re3v)6!866&WLcFAyAh+$Q6W(8GKM1*F#Bv!^hY^op z-c{dhBBS1o?ZbMZ>cB;1Z0@^wH5;*K2k*KFDT%VEf_H*&{BBM>-#6r-=0Uws<}fK` zg8l-1waEXr2ev^v({SBaF$&X{Z}l=)Gy14rqz-P%r8ykebTAUJ47X-}&UBg7_Tk5# zo`||kWsYaHjGvCywM|RKRvQ5sotlZkXvP2U!giTLyNJ_2Q{Phv(n=tgro9|~huN$? z^*l+ocBu)8+YCjZ}Pris4F zK^~{oikV5>aQ@(eyV(vIp{`wlj>7ceL`p%4PjUX|=XH+H&DDm#Ubkz%;aKgZ<_V4a zw&!53D=c0nlYlhcIfTxTaI)zA`)75I@7&wg_O)J#{u?R?xYneu9ey>JzRej{yY*g6 zeDgs@#Jt_PM&C-DcwXmTA7rkzQ)_@#&AE`=+u-!@V1+x)lNy0aXC&jQ2q& z#;;$22c1^_{bD5m{d;{91s*1D*gB>YV#Iv@?VRi)A)i zkG~%I-JO4DrrIF*Bq4uZ;^5&e7w55;Q!0nM(fI+4-C<<5rD3_Y2LL&k;RJ-18Mk1d zA>}V;otdIq&kRg|%Tb|yckn{F%zdr+Xq?HI$b3JnBj6lCt+gqGvbCUxHGiktm2ak` zd_+P2?M*_LyW{am2>nay^p24E5>pQPKzp^Xi#_a;Datuo+rRuno=Pzlz4)d^#%pJO zh4#9X0?i_u;@^vQPA1F2V`TSdu`M48opLUvxmHd5=cmr)I5KJ5-S&^M1e*C&@;r0! zVmBhqV0}L{8<1&{RsCep@#ibo_F&m^T-#*SA7`Jzpxx>V(K+3PNN*I=7yupE*@Jj2 znj>D`{2`MYonBiFxTU&)A7H~7OYjjsFV$tx>B0a_^v#wseyE;6*a+nhU{!F1MYT&Q z_{+rV>hyd?f&cd|i}eio7qB|@3Nh*5w`o^?QuH(G!xLu?^(PfV{})<@=OfQ&TaRhx}-0%;c@NSH4V?t zb56~c<<65G9UcE$Dq#EtC`*IJ?`yTAky0-ILoM!LC8jXP0sRJRVrRYcWkp*4e7DG> zC65$*baZ7KSdi;hi@%GsBQ)PfGKm!qT8pg(e720xRsT>>V5cAZ2cVg-(eS^@y5*%M zHc81;Cf|RyHCd8w5W%9;5P>aehMmaj;Ei6@_P;Eg6&=H{J2>qPEi<70WDpwsOXQjnrH9S}v~<3`ckk5l)Zg5!G4EwD`$pacV?jB}lx zEZk|@eGGPSsZEd3u`x4cGV74+B6mFm7& zv9TA2_nVa_LXk<`u-s}2Gxu-`LeBHN_{_RSJYBoh3G=t^ zFZnZPxqN%@S;@PA(Y53F3+0m?^?6Sz{s&c&lhRN3xYam^g3bWuDym!Mg|JF-eh>Eb zlwaOZ9L;soJGMWg8tE;64f>-3~RnYO=^lk!R7p)#>z$a=`IL(M`2_o|FJUtqfIUX?E zL*ePN`+7W}RgLS;(?3I^36$!chMVn+FD1@}e^wkU3ave5D2WOB7Rv042cQ; z0xyH_erzL_(F>Sg_iGCs!u8%LZt(mtE>_4pqmxMdXRFO05p=$jO*U700UMw3HaEpQ zU=zV|S+ngk&lx2FmAX=B>;+O=pOb^&@Cbl}3n1sjSM4P|_2#R=j91NE1URzh0_H8y z?#OfM2@)|&GYGw+!7Femeo!s&n)pwohSN*q7CcjzxhGl;U7;d#|(n#SX~{C7V^{x7RsNd4{zTkP$J143Wwip;^r3T71h7I@IJpt z4%pPG!}f)pS;*%zS+VxNVVMUo5VVh->&KpbF$YwH;fvNPu02)^T{5j7uRk`zV##s* zTa%+ZUNRb<*`u8WsHmckGL*7gI-?MJv*VvuubWY*=;)5Bg|?#;?A@Tl(fgmAwX?~7 zxtw!(<1Ls-+*#)LZAtM%OR#AFbC)6=Ght_{Oud8%uf#k~N}e4&ct{Yjxg=BY`cCR%GB)a>>AG<)Ak!XaQwL`obJ677AJmD5aoyL|1y4Z;#hJz z*>o@%##YIF#Z+fG-Ldg2fuydC*!&Z8s5lGN{@7^PLWmbGIRtV}_}NJT~Meis6KOs^;5Ax@k-$3wwTy*Q%MX zXFGVF@na=E%z(}H1)itwlP7%S6 zXCQ7@CidY!r=u7C(u}Loe6pIl6Sw;1B*p(akGFC_DL-erPKWGVFV&5FRNO#yCE4!V zLG+9M*=JXt7{pgwkpsmK^Sk0*J@Aaj?|X!Qf9nyo3tBhz3jP%(S~1GiwD8(7LWo=a z(%*W9lolczU{_(Uv%(LSvzw}M=573iCA4fDB*!gtGTs_s#>Iyv>g@u|IjZa*v>GN`ZUxNUPX(=}JY@Qy)IkOl2gY7W3 z`s?&e_J4&BCp@(X{diAI;zkls=AVP!`V>2M3AAL5MXe2T3xhWH|G-=ER6B}LdkfX`{_7p1E ziUzXep(7tw!6Ln771p8YbCx+q#UP>6(&Vyn^1n?lX$;oO0;48r)9;ob>OMO;M8ifB z&saERArrk-#{N&)@ny$*eqC!R)MIMZ>9F@BEMdwZ{WG4fbBAWXIcWAFs9GAl4(DM6 z=BjBW4o*saJ%~BSb-aP{qwKiiy`y^d=l9kM+uUh~u9cx&wA7tNlh3T<8Rf3T^tKv{ zUL(fEON^=flHY=V#T56i9Mi(;^mokhf=C(KT=n)t0G{9sUCa;D(px7;_xj%4gRMO? zr22vfF~Nt>jus~R#(fPLwVj0HjC1g<=uHD!A#kO@Yj1zw1OQ9uNB5d@y_Y`AkAALx z^+U}ycyX@S@PC+Cd;J?gMEG?nd74c>y4rk63^gS zwk_{|?rDs{$JBmLe&$iXvxE2T2#&ox!6-6wA(gS8pzS5RCMNcmO@zf6iYz>@=%goa z9*w@PsVu*A-C{0Qf8g%XlM)Efu7~T-E%ZR}U<%`Nb~o3~ht)rZ zV=6s;V8(rtuSEBneV{4A~Sf2jBMe!R@$ zQIWJjP3^BI>QSM)Jxz==`}0`)n+8}aVYa||b!MvZ6|^C;V84M93QQm?{+SmQMn<^B zeHd5y2@_-(KU?rD}QZ4kP8g51`Wwm2gr@9Nk=c!ux z6g_2VW(9matzBs97uL6-PfxEg$2fisnpl+oKW`WJ*Ztq_7A9ugV%{zk{wwND5!31Znn#}{ zJ(e3i`Wc}gQyX?kSKyp|)7jUvJtR5~pOj_iUlo$NmoJ=j$5 zP>Gy4WBNTBs!aahU4x7G?3{6g7t)VRP2=2%+qA#?}Kl%7~5#!@aeI3j9^K#wOqGf&~G}M<3)%0ZQe;=<|+u5~)%wZ))xtO*Uerm zK;UzZ!U&s(#<8a#RySfqSS%PcDE+U}kbNW0-}6?aF+lmcbS(aHS5xJ~$8B#jYWYF` z^xwB|1o!_gCD(aegQporbGlPLVl&bwI^#{w6wS4M6=1#(n{^Qmro8Q0{kXfSNU46) z*%l7!(Q@0>*#Ec#e1iwESLZ6}*UE>A(&0caa>M+hqPO%(7z{U~jbAk$&s#VPIkNn# zEZzv^5l-az-a-V33;Hk#jBkIq$RcK24j|-S#I$ae9WCnBhYzXb47U>avqCw;Jx`9a zPEM_m4#U-N7&jzliZcJDQ;;Z-k^H3fexfejSkEa_IN1$ll*@P30)yI@4*D;59u(4? z&15!hd9U1$LRIyS`9h()gvK#_U*;)s#tuHCMP%PtOMRH$q`jVNAdtJ0HU|oUI)AK~ zgHNr*JTo5;CXN$kyUe+ zTKh|ZiKX}H*+-~x643WwNsffCz=b+xNMpCTRj0Gfn1hTCl_0c zi@hWRk(;~w+!rM07Fy8+GQsH^0eG^1S7qTPPf+v-PjIGwrgD~=-0*Po@OYh@iwhb~ zkqpQ)nWyv;pjI+^x)Qcv^+ykDmVB6*aHh2n2P|ylFHw36=Oih zA|$JU2he|P4I6Udq+xGFb2p&EK-}2zF+l%+8KnPhhT7Z|Q=SRR9OV;@udu;S(gMPt zsO8a79bkXKCXwO5A^YZJ@fzl{jn8`Q1U;>FYw}5rKQ)Q{*q+j<7{5WgpH1f3;EBMc zmP_N~qaP8x3U%OQuJa(M0D(GO3#wUN3moD%MB|bUkp=O)2If{)*`SRq>~s~xVF!0A z;HH8!glMmD=Po>Ozy<)rQV@*;tdwDMROg3d)A!3xA9S=G)rcr3Qn3Mwo0y!ewFj*? zba!t@%sIZ;D!?60;MWU)0%p@awmT>xfvPUAy}rZzN>*iMJQ|$Q1$%^2B(e-lMpi|I z$htln!558Z`I4koLS!Bgf6=fW2Q#GcINtvFlIY&wM_C2TD%x@~31&y|QPP@enA6}u zyJm9l#?6~I%{pU9+6|ccv*uw~W`UVKyVDh9LGRypnv#Rx(GyGX;MJb7i~HDsR7=%V3x^Tvmui*bhV&8o7ah_ZXVd z;J^bfXZm=ZQB_rS*5d=XGqDgBl0{oV8nB*4Le@Ssb#=em(-`_eRWjwu%+L=G37ZY7 ztF$2dboww26gSEb7CN+@8mf8V+eI?0P@kk#(GByHNPq~Q&7mhzx(2wcYh)ljXGfNCNWrVp|B>QZQU!nQ$S+2X8u56+G&_a&tSLAPqr+l(MsM?azahDaa@0 z@bGZR^Er9$khuMrGz=$D{fmoc;Ns$&+%WxgMpTrg6_R*kKA)MqisHLFhANc}X zZ|~g3F#BdELI>K8gaP6rU4FE7Oeq_Lm+9p`ASj0FAN{J-Ctu~OHFysH6PyJ0^aldZ zK5}sIPDND}=U${L2N`%Tp&#r0wId}Zg^qZL=y<7V#6xi&VX= zJi1!|Ryd$U0`Kw$E3mQtS>&1b_yBLr_*$wE{CMi;&IT?LJn)fW035Q)O-7?)1!1{z zyrb}}!P+3t7K1?Y$`?-!V_1V79Hbr;j+X4yTMx3)^_TMt;`BPCF}gL+|HMRG za1%uMkn{kuAqf7M14k~I8v@s*G0&2q){0n%X41hnK^SepBXXd2jGu__}E*=%WCrW3ErIK7*C zk8(RqkrrHLZ<2ckDF2#Q#L`D7s)&ncOZe<_KKFA{q&V}17lqlRHRCR+J&}YJrmYHc zK;G`rGDY9qd=692eAcD5=5o0)oobe*GGi$sqVKODOMD88SnbZbn}o@=)I4p=u!RPX3i|nK)e8D4v2TwuksS{rLP9lNy=a~g zrJK3&-9i^J%*@sJDJ%$BNjo$2FC<-e3SLwT>za=tlsnPO(!9X}$IpvO*UC##5d&^U zikl@90-B*=R$)||poxzUvU4#UJ4y!YqP$9CGkdj}0CBddiWPa=Kz zi%MpNWW8XBZaDIOfrQ{8``l>CDlG|!q=b7_<5E*4SFAc8NX`Eu1SLUO;D8!;#e}$P z5YEo{hQ}%i8&8mi1J9=E5?bIh@=vP}vZG!%mBnP`++}O;Q$;D$tRcbu zq$nGLESpZF_7mCwJUP8LrqCI7NvPg^w?(CKPPMz;)M0`KHsM)vo= z21Gr51d}vVwo*0HAQ|N_GrT|{^}E>$2p+fRHM0k$1KdF>;iMo3hFu-hQ6TmEC-J^O zpXh9~Yf;S@+I9~3EQln4U>L}jSrEd=+MzyID)@x+ohE^jln{M43+bcwyJpuQ{|~E^ zp>tu!=_+SHtZUv~keA{ntA&USY4`JH*{l7jSj38%*jaa}ZS8b*V(9tqLf5}blVAae zWTa?cWb5p9aHIdRH~!w}N7GHdN5fDIo^EB$;cwY|W;&ge^sye1^nY>kHsR;aibd_$ zFE6ftw}Orw%8vzrC;-JVL5lN7R^N?=0aFFL}v=|ju)9rAai!`Xo=k&(z zp#+V0a+$L=AW{H@3Tz8CVx;X9FT{+t=MI}pK^yNEKaxUNjS@x1pjHe)upDHepiq5j z;=(2j!1RD=7@rN`qLfUHkwIsL9%k|Qgb~c!nj_nJLXEzY_){Ut~ zpOZHy^=Ai@+7fR^Y@yMpX^fOb< zlo_y>S2@7jG|GGa=nsN+6U>`l8MeL3MFbxz^f%(9XCUGRG^qS~WkF0-Xh6Ij!chS2 zm4oaHg_(OGw3DtbQtU{I0W&q@O~+UHZZv zP%p7OXpOGT?D-B+@6@21dgp%q&aD&pT+_%19Nucg7tlH%Q`qi+C?QLj<~_n@aEpDR znp29T34G9|CB*4lw<{la`hEHYz%4Mwr%9x+SXxUN)i{~7dg`D{U82v(JF4(kk|R)M zie?n*@PRn<4jgu^ zr)o3TqXO{-fbO}WAuIr$3_@FhF420-E`gTx&K;qgULwFK41%XYS`N-BCjr`jWiZGb zF*A|=Tn(-;is#D-2?-@T{IT7zfD7dq?EV#EkO5i{I^wlg$qXwvMnTOK#Q# z;xNNFEP~bB8C0W!GwZ;DLZW~TV>KK$3nx~y0UFBB!)z%fI9gCbhf?g=Bd1K4$0MX3;OcB(KX@&|Q<^(ls-G>jg zJKlhbqN|9`U4|R{VZI1)x*^p?Rnqg9yYveLVi$yaP=V7C#FM@Ld*z9=rC!dU3NkQC zyim#S&HJj-b9S!`ztTU|pk3K!b^j^o7CO}3-~e*)gUCVa3VmX$v7pn51OpNL3L0pm z$PN4obsqIf(B-M+ukM!rpk*w-q0@ec?@iYaoQP7N`8*_9=wU$eNy+K)zmIwL4 z5bV1tS@R|NlffaB4UqqJ26ZMD3Y1Myc^|v5hH*gBd^aWC!j2~oIrT!9tJ5HO9K!Pb z<;?}g#w-`oci-Yy@&@Qm@%#EJM~}%cwYXP~>pl>;saS+Z*cOEUY<7mf=e5;v6nmoG z*Aa)#7bDak&hbakuW|K@=|VRIX03PFTTnVnAOB!alR*$BnB?3%JpNjFSYS#CtcRGT zZgVs}2F3DgsviWDta%13x85`xvSlUU3_zj{`U+kt?3QK9eW_Z}N5E5Q+4AqU&L^V5*O z-+LBPAbq;C$Nk&$DaE)cQv#*R&gC@`gAwc8uINnW;kn*dn3nfXZStx_EVK2m|7sTl zJ`@_swB{&umLI^rPT<6WfITSxW+9?xaVix&3P4|nfP*+`^w|y+)oaGxv-R&@9miuT{;vP>&#!9Ra%?vO2RQIvu9 z#V+~#OI;0r;C(|YP4y=zsH?5aq6e%IP>De!g0Mn=WH(;M(?JY~nF;U&d5lA>rvB$5 zK23eyp$Koc;|Sat4eQ22CjnqVy(&eM0~S@fRnR3luaO+88^T)DM&{3ycRNw>=LD%oe`yy`)KucZ~Y;Vi#5lq`B^&oX3~!V5m_56 zUOvC({`j$LtARkG8Jqwl#8t=N16Yge@~z7FBH{MwJnjb{^+H}lM4i$Vyh*#5YY@sI91Q8|^HIHFIbs2t-j3 zY!<11Cv3O`Bth=+=hKEHw*NGYF(+hkf3&*)PBZiJIn>uF>3R=KEL2IB{<+$)XebOf z9~8CnaouEl7QyVu(=so&QZb?TFM9xH9GEl^u6b!t3xVPtha{{Y9J4qiCC%XqY(Qk9 zHEmY?8ByHm6PLiG-5*n9|Dfy531L!$^9J>&lR~O`W-WQlBwZ^rUN}wG=ZjB)&Le}9 zVEnv34FLh+k4F;pSftK_eswGjXy+U)?aAx@{{GC$svv!h*A|$pcx(rrL#Mvo-*@+(2U)~D=kvyZzj zZ2!u2+%eUoVn$A#+Ye!VhrPLGV<`7_+lm{y_S;(-npy*xCM}q~KA8||Lvo!5A!rRm zdktmCY~mXOfz0?3q>rU#gu~d>&@O=G?X?Wb^Vl3@-365wFJF#^9m4#6>P6d$2}$bj zPQJgHD^j*iKE!)DTBTxdRbypfN=LV(v&wPAC74iqR6lq--B(mp^p4;j`d6N4L*EPw zNUJn;f!ybXoq?}kX?AF!5H=~*_$!Z=Q_fvYHZ4s;$i={LbSwE5iGnxybSmijW&L64 ztBI>su-x^11Ej%l5hanG}IVme7##w zx}uqv6>d7saV*`8%&r;?;1z5_zU&ps}m;@b(F|Wl1y9+V6m1WFOM*2553#mJg06y zVUp*kq6^SLN13sGM4W~-RzTe4Uiav_HjGuid$F0tk2vaY7{~MOM}%q@A~8R#-pbo7 z=X_Ew)~4I2J=bCUhBgZm;TyFjl7%ONKmX~9-lzW3*XGBYJ^;Y*I4-LVC#}#~MZLSz zpN1W1l2p@llkA^07|L98yp^g}nv{d+_fN>MqO8~&YAj4NdgZ(p@<1Axo6&k+qG!IZ zW9V^w9%Sl#`Q!#MgK-9Kx(QJ!CcMd!)CBixV5QvYii6mV#XZ{AS&eteRyR48 zaNi@IU8ek&>^Jra?`;!N0yxWjKG^ij%yC|)of;=c*c0i@90BFaZ?t%-f6l__z5bDR zx@?w2;ce8ivRQbiaEzMt2RZEEuuyw0!fmCztGN`r+l%{(+`Z@3!ZPa{@nlY&NI35= z661L`W9ARnTvGLkRM4&W6au0ay&$+_AiR+CWYUJ?AXg6`*C(ql^Pf}YCTueX?8zkf zSSuLt04uj%x;rs^86xF6un7%yY#oM<)ZO8YkJab5lK4IUv*Cm(3IgNX30Y&Kehujt zjso=o{-@8Dm?TcQuki8FgY|uzNJjWwm&w-*1^h8{x2=@62QSj6H3}gnrCIv^UI}?G zF44M?E0VeXYVpPQDelh&yqi(SkQ_i37PZH89`@V&gQ)$3)P=q^-SD z=8#iV#0GGlBEeZ5oON$g9poS`6x5MoS&;aMcGd&R$1W-9rF85$unu+EP$_Q_YAdhH zPK_GuHcKy&WMw~5ix+G##e^Ws>+sN%`BO6I9>Gn4#Mu68vT9~hUGFgkhZX?&8Su;q zj9UuZ-l8X%+bxGhnPpzsO$!P zIY9|Hq%k5ts5w8Qtz|Yz7J870(69dhn%&waGfGi5JhrngbbA)H`~)Mji{-XJ7>@v3 zc$8Ev%lCOUJB-!^Sv7H@EM!K4c+agMcsj5} zaKRq0&^IkJ6RnH{I+lkbFeU^ma18CHP$%LbQ_)31`WM7NKG;YL$56o%O6+n~QNc&x zS)owCJfKzi=VtTTjRglh`<#*p^S*pE_q?jIY89Z&1W8reAnIa?!E%ZAYA^)i>hs4Z z&@F@LwrxUo+!D|9DRkJOQOlYUa__rbLHDLBX=$5<=4_LiV0~0K0mIhFNR87R2KbIT zOl9xirv_+U%R?g-LAO;fy#P}GVF@H%r>njFCFsIycc#Y2!$D0P_k0;$A4Dy~@n&_j zw0NmY_j&^OR+GPItS*mlSb?@!s0Ym-Ra8(w#u3U7+7*C=0FL1}GXPEn>`4aConecs ztCK*p8>Cn+h9A{|!lhU`jSfu?LVw2sf{w01FbNAi3Mm zZ%rQNAuk_ao0hQ#WoVl}+!lv2Oe_p7@S@JYKUE=VAI^LK9s}@)Wi3rG#il_^j&4M_ zxs{JJ&UAp9`@yEj>utB+7(=TkRn0e`~0|A_6~ z_gas}fwMz9AmhsJ5M8)n0>*Ht-W312-IQinp=qhbYZC(^0o4h#9ffV> zQ`LoWV?nidrK~Z^CC~?>AE3hjKNsEA4Shr(*j;!*@vjS^#}|FTP}HjkNl@Z3Ce^r& zQ$Qm@@-#%<;s1qF@xv7$X{!0&&B}2*6b4@opo;=y?Uaci0ly1_>Uth4%mqOIAvy{` zPM8sJrRX%ZEY0?-8R;5U?K=h!AF3}T`+Zw&NtVTxxQQ4H=ruS!IYXgJ{cxk?`~ctR zdG_Yx{ay!q3dn1Q@B$!*V2SW-IQN*{{{{-EBfvHRfT6v$#SjiKiEo(~iOyrs$g7zq zJ9!stb?@ihaIPXDM8){wLSo`UDF`|NG~SLT;ACLpQuBDMyR-8O^Y%ldIFUyXdfbNi zW8%*4cyjVPKq!q%(QU|Z?Oz6nAD%o+BapMcE-bVU5M0^Z?1WH=Yj$66j1mH5Y@m>( zX$+hgjCY`E3CIbqrADQCx8L&cxCTs{<^HWymZe=!!$xm$;EB-Ga%cI7ZTj&2r&0iH z!MzsASO!JJylyeV=y;WWu)rM^dvV`HkDoVg{ymgKRShqf>us zm|y|H0)YLYO?bWLWv>AwIqG0#^j`leK5|96(bb-H^=CWjWUC-yI|h#FxsnRykQ~J; zFo~g<+(B-J)SiWGNPDj_`y6#%#n!zq-jEbpRD=k4?+xC>Qx~}yuUhIbEg|qiQcE&0 zf)u<3Fc)U)IW*G5S~ixQ#J1-`nN7h?j!wnhU9kTCDgHa8B!H`$>vl%H!VEvaCfFbx zgRmf&2573i+dKdwa@WcM7J>E(UH}3PCu0fq!0>>z9?hXbJ&qWJBzkrM;td_p+a0x6 zGmD*nn1-|Tme2Pw)gE$qv)m&4$YJSxJiF&CtR_M%J}9-=E*C}fr(PpaD~CI0LnQU{ z(U0tCh;HarcL{_QuFrJYr4|^08Xw@>-~~w|P92o@dp`;{RksEF5r2m(INJHw4EZT9 zLg*Y4-IAbm@!FW>-2Iz-Uq_g96`YR!tWqlenIgHWZVU_!1wxE^aDxXVOJ#w{ zFclD%XJK&>ZjL`7DkvB;ZCUc6CBA3J;+dV_AVCVgvhy8&?t;&LzR_71_`9F3(1(B} z)30lR71%SlRe$*lL=Cd)fCvEd+LW!e(^YL?cmxuMRyk$gta$zd?hKAUdUgt1JYfxh zm2uwcBt&ek88f1i(xsrdxAnCgzDv%W%&%;s%PEx_pe37Cj=tb4C|2w`m+E*pZzM`F z`~KOm)B|)zfy*Ku7lYr8kV;6tgBgVHEU%G^#FqcWHj4sH#||)Y#$dPODct(<{_#9Q zv|3{y9M*zNYdxD^U%?jyYldUN%o-|rpVyQn4QZNc=+Oqb0i2cw`^ z%NShDn4F?$zcBe3k(f{OkXOag(pBuQy0P)Y9tV4Svv6eQlm{%q=*$mSHvSl8PzyW< zdH`JF=s4bdcEojiRu)_ZkgQ0lvZWo-6Uw~B6x1cdDPZ{9?V`DyVQ>F*Rbk-C$p)_J zSYchMH2o8obB)!)FU~%9UGc0_iTKl4NccsikG%c6%N!iDlQsex614d=Sd&Jw$Pyw4 zre+SOTyOXKJhHWgD5?_2nMOYvQ#}SLPm;`|b}oc7jqCFoij%h@Nph>c+;ZrxdQP;| z&yO;FnKF)SSwh`gH2(~1<^rGfaWiB{NT>;Qy?4%E&8TbSehVjglxhWSebbD*Y?y_E zNySeig&1>_w8e11$On1(C;Q7rjSTeH?2^9ldI9`%&0#9+drzWkF(WjL;Bj0zLylWX zuPZT_6+Qdo^I-hVJR7M_!pH5|)lzKi!j6cs{>aX=Uue_EMXxZCmD@NVuSbics_p;s z3csFQ9ffF>j^f7S)rXGtJDs_JQtH%00;$U}4%s@-JX9m-92}6}K=( zxR4R~HJaTag1?KNG|&k~Dr;k) z3NB|Eey5=OkoVTFhSSdDQn^%kgQ?4rvA#<{X#z0vwdVBj?{G9iYZqf?IP-IycmJvuX_BbY! zPWZ<@p>A--n!u){@@N@I{aVVCgM))G_l&pCI{sR5DF(rcE6C2{Y{AB~X(U8-v$lGu z6&bk{9@O()&T&iEG`sTASf8>aVEfQ7_M%yIC-+-R?9ev;8IUKwgg`peW&^Nv^vc#i zJbj59K$Rx$LLHNNsM*p7j1zs!CACK2ETn6#i7soRoaH4jH zQEJRhjGFB0?{P}u)X$f0^4`cYU4Oh~-gJGnG0T4g+`P#**kXb@o)QufeetVTgO#ZsWpv_FzCY~DsQUPYkj|}*Rt%oQ$Hm=@ z&dkwW#C61*jBXJ@$k2O4 z-_-lDwV2GzXozB3O``Y$VHBb4#u-%SgN0YMReSBx$)tYD=^D6EO7aWh9cY4+xY;gB*Pr_swg_Uu&aXa|(=?2VxOxLrN?f_EEa0Rl2pM}}kf!@{H zVUVo~opE(~q(}%BsYC{FRka%j2Of0&JP?Z#@~aJj*k&E zJ%670CnZP8aixLV9@w3f9S;w8_pH1;o~&M_suwBDPs+xV`EQeuH-;D4WRa}Yj? z^FaKp(y--03+uWt4!|uKxI{9vo1xx?MieSnsLY8we2bM`>M>S#^9(W`Q0yL@gr%3J}zQnzG%y~6eM3D26DH+n3>zF25$ zYg_k+e&(n%rIuIZBa(0xA1Xx9OIq95%qevK+Fgb!7Y@wG(&T=b;^HX%FHSUT#I}tS z0(YYes1-i_?U6-y@Tit~xw-wop9DKw)UwU zT&b&#tL&Ehi22D?VPLXe@Ixn2V{V(2jYm#K29mMe9dZK|EO)MaTxx@5T{(6G#^BeD z1HrMZ&CN|7tNSkrx;Qs+yi6+@U)M@^MDVqnw)h1bi0nx6h_F8ZclX_}rDKZA3zw+M zNpW9xn_F0fXCS|S-9FggAK$Fs?HhwdZVO}(iO^TE!)7@M7!ou^eT(mhR=BrZk@FDG z4+_}xw~(78-3mEcS*4|<8yg!_o=o89f=A%4alX?P0=1%+Ij)%RqY@v97#O7n7e96S=C&{y%cQ0a_d5lu_B6;)o{e{HPy|1o%Q|;vIjC9uMU@AB>#~-Rx zhiWrOgpq{z(e~_E)9-!8T#fYAbb>KO z0WIw#vIli;Ho9s!F$U-iVe{^nC40?SF}yLQ-oHSlf$+SktD^(nJ-hdg3a2hg15_v@ zl}|_vJy!1YU?1h?@5Xv$6c>CBU3DQ0&~0v$d6*t;yzX3bVF&0~ac9!Bup&5%&1S=( z(w34s5NNHEr~9im4_I%-nepw!@Fq=8uc}JeyLn_ODG6j^ zYMJ>+QQi9=e~VG{^0a5*l*&fXNdaNbXn_XE7eO1{VG0d?PV-xvy=-HT#LTk7{Y2rrG=anQsP(|52ec4qZ;VKViC#9ppMzXuV2y=XFiT7o)LWQc%XXdXz`gQ?twW6{YKm{Ds7t6Fz11O;ZU`<>DPyrU4x%+ z=dbsEhQr`XK8?txl_HA@ZcupA3I2z2vVsVds z(C!vdYljSE)-DTZ9L!~8jrMeQJ}QSYgD!|cD21h}l@d-5oj;^;LufFf- zbk!F}UR}W?rNPysWj}faI?CUf^lyRjbW-Hx&-xz*WYAy%FhlQpo`4E14oXSEqR5mP z5A_!r5aI!p$k&G)TZ=;iiw2xm-`r*-d2sdXeXc=C?MRhYJuae)sE_~A_YuKg#(4wA zUt=9jeZD|uA^qwbG+3zI_5`v0DU(ExEgyM1*b;x(h=!NMq)8GE^sis3FK~MxS|}mp zFAqviTT3HxuN_^>bfF5vH(OukX2$91B6#m5HYV+I>B^_IQ)Uk=t@KnzQiINNjS5Rl z(>pA$HLB(VaKMYg0)deBd#k|M+aLBh;)&MJ1LGi;GdE`|6zh@KsrfPR)l793Zk7eu zajJ@)-z3OR^-K9|`Uw3EN#F@%1uAx1^C7?+Eh`*#HTNji;`_^j z!uV8r#UDy%TS#y8*q`oLbs;YJa)IsaZr-8rMo=23YWM#i8(+0)Z~zBQN|BAU!RJQcpt#--Qi zsvYi&c#w7XDn@z4Qyy&XJUFNkYkmq9SO5KWz+pea8x?U{lD{)Jh?5o&vhx|zEwZ@` zWsfsWnvVgrGY34Io#tgYBKWhW5T5;EmePC|=rtGYL*fVC$zQF3KQkx3&C=w}Kts0v zqIvJSKBArxEQ8Ap@;hliVXBfAqoC;&PEQ2&ilGnqBo~Bb_H z^1WLi;wJmgD?i#HZByd7_`FA$65+}PI}ADCE804Y7 znNQsqH*J4!x^sa7J|Is5+TumFr{wp}&Mq$(daQ*f9!LtOM6$nTm?AW9yrX3h7Hcv^^v2eo5AiO6e%4%ttnUMndu&>6DtMN7r=xE_CH zj(ZzsrMuH{IM^R#koF(IrO>49ZI#~9Uf*?FWnl8Q#tGDuQ`IbRsxRPQVp;0oy6nXig@cHu>_(g4a~`>XnGh{yX29`i3+sJtjcwTH zyPsKIJZnFcW?!1YX4qeRH+Xzul3;0l*BydB99Rw~0^s9Q*EI$=zof!Kr@QrR92~W{ z%be~T>V-dGlaF3V(xn+3$ocAqKJKs-r`oytfJBN4hTR0gYzcLJ> zI7thW$Gx^=hWkBTk4t|b5h52~()<$eP~A1RAAtGK^Gw>Izt$~um_D4cJ8_?5Ta7_6 z0IE$O$d4lhD|5^`CPQooxT>=t zvY*IR?gO$t=gyyh4{81|dF6B7+(aO1u_?CIZy?g0O8BSEJ)B<*!Ra9T%botq7WurI z#~A(U>&Jny|Ka39_P4{|G$1f!a=B<>O)ZYa2UA%Mf?oIEG#FereaNz~j2UEGXVreiX{Y?9E|Oy!Ol+iL zM87l*<(&f2TWABJKAOM?i(gz|HL^EdS?QJc?VHQ>kwKZiRt-MJ1D(<8u@GEH97!Cl zOVoEYKK@4}i^s1~+YR{`zy9G6$Z;MbnvtRosgEsr@1BXlPGS9 zWT#%f$1>S!Cq0}m=qt?JD(JNI_E&=2((XFM>-jP6|I)!PO<(e)6znjn6`@iv?G&my z_O^28u#v2&lpR!^yMQ_Ux` zi`-ESuerOSS`ocmG!fE=L5JCJ2K+O}FhGp9yPJ%}o}_k?mF7E~|A8AM%Yt4cBW9){ zn)FUuL&HjJ;8mcN{n%_^3_ZXBywmJv+Rn61ng2^J4Xc8gz>aZRf{>kIJV9TdkrZ;+ zay$5(n@HxPtgtJLH-O^r2nL=C=Js2%UC+N;h4As&)vlaJU*|xEt}u(Ersw=xbfTs* z`UJkddyhCdP2&`B7`$-?(&??RL%Nf=j==v2yHhP*_zW+O+aEO-AKZcVa_5Xsb$$%{ z`Mgc&ml!z>()}STtKD%X-l=?gd*5YULHpnNYPk1+(s}jw^+J#N+gGeUHlH0kS=n6g zlatr_9D#H%T6t$JlIN7kCqsLJ@$i553h4m{%X?O8ZARbt0ZX%u3+jJ?6OahWb(A>eP zq++{l`9^D$VBmw5-(i0U#LpW(oEl%-0MOCX_zNtbFKB z{xQG}rMMKU-L)yMF~=dxtXD;Z|8jNxhz%O%s%lBM(>Q{g5Wjr~YHjYqsPl5R9y*lb z7I`)2Xi%Cwb;&(X7I7J!#9-;70t26!UFJKc@rZW7{ame7wo-h4OZWa-e~g@9EGFg>T;R zH|@Vi8;I8#0)6TNXrAqjgGiyjB@^dA6!u#!LL2;C+fL=8#ga`9`I_8?EPg?8cUS!P z7G6k!@3PB465&MBISsE4!enpv!NtLRwlR?8>0e2t=MC3s=_R%c)u=tnoFUmxwW;Xd z@uV);Vc-EGBxT8maVOBL5N4RacHa5dNAdLLAKFe)Ad$&caj-Ufv|n)~B1IYaN%9}@ z50&qO`Q~;20)670&`Tj5U`gId@t_v%JijH-WTU)r?Q1X`N6J*Db&A?Ys56!+cY5z8`da*uUI#WQ90`om(QcPvsryc$)MTtAMZ^ zB;b;u?OmOlf8rLN+FDRv+m61QdX3ma=l#7&?3_l$-hn#>mAd9HnuOCS?(WN{d%lM1 zQN9*R@B97!BtWG8?2npZ0|-M0aPhl9eIN*a#mMiqdv4`b#E=}mi(FalO7kB-hH}l+ z6}7FozG%n(L-t$6Sea?;syX6*Fyc8}kckiEjLMKeW7i!VOc?i2rYKMuHY_{B?vJT` zQj;R9sa>%w9NAic7--rZ??l8-Zc#%5E9ahtuIO+|^{Z-uLo8?5(`S8D_KIK9o%ljF z2Up_h@P7-`7dS#(;XGc3N4uOSGvZt3u6T(QQ=Wvmi|<9~jXeH)sG0)`x+l=dSe$v4&AUZ5E4YujPQ~il7 zn|-BW%+*#Q;#iz{?!6ec+XXL3Kq7BRSpZ7D*&qcO8Y;E^3V%E6-Y;G`mbCXHWRJPc zI%Mx5(N|J#-TcSqp@l$7jNKe^{9{2(oGr%dE4Y(kp{m;5puOy?%}v5(8NklD7tYT4 ze0ccdS{w*Q{R!A2VSk178NVJm=`D_LKyi}dk7Uv}i)OPI%N!;yOTSIWzM zzui;+ko09AXhXeK>Kv65h_&UpZ7p!OYxC*46pZB}d#oCa)^XI_j>zpR~-jEwemcd4A3i@hd9Nh!-n z**i2~TsIb5k7lcz`2<;C4|Mt?jBQlkFo=z4-If!Mep#jgP+!4y&zwCw7UG z0I?YTF&g;z>X)qM@4l9JQ6B(tEy+1PF?ZUf=8)>VY|cmhxmyFit`{rD)XGd+miNvuvh|B6!x_Z-Von7Vb)X1yH zG$8E=cD)C3c3I0=A3w4J@BTKy3n}mE1MqA+#vqfh>jttC|9Uq7A#bxVodrZmAHjHa(B30pnn&GK?*QkE7 zxou`UAE=(A+BNkzu*DM+Ukq%p3oIcm#HxO{B-+7e0WA28P}D&m&fUHcZvPUs0zY59T2d;K#XBUnWKC<2uX@_b2w^QH@gTm6P9J&C zt@pg1{~X{O-?TScD5Jwz=g|A3NSRwZaCjL!-2SzJ$3SlSH*|E0Gdq}vw4B-yr{STkkiVKR6M2W*gr?Gg1s>sn;_LM~lPDh0;y}&0KSi;GfJ%IV4X02(SOi zoLFAlo|>iK2OKl&4kTobqP00SLJ(^kn{0ES2prMPajI)+v5A1xS293c&XXZEFIUU= zm)y4EoknBGAa}M9h{`_L95q8K)QwNAtmR*rlp<6SH@BHE-~T?6n)^buH2W$85u+c` zh*5KGDh)Z62^0yQhyVPV@PLPyVnWwvX}fH|YM#V%#apUy%yXYS=K(t{Jw5-?@)34f zCaY{~5an?(3>0|&v{eB8J89ZsmznsNxEi{_({Jv#V`f0xybTnq50p$yJ^<0^q3g=e zDujcb{p}@ASeDhi#KQ$U>x#pz4*5+vo)ZKpHKS9jUHQ9YQg!tN0@&HyhI@oA&b9{P zlK-K9=LeyM=8Yd ze>zJqx?{>`yZWu&!%DhV>e}yI=M|f9dLP0i6}cYt!Fa6bxuzZG%RWWU&OWuZJEz=* zB^iVN=D3b==~p1wlJUDoL+>z6o;gmx5#TPmpylFsiBmpte|RRrV?MLc zSR2u18hTEaa!t!GN?=NouIlx#)jU#ZLUC$Gg5jiMlUv%yIjCb=?AfUWhHWHAApp6* zyESC(q;%gp_3Kx)gYHD^MiX4>Zv$oG$CLcJWshYyUlLlu>%yL6ptPxOHxVol36iTN z%UQ@_2LB*8w8mDN&eE$W|2g|1vHVpVg7*{TlX*~3eac~3+XaN;D%dT(Z_utnG)$HW zz&T665dDQqo0vJ3jM#?W!ubcd*!a0HT}S;~Dp}@qor=()55JqL8NO(qH_-AY85MkE zw+ZtM57jepyVTuMTy4COsQ!$IhqH4iy$)sjXHkZAb$v+72RI=M{i~ngx~k&yh#H!8 zmT&fI`QkE_hhbX?Jhykmww}%$Zu`;qwwy)F>)}!x9Hr~}iN$#sXVX*x$zTMKH6u;P zlEjzKrp1kt9KMxhdJIoo0-%N_U1+@lfPO6j*Hb~CIPL-@y)_27OPk|zudn0dIS>;~ zoVZIJ?u%|?&J)2^tBdTctfUau+L?nQyAFWWuD}7L0|Vf3uv+g_ua&Lx{@w~?#s_*X z3RryxN=bXf-PG6b&NnV^@3$J~IY4`>nWRni-?pCXabwzfRwKoAp!L5XJL@)LRk#hT zkW7&ESua^7WQVCl{>~*c%q4H)uKa3&RRMyH!{*k_%O;3-qA^ zmp7m%%TD=fuyrYRXbiihvXVb`gx#LUp$^!*d#dXdCdF`j+4Bf$M`BONPXH~rbZgMO z&uX;PB?hj<3caBKEiMB9FV-Ms8v^pgO!uG9PV&n#k=u%HcR&Lw1b6Po=pbc{$;WO4A4o_9TE7%Uhl*l% zCeCn`?~Hp)NTE=W%fW_vZY1A$pEZKBE4aBnpY#3Zk0%aGxZ2#Dw%#fYEa2PncHup|H;?jAMd)~836JmysA z(f)zW`-F*}d$Sjlb*j$@48Q6d89D6X&??XdH;VEC;BqbwZ}7`G?CC;(PD#aDMAk5A z7I?i>l}|fAy-AkhEhKO!3G}D9L#67#Z42Hq1Pb3e71YybM%~w2t9Cm`@WS55UE&e6 zeZ*|b9e!{yBcXTrLse;nf3)@Ln-fHoZ(dj(O|nRQyFADwfr(!6gqz>!dCR9HD3woY z&M>OU#nH0;Td68Eoy9Dafl{C^p}(8uxtZZM_4J!X?tG^y-!%j!=&`qP2s$t4!xtIu z{6JMg0ZnCnM&iiD+{(&oOKmUw5%n-s(gSbT)`H;UvR!N67ocYz=PDQvp z%+?Jb!ys+Lj{ttHX=U|AC95wKNc8PYXh!2o5T0GH0CBLyP{Ut@-*ed$T&81&Y9HrZ zPcSDZJbnPisT~r(5jA-diS08|q3F0 z=5%33W<=lG^DCF}=OSY#Pe^g!=sJJzUMcFSN!#vWmHvbvFY)#3yeqEa^rH0Kc94d) zBZ!TH@4?y|#Fklp0%q0-M327!_VXoy+n}xqFnDncFJpxeyJ^{D_$X9=J~R}El-W#$ zuA17LBgmkAEh+lwlwKrFxm0}VLkmM3n)9KatgNgCnKGb3xS)Ww^QO#9f<2V>t++>V zl17%UHOLY#mjO%f=thjZqtfki_uaLgkrF49fmkJsx;h6VV={E`na{|`Fh5HtY~R&8 z!4`l9{+lE5(=DM{d*KoAE|lX7YrR7Z6cpVKjjykCyL)(82PA_r9R$?ehmEF!1!(6hI(RJrcsI0 zvL_L^1QhMVGFJ!PPmyKk6rM#|*4g0K7;ta|wh}ZBg)^~u zKcfmlA_0?727Jp#NWLD$&(kc<`FhRLwDej^#JI+*m!MPf|}*o(}aYC+2uOje453G z{p{JWVm66^htoh&t%d1~0 zAiYI}d#exkGanjdJ7F7h5QBQpucck;Wg8pzB~dMleOY>!aEpY>$^{r>9!w;EJ3h70 zQ^Sv&mN>KTthFu({GX-oK(}9)!eD0*tchQy5db^5G(8hvz3Qm%ECAPN;>OOh+`ZtD zAU7963Q{;Ld3((`jOjpd7)a90%aB1)iN?S@CIATtNC&xrW!Dt>MDen1c$qp)E)9?Z zzhO`pbOwzEHElXm>mhoV$*?So5huvg4vKcd%w1(={fPcE)efHEmff`qx0lB%qNcWi zIzR_^cf zOV`;p%ZZ25@TU2e85LR#ykR#~3_vBb{)8N55}35Ou*|WakYd`#C zxk&@Id=IZl+pv|(P&Bu}-hj)5u9n35HdqedA-4m-%F{x>E+atE=HMda7B4Tai_<%QDx^ z(*+cGX@CfHPn@zmb?Ow^RsjN4%7NaaL1cfia63QW!q#>*fA44sY*RK;=AanMcU4qE z;)rB*b(N8$oq{_?J`MC-7C`K@!erMSpj_RJqs3=w1@+g{Z9P3bn}D4;I@ap}TgX-r z?*j>!7L3|C-MsHh43M4Fv?U(Jr=FyDz9bC#3xdqd#(tYUpbrtgHyN&ERq6GUI#QpCi;=yw(0%)*;cwoVi?CGex!NE68s6RVb{%@yd$9UBE7KYmJ-0docj^1o z-qF_fcA-f1)<@-JbY?*XKMM=XvOh~gzmxkW~ps$LKC; zQ$di5Oq$QFekHov`sUVx|R}ojGA<|dU+AUhF5W4 zRL(Onj4|@_I~K(g7ONrOOT}obU{bwgwDO;*_d?o6@fG0mo@g-)P&hzwr`Eqj<{M0gdgbWM@+Tev| zftWhJm~D6hKzby=4t$32IgyBjWSNGH%r+ylh?Hy~-(163Qicn&<980`tQ1#ZY!~?2 z0`9(PVq!ufM_lIn_?gntnEG@u2ORJ#Z=G5oK2P7=*oG_&>Q72~`Q@3={|?(GZUUfc znQgX!q~inx1h{{9c6SGY1EDXsIdp9}X{pfjo;3giBZ~tm-QSlbeTI#>I3aZPbOnPm z6hB~v3nftW)&PPop=~i@!Fgx`?_Z3~p~RZdEk6CpZ(GpG&1wa3&jjpH5A%5h3x;5H zWAzg_T5Nr9Zb93bZ=hMPDLM4cEY{H2IKdT;{%bmgpM9@@Nz&9Vapdmw;6eWoj91|h zyT9Dd=SUZu)(FyJO2O3JkIV8TB=unkl@pfz*}o281?((Fq7oDJocnZ~%4S$OF&F?Q zZI_kptEsE=^71MnFMWNFmU}a`xNu?oeqL^_XSOH8Ku-R&yC-$JB_gsySu%s!*$Hs<**_L9@cmg=p($>~?7A#pFe0}ehynM@E` zPk!J?i=zjS;GU$UqSDI%pA8VyIkU1+Xq7z&JFXlu!Gl?Lc8DDj&?j@X zQbvN6`&3l4GuRl;(ryI`_)0LI0N~`5m4NjM+ROf^p`(*|24cTO5ZvFIf?$*r8Q3F? zgpHxB+!>LnRk%b%M5MK~GZDIMz2K<=(8Bc9rzc8Pp^c^WPPUP!r+7uXSJdfKr*fQ( zr;`_5wD}a=G%$w!d&7>0+lwobhi~|^xe!OBpqJF{eMGc+fNT8prgb}qj9?G=v--rGA-Rpj;*&tES?V(ySV)zlLKOPO$UM-UX zi%Sq(_K}V1@`;=J@Ezx~>gpE{c@bechO>Bt@RvKL$95?2P`Kd7iyxzW0Xv+K#$Dy6 zb@My!C2VLy;8Q<8?bK_-Lq*q)l%}hL+h}7gLf*W2gNH@~5?Z|VBR-0qjssih=eMEi z!%dBP_N;)Es`qFyy{Y zNfb=PP2_^pImR0|97+{G#0|cX=u(AW^}K`dkmCe4@ky-yOFNoHc{l0YVOmJ3P1F3X z_B7#}@JI7=QnNE5i6?MB?^yv2wX4$sJNy|pl_=CAF~#Eh)}e9_x97T9N8V{>)tH)! z2>OD%%5UVu8#nGl^z}MV0y02I!R_v^daMDj)651Zz*LdDk>Z~2+C3=>pR+1JVRSZ%;D8!SvG2(#vFRGF^9U>*BNY@~g?F!b5op{9;rw?LH^9 z`(X%av@b^BjxpLkdI+^jrIppy#@qy&k(ih+cpF0EcMkZBNC!SY<2wk)bSy?dI7)AA zb#)+#_3p{}eLe-Y^{rK<#=*-GHzG<&#cJS`r>3U|JVT+rvWlZ$@+)+Iy(XpXK0+&` z4q~ve>JRKG!g_?`IoqlVGDgL*LN7l|9Yh?9Ar-oBwMbt_)YS???`!~%dIddLXMyOC ze++f$I^vba=W`MhGCeV2cX<32aDrFSxzZoHH?2rS-jx>LE^m>KXm~|PLqWz-?y9F7 zVWp<2c@=EOYp@|r0D7qHi#qIFsNhsg7~L#bmHZI7&sAM2ZCN*D#*sH#UD3&G1@`-(nls3>34I?LRgpgQJ%=f-N2O&&yQci;@r3fs%dBg|VTQSai9 zOP47pOK&zcG(?x!PSn+qF-mV3^i>7gpC%@50mN@8&pC8#+MQ`6*HBXW^|=V1R$rEd zP)HQ&!bzBHieMuqM7=va?&Ied8XC$2M*o>~^6D?Rt%(qxajxZxQS8%FenTofE*+Jn z6V}dC(Dba^S85ZxK7f?z+S=xTe2fnGLFU*r?n@}IEi&rO=ic6jfSR1pvj9I91-Fnz zIaAc=ogTG;D7%~di$^K}&2rSFPRk_f5sWe+vQM6*!)E5eeVBrJ)2d{#pe-gQh6uYF zipZmRP|NBM+?9J5huAg04G{aBgyy=hnOInw!A>JI#HgG5r-NJ}t{{Pcco|o#vA*!W zQxskx9xi1ZVq!YHxT(yq_nt|=(bLq&QXY|cQg!m75e@#hF?0AGh>S16of-V|Q-b5D zj`CxYn40!>r6b7LIrf8xykR%^)y(@;Fmw4Oc14U;aQJJj{neklPq}8Ai#?FIsmWbh zf@++2r|i?Gxo`pVse&DzRr#?G{ADFT4cnpJR_g|k**OcAAIGNk6it|PmaFxs`LFhK z-uZhxi2dT!H8h$bEHr}br;56ItryBFDLuWF%d67#3KI+yi~)0)~Q#$<#22^=5K5#U@<{@GYpcLcR96-D)mvQK|TE+ z^RSTj9zGoWQ+F!|Bz^e;cHVk{L-MD2#y;~yPX;Qgs842tClv^T5E5|nJam~udpUUK zSI(#APU+_^2yMnkt5Lw}g5M2?Js@QN`&G330txD-2yu`rqjb=3*j&3qVDE)!TZ^Fc z@u1~qnuIMBcwC!@08NX1mp)h6_C-~_#~OlmtiH?8-sb#fY}yrJ$Y$M!3uJ7X<=9dNM!-!+*|h9Vg;s zm0G3$-~k8_YOD7c#ir5aJZL9VSC8uH?L7;PSczb7xm6<$(&6y;&q=vdJqf>`|LfOM z?CaNEm*FZDoMzUUo}TbaDb)O9?6v);XB*NE_3qlboWdVpI((o06a+x;C@4fg#RN{> z;8g~ncZ#N_roK=Zw8FwcXqN!YW+P-To>27Fehncs0nyxTsmV}q5V9By82D4CPe0^9 zBP0*F%*C_D8|ywxfXmKT{4j5@nwBzr5N#O&0u9&hVVWKr81RCXOTtW2#4B#2DqOxO z|6@(Ke=$ylWXlrNw8Axssj;z<$D;qbzn`D}O)#mQ+{Xn1{QYOc!@{_6(6n83x4r&1 zQ!*Erl@i<^Vswjty-ey>KtQZx-^7lAg@a=;Q8?Zzwx^XVh9U3DvF61r+j+}qQJ1GN zRr=9i(&x~g6WSko)!6hBckUO^%ZHgq7!muGWDFXtOtpjElpGzDe#&4Bppt5bzJtAEYc|F`uzhF?`x zg#}LHDi<{EJ!*y%C~nEYcR`pe56E`P-Cu()>RuNf@qYB^5%K}tp0UurAl$F=AU0Q= zwJ$!INiP9%p`tl26Q@s+P|vA?gDZP7AJX67Z>X-GtfqcgC#`>cMXR4LfHkRab*9x| z%Qwj{_~>Wlvv|13(2snxGZ}?6VK}aUnKyclY;)!j-&PYRBt@hk9?|>Q zH$R3bpEG(RW%weX;R(cg0#eH2pE5HQdgeE!AQ8;;Eiz#3E`|jC< z?EWpIgRL8*nIqMPw58i zZlzE+Ia9uw*I{tYiIGm`zJ(FLf6nOjl*e?(PIy+-5lksD0mOwiHDhCXN4RkTVgnJg#~$p) z0YZhXY}U_*aqEkq5k$&TOl_uoSg8-)9A<3>AJg|rtMr|7ZX`xk=@&7fk#!#r{gBh& zlfw4w7q8?-^X!SiH=GzvYLP^tsqA;GP)J^ z6lJ?6W5KgY-cWF>eaa)wl7wzQ;FZ)8;p`}wb#VP=(lN4DsiW#gq}0#gT1Lzut_{c6 zp9p1IFZjGu9`fTOAvjM6&H<8q9{eLnT!=BBQ3&z63#ANZQZu(GXjoqu3p zi9<^?cg3HQT`QHIyX~N=Wb#$zUzhk*q?pt(Ok!e(J``dwE&~@MMp_MG&W(*E!k#FPzmqk?wN2C zf75Vvn1yNfg4X1B1vZG#i$rh%Fh#r&RBCmgn-*&o4&Ezr(ZNy}RTe5)uiv zl^5>n$CC3w5 z$Aj}c@DrFT1#SY7o1UgWPXh7&g?DgxI0YHa$n5Ov1o)_%`d=f#bmTByzWgY&qC$ej z5x>>OeET{skbiz~jE0z`1I{jPBwk*qzklC{P2-DND=3go0A%AD^fz}L?Jj7Kh)Q)Z z9Ix>|okhUsn>DIYcQzz)XkYp|bwaj;yN3~!On7X5A~*j&f*`yx#bd3JWdN7||LJ$4 zL)63Dt+}Qlk^5qy@9%-U4;UF4-irb#h^II}#pxvu&t3pGdB1E_?5(VBxs6IPp09dp z8FZEqxW4ae1~|u6$fg-1f8HCKfoSj>HN8;+vbKjm(L0x7r#WVykG4q-({vsw(zpy=@4PAuZs(j-7{rDC z0RiOkA&0-jL_#jZ^f_OFcY%fx@whrbw@~{r)ABF3beJ3)1ZR6vPr`f)JIpb0b8~lP zY6%b^e(um@K*b1Z0I5#Pqr}o|a3d1UdT6bMy9Q-F zglmxVd(bfM26)8g2=FgFUEhXE;(a0OG`-44Q=RR zwp)1HQ^+a3%xQdvn=d)PijJlxz{72r6e#e&hMcp0W@2I@mn|L&xAzsGfD(}orQ`8t zNX3rBD?S~--JM|xOQAufTmU5PN4qm4`!&QutJV$%LJ-MH^^`a33vt* z-0jk$06s8}E3We~_#S)c_Z@EMUi|db@OTIuMD`c*+S4c~|NebLoDz;O+`Sw?>E^_O zILb6G`W`V1p3(`7M*vhXEE-!|GcR$XP*xwlhSi&1QP!!G99i)I8M3U)UX?c8W7bk( zfH{}21G=2=jvy|b3a{A=S;Tf=3+fY2P zj!({Q+8%upAEnKN%O#a_UA_9~9xjnFNU6|G{bEb%5uxbZcJN^p7ParaebUqkGPY5d z#qqEH?*XF7SIN7h-Ad-f-rH9zo*J3lvsrmDzCKg7=dy9=L6{}MrDiv~rZ{F*DF3mk zd3$bV)uNET6kFQSlRF--BVr$O&nCYkBe8xFFKcCQ{kF#4W=8_2x$D2&JJqv1=`&`| z*!83*Ng4Y4wUCBA7HPI83)@7mmHI8%t*Wk`4?|-5kcw{+KFfIP>mC?P`o&ed;N5tQ zx7tgdWG;6xOZ>=Dyk99ZTCZq*6Y^Wu9^M+7Lgfcd5p+Svhi_$mq}H>W<;jvLk}^`5 z+Q~4gEyey!=+jeg-C;{LD#f^T=U( zW5#xnLTT;Kyb{w-*7=K?Rmkp;hn+%qbspTP5^a+^Ma(C}|iSA7h_ zlr(td2Z!GKXvWI1!mwN;#L!YY+<6P)kSHq;VW!W%34!|@sbf5I`SouoPEGnh%)c~I+rMbi-8lUKAaV|_` zVOZiO=6>v$JxO+63*EE>-;5qsz;AJ#VUE$jm96Gwbm1fKi(A#QR2-83d>DaG4@+}7 zu&658XSYa^?PmJ52pkoPQM6jOY$^;#Dxi6~ZyA1eP&VW{N5$JZH12=SN$mQwTZSkM zfgiC~gH2r=ny0nua7tzS+Yv*H-gcaI9!pheTiTP^hLy>p{^c5;F*0i0`~CTV(k2Vp zZkhLfMyquL2bW}t5`yu(9KtoV=eAxf#=#>h1o?98Y?2WnG48ccXnc%x#(t(>>B3J> z1e(K+U}rFs zswcORC%Sd?wFlIv=t*ftNvSp|?~KUwI{L{XF}vozF0@qN?5YWg|1JayTpOW`bjYl}q zR3P0>)iVFYv|u^EYh$21-k*5<`F}I{)k~mu^?W3|$*kjf6XX2^&epialJ^ZOTSY~B zb8Ti3G4Ql_5^_OB>OV{DMVL`dVj0N7Tk}D?rj{H2O9GsDNM~t4ZG$=)ViofKb zG5+u_Zam1}2^oHrASfW`^pwa-GFMPwXq&Or^-J6}G~#G;l$g5oo8TE75)90+SA!|Y zN34C}vyQaVur)4N-cFs(^H7Q^UKgT`=NpZtsTf%_V~KPL_&?*PG%=plLzRGlmp^1qV+`%Qb?$jmu%seU9|M@hCi&!b{8spw;5UHi_W!nwaM zh#Q4p(Ea_q`C7^8g@s>dYHQ`qhJ(fu3@a#_-DUpF@GTf6EZIX!|B2@6w#aEc`hu&G zF$_ZqPuB}d(474K>%5+Bu}HBg4LlS1bBa)5zsUD7hLL{JwCwBAd`D~9!K-jkyuJ4o zrY)_0KmFELCnctVsmoJwGOX>?Fc5s$zOLeQ^`Q*IdAG(=V%+TDju^~NeuM1mVj<=W z#i9!f_xmFUx>ly1A||888g(x-&=W^6q`KlJJ+R2T6;%EWd}PSLWwgb)~qL$Ytb^<(_IRw5EV z_vnQ^N%A)0jAanXdggGLet!HrGSCp+S=r8IX=upD%()a*9QryUwxUbQ@Y=tNib|lQ z8JHHxI@7v!=*rl;Tg)daw|zKWZ`HtvUUOlqk&+C{QO0;q)U=CSqzU#9OjU6rKRCWS z%ac!$vQ)F1iW|-!N8$X?P>^?Mn__&}VhrKoG7rtmv)4lEYN{#2I$zs9;^N_tE&NtY zc59{7dq0W~&6yT3(fkWLKx_Wr6Vwcu{2L6qO2J6Pr0#RWVX<-x%SnUx5a#LS=i!_y zGiBk4lpVpiwz&@a8zrD&rT*CcN(#maI$NuPnD%3 z`vZgO>LA1RuWQ0hp_dlAI%c3;pcyVPGIG@#aZimSmkNGM*{PNGzbLYa9RI@d_r(3N zsc$=@2g-GB$T?{hU}zJ=e>HfrMDB**?7$yaq7*_L?kCE0rhV(M+|T{enf5L*RocXx z$l3jW{mmcWVPkHn7BDeTt`yjy{i!5q!Azw2M|+n}m9BYiriy@nq8L|9)aC!Z)dXYp zsKr>ll;LL~cEz}({h}ToFn(ud*vZ4p(7BSBrWQRB3{#bR;?V!G(sfM~VTsL3c^(Ys z!fbWWPum{H*i8?ejjiCyrC>HKX8IIIQ|6ge=09G?NcG=dN)`&aJ7Q=hP3C{&YtPB*TR+eqH2z&w@PHj}r5&g4MkYLp|4I@sX0XBfWQcv{g}$#PDaL_{H(h{V!C! zcAS)&81MfbK7Nd97Qp%a0084kL AD*ylh diff --git a/Telegram/SourceFiles/boxes/abstractbox.cpp b/Telegram/SourceFiles/boxes/abstractbox.cpp index 656d9c0b1d..9300efb8ec 100644 --- a/Telegram/SourceFiles/boxes/abstractbox.cpp +++ b/Telegram/SourceFiles/boxes/abstractbox.cpp @@ -106,8 +106,10 @@ void AbstractBox::setMaxHeight(int32 maxHeight) { void AbstractBox::resizeMaxHeight(int32 newWidth, int32 maxHeight) { if (width() != newWidth || _maxHeight != maxHeight) { + QRect g(geometry()); _maxHeight = maxHeight; resize(newWidth, countHeight()); + if (parentWidget()) parentWidget()->update(geometry().united(g).marginsAdded(QMargins(st::boxShadow.pxWidth(), st::boxShadow.pxHeight(), st::boxShadow.pxWidth(), st::boxShadow.pxHeight()))); } } diff --git a/Telegram/SourceFiles/gui/animation.cpp b/Telegram/SourceFiles/gui/animation.cpp index 027d4105c8..40bd55078c 100644 --- a/Telegram/SourceFiles/gui/animation.cpp +++ b/Telegram/SourceFiles/gui/animation.cpp @@ -18,7 +18,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org #include "stdafx.h" #include "animation.h" -#include + +#include "mainwidget.h" +#include "window.h" namespace { AnimationManager *manager = 0; @@ -94,3 +96,113 @@ namespace anim { } } + +bool AnimatedGif::animStep(float64 ms) { + int32 f = frame; + while (f < frames.size() && ms > delays[f]) { + ++f; + if (f == frames.size() && frames.size() < framesCount) { + if (reader->read(&img)) { + int64 d = reader->nextImageDelay(), delay = delays[f - 1]; + if (!d) d = 1; + delay += d; + frames.push_back(QPixmap::fromImage(img.size() == QSize(w, h) ? img : img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly)); + delays.push_back(delay); + for (int32 i = 0; i < frames.size(); ++i) { + if (!frames[i].isNull()) { + frames[i] = QPixmap(); + break; + } + } + } else { + framesCount = frames.size(); + } + } + if (f == frames.size()) { + if (!duration) { + duration = delays.isEmpty() ? 1 : delays.back(); + } + + f = 0; + for (int32 i = 0, s = delays.size() - 1; i <= s; ++i) { + delays[i] += duration; + } + if (frames[f].isNull()) { + QString fname = reader->fileName(); + delete reader; + reader = new QImageReader(fname); + } + } + if (frames[f].isNull() && reader->read(&img)) { + frames[f] = QPixmap::fromImage(img.size() == QSize(w, h) ? img : img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly); + } + } + if (frame != f) { + frame = f; + if (msg && App::main()) { + App::main()->msgUpdated(msg->history()->peer->id, msg); + } else { + emit updated(); + } + } + return true; +} + +void AnimatedGif::start(HistoryItem *row, const QString &file) { + stop(); + + reader = new QImageReader(file); + if (!reader->canRead() || !reader->supportsAnimation()) { + stop(); + return; + } + + QSize s = reader->size(); + w = s.width(); + h = s.height(); + framesCount = reader->imageCount(); + if (!w || !h || !framesCount) { + stop(); + return; + } + + frames.reserve(framesCount); + delays.reserve(framesCount); + + int32 sizeLeft = MediaViewImageSizeLimit, delay = 0; + for (bool read = reader->read(&img); read; read = reader->read(&img)) { + sizeLeft -= w * h * 4; + frames.push_back(QPixmap::fromImage(img.size() == s ? img : img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly)); + int32 d = reader->nextImageDelay(); + if (!d) d = 1; + delay += d; + delays.push_back(delay); + if (sizeLeft < 0) break; + } + + msg = row; + + anim::start(this); + if (msg) { + msg->initDimensions(); + if (App::main()) App::main()->itemResized(msg, true); + } +} + +void AnimatedGif::stop(bool onItemRemoved) { + if (isNull()) return; + + delete reader; + reader = 0; + HistoryItem *row = msg; + msg = 0; + frames.clear(); + delays.clear(); + w = h = frame = framesCount = duration = 0; + + anim::stop(this); + if (row && !onItemRemoved) { + row->initDimensions(); + if (App::main()) App::main()->itemResized(row, true); + } +} diff --git a/Telegram/SourceFiles/gui/animation.h b/Telegram/SourceFiles/gui/animation.h index 9d9556ba9b..e600f0d229 100644 --- a/Telegram/SourceFiles/gui/animation.h +++ b/Telegram/SourceFiles/gui/animation.h @@ -307,3 +307,39 @@ private: bool iterating; }; + +class HistoryItem; +class AnimatedGif : public QObject, public Animated { + Q_OBJECT + +public: + + AnimatedGif() : msg(0), reader(0), w(0), h(0), frame(0), framesCount(0), duration(0) { + } + + bool animStep(float64 ms); + + void start(HistoryItem *row, const QString &file); + void stop(bool onItemRemoved = false); + + bool isNull() const { + return !reader; + } + + ~AnimatedGif() { + stop(true); + } + +signals: + + void updated(); + +public: + + HistoryItem *msg; + QImage img; + QImageReader *reader; + QVector frames; + QVector delays; + int32 w, h, frame, framesCount, duration; +}; diff --git a/Telegram/SourceFiles/gui/style_core.h b/Telegram/SourceFiles/gui/style_core.h index cfab2435e6..190b8b917e 100644 --- a/Telegram/SourceFiles/gui/style_core.h +++ b/Telegram/SourceFiles/gui/style_core.h @@ -26,6 +26,10 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org #include #include +inline QRect rtlrect(int x, int y, int w, int h, int outerw) { + return rtl() ? QRect(outerw - x - w, y, w, h) : QRect(x, y, w, h); +} + namespace style { class FontData; diff --git a/Telegram/SourceFiles/gui/text.cpp b/Telegram/SourceFiles/gui/text.cpp index 9ac74f9cbf..8b26f7e5f1 100644 --- a/Telegram/SourceFiles/gui/text.cpp +++ b/Telegram/SourceFiles/gui/text.cpp @@ -887,7 +887,7 @@ public: _align = align; _parDirection = _t->_startDir; - if (_parDirection == Qt::LayoutDirectionAuto) _parDirection = langDir(); + if (_parDirection == Qt::LayoutDirectionAuto) _parDirection = cLangDir(); if ((*_t->_blocks.cbegin())->type() != TextBlockNewline) { initNextParagraph(_t->_blocks.cbegin()); } @@ -926,7 +926,7 @@ public: } _parDirection = static_cast(b)->nextDirection(); - if (_parDirection == Qt::LayoutDirectionAuto) _parDirection = langDir(); + if (_parDirection == Qt::LayoutDirectionAuto) _parDirection = cLangDir(); initNextParagraph(i + 1); longWordLine = true; @@ -2613,7 +2613,7 @@ QString Text::original(uint16 selectedFrom, uint16 selectedTo, bool expandLinks) result += r; } else { QUrl u(url); - if (r.size() > 3 && _text.midRef(lnkFrom, r.size() - 3) == (u.isValid() ? u.toDisplayString() : url).midRef(0, r.size() - 3)) { // same link + if (r.size() <= 3 || _text.midRef(lnkFrom, r.size() - 3) == (u.isValid() ? u.toDisplayString() : url).midRef(0, r.size() - 3)) { // same link result += url; } else { result.append(r).append(qsl(" ( ")).append(url).append(qsl(" )")); @@ -4090,7 +4090,7 @@ LinkRanges textParseLinks(const QString &text, int32 flags, bool rich) { // some initLinkSets(); int32 len = text.size(), nextCmd = rich ? 0 : len; const QChar *start = text.unicode(), *end = start + text.size(); - for (int32 offset = 0, matchOffset = offset; offset < len;) { + for (int32 offset = 0, matchOffset = offset, mentionSkip = 0; offset < len;) { if (nextCmd <= offset) { for (nextCmd = offset; nextCmd < len; ++nextCmd) { if (*(start + nextCmd) == TextCommand) { @@ -4101,8 +4101,7 @@ LinkRanges textParseLinks(const QString &text, int32 flags, bool rich) { // some QRegularExpressionMatch mDomain = _reDomain.match(text, matchOffset); QRegularExpressionMatch mExplicitDomain = _reExplicitDomain.match(text, matchOffset); QRegularExpressionMatch mHashtag = withHashtags ? _reHashtag.match(text, matchOffset) : QRegularExpressionMatch(); - QRegularExpressionMatch mMention = withMentions ? _reMention.match(text, matchOffset) : QRegularExpressionMatch(); - if (!mDomain.hasMatch() && !mExplicitDomain.hasMatch() && !mHashtag.hasMatch() && !mMention.hasMatch()) break; + QRegularExpressionMatch mMention = withMentions ? _reMention.match(text, qMax(mentionSkip, matchOffset)) : QRegularExpressionMatch(); LinkRange link; int32 domainOffset = mDomain.hasMatch() ? mDomain.capturedStart() : INT_MAX, @@ -4121,7 +4120,7 @@ LinkRanges textParseLinks(const QString &text, int32 flags, bool rich) { // some --hashtagEnd; } } - if (mMention.hasMatch()) { + while (mMention.hasMatch()) { if (!mMention.capturedRef(1).isEmpty()) { ++mentionOffset; } @@ -4129,10 +4128,21 @@ LinkRanges textParseLinks(const QString &text, int32 flags, bool rich) { // some --mentionEnd; } if (!(start + mentionOffset + 1)->isLetter() || !(start + mentionEnd - 1)->isLetterOrNumber()) { - mentionOffset = mentionEnd = INT_MAX; - if (!mDomain.hasMatch() && !mExplicitDomain.hasMatch() && !mHashtag.hasMatch()) break; + mentionSkip = mentionEnd; + mMention = _reMention.match(text, qMax(mentionSkip, matchOffset)); + if (mMention.hasMatch()) { + mentionOffset = mMention.capturedStart(); + mentionEnd = mMention.capturedEnd(); + } else { + mentionOffset = INT_MAX; + mentionEnd = INT_MAX; + } + } else { + break; } } + if (!mMention.hasMatch() && !mDomain.hasMatch() && !mExplicitDomain.hasMatch() && !mHashtag.hasMatch()) break; + if (explicitDomainOffset < domainOffset) { domainOffset = explicitDomainOffset; domainEnd = explicitDomainEnd; diff --git a/Telegram/SourceFiles/gui/twidget.cpp b/Telegram/SourceFiles/gui/twidget.cpp index 7690b3c1eb..7cbcf90d17 100644 --- a/Telegram/SourceFiles/gui/twidget.cpp +++ b/Telegram/SourceFiles/gui/twidget.cpp @@ -20,9 +20,6 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org #include "application.h" namespace { - Qt::LayoutDirection _dir = Qt::LeftToRight; - bool _rtl = false; - void _sendResizeEvents(QWidget *target) { QResizeEvent e(target->size(), QSize()); QApplication::sendEvent(target, &e); @@ -37,19 +34,6 @@ namespace { } } -void rtl(bool is) { - _rtl = is; - _dir = _rtl ? Qt::RightToLeft : Qt::LeftToRight; -} - -bool rtl() { - return _rtl; -} - -Qt::LayoutDirection langDir() { // current lang dependent - return _dir; -} - QPixmap myGrab(QWidget *target, const QRect &rect) { if (!cRetina()) return target->grab(rect); diff --git a/Telegram/SourceFiles/gui/twidget.h b/Telegram/SourceFiles/gui/twidget.h index 5e458f9737..83e15d8dd3 100644 --- a/Telegram/SourceFiles/gui/twidget.h +++ b/Telegram/SourceFiles/gui/twidget.h @@ -17,14 +17,6 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org */ #pragma once -void rtl(bool is); -bool rtl(); -Qt::LayoutDirection langDir(); - -inline QRect rtlrect(int x, int y, int w, int h, int outerw) { - return rtl() ? QRect(outerw - x - w, y, w, h) : QRect(x, y, w, h); -} - class Widget : public QWidget { public: @@ -61,15 +53,36 @@ public: void drawPixmapLeft(int x, int y, int outerw, const QPixmap &pix, const QRect &from) { drawPixmap(QPoint(rtl() ? (outerw - x - (from.width() / pix.devicePixelRatio())) : x, y), pix, from); } + void drawPixmapLeft(const QPoint &p, int outerw, const QPixmap &pix, const QRect &from) { + return drawPixmapLeft(p.x(), p.y(), outerw, pix, from); + } void drawPixmapRight(int x, int y, int outerw, const QPixmap &pix, const QRect &from) { drawPixmap(QPoint(rtl() ? x : (outerw - x - (from.width() / pix.devicePixelRatio())), y), pix, from); } - void drawSpriteLeft(int x, int y, int outerw, const QRect &sprite) { + void drawPixmapRight(const QPoint &p, int outerw, const QPixmap &pix, const QRect &from) { + return drawPixmapRight(p.x(), p.y(), outerw, pix, from); + } + void drawSprite(int x, int y, const style::sprite &sprite) { + return drawPixmap(QPoint(x, y), App::sprite(), sprite); + } + void drawSprite(const QPoint &p, const style::sprite &sprite) { + return drawPixmap(p, App::sprite(), sprite); + } + void drawSpriteLeft(int x, int y, int outerw, const style::sprite &sprite) { return drawPixmapLeft(x, y, outerw, App::sprite(), sprite); } - void drawSpriteRight(int x, int y, int outerw, const QRect &sprite) { + void drawSpriteLeft(const QPoint &p, int outerw, const style::sprite &sprite) { + return drawPixmapLeft(p, outerw, App::sprite(), sprite); + } + void drawSpriteRight(int x, int y, int outerw, const style::sprite &sprite) { return drawPixmapRight(x, y, outerw, App::sprite(), sprite); } + void drawSpriteRight(const QPoint &p, int outerw, const style::sprite &sprite) { + return drawPixmapRight(p, outerw, App::sprite(), sprite); + } + void drawSpriteCenter(const QRect &in, const style::sprite &sprite) { + return drawPixmap(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), App::sprite(), sprite); + } }; class TWidget : public Widget { diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index 246f03cda1..3c6d11b34d 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -81,7 +81,7 @@ namespace { }; inline void _initTextOptions() { - _historySrvOptions.dir = _textNameOptions.dir = _textDlgOptions.dir = langDir(); + _historySrvOptions.dir = _textNameOptions.dir = _textDlgOptions.dir = cLangDir(); _textDlgOptions.maxw = st::dlgMaxWidth * 2; _webpageTitleOptions.maxw = st::msgMaxWidth - st::msgPadding.left() - st::msgPadding.right() - st::webPageLeft; _webpageTitleOptions.maxh = st::webPageTitleFont->height * 2; @@ -89,127 +89,6 @@ namespace { _webpageDescriptionOptions.maxh = st::webPageDescriptionFont->height * 3; } - class AnimatedGif : public Animated { - public: - - AnimatedGif() : msg(0), reader(0), w(0), h(0), frame(0), framesCount(0), duration(0) { - } - - bool animStep(float64 ms) { - int32 f = frame; - while (f < frames.size() && ms > delays[f]) { - ++f; - if (f == frames.size() && frames.size() < framesCount) { - if (reader->read(&img)) { - int64 d = reader->nextImageDelay(), delay = delays[f - 1]; - if (!d) d = 1; - delay += d; - frames.push_back(QPixmap::fromImage(img.size() == QSize(w, h) ? img : img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly)); - delays.push_back(delay); - for (int32 i = 0; i < frames.size(); ++i) { - if (!frames[i].isNull()) { - frames[i] = QPixmap(); - break; - } - } - } else { - framesCount = frames.size(); - } - } - if (f == frames.size()) { - if (!duration) { - duration = delays.isEmpty() ? 1 : delays.back(); - } - - f = 0; - for (int32 i = 0, s = delays.size() - 1; i <= s; ++i) { - delays[i] += duration; - } - if (frames[f].isNull()) { - QString fname = reader->fileName(); - delete reader; - reader = new QImageReader(fname); - } - } - if (frames[f].isNull() && reader->read(&img)) { - frames[f] = QPixmap::fromImage(img.size() == QSize(w, h) ? img : img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly); - } - } - if (frame != f) { - frame = f; - if (App::main()) App::main()->msgUpdated(msg->history()->peer->id, msg); - } - return true; - } - - void start(HistoryItem *row, const QString &file) { - if (reader) { - stop(); - } - reader = new QImageReader(file); - if (!reader->canRead() || !reader->supportsAnimation()) { - stop(); - return; - } - - QSize s = reader->size(); - w = s.width(); - h = s.height(); - framesCount = reader->imageCount(); - if (!w || !h || !framesCount) { - stop(); - return; - } - - frames.reserve(framesCount); - delays.reserve(framesCount); - - int32 sizeLeft = MediaViewImageSizeLimit, delay = 0; - for (bool read = reader->read(&img); read; read = reader->read(&img)) { - sizeLeft -= w * h * 4; - frames.push_back(QPixmap::fromImage(img.size() == s ? img : img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly)); - int32 d = reader->nextImageDelay(); - if (!d) d = 1; - delay += d; - delays.push_back(delay); - if (sizeLeft < 0) break; - } - - msg = row; - - anim::start(this); - msg->initDimensions(); - App::main()->itemResized(msg, true); - } - - void stop(bool onItemRemoved = false) { - delete reader; - reader = 0; - HistoryItem *row = msg; - msg = 0; - frames.clear(); - delays.clear(); - w = h = frame = framesCount = duration = 0; - - anim::stop(this); - if (row && !onItemRemoved) { - row->initDimensions(); - if (App::main()) App::main()->itemResized(row, true); - } - } - - ~AnimatedGif() { - stop(true); - } - - HistoryItem *msg; - QImage img; - QImageReader *reader; - QVector frames; - QVector delays; - int32 w, h, frame, framesCount, duration; - }; - AnimatedGif animated; inline HistoryReply *toHistoryReply(HistoryItem *item) { @@ -2508,6 +2387,7 @@ void HistoryDocument::initDimensions(const HistoryItem *parent) { } } } + _height = _minh; } void HistoryDocument::draw(QPainter &p, const HistoryItem *parent, bool selected, int32 width) const { @@ -3191,6 +3071,7 @@ void HistoryWebPage::initDimensions(const HistoryItem *parent) { if (data->pendingTill) { _maxw = st::webPageLeft + st::linkFont->m.width(lang((data->pendingTill < 0) ? lng_attach_failed : lng_profile_loading)); _minh = st::replyHeight; + _height = _minh; return; } if (!_openl && !data->url.isEmpty()) _openl = TextLinkPtr(new TextLink(data->url)); @@ -3280,6 +3161,7 @@ void HistoryWebPage::initDimensions(const HistoryItem *parent) { _duration = formatDurationText(data->duration); _durationWidth = st::msgDateFont->m.width(_duration); } + _height = _minh; } void HistoryWebPage::draw(QPainter &p, const HistoryItem *parent, bool selected, int32 width) const { @@ -4054,6 +3936,7 @@ void HistoryImageLink::initDimensions(const HistoryItem *parent) { _minh += st::msgPadding.top() + st::msgNameFont->height; } } + _height = _minh; } void HistoryImageLink::draw(QPainter &p, const HistoryItem *parent, bool selected, int32 width) const { diff --git a/Telegram/SourceFiles/historywidget.cpp b/Telegram/SourceFiles/historywidget.cpp index f01f53f7d9..6e57dce461 100644 --- a/Telegram/SourceFiles/historywidget.cpp +++ b/Telegram/SourceFiles/historywidget.cpp @@ -842,9 +842,9 @@ void HistoryList::saveContextFile() { VideoLink *lnkVideo = dynamic_cast(_contextMenuLnk.data()); AudioLink *lnkAudio = dynamic_cast(_contextMenuLnk.data()); DocumentLink *lnkDocument = dynamic_cast(_contextMenuLnk.data()); - if (lnkVideo) VideoSaveLink(lnkVideo->video()).doSave(true); - if (lnkAudio) AudioSaveLink(lnkAudio->audio()).doSave(true); - if (lnkDocument) DocumentSaveLink(lnkDocument->document()).doSave(true); + if (lnkVideo) VideoSaveLink::doSave(lnkVideo->video(), true); + if (lnkAudio) AudioSaveLink::doSave(lnkAudio->audio(), true); + if (lnkDocument) DocumentSaveLink::doSave(lnkDocument->document(), true); } void HistoryList::copyContextText() { diff --git a/Telegram/SourceFiles/mainwidget.cpp b/Telegram/SourceFiles/mainwidget.cpp index 37e3cd3e19..6cbd6eb395 100644 --- a/Telegram/SourceFiles/mainwidget.cpp +++ b/Telegram/SourceFiles/mainwidget.cpp @@ -1431,6 +1431,7 @@ void MainWidget::documentLoadProgress(mtpFileLoader *loader) { msgUpdated(j.key()->history()->peer->id, j.key()); } } + App::wnd()->documentUpdated(document); } void MainWidget::documentLoadFailed(mtpFileLoader *loader, bool started) { diff --git a/Telegram/SourceFiles/mediaview.cpp b/Telegram/SourceFiles/mediaview.cpp index 6972183a7d..6995b47cd4 100644 --- a/Telegram/SourceFiles/mediaview.cpp +++ b/Telegram/SourceFiles/mediaview.cpp @@ -50,7 +50,10 @@ _width(0), _x(0), _y(0), _w(0), _h(0), _xStart(0), _yStart(0), _zoom(0), _zoomToScreen(0), _pressed(false), _dragging(0), _full(-1), _docNameWidth(0), _docSizeWidth(0), _docThumbx(0), _docThumby(0), _docThumbw(0), -_docRadialFirst(0), _docRadialStart(0), _docRadialLast(0), a_docRadialStart(0, 1), +_docRadialFirst(0), _docRadialStart(0), _docRadialLast(0), _docRadialOpacity(1), a_docRadialStart(0, 1), +_docDownload(this, lang(lng_media_download), st::mvDocLink), +_docSaveAs(this, lang(lng_mediaview_save_as), st::mvDocLink), +_docCancel(this, lang(lng_cancel), st::mvDocLink), _history(0), _peer(0), _user(0), _from(0), _index(-1), _msgid(0), _loadRequest(0), _over(OverNone), _down(OverNone), _lastAction(-st::mvDeltaFromLastAction, -st::mvDeltaFromLastAction), _ignoringDropdown(false), _controlsState(ControlsShown), _controlsAnimStarted(0), @@ -85,6 +88,10 @@ _saveMsgStarted(0), _saveMsgOpacity(0) _touchTimer.setSingleShot(true); connect(&_touchTimer, SIGNAL(timeout()), this, SLOT(onTouchTimer())); + connect(&_currentGif, SIGNAL(updated()), this, SLOT(onGifUpdated())); + + _btns.push_back(_btnSaveCancel = _dropdown.addButton(new IconedButton(this, st::mvButton, lang(lng_cancel)))); + connect(_btnSaveCancel, SIGNAL(clicked()), this, SLOT(onSaveCancel())); _btns.push_back(_btnToMessage = _dropdown.addButton(new IconedButton(this, st::mvButton, lang(lng_context_to_msg)))); connect(_btnToMessage, SIGNAL(clicked()), this, SLOT(onToMessage())); _btns.push_back(_btnShowInFolder = _dropdown.addButton(new IconedButton(this, st::mvButton, lang(cPlatform() == dbipMac ? lng_context_show_in_finder : lng_context_show_in_folder)))); @@ -96,7 +103,7 @@ _saveMsgStarted(0), _saveMsgOpacity(0) _btns.push_back(_btnDelete = _dropdown.addButton(new IconedButton(this, st::mvButton, lang(lng_mediaview_delete)))); connect(_btnDelete, SIGNAL(clicked()), this, SLOT(onDelete())); _btns.push_back(_btnSaveAs = _dropdown.addButton(new IconedButton(this, st::mvButton, lang(lng_mediaview_save_as)))); - connect(_btnSaveAs, SIGNAL(clicked()), this, SLOT(onSave())); + connect(_btnSaveAs, SIGNAL(clicked()), this, SLOT(onSaveAs())); _btns.push_back(_btnViewAll = _dropdown.addButton(new IconedButton(this, st::mvButton, lang(lng_mediaview_photos_all)))); connect(_btnViewAll, SIGNAL(clicked()), this, SLOT(onOverview())); @@ -105,6 +112,10 @@ _saveMsgStarted(0), _saveMsgOpacity(0) _controlsHideTimer.setSingleShot(true); connect(&_controlsHideTimer, SIGNAL(timeout()), this, SLOT(onHideControls())); + + connect(&_docDownload, SIGNAL(clicked()), this, SLOT(onDownload())); + connect(&_docSaveAs, SIGNAL(clicked()), this, SLOT(onSaveAs())); + connect(&_docCancel, SIGNAL(clicked()), this, SLOT(onSaveCancel())); } void MediaView::moveToScreen() { @@ -149,6 +160,22 @@ void MediaView::mediaOverviewUpdated(PeerData *peer) { } } +void MediaView::documentUpdated(DocumentData *doc) { + if (_doc && _doc == doc && _current.isNull() && _currentGif.isNull()) { + if ((_doc->loader && _docCancel.isHidden()) || (!_doc->loader && !_docCancel.isHidden())) { + updateControls(); + } else if (_doc->loader) { + updateDocSize(); + update(_docRect); + } + } +} + +void MediaView::onGifUpdated() { + _currentGif.frames[_currentGif.frame].setDevicePixelRatio(cRetinaFactor()); + update(_x, _y, _w, _h); +} + void MediaView::changingMsgId(HistoryItem *row, MsgId newId) { if (row->id == _msgid) { _msgid = newId; @@ -156,10 +183,68 @@ void MediaView::changingMsgId(HistoryItem *row, MsgId newId) { mediaOverviewUpdated(row->history()->peer); } +void MediaView::updateDocSize() { + if (!_doc || !_current.isNull() || !_currentGif.isNull()) return; + + if (_doc->loader) { + quint64 ready = _doc->loader->currentOffset(), total = _doc->size; + QString readyStr, totalStr, mb; + if (total >= 1024 * 1024) { // more than 1 mb + qint64 readyTenthMb = (ready * 10 / (1024 * 1024)), totalTenthMb = (total * 10 / (1024 * 1024)); + readyStr = QString::number(readyTenthMb / 10) + '.' + QString::number(readyTenthMb % 10); + totalStr = QString::number(totalTenthMb / 10) + '.' + QString::number(totalTenthMb % 10); + mb = qsl("MB"); + } else { + qint64 readyKb = (ready / 1024), totalKb = (total / 1024); + readyStr = QString::number(readyKb); + totalStr = QString::number(totalKb); + mb = qsl("KB"); + } + _docSize = lng_media_save_progress(lt_ready, readyStr, lt_total, totalStr, lt_mb, mb); + } else { + _docSize = formatSizeText(_doc->size); + } + _docSizeWidth = st::mvFont->m.width(_docSize); + int32 maxw = st::mvDocSize.width() - st::mvDocBlue.pxWidth() - st::mvDocPadding * 3; + if (_docSizeWidth > maxw) { + _docSize = st::mvFont->m.elidedText(_docSize, Qt::ElideRight, maxw); + _docSizeWidth = st::mvFont->m.width(_docSize); + } +} + void MediaView::updateControls() { if (!_photo && !_doc) return; - _saveVisible = ((_photo && _photo->full->loaded()) || (_doc && !_doc->already(true).isEmpty())); + if (_doc && _current.isNull() && _currentGif.isNull()) { + if (_doc->loader) { + _docDownload.hide(); + _docSaveAs.hide(); + _docCancel.moveToLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocLinksTop, width()); + _docCancel.show(); + if (!_docRadialFirst) _docRadialFirst = _docRadialLast = _docRadialStart = getms(); + if (!animating()) anim::start(this); + } else { + if (_doc->already(true).isEmpty()) { + _docDownload.moveToLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocLinksTop, width()); + _docDownload.show(); + _docSaveAs.moveToLeft(_docRect.x() + 2.5 * st::mvDocPadding + st::mvDocBlue.pxWidth() + _docDownload.width(), _docRect.y() + st::mvDocPadding + st::mvDocLinksTop, width()); + _docSaveAs.show(); + _docCancel.hide(); + } else { + _docDownload.hide(); + _docSaveAs.moveToLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocLinksTop, width()); + _docSaveAs.show(); + _docCancel.hide(); + } + } + updateDocSize(); + } else { + _docDownload.hide(); + _docSaveAs.hide(); + _docCancel.hide(); + } + + _saveVisible = ((_photo && _photo->full->loaded()) || (_doc && (!_doc->already(true).isEmpty() || (_current.isNull() && _currentGif.isNull())))); _saveNav = rtlrect(width() - st::mvIconSize.width() * 2, height() - st::mvIconSize.height(), st::mvIconSize.width(), st::mvIconSize.height(), width()); _moreNav = rtlrect(width() - st::mvIconSize.width(), height() - st::mvIconSize.height(), st::mvIconSize.width(), st::mvIconSize.height(), width()); @@ -196,6 +281,7 @@ void MediaView::updateControls() { } void MediaView::updateDropdown() { + _btnSaveCancel->setVisible(_doc && _doc->loader); _btnToMessage->setVisible(_msgid > 0); _btnShowInFolder->setVisible(_doc && !_doc->already(true).isEmpty()); _btnSaveAs->setVisible(true); @@ -221,6 +307,7 @@ bool MediaView::animStep(float64 msp) { case OverHeader: update(_headerNav); break; case OverClose: update(_closeNav); break; case OverSave: update(_saveNav); break; + case OverIcon: update(_docIconRect); break; case OverMore: update(_moreNav); break; default: break; } @@ -246,28 +333,39 @@ bool MediaView::animStep(float64 msp) { if (dt < 1) result = true; } if (_doc && _docRadialStart > 0) { - float64 prg = _doc->loader ? _doc->loader->currentProgress() : (_doc->status == FileFailed ? 0 : 1); + float64 prg = _doc->loader ? qMax(_doc->loader->currentProgress(), 0.0001) : (_doc->status == FileFailed ? 0 : (_doc->already().isEmpty() ? 0 : 1)); if (prg != a_docRadial.to()) { a_docRadial.start(prg); _docRadialStart = _docRadialLast; } _docRadialLast = ms; - float64 dt = float64(ms - _docRadialStart); + float64 dt = float64(ms - _docRadialStart), fulldt = float64(ms - _docRadialFirst); + _docRadialOpacity = qMin(fulldt / st::radialDuration, 1.); if (_doc->loader) { a_docRadial.update(1. - (st::radialDuration / (st::radialDuration + dt)), anim::linear); result = true; } else if (dt >= st::radialDuration) { a_docRadial.update(1, anim::linear); result = true; -// _docRadialStart = 0; + _docRadialFirst = _docRadialLast = _docRadialStart = 0; + a_docRadial = anim::fvalue(0, 0); + if (!_doc->already().isEmpty() && _doc->size < MediaViewImageSizeLimit) { + QString fname(_doc->already(true)); + QImageReader reader(fname); + if (reader.canRead()) { + displayDocument(_doc, App::histItemById(_msgid)); + } + } } else { - a_docRadial.update(dt / st::radialDuration, anim::linear); + float64 r = dt / st::radialDuration; + a_docRadial.update(r, anim::linear); result = true; + _docRadialOpacity *= 1 - r; } - float64 fromstart = float64(ms - _docRadialFirst) / st::radialPeriod; + float64 fromstart = fulldt / st::radialPeriod; a_docRadialStart.update(fromstart - qFloor(fromstart), anim::linear); - update(_docIcon); + update(_docIconRect); } return result || !_animations.isEmpty(); } @@ -285,7 +383,6 @@ void MediaView::close() { } void MediaView::activateControls() { - LOG(("ACTIVATING CONTROLS!!")); _controlsHideTimer.start(int(st::mvWaitHide)); if (_controlsState == ControlsHiding || _controlsState == ControlsHidden) { _controlsState = ControlsShowing; @@ -306,13 +403,11 @@ void MediaView::onHideControls(bool force) { void MediaView::onDropdownHiding() { setFocus(); - LOG(("DROPDOWN HIDDEN")); _ignoringDropdown = true; _lastMouseMovePos = mapFromGlobal(QCursor::pos()); updateOver(_lastMouseMovePos); _ignoringDropdown = false; if (!_controlsHideTimer.isActive()) { - LOG((", STARTING CONTROLS HIDE")); onHideControls(true); } } @@ -327,23 +422,43 @@ void MediaView::onToMessage() { } } -void MediaView::onSave() { +void MediaView::onSaveAs() { QString file; if (_doc) { QString cur = _doc->already(true); if (cur.isEmpty()) { - _saveVisible = false; - update(_saveNav); + if (_current.isNull() && _currentGif.isNull()) { + DocumentSaveLink::doSave(_doc, true); + updateControls(); + } else { + _saveVisible = false; + update(_saveNav); + } + updateOver(_lastMouseMovePos); return; } + QFileInfo alreadyInfo(cur); + QDir alreadyDir(alreadyInfo.dir()); + QString name = alreadyInfo.fileName(), filter; + MimeType mimeType = mimeTypeForName(_doc->mime); + QStringList p = mimeType.globPatterns(); + QString pattern = p.isEmpty() ? QString() : p.front(); + if (name.isEmpty()) { + name = pattern.isEmpty() ? qsl(".unknown") : pattern.replace('*', QString()); + } + + if (pattern.isEmpty()) { + filter = qsl("All files (*.*)"); + } else { + filter = mimeType.filterString() + qsl(";;All files (*.*)"); + } + psBringToBack(this); - bool gotName = filedialogGetSaveFile(file, lang(lng_save_photo), qsl("JPEG Image (*.jpg);;All files (*.*)"), cur); + file = saveFileName(lang(lng_save_file), filter, qsl("doc"), name, true, alreadyDir); psShowOverAll(this); - if (gotName) { - if (!file.isEmpty() && file != cur) { - QFile(cur).copy(file); - } + if (!file.isEmpty() && file != cur) { + QFile(cur).copy(file); } } else { if (!_photo || !_photo->full->loaded()) return; @@ -359,9 +474,22 @@ void MediaView::onSave() { } } +void MediaView::onDocClick() { + QString fname = _doc->already(true); + if (fname.isEmpty()) { + if (_doc->loader) { + onSaveCancel(); + } else { + onDownload(); + } + } else { + psOpenFile(fname); + } +} + void MediaView::onDownload() { if (cAskDownloadPath()) { - return onSave(); + return onSaveAs(); } QString path; @@ -376,8 +504,14 @@ void MediaView::onDownload() { if (_doc) { QString cur = _doc->already(true); if (cur.isEmpty()) { - _saveVisible = false; - update(_saveNav); + if (_current.isNull() && _currentGif.isNull()) { + DocumentSaveLink::doSave(_doc); + updateControls(); + } else { + _saveVisible = false; + update(_saveNav); + } + updateOver(_lastMouseMovePos); } else { if (!QDir().exists(path)) QDir().mkpath(path); toName = filedialogNextFilename(_doc->name, cur, path); @@ -405,6 +539,12 @@ void MediaView::onDownload() { } } +void MediaView::onSaveCancel() { + if (_doc && _doc->loader) { + _doc->loader->cancel(); + } +} + void MediaView::onShowInFolder() { if (!_doc) return; QString already(_doc->already(true)); @@ -457,6 +597,8 @@ void MediaView::onCopy() { _dropdown.hideStart(); } if (_doc) { + if (_current.isNull()) return; + QApplication::clipboard()->setPixmap(_current); } else { if (!_photo || !_photo->full->loaded()) return; @@ -579,6 +721,7 @@ void MediaView::displayPhoto(PhotoData *photo) { MTP::clearLoaderPriorities(); _full = -1; _current = QPixmap(); + _currentGif.stop(); _down = OverNone; _w = convertScale(photo->full->width()); _h = convertScale(photo->full->height()); @@ -621,12 +764,31 @@ void MediaView::displayPhoto(PhotoData *photo) { void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) { _doc = doc; - _docRadialFirst = _docRadialLast = _docRadialStart = _doc->loader ? getms() : 0; - QString already = _doc->already(true); - QPixmap pix = (_doc->sticker->isNull() || !_doc->sticker->loaded()) ? (already.isEmpty() ? QPixmap() : QPixmap::fromImage(App::readImage(already, 0, false), Qt::ColorOnly)) : _doc->sticker->pix(); - _current = pix; - if (_current.isNull()) { + if (!_doc->sticker->isNull() && _doc->sticker->loaded()) { + _currentGif.stop(); + _current = _doc->sticker->pix(); + } else if (!already.isEmpty()) { + QImageReader reader(already); + if (reader.canRead()) { + if (reader.supportsAnimation() && reader.imageCount() > 1) { + _currentGif.start(0, already); + _current = QPixmap(); + } else { + _currentGif.stop(); + QPixmap pix = QPixmap::fromImage(App::readImage(already, 0, false), Qt::ColorOnly); + _current = pix; + } + } else { + _currentGif.stop(); + _current = QPixmap(); + } + } else { + _currentGif.stop(); + _current = QPixmap(); + } + + if (_current.isNull() && _currentGif.isNull()) { if (_doc->thumb->isNull()) { style::sprite thumbs[] = { st::mvDocBlue, st::mvDocGreen, st::mvDocRed, st::mvDocYellow }; QString name = _doc->name.toLower(), mime = _doc->mime.toLower(); @@ -680,24 +842,38 @@ void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) { int32 maxw = st::mvDocSize.width() - st::mvDocBlue.pxWidth() - st::mvDocPadding * 3; _docName = _doc->name.isEmpty() ? lang(_doc->type == StickerDocument ? lng_in_dlg_sticker : lng_mediaview_doc_image) : _doc->name; - _docNameWidth = st::mvThickFont->m.width(_docName); + int32 lastDot = _docName.lastIndexOf('.'); + _docExt = (lastDot < 0 || lastDot + 2 > _docName.size()) ? _docName : _docName.mid(lastDot + 1); + _docNameWidth = st::mvDocNameFont->m.width(_docName); if (_docNameWidth > maxw) { - _docName = st::mvThickFont->m.elidedText(_docName, Qt::ElideRight, maxw); - _docNameWidth = st::mvThickFont->m.width(_docName); + _docName = st::mvDocNameFont->m.elidedText(_docName, Qt::ElideMiddle, maxw); + _docNameWidth = st::mvDocNameFont->m.width(_docName); } - _docSize = formatSizeText(_doc->size); - _docSizeWidth = st::mvFont->m.width(_docSize); - if (_docSizeWidth > maxw) { - _docSize = st::mvFont->m.elidedText(_docSize, Qt::ElideRight, maxw); - _docSizeWidth = st::mvFont->m.width(_docSize); + int32 extmaxw = (st::mvDocBlue.pxWidth() - st::mvDocExtPadding * 2); + + _docExtWidth = st::mvDocExtFont->m.width(_docExt); + if (_docExtWidth > extmaxw) { + _docExt = st::mvDocNameFont->m.elidedText(_docExt, Qt::ElideMiddle, extmaxw); + _docExtWidth = st::mvDocNameFont->m.width(_docExt); } + _docRadialFirst = _docRadialLast = _docRadialStart = 0; + + float64 prg = _doc->loader ? _doc->loader->currentProgress() : 0; + a_docRadial = anim::fvalue(prg, qMax(prg, 0.0001)); + // _docSize is updated in updateControls() + _docRect = QRect((width() - st::mvDocSize.width()) / 2, (height() - st::mvDocSize.height()) / 2, st::mvDocSize.width(), st::mvDocSize.height()); - } else { + _docIconRect = rtlrect(_docRect.x() + st::mvDocPadding, _docRect.y() + st::mvDocPadding, st::mvDocBlue.pxWidth(), st::mvDocBlue.pxHeight(), width()); + } else if (!_current.isNull()) { _current.setDevicePixelRatio(cRetinaFactor()); _w = _current.width() / cIntRetinaFactor(); _h = _current.height() / cIntRetinaFactor(); + } else { + _currentGif.frames[_currentGif.frame].setDevicePixelRatio(cRetinaFactor()); + _w = _currentGif.frames[_currentGif.frame].width() / cIntRetinaFactor(); + _h = _currentGif.frames[_currentGif.frame].height() / cIntRetinaFactor(); } if (isHidden()) { moveToScreen(); @@ -776,21 +952,21 @@ void MediaView::paintEvent(QPaintEvent *e) { if (cRetina()) _current.setDevicePixelRatio(cRetinaFactor()); } } - if (_photo || !_current.isNull()) { - p.setOpacity(1); - + p.setOpacity(1); + if (_photo || !_current.isNull() || !_currentGif.isNull()) { QRect imgRect(_x, _y, _w, _h); + const QPixmap *toDraw = _currentGif.isNull() ? &_current : &_currentGif.frames[_currentGif.frame]; if (imgRect.intersects(r)) { - if (_current.hasAlpha() && (!_doc || _doc->sticker->isNull())) { + if (toDraw->hasAlpha() && (!_doc || _doc->sticker->isNull())) { p.fillRect(imgRect, _transparentBrush); } if (_zoom) { bool was = (p.renderHints() & QPainter::SmoothPixmapTransform); if (!was) p.setRenderHint(QPainter::SmoothPixmapTransform, true); - p.drawPixmap(QRect(_x, _y, _w, _h), _current); + p.drawPixmap(QRect(_x, _y, _w, _h), *toDraw); if (!was) p.setRenderHint(QPainter::SmoothPixmapTransform, false); } else { - p.drawPixmap(_x, _y, _current); + p.drawPixmap(_x, _y, *toDraw); } uint64 ms = 0; @@ -849,43 +1025,65 @@ void MediaView::paintEvent(QPaintEvent *e) { } } } - } else { + } else if (_doc) { if (_docRect.intersects(r)) { p.fillRect(_docRect, st::mvDocBg->b); - QRect thumb = rtlrect(_docRect.x() + st::mvDocPadding, _docRect.y() + st::mvDocPadding, st::mvDocBlue.pxWidth(), st::mvDocBlue.pxHeight(), width()); - if (_doc->thumb->isNull()) { - p.drawPixmap(thumb.topLeft(), App::sprite(), _docIcon); - } else { - int32 rf(cIntRetinaFactor()); - p.drawPixmap(thumb.topLeft(), _doc->thumb->pix(_docThumbw), QRect(_docThumbx * rf, _docThumby * rf, st::mvDocBlue.pxWidth() * rf, st::mvDocBlue.pxHeight() * rf)); + if (_docIconRect.intersects(r)) { + if (_doc->thumb->isNull()) { + p.drawPixmap(_docIconRect.topLeft(), App::sprite(), _docIcon); + if (!_doc->already().isEmpty() && (!_docRadialStart || _docRadialOpacity < 1)) { + p.setPen(st::mvDocExtColor->p); + p.setFont(st::mvDocExtFont->f); + p.drawText(_docIconRect.x() + (_docIconRect.width() - _docExtWidth) / 2, _docIconRect.y() + st::mvDocExtTop + st::mvDocExtFont->ascent, _docExt); + } + } else { + int32 rf(cIntRetinaFactor()); + p.drawPixmap(_docIconRect.topLeft(), _doc->thumb->pix(_docThumbw), QRect(_docThumbx * rf, _docThumby * rf, st::mvDocBlue.pxWidth() * rf, st::mvDocBlue.pxHeight() * rf)); + } + + float64 o = overLevel(OverIcon); + if (_docRadialStart > 0) { + if (_doc->already().isEmpty() && _docRadialOpacity < 1) { + p.setOpacity((o * 1. + (1 - o) * st::radialDownloadOpacity) * (1 - _docRadialOpacity)); + p.drawSpriteCenter(_docIconRect, st::radialDownload); + } + + p.setRenderHint(QPainter::HighQualityAntialiasing); + + QRect inner(QPoint(_docIconRect.x() + ((_docIconRect.width() - st::radialSize.width()) / 2), _docIconRect.y() + ((_docIconRect.height() - st::radialSize.height()) / 2)), st::radialSize); + p.setPen(Qt::NoPen); + p.setBrush(st::black->b); + p.setOpacity(_docRadialOpacity * st::radialBgOpacity); + p.drawEllipse(inner); + + p.setOpacity((o * 1. + (1 - o) * st::radialCancelOpacity) * _docRadialOpacity); + p.drawSpriteCenter(_docIconRect, st::radialCancel); + + QRect arc(inner.marginsRemoved(QMargins(st::radialLine, st::radialLine, st::radialLine, st::radialLine))); + + p.setOpacity(_docRadialOpacity); + p.setPen(_docRadialPen); + + int len = 16 + a_docRadial.current() * 5744; + p.drawArc(arc, 1440 - a_docRadialStart.current() * 5760 - len, len); + + p.setOpacity(1); + p.setRenderHint(QPainter::HighQualityAntialiasing, false); + } else if (_doc->already().isEmpty()) { + p.setOpacity((o * 1. + (1 - o) * st::radialDownloadOpacity)); + p.drawSpriteCenter(_docIconRect, st::radialDownload); + } } - if (_doc && _docRadialStart > 0) { - p.setRenderHint(QPainter::HighQualityAntialiasing); + if (!_docIconRect.contains(r)) { + p.setPen(st::mvDocNameColor->p); + p.setFont(st::mvDocNameFont->f); + p.drawTextLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocNameTop, width(), _docName, _docNameWidth); - QRect inner(QPoint(thumb.x() + ((thumb.width() - st::radialSize.width()) / 2), thumb.y() + ((thumb.height() - st::radialSize.height()) / 2)), st::radialSize); - p.setPen(Qt::NoPen); - p.setBrush(st::black->b); - p.setOpacity(st::radialBgOpacity); - p.drawEllipse(inner); - - QRect arc(inner.marginsRemoved(QMargins(st::radialLine / 2, st::radialLine / 2, st::radialLine / 2, st::radialLine / 2))); - p.setOpacity(1); - - p.setPen(_docRadialPen); - - p.drawArc(arc, a_docRadialStart.current() * 5600, 10 + a_docRadial.current() * 5490); - - p.setRenderHint(QPainter::HighQualityAntialiasing, false); + p.setPen(st::mvDocSizeColor->p); + p.setFont(st::mvFont->f); + p.drawTextLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocSizeTop, width(), _docSize, _docSizeWidth); } - - p.setPen(st::mvDocNameColor->p); - p.setFont(st::mvThickFont->f); - p.drawTextLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocNameTop, width(), _docName, _docNameWidth); - - p.setPen(st::mvDocSizeColor->p); - p.setFont(st::mvFont->f); - p.drawTextLeft(_docRect.x() + 2 * st::mvDocPadding + st::mvDocBlue.pxWidth(), _docRect.y() + st::mvDocPadding + st::mvDocSizeTop, width(), _docSize, _docSizeWidth); } } @@ -1003,9 +1201,13 @@ void MediaView::keyPressEvent(QKeyEvent *e) { if (!_menu && e->key() == Qt::Key_Escape) { close(); } else if (e == QKeySequence::Save || e == QKeySequence::SaveAs) { - onSave(); + onSaveAs(); } else if (e->key() == Qt::Key_Copy || (e->key() == Qt::Key_C && e->modifiers().testFlag(Qt::ControlModifier))) { onCopy(); + } else if (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return || e->key() == Qt::Key_Space) { + if (_doc && !_doc->loader && _current.isNull() && _currentGif.isNull()) { + onDocClick(); + } } else if (e->key() == Qt::Key_Left) { moveToNext(-1); } else if (e->key() == Qt::Key_Right) { @@ -1047,7 +1249,7 @@ void MediaView::keyPressEvent(QKeyEvent *e) { newZoom = 0; } _x = -_width / 2; - _y = -((_current.height() / cIntRetinaFactor()) / 2); + _y = -(((_currentGif.isNull() ? _current.height() : _currentGif.frames[_currentGif.frame].height()) / cIntRetinaFactor()) / 2); float64 z = (_zoom == ZoomToScreenLevel) ? _zoomToScreen : _zoom; if (z >= 0) { _x = qRound(_x * (z + 1)); @@ -1067,8 +1269,8 @@ void MediaView::keyPressEvent(QKeyEvent *e) { } if (_zoom != newZoom) { float64 nx, ny, z = (_zoom == ZoomToScreenLevel) ? _zoomToScreen : _zoom; - _w = _current.width() / cIntRetinaFactor(); - _h = _current.height() / cIntRetinaFactor(); + _w = (_currentGif.isNull() ? _current.width() : _currentGif.frames[_currentGif.frame].width()) / cIntRetinaFactor(); + _h = (_currentGif.isNull() ? _current.height() : _currentGif.frames[_currentGif.frame].height()) / cIntRetinaFactor(); if (z >= 0) { nx = (_x - width() / 2.) / (z + 1); ny = (_y - height() / 2.) / (z + 1); @@ -1195,6 +1397,8 @@ void MediaView::mousePressEvent(QMouseEvent *e) { _down = OverHeader; } else if (_over == OverSave) { _down = OverSave; + } else if (_over == OverIcon) { + _down = OverIcon; } else if (_over == OverMore) { _down = OverMore; } else if (_over == OverClose) { @@ -1227,7 +1431,6 @@ void MediaView::snapXY() { void MediaView::mouseMoveEvent(QMouseEvent *e) { bool moved = (e->pos() != _lastMouseMovePos); - LOG(("MOUSE MOVE: WAS %1 %2 NOW %3 %4 MOVED: %5").arg(_lastMouseMovePos.x()).arg(_lastMouseMovePos.y()).arg(e->pos().x()).arg(e->pos().y()).arg(logBool(moved))); _lastMouseMovePos = e->pos(); updateOver(e->pos()); @@ -1258,7 +1461,6 @@ void MediaView::mouseMoveEvent(QMouseEvent *e) { bool MediaView::updateOverState(OverState newState) { bool result = true; if (_over != newState) { - LOG(("UPDATING STATE TO %1, IGNORING: %2").arg(newState).arg(logBool(_ignoringDropdown))); if (newState == OverMore && !_ignoringDropdown) { QTimer::singleShot(0, this, SLOT(onDropdown())); } else if (newState == OverNone) { @@ -1272,6 +1474,8 @@ bool MediaView::updateOverState(OverState newState) { update(_dateNav); } else if (_over == OverSave) { update(_saveNav); + } else if (_over == OverIcon) { + update(_docIconRect); } else if (_over == OverHeader) { update(_headerNav); } else if (_over == OverClose) { @@ -1349,6 +1553,10 @@ void MediaView::updateOver(const QPoint &pos) { if (!updateOverState(OverSave)) { update(_saveNav); } + } else if (_doc && _current.isNull() && _currentGif.isNull() && _docIconRect.contains(pos)) { + if (!updateOverState(OverIcon)) { + update(_docIconRect); + } } else if (_moreNav.contains(pos)) { if (!updateOverState(OverMore)) { update(_moreNav); @@ -1379,6 +1587,8 @@ void MediaView::mouseReleaseEvent(QMouseEvent *e) { onOverview(); } else if (_over == OverSave && _down == OverSave) { onDownload(); + } else if (_over == OverIcon && _down == OverIcon) { + onDocClick(); } else if (_over == OverMore && _down == OverMore) { QTimer::singleShot(0, this, SLOT(onDropdown())); } else if (_over == OverClose && _down == OverClose) { @@ -1393,7 +1603,7 @@ void MediaView::mouseReleaseEvent(QMouseEvent *e) { } _dragging = 0; setCursor(style::cur_default); - } else if ((e->pos() - _lastAction).manhattanLength() >= st::mvDeltaFromLastAction) { + } else if ((e->pos() - _lastAction).manhattanLength() >= st::mvDeltaFromLastAction && (!_doc || !_current.isNull() || !_currentGif.isNull() || !_docRect.contains(e->pos()))) { close(); } _pressed = false; diff --git a/Telegram/SourceFiles/mediaview.h b/Telegram/SourceFiles/mediaview.h index 79a02a72e5..103a490160 100644 --- a/Telegram/SourceFiles/mediaview.h +++ b/Telegram/SourceFiles/mediaview.h @@ -56,7 +56,9 @@ public: } void mediaOverviewUpdated(PeerData *peer); + void documentUpdated(DocumentData *doc); void changingMsgId(HistoryItem *row, MsgId newId); + void updateDocSize(); void updateControls(); void updateDropdown(); @@ -66,6 +68,7 @@ public: void close(); void activateControls(); + void onDocClick(); ~MediaView(); @@ -75,8 +78,9 @@ public slots: void onDropdownHiding(); void onToMessage(); - void onSave(); + void onSaveAs(); void onDownload(); + void onSaveCancel(); void onShowInFolder(); void onForward(); void onDelete(); @@ -91,6 +95,7 @@ public slots: void onTouchTimer(); void updateImage(); + void onGifUpdated(); private: @@ -125,16 +130,19 @@ private: bool _pressed; int32 _dragging; QPixmap _current; + AnimatedGif _currentGif; int32 _full; // -1 - thumb, 0 - medium, 1 - full style::sprite _docIcon; - QString _docName, _docSize; - int32 _docNameWidth, _docSizeWidth; - QRect _docRect; + QString _docName, _docSize, _docExt; + int32 _docNameWidth, _docSizeWidth, _docExtWidth; + QRect _docRect, _docIconRect; int32 _docThumbx, _docThumby, _docThumbw; uint64 _docRadialFirst, _docRadialStart, _docRadialLast; + float64 _docRadialOpacity; QPen _docRadialPen; anim::fvalue a_docRadial, a_docRadialStart; + LinkButton _docDownload, _docSaveAs, _docCancel; History *_history; // if conversation photos or files overview PeerData *_peer; @@ -158,6 +166,7 @@ private: OverDate, OverSave, OverMore, + OverIcon, }; OverState _over, _down; QPoint _lastAction, _lastMouseMovePos; @@ -176,7 +185,7 @@ private: ContextMenu *_menu; Dropdown _dropdown; - IconedButton *_btnToMessage, *_btnShowInFolder, *_btnSaveAs, *_btnCopy, *_btnForward, *_btnDelete, *_btnViewAll; + IconedButton *_btnSaveCancel, *_btnToMessage, *_btnShowInFolder, *_btnSaveAs, *_btnCopy, *_btnForward, *_btnDelete, *_btnViewAll; QList _btns; bool _receiveMouse; diff --git a/Telegram/SourceFiles/overviewwidget.cpp b/Telegram/SourceFiles/overviewwidget.cpp index 980fb4fb45..4d17ccba6d 100644 --- a/Telegram/SourceFiles/overviewwidget.cpp +++ b/Telegram/SourceFiles/overviewwidget.cpp @@ -1225,9 +1225,9 @@ void OverviewInner::saveContextFile() { VideoLink *lnkVideo = dynamic_cast(_contextMenuLnk.data()); AudioLink *lnkAudio = dynamic_cast(_contextMenuLnk.data()); DocumentLink *lnkDocument = dynamic_cast(_contextMenuLnk.data()); - if (lnkVideo) VideoSaveLink(lnkVideo->video()).doSave(true); - if (lnkAudio) AudioSaveLink(lnkAudio->audio()).doSave(true); - if (lnkDocument) DocumentSaveLink(lnkDocument->document()).doSave(true); + if (lnkVideo) VideoSaveLink::doSave(lnkVideo->video(), true); + if (lnkAudio) AudioSaveLink::doSave(lnkAudio->audio(), true); + if (lnkDocument) DocumentSaveLink::doSave(lnkDocument->document(), true); } void OverviewInner::openContextFile() { @@ -1355,6 +1355,7 @@ void OverviewInner::mediaOverviewUpdated() { prevDate = date; } int32 w = _width - st::msgMargin.left() - st::msgMargin.right(); + media->initDimensions(item); y += media->countHeight(item, w) + st::msgMargin.top() + st::msgMargin.bottom(); // item height if (_items.size() > in) { _items[in].msgid = msgid; diff --git a/Telegram/SourceFiles/settings.cpp b/Telegram/SourceFiles/settings.cpp index a2821b219d..01b1b987d2 100644 --- a/Telegram/SourceFiles/settings.cpp +++ b/Telegram/SourceFiles/settings.cpp @@ -20,6 +20,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org #include "settings.h" #include "lang.h" +bool gRtl = false; +Qt::LayoutDirection gLangDir = Qt::LeftToRight; + mtpDcOptions gDcOptions; bool gTestMode = false; diff --git a/Telegram/SourceFiles/settings.h b/Telegram/SourceFiles/settings.h index 0cf7eb7d05..5898e73605 100644 --- a/Telegram/SourceFiles/settings.h +++ b/Telegram/SourceFiles/settings.h @@ -41,6 +41,12 @@ inline void cSet##Name(const Type &Name) { \ g##Name = Name; \ } +DeclareSetting(bool, Rtl); +DeclareSetting(Qt::LayoutDirection, LangDir); +inline bool rtl() { + return cRtl(); +} + struct mtpDcOption { mtpDcOption(int _id, const string &_host, const string &_ip, int _port) : id(_id), host(_host), ip(_ip), port(_port) { } diff --git a/Telegram/SourceFiles/stdafx.h b/Telegram/SourceFiles/stdafx.h index ed30365cd5..bb7cc5f4ba 100644 --- a/Telegram/SourceFiles/stdafx.h +++ b/Telegram/SourceFiles/stdafx.h @@ -51,9 +51,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org #include "mtproto/mtp.h" -#include "gui/twidget.h" - #include "gui/style_core.h" +#include "gui/twidget.h" #include "gui/animation.h" #include "gui/flatinput.h" #include "gui/flattextarea.h" diff --git a/Telegram/SourceFiles/structs.cpp b/Telegram/SourceFiles/structs.cpp index f797f9336a..cdcf7b5d46 100644 --- a/Telegram/SourceFiles/structs.cpp +++ b/Telegram/SourceFiles/structs.cpp @@ -230,7 +230,7 @@ void PhotoLink::onClick(Qt::MouseButton button) const { } } -QString saveFileName(const QString &title, const QString &filter, const QString &prefix, QString name, bool savingAs, const QDir &dir = QDir()) { +QString saveFileName(const QString &title, const QString &filter, const QString &prefix, QString name, bool savingAs, const QDir &dir) { #ifdef Q_OS_WIN name = name.replace(QRegularExpression(qsl("[\\\\\\/\\:\\*\\?\\\"\\<\\>\\|]")), qsl("_")); #elif defined Q_OS_MAC @@ -307,8 +307,7 @@ void VideoOpenLink::onClick(Qt::MouseButton button) const { } } -void VideoSaveLink::doSave(bool forceSavingAs) const { - VideoData *data = video(); +void VideoSaveLink::doSave(VideoData *data, bool forceSavingAs) { if (!data->user && !data->date) return; QString already = data->already(true); @@ -336,7 +335,7 @@ void VideoSaveLink::doSave(bool forceSavingAs) const { void VideoSaveLink::onClick(Qt::MouseButton button) const { if (button != Qt::LeftButton) return; - doSave(); + doSave(video()); } void VideoCancelLink::onClick(Qt::MouseButton button) const { @@ -399,8 +398,7 @@ void AudioOpenLink::onClick(Qt::MouseButton button) const { } } -void AudioSaveLink::doSave(bool forceSavingAs) const { - AudioData *data = audio(); +void AudioSaveLink::doSave(AudioData *data, bool forceSavingAs) { if (!data->user && !data->date) return; QString already = data->already(true); @@ -429,7 +427,7 @@ void AudioSaveLink::doSave(bool forceSavingAs) const { void AudioSaveLink::onClick(Qt::MouseButton button) const { if (button != Qt::LeftButton) return; - doSave(); + doSave(audio()); } void AudioCancelLink::onClick(Qt::MouseButton button) const { @@ -505,8 +503,7 @@ void DocumentOpenLink::onClick(Qt::MouseButton button) const { } } -void DocumentSaveLink::doSave(bool forceSavingAs) const { - DocumentData *data = document(); +void DocumentSaveLink::doSave(DocumentData *data, bool forceSavingAs) { if (!data->date) return; QString already = data->already(true); @@ -547,7 +544,7 @@ void DocumentSaveLink::doSave(bool forceSavingAs) const { void DocumentSaveLink::onClick(Qt::MouseButton button) const { if (button != Qt::LeftButton) return; - doSave(); + doSave(document()); } void DocumentCancelLink::onClick(Qt::MouseButton button) const { diff --git a/Telegram/SourceFiles/structs.h b/Telegram/SourceFiles/structs.h index 0b35db792f..8ba6657a94 100644 --- a/Telegram/SourceFiles/structs.h +++ b/Telegram/SourceFiles/structs.h @@ -291,7 +291,7 @@ class VideoSaveLink : public VideoLink { public: VideoSaveLink(VideoData *video) : VideoLink(video) { } - void doSave(bool forceSavingAs = false) const; + static void doSave(VideoData *video, bool forceSavingAs = false); void onClick(Qt::MouseButton button) const; }; @@ -378,7 +378,7 @@ class AudioSaveLink : public AudioLink { public: AudioSaveLink(AudioData *audio) : AudioLink(audio) { } - void doSave(bool forceSavingAs = false) const; + static void doSave(AudioData *audio, bool forceSavingAs = false); void onClick(Qt::MouseButton button) const; }; @@ -481,7 +481,7 @@ class DocumentSaveLink : public DocumentLink { public: DocumentSaveLink(DocumentData *document) : DocumentLink(document) { } - void doSave(bool forceSavingAs = false) const; + static void doSave(DocumentData *document, bool forceSavingAs = false); void onClick(Qt::MouseButton button) const; }; @@ -528,6 +528,7 @@ struct WebPageData { int32 pendingTill; }; +QString saveFileName(const QString &title, const QString &filter, const QString &prefix, QString name, bool savingAs, const QDir &dir = QDir()); MsgId clientMsgId(); struct MessageCursor { diff --git a/Telegram/SourceFiles/window.cpp b/Telegram/SourceFiles/window.cpp index 8c07243726..fb19b8ee1f 100644 --- a/Telegram/SourceFiles/window.cpp +++ b/Telegram/SourceFiles/window.cpp @@ -1667,6 +1667,11 @@ void Window::mediaOverviewUpdated(PeerData *peer) { _mediaView->mediaOverviewUpdated(peer); } +void Window::documentUpdated(DocumentData *doc) { + if (!_mediaView || _mediaView->isHidden()) return; + _mediaView->documentUpdated(doc); +} + void Window::changingMsgId(HistoryItem *row, MsgId newId) { if (main) main->changingMsgId(row, newId); if (!_mediaView || _mediaView->isHidden()) return; diff --git a/Telegram/SourceFiles/window.h b/Telegram/SourceFiles/window.h index 595379c441..091a97af4f 100644 --- a/Telegram/SourceFiles/window.h +++ b/Telegram/SourceFiles/window.h @@ -227,6 +227,7 @@ public: void sendPaths(); void mediaOverviewUpdated(PeerData *peer); + void documentUpdated(DocumentData *doc); void changingMsgId(HistoryItem *row, MsgId newId); bool isActive(bool cached = true) const;