From 22005a25b6e44615a4f78485573263beb7b0031e Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:10:32 -0400 Subject: [PATCH 01/28] v9.2 Changelog --- source/install/self-managed-changelog.md | 61 ++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/source/install/self-managed-changelog.md b/source/install/self-managed-changelog.md index 519b3f7036e..4e85318a387 100644 --- a/source/install/self-managed-changelog.md +++ b/source/install/self-managed-changelog.md @@ -6,11 +6,72 @@ See the [changelog in progress](https://bit.ly/2nK3cVf) for the upcoming release Latest Mattermost Releases: +- [Release v9.2 - Feature Release](#release-v9-2-feature-release) - [Release v9.1 - Feature Release](#release-v9-1-feature-release) - [Release v9.0 - Major Release](#release-v9-0-major-release) - [Release v8.1 - Extended Support Release](#release-v8-1-extended-support-release) - [Release v7.8 - Extended Support Release](#release-v7-8-extended-support-release) +## Release v9.2 - [Feature Release](https://docs.mattermost.com/upgrade/release-definitions.html#feature-release) + +**Release day: November 16, 2023** + +### Important Upgrade Notes + - Fixed Data Retention Policies to run jobs when their is any "Custom retention policy" enabled even when the "Global retention policy" is set to "keep-forever". Earlier due to this bug, the Enabled Custom Policies wouldn't run as long as Global Policy was set to "keep-forever"/disabled. After this fix, the custom policies would run automatically even when the Global Policy is set to "keep-forever". So once upgraded, this may unintentionally delete posts. So, admins should make sure to "disable" all custom policies before upgrading. Then re-enable them again as per the requirement. + +**IMPORTANT:** If you upgrade from a release earlier than v9.1, please read the other [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html). + +### Compatibility + - Updated minimum required Edge version to 116+. + +### Improvements + +#### User Interface (UI) + - Improved readability by displaying system messages on multiple lines when editing a channel header. + - Combined "joined/left" event type in system messages. + - Added a new user preference to disable webapp prefetching via **Settings > Advanced > Allow Mattermost to prefetch channel posts**. + +#### Administration + - JSON null value cases are now handled correctly by also checking that the pointer is no longer null when unmarshalling to a pointer. + - An annotated logger is now used to capture LDAP and SAML logs. + - Replaced ``github.com/mattermost/gziphandler`` with ``github.com/klauspost/compress/gzhttp``. + - Performance metrics now contain information on if a given request was sent during a page load or a websocket reconnect. + - Elasticsearch aggregation jobs no longer start when a bulk indexing job is currently running. + +### Bug Fixes + - Fixed a panic where a simple worker would crash if it failed to get a job. + - Fixed post props on update to properly see channel links. + - Fixed an issue where the API for drafts would return empty drafts. + - Fixed alignment of the help menu in the global header. + - Fixed a broken link in the **Edit Channel** header modal. + - Fixed a bug preventing users to be added to channels from the system console. + +### config.json +Multiple setting options were added to ``config.json``. Below is a list of the additions and their default values on install. The settings can be modified in ``config.json``, or the System Console when available. + +#### Changes to all plans: + - A new config value added to LogSettings so that log fields can be size limited during logging. (MaxFieldSize) + +### API Changes + - Added ``origin_client to the mattermost_api_time`` metrics. + +### Go Version + - v9.2 is built with Go ``v1.20.7``. + +### Known Issues + - Copy pasting images from Chrome fails [MM-54486](https://mattermost.atlassian.net/browse/MM-54486). + - Adding an @mention at the start of a post draft and pressing the left or right arrow key can clear the post draft and the undo history [MM-33823](https://mattermost.atlassian.net/browse/MM-33823). + - Status may sometimes get stuck as **Away** or **Offline** in High Availability mode with IP Hash turned off. + - Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms. + - Slack import through the CLI fails if email notifications are enabled. + - Push notifications don't always clear on iOS when running Mattermost in High Availability mode. + - The Playbooks left-hand sidebar doesn't update when a user is added to a run or playbook without a refresh. + - If a user isn't a member of a configured broadcast channel, posting a status update might fail without any error feedback. As a temporary workaround, join the configured broadcast channels, or remove those channels from the run configuration. + - The Playbooks left-hand sidebar does not update when a user is added to a run or playbook without a refresh. + +### Contributors + - + ## Release v9.1 - [Feature Release](https://docs.mattermost.com/upgrade/release-definitions.html#feature-release) **Release day: October 16, 2023** From a0f51ca38d65cb57fd42c106c6c9f3751aea4af5 Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:12:02 -0400 Subject: [PATCH 02/28] Update download-latest-tarball.rst --- source/install/download-latest-tarball.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/install/download-latest-tarball.rst b/source/install/download-latest-tarball.rst index daa0791b2b8..c581b6de373 100644 --- a/source/install/download-latest-tarball.rst +++ b/source/install/download-latest-tarball.rst @@ -15,7 +15,7 @@ Using ``wget``, download the Mattermost Server release you want to install.
- wget https://releases.mattermost.com/9.1.0/mattermost-9.1.0-linux-amd64.tar.gz
+ wget https://releases.mattermost.com/9.2.0/mattermost-9.2.0-linux-amd64.tar.gz
Copied to clipboard
Xmq=X!_!}QOG(~~-t#cnkx^^72<^r#mO6X{h zs2rs}%W$-nV%Xym5HDl%rG9N5=SwYa2CND}%j|+@(KMc{xG*K5edl_R{-nDv@OGtC zaM~lEEL=3VYwbWUuh>)Kya#re_U*)dM@d`Kn`W1f`F#~*`vz!QL+iT3lrwpZQv1?Q z{Bu|Q6B_ilGKttksm- <1aPRLAgii64jBYQL=9{!DcK*^Zx*vJx3MA z^ix>N4*h7<-_u2)5X%AhO zTjPbY!^)?k-wKgh7jpRF2b*Gl`hfOMN-L28FH& 4DDX|;sfL_i zsSuquopdU`yV9MPOa$Aw2eEgrZM0HiU1M91lq3r#U5*o@Z^uS23oR3oOQkNV>>9wT zW8hmLcsY6ADzf%Mq702o@tssU16OdQc6$h=xog`ea_FMU11#gWGR 6tE&+-W4gR}sb%mO>wyAMdQ_WQ**?#M3a zvC>Clrpu(_v_9Z!Na$4vdEdbFrt1UAWt%vq7G1b7rIrq|X#-~(LV(XlqAV}A8J#6% zr9{AZjZ`+I<&oYT8myxcitBkCG)`r?oc{Lk)Ir_z;pRPwd-``@kvKfQNulBw>O!#j z=B%YxKL?qJKX={c+Y)*$(et3*S}q4P8Yk_|pm&G|Lk=Iz*;hWAzk|k}fGqagMm1)l z)4Ex`ZcS&{9Udws(+=1x%6$aWA7%#&`m%y{veGjyD*U^p=&P5c^ RKOreDcKd=<>Kjffy~%r^RoV zvV`O*1t#fW6HuHp;@+Ym8FI#Io9>y$Mw^DoLC?I&?jjxTeA@-pdHJI)y4o2VFMjvn z+PQ@WkX$@*yd0e7S;~_oe_b&k@ij-IWvLt=9mq7cq&AAv*-SIl3>U%lSR_1uK#Ys| z u;WF-1zt=-k5U=P3Y~eG36A_?G_U!jMQtC%}h>&a{&c; z)D399i?pZVcX08t7+*c2=Y7CI0%)f)VFW4?lLoXivMJt<2?-`< 5G2orH|{hskc1o3i5?_G7qJ4;4PC#=U!=4c+t U4u(2Ex}B+xgOVxc;xj6R$|TF2(uefCq#1|p< Ze0ya331=>ht=(?<)iUF<*s{a2^Gg;eNm<4t#;w>LC8-=% z(uC(S_nC?qcJI;NHDGp&mHP4}Kk {9&HI|}UuZPz3J;#I@$0;`Q#xT( zh=#9PuQIK2u2LMxxd_Ag L?%$zzoPwTL1iwa59@FYHrhoU8O~9KSrzCm+v9R_4s)%AI(s{uJ^|`unDU z!tJ2Wyn$TJ;oDXT*4*Pg+aI?%j`6nTw&S-E XU*qje_qLt{lc%Ar@RrYmcW&3`?+s;VBFwSy*ljMUY?13+lw}=Hi{bs z^zL3$fW{^7OK*%uzQ%d)$s?&P{-d`?u15)5!rLJJX2KnUmjt=D3WY_?zl-YwYGFKZT2H??N8!!4Pd>6L zZ(U97aeaT|ZAZ6xp+zO{nJVF9*~g!AQ&h!OrBifLm=eiTc7^IK)p#wFEfY(490eg2 zJY}~`dD}h>E>|;6$5 A)c+S}L_ z&yd xQ zwR*#3D9Uip5Ze&ZaCzXqKL}k|y0EJ}wrbhr%%+DY!kv7D;IH6(KBGRuXYTN%Gv^DN zbGow>#NkEFnY8(IdAW|b4mV~h#yxZ#%!P`^DgNm$%(CVW&E?IJcZxCtGpioJ-VVIs ze+zztcsTbkH;9IaDe!#|7k*<4@AAG#RVt7tsx-;Oe#vIZdC9hoUVchWkx{oZ)3mjd zgWgqmgzxFi>08*JM4t3z@5$*Ys7FfOlnoDw{2J;-Dt_NxekV!9d#=5f))}&lxt!1r zQYuyYz+B0k&l0Ip_}C}oX5#bcv3LnSFN=eBH{aegQGRxxO_0~k)&@D1S;pSw9_31{ zEw*>&35GuF%1ANhVen{;4%sHFBZK9UjKqw%=lCwkJKNS?Y^5G;A4$=r)P%y`K!%K3 zAS9=__p#LZefaM4rJJ9baSiSC9Q5V)Z fsIYRzn=Vx*;-zRFNvcGsxb=QJtO-#nwx zBKJ#-5iv(TANcy|>+a}IE@$dVC2Q?w&DQCwg`)|oT>kYzPo7vo*HI2Lt+T?3>GcW~ z3y&eZqzYdybBDn>P*_?hdnjm7C3*7c%jbM~tHaz3O=IyR%1oby*8xMIQZ%DG`rpgG zn=d851NEMoZ}g@0viCJ{EOUw>!C#EDkz%DHrp{fYFeY#UX+r2nL! tq?7&tLms;wBF+C+cL^9fI`3bmvLYyU5-OxVF8Z1KYx4pBqILb0qI!Gf9c0Jh_EpZ*#NZO$0 zt~Ii<^01XYt)GS9h|h`N=JM9J`?l)!^|R}%jp07O1a*D92A8w@8{6+}qbJ2mSoE8` zOy?qsQ_fR{9M%@R-Rk#GHpE@`NcTR@kJf5?f%g3d=&SvA_FN!h2Y2=#Alhn!Jm{cw zjh?B {6zt>WSGeV|N=gFG rM2k(x|kF{q@I6 TF)}g!_Y7RFOw9isV Aih4G#NCdM-QHRqVLS(CmLw_vhI_|5I?*l+7PWRgiDbTGNcR8 ztF9UMu9{SAtkTrue=%DENu2Sk)=i ;aU%;3(>29zQOlwJOHSaojh%`i@AC<%AiqN7WeFRCC@z!uj?8N`bPO!q z|J%TZ(Mk1jr*-20^*+B%BLD~Mp1$YnR{H $UI;uC3{ zzWpzV4VU;!Saan!f-w=iKQI3PD7TY>pE{7m-PIJxv_p-YAD6wN$jmSdb=4vD+^!Rg z_oi)eLY1@Cf%wSph=2gw3ZWxK@+HNwzg*v5v1sW%R&O)~#U@?@G z)-HYX>fPNj2G-XfiysnO2wMn+A`SP$>!MO-BVPy4Jh;vCkHSvG!hqT7CO{%qPW9dA zL#d!5l2T&M-h6o1EO4*PLS`0gq4p>qKWu}@kKNb7+lSi5Ua$3CM2gUcxM`47*?H4@ z$G+L`{F+xq7Heqycxo;&DbPukAUZKd{cP#>oqwFg9j99ulYx$w!mB~fSt?gBAE3m} zQ{XIrP-r%CW2pJ+KeLIaKG@?SLWlAcp7f~uR@&oH`sJ(nlU}u-8!E>BQzU!6vQzZ# z9Xa^duS`HgA;7@IF)=-m=WhQE$}y7W#DA&zfZiYY4L5ANBB$oT(uz7V%&R|O8}M~$ zs`E$}|CYp+fBmziYs9}ExLXi2$@MSK{O4=``G`gm$}-}IZ4>`HmZ2=u`YwO9O69-7 zPq@#S?<_quKf2BQ&(r=7j^vYmaLT&xwfj%nzk-^7Ppt8HinSV4jqm>@68@dr1?2xg zi?U(;6}0?kI*~EQAmw^4Ut)5_^#3!RWZp-|qs;#Ww|_^Ee}B#|xcx`y{ROxGh>oy+ z!R;5^{?L2;a;AUJ&i}TN{c@&PBlbT;* WLMJ170pakV!2RyMC6?j{~ndz! 5T4C}Ix9hm+OWG#5uf*Y*$^mRki9C|- znNvY8J>qGHg|0w_XAeuwDm7h#pUPu?gyHJdqyZNuj&!ZI6b(*Gg_SWktm3YCzArBp z@!LSOGbD)8Z*@SObB{Of3Dr#cR_#8~9XH5EU+#6A`sF7y@%S&Ccim&)Fg(h~Ru5Bn zcl9nA&3#+|0}y3-MmRuTB+J>5w6)y4F)aP#`~ChS=oX%|*R0VME|4L_T9`#7*}2iR z0&t{9jcD}NqA2yh?T-lrN^f069F0vVDO_C+1&05u2fX=AWQ0Azvdy+4g8)9X;?E)i zW#PV%yQ0A{MdPD#@$#41UE_CommcDD&Z9~rQDZfhd50s6&^HgSp8hlw(vqD{n%hn` zYP#LY=)6(}E%{0WY-YbQ3F8=iRbOM-pfaQyPfw7o=apq$kqk=x%_28h)2%iB33>nW z!hgOM>PXd(%v5XCzVtu4{K{1_40o2^Ag+kwue|){24B)p)q$!M7tH@o3Vu)DiRjNw z;EJjJb*WWkD3Q58b7=nSk^jp8waC3IHuxVD7=EB3(;bz2k2&-b{&(srADmhw|HGMF z0l=6VsxmY4xDNd)d;Mo}Bju{a`LCcqVCF|5rJhaL_=-(lng72D8<|#Y*iUWjPcKtL z998$Q5nj8d`k&3@%2kTBi*&yS=07(#8x~YmY&UoA^?#-Ggj(br=AWCu@914-_eT+H zK92fI75P70HHyRlS7i8aV&Ljkzewy)s^AxiU4_uU5a2Ho`?KEj7m582i~gST`bA>@ z!UnG*@E3{wBC(%_l)oaeKN&~;ip2h83id0V{5>!BdmR2No&1w2*e??MMPgSa@T(^F zCynS=P3$U!{)GU4)x`c}B=D;y_Gcr3UnKS~Z15@q|34-%)q?rpzcfO~RE+^sR3{x$ zC4-Y2^~=zO3Eo1YHL#uRR9cYd0I*aVC@r2up37|7wXERh9$c~lZFlnVYPcgQo-2l5Q8a=K~N+7+X0}48Fb5i zjbX6kNW-i|4B8BHP?MlI96JLFE{k`7yFPDpQr$4INPJ>Qk9 g6I)a>@@SVK&Jbxw{*nG(+!4ybcA%0K `S9=K!}Iodj0zsDc}i^*e(@bqy%%Q UM3eU_m0@?<%nyK=51dXUyl;xN@0LBi?6zm$ zi|U#mkQ`uK>POu&x+Hx*ah#QOLc;6Pbc5nhz|rA6ExaTn#_(or&dsI-b>%QnA0zaA z90AEghO2h`H&?tF+I(RGNMc=TDtEM`HVw<5K9{fC^Ro0C3Z?b(k!cdGMsL1czkKPn zyRUp%nh@`NEuu3df^mwYlPV5usV-XTcM^WIoLI>aX!%*4b+U*_!2d;GqL7IlW)Md` z!|YA&M(@qD!eIVWdH0o26i{qk0eUNsas_igg2#sv{h@O&)A$=#x2#Dl_nSs 5TN7 zM(RYPHgIEScH_0i#tf<#X+fnvr^!pl&{`?b7>E0ZO|3d%&<9F9bSYjZO`s5WRF(+c zWFqg2d%D5sB(7o2!INBPy9*U7Wqab`g+$JlQJV+T0VS5;6=-kPQkL8F6Xy2dV;bw} z*>KSQY1XX#o()Ba$TBY|J; -Do}y+cmu)Gnw;t2M>ZLRcuQIoI($wSq7uKkqFh zH!xDXgMb1#bfm(q#4Rd_w`4BaH1n)~wytN37anqT*Tdg{bVp`!6HAvGT|Z?$)jmYi z*TRZpaIvYvR{JK{D(Zgp`IA>)r{_jECX9kAsFPD(BHEVT4>Ov`*j{iHs}qrf&6*nb zz3@ZbDiTg|tji*WSW=1a5^n1OV=qcmoBV0d$M*9%0;%Qwo;whK*Hzf7>`z}`aA_1f z$<`^X?_9BR_5px`TIb84`0E+*H>q(r^p9GxEpr&oEza1ttf9xeRpB@A9{8xI`mB{= zFH8c=-PP$@gK(MzDw*lT4b-gqIfNroP5#l5ZI++dN~Qybn_*x6tUfh2I)(wo6p4F0 z9>p0zTD0^&(UNpfF&!5vhn=;9_(2-(w>j9SI*4UW#2iS>f+01=$I8ju=OPau32Lnv zAvRnfqsNUZVX?KwF4j*Xv;;5TLDoT5-pVb?){t?~6g#qiSP$!Kn&%+3^kJ&sD`#xZ zwQRxX7QKtNL1KSnT&DWkW%%4R$f8rN$$Hove^AB0{BFM|ZCCV(t>bw-2k8?Z&qbB#WKSP;B>5W5 zPR~`LLQ#W%q3^wqE0xAcz ZopM`Bdd_V<;^)aQ{6MejhE qn% zO+0^JZ)sk__2EM(R|^@QUIMeS02Rbq9k0$i-d|s7oQnr(pB&Qq(r+0h1$_r0ds>zs ztR`@t#`6Wh!QMs-u4<&hH-oqO!U(aMZR=Q!DDTR@eE9Z~C;>cSWOzA0{PM!D;iI_1 zUXMrnAZOi<^qIDq^GXohi0b}clQ7pd+vL}bXv0(rYIoHMMxbT+pq*ux8vw}1Ei`x9 z{M`~KOa%RRCeB=qs-=+uE|1dD0-RZ$^yoZ_qb|JXmtjYsq<2n;?kS8}k)3T4x3BS5 znI(_|mw=0cwn=m9SmK519U{O`RM%*mQkG&jQ^gCoK)kZ__U!<>i @ASb=rSzfu)40! z?cqHkuP@NbL8RyE-T};PX}N}A;bT0WzyV`Gr!Bz0eq+Zom88jyjF)(;bLYgR>m$>J zDY|$~_$s`5B9mp`*~rzuV$;u7Ap;V5URp9mwa!h^=(99!joUPP_~t15^fE4a4~s0Q z`0wrbibJM(m`PO~C<#5MrbGf9(}VWM*Crz Q23!XAN((m*9tbX4=HLHm(R z{^gtJ0)bvzay^A1Qr%O?iT5`k5#sYDgQlOtv)0~rI4ihL1}X~B-?(3NJPWETtU*q2 z1X4Dxica?^;WnxmjfxA?sfX)Hs!DG1lR-b9riX~wj>GDXeUbG*A_59LWp`m%98`21 zrb_hlrq-er7V|Q{w*tRm1`{fF=)#h6F%CKbH5^6w3R}jq47bV#_}-=F#ANWh`0DR9 z{n)tyioRkuDr+EtJ_t&UklerMRRJJEab{U;KD`V2WEkt%@6jbp$>}$_NbBsQZP7OU zE$EvkMk *6`caY^R+ywKKU5F7Cqy?1I zxxr%%rWTxLrz`%Zp$_&I)1%`Od9o~gOn%{ry&b5etBd~J5lp?)BpwOVOlYiwR7(U3 znwYWzqpm(5_ILCo(})dBx!{>4#iNjb9fyU9yzPmxTFSC;lhX&yk$`+UmYIAz-kw8t zFI1B<7qg1#Aseuc=lF8gMS4w^`=OVb@b<@*8aLL7k%#ZrK)2_KyT)C&^!hwQ2TW|I z0Ks79UN)#CnK&?S8?h6MY1A{(spcbHZ@+q(FP`oD({=~3RSL?6?6aSfpkug^O?esz zg-AE-&^AgB%6i&@WRM0rxb@372u)SCkBO}%7cVWL4=!g{PD=(HxG*0w_ij4&?)BGn z4xVuMsZiZ2{p#gkF(qnN{?QkQZqC1L8AiCSgR5<3#7X&vrPtGOKx=jOrKSH}W*U?N zqy+b?vfSX0wtNw1UWo2qA3)*WctT?lQb7mTR@PNts<}z{{q)VIppwR&`9_ab1|Pfq zK3Uu4GB^6p8XHYu!aQF&6E{ZmLV2y?PC0`em&g5l@;5EN|NNE>N2zdbJom)V#}mJo znVvkz@(xE@j){o9KH=4Ro7M6fDs6%lPXy6DR!?NJhP&fYBJ1aPD~95F*roao%>RbI zL6{quK5|a x({h N%}$G)d;RrBQxmpJhVqkd(jtfLi4Z+I5vD?RwIyBreb(93dBO7Hx-=n tOBa8ZHVgXQDa2(8TAk^)Sg~6 zdhK}}EY9Y-Aukt1Qfl5Jwgj&>PXER=G63v_VMKI5ycaG~s@BKKO=3du3A`mAvW@Wc zUpm;@*|wW+ag5BKEP90R-*^h@eT3haKoo_d=wiJ(b2ARQRm}vTmp)4}CCGJC-1Soj zjK=%syfk8>1GCX%jREDJ*~zqDHR0&q`#THzTfrbe?Yd&^cO?TivO7F%*q1;@r_2{J z)U i%6DSO^V91;^C80)#<``k4H$?&?z*`zZER6drSTIz^doC4S z^j(95(g{aZJfaeB+be_Xo)>p?_>6P%$~R~d70d~_Xagk;;gkuDc`y_uON|VNEleYZ z`7{cP(dC1}X0JaA75^I7lu$$)aRYW(eD|l5{fiV6Z($hq1Jmq-4QOf3m%sbM+c#aw z8_(-I=vjpcYNhH0>zhJvNIXoTr#gM=Zq%?|(br_y_Xr>7@Eqk!T++lGj=tA3N}tYe z8-+o >TNTpPP${*@evoWVNNNFP;(+bG>YH?=2RxzmG5IerL)xi8zb6&h4KCGy8uq4 z`Hnu9OOv~s>kIoHb|b@Y!Vrtiloj_qwBTkZ@dqsz>^ScgCf8Py?eyLEGR~yMD*3>M z%i*-V4OT{RrwJ|UcsydE;-CEYLq{B4r*yA5(8y^@DgVt9|7H}wS*u1?^92sw*u`ky zWgRk-BXD;hZQ!NkV^N6!`tUj4r-cxIUW9w~(mo2y1q&m{7MJYT_5-x*P?H?c9IPda zTnD!Zfi&UT?bcfcL`J$bw8LoTS!ZBdpM_po)8{7tR8BnTSh x)MvwmF(&u#t$?UH#arh`Le%q zzDGWLNbD!z;!*dkbA5fnBHFnzzr3KXUS~%XntsXd4e60R?fUFL0`MbMfAw`IA}WA# z7ioY*Ai~~V_zqkQa0y;yT386=3Wsti45cCi>sanFq{gQv_Xn4#PfN3~U79zD&Sg*@ zz5?Zzc{Om=yLDW6;SQ{STu=7|&aO#bWZdRh2gA22Mq*=#2bI)_ L6Q-ln>y$}~rEJ)#lIfRj`B#t=KuV`E3UD7A?^WpBW}{ZP6WlK#{Ove&P@)&b7< z=XRi{nq|wYa_v$X-N?=B^mEJiv01d8{`LZnirblBwzm33pq?%PHESAb_4JHX!HwE` zfo6NAG0Pr@N2@tz-V(*SW!2}6=NUe3qDEeS$@0%>2T}&+p%?kRojyB=OUK3xI#!^+ z|2!f;-8DAfJKNyruKq{3AE3bgz2@}b0R7^;*?TOzD9<26T+mt|)UBL_d1HukLYzBY zTv${JxIlXn2i}r4 &bD4T;w2!&2$wu16t+?7PF<20fb| zvrR}k_Cr{ObEZIRr@?~o&T@L>9IPxLzKmYw ( 6k8fCf|tENTxC5 O37jF(4 z84VU2l<^WRaV`-(j0tqIOI(PT2`(tNtzc|x9WbDS6?XQ^^Q!xoZLZ-DsmXde4 J4?X!2K!=ElftKIud5)apuMdUhT{;XG^g-rVMso-RlIe0K z$1akkG-OH1yyKP>8GHomiwPQZMqmLg >AGApzNvE$=l%p zR1xA}E6dK)zz)U@Fq%dse#`U16s+UBepXReN$78WaIqUpYXkhS>`5zSxnuE*4Ekxy zS?A-*&N03$pE|WPniqMIUC(6i7JsL=2$?L2(z|w(8uR>O+1z|Nn41fEVpX;`wOf85 z)6i*kvT}gFnfF;bA@zHQ+7Zm(Wi!1njF8T1J7L7@N5StL-kNZnN*<-IMxSyMJQbuF zL;OjPby;6ZV*hi%asZTw@M6-b>;|X^i$I$LX;ZfV?@}?;JwaC9twX+SimD8Th(0X~ zY69k;rUyYZH$d}x?OW{@p@asZr}_CpueQz=tNymEf8gIBQdXf^tsl&|NQ^;GeSWY% zvqS9o>U4~Ml%-#s7taJfj;!6mv&Kc$eUj2|&Po(M!VlVb$Xh z1HQFY25oy>`F-0Gj1D%6I5binvn;+0`rL7`?{9d3f2gLWtL=7q3eR%9K^Y(;zOulK z5SyC&Sjx#|5VT*n2BIlu)Yyo}_qT7^Qo^NgIv7ylLIGIW+k~q0fG33F#@FE)_0PwR z7jxqf{gd_=M#)lD1i_-KL1LZ<-=g)j?RsRV=qyXg4r?Upnf2%qpj}!A6m_aww7W}} z7kWJ5HG&wNX*W_bNAV3mEX>o?4Y@5 1v(}x&n-YN@oCafn2ZbAHeV4C>;nw;v2O1*>iT!5@?rTG~< 3xO38$mv_aMuPewIu4y*NOej~DjvOvifu^BOuDe**}6 zFYPGOs>P9m!~Nl=JKQ?~gJB}*F|V8qt`U8mvz)N|myG#D&1)aeXGfZJy-jYn*5P2> znpp$*h;ZFRj`(eiNbgEY z@8KlP|*YiDXo{9|Mhpn9TDZ`Wh{bgQKxNDS^v3>y8KL|ss$2bD~t?YKMX zr|oAn*UH$*aOCg3pN^{Zdtm=OZ&FqJ;h8oXZj+;9C@}0pTMEhr;ZL4B1=8E^j$NKD zfY>}J5^vKNIBsBqh{n? tXnS;mRWNo)=X0TU^5Kf=1|6M*hL*kz4W5nF4RoA!3gA2d5; zf(v5 z_+Fe$sMRD H0mw*zUhr%7M7jY!`oqnF?k Jf40kIW5*7@LKo>K}6^gXJ>5T2DbAW>%E6^^m&(c12 zkj5>YA;l}nD|9%QAmM9xcgqJ*MB&hL=%eRT#x_TPQmN*?SSvmOl%7Dm%W@?2xC=d> zTkT)1omw!0T{=*4j|4DCe(BxFRad8m_Onw+Kw?H?aT>>?DZPMVAQD?3D*pnvzh_wn zi1FDIJ)bE$O~<)ixEZwoL~a^HQ&I=+*z6U2AxcJ-sD9$<0=7{Z{TII*N2mzPnXy#R zE()L)xIevSL~oekQSz+B;6M+5P)# `jv&MT!S!{l0XabpY^u|RY$+IaAkKXSj zbTGBfWAv;cEx@3N)_c#o7~BhkD;;ttO0$pr7S&k>-zb=v e+T$s-;{R1?LF8@w)2&s z6)xTE?c|l7#kBl6ff!4m9x&rcw~#eLy}0YSu|U1#>}^14QC&7WRbK`V@*LjPbz&GN zl~+KtO&{)K?XBdkEFqfB+c+HI&t``=+uKe7SV2;V%U0I6V}tk@n(gm;tj*3Ez!|my z9jzM);tL+)XrIR8)8BC`4=L)Fh wy| nD);-obCr0CR@*uBxEw6+pi{;KIZuqV?Pr}l zM%wi_o;;5>1`4)neG1CR_>n&`7geN5J9G|}9n zHC$epPR3EPwkb=Nh!~W-F qLX}nDsq#oU6eXEP0g7 zD-25yZ6#2&-7i^u{0YD7*sCHtz|`Q@8|I&5>IXr@J~eg&a&b?H>wy>3=vKoF4^mas z)E mHLp=J|cVbRnxfo&zK1vBaJ+9 zVtRXA4Mj~McT4Z L$%Fw z(gN-XTY7EEqqQgX^z@XKA)zf`GYbhVgY+~hYeSL`&Xdi)@R O!01w2=tNJTzjZH_ebPHudS=m~-WY)XY!@jYZe@Bw{r?8lye^^3QcebucS--^3wD zD+h-?zeHHnQBhuQl!|&V{n`0AGERb5azvdTe!Oun&y6Xod+B7SwGIl%ps5v;o>P}R z15ebrZ!5Ldo;G?N-GwUs0n|xfP-$CwxH~IGrHL;r6AY?`io7jf#fhYqu m?iS7z%22%ZaFW$C+3+`+$Hk%)yb6HMbs;M@dc!byJfYY)={4| z4f4rzR-mN|sxs2Sx&KA#tY`;kdi}H~3&r>b8PfUpeS&`uZ{{*oxjoj?g)jmw;4ayV zDr 7W zB9I9sJa<|hjBc%ZW^Q3BpEQ+aa6ELQV!1zvM?6Wh4-3tCZtZk-4X$|Hk2@Nxc5W#3 zw0_}dt=0blnWyIu+uZE*wk)7@p691Ys5I2{SB>G96`nMS3Y%qo^>ThE5;?Sx);z5_ z9)u~)fX9Hi%V5GnsqyH8h5mhAT~}*^0)LhlNUkDx<}Z~mkey|k;HQ>vbSVp0UKFWx z^q&`L6>;Wp`GcQ2+7wh(i?O{a$8x|xkCE}jo1R40aVK3@Y)vs+NE3Dhvd~L Crq~jcha8j~ZyaZYKFscu>#2iAu52d2m)bRGJ~&(OHMxV%B7J0K$%4-X z>Wkc8%d6HBTd*id`y&9lrv5|2{+RDQ)&@`Yy!{(;ET{9d3wz#s*h>}#-Ix(+vVXwG ziMOOMJ#>w}8(jC4`sdKIVh)g>dux*mr^5e1Y7{TD=S57k4LuIC9Xwz1RXjDTr}8$2 ze-XdEgl`%6RSAmbmfhzZj~CC_`L##MnZ3O`fg0y N?0$Y+~Zc@~M?nlY59lvop z&}a>R-w869e>Q9E;_7b40@w**qYjO@Ph9{@h;cG`;L^K;6xI2h^{@@>BX7PP5Yn?> zESfxFdGC-t;?zq#xva8Pu*TfuU7D8{zbK1j(O1%=IAPc5->0$x&Qh+~TfI}3JUJik zArCW;zw2e|suMk ;iWR%tAEh83?gQ8H1MDsaL_^?Nl4>HAMvMzhTx*w?vf1>P zni8y;afmJH`3A9B_fwOxi;xS+qOzvEJ#6XD_w-=63(~*~*Y@z3P>J>6+h^`Q5l%uA zHS-DdybRivmvyN>HKc6TMdS*toKF@Wu@zUqF+6uWT_h(YJ|rHGkY;9D$yG`OfLO0D zUv7UdpAgILYD46wej~P3QOpr IUz8KX=Eswr{!v^Lr2Kbr_A4mN_`;sjRkG z(nMbNZ9UiwO1ZRh-|G(%HY|;*!LyE`kd}7kFHFlKp~c(Zauh#2S?{^;MtEQ7n`D!% zD;3dR#*-wEOe!+9G4Pn(u9l;rb}yt)w5L$_O}cU-mA~oze++v6fvE?WorcyC<@3%O z5et?)uN) %9^!r9@$mPESwP6s~KVx>U`1&sLih4GwqBd)g{225MBHk8xNfyN{}Z zx&r!Tc*SAjQhUS0VIf-B@6`r#9?P@X&MuOGpQ7V0!ba_GS(rr3q*tK&{gj5(q23Mg zv*m7HRCwzwT9E~`sm?YdiHIW)M_^6d#kIV9I7DBpsv$jF`0Md8-KNjnT-_kJstcFt zWsOaiSU?PgotOS18i?~WUw_F`W_%MPH>2Z4afOD$J)$5#`bOI=Td^1c<~h+<-xcR+ ztrY)3!GG2LW47 @B+-I*wJ`@W3 #v z&ll66(c@FPl8HS2W`K*e1&hG1ILypV=a*JZ{Nf=90_9ti-&;uPThqUHW8RaWt#|^} zGxt}|_IZDHp^ua{r(O<2(lxl1);39xti|sR83;(@Ewvt{wqKk_PmI(5G 0FVRv~h!RJ_jr5&lk|GezVm)pkQ1D`b(=-{+O?y?+M)s)pnE= zq%mS!p@$8SRd+n6?H#`E |8r7OUo`eIK2M&!(}kM1)H-{`01=%#UJn>0GA!q1`YGbiV@iszrXhtG%cRY xINZcQWa8nbE=nCGHX_IJ z*?gebZFwisnm07UBx4V*{9`{Fi AX-lj$-yBm&<1-Z9A7!TOK8d63ua+901XhXc)KQiyaT;QI^jY3P6D5&$mIy z#NwiQ=J)VTZlNH>ih8Z_F7Gn&rOP5jYau?KTrjY2hEnjTJp>2kT712{4y`8?$y9o? zo9e#Vw=OV1a&!cfE%jmVZF~Zy1Dgz>Me%a2@8lD{# ^L z)0S2H;D36HORw_FMb5qUHsad=npVtl7a~v3Qwarxn+}5D{W=wy$7;}xvEYIN8nsMK z7>vdN*yf82Aco;}ge^4M!DXEN{d4;Idn Xcs?6{SsG#_p`Q6cI*hzVesnlTIQ9=Lwy*huFhU7to%xK9#!HUR+x5y~qIZ zbiNl*!wol6PY){n{H-W1_6e%VWdFdqwYAdep%R-&qyQosu_IlPVc7vGdTip#86ejv z2??3y2!((R;Eg68bgjvPIAm;vJrJD=cA$|;Au$M)s9hlUGQ7O+kkY8!NsY7>?0xCs z?OjOzM^rU%uk?OB6Nm!m)j()Tp?-$2pBdSGviovzePWcKU1K{tW+`t-jQ}fhut+0P zdZxC$ET?GK;uXlO#xEqJgdpD1$i?y@7$`}2PYOxT?d#P=WsQ4Clc)iSu~PV%dkf&@ zytCArXejj-l{Uy+U a zlmXo4pdO*lp5lJLavRr$Qyn6E32!-stJnrhM3lCBU=*Q`Xgxd85(-w@_94eFxSQ%u zd+^y&t%^-w`=RMFsp1xv!*Dn5l|RT SI2WimkfB#YrGDSvw8i(-WR-Rp^n`VABI5P^mVRJg-2GXhHm7ZAegP*bFZd45f zJ2q7wCT%qsT~3Mr13CY-IQab&MpxBlgKF51_~ZuO4j#akrM{^SZ0cKM$*@zr$7YU+ zN~_OvrcU=m2RCvLi>?JYGdn2&85|_9FZmi|(AM5%cRb)$ 4Va7o7h3*R-JaoxdZ0kED!^6#Jxa^Mo zc?(|~b=t)5EZQnSDdI+^|BuPsG6*0#@c|+SB?2>uihF7jMB;?qkcJ2ph+^CB5s@Zr za*b_X-?;&>!Be};0pINlB{Qtn_RxYQ@Z^x)@6rzC&~?;5J4hdmCB?YT%MlO~zhXn( zW;lI0CwI7V){wRFIjuvCmfl}hxsr!NIpU`~$$!&^GV!VVNp_)U4BQdXRP~93rJLU2 zI=8L=`X?_XTvU01iG`*(8irT- 4%JZs(d2YtGtQ|QL?N*w%6y4aL( zqm%{}bLljRxETMc=D!~VlyRW&|H4qx6a~a)5-eb%ulVdOY5H5IXQ9V%lG~B{3f5;i z?@-}rdYWNsx=5=pI8vqpzo80DCRww=P =Z#m-d)$GziRrvGpW2^`GL{@%_NPe!0eVzd7idkD6(T1h~v#xwYZtH8$ z@X_M!pX1948`aLxH6b7P5rz|yp8C1_Rx<&C`L^)pnVkpp0;eVMz5UA2sNVVnqv6 }9vhts(&Q9HbRcE9=SRk2N&$Ft;ZOww&ac6|JFQ!6vWi<<*`1C@E-)Nt>9 zVR~`eIJl8>xB|w5M*Y!d_DmgYRNKqMgJzDN3n2sI)WH?cug^!Q(Ch%dAxkBdWE07A zgF=`($wQm1uA|m%c7eGhQ`91!;QP)0F z?OBZthdR55F~nR-{!D3_Kb&xQE(-L=TmGU52X{xiv+SKtO`_Ff1O8O4FiL6DrMY{7 zd7mkB`GZ`us(&JZAMP;*wWq9dwLJMIDi&2Tel|r)zec!3^s%AIeWV?8e0SWJ38NwB zu*Qb^4k|E}Ondg*uQo?jq#P7Eqd7v(R%O!TrDF=bjYgw$7*dn^qw+Xd2bg&(Np=nT zq(*Cm@Rz0&fLY+P7yfJrwQAlQ?ndXM!Lh>011&$?^WPib-)kxPnK3e}{{OM}-O+Ha zUEe245D60mQ6te3Eh5nwA&Ce=h~9}1U37!Vgb+Q^J2?^(y>~-IiQan|C5%4$V3_%C zIp@6ZInTo>&wAFkzO}ymlV!!Y=eqZ`%WwbozV@XC9ov4JG`az@VQAZ2VI$i ?xy*?f9}GHs+G*L>wE`Mw5lh}tQ!rD$vKbE2f1`i-b2FzG zxi9_x>cNDEOVxa$JhsACk-Bb^*VANB$;49?Ub5p!X9FEMzRmO(wH2m@Wkz|X9qBmO z0Bw+&k dCCAoR7@a}C_hoWoCY-JY>2Vyo5z%d{E6rHCBXiS+&pxdWAS*0)8P_q ztjN0Y?#4Tn`ics)6C?7wx{<2}2vOnja09__joQU@C)~=R>f6%bp<#cThwI=#@BYF9 zC3VLGY0U)5D~URtgd@l6Tx}UJrPD~4r?i>k()B39omZYyQVF#^Y}FE(n;`6!O8b6% zK<-DWCYApM$)554N37byw_@qTc{mBQbqr<7z-hvt*tF-bQSex`W%f@yY0VaWd;fk{ zWJw3>tNk)u&gf?X4%4Y<5E6S}I34n?o)plY2UW^1D?!H_CSVw_b@sJS*bBoFZp2WD zwNS2rishc-EmKA_V65wd M9J}EZ6PSfyNpfyUb&{$Eh%5v$M#D^Q@ zDpp~DGhFN-l#|dfKVe|*%p=1d*MuSwKnD%ENtSazXc14f>p}Y+AWYIxhpzo|n$c>$ z593^IQIU*h=`05p?zcq?vnHoOv}`a7*GtR6`Fu6Y62*5&UFPUF^w>g7)lJ<^jf2pi zW}y{ZKx@b^3B$qDbK4amH0kMVEC)7C4n1!9Ii<_NnOdws!Ko%UN@^y=SYi{js_S5< zhsv@U(uE}2W>GIyRaT^H7x86|McaO&MwEuIp|sUmcXn%95yOXNH+>w!d&4PP=zN4v z6yYg69*(urLqv;Uqn4-nFk)vsHX2+V?TA%}*c+e%I(D`qG`R@0wE!QIsxuBx;@in> zl_}$@5kh!6>M^Wm4Duc(hNy;vfU}r#X$<)v$dA`nL-C^?( 1-d$uFn}dtYqZ@_R(jZ}WERwSDcsMA%D|RP$I@R=vfDuq2b7SK zb=H-*gz77@2+pEs<1-=B#L$s#4SWEp9*h^G7Q8&@5Pv$%_N>e#*Ko~Kbi ~#Xh+scsjC_i7q&LrU0!sobFVF<5w;m4{R#M`RQMT>JixviNGJ`KaXSIQ`Mi}? z04^^MXUC>E*lRy=x81pMl|ktAz2W76ZQ$^Z@VlM|xGTmQLzFvB3%IGUOo&ap% EQg|-vdwRryTB$CWS-$C$o<{RtAhcYA@vMfSbIkbwt0%S#Zg-Kfa>R(T5|_QZ z&xmoB>$!Xh^ajytfQQq=U=J^0o|SyaN|`?1M|}6kL2fYAQ(UCl3^%rDX$Ieox(>Do zn>KwmTUX*RlGb3(tdI2tx;R1XzB6(A-TO1syAd0NX}(u^*lYp0!DTSht3mkdVc;dq zV}o^wg@F^a*i}Ns)Ew8KCT~y(bmdGlz3^8&gqXjd%Vs_fwh)7a1y8vIhqQP018Pre z4^!GUh#pV$TU&rZb?ue1T6sGSJeuo7nm>oLQ`fs^MZ`95UH??S&h&8{%g7~q1>A8l z5+DMj<|Q@+gokD(@^VYU ;GF}R(O7?JEcrHVgjn!1jvHM;F_QWQS|7!i2jHk+?ZudhI42K|U^S_6n; z(82TgZJ~k-O+|^1#N@EOgYaTZ)lHw6TBw4!GB^Tc>~3mdI-RQcoIsKp1<(V;M `YNH4T#{&FAgU$gYaMUXXIU1T1ctwA^r=e5#CLhU^|AJd{(3O%cmfvHE-@%OC zS5o$`bH9Tx#Y<~@Slg%c)54NP%cP!58yiGh@qx)zd0{?lu!+F|CT^Qm2X?PvGiQY| z<+*cviF>Ot4&W&B0R_{}cLaFBOua!ZMJm;@?vg~E^2Ad-ddy4Z667qcM@cZS3DBOy zO8L(F(yngE!X7tMA{yHvJk DALw2K zB=0U}aF*o&ThI3>)alh0=KbOO@O>aLSdoNaCgUq@%ncL#LichGCKgxyYKC77j(+JV z6X5jOX`MbOm?Cmj8J(f-xZgN&Tl`D%C$3}P;kr01-!;_IRiG~pFeydeUokZ;qQBI` z&{`d92<53ZpUPtOAxFdCA;&b8f}rdX;2@I_VJ-zer xyHf(fn1+Acj&J^u
_r4t%uss5xakrGR2(~SD+Qhy4bw&d9waEH`%oP+6x z2wQA81G53Qf!Fo!x+-Ooa6d@~@9pK5&xfa7{2(${m}5dPXUUkByPn)@z#lVZe;IQ= zjop;#BfrYn4w@nUTY>4|R#v;rkk)vAmnV DszD#D+5yfq6BXlk&n;J)UwzMrb zLAY}FF#C81RVzan0-2Z3J(79~Hw@Z=<>Fd>arkVoiD-k{2j9=;b>sycU?SE6#(AMU zxbP%kKs*C;DLAO%4ylZOp-J7V8@69jEiTdSbzi!~nX{Q%p5V+^Lbf+A5;e}9ew_)C z9E6%N)kW{u6dIcVI$ncVui6O@2Sx2vu}Vk`v {F@$se-GGG8qN6J+(Zy`FAU8MKu9A8Crc+=fA6IDwhXFtO#K~F`A&Hm zVTo9pv 06|~eZ3%z?O6g{g{IJ5o#!^*`M2mF>75C8L0kyDBNtR~^x~pG>9_#E8 zgfx-{oa|6(NAZ@vq~(b{Gy?Fp%LRXG!MXm$B#Lw@N{Yt;_@JBxFNn)q^Qq-;Mc;fV zW`sohmRq)z8@;@ I9tMb$kvO0bwL1F>$^jWEJ@TKU9)R1wngy> zO0}KsmCk4RS*<1Oy2MonNtai_#o;n>4YoQ%kHqYaEuDaijPHOP!nBN@_iz`24}>KV zxOOX 9Pz=KnLpp ~eKiJ|S~xw)C>fPviGsZ=Hr zcpztfqabyF{`jyHBm~ebjiUkaz+v_eq+?--x2V^T40^ZWrgwjS^^VA_mF_FRB|dp@ zw&Y;MWlNIx+*Eyx#k-*Ji!E^o<%IBXk*VEXWAiUfU6|ku;QX`9MS8MDMjYd?uZqxs zIIk9{Gr@dfBXk&DfSF#K_|=ID_io9NnsKmrq@bOEQvns_rGXKs-fQPO<&@;p8n<~e z$6~Yjwvkm?ZvH1E21lTJO&ON$N3mM-9i;+>xjk9ofs~2Axz!)h@(qwzC>s801_1e_ zy-lpW^mO))VqnPUXT|v3bP@sQ`W5>n_`kw;ky5GN=TdQEg3%7l8$bq6+EP^`diJHZ zDhA@qrEY*3UjHdleJuSkV!8MvX72J4GpBWRhE>Y2jU=mm&~N&QKb!o7>gZ4T