From 9138bad8bca2aa5beb4b2a403f9e9fd491dbc0aa Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 6 Jun 2025 15:06:11 +1000 Subject: [PATCH] [Feature] Filter by parameter (#9739) * Add shell task * Filter parts by parameter value * Allow more operation types * Working on table filtering * Filter improvements * Update on enter key * Improved query logic * Enable filter for "generic" parameter types * Placeholder text * Documentation updates * Fix typo * Fix for boolean part parameter field * Add API unit testings * Cleanup * add playwright tests --- .../assets/images/part/filter_by_param.png | Bin 0 -> 49490 bytes .../assets/images/part/filter_with_unit.png | Bin 0 -> 12910 bytes .../images/part/multiple_param_filters.png | Bin 0 -> 47306 bytes .../assets/images/part/part_sorting_units.png | Bin 90876 -> 51055 bytes .../images/part/remove_param_filter.png | Bin 0 -> 12142 bytes docs/docs/part/parameter.md | 35 +++- src/backend/InvenTree/build/api.py | 1 - src/backend/InvenTree/part/api.py | 40 +++- src/backend/InvenTree/part/filters.py | 60 +++++- src/backend/InvenTree/part/test_param.py | 174 ++++++++++++++++ src/frontend/src/forms/PartForms.tsx | 1 + .../src/tables/part/ParametricPartTable.tsx | 192 +++++++++++++++++- src/frontend/tests/pages/pui_part.spec.ts | 35 ++++ tasks.py | 9 + 14 files changed, 533 insertions(+), 14 deletions(-) create mode 100644 docs/docs/assets/images/part/filter_by_param.png create mode 100644 docs/docs/assets/images/part/filter_with_unit.png create mode 100644 docs/docs/assets/images/part/multiple_param_filters.png create mode 100644 docs/docs/assets/images/part/remove_param_filter.png diff --git a/docs/docs/assets/images/part/filter_by_param.png b/docs/docs/assets/images/part/filter_by_param.png new file mode 100644 index 0000000000000000000000000000000000000000..e591ae57362d0ba26b1419c37e317fac7d3f24d7 GIT binary patch literal 49490 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 a$W&MAbun(T87WY)tD>lJ8-2_2@&5vd+;9v4 literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/part/filter_with_unit.png b/docs/docs/assets/images/part/filter_with_unit.png new file mode 100644 index 0000000000000000000000000000000000000000..d055bdeae33f86804a2d3485b4ea29135af3b7f5 GIT binary patch literal 12910 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 XL<*O%t-1fV;is=-qFtzY>CXQE9hnT& literal 0 HcmV?d00001 diff --git a/docs/docs/assets/images/part/part_sorting_units.png b/docs/docs/assets/images/part/part_sorting_units.png index 1564a9732a1dccbe3a2309c35bb50132b8f9faf5..9e354e3d7cfa7aacd78b55abfe11745b64034a73 100644 GIT binary patch literal 51055 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 literal 90876 zcmeFYcQoAF|LEy zjEw2y$=@FlbL&<>;!Sr&eRpl=7w%rqU9HHJU9GH~+-#iPO?58^@7cb8_3B=+N@y#`e)esn{@%U`A$JA7Exm)uo!Y4iypyhn^LCAiu1SxwDQ8O| zw9fB68 z&y_FIyuaJJ9wnA11lCpZ$bg4PJo%^mv?!AuG9$cQsS3L9IW}|i?}mbBs^R$p`I+#) zQ&hzBM8O8iV>sMnrmTNb*OQ*nFO@rv{Xh1($&6LkYM}H@%)f&zb1#LLmzV$dJ^6Q- zODYdx?#n|3XVw?`3PEEYxA8sTWtJfh zMp1gjrMZpQbXXHQ!YLaQF>fZD4qMcc>m2%jULFjurus`LAnWW7VX*ebr4MSyi~1Vd zeMs0q@_`H$jT7n<;lD(%XhCU04Z%_*mP1#{_|lz_o?V3=dUy=a(wY zv3;7>a}0dW-!dN3+y4ASQBJ9BSsyu_vAC(Ez3X~EOQ^(cIwgItc}E!bTUJ$S#b4nX zlh5k(vWWFZ5%bsX>xf3vefibViIehZC>^oCoCUvTy8HgnFg9^RJ(P2&Y>QYQY>!$I zWu=Qj(_9M+F!-&MK94?XhCH>V)ylV-sMrnPIdx;*rLXGr(alQvIiwN%`h4G{^-taw zM^N+MHeL0i%88X)yvYBnt@@8&S=IzmkVW4FNHM?(BiuMNl!n&@oKAy^oaTJMWcKBF9Uvl8m=%h^`AzLYaNP!H$&Hi zzs$ZO81mp$lx2*CyjCJ>o8F(tGAz&%39=ip?^#&HlU8mwukz*1kC3}HZ}CJ*l4vl! zf!}HRO)@AJPNCs_t5G2VFro%S~HRl-+_EDUf8eJHg3llQ~Z-1X-El`$U#h|mzck20} z=BO^7`+rIVR_t+$S*0PuXxO_01Y_&9RJ{fpofu`eIm_978L^b1%`pxIUnW%9UMU%x z9QhpVpcMU~mt{5GyuM>{xWqezhG0DZD~;8Jr#tx1p0x=5owji$4GA?o^Vfb z29gr8Lzn$)JJvB^(AVkCPA`b!WD*Sm@e-8njL2XWb5ksvTlBeldq!)IFRhgqajBSoRULW*VJY z%Lcj;s$Gx-S^R;F1xL3T@n<5zZwpaj-9dhtlhS8$T!Pd&bt5OqzzjUt?oyc2i_4SW zvwK3@R`SQ(Hl2v|=!cY+ZPDVR331kft`eL1I1>IX``f|ydx{P7wMJDtk-m7y2LlPm zqaRV{%JQ9t>z`)_-#Ols)21yvaNobNt`zRfclhk*m1S+(T2kJe;AcrkHOdwZLh_ib zZ->fS6E7mqweX%yg)@AergWD2NpjDmW2>2B229Il9wlvB)vUZn3| ziz9YN%LaJB2p0t65T(A)Sq|$iEAtq8JtE$7lpXZqtbJ|(WvYj0Kh;OZHq_gqItYWP zD*v}uHB&(lYZN(OBBs2)cH;|ipdF#M{O$6K*yg-xD~9YQjlyVI^GT5wg(aiG#Gb^l zg>9(IkSdY_pYP-^e{MU7Ccw5S(+u0~+dg~q=0=Kk&Wr1GKd=4@QQ^VU~$t;h>K zUSmAHiNKsUSUunICf&MGl9PLwS)bo4-6&XKVR8CK^Tg(cDX&LO(GvSrM&T;WjEtM= z7tLS+C0~tbjbtw+9Q;((9COMB8%R{%_AL=xa1oy3_^H+)eo@gZy$FyO_pclg3^?# zGz;2pwJ}sksO*W-?%(K$7%SY~-%b#%D0e!iaXN{KGAvcHE@y9rI&$NG{R4zE<6^{} zp0%%MWvYpKe%7kU_9euOz)bRo!xOO7NYj8z{Iq^MCG{j5WOn(=T)znI{(Tgaz3?Fv zIPzYd+d}h2%=s4Wy zT6`Tk4iWZqMrI4F1iUfuBl0lXNELVFzeqEin!jI^4iSR7W%Qr9aXN9{jcS4o7;Wr# z;}R_!n)DxA_eWf;dNGPwLaQ-~=YGw7I0T+9yX;0-I$bTjDQe)pYS`AS)Ma17`)Ja- zt*mkJGu+mFR?-d>>)L6wQ&v2W7;yfHD7Tl+X)sgogMqr(1#O``Mlw>q7Ru{_Oy9-2 z=NpM^JjtmHc}tDrz!F_zwj9@3w*mM?XZ4qmHS2FN5z~xGAt!P0yX(>>Rq%Pr#9EQn zU>eu}w9M_Wp3Z_~#1L*DHO#!D&N~tH2TTZUb5P$CUBFauf2uay64xp>w6T;p3v-_~ zG$Sve*g&Zq-Ps=_?{hDHs?0j^kY~v{_BNGX72|lT8>=vSX*;b5wZc%be?;Q`NY$T_ z<~<*Mn3vicblL%Tf_s^fk*mn$WxIBi*BZu*9ZbH{`3FIcy?t6#AevScnO+4*+dZ``||^=n&~#aKqb zck74#CEtkT{mDr-WoM4l2)#0n+X)F(su6IkV&9DWeEh|IEq&uMbDZz;PHfnhRgFA$ z^d~Qu^EVTNUQc0tLGUbV( zU;dbl@*uC3SuWNX9FKWpi?rRhlea~lU2u|hTZuul9VXX^^aX5sN-#^QB&WG4XXoPc zS(oQE7gJcE?`$r8=+^YqFg!JYD2BE!CEu5(X^ZtP*j?RVqHtG}lAT1l6}mo{D}sIG z?89G5iM42s7$w|m=kHNE^tQMAb;;I%_!S{38!xTqkH&tyxzu~(%c=W;5GooXeI}cs zF!DA(+k(RZrlHwqtP|_LEHiQ&EocpY=HX8aw)Az0Kj`z8{2wqGMmvWr0L^R3&g4mB zLT4$ym`HZNk+chL(Plq&pvb}`V+UjlB0NMUX!A!#d3;1tA_Ht|CF%y2+(mj7B|g8Y zd7&57zc+Yp7=#+u(1Q5LoL4ROc0!ghaL{WqEevEI-F(J62zF~NopDJnY5hyy#!q-f zz$}#DY7gJnRaqb>A#l%}vJSedMr&Gnlj_b*g1W}2 z7u3fb>f%nlWLDp`2%c&pe1~+~XGX6@a^8CTd(`)#e#p5|Pz8qGs9Ma)W15MhhBN5s zX^E@x79i`weAn?u*#T2`u~iurw_8sB3 z`PjF$u`(o7E2A^uswUxk21K7=sg6KXQ?Y$`qUg$s@NU;zrim&rN2IXfJY^;1=LkD5 zy1;HZqlhGKxY0x&vrBhagA@u7el5~>8Bu2_G*Ws-9NqISwq;tl!Hu(mk1>-eMC5zu zfxF)GE$k%@N02{0<}CX>%jJzwj)0fB%>fLjTcu{&U_R`j$?g&9!?k!)xAolmq^-x^ zhc=Q|4zOr5j-JjoYzxuRuz}jjynw!r*s&d(97`#TtyNp;V#0$<*4)0*#4tG#aL0!f zA3!zgW*bXHR_k!4(fywpdC}8_T&huz=$GDy3|e&A-`?JY*H+AZ@oaBDi8Qy`zuetk zqSi2y5-k_Dy$%zCnW=w+>G+3bWfQa5(a%~(_Bv!@(q{8!##D#vBm>)nYNwU(7br}T z9*Bv94F1b=qQ%x7#iI?ABhTufgE)k`bqw_lv+1wr*9zfjvk3~4vWG9*-UPGm%d#A1 zoV7!42zGKU%9=-cR{;^Pjb;wi%U(ub%mS$g9n74g?#6u|H9K9EK~5rIMEQ>>%=62X zLrH1;y-GOua`z9liCFep=9XlD70hK9U+tf+DYx0UfLK8ZuTA|4VpX4lP3m7`aAYYr$-arc)D_mCn_T%xz~Q~|EaMt;qI493*P zB4oS1z&X985NI}qoolF(nh2S#F8@8Js;r8Dr9D2%@Fs}3_J*FflamGJ_G37j`#`L` z!z>=A(*cAe^DqXdfIk$Pc_Lw4?}0gFdw|iXVlno{p&!GT=e(?$kWFJ)l!tOg%MwKv z9KW=M=0GatFO0X;Q9&aNR>!>X_B>uMgu^Ar(<57zQ0aPVl?O$ z=BX5DEZnOD-l(a3Dppq>gQ34RKEO}+gx{MW;5(A@KR^uyEatC;T^{5s{|{A)O8vjt z|36AbOuDD6a76Wo>u1U=?cZ)69%u+mp<`tcM4iJyxu-mVB`~{HKuiTY4r;=Q>QMSM-PO!dtiw*I%jX zAwb`u12_=7uF7fGg7^R|8qbh-;QTuQlno5xi*Vn)?O&%&G-3f6tPJFFoG@^*SE8?l z!RsveJEw(z-ELK)&thgceX?s-#9TKLyd%!cuaX;lVndJOIu?~A9C23+x+aj&>Rk%uJAGVK?ZNT&gkHJ z@$w)pC|FMI=Ja++_K6uTo)IX8Gs^}T)8urbGvz%!Fe|=g8s<@v&aa_Q0Oh=LK%~QT z3U8ZKxhIe$OROL*9fgqPCr-5;b|+N-_L!9oYpn86R|qxocj3ZWJ1{>yx9&uy-r8}!`prw?lgIg4V>fDZZTNx2b|Cz-n>k(>l?B+dM)jv0f!Zmv4IfGAS)D zkBg0MQ-O?B9DjqfXvRTwQY8b|{Y?(vcc{N}H*93%;dSkFCB%j_$;WiuW1{E@%dv5DKhYo*bJ_RtEPh1&)4F()Q zi`C6E^Y@t@-wQ1lcm(?JSS{K7W^8|cyv^Y3Wiqnfxn9uOZzzI)UQMV)%RqjP_MElj z`B#xw!s4IK-Qwaf5xxN!ggeh~SzTI_AHque?Gz{Qwq*ph>8h2Q_hrSLA$!FetVB-+ z2zPUzcec68ye*Z-LuE)&t+Y6%cn^^OqVHd_k}+G$sH!s5$okC0Za~k!)NUJpmgx_m z_=n%ck9ZA@jOO4Tqh2wV9;~o z+un>4)eE%biC8l~J~}j?o_(c+?0C#P4N@DiyGah%m#ax7Jfyqwc|%L4azt#zeAw3~ z;3cJe3Pdtvego+@J^W7GR=@8Tru>fP0Q ztGtFb?qzm=j(xA)n?K{T|BRJcPg+i3gNTp#JU3^;D49)gftYI98hzqqL$RL7EVRu? zeG%}U(a$L1J|3fTUt?i>*w;))uBk|3=M_whFFNxLCX|$UmR>VeO5}Ncs_dcd0+pt_ z)c)p1W2P`fFJD=+xuaUl``4#<0r7U;C3Cp)ICXSIVlUv(#RiDevnojmLA!x?gA!Bf ztJ){Z==VH3{Lbt1Co0}?DN4R1_sV6Q z7WP3;nk?GM@-FW!2sI7OsFSmXH%#XuGKN$D3@MYu%6?~1E5U-V2ARrnhi^?@BcVLY z$2pHL#o%6A1_XUVoeHn=lhe>KBvW#W|M(hrole~G?^fVSxZd8yaWD6QT>e6n0k!el z-${K>8S;9+gA?VMsAr*rEJyDRl@*B#KE95olkbxS978u!!A26|d_-|t0Ik-^eFX0e zc2fe;r2wYUk;kUHfK`3hHc|}UU;bNmw6@3$38nqFVLRmKqcVTLLj`Y!&bcM|_&Ij?jhW2&pb zg}}kd<%9380W)7$l{~A5Ub|LibMA5!Ka0U|f`$!J{!*6E98kIP)4<)IMd7K*;w1&O zrU!Kd*Bd^%bNRaE9gbQ(h)9IjogB5X49v%Y&x|>N-B21Qy+NVCjSn%NN*goN4|lxJMd=S7ynokojwCxq_!SZphkv+-mx0dC}fZ~G&8Es;rj zubm6;bOEdA=%I66v}6Ly=#lvjgSjkjg`=5^p8J83A>~LrENLA^;Q`#RwLo9BTe=;` zn^!1N?1be4Kwp3<)1UVNmL$jeBF5hpY`i~M|9V3n5l@P*Nhc&uY1XNyRaVblP0lme z1}7hy*mHRnCNua+?Ej)-qM_EANoeQ+s3s5Yf7gnv$wc`UiAjW#{sfJp6i z`tm#x(=mG$t6bhF=DA*47LM8iD8T;r75H0I?#MdHlbwfuUxwzj!4ao3&0+J)doa?t)+&v1_#lu~hqu`xKHmgFQ~hT=S;6RS`u`lkM2WStgLpAy z^0NUtpGyMnZ?~=dQE@7i2amtDd1OOd;auUN7@_j?N%WA`4UhhR^hveQZ?GYRq|(!C z<{bwp*J1rRPL6^HDZ-CDk`CmeX$qzSW;=_t@18K{BvGf>1^VBz1#2B(*i6Msn`d&K3-zg>ySY2L7k6NDZ)SHaWa%j@&X)4z02fSN zeU96PZ9$iP%o@}1AsTFHhKJba*d6oGs;UNzEDl&L+J>lWTFPR4^D^(^hbVw0&9%Lh zr=2sTNMay>k=267YJGX%oHh|$?in&(JUmv_(&(pAWo+->UB8r+^6@~JlwXukl!~Ug zIy4kMe>Jsk&=iH&{G9v=VLhxI8vTR8Rw!8ZY9@SsZh?|_bU}(-Gat6~D0p|E@%Tg6 zA*S8G66CQ*ZZRjZkYI!=fb0bq#B@7IG3YZ<|1;6j!Gy>*@&;L$XrO%MxhTob{Y;Ns zxCD`jI)hx|38TmIzshVByPCIY%-7tVwaUpMTu2ZM{Fu`pM{+_I5nNN4RG8?*0uS(s zi|_HUS(sr4Q*s;K_M6RYM^EFyz4al`%=W?neI7|_^CO?fl&C(TI!V;x?aTw&qPV`P zLtf$(6DsqrEADsDV1b$-Yt7LMbl2ai8Ob<_T_WO0deu%IIve08gX&a&&t4H}yDj7) z)C?6=(M~?PW^#5*?Py@dZOTT7M4UBM~m=Sl* z5C|oz)*tBm#UaTt*mvan<+_)~b9_VK2UKH0qT8*u{{#k1qc&TMMgLX3{?djIltn_! zl(Ue)wEeHEe!XubV;rcq<0uS^j*-w*vvW_~-EL03MQ^(mSy%q#^N^>Z*(So7ILxb- z8eVwz3fm<8QqWur0kWi$2VXT3dpgNwu#saUN#^y?Iw@4$V{1pTi^;LlaJIC7!~JB3 z0a#oqt92knh`;Hn4+fq3;J(dK_tCUx2JM1ORWw6z8F_+l`@vb3QwND)$ov z=V~a2KSxB1Dz|PvH)QzaQXhXGCCxMhVgvZUY!F;R;EUVwAd}!6g$}3V;GHeph(cEkYS94!2sz6LZ-t_?**}UcTz}cDbz`Pic_@ipN;uRW z?1;ot)hvGG27g=#E)amt1BU>lE`JA5GB@4W$wiV+Q_$VM5+bT}0G-Na7MlfEsw++~ zGN-*j-w|xOCGmi-Zv0o((z%CB_p<)+!{ti=mqyuF)) z-=~vP*qpDHm+(r*=w?XV5IRQ6R4s6-%k=X6# znhSM4y(Gn9z0U#SB?oi5MKg8eMwBnXT$B+_I%W|yr!7hCfd-<3bo3Z zb|4s*;3oMxXhFR6TUdAoz`iS4h=G2#SzyN_<^5DGVWHcsl&9B-YJ$cKIG=ZbR5p&( z4p+gP2#Cw%9pr5tYl1I`QNTrxnQ2B`Wx&r_xjo`l16YBbA2rOl^f2=4+-r}}q2z~! z>X`1QOkMY!fBXoTenGULZ*p~S(qG5mN@l6AB^NpL|KX9FDs2?k#UMKCgM|oATO#iU z%fgVb(maR3bI_Wi-MT-t!!%7XT}x*#J-(ABrINbXGz3cGP1Y9{Fq3gU+I;(>rh4wn zfqyvD$kFNn#o5b^6{G3VaMK4V1E!_l3c}ly?Gty+$ELu*YHA)uLscG+`8%H1V5Kg1 z7=5s|*a=v|$;Pr&`vz8O&R5HN2tD+CP940g@%#^5f8HBZo$kv z?9#^IFw1;OUKSH%fbvTYw9U{3G-o_v<-cs1!2m|g8t_ohYgrjBfk;QPY}5iC#~}8U zS79s@m>WJZ7p%{=0lPOg31oq8cHCi)G$(VH1rs#}6B-h7iQg)~;{XW^C3(>n+3>agSR{D`(mz>gYn3lc3gz5R{LX57p&o=3&%%Elsd>Sj0n=}qbLK*0SoRgSAm z1qJ)mqTPIWS=Uu^lApWukP~+qwIrmQ2|M-G0)4O$T8dto;As)~fe~~0A9mp2pIb{C z-dVhIjV553TDbo?KxM&*=aLQiVL(9j23qRA{-3OYX7PVy4R2sNHa0f?$A`MikhqYf zV204@T*-Y-7Ujbm*B7vF2dSB8Rx-0fTfB+_j|2E!^mN!qs$wG@LgM3_PBzlQC-~5^ zvTzi{t|b6O>JNQ3IySJ$Hz2_b?#R$58`uGs@8Uo-?_-6oDs7PWElcT~sTOma4~rLz z@b~B}*VhEaDXDdy8fRkT2?H>OI3cw%+(JAnta~PRrp(yy9w{7*uHU7n29A@c_%;CU z5kyYQXJj(){AUfWdv@JKNH|YWltXfw_m07JpBNLle|U^I7SzxTpsvX&MFWF`c$vE0 zjUdOLsga*UP!&a-&sTSKa8X} zZHC_^zYT!EpH%-Rpf!_W>r9G*nyYy|RdibX#U^Af#}go68-Mhhe8Rj=An&Z$U+O{I zV*q?fcDu#O{p1=oeyuakgmACgw1A8Mx%=zWthW^ymLl&oJf0GRl1fi;vLybDiH6#r z(>y`Jj}HL_lHHaBh_XrPqH~5Tw@H=SVan(~;P}cqP2=N?qYFT;$drGu^=EzcL=z@H zpq*%Axd(SSZhG7RGQ3)e0l0M}O6B7D+D6A?h1cAF59BJ`w@=`-4{DtapzaaDbA@K6SKi zDLr5W$a&0lKz~ssH>h64Um5W_h3Zd$yOF2oEmdsvrw28+rEN|RHC}D~e$e+;>GU83 zMEQR+0MaD;|49yyl*9rKb~6+M83Zi#(WX8~)*ET*yKGGhc`^oo6@3S^5*d&oH)=<{ z_QPNOwS#tKMMmRr<5FDurrY9Hj{mZOcCaog-ld zV(?!XGA=;f&rj+WDIa=VA4&qI*he4I;b$JIvXbUKPwRa zKd1tZ4u++9I#Nb+WRn&C%qOm|;98f-k%04ixY-nl*!-a&-ql?kTl=^^{4Wu-H7faL z;eRPRt20P{(UeOqdI&cg@cS`h5Lyvqrd6R;`~^Pbn5vtMKtQCPdk``6Ly6GP7MdOU zQnt{L6kY%XO-*LvG7DakD7jB0(Pm3r(Xm$_P%hn#Fo!6)%R&g zzt`xr+{O*5YmxICuoBY3o?lLeWY0?4ls(QG@4Rbyl%bNVl?I$yv_7O80vU11BuI-* z6|vobL9tT%^tPpJNMk_>h<(@OTtE5zGFse--qya0=(C=kaWI{bG+o-)lRfI}pkgiD z*S@3Nrke@P{w!u}YGP7r--d|^sL7p@nmNBc9Zh-NF>57AX4(LX(I&`bhFHOJ;Mq@( z-+-(iL#KhMvB46|>L^|0om|C?bxjX*Uh9W=S_QIprFtMC`PZOZ z`0JHFbJap%rIq;J#0rip3}vO!lfM$O8n$VZ%^q5krojaRx{x$+ohlpuB40kf+VYmH z=yIpT3^Pgd+GPBSxPG3~pM}NjZ?_QGpDf(wbx=0O+XYuSD=^aOX_enN9g!p`$98O; zc55$4n|l9>O6%VO8US_BP{KQ|@@W`aOi4ic4NJV*lI%ZA4ivH2-V3i4mC)1L2vNR9 zC^+^4PLT`zR!TkUaqnVeHwZQ1y6Ht}Qc65tL#n#xH?5ttX_1P{oc&u6vE12rRcyks zYY}iRsqL?nk@y01LV(M?KV^)setQfn^&LyT^B$|*%_0LPTGQLM&vL3r-1*CQINa!$ zXfIn5e4ckNtb1*jWWqnxj|2##U$(Bm<{)8Zj-!1b2;UxC_lL@Yv>rG^ak%d>rt01k z;XWZv)#fz;COX5{gk^TktDvW8otpAKrHX+qDSm9*=X>^|2MVyB$zr=h|H z%}C%zOYA|X3g_Pn(_mG%#l|VohxELlxsp`n-O+YobQyR9h68D;HrYwQzsYqh+0qR( z`2-(wPBP$To_%kdHpt0%+bUF<$aL7O{4sxkh5`U8ziKTOpzb4IDPg6Vv(_5_3~rNt zDOYz8f0NP%nUa1PxchSOVbhcfRqn;?mL9~vYc9-1}ls?$O_a( z(UbD6>RSQRzT4Ihd7p2w2N{;u`@Np((i_+@st?;dBE)R%g^R(3!U8(HELl^Z*4{MW zZwk&B4$lRY32$6R6SQa>?^7sIC!`O*p5Ne6&Az6+PAd`cg&v14v%lWd;#lh*dR0_C%1lwP85(&Vw~(?sR299ACz0hUUlVCi_4J>( zm19~yxN@J)sk){U*Ql*>O$fZ{eIt5yT4f{oo6mVS$7rNT@l>MNXRobWR(t20-YWMP zx#i{?Ovu|F`g^7aybWG9=AfU!Vd#=lj@t*(X`kvGmU%DOap#U2qcOn#rGW!ev-++@ zrH{1#Nd&6NqW772rH7AE%2#ii4i*qGVo)|v?U~YLIB#P5%vDS({cj3n@7iyzdHqu4z$T14pOCR_=_`Z6O$33R3#j73tQY6O@@CXNozw$jg z)WVyt?`Uu*GfhZ}Xs85ry*09zNyzJNc&;+}tEtdAtIT}jR>jy(yPwNSK2;j>si1?r zGqQj>=>??_4T-6ZE48YyzJE3{2AB_ygj&vgA{}hLIPdW+bAaO^Vt03BSwyqHe7K9D zN^OE&mELyLwd03y9a&nxQig3A>5v~E&dXq)D_Q%{FK7LwM_P;I$H=E~$TAXQ(M>v7^?pcwT<>A!h=@}SHwdImSi%BsT zsao}(h-rHqrKqOIJWD?Q8h7d^4d2~Tkvci*EE z0xx3eyo8uO6gVwl#4NsVE7OP;$qgG81%xciKJ|gVa1yC|n_G3(xw_kOyIPDm5z&Rk zSM-R;!ax4ButU0}2?g#7EF65Pa`zoab4*?-UHvf@wf%gaPIhOgJeXECVIRAWOJE6B6Y}GIrF?#-N4zJeKrz4sS>(-U+=_@-{ zY=QV8^iq73q;8H!(O!6MlHbM6DJ0RPDOd;lH(dLS! zB5R7YmyT(`aRS3OWmTo!aD7%Y`pkVb2IZ+Zs)P6)rn4Rs=k}i74X4%{L@C)KTI}Ag zpG{aYqbB$abEgWIul-VUM%s52mW#$ZdpdoR^f5^=_Um``A0%7Wt=X6y&kPJFa6*ju z)&#IqKJv}p35U3N4Cb|66b4*o|6RZ$>hqYxfpI)U%5E}5+RhTe!fWD?Tu})*dg`{F zckCT?q$%ehn2_6W*^dF;RjC)aV^6~OkJMEa2~tM{R&PZfe5@tyt_rKZfUSy-JF}X6 zahMOy5WAXMHR64*L#^LnGQ)XX>TWk9X%TiK-;rqca>Ny}$Vey~4)LoIb6V$hY=|8C z5Y19^sMR-2?}!XVT%$!7dp9z0d9pxyY-A#aOM4tj&ik|+yr!BmEK;vQZ#1wdP9fYb z&`Xk4FPF^j5Kzt%KMy!dw;REO78Zi`>mCll8W&vaD1d8Nbc3MtW0V=@{6asQMVbXl z%dbD(i1koS7@}g&w-^bOEj)HeJg_1)wK;K30iJQ)O^$E@Iu+hkH=qO!??TNErTQp* zv|s+ZGMxYZ2S$aZh2~YX5EwpfOC;&;wB4#)LfD$13IiG}_rPY!O9MQhq z5%dQB%;lNyn;-bTd=`o^6Vc|G6Pxj4cYHz>Z>e@+ zQUa;69L%mzcHV5cy5oaVA_B2yTs)8^+M2lAXRkyj4OOp(rzoqQM{@?Al44);Wt%kI%$;V@!fwwqa zTMi6S?W@N^Wka76ZU?>%a(wv*8R%|5eV)?TTw}2#`1>OQBOBf@)P}XJ`*Q3ePIWn7 z)q=w^Eg|90(E9mU+v){;$K7%R!^00MIKI5-p@OvRu6Lh@%LB5_;zhq>lsF7nJ2WdVrmu3@BH&D|>WarEhx4|@u~;s>45%BdcoCw z%dY9AqJ9sOflAW!xop)Uc=@W2`WSRzeYH3p-n{=pJ4Iw5F0xz~yn)@|C@>RM-`6M@ zE_WK@6FOAD!guB(j!2UH&a1K7txYD*BZc5GQXfds*!mup$7=e>kL$u0+`;5Q&)1^L zuZ}e}{-sCG&XHb4rYPnX_t`f(A9A$adq*L*^cj-1iO1Nd&Ie7y#IKVrf95wJ5{cK< z1(a3q`A%UdmM4xUgozYANyLO4a?x5u`aHs>^ONJYBnN3MgOK*LY*KPnR^5)~`nb$( z;4+q#IqP8A(2B{8iCV3W(3wfEqi(xSBu^~gd}m)e3Cg3}e(&sR2V;m!GJ{)#j%rn$ zM(zt+s^LKtOFhqU{!M$6fgtUhVLo5>zekVL!h5(G^3BBV20%hrB@uAgfX$g;O?mrL z7sQ0SbZ~*Umstt?5wLR@zJR}MGzsa;mU?XqwnH|@jdkM~tO=XGT!t*2+F1NE2H0(zp1uTrdfSQA^W~_4*RXb3 z=4UlhktfXkXi)}peDq-Kt@}f~3)RC9ul8kyl~5|b)(S+5=jgRI?-UP+{2bbg@fUKG z&_OA54d(||bWz?URB1~HsL;RV{a&Zh93N7{Y%N{RZ<@51c5Nn2U|-h7^zoYg7)NX4 zZZgkV@jog?BPC`aZ>;%`_=}FH>{h0ieM=vtpaZ@CAfp=xu@f#P7d149c{ynvuTnk` zPv`wIDy3eRS^0!c*@)@-noJabs4!3BpP{YU%G%29SV%#x)y4iYI|Z{bjBGciJ)XQp zazCgj$iZ|ALP;GcC-*R}NT3*=dJisHqCOh)@`kGPn~re(w$h;$!EnRpveQA<&8tR4 zT}BtA%xl{NQLu%*uHnNcR$zXbmy*4p8UKPjO@`);j3twb)#L&X4JZY8@GQ{g zjq&1qJwgl@u}+&NQ7fqL(-D`*^`Hb3gD_sKGEVef9U9_Kr2l zB?3>&vT+5&6L}czf)k2A{A?71vy@M#{p|@Ea&*{!Guj^~d)*b`SCN@nA!2+_7E`tr zP3_#33f!^$Hd!>YnrN+Hn%cC@VmXr+%@N4KrSiwOq$|!yiGJS)e)pf0ewi( zDsk@<-IA=IHAgu)&{P|lMLo@umv-GU^tfW`M-{r62op~mJJ6l!14(ynXy?(1{1gUL zhAPunh^)#@yjH}26`PEhTxr(7y;<&!eNCbE(uC~Ew~@6DXhj9`Y~$Tn6~&s+a3OF7 zg~H;u(&r9gwD$Y1_UFq4^d{JS3pOj*Og6D|^9uR%v{w>pjb$ZNzl61{A^+Tm4-tI& zJqOPKu^<(T0UxCRv#RZ%z`YS^-!l{~p@=h?E`HZNrbZ+*#l4;mLb?phhudR`;m~xn zf0;jK=|`c@dxh*mP{4s~XyaRr;;ClunKp|6{Tb8sd7EJGO7y;CDKy{%UCyja@E&!3 z)7fQ;G>0(jBL5_OICJ0YQC_myI0qYK;$lz3kQq9f=Ow2NQhWMysL;j1fZkI$SnEQIdQqX4JXhsWSQ3-Y;!?%_cOI zjK75jFazD1wXa~qh^u6k_Wn1_k<}UOr zRk{jJU=qff0#Ru-DSnlWK3#3|-zn&A$1Bh(SuaN34TA=c{Fo~`)yk{5oAuq|W!>fM zjPQngc1WhgZy0C}KR$Xrnfv6INSMV!yM_jdK_Q$`H6GNl}z zU(3#sm#=F|zp$R2E3FS<)s1*2eLD>%q7tx`?^2uawT00YB(>lAa#>vCU4$Ld%ydb9dJJ<^u zc4kAsb?W9SZf9k*$}bU~_PDmqPx{@LM*djm_#h@B^tzIltO?@tWh=VxTmqVa;z+e> z_uGh4pfCl05bg_CXTW>?0gVpH3?+pem#ftjui{y18A~WC#s!5~c(if|>k{{UKh?B! zw|1yfnhbDR?>9+1R~KyhZ?Ca9A9&AAz35KPT5#r)J#x@Aa17PbM#mIHbJAR6E6fra zIFTa9>qbC|=9})8tS!#)YAYC4gbAW-BkCN3n&&pWtXu8ZST3&lqaDJIm%7(h&aOA` zN%durAtEqw;0_5>!=?bdNA+FyZL@4i(PW{>pDwbc=yiqkJ+mZ1)$PqyHqyt5U6BHG zWA0)eV<`pMj|cYjc~aNjL5CB8R}{C%yS+cw(S}`{mr5^}Sj5DCY#Y;0Gc0hvLEFBU zH70j(#sP`#A8X{21z=7qwK^RRlvzSNpm6Eoa7zB!0AtSqHHesvU31}q@XQ`)vz zcgr)Iqo8ONkw@GDD7fcKT&}TXVz`f zt-mcNwI}H?Ntbp)iWnafGBXiYT#m9vq$mO|yixB-Lm_Z$D&Zzbz%*=|2&HXi8MQl~ z>Bjof<4-9qrsb{CcZAu&jqvGu32~T@^k}TsZRw-X=T}Cg)&&L>X$p_W^Ul6y_n)~Y zC)9_jyC;iO{flBvmsVm>|lF3yd{2f^JTOTDit!j$Oyi)hSfFA?7Mx*03hY5n+bSH#r{Odhfi4>X>x0IP!a;>a`o_78sg~eC6?(qBk`9|>L6U1Z9H>By(p5)8aZw&J`%!|I3 zxb-MinlHSkEzMXAxX^K%AM8{s{ZsbD?8um@}^aRzQ7W`62~z@%EGd=Ysn zz85Rg6LZspOk-b5g*>Ck`lsc;f6G&SGH8@5Q|>p1xq<%{<)eV`o**0E9rfFw-+Sni zKv|#8QFrj2YEppX!$yM z=HW%@Zx6@G{x|mCGpwntTN}nMBBG$6R27kpbSaT8B1I5TdPnIbK%|6TR79i%jMA%8 zrArAVlvwChAOr|a2{j=gEl42Ax7hCIoPG9letf^q^}gqN{kbG_tug1AbB=M3dyL^v zn3XA5^FYY6jl@*f?(R15OH!vI5>zYHN8z%G&`p_T5vq>bdRHhT9KzmI72^w8m|mX%7u=v%V~yXUvLZ>WG9krQ*OFv zgeH<~xhBvO1e=kLx=yGRv=>s1-w(Ii9W>j9EpnU=fVHjSH?l@L$ff>}+1H2HtBz1W z+zei7?J`64U3@EEw?8{Don7ZFN?|h&zFC4!yCC=W=VYSBqUQ{~bu3G>HAKc5IQ{|W zW1*;|o%6)SnrjsUz4~B_kzs)`sSVSs$ zG!;UvazG=V{ykXv^6s1^=#?wtc=gzo)b{btj4r-i-+i?pF3Yj#`W3RP8&-IhJOJAd z8=u7bwzKj02Ci~k5c&v`-qr$S+0s!(w=4hBtT@5)A7Yg%Se!R2EaNY9hs~IhrX?LASC~WJKa{F@6 zsZ#*T`O{<)9?9H3eRoxXT?2G9y84naFt1+xBQ8(}iUi(!7%Mek@%{{G$?=kKRGh5A zItg(0Bw=O+a@vguiPZJq%T;T+esA;LFl{g$6!?@fdM}7+m;>rLE-{wZ5Zv>os1os^`FP0j zkk;LF>nb^mt4Vv^4e69*bH2SzY`tQ(Pku1Isq%{UN#g zm)|rok+PsEva#iOH?78*6;cYY+Tl(N5SvB=QJD-b)P}vQ6p2p{MuX zi3glW_dBzc&SWEps=`Aw)sHtJ^~ zdNHRiA6e3we&)3PLxc2;i$&De>VgV%^_J(O-P6wDJQ5`Q&4xpELEG4IGNf9VG65u( z8SqW^OCDi3c?>Sy<8CPtS~=mWbC(CsdsPJ*yTg{uuymjD#_#o|LfOh@pQUDVDd+3m zc|R(Hx|Gx>2sh5G`iCJxNlgL}-{1fn-eOQa^V8u=yLw(+a7>Qd?$$Us{$V5P2-C=8 zf6>L1LkusTYoyK3y}z}w2hXbWf~-tlgs|)Luq$D|d~18g%XR+tlPy(FhuGY+0zjN) zq8TR^(tvZ^cEzeUXJ%;dBVX$$m`e0|WfhhQFACgR0`PVd0%;q=3+e z!n|%GjuzGcV!b#BL-TVy|Bvt%kSBZD-K{L@1;;i(GkSVj?I6@$iM-BggAoL>Qf{6G z5@d(kv1wZVe+38s42@etuKrN}9nk#0bb$0LYA?s5*%W5=~xs4Q_2A;AW zJdNkk{(2Ik32+O7f%kNt?1<;%V2;jR^HrRcI-h-QFYYkI>k9yf0QmQRIKkv*4kGK8 zwd$Yg?I*8X8~uC2y2Aq?9~59i^raLX8h?dgdhxlZGY6p2oW14*zAbAvclhzon^gx= z9*s)nd=0szhmS!?;b3CbjG%F z)q^B{-D|9_9vEwh>KU0mwULmxj~^j%1503(#eso-`{H5w!ht-D2zlRod>dj zkHX7K9szQiKa`X}fH#94fOKD`T7Z*i^X-rd(8jkHY6QD?ZymZjmC&_Ih>7w>T07Ar zq{c-Tj*@r~D{~DPwpDCGOEkRiO?o5s<08L4nWu49D;FioaCsD2TWf>zDJm`o1i9bq z7r)#ZmZ2PiLZNV@lE>9jib5pGSB7I(#Ct~CtaU!=bVUkI@&RL4{mAvUd>Y_egkrsN zDrC;Wizw=+v|m!F*-PEGia}KxNiKpw9Ui`44WXmO!iQVU-d=<-`fMmlp5Ss78J*fg zuVsCtDF7@PrHzj7z?uLt*bK!0gZ@B)^~LdOXK}0g%O2l7`SZ^@fu#-TX4)_H-ve+* z!#0RbHq+FvJ`ko`;jsV-QzU;xUA-ME6IIEszc|3=jY5DMsN?ySVaL74Y z=S`KMd&D5ZO@J+Rwt5cX<0@VK7UNj!M}!VS^Q z)(mLg=#2m3Piunm<6q$JuLX;NX@FW@(%_wHDJUptYO-1t&2?%z?ip22_!7Z1>tqub z$oJ)bS&Z~h?%PoIAdWZz^x5P$)thWmA(ur2{9Xd@%bDDt%aMl_9^FG6uQBQ}tA1RX zn(vsE!UdO>AF~k4oY)LqAMk)%3wSMlE8D*#ERDBVdZf*~{lUH0Sc*8uC|v`$xM>86H^EG*p9-JKK3=EG_VC^@RQ zxVz`!8lXIbT2y<`ee1+IU4tL9QYaZp;QR3Ok{K zmF)|Aw zY?6HLU@*#mJx9?$Jf-dWWtPPUmX<;D-HEM1{Vya8b>1UtgQ>gwIUT$$B$EbSjo$vy z_12Gm=o&u9>D^9I+vNWJHO;kE-|*0Tb*u4;Qr`Gc5A<^ouemZUjCc3FG9K7XYcu4Z z6_i&Uej!CY*>N_rtTG(Fy=F+$A!6l;IpKy?Y$Lvf)s!*$O{Ua(JO5gI$N~oekNQzN z!As39$}VQU&K2LJ@ax`ANy1JRTq!MBA&EtE?b|;Lve7Pn@_#vx*}*NwQjZ=OlkJs!`nDgE|%$Z<+2a#?o8x{wR;h5lfptS zuNwE)IR+x6hx)%Q^MevJ0%^ktl}hfi(ewCY5?Hs35ChJ|C^w|=MsFi-;C5{o2Y15{ zXSOZ#0*8?OFHPC$^gKYJ*vyrcdZiGhQpf>d&qsT%CC}%oGcxT&i0HJei1d3>@TmHyOTfnYfXO8xNb+- zn8nFbyJc6tA#hxPu^d&s#J2tDVFAZIe$weoB``AVBLe13gA6EX_K1@7eR!k!u zc1Al_CwjlV%dhN?UA+9Y#CiFmAHd0H@3+hicZ@z3b@KSVlN3<7^nKGMc?M zj0}ffrCZm3!;OuJt$yJBqPqy6Y){K2Uf;)}5>>Y_EUP*n4QBJZH=#-%m#SH4uxXPJ zH}F7xP+RBBnf=>n9(#D@f*3G^lP-BtUNcYKy?FQ966ie3lP)ce>r$0mTq?GVhGD+WnC7{`a+|?fxR+fup0NwRL8FOnq+PNzj#Ej3UT@sBt@9 zPuwt>DXAofDXmt6Qc_eoQfTUT20h@DXz?}x>9{*wFyBd}ZHjJQf3nD-;%&Gh#^ah- zw^$a{htSuhCoUI9YVtft7M!&g+Rd8IZqI@c-v!+_H8(j^7cBqXci0%6;vU?C&7Ygt z^N3TLtbM=GXcYwcp;;L@F*(r`v56k2St)q< z){_YVT)#Dn{BHu3LcZK<{!?>w1Ss0mhEQ4Y{4NvNEM0a%pnz ztqeKuh1s?kU0q$E$P4Iv`ht1wHrK+5sB-U*%2n>FeW+)Xwx-J*7Fl1aL`wGRKQ-Cj z?}lT1Cm#~43JOz;fUUws^UFt>IR}guBud@snW0~7?5;TyM?8^lR%=#Up5Yp>gSIyv zZ#<#Xwce$HatxXxLQP^rmoYyj1ta6U;(^i`-;tpHP*gtIXE*UB5SU1^77%4CjMqSg zJT3AOnEswr3B+&`+XL**fQCF&2*_VA95rxW9{8=X$491ED-i87#n1k{Zam&&#>UKy zjbW56SIHRT6SaP4O%oFnjZI8|4E!1-(s9M4(b<`P-M9LMeyn8Jrj!Q;t7f7m znGdx3#(`Et@}^KT>q~1V^yy=vNB1{-=mg)f+mKmlgJEowuh3~XhTDQ*SJwvr_1RI| zun+=92(|$gmfX2uYHVcmDqRKy63p5@1?Y2=tN~UwZh9h9oxE~jxo#%)y zX=R>!ygD*9%k;QlA)o-2U)X2Vjy6VG2+*QH^BQY|*L-&b6UW>SZcMDHAj|XvpqkCrljjc)P9*VB z3$j2=7^eB+46wO=ltu8RJG&J+(HG>0k+mmk`VHp0KH0POnOWQ3vs-BVm@s)E>c`k5 ztB^{N<5UNSO<1*EZ>!;ghJ4_cBDu}}(3;gR%NxQuae_YRfJbe{=UG?rbwId8S zbs!K(NJt0_w!J)Dn5)7VL;piqxTLrk<+J>z{u#>kCLlv;57IM7Tmk2Mr(ts@5{+&w zxTmab-#0!*bY@o~M+#N8-J-)WG`rRPopoYQ4clRP=QQ$(8r}=bz`3;|F~G{!XJ)Q# zlKi>6wiY(?jB(6!U_4BV8j9=|&jPt&_In5(EGa zFcb>)@F*`SDFG@%1#IM{teq0n%eWOpc5`OWH61$3l{k;K7<`lZp@Ti8o%Y zQ(5o6xOqlONP4J5^u%?=6@Q0`TZb6(Oj~aefTe&11T>@^iZNdUmIPReChnQ9o-tlM2DX*u;DX*rk=Z)JJid zE>`QR+r6d(v4P8Tot}b)Ee0(<>LZ8>PVrGeIed)y691?q4@z6n_?l&L>A3VX%#HA0 zzE~2jIV~Ev^2~#B3k{gNe7iHd3N0R$dKBRGs$p}H&}H_<821c@1548us6|I05N`bG z6zBmi^6F#*4rd{*SqD1Uo)rkNML#J8G#jNE)b6ANn)IEpM*HXNyg-M9_5<0nV7QTe zDl+Os*j89UQnY5R;&)PbZHZ-vbcp%TnkkD9y~UG@v*?sgm(V#iLlG`hX4>@RSSR-)Z^b%#kb3=bapK(mf@m%l9gbbZli3`-tUtI+3 z9i`(gnpHQNXvVF3&c2LD_zQ(#3W!y`5@BBPx=~7ILNzf|c{2fZm8VyyYtZ5AY?bSe zTbxO6-k!~^QS#chvnGBPC$R9Aqn}hF%cge596hDgW0B?MY`=jIkydWgUO&V1?Nioa z1-}06^q_+q!c8e~_06OJGJkb)^#Xrcq#>&Mk($MTZ@Yn4+&Oz>zJP&W5ika_K_IcR zXVxY9BE;HSuoqBn0CX!N4q&V}Zi_Z-3%;Gr&O&>COgNqWrvS{10hfR-6$}i|G271I zC@$AJzHN)(t9`KZKjYgTUOsK3!49}9PcOr$sTQQqZTM{Z$Ps{9AXA&Vx&tMS8%`wn zEsiEUbP#0Md?w-l*HEp$k(~ehwd8Ne=45y>;-E0#Wv#zJnJ?cR9e^8z;Uue+%w;Y~ zum3m1{|R&9c$dGKOyT-nq5aB>Ig9@vO=7y<@pD-pX1KifKfToE<63^JO|LIJ6z5=g zt+U^cVQ@J7FEp9c4%2gtVU86oCBu;V^fxNqJ*z<(5DrbPJjm1Q-%v0-@|y8qaJ1_m z|N9E zE3@cO=h0ZJ-O??QUh|mR~=STT6lem%-h3-5zuRQ=iU8iV?F!PEsl0>+rzwo-gWuT;ZSEV!_7nd z9KX*4W`Rr7T0J1-K2wPw>J^65^=t7P?AnE5z4@$VQw)#Y1@$9 zEeF!a@-?iTa(S->9yxxF_2)kp5fC{oT3YmeGGEIO)MR4YKCP~Z=@C$e$Ht9YT3guE z0!^49JKWoxVUgxm&R@JeT+(9^s@O#3^mHF}%}d5M6>;=`!S1dKhY|~Qjrg>DE_|38 zT;N**X?2vb?}v_vSatyVPV|7CwcOV_ zekmCHDrqe47lP6;0!~#GXI!cC5+qrV#&jE#Ah_=nd55#}r~j_-If$36oURYdQuNyO z`HgMu_WEKt@hhU^#+N4M<6NeT#G()rTQ*YEZb+3cYQ>}2_bN=hW?J%<*UOpIwD*Lc zlyNHU*O-#ur0>)=$VPaG6uGlcXh=5U(+T*LWuY*K@Bk@qgSG{q9yQ=;U|?N8i1WO^ z)~W$cIF(Fd=}8M}ZP4ba7eHyD9(p`qval!kmAdb)ch-h|8x^uPob>IeS(q;r7c@&L zFLKM+4z#QbrSwN0BhkNAkh+ZFf~?{vvY}QFh5{o!fjUL5#9c}v&*Dg;ym^h4m-oF~ z)ICKGVqK~GvK(fM-3gQ&z1%|*{Q$GYDZfqLDTOY}J)jR`E#IImswq7AeP~(bPtfy7 zKd#Z6#8>uc4c{!Z+<2`)wPr-9JCj z9)5)KF4mp{saFjxnjF)&m7#P-Zi9!d7FP?}-vznh9br*tmo9I}4068FbLF{scj+Rq z3iF$TJKa~ofB{UM&om@xWQ}m|J(`0;2l)W^*&i|6dF=J;gFBH~;EJq){UKZfs(oyv zFCfuE^}OY2c%4K@OHsCGFP9FbR&Q*n#Ua?vS!d@e5xyPlM@cmH0yHCz0^zi*_)YeOwfh(?eK$9%$5wm6=n83sQ%pAQ(pr6f)?Tuusg4Hvd2~VH zaZ3-O&2ZNE63J$uf=FQ?Bz~VHS5&&hL=NBZ#J^MiW7I_G!;I$^&s{h@)T0h%;03Mz z%zPEiR@Oe8puw-p^{0gQ=<6jpsl=Tm<1RF$pLa}RQ+$U=)PYi#F<&qhk?`oO82*x{mng0q!&B^Nmc-OvDt`Z={6o zf;5pLx2!6}<%u1G2*+G#&rKphD4UDBefo=dQa~V6v5T%-NU7f*%e3?=>-^e?><3L@ za8Q9!=76E)vwiJ!E9PGqSwoJSEzdQtr>Q8dfA2%TF1#V+#^rqn?Z^sr>Uh`{+A#ev zPwC`F_y!FBN%;@td|BD+k{M6TQLLHb-9|X_<0S<|oICA~bq*8w>~6LTRoB%GnSKU1 z_!twLDfQE$eB9Iq)U{{T6E?z>-Kn}_u|P{dEaLF=F?p{;e;gQH(g`ncTJR&07NcXG zIJwfY$Xedsz`Nh3MCsQ&pvq+t6JLCG(@Yv}?b&9JgCxu3F#AUu9N#&1)zcEYC=nr+ zixcSPp6sL#5%xr{kEk9Q{xlV&k6c;)zJYD{&Jt%&^`1paT+6Y=$3e4A$8uekg<(9+ z?K36D12$vWffntLKafQf{QVZz3Dt)o$2_vL9`b~J9P5b|8Gsup<(5tOUzj{G@6CB~ zB^;F(N5G&R;i%gW+@(^=^Uf$7GZ{*aA_XkVrDHd|0US`Sh-ru z`t_&&A1vM5Id#*UE6=Ts*AxM(P?5=Z?(pk_sIcoFjCH_SO%V?{H(o`3Z)4c@9BE|; zZqXKtx6q@mRY^=q*wy%UKnFacr+Vk`5tKV+0bOHb?%QbPYEgC_-GLr!=DwcKf@zHt zysdZ3_K>`$?E_zGEJo+>qOH*;6DJn~Wy2~=LY}TpsCDxl>s7gWQN3i(U=d*rPjt%a zKgoHYAI`34_+|IqzTS~%ArF$lvfZoBq2LkO+(sL&I>`{jNDB|ln&U(QC`C1)`!3O2 zI~P$9K9g#}8Wz;9$sba)IKbpwv3JMgmk$52;FJDyhrb-k!0WW&8*u^~CXk!Nqw?5m)!t1@>ExrwjVJTwDp+5Qc5cVu}GdHHf zo69v)<&T-++mHB++)f3|so9Hk(wwqh@)#llKQHK>&bxg4;SIL38KJ(>%Xe-cER@2n zbq))D>iiZz;qV%(tO4wDJ|8pPDz@34@BaSgSCwy|9TNF#BwczpydswGUNO1p;jgjG zx+TjqbfUW-t#}DO1y(VA7sL3s6>UIpx=Ykj-?zkPD84M7Oppvrw78?|`+(hE{WZ}G zt>J#XPf|uG)%m*E)CM%`|J4iZ)nG%I+Q=i+rbwJQM z_s@p^k=Xbvb0|1W`{Yw#&8`+s2M}Zjxu9VLsPl+`vOgqmqLwA>n(xJHi4$4oJ_Lil zXASx;10H?oY3lxs(L~B^UnZ})!+&}^z>@m%!^;I9GF4IRN-DpJ#DBLF`O?k%X6u~@ zWAdI%oPfRY!&#`rveg-1%X5pd^D@8wl;_3KwJ!&oE$iB{TVA^fwky7xbK$SA9x^la zFWwlpZ*UBHM6@sN3$!l*O2UYXLOSjs`Z;H&B=C&>}}pgJR=5Y zQ`PbL2(tfA#OmmFuu0i&sa#_Sc5QzBb$L+mZRns;BejXH-Ei*7$dAO_Fd-(wl-gt{ z?r@dmS$>YEnZIwL_dsTi?ahXFBFVRMC+53#FU=c!B^qsnSGjquC_CGi_Ev(1isE3J z$C0cfHQc4Ol|GgO?D6ptu6W&Mc4uL`Ma#3S=S6|dRrV~Feh7E1^lIph7eK3@4A2r+ zZaT{co!Ot`S|K41S_+>5$7bd_wkGq=2zzxL&)pGiE$Yul3-nq>yR-Q>2Pv6D2EP)% zJqAw9>w{`+U6Vee(BpoOgw4g_TkQ}ib@;H(OxbSzT5~&7ecg^m4|?5s`d4$PEN6(N z?K{Zwr_N(%lYfi!17v_qD5~H{ED5yJ`LMAhLNSJiYq-Qzcd>Na*%y>y;Ra> z)q~LK6YKdJnwA{yC#Dz7!J*7vKt&(BqB;m{uy|SeTe*yc>Pok#?|=T6T!Cv$t0O|MQn82(^la}RTjJ<*gmQLtP> z`~(*yV{&b_-4qmbCrpD6dgbxp#xB@+Bx-Zz%(6>fvY4!rfIchH>kBViHXJi^V&0GQ zWIdwYWT=0X{?+lsLwx7s(IzkT)w`TZpjh?Gz}AVvE*@O{CxENp&)6{tE51UXXxxUq zsZ+k`+ekMcg1Kjj6kFcgBbM8k4zRF?0_gsODloCM6*cE?`znA9tS zw1bPAcKqD)AASW%5Bg~4`o6=IAI;RvNR-|e9e&spP4+X-h=moW5Go6!v6@qeJon?I zW$lsZ->R26q&0%e3L}WKgG8B1pIaRtsQ~-QRlXn^&x{#P@N@=SeI%a-}XcDt zhT~Nq0Q*|^#6XV@QJ=Sd2x>6_Dm#&W59qPV*+X#|aHUT#C54uxDNDvx?d_He^K;Zr z8(phl2Go70==hXYuAtQ*zBc^B<@m$KW99lmp5(F9E@$&41}W)7tf#NOXkWW8n)+3o zYGm0?N}@kQeG=vr`mP4%_giM#nG7wIir1em@c`;i{iO_r2n`NtwB*NmdswQfJD1RG zts;-J5WUq|bS9ap1AAcavUw2u#H_*oesMtgx+QfO>?vYu$VQk>{(a7k<)lhXw2u^k7Dh!aH~F3jazOdf^{_^8LDk zp$-AxqEv$vYtg@_eQ?JI&mBJd+jd#b09t}f;A^wfaru2A0rE71(7xq@bHg~Aex-#M z74R|kk(9v1TRQDH`8rY`ns=Pc0#?%B;~7rl;Ev*17~MW*#5-uRU^Sts)Fad8?ss3h zOsu-dg#fyz)KWh`p#04=+C-W<-VkTB7|cY~-mZJJ^4Y~kG^y0Zb-x+631`x_SiAU* zrb}(l!BP3vFSVOETpGe@!L}7@Wf%3`8f&wy*gniF9I2_pLNoCrFMp~AG<*JpW9m(t zc<#c$e#1xSMLSjJpgG2hdaiGXm+!a$_stsv_||#@8Gl+p^&jHqX{3!e`K0J2ew=V9 zOW+c!QXS23X;el_AssL#jdk0i#vJ~Dc^7;#5HN!d5W=Ac0Hp80eQv8=J+&(2orSYP zUfa%R)tj8~8ew7%oBQaZUqOMTyhPZtsaWK2*)Euty~WR!|K#2I0}ayV=eW)K+d%%N z1*t`L@*K}>`@vbwCF?Hv@}KVm{tLlaR3!n1p$11i#*J-=<7(!fgnq%U6EyG_QO_G3=Iy5O{CXIWtsIA9nHL z&g53$Fe9w7`~^UL_VWBK*WY0@ZLd58Hp3&$dT7YoWx_8y)^RC^42i5&GWT+fBntiU z#kcY?6}2GP(bg|?btCf-E_(79h0zstmD4q;r!A_MxcN_n=71acIQ)K4kG`<6k6f%|7@|Iaq4d! zs@|x=ji^A0Gg&_owydj;gFxBh0 z;^sRDKg>*5vy=|Hr}Py?0X`?Fs90r7<@r$hi(+s-Rknee_Jy3aw)cxwYAHz5bnYLM z2E4*ZG>)T2rN!9#4L4lct%b8_T~AcV4KNePIr>-O1dZ#d>)S>8jedJz*fSzJhx{b2Xs5$5LlT&g@4K|mSt%WRZMBBtC4FSVV5LpW4S zDn5SKfkmm!4K$Cq&o*P0!Y_he#c~bE8#u841Lb@JM`6M=6&3%k@{f`0bO;uzuQjvR%V zwe;@xW!;$|2Yhj-zGfYLaIcoJQ}6Ezb^zE(54~HlEe4&)Ruc8&ETU%Cx(c60mYkZH zk*v7h_gW)R=H|VYrgelDEGmM6+P0GFu_#W|`piJWg$3uT*_xv`m+=(K%}S(V)!Ug= z&ZqYQm*sajObu}H{*X5CTc0Vi&o!|wkRCEy%)nQ*)e}nM`!G;Esj9tt<(snr_$5kfGPOQy&mE2l zFy4)%Z1~lXuDN+cDi8X?_I%&_hC>4D{K5pPOqvpZB^ESX*=T=GPN&q_=FWVdpia>1 z#S9Yb@5^eki@UFROwL<|OsrX+m2()^FcfW6VDsa+`+2_wchwTBzRJZK6g?w`RElUX zOTAXg%vdt@-W@T+$u|Xx#z6yxHrg-2jJ*!Y7;INgm`I?SS6bawRGlF$XH&1VthZ2@ zx1jrVYnuIIarx(y<$VW{F)Q(tO~&-98o<{qXy{+FXui<{i90>GlLgC^Xw~7_u~^9u zbvE0prc}OSYievKbk>{V=;J=gvja#{q{7CtyQ8NS@YGQ@hjRz8=g${=j^~hz3ll-2 zKx3Pumqq>#Y})b5B%w2zwgyKu`%4y@O09V<9pXow)A-feKa_|pk1F?>xjRDaj3cl5 zT`-51E;d$Q=Wc?Ay-eD<=gJ%y(P#3ebwC&2oLC7+9A>!rf5PN=uKDKna4;l zcMJHbHcGw1bJ#TxhUnNHAd}~@`a<;@7RW~Gar1_<1}CjOZK5+*yk!ZdG*qq8YW4CB z`W~0KrdT)e{HQEf9U^Odk`^{)LttjQ>OI@kn9J8VGf&P(MDYB&?UL6381K4rig>yb z7P^{L0mfX)upsDpWKIxOLqeAO&?(l}#gCnRb6!*I>5IPryK02ZRE?Hx5=`V<4{q7Z z*mBM@BucK9IWH(%GEUxbjMfN47*?qxt*7dAi5a6?5V|H+Ea|$*r3TY5hrzA(u=jf5 zDURxI+lMh7>g@K_7D;S?5N+#5zXQ8Uj4`&5?mRb>2Z! z(NMpn+Bn?RcN)0hn_i7HN!rXM#1I(vqezJ$_!82tsrR9WHHzkQv#V-Ivy3B=FKE+= zD(e|H;6PQJ0*09;uMt4B)fZz4STmkWDr$QMm{!*yzjo_hHs?2uzxHmk>RBw^IY82i zQ|Z|t2t=DN?TME4;mhZr0qFN%&f$9?3pB`Bu4YAB5VH7_9JHONmE=ej-&We`P4`5} z48`OZD^p$TP}gpt#zgJPr7QGD#8;ec*Z)|tDdz1n@t?E4D_WB+Q7yKSLhBB*DHeMT zB$VZJosKH=FfOhwZh0IUeH&|xK^{UgA|z7t2S-Ge``|BRrl02_~tW@RwuNzYI4TfEixpn+WAUnS+pB!-kz& zo}$G~1R>b6ykk5;#cFBjlOwYB&JmvD^48d(#e$}OjbaR!DzEJ|H%ZgGQyeRIcS z{~MkvMpHS<=~@m1_;hBQon7;83;qMW#Xa9mi1k7@s;n97kPAvMwe?A`_)DBbrwBU=q%BMGpxCh=Yt&>j-A$e3D;thdqmx98R?+~1QlSn69 z_ZY8q~+oSpaWE z_+XF8q4$?3)LomX%R5ax@*-F*mK8p_6pTIfPZE4uiKyTLou)^ezX}4X8QAMdgHceC5slZP=8wEbESv%^50EHqv4!GhgUwWFjl4tEgjC@VN1N9=4ZOj6xt) z5WOx@ho47IyYbp*9plD4d4gk|fb!}r{a+%ojR?XgC-Lj&fLcOD!b(xfUr1qAR=Hxs zNH?y)!u3wSGdK@(9t+EjIcD5ErMBgE9O1uWw#I^6+d1H_Tew$gb>M9S8v%|!Q7*Mp z{mS;z?0cfjU_pJu{D&d!j+u!$N#AuNI?PYL)hz3X_=;dM(-sA2YYu;Nr`}^-+KXp}c7&*?P@G5OIMkCbO!WKMV z6*#=BZmCXT8G$|u^b?wFqo26L-**8pm#)`p-0~yY8s?MTwtBYT-yO@3#un zkD@xri26&^F1^ThJ9(aP`0|bq;NHFJ`E5D@J>4q3QJvwesdYVx$#*NN+)oSDZ(TC} zI?J7py)_uqFm$oRcuN1*IVIVm2D`4&m38hbD4<0V>HN)T&)C_<8NaQwfLP2O?y!sr z$w+u#9zMj!=Gdr~ip>XGi1Jc`B|lvGmCiFig&MaSwU+76$j@&o=L0@te?`8$X+!Qb zkeRP9d*ut%u&E-^4A9Y56)I`FQ$^W2`+t*el@k)@5#ZMeT-OaF@ z8oIEoP{U#FOLdgBjmM2VYexk-1#A`+{H^?0Y&bJE0mWh3H#f`pbr1BOsYo$a2CnqB;iKVTDcZ{GrHrC4*h z`b4DozXrwbz`*)*pF>IXTTN5*uPT@kGuy*_g&(N##H)p|fuoWj%e!Uw(&h>F`{=j!Gxha4%P1`t$;yD>_2ZkB z$=0JW?>NmV^g0K?(j%LLrahCT=yJoG3y*G(F8l`2 z7Nv(=Ece>Kcgn(2f9N0+b6@qmjPt~PG$whVRmqniHO99+Z}fG8Vn-jv*__9_KWW_i zI>u>gdAAyAnpUgzti?ix(^xUK?k8Llfu}Ibv_~+(rQVHsedQv<%va%Cgb{shtLfxF zJ_xfkgq`UVM7DriJVn$=_)?H>vH?G=Pv!_ta2$(m-=&nBXoRkktN8XMswDaa@iaJb z7wsLgY6o6P5N55Y>A1d8FW3Wv=Gk?pN~=x{vW6Jf?(OidiK&zL@l$P!Cjh^N+TM?x zTsr(Gyqb;)lot?!pVxZ$9SFz$$%|CG2Z&qZ1$wvx(*&p6>;>57-2xhlw4A-PqrJB? z7s7-?OQD*V*g|yeo3y>R38_@XOq>V3wh~;vCyZ!wuIU-!l&ItQ=C5HH@M|Dsq}pn@ zv3aitF?Pc+9o6|-h_K!!8ioXz>@bA0I!jb_oKchbx<+eri(#Iv0VZ@<2XRT$`V13y zh11DM<)}%}eao*x9zV-kNIRmhxLJ4N>2g-?aUwRj>5zA*7=QN}w(Km|L|0azz|q=i z2>t7x$G}Cpqh*UHRVIF-BIE(1a;lUj|3J(6bgdeeMdTRg9lqGj##gOM29=ermHzIP zQ+A?2CPwD2&UvypA>N#-8V$>{PLJ7BX?|h#ab+xlwXH%-PJL8FkS*8c-dB zVgzl`l6-{q0BaRG^*0#)0GDPJ+4>q$p%LAm^kL_)EO2^veJJyV^3_;dzdm^|)!%@r zZvXRmX5}n0d!F2pckjt_O|x%WQmK_nU+mLIj@>>WtD#t4a)kau_Wba%Y!M64P^m(6 z9LfKt_3V89e`33g@S1=MoVj#=OW2cl2&a!rs!g+*1a=7k`WzMwqfodih%{nOfTcdB z%MNGc?L(ZTQwMjD@`0OQ@zhLe1OPlI{#W3ccs0HUKmV%!9ycR8_wz|R%u;$)R}C<=6|^2 zLialj?SB=CDEvo}h~}dVx5@w0@bN$EP8{Is3Vt@7(f^Jd1HhgnVg4|KSJdB;HAheW zW|Uh{`#~!Yxt@P$^+92k|6LESedTi9txZag#-Zgt&XcqOIN4Tq#_Agl{=7ESwwMX^ zg5tP2(PI9MChlFHP@-c{Rk_WDiyW4>rDi@Cj)!fXo87D0eNQ8ep08tG`{p+~22Jsg zAc2yliFB;C&0NGb>7sE=oI>)?{=UKo!MT^9p$%P8`WJZvUFw8)l_yV85I=l@ zHV>B}B%#F9*TnR8I*OLo0a6f-kCGo|(g$?bQFm^ftm(+h@ zR0H7j2T?hyTT<$AS8$#fm$j)?KxxHvePCTv&_iqX*Kw~VFs)M_;3@WxlP5i3 zQK>5>AU*fQx2Zj=1soNMCS&h8E)QxAGXDFatoj~-x@QLMP77KZZJ)81k^#WZL6R51 zG2A@~PM_|;mf)5*W=Hh$RwJ+qzgNrRe&0B0^8}sTu`@YD0xE5AG;AmB@di1~YT7nH zS60ixJF`E+DB~<14MLQY0|PUL`Q=B?ni7D3aqwS^$}uftDId!tPDbYzjcrBh$f&!_ z#i1RzgNfWb(R|VBKk3LWc`}LcY8xmKTVY+Ewig-du3rvTMAYBU`tQid$fIlbb2J=6 zZ8^BG72svLKgj1*Y+Qm)!67P=wr1Wa*VdZawN9#33~r?GG27y%VrAuaBc(db&ucU5 z+Qhfxqgrr?JzoOR&$;2j-cWA#h{|aoK8w@nC{Od`TyAR*<*(^MKO7@Z_O~ijaCV5L zjk&4BB?L;A4c|DxvZr)M=8VSVRmk_Q-{`_|fJ(|N`KXr;%tNE*qNDJdjXbioEmxxs zaWfm-@k;v%$GXVd)>i1G`u%;h4bG=^%eo|)#2P;%Q}qVme0zc0yphOI z{tT9pYl>?*DpPa{p1Yi~IkjwR(&m~c6PdP_yeE$vs)O~ucNr&|@i&j%>LkIfhS9JV z*d3ioE&X8ZMo4q2rNJ0hoGcIX$S(9xS9x6)dUvz1%WwH~IfB=n_KbvUg>OB;r>x^h z?&oH{Gr|nJkTjVO1KL5Txefy_NFwKUOjJww2g({v6oN^714)OEYKili&rp;WIZVIN zsH5ox4Wm6hLCQYp9u{p*+n8akDM6NXIEzQXXi6^thj#&R`0j+%s7=@~oMo}k3SD=< ze7N++gd%;sk!DQPCTn&YN@Ms3;Ml2{&Yw{0NwCkvFm=(5C3>IoiW z)%u&^B*C?uF9Su%D&gzJ`%5rq{0sVcrnrhKzuEr9e1^^b2lIKa4%ujC*#~fjs(iMg zJPjqP<;EpNZdMZd3i;iBj-;CAi}-H}Gu$Ip-=8$M`1|bk{t(tbjfGCuIi?~@u2~Ec z9GWUR?ne9p4)Sux-`f@I2bJ0sP+l%YE<|c$v~0m4c^|1khH$Ci=ybnJsOjt&Tc^iV_tBlq4AgQIh1Gnj~33Qj;WS zS|x*kO%6hnnw%u3rcnt30+OMjK|pe7$)VHtI5Yd*^X=I`&iV6R=Q{lIkG-B%tEyJ5 zy6>toi*+S*{m|}@9W->@l1E!NHy^i%jAS_TLBuP0 z*@PLE(bhG4<0kQNQh*tp3VQkXFjX6nwlklIV3)a9raNOfg6WP z_xh~QeB1_jR^q!1Nc_+i)1Yi=&JWo{L0DnYfl@gX{qn$`|LrgqfDFpyBVyo+~ee|77fmjkH@^SiS#rd+A8P=B{FQY4) zHv$X7oI_0eiUL@@2;Jl9#=Oj}2%^F!68?nS)Bs*_3bUDcOR%zX!vpFbs_DwhRaY_ zM|(2`tAGi9rKiS!DZt8FKT3U0nNG3-vw|*~*MZL1ioS|SQj{cy?>yar%?<+1?`}DCM6aPi!zSBf!ru*-ga>6^n zOMPK7u_=H{dG2{@GabIL|+!^mdHD(wWk=$^>V~A3X0)x3}~Erg_iWB29l- zV1t8`afu)!zBK^!So$;bG!-k@@}-ijV2=N-knrAEoZ{%aO=0JFKW)!^a1U%QnP*qAFA)0*Fex9_hpeH9#KTaN+0t!y z%rPtSz-^w%A3io2sapD9INzt%f8%`j3H)#ips2b-P&3lTGA%ZEU3`c68%75VcP{_F0dy(d>6O z?uvAJ1=Gcb989iAh$P5V-1M60XQ1nHEEsGp1~Zb3-UAnI7qDfRE>;4O+OZR)mRO!D zA$WQdsq!Sg-lW#~Amohe#VmaZ=Le|qbFpcMfu11jxGS%_D>gRevhLv&Ui7Kq&3_|2 zYMt@aFtBBCo#nXZag|I0fHXXUA1k=8Giejk^erqqdFE__M1beZmWpmsygc)i7%RMKMlNEcNck7ZLO9rvt)x-Ou!0cydh7!W&HI z#jKkaqMR>U!2G0hH=L4zpfNMUE{_+COLn{ru9Pu$B|f2 zJw&iH_}211Lw?5brpVYW>}LJihPY$9bWv}EB2T#@cbY+!q;2KE4nS-q8$Mj!*+ees zL`-@4b=*26tA8ePF47&UvI4)rJ3L8hg*NZ*1*OmI> zD`CmN)7lEs5Fe~3&b8(xjUO$0U9XdCI}Fgxi&N-TSTB}?nSmmbzkn(aVAz60tV<7G zuXUrj>Q(fpa#+Tw25VtG0dCd&ZI+k?t2lK$Oipwo|GLaNlL?iq*=8O)8$S{+6cP}n z6#rVaNnR}Bj+n1&aKshcH5WE*$3+$D7Yfs85I9PD=o<0Um;J>`?9V)Ay$aB{1lJ$p z3LE-fK((zyRewt#Kpwk+nXakcZqABQb7&9-Z{NRUjhe=4y38%rCzUEu3EZ9gSZ6i* zvW@QcG5eK6@rj0mJ7|E&9v0PGxLR)8?EZ+Dy4lpfIj~vZTD%=$)(}ibMVecYj*p22 zYJ-QfIa~V1Huka)`Fw7T;(fv!%Jow7$pMz}<0L+R;~DaU79~Ze5v@kbG~mUMpEZ0i zM_jSK1@xaN(*u}H@_!xuAGpC$%gatz^z9)-Rs}oNZvp3g0Pmgf(Xh_<7mM2b>1PeE`8cRfI{e)y;V{Z&^ZBspne5*H86=(+Jt`KG9~TBt>(9ZAa< za14dwXL|zmg~xxyB<$qB5no-qamWocZ0J*&ySp%CM4aDslvKhl+~K%bQF|4Ezu z{~y=*pF1*|Remh}&!jn!Qhn>+40>g{`1iyv(5~axnC<`N{x1fXgut?YVG?3A|E9Me zu!R5=IiUNwQ}_RJ%NiRSR!sB0tbzRhQ!EDnemL^~Tg#IFhI)|!JqLgA0s+_mv^@dH zyKnv*PywK(|LlVDkDml!r}gQ_MLdHkP&2oq*~#VP)j>V|?25{>mX^}JKrfpCKbQv{ zgj>M8xD@$}4{R7f1e?X;p{LBL0%paiK%Iizc7uZU_9OStUHyl2n+y;J`c3&x=ojf_ zXryUNpv#UH5)F#vHjn2`Bk}*7iW-7 z<#phg9~WFvMNbo}XJTd)ptG4*6KP&r=HS}uE;KSSfo3CFQ0okHGw@qDl~*|e9rY0F zH3l*YH=V~?>_?OPS!$B{NcLj^4k4VyhxIjm=I!Mbk1ASCbq#%TE03(qwlDto^|xFK zR@j{iMfyjjzXjsqenzuhIsuCD)SQ1hN zSO_5Zl)u9x001_=X|JGSG3=kXhZGo(nyHV18J}6%5q$8hVo-`W4e6oAt7!$Bc(Mp;bIQB#lcIWYsuU{+~M9NE=wMz^~ z%PO2TYW##71tY(hLtKhVlQQCb*&4r(AMsWoISmtkbv6A@jTrhxJvD>lG^u=W?BgSDE!X}6Q-T%r5=h|(wCrP;#zh9)4Jaf>oMfCmvBrxc#R9* z&A$vi`%XBX51Py(d2gCE628wv4{Kqp;lT6&8BaBW3d_L2wYnk2-jv$*{AR_U zJPjnRks}U-W{IbROcIwE+$>%k2v71y2W0M1jMu6^5fF&Hdb^VU!>{b`g&Az-?b|33 z@C=9R`j23X<4FN${YF0}g7fen9O*NZ_`MqOoy7BNi+@LRcrqCryuy^_thak>ta;`v zjy{o-0-!^!twE#~lNPT{zg3L%&S{6%4iXCs2#^RI!bopSv(ldyts$ga4Do(LT05;I zI|>OlB5AI*b$-`X#0RxK(F4U{1+@IvJKD|AAK%F3!bZo5gP%v`XgG6zIl} zImRiF0V?9`>i0!P9^(Mw{AeZ^uh{akuoTSiHn;hrAah%|aEgANh&W;>rfwj)l(obP zuG$dx{wz#EZj(5%;y?+E*^443Ht!J8*s=F{N7BKR4tk9uYQ7ddo0Dwzf3WLa7cz9l zbnX`YU;f8iWMpHX=CN%%{$vS-ESZTFF^3W`KC?vaAts8$w&RaXlFTie*_W{`o4HIr zQnO1g!?N`({_zG%)+CHBUMZd#GrAAUK8BE>B&4+88c}Hn>o=4IblK^TT_nK?o1;*R zvz^lnk28;kZdHfch77@$IKhStJrku;tcLNV-==b=fPA>R3yQ-yZ&4Vmk7V*O;5DrA z>8c8|#m&2-TxALlzUu3rqAQtjEPJi@&RD4%v`UjwA^gGR=0!n#WtO8XUKeg!(-dp` z@Ht8@-l*_0p%x38OL`1LRmI>J5J#@JDNZmYu>7OEHShVyuv2Uu$%0_yRAoU`1#3_U ze>+mOF-g?SYPtH<lo>{LfChm$dLJ&F0ALGXgV{-_HdmpIJ9j7KXX4EaJ-r zV|iA68as%wYsPnuw0LL`yz_X)ELOw(&Zg05{7UD#Wg}(*H@)+y#-NA z*P-`HjW);2wrgTCL}ruC^vd%6>1djt&D`Ep7RZj4aI7>@nSg~)DPzVJn8wvGd}w!Pa3FC9P+|A9p@(-TS5(~x3@hZZ;xtGj=dCL7q4&`wYjuKlwtMdG%F^HyP=UEKV zjKF_X25^z;bv!L`?-DmC{{!K#X@X@}iA^@TV(sAD`lhCM{Qi*iekuyTM<0Jd zcuijL!32>oKJz|}Mr_86Pqf3Q^>V`<`hUu zR%`)eL6lp!z5Fi2I{Yw8g1lW1dcW{!JaBqq9eSj>!hdaW#e-NzGy(L-*2 zI`Xk{6bFVqYj|EPMD&qe*Y@W~j>8m;Ad_Qd*NxX|RKcC-o zL2_q;m6+c{kd(LC-u;O=mY7`vEQA(%;eY#;*a$W%^vsoC+EWqob?@b0sh`dIsb)sqkvai ze1h`(GUS3h0){KVd$;M`hhhQDZ>gR_L$rW@7t{%aTJ*<^=Tr0Mb#v^gxm@ z{;FMoc+8v~xH1GK?vHB4D56_^uyirzCvcS1ex?Occ1&$pO@WKX?BHW-i}XuFA03VS zVg9z())Q!uWa(O^anQJ7S@flV#&!%AbpUq zRcYE>x8tty1L7DYS7D#qFkX=LP1!j?5GV_>_IITBGcbEMwZo2%-M0A(|I+jU9Wo{I zO(@Rnhp7qA{F{c5wN#*ARRB~tuG5k4-5mY;co~nyqzlKRA{n!Uwf1h0X$w?6Op&58 z00-XS1pP{&X!K7asE7n_sKSRMq@8O5<`F{C|JOK$qoOx$7j$nR~3c7HUoz0eOJ*nSC(cee3Ei!;a_H z8LezP;$@Mgl#*EA4=l|fAj|jJ!x>Ath0PptC-72AJza-uCOc%kDY2j zc+Wg4w~VO{=L;h!@^OWMweq|9im&XKeR@c(!Ie*@TVf^XjHz?z=ZFmfy6#F!N)ZZH zC!90)_n7R*x`yDAeb6L1qa^ndNe=M#sOi>k5`Jz* zca=d-gL{DfYJ8&(1`w7Yw>S$Eo@FMz;CnmDhu$IcRdD6{n9T{(Lcfl=iy+^1l9`D= zcI?1h!_>=22g0I}J*SAf86pq4IrM>eft6{W3AB2UkW3EZP$}WPtXW{l-@QGy!4$KgUI!tyGI8vH^*yxCI%M# zD6nPv>_g;CtJ1+IkV>@B-G{IZv)ytuG&p)CaVUb$B2 z<05kr&S=hZuQnd*NLxjj`u0(?I*cC%!D@8Xnu9uC&B|!3x-G&#w}|-Im5fy6qTY** z%w7xP>}>Hr>r*el%g)EejQCxCRa@%0eE!u%Fn9lJDu=OkYdbAQv%{Xna~20g{3sJr zn$QIJ?BL;|<5l<}@u>B6eoq`+(4jB#W_~+qH)2SNRE`P23XxxPq^0I9{1(n9SE6&{ zT7K4^ysB%MuoKfnwbAGB0fs9cMVp`I1rGZhvG^dQq$Ea~ zv^DCrX;5T0SEzmV;5Zw@4&FYJ5^r{Cg z_jBks`5R;k*Na5%S#yVK4a}y?7Rjh5!<6eqMmHFHr5$G>1H*TOPbsuBl>=%}FC{iF zg5G{%9P>=DZJ?_yP7T<+w;&SD(hkU!S?TEb*nM~Fv45!VrQWEd-aY zZi?YLyIR2jSBCIa$D8!%8p|c&fec~CJG5(b-`L7`b}N|N6LMOg{Pw_?3Hdr75WT=^xG~RxDugYcFfhb!@(N%X*a; z>N*47VThvG3p>$l7*7#!yfa>AHzWl=X58EVrjp2^l`XM6c@q^ZZT}oT4TlD#|AxCcvwo$g&S+@h<{S9uK&U(YK$$}Hved2_O@8t(3?*tfi!SP8DGVsoZIma2MzI~wIs`p zUXB&L(-8eog|}(vHI#Pk*7$5XIQI+^Kaj-VF4Pz&} zygswX)J1uI@QyN@l_vvT`f(kyqO4wk=n38}`uqkeW?Y(OlboW=9C7^lH?CK472I^7 zgFpR|+i($Ql46#WH~tHe_44r+`h(3%-7ewmVB>K3vZU17M1>m8T(X7y!@&|096A@U zHWYGSD^u78{T9ZmNIF=GC!8Iwqf4w~x?|}tU(|6_i~^6Y>@(LR-G}?JW@N$9mc!2w!PXe zF%Pqf!RCg2M{kE0ON;l2^Fj@L9y^DzLk|svM1|BF&mrk}1`(I9Qy)GD-zI*Jm%hF>kFq=7;mZ`E zAisY7+VA$%cgE5vxt2$Ao@)pQ#rd-h6-@4q?eH-mDt{xBkqCeNLb(_3VSVY|3m zZU3#G?SRI}D>`LAad3j0OZvCXHwUD~Wz8Tb>*XS{nS*~0M=%He44%}IIz5@ewlf^{ zSLG{`j^-`GDVQXDzaP&-iPLsw;$HUX2fU&k(!6(H^$fpz2Uyt{y$(4UWs%lr`itS0 zPJR<~K(`$i!H+jbtK>GlJzvCp%Q1+R6|aLFu0ZF`mQix<%(hQ7S&~m>wzspwwaA2G zE&Lp<&Kuya-r6nH4o+LRmWO`I`I|8zNRE<<3o5n2Fe+5i7V(V83vK*lq1h#`3cb;= z$j`p2)A)?;FTog4IqVF+UOa5Mz*<)Vc4rCNGi0{ZH-~?WaO>g+S(o))1O@$ZMXkp= z8YWQko3`Hw;6L+p8dK>*=oH24@JssJV?PFoix!!ra#?4+i@|Fg}#Y@6u zS0U8YQ*3N$M;F@KWZ%dI1pXX01f(+Y!6QHCyCP9$;Eh~yy~|j!oAyuAK9nR~W=Md+ zV2h$rNdjdimh|7wZ)YGG*!fniIUvzfkDrHzdDL@Fo?IH<^V2y(qU}EGv2nqqMEmV* zTHpVW%uCfQkjLqP&-^&DX)k~Vm3DG$bJ$rB>B~i@Gna5%YnfdF)BR;MXXN zz=>LuB5%w*cC22v^~l-8d*|Cqh)dQSb^_s;8dpd7k!XJ5($y0p4lp{m8(|~Z%h&Fl zU>YrghmS*C%uIw_CmwKCTfWr(oRb3*aD`x=c%SX{S4o}a1mt&odv0NIujJAtk!#m; z$LKd0zGD|KHGZ}GyAKVi*0G;uC`*n$p#=o?uJ?Oa(V`Ha1oQpSiK$hoWf2x~;>NY< z+i6WQdN}1Yu8i?5AZCE$44(h_H&o)%1_r@cWzLwG1F3SVVCG`-Pn_9WI|mf9R7T5mMYL`-h6BIR+OIW zZtf`MiUc#;ZtqtzkL*>!3yT^RoB1Qq+QQCsRR^5i%@tpu(vD``UZmOoHMP=$E|Gv;JK2zG@XS2 zF0s6!JJLamKX+Mi@r<(pFNX$&`spZ67cv1y?FpIOBMff0diqwGZPIR|>$b)|m`(CC zwtBh%4LWdxj5E-a;7N1IfWWz;V>*k2+oC^Pg`Lsu`d%^}YRT zSANftr>CU8L4D)<_By7)s}+8kBmtd!kAcl_U4_SpX`nvNQLY~eZ7|);NHjt#C6t=a zs!jxcEA>;kuVsIiMOmtZK5_a@8k#)35z9e*oklDtj#{({ zX9l0e$N>Hw;j=4o3y_tM_TwIP7Cw!%>FMONLl@?8Sc39thN25I-@u9_=qa~hGcH1e z+~LKnl$m=XGXQ-R=%rk^KT`fxJpFcwQF=-GZJ&{y*_K5A{gv2)A7!bO_057SUw3PZ z;g+M4(*b}*Z;oXfuO2zi zJI<7v;f|m9?0iGwl*UUZPfZQP-?~vr3-7xcJ}tq;6tc1LCcMB zugy5-8D<)dx72-brRY9%7jOfOr!$X2JF`je?CBRAjpX-AoQP7-t zt?DY*NO*izYEfg=agU@lqqyyC0y_#jjg;iy7;C;|>BS!Xk#107dg0D`2%E;d(Z(72 ziX54P7e_HpF|F5ud!Somqk4W!f4ZwuZp<}SJ7QpxSMy<34Oy+=l0j*Z;_hwPg&(@( zpW}e{pUop;ARVO8^#;uv(=rUKNpf%haNXyr>U;oYH9q-tJTQjq~urA#gCo+UXIihG@ z6X`{mxMn$=&qKG!$&yXQY(np~w^ovWIi6|C;{|C)QoMmbTRPL-0XM;CEaW`)!MQAM z+ZZ|7ViZ$o2|PfYFf|T6*PS_GMBKc7S-UP~ev+r7M|^62XuhZaGv*N4unlFDavT1H z$P|fyiv{ui3hKT(^yQ6B{kATh03ewin!w}h>%&Cln7x|X+OKs~)-z3?t5V22M9D>tsH5?4 zP&Ba3sNNagX5bR3G*@d$^5r6efgAfED(!L4VD=67^$#Hdz+nVEH|*T7i3!L5G{Xt= zWrSa>cN+PLG~j#E;Jl6QIE2ofXl)yN(U1A;zC7I8-7Q+WKlH5T#qg0cR7r_ZlG*18 z{~2}t{s)N|;6Cv=bjKeS^ovy8X8{Hbi}L-7L&?}iTGga)44sa9=lAM@?Cky(VC7<2 zHS)FnN#^1FaW(RN<|77Q%eH7oXB>RMVBG{)HZzsBJ3d@e+)`(rv(t&gMR8fw9_uhd z>oGR^#ACbfA!~RLJ~*||@*|K<^7Zr8uP`o>k(_*&qsZE=Zq#rPf6dX5NxDry>ga28 z+T&fT8#Km&W6R_pq6`NuG@9P2yB&0o&xlmr`}>Cm&HIzB3f3>)d{z5D!u{z{zzdc7 z(rasCHrlO6RxHbp%*;wjPS5sUoft?eNcs`_gNKg4r{{gl6PlonlW8g?O=fY=gN`}5 z03XJ=#(R3V!Mq+=2W{OlH3g?;~Bg6W}b;jnDg4-KqdNs{{7gCfU_dBGd$od zYi1A%X6^n$KJsETqp)L!AJ)ad+gs6A5u%8$7|ZMxsbtqqXbY5jBDLcAHQidLDDM3e z@9$H&k`c$)f(8-ye)PDSQtX{4o?kjp!sU@qyhMqndY)V99*cy$T{k;{?D%H)b<@S< z{mDvm&E{-h9`^O?HpAjv>+6k=9=WjoB}#hG)CE2MSCs#A>7cbUyhu#!Lje@-JIhjS znYf=!{dtAP264Vdt_HNIt^?x>5Ri`fUd^NBL&|;zMU6x&N{j zE6jFz7Nw@q_R=sC#_I>ZA>`uMd^~-9c_e}YyRtF|eTt*jSJ@2pwHqRl{+Fd<)h4TZ0H|W5NT8aw)Wu?_p4DR@uDzC+SWEj}& zNl=o~m3=AaLx#g2QLZ}uLjmsu4z!7Z?~Z?d%x{Zm;TVLi{E#Y;=MKD>X*IrG-M#pb z9H9*KG1OGs$+-kN0wt5@{Pstnujf-y4ov%#<)VmgkuR0jRb6;Y8otm#vsct41fe!E zqFs*C6H)3bRPl<^d!I@3hI6|*l^13eM-A%e?PVMTbui_)pG&&?$JI*K|9e!fUYk`) z4X5LB{C%5dJ!#m+5UeK1jDNga4l`=T(<^^G%1R{vDREvlu)^JcC?73l3Cp`*KaukHpCFIYyZO&8hsl@z&IU|c zDq{E1z5oh%)pt?*O;VpMi~eu_^1$a_Nj_aZ&ncs7a}UOSJ_^{V!+&lR4PBC^1A*R0 z{l|JAyP^CbkSJAi$lokOjssW@)EXvpt>b3ypR)S(u^^`_A@r|UW&gF*c@Sud@{$lp zDfC~TbP)uqX1@vn#r^*0X@vp)0rXt$))?r{%|E3?4tyP`BjrKyIZ>8B?T{AO1?Ux@ zrS^rF@_!lxuefS~{onsI$KNRrfBV}XG2K=v>fqP^Tl$=H>3gJhGf4Fv*yxw+Kn!+!q1pf~T7X zpOWi7zLv?omm52Ehoei!0`+Rbd4}JpWoroa3B`O6V)67<6&#wc82kAXeFT8NkW(4k zD=&p#%hY*hBgvZt&gbo8;fcxNP1>LjP?`VKF!oOu0-zUMnRgG5DGI3Rzcb77aRNE6 zV$0`G?Vp0+^yBO*uJBh!j8Ep;yb^=*jq|0byu3RmEpTUNmo9}1LZ;pdsTPcdiqfOm z1e2gC8nHE81`ytSu(Y$$Z#MH?-p_ECDc3Q1A9crEdAU~vV#`emf~_OdZSf_W?CqC& zl0?S8Y~ndRz(c9w*K~cPKUx?!SYMRh&WUO3X~C}!-&Z>u(rLz*;`BFsluBh+lHw%5 zoOaMr2s=cjq9%~Y_=}M`XLCh-WV*Ss4IOxb&x>?@bE*swniMW15Jn#_EdSYmw z*v%Juw@=nVdFlIi#d9*UU&fZTQY0KAgf?E>PPWlO*8mlF>$MDS?0ia*AHO=W1U0zJ z`1w9|>V~UwA3hQ-Y%@|XIK2qV?1Mxrsj3#7D!?gL?J8T^IOC6ve{PKogW;BV*20<4 zglEA&J+ePXq*nAVn1#DXi(jXSbD%Wp2mpc1$YL6tr*}VIW)AQ>8@`<( z=x~#JW#oqC8@(o6lIEv``$A9nG9Mwj&1)EeG^5S1VOx!kx#IAb=~C{N2e!g6+PL?3 z@7#5p+gp!%wBWQntVwq7R^x31fqkT%2P>ccbE&BGlReNBDl6Hj?~RvQJ#@;l^oT)? z*rx5vSMk)IO98sWw=OAn$bm$VYU@V}EN>QGSlx|X{B7M85%EBV3?$6*_Y2E?OAKsb z0i{)S*u*m5pl0LsVt6_%D6bs9l`C-WqfF6IcCIT|pg}RWep$a@9Uo7wX{kXnB$`}J zHKua1qt5xw%y+9j z?<71Olqhrwx1_Q>>Zfns!nfrmrSbfF%Bwyei+_yIrH1Ew~4VZ>8C2{}zaafE=17vf3SxrW;-14y*r;YelU6RCfig}H_ zs)f9T2JT?IZl8?OVT;4f-8J%TU>DKvV(*bUEpI%g)g)@Lfz0TIE%vS^0ibEW?<``a zw(Z2!#m&cU-k)WF%i;bVqlO1cxSofk*eF<_x8O_N+|ZbSL;E6?SnK-$zV-Bq`{jCf zziGG4?j!s8v7t;WCLt(_7K6(6_*r;Bnuvj;O;2)C)iz6Z+tgH)3x3j<1OnMtKOpp3 zs6yMsQgSJbcI0TIUVXp2uxGrmqQyM_s$$0b+bLW+$lTae_EeWn>6$xNeNDnh-W%Ea zG&O7iLM!VDQfJ9F+dLR>ikxx6kg+z)d|PVK^*Y|j8tu}Ud}?_kYrm6mwvkJZRaeb9 zpNl9Ps}=CF8(SnrE}VYbn!ZXM_dXBO(DI{$QTQ{L5R5}{4WXUQpq~hy&ZJqU2HF~m zRJ7zw{lL*WES&*#bqFFR3~CZQ;ppuNNHfoQ{J-TlAq~ z;8&`}FM!P{{1Ml2nK-7_a5^K~+JXY{Q)*b{;wqZvxmTPEtwrG*QUa)dFI^m|{LrW(fThy6d?D%pu~81K${* z6Yb07PX*KR@!WLh+Sa~-P|U3>C~j)X(axXvcAMY4P0;tJHsG-Yv{2!e8eVQm#?{^x zX3_b;;n|=4Lj8d~?cM%TY;nBs+EVD_|etL0s#E*J-zs@yBOfdYt~|jl*b{ zH0B`T#T@HoEnk1vV|6~27mR2XL&94!&~qwaQ!X>1GBd8XE#R3AyK1iY4lh!m`vbOq zr{ro=`ZewYwXR$anm4Y0Roo!x+UD?Y(b?G$8YF}8k1=m+~hSq4{cgHX4fj~1b@nRznci*%J8tA}1p5_~dv}|DC*r^r(1pM<= z0=`4TS}fwo#ALp+lkMWdRJXLS;D`Sam6w-S0}ND9t;l<21n!e9Nz**EQ=QffE9mnN z9em`aqQfP02IEdX>)fRRK-0<5Q4vn%G1;&Tdu5qh3r?N23feGk}B$6yrj5~ifi16W|{kFzf?EQpv$*7TA;s@Q~Ts~KBF6Bj!1ZFMcv*|AK(aMxGPk9uJW0b;xt&=yRkn<_|9VH zjnxYR8)~f{6UNbEQ&p3ZqqUEOsmOpWPZByGN z!F(-OF)v?Z8X%uS99vg|2*H_8rQ3fb1U%2=pVx?O>z=QCr@Zg7o%uM&IR`bxT23k9 zi(!9!f3VdLa{B#v<|liY5`MEhbeY2t?^}l^puB&soPujTPYEB;z+sRd_Bfvn5@M z&aKs6o`gwO(sGe;0Z$KB(?d zrq44gF<5sO@7ltB+kP^>HAgDP(?Z7EU~8InOL~AuzI<{lcX{ zOip{i^XK-Ui#qdnrTg+0Cwc_FX;z_yR$WxYAHEQd68!L~0%jL6u`l+Ov8{*AF=}kY z+VF%$k>*pWaN#8vAvb0R^SB3uGH3QIUTFQ13wQx-2C%Q5TLT`czh;7rbbYKVe`teu z&Kic0N7vb5ABd2=Nf`Q6zLn0)y)cxQ8=ZCbycUjIzNf7zYP&OZefZ>aZvf@=uGW4H zRXpGADI(5!k>?YY!%)2cSyT8?Mw7VFd+LFHsm5Gsiejur`A^fawzOWxE@{oBp%tdq z?o?{cxc6V(YqW|kwyaMU6+s>OiLc^5pE`75rCS1DuEI>F)j*jw&Oj?F);|&)HKH4f zBd@%laU$*-quP0vM%at>%H0|y0=dlq^4)5mD zoBYhb!^gwd>bGyZI+(RN>9fCk{b27PpLb)EYHfQNyUFmSPz4!u{tgEWLY1>nk-5?t zZ8&osXb!u|Soln(ARX5q3Wp%pp%+o>b$xkOF&?#@8wb45Zgrc~o0mY80zNPYl8= z+-*(MzTF0tD@2D)!1hzXCqMdl@qvKF?)n>2b1s^GiWjw$_<$>}?oZ1hgO}^jjt?YF zl<3C0I~;BZgKm;f^GPF zYUEE8AP@=)3iS@7h31$`!R;T-vx)6epMEPTil~bB0omwi2}lbtLwi&T9!Y-@$kC5& z8x&XnaEJVKPr)E_E=1*2zdigoHRBcVk|s$2S!W}(nx)x{Ml38vse%nmV)mhj+hK3) zu0QfmOgGx}zv7c_koG}PBU4#pSuq$_rbZfQTXL8il#x9<+(Auudb&=O#)s+(-5w;7 zzqcrRD^FJScHkGY2Cy7}>BrB1t@wj{-y$cn++;HBXg;XX7~UQf&n$hDiK*SX=Qga{9sn&>t@W8enZvueOkA43L7kQb&OMBc`MtGI@Bk zYtm%j+fKOLsNgi;=A|b8BMyl>+D6wqu3o>F1Qx^~1ALsEoNR4vWn^BfDwHH8*xe3L zzUs&uQ^Oc*OgPzHYC7?t6EHJEEoeQF4yww`{JCA;+#1l-8qnP8SKAAYP${5+k2u77 z+uY@e->su2pSD)!8}hbgvT8OYeJsFlEQ*AeDjNIaul`FSicIgbM|qUrBd%_=a?5ON zaawc147SFmXREAOV$;7VM!wm$&4^B?SvL?~tm27;^O{GNsTBm$j;W3kzO+rHZ=X=M z0-@h!^;yaxtnEc@#bs`hHs~qT|1jet@RA->`-4v7{H-GvqpIqb^ypsKuyOr{Hh+a~ z5mOl87#t@mb*r#+7R1}c$?TwjMwj^pn;8Su0)VD=)4e1zZ@oPT2gH17iHW+V&)Cd+ zcz$Rdb%4<|_N6)ws?pI^Y;5o2o&=n#F8<&eg^ZQ+1=ow?AZOQrV>OdBW$*>>zdUw( zE1zK@nmV9JH1Pk@H(vc_Y#-q?FyoEm69{>6kCyftQNy>t4}v`H!gL|xH!3DuTMzxO zn5?JDI-o``+DgU!Wkkjo{i2`;&R-{qM(Lc=Z>I0U_DEr7!Sxk>H2}e45ZtdpQd+@C zi0&rZI&HJ(`ZcbLuSUMTVhs`l@aLP-BG+8(XZ;6jiLRcY_dqfgAYQ5JX!}rcT^vT& zZ;qrKab=L@*0nnh7<&;9u_Rw#KO%lUcZQ__J6CJhpTalO=t{@Gh^Yl)n-?$G!oco7 zzQ77P%i`VlRb#lK$P711`%kutn{>VR6;<^-$I^>y0Zm~#o41(r$C)hzbcw32rye<| z;VKU$rv*!p>?0_HVyRiZz`F`KoV+_&7NLBrg%NPo7>oUELGo`G$oVm>mp|H#xP$j!niD#?PWyj54Pv~BA| zBk^+Gh!oX$70EUftS!3?xYMtRU?U)RCMnUzNe1Q|7rMtD9hF3n82zP0WybaX$)vXF zCY9Qf(IV_ztKDj4*8d^zy`!4kx_;59TTxL^s!|oDM4Cz!1QbH=p?3x82-2H?1w=r4 zAOb=t3B5`0CNN^Pt6xavq>xNf5v&FlgYwbsM$GS0!SE4o>sjxC1?ZCnpb zy!d^OY8n@g_w}P*r=q6`+te;~#AWu|HPkN?s z&@;u$WRwReGg8j5`q2uDu+g0yD-9=cQ=pmUGEzF0u{Wc)?6fd!iZ2k`S{f?#+6N2; zzaY2mg{xc>7!|p0ggA5&CE~cJbY~iS5HV4gT=&Lvn-SKO5EK&hzPs{R({%1>JX+n+JrcNwfWy#& za^qoO$d;#*MN&NIOz6#>T$|C;u*N~+KqvlRflV&V0T%h z(v?BjW9R$$nKWhk(7=$ufM5}?E#8Li>xE`DyIaDWv}KvT+xU$!X*?=Qt;6DcD*IBq}apLeZf?UpGkTxdD>ar+L9QV zwQmPn*TKyn#1n>u3Nr}L9W^iy2>zAR2{TKJHx4ytKKB!@lmIqU5!Sud_O7j__NjWXtiFcEk?gW#CU(yOPuNO z`Nn%dtBn`(Vp$sAWnkRSTtk(z&0TavI}=nd_STw58DgVprr~=oat;4lzOb!l2(1{I zv!qFJL#o zYdwQA@+TdsdT@Zn$lsFs;4x{W;Tzf2WZh>*JzuaQs~4D3gmID!K(u#ZMgIY>abntB z+t}FJ+QQJ6)Lhk@e^0|K(f8v{nax&22?f*-0?qxVSFIaN!)Mh^!rTk`kOROwd93P! zOTQ<~bnBL@WC+9NJfJT>eDPwrC5nC2V}4PW&#!*2u;Kw+i1xY86%3~rwbxlMdcHyF zzr$tHHKFR4P#oa}obykG5vl{vpmA-_y2Gd8auGPIz*dTGdAW}^Kv$Qgk+FtqRE+J6 z6`3vVPLT@Pac;&kGcY7*Wc8&R=(!a^J(DldcXl)@Wm#`T)P$E%$c6t6sBH}=&+sqx zuMCrf62VQbB1*vbD)B3}%y2^4;SuOL8NICtMLVqg;gRcTj$xsufsvh&k65jcGode2 zqaTxCJyKCu#ReL2{1c&w4rSIPsWBO&uLW%TTz?089p+#J`Sy|aq58MV!EicEs+d~K z+8y~1*{T;Y-h)rwqb8W;qjE1lG$53hmwS{~UQmtRv+m85I4n{QK5HP95Nj)h;Ml)h!CCImm9 zZaYdLjkn3obwa-Ym2hQ6C9!3+sp<$3-gBU7;As)YYtLm*=pP>8C(Nqz?^xCUDY*Ne zVM`hG|1!!7_=xa*yMx)&kXJllSoarr{l`uxK)KET3T=D`WhvxI>Hj^deezx)dUgLT zcy((C8I1LeTsZi2UMA+xxr7OyZ(Oy!~b7-TDtq;31Y|JZ_*r>Lm)pD zK)LZ}Q2ZkQkt1Nr#rzco6bv8a`Fn)@Cv1rS?eO?d$Qyu|j%#X-i_I$y1ysu1-Tl4p zXy1j$jIyxFUGP-LpqAtyTC+-1~=Q=&{ zfkF~sNZ#s^-c9{E&rI*{&wtXue2(;kN1w^Sr>XTxBq16k14Agp;{@y~+*aS1G=U+ujznuHPmC_v%{o z61qUIu*(Aw4>rE&hX5Xke;w=X0#NFY`W^L zXc?Uu9OT)uB_(fU#_l^cnwz;H?0y`P_7D1(T{!H#_mn}ERfXtgJJj~ZFM;G1trhg`aNacy%G18bQP z*TJFNnmc5LHzMMrK_Ngd(NxIbayu^V5TNGd?c6;8HSbwLO7U~6)!zH2z;mSjuCepy zwQ7E@w~VG8fI*w`l#p=m0Aotjx7I^a-rxe4qjN^zz4RQ=V9`(;>eCbCC}?& zl!b@Zm>wd(&BaUSY0zVqie$-yeM%t^hrjFV$>dZ?o-#As;z;eX2vQ%_2 zjaY8~^&U;V94Mfi-j0XwlT0$+8{l6*)7;7eAAOfeq(4P;8lwFdViO2u!XjQ0be57T zB`sHjQtO^$j*f1A{p$2+eWu;S#DtHg9Tb;9%JV2`V|B8rT>KK{ASh!PL|=wQI*Q%8 z6+gamnT zCxAGCik5dMlJ9zXRfADq+c4Vp-VBBePqsMV>!Qcw__kt6Wi=;>(A;PC?iA$OUpQ9v ztnk3ZB8gzdm;x0VifdDN{6Ml~(9ZfSG(;4v16Ut0b3{B~6lqDL*!%hQaDTfnV|rSo z%IA1#aY*1~`X3b)g+yv;YDPy!79NC(4OVY6#7Bx-)_2|IR|5!)se0cf<2!u(vL}eR zcdXe@j!iv|gv+Y^MfasMZJ4T^^d(fo4kHAlT0Y(~sD30^uWt#p+%wTR|Ku zqGb_*R!D16MtfLBvnycB0_-&OtX+<-Lmr|2LSXm|z~3Zy`))PrM7ZXZhJPG$zd)otm0DBAcSWxAQsw+H!lG z0IOmG1s&PK_;^xKB0|a1-=Hb0wthxt;5X=VqsL5&?| z<(bWRuiC8h?N-&_XK>Bf%}vf`dq6~GArvT`%hq*d-{xZ?ej7!9IV8-y6PEe4TfJN7h zmg)^o3TcVcZ%-E!@16??Kp51tPO!zXc$o&^oTJU`3sO~HTJnV#*qAx1GQFFXC^Y9u zye^;!K!GWVBe*e%!pJReV)>-OVuaaLz5x53E~l$`2{|RO^;fR4Pvc-7_Hh{3Q;=0psbX)X zejYQSE4{F0(2|_3+Q}}1K9_wP9+g`8F@wc?oupO!TvkD{Lw|-`+w0itJ%05<471z= zFzZPXmKub)mZN(w$Ixwf4b6(%k{2m8oc)K~LO z8ZziB$*61~#r@p}z|`SfF=v%#?HiVuFmy#>=O z+i#0`U(S2$t*FEHlEEN0ZSM9)uhTm}V(NFkzGao=YHPS@FaVx+_KWg9JXqxai^N|+ z=Xa3Y{Ef%YtBSFUedK{79CT`?uSbJZ9?(2(7`aI>vIWXwZ}H{l4&()w$?y&5y^k}$ z5hwh5c&h1~eVo?EaT^}tfNgDno~XF<=jcOz{=#&y=eWS8bF|OU3w5!OPr_l8=(qPS zk9uv7*iSZQsNazb?L>)z@?fARP1$lEtg$~SqnWw6QKicwXl}tF7!(u~92{UAfROB2 zU$qBrV`Z@~ruT}`L#4K+W7Tos6BQ*nB<#ARB6M<^Foq!zxEyN%ZspD=#}FSzqnijT zN2uO%{}LJg!J>rPhuB%&Nnswo$h2z=jYBetQ*3nasYOwHz2IpPps&`p~X4Y?V zP+hkN0@RQ3-2D-JwHB!C9uKh-=FJ^2t1`vt)lzX+(qH>3%poZH4HaS|G&lz*hvc`E z03hSTuYpF(ghjQGv!#ED_@f-XP%^ymautsij!kHxIg*tE2K5sKtDBhkO5_ZSh{z%6 zp{cp_1zow0)~4kHE+Bz>1yyiRa7ch?>uCZA>RkPbFoaVSNvd{SOpGiF!zMpB4UQT7 zlyoS)v!f&N+PZlFq8PG@=f?e)yx!|8_ivu7$txKwqMAJtm5*}A`0L9y1&tzesy}Y| z5hPur%|0(Re*!9d)QW3ce!>}fuFS0NdlJ1_&SOjy)(0e7;F8t587^S-}yH|DbCjY-P3R__6>?L{SIv*hVS61E?N8ZPX(3<2fU>Kg zNOGAtVB;-ipH?dS$dO-|jBqDE@OFy8vdWH=?-f~7%y7Nz13VYDbQ9EP+T4q-ndf(+ zzHpke^nBh{;@Zu;C5#=*n{@Sg#iyq(YD>RPHRnE*w&Kj+IC5-I(=O>hR((_gEekX-Rfc0=HqmK6jaB$Iauj zbW#Cp3O0ICSc-{RnU}sHY~W=rnlyogy4JL853+o>S(gMS+Jc#2uDoRQEnQq2(B}ih z;Gqk!%*s&S#fa1qi_eZ|4<2zSgSO#^MSxsqa3Xkn>%VAp7pPu zDBpZRQ?fRs=^Vg&@2Q#jk#_7_U;c4N6*VSfevdc%hjP2XPX8nprFUi}w9pg`El)Ui zKLO%tu^3xyArDnY%3JrRPwUnmg{KfPh_qmC>}}xHD`nmY{@(?#b{BZ8j0_iQl}^()|5}gF7c2Eq>6W ziLA>!Cqnz*u_!qIZvFR32Zr4g_NSQx^7E z-P8db)-RbTA9iohLA{q>>X1G@3o$>@N@6ye595G=fy>2pXZ!W#yQ|sgwAyPTVvQo{ zI+c0m(uQ7E_pi?^(am*|Sc}{~h;RuQtE&pCWbs)WFn$Z88BQv!HJ`WJZ8OJ5X3cvL zs}8g_6n4(tL#X4W85F6<*xLk!4sTJZ=zXZXu>leMO;4Q*at$!QNKi7?z3H+^pgiLP z^Z071&CHGCtmi{pu7;!aA3n4Ja2Jd|yQATApeBPN49gv+_crGd@^&K?F&|$9tj)&s zuy!UqXm9|6uGz`SbXB%$x0^?6m>`4!w1hRqbLqKUipS3F z-DDYUq*mOC#bqnm({$gF+y#Rhj0zPVuYXv+@X2uIM#>mfxm`)gg>JcuwF0heHqe*h z$5)kyUdC;FqVP_6Uu)Sr${0LzS7-hC{f+#msfv2t8lUJlj~mzOm7K+(J3%?_Rm$o# z!Zk@->@*<(Sywz5?FgI+`c-|@U+z`GK)C4qo>I=LQb`Z+LYd)IDjA1qEwxP{v^knt zC{Zst*|oLlR)EpG4*a~)5lkyUMn;x<`?kKaQjHh;bmQifJd*2^i02+IgPcM!r6VB~ z=Aoqj3RzrMb}g^~;Otx+94|NKuIdfU{aBqu_!toSvXpZYg7UF>W%UVClfPu~CusQ~ zpQnJX+&e1A#I38`C={nrZ(m|Niu*{1#foglyomi~vp0+Y+N6RvhabZUXV&WOLIk?fq6&RrTi0>5CWu0eWsNT$k)QOH8evr`cYdAb-Znn9j8SQjgLZ zxFyhXmjCp<+b6g?I-Yd!IJwcDx2wgRq_D3 zgpU;E>j`QOpM}VRS}B!s1_QIZ-k%j9xQHKnYU}q9DuF-b9Lu-17&8iM+;@5kucKp8 zM(2(#PttoZ)m$}6%g{g?H}X=BMr>TufK)z-YdQNW@OQpIt2jV{D~jh;m~sq@X-vBZ zC*(cm<4Z>gxTN|3@}>k4&xr7Fm+`9nH{F<^Sv6aIWo6|w6~Oe|WCwJb3MV|E5r6~( z2C@we%-hQ&)mIp)>7Cz^LFs*VvAh1HOJY7p55>g9*x7?7=0+-A@jIYwsXpu*y3F>z zFSnjSOv0$eg$*Gj#iU_LRe0gc=hz-H76_2R+w`ppF5jycC&3-u*ZhT)-%(Vy$KOJ( ztcfW#)7N0R{jjH2%|s28bt=UR<7;n}$e_6m>9kvGT?;VQQKuk+Ac7<@rTrVLSJ$TG zha+S5&6QVa26J1BYXkFI=Jyv3N1rk%qge{smC>mz;*n-0VAkFQFK?OFc=BWA3JXLD zkO&Uwpm8*&g#ZrVW&74W=sc`X@T~O2<>&;F>@8K=br`+(S-XAQxM}_Qo~o*lMiCF#YaWq9C2X&692Dr84a-3S86C-fGpmex=pGRhvkN#D zAbfUq93N~iAG`kW$vUW%^V+*SVUWFHGDp-!!nb#QD_W*BPj&l!*QYkDXoULagl54E z@#4A+@L};NzRw$PZfR!7<#XF|T&=yY{lFcqk%}-HHkqhwe~<9yW9VIX2f9caRbi^Ul{rz)a*9=1yxkm@L_$NAMbrz6j%8A6_!{1 zAAcQJgI_S-haOxUh=N`C2nX|KSBTrGoFMsXkKWN7!Ze=GaSzw_0arD=PtE;F*m=zj zH^6g2i)%!#Iwsa--$Tv;R5#H(ZXanVm_HzN;zC}=&~dTG zXIYinj{c1DJKXn%oO}$T0l+BjBvu=CO`h)5D-FPd%i5vLhcn1py?g3Zwd<*OGn}8E zzE!vlKzZg**8xa%(p?IN6Z*)F@rXq=L9_)JvZY}47;Kk{)N%;IIlBBqHP2gnSa+}E zU6VUL33(ALhAFw1str|E z7Alu(+~?Z`Mhr&MyGy%VKj)<^C&T2%Ozi?T9!I1ub2uMfedtAi z-oK>j&g2oml5CwXNbUBhj3wZ* zTc)dLifp1~@J*yw^8^~nq#;kDK*e__K}PJb=f&ZT4BPgl8?Yv`9y0f)Ag?hR{U&Q5 za1$hs14Pa%zt?LHsd{I$T6}H%u{T;#6eI)D$|!!Cx1oZ(e2Q0KijCjs#6;aHd1KAt zR@{=U?FJ_Y0=t{hEkIaX$x;TYxF@V2MfR;^xx8)qwn|ctjRpwL9MwVn%@Kl(@)2Q@ z{dOale2bRweV}Ig!|(n8=nFtjkcV@%oS83oBg>uCj!A=@Jk{EE7Wdk7~;Am7oe5gZ*(U)ru zGlUD`z%fq&DBARc1x^I~(&Hh4tb;U-AgZ|Iqxt4ZX&{@u*KMvG|B!*2)@xoiyXeqxNC4sAR9(miQjrob%ZF zY&idc%QAUiP89W5)Wyl6seNZv*MtJ{DA95s`~E3qQN3)%2pRNGjyu2@>51R393uB1 ztbk2EiGtV?mCUlJ!tyM551LUhEEBxg70u^Ss+6OWuT2LT8j2%K@kp9VIMVB^sp`dKTsry5g2Vv! z49ve~o2n;1U}o&;#DKo{wWjriIOKk)zZ;T^kw##7`yGADBoUrn(O{d|b2LMhUHNan zS2c|0tSTe7U5SKVOALZc=aH#wRPwFOt{SfQ*l6dA+_bp7y(M9;O+pCmzMiJpUSyNg zjANQ|ydWc^D{uorfLe^4d#TZR@&F=&31I&)E92P7v0LLg6n29jN|>IwPJts# zE}Jivcg!j%-l?XpwbkA(d3-eS98-rZ@jCV&2p4cN3WQzkNIo%Er25^+ECGy{g)OI2 z5#PoRy4LhcXc+*qCJrX>WCSbF|VD^t^6r*X*M1T&@>C8ZJB9Eo24B z8MNa{3S}=@H#Nr&wrP)z$0Oqdr+2HGh~LbR>v6=&w=|Bl?Yeg;%Id46HJ zeVhe~25c@lXgr+Fbh*F+SS6&fi4^R}DZ2I7*B8GI%E}5#^Y?70>782~ue~Jva^=gC zf$;v;?m~`0R(`0;Z#imN{MHD0o!>AAvT4au%LTIPLf8Jt0e@2e35FM>H)C(`dC2P7 zDRW25<2eaQNRE&Kbj$rae9@9RE|^ja6#b(I(W2tQ#n!#aZnCcnrHTno5B(Gf<|xw` zwNFNrYpk332zfoB3&Q`CZ@BWk1gE|B>~k0yOKUPmB9WT}rDQKLMk6YHyv+uesgjU{*Q$rX9)};?BWN1FMOhU3kMh~Y z>wgEL{#m*G--=cKCqi?8n-w4bgLWKXqi=$b^&yZKETA~}m&XBzzru+&+lBbQM?n5} z@Yx0NR|WZ}%$woKNq_nr^0bGL;nl#8Z1Vqa5s?3b?j5|O*-kNs_y56r1&r^lOMl-k z|F4ake-3kCaFJR)_J2@T8xFx*k})gCMM-Kon#ch4JCuus zN=$TU#U!DL2X{#S{vr&=9>7m2$N4g`E%zi_v^Zw$!1sL~yhS?v;jQv-+k?J&QE54x zDTbLD=Q!TdYa|tVJU(l5JW92CS0I!zRTCLanWf%4P%?8@Am)p#%Xc z%5|hvA1C~GR2R2NX7tviCC+Nf*&Fd7V^+TYT}CD9CpYKN=Qk*qF3C}o!GMB5F$o)q z-eOkdp;Osie@1lPi>cqnuZ=1CRi(T+eMEgBUwyE|4^XG$N3h}$PJaYT;XfLf%AX9Eq*6{0gu^14lSI_Wg#TK|*p6xGMR9BE) zUOkw%%DsEO$c)^Qa3LY)i~yx>%NGbF>Mukc5BgadNs2ofnfD20$3Mr37`JWvQmaFa zEP4r>gbFuY?!0VLk&8$tp_ryh6+<{an5S1BOI-HZ!FPqHob~ftcxal5EhvB&%jF~; zYuWc9yoiO{K52!?@Z?2Z`k3UQrl2X#Pzdl<3nnjb7az;Qu^n!A6JOmmI{Z3j-S<`; zjEa;>Y;?8D@hIfpb0&i(BkO5urC2WSyr+qL@iOZXa;N<-9`aFBrmcwrt`Hc0{hO&! zEgFC@m%JES1gu!fPHSnX>py(*Q&~~BWS!Jy z`@Huko@UbuXP={4=-o@hwXB)9tyEkAI>c1sX*dC`nH3_ud5|Sne7qc7I^VZ_P}GUk zD_w4DZKYN|7FT5Dz7LY zRq63~u{gIDZscS~LpDX2nHFysF2e7>HKQ*xojH25POcZ^A7jP9iwq^UWM>RA(Y3N`6RbH?E*A+&zVRMKO)y8b0LC}6q3H(%DDIsZ7vgR`_W ztM?FfXZc{i-RkC3Md?HSn_I(Yi=`?daGjXI*b0S@cMqj!WiA7S6_7|MJmW9y@Fmvy z+yV~>z`gng)4gk%`9iz$kfUi0a-Hg_S;o!v0L1L0gXTln^!&%qK@hiH zRVF9W_ysOT8?Rs3GjpU7lQ9}DqdF%YEdUPB@;^ki9$vYF8bQi*7*4%*Hsk)KS3g;v z4>{-Qj!d_^TB#nPx4o&3;=E&20V1 z=me;DFL6|+Iz}^Ky#GlbqOcOyVtzwW@osEghglU%7%!F#AB8=qW&su)|k*tPq1aC7*06J=$mm1A;6 zG^3kjzP}o0(9>#r4}09YZWJP2BFW)9>J{KlFX4> zz}bqa@OJt5Lq8L{%4cAWv-e7q8aX~(wmRNZ-h3=}SelxC1|=t~90G9=5vvqXzqw#IS=6(BwC6~9E4 zY|^-S?)~Pxo7j)%QQfGn@JEtu$zQ9KN0-<22s?k~oVER$5y{MGg_^?C+Ft2RFg2w@ zPgz8oAFU%0$>muZ&foO68&?XVG>>$E$*Q|5Mg#vb$yAt>ryW{Yo}On=GVmV&-j^efm=Rseu!3Z;|BwtDmVgr!LP|?!xnNwT7iu?Rz#227Ss`5kgtL>7A$V z5GUK*L+d(^80dTLdGC&B865+;@2Nc{Fm|FH&}=$EC3nxV@Aj6@XqELwMyj;1&}MOQ z7YGhm@P&(-{Ekd|$dVuFq{L`1YE-UceVy9%jJuy1sPpR=$awbJy4}+=rWOc4{Uz%J zi(4Rk$`xl?ESWpE+!Yv)L+pv1vz^X6^%L`>1VkHER)2G#ol%A^Q0FQq@`3ef(5AWXol}d2sX)}r%rUa9ee?Z`#w7hT^^BHgEaZk zGLC`5fkwKk5eBJG2A#$^$)ENPw@4|YW|*T^(yL^S)jZf~Ew#kz#48~y7Xkf+Lw0DG z`+I8xXW7`;K$WzAdwgtJEd}IGeKhFWb>VmB`DD=xcn+)LifnbaC3)C4CGO={UlO~z z@*BV24E8z{pEG@-9YkUvdXz7X3Ni5HwH)Oa%#QIDY@ZO>x%Vm9AwA2bed0pbMowI# zaYNQ~|MXPMI*D5LZEV|NbZ%`ge@fn6l+1~EH6B@NS z*d88z!4a*h+HJcu3M@8Gy?*-mYcLz)oImdx@%i`;1$Qdyi36IhF6; z@sW~P&MeZxvvMo%Ufr{ecLfiamii-;xG<%T4qsV3-|OhQeTimk-dEI!&5G`DA{vieQhJeLz+-}BId{sqkW~%eR7Wnz;`_iW@I)Qq~yl$ zirgxcY~3c5m#I2#uWYW9CRxy20j};8GmKXzrpf2shJ>8fY7Jiz7CLufKF)C!OVz)f-Fx?|{ zIJm{-6eRy7_5H%>nz9yO=@8joXKkxm7!t5Gwcg*HRmZD+McEZOL5U&PJOjXpyb!J4 zH_s#8Qo<2C1Nb?rp$QbC(4aoMpQ@EgX9hjo_I8PU;ar>4ad|%Z{%N(Lb{0J|%gzhK z)n2m=Epb9OiUQJ%RN6gkkKNN6eMWOZ8Ebn6rMWoDC}!D5#JI_Du%3T(rp9x* zS}8y)axREYG~8+(JTW}_z`ew@e1}s_p3FT|Hku6Tc_{r{N7^z*RZ>Q{6$8NRUE z`dbePr=Iytra=y9PW=48LS7l4KyD&3wN6fx>A(}m&lf*tTTx`$No3wsOfHde94fpz zW)E@rk?L?NkqN|N>}@!G3z~vN<4&(R%11TL_V8y|qqq3l1_q{^mTN6S?W!ffXjJ<| zto90^MDwA)6Q(JDE{)GK{yNK)JL)IYg(!02&XLznzoQad> zAZ{f(s@G#Zs4{5#WuIQ2t83OS@RmKFUmg{_F-^UOarHBLKMNjt5p+8oE%MrZLwe^i z?b7k%2GP^;*XUW4B1wQ53FJ{=i-xV6&mDoutx;I^gLA(QgE6{{E7Ew4saz4j%oy`d zdzTf5ELDDmEEVG;RTcwu2}DL3(iP$dXB>MZcAWU?%N3)sE2NzepW}S~#R}(zE!lY& zMqaDF+^3V8kCWPKuJ1UGan~*ml^*{@y>nUYJ6snv^4cFE)fsTb(*lf#%~b4B6R?6d zVpnIhy(1cSGGRViXQ!6)utrG_&O0^m+2tXfKB@{mNLAUE!G5arqvenO?4PY3qrPga zOWwu`|3gojeWaerA0F$q*P35|p*)g!#sbWXv6XHNmmq8>rAd3SPQ34N@cdzq=;+gi zn#V_VtMOFm6%t5TqC*tzs$$ES+ji z11$kN?&TY#q&`|&%N|@yK$)H9bRyfDr=FT+RKTl$6y79VUAg#T{n84t1uk87-bcfI z`}h#$)0;b#Xr9-3j+9}`a#^%mboU_ZXiOnNC^)A8@GAEWSN9)y%A+gfH7*a`?R~|T z;x1nEGCV-jyaeHA)y@o8d(iWtiY;ZKg**eVX{tWJTYqBDjNL7kU!HKk3wh#r0&Rta zS}?U$Toa4H@p|)EtvAoQ6G3F2{1>WaSPyF{xf2z*IW;wtGqj^sN-CCoey^jl_{Tze zTqP+Va*qKg3y7rD&U-uORM$z*U$|&1qvz^cYt=h{G~4d_=1qMKBX8O9tK|xpdC`@9 zR1M+SSxS>7UWYR`876$r9`QquNm0ZI>-nx_S}S2}^jc=Fh+(g%+G@GJ_oK7Be(VC# zejhZeTkj8D**x*4nL%_^>)%*Rz0DJ#?#Y=OCGS$6>|O8owv|!AiY2@+QA`HbtwHW{ zMLqyA7d?7nL;a-$>|)JT*r1~Z)p9;Za;<-ujM&(FTG><2^4)=j#L3aG$7C8A?du}f z+LDgnOG!5NVGtT_5?IM8%~HFFff1I*<%3E}uKvv0Sc^4vkMFFOc*a04_--z3!V}WCL071rQpIcdu>N`^c*L z-G#MDnf5x@h{agoN@J-B`_>L9HyqG%Jm#Ew~=` zFZJ~(2WTat)K)}*RJj&-5#GG1SmpI*_~A?45|8D#q+$#!n_sy1E^Ft%xEGHuDpGIn zNgrQed;7b{7y3L2QFKcz2)R(Pr61K;33(Lphe*`06lN8| z6b2Ud~%w9SwD8qcvIYx7-Otj&}Q=aKKFJ*zA5^W%_P@1Ra9T(<%A;# z?-|w+qRtUlO|Wx`@aCl-_QOO%aVeAP+3Oc>sQrO`<*n0Y+$+|tiY+ZdYz?d;bM>!_ zc-TBr`4MNQk*8T55?2|DbbVE-oEU0%WwAfg03~$hbiMbE{hT>!yV4E%T2$Pg;$%_U zfbuDTsdklWhF_8I*rk^KUhK+LEA@4O{w~9H6MG`)E1M|bQJyaj2m!5h(0ZoZhdwPB zQ&>Zq0#Fp_6nhw?DUD=mkGxQ$3SE zG@^g9xAoOpq`ChdS%jI=Nu4N1bQ@&L&oK|_o|uRHGFtw(K&m4_#(4mH!wO5%4GL_f z#-AAA$@UL+xwwSCKi_|%VERu`fq$Ov{%;SX|G%ckGnEdYxcsM2dj?>m|4EHUGbq-x zz!ts+40$0Tm;RrEL{6gRuWq^jKhWd-C(&F@0_M`(%Rq_)m=+Jc58R}r8Ughk@B!D> z*Bu=k(ou}JlW*-N)cwQuA18odSb1;c6D4ZP-f%sYmGA_fpS z0HK9KWtRxH0ex2+eM>+{U=uaB|uJw0FR|lKHy%^(_&LxnhF~lsg`)MT^$=YGH*dcHSfi zeCu-yeYdR>S>f+96>R#BQC7b1l3w!Gbxdv@$+gt27)(NVB6NIN3oiTGY>~zJhaI65 z{fS>}oL74HCYfcUB8S-9+-g2?`V#d*zD2)oBYLq>ZgGOorIu-{*uwSB{;72? zNdBq6NTp0V!-4+J>G2MokmY#(P*@UKZ)v+0bnnJ&ULO+=`nH-u*U~Z zO=+-T1sbi4-P0uRv?J?_8SlxUXHuSwP{tA++!$ccSN9||@En@$6}j?`N=Xw2<^LsO zBe)O1Vjc7i`rA;5K{IazER{SX*FBeSCoAhE6X&r2g#?br!HpGC1q`76jX0ewY9P`l zfJHI3$gDk}&@#`+dpG^W|+&*iHMeZ?S zkTY7AN@mq;6rLARR(-mHoWzmjd>0O!F&5qBrvLt!a5?EYUqe ztntZJF-9R46U9azoH~Wxd8s|mHeI|EVGo~r_|G36akOt$$Fig}jETV(sdB}d_3^M4 zu^(<8)1o90v%f$~03Tcex=Y~BL?LM29$V~vxc9(u2KZ50$US!I%>+yy&R9YF39y>! zs8P%-ptHx-9v^v5w?yG2PB{Y`hmHGOTp<%|K&%3Pg!v-dt?pA2nXkV$)l4pz1pL2% zSn2H9vz-YdDPBVLfc;C#C`!k`pk)4&(akRaC#e9{pwg};z z^subps{KBdvu{T2+hBRnBWp4Kq}SzFL^tw8`pMD=tmar*Uq0I52DdQsbZVqpaAmrU zwcbPB)rhrM^DRxsD_UyuhmTSm^S{dyDD=^|X`f2}i&OY-wB$s0`(w9>(I*>_u|cFG z9zc;N4otv6=3ukm2*@B)krX=6#9YJb*f(<@uJf=7ap{-60C56t-~wx&#?#dV?SUtJ z2n-Yg9z_{yX>9HcV8j44Fd#4hAG6$bnSnUw!i5W9PgTF%T?1tA3{(L-Gd75t8(s#S zFC1r;gf7SzQWzQOFfEpA8noX{{#ZBBq_X*{*BBihEhFC%NYq-hgo~Z0p`4RQ6k`^XS{PGx+wqaV{wzIryK&vKV>yIMf@O+qa?O_rOKIHdMTq-2Eg z)R%$(alt_aO+5kMdA1z_uS0)%VBSG@F@{1A`ku?6!s+N>*XhS_xuXtM{6qKq&!HmN zv=Dk>DWa~gK=7POCoc?4NRn;Jz4l!KQ<|HbiAWiMxEH!n=SSS#-A!SH4`TC?g25Ij zK|lqOun>{ZB{~*N8d)+0cLQ4O5Bnh-XxMq`E)rEOy_^BIC2*x-bdSMw2Jc8i56x|? z@A(I{?Q}u4yA%A8%QY~jUhnv?sA*|O~@B8 zmTZXE$kqx);-}`?8b13)ziU0kS&$3g#B{ zJ+=w2hPX}5saphcNXw@U=pZ~6?3Lzq@Xinqp^4Zdz^yfJ`}mj@t=#?8N!P`b0PgFe zWMuT&S$QfXtE)ShrHCHfw0xK48dqt>E8V00&`pY@lYvZ)QEXj7k!9IU)gfk#X8@3q zq1&(?)lXK$Aw@0@i)4A{pdk$nci5+Hvzt(n<6jp~R8I0y+Eo>QrL!EmRW*sx0mD~= zYM(bzvS?=N29$`dV{G+@tK7rID~vZGVG>J;jnfPa*x~*gj|ygJwoG7LVl8x*0YwdE z#0PGWyDH6KTo&|80R|6@r+}s@#z~!W0Nb2G<@jJ-`Qj%8g!?CUc`pii)$`hK;g0vx1i%BUKb zML<)ND<@}BxF+nv@f;cp=fZSiOVxNsfOn6T)ty6#Tw18%xEEUd{fP`SeTx{>#f)sKA6{4=;i134lwsAdx+=r?n~AgBo0!PCckpMyHMH;e1yUPOMW&o znB|NSQ+OutnQyfi;0Nb_d$k5>!W{0+a#YyoS$aRfY4h~>t!eU{L8zMJ@zv819ni54 zcf97Ztr=Z>mmOFW(}aB6T3Lo~Vo4DH=ydo*GWLfSRGF#fLTcpBOY+^1+mKgDawjU! z+rNyBfNDByVywWl)k1#Np*vZUmfz+{E1_VvMn&`)55}qOTL3v!L@DOJU%_0aM%IsZ z3{K2*%jRM-g#|R*cBmwnB-Nq<2nK~_mTQkio#w8b#hs``NaDkcIUBmiy!W5u(p8Hv zktzzNu31=Q0!Y#z;x<-+uu>~l##zk=+<-XYNoi4kPA^nTj>+p&-UD~vyoEuF!fq4Y z1dECwR$S;K=KkHo;FP5m24Zcx`-Z^*$NUDgnYlcVMONOkDE1Yjf#|&9d`(+kH)RP( ztwvSf#k7v*sK+#7(a7qxUU=P%We2#ZQaf^%kquN2HFqI9N}jneIU)0 zRrkDGsI+_OWxLdu=jDrU|9P{?E!2jZMS!AX<>(Fad@&@i`cE${LD2qBMV^%kL* znoasmJ}vo1g=G(mN06wJooY+9{p7j$7{&S!MltWUkM|HV{+DU_jlZ40SaBk|)dr@N zvKdj{WSD_7L?l3PpIOPJC1!H>Ac=c0N*$zD1{!Q052;{e1oG zAT?>d;8N0qZ$=4f>0voNAkjg5pO6ZqoGXjI=2?a~~)>`LI|Dt_c zPe=(+q{`}bD9q5WP37#XmtFf|zVh@!Y07Cq?ti=1Vn2QQRC}~%-5kM;AO%}9RCYqb zi0wT*AAMW)R75h=R8sCEuH2%VN$w*;4El{rJO7o-+${Qo1B~kb`5e#8$Ujq z6nXUqs0*)JycD?;#2&o8QpO|#uJ#qu5xMpC+4m{@=NaAc5uzsdx!xezRFSgut!LY@ zQXd5uPi_oe5;E)!THt6m9+80gX9=urSO@cm)0CDrrZ>gxPF6i*qC{Bq<-%(*!Zsf( z))_8WE-0~(UnpF$+|A}I?(A6g4j+cKpw2uiqM$P3k=$E) zJak)OMZFY{2euUm%Q#+3ag-2HFE#vFfr0>3e}4&#)Mo;(i8N<+OF{ zTB9}he8`jiV*^iDJW-Sq8j#XWOy3l3$ijDgMHgxO$_sl#AHIDfv~|65Jaa3gXA1w^ zY0S`Lc`71LsNmM&p^$g!PxR9L$>jMsshTm4?;38c{gnev_5360xZ0>QJ57JG*PfZ4 zo}QgGfA);-fx|OUD^YNOYFjEMvS2QPSsrv{(y~zztQSa0%^ed!8I)=xE1j$T`3;;M zBPW-M(6uz5Yz(G=4KP)JW&?9Yo-vIa%eV+6#wS%qUZR>J$etYvNgJ~$pCwR&f#NeI zB?W)0sHfD+BSUCk2>hlj43{9o05XIK;H)-8^MGh$&V0xHOev{0ohRgn?`p@gC# zAfoglN(VtKhyp4Cp$a09&^std6{LnH0i`G)C?y~uMLOZ`cy(sZIdh-qJNMr2yWgEZ zGk-=TdEfo+wb$BfUAQlx%g2Yw#UI;5>3&>N?b|7ueeY`FI78?PceI^NfuDlW*2q=+ zS`6bxid;}ONa*y{D8w29fVqb*yoU@D`->~1bHHu4lk>PbG zm(tS5aP+l1Pp+id;Kkeg1N8xEpTHZeEvgp$|2!KIk=tcEPRY|wW7FN$J#hsSyMlW| zCP!EZ`KHD*3G*pD|n@Na>3a_2nIUGT_A~vvbM2-@7Hawz=3@ z;W51occ!~`Ta8D?cklh>am?1we8S=6(gI<{>|7a-O4Q<-_-KDn2K(dfBrU!bY3`7l z1thz#A=fGmk2qr@+(T1aq8^k??>Zaj;_CahF&KaHNQXe&r>mB8ms(BobQ!_g8IDa z^nm!y{Lc4@JGUB^CWm~Ht9;ef`2{cM@>*a7+V^|-F0aYYbN%Z$XLx+KUTI z5WK#Z&v<)3OITXy+yNWTL@Lvs4DY_ZCz#*CJANG2GDcYJ&!0as%#vzvV>3?Fj@f@i z5m_6d%3pB|j~UIu7LT{Zov~b~0eJ_kq0!KxWyHD{w7TcaM7#hbySKq6XKxPn%v_Q6 zBPcGOuqL0H0{;e(G25xKO(;OsdcYZ9T7YiA{Tx6|<+V?d`?=)(R!8o-cYvMc*0JCv z^_ywwLsE)M-0LaFq{1C01il{8%6io+$NYF$wp%I*5^Ez=JlGvEIfK>?(K&*4lHpUi z89iGfu(^%oA$AvG9U}v-jki=Xob8w|9}CTqR*Yr+Fh=9=TONEC->IY1FDyPI;&Y z7rVWeI`SwpEG>6ZsN*3dM%&L@tjw#SCe|)G9+_i_YJA8paN&;4>f-9zv%WI?Hv(>m z!u|?)Kfj$mu8B&7)vD12KlAk0Qg36K-O?99jx4NY>ip3*g;MW=D>; z->EoduF$6YC}7KRAZ6uFS)Y4R3)A{$JzHHxZ4Ku$R~u&@nX6B}t$gaV4J%_;GFRWq zg;(x;IoqEDDFb1^sBA8obl8_$Z#R9>jP z6(xL@UqHZ+YL!fzQsI%5+a*$f%AhroRa696J%(5B=OVxrbLz=pvhINyV1P)tgWK=8 zE6pda#i9uD7QGHdI%pM}#8GyiLsrMHSIr{7dOi=FV?k@qPcL1L^_%B8+ikY_nPG6J zxzN~Y=FXd3VT(tEAtY?jwJ1ocJW7wS`&!R%Q~Z-1VlQ5u-7V|e5n>H6lxj6_bn4*A z$|geKuOl1|;%kiizwPqeXEi_9gEPC*EVtUK;?kPL#Yemww66cV^vdfP@{Gl=bL-bD zV!UG0asAC|o@2p1J!*F3wq@8qItTvAl?;1v8|4O-O!8pq3*#fDknQC0E& z@;e{j7@U@O&z)2CNo?{L_plp?aY6GDwC^xnLxc{kIm5blr=fvVA+VOi79=STTEuDE zC~noIdM#*w+RR<<>wREM^06t5=GeilLl|3Om{M9&Z?fVc8X6zWJ>sqArhRSm6|`qF z-7@=_rGU*Y)Mge>T2GQ+1t6^b!jyRZn=@x&4!xjbM7uipx zJqBaY^~C$}OM{P0Go?|h@f!TL;`F^XrTBG~_;6$`7R+#07+u)N&1L@OKkwqEPm)%x8TdHP$%~p;j{THs9 zwtqsX21LajxcvYn6=*(_iS}&?9}_5iO>#?>ojX`szPQBw^x}gtHPp6cw^%cwwBBHh zC38&0h8WGBXT>A)uFpJ2(v`o)2sdR-rn{gv`_v>)`l_dG0E26u<<7Up@(&`&&D7C4 zRr8p~YX{{5T!eYaX{l(%-6T5LdJHAO)?+M$7$=B@Pw7kZZQhxL*PYcQG9p4Z;RMZ) z9IuD zxS&__-Zt9TEN8rM>34J8aJ8(BCd)O*#&AZn47c`jDYt$ib{v+CV`6-4P*i!CfdDZ6FGN^ z39rwVsB~=^@H%b6da)q{kf#Xlxd^<8WP3BS_b_tm*ZRS9pxvQOS1q4@ae63sBCYzBcEtCn?to~feL=yN5u-%_Oe}?AJ1yaMd16Gf1@5XdI_$Uw``qQ?2Oq7L zL-Oh}E35k)e2Sthcy*FXT2`i0W)-b9WBymWld3#24=~o(uTz6r1Z181PMvm#mZ@6} zJRd?aJmv)#c3ew9%;cP}@`Z^ooXtzz1koQ0Tf0{=XG~1D6F09sS$SXiK0vX)!hM-4 zXtpJ6&1F7VUfr0hsKpb0t2jdkM0he7p*_Jp(rhAd;NRw3bj}{K77P_LExCu8#3Kx^ z!zdqqhX2M)X;0FVCwUvJe`Le%2;dBjO4BC5nqpgfxWlWdm%k2KVkuRt9MJpbjAal{cpSA=(7I?DqO}KIC3JfTwHq%gC9ay=$`- zbKnRgZCMux0}Eb0J_>ivANq+u$!R3vEd(g6G>0Ek@cbMrZBK^(qEQ;)s0dsPOrT?j zh$0TZY3}~>|CLzirjpiZFXlOCwlEduCZW%pD{~jxsE)ZX7TdpBLT6+)g{>lgQ1d zb-DIt6>&x&+hK3FLd)@It&>G-l+E9mwjDoTzf~jqVEcG?%}wh4!?IDbhx2{C?AE-D z*VM-(tKH>P2oat+7il9Qhw=TX#b!n9*0aaAFwcKYD=28 zj;K5}mvr{cn0lI&B2>x?wlKl}vrs|;pD$o?08Q{N*!34#(+p%Fss@ld4Wd)r0h2X_ zai^Q1d}L0ZT!R6j`<2U=^EfzKwZhWKVZ8Yw;U-KUUqil}cd1X@T~gLPZl-uJcE&b% z&o1$O3uw(42=HmSiND2JC@^t(q=+cAEETVI2t89|_0`n}A)d+mNWI=NYe*r4lATWs z7A>3%tKzG&#iL8iL4IgpVz}uYWng`Kg)Q--1>WShfaKLMF8I2lsSS)d_bXXORq`{l zjt_u7IHq$04Pv$esef4fh3ZCYG`zojpiu_49SLzj;sb`Ny+tnq#0uZEI#70C4!TW4 zhcOzOn$Yo!%E-t_Np+t{WOj=)tVvp?6i0VcgtZA@HFh6NB~^~<47upm5;E)N(P@u$ zpP+cjHB_N}oyQ-N=!MyTt@-qTw(k@cy^k5OeW_X^#VL`neX0t0x(-W|I3w3aRkIwz zg!aU40T*Vh;;Niw`p4vnO)i=k%TwbY3hm2ae9;)RB!YLu*hJ0B9;G1SgyBo-0zTd( z*Yp{T_|4@9fu9F2Iz1S%Mnr%+f!o)qH{hKG@{aL|iA6y~N=eI?ULI6(;Kkzsq8Gb* zJ|GuJ%=Rk>h{g>C(k=DI1-^NB*{839qQBzA{75H!ig0Yxx#FYw2RsT(o~%CJm&O@+ ztf5jmz23B3R=kQ3e8tA2VrzU6M-SA;rM2P8sK<)J0_lXrD+@(;P7ZL`kL1$_v%c*3 z=cE5b+20rbX5Zb3fd7dW!K&hb*FhuFIzUA-RO!Qtw%-7z`L!hg*R{n?6~xoaeFZl? zJ!b~gyO!GGr0`Cia7saF0+NcH9FeWImXz_^zc60BbV)8WTHK;KV4GTBuSP1|MKMx| zuP#^fO}W>eEYoLqR7aUz?CAj)O*6zShXBU&#$1{z)zkpi*8;g+Vv)|r^;%O?p9NxP z`Ir%%H-iEg9)EDuFJ#Ty@+{sa@A&@9kjAW=au2^t^*2;;5oeckphEUufYQVVba!b) zQc_<$mraUHlHU_AP4LVrbz=t9P)lMFym!K?`|+crGEliFkPQi(CSO^ zCJ_U+zV_0bn&LrR5l*IHyI}Gm4*dDzIGP~=iUD3!N=hnH9lp%{jEw1fb=GL3vL&p1 zC&bZ3L_`QS75$DnC+L3%%;3%k#ax!~nz3^Tz9OE&VSjEx8s*>F7gcf-m&;48?8A6Y zSXFFkc-TM(JI)G3GO;eW#4a6Iys!h(!@;B!*9l5j{ z^OfFqEYWg$E2S$kBw+z85k#3+?JIW4EK2+uo%14S|6aY1nv~$fy>(xZ=HR*WDElwo z6hO@l7Fh07uLrzXY=*)`YiCBH<7oN;dZW5DJt#X07HS*r$NfW;b(6s_m_#%2y8rND zntOa~EK-5hWaV>zF?4J&*fF#H#?s<-$4-DxKE3hZ!=e8?s$Q;HyaxOp;!f z%0b^g=-};_8oN|~4c*R*dE½WaZnCTtFL{t#^`NEKebwpsvtKx(!T3O1twr)0^ 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 diff --git a/docs/docs/assets/images/part/remove_param_filter.png b/docs/docs/assets/images/part/remove_param_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..5f9e4895e731da099f96deab48330001d17276f5 GIT binary patch literal 12142 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 literal 0 HcmV?d00001 diff --git a/docs/docs/part/parameter.md b/docs/docs/part/parameter.md index 78e924ab49..7af764fa83 100644 --- a/docs/docs/part/parameter.md +++ b/docs/docs/part/parameter.md @@ -7,7 +7,7 @@ title: Part Parameters A part *parameter* describes a particular "attribute" or "property" of a specific part. Part parameters are located in the "Parameters" tab, on each part detail page. -There is no limit for the number of part parameters and they are fully customizable through the use of [parameters templates](#parameter-templates). +There is no limit for the number of part parameters and they are fully customizable through the use of [parameter templates](#parameter-templates). Here is an example of parameters for a capacitor: @@ -66,6 +66,37 @@ The parametric parts table allows the returned parts to be sorted by particular {{ image("part/part_sort_by_param.png", "Sort by Parameter") }} +### Filtering by Parameter Value + +The parametric parts table allows the returned parts to be filtered by particular parameter values. Click on the {{ icon("filter") }} button associated with the particular parameter, and enter the value you wish to filter against: + +{{ image("part/filter_by_param.png", "Filter by Parameter") }} + +The available filter options depend on the type of parameter being filtered. For example, a parameter with a limited set of choices will allow you to filter by those choices, while a numeric parameter will allow you to filter against a specific value and operator (e.g. greater than, less than, etc.). + +#### Filtering by Multiple Parameters + +Multiple parameters can be used to filter the parametric table. Simply add a new filter for each parameter you wish to filter against. The results will be filtered to include only parts which match *all* of the specified filters. + +Each parameter column indicates whether a filter is currently applied: + +{{ image("part/multiple_param_filters.png", "Multiple Parameter Filters") }} + +#### Unit-Aware Filtering + +When filtering against a parameter which has a unit defined, you can specify the value in any compatible unit. The system will automatically convert the value to the base unit defined for that parameter template. + +For example, to show all parts with a *Resistance* parameter of greater than 10kΩ, you can enter `10k` or `10000` in the filter field, and the system will correctly interpret this as 10,000 ohms. + +{{ image("part/filter_with_unit.png", "Unit Aware Filters") }} + +#### Remove Filter + +To remove a filter against a given parameter, click on the {{ icon("circle-x", color='red') }} button associated with that filter: + +{{ image("part/remove_param_filter.png", "Remove Parameter Filter") }} + + ## Parameter Units The *units* field (which is defined against a [parameter template](#parameter-templates)) defines the base unit of that template. Any parameters which are created against that unit *must* be specified in compatible units. @@ -83,7 +114,7 @@ If a part parameter is created with a value which is incompatible with the units This behaviour can be disabled if required, so that any parameter value is accepted. -### Parameter Sorting +### Parameter Unit Sorting Parameter sorting takes unit conversion into account, meaning that values provided in different (but compatible) units are sorted correctly: diff --git a/src/backend/InvenTree/build/api.py b/src/backend/InvenTree/build/api.py index 1b017d73dc..b70abbe119 100644 --- a/src/backend/InvenTree/build/api.py +++ b/src/backend/InvenTree/build/api.py @@ -12,7 +12,6 @@ from drf_spectacular.utils import extend_schema_field from rest_framework import serializers from rest_framework.exceptions import ValidationError -import build.admin import build.serializers import common.models import part.models as part_models diff --git a/src/backend/InvenTree/part/api.py b/src/backend/InvenTree/part/api.py index f61f9da261..480ea7883a 100644 --- a/src/backend/InvenTree/part/api.py +++ b/src/backend/InvenTree/part/api.py @@ -1339,15 +1339,51 @@ class PartList(PartMixin, BulkUpdateMixin, DataExportViewMixin, ListCreateAPI): pass queryset = self.filter_parametric_data(queryset) + queryset = self.order_by_parameter(queryset) return queryset def filter_parametric_data(self, queryset): """Filter queryset against part parameters. - Here we can perform a number of different functions: + Used to filter returned parts based on their parameter values. + + To filter based on parameter value, supply query parameters like: + - parameter_= + - parameter__gt= + - parameter__lte= + + where: + - is the ID of the PartParameterTemplate. + - is the value to filter against. + """ + # Allowed lookup operations for parameter values + operations = '|'.join(['gt', 'lt', 'gte', 'lte']) + regex_pattern = rf'^parameter_(\d+)(_({operations}))?$' + + for param in self.request.query_params: + result = re.match(regex_pattern, param) + + if not result: + continue + + template_id = result.group(1) + operator = result.group(3) or '' + + if operator: + operator = '__' + operator + + value = self.request.query_params.get(param, None) + + queryset = part.filters.filter_by_parameter( + queryset, template_id, value, func=operator + ) + + return queryset + + def order_by_parameter(self, queryset): + """Perform queryset ordering based on parameter value. - Ordering Based on Parameter Value: - Used if the 'ordering' query param points to a parameter - e.g. '&ordering=param_' where specifies the PartParameterTemplate - Only parts which have a matching parameter are returned diff --git a/src/backend/InvenTree/part/filters.py b/src/backend/InvenTree/part/filters.py index 7b00aedf02..5a7ab187bc 100644 --- a/src/backend/InvenTree/part/filters.py +++ b/src/backend/InvenTree/part/filters.py @@ -9,11 +9,6 @@ Useful References: - https://docs.djangoproject.com/en/4.0/ref/models/expressions/ - https://stackoverflow.com/questions/42543978/django-1-11-annotating-a-subquery-aggregate -Relevant PRs: - -- https://github.com/inventree/InvenTree/pull/2797/ -- https://github.com/inventree/InvenTree/pull/2827 - """ from decimal import Decimal @@ -38,6 +33,8 @@ from django.db.models.functions import Coalesce from sql_util.utils import SubquerySum +import InvenTree.conversion +import InvenTree.helpers import part.models import stock.models from build.status_codes import BuildStatusGroups @@ -343,7 +340,58 @@ def filter_by_parameter(queryset, template_id: int, value: str, func: str = ''): Returns: A queryset of Part objects filtered by the given parameter """ - # TODO + try: + template = part.models.PartParameterTemplate.objects.get(pk=template_id) + except (ValueError, part.models.PartParameterTemplate.DoesNotExist): + # Return queryset unchanged if the template does not exist + return queryset + + # Construct a "numeric" value + try: + value_numeric = float(value) + except (ValueError, TypeError): + value_numeric = None + + if template.checkbox: + # Account for 'boolean' parameter values + # Convert to "True" or "False" string in this case + bool_value = InvenTree.helpers.str2bool(value) + value_numeric = 1 if bool_value else 0 + value = str(bool_value) + + # Boolean filtering is limited to exact matches + func = '' + + elif value_numeric is None and template.units: + # Convert the raw value to the units of the template parameter + try: + value_numeric = InvenTree.conversion.convert_physical_value( + value, template.units + ) + except Exception: + # The value cannot be converted - return an empty queryset + return queryset.none() + + # Query for 'numeric' value - this has priority over 'string' value + q1 = Q(**{ + 'parameters__template': template, + 'parameters__data_numeric__isnull': False, + f'parameters__data_numeric{func}': value_numeric, + }) + + # Query for 'string' value + q2 = Q(**{ + 'parameters__template': template, + 'parameters__data_numeric__isnull': True, + f'parameters__data{func}': str(value), + }) + + if value_numeric is not None: + queryset = queryset.filter(q1 | q2).distinct() + else: + # If the value is not numeric, we only filter by the string value + queryset = queryset.filter(q2).distinct() + return queryset diff --git a/src/backend/InvenTree/part/test_param.py b/src/backend/InvenTree/part/test_param.py index aa5e0f8344..4cf8965f00 100644 --- a/src/backend/InvenTree/part/test_param.py +++ b/src/backend/InvenTree/part/test_param.py @@ -445,3 +445,177 @@ class PartParameterTest(InvenTreeAPITestCase): for idx, expected in expectation.items(): actual = get_param_value(response, template.pk, idx) self.assertEqual(actual, expected) + + +class PartParameterFilterTest(InvenTreeAPITestCase): + """Unit tests for filtering parts by parameter values.""" + + superuser = True + + @classmethod + def setUpTestData(cls): + """Setup test data for the filtering tests.""" + super().setUpTestData() + + cls.url = reverse('api-part-list') + + # Create a number of part parameter templates + cls.template_length = PartParameterTemplate.objects.create( + name='Length', description='Length of the part', units='mm' + ) + + cls.template_width = PartParameterTemplate.objects.create( + name='Width', description='Width of the part', units='mm' + ) + + cls.template_ionized = PartParameterTemplate.objects.create( + name='Ionized', description='Is the part ionized?', checkbox=True + ) + + cls.template_color = PartParameterTemplate.objects.create( + name='Color', description='Color of the part', choices='red,green,blue' + ) + + cls.category = PartCategory.objects.create( + name='Test Category', description='A category for testing part parameters' + ) + + # Create a number of parts + parts = [ + Part( + name=f'Part {i}', + description=f'Description for part {i}', + category=cls.category, + IPN=f'PART-{i:03d}', + level=0, + tree_id=0, + lft=0, + rght=0, + ) + for i in range(1, 51) + ] + + Part.objects.bulk_create(parts) + + # Create parameters for each part + parameters = [] + + for ii, part in enumerate(Part.objects.all()): + parameters.append( + PartParameter( + part=part, + template=cls.template_length, + data=(ii * 10) + 5, # Length in mm + data_numeric=(ii * 10) + 5, # Numeric value for length + ) + ) + + parameters.append( + PartParameter( + part=part, + template=cls.template_width, + data=(50 - ii) * 5 + 2, # Width in mm + data_numeric=(50 - ii) * 5 + 2, # Width in mm + ) + ) + + if ii < 25: + parameters.append( + PartParameter( + part=part, + template=cls.template_ionized, + data='true' + if ii % 5 == 0 + else 'false', # Ionized every second part + data_numeric=1 + if ii % 5 == 0 + else 0, # Ionized every second part + ) + ) + + if ii < 15: + parameters.append( + PartParameter( + part=part, + template=cls.template_color, + data=['red', 'green', 'blue'][ii % 3], # Cycle through colors + data_numeric=None, # No numeric value for color + ) + ) + + # Bulk create all parameters + PartParameter.objects.bulk_create(parameters) + + def test_filter_by_length(self): + """Test basic filtering by length parameter.""" + length_filters = [ + ('_lt', '25', 2), + ('_lt', '25 mm', 2), + ('_gt', '1 inch', 47), + ('', '105', 1), + ('_lt', '2 mile', 50), + ] + + for operator, value, expected_count in length_filters: + filter_name = f'parameter_{self.template_length.pk}' + operator + response = self.get(self.url, {filter_name: value}, expected_code=200).data + + self.assertEqual(len(response), expected_count) + + def test_filter_by_width(self): + """Test basic filtering by width parameter.""" + width_filters = [ + ('_lt', '102', 19), + ('_lte', '102 mm', 20), + ('_gte', '0.1 yards', 33), + ('', '52mm', 1), + ] + + for operator, value, expected_count in width_filters: + filter_name = f'parameter_{self.template_width.pk}' + operator + response = self.get(self.url, {filter_name: value}, expected_code=200).data + + self.assertEqual(len(response), expected_count) + + def test_filter_by_ionized(self): + """Test filtering by ionized parameter.""" + ionized_filters = [ + ('', 'true', 5), # Ionized parts + ('', 'false', 20), # Non-ionized parts + ] + + for operator, value, expected_count in ionized_filters: + filter_name = f'parameter_{self.template_ionized.pk}' + operator + response = self.get(self.url, {filter_name: value}, expected_code=200).data + + self.assertEqual(len(response), expected_count) + + def test_filter_by_color(self): + """Test filtering by color parameter.""" + for color in ['red', 'green', 'blue']: + response = self.get( + self.url, + {f'parameter_{self.template_color.pk}': color}, + expected_code=200, + ).data + + self.assertEqual(len(response), 5) + + def test_filter_multiple(self): + """Test filtering by multiple parameters.""" + data = {f'parameter_{self.template_length.pk}_lt': '225'} + response = self.get(self.url, data) + self.assertEqual(len(response.data), 22) + + data[f'parameter_{self.template_width.pk}_gt'] = '150' + response = self.get(self.url, data) + self.assertEqual(len(response.data), 21) + + data[f'parameter_{self.template_ionized.pk}'] = 'true' + response = self.get(self.url, data) + self.assertEqual(len(response.data), 5) + + for color in ['red', 'green', 'blue']: + data[f'parameter_{self.template_color.pk}'] = color + response = self.get(self.url, data) + self.assertEqual(len(response.data), 1) diff --git a/src/frontend/src/forms/PartForms.tsx b/src/frontend/src/forms/PartForms.tsx index ab90a38b32..eec80a41bf 100644 --- a/src/frontend/src/forms/PartForms.tsx +++ b/src/frontend/src/forms/PartForms.tsx @@ -245,6 +245,7 @@ export function usePartParameterFields({ type: fieldType, field_type: fieldType, choices: fieldType === 'choice' ? choices : undefined, + default: fieldType === 'boolean' ? 'false' : undefined, adjustValue: (value: any) => { // Coerce boolean value into a string (required by backend) return value.toString(); diff --git a/src/frontend/src/tables/part/ParametricPartTable.tsx b/src/frontend/src/tables/part/ParametricPartTable.tsx index 4bd1bd987e..cdd2cafcae 100644 --- a/src/frontend/src/tables/part/ParametricPartTable.tsx +++ b/src/frontend/src/tables/part/ParametricPartTable.tsx @@ -1,5 +1,11 @@ import { t } from '@lingui/core/macro'; -import { Group } from '@mantine/core'; +import { + ActionIcon, + Group, + SegmentedControl, + Select, + TextInput +} from '@mantine/core'; import { useHover } from '@mantine/hooks'; import { useQuery } from '@tanstack/react-query'; import { type ReactNode, useCallback, useMemo, useState } from 'react'; @@ -14,6 +20,7 @@ import { getDetailUrl } from '@lib/functions/Navigation'; import { navigateToLink } from '@lib/functions/Navigation'; import type { TableFilter } from '@lib/types/Filters'; import type { ApiFormFieldSet } from '@lib/types/Forms'; +import { IconCircleX } from '@tabler/icons-react'; import { YesNoButton } from '../../components/buttons/YesNoButton'; import { useApi } from '../../contexts/ApiContext'; import { formatDecimal } from '../../defaults/formatters'; @@ -90,6 +97,115 @@ function ParameterCell({ ); } +function ParameterFilter({ + template, + filterValue, + setFilter, + clearFilter, + closeFilter +}: { + template: any; + filterValue?: string; + setFilter: (templateId: number, value: string, operator: string) => void; + clearFilter: (templateId: number) => void; + closeFilter: () => void; +}) { + const [operator, setOperator] = useState('='); + + const clearFilterButton = useMemo(() => { + return ( + { + clearFilter(template.pk); + closeFilter(); + }} + > + + + ); + }, [clearFilter, template.pk]); + + // Filter input element (depends on template type) + return useMemo(() => { + if (template.checkbox) { + setOperator('='); + return ( + choice.trim())} + value={filterValue} + defaultValue={filterValue} + onChange={(val) => setFilter(template.pk, val ?? '', '')} + placeholder={t`Select a choice`} + searchable + rightSection={clearFilterButton} + /> + ); + } else { + let placeholder: string = t`Enter a value`; + + if (template.units) { + placeholder += ` [${template.units}]`; + } + + return ( + + { + if (event.key === 'Enter') { + setFilter( + template.pk, + event.currentTarget.value || '', + operator + ); + closeFilter(); + } + }} + aria-label={`filter-${template.name}`} + placeholder={placeholder} + defaultValue={filterValue} + rightSection={clearFilterButton} + leftSectionWidth={75} + leftSectionProps={{ + style: { + paddingRight: '10px' + } + }} + leftSection={ + setOperator(value)} + size='xs' + data={['=', '<', '>']} + /> + } + /> + + ); + } + }, [template, filterValue, setFilter, clearFilterButton, operator]); +} + export default function ParametricPartTable({ categoryId }: Readonly<{ @@ -115,6 +231,61 @@ export default function ParametricPartTable({ refetchOnMount: true }); + // Filters against selected part parameters + const [parameterFilters, setParameterFilters] = useState({}); + + const clearParameterFilter = useCallback( + (templateId: number) => { + const filterName = `parameter_${templateId}`; + + setParameterFilters((prev: any) => { + const newFilters = { ...prev }; + Object.keys(newFilters).forEach((key: string) => { + // Remove any filters that match the template ID + if (key.startsWith(filterName)) { + delete newFilters[key]; + } + }); + + return newFilters; + }); + + table.refreshTable(); + }, + [setParameterFilters, table.refreshTable] + ); + + const addParameterFilter = useCallback( + (templateId: number, value: string, operator: string) => { + // First, clear any existing filters for this template + clearParameterFilter(templateId); + + // Map the operator to a more API-friendly format + const operations: Record = { + '=': '', + '<': 'lt', + '>': 'gt', + '<=': 'lte', + '>=': 'gte' + }; + + const op = operations[operator] ?? ''; + let filterName = `parameter_${templateId}`; + + if (op) { + filterName += `_${op}`; + } + + setParameterFilters((prev: any) => ({ + ...prev, + [filterName]: value?.trim() ?? '' + })); + + table.refreshTable(); + }, + [setParameterFilters, clearParameterFilter, table.refreshTable] + ); + const [selectedPart, setSelectedPart] = useState(0); const [selectedTemplate, setSelectedTemplate] = useState(0); const [selectedParameter, setSelectedParameter] = useState(0); @@ -186,6 +357,10 @@ export default function ParametricPartTable({ title += ` [${template.units}]`; } + const filterKey = Object.keys(parameterFilters).find((key: string) => + key.startsWith(`parameter_${template.pk}`) + ); + return { accessor: `parameter_${template.pk}`, title: title, @@ -199,10 +374,20 @@ export default function ParametricPartTable({ template={template} canEdit={user.hasChangeRole(UserRoles.part)} /> + ), + filtering: !!filterKey, + filter: ({ close }: { close: () => void }) => ( + ) }; }); - }, [user, categoryParameters.data]); + }, [user, categoryParameters.data, parameterFilters]); const onParameterClick = useCallback((template: number, part: any) => { setSelectedTemplate(template); @@ -275,7 +460,8 @@ export default function ParametricPartTable({ category: categoryId, cascade: true, category_detail: true, - parameters: true + parameters: true, + ...parameterFilters }, onCellClick: ({ event, record, index, column, columnIndex }) => { cancelEvent(event); diff --git a/src/frontend/tests/pages/pui_part.spec.ts b/src/frontend/tests/pages/pui_part.spec.ts index d09351f5a7..4772031001 100644 --- a/src/frontend/tests/pages/pui_part.spec.ts +++ b/src/frontend/tests/pages/pui_part.spec.ts @@ -407,6 +407,41 @@ test('Parts - Parameters', async ({ browser }) => { await page.getByRole('button', { name: 'Cancel' }).click(); }); +test('Parts - Parameter Filtering', async ({ browser }) => { + const page = await doCachedLogin(browser, { url: 'part/' }); + + await loadTab(page, 'Part Parameters'); + await clearTableFilters(page); + + // All parts should be available (no filters applied) + await page.getByText('/ 425').waitFor(); + + const clickOnParamFilter = async (name: string) => { + const button = await page + .getByRole('button', { name: `${name} Not sorted` }) + .getByRole('button') + .first(); + await button.scrollIntoViewIfNeeded(); + await button.click(); + }; + + const clearParamFilter = async (name: string) => { + await clickOnParamFilter(name); + await page.getByLabel(`clear-filter-${name}`).click(); + }; + + // Let's filter by color + await clickOnParamFilter('Color'); + await page.getByRole('option', { name: 'Red' }).click(); + + // Only 10 parts available + await page.getByText('/ 10').waitFor(); + + // Reset the filter + await clearParamFilter('Color'); + await page.getByText('/ 425').waitFor(); +}); + test('Parts - Notes', async ({ browser }) => { const page = await doCachedLogin(browser, { url: 'part/69/notes' }); diff --git a/tasks.py b/tasks.py index 1d56232904..8a5c93092e 100644 --- a/tasks.py +++ b/tasks.py @@ -536,6 +536,14 @@ def setup_dev(c, tests=False): # Setup / maintenance tasks + + +@task +def shell(c): + """Launch a Django shell.""" + manage(c, 'shell', pty=True) + + @task def superuser(c): """Create a superuser/admin account for the database.""" @@ -1831,6 +1839,7 @@ development = Collection( server, setup_dev, setup_test, + shell, test, test_translations, translate,