From 80984218ec9a4f0b0a65b32c7f9d50dcc6282ff0 Mon Sep 17 00:00:00 2001 From: Zhe Fang Date: Sat, 1 Nov 2025 15:53:15 -0400 Subject: [PATCH] add: folder filter in music gallery page; chores: add pic screenshoots; --- .../BetterLyrics.WinUI3/App.xaml | 12 + .../BetterLyrics.WinUI3.csproj | 3 + .../AlbumArtLayoutSettingsControl.xaml | 4 +- .../Controls/ExtendedSlider.xaml.cs | 2 +- .../LyricsBackgroundSettingsControl.xaml | 14 +- .../Controls/LyricsEffectSettingsControl.xaml | 18 +- .../Controls/LyricsStyleSettingsControl.xaml | 11 +- .../Controls/LyricsWindowSettingsControl.xaml | 7 +- .../BoolNegationToOpacityConverter.cs | 27 ++ .../Converter/BoolToOpacityConverter.cs | 4 +- .../Converter/PathToParentFolderConverter.cs | 27 ++ .../Enums/CommonSongProperty.cs | 3 +- .../BetterLyrics.WinUI3/Helper/TrackHelper.cs | 22 ++ .../Models/Settings/AppSettings.cs | 1 + .../Models/SongsTabInfo.cs | 11 +- .../SettingsService/SettingsService.cs | 6 +- .../Strings/en-US/Resources.resw | 8 +- .../Strings/ja-JP/Resources.resw | 8 +- .../Strings/ko-KR/Resources.resw | 8 +- .../Strings/zh-CN/Resources.resw | 8 +- .../Strings/zh-TW/Resources.resw | 8 +- .../SongOrderTemplateSelector.cs | 25 -- .../ViewModels/MusicGalleryViewModel.cs | 18 +- .../Views/MusicGalleryPage.xaml | 337 +++++++++++------- .../Views/MusicGalleryPage.xaml.cs | 39 +- FAQ/Snipaste_2025-11-01_12-51-44.png | Bin 0 -> 34110 bytes 26 files changed, 431 insertions(+), 200 deletions(-) create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Converter/BoolNegationToOpacityConverter.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Converter/PathToParentFolderConverter.cs create mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/TrackHelper.cs delete mode 100644 BetterLyrics.WinUI3/BetterLyrics.WinUI3/TemplateSelector/SongOrderTemplateSelector.cs create mode 100644 FAQ/Snipaste_2025-11-01_12-51-44.png diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml index 4871517..0e73209 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/App.xaml @@ -59,10 +59,12 @@ + + @@ -331,6 +333,16 @@ + + diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj index 2a76a56..9d2e01c 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/BetterLyrics.WinUI3.csproj @@ -307,6 +307,9 @@ + + + False diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/AlbumArtLayoutSettingsControl.xaml b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/AlbumArtLayoutSettingsControl.xaml index 2e1e655..7dd9c2a 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/AlbumArtLayoutSettingsControl.xaml +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/AlbumArtLayoutSettingsControl.xaml @@ -41,7 +41,7 @@ diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/ExtendedSlider.xaml.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/ExtendedSlider.xaml.cs index a661f70..2f60e3f 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/ExtendedSlider.xaml.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/ExtendedSlider.xaml.cs @@ -64,7 +64,7 @@ namespace BetterLyrics.WinUI3.Controls } public static readonly DependencyProperty FrequencyProperty = - DependencyProperty.Register(nameof(Frequency), typeof(double), typeof(ExtendedSlider), new PropertyMetadata(1)); + DependencyProperty.Register(nameof(Frequency), typeof(double), typeof(ExtendedSlider), new PropertyMetadata(1.0)); public static readonly DependencyProperty MinimumProperty = DependencyProperty.Register(nameof(Minimum), typeof(double), typeof(ExtendedSlider), new PropertyMetadata(default)); public static readonly DependencyProperty MaximumProperty = diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsBackgroundSettingsControl.xaml b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsBackgroundSettingsControl.xaml index bbcbc0b..04b9961 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsBackgroundSettingsControl.xaml +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsBackgroundSettingsControl.xaml @@ -33,7 +33,7 @@ @@ -79,7 +79,7 @@ @@ -95,7 +95,7 @@ @@ -111,7 +111,7 @@ @@ -137,7 +137,7 @@ @@ -156,7 +156,7 @@ @@ -175,7 +175,7 @@ @@ -184,6 +182,7 @@ + @@ -192,7 +191,7 @@ @@ -200,7 +199,7 @@ @@ -208,7 +207,7 @@ diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsWindowSettingsControl.xaml b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsWindowSettingsControl.xaml index f0b2d06..11e73ad 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsWindowSettingsControl.xaml +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Controls/LyricsWindowSettingsControl.xaml @@ -26,11 +26,9 @@ x:Uid="SettingsPageRecordedWindowStatus" RelativePanel.AlignLeftWithPanel="True" Style="{StaticResource SettingsSectionHeaderTextBlockStyle}" /> + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + - - + + + + + + + + + + + + - + + + - + + + + + - - - - - - + + + + + + + + + + + + + + - - - - - - - + + + + + @@ -310,7 +395,7 @@ - + z;G&I_KQOS~?0do4xlZp67YJ-_H(xsUk;wgZc&@9v-oRyo@>? z-j!E)c$d-%E`#p~JK9@=7eWVlU1vPJ+b$P>F3p(Jdw_3}xjff#(XcmnaewV(hNod? zf(p5oXwmbNZZ@mn%TMFX_z>fnb|p8+PfUP63gM?J-}0td8X-+ zx;YIqARop;c3aBwIcBaA+dX*yqWbL6#Jf$Mpyc;PblLB^Z>1-Eq_t>$jrVm+#rftz zU#Uve^~w2R*`KGS%+xfB?^5bz+I?7i^lQ5$yo7DvOA=$^ z{s}Hp-zT!4b}VAi9zeBD0L~Hb>xbN0qKkjv*#(`DfS0F+q_|7q^()al%h{#Rb*za^Lk7TrnqIj(#-S5;&Tcyu1kp}$gFU$jV7DE0HI1L`p#--dRyI1Se z_5!YAQ9dqcYH>%(>*yvCAtBk-*XMPvHlqbmArU?+)8srnJV)ab6BF?C?UM1gF3M7! zr>+|+X`D_K#SmQWEY!#+megs!HB`t5)@xpFi13q`FwKPZ@~4az>2l#d{xm)jx1gG| zPiy0~-%jE7?P$$5t)c=a^UgalWgZeKdxy{IBeT%)MwXm5Y!{o|rO^sA`$^Bh#A2Q; zd{VAR8dw}f<9IM?)R>mdbNTY+)$mvM)?Uxe@w>T%8WrPu!g;Ffrt7k^7yEw(cs0(D z-;pL5Plz`uA8&4Mq4zx)0B1fW;r&)HCI9}#;8;>B)8QOxlG2W%?+e+LFsHwr#qPjx z^(VpftCOQ~@m>d;UGuf7lH=Ge*2zk}t&iV^ZsJQTD0DGLWx*b?vkz2SFYWB8&X!q5 z#C5#Bbm>xYU$O+aFd_RH%tqh|(%Eh8@H8$i{Ggn@N4-*%mSHhHeXC+|d4j7!CC{6E zB7119Nx}~UPIj8!dlOBConKq?TpMIow6jZ>^gTP+;vi_AgPjxoojOxIQ?WR)y=nLP z-PPsZl=)5gBA0LB=tiCr+-+?zhdrL93{t3*_JTk`=|!%6J>+PN;|}YZi|A?Mil--y z;O<)9{yqu4sK@S>`^+HrjEO8}8rkDD0NU9gafbq za*MSoQ#q{bYCqx@Z5)pU-^YvXVOtkWxpV9>0=L0YOe$3)HYBW7faz#~odlRxDkgC& zV{9%nEIxz5>LeLVaZSDuj6-f!RibR9n46Ci=A`t;kKm8-AyJrvA=S!C%pEeadiQYz zcH## zi$%JL{qffH#wz8za*M`Cy8bB_yWWrU%zN_?Ie4BEb!6^nyecJb_e$g(9SpN4Xk;`$ zR$5jThgIPH5KYQ!{O5FqmwaVm$*?*0v6Jr^02rb>!M6>90}N#Xcy*FP?C zXg&J)UeaJpOV@Mt&oimcjbi2@5G*8Z{p4% z8c&`uj&GEe@t)3uHMa6AtsO;2 zZL-*lII9U+eBTefq^F<|>LG&Mr!O*;CK%W_1i^rTfuYII4|Y0~K2qG1 zt??90+f9+saor6<1~W4=@CJ(}T-sDEZN&qE11<)p2~%o5x2c(ihN&ruxQOZA6rr_q zgEz8KKB%s|G3WR97BAxW7v@^li}=*CFJ3>K{?nLXYX%+?2SXxuFVm*3tgVS`^6>Qk zh8q>bgv{>UuSlxnWOmiP;j3(aJ!`p_+jUyuaiW1uqPK$Qd3h?(%E(O4sRUl z-WMGFql(%UqLdsgn)&kOi#ChO?W+tB+~Y%hj>3*4?rBqc_!7UNG;=cUrGkss`+Tmh67K?Rr zH?7p0thSHV#{;|7)1HyHe`6jVKasNYMSg&XH+AEGVFLC4U+VTh^qZ5+LvUB0eS+9; z5BOi!hIH;@KB+PC7}WHW=UnXZFGIo4`KgtEb*eef`YfCtZn$Z8mg_uhZfV6;*-tJn zOI^IHLQ_v@GhhX+_9PeVAYCXBkwa!>Wn{UbrRsS@5`32Zd;$2i8OGqPc#jsrbR!-7 z{wlw4vMM+*P+0G$b!Cz6`TJ(*!or)ijo4hvDse6eM&3u?$$ALE2m0ry>GvTKvJ0a@ z9a!}9C31>Ik#ML)BPC<50 z!7pXqE%j8}O|RdhWHIV6FMsvwRcUphUL}fzzyV5jabUeb zZx_sLQEF;Qi37+n(EH0}DF_ffAZJs~Mn*<~G2PwWHlsxXHuo;xy{)+2iF>7`HPhfZ zG&>6!dTUf~UYRwVshkVaSSbSJe()_ioyH^SNLfC!^@?xtti<<3HH$}AR_M1!xPB8~ z!w1K({5eI28-H6B?C>?AUamDc#rK#e&GEfT(GYMQXw4tFvr=f;}bww>} zFP~A)2se4(j_on{_*0_gDC}$)3Kc~wHh5BOMANZ#V(PtK_AzAlu_%?Pq1MsQfa_)D zBdV$VpWU#xrQQlo9&U_|8<0-nu7QvLP*6_8-MLuvyMKO4ry4*WJTP`Idfw1#$$zvu zQ2uqbHN53RX%NNIQl#z+@P52uOVr8Eug`q*ev`k=*uV9tZx&fqLqCzesnn}}J9FUK z#|>BMa5V5SDCjk349w24C~G0nf@!DLBrw_5?8KV zsSoQdN!Rt?==~KImE_Hx9q7)Sj;?O4`Qi0hItW%q zCeS^gRI-C=L5I=PjQ-%X$muaTEbbJm&rwViu%hQpaFy z+n^oRm3FgLk&U@+o%|_qT(>w+cQ=H5KINA)bFezQbNe<6 z6O#i?weMtyVI4;G)hi0a_!V%c`_R{~%CFldaT_Lb>(Wrt(b3RgwkH*}i_c?L&^*UG z`eg^U^^-|BFHI1@H5xNp6(2riOe)s-Hnc|LD^ombVLNvB_H8MGZv_Pf-@g4c{^o%0i&%Scx_wRnbFZs_Ox_=LyM)ak{TUMqerZ%^(6rc6@PR-Jj zl9q^#N0}I+q*j2R?;l+iM`DG zAFLq!ea-9wG-nSF-h^NY?0>;Q(vxF5S*4MyvX4S_m+Q3J z@NPOlD?GX~+Z3-p(<$>9s7W$uqxfN6xjo*fILJ-l@34Hflb|Z)=jZ2+zBXqx!a1C1 zJ!rkO`t=qeVeH#f%CQ06$Q86!p`Pt@l_A=t*>UQ3S3CiOY}VdJv&lSU;G{;s`lYtC z4xV;fds|!7eeb#EAg`=+>=k@di$ZAG!B$KRsn>zsR0SH$_X=+Qw>#p~ zuIciXX?HA-^W0Z2P`l2n4%A6Qhs;5I19x%ofdKEL7o=A={D;VDD6nPy7O@lt-FZr->vOngC7RCktqMu@xOL`@f zNSPrL%atNjY*?Pmt(y>=R{46NT{(q{`xC@tH>Qt)A&~SLshdyPIjC0;N3O}0m6sXO z2#PZ?nF7QE!z|#!2}n#}01!OIYG0eLi?(sO%)3OmeTt;a2o?9obZM_u*xI z(zQJ@Qmk*$)f*WS0oKZR3|zvuT`7o8Y6%?~;SggAzhfFGG&ZT~1y+XIMC{<=6 ziXwH(V~*ava5;ezj+{&9SfvXJByH*`Y@t&)l9_p@N4sEAcsmJN6d4_T0gd9s6h6Dp zD94gpNl7)IoOn1|izDBtb>g~IziiImK_kvy4G|9|LjB{#40AwM;&|{4q^dn)I?P}* zxL z`m1$XLk0lailB(?ot>S*JUoNKDrLPwHuO6Py8WK$ml*t5=iBkCT>*#w1ErL#s+6UN z*PgMl*RBpemI*SB6^Zn=|6n^C3~!A|(@hUK$M z63c6qF&;t5$;p5$i10m76~T>i@w@z9eF907*jQK?scmYad88qy%Twso zt=8`KDY+LP%e;Afca^Fa6E9rfWLTQQtq3~TS649*96;88`mj4lhe!{vIg4+ zRjAzIIx|7@=_c`=_KrqCvKqY|T`{vDh}cip4fAm-HT3^Y5JRiieCWRpSSnE|i@Ld< zflLT4>S_)vOKG8+tadME7ODnYPSAiuN=^)?T3R3BvB0tBq}Q}r z^7=S3t%ZEgU-={EH zC%rrNPVEm!=q6Kyz`}T_xF}Xfleu(3^UBMZoXageSdG-xj6j4kFf{BfXzRi`WzbQ|A0n9Z}(sbNz;YQdmZzDfHGWt`}-xgrNzLYAa5_PzI36a zNWQOZJg}qM70aiLedz*+N7tSSJ2BykizR7N~ zs!*7#L)48JU;3y$+Cbvkt~kVZ{o~-^V6>neQy>!yb9v})h2#stPOtn`!$hWY7t&f_Q?BSjf(FsB>~9veRM-Ek}kg9!rjV>z0ukXx*`dOx`Hb%ngAn`l%(C+ zLQ>A`|Da!Nj@_pljfMWVQgKb}IM`_c)j2&o>yZlyFQuu>pX9;L1wS$A7+74|Hc(7! zQ-Af!%w5L@lp%l~4&|vRyzncmtJ6!Z$k$#kBM(Xu>`@J)=_oWP_36@AY&(oMA6Q%Z zxL^N)viQ<))wlfN#-}sE?=bZI0_ffk$lE( zdU_PaQI#{^mcr@=1_pY1*6#E24i1mSf(9hNwq`GaB{5dB=aP|4|7&|Zc%cUDH3#B{ zzrH-XlJ4g<=Z`j#i+*F`ssDp8pScz0QsB}^Z1DVfTS$`Moh}M0sK7xwtt&wqKy{3& zIXjR|{_{OI|6)_4ndVCz+vu$Fc2eKQy^7K$WFU);?J92M-jRNaCD~>NISl~bQ#A}} zzZm*(0>)=3DrTR}ekxh0$c6OPvrVbcQ`lZnvgob0 z$NkvxI~L17tT4q7HS9h|^eN?2sVb3mgx^3zM3>7hxsSg)Q;Q#&!nYa9Rc2hqvAIdG zG+_bKS3En~%2S3*ZBXAgW5P!HKUiF$Hy=%(kCGJ3(DAvP6D?vKD!qs^=+BT2Zf>@J z#KCcn!F-JFtgEa0{{1_Lc9A&NgT$ih*FL5hy`Nf}{=K!S(VIDs9twrh)6+k^(c_Wk z?iYY!5R=U+m5WY${+zW{HSZf6PaY3b2Q5r!m&)dgr>(|VadqKu)zy5f`REl zA6+*GgiT$t_s$n>$pMylVInpKWKu$c1R2@h-U!!0Aa@@QF5=uCm*Nd*s_2oz%m8cJ z{(yQdJ9dMT+UxXS4Qxldhlhp74h>FAFM@Bqm+(3&a4#pe`y(8spAgGkyI+%@o-Uh} zp|DnQaI>yIXAg#&w;gX-+fOwVg{z3Kb8|_wfW>BA8HO~yq4qJ$KCj_?ecf8&G`Hby*+sqSB#@ z!gVW!!`3;`4~^e{sks}c+gL!QG&dR(J+7>XBvp-lUH$rn(u?iiwS0zHKvyyQ;i)Gz zW1xsW-eG)^aVa@-`B8*Y3~Sn!(Pj2yoG7&}0|G}sDOrzt{pu;rtwFt(TYh^TYljwk zULSr=dS|mw3~*grWbJm_ny@`xWvmKp!w1V~{)}*n=c3k>@SgX?PA+sPDk>(#Tc@R^ zfn5vSp|``|6Hxeoc&Dgx|fuY&H5AKlYDIpw>6y? z?ICg&wfXEY?!8Q03Pzy2SGV;Q?YAcHabN9=a6MeFp^fuOTFPLp1t~TgEU|s+tIhhr zs=(;0idYLOx~RSccjsHKgptrSK5+mc%B`?&J8u+MaAB$+-RPZR2xsVDO%(6=^8fi% zuflHf4st(F1%9gf{2FrqM!u()7d}3|8xisFnu{IBeY~+CYa$1TRBwh4fU4H7EY!gF6Ls!?s782a+gHKQN3eTD~@M50+0|@;2rVenv>%YJ4uOO9E z`NwBx5i>17C2<0E!-XOk8bWYPPJ*}i($+A+O3>TeTP{VZ*O2t3z<;yw$KO#Q4FnuZ zHZXVq#+R#_|LvRA?#L&QklDV#=%E=4?rzThz@7tgo&?@S$Hi8nR|v4q*eNJl&Z=xT z4*^-MBij>=TGZw2D_|jL&P4DuILt{k+VIkJMBY7`2RI3iBWT(8IS84HJcQzHFMhCA z%>T~UQAmT_H<693@MZ$VWdWT6H~`B0J!OEFQ2X|4q$D?bwE9>Bf;}3H`ZlWn|Zl z+Y>JyumqSORTlxD1v>UWUVw1`5L#NYs;Z8--IG6k%O8Ne`Lf8cC!gQQ z3bwsE3k(b-BqXHiu$?_}Oyb6Ayn6NgxOpFgc3#0;xy;nz{{O}Twq!Yn<5eXE2Fc-x zX=Idil8@Ro_4FP=!It2J4oh%(+1Ztu3DDlE&8f43WV06K)z=_KCr%l3jl57)Okby1 zvOIIJcapAb^g*LScbXJ?baF~m{!zo{nNi=jFcxbazCJz;jg8}Tc>|U}hDZh#d5t3} z{n0OgWdWUy@c?8;gH?5+#>&~%wekT$#&o@y#^ZOnfE$edRl>TH^qriS)YSgUqaS_D zq~rm3gB$rJ&wuHD_4r%VZl9X7Y4sk1yB|$G3@*VsU@gHV@*e0j1;qEIrKD&mYJT?5 z&WeYHha=%)LWAVWvxCxMbd>*fHb5-N!cX1%?){Zf*G{AI(}1+suP5Do9$kuYI^)Vrq>kB?W_E23h>!meA zW*-t|{0JE!4Z3%fHiHcMHXz1N-9}EC6=wlcc>R6?P#4RutVZR4>fRT!ZF1Y9o@SR& zJ=mU>b1I56m;-6)@%B(~lccVurjgN1u|0j2Q$<%`7OfusKic!&Z9S?wS0Y!`8zs^} zAngOT>4viwYI6Cg7%uqP2riI93Ud4b5hhcRsJPTR8OssWg0Tj!0`D#=ME)ILi68at`2*_~g%y0m2zwKz^eAd{aH zOV@kO&$fzQf}8qH!=g(HSS{||t8{8}auaBGG#E@Bzr(6r^zGZT3DqUNN^54w_j}Y| z*?kOrzLR!Dfr=394nTT5*!muE0LEI#Zlb~AC+25Bu*)q%hCl-U5|B*Mn-^s{8s(1v z8nFPvyPoqh5bqT17$;1VC0Nz+hXHc)Dh2@F2w8qq#yqTRGq0)i@k z`QUm6{N@Fp2rdb@PNFum_UqnIoBg3zYxzJCp{_XLf~~`X;liEj>fph3|uC!{nF%%J5>?0GFlr&0f2RQY@?SMl+zjc53vBxf{*L%Ba`6M1_lk3LFf`r$v z^otU+|8-07%Jz8gy6^@=W|x!KSPxWac;{Nb2MzHw8Ef@s9hg(4&CU7R#ZAI*KY>}c zaZ5k1H20Mwjr-ACM`TF}&;#T)O6=vtekK;{Se1`sOPzvx&Es91Sy`B)J=Su-)Sa#i zx_wcM$m_*{O_l-28chtO(z=4TsL8w3Xh?M?j$>hg707=F*-|E+LDBt+4@X)RXFvpm zOPVbAsk-;?!6YRm!I-*v8xk^nHs41=pd#uH{BBcY;Z!_yq8@)HDy{d1pE9;9x$SSo zWM67uKIpZWRubQt!Y z$)$`XwQVpQcH_Y6)9ZG2WV^)u1<>3bP-FA`dL1(Ir);ac>z?4-6O(9(WhLBB?|mV_ zDULOZzg8SXOxIF6-qf?t?qOTO)q$FWT4K4Q+yd;%6IHhLFq~u^4H}W_v^62Hheu2J zjC2NOKgLf%bF ztD-A=bVC=n6N|wB&NW`5E5&BJM!FAyCRxzD!aJ8&tJes z`fWAjDr)HHxCd5UOiWDt^XG3LWlrz;YwCI7HwNhG>V8JOWO#R`-GYJ@XpjEcQqH5B zh$=El}!wRF9Ek~aUy`HL$ryEe_eb|~sSuh&TeQ-(_V6X%1@yY&l6Y@Qx}l-v^+ z6ICl(VpMeFl?<}x;2sLkJv|*999&%m^qbp@TBGhOvKHA+lvU2~@<*)CLoBkn6&(+o z3{WY4)8Ovj?r^;Y9D8$}u^2=XZ>e&MUi$J8V%4#zjZ*kQcY-Qh0lM?uo+y*I!~xWl|2yLemrD z-s4T>yhbCy0?cE42((?mETibfSP-(Ap(M#?RNDOY3%JcbTntk3^>NwV#|{q|WEl3} zxKG@pjeV{<9;c@ieEy_hf#V+qB?`Y=Qeh&rN_j8rQQ#8U|Qh=pkMJg zeqpiOpf&7r0kysF*^w&ADm~e~F7@cR&qniS2vR9fz{AcDM>FrRcK7tOjVu4cy`#*! z1Rz0_&wO^*f%Vq6Jg*^@SB|6#-hRNLHI4qJzVb<|G?m$xW9K*U^R>Fq4$L6_MT}~* z!=sPp22ImW%BQ8IlNu^D{}K0p3tq^ii<;VCHs5y z=kf|&&-a?Mu3f8uRn^rc{}%`Z%i)qdL$GE_VmAvoHGau^Im=fy2`5@lb#@J>JPs$Z z>EfsQV6M@RBf4R*j_d8~_QD1sJUl&1xidfjjHZr+(u$x?XJ=x3+(3qF+7)?Us8!mp z4GlTX1db>+VPQ5ldDJsOjQhx@$h_!auJV2Amti|NDLCh&b&$oK9g*}$Eu8w{zdKXC zf`X0f>e61mvi8+WsuNsN9}Rc85%-EV-o!_XVfIv4W1|OIT_7HG;Z!rqSt1Y(T{{~F(ZGCyHYX0yI z|Cid@E5B&FHr6k`m>@ac{T+A!Zn&-g{!Ewr7Y3$Yv+nZ=RH0K+MDC(c-;0VUJ3IqP z(IV0jW({pZ!|@&Jaj~kzCj8X!hHGE4-!As`Vpg|C0Cg~~&b8wR{B&QtU0}Yg0~n^>ogR3Z_U^p%4+z+D z(;o;t#jNR4Ct`A`t9!b&Hn$hVC;q&S7G^`;~? zR93vo*K#q=H!2n?)~CO7t`5MZSZDe@{;#-qmw+nG%uEFZ#S1g}8g#AVP1FJ~pXHeq zWLBC38`qv=DJa+vu7;xN|EMTyI=8Ka05Yut7aLk45#Pn@c^5*j^g`o9)G7B`t&Wdb z+v4{4{Byct4THVkoyd_W_u}2CAD*+Bz9&z03KwOUO9bVF1+Kq#sN1F*6-ol z?*O^^^sA_d=goc~mMYWxwkDRy@;>Ap%;^(ly>OXj+5hHFTR}+pHB?mm-mai+9~$Bl z7Os&)rU6Hf^=^}aFZb)ASaCVN%et#{lA&W`a*`-`!N}GgQTLUOG z^@6Rml|_`F+$PH6W3rT|d%2m;9tQT;C*O;d-Sdo^W`Rox>w9W+O9$Z@46X_!8QC1t zKmPGKkD))~*@38XZJ2_fO{Lyid97jLr>JeYTug<(tW1F6>CNcPfpPqmkD$C^h3$F{_AFcllZ2|wEJTRHAlWBINaqzsZP+Z((!=SaO z>LAy^F4lCqHpah zexf-QS~Gq?O_C$9K`>Vongl`Xe`94${s38nJvEpf+p_w^q(bkvJ}~9N zQ}ousX=K3S8?L@NDCWWDGp@W{yvH~0;~zodth$ExBMNwN;1HM{h>pNRc-Rh0NJsz) z_U_i+f~t&6O<^D~q&>Ey#<|ZUvIE{@zBT=cCY_&qMz_bzKoVo$ojT!^JKo?sDR?A^ ze4}8PsJi*Df4+c8w5tmMuygV*b06h>BYn`pEJVPE+&l%@6P1;Vu3By>oLbD=Qlt`s(U~ zKc%-Fo1B<7w;JGPRXG7NQ^)NTd!Mv&K;wJ1 zx0&iodWO#hBZjRbqr-EG@5IMZaT(43%Deik6A76Do2+2T=K64cR!2mnx2FNf)#hvFR1G%c(Wp~UIwsp`G9f;T~-`LBeJ z;s}5;9gmY)BgJiyki1dn)o=2ft^-B*(M^qYPc`iMPLr*hVdwW~~J%TfvHxq9-7!qoT{gX}ryt&V4aOI<$X$azeOS3>-bu zA8suP+jX!`wkbo}sDFxwGqbJ`9i0M(R|i(zR3P;B`knu5Mv_;=AaWaMwZaRvHh!%Q zwZbwh6?~%Tt-=xkhl==@F;(E?{=k)#MsR4r*8ssYzoeVx1C=W>YNQ^{9|b1-@<^Xr z7|hYJG+X%r;=CL5BX}Qg1Is<|tEPK>7dmGK^az+_e8K$t+{}i-atqi5#sEBS6t5_s z?C7Pe0Ox5R{P|=C(vA0zwK|%A0FQ$HV1C2FZ z%sq33{ozdbHd*XMxnS{&<7^fw|7PsBeC2tL08=u3SDg%pU0eK1`#a- z4^Hd0BeL%XklM7zk{2I|1EbhQf!<*c9JIwbKoa6k8halW7WNZ)D^AV>kbN*Q;^Uzv z#2mKS%RD;r2zFn^{g2|vj;Q;SI?tUxOgn!P9@5>RY*nVP3HkO8AH`qsu!yuTwz5k&Ca5YRzZMmlFJ-{2 zXI#qC(`OgiH2}vGDYxJPb#zM$qnJ%2rXD1bfDBj?CoGCFZ!r+jtQ}jA?eOGI6@WLz z<@Ph>BwX!&!<_(~VwKi+3ag3-o**uWybhnDjD&c-lar3O;&z4oi`lw{RQv)IX(2!) zO-)UJ!GcUt965Q8ixUENU>06p>!q-zf}AB`ZmYh{(0CR_UQZAj5ZKfFlkx-osa`Yu z3i)Fhj5bHim~D1cOzK{ChjgD`nBaWl*#R(I`2Dt2GEC%ko9Y=E%7X&)Z6K**cX0P# z?fYPFPp#&UmgJM)lQ{1rI3?Bp`ppb3v+ zj{TpYN`*I5LGTQ=8U3Z86o*M8kv#ch5)I+DD{R%iPzbyn5pR|tNk-i(mi4oOOsWvC;|C%pX3zepUGV{AtbgzUGkbVN^)inn@^k95O#mG?E>1nv4MXzft5AN)!moE#t z;j*mog&y+qqAN!!B=vWPW4R6Me5#!DY6d{>705w`hlfG6ornBXyFWzhf=Q2#242&I zX(Mwfg2p$He`lkPH#DYtmACmpC#1$dB_0e0OOm|yXmR^wXLNFLXlRi|l^6ODVXtVn z$7CfWvPX}aNbfSGk}d$-`%L4RrnYuDGbj(5B)v4%6$u$OMhnlJ5q_L@#?q~eljJKn zfOjLJqp3)=oXc?9GYHPU^tD5;BR$ENEEV3zpm&ndC@c|5rXnx@WnYa+g1wvdL;bUk zSQmnuF8t~`q=C`ZcA)8~Y&v!g)I;FC!1=C$EO~si2S&CpBFN&tg}s&3p3duxlO%R- z?j|3!la7aQX%dF96IV&V@B7^33lQTiws}mdzlW9fi0_qXcJ-4*Ev$;n49Kp&9RiV4 z&=r~7e3gntjDussbfUtH!&g!4Qcrg`FvA)UKVULAKR2`~T1D;8q7*u=CtPBRcHK|2v}^YZ_+D}NQ1qQbflbLtKVBVYjSPfp_fDAlTR@&{X-EP+0U z!(>t+P8v=2J2Rl)^`3wiziXmH2|SXq^4!Hg zdzXnyezdeG5eEFtD1p&p{n1?IlrLW%)KA7P@~lxbY328N?D&pc zV-OJpbg}Ii9+OVMbhI_C=q*Uj{hN7|?nWt3I5qGJ^46~icipz&e)Pr6*&Va;je#hg zrP`(of>OX$E>7MU+-E=`bu#xGCb@RHyVi!P?KO*y!V?<~+g8#+gBoVWnu~)&%)811 zII?t!PX6&o)y>!`UyEzHxm3?54~7Dyor<1t2I=6zdmT6Kn<{75zFd!jX!j^V$7bvg?p|nUkB_uYVS@I2Q~|oF~JvjG$V!Kq|N#jDtu^ z!Z+$$3xnuOl@oB@HOoq7qSx%)c|rZc0V4W2w#m(0vfu%MTr{Ql`2n9CYJbh@mFKUg zEt}n4ghWKg2M4L3bf~t=sE`Mu9#Zm{rtkwNJ#gOIclPlX>w{*(2CojB6+g8$!akq} zBI$RTh-LN1IH)SOXA!DSdn~H)Lk#z#F?-Q&;R8Ad1Ya+8t%fvc6kKyhoEaLWwLu;{ zMG@8O`JtVO)-*r4Ya}waMpx_O*Y86*;cSUfR+Pm&1kJIGXqd0r8=$^e;v!I=gZ_H| zjJ2yGRsI_PjJ5fG;VhRF)Pq5bK^f{X+E>5KiX1&{IIA1Pf?G9g0^K&xJ<-~7Q8#_D z=!K4`#*{LphTM}GQaAf2dOH|GuS(Gp7=m3RukoyJ5~L{gM~fFNxP6P-cD+`T@8HIp zUb{c9Uvw-3Ku43n;Eqf?p4G2hTCg3;Rm#;E9D7_N+wjQ*Vg=4{^JrRLmVP4VuQr~U zg_j-@a^kU(xYD!~`X63^fvgT4&f0@IAI*qwfAWiIeE;Ic&}^cyfqv;F4EL%34$s-q zHt2!A;d%19N`~~RmxVx(s>m!(QAX%jR)Ch(r_9j}&@4Svn)l}IN85lV<@lJ%gEz!y=S%ChBOza_K|k_{CBJ=xh&I~od*4TB zQ#cSaT{0^am-2wN@TMb@i-(6butaiXp5E^+pBv4&QN1&lC#50?6h1}-66IH~Usp{R zWoAcL0)J9c(R0wZ!8TQ)J5%6DQw;=L$L#>NJ}-O<>nb!tF^z$wnpM?>3AWofsZ8j< zi}lVQi;T5oT>yr1dZ6K}q_Z^5XZv3FYD~*LVD5dW{QY8ZYVG>BRMU8eF>`t&(4mk3 z+qIW=K@@4e+qH9yvZPY0sk6Z7Rj%Y`q8ynGVei>ePLY&OyDYA&$?x=g)r+wY5Sm+F zN8=bw3y60Bsu2^Bs>`v1I0x6KZ0+E=lSW8Xq$$ZYNj8j`% z8|ckM^@#~S%mhG+`w(aTPsh{hTQAWi8}M*~EZGGxlloH#`ERfy?5_x(flG>ugPKsh zU#LMeCZ;BqzQ`N8=p+Z~H;Q54W`|=w@8A%x*0t-`J387vxb1L%ds&3V0yVn4o^i>% zcUzOMQ0r{(NENh>K!N)G2gP^rPy~c<2@{IaBr2B=pv{|+vrsGFqlY6guSh4YJF(w> zfQ$cQ5OmXz`#_K!q?VqExRg6wQCl>=8bAVA+s;*m59ZlJJ<+qD#E{#)`_F==$Z?f} zw=<%C51-F6KGn0KRXO>Z&*0Np0K((xn2Heaew}n~a zaox>=AC6PdGJl=7}DWkPcKn@djK;Rl-@lb z`tjC75>CP7M;D=UT93&!Y^k$v)-x{Flwg&#{+_O#cn(r!k2g4_40gdVkj1Zw^h zc3s{_{>n0NK5t6HGSFfbH^+W}Wi0SafGC>SP~W9D8DOH(pF{`#c#$-f2vC7=lh zk`^deAaip5CqOQ8^*;l0^PU3*@hI~sjxXi@t!f{Oi;JV9Nf^LQXaI3n6yBHfJL<%f z>EnRq=0KK(+CV5(FtG_y+lsfD8*+*m+jJRCKyt1uii`jkz`x zl29UslSWaXzy=u5tM(bbV(C`3_@=!J3#G)c^Zz~=^j(fvBe?XcPkC>47ZQs^u&To3 z>D(S-InbY7NSI7gMWZqFU5roIMgn3$o^+Hdvu7agSru(QVEOVc**y`4xngJY#yZ@O zpC8?4Gmb~9#avq~`M1wdc-}TbXr_CX@{^KBrevr|^qcwjjQ9c1;vPFJPv}i`EDr9^ zTE_+K!|)2t|5m5OYJ&wk8y|yrt3MS#BU0GZoU% zI!Qx;^<91NPd|>l%V`geSf{<|Q1RvIZK&utPVp>>*`~YL$dcewI_&OVdh&(m(EG?G zoHa!?rrF6!ac{mMfpv{czWv~VQLluWg3stvIn}SGsSS<+eESgcPI@kD_p?nw^Fzr% zWg7lTWxCGNy8{yLYCnlF$yCUF&|zq#r}sTo6ZocY-nz9t0DSk+T~&I88Z62#E}sOt zea5`5*N*B(Q^($KDpn*H)nCe=4iHjws>Fb&eiS|qmAPFh^aUQPTK?r60g7lc9*d5} z3;up$G^qSqsHvf6LBogZy(WEUEzjQv;JovG|9{W}bpDN$4+tLK`d&0`xBmCp6Yur` z)Gn&+`3vs11F+DGfBf%!ywAU#-T#UQ3)Qe=d-zj8pfEpH1*wRPhmMTL*gt*Rt5VNM zL1p0$reXuje>9aIvhZ+&yYRFp$8{fz;!N~(p8d$Fr1auwZ*TADXk^XBB^30y-4n51 zKCnt(*}R~LM5>e&66EBqBNu(Y@9-VmarU@NSLi$!V?l2@%+O;Kc&e{ny9TuKV!6n6 zur&~F%@{VAgR&gh&3u5}=2VL`5TqR7Su+3J0SBRraZzxOu@by!d20d>Y5|Wp0BWoi z@LUF5Ct0Jp&FhNF-i)LNkHrz)UK#`4fL*5%KaF*4`cehW%6iT3@I(uKz8xQzQh~V` zQ!b_W4wz={_~zD@#M_hIe;VZF@&`PCr53<9ci=>~nmaS+*KdMH zfyfhx=xUM==ToIn-MqNOJ{uGknzpj`2?2WF^N00LdPf2Gq_qk&=Q!Ay3~qY-k5y#4 z-c5+&9tCK`t$2o%Je!*k0DW!Ab&D5=;8KrY!TsZwz$Ao%zD{7iq2$(^0@dS{U@UVJ zj>vawVL=))Z|MOAb?5}>q&Rqo1){(Ahadshu8V1;m(7C2fhN8r&RWL>{2p}d>@sdO z95nZU;u=(-UDv@woBrj;vN@uO*uQx6mgOgN53GG78UaiRuV2scH|MkQ?2MH%`U1Z( zQ1g#g$N9FG9I3bsNbTb#c~r!GNH0!y)9L@J?W?1z?%sS4f`T;CT@upWAyO*cC@I~D zAPt8O5s;QfLQuL>I;2awLAtvRoV(HY&fGh9=C{^eYsTdtEcC>;p8Y(Z+ULg$Tc-bJ zd%vo>`o8!h1LY+kLqMv@M;>V)uj}0>x%(VQPZIU5+6EjSX=$ZU=N|@km^LUO zK7Q-e{kZOwbC_LPN(L+%N)w)DLm5C)|M3H797tLjglC*X9pEl^M_9AZb9pTO_X*2Z z@&=JyfI0dLeaFxK=or2WJ%Cu~+PUA7-u*O7oAl=PF4_vhL;J7o^tJ1IaBw9tl+SyM zt5vlQ7T`m(_YrFL-6||c-JhjY4XX9)eWDMzZUTuBNc@Csjg@wijtTcN0uL zEhu1Kj)d9YGT?+D9p&j7RtC=4TwTZh+`?>*#k0TcW;Rc%5T6T95_Tsr`&aN>y&4sz zrA?~GgPf-u7n%A07vc^{yU{V>oh6Er_-fAz5&K5cw#@& z@|1_-rS&*Y*`dzS<++I@x@9;$aYoKtHQWE&?r#s%`VV%07c8I!{PE*QmcrLHHWWz3 zQ(>hTNjSaR!}bjW1DKZVz|>D}v$9JhV#>9mBZQ~8j-wY%|0U_T+!qh9>D`&CsT;Ml zjz>5Y1UM9Ye+~V0%6~iqzzu+1-0d(M@`hc%$$KtQbmSCSTsXu|X0{~@U z_B$_eH201b0@gS-FzTKtD}VBA|3Za=M%Y*Vd+lZX_Wzc-qfi5+5mfC68D8onkN-rbY}r+PTLfL= zor0CsIIdOb2%ZIsX&{;TLL)Ry&{#;1;cvvq9Ecd9zZ}$IzueDikVsqq%P4lBVLb4^ zcv=Q-yNw}MaGex}J3ePS%Zh;rh^Abp?fS>O}q|$3^kWdhp-2PP{cc?#2 zKB(kiX)LM*GJy0M@e&C!yEO>yPPqjpXdgr^xU%BGxZ~3<3~03KP&>d;10s zr=RPB^(XG4I_7^RIJ?9IGPh8VeF{R2N;tfU_yLj)M_Y{lOTkpdTPGw8&IiZuVjtlb zG;oBNF&=d@yQ{V+x-BujN3}7h5gESJ?_>v^l#+leTEOZwy;dluJ=jK zf8Tbm5j`Rf9n5)|WAyBMS=pmxx+e4Uy*W_Ty+PMulkd6x2$*n^2f-y-ka5}=^7X1R zO$G)#De}t8C*O=aBUU?BVX?mu5RsSHM@>y-vK$UFd~M)sFUY{G0ah|V`v->)O|>OU zO;>eU8cSavpuS*o+og)>rb%~OD^I)6&YPT$%V+cp0JorU-pZ-e5;-?R; z1<|VCX4UeLeQ16(W-Nxqg9wIhLo>Pc6UMwHO8bo+_ zxDss+qbn{1SZ9_6SZ_u0$E-Ys%SI;aQLnc%Cn9y(1{W?v^E6}Q7d1T{9y~gt+Il!C zIQ->?ko`5|E-S4nR{Gd^XU$%y;ZW zZs93Kuh%Q7M)-;He8y`9?Jpk2;O0Kx?*=d)`s!-&?I|xLFE0;e=hwp=4LKEK9mlQon zu)BOx>ulO6ZfO;SAUwo1XdfIQL?!4zb7;jpFS%V|?MT`wm}S)gFO2w+SHy%5`P{#j zO1W;|Hx&@+r-2;(?8{_Eui&fK-`QDyv*K+Pf*i>0iQ?mH@ZP7}J6cNpi+q$LB64pIT*(dl~gjR8MnUBWG(QCoGR~-t2V$JY6SPD4AVZozB1I)8Uy; zI^oV42+0`UEYhvDF)+8+ZYnaCrGwz@&FQEdDh)%2BL-8%ScT{xq$AYord2sjfzx6@ z#M^Vb`@ZG)W4a3=-p4RXrL(9KB?r2O8bsJkv$Z6dsL5v8Nlx#GH0kaM@r60j_48vj z)zakPVz*!VnuDesL}v2IOz%XDeG5uK(qE*r=jYqb6X+Zn$e4VC8Vw2hlW*!|?9)VQw^fuSH3V?P9mvr+8e=6=ee|4izef`hcV`waq! z5ZI4CGj4AUrZ{02uPs;J*VwRH&_F77_Dk%&xe3Ok=3&c{i8PDk+V+vbyyb@Murd0~ z*xJ7{%2fZfy5STF-&9KXQdwMGr8{lwT|J6;X?kq+^L!>n=zD4DVfWBbM;O5aqgO50&BJ4VuDo7re|}ID-tcRVnHOqRDb#DHP3F*l z%!2Z4Xu=oJwBjSgT zF5d@_laj+42JFh}8v*i-4<7JJ{3nLaSr;jv?l@5>Jq~K1pVuvj+q|44Z1oVj&@NZ^ z3p3##X@E?74T=`PU9}5PNoV}A#9R-WeT$gJd=LNbb%N_Wk3R2G8+6;+^~x6|=!iDwKjZCAr7HsuzL+Pdg&Cl$Di%lRS=D zD=7hu(f0X3(lkN4)myUu0Dw+8!6~dxJ2AG?iMc*o3PXMlZ}#*k0t){q{KT}1EFaT| zFL}Ykr5~hTNLOwCTxz3AP`?ZYwVLtPwf>7b z)7@aR<)?0WlEpinp}uc4fwm%E`kM8cQ25kizvvC-vw56JRdscB-3C{j1qTKCdy0zk zEF;^}`z+tQRwOH$J3@vQYF%HD+{!aLA_~8MH0Rm1(o{fF3IaU1qqWYQJ!$L)yfWc@ z>ua4>l>m(D(}LDy|1PZN7MpD(zmK$Frach+>`Mr-;JelDW7Z2E=gS>oOmW|Vd9ixI z+t{zT(_-g~rZ6eK#`%t0!-+{uC<<4iJPF&IBHA@Yt^6^AUGYWr`$QwKrce4m#!bw_ ziAiTvr>+#vcD1`O^}IB>Qx)iA5)u-go4ag|tY*O?N8?$%_vd&gFEAdo#rN0N>Qq%( zj+%A$z4}Zzxr0{f4o9Gp&7ILx2Fgp}O=`_!cn}7q7zn7cR3(S7fMBFkiKPBDG(v9? zV~)vTD7Zf5v$n8l5jc-Sy2H%_PgTsOho86!Zifg+?mwSG%)P}xyG0*Or8M^GpS4nC zo!x7C5yOv-eC+?~H4~FKaGuk%cYbvDt(34?w1n#P@POwtmz||zi!vH>#43l6(a(}f zRm+d3ifS*;xXEmCEP12sw*b?MTGs z_GiH*R4;ShUG`|OSTzaq^Xq0&SI_GG_8x*V$D5m&nQCcjmLd0=a4j``eN0CupVTfy z3|jxU^~oWLp4{eiz`CHJuAaies_{)dx3}j4Qxo_r8K>^y*y3Q^yAO%!j^(mvTT7kn zxmUrRfxm*M?Hf;Cny=234t;~CZxe>MVRK6YRjX| zS88Klt}ZMLTr@oiRSld&?;gl~ZzLoarO!Ss%a&k&X-EnwxoF+I<8n9kq2bBNe=`?uk ze3Y;s%&dqPjAMjGgf1a7)_ewS#+x@@0O;nd$I0(Gm$0_BF4n837ee)a$;dUSl%big zM%W-EV#P?Q_??sF5^)!aKW7EuQiWC(o^Ap4towY@bu5%QF-*x}*!(mK)qZz<%8(;A zF4bMw*lp+Yuq!@MXt{<`6nBtx3!8q!-RfE)vf|~Ri$0PTNLsy^`iQ6uq4ArqSn5(a z(!r69ccQ>fD3*^QqvLav#|uxjDJKt4SiJiJ#s&l-eTk_b?zhN9H&Z3@WTk1VK<4`37t?koA6`Wf_GTkO@%sDCI#9+ zTqssEXAbN=Bp!C3KP{&tS_a8k4L>q*w|&-7)*PAC-?2rw?5|6wbbp3-r6!43hTUmJ_Q?@9TNR!o4U z?m~;eG6N`K>F)d(eseopTURF(wON9@ zYO~A7Sf{_Ji>`_L+%=ofd%e2`)Fgj4^Dvlt#hC1Ya1@$8IGE z^vVEy8;WC2NPN}aQrLhz!D~pPx8RA)qp-$O z61@jSw@AF_z+!vUM+|zeyS`AtJvaLjTD9CXB1ZJ~(FX;R9B{`!^@iEMcySnlGn}b5 zLqaq`vLCyE?^^tMqI}AL76V}Qe{%seR`o(fJ`>S?SU-Bhyml)Er*p=~Bo`5InTL5@ zH$IAU{{8cfu6#@UR?bDST8+gGf32<^UotB}7_G1l3qe?ipBuiS@4GG6&F;ZQ#*L92 zwCg@2HzLn=*^~(@X?L&X?0_LLFZv%mQ3muOwW87HgHe3wm9KBETBTPiN^QQ7_N9Z~ z=;CyirZv5Fk-cg7woY_IX=?%c)JeWC0;`(e1BaSNf61#YEn2`b%?hT;ocnR5p^Xc5%YIb zKgJPo@-Q(mdtkt`NYNj_cEP)XHfAxLoF@ZnYD!mkLgBiI5KeEj-gTLosmU_<8Qew@ z4W0^8NKJUY^fX3G+r?9t4mvQm2M`Htpj7zqwXZ`&?i-d8cEBWO7A^x_L+rsqf#Z%i zQGPymd0Epmw0Urlor7bjyIyYAt6|l!3Su8U^Ye{6(n%@bOjyS~0yI})%V>wkJD{=A z0q&_qlb;}XAd%XCS4Tv5kX6Vmn^8rIErCJt1&N3S75C3cOZ0uxDwn~%l^g~KsSa?U zIrOcXTRPSi5`>Gf7zy1ba~>xUpXFt!K>fQlFfGR#fhh&l+7QC9L#Mcxfw)H`KjGr)>SgK^2Zxo2gfyFp zqSV4Ttyh*Xd#TA*>D#8}=H`(RTtG?#>b9f_HKoJoTXAs{FkZ(f1y$LQPf8tJ;FAwe zHi-bYPjawZ3ST^>k{#6Nku%$RpW;AY59am^;W2|c6Mp)nIm2zQ3)^LR$*CgC-(_B|sy!2)*Py&lFHrvyP^q;`@gj4vN zpm2nwkPwjgR3`FFMfYpBH+8z4NhK6yEuZJTX>&i_@>*^`yg0<=TiwXa3^HxFiQmjk zAId?l9-W^;_j3(?6=4{qKPc`?L}i?noZ2z9PAs65=B0$5r030~=ij2NqSDfHetr(n zffo^q)l|HJn%?!Yn^QPdo*3)fi-$h+n!e@Q&DvOmMNb=y$(iG)GL;!8r6_9N*~Q4+ z|30?Wx5Jy6t)E8o;}(non(!GAOSJL%GZ@F$P*?8B(aK1bbD9VWkt{eFegtDRmu?mgxhYrT(XrUeG*N&MmjP-hvZv?e ztkd}rPg*hAMxdZ^0-9K$hQvTYu~3EUHF^qi zl&D#xiw&f8L=>kfAnot&hF|W3-n>p>zpEnxW5NR54U1`#S(%_*c6M2^>t2+4T?bb< ztVo4x@-#r~ z&2jER#3=9?HEP57__$EzNr~Del;-p43D|bQIxaCTJSpxK=T4=u#v#L}-qp6CNX92m z#-*e(3QWq|4ql8;BHy=mYk^6b+Mqtv*39q7PVemO{2WEw+oPxlzg)j_Yy#=` zg0KIf!*nP+-C`-rM%%p7yIQjK1haisF{8jz_55B*NjdRBsGF(X^s;o-yrid@i)NCvM$glbp_$YSGapw^yytlJrm0jGdG&VCW+CI24Xg;d(Xqeh9S$e69O^ zf%jrv(r0Gh#+y^-tS{tU>n|%_4nzRYGvn(rL3;yl?n+73Hi&?0TF|v zHZ1Xiy{Q<=pLC+ey;UurKIz+hf0n;JJa?ItzW5P?kToNC_vVMoL_okvS=}u%SnyNR z6SOomD&LJ+HGBa4{382+owviGIMBpg4o6^3eZ&wr9n|+yiLo>EBn$~co$`e;e0VTg za{ZzlSGz-!Ll`gSha-~2#oBf;upUmH5NjR+E*ljUb$7IDralzigzplUG~J#TTGid~ zT6PgPrVvxAg!?+`Mq^QGbtQzU@^ybgn+$`^R6}idz=Ckf($u%MWZkSyMY~3)d(vN3 zvS~V_rgHbN^QXo&6F$b+Rd5qOKF(XJZ{Zy*FX!lbSbOC?2rEc^yFK|3HhY$Z^&4mD z?A#vD@cIcO@3Sn?81(rx?CFQ}0e%K@xusJ{b;LEDb{Yy*kBU5VD=09h-wLzS51)j? zw9G7r2i<|&GvBNws*=Z6!+W@Of;|1<&nO9wfkxa^TiJ8AqERT41h&-nlGr}0pM~gb zE_tm53|Rsj{1WL<*!P6;&yN8f5?7H_D4<1X{Xumj`{!Sm^grFw-u=q&E&Fpg&fN?&rSqeemBx2-e(Z!_ty+_ncW#mgiT- zOL1N5QQ7{yw%se_x}g)r&*A|doDRjWhVtOx^v8?_Rmk;+>w1N#yYEv&X%X`oGC%K9 zPk`i*PDMF1$gS;FZ9V+K6~(M~t_Tr)r{Q~_*>B)$l(+AzttGI}MJNC|*J5>W(lCQ> zDgEz<^5-M|%fp-Khl8C1To$~}_mfB@uy=OWHaDk$pKb9IHt=UBjD>@9HCN++<{a1d zEqyTvTr~YO?1BK!mPN_Yjz{fY0b!j`6u*O|vt7{E>VHxGX>yhlK@gVn<;zlO*R6ne zD^hLB4hFb1y^bpc4JSBcSAMUnqB%1iu7`#=nzTK|0|xVLwuuBbeS2hnL4k=5fNpnw zzXIC@;O!=6jRu}$;NFOGn;ZanS%d3vD_B*)0EXYoeev$-_-JzdE?1BmCZ;gX>fC3M zA6FXLZ9>Ayf@;kuN)GjvcK?xj)NjVEPhvoMHa5i+PJG%5qN8c1Yp8go-Op%#%#Z5< zY;#gCjv_Fj&md~!(T;i$6-t-jDJ~LIhPm1@7DPm3@eracip21poM|e~wjs`@fP6;QA$@IGPvij2O7Z6p z(0yBVhRV~A8W3iinH5KU#R7qiNzt(;f0mD}@m+X6kW`IXmD-7?h%cyo!xIJRC+|JD zys!B><8*WfsEfmA0PDZKp}AmPBI)nZ$p6vM zU_-vVvJz8on*TEAo)5s1L6qcCg5%D{FaqL(B#4$gK={D<2i4%D8=G`)0 zgSIe=A2wxf;rH*${7iTs2GN|aFE5w0B;78-PA2QQ*~=5bl-@PKjF7lrV5UQs`@Gno z;^6&oC%~!4y_fZSFhID^s=>VIfx!H(3KRsl6rZ0fffzu z_YTc1kL04g;)y{enCQ8cJ>T9$igp^NR`QUXjXQHos2{pN!yrS?WbP8-e8Ro=UObWQ^U zRYxDBT&gj}0o+_MB^H|;cXVjzEhv&Y4EG@auq?Z~so+e{1%+SuE`0Hbq%iP2bo17y zn7)@NU*-DZwP#AatwRcRR8+F#f)ez2pDC`#gsVSA%yzqK7w~x&^tbETbM^LfRW~3B z<^nBqOZvXedh30O=btZVpnAa2W-*=eok608)gZ+;KqSQdp0lFOz!Er*th?NnND@(!Ch$ZOkA5xEuKj)RNxQkZs-17%d$g=0_$E{K3v%l{-(LfK5I;xOmiaR1^PjCg9cQr>7l3=G!Ez?=Iu9 zst}$^O8V=v?dPda*Wp7-z^fw2;~>g4F80zL;?i*G;ALRe%QQARaC%oOV!K%e2$e<- ztJs@P(45(7H(`nwcMtT;mAwb&*;0-mk_cx`1MF7OkQpwRTw>x44f;R18Dp{ww0q6K z$Mcz?xvL9V9Co!`?2n9LB8-e2Jo$}50vn>N`;dJP0_QuJ#+Jo$P#_J~tSS`&WGrov z^dW_W$sH#%=Cm^pBLqI7O^*QIXFUT;p0WND5vt+VV==*NQI{-7F5dSbV0e>gAym+h zu=Y0CRB1SUP!waI`#pemw(Sa#5=P+B2a*7YA=o<&)Wox`u$LdguFu23(*huU5!>!% zU_;?zX!=#%WaQRqpr3f%JrKFxuT<*(;hf)ggpdFLYoOB3mbp0|?Fd$puxfi)NmGaN zFFc1Hhr^w|PnOSTQ?0bv#WaD$ng!MID;`P~$^6NKucQGLBN~vqRyFb7z zr2oT1{2X>n1GY&3({*aS*lIPH6jjHxlz*Q1rzM7a7t9(=M)96Mv;iRWM`aMToRJvry-x+@NBd6$Re{Jw7W#>H* z?|waB-_!gQj}DXvA(zc)fhP#p{F$=i0*@cNou%ld@3h03Kxo3)#Dp>O^Oq5dE~`DO zZL*Pc@}7rXlu$52HCI|=IGQn(lV992&f1YG>VY`dIk2dVfFM@n^DZCz0ub@qn!MR- zV@gBwGDp>-zWjx=9@V?* zI#YTmez6DyVq_cNRWXP-l&5!qU94}_V9-=Z~5f7#R^+VX{I&;1aI>+S1Ey) zw&QXDhmHp*%wN@sKM1=-HRdOhtSFF=|G+RZ%J{X7Hz_agjT}6_GlAs?OtWlBb#M8m zY5(r5VnuK~6MU3EM!_!H&G*5b0t}+z;o&>Xn3OB!oE-2-CCb~CmB@*)al1=Hoe0IQ z3QVzB?M0CPt<77oMsj@cz4R}Su+arFuqbygN)|?y5T61{2Q5pcoSwDpm8TWAQuy#> zzRNx^v4!xJ32FDkN%=f4fCFFK9huTpzm7#Oi3CtNU>G_CvN>6}?LdDxu<&_$YVRz* zebKFBZ|+&+be6_H4%9V%GLj7{N!H zSX+f=R}tH;_muSDg&>Un>45fyq>cq1l_^%r6+g=bw|tX-$~8ELLp^*11*`DDldVd6 zVe7t0ZQ&NmTmU@>@u0M2DKj1*)?F32|CGO@IkaNxH0fh*4iCGO;^WJDD23f)=di!# zO1H6mIJu%{HDSJK3}CKRI-%@EvwJs4l65#NTVGaOfNLC9+z3-O&?W+`FN2r%FU;MG zqC_hx0JdIw@&;L;b(+h42m@5!^*QC+E2l)@>B=9oK{hMj(M6G~6)k~^lV10=jUY|k zW3@qpfJK)$yc3ZB5$KfHOR!7OPuk3nkOPPXRE#3feGNP(XibZbjpeXZ^-SR_QOgB9 zK1kzk-EAOnx*kl4+gV-JP*L$E*ageFRFk*s5)G8W+17z$Iy11idP_jeug2vCF%m}j zCkK>HTYoQh$t&-RMN*;*A{Mu=m!?&!q~;aT;gzp5RKI!N2C6g!)JdlF!-08R)!5iL zy#$`ny~Jkt}lE!3=wx*fbAo5 z6MhBDK*K4bQ{!vVK!8Lk9u)vcgU?QT@EyN&>BqhT8z)4>WrD1l{tKXucr8t;@b}g65=et9D$VUCqHJ})d z*+?_**H)iWnmxL>xOm=HgHC3GS2Udcl`ZdLU7Vpo07tqz?U`4UzJY-OdpM~Pj0Xf* zyRChU{dFG$1H&`8>;?5;cooCjxGuK{R^JR$fsa$!Bd-{3Cg!=bj)7 z>-F3@Xy;h;qrZlRfHUU(J4*K8*9Iy+62eMT-{hBlj`uD342opcyaN*^Tw_GxUahUp zgm_XX+Y|enxmv}qyZ0O3_r`z3XFlJbL56_YekeP0CK`+Fc+NoQ8#QQptrr?^%A+I! zyE@Ja?#S%W5W`Kbyfd!yvik4pJa9^h$(H{I4R>+uvE1bwu%IKg4!dho0byQsk7Quk z6-LMmcE9@r=R2~4GXrpWxpmIwlvC49`-6v$cQ^x3R%+gYyIL#mW$eB7r^&?mV?hD1 zK~H9Z-~oW%vR!*!s%4#2IM#=lIbv;#_l0-J-$P&dKqB~6p#(Fg+vE|_o3S21iWeCM z8qz+*eE3GT)FCU`(XrBDg$D;m`U)RZrd*UJeFbKbwSvs&!z@K;LJ+)41AWDWh0Qc<BaBQtT?vX~6RV~=sN2Nd{FKSt7en0=Y~Th88aiJWE8RiG1AuhB ztDUvs15mYWJfu_`AlCPfAM6|exCFqnZC7V{U{$V>{-!P?BgSpN$6Q5^y!@U5k^vvo zykxOzzE00^mW>Tw!pl=>*WMNzgs{~nIiHHC8M1>nr9K_^<_Ba0_T5Qc z#yekLk3{%HR1+vY;ryeO0IBY6p7j701{^jZ>7THQa=xE-GSk|PbcpXZ0Yu|zYanG# zi@`||xw!LA>RA4TWVWO1WG1h-!Py!<61D9i4MAJ2_l^5rd?BVHzl?xi*olFmp`qnw zD7ciE@wjsI&f79vSQ%WtO*-PuqnKu^Mor`67$fYx}C z%4LBC=5U3f;e0P?Em7LPr8z-UPY0Dv}YZvB*NeG2Rx)jJ+_D&%sk1E}1_yS;Q1~b1FWx9Eu)7g%ap-KKmj%lQmmN zzECqb=?8u39N`%j^Dln2g@v(?a^-!C-FbN4=(!5fDnd6hdH|k{M0ss_=!yd9`TKT2K*O-DyEvP(O^u9WUQNK<-OvY6QXpVxS5t;1 zP?5d)Pf$+!y5E`>;e42dmc~=R&tSi>JtJzKeZju34>)45lktjmtY93R!S4yvuvJIm ztEmx=u(4HsZFQhAAQtnK0uKWa-CqiemkLc#MUHVg79L(3DP-qYE!zkH#GCE#>C&Qb zmn4Udt|Pq!cH`yMHqg36btwkq=9&YY4FINV$O36QUOKu?ISz_Tj^G)7gkus3d|DVl zh272y{(6y#8EkQn={gKe7^S#-M|^6eo1<``4_Q|+&40IjtKm#@g=8cgmXeuibm$DG zN06HO8h{6U{9g*KW~LPZ9yP+)e5R&s6(Hk5Puw6%U4bi)a=+=TC!0l=ce?GY1L@4i zX!7)onr;aOmv@enyh5(NfT(#b>AzB)SqU}pbl~4yl3WT~AxvdT$6gZp2ThcKQGA-) zMg4;;N?@}E{!66rzZrP^AA7ssY{H}AIsh?Iyg}ke@~C%ndsgzO6Ujev`@77aBVCdK zsAL$L;=h3SUOfE+o`%GCN~2n92?7`pkIuKwSnX=?-ukv-9%fa#U-z4$Z>h|H9faN7 z7*|f$>*4%)$t*eHDm?Y-;XVAJ@+XJL0N*-rh2&BA;f_TR*l{JMg@uB4(y2iVl-a*% zo>TS#XO{lOYJ$OmbrcApOz64=bCMjpVl$jz^Au2v*--xnC-B?reYEqvhp4E_a$p?T z?2Rvre)#7Db^XI&P=2IOZa%?!hvrqyMejC#W8p;l1tZVatXeDq0=e$HI&h6#rjPWk zRnUb2Fb0yL%qYe_xeIiyaNwRN1>3Cl^#D2JyR&B$dy|Kt`1<+zfyEh8BFJBD{`LUO zBp~4?NJbhX{KK*f(7ti!D$Uf{dH`Hu$_8_DOiq0oWI^ideX0Z4KNeQxg@7&aLXX9O zA(~mM&`!qo?>EhcMR4sj3Lrjo!#+jYN!e&uF)Odl&US@eJOo=7%caCNR{=%$Z@Z~F zfGt@-C9p>b*zfrWmd6wl2#C{-DaKa0?9caV6}@h1yKcm;tTW9_~l=Sl&~m4x}yUUsdxsm7AKGW?@A} z0d!<4g><}{-J5k}n~>F$TpWvnheJ0j^aDxNiM?e_4zvm7wheqRVB>pMkI3CFfkx~( z5Z@J>Gq3_xs#0*R4+Mya0mNA8K6baAO|-{fxPRiHehB)1s1&C{5&O-KWrfA=WMwpI zL*g!f$uY!T)FT;{Nj4biysW`tGjQ=HPfXEyHm4v2T1 z18tpEC5iZPsh-Kej>#qmngllL`Ccu6EfysZZ68Vn$P6t+VmSM-XdL>)KjRAy7iLS1ZOOjr^93wQPeepYf4V^dyi0;HL|C*@zB0Kl&*R0lA&Wmj)KWu&F0!75`` z?gr#-Pmb5@=BiSqgL8gwIDyBn{HnOGU?;b=4I!hhjzs$LhYs+@+G&~HCNEQBL27AN zM5~a1GxuMThpc1lYEbQgL&Vk}X^eM=~uczq)2e0nAx(Vs2|GS7H1=9D)DdD!nuS&jON!fX7*u|!KBk?@oKr8c)ysfSRo zPV3}k0d+Tk8<=w@g9H!2yL%QlIK$oHt#ZMCjaK75eAO;s~K;^q7bbFkwL5EA1$?aQW?Tt&^&G4nN&N(P<1iet+Ql6gR*56^mg(Fq#&XeuMVw zULTcdz>prO-B1H#oY3iRHPGGj)W6klK9uBtoA)xkgoB;E7-yIhAcCK(>K#@(1#E2! zG`H8+yVn09{VE=TW61JoT{mBx3P1Rac(vb(zcB{rNg)^1%>x~8*gmK{6jr>7M}5Wj zSxDZ4ayX{>Rx?TXCvMSjLu#q+LxLmeN)W}|n-VbKdxido zM+6)t^=H;1LA5N%jFQAR9FqHBLG^fM!SERy)jNVUSTlQq5YLnP<%+e$1!qG9Wk=5{(sY@7tr&}1V%r#(3v|o+Y4z$siJ3we*X&v2jHFn literal 0 HcmV?d00001