From a4b8bb88f210de7fa2d82fe64b48331126eb7462 Mon Sep 17 00:00:00 2001 From: Devin R Date: Wed, 26 Feb 2020 07:40:31 -0500 Subject: [PATCH 01/42] warn on macro_use attr cargo dev update lints use if_chain clean up alot, span_lint_and_sugg find imported macros for sugg --- clippy_lints/src/macro_use.rs | 68 ++++++++++++++++++++++++++----- macro_use_import | Bin 0 -> 2816064 bytes tests/ui/macro_use_import.rs | 12 ++++++ tests/ui/macro_use_import.stderr | 10 +++++ tests/ui/macro_use_import.stdout | 0 5 files changed, 80 insertions(+), 10 deletions(-) create mode 100755 macro_use_import create mode 100644 tests/ui/macro_use_import.rs create mode 100644 tests/ui/macro_use_import.stderr create mode 100644 tests/ui/macro_use_import.stdout diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index b1345d0b751ae..cf526409374b8 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -1,10 +1,11 @@ -use crate::utils::{snippet, span_lint_and_sugg}; +use crate::utils::{snippet, span_lint_and_sugg, in_macro}; use if_chain::if_chain; use rustc_ast::ast; +use rustc_data_structures::fx::FxHashSet; use rustc_errors::Applicability; use rustc_lint::{EarlyContext, EarlyLintPass}; -use rustc_session::{declare_lint_pass, declare_tool_lint}; -use rustc_span::edition::Edition; +use rustc_session::{impl_lint_pass, declare_tool_lint}; +use rustc_span::{edition::Edition, Span}; declare_clippy_lint! { /// **What it does:** Checks for `#[macro_use] use...`. @@ -12,21 +13,27 @@ declare_clippy_lint! { /// **Why is this bad?** Since the Rust 2018 edition you can import /// macro's directly, this is considered idiomatic. /// - /// **Known problems:** This lint does not generate an auto-applicable suggestion. + /// **Known problems:** None. /// /// **Example:** /// ```rust /// #[macro_use] /// use lazy_static; /// ``` - pub MACRO_USE_IMPORTS, + pub MACRO_USE_IMPORT, pedantic, "#[macro_use] is no longer needed" } -declare_lint_pass!(MacroUseImports => [MACRO_USE_IMPORTS]); +#[derive(Default)] +pub struct MacroUseImport { + collected: FxHashSet, +} + +impl_lint_pass!(MacroUseImport => [MACRO_USE_IMPORT]); + +impl EarlyLintPass for MacroUseImport { -impl EarlyLintPass for MacroUseImports { fn check_item(&mut self, ecx: &EarlyContext<'_>, item: &ast::Item) { if_chain! { if ecx.sess.opts.edition == Edition::Edition2018; @@ -36,18 +43,59 @@ impl EarlyLintPass for MacroUseImports { .iter() .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); then { + let import_path = snippet(ecx, use_tree.span, "_"); + let mac_names = find_used_macros(ecx, &import_path); let msg = "`macro_use` attributes are no longer needed in the Rust 2018 edition"; - let help = format!("use {}::", snippet(ecx, use_tree.span, "_")); + let help = format!("use {}::", import_path); span_lint_and_sugg( ecx, - MACRO_USE_IMPORTS, + MACRO_USE_IMPORT, mac_attr.span, msg, - "remove the attribute and import the macro directly, try", + // "remove the attribute and import the macro directly, try", + "", help, Applicability::HasPlaceholders, ); } } } + + fn check_expr(&mut self, ecx: &EarlyContext<'_>, expr: &ast::Expr) { + if in_macro(expr.span) { + let name = snippet(ecx, ecx.sess.source_map().span_until_char(expr.span.source_callsite(), '!'), "_"); + if let Some(callee) = expr.span.source_callee() { + if self.collected.insert(callee.def_site) { + println!("EXPR {:#?}", name); + } + } + } + } + fn check_stmt(&mut self, ecx: &EarlyContext<'_>, stmt: &ast::Stmt) { + if in_macro(stmt.span) { + let name = snippet(ecx, ecx.sess.source_map().span_until_char(stmt.span.source_callsite(), '!'), "_"); + if let Some(callee) = stmt.span.source_callee() { + println!("EXPR {:#?}", name); + } + } + } + fn check_pat(&mut self, ecx: &EarlyContext<'_>, pat: &ast::Pat) { + if in_macro(pat.span) { + let name = snippet(ecx, ecx.sess.source_map().span_until_char(pat.span.source_callsite(), '!'), "_"); + if let Some(callee) = pat.span.source_callee() { + println!("EXPR {:#?}", name); + } + } + } +} + +fn find_used_macros(ecx: &EarlyContext<'_>, path: &str) { + for it in ecx.krate.module.items.iter() { + if in_macro(it.span) { + // println!("{:#?}", it) + } + } + for x in ecx.sess.imported_macro_spans.borrow().iter() { + // println!("{:?}", x); + } } diff --git a/macro_use_import b/macro_use_import new file mode 100755 index 0000000000000000000000000000000000000000..61d3a827f1f77ecf6d8dd69590a42eb2cfb26354 GIT binary patch literal 2816064 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

IRQ1mo=!3=*8==7#byEYE(;=I{>g;H*O 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

*3jox#OK#(BR=~UryTHkU8@f8JSo=G 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

3^#I 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 z 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 (UOi+EP#LB+>D>qS+b9*V>({78Nf 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%0AhSlC;CgebPN>=q(i7ypxj=jKxsZ23rEl< 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

  • 3|5c_6MKs3PDKr@qr zy_=anAh}hcis<$+ne=nVy5{&H(*YKNW&IQ_QE|^Jdg}T}RSIN+nWrOZ6A-2Bs@NhsVu_ zSU0vei#>jo$M+-Hyplh>VKBvhKQEEcLl>DXvda4=0L(1)n!SRvHQ~~q>-pPM%SITw zo@!J@J9~RyK@kM&rAk&cLIH#%b>8bp5(!k9mrp>?W4e+J%B)iG7gRtP1!26CfPj3= zFXzRCWOM1X4a?JU+%%I`!|&PR&8KELwcTV(hxF;K)EVkI#7<*Lu8?A1^TOo%ABLeF zcK2r)reg#M#n~P%>lrDKT(A_|$gEa^Yb^{tVWm42A_3e^o)6WtC-_bdA1AF~qc{d! z`?XcK<)L^4{>_OTmbW@?E}zL#%*$Sx4Ga%K`^$0hSl}4KMDT&EtAiO_W>p;W7zpxcu%u%)Wy~gm|o^d2<$X z+z0xVT{mK~JR&w0R_!5atl>1@PmmLQnA&iIvX=eK8Z799he>wlN>fXmTz% zq22nF=|jkq<|ayg<-_tUq*5L!UK0eYZ=d+s^6yv8P-3f4iWqy_LE6eDwQ?GThKtSo zZj?{6iL#~;DFd#G4wq&R)9AM$rODe?)qckM2lT`%23qo#rOHXj%gCAztaLP|R`9zv59jL)3z zstg6H4!f!=kn7d@Ua!d_L;+Z?SwsQKtcA|3|9j#iX0;pXHpz>(*QscO~vGwP#XdUgu0~Bq{5=4G$j+ko6P^ObhSJ7ZKa&xf1AZrnk8ZN}h+K%|#nwLF1suIhc$xJDr@!$No__x}(0{9d%O|7ON|AZj3pFsZMPMSX$R1EL|TA@TeQ$YB#_O z0W7`!<6-GV1|#-(BsjyTFz3bK+HqYFn?Xg(m%CJ81p{Xhxkar%u9qbi1GV8q8w)GF zfe*Zp+ESHD-$ySN&f_lg@kJg-v0q+Bonw#8#79 zn9YitchdL=7hLuZao4)ms>240N_Sq)AvD#baFs-a@bz5M+WY`Lm!0(8R^`o{TZ@TH zrr@`xy^m1DRR|TLa3`YF;sI%v>`s}-*cTCmSE|B+ww3ns)TxfO192&(G)MY+02!!V zUvP;R0Jx%(IYhu~Id-@2#;3{=O7UFR&XSIhpkA2PQ2t4~-?k2(l~F$IQfr4lU(S-D z@i)IR5mQU(w3f6|adYkGwY^a;U3asrBFx6Jms(l(-E~oz@wis*9)NsZ#?ywb92@r~LmDPi+#Os&RN~Q${@XT?ZTZmcM~Z(>9P2 zJsl(Zt3w-D6Kvq;{su1i|K|ptsEhISG>hm@Bx-GQvV0N_8<6FZLi7%+yk}|v+FWxk zY6%#V?c#4Dku^I7#apxVuDiK179}yeFx7{o@3F-DG&pB)!rRtS1eN{iWRT?dr_-85 zah4{08Dr)2Kvx6;bD_{};$)+3Sejv)7j8DqXZ>kjn?6nMs8ysqe(TDo-rs!w1x)x#TM)A0sQ#L@DIEgMts<8{kyiMb=YLb_PtnY&^t z;F@b*BWq3ZV0!tP`8tNzn7ELS5S;Sih#TeQw>3NV&`gBAd~XNy62e=d#AOR*XDP}v zA5rAnNc1pw9nM2s^M&kY^b@W`?9Av@k}xE6yn)}PeR%QAsH$H;@J^1Q`uGy!)q_8+ z#~D8Cv!nmvt>X+u@yX9Z9&QLG(|fH8d1>ixJL+aD9p^nbRdJaXDBnWN-0j&s4r_4D zVCx7B#3hxgr}Gk(W>Wc|*{l(b=^N7w)p~IHtCyQhDjCIeid_<#3tU%GOMR!D9vZ=PsOx;UM-J)b9y!$ zuBmdJok$U97*`sVfbvW6WIx8Tb~HvrTuo$zj%CC2hIj+(X;t=Vs_LNCf}srnT+ZZh zHKDsXF_EMP$UU9^1%d`SL}u7Y7MW+^3j3LEsBO$tN-_6A8L+Ne>4VM9*)3#2!l})f zOs(@?44Y}AJ(%0b$E#7>nUGU#>ao5BV;`w4;p)#MrImu^*7m4?6sFL=atiNF;Ch?o z7-;ytmsy{JL1pYa=K*nI&A}KcqIjE9EPU^BJUrx$&oTen?t!jCEe&|^GN~FYJO7FL zvMI5UEp#0%Hz_|5>#AV!$IaQq^7;{1C(gjY!c+4#)dm%&nQN}MV~+TK*Be={QD?V=)h1wfWn?@F_5 z!Mz$i_dn6dvi`dfr~E6Uv;dXPc(#ta5E##@fmv#NS$^ji(f~N=w;paj`U6@io7A` zv2s6I4UuoLeU*s;*S$UB=JyR4CM8Z@fuhZyhqD8x-NVf-iG&_t+^m*4=nb3z!~*uS zdi82=fEismn#n6)P4VCLH9I)mk=A%~6S8fr9sHAaa2i@Uws6@z zu{1u0l*eC#TgX-9igY-aI}q@g+R!gjC;(mjXlTDyfwZj}_%l)TVul&UoXpPfNx@G{HG#(cVY~#D;OlYt>NX(T)(mz#apycO zH>_e2h;)d}tFdY97JMr$f9C+|Z?B9<=|)|`(abNTS{WT6J!)uQDLgGon^bbJegI8x>Ip{og6m0a%O+i*Wgg07HilGC(tv+X zsjZ$E6D_EJjB|4}PR?gmV=xoq0#0g&bm|XQ3R?k)K)c5d5f)<`h3|}E8 zvX6-eg$P`XD^lTuT$LJcCo)x3n%B{kyUam^6De~L)d2jnBBK>sj=GHXjSoRDFs1u$ zQ(mPYgaYJO0U$A6^*D)i&bGC4wdB5{$N8QVjbx-Vc`c3Oh&d%)%-yhAwEf@!j15Bue zdCxpsEep}vL`B1sbT-M|{8E11p<#b5@GWfeZ7N76hEv91Pi50;HVPy5#Wc+Dn61IB zHb!5<15oq{uB{SnJ|huy9yrn3u`}lN+uV>5r1tBM`12hGLv|OBF!N>)7?SkdbF3TBH1zgzcFLNUZj#f`X6X?(KNaU)z|1`JLY41^8tM`G5@w5}*W)t`_dGG1U6cKt zM``G@w_-9dlOW=o+$P9go@u1EhkPOjLKwzy*D6}X=_xfPN$dh8f$Z4-fK@FPn|L~f zwCKWI+P%r-q?lrkS&T)0`_X(;V3y!#h{oC6HA}^R3(Q%RItyTRgkbdvi_vq;g|o<^ zbD|fq#9;BPhS(v}Lo6gY;So&Z#W;CVZQoa%&71amm(MXL_Vql9TPoM+z>iv)=jP?DUhsEH2L17 zkp4{iZK-aGlRSG>&9zJtK3&KSBo(q;pOmI9c3YZw^CwF+J_ z1o{Yv1b>h-Pi2fED(3R4=Gbr~D>N6o1Gw)2=6E%lZnd%9&2+j?7%WSk=@wnetQg~c zAq)2RWFsE2K}Y6-9&ntytA{5iD7Jwv9*gSmK|gaju6r{4-J)Wn@PnKr^;SBMc2HNt@EfVJJuT@`7YE81kpUA0(Nf{@ z&=fDRQ>2bMbA&@oEMr!`FfVqMzj9Zzs!Mq=U3oRw>1vA-=1H8526Fvdx`;g1h_0j8 zDzL8A=B#5ov^X8>9gdEg)U~@HWkL`NZFsM1o@0V(HnP{AISX*q;;y4)sJ}RODjR0XGY`1B zp;*By+nd`bHFFj^Zd|paLpD3@<(&2a+=D5%WT7eXYfI~%hB69GbP8L71bp7J0Ir2j zE)M~c%IN|S#H@9()uifwa*)7zMh3qh01_ECRtwy0V{e{w*IG~ukbO}S4X+8 z2Dz`+`d{7J(O1v8ua0nE?d-m~&;M$5M_;|fd0S4wFD4P1$ZK>ti|Qw4y@HYwDCx*+ zg-hs_v6fgbpz#*UKY2yJ;ig;?E06W&CO$PwDkG}@QR)-~n5DmKXv?{LV*RjOqw-h@ z8}KP**JhdTCRfBt%v;0;&q5&la+W;h{>IxEhzZh@t5gtbAjIXF!WM53vQr-JB0_cS z`l91e(a&PsYq{;Njf%c1c*wq05AG!o%(M7K{vW?@SESD@)b}3}Z=R1$+M>;KVN=nK zV4se+C5zVC%QZ^pwFy5Pjd4Z+x;$NmHIvX!QKVE9%Kr}KUOm*sb|}eF&Nb>UsDY@@ z+B}+UH}b-uAL@CkZO2VD^l624-ml>XY-vSv>ZG6+?LcpcIVsOYX4Ot|AbW;-Rc>oe z3Rg>I1!{j(oI;U#vn!a?Ts%uyy3E{)<`zxsD+;i|rP4ms4ZxRyn2=ebFY1%y!y|`i zObB=DCqkM2C+74SWTPi*mWl32)~r$9R!h8{NCRdbHPV)ne+)la(mnU)BECDTOb{Xm zP7db+N-^b_x98OO@WhVZPPi4|B=3|Cz)91(o$h=_rtFb2jBT5ZO_; zYaK=AH2G$TGMt9j^a%Woeadp`@y*gTKLxi3E1vGUs0O%l(9rHfTIP7TsljlakEI%H zk1wK&SC2Z;Ugm}4F)2ZuwTrDT!@k+9*8i@VF7wUda8!bjv&n>o*2960@91aI&=t5| z^kNQQWg${ohmvI!F+WVl(~IlYdnIoZHfcT2%)4{Y|?ed(TYmzG>C66 zN_V$~)+hhe;{`X=6SrnW>WRZQnD0RPC5XvIWoE&&3g%>Sg8Y2XnAr$+(Cip$#Y{m% zk$JC6Wo&be<^HbhydbK9TH+-f`P!}y!fu`FAWVRo z24N0*1Rc~whI$Ch0NY@Savu%QmU_K`h=vkW{7>Y{3z7<^_`_@4zd+46$UFmMl2Gvr z`|iA`TgCPA>6fK+8J5ysH2Z8C_c5Vjo$cFMFLK%mZRS$?rMZgH`k42Uu+J175VqpD zR~}D0%BBL0JR&vjfD;c^EeLG7nnI zQ%`ftbZR!b-+O8C8XUkb(e_+Dtx=ca4${01P@NWB;Yu(8CgK%lype>+Xm|H=+|frfns~lDrW6j?qK8dso8uDPC+e$sd~6_v&Q!0)#z z%Wbf;ok^_MCf3y@P((=O{0O2GKb66I@w`yvT28FGto0qPooAcF*g&uEdjh_ms^(UaznD^);an6c(A8I@!y;!y@uWDO65*N%L)iQ*<^@2J~+u_clWl z(&IVrwn6yMK)wW_Yl&(WIs}opg4WB>uK0*V{6-AlN(Y9taHr*35O|6kf4(`g%=_8j z?0i=Nit6g}s`Pe6U|P0;=bL6R7iz!xPB}EXdzY;CeU>;e}Mpy|F4h16e19k z+tu=XZlcfNHEVGZvuZ<3wOW`tV>XQ~>gC6m2yLUrd%vSM>4bCJ!%v<9Fxsb5{?N5>`}9j> zf6T1E(k20VA5Txznr|Xnz#$#Y9~}Mz79b*%E4S)K3poq&oGJ~-v6DGtt_27fWCBB#f zg7ZU2GXGp()49G6 zvKwk133t!N#mzNy>0W)D)!{KoTP5r-D09d%d`z7_>-3nw6y~=|#G$hfW8i?eh~j3O z+5(7autH1cZ<{UE7`)Wek{7~$v*Ju2%&M2j!-fLDHZm5*rh1>HC1;{ObEgz;3SByNZxQ>EJyNMUMT`&%ep-2m z5#_WIaIw1Ql6ftciAm9R`wB9XMF$!kN1iKSr%J$Y_hd(pM5>0+T$-|=joV{PjPB_w zedBL$L%ZG8hu=^>5ObJ56A*1c-7W0%l~M&sKC)DSp|d1j3F+f4k}Y{ztv)1rYb$ej zqvWhSv#Tt7Zg#T?QjUiEOC(AKIU4YnNYBy0UEg3` z(kV5a;GQZhZA0%zx+EymqW=b)kd2!SV%r7}ze9PZ|Ul-J8#lY{ofyj1OIT2rjX zZpypF4YqBHfHW;}MR=k$|K&tEl0oKdxjpLsEk~$nH&;M`+C>ZfS&GZiEQdmG9Yg*G zW$R=(Iyu$E)3%~&)@T<)DyQ7LcFioG=g^JQT}aN=)AuQ@f&Q_~8s!mwn$5*?T9_0H zjSHecj5N>}6g6AOc^kn2^`iMEu1loc9wB{mE0oxi3pT_Gs5&_x(a4U1+;c1{al2Bf znK9}=-)bQbl*+h*NP9e5Zd1UL55!UiwknTd5+xtKUtQ|va>iDUVt>ExyIj*j_g(7i zzU6R{N%t*j_AYW*THUujqATFEoz@#=7Eos0IWemtzX$3|rrqSGZTTl*&tTeCVUc52 zPp6I@7*A*x6ob+ID0IxX%(L2_ixkxdQpG(C1)aj^R?j73bbew0t+NuB=+P$(hKBSF z;=@r%*HD6}2Hxvt=!4q7MOF|UTzxUDjMGWuXjZRxadR<2jEP2G9L?q>9=9LhL>P~j z6=Zs3bB!QyN)65(l)9ToMA7&*jSYxn82VX_X#uIvt_zkFoyuTO&VfiX&%$~Jo(Pl! zkT+1bPH!r-ZvCr%Z=x7Ib^BDl1oPNOh0*{K12U05sY%j%GcEeN&Sr9zrF`2E0e)(v ziL61j{=cFZg=UPa+|gG#g;G2jWM1@L8a~O^diF7ARI?2EIBddG(k{>@NJT98ETSwA zn3j4sKmc*EP^*u#wY>dsknunJmd`}B$pY9QvfY}{+A1EEU8&tuJI2fST0m4kkD#z& z3`{F_j6yp`i$BI$!5H7PjRA#w48GfUzzU7gyxCJ`x}$j@tI11Tt{pycZu9_~_~Dxf zT>l~pg2u!)^B239{ztUeX1l!!HMR9LcuH!q|Cy7$f{x|F-OD@xdJ(a@L9v~}jE`H) zXv4flXf^2~zEG*Z`MzFPaMBKcqn3?mY3&0ovem8>^ z@@DJH^dJtV)XjTP8O{N*MkcvO;8|bKvFDkaQ@SI7?uEQ#nQL%!*$Ibpay<(ER#+(A z1AkkXUp=@vyH?iUmKfOLnOL34v!C}d?-M<86N*qMEVk6u&2tAc}GjDl>3Nm>b16_e0NLrpqnz zPF=^%t=g~K^dd#hJ0oO`p@uei6Kl*(g>cI2CnzosLU=vuhY^B7?5#=`_3SRvd1zzd zS`Sr~3izURyP}npE+#&V!4u|^Kfv4!R;32~T}4rINyH@uV=0K3L12suMHLFn!YTFk zi^mbW`=axpF(y7W9YoWCD#HB@x=M}wqP6r|r8*-{uC!W)Pnp*4=0&Ujw4+}t*PN$Ig15kequYnlU~xgbUafWgx!>; zy9VIXQJ9Pl>SbqM2i++(&Gyt{W>0Yz_NI0a*dRHuCo4_g!U1=gT)HUXui-u+TO@XE5sGbsBLB)Q)jLTzzM!aSP8I!Z}9^N&=N zblAF$>rpo8LzNcg)z;=+WuosIkM63})BQx|5V%QUi1+!8>IX}#c^Na+03KY96IJkA zus5m{tKSC@3O#&)GatyqRiMIB^Y}Dq$ZM3^-4;zXqPc?5=IOp)L;e?60=LC4fvaqZ z`7mZ+wi6&b1K@dns9kZ%g?OsZX+M>)8$QWW#hDopE$yTb4mU+1B^n$KRkD ze}ml5&e9NSTWS$ROTo_{2?F+HS|xO6sEi~gab1=|fSd;|jh&@0*nao53xn7QlctCr zjswFCngPGH&2dLv6T9OgKVSX#m)F+jG1=n2bdaf$1E}4~RKv2U^ z-bOahf#xRgVov9$8tD{#`Xn(H3evb7tH8D^akqGVHvGs6#UQPtRv>403E7I2vrk92 z&2S5AxE00gET(O9NV4n2*+lH!_nq}B;bcpbNtzVW}i2zEi!)sDv&O~XudHP#z zW6av-38H4NN!=ue$l&A^sIn5z=U!$Vgr<|3BAagJ@|}6AifC}~M(1e1@xB*YU9Z}; z8gBXA=&vJ*vk8+qfh(fpe=H)aM%$EnnMKi-PA8-A^LGB{;mNr0h{xvG@CuDuQJOeg zK5NMJAd5RuJfK`R%k$(on8DMKs|vr=2-dW&hKfck#m%rja5GevD7hKd%gwMDXn6QI zgqDMqd6hNa3xkqtdM66jL41&tbvvstfUmZvdF5Oi)g==1GC~Y5rv$GqQ8Dg)E%otV zO$%O~=Uxfe-sUU(70u&lLbbM=@Vge6oP|HX+k5p2G*xl=w@kUz)Q_6E~n`Hek!& zwJu}rDx&$cCCKOH3?w}8F9eETlXRk(a-lfakR!L@Dx?J!JHbeGkfQGzjj!+M4+M{-~*Y5~`Jl71N zGis9HiFc@Vk-W{)rJ`|()h4ge-jL=9@TJLLq8ozHI1h@(*5991&#gs60SDcZ#def?=M!%4{;@>*6i{tiJSSzynaS3&cNw0~3luIG0%|N4x0h;Nbi6@fZmTKK!e z;^ZFYK1ij`_wcrR?ISO+-DbB?KAArD@_Lxw4t*Wo7FfW+;dTz(3i@x4G_c+trqLhb z_o|HHU@jOU1A+_>v9%lG_id=v4si=$qakkbhj_>z;&+=5kpY*4hv?^q_+8rua0#(S z6Opnts=^{-3A8~6TK`<#&!LL9fEmH*9$Mg%wXB|JFTK2#*WlZczu0~wcdF2hebM*m zUEcl$vA*_;YvBpua5)bnWP9IDoH;EUsK{aA?A#%7#3|G;s`3dMZ)4Q&6&#Di=VETYL#?6PUuAj-VUX>&d5@I6}t5Z3jNTEM_VWY>3OpBEZ zC`wH{aIO`5*NW10!>l+nABrZH?wxFO<T=-wtyLdJKJZNK*_E^f44j=&fK3(PR64agX%aM=&tQ4#VhjCvYCK zk#|(;a-o=t6oFW}KL3HTqJqlk_Ez7U<5@u;btXs} zm{wepWOP`M0fMt#LFiL1&PJ4gC5VREApSJZt#^Kv>S9fy9}z-ypKxN*tVV2&bp`#O zg3W?z^w_2LhC7xah9Hpg*xs;9x69AVJdNsFtod7HfcXm_G-0y&{Sa?I3|w223a^5u zI=3YK{YB{X)0FjUK=QIiS2C|xDJf(Q5xGIO#&Uk+_kw2+N3HacqVG0+q~7G3m#QN4 zRb>8Et=@Z>H_;n=J%4MhwDZ9gjA+Q7ZhwD5CM#k2YpQF^3t8;RcZ5W5g~pNM53=gs zX3>1ExoBEVtcX#U!Pn)O9VPcl#GM&EfY66kY(-DAGTP+*-n=&#x#DYLZHlz6*RYg} zA)?T_9$+$-i;q%+y%bNyql28L(X3T^F#Gsc(ghJ1I$ho*fAK2tec|T>YxnNWM&mf; zbbyo6Pc|L-auo-@3Z0R9J zs-LD>TuXZ9QLtlO&3krsMX~@8`UyQm@f=^t0_v!xcoGv;s*UJ?Li%dt*CJ>n6p_Fr zk(Rgd&HX_oPI_o!$Dk~fzY{l%5|n+o_|$L*&DflEtU@6_eu?apRlK_gWlgD&jd&s3 zzSY2}0oS5TzJ%UML%FhndA6-#tmZJ8E~K%A)Z zwq6+PA`u3DY&bbXJ|sb+*b=LM{(v|FY2CO1hwCW6B28HrPT}0?jZV89n&k6DEaoQnaV20wZ~g_bElwWg6)j?Rik=)|Rcaq2 zTlZkp({VHwp5CNtx_VGE&u;Yn(xWz@J+&EPLOtF|kJg>tM+Kpm_wdq7?w#TOtmVxR z;^q1T8G}RL)fj)5H@b-wnkDnx4N{cvNt}5TI@ZN(W2yNR$*3PnZ#3E^ls&?k4mcG7 zujKIrug_v0SMjqBI9x>9YceMH;H-A3G%qS`Gig7JJS1!RM)9FdxO?%_oMdo3L5z>9 z=80hL(JZz?g!Zf1GI#PBb~D?c)-~7|G+0jq&i+ilff`?Lo3NqJ1dTqX5ukgvZtO>R zR_Y6a^=y~=f{YW4$`{WEU%WrtFJs?79T8ErLS@EnOhf2JQH02kwP1oG^ENzp;bWG}nkD>0!t$LF^7_Gg$XYq3}{ub*1M<8X6rv+@{k z;RB~tI!Fz5{G9E$u(OU2(6TS@sM}XEcKZOVYj*NjH(&)PdPs>+KUHr&ksN|-jr;_b z`#MWF>_k@nbyjJ+f6LqbZvXxV|8ASdWx+hIx=AOG*t?!0`vB4Dph&8*XeU)LB75aNrDmr`s`v$}g~C3jAhe@F6fng4H{fCT^dd_2(}4ch)Ib6XNB#m%$FVH-4mlj}$^32+Pr z$`hssKxQWDuOgxn%p^Qu4MDgiW(wZiCSSS(Iq#dia-_ z(ZP9041LgVRouRn?saQ;{zAse1)pX6A>x@|R<+&4|L)6V`k0G0U*AQM^al5UY>JZ) zqS{e9RKgY?$ih%?`#i$QvKstd=od%K>4&*rcKzf{I2_l2)3MN5>-Y=1)@jfLk5LsIb9XxiAVSA4G+0nzt4jnOW_dSN~w&&49#tt7c zeE1&695a0Au*xxGD=UW$AA8J@!6!@|J9y%RqsLC3I&SdfDJNw4zo(2jZo=5VR2?^M z!g0rBZAqU~Qd9ri@5fA>IC*TQ2@O7G+L)=8Sy`1;$Bj)*n0#F6)DyJ!@ngs8FVN+r z$;ap~la*!r(BHAFtZ~Qc53lt#e~q1d+zF|_Fh{>RJE6bm;^@iK$JtK!Fbj0ID&T1- z0S94=#G;V@m$Go*^~Dd`tjW~o<+L_2L#xMwR%EP7MjWoz^H6)kqM#@GV+A z6ct}(`RuDcn3Dd1@;}XsxGX6iFXsm@FR)na9c88&J#I{!+=8{q2Wv+vr2% z5;~Y{F#;I4VVtgTpR$n(Vv{(U6CcK7m~^O-)YJE7mD#`G0cAIqPL?tL&jojS8o&-~ z`pak74OXsMwheYx+hCxLT$9^27(Kyv$ss=6Q?dU5ehNbxnJ~;ligRJr|CEP*7n5g` z&j336Ez_aiBh#i{3Mc#Tx>ExvPs~m(%Ai<$OzRtSC%R^kL1U!U)$&Mi9QnQd!+jKD z+$EV9}6oX zyP?gZmWZb3=H7Z!1SEgvCh(@keiqz>&49B!xCty7;2T(q%%sE((#wq}ojiYJ;lxoZ z;=G;}9vN@Kjk{L%#b>h`P?P(&@IWqK-24UTHvLg=b$%m)K?U~E)m>!@!?Qy~a5w(s z)+nXgcs8*Nx5!Gib33`J*3rB#NmnpJvSKPLa4Txf*AQKQznN@Llh=?KvYOlESu0(Gm#WK#+SZ>r&t@0}UKIX6pFKgQt!gKjDPb)ESn>jh~P@w(988v6Cn5y4$$1 zV@C|#bI)Ur-gDg8J%$b&eC(JLjy-znX>Q&E#0!Tv~p5vi@x6i zx@pHhu4+=&;4R;WtgI7G7&lZjk)8I*YKXx4&)VKXFMTQsea(tl^k4}Or00^nh_^qN ze`KJt6W#M)W|=g4DEia-{2`D^ZgN}C`=i(UK$rO~^!^$9{+IUsF41lPL@f0FpOC2D zNKGXQPmB){6gA?s?dclc-&eS#9Fzu1{ca2v(A9JM@rvtlAFlr~MC&h);lBUdA>I2T zu7&Q_UF0JM-py&-w0K(|?B%ZWvPY^P^Vt|*-5;8T)RkQzyD?^w9Uo2)qEa{FG|k9Q z!P%*jGs~W`jgL$FN-bxy{alyv^c{JJ757a-SI(Q4GVgMYal2p2T|#6==-sKn>sy03 zx?Qcszm562DPy@WTYgiH9y9jusi|Yej^m~bD;+-EUX>GOOgeh<#0fLUZ4tn4>4iCA z;)JnVHiIp_a$=u~JYHG%madx&e$%yY#@Z*K%i{nv_TgMlQ z0wxA~MN7Pri-|oy#}zEifG3-TCxvP5#2qJQ7GSAze%K!D&0T*do4%Jj3T`4{7R|1w z!967~FgT>ZM#v#0s!yLoJ9ro+js4908Akc3XXgfIieM*CeuMwT6z2yx&=HI>HX`M= zDMT=qfKm&S%R1ZEE}+fJg5CnrO=`rqBdL)ti?Glsr#+8lD-YJ)^JLp8 zgQbRy+(Qn^Y&f^QOC4FV+uPU2-~Yg_QbO|ddYG7F2u`Gk51(wBOo+Lu$%iS5kBTLE zcL&J}qjYkAH$o5xE3~Hnu^3Ynh_)X4xEWOLmY&0WrUad@N8_C-O*X9j6_u+G4{qTBEcwHV9qPt@9#*ce zOusU(_XO)g@@+(})VbynoQ{&_9D;ni>buuSexKxV9o5x%!0!qbzFtE>qgp?VZ&>em zGq1Qhcg&N2tzhNrIruB~F+E6xKp)HJDHCm1?b{Rhz}WfRIMxs!pa^}yF ze4!{&XnR>QH|6BQP%p2tZ&>HnQi$P=4mk<_5@ld{RJ(HlB>O~&_w46U)2Dq z(Vz3F*+4wCTSuyG9R&CiXsLcLK=IZUq4g6nB;X%u|8 zVh+CYQNJE>=s2EbHP+*{5nIAnl73&Lj-$$gOD{_KuNFQ)`A$-M0)i=##xq!;sp z7x!^LJuLREZ)$@#wKTQ3Vi{2$U<JkT35T`>ZtZ2UC^=M6YRQs!sq({PHIW3l&?{LhA<~hymMo&*8YvikoTjxZ71>TBNCZ-7` zMRb%r_(viSP~H)&H$1v`fw!v=HsJhD77myB#C$HDrxdO{BQ(MmZ$rYEqj_T!e?^lS z7T0&X_}{JPJKF+RHL%$0k!UGulQ?C`atJkaCQ6`-ZUQ1WpgzkoyCndN&Z692^qlD`TtI*bOp! zlOlmpCs($e=Vd$k=Xr7fuL~VWW^>rB7~=yVFDKcb?&R>eo0q$bqlUTZjhqlCY6t-K zJp`mhdMTi=MOUkk>0RJ?Z#kQuzFQTHypGPhC;x;7A{SL!6M&4r612fP8GX3ieL00P z=cZzB*iQb8PsE^BqQWP8-G~%*lr%48z@iyg>2))Imw(b))Pd}9as0Q^9C7~V z5Ij7@e1PkE%;LC07nt4+V)HklH!@)Yx9SXWc8)Yg<`mM9+Ku~(rZ7-RsJNe_9v+`+u7g4 zi@C)SJVSiRG(UKLHP7>t&_h^=Jvom@vzkz1Eybl*R+G2bpWLCW#;WPaWtXDZ2-`gg z0Fkgg7?uEE6=s6qn?xyh(_Ea)bnopkGJ(f~f!2Y!An!@Mi|gpSi&-O_F>939Ylc^( zJn_-(3(SS60qN-ziRMxXX7OihS9|Z`uZ6npoF1tCwmHg}mdnk6hpBS7kT)FtL6wZb zwLXb7LK&AM^aZ-~*LfAWkb2;&eg&1>kD=P|U*vJcvQ?dPH;rY^rH(jQ2p<(Y*h>5G z-mKc-S*f?xO6=(|^KUZQ+9{k#8el#67{59@*!4uegFVean0jfn2gpX}<<&D&Oz&41 z@LU2P-gtD!0~*^hB zv)%=Pe(!AS#Z1nQF@#i72idOIFhu)_+e^$TURLUF{bN9SezI`9P2*iC0Q3JdsDrZc zTxTXzP>PuRT9WRccNox-jLR+L5B5!p+dy4ptIJq>m~WUG}yMZ>t&WMx$k@h9NVIJb4~T~YH) zt~z?+xW9}$?ignZrdwaN&5XxP#iF2(=|u+OR-`7K1tjY}-&k)o;Fo>rar+ zg6H25{l0&)pLY;E!2adlK`HO>GOyH^*qqO^U-JDM{mHqgy>=Ho&Q)Q8_P4HcNh zMKTSQo9pmCVIJ#tg*D*kibEkZar45iYTeVkb9g;D=qfAiOw#A7nVnITqLF5%DuB&W z3v8{q$>>cVi{eUCTw!jUrZ7A67^yb4F*VBPPr*q78i#rZ(_;Vl(caJ1QdY{r*tnKi zyH~>8IJJy^b~6v)76|<{w@+8U#pa2wDDTYYGqeoqrFN}!!lP6~Q@-}M{#`g#B-Eq4 z-c@j`!_e1ZiO;5!W*oF*Oyf%o(D}^mX5t(ZiauP8jXak?WTFLY^hw-oM4u6S;+d06 z0*#;5HmzVw3=D=jDc0iUF7UdH7R$(tU`n1Ta?xw`+6HsO->@Xxx8^I-Y1tOf_e6Mb z`a=Unz4C7aR6Rqj1Ing!i9^P5v9s_&XAf~qp_Z{E%eZWg_9kXtj+PrN;l%F90uQ`k zDrx_L7yG%oMh1SLAn~B7d1sb%LFS?uzJTU14xN-|u^bXSmO6bJIU*`xF@Ur$vzq7t zg@Vxs^YiNfwOYZ<*X&u(#Bhu?lQ>k&G+%coJ*Bn*mW}9FE&sh)7!Hr+k1Js26Xsc* zHN}p7P>EeTkE{U+?9=A785Qc>oRQZ^-&QfBzIy@HIe?yevoK|QD>#-mC@RRaMwi7B zSaRSKn_^z5nLlW`Tg{78tbO`R!W<0EYq~e_JkM-8u0~6%WQ`R9Cj>zJf|%#pKe1oW zlYK6 z*w9UggZ8f15GEiXdei8RBFW=Zn(45$czf9Dq!mi6=wmjv0hJ##Nn;CBoj^*Nj$a%5 ze9!OsNaG=g3X7E}qb3S3Bz}ShT2JOauugOC?`EqjW1!|kNf5isd1O1FV(HsWS0JtPy2`=r0 zTdvH=9H)9*x2w(H_y3Uh=J8cmcm98J&;493Hz5gGSww^T8gQxIV%wR=cV=wRj-AeL z8l34^ssvD3gs^WK+_f6Tt!e{m!7YMV7YyzjLD0GZDy^UfcUz4M?*5*yb3UJYKcAbM z5TxyVf4}($azCGQ&gU%e^WGO);hw@l<1etOF$&zAYYcRd0Wf@bxm@Nt${+&*ltSXi z8HC0bn!9j~(J06SJ%9@^a+p8fK$8Cmol>le(jO5FQ3Jp3%oP%R?1A zLgp2Uz1r~m(spn6kzUEqr2+{PAKfDM`22FASrH$!GLHJ_K@ZfY3H&AP=1DXY+35_E z9rbl2(vh7Gev9nb;=vYQK@~f+a6z;~tx^zDOan(qU570(Wcr_nE{{;GkFVF32dLd$ z9Q2v=%#C6#ZhJJl11Oeb+Z`d(9uhQoUVaqFd6K#+IfL z-MC6+c1Ies4_ffi&$OhAC1gu z%3~kbmafB_%il8{(BbB(v0%7$I72|794WQ*561@4KkamsnkEcHjh+ytJ0MDOms*=S zQ4#5YkXp*9af1Owu?ZX%M-V~UY2@P|C65rbRwl`G9DAtRASdxjrvJNt)9opQQEcP^ zyywcF)$92?xD55O$K9^S+r976=6bx<`yQ)Y4`l)G<*e>;J>Gy1%Ia}wH!Hu_^$_RO z%O3Z+9-QSeQ@4)~xa%iMkmJS<$7NiD)1@tQW21aW`Woumignn|we3Aeo9o)j zXARCdd~Mw%$yh)s(rgx`&cC+NHr=u)N%YX`CX>6X2+y87`e8A+>68Yup{SPsb$jLv6aiT&c1Hu{{OmtO`Uhx&Jk8-bMH=gAo=} z`9?pt%##JFkl!+nYyqaQu)tOhE<5)ne+_vb7yKT|2oX#dxthHm5CXVI*Mtle@d;AR5 zmezQsm|Cz^%Cpd>cUg~rJvs)7>gJ#ALblGcHa9ZAOIT@>&Cz{u6FEe*;Pc0U_i<1n zLV93g1pkAeD-uVkbtyRDrzF+uRMLTmW=5kq*lh_oR?TFYHFjfF9 zZ1cN$GXBi8PP}nl=`BT0cV<4bMn){Y%}67flgJ4gBw@Ha#_O<2-UY#va^-XwY5hKx z`ikVl6y$zf)*3X0Ga&P&9bh5O_}K$!KW~LG)PBClu_lkE`@?w>2jqTzkR9%_vJF8; z&`6CMqn}|7$^R6*m~$-v>}u|9sPzsVW?|x-fgqj_k8cdVToVjnr~F)8gJ{Z#d9K4> z1`3GEP16|hi;7+t!T-8F?}K(hw>KHE(?l?cg-5qS^BgRE;k9X| z-m>cLlL3D75x}cZBT`EIE0e4?%>yyRCCSt%Y2=S~OTK3|k5wrDZl-x2p#36TjL#gl zaC}r4gR2p9s5v>_&MHU5rlD`)oTc`#G9%EE;RlhbC*UsMpJR!#mZigKWqXT9C;))g zOp*KqHZK(PaP_{L2&nOd+4Og(w)Pa8mxAsxww%??whbEXAZ_aP${^68@tiW=wph$UW-rKz+zv}+dWPdmSQr#;rIk%_J zC{iZ-D&njt`Z@`$V@f3zPq3uoPHI&682V4{TTTNb@jfs*M@AET)pzq_Uf&of{Cv4MGYCgI? zF~>1wZ$-EX^ZKpDm_GabLaAfDKumTWOdp>SMCJbYQ#8@~Nx~^qHJ-<$vF&La?IuJq zS^zjb&B%wX^fbQlx~_HWG7n-O4uHBk0LN|*sbK+!!$R#L;lI;5C( z2oi*Z|Nrrk957vCwgUDP`%@(v*rJ4al~lSoO2zP>gEJusoxL8=O4?NrqbNGBgBn4r zSCoxh{7baatA3+AfWUenJqu}J=vz<~f!8&*zLSQJ@X1+%-18kKn5akaI4JuL`^$1} zGgdaJ@)7rDhqzbHYwP(+WoWz*cb)kuSo<6@eg*)ZUP0Eifi?%1FGCHYh+R$C*k|)q zh}2&28+yLrxmXsrLNQh(QIY|xjXxLIJH1pDesa?k`)SH>;hR=5!Z!Y*e~*oAn~%$S zT8iJKI~vv74XK`J2l|{k3;x{2h54$Sg_Y_34&Qb0o5K1^XSr7zp^N~rID~>?FO2mY zX)dgfj}J8;NKguae;Q9M!SgD|d-Z(nquarfdIeGgVAgl5t^oNIlSsx@pEmj&w! zQ?@_oxVJg@_JQUtB3?Pl z&rn2g&{tqx-Vvro3<_Dzp}j*|W3Yc~_Y<4^EzNw>sc=fb&3( zNS~#T8+NdXm%a)CUnbs!xveB4A|U%U*`lg(TeF-*NWyVEP;LoF-G%4(At#%`YPCC3 zt7Uv&=_ko@uvr9yFQ)lr(wT}8dYB}JoCH!)cdH2rPCYfzchkIEx*<^B4c-s41+acy z@qP%(1HA8;`imMGLuXcE7L4VJy+6Cg+1f<~Chg)=fve@IN00!<*bu~|XXk@lHe(e! z;xszSf&RVZW?&=`5iR*(L%$Z^zX{`NwICG*n07aW?Lx3pZN4CjO_J=G0Ysqz@uAM5 zhcvTTa;^^c84k9D(lxb-ksvg7+n4rabW?%PK-!Z5JSy!Gjc`hXr0UQ6M=d-^ZoFY1 zkhYeS&4;f%O(9bMZbl_rp9K$)qhrB?W5i2VSTe^sI{k;`!NccBIbQgVLR07TB#zH; zOp8a%q}3)f6$$s9NHI+80xGHa!dh!=uRv7$(XRekzs_0rOKk*0kjt9ol*$}6(Yocb zHwRmgxu?p3(4%9)ou)wPgwdR8@Jna6N*euh92;WUvC!E%PGFcfXc0G22F)}0AN9qq zxI^nfo;i1Rg9}?1z*X<&PvS<;cOPw|uJxCB4d!ElI7+$350bFeK|=VlOHq+6JPK)^ zrCe>#QZ5DGlnz6(?aWX~4HbswU_7nNjVFYaQGA35b5GD5??=6cCi6jl9XStMLm#Zf zPucE&Gw#Y3{aW}4AtVLKhb3D3MGY6;g1_0k9dVKS>mYM2Dya%{L@Vdl!AT7q=}xU8 zK}HzmyCZ8Xa6U&MS!9|Fcw@^fZ6-I>5~R?gy2rA`<_wIV8AE=DTwF;;hXGy~^^fr; zuV|h=Wxj$*CSWT+yq!A&3WQ5pDY5Vjh66}1$A()fR&bRkp-}-y(6AflHHD7r@3PM; z#v!3SJge1h9oGRZt<{@b{c#kDbuZ2R^?y$xnvnhtc>zP?i-oZG+V?`Kj zwvvE%*W@&IhfH876gYm;i<&2A`GWYu$}~ma3Dzrw%+d;l2CE2-x#d7%I;F8Z@gw+C7BUr$4gVsPH1`1mFkVnA&NH7L? zUkN?;O&+1PZIrn4>7%u0StgMNX+9@PAj91Jj>@;;gSMQrJ(^nwYC8rQE}`c0Fk%tp z?o*E}o?6q}@YZ_$g1^Q=TI0TEg4F@6n$?Mw#H?m%ds{Mg_bj`|Qke>z2AjY5n|_hM z>HPMF4%4RBv*{y(O&@}y-|oy_JR1TW4QSxM5%!r`F{>#<8z0!mr;VQlwDHZk`5>%X zvtWL${eLMrencZLa#reIAz@f1N3b%K(LYB=qHF*LufM-%Bz)fECE`g!6k$gw zPM`p3)t$aEfx)huD=oVZ5aF)0?)>RylJp#0%{=om)zS$&SuDeqMF8UjsDGL%-Gym( zZd&-MS?cxNTt~hB-asHk;2T-Szy^Mfu;u1DOmlsGrbQ6qzHluIZRSpKLwg9$55a(i zB4eaE35=`_bNjGu&fk%WOBUSKY#XZpUz{!?{NCSzfv}&3C@s$yr)GBmzU&>#K>aQG zvIQ)6fcX@gUx@!}lpn;oi8jKIXEyUkqyK-~PW~T^6a2qZ<9%aBD@=ZN#6)5lEfl+R z)ArFGIUA>$+peZ8V4rep=5#D+u`o>gtXS9!CTCGB*-RbGnF_83pjwcWsW>O+OUsw` zxPo5l-hvf$t9w)Of`BDRo2>$t;BT-^;I7M&I0D>dv9jbHY6{P`ivF+)Kg2({J6KK) zACPfVoIL(<$j;#(dD{a?*1$x*+7|8`52|6rLiz#{2TF3(sv@FaB9HwSErO}xL0`;e010l=01umnCG(0~# z%;&OJ23*$7luqyEcIPte*zImLmL=E;*7uv8HE5Rb7Stbi&1`g}#d&pQ+-MvwKF#13 zc-Ktp(f>Gr4R&cFKfsWSbR&Ju^0rcK`Ve!$_}D+?lO@|8x=eyXdN@E)7n0l;M$ANs>8oh_N^>E_E37DY1D6To=8Fj>ORy43MdB>3SHNZ5ALTM^MF;e>&io%; zzqDyxk51~JoY!32kmH&YfmLB1u_)SVpg>~_=4M~iT-%@f^B6M*nl*9i7K{Jxm-tsf z`lT}k(B^e=6v*MyTsO1DZ{Qoj`6b0jxWO(RCYg2w=VEjl&X{ zSG~CxqL)@_4cJf~ip}&N;Vv{4pl4V^&SiZ%J%P^aGdgqgN^(8zmM-rE@#oM(ypqp% zXnom)1S*;>VLF9v*S*~#4Wpp$<_rmCHrv+-{R>;MB8F4n1+&{+bf^Gj`1gE3xsvG6 zU6d4~%1W#qY;l#jnnEyEVr!pM2ij7^m}IDGDNn7zKZo3I8K5jW6FSL7eL($(a5+05 znaO|AEmevmZpb4@Lm72b1E2pRWxod{*Pz#eSV>oJAwURTe?S1`%&dtqCt!uiNm5eYWAnUnB&^$ZphdbM}W`5YCJY7N7}qg00TS>o71^1BY(IU}R? zH`jZXMY$)qRw@q8CWf@V8NY&Vbs!Ow_KqmQ(l;yZVhw=!^Oc=6t=mm|H|@|u{P=K71pajxX>teXN3g*$m5+m^FRC`;-tdchL94Ud4JL?#3rf0dpoP2i zbxD`NMjJb9hf$~`JnUEGQS-w`<=#rKO#|FKM7zVGpHe%zxKZ5UGocZF9~bJ8-A92& zeqgbTdoFq^6E3=)P9e8=)iZDrRQ{~n6)h@u!v-E@MNnn8VbiZvok{aEIaHD5snk4Z z{8-T?oSEH+hA|{s6D>Y>J~u?<;5jM{vLoa%G1tz(xmo^FVK2nqAnxxX2cY|FCa>5a zn-FCMbr*c2XtFl8yR4#>LgoM9<11n$i0Q%xewIhCLdDNuIk{&hPPc@_ufuN4Y2S|Y zwktoV*URLO)}s}qU1A+?IqT?U(=9e#pHyM0LNgS3v&#Iw>@{)rZ5{Z3Ka}3p zjO*KohB4Z)&hi&t1h=RG$L2*`{6VLCl_R;cd|>O$7REuZut*N>yBUVZ0B_#t%N`AY zP;!qH_3B)zZ77osP84JId4Fk)6;`W_U@Rrx#4nng7moxS#-)t90vGRrhj`_nn^$M5 zI0YlWfn_I|XfRh`=m96Z#m{26=h6frnV>B09FnwLIqa3oeG_&x>M7mcG-j?_917WO z9DjD8lfRsL=8sY)_wCAVlet|2Bm)0wK&g^ZrfdOWMfT1Z)<+R)z?GmEHV$9 zl^cR;e!C0Z>#+;w2k&-?gcNQd9*5>O>KY-?ED}adk~W}Q&=I8%asU82Yx1NRPz@1q7?~5R zIXKX)4Ui%sI=uMtLR_@`G_N)C&iVVjfayVji?<^~Nc-1DkXDkM3y+>)VbPq6Ik6`o z4nSRoXn}f^w@4$dUWRw3+iw@q^$K3Y>+Xi9&>3GDM@<=yqAW3OMAwNvULDf8vea_3 zfc+qU^L)7XC1Y9wIu|5?;W~zrz~sF4J`cA(I|GZqp!5z1X3|+a6dCJx?Cz?kJBD(- z&?N_r$o^8+Rj;uD?N)329=aN*HHLX@CG0Hw#@AS$FIQV_cNYSZlP}txq|2|_z5sTH<>T|zN|ZyFo!jvVDzo>n=72TH_$^Q~30G5Y~JG$ZDtgMzvIiftYTTx1~@8-OTSUs+Sy~U#a9Hqfb zE8+uyCe#S}yNifM0_QlM0YXkm^ESzy{C>PBFr5bmG{YT-4<&x)3Wz&OiU@TV@|D** z5E6hzHx%B5Bv-2CatbX?w3_o*@YzY478`Q=icO%~B1cv6rKYtiwx_C9_5zWn4>mXA z)mr0OnVCht8Kb9m=oHgzDiU=7kD!}|$l)rQFejQ>4gwbsc{iw?&wMpazQ$NAT8%zjZ8mt4 zvD_Pg&|J`W15nZd_ue_J5kAuXh9A)Hbg+Evdj!uvH>c6Y&BF=uce24|$&{#9eT*;a zokOU5QR)^xIKUj%V4>}3p!{Gjf0|ctK1gEsN@veduTz6wm(a_mnD$fl>Sc5A@-beL z3w27nr$D=bQr$mB05uDG2%VX-;&_S6wVb<%Y+*xI!I%mUokNmP7nRR6czx&m7G0Ek z@@+WgBlDVFG{3%;&WHCg(fm2^RJZ&G@3?p zXL5>aq@CIlRb<(j3E1qac@rj{U{iHQGJ#GTZHq5Pa({MT%7r`MrS=QYD7tlAW}tNK z#>}AP-6U1+xCvvFcr){uLM@pzp``otlZ^5g)mvyjW!&*W&d_vS$4qb1dj4wSWa@wU zgEE8TP8fa4RJ%x}3>|ONh|(dF%#`_tbAV=&k?OOdWTcUlqN9#K-qpO}X}FjTNkmzg zKY?^I)FM84^27;tB8=+iC@rR~iXHi_v$K>k@(H7l_s@vhPobQt{0il1Wi$N|S!9mN zHQ7l_(-^%=8Lu2=Wkg9!%>~nI$uhN$n9~?s%B%S#cgxhVaoVz-s}z$pCut$SNvWMs zNiya1Oph8$*V^?tvP=PXDL(kVu?1o9bW;u^TZt34LX|mNUB3LTozd;l9jPF9f15%w z(?3#)rAr3b$lFsXJJW3@*~meyvmC-ua-qLdq66~Gr4#F2>5WLcr))ctuA5WD8%Rm5 zY7PxCPg?0n({|f*BTFkbE7=r7r}s%ZrldgIVBhup3MrEDIY9qQHI^a?Bv;03c{Nb% z1?h{DWHkvoBlu#aSyE6B z?41GQHPC#~7aNRuX_^vWypMlx3CFWF<(9i{D#c;=eI`BzcC_W0(S{*N?3FN2P}s$C zWU7fh{HH!g_8!aZm)gs{iBto>pI{}Al=-$#?b8xkRjCp0=9;O|Og|7cwcoJpbb9iZ>-m36cNZadU3o<2XV-4AZ~{l9m;Uo%;jY@9qFjDv~^N+tiNGj(g_ASh8IJ zv&7zS2ZmIr#=2i76t~H^a^~^!Fv-1{EKn*>U5Ia4-^2(R#x%Rm9(juPM^-M?E^(Oes>=PUE!afD-SY5!*|vWZ$2Up{=`NE+NDf z+RS_7el0)M;Q3KNk>2!Fm3*jk4jU5Qtv^7cle{xa3?C~o=k}2TKWWaNB^Is1{9Ltw zP@vT&4&mk9gs2zA(>gOCdV|C=jsnKClG zo`Wvp;69QJm}WfgpmX2;@lF)AV`1zP`UWCh3CFBPHlxP1-9y4*t9^w7Uy?hRMsSmly~0VJJ|-a`dTeB`6vB+-%Q=w!!>ug0okF` z#=%-^D#&h=t-G^1aEDOT3l(=IOcn-xnxovWT`3R0_z@|m3NK!bLJ6RxxT>0dw zBW|;nVkxxv;hZm@ z)tMhQ=?u&b)>@MpDcXt#4^bL0ZkD8*X^@A<)z}X&wG3X|ydZW@yKWsi-Zin^K>>+c zashG-!G8`C)&dE;!xFzcrWT0U2Vd#7_#ilrJNq{Ad$3tMO&KX>D2}4Qd{{(64Gh_` zURuY8NDAmnGWlG!3sRzMXBiWwJ*K_TmwrC@9+yH2kcJra}!ESemgNCX&COHjJ%lWrdb*&J&k&C<^#=AB*9*x zQx;cj%aVB193`3VyRa-pPQkAY*vovsg(h4#aWDQ00NuWUQtNpG4LJXWu-e5Ej3bm{ zCFRE~rMPk~cpge&Zb8Pwtw0#o9erOY%lz4il2Y z`ju(_?zuIAIB7>z@i%O8+ek4z1i}4u!mGFlSk<`3MJf|$Rmgfw_dq=%rY=nb0FKKVrz_+47flnD2 zaKf^%XQQ}?fLq_QiYqiNp#*po(H@MrL#eyg#u4)iVT0eF!jvAJ4PNrW z!71R@#qqn)`}ZiSQJ7FQKxVwW0*=Qq@0xO!J`P|H$>iIaaxP*a?7N}>i9^Ww%t@kD zY2*w=`{S&Z04Qq%D6`zci;aMjYD{-%e;@8?e={^~XD6#UIvr1Dj&^I8%80BA-;{8Z^h8oWarJPHsMCXVGwbs9|NW3*L^XXB)gqY8Op_h4b45bD>OwJV=?%1s;{yRW!N!lMh~CJjD^2IDc38^gFdFi~=B7TKCr2QPMCrdVfTVoZ zkk%I(NNJK{L!>VJ&Qe;k>cf|h!Wgsnq)c>XzcK^(~w|IMy2M={8qlkFj$_BJW`0tyn)TA@*jEn z@8;sZPP6`Nl8x%srbf$gVQA9vC(T>4I%wxn@!2U^ubw8glA|TrhNQ@H-!9A-K&8z6 zGxL2zsm9qhx6bK3BaNH-S^VUA8*{u|9K7@^%13%$&&xrnGVW1bEFsw>@^+c)8Y}Jc z=8k^;^gf!=>Q7I5{l`;suw!Y3r_X!1(_5L};d!^@phI^DL%%DMn zdzcIRXkU}&-WiB{!}VM_AO<;G_Y!g*NPPVxK5(q&dMNi0^8y6AFma6K>=ySCYg}N~ zPxZ+&Cqw*@WuX?+S!i^Pr|ajL+Y4}y)Tf@G+=dcrwEG1$rWzHjE zeKqc@Qf&1#?@>k-cR#n%D~dWCX0at@eU{ODNk29*W!8^p)4GUZUAJ*4Q@I9HkYOrY z`nS5vFZ+3#3Ee;6+bvZuPl7$09YWeW{F(s&-BJh%KW#L_xIdH`qUCM|gB8Q@lagclZWE*6DN-zhA-2whLal)!S7}mZakwJM~|5qIJMaZA)iD0TlKzu zA4L0m>V$Ff*oi!oV_>+A9QCq(595P}@Zs?D@ZZC%$5^;i)EO=O#(6S^pV+p3DeUlb zIo5@LhgKhXZoS3A4YS<+?8-+?o;)hLS8`Gd_nIj;PQ+vq8cLIgozW5n=sXF2H-M%)JgVDInzA(A@(*DrCJ=UtXCx6Z9L zPsM72{~bk?u{}+`9&*FTiN2qCKvk0NQYrxyJ2Ci`J4t-_xE=53o;Qn#YsUKnp12Dh-Ps4a3y0+Tqq03Mrc4F3i8YMUrctmsky;w7$QiL( zM{fIt_b-+2^})kKGb#?0E+<-S8KA2B^ zB>t}PcKNaWNx~I=)=~@cezsE07?Wn(d9L-CO*WUg^?{LFf%N)(?kj>iGUK?ZL02gptGkp$>aU3gt|-9qeJk1vMD^|1#O@^f9Sr%thqME%N@sY@LGEoG0e0 zLOB5(XfC5HnIPeXftZ|7N)##I@it=jtl_7kfsI^nqWYGY=ksb02U3q$s;bguJQ&;# znRd>ekNub5eMozt|0@KuM|k@mob>*w`@CqZO^m-?}SwG`-w?oY-01~QK&CkpUNO-rTp1L%HngTj33 zzY;D2DHJ8lcXeZurWzN&fo#?&cdK8^Qy}NJ%}wYz_4vba)*>WRALsp@7NSOXp-w3? zK_i}$+?$>TU&9xJiQYHAMSo}(q&BRSd5)Z>g$w1_)UHT|JU=sg&2CFBT%oW!P3fo^ExnX z6$lBljsf-PgYr5~;oFkpeyr>?%^DGefh^ZT-#*G7Zm&Zj*J9U^+J#?J3z9whB2URF z%W={`-6OxJfl6}H>7%W!0|dT(&H9E77M=Z>=l#&WEyP%`o4`t+=bGPSFRq0s%(G)i z^s<&0h2}*pVXwJTQ-j0cOzfnWI@W=50V9w_{h6{#~9>rXXHl|qIfu!Ldc;5IN zqqJJrdxG(vf};(fyq5a?%mqrc8k@2kYg`j+uq*18_eJ;f6=ectSK;#1jj{=vlK1DMKU4FMoNum*~r*|`MqZ(fq0UnVb&3Y`Q*SBeixeC z8*06MZ65La$;snZBQDurP2x<})2iv|50Zq`CT4{H@Mk_4ih6p?`P|=wBO*M^?fkU3 z=(=)Lo<3vqVL;*|ohi-g5^2iW) zpx3b)fYN^lV+u;&g1uXPufj66y}tB1ZxRmD>eULhrZ57Jmf|86E9)}-HiWZpr7Ezx z)v>b|L004rsm_IsZnt&`Bl#*aW2MTE`2JBx9OU&sYU+p)Ug-!+HPFZ&gyL0(zl-1# zsJMX{u+BpvSyBhD<}J%H7$M;0m{|&b;9x=!z~XuV)BauXTRJ%5c>giSH^kyqq_9Q0 zQo&`=N*j|^0`2jR@RI)yG|iXZ{7Lv0{I>B;$;Zci7jxM>l6*NlziW60$o%D{PIq65 zy!dwL#crV<1D)J?PC0w}myjcWL#1&K&Lcta%-@wtph)EE_s+|RBe(RQBu zB9Y@b2n&daL~XuER56vAJ&;c$^E|buvZW!f5$kX? z7(xn)R#6r+lLDuhN@Ss#AEuwy2s%r3bCo{BmV!w-gtcsZs0WH zMwQ@&&hPMluR8(G{yb6|z+!z2v#i-yCdPT+ogoM}mz2RlIRM8U4gmKOxD^sBMrtL> z@KN8lJT{_Y;|Q-(8BS|aN65DWR*e*LWE?Gz9n;NAnJ~&@M`zw94mFc`XhEiLY@+q! zX6XkfS8Wug`*2>XxZ`F7d#!O-_9Tg-1(tR?)CT!2&wLVXGK9T`EF~B~uxIWh$*M~C z9Gozp%F|s&vfKI1;EIK_Qq2}CTv??=T#2iwdu>^G7|IU)%|Lnl-N;KUY=FMKf>n^& zz0JGxnihE#ROK=kv;MuQt6i7*O@~5rB7FFf>Y}8O>QHwJtrya|!u(m9IO-0e3m6GE zT5=RK{(ztc&GJqXEQe>g!Ob!b0Zf>qEN5>n#b_`2yn|BM)nMnrGIG zmMlz6#Mjj3r~*F9>&$7>>-ovzNi9lQ@yL1UP`aGW;^R`w>V3lV}UM;DLIvuTQ5>mT4m)lTW(vrecq$W%B`0@&wQ@i z^%8R_NbA*lMRa_KzkaOKiz#VpuqLQbcujSoHAUvq-SZyToSYBr#3f9V_cv+Z!BQYgGc=?zL|0daZ|!)s&3B7uIhDvRc|WXyoXgu{Z-eSv+9wmWSx~r*k2v|?6TgbHsqE( zc+-a=&iA5(D`Ih&TTtBgL^VlK6~3}$MvUm)fD;<;JTRy6&Y9}7UKl6*xs`ZY?5a$}@F<`PCk74)eMk(t; zJWy`#!dY;9?gFpw9C%1dhFt7L=+Xx4MbfYLY09h&;YNE=Lc4z_NT8Dz;9HaOh{>4R2dr`Vi+56?sQNvsoA zj##q6{Fq-7CztryS13^<9;-92o#-_B|JwcjP`{IlSOlTj6$E`Vg1Hub3Hm##Q#Zsa zvP9XhP_GrHF#99q5lv;q($iuROB>DC*wc|xo7_())}A}a&12hW#n%lnOa0%QM%Q}7 z$5|2f+)^vTf+KcAJ(EL*Wy52?sz{avLaZcFP>YWEg8bNtRuVNIlA9a`=Ry*sR{e)o z_`zJe;)StxJL#d&34u!t>Tf4(&ScCaB(n^AJt%p{U!z z<`HXq<6v&jqGCHJ$?Lj;etfxn!_=rC->8G53!BpQjbzzwFy*k+!;u3 zpn}_AK|uTsfBC9MX&#Z=5!b^a>;Em1{8p!atT00xwP1+o$yUccn44GU6`_-sHtuXd zzm}UN)MjsOAQ-X}@63ZT>AATiADx$z40-z@`6{o9Zh4>4rt5D)(<(xI|LcP~fvyrQ0^L)gm9iWX!EQe9UB z`uij48w3s?<~8gnO^=+?-)T+TKPA?*#b48VJGrJn-p)q2H6aAT@$xyfgw6uhdo7{gzQ;YImOXoh zFPVx(1(qo>5)nT=YQI^fC(1Y<(e_3Fb_6+J8*|H8DTf-o@78(Wsxw#5Z8ja`q1jie z6CmiRGDP>Dxc02u;Pd)-^h1-eZk&|wFk){oV6hxY6F>2a;nf#9=h{EV>hOp?h84kX z%!AhxWBoz}q{K4m_ya=F%&D>15%%|~^DK{gTFmFlzj8e50{vzT!fW#2$!*gGO3B2q zmcQ3C+^+KEHDt~zN8Hy3-#*d#-z}_2HY~GGu05$0a}bTcl`t>U+6DVWvSBLob#ZD> z9I`OXC1QJ!o(_t8I?jK6m4(AAMEsZ8>R2xyW5@x{HX9kC36Y>r$`GI@!%u-V{K#6W z!namr>Bmzu17!)X-D73tdjqxvd1eueSh1O^lBat5PUdN;nN>~u20M`6y_R`btfWeM z){%bZjKh(cUFU=qQr{!2Jnw{+8g(i51 zxCd?CFqM}{UhkFuL{Cb%KJr)Sh{uo?^0AT^p6QkSgExe{XH3$xVJ;j-gmp|&`j4T> z=z~{iGiM-24rg6-(A3QDWEDHrX5K`)$IyQTXGK{$fzLemhagK8t8fNv=II6tRJOtC zL4yt&6v@$?i>B}Yo+OPi9Bl5-?=)mItGI_}MRZBN;0;&^vX$ZYyI$2euizs7k`u+@ z_WwNdI)X63aSb@4#EcW6=!@?rxS-fPL1l?jps2W3j@68RB(9n~u6tBe|e~XVCpgjM>`M`y0{3>a=O3iOkg_b4m@v34!;POx5@8C181*2VS z2#fq@uXKv*1*HbdwlcAj$8|&LGR!OZE?0#jn60!eVYujX_~@0Y=i5G~fj^XhhU_J) z`Mw>f!4x)ODnR>P-3sGRE9I0icN?Uc)k-_4Bs$y)d8F%WLOMcz-+k5peAn{1yt| zijTANzKkH4he%GEN+r3aTM5mOu(8U^f6YY`L>fLpL)0dRGUW!U6I(sWbL=~qi19hT zGZ1lvfxdvf!Dq{Cq>c62+ByFm#{8c7jUn-0F%F>eKduJLCqM9!d{?y4Fm-sgkCD6h zDlCqNJfN#PoAxo{19*TNB-Jsbx){kFU4hCV7a=I15^|UV6elKe#+}@TnSvF2Av^hN zntkdpJJ<08cB%gpOuUW)>;hv_KO*fFu-ilMa1KO8o|iYp_AC3bm*hfz%$HD;nO7;q z3V{6%X`Qh0#00M6iFh5oH9NLAlC0*Mk)i5Jv>X$WFFMdsW_;84l@DrloIRV*~vEfOy7qOQ=I7lJw-O> z?d`KIHCPi*wz3Picm?>cK+A7MtHAfaifcZ#nFZFn1vYp`ql#mSS|B&{ky-U2*UAN()xousM0|JlT)}g}T(u{yy0A}rXw;Hst#0h0V2n6Lx{}q>Ho~f0 z51PusN<2e$6YkULUJ^rpKk$&fP|4k$SNYJePtC=+1j0P0kmALO)!M{paKLF@U6mYQ z{zB-(P?8BwkYaBab3Sn^JU3^KQF5t5gZH1<@)!ER5z22=;XC+tn1521LHs)gDQD54 zrsHJiBib<^T3HVmi!p&9o9RD(d|Gx!Rr2d74~L4hH4r2ur9 zo6ch>Z|ofGeGJ-`FuB3T7G*Crr@5nN1Id&5H6HxC17(X-?7Ph>4UaE)(5FMH+o6!b z9||1G%}WHB59Q)68Pkybz7<^VCt|~?WgB?2r}^C&Aa}qK$%9BJ*x(HSOsrI;X6pEm z_3p2d&%gbMoycziE{S#L`+&I^r#U9FaiE(B{g^DC{hsL$!DETPnb+oMOJsjPW`8Sj z)GQytXjSGVCH7<;L%{$@cRF(l-Y_uqp1*%6X}HS#sYP_JY9KnJ&@{(%8s9SSL3!BDkNFZ)JrBQVO?92!k~%g`_m=5iK=MM-^rw-Va_svR zIJ)!o6i`}Chd8V!%%p?`@s#?%j=bFf14R~5^!NFmeS<}q&jQr<#e|X7bnFQ0V!U}C z(w__M(UM6NbrRB1QqoZ^?i@ELfDe+?j3O!u^i5 zB~HZ0k#x^cD*PJB#k?#te|1fo8>x+3kd*tdR*CE5r|QSgLo9Vna%0G0u)i)!o%w1` zGo%N5ga~K!)oF8^QM`N&^P6W*fJI} zbWP=^lPwPXdX7k&X)>)_v^!06?a!}cep-jfPFxBnR=~CD3-x|uj+kVmi{FSfeSHoh z2%EZ+Bq5Ln>R@qcVL9w0_M4yWbE?7BE8(Yd0Q?`2vy0?eO-Zc->bw-i@Su8i^!F2l zM@nEk2?wGg4E^LB9(l8VZ@+5t*@RQsd^eHTza|PSnL5jhk4Dv9FXwia{vx&1lsNW2 z0tS<&A5!b4dN~2O%;I|U^xkzRkt?cRT#i|>kGpkC$zUR+QlQO$v0np;%vj|g>McG0 zDz9-EEQxpuG%`aH@YUv2!j%B>GqCE&`*hjfHPEy>N5c@ACkL^IYwCGGI>$muK4%Z+ z$)okUhI~^g&i#o1xJE z^UnUbo;_MGoB@l51zQ#qVMOdBUb(;MxB4m58x8NTw}d=1u-5d_pqfMY%ITxEoG-M% zJM3~SIuC7K_9$QFH3eHY#%^Jkox5*uIbkjxUDNd|7Kz=#Mgn+G@6$>a#Ci}lxBKFK zlpa25mi{MnNL%^ho@sCS93XNjAR_26?NG)Y0uHAvUOKtGC*Vl0@PqDPLn{nm1IE=I z&|Y}5>{G{^n@4k!zzA$-E*Me!5R@ovoF`lG-?s4UEGbJTcjTO6P8i8G1#Lf5(9j`B zLB6O$D#*Zye=)j&kvftc-b*-TiCIl5whXv9I6i-}EVSK#+l~TC_*2^605YR6gHmy{ zmUL^q#a>VE1K=*_?{5Y}5j3N9WY7%S$J<9b%maS02j-3^fFJ;uwOe(xy~iu|QL;p) z=Hr-8$st}qgw49axY3x-R4rTiQ|;uTTHVu>{w^`g$sZ&_e)VL_B3MG6J(xXke={XG zAwCS@1ahLonw$@S(knp!2`gzV6@+-C%cQ>11cO z%0`hs`rfe{3Z2d%P}1^F@ii0Kc-w7-vdyB78L5Qy_Fmdxs}*1<9o5pwj@Qken13(T zNx0jQ4V$MS`f1CA3um`ya5nmw^d-u^j~n~}1w=0mYCh534Cvex>yWFFLOZo1*xIG5 zh+^wne|%Vhrom7Z@N>1hTR1T90D?~bs~0~l_w9l=;l6_Dmh1z5+zu_5I_wV+RCZn~ z?aZK?5J~rMNQ3B-y&*^NM_c%Yh&+p=TU_!4pNEjYNi?tMt4pS_hKC{i?T}{@zgVW^EzaAqfGD&X>tprcV$PnvCXo_TXe=Kus*k zPr?XESQ5=gPU;?j0&c!i!Idz?vXCjmcq> zvN5@Jr&_TOb$b6`c__DRD}?66=l8t4WE+-z(g}Eetruj}C zlmpTX8gCYlCR&ki9xY(L%j?@=oI3d5TGw`Pqmp}Nv(~+&d0>JNJi|kDNBR7n(o(cj z;$S;daB{ja=_@99K2#795J6(g1lz*O?kFsG*8Ne0sNu$JDAbBVSG`6S%|~}}L@_-P zTU+kzee6WS)YzX$gQJh!urPgm^_xMbc-07WiY-V(rxR!30wM?|BF;qizDEpbsbZQ( zh+sf*GHzQ!jB7So6z3VmbdK+_9D+;cA+p#-sEN!lggrvo&IgPrd9+oFqvTOAVDTF` zDG+ITPaa!B=^*XS2X zRr~6nxeRh<18yP7)EX4)(m51iGee&h>IlKOd}@Q|VPd*ER;ei}JL=+~`#W^^Qj6Wz zMDnJdjar)o_D-?2Pk4&Y(nIUENwD^V&vc zqhe(?`Xl+eWc#_gPi+NpV%p%1xmAuZJPsJN_1-mEw zq&AUZKeNj%W26!@vH^3&#TbwF#a?jPd_VVXr1_V@EPk8sX0aYOc0UV>pG!-HMadzA zwPIgY*1`kJy8|~QW^pQpt9=rOI$K<1*ae)aUEJk6GAxVxY+eni$~A1R#a+Pp*QSmF z%@$y~lcE+M1dKYk{yB}{<7oNg=Dd{XY@xY{;ugzdB?7R>>@Ev~(f$C-tpVt*rFaDQ zEoC+*@?(S4QLoc^5uXWOpI6{(SM~a-p!eqB_1c`hUkhGuOZmMI3=h7HS!L%vi8Q#+ zHZYUXVkz&*vUJ{)NUJxPv|YkS{rs;S6#fb)!}><(UYdJTs94;+JiIi1kS_EiQ~e9Q z2c6yv7WRPs@@rU_i7I(GKe>TF8n7sv)p*(Ac5b!;6$3EhPXpsON(sZA8ZN26(HsN+ zet4r-^qN@EBk__k-;sk?a)B3L1EbSlnGuQFzY}vIcWgb3R z7J;8t+{Q%Mf=?&4%HsHn48SdHTOmF?BqFRf{n|BiCf?~LUK5^po%xfqr*6$B+l?*1 z75U<+7|aAbdnHfwN=V*vGHaQp6{K3Z2xo%Ev{lNH{%T$`yS0!fcDw3&vt4iC-%w&M zq>pFbr+*1aCG_`4_V2Uo-=Fe#Iao%|-^$CiZ&&(rEFqZ%Za>R(9_Bd=NWk3+OiIJe z$xIUi7N_EPiMjIZV|#4es*M62#K-!-!L!*P*?A2iq{-ir0|t zQ`N(KK=AjoHoTu=O%ArBw6ghj6sCj2fj(7C(KUZ)JzVWSygU5xVgKR1>4#AKXNbjB z_hrOyx-nVWak#3>bk6)XW2v%>ZO8#Mx4G?M5_8+k9Wg}pb8)0h3dlaky^HRv*$)qA zty~~?ufMt9Is+IwA4`iz#*bX5u#Sd(Q|1QhkS2fV72Sd>@I1LxVV(sd&y>N=2UyaQ z4#QsFJ_SB}#ayLsB|OXua9_^t)UPLFFeSImMZ&ryzf-&4shf6PK8g@*dN`bw=o~JH zg0+skoq^ehXJQ>0P#*sO_}s%Qb|q%b^x5xL(c^NH3q40qHi}@^&X? zXh%T$euZ~XOIbVGPX7{fyZw8e{rgt?_fz~`Ztk~#KN$EiM6TUdH`ilpysgOF7ToADla`MK1%_s?n8`8;f_ zY3yDMm-t1la=#v>m>MO#@vJID<|hpcfcelIkg#nJiI`JOM?Vu)OA|L||--LCa2+xp8Ha!Xb71%1-Z57FR3 z^YxAu^*p~~i(YOCUTzLv`u1(Td@p$U1uy%N;>-)ZOfz9;1PsoSRA>AUYD4^SD*Sda zQ305n3lmely*I}9Mh@S#k-2@AuQrtwysCxj%C}>xcI~5iI82}h&5s?OZ(4DMIT-k_ zWy=Lf2rQ?|=QhI{9U|y{dTNt1xNE9;Klk@UnH1Af&NxJ%KfaE3{Y*9c>)`P) z?PjoNua%RtF@@s?ew$`F9(Hk<%Vi*%q!M0}=2IcX@dM~`YcTR|e%jr({;lx?%xWdw zh2ny*c8~3wAD5x&D`mg-OdH9G)c{>S{-%Z2L2ww3!?FEK%`YS{z_YF-!Al=#!P3bs zUY}#*-(p1@rd!%uhXvFeuBvIk&8dAXVpM+ca{X2YK&gJ33Zy-3qTfFfGl9>LLjPKd z>h-|9LM34`beK&fpFEuB%Zb{BP9~;WS>-neH1l+TdF$WR8W3%x+`W=wJpclii_8GL zWpHFw{<#5(54{8b3n8(@Tt}uj&2o7I1lQn+iTP4Y(;@KLD7A63aSK~mDV2P!hBmF^ z@I2DMc*ejb*%e$`WHs#m3bZT?m|r*6&|yEyuBg>+=5)If{dOyP(5|G+{FXG?yO~l* zw7;AJ^HG_W^E30|Nu0-X3LQFtS()LjI29C_wf!5>8Y6k5jKtxdGLIe@?w#2zZ8(3Z zD)j;8*QeBY2N2Cl2Y4b9Se4RJKSM2Fo(r4QLQ$LpbVI*oeH_i=$_`r9n73y%nFsU8 zp;#UO%`gAc2gkFxo0XL7w3zititq`u-Zs0&;CAO7C07CY>MPg=v>HaXmUNgU{e*p4 z&(zw^c=N2V^B^>haqef!_{ih=j#9te zSL?Fl+x0$_@5u0*_IZuDVw%?b6R-OFc8S+SmY75{)e&@uqH0Mu7c}UJC4=@LbIs)` zpK5N3P)(XEqR%q}>zry$D=qnj4>}*Q(gKPZFxNDZ=C2xM_Wgt--#J?CdH>)PaQfyi zgKvswuS|Vl$3Dj(P~SL9t7D?)5SPzPw$1TjZAm}D8mbTUYdl|pUm<|`Ld+F*eI`jE zRe|F2>8%+MTSAIfj^Zhz2efmW>}5U3ES;VKu}eW60UqOreF9WbeVjj)g>aj}-aixz@BPh2F!dSEs6Hp=_AiYb-p5mf1-wN(3fsHb zxEp+)oydXaV@+hx>Acc4{}a`oX>_^Y=n}utyP-39(sO69g3?$zgLPi6GdLo+=1dCt zW|k~+=`*+>`wT8MHKvp^7~!b9&frJC^cVhT7LKM!2jm62lD_Y^;I9aaVo%`)~x@lxb5Az_hodEIVTp}B7+zIlh~ATFQTDBQjknxg${qIPQ( zhFd_B(fvDZo+=!q_wP~izGYw-{Qpj($xLl^KC_W|wYx* z_>aln>Cez+rn|xKw!m}UzM|?Rbi*rgcytwrA+rZ%=ILb1QPCY(GdFfXJ~ER}2fobg zfOQ>TiLgqPT8@(Kk}Y>Iy~X_uf-9&Uvf8F5b{%THuq8|0$t(n zxL~`2eU~Eq7v9Ps$li)yy=}g=St+n{C|K~xIH?c&n%CyWhGS30KY4fGKe>gczfnGJ z>bQa_`Q+9)LWkLMLxW`ApNq=r zPpUHgZGCBv*f?@_pPn%P$&;9NWTV%v5e!j53;`<(yLd)_vG?}ksFFj(%U)i4ThJ)N z-rh<8Wt^RYc`UMPeh3k;02h1qL0gd+JJL!AxY!dB!(^^SBUDTjTHsngz)V2>HYRz? zDvUU51XLbQXL;sv=kl(@+TFD-CUQ@`N)ooVGYOS zHr&|40bd(jzyvqS_Rk?LCprgjjc0(HL1?n8RAmyl*`};`>3U2ZUcc2AU_O%`&Ig$1 zeSqmiOJ95|b0Jp==OicW+lca6dMi z7E>pD-Par<#PgFV480^q_u4s%PEUc#O{bUK2>jdhJ0!v=Q;8Y{l`zt;$F~wjHz&3i z=?L^SQWxoS;F(51)*NXk1I!2khbD6}Le3m4?1Yf7HZFGLLM#tTBmy@2M#!ag$8gIc z;g*r$mihp<*zlvCaf?Hi59Gyag)Oc2;L=JkrZ8c5I0ksJ1zn!~d(b9i+AhSY3($m# zQvfs>+7vmb9)TuGtp18XV<+>!8fehb>VBonMRAT4Vrnj&-5@w3;u+b;u{d`Bw?JsP zhn9p&3)_{&X%4eE2Ypi(=R(KgEK&BZ2WP9=!vqH%b`=W>trnr-JKzX5KC_=#j9}|LAWd2i*BVAaZ?^C=u zc`Tfd&zC%dFk75x^iwl{vepY1*x-J-mBG23+Fv+JEDL+JWI}5atRjIv`*(D5#dR4A3baeDu?*rolEI*?3|9JIDds>7v;$uyJLC( z*B-mvfh?W)njG2x6Ee(7$UM1&g8PlDR{ES5xa<8j9ztj2C)>EXXV14+_XCn86ru)* zQi4Ts_{5iIr`d-N4e7N*SF?f_G|E3?zv&1s3N{~K&~93lPGKnHaL>f8NON8ovcEC|k5+Kwv_ ziaDy4#)U|B5?kzz0e_RMVGpGwSVdNvQnQ>WypNzYueE!S z^$koZsStOAdM;y}@=k40DZAJaI9i_~II#O=N=S5O)t%axr-G)Jp^x@b z-_ooZxF^vlvn{-`BQJZeE@yrhGi7AcDy%C?}EZ|M@_Zx5qL7 ze8bFUMxx9SZW@CUbyO~sEzzu0EIlP_lZITSJvF>L3A0df4PVjMi0nVijA_v%&ABtR zWl}_QaXv~kEcW(2(#;VUyo8y?2fl@LX04@H-) zT2yWpRIn99u`#l;SjfC$;%|EP^3I9G|$ItO&J&b{%I|^8k^PR zBNzx6z!YyIch^93;T**C-?O6OMF00y=FE*)stZRb3s~WQYd_am<7UFN_a$+WTkI-5 zzl*dT7}?1$iJ%@=+Lf)?C1iHLigR?owS^_-X%u1VX>OgSpck_OKk_bL*q@w2sZQ_P zs08!O>Zvw;!#!AkPQpBpk}ud*YzH4x zB>w`eNsyvF_#;X7BxRC3)C_2ijC4ky20{pxd5ofc&E0+86(-L4b-p}~&tA-D{jZJS zYiG>&zsANp>8?*MSi zQX9RJ1uO&$aN;P;>GkHZX#g;6&Z@pO&JWEZx}einbSg-Zpo4Szda6p|4zSixHm|@u z#4WYYZBCjqIShV%#*TCIPQ%D87l;kT4Y~>(1yDyXwwHz$GEbdVXCd_x5|HqKr15}i zAK@R1h3_jBFYj+=rHup4pPdOgUw4xCbEk#U#BG{&F&a(o9f@0jRS35 zmp%i*Jw=}MV?ZhUs?2)gjCg^$wMae~=Gjvk7a#*wn#I#?+^N}I<*uhye{_s#05F^t z%4XCG@b2ox-H{?o2rc6|Mq+`mF zflB>>&A*IMTynR0s&wTDSUMALq)M2w>oDrG?z>V}Js6O<%_+svUo+JjNVcZPDzDU*2$ISlB?kR+a2cO%8L& z!=a8i56r3L!(!&AP8BLa6St)j+$cT2Rsrr7)v%Mu)aTG72AHQO)%)4q7EV)o3QbRB zZBO&mBv=VQyBl`TAiLYbX<}Ulm_PS*pt`)6aQii*Wj+T&&Lw=a&@{AYGR=@z3xJQ2 zM>Gw9UG_q~G`!oVdZ};@_!a~7Wc`V)q3KGJqqB!SCRput!OL93-jn0yFN2;B<#;(Mc==e4m!}3V-?K0A z-E6@f!TNWX>gde*{aT!dji!HV(E7q6P2XHascp|JhtIX0Hck@C@yyFauVqB^_kvDK zU8mFiPqfao4sV`$rf=vI>FwL%T0cI=P3VRhe(UCfT&+KIt#9>P-+{A;oyu?fc4nqO ze4-CdXB0=_Ed9}D`@%et7h+4(FK=?aGV*x(&E32ikorGXVFEq~Is8Tr{Q=wTh;Eu4 z6U=V4o5cO|0rY_+TU2`UDsus>zT>I1GLYM|#i~o|=|bLuAE}SmGU*X~)Fh@d%&-a- z;FtmXSY-|Z5eR`~v7M5&B3!D^)@_eV)l|+RZ?R=7<+5NIR=;yM468owzGXXG$6+ik z$}CeWo>d%bdwM8wsM6$LiKa8ckrID5s{_3ZyHD*X;vWjl+PozA@`1UeqxaP33sOQ3 zkUv4<|7Gt@;G-(C{qb~H-%h8q5Xi=E0D(azVMKA1pgf&%FgW8ZZ{{E7Ig6qVxC_mq zLXe>1ZiAqXOAuGksE8|Z!#(1LTM+jpxUaaOsQkX)Q+03O+kHC;LZUN&KX0C-@2y*P z>eM->PMtc7IuMtZ>T-pPi_5I;s3L%ClWKVaJ;`~ZbNw_;rbd9cOt|Y`!ONr`vXd-7 z21b`cwWdpqV?iODj05L)sO&H|*ubQZ3@pNv4{9O#C9()oo3@A|=uGa=A`|LY0Z(I` z_JO`GE!c}zXEnfy;ut8)m5d6zKZqM-gho;M?4mZK+%eQ{wc;3H3GOgyA;bA0}#G6T2IK~8rVG$%+lhI+=K)D|9 z)9*#w2UOc*BsLU}8k3K_YqWt&B*WOG;vMH~pK+im%Q*31KN~y4rWx#f)P>0F9#w0O zEyrwg)s1lR#{>1G1SRmd98MC)i2drbE;JRx?Hy_F7?cdbvIaKd(shpAI7U@9&2G#U z%u)}`B#mIo>;xq}reG;)6h+?n47Ow1h}U71)@{Y?9pu!I*JxRH`Uu>HLJC~<`$ir* z@~cqnqC&k)oxf71dgrlJW%ATR1;8b8<}b1OPn2WgImcE>Z1@rseOB;GdlP5m{-_aA z71{&MzX-r|!Gro$@S{^;?`z=yNS*ch?6~}1%Hq>^&gO9fg#TTOGl%D^hK&ieaI+ap3An0xD7?HPk)0Gl2See-<6=b~?<2Y*Y(KH^l1N z6|wB?t}LT6B)(tBkI?*P27PXR762Mn}vnq#x)x}AH@Mf zLS9&eVi+ch;wxc|xlfUDSqHn&1pWs2gLN7(A_VJ;*ot)~Z!u0GlQ(y0j)f!oV?Yv9 zcwdrC;SHlDZZ5EjxPq4g=*a0?QuDmVPdDJ_4>Jrk-B{v|kvkHBPPj)`o4PS3N+L_x zdX3%sHh1gIN0`=giaf3VaGdG;E@|CQJCm{>XH_2QjjI`w`0GcxVg-rt79@SzHyqp^ zf72lrtJ82O@CN)j@dz;XZ*|Zhb`$k%PZKog0j;i*hQ)qjv3+42jBwLrRS+oEP8Oqf zFpNWtMt}rhoZL1c>LWLIw2=9ltuY zUN_;n+S74ZZGe?UL&LK^-#Zn5sCyvJnUE`G)mC!Vq*t7o(5-5~C;~u>RREza<3|Q=BLIfB z4S?ROuYkj~gB`4ZL9ku4LFXTf17D3WE#qndD(~iauqFWP4OHJ87aShI4q2>D2?zIf zo(;2~HJVmH`10w&U&~_*QNZv;evN=B^YQNX$C8r0Sk3DifoTV}_ZWsn#3V;;5XI+# z$<^}pt=ZZJG!LF(+=~$32}KyrSeVUS)9J{HkJk2R!QKvl|6=#w@c zrEXqVGTr z#;i^`QnJjxjTpO;{JmQ>qC0nkNtViooXK{^k*s~64d!Rf`YU+7w(qlEs+{65hWo++ zsx+Z^WZgk^!Bu4+%&U7ia-NJ{kJ1JJN1b&zmIG6$A^3jK_fmVA{^Yw0+yCADIMirB z`ly2wP^}W-NPioOMbg`K?eA@v?(COPgU7&80SRCmBmJOE7EA5BZt7ND1jA%|*P?Vc zbqxj>iIdo^hiRMc?1X(V4(=&sUF`4lpU&E!iC|kFOQU@=|7xe zh&_P^pxdY#gJmD7MnYR+SuyM)s5r*UpS&3A+BM@BJwh)7r6DCwIMN$`&?h}Inop<` zqEIz9!Z=?x_V zwu@!mVe_z!Y*;B48$p;6SPrt{LELQ_BbzpxLC84eCR??#QEP17$c8IUw2SlPskK`R?p2v#;4 z_{GX5cOBF;)PZ#X&ueDWhBvpFO>@3&W}~3mMV&bfNl(Pi)>I3Pv%9)IU~DvxW??ix z8x2-d+u0Za4vj7)g^!P&4I}NSR!nYyE(9xGs-5zb*wzB{;=r`2D{NFJAEj>}#oEUE zW+W33X>d1`x)cMOz9cVFO3 zV{8IAwF?vCl>RUrn@IWVrcg&$jd|ebTv(DIwy;U=0$hRJ=TAW~6Wmqfk`Zm$t_W5H zX+>iQ?6VM6obc&WXc(nhs&GvlMZBT(&M#ih0yC5`dbeEv>J^>^V?Y zD8sA*YW*|>VQLerXBipa4s0*|8QWWo?ajpY9A9joIo%)I_rgW93+_GP?f}wc`l15$ zeKy*XOR-K_>h3tw)=(vQjFD=8l@=RO*v+?rzBBc#=X;Xc5h+sFawFHgj~uBMy_v5$ zj#o_)bq~hkrJ&r{S+Ina>Ou_ffl}?=(%d!)^_c6XQ6Mq;M=`-g3CwO5li~bRA1vN1 z28i4h<-7Y)Yu>q~lF#&B_!LZIK3iwfiwb-?4;gpF&8d!j+Ug$ae5c~FandQZ^^Mc{ zg5!v(G=bWQlpW@33K#cki1d@(HR-QpoTWlLLbKwu`!+~`_VzTe3|0r~i1>}jgJ7Y8 z*L}DNWlmYlCIJsD$>Ve%vi|GU_+>YpwZyY*Zy-jU2??W&ca3F0vR$t`Pi~QEwF*3u7>}zcox!j8U2CZ||O@s_!ZBzRk zp?wBv7NS%%|AV2elRIZ)0_8kLpKdm@Z}Dc|Xu0(}Y#jTdlxE!eU%IO3b0k|HW4Ao5 zYaj}PH7*mg)%S3)4`H*fJ6g`Jo4e{0-NKOUtWNHrh?E6@3rsF!*hL$lo&xhXw2sfX zTAv+-RHVZZzD)tJWhIA@4U~>q16C@qv5|XL?a9U^cl7%#*7yT)8l# zNoo{Qm!T>4BUESA!^wR#kN?`63Rz9Aoy4sWBY#f=A@={>m#ytk8Z)Wzi4lHjEk%^;B=y zLc!fUlee0H`D$Dy@LufRV_S@3RzYLEz6GUX#@xM)Xp4RJPIw;iz6*}#{X}4%b8PTv zo*F{x(*mY30cO^s&>h7T)&##k!4(BI+y!0XAET~17V)qlOTA#X{RnNbJD=B8pMfqr zHu%4~w^!^I?;X|XBNT2cleA$`^$yG$mil)oa&|tVO%Wb8o8QN@JNpnV$ZzXTMMx5! zLqS~IgZ1Hxb^dcB*KPR>88{BGaUDT&t$Gpglm9R;0&Cz4P~#Zi0UAbq*shVWk|g-* z6QEm;(@BD3t|Y;yS_KQZoMW8i!0WBhVtn3JJsJXQZbGsnA^6*R3a`+e3JAWfCvBSe zAt;jMj!dWq0;1b8hWZDRxXuA=|cN$?AgR@Bj*&h%p>xP<*a1)5S-LyDdg|h}1 zb{z^$0#B0lx9fa^rbb^h;S43Ylws4lG!0#_?(a)Jg8KZSV&xL#t3!4ipn@?5>ba6S zZI`<{X6AM&&VoGTJeAL+z?T=$8gZ~Wz}sa{sTnl{kD0ft-Zxn_oRs>?_S2nPmHV%R1ro(S}mv^7S@fWH{A3 z15jMLe7&p1*V_h>G(?#u_5#P(yIOp`Q`?AVO{%Z=0QE3r4I#jp=vpS$hOqQ;3B3YfAL_XF}Kr^d(eDRU(q9VJcZ}Ybs68>-p{a5 z{R}XR-ZrQW=wtB*ksxk4yCZjH15A*skXgAaou%oDq;XZO7EXsogEO@H0D2EwGH2#0 zVmqfyS{|LjNliZZL02ifPLBq=_EgpPR`LFJphops*L~% zcZ3?G2W0t*)g}fq5u}rI2ofxe_7jn4Qo7Qr9nZ1RIWX=phxfQ?5|*^1Gzrkmr_miWtww zIJ%irkBAZ4kUS1~P^PYD5c2Iac}7JRzq$Qs(JxaE9#n4)Qa8dK8dpScO>@+@*q zUuqmy@ZW)++AG+zxYzbK$o%{tRBO(H-eyHieqB$)r|gDLNW+^lHvAL^XjY+3KY=vD z;^L%7u7alS7?NMbEjfx?L{&p+HA>KTQFA8XhO*M?Lft2CZW$I+SDnwNR z#00TcbFun*X0^6Wd%Aqf?()jga!;3|GIkk(%?4-13DWC^nH4_0er)%;vNSHe&YJ)d zUV~hIIMUyURM_32z6rP+4Y+4a0D}$V60e4^1(R(+&NYJluI~U};#$5CUKA|#aU;^s z5*ZkS-#eqwl+fxZ5ONz~5HK@&!*`&~7^otuoId90fm_d(RDI76fR$7aD$*lPE>hJAYXH=FL)_;!De z?*749@J;e`A4`GWzx#-4M2%>JpGSQ0a{)$R85ShhM_iaX14}#r_ne6KEW<70_TlTW z2&_Io%Idxz*tpDqyJ}{Q4>lI-&YshqQT1v-Q1<{}pSirMQoD<&r6~Drz+34H-Vh4nYnaw8PtDr`Nc>#RvJ#G{xNzc($ukQNwD`hvc_5`7J) z(bNk6P7ZJ%BO!v27+O?l&nge+t^=}qMqw5hTHW$cJJ8er3i6Jiv9=mH4J`u`JWYq2NAZW~7O6uK?bIBqPjx|Lx&(WSf4X*e`spYsG&1p3p{}TMNM!J6|BA7yYUV#Hw({;i{z?kZ_7e~i?pvEL^qHo zQMEqD<>?07C%m)-dKh6Y5^FWujoP(AgQRC7#zool`fdC5{l2d^VoFr4@`-%UhbQ7LqdV?0 zn6H9D1h>Xa(xA5jRB;+j&EwwbCW%F^8>IJ8RiPw0Ot0t`z40q^r+YI#I-cIn0L;)W zqv{D{+|PxPH4{Z-evO>I-2Wfz1v!L@rzs^7 z^HuXWsLCJLR;&34tQKL8MA=s4PV1kszlOeeJnt+%sRdd67;^rSl!Qz~^l+!k+Kb_+BWiy`!a`*5S&LR>?5`_Nzs~9YpNh zfRMZ)h_`IQadwyA*isbhsU-CD&{e+4Xh&eqr%z;xMhAq z9DGf>1<$;bSWUJLj~Z%~?CIa$gVk!mDnZSFRn{LajP7OS2S*n9Ea@B^EVql^V3h`| zim}hrMn7TxSgZ86`~lNVJ~DbB_mVR($OPb16Nt@5gxpW*EA0hYDz~I2SdA z^2g#`9^O@GD~adp^YL}}=T(Uc7FZBMk4?}Km^bCaF^xfE1>Ci-U^UH`kgF7b5HJ{30GXWUJi}eBhdW%t810$y zO!T@*OHx90X#Nz=^nVZ<+=Oa=$W?|6%cZCSavq-3db6$vFL$cZ1}2@aaBYn^9<{Ut zfe%Py&QA-~^I27_FE(C`Y1iXHuO`^RAYg#H@C?{w0P9`Is|cm#Ac0t|gyVa7gSOjw zV7>=14~mXPl{scv17dE*LW1dZ{1Q5N4gQ#1pi5y~GARuu1_SB-TGVnNqyXyon%X#C zM)121zu^E<)`V+~4{Ph@QhF4lIA09EKd7xnGR$%MH`?c^!*Hw{!!J}B??FDSt(lLv z=c089N>|bKa}mg)c-(rF`LXi%B=S|FB#tkN)%%BS2$rSM*3+0zVRYf1@K=#YFJ_X4 zHa@{B9AlLoq0L~V)JiLVFAO`q!iPTBqmTZeu%R|i&i2QN#>W~&4d70U=??+dFkIR* zxoxGGG2uvEF<+zLc3k&z%D;xg_ZWVF#-N6Kvns~gGyAYuFK^=TCLbC1l~C6J-~eIe zu!5RJ(PwT>iIzI`nD7x6@MXzo$jg8p*x?b{)Plb%@JGEK_!LxO5{wqBC(Af)KXvuQ z7T5uqU#S>5Pni^P6>!*_j=1(u8cA7Di_I`*+t0-&_+l30Hi~&~Nl+R%8eF3Sji#Rx z2nw|d2eNB&l9e<&0L z6F&pi*8$;nE%X9wrybETOw~KVP$~iK@caeK=>|G0({s43;qMkkxHrh!a;FT!pOahd zr#+w*u;Z2^^mndy7uE{ICYn z3Cg~JJfK7NZj?`(4kf=8BMu%nyCj?kd%!(e9^Dax*-t;h9~`IYP~wG+g9il!f@Owm znH&s*tHBiK961%UhWGLD&85O*zWffeHBaot>I{eF8SB&`EbotgEn%Q2wu9vjw0UY# zlIsC|o_eJi$Rwit#lRYnaNnrvjRWC!!Cw~%#@;Ei^$dP#^o;G)i^u_f{vCp{Pg!Zv9T2q%+^)0T77$ZBjqtow(R*LH*swT75o65;2AkaFImv za;F-p=1qdw3=ZsSjU0u(-$5dnl1uT&`6yb(4S%CVJT#y)ieX$yzY%2MMvJOPF6-W5 z^(OMn^a}Pb!81B1W~mEVgA>!&1B0QLfkVxR3B2g7&YYyN|9L5Y6L?8pP=@JjXgBbr zMH~3R0DhbRU*iirn(7c!0iTiz8SmWS4P!}$efCOk#LxoYH$K?SJp;d*q06BImqgEdG6zdrz-7^y}C8}I=A?CT;S5Fp|R zIbdCa6x+RlNNmhm3O{r-jzQW zXH;_=jhY*4znaTWMa?}*)Z8JsGZr-$tf%!{C{}UotZJD;gim+49n0qVu$A0AsZw7( zTZ8@*2nSwOvzo1L)4=;s2n%VAR&$Ubr;i%IgqKG9y%jgNSWrj%)$!@3uO>YhRzIqT&tUiA{o(waJ1W?GAC6|Xx-GZ z^%wpsXD@XVG;3!6>WxZg`H|Cs@9{01`^WTH$ILzrU@xPzeXBT9kF$f+jP|h1jf!q> z@VB@UmyeD{`_f;S?S=9OjJRwE?pyil`M)rc)nlk9f3q@X8&6j&g+~9>-i4rmMcf`P z03b2Q8#tw%jB8RXiQ3qW5x{M(NVQp!3j8ZD!fPEBJ2~Ntiu_J@_XvplZw-j&7!W`D z!5}_lK%DOj;v)j$Sa2_lKDZx)_q`5q^5FVOwCWvQ2MLE#&*8DwfCV_~&a79>kZpxb z6IB5JVG}TgxW~P_0l&z(wr~c5BIgQfUn>oQCG{Z{6o{jtRXmp;s`s*kJBg13KEw@X z0bEVgc{5;BTZ%eiSfm#*#(+&e=QhXI5Xo$6_?=aHCn%H3bLBXzaI#fgiCnS#$0|Js zFL(!02`{Qzq_716pBdNy!miZGvOE~rh6V_*3WV?$86YHN9pcgs7ctVdGb|6bNKP1$ zT_9HGUO1^EMz$130a_q-?r;kPkGec@(*jXL>qDC5 zA%W&AJ7Oio8i6d2UTeg-EwM)I1##e6)6GpEW|C zPAIe?I`$G(SzXWr7B-#n+!&Cqo(Nr}w^$iuFI$D(s^3s~0`-}@n>;~w2efJJiRf7u z&DO^r7$7*VdPl+=itTaDY4m$6lD9jLK|)8Qq!}di`Og0&k~BzECk+x!aNF&ilw&vJ?JWqxG7kZ9m>onqdt5s$qRvIjDXcAJUAp_QpPAAzm>>0XVrZFnEVb0LTSC=^hwhPi4tQou< zrhy~fngNeU+RB#U*qo%#EwX0tT-AoWU{*j{C6m(OCnYaj)(nk9hzwCTx4@clhsay6 zEn~Z|`Uv)i6e|YIh8`=1ZN$(=m=nvizlQMpiBR8Yz1R=d3v1*qR=>!0wxy!UKI~I` zg722Vc7fdtInA&fv<*~P{hqT%j>TZ_ptL~Ao%rK?IW_!3`B625n{{HRiF>^8G5TACFR%Z^^Wh6-uLlDgub;QqG zSaUBjq<#m^ZH~=H$6=j_vMTMjt56{3$52lqe}CWyiByVU=a#iT0`>bMFLF#;Q$~i> zD>SF{4)!lI&ssIARBeq>1uDZMhc>~wVvc%iCgOU|SV;gSh-^73YHPy_WIF9GxZM03 zq!R5e{g__K^+fwAdrdDi*=(?z4U-SyGPYH=6)_j}ux(m$x#$>F?8`+!zEIVmDA%1^ zW>RU{3jJN1RA6=&{k>lFckYA8yh8n*76)TlDF*{G$1biV+G$xq2;!C*R_w%oCYYB8 zc-mAXpgyBbB?i={+f?F!bQ{}L+}C)HO{FSng`rRdymE)v5e5}lP=;d&F`wWJz4hi3 zbXX}ylD|tNLS`e0L9t^b(Pk@3{d^i)5CAx{g7y-h!*zS@B-;cQSX7wUs6xRo;sc8| zi0~ec=TcwO!nUx6z~10BhUkEiEis1laC_b$X?qUpyg<|*gFq5h*oaLIi2}7hr>A9! z@l0O?H-@CMd=Ir^cJsLX@#*mh2o4S{wQ~N~3PsN2gBo$6e;s8&+5c&{?2V|eU?0tt zW|-~K@I^`4q`nR`!p;*>D{?Au8G$#57;2=UZzHUeJzxN;uQgR`JYXV(ASVjX;{SuQ zMKrA7D9lby%4O2ykUC{Lto1#RDC$dG4p=#V6$qaX;%^K*7h7bm`VN*_)Z?3rD+Sml zz7Nui4smbzcSl^@;l>5sMG?%TE{+o5BK5*l##TjCgWzRH^&G~)@m-!RgI2I3K7VF9 z7B2Eff%{Ti+OYj8xpnxBaTy6EPp-{P@QMEe?KaiRy?6-IMn_R~R<0|*OfR((D?;Cx zP;iG5tMo52$8{aC3ca8lAzix;k#irC2n{jbw4g8B0Sp@m=wfAjA z&5`f_jOsJEk=j9B7YI%dXx{U{F%L%ffl(n3b$J9K{gDL!FW8f7;PGI68W)j;sOT$| zYq!xGxEPJg*x?U(`CJi!>}Taq)w`|-&V}X7(WY*MZ!inq7bDiQ&jD869aav!u2fT& zpWm+T&~MgGZw%fvz5S1?HwN?(!P?&7BPmEUkIz$1kaD!_6R|PLl&M$|?3zU{yedeJE`6w$V_=_SLpl(YC zxEOJ!HYuKcs6&dr#JCb|3lXB0zu1R-@KOhdU3$1DE&ykp^k5S0WNp0L=?dcxG4b_o zcR4(_6*p1Attd4(fX^O;zdermv_iP!FkBAQVggLMWmn(^@s*w_;Q{FA7Q{FqNb{+| z4M6()wT(VVccFvs*iLMXpu;y5K=%mM6g@(}e_-5}x&OPuWZFVd+kquI&oAHxvANL0 zo1K&ho>zLNM3w}0(KA5&+oC|Z{LMmBn2w$xPSTuU>nPJCVMpruQBa0(Bq1z45N_f) zkOU~T{H@#*E8z;9X$x6mSV^TOPk<7XB$`y(g{%}>3j9GM2vpHN1hvY4t-iFG(;Jx5 zN{pTml=vaZ%+dol>95vG;N~3WIC)@PwYqaqh4~ldA@~>OjAuSkb}pu2=Sik%1x%Nw^rFC^y**(>Z9XbSp;&`w}YI6<@tZ>fP*C=dS{?HSb9{@58!@>gQY0+caKlg zaq`?pgu9_|_cLujh_r}iuJ!W&aW`wRivm4lnJfT<+^_553?<8TCPJ;8qu(HPN3h8n zp%2&3!#kLC(6-TK3l7(Va1V1eB3dPF!C*H;qYOYF!Z1RBgnkC&hVJazB>mjed55&Y zSgn=zA#Eo&q?g%-iBk=za%|p7?TPRnZ4E+Mv2BmKop39At!c(vAW>rgkgiws?y zpX(yjp$M}BvubR=3D>`EPN+k%{1?OOAcR`!2IzCdnT4W}lCi?BE27#eC^S&1x}uT= zt!BR{wF>tI73ZLyQK5p%9?d&-sQS@9KxvWy>$S&>SqZZE4uFbC_5eB;WKn1&#nn-l zRI$%ap4K1PByp$P+*XPFpdf3J2$65v2mBU@0|GzY7s&#<fLp96>I*R<3h4sHe)u(NYPqN= zs^(BU<{*M7^1PKZ*(zPY{{qQtW+MBiTCRe}(9d`s98^sY8@)Y5C=k%YZ;{(`ot1N} z{Vi;jH!B!oL+Y#459Z1T`|6g6y%NB#g(G}$Fg3DaZaIa>Q@)R?bE9ta?l84S^SH5N z$HJIM>#m9hhhoBT%E#ZiFzn{2sr)k!GBroV#m0-nHX3U)>8n{Ca1}EQ__`EZo0xb# zlUQa?Voua`KQT(n8Qa_4 z>SKErcjUM)zV?Q2#ahTt!F!g%zrf1=rB(R9+$~^k2Q9U&d~Ly2u{R{h40GZ2Gkh~~ zg{H2|{V&B|PdEKtXWv78S8EOfJG)4um6@CJV)$LA zo&yi)0t8mr)%RBVGYNWqk2EJV5zL zad_e!aZbJ+RqyBlyfN6KmLdC}Lej_wW;q48%cT)+bn(JnfLs4wIzt!ehU2j5BvS44 z@{sA}GsM8R)eFoJDB}%FE+T+(;2noV1=A835)iM`5bJCwzisf$?QP6$i0Ueldg}7o zb@*a5%AKR;#h#q={MtslPokSorX{rNuK()kJNM-3>3Taip}3=7y()Y4_`rdU7daEH zKF_6Mp9v{1nu={*;}<@3%VyW$Ll1&8RXERxU_{ZIUR(%nvll-E6J0_QG_zM=62oK$ zD0b-}Sx=!E4T;xg2d@w;X0aT^*0qLMn=Pu)(^jxWQ>U}V64dE&SEjG9E7NytgQTUD z501$PO+SIHXbD`iHLt`WD_;i-5$j(BpeaxurEf;0!9ta~86~@^M>lVpZoqPFcH_5r z?PIx=#Y=8PJ_57VoycZ4d-2lr2p7A-c;R8U&Q~6isMagiCcCw@VhyrlZL*uwjo*s> zNbF_{$g~xMHTHE>{7PprCQ|BbbuYPMb?xIZDwE`~Q~_zTD!XY1k2&4=tyueb%&qZl z^KC6{)l&G(t)w^p=&RNypE>9j!IacS>{Uy&kI$TL{8sH}K5OMz^)sL8b1@3ws?$(S z0>@k&^2TYuz1`f$?HlBZV3eGf?}BgkZZHDAF$MJ}PL+=$;j!22e0-j-cvn^!)nDD} z{^}peuOumn=c~J1U)>;Ibx}962Li zH0<{h4#EBLau|w}N?u^km)o`W5$O9+u9WPRb|+(%b%xVBiwHtoz?JLM`tzae@d&-A=412Y7Z%b zFKnVxG(dV@ZUdtF;nRrwtj0Fr$5ttz%13gvkIlEZTZbh5FyxSAg%3c^OFw8gz?q;w z3K7MS1&1kchFHaaMXDQfvv*&B)p-=01MjZIUpi#fv*hOcT>E>)l3G8chdg-n&Or`l zczm6RT&ysCo`_#CuWm#sJ?T+2U8FZ_FH8mKaWgDD=&?@s_&t7YNsq@YFb?wP+V^M6 z^XlbT0XsQCr1z{`fi~sy6eafZA6x&1v)t7%k<;+dwaVD?Z0#A*zO+yLI9fPSe{n!; z!No%xJNC>NROL>ZI!fnjeeM!6w`qEmDhc4#@xU)~yXsECa+A(8_u2AJ3w$N zQ3(XwM8fe9!pI&&`GRiNZt9v6US~&C;xLB3wNK+{4V=al8Peh4EXFhhJIvmbhMh*Q zFwy(Tld~k3TgRZMZFpR?)1mNu0WEb%bgtDKbwJdgSdrdsu8*gf>v{ALpBiML* zaYRbTG@I5A+;>9A)NGC zU><}Hzmsb>xzzie-BMQU#0!ilcUEka&s`(RPIUaV=CqRwTA7x^0L%aFnwBttUaS`P zVj;sz$Iq(0yxq#I(hY###Yz=fsg5)M5hClg3)5Gu6zoN>AeTJ;&*LyhZk&vmJya>l zf$RK0WG+Lp>n!ytvH%sTbKvJCe_~@v;O|FRl4KzA6sNSo#ZodfdZ#@S8W)9?g7 zE=+Z)9~7yl;Sz}~RO$s}rbBG}%3z~pv&d2p;{o=HtB}r5r?wsz8Ecj85AYJGaFW;fV*(+;fL;q#6ZXA6 z^O1y!4y={pt#~J1(M?vnyY^5YPiwKtg2T(?9&u9+jS)p^-ZYe$JcGajzu$27!Tv>7 z&RiX#;MwoyAYNoh6s0mAv5K$IIj_>*LkulO8pvYxZm>!RYNa*VCS4R+y+>KaPiWud zv>{wjRI~=g9Y1&?2@ftLTEYVb-vf$-;9?_iApsw0O_I3SiY^Q;Bz`Y#1Q!q$tpOpZ z_(4EuIlb2Ey_lOS!h8zDO)hQWm)w9(!iKxa>T{#e;#b!fF%= z1NXtfS;T|w#2p!$>PJkLrWbe70sIP-KWvILxf=y0lB7?y(&G(n`^MO6Ws47HIIZoY z$iCc+X)OhJd8dVnO?@H@TAvm;%b6A(i92Finbn_kinE0?_m_bz(HE(JL}tcWO5}#f zTrHB}abIUYKQD+pe(#};2xC<12yaLVGV>0D>^d_F0i<;-Ek^Wse6nTHb&joLOJA)#Jbu&P}` zdR(xZeHd~!U`I&Lw}zZ!^&V#p*-u2}A2JARkoct{q}~a}eYn7pb7|fA%L;TiU%LAW z-3fFdw--dQME_&^J^H?TK%To^(Kpx`jg%=y$*tNtux78M-1|G%xK<~NY*s5{k7Bl5%M7@RVc}~37K586d zD*wuae+c$sDB?m%#2Fk^hJY$O9?%^gR>vdcGV(J1U?#xG1^8oz4!m615xM_DAc`yV zO<<_cjH|Gqah=uD=WPR~cr|KPQ4@S>iriNE+!#a0%iw1l=@f^}&bu(ye(|k1w5KpD zu#fcFUF6F6&11HWv#sfqmjck}(W|~Z_F28wSs4;Uojuc)wz32d7Fo>lnyWUQ5X1=| z{htPfi3ww?GA4{=4`|q)ObePAt8~n`55V;hpOxy{V|BXN1@P(kv)X__Zh^E;7)>$= z^n_9QQzkX3v~y3kFsvI;bV7JOCvicZ34HgPL@HkQ#)Ew{S|1N|3R=rkWFB;+9JQvq zMypSHoc7G3r+P34s+~?4^7!-)NEo82!{o9^0|{IAqk$@)yxtpo)*H|cVCNV>jL1+}|zT})&O3Ua#93XhR@Muu*^>$~aCk)Ouz#b@bSm!GY_ z-STDU0oP@$>kPB8|Ek;9!au676|^h&*4dfM?%o(>yRne<;mjObAaur>dzoAOr?J_z zuAuS$mM(pg;F7VTu*Ge}R-PUZg)&Q>EMrpLQ);}osF{R=;|q}@V{D?;VQg*cX-+qO zGNyfcT8f3l6L^>^V>0V#|BYvg6v?>8yV*KQ9+bEo9dvn`NdfkgQSP+D8SF*4Z<4 zX8eZZkSUA)Ehm;V!{*52915@9eK@Y#BI=(tuw7j>ljW<*6sjqr0dsia^Op`s?%&6c zuU0o%Qk)~Kwr6pU!RkO=SYxAAqfc*jIxZ`fjY5NHjeG0Z%qo2V>FEm9+vYUrn}090 zQ`?4@ku^8qn9$1HCC9MLf02bugB>}4f*R_I37%ml=*@oRGc&hdBFPee0ta>xlr9@W z2WLCPzADx%xs&oiQ6sFc?YB%?{U^#MehyZ^*EZYci6_O}V|*g9P>zfJHnq)e{Ylhg z@acTRM9Nm!oJu|;)I7zESI%C!uwH=WC((fXS}iN_co2maG+6C%FDswv-5MR?YE*S<%!-4^`PFDV!i zPG|ZhiQTb-RvMl3NvNJSRRYSFr^v$eJF_NapqSjB+ zc5s~cB<-6>F4cpKCsSM*Z`(w2oo21u(yUotR%_o$+RrmLd7Ne{Gu6@kH==o%g|&81*;1j0;OrV{L~kW(lVat| zf9hvsstk{K-TBXIwburj%J#gPPe0SfwD+Hnx)=!U1oP^JlXXp@jI{)OzI5zj;#jc2 zI2QcGOk(;-AIo@yTTbf&t{bu8&5?8MpVj7qMxA@cXU>68AKXlyr?Hi}B4pZ^upB(t z%4J}hoG($kICqz?bVO+ho5|X(?@*FnE+tiS)rZIb7z$6d7=lnL?dvJfeZn|eVV9kk zXChM4P|mH&dplomh(YAXf6DEA>uO%gk;hz^_^Nq7k`Z=eu*o?HZS8T2XRZFqb)3rN zg615`e)w&PTgRi#HZ?OU7>J%S?a=Y6kv{rsTxpes>#RuIR7=MI>^}EqxxAc4FZLXR z(IEMLAGcp&Da`*gQ!aFuPT5D@#L_8RX?(3CPEY$_ii_>iDIS2fHvpaD1*n5hbA;zQ zUwHN~@OR}JR^K)CziP@$6X_1ggPzI{HFu<|NR1Jx07_0j9(ycoM2gXLALcm zbu4k)71%6PNAu4T9KQ zFVw~0@jyG8UNo}i!aI}sXBXie!(3z|VXh*1dZgy4$B*xzS+20mEJwPfP=7PYQ{6S( zN2<}y{|8GpXA<0@2mjL4`D{nHL61ZkJOpy<`ZJarxP&dhE_BzTv(!*$i+`&l4h$9~ z{=e;7bOh*MwobCz2I#dMSHT`jy^T5@)<9m2piIX=sc@rq>HtQztR2*!{V;X8%~7*X+~^w{0H#atsAoDt#Ly3`0emDOBA!M3*aqzm%O$nheihw^jnqDiSpmZ{HxHyg`MYXNJwAth4j<`2B()z)S!y{fu*kK z?^snn`bP&C&k51|e#Rr*LzU;*5H0jVv?2-7YaIpAVqb{fvX5pD#5_2v+up%Z;_n@V zqmTRh;b?;m(d}M{&Q3yfQb$3w$rqwcHbgggAv!+^(WV1C2uCLk@Watb0|T&Xr@A8&DTjsnlG%}Rew0uT z=Tzfg1ZA49+1aVJ&FBYPPC;1uVFm!Z9~3M+Mf&FGVSY}5FFowd@jpTCh6qZu^5pbP zR)Ve6bJ>VqO%B%NjMc!gQ0oYTNi=COA(c;_&IY(F^0{J01j$6_)waOp2j zF?A@k&b_TJ>PjR|Kw5xVoV@^9k1lRuTO`+!l7=NQ>F23HGrMVYz$QdZrqf30G^}cn z)+N8%)3Nw@;>#|P4WVLOULF9LuR)lk3^zAegVObw|97+M^^=9T_L3(b)Z%DU$q4St zS)z-<*hO_#VcaSYpAAcU1oi(m;93Hfpept3tPPvZS{n6lo9#GL6yartRne*sH&iZ4Pl~G^YOjy{5Tr{?;%JAjH*640sfI6 zs(Pm@^&U#pVG3b&KbPb#kdy^8jJhyX0TBL-lpktnjgajfQG9ysvGAiY&B3~N)i$#6 z>Hs|T%hW`?L)^Q1wOb9^^io$Gi6)PNSBUG!!8{~-Ty$XFoiNoQV{hE{35!KONX z4Qzn*D9-fKSDB@6*36c^^a&DMSTzPC3DP>H4rcldt)n@SgKS~MwMEw==L}G=PWjMd zTsQm<@%_@#!T={K;lDR3QL7IRgp|=DRxURIA9Lb9 zoD&o2X3KP}nk{E5Y@sep7FH{QET){N#y|#Qx@5dj$gE4zi?qP(`ibl&Eh`02Xiu(8 zip30TW5l9^1xGCMiI$2YcdR0q(K1NICY#MP$F#weal7>vFy-7y!piEJGKe-mHuG?0 zxKg@Ga^-cw#;|&3R!cfp#tl~@LoB$mPIKjTL9pC2v#=fB7!;nI zGaE#tnKG8nls5-8Q%=`B+46&VvKtm&^JKZ<$(Bq!8FzRRl=~1wqhYz=aNqsM;W=mj z@lcx{w4$v&pc?qoEGONl&kk$>OYCM#0F%8TBOi7%eApPShFiMu%KI~*a)E;uWdq|Y zr@6$LaL3oj2=9bda{(5}*-sY+kfB?3f$~kAA%#1djLtxj0=>Zy)Y={}r=)CKM2gwA z#)5*lZMDfE(hzKo3pCWi|^+-2(J$zTK@YIh`B zJr)n5-nBZ|)V6SS(1WZFR-ZaDR2K@?&t}9)&c;twt5d0zAY+M04y%QMdW4_mH?~2! z+>SNj)@Vy@*li}b#|luA8b)0quKrLF3R@O7i9iL~ zM%4AQu}!>1ER4Y)>Q`0RA(0Fx^az`&C$i#bg(^5~6&a~Z6L`ja8J0j9^NHFv$9&6- zxdwi^na6Ah=rNyRE8j6M2%0g^%`|4UGtVW#3Yq63zcHcY>3P0w#=IbP%+Z&cTi6@y zF~6NvZsi^bT-G>a+%993sxOf*r$9x4!u58?-b)-coeh#)6%x z^hB=VAQ>0z>7Yj5b!_E}yu0l&Kb)Ci%p~$2He-G~(`QTvd1om-<_5O%9djNotYn^7 zv^{1bR3Qs?RjXq*n=zMV9CMXD=KCkKInPJTm>-_d+C0w*>3KqH&M?oH>@lBgd(8D_ z%%@r%^I9|Jvl+*H7h~oz@8ENgHr=qDyqSY)(7%}x%2V~Q6zC`L4lz%-F|ZAv{9fAp zRGxGL$Vh3nZe}$=jHsom8X~BddT2(4WqocH_pz)cy7-Jo{(NFj|B3(3=|7$}{olAm zehE$nk$rwgrAb|avSYN>i{0}#YRPOQZJg(wS0E--?094aZu6V4$#rnG=10bPDk9f(WUu( z`?k#kUzLIHqp17JdM|Zwv&yYe(P{8JimILioUKQ#$il2kt&Bl{sn0)Os+Qw&;Y z=o1SvmWO z_5Oq427=cKS!qUNcRUl0FLF2L0UC!~kZ@F;>?VoP$Vj7dYCy76i0gdf8h>l7KGhL4 zF&Z>`y-gDy0H4J6FA%;61<&EK(dzv`leL|`1-W{52UvwiTidJWvy4^P1JUa?M32~B zHJ;a>*{^T2U+?Rpk{)_8m*>K=!Py9r>gZWxRcpeSl9PJnHaaRUFp!gp|3S0hEN^7%sH`oC-C@6`Vq%I|DR z(+cJP%(uS;>271nmk=LcNuxJbkC?Rj>TE_|be?yv&7l${;R~nng7W|>d*;vd{d?rVOXNZZ7by7XC3zIr>EfmteElM=x4=D zt`H1)cBVw*Wlfqy>+!R6=)}9Sw5>jQyZ5tn_*pv0F3AhVpNw>HE}v8MQ0MabKm9QM zGu!>wu-$K6UK8pq+o|FK;{_sjKw}UAT8CsCq2D5)Dx*h9JWi7=a;UP#5~l_wlb$N=tjkz42RUYBoP$eR zjDaK2Gn_*&T)dSd17NkD$(sSrq?fv+7LjF~$(wkw^wVCtX4nu zzF95(dywb%Pj9tS=yG2-Sz0?(Ta^iGmxQ%@LX+qxh?FIXCg3h6B>72}Ceg%fX`%G* zfoS0Vy#szXyV_T#{N5$y_wJtGKL&ZUPU0S+g}LcZr$H_xv!&#&H|U;RA426=w%sQ!*Un>!eW_%Rkt4wV@Qicq^~kOHe%qpB(oylOtRoLSvSRWSF5Hm^ zjh}q<6#K`~hwv{f@WGSf{7a#Meiq8g8h_+5d}d{39dwA@?x4w7V{gl_(-QrRKl-R? zrprSn*?%26BYx;nb`M8RJ;F3N=IH6>uPLA!4F^UtKhUjdiodWjYykMDm~QcK%EU=A zff|2LO+L_Dh&Cmj5CFqI(?2D}dNOFZeW&pOEdTRjkG@Jj17o)Gue1}~qbhZ^( zB=JaYh)M%ic61c`L{#WR$#l>Q0l$X^e-{X={t-lc{v%SS`d6!e)TsVd*5EMwzw-pp z$QWxd0L2e$Fp9Lttiec=V*U$23$QPS>(xJkg9D5+-JVX!)0^?h=lT=f82K6S3ID6c zZ$L`$J`gT>n0ELfz>rYAWW-@I;(k_SKja5MtMH!AsCsPszXf3q8V{df4PJ{T32Sh| z%B!~qqwInCFEBC~7{NPWBm#__mxd7_)?TAOH>#m=_2*!f;JOmHe%6Xy7o1)c9MV+~ z8d*EmtcVo|4^QjrzAW~o;sIH+{VEVOt$x)o*2*0RFsszQ6;?E?c7u4u54;7&AIz$N zfA+L;D}bm>9Xu9vFW0vSUR73)C=M6_9EL;I(6H)P9Zn$17Ja|oy$%s*!`10WSB0{X zs^j|Ua-{!91^(_|#aChVEFz4v;cC`AouR&kNDkQ$jq zXm6nUAxeX&%cp~OH`OxI9GH0{M+%1EDLa6fV^eL7dsY~PDfx+km$H!DSmWw+B+C?B zakw*QGY}aV`~(T*IO&sTu)IW}S`0^f!Mar^zt^9T04iRZRjo%_f=ci5UA@8ltN1Qr z?X2!bJSD$-6W_DHFJ!Vq)ilrv)}cl^;j27#8`c0ozlXBnSc;2KIv^Bgw$Giy>VYg9 z<#B`Z8tL^CgYuRcdX!JH^(g0I6r%c!BH-ua!yEY#ai|x{{_3I`$O^Duh5yS-5#a}D zel61Cp)B;%I2-AM7@`f5RCCNC%|Qexnth2JJ_0o9CyqaNCcP6=Vf6**zz=mqaDTNw z3A|7}4^#{Vc_Jl;Is=#AyQp)J=R+twtj-lW6@-S>$-pS-{`(VRW(?3Z;>U^Y6(Lre z>47wWRW_b9)d0U?wI}IpsCv{O^GLf*b?ZDBsdt#LCM7qHy(*h)8c{76g=C%NIi}fhc&tsEz?C@Qu66m+@hjbjaN*oCdf-}VQ(H6Yh4BeB)hlXhYfFkm>m-czL^fk zdR5RM9nC>$jR1?Sv~$9oRO*D)7}?;%>S8lT%sH&~F|_kJHYOs%XX0drmDs?Huouk9 zu56|p47CF?pXMw<5CWI zlqLM|0JV>pV5LyqQv?m=y{XLykg}*k~Yfn*Btgh}+j<%qR z7Y-2-^K=#kd9ix7Clk;_RKuZKod1Fcjb0P1p3s;lSjB&}dh9D0gl3n4ngz}m44h8^ zPD{Pp4LgNP*8rZVuL-PcVIx(zkHWD9$$W4eV@hb zNEl5d5EjjTaD+4_=mEkqXGg29S*gkW&SaL{&_^ z-4-DKHh`RE1M-3azdNEJcL-ZhtB=|aB;h*JZSgf>yj z@>!ptI%<|m2nIe0RMi_Dq>E5Ma@bEeYy!i65~#qxFrjF!Tb)B3MbuR@5*R$k9^9$9 znTGST0yW{5NKKPQ025$3a`y`)`4GN&4$2BUy%uQAwD)*sv;dtpsZ(kbZnQ>v!GciR zgxr+%)pB?WAK)4c87py~JOwlQ#zy3t>=qezIS^TuMC2c?%7n=Ci97b$0$?`>Y9ckV zuE@}9=7fil7=Fa4)8Sw6ofmDl0Bu$6LEFV39Fpp{vl=nhNkJjiZ;`~%myS*fVzs`V z6+=TqsZW+^O1*KSmr}3JG`A&Yz^`P$(}Eg9TVG0f!C4(fyxi*sbQnf zMH%NJwW*NdsxnQ6tAH~%87|F)v*o7ecV-3q%QjD4-mO_&fDr7kdIyuZz(&^{Wt!+7 z1iD;AcVfmtZZU(rnKp>%Uns66gS?4BE&-;{%qBV;Q>%fgHi)iVP7v5tFH+TF=|Hs> z7=WtG-<9fy0RMifHW7}SbM@=p^%eI>8WAfB@-K+7ttC~BZ+Uhe_ z9(`-RI>~%BpI`k}zWU63waI*Sa`LNh%vYyOUqNQjEm#k1pbsJky)|Gs;Mlreg`)+i>cb865oTYWU0S%+c%R86(c z4#T3iL)GcpkcWdz9hyeeDr1yf2GOLAB}wCD9uffE3FBL?=r<3dE3sQGRCVa+3uM;d zak)m0%UaKW1_|hh_?HW5*4as&IZ>OP&Y$g=lrX5sF>`98A&6i+fD%24{LQf6F2^kGe>O!wi{o^m#`k%tjFWgPU>IwMD=ONw$j=k-DnQd zPs#`pbterJOJS)I3&khUbqUAEKpSVeqDUX0X|p9fE7*EPa!4`G8o}r`!*UMqQ~LMx9a3%y;!X^v7KfUU?X4P{)0zUtYDnw##; zHQY2*-5=L9d~F$NwLm>LvD(^BbJI2Et7h}nJ^YH?G*mrkzFKC!TATc8srl-8^VMC+ zuO2pEU2VQv2Yw+&&%y5;q~4kbIwZLByVJs!M>XzU)8w7fYH;QQ@hYomJal`mE+ojy z@oKBf4)V>SvTFIJ6l-I?`MOjyDd(K0J}QlH6mluQE>fo>i6qzeSt};L8;%!mwU(I% z`>S*KJX^hV9L<0+^}@`gEs|C{a2L{#L1||vAHu3eB3W=82y3HcC{3|i61g`8qP7trkjthvN zL(1~^nZm1i>I;7LF}}h>8g2AMHuLFvJT?2FVM-Qo)K@3&F6V;k`1?Cl^&%F|HoqS- z;^5xn>SZdgb+y^B1?}?GNoYr2zh^d%MN4e)n9hJ)h=_Wa+XE2tLRVqH7B2(d9H?uZ z1L;CA6cI-u(vI*rAKQ%}epPqBKtCuyisEts$Yt&7!1-K+2( zYx%+}b6n`5x>c3Q| z9nD6)F@&2F_311!1{o>2+i}LXXUAn*o2$?*js z#DCQ2s+4JVHFFX~Jp!(7`?g#WP~M9%%?j9Z$qHt}-55#;E9i~tqf&0-O-EPRRGVY~ zEvg;^187>)d&nkH&h*aUyN7Vrck<%v_sPx1k@~W9r_YuhM@xM+U&ZFI4S=+~muV#S z4?wfzz}Pr}<0IU2QsYeFK&psW;FW!&f;B*fdxrz{Rq(k+6Vtm3NhD6|2Ozk$5$qTgJOYg!V73znVn zrd@kB z3;OkiMaP4fA**rmD%o);Kr_?i_PFM4l@VZ zz5SbdQo>Ez9(uuCq9{^rPbQXOGEOr+iAK*P9?wdsp}L2Y1N9o?Y1@#ehmT+`Cwyl^ zDIk2CvKlgc2JsffJr1vIp>Cm$0&NY}uIi)1xY?WwRTmYZjY+VfzZ`#Tjn@g(Y`O3q&(}_I4 zptwSmlRjA3i7d%(w6b#drR6m)spd>ez~Zzhij&jAWA&xQ6Wi&~@Hn&Ns7c7t3Oiq` z&61Pgo-Gqj?GBL3B+d!ZjY`zLTV}WcHw2?-tVY`OsJc=+NU3k2*)Wg#sWW0$mr9|$ zuW+v7BdjbRMWErGABcy|E`7bc%~cPfo;aAGTF#vMn8lASkz+%D^%fMlZfx-SagNCv zTsjBCTCDbS5!@Le+vAk?i?If#Z5?V~<--Ruo`HxB?0Q>E!j4)BHtcl>uS>#S zkGDzK&HeesD1@eAhvM;D(t`lSwlV?d0tv<7=G1a6lM_hjwoS>ltxrJY>9^UizjDN7 z(-MO6Z?bV2!3U?#NF=AyB9HVk5R$)`D+QR`H36N3!x|1>w?M_`Oi!OpTU(*J7e*NG zQ?mT^veKM<1D4Hkhv6)_Z1tY0bKP(dj95Fs$__mVQ&x+4L9+fhR9_bKI8$ymYX*yO zhE=mCt!-$R*W$j`OqO0#*pAgeZMygh)ivmO zHE_M#Ghq!;=gopFWf!j;Yv`iR2-SIkCL&i|UfYzhOYG0pBM$B|wDbz@m6{&afu?0c7yp`s9Ju7V!CD!_@4-MAdJfw;A00@W7iP& zEUIJ(jkk9Xt7{W)%iVZ0vq;D+P~)u-CuE?@J&rwhF^TEN&_0>snpQFdNj zh_SU=6ewp46f@LQE_ZuWTT3xRxZiFUbYV@gNs<4P1VCvV~6c5;Uo_;giD+OPh}w zPW@BnGsvFLPH>6CA(_L;G;oKjXK_-n926`F{C1WbQ*PBoCUTE65xp`pk&FB%;!@)< zk3#jgay>1f!Ece2#&Hh(SK18BICQzjitOo{!IDff&?x#&dpq-LG?Q)9EICaF=_HoA z+Cq8@6%?iqX4YYdA^0N;{v0;G&JAQzz0Jbg!{~(SzSU85G=sK%0gbx(TtfB$R%ZCr=zgXEUn5QeWgT1j4l)`pEx|?c6jtHw&aG6+z zZu7#y0i{;qSo~r1=PPk@ini)a^jWB2X@TW|#p9xE4AV}SW(Zg>G$dC+<2S8GSzX6T z6C4O(*~nWi0_rLpU33FHVt2(V2T0plsBdU>`p)PPfd1H^RB9U=f`w;*vQjixD|ki! z1n{Y`fFPVx-B^e$*GQmd3j|-8oR*D*DnWuqM>~;#P$L@&HEBq|QF&)8??|&=IQ$K2 zYd7#mM*B!36&WCkBr-q}SJ=ql1S2n4g^V93AGhe z2ZQ!?Zo)0|-^?0MwB)cdwH3iuw8PQvvWELM=LQFWjY8x6}8w145E!}S*` zDI9ui&aDa8)Y+UHQ5R0E2seXUznujiJt4i-Wl*~gmoINQEFLy~7c2Te)nso^9Nfh2 zn&9+P!%@QO{}T2VEQCH#D+ZT!{7CTv-%XhDwmw`Nr;`LbF-G#sx+T2r(e40z z)L%VX!h!mz#9?u1fea!Rw4H?|V5oN{QUGCj2@N%lvrxjABYbwG*6_|UV0?BY#MQU6 z%xvZt0}D{3wEPk*a9jTtMNN(R(4dc*cHiMhIo@udrxX57x_Ek8X>IGRvf%asf#E`U zz|+7*CkSg8i}7{UIG`f13SSwtBKvK%M6Kpj>6-*!Rj)o&6-5+ zI;<|tYe&$*HGP_;ee=N^!s0;yH^y%DDv^uN*bkp4%n*1X&)zyx`s}an$0D;4`a^F+ z)R`q%f&a(eyZFkL=LcRj-EpUPGTjVGAj>9MIfLo#jyyN#{kZE`xwfyTop#&Cc6ZNY zG+UgfUHIOrJ5_c4m}nAqXE$i2WH%96!3q(gC9Gf-Kw^<1@dqHJ1x2hxfJMp*HVBlJ zKnxKg1Xw=b-|w7L=Tx0@s_Ob)+uez0`rf*Ae&_f6{=VfzQVE<5=L-v(b3N%!V&zUF>Ee|?wFYPI}UNA||+zxzY41^UeX z)2jgJ`$J?8(tDu3{!P77zSf|qTmRmhe+dCudgie@F{Ck5rvF`e8D$opGHN0a z9{wm)2s4=D;;4U5pU$7E>zDtv&wcLPTc7_yecc;R{x(m(`1zkW_tw9oS*OOs|5&|d zv^@DosGX(5Hv|VY-ua)4CrXvvc=AU|{fxr)mwyX~9l4nn^iRmj3zI|HeOy zmKyn2_@jRVrww`K_eY@7*MI%z3-Pw`;&+$|(){ON|IdiWEu=tEZTxoe?r)8dB=LP} zd-orzS)XjBt9$T|OGW$dzA2FgZ@vB-PYUH-W5WMi+3c_4k}A#q@NrwS|D$a7zjDQ; z*{?n+_}oTs=-c(a{oT(CkN?)|zkS@+tU86?`aa#;-7Ilwr=*Tt@oq` z*+RVqvfJ)S4YGA_e{bG>5DUmAlNgZwpP%~y=+GO#P(bzu$5BAGy#71Q*KyS9Jdqa2 zhV1;GKX)E?ueN)rLHu$HqSYY&wR3O1`K;v#HH<%Oc~Zi-N@CJDwGzgaLw@5)wY9(e z!+LAKoBnbOnW@3}`E&366}6YYudwc~|9qjnYjj(~*yq96f?90#Qi-bDUJ_JY!1OAO z(Tn?a&HXmUDq(u{of=H*#r?*U!sgcKparJiYy-m^o70oRzwgs)%!O_WH2Y1&Su1+L%x zy%y;EuM|tshI{`T#fgBj3mbT2^Qkwk4*f@=AtZ-->y4k>y6?9>-!`gr{MP5&?#UnU z#Qpr+=iYK!hLVRrr5~;WRQ2YSzBhlPV* zd#P^SG9%UiV?!k3cYjFVfM0o-w=e^XiC=o-gL7}S0Z4t~Kla8?ocrMq&iz<+?uT)m z!0GQtBs5b^5APm5n@i{Z%Uk-j#-li*+Q>IXDqb}aM51gQ$yN_+=feMj8SlKHM;osMOfByg<4d>0r zK;T#3xN+_aH&Ez)7k}%^^2Ira`1|J1?|2nTF&W$(Ot}ndLNWY>Uf1%j- zDD(Nt@`c*L=Fj>Lw#?_dye4q*yz}`3`uXY`FLZynivOgzihud%iG%xp00^{(zw+9j z`vJLiUm!~J%^PZ$zteNY>Qb`?>8^nw(r08!ROj1ppelI z^7EhY?|TLaJ5Rs(1zZ>;58U8_dO8?j`ll6r_23cF8aAtAC%9(R(yZu?Jr(=`%hna`~2S9?|$dpFMiKo zBf-t<-+t}w^Xglky~zXGFZWA6JoRt+`ycQ4zN`J$JKB34-*>hD4?5c4>-e5TY3kqd z{LAml^DHCw|7@}Eul*};fAKr7y|%9olOD=;Wgz`OU$*;;&34P<{OcX#|5V5K<-C^r zS^mBZ3je>C`YB_y|G%a0i$4c{q2v35rSHpN<6m9+zU(LK`2O2V-#TUP> ze&*`uUr;}PM*Y04etxKaPSwxB^8Ndd`tIM4uD^eOqhp@`R{?)&p0E9u8eC8F6ZN@1 z&DZwSS9;Dj+UNNri*?uV#9#ZKzmBsCK`SMmP(9W0MCtjQ7V|9Ow)95sf|D;SwJ-i0 zbbU`sM)j}kzii+2{Xf^y{(Q&x%lE77zw7%y*U`_v(DD6S9p881(I4(;-__5TJKFzP z$M+AHzb~9^zPkK<@%JxveE%O7-`_8Om%kn_;8VlXmABu$^0u+}c5v4(&f2d zd;9#qRDZ8%J}6SM3`%$|Esj4&UR(KBzb6Ge7fAhIe!T|J>dFZ~m-A9D^P>yDcHyC7 z*p+^|@Mu^2azB>m^G_8MTmJr^?)bi||E~FTeg8cj{dcwR+P4xumgnEK-Yz=uqaE|< z+J~-ret$WYh7LE^`|<{D0!Khx2^q=U=*QPMm1w^w z?SHPLeR*$|_w&mg?MwYYauAIloWFVV;}6fjtLhw_f1FKcqsjQZx#QS7#+S#V2M^~5 z&(6PF)jv3I8J6*7!~U{iz4zWgsx^>Pe>P9$m!#I;wqC;E@jQwTvH@KTo=_AZ8|H`e z!R*;=NTr9v$#^i$4v**A)4_0fFi9Q_j>n^?R0o)5gCsjRkc9pTKgP#ThX$e>fZ*%^yy)C>^TahV#Kk<5`qvSLx)Ebh5iEJ@4)=`YJx} z?k>G~d2lz&#`9@3o`0xjc4hMP64T$^W!7akYLwmGX3NWiXg)a{CH1k7gUf?G_3f3( z*au^9TQ$-X98H+yJe6On)ylW`=IP{kem8n@`SM^IJsCdE64~)@9@E!hG<}p! z2X`K_@X6t|XdYdX$$z9CtB*-^H2BKFBxWXi13LLQOZfic`RIV7+ubdG=@ypMs?e5+jjkA-EA}5|JNICV6-%&j- zzZyDLC1kIrT~mw}k0$!G>p>C+jF9}K>798J?Dm{;Gupeen>T{>TF zJRjs>?r!_iDo+O=#v0@$uj z#^WrJd&4Fk&z8QKW%F8#Juc#$7W7uU#vglWI=wOeXqKr@JlcC4jSdtJyE2_T%Eos_ zM?5yEM2zI?U4Be5s)HXR_&p z$6Si(@sZ5o_WU82@1t?{^oZ$a>HZ`iT%|P4ES8nabZ=MpC*mS&Q3b(;+-@NN4SQYQxo2P7(y3Wn#TY+8C#pOYs zj|P+35QrPb&*s@|pf`}OcX##oySuk%1t7koF{>t~d|#uNtuFv?T(+ZVD#+vGY#K-N z(P8!Bqgz)&qGt8?wbAU+;9B;0lw`N=4em}R^J}9iH+L$(?nF~K3HfwuGChQB7K0Zz z2I{-JtBEM|_{XVoVb$I$`I9CM!@Cm;;g zdMA2DaV;pnVszl5_66k(_L3x<&GhG6#|Qd@Zlgad)Hysp8qOz!OkNotWaGij=ow54 zEf!d>PEZS0j8U?ujT`*#d*xDQ&&KR@y&;J4@<6?!fnWY)4e8@(I`||S%>`Qvr=)4m zyJ|yLd#Twwf>41fuUO4o^4+LYV8o#H?D7At#$om^_kQjwoe&eJ((W^xwCmR zoePsOIe5&4&!^EL2u1x8>En3(WCWkVr5hYS(WJO`F=`*HwulH%c6Wy#sTYS=CtQ)I za2*G5@hPYS2php+n~RSY;*eacAw|uY$E^5sR$>ITmfA>HmTqI6V_(y@!X#_k6-lxx2{=Vh2c3y@?7QuYI|QaSqJfLZ!80PTbu3R zyQK#vrkKRR(R3onc5t0yir2DPGT0kWH0!Fdd+{8u@!{woy{G8&;GK6g9`0xYLZpe> z+oNdyaCi3(Kh-xdVESu4>Y~@tc<@d;f2d!mv9EgQ`QzaXp_E@^`7L;O21i`<4<&|v z-Fr5hXNU4g^L@+YwEy%)2(t8xt(<|{Kd8aMWCk#N*%%CuU})z`Z*lJ-62sv7F`9|t zP~`Hb49#v86#JW z9*ht9jswgR6at89>TSg+)n|Y~udQeP>?lL^QR5plZzTj4+*@y2Ed5G}qh$HRp# zzi7kzv1R$O89KI;XRc!g`-5_rk~`zhAh=~?kw(+O{;j<$H}|jA(NzJvTH*AO(k~S= z53BtNtF!Top8TRG=8*ed=J-kAr9o_`sk>hal1sN9old7aO+SHwO2o z&#q4=hd0Ir+nCQ9lUT+9o%3J}(9exq_wMiAy1G9&h`#k~01_OI<@&Od6QtB9S@dX7 zz(hQGn!)#qXf2ZJWl>zAc0+R6TyZrTYguragb1EnD63B1aU~{{NL6vRd(-3wYL8-` zt9k z*+$gpIU!~9>Abj0w#}T*5-2yH$BViqo6o5I9speRdk`978l<5aW>%g?DV+VaEIxkl zes*w#=vCLUu87s6aZ?Su(g2FLrUjFM)zOkQ5*~csAb~gzC*ve52Cs`(6Q$s;6y22^ zTdmX)4%)wg!WKQ0jo9hjynXcpD6(k;scmI(lm=Gd_}>2D=H9*g!&|pM!BnMMmt=jV zi=b>tH=*xFaTGd6YP)gb+WVNrhuPE7e2CV#?7=h^I$YDNH7F;OrLG&escBob>G^TI zKlm3v+W%;OaD9B6bu0aC6ARVY_eGo5%h=ws(lHf`M^~#tGuGRxOT$#Zg_ZWdx2NjV zIycN!`@+6Ej+sS)6J}wUhJNPnx9#;p4s^s`S?;zWXJ*-k;oC{Dt8gV@gQA1*9_sK> z@xC>H&2*$9J6)P>;Y!sY&uLahYWMhS2k;K?f&h%_i(om6XSVw z!dOnuf9dL%&gbKI6p66ImWZCz;Q zWWl&r@UxU)UKkbaoyCeZ2YkP~dulRvsoj+hPkjp(68LkutibkMy}7@4>!Uk}P1tLO z(KsFA$Ac$N{pKnaOCpw1bh27$hi*-*T&35OSgTItE~Q^&8im>%*+O_=da znx-FwVA=O?-~K>bx88kkg-H|Rs8%W7nNJnvEu?!_kuFDGrq|f9Oee72BoC4_$iXD? zK%?2|6XhLK0-gTzL||9Gdbw~Xlz!RBn&u-$KYV#GK0X|Zj}8uxgS(&H6i=d36tnR!`e@aAV)ekW?Z!Btur2RTCN2GzJCYfZ@40!L zd!`lI0X$4Jem20OF^e8#gQHP~iKdjLM7N7#RDOM9aAPLE1JU8&26lGs)^v(&+>ID{4InXBmmdpf)oom4q&GHDd#qgn=`1KoiVT|wW-MWD{h}Lw46;zp4y{#1tFC6>v1@)s~#`&De z7wHAltaSwtX1;G(xtZ8W=DUdl3m(HvjIrVXb3@df>49Jb`KxrYs5NLjxTLKGirvz$ zKN-y*B5vp<2)f=IKNDY|C)4PNKSlpGOtU%uX9yU{!)$PM@9O(lG1TW`nQ(PgD^E9e zRby8*mL<5J9po-tq~+UwAPj{*o+ZJgV0(f0n%fwpx3zI$*eD)yw|94u`o)XxBhSHe zjljWFc4T+AYJPdZoEq+)s|zpB->hx6^Dvq{v=5^r)4U64P7c-JVia@a82sWG zTy+e921FrFqB!+@2V0pXD&Nu3Kso`a9~py3=HRh0cx(+G+k^2Ow@dszk4*cnxO!Gd zNSfo7H#)))JUU|Kyli4%EXZf&qCMf$Pftc;F;W*!NA0ksjov_B0g;tpChpHzp|a^{ zGR541o@vgn`{HssW|Pxm%sP)HhAU+z{e-(l<9+dB`anEL^!(~=3x2GGcrL>3?nm=H zQ11-V(ey}Dpt}3|wHtSt5-I>OOo?MzQwDD1a$v_wul1Zy^|v=-uKM2JnAPgA|BX?Xo1}mBGri>btvw%0fSM zL1dngYCCaY?W*SccPop3TW>sG=`A+BF!mCR{-%c#Cxm8>plk0yt`HH3ml=&c6bXl; zgJ=5lk@%tLZx1GTsO1y=m$;A(W}b2-)8EXJ$x$ZWeKS~Kd5i|cE5MDe3ESX1P^qxd z^F2O)?8%F@(FhsPgB872oe#eyUhK7gd%I;h>b9vt1$*B(dhE%7E#Eup`+0Iy`Wva2 z_1^&t{rRN zOsZ=jI$JDZ9HInvcgKZihGOiLb3ym(n_`*mJ6@VujSJMXS>j>! zmnRrz(-oZE1bT3&V*XBhy#@d1X;}3%tgax!+_2I(^kUy}3wi`e3S9QZLS9`00fi%4U$_iqRZ$~^&@sW6IEyBe*u4#k*+nsR`a4ma9dzhv z^JoZnXzo(+MeX!@cDS*>eeH-Wm^BA(h3}p&nzP*g?M=_%W)|gVu>W->V!;V^!@=3i zL2#agny$YHXEpvAUGu@iO!@Mb0%Y69A|!)m?t^najE+th%M7$|4_^ltc>n#o`+L`h zH*Q_OErx;Q(eQza@4UgqLq>m)T`E*54W1wWU_7bhF)~!G)p|0eZVU`j5zf84Tbm5b zn)Z`rVkeL?Ht%}Ylu}9EmTH={EjG>Cfv-^0z)sD?O5!li ztmD>McQQ%4lNHWqqE9;2)=yf8GA)JoIH2@)S=4G%sp6%GYD zBT}v)?Cl+WOh;*AIZVLJ{WQo7A46>SD`J!7mDtW=Ckb;e!}6cnNLMm8P>tDEh5iqk z_ET1M@q96*YG$k7yw^Rl=`M}HEPOZgoG?#}Bta~Tun5eK7lIKVMKoB*KPceRW7PFZ z<8c4(*M?Vb-roP}{_0laL=u#78DaGbN4a>1(XGgfd_Omw+&0ZP#_0q>ZahrTgGgY) z5M6Ti6idMEJNvhKhMGAtl&9Y{o#xA?Rezg7?L0EX2A`y9V&`#!4QCIb;`W`d4X@w0 zxj($Sck3&w=V#?J2Ql-R8Md^RUZX6*o!pA!Fp1-Ujl^d_=X=<{^>M=xUxAS|nFVF5 zpln57u@U--YsIdYg$b?#VpBnMIFhLB8@E2*yLqGX*01_<f1j0KyZzztqg#6)@7=g5p7*Q3BrnPpvW&J~EVH#6 zX5lzi>Ic|}f+&gug1-yYJt193j(k7(aPP*g;oi;rxUw&N7OLf$j>hz5bD4r^H{M~8 zD7EuEOfA&)2Dgekb!YD@`znXV%1R2K3RlsNuxcmUpBsT2+E$!~aT*vnnG`~JO(^DW z!dQ!L0fPUulGf+bXX42*e>z|p_rHqXYVST5TP4T%XcdnDRAKdsY1ZCh8eVQEzGoVi zi^ogkiIIWO)xiVNm6Fv$B{>-;s0s%U#>Zj|AbrT*Jp*?M}ayAnQNWLZ9RokAM$d~k)Od}%TVJNx+BwWsGmG9TZ|n(dmV++{Z9k10vh2{n0$!8bkq>A#^*A zP-JFVXu1LDwDQUtYTqzYLMWb4-ANuQ%q5p}5TomS8hAr~4Rzzd7(>!3y0%5eAu%Im4 zO03Lq&~&>==)qbXACV*^D{R{dM!q>D36nbf261z3Rtcq<(gMtOJb(Sg9=^TatR#vx z!+x+jW7Dind4&P@EYr0@Se`V=@IyqMbyI?J_rHmzYVZ|hl)`^_iWx{!rreWIbTR5( znWWDK*Cg#znL%ds01emek{$SnFi*`Gs36iSlGb7Hadd!FhJ=>tza`9Xc7S9HOk zB?pJc2j5)0f+4(k7LVr9!GrRToOBxHI~MVKk2c{PfBE;(H{BSU2qw&wd$|wQkTo(A@X=bAt zb~xo!P-7HDP9BH84aIiF!&V-w*M+>#(H(4{GZCE;V(0n}b)GNGoKHwdPy|o5>M#4B ztyLnG)_vX3BYbvT=#CQdtwsxqE%?o|Ix#?if3uAcuG-8~)5!dsMR9RHl zZlI)>>eU_hZJfgQ@CQ*ocz5kcB{D9E#K!HV`=<5yjK?BMUnQARt~ReW4IBt%Ysd*3 zZ>yq-gFl|+X)^}E^6aM2tM+zhr*>_3b`;OBvm^Y*&W_$q5tP?9E#PXSw)*Dm?5LY_ z;p&AC`0r!>TRTYkqFf=7z_)ov;6uG5lDi{81z5%L;1$<+SfUu!tLLX^lJhjqQfFVq z9W0vk;gmj-O@ z!K)xt0V$gle1MRZ2eFwZMx6N(s&rJ;e7~NfZqku%Si0ErXk#qd1V@51J`18#?O3-J zqIxl>0t3?yPlg6tK}JBT1e=p!uV5->^x>n&BE?|KJhvC23{`wjH7R$iBJ$y2!PCKU?IvYL&VB zltIYj&)-Kc3@T)0*^5zx71NxR;&?_R1Ad5iU^<*4BC!)rh{4_nEf0HhhB0EFZ2R>l z&#~vHMOaOzIVEPDCb@^k%CiD5%=46s-)yq}EMF?U?L&Q<+*rOGA!^DO$4W2gr`%r4 zEYPeN9$*iK(JUcSguVB01wc`s2M``F&)ECcmahQdc-5Q(+lY)T4?;h12&aOt*N;9e zaH6l0zo2|}LfS#sHv-$oAHu_737GOMCD|1MRPjq!nNa4OdB!noCls3xer2Fn{a8{vN6X9CbfEyo5lT^yay5y8mP8@OISb=F;WGW(=U5=Zv zda|AxmfNEZm)$GvQ8=IBeJ#wXJ<~c9Cgjxbt81R@zMeL`aHI7^%DY?vkQo~>3QO0? zV#5zDQe3?_0NVT#ufvWD-K*`s5cB349MHz-K;u?H1BD6m0Q2H7!?X!+Y#DKwk~=2L z$z2wt*q@XNyK3@+Fhd_Hs}9R_w8o-xz+SrrXNXeOe!BT+O3uz|x7bj!Vg_WGGF{Ur z93+5nEwyyl0J;}?Otiw>jVy|a`i)ngdyKJk!16o zozW4j<wdk!PovDq@hBnt4f(2+l2)%k zD`9nt1bkprDr&9ikZUBtC=G3G>kip<y;y=e83^REPjG9nQiXcC{;YEF zA=r9nrwq21;VVtK zarbM?9?idGaRG{a((6T5;@fHFT8YE$)sK3{ym-2El(cV_*}BP&6nkcphGUQ!2{z0k zXL^>Q&pKV7%B>f4ik_BRkG;L~&<4W&wzJqm5NHZ#8^G&}5e$>eaEbR!!Ds}{W<;fL z$=B;$ePLJm)5R1Txf!8;b`k^Tz&E(DCuR!IW}hihuo3dV0S0QI&Q-)ONNQ(?VDHhK z$VmAsB7G+Gy!a$ETe(t#$wJJS$%jddWp+TyOZoUH zdp3~VSlJUP)vGH{kV8ZWi00}bO+oo`px6x_Q`?Qis@aUmn>o2Q!z@Xm6cNsQ5`C|p zNrqVRrnmchw5LSte&KST)C;X3-y0j-w`C{Eue6qmZtdvkk-ge6$iHj2vFFNeZRO~A z>R{iutz)#9)HRN#WN;%-f5RL147FIV6k*zeq-ihuwIK8AIz@W;1j6`{v^}y+#nEr? z6!{7P=;po`1;i;Kyw7A_zX~tXq=mh1YjOAG-=fbnir8Ah@0G|ZHjWytiUHYNxA!uX zS3(L-s<@K({KDZF?ja0tOYlu2NqvH94fKS?v-KLF@;072%ITLz7H9RU#RRF1s97O5 zRw_R4c`nBUt#w$os9>Bq4jfRP+O~tE+=dRz+e)Mx9%U`Q+fA(~Gtdtu2@&3sME>Q+ zcfSI-d|N)~;=6s^|M{)i|3)-;ACL7X*As4iXQ#9i2)bRqo}k^t3sNsMBC3kHq<;g- z722($`uYT^?eAbtF>ET*tIUtxBHjry;Pw(#RXHM1qc&vqmhH%bn3y%H^2D*9xhDF~ zGc!ZH{JXqxS>J|<`4d|*wvy5c*K11-jLaaNXHIh(>R@ac7y z$`U{IBhQeGIAJVNIogrxG_l#q6()UDOKtt;%A`e%1}ZmlKasC8i9qN+D%EXcG)|p; zKKTy4bl3GyF>>C3LHiWy5NfnavGNJ~kb6?epxurtGRZMY88@C)wb0FHz1XzZgEqa&Zpjq(DJG2j#WNSrACgW;**tw;mej*d~@MZR`Xq( zU{r6GUtBf8x4M5tzGD-Nod%?1w>(K=0AF5s)LyuIouIi5-N<}m2MB$@SuIc8P#j!K zA1u|wenz|jZR(i1 z+L^5~C&;s%o!Z98VxbjkK$2VwnJGL8Ju^TPlDiqf-$9&^1HBSpY-(7V*2h^QdX@X~ zj<}AIjTFt2l_yzX*=cN&W5i9_7yamxl)Iz{ui;@qM>{+9j#gJr@sOPz64GY5csue- z#&gvd3>PGn{B+GEqy|791-MSAC)H@$uf5QO>te9@I;x_uTMy;=u7Qs&9<2sRW7usq zl-icYqSg&l+y2FNCupB2n@vQ4l|{CJ@G6^idTx&gNI#**H#Y=eOR^2 zSEcp7`jEn5{v)tXJaaptB&iuySgKGEKerYY|=X`x!XF5gDF*+@=1|j+%4*8uYy_Y<+8b4If30qj`}Bd3%sGT73#jJ zBD1q|2gEsgT9u^Suyf1yY?AG#M&uf{Az@BTyzueX7X%u!v%?7%wX!$tH=tCHM~@U+ z0VJhZh+u>goVO-i)G@6QE)xS@>O&g&7Z4JmIzL5B8hR-c_dKb31P+2QaxjInTfLg6 zoN?_Olt(``Mt62T@^=(~?_p5PK9>K}j8_kT99Lx)rS@ zP}Q9cv`c~lrWyxU(St^D2pE{EHtB|ob3MW^LBqc3Cm>-kqU_x1Q9dGQ$&MA}PDBcx zK#V&pz_t`nr9r!P-RfMDst-^DH;=SFabysy;M!EO(r4p23$8ULQ$Bv6LPu2X?%UH( zMrpR`=0u=9ZVTBFUDph`DcY{O0JJN|`JhmowmiCcUVph<`gwtkH%J`e!e6>>L?klY zmRu;bX>DVz8|p+{DTQ}xyB$ivrDwV>K}AxVMjxg=zirre%TU=S!yxxk3tUmV35%`O zJdkFg75Kv`?d(iQ^)-jy-=4uoZg`9)3L5+!A`2f`+jlgKyLAenu{1w7>@iC`DyQW} znul3Hz9F>{HnW6!&K>HeOiim^b=jiSJ(M&R#>o%E)OS*BCHk(_F1W%{@-|#@t!8uA zq((FH;yLmS^jbKgsi1rdVB~HVm9aoG3FrFM-Ew zaMksNY|1?w7MbOIE`tq93R0G{#61_C_HxOnOu7)$65a^yz(Y~sr=bVKY-(kOTr}=@ zRbAAiOq!r}edBEiYk=-TivwsHNSTSozT}*hqa1BQ{Z+t>Aq1U|MGi*d&~C?4~))stv&ve5BNM zicjc@-u3pNrW=kCWIZ-1E|=VvI?W%dfr(q;si2<6{E?Z z7LMhDRNV|9lzrhEY2iUnUXlJj;US?m++?h!hpWV$Y`9@~ZQ)`Qhc22F2k$L~&ixu+ zRU0!$k0`}T?_|@%(QHNttYJziosGb>4}kL5)1Q!MxLl7WSxSB9bvkiJNyvkkK$bf=fJs;ayWK; zq$ejq2Ab8-{0b;wA+LZ4>a)U{wpxS34%UAo%3#ux?7Q`(!kKcnUe;NnJeT5nrER&#Fs7!J{NHG~RKuD6QBkz^vb@b+42rM7YTZWoYR^u2mU z{kH-Ay)RloJG4XUW@{SlX&Sx20PDtRg?-OP_9ov>0;na3vQ+fU<_{;trUDI0A?PGz z-u8=cssAWE(n3(-nIM~hAj;wK9Q811E**iVIC8-sNV}k#^5J%Unr1dmphRWAZti4W zo`fLLEGNr`FyPhm!Syl!|B#f5*T=WVNmdPIv$a8vU$vxc@btqlff*T2XvTCSRIE@h z$}$H&Dli0+>glC?{BGeWe-w>J$?onQ`E`SO_wV6fFF;8((&Z?)uFZ>ZYqE^K}F z)Ma+rQ-{RGk_bq~_aa0yk%Zw0%ZIXV z8M~{Oa(Lf1v2s~HL>vB3Wa;8XYcz2VqHjGj?VJ3pYy!?`Jesc!D{&GKN@k`6)*{zFs|H0Nor43@7A#SrtNKFRFfgzX5?Gx@MpR=&+R(Fi zJT4G)mKzvtv&3-86@ZJk!jMaeoT|#&3XkpVDD?G}<7nE#dTJ6sonU{u#!sP|PRa)$ zgaSA=ip3Ds6pjI+-YJQ%SZd+ZXol%?Se8J=%h15O=3ocQeW)#t5cL+TNT@)wi|Hw} zQ3z0lU@kZe$zr8YO5^CJfL+mprZ* zB6sR~%0*lOOmPCQ=mH$sMvp`?ha+@R`uA{ljI2gBtW=x;GLt*tpxQ<~shY{-T6Qzd zQ`fsO_f)%&W}|OqVV=#CheeN+i^2N~Pz_w#J(E^ao}ZAjN*h$^$T23jhD_{tYEq4=j~V_uJI8rDPiJc+v}M31{~IzucU@w zYn)+(ZJJaxC~A=-Vo@M&$r-+wd3Ul>q};Z#*C#d+!O9_YEh}~A6W*MoA(DdRv-nAX zWlfAQZ5)lU2}h%qQtKEf0u?;Z!YRYDjDVPhN)K6AU?N)<9(<-TJVK>6AEL}&tBp)D zN_Iq1V8#*&QCR0Uo0b7_Oz;l}b7L2DF^;tJk)Wp{tsxWI-Mv1U9!7JV(J!8_ro6j5 zr_?e5DK+0iZDOb~nx0NAY`RM+l@|uQ%*gT6z!3?b4V+O?`C^~IfTvkFvEGSxdj1gh zt#+$g)dzU8#$j#~34rd`$X5`XR=>6-J8llMZk*J|43OFQyG9OXJT|e3Kr4oPT}L+f zfJ&cvgaZKCiXf!TjtZF(N2lFgVp+sTXjGSsv<23@*QEkdKnHA5EVA%|K7VMtuwiIO0(g28D6?5t1MPA;1C4(V&J05zAL zono=#!?Uv3t<+oinp=jM!gl)NdJbBYJ@1`KrIlaR;@|}7*jY*qXuKILuZu(%v&RUc zW-p_iFE+Wk*J`ut?g|z5!PBP1ovZ8B7Qv=vcr8{nVhSB#*|lH_178556#CXm=Y(ot zYC|>QvyT99?bTL9g)yF(GN3?w^r^*F>|NpM+)XOz#e zZ7rz3D(hY>TzKcwTt=EXKQ&V7czAernusCm1^QQWMSX%l5e$x#g+3l=W?)*Z@?}`l zP7Q=>M_E%47%rX}dE#aKrp_k!UKV+##4f-chbb6Ba!uWaJKjgJCuB(|v36&YXQ_FfU}+%Dk9ILA>! zK1!1WGk?CqR~Nj&ielo`gNOF@rIAOlX+{MIGvFQ_;BfH<(4dAf#wiujAeH*?`Sfb zO~%gkgXn>iYEK+LAf7C+#O=T^Q3o>^4`g%vnp3Vu&Prw5@P#OoRIExMJx&o~iY^c7$spWV)H_bbH zw{Bb=UcLR%t^59P$cQ7+2NbPd3JB#doEWH`qg?V(%!of#NI-)@$j`#d zK^mZ;SlrG=KZbU4xPrXx&WgTB<3ctOlCI!>?7FT9B=V%(;JOC5?g(odq8F+Bv?7CQ z8Hwi*#6(Q7^s;zdt!Wc6mvVO|!KwIqIYe{C9b#^)ax=N6$53#mjB{1<`<*j*1mt2rJw7UjyFt zm{`tuG#^Fc%OQx$#;J&?$uuNtE*FoMwu|emB3;uFoY3eCsSB58KZRezXIlb*n@u{A zM-%t0phyKDMS`tDz(F-D!HDxoBmK!%l#>fVoVAq&zC+>ipzsm9^saK;6dhuLn8}Tm zO~>cIboEPuql>5SL0^BIK%?3GeEHS77aGB+o4#~;@X>hm&Esr~X%$+~O-Ja^l?oVa zq?c~$xdoFWG&&$ZLdHo$C307@$;L}LZH2k%;toiF5q@Vbb`oN>mK5e2Z&@LF6u)Yk z{4-Lk<1v@mI4(g+@Q%((Q}6T7w@3L-05_%#+lVD;Q0&9Ov@*^@MYxQW@_pku^{D9U zp}}|`@9Z3pN5mfIWFV5DvTKwS-s+~4QH6Bdc7}}-(@mrmCOu0>n;zi-3k0LmHEgV{ z&83%mkTQE-jxbVAtVzpOZ5n<~9wefEERkswqfo6ZhgqR}RV5>t9yu3B5LiyK^gKubo zp-b?kyU;P6Jg`jLqx51;@KrC%l+H|kvWTQZUWfwfiIL{1IP20OTRaZpXi5n|D$8Bb zAMVYO0oENeOkW-lC~3#!F~MJTd7p}7UiN5EPVwspUpG3Cl~_{14}we%sP@r|d`L(= zRieCg{o=zJlDwCcl#ZDa`mnqz&ALpp+3^8p{vzAYyYF2*ua+yu7s8GvY^9FmUN;=6 z!idhv3AgtWhY^>DTLre|ajqW2D<9SjIqgu5GCWMl7(@grSra9Qq2K$i0C#*g zNM1OZjh+r?N6{1VH{6jw?#X8%+oK#wGXqKSI@L~ar? z2&Y2nau4oViXnH2+{+!;MCkxpNZ>?9*i#mmAyih`8(ZF}iO8hq%3LGhf1VSOcw!+U zFTJJ zAZ|~H#Qm@>D`pQU1ptJJ;Sy%d6o10S1lvK0#3&K96Al0U(~2H(8Gps(CACP#(tYI5pEoT}Xr*nw0TTzo%q z@dT;E5SOKr*!iRkR1(8QhN31pT$S4KAF#YMPRXlLBvosIOG&&}5*&06xNby@Mwnhm zMjqvO_DO=u=7{Ci)(2=^Oy#`=LrA!TVTU5}3qPv7w~Cq9t~C;`Tx+SQPPzIk_xb!G zzCnE#qE%(x{X*ecw;^IFXCN%#$q);ytUnyRiV|*1qwAY zy#+MN(J85Zi+4&0Ry>KKK8qt<8$?BbE#@Ec85%)^b1Xv8Mmt{9A(9E2yp7^QMfOrV zlFO2*{7~!f%4ZmJZc|WQ;meD?s)}td&U*`Q!B3^&bcUrTUp`gc8a6h&lYfE*73PEm zH&qfEIS)y4jaBCs7aFAMiZ9k)&=!rLOgN^=_U6LiCcwrn`U-d2~+>C4r4mo^? zT6gggqUznBfK=&Tyj~%p1)Q}z_8EYvPF=;8yopVv0;nHu%rP2Hsu>wLh>N!X->(O~ zCRsW~Q_UGNA)E7Uq@qf)G2w>~seqT@!kC9Ksm)0;FF}>^=+nAGmBV~#QO;8GRgr2E z6E&3~Tr}OvqP(p(;4{k@EFtv`s8)G3KKQs_FRB@1*F2e`@U*SBs1o%=O4+3{=i)Yq z^J`8DQu2F}gzM#-b2rBk>&{@Io3^#la&yz~D|2icOH&_cZ?1**;s90fFiRgu2w`Gc zxW!0_J;qa_(F^r^)#N22yiKlAV7!d;D4AcS6*_@FUA)8#LgQonKqW*CQWKx#NFojN zvzNW`6~$O}sKUA5Oq^75mr$5q%s2 zis2rNLR>{mRd0hz(gZL`%7y0HY_X1PI$gUCk|4xzGpJ>vF43zT~wRDx;(*wVf<8BlnLAhmaj}vxKsUQkWQp;SSnZ-3ZsGEsAfNEPpT+N&uDkRDABtLkw$%#R` zl+#Z*(Pm-~K_EF<#yv8G#U8;$k;og(WZ5S@)$WO&Q7#aQfe~<<5fX2Z55z3c@)>M& z53d#GvFAIfOSN5tK*TP8+?CuQrwg{?gP=K~0!k2ORB0y4xz)s(8l$qN-S*rFp)|hZ z5x7Pi6uOTkZe;y%r_OR@9+2Tt#UY15%EK~K%=(#Br~O=Xnqs*)rIOvmBRn;d2;@4Q zUO$T$M2s<7kg1#SV%*QAz+s&jub-sas_m(1lGrijD|7sI9h@52o0_?#Nlp9bpcuEa zB$-*7MtIvJ?Rps*;@6T)%eS12vJ>Pv%qbXA0No;|&DVR^16}NAi%H<=ljSz%xDZgK zrbm+z?d@H4elp_b*yN?5v`%hNaV3@#U`xcUci?Wqu+eOq^buw^7@i4VWvQH75 zn-uJXvpFL&h1V65IEBIyXQ=91lBp9;vcgWQnnYpmDA4VZ_LG1yu|l;%$1*MIpGavv zE?O0Ql7c03skm*Ko$AGBuAqd@bd^i)$umG5J2!%l&&WUpM01h)FJ2@L^)8AP(k;fB z;DP4WwyIQ$EmH{X6h9cxlghxqvRNR zr_ysB11BNvf=dY)7mZG^a+C#lEMG?%uIJMA3`lzDz)z_^73MA(@w=$Q0v=6IgU3c^ z*u?mtVaOXvsfjI*F@41nP|$30>7*M+r5Mj3u^QEE$&$Q!2NXyyg|HL3zCR|%=DPc3 zK%V2=Cjp*o+T?m#zR0TYGUxSum0o*Ymu?=I)N-Y282qojTAQbwZjoPv@?NT2u2@bQ zFg?Z%KCc@mLU5Y{4XsFzzL0kCJK2<^i26r;_lGA_R) z>kMiSQV#QnC{2M@mvmtyzKNU!vju7#!8pa!np3LEA4nd!TF#-ss7I!9d3JU-n9gXN zW+ZC7A-`lgsBv#71EH- zML7z$Wua%zx-?toIBTy#F}(t{Pd>est^Udx4357#!RKk8C)ET$M->qTtc znj%kb*T{{$xLu7Z-C1{oLO0gcpo6?@OwF5UUhWpT*~o%T9#1^K^8gTOHt7cBf(919 zwpGG4c?Kq8kR{Qw67ud6=RnR~x#X(vvJhP7mUK?!jCc(St{bXWuHj;F4f7o@)V?XMK=sY3!+cCaXDnGLywEX`nsWu_7ejZ#)<%3+6M_M9YM+u1N6Os! z@OqZ;l}#YuVB|A`YAc8-QxYSFdJZMe3qOQQ8%(GNj41@;nCx@t1{uO_7XU4T@nX;u z!Y$FV*xFD~QIEkC_O{7x6{lL$v}zWnf?9QtRGKFYUL=~ihf7B`-{W%wjJumvaNXCW zj_X?oJ9Wq>5jOR4)6AE&t5m^Tf&A|2c8hc;y9#mvZR(3)(ISh7Bu8Dk3MZM$8Ql#8 zY#%1i@llYQc&TZ4(ip$};5zX}&t*YN;W!>;YDtftQZ};#YL_od&pw^-_T(NMQji+d zv3F5uEYCv?Sd-x@|B&KCB`g)J_}+9HtrhNY7l^>c7K%!|lH3(cvH7579%wC;b&50i z?_f)%?hv)dr~*P$Yenk>A)idMu4S5;6}fpN^@N&)tW|fZ*14ny zSvL?Vi2^DF*)iU%WG!2vnDz7hNR@h0N4)v?>n7l!0C#=r6iC4#*I7Y2^$DEv(BwEW zEHuhFy0;(^x19bfZj+1Eb>YoPk`$mgTGu{s{oE%nE*WneTxZZt(tnGXe=nQg%*MCJ z*N`T+6$RcZQ~9 z8Ww|OUqj(N*_mL1G}m}Y_&}w`#6X~1Q{2_g0Bq+ zjZC(F(Z64GUrS<6B7Br>VM;kaaJ%dohq#;oz32VR7FXNEGN`FV<$<+8L(y&WY+G=# zCI%sC-@N&&bYum+6^lV7rZ=mf%1~aE8s!kK*h{iV3JFzIW_{1H8E!2l^JsFC#Jyxw z!}Mj5qZ^NqGR3u~hsv|k`naY`^vPsRUO)-qvvWKt5vn{BNBl^tkrdAwCCa)A2>OzL zU~;I+NICde;RtIw=sEKQ;$1vj&@%QyNZNu$@A)XROyj+9h`B-_Wi zF6b@F#ZQ!S@z^phL^^r9+>@Q19upX4bP(30<_SsiNhPO&V`VxUO|pj}#lIjFBOOSLp(udX*QBlv zXzk_H)d4We31tx|AcsoRlj>NV%HQRspSC(6Mbq!%BO``virx09e>b1X8L0zOh&aA- zm_TqSpyJY65bWNp9_&k5EeS0nQxfX=AX&k81qaZo4%h~Kn)k!UcqLx%w#Ix_IH;d)!cdU?y?&-Zy8WE5v%krYs!@mKgTEVzzmZW=%&5N+=qeaYv?Hf{mFEVjI zT8W!0E@Wj5QMkTmxOL-UXoVs7@IN7;crIn8o9ve+Ox**lHHK1oC86>*5qcp1+*}d* z*DXMC{c6?QdfXc@a}*28-k;Oo5@Zz?J{e& zqI*7PM1lwp#IjKoBS^TGXA$wCIE)gvo-}SkUEwoEx>U=icvBQQRzN{dDM7d3$xk}(7mAHt3${9; zjvy82a6?{FeUy1v@IxT6zeNanjw-^&Me6h_d-QPK>I64T8NXq|{yxFoC$a&HS71{B zkyswZO1uK~0;qHBJ3cWmE>(-10M$A1e!7}~#wqO#WzW7YXhTaajw#R^%P@+&jL`h2$(|cJoO&(?~9Cx#A)ea}S;9>MkG499~6dZJ@ zt>6&hf@V^D&dP^sa2@vgyo2A(5I$yEeGaD1)qWVwlZQhgW6TAWh>uE`dWkuey<8BP z%ICglBU1{s(z>R@Q*M4#q!Twk(f1uoh-4s=O$dqHGVMKU=lA|ldmM+FPzHcZ!UDczd=d=*!nmrc1nH1;7_MAIji~-nzDbu}m z5sOP|AzG{K>4Q*H-P2QDQE1i|cPE<8N72FlH)Vl)<+9xDo5ztzl%!SwJ*EaKvVfRr z09!q2Sz00YRZG+Ro*d#0*%(93?8;&jWp-5MQSxkk)_|YRRGh&T2X2JdBxwoJNUKc6 z$HB$p;POC5o5^A88_8&{`l>Kkte*@a!dEH?sHVZUYAf^vL?MDbEDM6frgRqk3aOH% zl=Q`_p7aZWHCM449108+bF#gNXi2JwL7~-?mP0A3x-IR4qKoR4!nsz?UVGNAoW=s& ztKms=V+XNG@pvK-P)aX`-vmJQNr7{!*zqL=M}b4yE+B8M9M(qn8(=c!axIDlu#FC` z0lrHz0t??HOcv^zEm|zVieas#Nft9%?bP?YI7iblyu16#W<C?N0)JE}tD@?d&Lv+v+}Sa1Wr5u}ii{;)(D@ za%=ZM4plP=em5Ga?XK{B{anKGn(<1(pVFZCazYL)xgGU2cd+wa#b=uktS7z&{;OEr z0{;b6ShtB-62I%n64$KTNAuBS+It`Fs*A5ICWr&fyc!H4-<^7fPv7WS_$B7uVH=SfEO_n z=vJs>k5H^TKT8JPaEXL-s5DGqnnN&=V$e@~&-$Up1AS<)u~0#v!K4tBV}fci5ef3H zp)vva_4K@;4kdqL8WEMU35Uq>NJwfby8da&>uXOPKLYGUQIeB|%T`6`ONi3aY2i4u z3178@_KVq*{t|XNl1PIP6S4+bS4*VZVfW^)1Vo^PSVkbhM2RMdfaSzx;H{CO;BzJ4 z71Pc!^f?5ehU6TI{9KG65T_0R(wIxLZPF36Z<$W#hjR&{jE^5E&XYeuV(?1|etv;t zif({e3TL*= zPDmOER$M&RlNTQx_2%xbeneNhyL)ML1f#E;)V#-8ue@+?4(rrNSlBgzjGRF^#iTJr ziaMDUZ8w2;Fk_!rBDC65Z7}kXtYF-{d+L{SbUb?~o9B>l$-wI`V?e{z>{kI;O3Ajf zqu)biqh9Pd6tx?QZ*K0TPc)^I1>)>REyNt+wOER})@qPd-?wsp*w8W)M>UJuK%}a{ zA}JFu`I}8lVN#hPn?BBP($sPpt2SXGC^W<-n^aeoLetBQ7@^ygw85~Hwo{`rSYW5P z-{5@%pC;B-jm|pOU3&y4TKX_}cabQ_l3Dc+xj&?Slwd8k}&WLXM}m^0oS zQUh7nXo$fhmg#3ES^r4N$ogu}%Sq~8Z&|Oe`%y_Ms|=-%j$_$W7&X@n?$)-ZJKEh`xb9As_!_o0`a{0-#mz87^-QiN*q45OK$^Gp+!ct4IQq zfHfodhXf}=ef_MYd(C6ug^fM9h)0kL9|ST8>?E0oFA*L-KzN##y}l3)v*|aKm1TAX zBJL#FsEu@oI)?SGv?^z58XENU)lqupy3yr2=~v|vRRFn)K~2>Aq#n1$tfxy`}+~htHXfk{LRs$-f@Jb`F}4$OnKZ(9*8lcy;$TTcfMGkxaM?B!ki#855SBw3~Uzwk@@3 z3}bgOgfSvm7zD0?nUDYtHfq5|ZOoAh587ZwZxZsWZCe__b&ZbKLS&JMg=|y~vM0Cq zxko34pmX$4_s(qO>bfv6Nf6+9>851MD97e$X_eOesqoiJipgp{jUJ(LsP2$wk!XEO z9098FHr~punES@)WI*!6l*F|`7#U~@wj6zlvtK&5#z+Q1rbsZPugXZs>~A}g64II= zv+<$jkUWBVum@0Z5z%kUMYar$;Ix1jO;(!nOdw)`L=ylrg!xl)9iLW@y41MRYneeF zD)QIJBdvjFQ{krAU_Fe7fiNb`3K6~BZ1JksfK-m7c{8)dX1nox3NJ9mtYrFkDSRp@ zTUYmn@1Y{q5K_$oh+YrSnnfPLDRwI1dis%u&(n2O>6%SjT~h>7oC456#FYD%8m*e0U;pk1$_8OPovi>cLy|o;eO%_2vrGx{K+7|9< zT64UpyIW$=8i*3gEHJveD?qxtTNb*yafnKxOOp=Q+xJM_gC%jZb&#bxTnk>cYjZj- z5mRNeCC#Z5N=ab@i;rDN#&eQ$0_bMO~5 z<_Rjlt2K6Cq`utgC*GU>+qvaks#4M;7z-IA`x){v5`HZc@cP4(ZRpvBo<|!)QxiV= z_rRMeM>W&dzlS(5@C7#|C-Z`dY6`ZfFq$@6Y>p*f_=0=3ceA}Pi04hP%ecY$`<|S=C`nfvkAw^VB#FIP<;~WV<{PgNg`qtJB*`>Xq zHq{PpY#XeI=%Dc*Wvg4?rD6`To^7eP?mAVM45 z(YB8Z5In6%lMp!R0QQ2KlnKeJ1KizX{0#6NkOv!ggO|Y30d`M%GDtX%wL4FVIEsQC zMx}Vx+nG*5G0=G>*6(@2Nvv;J@^P;^1(gExTG7|TyZ4AJO>F&KJzXB$PLkuJ5n0_u zrQCCDeLA*&5lX4uy~a2VG1|kpnoWi8^*xt_bEfIwe{K`(D`Jp5>YG;g7A~&ZCN|t8 zBz6o(pnz2OiR*AF+HAO+jAnDOTQXtbd@8jiiDw~EiA(>@%oIIRiV8seI7*`N{JBo) zY_-Zws5~o= z*8~QY>)zGP^=%?5$vX>r5>R{v84r({gh0=jbE?=OaP(I7EsWfRK_|Mno`q=6If&1hwAk3>Nb}65j-vxRA1y zNx~&DA4|+DDc}prEPV$}DM01jW$iY`lYLP3im~|cX1HbP)KQb$cf*FiNS^qdX z(E9ws7t=!5Ee->@WLS3++`?9y^(>+XEH>93DN??k0G{S<1nh%y1_uPl5Q@#yx5&*G zxa2zAACwPYk%ezg`CFV}4C0Z4#L3Ve+GHlc>r=ugPvQ(C0&6!e?|alEHH*N}91anWhO1qs?<;QDLUYig_qh3a_btV(xpm*D~WG=?%9@?X)R=(=57RHEiJYnHi>44 zebc1OABsU3wesP~4))aP$>wMk7u7@u<0|mIab*)7P zmRk-loM%IMQTV@*NtIIfuHhsk#Gt;){-<3-UM~3bNw#TywjgYYY^Qln!PvmTHceEq zROYV0tH*zeK&m965?E;3h)NQ+E`Dfhaa(yx0+xOBqsJgokNMeF!Lbll^BjE|&>w*U zWAZariWLb_gOkk;g`K5_2#LSQk41dED%L@j0RC9NPCU-C^tl$<6i`p1#=#+$@}MRW z?BtE09*I`tyn5@a%ky19Z`8ZYi7BDRi4hVd0lI24n7n#xtL35CI(t|Z4QU-HKP^;d zK2_Bt>fTWI5B8dSs`ND~1&FHxDshEwOH#JhAFQ6=uOmoPs7RFvvUDCJFx(6!*F4Dq zV$xF<&SPro8?f-!XO(&j98afNLa7E)dyOfCG#X2WQWA-v8?#7Z7E?7YRffNnc72Gk zo3X4R46v7J)v=dl)UcNvq;iF=v|bqhLH#6$OUTh;$FRd%>ve2;wO)H8$lbC$ganc6 zxMeb8OI=Qb06sSlEC6>4G$Nd7^!GA-bu5&U5Ml zxRyut_u&60?@f5?xURHa{S;ro2$F`HsCnQO1URLCC9K5GwEyQWih$V1vmJBTQ;rai8`hIhS-TvQFy?7YWE9asIKoVT1*tU}0es?bl- zbWOBlRj+vbdD}0>W0eZyu%=iPl}ce9PTMHN2d$6WXKMLj2lOQR0)sGYIdEfz7=ejY zFCRo-o~hB@a@iak=$8s95U>~~2pBSiNfz!;Ly3BAexaE=I4-gPo}Vg8kj;`+Vb4}q zIkCZpqN;MLy%Hk`;-HYke-&(a?osQ+HzjWZFC=P*^DWAyZlV_7&(t78ExjOb)xsh} zd5tl9N|{@c2o0q>z_g}lk_^E0fM3BN)PGBw`Zl743E?m(Aea##0;BFH(SFv`Z?mH> zx2kp9T~fVEjxZlJ=u0RlC2LVCEByvta@Ks^pxVx4_xhen^S^@3UO3bRHj<`Q6t;0* z*CFe>zx@0vV1cfKxflmQMFfqEna&Har0Ssgi-mh^rqTmJ8g}SKU9akd#bB4Ogc5o^e4CJ&Z32u8RZ(+N zz_XRY>~dTaHgEsAr5_E$l`Q{&DwY{Vbg7{mW>lLxyy6~0r$87Vv6?4!Kv103dOV$i zb|~x=6)x=24khk9$HHN`aG(zz$wC@ZUKhTYsEG@36kF1twoBWYxH9Ra5f0{nC{KvN z#@RERsC8GD1wyZqEF3$S$3=?1+gk~7coGy8ZDxfEf5`_$z2IZ{u+f2Dy=!vt_ZKP8pOsdT3TvXS?c;8JR^2 z19&DWqZ7iX7N%Jo(fOyLFnF$ESUYAHtyMchBVvPwNEIPy>T(rQV~rj86vPJqbfaVF z4#K>K8?g2>3N}Kw+KtBX0?L5uqEHc=u-ig|8|)rn|Z4PhPK;tfOl z^b80o8V}MoNHdR+C!Xoc0j%ec^>u8ApHPe0e#ly0ge0RrXoX{?#@*#fGU7>j5q?8s z^E{jYIdrhZaj3^2HK+yie_Bp}V+ZutOb0r)tq)f}k9hK5hd;ot<0PP7b}O`$jnG2= zx=U@lT+?%4Tt(aMNx>-}fPuXH>QA z{f~ROlk!ig_ofZvnBwnk>ScJPZOZ@gpZJ&D$s_l}5&L-?FTkQo!RWiYiP%pvfU_&I46Hr3sktQWY*p}gQ zM|!(Exin=Vpy*T35S+;n60OQvdKwmjqsQ)_(EIu?tl1xf*w(tFlbCdE+jpgkC{O5V+f$nB1IyDtGzeQU0Gm6%gd`?hCOw zsFo;82~4i8kpB@m?I2{DDxx5GK~bT? ztA*@eIUxs`-KXsJc7t7%$_<9+~6;B~7aU=;%0#x`Jrz3gbzg`7PkOW4Gg~PJL1Z z#?J+GHs?nm#UEth4n|Stng+ zssOZY9hF{G!?gTsk}e#*v9_1}>Q>T`;fVDS{uifWz&;GK04IK)kx^Z_i|zottD*cX z97R-rD)_5ZTHgfkva|F=5UV9c!M4EuR95&e0)j<3p5PUmk_8JW6x>&SQ$*EFlqyf z&oWNpT%t^;&Bs4pygs~FM!Hf5K7ypy%V5nVIM1;n+{UZv9^3c@9@d}3Qe=|5pTLfQ zhtUtKwuFI+Nf|g$f7PyZ3+@4qSm5bFSp}rwlm6pN^v7Mnn_p<=Iq<1|08dU^#8nFT zp?{luLRm*_0e4LmWFVt+l&A=cT{&WZ8)Ml!bfLAa!xk__9mlQ5xp~q&|A(#K6Q#^f zlHyZ{MC+2uF;#&W%Esxk&zk*z{K)hXnr-R2lkVqL8rOA1`Rf4jD*>88w(xJf`Uw0?&UUpOdw@HYhGL`9&lC08W7%m?~*;M9YDJY~>F)dNucg z7;XG0VkyFlMM3&e$~lD;Ccw37&$&F7!Bw@-lH&Qt z{7r*9UfpNCoN|xFCBv=@mY^L06)|ii3xzeL z=k?~6*)6Yj)lV=9QhE6Ly4k;e@qu5z_+|G~bN%Aqs@?VNo%KfRr@q)%>c+tenSaxt zch`TuX9UcqJ@)z6FTQ_IX|&ykuZp|k;V+@V8`_Gn&z+*mw~(?|yAL0B*Jo$@#%%ew z4fK-G8Qwi&@27qS+a8>v2{1!Qw|Zk~eg_~JQ}i#w+qj!?&o0cTZSDEFX)R~LptVMe z)vFU8p{1qy?d5gz*S#<|_6v7Sz+9X&g@>m+YH`u~WlC{V@O(86w^^C?$UU&O%A5V(tn!uS z;@!xTCW>0GNmDeMadTIUg6e{;aen^gyE`<@A4e+NbU)w%4hvQ%R8viym&7n;2Iua* zXmp*3XSkn2ukq?Oz~kq`0hLl6X?0$S*@I5Z+nVS^gn2pJ^cfxG_kUO&73P36@w`bO zHY5T(krK`^$Qf7vT*!#)zbKs~iCwi1O-@9|*;&iqzPj8WrS0WK1?0GBQ5NHEH4t`_%et)j=-`sCvJW zti@e}lGyJ6)@l&E6V#P8xJB3hUa7m+%|~I=rl20l6JG1#`im&|B|+1VcdsfcDyc?i zTE&)afsTE*hrv?b*S%*t+N&JfLR@FQUWZ;KIN%6NppDFdn`?$}{Ym{c3dY}X>M_B8 zDsJT4-+cb%=U+=d9{2qSd{PX(SOL1hL%iGGEAIP!b9;XU;r(0n^OYifwAt1WHJ_h< zU+ixiM)u8qzuUhyI4&h0)EMbOeA!(8`wIr7DN9<=`B%)?D_$B>`` zeaT$CYl=Pe&ohf(%~^MEcOOINdol|bABwx`y`1&fH342@PE*)GgmJCEylF`(sy$s- zCaPLrs*gb zS2CJru#X(cmnsqSG!xPZi3i5@G4AztN5QHS;dpk>*`r=+T>Vi-dGI(-T0j#K0>ybF zBNmJZ@%fePpBP^DThXGj5D{2FhD;GfFc)Y!>WW_Wj{L%O&f5FyO3;e&*VkyA+tV>9)>kv#^clDKS-HEpQ!QCMgefx$& zhws@HsHGkhP@L&?iHlBOnl&i2@EN7GPBn66VBn)r<1FSvq7{@FTeP@}u8RNu1S=JP z{%7+^ok9JsWs}n=NVtTjtS$-)^@S30;`dM3qPDob^8;ElZitUy=VUFjkg~yHi$pt7 zLu8U2c|Nq;9y-jyupd#l{-RW0F+vx?|p6U5MGLIU*W#qbuh0yeL|QM0E_@CKjvsxoV{GWMIK zsF-cslpHxX#r0(+Z<2-Fjd0#w3bKpO@6!@Bf)T&6J zlJM{j^g?xuqnH?Vko!3k7DXA)>v-zL_3m0qKwK3!H&_u59vE>-ST}JU`d#hdi#F)`I~voSsjyX+OxAC_MhYy&hq{4!v)6m zZZFf&wl$K6<(1(g_Zg`E@{vu|%$U~lRVT~&`4d zbipTcysVk`^W{?gJE{oBq(P%R-Aa)>ZgahO*qrj1OraUy?x;boA35YCFS#pBp8~vQ zG~S6`G6aXzcLz%*X+GXi%ZH^9NwEpU4emCwd&F+mmrl{lL#-Sfc;-+#b{t;ZEC2sz z!$W+uR!;Gu*Dt;ml?lycJS^&{K5qH+`dH__jc|9@e*V6=eUDvqA^&2xN{)?^YCeZf zn4$Val$S@^%-m;B#sRf`BsVGx%zvw1`R)$Kf@liSf4=#D-X$0K729}68Bb85ahU|yqErYakW!nS&X&<)Ik`* zUyxAm9nD+ar>+kI%7eFfU#PqOxZ9yg>o=8IUbUo1#Sm5z#nLnx12?^z=MeiQ@K6QK zG`E+SCFQ5PMkc$h5)ZDf0K+{`lM=~nRG#5lk#``|-6#DLdksFEib#LawDf}~b6q(~ z7U5@B`fmJ!LoS)6ASsX+Y;SfbWW*NCQcww|48p6bHc**DTp1g*60o9^U= zwNQ=S=l5|*8M6Bros;n#j0&Xz$etoiCU2q^pZsuCy2L?zjB0)aV!-^!NEoxd+Z@w% zkatUo^&@M5s&(*=M+7@c6s+#*WF-Z=+Zc`DddG87Q~*wh2^NGkHGt4M)fM|p(BAs~ zcQ?)TcdBB*t*yC=?ZUpNTwYd&93O99e0_PrUBgb}o@#Iuk4?Y+1Q@7}+*$GP!wcabS^6icrS)uV*X8Oj}=?<3A<<2FN> zQqGouOx|L2cyvMBW{Y1`7sekn)aABS#x(kOPYrqJ` z*tI&_kpA4md?Qkc^!3EFxoAEXN)-X=jTTrI3}-obA2}rKMJt{L5<9>LCbRh!jEUAlBVdqIBrb>GA8rJbNjG}REMDm! zD?iI(pB_W&>s;!THY{LI^rRpafPtDaJdtezoGJyi_Pgsw*#!Z;{~*7>F{b=tkedmIMiWxuunf=y+#BrP z>4Z>N{j8Ko+@3zX$SnUHpyu#aaL4kSoO9qKhOyLu! zV!5}}K%-lOJLKD^w21smVaPT*GH9WUi6Z3;vq&InOp$Y4cSY}{@&4*W*QkRLa1S;2 zd6pzi;#FadQXn;3=tz>N+3KcPjltQO8kzs(Id=y2;azEWf4woKM-GZ!&jSDJy*Ru^7yN3pw?}UoP+7UpTtWG`PbGfBoJ$DC*#L+8)OhLC1n>LoqlDiS)iNs-OC{>5~Z)tokWI&;T6eAzW=0 zrSW`ptvnAK9V^n`+;oyTZvre+QHr+Cqqu;#LhXC^O^J^8N-#xBlPjDvXJ^{gieqT^ z-7nXT7BmYQY(}$pauW>)McD!(rfPMFe=R`F*o&i)BN`QJ;dacIO$^KZBKZQj2ils# zUexrItWo<#8RJxcLoEyy&c^*pL|cJ5W`yVN8ZRy0GizH&aL9a9ovh;iqL-itsKSXV zoCI+R8cYqUob3AK0;R7HSv#h(DbCJ-HY~s04M~~SD$vx~8K5aKBfjp2O5lB7+^Qd=z7P%H zN%Q{Fy;#me#;B?4i1UU_*9Ji^(E+)jW4UIZst#&Ym^#r0nxCr#7&D>(d0L}t`e;*e z6yo8Kd~b;k_ovP_Z&uR41LomjZiwoE2LxGbqgvuk^OS!dZ9rOa!J%V!u0%{Npd~!(!!Tj7CGmm}<^q@dOTN^%xP zO;AWRp_zt?=iylz>n!rJPH{tG=Vw%@PGhr=o~sqkq9ySr2isDiRCp3S>9>Zc1?T4n z?Ab?6pXeh)iGKhNG>Ws7H5D=lH05|5fCzD-Td6tk8bA|kky(&wWKmm(7(GLm!_)Tk zfG?x~-RL#=R;hd+<6xd|nD!nxsYbKyovOYA_|<_{P#-)D^D?B60jg5STAUjm-HM0K zxjif&I^{{?k-c8D6$}KpP9;F7b=u(zw`vWL2v#h1fb2xd$cKEC)}Vwn9!`@&0{mMJQPRa9p8y#D2eoq25A z9wVK@CLn-E5*z3wG88#c4ol~VfVq!{QKEhcqJ3WcJoFqow&w@rWI|dP1*{{&E<~gR zG&v_HM-AQn{gq(~T5QfNO+ZP6khdL_(rahM_C^gi|1?M!lWajP;TFPDQ1uZzX>LqT zyF&Yck}Z8#{G_lK)Z-~)_!|PE+-RjpbT0fFTY4!I!L~Hb3F}7KQB{d)FSU%EmY#m3 zj@rt$jRCm*Dum}C2clQB8cCwJhK#w)F=l`dh&_Nlr-5P|G6lw5F8mr}9y%+bU}W0} zzF1gZk|@V9?TqhecWxG-2ehkxi>%GO7s3J%LS-$4)}``Q^lNm(%pYjPygGD1rM5GT z>z>mFTRTf|s`?8v4QUX`nV=+-I4g3=?K;6sAL!2dnD&_qEoBb`nMTq=1mP5C=CPRz zM~cIvc9hT%u~qUK2O0Pul4(%2CF;-b%}&`c^N()fR53OUt79M58)8Xu&8|r~eV?dd z$7eb`pwqtB>*2od=;6Nq!~c5w=8LZ`zWMXl-#Lj8APtD_#JH8=`6CKAN`yFQ?rd-0 ziE*OaKl~8f=rM1fGs67TVpTgQStdSNiC?l4QfNrZ3h763S%c?6n_hD9DYnDQ4sJBW ziEFD&i5c0>%j?GL?YGGEfJRG#Ee#L7hQDXoFiiMQG{Z={@wZUzDWCMoE=oS_ZV)psZ(F-Ly)${N2^AdC}eFhbH^#eqTtc9~D|8i17jJ=%pY|{WL6v zdygbI^oa}~oparuYYR;wX5BO@uOmaOl77w9fTwL~hPq-Ow_XB!J4BUDUh~x=qxQ2@ zit20>a4rdeBml9rtum4I_gWW1UM{dhzdX~f4WIrA8shVu!qh^68i^l z4*7M+D|mHQwJqUZ&rlfmmTf zg&Ig=>Y7{4wXP*Dj+k^O@QU_W^i3k6t26ecBT5V)f{Wb*jlacZag z0pHg^<-Z6p43gsMX8@C-yh9Y36l^Eqa39}fr%}DvQjLIvb(opJKvzG}W;nYWiJlY7 z6-@=5)W|4zizhd`%iG;`^z~KoW1;~GJnCVD0$eQ#Fak=6G?Gci*!^s-KKmc{#lG&u zn+ekTHIZq&O0AR%1_rJJjSj9nS2<+D!sBQ6H?^Qp)NgPc-Cy6WCXh8$aVv_lii0pn zDuKA$MY|KZ0@&zUIy1(Ga>p!O zYL&fW0husuuiF3wRx21Nu==SYsjIJX0w)L24ENW+>{YfL3=+UkO9)Pg9KqoC21Q0L zt$s-#wx?>Y=@$Ot)>KfHdVWA_o7)4MV8=)~?t4j~(L`-8LL;@jKc#hZI zm56~JaJ?YuJLHS7>EhUkiz>)##JPLJfk8C~kr~3EjF?u*3G+GeL^F4;JNxeN?AW|d zcyk1bpQIiXlq$)_Zu$9;kr(4`ixbidY9Jp1#2Wgwl-e}qtoaXFn$pF?>&_2keO-uJ z1gREd=BKa#P}CXsZvo0hR7&RtJ7#OsHhHawf5!LYqRGP=Tn4>xUu&h$@7Frhi60SA zW(%F4|CJX0pnIUj*dMz4`cTN6m^#__j+SR3q#!2onaDY2k2-G{clWU>b&RU>mIegudQBt}qyX+jN0 zbbB~$6o_xWJ?6KH`c(6t>V6x9=>SE@S|*#Jy#y60Z9h9R1Y2ikAh?8bsDan;ZYNk> z&>NY2)j(q@jsooo$Og#%p%Oyi*oz%0;b54$EzYXCjMdjt^D(0k3eJ~Uo)2go%&(BU z3i52WkKN0Lrk1>DRWGEb35ZC*hEn~uskHtivSQk>$l%z}B1Mh#Ao6O$Tv~>vRlVO& zj+I3J-uysP!IBRYo*XS9>Qri^(XS_WqU&U&Wo6XTX*dV?hP_i8$(gaNYpXt!EtQe6 zCpDZ~1;YGJ<$4*nfZ|DlYV!YW_Pf8hR??#J+o>_N=e0#0BKQ3Q*E>3bQDe0Gckaz& zr6U?z8>Y#!snF!`Gh+o;Lds^k*d5E-Sc%os<{{E=Fmqdy!#GjvxHmIg3uWdxg2GvW zHA)^25NJu9IP|f|WY*R>;Be5gWl>kuH`m!8D3&==UY_VQYjw0(0&92OPI2}str!llu<`S-q@|KdnVkqMuhtkqLBZ(>p~5Yx;CKJo=$0UN4-IA>~?B;{WpK z%g{rdr%8@XCNI8`LrL{NsALZ1E|HZsU65Oo{bQ92&l;t43n~5y&5k@Wq4bfV)|t*^ zGSsJ|G>1t#y~y^}T>9>#Eh+qh11Tkg3O-g*63NMzR56Rt8RgLbup4L44;MplDd|lp zVIYwTB5*|-;7wl;G-~B=dq%1}YJA;Nk4K96b+@~Q`ABE69?~Xjff`~32V_&>QYOt6 zSBl=+&^P=9Ekp(I^GkR#p|I){Q}@jWoS@KH*Hkd(y;2|{!e=ZxuUfcsFL%$!r9))t z;f>~|di>aTyN1##c&g_)&da`J{1$KTeGUohT`N!1on<7__SQ7(>Eaw{s<8r%AQX??20MJ6Zrm$AR4-?J}M5+|I#rcS$Xb3@+`zUU0(wD zT*w?@uaW;&G|F8g$KK(-sEK|)vYoEAloDabL3u&?2Ze5)M>B{iB8R4i_reR}T7WdH zEp13nv$;jz7dAQp2H`5l+r(MU0PAw^a%s!ZrdsP~60FXT?CXlwsJ(VTlxZOgU~gKv zhLCu@4D|SS8s>~Tc}S6Fa{O0udR@P4(?cOAY1Lk z2TCJ+<8aZiWCO?vvBOsmly~abR?9Nij&aHH-+roWnQu{nx>;jov7AVS$HiRXhDrkb zP~Fw#A#)n4C#(H%mzDRIS9I_;|EekPfBcpd+f<6+Tq;gDDC@|YVjDy4##Tn2nro6G zk8$pZgl6F@R$lHO|?HrGEV6k&mNi%miaML(q$Ae>}T zOFBH*26f3u73E5Vo(oqKaJpMuZEBdsa+UW)7u?NT66T$pGwKo(nX1LgV)X1yp}q&O zJvBinZ3@4yALSe`{J!V+kh@*8)`yr-KCAtDA=UYOP1eQl1iS^tj#?iXE?!C zE7aG!2GD~@hw1xgZKiI z2+O92io!nWuG)_u(Vx|A31<*l^Eu&;gc@Zs#A1#7g|?_jg~bsVS)-fX1(Un7awd2> zc(mU*hk_g_qD)9HWZ+xa`M|GH&RS}Wpv9PL^I=uX-(=e~`1mwd?@qg_%IJ#1x0*e9 zp_fX^xPYh0yN>Rw-@E`4eNB0nlpcwdX zLBdu9aW9I+;n`F@oc*-!8Daq~qu8ruDfryw2NYgcT^>BtcLAZWPw<6a-rdF{CM#`k zj0o{uQXC$YGfxxb5u1eZpMt{BeuEm<0!kkiC-{USO@vUA>Y=Fi{09k%b_Wmr8hQsD zV5l0>`{4l_QB(!$ODSZWh^i!&q%U~5dRu1RWt6}+2D>-N)1rptpEW$R{j}2@_mo>7 z>ChG%&Q?ENgQGIAP%(@oab~7TC8oJY)Uquh((BGjIDhud=EIVr8v1<%Wl}Mw8mQwX zuSbo-lC5td+$fr`6G}-O_&=MJwa&4>tPb~%O6Rcc)UW*Nvc$iPLn&77dN~t_Ndut; z15(#ORP~`d_iW&)N2YE=A@50RD2D?4y#QAvGlNjT=*E$|aH-cW-P(DNwv$hgZ@I%2mxxLGDnN|&})#p zY|`$kvph^qAhkZv&bB(TU00#;F6)4kHs^Zk>I&|2pK1tYl97|8DL~EDm4RCH8e)H| zJ!1Gik8HW@)v0#~)7T?kMb<)9B@~ib@D6pFVZW5M)Dy>7I1mFY--LCWQw0QJ0lZqs zk_UI#<9*$Z)L-ib!@OK-z#3I76e(l~LW$it{M`RhM?<&YPzJ2Iqu&4jsrT!(f4B&C zm(_Dse9~CYiVS}?Dn7O*00c)*ZB~!IWo@dBbTmJfDJf@baz}Ne9=ybm`ezORPRToIiJycB>AuOuOoYITF)+I#L90u8CZI zDL+(1MEycG6d6%9_0ch|K)+On{n63Q{jDVD#Z8R=n)p!#l8|GY(rsK=>C)!CkQE=W zCnZQFFvJU$5CmSlf|825$3Sy^I9S1qO>bLifmQQ|V=AW5mMto#N3;J~3SQz^y)Ld8 z2pp0sK_5SGnSh{iWPWs@WhD=nfSFdP*^+|OKAkfL#}nQM>y{xl}xd=zJWP=Xf( z%hCcmL=)Kd(bq3zPA?$Qz5Ma|LdIWhFFgs#w@Lys+BZ!hpm*}2DVj-M8=4_ho@gxk z()@FAvELUeC4x{p-U65jFdPcO#i%PQlOA?PB~IzjIGR4?Tm(Ef0_Zf$Cqfc}Zi0Y8NW_dn&D|z*s;@rU*j40$-b7ij%g#ynU{DS8CoFj<|C_|Ks;veMUv) zm+abBlk&y*Ip9!uGrrz%CuG>!ZFH{~{ILS+T?e zgit5MHCqZivS=W^IV1Y)Q7<*it8Kx52OcVKOl<>MUWn&sK@s?p{x}HtB}BX7l}}NC z;o&Nf{DV8TtkWea;@X|iUJ`!6$Bc&+pd8xFy4~r-dX_%X2k+UZbqjDjiBr7hVlgA5 zn4jeiIIlmrJ4{q3ryxX4A1&PFjG~fd6CSKVYUw^oJ{bCO#c6CuVAD{!E zsM77-C;t4l`LU=zy|~gpnyW?yx?cR3_u?ya<2!Yq0VNOL0p+lJ)9V+z{pF9BXxw(< zmu`RkqPn^1no^tFzr4B8`{{-LA;C-gCZ~tDb3xAS%P7n#WeeVxV3m&)QCgBafU~c+ zdeLBu4)q}MYxVxQF$D8)Q0DMeG=K;d0ES-J6q1ZOt{l&5LBE)+=b7x^(-5n9Z>k`h}~>Ed&ALKPwDx^eK}_M^^me9>IpDia

    KfInJm}zsYG6tNZ)ab%ebWs1v3idR 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%0DjU>;Cz)q(Ac? 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 Qf93t0{|_n|Dt{XP2cJC)3;+NC literal 0 HcmV?d00001 diff --git a/tests/ui/macro_use_import.rs b/tests/ui/macro_use_import.rs new file mode 100644 index 0000000000000..6490a2107d5ac --- /dev/null +++ b/tests/ui/macro_use_import.rs @@ -0,0 +1,12 @@ +// compile-flags: --edition 2018 +#![warn(clippy::macro_use_import)] + +use std::collections::HashMap; +#[macro_use] +use std::prelude; + +fn main() { + let _ = HashMap::::new(); + serde_if_integer128!(""); + println!(); +} diff --git a/tests/ui/macro_use_import.stderr b/tests/ui/macro_use_import.stderr new file mode 100644 index 0000000000000..1d86ba584411f --- /dev/null +++ b/tests/ui/macro_use_import.stderr @@ -0,0 +1,10 @@ +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_import.rs:5:1 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use std::prelude::` + | + = note: `-D clippy::macro-use-import` implied by `-D warnings` + +error: aborting due to previous error + diff --git a/tests/ui/macro_use_import.stdout b/tests/ui/macro_use_import.stdout new file mode 100644 index 0000000000000..e69de29bb2d1d From ede366be637657280ca506c5bad0f41f96c47340 Mon Sep 17 00:00:00 2001 From: Devin R Date: Wed, 4 Mar 2020 07:59:10 -0500 Subject: [PATCH 02/42] collected all the imports and names how to compare macro to import path add more imports to test --- clippy_lints/src/lib.rs | 6 +- clippy_lints/src/macro_use.rs | 234 ++++++++++++++++++++----- macro_use_import | Bin 2816064 -> 0 bytes tests/ui/auxiliary/macro_use_helper.rs | 55 ++++++ tests/ui/macro_use_import.rs | 12 -- tests/ui/macro_use_import.stderr | 10 -- tests/ui/macro_use_imports.rs | 37 +++- 7 files changed, 281 insertions(+), 73 deletions(-) delete mode 100755 macro_use_import create mode 100644 tests/ui/auxiliary/macro_use_helper.rs delete mode 100644 tests/ui/macro_use_import.rs delete mode 100644 tests/ui/macro_use_import.stderr diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index cd258c7b506c3..89f55986f634f 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -60,6 +60,7 @@ extern crate rustc_trait_selection; #[allow(unused_extern_crates)] extern crate rustc_typeck; +use rustc::session::Session; use rustc_data_structures::fx::FxHashSet; use rustc_lint::LintId; use rustc_session::Session; @@ -1060,9 +1061,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: let max_struct_bools = conf.max_struct_bools; store.register_early_pass(move || box excessive_bools::ExcessiveBools::new(max_struct_bools, max_fn_params_bools)); store.register_early_pass(|| box option_env_unwrap::OptionEnvUnwrap); - let warn_on_all_wildcard_imports = conf.warn_on_all_wildcard_imports; - store.register_late_pass(move || box wildcard_imports::WildcardImports::new(warn_on_all_wildcard_imports)); - store.register_early_pass(|| box macro_use::MacroUseImports); + store.register_late_pass(|| box wildcard_imports::WildcardImports); store.register_late_pass(|| box verbose_file_reads::VerboseFileReads); store.register_late_pass(|| box redundant_pub_crate::RedundantPubCrate::default()); store.register_late_pass(|| box unnamed_address::UnnamedAddress); @@ -1080,6 +1079,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: single_char_binding_names_threshold, }); store.register_early_pass(|| box unnested_or_patterns::UnnestedOrPatterns); + store.register_late_pass(|| box macro_use::MacroUseImports::default()); store.register_group(true, "clippy::restriction", Some("clippy_restriction"), vec![ LintId::of(&arithmetic::FLOAT_ARITHMETIC), diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index cf526409374b8..4c89647a57413 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -1,10 +1,12 @@ -use crate::utils::{snippet, span_lint_and_sugg, in_macro}; +use crate::utils::{in_macro, snippet, span_lint_and_sugg}; +use hir::def::{DefKind, Res}; use if_chain::if_chain; use rustc_ast::ast; -use rustc_data_structures::fx::FxHashSet; +use rustc_data_structures::fx::FxHashMap; use rustc_errors::Applicability; -use rustc_lint::{EarlyContext, EarlyLintPass}; -use rustc_session::{impl_lint_pass, declare_tool_lint}; +use rustc_hir as hir; +use rustc_lint::{LateContext, LateLintPass, LintContext}; +use rustc_session::{declare_tool_lint, impl_lint_pass}; use rustc_span::{edition::Edition, Span}; declare_clippy_lint! { @@ -20,82 +22,226 @@ declare_clippy_lint! { /// #[macro_use] /// use lazy_static; /// ``` - pub MACRO_USE_IMPORT, + pub MACRO_USE_IMPORTS, pedantic, "#[macro_use] is no longer needed" } -#[derive(Default)] -pub struct MacroUseImport { - collected: FxHashSet, +const BRACKETS: &[char] = &['<', '>']; + +/// MacroRefData includes the name of the macro +/// and the path from `SourceMap::span_to_filename`. +#[derive(Debug, Clone)] +pub struct MacroRefData { + name: String, + path: String, } -impl_lint_pass!(MacroUseImport => [MACRO_USE_IMPORT]); +impl MacroRefData { + pub fn new(name: String, span: Span, ecx: &LateContext<'_, '_>) -> Self { + let mut path = ecx.sess().source_map().span_to_filename(span).to_string(); -impl EarlyLintPass for MacroUseImport { + // std lib paths are <::std::module::file type> + // so remove brackets and space + if path.contains('<') { + path = path.replace(BRACKETS, ""); + } + if path.contains(' ') { + path = path.split(' ').next().unwrap().to_string(); + } + Self { + name: name.to_string(), + path, + } + } +} - fn check_item(&mut self, ecx: &EarlyContext<'_>, item: &ast::Item) { +#[derive(Default)] +pub struct MacroUseImports { + /// the actual import path used and the span of the attribute above it. + imports: Vec<(String, Span)>, + /// the span of the macro reference and the `MacroRefData` + /// for the use of the macro. + /// TODO make this FxHashSet to guard against inserting already found macros + collected: FxHashMap, + mac_refs: Vec<(Span, MacroRefData)>, +} + +impl_lint_pass!(MacroUseImports => [MACRO_USE_IMPORTS]); + +impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { + fn check_item(&mut self, lcx: &LateContext<'_, '_>, item: &hir::Item<'_>) { if_chain! { - if ecx.sess.opts.edition == Edition::Edition2018; - if let ast::ItemKind::Use(use_tree) = &item.kind; + if lcx.sess().opts.edition == Edition::Edition2018; + if let hir::ItemKind::Use(path, _kind) = &item.kind; if let Some(mac_attr) = item .attrs .iter() .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); + if let Res::Def(DefKind::Mod, id) = path.res; then { - let import_path = snippet(ecx, use_tree.span, "_"); - let mac_names = find_used_macros(ecx, &import_path); - let msg = "`macro_use` attributes are no longer needed in the Rust 2018 edition"; - let help = format!("use {}::", import_path); - span_lint_and_sugg( - ecx, - MACRO_USE_IMPORT, - mac_attr.span, - msg, - // "remove the attribute and import the macro directly, try", - "", - help, - Applicability::HasPlaceholders, - ); + // println!("{:#?}", lcx.tcx.def_path_str(id)); + for kid in lcx.tcx.item_children(id).iter() { + // println!("{:#?}", kid); + if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { + let span = mac_attr.span.clone(); + + // println!("{:#?}", lcx.tcx.def_path_str(mac_id)); + + self.imports.push((lcx.tcx.def_path_str(mac_id), span)); + } + } + } else { + if in_macro(item.span) { + let call_site = item.span.source_callsite(); + let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + if let Some(callee) = item.span.source_callee() { + if !self.collected.contains_key(&call_site) { + let mac = MacroRefData::new(name.to_string(), callee.def_site, lcx); + self.mac_refs.push((call_site, mac.clone())); + self.collected.insert(call_site, mac); + } + } + } } } } + fn check_attribute(&mut self, lcx: &LateContext<'_, '_>, attr: &ast::Attribute) { + if in_macro(attr.span) { + let call_site = attr.span.source_callsite(); + let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + if let Some(callee) = attr.span.source_callee() { + if !self.collected.contains_key(&call_site) { + println!("{:?}\n{:#?}", call_site, attr); + + let name = if name.contains("::") { + name.split("::").last().unwrap().to_string() + } else { + name.to_string() + }; - fn check_expr(&mut self, ecx: &EarlyContext<'_>, expr: &ast::Expr) { + let mac = MacroRefData::new(name, callee.def_site, lcx); + self.mac_refs.push((call_site, mac.clone())); + self.collected.insert(call_site, mac); + } + } + } + } + fn check_expr(&mut self, lcx: &LateContext<'_, '_>, expr: &hir::Expr<'_>) { if in_macro(expr.span) { - let name = snippet(ecx, ecx.sess.source_map().span_until_char(expr.span.source_callsite(), '!'), "_"); + let call_site = expr.span.source_callsite(); + let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = expr.span.source_callee() { - if self.collected.insert(callee.def_site) { - println!("EXPR {:#?}", name); + if !self.collected.contains_key(&call_site) { + let name = if name.contains("::") { + name.split("::").last().unwrap().to_string() + } else { + name.to_string() + }; + + let mac = MacroRefData::new(name, callee.def_site, lcx); + self.mac_refs.push((call_site, mac.clone())); + self.collected.insert(call_site, mac); } } } } - fn check_stmt(&mut self, ecx: &EarlyContext<'_>, stmt: &ast::Stmt) { + fn check_stmt(&mut self, lcx: &LateContext<'_, '_>, stmt: &hir::Stmt<'_>) { if in_macro(stmt.span) { - let name = snippet(ecx, ecx.sess.source_map().span_until_char(stmt.span.source_callsite(), '!'), "_"); + let call_site = stmt.span.source_callsite(); + let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = stmt.span.source_callee() { - println!("EXPR {:#?}", name); + if !self.collected.contains_key(&call_site) { + let name = if name.contains("::") { + name.split("::").last().unwrap().to_string() + } else { + name.to_string() + }; + + let mac = MacroRefData::new(name, callee.def_site, lcx); + self.mac_refs.push((call_site, mac.clone())); + self.collected.insert(call_site, mac); + } } } } - fn check_pat(&mut self, ecx: &EarlyContext<'_>, pat: &ast::Pat) { + fn check_pat(&mut self, lcx: &LateContext<'_, '_>, pat: &hir::Pat<'_>) { if in_macro(pat.span) { - let name = snippet(ecx, ecx.sess.source_map().span_until_char(pat.span.source_callsite(), '!'), "_"); + let call_site = pat.span.source_callsite(); + let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = pat.span.source_callee() { - println!("EXPR {:#?}", name); + if !self.collected.contains_key(&call_site) { + let mac = MacroRefData::new(name.to_string(), callee.def_site, lcx); + self.mac_refs.push((call_site, mac.clone())); + self.collected.insert(call_site, mac); + } } } } -} + fn check_ty(&mut self, lcx: &LateContext<'_, '_>, ty: &hir::Ty<'_>) { + if in_macro(ty.span) { + let call_site = ty.span.source_callsite(); + let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + if let Some(callee) = ty.span.source_callee() { + if !self.collected.contains_key(&call_site) { + let mac = MacroRefData::new(name.to_string(), callee.def_site, lcx); + self.mac_refs.push((call_site, mac.clone())); + self.collected.insert(call_site, mac); + } + } + } + } + + fn check_crate_post(&mut self, lcx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { + for (import, span) in self.imports.iter() { + let matched = self + .mac_refs + .iter() + .find(|(_span, mac)| import.ends_with(&mac.name)) + .is_some(); -fn find_used_macros(ecx: &EarlyContext<'_>, path: &str) { - for it in ecx.krate.module.items.iter() { - if in_macro(it.span) { - // println!("{:#?}", it) + if matched { + self.mac_refs.retain(|(_span, mac)| !import.ends_with(&mac.name)); + let msg = "`macro_use` attributes are no longer needed in the Rust 2018 edition"; + let help = format!("use {}", import); + span_lint_and_sugg( + lcx, + MACRO_USE_IMPORTS, + *span, + msg, + "remove the attribute and import the macro directly, try", + help, + Applicability::HasPlaceholders, + ) + } + } + if !self.mac_refs.is_empty() { + // TODO if not empty we found one we could not make a suggestion for + // such as std::prelude::v1 or something else I haven't thought of. + // println!("{:#?}", self.mac_refs); } } - for x in ecx.sess.imported_macro_spans.borrow().iter() { - // println!("{:?}", x); +} + +const PRELUDE: &[&str] = &[ + "marker", "ops", "convert", "iter", "option", "result", "borrow", "boxed", "string", "vec", "macros", +]; + +/// This is somewhat of a fallback for imports from `std::prelude` because they +/// are not recognized by `LateLintPass::check_item` `lcx.tcx.item_children(id)` +fn make_path(mac: &MacroRefData, use_path: &str) -> String { + let segs = mac.path.split("::").filter(|s| *s != "").collect::>(); + + if segs.starts_with(&["std"]) && PRELUDE.iter().any(|m| segs.contains(m)) { + return format!( + "std::prelude::{} is imported by default, remove `use` statement", + mac.name + ); + } + + if use_path.split("::").count() == 1 { + return format!("{}::{}", use_path, mac.name); } + + mac.path.clone() } diff --git a/macro_use_import b/macro_use_import deleted file mode 100755 index 61d3a827f1f77ecf6d8dd69590a42eb2cfb26354..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2816064 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

    IRQ1mo=!3=*8==7#byEYE(;=I{>g;H*O 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

    *3jox#OK#(BR=~UryTHkU8@f8JSo=G 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

    3^#I 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 z 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 (UOi+EP#LB+>D>qS+b9*V>({78Nf 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%0AhSlC;CgebPN>=q(i7ypxj=jKxsZ23rEl< zL1{iUy7(}OYQcJNhWQ+?^HSitT}+gHy9cMur-(a*&er#`A{4u`A{5ycu}&O z&0ts!A+VdRlA!En>j66Bq4PAkJh1CXe!fOh;T*}ENJsLlWYHd$7>7XHY0-CPkzi%Z zrofZ22WnD`uperbpcLy@IBlEn;xhygz|HESomkmx(8@2Umi`K45(8y@ zpGAEuB^aImE|d+R)UbJoG&17Xupd?F^u&plI29q+KMddqgHFP}>H)x9O_woUp-h*- z@fv0bKiy@-=`!qVI{@%5ztDBGNEykdunUd?uvOH9vpu|Y9b%A_GhIi81f}b!2I#ns z21b6iod2EcXjTO2I@%OLx{l0XO^~jmiV;7-A9o$@2s(rMT3J2|^h{3lT7x+`(I|7& zuTkdYM33dn$%#UFCMQHW#%N32V~jSkfI0n-1c@|^(V4ia{`U|*V=yPsy8ksN(7#&$ zTUv3VVpWY7XJFDSXP@<-$(U!#)T%*9T)DPvyzZKE=)fH zyWH%vO*Q%45w=;79s|cPMB1eJyn((PJ5#t}-@X(IyW4n6<iqfI?ZZb*ZpNN{C=eTZX~}A2Ib&)BP%2*D|VsITu3%_ zf9t_1Z{+ZHiY#;zrNs`vS{2F;zd?fkZf8!j%E*qtO@SOYXNHldpCMr(X8_%`)VZMZ6(_9Yvb^KhDIOA{L6}le2#;kJt(=KvkJ`H`#Bo`+xt12 z0XzFS+YoW~b7m^s{hU>R?fsnfgzf#DO^n#DXK1RO!HDzz(n=HQ?B@)hggnf~V86fQ zLE8H{JxF^$r-^j-b9#{WeohnF?tacT%^%0*_WMgF&e+e{in^-(oINv|e`TS!V>**w zi&o07k}Z|4#DA@ZAHn}-1(#On+o%dw_Bz~FbQPx0Hd=QUm*k>2$@b;qlzX%;FNX5a z^mL^@6kVzpC0(nH^0-zLX}DHR10)>R3J`0W>S7UAb}x`lkJ-m^UO_y@fEO9?kbNz2 z5P~^oBl}ji5HCTi7Z{7K-qH0;?8#8K%W_fY=b~;gQ0y$>$gec!SqcR_Qs#k)yEG$J zx{j=rl^qL4jzs{~kvoONWSxjdRzz``??8<*I(#3B9e%aWl~6ab!}p?Ohi{^s4&O$4 zI{X@4o~Oe%k!FWqZxFY#lj$sGgC`puS3Ern_3)ykdYq+i_Na%6bk*YmofYNT>XCka zvL&o3%4s#|bS2s~c;C9H|FL=EuNvJ!@)4ij)e;LdiZ-?T^gwapN5gTJvw_@m*9bqY zzH>D4n#4vU>{;PWKkg`qo|`Y-N{`Mb5mR)M)l5(4!JOOt(== zkL1jImCi+{hYpJ`<0Xa@lq{^(sd6}`J1h@Q51*YLOPRuRTpTZ4k0SM@j3BXgt!o!_ zSQAF_<;wJaQ!OzM0XCIhkN;Fw*;kvUz7koj?5$AgH>6q@6pqI@MsitT0jyQv)h$9a zN-%Ni+MxJW-%UajR|X2ATv=;H`ow1f5w+8GD_Ljur&S8%1iD^GC|XGLep~D5_GyK_jj@ z1S`v7qg-fhlg%Rsj47Q%EiB80*334t9jWM53gm#XUV>6nN9cP@MfczgMIWd0b_567 zPE3@o=pLNkkBpSub7zWY(yF}FPkW*!6|_m!h6>s$L8+h#6z>Qfl;q_Rx{dS*-9)-V z_b^D4fdZMcYK<~y)e0pUtOP6Cf@&ow8EpK?4AS8`25mD)q|2a4Z$BMpaUjsazIcEo z@(xrE*3Q2WfR)`3U&oq<0RA5}1|4c#9>2>#Ig7y8`;l@Hc;=p1@k9-{k|VbiiBYnW zluCsHDUE6c(qlnp=A!joOQX!u8j(sy{1oUBa^y>-O<_R2q3%|;83JrmLgaYmJe|lEfm}IW@uK8-#YTC? zD<;w%ulz+9i1O_5%Kzi-Jiw$Vn#SL=nG5W~0=Gv7<=_Z%2ogk+WaZ!#@sxN7D2ND( zU_u29pr9h6C_zC)K~%tuhyrF*L{Q8Mm@s3+%>P$4GrO~Ur+(k_zW;BYr)H|EtGlaH zbx%)EcTK_N>I+z%}SfT64w9BLi~Fb z)CD!>Xw_4`VHYWy_U+p4D|8`EnJp;auIDML->x@+mJJcsXrU^QsR(SwIcH#ct zx4YCIywZ-|ns3rFgQey1TGQ2kD$sQsNrVo!dj5hBwB{CgjeoV~wC zRhfYr>uptH@1?5QS*l9Z?_nit`_C2Dc3GxrIytpnI>RCek|5)gG8+|}I?qORjAo-^ zQxDjvlxJ6F<(=}J2dc>xo4QAc%;f%ig--92^EFxji!Lw5BqoVa#T3O)J1SYFX}UUjAgeTsgviW;f3^DYmq%OXdq93BOBVmR%(+^nS?qXr zG(b&kR80m<_B9Siej0oDgj9`?nk7GtwepD3O$#rpBfmkGbp@B7#g2fO2Om852qp#jNi&Uzr3Fa$11%C72i=cb;j~QS1lEpv8>-sP#yOn zsh8LZci`r*bn?qFD)Fyo@Y*($>|k@S_)WL5Y6{RF+t0qkGPeQr6Y+Iy{q-iGQe&R6 z%v?Z;p&wZ0Wac^?O5~ zX?B?HyZ7Nfb3Py;JzMVAZvuU2BKzHpE(IoMVcPV*=2wP{4~!W9K3ILpSci_NOtw`nMyq! z-?Krs3L(jOp*M^90r7oKAD>wc2>vb4dVOvDN}dnfc>JPLpLqyS&%=iL%(Z}cICrAY z+yMx_dNR2T2)=R#XEFhTZ@Hwj@%Zca`OR;D*0?OT%*Jz_bMfA2%joZUqGYjA!2IHr{DUz)S!npldG(mrU2@)2ILbV#HG>nfH@veml+@%g^=3x`|N;eb~OYs&YT-C4*-IX zVPCzQ0Ew~hjR7+eP~Q)Ld?kd0+jB|4Tn1=RAKex(@!M@LP3{Po{(yR!4YE}T@$%Zr zfH??=OQIJ)icAG0#-%)8vGMrV{5%q0<#_K7a)}V?ePh66Kj9F+JrywZH#=hIf!r^I zh+X(nz$^naw>$0$nDKzbGMDEQ4*ur;fC+!D{P?GAYL&y5NvhU;^m6Y5;=xzIZhwH_ zqZcbvAAsgh z;>4gi5m3#um>DVp)a3+_IYLO9p65H5d<#>TEWTg$0K_FRkn@Ny2PBpnV}qs_Aozd_ zg61+n@Gmb8np)Fr+<$e@v<6iETI2!2N3&=10zmLLd4{jI@h2V*ny&!(@e`g3nhO9; zYuVPInFS~@`?;W53uvD20`WhuUJ|7|XF2%W+k&RjOUjS`@>S5({Tf`V!d-!o*$qhC z@3T>GZfzSsljkA_|M0Moi5_nA+cyfCv4F@|Y8Emb0B{q;f}2nqZpQL#MEaP#iCK}< z_Pw7ux++wWcysJGq`;M;WQ@TLTT0k=n=fxyH)) zi78flbJ1T4l#$xi^_nuqhF0Xo^=>Sqic})Cx9ico^&_!@eO>J^vKdgrNbS_xsi!gu zlAGs#+e;apl8m$ZDq~8LF}_3@shwaiI7u1LCnXjPQpPE*+-ToEMH!zYC1#CLhCjJc zaB~@rTagAy#+vcUsKS{rw(0{WDC4SRpogwfMxUgY`Cl`>Kr7FTV?c+c`|HM@)zeK1m+5N}~AAB@y?!?RhF1S7Sv@Io0gTFEVMP3W*| zl~Hq~tH)h)mC-)QXtr1x-I9#AmnmaJk}+|GGR7tu;l0YZD#_R%rRG|Z)NZ%WKC6t> z9>s}Il~ITJ5Iax%vd=AEQYRlSvl+!~Y->xL$rh_fbV_F7cAGIaDbapB<6JB9$h~eY zyhyfOuu{jMn&7iYgnnn>%Q*t0*b&*?bKf6+8JDZzP?4L4UuIR%8k;a7adCETU&oHy z?Ds1VQA$rhI?#jEhs1{?o*I5 zI&ZM;?qyT`=1HJV9jxaEAa&1&XaiC5zTeCP>g*?gw@+uU|1&r~I_Tr)2{}oi#bP;^ zsJduxs*8Gx_?w*_C`iYIYN#e?g1SsArrd!3?pY)%_nIN@g1BU+Z31+C$vvfvb(va`U6Vpv;^LLREenl=^a zAx!irFBG42i!t{CwjS54(KfTNoE{s~^w{Io!)Xs!UNghw8o=-M{bqavhq$++vx7u&c0hHMOvfp%i z#UY-r5-{zm(qJWVQ$aovLgJZJE5L8Uj>{``1Ll}|j!W;ucyRz!EU!txTm>lcDagr% zj-Pn*fSC!XOVP!Qg#nExXIj8q45&+$S)4fqsLN`Q{MimM2;>!< zHGmR*KV)NVK#2{bf~IgZhEUQo4&*H%B!JMFK{EwVVgpE%@eZ+v(dmE-9pe0pg62~| z#ab|4T?%MuGa0yk2dK;L89~!?rbFBa;=9}-&H>pgglKTXEOzam?GVR(XADAA0mvc-Uk6;=R==|wmZh#@y#ArwNh)vnn#4%VkUY8SQBJxmc zvWLwSQ`W>05+>t?@DE(Lt+P#~b##00)|1iX zp?XN4meM1=qbn~IFD2#$fQ}nN{jp5waS8FH>#;mdkLN1T6?P(5~~>EQ?ovqGWxVZ(i96kzM|^k|>- zdez5f=0^uOsr(pjQ)#`Pye<%h`_>RS4mwpooL*0u6$-@<5p$O@cDck~rQszi(RO6W zx(y^t8lUFWN8`1`9xbQgyJ;GlajI`xiCr*GOH3Y`Q;mPFpu~iUhUJCgm!9P_PXe|c zt1i)V-n$S_dd(SS$LtJUXM6Q1is-nlBX9CVArIB#UEbBunTVY z5OeSK5UpPK5Vf~55OV$O+!ja?^V$YeMC>UKQIEN$q@O|0rU(;y^kFTKuSr~bfmAum zPQ3l1)z+rcD#pz$WFxQTp@~no`%Zy4FF56e;$eoKC4e+#6Z(bsQ0)E`;z_srx2Eaw zq*o88YsomdD)kPfuf*y7k9)jTN+@1ygU_4-NdFUWP=})!0cpzd!)^+iF@U@Uo6y>W zs$t%Q%$({7CuIT4Y%0yZY-5jXa!MYWQ{ON4Rue} z@ueW|3n6dgBj^Ke2W&Ic>ksxliZpz#oVs76sT)08mABP>%r-->^BD|H^xAfrt%lS5@2o(n+S}Ad%i~{_DlZhjkeD9< zRH;^H1kBlh5fxW|G;A=@Tgts`Dy@|7U`~c?lSc&_rq{#rLh;03eDwnA zbfD@TqENf>u|_9g?k@2V9}V;n)A{7E8L*4IZI)kVl{TPTdhWiTrn_&Fr^p=}m2n_z zWc_{K8tMoM(@LG%ni7f+C+6D$F=Qq*Cx`Ddk%rxfC%r9?v14{h`5LbtPWBYe*0H2K z{xuKF3&o!&<^b=VTCkrq;-gN1UCJhOcQsXNw;C0YaU7wPng9 zJ$qWoY?v$MG|lo-@x?X$<}E-~32mZXQcj1 zNqM38uf*K8j;qJJ=V`q?hj^SEvHRZzjv99VyTPl5QzJXsuR!upHU8-psJu{o)D*v2 z0oX(SM{iLze#um$)?_<3Y&E*tl${%n8l!DB+uZVXt5^Y^U%XS z7uGJ7rZA+t3+RjK0Gmq7j#8bsj>w||HJm(CHB1FU@j7?=&FO%S@f-7X*d@(EA13DS0lVcqf>}Y2!=_~F z(Hl-`EO3@hrL~-9wN(#!{Hq@2h2jT^xlLnNkDbg^@m98`oF1>H>G7ji59fvJFFsoE zwk(ed^l*fn{3tIJZ`m|p&I0WGu#QkYT2IZ)k5V|P{Fr7_c78Zf)E=#R$m3u2C@&N* zCFTWyt;dwnS}q$!k2E9yVVWL+^Hr;~a^Vj)>AmGqfgb7gqr6aj9Wj3m*m|6Dy6VxL zc--$hSPu;O8FtK$jh|bA9;+EXSXM+H|EfoMq4+dnehQFLgbA%VTg&Ao(Ic(Be4D06 zHKq?KrL=MxX_t#UD$panev}uAx0=Wh3$XKJ?j+S?An~N@alRe1lOIbe(4*6JI;$g( zf7PSBQ2Z%kw$4Eh`I5B~9!(<=d8i(Oq~1RrJ^ofGekCz)0rbV< z-1RJo0qikcuZ5~qka^^Er3&GsGN->yrDe`<_WYMTRH^K=2?IwdVWN3?q4*EP-1-*u z&{>_s8nEV%`LA+%tWVQpw^xt9nYi#j@0}lYgoKG6$tjnlP<#+E-vHQOeKtSHVqoUK zm`YD?(H-EV@?*G7+4|S}ZqlP_5`J@6h9 zZ9U@GgSZ6yx-R2bXZ>s%9Ld{Kv#H#u>?TyJnZd?{pDPWTm!-f>_~t@m9_H&@Bo>x^ zSE}&GNF1MAU!J)>H@VUI`=~RyiH|pm%S|MZMN(7)N zO9_H`O$hKv`K7`N?XALU??`y^h_LNm6uuG8pL~W6vNl=-ETra zk+}AeaLXInMOvmTO!y!U-xFCRVnRD`EsCU6sh?7%NlMqlRh3o}zflDhjhWCkykjRj z;gTx(4KOFFtSsDk0&1p1`NCVFZn7y862Ua9X+k2M&T1xJVzep~dJe^7kpeld`*}@D z!4&K^)a}NOZ+A)i^<|0mE2I}>Y z^&jscMeHwrTFLCUgBT9y7eUE#Ib^y45$eT4A3njKHHU?H4o4BI^a++>1X_noy`|w; zaVrLa&Ltk;but}FWWg7gc(h9EBRkfXPlj}vy3B(6s_hbed!_soXkW5`OhSrnT1b6% zE@1}R_{gVZC{tirrC$)jku16peLnd(rOzl_RiC6hyQL#P5ZT4HeDtNbXl-9V5tqnE zkNAyd=3H0t%xe&?8yj*&N>cvG$y*c7i$;%1F)wzQ^?WdQ5R;xZ6CHMIDzM?iKwy!q zw6MU*yZ zny*K*NV$Cz_K3NQGlR`1% z5$*^;itQX-m}v_(;i1JAe|{OiA}?3UN_yt!3Ovuk|k5I0Svutmkx71P0MCoj9~MtED1dN!dIze$)Z$ICc4qXlv>z$W;j2Z|87cB znXMvCW81Kt?nPBG1?Pu#bxkt)=fJc|pC-oa_I7f<^E93jxZ25g1F5d^-H^T7k@wA# zfbEMvVQl&M(RWgN#V(DEq)N^9d^aAybv%!vb9Jwj=PU92)Cz(+)#Lec628{sk*p1ttswC_JxZytXN$#Xax_+$>H4K z$W-E`A^P4UgOZ*Hs^?jFeAV_GYf5D9)fYsIGk(>*#%u@Da@ua!Z{e}hYITYZot^TW zY}X%oDu|oYv4Ja6wMLlDeyt=nH>ub>2)ftKbgzJv;;YqDxi-U5EV?y=Su~LY+b@r$ zBn2xP>#Gx;=V3}rFq=dhP0f&8Zbfo(?oTB`oLdbK#12tu-Aj1QU(1r-Aoj`h6u&JD zLe*r{mqp)PcK%*N5+<#)3$rcx+thJQ5lVc0Q_!SRzM4pvnKY5nC$46Nnd85=EgFd~#kQ<)n39HiVq0#(wrr+g)V6fT zw!G>{Nb1$LJQ>Ph-jgG~xsruw8<*B7f3cl_SnYo_E_Q`lgsj?03jHEaHOVDtP4EN{ zQ~HFK3#|NTStj!et5WnvW-i=IB`>mS=45s$ttT}2+a9G{JtZy*IDYa&PDk*#$MQ(J zt78(zmVuu<*9ng{3cW_>aC>0Z26Kul2%ET znORAdnORANnORAt8M?zB&}gQSMcYWZ%Ig@}j563uE)@3AoJ*F$6vE^@F}SmBm)O^9 zQz;*XYei-77_x@3yp+MYo;*#KSw_qakv-Fv&v2Ow_jTJPsgrF>e}&tPW+HLO=)t}E zmea}ZLXJarzAYd9JfpXeG(_LaU>1#}3mL+?WcL!RXt1wVbgYLdWdgIHd>7LFKkY&W z+g*qoy`AibNWvdZvXA}8WZMll*gIs30g@OE^XsX5xeYh^o2NX*G`3yn%a7g9%0Bl} z<~-j~&>4j@o^YMlgbp#sTG_EajEiGQIutoBQhrwHAzb?Mu8%$)x~92|hU;{WaqA*Z zE(4IV3U|m`C)X>0Rr=#leu@*PSE^pNnD?(fRKe|$s-reCK`Zz@c~wpZ?@B#r_pls& zXbQ!%Ty_BchJ{S6i#32b1TY;zH-H_2I|0-`E)~GCX?6g+F+ZF@P5^%ZXz&KFDrE=~ zKvpsMJn+UxSBj_#n}z5dsGRjNuPFzF=o6@t^&Ldf@if{6ft;)!AK_n!AFN1LJBWD@ z-9EJ{M^Auw#)(!;QMWn1I+l~#82;tb}1ef~gf zMJ98I)-XND>J29Z86$MN!B;!l;|ms)JIu<$T;Qvg`*jAh)??L8v;^jXOAz5w$(wzN z++Q=8wN}d@z{LI{`K=vcX*&fA12tmLoX8e4@;d~V8njyiIVMYrbTj$UxNo3&Ov<#Q z$DfvMR`y#o{C+A@C9BSRbD0o*7{o|6&lAGU<{c1{&9QvOc=tNNYL3qI zMK$jqcbI8;?=sW!{uxIyE$_X|WZtJSJ$e6<6GB?v?{b)FdGBQ=^FH6nxwO3ZGM&7S zHYJ0;bb=LwSGX5krDB-%KW zd3$ywx|@Nb*L&fB>{>AyJ$ji(Zjx~o9a(>Z=;=h3<0?D$nRI61&k=Fs%4pQkg}npmvRSIhE~NkX=dcUPc-yw6Kdd0^#$Bh|(Mc&;rPGk!3DkSBv8#pcP;X?& zOaaO{JO#7*Y3fjt7F2(jcdA2Snd7iUOO4j4$1y)k*vYshS6r@HkBf3 z2#SR0?vJP;D1%5Ef_Xx?hG4T0t|2fb9z$@k6K$FyxY}W+83LD?W(aO{B-0FmmzgvK zX-tnHSmcC|W(Za|Ol{t-5%w~ZhTsRUq-%t|Os^q$(GgaA>l%VIX3`M6=7_4za1Ft3 zhnZ#wyv(E_NMpK&AdTr70xvVo5WMX~mSzaN%#cF~iK#AXavNJ|6n=qlVc9{RBGLzdDhYsr}j>L`2?Kjg#3#>%HRVjSKJt@5K-W0xJ zZ3_SN@g&}$Lp~07EAT`%H!rKtBO2u&612fu*YjV5NJZy_8 zTMFo9ON*UWX)-%0y(1+(eWF)d#(pX-AC=s&%fKrPTLyY6z04zhASvCTWRe|r7amrr zSjl7}ZI+nX2J_OS#7<{OiNQ>q!QfN}sH?5SesCRYg8zDjWp_#7=hL%j?*jf4xONm< ztwe8(x^@HL&w{Iw2XBc%Ruc|>54alWtri7-A01!lftFh5)@2#@>);ch55CR10II{a zW8I^FZvv~tzES?q#CL!H5;VW0zg9#l0!=)l3zC z4ivwWYsJe>V-zkL{D=l`K*UGkf(9nE6)pQj!X3wj-7-q%dn7y@$8k%7^4a!IP&KMu z!y8<*TSRKa+%b{V{LMLJfmK?YJS`!b;wu8Nn)r7w>8FZs3FKuphFQ`L;#OX*9(aOR zK#2a6tQJ*PLhOMkj8h(2dmjs$`iz(QUuD(GdKsq@hyhOra;iK9F&(1t>Kd4UtWP1= z*@BI#ye(mf+wv^jqE9VNX&^ma@rpq8*m0T6SD3RdFS;a9vtm(pHgk(rs^1&5yBd79 zEiR$@#rskc7X!t9N+O39H%9}-ztAjufm|%aSC$nzNcogR!uOc48Fw4GY{K^*=d}Jl z$*hg%kdd01^@EhxBGyAuUVF%A+fP!Ey4SBDY(mdb0gV-2`;On(n^y3z>$I?Rmk-Wi z$1MF^AKn1EOc&WCHiLc#jQzoi|H8A$TyQ?Z#~bit)CqtRweMwPEI^45clk_|pQDu6 zwuSwp03|Nr$Ef=NC5qbeW(+9t>XSip2(XDQ5P%Zavq94e5Q0R!MVaY(if*($)>F*S zB|X)bau?T1G}T}(w@?jkf4>Id$NGQo8X3FXUgW|+0x@I#-9m;g80No?BABy@u`1s6 zLTM`gT5@+U(7uleM$0?bVF#0wf%c0MyRiY$+CES#aoZ-Jc@q$P`(~dBGchT6w zvFMovS>_Q_!C5f}?2>5^SI0wa2jhbe(47Fn@aV_quVOPS~S0vze);Y!xH zr)A{a=?Oy<)jFqg-d}D2_E!(~WxOOaO(W4a=QNM1&GFN@O-}R)Pk_Sf@|7|eLXJ{pkR_Rmtv|Vyn;nV9_K_#qt ze6kX*`ma~Q8|XXTODddH!fBpD6rNVXi5X0-gl~9?RwT6&zTjadD`6W?bxT!3FZaJ! z39t63DiuyD;Wr+ogr}8opNHvG!Yv0=CHY^ggya6xO4w|tF{cAwd!}7k=@cr5?UMV$ zT`AR*m2eTh-0Hh0trG6Qr&E1f+|8iCV1UCk&^`q9A<5p2+*-tl}r8`=CS>4=28C<4LT)3OxwsXSECcNYh z(q5*!gEa1PC1$;q%2AtTOc@A=>ZWpZ!zu;_PLB3vfrEQVr6r?c-gOSrZIM^I#gZhc<0ZR6 ze-oeS3{aI4qxSpEZGhnK9rT;LUl@mh5BZgU^#H+}|K>Mm0D|B7XG&)Op%mWJ3MAzZ zfxGfg`&0Z8ffRqsF`QBZNSI@pJX!$=etlnF;Q_(_IGLT7N^Sg=1-v-i#JCXt9{xh9 z^?>3gICs4J27DUB%x`3 z>vTwk@1^>;Mm7Q_G=G`=F7r39ud{K~ch*?aM|>5$AAl?J`D5AyziHuj=GuM)%lkIV zOdM_{ju~L%=Qd=A+1<=C2w$dZ?8&*%`xvT7BrGps_TO$M^oUq*OIglam%hXF9IWp! zdrzj_Ro}{oFsu5j+b03fyf^*fpv3APM&6}=oHsptz3G5-8)zJ!$4135#82@s8s3z&0(=1oZ4Opq6a7(;r@ zqJZfGG~bC>^?R9nl?*wOS(@PxnmgNhC9k^H37|hNLm)JO&u}?#7_Zk7z>B=p*P_NI zvv)Lvo4qEq_*}Lhv1@?+Mr}fuH7xn`c;IrnO~$A$7D5%i;g7RhUq1>eAo2 zMyjlH+sqFGsVaZ>qNngI;k44wnjosfJ-wH@Zc+-*A)rTN$gvk7bF z@zFKSVJyu1)gdwHI2Nq|byrx4MLhQk{`&+=e8UeGI>QvU&3d%FFB`=^8mu2m>s{Kqr z!QZ)sCbD#ox@mZfW{CsSN|LgdG-W2#2sU#;;yQu80=pFIPi2NRcNu2{+8(Yz>8XP9 zH^;T7YN`+7dYSDivD~Px;Sj+n8Vmp2-a!+14!#E!lv8y&&1A(1>U;`rTSon>Vxe(z=-~wxY<<`bw(B+-DpOOz>;c82X(X>6Kqs zBz2xdvbU(6E^(7ocoM@uIJW-crn@N_&*r^RTWN9A-G4lqhOV+T6*tj~_+0gvh@QX2 zn8$!FO)zdfw;FRc(B*E3)z2C8D!>qp-DO{vF2oZaFhcTZ6Dt72SV;a5h zh`k2#n-C&)?_Ohe0xEX+7seb1Xrz~d+%1HNP5hOgjsSI84zf)MaXFjWmj!?ZFgRlI zJDp_{fdb1k1=PiihrJ>J^0o2bT zkf((Zm$9vV<~l%Ko(DM~gt+YEAHhgx$K^x&SC~#{GVCEuaA`1$j;gNy6pqy0ivRvCiiP z%xFMEJM%(bS^)L)EXX%Ph@XOs0;V6JiXL%kz?=lA*fk&z3L#=&fmFTB5ev)+n5KY= zm4RF>goteg*)N1-$i6EBChIB)Ny4!Um`MiI&l-@|g%CeAZwi>MfcklCNx*yns90cW zz_b8V>|~H>LP*fj6#;V;pkfn2ZV^I4+q^1ZJ_XdJ#%d4&aar_4z-$K8<(N$YGX_wX z>RSS)BcLwVgFGgL_=#>M9zY{~vwzV1322VaV2#w>fckkFPd1%lD?t4`H7IC4 z0aPq>a?rE{R7}o1y-)~A&v~Z?%_2a>9tGJWgoM_62xD|WGcju@a{z!64}!ew61Bzz zO?N{cR*l7hAa5ltR)K=AJF!5%Bmpvc0zYQ(1->WuB zO{>07YFhQLx%;aBz};VcdMo;~>VJXoc?JoK~dFtAlXyVEf)>p{#WhzB7?9u+Y6 z0_|?}bC$zL0rMNsZi|)3=G}J)(C$YoUgt9oC;{3%EANh>gTwXj<2~SyZnQ^I2T_YL zhzvEiIjkp?)o?dt>eq15yT%jhhaYqA|CC)99Lg6Kt&1GWAKr)e?lxtbiMK=~B=W=} z5$h*;2A1L}gC#y4R;dIaBfax?;iy+f>I(LlkO^ug_T^*RFNJRzcF=VFjULhPzx#VgU&X99(@A*#^k z7XXC=@pBtUoKNM2%XqU5pR402Q`kAriVuT$94M>=u^prfhM@3v0(kiX%k&mvA;jdF zSdq&iHtoS|SXdaRU(~&AVlLMFl&4R&a`^;;AW_A8K3;+PlsjV)t0zb!{>*ITh=>M#24jzR#R_0fdy|h#P$7OQ5hXp_MH5nH7L$&O0l8=JdN9 zmkU5tQHj*t?K4vVRkY^g?3D`?p2iz^0iQ0nb?3WcB-aYc%98j&IM+Ri^BI+C;_}0L z{C>zDPr<6pdW7L1N>qioyK5lj(y5z6;9}x^Hv7zjK;e9%DSO&yJ^%{Og_!&$**29W zn3B->wfyE?pl}vNwZG7BqDMoBOUtHgGzMs@%i8*3{E7~KlO-yv$^aw9~9*&w@yp5izC0S!9uRKJ-6XwX)fhv<5d-@FJE7LmGPGyP@{pr!bW zOGwFIdb!{H0BF$7ukf4mfx;RX@0Zs4O)aKq3fn-edeU$5pMsD|*&Aeu5K<{0e4X@c zg^-lK#VpP-yCI~-^#<82gtWMRd;I2AKs9*BC8S7C+v_)P0;<85eXKV52!cA1C<9p| z1l4r|&ldE1n$V?meqR8EjcJz$K~A9q)TVgs_f9mDwih5e@sh0}U;3lpRQ?G<8fhbt zdxenpvJs@+&k#}~+q*Es=~Sb53CN2=_o5(7&71k$x3#BBP@(B4mEx8Lv#))96OO4p|=ymC&ISq7b< z*fvDxUffsp`1ZS)sbEsH@Xj3ZPH*dYAD{Amt1M@+y}xUFmz_9tMj__`)(ru+_os?v zS3Qm0PtH2A%aUZr`yWF!_WM8K$8MRB*o}uoE9$1keqeagd%cwR5h?F=hpG4LzH+>0 zjbJVmQ18L-8TZ63%B-`L+v*ymXE|FdI0}tQh4?+|upNcE+9A5zcgHv5!N(R18lnl- ze+om}jN3Ti=!4XY`P4=&?{a9C}Hkk za*buK2aayf9BHeKmYE2s%l4=F1`4RlqNA zmq)XF<|jb??5WRTi47cL=#ea@1=QuoV|?aFUcHrQz)SB4K#5-$`Aj>yEF}gu_L~`i z2EDYK-|Pa8o{QG!-{&_E11gq%0rU8P5-(5VE%OqGxPw>JJ%GAwn9uocfD$_wGX=fG zA(k%>m=6JUDO<^+KR}5|cQc>`l!$C(v<@h7>Qe!;5K!VJzJvV=sG>DH3;2Bk|p5 zBl9P{T>L|@ro6M2Ow6`|@;Vb=%dI-E3MB)wS*yw@TQ5d1OiSktVK)t+q;Ga~&2!9Y zJ69cCk&k3;f*I=$F+00z)}LSbOqmb^vYSSK$GW*!7^K<9R-@QA8O#9_0{JE@f)QMY zzh*&ShpYuFd}a^CfYAi6>nE~^pA`hh|6Bq6f$a-%n6Jl%_o zFoj+7I!4dVU=CQu4_QMqnf$em-KvfT?j;}N3y;mqap>sH47A-#vZv&t?7ZA-GMEit z7pM3gQ!MilQ1Sq|D@#-37fp3?_jYgYHqzX^g`C|jxqEANw9*SH4dn0L5|-^})q=T< zM3y|89m~r4nsKBMw`VuVYA6c#bh2zYSylugOD%QXWf?@v=KhGTyPOAMue(IU@~L?u zyWZcW<}F^>kCeJnlhnxTa(p7gd95pcZ))ti65=<(GbA;CW<}rhq(Xc zTf{2giGDsK64sSay4VZ zp>NWj0r3<386-HmkSaC*Eq3GwN_OI*e@nkv3n=mGQ66GuTMu#7Fu(Z>P_b>ZJT9Z= zc!;%2QUpe#+9Q=raPm70n=at?AyC5q6R7YwWAeWMP0f&IezO?R1Ptag?5#k_OAJRk z(EldIE`dmj-FT!&Y(Q&|*o_cLvDIxnVk;S~e-3D*eFyu^)qqBN{7}ES2GB@HT*5m8 zP;z6$3SKgu@54)euVms^fqes%EMj7sOk}X0RBbmzGR~W>@|)KI4XoL0kJv1Tp^N=yC@}dpCR&bVu>&CZ2c=0I zs}k&Tv(pE~`+#i&PQI15q0R}8`~Xg_;ZJREFqafqrQe?!G84zMz;<$_ti&tKhK@7l zxwI_2Gfk#E#e4$*%1rgV~yuHg$-?daa+ z>CEz))NdXDPHqvff^B9{-8*xO_u&?v2|FllFoPU6FX_w9Z%$Vv|3i;2c8oLg44nV?+%#V0C@bTPneoy1fl8L*oE`TTq1HFr`G}} zx8)7dzc*k zkZvLL1*|@{pL}+e<1KSwKVuG!*0V!}BYq-6pWRdHw61ls6*-r$7U4~nIcXQ?Yd^(5 zOTbC2MY@lEK1_W+=|U?}o#$G?Kd}-UrI)AdkdOO$Em6Ovl<_hq8v0T#PO3?k^m&t2 z1HehWNsIQR;+J(m6_QM;Cj3 z(uks_Rr(-_{R%j-)C5PiWRr`x_@0#jS#p$>DBw9l@Dk0iSKGOj_D!%R?R{ow3r1E; zM)2JiP-5eEK9lpkLv(qW6I_9zCm`008M?~>CAPoKFRbqbY(KAnG{PPZ{ey&*fUI(f z#6|0eTY{=yhlksOYG6&mok8_zmZESk7i}Lt!9}}E;=?m-$f^dmx0D*{^$b9-fy8|EG?o0HC_{b9MoPI6n+cG`iQcjhG}(2f>k4KD_5K>*C+Cl*lIcL0}c#$M&NF{XAP{9i2JJzy2O{A^E;nI9WAGjegxm9Qymxm|U$`IWJG=1{2oD97 zS5rn9p<-}YgLr7*Bz{ac)}{EuC-88B849|T&&n2u0_~r|uwiPzR(Q~O`%kv?e6ka7 zLOWZMmsS@OlwEv7-=Hbl9po`uBA0ybYEJ{UDYp!(H|YGt}ghIO0E%``E` zp4Qcvu+{x793tUkZzF(UME|i19=Y0QLLG^X4{Wj_@W=bKA>RItyV@*ybbI{3atzQN zY*!$|kDpGmOp8H$HMm0@nx2|8Yt+8Sf}ZhnGO{E z#vES@rp-QX<1+>CA$B^%N}zy`vz1C_peENNfK{4J7gG!rtn_6ydW*sE>1c4bFDI6O zD0M_-993|ZFFR{Ed#e5mYi5!jpx{_i zy8LpVc?T#cMz;Z1W2peGL<8se%p5=~(XMM*BzYYKmB@tZ#gma<@NuTrN4b&a&-a-V z0S$T@$b&*i&3z2@zm_COW!-!mD-{8aXT$Bx<^py+cQi=G^Fz6Kx-q`j+9F0(Q7hy zt5kNFOxtu<+><*>+LCOtE=<{UH*J`AoGohaDCvrJ07(w>){V1=c~KeWxtExfA3!>>0ezP1X_y%IwR=)WHs^_fRdBp-$ z&rNr-vV~6?>JsS?G&2Du9sy~==Lr>?#U!eHW7J5Cnf!hX(6T(l_eJ@}s4mC995mw| zh3HJAi}=1M-x#%AM&yRf(|{K2J(caxit6%0{g7$RH$w@{gidK@$!crqUS|c>V(p<{ z_*1{~g$MYYW!sUkd{BI;jJ`ak9~2c$L|%uZre-n0d;k>esYIX_E#C=rMJmv#gJndU z8ED@@$v_oNM3VNakYLUdBcg$hzf;aGR88;sG}E>w6HUkWwbNv6N9rL!`WF*AntJPK@WK8}KgkcOgONJ>F{-8XBA4&t z*kwQs?YXb}%>96E!>3c18H`G|wy#77NmJq2gQWPipf3XjGeboD{wEAg?W8*&b)}HH z4Xr3Y^;551NQx$s3!LK@eaiWiK*4q?q%Ip7;@W{8UoJHp;`RY1@exQ>2egNcZDJ=4 zpx{JW@!4Da<}N^!_9vD7sHY(qarU`y1-3j6cFu>CRHE=`Bs@jZ{33m5ZkhFELt(ztfJ|N%N6-UMIpz zo1A#AV5fv90FCEyU&t&6G@hY#Lgq%mj%O>sQaM?5Z@J3y2y<*2&)r*ttQ2vAUcn&h zT|k3AjIV7Y0M%eaUdVh8Nbhe#*B>coiD<2ES*}*!=QgiRNPP!rom$kIRfm9P)pJKN zO#^5=ueA-D+;(<6*g5%v6B^2mY9{TsnorBZ)2ci7Gp0TRMav|I(h;Et<0;W>H@_zU z-I)8hjpyfrZ)J4Xl2P!m=ys%!zxdkl z=K;{|cq?%$PZ?2mo5S)4{{Gw87Vply`ao89|98f;Uift0BF?lrF@bC zH0m`VzX%}()P*7BOu&wM5FR_2!fD+G8u0@?3 zqNt~3mH_G!>SLL60VNt9Z<*@=C0Y%!%u+y!hsdS+jQWHKPR;YBHWZ=0F@)Q4M#wZC z%PzSCOnf7S*?2bDB?|6--e-<|!6ukKVBG8ET_gWLG$ps$rt+@s*T&2Mq}X2NSyK`% zdG{CXxVQ~(!_r`G2l+|}DYj#1)RzHvvAx7(sS|a-e~Q}e2UAfuY-O1VfJFTg&l-}& z67@ZFjK2aJ^^kjfW)+}ON9ZMw2kfXn>z<5y@;^oG+Vxb_b$hU}5g<|D&GUP~CF=Jv z^vyRrsXiNIqY#qn-$6QK`6cQEb04M*kfyts=U&03>3-2GsnViPjFO99QU~2%m*Z{S9wY|EGBaYOB3sD2A4WB3S^xSqU!e`N6{tQ z1-Fm)BB##m|0k8)kxNRYT7&tQ2N0F+;`yE6l1mpbHh&h-*uso!jsxu2_B@+hcoq%( zL*sDAR;k#m=X|CwAn81trwq6xoug=c_X85M3C*Gpc2d*!pTc*$<7D{pLtBHU|I<#< zE&$mpgydHvI%wG_Rg3oKXK?{YG<~OR^3-e~-Jr1&3r8Ds3Usa0Eqhk?X_s-ImH7Hn z@=6>Z;48}v);SBlinTyRFBmfnsP(p$xcD`e!~=rQ-Nz<}fZ$ht$JtDP;6r{gW;P)B zEj*uf@M8|L`V0{MxBQ`1yD>ZEfsg5GnfZX=ZHg^35)k}Do;m$(yyr>SM?m;nTt%l@ ziP5g2C03&6jVw+BYCUHqPOj=RmjlSxtbe)vW|^lZay_Ghoc7#`95&;Lxpfz)$=;4OMGCIY}saQ?!O2~8pWjN4?2^3FG<%(^1(Tjd48_ABvgKvt8N3Ewg&v;*jXUsKJPIAQ zh#svgSv8Ah*m=z)6@?-v3h4<#tsQn4cJc(FG^TrkkjwNV>1?H6v&_kFJJ1Keb^;yc zur<(&!nJgUB#r3?>M}in#&2!QtA9W8Wi6@eI0MVV|2K^XlDhXl_1Q_i5F%R4u(%3Z ze-3d3nRFS@_}mEQViEbxmz14v@W+vsPx#fF7RxR@I)3DfR6grWNr-)A@kp$X zKKrN3U_1`m{XDBm?$tC$_Y!8O5-MQjD`Tl3tHEU#kCjwm_mUQovG3GBHYHPeoJU6z zE&&cJ&w4y36^AXAJwu`$TP`}8Uv}G%tCjMk{m7NJ)0QNx<0roC*d#ucx|c9hTa36| zd3OAinQ<{P?j^RT<7d7coz3<#bv8S``B=aC3Fz3&qR97G*FV^6@fgF`SzhTIx~Toz zwG?S2mMmEldJ{Y4RDjD;72qVh0u1`mUSwP;Hq(xIBoC`}>X?vO4@d==K~C0mT$_rj zQUN+(w_T=P0dnOhuDXt#q`t@4DyH(acs|@=Iz?UO%b;oEuslWWWx08u#?!p7e=7mD zcYN~=i=ws*qqisKWMO!jslpiGh~hg{7$-W+w8HQ*?ZRj^mb1(OyD+v5TYz7Ul=K~91=lq1)`oZ|`b6)b2oOiR-gjzOE=KQ0n zoWI4+`3FvM?BH~#8r(!`tx}6uregrf`Ay{f9LH4}i8h1v9_HaNF+A;gw^`uG$%3oI z`uf$@@$-|z61$0%*rJ6F%VUcUq-@chj;q%erSTkFRQW}8SnCKkv_roT^X#%b=J`QK zN-9LsJbRfb^Sr?kb*!nF=S>dFt~om1@Uq-$lE$-jto#NlzUFwh^Q3Z<3H~I@QSsDT zmU+XYVxLoeRdT;>Vu&eT_f`2h0QaP#0ZXGqDRYl3F zyen0eAGfP=+r{>Q=E*MoRFttw2UCr2a;oyz6o-2?6jjBd@AWY40;zxL(p2wlvyARC z=lXRjhwL)vUJgrknR73PCA-YIm(9wSUFPbKlhVtU-Q`LY)lb3GL6f`5xxS?7BtHea zOlcm;Pr+WMX0^lkzqC{5-ocOgfL*u;`LJK~Pd$Vb7lrGVnlpiP%rnN^26TL!VfH!O zjoAe#vF`(V)(;(G^hd@#2dK-EL&p3CDA9`dryBt!8lT}abAgU;Fi!uzJJZ`eu%l}s z&g{*fc7VFbLGFVYJ*dmkw9nfCb$J=P+kBqma?Xu@vl~#CDc1zd8-V)xd=8st^M|>* zbSPv$FF;)){IoO{5W<97#MlJG9+Ey4)VF9El0K$0{gL-rFD*08$@+T?g=m#V8I2rg zk4UnnP*sbtlu~cA4>k{)GBumoE2&TOZ1mlOL9{Ze@xUmV-HV!q(%>k05I^3HU)sG^7-_J>QQGeWAW7NODIk#upbDKGx@&CL| zG_Xi`NnMJNwK@zKQyUrSSCcooV@+f$m=nA5iLmQ5>KC75@>cP-aqLT$xf951&6`{3 zWy>u4mQ|I7fz*2G4JdAvKE{He+WU~}>Cfu(8-*~0SG8XL%2^#DHVe@#5Q&~a^zJ2{ zNM4&@cCPn~VQJv`&qQ*L;^bQQl8k{DJ)EOO-Aj2_T9Mo#wNf@knH+aOX#TY=cL|wgf*)5o zX9c)>NmCfuuXgNMPre8*e-5jls%Faqb@5ePqlz5;8XLyC=tZo3tGaQ8&vbkhqp|}+{!vN$*GPIX`PV4z#}(;X%l*M5%yNG)DO3Mo!Zq#O zJJB6I^3u+|Q|1*JhchZO^V~aO{>!;{ITvDH-U*8i-tlSQZHIy+%{I=ko% zEmBDzj9XrBf0Jmxhf^vja~X^IyLgyKBB?us20Y^cWwKFrY^!(1rLTl_Vmy*sBQ zdkXVve@?XL;i-(0^3OjMtQ_l*!PK7{qThy6q8ihoVB^?F8B9G3CpOcQ{Z;Ky1FkrbxDL>Pu9TER(fL)EWV~)PF>@sz*nekjrlu zsFK!gC^NI$P^NSnv2q^aX{==>zw#ZYAhl_$81J%-6mNJilS*{d1 z^WTiO7OB?V0F_GEn3S1W zOv)@@OnoJiOoNte`Cfx2%<{#QZ24Y;Cd~2%O~xLQo-~6dQwQaXNkh#vXv)kqXv!>a z&>BmynZ=~CnZ+c`^2Owc{!a{=Tl)wn*1^+QD#6G*6p3YRXEd^d!pjR*I=spm-7s%u zDEB$t&7U6e>OPp?V)F)j2DRM@BY%9LN!mzPv+R~SCOXbD)Ge_k|N91QLWV(;9z6eS zn3@s@xwLYfQ;|VC@9zv+ObnWP$!E9x$r*-Ct<{AYhE14STxo_)y2AVm@W0yARjEO} z6#q*zn703?J@IRnUc#T=-}B>EQ5k{F4ph%QhV@tOC4rsvdUn;n5SWg@NpCl(+M1I^ z*9l(Muu1{=9`NP^vg;t4^)7`TV@@&u>OicDj7Lj^c*viq(&#~a3Gt|3y5aqvvFb7l z_V+Y#?>J-?!R5b##qpYFt)H3gUYVKgUYX_Fy$l%3wfp}+=DDs!mD%pK#C0I!9f!!r zsB+Ere_>sn1f(}xVV1Y9T4h8l?>MBk#INI!wCXLdJ^4E+mwr9On|;YZI{#J5Wvi!p zNu$>e?vV_pZDNkj7#<_9wveFn3z4@d8Ko0Lcv*2&IFYf{405{-p@CIqZ;XMsrBB;eN6+*(_qCk)T4cg-D67~w%kLfkN43#0qv^&usa1My)b1g( zHntO8Gi#&M$}7jb##xyEk#Ux}8tvY^##x(4vNoDAh$M|OM6wpn6Bnt4GAh_31QpL7 zFPsiRl_d1oc`|5pF3E+w>`INIb3AjByM!67R4vClcsvef{!cB^#*WQ|$JjB)J9eZ` zK(N+-_%59L-2*`avM(Kb{mkAHp3#jCl>JstOw#IJS|)a1F@sdDBh`|SG<&0le1b0) zo$2YHG>0eq@}g5Rn0hF&*SL#hVZ-doX>%^Z)Q*{TTM7K^t;aD2i9Fowl`$a)L|3YtO3Y73S!vj?A!w6 zUCO7O!Y|mb8pt~hV(p9kJiCpJ4?41JNSF7CntC1UlNtQ+>;{*$+{jm+noo!r(fB-ELLM+6}Qo#F(6^cdf*QPWdt^Q>6h;MMAx1RZUwoqxrOx zZvgTOsCx-hrb1&sjYu&C6Ys|4Zfc!s8&a8S-dQ*I|8e&o@KF`r|M1-1ySsOjY_i$S zrU7Q@O(Z^`BA`S>iZy^5Kt&Y6Mv00Qlpu;-q5@*W(ClbX6uVKd7ZB_qL=?q_2o~)B z?>RGb@7%CF`u?8Z^Z&f>yPwY_bIzPObLPyMGxgqU?#hsZD_vCJ!;zv&7Z>Er>+a>f zo^W@?a&9niG+>l&$c^s>iS>_gyvv;E1?(u)qjXcej3{a;{!&83S{Ndc_#l9wcN+?) z30*1PXhThZkr0PXhSjHWIJ2roh~uUK7>L7}-hT-3BtlU`$SR(Vi$Y0UCoP(eE6I5N zq7R+tECbaXL^#VP0PP}*in0tJgO}t|eq?zc@rh$)me6Nqcr(S<_;Y+3=5s0;)*pE0 z7J&efOv195e;=^?B@h-@1@Rab_~XV!t)RDNbi}`hadLr^r@GTE8BJ$6d72KoH)lcw zyl)Rr*Ib3$rSjP775)@K#$zkG)jOmDn%M#JW3GnG-5|z%MAof>gyu=r{n(X~C zix=jD4kuOHVe=K0D3DI7HUp?8fKIA{uv`5jo8XhGpCN|+al_)Is+C~?d;o=$Dzaw% zV;pTcvQ;ZABjrg|Gozquk<2Gm!;FG>1&x!cLyYD7Xb_gH{a-k#$}>tQ`{I+T_tBT@ zND*{W^*Vsn0O+LZImF|G5ywf@l%80mQXD5$S0S!{G#1lIRaZkVJU+W8Rkf5$om4d- z?wwR^qZD;gl^$Z8R8cn22`VJuV;iPJgp;E%hld8K7N@}kE&!1GS z#~a!84~;KRs{UmhN->g7s@fXJe}R%us@^uvIv7bORi-;{2}(YxGPjTN33;1(LDdF> z1$DLm{G_TL_Nh*)8ac`*Rq>(!t0z^1a8gwPmV8n*Bhe$f9I?+J> zzx<@?YeQ7BajYRq@-{R@(#Eb?Q>K&~yXLV%Kgqyll~ zLzHzr&IRkyNPJSY)2I(me(9vj95xu)bl6}dpH%HKK+s7QjS$A%zS zGd7dE8J1@@6VHU2HWMS8HWMRvZKh6{n(4n&EgB|irvm@tWkzQq1Ll*eWtffBpz-*m z>WJQOZ`6`>QuV1p9;3Azom9;+Cbb6>Z#tNY+U~vCsk&z;=KqusWKfKA-Pxi92-f(CsiYj0|Fif=%i{$6Qs;P(>MxXmFknK zMrxjacT!b;4ECDTN!2KdtCOl)#Pvzl^Jw%2z9sldp6~!{hpCc`#mFf?e`;yYtw%J-*L}>b5do_L)?=p(+>V0cvn>c|3x4| z?s{&{Ce!r%%s8ns&D%Yx`j>GrjwaH)8G629UhIx&BsjAPQjP>plS3&!srud6!l2fY zvfgf(XOfB{S${TW;XFXOo1qP4QF=2}RH@BSvchrzd{RYLIEnyRVIDo)tbfdjPO6S; zg5;Abvr7>rpH!J$ijZ7A{O29l1}a4EK9Y5(hXJIMDjvlMXll*e7EP_0kxi|ck-J(m zd%vdE{NFjL((c~3znMnW<*mY?G80$X1hJ9 zV&_a0bVfkkVjBV4IalI2kli_FI;k?9^I~eDrsm9|G&N^NHZ^BP?rP4*5!a^XTtvvG z?M}%5sNMf&Qf4~mo+QBk9cxr>)W1mFjWzP{(9|0DBU$OB%Ctte=a|mf>pA~J=gf<$ zrp}qWh-;1YWKphj#?Z?rRb+(~0Nj(RS_0rV*(3#wK%Z2NFs53h1wN^2Z|q5~B_y3x znUhC-Qf1B^JCk1Mq{^H-o=nL9{G{q`;{b~1UO1_uI_lrwom8EQT8=`k`J~G9H{479 zZ=Y1{a(qQ6Rb~}gDmtk$>&V7HCspPaBvby|ld7rsrp5&~VzZr2swUwvg|`s+aH`8& zxEX~&hf^Zl1{?BtjQ!?2EwLKfQje(c`@+)vIj76zqd~OW&rhqk+x}-DCvWH9iPr#p z2!`Eh+y4mw=OXeB0llLrVccSijv`*faS7!`2~=1y)}Q!30xcV-@e^;LRHd zB|EI-HMt?N0RdlSgEr$RMm-YtKEJVP*V4q^%X$fs4mgoj5bui zPe&gYEq)1;+|pqP^TB2tmT5Tma@8)FV>Ue|Cr`tkJrT^~%yDnYu|F7XMmA4E-9Mb8 zR2gFL-?163b$1W35RreRJ65BqJI%YeJ$g3vZr0sQu-Cc^^LZWXZYh;y>dwu5=3^>1 z>8{^kxAp&Q()v1s2(QNGrm{`>adJ;d&aPE2e*H?k?FFZTWShhBKj$RaDQq*2Pkf9* zAlrNd;)iZR9JaajWlJ3V3gWQME5602vJludLtU_k5spE@^giftQb%T@!5K3OZO4(Z zI`Z_Hgo!j-Ld@Vc65+$gE26ph{F_P}%^m{GX>RsU8-3{CHu_1b(UZS`?Flsco``p? z3_<;0ARSx=U?K*`14jdR9l$k+Y$xD00NtvEcmttiD_+ht4IuDi!z18DH_?lDk zB3hi(hyMasW$X)4+HQ@V5`D&=6vyL~7olVldHyp-ahp9aLV7d!x_5sg|9^8D|Nk|QNEicGfHIn zX6PooVuBFoPK0~~B;Ueu|6IOvCChWbX*bTnwUZqpuD zZ^=er3u^I2NGwGtp}Pg)9%s3A%4`CvPOb^Kb=vQ2+;BJtb$S374;CZx@g$ho$KZJ# zhM!&gL3_{n^%;fMmCkRs_0#UzaqD;ZB|>aQV4FU5Dqen2!#17VbSc&u(~&?Or0Z$+XVx+dEO-tid( zHrYPt`^}&XxZ&g(m|}f|z=nB83hxds1VC;)+`0uKtzWgJEj<){r>=I{LG1$`DV9mPKo|DKkgPR9d4C6#Y=B* zclrE;O@iI>p+rBQ?s(Zs$9dob+esets9b86e1Z#i$!9FF-?K0-!d?#k25>5V#G}pQEV|s11@6c7{Z!UjSSO zU>qX7@$!h0O90%6$k^Wi%%G;4hn4%kZ7OB{Zd1ADU%Wabwj#)p<@`l1pNnWCV0Q~P zO7u6CxLdW(9H{;DdsTx>2k;Jzc>Y?Hz-{o+!hhZdbN;psw4Y0c?}DR8;5PW>etcW` z0RUvvktKLrCIahIJZOn(1Rg0Wm*Rbi2;3keAGXAo2;3l5k67Ya1a8CzXqnsKIB>h* z_mFJS!=d)%@AqIg0(C9{h<;xY*)4{Z0Lr8R{IqOXT&Tb5et_0i(;0wAcj2A+dYzFW+{KcAW z0Db}>e!@Ez5lUJ>kmN-#KqUxV)vj-4YQ)TQ(%pJS*NeLY{5N1*xe8^_)N}BAmUs+- zJ>&TIp^Fay&7S<5i0V`2ff>Zb-mGBmq#b%qhSd$Pm~F+NSV&Vg$CLp@rC)L6Dwt21HS<(g){+ zyX_{F=?+|3KEQ27sddAERx?9iaHmK_vANvtQ zDTLz&ErtMw9?9gqnrarh6mIQ>Vc zi#_8$J6)!k`;KDj_8pgL-(M6{@{Egqhwc3VrsNqDf8yg81dwOE7yjY}ypoVT+pU6>IwH|F1PdY(}R}o5k$v0+)N=JgCBmUfmC-_SjSj8V< zDSr61h>yZ2R&(&$Y>F?yu3+(E#J(U1eCB0aVg~~F6u%L}LL?XQqfugLl_QD|o@t4z z5r!UU6(3cLPd6b9?Q9iS-GEO7APmj7io>fdaRdU-#9zn%#5ah8{ww_N`Yqy}A(sf1t>0<0VG;n=HhvP1(y_Xn-w z*B%Gu6Ec3@JC=9=f$+!tiqa4ekJex-gnkzySjV1>?(0w^x^uO`gkeCeNDdEq@lp7ZF5xQRr0Z(le7V8nZ{{;baa6x`L0`vxzht~XpFNl`!gYWa~gFnr`4v68m zTE#cq5)jWLP<+c*0Z~f$T72twIiC4?JVbHTqGNQf%i;GP0|je>8Na_xHA~lB82zL&s*Usm5g&VpAEeZTGxCbqq113vwTX&Y0&M3D~% zh6PUgLgs;XQ96C(Fzgxf^lDTisb0oJ3%&kTjdZEYd5pes8xGlTH5-%gd zrO#t}Rk#S=>(PHirQ=l9Zi@?BbkWWLIRJoJ)!^cv+)C)MZgHAp4 zeqW8}aOyyvy2D@YGEO~Br_w9j4bE#gl}e&tklI_O9zy>ZFqPw2FYlze7TSaD(30~G*;J@XGCR-+lXgn{4|9Ev}()V^PWA|ji4 zJQsAO7W_N6Aa1B@{973fZ@-)#!<|X0K)mz=$SYX6ve^m0Wo?Y_9%|QthNt;X$Yqt zq`sr^ExxlupG`jXFr{w3xym~|l><>nwa{Qj?wNCp*Ii zP`nPZzE5Ms2}#dC&rh8!)IQW+j}1(E`q|zCUo>w<_D{0E#q^E3jR*eex)3t`aUkQy zzLFx(05cjr#y%cC|7~FUPJKCo;oshWBwpT5(+lF59!#}&&R1T1n#b{8Sk2p%{{WC| zq{xSGB8@uZaL!1ENx$H=#jfb%DJ2Q|!I-P$BEkh-<){C#Qqyzl-Tu_yQEAy$ocf|a zwKHDdYovbaPu&VoriSMhxHiIHM)XZsY#KSv0|gh+VTjKPmM-y)ApJSD<^rXq!r6Mv z;k!n55T{n?RO%Zt)&2{YL(ai1Rr@XMBEExVOt?M%>~5myRA9bB z@3e*=!;a&NrHCAd6N<-*5xEYL>^%^97snLCG4o^nu9RXc1qW$rXb856QyaBlWBjS& zXkWY1q}Is02dBm_QVMy*pW54>w-U2|Bku@*>S%xJ1^(3Q*7*#2jz4v$KXsWub@X~) z-ZlPIy0~UYwauSO?$SujJ;tYvf$)Py>Ykiht+nyK4G%-6jkVtkjr9P>Sh*tLTX z+e3=n|5%^i1_M+T9D!)t&Q!sZ5EJ%hOuu7*?PqGRJUkJD`BHD7x&b8qRg+B(v=|iO zKRvR?cO`oVK71XKebLG7S{rvI6VpQCHBi{!BW(~OovZLiShiIa7N;RPkevU3El3?e zQz&7#1LMgMlRH`$P(_1RYF*M&O;(dr598F;I(3DsX-++zQ|Df++M(H2Z9JSRy+?ye zWz?;lp;2d8{=F}Qv}5NI$&NF;&KXc0{ss5m;mh!)Kb6{2%3d+W!S^V6&4%wz6Ru#G zuQkg6s@9yc5g$d~QyE|{KUsf|jK<_;n(Smh*?5m^9tM%OK^D&G!i`4D3^@nqWd=u; z=I{11dDvr;vlLf__fjIg z;e7>SeK}0`;-5p}Q_$P{LfYqb#_#`;$v5y(!}WMlngXL)4D;tc$9O?I81Y_3N}Q-H;qY#EbXpxfm+kBmm_`!(4*CY!6t zKKID(#T5M|O%^!LSJN0kRnyDh0iMESlsiR7KUsH=jO?^QlU4f3j`PUQisNKX?~%y< z7MH9q^XHlA9`bdV2F z>45yizWXX}UHoJ{JhFojT>)MFY|&AZ{o*IHadBH!`4nu357uO9;EmN!XOFDKTI{cD zvH^awAs*TL@K0+%X7_$LB#wn9?GcD1C_=jZ2^*O9HNaSBBXTA3wLxUycwh#M2PEv< z@pl+-{T2KG;LgZCkXmT~{gF-m8t{gs?*dd6`V03XCLRD*bW#0U+;O)%cEv#36C?TS zC`a02j;QGNhz7FpRE`0#DRsidc!NKEwpH@y)Pergp#W9sG*3=cpitTqJ(?mDkhl(! z{sSm&!0`b2kF3Xyeoj*k*R#qB`cSGAcAV(j^AM~OEiQYdKL>SNL$Xc&)NcVQ$$mm~ zOg{*;^{9XtiwJW|;2OG7&lUg`{VOoqZ-~Ata3v^z5PeS9Cb7B!vik$NvOijet92}( z0Ym`3zY`LJkYH0nPedvxqJ4mU35ddjkdHPZ23*BiV(;SQV<0HWyGY82u<5q^J43)| z3?io@QZdbKrW|3@%dhSkiUGCwXbeYIga*|9d(++w52$qX2~2n*Up;S{O1BLtwe^@x zdFkkyQeQaJO{LqyinGdV(???x7lZ818JWnm0Egb5DOD9=)1vIW`%%d`xWIeo=TP(8 zn{8p&t+mArKsJ3$de}E8Wiya}GKKxwU3D+ZT#-DOYMoU^n z#?fMQFATml2V26XrmF9c2wC>nLAby|yKPeSwg^9UEsC+Yu$jA7oVxNnP=sH_u(vCj zt{Ta7TOG*q7iJ<;`mtx?_~8*$EBrYA>?%6#&EuP$_A}_$r{x8Nox=X`xH3eJfQQ@M z29dYHVL>~5MfkPPp}KZ!Y;gi0dkfI7RRZ1q3!r1r=(&KnW2s$xd*U}g9f?iU zcd^kHK4Ds9x2shVnu@i4xN2sE9+|qH*8Q|CC?cB>rMbJ4j*Q$RDx>8h{2E^~P$Q#2i*7c~r(lDsMF(MW}91!rm?yr8JEe8~g zyckec*Qk|W6~N1g%CXlYn_Zg*w=WS3^+w}5PMC}x??r?PMd&GPC;Cy5zi^cBBJDEv zx2(vGXDMKSWjSfA+Ub{rU{%2l3#Z(Nx|&j>b>~Gy7@O*W5ms~!;&m4x-p8`(f0j@g zQq1ECpnj+1!$fq%`4KS>A+XhoEXRKmIndLxvMW@Uy@FJ1E;v&NbhL7Q1e0S`>R$nf z+|??eC-_9e0O)3CtK6HRLqU2PWZ8LxP~o2xHCTyIuSgsVN%5z`WfQJ%NxV1ctmd++ zlt0`mnP1)n7nw;fZR6}$D^jRTgbtP2XJyE4;#79rdJ*-C6vs(8z;Kx5GKE7C_&{Bf zCDJ%kA`>TBN|9Em{5YBrp~@DV|D_BfnK(nF)ru5LIuRP&GDb?OfEKkVpJiZW;vBwB?^a=MG<1o4G7`16}@3nM65!f_=oskbgqo2@&8nc?`K6P z;s3)5|1|yw$%k~XqH+8`lH$la4FBiIIBo>ROQrS>hjdoeb!c4*&QbAaf#|Lhn<4HD z?@@3I^wwM9lE4K{h}Seh*&Cg_iA`~Q%SR+fsjNJ$thx*3P;gF(V{jE0sl-dEtciB4 zFElWU{7*$etTW=Zh({lC;@5)tHHsGV1!2FQn^%T(A5ML@Po#37%boCmsWL= zZLt#dbi9k793M8oI%G=xesF$7B~o$L7CVoIk0v;<`wHyZo{dU?U4xI^{uk<$_^)8M zq6s@1dYa&Xfs|yFS*sN_$!Ar~0;`?nArV{}Jpg4raRe@1F14cL5x)Zg@kFD_KuWNx zRwBa>2*IVLus>0WPK@Xoh}OvHXtZrTN7=5jRL@7zm~%+G^5LXiu~{Y+Ee(jlrJUVF z>FhonXSb`nV17gA>(Q^!)9OFMl<0OV(g!{4%u6vnxyG`h-(wto;w4N%q{p@oZwG6j zKhalF(VQc};6p2V^C?0Mqm;3hOD9`(12}K?LRdls0b?!`L0E_Gp7KsqE+}OqN50Kg>1_?ez-UydR~H} z4|fxAoCj8i19=rC9E+)!`kl%tHv#(=r97IA%fq4;b+uPUbAE>)4Ty&}=fy>=wX79q zWMh8T$t`Sx3tdbf4sy#)Gxts4+!EEWUy~|xldt3C3y?(DNWxg{2gt1ihF@ffz-asl zf9PrF0u<$l5ZwvlC>mb`$QZ+wP(s`ZJ#r1M8%m-l5XDt-nvLV)9&W6KZ^NdRcRup2K?uE=XXR~2%6BcbeD5JLTOt-N~?*+#$=T!$3_5|>+_OqPG_ z$*TH5^;aMS?m!&_lCVinm2n^f*B2iHjS+voAzW$ZLw?M$Ce2QHY|oA%6hXu6;Tn+SIr@7xANE$i(3Q z1dnlWAVA639*pQ1WC_U&ZcI&EF$VQ{9`#g2>2h7@dW<78u@cF}LLvGzFZQ!=8_F#yz$Hxp z#w}^81Y}8RCvT*$q_ixFkSNJb6Vbh332`S2j?-l>m^occ1@jz>>+!M4J?`YS@^Oz# z?u2xVwEVeOM8tzL10w5LEB{@@f2BCKjHCCQge`n4YY!MrHmMnJn~LnnVqe@}yU3kn@l?VxixoPpA zu8xTA*Pv-`4_NX3wGlBLA?vpQDiwl7qu3q06pI@>Ua{>Z;1>HEE;sB_EFn>>n--q~ z=e`Od>m{;?QLqii$vOe7{1vP*OS-`<3GK2TF3>Bb~9aW!;>MFgDZ#-^9|6Vkstb*F8F2j#RR}>WTF^LQv&WIM0t&bM3j<> zWuvmydKR6x0khq0{ZM9$0GVZtR0T-HBXM*7?p(^ zJuF5rMobeJRM-S4DYIY8+YbNWiJ^!HX?f1iBZ`+^8xhAMuoxoDWAW>lT!kNdNU7~% zI4`JeF8;wg6W}bw-+*%;{su+#$BtN)IJd8W+*mkR9E96H>hPc>>4+8tJ%w zo(9xjL4nu{fO<+uM2XPnHsR-YK^0P#IH@(vvjwuE{LwIQ(nWBVmHz}Zq2gq~{GXEtk`D z&{|c0f>Zxnm{aKrgHx5_RQgyZWDp|hUw@(;;W*8jV|%OSP)zJ*2U4ZC1JFO%l(4VJ z*{kH2rpWtpXx9cmS1MV*A&{uLp6gOF!Vti#U*2Vkg6ekyfI&39yCdS&?;NnTs%{0R zO{#tisV&rR0REGvO6O!k#*O-sgj~OlkiK5mZ(Y->Q2j#al={b&cI(%?MmeJ-(ygj* zAyM&TEJ1u7{8<+auYp3;q#q&-{7N+`V@D$8L2oR;7+WYM{I0l#T~7 zS0TCiihvBkNtY`mi4+Jqd8uE(*Fdm&3m-#mo$Vh@K{i$&63n!6-&>=k|vFD3Y>Q9v7>R^b%JA<*HMVAQX&%WDH`PBv3{Mf zO+!OjI$nd`_b@_WKg){We^EeeK?vZ<9T8m*Ds=BxKaYyhJnqFt0&@;UVJ%^LFiDOH zXFxGsKEv6^>KrS+7*^O5ieaGkrihp|4lBl?*;YI`O92Z3+y>y>yRlnemu1D5&yI+( zcL5lLB|!8c=osbF6u+GOyNI3FEh@TDEu7e%Xvwb7E!^#3v=xn|@h6bsHw1f84zhnT z5-6Gda4&la&+9mQh0LxeV)47slt(@ci7C6_-L>!n)PO6O-v^9GY{GfY94r4AP}2IJ z;*Z}D5lfE8u-MGXziLiItV2K?*%H`dh}I$-#HAseCHKS?(doQk;xraZc#}eW%Sm++ za6%Wk5rg>)2+q>vYL(EM6W#+djK1J3ZE+9WMk9Kpvs8p>uR_Yb67!3l3j!jyxs@M> zeo5}!+pYK*#A)9m7yA}$?68pN!(F+l>tR}Ika-%>1awW?@8R`5kbM5l5pgF%{`ZuT zmm+Pjm@t+i`vbfTJcSdc2R6d=076tgbP%JJxttNk=%Ismi7FnWhYrrigv1hiT!I1n zxU8s%9cWo)#DsoNAy`!>fp1AYI+OlEHWBM%6*qeW64o7Ii&%wKTzVF!F#1=4NY=bS zQOSO=BK_-$2q;lkk>1vlYL8)Ozc#tRAy|b(fZJ=i^VSdHn=m9>%ptD;jLPfh+?@=t#m?3l|%u zgD7-`Mu<9_=aDg5;xCr-$oLjmGaW!#t1YW_-CnXjat=w8L=ombK3DJ$HN(U#aT^^h<&o*csQ~>K61`Mi%bx?ai=P4)<+Y8X65)x4&?BK+jekl+mC1S*cEqwSgJT0HJNiXx7YmioNVkM+o(o(~=$q?UsIBa?n3oM-?IMU7~EYFX)uJ*AK%saIEZ zqHM4c>lv%r*KkqN*v|3agBZY5<^%+J?ASRC*|r<#AEf1fZz4 zR8#{1Dk2|MyjT^BJ}DCY;#}-(g*!wSi!QVe%#C|U+KJIr;&wR}(X zB@zc{3nMoeAB!amSr{CaCE9@{{|b=9s>+6Ypy53BOPkSXyVZxIGJiI2`wr?Z$Vt8H zh-MR!P)e+_*T)T8$_}kvt(s)=u20ok4AA5*VyoJ`g7npgL9o?M0d{=FD`~0Y zXTjX6YR&yuAi9H7JcfLuaK2$skP+x%Fsr5HUV&WhFc?=zV;DrT zJJw=UfFxv3Y)BQv4~FEXAH?aCkzVi(8JhZa#sAnkr)?u})yQK_aoQe?8q~?SQ2<&O z1(02)$R70%7Rh$m{(QJva>ucEto9Enw;S7JwciQjBzGM92yc2j05i&q5n_0SPBewC zgXQadu=JL%F(6+A27EE}(DR}nNJvB}NsWh#P%15;DP5til{4G?mY_NvA$AUw7^den zd4EGbuj%mfnhrm&>B#3bqw;ypm@)gO=QY)EMyvHdA%K;R(es*(==Dy#L#3Jq!0SOL zJJ6rG(|7DptrFMWc!u)-N1f+fl7qG74e&L*w33d@`?r2;;$+~vVr*Q95w(GrwyP2^B-*h zH8PIYrY6s74Q1j-6N~tq9Fac^GTud!FT=-Rv7vMfLi}5+U48Kbx2O0Nvpuh1-X4@8+a712?vfEE#iH5r03LUAsuDjZp3dV^$6*oJ1$IWpd+4`fMWkjXi!Iom2|`A2;sr~iKV8>UCH+tn*A(e?(mkuX?H zK*$-EaxkG^p%Tdj<(y2WuT;T)d=1nAr&q1~I3-(EG&x~G;_%?qDO{)6lG7`Z&cant z`dG&&9C>LLuKgWKA=$&N_G^?vvd5@V-_^kD%<^0e9n_<<&*b?^H8CDv%0kpBAquEi z{loHBWKU>UKq}Hd#x;?K3`eR8%Hrp^X=AN}&T0g9B6(q-1U?W7Hl!fGbCc<=`G%Bx?#^^d}A6O_>@^qb)cXrb;x=zZ`a-1H^ zhlRj)G0ncXI1!`k zq%1zF7pCi^Oam9{(E#@nCSbyfHQ-+tjE&SGqw-0ERkt} zbQw4aC!{WWj05JD8pw7j{i(&D=yLoK7EP&{#nsGWi@q=NC|syyVbiV>Ek;A~Eh_eS z8%qSt_qkE{y(tZ#p!cS9qWX4z6A<>4_xykah;$(?9|INq#bwC_{sx>Oa~Qo{6_|(U z(I_A)uiCOAdEcFFk*fKz*G>^ zmHd!=N+9%gf5h$Z3*aAqg#NsYKhaY#$;SM;H~#S=P{jHpx(G>FxK?UxJT^jO$rB2j z){cn^MCk0YKc>TW^FqOol1JsUj9k4OniU9N^~j9qS;nY*mXXQ2?MikbIt)F_7?sa5 zGTDe-$#$Uf{4C=*qz&pMM4@_?aSC91mT@oIN9;;la9wG0QP>|tJ@kCK==&%jaVIoQ z0{~rMU4x!`=bHi1dI3yG{YJg)JCz=GsT>%BLy)f8^>IXP+MW+hZ-qx#tniKFB4P}X zU>i9pg*Sr0>EV>(lVi~tofi&6g0l*L1I`Ed8+2}kgqUZOD~TSlG9qq9NKVhOqWYvi ziIe`QKIu>5q(Az>vzBQ69A3Pbjg)SPTtvW;Natf08~!i=SH5gFASjhR}nE1fmyfs2FGCt47_RrUwms+`;M&+ZIDx5;q=Mb;(Pn=CH_3i>Dd*7wb0&d66Tf}KkJM$a78AxHEl=chzgBVqo z(~zCs!e+0-J{Ol`e~+pb)GMLeu+RrWVA|3NUK}ZCR4Fv>SykJ0N&~E}_jr7@2O&5y zVnx$$+k#jH{{ryUy%DkJ8r;DAK5RvoA~G)>6~RxCa{PUGf`EVp0Ja0*JkJ8S`hGlT zfWUdqf^%cmJCHK_VMR6>K<7uWFM_~iD-dCBRY*CvCctkn3ceMFmO?K~u*5(o-0O7Q zNM;3v=_rV!PIx2|2Vj_U;^9SzZUli<5q?5P4`PK~I|g&Z(=i%06a_?Zq-{l)Eko^mG~J>3#_$YRC` zZF%@F9qkc~Zo{!OM6gNu{ochx%?LKV;#8^YM>I$|bQpXi3dis(^*JHVz(1^6|56S2 zW-!$rO^-gG!j%9jt8o6F#D;khCCySSF+K?U z5UXRHNK7P?roINY9vSWaR@=f202+x4whl$n0a&o!r?}Ai3M9>n=$P9?MpoE4@tw$L zB12ad(s-Tf4te9lAn%!WLD7pq9rT;5C+2P@qktX%2b}94qAvIr(B(=DFO{C^4q8Hqa6B~qJdravTtd-^z96%-r zzfea`;%CQ-zVQI&UCq$5CdaL4uZJR{1|j$frgWbyjfi$IcLvtO7)s%3f^TG5(Rr}@ z&k%w^kbMKY?+A0}az?|<$!vr5DCe7J6|fUP{%hz`I8O{VN1jPcwH z13!fXA3~hGuhCZ!f-geq=fA^@0)bgS^#jJv9|4q5_t@zHBHA4udopSmq~4bE4&Jwo z5Zs9l)*q3{1bhSFPE_b^gy83v6{0trsd-NjOG@(I&!JBNb)Sfc*{~D%pbLJLM~uPQ zJdV=oxf~bohI48Ma}Vu@+H_cmJre@*P{;%Tbb21b>3Q^f07*FN5Dv_vV;4olUqrUH z(2BkW;LHnMl*C3x*b3{B4-kC3o*X`W!5uY z3|Qwe=Fw3yK1njx17-9vWY~#7jH%aF!~fA$HmUf7;dg>iZ{!6yrr6V#m_Hm>`>O#2 zUXAc56lo4%%a(|ng5}L!E8(p!L9U;ImL2PfXHMP%<_5x4L4EyRjEMKo0)Q_fU}H%q z;gb&0=14k^l9rLxX}UYfDU+Sp=iQCxAZe{l`VPLAD;fFkO#}P)A~b9gE0f0x-ne z$6$-izWukTh^Ar7(-CsR=r}JuX#fXqH-M7gJpj6Bz~JL@wvkJ7j(+|+j#FV3xjmzn zy%VM(i~0CX97sNgO9_WWA!u~m_eTDD0B-&dQEH1FO6L91T`xe$?e19ijWqLNnXf_* zW@f!0a|f7>2Eh5$pN;%`p@-}I(Qjc+uFQM?=9LMyo1rdyJN_h(f{R&>;UNNqf1ks0j|gG#Z$X-)@#g`Af_tsxH>9$kWc(V^n2b{u=^krH-cpTy zj@gWyh0aCq!6sPXQ9bpvVSea|-$GG#)@A5#**qPmt84ip{1OuH0}^xb-0(U8Pe}l? zZU8u_*IiSDDAl%kAl( zYbPODlw-$8E?Egmb!1U2tdSP&_!J(FL&(Nm=;(zQARa}K<*F;#r-QGz{H1cQ1qM!D z){w4j(h$!z#2z9|AiZMMupnoZURpH$Ohjx!ht0khzH}Q}#|8FZV*tZ3e9cCX0=)|} z!;SM_Ng%aX5nx5Mz&syvNrCo~fD{P#%ZCB>1PWNJazerdyJ^v%z`GBOD*IU4jZk;n zPXU!KNvixx$y}-Y774jUX^$>jR~5yQTCTT;ruu9PU}=-}0&$mn9jZY$1LG?8Ckd$b zbPS{9_LQ3+WT{v-xdt2EjyiP4K$VTF-_e5*nMS}Oc-%`~F;bQT_!%MlHL7my3LL>( zSwpdI)YX-WJr5XHu~$ey3WPnKPDt?-i%qjeAP5P?x@plB;O$@-pq5rXWHg4Cmk_dV zLD}lzg;i9xPZ>Lafije;?E;2m;V?6reS3u~Gvg__krthb{{0LBS+@wOhcJ4Al`cwF z^90FU+Rp^DBy6j$e8em%E%i=F=-o|APQl3V1VT2p^|1d8w_zXiG-5oS^+jL44k71k zD>(=MKcRSUY}7ps4~w3VvmBl81d!i@kTVvF685V7)C4J6hwl0ELAXQx0X7IrkmYcM zy#0yD|Bz(z7$nppLf%S7KG{CM6T|`bZ#Qs zNR(2ypmUQFx#!)C;O2Bv4VTv91L7Mgk=y!AN>2gl=R@gi#ip~3h*`^qp)`b}GDa9VJ}bk5^%hw5sWl6}e!iuaiS(9Q>EXsw zs}g{>)XE7+F4*z*mRcs#U22&~xzystU=8usi@^rsO^ZPhhpCBCO2l#!6LO0(dh?RN z>#m%0Qz?2=L^SF%U^zLdX{dKC0h=OuMSEh1UHpes9j~AMbaLZmO^~Y4 zJHX``MGGy9;Aau4SQ$N3+(5;iSCE>H_%>B+(Rlz~R~hIARcY!E>vQy z$|Qz~lw#nPEV4aEk09a)Juq7#S_+(bwEI(57y_Bq-S+3F| zYB3W>EmuS>H%Jk-03o$toK&chtXH%oas3xsWvn6|LK--&w5V+pTyB=*q$Ytu`Z!zU z9usMv8Un@C00<5YIPnVsJfK)m?SipDUMc}SG!jK_pt$HI08c6k%vnSTH|67Xp!Fg7 zrhMUv;1)lgGv+Xt3IdXW=FH`TOk8|Ok4v@87%vKA=Td{9&T?eTJvLI1%7?|(5D;;aWshLA zSq;EBZSVBmh^I&5c>e&JP~q3|9%%dv#jYg~&eS}%ITOc*NH%98U7Pz^<))T)ZO%lx zHfJJTn`4tp2-$1ek_0uyY;q>fHMz7Rq{3X2(@544OfF6ip|heSQ_v29dR;ZD?@Ujo zsJAsBPL)ehFN@=~Jk+~VRMSxe=w5ZA!OE?niF9jdBHbEF|5p!=&STBl|1~1+`oH)n z0O&nMB=te6C>o_mYTlpnA%9T&QzlaGBe4fNn;yi#uN5)Sj&!m@`W&f=R31$E%nC^4 zJlc+ZW;IDi9iDt9KJ&!P_ax@pXKG|SLTaD6ccv0er0Fy1n@{vZ>o8l0L4K%?#JH?I zYizX=gGUT;lGIos`I~YAq@O7x_fZX)a*_9FpfvIx)M@4@)q=AKqSF)+lD@h`KQ3B( zks5{cc@ZCyJ8PW0$YqL_`V-uc^d|9>QLgqTcV*({Lwa4mLS~fSq?!PD6PErd#f7^( zyb2e-QXwG+xf!47YRMCL8nv|=j zAYwECbU|rQ1W?bR{y0=s1uoX>j~dBsq5GqWboX`3mV?JAFm$dfP2Goh9Wke3R|04x z;NplJH*xrYGEh4zX?P^bgK3^ZVqq?VBO+9L_LprH9_Myo-Gv*|#JM$#pJLRkk^o(^ zVTuK}sP;4($t|jDW+J_sy^RXgf}u03I7PentBLt4)QooR<74oq4(!$!(r$ev0M!y@ z{ zsVV@t8LI(ksVG++U}ui1iz5&x+XF-DG=vFArqUF{4I8?%}sE5J;^RxJqPr=DnA?0Jso(aQjKz*tI}-ub%>MQ^9pIBa6*KVbi0vA;TS=zrfNckWx;-C5ghJsPrg` zM*@YZ^$@0(04J~qukyA52tFLh<#}4=Spd)x*pBN7&>f(;(h1ed?EpR`n+x}#9*UM1 z@46!#l8J#2$qaZpHAvC&;zG~m8c7`8Ax_Q2&4=`?H-0u}R2_l;SqV8mMx69sNK@f$ z1VHaR-8|-ZW7!E^vVKM=q*AbS80ksKruB1)qVP4B59w8=Qf8F;sUbkmb!*MS^;~zh zLQ+-Sx$X*+lAS{Oeaw~W!3}k6NlV`?Mn2$L(Gu9i(NdV_RKF_1f1v>9Y`F$Cac-w} z)P7JKl0gKjLiWUc~i7C%Hdx({I#mC?*aUgIN45~hCgc%5~pDM zlyATnVEdlqvbPj@kA3`_Tr%IV6uma^C7~u`EvgXao4lqb-JEst5Qs9W#M`@ zACkKYyTnS$s6E;(Dx)4y~pVi_$IYp!;nKM-7-*)V%2OCb-C^pdCM_De|}g=vzJs z^iE&?;v#wnn2C$jA^(!5$cdc)1{!E`WZh}QCvn#vMP!{Jg(Eo&P7f6nk(HWAveq)P z)>^0n7RhtPe3i>*7d|AbpDj99(V7-*;0LJ=bIa7mnanK+N4@&R^+!NOIo3Fk(yvpak3~Ar!0$n$v!dJHZ)aCyqs4=KE=e5Zz&?*Vj{`Ma4VWf zPpWzm`yB%ytR~by;FEHI5#4m{eT5&>}j}# z61@U{*qP6vb6I*cGdl1+g*p_+k-ad%<#YntePjTo8w?<}(E!dcfpZ#-l+^|x?6W?A z0DFC?(&>)7{lhhQROzmD3N@Ti6E}fs8vbZ8gniMcKwXYM8Wp_&lUf%TwOIkvaNd0l zjypMJ0)U6V^2lt$Mi<~(fzBxMD)3n)`n`%4wW^9RVsP62!J=NL;*lSfit$qK_rG_8}neW(3G@#NDKw?10YAJ>}=FPilRCcGg4vOsQg8%_QqmYA!*(bi{RYk zH;kYr5+$`N+G-%V&o;NR`AqIKv!r6n;WIfC$^EBjf7r%2MN0Kf5b2&xklC-(xLNcV z&}W%!QC6!elxiZg7tq6pSoD#$YU^Niy@D-ROP88iwU&HHQb>vv(m?q@k|ITH13(H$ zkpj~5Ii*#KDqcwdghj7{DQ&ho5okSIjFM#!X6`E~Ir7L72b%nV3 z7b@xs)G*OISi}|6NMG}7q_6q!H4Af_e~H5GOH5H~ZvICUvK&aa`AwwT{2ED9M$!g1 z|8lb=-TWrfYyPJcDNCxG-$WYPT4}P?+A@(^Tk#gyP&{HE*_93<$%Y0y6gEP}3g|y^ zbg;bWoyiz1akYVdXAs4xV5$(`?hw^PQHLcbnNXbs+Ob`%CP3STSZLTqIRIB9X~oso zA=)S;cRj5U6X|KBgCg~H2oq^&q>IT`Ys5sl8tHPF-3hapK)ztBx=La9B<$#5 zlC4T3eO9HBKC7B(ir`w+O$ytJm};w6sb># zCeqO10+X%Qp^4NwO!Y?VjiRRR6Koal^)IZK_N4-_R-y{MA4uUX$S}M~3QL1>q9WLg zkryf?>#ic$9mC(?&oPJ`hd+-YBxra$>5GVX8i4?;&T*A6+6;f(;laL`P*?d-9k&A2 z6MtN)HV5E28Co2`r z#0wl@o2*n3 zo!Xg5-oT;LyGIq}L7;R`@t#*mTDrNXc<(DDt?}p-kDnOXu8=ft1W!;W{XV3A62(Ni zyRbz+q3!=NcqHand+_$Ii43;L&gIh#6X|a6nn=aCCEDqfX1=O^^j2JFTw3#Hm!VM6yUNZr-vD6x31Sr~y-V6|}5JDJHJq-c-C7 zWH52L1L%9;^h?q1TKr;k%DGl^-d?K!;BK!SsF>5N(cNCtNUE5-y*5lyl6eO8$&-m> z^Fy=zduR1I|yVvFf39emADJO%=txWy{t16dR4ZXVVuN^&^viI_&VA|xHq(!_IK zCb>+cmWv*@T&9TmNE&;Rc*dOutZLFv9iI7$p0`Rq-jiqpXTAi$IjiBZ4+ZcwfVKoo z1keSMi3AJ-a0w#M5kPMOdJ~cSw*kBhpcNt~5YPv}SVR^OFd9QcrBV>B8m+2A>^u)a zNIYN_y>g%sC#qDcXkv+#WT&B#>>=Bt%TevmP?SEWVIsNq?0)O0lH{4${Q^+VFSQ9J zic66AmX%7q3!s94vrqy}`4^b790p%S4oo9SkM1y~kv>^Wr02jEE2gjsZ_Q&O4F`6= zq9qUD4pSzQ9T+c9YDn-(E01L?FOW9qn?h-%Pev2z$=FTh_YEE<(va~0MayjUP--Gs z#&{uK^V46E@)CBiRZ_GG^_pbnA7Z8A?>0fovFCSSYfQ0*g7mv4Na>`BbY)6vfTcPH z!yl2FNG64k_#KU2Pr7>u7VsT_Z3K+MXhjyVQZ)d!z%iAza#*_>>9YWh^l8^bdfI(C zlLeSaL%VNgvH%k)Er3k7d@2M#-ioo{8&$qE39e07BYlEvq)%`Y=?T6mli()O5PVA} z!A+!Ry457OHr*Rl8~aRGBYiTONKeMurj6)%kBKy7ywfy2ZMr7XGu?X>DUAyWZMq+t z`L*eqNY8XXH^tJXYa*3B3hvBxq>)#xBHn9gBmmO!95Y@6K+iEN0C3IO$yMtla&mP5 zjGDHk*T~}Mb0j8Gwnh}4bTzSg4V{zhzpKiJ@k1ouv$Esl0X33agQjq_J@c;!uwV}mr$Yd(U|QTsz&OGo1FYAN}myENZfLYZKx*F zGt_OSSlUocq~~J;NyDhLk2R6frn#9oF&R4Se9JfaL{GUepn#@FcO;(_o`i5>3X*5}>sT}QFOr+Nz#HA2iJMKMA z!L{SoNT1*u=@Z;UdV+V&B)Ew*1m7o<;3m@R4;3W1?hiYahx7FZjr7TAB0U*@Gd-m4 zvnJAzF=USJTDd0D>kqk#)Yl*SnE7>oFp*w=I9!o(H`V>YM0))pT9{$ZVIsAUFKP`x zd%V&!pRzoH87IwtHImkWIRBQjUyWqV>e;VG`ZQ}IJkRLU(xzpgNgL|)M~R& zJ)-iZNpRh#G}70nG}0%yiSz`2ER*0S(h&UVOoE$8uTP2TMxUCiEXpUNM*3tlk)DjV zsr)|Wnn**&`KI;iK4l`kK6RHO?Lzw0lcBX{e%+@`q}Qj`D^g#dGLgEY@a(*tH1e!6 z$Z7(#L9SJ5^*MQs^yy3^eL6Fdp3dIO)UGDd(AoM-?P?-DgRCdPwUgg!3a$-OBYlEv zq)%`Y=?VUQCc#alA^6Xk1UHeML2fe*a-{NxJ}0k{J{e7e-lX*y|b zkS5YI$VrOS=j0cg`L#isNY5Z2HpS9T-b8v%zPD-SdeUPewe5;LQ6$HM(Y(=dJT^Jz z(nd$4+~~+rsqB<+v5A+K8d*#|OS}34Md{P8iDdoq8X$cctPFbPjgCqHQlBDz>sTT7 zRD9r|MPd_5q#6ETh2%c8S&5;MK2y|4pBN_6Yv!XBQ=i{4kw!C*P_%lk&vRQ7>Gh!+ zs@>;mX);dbWButqq>(v+V}NS}-*(vvZz@?-PPTilpPL&mhCr4ro@BopcNp$>|4Pa@S${b+^chSYt?M0$Pb zR7L7@>L$|bLnq6%DGp&b>iuhC7UY;@W@Y$U<;^rV-{*V?pJjr0kw zkv_pqq$l`+nFKeHhT#1&32q`iYfaBEtn~ubtUhbiNS}-*(vxwr%I~vQ6KTjeL(wu@ zZLKEKv(}l4ly20x*7}^8U%OTl=~?R=iqz*?O{8b7=V!836KPs&CFyR5C9QR&(z(xC zHPYAU8tGH0iS!hDQl>^Xk%mG~&D7{7(zDiD5?ovBg{I)zw`!zMaEhu$nn`dI=~?S)(^@}P&FZsOjr7TAB0U)!Reqnfnn**&uT5*y)@mX>YyCly`mD8$ zX;<1>O{8b7dn;0(wVFuJT7NgWYTs%iwYAbrRa}8a|G{d>o8sjJpdP#_K8gUE_0k2r zS^%sgo)9BE9x& ztC;e5r(L;;G-Pd`Nmdi-$-0jz>rYmi7Zw`nlT{;qvYJRw)*hK;HIas_Ju}H_BE9~Q zz7j3>r#k4UBtW-m4FS4M>j8Le+NhJLP2*Sj+Vo;owr{p(BBhC>c%^fXzk^7~rdL>ii$t!RCOoZF;FRl%%Loh&$nF~3D9fQ+Z2=5B(OGW zjr19eM*0lKM0&NDm#G#e(x}CvOtmnPo>9lIHjKKig*0lOaA-|yq)$c@>B+cI7e>X|BQJY9*)O^PD ztWq;wv`e%O$c;yhWF64PBR#$FyrSg3q7`EzrD8Y5d8}eX?cmznv01$Y*>R^Nfz3cT#ycLq~j}Hr2dFe8#=Q}X7va0B50(u}U zabJKRO6aOm*%{ult(G53I1%FRuduCAuLSZJ9f`w&J_<>1 z)Sx^3+&@etF5~abvlETvgIR6M2b(2nTQ-s0zVZel84F0{4MYISc5yqDp5wY$apKx- zz-yYQb{grc-E^}|s$FUvHO94Ik9?`)P^$_6R2x1$tDzLsg14s{2+*fz*C|fzNh9uY zu0r~ca}|UU zF{TMH#b7|DEiE8IuMvSjKB_1obVMLPC`R-SqMD8jp*PVXkRW;o0STdm@W1c5GxyHD zEAo9dP9VvDpJ$~x@ANZg&YUTCE(>m~uQx|~5+0iH8!%Kx8w|?$j*cIi@Y|qO#?N$E zN!D0jHW&<4f73xBI)U{yb&OY5iEjof8w>`jSvsf)uNkOpFc_$|9&4p)1}YoW0~Jcr zz<$v|_Pr9TFR(v!lMs>rAC#(3d*#nTx%brRa#BXoR}IaGtxiIOKcibSsaJHPNh!C} zUCe-?F7~Dl=_`Q_3Xu-kMo8w{l28yz&%#ca@$f_Ty6cc_cmpe3m+I3!h;S2{@;Q>tK#k|~=F24x#M zn1tG(RkpEqvPME}Fp$uxI_NZ8LbtZ#8ws_+Ktgx1gBl67!9YT9u;t!Js0{`ZDq_{7 zIV@szO>CHGZUctIYK#sUh}EfR?H+O(@fvo8SPg*iHFrxFe2nJqAYnB3RGpHDmC@V= z3~BD=b;yud*>1xE4Td~;k|O3{|$W1E4Qs6{8zC%JRk2J^iOq@hScfj8uVu_ zoM+o$&@^A^psXG(G&w75gI3dgYbR@(#s;NnkWjuEhT^zpk7cq_D6iad9Gb0BQ5d(z zhKj;4U`S!Cr$hP*qw#8p+J+i!WqA?5@fT?QO*KdbNd+P&3~f*hSe>RrSCZ}YF-o$Fgi(?=>6AiB(tsf)d8ZB;>c=)12urUH8d8!rXbHsiqxV;W5$(o*MgMpIVSqBZBRy@^?Zz*uxTDiy$YXghy%% z%P*m%won&FQe#l276O@?s_xZANnw;ti$bn=+af>V9}Qi3Nm$USfWQUV+FFC{QwXq0(cM-PoMHWioZw2}=5TB+L(YP6CK8qFiUZHx{*gw6LY7Rq=nP6#wtdf1@fdu-6}Jq8T5 z!BRS-Q17w9pbaMLpdmT2L8}d>+R2(WutC#%ROOwxs_85IYCEwO`4}$ZNb~*;5>Lb7 zuTrl2PC!)m>Ew5UDeshCfU4qsP_@apbjDY;uT(S@_f{zl80w5~+r?yOZ2Sm(eqWAZzN-!kF54lQ71BA;!$H(-m#~ zH5k**7DBv+7_Ok{2H|V#e)YHJ$|xU#(t zD#bMRnGIT8*+qv9X=@t{v~}?eOIvTbv?ooWiM9blWwgPdjN9n=p^3H)+GW&XC0WyQ zyI5eLtvfV|-WV*Ao^J)MHQL$+18sec4l2!Vw6zTe+IsqQj{{OFqpfYwXlq&GY$Njy ziF-?&H)^I!E@p|-fFa?!O^5V*oh)&7F)_2m*#|;|i%XpOGsVYS;%p;fmN*~LDM|M? zl4ihA|9e7*47H*S2Cev%4jPg)8?;*S1sygdX*L*0S{Dm$mN@%Jm|ie-n#FXZ8*DHr zTZ;}Fk}w;z%C?f7tdTGq3?yu}4jPiMU)b@DgxO#qVMo|OjfB}?AYotHL5+mjpph^= zd;e5(ScK*9_z=-qAyD+T3;)k`P%)Mmv>Iya3#)}_C#Z(o4njZr9r(YumfRVWJ^qX2 z9vK@cSr{-Rxhw0Cf#f#8*}=pRuVEHO!5$DIxpJKYeT-UMTSpdQH4CQ(46O-ls6&Q? z)dmBBn5Tn=gw+Nuf!Ioi4GF6adcsQUyX7nt+^h-grQ?mF{xQAGfT1-31BME2gF(SN z1}nG?S_R*Ku!7rQ(91elaASQh)QT^p&kYzVqYVaS{JoAJ>TNb?mGKE3mZHR-E&Jj& z81%O1b0ex%L@V^4|Y8(u~CX(jQq_)xjGu#<#YMD6tmZxMBXgjqx_o`a5I?z3zI;TueK z%Xn1}DeOiKN>?*V(FTKN8m@y1>y2q(gH|&Y?PN_e*`PENs+(UCcI>J;w7-a|8eT^! zJ6ZZ)#~O+|g6ILk?;@&(2f&$rdaZ~ncDYP&mX_O)VliMyv2^Q@fnpgAXWO|*jEZF) zD3&e|zGCU4k5MdF=*S_(V!)7Mxn741$-WH+Oub154Jj5Iw3vFA4jWP|HW(u^2E^MjH&u zc$$tMQYYyRT@{9&Uip2&4#qzce8d5Aa7$}yVY#n5VaT~N0 zOQ+Z7o?__%;VTw)rhfXG&XhmTbS7St+6t<6*?6;eJt_&KX1YB>Uyn+{s2SC5shJiK zzM7diWe_#9vIawH#s-5%Yt=zRYQ_ewMqA5H)~Fd9^wkWnN8Lk*_SKBcZLiVFXITyt z`^M`bfce=WrZeI6PxG>f~(&dI21 z8w_}OzYZGGDmG~G@CiFv!$TW1JoFYnbZBAB{&8<->s32D@Ia1ey=|u}j9D73|Gq{~ zB4ZH0aUur2Pc(Q88N;0|+D10$>)=1@kYgF$*hmJ1ln2)S-*m{3ny|ruTi@!SA&Ij= zi(AgJo^*$Funh*Ptew5WsIq1qPxuBd%e>rxp)%TFP{y%3z8KwR@U=m!jFWX(sgG$< z8w^z0(mJTfsac`iLW3byW`lt$+r=)Hv5{;rP-Xk;pi)_*%52c6D^;DJ=`oovDLJM6 za6R|~_|=~1U6NkZzSG#;C&j(30t1Q+pu@>lLDz+70f?S#74&Mt+bWo<6KQ55rh_i4 z!QlY?4r+sb2Q^?wZ>lo7$PMx5{Ec%SA}cEEaTt@D~euJRfhdV1R^KEZ9k>6q?2uFl24) zrbC9r-v$GI?Wu!?_+^6@zxLK)LtWGcgD%=~F$!)L3pz-cu89+|5Q4}ChYbd0i|e2v zE5in@vgPb#O1B_b3B~6yz~Fqfn2s!JrjR7)(NJ&}xN~>|{+V*r4B| zc$B4^a&c!_p)B| z<2gCSIiRaAinn+vd_;>-GTKNPiTIgLa*VBGZP1qp1BQ&CeRcE@r))6b)B!qZ$Oy7Q zi&LF;vW8POXgDQm^$&LFOX7{Pk`)4_?sHJcPS%}4w!+-<4IPh~f|?YE=$HFArFg@8 z?UQk*x_2dy-QHy~lPX-r``~MD@W#C-wXckOH|lZEfT3}(N3&nXy?)ac(o6rO6A6ub zZ)h+y?%ANi?>jnrs7-7zXp;|g(2(@npw%Xy*vXnUu|d-&GVbLs1EX)!TT|ca zsG)JsfT3|Ov9iZ?sb9i$Gtw!#~b(Zmm`=N_X;{CSspN^sR2X$8m2>r z#yuMh_|>F?hGf_VEq;yBVMF7d4GO>HwU#y(+>Co&B*0%WN!2PIKSE`*!Juq$9W-Q; z+Mrdow4JPJOBMVYT&d2a`h^^!x3Wr(+5HDx`FOyry9XYD*GN#cLZn!LA+<((m}@SwDTa5=ZV{ zr<+(zqp6Pf&b9%^QEtFp+3e0=ZI!bXgp^YxeSuCyTEk4IZBQ5wUh>Ve4yI$?JnIJG zzj-!vRZoUk7XQt&(HacBc{Wpnw1NHm|JTtV`BKz(+pivx2=O%x49UT+K_3`q2L#VF(Pq-Z$Vy z)E@x77O9xe3SK-|Dj_gPrOk_|KLAR?d{(fBg!!!C1A`?Q0)r&`y@=jt1t;iEP8AxL zkAoKY@y~n@nDcUcL}4S?7af{Fka2t9l{V$nE&EsRW0(0%+}KZhp;yM@a_r`xXAx=l5ZgKZ!y+B66IXL}rE zuk|@-gNB0!3vuvG9XrIq5GWjMBnNx!oD3%o$U&CdA08`MK(d1Ou%4u&F<;h5UN^Tv zPmeW>L(Tdaajkekz6$-Z<{>*q#c+W9WTp-JA3?W4|Fa=BX!Oye=vW;*|A}WRlN}YG z+Q2Vks2h+m@{n(1w}9}!gfUhJAA>;r5=MdFhHqyGem*zPuUbsq$V+j84x-gtmr0ZA zZGbVL-sH2z>*zEY%~x}6HzI^lb64mPAvG5Q18vgjMbuwUC1KRueS@VE0)tfgy@>kj zsW%}N^PS@tbt<&msP5z=%YV`!8ZG$F@p8JUC8Ve__{yipTajR4ouR_s4knK83peZr z#&?r2Y#kuM4~v`&pJUeYxJtQ+zoEZ869WI7D#+*VZBVx~vV9Z^qV;BEyKbT3Zn!(( z_CIjnO=7du2pM|R0%U8x>)lR*Lk~Y}-wlGJOraZ9>LVcxlVM5Sf`F#I-qnQ-wO0rX zINjn!^xCVPglVt%+Fq4Isf55Fl`b!$*IvCO%&;^-!VF7IgC!XPgCvW$NaIp7=)^dI_i5H z&X&*Ic%QC$Lw6=B6z|hDqu!i^e34vXvtgqyL&RRV-R0{VE@YV7khEde2uu54hY*I_^@~g^gb*upDRDsPIZQts*U-nUNl&$21Fxy z`WD}jWm$W5;3+KYEH70X^HY6E2ZWXm%4$G6Req=HQymx?D0j`2j5jvsf2PU?{qe>I zwH9h#0a<*ZQyr;OeG9$F#^O!*O4ZGblJ@Mncx#;|(7sAcS0$SYr$9_{6%N z5VG*>pv~VPwhi(-Ri94^W4V>3^CHS98szyqAntP-L@BnzO{Lh#4>%We;>?lCQNH9n zN`oP76#_-INCHiBz0yenMrn@GAiJ?|%ZEToK*pO%I;^x=E~W=NmeDBBjdX}maYA6A z>H58hda%0_sTk$iO2R15eFsZ21O`cVco9A2>1ZVuD9`2_V0vt#IR=g@cW!nx?R*={ zuHq{BmUTB0bLTb6x2*f%meqsiB7*&L%Tx6T}A&lEL zVic|Bd@tNv))YDIXos6dvM{}e9$R@#R|`=ZV}Z1hFrDliokNJ(A<$wrBN}G+3>Gm2 z26gK3B5G!nFwA~*uv9`|kV^g@iKv-P!e=%K!|XQ)OELroNp^b?J!a2XFUsuZE1?dG z8w9YsL#nYKz01bpXT-+kpN@cuv#L1EkNWgnv=%ZcY&BGd;XQO7jqt3kFUT-#WBxE~ zgZ?mVKw32ZFl>YVFl>Y2VfX}H0=a9tp+<&b8}o;@vvfcz6I#$>QyGw|Kqe>{Flk=g zssqc*wS^|BmyP-LvO&LI2IO*)UoRW<>t%!CdcA1ZYp7Q*8}sY+_F(lgpk1%oX#B$Z zUgOI<8WU2D<1vofm<+D>L_ir_hekj%xSH7T_6FCLQR{I!8-H+3!`lWqxW-`-+gLET zHgg_)f*wq$kZYGq%QV==WEw1!rQ*F<`dP)5$x<8KK5JgoNsMRfnkF}(n9*kP^k*GX zhD$SfGN8<;%;d=i%`};l+5tU;u_rJuEl780PRN0bVV)q_m@h~+=nIkoY32HYWP`pS z*Y`v;_L*Y3p=^eTPA6h!roHYIU~Kr z#{5d!pkGM?hI)$)`jxc7ppr8nM{DU4%*DoLVdwG9H=z$3j7w{Uvn#|rwK0D=#0Guy z)CP@t+6pQDiOy*`=7dz2jbQ$ixd#jirp&*GSo#AN2{UEx1mRDadq@NWR6hfn0qRAa zacE=tDcMyu1e5fLwTeRNR2GEdDYnjc{ruB zv2^<+eud*k9|uciy7pv|3n!#hqI7afwYtfZkkB;v;^~b)hCL4}b*^ zx}#6RhRSO?;3O92Zs;@WIeE6gU#GN>iF$xiLl-WqRLULpdj$LC11Tkr-_Y?M+U-dw zuwmQ7>wZ*h*!Y{2dK`}7{CxO`7w|{L)vza#<1$!FAND?MfQ`ARK7DJf2&zk<3|#OO zLDe(JanI(sBJa%8_H~7d9R+F?{3@wS<%zG0e}t7=fppaN7%LKU$AhK6IU}i(zW_PJ zO)YbIOkIHOIaj&kj&amh_+{6CdOa`}SNr}srn2Wbj=O%7tGeF>k%rI0T@os`YeHo| z=f!pUSqF7=N{#D+>-c5I#nK1Dr|bO+m0dnoNLOMw>?P6d6w z4`79!;Aa1)Xp&Qk^W(}b=2Tr7!P1wLTlm)aUij07h}ju2H~kuF&_!a+xSPHOne~B) zf1PmC&%!7FA&7NdH+=^(Ya{WQKie!EvRc;7Rc^0hfTQE7%F|-?Rp&*(^eqi4XV+aqo*o+#sysnm`Rc!M zKUF`p8sqD`+1&P<8VEg;;9NIby_!{8f)$^0;6(rY*a}UN$*vH~3QzmMlI%GZMe4ciZFg)!eVR)MV*yCxn+s2%{hgnn}5vvX{nxh#RU47`rIvD;zELG+CPWJnA zzxs5mQKbN<#72agM1(BbBm}=-lZd*FHVMt=vL+#DnnbwY3g%^3*4*zVVI*1&Sln+X z;d7sa;eP8U|2EuTavdVKX+)aI=-fIHuwoa-&CQB}=Vjd7PHUkZ^g}_Z*eEl+ddmoy zyc5@c;t6#$S#peaG=ia4?M0(xSB>SpKJ}^9s_h`yr$UL+kSr4wf|97Hv>wJY0x&?r z2tdnc|Ahho-jr*!RbqMN4^UfS0Ch?`VsJW#1Ju^B90w@#w8D|yHde@Spfb+{f*7!J z9I(tokONni1DAOSMh7sF?#KXU>2Q_%+LFXNB#_-MHZphdIwnorR10UtezAP@?;>E~ zWJ+RsR~RAfXl+ES$@Z0kh@2sf*|a|ATBA}uuwg5p1H58^7_?Odc9W_PwPamDF(`A- zS!M?N1rw-#C<5jl!6`?TVF9{OnlalBUxav}GBW2yEhGBlMQbCTeyC8hyTmH;-&!>y z=w4ToLAYL&5YFL6m>}XzUx0Qj{uzCyFP1GIG46|v&TWst<`LWA{#d@MEdr*m0Tbl$ zMUFkzDP0P2dz~V8L9BX=C0z`jy%6Wd{qUzt_)igb@*ISJA)afo!XLr#FT%X}2nB9K zf#cI*_|S;yWa+O#%h&_145Juu)3j`Q7$Q2*(g>r~{@>wyCuB-X8{@dghN@zW}@ zVh{I|FoQ?_bFd+54~vx)m7ag4nYQEvrTSyba;Cb8pHWe$e%#Wp0-jlsRp}GSL+~Rz zr(#Mq8EPK(+_5(~wMvHbPA^D}Ognl&_$G2c2{T6L|7x+h4FuUdXpaq<$p1mS&)sMB zL}4@Srm_Y(G&Na;CO8SOTP8R^n34Ct&ZgXN=fu@{A3@<9lL+R-ucF{i=@{std#H=1 zCZzLqq3yFRn3-}i+Gk5e{)_)Ysi=N1(j&9WBx=hHa)8qYH^_4*L^?0yS9eB0v6!m2 zv?jwGbrCdd`%@~j%O*yLvLYz9e<(gz;}O&?6V>c;057Arek9RpiCX10%yQK{{IZ)T zaUzn-Qtr`E+Hc{PU9r+}cfjJyLN358Tj|hVlLw(7MJKH1EmCDKOZq-s2ysdu8lP*E zz9q4z_-wSktNz-ZRN0%8xeu(qN8V%?Bn!Fu7MKDUUoF)bY7g3c@dHvzsoaq1aO$TO z{}I&9&5VG}$6-<1wxA~?Wb^!?Ap@FNnE_2OYCwzXix|+v^dd->>l5Z7yPMB*b6ol{ z53#bTm4MOt8bLE(gVSf@8z7w0m0)AlT(sJ4$=sJ#`Y*sYdwbH&l`K%$I2XJrmYtiH7vCG(YvRH_$QPcTos3xfg^#(5Wx2fv%N=u_rn} z{C5v@!o%o5=QB2>J*X&t*ny53rEKAWpza;H2Q5QiMCM)0k8Y2E73Zhj+%-|~qKsR8 zeiYm?!yb*tt==G^J^_(^Hx-Pa7$MOChoJM#e;lLcv{ddrt{LiweJ#86Abl}^{ z8|YMCbJLH*yBmEW`#M&k4@Lj!BT-7$r}tqu{|a5^QcOR0wEDc5J$uG7X}5?z&k%dX zvZ2*WF^ji|6$V{UmU(R#qE)Vg6@;>t&_$cqR=>kBLq9|Czj9ryt*G=%fO}cA%VLGP zouPRKK)CzGD9Hgk4g-PDgBf!#nHhB-HOEwb;qZtgXU!<@<2&2mO($4zGv-qVVI zO^;128-tpkhZ6kH9D}NC3FB0&=`l!ObnsRMP?HCYFX-}|g;SJdN`bA}Kvw0Fi{!lYz_pfxT8#W6-P7E_!$Iv)_a~ucA zDP`vA=2#=J>oyXf-Hp%Ij!K?&NK8#|Q%^k`*IRO_Cw`k$Gq8=~4)L3jnK-2Pvl5**_XMrvIZjyrutSM7mU zisE0uryUmg8%+9TB=9>B7pFn&0iPE@Y_MZe#V-c2aAjE2_{Be~Fvj~7*Hx#pR{N(M zw+lo^4~V5;$)`}OsjSu7uHz0zMK(Vi#32aw{?e|xtu6WvU{|fiJbl(FRSq+kXFodjfUl1pN z*b=f>`6lFQ7$p1UL*R3k;}jZeU9}%1u5x{+upQhK?8@UEw+f**V~ooYV>d|e0{klX z1###~u6iwlP|L)O@U4ND+YWgi89xrFu~iQYoD<|DIhFFF4V$aVs)R9*w9SZt4U~ zeRpb>sLvslO_@r5u<)xV|4&(^hFlO+tw_bmrqU~6ZBU$pCHM#ubUn#hN+fHLK;S?p zbegn6;yAecA%hO5R6rB%gs5nQxsedxdft?`;{Jd1y*-5Fqnrv-mmhdzT}-E1eQ$fl5Rr_{Wb zs~)e%%c8wbb%8^;ez*lxx6sK{e}&Q1JTxZ;2k&+2WIMk15gc`Y$kB%(9)-nfw&UAD z_!HnB5@w}WJqE%|fZIWE0$j(vnI00+LlCs<%Jyccla|olOquB)-G-3@ERjPHWh)9Y zm$X-S$?LJnOOId3+HuG&EOhpsw7 zELz`0PCRtggNSwaJKkZ2ex`5wME(h@PqdOSeWHVe=@Z=`$~Kv*kn%s_&=u8T*`X_f zWhZ=uz0pHg!d~yhS!l{2lk?~aAL^+xAtE@a5Mg9ebq_fCkPuO_B0}UrvU%MH#_7## z)kmjH@>}3sVw=~&to;MgrxzN1+Bb+keR42;O0Z1xKJC<%YhHjNQ0=Hd-HTeu_JHsO z3I{_2CEG^A2vj!-BT(uoPoPA}wvmV`Sq`25U&)p$SsDox+0a=jf@No=1dN`Q5-@sJ zir}DUr8u0I^$&uB_773APyJYxY$v3w?pdv5dqMb0b^wI0WQ$Kj7*AN7ldXtY_ncO; zogn-^(F4LaJo-tPK9PUM>JzOX%9Lyd%>J)Zvb0+3o{uP5&XFQY)`LXJc7SnO$##oV zlx!c_xui}Ag^Y;_EaFQ}MQ9x096eG*4cW$ohHPWPgF?mxAr?JkOb8e?CI|+`1bXpT zn06N35yxZZ*VMEXilj!W)W-m?1%iG)(n(cqs?;MMrIPe2x~YCx>iaOb+t9qVQeOa7 zNe0w@z(Rg*9P27;;8!=(p^?v(OMkuV0U%E4=a>rp6{B&(%vkzYm;|b4D^$aZvAW#e zNY*@D{EBVrjLGe58EXXP6x}WnP@kf^9n+l_q{fKpBBn#_Acpp(-OK?XxPswI$maMR zSm&EI(pAl`U^!(j7S2w`uXzF1L*B+(*@*XJs`*zSHiqPkoB`rFE{?P;k86My82_^< zPghUGAEsC|d3TCXJp-Y7aH9&<)R+C^M#c+A5aDckvOd=r!HT=ZDsuNm!OH+Hv_y-s zi&L3UtqM^3`+E=;p~0Jli`|T=i>%;y=ek6d=QW;Vv+y>8bE`Fqdh$9h~EK zuzBhUF8;PK^Q@3TcV6Vpd<`_Z6!fX%Y!VV0XMel>*TLB6EE#m)-$HKMB10n4SuC(Do7ty!x2l6hl!r2pNLx zoiS?&VuU_Mz$=hBMlg?r;lc31Bi41WKrc(gtYq6l08R4%_Pmkkul@l0F_>4d8p_=f}Q)oz~+)h2Z>|#473-7Z*AxQ_vU! z4ZM+tYI((KsCE#3Lv?}hr$xOa4EI#O#l1EV|8?9832$mJ;T3R62rnDzdf1*_;B(Wj zot4rTgXjg3!OdH_GcBu>o7S1$RJM90tCw<^$XtkP?5a1m-ZJ44NCt%g+iV4{g~O5STE#ybNshjFMDDlt4nVW&D`=TRQXBJ$k8fP z+>*u0agGtp!)bnII#fC%nn!r>-3e5SO4osfiPLc)=?trEn8c~fvawVsD^Alg%R%pd zudJ3s)0Aa3181LDs}9sWvjWC}MaV)1sBSOfAmhM_v6|4}AXQr_R#gtJ5hS-87BRVusDWE z{tb!f878eH7RNB@@FIGKNjC{&nDmiY9K%GtDG|d0N!9BaCg}wD--0l*B5)&!P7(*X zb=A9B&BZQf$yIKe)kpL2qmdZWlLRvrnW@#bo)i#z5`Iijo;q3bKN1G+!}vAb>d1al z9}3ZQn>K9oZ&`+ID+u4P?EtZ;hHa>r+yQF3-KhzwbAn~+oS-b}*t(FQ7J8AyZj^_~ zi6r)c@Fh{b4Z=ub3kXVL9WC8<65i?zP2(;GTpS7P^&)x_I6z`?B(V67MD!%Ejf9cF zP7;eFfjwTtump+@@l0c16mYNubDifQ2A>=sQ%zqw>CAM@G!VV%D`#qG&54F<^L#cmBjt}9*9m5z6kY#h>B1R5{k}^i0Qde`YGyH+_2I7 z5UzCK$@Df5@fV?vc=JOy31bKjkT7O+D=wh;@vV=G#T?y)w5Ecg*Tl(&vi%f-dOsy} zNRmT(^Ha`{vKgKCYKuJ+p%66pVLXVw7T^4~Qy+@Y?fmli^^E_flUL>Eq`$&BY4-`7 zZM*7VNYx*47HTpU?z-@6dK40;61VUVk7OmrK^Y}^eJ@VZ{OZ7znvZo*oY9&Bq;6dZ zXK*k}B~MApfg1+f9;b42u(4h+o&n+^M5KAab@;=Dz{0zguIl*%&KaHVxOY|KG~f|9 ze|am)Gj_PER%#HB!XeALYOB}c41{>K4Jgo&KlgL;3gjOT!;LD4stdcTES5KL5nQrP zb{&~Ae$`n1#@C{Fe#t8q%I7`gfK%FRb=+l+pL<>5U>q*{>KO#T&M91j^InfUFYeJM z!VrnTwU_T&Y-xGOUuoT&f18(3?mk$x-WJ5h8-q9lWA**&avwB-n!>TCyPEQ+NQUI)92oo^184R>czdQsP#Lsq7LsD+u0NVz)7bAAm3B z$*&>h0G{5$2;Y$qOaMs;o+pjxLK*=KF@U$_GGrMV1y16TYj7^@=4)|>0MGAU4~^nD zW6z{w8G9~?u@~ZRZ0r^Ii@x!fiAv3MQ%j$k^v+JI6!&QsqVM5AY_bo&EpF;mKm~M$ ziel>NgHq}+_&O6(`)-#~)kMdp?mz%F2XRzt{wOFQI`b;|Frw$(5m}JI2Gp$pS7iX% zfVuqDMD#0lGvXC_tb+*I|x$izGh25c2Y16!U-{B=spx4P=^H6*y zf(=_ug5|C>(*^j@a%Zxkv)tTCh)<{-I`~=c+{0F}(EAwF&7HadT>6=T|FNwwJkr2X z=w^xEVhd;y*8Z4|&leWaDcy$(@aQx7vdV@G;5{tMV0@{9cKh`qVDY)B@g^+IH>Z?b z6Mg3=V8vrquTmoPLklJLI1X?dU=28&(zXaa{%A+Vo~*JrmZmfGQ&#AO68c7jp1lLo zekk)1(r$xZi9PJfvQj79+2ty|d!%|um?KU7ApB*eJWd1p)8{~1j<9INy>Ap8|b{2Kq)R4D8-qg{+eMkLlaUdiZh?$`xOo7T5eG# zc^PKjU5eJuSjls#qfp+dbV6}E`{`4~gHLS?!I0G0SM0P${EcG}v(n2Fs8UWu%)hG9@-yB(+PJt!lWr*_dF750PE+bT4aG zO-`3v`6a)=Np)0-eqOPHOp<>@Sz!3lk4c77cF%+ba49T+;slrjcY*kT#HAqK1~GjT z5W7N>q}`Hdd*-D-Vu2~L6MlN9qyB_n)w@|3A}7Su@9?XdopapF;TRxsaE7hSt?uOY zOG^{=pcOQ)?|}2(d8hzn`Cx_OMl23!X_)73DwMR>|nXo_Zcfb8?K>!kcPX> z6)?z)l`3-q-c|V&1e40#1>)DRnErNUN@YGtI_`Bi3njr`g-;Pj_9WQ1Am&eU)fD(j zuzjvhsh9S0ROYi3>mW5={)v=Y_4Sy_yomQ?F2FIT3zk9->ws-L+>-K$9uP0%xZp4( zoOu*)z|6lfrQX0V6UQpo=19GpIs6p~{AR4Hj(7v9?TcTZ_{)j>!< z6Ngt8$9!htm-zzb+S+g&MB)Pw6OqCW_+`c-*f!WY?7}be88#D7+*R|_T@{C6`J(E$ z2aqr-ayR}aFWVkH#~JYixZgy33g0eLsr%vc8QViln3wRc0^JV(RFYmX+rFc3%t`g* zpTxKPRB{^l4g+Z_Vh08ilbFYD?5F-ykMdH_yA2cz&lF_pA%iIJb6>$*Oxxh4mD~{2 z`Fxzc_#=L~EvN;W(C3lw#bx2kk1l~9UPZg5hK&A>mW*fP!d^~wDBVyRk0!Z z!a0VR4`O-^e2#+84k*g+LA*&~0KMcQOnctPuVPQM_vdizUI2mA3cCz-)%EyQY~i?1 z;Y7}Oyhc)S1)}^4j-4-wsfsyBxu)o<)AmGSn}9gY5Ep_Nfll^|OA)La-Sl1%7w@mL z=^le@W@Fi{rOGMnhFR6y(+~{VY>ipf1^7u}u7YFg8*#5{$6-!19WMq}EX+a@U)@&T z-r<_TDQl7Isr{F&^i~U8SuI$8UG^-0!sO1vqTv>(FRL5hu5#kI?MGwckGCvb)de};?`U_rqq>oBGv4S~&wG<}H z*-vAtb}IE*;tE`X>Wv=H?Tv8X9EfS@FCZbe;x}|dDD`xstJcGB=p!Ir8G=(;5SgKm zr11vh^GI_?j7@I$FjqO?7!JB2O*cOoH^$;8@y~%HHXg)2u9Fyp5h8KU*Okh>d#bCB zye_4N9_X@aDskSTU^Ff=ixVO1~N^23a+>rFytrr;jka;u>YkA zUAI-x&r)|{xOkf7OH|h4&qq^D&HoHn$xGiH<(X;waSa?r?c%v`QwFttvikOjBsKk&)`r~l0 zz0p6sV3YYT4l^#E!ygZu^e#3wQ%bx>(rW<>V(s?_az8c@d#!fPhy~-H1S~6vSJb&&#jo` zT{tZa<*m{cGcb_yR_Q4m-Mw1J)uiVj8Zjq%-9#DZ4~A;<7AI3jAEMvWhWesHyBHyo zR|UcJf~yrQ`S-y0Y8kadiCl=*dx?p>Eyh8Lc|B7e>{RgbVT7o73x0Fp7*fI?I08s>G3H3TuYCJz~ec34Bf<4chI8{c#HuS-x+@%qDN!ku@60N z#-HctF+A{C2&{tD$|M;d=~-;7MU z5v&%kIH$g@2?wk_I^%+=qY<_vn?Ssw$yJ61L0F2~KV+LyM~;qwvZGcx=V+V+VZ6UL zCo1d0L73LxtTISibF*&h<0yDsj9ZqWihT*dnXqIk)>gH673*faB~USyKI&Xrd>FFU zar|~|$CipyIuUKU>!Apmf4vh zXD@A1RB9!LJS3ml*9ytS;Zf-ZmFc#G>Uah`vMz+3O6;im5GLV%RhQY(iu*H$JGwrz z3k1VF4`>KuS=`2+x*!q|xBWtJ%LV`bMHBov zw?ZT3(9ZXdtXu`|4!Dcc@qYDws6Y=r9%xpHPOCQCqm<74RI;q(_c%irrRd2yRyUA7 zd#^JrxpD-o#l1_ZrK8~C?6k>!Zr6;%Kd5P3{^jJ8J4V3zc*e~xy#U_T2~|G^mdR)k zEg%|N+^Wryay#9dJ52FND{>>E)GwQ@ zF$?nu=4EBa$M~k|$7LEr@d-xb3nua5nYg<#kQ3a zz9_g?#ZW|Wsb0Il66XR;1X1=rxS>w7qE7P(MKxMQHQGWVP@nA}7e{^eFy7yry^Pyx zknx3H#$9lmjCTsvx3p$5+V2~=O&2_0l zdr_s_2c8NYfSW2bLltTso*&442vy3qGS6;sIGd!BY%}xh00-MHY3p2qY{MU!(&c7c znbIZb%Rq66B?E0Bd>Np-Tn4Ct%49&mB`yO=W))Ss1fxn@WimjpOa{^fqsAA(GP_Yg(eX>x_*$DKh{^y# zUk21LO9om%7#V1%`#(emw((@33so{Q&BdWHw+Tr#s zk1i5{<jKe`I6I)`Q6sL0^{oP;TFlS51K|wa{HIOT!sC zYRC(?#K#o&?y@n3V026o%#0}^n~!H@oc>0alf`ya2<}ALRO<(rBzB=JW|G(kH>Fx8 ziTRQ6h)xoBlv-5%$YhI}x=c?I^ku6ZmGNb(3xv^Ay>yq$mNa-&wgfDbtt9h_P7(=5 zWkWD8tM5NabU8^JK;hBTvz#2ZjDnqyNnw_g!VVIc3|4V6*h9ja1P*|9-dQqBP%T9& zwnbN1os4JZXvJm}=v_}!w!>{SWf$DOrtBpVXvzTzx9AzSj`lJxpJew}eg8>zXci!& z|3G7C7O*qqqHOdhST_30qEU48Cs;Q63;0hM{nul$qN6`SzgP8xnSQUzj|qBJE8XS2 z>R&hu;EGC_#+GH4$kL5qMq?vVx^BL!w!qI>Iat%&ubRgE^H|e-_apdxo3z(7x$@$~ zanYi^s7X*3HIrqFniU8-=&EMYUe%nzR8vlPS+foxmo=-ntl0r3J87pbWv^3;&}E$Z zl)X?XYYHy*Qy&e+M_p&Q3 zKqMW|EnsE5b(}PNay@Hxof26)t17&@E}*>sr>f368f#IAm^;F04y~p0Z9tYGd9t-G zPq4NtmJcn~6Rh*Tawj$EM{>>@70I$41E#hJTLx0Y;&_i0Qo{}q(B+{T%9?+)h5}kO z>}4uTq=r!DXe_mq*K$7!yP*YzF?K@-+`iq=Ll4*uNqa>^#Ing*+^G;{r)(-DdhffJ z(3k8~Xmyq#stgJG%1}+Plwk`9V`8+^{couZv$AH4;ycaI7wlR6Ak6TbpJ=IwRuaMR z+yQcN?1DbVi)>9%Lr3@Ah}A~-+ywOY+(PPa3IaPboS`9b62X~+fwQ0jpG0@-n1qV2 z>QpC=Vc*ja1_G74FrO&fz1ilK7CamuPZ+1glTuh}IZu`;o7z)Z>lS zQR7eW;ViI#BQm_la zGASVVBb0*mS*)lO5cH*>3(WAPpqDML_XP*&{z3I|lI2{CCF+nA;GB(eHqcT~oDxVu z8{B15Kt;gy$#N-Z`;V4_PB6olf*ue?3i|2(_m={SyfaTrL4Il=1+8$GNx`7HK#n$S z8j%8SVU_6ufbf3R>VUlLDg) z#Jp=q2xn_2TYlnXF^*bwGwa1z4jN!QEC*#*fw9xIG)lC(Gcwx(q7MY;p~;eE261v- zyF;cXd5$$p6cG3OrVfaJdX}hC>sd+g)kI`6G<)i8IBVE~99MB_D$l`kSu2QYe27lC z(?Oq~Izz?y?Ezto-+s9L`Eh=F$oOpqxj0fbyA3@C8i#Vh1?+F8uGO`$#7?i|-EnMlQp>33)t^Cyd8TUpCuO4yW|^L>$A% zo0B7RiT#cVcsUMnN9GF2t=A1>6`v;E%q~{IMg*L^Gwg`O$yQLF(nIvb1z!fyc?;0w zFNP&AUO&K=1vdTpSVQ7$D>6$w`OCW0;Z`;*^<=&Q7|I;Sq!DtR5Jp8l`OES68+5~2 z$PsU}PtsK#m3Z{jpbX^H$WevlPfB5|q9*00?5Z;0# ziHqZdp7G5$oQm5i@EheK=JEUDLr{la;l2OajJJvX4p50&IHjAQO&F&6RQFmalj4ko zYCbKUy#VeuxaBz9Z$WgDkmGQPL!sWxQ-lNIlPBWc67v+{s2x?6&m34zJpNa8%;=3#ZJUu;gSwvj$p(Z@H@^bX?e@}bg?kC4tLh)R2Cw$HLmqCyiz#m&1&xLKs2k2gmHq|<2XBYr zs*fu%;7<3bSi^3hMthX1XTTwDLqE8?6ZIifBtvUR(u=8jM$yp5(1Zw8ZE8Lj4yUv( z(#!9SQ2dx*^R2bHS-YT;FjXx zW*z}$kW1WW!8Bg zwDyqj_74)TSjn@=5jkY-5|cd<+u9}QS-YX?QN)^`9UZEkh+VXL0!sBVwyo^N#{q`= z_t4%L!Pes_$F@)n{S|4I$4e}3-tVs0BRi+m4_#mR0cz2YS~Y)JFU)UQ5$><*f)Tz) z!VZ5|Hxb_bvH42f-i$ZVLX0ISjICno9ZV5lAkQZ29o0=D?TpWU37MAI~5Ypf_82`%1LC4AlljJJlC^}YL5Q|qY!@0 zkHTl!&+v^r{DgP_j@X|;?0{fDh2va9d;`Zye}PX1KEH$Gc}X5ZE74>PpdR)lbA@+}~1>4&B0pbU;caSv3*QRF2I7z!`qIHjP!gV89 zRyTs4CG{VW0O}Gu2h)kzGk8b6{t>t)xD7{ER4N%ARl`L<#OX~W9y=1sx#&+1sDqr+ z{8uW~)@e*QiYi?=2Gd;phHe~)RF{a1Br8`_d`kC+K-r6Qq* zEvqUepNQWS6rX&9+-K8eDwK3ZzrMz^kUC)~dA*h9jrae1-lZ1}G& zwi<3)?g(ktacI(Q*{oY9*c#@MX5FSK!B#O3F|lSawP;8jnKR z+GDxk6m5p-* z2U#)r0pg<|BR0gG?n4Ylj??t&=Fr1Udpwg;n4zz_FK&210C{%6U#E1;pDNWu_@x7p zzFRz=1K5CJDE(e$oHe=SJS_eGutBgXiCU~ZmaUgpWb zQPr3UmO>VaQC|dOx52M!`ARuL_$^8^BcFK2Qcx^S)e5=t*#kaM@Ex;<#D}+;d~xlC zj{j;T&HCrS)M!SvYh>L;$qCxty$SF9vfL}=5>&G0se_|ttzt;o%5*QPYy}i$8;Xy~ zuBw^c9Ex8BOzsS@m9>E7@y9X#D&rSBKIbDftJjC(|1ahD-a6?dGgj1xwcs}URV@kw z6K2EmhHoc{;ILL7$i>;ODmvbNRpr5uwO$Zav#k3aMu?)`9rCsE@sP1r_cTgm453!f zx;#?V3U}_RCYML4I_N&NM&3&8hFdHLzLnZXLR(TP>(CQdl5Yexxx+Tr&3 z(?vq~li306G7tM*?z%eBIK7N}D>QDS@%84t??ENGg$3BFL4c|as@yBV%OZ?;Zs1WR zwZUCI+{q+wv6#$yRF7~PGY>_|T)i&KEID=}V%3JDa6iO}m;vKgwUm?J@?=+?j9=Ay zPX2BDpWFpE?g5Owf&lgJ;t%e6dlUck-Uz-7?d^iND7yD>g~KWB3fq;Fm*L|)^T@AO zt9b9Z7UmBZ*M~Vje14tEe~QFQC*cC7bAy@Ac!_fnl2orE$;%RqZk};)48MHTps58z zSTjQ5O;1GMiAh}T7k7$y><#c)dfY(P$&zWDpzJPwb#=I9E!i0~?Gr*!sBy{l&&4f=fD?}@Y z&9?mIAG)d=zu^m<{8X&Gi2MDZqAyD+FV)85@R4P9^6-)0YYz<3e_%T~SUi~x9pID> z1IKQ`Z}>7!mI}BJvykD-Iyuq6DjjIx7P_?tZihS2FeC=iz?AN&1}0Xffd!0eV1i{D zSU|0Tdyy^oPizg$QTd0`zysuu*1*M##h*43->HE^b{MYG5>1?%YuU0i&W10KlNHp* zok(o>45wD~at{cjm;2#1dO4r<^fJ1*ZRL$YLe#pU{qXad`Yfk0Ndwe8zaY3WK9gZb z=Pbb(rme`~Uul?@y-zcIHK%#-_h~}4>tsb*9gG0=t7ABEoQB`*iR)Qch2%$r=q&u27Gm7t)Y{iCOCu#L$)l%mcf9G548xm;oNap4&2;@X7-2aD0T!fi2>_>5 zrT5pHt`6yzu?&56cn(hN|G2-tju$+^ zT$rn$PKj|jz+><0K`KicFIIQr|>#9zo;29o7bgmHNbtcOsNh>m~Ok?m7A_JyC$8Q*bT1Sbe&Og zr)F(K99HMloDV{ZzYK!C3qs2EICguc-l&ORBiJz@q+A;!SRV)}*V_nIf0HJTM6jQM z;EmcDCjA%)-nA_y7;>{!g6%*^K1}*f5Pk{V1y%_*0wMV@>8nBbCHTVlumr2!Vr6PB z_|D*h?;3N#cLo=H*PM%Bex_f8@XI#)R;z5s8iG}L6NF#3X}4Kr+t(1R!V@6;vJHW; z>~rTQhF}$L1>tk2aEDcbb`avj_PGRvU(ooSRtYu$;kVDJAbjo&fbdH&3kJAff=&=p zQ!?Zs5RwlWlDpd~&h8+5F}?wWp&1PAT!e z?&M?YQ^T*)8V&zOv6GLjcSAiNMuvc@#$0%x!G-rV^Ovhs$Ksb+qsFOuAC4KzgXje@ z2aeN7e4BS_wwh6?*1|8dHGD3G<5Lpnfk@!O**5$#1rW1_R0Op>5`<~~$cVP(@U*I% z3!Sz{#N+954-P0!X@e1EF;e33fbZcCj=vO-HJj2Z^ZU5UoRFAkF{h1uIB{4ixNqdWTvu0{+GP1)yyf7SxxQ{#@|%s}(vO6^xo&uJAPRQYWmB(5 z!9#FOq)Lw6#6-tf0%ztnB+wWIk3j{_G7HEbHc_j*xAx}j?k0EsypJ)sTLy}RD4EfSZKtgJU-20Chau||y zN@}E$6n8f;r1PK1koB!*6R{yfR*iyW$n+@aG34hK>`TZ_QIHJTA_{7TOvR_U%u_>_ zLPBbGTC>vYt5ik{L5Ti=0`oi7@xrR@d{!lnwK~;ilFmP;Q@v0!rG>T0e8{pXn?^vg zY*Z8!mSx{W0zGU~cBbe}2pO_!(3=pjICutF)i2VJ&usfuz&5T0Wlo$PbgYE{oYGwZ zb1t`-(z+RV8XDd8=HQGO?T2+Zk_n1eH=ipMFs835{cRCF&UqrU%6%p&OY zH>|Y};R!kXd=w;yAC7`foH{+j5l26MkNvw9RzQm3CsFW;7!oKi>%zgtpL;O=l$G`V zMJ($w(Xu{_1ja?dqfpi%QScp>6$3h?!aPR1_&Ve+_&BA514(!nlF;|RNrJlh#~}&F zSRFxxoRV-*6r?2V9R)o}xYmOG!R&%4NJ;o@6kJqEC@U)^VNuHZT(ks~gomOaCE<=J zs3qZ9OA_)F4cij&B;ln%5-P98&L|uDJ4`dt3GF`;Nr=reBJOP&i`M;%)gz>JDGBdH zK~EAUS_$|%VMG+9BvePiMU{lIvQiQjrL1ky5>OJ>jDnPe8BtJ6!fO12h<=PD)NHt3 zr8iaJ`okF@{JGuBhM+AnbN#>;scE>X!kZ;=F=AT~{zUII1oJ1mwbxbzlijUBn2DaR zh@L`eoYJhKKO{|r_;vkn;@A5l5x*VV4LAAC4n63Xq9Da@y(s93-#!*BCKWBC<1J9+ zm*RJ56kJsCD=RC-ZxPCxJrgAuAmb@^*GG#(vAZ}5dSX}kOBf}^1ym{1D=&u#wu{@E z4xI_HbV|Pqq+kxEKthELlLiGQV}2+~sFwl$C5DO2n4*)-EX%^l=1;8N)=ZGY(E(AA zQm}gz^rYY@3m(PMDxg=^E3Fbp zWho8!Ss+(*Gn9r~qM%knzp_kJZNF#gS^~wiG!wuO#f0Qx$8buUPfn|I@yl%DM0~FL zPM<#y;=|1Xr?m2v^3*(^qrTJUu|a&uSf|uDRj2k`WzEc8D%Df?icaRf>R>IH78yR} zieT5_mubkSezy}K{YaY^@?}+i)JnE%uw=QuNP*^%z&Nbdc;CyAHyHagyv@1T##SZzU^hWrHN!Z6$m5 zV9EYel6^Nww(2iPw(D&uhe48CwZ$)Gt*O&*C52<)BP;byb!DghGfj2h?{$Iy!UTd2 zTqpeP2Y+Q5a8{kq`AfuSjp@Eml2cOibiHF+Lf#X4xv{#i~$2iU6r zu-#kV`Ej&++3fEB&qV*hOf+bB&+K=W@%w$2)6NdI>OXAvo*zlOm(Ata?u#;)`>&dJ zMn{6}gLd~#Id6O#CD=1MlT!4%0%dh{(mGZi@AN2p^pD?Y##+(#Ji zLG_F8{)4WvnAP`p&wlvLqM-VxN%dc~s=phm-|^3^{tv%3q-tBV#qMqPtiD_z{KumD zy>|7N)j?&1HhZV78kFTxvv=BVO#^&eW={?JtWU+qlgW0%^-|nCj@#s89}QrkXAoGsCM#lRNFk=aD3-D@qLBg-pG-uD64O8 z+Z#Co1{*o8ruvJrkrPz^VN}p5#g^9-lG))2$uw4fc3t?q9Ko{la*Y7>`^(XrTqJ=X z{B<=|+pA^6n+a@Zs@z|fCn2t`3y7EWz)1GyT6X0ae#>iavq!VV#p+Lm%zTG~ozbZ>4`|PsRSe zFJ2i*;4Qn$+=hKd>+54w!?G=L^$J9-!p-O4xek80GoAb!_}}~sxDRsj=O5^*m+{Me z;p8907mDMD!2Pt7ufqS?II)=fjgwys?jwj_=H&n9R9D@AAMSC_k30?US$v#Uxn3v# zr*mC3hwitWx*g`b>O%Z-2Rcsvy>1*lIv>OZPBmqP&uaKNCB9?lLl+9fYy2tc@{GY> zyb1|OUilfovZy(bU%bUWa8ANIknbl)z2%g6oZC-sErEEEwVd_uL@ZofElKy#tbAajJ?|o{tcsq(?UPNpo;k}5+uPt_hG~X2H zg_}2*%D0Hr9q_<61$=ogNdfuZpzMx&9?|~ zpD^z?YX_Md<_wh!&bsLL{VzC^0`xNBrJN=yzyJvIx=gXx6dc8(NzolKfn3(?NTOZthyXF^$+O-Yj;=Fy^#dv?mZL#EP@g5LsYp!;J z09RdJ8`neki_I>tiyNT3eRLJCiEFtRhP`L5dl%h;&hbw91{@XYC1E}d{ClhDtt0}G z>;$5+LytXQ`?&xKOMcM8jDXd6jwq;miXQRpqvICQA4|hA%l|B)ob+ zhgV+0Aanbegh`l$drZLZPI!Rfk#Lp;X@Ag5IC*+8*lv@a`rTi&M=5;;^d}HbiJ$+G z@BZ{5Isdyq>LIJSTS!QA%U5yQK{B9x6{iOTdf1|W6-PacRH9$Sp=n{58v2e$6~QI_9gitqq9HShSeco`jp#Bn zDM>K;9S;HZcRb_;&Ni~|9A}tk)REAy(D%@7j5@e|3C};`OL)RIkd|U;BL)(&vKKf7 zj2cJ;%M2s|wSm-%Y@;u54rU;+hX0CJ=sQpzV<2^tCB6aa^CvUNEA*jvB>fjS?H4CG zCCr_N4_VE$zR|uD!EU^FX@3QYVD{CDZ0Or7+YpR?7@FXZ@TPsvDavlzC+Ob>t{$~+ z18)JrQJ6O>w9{RF(>^7l>?586mVIcEO8{jbS|o@pQgUen+!AMAw`P1tg}CMhPjkfup=TaC28Xs_qUd7uJ6P+p-rE5flly3>*ZQn;Lp!!Yi#1+lCdGk z-YY_IScH1PDQ$vLX{{32c)gSD8RDo;O2`dZaJUde4~W`h3mDTH5m=r*@YgBv%klCV zfPMyF5?_eV@|u<6<4EmZXPDe0(gwm;f}JG943g{qdl=AM_umh~@8J0-tPb7^!gTNs zy32cA0`)2T)(ydEuM@0XL9j{76oi0FLO~$$DC_z0h41~*1>tr#IO21=4}{Nc)feJ+ z3rL^a?I3(^cabn3SLg*{xIIAkzah8%{)AOK$T`1K>6>vU$i(tSbQqrB$@Mv@t*~}% zo{iziJ?G?;`@t|b56^Aoo_B_2Z2eCVd{Uw4vl;RQr(Wgn-@4MMzx?Oh-~xS5YvzBx zt>1_9kHD>!pNic*uTs_Dhd-DdMOGUZU~$+9E~xQTN$uFQUT^gEQ73YTE`W!(nCN$R zE-5*sb+CBhT}S>TBmqX8Tt^PKNDOZ->?AShqF?Gnym0a;N~f1E{iHn&JNvgtn(6m2 zX)FNp*7JTVoBUH&HmxMQY!dBvpltf#DPt}GZW6)7vW>paCzkCK)-^|>18CX)&siox z?+{zPwrumOZB=QOYyI*+g|JSk&6K|bMWe0D@^{m%+0Rij{Uv5RGmx)xkZ>;+5g>smJUb#1X@|Nj3oGxyGY39g{4{=VdEh)JtfGa*K3|dDwq=Fk?Rd`%j^h`T5l$xrx@mAO0Z3bOI-kWC)_e6$nHk= zIS{~(L3~F&%o;o%1D}7$oOSOc)b`Q9cm#%+pX|<*pSHz$}bhwF0-FP&)yg5RYl^l5qXvXF50Vvhcc{ zRVPR}t1iXfS>p?!k6D;U(Gjr^gK$RYU!ZFriN?D&?<@&eSu!y=OZZO>3r`GoF&R5C zSo06vgvs$@a4+fcVlvs)jEMdeVh5@4x+eCxYhHwpodawDz~+)^HN&kZAyxJd+okL$ zAiwF+GYIR0bvqx(VrU~d&IkTX5lL}&k(epYx_>&w*+d{H&NhH7f+a1^>`RDe=L1^_ z*!e*9vWQ6L1MBEE^MOrtoB6;txb1u(v)%<*<^!pTb+3>mt%*%=`q!Yw)L zjjsypKUd67SK?ur5jqa#Y3Bpk1a>kV-Oy(L1*d62>f!b+WD@~1A9w*wcPj&8KCptL zmkt7)>^ldoL$(tD=kVD6H2{#wLGfy#7v}-#)o#61h6KCl$9X`~sCmty(F8zfNLuam zvT3Q;HNgxCHUVI`(CLu>rN*N&`^x@20I&EUgk!#1%GFMtOaileVsEl$(GCEWEY8a;>?5r3a%}gYOhKB$f-g$ ztoD(9C$9Wu18X1Rs747kwDu8X4;`uk0+e>Bi0js&@}~;j4pp2XOFLA8v{QxbHZ@Yj zoGN5)S_qi#Q#;*8`McoumA~dKU-@Hh_o(+e|WNG(_$Zp*yL7MJU1ClN6 zK5=OOTXmnB!H?}ewNWIt`_$>nr>E{yIlE8xA^+?~C0rzX`!ZFyt}|7*7m=JQe9^f+ zhDezzyv^x8?nor33a=?a{vtC3@oox^nSv$J@c3M(cRiK4;sw34OOP_Qy@~eoZ8NsL z0zf?gHrDJ-H_@%fwk=NYw;B{>CSY?%c!HFf0Fty1X8>iYkfiNHB$7zDw=@Y(C*{Vc zb&*L6H$IW2@dYRGbt)NlGh4yGOck;N+d%+Rh3vp)-*Gyy4FG@h!b+Il_e6Ix0nez zct*~~fzbI&@PjF~EjGd>4*Gt~&96rnnKxl3vzNp36}$sS2J7l*61*ZW_w=U~FBKGT z1og-N4-1O7qLvq&13Xs(df+BV@!rdm>U+EcaWM6aE0Ssvj?f#3p>Ftq(3geEOmn>F zz>3iEp2JA1;%6NljOd}`J;#BhUDXPwJS*eZU)5@GiXB9|s@3Ay*$!5@iE%oa5l{ z@m>wXORQh7;4xoa1h79N!|itUlK^0Cc7|Kmnh0P`b_KVrwGxo6Y8h^;>mZ1w=ovZc zWpw~pf?mNRUg`+Q4r&>1H4?-w@6bUvtU4tJ-4NC7$^k)^UT#37If7F%(83h34O=qM zK>&O2Bm-&<05$`41atn(aexkaGUy!BZC(?*tGLWrD3Y0iA&_KXu zpqYTqz{&7yBS?u~2|%q4fD%6!Kpg=sab}>AAPQ76&`RLHi+?vUj&mUT+kZs-J#J&j z{0%I0Fc}uZ69BT40WcT$0H`ORHzB+Pu!$gxfor(h39uNrh^vc$EaDQitXT)3Ervz{ zJnNuGCGw5qKB7e2wYPZfX(1_FdD~4Q8Sb6SPJs{ez&&&I1egb&(b7afmjw67wGw0= zcqU5+0p>x@Vp$hJP3{G)R3A}K5Pn)LzDX!7WXCIXZ@k9=q)K(=`- zMF#=Rwj4(>6(Hr#V<_qfQ0_c_qLDx#_ZEVsa%a0;Vl-twqx7B@L6+89B3+}|&J-wj zIlE#50F*m3P)ERKppk&i0MDpsAxOFNY>IXQlsnI)=pqovz2*-9|GV7hNv+*rag9}v z)m182Bk5EA+*Q{~fb!?jiyZ{Wz8tx@Apl)>dDLPZLCT*;EH)CL{CTuu3jtksWs;EK zf3L1_sjl2a)nj#CJo{awPxiSls%|3yWS{$?8VQhn?t^L}5bS?yCrI|W|0%mM0J6^m z?CJ>w>^Bko@9gg_Vqb+BxSX}g8O%qd~)-wZb1gQ1QKqmp4fouZ+odF&cR!@*x z&jZ4m2vF;JFjy;rK$*Zjd zwA%2*)eeG`znrwXIRMI^C#=>H2-K#L;NsP$bu;J-o&$vaJuLfo8#Ma`{wcGM7$m#C zzWTI~KH2A9&<+A*UycXe0sz_Pv7mJXH2XXbw2>g$=P{ry1js&*|7<4^u-`?{vfr_} zW_Beqz>Zq}m?1HHCBYk;z}yGDX)@^*JJ4_7eFf#2d~YD+nSx)h$is)LPQgLN(%J5V z`I6l6^|;6bFZy|2ejyyV?4T2J;Vo#H!Z%2LGq)azsocbMQ)&;q;(sI@7^yM+`B(vgS+LxL z>)~cvyyBl;-{12jKx!)A=PuwV_{*G7tn>Y6PYt#Ix$ki&LB5R$Aaorj3Joq6q^!o_C5%_(9MGheXL;7N0);{Y(GxO)}?1%naNobqNAz43k z#V#Ua(mtdlw3X(NlnpJz?E$(L;L-%>j8}YSwY2JeVMNeb-+?D+~H(Db4Z#>*C z$?B$)(rO{z{|B80z=OR1~z(tXhR zDfKa4x-YmOrEBn9FCCeWZ?kwOcX{cjtouSQz45gv^*CPQSHBM9X}pt{^>T;(HKnSq z7q^$b7mlsk0MvWA*KfiZmVYxIshbUOix)ZZZnP^j@3~9=o>Dv9fgmg3?)7^fOR1wC zH^BH8Q|dFk^nsn}drwN8g_ns(?oFv?yiEM2`%-Gd`^D|0KZfJ@2LRN2=~qE$#uGZi zBlutcNgd(Pj+Cl=%0##gj!mAH2(X&_%#evqwly@aFx{Nvq~-G*bL(5e{Keb#6rOg~ z4IkLqK|Ru^)po-NR{R|_CDpnqnTPcR;OB8*-dZT(i4pTp_%E>FD)JuM2)WL6Suloc zTs{V@27Q5FZ_u~+MRR)DPDxy-Tv!wN+C`d}LgU6t&7yN^;hyG%x*9E-cft^QZi9}} z5PB_|MC!bUDP4I`Qk{=CH;K17=|@lR{`+Pu+$!B&pBs@4UGm!>F@9uo{cjy#We1(3 zH@4?Sc)Ka-I5^6eclJn1po`ek{V9-pl(aVN>|?b$DVVJYgyP{O1U7 zl;r^3Wufx6>F~rzc)~(o7w1LINww@O&|clkos9qLqv5_IZffZH-ymaO9FtU+V~;}N zA)GyXQ4#e8-yaD;8_qpGsh)p6stRLpImX#ZHR&9Lo921x9pHF{z!)#R#zjfB059El zUYk^_UMKFsR(&pp!z(`YWlF8Q2$biP$x#&6cNiRn6U&lI(20K zhisBk-{38r6ZO*TV6m_O5ZuOpgzd%4f?91FJ^TlfZd1RW23@4_px9rf|`RNwo_Y$W@=4R0rV2 z2YWB~_0B0(+yzkqs9Y`fJ?)D(zX_=R9geRF{E+Y>(_p6~V#nUQB&jyJ6zDiECoA6~ zrS`!~04Xo(NU8}>!LI=sp88T!J#z=zN)jvn%K?spCftQLKNvOV6%^t?D5C&(#86f7 z3V~|}qPE}_0+R-%)M0ojzT7nvQ|f)ZBG@EWb`1J7p@VG%;3T|cI=AYUXjJfu$iIeT z63i|{o_iG4IkOYol+Yb;d_w>d%B_X2)(Lp?2P4zjThP6l`A>AO2EjE4Z@w91uYAY> z_IWk{Ac5hxrPN+{h35}$$F*?im3<%D ziig&!FFK;j&rhmvCr8D-eRaxrZ`D6=&)EWZ&#NYlN zv{X7aYgD9EE8bPV1Rg%uL3Q(Y@8EavbbGFb?#rnKZ)h451o&%_zx=`ImSN1_iKwed z+dgCltch-y??ttO-=sYf+Qg{Bfh*(oU0R!DVFo;pXN+v&GB`&!V-lvmu)sRk4(LQq z-W}%WEcn2nrS?E}5Ec#TuD}SfY~fGVSzR~;PO=akQE0ZJnGCPExU28*H`A-{@YGSg$7~h>FeEBS93x156 zA@tNSra-h)lhxbZjYR}{?yA2kyaqYW0tT|}?-fQM$UF_HJiUyFuObfmLVtsLS))|` zWZ=*X8Z$TEgS4~o6cJ|&1FbWs@_WFIp4QV(Ms1vztTS17*E+L>E;xnN>VSStP?{qO zi)`4s!VlItF}FNS!Im(4;}bDl1PFkaVvkRwxxO5B;X}ORHwEw=9GfuMxEKnTI+@#| zUqn5Mcl=1t8%(X_(~j3GX3EoQ7T)o5Bi*`7Qfi~+A)qf|q<4WsfUz*egNEatP`u;I0E`-uQn%n8zZHPLjKl;bs@wQi5obUx z3=!V(ec>}>R7!o0cl@pZnpSiOj2Yt)7+U9~^B({{wY67rsP!M~Q0t2XecoOK;K%v$ zJZxz@ABn#2dF)2YvoWlOSNv>nX$gHDBGJmUXe3b>c(^6Ez$U4AQEz@y3STO|cdtcnWSG*9N0_k9U7RgL)$CvcK#MJm`+1Sh^ z01X5((b~-6*!t2;pjT{A#l8UA0aR9b=y+vhd%?-@8x$>9Ze5;}8?-~nKa}^C8?;?y_EhqK^~hY2zO5lK5D0Q3 zE7D!0tVoxo%SV}@oUj?cPP96H5Ox!~$js|y(ZnU#kq|;|8)1&8wWA-)j7*94%dC2b zQZ=UlXow~=qX0Aj;8tVV)74C1T4JE=={goYY(A1jp6SGmR3W77;>=9N?ubrC#8#k+ z1MUIIQvp1k7{thl9ov<H9c-`mxLRke7Y}y*J}lYUo@HE-;#VLH_b@VHAV$07r944s?_Zbo6NMF73DY z(cDudqq&K}Xl~Vj&d{l#qrCjn7&l?KG7XRn;*@;omX8lfwcOaPlj`B4BPup8o+>-# zEiKx~Ko0#HLl#8eZAX6uH2D^Cs)oL-v+_86l&6OgyO$>XP9A)(5cDZ3zvu0eHD1s`@_#0*_(Z z;X(`sIlPN;PNr`>rMAEuJ24gXZVMH)6o4+e)HW~@&%E5JJEezNzQoSU5M=Lf&a_u@|MyypAfvSkMR+iO}wF)66d7)Bs zu0+gMYz2}H1oDweZ2$@Mi_|PJV{JNOK0%W9iNO);A6X7&aFHWTNLSUK8Of-4?2kd< zS_WnzefL#>T!uk!0&?Mo0g?>{=kmLk+)WWEb$Elr+9bOV8UkMnXxS4{z+Y@_71jTV6_uE-WY? z)a_>8*yHIw(&MpV8M3l;?JbeE$CJAoQyMWeUa^gOdy!F?xX7)9AI^Wo=3?}bJAFAE zcl{>J_<^v(XRUy5^aP#)FcM8&9r}i`$5O$uRt+GIqin!5X~jLI?3f0y_d;cf$y9(7ogGKI+96V0G~zzCs$^^qnV{U8CgbbZYO})jgekrb89XH zU~O(A0c&&H0CYQWgI36~y`7A(G`2T;kwnzCx1PY#*xn``QQO{D0@n6+5Lg=9t6C-E z;%u*q-|7_nOqOwZq<8!P=!<;>`7bXSe*)Vu>_a4!X}S0o6}oRi4=m7ELywCrn|Q8Q z7#W|z&bB<6r;uJ9nc514d_M}g5y1G}P{{Ygr-i^Hm6;YW&`$S26!I|uvKJ%D(`ZWv zpowfGa1a1)VQV8WGEx=a8$R}tmW~G;j6wrzA3@3i2cedTti{%dq!KGR&66NkjwIsl zF1ZSZTm_Blk|f2Z**?h9 z0E(5NVzrU|Qia+Mk-I4rkyfD+`#J~S(4>wZ5aD!Y`~pXT#U4%Xox=yefG=&NQps+X zI@Xlv6Ve*jQmfnoOcBR085}zlruqmtawp(NO!aLr)s;wGo|lo7S8Ra|W}w)uy)wQ2 z0qe$G-qtIbc@M(KUJBp{)PfsP3mO23se2VZEd-3I>!913y1L5{#hSVn0@l=Z5rC;% zlFpg*>S``W#HBHL4LYJWdCdft#^kl>h}z_J60jyOdj)`{F?sbmVz?#*-A$E=-HXNX z2t-qtsX?)H5U`q9htKRNqZKkVZ7l$(ffY1q?EtLip^&>P*{oke$r6j80rshZBX)Ri zES}2UfDaAd;EjC*&HFRHE#wZxk7(X2uI3#ln)fU;kAY$@_sX2`PfT(!SFb?xmPO|4 zt^)8mG_M1i*9<`HZzX&>2pIcYGaqhif13dK_P3pYwZGY`0sI{MD@Ll+{)#>N#qF;c zsZ#qZrrz4$dgf+n>~E8f*n`&nI`&r-{KxF?swm!8Fe&!;T&P4R0ju>j*C5}o^co>r z-w43h`W66I>lbHl6Qe-fKAhW%eMX(-2u&VZTd!ECN~`PE!2Ch1cZp9CKIh@Her(0w zz6He;C*qt3pE;{Qj~8U)hdajpF8Ido$R;y9U#%T1R?bT2m*hmQ%u`!{#I=ZcbUKrH z4?rD&@^y0AidO+N67X_W2oo6fI{|pbcfr!SxXQ0sLL+M(k?rZ-MZ{Vnl5{s6CU=t5)ORiu8MQw!#;vU3l-@e zk^iM?sakYI-BPs^SellqOGnf#Rn1>P#kN!p1eT_yYSs~Zuo*Hj67T19q((u06ma6a zSFI$m2n){s4|@YuB0D0GFh8qF(DkU2<{65AA_G0)REbwS0(ug8B&lMfav?oowsAf9wNx=?VoQ@Y}CY7;MFW&u++a?Qv#a_MWoP zq6~g=kKKz8#oIY^{zU%NEbn3oxLMu=$l4=uP}L32eDp>@QlaCAH3Su(v&^+ed6T*? zE}w&Mpxvjgo4tGp$&>49aorvMR7sYPN0w!B_W$B6)5OT575m-SFcx!HRES335epaZ z5^FRGxW$XUS@+`I49IT9D>e8RDqi1Y>AZe`;+6L5jac_AzwvXkOai~7EbF#+o!KVK zb8_83uFT1WS9|<;>l@l0BCRjthphCk-~9RotaICHb9+_~xjpM=<`(gPU%8DOZ_0MJ z%I;;mTjkFyTg3l;<#t<}+nGJ&cIMB_E#m*aa(j!-?cqJ-_VAyXTg3m3bDKN;8od`V zwp*o_n{#7IeTO%O#ZVC%=-gR1o3Z(9c#nF>0X}^u091PKyKp)fHf&6pflaJ%AAzkv zQ+5eH=6#1Dj91K^U@FRSm6_@fF|?|PtJv(yY(`=6M+1R9Dx=9oH)8G>KrR&IuEClR73dr&)LCs$V)gXHYRm`~Vo#p)E&?IJUuMl&Q=-zzR;G9=RsfYDQo-cCTGNhH-9kv`Lr8sKKy zIuZasQX2uAR`w=LZ2^&kK%#KhXF;N-pO9;%+wg$X2?BC;Ifq;mfq;iLfR=}Br4y+E zfX_n<0mDNogHq`LB8NjpRHpR~6j+rhuwf{@4gmRMu&%5c;ac+WIlD5O90_I{3W&6G zJ~L`vIU6!`;pp-a2ibB$u@QHp z^s(bxK@IJ54IH4H7kz98waKHr>X1H`BSbfSB(j@6`bbwFC3>ko5(z^W=%X6o=wm$q zUmu$Z{D?k+k`m_I5ODIO-=Z>gxy;uMbeL}<@T1HpC!;W05iB>oIysI7GYHwZL)(W& zx=ZbY2(;8b_@a01gO6PD@@PfMzJ2Hf;Fm|uGCgF8XR28H@PT6ra5RtDhfLW>EIUI? zq4@>cjb;G-?~5ffw+zE)VgjoG*ndz&brLwFELpJ|fb6nyHFA%LG&mu>eI6-F^`ITC zN2uRMZ<~>_FQ;|@zMND|4{~zssL|Rw1p95Ywh1ZwthbR{+XQs=#JW?&5IvsUlQ^-1 z$0o#PqA!$tFz70!-^K=V+xyvhVfWt8Vfd`&758>}KkIynbwPtci@l$dQ4N|19Dv4t z7JzmDZ0xhpqU;d3(b%(((FiyD4${YH1t3ke1nXolbTJsLey9_y8GvokGYNeAX$L}* zZ2%7q%Rwk?!>>THodBc_KZgtr13|Rgd44Wh9&XmlGo2>dub1~b6~M28Q)tD_BO!mp zBub-Pk2Ius*eEvx=w?UQ9P3IKuXftx8MaLxOis;1q~9jDS<-Biy8!rYa@}wMwoPsV z;4f!wBM`L7oea1%>kG0YB%)bTMPO;#tB)|Dm!qAq`*I+5mJ@wvgpgQVTlC7#m!dF~9ff)&jqy>ehn))=`yOP*dwL z)(GIgFs5>6K548Hw#4NA@w8)=wtXS6N-x4)Iwo5IU$=0cwquoE{01F)Br4|NE)-A) zfg@p+ZUm4Wh5Xm_OATV%M)#*taktR@8Jn!kinK2Pg}~dORyP{?p?!G)1X=-zeR-7B zRzxh=mr01yOgHVzr9Ih~r+Tt4n=OHTiPNOmXB{|L^r8NKFCfLV#D_VSWwvR}<5L~W zLL@Cq=)3X14bjkdV4Fs0P(lqOci?cNGLt$y`a~vGf`ThaQW1l{7(DKASEkVKpg^UgZ#%SY`{Kx!<%Jl21`54)Yzgo{GgbzA(?{T-F}$%)vGYET z6Fm;Yj-nVh=x3gds@3qu7QtsdI1VF#9r2MFQ*o-pR@nBayu#DZm8n1BOi)ktX~z~Q zK5Sj_1ru8=3YoN;l?GJ{RXRwTX$00ZCANA*5x>MTVG~Zb*cR?*NynLp4(t=Q8Eu ze5MZWiK!6MGUXyeOwI0zsZN)v-854c=Q8Eue5T&$iK!6MGUXyeOnqF+6gM2Ndz>yl zeqNo_TrHRQxj61-RWXL##DwHjmJR9Rbja6HQ~zi}N|7{I$Db>~F=U(@oZWzxm*L(h zZgdVI?M7#d6z#Peon55OspjHhLGxkPaFPk>;v{5pN0`J`?BktOKR844 z*u_1)Q!%wX5j!^O=K_G1RB-!73jiy#XoDfn`693QD(pDFwoE!r?D!7GQ|$P>a#;rS zrpwL68434=8}5>9IVZrsF*q)&m~?4Y!i_s#=S1jTP%Rr+S2H-t-GzMxmovB;#yz7- z+6*`q4hAEaYnm;vldh4J#0Nk8@;m9;WRe@2I+4doH|hOM*?Cw_Xczg{6R?Z?n+VuJ zcN>6i`NGurys_b*4mIT$flSA3>+I z4uK}!(l@yszF#!LJ#oiDnWtBUCc!;sH|W>{0NM#u;8Oo1bIL?V-T1jT3{E-s91ou~>S^F(fws0!^vp=!mp zODwZQ`%n_S&>67L%A^1WaHhSxTUqq;*6Jj`;WU8pNw*D_adI=<{`_4V0n9q5_z9r33;ekd7K`bRG`aSXbu$wC`MW==D>1I~HFJ>@0) zG#m3sFP`?pZ)ZWEIFme?zb zY9#1>Cuq}8gAm(4zM@J@_!^DG9F3*6Fs;NCATwrYHAEx(2P>>K!>5Dcd-28&*9;?= zJi_o1hGB~gG3+9JhApy$VT%qkY_Y;H(n@RwhV3H^AK~>^xv@B4Z6Ca`Ba+_mCX=6j zC@-)0IEHnThG9T>Vlw_F_8FaMd^ZD?*k6*%W@z_1xx;@}vUi*#qBavkOxyR#UI`9~ zTqJvnh%Gi?0*(db!)7Ei?0Fz}X|i0%HJK10axPMn)8CL8@ycXHM!q2vK+~CE zoj%=A5%I7IC9<6%Z1ebz2_a3WJ<=tF3=T=?(h+s@Si>#Lws}nBYC=9CDj{S*r9nr` z%I?g(iO8NPn@Qn%h(QY1Xf9>P<#0D-zld%MS8hqRtc`S@I4G%By8-NU0C*0(O+N%a+hHrv zUT_F-9DvUO{P|G$T!W)f-iBkl!vHYO$w%Pe&?5nCfnWpR5TF^r#Q^%?EYr$X#F-4o zLIQO-R{U(7k^2VT%B?Wnb3#%rzbCfyR3ge<0LDKTRh7MQpl@_eQf-8{au1y4g8zAY zBNS74(E?0m`xBA1JtLAz`dI+)tOx*vmpv(|cD(}b4G`)Y022RF04x6m$Ln6HqvY;6 z4Mzi?j#Mte9L=(D>`CAR$mw7>;&TCPh-}_)VZeW`<`PE$d*Y$Xo>XPWAP1Wu*q2wBIF#+ID{+)4UXktL^ONe4bs&L$6_7fBJ*NPG&?1ZA z$USj&QcbxVi7gB7Bl}_Llm$*5fYV+(K?Oc4_v$q`J^xsw)`hcgR>D!_mP~FdoJoEu zUdiHszb4hGc%>vigF`ZM6_{$i9$BnKLM-r?+LCI<4G2c*9|?y5lz#Naq&ftzl<|be zaeVZjkSGiMpchTKPC&3l0QP4gqg-=;!KuTKGK)#%ipQ7cws_g(suyzgt_3Oq?1&sm zuIN*V`9A^RqjI;sl2kvC<}-b~+`w0HV#HnmP5^M;zi{9y#K8n|cm0r52d;pMME$B! zDYYwJ;p4_+N*$X5z)JBIfTIYoQWScpR3l!I(VwbP>MOh~gxuzZlzI-YNFvt9092}z z0Yv)3hnZgl$2vH!xAK7$P8)*5FVer_;NIcn4dpu+CP-Q^XZ_GaIAB;l>B*{sdW{6_k=Fto% zXWA$hOv=cqbDae2WQ>ip%g}KaV>}R5r3;hPYooJUIR)0>8Z?0`O+(GS2NkalJ72l`wXzwN=>2hMNU`s< z@-zTnu8H<=EdXqDHf>0$oA652zYC5DxIaLue*ftpfWuhDn(q!k8af*A^qiDB6R$J} zcb}0`?R{b0NNpK3wM}ghB6`=k+{-wz8gFF|*FNNTJX}u2X6v3F?6>Zp;{q|$x}T(5 zcV1a0t^2-+@Hf2Dx}VjWR4?LX>#p*T!{}njP|{NdbOaTC3C6%41iH}}%hV2zAhrQyd`7m`zO2 zR?Jocwqky3$b~9q2x%*(iwsxH9}JBN6pX2u7B|#piCy~W!MX^UPg$qHirE2nXpSnR zLZ0Xg=41$Fh>5@%0TJ)Hh~OfPU~WX%@g^*D0xl9yL(VQv2aP;&Fix#s5uFiHvOT=? zT4>Aw>r7uln8UPj>EMyAv!lu?uEGF#MsZ}16zCuW+;p;zE0cEA@e-3#kf#$fFEOW z5M%Qo#$7rF51OU*R{3$b>B6KjBZ$!&#CTH27KJ#` zVd@2G8Kjs5eoljguRyGZ`0w+%t53QegVQS-(WEMtM`2fi|cDt z@EJp()jGvDPuj1ADK5bJ!y3??}A2h60I=bJmo`(pw zVO9BS9!l8M-w#qBfbqVO`fMGY7eh$u@0^Lz5h6+ID#AuMQi)mX{4x6_8Rxh|6ME1d zjMP&Bu$R8|{Y0(QkU*CnNXQ+c zg}u1i_N_mct$q@GSe;(x@u=2qsWh4i#jbZ=+P3!r|- zLL`P$5uTD;I4CitMzomwYiVA*;ySNljTqj<4UwkNme?rFE41Nc)$I8g#=^bV(P)TI zLa*-cKweFc+i}0rPAA}a=Uymqgt`sxcj!hal))u8;74vHnT)vylBzn>OFwWJW)2{H zxN|RFlvKmfiK@c4|J<7xQ8Nt!=`A3x%kVNrUyx)HjByVBnS=y769vB)atRM~LpOf} z!&SVAQF5UZ`fA09N}LJGhZ%+wqi{jR^bPtF#Fej;_a5O-LjA_lf8@^E>9SImyrpC;EXIWL~Rz@C^yl6Hcj)^)F zClbVcKb7B86W_HP@i{K>b4!TxzTIxbi3D-qFE?jFO5KOI|G{Ob*Q-iOa)oZEkdu(S znoH$JZZC6*3$98kxt~{4(S9rDD4Xge`e(saHI(2eV32)WRYUQup&?(m`~(uPXoM@@ zMUq2&zudQ&QksC7r2f^MTzfRBZou3BK~%o)A9H}CUcuEh?Gf#B6{dVFkp4?FrT%&< zeD1;xUvPg-_cLDZGK_Ct!7H?ug)uw=%PIPw1;R4`oQ0P@xR-DR$=%!Ca+kt)8^3V- zYrxOkwrKskWsXS5-}h7b=@4r&S-lQohefxmOZ*_0crrPpHbfkzn3_W*i2Hsjf7K4S zBFw99C2@VdHm(q2x!ey7{!F<%ry9 z8TSe?Fa7>p-DJTdJ#QZFO2x}Sk6vg3-HJdDU5bgd%fuu7;T0GxU#SD#ivIyu!TkUX z`)Y6q0J6FBEr95`*HCx1ydA+-2CzRI0^AE=#rtq4I$k00`I9NNb%zGfotmZxU%Mc` zUh#xQxbGWp{~Ps3h0lyHKO*l$aw)8q{5P)4>pvg$B>tuY9D;+*|1&A3 zYtSOBkF>#5eyuKOX0mz&zO;lH+7K9@q3IgX3_;0*Mv-c0l$=N?x$l>|1hYb~;gyQ} z6{dP>?@8z?J+>YT*B=J(C~ey{AC%!H_UdcNgERpuXab%F5@Rjh1iYaE%|M*CV~^|d9Z0bg4V45ehWg~+HH;``;U2krm( zDXAT$daMspVV&3$7{7WPrU9K2iv7$`N~U@ciR$6|Xbf)3mS18QwnLsRlxWfu|Na9Mtl)U$!G+T&pgnQ}o6rDQaMNR*TBm+Q9?#&&php8m42XvBR?DWnl^yD5F?rUZ@HGL(|h z2qKY^@0YsKUr`O9AZhG5ZFsN_oJ|BT` zOZS}{qTw6#I)1%DAK*7K=u`Zb4Qj@WLv+x0aAV%`ON518B(=HHg;x1H1XX|Z(nx<7wKifoa#G@O;5T*vso{h3$U9noFqO6F0w;#2;NC$TyMFGiWDFg2Jc$wsSB zM!5vFJqG0Cz(A`}+sgrcVW3E%H=z7D?N?U7(kwMxLn_Z`*{JjqbTuy&Q9s0)EcC@_ zSDYD@C&k4DRC%Tl@>N5bOg8EtuQ^f5?dUJ`ou^|Kpc+rR0~SutZJ|GTGTx#4;Rerl zqUr#=Lm!BEeY>{M1ARpa zO_tjZ4U6Gb%^n4*kr_Jw76(mKm8+LyyKp+!b#`)z^53 z-s7eBZBNOmq(iUua`Uh&ooAvBt(8f+9qvtN#(fhqLvpv$r@G8W9~)XCIt8AiaWS?Z zTAPrMjSi2_cQYZlAwIO2VL4Fn57vZR9?@Z55!20tAo_1?LQKK>mSlf$jFp<$JQ~_8 zN=wfb#=ga;we^ZyV*z&dd+0m2WQ{pJ_$+pfc%N&;Jf<_We7>B-UeCnbEvl1w6 z8RxB}(vKi6udW~SxaVh!zFv__+e1s*sfMzoJ-y!3NjZjL%;#SE8teYZt15rSh~D!8 zPPp;cE4~I!XqLuo?1heeT8Bh8!ENg9kxzoe5lEo}g`}7^^)h;s_EwMwqukZs(q_^|=w^Os{I@vqshrJF=$WaMU@1 zNe!6oRcx{vRsd~{JRJ|?R`qX05{CcjMCvDzGO)1XHOEUFgGlyaCuhuwi0s!jod^k6 z?f4vSQ)j8Z?a;eO=q&&}@%qZkJcF<;Wa4Wt87foJ;&-ui!aX@kkpJlk`C$n%L*732 zP}!@-mmBtBw5yKC+=>WbC+Cjj?}e?cChGpzm;*w_a~LTd5bl2w_Y;lhR2@BJJb(SQ z^nL}tUb6c3Iwk!t&K{0AHhh{Xaou`3ME21C`v38lSbjlUq1*0HSSI^B+d$YtkNGI9 zcuUx7BYH^je*KO=EtWi6i>?2gtz(~uI@wguF`tLkkGO8?M`RD`$E7Nz@rmmepU58K zb74+teB!#rC$fk591xVoC$3xkfd8QQ_3-0+6n|(!UubUUg@y88h{j7t9%D%0w;y`= z-z{}s3#%GS+w67Eacf6g-fo@2f2&~uF&edD8Aje9$E96vHg zzM|&BVn$lAFhvHmksZ<)Y95FmOlMVH_z&H?8oP$mjVWpqi_cr^U5%X`+I+|sdhGGZ zScj*FzW^0Jb*Zr@E+4N&P1)I_o$Hnt`_uwBBw8KQ@p z$X~y2=4Ul6<#)5q>UG_-dfm^<>UF<$R#kqEUJ0>ZzD()QqlIA`l_~ikkS(NYv7Zym zx}*6%$|wYd;}v^xIB7TzX6b}7-K(M#(GdAz2ZsmU?OAFp6{b+-2oq_ zIku+M=L7iEe1lYQm`i>Dc&SMi9>fTHCun_A70$#r&k0;hkS$;*hS~=!bCT74I?NYj zoopVJk5R^M*{9QZ#Dt#>;6Vao8~b#HJdT71$&EcCecYxoof*ucV_ysEaO67Fll)m* z$?W%-O{3~`)N!!FiTWY4kbX8j{w?eh!&{4mo%v-D67$}VAlB$+o^GSkuRWergD}%w zyQ7!C7h^JfZy@Cl7+Vz{fJ{#M3Nz%%!YwvZD*FV&Wu8ZzFT8X!{_mmt2QS*Vt**RR zf-r8~{x+pf#z*Yh6Oz}1M8kHtmU>Q~c*myLFKYtshJc(@PM$XvTPzsh#NHLN(8q0~ z8>#9I(hE)Sa)_$-tgP6rR}79b4z*`%+~)=-y{L0EZuoS~li>c6PfkKgouu9}IC%LP>Yn6dUWP4*_2?CBc!w!v{!Tsw~gbie9;0>CT2 z2#Mt0hD7d)-2sW%=Q%iP@9q=#8Uoytz;&B$PcYy;y}Mu8;Y-Sr6jm4JLl#~na9=(~ z3D}1gzV@NPF-pQdf-@4axDtt2w2*vQ=icHZ>BsXi7O8!N@s6LucrQe$eWnMBPf?zI zv)k#?+yH=AG+1HC z?4VlD;3SJ*EsyY~?PX<1FT@X5*w-%dau2;@+()9x-r!vWjKLzSH!N@yfaTsdKDS^M zMYL@zow+vrdBs(rEcc*TYHLz=Jcfh$FbPsSxVIc}&_(x3IXU8>ZX4{b#SsS?9&yk_ z0LKmJQw+A&_M{}clUsh7mZxug0!S%9Xy0dh71cUH$u9TTc{XSItoJFDdw zgpEvK4vXZ-1s;RoBF!-f$#a2k1@pCaHJOv)?l8HEHv@Ru@Igb3Q^hjEoJ9^K@=_e! zK<3^wAw$f$NXy(iSf8`1VUGGvvWaVvmW#B^Jr7x^ZNc2~%VZ8{$I%{e$3|q5nLp-n zwg-UmIPkJ!eE=;0BnjC**G{iGZ?J6O+1tpN?SS3DZsj5=i>YgJRxMT zfv3g9XJxP(cr0!NaQ+6KRuhnYM%kw#+vld6eJb3*QwPA=z;m04Kszi{xPiw-IvaQf znWA7_u{-N5jy28SS=Wd(>;|3|riU#evZbM&0Jeyrbht0B(GbL;+rI^j!RishH#CYOSf*1ReSao9gs|_z~}FVAx=!hvP>uSaBOU zq`C~d_x^1#XE53$Z=+?o72k{{P$R5KHA)Is&a=G{5l=l4u%+od+12`7MyyEchOaqUJ`A5*6?QeV&@U7j%>l1$&ZECYY zeuK=@3}<)=RXrQsO+DQp9B)Fz5u(<=eCh^+l{SAH%--@~nSU6hv^$%5`3&2#CK8+G z>E^uEY0hzDC`B&Q&$>AmB8>(u&2&+2u4;Z90EcV`|hYeC%7C&cC7_4N%UaR%KK?+m)TCJ*Yc1`JS*5N4P{O*^_!oi-( z&h4D#c7|d|fnDu+gKM_eBIqjxwi61B%2PYfi@$*aTgCWxF?(mAz^Yg_2KlDRUS`zh zu*VeZnV#;PsqFz=gU*?Vb2FO+iCk=M2|LC`o^1-Mj`7Yn1=UEv^fGQRp@UwAP);>! z=0zqK>Z```-y?hIquyGXP*E_JRLj(xU~H+q;zc%(9|hl$*iz%@M)*jtb;U@g3%PG0 z2V-zE=w0Y7*k=$NEL35@B4tv0OoUcOMNJ#QunnL*IdZJL%s9`U^pS zYZE3!f4V^m{hNe-?y8|!>4mqpCE`_;EoTaBCV({n2>&;t=dd#NQ0$AB!E&#ijg9g* zK>Pqy{@GbSNl^;-Ae>b4w2T*~qAGdiRjb2@(3;e4kL?(}U_L~b?ko$Wi8LV1%I^(p z-$XKdAi(phDD=G1pU@`xJkR>pp0@I`ea$;^hx4DDs@vSpdR;J<eW?nyhh+DPQ1Y}0-p+NUu7kG5QD>PvX=Y8WV^VkJr=Yw95r)W!2Vb` zvmyrDrvOoQt2Y(S$lTs3m2Sn)OL)sx@zVYF!eT+Zbnm@)N?nPU?usU?G{#H!gMY?S z&;7J}tpif(P`t!1IxwYHK1jR&d}vBti(|6ay@3jQB4?ho)kVzv&mA^v9@_tp4+%ea%r<8%$Yr1`|0luDhb z-J|ipyK$e2|3|f3kDIb(Sv?n7c7m6^5$+%GmM!CDW7t{u^1EfKY^Ilfeh(97o|ioY z(qaS1@Q*=S)?NFjApC;sQGpl+;lBXhhMBgH?@n*LuW=*HK9IBx(+|?NJPe1_4L-fo ztb|YVn3+C4`$phS&%HQEw-u#iX>N#;vNX3wiCLN>uMNWAe6Wwt77p><>9=nW!aR)< zwlt48ETDN3O54)h=&B(6J4g8V?D|Lg?({3xjl5rcl#kEu3QaL|{7E#9qrBq5>!wxX zDp(Xcu*BmYcvP&H#%j?Lj{=Z7&%Ot3BGyd8<7&oOw#4HGAit$Yjqkx$z$=!mpH{1% z1hp9Kd$8Ji#ZBOG?O)(A#P`tbo(qo>b~ULt;n5?zD@|PtyNAQ0M|K~EN0030H&_h2 zjqvD^-Rt1dBfDS1qeph9{9!Tdo(hi=cC|=ef=3Cvx;%z&*o|FwxV_>`c=X6_J3M-1 zH@(qf*e$}NM`gGK9zC-AAv}6yceRZd!|rT&l(4JI{26$Zu*)XfD=xFiV%Xgq9zC*q z8$5bsH@4|w*xei+CA!Q04mzpuC}CHZ#|Q8zNke-~Y_MstlPr(+IOs4>PGS%gTVStv z48rzE{mI1jcWOe zSdx6G@nqJ^&ZsJX8@Lk;j?v1_>Yto+B!(AVF;#YMKDqjA3_RM_jQG7ty+2A<9Et`{FwyY4~gliSQ2Lx>}qAFV=*~HBy z$f`T}Nw565s)*XxkmQoEvbFQ&ZzAbq4UTG6HhFkC%kX%Et?F17Y`eHZT{3>*vSD21Y88WoZ#Q7&Z5b}PgM@b4 z9=%FKc1XN{%(?C&)Q1pem9qp5ViLqgL5VHPlIzM z^sXD%Na$5JoRN@=vl4P~zJx+ZDF3!rz#rd)dA+@ZM6QGVYA43LPR%KRzy8&*Q>l_52nSji7Vpy>k`sAe|Jq#q# zeF{Xn3DuC~{`Vpk@j;|C#`gK$h_urYY4#IGr1b=hNc*-J<9CvXF^PJVd>)pr31O@N z&oMz9ope#YPP#}(CoeP6U7fty;H&^?;chcHxBf0PI9DfMFgRBypLD|+opf1fa+66fHi06YN7?0rvP7v0P7IO3UH(e;t0@1`2uv2jsRCN(Om(q zYj9S8G=NhL&K2Oc2ImTJH-mEpxV;UKwf zC;@#_`;9#rIQXd4|dns7^F8^3kzAm>Whj_eMR*+*B};Xm0nZjYAMJ`(qTY8yWb z#Ml70FUDp9rXu@dJPLf_4xuglCT3UKLz4LU_RtlhXxU=K_*3oSuPVk)M~vCe9WmAu zu=dcF>Zu~e>8#El(jFqruP8v;L;JYZ+2U+<{#6CoN*P#t=n7DMu~-4_PXT^Sdx$W< zq5x?R?en`4U?XK_J7o!x7n%+QYpa zd+0VRwg^ODf3d#emw^}?;P%DXOrX>r>i*%gff$dZJtT>rZx3BDax#F;N>5_^srK+! z6=SC(#_S?TjP(SpJ!~@_1Kqu8V|9*0fK3Qv1-QTjak@7y%J1H|NYlNc0Pi=^T>(C0 za8?g#51%(Uw>rOTaMm7DfL|J%tA`)B;fx--INQB(aentEgmk($t(1YahpqtCSB?Pd z&(u{-3-DnI5C^`iI)t$T+`t5J1n8oC0lG*>fPXa6T>nCiCM9wIr~SjP12Hzh?TfLQK&d^{-Rx5X zF`fxAwvoiow}-A6tv2=~#-C~re^oJdI%3Rze|JPM@Xq&Q@m%u%E%Xdf3YiXR5P{ zv(?$f`PDgubgFYJWnk^0D?s(FBfv(Jv=-n%3UCGFrVe4O0QWRO909s0Uw|&s5#RwP zx+}nA4bBRX_V9Rva|L*=!MOsQ@5VJ1`9e3G5ul5+0(5b{07FPefQ^)awTG0MZx0;- zX8(qd$>y`EZyQe)ZG1nd)R#b{U0S3v1x!Q4N9N|&sxIdguziRFzp8wwV+BR_=+1n4 zU=Yv>@26V9+0Z`w812)OecuK7Y=E2j%*bRP0o1hk3)MlYoc53_17=_r-9GHJR`TrY z%}bE}+1Jh*^A-g5iW^SzTaLd%I&EZPPIl>}!w;?O?DZs_pK9C|C!J15I@#|X>C_YW z<)w3}NN0W^o!cRuCZzR0k&ZjEm2V#ATLzerM-&v_G8QMDRx)Odj4K`W!~ak^=`DTT zc@Wa6Lt6h6>A1tzrIAh}8M79I0q>^fM3VBM!W?w10$Z>J7M z4fcwi(~UI0NcKA(vw0}SEJH$aPXzX4jD`wh_IB%JvMXmRd0K#P;X zFuwt2XJ7?|{#G0uc`{AduiwtHKYE+P1Cu1>rDDvHeR%kl{kmy!zj@BMSwNmq`1Oh} z*xVc)EM(-$GOsvshRNsAUMQm?OXnPoF%tS58~U_>4!0oSPQk#ZCps$9Qe(D@WRKj_ zd~5!~%g(b)l;FPFE=z*D#x5;_`{n(E@SEGELcsU3OM>7&)-Lyfdv&|42kxWockM5N zb4G?s0Y7;JIwkx%-Nou;zD^@6@`%=yXr|zPf@aDmO!IZx((6exC7k&>ZNvGR*|*E| zJx+!f&S3(xqq)}MGlSN}6C?lM7!-$2%m=@o=g!uRvIH|<&#Mhirp66_liYBo=1ev? z;l=RR;NnG^_Tie?G9|*aC~h__Rf^xd zQul2(#h``$1M(qEpJz+aVfsCTbD93a#o2Wh=XBSUaRw&^XEbFOH=NOwz1?s|Qw}w_ zK$F`HMhm|jYePnJ5zVazEgg8Bj|UB^+{wp)b2Wc%K9+ZJCLc2l&eix`49?BRJU5)l z$9ZlzlaKiZ7v#gLhBhC4kq3hY?Y!A(8#%RvGVxkx{ zW3-d@kr9d0jA=T12BG~$)tb%|fltUpl+qz%xGxuH>B*u|haZk)yyBUGk7&E)hjIli zKVLNx`s*Nc2|qKo_EV4ov~)`OSx)HOYePHDGkYvvao9G7&S{>sBR@{(gdnufkEZi} z;Pa#M(QZM=3-59Gpqa%uV4B31zk@Vncd&s z&z9pN4`;9{(RTMnC%E*@K4S59$5x^9P6!m0DmtfbxLTn(2W;`!NeV3W()pF z0X0>RKaAT(K{t9&%&WQ~j(b(ZU%&Z zqB^2pGSN9-VaSSPbo#8RU{u8oh@W=m@g&jFD2kL5h^Elq}MZkBcEq zxGLbh;!e@DT6aB=`5~IQ0M^pcCa8x8@0i@Wt5-2`x9x9Ho@J#`k?%=!8jLW;ggM0F@4 z+RMGSHW8U4KVk?OT+3ajBkIe&8wuFUy$|S#N(dQHY0(k06}+;bod7QN7RI^=;4*K? z(cGR$hL8ctn!_ZbzVQ3sCL*;XCKrCg5%2pr+5v|oMITR>AY;+;(TQhKech0;$J1Cq z9$yY&SJ_)jS*la-ST^2_&G{}ec2X)S2LV_lPwVs#0$9^Tr`3$vQwm(9IS4={Jlsfe z?VogF>|#fem{^J{IE4?Abk zP2=pG%0r#PX}m5|noLbRt%`V~bK<=lOb#>|9-HLH*C=*!dN+nbaR*E9rVxr7So$^_ zRGlQuV@BmP@DmN18)p3jZ7q_*tmSFoecMd1H6%9A;**p5?=tA+89SFq%64drl-PCX z+OrlsX+lz+YFF~cfo7LM(T;eeT2%6hKfZBm8U(I%Ifg*iWh^z^Q3ZEB7UqxWjK7JhxbI~U*x4~SM2A% z0B>}7!mGM<*OdAQZ!`V9=%bjSRXPzhx@_`ADTECJSTc#`PHgQpO2E&C8_|_$ZF+xo+ zMi>zcB9@ae!cmN)WaJ>utja%%=(ySDB=`h3rYr#RP6^A?|L*|QVW3FiUO;bXNaY#O z++w2dpTp%L-B3drB}*O8XK@4^n7t5)Rp!VkWSn96Cwg@_S#8P+N*zsXO|BWTxe;%4 z0@~U9%kV%dJi1`Mjx__A1#~8JU0)>C;4d*^!D-u-9k>yQ56un+!5E5MhBw;ROVpo% zZm{v?$TM1vj&$zfZ<6YJywL$jN6uQTx(e5Vkg4b^D8q|zYW&-naf!|bu;Pox=bnU@ z+wyOE=UDXigg2sP2c2w6l3hKLR;S~QJ~E)ycswN@cLKRP*o{7(-2O|L)R{1;Pb8B! zkAv-}`|7?GSHYd#A6F3EEZ-moG#i#D3xNVM^8g7vRlXMp{Ka^##QfmE^{P>jgYb@n zWBPU)UtLRfeGA7eZUpQ8ra_Npq*Eb;2uEwfn)lFI*i;hgjh1Xnw)VF~RfJ7iZUKIh zX(;f%F<6_){oTu)IE;kQ2)H zHolx`k3Nz}W;p!lV0*bR(MN_K>S(l=cKA_8zz#ne31Ik<;c&MVfIoV8%1~v4RVf`I z=~;F#f*p2z?S`@A;}BB!EH{L9t79ah9(L3bu)~hNO}a28B}*lQ45&2fhBPD&Y0+_Vf*Q9k<^%V*zVvEhY!(V=_IWu6N56Z0mvQ)w%L{W2EYp@^$id- zb_9+MV^`)4gXG*^Z0kgoAipz6>RoJ`L{&Tq5m*0Nr$|#5+b*$;TvQ%HHYNJV6q<`P z>pc>^Fk1P?Oih6`nhc;v#tu!5AnB?raZ4Ct}5|n*{ zXV1Av(~lJ4%{GB0KhMKNPz=`_fj{x*%rS|Vhwcp7JWwn1F z=@RqiIzXNk`XH8xy$j(z+5z$q13<36I;sfr&_y9j;c=^PHF;F^ts{?DeU+ym)`yTx zDn$H9Niz3zK1Lx*svXEjT!@727}YOhQJO~S<%E)=hu6iDNt#a4fi$hcm;)S49>}eW zRWhay%%2O+VnC zpqkGvMN3Et_OR{1Ntoe~on+#G&kwb>;fP(##5pj`R^rAYnjNAqpx04aNxQ_RPoFDK z)^H!0^*&&LqCpF#qZk-;dBFkeUoj<>FZL-l1=LOSNI zf_lMpW(v-BJWXs*Tx9j12K*OgoYXsQ(AXkxs(!ogmFOSAGxTyh)e-M&DWH7I*x7V} zCJMFiGC3P#qjt2~(5n+v0c)yiFTi{)9tPT+u*OH8CQ zby)OMKkQGOkZQokyr?9}gsNj+6pWi-9P>h3U}_Ob9rH4m-hCVCxcA`ONXM{^*hohm zM0L!I%A4jT3Y;Az3dVTO4iW>#$Gp(j8|tBvJ00^vA9JW@H-c^1uVR#0&i7S}zBPJ7 zeV(oLRSY@}^m&GQ=)6EW=7ql2P!GelEQd(Wso~N&BpW1o%!|r;`{0o9w?}(HbuNa3 z?P#M&y#g;*ZWW+E$dKqWIF&~|XX1q{O;o?aitJYwhlUzAPZH3bYgW;DPL}4Hqjc!I zdPd-d;v2Sx?26yk^a6}dfi!FlsnV9QH7*anM3PqScasw0A~=*cwWt%CRL8IweLyNv zvx|BfSK1QHohZjUKV0-+@3sd5{qYI5q4@smpD6yezZb}}%Tk1%1?$Qt%f{+~+awd{ zSBX%du^QfGQzXc^yObmd(YLt(RXR=lA3+Z;HbCkB?r@;^DBSDggkFG9Rw5ea^ml+X za7cb$D#uAW(3J!oD91^Bt=8Cl3FtsK0Uf9%a9F+sbfBAn4%8AjDPICQ&`m%GY6)DP zF999sCZGdl0>YEKYnbcbg5yJ`NV!`AwN=l#cnO%Ub^tc(f~DXCHG4$BjWk^}Nk;Jv z$?FTC-*nMzbii~`PjJhauFOa0#^u;?sy0rb2HeWc0yFNE42d0t{*!uWG(`*%nOPWg zR@}utZ;&B7TsC`ooc0NGb?u;pzCBv86s00#eSCuh!IU-FB&NeYJtc z|At~xg=o~{ow!-6aY(6~J`~$R>ZTvzpbU~e6yp)TbK<7b^bM)o)*Gy9E!ESY%*x#i z)%llHs_4h>Dq@AW6R)H~fg4mK51`j_ux7&k!>A!}X)GtOJq;T&Y(tWVB}9CHoX)ul zR=YB~i8h2jC#ypwHJ!7R-nWw`o2PiV$)>}J)I-~nsL7_YiqtchV4L3{>4!c=C`mL( z`3`;B*d}{x9r}bOn@%56kDAV*!-&+gg{E_K4)Khhk3*X}owM~gq}dQTJv`z22CR`m|Q= zB=GTB$;;Ty4|p2su2cGIT(#g zrI38;DE@DDTFMuGHG_y#=1Z}p%FC+z+g4@vjeSE%n5Y%Lk;L?dl=(7e2tYd8fMpR6E@jknK3{bdQ$o?Il3cP6?#mt3XSIitTy< zK9hW<(!*fwp$(kRSNVXv+cNgUI1fyAsOyEHl!(%$cIxTm7x%I|1#E?v zz};KSTY1?Xf-@KW0e5V{fk7TWX+jR4X@H+A;SdykgE}hCqoyBYuTop!18RL6S~|e> z9Z12NEmQemgqO-nga*W(=F)qfWDbuA=C*iv=ZAo@#WU3AfAKe&e}Va<_Nc5`vcfXE z{tMRR zueGKYuIkYpwCj}W(UxuXxT>dr;m*KqqIxb14+Vi%?k%ve{T!($ACWi=6_$+UQoQ<&xLODF3(UucLyaUu(uuEqNJBt?j_Jo?mXt zikGp}N-JK7zRefBj=$L1VBB3ZBk!hn7RTp(*XKd)6CG~LJ-*VIOTH=AT87>{yHpA7D$J-3&8z7#F z%332U%r$3nY4BS>ha4`=*@yX-1|Ry?v&Hc%`Nyu*awWXO?L;xTE`Z)K1cuE9&7sZD5bjXarMy!*28g z(7#aL2e80GIZusjk^O{i6q!;APC)sec6jh|Ba;H+zLnc?enNDqWdj+d5Af8}6E7?U zoBKhYf797%$nZrtB;IC?GetEX`C7Tp0p*?{>~=Ry2+W1iAQE`_@O1}O-^ux&17o{} zot$*M;3`B?Q~zt}9kW4nlu`6@X$N`drE`>Ep#x((>l_gGj*jQ-(EPxG@r;hML-Si5 z_IVdfSPulrRSuM_7ftEY^;GQ~*dT&AQ~CHPFrUqi51Jf71c6DIXWu>oDuE*MK&Vdn&3Y-RFPaV%WHCl(MQ=@g5dup@+ zlqVB_Lpy;(2Rq49N1ImR{{apeFo#15rg2CIxg64g8i%Gi+0Z@}b-COT4oq=~R^b;q zFr7nZI53?xKG4r!mS-U-639F2mEQP0@`vs!M^QO}N) zDor@hs3)CpCLFfkQBNDt%a82;_FIq;$HIXz(N@~RM}z&}5$(-=@zf`7c*j?u|BL8G zJGKore7PLB0;JX?b~+*<&V+*uq{c$A zYazvMBcCwV-uK6d|SP^q44cJ$xwy)&X8A)%+}oMl{x70xVQ=q3gXSd$;G`3phIs- zJ&K+Fs>e!F9nvS!Mln~~-tdtaMZh5}dIQ!W)T3;#F^V8N+wAVm+-{5b+l}@83kqcA z7Nh)6IXp8%NzrgPFp{F~@0Qte?8?Cv zNYcuEfb#b^O3K0ejcy)JZsK|!z;R6zG7Sk|PUkLlpSb9{)G;-o}&Y$=aF(4U&*R``98s z@Zv&S7+e1)tGsln*#kg#lM3GX*$uz$CKU%J*nX%@Dhfz#n72tqL5)o+3TUj!x+dgV z1Y5Zqz_YL6NNVe>Rpz^W^=)LnJ;n&N68Te)As zyHQ6={!QuY$s9`(X`OC3gh&gyZl1VC>0UwFBQQyP%4dmSzubZkHEU>W4OL!Esg@n zd8i{tHpVX>y94(Ei67l@cZDrPgYwbxcJtT{s`CJW1Z+S)HZeZz_~5IYv)0CIt2(l@ z4}x+&Q3j`DwEd?i-6et2%8qH|_c%=hj;zVoT8Bh+OpP{(I;Po+%r=N%n=mPW=tdi~ z?I#6JM(Lk-IPiR=c9QJMWcSLk4(h5XUb2)41eY=~>v9*~B zwJnqu4Ae6iFKWR+!L;dc9pp}j>p*QfT!E?krl!LcOihPx?20li7^sKd)PjM6QE#xo znGV-sYC2qpxzphWP)&zN%KRL177P?Nb8YkIa%f3KJ=AzM#3B8&J!*Cun#ut@Ud?b1Y5at5!w0JH+u3Xo*?qMcj!Go-{D&u2KE^7K*OjHR{zsDnd2T9^9WHYv2VGpmL(Dfdnl9 zJI_t{=NdSCXWXX&1gZf`GXzLTG=HH~L=Hd=sD~0jO(b{H5DC`&Gf>1eQjerITqA1< zL)A!nl2#+N@VGTH7aq4pR*=W5ku?(W|BD(~#yW8}YUA%zBVFt_NmM7JMg~?y^%}Vm z;5KhqZEdQNY9MT(8mU84ZQitsQ~N_5R+Hyzt7ZIEsKYvVTy?0Nf{<@;kr1gv9XuZM z$>TA9twe19|ARUl&dgsA#_uc=#QcxJ{Pa}G{D46s=959H1;Pdm(p*At4AKg`dj@F@ zd@i%Ar)kWtgU4m|QVLPbUIUNI?DTYl*<;}a;{O-S-h-Jv6O6u#m|bUo2WHo!00U;5 z)_*xk`h3UwuL6Rf*=&21^CCQ$ug!vd*8dDxf4Vne1!0^M8knMc6V|}v z-kTt1z{B?@a5GU2FA!xjQ3sD#RTQ!mNswNwp;&Y;Hrev@OjT7dfG83_lbH!`fdL&Y zWRu0oEu`+Nkkp2mlAfh8r4}BSDRar=F=d5BluTIzkINJ> zTVqNsJT6n}$-~A%W6C>dhppTmV8|uJl;i9)n6es}1I{!hV;OkZriCLJ>ww^w3~<-$ z7gWyiBx5YzJvFR{uT9I4w0UdEQ;oVMo0p!e6{8lOHvK|vxo+#>af`8Y^Pki=o#o%~x)>%~r*fWFtU7qyVyz&L zQ>?@<^>HzDG1{b&7M~YO!&iO=;@8T3h~1fyjoyt(6~j+&{93slBjnMs1MW7GKm~{a z_cUQ_jiR&&HsIkrNnD;q_mxS&4{b)Wa$l(=9ygL0KuJ8&KoUMK z(D5}Je_V~5zvRNWom?*HC*Eud7w%9=JQPWN@AV%yg$qqaI#fJvB(Xs*r0>KDLUfYw zfK^udMeNLW-bLa-NX&AQnv1Q(YWxdaWDE&Pw8Z~-dcT-1$;e>Vuf9(9=bz`gpj#98 zx`efmL3Le1HLgyO*CiB>b*@_&#@KX4LZTn8OW->fuD24)@XpsK;De*gOkDeLAzl42 zJZxo_ZfAd?1=%z&U&f&HqN+^9N$%2xghX;kr70bL1$b7#BQF3e8-{x=aBYZtd!n7CD+~Fa5|P;zfn2S*Ff=0cIJB<4p zlWbVvGL~ma3tK*mEjCuB^l!G<2d>vEAuF>hE=Y7eFW{y`*K_^{nrF#}ny2a`%@g}r z^IV~Oj`&0i+4WP+^AF7<&*jeisZCszR>eiHk0VxQAYQH|&o}TqhnFF^k%m2I?-Up7 z;n>rB=eRf>jy+e6K?1uto;AD0#jxF_2i%}eSLkQ_l(k3e1Re_f-TD(<9wW;3m}e8{ z%oS0w{sg|mI)eEWI%G(6oqIQQVvU1~9QG+`ohSjv$tfJPm*~Uc$Z$q!bimL+6SqPd z2G?$6k*<}?elLZpdLS*S^Fw_gD>oehWNoS!dcro5YoOy`DQwk$3(A#3M#MvFBXw~nRlu1k)NiGsz{^mIK5Wlzzo zEk&l&igB_llw_ui{yZ)^^^S@TvwX62HUg-T>2O+N3a(5(cbACh@Fy#ACEnkq_di>i zkJWo6RvJe^)<@=S(P23*CqvTw(8$ip&F(K{3_*r1Z--F8`Wt#qz=lnlu@i8V6W%p#O!_9Rj7>7cJ^kxH${I7{eV^K)y|%LtSvie>Fgu* zF|kJh5Gt~-e^VfF2WB4tF8APSS?#Bj+KZ|afVT!$Gm5eyb==FiT_q{9cd1u9OE>Ou zp6Tqp3R)rBK8kl?m3_D+2|HR6_MsxI?Ndk{nY03ZDE&3a@-!+OShF8GnTZE+qeJC6 zaWP`3m6&>dTs#ej_w>-qBo{}t_iU7upEs~9L;M|4ZYVBE%7}7PaW^bIMt_H-2hq2& z@VNaQSycLZBUs4)-@n!fgVp@VZK8vZcj|M8zXv5iG^ zLw>h@ht4(ibY_T^Tc?UzZy6^xQs{_!%dA`i1}c|;vU0tP7G>Id);nTzZl1Ky-Ndw! zOX$hfaS^JUjD~R*etIs%&-G`AMAZHx-U`0J&tJ$JkJIX)klPW?;<9f_cl z+7;46+W@WHcZ!5+tMF5hu!czJ#U$JgY>$K*>(B7_ArhDyLy_(ZC*4*v9Af5DmLn0; z{BxPf5eQ*^97`cnh?w-3GU#~(m8KvJED$H*GSj6FWl~m}CPSj|sUk=TI%&}*Ow!o? zagC&Nt)?>_l1``O&qM0W0{qOP5aQ1tDCCb?$b$%BlCGkVoAfFwo)xH~KBqep`><8` zJ;@3Yvzm!1#I1iGf1b6*AvW{pR!aCeEz9K;Lc}~oAunqoA0mW_d4@v1*NN#hJ3!1) ziWoaoSWp6aA!6b*Zx~wESLaMNGz+o4%4!nwIP(aF5HYV(mMyiA%p8Z9_bH@0q|rGM zK|bNVT@kZmsIVBstRZ5CGcnf!+vCh0q1)kSV!oz?_tdgX%yo$Ql|uH?LJmd-dn2!;D!gaTe={yVgo`c=Ss{AK?Dtk&JdUDA7lpJ7a3kEjeGeAYo{_-C)}iS2$W%Qa z;w3sGR22P1+yBqNMIpQJrgDf8C@ZOoHi_P^MI&Qb(ji(BJ6}7wgMi4JmIAyQklBwx z*5^_7hv&(D-iESI_x*3OM;G?l=WX#TT#xov;-8)4>OIsJ6LX2%YU1M3pW~t?Y=xJ? zaMN=N{;b?TD-xm-C^a4J4^S_wZjFeVuC_fGbGd8jJ<(h)l-?$nphS|-U~-a(Aeov( zv&e;D<`WK#xKb0VjOHp$7~ib>TpJ(ohE!`I>;vw>oHBB#si@#R{B!Z19e~fV=xgU{ z$R9mi2kL%Y1IT;&qvzoQ*S-!e85>F!4G-^g&F>pU{t#F#kP z#I7@RbVmk zyD!l1`cl3x{Mr_`!V!Gb{&7(chj$S=bB1%*duGjDadE)i0ORiX%p$xL+~askpVUHL z$9=L2jp+NLdx0}-{}ylMUnWG8L#)Kle+!E-^!})onVgP`JBGwXllzhIt25$a>T3un z!TM3vOfBU3xtd2Dsd;)Iqj{#C;(3t$k=I6iVzDQ4X31xAuAqH&@_B_-$>)nQCkj#U z)}C=O`ZAES7M@S)@aZ-jdoG{k#3ynl9j?W>5F+Ll;Yo;?>k+4Fo}bXUQRTtsH{-yn zYGT!Q1y<%N#kY6CDY8wO&r}(240&^$2Xp=1*H0R%)G#YB@CB@m@oD3K82E1c1VrW@ z7-weLFvwXbN_nRD(qG%&~15to8)!Z*i(kLf7>wx454e0!xlN3`RU#PgN?!XgxU z$`*+Xes+cHGz$lgN{$Lq3>+(W8Ms9_oeoV-(Y`MwaqKj$g#n}0flkx9Nv4Oc?10B*%C)7J>9}fk~&GnucxCQSD}>7L$J=>LU!y;A24<)4O@jh1sB3s z?j0fe3LgeD#^Sx%lU56@3sMO@SmrO|;*r}!qSG;vH5$!L5!mVXcJeU|1{)!YKPW=M zpMM5M^F2g5$qLbbBKNGryd@g*up);H9z+H+Fb~n`IQ!FPAyH369dAc&)Dp)2Akk@w z9n%@frEYE|qxWct%(WI)dGe`Jk3S3?okF4KqtL4;{UvtczmeBkx6s0E>m*S`$!|tN zdLNI3TD<%Cz6Z0V*E-q8cRGhhNOLL9xxG`gm2?H(sT02iJ_j(4?t^e64_mlKMlP!^ zRh0YziuNY>lUWT_XmU_Ubnb-qH3q}h9gaN%@iLw~*CJ#9EZxCy98!;$>&b(V&|0L@ z?~_a%i^ACt@E$!egw>twQy;{|E-mS`igxHcjQNSo@xUrQ!4iY#af|;su*+u4n1oJv z8ajx30X@4P;FyG-_r}FOaGj^2@eiRBDK)xemD34o#=QRADPfo0LcBt!hj!WBx!F_) zx+`=#uq&N<=nc;$^G1CotFgSW#po;!v*aM5=v^9Wec@Cn3 z*+}}6VZD!a!{oAK75&Mut57~C-ec!+Jo=MiA7Jy56DD_#RnZ@ZiBNMGk^U=k(x}Kz zc*mdPVg(kO`*cobvGMM9C$JYPwol(8(SMx-IEqDVZ(yGT*Jm(eci2xR)t|6yZP9?ZHEN}wR#E3q7WBWv?R{{eQ^l(My2P{1QfUB_kzH3`$r^x#I z`k<)zQ!A>YjNKV#4)aER&!vtGb>m3#_>oz?gsf`FpdPJpZHTzCWG>z@60V%le zGAkpDvm(0@bQB~e6Q9qeGSgeRGj@h9NlY2uhzMOzX-R9_3;DujcKS_L?klfK4XjY#Ti+;#N6U4M-`m?(FS@5C!V4BN8bno>usp>Iv~uW?CZ zxBa)K#@D#Ckysty$?U-o!?rAk(3fnGL)+umxUOv-Plh=6jHYGt{0c={7O<_XWpwy$ z^{08XEK2OSpfvfx`AFV*s2@yPMu*?lBa+gxRrKy0eyea}gzFrBt6*f33!KAm6^!wm z!*3OgtHL?_)_}Q(-zq4}flqsW1KFS<+Qw)Pn)U5Ld+6|6^=u{WK}VrM4(ZyneQ-$Y znb3II%5|xAT7R@r%QfvGiAMv}CRXnUvi8vFpKJ4J&xYD4I{mZyGf#W!=zY6uqx921 zYp8OeWxw%7&lolfx`RN!#+Vy+oNcMMQ8e^vsEyisXIn<}(?6A#{l*tP7jJ+=x|VGp z9MZHb%35~1re)9i6^gX%W9LE&EYZC^Dtomc8x=vX;>e z$hAPhn$SD*LI|3G(}v%TBhHCtlBdD24se9zLx1%K61CV zf%|>+wroRMw)L)jG;TmvZP{;pDJEA>102%Zvh9OInwH7?WOv!o>oIm1PWm7pSIc64 zAZr<4J)2LL}t7pIPw5*Qax04>D*Osl-Mjb=I4C*oJTE?*7UduMME!&D(_P?uV zH@+>afFj|XUQNr!X$s|z%li6(tYtqy6qiCt0&Urbw5%Mv5!Ps0CcfN$w9ISE!UuR` z`&viKT4AbGJq+7?Eo-73dB$^xu+(WSYnnYT*n}SAB5j8$Yv^xuHyqZhTWDmewycZB zA%<-|4sC2(w)HrqwPg|3vczz&Evxq{6phQq`+=-woxtc?D9I*iSzBmXJ!zKHV_dZz zX_?oS_0?pE&i$aaOxH4o{q{1nscqTTlc7kh#-XjGW%S(`%@65zNO5Sp)-u_a9j0m7 z&3=UN7z);*_a%O+_YQd-tuBYg|CWgE+(jn%TP$04mPqXjW5_pGL6ulp5>wCsLA zkhBb&8~!ydF1ljh32$!LMQ%W$%?%IB%?;xK;mr+uVJl_XRXZUsE30jOIKO+;3(wqv zO)8(jabn3iyeox}-#}s^k;ww$CYCt`yH*~AW8}Bx78XMOULt=4h=)7^+gKLCG4jQ7 zPYWTJwx)e6nX3TtkncSTHy6V(a$0V3A>^JCxfviH@)6kRaw8lgKPz{=5b~}-#^$KM z0pcNl`un(OgWWHTJX~&rA>^qNc{e~jUN6Jf-_CpEi z>wqC^wVlz_AF*=JWpN6BSxgN1Fq9%{SKSg3Lp}?*k^MU}vgFbIi>oi{O z$h;iTBq0vYf|uWiQbg@q;^hyabc(31TnW$CrdEVVRx@`)XlZZokk=rmu81DYL|?fx z*xEs3>i}Ylg{v02?Tt6*VG(`JO2u0HfXQRQ*3_2}yRlS2phVw5(bYronq3|$4@%B! z)(#B_vB<-E&?8Cp3W1kfIXR6EO)CLN6KiX8u02HP7pnBOF{)x)jXF;QP!Wl?5qEww}t;rXXEN z$*(3)gUNclT>#T){$&+8z_cc zRM4c5FxL?m;Nj!oEAheVkShy@^I5QC;c*X5ttSs3nrfuarN6qM!YKVHO8=UIv;m|K zqJ~^vKpzi?&~6=Yn$CXcox3}WsDZO`KR9RL)$V5*tfSD{{jtU0hd-{Ftd!bmdGM#} z_zOAxZxsGw%OGwiO8*4lQ+fFL1ix19G3O+++KjQ&vIhcdGn@Cl3B}*`-@0_$9ReR_)^^ye4>J*c8-JMTiq17$)VZptV}r+6)sD4V8(*QeLlk#MI^OxA29bB9 z2ad0z_(o~B{_$0AX{BO4rAj*?_#s>E1e8|)bc&*EVAHW*3EQ0Q2+e{#X)oBsv_;vx zT1>up9~+XfvT`>=aW7qJi`qr7ZK3^-#-{J5-@;IbY=|qv-!SSDhn$`5fX?o0w=xP! zdK@SyS8FvkgNwj7VibQn(pg#Fe>R%(;z%-x!j9)iaceB~yS&kqSJv+@ji$U(e-B#P zSmgOe*5CUZO?jm}H$Atp)UTB1g^i}XPji3c?~SIsQh)oO*I49P>hH2fQ(mdR-!z)? zO8wpI{Kg{BvVL!EH06Dmr^eFD8cY33`#h)7lvmp4=NnCVrT%umps~oa)Za53O?jpM ze%fftEA@Am3mc0(OZ~mR(Ue!#uls(q3KBXv!KaXX zrT#wLXv!<~x78($MV_Vp9@l8fEA{uSMpIr{ze6rZvX<{`1Vt91@jauy zP4V)w+Uymw!p9^6A9jpMY}SVzh;Dr9fRABC*B_ciuin-B3aJlZbTx0}5}f+39=@9Q z$I{qh-^Wy41-`>EE^wf;GP?da%7D=Uo?UDDn3iCp&MSl!{w@j*5fB8 zYCb}Mh5O)YS|gwxUWVNYNbPz=6*YYT+Yhke($Dnl4wxnmgs7Eeh8cP!ybcAF(E?Z& zPUJij?J^II>f|7(6QkX0qCMuJ(KRFY!(0t|06!6FXFfEszxJ?e@j>)Tm3I+tJ<$r# z6kdl!vW}~f9_QW9M631C$XvdpQai{*o9dyxf%8XRRcI%gXlHw9BxYClax%TaM7z^N z`wVx7lpf%)??n^sO%IK(beUWq6NB!6EsjYe{wrhuaI&MBq$OI7wOnGbqZ7OiJ4jUe zLuQyAJ26_tDNZ7LdT9UL1J$4?n_;GQq=z=JmnCK>wDU}~%RIEP)s{F%q1|huJ?5dE z544pEZLNv+sfX4PXfG(V7_PL@D!v3>r=;~j`$VDjFwq8iXp8$=qVzzg4)!t8>O3^M zI;W%-O!;(Y$Yz+?ccO`Xwuk)(yjCO8n(u$HL@$;4?I!+19{wl{d+G>(4Pc{H#NAcI z&&-J5dlBjO-zN#b_*Y9jrSMw-sxhS_ybe?LLq_i@v=JuS9v<3cG|9~ma+q?MiFSmC zwisv&6xz8a+NB=a4QN!YgPqjwG130)p*_~#5?vJ9J0{vE9@+swJ5ZrTPc=%Kf!8T% z7MY%|(7Kyw13k3$?JV(%LfhL!JJdrPiPWNpI7K+dL_66-d;fMJatiHA6YXXX?J{I~ zr9ykkM0?po>wyl%OA2kBiT1OHRtY8iM4^?RW-z1*UWXxF@mg>wMCJ2k=m_AY>{hSG zv=;)+9#ai9hF1fl>=zGhQ4p;Psl7pHA9iv3Un_!WZE=g!)4-^?4Pj&O(l&=5Vbwee z|1`YH*8Y07lI)p=YKt{nbQEoZ%Mvw1SX$MWJ;7Tw`D_5A6$}rRp38?rx&(=b`NZv@Qy5fr)m! zhjujV%5a5tiHUZNhc+E($0)Q%O|<7cv`X;p4u$ryiT16BwjQq!0mxgDs`el*d- zxUb%+!Ffn+mO`rpTq}N85A8~zy{*tjnP_`?XiviApFGi_ZMKQF$U|F+Ht^_44%!7K z+6oWtEuei4w6e1&<9v@058UOAeOVf~^M!zz7x0Fu_lp7VBDx&D_0~huVgPk&Wyp_u z$gz5yDjn?(9qkw$tyD)FrlVm1=}}i8kLuqZ=x(1KOa$Bhe+6( ziSu#*URX;<$U%C|2}u3Jnz$(Y0zV;(C5W|IN)W$Vg3)FUjf+7m&y0&$deAYu$3-Nq z>3e|~bU7yTBDNSei%t_6f;lRi=P6r=dd!<%ABl*U@volre9W=7yfPs|m*Nih5M4B0 zaQIXqx?d8;L5<<_cLiejkNCC1m*Y1S?g`w2$XT~0#7l4q+}a#@b7ewgSHV+dVb)AO zd*IK?J^E=vkPEGkO$T7j_^3!Mvh6r#mDCf)OQLt$J`}3=liN&TIuKY^?kyCD9Ex-o zYO0!wbfIl`*MtePdMr%uYr;gQhLJE$(<-`vU=XGw{4fa98b1ue^p+n6VfsXaDPj6v zgK-`ZCLPZcrW=(52VuI5(r}*M_)lD77MFzt!W3Wugh^)slLBGV zVXR{iCY>!zo*_(<^XotkIfwIg#QEhWDfu{$AWfV9fGsE9pg+A5+W)}kz6He)TzjFux# zc&$vcNj5FkIvr2ZYM%3uM#QROb}y|A1dAV$7IrgDi-}c)s5eE#=-6&C`;VHHAqx=O zyHydvR#5@=X%!@F-xe{d$+Z+-*I}b8lq03lcE%3;&ylDUBn9@Z8g*RUY324qe%S0X z1IFx|Q)cg|ae!IBAZG8O!8pAml15x+^HEhsTuu)#ol_*@v4t({tNpY9cH1-rIuCRC z9NS2bYvcT+!C9tnSyv+uj(dTbM?P2#dBrYmVW=RdcWH5;qYPMnM{JQ$vjXq4y;r_)O!|OPMFNEG#O*Oy;}ugFrC#}#!Mh!0Rmx8sUez6 zg@-xa*!GAct#Hige~LtevpG#@rb$X^xm~Wom_0D3I*dyQb9#ct9j*eH({nT!rw4PY z$E6`!45m|$t6(}8IX#%pUo_5gdVoEw(Z?{DQ$0P73v;S-mSHfbdLA4X<}{E;J{ZiY z-h*J8VNU&BZ8E0;9>AOq(Q2N06=Y8RmBi+>oxgA}rvV1Sbm|3WVgS<%$KnNZsuxbd zbUdzLm`Iesw3nYgn9~3Z=2WjF&KKr1kO$1Ej>q}lXB&*>ii0`T%gcB$ zrvX)jIn~R{crd4dii0@~#DzHx#DzHx#DzHxR65LQK#^cNbv#xYAB^dPIo0tP26GzV z70jtl3#UisRD^y;2cB5W&&~M7A4sn{kxY zDBqyrPyoq=)<^5EpoU9`R+!naax(xV2jcbyzYcQ(%YcwvVB5!oH^(`!4i4;0z%4{vS$H4(UcY%hbB)9T9SOyvK&diN6Gr7>Db1=Kr$wjnmTd?|ct+t+9*kOU?_MGC7Ns+MsIM<6yi zCj}MA`K`0<+mS-`HIfB!N@1Nw!(>k3c*G`$6#QMuuDg2bD z6h9$_u?|sJa|-7pHaRB+6-bOv{whncRxib`8V#~8E<~~ijckVc?JO7oQkK%{YZ_~e{4R3N9((kV;$dQG?hL@P|!TSUINJ0UvXlMtz}73y;@W`+jgryeeaJ>HZd zKYb9{%6*DF$c5IYFT=ePOELYJde90^5T)7%=hai~(t*Kqs)IQwrk(`B^uaR~BGoYu z9$>dlmDJHM)lsTbg)so8mf8;^)1T_n!oVYYoa)*lFfoQYBHwLgSVs)zG9sb%~Y)P#Ddx0E_56Sodi5IM7$ zsg*~~`5%xoCu%Z6YLWpj#|4QG97o@`FtylhS@ zF&N1VKR07AoF!-Z;CP+Z?c_>W-lAA%IFT67;0^&}_K7iXX%ei~yP6xha22jL<(Osr z(Ut}tQ}|dDL!3D7V|IL&Mj_)pk+pSuNwD}V%y3;j6>rYNh)zE;I1RCZzfYXL3>lf-^a(0p=_a3(4R-ad*fQcZc9CP-F@Klzoito*ZI#s1kZ!YtOu`b_q4D_rbfuSt!t+865`K~@I> z>ZPXIPwfhzzFfiDxtrC*FczHAzE@R`vC+E}Iq8ziYIBvfvol)^z_+C~rP4n(!DZIDUB``hPP(x)9#jQYB6i*i{uA2c? zvV_uC4>eM$f%)?xoX}yfg+!$Jg9&i}T%oqSd;vnO+V65<-TqOe8v#m^5swV1@-336Cw>)cU@dPsZ`rswq;1fs5}b#UNW zR2dw27FC%YaUy|W{()yvTN958K`{Tov#4FU!6~XEKa9k;sDnB1WLQUY;K{UfHAR|W zd3Qt<0Z|`#65EPqgpCmeb-{`j^b3q{iWUT0O*y{NTN5tw!ghi2O%Y)F?gY;HxR`yH zrc4Z5jG6LjAi;SUcDZd($ayTUFiJu?QncJIqSB=&qq_eTE~333we)^n%vjWBmR)a7 zfpMD0H#detTrDS??B;xymKmc&f-$@QtQCgzspt>3F__@O+!QnFo-@9=!XQw>Y-2uv zVPK-JVJr_lg5#~C-oY_bQJ>(Lsi;qIyj7HEtX7m~tX71vn!cx#%Z9O-4zM<9#8x!kOt1+h zI3aI>2#HjzPKe*Z=?1F>q{qsY!B~-l!Fs(bmc~hH9}Eu3$YA-0X=JeUK?gGq#!2s_ zapeFOz=LrL-~pz$0c;Oouyj0Tun$J94;d^SkMo7W@(;<#4(YvJ*I@ZaWQ6GNLz2PL zyQN%U7%aV0%ml(<TzP!xzTyGof=6qnVbaoSr4c1#4k!=7Z zgQeFWM}~3IGm$XUIB~{cq8^v!0mjMS-zMXvGmO)Nanif>92dqZ5EsTN5EsTN5EsVD z-_tIFaSBu@jFX-omjlL0Pmje5#wm~9!wC%Nl%da<7AxjB#00ZI`t9QpEL0jS&E)d?NJt}!%CX&i-Jwxo?GzS~n)egpEI4bl z7h^HUI6RaTG$a)|l87L)Tl4>8jpV!am5+S@DVSDa_I zASuWpW-lB9p`LXVcnM;jj97p7#k`UNbHfme9AeJUVqQUk*r6U-k63$rWahb)V@^jb za)^1g7V{hm{1aj>K&;1oF=d|TBNjQtd`FAPd0vZ{pCZ-{A0yAhymB7Lc|M3(khj6^Im!eRx96!i>ECs z@daK+UmOz93~X%Mhf&hsTZx;VOo*eg$Qqw(C1Ot{ z#369;SFOZE{L_aF@wcr+^l1<0TJ8P7XFOWZd(KP$$mc!$iWfcj-GBAoC%ok0STB1V z{u1ws&g|bj_)mCO@cFNL@ENZq#1nAwldQy{uY2#K-|*faeACNo&D&lXk9o%}qiYLk ztZwC&taIvc85wMTXolR%(FQOVm%0;HZY^+!d<6<_cLT`WTe)2Tyn+HIxdAf9jR1ze zM!+<;U4SSeMhZY#G4{9_fH)7)6hBt`;)6ClTDkM^F_3)&T08YnR|YLnys!4v6nA$Q zr|n5o6_&g}JibpF^DPQS+gR`^9wqp;mLL^Az9dhAOBzVfSJ1;yo=2#lb#8!U%`*V{ zSR(_fz6r2~N?_#{AwcSd(Jdy1()6uc5}C{gRFa6sLdH8>!;|%VGU53bT&TP1Rt&Yt zR_T40pM?g z)#zs55|~!*EMzZL!aiEdo)+V&G6TsrRGDtFQaV0DveG8TPtlTPp*t;ItZ!l?SmYcF z5|+dpKa`l2+v#6QuiStV4p^=Nu5|-sz5j#&pLR(m@B3Xqgrs)ei~y-!u22v?R_;4u z^q!h{6HSI*Nm_0op?FNgqjac3YByQ0vYherl;EdYf?y0+MIgb3s={T8EMoZkfL;-X zl{*jtKE09ww;{mC6sZA2i8g(c7)zS2QIg%g32(Yq2FBAhN@~jGgm<@w$C{^W6bJ-Dqn6D8#CaH7*Qf*ntlT7EJBINJ4LeYQ9T|HUqTxu52I|{U1+Ly?jq1V)K8oxe zjk-n4zC9%ijS3{&P&K+5RmRD-{L$5@`?X|Q+@MkV;E7;9jgov^gfzIf;k8t>h-l?# z>unNm{K&d_1-L$4k}XN^p8{edrQ>u2_*yEGT`Ttw1UMD)q((Z?WN4IBfZ0?bmuVHk z>lUbxS2wmoTve6{zD^1L;7<@$5lFD1s&H8&3%cXa0gaNz;35S0G>T}ka$h09#~K+h z=HG5hMO!D;!?LRD71?7ew=b3CM6Dzw8gX5(WU6-&-isO@r>E-`?f$iLS0i_)rFuoH z7*18!E7>Kt*1OgC4-K2t$f!mdB3QWzM8i^z2I_#5UOl_9)#xgKOt22wJ9_n{mOUqn z$_ymiP-VKw@;EK`0FrfDs()+ARuZ+)E81qPo=Uv<^h&lnO@Bcjb5}(8tJ?#VhVW}J z!38A{-OBv}P*SBRqt9`p`vRUofb3(t0a7_z{i-^nZh$oQ$09(E0^9&8v+o20Wah&` zjV}g8wQ^Sl1Bi82E@m|l*mIl3PO{hE~u81<0;3`YZ&c>*5W7f5q`Qph7nT4iu8LTAr``ADsYp- zyA;|VA>AmnofSC+|4%yaCjx5`VRp14FXKP^7k(FsqkupzwB8#dOInhc@*#)iaeJXWFZr6ZuDOWMruk==&zt8@^}1{KMwl( zSdo+Q|Ac(^I;dTMYUP@PHgcHhS_4|@Fw>Qpl#W+ubde>`^vfD_F>I6Qvct28IQfvA zXZk}DU3HZm;BKIV9H@B{6f7lbW@9m3qlP)>qlRIdL`_i!)U2lD2cX?cJci077p%V; zP(u#&w|*x@zEdyw3ZzFwapMP!^0j)Ig;QHKyIwZX09%_Y|iAWWG4u&gIDCGl@Kyn9@l27D_w z2LzG>kyq>ti1SRvf5`#nr^jTzN)kt6@qDk&+ni~I?dH!~71pv23Y8Hp2&6W1ei;uRx2xAeWTd#s&q>q^!!wnA6Kv85z4p)-$F-bxE0RWWum)aGP;S zlj6MFj05|T8$z_3`D?1FSrjI_u+S(97q4(*d01#B$dQXX2l{1J24V zgh-QvSl>)y?F8oVT5_nfeCEKIPKYZlixn8Kns^74G3vmSSkv}#9me%fi-v`Iwa!5fjLQtMCA?Z44`NGHkI*xL*b=`+=`e^b@k@ts#vdTTUG)SZwglTlhe2#< zko`Ly2C=0vw+^FOEJoZr526m^ZS+KTg@fpbBa_|2gfZDV%;i_5o(n{j66~NyhKLd@ zt;0w}LuD_)F5iWz-*4bb+E|hMpG5~1j^6)@so&xk_}#P7XR$CZh9HweGe2lI9N{t* zrgEZf9Js~y1>YU(hj1~hOVa)Zd{s{ZFD2Oguft*l>sw|V>cyPFI*E}2vz`zmxWGcmxKziT^O`E8PMi|5qeHMja%n?Fd<#0qt zpza)TBrqS+Fh>eihDTb&k>+FZHUICxi?x*eOgm1)WA$(?VaJF*TIO1!7P+g|lVC(J zO@}El+D~H|i%hSKJz0ZM=ZHirIbCHdtBqiRxP9`(1;Ybz0UM~%M}x5vh^0;+i!>^M z#@OniJ{DDiKIA4CRf1iv5lGW1B}4niC~_K$3M8s}BrFee#RLY_4OdK};IBBJ3Qq4G zFXc+Q03u5cVoUW^OBo)X=4zWu@4jlIy#OV?Y9kn%BAo@>Q?=Pd^hQ)0SEaAoxWK+@ z;{sE)jnw3TEJ(@V;s&d7#g?c_BS-qor(`Jiu}jH}H^om5t^}9YkcRMc1b(gDHK<{7 zsAYlaoi#+uQRx^><%#Kd-=n06X7pWRGP0Xie&A5u;@HtlbHz ztA}7DFL)x0(A2Dii|=JcKF6wKTQoWJzWT+4_zsTVA3~YFg~NO3pqEjI@%V{M#?KXS zWf=d@#d_jRaPo97g7w7DGnpvV&t1M$1EuMk}@KR}mOvX!@WD<zF15n_fP~h}opnaqrrwM)akddMS->p>*!MMP*Y*I^+P~gXaP>*+#jKCsCgOYK) zR$yx6sK9!IreFa)6j&#d@lar$OoGV*N9&v}%`O00xw|3blGpy zgR)o&w-eKx$fPY`MV#hkXPYpdrqyB09#WjO4tq#(Drb0#bB)%?iaYEvVEdq^IQu{9 zS%E#&)Lia^QFC^(4g-6L%ri|Glc~cbdqOWj6Cy9+CyizGvgTIgCH$wcv`+8$;s1O2 z?iq~s%*fSXA~`U!>AvVPp?qa~=1~}&Bc-pnx(f3sNUWzwRp}yHgkDVy!Ypt=VH%nR z4k}FBJPHF?Kw&ELC=9l`>STHftt$bv&s>l-MQF*MUly&*u7Bf zrBs6bZI-ip9Ykv0%1~@twa{T)Y+Aut?G&3Aa%Rb5Q#LQII zk~)0lgONJCro&KdQipd;7?Y{Pq&g(7dLtpop&t~w8UK-c@$+~IigpNQjw`UWB+?o` zTah#0N{Hv-@a`$dU}hP`CI^=7jAo@8B`!O}j`hWR9liHT$Edkk%J52Vbym~6 zuhk*R@wYmzG*PRwjv_g&PW5bQWdcgnpb-uz$40a|R8eJ{)ar=%2cT3vY_R(_$-84C z*yQ!4$=eF>m>gA08~jJQ~0k%N_^aB^V$Uc_whq->%cdj?J2QhEpDso7i2 z@Jep|*3tW>wtkg!B;%>|tHb+m-}-SYv`MX>;5iw^c&<1wKHtKA(1sA>MdYGaaI)=} z*cpa?)>Y^^y$(nHtoMk+pWr9*C4PFmjg=Dgtp?)%DEaQ`gIs)k1LlJqs%77UP!-@< zcC0z!Nc3gX>A-wyHj^>F^dJGsX3~M#ylk;~ekNJ*Y_gMq$9W_%?kf~GQn(PE;H=y~ z4@FOC0tj18gzYV-lrjzqF`fvcUD@Rhj1vM8H1*Wlf!TzYM1r9cz=X&t_<4f3(ZY(n z_6{U?Ex&u5k?W%GgDd1P?>CpWDmqVh{AV$p{k5h#)O==fwA$4mL_N%nuJ}X|gs6v0 z-VFq6ak&s(Qbu}Qh_)Fcu7sKCaUM80MNg0Ms)&=-PVw6zd(6()fs?;SLDmr`53!kR zJL+5mu@`~Zkq(R#2eAYjWR1Q2_tWDFq*E)Izpsix)3QC$0Z>WiMF7PoKD{W1Ylwc zw2=dSR6puzhL`NZc$}(BJq&ZIO~E)1r`i;Z>2s=0!MG}^+91;1K}ewr_!KYLG&KRA zRnSJedWc4o8~Pfb0y{yQ{3#_8y^$F?z2rZ0p50Jt za?lpaejTOqYMQC2Jbcrs7)x;)pu$ts6i+nuN4Dggtd~;McVyP9|BI~GZ76G+$l-?! zDo$uew&X(V-2gfs66>)5l0(2!N7qQety~U3atK)A1jupGcmT=aoJ7t5KXk|(PHqE` z9L~nlZ3Pj~gw7kw2P~u7ubu}+5Qe_zlBi&yep&_ck-(A}cyk^SD#p~;zNiPuz}6Zj zm7Rfkqvyjcp;4TAR7s3I#RSCoMilG0lYUS}CDeaa4+}Ja#vW$^()_1Uc9(daAu2kv ztS%qR+-Uh&Rz_d3Ep?(9#Zvq;ibX&wmQjK@fK)7_1O%iKi0B$ePL6}xW3dmSKn~(S zJOBRe1X7=?NeY!sz~oI-qjJ)Qfkb(Q1LVpk%xwLiYeG6i1q&T^Ha=o&6w*k)l6gs{>s4 zG^_mit8h3d`ibFC$coInIw2m03%_HPcew_ek>J7uEvx(qynKqjcKCdFPP+~sxUgMd zm4Anq-(3&SpAi2$yr_h4x=~B`!JE8Y{XZP9&G9&qW4?gf%d^w0%t)84H52IQk7Ib2^B;i2}M3mS>rojT@^08FA9;g@HsM^` zL)-NZxj!>}gP$Tqjk6<31PHSui zt~b9a!n=Ya$s((K%9C20@lQLRA5fm%!FD%JPv>Ky2!;F=mEeXPj@2jjoS(GHZ+Kbr zyZ|9`d41>Kw2*GEY9Y-qad{|QK6&W0ji2#*^ldsA4ZMseQM6RK*s4> zuh5w@@UtJRQF-L5gt(+L8mR@SmTB-j0~b9Ko(qqRi;+2;^w|QQVyI&pxBNz1!E-n~ zSK!L(=v;U{fC{(?jDgv46L|6%Edd)U>?ZKhM=>vfR;#oG7Q^Evy|^swQScr@+@xFI zro}k{9yiYW@VHcux?PJ?g*}okp)bPY#<}k=8d@`0F*kwPkW&|}5OS(0fVF`A&sgn? zN+ShD>GI}9cMNZuvGzf8AL=U#ipG?Nuh0eD!|9)J76r4XleB--KTuNXs_o38iX* zqBoH|p%S2oAruFq=fa3R5?0}+m!$NXdfs783D8XOqZfJ{&6UR?Avvt65G~v&5gDar z4`H&9uv+<|0vB^RZc&+cl^QFMbsLoqWnIjz zRGHllvLwTrLgqaA8iFc9&#k81)4ZW9qv(MS>jRapwIIPl?AQhsTa_FDrVnoieh*D1 z@j8NDlgXiY-AN)~Dof@g#Lih%&Zr3D2{Ag$sf@|8Zx<&q@M)7xhO`tB%~C|YS^ym} zPuxjAY{ecD(zqMO%9K!HN-kkM{H!B2(2WS2fI_#XSufaxcov~pR}-=cX-$qf0-F%W zDsh4(zHAYx)DI#`%Jh^lgi!Xg3Ds1&&(>5ZThr95ux1|Rnz5 zWF}(Nfnmq}Or~Af&E^kqH_q?&bWhoz>8 zTRZG6r%+wUDr7UMTT-Ro&1Frr@M@x^R}=nj6<2d>H*b~!Gr$zq^N`k#C0E-hT`fxbE^Q^UP=Y1=)DXCI;WUAWw^thdBR{TA8C{Dm|q3iBb$WB_vpffcw zUA%^@t1?a9q}p`%)TW20Ha(@?s+M-Em&DnGK8ozBhgBJM>lyK@S5yPA{KPbUV}R{R z5XorV6&RLK^deRIq<%>)HivWX(d!+uKzrVzycLcfiG~8>MS%ARhg+`Q2cVmJEEXM%3o7M{+dbo3ye82;`E7AOC?Tddks~9y3im~ zQ+c$&9bgZ4mMQ5CrS9Al}v(k0+=i&^l0JjA` zd+M@)L8nfoJHpq7oHSnb2Ap0`yO)e;OcwO^U=*#7=as_W*8?CcLg}ZeWq)6hAz5|-5u;Hs56+P&g&4P*IT0+i=i@qj3T8j*GgSh<49PN;WR!Rv5~s%6REHg zsfek4(O|hSB=kgz^w-vFMJlu=fdtT0S}IS{C%9}?Qwm5bQm8T}505~+7CnCp<=Fsl zMhSWIe3IVv2x_uxf7m)@Jr1A>$pkg=stgU3qt$FG#1*%N1f~$NHfCAY&qamwhguMD z*8F)Bd(NCbVg7(zWIyhA3AZ)tXXqr>(CxOdLo_i^CnK~ zIdR_j1(WBK_s~g`7fhbGpeH3OU-c+RsOJ&0r!N#e=N&PB!Ni^u2lg2>e!zsj6MOfc z+;3o?UV|o7PwZRWx9`A7llu1VGiCh5DO39Noj9qQlLOu3XU?31SaW91L>|-U%%0zK z!h(5|C;zv}O`J1ta?iO7=KZ(vnVkPNGG)FwaeGdgwLs_X?8yr@E4leIr%&8Gf@U8v zOD9NGcF(!<=1iPCf4&|zWyEHZ#5H z3ntI&xnSP-=?gZqVE?^3Fk{Ehn>T*ZW^pEHS192_+0c+#Svau&W~EP@+Ux{+j-NDs zE)v>2W>1_m`^d@j3^mq`+qCiXr)?Icv&K)HHwPq696xXBoSyS0Pn|x0!MsImO{Y#@ zFztv5Jz&RSXU&R0Gb6aaPpd z`?J*n6YC{*!K0c z=`YCV#3lxxIAIdJVjCx!g->7)f<2F)8a=eTvh2#JFkxFMlAU$T4~U~8{Ym>#6DN+JsNZZB zr@jAl@~Dye#gyPKK4|&FKlb&Cef9^%mxMRjujJ5m3VkeA9A0KXm9+MuKnVH|q zF(Ohm!zDL<(lHFAKag=p9Cw`k$s+tA^s6F$404^CFoJ7;%(2suQT0g3G=AzRyIrmG z^d($>jFEvMP8^j!e*AIvQ?h+D~= zK^XK`$`Lau2#irvM~qA#GYLMf27MT6{J7&LkFcq(<@#%o$&I`lN!z98cG z#1Yeu9VHAHH^wdt0Qo(Tl<%mr6~mae6=i+6`Em}p; zhYxywO?NmWyl{G#y5YIs&G&*(rB9@3HP{nem{2js@&kN7f9CJ` z5idWPIM7SP(_TS*pIARHX3n2h6YK9K%v+VsUcR|FR>s@X*mho?IeS`3tS{|MbACL>tLj`YA9~RrM}keuyj|nw`be#}3nO_2 zi4+6x88>Hn(UJ(u_RPIrq9nG17cq0wiGk7WvBbo71eycK`p|qkFXDO0`NU!RZ?bT1 z_hv|k-yEFt%}&8xySGQgOC)*ef_Zwv+dt<_VIoq6HlcnU3w^4K|xkD)oM3x~BL!rB=TZ zW%^kjH?LJCQf6+XoDJY-nL3P{t9sN%6CHHe1jG~Olxm@3k-2A5$}9dUyL)A<%-^z7 z?QS!hniyzzHKCRuM`&B=q}aUHt%NVHm|^kQEU8Edu~sG7OJVs%Q_Czuy0>Rf6CHqd z>DaDbH?z44Oel;C6^GMTzPZaJT7!le18EH=O= zA%C8tsjb3ct+J)#MS6Jxg;ryip8zuFOtukRIJ@vsY`U30AfgfC@U>2LZrHV6beZ%U~*)U1NT?7{7SV;%4yAt- z|HgEy}qxUap9A^zyJ|6LVb_X^8DJQ)- zvBZUc;OF!*FBaXspME*?JGUUZMU-o2LB+nLW#V!3O)zCQ&mEPkKbJ;jS+^W{k?`}gebsejTIir?D#|3I+3a%up( za}iG`vnug+H#etCy*`OK-tI@+W&ABa(byr2{Pw80{JSB)npl(rcj-iq*SNW{O3cx$ zC3__{z}(7l-&_2%oHoGc(W+WCx~Zy8Lcz=awm#5}BjVKw>c>9q022ZAH|7u^*kDcI zw5jP%wqOV-v;jOGU^Yg|yza2oa`3XyeAcrpHpKg$d1AbdiMrTMar0CqC>%=MU_7M(NlOq1e|zm*Q56om{*l)wZkC#I z#J*dqOS~Q&Pds=!uLKr~{yhl&^-s=$ z?h;U0JTbae49dcwlQy;AK|enZ@{dQb!^D!MZWf_8bD3%GH?M8sOA{avR0a{&kN$gM%{cQ}aKhysG zcZmj#o9BC$@}R&ppX9)Da%C!R4o!!IrGE}Dh%?5nA3Wc@N|1qd!j>)bE?Z?TF=V7`quT-20QBkLo%E4B2JyqSo4Fg zhkD(TX0?g1&{FjjH}x~sbr-WYri;w8-Cw;zx`nv*H>H znA+-8D_{oVvDbenb`4 zKeakQ?0R`wg@|1*TWNhraGso;aINY{RN<_a6$GJ$rF|#R01LfW6t6LNrEAeGAIop> zit4?-wQe8IoZQ^ztPpCvlULK`X+Lvbti`;E`4h*L`7n|Of-!Rqj;#Jzc@|bB8gWz& zmB}jLsOpQDzbPq)LJ!l(Ij&EZQ(Zv*0$g0y2XyDm61y3d;qMZBIF zUrW24_~zU@2(Kj8vnMe|b9$t{bE*ywBqaQcsh6h#CtQ77PfRnoiN~!2M-0xJWC=2& z@5H-cM#?H`@+n$3;JU7yf)2vzxVe31i}WUTPW1hNU+1;7am1jp<#r~@5!0w84g{Nu;^1U$9Q3T? zN1gr^V5|q~@Q`CsPE*?&>j=o~5O}o=qAk+qq{4TI%Q& zo}D{qJMnB;2X1Kwdg8G$b5T_-4=gFi&EmABV|mD^1jbeQPkl58xr4P;EQ>9oIAzNtp-n@#87gGq`MU!*zOKH5Z0c*Vu*R>kIiu( zm3J-o@zpiU9LSk7(F*sbgGS}pl7D8Jd(}DA--6iZq??s_iBjiG(yHbMc8bpIs+w}G zDis^#*40lWlxSo*P5?q>$Rz?ocxls1bkTb=oPdhkrFiyJJq;l4vBUc`wH<&T(R_1h|Iw4IM)%a}NHt(*$Wd zlrBT_{g%kxR+~v@r6radHxEsg#?d!!W*6&?)2RiBkla*T;ihE8U8^9WAEkW#sI0>t z^`?U!!%K{(GH9PsQ3N|_t8P!4ETVKEq-O9VptrQ?oqep^*8QySct7)VGNB9;$!ZH* z&qQtwg7;f8#=^;=t=eYBI3)PJr8o&e-@RsYYjB)@maqjrepA&xh*Ge`gOcX)ZuJ&D z@0eKTxF9@S%n6S{H%VED7FN!(bhcHxuw&Tm(A+Ydc3OIFk_a)U3}qzBTY1osDFOVb ziGM@kRtp!`tJ4`TQt42Iv~y5X_L!zwsXCzKJ{6o&8usjtkh+{FNLYv73eh0v+;W4o zRRav}w$tw$wCQp4Rd;s~Xw%tewi#__+bkacj9m`RzjR9{UhZ{&3t|~EwH3+QcJu9z zi?Vomia;BV&p6f@w;!DdZLRw9QGsb;{j;%t?at*ItF>;c5eMWsw%2b+`0baOwN)(-OdqS}HW@#^8+*vW zX{~4%+}|Og=igFU@O=h3Hg*si(ewH4{J$Yx+DcVN1;;PViuk!@oq!lKEAU-gGV0hP zB2)-VZ^3R3ml5$sQx^Lr8u?>bXw|%1dmG~Nz(>fcLlNXw8@INtI?Dpf2r{GCFd@dN zc!mZ*XFx1&KERNqNt`h~V1nBe7#`z!zohBj5Icfn=4@i8cZ(B!T4wH^F88uo<+(*{ zn9*v8)rl1FeW?5PR!yQh%l)&aQ+q9TN;-(68xY@`>o^gqO28~_$oz0|KEjdZ(}Osf z^K<4P%R}b0?f`OGg~1OcRp;x2oo@@9pAnc;dAyuyOUf(#uFcoMokz>g1v`K7ZVS=A zI%|}HP(z3Mw-w78EII|mvNkGQR_6|>*juf7x1-+-c7=qBTx#{KAlSdHUPnM$(!7I$ zT5QgWa9TW9RpMcCSx7{F0l~9PUa#3%!DLbHvo0gYwgDJs5Q%CaMWS9<(b%X>36N7* zIkQw}(Vs82T3=4nXB)*jOa^L@L#oUz;0A0LA)M>LK@r-i3|4hOcO3w!-9ociWwGy% ziGf)>`BtVJA=k>ht&tgXVO$Ux&eB{agKAq#b0UQmwuzBCFg1(&5e_fk{A%G^Jy+11bP8bR@Uf#J){r;|&d3v*6anYznj|A9YsYRWsnY{)C~e!+u1 zHTlL~yum|q&sZCPTU(jpk4;g6L|Jkzc{l&z9TqpA*a!LM!Co~y*x4)}n+B(4vOlA; z&f6hwzKE9o+Dt3^nb&I=FiLrc#)o*@bDZoc+w{}DFt0M9MPo29$IY4_D9WnbEc}g4 zrda!fa{BCN7X7ZCgSx0h^D^_Z(@MvVgv_sEu%h8!;q171e{!A7ICHv|6Wm>H-kY4_ zbCPc^H)RZ67CSO-&cKJi_i*pWHgw87;gxAy&nGj$BS)ueDeZSKuS~-J(uLD9hxP2=n_{D}QZOZYkw-6z5#N@GU}vCisVMsVf$8n1AU*ZU4{ zyXbzs?a!s&j?q1O1IXz9MFh+5PJHy(=%7fv-1|w~6yP!8Ycsc3qJ(`qzL6F@J~dX# z7zuNmOxrrqrmi;>ACU9oo5tpn4}`|!^G}!;TJYlF zf_rJfh5mwxubbC)!3E}77Ob^`i)^HD=E*(fxv1eG#QGbHM?$tn9?C^`LhLB>#u#|` z(&NGLxVf({j7+PTZCBx$zxS@qG5gKEv$G%I&whP}TXTiMzXtGgVy@$h;P$Wyd zNc=#jwI~+!sSIJSLRwEG5A^mj|5duhfKao$3_ag0B$RJ$Q0P_L6cp;d>SI3Qt8EDj z<+~h#q5m%|cK%FvG8(toId)SoM{p#{7jcKf=qC7_n8qP6jdySn*zl#xV+z>lZ_dO) zCNBCcsu*1E449~u4-pMux%U(PzR&Sitbc=C(nGwS=Bii|Iba8yTTBx}^)W5e8?%AJ zsZgM>6uQy&ydr~)3|G?<`;ob7W{r&zR@w`}!~_h}#>NO|oAc-+fAh1i+P7jd*magh zlmXITp;m_s1vISlK%e-cs{Etgy;X-9PFrS zf3Z(lc0CNVJxLO!jUP6JiBxL@@%*iCniZk9-0P-)NUsOa@|V?Um(?pr-p)3>IjY0n z{uF+*#&~1*0bx zqu3Rh3uh3Gt*DXH_*V(#&*mX9_D4WoJcUC8)v_%1pS*sn(gk;IUvDRPLUd2uVde`W zgZ9^|??g66mAD0eSzmKn*XS=?wS$|cHfFviu&0_K`g=b_ONrI-IAQLeSqrNtI~T+@ z=k+6FRSCLE*VEyE7*DjV730kVzb@em^oJ+&n$_H#)34FB*0Rm&u_ZP+xr~#H*_?Tj zgk*Df7pv%?7AQmZ>jY5@S&6?qqt@0c7rc?A_-6i16!Ak-W~7DFHQQqIc9#?nwlj04 zO4&}Bzea2L+d@QZssU=WzBwUHCAv$IS7LyGO!dN;0=M(;g5!g0WIyzZr!) zc7QpnOQI$AZ)VXnfZx|#7eUyRsi1j!GkAdABonmfj8hr=E^_|d>J~aYfOCNf6vo9O z%mZDczl(T7|KuGUkM6C_v@4$o0n*|%XucM5U&L0D1jd`-l#!M#| zBRKrkL=TR{qr3UjeXBCMTf`r|KVrx=U2FiQS;pDgpUrq+rknMH{7q<%xw@joPHY_$ z)Pz>eY#t4*{f#WzJ|s!Mf=vJ*tdFubEvZ~fYN2J$^=sb)>$iVTKpfQ-* zsFsTQ3=&_qL+Qc$ndQ-PAAjDrIXrJ_IECipe5OP}Z3=(l}ws_bDRa}UgT)$Ud39@^f(O?@kR(g zC0+n+f=eOG^A21PA{x~aO{wsJePp5w^vP>44;Y7X;;&Y!WJA5CFbBqn4i zr0q2P;A1QKh<}!veWTxZNox02?ea#(qbOuQ*qAoSagfCilQB^BVj$ z_a%q>iXQdsCA?c}ikp`viYn36vA2^WelC*6zGm@E2gOUg234Tx@BNgJ(<*+c_pi}0 z`dK>%W`6A8#%F^^qiFw zedV8uZnkqtPYZ}qJOr!STBDOn8ug*pTreLY zT$Zk9EByExPV*Y_>18^aZ{r&GG>>}qSo=KHoGiB)rcIco4&hXNK9(SKeZhQCoe%5)-SRC4oE2W_sdl@cV5Keu*5wFx8UkBpG3MN8eTNuB5H3zX(BB2&I(TJ+ za5L!AxUH-3%f;nDmnjqg`=0r{vXq#4I~o>=N}GP)QR;tY65kYOw+Cqk&i0Y!Iea%g zh#+t&fhd@JL!?wfpziPIR8h6Xef5EBPFV$gKw|WHq_f*VBfUI0*jw9|M|Je_kYKk@ z5byA-`Yn|MCWLEl#IFVXPw6bhcr}_`hZTzdVN)6q z1Xha!mN?xr9u>_3A|MLA_~e;7|(%I|6Au2q_ueL&G;hZp8eL&)yzpeKUH7Nx#=9}PL-QQ_{W+XQdoVa7$4A9(&Ka}C@6b^k? z4F~tyr$kx&9>CT2(Ayo&+KOfl_%iQj@qN8t0p7#n$6~p{DS?qHJ{X_qJi4)-1eHXT zS&x{;%>&B`PU&k_9a~E$`yS7?+M6O+T1$>o|*gnL~&k9-yM|z3LT+n>f&(uOs9v z?qZ&sNjMta+2v$Q29@)nXYMDMNL8s`5ja1i;zbX0daPMuA4oA1OSPQ66Pshh%mRXM ztarBt|78!&d%wC^x%pdOtrzcf2ZA3+?adMFYvjEn^fVP;9!kcsmYf$lc9NDn&4W9+yT~b)R@5 zEllF-0V|lR($x0mZ)xlD3b^hig zbT(I8b4HxMKAo0k{;ls+>J&^^;5Ek0i#Wr5iYR5%01=UG)itf8JmIWXs?eccfJZz5 z>OM}ySy$MyDT)0zD|~Ne%1c~F3E2k$@0xt#MQ!FU6;c=2 ze~T-w!38v&A(ECkrun%I+QIcX1}`Vd z(yrq63Reg5iDX%Z^HG#4UXtMhInl;58=_6nTw8=;Ft<)*=_{i;-VXG<4OY+&zPguJ z{gaPc)cv@srNca7I>5)4$r`~*bRFv`sq4Td%?zT8y79Z~IFdS}9ZJY=S&fj7P?q?DxL?aef zAK_XE%ja;nMF@i7srj&qc>icIB4cnB7sj9d7+PoYd_*u<2<&A-qVp+gw9V5DK4pB~7x+ z3AVW5YN8!va9M|(M@ME&B<1&0PwB*Bv$_g7dBvxE)NDa$YrCJ zPmuqAIMcaoVhuK-daJ;nOuz)K%sCtv;tuC?LCE2n%#~FCDODKoMZ~&DW^v;t%;M^l z*L{xd@O0)WgYf6+dNY9&cmYp~%&SQOq>s6(0vT&~>}TetnRT&4%|-%v@{tDtNU)k@ z79vbyCEnvqNl8s+Nl)N(!#G%**3nuzl06l8PsXk#?mDY$`*JSfQmds*C}QrjWZche zp3&G!v$a{8W!*hZGgY6gOi`~i8%0xHEa8;V-s(c|b}bzd+r6-wV*hdT_Efp$NnGmU z4*wfwFf#$<`Izn!l00z3j3}98{xf2}%zJ#pkd`yBVb@kR^A>nt)dgp}tv3}Uqg%R& z8Bhdq_H?4_2;ZSGpMK?~tacx4x|XIEYwws&vrMVZc4+$?!5>0~2kkD!%wH<%y@E09 z(uc%g=SJFwAksFrZbk-a9q-Q~t+Tr1K-y#N!1pE{zCKz}1OM!vLhbeu^~D*;N^KC8 zAgnc2^}2J)+=BU1sCt=kHn{+*mhzcJRb8r+LDjCNAmt^6sYQgL3MUf;rK*nt?m=k^ zpd<^SdZ~8ujV|)8^_g!!I>SfgPld>{0nt-4d_<<$sW5@<+}tI)Uj%6PGgr-M$%$1G zP?4z{g-k**iAd4CgcC*PR>S#BtR=b%gTLLS#^TH>MJozr?)0KRb!fC|dXyS+{AumdZ8(Ka<_VEvKEsK9F zUmzpmel1khbOuO7Q~mxcQhx3;!OTQpbb-Km$eXKY&X;d0xAi zXRvduf^+CeGAj<(m#1^A2qix3!bYAtrQCc$u^d&b6I;00-==w_k9JQUV-b24 zBA`CFYf2f5=p|M0I7<#!6TX(4_CX&1#Ih&Tg-LfLZNRfHy*qm(aVHNE!x=t}R?mP4 zEA84rMbA(gOM{&ZJ&WZ&YEt$nx_hR$TTkL5Zze8f3+vxk+rzNb1(y?IEh1GI=0u zs-)etXK|lUB00|tZOhaMfd7uwd~aeHLfCE zG`NmyFfJ7&6G(n9RyDH@z&jJ9lU&G?jM+UJ73QS(t12fw#7oZe#YnUv;q0u3|$@01WC zZfXfobjNc>_DSWGefZ>tahf#D@fIX+s?95h+s?DjElrbOh&gjFJ$*h8VzofMq1stb z0!z|;OFhhsqf4xl`)zuPLIxMHpIX_9Zo+1wk~1*lsqI>ii-DcZ5alpA0e`@72edb* zxA-tau^7!=O{CfDLO-JYt6DOIn<){l<@q8EldG>eom_i?|FcR7gAxlr zp(=vis>Vv)Ch6k^)S+fesx25*w4j*U1hQ0qV87a=Y!&TWZ8cJdSHkk_myH}+`fw@2 zJP*u@JYjCJ{`Lyor*CIIy~uw013tCl!Q1-OTw2X6_+TP*P!KKcWk)+*mEP?nmsCdo zKg<4}!n)-Oe1`z^41A(6d7Acq8?XCSdAH&_h^Afr1I?BfVZ<5rfNmQE&DTjcqcpfZCa9{or3w9!AO!BlWJt zZfMW1utu3-p0^b2gZ4r%uLdFD_epc9a)|~p-dWK`dfUky3-a!rDCX|hn7O4Yy04s~ z2@Yz`0};c9DJgHqKYN8ASn+YLZt`@3okej8kd~I_k^&48yhap;6DXxH6q{Pvsddgk z{NIb*+$vp)EsIX#W*L`U#i9rIV%USsa&EX2uK14H4Z-7jfK|wqy|K}JxqwZMBB#EHWH<;!dMj=Zwi@Mz z;BcT4huFh;$9I?ueZ2Qu3|U+#w>J{_%I!*HJTP~Uss*tM%tl1iLmY*03=2Kd07N;{ z+nYx*j_iYBTm=v@=5x)YpFGWX$y((F+Eigk^d5Zo3dny9BZ(sHFF_%7iNnxg6nv}2 zwK)_=XRk7^ROSMVMwh_Y^y*C<58vYkP_it##c#1gT_>5sr6o6bgZXTCWeqlg(jw8OAf_D$j-oKff|+amQe=Vhdx+bXlh9jL=%*p?)ntm-OJ zT8wuWPz#jGH$$4?4&@nfr`+PkUDz_VR@{NnIdKO_ZBgFoMX7U4jyukw`y%r!^&fPe z3H$@hE0bz@I@Hv0n~I!8P7or?C2m&z8Tww2Koynlx1JFF0i(U*=w2|0E0o=^(|+bss?pHf1*nMNxg@R9oG0@S&8L%eQuak=s%4h{(aU~*1BZy{V}7-i z0lRNIVCpGRpXXz1;)A$pB(|w|o^4OA27^zthsK36_mai=5m&$MVB{p{boTbI^$Mw| zjr<5NkYL1W#03Os$s<}LX^OgY<=;}4^xbfHb~J}nre}1= zP}ko?PHVmJK_Y#Nlu8&PmP4^j+3Cc{mPKnAtI`Sl)}GfvV@Yo|l@Tz}PgZ)9x#Rck zr8nJhjQA#qeySnPz`4nh^MxA@wK$rK0j!72cTQGV&erypAg}A197oSNTo6;N+tGJi zZ1LnLDX)03x8t)cZh!NO=+9KJtH1dRl1Cr31NdNkZ=T?>1RHi7j+9LHs;~V>73fRK zXfs#R*~1WGuLWE}zaN8=i@l!eb_eszI?Iah>~EC^vk^kkAU9IfDc2ypn%a`{O=x%! zK*nZkQngt9=oBlm4m3w#irQH@csf2##i%68t@&r1A0_tuaK$6qoFC<#pC6gR6HZ?1 zX}+B1&e5epwbrA-PbhB!$i?R0!IRavuKg1N0ciu8CvpOMf#Ka-h${SW(#ao#O7TNn zNrVWNG_~VOV}CU7_iV~Kk7A*QPh=XN(%R5;OVnBoKiu@KUefXXIE_(^R(OeTz8PZU zDwAd)W;N&iX3DUV>#L;$<3W=*r;yvLTsr2}7^HfFL+h}l4~1WzOLXdt4vt&2B# zs@O#je7cZ)@qF_zv?5*hkhrdL$UolxA=D-5Sg5AhRngZCX#EoLKAn5jQ-v4Ei# zbC9g9AWg?5jNIGYU|PKGhTF-#g17N7v$hh+wx{_E5?-&-vBQ}3QqEn$dw$e5t#>Q>nYgO5HAI{2KH(ODe6Udl0v#*D*D>8L0KSHe(PrRVT6E zgYm>Cwg#UF)q|xpFp*2;+sNvITQ7uoX{|Z7`4F=_lA41_4c`E?21CWcD5|}s(pi76 zW6ILwslYMNi)>(U%o?%gIZ(>&J)ukU__#z-@UJHQajRZI6sP^UDc-`!6eDUG-VyO= z0V=YjwzpvqB+t5WGb9y9p1} z(Xfi6p>Vi80_NIBMdo#9DEW-zo0EWAmyG6^I_H|s?=Qy4)?vk8YvEs@+p!Qkb#ihj zoI@OghPZtuQB#`4BQe=I6hJBQy=?%c&K(XxYvaOy8%;qyB?2L*j{L^>(o8L3qcj_2 zKH-E=B!x$WjY6EhQ6733U=LK}o}T=S=oRKohJUf-oP~DMJHoi~O5!b6 zWbY|9ac&GXZ+6_Y%xKnUGLrb_$`B%7U~LDJy`3opS78U*IYE`r{fZ2RUL3_BDcm&L zr}ONm#a`lBSZUBhPH4Zk&}UpXQ#XZ#bpXn38bhgFL3x z9!XMmns*WzX{$e|svC+Lj9a9Xd;=e+x5k@{9EqCU?5Egyl zBZ>KM9MPTc&Nt;00bJRW;#Lkq zTiHPX`a;XMJTOtPU4Wo0*sjIw4{Rl_JJ`Csn-E++0+>7CycX>r>YM;On1d`p&jO(4 zZZj8}{uoB|u=BIQ z#Q3X>g1SW5-Dkar-!sedYrKJGO;op8nzyHwNpQuQx;On}3q$fOQ6kF9J_=;Gn&`cJ z^F3?-1FQD&dSXU+_R(%m~<^IN8m;Ku^$W;TTCS=2_~$+Ur$A09nY= zey?M?g=2b8oKi`|LHO2*O%ayp0W!+QdRHuTk`#qH=-P{e7?CGjF>OK;a^@1WQbt zqfGL3@F)`@_cyE4x^#;CtaqTf81Ixu{TuE&@V`#d`$!kO zay^DnJ8f%sGSuaxl5&6ZODQDa$35IoY3KGTII6)vo#B^D4vj>MhL|1+ekZ=+>>n48n?f{8Cjl*)R#_jpjnmI?Byjsi zh`*O3vV;I~E8u+z|FbIM$5X`mP+pq)I73@N(o=4R6r?+QNQC}yCYHu8CvxoBqxc|~ zV!t*|Hj|jy#F>cZr{OAV{L$}(qJm}E#?IR{gN zA~NzQZYXbmFu)L(XkUEWrnNNu; z2`E+PP0Yol=ViXRV7iJ6w(yOn`4y&_9Ma`Anbzmi`WNKAxYpNtxfG~{8F;=Qgy*Rz zI(VK+ZeBn3_o=LM-11G}`H&CKt9*FA>cjJ)?*N{+#+_`{-E5i$EgXiWS3ds1+zyQj zm5q(cacaXks+v zhNRhCspzCO_Q|ZMl64a49Lyert)tYNhtc>o%!gI}^$ek5PDMN$m?W)_lsGy5&m&bp zr{;ZC90ob&+~W7PqAJ&<$+~P6&O+lX?(ofBRzU3Ka+gBiEbH*iiVk~wyu)vv?eLqI zI(*a2o9@Y8u0BL)Zf|$^&8a~FHT2E79lp7^!#7uT_+|lb2w%+sx3x$keUh`SsCTec z0L)6Au9p$G@&}2w>+lwMlig*RLxVg*IZlHWA>!1*dZEJJ{Ncn|i7IE~pipV(tD>C3 zGUr;k<4Nn7u~wylPVlg)lL#Ji$5G>ts5USai%dBJ0>x1$H+bC=z32)1Y*jPN^nqB5 zO$>^K=CdX^pU)A({z3Cu8<@}6l^xIL?->^GsA=|@#R!&n{z=y5kd0W+s=a=+wpW^% zCqrlN(W|`%VtaN*pN?+$_~8~!oNhQ9_C}>SlX5Amz0-p8u09Pa1nuw z4g}Mv?tZ>`m&gq3xI+;6E^avpbS{|^SDsmkW+*A~QX5*U(*D}${^m85R`Sg)OL>aJ z*$JmjioS7}<2-l596hvt*H0>2OcSw&Lxo9rxFo-wYDrv zM1{EXXu$0o2&8+Mv#XH=d|PcTtv$jln~D6G*(CDXB%gr-*D%!T4`-(hO-{k}iR6Fz zQ*(jZZfc%4%pK98_Lre64_6NUW`fN$-f0w5u=PYj&EB%y;`khITI`z>bG*42ZULNb ztuB>u*qvpePL+a)EhI^BBdZ>2K8z}Gxo;eOn#^*-xTOCQ`)*CXE6D`^vw6 zMkdn}Ad%;1Mt_atbeOltY{2XX_B?|fL6#7TsnSH25QPxeQfFry* zX9gu#?T1L+B<81i^Fwod3Tuh%Y&@DzunpHlh*Sopc#AXZd6fLb(F{tc40vgSSnnZ0 zU?{O4T7tLOY7p1=&f~*r@ZwhaLSNiQQ2?F#?@Z4%hY#c0 z^K7n8nCYI; z?|PO;5TKVhABJ{G4m!HSHZWB8NZhN~4R4QlBRU_*x03wqp{k|}cCN8z#gi?B*t4%4 zj4pH;6`=tivhZY&TzX1)8yf9P_9)lOr+Arrk5==hoA!N}Q&&O*k`<_Z&w;XMkiR89 z`-|iCr46(VeR)eF5*r~7(KMw=o+2HDJGjIMlEZk-N*i05Z}+D+4BFAt**JE z#9Wyy$^5HD5b;nT4rUD)&c3&%Pn{lMll8BA48i&aH;qrwc-sI6Zak0c?J|?o)kW(k z*oegN{clT|S@!-n%?^{vA9O)PG0ERGFm}Wgd&p2lf?Nfe92Xb($1!uV4?3UYtz6=2 zS==>~x0=P>S(S^$Ey?tB#n$(Vj3G_0 zDXZuW7V@tmYsTB)t{M#Wv6emtNj^9eK|uq5HUllV-8$c~%^=kG_@QPOR{1({sJB@e zVf18^rrWK(LkfGF)dL8sxfZYL7Vgd(q7#7dZ=IF)?kw<3H$`b$FJmLt+b3)$LP$Ey zUh@)~F$|e*5TD<|@{hhx4TfI7)*@ynj?rA?WYAkIOkT>FZU3aV2|JaP27szBl_pG!(Aki*j- zbunPi+PZhH1f+9vg{CzZpAOL`N%K;^_#^?^J4#6?)7^<0Xw45&b~<8U+L7hItCw9I z{$=1_?q8=Chq|4g@q*p47e?A(cW!l=?jBKhFVW4lbm#w@qq`e2-PP~a>Fl2P9dQdy zbhn7^{C{(FcXMXZja#?qXEnGn3d_5aP$Efx$1%LhB^Rsong{v0gVs@q1oy@zi7 ze{*y@2U6Zom~%#DBTS|Mvup|l1!tn&=!;^g^l#57Hy6c9+?gEOi4~czDKceuaFOxd zX`yCoXl9wu7lEOIgY#TuwTy%GS$np$AR`hl z#x>f81Gb+-xm!*~Bo0kr89nWXK}(gyZL`0|66qY!!ANd}d+Y2B^>8nuspX{H_$$%0 z2h}rbB)KS7@M=6!+rZX15L%<`eD*eob3<3!>DH?htaURt*|y$#)q1y`^=nDbr<2yG zR_Vw&sCgZt+jbJ!{lo3(;K{chUQby}YB}N+lATX(O)P!5E(-B`eHl^Z0PHp9;u$2@ z{hWtncX9`!i~gD(J=cDZ3v~m9zwE;+rbq9>Vp~97Ik7IiaU|w(;6xP>CAX_z>1Pq% z#sM(#bBP<2==}lyEJ{O}J-2WRy^E(kTH!hy@c=6RVja%gK&dh-)LfFrV%diP39{gU z(Wf&|H8WG{LG;(r3cY!`vc`)H!~abl1#?h}1SPVZh#LaZSy-ANwKWERrK{UUS_)ws zwm90;bf<^6Ors{2E#tN`a#MlHmT_}Y9d>{Y%ea+!eFl@Paxc(*l`DUaMyI`Ia*GBq zuXiou@4n`;$%;YxzIAeb0Q4YC#iy3GrHNLlfRja@YU-*{H4&*~fN5gVM^p9iy2&m@ zu>}!kH*+3M>{2#T-9nqOtb*27JL>$}?nZ0kLw?`0$uG<2;Aodgfi?=*slq85y)Aop zBhGSx`F-WMa2nOBzR@Ofqq4wnB%h>?#$aG=6n?g;GHsJ@HYoxh|JDM}x0i&rXNlXM zMTS_o&bFu2ZBLsjdt0+T1Od0*o+th7S?X`kipjd%ZLr;*zi!p`;7O2WLS^rYtwQSU zLih+2C~xem1Rl%bptqdAlVpMFXUeFd2TBZ0c?E;n&Kg4;<}mXWb#Y{Vnr-_kFg2Bg zuL*T(yK;Hb(GRWf~bu8e2>7~15(-F9u1@iuS$ z>Udb<%pzNe&pa5bHCzkjFi~;gouH!dnbAl*6-F(?lx!9DhbuE-JaWn_5CQ~hgJ#2o zW^0w)a~){5HrmL)bY~MV3FPA0GV;FYsT0(D&Y|9!27)O>{Y#YoH>_Z&tWoXRgO7iM zx6B^Oz~fMrNAOQvj7lbAtEiE%39*Ik%%;g4fqvIKDcUtcqw}20#V%TQOYuRG#_Jc(;52u^oDjbb2URdgb^+fEy{jO$AsWW0b>Pw35y~L%^ZXa_$D4gR|Q-K+7px>D(e$T9+_$SAIO}pd& zkj(LKM{j%l6OC1<0ICh1Ox~a&r~mK$la@1$dx)>HXY~CuqrXuxAqft^WkJ5R{(EUkD`dY%M@#E4uUpYt5tG@ zj#;nH3Av#m<^+d$2kEPa0!R*|+QCm4<*_^hEVpTti*k-~WpI>NG7EVPKXJL)aa$KM zFXs^RgG0QWS;+f<$*!dDwl3t_oTDgs&Enq0M2?B8zEf42gE`_3@%kl)(G-c9IzS+r z**Hzreg~L3AI+9?t6%4^l|XqYt|%+JE}iD;8~znxO9Q{gz}Ctd+Rj^pP{% zakbUCFy?VL8JMWf3bZB#QRGG&oSmJLWT$9z7NfUEoAq||M?H^tZy5wbIQ4#Z1yybZ zb0WS$Fx2ccJWZA~*89z_&Drd(OtU-vW>4m9_GqTrwSKepIh(zlX*S1iMp#;oC48M} z_5r!$b`zqxn%#+BkLHjx?^Z%=191D;V=AE9IoWN46Wy9PR+V3}^{T_yD8ihFq-<&u zx2Ph^qxh5xC4%NwYL=t5dr99~5`y=;cCs9U7a(S+yG=3Q-5Y9lI(`?sEeJKX*_mFh zW|wCw^ZB0TP#=qVSsZW$hF-3+UmggkdYgN(sAwvUIj8bopyefg%eQj2Jin{I5qC}_ z*l`X12E``Uj~an;4mUWj)LFnP(|4X5=9t#9+W^pLK%s!QcHRA?&L;>v^hc2DfDOo*L2Do{34M9Jka0HYZZd@CAJRS z1}xzZaD^p#^$$_ZDe+4*jyH5&HpAdgraV#N_x6#MqINQu$Fb7>&f7I{k(W5k++B?> z=(bAekT7$+CNtcBc8SF#`%JTXeR85jsRr}9QWe;+6ZV-hoe=d@+NUP1fZZ)>kyeFU zN!YQr;BJ;Gm5y72{>Q!-iZ&!#@VbzsA5sSsrLz9W{?L&90hmCPt10}W56byfp840A zH$$6r9h;P!U>8}ZBatYJb8z707UQAjYo}==J+m(EUj`HEy;;qY=8DP4?B;c(&Rhv$IeynHQnx1@P|Dv_=`!oV%HUWS5Tjg~;`12~ASmU0Fe#8P?Q$g4%=X|@{A zMxOLGU8BCXbEec~XYAZWriZ0xl3Gc;^Hp0S)LL~Jb=S|FJ{6OLZF&Ao-6U@fplx)Z z--dJ`eaFPmf|UCdvQ}biu^W3$elA7mA-h`C&6QKZH3+)wzsx0z0w zguR8rO?gE=eygQQ&n)x~(5!Nq?4Dx_GjB2(b=)5#KqT^)YRf;_YV?abRUnJ{E zV@;#0m{;<1nM^h?LTgZp4I5(Ylh@*!cdj@0)w0R2}6{Dcx^S1v`2G=85~G$|^tF zyhCPDcPir&f5-;DHqHiJEF^(QIXNpQV!r9W(a*_|rRm|q5}83ul#^$9=Oq&`?ZPsw z(UuGy{7*)OUR;un|B1z?ODB}5i){FP#qi;{^U5IF_f0Z*ylDjA-Wmb zE<&ldb9t4jS%rVF1TZpiv&|6*SPyV)h(TPT%YmM(s+E|KLFtyT`$GaxtNVkVxfjPY zdj0oqiJTW zVsk;X1@A%u?ih`R-yu%uGB+2Q0(sP#>6JE$__J=*5;JF>#Es2-{Sm1{2f%9P6no6;A?!OltnB*nOJH^d;*>C2qu2J#9+|#{pq&odaY+|?&bwNaz~JofBiH# zm1g+3?K|Jx<=XQM>-gVs*D46)lN>=H!W=O3a*`@>vzeR)h^TXM5r>w}s$iKZkv|3= zzV-v$tw)#n6qrZTq;67GPSgWi{(2@@2;WsjRnWT$^meFiS<;*NAU)`I9ao|pfmHy9 ztbHyzmxJiV>B#8v5Ca19GUe#^HSbe-UmLR_SsEM1)27K33B8H<0AFZvPN4-^x+rsW z!8T{UF8XXOe^2H*(pUYV4qkA}%BxVMyQmTJ3<;9lP7g%0;(^I1P8w=h+! z-R2Yq+}h3u{Oy0x-~LzJ_RsUT|1p32@4_K#+uv`upN+W|9HpPDJ&QK6Jt@@NOSN$~ z=QU~==!nUsv{xJnCr~7aLa&b1aVD7;dLzuz)=nwWto6{8P`s4trNUO&8Wh#E>Z#E6 zi~UMlo7V$sIz0=Qwbu1`zeazd+)KU%00>*nm4B}75Lx{?dz~UHt6mMXI!Fj;0y&ir zpjF=8EA6HY3hio68v}A`0+&!dup?^O_6Y=osMwd*I0(inf=pEeKgK;_l0tbO2yw_H zF1R=eV!Cr7zt*v~puw&~nae%QO((##zoHBgbit{K!&}?%X`hx1zHzI-miB=iGo!hTp{2nT_o@+j;wzut65U>W^Q0g_syu0L)f(*nbFYg$p16hqNZj0oUZV|totqW~ zq03It5nn^kN-g%;pKLB2u)i=ywQi_3@NZs=H^iLDks_czl(yy60!hKHVC!1KNPf%v z>r{3{%lxv+24%O~@I;AHRfd>5aCy286_6UtG8SLxVJ^tmF<^5|h^wCFi2oU4tLX8| ziDj{qRCHlAG5)_|)K_A)damf#la#B_Wbc(sm@~-2DLNhq>3N=+PXRB+RFMRirL=*| zJOr=V(^M&XYoi~x9gY_9TM0uHO8jFeKu8l*%C-(U4z$M#RY0QsQE(EoT`MnfEM9{y z5m{`3{h`$Y!?0G#9~*YOqG!v^uJ?KNw!FctpU?~If(@b9%LFh&ZKR&`rfNWzJ6em6 zJ=&UGH*+BX+O=}UG|%@o=ToGDBD{`$o}voNC$Z0)opFZCHBu<@PHFJNf-*M%%KzDV z1EBo>`WDNTqDC&Wu|*8_A@>Sd7@b44EFy;9h{C%sW#LwR2}JvZ*7Ox5vvYDD!VvI8 zsEPXqhft#$9OZk_X#36@oo7>!9%bDfb#nnNwokTcu^R+jc%3i!94JlE_Yvwv_Ne_5 zQip1iq?xPqL~DkJFX0hlgB3>p-y@rx^D*?f5>{bNNplw$#LAe#XXKz$cfq4#mD4pt z9}t`8bk@;MXAQkv#Y-hXc(>+w`L27Z;4_q`oG@8%qB?*Jfl1Yx3_(zZcy z10A$g(q=*O2#Uqi76N#IRJPqRS%>GMnC!+{K8m(DV^V0oo7^y7|K~jKAg}ihC~~DJ zuyEWdt&kFt+u?N+Z(^CGXMcJ4g`Te7K^w8c|e`R$#*ZWE0W4fv3ca>-p zn-S*Oj!g}%mQfYBxDp*9M$BiK*Ohx&5*K(~e@`Ls-Ftgof2Yot=&~rmT3 zr{kK8c}2_Hw7^Fis;2;%`Ck7Qu{zI4G)p(1L$RUQ{^;?aQ(8Cy(OD(7220m~rC#A| zn|iWP<>z=&$W>#?&tcT}sgk)B3lIrPso5WUcP#oA!G617TC-VI*DF?XH|&2e*gn0R z6`87Xf7I#oZ9}2GnQJG%i#eL3_S~8Ex~Z-K=)4&vNyK{&gA+HiYP;xQIblA$qQDfK z-#k!>HSBQ}WCuv|VhF!~pHZS8Tlp_B1l#sOhaJ0s-O#G8cB>-dh-eq)cOy|eyY9_` zaj>SZ&R@yd`Kzw;EB(2* z`kh<0vHOiVyMNntf8n>B`+GS%-{d+!|69-fgJAaq7y8KjA>E%SapLe&6edE~e2;l( z?@#9Bvej~ykU9hNHltd&PP(VLfbhqIkbpK3WF~QPAIlW115bsFy5h1eE2RZY?R3Nu zn#e#W4c{hdqRIsfbQg4!iD5U>G|Af8E~`fAC4kFWy|_}GsBe4X8hxcpAFR;+I^F47 zuv@B2{o5XzHC4t-G_}7;EE6yJQ@;k?h@&z{aEi-bbepW_h!ME3K{KPF;S`H%?v- z0h#)M(`q9Yrz42$z7k#9S~yo$)`>N8C%5B`1Rws!8Zk2^1+iOVkpt<742)kg$wWyTcsXzTpuqpZjt%4x2-a#BH#7grs>q5bS}F9@3194 zj=4j+(j5eKZ%J3$8k1XC=RDq$gUb z;+LVz4l}nU>kdThn?$wB0tI)@0ZS(kJ%Ff+UOP#p4~E9gC*5VI%iO`yVk=f3CM&$q zI^Wz$l4mgT98-~tJm((D;Ycw8Gw2^T&m&b*@+0o*em_ZOjlFH+T*5v4o69WKz1!{z zTRgNmE^Kv@@uxUaIuFv=1wpqH2TF#;;y?+QzJ>4x8dj}Zk~!_R=l;c*-2?3R<{~fm(9u!y?N0w!QZeA zVJ6to<*XgE-jXoub=>c>38fZP!wGzM`>T6R3e3BZeE3qjZ*nV}tYe;;FJ=B3f*jbA zmos;7gjR|9LDygZ>L0br&HgHX{|{W{wOZvox5~fgTqSpwYn6v{j(pp_Y;%mdy_`*j znqlOIHrpM&hDti$ct>0BZ?PwR>s5MgM;AHsjNQ@KbFTGux7L6E_G@junZzF68Ogyd z`7~}E-NVeIwyit6%Ute_ENMf{EnV%sYME<^T3I4svMfG7{(~TIY`rm2 zguB>hjc@isZnIA5n`|_PlP(8_8D5+G8yMbO)X=paz!0s!0o}jP<4Z_LR0#e`Z;@=2dKhkhiBkj z&BqL^fQwobp(}Bb1tJpsS$MmTw#0ZhVtV%a^iFOO&CRe`gl-X45gl_5g5l3NlDK7E z*Rg}z9F;o0bXeNlRQVLFR`qSe9zv&ffg%vlA$NvexZu1 z;t{RL-sMidd<2L+6lQqW;}|5xS`$$ie@F-{WxTI)TP&^8!@CQPQp?cp^^ zx<5IMPha{dqGV9c%yyBHGtF?v+1KUO6CZ-ex0aSd_y)?W_Ih#e=GZuM+6hfAdnm*|KF(}eDJXOp zy}kpY$P3ucL#_P;pHR2lhN>0BM@2^GoOag+b>_5I59Tk&6Jr#@i2m&{Lf$@$5!OSD zT3|6^9SW0=5m{Ant1-e4t3d;-h?_?%*_V5*zcV*#064R>ukX9D;R82v)g&H9iv+@5 zu+_PS-^K4a4k%v$?uid>qMnU)`S5fnbK&tW{e2ZzdWZ20BOzeO;#oP>?KMY>UA3KK z*XUYH%g=JRy49FZSIBFQypw+plDXyY#}xK7pBE=eau^@*3pvIxM6{l7POi?f1<)?Y z3$*i==KXM|m2PPO+_wgZ=DobZZOA;8gUnrAj@0@i%v{JC@IS%<1{dUd8hgo64@~7Q zOTG=Qm5A0vI@vWUedarbo$tOnn)%GgHDNLjSFabhlOT`ePq&?4(UxYW+Y zO!5W3Z!w*m8th#Yog{r#)pw-a30p3!kR;sO9Oq8OdAhB5Bk>L3+~pZ(SBNSucZ;0x z4_f3s{vt2`2QKm&E%H^j$g6TLQgv!~NSYI&J}I!@eka2s`%)HpFu;FXwMK9+r|UD) zXc^D9!-K;U7u2$(2t#z?2rY31h8cR60GVtTx~dE6h`^zRNS#~L$MAB2wC*@ z7=e>d%s^V5AIqg8&3ADA^FIig?)Q=DqAJpczOjiQdv`#&<*#ih=0+jYOAeW?4IdkVOt7uIF9uI~z2QIPmB$MaV7$m`mqBa|#7FP%=JeQ+1Hs zTcK#6&NQ8@v&KJYBvG~AKGBhVve;bNwb{bwiwfB6p_EaPR@ujVkZiPC<&~4sFcdQj zB9THuO@7-3!PR;<&|9)>I_uqFzAJH1xt*)Ao|Gj$(IquAbUO*Tb5Y=gnqOAbx(?Cp zviE7Y{H@z7sB_asj}2b370_d){sz;()brq$z)bDrKf=FZsle%NH$er~X7GYS!ZTLV zfxgk8HFAg5H!yd|VqQKJ@pn?vupL}4<>-YO0b}V?H~WZ#SDm%tTx_1%WckIHT~Y4? z+@dkSE%MEJ3J4&#QcD5Vt=`6#!a8(~$`dmif~*5!@NACA5vBp*sNl~E7fbYyjrgf_ z6htdjiDx@;rr5hCk5KOYmtC0p?5Vcu4^lTfaRi#ZE{9-$W=};@Ruj+=dFB&MW)+5%6Q`~yWt7FOsjZ}L>Hn)PWjM2ZcG;L+v*V+% zOFW~uadT`w`YoyyjwtR6arbP>1<~Eye-aMTHO!Mrp182if?PDK8>ZFA>od5srJ6x@ zt5?cQe}qHzek^5cKPKj0QXft@fH#Zn@$D07D~c?h3iYg3+~E-lqB#@T^#-SH64pJK zSF+64ipFpBP1ITIz8>E(2JuTA*~dh(2?N%G`dDKQ(^Y*2^Zq^)V%AaB7WL{vsCQ~a zCZ96%-V}>^E`jU&V8=p2?RS9^a1I2{E)Iq%2=NN8tAiJtnj~ZdJMtrfK(wQ&Om$)8H=^15q2W}KrDc2dTbG+@AcDr}JKr?H(v%(W3^itPi{DI;xr_<-5hiei zx3Bq&BdotoDd&&>pS?Gaud2HG|H<9=TrM{k0wF*^5yXmGG&r>NX^qtmS{rO@Tc0-A zKJD}L+s3g@gn0-C6lX)7r(hLOA%a7lf;cO|It#&hY7{4|M4YGJ`?K~rH}@nr4Anlr z@9*{c{R6q@?6Zfp*Is+gYe^b)#Y77nF}FeaadUy^n?ixXXhY)L4{u7POB|8$bh6>}0)@r1iU9)Tx;1rtTXTvMmtW9VDU9DYu8=T(jimz#vwX)8K*?Va;l^4d^~T!edkoEPC% zL#c$W8&LR3Lq2Of5ecv(9TmsmW)aY;JINn4TVixJ6?GJLC8s;DJv7P8s?)ps@%ypM zVnHrgDhwjzYF$HpdWh1yk`*+ctSxP^ZQv{#4FemoD_`?ITm9WN>?jkvOyg+W^l{2{Ih7T{E53cY`bB<}t) zZtvzU?ug&AZ4AR^YINhD1`lUjOp3oa+`Rw5=4~ZXqRdfY7!E|h!f?8`H~0v;kO@=) zzmiRDvYf51_H%{N$#5arY`yUl2QVK-s+FwHNE6mQ3V6BZjt~XrL@2Obhyu+8QJ~qQ zz@MAHECzJa#c48W_hg6xkAMOCJrB=1zmzJI|1JO%@-!27hjX7T_mn*BU0!hNs&q^kgcI)DStf_WdwSriNHSWJMmwmvfzwwmf$8 zMfa5oPj6#R=>Ecjh^3V0a3eRB434pzN-W?5q=OL)_+e2?Vh2SG#t?gDG{1Y}^UEn! zz4f%?uBgpj6&ByC+2=>PHbiopj|S|@n0LJ^bmhN~u{@;igs1ydejRtUDM9i>q(gJ^ zra@tz3Xtp;=1Gdv5ESnf1jU09DDI+`Pi(6~`tMb|t23U$KRQ{un1Q5XuSjg)1+Gs( zFk&q9e_tOerq(h{Zz-ncOhe|BhWfEUKD$rrwD7PQr{tMXB_#QuldQ?{5>Uc`(S`myvoq z>z*h4zqea}(q^c8Fez*J*6yH2yp&smtrL5MAHUY^$66TNw0v|HcR0AzZ=U`ZiQh?m zxm-XMckm23-o>OXgj;Y-@&hV>fRt_~RVuc^#Gg)#Dpf6qi_@UD zU%=V8J{}Ps3YrXAE<%eSWU+KC?w`H1&JuSmc@)yr8^pK3;^>@Pr;=f4m?rCDM%gRJ zou?<~$8&1G6y5+T&Qk)5m(=u|xRI*q^ONO@Ks9tO_ZRpK*r1$Mv&EBZ^auY}`)W%u zlGvQLv#X{mBYr;SciP#SaA$YhjGYxw8!1Xs7^q^G1ypdPAW+#ALkFs?Z#Fux1@0cg zC5zl(ldSHUEdOrqk;lOay~JafpHdr9g0Udv{barmt$)CXu z_!%mcbto#jk(%hcR5d5Q&Yd+ibZdw;UrY0{3^lz-9D^_Ed!V?KXtEArgdq}H4yKl8 zML<52g$C%_jps}2j8ne*%k)hhsAQtW%C{pt_QK<%Zc#D5}&E$-NTjj(AUg~ zQYokcr*y;CiUn)gg!5cBNx~j>ke>3fs&SVq5?*oeVodwEcSsm54gY)8WB(dJa+Sg0 z4TwzM{c#9BN8bIBsu;?cR50~Z==K(eAPV7ohBA6A6B8qWdCu*VHPsiQD_^G>@ViAH&aU zk7{M5S(pD?nNFVUq4)42)R_coqZI@%H$E~i@EPIEMBj2zxXZcZeC2}hF$85jXG~wZ zFqut3oFP+44ryA19LCW-NKpnKkd41=N8a=?X!8Inpg|k#LF49F9Ul;?p3tg)KSDKq zHTcvN;uFbVJU;!}y=Nt%0N8qB!@LV2AyH6A3eMXe)hF8WkwV}fh{x@JLcGX%KoTr% z82RBPk?l`#(>-G5EQ*-mZxySZb#jr+KlKejJU*xZb5OtZgx zwU>@iv73{XT0Lhe*vZ|BHOks`Y{u?rW8Cp_BWLT#p!Wn$=H}q|a)ke3(zAv<$6sZsuX1NV zcsnw`x92CK%w>LWVP#m9A41AupWVXAdAZEw6`sG#4H0qfBtC@1nH5^@&2tR(&J->)F{hEE*k&t=?5ljQ zEzbgzU@3GE3xX-0ioQg6#zqyRT&$6UmKXJ6*W?@$=MGeAva*$^`)X?gJXlUAW0PjR zU;?U`M`ko>){*y8rzD%9k3}Rr=&O!d>%J;?3o=}fmy;TeXqMcK-Ktkm{$6287R~9{ z<>3bYUo@wEZ~wndLWsg#;ord<3v*Zg4A4oE2d=ccb^8ym3 zDBdfC97t`n6jJ#!cQU1ej&`R}>Q#JR!>025laVXN=XG~1G=sbvWS-?yYQ{16x|~5# zc8_N0KtnBRgl3)Cptvhfr^As$GX&1sw333m2J|AvW4u#qiK$~eMh*!juY^droixR} z=4&9N1IcE-YXaQ`W!1@DDIW9skyYt`1i^2DK|{mmmG=BK+;)QWiC)7I>t!w)4tfc; zAG;z5b_;eL8f=foGf0IAu3~NH({=zlkJ4qqE@Ro5*HucGOumi5E?WzbPm&`Hc6wP+ zmHQF(F)XN$Y<-r4iHBGr;I}Clu&78`$8MvClZ%Ga!-r9koY-i$*vv>4R%qIP4_`9s z^+b0O!SYy9SgknLNgM6TRhlA9M;3ee@y1@BP9PYva>kv}UofQD*inMv4-3HXa#QYD zNpvfZ5*y@tUXq#(38lc7ck!}MroZjgn$jx93EZMThYF-vH;+ZrX(beI(04iI`as_Yl7&F`u(g|jh)Rkt9IxvM-5pBy z_9|3sx8h+YWsV2_j_%=Oq>in27fglt(RO~K5xMmyA~XBA*NO8|TaRNS-JQNIm*K*x zn)MZUlcP+Z=N-(^Q<)df0hOmecHpDrG0S9f_rdEtT!3Us*6cX-Z> z+Pszc4&y7a4j&CWytexeKc+)0X1T((vFV>+=CuAn$-E$aLJ;hVig3zscVbXcV9QSS zZB2H4Xh(DWgPiSQD7)m>=x9nn-aiH`F!+n^VEvzuDfp$3qT0S|iJeQe zwL=^DNuKh+4W&9~fh~E$`r4abDzvfC={`Eo9Mt1PIYt(oz_WbRFSEB{!fmnkqj9k< zFyoi`APXahru9GE<;d8-VuZO96Qj&l=&nOaxgSMq))0Z%4=ck+7WC4LR<$A65TXGyXu%Jr+&G3$7`+c zzV7B;(yMNh9>Vv$pDQn_k#bV~M_=4xd2;D7jp9e7d-R!T&m*z4=6oo)%|}^g({2wQ zAt#2P9p%|=cJ*B3-|J-<(SjOw~J= zX*76Kw7bdxuC=CjV&X{*%e6rfu`JSw?`=YP)_qD=&h6dZveaHUt=_A-*$i~$O}I2F zvFb>v(%&j+A>;Y6X1lqXaLVs75}(4~V4AiTulB8WC)I`iY%#2VCncPwmO_8>PExQD z8yqUB(XO8SVE~x?%;@RI2Yb4==xYS?ya-F93Ohb#zq3?^Z482+!P0+3J|Vq$c?K~0 zy*}m~+)qO9*efL|+LdmfKwK4ko@F%8HHua~++R30#65Eyb$!i8{glZ#A=te7L*|&+ z842)E6Qe#aBv+Frp8hTBN~GP97GcAbs)IqJljGeBNVB`bR6a%h6%DpVht-sg9fJ*Y zFCAB%{4EO1HPbmn+K^g4+5>GOG5^wGzn|0tB5W1=q}MELmaz2%(wKWCV+^DxQU#0| z!^KP{Z{@lok!PW93#{8988~lDG!iy4#TEvuS)Wjmovgdx-V-N4$^(VXd#LNgurjmB zv$FbN>qFH$hWW(kBJjL1k=S2Xe3`pHnV{&W*12-BihcN%QY->9u@8)&I|ZHet|*27 z8PpO1G6_xiZ?)x*lTCluV3cd-P-(@lg)8P-lZ6RknHAIXKsjC&TJqUFRRch==vntN zp>!f-SWkn11UX&E=oP?cBy}vvy;o)Ba6HSjWDw(3#s;^MpN_{|lvm1@rz2G}$};<>~7bg!9h|^#8Z8|An#s)$85m z>Obrk_a3@vM#r0W>wUMYRawEF73lV1>(=;+UQjhQWX<;q37Sy;Bof z`UgFR!`!^Z-@WHyG->1gU#5ibiPdqhI)hh3$FoxR3eN_nSgj%$=90>d3DFz6h3Uij zBV-I>GrNeH4ayTDVlS2OxZ9U^^0F*b9()~{YA3j|%3z<0;Jak}uMB>Hjn1rblxHuk zU}FP!-Jc7Mu0+#mB~2b(0BGk%d~e9T#-?`l#$MiUFNsEj=DL<10OYn{>(yiznbssQ4wAs!0+V<=dKpSh3Kn35gRuH`Ga9G6CZs0hOHSQXGr$XHvnk z_ex-a79Fm04idM~XD}Cj6y%)Jw0Uk;*1AJ=Y5lv8Nj)F+Zz&gHa8?{C#{&f)dtKSB zR5tQfm0+8(yeV_Ht77_4nmj%Y-ftkmbnaY>H9+l_pPdP4n=w>JvRhNBX|Yt?@*9G} zQXJ|~YY>4}$kx>pu$)U(HWsbwklu^1i|RMFE3ey@g<0)mZ$9vEa+-;jtB+iIIm{ zJUqRb+24?m8^%NE1N;^?ac;8i-f{I~?ZL8aH9pTgf*Ba+6-Uikk;AN85&ph4TV=mn z#`$f$CH%cI{C#uy`+@NHP4-(nymtYZxxKU!;_CnQU+EeyY2DUvpRy5&uV^U7?(`rT zFg?59(YV3=SB2Y-7{7OFjf*<3xWX6ejjeW}Rhx7p3SbIoolRFIT$j6Tg?)n#vk>@H zz7p_#K24ig1tOpqA{pda!Elr$KiUmes~(FgIjX0@2e=a`fRWYT|jSlkY6tCWM?B~YhdxV8y3`2NAt*5vW9H3qO16F}PY&=J&DxwXYr ziDZ|RwA)HL6s|GQe8fwvef#3JyhDE`_B_7sW5$j>ByV=w=K2HeLB~FN_2x~62ff`J z6PmPHpN?yk`D7uq*gZY22F=Jq@>iEv<$j&@ zWWwJPgQkuFrT2QO!u0O$Etja0NLuVp&**4ZCHDtyl^qft%Ax`7G%jHDnb~VAsnqa5uU}x&NDf`DfTS?1|#PzVBKKIEtHpU3~wG4+R zY7|GbDx3JGCS`+(Co;Uj5h#mnI9Jt;Mj^q4`_GrsGYfPrG?h`BlBx+WoGLzHq1glq$OL0;grG#>^5Y zMnN%c{%LiI-)%0$8hn_(8Pm`2)Xx_){)K)<FhP6dd)xuvnn}GSN>Eg%q{TQvm;Z`r7QB`NR0GD4MRN_XN7Y^nPNanVVm9Rfv~M& zjqj~hVwD_coY=lpkL6&S_`3Scz4=l+vkhLDXEqQGgKO?)-d|y+RBgup&PamnMOZrG z0PGgBBHA}h5y1b=Krljm13m#ySauSly_u31zJUorOl9Cbtt&Jo+*cnkwwG% z+B|(IBCr&?HxUOVZ?+ACLbqkfHQTz^kLSAZcf;c|qG(hMQ27$FPwx{+$WWHH=#mRl zeME)ZLa)-e*AAgtQS&Xk6a8%AVQewO5!u!qFR`@TJ&luYeB&conKf~@EVO)Doc{}p zze15YJpRH1FuhTgR^pS`LhM6ND#_c6` z@AxgYKcG0B3($elv5`K;O_+09a(r-1UT} z43`yzVjaU%e+jY&1jEk>vIhsl&trqJgN0)6L6Tpx?w(M>S)MhKiQk-J-vq}}-y-^^ zA^IXnpA}@s(tYPq_U}B(emUX#YgF-~*k)P173*vxeauceKuvi3z{*`$;cIc;aY$9( z`%?Gp&ZZ=Bj~r5kj)ao3)$W9eHSP=0)O00FlCXeJ9AE9O>0MDk=Drq~6xL1L$eST~ zUL7$ZVhm#Pj?lC?LL-<3H4Zl8-ypTjuYY{Lbxh7=*wW6ZYvNpftqQr~w{k_8RONQ& zGFo1T$pfLi2WpCC@c*Ut9Qk^8C67Uox0FZ^<$Tw+E7ev^Uu{R*mY{r0unSy0mXtkG z-=*IgH0)J%-T3;gy9X7*umIM2cu*6Z7;hX z3{(TdYPHS(qpRGFAfjj@boQTYcbU7sjws>W232?9v8s0;0>hJoXdWJa=?xj^jsq`5 z350zO9{WVJ7uPj(Inc2ggcL2LQg%qYP^mmvZr;|Ai_DHf7fkPKKj#M1!&0;8XtIMOoA$(b#Y>8)+)-*?g*zFDy zv|ErpG$J!X_#Cq<)Z~+H;}@=OEXUb zsY>?(wpH{+m*c;})?wmIQ9B%Mk~|1sA2!G@O^a^AVoF_%iH*Vb(}Ew44|WtRDsk%CepRre^3K-q zcP~fo)L}&HnCN)_49K1ssh0S80GQFy=;qII_bQcWFmkg?Pt2(Gwu#sQdd9PGqyQ5B4;3cgVj>|Gt~UlaVS8ee2P@edZs;i=et0N0<- z`-SJhm?JYR{2s=Mjcn3cVJhMbbrwLgwEW1MixLOoID=KIEq8as&m{+LHFGO_AQ(Ce zNu$(#URJM!6d;-R?Bl537T3vCf*{hc&?%tQ{z<>zZ&zHLc-Xw1%nn}u@9PB#hb zIIeC#<6(c-=ufD>zd9&{Arf8WD107A-mWg_*6rsn7GZ8aeXwugb~}A*jG~Qf7y9o) z+F&-Bb6{ZEdid;+HfVqPxp#3{m00>hnaa-&a!ZcZ^Q?P%8f6!hIrB>6xdS&Ju$8-+ z@B>CF#AF?qBNf7_&eTi90Ym}pUFK;Nt3hj&KWw;04&^-0#&yS7i>v9tSuaCua)dl6 z+6jo@z$FUtX~`ckBtDQ8EHEr7V&(JiQL#DEJt~4LavZVAA-HvSLzX&dLV@e@ZI7YX zk`2d8Y+Q)KuKWYb{^nhX#ND?SA*j0*!s=p|sp%GR5#4`Zqf+nxVJ=w*fK4g)9b(Mq z;cr|MjFzV<1aLNGuKdNyNTU&kNl)ExF4=gX1}RqqM}SHDK++&_PKIGZ3S~+!blE-I zA#~;LZDB%mOz?93TCHK%`-Dkps8f&hUgPtzgq9_~-k*m79xm+atQjrh8NP!{^xTx& z4|>fHB5iHTZa>Zxzgwdvfd9qd`B!=R^7yOGI(_*k*MHk_`iz^1PG88c7dU4+0$ z)c+~Oik@tKo9$ zoFrtLGuOQK^(+*3;{2YghCgZa{c%NjN~?&lk`DRL!xh&fgAn68wlYr z&v|mxGw`N8=WUs=*zPmf#w;#nNbrBr)%n{t&1OC>yIog#wIA$t8|;Dv&gB~H+)cXa z=LS1Dp}|x(F@Lb71qb_^AMAM|S4QIigoagvooa)L(b!Wl0rFn&928)q8KZS}!phLU zNyWlwK=bX#4Zb3g?E=d?{D@CXZ^D_{#@m=nzxUVQs7rrGutJAR|8}8EKkoZMV)OvO z@tpi~gkJMBUC^uR%-*({g;};@+z^%ZP}Y`to^zLcwc%f3oF>TY>a4mnEJk`ClEK|n ztnid?xR1sw=z!h6l;F~DxPQpmoxhc_4jR89bh=zl`4jTV6igo#j{rxgu(a_LlxN_6 zrIA`mzLc!HUDsKXY1DVRFk= zgk*vktah^KsK5RV^u`HSo++8%5Zg8;R%!cAl#Qm8o{R3jd%)jyr!nFqB(9gvJpqEdng;d-Vw9w@cch)3R0Jl@pi4ZE> zGq)C3^c30dC*TgX;m~Gd3!WXM)>*gUuzF+&c2CZnJ={7lfli1%E2<@IL#hJ|fgoVt z^k`a7CP7oIb#<<_*-4u%`f6jKWy1Lmwx;_iV8-hN+6nso*bELJm&klY^uQ=mrHXyF zGx0`oB`0T;`k@l`ZBjI$ z9i)qU|bI@GVaas z#*QzZ0qp{RT2T#XoCgSuGSA}Jd~UFD1eL5i8K=`~?hL-`bXj$R_(WuMP9QF##Lh zKOHuX{&}^v9taO63!%oEycK*x;HOaIORZow86vx4#;bWNxN^FN`4?93dchU=NT$%O zA+|d$BzHE-vxtJ!`IKi-B9HRSDolCSCq3o)cuIFTGr1t;d5%FR$Y{TQs){{l-7N_e zyyGe5Sdv;yM3cf;#@ZQrlC;_;55y+@UNq^?rsG?nS)WrUU1fi(*av3^V(u3lK-ZQ(em+)sfgR$s4G&$ZSJRxpr@d1=$~r!xAaRk;9hRt z#Kb;w`%1evdE&2TIR^QgSvT$pb@DIQuvej`kvopugQGk&n;4!&aq^H!#2gHO2UJ+` zz{Gd^8?4^d{c_?IyYjhuPIH8qdM!~5c#Be=?CYS+oe~lt>c7Xi0@v$719BmFc>kAZRZ~Yi}fnws_-rCU^0r3cK#%hwb!O@1{IG%e?@M!TR9?<(%4QMnNGw@!aQ&B z7N10%xRJ2fAdlq++22t;GV9)z8feQe3<0*G;0Vv=M%c<77cS$?e|;Gj7aU}5Zjc{o zkgTe7|EtSbSa1ZDg-cT}US#D5+Jn=lZBkImW3+(}StTeU)s>Dv9`-C5Y$g}jmtwTF z4_`!#c5J8bwOca0a34t!F3&fCe;4(Z$eU@CDgWMsc}5MPc70X#>Q8O2HC6zn4nWlhMKN zg7#q)EiU28?B$NF;*-_Wr4Ug4kUmnUCHCwu&h}N3YxH&(!K(M*?;6Cui^#2k&FBFf zg1$}gq0((El6L9a=rR-)R_q=j`YVm?d=%d_{UWSZyk-}iC$JS|Q%CaR>+bf0i5F6j zn9nXHU~ostz$!S5?He@|>^h^j!F{W|%;kwTpR6VZvCE8P;x3*JgB)XT1!+t17KX$c z@a_tMr;F0dRe7cZN!~Y9>x~St*DxdgIuhFMZ@aZ*t8vbA4)7R`% z*Q*gT3DX^g0ZS=<(%1M@GqD-IMccla^sHb9#4n3cd2?zl08XMQ!+3iaLi|ywZ*a(N zRYDhjvd!-GewI?-HI1VLQR1p1Jg6G#g8>PG7D>BHwwpJmw9p62zPDj%dmq|?m@h`y zbqZ8wU}jsC*-uWFZg{l&*da8H!Zf#pqhe1U2Zu(1Lr()=` zi~%+w+5zYHkEre3xo>r9t`(=J{pgzH{w()ta=z~5mJK31th?hdQKT}ryu6yOdb{;U zBEa4fL0Ss#2+~?DC-zY5;xF6`b_`#fp(Or*;u)$xkAnEEJIcIpZka-r2vV{I9Fz^1 zHN!UgYOuTRD3EExlp0=F>wmwka@Jlho{olBkHQI-p9gb-r&6#QSI8@(XgP>~6u#jIjOVEcYL zb0QuqsC1`GmM6*GGv&C^5$yzS9^}5Lt&oqCyZ89Y1kLnG6ZWDI!}Nk8Zz+o?W?#u{X25kX0zmz~jI=W8 zU+OESWiewQ<}Mh(n|{%lJcvd0fz8;-okaR&&9&Z770*B$Ys+RA6ff0u0MZ_QqVs>D z=zL(rh|$zF2Rj^_Idx53ZiL|>{(AysdmLmNPOW&x>Vv5$UFl}>1fAvyc!J3qe*09N zHX?75HNnu`@UhjX2(^#()u#1zOOK(0U-B^rq7qF#nnCb%E{(G8ihk*eC4RP7hXtb7 zc*wh}4>u5I38bw_427?Z?`jhf)|?}9B|;;slH*c8 zqsegBFqoS;?H0}u^eG1Khh6!nisU#gXJL3HE*SuBrP!!Z@`XMB7(=*oWzFtIyaDxO z0J3`p&s=u3TEGUv%lQJYbZv!u@7EA3cgM5}Q8?E!qn7_`-On{#8A?3ECU??~?RlSk z^lMVmEe5L0`JX{E#^;^;8+cyntCIshEk3-m!0m8)K9d%^H_q<%%|-Tx+sBo0?QHLk z;`+fewVV5=k=F71=hi8kbN{$)F>g`U#ho^ecutH&QxY?airl%1w#la6Wl`kwE%M~z zqiM>2*{X#?r!Ad;yDUYime|$gx1Bl!H+8!-&$GI5MLttf3?L8LSIdk(eKd`G`W7U@ zQM&LS#cHQqmeP6}teJx)sC`t~0+b9=1kHDS-xJc{?cMm=9m z&ui#8{J*2;7gvNR{vth>WL9$7e%-b+_mFzEH)0jU8i+sPv94{N-A6(+esS9y;aSU~`FWv|Q{oAWHHph#bUTZU*1m(5 z=+0`xTeuvTp{A~vG`Myv33;s%PRkUpYU+GL)8wX(Cd1CAs~1Qc*|je}iL6Q&({rEHcru-qgaPr2u9z~{!j&?7q9N#c(;$f2i`N|f{Q%(n z$%+^cDLmfRc8zR`D-oNe%{Q(@DLi5ChJ1Q7oDL z9L4o|6`&vCp2zNf5KrI7+@L!SOI-YtvqP}yOAaCp80i>tdj_dvHPZSWD)HnPz|SXCq z<)85!3z$3O0&CtGCv`47QBQn5S_$#w%09QJSbL_ThMG#ycM1RhW4fo*o^2OFU}?8Z zs}cFUy=N2fk{AANpwci9)4fhgu^mW$*s~E9law*l9J544e|h`@42D@=qNSF(dybWS zQ0^8Q|5QdDO~m;B=>SHV+qDHgQsoe$No8H@lokzd#DL?w6b~hMjY(pYjb3ThR5Llc zGT3bv#7JpS#xTZ3m`%E{>P7|XMFp1j#EIBlOd{J(C&H*euF1F04urj|+7+?YwV?(?8=j{DNhWq3xOpv!ymbmV2*wuRDjxB}emL#lFzgxK58LX8 zUH|VG_MGmA{g7e%XI?S5%?HvVB+I6XRuz!3!L$w;8%yOa(@E`v^2WaYbiCog%W%+H z?5I^-JVJ9kk>;1cEk1j!1VZ--{x!jbME{7P&C!B|y_A^uTN(FgfHwgNv)%QGE!y~b zht~3@6sEk^)N0SzJ(_k;^zaCPD!|^qg+g7^Ut;6tP2Wz&Q<#0iMJ11NE6^NBc)yN{ zO(Pj&=`_gBMO1L?+!lm80jlslcQdjrlbtq-AqZM5HU2$8V+^X)#mcL&5iRr3x9=vz<>*vDOGn&sgz`LwRHJu zFELb_+wN{X^|5`)7Q71GAp3A>@z1 z1%JyusLPX4UPe$Yh=Cx|#xRiWNeS;*LT3yNhWwGIw@smk%O_L-R|xUTXbhA$ZFdF> z+~*GbzGOm!Ya?-X+?|;=7J3z=U%0(s z8aK$6_UTXHf8?FO?$?j&X}JF6NOv;DS#`nPE_*Arz}mczZfv=WqUFw%>fTRn6z**| z>KyoZvhme9Inx$#8n`on@X<=c(v!=yv=aB>k>X4%Q@iVcg>3axV#wW#y(*PZT&Uav z96V}!RPPqGi(NA+XG3Ab-#4c!flEKfS%RZ{b&92|;X*{a5FR-@VJbo}$i2;ai#agp z+Cf*h4m>cX`=aDV4s!mf=`y4}xH&w}E0e9c!FG1-kRu8ZxC^KIB|VO;AyRWbb%V9k z$NDzg(z{*i7M)@p`>v;0%NAi#u-S>^@Y5+~`MFc<>C7us<<OB7@M+80DWB8u;quNtzt=@HTm*A|l+2I{{F= zopjGq;jnMn3NgJ3C+_1b87!ElZ_rb?R`SwSt2u5}ApCkrS6^3;Kc6V;Wi%6vSHc3@ zj31qBq7~&G@KfEI`mXD1g$U*7s?v=G=+9p*H=$bzAr9QF6T`wAv4ik2%j1YJ~Ha0j*0H%h0z&%utg@q!yd06V+U zPhtvu1e$x3cnqr?i`cZU!=||_gX#jD+NaT^mTYQLu@UH3CIXS&yK7}K+x*G-Pu;mw zq2-0S$5~{LF>JZ=e|b)qbU&xhENjkT1#q#oPnblk{&?A~jAx3tBX$u9$IZ(Q_sNN3 zhhkmy;hV>G`H+v^=!1r*;ke=Mojzegr`Xpgm4w4S-tl!oYYqa|DJ6w^XpDMjK5ldL zab0i9?s-*ACPx%F0nbDues=8UjHvtmKXUiIn37Q6_EL%0w=Jh2uGGeNW>An{eyjN=7AVXxfEShYx^`6n8K~m z6y_ak3hX=?;HXqSVG?b5y`K~{?;MRTVbfDUwbRcnQ}vf$iC#W?WMYzmOC}mrCiEba zeTzZx%AOwR5>>0bsG8VSO=JS9O#aHPk;N1;d37?eQ<41^g&vS@H7#%-rdHGx^iGTl z?f0ZV&Drl8yS3j}oBdwapg;zE30vB-m;qlp9x-E`4EQYQauoA|@1=E8bp`ITKD8ZY z(VUF7DuVCq&D!Gl8DPQiyux+D{IpvfhG$;llm1Mv~k>BI-AUOj(U(**Y(ACFS7?omvYAlUE7w@v2(ZmCq5_jJ(u~Mv+!#FD0wE=d6 zy$n?ANuet}#^*u(k^(sSb_BCGj@fd$u>~-bu21{g9n6#tL{^_K12Z$7uKPns8`cYE zXLZ1=GAaU`4>Mw%+#8NqI1j9U79(T%Z-C+~T;u%dKFr}M=7r~I$$AuLWU5Hb zwJ~OwR2C36u82N9i&|jjSG{Ut4e}6%eKdKa(85fwD#q7xqUV z_ViIrjz9FjdJU_16u1}ej3&}PslY^ra<1@1VIg#J_vDIXxq7n9u5PEzpVB>=(sHKK z7m7|!d(Q~m-52LrJ>BR8pNl5A`rkOg7d64lI#2KgO;AraI>8T^AW~( zICp+oQF2(Yf5x4NZ;YhRlP1*`K#0aNNuOhqdtd>Wb5t##?Csv~6UOGp4#WaFv;%wt z%{GJmF;=o-vzWEp6Wt0&w?v~}_LYzNSofpe5siA`S3c^K-H&=ddr_FKtzte?*y$tj z+an^~XjwBRCeMhJg?UC}+w}>bm{hrx1Q;6?SG%RYZbKsRqp%ogtnb+aLR46FWEWKE zzPHc1>FxCaLcuT{Kx~}#yvd~l*fHO6_BLWOa#>wtZ|>&JRvF^l(`7;bWkK12LHghz zIN8(NSj&ejzGI$IzdtlvT-7_+2Sf}T>T0_Ey(0vCXQb8sX6rf9<7QP)m&?J%~3 z++(iF^{-88-Y@q+k2wfp&{)@y7%I*vHsrY}?Zg_p7v3RmWS}W+Kb+bi&G(!nX$PSY=z=E!~K2};EPpFUa)J18t4_@q{a*ZYKk?9TUiDyIsU7LW53exX-+7z3P z_dp@I+=BU{zVH%oO9?3&fGen{kc+0bCU^8#7r}98#PFF!JLu-Zle>q}0rKodwEIJR z8iz;7!I6x|rQt=;8$R%B3in<@?7_~i4Wk+gaCav*pbBzX;5N?D^PkfBD7T153YUA- z=d**e@Rt+>U3X}1B5`!8Hb7jTRQMh>c(7ZcY;Byxe_V7QPE`hYyXrz~LJS;F8)QQV z^Vl1?y%atTuXg)pPE^(M3I)7-0>Os3zhH08J{jzk_}W0zcU=+|y{yu9xeM?y&+baV z@Hyc1N@01B_|+iK|Hh^ylc?3+cr$q|p( zn-$oJ5W+I?Xh;c1!jvWk)fg&DxU(h zX*s48gljau6PpLZxY1*c$j`y1hj78Z2L`dz z4a-=i6OO-I4~xXt5w}fy7vqPH?*}A?2#;@KL>D|iA0q(s&A9oK$cl*v5uZR^FjrO} zPp+Pbq`Av1TpN^z0YUSj=}pRxP)#BMtrPk3X6|`RjsClZX;ca4)wU?e4fihcwB!Z# zXe#gm)Gr>o2dZQ4IlvWx|VtzVq-&+6OSGz@!_< zlQMTiB^n$=_e#IA2bJAOOY207$3T2;WwXlM;V5bR2N*(7_9kiySh(Sk+~+u;hqgKy z@3zP`CTqDYgsRP*cJ~lY{UCZc>B(*^VX~plz`c98dhX{UGu~KhK09Gv#JQ#;DTL)N znkM|HhC*9LMYOJ$Ml;DEf#C=HO{vFlw z1rVJ8n!8oJ$xuQ#=Jz!z;q2Y{uB z3{wwv2Joy9z!t**fPK@A1Gs*(0bCyexH4HPd~StZ8Vm3#&((vJKAwH}fyFE8A=yo1 z&-S6-y7)%IFJQmO^5MQ&HO78d)!NTJ`6+T*gS%{Rs7{FEmBw!MAK>*9)x|v z*uS)!Nl_{MMR3^>5FfJST?N0>wE0fyXodF|)xpl4P?V@C;={qXs#o#82bx}=u1LRk z#L(N+%PTf6#Xka)iJRMwqBf5~3`MjDH}HG7I~2E6`dnID&yVn3%5CSX&yXst6=W}V z+i}ulKQ^J@E&K*#LB6T3-hMyOLl$Hjg+}JEk&-_63OIIJFRVk3m-eC^y1H3973K%| zd^5vt6{paGrSUrN;g-}=EnO7+iDHVSr`$F2ps~DR8;XT&EavoD9PGwuv1d6JAPw`Q z{q2dn_9*Ce^gv)ZZ9ES~nxBzMyW9d`f zyD}m1e~V>A+EK{0Le%fpT1|_UUr3UE9=q$)SO{+H{B(()s%@xGX~u_~3>irb%_kJq zgRZFl$sETe{6uj}V!JLk`6*cFlbOB8c8DnZMp~8?yy_i=cE+yMr?52lmx7|rNvv~K(*mOHQ_*P)4U0d$!!JQXA>Cef&sIPj$eiOi3}LqGCd`- z`x#{KuSn89BVDpi`1}uCR0#-mmnxS11lF*vo?e#V-X2QMbY@fnrwA-l?heG~l06M1 z^ZJp5HV2Z9nKp$WiDudvBsNo_2=wG(BwSreVn{tt$!Uyont4=tX9_1WM3yi;8QiF{ zlg$v0JRHGuW>G#O{~a~OPMKHeG?dfZKs}-9Q-nDc-m0SHOvE|2ZgTzJLGf&J*nVhQ z6%XAFIPr*HPt%R>o>7e9Sg(DE5BeN~7H7uVr+47$!>4!g=}>&Xp}#O(%lyOpd6*r2 zqDdI%r|aQ2j8&{h++qs2BlG}W&Yf1{-gFhoKWNN(id31vaj|nTo0?oDq7)~@)_kWq z^MtCI_^TFP<&;_RSC8;2OHCjaxMUoqUCm|{Z}PM?DZ|8tvgB)Ctd6(9Nr?Ujde4ja zt94=j6=Q>)(!;!T7H{!k)cp#&|E-s^>tib;5mHXhj=y=Fg9A;&GyA7~xqc}#v= zU>hXoE6TwAWyx*HAF#KdpkfmRySxr2$dfSILC~s`Ki)Ta07qjj_p1CxFRE)v9>7M_ zC+mycPnEv*1Cc7X0Y0L>NQ2zKM|$!Q(Jy*p4-ODY&MD%w@+j?o9_~|o&R;O+ABf66 zO=sU`hA+T=g8^<0=QE_bHOXRTvr636Ik>r*w1YWN{5V$Ln>p!1<|QRH9Kma$T+&jt zl9tAXy>N0(Q2yfpc8!WJ#h9tN$iJC79IJAb`v{Kc2b$$$4i-*C^kJea58(3)j<0uf z$*J;VW^@7}ytFb001b3jpDNn0>PyIbUMa`hb1-P+4O;3hWzcV?YJ$>w#;8bsU(|w1 zO~tU9hTU&NH5O!`TFi?ju|QzVBY023h$XOT%psmZ{@G1UYMaJ9Ne%egaO8^h#zHBpvm-#QD0K zO%8@?r_Bga^s}P+wJY^2jml` znH*aotUIWl$*X)l8wE#D%@{(z);Ri6VB4_l{vMF#8_2Kar!uD~wEM>TK9TVAewqFT zo|~ps`hyy4aZO%}a|*V&E~%RcEz`Q*8q3fEIQ6a#`t9UP2*f&Up~KwKjJ;8cxo9$f zkB0g|J}AzGT$V?=_gS$6e+M8Hy)r$Wy*eo3dgdgGf*mtTy3gK&J#4W1oSRC&>nB#) z_TGY`st;gY(WCtud$1fvxD391p9Uk&euMASw9nroyoYHYt7zLWd(cxqdqyS zDA)^~c9V5>^^7)M4}|l891}>h%%oFpegAsiYSxWZ$@2u)K=|K}gyy+fPJ7%x<6h{) zM|8=-zLW?YDCS9WbNQHyjya#~+U!g|(+Bn@YGuj$Pv(eKGWWBI4B|zZ`v?anhEzVs zt(647*p*o3$S_LqX$V3=c9M@v3GPCOInFwKsZX0aOuMU(v!W2o2#hZ`L$1x_DFSS} zyS&9}-ZHt-vzqDzjX5E!o_ayD+;#Y3S>JonC-nMdcq_eqs&8wjP9vTQwqxFe7JX#U zXw};A+R);3$a9O!QEg~Y9)0tH@njL@Hk5@2DgX5d$8x1)ERF z0j=3{8eJ$c#KCj5QQi)vb~2x|uH=?M6v(*0aJC9%w5~`(Bgiq?XzceBFu|P$mzTi)}R= z&QPv(@_BC?>`hsAWXIiuVjL#8Q0&zgsL!?yM!H$GNDR9KKRDbLOO}5FZ*4^Z=)M^Z za(%+brJdVT%d_tJ8dCpr^+^JgJ@8-DSm87}kM$c`r`?U{z2QN$n}04e+=ghlt7B_= zBwW*a)>JI{ry}?PaZ5tFrHM){&OM2)Ol$jK9Hxf6wdoX;xjz;f?2~A)%UN3zn)L!w zo%(vbmj@xk`8DpVzTuSb#aO}M9-60RyN;+8;_T&D_+Nzvoy~1&h<cum1kuV+-FB$v#HQ-oKG3Q~kOqANa3Hy1;L zc3$RGI=%*d!FX6Ng-GMjURj$w zk?%43)z*5IalDWFP-oc5d?2qAW2@GtD`3U=820AD+FG>ZKsge~Rb(Oe%Fpej*xb-X z&yhaO9fNF1ea8Z+673QvIoc&g#6LZ*{&SVXxDMGjja zAOk)QdaBY_GLrDNHJ3@)#ujA761P)R(DNs}HSa{r?kMF_{)B%o7>1W1Z2ajA}O)}48n95M`x{QTV8u*8aM{2xWOXWi?G7L&Rcph^y~1oUo__?#}co>nHC6||?+ z3zE2{LVJ~rf?l~XQvC15z4-ac1in?34`}L5b#0P8BnQ?f28l4I@|j&60&Qc+4ci>$F@WBW301$FkyGSL(=JV3 ziY=QvLuZJx6&Scs72Je z!&z2y^L6HO?7{Y<@L@F-GW7%hoE6WMlbHHa1mFB;Yw~1@#Jk^cP&9`%2qc=+126(e zH!9!}^g73cvhP-L&IG)>>QYpn5S zQjPbG8n2>pHbZ&Nl0*I6_O0Rrg2J>*S7YDUj@l*YOx4-_$p$<%+IWuxLi5zb{#0uM z1V0sizr(w%(!VtZ+nj2cj|*T~0&+*K==ntiABLsL=CTEk4w0Ee5irr2%bj~OEm4(^9N32aPa0YdfrPRDWp#A}mV zG&;yhiKwVA_eOy>O0$4hP}2Rf1}KuQ4w$&lsk8zAooK<(dc5~8SwsSipYm|c@yOs# z$sXLc4Mui}e-?}tS^ZPN_=H}f-+MsWD^Q%JU7Nia?w0gaR!7k+h}@}|kJa7#N2x4< zIekn}Hi&vc!po@iI@VrBB9n@szb0IZ(2m(=@dDjz%11f1;?Ea&Y1iQEs$dXU$v$4T<#wPy=Ha*vaY%JE| z+B&?kkVEkdhD$_xrgTr%Q96)k%y=~4Gu=I#g1sTNDkIkHuYilcfHxL@*0&~q=l{GLy?hc2v&W^2d)*TOX0HzQ8L5y$!iaem)Hj3B3iE@%8&Ff~ z@2yDOr~6`UkHlzowiQ=_Wn6YdcWA25XX+8ybjP5v8JAm{g=0L8naGD@H1lbZYd*dW z8i@}nL#*KzHuK}DF@9}O7#g%Zi(yH#ydJ8}>^{PUTX9d?e>^WfoZ6}-&OwJps;ZtX z$y1AhUGRlTw}Su_JnO54DqMzGDt9`Bf(LHHga)-slAVGV?p@R({QRyv0~ea2vA#r4 zd^TH$vzgnMO|xjM$H@%|?NI=h%}Vr1p;_UqQ0y|W{FUf=JNLI*Z0OAB4=vm%+q5zp z-Y(B1cK6%0Zjv62aA)_Fqf^#3O>UFN`hfHb-?_Y_P_a-ILEWWYD~iyd42#@g@?Dpq zLr%TIcU`v01#KIcrezQ~fAO)yHk=Q7Ya zabX?r1-kQq6zy2*yW^UrxWogYSK>#e`6qErXDfIOP2{k^`E~!r*_Up(dkv>`-OnwD zNrN#XlQmv0__%DIi_x!fZtDZ(XLf_#%f}*dNv%4sm$x?L4{DHkc|wylXzZ1nR>$Q1 z3h%}}SADQRxOAqTDzL)HCBs(OvZV{G?^s`JLC#*ua>d!#XkEw<`y%`((V8b!*OA*) zjz8l1Duwg>O-|jE+g@qN`nk#6$bZl^O$B?rGq`f?NqV^VGuS(y-zD}6t953dq%x5Y z^O}lS1F>mEneX~Hd+5`bLb5lkD0!OviMV-dIEDPPGyH7g>!kri{z!K6*cLTN=4PC~2Yc^U*Wch8|}Qsx@U#RFyCGo)rVuB*bhu8?cO9XJ0IrKyZQ>Ej;d6Al2J z6RGEsv+SD=&dHBb;FG-^%2XJhT4u;s`OH)I-{dh<1aQC`!c2*EYR~l~*2ywbiQ5WU zC26Ra)K$9Yqz^kX_@+Co8g{ZqFohC*I=%iHsC1JcOZiK@!35b>Aj`{pREc-_j0XOo z+9a@?MZf*r3DX*kJHAN@JZ(+NmEw|T!tu#CZK-GM?^Q5!6=_LRhCd#CdN|ngtq9ojH$#n2I}vNJTNwED z5xD_PqwaAZG|gh^1j!EQZ^lViXK12&O* zsi0VFLejr0tC)mw=xsc!m=|>0y(_@?^UrY@U}iS%*o%{m`3N0(^roRLJioCwQ}a9P z7XmRVO%Qu|H&BE-&A7R{kSKGioAXOCDWC2v4hthOiIAs)$6x#cS!pzD80@G95XGkd zkp~u=ZYrGx#SO{d0{x|v+N|LMOn6btjYP3e4R&?+*Am8_LV3cCLFLCD^{M)9gjQw~ zxZgJ+HX`_kfgNEsq}Z}nM9VsT7m&7NS#r}NQ!f<}I7rVTu=v$+;g4pSN6R8ml^iTB z?fH1z{F38(3oe*L*6=Ki4xrK=y*b?!Ry92QCYl1F-!FN6JC$Gt;tgli=FCX0ll<7u zdxV5Xl+>KJ?(}kQdK2O-$G8McZt0HvLO$u#9e5`K4r!!z5?^#@1!Rl};vXsAd)Z`FoJuLBV(2V_9(y@N?YUg8GM~?%lzyMjeG0B_~|(&LxyV zD_A@Yh{~U09!atW)9n3;axQR-6)qlc=lw3`71z=(>n@qrb||B5<=)DO@g0tmg!Z^E zAJ>@tjyts{oCofyIBDCDHol>not0{u$tpPq++b8cj_^Bo5`t||F)B-g_4Y!q>Szh> z6mmI6Q~Hj3peGi^a(9!t5b381<@t%RTZ06@1=RCnnA`f3lUL;>`rx#NZb`z>HAe~e z5QG~Y*3rF#uV28L@8|E`!Quth@+_&NL-RDQv zc#Y^qa@`;7?l0oV?CxzzYBn|zOQW8aCyj4(**^3~~Tp)O~m zi}PJ#;MMm3mHdOdJMt0f>4M@W8|beSn5I++4d`FJ94%b!>uxq3QPwTStwsv{*0Rdv ze}W6I)p!~DMUcj~1KPgXf07g5e|$c-R@Y|;oYq}_yZAFrQXj?dHe9NX2lzjo3tOFCg0LR0iX6!^$l|{WXLdNU0|APr z|E3b-FsrJhpOqRbJ9r3!5n=-bg8VsuC2P}km@F!QgyHZY_aVxPGB~2Ej;ay*J^?C& zdZ2Gp@?fc!(cd-AXycD+{%_HOmD!{wyhi9`Dpi5!agR{#BrG}H#^um#Q4n2pqcz|( zA;kT`VZbo|IN`lqKn^oBuChwyMuEPNcCoKpPI^bd_+i+t!NK?4O_O1L#st~P@O`8Y zhG3ovT}y{KcjSUDxpdBy+V2I~*-~4(hryUZ=te#(l~9*;ZO3q&ZkeW|z}NRs0!1?* zgYxUh%sNXe$tT!}ZfVnuZW#qaU+PgC%9c;D2=LN@cE4^2_B_I7eJ$AS&w$4iPua>K z>aB(!pHJnI0zWDMZ-xF4DdN&w#wvPKDpz_FSj5Fig}YG}n^(8aFuLVd<3DM14+79Z z1RJy}mA`89w4NUyVb&URXz){oJhOgG5tAXDgW>wmz_Y)vxtFHgFds_Vx_#i@djXyAi|TUsy*r6R_Gyt8aL|{ZKmM!C z-_YiS62&|i+Spu9$LQftDNyJ*q}n*{*v%(EM%_**(~XTT;K(>3$kDj?nHNF4V6Z2I zEq@ZV_`W*Vo5UnX__6_fIU`Ze z=3X<+-!A7-mKwx@SYsoR-`HR`3xwM1SHR^wT!T7bB^IKWd#A6@x6FBDA>XFbL~BqP z?&izd&2^B>-Q7d+?(KLioI&^MNHNrqbo`m zcQ4maY6ngPhu@&{EmWom1sD#84-ShgMpDB(fId{eZ^ErhEc9Wzrng3WcLUnoRC;Fm zwsa#m`X9je^g??v33i;HiOM0-&s3taG~JTEpAn(cuk?p;N^C7T@bs9nk9>+}NaCpE zIa-KAyy(_5Um_s^A%r>OR`+X3_T&&QIl49|8=L$S6MPv&NW1^TChP%EdI4Pi$e`4r zfNMzZfPv&Lf=tQTyW2HrCJ`?hX~l7!CE3_Cd1uuj5`!hDW7_B`z+levq^Xf)|Mo=5 zyhk9&G?K{YCpzEHZv}2iQ`hi^1_6;cd6LIld|d=Wozm;M)zsr!A~kk^^Fze9Kx`cU zA)&mOhZ3&y(BPb$9fu;&+j|=V;#kpLA)WLJ<8u(7HB~ z>`?0LE9>&zkd2)gt&*QfcPm^rtqqtd1<8dIYTdK^ttqNVx<+~xILLojA!1s> ztwb#R9>?j6EoywA!=9f?>`-bL>Q*WgkLDPrdzxR}KsOo7=^gS)trVwVz#{w|gw_KoST@tvnmG$gqqX+K@a`J|JXH3`*wFabs#s zG7VNeV@XzVhtk&| z)mCcHV*gYlb=W;(WS8Udk4*(qoKS_NWLnkFNupuZHDfDjvj~QP9m}}$^>7()@*Pmk zxDQL%aE-i}k%zev)zP|Yqjk;Vb-{IYwAh?=S+sHfx`O0sV$qJK`=omYdZNSmCYfHt z+1M@eeQ2x&s2C7pzA0+{*OJz#`Ty?Z-S`HZ@2Y+c|L;sd&>P7y{LDDVdR_LZ{~KI# zz-2pEw!Pw0a~0CcO=lWUzJbLff#P(gad8YT9L&fr1oLgf7d zfw+0swNdPz3K>)2$FzhgUaz6Q5)1b@iv`~c2+x^Un zj#3EfgeXSHa2jGe8?BJY)u*UdMrt-E)as-lZp}_qEe^j__KRZok3UCg*0*x!;p4AM z7&DAv$Y*`Ihob}54_ha*WRy9?_6dU@?$?xi%kj&R6%N;U+O>2~R&p&6u{KRs!s8bK z$;b*t$cymq`T%O^Cq-IifMv9Ww5n|pKdFCu9P&2)vXeuev0zUm@!l;s-C`gV8la@X zxI6V%8l9^T4}*B0OYlnpF*f7KKG>+0rBZHacsn-4xbDwUc*7}Y+@pc4-%Hu_2H0;m z>-Z{v(ZriSz#UYcSt5TWcX5#wE7KWz6xa@Y4{EU#cMJI}!R9{3vjM0v`szOltRmH; zs>U&cAV`#;L{Ipa19>?hMLv>_cI0Fmzz5Qk=HBJ~8Ft5EW#^Y+Q2h59aW=oifOI@j zX&6sxR8+!X`Pg`0RpJE7qi)Ka69@N&PRt9@gsQ-bJ#~Lrw&##cLStqV476Ojq|aH2 z`IFHGxl0_XY%um-G>~CCyqm0@D5%V&v@3J-5r9ji&@tCBkP1@A3s`1e^pC8c7v8A(xkbs!R?1wp(Cdj;Gphyzz}3mOz_>j(~P9l<>V?iFz>#=Y?W{yfh)$vxpF zYO$~X|L^P7l6%f`p80*gd%QC@il6GB#9*1uVUdx8ee-&0*t~8FK2bfn!kX1(1o=L* zIv#*>W(=FvU9G<|OOpRHzP*jS!Xtv%cS!VMRl!jM2yV>Yz z)bgjl+16Wsb5zG+e`|AVR0da9*Q1CKIZO)0=SW}wYjVEv#NE-QKje;<;5Z7>gD#bq zl6iu>>G8x}x}j!qVWQxMXgBe;;gfBFs^Z=(nbMZ3u19%-{zzQUe`dq$XjUcgl;CxImf5WS@5FS@E8jy0mQ>1vk=$3?Un(06?(2%NhIHJ}~64Kye1U0ss8P${}ez~Pziox72eV8?bb`%Tqu^ZY-SLbxK zVKNNz!PF)<%EG8$s5*yH9uHQC4;?U{G+%P`Il$5>ihghhp?0mac^`;}BTt$uA}Htr z<(mBjPhKodU|2jpYv*AUwlh#c1JuU(rZLs%|wcdQ3w}f1KQt(c}nif;i~ikGuzI7hlewo9*9D3 zc@$4*lyeR$zZ~uK{0I#Ae1(=+=#2Kz9Sp7SQXbg#wP4ZPYnHPX1ad39rj6uu!oEDL!S2LhFE#5D zXoFVrV+3N|j_c=gR{4nmSow;iS0RI6KQCVl+2vkIVzk}yEOUj-)XrkTQ7H3_YAz_} zB~!_8rDV_W!vu&}(igfwpt4th72U?)qnVIC<=Om>v!HR~%mTDfJ?7j z?ENaqCL9PyaF8M_gyYDTqDTgNQfJRY7O)HY8+mByyoN!_1ARct_c;9m3z*9+&HLwE zb!lPr}cx6)dt`;)cI@BpU;f(m z^5ocJab@q!5q^l_&qg@EbIY`l@{K>wCurO)X$DgE3HZydwBUFu-t?AgR5!`4_hr=j zf-K$a9YFA0w2}MYPwup}=A=1TYRk=6Q9m4CBdrNWddDsh=hpWKjL*T4bn5KJ*dV5e zl-U=1(xcV~LUwdrpF8dC2FQpo5zIV{+Xsl;V$5w(0&Hf>{K%_MY)4bP>^N`vdeqR- zw&tViW~(NBm0W&K!#~`Nt%&V}BB=qTM-HavQ*5foV)KHeC!2Q4!Z#^q+rVYxxBiB; zuwgI()QeI^*iV&hWyK67`2x$lf`O}p6#?Y%4UVAykhR!}xx}icBhTr+h32znlRux6 zO$4Rp!8ijTQ`Sa%1$2F5&;Uh^;5BL9An%KinWlm-mZ;6DIkNmKBsXnS)F#{95lwkL z=h3PdOk3l4S)J!0-}wVy!@&8;0gy(Lj3PqTqjl(cRvU;-2^#*B2>@J42qvsi8fRf) z8)9a?ePB{aKc0gq{%`zo6&z?W*5{B(3yO_%C~g;U9&DtAZsJHRCzWrG#`+H|A?$d$ z1i%hUEGF#BT6}TRf{_ySdYUv#{XcPEzDLyoVX5;>GfX4Nb6`E#64n`RC>NU15YQ0@l z48EUu2q&9`aKXl4$Clwj)_%k6gL;tw@j3yg8P_lfkqf44^Xd$Rfo&?^1+lcd=uQsK z`m+EgPDw;8OmKc*O$)O2hvxDX$DEri^s=j*(p4{Ci9~Ey<|G@lpV-ZdZLqi=pR5Ar z5yJ-wtnHZSQ>_A?kM*A^j=(U;@}Gq(EuI-lmQDWWhfHOx2j_R$Tycluiczcll9iZy zFfaGuzTYsHz%Cxw5zTlKFx&*eU(9bRAk8Vo+tpkfO)ZA-FXI@M@RPvhra6{Xs<$q0 z`tDR>IDmM#^wk8g_C)0G8c!6`8Gl&UG2$~A)GQ;FRuQxLZgzB3WaS%)wf5jC%SDRKM~L3W~)l3u=PT|KGKZ6T*TB%(2t%phZub(D@%=e(L;Q({Zj^bC*In>5* zHeca)sveZSw+9W5_rF|6#~|?4GTPs##70b!#q7zt4rnu4IH~EJkd=b`mV_Sx*Om$3 za#%PQsLzK|WG5TQ1+e5OFMB_t<+sPt=`biNULQ8nDZTYl%4_VLB%?T(Yv&{7AJOP= zX*9hR5hC-DwQiWlWv(nY~;ghpFtyRo1$+UvW& zK&9C0d$@-6K_zx%`s@}mJMCT}CzX99yBC~PsFg}LX>&@nIY*?OXQ&m~(^!IQ#Z=i3 zAMir0o}^Vq@C>zj*3L`oIA^qum38#+vj30<^0DpG*U<<#$C7t=*`yq0lG#Ue^u;0B zK3q5PMX{>#t{?}RvP9^Qf}i-0hW7n6`44{3zkoh-Do6XUF1VVb(ii<1H(iHU(*E#5 zt(4z*ds^+WkGK8l@%kojk2ob`wm*zmhb(jV2@T#(3Y;b`-NvmANgrUKj><}hqlrd0 zgKA3&>Pal+&*>F>&fn*GJKHdw(J4Ze1|b&NPWq*HvZIE#og7g{lKGwJD$lRz1=zeBu@hm6(^g#pC?8jzfehQgy~*8ia(F5r5bVXCjP3dCAVyU#D!w>7ptWH z6otwNf{7vs%4&Lq|Fl7Mi5ns!w#8yvfcQ`6HgLO7kLdd4O5h3&{u(peRX~5~9Dx3H zh{C0Fn*4uj(|-fpG%5Fn^3aF0P)BD&BYQgr;*U5+&Ljdjx_wXmrNG)&$`JbIb-pPB zZR`n6F7?Vxs@DElu0NU5C9`Wyv#H?Uru2WkJ>%>}C5_mNJ^54Z|6<#xynSeysB|bI zG}Z@Qw9Af079Rj%ZKaW+X7_h>_--qQ;oFGS4(UgBL$UZKt#t)U~ zSv{NOe7K$um-8Y2^5Js#;rigi1Jjq+&F#U~?e`#@<}{$|mKcT*RVe3K1K=&f-iO{o zgk3CPD{qpK1+;3|R;dxru&cSLs>S6&427F=9I@mlqr7~mxEm%G-2vB^Kk)NhFaL1y zTJR>;u()6PutK)UB~2%?m$K}xx{ayf1Oq%H2c%p+TO`e@s}+p_}WTv_Pa`Y=xugr;f0cojE2V} z=9_=_<=B>I4zPOiC_=u@!gG9<_SS@wd_g z<4I&ss~4~U^4+ZV0AgLcCB8ZU;jU(e5WBP|tPAKitT9X3OzpF)=T*4OX`zi1uiQP! zEK87IM@U6*2^N-pnDke3P*<$?WEy-Z~3Kh6QBY978}nhUK1|A_CI% zY@%P)lr4*m(Y9ZL+JY-U>evw=+h?P7C^6`TJSlj}XE!m~L8hrHkzx${?4L;m8SjT{ z(!*8QAf%_bIV!*=p}wdHg{g}YLt@n^o1Q_7f)|X|Ybr~5)CcEFWHQc_8YuL?oWnPV&?MiL>QhR~sV{K9?&VOS;s`dsF$jFRG zV3Ka`Qjgcu!`)QBwA{KPRcoAqE(+yd%Aeip2?k-ApzYYv*bz3oaoOZm;-EgJ3_WL>yBpZ@HK4-7*S~mo!B5WtM1f$ zyu8EsgkTq^3~l$;M=eeEhW|tUROq2QELkNJlGcij{^>}4J5{xU4lXxM8h|3CC>VhW z&YMV{o*Y&^F;9IsfL)|YNl&Ke%3SS-()v}4GRZ~{TkO!AVzYf;EEFlKF?H_o;%m?X z+N9QQGj?etFJlUj0OlG4qfzJzJjE3#Orm%y;ixRgElWCuHC4LG;uV!lO-8e(jA#w! zL}-m;sn&|hK|hJaAIXb*OOAkaxcRUOw-lCrEp80M(f0UYeKFx5TKb(;+)%W>Zj4S* zCu0oJ7%vzGp+_ioKZYQ&(+k{LX|z{B8e;pZBATtZ6F2u|aYH&OJi8w)T;W;wDcy;h zkf3X&w!)l25jDS%S}(J*8f9}FWmJ0IaK2z?cSV16g&eh5l5+!T%z(pHaJV?>w2CWa z71$4`ctZ)t*qQqxHMpraY8?=3l3kG!c|Qyp2f4H*S@A{K9X7Ik+O;<@Zz@0XxwtaA zB*Wagt8+@3t2KjZTbb(*&Q`Ra)PZkAgjEwGEsnV+A}CFt;63RRe6NEEe&SE?)&Io= z32(9!^m;|NEe6kEQj14-L1TH{ocicqn-N6`KZVJ)ZE(F9JC}pG+W!iy4@v{;Z>wE> zy9?(CtltDN+N*OW&it0#oRJ~|S)kC|3f$jwffP|E+|BWi1Pn}L7S4O^pgB~ORE?A7 z*%U`ESiM$ZPy2blF$+}yhMNM}uJG?k0WVO6DsP+a$r1z^3tl}?JUjTOAkUq}B+_kU;KFsO%|0tl_45Rvx@)!}Jf|OfOkXuN>JCKC@ z+VxLK4$}_jsL-VFBX&Lk%Bl!}awEwDTDPjv0m^04v)_n`D(y`MKzRo<74VxR&8qb) z0nrPxVMI47M0!^)$N6OE@?wV)O)XMTWhZtkb$HVzR_`|D{1lbUFlLkW-8vwKXy3Pp zb$vwp`jR&Q=Z#s4QTvXS_o;O|vu{NjrP&@=Dq`1rL!vE~K2fDT!sMo=b87Q8sq(a~ z?n{oZ2Uc?mB#*cI_9Zty!*-m8vOBmpWDE$CjZ;k8#kpDxTsyL%i}R0|yEs>3IsC~l z&b6@)F3x*1?Zv6}IP{G(H@`UD(#1!dJq9WTRx_D3ac8xOFF6@2@# z^#5?Jzws@{umU*ev5w(^-D;70{f#v&^ZK{;^@!kgjeET*cwKH^?-9J7?_SThS&{kr zzy_zC(JETS|0h`Wz+_??m2;WBS9l`(b_;w_AxWEvy2fql=^U5ihO%G_uI&kJ(32*#pK2%25vyOUrSX$F}ey0kaFC&$GvK~h2JRE=WY?x zEm7uN_s$I|P_GJ9cYcNP@LN>6N()K)E+nOM74XwC$FB?!ZisHtH9R$F_|=?Jr*sWB ztc&{%UxU52JzfS9upzhMhL;BoUk(~xnYrOrLBkhIzKeS zpGU-0Ce5t|>E-;0d1!WYU_{=Q=D}o&2f%0p_3itZJPF^OD27Pcl37-xk1iB6RL1i1 z*aZb-9FNNT5=)AtO~*zpitizi5_0PH`P6`dnnarBP`c(F!* zQK&0(H9?osF+GpMNvk579a+>pX>5Jq)DYnfItd{xN7^&!SpmhP5vMiTxY(`Fz%mv*A$`GG%>ZlwWCq`v#PHUc2`RKdN^-SB3tB`aHe|K@-~DP)^MQK;H`8qDPh>4))vZJ$X#N!m0j0qgXp}sIZG-d zOg{?{FLuRO%Cc>~ctL}04Y|s8w0AgH{A66r(o!<&h+{vO6i<#>3bB=vv7M_6GWO6& zyh-Jqr62h|-38-u`nN=+5sywNv@?AsB0LzH>XP)Se&iUsj;4CCKh?$mld0YwOjSA$ z<|&xClG%Ag0=|I6ZR>c4PvSOCVyk504l9t}NCr4&evo;hT969}--ob#keslb;Bq^{ zvXhPI{l|&P^vf-~!}VltpzH-thM6a;qsLLb3V^6wT5<{uyz0m(@`OOrhWBo^@9_!WUDZJ%YEe#l36V__MSN#QP$Z|!(*QljQvXcvE9A!#}3_#@Yv`0W3TFP?8`eC`)*|S zK1p2okOjT?8=1D|{qJwG9+5JUTqt#@by4iGw*?xq^&^^vRFmzLIn`KTAFW1Jok)yw z=W|6gBlbUBdC~NQOS>9&`Fs`IyW8=rNtK2 zzo5)s!ELfcX(4G$cZEl=L}|fHE4tGlBT-u7Iihsotp5d3y2-OdX(FoBH)jY}0~!}2 z^9j>8EG)4NPq22AL&0rx`>0!&4E4Z9)eA`2KAO$p%PYjWyc0GyhAZe+wN5=|48pD#GZ!$Xw?+EzYB4mOkCaotO*A-zH=bbL@`*%s{C)ie_UV;WecX3sNn9(8EBEHmxAv`CTjQ< zJ||v~?LQ2D*Wp*!H7R=y8TP5W0jfLIiQwG8*NG&$oW)Kv z5bnE?x9OZEz8>u^@%u0rt(@frSil`XWW2-=5St=kd;_!VPtRGt(IuU;yk^#BoaKqx zX;b|U&bO1PKIl*Nwg1Uf-wLLRH~BQ5vwV_`6uwzGEhA_7CMU6Vz*){GY=CneZsuE= zNc3fz%rNgDR9IH&G<4%zgk;`zJ(=%Fyvj(!%z`-qk~x*Wd6b4^)L5h4KmET%GVjxY zkj&EQ0g}l#uXS;pWz)3Hc&JV|%g5tj8<;E0T5e2a#x{#^@+qQ#k@)21sKwX&;+NnI zT3=CrYF~2_?6cj;4}6;ow&407%A(slht7qn+n$Fu^^0o1mXYG)ttJ4)#yYA8XJC6T zW^N_Oat8)n?>eHi*zOXuVh)ibmg}|ETf-Oi4n7-@OjO%7T^}6UGyb7b0+nU79$HG` zz}?v{!mMRl`l0;*Ar86YIjyV+8N!n8dr5B|kbzsUROo8g;B}ME`Et0vM38Nsz-@z= zgK8OTIwhzLi~XgU6o_tNjl?ehKn#iK#uC3SwK%)NVu%oq^R{&p-o`(E&vkSk5LH7ponH+gEVIFLWE= zZg{hR<#}S%bi1iEtCwxIo8RovjLq=FqY5ASMJ6aODj%3%*2GH9uU*{YQQxBsl_4sl zCr@X(P@OBzJt{%^3-d@l9|sHj42;FMEO#$4;D1FsT1vsF)JV{yJb z50a&0AGrx-PT8l?9?Y_7-&>nl(0UKfejnV6cXHul@~J`jP{(c%iu*OyxN|>-&CF@E zjdyajM^BN*0KkQ>K#Nzp$l7ntB%X?A{iWHh_qM{P$A((3Cg@dTe~fBcanvfp`ir>P z)XlLZY3tqLf4yESPnh?RCBy6GoCmmfJ2d=o*A?u)>{FwKJ(4RDHmGH8%jFQOx)C*k ze%GQQ>*%+tKH_j=+wDNCY^qjGv00K3qw{Z@owi&aL9N(m_b#TH7~fHl-rF(M7nuo_v`0x@W=_Tn#pe5~!HZAD zn%*LjG!M*DbpQA~19h8FFIbKEMKQUL{-|P2ttE-Ms5oEDtv3%-?OWN~{)LfD2<_tu z!Zb>B+9dX(cBE}d^3b3aV!Ubynpw3#*kjZ$KE%_4=x)N=WQB}p&g?x99kPXkqbG@F0`s@K9CYrczFa2~|q zQVR2^&05$@8Co8v-l=}Cn&?az>A&|O$Y?#uv`6WLF2q$~ANk{6B*A*a%ohK#@q_b2 zU_^~1;K;E5b~RUl>#SC1os>t6T8dfl(6H`}6%?EQP!+bv^>(5!%=XhcggS1fk{5R8_3z!A z)8}N`n{z=>+oLY+g~zewgC{qN4b1~0vmFzBBgIMEah&oL>Ta&6lCU?}X;?!W{tr6c zIe89tBfrx_I68G&Y<9$YH=2tj&U>&u)`R?a)a!Kvo=*9_^Z|7(z`bIBpO6!9hIbYn z;H;i{@cShLy^o3D@*ET6*P` zxzi?5Sw#|+Jg(2n*ckhcw~Jh?^rUtRxD_8mrYcCaaVBPmJT}Sf0Glre&%8~phhUrh z@2yz(P7ch!_Qu!e$bp!Qo!K?%8|Lg@74ooc#Fk!;kq+;1R<3w!+TjS1*oJ32|y4llOF3<2_6(kLAU4^8T z{$`BTaN|R>Gu)^=a(rK((4n4+bp>Gqv2r=6&ti=&qHbr9`^1VGp;0bklmwIXmsjjDVy(j4M|?T&6LN1C8S0Wl5@(1v`S@qbLC*AEY$zIV_^Gvupb zHVID6{nV@=6Rzq<_dM9%r7!V6)Uo6%z~EF|+LW(_GiSMq`!2Mej= z5~R`JQE!%2*U<;&gvSk`_lhULyaSoYBceb+eNssSnSAn

  • 3|5c_6MKs3PDKr@qr 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

    KfInJm}zsYG6tNZ)ab%ebWs1v3idR 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%0DjU>;Cz)q(Ac? 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 Qf93t0{|_n|Dt{XP2cJC)3;+NC diff --git a/tests/ui/auxiliary/macro_use_helper.rs b/tests/ui/auxiliary/macro_use_helper.rs new file mode 100644 index 0000000000000..c63149a6819c8 --- /dev/null +++ b/tests/ui/auxiliary/macro_use_helper.rs @@ -0,0 +1,55 @@ +extern crate macro_rules; + +// STMT +#[macro_export] +macro_rules! pub_macro { + () => { + let _ = "hello Mr. Vonnegut"; + }; +} + +pub mod inner { + pub use super::*; + + // RE-EXPORT + // this will stick in `inner` module + pub use macro_rules::try_err; + + // ITEM + #[macro_export] + macro_rules! inner_mod { + () => { + #[allow(dead_code)] + pub struct Tardis; + }; + } +} + +// EXPR +#[macro_export] +macro_rules! function { + () => { + if true { + } else { + } + }; +} + +// TYPE +#[macro_export] +macro_rules! ty_mac { + () => { + Vec + }; +} + +mod extern_exports { + pub(super) mod private_inner { + #[macro_export] + macro_rules! pub_in_private { + ($name:ident) => { + let $name = String::from("secrets and lies"); + }; + } + } +} diff --git a/tests/ui/macro_use_import.rs b/tests/ui/macro_use_import.rs deleted file mode 100644 index 6490a2107d5ac..0000000000000 --- a/tests/ui/macro_use_import.rs +++ /dev/null @@ -1,12 +0,0 @@ -// compile-flags: --edition 2018 -#![warn(clippy::macro_use_import)] - -use std::collections::HashMap; -#[macro_use] -use std::prelude; - -fn main() { - let _ = HashMap::::new(); - serde_if_integer128!(""); - println!(); -} diff --git a/tests/ui/macro_use_import.stderr b/tests/ui/macro_use_import.stderr deleted file mode 100644 index 1d86ba584411f..0000000000000 --- a/tests/ui/macro_use_import.stderr +++ /dev/null @@ -1,10 +0,0 @@ -error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_import.rs:5:1 - | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use std::prelude::` - | - = note: `-D clippy::macro-use-import` implied by `-D warnings` - -error: aborting due to previous error - diff --git a/tests/ui/macro_use_imports.rs b/tests/ui/macro_use_imports.rs index 60c64ee8146e5..76911b0c565f0 100644 --- a/tests/ui/macro_use_imports.rs +++ b/tests/ui/macro_use_imports.rs @@ -1,11 +1,40 @@ -// edition:2018 +// compile-flags: --edition 2018 +// aux-build:macro_rules.rs +// aux-build:macro_use_helper.rs + +#![allow(clippy::single_component_path_imports)] #![warn(clippy::macro_use_imports)] -use std::collections::HashMap; #[macro_use] -use std::prelude; +extern crate macro_use_helper as mac; + +#[macro_use] +extern crate clippy_mini_macro_test as mini_mac; + +mod a { + #[macro_use] + use std::prelude; + #[macro_use] + use mac; + #[macro_use] + use mini_mac; + #[macro_use] + use mac::inner; + + #[derive(ClippyMiniMacroTest)] + struct Test; + + fn main() { + pub_macro!(); + inner_mod!(); + pub_in_private!(_var); + function!(); + let v: ty_mac!() = Vec::default(); + + inner::try_err!(); + } +} fn main() { - let _ = HashMap::::new(); println!(); } From 8ffbf6f94d9cc77ade0596ee104f3549b8db452d Mon Sep 17 00:00:00 2001 From: Devin R Date: Fri, 13 Mar 2020 18:54:32 -0400 Subject: [PATCH 03/42] use hashset not map for keeping track of seen macro refs remove stdout, fix clippy warnings, fmtcar --- clippy_lints/src/macro_use.rs | 131 +++++++++---------------- tests/ui/auxiliary/macro_use_helper.rs | 8 +- tests/ui/macro_use_import.stdout | 0 tests/ui/macro_use_imports.rs | 14 +-- tests/ui/macro_use_imports.stderr | 44 ++++++++- 5 files changed, 97 insertions(+), 100 deletions(-) delete mode 100644 tests/ui/macro_use_import.stdout diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 4c89647a57413..9519fa6093bdc 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -2,7 +2,7 @@ use crate::utils::{in_macro, snippet, span_lint_and_sugg}; use hir::def::{DefKind, Res}; use if_chain::if_chain; use rustc_ast::ast; -use rustc_data_structures::fx::FxHashMap; +use rustc_data_structures::fx::FxHashSet; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; @@ -29,7 +29,7 @@ declare_clippy_lint! { const BRACKETS: &[char] = &['<', '>']; -/// MacroRefData includes the name of the macro +/// `MacroRefData` includes the name of the macro /// and the path from `SourceMap::span_to_filename`. #[derive(Debug, Clone)] pub struct MacroRefData { @@ -38,11 +38,11 @@ pub struct MacroRefData { } impl MacroRefData { - pub fn new(name: String, span: Span, ecx: &LateContext<'_, '_>) -> Self { + pub fn new(name: &str, span: Span, ecx: &LateContext<'_, '_>) -> Self { let mut path = ecx.sess().source_map().span_to_filename(span).to_string(); // std lib paths are <::std::module::file type> - // so remove brackets and space + // so remove brackets, space and type. if path.contains('<') { path = path.replace(BRACKETS, ""); } @@ -57,13 +57,12 @@ impl MacroRefData { } #[derive(Default)] +#[allow(clippy::module_name_repetitions)] pub struct MacroUseImports { /// the actual import path used and the span of the attribute above it. imports: Vec<(String, Span)>, - /// the span of the macro reference and the `MacroRefData` - /// for the use of the macro. - /// TODO make this FxHashSet to guard against inserting already found macros - collected: FxHashMap, + /// the span of the macro reference, kept to ensure only one reference is used per macro call. + collected: FxHashSet, mac_refs: Vec<(Span, MacroRefData)>, } @@ -72,34 +71,28 @@ impl_lint_pass!(MacroUseImports => [MACRO_USE_IMPORTS]); impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { fn check_item(&mut self, lcx: &LateContext<'_, '_>, item: &hir::Item<'_>) { if_chain! { - if lcx.sess().opts.edition == Edition::Edition2018; - if let hir::ItemKind::Use(path, _kind) = &item.kind; - if let Some(mac_attr) = item - .attrs - .iter() - .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); - if let Res::Def(DefKind::Mod, id) = path.res; - then { - // println!("{:#?}", lcx.tcx.def_path_str(id)); - for kid in lcx.tcx.item_children(id).iter() { - // println!("{:#?}", kid); - if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { - let span = mac_attr.span.clone(); - - // println!("{:#?}", lcx.tcx.def_path_str(mac_id)); - - self.imports.push((lcx.tcx.def_path_str(mac_id), span)); + if lcx.sess().opts.edition == Edition::Edition2018; + if let hir::ItemKind::Use(path, _kind) = &item.kind; + if let Some(mac_attr) = item + .attrs + .iter() + .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); + if let Res::Def(DefKind::Mod, id) = path.res; + then { + for kid in lcx.tcx.item_children(id).iter() { + if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { + let span = mac_attr.span; + self.imports.push((lcx.tcx.def_path_str(mac_id), span)); + } } - } - } else { + } else { if in_macro(item.span) { let call_site = item.span.source_callsite(); let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = item.span.source_callee() { - if !self.collected.contains_key(&call_site) { - let mac = MacroRefData::new(name.to_string(), callee.def_site, lcx); - self.mac_refs.push((call_site, mac.clone())); - self.collected.insert(call_site, mac); + if !self.collected.contains(&call_site) { + self.mac_refs.push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); + self.collected.insert(call_site); } } } @@ -111,18 +104,16 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { let call_site = attr.span.source_callsite(); let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = attr.span.source_callee() { - if !self.collected.contains_key(&call_site) { - println!("{:?}\n{:#?}", call_site, attr); - + if !self.collected.contains(&call_site) { let name = if name.contains("::") { name.split("::").last().unwrap().to_string() } else { name.to_string() }; - let mac = MacroRefData::new(name, callee.def_site, lcx); - self.mac_refs.push((call_site, mac.clone())); - self.collected.insert(call_site, mac); + self.mac_refs + .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); + self.collected.insert(call_site); } } } @@ -132,16 +123,16 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { let call_site = expr.span.source_callsite(); let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = expr.span.source_callee() { - if !self.collected.contains_key(&call_site) { + if !self.collected.contains(&call_site) { let name = if name.contains("::") { name.split("::").last().unwrap().to_string() } else { name.to_string() }; - let mac = MacroRefData::new(name, callee.def_site, lcx); - self.mac_refs.push((call_site, mac.clone())); - self.collected.insert(call_site, mac); + self.mac_refs + .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); + self.collected.insert(call_site); } } } @@ -151,16 +142,16 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { let call_site = stmt.span.source_callsite(); let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = stmt.span.source_callee() { - if !self.collected.contains_key(&call_site) { + if !self.collected.contains(&call_site) { let name = if name.contains("::") { name.split("::").last().unwrap().to_string() } else { name.to_string() }; - let mac = MacroRefData::new(name, callee.def_site, lcx); - self.mac_refs.push((call_site, mac.clone())); - self.collected.insert(call_site, mac); + self.mac_refs + .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); + self.collected.insert(call_site); } } } @@ -170,10 +161,10 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { let call_site = pat.span.source_callsite(); let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = pat.span.source_callee() { - if !self.collected.contains_key(&call_site) { - let mac = MacroRefData::new(name.to_string(), callee.def_site, lcx); - self.mac_refs.push((call_site, mac.clone())); - self.collected.insert(call_site, mac); + if !self.collected.contains(&call_site) { + self.mac_refs + .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); + self.collected.insert(call_site); } } } @@ -183,22 +174,18 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { let call_site = ty.span.source_callsite(); let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = ty.span.source_callee() { - if !self.collected.contains_key(&call_site) { - let mac = MacroRefData::new(name.to_string(), callee.def_site, lcx); - self.mac_refs.push((call_site, mac.clone())); - self.collected.insert(call_site, mac); + if !self.collected.contains(&call_site) { + self.mac_refs + .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); + self.collected.insert(call_site); } } } } fn check_crate_post(&mut self, lcx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { - for (import, span) in self.imports.iter() { - let matched = self - .mac_refs - .iter() - .find(|(_span, mac)| import.ends_with(&mac.name)) - .is_some(); + for (import, span) in &self.imports { + let matched = self.mac_refs.iter().any(|(_span, mac)| import.ends_with(&mac.name)); if matched { self.mac_refs.retain(|(_span, mac)| !import.ends_with(&mac.name)); @@ -218,30 +205,8 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { if !self.mac_refs.is_empty() { // TODO if not empty we found one we could not make a suggestion for // such as std::prelude::v1 or something else I haven't thought of. - // println!("{:#?}", self.mac_refs); + // If we defer the calling of span_lint_and_sugg we can make a decision about its + // applicability? } } } - -const PRELUDE: &[&str] = &[ - "marker", "ops", "convert", "iter", "option", "result", "borrow", "boxed", "string", "vec", "macros", -]; - -/// This is somewhat of a fallback for imports from `std::prelude` because they -/// are not recognized by `LateLintPass::check_item` `lcx.tcx.item_children(id)` -fn make_path(mac: &MacroRefData, use_path: &str) -> String { - let segs = mac.path.split("::").filter(|s| *s != "").collect::>(); - - if segs.starts_with(&["std"]) && PRELUDE.iter().any(|m| segs.contains(m)) { - return format!( - "std::prelude::{} is imported by default, remove `use` statement", - mac.name - ); - } - - if use_path.split("::").count() == 1 { - return format!("{}::{}", use_path, mac.name); - } - - mac.path.clone() -} diff --git a/tests/ui/auxiliary/macro_use_helper.rs b/tests/ui/auxiliary/macro_use_helper.rs index c63149a6819c8..7cc4e1d736a3d 100644 --- a/tests/ui/auxiliary/macro_use_helper.rs +++ b/tests/ui/auxiliary/macro_use_helper.rs @@ -17,7 +17,7 @@ pub mod inner { // ITEM #[macro_export] - macro_rules! inner_mod { + macro_rules! inner_mod_macro { () => { #[allow(dead_code)] pub struct Tardis; @@ -27,7 +27,7 @@ pub mod inner { // EXPR #[macro_export] -macro_rules! function { +macro_rules! function_macro { () => { if true { } else { @@ -37,7 +37,7 @@ macro_rules! function { // TYPE #[macro_export] -macro_rules! ty_mac { +macro_rules! ty_macro { () => { Vec }; @@ -46,7 +46,7 @@ macro_rules! ty_mac { mod extern_exports { pub(super) mod private_inner { #[macro_export] - macro_rules! pub_in_private { + macro_rules! pub_in_private_macro { ($name:ident) => { let $name = String::from("secrets and lies"); }; diff --git a/tests/ui/macro_use_import.stdout b/tests/ui/macro_use_import.stdout deleted file mode 100644 index e69de29bb2d1d..0000000000000 diff --git a/tests/ui/macro_use_imports.rs b/tests/ui/macro_use_imports.rs index 76911b0c565f0..bc8762df593b6 100644 --- a/tests/ui/macro_use_imports.rs +++ b/tests/ui/macro_use_imports.rs @@ -12,8 +12,6 @@ extern crate macro_use_helper as mac; extern crate clippy_mini_macro_test as mini_mac; mod a { - #[macro_use] - use std::prelude; #[macro_use] use mac; #[macro_use] @@ -26,15 +24,13 @@ mod a { fn main() { pub_macro!(); - inner_mod!(); - pub_in_private!(_var); - function!(); - let v: ty_mac!() = Vec::default(); + inner_mod_macro!(); + pub_in_private_macro!(_var); + function_macro!(); + let v: ty_macro!() = Vec::default(); inner::try_err!(); } } -fn main() { - println!(); -} +fn main() {} diff --git a/tests/ui/macro_use_imports.stderr b/tests/ui/macro_use_imports.stderr index b5e3dbec57277..6bcacd0be1921 100644 --- a/tests/ui/macro_use_imports.stderr +++ b/tests/ui/macro_use_imports.stderr @@ -1,10 +1,46 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:5:1 + --> $DIR/macro_use_imports.rs:15:5 | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use std::prelude::` +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::pub_macro` | = note: `-D clippy::macro-use-imports` implied by `-D warnings` -error: aborting due to previous error +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:15:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner_mod_macro` + +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:15:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::function_macro` + +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:15:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::ty_macro` + +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:15:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::pub_in_private_macro` + +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:17:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest` + +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:19:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner::try_err` + +error: aborting due to 7 previous errors From 1d9e80ad7b5b69caa8b9f9c44d47f26c4bbc4c7b Mon Sep 17 00:00:00 2001 From: Devin R Date: Mon, 23 Mar 2020 22:13:35 -0400 Subject: [PATCH 04/42] remove session --- clippy_lints/src/lib.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 89f55986f634f..991899f89bcb9 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -60,7 +60,6 @@ extern crate rustc_trait_selection; #[allow(unused_extern_crates)] extern crate rustc_typeck; -use rustc::session::Session; use rustc_data_structures::fx::FxHashSet; use rustc_lint::LintId; use rustc_session::Session; From 8bc106b29d3d2ee382f6dc4a2e9d6eecf534c6ed Mon Sep 17 00:00:00 2001 From: Devin R Date: Sun, 10 May 2020 09:06:33 -0400 Subject: [PATCH 05/42] fix some of the review, rename, fmt, refactor --- clippy_lints/src/lib.rs | 3 +- clippy_lints/src/macro_use.rs | 130 +++++++++++++++------------------- tests/ui/macro_use_imports.rs | 2 +- 3 files changed, 60 insertions(+), 75 deletions(-) diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 991899f89bcb9..021fbe932d895 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -1060,7 +1060,8 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: let max_struct_bools = conf.max_struct_bools; store.register_early_pass(move || box excessive_bools::ExcessiveBools::new(max_struct_bools, max_fn_params_bools)); store.register_early_pass(|| box option_env_unwrap::OptionEnvUnwrap); - store.register_late_pass(|| box wildcard_imports::WildcardImports); + let warn_on_all_wildcard_imports = conf.warn_on_all_wildcard_imports; + store.register_late_pass(move || box wildcard_imports::WildcardImports::new(warn_on_all_wildcard_imports)); store.register_late_pass(|| box verbose_file_reads::VerboseFileReads); store.register_late_pass(|| box redundant_pub_crate::RedundantPubCrate::default()); store.register_late_pass(|| box unnamed_address::UnnamedAddress); diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 9519fa6093bdc..9c8035f54a923 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -38,8 +38,8 @@ pub struct MacroRefData { } impl MacroRefData { - pub fn new(name: &str, span: Span, ecx: &LateContext<'_, '_>) -> Self { - let mut path = ecx.sess().source_map().span_to_filename(span).to_string(); + pub fn new(name: &str, callee: Span, cx: &LateContext<'_, '_>) -> Self { + let mut path = cx.sess().source_map().span_to_filename(callee).to_string(); // std lib paths are <::std::module::file type> // so remove brackets, space and type. @@ -63,15 +63,37 @@ pub struct MacroUseImports { imports: Vec<(String, Span)>, /// the span of the macro reference, kept to ensure only one reference is used per macro call. collected: FxHashSet, - mac_refs: Vec<(Span, MacroRefData)>, + mac_refs: Vec, } impl_lint_pass!(MacroUseImports => [MACRO_USE_IMPORTS]); +impl MacroUseImports { + fn push_unique_macro(&mut self, cx: &LateContext<'_, '_>, name: &str, call_site: Span, callee: Span) { + if !self.collected.contains(&call_site) { + let name = if name.contains("::") { + name.split("::").last().unwrap().to_string() + } else { + name.to_string() + }; + + self.mac_refs.push(MacroRefData::new(&name, callee, cx)); + self.collected.insert(call_site); + } + } + + fn push_unique_macro_pat_ty(&mut self, cx: &LateContext<'_, '_>, name: &str, call_site: Span, callee: Span) { + if !self.collected.contains(&call_site) { + self.mac_refs.push(MacroRefData::new(&name, callee, cx)); + self.collected.insert(call_site); + } + } +} + impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { - fn check_item(&mut self, lcx: &LateContext<'_, '_>, item: &hir::Item<'_>) { + fn check_item(&mut self, cx: &LateContext<'_, '_>, item: &hir::Item<'_>) { if_chain! { - if lcx.sess().opts.edition == Edition::Edition2018; + if cx.sess().opts.edition == Edition::Edition2018; if let hir::ItemKind::Use(path, _kind) = &item.kind; if let Some(mac_attr) = item .attrs @@ -79,126 +101,88 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); if let Res::Def(DefKind::Mod, id) = path.res; then { - for kid in lcx.tcx.item_children(id).iter() { + for kid in cx.tcx.item_children(id).iter() { if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { let span = mac_attr.span; - self.imports.push((lcx.tcx.def_path_str(mac_id), span)); + self.imports.push((cx.tcx.def_path_str(mac_id), span)); } } } else { - if in_macro(item.span) { - let call_site = item.span.source_callsite(); - let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = item.span.source_callee() { - if !self.collected.contains(&call_site) { - self.mac_refs.push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); - self.collected.insert(call_site); + if in_macro(item.span) { + let call_site = item.span.source_callsite(); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); + if let Some(callee) = item.span.source_callee() { + if !self.collected.contains(&call_site) { + self.mac_refs.push(MacroRefData::new(&name, callee.def_site, cx)); + self.collected.insert(call_site); + } } } - } } } } - fn check_attribute(&mut self, lcx: &LateContext<'_, '_>, attr: &ast::Attribute) { + fn check_attribute(&mut self, cx: &LateContext<'_, '_>, attr: &ast::Attribute) { if in_macro(attr.span) { let call_site = attr.span.source_callsite(); - let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = attr.span.source_callee() { - if !self.collected.contains(&call_site) { - let name = if name.contains("::") { - name.split("::").last().unwrap().to_string() - } else { - name.to_string() - }; - - self.mac_refs - .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); - self.collected.insert(call_site); - } + self.push_unique_macro(cx, &name, call_site, callee.def_site); } } } - fn check_expr(&mut self, lcx: &LateContext<'_, '_>, expr: &hir::Expr<'_>) { + fn check_expr(&mut self, cx: &LateContext<'_, '_>, expr: &hir::Expr<'_>) { if in_macro(expr.span) { let call_site = expr.span.source_callsite(); - let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = expr.span.source_callee() { - if !self.collected.contains(&call_site) { - let name = if name.contains("::") { - name.split("::").last().unwrap().to_string() - } else { - name.to_string() - }; - - self.mac_refs - .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); - self.collected.insert(call_site); - } + self.push_unique_macro(cx, &name, call_site, callee.def_site); } } } - fn check_stmt(&mut self, lcx: &LateContext<'_, '_>, stmt: &hir::Stmt<'_>) { + fn check_stmt(&mut self, cx: &LateContext<'_, '_>, stmt: &hir::Stmt<'_>) { if in_macro(stmt.span) { let call_site = stmt.span.source_callsite(); - let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = stmt.span.source_callee() { - if !self.collected.contains(&call_site) { - let name = if name.contains("::") { - name.split("::").last().unwrap().to_string() - } else { - name.to_string() - }; - - self.mac_refs - .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); - self.collected.insert(call_site); - } + self.push_unique_macro(cx, &name, call_site, callee.def_site); } } } - fn check_pat(&mut self, lcx: &LateContext<'_, '_>, pat: &hir::Pat<'_>) { + fn check_pat(&mut self, cx: &LateContext<'_, '_>, pat: &hir::Pat<'_>) { if in_macro(pat.span) { let call_site = pat.span.source_callsite(); - let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = pat.span.source_callee() { - if !self.collected.contains(&call_site) { - self.mac_refs - .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); - self.collected.insert(call_site); - } + self.push_unique_macro_pat_ty(cx, &name, call_site, callee.def_site); } } } - fn check_ty(&mut self, lcx: &LateContext<'_, '_>, ty: &hir::Ty<'_>) { + fn check_ty(&mut self, cx: &LateContext<'_, '_>, ty: &hir::Ty<'_>) { if in_macro(ty.span) { let call_site = ty.span.source_callsite(); - let name = snippet(lcx, lcx.sess().source_map().span_until_char(call_site, '!'), "_"); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = ty.span.source_callee() { - if !self.collected.contains(&call_site) { - self.mac_refs - .push((call_site, MacroRefData::new(&name, callee.def_site, lcx))); - self.collected.insert(call_site); - } + self.push_unique_macro_pat_ty(cx, &name, call_site, callee.def_site); } } } - fn check_crate_post(&mut self, lcx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { + fn check_crate_post(&mut self, cx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { for (import, span) in &self.imports { - let matched = self.mac_refs.iter().any(|(_span, mac)| import.ends_with(&mac.name)); + let matched = self.mac_refs.iter().any(|mac| import.ends_with(&mac.name)); if matched { - self.mac_refs.retain(|(_span, mac)| !import.ends_with(&mac.name)); + self.mac_refs.retain(|mac| !import.ends_with(&mac.name)); let msg = "`macro_use` attributes are no longer needed in the Rust 2018 edition"; let help = format!("use {}", import); span_lint_and_sugg( - lcx, + cx, MACRO_USE_IMPORTS, *span, msg, "remove the attribute and import the macro directly, try", help, - Applicability::HasPlaceholders, + Applicability::MaybeIncorrect, ) } } diff --git a/tests/ui/macro_use_imports.rs b/tests/ui/macro_use_imports.rs index bc8762df593b6..2d4f71e5d5329 100644 --- a/tests/ui/macro_use_imports.rs +++ b/tests/ui/macro_use_imports.rs @@ -22,7 +22,7 @@ mod a { #[derive(ClippyMiniMacroTest)] struct Test; - fn main() { + fn test() { pub_macro!(); inner_mod_macro!(); pub_in_private_macro!(_var); From 451363dc59b3030fee82e4faf04684c068f619cc Mon Sep 17 00:00:00 2001 From: Devin R Date: Thu, 14 May 2020 18:20:07 -0400 Subject: [PATCH 06/42] still working on displaying nested imports --- clippy_lints/src/macro_use.rs | 291 +++++++++++++++++++++++++--------- 1 file changed, 214 insertions(+), 77 deletions(-) diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 9c8035f54a923..8dddd6d716d8e 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -2,7 +2,7 @@ use crate::utils::{in_macro, snippet, span_lint_and_sugg}; use hir::def::{DefKind, Res}; use if_chain::if_chain; use rustc_ast::ast; -use rustc_data_structures::fx::FxHashSet; +use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_lint::{LateContext, LateLintPass, LintContext}; @@ -38,7 +38,7 @@ pub struct MacroRefData { } impl MacroRefData { - pub fn new(name: &str, callee: Span, cx: &LateContext<'_, '_>) -> Self { + pub fn new(name: String, callee: Span, cx: &LateContext<'_, '_>) -> Self { let mut path = cx.sess().source_map().span_to_filename(callee).to_string(); // std lib paths are <::std::module::file type> @@ -50,7 +50,7 @@ impl MacroRefData { path = path.split(' ').next().unwrap().to_string(); } Self { - name: name.to_string(), + name, path, } } @@ -69,23 +69,31 @@ pub struct MacroUseImports { impl_lint_pass!(MacroUseImports => [MACRO_USE_IMPORTS]); impl MacroUseImports { - fn push_unique_macro(&mut self, cx: &LateContext<'_, '_>, name: &str, call_site: Span, callee: Span) { - if !self.collected.contains(&call_site) { - let name = if name.contains("::") { - name.split("::").last().unwrap().to_string() - } else { - name.to_string() - }; - - self.mac_refs.push(MacroRefData::new(&name, callee, cx)); - self.collected.insert(call_site); + fn push_unique_macro(&mut self, cx: &LateContext<'_, '_>, span: Span) { + let call_site = span.source_callsite(); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); + if let Some(callee) = span.source_callee() { + if !self.collected.contains(&call_site) { + let name = if name.contains("::") { + name.split("::").last().unwrap().to_string() + } else { + name.to_string() + }; + + self.mac_refs.push(MacroRefData::new(name, callee.def_site, cx)); + self.collected.insert(call_site); + } } } - fn push_unique_macro_pat_ty(&mut self, cx: &LateContext<'_, '_>, name: &str, call_site: Span, callee: Span) { - if !self.collected.contains(&call_site) { - self.mac_refs.push(MacroRefData::new(&name, callee, cx)); - self.collected.insert(call_site); + fn push_unique_macro_pat_ty(&mut self, cx: &LateContext<'_, '_>, span: Span) { + let call_site = span.source_callsite(); + let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); + if let Some(callee) = span.source_callee() { + if !self.collected.contains(&call_site) { + self.mac_refs.push(MacroRefData::new(name.to_string(), callee.def_site, cx)); + self.collected.insert(call_site); + } } } } @@ -93,104 +101,233 @@ impl MacroUseImports { impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { fn check_item(&mut self, cx: &LateContext<'_, '_>, item: &hir::Item<'_>) { if_chain! { - if cx.sess().opts.edition == Edition::Edition2018; - if let hir::ItemKind::Use(path, _kind) = &item.kind; - if let Some(mac_attr) = item - .attrs - .iter() - .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); - if let Res::Def(DefKind::Mod, id) = path.res; - then { - for kid in cx.tcx.item_children(id).iter() { - if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { - let span = mac_attr.span; - self.imports.push((cx.tcx.def_path_str(mac_id), span)); - } - } - } else { - if in_macro(item.span) { - let call_site = item.span.source_callsite(); - let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = item.span.source_callee() { - if !self.collected.contains(&call_site) { - self.mac_refs.push(MacroRefData::new(&name, callee.def_site, cx)); - self.collected.insert(call_site); - } - } + if cx.sess().opts.edition == Edition::Edition2018; + if let hir::ItemKind::Use(path, _kind) = &item.kind; + if let Some(mac_attr) = item + .attrs + .iter() + .find(|attr| attr.ident().map(|s| s.to_string()) == Some("macro_use".to_string())); + if let Res::Def(DefKind::Mod, id) = path.res; + then { + for kid in cx.tcx.item_children(id).iter() { + if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { + let span = mac_attr.span; + self.imports.push((cx.tcx.def_path_str(mac_id), span)); } + } + } else { + if in_macro(item.span) { + self.push_unique_macro_pat_ty(cx, item.span); + } } } } fn check_attribute(&mut self, cx: &LateContext<'_, '_>, attr: &ast::Attribute) { if in_macro(attr.span) { - let call_site = attr.span.source_callsite(); - let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = attr.span.source_callee() { - self.push_unique_macro(cx, &name, call_site, callee.def_site); - } + self.push_unique_macro(cx, attr.span); } } fn check_expr(&mut self, cx: &LateContext<'_, '_>, expr: &hir::Expr<'_>) { if in_macro(expr.span) { - let call_site = expr.span.source_callsite(); - let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = expr.span.source_callee() { - self.push_unique_macro(cx, &name, call_site, callee.def_site); - } + self.push_unique_macro(cx, expr.span); } } fn check_stmt(&mut self, cx: &LateContext<'_, '_>, stmt: &hir::Stmt<'_>) { if in_macro(stmt.span) { - let call_site = stmt.span.source_callsite(); - let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = stmt.span.source_callee() { - self.push_unique_macro(cx, &name, call_site, callee.def_site); - } + self.push_unique_macro(cx, stmt.span); } } fn check_pat(&mut self, cx: &LateContext<'_, '_>, pat: &hir::Pat<'_>) { if in_macro(pat.span) { - let call_site = pat.span.source_callsite(); - let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = pat.span.source_callee() { - self.push_unique_macro_pat_ty(cx, &name, call_site, callee.def_site); - } + self.push_unique_macro_pat_ty(cx, pat.span); } } fn check_ty(&mut self, cx: &LateContext<'_, '_>, ty: &hir::Ty<'_>) { if in_macro(ty.span) { - let call_site = ty.span.source_callsite(); - let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); - if let Some(callee) = ty.span.source_callee() { - self.push_unique_macro_pat_ty(cx, &name, call_site, callee.def_site); - } + self.push_unique_macro_pat_ty(cx, ty.span); } } fn check_crate_post(&mut self, cx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { + let mut import_map = FxHashMap::default(); for (import, span) in &self.imports { - let matched = self.mac_refs.iter().any(|mac| import.ends_with(&mac.name)); + let found_idx = self.mac_refs.iter().position(|mac| import.ends_with(&mac.name)); + + if let Some(idx) = found_idx { + let _ = self.mac_refs.remove(idx); + proccess_macro_path(*span, import, &mut import_map); + } + } + println!("{:#?}", import_map); + let mut imports = vec![]; + for (root, rest) in import_map { + let mut path = format!("use {}::", root); + let mut s = None; + let mut count = 1; + let rest_len = rest.len(); + if rest_len > 1 { + path.push_str("{"); + } + for m in &rest { + println!("{} => {:?}", root, m); + if count == 1 { + s = Some(m.span()); + } + + let comma = if rest_len == count { "" } else { ", " }; + match m { + ModPath::Item { item, .. } => { + path.push_str(&format!("{}{}", item, comma)); + } + ModPath::Nested { names, item, span } => { + let nested = rest.iter() + // filter "self" out + .filter(|other_m| other_m != &m) + // this matches the first path segment and filters non ModPath::Nested items + .filter(|other_m| other_m.matches(0, m)) + .collect::>(); + + println!("{:#?}", nested); + + if nested.is_empty() { + path.push_str(&format!("{}::{}{}", names.join("::").to_string(), item, comma)) + } else { + // use mod_a::{mod_b::{one, two}, mod_c::item, item1, item2} + let mod_path = if names.len() - 1 > 0 { + ModPath::Nested { names: names.clone(), item: item.to_string(), span: *span, } + } else { + ModPath::Item { item: names[0].to_string(), span: *span, } + }; + let names = recursive_path_push(mod_path, comma, &rest, String::new()); + path.push_str(&format!("{}::{{{}}}{}", names, item, comma)) + } + } + } + count += 1; + } + if rest_len > 1 { + path.push_str("};"); + } + if let Some(span) = s { + imports.push((span, path)) + } + } - if matched { - self.mac_refs.retain(|mac| !import.ends_with(&mac.name)); - let msg = "`macro_use` attributes are no longer needed in the Rust 2018 edition"; + if !self.mac_refs.is_empty() { + // TODO if not empty we found one we could not make a suggestion for + // such as std::prelude::v1 or something else I haven't thought of. + // If we defer the calling of span_lint_and_sugg we can make a decision about its + // applicability? + } else { + for (span, import) in imports { let help = format!("use {}", import); span_lint_and_sugg( cx, MACRO_USE_IMPORTS, - *span, - msg, + span, + "`macro_use` attributes are no longer needed in the Rust 2018 edition", "remove the attribute and import the macro directly, try", help, Applicability::MaybeIncorrect, ) } } - if !self.mac_refs.is_empty() { - // TODO if not empty we found one we could not make a suggestion for - // such as std::prelude::v1 or something else I haven't thought of. - // If we defer the calling of span_lint_and_sugg we can make a decision about its - // applicability? + } +} + +#[derive(Debug, PartialEq)] +enum ModPath { + Item { item: String, span: Span, }, + Nested { names: Vec, item: String, span: Span, }, +} + +impl ModPath { + fn span(&self) -> Span { + match self { + Self::Item { span, .. } => *span, + Self::Nested { span, .. } => *span, + } + } + + fn item(&self) -> &str { + match self { + Self::Item { item, .. } => item, + Self::Nested { item, .. } => item, + } + } + + fn matches(&self, idx: usize, other: &ModPath) -> bool { + match (self, other) { + (Self::Item { item, .. }, Self::Item { item: other_item, .. }) => item == other_item, + (Self::Nested { names, .. }, Self::Nested { names: other_names, .. }) => { + match (names.get(idx), other_names.get(idx)) { + (Some(seg), Some(other_seg)) => seg == other_seg, + (_, _) => false, + } + } + (_, _) => false, + } + } +} + +fn proccess_macro_path(span: Span, import: &str, import_map: &mut FxHashMap>) { + let mut mod_path = import.split("::").collect::>(); + + if mod_path.len() == 2 { + let item_list = import_map.entry(mod_path[0].to_string()) + .or_insert(vec![]); + + if !item_list.iter().any(|mods| mods.item() == mod_path[1]) { + item_list.push(ModPath::Item{ + item: mod_path[1].to_string(), + span, + }); + } + } else if mod_path.len() > 2 { + let first = mod_path.remove(0); + let name = mod_path.remove(mod_path.len() - 1); + + let nested = ModPath::Nested { + names: mod_path.into_iter().map(ToString::to_string).collect(), + item: name.to_string(), + span, + }; + import_map.entry(first.to_string()) + .or_insert(vec![]) + .push(nested); + } else { + unreachable!("test to see if code path hit TODO REMOVE") + } +} + +fn recursive_path_push(module: ModPath, comma: &str, rest: &[ModPath], mut path: String) -> String { + match &module { + ModPath::Item { item, .. } => { + path.push_str(&format!("{}{}", item, comma)); + } + ModPath::Nested { names, item, span } => { + let nested = rest.iter() + // filter "self" out + .filter(|other_m| other_m != &&module) + // this matches the first path segment and filters non ModPath::Nested items + .filter(|other_m| other_m.matches(0, &module)) + .collect::>(); + + println!("{:#?}", nested); + + if nested.is_empty() { + path.push_str(&format!("{}::{}{}", names.join("::").to_string(), item, comma)) + } else { + // use mod_a::{mod_b::{one, two}, mod_c::item, item1, item2} + let mod_path = if names.len() - 1 > 0 { + ModPath::Nested { names: names.clone(), item: item.to_string(), span: *span, } + } else { + ModPath::Item { item: names[0].to_string(), span: *span, } + }; + let names = recursive_path_push(mod_path, comma, rest, path.to_string()); + // path.push_str(&format!("{}{}", item, comma)); + } } } + path } From d4f60b5ff42a4e8b5889879664002f90dacd6c04 Mon Sep 17 00:00:00 2001 From: Devin R Date: Fri, 15 May 2020 08:36:56 -0400 Subject: [PATCH 07/42] wip: of handling nested import paths for multi-macro paths --- clippy_lints/src/macro_use.rs | 197 ++++++++++++++----------- tests/ui/auxiliary/macro_use_helper.rs | 5 + tests/ui/macro_use_imports.rs | 4 + tests/ui/macro_use_imports.stderr | 38 +---- 4 files changed, 122 insertions(+), 122 deletions(-) diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 8dddd6d716d8e..1e1f27e9430c7 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -49,10 +49,7 @@ impl MacroRefData { if path.contains(' ') { path = path.split(' ').next().unwrap().to_string(); } - Self { - name, - path, - } + Self { name, path } } } @@ -79,7 +76,7 @@ impl MacroUseImports { } else { name.to_string() }; - + self.mac_refs.push(MacroRefData::new(name, callee.def_site, cx)); self.collected.insert(call_site); } @@ -91,7 +88,8 @@ impl MacroUseImports { let name = snippet(cx, cx.sess().source_map().span_until_char(call_site, '!'), "_"); if let Some(callee) = span.source_callee() { if !self.collected.contains(&call_site) { - self.mac_refs.push(MacroRefData::new(name.to_string(), callee.def_site, cx)); + self.mac_refs + .push(MacroRefData::new(name.to_string(), callee.def_site, cx)); self.collected.insert(call_site); } } @@ -147,78 +145,123 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { self.push_unique_macro_pat_ty(cx, ty.span); } } - + #[allow(clippy::too_many_lines)] fn check_crate_post(&mut self, cx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { let mut import_map = FxHashMap::default(); for (import, span) in &self.imports { let found_idx = self.mac_refs.iter().position(|mac| import.ends_with(&mac.name)); - + if let Some(idx) = found_idx { let _ = self.mac_refs.remove(idx); proccess_macro_path(*span, import, &mut import_map); } } - println!("{:#?}", import_map); + // println!("{:#?}", import_map); let mut imports = vec![]; for (root, rest) in import_map { let mut path = format!("use {}::", root); - let mut s = None; + let mut attr_span = None; + // when a multiple nested paths are found one may be written to the string + // before it is found in this loop so we make note and skip it when this + // loop finds it + let mut found_nested = vec![]; let mut count = 1; let rest_len = rest.len(); + if rest_len > 1 { path.push_str("{"); } + for m in &rest { - println!("{} => {:?}", root, m); - if count == 1 { - s = Some(m.span()); + if attr_span.is_none() { + attr_span = Some(m.span()); + } + if found_nested.contains(&m) { + continue; } - let comma = if rest_len == count { "" } else { ", " }; match m { ModPath::Item { item, .. } => { path.push_str(&format!("{}{}", item, comma)); - } - ModPath::Nested { names, item, span } => { - let nested = rest.iter() + }, + ModPath::Nested { segments, item, .. } => { + // do any other Nested paths match the current one + let nested = rest + .iter() // filter "self" out .filter(|other_m| other_m != &m) + // filters out Nested we have previously seen + .filter(|other_m| !found_nested.contains(other_m)) // this matches the first path segment and filters non ModPath::Nested items .filter(|other_m| other_m.matches(0, m)) .collect::>(); - println!("{:#?}", nested); - if nested.is_empty() { - path.push_str(&format!("{}::{}{}", names.join("::").to_string(), item, comma)) + path.push_str(&format!("{}::{}{}", segments.join("::").to_string(), item, comma)) + // use mod_a::{mod_b::{one, two}, mod_c::item} } else { - // use mod_a::{mod_b::{one, two}, mod_c::item, item1, item2} - let mod_path = if names.len() - 1 > 0 { - ModPath::Nested { names: names.clone(), item: item.to_string(), span: *span, } - } else { - ModPath::Item { item: names[0].to_string(), span: *span, } - }; - let names = recursive_path_push(mod_path, comma, &rest, String::new()); - path.push_str(&format!("{}::{{{}}}{}", names, item, comma)) + found_nested.extend(nested.iter()); + found_nested.push(&m); + // we check each segment for matches with other import paths if + // one differs we have to open a new `{}` + for (idx, seg) in segments.iter().enumerate() { + path.push_str(&format!("{}::", seg)); + if nested.iter().all(|other_m| other_m.matches(idx, &m)) { + continue; + } + + path.push_str("{"); + let matched_seg_items = nested + .iter() + .filter(|other_m| !other_m.matches(idx, &m)) + .collect::>(); + for item in matched_seg_items { + if let ModPath::Nested { item, .. } = item { + path.push_str(&format!( + "{}{}", + item, + if nested.len() == idx + 1 { "" } else { ", " } + )); + } + } + path.push_str("}"); + } + path.push_str(&format!("{{{}{}", item, comma)); + for (i, item) in nested.iter().enumerate() { + if let ModPath::Nested { item, segments: matched_seg, .. } = item { + path.push_str(&format!( + "{}{}{}", + if matched_seg > segments { + format!("{}::", matched_seg[segments.len()..].join("::")) + } else { + String::new() + }, + item, + if nested.len() == i + 1 { "" } else { ", " } + )); + } + } + path.push_str("}"); } - } + }, } - count += 1; + count += 1; } if rest_len > 1 { path.push_str("};"); + } else { + path.push_str(";"); } - if let Some(span) = s { + if let Some(span) = attr_span { imports.push((span, path)) + } else { + unreachable!("a span must always be attached to a macro_use attribute") } } - if !self.mac_refs.is_empty() { - // TODO if not empty we found one we could not make a suggestion for - // such as std::prelude::v1 or something else I haven't thought of. - // If we defer the calling of span_lint_and_sugg we can make a decision about its - // applicability? - } else { + // If mac_refs is not empty we have encountered an import we could not handle + // such as `std::prelude::v1::foo` or some other macro that expands to an import. + if self.mac_refs.is_empty() { for (span, import) in imports { let help = format!("use {}", import); span_lint_and_sugg( @@ -237,48 +280,56 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { #[derive(Debug, PartialEq)] enum ModPath { - Item { item: String, span: Span, }, - Nested { names: Vec, item: String, span: Span, }, + Item { + item: String, + span: Span, + }, + Nested { + segments: Vec, + item: String, + span: Span, + }, } impl ModPath { fn span(&self) -> Span { match self { - Self::Item { span, .. } => *span, - Self::Nested { span, .. } => *span, + Self::Item { span, .. } | Self::Nested { span, .. } => *span, } } fn item(&self) -> &str { match self { - Self::Item { item, .. } => item, - Self::Nested { item, .. } => item, + Self::Item { item, .. } | Self::Nested { item, .. } => item, } } fn matches(&self, idx: usize, other: &ModPath) -> bool { match (self, other) { (Self::Item { item, .. }, Self::Item { item: other_item, .. }) => item == other_item, - (Self::Nested { names, .. }, Self::Nested { names: other_names, .. }) => { - match (names.get(idx), other_names.get(idx)) { - (Some(seg), Some(other_seg)) => seg == other_seg, - (_, _) => false, - } - } + ( + Self::Nested { segments, .. }, + Self::Nested { + segments: other_names, .. + }, + ) => match (segments.get(idx), other_names.get(idx)) { + (Some(seg), Some(other_seg)) => seg == other_seg, + (_, _) => false, + }, (_, _) => false, } } } +#[allow(clippy::comparison_chain)] fn proccess_macro_path(span: Span, import: &str, import_map: &mut FxHashMap>) { let mut mod_path = import.split("::").collect::>(); if mod_path.len() == 2 { - let item_list = import_map.entry(mod_path[0].to_string()) - .or_insert(vec![]); + let item_list = import_map.entry(mod_path[0].to_string()).or_insert_with(Vec::new); if !item_list.iter().any(|mods| mods.item() == mod_path[1]) { - item_list.push(ModPath::Item{ + item_list.push(ModPath::Item { item: mod_path[1].to_string(), span, }); @@ -288,46 +339,16 @@ fn proccess_macro_path(span: Span, import: &str, import_map: &mut FxHashMap String { - match &module { - ModPath::Item { item, .. } => { - path.push_str(&format!("{}{}", item, comma)); - } - ModPath::Nested { names, item, span } => { - let nested = rest.iter() - // filter "self" out - .filter(|other_m| other_m != &&module) - // this matches the first path segment and filters non ModPath::Nested items - .filter(|other_m| other_m.matches(0, &module)) - .collect::>(); - - println!("{:#?}", nested); - - if nested.is_empty() { - path.push_str(&format!("{}::{}{}", names.join("::").to_string(), item, comma)) - } else { - // use mod_a::{mod_b::{one, two}, mod_c::item, item1, item2} - let mod_path = if names.len() - 1 > 0 { - ModPath::Nested { names: names.clone(), item: item.to_string(), span: *span, } - } else { - ModPath::Item { item: names[0].to_string(), span: *span, } - }; - let names = recursive_path_push(mod_path, comma, rest, path.to_string()); - // path.push_str(&format!("{}{}", item, comma)); - } - } - } - path -} diff --git a/tests/ui/auxiliary/macro_use_helper.rs b/tests/ui/auxiliary/macro_use_helper.rs index 7cc4e1d736a3d..ecb55d8cb48d5 100644 --- a/tests/ui/auxiliary/macro_use_helper.rs +++ b/tests/ui/auxiliary/macro_use_helper.rs @@ -13,8 +13,13 @@ pub mod inner { // RE-EXPORT // this will stick in `inner` module + pub use macro_rules::foofoo; pub use macro_rules::try_err; + pub mod nested { + pub use macro_rules::string_add; + } + // ITEM #[macro_export] macro_rules! inner_mod_macro { diff --git a/tests/ui/macro_use_imports.rs b/tests/ui/macro_use_imports.rs index 2d4f71e5d5329..52dec0e44b306 100644 --- a/tests/ui/macro_use_imports.rs +++ b/tests/ui/macro_use_imports.rs @@ -18,6 +18,8 @@ mod a { use mini_mac; #[macro_use] use mac::inner; + #[macro_use] + use mac::inner::nested; #[derive(ClippyMiniMacroTest)] struct Test; @@ -30,6 +32,8 @@ mod a { let v: ty_macro!() = Vec::default(); inner::try_err!(); + inner::foofoo!(); + nested::string_add!(); } } diff --git a/tests/ui/macro_use_imports.stderr b/tests/ui/macro_use_imports.stderr index 6bcacd0be1921..00c76c19ea9e8 100644 --- a/tests/ui/macro_use_imports.stderr +++ b/tests/ui/macro_use_imports.stderr @@ -1,8 +1,8 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:15:5 + --> $DIR/macro_use_imports.rs:17:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::pub_macro` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use use mini_mac::ClippyMiniMacroTest;` | = note: `-D clippy::macro-use-imports` implied by `-D warnings` @@ -10,37 +10,7 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition --> $DIR/macro_use_imports.rs:15:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner_mod_macro` - -error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:15:5 - | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::function_macro` - -error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:15:5 - | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::ty_macro` - -error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:15:5 - | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::pub_in_private_macro` - -error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:17:5 - | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest` - -error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:19:5 - | -LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner::try_err` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro, inner::{foofoo, try_err, nested::string_add}};` -error: aborting due to 7 previous errors +error: aborting due to 2 previous errors From 8c5a5a92ec6f298a067ba052a0d5b6150537c1c9 Mon Sep 17 00:00:00 2001 From: Devin R Date: Tue, 26 May 2020 19:57:36 -0400 Subject: [PATCH 08/42] cleaned up import suggestion formatter, look into code reuse with wildcard impotrs --- clippy_lints/src/macro_use.rs | 224 +++++++----------------------- tests/ui/macro_use_imports.stderr | 18 ++- 2 files changed, 64 insertions(+), 178 deletions(-) diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 1e1f27e9430c7..089ae79b02c23 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -29,6 +29,12 @@ declare_clippy_lint! { const BRACKETS: &[char] = &['<', '>']; +#[derive(Clone, Debug, PartialEq, Eq)] +struct PathAndSpan { + path: String, + span: Span, +} + /// `MacroRefData` includes the name of the macro /// and the path from `SourceMap::span_to_filename`. #[derive(Debug, Clone)] @@ -110,7 +116,8 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { for kid in cx.tcx.item_children(id).iter() { if let Res::Def(DefKind::Macro(_mac_type), mac_id) = kid.res { let span = mac_attr.span; - self.imports.push((cx.tcx.def_path_str(mac_id), span)); + let def_path = cx.tcx.def_path_str(mac_id); + self.imports.push((def_path, span)); } } } else { @@ -147,127 +154,69 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { } #[allow(clippy::too_many_lines)] fn check_crate_post(&mut self, cx: &LateContext<'_, '_>, _krate: &hir::Crate<'_>) { - let mut import_map = FxHashMap::default(); + let mut used = FxHashMap::default(); + let mut check_dup = vec![]; for (import, span) in &self.imports { let found_idx = self.mac_refs.iter().position(|mac| import.ends_with(&mac.name)); if let Some(idx) = found_idx { let _ = self.mac_refs.remove(idx); - proccess_macro_path(*span, import, &mut import_map); - } - } - // println!("{:#?}", import_map); - let mut imports = vec![]; - for (root, rest) in import_map { - let mut path = format!("use {}::", root); - let mut attr_span = None; - // when a multiple nested paths are found one may be written to the string - // before it is found in this loop so we make note and skip it when this - // loop finds it - let mut found_nested = vec![]; - let mut count = 1; - let rest_len = rest.len(); - - if rest_len > 1 { - path.push_str("{"); - } - - for m in &rest { - if attr_span.is_none() { - attr_span = Some(m.span()); - } - if found_nested.contains(&m) { - continue; - } - let comma = if rest_len == count { "" } else { ", " }; - match m { - ModPath::Item { item, .. } => { - path.push_str(&format!("{}{}", item, comma)); + let seg = import.split("::").collect::>(); + + match seg.as_slice() { + [] => unreachable!("this should never be empty"), + [_] => unreachable!("path must have two segments ?"), + [root, item] => { + if !check_dup.contains(&item.to_string()) { + used.entry((root.to_string(), span)) + .or_insert(vec![]) + .push(item.to_string()); + check_dup.push(item.to_string()); + } }, - ModPath::Nested { segments, item, .. } => { - // do any other Nested paths match the current one - let nested = rest - .iter() - // filter "self" out - .filter(|other_m| other_m != &m) - // filters out Nested we have previously seen - .filter(|other_m| !found_nested.contains(other_m)) - // this matches the first path segment and filters non ModPath::Nested items - .filter(|other_m| other_m.matches(0, m)) - .collect::>(); - - if nested.is_empty() { - path.push_str(&format!("{}::{}{}", segments.join("::").to_string(), item, comma)) - // use mod_a::{mod_b::{one, two}, mod_c::item} + [root, rest @ ..] => { + if !rest.iter().all(|item| !check_dup.contains(&item.to_string())) { + let mut rest = rest.to_vec(); + rest.sort(); + used.entry((root.to_string(), span)) + .or_insert(vec![]) + .push(rest.join("::")); + check_dup.extend(rest.iter().map(ToString::to_string)); } else { - found_nested.extend(nested.iter()); - found_nested.push(&m); - // we check each segment for matches with other import paths if - // one differs we have to open a new `{}` - for (idx, seg) in segments.iter().enumerate() { - path.push_str(&format!("{}::", seg)); - if nested.iter().all(|other_m| other_m.matches(idx, &m)) { - continue; - } - - path.push_str("{"); - let matched_seg_items = nested - .iter() - .filter(|other_m| !other_m.matches(idx, &m)) - .collect::>(); - for item in matched_seg_items { - if let ModPath::Nested { item, .. } = item { - path.push_str(&format!( - "{}{}", - item, - if nested.len() == idx + 1 { "" } else { ", " } - )); - } - } - path.push_str("}"); - } - path.push_str(&format!("{{{}{}", item, comma)); - for (i, item) in nested.iter().enumerate() { - if let ModPath::Nested { item, segments: matched_seg, .. } = item { - path.push_str(&format!( - "{}{}{}", - if matched_seg > segments { - format!("{}::", matched_seg[segments.len()..].join("::")) - } else { - String::new() - }, - item, - if nested.len() == i + 1 { "" } else { ", " } - )); - } - } - path.push_str("}"); + let mut filtered = rest + .iter() + .filter(|item| !check_dup.contains(&item.to_string())) + .map(ToString::to_string) + .collect::>(); + filtered.sort(); + used.entry((root.to_string(), span)) + .or_insert(vec![]) + .push(filtered.join("::")); + check_dup.extend(filtered); } }, } - count += 1; } - if rest_len > 1 { - path.push_str("};"); - } else { - path.push_str(";"); - } - if let Some(span) = attr_span { - imports.push((span, path)) + } + + let mut suggestions = vec![]; + for ((root, span), path) in used { + if path.len() == 1 { + suggestions.push((span, format!("{}::{}", root, path[0]))) } else { - unreachable!("a span must always be attached to a macro_use attribute") + suggestions.push((span, format!("{}::{{{}}}", root, path.join(", ")))) } } // If mac_refs is not empty we have encountered an import we could not handle // such as `std::prelude::v1::foo` or some other macro that expands to an import. if self.mac_refs.is_empty() { - for (span, import) in imports { + for (span, import) in suggestions { let help = format!("use {}", import); span_lint_and_sugg( cx, MACRO_USE_IMPORTS, - span, + *span, "`macro_use` attributes are no longer needed in the Rust 2018 edition", "remove the attribute and import the macro directly, try", help, @@ -277,78 +226,3 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { } } } - -#[derive(Debug, PartialEq)] -enum ModPath { - Item { - item: String, - span: Span, - }, - Nested { - segments: Vec, - item: String, - span: Span, - }, -} - -impl ModPath { - fn span(&self) -> Span { - match self { - Self::Item { span, .. } | Self::Nested { span, .. } => *span, - } - } - - fn item(&self) -> &str { - match self { - Self::Item { item, .. } | Self::Nested { item, .. } => item, - } - } - - fn matches(&self, idx: usize, other: &ModPath) -> bool { - match (self, other) { - (Self::Item { item, .. }, Self::Item { item: other_item, .. }) => item == other_item, - ( - Self::Nested { segments, .. }, - Self::Nested { - segments: other_names, .. - }, - ) => match (segments.get(idx), other_names.get(idx)) { - (Some(seg), Some(other_seg)) => seg == other_seg, - (_, _) => false, - }, - (_, _) => false, - } - } -} - -#[allow(clippy::comparison_chain)] -fn proccess_macro_path(span: Span, import: &str, import_map: &mut FxHashMap>) { - let mut mod_path = import.split("::").collect::>(); - - if mod_path.len() == 2 { - let item_list = import_map.entry(mod_path[0].to_string()).or_insert_with(Vec::new); - - if !item_list.iter().any(|mods| mods.item() == mod_path[1]) { - item_list.push(ModPath::Item { - item: mod_path[1].to_string(), - span, - }); - } - } else if mod_path.len() > 2 { - let first = mod_path.remove(0); - let name = mod_path.remove(mod_path.len() - 1); - - let nested = ModPath::Nested { - segments: mod_path.into_iter().map(ToString::to_string).collect(), - item: name.to_string(), - span, - }; - // CLIPPY NOTE: this told me to use `or_insert_with(vec![])` - // import_map.entry(first.to_string()).or_insert(vec![]).push(nested); - // which failed as `vec!` is not a closure then told me to add `||` which failed - // with the redundant_closure lint so I finally gave up and used this. - import_map.entry(first.to_string()).or_insert_with(Vec::new).push(nested); - } else { - unreachable!("test to see if code path hit TODO REMOVE") - } -} diff --git a/tests/ui/macro_use_imports.stderr b/tests/ui/macro_use_imports.stderr index 00c76c19ea9e8..83c8ebe6ab9ed 100644 --- a/tests/ui/macro_use_imports.stderr +++ b/tests/ui/macro_use_imports.stderr @@ -2,15 +2,27 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition --> $DIR/macro_use_imports.rs:17:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use use mini_mac::ClippyMiniMacroTest;` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest` | = note: `-D clippy::macro-use-imports` implied by `-D warnings` +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:21:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner::nested::string_add` + +error: `macro_use` attributes are no longer needed in the Rust 2018 edition + --> $DIR/macro_use_imports.rs:19:5 + | +LL | #[macro_use] + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{foofoo::inner, inner::try_err}` + error: `macro_use` attributes are no longer needed in the Rust 2018 edition --> $DIR/macro_use_imports.rs:15:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro, inner::{foofoo, try_err, nested::string_add}};` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro}` -error: aborting due to 2 previous errors +error: aborting due to 4 previous errors From 288df59b25c04f05d08d817727a8ac9c8d0d6648 Mon Sep 17 00:00:00 2001 From: Devin R Date: Sun, 7 Jun 2020 16:12:35 -0400 Subject: [PATCH 09/42] Fix suggestion output, add run-rustfix to test file, stop sorting import segments duh --- clippy_lints/src/macro_use.rs | 35 +++++++++++++------------- tests/ui/macro_use_imports.fixed | 41 +++++++++++++++++++++++++++++++ tests/ui/macro_use_imports.rs | 1 + tests/ui/macro_use_imports.stderr | 16 ++++++------ 4 files changed, 68 insertions(+), 25 deletions(-) create mode 100644 tests/ui/macro_use_imports.fixed diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 089ae79b02c23..7e3ce07254f7a 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -167,32 +167,33 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { [] => unreachable!("this should never be empty"), [_] => unreachable!("path must have two segments ?"), [root, item] => { - if !check_dup.contains(&item.to_string()) { + if !check_dup.contains(&(*item).to_string()) { used.entry((root.to_string(), span)) - .or_insert(vec![]) + .or_insert_with(|| vec![]) .push(item.to_string()); check_dup.push(item.to_string()); } }, [root, rest @ ..] => { - if !rest.iter().all(|item| !check_dup.contains(&item.to_string())) { - let mut rest = rest.to_vec(); - rest.sort(); - used.entry((root.to_string(), span)) - .or_insert(vec![]) - .push(rest.join("::")); - check_dup.extend(rest.iter().map(ToString::to_string)); - } else { - let mut filtered = rest + if rest.iter().all(|item| !check_dup.contains(&(*item).to_string())) { + let filtered = rest .iter() - .filter(|item| !check_dup.contains(&item.to_string())) - .map(ToString::to_string) + .filter_map(|item| if check_dup.contains(&(*item).to_string()) { + None + } else { + Some(item.to_string()) + }) .collect::>(); - filtered.sort(); - used.entry((root.to_string(), span)) - .or_insert(vec![]) + used.entry(((*root).to_string(), span)) + .or_insert_with(|| vec![]) .push(filtered.join("::")); check_dup.extend(filtered); + } else { + let rest = rest.to_vec(); + used.entry((root.to_string(), span)) + .or_insert_with(|| vec![]) + .push(rest.join("::")); + check_dup.extend(rest.iter().map(ToString::to_string)); } }, } @@ -212,7 +213,7 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { // such as `std::prelude::v1::foo` or some other macro that expands to an import. if self.mac_refs.is_empty() { for (span, import) in suggestions { - let help = format!("use {}", import); + let help = format!("use {};", import); span_lint_and_sugg( cx, MACRO_USE_IMPORTS, diff --git a/tests/ui/macro_use_imports.fixed b/tests/ui/macro_use_imports.fixed new file mode 100644 index 0000000000000..8034c56b59adb --- /dev/null +++ b/tests/ui/macro_use_imports.fixed @@ -0,0 +1,41 @@ +// compile-flags: --edition 2018 +// aux-build:macro_rules.rs +// aux-build:macro_use_helper.rs +// run-rustfix + +#![allow(clippy::single_component_path_imports)] +#![warn(clippy::macro_use_imports)] + +#[macro_use] +extern crate macro_use_helper as mac; + +#[macro_use] +extern crate clippy_mini_macro_test as mini_mac; + +mod a { + use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro}; + use mac; + use mini_mac::ClippyMiniMacroTest; + use mini_mac; + use mac::{inner::foofoo, inner::try_err}; + use mac::inner; + use mac::inner::nested::string_add; + use mac::inner::nested; + + #[derive(ClippyMiniMacroTest)] + struct Test; + + fn test() { + pub_macro!(); + inner_mod_macro!(); + pub_in_private_macro!(_var); + function_macro!(); + let v: ty_macro!() = Vec::default(); + + inner::try_err!(); + inner::foofoo!(); + nested::string_add!(); + } +} + +fn main() {} diff --git a/tests/ui/macro_use_imports.rs b/tests/ui/macro_use_imports.rs index 52dec0e44b306..7d415222d64fc 100644 --- a/tests/ui/macro_use_imports.rs +++ b/tests/ui/macro_use_imports.rs @@ -1,6 +1,7 @@ // compile-flags: --edition 2018 // aux-build:macro_rules.rs // aux-build:macro_use_helper.rs +// run-rustfix #![allow(clippy::single_component_path_imports)] #![warn(clippy::macro_use_imports)] diff --git a/tests/ui/macro_use_imports.stderr b/tests/ui/macro_use_imports.stderr index 83c8ebe6ab9ed..6feda8a52226b 100644 --- a/tests/ui/macro_use_imports.stderr +++ b/tests/ui/macro_use_imports.stderr @@ -1,28 +1,28 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:17:5 + --> $DIR/macro_use_imports.rs:18:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest;` | = note: `-D clippy::macro-use-imports` implied by `-D warnings` error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:21:5 + --> $DIR/macro_use_imports.rs:20:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner::nested::string_add` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{inner::foofoo, inner::try_err};` error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:19:5 + --> $DIR/macro_use_imports.rs:16:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{foofoo::inner, inner::try_err}` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro};` error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:15:5 + --> $DIR/macro_use_imports.rs:22:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro}` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner::nested::string_add;` error: aborting due to 4 previous errors From 8db24840f7457f005cb73807197992922ca960b1 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Tue, 9 Jun 2020 14:36:01 +0000 Subject: [PATCH 10/42] Merge commit 'ff0993c5e9162ddaea78e83d0f0161e68bd4ea73' into clippy --- .github/workflows/clippy_bors.yml | 3 +- CHANGELOG.md | 87 ++- CONTRIBUTING.md | 36 +- Cargo.toml | 2 +- clippy_dev/src/lib.rs | 3 +- clippy_dev/src/main.rs | 16 +- clippy_dev/src/new_lint.rs | 2 + clippy_dev/src/ra_setup.rs | 90 +++ clippy_lints/Cargo.toml | 4 +- clippy_lints/src/assign_ops.rs | 4 + clippy_lints/src/await_holding_lock.rs | 19 +- clippy_lints/src/cargo_common_metadata.rs | 13 +- clippy_lints/src/checked_conversions.rs | 78 +-- clippy_lints/src/copies.rs | 14 +- clippy_lints/src/double_parens.rs | 18 +- clippy_lints/src/drop_bounds.rs | 4 + clippy_lints/src/duration_subsec.rs | 6 + clippy_lints/src/enum_variants.rs | 32 +- clippy_lints/src/eq_op.rs | 4 + clippy_lints/src/escape.rs | 7 + clippy_lints/src/eta_reduction.rs | 4 + clippy_lints/src/eval_order_dependence.rs | 9 + clippy_lints/src/fallible_impl_from.rs | 21 +- clippy_lints/src/floating_point_arithmetic.rs | 2 - clippy_lints/src/format.rs | 6 +- clippy_lints/src/formatting.rs | 8 +- clippy_lints/src/functions.rs | 16 +- clippy_lints/src/implicit_saturating_sub.rs | 7 - clippy_lints/src/int_plus_one.rs | 1 - clippy_lints/src/integer_division.rs | 11 +- clippy_lints/src/items_after_statements.rs | 16 + clippy_lints/src/len_zero.rs | 17 +- clippy_lints/src/let_and_return.rs | 141 +++++ clippy_lints/src/lib.rs | 31 +- clippy_lints/src/literal_representation.rs | 12 + clippy_lints/src/loops.rs | 34 +- clippy_lints/src/matches.rs | 43 +- .../methods/manual_saturating_arithmetic.rs | 2 +- clippy_lints/src/methods/mod.rs | 178 ++++-- clippy_lints/src/misc.rs | 50 +- clippy_lints/src/misc_early.rs | 34 +- clippy_lints/src/multiple_crate_versions.rs | 10 +- clippy_lints/src/mut_reference.rs | 4 + clippy_lints/src/mutex_atomic.rs | 12 +- clippy_lints/src/needless_bool.rs | 3 +- clippy_lints/src/needless_borrow.rs | 8 +- clippy_lints/src/needless_continue.rs | 2 +- clippy_lints/src/needless_update.rs | 10 + clippy_lints/src/new_without_default.rs | 6 +- clippy_lints/src/no_effect.rs | 2 +- clippy_lints/src/ptr.rs | 23 +- clippy_lints/src/question_mark.rs | 2 +- clippy_lints/src/ranges.rs | 62 +-- clippy_lints/src/reference.rs | 5 + clippy_lints/src/regex.rs | 12 +- clippy_lints/src/returns.rs | 82 +-- clippy_lints/src/shadow.rs | 10 + .../src/single_component_path_imports.rs | 4 +- .../src/slow_vector_initialization.rs | 8 +- clippy_lints/src/strings.rs | 8 + clippy_lints/src/suspicious_trait_impl.rs | 6 +- clippy_lints/src/transmute.rs | 47 +- clippy_lints/src/types.rs | 142 ++++- clippy_lints/src/unnecessary_sort_by.rs | 267 +++++++++ clippy_lints/src/unnested_or_patterns.rs | 407 ++++++++++++++ clippy_lints/src/unwrap.rs | 2 +- clippy_lints/src/useless_conversion.rs | 14 +- clippy_lints/src/utils/ast_utils.rs | 526 ++++++++++++++++++ clippy_lints/src/utils/hir_utils.rs | 10 +- clippy_lints/src/utils/mod.rs | 64 ++- clippy_lints/src/utils/paths.rs | 1 + clippy_lints/src/vec.rs | 10 +- clippy_lints/src/vec_resize_to_zero.rs | 59 ++ clippy_lints/src/verbose_file_reads.rs | 1 + clippy_lints/src/wildcard_dependencies.rs | 7 +- clippy_lints/src/wildcard_imports.rs | 12 +- clippy_lints/src/zero_div_zero.rs | 6 +- doc/changelog_update.md | 12 +- doc/common_tools_writing_lints.md | 48 ++ doc/release.md | 88 ++- src/lintlist/mod.rs | 34 +- tests/compile-test.rs | 9 +- .../cargo_common_metadata/fail/Cargo.toml | 2 + .../cargo_common_metadata/pass/Cargo.toml | 2 + .../5041_allow_dev_build/Cargo.toml | 2 + .../multiple_crate_versions/fail/Cargo.toml | 2 + .../multiple_crate_versions/pass/Cargo.toml | 2 + .../wildcard_dependencies/fail/Cargo.toml | 2 + .../wildcard_dependencies/pass/Cargo.toml | 2 + tests/ui/checked_conversions.fixed | 106 ++-- tests/ui/checked_conversions.rs | 106 ++-- tests/ui/checked_conversions.stderr | 98 +++- tests/ui/checked_conversions.stdout | 0 tests/ui/crashes/ice-3969.rs | 51 ++ tests/ui/crashes/ice-3969.stderr | 22 + tests/ui/crashes/regressions.rs | 4 + tests/ui/into_iter_on_ref.fixed | 2 + tests/ui/into_iter_on_ref.rs | 2 + tests/ui/into_iter_on_ref.stderr | 8 +- tests/ui/iter_next_slice.fixed | 24 + tests/ui/iter_next_slice.rs | 24 + tests/ui/iter_next_slice.stderr | 28 + tests/ui/len_zero.fixed | 8 + tests/ui/len_zero.rs | 8 + tests/ui/len_zero_ranges.fixed | 14 + tests/ui/len_zero_ranges.rs | 14 + tests/ui/len_zero_ranges.stderr | 10 + tests/ui/let_and_return.rs | 138 +++++ ...et_return.stderr => let_and_return.stderr} | 4 +- tests/ui/let_return.rs | 70 --- tests/ui/needless_collect.fixed | 2 +- tests/ui/needless_collect.stderr | 16 +- tests/ui/neg_cmp_op_on_partial_ord.rs | 1 + tests/ui/neg_cmp_op_on_partial_ord.stderr | 8 +- tests/ui/or_fun_call.fixed | 4 +- tests/ui/or_fun_call.stderr | 18 +- tests/ui/reversed_empty_ranges_fixable.fixed | 8 +- tests/ui/reversed_empty_ranges_fixable.rs | 8 +- tests/ui/reversed_empty_ranges_fixable.stderr | 16 +- tests/ui/reversed_empty_ranges_unfixable.rs | 5 +- .../ui/reversed_empty_ranges_unfixable.stderr | 18 +- tests/ui/string_lit_as_bytes.fixed | 2 + tests/ui/string_lit_as_bytes.rs | 2 + tests/ui/string_lit_as_bytes.stderr | 4 +- tests/ui/unit_arg.fixed | 64 --- tests/ui/unit_arg.rs | 27 +- tests/ui/unit_arg.stderr | 178 ++++-- tests/ui/unit_arg_empty_blocks.rs | 26 + tests/ui/unit_arg_empty_blocks.stderr | 51 ++ tests/ui/unnecessary_sort_by.fixed | 26 + tests/ui/unnecessary_sort_by.rs | 26 + tests/ui/unnecessary_sort_by.stderr | 46 ++ tests/ui/unnested_or_patterns.fixed | 33 ++ tests/ui/unnested_or_patterns.rs | 33 ++ tests/ui/unnested_or_patterns.stderr | 179 ++++++ tests/ui/unnested_or_patterns2.fixed | 18 + tests/ui/unnested_or_patterns2.rs | 18 + tests/ui/unnested_or_patterns2.stderr | 91 +++ tests/ui/vec_resize_to_zero.rs | 15 + tests/ui/vec_resize_to_zero.stderr | 13 + tests/ui/wildcard_enum_match_arm.fixed | 3 +- tests/ui/wildcard_enum_match_arm.rs | 3 +- tests/ui/wildcard_enum_match_arm.stderr | 10 +- 143 files changed, 3943 insertions(+), 914 deletions(-) create mode 100644 clippy_dev/src/ra_setup.rs create mode 100644 clippy_lints/src/let_and_return.rs create mode 100644 clippy_lints/src/unnecessary_sort_by.rs create mode 100644 clippy_lints/src/unnested_or_patterns.rs create mode 100755 clippy_lints/src/utils/ast_utils.rs create mode 100644 clippy_lints/src/vec_resize_to_zero.rs delete mode 100644 tests/ui/checked_conversions.stdout create mode 100644 tests/ui/crashes/ice-3969.rs create mode 100644 tests/ui/crashes/ice-3969.stderr create mode 100644 tests/ui/iter_next_slice.fixed create mode 100644 tests/ui/iter_next_slice.rs create mode 100644 tests/ui/iter_next_slice.stderr create mode 100644 tests/ui/len_zero_ranges.fixed create mode 100644 tests/ui/len_zero_ranges.rs create mode 100644 tests/ui/len_zero_ranges.stderr create mode 100644 tests/ui/let_and_return.rs rename tests/ui/{let_return.stderr => let_and_return.stderr} (89%) delete mode 100644 tests/ui/let_return.rs delete mode 100644 tests/ui/unit_arg.fixed create mode 100644 tests/ui/unit_arg_empty_blocks.rs create mode 100644 tests/ui/unit_arg_empty_blocks.stderr create mode 100644 tests/ui/unnecessary_sort_by.fixed create mode 100644 tests/ui/unnecessary_sort_by.rs create mode 100644 tests/ui/unnecessary_sort_by.stderr create mode 100644 tests/ui/unnested_or_patterns.fixed create mode 100644 tests/ui/unnested_or_patterns.rs create mode 100644 tests/ui/unnested_or_patterns.stderr create mode 100644 tests/ui/unnested_or_patterns2.fixed create mode 100644 tests/ui/unnested_or_patterns2.rs create mode 100644 tests/ui/unnested_or_patterns2.stderr create mode 100644 tests/ui/vec_resize_to_zero.rs create mode 100644 tests/ui/vec_resize_to_zero.stderr diff --git a/.github/workflows/clippy_bors.yml b/.github/workflows/clippy_bors.yml index 3958ba012467b..0c80394f03e3c 100644 --- a/.github/workflows/clippy_bors.yml +++ b/.github/workflows/clippy_bors.yml @@ -232,7 +232,8 @@ jobs: matrix: integration: - 'rust-lang/cargo' - - 'rust-lang/rls' + # FIXME: re-enable once fmt_macros is renamed in RLS + # - 'rust-lang/rls' - 'rust-lang/chalk' - 'rust-lang/rustfmt' - 'Marwes/combine' diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ac9057199ff3..adc945a69441d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,11 +6,88 @@ document. ## Unreleased / In Rust Nightly -[891e1a8...master](https://github.com/rust-lang/rust-clippy/compare/891e1a8...master) +[7ea7cd1...master](https://github.com/rust-lang/rust-clippy/compare/7ea7cd1...master) + +## Rust 1.45 + +Current beta, release 2020-07-16 + +[891e1a8...7ea7cd1](https://github.com/rust-lang/rust-clippy/compare/891e1a8...7ea7cd1) + +### New lints + +* [`match_wildcard_for_single_variants`] [#5582](https://github.com/rust-lang/rust-clippy/pull/5582) +* [`unsafe_derive_deserialize`] [#5493](https://github.com/rust-lang/rust-clippy/pull/5493) +* [`if_let_mutex`] [#5332](https://github.com/rust-lang/rust-clippy/pull/5332) +* [`mismatched_target_os`] [#5506](https://github.com/rust-lang/rust-clippy/pull/5506) +* [`await_holding_lock`] [#5439](https://github.com/rust-lang/rust-clippy/pull/5439) +* [`match_on_vec_items`] [#5522](https://github.com/rust-lang/rust-clippy/pull/5522) +* [`manual_async_fn`] [#5576](https://github.com/rust-lang/rust-clippy/pull/5576) +* [`reversed_empty_ranges`] [#5583](https://github.com/rust-lang/rust-clippy/pull/5583) +* [`manual_non_exhaustive`] [#5550](https://github.com/rust-lang/rust-clippy/pull/5550) + +### Moves and Deprecations + +* Downgrade [`match_bool`] to pedantic [#5408](https://github.com/rust-lang/rust-clippy/pull/5408) +* Downgrade [`match_wild_err_arm`] to pedantic and update help messages. [#5622](https://github.com/rust-lang/rust-clippy/pull/5622) +* Downgrade [`useless_let_if_seq`] to nursery. [#5599](https://github.com/rust-lang/rust-clippy/pull/5599) +* Generalize `option_and_then_some` and rename to [`bind_instead_of_map`]. [#5529](https://github.com/rust-lang/rust-clippy/pull/5529) +* Rename `identity_conversion` to [`useless_conversion`]. [#5568](https://github.com/rust-lang/rust-clippy/pull/5568) +* Merge `block_in_if_condition_expr` and `block_in_if_condition_stmt` into [`blocks_in_if_conditions`]. +[#5563](https://github.com/rust-lang/rust-clippy/pull/5563) +* Merge `option_map_unwrap_or`, `option_map_unwrap_or_else` and `result_map_unwrap_or_else` into [`map_unwrap_or`]. +[#5563](https://github.com/rust-lang/rust-clippy/pull/5563) +* Merge `option_unwrap_used` and `result_unwrap_used` into [`unwrap_used`]. +[#5563](https://github.com/rust-lang/rust-clippy/pull/5563) +* Merge `option_expect_used` and `result_expect_used` into [`expect_used`]. +[#5563](https://github.com/rust-lang/rust-clippy/pull/5563) +* Merge `for_loop_over_option` and `for_loop_over_result` into [`for_loops_over_fallibles`]. +[#5563](https://github.com/rust-lang/rust-clippy/pull/5563) + +### Enhancements + +* Avoid running cargo lints when not enabled to improve performance. [#5505](https://github.com/rust-lang/rust-clippy/pull/5505) +* Extend [`useless_conversion`] with `TryFrom` and `TryInto`. [#5631](https://github.com/rust-lang/rust-clippy/pull/5631) +* Lint also in type parameters and where clauses in [`unused_unit`]. [#5592](https://github.com/rust-lang/rust-clippy/pull/5592) +* Do not suggest deriving `Default` in [`new_without_default`]. [#5616](https://github.com/rust-lang/rust-clippy/pull/5616) + +### False Positive Fixes + +* [`while_let_on_iterator`] [#5525](https://github.com/rust-lang/rust-clippy/pull/5525) +* [`empty_line_after_outer_attr`] [#5609](https://github.com/rust-lang/rust-clippy/pull/5609) +* [`unnecessary_unwrap`] [#5558](https://github.com/rust-lang/rust-clippy/pull/5558) +* [`comparison_chain`] [#5596](https://github.com/rust-lang/rust-clippy/pull/5596) +* Don't trigger [`used_underscore_binding`] in await desugaring. [#5535](https://github.com/rust-lang/rust-clippy/pull/5535) +* Don't trigger [`borrowed_box`] on mutable references. [#5491](https://github.com/rust-lang/rust-clippy/pull/5491) +* Allow `1 << 0` in [`identity_op`]. [#5602](https://github.com/rust-lang/rust-clippy/pull/5602) +* Allow `use super::*;` glob imports in [`wildcard_imports`]. [#5564](https://github.com/rust-lang/rust-clippy/pull/5564) +* Whitelist more words in [`doc_markdown`]. [#5611](https://github.com/rust-lang/rust-clippy/pull/5611) +* Skip dev and build deps in [`multiple_crate_versions`]. [#5636](https://github.com/rust-lang/rust-clippy/pull/5636) +* Honor `allow` attribute on arguments in [`ptr_arg`]. [#5647](https://github.com/rust-lang/rust-clippy/pull/5647) +* Honor lint level attributes for [`redundant_field_names`], [`just_underscores_and_digits`], [`many_single_char_names`] +and [`similar_names`]. [#5651](https://github.com/rust-lang/rust-clippy/pull/5651) +* Ignore calls to `len` in [`or_fun_call`]. [#4429](https://github.com/rust-lang/rust-clippy/pull/4429) + +### Suggestion Improvements + +* Simplify suggestions in [`manual_memcpy`]. [#5536](https://github.com/rust-lang/rust-clippy/pull/5536) +* Fix suggestion in [`redundant_pattern_matching`] for macros. [#5511](https://github.com/rust-lang/rust-clippy/pull/5511) +* Avoid suggesting `copied()` for mutable references in [`map_clone`]. [#5530](https://github.com/rust-lang/rust-clippy/pull/5530) +* Improve help message for [`clone_double_ref`]. [#5547](https://github.com/rust-lang/rust-clippy/pull/5547) + +### ICE Fixes + +* Fix ICE caused in unwrap module. [#5590](https://github.com/rust-lang/rust-clippy/pull/5590) +* Fix ICE on rustc test issue-69020-assoc-const-arith-overflow.rs [#5499](https://github.com/rust-lang/rust-clippy/pull/5499) + +### Documentation + +* Clarify the documentation of [`unnecessary_mut_passed`]. [#5639](https://github.com/rust-lang/rust-clippy/pull/5639) +* Extend example for [`unneeded_field_pattern`]. [#5541](https://github.com/rust-lang/rust-clippy/pull/5541) ## Rust 1.44 -Current beta, release 2020-06-04 +Current stable, released 2020-06-04 [204bb9b...891e1a8](https://github.com/rust-lang/rust-clippy/compare/204bb9b...891e1a8) @@ -93,7 +170,7 @@ Current beta, release 2020-06-04 ## Rust 1.43 -Current stable, released 2020-04-23 +Released 2020-04-23 [4ee1206...204bb9b](https://github.com/rust-lang/rust-clippy/compare/4ee1206...204bb9b) @@ -1401,6 +1478,7 @@ Released 2018-09-13 [`items_after_statements`]: https://rust-lang.github.io/rust-clippy/master/index.html#items_after_statements [`iter_cloned_collect`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_cloned_collect [`iter_next_loop`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_loop +[`iter_next_slice`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_next_slice [`iter_nth`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth [`iter_nth_zero`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_nth_zero [`iter_skip_next`]: https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next @@ -1601,9 +1679,11 @@ Released 2018-09-13 [`unnecessary_fold`]: https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_fold [`unnecessary_mut_passed`]: https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [`unnecessary_operation`]: https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation +[`unnecessary_sort_by`]: https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_sort_by [`unnecessary_unwrap`]: https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [`unneeded_field_pattern`]: https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_field_pattern [`unneeded_wildcard_pattern`]: https://rust-lang.github.io/rust-clippy/master/index.html#unneeded_wildcard_pattern +[`unnested_or_patterns`]: https://rust-lang.github.io/rust-clippy/master/index.html#unnested_or_patterns [`unreachable`]: https://rust-lang.github.io/rust-clippy/master/index.html#unreachable [`unreadable_literal`]: https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [`unsafe_derive_deserialize`]: https://rust-lang.github.io/rust-clippy/master/index.html#unsafe_derive_deserialize @@ -1630,6 +1710,7 @@ Released 2018-09-13 [`useless_transmute`]: https://rust-lang.github.io/rust-clippy/master/index.html#useless_transmute [`useless_vec`]: https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec [`vec_box`]: https://rust-lang.github.io/rust-clippy/master/index.html#vec_box +[`vec_resize_to_zero`]: https://rust-lang.github.io/rust-clippy/master/index.html#vec_resize_to_zero [`verbose_bit_mask`]: https://rust-lang.github.io/rust-clippy/master/index.html#verbose_bit_mask [`verbose_file_reads`]: https://rust-lang.github.io/rust-clippy/master/index.html#verbose_file_reads [`vtable_address_comparisons`]: https://rust-lang.github.io/rust-clippy/master/index.html#vtable_address_comparisons diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0f47ac98fd20a..9f7bdcb1be7e5 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,14 +12,16 @@ anything, feel free to ask questions on issues or visit the `#clippy` on [Discor All contributors are expected to follow the [Rust Code of Conduct]. -* [Getting started](#getting-started) - * [Finding something to fix/improve](#finding-something-to-fiximprove) -* [Writing code](#writing-code) -* [How Clippy works](#how-clippy-works) -* [Fixing nightly build failures](#fixing-build-failures-caused-by-rust) -* [Issue and PR Triage](#issue-and-pr-triage) -* [Bors and Homu](#bors-and-homu) -* [Contributions](#contributions) +- [Contributing to Clippy](#contributing-to-clippy) + - [Getting started](#getting-started) + - [Finding something to fix/improve](#finding-something-to-fiximprove) + - [Writing code](#writing-code) + - [Getting code-completion for rustc internals to work](#getting-code-completion-for-rustc-internals-to-work) + - [How Clippy works](#how-clippy-works) + - [Fixing build failures caused by Rust](#fixing-build-failures-caused-by-rust) + - [Issue and PR triage](#issue-and-pr-triage) + - [Bors and Homu](#bors-and-homu) + - [Contributions](#contributions) [Discord]: https://discord.gg/rust-lang [Rust Code of Conduct]: https://www.rust-lang.org/policies/code-of-conduct @@ -91,6 +93,24 @@ quick read. [rfc_stability]: https://github.com/rust-lang/rfcs/blob/master/text/2476-clippy-uno.md#stability-guarantees [rfc_lint_cats]: https://github.com/rust-lang/rfcs/blob/master/text/2476-clippy-uno.md#lint-audit-and-categories +## Getting code-completion for rustc internals to work + +Unfortunately, [`rust-analyzer`][ra_homepage] does not (yet?) understand how Clippy uses compiler-internals +using `extern crate` and it also needs to be able to read the source files of the rustc-compiler which are not +available via a `rustup` component at the time of writing. +To work around this, you need to have a copy of the [rustc-repo][rustc_repo] available which can be obtained via +`git clone https://github.com/rust-lang/rust/`. +Then you can run a `cargo dev` command to automatically make Clippy use the rustc-repo via path-dependencies +which rust-analyzer will be able to understand. +Run `cargo dev ra-setup --repo-path ` where `` is an absolute path to the rustc repo +you just cloned. +The command will add path-dependencies pointing towards rustc-crates inside the rustc repo to +Clippys `Cargo.toml`s and should allow rust-analyzer to understand most of the types that Clippy uses. +Just make sure to remove the dependencies again before finally making a pull request! + +[ra_homepage]: https://rust-analyzer.github.io/ +[rustc_repo]: https://github.com/rust-lang/rust/ + ## How Clippy works [`clippy_lints/src/lib.rs`][lint_crate_entry] imports all the different lint modules and registers in the [`LintStore`]. diff --git a/Cargo.toml b/Cargo.toml index 6999b6bd74040..836897927b015 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,7 @@ tempfile = { version = "3.1.0", optional = true } lazy_static = "1.0" [dev-dependencies] -cargo_metadata = "0.9.0" +cargo_metadata = "0.9.1" compiletest_rs = { version = "0.5.0", features = ["tmp"] } tester = "0.7" lazy_static = "1.0" diff --git a/clippy_dev/src/lib.rs b/clippy_dev/src/lib.rs index 6fdd282c6849e..5baa31d5cde0c 100644 --- a/clippy_dev/src/lib.rs +++ b/clippy_dev/src/lib.rs @@ -11,6 +11,7 @@ use walkdir::WalkDir; pub mod fmt; pub mod new_lint; +pub mod ra_setup; pub mod stderr_length_check; pub mod update_lints; @@ -400,7 +401,7 @@ fn test_replace_region_no_changes() { changed: false, new_lines: "123\n456\n789".to_string(), }; - let result = replace_region_in_text(text, r#"^\s*123$"#, r#"^\s*456"#, false, || vec![]); + let result = replace_region_in_text(text, r#"^\s*123$"#, r#"^\s*456"#, false, Vec::new); assert_eq!(expected, result); } diff --git a/clippy_dev/src/main.rs b/clippy_dev/src/main.rs index d99235f7c07a7..281037ae37c97 100644 --- a/clippy_dev/src/main.rs +++ b/clippy_dev/src/main.rs @@ -1,7 +1,7 @@ #![cfg_attr(feature = "deny-warnings", deny(warnings))] use clap::{App, Arg, SubCommand}; -use clippy_dev::{fmt, new_lint, stderr_length_check, update_lints}; +use clippy_dev::{fmt, new_lint, ra_setup, stderr_length_check, update_lints}; fn main() { let matches = App::new("Clippy developer tooling") @@ -87,6 +87,19 @@ fn main() { SubCommand::with_name("limit_stderr_length") .about("Ensures that stderr files do not grow longer than a certain amount of lines."), ) + .subcommand( + SubCommand::with_name("ra-setup") + .about("Alter dependencies so rust-analyzer can find rustc internals") + .arg( + Arg::with_name("rustc-repo-path") + .long("repo-path") + .short("r") + .help("The path to a rustc repo that will be used for setting the dependencies") + .takes_value(true) + .value_name("path") + .required(true), + ), + ) .get_matches(); match matches.subcommand() { @@ -115,6 +128,7 @@ fn main() { ("limit_stderr_length", _) => { stderr_length_check::check(); }, + ("ra-setup", Some(matches)) => ra_setup::run(matches.value_of("rustc-repo-path")), _ => {}, } } diff --git a/clippy_dev/src/new_lint.rs b/clippy_dev/src/new_lint.rs index c0b2dac2f60ff..1e032a7bc20cd 100644 --- a/clippy_dev/src/new_lint.rs +++ b/clippy_dev/src/new_lint.rs @@ -147,6 +147,8 @@ fn get_manifest_contents(lint_name: &str, hint: &str) -> String { name = "{}" version = "0.1.0" publish = false + +[workspace] "#, hint, lint_name ) diff --git a/clippy_dev/src/ra_setup.rs b/clippy_dev/src/ra_setup.rs new file mode 100644 index 0000000000000..8617445c8a600 --- /dev/null +++ b/clippy_dev/src/ra_setup.rs @@ -0,0 +1,90 @@ +#![allow(clippy::filter_map)] + +use std::fs; +use std::fs::File; +use std::io::prelude::*; +use std::path::PathBuf; + +// This module takes an absolute path to a rustc repo and alters the dependencies to point towards +// the respective rustc subcrates instead of using extern crate xyz. +// This allows rust analyzer to analyze rustc internals and show proper information inside clippy +// code. See https://github.com/rust-analyzer/rust-analyzer/issues/3517 and https://github.com/rust-lang/rust-clippy/issues/5514 for details + +pub fn run(rustc_path: Option<&str>) { + // we can unwrap here because the arg is required here + let rustc_path = PathBuf::from(rustc_path.unwrap()); + assert!(rustc_path.is_dir(), "path is not a directory"); + let rustc_source_basedir = rustc_path.join("src"); + assert!( + rustc_source_basedir.is_dir(), + "are you sure the path leads to a rustc repo?" + ); + + let clippy_root_manifest = fs::read_to_string("Cargo.toml").expect("failed to read ./Cargo.toml"); + let clippy_root_lib_rs = fs::read_to_string("src/driver.rs").expect("failed to read ./src/driver.rs"); + inject_deps_into_manifest( + &rustc_source_basedir, + "Cargo.toml", + &clippy_root_manifest, + &clippy_root_lib_rs, + ) + .expect("Failed to inject deps into ./Cargo.toml"); + + let clippy_lints_manifest = + fs::read_to_string("clippy_lints/Cargo.toml").expect("failed to read ./clippy_lints/Cargo.toml"); + let clippy_lints_lib_rs = + fs::read_to_string("clippy_lints/src/lib.rs").expect("failed to read ./clippy_lints/src/lib.rs"); + inject_deps_into_manifest( + &rustc_source_basedir, + "clippy_lints/Cargo.toml", + &clippy_lints_manifest, + &clippy_lints_lib_rs, + ) + .expect("Failed to inject deps into ./clippy_lints/Cargo.toml"); +} + +fn inject_deps_into_manifest( + rustc_source_dir: &PathBuf, + manifest_path: &str, + cargo_toml: &str, + lib_rs: &str, +) -> std::io::Result<()> { + let extern_crates = lib_rs + .lines() + // get the deps + .filter(|line| line.starts_with("extern crate")) + // we have something like "extern crate foo;", we only care about the "foo" + // ↓ ↓ + // extern crate rustc_middle; + .map(|s| &s[13..(s.len() - 1)]); + + let new_deps = extern_crates.map(|dep| { + // format the dependencies that are going to be put inside the Cargo.toml + format!( + "{dep} = {{ path = \"{source_path}/lib{dep}\" }}\n", + dep = dep, + source_path = rustc_source_dir.display() + ) + }); + + // format a new [dependencies]-block with the new deps we need to inject + let mut all_deps = String::from("[dependencies]\n"); + new_deps.for_each(|dep_line| { + all_deps.push_str(&dep_line); + }); + + // replace "[dependencies]" with + // [dependencies] + // dep1 = { path = ... } + // dep2 = { path = ... } + // etc + let new_manifest = cargo_toml.replacen("[dependencies]\n", &all_deps, 1); + + // println!("{}", new_manifest); + let mut file = File::create(manifest_path)?; + file.write_all(new_manifest.as_bytes())?; + + println!("Dependency paths injected: {}", manifest_path); + + Ok(()) +} diff --git a/clippy_lints/Cargo.toml b/clippy_lints/Cargo.toml index 76baf27fb2dbf..e959c1a651122 100644 --- a/clippy_lints/Cargo.toml +++ b/clippy_lints/Cargo.toml @@ -17,11 +17,11 @@ keywords = ["clippy", "lint", "plugin"] edition = "2018" [dependencies] -cargo_metadata = "0.9.0" +cargo_metadata = "0.9.1" if_chain = "1.0.0" itertools = "0.9" lazy_static = "1.0.2" -pulldown-cmark = { version = "0.7", default-features = false } +pulldown-cmark = { version = "0.7.1", default-features = false } quine-mc_cluskey = "0.2.2" regex-syntax = "0.6" serde = { version = "1.0", features = ["derive"] } diff --git a/clippy_lints/src/assign_ops.rs b/clippy_lints/src/assign_ops.rs index 05e2650d0b715..13e61fe98bac1 100644 --- a/clippy_lints/src/assign_ops.rs +++ b/clippy_lints/src/assign_ops.rs @@ -24,7 +24,11 @@ declare_clippy_lint! { /// let mut a = 5; /// let b = 0; /// // ... + /// // Bad /// a = a + b; + /// + /// // Good + /// a += b; /// ``` pub ASSIGN_OP_PATTERN, style, diff --git a/clippy_lints/src/await_holding_lock.rs b/clippy_lints/src/await_holding_lock.rs index 832910763e60c..a88f922d8e03d 100644 --- a/clippy_lints/src/await_holding_lock.rs +++ b/clippy_lints/src/await_holding_lock.rs @@ -54,18 +54,13 @@ declare_lint_pass!(AwaitHoldingLock => [AWAIT_HOLDING_LOCK]); impl LateLintPass<'_, '_> for AwaitHoldingLock { fn check_body(&mut self, cx: &LateContext<'_, '_>, body: &'_ Body<'_>) { use AsyncGeneratorKind::{Block, Closure, Fn}; - match body.generator_kind { - Some(GeneratorKind::Async(Block)) - | Some(GeneratorKind::Async(Closure)) - | Some(GeneratorKind::Async(Fn)) => { - let body_id = BodyId { - hir_id: body.value.hir_id, - }; - let def_id = cx.tcx.hir().body_owner_def_id(body_id); - let tables = cx.tcx.typeck_tables_of(def_id); - check_interior_types(cx, &tables.generator_interior_types, body.value.span); - }, - _ => {}, + if let Some(GeneratorKind::Async(Block | Closure | Fn)) = body.generator_kind { + let body_id = BodyId { + hir_id: body.value.hir_id, + }; + let def_id = cx.tcx.hir().body_owner_def_id(body_id); + let tables = cx.tcx.typeck_tables_of(def_id); + check_interior_types(cx, &tables.generator_interior_types, body.value.span); } } } diff --git a/clippy_lints/src/cargo_common_metadata.rs b/clippy_lints/src/cargo_common_metadata.rs index 16b46423c8f01..c40a387d29797 100644 --- a/clippy_lints/src/cargo_common_metadata.rs +++ b/clippy_lints/src/cargo_common_metadata.rs @@ -36,13 +36,9 @@ declare_clippy_lint! { "common metadata is defined in `Cargo.toml`" } -fn warning(cx: &LateContext<'_, '_>, message: &str) { - span_lint(cx, CARGO_COMMON_METADATA, DUMMY_SP, message); -} - fn missing_warning(cx: &LateContext<'_, '_>, package: &cargo_metadata::Package, field: &str) { let message = format!("package `{}` is missing `{}` metadata", package.name, field); - warning(cx, &message); + span_lint(cx, CARGO_COMMON_METADATA, DUMMY_SP, &message); } fn is_empty_str(value: &Option) -> bool { @@ -66,12 +62,7 @@ impl LateLintPass<'_, '_> for CargoCommonMetadata { return; } - let metadata = if let Ok(metadata) = cargo_metadata::MetadataCommand::new().no_deps().exec() { - metadata - } else { - warning(cx, "could not read cargo metadata"); - return; - }; + let metadata = unwrap_cargo_metadata!(cx, CARGO_COMMON_METADATA, false); for package in metadata.packages { if is_empty_vec(&package.authors) { diff --git a/clippy_lints/src/checked_conversions.rs b/clippy_lints/src/checked_conversions.rs index d9776dd50a836..e845ef99c7cc0 100644 --- a/clippy_lints/src/checked_conversions.rs +++ b/clippy_lints/src/checked_conversions.rs @@ -58,24 +58,18 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for CheckedConversions { } }; - if_chain! { - if let Some(cv) = result; - if let Some(to_type) = cv.to_type; - - then { + if let Some(cv) = result { + if let Some(to_type) = cv.to_type { let mut applicability = Applicability::MachineApplicable; - let snippet = snippet_with_applicability(cx, cv.expr_to_cast.span, "_", &mut - applicability); + let snippet = snippet_with_applicability(cx, cv.expr_to_cast.span, "_", &mut applicability); span_lint_and_sugg( cx, CHECKED_CONVERSIONS, item.span, "Checked cast can be simplified.", "try", - format!("{}::try_from({}).is_ok()", - to_type, - snippet), - applicability + format!("{}::try_from({}).is_ok()", to_type, snippet), + applicability, ); } } @@ -184,7 +178,7 @@ fn check_upper_bound<'tcx>(expr: &'tcx Expr<'tcx>) -> Option> { if_chain! { if let ExprKind::Binary(ref op, ref left, ref right) = &expr.kind; if let Some((candidate, check)) = normalize_le_ge(op, left, right); - if let Some((from, to)) = get_types_from_cast(check, MAX_VALUE, INTS); + if let Some((from, to)) = get_types_from_cast(check, INTS, "max_value", "MAX"); then { Conversion::try_new(candidate, from, to) @@ -224,7 +218,7 @@ fn check_lower_bound_zero<'a>(candidate: &'a Expr<'_>, check: &'a Expr<'_>) -> O /// Check for `expr >= (to_type::MIN as from_type)` fn check_lower_bound_min<'a>(candidate: &'a Expr<'_>, check: &'a Expr<'_>) -> Option> { - if let Some((from, to)) = get_types_from_cast(check, MIN_VALUE, SINTS) { + if let Some((from, to)) = get_types_from_cast(check, SINTS, "min_value", "MIN") { Conversion::try_new(candidate, from, to) } else { None @@ -232,10 +226,16 @@ fn check_lower_bound_min<'a>(candidate: &'a Expr<'_>, check: &'a Expr<'_>) -> Op } /// Tries to extract the from- and to-type from a cast expression -fn get_types_from_cast<'a>(expr: &'a Expr<'_>, func: &'a str, types: &'a [&str]) -> Option<(&'a str, &'a str)> { - // `to_type::maxmin_value() as from_type` +fn get_types_from_cast<'a>( + expr: &'a Expr<'_>, + types: &'a [&str], + func: &'a str, + assoc_const: &'a str, +) -> Option<(&'a str, &'a str)> { + // `to_type::max_value() as from_type` + // or `to_type::MAX as from_type` let call_from_cast: Option<(&Expr<'_>, &str)> = if_chain! { - // to_type::maxmin_value(), from_type + // to_type::max_value(), from_type if let ExprKind::Cast(ref limit, ref from_type) = &expr.kind; if let TyKind::Path(ref from_type_path) = &from_type.kind; if let Some(from_sym) = int_ty_to_sym(from_type_path); @@ -247,17 +247,17 @@ fn get_types_from_cast<'a>(expr: &'a Expr<'_>, func: &'a str, types: &'a [&str]) } }; - // `from_type::from(to_type::maxmin_value())` + // `from_type::from(to_type::max_value())` let limit_from: Option<(&Expr<'_>, &str)> = call_from_cast.or_else(|| { if_chain! { - // `from_type::from, to_type::maxmin_value()` + // `from_type::from, to_type::max_value()` if let ExprKind::Call(ref from_func, ref args) = &expr.kind; - // `to_type::maxmin_value()` + // `to_type::max_value()` if args.len() == 1; if let limit = &args[0]; // `from_type::from` if let ExprKind::Path(ref path) = &from_func.kind; - if let Some(from_sym) = get_implementing_type(path, INTS, FROM); + if let Some(from_sym) = get_implementing_type(path, INTS, "from"); then { Some((limit, from_sym)) @@ -268,22 +268,26 @@ fn get_types_from_cast<'a>(expr: &'a Expr<'_>, func: &'a str, types: &'a [&str]) }); if let Some((limit, from_type)) = limit_from { - if_chain! { - if let ExprKind::Call(ref fun_name, _) = &limit.kind; - // `to_type, maxmin_value` - if let ExprKind::Path(ref path) = &fun_name.kind; - // `to_type` - if let Some(to_type) = get_implementing_type(path, types, func); - - then { - Some((from_type, to_type)) - } else { - None - } + match limit.kind { + // `from_type::from(_)` + ExprKind::Call(path, _) => { + if let ExprKind::Path(ref path) = path.kind { + // `to_type` + if let Some(to_type) = get_implementing_type(path, types, func) { + return Some((from_type, to_type)); + } + } + }, + // `to_type::MAX` + ExprKind::Path(ref path) => { + if let Some(to_type) = get_implementing_type(path, types, assoc_const) { + return Some((from_type, to_type)); + } + }, + _ => {}, } - } else { - None - } + }; + None } /// Gets the type which implements the called function @@ -336,10 +340,6 @@ fn normalize_le_ge<'a>(op: &BinOp, left: &'a Expr<'a>, right: &'a Expr<'a>) -> O } // Constants -const FROM: &str = "from"; -const MAX_VALUE: &str = "max_value"; -const MIN_VALUE: &str = "min_value"; - const UINTS: &[&str] = &["u8", "u16", "u32", "u64", "usize"]; const SINTS: &[&str] = &["i8", "i16", "i32", "i64", "isize"]; const INTS: &[&str] = &["u8", "u16", "u32", "u64", "usize", "i8", "i16", "i32", "i64", "isize"]; diff --git a/clippy_lints/src/copies.rs b/clippy_lints/src/copies.rs index 66722786eab49..b6d50bdfa1466 100644 --- a/clippy_lints/src/copies.rs +++ b/clippy_lints/src/copies.rs @@ -1,9 +1,9 @@ -use crate::utils::{get_parent_expr, higher, if_sequence, same_tys, snippet, span_lint_and_note, span_lint_and_then}; +use crate::utils::{get_parent_expr, higher, if_sequence, snippet, span_lint_and_note, span_lint_and_then}; use crate::utils::{SpanlessEq, SpanlessHash}; use rustc_data_structures::fx::FxHashMap; use rustc_hir::{Arm, Block, Expr, ExprKind, MatchSource, Pat, PatKind}; use rustc_lint::{LateContext, LateLintPass}; -use rustc_middle::ty::Ty; +use rustc_middle::ty::{Ty, TyS}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::symbol::Symbol; use std::collections::hash_map::Entry; @@ -242,15 +242,11 @@ fn lint_same_fns_in_if_cond(cx: &LateContext<'_, '_>, conds: &[&Expr<'_>]) { /// Implementation of `MATCH_SAME_ARMS`. fn lint_match_arms<'tcx>(cx: &LateContext<'_, 'tcx>, expr: &Expr<'_>) { - fn same_bindings<'tcx>( - cx: &LateContext<'_, 'tcx>, - lhs: &FxHashMap>, - rhs: &FxHashMap>, - ) -> bool { + fn same_bindings<'tcx>(lhs: &FxHashMap>, rhs: &FxHashMap>) -> bool { lhs.len() == rhs.len() && lhs .iter() - .all(|(name, l_ty)| rhs.get(name).map_or(false, |r_ty| same_tys(cx, l_ty, r_ty))) + .all(|(name, l_ty)| rhs.get(name).map_or(false, |r_ty| TyS::same_type(l_ty, r_ty))) } if let ExprKind::Match(_, ref arms, MatchSource::Normal) = expr.kind { @@ -269,7 +265,7 @@ fn lint_match_arms<'tcx>(cx: &LateContext<'_, 'tcx>, expr: &Expr<'_>) { (min_index..=max_index).all(|index| arms[index].guard.is_none()) && SpanlessEq::new(cx).eq_expr(&lhs.body, &rhs.body) && // all patterns should have the same bindings - same_bindings(cx, &bindings(cx, &lhs.pat), &bindings(cx, &rhs.pat)) + same_bindings(&bindings(cx, &lhs.pat), &bindings(cx, &rhs.pat)) }; let indexed_arms: Vec<(usize, &Arm<'_>)> = arms.iter().enumerate().collect(); diff --git a/clippy_lints/src/double_parens.rs b/clippy_lints/src/double_parens.rs index 7f2ff8b9b26f6..05517f6f9f0cc 100644 --- a/clippy_lints/src/double_parens.rs +++ b/clippy_lints/src/double_parens.rs @@ -13,10 +13,24 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad + /// fn simple_double_parens() -> i32 { + /// ((0)) + /// } + /// + /// // Good + /// fn simple_no_parens() -> i32 { + /// 0 + /// } + /// + /// // or + /// /// # fn foo(bar: usize) {} - /// ((0)); + /// // Bad /// foo((0)); - /// ((1, 2)); + /// + /// // Good + /// foo(0); /// ``` pub DOUBLE_PARENS, complexity, diff --git a/clippy_lints/src/drop_bounds.rs b/clippy_lints/src/drop_bounds.rs index f496680827913..5a7f759486edd 100644 --- a/clippy_lints/src/drop_bounds.rs +++ b/clippy_lints/src/drop_bounds.rs @@ -27,6 +27,10 @@ declare_clippy_lint! { /// ```rust /// fn foo() {} /// ``` + /// Could be written as: + /// ```rust + /// fn foo() {} + /// ``` pub DROP_BOUNDS, correctness, "Bounds of the form `T: Drop` are useless" diff --git a/clippy_lints/src/duration_subsec.rs b/clippy_lints/src/duration_subsec.rs index b35a8facf8b99..afefa2506381b 100644 --- a/clippy_lints/src/duration_subsec.rs +++ b/clippy_lints/src/duration_subsec.rs @@ -22,8 +22,14 @@ declare_clippy_lint! { /// ```rust /// # use std::time::Duration; /// let dur = Duration::new(5, 0); + /// + /// // Bad /// let _micros = dur.subsec_nanos() / 1_000; /// let _millis = dur.subsec_nanos() / 1_000_000; + /// + /// // Good + /// let _micros = dur.subsec_micros(); + /// let _millis = dur.subsec_millis(); /// ``` pub DURATION_SUBSEC, complexity, diff --git a/clippy_lints/src/enum_variants.rs b/clippy_lints/src/enum_variants.rs index a5871cf0cd4dd..cb0fd59a2d407 100644 --- a/clippy_lints/src/enum_variants.rs +++ b/clippy_lints/src/enum_variants.rs @@ -25,31 +25,47 @@ declare_clippy_lint! { /// BattenbergCake, /// } /// ``` + /// Could be written as: + /// ```rust + /// enum Cake { + /// BlackForest, + /// Hummingbird, + /// Battenberg, + /// } + /// ``` pub ENUM_VARIANT_NAMES, style, "enums where all variants share a prefix/postfix" } declare_clippy_lint! { - /// **What it does:** Detects enumeration variants that are prefixed or suffixed - /// by the same characters. + /// **What it does:** Detects public enumeration variants that are + /// prefixed or suffixed by the same characters. /// - /// **Why is this bad?** Enumeration variant names should specify their variant, + /// **Why is this bad?** Public enumeration variant names should specify their variant, /// not repeat the enumeration name. /// /// **Known problems:** None. /// /// **Example:** /// ```rust - /// enum Cake { + /// pub enum Cake { /// BlackForestCake, /// HummingbirdCake, /// BattenbergCake, /// } /// ``` + /// Could be written as: + /// ```rust + /// pub enum Cake { + /// BlackForest, + /// Hummingbird, + /// Battenberg, + /// } + /// ``` pub PUB_ENUM_VARIANT_NAMES, pedantic, - "enums where all variants share a prefix/postfix" + "public enums where all variants share a prefix/postfix" } declare_clippy_lint! { @@ -66,6 +82,12 @@ declare_clippy_lint! { /// struct BlackForestCake; /// } /// ``` + /// Could be written as: + /// ```rust + /// mod cake { + /// struct BlackForest; + /// } + /// ``` pub MODULE_NAME_REPETITIONS, pedantic, "type names prefixed/postfixed with their containing module's name" diff --git a/clippy_lints/src/eq_op.rs b/clippy_lints/src/eq_op.rs index 4e1c1f131405f..d7819d737ea04 100644 --- a/clippy_lints/src/eq_op.rs +++ b/clippy_lints/src/eq_op.rs @@ -39,7 +39,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```ignore + /// // Bad /// &x == y + /// + /// // Good + /// x == *y /// ``` pub OP_REF, style, diff --git a/clippy_lints/src/escape.rs b/clippy_lints/src/escape.rs index 1ec60a0e6e67a..7227683aa5ac2 100644 --- a/clippy_lints/src/escape.rs +++ b/clippy_lints/src/escape.rs @@ -28,9 +28,16 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// # fn foo(bar: usize) {} + /// + /// // Bad /// let x = Box::new(1); /// foo(*x); /// println!("{}", *x); + /// + /// // Good + /// let x = 1; + /// foo(x); + /// println!("{}", x); /// ``` pub BOXED_LOCAL, perf, diff --git a/clippy_lints/src/eta_reduction.rs b/clippy_lints/src/eta_reduction.rs index e3e1136b67693..d093025fd3d7a 100644 --- a/clippy_lints/src/eta_reduction.rs +++ b/clippy_lints/src/eta_reduction.rs @@ -26,7 +26,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust,ignore + /// // Bad /// xs.map(|x| foo(x)) + /// + /// // Good + /// xs.map(foo) /// ``` /// where `foo(_)` is a plain function that takes the exact argument type of /// `x`. diff --git a/clippy_lints/src/eval_order_dependence.rs b/clippy_lints/src/eval_order_dependence.rs index 5206266ccf2a6..74144fb299de2 100644 --- a/clippy_lints/src/eval_order_dependence.rs +++ b/clippy_lints/src/eval_order_dependence.rs @@ -21,11 +21,20 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// let mut x = 0; + /// + /// // Bad /// let a = { /// x = 1; /// 1 /// } + x; /// // Unclear whether a is 1 or 2. + /// + /// // Good + /// let tmp = { + /// x = 1; + /// 1 + /// }; + /// let a = tmp + x; /// ``` pub EVAL_ORDER_DEPENDENCE, complexity, diff --git a/clippy_lints/src/fallible_impl_from.rs b/clippy_lints/src/fallible_impl_from.rs index 17639cc2a0643..92812816461c5 100644 --- a/clippy_lints/src/fallible_impl_from.rs +++ b/clippy_lints/src/fallible_impl_from.rs @@ -20,12 +20,31 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// struct Foo(i32); + /// + /// // Bad /// impl From for Foo { /// fn from(s: String) -> Self { /// Foo(s.parse().unwrap()) /// } /// } /// ``` + /// + /// ```rust + /// // Good + /// struct Foo(i32); + /// + /// use std::convert::TryFrom; + /// impl TryFrom for Foo { + /// type Error = (); + /// fn try_from(s: String) -> Result { + /// if let Ok(parsed) = s.parse() { + /// Ok(Foo(parsed)) + /// } else { + /// Err(()) + /// } + /// } + /// } + /// ``` pub FALLIBLE_IMPL_FROM, nursery, "Warn on impls of `From<..>` that contain `panic!()` or `unwrap()`" @@ -120,7 +139,7 @@ fn lint_impl_body<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, impl_span: Span, impl_it move |diag| { diag.help( "`From` is intended for infallible conversions only. \ - Use `TryFrom` if there's a possibility for the conversion to fail."); + Use `TryFrom` if there's a possibility for the conversion to fail."); diag.span_note(fpu.result, "potential failure(s)"); }); } diff --git a/clippy_lints/src/floating_point_arithmetic.rs b/clippy_lints/src/floating_point_arithmetic.rs index 86317fb8bd5c4..3a912d928375d 100644 --- a/clippy_lints/src/floating_point_arithmetic.rs +++ b/clippy_lints/src/floating_point_arithmetic.rs @@ -28,7 +28,6 @@ declare_clippy_lint! { /// **Example:** /// /// ```rust - /// /// let a = 3f32; /// let _ = a.powf(1.0 / 3.0); /// let _ = (1.0 + a).ln(); @@ -38,7 +37,6 @@ declare_clippy_lint! { /// is better expressed as /// /// ```rust - /// /// let a = 3f32; /// let _ = a.cbrt(); /// let _ = a.ln_1p(); diff --git a/clippy_lints/src/format.rs b/clippy_lints/src/format.rs index 5b092526ce4f2..1530538aa7d13 100644 --- a/clippy_lints/src/format.rs +++ b/clippy_lints/src/format.rs @@ -25,9 +25,13 @@ declare_clippy_lint! { /// /// **Examples:** /// ```rust + /// + /// // Bad /// # let foo = "foo"; - /// format!("foo"); /// format!("{}", foo); + /// + /// // Good + /// format!("foo"); /// ``` pub USELESS_FORMAT, complexity, diff --git a/clippy_lints/src/formatting.rs b/clippy_lints/src/formatting.rs index eb4b7a826f2ce..156246fb8bbb0 100644 --- a/clippy_lints/src/formatting.rs +++ b/clippy_lints/src/formatting.rs @@ -112,12 +112,8 @@ declare_lint_pass!(Formatting => [ impl EarlyLintPass for Formatting { fn check_block(&mut self, cx: &EarlyContext<'_>, block: &Block) { for w in block.stmts.windows(2) { - match (&w[0].kind, &w[1].kind) { - (&StmtKind::Expr(ref first), &StmtKind::Expr(ref second)) - | (&StmtKind::Expr(ref first), &StmtKind::Semi(ref second)) => { - check_missing_else(cx, first, second); - }, - _ => (), + if let (StmtKind::Expr(first), StmtKind::Expr(second) | StmtKind::Semi(second)) = (&w[0].kind, &w[1].kind) { + check_missing_else(cx, first, second); } } } diff --git a/clippy_lints/src/functions.rs b/clippy_lints/src/functions.rs index c24a24733d7f3..325b6cf32a3d2 100644 --- a/clippy_lints/src/functions.rs +++ b/clippy_lints/src/functions.rs @@ -49,11 +49,11 @@ declare_clippy_lint! { /// **Known problems:** None. /// /// **Example:** - /// ``` rust + /// ```rust /// fn im_too_long() { - /// println!(""); - /// // ... 100 more LoC - /// println!(""); + /// println!(""); + /// // ... 100 more LoC + /// println!(""); /// } /// ``` pub TOO_MANY_LINES, @@ -79,10 +79,16 @@ declare_clippy_lint! { /// `some_argument.get_raw_ptr()`). /// /// **Example:** - /// ```rust + /// ```rust,ignore + /// // Bad /// pub fn foo(x: *const u8) { /// println!("{}", unsafe { *x }); /// } + /// + /// // Good + /// pub unsafe fn foo(x: *const u8) { + /// println!("{}", unsafe { *x }); + /// } /// ``` pub NOT_UNSAFE_PTR_ARG_DEREF, correctness, diff --git a/clippy_lints/src/implicit_saturating_sub.rs b/clippy_lints/src/implicit_saturating_sub.rs index 155a93de4facf..fdaf37e5e08fa 100644 --- a/clippy_lints/src/implicit_saturating_sub.rs +++ b/clippy_lints/src/implicit_saturating_sub.rs @@ -25,13 +25,6 @@ declare_clippy_lint! { /// if i != 0 { /// i -= 1; /// } - /// ``` - /// Use instead: - /// ```rust - /// let end: u32 = 10; - /// let start: u32 = 5; - /// - /// let mut i: u32 = end - start; /// /// // Good /// i = i.saturating_sub(1); diff --git a/clippy_lints/src/int_plus_one.rs b/clippy_lints/src/int_plus_one.rs index d5dbd495680b2..e91fb0c2f27cd 100644 --- a/clippy_lints/src/int_plus_one.rs +++ b/clippy_lints/src/int_plus_one.rs @@ -10,7 +10,6 @@ use crate::utils::{snippet_opt, span_lint_and_sugg}; declare_clippy_lint! { /// **What it does:** Checks for usage of `x >= y + 1` or `x - 1 >= y` (and `<=`) in a block /// - /// /// **Why is this bad?** Readability -- better to use `> y` instead of `>= y + 1`. /// /// **Known problems:** None. diff --git a/clippy_lints/src/integer_division.rs b/clippy_lints/src/integer_division.rs index fe34d33fe652c..d537ef3f3238e 100644 --- a/clippy_lints/src/integer_division.rs +++ b/clippy_lints/src/integer_division.rs @@ -15,10 +15,13 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust - /// fn main() { - /// let x = 3 / 2; - /// println!("{}", x); - /// } + /// // Bad + /// let x = 3 / 2; + /// println!("{}", x); + /// + /// // Good + /// let x = 3f32 / 2f32; + /// println!("{}", x); /// ``` pub INTEGER_DIVISION, restriction, diff --git a/clippy_lints/src/items_after_statements.rs b/clippy_lints/src/items_after_statements.rs index e7062b7c16bb9..c8576bcfcb444 100644 --- a/clippy_lints/src/items_after_statements.rs +++ b/clippy_lints/src/items_after_statements.rs @@ -16,6 +16,7 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad /// fn foo() { /// println!("cake"); /// } @@ -28,6 +29,21 @@ declare_clippy_lint! { /// foo(); // prints "foo" /// } /// ``` + /// + /// ```rust + /// // Good + /// fn foo() { + /// println!("cake"); + /// } + /// + /// fn main() { + /// fn foo() { + /// println!("foo"); + /// } + /// foo(); // prints "foo" + /// foo(); // prints "foo" + /// } + /// ``` pub ITEMS_AFTER_STATEMENTS, pedantic, "blocks where an item comes after a statement" diff --git a/clippy_lints/src/len_zero.rs b/clippy_lints/src/len_zero.rs index 2ec0b5a8d6fb4..f5bfede75a761 100644 --- a/clippy_lints/src/len_zero.rs +++ b/clippy_lints/src/len_zero.rs @@ -1,4 +1,4 @@ -use crate::utils::{get_item_name, snippet_with_applicability, span_lint, span_lint_and_sugg, walk_ptrs_ty}; +use crate::utils::{get_item_name, higher, snippet_with_applicability, span_lint, span_lint_and_sugg, walk_ptrs_ty}; use rustc_ast::ast::LitKind; use rustc_data_structures::fx::FxHashSet; use rustc_errors::Applicability; @@ -259,6 +259,17 @@ fn check_len( /// Checks if this type has an `is_empty` method. fn has_is_empty(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { + /// Special case ranges until `range_is_empty` is stabilized. See issue 3807. + fn should_skip_range(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { + higher::range(cx, expr).map_or(false, |_| { + !cx.tcx + .features() + .declared_lib_features + .iter() + .any(|(name, _)| name.as_str() == "range_is_empty") + }) + } + /// Gets an `AssocItem` and return true if it matches `is_empty(self)`. fn is_is_empty(cx: &LateContext<'_, '_>, item: &ty::AssocItem) -> bool { if let ty::AssocKind::Fn = item.kind { @@ -284,6 +295,10 @@ fn has_is_empty(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { }) } + if should_skip_range(cx, expr) { + return false; + } + let ty = &walk_ptrs_ty(cx.tables.expr_ty(expr)); match ty.kind { ty::Dynamic(ref tt, ..) => { diff --git a/clippy_lints/src/let_and_return.rs b/clippy_lints/src/let_and_return.rs new file mode 100644 index 0000000000000..6d3fb317bcfc5 --- /dev/null +++ b/clippy_lints/src/let_and_return.rs @@ -0,0 +1,141 @@ +use if_chain::if_chain; +use rustc_errors::Applicability; +use rustc_hir::def_id::DefId; +use rustc_hir::intravisit::{walk_expr, NestedVisitorMap, Visitor}; +use rustc_hir::{Block, Expr, ExprKind, PatKind, StmtKind}; +use rustc_lint::{LateContext, LateLintPass, LintContext}; +use rustc_middle::hir::map::Map; +use rustc_middle::lint::in_external_macro; +use rustc_middle::ty::subst::GenericArgKind; +use rustc_session::{declare_lint_pass, declare_tool_lint}; + +use crate::utils::{in_macro, match_qpath, snippet_opt, span_lint_and_then}; + +declare_clippy_lint! { + /// **What it does:** Checks for `let`-bindings, which are subsequently + /// returned. + /// + /// **Why is this bad?** It is just extraneous code. Remove it to make your code + /// more rusty. + /// + /// **Known problems:** None. + /// + /// **Example:** + /// ```rust + /// fn foo() -> String { + /// let x = String::new(); + /// x + /// } + /// ``` + /// instead, use + /// ``` + /// fn foo() -> String { + /// String::new() + /// } + /// ``` + pub LET_AND_RETURN, + style, + "creating a let-binding and then immediately returning it like `let x = expr; x` at the end of a block" +} + +declare_lint_pass!(LetReturn => [LET_AND_RETURN]); + +impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetReturn { + fn check_block(&mut self, cx: &LateContext<'a, 'tcx>, block: &'tcx Block<'_>) { + // we need both a let-binding stmt and an expr + if_chain! { + if let Some(retexpr) = block.expr; + if let Some(stmt) = block.stmts.iter().last(); + if let StmtKind::Local(local) = &stmt.kind; + if local.ty.is_none(); + if local.attrs.is_empty(); + if let Some(initexpr) = &local.init; + if let PatKind::Binding(.., ident, _) = local.pat.kind; + if let ExprKind::Path(qpath) = &retexpr.kind; + if match_qpath(qpath, &[&*ident.name.as_str()]); + if !last_statement_borrows(cx, initexpr); + if !in_external_macro(cx.sess(), initexpr.span); + if !in_external_macro(cx.sess(), retexpr.span); + if !in_external_macro(cx.sess(), local.span); + if !in_macro(local.span); + then { + span_lint_and_then( + cx, + LET_AND_RETURN, + retexpr.span, + "returning the result of a `let` binding from a block", + |err| { + err.span_label(local.span, "unnecessary `let` binding"); + + if let Some(snippet) = snippet_opt(cx, initexpr.span) { + err.multipart_suggestion( + "return the expression directly", + vec![ + (local.span, String::new()), + (retexpr.span, snippet), + ], + Applicability::MachineApplicable, + ); + } else { + err.span_help(initexpr.span, "this expression can be directly returned"); + } + }, + ); + } + } + } +} + +fn last_statement_borrows<'tcx>(cx: &LateContext<'_, 'tcx>, expr: &'tcx Expr<'tcx>) -> bool { + let mut visitor = BorrowVisitor { cx, borrows: false }; + walk_expr(&mut visitor, expr); + visitor.borrows +} + +struct BorrowVisitor<'a, 'tcx> { + cx: &'a LateContext<'a, 'tcx>, + borrows: bool, +} + +impl BorrowVisitor<'_, '_> { + fn fn_def_id(&self, expr: &Expr<'_>) -> Option { + match &expr.kind { + ExprKind::MethodCall(..) => self.cx.tables.type_dependent_def_id(expr.hir_id), + ExprKind::Call( + Expr { + kind: ExprKind::Path(qpath), + .. + }, + .., + ) => self.cx.tables.qpath_res(qpath, expr.hir_id).opt_def_id(), + _ => None, + } + } +} + +impl<'tcx> Visitor<'tcx> for BorrowVisitor<'_, 'tcx> { + type Map = Map<'tcx>; + + fn visit_expr(&mut self, expr: &'tcx Expr<'_>) { + if self.borrows { + return; + } + + if let Some(def_id) = self.fn_def_id(expr) { + self.borrows = self + .cx + .tcx + .fn_sig(def_id) + .output() + .skip_binder() + .walk() + .any(|arg| matches!(arg.unpack(), GenericArgKind::Lifetime(_))); + } + + walk_expr(self, expr); + } + + fn nested_visit_map(&mut self) -> NestedVisitorMap { + NestedVisitorMap::None + } +} diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index b7d928d249f96..cd258c7b506c3 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -1,5 +1,6 @@ // error-pattern:cargo-clippy +#![feature(bindings_after_at)] #![feature(box_syntax)] #![feature(box_patterns)] #![feature(or_patterns)] @@ -12,6 +13,7 @@ #![cfg_attr(feature = "deny-warnings", deny(warnings))] #![feature(crate_visibility_modifier)] #![feature(concat_idents)] +#![feature(drain_filter)] // FIXME: switch to something more ergonomic here, once available. // (Currently there is no way to opt into sysroot crates without `extern crate`.) @@ -239,6 +241,7 @@ mod large_const_arrays; mod large_enum_variant; mod large_stack_arrays; mod len_zero; +mod let_and_return; mod let_if_seq; mod let_underscore; mod lifetimes; @@ -318,6 +321,8 @@ mod try_err; mod types; mod unicode; mod unnamed_address; +mod unnecessary_sort_by; +mod unnested_or_patterns; mod unsafe_removed_from_name; mod unused_io_amount; mod unused_self; @@ -325,6 +330,7 @@ mod unwrap; mod use_self; mod useless_conversion; mod vec; +mod vec_resize_to_zero; mod verbose_file_reads; mod wildcard_dependencies; mod wildcard_imports; @@ -594,6 +600,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: &large_stack_arrays::LARGE_STACK_ARRAYS, &len_zero::LEN_WITHOUT_IS_EMPTY, &len_zero::LEN_ZERO, + &let_and_return::LET_AND_RETURN, &let_if_seq::USELESS_LET_IF_SEQ, &let_underscore::LET_UNDERSCORE_LOCK, &let_underscore::LET_UNDERSCORE_MUST_USE, @@ -664,6 +671,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: &methods::INTO_ITER_ON_REF, &methods::ITERATOR_STEP_BY_ZERO, &methods::ITER_CLONED_COLLECT, + &methods::ITER_NEXT_SLICE, &methods::ITER_NTH, &methods::ITER_NTH_ZERO, &methods::ITER_SKIP_NEXT, @@ -769,7 +777,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: ®ex::INVALID_REGEX, ®ex::REGEX_MACRO, ®ex::TRIVIAL_REGEX, - &returns::LET_AND_RETURN, &returns::NEEDLESS_RETURN, &returns::UNUSED_UNIT, &serde_api::SERDE_API_MISUSE, @@ -832,6 +839,8 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: &unicode::ZERO_WIDTH_SPACE, &unnamed_address::FN_ADDRESS_COMPARISONS, &unnamed_address::VTABLE_ADDRESS_COMPARISONS, + &unnecessary_sort_by::UNNECESSARY_SORT_BY, + &unnested_or_patterns::UNNESTED_OR_PATTERNS, &unsafe_removed_from_name::UNSAFE_REMOVED_FROM_NAME, &unused_io_amount::UNUSED_IO_AMOUNT, &unused_self::UNUSED_SELF, @@ -847,6 +856,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: &utils::internal_lints::OUTER_EXPN_EXPN_DATA, &utils::internal_lints::PRODUCE_ICE, &vec::USELESS_VEC, + &vec_resize_to_zero::VEC_RESIZE_TO_ZERO, &verbose_file_reads::VERBOSE_FILE_READS, &wildcard_dependencies::WILDCARD_DEPENDENCIES, &wildcard_imports::ENUM_GLOB_USE, @@ -994,6 +1004,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: store.register_late_pass(|| box ptr_offset_with_cast::PtrOffsetWithCast); store.register_late_pass(|| box redundant_clone::RedundantClone); store.register_late_pass(|| box slow_vector_initialization::SlowVectorInit); + store.register_late_pass(|| box unnecessary_sort_by::UnnecessarySortBy); store.register_late_pass(|| box types::RefToMut); store.register_late_pass(|| box assertions_on_constants::AssertionsOnConstants); store.register_late_pass(|| box missing_const_for_fn::MissingConstForFn); @@ -1016,6 +1027,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: store.register_early_pass(|| box formatting::Formatting); store.register_early_pass(|| box misc_early::MiscEarlyLints); store.register_early_pass(|| box returns::Return); + store.register_late_pass(|| box let_and_return::LetReturn); store.register_early_pass(|| box collapsible_if::CollapsibleIf); store.register_early_pass(|| box items_after_statements::ItemsAfterStatements); store.register_early_pass(|| box precedence::Precedence); @@ -1062,10 +1074,12 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: store.register_early_pass(|| box manual_non_exhaustive::ManualNonExhaustive); store.register_late_pass(|| box manual_async_fn::ManualAsyncFn); store.register_early_pass(|| box redundant_field_names::RedundantFieldNames); + store.register_late_pass(|| box vec_resize_to_zero::VecResizeToZero); let single_char_binding_names_threshold = conf.single_char_binding_names_threshold; store.register_early_pass(move || box non_expressive_names::NonExpressiveNames { single_char_binding_names_threshold, }); + store.register_early_pass(|| box unnested_or_patterns::UnnestedOrPatterns); store.register_group(true, "clippy::restriction", Some("clippy_restriction"), vec![ LintId::of(&arithmetic::FLOAT_ARITHMETIC), @@ -1164,6 +1178,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&types::CAST_POSSIBLE_TRUNCATION), LintId::of(&types::CAST_POSSIBLE_WRAP), LintId::of(&types::CAST_PRECISION_LOSS), + LintId::of(&types::CAST_PTR_ALIGNMENT), LintId::of(&types::CAST_SIGN_LOSS), LintId::of(&types::IMPLICIT_HASHER), LintId::of(&types::INVALID_UPCAST_COMPARISONS), @@ -1257,6 +1272,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&large_enum_variant::LARGE_ENUM_VARIANT), LintId::of(&len_zero::LEN_WITHOUT_IS_EMPTY), LintId::of(&len_zero::LEN_ZERO), + LintId::of(&let_and_return::LET_AND_RETURN), LintId::of(&let_underscore::LET_UNDERSCORE_LOCK), LintId::of(&lifetimes::EXTRA_UNUSED_LIFETIMES), LintId::of(&lifetimes::NEEDLESS_LIFETIMES), @@ -1303,6 +1319,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&methods::INTO_ITER_ON_REF), LintId::of(&methods::ITERATOR_STEP_BY_ZERO), LintId::of(&methods::ITER_CLONED_COLLECT), + LintId::of(&methods::ITER_NEXT_SLICE), LintId::of(&methods::ITER_NTH), LintId::of(&methods::ITER_NTH_ZERO), LintId::of(&methods::ITER_SKIP_NEXT), @@ -1381,7 +1398,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(®ex::INVALID_REGEX), LintId::of(®ex::REGEX_MACRO), LintId::of(®ex::TRIVIAL_REGEX), - LintId::of(&returns::LET_AND_RETURN), LintId::of(&returns::NEEDLESS_RETURN), LintId::of(&returns::UNUSED_UNIT), LintId::of(&serde_api::SERDE_API_MISUSE), @@ -1410,7 +1426,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&types::ABSURD_EXTREME_COMPARISONS), LintId::of(&types::BORROWED_BOX), LintId::of(&types::BOX_VEC), - LintId::of(&types::CAST_PTR_ALIGNMENT), LintId::of(&types::CAST_REF_TO_MUT), LintId::of(&types::CHAR_LIT_AS_U8), LintId::of(&types::FN_TO_NUMERIC_CAST), @@ -1424,12 +1439,15 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&unicode::ZERO_WIDTH_SPACE), LintId::of(&unnamed_address::FN_ADDRESS_COMPARISONS), LintId::of(&unnamed_address::VTABLE_ADDRESS_COMPARISONS), + LintId::of(&unnecessary_sort_by::UNNECESSARY_SORT_BY), + LintId::of(&unnested_or_patterns::UNNESTED_OR_PATTERNS), LintId::of(&unsafe_removed_from_name::UNSAFE_REMOVED_FROM_NAME), LintId::of(&unused_io_amount::UNUSED_IO_AMOUNT), LintId::of(&unwrap::PANICKING_UNWRAP), LintId::of(&unwrap::UNNECESSARY_UNWRAP), LintId::of(&useless_conversion::USELESS_CONVERSION), LintId::of(&vec::USELESS_VEC), + LintId::of(&vec_resize_to_zero::VEC_RESIZE_TO_ZERO), LintId::of(&write::PRINTLN_EMPTY_STRING), LintId::of(&write::PRINT_LITERAL), LintId::of(&write::PRINT_WITH_NEWLINE), @@ -1464,6 +1482,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&inherent_to_string::INHERENT_TO_STRING), LintId::of(&len_zero::LEN_WITHOUT_IS_EMPTY), LintId::of(&len_zero::LEN_ZERO), + LintId::of(&let_and_return::LET_AND_RETURN), LintId::of(&literal_representation::INCONSISTENT_DIGIT_GROUPING), LintId::of(&loops::EMPTY_LOOP), LintId::of(&loops::FOR_KV_MAP), @@ -1483,6 +1502,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&methods::CHARS_NEXT_CMP), LintId::of(&methods::INTO_ITER_ON_REF), LintId::of(&methods::ITER_CLONED_COLLECT), + LintId::of(&methods::ITER_NEXT_SLICE), LintId::of(&methods::ITER_NTH_ZERO), LintId::of(&methods::ITER_SKIP_NEXT), LintId::of(&methods::MANUAL_SATURATING_ARITHMETIC), @@ -1515,7 +1535,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&redundant_static_lifetimes::REDUNDANT_STATIC_LIFETIMES), LintId::of(®ex::REGEX_MACRO), LintId::of(®ex::TRIVIAL_REGEX), - LintId::of(&returns::LET_AND_RETURN), LintId::of(&returns::NEEDLESS_RETURN), LintId::of(&returns::UNUSED_UNIT), LintId::of(&single_component_path_imports::SINGLE_COMPONENT_PATH_IMPORTS), @@ -1604,6 +1623,8 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&types::UNIT_ARG), LintId::of(&types::UNNECESSARY_CAST), LintId::of(&types::VEC_BOX), + LintId::of(&unnecessary_sort_by::UNNECESSARY_SORT_BY), + LintId::of(&unnested_or_patterns::UNNESTED_OR_PATTERNS), LintId::of(&unwrap::UNNECESSARY_UNWRAP), LintId::of(&useless_conversion::USELESS_CONVERSION), LintId::of(&zero_div_zero::ZERO_DIVIDED_BY_ZERO), @@ -1669,7 +1690,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&transmute::WRONG_TRANSMUTE), LintId::of(&transmuting_null::TRANSMUTING_NULL), LintId::of(&types::ABSURD_EXTREME_COMPARISONS), - LintId::of(&types::CAST_PTR_ALIGNMENT), LintId::of(&types::CAST_REF_TO_MUT), LintId::of(&types::UNIT_CMP), LintId::of(&unicode::ZERO_WIDTH_SPACE), @@ -1677,6 +1697,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&unnamed_address::VTABLE_ADDRESS_COMPARISONS), LintId::of(&unused_io_amount::UNUSED_IO_AMOUNT), LintId::of(&unwrap::PANICKING_UNWRAP), + LintId::of(&vec_resize_to_zero::VEC_RESIZE_TO_ZERO), ]); store.register_group(true, "clippy::perf", Some("clippy_perf"), vec![ diff --git a/clippy_lints/src/literal_representation.rs b/clippy_lints/src/literal_representation.rs index ec7c4531ed716..7ba43562d7d44 100644 --- a/clippy_lints/src/literal_representation.rs +++ b/clippy_lints/src/literal_representation.rs @@ -24,7 +24,11 @@ declare_clippy_lint! { /// **Example:** /// /// ```rust + /// // Bad /// let x: u64 = 61864918973511; + /// + /// // Good + /// let x: u64 = 61_864_918_973_511; /// ``` pub UNREADABLE_LITERAL, pedantic, @@ -44,7 +48,11 @@ declare_clippy_lint! { /// **Example:** /// /// ```rust + /// // Probably mistyped /// 2_32; + /// + /// // Good + /// 2_i32; /// ``` pub MISTYPED_LITERAL_SUFFIXES, correctness, @@ -63,7 +71,11 @@ declare_clippy_lint! { /// **Example:** /// /// ```rust + /// // Bad /// let x: u64 = 618_64_9189_73_511; + /// + /// // Good + /// let x: u64 = 61_864_918_973_511; /// ``` pub INCONSISTENT_DIGIT_GROUPING, style, diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index 38a5829b3f745..57c62d739640f 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -8,7 +8,7 @@ use crate::utils::{ multispan_sugg, snippet, snippet_opt, snippet_with_applicability, span_lint, span_lint_and_help, span_lint_and_sugg, span_lint_and_then, SpanlessEq, }; -use crate::utils::{is_type_diagnostic_item, qpath_res, same_tys, sugg}; +use crate::utils::{is_type_diagnostic_item, qpath_res, sugg}; use if_chain::if_chain; use rustc_ast::ast; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; @@ -24,10 +24,10 @@ use rustc_lint::{LateContext, LateLintPass, LintContext}; use rustc_middle::hir::map::Map; use rustc_middle::lint::in_external_macro; use rustc_middle::middle::region; -use rustc_middle::ty::{self, Ty}; +use rustc_middle::ty::{self, Ty, TyS}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::source_map::Span; -use rustc_span::BytePos; +use rustc_span::symbol::Symbol; use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, Place, PlaceBase}; use std::iter::{once, Iterator}; use std::mem; @@ -1256,7 +1256,7 @@ fn check_for_loop_arg(cx: &LateContext<'_, '_>, pat: &Pat<'_>, arg: &Expr<'_>, e } else if method_name == "into_iter" && match_trait_method(cx, arg, &paths::INTO_ITERATOR) { let receiver_ty = cx.tables.expr_ty(&args[0]); let receiver_ty_adjusted = cx.tables.expr_ty_adjusted(&args[0]); - if same_tys(cx, receiver_ty, receiver_ty_adjusted) { + if TyS::same_type(receiver_ty, receiver_ty_adjusted) { let mut applicability = Applicability::MachineApplicable; let object = snippet_with_applicability(cx, args[0].span, "_", &mut applicability); span_lint_and_sugg( @@ -1277,7 +1277,7 @@ fn check_for_loop_arg(cx: &LateContext<'_, '_>, pat: &Pat<'_>, arg: &Expr<'_>, e mutbl: Mutability::Not, }, ); - if same_tys(cx, receiver_ty_adjusted, ref_receiver_ty) { + if TyS::same_type(receiver_ty_adjusted, ref_receiver_ty) { lint_iter_method(cx, args, arg, method_name) } } @@ -2381,32 +2381,32 @@ fn check_needless_collect<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &LateContext<'a, ' match_type(cx, ty, &paths::BTREEMAP) || is_type_diagnostic_item(cx, ty, sym!(hashmap_type)) { if method.ident.name == sym!(len) { - let span = shorten_needless_collect_span(expr); + let span = shorten_span(expr, sym!(collect)); span_lint_and_sugg( cx, NEEDLESS_COLLECT, span, NEEDLESS_COLLECT_MSG, "replace with", - ".count()".to_string(), + "count()".to_string(), Applicability::MachineApplicable, ); } if method.ident.name == sym!(is_empty) { - let span = shorten_needless_collect_span(expr); + let span = shorten_span(expr, sym!(iter)); span_lint_and_sugg( cx, NEEDLESS_COLLECT, span, NEEDLESS_COLLECT_MSG, "replace with", - ".next().is_none()".to_string(), + "get(0).is_none()".to_string(), Applicability::MachineApplicable, ); } if method.ident.name == sym!(contains) { let contains_arg = snippet(cx, args[1].span, "??"); - let span = shorten_needless_collect_span(expr); + let span = shorten_span(expr, sym!(collect)); span_lint_and_then( cx, NEEDLESS_COLLECT, @@ -2422,7 +2422,7 @@ fn check_needless_collect<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &LateContext<'a, ' span, "replace with", format!( - ".any(|{}| x == {})", + "any(|{}| x == {})", arg, pred ), Applicability::MachineApplicable, @@ -2435,13 +2435,13 @@ fn check_needless_collect<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &LateContext<'a, ' } } -fn shorten_needless_collect_span(expr: &Expr<'_>) -> Span { - if_chain! { - if let ExprKind::MethodCall(_, _, ref args) = expr.kind; - if let ExprKind::MethodCall(_, ref span, _) = args[0].kind; - then { - return expr.span.with_lo(span.lo() - BytePos(1)); +fn shorten_span(expr: &Expr<'_>, target_fn_name: Symbol) -> Span { + let mut current_expr = expr; + while let ExprKind::MethodCall(ref path, ref span, ref args) = current_expr.kind { + if path.ident.name == target_fn_name { + return expr.span.with_lo(span.lo()); } + current_expr = &args[0]; } unreachable!() } diff --git a/clippy_lints/src/matches.rs b/clippy_lints/src/matches.rs index 94380acfcfd4c..6d7af45a47224 100644 --- a/clippy_lints/src/matches.rs +++ b/clippy_lints/src/matches.rs @@ -36,10 +36,17 @@ declare_clippy_lint! { /// ```rust /// # fn bar(stool: &str) {} /// # let x = Some("abc"); + /// + /// // Bad /// match x { /// Some(ref foo) => bar(foo), /// _ => (), /// } + /// + /// // Good + /// if let Some(ref foo) = x { + /// bar(foo); + /// } /// ``` pub SINGLE_MATCH, style, @@ -97,11 +104,19 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust,ignore + /// // Bad /// match x { /// &A(ref y) => foo(y), /// &B => bar(), /// _ => frob(&x), /// } + /// + /// // Good + /// match *x { + /// A(ref y) => foo(y), + /// B => bar(), + /// _ => frob(x), + /// } /// ``` pub MATCH_REF_PATS, style, @@ -197,10 +212,15 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// let x: Option<()> = None; + /// + /// // Bad /// let r: Option<&()> = match x { /// None => None, /// Some(ref v) => Some(v), /// }; + /// + /// // Good + /// let r: Option<&()> = x.as_ref(); /// ``` pub MATCH_AS_REF, complexity, @@ -219,10 +239,18 @@ declare_clippy_lint! { /// ```rust /// # enum Foo { A(usize), B(usize) } /// # let x = Foo::B(1); + /// + /// // Bad /// match x { /// Foo::A(_) => {}, /// _ => {}, /// } + /// + /// // Good + /// match x { + /// Foo::A(_) => {}, + /// Foo::B(_) => {}, + /// } /// ``` pub WILDCARD_ENUM_MATCH_ARM, restriction, @@ -242,16 +270,14 @@ declare_clippy_lint! { /// ```rust /// # enum Foo { A, B, C } /// # let x = Foo::B; + /// // Bad /// match x { /// Foo::A => {}, /// Foo::B => {}, /// _ => {}, /// } - /// ``` - /// Use instead: - /// ```rust - /// # enum Foo { A, B, C } - /// # let x = Foo::B; + /// + /// // Good /// match x { /// Foo::A => {}, /// Foo::B => {}, @@ -273,10 +299,17 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad /// match "foo" { /// "a" => {}, /// "bar" | _ => {}, /// } + /// + /// // Good + /// match "foo" { + /// "a" => {}, + /// _ => {}, + /// } /// ``` pub WILDCARD_IN_OR_PATTERNS, complexity, diff --git a/clippy_lints/src/methods/manual_saturating_arithmetic.rs b/clippy_lints/src/methods/manual_saturating_arithmetic.rs index aaed6d75048c6..4f5c06e785c23 100644 --- a/clippy_lints/src/methods/manual_saturating_arithmetic.rs +++ b/clippy_lints/src/methods/manual_saturating_arithmetic.rs @@ -57,7 +57,7 @@ pub fn lint(cx: &LateContext<'_, '_>, expr: &hir::Expr<'_>, args: &[&[hir::Expr< ); } else { match (mm, arith) { - (MinMax::Max, "add") | (MinMax::Max, "mul") | (MinMax::Min, "sub") => (), + (MinMax::Max, "add" | "mul") | (MinMax::Min, "sub") => (), _ => return, } diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs index 52ca962e7ef97..214cf0c130f21 100644 --- a/clippy_lints/src/methods/mod.rs +++ b/clippy_lints/src/methods/mod.rs @@ -18,7 +18,7 @@ use rustc_lint::{LateContext, LateLintPass, Lint, LintContext}; use rustc_middle::hir::map::Map; use rustc_middle::lint::in_external_macro; use rustc_middle::ty::subst::GenericArgKind; -use rustc_middle::ty::{self, Ty}; +use rustc_middle::ty::{self, Ty, TyS}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::source_map::Span; use rustc_span::symbol::{sym, SymbolStr}; @@ -26,12 +26,12 @@ use rustc_span::symbol::{sym, SymbolStr}; use crate::consts::{constant, Constant}; use crate::utils::usage::mutated_variables; use crate::utils::{ - get_arg_name, get_parent_expr, get_trait_def_id, has_iter_method, implements_trait, in_macro, is_copy, + get_arg_name, get_parent_expr, get_trait_def_id, has_iter_method, higher, implements_trait, in_macro, is_copy, is_ctor_or_promotable_const_function, is_expn_of, is_type_diagnostic_item, iter_input_pats, last_path_segment, match_def_path, match_qpath, match_trait_method, match_type, match_var, method_calls, method_chain_args, paths, - remove_blocks, return_ty, same_tys, single_segment_path, snippet, snippet_with_applicability, - snippet_with_macro_callsite, span_lint, span_lint_and_help, span_lint_and_note, span_lint_and_sugg, - span_lint_and_then, sugg, walk_ptrs_ty, walk_ptrs_ty_depth, SpanlessEq, + remove_blocks, return_ty, single_segment_path, snippet, snippet_with_applicability, snippet_with_macro_callsite, + span_lint, span_lint_and_help, span_lint_and_note, span_lint_and_sugg, span_lint_and_then, sugg, walk_ptrs_ty, + walk_ptrs_ty_depth, SpanlessEq, }; declare_clippy_lint! { @@ -218,7 +218,12 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// # let x = Ok::<_, ()>(()); - /// x.ok().expect("why did I do this again?") + /// + /// // Bad + /// x.ok().expect("why did I do this again?"); + /// + /// // Good + /// x.expect("why did I do this again?"); /// ``` pub OK_EXPECT, style, @@ -273,8 +278,12 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// # let opt = Some(1); - /// opt.map_or(None, |a| Some(a + 1)) - /// # ; + /// + /// // Bad + /// opt.map_or(None, |a| Some(a + 1)); + /// + /// // Good + /// opt.and_then(|a| Some(a + 1)); /// ``` pub OPTION_MAP_OR_NONE, style, @@ -390,14 +399,19 @@ declare_clippy_lint! { /// **What it does:** Checks for usage of `_.map(_).flatten(_)`, /// /// **Why is this bad?** Readability, this can be written more concisely as a - /// single method call. + /// single method call using `_.flat_map(_)` /// /// **Known problems:** /// /// **Example:** /// ```rust /// let vec = vec![vec![1]]; + /// + /// // Bad /// vec.iter().map(|x| x.iter()).flatten(); + /// + /// // Good + /// vec.iter().flat_map(|x| x.iter()); /// ``` pub MAP_FLATTEN, pedantic, @@ -417,7 +431,16 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// let vec = vec![1]; + /// + /// // Bad /// vec.iter().filter(|x| **x == 0).map(|x| *x * 2); + /// + /// // Good + /// vec.iter().filter_map(|x| if *x == 0 { + /// Some(*x * 2) + /// } else { + /// None + /// }); /// ``` pub FILTER_MAP, pedantic, @@ -634,7 +657,12 @@ declare_clippy_lint! { /// ```rust /// # use std::rc::Rc; /// let x = Rc::new(1); + /// + /// // Bad /// x.clone(); + /// + /// // Good + /// Rc::clone(&x); /// ``` pub CLONE_ON_REF_PTR, restriction, @@ -741,7 +769,12 @@ declare_clippy_lint! { /// **Known problems:** Does not catch multi-byte unicode characters. /// /// **Example:** - /// `_.split("x")` could be `_.split('x')` + /// ```rust,ignore + /// // Bad + /// _.split("x"); + /// + /// // Good + /// _.split('x'); pub SINGLE_CHAR_PATTERN, perf, "using a single-character str where a char could be used, e.g., `_.split(\"x\")`" @@ -964,8 +997,8 @@ declare_clippy_lint! { } declare_clippy_lint! { - /// **What it does:** Checks for usage of `.chars().last()` or - /// `.chars().next_back()` on a `str` to check if it ends with a given char. + /// **What it does:** Checks for usage of `_.chars().last()` or + /// `_.chars().next_back()` on a `str` to check if it ends with a given char. /// /// **Why is this bad?** Readability, this can be written more concisely as /// `_.ends_with(_)`. @@ -975,8 +1008,12 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// # let name = "_"; - /// name.chars().last() == Some('_') || name.chars().next_back() == Some('-') - /// # ; + /// + /// // Bad + /// name.chars().last() == Some('_') || name.chars().next_back() == Some('-'); + /// + /// // Good + /// name.ends_with('_') || name.ends_with('-'); /// ``` pub CHARS_LAST_CMP, style, @@ -1044,17 +1081,15 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// let _ = (0..3).filter_map(|x| if x > 2 { Some(x) } else { None }); - /// ``` - /// As there is no transformation of the argument this could be written as: - /// ```rust + /// + /// // As there is no transformation of the argument this could be written as: /// let _ = (0..3).filter(|&x| x > 2); /// ``` /// /// ```rust /// let _ = (0..4).filter_map(|x| Some(x + 1)); - /// ``` - /// As there is no conditional check on the argument this could be written as: - /// ```rust + /// + /// // As there is no conditional check on the argument this could be written as: /// let _ = (0..4).map(|x| x + 1); /// ``` pub UNNECESSARY_FILTER_MAP, @@ -1075,7 +1110,11 @@ declare_clippy_lint! { /// **Example:** /// /// ```rust + /// // Bad /// let _ = (&vec![3, 4, 5]).into_iter(); + /// + /// // Good + /// let _ = (&vec![3, 4, 5]).iter(); /// ``` pub INTO_ITER_ON_REF, style, @@ -1242,6 +1281,32 @@ declare_clippy_lint! { "using `as_ref().map(Deref::deref)`, which is more succinctly expressed as `as_deref()`" } +declare_clippy_lint! { + /// **What it does:** Checks for usage of `iter().next()` on a Slice or an Array + /// + /// **Why is this bad?** These can be shortened into `.get()` + /// + /// **Known problems:** None. + /// + /// **Example:** + /// ```rust + /// # let a = [1, 2, 3]; + /// # let b = vec![1, 2, 3]; + /// a[2..].iter().next(); + /// b.iter().next(); + /// ``` + /// should be written as: + /// ```rust + /// # let a = [1, 2, 3]; + /// # let b = vec![1, 2, 3]; + /// a.get(2); + /// b.get(0); + /// ``` + pub ITER_NEXT_SLICE, + style, + "using `.iter().next()` on a sliced array, which can be shortened to just `.get()`" +} + declare_lint_pass!(Methods => [ UNWRAP_USED, EXPECT_USED, @@ -1273,6 +1338,7 @@ declare_lint_pass!(Methods => [ FIND_MAP, MAP_FLATTEN, ITERATOR_STEP_BY_ZERO, + ITER_NEXT_SLICE, ITER_NTH, ITER_NTH_ZERO, ITER_SKIP_NEXT, @@ -1320,6 +1386,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { }, ["next", "filter"] => lint_filter_next(cx, expr, arg_lists[1]), ["next", "skip_while"] => lint_skip_while_next(cx, expr, arg_lists[1]), + ["next", "iter"] => lint_iter_next(cx, expr, arg_lists[1]), ["map", "filter"] => lint_filter_map(cx, expr, arg_lists[1], arg_lists[0]), ["map", "filter_map"] => lint_filter_map_map(cx, expr, arg_lists[1], arg_lists[0]), ["next", "filter_map"] => lint_filter_map_next(cx, expr, arg_lists[1]), @@ -1336,9 +1403,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { lint_search_is_some(cx, expr, "rposition", arg_lists[1], arg_lists[0], method_spans[1]) }, ["extend", ..] => lint_extend(cx, expr, arg_lists[0]), - ["as_ptr", "unwrap"] | ["as_ptr", "expect"] => { - lint_cstring_as_ptr(cx, expr, &arg_lists[1][0], &arg_lists[0][0]) - }, + ["as_ptr", "unwrap" | "expect"] => lint_cstring_as_ptr(cx, expr, &arg_lists[1][0], &arg_lists[0][0]), ["nth", "iter"] => lint_iter_nth(cx, expr, &arg_lists, false), ["nth", "iter_mut"] => lint_iter_nth(cx, expr, &arg_lists, true), ["nth", ..] => lint_iter_nth_zero(cx, expr, arg_lists[0]), @@ -1351,12 +1416,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { ["filter_map", ..] => unnecessary_filter_map::lint(cx, expr, arg_lists[0]), ["count", "map"] => lint_suspicious_map(cx, expr), ["assume_init"] => lint_maybe_uninit(cx, &arg_lists[0][0], expr), - ["unwrap_or", arith @ "checked_add"] - | ["unwrap_or", arith @ "checked_sub"] - | ["unwrap_or", arith @ "checked_mul"] => { + ["unwrap_or", arith @ ("checked_add" | "checked_sub" | "checked_mul")] => { manual_saturating_arithmetic::lint(cx, expr, &arg_lists, &arith["checked_".len()..]) }, - ["add"] | ["offset"] | ["sub"] | ["wrapping_offset"] | ["wrapping_add"] | ["wrapping_sub"] => { + ["add" | "offset" | "sub" | "wrapping_offset" | "wrapping_add" | "wrapping_sub"] => { check_pointer_offset(cx, expr, arg_lists[0]) }, ["is_file", ..] => lint_filetype_is_file(cx, expr, arg_lists[0]), @@ -1481,7 +1544,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { let contains_self_ty = |ty: Ty<'tcx>| { ty.walk().any(|inner| match inner.unpack() { - GenericArgKind::Type(inner_ty) => same_tys(cx, self_ty, inner_ty), + GenericArgKind::Type(inner_ty) => TyS::same_type(self_ty, inner_ty), GenericArgKind::Lifetime(_) | GenericArgKind::Const(_) => false, }) @@ -1508,7 +1571,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { } } - if name == "new" && !same_tys(cx, ret_ty, self_ty) { + if name == "new" && !TyS::same_type(ret_ty, self_ty) { span_lint( cx, NEW_RET_NO_SELF, @@ -1762,8 +1825,7 @@ fn lint_expect_fun_call( hir::ExprKind::Call(fun, _) => { if let hir::ExprKind::Path(ref p) = fun.kind { match cx.tables.qpath_res(p, fun.hir_id) { - hir::def::Res::Def(hir::def::DefKind::Fn, def_id) - | hir::def::Res::Def(hir::def::DefKind::AssocFn, def_id) => matches!( + hir::def::Res::Def(hir::def::DefKind::Fn | hir::def::DefKind::AssocFn, def_id) => matches!( cx.tcx.fn_sig(def_id).output().skip_binder().kind, ty::Ref(ty::ReStatic, ..) ), @@ -2199,6 +2261,60 @@ fn lint_step_by<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &hir::Expr<'_>, args } } +fn lint_iter_next<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx hir::Expr<'_>, iter_args: &'tcx [hir::Expr<'_>]) { + let caller_expr = &iter_args[0]; + + // Skip lint if the `iter().next()` expression is a for loop argument, + // since it is already covered by `&loops::ITER_NEXT_LOOP` + let mut parent_expr_opt = get_parent_expr(cx, expr); + while let Some(parent_expr) = parent_expr_opt { + if higher::for_loop(parent_expr).is_some() { + return; + } + parent_expr_opt = get_parent_expr(cx, parent_expr); + } + + if derefs_to_slice(cx, caller_expr, cx.tables.expr_ty(caller_expr)).is_some() { + // caller is a Slice + if_chain! { + if let hir::ExprKind::Index(ref caller_var, ref index_expr) = &caller_expr.kind; + if let Some(higher::Range { start: Some(start_expr), end: None, limits: ast::RangeLimits::HalfOpen }) + = higher::range(cx, index_expr); + if let hir::ExprKind::Lit(ref start_lit) = &start_expr.kind; + if let ast::LitKind::Int(start_idx, _) = start_lit.node; + then { + let mut applicability = Applicability::MachineApplicable; + span_lint_and_sugg( + cx, + ITER_NEXT_SLICE, + expr.span, + "Using `.iter().next()` on a Slice without end index.", + "try calling", + format!("{}.get({})", snippet_with_applicability(cx, caller_var.span, "..", &mut applicability), start_idx), + applicability, + ); + } + } + } else if is_type_diagnostic_item(cx, cx.tables.expr_ty(caller_expr), sym!(vec_type)) + || matches!(&walk_ptrs_ty(cx.tables.expr_ty(caller_expr)).kind, ty::Array(_, _)) + { + // caller is a Vec or an Array + let mut applicability = Applicability::MachineApplicable; + span_lint_and_sugg( + cx, + ITER_NEXT_SLICE, + expr.span, + "Using `.iter().next()` on an array", + "try calling", + format!( + "{}.get(0)", + snippet_with_applicability(cx, caller_expr.span, "..", &mut applicability) + ), + applicability, + ); + } +} + fn lint_iter_nth<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, expr: &hir::Expr<'_>, diff --git a/clippy_lints/src/misc.rs b/clippy_lints/src/misc.rs index e1d524c2231e4..f513161bbbc52 100644 --- a/clippy_lints/src/misc.rs +++ b/clippy_lints/src/misc.rs @@ -38,10 +38,16 @@ declare_clippy_lint! { /// dereferences, e.g., changing `*x` to `x` within the function. /// /// **Example:** - /// ```rust + /// ```rust,ignore + /// // Bad /// fn foo(ref x: u8) -> bool { /// true /// } + /// + /// // Good + /// fn foo(x: &u8) -> bool { + /// true + /// } /// ``` pub TOPLEVEL_REF_ARG, style, @@ -60,7 +66,11 @@ declare_clippy_lint! { /// ```rust /// # let x = 1.0; /// + /// // Bad /// if x == f32::NAN { } + /// + /// // Good + /// if x.is_nan() { } /// ``` pub CMP_NAN, correctness, @@ -83,8 +93,15 @@ declare_clippy_lint! { /// ```rust /// let x = 1.2331f64; /// let y = 1.2332f64; + /// + /// // Bad /// if y == 1.23f64 { } /// if y != x {} // where both are floats + /// + /// // Good + /// let error = 0.01f64; // Use an epsilon for comparison + /// if (y - 1.23f64).abs() < error { } + /// if (y - x).abs() > error { } /// ``` pub FLOAT_CMP, correctness, @@ -191,7 +208,11 @@ declare_clippy_lint! { /// **Example:** /// /// ```rust + /// // Bad /// let a = 0 as *const u32; + /// + /// // Good + /// let a = std::ptr::null::(); /// ``` pub ZERO_PTR, style, @@ -214,7 +235,13 @@ declare_clippy_lint! { /// ```rust /// let x: f64 = 1.0; /// const ONE: f64 = 1.00; - /// x == ONE; // where both are floats + /// + /// // Bad + /// if x == ONE { } // where both are floats + /// + /// // Good + /// let error = 0.1f64; // Use an epsilon for comparison + /// if (x - ONE).abs() < error { } /// ``` pub FLOAT_CMP_CONST, restriction, @@ -248,17 +275,14 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MiscLints { return; } for arg in iter_input_pats(decl, body) { - match arg.pat.kind { - PatKind::Binding(BindingAnnotation::Ref, ..) | PatKind::Binding(BindingAnnotation::RefMut, ..) => { - span_lint( - cx, - TOPLEVEL_REF_ARG, - arg.pat.span, - "`ref` directly on a function argument is ignored. Consider using a reference type \ - instead.", - ); - }, - _ => {}, + if let PatKind::Binding(BindingAnnotation::Ref | BindingAnnotation::RefMut, ..) = arg.pat.kind { + span_lint( + cx, + TOPLEVEL_REF_ARG, + arg.pat.span, + "`ref` directly on a function argument is ignored. \ + Consider using a reference type instead.", + ); } } } diff --git a/clippy_lints/src/misc_early.rs b/clippy_lints/src/misc_early.rs index 552222eba2ee2..ad39e59d0678a 100644 --- a/clippy_lints/src/misc_early.rs +++ b/clippy_lints/src/misc_early.rs @@ -59,7 +59,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad /// fn foo(a: i32, _a: i32) {} + /// + /// // Good + /// fn bar(a: i32, _b: i32) {} /// ``` pub DUPLICATE_UNDERSCORE_ARGUMENT, style, @@ -77,7 +81,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust,ignore - /// (|| 42)() + /// // Bad + /// let a = (|| 42)() + /// + /// // Good + /// let a = 42 /// ``` pub REDUNDANT_CLOSURE_CALL, complexity, @@ -112,7 +120,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad /// let y = 0x1a9BAcD; + /// + /// // Good + /// let y = 0x1A9BACD; /// ``` pub MIXED_CASE_HEX_LITERALS, style, @@ -129,7 +141,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad /// let y = 123832i32; + /// + /// // Good + /// let y = 123832_i32; /// ``` pub UNSEPARATED_LITERAL_SUFFIX, pedantic, @@ -207,9 +223,16 @@ declare_clippy_lint! { /// ```rust /// # let v = Some("abc"); /// + /// // Bad + /// match v { + /// Some(x) => (), + /// y @ _ => (), + /// } + /// + /// // Good /// match v { /// Some(x) => (), - /// y @ _ => (), // easier written as `y`, + /// y => (), /// } /// ``` pub REDUNDANT_PATTERN, @@ -235,16 +258,13 @@ declare_clippy_lint! { /// # struct TupleStruct(u32, u32, u32); /// # let t = TupleStruct(1, 2, 3); /// + /// // Bad /// match t { /// TupleStruct(0, .., _) => (), /// _ => (), /// } - /// ``` - /// can be written as - /// ```rust - /// # struct TupleStruct(u32, u32, u32); - /// # let t = TupleStruct(1, 2, 3); /// + /// // Good /// match t { /// TupleStruct(0, ..) => (), /// _ => (), diff --git a/clippy_lints/src/multiple_crate_versions.rs b/clippy_lints/src/multiple_crate_versions.rs index b6770804e1801..6c42014b4c8a1 100644 --- a/clippy_lints/src/multiple_crate_versions.rs +++ b/clippy_lints/src/multiple_crate_versions.rs @@ -7,7 +7,7 @@ use rustc_lint::{LateContext, LateLintPass}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::source_map::DUMMY_SP; -use cargo_metadata::{DependencyKind, MetadataCommand, Node, Package, PackageId}; +use cargo_metadata::{DependencyKind, Node, Package, PackageId}; use if_chain::if_chain; use itertools::Itertools; @@ -42,13 +42,7 @@ impl LateLintPass<'_, '_> for MultipleCrateVersions { return; } - let metadata = if let Ok(metadata) = MetadataCommand::new().exec() { - metadata - } else { - span_lint(cx, MULTIPLE_CRATE_VERSIONS, DUMMY_SP, "could not read cargo metadata"); - return; - }; - + let metadata = unwrap_cargo_metadata!(cx, MULTIPLE_CRATE_VERSIONS, true); let local_name = cx.tcx.crate_name(LOCAL_CRATE).as_str(); let mut packages = metadata.packages; packages.sort_by(|a, b| a.name.cmp(&b.name)); diff --git a/clippy_lints/src/mut_reference.rs b/clippy_lints/src/mut_reference.rs index 67a1ac78a6777..58a8e1a1064ae 100644 --- a/clippy_lints/src/mut_reference.rs +++ b/clippy_lints/src/mut_reference.rs @@ -16,7 +16,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```ignore + /// // Bad /// my_vec.push(&mut value) + /// + /// // Good + /// my_vec.push(&value) /// ``` pub UNNECESSARY_MUT_PASSED, style, diff --git a/clippy_lints/src/mutex_atomic.rs b/clippy_lints/src/mutex_atomic.rs index 4e1a8be4892e6..78b15afc5a7fa 100644 --- a/clippy_lints/src/mutex_atomic.rs +++ b/clippy_lints/src/mutex_atomic.rs @@ -22,9 +22,15 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// # let y = true; + /// + /// // Bad /// # use std::sync::Mutex; - /// # let y = 1; /// let x = Mutex::new(&y); + /// + /// // Good + /// # use std::sync::atomic::AtomicBool; + /// let x = AtomicBool::new(y); /// ``` pub MUTEX_ATOMIC, perf, @@ -46,6 +52,10 @@ declare_clippy_lint! { /// ```rust /// # use std::sync::Mutex; /// let x = Mutex::new(0usize); + /// + /// // Good + /// # use std::sync::atomic::AtomicUsize; + /// let x = AtomicUsize::new(0usize); /// ``` pub MUTEX_INTEGER, nursery, diff --git a/clippy_lints/src/needless_bool.rs b/clippy_lints/src/needless_bool.rs index efa77db822dd0..15b129fa09802 100644 --- a/clippy_lints/src/needless_bool.rs +++ b/clippy_lints/src/needless_bool.rs @@ -15,8 +15,7 @@ use rustc_span::Span; declare_clippy_lint! { /// **What it does:** Checks for expressions of the form `if c { true } else { - /// false }` - /// (or vice versa) and suggest using the condition directly. + /// false }` (or vice versa) and suggests using the condition directly. /// /// **Why is this bad?** Redundant code. /// diff --git a/clippy_lints/src/needless_borrow.rs b/clippy_lints/src/needless_borrow.rs index 9ee875d7516eb..5880d1d610206 100644 --- a/clippy_lints/src/needless_borrow.rs +++ b/clippy_lints/src/needless_borrow.rs @@ -18,12 +18,16 @@ declare_clippy_lint! { /// **Why is this bad?** Suggests that the receiver of the expression borrows /// the expression. /// + /// **Known problems:** None. + /// /// **Example:** /// ```rust + /// // Bad /// let x: &i32 = &&&&&&5; - /// ``` /// - /// **Known problems:** None. + /// // Good + /// let x: &i32 = &5; + /// ``` pub NEEDLESS_BORROW, nursery, "taking a reference that is going to be automatically dereferenced" diff --git a/clippy_lints/src/needless_continue.rs b/clippy_lints/src/needless_continue.rs index 28183810df489..a971d041ca661 100644 --- a/clippy_lints/src/needless_continue.rs +++ b/clippy_lints/src/needless_continue.rs @@ -424,7 +424,7 @@ fn erode_from_back(s: &str) -> String { } fn span_of_first_expr_in_block(block: &ast::Block) -> Option { - block.stmts.iter().next().map(|stmt| stmt.span) + block.stmts.get(0).map(|stmt| stmt.span) } #[cfg(test)] diff --git a/clippy_lints/src/needless_update.rs b/clippy_lints/src/needless_update.rs index 4b2586877e562..d866bab2f642c 100644 --- a/clippy_lints/src/needless_update.rs +++ b/clippy_lints/src/needless_update.rs @@ -21,6 +21,16 @@ declare_clippy_lint! { /// # z: i32, /// # } /// # let zero_point = Point { x: 0, y: 0, z: 0 }; + /// + /// // Bad + /// Point { + /// x: 1, + /// y: 1, + /// z: 1, + /// ..zero_point + /// }; + /// + /// // Ok /// Point { /// x: 1, /// y: 1, diff --git a/clippy_lints/src/new_without_default.rs b/clippy_lints/src/new_without_default.rs index e556e5d59c188..dd236535c18ad 100644 --- a/clippy_lints/src/new_without_default.rs +++ b/clippy_lints/src/new_without_default.rs @@ -1,13 +1,13 @@ use crate::utils::paths; use crate::utils::sugg::DiagnosticBuilderExt; -use crate::utils::{get_trait_def_id, return_ty, same_tys, span_lint_hir_and_then}; +use crate::utils::{get_trait_def_id, return_ty, span_lint_hir_and_then}; use if_chain::if_chain; use rustc_errors::Applicability; use rustc_hir as hir; use rustc_hir::HirIdSet; use rustc_lint::{LateContext, LateLintPass, LintContext}; use rustc_middle::lint::in_external_macro; -use rustc_middle::ty::Ty; +use rustc_middle::ty::{Ty, TyS}; use rustc_session::{declare_tool_lint, impl_lint_pass}; declare_clippy_lint! { @@ -93,7 +93,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for NewWithoutDefault { let self_def_id = cx.tcx.hir().local_def_id(cx.tcx.hir().get_parent_item(id)); let self_ty = cx.tcx.type_of(self_def_id); if_chain! { - if same_tys(cx, self_ty, return_ty(cx, id)); + if TyS::same_type(self_ty, return_ty(cx, id)); if let Some(default_trait_id) = get_trait_def_id(cx, &paths::DEFAULT_TRAIT); then { if self.impling_types.is_none() { diff --git a/clippy_lints/src/no_effect.rs b/clippy_lints/src/no_effect.rs index b8bfa676a1608..2eacd3c80c486 100644 --- a/clippy_lints/src/no_effect.rs +++ b/clippy_lints/src/no_effect.rs @@ -147,7 +147,7 @@ fn reduce_expression<'a>(cx: &LateContext<'_, '_>, expr: &'a Expr<'a>) -> Option if let ExprKind::Path(ref qpath) = callee.kind { let res = qpath_res(cx, qpath, callee.hir_id); match res { - Res::Def(DefKind::Struct, ..) | Res::Def(DefKind::Variant, ..) | Res::Def(DefKind::Ctor(..), _) + Res::Def(DefKind::Struct | DefKind::Variant | DefKind::Ctor(..), ..) if !has_drop(cx, cx.tables.expr_ty(expr)) => { Some(args.iter().collect()) diff --git a/clippy_lints/src/ptr.rs b/clippy_lints/src/ptr.rs index 4eac571f96620..c77b44e0c99c7 100644 --- a/clippy_lints/src/ptr.rs +++ b/clippy_lints/src/ptr.rs @@ -47,7 +47,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```ignore + /// // Bad /// fn foo(&Vec) { .. } + /// + /// // Good + /// fn foo(&[u32]) { .. } /// ``` pub PTR_ARG, style, @@ -65,9 +69,15 @@ declare_clippy_lint! { /// /// **Example:** /// ```ignore + /// // Bad /// if x == ptr::null { /// .. /// } + /// + /// // Good + /// if x.is_null() { + /// .. + /// } /// ``` pub CMP_NULL, style, @@ -76,19 +86,16 @@ declare_clippy_lint! { declare_clippy_lint! { /// **What it does:** This lint checks for functions that take immutable - /// references and return - /// mutable ones. + /// references and return mutable ones. /// /// **Why is this bad?** This is trivially unsound, as one can create two - /// mutable references - /// from the same (immutable!) source. This - /// [error](https://github.com/rust-lang/rust/issues/39465) + /// mutable references from the same (immutable!) source. + /// This [error](https://github.com/rust-lang/rust/issues/39465) /// actually lead to an interim Rust release 1.15.1. /// /// **Known problems:** To be on the conservative side, if there's at least one - /// mutable reference - /// with the output lifetime, this lint will not trigger. In practice, this - /// case is unlikely anyway. + /// mutable reference with the output lifetime, this lint will not trigger. + /// In practice, this case is unlikely anyway. /// /// **Example:** /// ```ignore diff --git a/clippy_lints/src/question_mark.rs b/clippy_lints/src/question_mark.rs index ea654467b8668..e4361b00fb4c2 100644 --- a/clippy_lints/src/question_mark.rs +++ b/clippy_lints/src/question_mark.rs @@ -88,7 +88,7 @@ impl QuestionMark { replacement_str, applicability, ) - } + } } } } diff --git a/clippy_lints/src/ranges.rs b/clippy_lints/src/ranges.rs index 1eb26d97ed4d2..52e540d4e00db 100644 --- a/clippy_lints/src/ranges.rs +++ b/clippy_lints/src/ranges.rs @@ -241,14 +241,26 @@ fn check_inclusive_range_minus_one(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { } fn check_reversed_empty_range(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { - fn inside_indexing_expr<'a>(cx: &'a LateContext<'_, '_>, expr: &Expr<'_>) -> Option<&'a Expr<'a>> { - match get_parent_expr(cx, expr) { - parent_expr @ Some(Expr { + fn inside_indexing_expr(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { + matches!( + get_parent_expr(cx, expr), + Some(Expr { kind: ExprKind::Index(..), .. - }) => parent_expr, - _ => None, + }) + ) + } + + fn is_for_loop_arg(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { + let mut cur_expr = expr; + while let Some(parent_expr) = get_parent_expr(cx, cur_expr) { + match higher::for_loop(parent_expr) { + Some((_, args, _)) if args.hir_id == expr.hir_id => return true, + _ => cur_expr = parent_expr, + } } + + false } fn is_empty_range(limits: RangeLimits, ordering: Ordering) -> bool { @@ -267,34 +279,18 @@ fn check_reversed_empty_range(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { if let Some(ordering) = Constant::partial_cmp(cx.tcx, ty, &start_idx, &end_idx); if is_empty_range(limits, ordering); then { - if let Some(parent_expr) = inside_indexing_expr(cx, expr) { - let (reason, outcome) = if ordering == Ordering::Equal { - ("empty", "always yield an empty slice") - } else { - ("reversed", "panic at run-time") - }; - - span_lint_and_then( - cx, - REVERSED_EMPTY_RANGES, - expr.span, - &format!("this range is {} and using it to index a slice will {}", reason, outcome), - |diag| { - if_chain! { - if ordering == Ordering::Equal; - if let ty::Slice(slice_ty) = cx.tables.expr_ty(parent_expr).kind; - then { - diag.span_suggestion( - parent_expr.span, - "if you want an empty slice, use", - format!("[] as &[{}]", slice_ty), - Applicability::MaybeIncorrect - ); - } - } - } - ); - } else { + if inside_indexing_expr(cx, expr) { + // Avoid linting `N..N` as it has proven to be useful, see #5689 and #5628 ... + if ordering != Ordering::Equal { + span_lint( + cx, + REVERSED_EMPTY_RANGES, + expr.span, + "this range is reversed and using it to index a slice will panic at run-time", + ); + } + // ... except in for loop arguments for backwards compatibility with `reverse_range_loop` + } else if ordering != Ordering::Equal || is_for_loop_arg(cx, expr) { span_lint_and_then( cx, REVERSED_EMPTY_RANGES, diff --git a/clippy_lints/src/reference.rs b/clippy_lints/src/reference.rs index d5797468e9d53..fe457aad50e36 100644 --- a/clippy_lints/src/reference.rs +++ b/clippy_lints/src/reference.rs @@ -16,8 +16,13 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust,ignore + /// // Bad /// let a = f(*&mut b); /// let c = *&d; + /// + /// // Good + /// let a = f(b); + /// let c = d; /// ``` pub DEREF_ADDROF, complexity, diff --git a/clippy_lints/src/regex.rs b/clippy_lints/src/regex.rs index 30084e3e1ffce..a2c35c4267344 100644 --- a/clippy_lints/src/regex.rs +++ b/clippy_lints/src/regex.rs @@ -86,11 +86,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Regex { if let Some(span) = is_expn_of(expr.span, "regex"); then { if !self.spans.contains(&span) { - span_lint(cx, - REGEX_MACRO, - span, - "`regex!(_)` found. \ - Please use `Regex::new(_)`, which is faster for now."); + span_lint( + cx, + REGEX_MACRO, + span, + "`regex!(_)` found. \ + Please use `Regex::new(_)`, which is faster for now." + ); self.spans.insert(span); } self.last = Some(block.hir_id); diff --git a/clippy_lints/src/returns.rs b/clippy_lints/src/returns.rs index 35464f629c364..3c93974417356 100644 --- a/clippy_lints/src/returns.rs +++ b/clippy_lints/src/returns.rs @@ -8,7 +8,7 @@ use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::source_map::Span; use rustc_span::BytePos; -use crate::utils::{in_macro, match_path_ast, snippet_opt, span_lint_and_sugg, span_lint_and_then}; +use crate::utils::{snippet_opt, span_lint_and_sugg, span_lint_and_then}; declare_clippy_lint! { /// **What it does:** Checks for return statements at the end of a block. @@ -36,33 +36,6 @@ declare_clippy_lint! { "using a return statement like `return expr;` where an expression would suffice" } -declare_clippy_lint! { - /// **What it does:** Checks for `let`-bindings, which are subsequently - /// returned. - /// - /// **Why is this bad?** It is just extraneous code. Remove it to make your code - /// more rusty. - /// - /// **Known problems:** None. - /// - /// **Example:** - /// ```rust - /// fn foo() -> String { - /// let x = String::new(); - /// x - /// } - /// ``` - /// instead, use - /// ``` - /// fn foo() -> String { - /// String::new() - /// } - /// ``` - pub LET_AND_RETURN, - style, - "creating a let-binding and then immediately returning it like `let x = expr; x` at the end of a block" -} - declare_clippy_lint! { /// **What it does:** Checks for unit (`()`) expressions that can be removed. /// @@ -90,7 +63,7 @@ enum RetReplacement { Block, } -declare_lint_pass!(Return => [NEEDLESS_RETURN, LET_AND_RETURN, UNUSED_UNIT]); +declare_lint_pass!(Return => [NEEDLESS_RETURN, UNUSED_UNIT]); impl Return { // Check the final stmt or expr in a block for unnecessary return. @@ -105,7 +78,7 @@ impl Return { } } - // Check a the final expression in a block if it's a return. + // Check the final expression in a block if it's a return. fn check_final_expr( &mut self, cx: &EarlyContext<'_>, @@ -186,54 +159,6 @@ impl Return { }, } } - - // Check for "let x = EXPR; x" - fn check_let_return(cx: &EarlyContext<'_>, block: &ast::Block) { - let mut it = block.stmts.iter(); - - // we need both a let-binding stmt and an expr - if_chain! { - if let Some(retexpr) = it.next_back(); - if let ast::StmtKind::Expr(ref retexpr) = retexpr.kind; - if let Some(stmt) = it.next_back(); - if let ast::StmtKind::Local(ref local) = stmt.kind; - // don't lint in the presence of type inference - if local.ty.is_none(); - if local.attrs.is_empty(); - if let Some(ref initexpr) = local.init; - if let ast::PatKind::Ident(_, ident, _) = local.pat.kind; - if let ast::ExprKind::Path(_, ref path) = retexpr.kind; - if match_path_ast(path, &[&*ident.name.as_str()]); - if !in_external_macro(cx.sess(), initexpr.span); - if !in_external_macro(cx.sess(), retexpr.span); - if !in_external_macro(cx.sess(), local.span); - if !in_macro(local.span); - then { - span_lint_and_then( - cx, - LET_AND_RETURN, - retexpr.span, - "returning the result of a `let` binding from a block", - |err| { - err.span_label(local.span, "unnecessary `let` binding"); - - if let Some(snippet) = snippet_opt(cx, initexpr.span) { - err.multipart_suggestion( - "return the expression directly", - vec![ - (local.span, String::new()), - (retexpr.span, snippet), - ], - Applicability::MachineApplicable, - ); - } else { - err.span_help(initexpr.span, "this expression can be directly returned"); - } - }, - ); - } - } - } } impl EarlyLintPass for Return { @@ -254,7 +179,6 @@ impl EarlyLintPass for Return { } fn check_block(&mut self, cx: &EarlyContext<'_>, block: &ast::Block) { - Self::check_let_return(cx, block); if_chain! { if let Some(ref stmt) = block.stmts.last(); if let ast::StmtKind::Expr(ref expr) = stmt.kind; diff --git a/clippy_lints/src/shadow.rs b/clippy_lints/src/shadow.rs index 11360b0ef8495..68c36f9189184 100644 --- a/clippy_lints/src/shadow.rs +++ b/clippy_lints/src/shadow.rs @@ -25,7 +25,12 @@ declare_clippy_lint! { /// **Example:** /// ```rust /// # let x = 1; + /// + /// // Bad /// let x = &x; + /// + /// // Good + /// let y = &x; // use different variable name /// ``` pub SHADOW_SAME, restriction, @@ -77,7 +82,12 @@ declare_clippy_lint! { /// # let y = 1; /// # let z = 2; /// let x = y; + /// + /// // Bad /// let x = z; // shadows the earlier binding + /// + /// // Good + /// let w = z; // use different variable name /// ``` pub SHADOW_UNRELATED, pedantic, diff --git a/clippy_lints/src/single_component_path_imports.rs b/clippy_lints/src/single_component_path_imports.rs index 8d767a7fec88d..2e853e8301d69 100644 --- a/clippy_lints/src/single_component_path_imports.rs +++ b/clippy_lints/src/single_component_path_imports.rs @@ -16,7 +16,7 @@ declare_clippy_lint! { /// /// **Example:** /// - /// ```rust, ignore + /// ```rust,ignore /// use regex; /// /// fn main() { @@ -24,7 +24,7 @@ declare_clippy_lint! { /// } /// ``` /// Better as - /// ```rust, ignore + /// ```rust,ignore /// fn main() { /// regex::Regex::new(r"^\d{4}-\d{2}-\d{2}$").unwrap(); /// } diff --git a/clippy_lints/src/slow_vector_initialization.rs b/clippy_lints/src/slow_vector_initialization.rs index fb3706be1c213..a7c4f2c2291f1 100644 --- a/clippy_lints/src/slow_vector_initialization.rs +++ b/clippy_lints/src/slow_vector_initialization.rs @@ -22,11 +22,17 @@ declare_clippy_lint! { /// ```rust /// # use core::iter::repeat; /// # let len = 4; + /// + /// // Bad /// let mut vec1 = Vec::with_capacity(len); /// vec1.resize(len, 0); /// /// let mut vec2 = Vec::with_capacity(len); - /// vec2.extend(repeat(0).take(len)) + /// vec2.extend(repeat(0).take(len)); + /// + /// // Good + /// let mut vec1 = vec![0; len]; + /// let mut vec2 = vec![0; len]; /// ``` pub SLOW_VECTOR_INITIALIZATION, perf, diff --git a/clippy_lints/src/strings.rs b/clippy_lints/src/strings.rs index 2c51271e312de..f84566ef707a8 100644 --- a/clippy_lints/src/strings.rs +++ b/clippy_lints/src/strings.rs @@ -24,6 +24,10 @@ declare_clippy_lint! { /// ```rust /// let mut x = "Hello".to_owned(); /// x = x + ", World"; + /// + /// // More readable + /// x += ", World"; + /// x.push_str(", World"); /// ``` pub STRING_ADD_ASSIGN, pedantic, @@ -69,7 +73,11 @@ declare_clippy_lint! { /// /// **Example:** /// ```rust + /// // Bad /// let bs = "a byte string".as_bytes(); + /// + /// // Good + /// let bs = b"a byte string"; /// ``` pub STRING_LIT_AS_BYTES, style, diff --git a/clippy_lints/src/suspicious_trait_impl.rs b/clippy_lints/src/suspicious_trait_impl.rs index f1e223d9a48c6..a9e6fa329c0f0 100644 --- a/clippy_lints/src/suspicious_trait_impl.rs +++ b/clippy_lints/src/suspicious_trait_impl.rs @@ -71,8 +71,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for SuspiciousImpl { if let hir::Node::Expr(e) = cx.tcx.hir().get(parent_expr) { match e.kind { hir::ExprKind::Binary(..) - | hir::ExprKind::Unary(hir::UnOp::UnNot, _) - | hir::ExprKind::Unary(hir::UnOp::UnNeg, _) + | hir::ExprKind::Unary(hir::UnOp::UnNot | hir::UnOp::UnNeg, _) | hir::ExprKind::AssignOp(..) => return, _ => {}, } @@ -191,8 +190,7 @@ impl<'a, 'tcx> Visitor<'tcx> for BinaryExprVisitor { fn visit_expr(&mut self, expr: &'tcx hir::Expr<'_>) { match expr.kind { hir::ExprKind::Binary(..) - | hir::ExprKind::Unary(hir::UnOp::UnNot, _) - | hir::ExprKind::Unary(hir::UnOp::UnNeg, _) + | hir::ExprKind::Unary(hir::UnOp::UnNot | hir::UnOp::UnNeg, _) | hir::ExprKind::AssignOp(..) => self.in_binary_expr = true, _ => {}, } diff --git a/clippy_lints/src/transmute.rs b/clippy_lints/src/transmute.rs index e24d2c4f495db..1869638f6ffb1 100644 --- a/clippy_lints/src/transmute.rs +++ b/clippy_lints/src/transmute.rs @@ -312,7 +312,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { e.span, &format!("transmute from a type (`{}`) to itself", from_ty), ), - (&ty::Ref(_, rty, rty_mutbl), &ty::RawPtr(ptr_ty)) => span_lint_and_then( + (ty::Ref(_, rty, rty_mutbl), ty::RawPtr(ptr_ty)) => span_lint_and_then( cx, USELESS_TRANSMUTE, e.span, @@ -321,10 +321,10 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { if let Some(arg) = sugg::Sugg::hir_opt(cx, &args[0]) { let rty_and_mut = ty::TypeAndMut { ty: rty, - mutbl: rty_mutbl, + mutbl: *rty_mutbl, }; - let sugg = if ptr_ty == rty_and_mut { + let sugg = if *ptr_ty == rty_and_mut { arg.as_ty(to_ty) } else { arg.as_ty(cx.tcx.mk_ptr(rty_and_mut)).as_ty(to_ty) @@ -334,7 +334,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { } }, ), - (&ty::Int(_), &ty::RawPtr(_)) | (&ty::Uint(_), &ty::RawPtr(_)) => span_lint_and_then( + (ty::Int(_) | ty::Uint(_), ty::RawPtr(_)) => span_lint_and_then( cx, USELESS_TRANSMUTE, e.span, @@ -350,16 +350,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { } }, ), - (&ty::Float(_), &ty::Ref(..)) - | (&ty::Float(_), &ty::RawPtr(_)) - | (&ty::Char, &ty::Ref(..)) - | (&ty::Char, &ty::RawPtr(_)) => span_lint( + (ty::Float(_) | ty::Char, ty::Ref(..) | ty::RawPtr(_)) => span_lint( cx, WRONG_TRANSMUTE, e.span, &format!("transmute from a `{}` to a pointer", from_ty), ), - (&ty::RawPtr(from_ptr), _) if from_ptr.ty == to_ty => span_lint( + (ty::RawPtr(from_ptr), _) if from_ptr.ty == to_ty => span_lint( cx, CROSSPOINTER_TRANSMUTE, e.span, @@ -368,7 +365,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { from_ty, to_ty ), ), - (_, &ty::RawPtr(to_ptr)) if to_ptr.ty == from_ty => span_lint( + (_, ty::RawPtr(to_ptr)) if to_ptr.ty == from_ty => span_lint( cx, CROSSPOINTER_TRANSMUTE, e.span, @@ -377,7 +374,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { from_ty, to_ty ), ), - (&ty::RawPtr(from_pty), &ty::Ref(_, to_ref_ty, mutbl)) => span_lint_and_then( + (ty::RawPtr(from_pty), ty::Ref(_, to_ref_ty, mutbl)) => span_lint_and_then( cx, TRANSMUTE_PTR_TO_REF, e.span, @@ -388,13 +385,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { ), |diag| { let arg = sugg::Sugg::hir(cx, &args[0], ".."); - let (deref, cast) = if mutbl == Mutability::Mut { + let (deref, cast) = if *mutbl == Mutability::Mut { ("&mut *", "*mut") } else { ("&*", "*const") }; - let arg = if from_pty.ty == to_ref_ty { + let arg = if from_pty.ty == *to_ref_ty { arg } else { arg.as_ty(&format!("{} {}", cast, get_type_snippet(cx, qpath, to_ref_ty))) @@ -408,7 +405,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { ); }, ), - (&ty::Int(ast::IntTy::I32), &ty::Char) | (&ty::Uint(ast::UintTy::U32), &ty::Char) => { + (ty::Int(ast::IntTy::I32) | ty::Uint(ast::UintTy::U32), &ty::Char) => { span_lint_and_then( cx, TRANSMUTE_INT_TO_CHAR, @@ -430,13 +427,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { }, ) }, - (&ty::Ref(_, ty_from, from_mutbl), &ty::Ref(_, ty_to, to_mutbl)) => { + (ty::Ref(_, ty_from, from_mutbl), ty::Ref(_, ty_to, to_mutbl)) => { if_chain! { if let (&ty::Slice(slice_ty), &ty::Str) = (&ty_from.kind, &ty_to.kind); if let ty::Uint(ast::UintTy::U8) = slice_ty.kind; if from_mutbl == to_mutbl; then { - let postfix = if from_mutbl == Mutability::Mut { + let postfix = if *from_mutbl == Mutability::Mut { "_mut" } else { "" @@ -465,13 +462,13 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { |diag| if let Some(arg) = sugg::Sugg::hir_opt(cx, &args[0]) { let ty_from_and_mut = ty::TypeAndMut { ty: ty_from, - mutbl: from_mutbl + mutbl: *from_mutbl }; - let ty_to_and_mut = ty::TypeAndMut { ty: ty_to, mutbl: to_mutbl }; + let ty_to_and_mut = ty::TypeAndMut { ty: ty_to, mutbl: *to_mutbl }; let sugg_paren = arg .as_ty(cx.tcx.mk_ptr(ty_from_and_mut)) .as_ty(cx.tcx.mk_ptr(ty_to_and_mut)); - let sugg = if to_mutbl == Mutability::Mut { + let sugg = if *to_mutbl == Mutability::Mut { sugg_paren.mut_addr_deref() } else { sugg_paren.addr_deref() @@ -488,19 +485,19 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { } } }, - (&ty::RawPtr(_), &ty::RawPtr(to_ty)) => span_lint_and_then( + (ty::RawPtr(_), ty::RawPtr(to_ty)) => span_lint_and_then( cx, TRANSMUTE_PTR_TO_PTR, e.span, "transmute from a pointer to a pointer", |diag| { if let Some(arg) = sugg::Sugg::hir_opt(cx, &args[0]) { - let sugg = arg.as_ty(cx.tcx.mk_ptr(to_ty)); + let sugg = arg.as_ty(cx.tcx.mk_ptr(*to_ty)); diag.span_suggestion(e.span, "try", sugg.to_string(), Applicability::Unspecified); } }, ), - (&ty::Int(ast::IntTy::I8), &ty::Bool) | (&ty::Uint(ast::UintTy::U8), &ty::Bool) => { + (ty::Int(ast::IntTy::I8) | ty::Uint(ast::UintTy::U8), ty::Bool) => { span_lint_and_then( cx, TRANSMUTE_INT_TO_BOOL, @@ -518,7 +515,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { }, ) }, - (&ty::Int(_), &ty::Float(_)) | (&ty::Uint(_), &ty::Float(_)) => span_lint_and_then( + (ty::Int(_) | ty::Uint(_), ty::Float(_)) => span_lint_and_then( cx, TRANSMUTE_INT_TO_FLOAT, e.span, @@ -541,7 +538,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { ); }, ), - (&ty::Float(float_ty), &ty::Int(_)) | (&ty::Float(float_ty), &ty::Uint(_)) => span_lint_and_then( + (ty::Float(float_ty), ty::Int(_) | ty::Uint(_)) => span_lint_and_then( cx, TRANSMUTE_FLOAT_TO_INT, e.span, @@ -585,7 +582,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Transmute { ); }, ), - (&ty::Adt(ref from_adt, ref from_substs), &ty::Adt(ref to_adt, ref to_substs)) => { + (ty::Adt(from_adt, from_substs), ty::Adt(to_adt, to_substs)) => { if from_adt.did != to_adt.did || !COLLECTIONS.iter().any(|path| match_def_path(cx, to_adt.did, path)) { return; diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index 6ed9ff22e4664..bc5fe44b30f8f 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -10,14 +10,14 @@ use rustc_errors::{Applicability, DiagnosticBuilder}; use rustc_hir as hir; use rustc_hir::intravisit::{walk_body, walk_expr, walk_ty, FnKind, NestedVisitorMap, Visitor}; use rustc_hir::{ - BinOpKind, Body, Expr, ExprKind, FnDecl, FnRetTy, FnSig, GenericArg, GenericParamKind, HirId, ImplItem, + BinOpKind, Block, Body, Expr, ExprKind, FnDecl, FnRetTy, FnSig, GenericArg, GenericParamKind, HirId, ImplItem, ImplItemKind, Item, ItemKind, Lifetime, Local, MatchSource, MutTy, Mutability, QPath, Stmt, StmtKind, TraitFn, TraitItem, TraitItemKind, TyKind, UnOp, }; use rustc_lint::{LateContext, LateLintPass, LintContext}; use rustc_middle::hir::map::Map; use rustc_middle::lint::in_external_macro; -use rustc_middle::ty::{self, InferTy, Ty, TyCtxt, TypeckTables}; +use rustc_middle::ty::{self, InferTy, Ty, TyCtxt, TyS, TypeckTables}; use rustc_session::{declare_lint_pass, declare_tool_lint, impl_lint_pass}; use rustc_span::hygiene::{ExpnKind, MacroKind}; use rustc_span::source_map::Span; @@ -29,10 +29,10 @@ use rustc_typeck::hir_ty_to_ty; use crate::consts::{constant, Constant}; use crate::utils::paths; use crate::utils::{ - clip, comparisons, differing_macro_contexts, higher, in_constant, int_bits, is_type_diagnostic_item, + clip, comparisons, differing_macro_contexts, higher, in_constant, indent_of, int_bits, is_type_diagnostic_item, last_path_segment, match_def_path, match_path, method_chain_args, multispan_sugg, numeric_literal::NumericLiteral, - qpath_res, same_tys, sext, snippet, snippet_opt, snippet_with_applicability, snippet_with_macro_callsite, - span_lint, span_lint_and_help, span_lint_and_sugg, span_lint_and_then, unsext, + qpath_res, sext, snippet, snippet_block_with_applicability, snippet_opt, snippet_with_applicability, + snippet_with_macro_callsite, span_lint, span_lint_and_help, span_lint_and_sugg, span_lint_and_then, unsext, }; declare_clippy_lint! { @@ -779,24 +779,22 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnitArg { match expr.kind { ExprKind::Call(_, args) | ExprKind::MethodCall(_, _, args) => { - for arg in args { - if is_unit(cx.tables.expr_ty(arg)) && !is_unit_literal(arg) { - if let ExprKind::Match(.., match_source) = &arg.kind { - if *match_source == MatchSource::TryDesugar { - continue; + let args_to_recover = args + .iter() + .filter(|arg| { + if is_unit(cx.tables.expr_ty(arg)) && !is_unit_literal(arg) { + if let ExprKind::Match(.., MatchSource::TryDesugar) = &arg.kind { + false + } else { + true } + } else { + false } - - span_lint_and_sugg( - cx, - UNIT_ARG, - arg.span, - "passing a unit value to a function", - "if you intended to pass a unit value, use a unit literal instead", - "()".to_string(), - Applicability::MaybeIncorrect, - ); - } + }) + .collect::>(); + if !args_to_recover.is_empty() { + lint_unit_args(cx, expr, &args_to_recover); } }, _ => (), @@ -804,6 +802,101 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnitArg { } } +fn lint_unit_args(cx: &LateContext<'_, '_>, expr: &Expr<'_>, args_to_recover: &[&Expr<'_>]) { + let mut applicability = Applicability::MachineApplicable; + let (singular, plural) = if args_to_recover.len() > 1 { + ("", "s") + } else { + ("a ", "") + }; + span_lint_and_then( + cx, + UNIT_ARG, + expr.span, + &format!("passing {}unit value{} to a function", singular, plural), + |db| { + let mut or = ""; + args_to_recover + .iter() + .filter_map(|arg| { + if_chain! { + if let ExprKind::Block(block, _) = arg.kind; + if block.expr.is_none(); + if let Some(last_stmt) = block.stmts.iter().last(); + if let StmtKind::Semi(last_expr) = last_stmt.kind; + if let Some(snip) = snippet_opt(cx, last_expr.span); + then { + Some(( + last_stmt.span, + snip, + )) + } + else { + None + } + } + }) + .for_each(|(span, sugg)| { + db.span_suggestion( + span, + "remove the semicolon from the last statement in the block", + sugg, + Applicability::MaybeIncorrect, + ); + or = "or "; + }); + let sugg = args_to_recover + .iter() + .filter(|arg| !is_empty_block(arg)) + .enumerate() + .map(|(i, arg)| { + let indent = if i == 0 { + 0 + } else { + indent_of(cx, expr.span).unwrap_or(0) + }; + format!( + "{}{};", + " ".repeat(indent), + snippet_block_with_applicability(cx, arg.span, "..", Some(expr.span), &mut applicability) + ) + }) + .collect::>(); + let mut and = ""; + if !sugg.is_empty() { + let plural = if sugg.len() > 1 { "s" } else { "" }; + db.span_suggestion( + expr.span.with_hi(expr.span.lo()), + &format!("{}move the expression{} in front of the call...", or, plural), + format!("{}\n", sugg.join("\n")), + applicability, + ); + and = "...and " + } + db.multipart_suggestion( + &format!("{}use {}unit literal{} instead", and, singular, plural), + args_to_recover + .iter() + .map(|arg| (arg.span, "()".to_string())) + .collect::>(), + applicability, + ); + }, + ); +} + +fn is_empty_block(expr: &Expr<'_>) -> bool { + matches!( + expr.kind, + ExprKind::Block( + Block { + stmts: &[], expr: None, .. + }, + _, + ) + ) +} + fn is_questionmark_desugar_marked_call(expr: &Expr<'_>) -> bool { use rustc_span::hygiene::DesugaringKind; if let ExprKind::Call(ref callee, _) = expr.kind { @@ -974,7 +1067,8 @@ declare_clippy_lint! { /// behavior. /// /// **Known problems:** Using `std::ptr::read_unaligned` and `std::ptr::write_unaligned` or similar - /// on the resulting pointer is fine. + /// on the resulting pointer is fine. Is over-zealous: Casts with manual alignment checks or casts like + /// u64-> u8 -> u16 can be fine. Miri is able to do a more in-depth analysis. /// /// **Example:** /// ```rust @@ -982,7 +1076,7 @@ declare_clippy_lint! { /// let _ = (&mut 1u8 as *mut u8) as *mut u16; /// ``` pub CAST_PTR_ALIGNMENT, - correctness, + pedantic, "cast from a pointer to a more-strictly-aligned pointer" } @@ -2462,7 +2556,7 @@ impl<'a, 'b, 'tcx> Visitor<'tcx> for ImplicitHasherConstructorVisitor<'a, 'b, 't if let ExprKind::Path(QPath::TypeRelative(ref ty, ref method)) = fun.kind; if let TyKind::Path(QPath::Resolved(None, ty_path)) = ty.kind; then { - if !same_tys(self.cx, self.target.ty(), self.body.expr_ty(e)) { + if !TyS::same_type(self.target.ty(), self.body.expr_ty(e)) { return; } diff --git a/clippy_lints/src/unnecessary_sort_by.rs b/clippy_lints/src/unnecessary_sort_by.rs new file mode 100644 index 0000000000000..33d8331c2923c --- /dev/null +++ b/clippy_lints/src/unnecessary_sort_by.rs @@ -0,0 +1,267 @@ +use crate::utils; +use crate::utils::paths; +use crate::utils::sugg::Sugg; +use if_chain::if_chain; +use rustc_errors::Applicability; +use rustc_hir::{Expr, ExprKind, Mutability, Param, Pat, PatKind, Path, PathSegment, QPath}; +use rustc_lint::{LateContext, LateLintPass}; +use rustc_session::{declare_lint_pass, declare_tool_lint}; +use rustc_span::symbol::Ident; + +declare_clippy_lint! { + /// **What it does:** + /// Detects when people use `Vec::sort_by` and pass in a function + /// which compares the two arguments, either directly or indirectly. + /// + /// **Why is this bad?** + /// It is more clear to use `Vec::sort_by_key` (or `Vec::sort` if + /// possible) than to use `Vec::sort_by` and and a more complicated + /// closure. + /// + /// **Known problems:** + /// If the suggested `Vec::sort_by_key` uses Reverse and it isn't + /// imported by a use statement in the current frame, then a `use` + /// statement that imports it will need to be added (which this lint + /// can't do). + /// + /// **Example:** + /// + /// ```rust + /// # struct A; + /// # impl A { fn foo(&self) {} } + /// # let mut vec: Vec = Vec::new(); + /// vec.sort_by(|a, b| a.foo().cmp(&b.foo())); + /// ``` + /// Use instead: + /// ```rust + /// # struct A; + /// # impl A { fn foo(&self) {} } + /// # let mut vec: Vec = Vec::new(); + /// vec.sort_by_key(|a| a.foo()); + /// ``` + pub UNNECESSARY_SORT_BY, + complexity, + "Use of `Vec::sort_by` when `Vec::sort_by_key` or `Vec::sort` would be clearer" +} + +declare_lint_pass!(UnnecessarySortBy => [UNNECESSARY_SORT_BY]); + +enum LintTrigger { + Sort(SortDetection), + SortByKey(SortByKeyDetection), +} + +struct SortDetection { + vec_name: String, + unstable: bool, +} + +struct SortByKeyDetection { + vec_name: String, + closure_arg: String, + closure_body: String, + reverse: bool, + unstable: bool, +} + +/// Detect if the two expressions are mirrored (identical, except one +/// contains a and the other replaces it with b) +fn mirrored_exprs( + cx: &LateContext<'_, '_>, + a_expr: &Expr<'_>, + a_ident: &Ident, + b_expr: &Expr<'_>, + b_ident: &Ident, +) -> bool { + match (&a_expr.kind, &b_expr.kind) { + // Two boxes with mirrored contents + (ExprKind::Box(left_expr), ExprKind::Box(right_expr)) => { + mirrored_exprs(cx, left_expr, a_ident, right_expr, b_ident) + }, + // Two arrays with mirrored contents + (ExprKind::Array(left_exprs), ExprKind::Array(right_exprs)) => left_exprs + .iter() + .zip(right_exprs.iter()) + .all(|(left, right)| mirrored_exprs(cx, left, a_ident, right, b_ident)), + // The two exprs are function calls. + // Check to see that the function itself and its arguments are mirrored + (ExprKind::Call(left_expr, left_args), ExprKind::Call(right_expr, right_args)) => { + mirrored_exprs(cx, left_expr, a_ident, right_expr, b_ident) + && left_args + .iter() + .zip(right_args.iter()) + .all(|(left, right)| mirrored_exprs(cx, left, a_ident, right, b_ident)) + }, + // The two exprs are method calls. + // Check to see that the function is the same and the arguments are mirrored + // This is enough because the receiver of the method is listed in the arguments + (ExprKind::MethodCall(left_segment, _, left_args), ExprKind::MethodCall(right_segment, _, right_args)) => { + left_segment.ident == right_segment.ident + && left_args + .iter() + .zip(right_args.iter()) + .all(|(left, right)| mirrored_exprs(cx, left, a_ident, right, b_ident)) + }, + // Two tuples with mirrored contents + (ExprKind::Tup(left_exprs), ExprKind::Tup(right_exprs)) => left_exprs + .iter() + .zip(right_exprs.iter()) + .all(|(left, right)| mirrored_exprs(cx, left, a_ident, right, b_ident)), + // Two binary ops, which are the same operation and which have mirrored arguments + (ExprKind::Binary(left_op, left_left, left_right), ExprKind::Binary(right_op, right_left, right_right)) => { + left_op.node == right_op.node + && mirrored_exprs(cx, left_left, a_ident, right_left, b_ident) + && mirrored_exprs(cx, left_right, a_ident, right_right, b_ident) + }, + // Two unary ops, which are the same operation and which have the same argument + (ExprKind::Unary(left_op, left_expr), ExprKind::Unary(right_op, right_expr)) => { + left_op == right_op && mirrored_exprs(cx, left_expr, a_ident, right_expr, b_ident) + }, + // The two exprs are literals of some kind + (ExprKind::Lit(left_lit), ExprKind::Lit(right_lit)) => left_lit.node == right_lit.node, + (ExprKind::Cast(left, _), ExprKind::Cast(right, _)) => mirrored_exprs(cx, left, a_ident, right, b_ident), + (ExprKind::DropTemps(left_block), ExprKind::DropTemps(right_block)) => { + mirrored_exprs(cx, left_block, a_ident, right_block, b_ident) + }, + (ExprKind::Field(left_expr, left_ident), ExprKind::Field(right_expr, right_ident)) => { + left_ident.name == right_ident.name && mirrored_exprs(cx, left_expr, a_ident, right_expr, right_ident) + }, + // Two paths: either one is a and the other is b, or they're identical to each other + ( + ExprKind::Path(QPath::Resolved( + _, + Path { + segments: left_segments, + .. + }, + )), + ExprKind::Path(QPath::Resolved( + _, + Path { + segments: right_segments, + .. + }, + )), + ) => { + (left_segments + .iter() + .zip(right_segments.iter()) + .all(|(left, right)| left.ident == right.ident) + && left_segments + .iter() + .all(|seg| &seg.ident != a_ident && &seg.ident != b_ident)) + || (left_segments.len() == 1 + && &left_segments[0].ident == a_ident + && right_segments.len() == 1 + && &right_segments[0].ident == b_ident) + }, + // Matching expressions, but one or both is borrowed + ( + ExprKind::AddrOf(left_kind, Mutability::Not, left_expr), + ExprKind::AddrOf(right_kind, Mutability::Not, right_expr), + ) => left_kind == right_kind && mirrored_exprs(cx, left_expr, a_ident, right_expr, b_ident), + (_, ExprKind::AddrOf(_, Mutability::Not, right_expr)) => { + mirrored_exprs(cx, a_expr, a_ident, right_expr, b_ident) + }, + (ExprKind::AddrOf(_, Mutability::Not, left_expr), _) => mirrored_exprs(cx, left_expr, a_ident, b_expr, b_ident), + _ => false, + } +} + +fn detect_lint(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> Option { + if_chain! { + if let ExprKind::MethodCall(name_ident, _, args) = &expr.kind; + if let name = name_ident.ident.name.to_ident_string(); + if name == "sort_by" || name == "sort_unstable_by"; + if let [vec, Expr { kind: ExprKind::Closure(_, _, closure_body_id, _, _), .. }] = args; + if utils::match_type(cx, &cx.tables.expr_ty(vec), &paths::VEC); + if let closure_body = cx.tcx.hir().body(*closure_body_id); + if let &[ + Param { pat: Pat { kind: PatKind::Binding(_, _, left_ident, _), .. }, ..}, + Param { pat: Pat { kind: PatKind::Binding(_, _, right_ident, _), .. }, .. } + ] = &closure_body.params; + if let ExprKind::MethodCall(method_path, _, [ref left_expr, ref right_expr]) = &closure_body.value.kind; + if method_path.ident.name.to_ident_string() == "cmp"; + then { + let (closure_body, closure_arg, reverse) = if mirrored_exprs( + &cx, + &left_expr, + &left_ident, + &right_expr, + &right_ident + ) { + (Sugg::hir(cx, &left_expr, "..").to_string(), left_ident.name.to_string(), false) + } else if mirrored_exprs(&cx, &left_expr, &right_ident, &right_expr, &left_ident) { + (Sugg::hir(cx, &left_expr, "..").to_string(), right_ident.name.to_string(), true) + } else { + return None; + }; + let vec_name = Sugg::hir(cx, &args[0], "..").to_string(); + let unstable = name == "sort_unstable_by"; + if_chain! { + if let ExprKind::Path(QPath::Resolved(_, Path { + segments: [PathSegment { ident: left_name, .. }], .. + })) = &left_expr.kind; + if left_name == left_ident; + then { + Some(LintTrigger::Sort(SortDetection { vec_name, unstable })) + } + else { + Some(LintTrigger::SortByKey(SortByKeyDetection { + vec_name, + unstable, + closure_arg, + closure_body, + reverse + })) + } + } + } else { + None + } + } +} + +impl LateLintPass<'_, '_> for UnnecessarySortBy { + fn check_expr(&mut self, cx: &LateContext<'_, '_>, expr: &Expr<'_>) { + match detect_lint(cx, expr) { + Some(LintTrigger::SortByKey(trigger)) => utils::span_lint_and_sugg( + cx, + UNNECESSARY_SORT_BY, + expr.span, + "use Vec::sort_by_key here instead", + "try", + format!( + "{}.sort{}_by_key(|&{}| {})", + trigger.vec_name, + if trigger.unstable { "_unstable" } else { "" }, + trigger.closure_arg, + if trigger.reverse { + format!("Reverse({})", trigger.closure_body) + } else { + trigger.closure_body.to_string() + }, + ), + if trigger.reverse { + Applicability::MaybeIncorrect + } else { + Applicability::MachineApplicable + }, + ), + Some(LintTrigger::Sort(trigger)) => utils::span_lint_and_sugg( + cx, + UNNECESSARY_SORT_BY, + expr.span, + "use Vec::sort here instead", + "try", + format!( + "{}.sort{}()", + trigger.vec_name, + if trigger.unstable { "_unstable" } else { "" }, + ), + Applicability::MachineApplicable, + ), + None => {}, + } + } +} diff --git a/clippy_lints/src/unnested_or_patterns.rs b/clippy_lints/src/unnested_or_patterns.rs new file mode 100644 index 0000000000000..8c281126c32bf --- /dev/null +++ b/clippy_lints/src/unnested_or_patterns.rs @@ -0,0 +1,407 @@ +#![allow(clippy::wildcard_imports, clippy::enum_glob_use)] + +use crate::utils::ast_utils::{eq_field_pat, eq_id, eq_pat, eq_path}; +use crate::utils::{over, span_lint_and_then}; +use rustc_ast::ast::{self, Pat, PatKind, PatKind::*, DUMMY_NODE_ID}; +use rustc_ast::mut_visit::*; +use rustc_ast::ptr::P; +use rustc_ast_pretty::pprust; +use rustc_errors::Applicability; +use rustc_lint::{EarlyContext, EarlyLintPass}; +use rustc_session::{declare_lint_pass, declare_tool_lint}; +use rustc_span::DUMMY_SP; + +use std::cell::Cell; +use std::mem; + +declare_clippy_lint! { + /// **What it does:** + /// + /// Checks for unnested or-patterns, e.g., `Some(0) | Some(2)` and + /// suggests replacing the pattern with a nested one, `Some(0 | 2)`. + /// + /// Another way to think of this is that it rewrites patterns in + /// *disjunctive normal form (DNF)* into *conjunctive normal form (CNF)*. + /// + /// **Why is this bad?** + /// + /// In the example above, `Some` is repeated, which unncessarily complicates the pattern. + /// + /// **Known problems:** None. + /// + /// **Example:** + /// + /// ```rust + /// fn main() { + /// if let Some(0) | Some(2) = Some(0) {} + /// } + /// ``` + /// Use instead: + /// ```rust + /// #![feature(or_patterns)] + /// + /// fn main() { + /// if let Some(0 | 2) = Some(0) {} + /// } + /// ``` + pub UNNESTED_OR_PATTERNS, + complexity, + "unnested or-patterns, e.g., `Foo(Bar) | Foo(Baz) instead of `Foo(Bar | Baz)`" +} + +declare_lint_pass!(UnnestedOrPatterns => [UNNESTED_OR_PATTERNS]); + +impl EarlyLintPass for UnnestedOrPatterns { + fn check_arm(&mut self, cx: &EarlyContext<'_>, a: &ast::Arm) { + lint_unnested_or_patterns(cx, &a.pat); + } + + fn check_expr(&mut self, cx: &EarlyContext<'_>, e: &ast::Expr) { + if let ast::ExprKind::Let(pat, _) = &e.kind { + lint_unnested_or_patterns(cx, pat); + } + } + + fn check_param(&mut self, cx: &EarlyContext<'_>, p: &ast::Param) { + lint_unnested_or_patterns(cx, &p.pat); + } + + fn check_local(&mut self, cx: &EarlyContext<'_>, l: &ast::Local) { + lint_unnested_or_patterns(cx, &l.pat); + } +} + +fn lint_unnested_or_patterns(cx: &EarlyContext<'_>, pat: &Pat) { + if !cx.sess.opts.unstable_features.is_nightly_build() { + // User cannot do `#![feature(or_patterns)]`, so bail. + return; + } + + if let Ident(.., None) | Lit(_) | Wild | Path(..) | Range(..) | Rest | MacCall(_) = pat.kind { + // This is a leaf pattern, so cloning is unprofitable. + return; + } + + let mut pat = P(pat.clone()); + + // Nix all the paren patterns everywhere so that they aren't in our way. + remove_all_parens(&mut pat); + + // Transform all unnested or-patterns into nested ones, and if there were none, quit. + if !unnest_or_patterns(&mut pat) { + return; + } + + span_lint_and_then(cx, UNNESTED_OR_PATTERNS, pat.span, "unnested or-patterns", |db| { + insert_necessary_parens(&mut pat); + db.span_suggestion_verbose( + pat.span, + "nest the patterns", + pprust::pat_to_string(&pat), + Applicability::MachineApplicable, + ); + }); +} + +/// Remove all `(p)` patterns in `pat`. +fn remove_all_parens(pat: &mut P) { + struct Visitor; + impl MutVisitor for Visitor { + fn visit_pat(&mut self, pat: &mut P) { + noop_visit_pat(pat, self); + let inner = match &mut pat.kind { + Paren(i) => mem::replace(&mut i.kind, Wild), + _ => return, + }; + pat.kind = inner; + } + } + Visitor.visit_pat(pat); +} + +/// Insert parens where necessary according to Rust's precedence rules for patterns. +fn insert_necessary_parens(pat: &mut P) { + struct Visitor; + impl MutVisitor for Visitor { + fn visit_pat(&mut self, pat: &mut P) { + use ast::{BindingMode::*, Mutability::*}; + noop_visit_pat(pat, self); + let target = match &mut pat.kind { + // `i @ a | b`, `box a | b`, and `& mut? a | b`. + Ident(.., Some(p)) | Box(p) | Ref(p, _) if matches!(&p.kind, Or(ps) if ps.len() > 1) => p, + Ref(p, Not) if matches!(p.kind, Ident(ByValue(Mut), ..)) => p, // `&(mut x)` + _ => return, + }; + target.kind = Paren(P(take_pat(target))); + } + } + Visitor.visit_pat(pat); +} + +/// Unnest or-patterns `p0 | ... | p1` in the pattern `pat`. +/// For example, this would transform `Some(0) | FOO | Some(2)` into `Some(0 | 2) | FOO`. +fn unnest_or_patterns(pat: &mut P) -> bool { + struct Visitor { + changed: bool, + } + impl MutVisitor for Visitor { + fn visit_pat(&mut self, p: &mut P) { + // This is a bottom up transformation, so recurse first. + noop_visit_pat(p, self); + + // Don't have an or-pattern? Just quit early on. + let alternatives = match &mut p.kind { + Or(ps) => ps, + _ => return, + }; + + // Collapse or-patterns directly nested in or-patterns. + let mut idx = 0; + let mut this_level_changed = false; + while idx < alternatives.len() { + let inner = if let Or(ps) = &mut alternatives[idx].kind { + mem::take(ps) + } else { + idx += 1; + continue; + }; + this_level_changed = true; + alternatives.splice(idx..=idx, inner); + } + + // Focus on `p_n` and then try to transform all `p_i` where `i > n`. + let mut focus_idx = 0; + while focus_idx < alternatives.len() { + this_level_changed |= transform_with_focus_on_idx(alternatives, focus_idx); + focus_idx += 1; + } + self.changed |= this_level_changed; + + // Deal with `Some(Some(0)) | Some(Some(1))`. + if this_level_changed { + noop_visit_pat(p, self); + } + } + } + + let mut visitor = Visitor { changed: false }; + visitor.visit_pat(pat); + visitor.changed +} + +/// Match `$scrutinee` against `$pat` and extract `$then` from it. +/// Panics if there is no match. +macro_rules! always_pat { + ($scrutinee:expr, $pat:pat => $then:expr) => { + match $scrutinee { + $pat => $then, + _ => unreachable!(), + } + }; +} + +/// Focus on `focus_idx` in `alternatives`, +/// attempting to extend it with elements of the same constructor `C` +/// in `alternatives[focus_idx + 1..]`. +fn transform_with_focus_on_idx(alternatives: &mut Vec>, focus_idx: usize) -> bool { + // Extract the kind; we'll need to make some changes in it. + let mut focus_kind = mem::replace(&mut alternatives[focus_idx].kind, PatKind::Wild); + // We'll focus on `alternatives[focus_idx]`, + // so we're draining from `alternatives[focus_idx + 1..]`. + let start = focus_idx + 1; + + // We're trying to find whatever kind (~"constructor") we found in `alternatives[start..]`. + let changed = match &mut focus_kind { + // These pattern forms are "leafs" and do not have sub-patterns. + // Therefore they are not some form of constructor `C`, + // with which a pattern `C(p_0)` may be formed, + // which we would want to join with other `C(p_j)`s. + Ident(.., None) | Lit(_) | Wild | Path(..) | Range(..) | Rest | MacCall(_) + // Dealt with elsewhere. + | Or(_) | Paren(_) => false, + // Transform `box x | ... | box y` into `box (x | y)`. + // + // The cases below until `Slice(...)` deal with *singleton* products. + // These patterns have the shape `C(p)`, and not e.g., `C(p0, ..., pn)`. + Box(target) => extend_with_matching( + target, start, alternatives, + |k| matches!(k, Box(_)), + |k| always_pat!(k, Box(p) => p), + ), + // Transform `&m x | ... | &m y` into `&m (x | y)`. + Ref(target, m1) => extend_with_matching( + target, start, alternatives, + |k| matches!(k, Ref(_, m2) if m1 == m2), // Mutabilities must match. + |k| always_pat!(k, Ref(p, _) => p), + ), + // Transform `b @ p0 | ... b @ p1` into `b @ (p0 | p1)`. + Ident(b1, i1, Some(target)) => extend_with_matching( + target, start, alternatives, + // Binding names must match. + |k| matches!(k, Ident(b2, i2, Some(_)) if b1 == b2 && eq_id(*i1, *i2)), + |k| always_pat!(k, Ident(_, _, Some(p)) => p), + ), + // Transform `[pre, x, post] | ... | [pre, y, post]` into `[pre, x | y, post]`. + Slice(ps1) => extend_with_matching_product( + ps1, start, alternatives, + |k, ps1, idx| matches!(k, Slice(ps2) if eq_pre_post(ps1, ps2, idx)), + |k| always_pat!(k, Slice(ps) => ps), + ), + // Transform `(pre, x, post) | ... | (pre, y, post)` into `(pre, x | y, post)`. + Tuple(ps1) => extend_with_matching_product( + ps1, start, alternatives, + |k, ps1, idx| matches!(k, Tuple(ps2) if eq_pre_post(ps1, ps2, idx)), + |k| always_pat!(k, Tuple(ps) => ps), + ), + // Transform `S(pre, x, post) | ... | S(pre, y, post)` into `S(pre, x | y, post)`. + TupleStruct(path1, ps1) => extend_with_matching_product( + ps1, start, alternatives, + |k, ps1, idx| matches!( + k, + TupleStruct(path2, ps2) if eq_path(path1, path2) && eq_pre_post(ps1, ps2, idx) + ), + |k| always_pat!(k, TupleStruct(_, ps) => ps), + ), + // Transform a record pattern `S { fp_0, ..., fp_n }`. + Struct(path1, fps1, rest1) => extend_with_struct_pat(path1, fps1, *rest1, start, alternatives), + }; + + alternatives[focus_idx].kind = focus_kind; + changed +} + +/// Here we focusing on a record pattern `S { fp_0, ..., fp_n }`. +/// In particular, for a record pattern, the order in which the field patterns is irrelevant. +/// So when we fixate on some `ident_k: pat_k`, we try to find `ident_k` in the other pattern +/// and check that all `fp_i` where `i ∈ ((0...n) \ k)` between two patterns are equal. +fn extend_with_struct_pat( + path1: &ast::Path, + fps1: &mut Vec, + rest1: bool, + start: usize, + alternatives: &mut Vec>, +) -> bool { + (0..fps1.len()).any(|idx| { + let pos_in_2 = Cell::new(None); // The element `k`. + let tail_or = drain_matching( + start, + alternatives, + |k| { + matches!(k, Struct(path2, fps2, rest2) + if rest1 == *rest2 // If one struct pattern has `..` so must the other. + && eq_path(path1, path2) + && fps1.len() == fps2.len() + && fps1.iter().enumerate().all(|(idx_1, fp1)| { + if idx_1 == idx { + // In the case of `k`, we merely require identical field names + // so that we will transform into `ident_k: p1_k | p2_k`. + let pos = fps2.iter().position(|fp2| eq_id(fp1.ident, fp2.ident)); + pos_in_2.set(pos); + pos.is_some() + } else { + fps2.iter().any(|fp2| eq_field_pat(fp1, fp2)) + } + })) + }, + // Extract `p2_k`. + |k| always_pat!(k, Struct(_, mut fps, _) => fps.swap_remove(pos_in_2.take().unwrap()).pat), + ); + extend_with_tail_or(&mut fps1[idx].pat, tail_or) + }) +} + +/// Like `extend_with_matching` but for products with > 1 factor, e.g., `C(p_0, ..., p_n)`. +/// Here, the idea is that we fixate on some `p_k` in `C`, +/// allowing it to vary between two `targets` and `ps2` (returned by `extract`), +/// while also requiring `ps1[..n] ~ ps2[..n]` (pre) and `ps1[n + 1..] ~ ps2[n + 1..]` (post), +/// where `~` denotes semantic equality. +fn extend_with_matching_product( + targets: &mut Vec>, + start: usize, + alternatives: &mut Vec>, + predicate: impl Fn(&PatKind, &[P], usize) -> bool, + extract: impl Fn(PatKind) -> Vec>, +) -> bool { + (0..targets.len()).any(|idx| { + let tail_or = drain_matching( + start, + alternatives, + |k| predicate(k, targets, idx), + |k| extract(k).swap_remove(idx), + ); + extend_with_tail_or(&mut targets[idx], tail_or) + }) +} + +/// Extract the pattern from the given one and replace it with `Wild`. +/// This is meant for temporarily swapping out the pattern for manipulation. +fn take_pat(from: &mut Pat) -> Pat { + let dummy = Pat { + id: DUMMY_NODE_ID, + kind: Wild, + span: DUMMY_SP, + }; + mem::replace(from, dummy) +} + +/// Extend `target` as an or-pattern with the alternatives +/// in `tail_or` if there are any and return if there were. +fn extend_with_tail_or(target: &mut Pat, tail_or: Vec>) -> bool { + fn extend(target: &mut Pat, mut tail_or: Vec>) { + match target { + // On an existing or-pattern in the target, append to it. + Pat { kind: Or(ps), .. } => ps.append(&mut tail_or), + // Otherwise convert the target to an or-pattern. + target => { + let mut init_or = vec![P(take_pat(target))]; + init_or.append(&mut tail_or); + target.kind = Or(init_or); + }, + } + } + + let changed = !tail_or.is_empty(); + if changed { + // Extend the target. + extend(target, tail_or); + } + changed +} + +// Extract all inner patterns in `alternatives` matching our `predicate`. +// Only elements beginning with `start` are considered for extraction. +fn drain_matching( + start: usize, + alternatives: &mut Vec>, + predicate: impl Fn(&PatKind) -> bool, + extract: impl Fn(PatKind) -> P, +) -> Vec> { + let mut tail_or = vec![]; + let mut idx = 0; + for pat in alternatives.drain_filter(|p| { + // Check if we should extract, but only if `idx >= start`. + idx += 1; + idx > start && predicate(&p.kind) + }) { + tail_or.push(extract(pat.into_inner().kind)); + } + tail_or +} + +fn extend_with_matching( + target: &mut Pat, + start: usize, + alternatives: &mut Vec>, + predicate: impl Fn(&PatKind) -> bool, + extract: impl Fn(PatKind) -> P, +) -> bool { + extend_with_tail_or(target, drain_matching(start, alternatives, predicate, extract)) +} + +/// Are the patterns in `ps1` and `ps2` equal save for `ps1[idx]` compared to `ps2[idx]`? +fn eq_pre_post(ps1: &[P], ps2: &[P], idx: usize) -> bool { + ps1[idx].is_rest() == ps2[idx].is_rest() // Avoid `[x, ..] | [x, 0]` => `[x, .. | 0]`. + && ps1.len() == ps2.len() + && over(&ps1[..idx], &ps2[..idx], |l, r| eq_pat(l, r)) + && over(&ps1[idx + 1..], &ps2[idx + 1..], |l, r| eq_pat(l, r)) +} diff --git a/clippy_lints/src/unwrap.rs b/clippy_lints/src/unwrap.rs index 8b971e7064b52..036dd16a224af 100644 --- a/clippy_lints/src/unwrap.rs +++ b/clippy_lints/src/unwrap.rs @@ -101,7 +101,7 @@ fn collect_unwrap_info<'a, 'tcx>( if let ExprKind::Binary(op, left, right) = &expr.kind { match (invert, op.node) { - (false, BinOpKind::And) | (false, BinOpKind::BitAnd) | (true, BinOpKind::Or) | (true, BinOpKind::BitOr) => { + (false, BinOpKind::And | BinOpKind::BitAnd) | (true, BinOpKind::Or | BinOpKind::BitOr) => { let mut unwrap_info = collect_unwrap_info(cx, left, branch, invert); unwrap_info.append(&mut collect_unwrap_info(cx, right, branch, invert)); return unwrap_info; diff --git a/clippy_lints/src/useless_conversion.rs b/clippy_lints/src/useless_conversion.rs index 7fa97b2469912..141035a980ade 100644 --- a/clippy_lints/src/useless_conversion.rs +++ b/clippy_lints/src/useless_conversion.rs @@ -1,12 +1,12 @@ use crate::utils::{ - is_type_diagnostic_item, match_def_path, match_trait_method, paths, same_tys, snippet, snippet_with_macro_callsite, + is_type_diagnostic_item, match_def_path, match_trait_method, paths, snippet, snippet_with_macro_callsite, span_lint_and_help, span_lint_and_sugg, }; use if_chain::if_chain; use rustc_errors::Applicability; use rustc_hir::{Expr, ExprKind, HirId, MatchSource}; use rustc_lint::{LateContext, LateLintPass}; -use rustc_middle::ty; +use rustc_middle::ty::{self, TyS}; use rustc_session::{declare_tool_lint, impl_lint_pass}; declare_clippy_lint! { @@ -65,7 +65,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UselessConversion { if match_trait_method(cx, e, &paths::INTO) && &*name.ident.as_str() == "into" { let a = cx.tables.expr_ty(e); let b = cx.tables.expr_ty(&args[0]); - if same_tys(cx, a, b) { + if TyS::same_type(a, b) { let sugg = snippet_with_macro_callsite(cx, args[0].span, "").to_string(); span_lint_and_sugg( cx, @@ -81,7 +81,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UselessConversion { if match_trait_method(cx, e, &paths::INTO_ITERATOR) && &*name.ident.as_str() == "into_iter" { let a = cx.tables.expr_ty(e); let b = cx.tables.expr_ty(&args[0]); - if same_tys(cx, a, b) { + if TyS::same_type(a, b) { let sugg = snippet(cx, args[0].span, "").into_owned(); span_lint_and_sugg( cx, @@ -101,7 +101,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UselessConversion { if is_type_diagnostic_item(cx, a, sym!(result_type)); if let ty::Adt(_, substs) = a.kind; if let Some(a_type) = substs.types().next(); - if same_tys(cx, a_type, b); + if TyS::same_type(a_type, b); then { span_lint_and_help( @@ -131,7 +131,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UselessConversion { if is_type_diagnostic_item(cx, a, sym!(result_type)); if let ty::Adt(_, substs) = a.kind; if let Some(a_type) = substs.types().next(); - if same_tys(cx, a_type, b); + if TyS::same_type(a_type, b); then { let hint = format!("consider removing `{}()`", snippet(cx, path.span, "TryFrom::try_from")); @@ -148,7 +148,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UselessConversion { if_chain! { if match_def_path(cx, def_id, &paths::FROM_FROM); - if same_tys(cx, a, b); + if TyS::same_type(a, b); then { let sugg = snippet(cx, args[0].span.source_callsite(), "").into_owned(); diff --git a/clippy_lints/src/utils/ast_utils.rs b/clippy_lints/src/utils/ast_utils.rs new file mode 100755 index 0000000000000..dcf09da198e2f --- /dev/null +++ b/clippy_lints/src/utils/ast_utils.rs @@ -0,0 +1,526 @@ +//! Utilities for manipulating and extracting information from `rustc_ast::ast`. +//! +//! - The `eq_foobar` functions test for semantic equality but ignores `NodeId`s and `Span`s. + +#![allow(clippy::similar_names, clippy::wildcard_imports, clippy::enum_glob_use)] + +use crate::utils::{both, over}; +use rustc_ast::ast::{self, *}; +use rustc_ast::ptr::P; +use rustc_span::symbol::Ident; +use std::mem; + +/// Checks if each element in the first slice is contained within the latter as per `eq_fn`. +pub fn unordered_over(left: &[X], right: &[X], mut eq_fn: impl FnMut(&X, &X) -> bool) -> bool { + left.len() == right.len() && left.iter().all(|l| right.iter().any(|r| eq_fn(l, r))) +} + +pub fn eq_id(l: Ident, r: Ident) -> bool { + l.name == r.name +} + +pub fn eq_pat(l: &Pat, r: &Pat) -> bool { + use PatKind::*; + match (&l.kind, &r.kind) { + (Paren(l), _) => eq_pat(l, r), + (_, Paren(r)) => eq_pat(l, r), + (Wild, Wild) | (Rest, Rest) => true, + (Lit(l), Lit(r)) => eq_expr(l, r), + (Ident(b1, i1, s1), Ident(b2, i2, s2)) => b1 == b2 && eq_id(*i1, *i2) && both(s1, s2, |l, r| eq_pat(l, r)), + (Range(lf, lt, le), Range(rf, rt, re)) => { + eq_expr_opt(lf, rf) && eq_expr_opt(lt, rt) && eq_range_end(&le.node, &re.node) + }, + (Box(l), Box(r)) + | (Ref(l, Mutability::Not), Ref(r, Mutability::Not)) + | (Ref(l, Mutability::Mut), Ref(r, Mutability::Mut)) => eq_pat(l, r), + (Tuple(l), Tuple(r)) | (Slice(l), Slice(r)) => over(l, r, |l, r| eq_pat(l, r)), + (Path(lq, lp), Path(rq, rp)) => both(lq, rq, |l, r| eq_qself(l, r)) && eq_path(lp, rp), + (TupleStruct(lp, lfs), TupleStruct(rp, rfs)) => eq_path(lp, rp) && over(lfs, rfs, |l, r| eq_pat(l, r)), + (Struct(lp, lfs, lr), Struct(rp, rfs, rr)) => { + lr == rr && eq_path(lp, rp) && unordered_over(lfs, rfs, |lf, rf| eq_field_pat(lf, rf)) + }, + (Or(ls), Or(rs)) => unordered_over(ls, rs, |l, r| eq_pat(l, r)), + (MacCall(l), MacCall(r)) => eq_mac_call(l, r), + _ => false, + } +} + +pub fn eq_range_end(l: &RangeEnd, r: &RangeEnd) -> bool { + match (l, r) { + (RangeEnd::Excluded, RangeEnd::Excluded) => true, + (RangeEnd::Included(l), RangeEnd::Included(r)) => { + matches!(l, RangeSyntax::DotDotEq) == matches!(r, RangeSyntax::DotDotEq) + }, + _ => false, + } +} + +pub fn eq_field_pat(l: &FieldPat, r: &FieldPat) -> bool { + l.is_placeholder == r.is_placeholder + && eq_id(l.ident, r.ident) + && eq_pat(&l.pat, &r.pat) + && over(&l.attrs, &r.attrs, |l, r| eq_attr(l, r)) +} + +pub fn eq_qself(l: &QSelf, r: &QSelf) -> bool { + l.position == r.position && eq_ty(&l.ty, &r.ty) +} + +pub fn eq_path(l: &Path, r: &Path) -> bool { + over(&l.segments, &r.segments, |l, r| eq_path_seg(l, r)) +} + +pub fn eq_path_seg(l: &PathSegment, r: &PathSegment) -> bool { + eq_id(l.ident, r.ident) && both(&l.args, &r.args, |l, r| eq_generic_args(l, r)) +} + +pub fn eq_generic_args(l: &GenericArgs, r: &GenericArgs) -> bool { + match (l, r) { + (GenericArgs::AngleBracketed(l), GenericArgs::AngleBracketed(r)) => { + over(&l.args, &r.args, |l, r| eq_angle_arg(l, r)) + }, + (GenericArgs::Parenthesized(l), GenericArgs::Parenthesized(r)) => { + over(&l.inputs, &r.inputs, |l, r| eq_ty(l, r)) && eq_fn_ret_ty(&l.output, &r.output) + }, + _ => false, + } +} + +pub fn eq_angle_arg(l: &AngleBracketedArg, r: &AngleBracketedArg) -> bool { + match (l, r) { + (AngleBracketedArg::Arg(l), AngleBracketedArg::Arg(r)) => eq_generic_arg(l, r), + (AngleBracketedArg::Constraint(l), AngleBracketedArg::Constraint(r)) => eq_assoc_constraint(l, r), + _ => false, + } +} + +pub fn eq_generic_arg(l: &GenericArg, r: &GenericArg) -> bool { + match (l, r) { + (GenericArg::Lifetime(l), GenericArg::Lifetime(r)) => eq_id(l.ident, r.ident), + (GenericArg::Type(l), GenericArg::Type(r)) => eq_ty(l, r), + (GenericArg::Const(l), GenericArg::Const(r)) => eq_expr(&l.value, &r.value), + _ => false, + } +} + +pub fn eq_expr_opt(l: &Option>, r: &Option>) -> bool { + both(l, r, |l, r| eq_expr(l, r)) +} + +pub fn eq_expr(l: &Expr, r: &Expr) -> bool { + use ExprKind::*; + if !over(&l.attrs, &r.attrs, |l, r| eq_attr(l, r)) { + return false; + } + match (&l.kind, &r.kind) { + (Paren(l), _) => eq_expr(l, r), + (_, Paren(r)) => eq_expr(l, r), + (Err, Err) => true, + (Box(l), Box(r)) | (Try(l), Try(r)) | (Await(l), Await(r)) => eq_expr(l, r), + (Array(l), Array(r)) | (Tup(l), Tup(r)) => over(l, r, |l, r| eq_expr(l, r)), + (Repeat(le, ls), Repeat(re, rs)) => eq_expr(le, re) && eq_expr(&ls.value, &rs.value), + (Call(lc, la), Call(rc, ra)) => eq_expr(lc, rc) && over(la, ra, |l, r| eq_expr(l, r)), + (MethodCall(lc, la), MethodCall(rc, ra)) => eq_path_seg(lc, rc) && over(la, ra, |l, r| eq_expr(l, r)), + (Binary(lo, ll, lr), Binary(ro, rl, rr)) => lo.node == ro.node && eq_expr(ll, rl) && eq_expr(lr, rr), + (Unary(lo, l), Unary(ro, r)) => mem::discriminant(lo) == mem::discriminant(ro) && eq_expr(l, r), + (Lit(l), Lit(r)) => l.kind == r.kind, + (Cast(l, lt), Cast(r, rt)) | (Type(l, lt), Type(r, rt)) => eq_expr(l, r) && eq_ty(lt, rt), + (Let(lp, le), Let(rp, re)) => eq_pat(lp, rp) && eq_expr(le, re), + (If(lc, lt, le), If(rc, rt, re)) => eq_expr(lc, rc) && eq_block(lt, rt) && eq_expr_opt(le, re), + (While(lc, lt, ll), While(rc, rt, rl)) => eq_label(ll, rl) && eq_expr(lc, rc) && eq_block(lt, rt), + (ForLoop(lp, li, lt, ll), ForLoop(rp, ri, rt, rl)) => { + eq_label(ll, rl) && eq_pat(lp, rp) && eq_expr(li, ri) && eq_block(lt, rt) + }, + (Loop(lt, ll), Loop(rt, rl)) => eq_label(ll, rl) && eq_block(lt, rt), + (Block(lb, ll), Block(rb, rl)) => eq_label(ll, rl) && eq_block(lb, rb), + (TryBlock(l), TryBlock(r)) => eq_block(l, r), + (Yield(l), Yield(r)) | (Ret(l), Ret(r)) => eq_expr_opt(l, r), + (Break(ll, le), Break(rl, re)) => eq_label(ll, rl) && eq_expr_opt(le, re), + (Continue(ll), Continue(rl)) => eq_label(ll, rl), + (Assign(l1, l2, _), Assign(r1, r2, _)) | (Index(l1, l2), Index(r1, r2)) => eq_expr(l1, r1) && eq_expr(l2, r2), + (AssignOp(lo, lp, lv), AssignOp(ro, rp, rv)) => lo.node == ro.node && eq_expr(lp, rp) && eq_expr(lv, rv), + (Field(lp, lf), Field(rp, rf)) => eq_id(*lf, *rf) && eq_expr(lp, rp), + (Match(ls, la), Match(rs, ra)) => eq_expr(ls, rs) && over(la, ra, |l, r| eq_arm(l, r)), + (Closure(lc, la, lm, lf, lb, _), Closure(rc, ra, rm, rf, rb, _)) => { + lc == rc && la.is_async() == ra.is_async() && lm == rm && eq_fn_decl(lf, rf) && eq_expr(lb, rb) + }, + (Async(lc, _, lb), Async(rc, _, rb)) => lc == rc && eq_block(lb, rb), + (Range(lf, lt, ll), Range(rf, rt, rl)) => ll == rl && eq_expr_opt(lf, rf) && eq_expr_opt(lt, rt), + (AddrOf(lbk, lm, le), AddrOf(rbk, rm, re)) => lbk == rbk && lm == rm && eq_expr(le, re), + (Path(lq, lp), Path(rq, rp)) => both(lq, rq, |l, r| eq_qself(l, r)) && eq_path(lp, rp), + (MacCall(l), MacCall(r)) => eq_mac_call(l, r), + (Struct(lp, lfs, lb), Struct(rp, rfs, rb)) => { + eq_path(lp, rp) && eq_expr_opt(lb, rb) && unordered_over(lfs, rfs, |l, r| eq_field(l, r)) + }, + _ => false, + } +} + +pub fn eq_field(l: &Field, r: &Field) -> bool { + l.is_placeholder == r.is_placeholder + && eq_id(l.ident, r.ident) + && eq_expr(&l.expr, &r.expr) + && over(&l.attrs, &r.attrs, |l, r| eq_attr(l, r)) +} + +pub fn eq_arm(l: &Arm, r: &Arm) -> bool { + l.is_placeholder == r.is_placeholder + && eq_pat(&l.pat, &r.pat) + && eq_expr(&l.body, &r.body) + && eq_expr_opt(&l.guard, &r.guard) + && over(&l.attrs, &r.attrs, |l, r| eq_attr(l, r)) +} + +pub fn eq_label(l: &Option: Sized, +{ + let x: Dst = *(Box::new(Dst { x: 1 }) as Box>); +} + +fn return_str() -> str +where + str: Sized, +{ + *"Sized".to_string().into_boxed_str() +} + +fn use_op(s: String) -> String +where + String: ::std::ops::Neg, +{ + -s +} + +fn use_for() +where + i32: Iterator, +{ + for _ in 2i32 {} +} + +fn main() {} diff --git a/tests/ui/crashes/ice-3969.stderr b/tests/ui/crashes/ice-3969.stderr new file mode 100644 index 0000000000000..923db0664a714 --- /dev/null +++ b/tests/ui/crashes/ice-3969.stderr @@ -0,0 +1,22 @@ +error: trait objects without an explicit `dyn` are deprecated + --> $DIR/ice-3969.rs:25:17 + | +LL | for<'a> Dst: Sized, + | ^^^^^^ help: use `dyn`: `dyn A + 'a` + | + = note: `-D bare-trait-objects` implied by `-D warnings` + +error: trait objects without an explicit `dyn` are deprecated + --> $DIR/ice-3969.rs:27:16 + | +LL | let x: Dst = *(Box::new(Dst { x: 1 }) as Box>); + | ^ help: use `dyn`: `dyn A` + +error: trait objects without an explicit `dyn` are deprecated + --> $DIR/ice-3969.rs:27:57 + | +LL | let x: Dst = *(Box::new(Dst { x: 1 }) as Box>); + | ^ help: use `dyn`: `dyn A` + +error: aborting due to 3 previous errors + diff --git a/tests/ui/crashes/regressions.rs b/tests/ui/crashes/regressions.rs index 623ae51f9f08c..3d5063d1a3a7d 100644 --- a/tests/ui/crashes/regressions.rs +++ b/tests/ui/crashes/regressions.rs @@ -6,4 +6,8 @@ pub fn foo(bar: *const u8) { println!("{:#p}", bar); } +// Regression test for https://github.com/rust-lang/rust-clippy/issues/4917 +/// ::new()).iter(); //~ WARN equivalent to .iter() let _ = std::path::Path::new("12/34").iter(); //~ WARN equivalent to .iter() let _ = std::path::PathBuf::from("12/34").iter(); //~ ERROR equivalent to .iter() + + let _ = (&[1, 2, 3]).iter().next(); //~ WARN equivalent to .iter() } diff --git a/tests/ui/into_iter_on_ref.rs b/tests/ui/into_iter_on_ref.rs index 94bc1689619a2..416056d3fdb9c 100644 --- a/tests/ui/into_iter_on_ref.rs +++ b/tests/ui/into_iter_on_ref.rs @@ -40,4 +40,6 @@ fn main() { let _ = (&HashSet::::new()).into_iter(); //~ WARN equivalent to .iter() let _ = std::path::Path::new("12/34").into_iter(); //~ WARN equivalent to .iter() let _ = std::path::PathBuf::from("12/34").into_iter(); //~ ERROR equivalent to .iter() + + let _ = (&[1, 2, 3]).into_iter().next(); //~ WARN equivalent to .iter() } diff --git a/tests/ui/into_iter_on_ref.stderr b/tests/ui/into_iter_on_ref.stderr index 80e2d104f824f..1cd6400b0195b 100644 --- a/tests/ui/into_iter_on_ref.stderr +++ b/tests/ui/into_iter_on_ref.stderr @@ -156,5 +156,11 @@ error: this `.into_iter()` call is equivalent to `.iter()` and will not move the LL | let _ = std::path::PathBuf::from("12/34").into_iter(); //~ ERROR equivalent to .iter() | ^^^^^^^^^ help: call directly: `iter` -error: aborting due to 26 previous errors +error: this `.into_iter()` call is equivalent to `.iter()` and will not move the `array` + --> $DIR/into_iter_on_ref.rs:44:26 + | +LL | let _ = (&[1, 2, 3]).into_iter().next(); //~ WARN equivalent to .iter() + | ^^^^^^^^^ help: call directly: `iter` + +error: aborting due to 27 previous errors diff --git a/tests/ui/iter_next_slice.fixed b/tests/ui/iter_next_slice.fixed new file mode 100644 index 0000000000000..79c1db87ac3c4 --- /dev/null +++ b/tests/ui/iter_next_slice.fixed @@ -0,0 +1,24 @@ +// run-rustfix +#![warn(clippy::iter_next_slice)] + +fn main() { + // test code goes here + let s = [1, 2, 3]; + let v = vec![1, 2, 3]; + + s.get(0); + // Should be replaced by s.get(0) + + s.get(2); + // Should be replaced by s.get(2) + + v.get(5); + // Should be replaced by v.get(5) + + v.get(0); + // Should be replaced by v.get(0) + + let o = Some(5); + o.iter().next(); + // Shouldn't be linted since this is not a Slice or an Array +} diff --git a/tests/ui/iter_next_slice.rs b/tests/ui/iter_next_slice.rs new file mode 100644 index 0000000000000..ef9a55f3d997c --- /dev/null +++ b/tests/ui/iter_next_slice.rs @@ -0,0 +1,24 @@ +// run-rustfix +#![warn(clippy::iter_next_slice)] + +fn main() { + // test code goes here + let s = [1, 2, 3]; + let v = vec![1, 2, 3]; + + s.iter().next(); + // Should be replaced by s.get(0) + + s[2..].iter().next(); + // Should be replaced by s.get(2) + + v[5..].iter().next(); + // Should be replaced by v.get(5) + + v.iter().next(); + // Should be replaced by v.get(0) + + let o = Some(5); + o.iter().next(); + // Shouldn't be linted since this is not a Slice or an Array +} diff --git a/tests/ui/iter_next_slice.stderr b/tests/ui/iter_next_slice.stderr new file mode 100644 index 0000000000000..bbf61df0cda68 --- /dev/null +++ b/tests/ui/iter_next_slice.stderr @@ -0,0 +1,28 @@ +error: Using `.iter().next()` on an array + --> $DIR/iter_next_slice.rs:9:5 + | +LL | s.iter().next(); + | ^^^^^^^^^^^^^^^ help: try calling: `s.get(0)` + | + = note: `-D clippy::iter-next-slice` implied by `-D warnings` + +error: Using `.iter().next()` on a Slice without end index. + --> $DIR/iter_next_slice.rs:12:5 + | +LL | s[2..].iter().next(); + | ^^^^^^^^^^^^^^^^^^^^ help: try calling: `s.get(2)` + +error: Using `.iter().next()` on a Slice without end index. + --> $DIR/iter_next_slice.rs:15:5 + | +LL | v[5..].iter().next(); + | ^^^^^^^^^^^^^^^^^^^^ help: try calling: `v.get(5)` + +error: Using `.iter().next()` on an array + --> $DIR/iter_next_slice.rs:18:5 + | +LL | v.iter().next(); + | ^^^^^^^^^^^^^^^ help: try calling: `v.get(0)` + +error: aborting due to 4 previous errors + diff --git a/tests/ui/len_zero.fixed b/tests/ui/len_zero.fixed index 624e5ef8fcf13..a29b832eb6019 100644 --- a/tests/ui/len_zero.fixed +++ b/tests/ui/len_zero.fixed @@ -141,3 +141,11 @@ fn main() { fn test_slice(b: &[u8]) { if !b.is_empty() {} } + +mod issue_3807 { + // Avoid suggesting changes to ranges if the user did not enable `range_is_empty`. + // See https://github.com/rust-lang/rust/issues/48111#issuecomment-445132965 + fn no_suggestion() { + let _ = (0..42).len() == 0; + } +} diff --git a/tests/ui/len_zero.rs b/tests/ui/len_zero.rs index 7fba971cfd887..8fd0093f4fdbb 100644 --- a/tests/ui/len_zero.rs +++ b/tests/ui/len_zero.rs @@ -141,3 +141,11 @@ fn main() { fn test_slice(b: &[u8]) { if b.len() != 0 {} } + +mod issue_3807 { + // Avoid suggesting changes to ranges if the user did not enable `range_is_empty`. + // See https://github.com/rust-lang/rust/issues/48111#issuecomment-445132965 + fn no_suggestion() { + let _ = (0..42).len() == 0; + } +} diff --git a/tests/ui/len_zero_ranges.fixed b/tests/ui/len_zero_ranges.fixed new file mode 100644 index 0000000000000..7da26f8ff4d47 --- /dev/null +++ b/tests/ui/len_zero_ranges.fixed @@ -0,0 +1,14 @@ +// run-rustfix + +#![feature(range_is_empty)] +#![warn(clippy::len_zero)] +#![allow(unused)] + +mod issue_3807 { + // With the feature enabled, `is_empty` should be suggested + fn suggestion_is_fine() { + let _ = (0..42).is_empty(); + } +} + +fn main() {} diff --git a/tests/ui/len_zero_ranges.rs b/tests/ui/len_zero_ranges.rs new file mode 100644 index 0000000000000..be7b4244bc06c --- /dev/null +++ b/tests/ui/len_zero_ranges.rs @@ -0,0 +1,14 @@ +// run-rustfix + +#![feature(range_is_empty)] +#![warn(clippy::len_zero)] +#![allow(unused)] + +mod issue_3807 { + // With the feature enabled, `is_empty` should be suggested + fn suggestion_is_fine() { + let _ = (0..42).len() == 0; + } +} + +fn main() {} diff --git a/tests/ui/len_zero_ranges.stderr b/tests/ui/len_zero_ranges.stderr new file mode 100644 index 0000000000000..6e5fa41fb08a5 --- /dev/null +++ b/tests/ui/len_zero_ranges.stderr @@ -0,0 +1,10 @@ +error: length comparison to zero + --> $DIR/len_zero_ranges.rs:10:17 + | +LL | let _ = (0..42).len() == 0; + | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `(0..42).is_empty()` + | + = note: `-D clippy::len-zero` implied by `-D warnings` + +error: aborting due to previous error + diff --git a/tests/ui/let_and_return.rs b/tests/ui/let_and_return.rs new file mode 100644 index 0000000000000..09614b8c1ad78 --- /dev/null +++ b/tests/ui/let_and_return.rs @@ -0,0 +1,138 @@ +#![allow(unused)] +#![warn(clippy::let_and_return)] + +fn test() -> i32 { + let _y = 0; // no warning + let x = 5; + x +} + +fn test_inner() -> i32 { + if true { + let x = 5; + x + } else { + 0 + } +} + +fn test_nowarn_1() -> i32 { + let mut x = 5; + x += 1; + x +} + +fn test_nowarn_2() -> i32 { + let x = 5; + x + 1 +} + +fn test_nowarn_3() -> (i32, i32) { + // this should technically warn, but we do not compare complex patterns + let (x, y) = (5, 9); + (x, y) +} + +fn test_nowarn_4() -> i32 { + // this should technically warn, but not b/c of clippy::let_and_return, but b/c of useless type + let x: i32 = 5; + x +} + +fn test_nowarn_5(x: i16) -> u16 { + #[allow(clippy::cast_possible_truncation, clippy::cast_sign_loss)] + let x = x as u16; + x +} + +// False positive example +trait Decode { + fn decode(d: D) -> Result + where + Self: Sized; +} + +macro_rules! tuple_encode { + ($($x:ident),*) => ( + impl<$($x: Decode),*> Decode for ($($x),*) { + #[inline] + #[allow(non_snake_case)] + fn decode(mut d: D) -> Result { + // Shouldn't trigger lint + Ok(($({let $x = Decode::decode(&mut d)?; $x }),*)) + } + } + ); +} + +tuple_encode!(T0, T1, T2, T3, T4, T5, T6, T7); + +mod no_lint_if_stmt_borrows { + mod issue_3792 { + use std::io::{self, BufRead, Stdin}; + + fn read_line() -> String { + let stdin = io::stdin(); + let line = stdin.lock().lines().next().unwrap().unwrap(); + line + } + } + + mod issue_3324 { + use std::cell::RefCell; + use std::rc::{Rc, Weak}; + + fn test(value: Weak>) -> u32 { + let value = value.upgrade().unwrap(); + let ret = value.borrow().baz(); + ret + } + + struct Bar {} + + impl Bar { + fn new() -> Self { + Bar {} + } + fn baz(&self) -> u32 { + 0 + } + } + + fn main() { + let a = Rc::new(RefCell::new(Bar::new())); + let b = Rc::downgrade(&a); + test(b); + } + } + + mod free_function { + struct Inner; + + struct Foo<'a> { + inner: &'a Inner, + } + + impl Drop for Foo<'_> { + fn drop(&mut self) {} + } + + impl Foo<'_> { + fn value(&self) -> i32 { + 42 + } + } + + fn some_foo(inner: &Inner) -> Foo<'_> { + Foo { inner } + } + + fn test() -> i32 { + let x = Inner {}; + let value = some_foo(&x).value(); + value + } + } +} + +fn main() {} diff --git a/tests/ui/let_return.stderr b/tests/ui/let_and_return.stderr similarity index 89% rename from tests/ui/let_return.stderr rename to tests/ui/let_and_return.stderr index 128a22c86e360..eacf948b3927a 100644 --- a/tests/ui/let_return.stderr +++ b/tests/ui/let_and_return.stderr @@ -1,5 +1,5 @@ error: returning the result of a `let` binding from a block - --> $DIR/let_return.rs:7:5 + --> $DIR/let_and_return.rs:7:5 | LL | let x = 5; | ---------- unnecessary `let` binding @@ -14,7 +14,7 @@ LL | 5 | error: returning the result of a `let` binding from a block - --> $DIR/let_return.rs:13:9 + --> $DIR/let_and_return.rs:13:9 | LL | let x = 5; | ---------- unnecessary `let` binding diff --git a/tests/ui/let_return.rs b/tests/ui/let_return.rs deleted file mode 100644 index 23645d48fe799..0000000000000 --- a/tests/ui/let_return.rs +++ /dev/null @@ -1,70 +0,0 @@ -#![allow(unused)] -#![warn(clippy::let_and_return)] - -fn test() -> i32 { - let _y = 0; // no warning - let x = 5; - x -} - -fn test_inner() -> i32 { - if true { - let x = 5; - x - } else { - 0 - } -} - -fn test_nowarn_1() -> i32 { - let mut x = 5; - x += 1; - x -} - -fn test_nowarn_2() -> i32 { - let x = 5; - x + 1 -} - -fn test_nowarn_3() -> (i32, i32) { - // this should technically warn, but we do not compare complex patterns - let (x, y) = (5, 9); - (x, y) -} - -fn test_nowarn_4() -> i32 { - // this should technically warn, but not b/c of clippy::let_and_return, but b/c of useless type - let x: i32 = 5; - x -} - -fn test_nowarn_5(x: i16) -> u16 { - #[allow(clippy::cast_possible_truncation, clippy::cast_sign_loss)] - let x = x as u16; - x -} - -// False positive example -trait Decode { - fn decode(d: D) -> Result - where - Self: Sized; -} - -macro_rules! tuple_encode { - ($($x:ident),*) => ( - impl<$($x: Decode),*> Decode for ($($x),*) { - #[inline] - #[allow(non_snake_case)] - fn decode(mut d: D) -> Result { - // Shouldn't trigger lint - Ok(($({let $x = Decode::decode(&mut d)?; $x }),*)) - } - } - ); -} - -tuple_encode!(T0, T1, T2, T3, T4, T5, T6, T7); - -fn main() {} diff --git a/tests/ui/needless_collect.fixed b/tests/ui/needless_collect.fixed index b4227eaf2f8bb..be37dc16b9a3e 100644 --- a/tests/ui/needless_collect.fixed +++ b/tests/ui/needless_collect.fixed @@ -9,7 +9,7 @@ use std::collections::{BTreeSet, HashMap, HashSet}; fn main() { let sample = [1; 5]; let len = sample.iter().count(); - if sample.iter().next().is_none() { + if sample.get(0).is_none() { // Empty } sample.iter().cloned().any(|x| x == 1); diff --git a/tests/ui/needless_collect.stderr b/tests/ui/needless_collect.stderr index 8884c8e161293..9113aad90dd7c 100644 --- a/tests/ui/needless_collect.stderr +++ b/tests/ui/needless_collect.stderr @@ -1,28 +1,28 @@ error: avoid using `collect()` when not needed - --> $DIR/needless_collect.rs:11:28 + --> $DIR/needless_collect.rs:11:29 | LL | let len = sample.iter().collect::>().len(); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `.count()` + | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `count()` | = note: `-D clippy::needless-collect` implied by `-D warnings` error: avoid using `collect()` when not needed - --> $DIR/needless_collect.rs:12:21 + --> $DIR/needless_collect.rs:12:15 | LL | if sample.iter().collect::>().is_empty() { - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `.next().is_none()` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `get(0).is_none()` error: avoid using `collect()` when not needed - --> $DIR/needless_collect.rs:15:27 + --> $DIR/needless_collect.rs:15:28 | LL | sample.iter().cloned().collect::>().contains(&1); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `.any(|x| x == 1)` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `any(|x| x == 1)` error: avoid using `collect()` when not needed - --> $DIR/needless_collect.rs:16:34 + --> $DIR/needless_collect.rs:16:35 | LL | sample.iter().map(|x| (x, x)).collect::>().len(); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `.count()` + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `count()` error: aborting due to 4 previous errors diff --git a/tests/ui/neg_cmp_op_on_partial_ord.rs b/tests/ui/neg_cmp_op_on_partial_ord.rs index 856a430ba2b55..ca70e3b7148ef 100644 --- a/tests/ui/neg_cmp_op_on_partial_ord.rs +++ b/tests/ui/neg_cmp_op_on_partial_ord.rs @@ -4,6 +4,7 @@ use std::cmp::Ordering; +#[allow(clippy::unnested_or_patterns)] #[warn(clippy::neg_cmp_op_on_partial_ord)] fn main() { let a_value = 1.0; diff --git a/tests/ui/neg_cmp_op_on_partial_ord.stderr b/tests/ui/neg_cmp_op_on_partial_ord.stderr index d05fd34ce33be..8c5d548222e0d 100644 --- a/tests/ui/neg_cmp_op_on_partial_ord.stderr +++ b/tests/ui/neg_cmp_op_on_partial_ord.stderr @@ -1,5 +1,5 @@ error: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. - --> $DIR/neg_cmp_op_on_partial_ord.rs:15:21 + --> $DIR/neg_cmp_op_on_partial_ord.rs:16:21 | LL | let _not_less = !(a_value < another_value); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -7,19 +7,19 @@ LL | let _not_less = !(a_value < another_value); = note: `-D clippy::neg-cmp-op-on-partial-ord` implied by `-D warnings` error: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. - --> $DIR/neg_cmp_op_on_partial_ord.rs:18:30 + --> $DIR/neg_cmp_op_on_partial_ord.rs:19:30 | LL | let _not_less_or_equal = !(a_value <= another_value); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. - --> $DIR/neg_cmp_op_on_partial_ord.rs:21:24 + --> $DIR/neg_cmp_op_on_partial_ord.rs:22:24 | LL | let _not_greater = !(a_value > another_value); | ^^^^^^^^^^^^^^^^^^^^^^^^^^ error: The use of negated comparison operators on partially ordered types produces code that is hard to read and refactor. Please consider using the `partial_cmp` method instead, to make it clear that the two values could be incomparable. - --> $DIR/neg_cmp_op_on_partial_ord.rs:24:33 + --> $DIR/neg_cmp_op_on_partial_ord.rs:25:33 | LL | let _not_greater_or_equal = !(a_value >= another_value); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/ui/or_fun_call.fixed b/tests/ui/or_fun_call.fixed index 7bb08797ef396..2045ffdb5f09d 100644 --- a/tests/ui/or_fun_call.fixed +++ b/tests/ui/or_fun_call.fixed @@ -29,7 +29,7 @@ fn or_fun_call() { with_enum.unwrap_or(Enum::A(5)); let with_const_fn = Some(Duration::from_secs(1)); - with_const_fn.unwrap_or(Duration::from_secs(5)); + with_const_fn.unwrap_or_else(|| Duration::from_secs(5)); let with_constructor = Some(vec![1]); with_constructor.unwrap_or_else(make); @@ -94,7 +94,7 @@ fn test_or_with_ctors() { let b = "b".to_string(); let _ = Some(Bar("a".to_string(), Duration::from_secs(1))) - .or(Some(Bar(b, Duration::from_secs(2)))); + .or_else(|| Some(Bar(b, Duration::from_secs(2)))); let vec = vec!["foo"]; let _ = opt.ok_or(vec.len()); diff --git a/tests/ui/or_fun_call.stderr b/tests/ui/or_fun_call.stderr index 96d55771e6cef..bc5978b538f16 100644 --- a/tests/ui/or_fun_call.stderr +++ b/tests/ui/or_fun_call.stderr @@ -1,10 +1,16 @@ +error: use of `unwrap_or` followed by a function call + --> $DIR/or_fun_call.rs:32:19 + | +LL | with_const_fn.unwrap_or(Duration::from_secs(5)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| Duration::from_secs(5))` + | + = note: `-D clippy::or-fun-call` implied by `-D warnings` + error: use of `unwrap_or` followed by a function call --> $DIR/or_fun_call.rs:35:22 | LL | with_constructor.unwrap_or(make()); | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(make)` - | - = note: `-D clippy::or-fun-call` implied by `-D warnings` error: use of `unwrap_or` followed by a call to `new` --> $DIR/or_fun_call.rs:38:5 @@ -78,5 +84,11 @@ error: use of `or` followed by a function call LL | let _ = Some("a".to_string()).or(Some("b".to_string())); | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some("b".to_string()))` -error: aborting due to 13 previous errors +error: use of `or` followed by a function call + --> $DIR/or_fun_call.rs:97:10 + | +LL | .or(Some(Bar(b, Duration::from_secs(2)))); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `or_else(|| Some(Bar(b, Duration::from_secs(2))))` + +error: aborting due to 15 previous errors diff --git a/tests/ui/reversed_empty_ranges_fixable.fixed b/tests/ui/reversed_empty_ranges_fixable.fixed index 332c0427ef65a..79e482eec3037 100644 --- a/tests/ui/reversed_empty_ranges_fixable.fixed +++ b/tests/ui/reversed_empty_ranges_fixable.fixed @@ -4,8 +4,6 @@ const ANSWER: i32 = 42; fn main() { - let arr = [1, 2, 3, 4, 5]; - // These should be linted: (21..=42).rev().for_each(|x| println!("{}", x)); @@ -14,16 +12,18 @@ fn main() { for _ in (-42..=-21).rev() {} for _ in (21u32..42u32).rev() {} - let _ = &[] as &[i32]; - // These should be ignored as they are not empty ranges: (21..=42).for_each(|x| println!("{}", x)); (21..42).for_each(|x| println!("{}", x)); + let arr = [1, 2, 3, 4, 5]; let _ = &arr[1..=3]; let _ = &arr[1..3]; for _ in 21..=42 {} for _ in 21..42 {} + + // This range is empty but should be ignored, see issue #5689 + let _ = &arr[0..0]; } diff --git a/tests/ui/reversed_empty_ranges_fixable.rs b/tests/ui/reversed_empty_ranges_fixable.rs index 901ec8bcc09f4..b2e8bf33771ac 100644 --- a/tests/ui/reversed_empty_ranges_fixable.rs +++ b/tests/ui/reversed_empty_ranges_fixable.rs @@ -4,8 +4,6 @@ const ANSWER: i32 = 42; fn main() { - let arr = [1, 2, 3, 4, 5]; - // These should be linted: (42..=21).for_each(|x| println!("{}", x)); @@ -14,16 +12,18 @@ fn main() { for _ in -21..=-42 {} for _ in 42u32..21u32 {} - let _ = &arr[3..3]; - // These should be ignored as they are not empty ranges: (21..=42).for_each(|x| println!("{}", x)); (21..42).for_each(|x| println!("{}", x)); + let arr = [1, 2, 3, 4, 5]; let _ = &arr[1..=3]; let _ = &arr[1..3]; for _ in 21..=42 {} for _ in 21..42 {} + + // This range is empty but should be ignored, see issue #5689 + let _ = &arr[0..0]; } diff --git a/tests/ui/reversed_empty_ranges_fixable.stderr b/tests/ui/reversed_empty_ranges_fixable.stderr index 9a646fd99398d..de83c4f3d633c 100644 --- a/tests/ui/reversed_empty_ranges_fixable.stderr +++ b/tests/ui/reversed_empty_ranges_fixable.stderr @@ -1,5 +1,5 @@ error: this range is empty so it will yield no values - --> $DIR/reversed_empty_ranges_fixable.rs:11:5 + --> $DIR/reversed_empty_ranges_fixable.rs:9:5 | LL | (42..=21).for_each(|x| println!("{}", x)); | ^^^^^^^^^ @@ -11,7 +11,7 @@ LL | (21..=42).rev().for_each(|x| println!("{}", x)); | ^^^^^^^^^^^^^^^ error: this range is empty so it will yield no values - --> $DIR/reversed_empty_ranges_fixable.rs:12:13 + --> $DIR/reversed_empty_ranges_fixable.rs:10:13 | LL | let _ = (ANSWER..21).filter(|x| x % 2 == 0).take(10).collect::>(); | ^^^^^^^^^^^^ @@ -22,7 +22,7 @@ LL | let _ = (21..ANSWER).rev().filter(|x| x % 2 == 0).take(10).collect:: $DIR/reversed_empty_ranges_fixable.rs:14:14 + --> $DIR/reversed_empty_ranges_fixable.rs:12:14 | LL | for _ in -21..=-42 {} | ^^^^^^^^^ @@ -33,7 +33,7 @@ LL | for _ in (-42..=-21).rev() {} | ^^^^^^^^^^^^^^^^^ error: this range is empty so it will yield no values - --> $DIR/reversed_empty_ranges_fixable.rs:15:14 + --> $DIR/reversed_empty_ranges_fixable.rs:13:14 | LL | for _ in 42u32..21u32 {} | ^^^^^^^^^^^^ @@ -43,11 +43,5 @@ help: consider using the following if you are attempting to iterate over this ra LL | for _ in (21u32..42u32).rev() {} | ^^^^^^^^^^^^^^^^^^^^ -error: this range is empty and using it to index a slice will always yield an empty slice - --> $DIR/reversed_empty_ranges_fixable.rs:17:18 - | -LL | let _ = &arr[3..3]; - | ----^^^^- help: if you want an empty slice, use: `[] as &[i32]` - -error: aborting due to 5 previous errors +error: aborting due to 4 previous errors diff --git a/tests/ui/reversed_empty_ranges_unfixable.rs b/tests/ui/reversed_empty_ranges_unfixable.rs index 561a35625f02e..264d3d1e95af4 100644 --- a/tests/ui/reversed_empty_ranges_unfixable.rs +++ b/tests/ui/reversed_empty_ranges_unfixable.rs @@ -4,11 +4,12 @@ const ANSWER: i32 = 42; const SOME_NUM: usize = 3; fn main() { - let _ = (42 + 10..42 + 10).map(|x| x / 2).find(|&x| x == 21); - let arr = [1, 2, 3, 4, 5]; let _ = &arr[3usize..=1usize]; let _ = &arr[SOME_NUM..1]; for _ in ANSWER..ANSWER {} + + // Should not be linted, see issue #5689 + let _ = (42 + 10..42 + 10).map(|x| x / 2).find(|&x| x == 21); } diff --git a/tests/ui/reversed_empty_ranges_unfixable.stderr b/tests/ui/reversed_empty_ranges_unfixable.stderr index 240188cbb46cb..f23d4eb0f9ca4 100644 --- a/tests/ui/reversed_empty_ranges_unfixable.stderr +++ b/tests/ui/reversed_empty_ranges_unfixable.stderr @@ -1,28 +1,22 @@ -error: this range is empty so it will yield no values - --> $DIR/reversed_empty_ranges_unfixable.rs:7:13 - | -LL | let _ = (42 + 10..42 + 10).map(|x| x / 2).find(|&x| x == 21); - | ^^^^^^^^^^^^^^^^^^ - | - = note: `-D clippy::reversed-empty-ranges` implied by `-D warnings` - error: this range is reversed and using it to index a slice will panic at run-time - --> $DIR/reversed_empty_ranges_unfixable.rs:10:18 + --> $DIR/reversed_empty_ranges_unfixable.rs:8:18 | LL | let _ = &arr[3usize..=1usize]; | ^^^^^^^^^^^^^^^ + | + = note: `-D clippy::reversed-empty-ranges` implied by `-D warnings` error: this range is reversed and using it to index a slice will panic at run-time - --> $DIR/reversed_empty_ranges_unfixable.rs:11:18 + --> $DIR/reversed_empty_ranges_unfixable.rs:9:18 | LL | let _ = &arr[SOME_NUM..1]; | ^^^^^^^^^^^ error: this range is empty so it will yield no values - --> $DIR/reversed_empty_ranges_unfixable.rs:13:14 + --> $DIR/reversed_empty_ranges_unfixable.rs:11:14 | LL | for _ in ANSWER..ANSWER {} | ^^^^^^^^^^^^^^ -error: aborting due to 4 previous errors +error: aborting due to 3 previous errors diff --git a/tests/ui/string_lit_as_bytes.fixed b/tests/ui/string_lit_as_bytes.fixed index 7ad272ade5f9c..ccf8f61c4a92c 100644 --- a/tests/ui/string_lit_as_bytes.fixed +++ b/tests/ui/string_lit_as_bytes.fixed @@ -14,6 +14,8 @@ fn str_lit_as_bytes() { let strify = stringify!(foobar).as_bytes(); + let current_version = env!("CARGO_PKG_VERSION").as_bytes(); + let includestr = include_bytes!("entry_unfixable.rs"); let _ = b"string with newline\t\n"; diff --git a/tests/ui/string_lit_as_bytes.rs b/tests/ui/string_lit_as_bytes.rs index 1bf4538b7c94f..178df08e249ef 100644 --- a/tests/ui/string_lit_as_bytes.rs +++ b/tests/ui/string_lit_as_bytes.rs @@ -14,6 +14,8 @@ fn str_lit_as_bytes() { let strify = stringify!(foobar).as_bytes(); + let current_version = env!("CARGO_PKG_VERSION").as_bytes(); + let includestr = include_str!("entry_unfixable.rs").as_bytes(); let _ = "string with newline\t\n".as_bytes(); diff --git a/tests/ui/string_lit_as_bytes.stderr b/tests/ui/string_lit_as_bytes.stderr index ff6e3346dfc75..99c512354d589 100644 --- a/tests/ui/string_lit_as_bytes.stderr +++ b/tests/ui/string_lit_as_bytes.stderr @@ -13,13 +13,13 @@ LL | let bs = r###"raw string with 3# plus " ""###.as_bytes(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `br###"raw string with 3# plus " ""###` error: calling `as_bytes()` on `include_str!(..)` - --> $DIR/string_lit_as_bytes.rs:17:22 + --> $DIR/string_lit_as_bytes.rs:19:22 | LL | let includestr = include_str!("entry_unfixable.rs").as_bytes(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using `include_bytes!(..)` instead: `include_bytes!("entry_unfixable.rs")` error: calling `as_bytes()` on a string literal - --> $DIR/string_lit_as_bytes.rs:19:13 + --> $DIR/string_lit_as_bytes.rs:21:13 | LL | let _ = "string with newline/t/n".as_bytes(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using a byte string literal instead: `b"string with newline/t/n"` diff --git a/tests/ui/unit_arg.fixed b/tests/ui/unit_arg.fixed deleted file mode 100644 index a739cf7ad814e..0000000000000 --- a/tests/ui/unit_arg.fixed +++ /dev/null @@ -1,64 +0,0 @@ -// run-rustfix -#![warn(clippy::unit_arg)] -#![allow(unused_braces, clippy::no_effect, unused_must_use)] - -use std::fmt::Debug; - -fn foo(t: T) { - println!("{:?}", t); -} - -fn foo3(t1: T1, t2: T2, t3: T3) { - println!("{:?}, {:?}, {:?}", t1, t2, t3); -} - -struct Bar; - -impl Bar { - fn bar(&self, t: T) { - println!("{:?}", t); - } -} - -fn bad() { - foo(()); - foo(()); - foo(()); - foo(()); - foo3((), 2, 2); - let b = Bar; - b.bar(()); -} - -fn ok() { - foo(()); - foo(1); - foo({ 1 }); - foo3("a", 3, vec![3]); - let b = Bar; - b.bar({ 1 }); - b.bar(()); - question_mark(); -} - -fn question_mark() -> Result<(), ()> { - Ok(Ok(())?)?; - Ok(Ok(()))??; - Ok(()) -} - -#[allow(dead_code)] -mod issue_2945 { - fn unit_fn() -> Result<(), i32> { - Ok(()) - } - - fn fallible() -> Result<(), i32> { - Ok(unit_fn()?) - } -} - -fn main() { - bad(); - ok(); -} diff --git a/tests/ui/unit_arg.rs b/tests/ui/unit_arg.rs index d90c49f79de62..2992abae775b8 100644 --- a/tests/ui/unit_arg.rs +++ b/tests/ui/unit_arg.rs @@ -1,6 +1,5 @@ -// run-rustfix #![warn(clippy::unit_arg)] -#![allow(unused_braces, clippy::no_effect, unused_must_use)] +#![allow(clippy::no_effect, unused_must_use, unused_variables)] use std::fmt::Debug; @@ -21,7 +20,6 @@ impl Bar { } fn bad() { - foo({}); foo({ 1; }); @@ -30,11 +28,25 @@ fn bad() { foo(1); foo(2); }); - foo3({}, 2, 2); let b = Bar; b.bar({ 1; }); + taking_multiple_units(foo(0), foo(1)); + taking_multiple_units(foo(0), { + foo(1); + foo(2); + }); + taking_multiple_units( + { + foo(0); + foo(1); + }, + { + foo(2); + foo(3); + }, + ); } fn ok() { @@ -65,6 +77,13 @@ mod issue_2945 { } } +#[allow(dead_code)] +fn returning_expr() -> Option<()> { + Some(foo(1)) +} + +fn taking_multiple_units(a: (), b: ()) {} + fn main() { bad(); ok(); diff --git a/tests/ui/unit_arg.stderr b/tests/ui/unit_arg.stderr index 21ccc684ea9de..56f6a855dfa55 100644 --- a/tests/ui/unit_arg.stderr +++ b/tests/ui/unit_arg.stderr @@ -1,79 +1,181 @@ error: passing a unit value to a function - --> $DIR/unit_arg.rs:24:9 + --> $DIR/unit_arg.rs:23:5 | -LL | foo({}); - | ^^ +LL | / foo({ +LL | | 1; +LL | | }); + | |______^ | = note: `-D clippy::unit-arg` implied by `-D warnings` -help: if you intended to pass a unit value, use a unit literal instead +help: remove the semicolon from the last statement in the block | -LL | foo(()); - | ^^ - -error: passing a unit value to a function - --> $DIR/unit_arg.rs:25:9 +LL | 1 | -LL | foo({ - | _________^ -LL | | 1; -LL | | }); - | |_____^ +help: or move the expression in front of the call... | -help: if you intended to pass a unit value, use a unit literal instead +LL | { +LL | 1; +LL | }; + | +help: ...and use a unit literal instead | LL | foo(()); | ^^ error: passing a unit value to a function - --> $DIR/unit_arg.rs:28:9 + --> $DIR/unit_arg.rs:26:5 | LL | foo(foo(1)); - | ^^^^^^ + | ^^^^^^^^^^^ + | +help: move the expression in front of the call... | -help: if you intended to pass a unit value, use a unit literal instead +LL | foo(1); + | +help: ...and use a unit literal instead | LL | foo(()); | ^^ error: passing a unit value to a function - --> $DIR/unit_arg.rs:29:9 + --> $DIR/unit_arg.rs:27:5 | -LL | foo({ - | _________^ +LL | / foo({ LL | | foo(1); LL | | foo(2); LL | | }); - | |_____^ + | |______^ + | +help: remove the semicolon from the last statement in the block + | +LL | foo(2) | -help: if you intended to pass a unit value, use a unit literal instead +help: or move the expression in front of the call... + | +LL | { +LL | foo(1); +LL | foo(2); +LL | }; + | +help: ...and use a unit literal instead | LL | foo(()); | ^^ error: passing a unit value to a function - --> $DIR/unit_arg.rs:33:10 + --> $DIR/unit_arg.rs:32:5 | -LL | foo3({}, 2, 2); - | ^^ +LL | / b.bar({ +LL | | 1; +LL | | }); + | |______^ | -help: if you intended to pass a unit value, use a unit literal instead +help: remove the semicolon from the last statement in the block | -LL | foo3((), 2, 2); - | ^^ +LL | 1 + | +help: or move the expression in front of the call... + | +LL | { +LL | 1; +LL | }; + | +help: ...and use a unit literal instead + | +LL | b.bar(()); + | ^^ -error: passing a unit value to a function - --> $DIR/unit_arg.rs:35:11 +error: passing unit values to a function + --> $DIR/unit_arg.rs:35:5 | -LL | b.bar({ - | ___________^ -LL | | 1; +LL | taking_multiple_units(foo(0), foo(1)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: move the expressions in front of the call... + | +LL | foo(0); +LL | foo(1); + | +help: ...and use unit literals instead + | +LL | taking_multiple_units((), ()); + | ^^ ^^ + +error: passing unit values to a function + --> $DIR/unit_arg.rs:36:5 + | +LL | / taking_multiple_units(foo(0), { +LL | | foo(1); +LL | | foo(2); LL | | }); + | |______^ + | +help: remove the semicolon from the last statement in the block + | +LL | foo(2) + | +help: or move the expressions in front of the call... + | +LL | foo(0); +LL | { +LL | foo(1); +LL | foo(2); +LL | }; + | +help: ...and use unit literals instead + | +LL | taking_multiple_units((), ()); + | ^^ ^^ + +error: passing unit values to a function + --> $DIR/unit_arg.rs:40:5 + | +LL | / taking_multiple_units( +LL | | { +LL | | foo(0); +LL | | foo(1); +... | +LL | | }, +LL | | ); | |_____^ | -help: if you intended to pass a unit value, use a unit literal instead +help: remove the semicolon from the last statement in the block | -LL | b.bar(()); - | ^^ +LL | foo(1) + | +help: remove the semicolon from the last statement in the block + | +LL | foo(3) + | +help: or move the expressions in front of the call... + | +LL | { +LL | foo(0); +LL | foo(1); +LL | }; +LL | { +LL | foo(2); + ... +help: ...and use unit literals instead + | +LL | (), +LL | (), + | + +error: passing a unit value to a function + --> $DIR/unit_arg.rs:82:5 + | +LL | Some(foo(1)) + | ^^^^^^^^^^^^ + | +help: move the expression in front of the call... + | +LL | foo(1); + | +help: ...and use a unit literal instead + | +LL | Some(()) + | ^^ -error: aborting due to 6 previous errors +error: aborting due to 8 previous errors diff --git a/tests/ui/unit_arg_empty_blocks.rs b/tests/ui/unit_arg_empty_blocks.rs new file mode 100644 index 0000000000000..18a31eb3deee2 --- /dev/null +++ b/tests/ui/unit_arg_empty_blocks.rs @@ -0,0 +1,26 @@ +#![warn(clippy::unit_arg)] +#![allow(clippy::no_effect, unused_must_use, unused_variables)] + +use std::fmt::Debug; + +fn foo(t: T) { + println!("{:?}", t); +} + +fn foo3(t1: T1, t2: T2, t3: T3) { + println!("{:?}, {:?}, {:?}", t1, t2, t3); +} + +fn bad() { + foo({}); + foo3({}, 2, 2); + taking_two_units({}, foo(0)); + taking_three_units({}, foo(0), foo(1)); +} + +fn taking_two_units(a: (), b: ()) {} +fn taking_three_units(a: (), b: (), c: ()) {} + +fn main() { + bad(); +} diff --git a/tests/ui/unit_arg_empty_blocks.stderr b/tests/ui/unit_arg_empty_blocks.stderr new file mode 100644 index 0000000000000..bb58483584b3e --- /dev/null +++ b/tests/ui/unit_arg_empty_blocks.stderr @@ -0,0 +1,51 @@ +error: passing a unit value to a function + --> $DIR/unit_arg_empty_blocks.rs:15:5 + | +LL | foo({}); + | ^^^^--^ + | | + | help: use a unit literal instead: `()` + | + = note: `-D clippy::unit-arg` implied by `-D warnings` + +error: passing a unit value to a function + --> $DIR/unit_arg_empty_blocks.rs:16:5 + | +LL | foo3({}, 2, 2); + | ^^^^^--^^^^^^^ + | | + | help: use a unit literal instead: `()` + +error: passing unit values to a function + --> $DIR/unit_arg_empty_blocks.rs:17:5 + | +LL | taking_two_units({}, foo(0)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: move the expression in front of the call... + | +LL | foo(0); + | +help: ...and use unit literals instead + | +LL | taking_two_units((), ()); + | ^^ ^^ + +error: passing unit values to a function + --> $DIR/unit_arg_empty_blocks.rs:18:5 + | +LL | taking_three_units({}, foo(0), foo(1)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: move the expressions in front of the call... + | +LL | foo(0); +LL | foo(1); + | +help: ...and use unit literals instead + | +LL | taking_three_units((), (), ()); + | ^^ ^^ ^^ + +error: aborting due to 4 previous errors + diff --git a/tests/ui/unnecessary_sort_by.fixed b/tests/ui/unnecessary_sort_by.fixed new file mode 100644 index 0000000000000..779fd57707ad4 --- /dev/null +++ b/tests/ui/unnecessary_sort_by.fixed @@ -0,0 +1,26 @@ +// run-rustfix + +use std::cmp::Reverse; + +fn id(x: isize) -> isize { + x +} + +fn main() { + let mut vec: Vec = vec![3, 6, 1, 2, 5]; + // Forward examples + vec.sort(); + vec.sort_unstable(); + vec.sort_by_key(|&a| (a + 5).abs()); + vec.sort_unstable_by_key(|&a| id(-a)); + // Reverse examples + vec.sort_by_key(|&b| Reverse(b)); + vec.sort_by_key(|&b| Reverse((b + 5).abs())); + vec.sort_unstable_by_key(|&b| Reverse(id(-b))); + // Negative examples (shouldn't be changed) + let c = &7; + vec.sort_by(|a, b| (b - a).cmp(&(a - b))); + vec.sort_by(|_, b| b.cmp(&5)); + vec.sort_by(|_, b| b.cmp(c)); + vec.sort_unstable_by(|a, _| a.cmp(c)); +} diff --git a/tests/ui/unnecessary_sort_by.rs b/tests/ui/unnecessary_sort_by.rs new file mode 100644 index 0000000000000..0485a5630afef --- /dev/null +++ b/tests/ui/unnecessary_sort_by.rs @@ -0,0 +1,26 @@ +// run-rustfix + +use std::cmp::Reverse; + +fn id(x: isize) -> isize { + x +} + +fn main() { + let mut vec: Vec = vec![3, 6, 1, 2, 5]; + // Forward examples + vec.sort_by(|a, b| a.cmp(b)); + vec.sort_unstable_by(|a, b| a.cmp(b)); + vec.sort_by(|a, b| (a + 5).abs().cmp(&(b + 5).abs())); + vec.sort_unstable_by(|a, b| id(-a).cmp(&id(-b))); + // Reverse examples + vec.sort_by(|a, b| b.cmp(a)); + vec.sort_by(|a, b| (b + 5).abs().cmp(&(a + 5).abs())); + vec.sort_unstable_by(|a, b| id(-b).cmp(&id(-a))); + // Negative examples (shouldn't be changed) + let c = &7; + vec.sort_by(|a, b| (b - a).cmp(&(a - b))); + vec.sort_by(|_, b| b.cmp(&5)); + vec.sort_by(|_, b| b.cmp(c)); + vec.sort_unstable_by(|a, _| a.cmp(c)); +} diff --git a/tests/ui/unnecessary_sort_by.stderr b/tests/ui/unnecessary_sort_by.stderr new file mode 100644 index 0000000000000..903b6e5099ce8 --- /dev/null +++ b/tests/ui/unnecessary_sort_by.stderr @@ -0,0 +1,46 @@ +error: use Vec::sort here instead + --> $DIR/unnecessary_sort_by.rs:12:5 + | +LL | vec.sort_by(|a, b| a.cmp(b)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort()` + | + = note: `-D clippy::unnecessary-sort-by` implied by `-D warnings` + +error: use Vec::sort here instead + --> $DIR/unnecessary_sort_by.rs:13:5 + | +LL | vec.sort_unstable_by(|a, b| a.cmp(b)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort_unstable()` + +error: use Vec::sort_by_key here instead + --> $DIR/unnecessary_sort_by.rs:14:5 + | +LL | vec.sort_by(|a, b| (a + 5).abs().cmp(&(b + 5).abs())); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort_by_key(|&a| (a + 5).abs())` + +error: use Vec::sort_by_key here instead + --> $DIR/unnecessary_sort_by.rs:15:5 + | +LL | vec.sort_unstable_by(|a, b| id(-a).cmp(&id(-b))); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort_unstable_by_key(|&a| id(-a))` + +error: use Vec::sort_by_key here instead + --> $DIR/unnecessary_sort_by.rs:17:5 + | +LL | vec.sort_by(|a, b| b.cmp(a)); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort_by_key(|&b| Reverse(b))` + +error: use Vec::sort_by_key here instead + --> $DIR/unnecessary_sort_by.rs:18:5 + | +LL | vec.sort_by(|a, b| (b + 5).abs().cmp(&(a + 5).abs())); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort_by_key(|&b| Reverse((b + 5).abs()))` + +error: use Vec::sort_by_key here instead + --> $DIR/unnecessary_sort_by.rs:19:5 + | +LL | vec.sort_unstable_by(|a, b| id(-b).cmp(&id(-a))); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `vec.sort_unstable_by_key(|&b| Reverse(id(-b)))` + +error: aborting due to 7 previous errors + diff --git a/tests/ui/unnested_or_patterns.fixed b/tests/ui/unnested_or_patterns.fixed new file mode 100644 index 0000000000000..b39e891094fd9 --- /dev/null +++ b/tests/ui/unnested_or_patterns.fixed @@ -0,0 +1,33 @@ +// run-rustfix + +#![feature(or_patterns)] +#![feature(box_patterns)] +#![warn(clippy::unnested_or_patterns)] +#![allow(clippy::cognitive_complexity, clippy::match_ref_pats)] +#![allow(unreachable_patterns, irrefutable_let_patterns, unused_variables)] + +fn main() { + if let box (0 | 2) = Box::new(0) {} + if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {} + const C0: &u8 = &1; + if let &(0 | 2) | C0 = &0 {} + if let &mut (0 | 2) = &mut 0 {} + if let x @ (0 | 2) = 0 {} + if let (0, 1 | 2 | 3) = (0, 0) {} + if let (1 | 2 | 3, 0) = (0, 0) {} + if let (x, ..) | (x, 1 | 2) = (0, 1) {} + if let [0 | 1] = [0] {} + if let [x, 0 | 1] = [0, 1] {} + if let [x, 0 | 1 | 2] = [0, 1] {} + if let [x, ..] | [x, 1 | 2] = [0, 1] {} + struct TS(u8, u8); + if let TS(0 | 1, x) = TS(0, 0) {} + if let TS(1 | 2 | 3, 0) = TS(0, 0) {} + if let TS(x, ..) | TS(x, 1 | 2) = TS(0, 0) {} + struct S { + x: u8, + y: u8, + } + if let S { x: 0 | 1, y } = (S { x: 0, y: 1 }) {} + if let S { x: 0, y, .. } | S { y, x: 1 } = (S { x: 0, y: 1 }) {} +} diff --git a/tests/ui/unnested_or_patterns.rs b/tests/ui/unnested_or_patterns.rs new file mode 100644 index 0000000000000..096f5a71150b8 --- /dev/null +++ b/tests/ui/unnested_or_patterns.rs @@ -0,0 +1,33 @@ +// run-rustfix + +#![feature(or_patterns)] +#![feature(box_patterns)] +#![warn(clippy::unnested_or_patterns)] +#![allow(clippy::cognitive_complexity, clippy::match_ref_pats)] +#![allow(unreachable_patterns, irrefutable_let_patterns, unused_variables)] + +fn main() { + if let box 0 | box 2 = Box::new(0) {} + if let box ((0 | 1)) | box (2 | 3) | box 4 = Box::new(0) {} + const C0: &u8 = &1; + if let &0 | C0 | &2 = &0 {} + if let &mut 0 | &mut 2 = &mut 0 {} + if let x @ 0 | x @ 2 = 0 {} + if let (0, 1) | (0, 2) | (0, 3) = (0, 0) {} + if let (1, 0) | (2, 0) | (3, 0) = (0, 0) {} + if let (x, ..) | (x, 1) | (x, 2) = (0, 1) {} + if let [0] | [1] = [0] {} + if let [x, 0] | [x, 1] = [0, 1] {} + if let [x, 0] | [x, 1] | [x, 2] = [0, 1] {} + if let [x, ..] | [x, 1] | [x, 2] = [0, 1] {} + struct TS(u8, u8); + if let TS(0, x) | TS(1, x) = TS(0, 0) {} + if let TS(1, 0) | TS(2, 0) | TS(3, 0) = TS(0, 0) {} + if let TS(x, ..) | TS(x, 1) | TS(x, 2) = TS(0, 0) {} + struct S { + x: u8, + y: u8, + } + if let S { x: 0, y } | S { y, x: 1 } = (S { x: 0, y: 1 }) {} + if let S { x: 0, y, .. } | S { y, x: 1 } = (S { x: 0, y: 1 }) {} +} diff --git a/tests/ui/unnested_or_patterns.stderr b/tests/ui/unnested_or_patterns.stderr new file mode 100644 index 0000000000000..1899dc657dfee --- /dev/null +++ b/tests/ui/unnested_or_patterns.stderr @@ -0,0 +1,179 @@ +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:10:12 + | +LL | if let box 0 | box 2 = Box::new(0) {} + | ^^^^^^^^^^^^^ + | + = note: `-D clippy::unnested-or-patterns` implied by `-D warnings` +help: nest the patterns + | +LL | if let box (0 | 2) = Box::new(0) {} + | ^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:11:12 + | +LL | if let box ((0 | 1)) | box (2 | 3) | box 4 = Box::new(0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:13:12 + | +LL | if let &0 | C0 | &2 = &0 {} + | ^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let &(0 | 2) | C0 = &0 {} + | ^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:14:12 + | +LL | if let &mut 0 | &mut 2 = &mut 0 {} + | ^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let &mut (0 | 2) = &mut 0 {} + | ^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:15:12 + | +LL | if let x @ 0 | x @ 2 = 0 {} + | ^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let x @ (0 | 2) = 0 {} + | ^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:16:12 + | +LL | if let (0, 1) | (0, 2) | (0, 3) = (0, 0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let (0, 1 | 2 | 3) = (0, 0) {} + | ^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:17:12 + | +LL | if let (1, 0) | (2, 0) | (3, 0) = (0, 0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let (1 | 2 | 3, 0) = (0, 0) {} + | ^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:18:12 + | +LL | if let (x, ..) | (x, 1) | (x, 2) = (0, 1) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let (x, ..) | (x, 1 | 2) = (0, 1) {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:19:12 + | +LL | if let [0] | [1] = [0] {} + | ^^^^^^^^^ + | +help: nest the patterns + | +LL | if let [0 | 1] = [0] {} + | ^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:20:12 + | +LL | if let [x, 0] | [x, 1] = [0, 1] {} + | ^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let [x, 0 | 1] = [0, 1] {} + | ^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:21:12 + | +LL | if let [x, 0] | [x, 1] | [x, 2] = [0, 1] {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let [x, 0 | 1 | 2] = [0, 1] {} + | ^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:22:12 + | +LL | if let [x, ..] | [x, 1] | [x, 2] = [0, 1] {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let [x, ..] | [x, 1 | 2] = [0, 1] {} + | ^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:24:12 + | +LL | if let TS(0, x) | TS(1, x) = TS(0, 0) {} + | ^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let TS(0 | 1, x) = TS(0, 0) {} + | ^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:25:12 + | +LL | if let TS(1, 0) | TS(2, 0) | TS(3, 0) = TS(0, 0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let TS(1 | 2 | 3, 0) = TS(0, 0) {} + | ^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:26:12 + | +LL | if let TS(x, ..) | TS(x, 1) | TS(x, 2) = TS(0, 0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let TS(x, ..) | TS(x, 1 | 2) = TS(0, 0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns.rs:31:12 + | +LL | if let S { x: 0, y } | S { y, x: 1 } = (S { x: 0, y: 1 }) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let S { x: 0 | 1, y } = (S { x: 0, y: 1 }) {} + | ^^^^^^^^^^^^^^^^^ + +error: aborting due to 16 previous errors + diff --git a/tests/ui/unnested_or_patterns2.fixed b/tests/ui/unnested_or_patterns2.fixed new file mode 100644 index 0000000000000..02a129c55a3f5 --- /dev/null +++ b/tests/ui/unnested_or_patterns2.fixed @@ -0,0 +1,18 @@ +// run-rustfix + +#![feature(or_patterns)] +#![feature(box_patterns)] +#![warn(clippy::unnested_or_patterns)] +#![allow(clippy::cognitive_complexity, clippy::match_ref_pats)] +#![allow(unreachable_patterns, irrefutable_let_patterns, unused_variables)] + +fn main() { + if let Some(Some(0 | 1)) = None {} + if let Some(Some(0 | 1 | 2)) = None {} + if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {} + if let Some(Some(0 | 1 | 2)) = None {} + if let ((0 | 1 | 2,),) = ((0,),) {} + if let 0 | 1 | 2 = 0 {} + if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {} + if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {} +} diff --git a/tests/ui/unnested_or_patterns2.rs b/tests/ui/unnested_or_patterns2.rs new file mode 100644 index 0000000000000..acf3158989dcc --- /dev/null +++ b/tests/ui/unnested_or_patterns2.rs @@ -0,0 +1,18 @@ +// run-rustfix + +#![feature(or_patterns)] +#![feature(box_patterns)] +#![warn(clippy::unnested_or_patterns)] +#![allow(clippy::cognitive_complexity, clippy::match_ref_pats)] +#![allow(unreachable_patterns, irrefutable_let_patterns, unused_variables)] + +fn main() { + if let Some(Some(0)) | Some(Some(1)) = None {} + if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {} + if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {} + if let Some(Some(0) | Some(1 | 2)) = None {} + if let ((0,),) | ((1,) | (2,),) = ((0,),) {} + if let 0 | (1 | 2) = 0 {} + if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {} + if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {} +} diff --git a/tests/ui/unnested_or_patterns2.stderr b/tests/ui/unnested_or_patterns2.stderr new file mode 100644 index 0000000000000..1847fd8e098c7 --- /dev/null +++ b/tests/ui/unnested_or_patterns2.stderr @@ -0,0 +1,91 @@ +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:10:12 + | +LL | if let Some(Some(0)) | Some(Some(1)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: `-D clippy::unnested-or-patterns` implied by `-D warnings` +help: nest the patterns + | +LL | if let Some(Some(0 | 1)) = None {} + | ^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:11:12 + | +LL | if let Some(Some(0)) | Some(Some(1) | Some(2)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let Some(Some(0 | 1 | 2)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:12:12 + | +LL | if let Some(Some(0 | 1) | Some(2)) | Some(Some(3) | Some(4)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let Some(Some(0 | 1 | 2 | 3 | 4)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:13:12 + | +LL | if let Some(Some(0) | Some(1 | 2)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let Some(Some(0 | 1 | 2)) = None {} + | ^^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:14:12 + | +LL | if let ((0,),) | ((1,) | (2,),) = ((0,),) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let ((0 | 1 | 2,),) = ((0,),) {} + | ^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:15:12 + | +LL | if let 0 | (1 | 2) = 0 {} + | ^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let 0 | 1 | 2 = 0 {} + | ^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:16:12 + | +LL | if let box (0 | 1) | (box 2 | box (3 | 4)) = Box::new(0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let box (0 | 1 | 2 | 3 | 4) = Box::new(0) {} + | ^^^^^^^^^^^^^^^^^^^^^^^ + +error: unnested or-patterns + --> $DIR/unnested_or_patterns2.rs:17:12 + | +LL | if let box box 0 | box (box 2 | box 4) = Box::new(Box::new(0)) {} + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | +help: nest the patterns + | +LL | if let box box (0 | 2 | 4) = Box::new(Box::new(0)) {} + | ^^^^^^^^^^^^^^^^^^^ + +error: aborting due to 8 previous errors + diff --git a/tests/ui/vec_resize_to_zero.rs b/tests/ui/vec_resize_to_zero.rs new file mode 100644 index 0000000000000..0263e2f5f20c1 --- /dev/null +++ b/tests/ui/vec_resize_to_zero.rs @@ -0,0 +1,15 @@ +#![warn(clippy::vec_resize_to_zero)] + +fn main() { + // applicable here + vec![1, 2, 3, 4, 5].resize(0, 5); + + // not applicable + vec![1, 2, 3, 4, 5].resize(2, 5); + + // applicable here, but only implemented for integer litterals for now + vec!["foo", "bar", "baz"].resize(0, "bar"); + + // not applicable + vec!["foo", "bar", "baz"].resize(2, "bar") +} diff --git a/tests/ui/vec_resize_to_zero.stderr b/tests/ui/vec_resize_to_zero.stderr new file mode 100644 index 0000000000000..feb846298c656 --- /dev/null +++ b/tests/ui/vec_resize_to_zero.stderr @@ -0,0 +1,13 @@ +error: emptying a vector with `resize` + --> $DIR/vec_resize_to_zero.rs:5:5 + | +LL | vec![1, 2, 3, 4, 5].resize(0, 5); + | ^^^^^^^^^^^^^^^^^^^^------------ + | | + | help: ...or you can empty the vector with: `clear()` + | + = note: `-D clippy::vec-resize-to-zero` implied by `-D warnings` + = help: the arguments may be inverted... + +error: aborting due to previous error + diff --git a/tests/ui/wildcard_enum_match_arm.fixed b/tests/ui/wildcard_enum_match_arm.fixed index 2aa24ea1156aa..4f8754a930120 100644 --- a/tests/ui/wildcard_enum_match_arm.fixed +++ b/tests/ui/wildcard_enum_match_arm.fixed @@ -6,7 +6,8 @@ unused_variables, dead_code, clippy::single_match, - clippy::wildcard_in_or_patterns + clippy::wildcard_in_or_patterns, + clippy::unnested_or_patterns )] use std::io::ErrorKind; diff --git a/tests/ui/wildcard_enum_match_arm.rs b/tests/ui/wildcard_enum_match_arm.rs index 07c93feaf284e..5e66644ceca0f 100644 --- a/tests/ui/wildcard_enum_match_arm.rs +++ b/tests/ui/wildcard_enum_match_arm.rs @@ -6,7 +6,8 @@ unused_variables, dead_code, clippy::single_match, - clippy::wildcard_in_or_patterns + clippy::wildcard_in_or_patterns, + clippy::unnested_or_patterns )] use std::io::ErrorKind; diff --git a/tests/ui/wildcard_enum_match_arm.stderr b/tests/ui/wildcard_enum_match_arm.stderr index 7151a5c5770bf..e03b3be43ed23 100644 --- a/tests/ui/wildcard_enum_match_arm.stderr +++ b/tests/ui/wildcard_enum_match_arm.stderr @@ -1,5 +1,5 @@ error: wildcard match will miss any future added variants - --> $DIR/wildcard_enum_match_arm.rs:37:9 + --> $DIR/wildcard_enum_match_arm.rs:38:9 | LL | _ => eprintln!("Not red"), | ^ help: try this: `Color::Green | Color::Blue | Color::Rgb(..) | Color::Cyan` @@ -11,25 +11,25 @@ LL | #![deny(clippy::wildcard_enum_match_arm)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: wildcard match will miss any future added variants - --> $DIR/wildcard_enum_match_arm.rs:41:9 + --> $DIR/wildcard_enum_match_arm.rs:42:9 | LL | _not_red => eprintln!("Not red"), | ^^^^^^^^ help: try this: `_not_red @ Color::Green | _not_red @ Color::Blue | _not_red @ Color::Rgb(..) | _not_red @ Color::Cyan` error: wildcard match will miss any future added variants - --> $DIR/wildcard_enum_match_arm.rs:45:9 + --> $DIR/wildcard_enum_match_arm.rs:46:9 | LL | not_red => format!("{:?}", not_red), | ^^^^^^^ help: try this: `not_red @ Color::Green | not_red @ Color::Blue | not_red @ Color::Rgb(..) | not_red @ Color::Cyan` error: wildcard match will miss any future added variants - --> $DIR/wildcard_enum_match_arm.rs:61:9 + --> $DIR/wildcard_enum_match_arm.rs:62:9 | LL | _ => "No red", | ^ help: try this: `Color::Red | Color::Green | Color::Blue | Color::Rgb(..) | Color::Cyan` error: match on non-exhaustive enum doesn't explicitly match all known variants - --> $DIR/wildcard_enum_match_arm.rs:78:9 + --> $DIR/wildcard_enum_match_arm.rs:79:9 | LL | _ => {}, | ^ help: try this: `std::io::ErrorKind::PermissionDenied | std::io::ErrorKind::ConnectionRefused | std::io::ErrorKind::ConnectionReset | std::io::ErrorKind::ConnectionAborted | std::io::ErrorKind::NotConnected | std::io::ErrorKind::AddrInUse | std::io::ErrorKind::AddrNotAvailable | std::io::ErrorKind::BrokenPipe | std::io::ErrorKind::AlreadyExists | std::io::ErrorKind::WouldBlock | std::io::ErrorKind::InvalidInput | std::io::ErrorKind::InvalidData | std::io::ErrorKind::TimedOut | std::io::ErrorKind::WriteZero | std::io::ErrorKind::Interrupted | std::io::ErrorKind::Other | std::io::ErrorKind::UnexpectedEof | _` From e521a4ed3818c02a1831db570e69d056c351ee05 Mon Sep 17 00:00:00 2001 From: Devin R Date: Sun, 7 Jun 2020 16:25:21 -0400 Subject: [PATCH 11/42] Add enough attrs to the test file so the fix compiles with no errors, fmt/`clippy` --- clippy_lints/src/macro_use.rs | 29 ++++++++++++++++------------- tests/ui/macro_use_imports.fixed | 2 ++ tests/ui/macro_use_imports.rs | 2 ++ tests/ui/macro_use_imports.stderr | 10 +++++----- 4 files changed, 25 insertions(+), 18 deletions(-) diff --git a/clippy_lints/src/macro_use.rs b/clippy_lints/src/macro_use.rs index 7e3ce07254f7a..b845b20d2c012 100644 --- a/clippy_lints/src/macro_use.rs +++ b/clippy_lints/src/macro_use.rs @@ -164,34 +164,37 @@ impl<'l, 'txc> LateLintPass<'l, 'txc> for MacroUseImports { let seg = import.split("::").collect::>(); match seg.as_slice() { - [] => unreachable!("this should never be empty"), - [_] => unreachable!("path must have two segments ?"), + // an empty path is impossible + // a path should always consist of 2 or more segments + [] | [_] => return, [root, item] => { if !check_dup.contains(&(*item).to_string()) { - used.entry((root.to_string(), span)) - .or_insert_with(|| vec![]) - .push(item.to_string()); - check_dup.push(item.to_string()); + used.entry(((*root).to_string(), span)) + .or_insert_with(Vec::new) + .push((*item).to_string()); + check_dup.push((*item).to_string()); } }, [root, rest @ ..] => { if rest.iter().all(|item| !check_dup.contains(&(*item).to_string())) { let filtered = rest .iter() - .filter_map(|item| if check_dup.contains(&(*item).to_string()) { - None - } else { - Some(item.to_string()) + .filter_map(|item| { + if check_dup.contains(&(*item).to_string()) { + None + } else { + Some((*item).to_string()) + } }) .collect::>(); used.entry(((*root).to_string(), span)) - .or_insert_with(|| vec![]) + .or_insert_with(Vec::new) .push(filtered.join("::")); check_dup.extend(filtered); } else { let rest = rest.to_vec(); - used.entry((root.to_string(), span)) - .or_insert_with(|| vec![]) + used.entry(((*root).to_string(), span)) + .or_insert_with(Vec::new) .push(rest.join("::")); check_dup.extend(rest.iter().map(ToString::to_string)); } diff --git a/tests/ui/macro_use_imports.fixed b/tests/ui/macro_use_imports.fixed index 8034c56b59adb..91e34c62160a1 100644 --- a/tests/ui/macro_use_imports.fixed +++ b/tests/ui/macro_use_imports.fixed @@ -2,7 +2,9 @@ // aux-build:macro_rules.rs // aux-build:macro_use_helper.rs // run-rustfix +// ignore-32bit +#![allow(unused_imports, unreachable_code, unused_variables, dead_code)] #![allow(clippy::single_component_path_imports)] #![warn(clippy::macro_use_imports)] diff --git a/tests/ui/macro_use_imports.rs b/tests/ui/macro_use_imports.rs index 7d415222d64fc..9c3c50c5d49f2 100644 --- a/tests/ui/macro_use_imports.rs +++ b/tests/ui/macro_use_imports.rs @@ -2,7 +2,9 @@ // aux-build:macro_rules.rs // aux-build:macro_use_helper.rs // run-rustfix +// ignore-32bit +#![allow(unused_imports, unreachable_code, unused_variables, dead_code)] #![allow(clippy::single_component_path_imports)] #![warn(clippy::macro_use_imports)] diff --git a/tests/ui/macro_use_imports.stderr b/tests/ui/macro_use_imports.stderr index 6feda8a52226b..f8c86c8d9179f 100644 --- a/tests/ui/macro_use_imports.stderr +++ b/tests/ui/macro_use_imports.stderr @@ -2,7 +2,7 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition --> $DIR/macro_use_imports.rs:18:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest;` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro};` | = note: `-D clippy::macro-use-imports` implied by `-D warnings` @@ -10,16 +10,16 @@ error: `macro_use` attributes are no longer needed in the Rust 2018 edition --> $DIR/macro_use_imports.rs:20:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{inner::foofoo, inner::try_err};` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mini_mac::ClippyMiniMacroTest;` error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:16:5 + --> $DIR/macro_use_imports.rs:22:5 | LL | #[macro_use] - | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{pub_macro, inner_mod_macro, function_macro, ty_macro, pub_in_private_macro};` + | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::{inner::foofoo, inner::try_err};` error: `macro_use` attributes are no longer needed in the Rust 2018 edition - --> $DIR/macro_use_imports.rs:22:5 + --> $DIR/macro_use_imports.rs:24:5 | LL | #[macro_use] | ^^^^^^^^^^^^ help: remove the attribute and import the macro directly, try: `use mac::inner::nested::string_add;` From a083b84b783a2c9e622c9d618e751da22adaff37 Mon Sep 17 00:00:00 2001 From: Eduardo Broto Date: Tue, 9 Jun 2020 23:49:21 +0200 Subject: [PATCH 12/42] if_same_then_else: don't assume multiplication is always commutative --- clippy_lints/src/utils/hir_utils.rs | 13 +++++-------- tests/ui/if_same_then_else.rs | 12 ++++++++++++ 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs index f8d197c15e8d6..6846658b6e29d 100644 --- a/clippy_lints/src/utils/hir_utils.rs +++ b/clippy_lints/src/utils/hir_utils.rs @@ -309,18 +309,15 @@ fn swap_binop<'a>( rhs: &'a Expr<'a>, ) -> Option<(BinOpKind, &'a Expr<'a>, &'a Expr<'a>)> { match binop { - BinOpKind::Add - | BinOpKind::Mul - | BinOpKind::Eq - | BinOpKind::Ne - | BinOpKind::BitAnd - | BinOpKind::BitXor - | BinOpKind::BitOr => Some((binop, rhs, lhs)), + BinOpKind::Add | BinOpKind::Eq | BinOpKind::Ne | BinOpKind::BitAnd | BinOpKind::BitXor | BinOpKind::BitOr => { + Some((binop, rhs, lhs)) + }, BinOpKind::Lt => Some((BinOpKind::Gt, rhs, lhs)), BinOpKind::Le => Some((BinOpKind::Ge, rhs, lhs)), BinOpKind::Ge => Some((BinOpKind::Le, rhs, lhs)), BinOpKind::Gt => Some((BinOpKind::Lt, rhs, lhs)), - BinOpKind::Shl + BinOpKind::Mul + | BinOpKind::Shl | BinOpKind::Shr | BinOpKind::Rem | BinOpKind::Sub diff --git a/tests/ui/if_same_then_else.rs b/tests/ui/if_same_then_else.rs index 6bbf79edfcf70..9c5fe02f7519b 100644 --- a/tests/ui/if_same_then_else.rs +++ b/tests/ui/if_same_then_else.rs @@ -142,4 +142,16 @@ fn func() { fn f(val: &[u8]) {} +mod issue_5698 { + fn mul_not_always_commutative(x: i32, y: i32) -> i32 { + if x == 42 { + x * y + } else if x == 21 { + y * x + } else { + 0 + } + } +} + fn main() {} From 2f74283fce768a262387fe7f51e1e4ebb9b0e300 Mon Sep 17 00:00:00 2001 From: Eduardo Broto Date: Wed, 10 Jun 2020 00:14:02 +0200 Subject: [PATCH 13/42] Add a comment linking to the issue --- clippy_lints/src/utils/hir_utils.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs index 6846658b6e29d..9c2c96203c032 100644 --- a/clippy_lints/src/utils/hir_utils.rs +++ b/clippy_lints/src/utils/hir_utils.rs @@ -316,7 +316,7 @@ fn swap_binop<'a>( BinOpKind::Le => Some((BinOpKind::Ge, rhs, lhs)), BinOpKind::Ge => Some((BinOpKind::Le, rhs, lhs)), BinOpKind::Gt => Some((BinOpKind::Lt, rhs, lhs)), - BinOpKind::Mul + BinOpKind::Mul // Not always commutative, e.g. with matrices. See issue #5698 | BinOpKind::Shl | BinOpKind::Shr | BinOpKind::Rem From c9bd35cac3bb43dc15d3b8318fa9b6646b1b0aa7 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Tue, 2 Jun 2020 07:59:11 +0000 Subject: [PATCH 14/42] Migrate to numeric associated consts --- clippy_lints/src/consts.rs | 10 ++--- clippy_lints/src/enum_clike.rs | 2 +- clippy_lints/src/types.rs | 52 ++++++++++++------------- tests/ui/cast.rs | 10 ++--- tests/ui/implicit_saturating_sub.rs | 14 +++---- tests/ui/implicit_saturating_sub.stderr | 14 +++---- 6 files changed, 51 insertions(+), 51 deletions(-) diff --git a/clippy_lints/src/consts.rs b/clippy_lints/src/consts.rs index 81ddc8c0067c7..22c5acca064e9 100644 --- a/clippy_lints/src/consts.rs +++ b/clippy_lints/src/consts.rs @@ -254,11 +254,11 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> { if let ["core", "num", int_impl, "max_value"] = *def_path; then { let value = match int_impl { - "" => i8::max_value() as u128, - "" => i16::max_value() as u128, - "" => i32::max_value() as u128, - "" => i64::max_value() as u128, - "" => i128::max_value() as u128, + "" => i8::MAX as u128, + "" => i16::MAX as u128, + "" => i32::MAX as u128, + "" => i64::MAX as u128, + "" => i128::MAX as u128, _ => return None, }; Some(Constant::Int(value)) diff --git a/clippy_lints/src/enum_clike.rs b/clippy_lints/src/enum_clike.rs index a1fed3fb6e205..12b62f5cf9789 100644 --- a/clippy_lints/src/enum_clike.rs +++ b/clippy_lints/src/enum_clike.rs @@ -65,7 +65,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnportableVariant { continue; } }, - ty::Uint(UintTy::Usize) if val > u128::from(u32::max_value()) => {}, + ty::Uint(UintTy::Usize) if val > u128::from(u32::MAX) => {}, _ => continue, } span_lint( diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index bc5fe44b30f8f..a9d8c66f26189 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -1946,18 +1946,18 @@ fn detect_extreme_expr<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_ let which = match (&ty.kind, cv) { (&ty::Bool, Constant::Bool(false)) | (&ty::Uint(_), Constant::Int(0)) => Minimum, (&ty::Int(ity), Constant::Int(i)) - if i == unsext(cx.tcx, i128::min_value() >> (128 - int_bits(cx.tcx, ity)), ity) => + if i == unsext(cx.tcx, i128::MIN >> (128 - int_bits(cx.tcx, ity)), ity) => { Minimum }, (&ty::Bool, Constant::Bool(true)) => Maximum, (&ty::Int(ity), Constant::Int(i)) - if i == unsext(cx.tcx, i128::max_value() >> (128 - int_bits(cx.tcx, ity)), ity) => + if i == unsext(cx.tcx, i128::MAX >> (128 - int_bits(cx.tcx, ity)), ity) => { Maximum }, - (&ty::Uint(uty), Constant::Int(i)) if clip(cx.tcx, u128::max_value(), uty) == i => Maximum, + (&ty::Uint(uty), Constant::Int(i)) if clip(cx.tcx, u128::MAX, uty) == i => Maximum, _ => return None, }; @@ -2039,7 +2039,7 @@ impl FullInt { fn cmp_s_u(s: i128, u: u128) -> Ordering { if s < 0 { Ordering::Less - } else if u > (i128::max_value() as u128) { + } else if u > (i128::MAX as u128) { Ordering::Greater } else { (s as u128).cmp(&u) @@ -2084,48 +2084,48 @@ fn numeric_cast_precast_bounds<'a>(cx: &LateContext<'_, '_>, expr: &'a Expr<'_>) match pre_cast_ty.kind { ty::Int(int_ty) => Some(match int_ty { IntTy::I8 => ( - FullInt::S(i128::from(i8::min_value())), - FullInt::S(i128::from(i8::max_value())), + FullInt::S(i128::from(i8::MIN)), + FullInt::S(i128::from(i8::MAX)), ), IntTy::I16 => ( - FullInt::S(i128::from(i16::min_value())), - FullInt::S(i128::from(i16::max_value())), + FullInt::S(i128::from(i16::MIN)), + FullInt::S(i128::from(i16::MAX)), ), IntTy::I32 => ( - FullInt::S(i128::from(i32::min_value())), - FullInt::S(i128::from(i32::max_value())), + FullInt::S(i128::from(i32::MIN)), + FullInt::S(i128::from(i32::MAX)), ), IntTy::I64 => ( - FullInt::S(i128::from(i64::min_value())), - FullInt::S(i128::from(i64::max_value())), + FullInt::S(i128::from(i64::MIN)), + FullInt::S(i128::from(i64::MAX)), ), - IntTy::I128 => (FullInt::S(i128::min_value()), FullInt::S(i128::max_value())), + IntTy::I128 => (FullInt::S(i128::MIN), FullInt::S(i128::MAX)), IntTy::Isize => ( - FullInt::S(isize::min_value() as i128), - FullInt::S(isize::max_value() as i128), + FullInt::S(isize::MIN as i128), + FullInt::S(isize::MAX as i128), ), }), ty::Uint(uint_ty) => Some(match uint_ty { UintTy::U8 => ( - FullInt::U(u128::from(u8::min_value())), - FullInt::U(u128::from(u8::max_value())), + FullInt::U(u128::from(u8::MIN)), + FullInt::U(u128::from(u8::MAX)), ), UintTy::U16 => ( - FullInt::U(u128::from(u16::min_value())), - FullInt::U(u128::from(u16::max_value())), + FullInt::U(u128::from(u16::MIN)), + FullInt::U(u128::from(u16::MAX)), ), UintTy::U32 => ( - FullInt::U(u128::from(u32::min_value())), - FullInt::U(u128::from(u32::max_value())), + FullInt::U(u128::from(u32::MIN)), + FullInt::U(u128::from(u32::MAX)), ), UintTy::U64 => ( - FullInt::U(u128::from(u64::min_value())), - FullInt::U(u128::from(u64::max_value())), + FullInt::U(u128::from(u64::MIN)), + FullInt::U(u128::from(u64::MAX)), ), - UintTy::U128 => (FullInt::U(u128::min_value()), FullInt::U(u128::max_value())), + UintTy::U128 => (FullInt::U(u128::MIN), FullInt::U(u128::MAX)), UintTy::Usize => ( - FullInt::U(usize::min_value() as u128), - FullInt::U(usize::max_value() as u128), + FullInt::U(usize::MIN as u128), + FullInt::U(usize::MAX as u128), ), }), _ => None, diff --git a/tests/ui/cast.rs b/tests/ui/cast.rs index 7e0b211d862ca..8ee0969b0f076 100644 --- a/tests/ui/cast.rs +++ b/tests/ui/cast.rs @@ -37,11 +37,11 @@ fn main() { 1isize as usize; -1isize as usize; 0i8 as u8; - i8::max_value() as u8; - i16::max_value() as u16; - i32::max_value() as u32; - i64::max_value() as u64; - i128::max_value() as u128; + i8::MAX as u8; + i16::MAX as u16; + i32::MAX as u32; + i64::MAX as u64; + i128::MAX as u128; (-1i8).abs() as u8; (-1i16).abs() as u16; diff --git a/tests/ui/implicit_saturating_sub.rs b/tests/ui/implicit_saturating_sub.rs index 24cb216e79bf3..2f32a7b157821 100644 --- a/tests/ui/implicit_saturating_sub.rs +++ b/tests/ui/implicit_saturating_sub.rs @@ -110,7 +110,7 @@ fn main() { } // Lint - if i_8 > i8::min_value() { + if i_8 > i8::MIN { i_8 -= 1; } @@ -120,7 +120,7 @@ fn main() { } // Lint - if i_8 != i8::min_value() { + if i_8 != i8::MIN { i_8 -= 1; } @@ -135,7 +135,7 @@ fn main() { } // Lint - if i_16 > i16::min_value() { + if i_16 > i16::MIN { i_16 -= 1; } @@ -145,7 +145,7 @@ fn main() { } // Lint - if i_16 != i16::min_value() { + if i_16 != i16::MIN { i_16 -= 1; } @@ -160,7 +160,7 @@ fn main() { } // Lint - if i_32 > i32::min_value() { + if i_32 > i32::MIN { i_32 -= 1; } @@ -170,7 +170,7 @@ fn main() { } // Lint - if i_32 != i32::min_value() { + if i_32 != i32::MIN { i_32 -= 1; } @@ -180,7 +180,7 @@ fn main() { let mut i_64: i64 = endi_64 - starti_64; // Lint - if i64::min_value() < i_64 { + if i64::MIN < i_64 { i_64 -= 1; } diff --git a/tests/ui/implicit_saturating_sub.stderr b/tests/ui/implicit_saturating_sub.stderr index a8ba870b1dda6..2eb2023b3b9ef 100644 --- a/tests/ui/implicit_saturating_sub.stderr +++ b/tests/ui/implicit_saturating_sub.stderr @@ -75,7 +75,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:113:5 | -LL | / if i_8 > i8::min_value() { +LL | / if i_8 > i8::MIN { LL | | i_8 -= 1; LL | | } | |_____^ help: try: `i_8 = i_8.saturating_sub(1);` @@ -91,7 +91,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:123:5 | -LL | / if i_8 != i8::min_value() { +LL | / if i_8 != i8::MIN { LL | | i_8 -= 1; LL | | } | |_____^ help: try: `i_8 = i_8.saturating_sub(1);` @@ -107,7 +107,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:138:5 | -LL | / if i_16 > i16::min_value() { +LL | / if i_16 > i16::MIN { LL | | i_16 -= 1; LL | | } | |_____^ help: try: `i_16 = i_16.saturating_sub(1);` @@ -123,7 +123,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:148:5 | -LL | / if i_16 != i16::min_value() { +LL | / if i_16 != i16::MIN { LL | | i_16 -= 1; LL | | } | |_____^ help: try: `i_16 = i_16.saturating_sub(1);` @@ -139,7 +139,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:163:5 | -LL | / if i_32 > i32::min_value() { +LL | / if i_32 > i32::MIN { LL | | i_32 -= 1; LL | | } | |_____^ help: try: `i_32 = i_32.saturating_sub(1);` @@ -155,7 +155,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:173:5 | -LL | / if i_32 != i32::min_value() { +LL | / if i_32 != i32::MIN { LL | | i_32 -= 1; LL | | } | |_____^ help: try: `i_32 = i_32.saturating_sub(1);` @@ -163,7 +163,7 @@ LL | | } error: Implicitly performing saturating subtraction --> $DIR/implicit_saturating_sub.rs:183:5 | -LL | / if i64::min_value() < i_64 { +LL | / if i64::MIN < i_64 { LL | | i_64 -= 1; LL | | } | |_____^ help: try: `i_64 = i_64.saturating_sub(1);` From 6b3ee8f6000ea0fe88d1d19bceac9441a43d8694 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Tue, 9 Jun 2020 17:44:04 -0400 Subject: [PATCH 15/42] Update Clippy for MethodCall changes --- clippy_lints/src/atomic_ordering.rs | 2 +- clippy_lints/src/booleans.rs | 2 +- clippy_lints/src/bytecount.rs | 6 ++--- clippy_lints/src/dereference.rs | 2 +- clippy_lints/src/double_parens.rs | 2 +- clippy_lints/src/duration_subsec.rs | 2 +- clippy_lints/src/entry.rs | 4 ++-- clippy_lints/src/eta_reduction.rs | 4 ++-- clippy_lints/src/explicit_write.rs | 4 ++-- clippy_lints/src/floating_point_arithmetic.rs | 4 ++-- clippy_lints/src/format.rs | 2 +- clippy_lints/src/functions.rs | 4 ++-- clippy_lints/src/get_last_with_len.rs | 4 ++-- clippy_lints/src/if_let_mutex.rs | 2 +- clippy_lints/src/if_let_some_result.rs | 2 +- clippy_lints/src/infinite_iter.rs | 4 ++-- clippy_lints/src/len_zero.rs | 2 +- clippy_lints/src/loops.rs | 22 +++++++++---------- clippy_lints/src/map_clone.rs | 4 ++-- clippy_lints/src/map_unit_fn.rs | 2 +- clippy_lints/src/methods/mod.rs | 16 +++++++------- clippy_lints/src/misc.rs | 4 ++-- clippy_lints/src/mut_reference.rs | 2 +- clippy_lints/src/open_options.rs | 4 ++-- clippy_lints/src/option_env_unwrap.rs | 2 +- clippy_lints/src/path_buf_push_overwrite.rs | 2 +- clippy_lints/src/precedence.rs | 2 +- clippy_lints/src/ptr_offset_with_cast.rs | 2 +- clippy_lints/src/question_mark.rs | 2 +- clippy_lints/src/ranges.rs | 6 ++--- .../src/redundant_pattern_matching.rs | 2 +- .../src/slow_vector_initialization.rs | 6 ++--- clippy_lints/src/strings.rs | 2 +- clippy_lints/src/to_digit_is_some.rs | 4 ++-- clippy_lints/src/types.rs | 6 ++--- clippy_lints/src/unused_io_amount.rs | 4 ++-- clippy_lints/src/unwrap.rs | 4 ++-- clippy_lints/src/useless_conversion.rs | 2 +- clippy_lints/src/utils/author.rs | 4 ++-- clippy_lints/src/utils/hir_utils.rs | 4 ++-- clippy_lints/src/utils/inspector.rs | 2 +- clippy_lints/src/utils/internal_lints.rs | 4 ++-- clippy_lints/src/utils/mod.rs | 6 ++--- clippy_lints/src/utils/ptr.rs | 2 +- clippy_lints/src/verbose_file_reads.rs | 4 ++-- 45 files changed, 89 insertions(+), 89 deletions(-) diff --git a/clippy_lints/src/atomic_ordering.rs b/clippy_lints/src/atomic_ordering.rs index 73b4cef472505..fca9aaaff9dce 100644 --- a/clippy_lints/src/atomic_ordering.rs +++ b/clippy_lints/src/atomic_ordering.rs @@ -70,7 +70,7 @@ fn match_ordering_def_path(cx: &LateContext<'_, '_>, did: DefId, orderings: &[&s fn check_atomic_load_store(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { if_chain! { - if let ExprKind::MethodCall(ref method_path, _, args) = &expr.kind; + if let ExprKind::MethodCall(ref method_path, _, args, _) = &expr.kind; let method = method_path.ident.name.as_str(); if type_is_atomic(cx, &args[0]); if method == "load" || method == "store"; diff --git a/clippy_lints/src/booleans.rs b/clippy_lints/src/booleans.rs index 8031052e073d5..f92c564543b89 100644 --- a/clippy_lints/src/booleans.rs +++ b/clippy_lints/src/booleans.rs @@ -247,7 +247,7 @@ fn simplify_not(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> Option { )) }) }, - ExprKind::MethodCall(path, _, args) if args.len() == 1 => { + ExprKind::MethodCall(path, _, args, _) if args.len() == 1 => { let type_of_receiver = cx.tables.expr_ty(&args[0]); if !is_type_diagnostic_item(cx, type_of_receiver, sym!(option_type)) && !is_type_diagnostic_item(cx, type_of_receiver, sym!(result_type)) diff --git a/clippy_lints/src/bytecount.rs b/clippy_lints/src/bytecount.rs index 90c00ad098ffe..531531a654d0e 100644 --- a/clippy_lints/src/bytecount.rs +++ b/clippy_lints/src/bytecount.rs @@ -38,10 +38,10 @@ declare_lint_pass!(ByteCount => [NAIVE_BYTECOUNT]); impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ByteCount { fn check_expr(&mut self, cx: &LateContext<'_, '_>, expr: &Expr<'_>) { if_chain! { - if let ExprKind::MethodCall(ref count, _, ref count_args) = expr.kind; + if let ExprKind::MethodCall(ref count, _, ref count_args, _) = expr.kind; if count.ident.name == sym!(count); if count_args.len() == 1; - if let ExprKind::MethodCall(ref filter, _, ref filter_args) = count_args[0].kind; + if let ExprKind::MethodCall(ref filter, _, ref filter_args, _) = count_args[0].kind; if filter.ident.name == sym!(filter); if filter_args.len() == 2; if let ExprKind::Closure(_, _, body_id, _, _) = filter_args[1].kind; @@ -66,7 +66,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ByteCount { if ty::Uint(UintTy::U8) != walk_ptrs_ty(cx.tables.expr_ty(needle)).kind { return; } - let haystack = if let ExprKind::MethodCall(ref path, _, ref args) = + let haystack = if let ExprKind::MethodCall(ref path, _, ref args, _) = filter_args[0].kind { let p = path.ident.name; if (p == sym!(iter) || p == sym!(iter_mut)) && args.len() == 1 { diff --git a/clippy_lints/src/dereference.rs b/clippy_lints/src/dereference.rs index 68ec07e2bcb0f..1cd30ae2c6381 100644 --- a/clippy_lints/src/dereference.rs +++ b/clippy_lints/src/dereference.rs @@ -42,7 +42,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Dereferencing { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { if_chain! { if !expr.span.from_expansion(); - if let ExprKind::MethodCall(ref method_name, _, ref args) = &expr.kind; + if let ExprKind::MethodCall(ref method_name, _, ref args, _) = &expr.kind; if args.len() == 1; then { diff --git a/clippy_lints/src/double_parens.rs b/clippy_lints/src/double_parens.rs index 05517f6f9f0cc..1eb380a22cc6b 100644 --- a/clippy_lints/src/double_parens.rs +++ b/clippy_lints/src/double_parens.rs @@ -70,7 +70,7 @@ impl EarlyLintPass for DoubleParens { } } }, - ExprKind::MethodCall(_, ref params) => { + ExprKind::MethodCall(_, ref params, _) => { if params.len() == 2 { let param = ¶ms[1]; if let ExprKind::Paren(_) = param.kind { diff --git a/clippy_lints/src/duration_subsec.rs b/clippy_lints/src/duration_subsec.rs index afefa2506381b..7171dcef968c1 100644 --- a/clippy_lints/src/duration_subsec.rs +++ b/clippy_lints/src/duration_subsec.rs @@ -42,7 +42,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for DurationSubsec { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { if_chain! { if let ExprKind::Binary(Spanned { node: BinOpKind::Div, .. }, ref left, ref right) = expr.kind; - if let ExprKind::MethodCall(ref method_path, _ , ref args) = left.kind; + if let ExprKind::MethodCall(ref method_path, _ , ref args, _) = left.kind; if match_type(cx, walk_ptrs_ty(cx.tables.expr_ty(&args[0])), &paths::DURATION); if let Some((Constant::Int(divisor), _)) = constant(cx, cx.tables, right); then { diff --git a/clippy_lints/src/entry.rs b/clippy_lints/src/entry.rs index 7b332c761a0c4..f625058b6703c 100644 --- a/clippy_lints/src/entry.rs +++ b/clippy_lints/src/entry.rs @@ -103,7 +103,7 @@ fn check_cond<'a, 'tcx, 'b>( check: &'b Expr<'b>, ) -> Option<(&'static str, &'b Expr<'b>, &'b Expr<'b>)> { if_chain! { - if let ExprKind::MethodCall(ref path, _, ref params) = check.kind; + if let ExprKind::MethodCall(ref path, _, ref params, _) = check.kind; if params.len() >= 2; if path.ident.name == sym!(contains_key); if let ExprKind::AddrOf(BorrowKind::Ref, _, ref key) = params[1].kind; @@ -140,7 +140,7 @@ impl<'a, 'tcx, 'b> Visitor<'tcx> for InsertVisitor<'a, 'tcx, 'b> { fn visit_expr(&mut self, expr: &'tcx Expr<'_>) { if_chain! { - if let ExprKind::MethodCall(ref path, _, ref params) = expr.kind; + if let ExprKind::MethodCall(ref path, _, ref params, _) = expr.kind; if params.len() == 3; if path.ident.name == sym!(insert); if get_item_name(self.cx, self.map) == get_item_name(self.cx, ¶ms[0]); diff --git a/clippy_lints/src/eta_reduction.rs b/clippy_lints/src/eta_reduction.rs index d093025fd3d7a..a889856de2742 100644 --- a/clippy_lints/src/eta_reduction.rs +++ b/clippy_lints/src/eta_reduction.rs @@ -71,7 +71,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for EtaReduction { } match expr.kind { - ExprKind::Call(_, args) | ExprKind::MethodCall(_, _, args) => { + ExprKind::Call(_, args) | ExprKind::MethodCall(_, _, args, _) => { for arg in args { check_closure(cx, arg) } @@ -120,7 +120,7 @@ fn check_closure(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { ); if_chain!( - if let ExprKind::MethodCall(ref path, _, ref args) = ex.kind; + if let ExprKind::MethodCall(ref path, _, ref args, _) = ex.kind; // Not the same number of arguments, there is no way the closure is the same as the function return; if args.len() == decl.inputs.len(); diff --git a/clippy_lints/src/explicit_write.rs b/clippy_lints/src/explicit_write.rs index 320121b277140..7269e2b52c2ce 100644 --- a/clippy_lints/src/explicit_write.rs +++ b/clippy_lints/src/explicit_write.rs @@ -32,11 +32,11 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ExplicitWrite { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { if_chain! { // match call to unwrap - if let ExprKind::MethodCall(ref unwrap_fun, _, ref unwrap_args) = expr.kind; + if let ExprKind::MethodCall(ref unwrap_fun, _, ref unwrap_args, _) = expr.kind; if unwrap_fun.ident.name == sym!(unwrap); // match call to write_fmt if !unwrap_args.is_empty(); - if let ExprKind::MethodCall(ref write_fun, _, write_args) = + if let ExprKind::MethodCall(ref write_fun, _, write_args, _) = unwrap_args[0].kind; if write_fun.ident.name == sym!(write_fmt); // match calls to std::io::stdout() / std::io::stderr () diff --git a/clippy_lints/src/floating_point_arithmetic.rs b/clippy_lints/src/floating_point_arithmetic.rs index 3a912d928375d..ad4f66c52c2c8 100644 --- a/clippy_lints/src/floating_point_arithmetic.rs +++ b/clippy_lints/src/floating_point_arithmetic.rs @@ -301,7 +301,7 @@ fn check_expm1(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { if cx.tables.expr_ty(lhs).is_floating_point(); if let Some((value, _)) = constant(cx, cx.tables, rhs); if F32(1.0) == value || F64(1.0) == value; - if let ExprKind::MethodCall(ref path, _, ref method_args) = lhs.kind; + if let ExprKind::MethodCall(ref path, _, ref method_args, _) = lhs.kind; if cx.tables.expr_ty(&method_args[0]).is_floating_point(); if path.ident.name.as_str() == "exp"; then { @@ -481,7 +481,7 @@ fn check_custom_abs(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { impl<'a, 'tcx> LateLintPass<'a, 'tcx> for FloatingPointArithmetic { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { - if let ExprKind::MethodCall(ref path, _, args) = &expr.kind { + if let ExprKind::MethodCall(ref path, _, args, _) = &expr.kind { let recv_ty = cx.tables.expr_ty(&args[0]); if recv_ty.is_floating_point() { diff --git a/clippy_lints/src/format.rs b/clippy_lints/src/format.rs index 1530538aa7d13..4cae5ca2c4326 100644 --- a/clippy_lints/src/format.rs +++ b/clippy_lints/src/format.rs @@ -104,7 +104,7 @@ fn on_argumentv1_new<'a, 'tcx>( } } else { let snip = snippet(cx, format_args.span, ""); - if let ExprKind::MethodCall(ref path, _, _) = format_args.kind { + if let ExprKind::MethodCall(ref path, _, _, _) = format_args.kind { if path.ident.name == sym!(to_string) { return Some(format!("{}", snip)); } diff --git a/clippy_lints/src/functions.rs b/clippy_lints/src/functions.rs index 325b6cf32a3d2..991d129e8f0d6 100644 --- a/clippy_lints/src/functions.rs +++ b/clippy_lints/src/functions.rs @@ -556,7 +556,7 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for DerefVisitor<'a, 'tcx> { } } }, - hir::ExprKind::MethodCall(_, _, args) => { + hir::ExprKind::MethodCall(_, _, args, _) => { let def_id = self.tables.type_dependent_def_id(expr.hir_id).unwrap(); let base_type = self.cx.tcx.type_of(def_id); @@ -610,7 +610,7 @@ impl<'a, 'tcx> intravisit::Visitor<'tcx> for StaticMutVisitor<'a, 'tcx> { return; } match expr.kind { - Call(_, args) | MethodCall(_, _, args) => { + Call(_, args) | MethodCall(_, _, args, _) => { let mut tys = FxHashSet::default(); for arg in args { let def_id = arg.hir_id.owner.to_def_id(); diff --git a/clippy_lints/src/get_last_with_len.rs b/clippy_lints/src/get_last_with_len.rs index c32e0a2290d12..3629ba623ce43 100644 --- a/clippy_lints/src/get_last_with_len.rs +++ b/clippy_lints/src/get_last_with_len.rs @@ -47,7 +47,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for GetLastWithLen { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { if_chain! { // Is a method call - if let ExprKind::MethodCall(ref path, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind; // Method name is "get" if path.ident.name == sym!(get); @@ -69,7 +69,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for GetLastWithLen { ) = &get_index_arg.kind; // LHS of subtraction is "x.len()" - if let ExprKind::MethodCall(arg_lhs_path, _, lhs_args) = &lhs.kind; + if let ExprKind::MethodCall(arg_lhs_path, _, lhs_args, _) = &lhs.kind; if arg_lhs_path.ident.name == sym!(len); if let Some(arg_lhs_struct) = lhs_args.get(0); diff --git a/clippy_lints/src/if_let_mutex.rs b/clippy_lints/src/if_let_mutex.rs index ae92a96d16347..04d17c91d63c1 100644 --- a/clippy_lints/src/if_let_mutex.rs +++ b/clippy_lints/src/if_let_mutex.rs @@ -147,7 +147,7 @@ impl<'tcx, 'l> ArmVisitor<'tcx, 'l> { fn is_mutex_lock_call<'a>(cx: &LateContext<'a, '_>, expr: &'a Expr<'_>) -> Option<&'a Expr<'a>> { if_chain! { - if let ExprKind::MethodCall(path, _span, args) = &expr.kind; + if let ExprKind::MethodCall(path, _span, args, _) = &expr.kind; if path.ident.to_string() == "lock"; let ty = cx.tables.expr_ty(&args[0]); if is_type_diagnostic_item(cx, ty, sym!(mutex_type)); diff --git a/clippy_lints/src/if_let_some_result.rs b/clippy_lints/src/if_let_some_result.rs index 9b13f7609247a..6a1fcdd1ce445 100644 --- a/clippy_lints/src/if_let_some_result.rs +++ b/clippy_lints/src/if_let_some_result.rs @@ -42,7 +42,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for OkIfLet { if_chain! { //begin checking variables if let ExprKind::Match(ref op, ref body, source) = expr.kind; //test if expr is a match if let MatchSource::IfLetDesugar { .. } = source; //test if it is an If Let - if let ExprKind::MethodCall(_, ok_span, ref result_types) = op.kind; //check is expr.ok() has type Result.ok() + if let ExprKind::MethodCall(_, ok_span, ref result_types, _) = op.kind; //check is expr.ok() has type Result.ok(, _) if let PatKind::TupleStruct(QPath::Resolved(_, ref x), ref y, _) = body[0].pat.kind; //get operation if method_chain_args(op, &["ok"]).is_some(); //test to see if using ok() methoduse std::marker::Sized; if is_type_diagnostic_item(cx, cx.tables.expr_ty(&result_types[0]), sym!(result_type)); diff --git a/clippy_lints/src/infinite_iter.rs b/clippy_lints/src/infinite_iter.rs index cd989c0ea6f67..a860a9def2422 100644 --- a/clippy_lints/src/infinite_iter.rs +++ b/clippy_lints/src/infinite_iter.rs @@ -142,7 +142,7 @@ const HEURISTICS: [(&str, usize, Heuristic, Finiteness); 19] = [ fn is_infinite(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> Finiteness { match expr.kind { - ExprKind::MethodCall(ref method, _, ref args) => { + ExprKind::MethodCall(ref method, _, ref args, _) => { for &(name, len, heuristic, cap) in &HEURISTICS { if method.ident.name.as_str() == name && args.len() == len { return (match heuristic { @@ -218,7 +218,7 @@ const INFINITE_COLLECTORS: [&[&str]; 8] = [ fn complete_infinite_iter(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> Finiteness { match expr.kind { - ExprKind::MethodCall(ref method, _, ref args) => { + ExprKind::MethodCall(ref method, _, ref args, _) => { for &(name, len) in &COMPLETING_METHODS { if method.ident.name.as_str() == name && args.len() == len { return is_infinite(cx, &args[0]); diff --git a/clippy_lints/src/len_zero.rs b/clippy_lints/src/len_zero.rs index f5bfede75a761..13e85fda8ffeb 100644 --- a/clippy_lints/src/len_zero.rs +++ b/clippy_lints/src/len_zero.rs @@ -211,7 +211,7 @@ fn check_impl_items(cx: &LateContext<'_, '_>, item: &Item<'_>, impl_items: &[Imp } fn check_cmp(cx: &LateContext<'_, '_>, span: Span, method: &Expr<'_>, lit: &Expr<'_>, op: &str, compare_to: u32) { - if let (&ExprKind::MethodCall(ref method_path, _, ref args), &ExprKind::Lit(ref lit)) = (&method.kind, &lit.kind) { + if let (&ExprKind::MethodCall(ref method_path, _, ref args, _), &ExprKind::Lit(ref lit)) = (&method.kind, &lit.kind) { // check if we are in an is_empty() method if let Some(name) = get_item_name(cx, method) { if name.as_str() == "is_empty" { diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index 57c62d739640f..771bc8d055825 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -526,7 +526,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Loops { let pat = &arms[0].pat.kind; if let ( &PatKind::TupleStruct(ref qpath, ref pat_args, _), - &ExprKind::MethodCall(ref method_path, _, ref method_args), + &ExprKind::MethodCall(ref method_path, _, ref method_args, _), ) = (pat, &match_expr.kind) { let iter_expr = &method_args[0]; @@ -654,7 +654,7 @@ fn never_loop_expr(expr: &Expr<'_>, main_loop_id: HirId) -> NeverLoopResult { | ExprKind::Struct(_, _, Some(ref e)) | ExprKind::Repeat(ref e, _) | ExprKind::DropTemps(ref e) => never_loop_expr(e, main_loop_id), - ExprKind::Array(ref es) | ExprKind::MethodCall(_, _, ref es) | ExprKind::Tup(ref es) => { + ExprKind::Array(ref es) | ExprKind::MethodCall(_, _, ref es, _) | ExprKind::Tup(ref es) => { never_loop_expr_all(&mut es.iter(), main_loop_id) }, ExprKind::Call(ref e, ref es) => never_loop_expr_all(&mut once(&**e).chain(es.iter()), main_loop_id), @@ -806,7 +806,7 @@ fn is_slice_like<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'_>) -> bool { fn fetch_cloned_expr<'tcx>(expr: &'tcx Expr<'tcx>) -> &'tcx Expr<'tcx> { if_chain! { - if let ExprKind::MethodCall(method, _, args) = expr.kind; + if let ExprKind::MethodCall(method, _, args, _) = expr.kind; if method.ident.name == sym!(clone); if args.len() == 1; if let Some(arg) = args.get(0); @@ -915,7 +915,7 @@ fn build_manual_memcpy_suggestion<'a, 'tcx>( let print_limit = |end: &Expr<'_>, offset: Offset, var: &Expr<'_>| { if_chain! { - if let ExprKind::MethodCall(method, _, len_args) = end.kind; + if let ExprKind::MethodCall(method, _, len_args, _) = end.kind; if method.ident.name == sym!(len); if len_args.len() == 1; if let Some(arg) = len_args.get(0); @@ -1190,7 +1190,7 @@ fn check_for_loop_range<'a, 'tcx>( fn is_len_call(expr: &Expr<'_>, var: Name) -> bool { if_chain! { - if let ExprKind::MethodCall(ref method, _, ref len_args) = expr.kind; + if let ExprKind::MethodCall(ref method, _, ref len_args, _) = expr.kind; if len_args.len() == 1; if method.ident.name == sym!(len); if let ExprKind::Path(QPath::Resolved(_, ref path)) = len_args[0].kind; @@ -1244,7 +1244,7 @@ fn lint_iter_method(cx: &LateContext<'_, '_>, args: &[Expr<'_>], arg: &Expr<'_>, fn check_for_loop_arg(cx: &LateContext<'_, '_>, pat: &Pat<'_>, arg: &Expr<'_>, expr: &Expr<'_>) { let mut next_loop_linted = false; // whether or not ITER_NEXT_LOOP lint was used - if let ExprKind::MethodCall(ref method, _, ref args) = arg.kind { + if let ExprKind::MethodCall(ref method, _, ref args, _) = arg.kind { // just the receiver, no arguments if args.len() == 1 { let method_name = &*method.ident.as_str(); @@ -1718,7 +1718,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> { fn visit_expr(&mut self, expr: &'tcx Expr<'_>) { if_chain! { // a range index op - if let ExprKind::MethodCall(ref meth, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref meth, _, ref args, _) = expr.kind; if (meth.ident.name == sym!(index) && match_trait_method(self.cx, expr, &paths::INDEX)) || (meth.ident.name == sym!(index_mut) && match_trait_method(self.cx, expr, &paths::INDEX_MUT)); if !self.check(&args[1], &args[0], expr); @@ -1776,7 +1776,7 @@ impl<'a, 'tcx> Visitor<'tcx> for VarVisitor<'a, 'tcx> { self.visit_expr(expr); } }, - ExprKind::MethodCall(_, _, args) => { + ExprKind::MethodCall(_, _, args, _) => { let def_id = self.cx.tables.type_dependent_def_id(expr.hir_id).unwrap(); for (ty, expr) in self.cx.tcx.fn_sig(def_id).inputs().skip_binder().iter().zip(args) { self.prefer_mutable = false; @@ -2369,8 +2369,8 @@ const NEEDLESS_COLLECT_MSG: &str = "avoid using `collect()` when not needed"; fn check_needless_collect<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &LateContext<'a, 'tcx>) { if_chain! { - if let ExprKind::MethodCall(ref method, _, ref args) = expr.kind; - if let ExprKind::MethodCall(ref chain_method, _, _) = args[0].kind; + if let ExprKind::MethodCall(ref method, _, ref args, _) = expr.kind; + if let ExprKind::MethodCall(ref chain_method, _, _, _) = args[0].kind; if chain_method.ident.name == sym!(collect) && match_trait_method(cx, &args[0], &paths::ITERATOR); if let Some(ref generic_args) = chain_method.args; if let Some(GenericArg::Type(ref ty)) = generic_args.args.get(0); @@ -2437,7 +2437,7 @@ fn check_needless_collect<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &LateContext<'a, ' fn shorten_span(expr: &Expr<'_>, target_fn_name: Symbol) -> Span { let mut current_expr = expr; - while let ExprKind::MethodCall(ref path, ref span, ref args) = current_expr.kind { + while let ExprKind::MethodCall(ref path, ref span, ref args, _) = current_expr.kind { if path.ident.name == target_fn_name { return expr.span.with_lo(span.lo()); } diff --git a/clippy_lints/src/map_clone.rs b/clippy_lints/src/map_clone.rs index d5adf6b0f0dcb..8f4fdc685ef38 100644 --- a/clippy_lints/src/map_clone.rs +++ b/clippy_lints/src/map_clone.rs @@ -49,7 +49,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MapClone { } if_chain! { - if let hir::ExprKind::MethodCall(ref method, _, ref args) = e.kind; + if let hir::ExprKind::MethodCall(ref method, _, ref args, _) = e.kind; if args.len() == 2; if method.ident.as_str() == "map"; let ty = cx.tables.expr_ty(&args[0]); @@ -75,7 +75,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MapClone { } } }, - hir::ExprKind::MethodCall(ref method, _, ref obj) => { + hir::ExprKind::MethodCall(ref method, _, ref obj, _) => { if ident_eq(name, &obj[0]) && method.ident.as_str() == "clone" && match_trait_method(cx, closure_expr, &paths::CLONE_TRAIT) { diff --git a/clippy_lints/src/map_unit_fn.rs b/clippy_lints/src/map_unit_fn.rs index fecd91c7814dc..8f4b674c04f49 100644 --- a/clippy_lints/src/map_unit_fn.rs +++ b/clippy_lints/src/map_unit_fn.rs @@ -125,7 +125,7 @@ fn reduce_unit_expression<'a>(cx: &LateContext<'_, '_>, expr: &'a hir::Expr<'_>) } match expr.kind { - hir::ExprKind::Call(_, _) | hir::ExprKind::MethodCall(_, _, _) => { + hir::ExprKind::Call(_, _) | hir::ExprKind::MethodCall(_, _, _, _) => { // Calls can't be reduced any more Some(expr.span) }, diff --git a/clippy_lints/src/methods/mod.rs b/clippy_lints/src/methods/mod.rs index 214cf0c130f21..f25a9782813bb 100644 --- a/clippy_lints/src/methods/mod.rs +++ b/clippy_lints/src/methods/mod.rs @@ -1429,7 +1429,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Methods { } match expr.kind { - hir::ExprKind::MethodCall(ref method_call, ref method_span, ref args) => { + hir::ExprKind::MethodCall(ref method_call, ref method_span, ref args, _) => { lint_or_fun_call(cx, expr, *method_span, &method_call.ident.as_str(), args); lint_expect_fun_call(cx, expr, *method_span, &method_call.ident.as_str(), args); @@ -1677,7 +1677,7 @@ fn lint_or_fun_call<'a, 'tcx>( or_has_args: bool, span: Span, ) { - if let hir::ExprKind::MethodCall(ref path, _, ref args) = &arg.kind { + if let hir::ExprKind::MethodCall(ref path, _, ref args, _) = &arg.kind { if path.ident.as_str() == "len" { let ty = walk_ptrs_ty(cx.tables.expr_ty(&args[0])); @@ -1751,7 +1751,7 @@ fn lint_or_fun_call<'a, 'tcx>( ); } }, - hir::ExprKind::MethodCall(_, span, ref or_args) => check_general_case( + hir::ExprKind::MethodCall(_, span, ref or_args, _) => check_general_case( cx, name, method_span, @@ -1782,7 +1782,7 @@ fn lint_expect_fun_call( loop { arg_root = match &arg_root.kind { hir::ExprKind::AddrOf(hir::BorrowKind::Ref, _, expr) => expr, - hir::ExprKind::MethodCall(method_name, _, call_args) => { + hir::ExprKind::MethodCall(method_name, _, call_args, _) => { if call_args.len() == 1 && (method_name.ident.name == sym!(as_str) || method_name.ident.name == sym!(as_ref)) && { @@ -2002,7 +2002,7 @@ fn lint_clone_on_copy(cx: &LateContext<'_, '_>, expr: &hir::Expr<'_>, arg: &hir: // &*x is a nop, &x.clone() is not hir::ExprKind::AddrOf(..) => return, // (*x).func() is useless, x.clone().func() can work in case func borrows mutably - hir::ExprKind::MethodCall(_, _, parent_args) if expr.hir_id == parent_args[0].hir_id => return, + hir::ExprKind::MethodCall(_, _, parent_args, _) if expr.hir_id == parent_args[0].hir_id => return, _ => {}, }, @@ -2478,7 +2478,7 @@ fn derefs_to_slice<'a, 'tcx>( } } - if let hir::ExprKind::MethodCall(ref path, _, ref args) = expr.kind { + if let hir::ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind { if path.ident.name == sym!(iter) && may_slice(cx, cx.tables.expr_ty(&args[0])) { Some(&args[0]) } else { @@ -3182,7 +3182,7 @@ fn lint_asref(cx: &LateContext<'_, '_>, expr: &hir::Expr<'_>, call_name: &str, a // allow the `as_ref` or `as_mut` if it is followed by another method call if_chain! { if let Some(parent) = get_parent_expr(cx, expr); - if let hir::ExprKind::MethodCall(_, ref span, _) = parent.kind; + if let hir::ExprKind::MethodCall(_, ref span, _, _) = parent.kind; if span != &expr.span; then { return; @@ -3310,7 +3310,7 @@ fn lint_option_as_ref_deref<'a, 'tcx>( let closure_expr = remove_blocks(&closure_body.value); match &closure_expr.kind { - hir::ExprKind::MethodCall(_, _, args) => { + hir::ExprKind::MethodCall(_, _, args, _) => { if_chain! { if args.len() == 1; if let hir::ExprKind::Path(qpath) = &args[0].kind; diff --git a/clippy_lints/src/misc.rs b/clippy_lints/src/misc.rs index f513161bbbc52..a0947608e6077 100644 --- a/clippy_lints/src/misc.rs +++ b/clippy_lints/src/misc.rs @@ -545,7 +545,7 @@ fn is_signum(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { } if_chain! { - if let ExprKind::MethodCall(ref method_name, _, ref expressions) = expr.kind; + if let ExprKind::MethodCall(ref method_name, _, ref expressions, _) = expr.kind; if sym!(signum) == method_name.ident.name; // Check that the receiver of the signum() is a float (expressions[0] is the receiver of // the method call) @@ -572,7 +572,7 @@ fn is_array(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool { fn check_to_owned(cx: &LateContext<'_, '_>, expr: &Expr<'_>, other: &Expr<'_>) { let (arg_ty, snip) = match expr.kind { - ExprKind::MethodCall(.., ref args) if args.len() == 1 => { + ExprKind::MethodCall(.., ref args, _) if args.len() == 1 => { if match_trait_method(cx, expr, &paths::TO_STRING) || match_trait_method(cx, expr, &paths::TO_OWNED) { (cx.tables.expr_ty_adjusted(&args[0]), snippet(cx, args[0].span, "..")) } else { diff --git a/clippy_lints/src/mut_reference.rs b/clippy_lints/src/mut_reference.rs index 58a8e1a1064ae..7fcf15f8acbe8 100644 --- a/clippy_lints/src/mut_reference.rs +++ b/clippy_lints/src/mut_reference.rs @@ -42,7 +42,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnnecessaryMutPassed { ); } }, - ExprKind::MethodCall(ref path, _, ref arguments) => { + ExprKind::MethodCall(ref path, _, ref arguments, _) => { let def_id = cx.tables.type_dependent_def_id(e.hir_id).unwrap(); let substs = cx.tables.node_substs(e.hir_id); let method_type = cx.tcx.type_of(def_id).subst(cx.tcx, substs); diff --git a/clippy_lints/src/open_options.rs b/clippy_lints/src/open_options.rs index 9d3b67988dbb5..2d4629b683f05 100644 --- a/clippy_lints/src/open_options.rs +++ b/clippy_lints/src/open_options.rs @@ -29,7 +29,7 @@ declare_lint_pass!(OpenOptions => [NONSENSICAL_OPEN_OPTIONS]); impl<'a, 'tcx> LateLintPass<'a, 'tcx> for OpenOptions { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, e: &'tcx Expr<'_>) { - if let ExprKind::MethodCall(ref path, _, ref arguments) = e.kind { + if let ExprKind::MethodCall(ref path, _, ref arguments, _) = e.kind { let obj_ty = walk_ptrs_ty(cx.tables.expr_ty(&arguments[0])); if path.ident.name == sym!(open) && match_type(cx, obj_ty, &paths::OPEN_OPTIONS) { let mut options = Vec::new(); @@ -57,7 +57,7 @@ enum OpenOption { } fn get_open_options(cx: &LateContext<'_, '_>, argument: &Expr<'_>, options: &mut Vec<(OpenOption, Argument)>) { - if let ExprKind::MethodCall(ref path, _, ref arguments) = argument.kind { + if let ExprKind::MethodCall(ref path, _, ref arguments, _) = argument.kind { let obj_ty = walk_ptrs_ty(cx.tables.expr_ty(&arguments[0])); // Only proceed if this is a call on some object of type std::fs::OpenOptions diff --git a/clippy_lints/src/option_env_unwrap.rs b/clippy_lints/src/option_env_unwrap.rs index 66dfa20edb5e7..fd653044a1bcb 100644 --- a/clippy_lints/src/option_env_unwrap.rs +++ b/clippy_lints/src/option_env_unwrap.rs @@ -35,7 +35,7 @@ declare_lint_pass!(OptionEnvUnwrap => [OPTION_ENV_UNWRAP]); impl EarlyLintPass for OptionEnvUnwrap { fn check_expr(&mut self, cx: &EarlyContext<'_>, expr: &Expr) { if_chain! { - if let ExprKind::MethodCall(path_segment, args) = &expr.kind; + if let ExprKind::MethodCall(path_segment, args, _) = &expr.kind; let method_name = path_segment.ident.as_str(); if method_name == "expect" || method_name == "unwrap"; if let ExprKind::Call(caller, _) = &args[0].kind; diff --git a/clippy_lints/src/path_buf_push_overwrite.rs b/clippy_lints/src/path_buf_push_overwrite.rs index bdbaf2695c8ef..88ad1e0914f25 100644 --- a/clippy_lints/src/path_buf_push_overwrite.rs +++ b/clippy_lints/src/path_buf_push_overwrite.rs @@ -43,7 +43,7 @@ declare_lint_pass!(PathBufPushOverwrite => [PATH_BUF_PUSH_OVERWRITE]); impl<'a, 'tcx> LateLintPass<'a, 'tcx> for PathBufPushOverwrite { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { if_chain! { - if let ExprKind::MethodCall(ref path, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind; if path.ident.name == sym!(push); if args.len() == 2; if match_type(cx, walk_ptrs_ty(cx.tables.expr_ty(&args[0])), &paths::PATH_BUF); diff --git a/clippy_lints/src/precedence.rs b/clippy_lints/src/precedence.rs index cc783baa68723..7dce23dd22306 100644 --- a/clippy_lints/src/precedence.rs +++ b/clippy_lints/src/precedence.rs @@ -103,7 +103,7 @@ impl EarlyLintPass for Precedence { } if let ExprKind::Unary(UnOp::Neg, ref rhs) = expr.kind { - if let ExprKind::MethodCall(ref path_segment, ref args) = rhs.kind { + if let ExprKind::MethodCall(ref path_segment, ref args, _) = rhs.kind { let path_segment_str = path_segment.ident.name.as_str(); if let Some(slf) = args.first() { if let ExprKind::Lit(ref lit) = slf.kind { diff --git a/clippy_lints/src/ptr_offset_with_cast.rs b/clippy_lints/src/ptr_offset_with_cast.rs index ffc59d43750e0..d23d7e59b73fc 100644 --- a/clippy_lints/src/ptr_offset_with_cast.rs +++ b/clippy_lints/src/ptr_offset_with_cast.rs @@ -90,7 +90,7 @@ fn expr_as_ptr_offset_call<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>, ) -> Option<(&'tcx Expr<'tcx>, &'tcx Expr<'tcx>, Method)> { - if let ExprKind::MethodCall(ref path_segment, _, ref args) = expr.kind { + if let ExprKind::MethodCall(ref path_segment, _, ref args, _) = expr.kind { if is_expr_ty_raw_ptr(cx, &args[0]) { if path_segment.ident.name == sym!(offset) { return Some((&args[0], &args[1], Method::Offset)); diff --git a/clippy_lints/src/question_mark.rs b/clippy_lints/src/question_mark.rs index e4361b00fb4c2..3591972fe082f 100644 --- a/clippy_lints/src/question_mark.rs +++ b/clippy_lints/src/question_mark.rs @@ -50,7 +50,7 @@ impl QuestionMark { fn check_is_none_and_early_return_none(cx: &LateContext<'_, '_>, expr: &Expr<'_>) { if_chain! { if let Some((if_expr, body, else_)) = higher::if_block(&expr); - if let ExprKind::MethodCall(segment, _, args) = &if_expr.kind; + if let ExprKind::MethodCall(segment, _, args, _) = &if_expr.kind; if segment.ident.name == sym!(is_none); if Self::expression_returns_none(cx, body); if let Some(subject) = args.get(0); diff --git a/clippy_lints/src/ranges.rs b/clippy_lints/src/ranges.rs index 52e540d4e00db..fcd02a196e7bf 100644 --- a/clippy_lints/src/ranges.rs +++ b/clippy_lints/src/ranges.rs @@ -129,20 +129,20 @@ declare_lint_pass!(Ranges => [ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for Ranges { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { - if let ExprKind::MethodCall(ref path, _, ref args) = expr.kind { + if let ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind { let name = path.ident.as_str(); if name == "zip" && args.len() == 2 { let iter = &args[0].kind; let zip_arg = &args[1]; if_chain! { // `.iter()` call - if let ExprKind::MethodCall(ref iter_path, _, ref iter_args ) = *iter; + if let ExprKind::MethodCall(ref iter_path, _, ref iter_args , _) = *iter; if iter_path.ident.name == sym!(iter); // range expression in `.zip()` call: `0..x.len()` if let Some(higher::Range { start: Some(start), end: Some(end), .. }) = higher::range(cx, zip_arg); if is_integer_const(cx, start, 0); // `.len()` call - if let ExprKind::MethodCall(ref len_path, _, ref len_args) = end.kind; + if let ExprKind::MethodCall(ref len_path, _, ref len_args, _) = end.kind; if len_path.ident.name == sym!(len) && len_args.len() == 1; // `.iter()` and `.len()` called on same `Path` if let ExprKind::Path(QPath::Resolved(_, ref iter_path)) = iter_args[0].kind; diff --git a/clippy_lints/src/redundant_pattern_matching.rs b/clippy_lints/src/redundant_pattern_matching.rs index 7ee298e9833f2..f16b916441ae8 100644 --- a/clippy_lints/src/redundant_pattern_matching.rs +++ b/clippy_lints/src/redundant_pattern_matching.rs @@ -89,7 +89,7 @@ fn find_sugg_for_if_let<'a, 'tcx>( // check that `while_let_on_iterator` lint does not trigger if_chain! { if keyword == "while"; - if let ExprKind::MethodCall(method_path, _, _) = op.kind; + if let ExprKind::MethodCall(method_path, _, _, _) = op.kind; if method_path.ident.name == sym!(next); if match_trait_method(cx, op, &paths::ITERATOR); then { diff --git a/clippy_lints/src/slow_vector_initialization.rs b/clippy_lints/src/slow_vector_initialization.rs index a7c4f2c2291f1..44c9cc19cfb4e 100644 --- a/clippy_lints/src/slow_vector_initialization.rs +++ b/clippy_lints/src/slow_vector_initialization.rs @@ -207,7 +207,7 @@ impl<'a, 'tcx> VectorInitializationVisitor<'a, 'tcx> { fn search_slow_extend_filling(&mut self, expr: &'tcx Expr<'_>) { if_chain! { if self.initialization_found; - if let ExprKind::MethodCall(ref path, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind; if let ExprKind::Path(ref qpath_subj) = args[0].kind; if match_qpath(&qpath_subj, &[&*self.vec_alloc.variable_name.as_str()]); if path.ident.name == sym!(extend); @@ -224,7 +224,7 @@ impl<'a, 'tcx> VectorInitializationVisitor<'a, 'tcx> { fn search_slow_resize_filling(&mut self, expr: &'tcx Expr<'_>) { if_chain! { if self.initialization_found; - if let ExprKind::MethodCall(ref path, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind; if let ExprKind::Path(ref qpath_subj) = args[0].kind; if match_qpath(&qpath_subj, &[&*self.vec_alloc.variable_name.as_str()]); if path.ident.name == sym!(resize); @@ -246,7 +246,7 @@ impl<'a, 'tcx> VectorInitializationVisitor<'a, 'tcx> { /// Returns `true` if give expression is `repeat(0).take(...)` fn is_repeat_take(&self, expr: &Expr<'_>) -> bool { if_chain! { - if let ExprKind::MethodCall(ref take_path, _, ref take_args) = expr.kind; + if let ExprKind::MethodCall(ref take_path, _, ref take_args, _) = expr.kind; if take_path.ident.name == sym!(take); // Check that take is applied to `repeat(0)` diff --git a/clippy_lints/src/strings.rs b/clippy_lints/src/strings.rs index f84566ef707a8..d8e4bff3d702a 100644 --- a/clippy_lints/src/strings.rs +++ b/clippy_lints/src/strings.rs @@ -164,7 +164,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for StringLitAsBytes { use rustc_ast::ast::LitKind; if_chain! { - if let ExprKind::MethodCall(path, _, args) = &e.kind; + if let ExprKind::MethodCall(path, _, args, _) = &e.kind; if path.ident.name == sym!(as_bytes); if let ExprKind::Lit(lit) = &args[0].kind; if let LitKind::Str(lit_content, _) = &lit.node; diff --git a/clippy_lints/src/to_digit_is_some.rs b/clippy_lints/src/to_digit_is_some.rs index c6302ca03d918..4f132c6db76fa 100644 --- a/clippy_lints/src/to_digit_is_some.rs +++ b/clippy_lints/src/to_digit_is_some.rs @@ -34,12 +34,12 @@ declare_lint_pass!(ToDigitIsSome => [TO_DIGIT_IS_SOME]); impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ToDigitIsSome { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx hir::Expr<'_>) { if_chain! { - if let hir::ExprKind::MethodCall(is_some_path, _, is_some_args) = &expr.kind; + if let hir::ExprKind::MethodCall(is_some_path, _, is_some_args, _) = &expr.kind; if is_some_path.ident.name.as_str() == "is_some"; if let [to_digit_expr] = &**is_some_args; then { let match_result = match &to_digit_expr.kind { - hir::ExprKind::MethodCall(to_digits_path, _, to_digit_args) => { + hir::ExprKind::MethodCall(to_digits_path, _, to_digit_args, _) => { if_chain! { if let [char_arg, radix_arg] = &**to_digit_args; if to_digits_path.ident.name.as_str() == "to_digit"; diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index bc5fe44b30f8f..57d5b27df5741 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -778,7 +778,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnitArg { } match expr.kind { - ExprKind::Call(_, args) | ExprKind::MethodCall(_, _, args) => { + ExprKind::Call(_, args) | ExprKind::MethodCall(_, _, args, _) => { let args_to_recover = args .iter() .filter(|arg| { @@ -1262,14 +1262,14 @@ fn check_loss_of_sign(cx: &LateContext<'_, '_>, expr: &Expr<'_>, op: &Expr<'_>, } // don't lint for the result of methods that always return non-negative values - if let ExprKind::MethodCall(ref path, _, _) = op.kind { + if let ExprKind::MethodCall(ref path, _, _, _) = op.kind { let mut method_name = path.ident.name.as_str(); let whitelisted_methods = ["abs", "checked_abs", "rem_euclid", "checked_rem_euclid"]; if_chain! { if method_name == "unwrap"; if let Some(arglist) = method_chain_args(op, &["unwrap"]); - if let ExprKind::MethodCall(ref inner_path, _, _) = &arglist[0][0].kind; + if let ExprKind::MethodCall(ref inner_path, _, _, _) = &arglist[0][0].kind; then { method_name = inner_path.ident.name.as_str(); } diff --git a/clippy_lints/src/unused_io_amount.rs b/clippy_lints/src/unused_io_amount.rs index b85134e3d7a9a..5f4b5fd9dd91c 100644 --- a/clippy_lints/src/unused_io_amount.rs +++ b/clippy_lints/src/unused_io_amount.rs @@ -52,7 +52,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnusedIoAmount { } }, - hir::ExprKind::MethodCall(ref path, _, ref args) => match &*path.ident.as_str() { + hir::ExprKind::MethodCall(ref path, _, ref args, _) => match &*path.ident.as_str() { "expect" | "unwrap" | "unwrap_or" | "unwrap_or_else" => { check_method_call(cx, &args[0], expr); }, @@ -65,7 +65,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UnusedIoAmount { } fn check_method_call(cx: &LateContext<'_, '_>, call: &hir::Expr<'_>, expr: &hir::Expr<'_>) { - if let hir::ExprKind::MethodCall(ref path, _, _) = call.kind { + if let hir::ExprKind::MethodCall(ref path, _, _, _) = call.kind { let symbol = &*path.ident.as_str(); let read_trait = match_trait_method(cx, call, &paths::IO_READ); let write_trait = match_trait_method(cx, call, &paths::IO_WRITE); diff --git a/clippy_lints/src/unwrap.rs b/clippy_lints/src/unwrap.rs index 036dd16a224af..a6c7b5d405cda 100644 --- a/clippy_lints/src/unwrap.rs +++ b/clippy_lints/src/unwrap.rs @@ -112,7 +112,7 @@ fn collect_unwrap_info<'a, 'tcx>( return collect_unwrap_info(cx, expr, branch, !invert); } else { if_chain! { - if let ExprKind::MethodCall(method_name, _, args) = &expr.kind; + if let ExprKind::MethodCall(method_name, _, args, _) = &expr.kind; if let ExprKind::Path(QPath::Resolved(None, path)) = &args[0].kind; let ty = cx.tables.expr_ty(&args[0]); let name = method_name.ident.as_str(); @@ -166,7 +166,7 @@ impl<'a, 'tcx> Visitor<'tcx> for UnwrappableVariablesVisitor<'a, 'tcx> { } else { // find `unwrap[_err]()` calls: if_chain! { - if let ExprKind::MethodCall(ref method_name, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref method_name, _, ref args, _) = expr.kind; if let ExprKind::Path(QPath::Resolved(None, ref path)) = args[0].kind; if [sym!(unwrap), sym!(unwrap_err)].contains(&method_name.ident.name); let call_to_unwrap = method_name.ident.name == sym!(unwrap); diff --git a/clippy_lints/src/useless_conversion.rs b/clippy_lints/src/useless_conversion.rs index 141035a980ade..78d249482d53d 100644 --- a/clippy_lints/src/useless_conversion.rs +++ b/clippy_lints/src/useless_conversion.rs @@ -61,7 +61,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for UselessConversion { } }, - ExprKind::MethodCall(ref name, .., ref args) => { + ExprKind::MethodCall(ref name, .., ref args, _) => { if match_trait_method(cx, e, &paths::INTO) && &*name.ident.as_str() == "into" { let a = cx.tables.expr_ty(e); let b = cx.tables.expr_ty(&args[0]); diff --git a/clippy_lints/src/utils/author.rs b/clippy_lints/src/utils/author.rs index bbcf396eef7d6..8b58bbb5e6575 100644 --- a/clippy_lints/src/utils/author.rs +++ b/clippy_lints/src/utils/author.rs @@ -250,8 +250,8 @@ impl<'tcx> Visitor<'tcx> for PrintVisitor { self.visit_expr(arg); } }, - ExprKind::MethodCall(ref _method_name, ref _generics, ref _args) => { - println!("MethodCall(ref method_name, ref generics, ref args) = {};", current); + ExprKind::MethodCall(ref _method_name, ref _generics, ref _args, ref _fn_span) => { + println!("MethodCall(ref method_name, ref generics, ref args, ref fn_span) = {};", current); println!(" // unimplemented: `ExprKind::MethodCall` is not further destructured at the moment"); }, ExprKind::Tup(ref elements) => { diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs index f8d197c15e8d6..473a730dad500 100644 --- a/clippy_lints/src/utils/hir_utils.rs +++ b/clippy_lints/src/utils/hir_utils.rs @@ -132,7 +132,7 @@ impl<'a, 'tcx> SpanlessEq<'a, 'tcx> { && self.eq_pat(&l.pat, &r.pat) }) }, - (&ExprKind::MethodCall(l_path, _, l_args), &ExprKind::MethodCall(r_path, _, r_args)) => { + (&ExprKind::MethodCall(l_path, _, l_args, _), &ExprKind::MethodCall(r_path, _, r_args, _)) => { !self.ignore_fn && self.eq_path_segment(l_path, r_path) && self.eq_exprs(l_args, r_args) }, (&ExprKind::Repeat(ref le, ref ll_id), &ExprKind::Repeat(ref re, ref rl_id)) => { @@ -542,7 +542,7 @@ impl<'a, 'tcx> SpanlessHash<'a, 'tcx> { s.hash(&mut self.s); }, - ExprKind::MethodCall(ref path, ref _tys, args) => { + ExprKind::MethodCall(ref path, ref _tys, args, ref _fn_span) => { self.hash_name(path.ident.name); self.hash_exprs(args); }, diff --git a/clippy_lints/src/utils/inspector.rs b/clippy_lints/src/utils/inspector.rs index 9b672b9ec225b..649b166e98eec 100644 --- a/clippy_lints/src/utils/inspector.rs +++ b/clippy_lints/src/utils/inspector.rs @@ -167,7 +167,7 @@ fn print_expr(cx: &LateContext<'_, '_>, expr: &hir::Expr<'_>, indent: usize) { print_expr(cx, arg, indent + 1); } }, - hir::ExprKind::MethodCall(ref path, _, args) => { + hir::ExprKind::MethodCall(ref path, _, args, _) => { println!("{}MethodCall", ind); println!("{}method name: {}", ind, path.ident.name); for arg in args { diff --git a/clippy_lints/src/utils/internal_lints.rs b/clippy_lints/src/utils/internal_lints.rs index 8e1b047f6f80a..89e2bcdd7935d 100644 --- a/clippy_lints/src/utils/internal_lints.rs +++ b/clippy_lints/src/utils/internal_lints.rs @@ -402,7 +402,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for CompilerLintFunctions { } if_chain! { - if let ExprKind::MethodCall(ref path, _, ref args) = expr.kind; + if let ExprKind::MethodCall(ref path, _, ref args, _) = expr.kind; let fn_name = path.ident; if let Some(sugg) = self.map.get(&*fn_name.as_str()); let ty = walk_ptrs_ty(cx.tables.expr_ty(&args[0])); @@ -491,7 +491,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for CollapsibleCalls { let stmts = &block.stmts; if stmts.len() == 1 && block.expr.is_none(); if let StmtKind::Semi(only_expr) = &stmts[0].kind; - if let ExprKind::MethodCall(ref ps, _, ref span_call_args) = &only_expr.kind; + if let ExprKind::MethodCall(ref ps, _, ref span_call_args, _) = &only_expr.kind; let and_then_snippets = get_and_then_snippets(cx, and_then_args); let mut sle = SpanlessEq::new(cx).ignore_fn(); then { diff --git a/clippy_lints/src/utils/mod.rs b/clippy_lints/src/utils/mod.rs index 7b59917c2bbfc..60ab19e71f5e4 100644 --- a/clippy_lints/src/utils/mod.rs +++ b/clippy_lints/src/utils/mod.rs @@ -379,7 +379,7 @@ pub fn method_calls<'tcx>( let mut current = expr; for _ in 0..max_depth { - if let ExprKind::MethodCall(path, span, args) = ¤t.kind { + if let ExprKind::MethodCall(path, span, args, _) = ¤t.kind { if args.iter().any(|e| e.span.from_expansion()) { break; } @@ -406,7 +406,7 @@ pub fn method_chain_args<'a>(expr: &'a Expr<'_>, methods: &[&str]) -> Option first - if let ExprKind::MethodCall(ref path, _, ref args) = current.kind { + if let ExprKind::MethodCall(ref path, _, ref args, _) = current.kind { if path.ident.name.as_str() == *method_name { if args.iter().any(|e| e.span.from_expansion()) { return None; @@ -1324,7 +1324,7 @@ pub fn is_must_use_func_call(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> bool None } }, - ExprKind::MethodCall(_, _, _) => cx.tables.type_dependent_def_id(expr.hir_id), + ExprKind::MethodCall(_, _, _, _) => cx.tables.type_dependent_def_id(expr.hir_id), _ => None, }; diff --git a/clippy_lints/src/utils/ptr.rs b/clippy_lints/src/utils/ptr.rs index fb6bd5e815859..ee336ecc58d95 100644 --- a/clippy_lints/src/utils/ptr.rs +++ b/clippy_lints/src/utils/ptr.rs @@ -58,7 +58,7 @@ impl<'a, 'tcx> Visitor<'tcx> for PtrCloneVisitor<'a, 'tcx> { if self.abort { return; } - if let ExprKind::MethodCall(ref seg, _, ref args) = expr.kind { + if let ExprKind::MethodCall(ref seg, _, ref args, _) = expr.kind { if args.len() == 1 && match_var(&args[0], self.name) { if seg.ident.name.as_str() == "capacity" { self.abort = true; diff --git a/clippy_lints/src/verbose_file_reads.rs b/clippy_lints/src/verbose_file_reads.rs index 7247518e19b9d..6d420d491c50f 100644 --- a/clippy_lints/src/verbose_file_reads.rs +++ b/clippy_lints/src/verbose_file_reads.rs @@ -59,7 +59,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for VerboseFileReads { fn is_file_read_to_end<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'tcx>) -> bool { if_chain! { - if let ExprKind::MethodCall(method_name, _, exprs) = expr.kind; + if let ExprKind::MethodCall(method_name, _, exprs, _) = expr.kind; if method_name.ident.as_str() == "read_to_end"; if let ExprKind::Path(QPath::Resolved(None, _)) = &exprs[0].kind; let ty = cx.tables.expr_ty(&exprs[0]); @@ -73,7 +73,7 @@ fn is_file_read_to_end<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'t fn is_file_read_to_string<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'tcx>) -> bool { if_chain! { - if let ExprKind::MethodCall(method_name, _, exprs) = expr.kind; + if let ExprKind::MethodCall(method_name, _, exprs, _) = expr.kind; if method_name.ident.as_str() == "read_to_string"; if let ExprKind::Path(QPath::Resolved(None, _)) = &exprs[0].kind; let ty = cx.tables.expr_ty(&exprs[0]); From e2e2a0fa832679b16df7d6f5d066c745e2687856 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Tue, 9 Jun 2020 23:45:32 -0400 Subject: [PATCH 16/42] Clippy fixes --- clippy_lints/src/unnecessary_sort_by.rs | 6 +++--- clippy_lints/src/utils/ast_utils.rs | 2 +- clippy_lints/src/vec_resize_to_zero.rs | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/clippy_lints/src/unnecessary_sort_by.rs b/clippy_lints/src/unnecessary_sort_by.rs index 33d8331c2923c..e94eebb88e497 100644 --- a/clippy_lints/src/unnecessary_sort_by.rs +++ b/clippy_lints/src/unnecessary_sort_by.rs @@ -95,7 +95,7 @@ fn mirrored_exprs( // The two exprs are method calls. // Check to see that the function is the same and the arguments are mirrored // This is enough because the receiver of the method is listed in the arguments - (ExprKind::MethodCall(left_segment, _, left_args), ExprKind::MethodCall(right_segment, _, right_args)) => { + (ExprKind::MethodCall(left_segment, _, left_args, _), ExprKind::MethodCall(right_segment, _, right_args, _)) => { left_segment.ident == right_segment.ident && left_args .iter() @@ -170,7 +170,7 @@ fn mirrored_exprs( fn detect_lint(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> Option { if_chain! { - if let ExprKind::MethodCall(name_ident, _, args) = &expr.kind; + if let ExprKind::MethodCall(name_ident, _, args, _) = &expr.kind; if let name = name_ident.ident.name.to_ident_string(); if name == "sort_by" || name == "sort_unstable_by"; if let [vec, Expr { kind: ExprKind::Closure(_, _, closure_body_id, _, _), .. }] = args; @@ -180,7 +180,7 @@ fn detect_lint(cx: &LateContext<'_, '_>, expr: &Expr<'_>) -> Option Param { pat: Pat { kind: PatKind::Binding(_, _, left_ident, _), .. }, ..}, Param { pat: Pat { kind: PatKind::Binding(_, _, right_ident, _), .. }, .. } ] = &closure_body.params; - if let ExprKind::MethodCall(method_path, _, [ref left_expr, ref right_expr]) = &closure_body.value.kind; + if let ExprKind::MethodCall(method_path, _, [ref left_expr, ref right_expr], _) = &closure_body.value.kind; if method_path.ident.name.to_ident_string() == "cmp"; then { let (closure_body, closure_arg, reverse) = if mirrored_exprs( diff --git a/clippy_lints/src/utils/ast_utils.rs b/clippy_lints/src/utils/ast_utils.rs index dcf09da198e2f..e60e2a81e070b 100755 --- a/clippy_lints/src/utils/ast_utils.rs +++ b/clippy_lints/src/utils/ast_utils.rs @@ -120,7 +120,7 @@ pub fn eq_expr(l: &Expr, r: &Expr) -> bool { (Array(l), Array(r)) | (Tup(l), Tup(r)) => over(l, r, |l, r| eq_expr(l, r)), (Repeat(le, ls), Repeat(re, rs)) => eq_expr(le, re) && eq_expr(&ls.value, &rs.value), (Call(lc, la), Call(rc, ra)) => eq_expr(lc, rc) && over(la, ra, |l, r| eq_expr(l, r)), - (MethodCall(lc, la), MethodCall(rc, ra)) => eq_path_seg(lc, rc) && over(la, ra, |l, r| eq_expr(l, r)), + (MethodCall(lc, la, _), MethodCall(rc, ra, _)) => eq_path_seg(lc, rc) && over(la, ra, |l, r| eq_expr(l, r)), (Binary(lo, ll, lr), Binary(ro, rl, rr)) => lo.node == ro.node && eq_expr(ll, rl) && eq_expr(lr, rr), (Unary(lo, l), Unary(ro, r)) => mem::discriminant(lo) == mem::discriminant(ro) && eq_expr(l, r), (Lit(l), Lit(r)) => l.kind == r.kind, diff --git a/clippy_lints/src/vec_resize_to_zero.rs b/clippy_lints/src/vec_resize_to_zero.rs index 86cbfa8203d54..55758efa32e67 100644 --- a/clippy_lints/src/vec_resize_to_zero.rs +++ b/clippy_lints/src/vec_resize_to_zero.rs @@ -31,7 +31,7 @@ declare_lint_pass!(VecResizeToZero => [VEC_RESIZE_TO_ZERO]); impl<'a, 'tcx> LateLintPass<'a, 'tcx> for VecResizeToZero { fn check_expr(&mut self, cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_>) { if_chain! { - if let hir::ExprKind::MethodCall(path_segment, _, ref args) = expr.kind; + if let hir::ExprKind::MethodCall(path_segment, _, ref args, _) = expr.kind; if let Some(method_def_id) = cx.tables.type_dependent_def_id(expr.hir_id); if match_def_path(cx, method_def_id, &paths::VEC_RESIZE) && args.len() == 3; if let ExprKind::Lit(Spanned { node: LitKind::Int(0, _), .. }) = args[1].kind; From 56f25e3e62dbdd8f84a9152bbfb73a35055363dd Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 10 Jun 2020 19:29:11 -0700 Subject: [PATCH 17/42] Downgrade unnested_or_patterns to pedantic --- clippy_lints/src/lib.rs | 3 +-- clippy_lints/src/unnested_or_patterns.rs | 2 +- src/lintlist/mod.rs | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 021fbe932d895..19e1b00050a67 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -1187,6 +1187,7 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&types::OPTION_OPTION), LintId::of(&unicode::NON_ASCII_LITERAL), LintId::of(&unicode::UNICODE_NOT_NFC), + LintId::of(&unnested_or_patterns::UNNESTED_OR_PATTERNS), LintId::of(&unused_self::UNUSED_SELF), LintId::of(&wildcard_imports::ENUM_GLOB_USE), LintId::of(&wildcard_imports::WILDCARD_IMPORTS), @@ -1440,7 +1441,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&unnamed_address::FN_ADDRESS_COMPARISONS), LintId::of(&unnamed_address::VTABLE_ADDRESS_COMPARISONS), LintId::of(&unnecessary_sort_by::UNNECESSARY_SORT_BY), - LintId::of(&unnested_or_patterns::UNNESTED_OR_PATTERNS), LintId::of(&unsafe_removed_from_name::UNSAFE_REMOVED_FROM_NAME), LintId::of(&unused_io_amount::UNUSED_IO_AMOUNT), LintId::of(&unwrap::PANICKING_UNWRAP), @@ -1624,7 +1624,6 @@ pub fn register_plugins(store: &mut rustc_lint::LintStore, sess: &Session, conf: LintId::of(&types::UNNECESSARY_CAST), LintId::of(&types::VEC_BOX), LintId::of(&unnecessary_sort_by::UNNECESSARY_SORT_BY), - LintId::of(&unnested_or_patterns::UNNESTED_OR_PATTERNS), LintId::of(&unwrap::UNNECESSARY_UNWRAP), LintId::of(&useless_conversion::USELESS_CONVERSION), LintId::of(&zero_div_zero::ZERO_DIVIDED_BY_ZERO), diff --git a/clippy_lints/src/unnested_or_patterns.rs b/clippy_lints/src/unnested_or_patterns.rs index 8c281126c32bf..4d3682263f14f 100644 --- a/clippy_lints/src/unnested_or_patterns.rs +++ b/clippy_lints/src/unnested_or_patterns.rs @@ -45,7 +45,7 @@ declare_clippy_lint! { /// } /// ``` pub UNNESTED_OR_PATTERNS, - complexity, + pedantic, "unnested or-patterns, e.g., `Foo(Bar) | Foo(Baz) instead of `Foo(Bar | Baz)`" } diff --git a/src/lintlist/mod.rs b/src/lintlist/mod.rs index cac3cc6bdb316..edceb75518008 100644 --- a/src/lintlist/mod.rs +++ b/src/lintlist/mod.rs @@ -2329,7 +2329,7 @@ pub static ref ALL_LINTS: Vec = vec![ }, Lint { name: "unnested_or_patterns", - group: "complexity", + group: "pedantic", desc: "unnested or-patterns, e.g., `Foo(Bar) | Foo(Baz) instead of `Foo(Bar | Baz)`", deprecation: None, module: "unnested_or_patterns", From 840786a93976d5885bfe6c7878cecc99e4a56432 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Mon, 1 Jun 2020 00:22:29 +0200 Subject: [PATCH 18/42] clippy-driver: pass all args after "--rustc" to rustc. --- src/driver.rs | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/driver.rs b/src/driver.rs index 4453ae5ce4414..1956effa827b3 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -297,12 +297,6 @@ pub fn main() { exit(rustc_driver::catch_with_exit_code(move || { let mut orig_args: Vec = env::args().collect(); - if orig_args.iter().any(|a| a == "--version" || a == "-V") { - let version_info = rustc_tools_util::get_version_info!(); - println!("{}", version_info); - exit(0); - } - // Get the sysroot, looking from most specific to this invocation to the least: // - command line // - runtime environment @@ -348,6 +342,29 @@ pub fn main() { .map(|pb| pb.to_string_lossy().to_string()) .expect("need to specify SYSROOT env var during clippy compilation, or use rustup or multirust"); + // make "clippy-driver --rustc" work like a subcommand that passes further args to "rustc" + // for example `clippy-driver --rustc --version` will print the rustc version that clippy-driver + // uses + if let Some(pos) = orig_args.iter().position(|arg| arg == "--rustc") { + orig_args.remove(pos); + orig_args[0] = "rustc".to_string(); + + // if we call "rustc", we need to pass --sysroot here as well + let mut args: Vec = orig_args.clone(); + if !have_sys_root_arg { + args.extend(vec!["--sysroot".into(), sys_root]); + }; + + println!("args: {:?}", args); + return rustc_driver::run_compiler(&args, &mut DefaultCallbacks, None, None); + } + + if orig_args.iter().any(|a| a == "--version" || a == "-V") { + let version_info = rustc_tools_util::get_version_info!(); + println!("{}", version_info); + exit(0); + } + // Setting RUSTC_WRAPPER causes Cargo to pass 'rustc' as the first argument. // We're invoking the compiler programmatically, so we ignore this/ let wrapper_mode = orig_args.get(1).map(Path::new).and_then(Path::file_stem) == Some("rustc".as_ref()); From 88ab10400b81338782c729e4193e47cd3ef1cab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Tue, 2 Jun 2020 14:50:44 +0200 Subject: [PATCH 19/42] add test and remove debug print --- .github/driver.sh | 5 +++++ src/driver.rs | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/driver.sh b/.github/driver.sh index a2e87f5eb3745..c797bdb14db87 100644 --- a/.github/driver.sh +++ b/.github/driver.sh @@ -26,4 +26,9 @@ unset CARGO_MANIFEST_DIR sed -e "s,tests/ui,\$DIR," -e "/= help/d" cstring.stderr > normalized.stderr diff normalized.stderr tests/ui/cstring.stderr + +# make sure "clippy-driver --rustc --arg" and "rustc --arg" behave the same +SYSROOT=`rustc --print sysroot` +diff <(LD_LIBRARY_PATH=${SYSROOT}/lib ./target/debug/clippy-driver --rustc --version --verbose) <(rustc --version --verbose) + # TODO: CLIPPY_CONF_DIR / CARGO_MANIFEST_DIR diff --git a/src/driver.rs b/src/driver.rs index 1956effa827b3..5ef8d3cf80977 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -355,7 +355,6 @@ pub fn main() { args.extend(vec!["--sysroot".into(), sys_root]); }; - println!("args: {:?}", args); return rustc_driver::run_compiler(&args, &mut DefaultCallbacks, None, None); } From f1d5cd5d13bbd59c21e70e2e728c3db9829cf816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Sun, 7 Jun 2020 16:27:41 +0200 Subject: [PATCH 20/42] add test for compiler output when compiling with rustc/clippy-driver --- .github/driver.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/driver.sh b/.github/driver.sh index c797bdb14db87..f8139f36369c9 100644 --- a/.github/driver.sh +++ b/.github/driver.sh @@ -31,4 +31,9 @@ diff normalized.stderr tests/ui/cstring.stderr SYSROOT=`rustc --print sysroot` diff <(LD_LIBRARY_PATH=${SYSROOT}/lib ./target/debug/clippy-driver --rustc --version --verbose) <(rustc --version --verbose) +# we can't run 2 rustcs on the same file at the same time +CLIPPY=`LD_LIBRARY_PATH=${SYSROOT}/lib ./target/debug/clippy-driver tests/driver/main.rs` +RUSTC=`rustc tests/driver/main.rs` +diff <($CLIPPY) <($RUSTC) + # TODO: CLIPPY_CONF_DIR / CARGO_MANIFEST_DIR From 7a62380fc8f8ca39bc49b8f67a4d4929911cb036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Tue, 9 Jun 2020 13:18:00 +0200 Subject: [PATCH 21/42] clippy-driver: fix test and add --rustc to --help output --- .github/driver.sh | 6 ++++-- src/driver.rs | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/driver.sh b/.github/driver.sh index f8139f36369c9..2c17c4203ae5c 100644 --- a/.github/driver.sh +++ b/.github/driver.sh @@ -31,9 +31,11 @@ diff normalized.stderr tests/ui/cstring.stderr SYSROOT=`rustc --print sysroot` diff <(LD_LIBRARY_PATH=${SYSROOT}/lib ./target/debug/clippy-driver --rustc --version --verbose) <(rustc --version --verbose) + +echo "fn main() {}" > target/driver_test.rs # we can't run 2 rustcs on the same file at the same time -CLIPPY=`LD_LIBRARY_PATH=${SYSROOT}/lib ./target/debug/clippy-driver tests/driver/main.rs` -RUSTC=`rustc tests/driver/main.rs` +CLIPPY=`LD_LIBRARY_PATH=${SYSROOT}/lib ./target/debug/clippy-driver ./target/driver_test.rs --rustc` +RUSTC=`rustc ./target/driver_test.rs` diff <($CLIPPY) <($RUSTC) # TODO: CLIPPY_CONF_DIR / CARGO_MANIFEST_DIR diff --git a/src/driver.rs b/src/driver.rs index 5ef8d3cf80977..6faa5e9fe661f 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -207,6 +207,7 @@ Usage: Common options: -h, --help Print this message + --rustc Pass all args to rustc -V, --version Print version info and exit Other options are the same as `cargo check`. From 857ea16feb6a3891555d032a0ff7d5d7c0e33b32 Mon Sep 17 00:00:00 2001 From: Matthew Jasper Date: Sun, 10 May 2020 12:15:51 +0100 Subject: [PATCH 22/42] Remove associated opaque types They're unused now. --- clippy_lints/src/lifetimes.rs | 2 +- clippy_lints/src/manual_async_fn.rs | 2 +- clippy_lints/src/utils/hir_utils.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/clippy_lints/src/lifetimes.rs b/clippy_lints/src/lifetimes.rs index d80ad47ab2468..318d0b69d57b7 100644 --- a/clippy_lints/src/lifetimes.rs +++ b/clippy_lints/src/lifetimes.rs @@ -379,7 +379,7 @@ impl<'a, 'tcx> Visitor<'tcx> for RefVisitor<'a, 'tcx> { TyKind::Path(ref path) => { self.collect_anonymous_lifetimes(path, ty); }, - TyKind::Def(item, _) => { + TyKind::OpaqueDef(item, _) => { let map = self.cx.tcx.hir(); if let ItemKind::OpaqueTy(ref exist_ty) = map.expect_item(item.id).kind { for bound in exist_ty.bounds { diff --git a/clippy_lints/src/manual_async_fn.rs b/clippy_lints/src/manual_async_fn.rs index cb72a24058234..03ab274d9ca9c 100644 --- a/clippy_lints/src/manual_async_fn.rs +++ b/clippy_lints/src/manual_async_fn.rs @@ -99,7 +99,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for ManualAsyncFn { fn future_trait_ref<'tcx>(cx: &LateContext<'_, 'tcx>, ty: &'tcx Ty<'tcx>) -> Option<&'tcx TraitRef<'tcx>> { if_chain! { - if let TyKind::Def(item_id, _) = ty.kind; + if let TyKind::OpaqueDef(item_id, _) = ty.kind; let item = cx.tcx.hir().item(item_id.id); if let ItemKind::OpaqueTy(opaque) = &item.kind; if opaque.bounds.len() == 1; diff --git a/clippy_lints/src/utils/hir_utils.rs b/clippy_lints/src/utils/hir_utils.rs index f8d197c15e8d6..0096543c1fbca 100644 --- a/clippy_lints/src/utils/hir_utils.rs +++ b/clippy_lints/src/utils/hir_utils.rs @@ -710,7 +710,7 @@ impl<'a, 'tcx> SpanlessHash<'a, 'tcx> { segment.ident.name.hash(&mut self.s); }, }, - TyKind::Def(_, arg_list) => { + TyKind::OpaqueDef(_, arg_list) => { for arg in *arg_list { match arg { GenericArg::Lifetime(ref l) => self.hash_lifetime(l), From af9b09235c674aaa2562c6fc0be18370eb8200bd Mon Sep 17 00:00:00 2001 From: Matthew Jasper Date: Sun, 10 May 2020 15:05:06 +0100 Subject: [PATCH 23/42] Remove ImplItemKind::OpaqueTy from clippy --- clippy_lints/src/missing_doc.rs | 1 - clippy_lints/src/missing_inline.rs | 2 +- clippy_lints/src/utils/inspector.rs | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/clippy_lints/src/missing_doc.rs b/clippy_lints/src/missing_doc.rs index 2eefb6bbaf424..0fd1e87f9e415 100644 --- a/clippy_lints/src/missing_doc.rs +++ b/clippy_lints/src/missing_doc.rs @@ -187,7 +187,6 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MissingDoc { hir::ImplItemKind::Const(..) => "an associated constant", hir::ImplItemKind::Fn(..) => "a method", hir::ImplItemKind::TyAlias(_) => "an associated type", - hir::ImplItemKind::OpaqueTy(_) => "an existential type", }; self.check_missing_docs_attrs(cx, &impl_item.attrs, impl_item.span, desc); } diff --git a/clippy_lints/src/missing_inline.rs b/clippy_lints/src/missing_inline.rs index 3ad3d5aee4d4a..1802470b1841e 100644 --- a/clippy_lints/src/missing_inline.rs +++ b/clippy_lints/src/missing_inline.rs @@ -142,7 +142,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MissingInline { let desc = match impl_item.kind { hir::ImplItemKind::Fn(..) => "a method", - hir::ImplItemKind::Const(..) | hir::ImplItemKind::TyAlias(_) | hir::ImplItemKind::OpaqueTy(_) => return, + hir::ImplItemKind::Const(..) | hir::ImplItemKind::TyAlias(_) => return, }; let def_id = cx.tcx.hir().local_def_id(impl_item.hir_id); diff --git a/clippy_lints/src/utils/inspector.rs b/clippy_lints/src/utils/inspector.rs index 9b672b9ec225b..9a4689631cca0 100644 --- a/clippy_lints/src/utils/inspector.rs +++ b/clippy_lints/src/utils/inspector.rs @@ -63,7 +63,6 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for DeepCodeInspector { }, hir::ImplItemKind::Fn(..) => println!("method"), hir::ImplItemKind::TyAlias(_) => println!("associated type"), - hir::ImplItemKind::OpaqueTy(_) => println!("existential type"), } } // fn check_trait_item(&mut self, cx: &LateContext<'a, 'tcx>, item: &'tcx From b21ef2b365ef4f5c973327f3f6064b8be42d1dae Mon Sep 17 00:00:00 2001 From: Eduardo Broto Date: Sat, 13 Jun 2020 00:52:32 +0200 Subject: [PATCH 24/42] Fix ICE in consts::binop --- clippy_lints/src/consts.rs | 2 +- tests/ui/crashes/ice-5389.rs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 tests/ui/crashes/ice-5389.rs diff --git a/clippy_lints/src/consts.rs b/clippy_lints/src/consts.rs index 81ddc8c0067c7..e3c6908b76b18 100644 --- a/clippy_lints/src/consts.rs +++ b/clippy_lints/src/consts.rs @@ -396,7 +396,7 @@ impl<'c, 'cc> ConstEvalLateContext<'c, 'cc> { let l = self.expr(left)?; let r = self.expr(right); match (l, r) { - (Constant::Int(l), Some(Constant::Int(r))) => match self.tables.expr_ty(left).kind { + (Constant::Int(l), Some(Constant::Int(r))) => match self.tables.expr_ty_opt(left)?.kind { ty::Int(ity) => { let l = sext(self.lcx.tcx, l, ity); let r = sext(self.lcx.tcx, r, ity); diff --git a/tests/ui/crashes/ice-5389.rs b/tests/ui/crashes/ice-5389.rs new file mode 100644 index 0000000000000..de262199004b0 --- /dev/null +++ b/tests/ui/crashes/ice-5389.rs @@ -0,0 +1,13 @@ +#![allow(clippy::explicit_counter_loop)] + +fn main() { + let v = vec![1, 2, 3]; + let mut i = 0; + let max_storage_size = [0; 128 * 1024]; + for item in &v { + bar(i, *item); + i += 1; + } +} + +fn bar(_: usize, _: u32) {} From 994a83962237558b67aa0a6d4459a32073c543dd Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sat, 13 Jun 2020 01:27:14 +0000 Subject: [PATCH 25/42] Stabilize Option::zip --- clippy_lints/src/checked_conversions.rs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/clippy_lints/src/checked_conversions.rs b/clippy_lints/src/checked_conversions.rs index e845ef99c7cc0..88145015ba8bd 100644 --- a/clippy_lints/src/checked_conversions.rs +++ b/clippy_lints/src/checked_conversions.rs @@ -88,7 +88,7 @@ fn double_check<'a>(cx: &LateContext<'_, '_>, left: &'a Expr<'_>, right: &'a Exp let upper = check_upper_bound(l); let lower = check_lower_bound(r); - transpose(upper, lower).and_then(|(l, r)| l.combine(r, cx)) + upper.zip(lower).and_then(|(l, r)| l.combine(r, cx)) }; upper_lower(left, right).or_else(|| upper_lower(right, left)) @@ -131,7 +131,10 @@ impl<'a> Conversion<'a> { /// Checks if the to-type is the same (if there is a type constraint) fn has_compatible_to_type(&self, other: &Self) -> bool { - transpose(self.to_type.as_ref(), other.to_type.as_ref()).map_or(true, |(l, r)| l == r) + match (self.to_type, other.to_type) { + (Some(l), Some(r)) => l == r, + _ => true, + } } /// Try to construct a new conversion if the conversion type is valid @@ -322,14 +325,6 @@ fn int_ty_to_sym<'tcx>(path: &QPath<'_>) -> Option<&'tcx str> { } } -/// (Option, Option) -> Option<(T, U)> -fn transpose(lhs: Option, rhs: Option) -> Option<(T, U)> { - match (lhs, rhs) { - (Some(l), Some(r)) => Some((l, r)), - _ => None, - } -} - /// Will return the expressions as if they were expr1 <= expr2 fn normalize_le_ge<'a>(op: &BinOp, left: &'a Expr<'a>, right: &'a Expr<'a>) -> Option<(&'a Expr<'a>, &'a Expr<'a>)> { match op.node { From dee794f4503dda6a10891b49a7cb2f8bb92e001b Mon Sep 17 00:00:00 2001 From: Bastian Kauschke Date: Sat, 13 Jun 2020 12:42:58 +0200 Subject: [PATCH 26/42] typo --- clippy_lints/src/new_without_default.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/new_without_default.rs b/clippy_lints/src/new_without_default.rs index dd236535c18ad..42200385932b0 100644 --- a/clippy_lints/src/new_without_default.rs +++ b/clippy_lints/src/new_without_default.rs @@ -33,7 +33,7 @@ declare_clippy_lint! { /// } /// ``` /// - /// To fix the lint, and a `Default` implementation that delegates to `new`: + /// To fix the lint, add a `Default` implementation that delegates to `new`: /// /// ```ignore /// struct Foo(Bar); From f663a21c8f51db58ff73e2e0d9852d03e8916a5e Mon Sep 17 00:00:00 2001 From: Iain Brandram-Adams Date: Sun, 14 Jun 2020 01:24:36 +1200 Subject: [PATCH 27/42] Remove `bar` from blacklisted names --- clippy_lints/src/utils/conf.rs | 2 +- tests/ui/blacklisted_name.rs | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/clippy_lints/src/utils/conf.rs b/clippy_lints/src/utils/conf.rs index 9e8e0ff30ec6b..418c4ded544c0 100644 --- a/clippy_lints/src/utils/conf.rs +++ b/clippy_lints/src/utils/conf.rs @@ -107,7 +107,7 @@ macro_rules! define_Conf { pub use self::helpers::Conf; define_Conf! { /// Lint: BLACKLISTED_NAME. The list of blacklisted names to lint about - (blacklisted_names, "blacklisted_names": Vec, ["foo", "bar", "baz", "quux"].iter().map(ToString::to_string).collect()), + (blacklisted_names, "blacklisted_names": Vec, ["foo", "baz", "quux"].iter().map(ToString::to_string).collect()), /// Lint: COGNITIVE_COMPLEXITY. The maximum cognitive complexity a function can have (cognitive_complexity_threshold, "cognitive_complexity_threshold": u64, 25), /// DEPRECATED LINT: CYCLOMATIC_COMPLEXITY. Use the Cognitive Complexity lint instead. diff --git a/tests/ui/blacklisted_name.rs b/tests/ui/blacklisted_name.rs index ca9d8d16b787d..3d87eb0618157 100644 --- a/tests/ui/blacklisted_name.rs +++ b/tests/ui/blacklisted_name.rs @@ -12,29 +12,32 @@ fn test(foo: ()) {} fn main() { let foo = 42; - let bar = 42; let baz = 42; + let quux = 42; + // Unlike these others, `bar` is considered an acceptable name to use. + // See https://github.com/rust-lang/rust-clippy/issues/5225. - let barb = 42; - let barbaric = 42; + let food = 42; + let foodstuffs = 42; + let bazaar = 42; match (42, Some(1337), Some(0)) { - (foo, Some(bar), baz @ Some(_)) => (), + (foo, Some(baz), quux @ Some(_)) => (), _ => (), } } fn issue_1647(mut foo: u8) { - let mut bar = 0; - if let Some(mut baz) = Some(42) {} + let mut baz = 0; + if let Some(mut quux) = Some(42) {} } fn issue_1647_ref() { - let ref bar = 0; - if let Some(ref baz) = Some(42) {} + let ref baz = 0; + if let Some(ref quux) = Some(42) {} } fn issue_1647_ref_mut() { - let ref mut bar = 0; - if let Some(ref mut baz) = Some(42) {} + let ref mut baz = 0; + if let Some(ref mut quux) = Some(42) {} } From c020e45cd3c1f10d1271de8b47cea9e00b73f500 Mon Sep 17 00:00:00 2001 From: Iain Brandram-Adams Date: Sun, 14 Jun 2020 12:40:36 +1200 Subject: [PATCH 28/42] Update stderr to match, and reinforce comments --- tests/ui/blacklisted_name.rs | 4 +- tests/ui/blacklisted_name.stderr | 72 ++++++++++++++++---------------- 2 files changed, 39 insertions(+), 37 deletions(-) diff --git a/tests/ui/blacklisted_name.rs b/tests/ui/blacklisted_name.rs index 3d87eb0618157..cb15bdd2f1b2d 100644 --- a/tests/ui/blacklisted_name.rs +++ b/tests/ui/blacklisted_name.rs @@ -14,8 +14,10 @@ fn main() { let foo = 42; let baz = 42; let quux = 42; - // Unlike these others, `bar` is considered an acceptable name to use. + // Unlike these others, `bar` is actually considered an acceptable name. + // Among many other legitimate uses, bar commonly refers to a period of time in music. // See https://github.com/rust-lang/rust-clippy/issues/5225. + let bar = 42; let food = 42; let foodstuffs = 42; diff --git a/tests/ui/blacklisted_name.stderr b/tests/ui/blacklisted_name.stderr index 44123829fb0f6..70dbdaece8b6b 100644 --- a/tests/ui/blacklisted_name.stderr +++ b/tests/ui/blacklisted_name.stderr @@ -12,77 +12,77 @@ error: use of a blacklisted/placeholder name `foo` LL | let foo = 42; | ^^^ -error: use of a blacklisted/placeholder name `bar` +error: use of a blacklisted/placeholder name `baz` --> $DIR/blacklisted_name.rs:15:9 | -LL | let bar = 42; +LL | let baz = 42; | ^^^ -error: use of a blacklisted/placeholder name `baz` +error: use of a blacklisted/placeholder name `quux` --> $DIR/blacklisted_name.rs:16:9 | -LL | let baz = 42; - | ^^^ +LL | let quux = 42; + | ^^^^ error: use of a blacklisted/placeholder name `foo` - --> $DIR/blacklisted_name.rs:22:10 + --> $DIR/blacklisted_name.rs:27:10 | -LL | (foo, Some(bar), baz @ Some(_)) => (), +LL | (foo, Some(baz), quux @ Some(_)) => (), | ^^^ -error: use of a blacklisted/placeholder name `bar` - --> $DIR/blacklisted_name.rs:22:20 +error: use of a blacklisted/placeholder name `baz` + --> $DIR/blacklisted_name.rs:27:20 | -LL | (foo, Some(bar), baz @ Some(_)) => (), +LL | (foo, Some(baz), quux @ Some(_)) => (), | ^^^ -error: use of a blacklisted/placeholder name `baz` - --> $DIR/blacklisted_name.rs:22:26 +error: use of a blacklisted/placeholder name `quux` + --> $DIR/blacklisted_name.rs:27:26 | -LL | (foo, Some(bar), baz @ Some(_)) => (), - | ^^^ +LL | (foo, Some(baz), quux @ Some(_)) => (), + | ^^^^ error: use of a blacklisted/placeholder name `foo` - --> $DIR/blacklisted_name.rs:27:19 + --> $DIR/blacklisted_name.rs:32:19 | LL | fn issue_1647(mut foo: u8) { | ^^^ -error: use of a blacklisted/placeholder name `bar` - --> $DIR/blacklisted_name.rs:28:13 +error: use of a blacklisted/placeholder name `baz` + --> $DIR/blacklisted_name.rs:33:13 | -LL | let mut bar = 0; +LL | let mut baz = 0; | ^^^ -error: use of a blacklisted/placeholder name `baz` - --> $DIR/blacklisted_name.rs:29:21 +error: use of a blacklisted/placeholder name `quux` + --> $DIR/blacklisted_name.rs:34:21 | -LL | if let Some(mut baz) = Some(42) {} - | ^^^ +LL | if let Some(mut quux) = Some(42) {} + | ^^^^ -error: use of a blacklisted/placeholder name `bar` - --> $DIR/blacklisted_name.rs:33:13 +error: use of a blacklisted/placeholder name `baz` + --> $DIR/blacklisted_name.rs:38:13 | -LL | let ref bar = 0; +LL | let ref baz = 0; | ^^^ -error: use of a blacklisted/placeholder name `baz` - --> $DIR/blacklisted_name.rs:34:21 +error: use of a blacklisted/placeholder name `quux` + --> $DIR/blacklisted_name.rs:39:21 | -LL | if let Some(ref baz) = Some(42) {} - | ^^^ +LL | if let Some(ref quux) = Some(42) {} + | ^^^^ -error: use of a blacklisted/placeholder name `bar` - --> $DIR/blacklisted_name.rs:38:17 +error: use of a blacklisted/placeholder name `baz` + --> $DIR/blacklisted_name.rs:43:17 | -LL | let ref mut bar = 0; +LL | let ref mut baz = 0; | ^^^ -error: use of a blacklisted/placeholder name `baz` - --> $DIR/blacklisted_name.rs:39:25 +error: use of a blacklisted/placeholder name `quux` + --> $DIR/blacklisted_name.rs:44:25 | -LL | if let Some(ref mut baz) = Some(42) {} - | ^^^ +LL | if let Some(ref mut quux) = Some(42) {} + | ^^^^ error: aborting due to 14 previous errors From 454ed47acf462c847956464ac3811546b733bd5b Mon Sep 17 00:00:00 2001 From: Iain Brandram-Adams Date: Sun, 14 Jun 2020 12:46:56 +1200 Subject: [PATCH 29/42] Update comment in conf.rs --- clippy_lints/src/utils/conf.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/utils/conf.rs b/clippy_lints/src/utils/conf.rs index 418c4ded544c0..c41befbf147b8 100644 --- a/clippy_lints/src/utils/conf.rs +++ b/clippy_lints/src/utils/conf.rs @@ -106,7 +106,7 @@ macro_rules! define_Conf { pub use self::helpers::Conf; define_Conf! { - /// Lint: BLACKLISTED_NAME. The list of blacklisted names to lint about + /// Lint: BLACKLISTED_NAME. The list of blacklisted names to lint about. NB: `bar` is not here since it has legitimate uses (blacklisted_names, "blacklisted_names": Vec, ["foo", "baz", "quux"].iter().map(ToString::to_string).collect()), /// Lint: COGNITIVE_COMPLEXITY. The maximum cognitive complexity a function can have (cognitive_complexity_threshold, "cognitive_complexity_threshold": u64, 25), From 8a6f42a9707bbad1dad3f1511f793cd07c723bb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20Buga?= Date: Sun, 14 Jun 2020 11:07:44 +0200 Subject: [PATCH 30/42] Fix typo in wildcard_imports --- clippy_lints/src/wildcard_imports.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/wildcard_imports.rs b/clippy_lints/src/wildcard_imports.rs index b637253bd0264..79f7705e281e5 100644 --- a/clippy_lints/src/wildcard_imports.rs +++ b/clippy_lints/src/wildcard_imports.rs @@ -36,7 +36,7 @@ declare_clippy_lint! { declare_clippy_lint! { /// **What it does:** Checks for wildcard imports `use _::*`. /// - /// **Why is this bad?** wildcard imports can polute the namespace. This is especially bad if + /// **Why is this bad?** wildcard imports can pollute the namespace. This is especially bad if /// you try to import something through a wildcard, that already has been imported by name from /// a different source: /// From 8c1ee063bb67b20ac17603d0f0025b48b958cc08 Mon Sep 17 00:00:00 2001 From: Ericko Samudera Date: Mon, 8 Jun 2020 00:44:14 +0700 Subject: [PATCH 31/42] mem_replace_with_uninit: suggest std::ptr::read --- clippy_lints/src/mem_replace.rs | 82 ++++++++++++++++++++++----------- tests/ui/repl_uninit.rs | 6 +++ tests/ui/repl_uninit.stderr | 19 ++++---- 3 files changed, 71 insertions(+), 36 deletions(-) diff --git a/clippy_lints/src/mem_replace.rs b/clippy_lints/src/mem_replace.rs index ab6865bf0f3b7..e2672e02b36da 100644 --- a/clippy_lints/src/mem_replace.rs +++ b/clippy_lints/src/mem_replace.rs @@ -135,33 +135,59 @@ fn check_replace_option_with_none(cx: &LateContext<'_, '_>, src: &Expr<'_>, dest } } -fn check_replace_with_uninit(cx: &LateContext<'_, '_>, src: &Expr<'_>, expr_span: Span) { - if let ExprKind::Call(ref repl_func, ref repl_args) = src.kind { - if_chain! { - if repl_args.is_empty(); - if let ExprKind::Path(ref repl_func_qpath) = repl_func.kind; - if let Some(repl_def_id) = cx.tables.qpath_res(repl_func_qpath, repl_func.hir_id).opt_def_id(); - then { - if cx.tcx.is_diagnostic_item(sym::mem_uninitialized, repl_def_id) { - span_lint_and_help( - cx, - MEM_REPLACE_WITH_UNINIT, - expr_span, - "replacing with `mem::uninitialized()`", - None, - "consider using the `take_mut` crate instead", - ); - } else if cx.tcx.is_diagnostic_item(sym::mem_zeroed, repl_def_id) && - !cx.tables.expr_ty(src).is_primitive() { - span_lint_and_help( - cx, - MEM_REPLACE_WITH_UNINIT, - expr_span, - "replacing with `mem::zeroed()`", - None, - "consider using a default value or the `take_mut` crate instead", - ); - } +fn check_replace_with_uninit(cx: &LateContext<'_, '_>, src: &Expr<'_>, dest: &Expr<'_>, expr_span: Span) { + if_chain! { + // check if replacement is mem::MaybeUninit::uninit().assume_init() + if let Some(method_def_id) = cx.tables.type_dependent_def_id(src.hir_id); + if cx.tcx.is_diagnostic_item(sym::assume_init, method_def_id); + then { + let mut applicability = Applicability::MachineApplicable; + span_lint_and_sugg( + cx, + MEM_REPLACE_WITH_UNINIT, + expr_span, + "replacing with `mem::MaybeUninit::uninit().assume_init()`", + "consider using", + format!( + "std::ptr::read({})", + snippet_with_applicability(cx, dest.span, "", &mut applicability) + ), + applicability, + ); + return; + } + } + + if_chain! { + if let ExprKind::Call(ref repl_func, ref repl_args) = src.kind; + if repl_args.is_empty(); + if let ExprKind::Path(ref repl_func_qpath) = repl_func.kind; + if let Some(repl_def_id) = cx.tables.qpath_res(repl_func_qpath, repl_func.hir_id).opt_def_id(); + then { + if cx.tcx.is_diagnostic_item(sym::mem_uninitialized, repl_def_id) { + let mut applicability = Applicability::MachineApplicable; + span_lint_and_sugg( + cx, + MEM_REPLACE_WITH_UNINIT, + expr_span, + "replacing with `mem::uninitialized()`", + "consider using", + format!( + "std::ptr::read({})", + snippet_with_applicability(cx, dest.span, "", &mut applicability) + ), + applicability, + ); + } else if cx.tcx.is_diagnostic_item(sym::mem_zeroed, repl_def_id) && + !cx.tables.expr_ty(src).is_primitive() { + span_lint_and_help( + cx, + MEM_REPLACE_WITH_UNINIT, + expr_span, + "replacing with `mem::zeroed()`", + None, + "consider using a default value or the `take_mut` crate instead", + ); } } } @@ -209,7 +235,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for MemReplace { if let [dest, src] = &**func_args; then { check_replace_option_with_none(cx, src, dest, expr.span); - check_replace_with_uninit(cx, src, expr.span); + check_replace_with_uninit(cx, src, dest, expr.span); check_replace_with_default(cx, src, dest, expr.span); } } diff --git a/tests/ui/repl_uninit.rs b/tests/ui/repl_uninit.rs index 346972b7bb4e0..ad5b8e4857d17 100644 --- a/tests/ui/repl_uninit.rs +++ b/tests/ui/repl_uninit.rs @@ -17,6 +17,12 @@ fn main() { std::mem::forget(mem::replace(&mut v, new_v)); } + unsafe { + let taken_v = mem::replace(&mut v, mem::MaybeUninit::uninit().assume_init()); + let new_v = might_panic(taken_v); + std::mem::forget(mem::replace(&mut v, new_v)); + } + unsafe { let taken_v = mem::replace(&mut v, mem::zeroed()); let new_v = might_panic(taken_v); diff --git a/tests/ui/repl_uninit.stderr b/tests/ui/repl_uninit.stderr index c1f55d7601e5c..09468eeaea4bf 100644 --- a/tests/ui/repl_uninit.stderr +++ b/tests/ui/repl_uninit.stderr @@ -2,26 +2,29 @@ error: replacing with `mem::uninitialized()` --> $DIR/repl_uninit.rs:15:23 | LL | let taken_v = mem::replace(&mut v, mem::uninitialized()); - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::ptr::read(&mut v)` | = note: `-D clippy::mem-replace-with-uninit` implied by `-D warnings` - = help: consider using the `take_mut` crate instead -error: replacing with `mem::zeroed()` +error: replacing with `mem::MaybeUninit::uninit().assume_init()` --> $DIR/repl_uninit.rs:21:23 | +LL | let taken_v = mem::replace(&mut v, mem::MaybeUninit::uninit().assume_init()); + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::ptr::read(&mut v)` + +error: replacing with `mem::zeroed()` + --> $DIR/repl_uninit.rs:27:23 + | LL | let taken_v = mem::replace(&mut v, mem::zeroed()); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: consider using a default value or the `take_mut` crate instead error: replacing with `mem::uninitialized()` - --> $DIR/repl_uninit.rs:33:28 + --> $DIR/repl_uninit.rs:39:28 | LL | let taken_u = unsafe { mem::replace(uref, mem::uninitialized()) }; - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - | - = help: consider using the `take_mut` crate instead + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using: `std::ptr::read(uref)` -error: aborting due to 3 previous errors +error: aborting due to 4 previous errors From a7743e9084f9ccd7c966f98a14fa667c694d66ab Mon Sep 17 00:00:00 2001 From: Eduardo Broto Date: Wed, 17 Jun 2020 00:32:47 +0200 Subject: [PATCH 32/42] redundant_pattern_matching: avoid non-const fn in const context --- .../src/redundant_pattern_matching.rs | 80 ++++++++++++++----- tests/ui/redundant_pattern_matching.fixed | 42 ++++++++++ tests/ui/redundant_pattern_matching.rs | 42 ++++++++++ tests/ui/redundant_pattern_matching.stderr | 56 ++++++------- ...undant_pattern_matching_const_result.fixed | 46 +++++++++++ ...redundant_pattern_matching_const_result.rs | 52 ++++++++++++ ...ndant_pattern_matching_const_result.stderr | 46 +++++++++++ 7 files changed, 318 insertions(+), 46 deletions(-) create mode 100644 tests/ui/redundant_pattern_matching_const_result.fixed create mode 100644 tests/ui/redundant_pattern_matching_const_result.rs create mode 100644 tests/ui/redundant_pattern_matching_const_result.stderr diff --git a/clippy_lints/src/redundant_pattern_matching.rs b/clippy_lints/src/redundant_pattern_matching.rs index 7ee298e9833f2..b95b12c4eb522 100644 --- a/clippy_lints/src/redundant_pattern_matching.rs +++ b/clippy_lints/src/redundant_pattern_matching.rs @@ -1,10 +1,13 @@ -use crate::utils::{match_qpath, match_trait_method, paths, snippet, span_lint_and_then}; +use crate::utils::{in_constant, match_qpath, match_trait_method, paths, snippet, span_lint_and_then}; use if_chain::if_chain; use rustc_ast::ast::LitKind; use rustc_errors::Applicability; -use rustc_hir::{Arm, Expr, ExprKind, MatchSource, PatKind, QPath}; +use rustc_hir::{Arm, Expr, ExprKind, HirId, MatchSource, PatKind, QPath}; use rustc_lint::{LateContext, LateLintPass}; +use rustc_middle::ty; +use rustc_mir::const_eval::is_const_fn; use rustc_session::{declare_lint_pass, declare_tool_lint}; +use rustc_span::source_map::Symbol; declare_clippy_lint! { /// **What it does:** Lint for redundant pattern matching over `Result` or @@ -64,26 +67,37 @@ fn find_sugg_for_if_let<'a, 'tcx>( arms: &[Arm<'_>], keyword: &'static str, ) { + fn find_suggestion(cx: &LateContext<'_, '_>, hir_id: HirId, path: &QPath<'_>) -> Option<&'static str> { + if match_qpath(path, &paths::RESULT_OK) && can_suggest(cx, hir_id, sym!(result_type), "is_ok") { + return Some("is_ok()"); + } + if match_qpath(path, &paths::RESULT_ERR) && can_suggest(cx, hir_id, sym!(result_type), "is_err") { + return Some("is_err()"); + } + if match_qpath(path, &paths::OPTION_SOME) && can_suggest(cx, hir_id, sym!(option_type), "is_some") { + return Some("is_some()"); + } + if match_qpath(path, &paths::OPTION_NONE) && can_suggest(cx, hir_id, sym!(option_type), "is_none") { + return Some("is_none()"); + } + None + } + + let hir_id = expr.hir_id; let good_method = match arms[0].pat.kind { PatKind::TupleStruct(ref path, ref patterns, _) if patterns.len() == 1 => { if let PatKind::Wild = patterns[0].kind { - if match_qpath(path, &paths::RESULT_OK) { - "is_ok()" - } else if match_qpath(path, &paths::RESULT_ERR) { - "is_err()" - } else if match_qpath(path, &paths::OPTION_SOME) { - "is_some()" - } else { - return; - } + find_suggestion(cx, hir_id, path) } else { - return; + None } }, - - PatKind::Path(ref path) if match_qpath(path, &paths::OPTION_NONE) => "is_none()", - - _ => return, + PatKind::Path(ref path) => find_suggestion(cx, hir_id, path), + _ => None, + }; + let good_method = match good_method { + Some(method) => method, + None => return, }; // check that `while_let_on_iterator` lint does not trigger @@ -128,6 +142,7 @@ fn find_sugg_for_match<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_ if arms.len() == 2 { let node_pair = (&arms[0].pat.kind, &arms[1].pat.kind); + let hir_id = expr.hir_id; let found_good_method = match node_pair { ( PatKind::TupleStruct(ref path_left, ref patterns_left, _), @@ -142,6 +157,8 @@ fn find_sugg_for_match<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_ &paths::RESULT_ERR, "is_ok()", "is_err()", + || can_suggest(cx, hir_id, sym!(result_type), "is_ok"), + || can_suggest(cx, hir_id, sym!(result_type), "is_err"), ) } else { None @@ -160,6 +177,8 @@ fn find_sugg_for_match<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_ &paths::OPTION_NONE, "is_some()", "is_none()", + || can_suggest(cx, hir_id, sym!(option_type), "is_some"), + || can_suggest(cx, hir_id, sym!(option_type), "is_none"), ) } else { None @@ -188,6 +207,7 @@ fn find_sugg_for_match<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_ } } +#[allow(clippy::too_many_arguments)] fn find_good_method_for_match<'a>( arms: &[Arm<'_>], path_left: &QPath<'_>, @@ -196,6 +216,8 @@ fn find_good_method_for_match<'a>( expected_right: &[&str], should_be_left: &'a str, should_be_right: &'a str, + can_suggest_left: impl Fn() -> bool, + can_suggest_right: impl Fn() -> bool, ) -> Option<&'a str> { let body_node_pair = if match_qpath(path_left, expected_left) && match_qpath(path_right, expected_right) { (&(*arms[0].body).kind, &(*arms[1].body).kind) @@ -207,10 +229,32 @@ fn find_good_method_for_match<'a>( match body_node_pair { (ExprKind::Lit(ref lit_left), ExprKind::Lit(ref lit_right)) => match (&lit_left.node, &lit_right.node) { - (LitKind::Bool(true), LitKind::Bool(false)) => Some(should_be_left), - (LitKind::Bool(false), LitKind::Bool(true)) => Some(should_be_right), + (LitKind::Bool(true), LitKind::Bool(false)) if can_suggest_left() => Some(should_be_left), + (LitKind::Bool(false), LitKind::Bool(true)) if can_suggest_right() => Some(should_be_right), _ => None, }, _ => None, } } + +fn can_suggest(cx: &LateContext<'_, '_>, hir_id: HirId, diag_item: Symbol, name: &str) -> bool { + if !in_constant(cx, hir_id) { + return true; + } + + // Avoid suggesting calls to non-`const fn`s in const contexts, see #5697. + cx.tcx + .get_diagnostic_item(diag_item) + .and_then(|def_id| { + cx.tcx.inherent_impls(def_id).iter().find_map(|imp| { + cx.tcx + .associated_items(*imp) + .in_definition_order() + .find_map(|item| match item.kind { + ty::AssocKind::Fn if item.ident.name.as_str() == name => Some(item.def_id), + _ => None, + }) + }) + }) + .map_or(false, |def_id| is_const_fn(cx.tcx, def_id)) +} diff --git a/tests/ui/redundant_pattern_matching.fixed b/tests/ui/redundant_pattern_matching.fixed index fc8cb0e747c73..6ba5cfb1d7177 100644 --- a/tests/ui/redundant_pattern_matching.fixed +++ b/tests/ui/redundant_pattern_matching.fixed @@ -1,5 +1,7 @@ // run-rustfix +#![feature(const_if_match)] +#![feature(const_loop)] #![warn(clippy::all)] #![warn(clippy::redundant_pattern_matching)] #![allow(clippy::unit_arg, unused_must_use, clippy::needless_bool, deprecated)] @@ -67,6 +69,7 @@ fn main() { takes_bool(x); issue5504(); + issue5697(); let _ = if gen_opt().is_some() { 1 @@ -117,3 +120,42 @@ fn issue5504() { if m!().is_some() {} while m!().is_some() {} } + +// None of these should be linted because none of the suggested methods +// are `const fn` without toggling a feature. +const fn issue5697() { + if let Ok(_) = Ok::(42) {} + + if let Err(_) = Err::(42) {} + + if let Some(_) = Some(42) {} + + if let None = None::<()> {} + + while let Ok(_) = Ok::(10) {} + + while let Err(_) = Ok::(10) {} + + while let Some(_) = Some(42) {} + + while let None = None::<()> {} + + match Ok::(42) { + Ok(_) => true, + Err(_) => false, + }; + + match Err::(42) { + Ok(_) => false, + Err(_) => true, + }; + match Some(42) { + Some(_) => true, + None => false, + }; + + match None::<()> { + Some(_) => false, + None => true, + }; +} diff --git a/tests/ui/redundant_pattern_matching.rs b/tests/ui/redundant_pattern_matching.rs index 51912dade0356..17de66f9ad0eb 100644 --- a/tests/ui/redundant_pattern_matching.rs +++ b/tests/ui/redundant_pattern_matching.rs @@ -1,5 +1,7 @@ // run-rustfix +#![feature(const_if_match)] +#![feature(const_loop)] #![warn(clippy::all)] #![warn(clippy::redundant_pattern_matching)] #![allow(clippy::unit_arg, unused_must_use, clippy::needless_bool, deprecated)] @@ -88,6 +90,7 @@ fn main() { takes_bool(x); issue5504(); + issue5697(); let _ = if let Some(_) = gen_opt() { 1 @@ -138,3 +141,42 @@ fn issue5504() { if let Some(_) = m!() {} while let Some(_) = m!() {} } + +// None of these should be linted because none of the suggested methods +// are `const fn` without toggling a feature. +const fn issue5697() { + if let Ok(_) = Ok::(42) {} + + if let Err(_) = Err::(42) {} + + if let Some(_) = Some(42) {} + + if let None = None::<()> {} + + while let Ok(_) = Ok::(10) {} + + while let Err(_) = Ok::(10) {} + + while let Some(_) = Some(42) {} + + while let None = None::<()> {} + + match Ok::(42) { + Ok(_) => true, + Err(_) => false, + }; + + match Err::(42) { + Ok(_) => false, + Err(_) => true, + }; + match Some(42) { + Some(_) => true, + None => false, + }; + + match None::<()> { + Some(_) => false, + None => true, + }; +} diff --git a/tests/ui/redundant_pattern_matching.stderr b/tests/ui/redundant_pattern_matching.stderr index b58deb7954efe..1b9a4b40a2f02 100644 --- a/tests/ui/redundant_pattern_matching.stderr +++ b/tests/ui/redundant_pattern_matching.stderr @@ -1,5 +1,5 @@ error: redundant pattern matching, consider using `is_ok()` - --> $DIR/redundant_pattern_matching.rs:8:12 + --> $DIR/redundant_pattern_matching.rs:10:12 | LL | if let Ok(_) = Ok::(42) {} | -------^^^^^--------------------- help: try this: `if Ok::(42).is_ok()` @@ -7,67 +7,67 @@ LL | if let Ok(_) = Ok::(42) {} = note: `-D clippy::redundant-pattern-matching` implied by `-D warnings` error: redundant pattern matching, consider using `is_err()` - --> $DIR/redundant_pattern_matching.rs:10:12 + --> $DIR/redundant_pattern_matching.rs:12:12 | LL | if let Err(_) = Err::(42) {} | -------^^^^^^---------------------- help: try this: `if Err::(42).is_err()` error: redundant pattern matching, consider using `is_none()` - --> $DIR/redundant_pattern_matching.rs:12:12 + --> $DIR/redundant_pattern_matching.rs:14:12 | LL | if let None = None::<()> {} | -------^^^^------------- help: try this: `if None::<()>.is_none()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:14:12 + --> $DIR/redundant_pattern_matching.rs:16:12 | LL | if let Some(_) = Some(42) {} | -------^^^^^^^----------- help: try this: `if Some(42).is_some()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:16:12 + --> $DIR/redundant_pattern_matching.rs:18:12 | LL | if let Some(_) = Some(42) { | -------^^^^^^^----------- help: try this: `if Some(42).is_some()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:22:15 + --> $DIR/redundant_pattern_matching.rs:24:15 | LL | while let Some(_) = Some(42) {} | ----------^^^^^^^----------- help: try this: `while Some(42).is_some()` error: redundant pattern matching, consider using `is_none()` - --> $DIR/redundant_pattern_matching.rs:24:15 + --> $DIR/redundant_pattern_matching.rs:26:15 | LL | while let None = Some(42) {} | ----------^^^^----------- help: try this: `while Some(42).is_none()` error: redundant pattern matching, consider using `is_none()` - --> $DIR/redundant_pattern_matching.rs:26:15 + --> $DIR/redundant_pattern_matching.rs:28:15 | LL | while let None = None::<()> {} | ----------^^^^------------- help: try this: `while None::<()>.is_none()` error: redundant pattern matching, consider using `is_ok()` - --> $DIR/redundant_pattern_matching.rs:28:15 + --> $DIR/redundant_pattern_matching.rs:30:15 | LL | while let Ok(_) = Ok::(10) {} | ----------^^^^^--------------------- help: try this: `while Ok::(10).is_ok()` error: redundant pattern matching, consider using `is_err()` - --> $DIR/redundant_pattern_matching.rs:30:15 + --> $DIR/redundant_pattern_matching.rs:32:15 | LL | while let Err(_) = Ok::(10) {} | ----------^^^^^^--------------------- help: try this: `while Ok::(10).is_err()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:33:15 + --> $DIR/redundant_pattern_matching.rs:35:15 | LL | while let Some(_) = v.pop() { | ----------^^^^^^^---------- help: try this: `while v.pop().is_some()` error: redundant pattern matching, consider using `is_ok()` - --> $DIR/redundant_pattern_matching.rs:49:5 + --> $DIR/redundant_pattern_matching.rs:51:5 | LL | / match Ok::(42) { LL | | Ok(_) => true, @@ -76,7 +76,7 @@ LL | | }; | |_____^ help: try this: `Ok::(42).is_ok()` error: redundant pattern matching, consider using `is_err()` - --> $DIR/redundant_pattern_matching.rs:54:5 + --> $DIR/redundant_pattern_matching.rs:56:5 | LL | / match Ok::(42) { LL | | Ok(_) => false, @@ -85,7 +85,7 @@ LL | | }; | |_____^ help: try this: `Ok::(42).is_err()` error: redundant pattern matching, consider using `is_err()` - --> $DIR/redundant_pattern_matching.rs:59:5 + --> $DIR/redundant_pattern_matching.rs:61:5 | LL | / match Err::(42) { LL | | Ok(_) => false, @@ -94,7 +94,7 @@ LL | | }; | |_____^ help: try this: `Err::(42).is_err()` error: redundant pattern matching, consider using `is_ok()` - --> $DIR/redundant_pattern_matching.rs:64:5 + --> $DIR/redundant_pattern_matching.rs:66:5 | LL | / match Err::(42) { LL | | Ok(_) => true, @@ -103,7 +103,7 @@ LL | | }; | |_____^ help: try this: `Err::(42).is_ok()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:69:5 + --> $DIR/redundant_pattern_matching.rs:71:5 | LL | / match Some(42) { LL | | Some(_) => true, @@ -112,7 +112,7 @@ LL | | }; | |_____^ help: try this: `Some(42).is_some()` error: redundant pattern matching, consider using `is_none()` - --> $DIR/redundant_pattern_matching.rs:74:5 + --> $DIR/redundant_pattern_matching.rs:76:5 | LL | / match None::<()> { LL | | Some(_) => false, @@ -121,7 +121,7 @@ LL | | }; | |_____^ help: try this: `None::<()>.is_none()` error: redundant pattern matching, consider using `is_none()` - --> $DIR/redundant_pattern_matching.rs:79:13 + --> $DIR/redundant_pattern_matching.rs:81:13 | LL | let _ = match None::<()> { | _____________^ @@ -131,61 +131,61 @@ LL | | }; | |_____^ help: try this: `None::<()>.is_none()` error: redundant pattern matching, consider using `is_ok()` - --> $DIR/redundant_pattern_matching.rs:84:20 + --> $DIR/redundant_pattern_matching.rs:86:20 | LL | let _ = if let Ok(_) = Ok::(4) { true } else { false }; | -------^^^^^--------------------- help: try this: `if Ok::(4).is_ok()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:87:20 + --> $DIR/redundant_pattern_matching.rs:89:20 | LL | let x = if let Some(_) = opt { true } else { false }; | -------^^^^^^^------ help: try this: `if opt.is_some()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:92:20 + --> $DIR/redundant_pattern_matching.rs:95:20 | LL | let _ = if let Some(_) = gen_opt() { | -------^^^^^^^------------ help: try this: `if gen_opt().is_some()` error: redundant pattern matching, consider using `is_none()` - --> $DIR/redundant_pattern_matching.rs:94:19 + --> $DIR/redundant_pattern_matching.rs:97:19 | LL | } else if let None = gen_opt() { | -------^^^^------------ help: try this: `if gen_opt().is_none()` error: redundant pattern matching, consider using `is_ok()` - --> $DIR/redundant_pattern_matching.rs:96:19 + --> $DIR/redundant_pattern_matching.rs:99:19 | LL | } else if let Ok(_) = gen_res() { | -------^^^^^------------ help: try this: `if gen_res().is_ok()` error: redundant pattern matching, consider using `is_err()` - --> $DIR/redundant_pattern_matching.rs:98:19 + --> $DIR/redundant_pattern_matching.rs:101:19 | LL | } else if let Err(_) = gen_res() { | -------^^^^^^------------ help: try this: `if gen_res().is_err()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:131:19 + --> $DIR/redundant_pattern_matching.rs:134:19 | LL | while let Some(_) = r#try!(result_opt()) {} | ----------^^^^^^^----------------------- help: try this: `while r#try!(result_opt()).is_some()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:132:16 + --> $DIR/redundant_pattern_matching.rs:135:16 | LL | if let Some(_) = r#try!(result_opt()) {} | -------^^^^^^^----------------------- help: try this: `if r#try!(result_opt()).is_some()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:138:12 + --> $DIR/redundant_pattern_matching.rs:141:12 | LL | if let Some(_) = m!() {} | -------^^^^^^^------- help: try this: `if m!().is_some()` error: redundant pattern matching, consider using `is_some()` - --> $DIR/redundant_pattern_matching.rs:139:15 + --> $DIR/redundant_pattern_matching.rs:142:15 | LL | while let Some(_) = m!() {} | ----------^^^^^^^------- help: try this: `while m!().is_some()` diff --git a/tests/ui/redundant_pattern_matching_const_result.fixed b/tests/ui/redundant_pattern_matching_const_result.fixed new file mode 100644 index 0000000000000..c8bc5458067d3 --- /dev/null +++ b/tests/ui/redundant_pattern_matching_const_result.fixed @@ -0,0 +1,46 @@ +// run-rustfix + +#![feature(const_if_match)] +#![feature(const_loop)] +#![feature(const_result)] +#![warn(clippy::redundant_pattern_matching)] +#![allow(unused)] + +// Test that results are linted with the feature enabled. + +const fn issue_5697() { + if Ok::(42).is_ok() {} + + if Err::(42).is_err() {} + + while Ok::(10).is_ok() {} + + while Ok::(10).is_err() {} + + Ok::(42).is_ok(); + + Err::(42).is_err(); + + // These should not be linted until `const_option` is implemented. + // See https://github.com/rust-lang/rust/issues/67441 + + if let Some(_) = Some(42) {} + + if let None = None::<()> {} + + while let Some(_) = Some(42) {} + + while let None = None::<()> {} + + match Some(42) { + Some(_) => true, + None => false, + }; + + match None::<()> { + Some(_) => false, + None => true, + }; +} + +fn main() {} diff --git a/tests/ui/redundant_pattern_matching_const_result.rs b/tests/ui/redundant_pattern_matching_const_result.rs new file mode 100644 index 0000000000000..75f37ec15c622 --- /dev/null +++ b/tests/ui/redundant_pattern_matching_const_result.rs @@ -0,0 +1,52 @@ +// run-rustfix + +#![feature(const_if_match)] +#![feature(const_loop)] +#![feature(const_result)] +#![warn(clippy::redundant_pattern_matching)] +#![allow(unused)] + +// Test that results are linted with the feature enabled. + +const fn issue_5697() { + if let Ok(_) = Ok::(42) {} + + if let Err(_) = Err::(42) {} + + while let Ok(_) = Ok::(10) {} + + while let Err(_) = Ok::(10) {} + + match Ok::(42) { + Ok(_) => true, + Err(_) => false, + }; + + match Err::(42) { + Ok(_) => false, + Err(_) => true, + }; + + // These should not be linted until `const_option` is implemented. + // See https://github.com/rust-lang/rust/issues/67441 + + if let Some(_) = Some(42) {} + + if let None = None::<()> {} + + while let Some(_) = Some(42) {} + + while let None = None::<()> {} + + match Some(42) { + Some(_) => true, + None => false, + }; + + match None::<()> { + Some(_) => false, + None => true, + }; +} + +fn main() {} diff --git a/tests/ui/redundant_pattern_matching_const_result.stderr b/tests/ui/redundant_pattern_matching_const_result.stderr new file mode 100644 index 0000000000000..c32292f0eee8b --- /dev/null +++ b/tests/ui/redundant_pattern_matching_const_result.stderr @@ -0,0 +1,46 @@ +error: redundant pattern matching, consider using `is_ok()` + --> $DIR/redundant_pattern_matching_const_result.rs:12:12 + | +LL | if let Ok(_) = Ok::(42) {} + | -------^^^^^--------------------- help: try this: `if Ok::(42).is_ok()` + | + = note: `-D clippy::redundant-pattern-matching` implied by `-D warnings` + +error: redundant pattern matching, consider using `is_err()` + --> $DIR/redundant_pattern_matching_const_result.rs:14:12 + | +LL | if let Err(_) = Err::(42) {} + | -------^^^^^^---------------------- help: try this: `if Err::(42).is_err()` + +error: redundant pattern matching, consider using `is_ok()` + --> $DIR/redundant_pattern_matching_const_result.rs:16:15 + | +LL | while let Ok(_) = Ok::(10) {} + | ----------^^^^^--------------------- help: try this: `while Ok::(10).is_ok()` + +error: redundant pattern matching, consider using `is_err()` + --> $DIR/redundant_pattern_matching_const_result.rs:18:15 + | +LL | while let Err(_) = Ok::(10) {} + | ----------^^^^^^--------------------- help: try this: `while Ok::(10).is_err()` + +error: redundant pattern matching, consider using `is_ok()` + --> $DIR/redundant_pattern_matching_const_result.rs:20:5 + | +LL | / match Ok::(42) { +LL | | Ok(_) => true, +LL | | Err(_) => false, +LL | | }; + | |_____^ help: try this: `Ok::(42).is_ok()` + +error: redundant pattern matching, consider using `is_err()` + --> $DIR/redundant_pattern_matching_const_result.rs:25:5 + | +LL | / match Err::(42) { +LL | | Ok(_) => false, +LL | | Err(_) => true, +LL | | }; + | |_____^ help: try this: `Err::(42).is_err()` + +error: aborting due to 6 previous errors + From f3a40f5eb1cedebd374ebcd52341dfec60f3ea10 Mon Sep 17 00:00:00 2001 From: sozysozbot Date: Thu, 18 Jun 2020 06:50:04 +0900 Subject: [PATCH 33/42] Fix typo extending it's lifetime -> extending its lifetime --- clippy_lints/src/let_underscore.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/let_underscore.rs b/clippy_lints/src/let_underscore.rs index 710dec8d33fc9..acd628bbaca59 100644 --- a/clippy_lints/src/let_underscore.rs +++ b/clippy_lints/src/let_underscore.rs @@ -35,7 +35,7 @@ declare_clippy_lint! { /// **What it does:** Checks for `let _ = sync_lock` /// /// **Why is this bad?** This statement immediately drops the lock instead of - /// extending it's lifetime to the end of the scope, which is often not intended. + /// extending its lifetime to the end of the scope, which is often not intended. /// To extend lock lifetime to the end of the scope, use an underscore-prefixed /// name instead (i.e. _lock). If you want to explicitly drop the lock, /// `std::mem::drop` conveys your intention better and is less error-prone. From 922ff8e485fc6d95286fcf860e05742dc8797223 Mon Sep 17 00:00:00 2001 From: Aman Arora Date: Wed, 17 Jun 2020 18:13:05 -0400 Subject: [PATCH 34/42] Refactor hir::Place For the following code ```rust let c = || bar(foo.x, foo.x) ``` We generate two different `hir::Place`s for both `foo.x`. Handling this adds overhead for analysis we need to do for RFC 2229. We also want to store type information at each Projection to support analysis as part of the RFC. This resembles what we have for `mir::Place` This commit modifies the Place as follows: - Rename to `PlaceWithHirId`, where there `hir_id` is that of the expressioin. - Move any other information that describes the access out to another struct now called `Place`. - Removed `Span`, it can be accessed using the [hir API](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/hir/map/struct.Map.html#method.span) - Modify `Projection` to be a strucutre of its own, that currently only contains the `ProjectionKind`. Adding type information to projections wil be completed as part of https://github.com/rust-lang/project-rfc-2229/issues/5 Closes https://github.com/rust-lang/project-rfc-2229/issues/3 Co-authored-by: Aman Arora Co-authored-by: Roxane Fruytier --- clippy_lints/src/escape.rs | 20 +++++++------- clippy_lints/src/loops.rs | 32 ++++++++++++---------- clippy_lints/src/needless_pass_by_value.rs | 10 +++---- clippy_lints/src/utils/usage.rs | 12 ++++---- 4 files changed, 38 insertions(+), 36 deletions(-) diff --git a/clippy_lints/src/escape.rs b/clippy_lints/src/escape.rs index 7227683aa5ac2..59af475af175e 100644 --- a/clippy_lints/src/escape.rs +++ b/clippy_lints/src/escape.rs @@ -6,7 +6,7 @@ use rustc_middle::ty::{self, Ty}; use rustc_session::{declare_tool_lint, impl_lint_pass}; use rustc_span::source_map::Span; use rustc_target::abi::LayoutOf; -use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, Place, PlaceBase}; +use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceWithHirId, PlaceBase}; use crate::utils::span_lint; @@ -112,9 +112,9 @@ fn is_argument(map: rustc_middle::hir::map::Map<'_>, id: HirId) -> bool { } impl<'a, 'tcx> Delegate<'tcx> for EscapeDelegate<'a, 'tcx> { - fn consume(&mut self, cmt: &Place<'tcx>, mode: ConsumeMode) { - if cmt.projections.is_empty() { - if let PlaceBase::Local(lid) = cmt.base { + fn consume(&mut self, cmt: &PlaceWithHirId<'tcx>, mode: ConsumeMode) { + if cmt.place.projections.is_empty() { + if let PlaceBase::Local(lid) = cmt.place.base { if let ConsumeMode::Move = mode { // moved out or in. clearly can't be localized self.set.remove(&lid); @@ -132,16 +132,16 @@ impl<'a, 'tcx> Delegate<'tcx> for EscapeDelegate<'a, 'tcx> { } } - fn borrow(&mut self, cmt: &Place<'tcx>, _: ty::BorrowKind) { - if cmt.projections.is_empty() { - if let PlaceBase::Local(lid) = cmt.base { + fn borrow(&mut self, cmt: &PlaceWithHirId<'tcx>, _: ty::BorrowKind) { + if cmt.place.projections.is_empty() { + if let PlaceBase::Local(lid) = cmt.place.base { self.set.remove(&lid); } } } - fn mutate(&mut self, cmt: &Place<'tcx>) { - if cmt.projections.is_empty() { + fn mutate(&mut self, cmt: &PlaceWithHirId<'tcx>) { + if cmt.place.projections.is_empty() { let map = &self.cx.tcx.hir(); if is_argument(*map, cmt.hir_id) { // Skip closure arguments @@ -150,7 +150,7 @@ impl<'a, 'tcx> Delegate<'tcx> for EscapeDelegate<'a, 'tcx> { return; } - if is_non_trait_box(cmt.ty) && !self.is_large_box(cmt.ty) { + if is_non_trait_box(cmt.place.ty) && !self.is_large_box(cmt.place.ty) { self.set.insert(cmt.hir_id); } return; diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index 771bc8d055825..83093ec51bd90 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -28,7 +28,7 @@ use rustc_middle::ty::{self, Ty, TyS}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::source_map::Span; use rustc_span::symbol::Symbol; -use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, Place, PlaceBase}; +use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceWithHirId, PlaceBase}; use std::iter::{once, Iterator}; use std::mem; @@ -1489,42 +1489,43 @@ fn check_for_loop_over_map_kv<'a, 'tcx>( } } -struct MutatePairDelegate { +struct MutatePairDelegate<'a, 'tcx> { + cx: &'a LateContext<'a, 'tcx>, hir_id_low: Option, hir_id_high: Option, span_low: Option, span_high: Option, } -impl<'tcx> Delegate<'tcx> for MutatePairDelegate { - fn consume(&mut self, _: &Place<'tcx>, _: ConsumeMode) {} +impl<'a, 'tcx> Delegate<'tcx> for MutatePairDelegate<'a, 'tcx> { + fn consume(&mut self, _: &PlaceWithHirId<'tcx>, _: ConsumeMode) {} - fn borrow(&mut self, cmt: &Place<'tcx>, bk: ty::BorrowKind) { + fn borrow(&mut self, cmt: &PlaceWithHirId<'tcx>, bk: ty::BorrowKind) { if let ty::BorrowKind::MutBorrow = bk { - if let PlaceBase::Local(id) = cmt.base { + if let PlaceBase::Local(id) = cmt.place.base { if Some(id) == self.hir_id_low { - self.span_low = Some(cmt.span) + self.span_low = Some(self.cx.tcx.hir().span(cmt.hir_id)) } if Some(id) == self.hir_id_high { - self.span_high = Some(cmt.span) + self.span_high = Some(self.cx.tcx.hir().span(cmt.hir_id)) } } } } - fn mutate(&mut self, cmt: &Place<'tcx>) { - if let PlaceBase::Local(id) = cmt.base { + fn mutate(&mut self, cmt: &PlaceWithHirId<'tcx>) { + if let PlaceBase::Local(id) = cmt.place.base { if Some(id) == self.hir_id_low { - self.span_low = Some(cmt.span) + self.span_low = Some(self.cx.tcx.hir().span(cmt.hir_id)) } if Some(id) == self.hir_id_high { - self.span_high = Some(cmt.span) + self.span_high = Some(self.cx.tcx.hir().span(cmt.hir_id)) } } } } -impl<'tcx> MutatePairDelegate { +impl<'a, 'tcx> MutatePairDelegate<'a, 'tcx> { fn mutation_span(&self) -> (Option, Option) { (self.span_low, self.span_high) } @@ -1579,12 +1580,13 @@ fn check_for_mutability(cx: &LateContext<'_, '_>, bound: &Expr<'_>) -> Option, +fn check_for_mutation<'a, 'tcx> ( + cx: &LateContext<'a, 'tcx>, body: &Expr<'_>, bound_ids: &[Option], ) -> (Option, Option) { let mut delegate = MutatePairDelegate { + cx: cx, hir_id_low: bound_ids[0], hir_id_high: bound_ids[1], span_low: None, diff --git a/clippy_lints/src/needless_pass_by_value.rs b/clippy_lints/src/needless_pass_by_value.rs index 218b0d27f7486..ca87deac9891c 100644 --- a/clippy_lints/src/needless_pass_by_value.rs +++ b/clippy_lints/src/needless_pass_by_value.rs @@ -326,21 +326,21 @@ struct MovedVariablesCtxt { } impl MovedVariablesCtxt { - fn move_common(&mut self, cmt: &euv::Place<'_>) { - if let euv::PlaceBase::Local(vid) = cmt.base { + fn move_common(&mut self, cmt: &euv::PlaceWithHirId<'_>) { + if let euv::PlaceBase::Local(vid) = cmt.place.base { self.moved_vars.insert(vid); } } } impl<'tcx> euv::Delegate<'tcx> for MovedVariablesCtxt { - fn consume(&mut self, cmt: &euv::Place<'tcx>, mode: euv::ConsumeMode) { + fn consume(&mut self, cmt: &euv::PlaceWithHirId<'tcx>, mode: euv::ConsumeMode) { if let euv::ConsumeMode::Move = mode { self.move_common(cmt); } } - fn borrow(&mut self, _: &euv::Place<'tcx>, _: ty::BorrowKind) {} + fn borrow(&mut self, _: &euv::PlaceWithHirId<'tcx>, _: ty::BorrowKind) {} - fn mutate(&mut self, _: &euv::Place<'tcx>) {} + fn mutate(&mut self, _: &euv::PlaceWithHirId<'tcx>) {} } diff --git a/clippy_lints/src/utils/usage.rs b/clippy_lints/src/utils/usage.rs index 904d948ad29ed..6a7a1f1ceaaef 100644 --- a/clippy_lints/src/utils/usage.rs +++ b/clippy_lints/src/utils/usage.rs @@ -8,7 +8,7 @@ use rustc_lint::LateContext; use rustc_middle::hir::map::Map; use rustc_middle::ty; use rustc_span::symbol::{Ident, Symbol}; -use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, Place, PlaceBase}; +use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceWithHirId, PlaceBase}; /// Returns a set of mutated local variable IDs, or `None` if mutations could not be determined. pub fn mutated_variables<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &'a LateContext<'a, 'tcx>) -> Option> { @@ -46,8 +46,8 @@ struct MutVarsDelegate { impl<'tcx> MutVarsDelegate { #[allow(clippy::similar_names)] - fn update(&mut self, cat: &Place<'tcx>) { - match cat.base { + fn update(&mut self, cat: &PlaceWithHirId<'tcx>) { + match cat.place.base { PlaceBase::Local(id) => { self.used_mutably.insert(id); }, @@ -63,15 +63,15 @@ impl<'tcx> MutVarsDelegate { } impl<'tcx> Delegate<'tcx> for MutVarsDelegate { - fn consume(&mut self, _: &Place<'tcx>, _: ConsumeMode) {} + fn consume(&mut self, _: &PlaceWithHirId<'tcx>, _: ConsumeMode) {} - fn borrow(&mut self, cmt: &Place<'tcx>, bk: ty::BorrowKind) { + fn borrow(&mut self, cmt: &PlaceWithHirId<'tcx>, bk: ty::BorrowKind) { if let ty::BorrowKind::MutBorrow = bk { self.update(&cmt) } } - fn mutate(&mut self, cmt: &Place<'tcx>) { + fn mutate(&mut self, cmt: &PlaceWithHirId<'tcx>) { self.update(&cmt) } } From b92602ba692b03cc2f959f1927b4f909eb5e3fcc Mon Sep 17 00:00:00 2001 From: Ralf Jung Date: Sun, 21 Jun 2020 11:20:48 +0200 Subject: [PATCH 35/42] Make is_freeze and is_copy_modulo_regions take TyCtxtAt --- clippy_lints/src/functions.rs | 2 +- clippy_lints/src/let_if_seq.rs | 3 +-- clippy_lints/src/mut_key.rs | 2 +- clippy_lints/src/non_copy_const.rs | 2 +- clippy_lints/src/question_mark.rs | 2 +- clippy_lints/src/utils/mod.rs | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/clippy_lints/src/functions.rs b/clippy_lints/src/functions.rs index 991d129e8f0d6..1f9bd7a691b52 100644 --- a/clippy_lints/src/functions.rs +++ b/clippy_lints/src/functions.rs @@ -513,7 +513,7 @@ fn is_mutable_ty<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>, span: Span, // primitive types are never mutable ty::Bool | ty::Char | ty::Int(_) | ty::Uint(_) | ty::Float(_) | ty::Str => false, ty::Adt(ref adt, ref substs) => { - tys.insert(adt.did) && !ty.is_freeze(cx.tcx, cx.param_env, span) + tys.insert(adt.did) && !ty.is_freeze(cx.tcx.at(span), cx.param_env) || KNOWN_WRAPPER_TYS.iter().any(|path| match_def_path(cx, adt.did, path)) && substs.types().any(|ty| is_mutable_ty(cx, ty, span, tys)) }, diff --git a/clippy_lints/src/let_if_seq.rs b/clippy_lints/src/let_if_seq.rs index d7bf8a1476817..e097f40f87e47 100644 --- a/clippy_lints/src/let_if_seq.rs +++ b/clippy_lints/src/let_if_seq.rs @@ -74,9 +74,8 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for LetIfSeq { let span = stmt.span.to(if_.span); let has_interior_mutability = !cx.tables.node_type(canonical_id).is_freeze( - cx.tcx, + cx.tcx.at(span), cx.param_env, - span ); if has_interior_mutability { return; } diff --git a/clippy_lints/src/mut_key.rs b/clippy_lints/src/mut_key.rs index 0b9b7e1b8cc1b..93569a04f7a3a 100644 --- a/clippy_lints/src/mut_key.rs +++ b/clippy_lints/src/mut_key.rs @@ -118,7 +118,7 @@ fn is_mutable_type<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>, span: Spa size.try_eval_usize(cx.tcx, cx.param_env).map_or(true, |u| u != 0) && is_mutable_type(cx, inner_ty, span) }, Tuple(..) => ty.tuple_fields().any(|ty| is_mutable_type(cx, ty, span)), - Adt(..) => cx.tcx.layout_of(cx.param_env.and(ty)).is_ok() && !ty.is_freeze(cx.tcx, cx.param_env, span), + Adt(..) => cx.tcx.layout_of(cx.param_env.and(ty)).is_ok() && !ty.is_freeze(cx.tcx.at(span), cx.param_env), _ => false, } } diff --git a/clippy_lints/src/non_copy_const.rs b/clippy_lints/src/non_copy_const.rs index bb257e5a542d9..230dfd2ebf566 100644 --- a/clippy_lints/src/non_copy_const.rs +++ b/clippy_lints/src/non_copy_const.rs @@ -110,7 +110,7 @@ impl Source { } fn verify_ty_bound<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>, source: Source) { - if ty.is_freeze(cx.tcx, cx.param_env, DUMMY_SP) || is_copy(cx, ty) { + if ty.is_freeze(cx.tcx.at(DUMMY_SP), cx.param_env) || is_copy(cx, ty) { // An `UnsafeCell` is `!Copy`, and an `UnsafeCell` is also the only type which // is `!Freeze`, thus if our type is `Copy` we can be sure it must be `Freeze` // as well. diff --git a/clippy_lints/src/question_mark.rs b/clippy_lints/src/question_mark.rs index 3591972fe082f..d8a73f8054bca 100644 --- a/clippy_lints/src/question_mark.rs +++ b/clippy_lints/src/question_mark.rs @@ -137,7 +137,7 @@ impl QuestionMark { fn moves_by_default(cx: &LateContext<'_, '_>, expression: &Expr<'_>) -> bool { let expr_ty = cx.tables.expr_ty(expression); - !expr_ty.is_copy_modulo_regions(cx.tcx, cx.param_env, expression.span) + !expr_ty.is_copy_modulo_regions(cx.tcx.at(expression.span), cx.param_env) } fn is_option(cx: &LateContext<'_, '_>, expression: &Expr<'_>) -> bool { diff --git a/clippy_lints/src/utils/mod.rs b/clippy_lints/src/utils/mod.rs index 60ab19e71f5e4..6d4c6c6ce1cea 100644 --- a/clippy_lints/src/utils/mod.rs +++ b/clippy_lints/src/utils/mod.rs @@ -891,7 +891,7 @@ pub fn type_is_unsafe_function<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx } pub fn is_copy<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, ty: Ty<'tcx>) -> bool { - ty.is_copy_modulo_regions(cx.tcx, cx.param_env, DUMMY_SP) + ty.is_copy_modulo_regions(cx.tcx.at(DUMMY_SP), cx.param_env) } /// Checks if an expression is constructing a tuple-like enum variant or struct From e11b873c70129eb14a49f7f0853a334f838afcce Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Mon, 22 Jun 2020 13:29:04 -0400 Subject: [PATCH 36/42] Stop using old version of `syn` in `rustc-workspace-hack` None of the tools seem to need syn 0.15.35, so we can just build syn 1.0. This was causing an issue with clippy's `compile-test` program: since multiple versions of `syn` would exist in the build directory, we would non-deterministically pick one based on filesystem iteration order. If the pre-1.0 version of `syn` was picked, a strange build error would occur (see https://github.com/rust-lang/rust/pull/73594#issuecomment-647671463) To prevent this kind of issue from happening again, we now panic if we find multiple versions of a crate in the build directly, instead of silently picking the first version we find. --- tests/compile-test.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/compile-test.rs b/tests/compile-test.rs index f28aedbf0ab8b..368fa6a98c5d6 100644 --- a/tests/compile-test.rs +++ b/tests/compile-test.rs @@ -49,7 +49,9 @@ fn third_party_crates() -> String { if let Some(name) = path.file_name().and_then(OsStr::to_str) { for dep in CRATES { if name.starts_with(&format!("lib{}-", dep)) && name.ends_with(".rlib") { - crates.entry(dep).or_insert(path); + if let Some(old) = crates.insert(dep, path.clone()) { + panic!("Found multiple rlibs for crate `{}`: `{:?}` and `{:?}", dep, old, path); + } break; } } From 51592f8587bd5dac9cb3f34fbd5896218a814677 Mon Sep 17 00:00:00 2001 From: flip1995 Date: Tue, 23 Jun 2020 02:18:38 +0200 Subject: [PATCH 37/42] Fix sync fallout --- clippy_lints/src/escape.rs | 2 +- clippy_lints/src/len_zero.rs | 3 +- clippy_lints/src/loops.rs | 6 +-- clippy_lints/src/types.rs | 58 +++++-------------------- clippy_lints/src/unnecessary_sort_by.rs | 5 ++- clippy_lints/src/utils/author.rs | 5 ++- clippy_lints/src/utils/usage.rs | 2 +- 7 files changed, 27 insertions(+), 54 deletions(-) diff --git a/clippy_lints/src/escape.rs b/clippy_lints/src/escape.rs index 59af475af175e..77e90eeac4958 100644 --- a/clippy_lints/src/escape.rs +++ b/clippy_lints/src/escape.rs @@ -6,7 +6,7 @@ use rustc_middle::ty::{self, Ty}; use rustc_session::{declare_tool_lint, impl_lint_pass}; use rustc_span::source_map::Span; use rustc_target::abi::LayoutOf; -use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceWithHirId, PlaceBase}; +use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId}; use crate::utils::span_lint; diff --git a/clippy_lints/src/len_zero.rs b/clippy_lints/src/len_zero.rs index 13e85fda8ffeb..7838e8e8ab774 100644 --- a/clippy_lints/src/len_zero.rs +++ b/clippy_lints/src/len_zero.rs @@ -211,7 +211,8 @@ fn check_impl_items(cx: &LateContext<'_, '_>, item: &Item<'_>, impl_items: &[Imp } fn check_cmp(cx: &LateContext<'_, '_>, span: Span, method: &Expr<'_>, lit: &Expr<'_>, op: &str, compare_to: u32) { - if let (&ExprKind::MethodCall(ref method_path, _, ref args, _), &ExprKind::Lit(ref lit)) = (&method.kind, &lit.kind) { + if let (&ExprKind::MethodCall(ref method_path, _, ref args, _), &ExprKind::Lit(ref lit)) = (&method.kind, &lit.kind) + { // check if we are in an is_empty() method if let Some(name) = get_item_name(cx, method) { if name.as_str() == "is_empty" { diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index 83093ec51bd90..ae1aa66be5cda 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -28,7 +28,7 @@ use rustc_middle::ty::{self, Ty, TyS}; use rustc_session::{declare_lint_pass, declare_tool_lint}; use rustc_span::source_map::Span; use rustc_span::symbol::Symbol; -use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceWithHirId, PlaceBase}; +use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId}; use std::iter::{once, Iterator}; use std::mem; @@ -1580,13 +1580,13 @@ fn check_for_mutability(cx: &LateContext<'_, '_>, bound: &Expr<'_>) -> Option ( +fn check_for_mutation<'a, 'tcx>( cx: &LateContext<'a, 'tcx>, body: &Expr<'_>, bound_ids: &[Option], ) -> (Option, Option) { let mut delegate = MutatePairDelegate { - cx: cx, + cx, hir_id_low: bound_ids[0], hir_id_high: bound_ids[1], span_low: None, diff --git a/clippy_lints/src/types.rs b/clippy_lints/src/types.rs index d59a2f1bae031..98de08f79f3d7 100644 --- a/clippy_lints/src/types.rs +++ b/clippy_lints/src/types.rs @@ -1945,16 +1945,12 @@ fn detect_extreme_expr<'a, 'tcx>(cx: &LateContext<'a, 'tcx>, expr: &'tcx Expr<'_ let which = match (&ty.kind, cv) { (&ty::Bool, Constant::Bool(false)) | (&ty::Uint(_), Constant::Int(0)) => Minimum, - (&ty::Int(ity), Constant::Int(i)) - if i == unsext(cx.tcx, i128::MIN >> (128 - int_bits(cx.tcx, ity)), ity) => - { + (&ty::Int(ity), Constant::Int(i)) if i == unsext(cx.tcx, i128::MIN >> (128 - int_bits(cx.tcx, ity)), ity) => { Minimum }, (&ty::Bool, Constant::Bool(true)) => Maximum, - (&ty::Int(ity), Constant::Int(i)) - if i == unsext(cx.tcx, i128::MAX >> (128 - int_bits(cx.tcx, ity)), ity) => - { + (&ty::Int(ity), Constant::Int(i)) if i == unsext(cx.tcx, i128::MAX >> (128 - int_bits(cx.tcx, ity)), ity) => { Maximum }, (&ty::Uint(uty), Constant::Int(i)) if clip(cx.tcx, u128::MAX, uty) == i => Maximum, @@ -2083,50 +2079,20 @@ fn numeric_cast_precast_bounds<'a>(cx: &LateContext<'_, '_>, expr: &'a Expr<'_>) } match pre_cast_ty.kind { ty::Int(int_ty) => Some(match int_ty { - IntTy::I8 => ( - FullInt::S(i128::from(i8::MIN)), - FullInt::S(i128::from(i8::MAX)), - ), - IntTy::I16 => ( - FullInt::S(i128::from(i16::MIN)), - FullInt::S(i128::from(i16::MAX)), - ), - IntTy::I32 => ( - FullInt::S(i128::from(i32::MIN)), - FullInt::S(i128::from(i32::MAX)), - ), - IntTy::I64 => ( - FullInt::S(i128::from(i64::MIN)), - FullInt::S(i128::from(i64::MAX)), - ), + IntTy::I8 => (FullInt::S(i128::from(i8::MIN)), FullInt::S(i128::from(i8::MAX))), + IntTy::I16 => (FullInt::S(i128::from(i16::MIN)), FullInt::S(i128::from(i16::MAX))), + IntTy::I32 => (FullInt::S(i128::from(i32::MIN)), FullInt::S(i128::from(i32::MAX))), + IntTy::I64 => (FullInt::S(i128::from(i64::MIN)), FullInt::S(i128::from(i64::MAX))), IntTy::I128 => (FullInt::S(i128::MIN), FullInt::S(i128::MAX)), - IntTy::Isize => ( - FullInt::S(isize::MIN as i128), - FullInt::S(isize::MAX as i128), - ), + IntTy::Isize => (FullInt::S(isize::MIN as i128), FullInt::S(isize::MAX as i128)), }), ty::Uint(uint_ty) => Some(match uint_ty { - UintTy::U8 => ( - FullInt::U(u128::from(u8::MIN)), - FullInt::U(u128::from(u8::MAX)), - ), - UintTy::U16 => ( - FullInt::U(u128::from(u16::MIN)), - FullInt::U(u128::from(u16::MAX)), - ), - UintTy::U32 => ( - FullInt::U(u128::from(u32::MIN)), - FullInt::U(u128::from(u32::MAX)), - ), - UintTy::U64 => ( - FullInt::U(u128::from(u64::MIN)), - FullInt::U(u128::from(u64::MAX)), - ), + UintTy::U8 => (FullInt::U(u128::from(u8::MIN)), FullInt::U(u128::from(u8::MAX))), + UintTy::U16 => (FullInt::U(u128::from(u16::MIN)), FullInt::U(u128::from(u16::MAX))), + UintTy::U32 => (FullInt::U(u128::from(u32::MIN)), FullInt::U(u128::from(u32::MAX))), + UintTy::U64 => (FullInt::U(u128::from(u64::MIN)), FullInt::U(u128::from(u64::MAX))), UintTy::U128 => (FullInt::U(u128::MIN), FullInt::U(u128::MAX)), - UintTy::Usize => ( - FullInt::U(usize::MIN as u128), - FullInt::U(usize::MAX as u128), - ), + UintTy::Usize => (FullInt::U(usize::MIN as u128), FullInt::U(usize::MAX as u128)), }), _ => None, } diff --git a/clippy_lints/src/unnecessary_sort_by.rs b/clippy_lints/src/unnecessary_sort_by.rs index e94eebb88e497..6ac6a12529c86 100644 --- a/clippy_lints/src/unnecessary_sort_by.rs +++ b/clippy_lints/src/unnecessary_sort_by.rs @@ -95,7 +95,10 @@ fn mirrored_exprs( // The two exprs are method calls. // Check to see that the function is the same and the arguments are mirrored // This is enough because the receiver of the method is listed in the arguments - (ExprKind::MethodCall(left_segment, _, left_args, _), ExprKind::MethodCall(right_segment, _, right_args, _)) => { + ( + ExprKind::MethodCall(left_segment, _, left_args, _), + ExprKind::MethodCall(right_segment, _, right_args, _), + ) => { left_segment.ident == right_segment.ident && left_args .iter() diff --git a/clippy_lints/src/utils/author.rs b/clippy_lints/src/utils/author.rs index 8b58bbb5e6575..910b665ccb75e 100644 --- a/clippy_lints/src/utils/author.rs +++ b/clippy_lints/src/utils/author.rs @@ -251,7 +251,10 @@ impl<'tcx> Visitor<'tcx> for PrintVisitor { } }, ExprKind::MethodCall(ref _method_name, ref _generics, ref _args, ref _fn_span) => { - println!("MethodCall(ref method_name, ref generics, ref args, ref fn_span) = {};", current); + println!( + "MethodCall(ref method_name, ref generics, ref args, ref fn_span) = {};", + current + ); println!(" // unimplemented: `ExprKind::MethodCall` is not further destructured at the moment"); }, ExprKind::Tup(ref elements) => { diff --git a/clippy_lints/src/utils/usage.rs b/clippy_lints/src/utils/usage.rs index 6a7a1f1ceaaef..0492878fc272f 100644 --- a/clippy_lints/src/utils/usage.rs +++ b/clippy_lints/src/utils/usage.rs @@ -8,7 +8,7 @@ use rustc_lint::LateContext; use rustc_middle::hir::map::Map; use rustc_middle::ty; use rustc_span::symbol::{Ident, Symbol}; -use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceWithHirId, PlaceBase}; +use rustc_typeck::expr_use_visitor::{ConsumeMode, Delegate, ExprUseVisitor, PlaceBase, PlaceWithHirId}; /// Returns a set of mutated local variable IDs, or `None` if mutations could not be determined. pub fn mutated_variables<'a, 'tcx>(expr: &'tcx Expr<'_>, cx: &'a LateContext<'a, 'tcx>) -> Option> { From 52c486475774b7416e691323322ef1ea2db790de Mon Sep 17 00:00:00 2001 From: Michael Wright Date: Thu, 11 Jun 2020 20:25:14 +0200 Subject: [PATCH 38/42] Improve end of expression check in for loop lints The code should to check that the current expression _is_ the end expression; not that it's equal to it. The equality check seems very wasteful in terms of performance. --- clippy_lints/src/loops.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index ae1aa66be5cda..3874b040b1320 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -2042,7 +2042,7 @@ impl<'a, 'tcx> Visitor<'tcx> for InitializeVisitor<'a, 'tcx> { if self.state == VarState::DontWarn { return; } - if SpanlessEq::new(self.cx).eq_expr(&expr, self.end_expr) { + if expr.hir_id == self.end_expr.hir_id { self.past_loop = true; return; } From 51c3b42ef33f14cb40aa440d2d432e4c70e028b0 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Tue, 23 Jun 2020 14:27:11 +0700 Subject: [PATCH 39/42] Add more specific GitHub issue templates Apply suggestions from code review Co-authored-by: Philipp Krones --- .github/ISSUE_TEMPLATE.md | 8 ---- .github/ISSUE_TEMPLATE/blank_issue.md | 4 ++ .github/ISSUE_TEMPLATE/bug_report.md | 47 ++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 +++ .github/ISSUE_TEMPLATE/ice.md | 53 +++++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/new_lint.md | 35 ++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 1 + 7 files changed, 145 insertions(+), 8 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/blank_issue.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/ice.md create mode 100644 .github/ISSUE_TEMPLATE/new_lint.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md deleted file mode 100644 index 15006a07b44f2..0000000000000 --- a/.github/ISSUE_TEMPLATE.md +++ /dev/null @@ -1,8 +0,0 @@ - diff --git a/.github/ISSUE_TEMPLATE/blank_issue.md b/.github/ISSUE_TEMPLATE/blank_issue.md new file mode 100644 index 0000000000000..9aef3ebe637a1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/blank_issue.md @@ -0,0 +1,4 @@ +--- +name: Blank Issue +about: Create a blank issue. +--- diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000000..d8f0c44148cae --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,47 @@ +--- +name: Bug Report +about: Create a bug report for Clippy +labels: L-bug +--- + + +I tried this code: + +```rust + +``` + +I expected to see this happen: *explanation* + +Instead, this happened: *explanation* + +### Meta + +- `cargo clippy -V`: e.g. clippy 0.0.212 (f455e46 2020-06-20) +- `rustc -Vv`: + ``` + rustc 1.46.0-nightly (f455e46ea 2020-06-20) + binary: rustc + commit-hash: f455e46eae1a227d735091091144601b467e1565 + commit-date: 2020-06-20 + host: x86_64-unknown-linux-gnu + release: 1.46.0-nightly + LLVM version: 10.0 + ``` + + +

    Backtrace +

    + + ``` + + ``` + +

    +
    diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000000000..bd7dc0ac95c1f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Rust Programming Language Forum + url: https://users.rust-lang.org + about: Please ask and answer questions about Rust here. diff --git a/.github/ISSUE_TEMPLATE/ice.md b/.github/ISSUE_TEMPLATE/ice.md new file mode 100644 index 0000000000000..3abe76bf2c497 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/ice.md @@ -0,0 +1,53 @@ +--- +name: Internal Compiler Error +about: Create a report for an internal compiler error in Clippy. +labels: L-bug, L-crash +--- + + +### Code + +```rust + +``` + +### Meta + +- `cargo clippy -V`: e.g. clippy 0.0.212 (f455e46 2020-06-20) +- `rustc -Vv`: + ``` + rustc 1.46.0-nightly (f455e46ea 2020-06-20) + binary: rustc + commit-hash: f455e46eae1a227d735091091144601b467e1565 + commit-date: 2020-06-20 + host: x86_64-unknown-linux-gnu + release: 1.46.0-nightly + LLVM version: 10.0 + ``` + +### Error output + +``` + +``` + + +
    Backtrace +

    + + ``` + + ``` + +

    +
    diff --git a/.github/ISSUE_TEMPLATE/new_lint.md b/.github/ISSUE_TEMPLATE/new_lint.md new file mode 100644 index 0000000000000..70445d7ef2503 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/new_lint.md @@ -0,0 +1,35 @@ +--- +name: New lint suggestion +about: Suggest a new Clippy lint. +labels: L-lint +--- + +### What it does + +*What does this lint do?* + +### Categories (optional) + +- Kind: *See for list of lint kinds* + +*What benefit of this lint over old code?* + +For example: +- Remove bounce checking inserted by ... +- Remove the need to duplicating/storing/typo ... + +### Drawbacks + +None. + +### Example + +```rust + +``` + +Could be written as: + +```rust + +``` diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 97aa220afea54..137a73630940a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -28,4 +28,5 @@ Delete this line and everything above before opening your PR. --- +*Please keep the line below* changelog: none From ed083cc95987ef37b7ed897f632b4a7a1baaff60 Mon Sep 17 00:00:00 2001 From: flip1995 Date: Sat, 13 Jun 2020 18:22:38 +0200 Subject: [PATCH 40/42] Use lints in Clippy that are enabled in rustc bootstrap --- clippy_lints/src/lib.rs | 17 ++++++++++------- src/driver.rs | 6 +++++- src/main.rs | 2 ++ 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 021fbe932d895..25c1c2d73b6c4 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -1,19 +1,22 @@ // error-pattern:cargo-clippy #![feature(bindings_after_at)] -#![feature(box_syntax)] #![feature(box_patterns)] +#![feature(box_syntax)] +#![feature(concat_idents)] +#![feature(crate_visibility_modifier)] +#![feature(drain_filter)] #![feature(or_patterns)] #![feature(rustc_private)] #![feature(stmt_expr_attributes)] -#![allow(clippy::missing_docs_in_private_items, clippy::must_use_candidate)] #![recursion_limit = "512"] -#![warn(rust_2018_idioms, trivial_casts, trivial_numeric_casts)] -#![deny(rustc::internal)] #![cfg_attr(feature = "deny-warnings", deny(warnings))] -#![feature(crate_visibility_modifier)] -#![feature(concat_idents)] -#![feature(drain_filter)] +#![allow(clippy::missing_docs_in_private_items, clippy::must_use_candidate)] +#![warn(trivial_casts, trivial_numeric_casts)] +// warn on lints, that are included in `rust-lang/rust`s bootstrap +#![warn(rust_2018_idioms, unused_lifetimes)] +// warn on rustc internal lints +#![deny(rustc::internal)] // FIXME: switch to something more ergonomic here, once available. // (Currently there is no way to opt into sysroot crates without `extern crate`.) diff --git a/src/driver.rs b/src/driver.rs index 4453ae5ce4414..10f56fb2070f3 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -1,5 +1,9 @@ -#![cfg_attr(feature = "deny-warnings", deny(warnings))] #![feature(rustc_private)] +#![cfg_attr(feature = "deny-warnings", deny(warnings))] +// warn on lints, that are included in `rust-lang/rust`s bootstrap +#![warn(rust_2018_idioms, unused_lifetimes)] +// warn on rustc internal lints +#![deny(rustc::internal)] // FIXME: switch to something more ergonomic here, once available. // (Currently there is no way to opt into sysroot crates without `extern crate`.) diff --git a/src/main.rs b/src/main.rs index bc43a34ed5d4a..6739a4cf2245e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,6 @@ #![cfg_attr(feature = "deny-warnings", deny(warnings))] +// warn on lints, that are included in `rust-lang/rust`s bootstrap +#![warn(rust_2018_idioms, unused_lifetimes)] use rustc_tools_util::VersionInfo; use std::env; From b886c06c1a52a57890b318cc7304f7384e696ec8 Mon Sep 17 00:00:00 2001 From: flip1995 Date: Sat, 13 Jun 2020 18:22:49 +0200 Subject: [PATCH 41/42] Fix fallout --- clippy_lints/src/loops.rs | 6 +++--- clippy_lints/src/suspicious_trait_impl.rs | 2 +- clippy_lints/src/trivially_copy_pass_by_ref.rs | 2 +- clippy_lints/src/utils/sugg.rs | 4 ++-- src/driver.rs | 6 ++++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/clippy_lints/src/loops.rs b/clippy_lints/src/loops.rs index ae1aa66be5cda..9020b47a146fa 100644 --- a/clippy_lints/src/loops.rs +++ b/clippy_lints/src/loops.rs @@ -1497,7 +1497,7 @@ struct MutatePairDelegate<'a, 'tcx> { span_high: Option, } -impl<'a, 'tcx> Delegate<'tcx> for MutatePairDelegate<'a, 'tcx> { +impl<'tcx> Delegate<'tcx> for MutatePairDelegate<'_, 'tcx> { fn consume(&mut self, _: &PlaceWithHirId<'tcx>, _: ConsumeMode) {} fn borrow(&mut self, cmt: &PlaceWithHirId<'tcx>, bk: ty::BorrowKind) { @@ -1525,7 +1525,7 @@ impl<'a, 'tcx> Delegate<'tcx> for MutatePairDelegate<'a, 'tcx> { } } -impl<'a, 'tcx> MutatePairDelegate<'a, 'tcx> { +impl MutatePairDelegate<'_, '_> { fn mutation_span(&self) -> (Option, Option) { (self.span_low, self.span_high) } @@ -2292,7 +2292,7 @@ struct HasBreakOrReturnVisitor { has_break_or_return: bool, } -impl<'a, 'tcx> Visitor<'tcx> for HasBreakOrReturnVisitor { +impl<'tcx> Visitor<'tcx> for HasBreakOrReturnVisitor { type Map = Map<'tcx>; fn visit_expr(&mut self, expr: &'tcx Expr<'_>) { diff --git a/clippy_lints/src/suspicious_trait_impl.rs b/clippy_lints/src/suspicious_trait_impl.rs index a9e6fa329c0f0..cf71c3144a2eb 100644 --- a/clippy_lints/src/suspicious_trait_impl.rs +++ b/clippy_lints/src/suspicious_trait_impl.rs @@ -184,7 +184,7 @@ struct BinaryExprVisitor { in_binary_expr: bool, } -impl<'a, 'tcx> Visitor<'tcx> for BinaryExprVisitor { +impl<'tcx> Visitor<'tcx> for BinaryExprVisitor { type Map = Map<'tcx>; fn visit_expr(&mut self, expr: &'tcx hir::Expr<'_>) { diff --git a/clippy_lints/src/trivially_copy_pass_by_ref.rs b/clippy_lints/src/trivially_copy_pass_by_ref.rs index 8e0cb94317aff..146ac4b09d5a4 100644 --- a/clippy_lints/src/trivially_copy_pass_by_ref.rs +++ b/clippy_lints/src/trivially_copy_pass_by_ref.rs @@ -58,7 +58,7 @@ pub struct TriviallyCopyPassByRef { limit: u64, } -impl<'a, 'tcx> TriviallyCopyPassByRef { +impl<'tcx> TriviallyCopyPassByRef { pub fn new(limit: Option, target: &SessionConfig) -> Self { let limit = limit.unwrap_or_else(|| { let bit_width = u64::from(target.ptr_width); diff --git a/clippy_lints/src/utils/sugg.rs b/clippy_lints/src/utils/sugg.rs index 73758b7eeb7eb..e919b1522d89a 100644 --- a/clippy_lints/src/utils/sugg.rs +++ b/clippy_lints/src/utils/sugg.rs @@ -509,7 +509,7 @@ fn indentation(cx: &T, span: Span) -> Option { } /// Convenience extension trait for `DiagnosticBuilder`. -pub trait DiagnosticBuilderExt<'a, T: LintContext> { +pub trait DiagnosticBuilderExt { /// Suggests to add an attribute to an item. /// /// Correctly handles indentation of the attribute and item. @@ -556,7 +556,7 @@ pub trait DiagnosticBuilderExt<'a, T: LintContext> { fn suggest_remove_item(&mut self, cx: &T, item: Span, msg: &str, applicability: Applicability); } -impl<'a, 'b, 'c, T: LintContext> DiagnosticBuilderExt<'c, T> for rustc_errors::DiagnosticBuilder<'b> { +impl DiagnosticBuilderExt for rustc_errors::DiagnosticBuilder<'_> { fn suggest_item_with_attr( &mut self, cx: &T, diff --git a/src/driver.rs b/src/driver.rs index 10f56fb2070f3..3d12436e9af8e 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -8,6 +8,8 @@ // FIXME: switch to something more ergonomic here, once available. // (Currently there is no way to opt into sysroot crates without `extern crate`.) #[allow(unused_extern_crates)] +extern crate rustc_data_structures; +#[allow(unused_extern_crates)] extern crate rustc_driver; #[allow(unused_extern_crates)] extern crate rustc_errors; @@ -97,7 +99,7 @@ impl rustc_driver::Callbacks for ClippyCallbacks { #[allow(clippy::find_map, clippy::filter_map)] fn describe_lints() { use lintlist::{Level, Lint, ALL_LINTS, LINT_LEVELS}; - use std::collections::HashSet; + use rustc_data_structures::fx::FxHashSet; println!( " @@ -141,7 +143,7 @@ Available lint options: let scoped = |x: &str| format!("clippy::{}", x); - let lint_groups: HashSet<_> = lints.iter().map(|lint| lint.group).collect(); + let lint_groups: FxHashSet<_> = lints.iter().map(|lint| lint.group).collect(); println!("Lint checks provided by clippy:\n"); println!(" {} {:7.7} meaning", padded("name"), "default"); From 7374185b36d8dee6c91970a4c016d714a6e1bd39 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Tue, 23 Jun 2020 20:59:35 +0700 Subject: [PATCH 42/42] Remove unused allowed unused attributes --- clippy_lints/src/lib.rs | 32 +++----------------------------- src/driver.rs | 5 ----- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/clippy_lints/src/lib.rs b/clippy_lints/src/lib.rs index 19ad7d92c2b37..501220f28e5db 100644 --- a/clippy_lints/src/lib.rs +++ b/clippy_lints/src/lib.rs @@ -20,47 +20,25 @@ // FIXME: switch to something more ergonomic here, once available. // (Currently there is no way to opt into sysroot crates without `extern crate`.) -#[allow(unused_extern_crates)] extern crate rustc_ast; -#[allow(unused_extern_crates)] extern crate rustc_ast_pretty; -#[allow(unused_extern_crates)] extern crate rustc_attr; -#[allow(unused_extern_crates)] extern crate rustc_data_structures; -#[allow(unused_extern_crates)] -extern crate rustc_driver; -#[allow(unused_extern_crates)] extern crate rustc_errors; -#[allow(unused_extern_crates)] extern crate rustc_hir; -#[allow(unused_extern_crates)] extern crate rustc_hir_pretty; -#[allow(unused_extern_crates)] extern crate rustc_index; -#[allow(unused_extern_crates)] extern crate rustc_infer; -#[allow(unused_extern_crates)] extern crate rustc_lexer; -#[allow(unused_extern_crates)] extern crate rustc_lint; -#[allow(unused_extern_crates)] extern crate rustc_middle; -#[allow(unused_extern_crates)] extern crate rustc_mir; -#[allow(unused_extern_crates)] extern crate rustc_parse; -#[allow(unused_extern_crates)] extern crate rustc_parse_format; -#[allow(unused_extern_crates)] extern crate rustc_session; -#[allow(unused_extern_crates)] extern crate rustc_span; -#[allow(unused_extern_crates)] extern crate rustc_target; -#[allow(unused_extern_crates)] extern crate rustc_trait_selection; -#[allow(unused_extern_crates)] extern crate rustc_typeck; use rustc_data_structures::fx::FxHashSet; @@ -85,14 +63,10 @@ use rustc_session::Session; /// # Example /// /// ``` -/// # #![feature(rustc_private)] -/// # #[allow(unused_extern_crates)] -/// # extern crate rustc_middle; -/// # #[allow(unused_extern_crates)] -/// # extern crate rustc_session; -/// # #[macro_use] -/// # use clippy_lints::declare_clippy_lint; +/// #![feature(rustc_private)] +/// extern crate rustc_session; /// use rustc_session::declare_tool_lint; +/// use clippy_lints::declare_clippy_lint; /// /// declare_clippy_lint! { /// /// **What it does:** Checks for ... (describe what the lint matches). diff --git a/src/driver.rs b/src/driver.rs index 3fca66a5792cc..decd3a79cce18 100644 --- a/src/driver.rs +++ b/src/driver.rs @@ -7,15 +7,10 @@ // FIXME: switch to something more ergonomic here, once available. // (Currently there is no way to opt into sysroot crates without `extern crate`.) -#[allow(unused_extern_crates)] extern crate rustc_data_structures; -#[allow(unused_extern_crates)] extern crate rustc_driver; -#[allow(unused_extern_crates)] extern crate rustc_errors; -#[allow(unused_extern_crates)] extern crate rustc_interface; -#[allow(unused_extern_crates)] extern crate rustc_middle; use rustc_interface::interface;

    (~$e?bkQ^DlMW|xDR2VN&xA?;-ys?NdrKN%9b1oQ~BlJwV`On%%pgYNxVJ(Fax!EcbrikPEv1WHc7 zz}-Lk4LPtLX6@@N)OZ}A=^_{r78VTS8nFjov-jKyrk%JMYY@i=Mw1Cjx?i!rXBlDQ zzN_wDZ*&nGgnag_a_~O};JxuYFUhR3zH>1F5>u{8<+>|&zv6$|u>a{Xkm*|x#Dt;( z1{+7)*!OUAT1S=d7XqW;3_>zuWZ@q8=L5+WS+Sy$z-bm$H>baS9?dgIw8&PF&B5?l zi>Tl3hBT=k>MO&sZzkg4_zop9nF%oU0pEl2q8&$Wm0^3fZ}dI$#s$Ug-zfKAmF)lk zf`=X%DU;AwIVr1O`)0}}ONVV=keU#uvh6lo&3M_=b#Z$S;mERj4|sm}fupeE619~n z53yNTi8AtP5MxA1jq>(9@WfgTfASt*hCzdZ9)GtV8~=mGJS~QYcp#bXNSdUuz-j(P z@1A;ZbBh#_SU~L8Td?=7&R~FW6XAaRCpg(s$;ay6GEq{{D+wTj=)f5y1G^PGHq30% zNQ0=ZUuJvrSm`msUe%}Ywh&93sBj|a69#ich{51=QwM+Pj{B|v`Z0XnjB-ql6*>H| z2wj^EXWnZ@gMky12|x-WE+le87z~-38FoJ4DmU8E_^Z30(|eCS6V{7{4K&t~6B`em z5SqhS>q(@E?{b}!q`DTku;X=e2T)>cwdloF@!nd`Sb5OWArB4L4k@)}t8mk+-0m@t z6E0Je&ukiV4+R#_9HPIKU?c#cBX^p>`adwf4MJi%O`*M zrnX4A0K& zVN?z1@3qcu1i#bdwd2;tKF&A44OjjHK(lq2ECCAUaJ8-xq;C&Y?%1eZn7%;DCG5qU zB;AZDT&5)PF-F+)IBA#d3G2}Fs2a#(rA0tZMM5gc-eh>DZRpD_BDwu2uE^x=FLHFO zPwMO+2(PaF7#>pB-P?Kc?t?&7a(tlznNkKygxSHo2Whz^ffwe>(H+9~&6AwrAeQzn zw3wIt90{W6;10)G4A6mxA?+2QBlxWU{7<_z{MUb(VPVQYJ2OQ;ZZ?k5O`}sC+xqaf zresDF(^^FwT_?UHu-`!g7FW3ptjpEks?W9&N%xCM&A@G$a~MkOBJ6}X+#%h~@|I zj%a-7%_}Xxz29j0;^Bs=TaqnTB+Zq1AQ7|X>e!B^8XW+ljBh;=U5XHvLA-@I6zHQP zOCRxL<8@y!3vPv7oLA=sVX!#C=>$|b5c1dFJyHS7Cc)a#rSkrGx6V+w<=@_JVk~LX zFBNGyl54_$SViSP3Ij2}kg%uIISezzrr|xun@!wMe9-pl=(o!|Q~OFXJU}nA!Ijm5 z-C%Qvi+%N>5=Rf8#&j#leMR$@A&Vf#`N`zn@+Q}ocL!kmk;9Q^_T`=n5YQt#AG~H9 z7{np19r9468%~7X-R+{MgW+zQME~}KFB>998 zw~mi6X(vu8SC=cBaLvroa0lVm0A>uai!(Sj7-IdK>W+@p&M?Wf`lHF*UVPYYW%?B! zw!s?9fFvZ=Uvb8O5bxjEE6mpn@cvDd2Ec^<2Xt#nE)wFGkkCo4c>m5`aR^$h3w)=8 z`zSHW$o}H^mczUUGmeH+#&2eRWBqTp*J9U~5YvjPvHckf$oY+p#QDus?*CP{+p4UO z1mY$$3PyERb4~A*jCEBwu&u{BSdn-TdLCLKmE>+o>&eC8bGbH!eQ?DRT?*p}aVrYp z!RG4lNqpY6f$Y;nDnp-?P(1BGi5)(zwwB#z4sLUWFjvX8%`QX|S{ngwOALw7rsZ}a z9#1-E$?^)QNXQEbs|fboUYj^MwFOagJ)&ug${|#`nZ=evEIBt2s1S-iKk40Lde{8X z_gCA2HZ`#5|!PP6*XXY)uHvx6|m=n!N(P25&N{6lS{2A-}e`eg=bV5cB*^8z*S@g|V1CQ-bx8;5f_2z&Q&vT4?0 z7EU}?l39S{ishG>=%0yFB$WK|wzy#&A3Mg$69O*}#uQpx08C~H_@-~S9fJA;A#CV{ z0ikkO#r$nQu5Q2pF`E3UAe?~lk7EbBq`I{L1hxoLXCZtdLz-k-cPG6o7iDz^$QOf7 z{sYaH1STql;Sc~xK|I6e%j}W`j0MGog&QlGHQ^pS>ipQ&8k-m=ML|{$L0E%_aN|OC zu@~kfGO`wpTR?CotTBSt?5ki4ZN$(4{WbnQ39njLpPUlzN0Qz~-+)mE)km@hdJlD^ z4dTjlz)57F(qxtGq7TLHLkNw!@4sbf-CoN(G*TD+?fl>0rHcjANdYxQiHDt|G>&$d zxGbv3Jq0_Zo}Nmvz#$5WR+-)Iul(hRW=F6dHY9}HNMjbuLweJRaRA~xJ^g!eJ8*=% z9_pUe32=#wVsP;uNqA(zXrXR;m=^l~VI>O~e|JpL0%1=i21byEw0<-CT>G*z1Z&6_ z{zm(%??^}da9WRcCdnz;ngbyqDnz&~(NgSqv26LzJ`}ShvO$`x5mrz5e`K25Gp6OV z(sPXB_*YC(w%b?tSI4vmR9R#jK@|rEt>ApAO`SUZ=awx9!5==~Rl8p}!XNn}n8XSB z;;^i++W67*siQmNzDS_X?^K`Tm~TPxi&;u4Jj52To*EaTo7=V~F#8s7#`DX$5p#{f zP;Y$6s2|qd>7Zn!$k#X3=Jk!pUd)~HVM&Z57m{qG72p#$v!++<8$qBE5uINwibUkW z6bXPgBs@i1K_;U!_@uTk$Pc>sd^0yLzCx`5k}Axw5QlZG3+*^Kq)Zz0xYar-NTCvX zpd!I0uxyv^kQUlFJ5_WD{0+X7nNtv=AlOFG0|6|srrQRMD`mgjT;5%3GT7Xq01p|l z7UFTJj7DH=2aPMmzJq>BX35N|g4rcMi!(2HBqDNlp>tgLO2I`un~Cj8(#L5q7< z(G>C(PzEG^FQIa>6oc+YtA!g@WPjOTa>r7IcoF^h&a_23nU88i1a4t(mXr7wqNk5mA=967-0Ipk-fI{<81DN`GX zFqrU3$~5D|Sy8p*ca{WmW{W_5M7U29cX1mOmIljh5t)TQRd?8tcZFM~?hjiosv;fu zA?LpHPwK)V!2xSc_?y6kF4@B&OiHoqtdi{mzU6Ww+0!dR?u6A$B1Nq!`#^8W_?C_2 zVe%d*Ea0z+VLU`PB8-h|_JQ6bZFa9XYbF9S7ZeOc0|)>ZyYm6x@?PJ9`~h45pxxmB zBLmc?i@Cd})2~PNf6BMqngKwPX|%?N3Q1Uk+|Pr)M!E*yIT#hmz7?>Q&^@A6N%H1k zg1f`?$j^bw&%S7}*;V9hd>|f1audw9goHh0W*_ox@>SRMR~5uz0WY$%L*G!-pFK<` z=~wBC>aT+27a?hstMHf?P@+BbSFP+}y`r&dJfugUSSr{xQac))Riab$GvYxr8yZo2 zoRy@(t#D^8MJXNY-%VArz~gzD54~E$O^k=EVwb}~#&O>i?i>T$!l%*&_6)v~uweoR zdqkp`Pg<~+KZM`5X&V-uaLoCT;2CiPsDuEFA=zkbK39;!d_x2N9)KWbc7%At2ndt# zup&@f*`euJ_2xY-MERIm3Iv*PQIba>a*%Yf5jm%DS++SXG%(O(S_ry7v|(^yL}WOn z_5?kJ^=Zaw3u~C!K!O_p08adwW{0+fDqxGlhdXi&FJ0RIW2#hwM3g}m{1rRAx?qm6W zm_o*(QwJMhv>Ma8v;@H=EaBEHWzFYAEBx+jg7W4BKGwgj7(vQgMT9HiuH z5u^tkH?mX>>sM2&&#WP0UxAj2^@P=qMI1pwGe+E9SUz>k zNjdq_`sVtLF)T=$dMj=XARN3Dc^Md_@mc{vCU=uA>fIxq{h*Z)z2_B@zil1h9RnZ4 z>2RHwBte-vIJZ1>6$}{^;5#Aaj$_dqCJz&Ml#Ea%idt_U`kf+=EW5EmH?j^vuIZ;} zbCEu8-fFIny%#6)`GzgbT?r=pyuR7?d1zcqP^$pG^1w&HVZ{F&zhE_q{AIU-e?R!AY$OS2!5}48>+?awA0D*WtAPs@FyE z&Y^FE?SR*Y(16)poi6OY?s6lD)~|Xaocu&e3upy}b+LYNPB+uD}#h23(+_6 z5U5rVk1RivucS@C`jt4sVk`+_$~jB2rQGanQepM!&KNz7J$)}CO=NASh44Bsg%QMP z1O3g$*gWaI)44Cv1j~eklU_OOh>H@G25LYciALtwB33L|FD}dY9j{5JJeHRGjbwSq zbbwDWEU6H_40Fy{{oPir(DvKi z;kf6_n*o8qko1z2t)Iw}8S0K_Wb`#pcdN_Ga|4*1deH#(2+g7AL%@#a3xJLBB#w^# zpkMSe=G0M!HDU`Z5Ya?nJ%~qKA->v%YKKZ&cx^z&b-FL9V;H|A%T`M|H)(;{BO|UY z24X`cGxU}$9h~yvLoZ2AZEfehPj_UC@K}jKCk6_9q0RwjZxQ1XWn~44KYk4k3^*KF zx2H#Y`z^jo8Vy9le7IJ{2kVhk#o=mRS+3xku!<8HMg19GE@1Cw$T?xJ(IMB?%N=mK zW6IhnA$2(dlJ``|-1MORLA3xOR6J2IB0cC!MCqd_7o_h1XxF7c*f`K-;rI;&2=Gqx zI>%S{CEqku=L*p@LF$d(^jO8}eej`P1GNfi(3SgLu#=+1hb@DL8ql&irMesM}FQYbEvr^U7a>uAyeY-B5dHj={o)OJWGEo&R>tl3&Xb*T8 zp)A-^A+$qQwe&p1gUp)ojo+P1RAli1fFCnha&eQ23=vM);=4Cf$}uq~hu(AI&+l(% zdtyRS)bnB?k6ssvD}%@z^f=#a7&>U`;=4l+uIz|;LI5MqQv5oH25?$haRvbP`BYPas;kSrnEffUdXE65&p}#PIFU9<6t`26Y z2vv$-=sBrHRxX+df>Ab89W}DLIoA>qazOpf9Ce>g)!ry%Sp?O?L2-@$h!i!KxqkG) z%kjxkunn<)v%_DeRLN!<=|(S(>mDdTV@tweRfd zoz;SNx$Rg|n*?fyB=qWX2^HEs8@ojbEv_zqC4^)VL+>~DWOgLc>FK8|S;&8PAdizs za}mVx&pD|!+!Gdy82rcngUgj;xfV z_h+@kNa@dMR!F7cA_+k4Wbo-&IO*oQKPXF(G zuXQlR*T0r}CJ{yjG#SbLC*!9QjJIAH8MeDt6VD6``39~+H39rvd89!zE_36*4!0EQPxo6HHWjnzN7Zva?JSb`wt z74=tSAerjs(&$r6bB^{jG7ee@BukFr?4^m&becCZI1yE_Mhq48#Svi_tehoO&YyX(TfUFKq_PH;|WP z%qGKfPmI$fg*#4MojeCQ2EJR4aYAheeD(aqUK>$6B!8FlTDDGlblC;eP2OoTSfrQG&%o7AmHZabUxC9+a2)%$$^k` z0wWZ>#P$PN&zY`7H%6o++#3e34z{~^^}$RtwrY`P1gJ#5Ya%PAUKx9a?`6}wQ*Atn z6U9r&K#*>QzL#7fniP*x*y@!UHOSEDZs ziUKy?%PbDUC15`rVCYv08%yJYcszliSK^EUlwXZaW4<7KFB>oie<)(M;%`MRlUB>C z%xBrfb{}?9B&5>02%0S9C!PtA!IOMqWLHR(bQ0&AL0el?eq=2>YYNm{>2rH;YRNcQR`r zYX`~5@zqDzMn|1qoZT1Ec8Bf4AYsw-nZPNGe#;^rIj&4q%y7K>5v$Qklr>mS2?bIl zCS>Y^+93*z878&s-Xe8GzN~}ZsqORTRMwru;Ju{qq50Qfd1^cnl~CS`y1>SAv@o8U zEf=mMppPEeau7R%)Yi%2N{Twx=VYZUFl<<@QLB^<29sR#V88{8oeZ0%4(rd?gNIGu z1M+dDuj+r}!TRy-jg*9LIJkfS1s5et;ht6D;cFpz{&qb<6%wF7l%0?R;C41AMij5+ z4GV3T)6@1GKJ0_R(135PKGW5s01ipStl`$9RRE@pOmtt&(ABRE4T}PABEwR?up9u4 zd7wm4kAgpdQz9T^m>H===JhRud8upQHepz^ zsrl)^3V?1~ks^RtNx|+e`=wkwP)H==^wcCw#8C=3eoeSKi$(%U-Ip6C{57&}kIe;1q#MU%^FC1nm+ltCle zl7`LXs-U?-k?fIV?`M)^g3nOSII?GW#aA^=9FEhU(AlFA*zF zs;m-#&O<~C9eTW`@qCmymDb3d8mw}?2T%vKOAIhVytJHfCH3waOb9BVXr;kTR)@--6A9C2@qs8MQ zguwt}ID9`GfJS|VI}KOM$z5nt$jk-M%F+Z#2+}lWD8r$Lm~}UN2c~pJ z*%=SiKQ4aO`xhWxg`f9i@$=hfi&w7~Z_l5;d;QA%`r`H5^Ot{lwK)H`XXkG&UcP>{ zc=q(?zx?&WUVVD;^vA`Uzdn6;9xTq^zJ2|6@OR(+`>WS)f8v367q8!#8_!=oU%Y<7 zAD%w@oB7LMpT2tj( zE?dLrCXJrF*a*cto)Jr$&zSH@bY^D;O;{G3-i^`ee|?oiQzr*X$D$BIs9_F}^Qsi( zaO}WP0Hpw$r9#)!RJdW9@*hJWDy?UVykUHYO5p`rB$UdEyaiSrVL2gh20sgoJv!X? z+>Zjfu=o@0JLjM{OX~n}W%C_R7esVAI{cdOF z90ABvq}xJ+YiLeT|MJ5dDEPUk%c4qCB-`~GOO=KM1qhilj$O!V*aD3K+VtpAg@!~C zC^2F(5NAdfNhHQYvk7#EziGYE4+aT{VV;l!1HuZ0m->S(ee~>dn1bNa3!v%nVv@L3 zmy>C$9W2I&YZGA7?h5{i0DJO-XwwR<4sF835am0hg3(PO z$cjpN{f(pDC<}Bd%8?tLMvxwRNTQ{{+5nqdrIK!s$rG_I9&`=KKhS8B{YzMu7n()M zt_4hVU}b?YdDRTe_8^IfDvWN#;s~@9M9wv`a9}+UyL_;Y!w@cYIpAH**S znhX;2JuX2bIb)RJzDB0%a9P1WEQjF4Dl&Egsdo#cF4*7s?>h z2^L3bE)t>FvPq5HC(Sgu=TYx^A4a3bD%bpWS1hlp)7^(lGRhqF8c0b=egz1!RVd%25a-ki#E=jR2*;L)&V>;mF5I#r1$&OLAYk+o~GF zXJGa*8TEywY~n6k03mQ5du1RjWFx~EVOFN+wI5ApS;uLG|>C4LH?CR zois(C$oUW3zPi4-`+V~BM~w0F=Zhcy{o?%H2{f!Y*l4nAHlxdvzhG9}oII7kRi#pR z$*jnmqC`?4+U>}<)I0HTI7Rzmr)=h3&hQf^1KHe=jAX5TBzErEnH@$y7N3baoV?)I zOJ>puyx;YY=5Lp>;t4(}OBR$8BPN62 zgWX*Yg17^ojI?9dY8zP#3c%{1OT1vcsyrbE@6PS9zR@zf{qOru-+-ejZiQ@u|=ypLY|g_Bbb?P6!a>0?|g|F!>kf zN3U89mnExKcp61tvuyRtI(dXic*1(nTrk zB0tr9o8pD15LwcizvX~$mfI`gdI{XOio6Ff1AQXKdvI}1k1r+7ItLd6)!zypL>4sh zjOafvHgLT^`NN~8WYN>GMW3C$(;qnomscEST8jOXN00u45B`V#H~WXw%~%Rd@{ske z_Horgt3kgC&F^|^uyGWmOCirvSu__agtUlEqCy%32EG-UfZ@N~$4gm(;u6ihSu}BS zXbJ$9EX(y0h%jyoS%!F{S$4i)UCX02<_64L!kjAk7*e1%h8Ag~h~|TpJ{>wfth>hC z9#*^y;NK4igy9>!Bzb)J^FyRs9m|M%WJ|*;yUSHnQE~=Qp#|xp+_Wq5I^q;vX}IAe z1c-HDu04^#``E0_TII7dsj@axcX>`3H+rNt9{*&lLDFvK!!_I=DNUE;?4%|}5WgVHrwT5` zi-})1fI%W(LplV!&afd0)&|MFaSdb{ECpUcHs zFY8asVpr+kcFo^*Vi=q}7dczX>n!KB#+_4F(;@@2C80i;Gm(@^Gcn&pc`B}807}T7 z(k5?~n=f_ggcY)aaE3FAB&0iN#~F1y7$zYf$qO;}f!;G$ZLo6m`_VF$PkzN0TMrzp zG)TOz;3AGgoF!)2(63Hdw4j>xb0b$~X2`RDIhUCnsN#x`!-fuCin0lQCo@RRvlFu` zgJ+#HXCWeC2@K}6wE4V(;_j-TDLHN1-sV7S{=Q|I!AX)0* z)?edhgAPM7Cql^? z{MYGM&wBG{YjuqIdRE8`qn8Ba0{sUY3xU-{6rg4u32Z6iq`cBJgoVO{DUfgxp?H`# z#48ubKGnVDxblPMVS{xScwG#_bLERiK|(d|4UKU(wScP{0I(Mrd{*#+_+%)PG|vtN zoBtC|AK5=1H>>5@*&UqUJ6wALfPQ`Z%Vmkmv;e#xuQz|toB#OTpT7TY#sfMiW_L|O zPD7=R zD51HR#W@jDmVNE(sTV&MxtSxEAZY@gI=BiED8p11qJ31wliWFHO*L*xQbBdKQ-ebs z=m@z3D#2?fOPIZ8R?}L`&z~M^&gL+;#xV83{TSnhCSyjumJ_Q(y&m-ED+nt#4*>G; zI#w#BV>U!K_OkkP@F9lSF+Cw4y z7XkVp5jL^_%6oS;D@1tA5yJ`Lz<2_AAu=Hze2?ma?6k;qjY%Sqy2x@R^PB3Dw2E&Z zSj>`~3&nGFZ)xl5f+1o#AMY&lO>`|ppBM;t$cn~cV2+sTgCDWiJV=vCV> zVhuN>LP_Tfp&f+rB^ABS;cdFB7;u%-6t|cbpaoHXd0$C8G#>Kd3CVg@-id(SOBtJT zzv~*JjijB(&*mbH1W1EAk<&)z6PPKpar&Nt1x(bTMhQM-Jv@S|psPSrvZH|nY0X-5 z=(Y4(VnEd(gF-*u&BJk?!Q9`4Oo0(k|RS?LRP55zi z7Ie%t*Y_%G25Sx;d)xpyn&UQWscECxJ`-m_TNmsp;0eKq6X%vzxAE#H&CC@C^ByPi z_a{%WB{_?V^(=0XUp|=h$kDI!otxlSGEXkp%k*4Kd}Bop0o*Dmh@;Yt4dLF=E{WIG zbz+ndX%!CBMFs;uS;iT=BPV%t=?Q0VRGcMITd;bY`%jvv%~`{oEGPHM#JHwwzYeeP z8R|sLL!Y+C@HB?e=m&PYFYYni#lj;z^c3?{SK1y zCH@%8cOM<^SVXua$`H{-hzQm`kvtUF{PE=gH^I@2WEQRmL^J4IaSR!!zp>|zFHIVKTOqHPMyhU<$yyBpf2j7%gPHuokQN> zER*h*Zt;!B0V{~KtuS`TFMvJFY78_B!7$?K;RqnlyCkbxNVe(2Uc|ErU&!7itN5@C zI8PIFJCk+7;2hT6{7ytA$!Bn)Hwiqy^!5i|!s>XNKmy><^^1lk9`hhOkPq z9{2*AYWdFN!bedb-yvH-P$CIv6%R^(j*j(3HL;p6w1#f*L*4oq@7Co6UB^0uxDD5@ z5Y#i3#!TeSlZbDXCF!*ao#r!y*$D1g=HeRYyr2`D>xYYr*D??&2L~2jT9UU37%gjd zy|y(ct@XsT6D9ZnYvmw}y)PhG91iBvXeEXRmApBDP*xt1;2&mSgexmUqAqSK}asrnYDLs6b^V-H^JvpN|ZEi5EpUHpJD%L;n zi5yT9K>8~rcjWvq*xQ=7IBxN~TX4^iq4O_pVG2PtL9kshQ8!`Vq@C)E+Ds-)*pwv6 znKrgu&o%LX4%^5q1A|2xji`tNs%T3D0PD=D+=`lf=}UTR4IMAIm5_A?maCzMzWIRe zj-Q$IA4In}Zoni9^ETRK$PKV=)rU+Xf=+;X=NDQWV*=6;0I0%K3vrtc zYjL)7d0v6}jk@+tam2GI2aZ;<_JKCCm^N4EmF8Gl@WYd<6$TkoJ|L*0%ZE*xbNWM_ zbIgstb8f2NdtI^&pvom(7a^1tULg7`e+~S@KlPKZfq#q^D9vZKb@4C- z?}YH-r3Bo7z{(NzjZD8tKvyzImN7|I2?)mu-U%z!`MaEVtUxYohQgB(E``>#vMIP) zeRCKMZ2nUX;piQ(Yu)33r1pRuh$WnxaLtp4?7eipO-j?2dOCqpah(@$fGr@?NbY0f_>q%)_0Ri4u+ofpj2%c4fKDKZ zV&38OP}T!s7*9qotFm^D{9x)s`8w-5UISZKt_9UUc`?EkF^i4xCq*!+8f(ssY)Us? zExYRWd=(=v$9wg|&{@G>)zf8O=;iV@@>?UkG9*f9YaX0Rshryl=~*1WiJq7E!$C^J zy4WkA*HBDPsnPJ@j~eI_)G_PXvXUfJr0h74Rk zlPrhhU7)~uMqDJ(6OQb#TY=q)H4?QcpNM{d9!2-DYVO#D3b8>IT z7uRH3Wx!3#OW@;_OQ0RR3IgNk6#(nwj8k81K5t%`IJ)XG0dp)-a71m*7sY6rzP{L$ zNzUqRf+2c&x9ihqI79ldPt`6I%~nHh45@R(%V14`RL6CDwr{K*%WcDOO2_gQcQsaT z$7^k0&{>k58oEyLi>*w%)*Vet+dVi=gwcx)i3mW9B4|5woObyAYSpxs;Qfdzb4Fez zStTs?^^kVz^`QMjjuxn}cufozt|AGhY9Cub69=!eGi}ndGmSG`Y;EG8t}%A^HZ43r zHH~&(&nA-5Z~Fw?<@xjR` zcDfnvDCKr};7Kuz(v0rwLBVN9PEZixLA~chb7%DiJZyq6-6;tkt6EGZUPf3Y$TJuW zguK$Z{^Z`IRN7?xTH1a4F=lN=CUC)>P8u#jH_JBtuz zyEn+Bip^3itFta89r-dH2|F>|`i+BsU9%tgCQ&|YU}&uGdW3E(Zfz>aq*`|J#f zJw(|+w&_EY}rztp5?o3(8?SuOnd z{%)NSdB0@@h@X?TV(>$x0`o3@R%~eoRPUZ<5bRkL`=b<}3YHQ;K<3j5t(xvA6<~>0 z>tyGl4RG&wLOi8w{J4pCzUu?y|%tdTt<*;oRjI}a6nC{Gi zmRG|}dE+B`am;=-c%{TYJebbY6p~<6XlAu$edYun1R)=~UpT;XPj+$1;_g*5H}u|} znJBx8Oe$rL7}j5Qi1vhCeS(cN?UVLZQ8L88(ZfqW41*wnk*mc-#ivuIlQGqUK;o?I?}N0`EE^BKI~E{?>}=y@o~4E_82wztwGKT8%=yva_{F_faSV z0TK_G;Yeskx)vxG`%8VXwK+%7AszNBD6+}rfRKg+TmdFogr?}DKbh4)kF^n7J9(DF z3@n<+VUXXsmGcHN3lSaV!8l282`g`Vx%rf-ZugNY5Zz zx!-&i59!IvlB`lG)9;<|g5SJYF9xxkxOUfqVyz!z1(THw7F&V&&%_I@e$>iP5 zBH`J?8OSz_8@xOEUpleTul;st}~v+d1gRm$GfLO44X*D)Id%nHH_1(6O25>O~=|5y<u@7D z=1ovf;1>sMocn7;J^LXC0>I`2{q#*${VD`A%_l}T{N>;V!`=e^gwFsSo_T`(@0=NR z`C!|&DIVX~Ne83r3Lcntx=fDhOu|P3X58#pZ))ET>0y{GzGM(Xku7|>!`qtUili+z zs~K-~kG1mERe4f3himm{f3!8!75!ifGBrR6<;YwjDF&Yya2W<7FWFP_)VJ5UHSmBz z8dpMrOuqe^V}#~g+-HyZzpn2=H{iOs+^pZy!-f)sl{P^cgMm#gV+727NyAPnA|&Df zGM8${*u(l+eLoIiD}v|<$fLwz>8@VXV%7nzj%Sx^=rI@s9&|qFd9~#|R! zu6YNi2Hr*}+HnArt3y_M-<@)`-9a_~r=!k>ztmwWOqhjKUH{ai;7^WES5rBS%#G`r*wBQJ8kB?znKdrW5=9=_Obeq zf?L4<4}a0-{Q|aRnY*Memtf>Lx97}bqE_8onq4>~hMrs(pKyQi7=AD0ust-2i)^nxl9>~F zTS1=>=<~W`DoO3kTa~Umj+lEZvQ=}CgurL}Z`GT)#}8xD*25wTRDF=D<%WX6>{9(r zvR*WsJ!Ci*kJ-FLI~A$FC9j9@T?FFI*>PPg3Sjt4cLa^m(vFOon|6w zVKF(ZOFt^$daG%Ur3a46uxex0F<}C77cm0SaD~^9JU6A$wCnG`Vt?-Lz7wmy;rvjO zA3iPlTPIiCTzH9*G`e~pCjUS+MJVHhpAxih#(eMcgVxl(*t{Yqzz-XD43}O^G7ha@ z{j>g*=}yQLBe1|VOo}U`AVv>>eUk(gfrZr<+m#W6aw4h~OYlKltxQztNkO#4V4PtB zX;(P+AdZh=dymm8a3s1Tf3Cls%P%sd#kHfH=C?KowOo^R&B2n?Al%B5?IedBy;_@d zf)l8Dc(5#O%(b`K%PQzbqs(338B;|qOy4(tqVa|H$kT}Xk+_(KA1Py`^Pxxv2yYA& zX5^BfFgW8wu|CCJ+HAVDVRQIfb&R{+GK>V~x2y`6N;iTVJtyA-BOiVjbWoMDvA$}1 z!Mw9R+z=L2BX_)uI@Uis$%CH5I`z(x1O|5mu3#0x)6eK>zN&W=^*wi1+SrJUNZDB@ zrlfpx>%X4YwX>j9FHz-ZSQghs}#FulG@hUH!L9&$|31=!ROtWHFEn#uq* z{0AKEpx`3OofI5${HU(Iw%<1JBQ`c122LI5HX^5GisAtonIg5>z2!iGVR^YLu9ugn zy|72{O>E(?i=jG#Fd#OCZd=YB2Z~E}zh2%fY?}STNXq$WEqOi(#{qea80?%pdN=Ja z)NZQU;^_7V>rFKY_Lq@MM%E63OY!g(Sq}OE4-0S(z@p5p=ITT#LZG>W z3sw>dC;;yuRO;CDF}(Yz4N33SmnTZF%Z%@Ts6H(=&@@81N=Y2_@y|kd0QEQ+CnlhC zU5e^hV13hVWFoO*pa$;81<{8D&%HB||N%FFn!(DrEX?r z*qkosv7z7`yTSdagKbJc?Z%SMVl6{$1!GP^&x4Ltm!4dEa;Pqo*KJh>Bv8({aCaX& z!X}F|O?Y6K)nk1hP|=M>k)?q2g%6B7ta2QrPBiLJMfSA*&<(nOd?{-PA#I427A@bp zb)-L*#Y^b=E$_?i*X{U4I!LlvgWae zNJ{sL#M9i%$_Q9pV@uTcwEM`Ob+Oa8;(vqfnj8ZSRX)&%j*WCX8@tZ_eWSeJ00)OU z^cSecVm82S0KbqEcAeYri6`7UYxo>u(ae6RerNM-hPrX=?)z>}J6xrg4}Nk2scGo> zSyrt5b?oMH?EB;xb6UCl@X|rgi$qTVc?FCg8mt|mn|q*rF*0Aat8UoWcjCkn@f18> zCH%`GT*LXYdyB-arxzJBF`THs8TDTlm93W=ajzY0cSz!LNQWw9H&&%*^{WrAs@4G) zgK9}hUn1y(GIzx&(_k33%BV$TC(hWMsyEE#c6-%~uyF`4F>&_`X?y(qSv%!l^Bs5U6{^0IHv@>0j7>!}g!YUWOK_5Ln-09BYbLLuy=qQ>UNVbQ-#>q{7 zptVliUE_F@rbohqi~Uh^o{_^=j%F#NCtaBX@WHX?uKM5$eEgMb=v!FrQWnYw+1}h` zE_%>UCX7WCfio{0k`dxNQ^)UmgkympVJ?tND5u2&^bF7$=ODFj4Rza-8o}XLKs1*? z)Zt+YKS+Cy&UkTfH3KVn&{kfqF>FaVE8&*Jv^93qL+w<+@8Eoe5;AA$EZoGHxviYS z$Uu@1sYWbAo_LOar&f-SUuz2Cjvzpk01r%+*Xu#*>dr8hc{9izAIyYHqL~(!Aklf^ z;7*6k#1dmOk4XB&ZDu@QN3Ax{nvf?-L>e>0r$rv9-yGlwHkD}#@!A|}1G_ZHtp`6| zBppCIk#~z;Y2cF2%^kF?&@rN^(6o!%wglrJd?3tT1ZI6QPC@7tOL$?b)LV-P&YTmn zwQL};Cqi4%WDyx368HUD%f>k}9kgreRe#oZVtSD{Nq8C^Z{)&E0{))G4&}6kD5mH^ zOytFU(joXiknC$>P0iINEMj)Rqh?AB_!9?e6cj9Pam2pd6nkJ)x3xPsra9VjJT7r0 zqrFE^ryB{Vk7oz>@Ai!thUCk6*pN6j*#`rkEwrh4(;mhMI;uU$Ef>9)<@OeSCO5~a5f~~^&B7*8R z%0HTP>&Dyx5Gl5%22NX#bO71B#J)LngQY-3lcmEq2A+-;4SU7^Ej$y@R(U1IYf>j; z;-JiO1@lnx)*zVbQzRff_!iGq-A zm?~}@>5>|Zr-ayZ&E><>;@|>P5$pq@1AQZ4Ied|AYs@wsXv7%tw1U4KKNR*M3tX6M6zMWIJ6!a(!E7<|H1Y}uq))15TF6$E`@B^ zyit*0hu-Ep_a1zch;SixO=c7WEAqaeCq)4dx*5nxNP?lpow_dWaqk|gaN<;0A2?WR zaF+#PQ&gmc*>L#<&QSaV__#pT2vbp3vg|*|_#2_p-?st{zMQopUP6Y6$C{x=OkGA> zz0w?BAAHypgdP?O8r+WJ;--T+ zLuykG{pjN3_Lt)GJDWsVBNGZRLAav;eXYtBB%SToxO<;(QaySwx?>SEF3zsT&ygzP zvcCvk$56uy!peo)qAj`Yz$H#90BTPq`;G@E89u2`TRc(Mi^2jhEf(m3@ws=*@`6XC1#!0 zwFZ}t8f5(ud2lL0mH<*Ot|0G(EzM<2I5e?0pJz@bk1d153P?c^b|CuNo2_k5)v>s| zls*K81)REsvX64zbEq9fqo6!X2h;e1U8~K2q6ac}uFrbS;bysHe*4R8orv^wv%4E8 zU>6!Y9=1HXr{HN>iEf90mO$^BX6&y>gsR-th}>lKP*A21Ao;?c={5bV)d+xS26w{} zML(#YD}$~6eU}ij#D%?k2{RM~cy3O_;Xx|rBV^~HP+3B;zJx}_wA_ONf9;ILM~lga zbrll!gF055dtVnFoSp~;pd(3|LL{<^f#W|o{N;0}XSIq`@Ogd?<%<_P7NNf4i>D`y zA7BRyLcA5Fy2p5v>eo*e@ve(stA(PU>9e#7VD3tmIesj1#5kk0m+KS*H4{e*69V?S zq#SxRMlZ7A@j6AairH!}cFGZRGk!+K%g$;!QHfKXEakf=O;$T7Y9(lcJ^HGq`c=Al7f3g9AP!ot)HnSoaIW z>9g6!>Jg?Lf(sX?dy=!$Q+9ToOg=nhf*v#&Sh@0mdtc63&SM z+K$9EO$!~b0aB21mLn;fBhbe7?<_47dKj#qByvF$jZf1PM^;x;!{7yGlNt7KyynpM z;M7xwsO#XsCiDt)IVZg|hk?6tMxCrYcK-g}{GSJFjliFmps*kUl!A5Fk&qeb7Tcb} z@uMv2a$HsR^x-(`p0&r%4E32FB}q{_C8-PvY;Xs8lEFm>WQ=>iMk+EDl_kHT%mQsA-tVXmuUMQOAksj<ep9S>Rr0KxcpW20Y z=HmzFav^adC?7?g0~Jc#cl*CEbQ%a!u+PhCvAwA_b>fOr-1!mNw}8Ty=x_uoQ_+Bj z#vVEFMtEKH@y3-+i*nw<=g3Kma53ipBu|oZ>juW@e}eP_KbxArC+A2B{QkMKHP zwxzN5lW_{M`sv|fYc}r?a{QKhV>(>{HSFfL+pZrv85K_4M{QP!%0~gTu z{DG17^X76x1WSIm3F=x1Quo`dt7;{7sVL~(-BthyH*gY>UyHcaD}JiUUOSoVM?d}j z303&#ef8uEp8R3^sVX~F>3rnD5(m$B8|6!$pWBEp1ul;gN~iYn%U`Pk{6^EZ44zo) zft*m=Be8Z!wBde$4Bd`qj=+8{ZUlImU{55qPsgAsCj5<9RPgs|)ug=2tbn9nrWV;z zELll_;k_hn+YDX9Ordo+J>}`sQ}^lNkTrr%6`6%%5c40&f`%=LpLoYA;@?E5(vbBl zETGrUy!r1Koq1u2J_rhZ?5Nn&a{i?8B2#^rntZ@LJz82BWiVWkEr@hIIBK&*d}BHc z{L$=aWPq~euHfS}Um)h6NWW#v`^ziZahIzi+>fBsQ-GGYmzujr=B3X;j$Ee#&g#tZ zhkq%Z#R@KOWS{Vf<`Kb&wlbrh0019bSc)$AAqnII4=;r;C`O|iHtK5tbBnCQHqzXd|f zY2NNFvx>rzAgkzNc@Jy1%nDZ7)k^sD0c68BWje*Gkl7JyD<^urgUU@!5LRL42mi|S zh~)SsEruh9=7wB1TzaG{9%`{lRDL7@$YTrbNa&8YuqZ|;j~6MU9;S~|J_9WN<(3me z{!#v2@H-V^tHrjAI4826_<~1o7Nq@MA^?Kw_P0vYgJq$kF!<|Myd4>U5PW`OEQA@I zlG?H;f?Ny|vcZL8@k2vl=J?dg<~}EygwTwWS-m3b*UV;sY|6qvXWen{d3RH-&OhBj zZXt`P;rx2`FP&5GOIG)0g_Rzb|G~P=lM9GsjZ9AvuOWCtTL?2`>BR=dIQ21pYMxuD zm0tVYLZA$sBBH27UN>;vmQya4c>60fZ_<>I{DLj4h`jkRQlGQCHY={TaH9M_@@hBL zM56ckPXa!YLrR2-ZL7HwC+G<(wy*&@(BucDp0j8vdV34#De`%}8rv&%bVWH_MH5 z<6!d`Y>yfYGRE?;#Z562I zAsoT&oRB(!2UzPsqa?8dh!{a%STBd;lRuzM z=f_%Xciq7E3-5riRDfBq>8CT6V&qO`cSP!eg`KK_3MJ78hQqZ;qF5uLS5EBiin0ub zA207dELH^s2$y#ffGsMR5utd1e7D5THA|5ln06*E#neYMaXTt+KNy(!KZG_{WI)Y$ zkyUzRU`Em^)Brqil!1~C$f`|=DQE{-1z-jnB48a>(x!OKcoic0xnAQVfKpou1Q5Iq zP-cQT4)M&I6v~`1n@@s)^`mg0ev}d2%EEPCHCSKdO^rD%!a9gIV6?E6kVlLoR}AeZ zJFD1W)=M$(!;XhnyAB%dRg_?mdtSK47U9r@GS_xIOWb30H_J9rfsY$)uuqXnJ}yxi;z zWErEf%4iwh)|SY(Gp%4=lT|-7fq@2~B;w9`QM*_ffLcB`vP}WukZ$XTYv|x#p$A*y*N>rbDh0Dc!~`p(E%6&4 zUWnh}MbTSPVsrE*H9b&`+Zbm-Hjshu z{+GjvyT4LVt&{^8pLHB?B-;ayU$AsQwnl(Lqm|KV(-AO`&N)48acDmkH?j=8M6_Un zr{6qbgxpR~<+mXqsIIL@4y7LZ7!wa}EC#RE)&eFJtf8B?`)gUg!ri?rx=Egr6b}9>z#@!~cq;&Q+!nCt)IV;tSBgrxHuq z24IamJF6GTzq=%?>=oHs0?K&p;ujk%(M*z`t+@p@0N<=vmT`pu+NvM%ZSV&f`A{kk zbm ziQPJydYPKGqo}ice2ID`+L;{VaUl^R!sB(`5Ps@B>o`pH-QS@3yJ$myduhHe(p z{!rH6DL$T_>&q6)vXZZN*>wDu~@~k5Zz+Qa#zO5 z4BvnsR#0G}Y1!Jfa#s-UJ~EWL_Ur3K@V9Cq69lKn0yAudC}w9+VYAAcRP; za1I2LVcj_T6(M(VzQ4J$Bw8Ri6M!rgQ7g#XT+f*lcL(A{K8kQVLKXxgahQaKW82R$ z!=Ys(Zsk`XGeC4(jF+*55=J_QG5;I}VgXSz^DO z(DB6ng48#)+w0<+JnE}xxcB01L2UJBS44g<6+V-LP)d)75e8jHx7xH4J<;uo*b z=UefJag#VZ#DU|#PE|U-@(-}-9|9h zdBo4fP`JOjF(u##e18r2_(POHfKZ~v=Hvd4LnhP6ea$R#KsgU8ehZZ$5isPR*}Vt^ z^jzs*cq9ZeM_7MN_8`_Z>?ZBnBm3P^h1ye~=);lR4f-!JY-eLG}SqAmqzkU98qurI5H3WV49ju`N@Hc8(3 zU_m-5LiEtF;&?hdjKoGVA4-(~Lbs_7Ox-Z&lv6~s?40BZd#wk;_b^!z=s4An` zgY%-WiV5AVz#JsobMiarT7UU)Sxf3Xdk82T>U`+L$HEK%CQ0VC`YvR_KRc5OoSoGb z5aO=i2Cdg;yFPL$1!&3|ytsV7;f*2}w7B~K07(9*edsZ=s*>=0oaG$fgwty3c3ZVs zm2O9u+3@;j4G=y;YD&mThf;_;Ji#SXK&3#Q0;AlyUYj-TR+g$TEl6iPY>j*^`z^Zz z7CmTf);#w9!CiYkPIiq4Y}$hdTm&)mGK(+?L9_?!-U0WB;h`=4JCEy`X$hom2N{8> zTvFj8A^p__qS>IoXyKXpZXcBf9M>UA0@z=D{a1_CeNeLihU*oSc;u?1J&fc?yMw#m zIb_OrU6U!I>FCQqB7)#*DSLK5ZLnQcXC~O~S?q^(sk3{rZ$dD`OI9pS|CaXXcOGQy zFi3|(FN2&ssjJX5av*aSPi%);KD@iZJm54In-f9~$cs@@X8m4De)7Q;vaQ+w;K_-h zPC&9CWsrM>DNQ|kDdkgZD0pi*$_M@p)%A2 zajxXzSaIEmW|i&rmhLiB5Qh;Wa!6rdILU=T))NWJwjGZs1fK)p`&C|m2J(VVuydB{ z0ngiw(ZzvW4&C`EM#45Mh~cs3>ZQ&mI#sjQNe8<%2x^EWkR!|}h)9_F@2pU`Ea5iw z-Fk+Iy&Zz@8FQ-+GFZ%^h&6ZdE^^%Ef7Hc-S2Dmh3(9~*1l)ZkHXTY>+ARB%PE}*6>-6YEth*yf zej5o>$ri!Kv-T|EF7jbK@C>fq-8)>-ADZKF-6kE^nQWb>r$#VU5T|nP{P~X5;RmW> zNs5K27=TP5S44QjoGSLsY;^{X1qG$*PIO8J@)raaILo0CfHp~pY+2$ak&hej!(c%K z@HU5*y9i>+5oxg zdvAcLZe5U{MT&z6dk|Q0YEaiab#H;@F##v$)Rg63pCw+n1e_^JG;33%)15iX_STAv)cZ)O`R_T8(C=h z2^J%uK;9C!Y!o91)cJmM*O#^P=-U`@U`=9_xj+FC2pE6c-VTgz?st+MM)oi6J%n-tBy2 zLuWU>KAGe)3{6OdFJAd2eZhVRT30MnZ67mv%t{x1KzSfx%F9wf;EF^t%>HN{2P|+F z-|OCg!2D=SO2i?BiYIg+bfZlTnwqw5`a9+&;xq|RhP4Mvoav;mZjoMK$%n5Eamj4W zL5Bt0gidVjFp;PH_P#EC++YBOB2Nn44k2+wpBVQ}>-Hj= zdmSH#v>OI4EPTHrhrotz%t!8D6bIi+iarTtfV;#<1jEsNU$d@A+5`lJFku#?1&BEN z4~pMIdi#fy8p79hQDV@2e&AvdZTNaCv18f^;RXUI1mIzmLi=6tD6)_01|a|lx=1QmTB|*U+xR|MRjMM`*@ugf&vPx@)@W{l4(+Ru*z^7 zf;-8sh{6a_Fyb*Ve3(QJD>eR=UsP8qAe91eYY2uB>7JE&MRTAURw*RYmhe)Qhsf%| z*{378bJDPA@|T<#_Ow#>c%cS^<{-!!731L@i3w7IoH=Am2@R4S=Gh2WZb{NGSWcTS zJfxe=`NXY~eJjb}&6h)z>q{68eK>6p2QK4; zP+S%#>~&qJ^&?5YZHi!@{h!KGL2eH@OXP;4$Kp%s>3FS2d6q|WMfld{gi<3X#L7H9 zRcqBvMXBe2!JEng%Kwbjdf3BA&KP1z2ww;(y7iP>c)w%@AZw$u@0Z~m1Z{bGs)=#( zKHoFhapH84X-@J=CMO0G2k^pKL(0Umk1Ds5bcfy%)Fn{`%t>N0#*+M!+S*c$;RfGJ z2!|sPYAD>Xc(m{AzO74=pM8K{jo739CMtP)7KBt9BPNJQKuTaXpfC>`&x&slT=7J1``Y9bmApPNglFKrP zvQo0caLcSv*%kUhY0b`FVa&89RirL!ke4!EgW)UVB0}J)LJI~M7^yGLSm@-L=bWxg zvWB0sRXvxqjb>|RblLoksJvWDarYgspNc2UM2)z2v8UZk^K^$m^y5AK~lgt(Mu><`h9!@%xGd$ZG#*rrU6$`8%|3c zlyV@C-ZEj=!AY@g(O0v|Yy%LbN|}K!uQHq;lKj)usdoa5)$^l4dH^CjaYy7pnnOsY zJ=8N0i{3F6l3mJ7NLBAWV88-=szSUBQ)t#b@`)ablfMh^Y z*Bbb+kgJ3Jh>&Mz0F`?FYHt`6x!42*|@ct8l2Xvyd#-N#?el z-g~$QWcD--)nlq7vks@*aL^2%*Kt$tB#>!hG{BL`;jGAPPF#02XFlMfFll?uH%x5G z&o5!$FFwnbA@m3gs3Jz$mq7_fX@G~#*sa}DPwxfz`ed7%{|4v@C|r(WNG(UkqD{<( zZ`Yan4e#_*h9yt#MBqa4Si`*m5)UKMtP@{XcD6#g4Y$cl!HS=wQ z^H8(2yUC%{Nor94uTJsAB@4nEw=8-(m~3WnnAN-<{hrx$dw}1mxAr<(Ug-jW57n)% z7qp#u78Du5C9x!}0n%Yz>Ah*N?N8Nk!fddOQ&%95AZ|jC1=(-ZB6E|9(QBAdB=pp4 zd)1w27)*;M7JZ-fdkaDXLQJIy+9UR69prJxD5_s$yfTAEQNvxCQlxCVLU3*g(j*W! ze~E^XaoZ&wYwtj@YGSoM9Vxr^h{&p+KxPiY0FPB^?1i+$F>#>qu5V+8pTSFz93qfF z#zqh>6SE#=o%Lv>od<0-=*gbN+76YZgug97*CGrd@-RCNnaeD0~Ki zM+6!*5nP-~X)Jbay!Zo~Pmfqk_*c+7i$j>jP!(aFu&iHlUKaK*A^lok-JyWAI$@lVL-hW$ zxIN!*H?p`J*BqRlsl6$yZ%WKf@tfDbpjyaE9Ww0@f(KN!!t0A6bn(k;y*R6!tiGF~ z&|c>>K;j+w@IX}9akQL^*T%v-Sf{+Xox-3v6+r^z(DIbTX(q3|8V0i}Ru_g?5j8_G z5blBy<#3SOl80dnOQNF+BjAI(8TS_Ow zrVz{6UdAvut~?%~yb`o7$o_~V*EL}T=I#62%iaCSv!~Dgdj5Q&g`fOElpDXhBz`ad z{Bi$#Vl9Bcfl~r6qHosT8f*gQxOCF_iFj1ccO2t{YEG~jV&re`WNkYU^>F>+=aUy# zVmoY}ZLhH=CNRuDwK>2os_?rWKCJVu?;qRC;;%V7>t1uJX1xy&T?a#Vb1;5M&)E)gTUB@3edQ{3?L~EaeYp|mxfRU< zL0+D`+&vXCY*76iR5xjJN4Buy)gU`CqLo5y3}$1&ss;vO&D+={9e2NP5l*z zZ`V(t8WO}&eZ6>ROQOeRW@Y!9WArm+1Z<-d|DPal>hEdn)Uhlv&Hk5e|dTF zZt>&K7blPY<39V}-ywkZk9K*Wgph5;kGl8DY7jtzad38K@71^PP}#YQ5!jZh6YiZJcTX<1TR1pB z%jndf{-$0#*3D0~!*fyGzUO~c0Y>=!VpqVar@uXNr-Quz?}bo8zP!F^2F+w0oUdu0 z`o3-l*^=Far?uIe&(7>7ZI_+do5H+;_wDZP=+KR(vqZ~aGb2Z@)jOyz)t4I(5O*I= zu;>}`KVWc7eI@U>-00}M+;oQ4?C-2gt{-@PBXf9iudHwHH}}4VV8yW$NKLB7h_K^u z#+x;?GT9?Xz1uY?9^hl_v~B8k@MHQ9xP&$&mey4o44#um^|W=FRGQ_gelN4XW}_Jt zLE(>{Za&wqs2_Q4dVI8adBn`Sn*vK19%bQCV}R6!d?@gV)V{u>DkHc0~W6 z3I9X-f*;JAn)&c@gB@5keW-u8e#x`5F@ww&^t~v?5RY1YSgb#`KQBMZ=711l=S59{ zY<9J&=B~Hhw|12j#|zS}^Ho(5cCBydjU{IwHy_)4W`F5;w!OIoEp6Mzh0kYz&wsq! zR69m3le~UezkuHSS2OaWXR~+KUZ>1vIB7lg!qjWJ#<{F%`wiC4D_bL9xWjkFx>6hc zVoR?~y|DeR{ug(vVw%iU=HTh0Q>*?tp>wfc&8DgPwQ)Bg+l~EOzIr#VYqq!Gw!zv_ zS3fvd4eJZdtz*0K!nA~H{2DolHJ~YT-w{P8<_QXubd?nXwxsw6lJDf^hw91eK&zm&P$%5W z?bAJgzYVMm?&XSPs#?xe-JBCG(JOhp&3)qaIpjoSMF1*v_J#mq) zRtJjUP17v}4&Eb)4-#0gL*$hnst<*YH&Yp;lMYRpID#DB`8q&$L5PDaJ(tChLAFAuhQl}qiEg#=>=lRFI};Lfv~le^~5PyQXBD5dndRjx>PSNe7=<-?o(@ zy#&t>vmc8r%B~0Nm^V~W)6MCpF&Tkyqppbi(58omVq4}!JHogZ7o@5P;R0E*N0c|w zfTEd`qWVPo9tn2I!3Jz=*tQ&i9!SH;!;(&pJOhK-*SniNEha)ApfO461Rm_FSWk2) zfWfg%c}*7a63*W>fPa*c4z`rPnVPyw1O>?8Mi7)tC}=?rwYk4(TLuPTMC(f^3sYD| zUCsOPugM#H+jI*hBzCO=>326=RNoHk`nv=nk_WbTlRu=YXI8MMQm-fQbP)nX!? zm7}!7heH&-GSTZ6hDGb zf+WR*9qSf5-j*<96HG*81w@ZeF4l2HPE665mSnOcfkL_n%g9lMwk=u;Im;U5>Y&O? za6~<`6J`3q-m_kTU<{^{y=QnRU)j8DRofq^T<^@pQlJe{?E7Yqa zm128jBM^V!i>&KpPZ;9Sy&kK-Blglf=fqgXo;(?Sraq37qa^BKo5hAy(X+Ex+s!L} zAimce3N^mL-~VrQyZu=*X$Wd$Cy&;I_8+a?kUW3s18@10z;IIVu**x${YEjQ1m{jZ zW(6=mWh1iJ8q)z?n`lr@67|YS;kHHc0FWz?+oWV#7FX}Lg7Cg>OQP!il8DDB=%`pq zCOYU=&`eVkD?iFFf~CyvG%Go zL8PgZfG9T-Wu-K7x3Muv(}ZCK6PP)_1ap3Wee%QQ`!M(vd2KEDYho^D^+lDkphYRD zf-wLpapn^&P0Ft$yrNud3Q#(W{~ktIFG-7tRCz${F;<+jVn|%F|5eZ|f`(k|2%L#1 z5nNCSz^yf91n7R##qH(h<0Q%MD0at|cLcK>fITPJ2(cM@w_VPTF4R&+qFBfQf~+cG zN{C(S@+jVs7@|VJb%lb`q3&-hW{R=dYCSNdIE_wE2lOyCFhH~J1YTAr^9Ycv$2pu| zO8%%6MDxQCDoSu1J}Vesmdw=VsxA-pO1Ph$3#KEJ_X*cGZ1N-+uK6EQ+N}C=W!xkB zSlr70Fd3hoNg5E(siD?)srj`GvM;14Nq=|>v%-X2N4I_Cw_&DWEx-!}H8?8{No9z{ zn&6=wW|3Yn!{*-i{;GBV#tbo{6OG;hCqfc|Lzi$4CJNlaMOp#|8jMZCCUO#Q#eu!I1j)#;vUAj9o5T zLVcknhX)E(o)wupg2-#GKDiGAJFpCWmKj)sYF(&$%tKd<{7qykd@y$$Dqv^rPi>oA z)SKE`IsF1lY>a+@G}}x0a0Nj&llnehLN9V3mx{9PGzzYyr62e?sNxh|I@Z%pqfBu~ zTx{J0Y_*=p7VrG}{;FBJ6UqFCCWbU7AA6B?zqu+acV;lursZu1zhpw%&r-FQA-40F z2}~X{vfYqmaERvE%h^OHaNYMdWshHnuVG_4JvI9+*$x;(uWxqJ&geI&V1w%Ap^k;6 zxPskli4+7!mHJ|5WBP(A82M`G!~hZsaO~hF%D0BB=9Mf`04?8t7ZsG_=LN*(ck)pJfdQc?bE!64R^c4VL)kOT(>s3=B`1oK$XUkr3F6A)U zwyha4--Lv{0F?$4K#A^E&RWI9ZCYX80)=Fj(@f6d(qu;tr+jy1Ii9*2!E(u;5y=cP zgGKjBR-1)@Xq)cSspi^B$1+*3Id(%{5Z{nIWqZDrF(7s;{BRqYR#mLAIu z&NpdZlc@K*e(iq3)(g;q;7lKc?b`itWJh5gjDa~~CbN$XKHT)*DC@P0D_{UP+}9Ih zVY0iMb<`cQV}!RTZE;v2ub71bX$^8uGDwiv5L*eZeubNsn~0-3G~R;``mPzx_3&;5 ziykrPdrDY?SvULyG#Kxd8N|bAOrh68xjjXq0RO69nW*FgeS|edUB0;gpSm~Uk>kqF zHuY0_fJVbJ&{v3ksUZxgDd{sY-EKjY+<*s0B33d-wRL8dDEimWbM6vxZ!DRSRV390 z>=wz4xN+BW&-%Xlq}cVPrsi{Ow2cU~Jw&fWO9Ol)l)1_c?E=8cgxigUc?R~Fk{WaA zG2#x6e^Mh~RVUr6`Yebp2$F=gsh)-i8Tc#!#_9^c zr2GJOqA?hBU(v-+FnPghp=g<~%Ajc%#AQqK^=fUOer=iD)b<@`<#g8-o7@(bEyC)+ z)8mNAi9moW>93%&Z@yORxYob1NBY`7gV*N5#bRzG%q4RIUK@E2T;|7}CQS1tRSng6 zsKN89a4FUw-vj z&qEub2Ub-;46LUl+=&^BHce)SN<&XonmL$L)#Gl^h0&UNAas(TPD6}LZp`s#8G$Lc z)+X(uDt_WQV~QK11Sa3dbU8HMSI5; z9mP@18j$yZ!*6ObTp&9F=rMcPTc9BT9o!&7eUXI>XUtsS2?Tw>ffRfXj3PBGUpt)n zk4S6(RCL&bMJE1g`hkN$aCaICZesdh+ zcn#B7WUEAJ#(rb%a zm{6Glr6zNvPb%m#g-Wc$+hKnMD(T~{mvXJIzJKuADu-X9?;lDSf{0uZAZ5~8_7&L{ zH3;-1TSeFs!>?Wo_Cl8}77?AM#uj29#lrr+y6JaMH$t|_LBEjc~U*Ql7@ezYa4zvvu=suyE)er!r70*{)0}0F^ zU`Sr+2zC}Z+XO$!q=2QYT1w1z|4qPK zc80{6iL-Rjivr3dklWr9mgD^XFwFNR<%PUq>KmRE`#E0$Ef+2@Ag7ZwjvAp}9Dnwm zNSj($cCMutt^f-s%1mk_fcZjFB_^i)xYTgDh!LobQmcRue%|VL=5IL~0l3I;_mh=@P3i(l*Fo+V`+)$$1MiFe-etuR~ zA%|cNCVoX&FU740d5*t#r=2wM=KwqwxGMM`f?x2aIWKWRX1CREI+X!$4PLbxnGO^$ z31R+o@!t+DYy!VAVBGR>7=tmK1>kq(j()Ck9`r**r~ydofsXg-k=C*^UX$kxeKiYCHSau0Fx^I0P#w##cuy=SV1*oQkdU}I0t>FAl`Tx>`3Ca#*(_Qm4h(K^QtU~mEfdMC z0r!?|E1@iYRNK}aqSxGsZ7Yf#+e8GW>;yhSe7^|!K-?4B>v~rLBMHX@ zIM!(WVbdaK^-n7fxY0`}Q|ea5zShhXauBK7o4OEjimD%`Z@r*B>tG-C)zi)!Gi8d1 zwa3>BJtf(C+_Mb$pMA9YT%0`Jdj2=Z0?vDL*kzuBhGG%e)e00VymeHdxbc?dRsY)h zo4$}62TvsM+bB>OnD96zJRvmQd1v2S}TPiB2V0G6zLIxqiUCPDV6`uK}D3j8l?TpgXXThuXzEG@dT1Li{{fu`AyQ zL-csDa(6t8a3m#A0EsD=5;9?v5}3I+q-vDbIzd^Si}~p{IT6!u6rd%+?*;sI1(2UB zfYpct)PCs^--r}~FPMK22!IQlbQB0ljtucWy#x5#^|kGc5trV-sg*F6xV&<8b;-ps z_CzV%lerRFJtBS>3kCV$QpGlyZ}b5;rg0qa#MGjk0X_l97ExyaXJQ=hIx`MB1%iso ztGvFpx0xBw;&09lUx{v5y-kZMERppgreNGMj{^MbM5&#X zQ=R;JBS9<-0pkjv?oX@}n<)_^FPs^#$=ZwrFPeWhB5T$QEJTO=`!i>h_GHYFl+{v( z(qZzs_TGZjvMY5~>%h8)0Se|OJWC0D3!_LsKVKUI)f9c^6eM$KAmOVeXWCV4RDjc; z$uAO0@bWM5FlPk0!U9BWOlC*A8}I!h#_gxc{e%*V7&l}e;9kcdNU9b1{Arl@`T);| z84VUrsz#lKzbHf5h{7gAhf0CIEa2Ay(@_oLi>za)3ND`Rn)jXf?Tue8gl94D(V^fn zq}*`gX!e}LVKn%EVah_Z6%}MKX(iVfr5h2>DffXvzAfJS7U2;+={=p{;#Ud#g7Keo z!XQ7)aC#zE+y}fSy}rfd=F%fl9va9E^B6Uzpjvc1q$fHNMdDOas>kl`es_y5xO)Uw zi}nz*6+yrRD(pC~O1iWBsC4X0MMu5!m=mcazDU{+MJk0*Wm-k^^Pfk7`i=?JN1*)& zESb1HP5QcED{3{IqwmxCIjPtLw7|yM9pB#{Kv#U+5rZ4Le`3ADa^b}=IS6pk4vvxC z2M}*qJh7}Juv1|GkZe@kkNzX1cd74dlBca7Hw+URW?#CjQjCxL`UVb9=>lJ-Yyf;d ziV!mR^qQ1yNQ$xZ$S_Lx>bNwQGUL#3Ul3o0P%)^rcl9&ft>u9M>;+DW(NXi4hFq+0 zy&#c|Tle=!S%q1=>Qcz*30jh9IPotJmXBWbr-!pwJV{jWcO_735@f*1pf4D0KWhuo zu?;pG24W`6ou%W9p6wPD*I<=IA>5B3u*jYJ@6^}<#`JO6NA77!#JDuPWI+=qC_!XR zVflFF)-Dm~8VezTL~8D1viW-o5nL>aP2ro6)U*fGQ&kTq9!&O5(?Pcirnqo45Q)-W z``^j_0`@{s#!Hm^g!R_Jyf0*bfq@N#Cj>A}8Rz)6PugFCuH}pMvpFd2Idj3ItU{lc zR5`_b$%fQ{GbxZIzy(0iLahZqzTrt_0XkU>TP>)rDl=+hbNEDK7)vDpOVP~d zIZQV40QEZA#=v`&R9z}q7pLS6<^TG6z#o-E@~=K}>ihxfv-K@D|LMQJ`rhEfssMz) zg+FH^jd%TX&-IP?HiE1d!rw1>{a2C=3Gyym7`B5-FR-$RGj2t>D$>8H{|=Hez5ivW zqMGp7LZ%CiaS+21)gZXlFD6spDh|?ys^)empFMw_{>+A)9km{q$|E7QrmWSezKEqR z=ml6^C}`m5De=FlI#K<*DIJsj`$ZJ>Ayq1_sWR>23YH(hBntFvT}QIECzX`=QflbX z%Mw2lNt{JS?7JfGc(w-@**#_^p&x2NHB%1cN!We(Xj}Dcee#o2kerAupPQNu+NhPV za+gLrS~+;+_liLzOf71z#OSrfQAQLNGx8Wq0iTF#9j><%jy9NBEmXfpn3ov|N(qGr zT8~L}NRuxwrzCyPwfgq)@FRI1zx`Wx^8l-&&f3BVhC?g~!(Q7eFCC_Cx`q%AK4Jk;=uwIFRX%v< zwydUhUL(dKeXIHeOfOi!+~k7|tEt=Qnhf9#&~`Gi>M-}!RK0YVx@n3Qv9l0WG5=4Q zvToW0cm&qsMSCR$9|i@JTH}lq(Q;xuM>=DOs@ENpF31Q?OyJNPPpOXXF*@vpDV^9Ty!>i;mkaofS#(iRutF9hq1Oo1Z6IR~i~- zQlAtqptKBfC|HOj0g$C<(k$s}&ds(v1VqeTJwgTw#Cnj8Q`bhe-*iFNS{k;DJ{%y;0e3`j z9oo#gOSGl(^1uh1gVn8& z1(COq855iVn?oX(B2!EwnJbxnHIv&AE|B|3=Jr=p@b=V@PGt8;nab8Iw3vMMskSbCamfn zq>nQPYG`Q~t6o(SG;p4g)?SBT;2QidbD-2aFIm=xj2o{0tVLS(v84^wr}YJmn^l4| zt}ZgTkEsS{<2+|3bxWjTm01wCE$E3k8R;8a8fH?r5(AM}rX{(gr;KwTbb42|CLOW_ z)u|;6v$2ET?WaXK?r_SCV#)I+geLVt-myP7Qr!p+ikPx>(2|gp6gqsGHPvmC%$}5z z^@8sSM7gOnnRtve=j_tvCE5Ud6#*;A5+&7qGSKCACVRJ_qKRuSj0G6X<|G&&17CiT zM8ZU54om8V!1&Lm=E!pQy!Et)9k})qBp|AYrRwdnVd^%>*aHZe7J6d&oB_R@TFZF$ zFm=-)T$gBBQQp-ZC9%_0m~1yGTUb$1@oE7IDOh2Yypz2-8Rtqvll7$fGNQz*>MBxe zspZrIHTUTY&9{P@7OK@MPCm&VuAhEM7A=lcPg%iqaV?{W5MDvFT{u$RNCv?#aGG@_ znIj0bPcu^8cArCv7sQlZg5B4c%XCoU!kC!P5&S*PEjKS2tdOrAP~hTeBH72igevs7c_)gGAF2m3 zTkgbreWSVOcK3G@j!nSng0`Th-nIbX+ugjk-EAT-@|57fHl!<&xP-eV)yL2a<*Bh< zU0GrlHS)O>lECAbFe`tX$Hi4B?`%k%Eb#&v)i+cGhCoP;TX8M+L@}5QMNTMX=M`E* zC`PIz^gNijljN*;iHeCXYhLk0>CqgjyLY6HzkTc;l!TxTw0k)2AY~y7MY1J;+a*CA zJuJw8Ja;qZRPx7{#k4KOX}Wt)a7z}Sy2UyOvJUe)&Qp%!@T;?r{KSsuEcE4>(Fw#C z=saL+gA9zMP|N$pJ92gx1|j4aHTe+*$?A%$#;Po5b|EF`4GC%-bU{51ox9OwZGDcA zS<%!zZpJ8t#Rq}FCp&PH7kh09qC0-HA`@%B2h8f}xADd(j_KY_c)iPL?YSE{rxXbBBg*F0&O~u$an?+Q&_*pYoz2I8llWAO1EY}I$J9?L-`7@$iYlMQ9K{ku}z?+wS zCZKc$Hw4w!BrL%)?4{?(pk{2}_T;-6eRG_)_)dX#hByj|vo*lVk_03*Dg3*wTUu%T zGtKKwrND=vLjtfuOo=KK)CV=Mri%XAOQ{npG-0OqN>I6T4_| z(nJlA&4L!lY*y}%jC&#pqyzR&LN@GSthn0uG zS5zP&6{52F@s*S_sd`-cg9ttx?hjsx)0ijet0!)cOX{yE=6ZY-tBX|Mj^t0SaSpDs zx`tneey=xW27gvjY`M#+@ynp#p*%8MSG}qmq~l%nD7G0Q8BEAp;6DK976`WCSLs@; zJqzu}JGHg7kcJ!m>Ix24nbK%4z%Qg>MjaWLxE7)gl0vnA&b}+T=pXJH?gmOk!OMCN zj38}*Zk2Qu0ZrpV)Y5aM3r|t~N8KyU$cvFg?VR*%);c-dO+p41u-Jvu{(yvX#$6 zS_r7HcwW;E;wmHfwY91THp@Vj)20ns7GOS3li2=N(zM^4U??z{ha`nF0V%|3H5SO>jD>7*^|}vFrDyqf;5kZnZ7Z7nooN&&|I6a_i zxuIs-@ZK}`MU&=6EAd>yvJAD48xK?34Ww0J%(5Nll37rTKK#3x!h-0!AC# zkh6v_JMM)^)!rIQgFP!NOYjLnF(Vd$KNU0YiwxszuOM~BfkXCVh(!RN@IObdI-IDj zxW?-Qk>KX5oN+*qyA)tVMJTGk4H!%$gRQDkZokp=8?!)yD<>p{UV|XID70z!kEcqq zT1!qhWH|~pmpj&xk$PVg6W6#FToYL?Ac#T-@@L&2E4#e(VAEHA(}0LI{9GZh5O`MN zEOTi$N63v&iol4=7+yo5U&)BiJ-@Se0>T1c#3Lj>x;7lZAa&2@WE&Mir_2pY3Ip>r ze{48X+r>ex>|}DvLU@$%l75jL%d(TV2!oU)(u#M?#pUuQ!^pm~2QP3rr4Z7 z_CLwN!<$9IaTnvUrvO8eY}`t1$B`T=jr4O%;j^;{AVLSCJ$Z8-Wvl|_V`cOiK|yLe zSXd#^_6#4O>lFK3fQJ#rEbKx+@RB}EPW{+b=Zm)7X2`G9!o!tLgBD}-2Bq^@xv`=o zP5F`#DZ1j|>;zK*(SzYadIOoJPza8_UYp=BdAj=mlQ0!AyYA*F8b4@8)GsyIPH5Pf z$w(OVA%iYS<)wmi`@}<+R8U_>+&*|%zOhlrE}#m6%1}oGxM1)NP)?+lh+Yi{ZRw~$ zTkS>(o&gOaO)ZX4b_u63+-?wbh>ypwG%+XkCaTmubz&N`(L}2 z4!dSL7$?fJFnROr7}~zWO+%t`0rh;7I*YV*3>Z}8W1~_L93!uvF(|nI-CcFtY46BS zPY*Y1V+fRUL_Oho8p;fYTneYd7Pu5LJVyyJS+w!}joY#+8jymaeJz=CQYOZhw~iRi zos$<3m4~NBp^Vz=VYP2tT_3|N8 zckm{j>|gRb@U*u@EEu@s^ehcdy`Oe>R12QnYT`)dlEQ^nmYnawch-$C23uDEl6Xnf zL%bw_>A0ZtUMCCfdFvjxPCvUMX@r6&#c&Cpvo|QG0&@i_=8O`=el-GEs-FF2f85+P z64Jo9F53b$86mS@SrpfQ}VpYkbK? z;K+!D*&aT9c0Z)}c0hY0(103{Mow6FxmjGO`7#02v@VXN~un3~K zM{W7@@h{!^Jx(1M$+NN4mQY!3O3u{j+dA19`Apy=gQ-B469h}+z?QqUb!(GzNE%$2 z5eF0`O-HgwUXw+C5O8upLLx3+||MUthdB=b3v=J5{Refu}{)4K<7uwjb z|3KEN;(@ZvI`Vg?d+WgWMMF&QsFR9Ngi6_0O#p8W`W3dN`B84*7s2+sp9uvW0)TS7 zktMiB?#6egkz`g>8Mvcip2s=I6q3CJ)f|j`EhU`5z4K?=|#m0pr`=rSvPnmzLMGxwUax16~qNlMXF0{EoR@AS^ctCFS- zR~7OODUAG_JvB~=)7tznl628fOAtgop;N_uX%AzTtn_I4Fk*b5z@q`hl<$|~?pQjE zS@L-f<0{*`drF|w>fkr0unbOz+LXW9Gx#j(3Ac616Y!EGNLjKG5r~eMbygrunU(=? zNv|e#eF=;(;HYD}!Q7{&&VA+;>ATOFw^Q=V>C^P=rRHeaE^z$dSB*0Y5Q~z)N14#Y z$ur}2JADEPRKxm8^&pfAT>S(oUvdIx1HAn3xia0ElcjYckcUGP@m5l}faiB%ot}5u z%!aXY^0MJbb-z8BOAv{MBp{_15?U}I5CzkRKHC-OPS;Y`$dOHe(Z?F(dda1FeBQO^ zZS1qRv)i@OJ#pj25$UYJk<41+c;sfsRreL1p?NQb8w-SE zMYb2@bAlpm8|UfE+75$n4)30BF&_UTjCBrVPpLf-O33Iz8vqJc63IR|*|kReYkwpk zBzkX}IL?E#>i2mH2PIilG4*()bIgw4jl05(n5s~CCj)@V0d9!J2$B)Y0DT?<{Vxm& zctHOD*YNt<4&AaFD0lAlwPcLF`V)5*Fj)V7fA{a;`nu~fd;2S+NG-PQ16`f!ghIbM z{UO*tE*;q)<}+c2W?e2S#6t;!^7|cQ_(H;LN;6{SIwD~QSTEd)gpaz$aqFLs6RAcq zVBpih5)MjAV2HM|Ir-S713ERH-;Y2gD{&a%%j${{kZUQja*)8>eRXOFm|P?G@o}xb zIIT*MW5-pvHQ{7H&2LUjh;2{{$!M|u6rFTOby0irwt`h$oU z>7+tba8?3Y$@3rKWwOV4&yzaizpu)h@ez%)=Smv)x3e4kByjk)IyT8h%CxW;xa^u0G}(105#xRJu6+@q5N~o6;MGrSa} gpa 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

  • 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 gpa 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