From a9e0dd936dd0b37a7346c1302f8a8a1ba07aaed5 Mon Sep 17 00:00:00 2001 From: Mark Noble Date: Wed, 7 Aug 2024 16:52:53 -0600 Subject: [PATCH] Add additional configuration options to System Variables to control how solr commits are done during record deletions --- code/reindexer/reindexer.jar | Bin 907933 -> 908082 bytes .../reindexer/GroupedWorkIndexer.java | 22 ++++++++++++-- code/web/release_notes/24.07.03.MD | 7 +++++ .../version_updates/24.07.03.php | 28 ++++++++++++++++++ code/web/sys/SystemVariables.php | 18 +++++++++++ 5 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 code/web/release_notes/24.07.03.MD create mode 100644 code/web/sys/DBMaintenance/version_updates/24.07.03.php diff --git a/code/reindexer/reindexer.jar b/code/reindexer/reindexer.jar index 39784f7d9be860329a16fec92d40fa0b66873bb8..fd528e8ed4af77d2f4579c68354b4c21f7568855 100644 GIT binary patch delta 49206 zcmZs>WmFwqvo#tdxI4juyAvcxg1fuByIY`xZalcVyR$b0cXxMp_h8{Z@B5r{$M@ZF z``4cKo{O0qDpI3ExY5I*FGz-!l`eTSj>&*H=Xal!txc6701 z{SOrB!v};9|Ai*F!LY#o2bxd}BL+L-^ieydZWtaXC29f|BjGbXUIQJhBFcaD39oqk z4PXorxc^EGuXr9v|LT|Nzc$p8QzO9U{S&5Pnf^xjU&N$s9pb;CgWY-lt4jHK21}Ka z8;wfV0PQh^@Goq_KZ@{QE4wAsf31iqPBEyM4VkG_1pgYIhoS$+FcyP~-+)kO@IM}y z;Q#et`Grc{&@d8?0z3MD)$pIYAvV}AVt)JAAnEyU28fUvJg7XV|37q!RV*qAB%1&# z8s@+0rzq{9;G~qsLw!ooCx$}$Z<#4sgdbT_NaFqhf{CH{r2gOFEGeOJsAQ1u=1}MV z28aAp)hN_|oxs*m{iy#U^Po_0AnP7b>d^nnrQ=X65HoM64w!%Ch+7yIh?*bN1l+&! zKaFEaSx7*|g;)neJtO|B{NIiGl){sUN(`xsf!h3^jQ?pEOG-{6DjsAh9xC(Gzq>Hu zPnF`71C0bJu7a}scefz_G%x}GztJH7q;Lp@`Tu=t1XA+ip~zDhlTk?_o0CvzDF2NG zxn70RL;BZG`2Z>a>i@n&ieU=sCkW{g)X)DZrx_XgOUhUZDkkLU6l#t5-xfaU{!`P` zDHMDPTPiAX3LzpiH}Ho4EE?sxz#x9z-8lX*(bE1n#@FE4@#EbI$p|x&!H1x}y3}0m z@+UuQ1=z9$q{qb>xT=uUxlhr+vNix!bJ4sbzinyrV-_cQJHx+M71QKsl@onjZr#l$ zt!;M6GR!_jgGWQ=^yy3JU_Z-I1ImdbO;O^e@zHn+m}hX55$Hc}>#n`amwmRHC|`{^ zXT=0K)GZLIeyfv;Yr*vXj2R8%6mvO`7pwO=n7;}+pQ{g1lyv zm}phky%*SGfER{~xOOyF`N_kVuQaiRiN=qC_~^;ZnMrR+-Gm=@$EhRnU2kELsv2I0FzNlvS;5;>t*4;sI3Q6 z#ewDEzedCE<|g4{M;`~bDU`;K{|cC-J{iimxJbxw0(v{yo!dTtZ?}EFY)j@ zT5Pm=-yV!-{Jn#q3qgN)SwTc$AdufY0wm4Xrg&w1!6Dfh!rSRNi97dX5qa_YF^<_2gcrA=msiK0k zv^X;^%t(%{cEM>W?gbj&p4?$sbDAV69yh9;Ix~$QWa}807t&k+S5Z7k`!SaYet08i z!*X`GJ;4T5K1Foz3`Pf;9PGKb=VR9VFa3W8rJJuzH5Y>DX8U(vPdp@zss4Fxch|Q3ArzvI!5~^G5Ol#RP z>=al(p~snKh!95t+?1^iLmI#YE(?F*lInnLhwp&H$32bN{uP-Haw>XBpr>_vd>co=R- z%+kl$!$Y5dV=YB0l1LNJxM+9Tetv|4NpTByupnHOE56a-&tRKWy9RL_W7tG<_wERM0&QNpgFj!D1lV z(}edJImSCKlNuD8wU^@+B#ED=6t8P(rEOg>r8b(%6{AW}Pc{2BYQbJQ5yTQxxGScO z{E(72Hxfdhq>W)-K%1<&k33tKT6t3}Vg(F{=@DX}+6QZgi4u5Uko)+5-H1*vppL*L zy^KNzm<8s@s5K{Xrcxyqs_eoiq>6MoMiV%4De$)>NEPa5SJy)YfkvJ@t;7V7$yN80 z6XFIYz20#UqdA7^3>z<2G@i8NGFO2D_6~~{e)M2A?`LYaJb805&gz!8cBNx3vRap4w@c-9;%?EwmMbB6AGHxW#c2w4fK z`+SYqsjS;v*`4L;7W%oY4Jmb&pmrs!7($T*9&$uRB}01N0Twt`_g%(LBE?~pP)I&- zavojjRES{uhupjmVkIyr#ZZi{6vKY-$Rg>tiYv>AF)$2+>Tcp5CX=Qx!w8ev`~)?h z80a(Wot5o`D-r&TKqP$pd%*%DHI;PKt#DT``@77NX0Fwbk%hbKtOz|=mKA?Zrs?JM z8?4Xi9^|Pw3aV6b-#<32ZOeR=7zZf>Rmz}+jN$q8MMaZ+BL^9AK`d1S>gob3T*S|X z{m>qaR?mf`(yqTxxCbpD#|Q8l%{Q%VU;NTdBL8_~QIW9WS{4ub46)l5+rsX_+WXjf zUq)p1XjCbGx8_PiE)!c{spFVkjXpa+5^s&Hgpg-n94&b%ip~ZW3(}gvbL!Cn-=vrC zwD5elylvqDbl_&iW;A(UpF-1uO6u1?%0VN7gaoa2r^|jR(ZAEPnf%TsX1%B@$M3 z_=k3!hQ@YnTb*#Ry?I*+NMg_wh;-i;uL7SK#EtgMiI|@ZB#Vi$D!#dT3M6z-hCFFF z(NTU44KkF8J}cVi)KEr<@y83G=p$6^e1v%RTV};B0*#4i}+r zxUyYNGdvxoB)a3P)Kl=4s)(>t2(!zESTI&ejL5fvo)336@r1gUP}!}O@|-5!&Uor? zuT#yGXegP00Y(5)Bxea^s5gyrABThy)<62y?9GMLoc8x zv=Imd#*CrQgbh2lYD-?90csGvl7wOB4jb-Bts5_0nDhZN71|URkqhm%)(n!DxV)iB z9FGu2k;tc7CFbEjd*-7ZlZASn*v?In_DrLyYJWD_v>vm726_CPx_C+hIw=vveLl`+eMJHy+9ScrD2KwN{XF^lVM!vZa zAoU)denF$$TRbK9h&2TEYYSeV`9VHU_cWmO{l#y*#3=hTZ9#%&aSEfM5OdN?XI?UY z5yMN@=I<(xP$1;IwLo;j)bfVUR{)v%g=;BaxQn<`mjBYMP6}^5pk&IM(A69;e0rNa z6-z5kQ_tA+#XyC3p@UK|RON#evu}_`vI-6CWw!isxP$3$tuyX zflp5K$;g!efEBZ?TN0Sd;(`+TmNc<)hOuB#|8Yt5&kBkq@-hVz7G6xZzd;sx3JDFq zhz&AsUDiM6xfB{E?x3DWO;c-j|I?Asip*nr~ z_y;D9l_e~2V88srK9_ta*4~*F7%TiTE}#p8YOKkrb}{ zqySmcMtKma_>754tGet&fg2tger()*!&WEI8Ct&=EW5;aHb}#t(p`ADG3w+&%1>ra znSExZP||-RuAj4>^^>dSI1F(X>4hv(ziUeokcoZ%BtD0a>I{c@Z(MU7IFDz-pfm^U>^h^3%qyhfoQL_L+y_!V`6bfHaqLjd0&S98$wK-&Qp(vK3BkLl7pl`#A4LOh2LUYj)!+tysmB=~oNTY$2s;wYoO;&&J213SHCs?pY zpE*_w(4EgBZ#(yEf8O{ecat-_uBPKNp+Ls;c^y~N7QE^feWw;e@p-^3HV(*(a#iSx zRYfS-yHgT`0>6449N}C-)>k`#)du=R!|8xIv&Dy48+Vvf*O0qIWwPwg_1xw^qA(AaEQH`3h4k#w$V`~OmaQZP;?iT0u3vmKR)n^e>M$v z=x}>ZM_#WLa zPf~bcaSLY*9XqrVp|df-g3qv}rTW>)!6VXZMyy!9k)9%c0Amh!c-roni0>M+4ohw&uE!)SD z2M{njtH5Z&4?QQBK4oaUX zAx0}GzT-3H$2+ad(wJLltF2{zHaE8MUsq%{m{onLoG$azTvaoimt)q!SG`RYYU2G> zg15UrN1>OYlba88?m6)~pW4Fhwj=owAu*-=(M6LqF+n95bG`TNM4D38boiA~(}d$A zzv~2>$K!I~qmOx3k=b-?Pp8E^l$YhCjWThp+I_&bU!nEo)%xBF{3`y_{~6F@Bv&O=!LHd)3#CM$^F|b&c`j|Cfw1;Di~cmQKiQnEt;&7C_?nRFUH!_EGgjfQ)dY9 zo@WSfm}iJCE7zP((d_sCDxh8tja07F6R8gA{h$u)_ea^=!-5Fr*U?aD9ttx2Q29Z| zl4vBs}Va4cCO1xUfvwtbv91NM`vDEopkEqH$jGdeeAmsR| z`DpSsRvK=Z$%Lw^P?< zq(NYN<$`!8*abSM%uk8YH*QTWrEqZ*!W)t^v~48`}d+RrwFSFaBIlb5%P|#Cf{CTU|n>*cP&_v-bQp zo3^98jU=PnULqa>6pRwOq{W}e;(;F{3VTk_ZVVu7 z#PQ>>Vgh*s;x8?GPjjzfz0$!4l^tJxH+B&JmHI`oLyShNdP4S?H?4m5>GbV!_7fm$u)b9sLGI;dnIk|L*kls8kNv>GsCt7470 zV_}ui&R#yo@T3OKBJR$I)zPIOP0jBakCa^Npjl!JoDyd4qzSu&O&9o8*Y3B)T{8~G z(>ilos;azwd~I*ng77EQJP??pBg6|bAzza9;?Cn23O#4^P_MEGovbmQbS|Tb{l#F{ z$F|tSl~@itIA2+`*L$|*Mt~CyIM3(iG@jARozln8L)UaX$*Gu%mi4o7`Xt(xa@)G( zLw65%h5hLRYdBfDws%peG;_YPu0~7DH*-3CYpDqlGkYPnKJQVz+G20#C=(~9-aU%j zUDJ-}%O6Dp`S~*C-PXsA&@GGf9q_Vc7qlq+?c}~duehvM_pI>O83Lmg2;J?(6XdXu zoTbhfVe>aT$Kn`8t3%s*GLPT$@*hwo^Bdoq1+&lO?%U%l1c$Z%D;~z8}EmO$9fW zV2WyTuX2{lb(ZgL_>`1qJebJ-0%wucmBT${=I20&$)Sp!B& z)RQ+p-r0Ff1_vvQD-|e}b}}>;Y|X_(U@F-c?4UgH*v6W4z{&=&s0H2!LvLdcFY}KY zn-;f(U#I_$G<8}7mKa(JP$&-)B4DCZGgV(~)bdNeFh0q3qLpu@5*re&^-B|}=Owis z?Bs8>iyQMBrfgR30;^56k=&$V?cFE`3ymm+TQE#rW+P{Q)o&Rbj74K;$IWtr^yR}f+3$9>w<`I*eZg)|1wpwZ6u(1p#u)+3ugS~BButOXTk0QZ6 zp;ykT?hYepy>EayZ(GXQeD18!t+zs&Z)S&&fvG*X;kJ>MsU7D_jDRxkZ zt)~6Tu`+$)=%T28OgvRN%XfbGdz zOW%=?QJ=*o6hbX1%vq~1t1g3>$wd#5t#yH`%9VZ`^KaFc==-I*H(&&%{9%Ftv;r-7 z7eAzahFeFLTq$^C4E`t^$4`qHcgH9)0+uZOXrS}2gEB-XhBKB*xO4;00cg%V@ zMU%z7xN+)eH$h;0@4p&G8Rr#~+s}F{w!|`pM>y2>dt!WPllP*1q$|}@77lju$)$kJ z?z4y=rV2IKcgEQ`C-X}Y7UH~)>>c&9mFhQ~{W2}yBum0Y^jUOC4{x->8UOtsSho1O z&v9WTTB}WW1xkp|i=mkmkOK2L!jh`+XBV|Yv}Q#42|2{kBjxJBI|U{%uLLds-8!7v z7bDq={Ph~T@nV0jAV09`{dh|7vJarAXatmba`Jj)z|*>{xA||c3WGp04?evv zuHw{8q|{%^La@EPr=li9%fgKF5t*Gql1!z@$Yl3ddx`s6X#Rl0vfXBXm2aM+UJVni zt$hoV^OGeq&xk=8FI+a@L$2ZPibFURZ-1Y=%vF5#hVCQpBI8~J+c&L)+ABO+&DrX5 z7{8WsBYAm*`*)NXb{pM*v0s4G#t)|lS??PjPi zf56T-xap_#=i^qXj|rVvTY+~x%Fp*!>i4dZVRqynhaL0wzKM>{DV7{J#zVtGFa!As z&X&obZT>m+a4ebgd}QR$zsINQko~qfbJ?q$`!#Nl!Hp|a*&QVB2NMLWLoO{ybvq3= z#i|G-k2(pi2%9d87dlhEl6FaRBeT?PamWG)+KCWH?4q>iK@{s_$>zVv933+CWeYgz zVENRnqWAdjA$x@OviEZIw9`u@3LBQrgJsuu1p7Dk zHy$-d-Yeh^R1FDS`wJ}MmVE0qilUrX({`yAAK%)eTAKkt57nC+aS65xYieIbPvf_f z7r1fb+3z>NEoT(_edk?;V5EVg`Dx85D}a&R>ALjMsquj(=z7(i zIjO3X{GUmb2WKPymg9Fc+Tl1@fA2{Z0XQ$A4x~SKzFbB`7+9H~UdoD*xs(Pu7ysS# zf0?DgA4+?EzjyqIv*vAiN_Lv#^2Yh8KPt@9;=y?wTKVxKC^9b->qq~64ZU!aoYLL^ zT*NywD3VQx4S;FxKFZW-O6|e8rS#UsS7OQ{g6n4}(b|w@qGKCEO@JO<`_5ixM@SA= zkr?Wz_rpnEXN`?ogUkswHKsCbn7?H0{9F0!L}tC~O$iUSEdQ#pM!#vrn=c|V_OQ2A zL2$1@EyO&LBX#G}GX8{$u*yUdF3cVS@Lfp=t!{(87n@y=FgJ;y(&wr^Cx!(ZbXle&bXpKW~> zBPyer1tFO^p)qIEGQ%G>%kpL2-#!`iCo*?1$ zRuXZTxjV~ugRUaciA|-mbU#jxJj2B^KCz}bh@;5LkWr$Sedr7{O2G5@OT`tD;(f!f;e!D)*g`%1O0MqObQ zAfAD`u6o?50-IJ@jmvijYTmC?5;#IingQDtno?8XXs1bJ%-%aH?$&Non_}|dRWxkX zNv(v+4^R+wu;FPBa1d|H@~6dwCuCJ7W;lN2%y#24*E;eS=jLAbvdDH7&$A}({uvoR zsEW#Isjl73 zO|3|(b?!ka$(3IgI4%_adQhuBdcN?a3T0iKTr{d_jW_w{KPQq87OhijB1hM20B=BU z5kgYw&{}?MLbG%I5$hTTPI4o{*Ce76zS6>D(J9X6Yf7G=c}(JMj5{WW%=6sqvs01m zx>@Gk!6BR-(^Q&nIPC$&+Her|PzMTg_OL?~SXPW_R|Kx$m6A!(i8l#lb)bKssMtBY z;RB71l<8Lz?Tqae#sTxb$6l}?5Pfj-hBP+D_|YnKLh7ETAUh^{^vtr)6!AA&S-I4k z^hfEL?~E1>DUoAWk*Se#5ja8HRsH*(^^ubQ{2VS=tCu8zkl?q@AZb|ed7NqL3^3D~ z$j`}z7b!q+i&v8}1IjIvH#i*JS-Xl&n-ki=x%RJP&FftL6S>#EHDH%r0Bu(RN4BNK zY(>ZYvA;5Z_HA_x^}HrqjRV_OtB|EEVPiPinJ36+gq?U2fs=7PLrx|-ScY95MCXJ- zNb|xRPgATl(9UZY%R$F#)HTGnkvi~(V)0<;@~K?KT5xn3dCF^O0AUN0O;CPuYW&kr zZw|I7DvS86db0YcajldPK%JGV+T2dq{*<2NxDM2EjlldB7TaVLZ~n1h?GLqj;<=g{ z^3EIXik-2p?~GS!o+RR50Um=~ zV^c)t329qw*H@Szl3NB|R?1ngWy0kLby~6dHkS?63~E6>+nfvk(Wf~Z&IpYh$P+sm4@KN;7azke%y;{MzE zS&8sRjX-jf68sD2E+FsFX8sCeUL(5x{H?`ex!!!U<-9W}pPKQLJ*pW7T0WHtaj9|% zg*VM=$QCXM?@1Cgo_v*p&OmEp%<;#N27UJT4u<>}!!@s*y&4xjw0R8{8IzK|usri0 zT}HnPMS>&RwQ)qvSwo{?^58i0H|{8jQ~pFVzH_sV{#jBtss|dOML~9s1h0sw{MMAY zQ+5Q5SV@x5v4SR&ILYkssI;b1X?7MiJl2S(+(NqphXeRrV@@nsNOO&2<@$DnhI#7h zPSRoKKZ0yb^L__Yg|;~M58!*$Bsg*0S(w6WedmEmzr?HJMWB5ep1`4}(AZ9?qdZcV%QHFI$&okJFwAKO(i8RL+=MNSrqZKjNKBp(M?$ zEz@pUp2UVnp%{Q5XX{t`(Hh8B%uzbKkHB8w@GOnEoilx0ybi8WbvsO&;W zluZjMeeFTvC`^apcRFwBDs8j(^h+1x6UT`t)-m_(mjTXWDly$#*ouadaG8x9p!Uw= zCkn{aKL&o^h1|$Nl_px3u^{Gh^h2Q$8g+>GkTkN*H>r%*G@y&JI?kQvi!?}mR-Y12oZ>f>;N)h0xj5a-AHbJ0gk4jA<*u;C%)GQaK zue6fZyHRoWZ3BLiftDb&>@{51} zyzK-h zc0k&5vU9y`NM85ef9)f!a$L9TKS$%1~@?MFmurg;nB1=`AQT~YDp z4KG~l-6e{3KA95lbdVgq3iU2%LG2t1ViuK1>*7s zC6E8}{emsO9p*F@PbE%-r|3TYipKsdN6O3S1b&=(qCmGjKeXH0*eGc_>uL$O9qan_ zvPwBE=|jq!^Pr6u_Y1^zAR`>o01e=8If<1jPm}12rQkc%LZ=vwGs_Gt+zk~7+JhQH z`yCt@od|>8NOm`EKRj!-`toKrya|lOE7}`Po&kGBDl^4nY~-?T#yo=WvC689%GTa3 z$!QT15(~Lz{wf_kpbn}y(IAa7{^~wF4?)xU{&}9VjNk0EMB5h*0bYQsV@D(4lt*1#qc9mVoLY_@(nG*H!gYr==k9+*=YNdBEgDLq~rm)Tqx z`Pd}E+>q?XjZ0KqbaG9oBTxd7dUewc;8!+$dHTM*IUX&)f~~P-0OyNmOD%ro>+rYN zc;*e|DAdB|q@>Frk!DQG=X>E+bRJ<@BW*c{hshH`Y0HvS({HfidP2?+JJKo|oNuUL zkpKTxs3lnl+TCDUj{x-j5`p5MlSE z(>QjNmnufl^ba!(aI{?4z7-ggsB$wX5olBSJ7Y=Vw zoPYwxUZCizaq)9J2N0j1vC-Qk+AY;-4p_qZJ&jWX7X23cBJZOXyl8CU|DvGl1awY+ zd9w9&YP^Lzh@B<0*ka}~fNO?6U5neJ0>e1MZ4~?Xl>E_AXAgouMr<2}xttbq6~yY- z_$%a347^@*>tg-+3IA6#1x2^cOpTxy_B9OtFVP=@0Jj05K!6erj;+e&Rv9N)BOKOyi zCQ@xe=`wH3=ypZs0?v{A^|;2u13{m7KL5!Bcg{cD>%r-WcVm(6b*q@QT$ZsEPVvOe3)QY%PV(L! zey-WiCwv^v+sZWxA!L%&ev6^=s*Rs`N-V{bfeLnG<1q-xMa_V|jQ1o!M=PD`V9bi<_LL143c>dNll?%B##W=kNzw2WIAmDeeIecTt=og2ABs?(4?u zKou`fzOQSkGmFv@6tDE$M3{D6ED}PS(u5b?LD=q|VKflYuQ(SW=ej~O((r*+BJnC` zy+JQ35x_P@h~s6xT$nv?^EY$_q#3Fr9Ghu+%|)DVS8A6B?Z4!{XzEIB?YU8=8?7;UIS6=!*Qj zV!6STM+?(!DVHkSU-=`+#ZnkmdCG3Gger-g)}|FZWgAgz8Z=!e~u2rWyLGOVB()4ZjOu*_BO zD}WA(cxTh0WP`JiVAQ)d$Rx}lpWRc@*PxLA-Q#x)uOf8g&}~UK3u%<<)@P)TA_PTM>=tTESN{u#q5_tyL1ya#0_Id;R0*}jL42JuvFCoEN z%|BC4E)=Nybu47-OL$KAf~yKsx)n?WwE)=Q0tTu!ov4c1ijpLZe2*{a)p;!ZpMTq} z{?WeD;*t*>WY;p_yh7^(@a>m{bb;I4#qP5v_4Wr3St?>7NqbP3}R<#u6Au z$vzp=wzK>z;N^3L;vKx$@G3CoDa8vBu=_Y!=Al(mmN#j>PAK`E~RYm@fj5#(dv#QJUbITBx*PM z;e54$lpjFo0)f)%9#vK+JtI1VUCc}NP{%}DE5cHtbl40bG?8b{Xq^-@YK!P5jmPjY zRkxzmiAiXpW56GD-rld%n&JE=fdaIL!q-rHyKVBh8E_SLoqAuvrJL8UOJWpQT+zU_ zddV4|U>p?J+e^taM1Q4#@bLUmwfuph_@!~|_JUVyyJ_#?Ev8(d1N%g1LaJbXdP9Cm ze6Ruc336od%F6Y-fWU{S<*1ZkdnEK1`KL?hT_f~0>~?`~vXv(R7vIOp-aiBC0cLhz zqL=OGl1~1}7%C<|`i0ro^P;h!mTvoL%Tl0e*Na_wHWgU!m2p@8p2GvC+B!{*?^ygK zF=1j$X0CA?br|}kFFz+(LKXssj?DO+cND0S2HI_sh1a{(>z9n^)su9)&gUoZ!t4W7 zh!WxBu`4=4Y_RMEUF94&e|G}i@_0cQnp}iqtTb0J{*`T)=Vxd0kYs$hnH=S zd$%IOA9&2$J2$p)IifEPxwul#7v7{l$p26*P`OW}?Q>n!T)ETle5u&_hsn8tEjO(|FXL~oJ(iP=xU%eH;VqbC5> z3mM)qV3TMN+uiYMD??0w8R@-48|7Pg&*nk5XQ^wEF3KFYw%JIlz#oGvLxg@71rcRv z+nZDo{=AuP;C2f>F`yYv_@YA`mh5Ir(&Uj@@SQQ2g{LoD(eto$Z=QAtI6Nj}{6ko* z8?#wu2QeUwk1?1GBpBk&zx z^Ai?VyqGHevO{WR#HsXSe0!~u=GLF9NXagT9$kD|E6AeSdQBJx&6SGBGq<@{OfR79 z^F+)VvAnZKqG`BYq_5C0{yc|gPn|kxyIW~E*dh`$#{3@wlWewke*Wdi_`1~xcC8J( zgTY8Rr2e~Z{6=M|qpC@kU zb(aaBf~;VYTWIw|;$?DK>c`p%KWuNLWV}qvSthNzScSUOMSLlX#h$SKT6dfI%)MXY zgFJG^Z`njzcwS3j*{=RyUJ^43P2L<|Qtn>*$Z zu2&@(?eG8-*!c`?y#zaAtkRZhd^(wSz9ulzm(HZF(Q0~|c@Hy@@T1cn{7hugTGgrW z?Q&}J4OCiPl81RLrahx2^?kShEA3tklQYMWN|FSz3X&K;7}~@qnf?~ z8!}6toZg|rduWi^fRP+t@Z+LroI|tV4xcMwH^c7C%n@|#SN-L#1y0$_U{(OtU0_=DmRR>7O*-%T4gN1x0A~Z7jIj10dBu?hzBv6+7361O`)!}#m(7=Ycb#@ zehy-2_*f|{FG(Tc*Z{$!^sgU0Ni55p6%6vrbX9yvG`}?qDNTpGTKO2X8AY<7iEGTH zO}%w;uExbwOBH{Yfp6P^jD^Y{tP5Nj`X!lfL>4q>3gID1IY5oqVDr71s3G>t}Q z0`eR@_ds3d>IQcKW^9GWVkP>orZMKF`6yINigiImPmyA=m$@IQ9-M;0EpLGtzv7t) z!m5bGd*n&gVFK%eU2h|x)!Yi>8^x)Q!_~5QQiqrsrrwhM*e9EIUWgUK2+St?@+T@k z1*yMLFsW>+f@u@-kL73E7n;~Y?1iMyft%s3*1P84oo*X-8grv*C-yilV;^Mtj9xvG zx;S!55;~t25p@qDFA58MzhwPh4KPb#LCVIFkUqN6d;SjI8|{g`-ek5*tN9Hds%J(K zgO7XZQWN$Wn|)8OT8k~^L@$uuk%{>yx>qUdWDNFbPqr`p{A(ltL9TKdXV^ew2ADt9 zzF9`ET4^?=`^C~mGv8kBKsi2XB;mG=a&4Y?E=rJoTKzFwD2Q~x&()%Tw)5eWXWmbR zE6rcNW8;ErVF4ZT;&ij@-$tjFm_{TmHLR}RL*;D*2UK-qjD5t$EB$M|G3+fnni}kG zMQ=NcpW--cIDg7DKh^P5lb0ts{Q!E#71vkAvKB3e6rM9P3{wruZA%hyP?|R}_x#4k z9TD7Up#VmNvAC%e zQ*ZN^%vzKp-jGX6jC9PkPtsPQ_`fKwqjnZzCa^-%V{*u86c9vHb@?&j%4-QvjQM1^ zLUmh}^0%MDGtXrcy?7j=i~7_ZcGh&=f(w&%-C4-q6jzmRd>o=n_DsN&em5~#+)lR8 z%uX6O0-{WxX34M>A!*~ILXoS$U6g%4X0(68iAD{?>ko} zPx_9e*Ha}*KQ+<*BDG~cx@hvdt#-hNR)XOJMHQz2ZPW+~LZ z)01N|lA@IEcG0y?Lz-(!PfKX7egQ90&!nMp7fGg?1D`r&)8Jm%JF(dt<03&h?hlRAYucKde7XT3&&kv15%v%Ze7N@(+ zr-L1s@XEz24dz*w8%h@#2W>^TDadaZvpUJ{P-x3Gv>}McA-u^NBM?54AL1Pd}x< zmxs~v>%><~{RE=FTE14E9#MQS#MIw6)8=Vj1!ajGke>FKEPQ6w|85{D{W1TE8@;RE zfj)L$AlgzJf;Z&y7umq1#D%oh%8>CQ$wlfakogpC6D9C-;rAAu1$`8c;ers8={S^4 zTis-L^lKk15=55ovzlZIbEuRj5y4su5^((cm|CT4%%?yAG(FP;M@nURIfbyF4xHG! zQ+~A@Gt;T^V{rYd&Fe2$MDcwP?&!F(T8L7e$0S4Lgl(_jJ2h|y5GUkRcn;(CR^Igab3^B-OcA+#=7tD=%JPG4MHU#@@8{C zdT!gpc0eAp<6t3W%1(PTA1dYj6L%!h33FZ{F0`H6ZV3C zF$73}T^ca`C?Iw}jqgaZ%CWaocwBjIOcV6++Yi6o{GkkEt;_;e164DfBT$AXM$OX* zB0L-fZ}{{D?*b4hCt*NWPtQX-bAe9|1(jPl$;u3}Ci8+(QMVUF&%Ap0qClbioOCv8 z(NmZLTr<+=JcCtJbe;+3b#cj(6P3*rA%HM&n&u!}hv|M->_Hi?C{SPm@Wz61 zbs~+WY@kJRZh}QnQ3f8^(do%XC$t}S>IoGQ-x7ZP6~XSs|I0eU^q_j+L8KCf3#_a* z{aRb0-0^GFj1|f|%8uYGwa@_Ur^kPXjgY@NjXa86zdex?{iPyJKjV^oB52_}BtVLu zrBz9!7vP#tOHI^0H?1}nX6}g7{WXfW*(W-irEkX<6uC3DwZOU1fMZF6-o&dKZ2u8` zdG$azZ&_f@X2yFZMvX_mfIc!M59o9Cw#pW*5{+nVqDv5MzK@_Pj0WL-MJ_ZT3Nm3n zSTHoN6!o?$I%ol-nIqd; zy1c6XUn;2%l29@z#?``{L}OexE2@lVmTm-5z%5@Df+TDZmEe7ZW9gxeIu{Jk|YKPPZWxVHdx>intiS{U#|RtHo*|gq^ogOyV|7y z6*3|5@aN$i+1@y0qW|Ph!5pLe@OtVgFUQMrr8aqS;S~^jMlL+X6WQ;G|*%Vnyjf~wbA zvMQUwt4M-sba4!On2@|O8ReAdRW7GO#e7fgxk9f+Qn~pP!?ReyHH-B#`@(MPo+Y z4q=5}X0S_cTuHI$$z?}xL^95^$)1s<_w35BJiH5Hw5c^V@MY2#M_0&Agmi+pKee#U zO^DL=UPv#UswXyo8hfL0+85WDDGYPQ<`gzMo++M80kF#C8^FT0U6^XlTj6KbpM(8aw^k%;=trZ>_--T$BT8fAM z5qcY&*`m2kGaKg~+&rDZf!loq-GdKXaNIl=e?sr_(0k5*A!DL{VFYzlwj}sW=zSjg zcjyBdB95p!7hk(CsH%-Qne60}(1-eHGxU*jPp2DVhUf;;d}h1oD4$Pw=+n?=Qsp`q z(1}0>I~N|w_r;(~J462seZfOthQ3l$jlIh|W#UmaO@$XCIKh+c&^Mv2X6RcK#%+iK zx4~wJm=1@3C9#i5(!})WnnJu@@j=wK&TYdE$doyf8fu#QlC7ddV&QC)+m;>44^50+jf;b6wPdV7=uH%|1ujd^?mYW zF*bvE9#66TNb2d7LZf>>ubM01GR&FZFX_$+B1*|N_*n5Oj+|hmdLyn??zya{C~=kxuT2Bat+JJU(n1;PTIP@uv_38FR3oLrT# zjGg6nuf0kNks`U+y)D=XLiQRPB^}$uP9ivoY@!VlC_ES|l8i>u(I)B7aQir$UO!&6 za7O!nI1FelNTFg*w%HQZJnDP#Gak*<~MD{v?zhoQmHJR+Ul7T%XX!r8QZ?vzSgv_ zLGv<~aXh&ywKCSwDzIb3NT*`}UT0rV%_9dA1C)Z468TJ&s6;HYOKU2%vbSg3b5Fj6 zbobbI3zS)IJ8f-YD9xX=VdI}XC}>|*ZeL91;mzE>$i5f>Hz7d5ZsYcU^dM;nD*TacHDMUR8&sn`}(^JrH^M&aCB1iX%*9bbHmP=VOXtm zag;qLMy68+b^;VK0QfOfLI8sJRS70o!VQ5f+!EmEYETMg!W{(V!mUvLN~jVpHWv|p zC=5fa!v(Aw{Ubd7k?7xl!Q&r={vAF3(fB`%RMGd&Fh;n$z^=mG4aN$$25N;{2jfJ3 z^`7+O(Z9RL-+;MIfIVFQMD*|J^K0~+r1;)Px%(=2KjrSP+)2uvEZj;s01iagf+>Oz z7EBdxB^)I9QwfcVPt%m!q}=JyEZiB2uLmpmOlWcGnuY&otNdDjl{-hdbCo+!x$~8K zh;kPww@tYVmAgo}im3xMAf279B%72;iU#{Bi70O*F!U3-I$lq0%&(*$mQVG}O`LFe~ zv+K}*eV+e@JpYY({+r-t*Z))W-;(EFpXa|d&wpE<|7UrB_Jx(E zi+Tl9kn|f#(y({1hZqb{wyJIu{I0G-|K|pHu1?OuR~z8# zI>qk|@U8pFz(vcn+^3QI4CX$qx-HCJipAN)_y#t}=d1Afs(ij7KHsn$!s^`T$hyI7 z)CM*>2iYn2IVShHYwmL_7L(Nq+~rY$dK`MjFWtl%HnItW*n1DjS?zkyA!8)9r=GwOx}Hn5p>LxLOFtnpQ>wTjK%$mUN9RfnE{lIqY# zws;-vgaL;a3$Uu#k&{9)*-;c~SKAb7dy^FgV6x?t?D{Ge-OM_%6D_GO*~}6QCh=;% znW1sA4tB1q=2dL{nQL*18&%c!C-{kp^FX=}F`q)YO3Hd%#vA-bCSIYAZdA53!Y79Y|?gIq~ zWGZZ0hx-~IfhIc<4kX`HUxY>iH8~NQ$#<|XLJNUrI}zrPZ=Ns0 zAp~l3A}k``5?_R+1Uk%#a0L0Tn{&$hX25Ax@x`PK0jqrF;>NAyCGDiO@^F z)xHR833Qwj;RN!XiRQu1Byi?EJB zS2+=`A>Vbr2saSuCLidh1X}N;xs7~3cYJq{?=D~TdkA!&543?mn|z?n1lpn`@!|C_ zOz0Qw7mj|x9`UVv2=dF#+OKebq;x;K+PEIZZPA`wTBZGFllEIw&f2q8+Vl8}>YYAc z#NUnDOOs00L(R70{n3fHMSE@OChhf&+FvH|x-HrpORGz&`6lfxW25#?dG$u^UmLX# zHfSHMhoO^7tF0>SKt#qx#rMW!0FVc2aqD zX?6KVz5Y?XVNykP#S^e!by;=A{rVmo^*zbmm!eI&9?Hpc0C}cf2cbIpXp~8tm#l{& z0x)w@B_^)isJBvL%xWHggDbb5UtPLUU$9wUjQtMMFw&)=VNw|;!>q6u+o&&f6a1a( ztCR|S1hOPoU-eabyX?nG2~Pc3*?R5m>ar?5vRUsy_#paTA-~JF=<%iFs>|xp`qNip z*#<40grp^ZP9~nV0Dnqe8VkQiw*%Nn8ZjROV}5-Cx+m$ce;!7E_dKKQj1an4O@8mB z+t9sj_VM*kp}Q%v$4jfw{dKCroQ&>^#~*XZHR%5Rq~i`c1Ks~rV?7+RQO{h-%GR^D z$hVq&@b~rXW%8{RVHNAyQ{+2Ngq^vbJxIP2MA!xE+3n;zNrbhoXV;SN6cILTJ-dK> zr-`uSdUh)L&JezTKd)z5@|`JSj$6+<$#=F0`*uA$wC;X*wHi5d?$U8})#deATh+_;P>nIvG673BJ-Fe6J|N#986>PS>K3sFTAz4AX8@guAzv_{Luu*>)CBNKlAS9U7 zKv5hJ|D)o6a~(`ml~Pe(U9Ku+QWX;PC#1Ma5PLuTrMhB^{uq@4A&<*~JS7>hv%`Sj z5(6qd3{a}7TvEUFXd)8HCctUZ>=VuWS*MwA(VtsNns1Z-{099G=zV!<{WzJ|s~hy! z5b(MR|LX=Fhd}xp%KO#^{U7LkM|t1fpudOS_m%g5gAF?I_f=O7m8}QVYf24$MC#<1 z`p4^FOm*p_`o|mfPh>6VpDX{D%Kr_e5i07}s9LwyZ8S9ePqvg{dAlFOCJ^_5$_P~M z162}eun#npK*N2Y5d_-72ino$oDo)>6N3w5XBu3T)}g*Nb{P^_2PRTC_8tgnBehN~ zZq#ajtM%dfNTXJ-HP@KO8MWq@)(~sBG0qxi%?^z-YOU5#4Y{GI{L|7(qn3YGI*8oT zSISz-T8;5I>c#Q1(aEY&%l#aEyWq%nR~!TH21B40!eYj891hUyab&zFw8CDn1m?iu za0RS@DKW&JlqJUYD3|?z{7BVMc@&*DVTyggO|eQ;0Aa+_!2x9`~+S% zhr_?j1Ka)$j-HRCq}{7hcvb zg;%tj;8pD&_@nj<_>=Z5yr#Vdf7afG*R{{!FWT4eSKWp;^a^-W9}aKnqu?KUExe~6 z0PpMb;NSXk_(1Q4|LAAIhx%3Uk$xwC{8!%sAL~!SC;Ch9nf?ZRuKx$VFf{nmD2K0% zQSh}<2j3V6!nejW*lIMPJDY)VC}T#9X~r6+8|N~^SjPg!Ei8xzm1#W5=xJ-)_&X~x zK43h+SZQD|D+}z*1_kzJ<$)$v5m?MB15s8LSj`3p&R|0VSFoXhTiCF`W;Q&3@Fc4a z{E3YS{F99ge8qMMhS;d!4s6F@9UC1ykcES@*-pVD+0MZP8xuTi)dZhowZS)7UGPIzZ|ZEkIh5^g?!p?(iEM(|%=R!3#adm-_B7Y9z04EX-sahC zAM<>+ulW-;*<8n_m^ZMg<`e9HAoDk@(foilnP0MIE68S8HaplFgpyE+{voWz8o_2+ zyRq5UI5yAPo6WZlV24;U*aB-dN=hqRWc9E^tyOHPbv|2WUCIu#ZeWL7x3D9uyV;S} z)2!Y4J&RbcvgOumtiyVfMXi5h+|SsGP$laM?TBs-J32I;tqkqY5}_%7tUEN7Wka*r zs!$tS6I#sHhL*EqLrHdA=md7WeJVTAzLuS2-@s0>A7-c8kFwM4KeIFJzp^v!uh?1k zx9psf5$xQOQS7{u{n_~?2e1oD4rLdX9L6p#SqvVmP$@&LQK zz}s?_e8o7`}_8|Y1ZQ-A>drBF5q|{=+C>_Lp zSvr_KRvKoHmo~6pmmb8PES<-GQ+g!(ZD}`qw)A-ReCay&Lg@{E?8VaC*&j;pVK0|H z#9k@=CBlEpUN3!){jKyx_GalT?4PCYv3EH>4sZe2my$QB)5OAmrRbpof?6R6gF;E|x5jkB7dk?lTU? z6oYsSerC+X6y6BE!o2jcme8VCrK4w!*9rhEZAZiNv8rLc4>S_*^u zkE?h*W&m+b{Ua57&~{)xXMhxsFZ~)u2>C+OLoINy5vY)8;o!77hJ$=zeHshNrY47x zb<4yyeyn*94!xknqev~;MmFk1t>CC3K zqUWG0W9c|y9NvQ@%|Xj6Yt$l9kBb$L!ARm)5MW;eN4uwreG9|cRv3j8@2oKxt7%ZL z>9D6}z$7gI2Wdf=p_woT?W4t-4eeS9bZH!aj?qe?S1UtHu3W6743$Mz+PW9pK4}a_ z8UQse8bVpBUj!V+4pZwj4d~KRO8^V~*6r>ZjnMI0mB7kn1cg;IcGJ{ikG2A#I6`OT z`onC=9DT|b`PMl<+$3)L@=vwHWh;F%! zAE#gNB@~roz<9}MoYQ;tAkH&J%zmIU}a4c11RHMF_}Y^e;!Td z80UK?bJjyWjQfu~_3Z5Y=iSq18cF z8wV$7^>Dg29?rvF@)B(VT%%2d+qAvlZf$S44{& z{oN(opZ0+ERjyIqGtR9djvfC9<38awxK*?>Ek|liXm&KiFdTS{)Mi4B)&dRMEUcp0 zaG*9vurVx_Bc~`fjzp7UgRv25oZxGAC7>@ejr$gghPM;Ft*R8%9mrFELhwRP{2oAg z8b_0u#)BTg8@JJTsJ!Mz;8aHR{9=iK?0N(2?gZ^h>BnK}IqRVWhpUfa@+I{fjmOJt zZrJ+Ydc@S~Cazn0KfGuhMJu28i~rB{TnY2geSRI-IAHztdT2!Fsr4{vj^x;H>*eeK zdNv!+GWGF$220Anl&n>M5nrr#SsRAS;Y#Br;r_~H?Q&X;*5*T4YeR`&1QT&gH(gtX zdhIZnuN@ADq8rhUgih@!NNF9gR*S+JS`2=SW4;Se+gz-5!R6XoxJo+~Zq<&1d$i+W zi*^G1N;?rA*G_`xwNpgZ>?Kx(UvO8HU!Z3Qg%++hUN!zG_7CiTYW&G~O=vq=U7Dz_ zVPH-C8b+DgljfIDT0g@yUg}ah^UucXs_G6`Rd;UPIHNqe(fA87SJ#b=#v3So;W^`~ zjJG8##tDXvQ{4InxrJf>RCC_iM;ndzRQ!Jzi~luEM2l$uQPDmu7VRsHb`KI{K@|)| zUhfG_FazBVI2yWtUEVLI-A~%-U}dQbm2O3^vU*HBH+=Bk>0vUvW+cIN+c%>Q=G{|?OmuItXby5=msB%3188URJImoo+D7Ow44Kx?e+w7!_lG%TcG%?AudAj8QjiJ#>h1EzCd` z?xc_np%NQZ;=nLZiKW^bHOWxXswqz-WTX>;TG`C?&WpynuHf&IIpLyd-xp}Ty3F~321SK^@J-S9_@~aVCm(5KI-}mO&B$=Y*Y)b z_6%45x@!_?b0y<y^uuwUD&q1}derPfqL*2zK6T2@-Cz^_%}*J>3}tEkdiZM|ASjuW<bglKL~&|05=UYq4$cj=u4k=q(#Fkb1NCL0cE2ZW^QBdCG!l8>GFp z(92Vzd$yl*5zO-p$qsJC9#Ivy^PXCeMwJeM)jM)ox(+7zU=*pqK-vQB>z0s0FM>L> z0GiT5D5R~R9c>LAX%Y0HZD2TU3u91e)t4iKLHY(1m1cw%6uetpp_0SG_m#D#)-2%&y=Dz`1lz%f7*J@cD|1~{*If&S z<64kr2KiOVe00Q;5%5-jy%P8pmpd;itk8~F`eIdjjGK;A>9L{6v7&ffwD@?nRti!S zpPOdmMJLvY3-ar0*&`KgI_}{US3sOfy~rm9`Hh&mcqNRimBMenQ7&Bx12J{0P6f0% z#Hae^kgqN!7gclb-R4x=!KZ5}(mA{k*3yHT*w7Ux$bJIRs(M@MlSB_a`6L!ki_%) z`k>#}(Gk`W8XKe!xtfecE;o!MBb5a_Zr=yZklVX~L3=_1?FH58C6G&dLwni>I?+pE z0KE)G(0(X(`ok=LdL`UL2g3by5Uixdu!atXy>uwNPKTk$84e%P5paTD1wYY|1n4MY z)6pc3jzMuVmSoX!C~n4+=JYz!g-#@W=#8Y9-bAjZlgW5`GnqoClI8R^@(BG0*-WRC zGCG62K!=gn=UD*&B9o5^t zv?k(`YuEC%o<6LmdS6t&)!JRab5S!~?-tk)Vq?#LE~W*d1fB~d^Cw+-U`gi5QB=bt23uMb~4|rE6Jsgf?x$PsWB@cJvYr%vOxwyq69@m3AD&{WRO3N zdT>bR&5oM*v7w0{t0(>)f~1N>dJ;=!g{P+0h6QTF5kgH*>rT0;+#91?^4U^_9OlrqFrTi2MRYwX15dycv;-A`C*di&31{bKc!fR%Z_uaV5Pb&T zr(57S-3njQQuvi_hu`Q9Lg-FXlRir7)7>P0k3LU&(-+8<^u-8;cc3?;l1W#-O|M`L zNHZS9lmV?t7B9nDL7^?l;M=vr+nJ>D9s0%ARd9;$#A^Z#+Nac6^Ei*D!CF0MB+Q2; z{5h;^!y>qk?^Z8H;7f1L#Oj&SA4EA?=&obT<7L!t)qLsZy+sLMbti*ThciZ~sZb7o z4JxS#**r1iUczbRddbY(JY`BnMc>nxK+u;XY*N#=-A&I|f{pPcPoKF22W+Z{EJS(> z%L`d?Tih8D@R+wjz+V8F&!|NrH;p0h<~gEfkUt-Am(>bBD3>8yRAAlueZyS0C*&66 zFS$$?h|q7w!nHoH6{x9AUxgU@8l=*H*CC6(fy(9qR5lNy#D5cc?Jej>--e;|9T-aw zqki))ETkW3GFlof2h)L` zg-%+&H3I6oG+mP<8)_qACqxS-RHwPtuB6&GfrvdHjo4AJ=tmK1nDo0U)uF6^x~o!m zTHz^mx2S&Di_s6OmWKCI5Ng{qVp4YT{l&^E>RiTOE8@5a@8SnS7Y-@C%-F&5J=l#M z6}2W@xlvaL@;4psh!6(^`C(6ma(I4_zwhuskbkJ&k+8gwvg^Jv(SC|u{G;MBeyqqU zfqchI=AU@NQl&rhTnLV}i+^5!>`2Eh<0pdrL4Mk?g8XbzT!~TS#JLel{Bsqr zALQpyVT%n4D5{oUl%NC4;)4Q3*iBwq1#y-ZCFVNuj#9Wf28Ad}a+3CcLuaMBs#WAB?m<+@_UL(r>%h4T=yb>T1Bhsdt`u<=p@nn+@NrZ5=uxn9Ss(K z^fB+zd;k9*4IlcC&Qy_YuRHO{B1^}tCFYjWqpI23>c+F`MqTfQdLrJauWme~ZZy(2 zhUa1`+`U96aX(tm5#7Uo4*T6p^1FAXN@Mr>=DHX8(vNF(Q06brQoIWvy{h%sCH|iC)z6CQ+znM*^6srLD3$IicV^ObSa3q(mzBuC(#v& z>Q;{eL2mI1SJ#19g>8`R^B>QK1#k& ztq;gme+TNnL-gO_`tL~n_iFujEHcowNJodO$sZIqINW7}Ns0{np`I`7#m%Z)SmoBp zI8O4US{xLmrm0|m!TpdMt}s2KLb8}yA^fu?+EU{7eUN{?;&-W$$9Wz;RY%>rN5^K1 zg)2!*^}9%s`VJ?-MUE6|Yib|Ujf7UheH`f*7Hj)lv6iS{Q4&hOt2$J%%Atx?4uyO- z$wf&nsP{Ta8dTNDTphIOl74ClJc8DuE_1(%N5wKFFi-1$dfp(HR2bw^&ubd1izfW0 z-`NzOuY9?XLXU#%`gCJ?3ZKt~`tS&^G!U zeL+0V$MeO1d?^dy%DIhiXE|&ff0e%>*6H6fEJyScGsWysG^Q~V9>dl7GhCgILmK@Y z9Qp+`q$g3){R-OAuTkmv2Kvx%QR(;|mD?X-JpBnK(*M8=`U{$zzrterUsy^{!D{*& zY@(-OH|F=#GpN*_g}3QBI70t`&vEIdjF4nzkQ_#TNmIs1Au5GM%p%>HBm>}e8R%rZ-wK9&e*2cH2$T-E?8fRI1Dp?1b$U4%RtP^d>y3nSq z8*Rn9)2^&1?ag}80nDJo*`@Rv){jnS{pnnGIi1f2&~2=kKF0>rJ!}YllMSVBu@Urr zHi~}6#?WurSk{1zW4UZR3$SZhQ`V0au?ehy1DnLUvdOF$yM~Hz9c&@{m@Q%_*}XiGE#)=XgS<9d#tYbT z-iLBQ$MKBUGtZbd+8i zQ1JvBsvH`M&%IPTaZvnIy9e$ObHoOJ?a^N>riqQ>Nw8owWb#k7fwKt``El*he_ON` zo6r!Fa6~i}n?V^ppNod#DNMzX93xLWEuMi`($uJ@>&BBpBU9I{Mv9Dd@vL$Nk^wMW zY!O=_k&J@NM5)*YN#tf|B7&j}jk7oL?sl;Q?|$sx{ULPMm<~O~PP~?A+>0ZBQP+~F z^zJ6o=}_wSfX;=@ZV%{uc*5-geGX}`3rC)SromNSY7bNs&xzew_kAc9&*Rt<*<8|1 zydYjgAAJ7m}2js7-@- zeh~6lbFm*{`8lZV8iQi4zS|dnQ}}H0s&cvL7(S)tyOe(oDeuy@d5E^+b%=4FFW$iV zXmZfbQ0Sb6IFrA17Fz1?uR`^fgn!iN4`@bAD8v6Jqva?eUfUyuu7ibO1^qTf74?dR z0BP(pP?mk^Qu~hnx+th3#)Utu$AxtN zEHpL6p|en6irGySbrP%Wpg4qOBc3zf3xm9nI;xZ!-DK@XtES$m{qGNqt(pdI9c>bq zL(&Bhf|z36L=_BFFJ_{D+p`Pi69pW&7z9ldr z5K>C|s5r5FZG;uONwmS(P3i?hP`t0h-N=2!u|z+1?(`iXYazLDCq~W z4`3ww5UyuO;1>1~OvSRZ*(VV(8gqQF!5l5|RgA_+9l52>qUkAqW{;!XDS*!6KX{F6 zXGSkz%DJjvt@5`*7I%Wl6UnGUsL{gXp z!@6Y9)v1|!Y2(Fz7qDdUi|ZUv=EP2>-b=WJcSgG?+Bzax{MRjPI;N(!%)^BEEl=G# z<9b!aIh8ZP&6!3C}$B1eFKx&w}{ktFq8cN3)zpblKlj$*nePu9s3oY#QLS|6l`a|!7J?d zi1RY``AF{bkzDE_8GxCliK~$EfsYiwDkNbr^fE2IvQL75IEB9^Z1y0-=aR_(#9_gbzSp8HqEz1krL@KrxVe6Cc zftHb^gK$9@l1RH0+pxp_gey84r@{$z&7Qaf^gEY%>%A4|FtN4y$vo&YvaL}eoh zl6f-J=BW|!h}nMMv%S72SLmk+Mt`?gW-aVhv>S4j*S}VXMpgxEvRrIXNy$T4>bPD$ zvtGXEgZs|KBrL14ltYy}NcwaneFkLkn$QS;oAE3tX{Q@i(doL_>3Z1d`q=3P*y;M%=|(1y2%?z{tB$~(dU-Wi7QZZMK}hcUbd+{Al@BSB!Y zPl?GMC2B!uvyGnO%^}BZt8Jz3kZQJ2!VSh$m_&7e{Q(2~eHmH={(07q_X+p}jzPVD zUf8O33sj(7Qbo$mKr*#+DHrfGf&fw}5ZG>Zz+WU(SCke#uv9OPm`FTTE*3S1WV3hB z?2GsMd5a<@FZW);cVT#mAI0QBHjLVrFG2J>Qn7|n;k1U?j|@nJBV4~IL^Kw7}Bf(Q6Wc$klY zHE5Ks=VM_DA0M%_ZS}#~>a*!QbFe3WCz!gzC?pF0Rm=!y~s_2I_3cVK4yId z!0H29Ts>UCG>0Q*g_U8}TlDd@6Q-D+w9X3z%^|4X?e3FbT*N{r7{F`zkC(lFI!K*7 z(Bhp1oeJ=`)5m{2^)3Eh+HC$hH9v=4a4KI7Qd6U;`72U!bodBXtA}&Ett}VzM)gf(5GI1aCiJ!=!)R$ zty9(1f7#i;T_sLDbc`lAo*1EXn4zWo&rwyq)ItfHHVeA9c|k?#+6y2x+gp zp{D0J#j^WMSPq@}3KXU* zaUMSm*YZbT3SR|xV}3Dz43_cL@FZUYyZGbqDqjm9VE#CFgRF3l$3o!c za5+ddciB+WywCj$gs8tz;1np0lt%+Xuyc;{9&%`tD*LaV^hb!4UbCU%pt(w0GU|m%U9?A(Eu)0A za$}1C3R=25Uy0j))$V2_&zkr!@C*{jLKQDltaJU!xC+H0Bpbov%Gb6T()d%5&Yy-X z{tUF`Tc9i7itAe`jN;pHZQBadd0B)Ao#~6vndVweehY3j*O}`nE ze-wqTXcqkwCkTZhP~F^MZp2=Uf&}wPB}_wmO5IZCCT}`_HCCE+ru%wZQFyVo(X+}C zY2jbP(>W8xDp0{C(qm7-30{(j)(nTQ7}jP^qzq6~=b(<`BYn-r-7!^l7D z1tNrA7Ue5{lpj$`11_)(VO5<@(kW~d5$CRWH@E6L$!^lWHA?T=*=}ybX5E)?p7<;> zv1fmvajH7f+6{_q6c)58b8iY&Gl0!Al*y#hX>5PS_4=O-OQJi znd`HEuWk+5*9|%E4pN+j4#=P=O|twgYVQ9P*D3=y{Vepugj9Y#5miDLNJF-M*?h$p zD*LohAs(Z3-DU1aq4JtidbLln{!jkk9RByWM|@{-NBJkLw2ieuIW&ewh@v-wVBD02hI@qH^UDSkn9;#Y{{|AkC{ z{B6L0Lz19k$Inz^^Vm?+Jj|Nuph?&3K|G~^DYrS9Tupf`h&npdb6GIcA3)F>KpPyu zw$K35w!rf^fOkVD{X~x8%kUW9j~qh|Bj!<`H$RHr@k@n&Vy=iCzd}~Brbp!=mqajp0f^BNF}qB;QLgQDN@?0tH)j9xnhq89KOr^Tx}XQPv`}bdF0%!UKKN! zo+rIcw%(el0>Hd?v97yE#DgUgAXy|rmPmqZkqmuA3Jk;aSdj+Ti|TNjNRP081*iLy zWx5XJQ?1@?eyvx-EHpB{(VnzE-fGCJC}@RiB?xud4q9>HORBDw5VVrRmvrT{pyh-wNp-1a z(5e-_WUEVcf>!R#1VfLbMHXgIB{H(VDOr@+g750-Q zIMR#G=Ou>PkVlwL41@3pVi?2=tqsN1lJ6bck4@wyTxt!KD}Kz)I4U#5%cQH! zFfU`SfPF~#)8T1+nx|QRep-0Z|0<3B^wU;af}c(hY4PC<_A#8X(o(`1nU)sL*r_!_ z@SjeINp-@R*wplJCQgIqR||)bm|8AaBUBV1%7rvkmI-iLNQ*+EmSjN>6bxCwMQs$f z*^nygKwVK6nuvPPPSl4>MFSWk8p2f32o{JOcvR%Vvmy^(7Wwdhz6ij-MPv9?G$Bkh zCGnyeaYS=cSF|7j(ULS37m>E2fbj1aBKb)qeqAli{zL2cF~>e6+OrSaWQ#E^dujMUgVg#gnT1Qw!wYkno3!nL&Ac8rqek zz)#c?+5FLeG(TsAdH?Ak>d?U|v9Yn`Q0DDia0`0k8_d(@@18-?52=ESI7#`lD!(7l z2ya;e%v0*s3TXti_Fw2)8y{hrnkcPu{D^8J#}!;?9Mr>H{qT+Y+z-F4@0C%TZM;nb zJmNfRwdhX4Vu5hwK)7-sBwsP5mHLTfPvx{9ed1E)cMaT_kv z|A28~I!qQbVTPCm3&rhlpO_6R#T-~K=EBqB4%jK~#F=>)ye;mA!{Q$JRLp~uVj+Ad z7Qq>RaWA3bew?LC!rlmy;`@kFtQ%Za2U8QYwNV#-(hECI`=2J4 zqhie~SQDgBb60g6467lT?)jn~^&Iaz@=&dRMmlds8nZl?hx#D*Jcc+n3*+3ZVmy9w zAc8IWlmKcL#zo=M7x}Dkk;@9nD!z|FfmjV)#2V->9*2HnEesKV z>);x(9wvz=U^-e)v&279LT`X2ViPPAn_;bZ3O1q|TPn6hsB}Agm2QW1i^e+z*6W}s z^>TEKb*ql!zXtNHDO$N(1}PD{m>Pnx&OtjJEim~kw9<&BhS7DgN|C^i=YUNnn7LApEs2Zy>#A-WYwG*-0g;?!Ite!`#UO=o~M6C88 zR(lbvmk_I$5vx}at9^*oe#Gik#OgJ~>HuPO5V1OhSiOZlL{rdNX13?HkRe+MhW z3j8HjRuop9!qo3nHCElirMvl9b-OUEW>t>W>}ag4svHAe9I)YdoMXWx5My!q@ zR-YhNpCVSDAy&r`tIrXuFA%E}h}FLlt1l6&lZe$%ND9FGEzE*QTz>BcPT@=T3*na@4>edY2PypNYB59 zZw?me6E5Ayhp$f+@bz?YT2K*xz7}Cuv9(A$4B2yP$DE~hyyitZjl;-RLu9SRKC*eR z9{%Ygs}Ic)rx4lS5ZT`$Nt}TUaSj@aKOhg4j{=iGN7Fz`=m6dKHWdwymGh{-SOpk0`j4~9a|t>v1K9#vO_ zsk*~@*Z|}S@{7k4i5^d7T?ags-y6T&CHKDe$aa(L5k(788XB7Rrp&Zel-r<0R?-QH z(y~`v*_&jQO(Ibd3ds+}|J?gtMgRNx`2EiNJkR+)<2>g%Qel)z2yA*EYBKkfCofZ*VH7LBM2;2PlaL+K}?8p8Ly7Y+HwR6#6Z{ z^10)?{2(`u&mOm_ayh$1>2_^<3oM6x++cAnIjwg04zuKV5pC@;HaiHU3S(V)8ORbO9>pCLzjYV%gC zVsQvlZyXREKgJiA#+FynUbN4upC<;u{nxW9v4_`cfcmF(V++ zV6MFT$7qVhk3uda^57Hdiev7Z8#PuqMM+k?Bd@J}_Aq6djH`9zexa08@+MQjV?kSk=$;m8NGqBz`*h79v=4dcS9c8dEjL}uJUovAo-k#w9KMTeD_rJ zaLlQU*3LL*6Pgn*^ol*D~LshQ{V!c)8ySXEY3TB_=eRuNs!gu2FYi(@UUW8Qt^_U z<^8v&=1&Q<1x8j(lun$oYRNpmKj+5^iLd&C8UZ@bFA7N9d{A*V@qUGonyLa`QGtpa zNE+H#b}BX{oP$LH%bpb3SW)9MY9#O@)1`zfQNzOiNE!SMo!zvdQpH4Z#k8R^oONcgt&sZI(S2ew@M@RoDNMC-h* z$tAP(Mpbd?3D#?kl(-V_`W&t{xTDh#Sjux&B13^GABC#7snBCIf~@N2OtcVV+z%a<;E-2~ZAP1+`D zWK1!V;!fP}*Wy$@vu{kl-ip%teB||6BOXl!L~~bxBFW|fFncCn-l#~bYTRM9`uZm; zli{ky7dKqiJ*P@m)n0aRUFBe!DcO}Pb}G4}u{9D4OitUToh9C)jrzp5TAm=jrxvy4 z62;R#l?c1);vADEopV})6EB!VT3OVsbawWx_ANPJAi{ki_I8f2qKf^d$hIKA#P!%X z`I|{BLJA-CY^u*E8`yfu_l7w5It9+`QXUfAV6=tX=y{`)sgmr$HI~=Zjuo+&lg!rc zDu&-me~@48nvv3;q1ZF|JZJNH_J%&88kp!NY9G*P2$)wqQ)GCH+Wcc{uXLhVAIsLw zcg)~dv+e6Rr4zuZ7=Aq_>(Je4Q|rhb#*zP>RBo){4jOsQ+rMHsz@=jVr}@S!Q#(lL zW$e?0&o#W#T1UBey1`#R9&_ow;aT&0U$+@~GFjSh9@|)E#$J|8zLT=QnmoxhNiAs&X4vDV!DahhmF}mtmZY|N>Ltne9s3w)h~Rt zQ|FVE#fFwW(ti(cHU0E0`b&(q-B$^CH?k(fs^240ID}g|;DPUXSCYZ!@zG!H@x~uNEeZp+k#`PYF&94O~67q$}{6psN2&c71H55*c7FsjCn2qtN4pf`{g_$_|snB zs!SQMwx1HVo7!MEMX)=EN#A%zeE8J7a2_kw^oxC)!P)&D*WDC3etB;n>A9VJ_?8^I zK!ow*HFxxO`I5VWOy#=-%*_03XI z2j}6HR&B$)cL4vYFAnpu`Hxh0$`A|?SF2`D0Gs!-$AKL zJnjFsJHJrm>^nmjy;~B#*CR|+*!S=k*y^kt3^;kz*Q4)8olX|-x2h!DZP9JgGQJz{ z#g2!SO>Ye^T6^E{z_hcrDbMZ0-k$4X9*t*~Uf`$FR6hSVdFf`%kio^Olbdczd|qdD z=<$=MZjpx-%%wuE?|W9^n(JcrbWl8K=PrY$;9QE*p5V>r%%={Y+c#x!?#b@=rgy|Y zZIrPzAKYdT`f=mV0j;6k4!gu&DSRddUK=`LHOce(O{On@vn)kMbYebUNB89kyyfhz`sAm)2HzL?#J=>$saE2!AFbtQR4M7hkKQ(1`5`Hn33}i zdG^6)tF`y}u7G?U^2BY`+D<*)ki+)7rb=k>YmG`l`&Oz3NfXrV-#aa|=f5Wpy&b$9 zcYMqmn7d)yw5!)ern_65Vl1!0S+m_=?f$Jxja{!AMU3(`2<3_uC}ey$>6vhSL^%k_Yov5B6@FyPsVE%RE zI@e2vk0-G^UwCiTAC$R$?DuXn)1naf*3`#Elh$hO8}w7C>E2QwlbiZIzLHHHqNNj) zPCH~y5<8BChh5{TuDTua?XhnCPM3SPg?8Q+S^Gp)c*koel_#rBIx8J^8-}M>YN^$m zto#^wz_d;_>}Dk;!r`J)m|XbHL%peY;@9Xuebbq-p$@EdQW$IuII=-(rTUlUreW_T z)d!EM1=NRReK`<8-P2aR;fLIzgsU0i-3niuj2*Bup>A7?Zm<9GqV~vvPph|o$`lo{ zNj_rVdQii*B10~Z5Po%M#`-+dY#RlKT|fQYDm1EBWbetg^*UnyGuy2ys3vIm#jwwe zo#O-Lyzhhzh2zqBV<{OMzbR}S*UgZTSmia=`yN?E8Jxos5@Psuwh`d$2Ob=wzyDMAWzt{}j7=hv{^ZznAZYVVRfu6$PbwKMUR^^jQV2 z%sHF@&IYaK=jqqD=$@NSWjmF1>O)%7314!J8s9d|r2&s&OM(O;V$@Rm^~T%sdO}8V zoAnKxvicA2&?27Q^Z3_#HdPM+JCpVKkBhpi?#c1q@%Po-awYTmvbB3QlD=k5dQVOV z$SEa_3AG12F)UH5T_btL9KY8{0NYub{*@*r4A9vjkQK!Fz)Ev?t zxAZ;jR1{z|?eXhLjSNvQUlh02VRiGJYn1IA$rb}mF=VZxn(cXwDOPO{CUaZGB<911 z%x>)Koi!e+tzDrbGhSL6c#*$*#4@zosAuqbTH6jQ-)`}nmg2shU!0ueQm-5F2$=^3 ze(^q6G}}EnweRLs)-AtL!?9dyPk>e5g$B0lMy?1L~rHikHee{Z?pza4P`$a~~kDOP{;qm`%t6^06IA7pizWD8aWS{xo%ax~A zaGd5j6RN2vae>!D?)Y`exWICiXWN!b^8T_l{C>Tz*R0%7DArQav@jM4p%k)EAMFTz zt@G2=S4GbUn`$A&RyB}r1m!-rRmcHaHxNCQ}i&D>PE- zN%xa-uWXHvNey9n*SlqD*A*&sQ+iZOdvrr@l!|=2eS)KP{N>h|$5MjVlt3@F7xej@ z=URV62-olLC-p|e3!7wVn<$ns&z5R`d|E8(+gZh4k71Wo`%$@BOVdL|?>VLvxYZ;T z60C!5ii~t0T_mgZyF8a}+gxZN_$KvoTdLWc-@+-g`u#=nzjHoo?w6RlBOQKhlDEy+ zY&!2tjiHf|srV;r&v5HT;%Ur}QYxjWN?r&5Q)@J4<@|&14bz?~H313=qEqkLJO3kw z=BSMb@s%~`Sz3sTd@OA@xT|OW67j6b@XLJbH64~GDE9f-jS=bYu+?3jMBo3syQw+W zwqX+0oCPIGKaUVks5RJyUoKC)^PtG!O$_*J=iwj|x7TH?+;4d)Vjvd?UfPU67{ zv6oxs>@Md%SBh2{=N-h*?so2rcdd9nvBmC}S@s62$JzEWe8V9{LTM5QM7{DhMeU5QdwFViLHj7bdtS}5bYJ8}7H;zV2v5wD9}dBJz;bwO=Aa{VP*S zt#y-r3FGHzjr+WbV*OJmR?qzeIwh*p>M8m2SMvH*(k$i#jqJVSHU*lMd^@r4!4>;) z#b1*1mwWoZm8UJcnTZ_edHT5c=;Iqo)kp40xb0G_%zj1Qc>SGg)$OX`^W%oK$J2Rt zMo^=-TD=H+wabJ3Let)+TH$g$Z%5}e(|;atZu2QT4&0Qww3Q#FU&+D zT{~`BN~Ct2Xv`DX(r1&{jY+KtnR%aOqDHvhPDRGd6eB)Z1~hHB{&w#>$F-%7FAbf1 z3{P|&!)3RbNx9V>iwm9IDPXU*^3E30)JKIg`5R*IlGhBZ|2>scQzHTYmHiXZ@T=`b zvY&urRZFh_)u+EYbYv!2yOKt{m;X-fymj8Y<%m??i4RI`9>Lbhj|TjLEcT667ydFF zY4a#jq*|Yy<<`n=6b_A^v5vVt`XI*C6gj)$K(=Mw-V*~l1-z!3+|S;8u=Ln_G9ucz z+@oW9NaW%BqmP)0czPsV{p<^|N1Wx0RC6(CO5dPbwq7KQn8M9XN9C z=jk^wPTl3~irZIpb(h8@XL{v0Pj+m`dzP)n-godL)mSfA>OqmZlE!~A|I}$(jXq5HTPo%zdiM^e8bXih> zC%Z>+JD2#U>+EIkBp-i)0~|Z55;7Ea{Y>O z!H?M1?3dj_?TK%)4m>P&a*D-k)_an`QFUmQiO4CaS>cXrG~BRg2xpQp2lM-@CK7b=BDFrnHT^5sh{>r`SRys zy>(8stA-=3-;*u37Q1h8%TtO!N|V{?K|D}3x|P+#@ogn_RL`@^@|9$s$jkcCy-z!} zszqn*PSGwcGj*C;Wj<2ae{446yXNO=TPpXu+T0G~LH*t|t+yL3N7A&|eK+EFzE9iU z<>GjrU3r!Luxs;9HHSE@R-+kLg>gSEae(EOODioD=*qIeIXhTCD_XC~f48g6m9s-E zt+)_=g~R9#Q>urGq9A8O$-qxszENQFmDNAD7977wS<}2B%}cob$|FPzxymjpct~^k!Jwmwn~v*_sJZxT3z2^OxxGDb%Ymwh0@3u6jb{wP z#&-866SpSc$nelkZ_T*$k%Q`$;k9B+8~%;I&l0|b zyy{}Rs&{sVa+!{NrqeJW#jsw_(*c_$99ug7 z=B>T9;d{7Sd#q}PiIcTI#k@5afuSjF~y(!s44cK@Ki_pOf2!y6CAHEY<3 z>UHP7Imw7Dw1;lWdF_TAl2uD^Wpv-G!9xh z8Ybp*&?a{aDX4T<3HQIz(4krj+g6+WRLeHdsX4Xhkel-~p7!Ebsu}B1oyRp@3d7;< za$d;3*^^!czkT+Gw~LI(jO_7jfA`)^=a>$Oqs!%Z`Yv7Js*Y`5B6H$Lez&A<3W~*T z+~5(>ntyZC9ChC=B3l4%e|UKq1~cKvg4wqVi{rzvv9V!Z!&4vzet^#~P98LVWg!C9 zdk79BiL$WMf@4@6<#CUEiKeufSF9&jGn(M?Fisg1MIijNj9FF-3QEi&u`1Ixi(w^1 za1Wt8pg#kjNMtz;zMAAaiKFYGmBeF%g&9q-{}YQc_!f_4qxqL(-B?hf=qOH^CR>TE zVL?ItC$P%2mDSkat5E*)I@rniKEh3N_=a79V`!p5Ay+5V$Z2z&4Z;u&tM^_BLZXqC zv?tCuJraXP`+5dv!iqMxpTm7+Dq&b^{s3798Xh2=w2K#T3F@f2Xd%4v-BcU`G-D7h z+Sz2BDGTac`YR$IxK)o60l#7pGKh_V{X|o76=JAG1GTtdCOBP^1|>U)DCBBK=z+>Z zgg}dK#UZ>5;$3Hywt_Y{i1TI|2!nhNjS3A$#e@y*&IrBbBN+O;pYRteP$DBLg^yrV zjAn3CI5ZUd=W#oP(I#}`90x;`wpK|DJ{_HGHpgd~3O{TZ^1mVFR!ghfHPjPcG)C6{dQS}3v5 z2A_%YQEP1C5kXq61KyB;nuECFb-C%rE-0n{e?48XJng0{{y8fOv(_EoB*^goKQ$d;}L6i32CcckpkWU~U4gnpU)*FJ4<3#&6NI|K>SUkdkvS5(Z zP%U8fH~e~QVk_lF#>)o2rH5y7HO2=$p2ZRV~boWP+?Wd#Bj zr2-gY)K;3C5&_S};M28e0&#u9GVnSLVW$;o5mpjW4g}GpLCzNfip0K~pt1~Q(R~AK z83-TE?=V50N!(LHV8V}B5ja@Uh|b#(HgnUBUL4WQ=uie{B4pYnTY@|biVDM`3?NY$ zOxO|TP#Oai(%8W7OqjBp90(406d8`HGVd|lQ}!x<%M&9y1I`3>X;elun6L>o-XfUr zm>GtgGH9n{Hmq7f!2~j>&w|ry$8AC~AF2@sguxc2ZFxqRV=9AgD1&#|&Gshrdfbf9{82p7$ERMn)Boe=%F{DA5P!1GvUmux|_C;`k1t6jj zZA6IJpoR7-HYScSv9ipF+em1y)g2^0&}>ZP0`Kx*ol-kW^kqWlITCj>n9PJR6wOVuEaE^0v`RRJ zSRsJg`Z0?bi&9aT*c{?835{k*IZ+zb-Oxl50UL{<)gQ}=Wz3SAP)Srl*~+$%Jx^g{ z2aUxDFO9#7Xv0iWMn}luQN@5EZ> zM0n3dk_X>Q5dqrn8RA>Q|E0eg7^AR>(Iu7v<1&O3IIyr4pf=LG(hOPIUhw>V2IO)G zwVj_0AgIUM9b^%pBgH0kLqLiR{w#xkXp6mk1hoSq3^6D0d=I-kFr|=qz-%c(qVWom zmZQl=gU&>v83pKm0O*GRn5l&GnIuc{XJ!J!4WlZkyF;DC!T;AF8vjmGB?oFtk1{!a*}GB9WOGbZv}K zg8%Aa_C^+y)-pLT9VEbx2Iv;Clw^w*CqO6C0%}RH<}ivPO!4bXJE0B<+W9t87TTW% zkv}ps29B2mP4ffEl>BG>B!KuE7|^m2(lzFa!O-XW2I}*kBT1m3G#JKd1GEz?0TRIa zEkXcgyU7_S4Mu=LB^MeMTf1tep9CQ(|y%`av<)x8Fn3+KL5j<#yrJ$2WR%2#81V!+uDrh5)=|1$i z;BUoT0c<+R1R75Z8U8b1M&zKorGF#0g0`xgyo!kewJ0zDkL}AcgwIf2bhx-sV)F%4q zGNmOu;H3R<2vI>z0x)x7Qko&{%!FFN;G$_*B2SrqFmfIWanVS&$Wvw#mavIF3EsW7(q z%C}&P(c|eYMO$mb z5L>hr83yfRXqydN&|!ZETE);-aR=JWz*7icud=C-E zHpTp9q9-)4Arv8_S}74w;!4e838x4|kU}?@JvDJakAlH`)5T!am+1RB%jh6MKhIGl z=(4G!aylcz7|gYG7|c@JBEWnEqR(((#MJZk%n1zUI2+49LPP7YfFg#K1iq1o6l!}? zB(!Wt0+aqd9*Y3a2MAe$9-{Zof;L-NFc=+H3})>T%enw13fW4b3ppjbSw%x3Dim71 zMCeK-6IHGf%fmor`0KH69Z$_F4CeVk3`TQFhfCF1dVD1S?mi-onx}LhnwRvANr$IP z^b`mD>2&TNOnS})RtTisU5NHKI`gsx4h2()MpRHRt7u5?cV^N9oN>aSCJcN)i((*#TOAWavJNK* zBw`obRf&bn`FaLZ61c@8GK_&?-CY(o$b-SusA4e6OB8%>Wrl!$)&=ma%Z`o?Jq~*h zSY$cCIJCexY+ll9?a<#|%BX9$520q_2$P;NjN^wD5g{|wKj$q}{!PSSWI6xMi?~r{ zhq;G{1PVlXM0epQlMc_&6b44Zx6jVq&=77C2BWgXmJ=D)>zVw3L z(72#SON49`!0N|{2I`0FW2k1eI;sX9+Id0l3AG7Yf*DfH|3lLcK=2*f(iB*RMpq9R=v z9|pZvqMwQ*!#}s5UxvX{^8P!w^)yj5*iA~3Zq{O5D;Gat#B}MRYLaw71Mi>kyDl)8 zbmZSKS~H|p0kSTh1N4N$2}hUjdo##?8~WbE_ix#w?VzKs0&>p~k^eJ5ZixX22T@xY z*A&6ep!;-a5c3SWKlYc$xUb-6sO_q+HDQ5%BXDMDFTn!Ff3PIMO!h)3#a}=yoGl1_ zj;v-N{J=dwXo|&PKEQl|Q)|&jpCKg;i1COJL$p^p{^VL16MLAyOAF{P2RfiMc|p`b zSpvxM5bd-%1z`t8v3Nm7iAPZzk|3&4>LLMRDju$P_nB^ETMmSU!E)uY;@^^dEB#L= z5`dRP+`vB>2A_UW1R|3m>Wz{=0^INg97Kh_lO^d}+D-bYDS~iiynFdy)SPdBI?1B@ zTDKI4rAYx}DTo~SEJ@%)U8ciaH#kW0hA}jT`Lxt!qm^{|Jq%?RBIlEq!HQ`HM^0-= zV02|r)ElYD3RGEgDpZ!G09euyd2m#LAPmGppi^{ZKr9XN@|95DF(m>!IF`1+yF};x z(xUU!=+{^RsOGCND|4W2C*iOx)$FcM7u|&d?@NcBLwD0D3IL=dvW(7QPx8gM;H->+ z)o9}qv&#>oX2a_*^ym*1Ga!PNHA;qeUtEi7Y$)Whz%OS<3#=5c(+G zt88APq6W$vGR$Z^H+QTb@-{#jxWiiXQL_gunTR5Yg7;+%(YvuHcNxG6kPNL}x{JB! zKo^yz-=Hy9CPoQSaG_f)3Cvy~+-N9{(<_S`lbrYhu7!+6pq@^S3r3|G7iSz<3!xX! zg1nE5c~)77B*P${%Gu^HSWDNyLbGO(#uM&8p zl}1}YDyH*v%F!;rXfRh9L7^|6tk+%x?Hoi%T+ROorWy{eCZdbFVlbTm$wd@U^ETzezLm>}VDB<`ZFD?$AyQOGXEk3AqHQ00&-HxIzuU>{;r=CUfAO zx8OrU9<<~7Q6gwCCi2s-D@9PPvvj(i6A{!n5?6o?`3v?Ll%tBv>ErGyyLWEU-+NI1-{K&4=>_I39ECe@fr5+W zq7Q2T;3`D6V1w2R9Y`X&NL*F+FEb0NrG7^LrE@W3hA+#kR8gvvc z)ZKYVVR;CIix3JLLHMN*!mKXYz`O`iXSkX8VY0gvj>uOyB1>b$@e-sIAu^`_?#rO? zqK{w&>N5SlevJ!bC%LfqqYr^ZMHM$s*9hhWzw=3~~d$gsPm>N2QC{QR_K-gFU5!Nxt@?h{4kq30VVFoo`)M^|3 zBpD4ec4-wGsining9o)lG9#N9Gd!Sfn|FjH2J>RezlWT9AX$o_ckjTq6e=wHj@rSv z2tNLuNC00e7MAGcN#69eYdcJ>rCYkNnLnLYFcfkb1GzXD>T3A2^t2EUR+k~V459Fg z{+&Mb4W`7ucu63%4AEf>GFftvjS35s6s$~3l?K86Y8hg|;tC#?BVvGK1sfR%Rl{@D zzoWi#(U@Z}&Qfe(Yz3PPs3}Kev5DxDG!U*p)?u&rveS9+zP19cGmL5xT>H6bx(I5XXuZ>j#Ccjz8rRf)lgFkEBsXK5+CV?qL=CL}39YJef8%iidjm=A~Z zBNiqh9Kl7OU{ewhG$lzgWErFQX`@IN4koNWtOQHXCMV5-t3@tm{*bV53-errk4aa>cd_Xr{ zoVjrfZG{H5^`QU{n->PX8Q`BQ3Ke*P?)R2cp4%a@0*d z?+q>b2rXJ#$!}Z2*HmyJhVOJZKrg&mK~wX42aKAdEy{zhcDTU$PUf&i|F>sy=PGE@ e9ys5YDBNUEmlp*+cJS);Mkm5WXu1h&Jm!D%90DQ$ delta 49303 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 IU|C}RANc@!Bme*a diff --git a/code/reindexer/src/org/aspen_discovery/reindexer/GroupedWorkIndexer.java b/code/reindexer/src/org/aspen_discovery/reindexer/GroupedWorkIndexer.java index ce6dd9cd74..378d001e64 100644 --- a/code/reindexer/src/org/aspen_discovery/reindexer/GroupedWorkIndexer.java +++ b/code/reindexer/src/org/aspen_discovery/reindexer/GroupedWorkIndexer.java @@ -33,6 +33,8 @@ public class GroupedWorkIndexer { private final BaseIndexingLogEntry logEntry; private final Logger logger; private final Long indexStartTime; + private int deletionCommitInterval = 1000; + private boolean waitAfterDeleteCommit = false; private int totalRecordsHandled = 0; private ConcurrentUpdateHttp2SolrClient updateServer; private RecordGroupingProcessor recordGroupingProcessor; @@ -207,7 +209,7 @@ public GroupedWorkIndexer(String serverName, Connection dbConn, Ini configIni, b //Check to see if we should store record details in Solr try{ - PreparedStatement systemVariablesStmt = dbConn.prepareStatement("SELECT storeRecordDetailsInSolr, storeRecordDetailsInDatabase, indexVersion, searchVersion, processEmptyGroupedWorks, enableNovelistSeriesIntegration from system_variables"); + PreparedStatement systemVariablesStmt = dbConn.prepareStatement("SELECT storeRecordDetailsInSolr, storeRecordDetailsInDatabase, indexVersion, searchVersion, processEmptyGroupedWorks, enableNovelistSeriesIntegration, deletionCommitInterval, waitAfterDeleteCommit from system_variables"); ResultSet systemVariablesRS = systemVariablesStmt.executeQuery(); if (systemVariablesRS.next()){ this.storeRecordDetailsInSolr = systemVariablesRS.getBoolean("storeRecordDetailsInSolr"); @@ -215,6 +217,8 @@ public GroupedWorkIndexer(String serverName, Connection dbConn, Ini configIni, b this.indexVersion = systemVariablesRS.getInt("indexVersion"); this.searchVersion = systemVariablesRS.getInt("searchVersion"); this.enableNovelistSeriesIntegration = systemVariablesRS.getBoolean("enableNovelistSeriesIntegration"); + this.deletionCommitInterval = systemVariablesRS.getInt("deletionCommitInterval"); + this.waitAfterDeleteCommit = systemVariablesRS.getBoolean("waitAfterDeleteCommit"); if (fullReindex) { this.processEmptyGroupedWorks = systemVariablesRS.getBoolean("processEmptyGroupedWorks"); } @@ -605,8 +609,12 @@ public synchronized void deleteRecord(String permanentId) { //With this commit, we get errors in the log "Previous SolrRequestInfo was not closed!" //Allow auto commit functionality to handle this totalRecordsHandled++; - if (totalRecordsHandled % 1000 == 0) { - this.commitChanges(); + if (totalRecordsHandled % this.deletionCommitInterval == 0) { + if (this.waitAfterDeleteCommit) { + this.commitChangesWithWait(); + }else{ + this.commitChanges(); + } } /* @@ -670,6 +678,14 @@ public void commitChanges(){ } } + public void commitChangesWithWait(){ + try { + updateServer.commit(true, false, true); + }catch (Exception e) { + logEntry.incErrors("Error committing changes ", e); + } + } + /** * This is called from all the indexers, so we would like to prevent scheduled works from being processed multiple times. * Rather than getting a list of all the scheduled works, we will process up to max works to process by getting the oldest record diff --git a/code/web/release_notes/24.07.03.MD b/code/web/release_notes/24.07.03.MD new file mode 100644 index 0000000000..971604623c --- /dev/null +++ b/code/web/release_notes/24.07.03.MD @@ -0,0 +1,7 @@ +## Aspen Discovery Updates +### Index Updates +- Add additional configuration options to System Variables to control how solr commits are done during record deletions. (*MDN*) + +## This release includes code contributions from +- ByWater Solutions + - Mark Noble (MDN) diff --git a/code/web/sys/DBMaintenance/version_updates/24.07.03.php b/code/web/sys/DBMaintenance/version_updates/24.07.03.php new file mode 100644 index 0000000000..328521d408 --- /dev/null +++ b/code/web/sys/DBMaintenance/version_updates/24.07.03.php @@ -0,0 +1,28 @@ + [ + 'title' => '', + 'description' => '', + 'continueOnError' => false, + 'sql' => [ + '' + ] + ], //name*/ + + //mark - ByWater + 'add_configuration_for_index_deletions' => [ + 'title' => 'Add configuration for index deletions', + 'description' => 'Add additional configuration for how records are deleted from solr', + 'continueOnError' => true, + 'sql' => [ + "ALTER TABLE system_variables ADD COLUMN deletionCommitInterval INT DEFAULT 1000", + "ALTER TABLE system_variables ADD COLUMN waitAfterDeleteCommit TINYINT DEFAULT 0", + ] + ], //add_configuration_for_index_deletions + + ]; +} \ No newline at end of file diff --git a/code/web/sys/SystemVariables.php b/code/web/sys/SystemVariables.php index 8c0542e5bc..789515d93d 100644 --- a/code/web/sys/SystemVariables.php +++ b/code/web/sys/SystemVariables.php @@ -17,6 +17,8 @@ class SystemVariables extends DataObject { public $useHtmlEditorRatherThanMarkdown; public $storeRecordDetailsInSolr; public $storeRecordDetailsInDatabase; + public $deletionCommitInterval; + public $waitAfterDeleteCommit; public $indexVersion; public $searchVersion; public $enableNovelistSeriesIntegration; @@ -198,6 +200,22 @@ static function getObjectStructure($context = ''): array { 'description' => 'Whether or not covers can be loaded from the 020z', 'default' => false, ], + 'deletionCommitInterval' => [ + 'property' => 'deletionCommitInterval', + 'type' => 'integer', + 'label' => 'Deletion Commit Interval (# of records)', + 'description' => 'Based on this setting, Aspen will call a solr commit after the specified number of records are marked for deletion', + 'required' => true, + 'default' => 1000, + 'min' => 250, + ], + 'waitAfterDeleteCommit' => [ + 'property' => 'waitAfterDeleteCommit', + 'type' => 'checkbox', + 'label' => 'Wait after delete commit', + 'description' => 'Whether or not to wait for Solr to finish processing the commit before deleting more records', + 'default' => false, + ] ], ],