From 6a073c3ed48222f33552f59ca6157bc14ca09710 Mon Sep 17 00:00:00 2001 From: Chloe Dawn Date: Fri, 14 Jul 2023 03:58:41 +0100 Subject: [PATCH] Update to 1.19.4 - Updated Gradle and dependencies - Updated mod metadata - Updated license headers --- build.gradle.kts | 20 +- gradle/wrapper/gradle-wrapper.jar | Bin 59821 -> 61608 bytes gradle/wrapper/gradle-wrapper.properties | 5 +- gradlew | 478 +++++++++--------- gradlew.bat | 15 +- .../java/dev/sapphic/couplings/Couplings.java | 2 +- .../sapphic/couplings/CouplingsClient.java | 2 +- .../sapphic/couplings/CouplingsPlayer.java | 2 +- .../couplings/impl/DoorBlockCoupling.java | 2 +- .../impl/FenceGateBlockCoupling.java | 2 +- .../couplings/impl/TrapdoorBlockCoupling.java | 2 +- .../sapphic/couplings/impl/package-info.java | 2 +- .../couplings/mixin/DoorBlockMixin.java | 2 +- .../couplings/mixin/FenceGateBlockMixin.java | 2 +- .../couplings/mixin/ServerPlayerMixin.java | 2 +- .../couplings/mixin/TrapdoorBlockMixin.java | 2 +- .../sapphic/couplings/mixin/package-info.java | 2 +- .../dev/sapphic/couplings/package-info.java | 2 +- src/main/resources/fabric.mod.json | 8 +- 19 files changed, 283 insertions(+), 269 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index ba97878..8b04f37 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,14 +1,14 @@ import java.time.Instant plugins { - id(/*net.fabricmc.*/ "fabric-loom") version "0.12.55" - id("io.github.juuxel.loom-quiltflower") version "1.7.3" + id(/*net.fabricmc.*/ "fabric-loom") version "1.3.2" + id("io.github.juuxel.loom-quiltflower") version "1.10.0" id("net.nemerosa.versioning") version "3.0.0" id("org.gradle.signing") } group = "dev.sapphic" -version = "1.9.2+1.19.3" +version = "1.9.3+1.19.4" if ("CI" in System.getenv()) { version = "$version-${versioning.info.build}" @@ -50,7 +50,7 @@ repositories { } dependencies { - minecraft("com.mojang:minecraft:1.19.3") + minecraft("com.mojang:minecraft:1.19.4") mappings(loom.layered { officialMojangMappings { @@ -58,18 +58,18 @@ dependencies { } }) - modImplementation("net.fabricmc:fabric-loader:0.14.12") + modImplementation("net.fabricmc:fabric-loader:0.14.21") - modImplementation(include(fabricApi.module("fabric-api-base", "0.72.0+1.19.3"))!!) - modImplementation(include(fabricApi.module("fabric-networking-api-v1", "0.72.0+1.19.3"))!!) + modImplementation(include(fabricApi.module("fabric-api-base", "0.85.0+1.19.4"))!!) + modImplementation(include(fabricApi.module("fabric-networking-api-v1", "0.85.0+1.19.4"))!!) implementation(include("com.electronwill.night-config:core:3.6.6")!!) implementation(include("com.electronwill.night-config:toml:3.6.6")!!) - implementation("org.jetbrains:annotations:23.1.0") - implementation("org.checkerframework:checker-qual:3.29.0") + implementation("org.jetbrains:annotations:24.0.1") + implementation("org.checkerframework:checker-qual:3.36.0") - modRuntimeOnly("com.terraformersmc:modmenu:5.0.2") + modRuntimeOnly("com.terraformersmc:modmenu:6.2.3") } tasks { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 41d9927a4d4fb3f96a785543079b8df6723c946b..ccebba7710deaf9f98673a68957ea02138b60d0a 100644 GIT binary patch delta 39692 zcmaI7V{~Rgw>28uwrv|7+qP{xPn?dOj%__4+=&YEkj+C}h+J#a{6IdBM!qyo$&JakZuBqo=CLjn1J2F#>&%>R0(K!6frV1R(Y zz<_{&h=4?#ta?$yfq)odr?4`!1N`xq3BL>(-Vg7G#b#8oWOIg^*b!iZhhSmjFV~!ammlAY3tzaE2B8uA3#I!!d_ao$jp-Cigyj zpuZ-Xz~Sg1oDj9JFf(#*!9J>gBb?DdF&t4!hEX~L>=)c`x?lB`FMPiX_p@KpL!7FA z?(&1hbiMuIBg>USmgIkr_k6xO7x?2>&|B`+`-8+aH&E9p>U?}J9Z=ygoIJ=6@wYvD zJhhhkQp{Jt0VYg#jGym)!s$^GfLU=qH7QXG@tY&@e!u7F|FUAk}8 z5lKZ?fg+vbsT_S2vD!$Oh`S{DZvl~Ti5_dmELgykGy`P=ld0|?<6ycF2Dk1ALxB5I zgKlTerHNO&QUaw-DuB7)C|F{Typ)Q6!NV@&<4iCfa*5%X-d(QX&+yMoMn5x`(DLQt z^l>qM%MuFlAC2;hS3gnPP1V~~p@cP$&v|hYT3fQC!tw}`M~IxA$0}Us~gN7d^bYXvYnjP5foI@^>_o|B|q za-p|0lQ|+G%US&Lks#eCNUo!TKNT=TD04`8vFpA;#x@-nFA-K8idal%Qb4oL3a$|( zPHXuhbz{Kgek2V}Gc*?@TzA9Wo?#D-IOl@gu|PW!6C1v=6d%}*rthoWSL@Evpq7tSy(IgzS-l zGvD@U$cV0v2qai?##puEiDAc!KS0Q3(ZjWU5eoeAjScVurMlGTLlhHP(#3W#%R=Ce zZ_woUKoM5G0Y(rXP!I7^DhJXLvfBqUeoN)rz0d}h?H#{_hZxzuU4c3@Ub=@V?>!($HUO z#+6#PV}Mtb1nf??vzs8tgqBiO$q-s|8LIE(Np!F{qA|ZUS~V{21)nLQ)lR^H3@D>; zrFFhshfU|YY}>cWPnxid@+dY*-52o=DmroA>_tv_G`qMT8bVRZVfpSws;E^|Rbgd6 zU$ZK(IHN0;#dBe3iVV@=heWAX5st*$<*B8O_y9JeXp&dTcSa>q!>aH*uyplNlw>pw z)dosb3j7@Ab7K$(xOk}&JhFgr#SBfF^AwbF`I9gUD$!7apQDedsJ8mqwwvmSsXe3h z>`)F0449K8z@upG!l<-;Fo`gZM!41H%PIZKEN#XK%=v;SPE*E3wHh_?VyXeOHHwsQ z20)0CPNAwLJN{8itiY=EYkbNU2NCxu5|t8_PG*nVqKyL3hKam!V2Z70$<2ATuZVl~ z*>cb%I`*WJ%Z?|PCHcv|>gYvNQGuH3_)l_#mThbf=z$1h!|2_0WH|ZYAtsEJDCU z6yrz^1e)i~oU*CNF}GrGQ?EpR|H2Q~dcPA*tDR_g#(&DN$-S^LV_9r-8?|6;iL}b_ zEyY!VJ53_$CK1@kJ@|urH04cr$H!=W8V@q;EHLRza4Tz}gnBi1BXExg9-jlH1W=1% zzMdvxh&i_AZsucRu6~SFJiV-2D=!_tO3id^lmPl@XKpm3l*!iJY!!@&&mC##G{?>Z znV2~=qhB@#++f?NXGc1c7U($_mCL`o$`-A&i$kOSm~=W7EvrqG4AtU~>z7$pRJglXsHK0eoiMROQlFb=h68UEq{W#m;@=Yw8Y*xEvB0cZS^* zJ361_>AY0TZSh{_FGZo`5%-C#ilvV{ge@$@JGqVgS#?xk8!Dn!yKR2n-#?+_v<|U+ z=VTQ&X|v4#j!%ZD*{he@uQ^+)6w0V!{UuNFD8P^{bzpxd@?g^liMBG40nC;g@xYh= zEh-;zA5~<2skx`%=3SjeOi?1D%ljk`(|W$7^G=YIzc=?y)vCK$R)}nXyJMCPLKeA@ zVunC+=0?`oG)ik<1zt~XtU41$c?Itft%iO5RAdqaAUrVlc_+CyD4?83nj_H6Vy zu|dIsS-ojIA$C6{Om9Kb09i_FX6Q6AHTgkK#J}!7Qz~$9A{Wl!-`H-5k=`a|i(LyC zlraf!AX}`V?%6BypjM@wYaxj9#0hD^YmfR}W%P(2IIS8AT1~;=_0kGNt%oVFP%T`b zQ<2j%w5JsTztj5UX%&>}#{aa9}i{m|(&}02;V8c%x^Uj1^o; zMZvoTTv43h6hxzcTxzn#$$cW(t+SrQiLsm=N)85FdSI8e6NcAoA8Xyvg?upmRzxG8^8f{h7Cf-}T!Vxrx ziY&OdBcc=>liFrY1*mLOK(UI~R6CPX<`{Ft_Ybg0;?RP_4mlHIOvK)m`Nfj{#wGN} zq8z)#not@rFL4|##Tlk8n=-H_@rX`pC0qxy$-8GvQ;5cS{dL}X50hN3Nu^yW@Z zcm=X@3|dC0aha$e%%>l<{F6sALZ2(%*ZH?1pX5aSL3~n`KVZ~y*m3%=DQ4*J@lUTh z8gjpTwx)?&oUwiTcnLi$r^cled)=4sfj)`gXUSCjlQQc#9p8nke1fP;RdQsQgnxq>9%)GRFWc%^7+2J? z#vM|P-s2afx75>=f21HgG!#=gSkodPWKS^gNY6Fildi%3!2U1Y`9Gp^V}!|t`JcRG zPbu*hBwY$-n~Xt&hf|Glk6}lPQB?y*%ihbfxv4pHfczi5ngZ>^{@?Oc*#{RCquJIc z8tmWW(XRml6eERn54X8D$RG6IH0a+{BSiAwv^ghK0_xuz`hDD#_o#WK|5wwVyx8=n z{E1fP(&K4hRIVb~Mx_^JP7Q(4Rt7!NrGZJ_?JYGp7hR{^kno4hAJFO(50y3jD8J2& zb(wJtUQtaki9rYaAWo;?Ak$P5s}G|Zq8OS#mJq&jL2%y0&LV{+7$iXEk)-gxRSpT0 zB1qsJ!LgmzvK3mJoJ(4YvuCgy%gjNOJ6>7~``t=umswIp8`G4e6$_!0P?2RTWS(*6 z%Jsc5fMykafwonRkOwPR%)$ZNKQOb>X<9RO&YKL8?5hiyshx+#S|a5!qWEsyatl z`{(TI9kfa~V9zDAT*U$zM_rrJ;~29esw~itk{zx7TC5HAGve#GxL9~U9Jx>CNn?hm z(~T*}NcgKs6&=Drya~Tu2{wv{jyV{egX*)08Z=kkQWZ7+#M4HPFKZ*8h7n-Jj5iT* z%)rM9YfnDG&YP=w_qwahY+(by44-%SbsAs!*Hm4jXh0T1eMV>4{Dk2Or}7bz(t#+C z5zB=^b%zf2@=~VfFTq43@Kjx|+fC!K$96uDXU9qAD-TNF+WGt3l*~#*g8y?a`($gJ1p|={2Vk;s2}|`77zP(p(p7ZVKDejD~rvUs6FwcA9Ugh z(yjr#l=XQG5gpzWLsN+4kDx{gj%Lc11}hjq6K0I;n5V0_1xEXv2*%JESFJvVGla+{ zX^vv@O7N#>V(|(yOBbBES_vl4W^^8*lo5TwntT#{;9+!ec3);IoX%~GM#g5;dz>zg zAW;6Er^BJdN)unkan65{e6KF(W_3P_2a0rC%Y}l3NYAB+$Q`P&CRf!WXxyy7j2xKkQDY14r| z3I;+ozA{`k%zDG)B3;+8X%_7}^XV!XLl1}QeZCcPCVWp1msNmO9;wG7YCIsu#G7L~ zpk^vj|Dg(EmUi&YGGIDA;WbMxy_m9oV2kZn{DPR-0^o=Pr>T84Ku^g3fIm<9EE%Ou z-`%I!B*peJjvxw`f;6(|o%Y;6x7Vmy%b)49EUD0`22rYw}n3)Rux@K6XJYnBXrPU$IkEWkCs5Y>s6s z^Hb7GAsf7D+?2~7>@h}(Yg8J8sCWq^BK-NqF+D;3hGbH0UuFDvJWvqH18i^qpaqj# zs^eo5l>lJWjJ7ux7?{&Vh-07z8v#*_jD>CqEh2v=9Ji9VXGfzOtW)v}ItOi-b9VrB zBUP5Ml3tJ&in%BCC9PRkUfS0xnKGy<)LesFn2Ia0Z5fkH$Wt0wb!ZM9D@4GB3`eu_Ld z#1p&ozxfB6zL(+?90bGz9t1=nB{+j3B`=8xpt_-n@)gg>6VHHl0EPBvfo}=o1`=GR zZ!HW0rUL`I+(XoEA)5h1t3RE+Y4Z^C4JIJQy^JuKt>?q8{CZBxrreJL`eKb_aa{g8 zXEIN)YbWqe^B>{w*Hdf|H*bmqhJ|u#?Nrt<4k^uuFiKopeMD2-Ri3(-X}HlUD_iX1WVB@dQpEl$4?*PBwv0ydT2n)2gH(-ylnRwa$_Hx~dnQuWU6=Wvgy$ zRTe+*;L>%ara^mCNsoC(M9-A7-Gbhy2clH>V$rYMKcT;bPMvNNL zXfw+ktxcu65o_Gx$w8AWEmgu*I&TVtfU1pf$x53Pkq)!0&Q?v8bC2Amg*=jC14NY) zkxS)Pc;4Jb7KEj#kXl{OuPBEl`S=7}sIAuX7$k?LR>4fan!w^Rx+)z-O#4Ze$#uo? zRPG0)jj;ZDT?-L|NWnKxPN{rpSL`cLhkJ(&_4;^Z1mrg5G^aNnrfhve5uCymfai6U zQcl98it$dKuwC@Z!31w49r0Sv6f$c2(E=I4IC4=Nr{7me2XD|kjJb=#yH13 zSL_r@LzTdfAN^QDdoSuDs2d2V%tDv~Lskeed3i(`U6z-X>y+%X#2zKPU?UJ!%((kf z{MwBZaaE3g&SyD#GNG}vsK}=Y05Y1=%==Wv=BC|3tkWob@+ zGjX6833;4!uh|M_{u|O>z}PU4Ln!NlR^GK)0ge#kXDqt}py>vzP!Qp(Gr^gam#k;O z_q+o=G3bq`14551LyL7Hopq#+w7-sgQnQj#->bmLQ-tt`7HhB!AcR3vt>unXTDTGi z&D;%xJ8_7Evy_%vdS_?MRhl5UnG_|sd0P3tgnoXC@M?|J>vMpmYo8~+gAO{Lx3%w> zV3gn&!PC$gTOE&))plcJ(6f!9M9^>Jh=F@j*?S`FP~4&6j90;rD;LqyNKdHx4&wa$q1J*AO5elK*u|d>&8&O4SUM&_yr=n?JQH z^eQ2%ieSiOd(8`(M_O!_sHhaqq*MpqTL{l~n>MB#qX5I-bJ#{KxBV{{PGl#!TMCF+ zwNc2q{BFmaZr8lIpMkeW^g(#GxEX6R#v;tL0!x$R==^*J94cHYtST1L+$Hp(RANQi zeCE<^-NDA%XVO}LZle5$Fuq;ENVeDb)#DjbE!F%3b2e}4fQUG(XNir+@bk$ZdC`sq zCH(e2)Z}&EyR=Z%mz|=m1Xu4NaE9&zoGp>j$OICVX4Lw zxvlMocnRT(SxZ?5^aQaR{mOTb%kEo~1e158IfNJkUUwgsm3@3bmL-Ao=+}|9nWl3} z1)G6W&D(zI(gGa&rKd+yI6|GyTDXG=GMCtu7ajbhHmk^Qq4yoY6Ph2zPm?1$2?V|S zEmQ6Io$+A6Dp6-1TBq>f8K#qDZ{jd*mWdmYV28;9wxq_xG^L4k{)zegc-a_D*+jmH ze^Fd8L#<7&`7uz@j~>hz)+btC4+ooGl$!Q0{W3d6);V#KZvIJttLVD;Sn4W_XE4Wm zaIA=Z1Zq=y@kEBkwWbOT|B*|IC)Bj@9+o5etS*P;JTF7KpW^5B&}aUfL5OLa{%eGK zTA-D*(ia&Se(Pi~fp&sSo+^ha^x85K23eo`3dWU5=oR`J!tHY-<_I(pb;c=ii}I`~ zq6;ri?*;aM6O%wWyc`@f2#9w|K!!8`Lj&u(r(|)t5(6c~oFZ14jlxWf2y!mM1$VMRK@y`ky}>||w#BvRVwV&!BNhUk z8<{)BM`FSPCN{u?yK2@R3rFF@i4m*=3O_jY5ERR|_HimLJzgN$zNCbeLtxmgaWXWo zwj!nwyu+(-9V?$SPjYy4u~!0kwa2AL5d5YM-hmi(YonRFH;IAEc}M=kw>v+y0SwO?&2$= zRP&#hSYvV!x0C6RY@)Q}VY*Cv#se?=TV}7?ZNBiN`^{gO3C`Hxv7rOl(jDa3^b9V3 zWEZdHQ5_D>T;Kck2ph&%3z6%H)cjBq;d%13^(US}rOH%OU+&4Kt$zoU^$-aULgSHY z5sx#V{%+1lZ8LbFC@jZ5lkn+>tu(hmu-=fC^%ax-856_l; ze7I$o;2Y5|eN=5jVY6&NGqk%`=wEXsRo&hT!)s>>-kc@eQa0uz8aGBS<#ul9(jo-E zJ$ZnlOg`;AQj_QaJ6c}aO-|o0;m;iUnXR)Ui}Ac8ftI_ukwG{jO;ugryV46_ zV0M3SZQj7*)Mdizsjbgs`_$8V_JQ2d_!JKjmwAo zdaZPHyt#MZ>0&z&l6gOW~ zKG7ppLd`CWq1p}KcA~R-e>P9qE)NooH@p+QcVy_&cCKtERGQI9RdM`Tn~*{fMt2N4 z+_stVSN!um*uGYBND4uW+RKlDNHE*RPSqRK5eP@%z_}`*z#%I4PI{XJIqs+R<6tUtO*q$mrG1A6p!bg5RozT^S=R!@knR)jkTrRLz`R9V->r z7$=1H@SHT7c}vrvUUSXM5|c>S zKiuH#b3Ne!z+}D5u8mInPgs2oBa~b?Mxs?hE1C0&BlkG3nHEOOCEnK?HMXd2I|xU< z{5DJ&z|DYP*4Ps1!q6K2p{iuUkQ}|+)ewL%+iRrYMAnaKm;FMS|;*iZliZciwoxV`U#gKsRW2Q#^Ql>>R`|XX% zxetQ{h*?#pHymXgYF=24MREt*juyn+jt*eF)x2=1Y&Qjnwe%vLgI~udV*WjgiWd_K z3%634H!2Mi>aY1)IFW*R4vbwdXFb**upCoT2I+_b5Mi%FC3C*vLP~_Lfwg^)IfbzeMmJB2m3^lyrT5pDzCN z6b5Wf?${93l)DR+lnRA1#Y^qpWXx8W!%yoSmNw}5tOMIx=)+|T9g=sk-)WG%iA{Sq zfYFLuFRT%NNa6C)b)LFgtPL@#MPmlpNGq4U8~M5U`7NGcyY=AL7NFv;K;5;CHQs3Q z0e0{G@{*!*Y?HrM`RkeQ8mVcmaNw<;Zo1W;133c8j7c6(g2q1a8i`OSsnDp8 zKos{-ue1CIw9(J+{qKFii?06>DK@1$07(t%S$RnA7SaTm>6*^|m@TiJH$n(xABzl! zsqYL@K)dP;a)s^LDgFzF;pCz~S#cPM3E@ahTiOyz;9za9i^7NKVyk-c%=CNAC2 zdU^46_@-bO7~7&3v;%Q;1S;>xzAT+ZK}rX!!x4O^hc0i@DAE0J;yz>x0VTb^L6o5u zGF~%_Zh^Dh6EgDDtYULHj61I8Xzehe z%;2wS&Vq{ufX8qrv{)U*~ld>y|!?Z4;A<#iZu7wleGw_`+a1 z`!rsRHm}dH_pgQ^;hdtT>y<7-;1kZJ>uW4qtEPj0Qx-L>)Yj|Ic!0YReQz=d2Sn(v~w#ziBIv z@_NohY9o7UEMi&=yFCD+JZO}kI%X*`v{DXA*_WxaBOs7eGqoe0@K_ilkwg7$G~Oj+ z!UcxT11PXy-Fg^NP3|Z@DW`I}gTorHE=lAG%y>+S)zaI0fB3RoGH$4w(7mEN#Spa= zt+SLWjd{39#_t%~1lHfCl$7-+M`UE7vCieQ@477)RaV zvmB2y2A5$tiBC|Y-Td!+13F#HnWg7fL9D_eNSWaC23le6eli}I3_ktfk4#>-t#0Ts z5k3$(NOLFT4vD4$n-y3^h$ZbGtn8DnVAh5dQ{JhEt7{M{16f}Z{@+lJGz2rL`UmA9 zsFc7A>Xg|cN)n*UK9C}nOMjv?wFJA|Vc`dDk25W%1ZE)#qy(K)_D~8&F(aU_2WMZ} zZZ0XQi#3ku0FR2Lvj2zXa4HlgJDn?@X@-W1vP&+hp+}a2<7#xe16wQ>p~~zsWIgAU zeyhn*p6gy#>#}eLWyH_t1=qz_q7x+j_kzR|i^;ZbegtIdkiGu96bmSeDaYHW_kHw5)DGY}H?XBX#zP#TC4cBxIu*kkD9CXl$xKC8%45O6D*|Q7A+47F z$xF7OlMe(g)eEkj0Zfz~6tbAvE4g$r z18%jr+b?b1Cp<7X=lvocR_;wdd~t3`;DmYRu?CfYO=Afyq#RF|T`vE0Y!5=x>axN+ z^=2l+DbF{G4(x=BOR<#E)r`%U0X`sx5Yg%2n-8DJXGi|bTzpra-WOWSlP65Jq3ctx zV2Bq={}FA2L-p-Vk4O%LlU7JIQAH2O04&(xU$Pap1WVjQFWG;9L^53RmfJq(&V(2~!>IW%2-M~aiGa=0$wCyl@8}M%$ zE5i*FLbaY<>L3hyY_#UJAp^V^zdP1EXxLSsvj)~te={C9sv zc>R%!YxhE~vDE%gI35r9#1#CCob zmsJGe6sWz5I8O+o5RQW;Y2+>rqhqCUpe?obi|;0gio8tWPF zoVqG*)N`XtY82koUUXaN6iYME70heAXq2MV{OaOScsr$lS*RC~2yZyvIsFCxr+xC?FPT}6R-VYbf8d?< zneo}!0R(=5IR~Z3aa3`!Rao8*Ng^sSUT9aKvoQ;vO4P$t`W}QCdxjLsXcHT@kl}SgGysHLPkIXQ(*jS* zEe%R*dX`*7mph*EZ^u_8WCRSoo}wPN&Z}9JQvK|)5*$2>Mot!}p*nj;^xy$HEDvx$ zfWv^K!SuB?4bpE)JXh&W{%tW0(_g2EO<>F>c0-%v~P zG94unScQu;7wDldJ0L##&LGt>>~sAR=RwAG_C#A*s*0%2Tq-hkIP)4_N~2};q?+%7 zmhXahSS_#y?SS}zYeS*rWtvMVvhzD(L zS(_~+XOPO7-MOk=b(>J_Z%w0(XMZ`ZS_e#>H~!}tdCTOOs86#i-shZa|6@JCF~66g z(AR?r2>VebLCXO^>Fn0(@g*kS*S}y-jL^});Gq6R`uJvt9fozTTlt+uXw@l|r|iTkV;9 zoc1dF@ULuIr(zr1Mzz+A(Pz?>z)C574qmpol}$0F)KI5PonLCy!nN+~Uof6U!M#Vv zkMwg@dJjV#5t9=%oyy5@*Ceg8_*wxYEe&_S# zvA^*@I8YMAIdvE_S}0K1?FLxc3E)RUe`SA0LHGck&K^AMAP$(2+9S#J2A>WmesEYy zo*x7QE5|7}Z$nb1IAJ9D5b7~8mY~d79UW#hrSxiP&s4Y2xQm~xh!a zch;plxS$87%^TM2qr|5J53*{Ma0`6xNNg=Hx&C8pbjch38>U$j_sHl2t!v-=$yc;DjaP zmB?)o;I}h0ocig!{Ih|GkOQ@tT%jG4Cl5^j2D}bhrDbk za1w1RQ0+MJs@f1!IOe95x&A*=}PV93zr3CI(Y?V7hpg z0;RB5)%oV8wWJoUsL0oyv>HhZ9|~gC^H2f(HWtP4cs^;JgFW2&m9k*}diXiinch-< zXlo5`95U}A*JF<=Av70QzT?@32f= zo}eVPmouzl%&Fe=!jT5_>?DOx_E$jjB6ZSbWko^XE4cO$8)*4-+Udwjfj_Ovyd)rAVBzSNR^qkba6xE#8p z4@=qMv?F)dPqbgqqPd$(4iN_`kH4oJ;n_&tsyJ&jCHM~Lum~y52X2Gb?DqifR55PJ zgC)3mq#WUHk=E#K>)GHN5NdB5^Q_6`PiiL==5D!5&I5qacMPUjOiG%+zp(M|AUiZs4XnnH)@8g~{w}v<4Qn;T zXvmw^*o*nF9ta@}J4uqE_5-{q9I-39NRHel^RDV|A0G zMyBUPTeDx#WCf7?O$ZY+`0^%MnQ>e?E78Vr&A*sG3rd>VYcNTz~S|p?Nb#w{nwRp*eg}6*KUlQ?zAc$Vqi~t zli1o(vBIIg)C5dM?=9OtOIrXX?!6uAz~SrEVsR32GYB8R>9dqLdgzxWP>1FeW4wjJ z`zOLFI_v<{ml5U68a}L2kz?)9$+kE$ivfC`a&yv_OOg3|YN=sRJ|!UHLMtSeS-XA@OGjiB0_*vX`v!ik}>98A`}hLS0$gFCMIQTJu+EmhTFG)Y8HTu z2e+AjXx9g*DJ*;nN&pv=i2urmfhf&CCgVsoqrATt9Ung>RAuf(#;KW1JbE_4#iX5d zEI;E8odR3j%cQhLQ+wM@vOa(vy6CXMeN-;$rpME6^Q#HTr60w_%B|VI&n?+j=l8stUK*}pM5$(PAFgGlskzWMIk#{( zNmBF4Y3H3=uDIHq_r816Qa(}kuG26=YIDEiIg?6!fPl4y!Z|V0GCJVhSt|R;D4uB% zuff7t;lY|5ROczLY*-Nq2ONc5yg*ubo3dM&pUX|el5VcO2h_}k>{+^HcXoDFsK&Wk z#We$LJ0XQM@!+udJO18ZySt|z5>3Xi=!~CF zmsx+sdQN9~CB*e%*vimJ3)7$cq(vkE!7fKjF;NhHc}3N)9tIEm$Xz+jZ>%qG*7mpd zDlVs-PO-ZH92;-F<9pBFj6b;ia+rhwAX+ZWn~2c6K5#nkHECWqmCcZr{o(7t6v4r= zQG*w}4LhI49R;{yJ0U%ZY&CsX6kX)*gz^mU8i`2;C^P#a2=L{NP(Pk;k0%5B>!WMO zO{xAdj(00{)?fDeJ!3W};oHg|6irB^TFxLNpa|8M!#5H8s=Ps{9+Z)ZqxfNf$z#5- zq>!z<=(8jEyuk`Ougux4(D|+-m3;o*0%$W&@_KAD{G|mKk1bc`$N)he3vNZy(piOl zH9wZ$69@MX#$d2@Wc}hX1)Ik+**l>!X++sgK^TD&)vp}HJNmzL?350Q+&ZkAT2DA) zR*n=ClWS)$W#$$BB+&XP|2V4zlx&A?8p;>bD}D?8O01YDUV8FDGV#T_6qLNZqws7g z8N`R(*2t2mq@<~5JeMHF#XQ1(E)Ylk^-!SRdQjahFOm@22$^ zc_p>>8EyKJ2ftg%`%pq>V`7tZCot;OQ666&z$8(k$CRzI z8sIOfgFHhMuo;blsr0TgaU6~l8N(7Dr5vZhLyUdjfd^V+;;J9Q#9_?8!iKrRdbM&O zV&9hn#Q2Vg^G5u&r&Z#Q9QOj9hENtO5hMSj`emLMB2&wSEN-S&Z+rWb3JuR=;>+K#B!7875sN7;F^uQe9VdFxOl2} zH2Ks~B_KiYDA;F=KOPN{7thmr%?qQMBla$zGvGo6qsa?_)8F=lPc|yvxF1#WfSQN# z97f=x%%THP{e2w}64Za4Npd5&1-r+aA+8=Ni-a za5jN3idRdF$;6zUQ_L zI#o|E2l~%7DPZ(%Ol;FrKcZ`%Qjxfk!#TuUmeU?GYp&F^$4ZHVEDVdLl%bLvH^(Iv zY3?|DaYfSyXjU77ZFqzWVb(#jtRH)Tm5cF2PIajXkHUTJe6!+z~o^r+oWS-48qpP)h`N~r7rs$xsZCsfvF@+tqV z3HPoTTsL92zbwT!gd;2UxCYk;Iv+{oQaF60x8U=)V*6+J`-3rTM9kx4AKK{$7COQC zD3gYOB*K@<%}}i)k8UQX-QzpCkAdh%102OKxu|7v!K*ixz&`60;PvGTY2c7`AhFu5 zfR!6?2cp|}zP1EoD|KWr00Ewr^U9Uha411TXmVp*z~tKEBdjo&ynYY!BUNWF<@kpE zDk&~=Ax=Qv_`4En1xYAN}~fn zeIcSqD`q>GrRu?DROP!4->K9+jPqwL(&h+`fhG>y$z`^k_Jlty+vt8N@Yl-|(d{L- zcG!+7YoOHUH+{HMX${g&KcIp=`uMdT2&Q>$@TO|AW?J{DB$ps@*g*do+jIh$)RbXG zsx!l>G^r&Bx5N#Wto{yjT`Qlt{`m~p+FTuZCkZHLZ~>OIJ=}y`$Z7@K4H()pGCEJ! zxayHyE2gUbHq>89B$h78@A@LaLoSGt$O_5+d)U1W2o%;$ZPoRgYoiuHzffvk9Bw`+ zGgRlQIC}-*T29wx$p}o9XOIJpnoOS5$Qmkot~sOGXbPl^@!wU#i4(qee}xCYKO@_8 z^fpnw;p^Ub=?{0D-@smah53BZ&L7hhKWR_E7tdSfvN_HmHQ!0+vPG(uPwfrSHpl!{ ze@z!qYdN^lg&tQ?XZb-**q@rPClmojpM{&OcGvylR8|+Ds@0$ouSPW!Sh8baqWK5+ za^$-rx8ntH3qXo#elz08!TtvH9?YLDEDj8&A>97Ye_x3=O5+T$%0-N&tQa`4l zQ3Jsk!LJp4+{X{Fx){uooNth^#);?qpWs#kQHK-BG@D(w2Ivh^9bzx_+g#dm?U|{& zYVF$_FHQZz-XQa+q9Z{A}&2$iDsVQ?dvW4a_Qmu*RCi&AMKHQtx1ovy~k7T zmHx}vN+CVLO=%59PN|A|IZ*KbZkNYL z`M+~s7R(;*HulWm|I?iW!2SRDY~$!|;p%AeKXLz4SK8f$X&v}48HV#Omqzvfw@}x{ zSY?0f#OO$A{mTCU6ODL00*R~wT*&zMi^B|OcXnh zn8kS7NXcng_E*#kvio3>yNT-`wa)8=vs1!#2<$15n9PoZjvX)JV!+qGlGdR6m%1Q< z5U}_Ibo6{(9;ba#P;6F>py1hu)8z0;-~2X~;!jIP{rS6N-Hhg&@bGHg-j~QoNnFl zkh3$;vil)S_()`|*j8CHDz>T_-KiRedg3G3u&uudu%CAAbnhFvXp+e!;beyRIG}66 zV;Ds~Y>~R17*$cB{VtrQQD;uTiZJ$27|XR^%R!Iwiap^%UimXy)oeZY!JqKY2&})g z83DR_(yDg*fU>%eH)AE2Etx93u%>tqp}+fuJKx`lr8v_gS1mVBK(dFH^-7)MdU;b% zyt~yW0G5@*Wn+Zw${N_kb+yL;4sXA?3bdb&_(f=GpL*LjQquPPiZQNzAAm3S$M)sx z|KaK!m@9#Tv_0X(wrx8T+qQjUn|ET{wrx&~iLHqywr{MR-K`J1Rp%$1>gsder=P~F z6)AiC_&E@xW<;K)-FEwLO4-lW462%oC{Ta8R!hTaXZ7q$#Q{63?7}%`slznmYCcS= zl-u<}07^hln%#E7tx!{IV<|`dR$OIri7FWQP}RJ2aFubCsugq%QkC4i%j9C_&LI_Lg{y-V4Zqx!<0~ z0aU7gtS4*-Y)ltip>=6ESkHJzE}T+sE~yA+aqUcYkf1#qf!_gFS_d(fz9(Ze^m8Xz zPFUeiapw6huqS<->m%k>(K12`&CaPnD&crw_!P6Rc@6~RiuktI5$|_Br!4jF$I4~+ zcR53uqmMa-F$>w|k`*xhP!soLQ5_-V9r6@qumH)g=pB*Y;&on4(-C>b;q#EJ3p*mm z!3G2`ghPx3?s2G9l4b^%ImHk9E2dxn3)$#vSg7p!mu%xEbAX8hh4m(iL)zvj5_B67 zO+_>)65yi?m{77K1r*9$M(4f2g+{^T3BoyFh=Yq_8%%AE<+!?E{kp$jeIovr zXDZas=1{xm@sqFP+-ze^fLI|g)$)(klYYU9O+JiQxOWv~-RPeR?!{Z-bx)TB*2Rc> zaRBwg8CxE;0QW*DQ22QQ#{!vM2P0~?n5TWn%E}_E@+3JmIkIU!n%^_j%!#4(l+QZ1 z$ydn-gCtp8A*bJgUND*1qU8RhbVl6~%VGhcxVQNag74*1N~R5c!y|KwYz%=G-4{75 zo?O5SS+vFZ12QokBFpxun_8NkIRDY0oQc;-7> zZTv43KZfW`JMf^fH_ z+;qk4xRm&+)PzeszMPTDTaWOyCg=!(tvr33lcUO$c-6U>uF;T{yFuoBm#WPv)KEA@ z%lQWXet>JYcM*o))?m#wU_Y1`C2A8JtLtru7y8H3mQnwHj6rVIt_Ex2uN z=DKhGufC7V=BII?ua8fhe%f~m@}DI!$sIH%ToH0;Op_TyJqW~D6g`Zjl;klIxIir@ zjZw}X@-#|ZkrE62F~mlO@6Kw{+lXZ3yJ;b;xVhSiw?x~HWA=U|yF(=EyH*+uI*kVu zPPqPLJ~*~$cL)$39^f&9yxkcuchJ(f&RKHVqs{l^|;mD7xK#UNYXN>%LUd-db3VWK$AmFUC(I7Tl@30nH zujUORbhQ)RyV^PG2N|dxu6GCmYG)sea~b||>2F97@eTRV4ZK5v!yhpnwNkNILdhYM z=@vLT_w)6W&(CUmnRMCR1g7C@jG=|-Z z*DW3Fm1MXZF3%(dXf-7e?(QEqpL+SSLckJNrY2eIS;LQ~9917*(^)+0Ev3cz$oUw= zdnQL7*3|vm9CS6*`Tp8ADOGO!tJr_oS`Rw{2SWFeWp%3K0`R?IOYag(tQ)Wz)6SLa zX4>4*b+(0TBN8LvtTBRDMq#i+eM*E46l7t2wIVF4hZMjSfFR#6?pu(9H!N#i#tdVX zuinEYiNX=Um1L3CY{`5OD*_f^?1)UJHulZ`f;XZ%c=`$y9>rF=E^xqWKuQ<`)^T#cC zu1+_6al5g@Gz4H@z?kdCqYtB7i7|heo{V9TNvqD#_J|8HLt9xP4U*2074jmxQIg(b zjb&t;!|o4D!+X>1Vfx%B=F7;>&5{UtN9}SLQf}G10e2A$$&(E0=k`yxNw##7AO}7r z^2I?4T{yVjuu<7%gD|C|+q{vaIqN6( zkG=ShKH;c0MFG?JO|+;MUzl$+ksfeFRA^!PztNeb69FL?VNT!Jy`oi%oE%(8-cWN~ z;lCg+aIC@FppLg*jYuYhQx-0F7lOb3I~7i5UB^wXh8h3=h%J&yj8wLNQ&MaH@?nu= zR5YUGN?2APVzz>`m}ub~xULOMN`WTE!b+Pk2S9{Y1)&xT>Hr0>jN^dQuYf!XSu8z`MCb=x2G&tk z7%t)}#}r$LUAyifk(k!}L)ChfrKVk;!PC^T#+60%LZ%svR>yR8*(~l1QH%3}fv4SS zjsDYS)!6w%k;YRexmbL?kKeQl{==5QCcW#Jr7_f?kRxvzFmc!B6$ZQ>lDDBBCC7<= zxV05%#rv*nW|8T8f7GNvA6cZwbqTfDJp6TJI#;jb9+oE)Flo2;X_AQ>6C}1DV!v{p z1I|P+at;ET7Z=NDWc4OFzQ(?aPrFt149=x7ZF8+o)eL=H#CD20_~=?KOvy@67)Sg% z0Ys!3geSd9T&aKHF4IEW@s3?+*84-FK%dG9)=w! z9v@~!{Sh`Y&!5;_ei8G?%1rLXR9U z4zP74TWWv9I~jF{xa4stfXIbbEST)qK|rrIK_te_5E~a3n!y2W_SBke_aib`X=4EM z;!m}a3#Oe!>;AZb);q)Y_2~UpX;IQS{7nCY$8 z(zkF2Ct+cp@q?@j!)>~|5Xh$`ldP5u4I_c;e-$&2p&xmfCbx=MU6|+SU-AysD{oii zy9X>CRSp+JKLR)KX=uEa+4eH>crbwFW%)2~O81T9LICLPT#NtMsQs4ux;jC*xw5s2N)`Y#Q#SFbR7L z7-g{?$+NWNLxO#{?4wrH2O{G$A?v${G!TvGgnEBIeDSVJK~|s25}a4q^$a*owcQRg zkBxI}-}%KEXVDve2M>~W^mRg~TYp1FDIF0e13|P%?0(`pvmzwjvksENXhxa4!{M#> zoiu%AH++)1&(6={glT^>W1v~Lh+r?gY{DPImzML`$02bPo`F8>CC#c0tfD|`i25k2t@?DODxz#%8GUdL{d?>6&cy>wXz4 z&Ytvk%i&av4BwWoWa&7|N~VW=9=t?eyf=FFFgu-z7(=G;llgx(WRf;2zl;7ok^}yg z6psHYDf~$IKzmm;35At@2)^U!&F|Xy5pwH*x z>^H??^S?Bb#T+?YbK#z;K2%XpH@!)MEH|VxcsN5Hz&KavA~=*0DbyUT`%nk{;gC2v zR1C6=CFgZvnq6NQn zW`DKw0#)u;OZWB4ZVciBjob-NG3``pWd{%V2y-{jf9_o|%K_7-xb^FoS}Z$}hQ`&q zytMonUE)BlZ^6ICYKq>k?5Zii@%4BPH+!yi6f=cU!C&f5{~*kN>(frf0NQP1A7QH% zp&eB1tA)YmzMN<5S_#*CFxQ8vgrR>gz>V>42OeeKMU`g6UD{b_KoivO@{F;9=qrD- zhT;-76Xcu3nGwPNz~W7FG8jXQv)D90v7LQaooC8*~dO#a0|nx2{7)CTZ8GzDZAQB+|cN3|>wVAi5Uai1e>ofTbh zIbS37wob=;8b_Wn%d2TtkI(aST0Q>sG~Mu@ZoeSdLVg&e2@!LURP~MD##bnQSlYVZ z$}Nj(SpoS@nsBF-2n&3h zQjVO_W6O+Ww2%r0bY};vGJIlLlFf;@uVA_W_(DgSMHXQ*Y?Gg3Ucr(?zo8ZXGG+}` zHRBU~QZmZBGO9^E^AWs4W62n}pNvdB%@L8@q0ApL;)uDsQS%_W4+jjJAodkl0&SkP zVlE+~+Xu^}0>rfTeuKm)(!!gf%}y zR6nD8-eAkW$HINWCXFliSD%b*m}8QG7<Q(U!M^1 z!8`;uEG#n6q$64YD|owq*mOIp5MsG3UYSjUFrElkg(y?Q)V>1EHEGo*&bl=Q)5i!o zh9Pko^JCwC|BLOBM| zL{p=zERlhjGxrJEghW13xlk9To?rswQ8?)GBmiA7fq_ssY}g10&pQrQ zjOapfllpL3?=I~rlp%SM0`)_ky(PO;f4JG(Iex+MA=ejkWWr-_(+uXhcT=7bF?+wN z!E)N3ez9op!f>oxGUQ)F(IXz2I1?Jcx|=yYecCWOR`uvYNrYA+pKPV48#F_@Fm?>X zvb#(o-I+-Picd^*%o{kv(?aeShSYO@{n_f_!e#I#-CgL=*+*q^K6ODUztxCBl|!mq zgKC%NXRHW(Jq$zYH3Q}_O;$UUAxYMj$U*}ILO4&l9+^W|fu$iv(VtAI5JY&uBZpL9 z_3fHFEHD8jtCm%sswXpOik0=0E@-nu&nXQ%irY)X;rQ^W)~2*AO0i|5!E1O%o}?(uqH7`F6Fpx3{&nLT6?F3&o)`I+jIRIx;E?8p}(8rJc6E1@5-& z!WP5oEtS=-23oEp4Zo}fo}FOm**nD&2Sf&LWb6}9j4zGVuaR+EeT!ayN1)c)CubYW z40MSRbDWcJI@=K+4XuF{;bQ#B1<+DDK#R3rzQQEj zK@1EuIE)q>|DC$n(n#h6^58D~!e28S|%jmB6CJBs)q{;20*Bptz$Ih|9&{k z&dgCr3=q2^Lck}y-6fQ4(c3{~3yCE6_pxdwLX2ufbjuPGk@mS$p8%g#_%fQ&g|cma zCEMLnb}&vV!%nxLVgIFKBsdPv)ZvT~_}8Ybm%W)4OPb||pB#4;n10ktSQU;=;s+_2 z=JFUzfvKK<{wc5Ld9`K@%6v#B9b5?oQ@h>>b-m*XW!89R3uU&n5n>HgTC1$fSP%xv zQ{=#mz-pql`GaPE_ru!AG6<2y zO}w1{?a(SVaF9yQ?+@F-yuG zU@hA})4_|zUFa=FJnCV{k|S%qW{+s;K*#Fee-ar+by8nzxJ!@GtGcU1>z6vHMenBo z$NQVZG00?sn(pg>LD<-6ZRrVcOMtzaGUyZQ!?4CZk3Qjw7toXx0`K*zYRePfpljyo$y;m ze?(WZ`Hh$lC^il50kCY*i4O|`w*^3JmW5I5MInf{gXrV|7C8w9dfA&l$LlQUM8;2} z!`&87WUTj=HdiLF^lX?IHb~qd(~EL{a%|U}oAa;$r)eg=gQfbp@OJ~|k+8JkyVL1p z97~O_q^Hih?#LVE|7Kb3Bv_5SzM?R}r{x6vP*a$BPdlTe(gOAT;yHvB-aNzVnu&F&+7T=~L-(reW^;UU?9|*c z`c;nt^LIBg%8qG{@pfj~t>1NCmG}9EFBCrs@aAcU=T0Tk*COSu8#6Y5{ zB}CXOQC4oQCj#|f5b*emDrGbuui| zcCt7!rNeV83(W2)LqXT`W}gMpOY_eW)}U3Gvv3SWEB=XaPQk%h*2F9BXe zuuzedS(wpWiP3!hyo8+R!ZYV5)8Z$P(YEV{F5k+Fuc>I$!`4>zJKO$Svs$lE5Y={l zcp)fbJ{)==f95Pmx~b~b`FEe9Pgx&vFA?HZ1bhzOS6M=!A9LJDkaDF^9vM!B$TPf4 zqSXyrcYg;X6^BoLK;7-r^BZ2@j3dble4(v4%__&lUE!^B0D3?g6C6wi?28s~zx~;M z1IRwhB%Mps6ea38%+{?y-ONGr9ycoVmsk`iu*JAc&-sb^#RJdm?dB8bGjM=C_lwgv zT#S=1X!kR#wW~7Q%Y{Q{mi*L=yraKG+g99+BJT&b`KtlauhDnkprbhq5BSmd-H6lp z5h+PBlEv%qcEopez@a0LlPz1IMIs(wwDxH!2Y$zR9oJwfu;{j%tj^-4V%;7aecEtc z!ZfRuKv673x@NS>fM}|zzl(vInlWaXDduGoYxL|8c!;YOyR)B9#&;;~Q){dC>ttN* zaG3IBMcEmy84j#Osb0?n{2ZH--9=y_Y1h`Wk76an0jX+o3&w(~#R(ed15mV@bjiIc zv@(x>Ajr*Z&i(x;@X{6b6DC-`%rf0#WxK|*fsS|?4B|sn1`A90L8mH-$A+b}V1WTt zvM1jBqh#zy%&#&(T004N!nEiM4~k{$&Vh4D2*J9n$_6#C<_+($h?6X>GzGyQxJmb) zvA`y&^b=FUU{UyJmxg3u^7Fcyr?{FulQtP_nSk{m^Bq6yP)j%bu!7`yMkw`l!c~D3 zSW8YDk98!7eNv#OS_mh!x??H=G=QOaS4#SBb~iMW9%k{&a@Y`clOgBy-IZ!H^C9L= zG>>V2kH;{$E%-|A%jF~)_@oiE|L9-2Q^z}b;Myj=UGr4_S7Ht*rTIQRp)CD4B-g{{ z#7NLD-;2JxRNKKvXOvpkWFKp)lY`mhQjPMUa>Cy^^9Y2eBV)j^Rq$kixz|S~kyd$; z>Y#Iw(cJrXCda?R5wbCSxk%l^%4LV*+5ISvx*DM`y-4SN^tP4}2rh~`Tv5%85gGZ^ zwuZ2Oc82cLxn2uY|A2fa5aB=tGS%>oc#JI7CCQekX1=i47C8P!DU}}Z^QQplHY?D? zKgwgTU{#)Mc92Fnft4|;_&aI$)=4V<=5&4k0s8Wgce<4HIw@R(B$lais2-`QK^&aR zoJi{TnY?d~3U_47`j8Jz3i(=FWqgO+r-FqUp~_!7KHvd1+b?8J=}`&%u>@`srJy2Q z$6W+{%uE!<*sFDG(h0$ba$d0?GDo?}&;*2XwAWbE^`RRk1`Kt7C!06f%IViY+7(*a zJwL^uDhtf9npv8u235-1x1a=vS_x?xOKvGQlSwr{W^Wi0ltm z{N1RC-N_DjD_$owR1tYD_^#f2kpiE=GANOs7rlmuqA=V}G`J+;`OQcMx-fG_#YKUl zH7Lrul%jR&M*^8f(tjP(WHffteDrpH`FLYwp!j+q;lNcHtIJbd(t>6p$pg$Gd#e^9 zY5ZSDUMeVg=EM~h9sdxxOf>b7agH*rn_hn5tk!QJ7)(B^$-rAJI^;dY@`FzGJ8dPp z+M>{wEG|_D_qp{Xpil*Ki3CW(N8Y6)vRC~3jfS;=zs{c{`nxcG{PXJmrpK$n?fo@d zAlb3hfyN1JXdXeiiwhknrBzkBn4g!BXsqx8F}yYKD@8hO*AKj*h znCTVUpY(f0KGRB!p7Psg4o@I`y?DSoO|q~VFKSm*xT?O*N)(G{nT)4ksz#< z&M_;MYaGTasNE(Ny6c-xbaj@q$;+73d@4atn5M} z)krZr;kBpR%dj>#opFh0u9PPiXJ#$6KSYiR3a)-gpb!*G9%N8m|AFL$ht=yjXK6Oq zzP2CX7s2ejp~@=zC2l+1ELa^BU{Bj-}za+K?q6&FnV@i2PnFcf&x(e z6uxT`PZxukCy`c(#_Grd`4Uq-NPWa^o=ncdO55gPE(@Y}Lsg7Nthh7XC`VLm9|xPC zNRgOJsZZIw&JRKMuNWuS<@p6{zv3rA?ftJ%bPM0zIQ^wpex{`8q7|fNE*s; z-_mtu&PrOK5xH^mOAIeZN8muE?7Ly`YC;{tpW;Vk_&K4KIhq~;!GyX`^a`}U)rFl{ zOu>~|l0L$=FzcNXxE??pz$yjAtd z-Tn!TV&PSU+9%PdP>vL}ha=QFQ3%~uJ+TknPRw+TSc{YBFC}otgD0rK%akD(k>;Bf6tr(iU>6l)tM*2_< zGK(}q)Z#U@B;}6$QYyp8`Pa{R5c!}Hhz`ijA|JtSrGCj&u(ADau*;TKKb@Jnq1BG|23-VczMH;=rA z1)q?(gc{pGutp*`)2;IxB&csSuA1zR!LWaHj?r4NvIh*MN;2F4ueO`YV&(HY#z&Aqb1t<0oq-^+xkjjNxaH&PQ(~5L z(V`b9z@U_a%;_sur50#cn(RyZ3z8@_jGoq!;DB%;7FD+#*-4j#;MGz{TI%=JL@{vqn~GU^GU!zCR!LB(xjK zXG>74K;+Ks@LHn9Ps7NIeLD?j7S=KioeU@Rko1<|6!J`+t3J6PfY{LxFKf0iZ{5 zZGYE2_m5sFw)u5V{HQka`Zj$*)tyaAd2~PSd%yj*)pvdUw4L{MErtxC9SWQgfoC96 z%e=Ag@$;oL z^^&68^P)y3C*7RfcpCS@-exS$ua({t;P25Id=vEo!Vtsk29x?pOQH)-0lyQQSW{E@ zsgLSzGAD-P#3}K#p3I_t!b*! zPRBj^xayJ8-iFI9gAgjJfh#qa;}lRf{1#z0R7C>f##9lcCkQ8}rSwo(>5B^{WrWKt z84kq`XET66J~DPxtnY=Jbl2yUe4JZn7QRsL_L@0Gg7s?Lt#$HEM$MkpA35P!ii(ql z%PZcw8=&TNaM^I{Brh?Aa!y@C&R}Y}>~U)$nIZ-askBrot$BeaU>g`C7sYOJ-9=?? zGzBAbcS1_YxFQ>8B)L(}F4>9gK*>T}?nc~bi#pSoi)w2)#|C*l8z*C)LwlIQkm~+$ zM}9+^CbI2iskRyc{c_u0f6`I9y-UzxYa#Bo{VI1I7)+%Fs2lWQj zYz(`jUGIOYIV?MkxiAl?jYLYF&?<}=ll1;U)d+{_6G{DMAZE;dOi;K}+T9;>MA~PB z`u6>1IHJ*zpxN6S@9j76-ip6+&rLz~f2+}Y%l@A8l>fzlE(?*u@Pm)1d*-5|@RJ(w zycGx(R+DWdgxVQH{$0WUP1;j{{=G1SnD&{~^#f8U^@bfvXp9*nXN(#19WI{snKPjH zZ+p#`r!)%S50F#LH6!;%3bp;hjN-)k-Efc?;~iCr<{AC7<}dRzJ!(1_6=~J<1kSC` zqRSckQLRr^9$dwCqZOJ0c%g%Wf*ycg<^!Ma-Sb^+AUOl2B0I{^bJPt~!bO{6Cc$)Z zK*F3?sV(D63xKT4LFE8nH871lO3t%2SZa%&49uEY0!oG#tL!&j_@(Ga!xgD}I+uq0 z$*8T2)9VIjwBWN}C*rLYdLi4Ss7A|bmb0k;^&`P*tCXsBfi9;DQM*mXzJyh^>{4-K zVju@cEbh=ARv(>q^-=E4voz0P7Gjz+{Z&(0$=73soUa{J&Pcv*)va#%6TEoTR5y#M zD%DMc5(w~z!t7>^p2<<$n6lBDDrw6|{xyDIXS#jY$uO&zH3@G1L?Fk9XK*Mu-3HGb zVQ`Qs_GxX?)PHuab6=)o%M>>J&h`UFhSm@_sb-QfNHW=jpxJ6l@#y7Grx#8bI ziIl`sUNrcla%LZ}n0p6ZV+Mg|Y1aRFciFA)33`>;^{x0T!%b*-zMhuNG>|4bY$Q85 z38c3&fx`d1wrrt~BKRZHv;>K%eW;$CWsmU^cT<wk`S&B?NmC19}caF&4n& zv_w6#^+Lhanc{`-bVNwqmK`su0x%)!OyL)MGGD$nb=X0kr(3G92Lb+|^qdk-5sw}6 zX~vihz=(1z=lzHc?C_AIBxGbGuXQ;<EHK{}VvA7$xDH2-Vb_KPgrVG;tTV`JyqK!qW_be0%X(=4$BIATRzW4Q+T@5@gk%x zr9KxitrUc$C_#e>mCK+i2*kG?%UFw zA$(7t!=KB*_x}aB2I2~VeE)eLaQ~6&jQ>fhCs&F70E*V`JZqFn>%r;4Wuc7V$V5;{ zFxzDP-D*IvFtHwYsQx5(?3fcTnje;9epeY~Z{9$bMdVPJom$U*;=Nwa-1_HWdIwh? zFoST$u*gtSrWtP_S(G5O;AO&YCkgowU}$kE73<3pKdv zAXKu01MVCn>L$W!cJ!<_*x1inb6KSl)tRywaei=lZaoN?5LdL&_PD3N_1@sF+*vM% z+DzJN2g05QkHyD@Scax-lEj`_o!1i5v1zzx?YSR2>3KQ6v{mc3+Fh-59{=X=sUY@H zI1dmKHOIao5XUlE=>)BeLgxyKj63L6)f<+{ zxYpsLkcS6IZlbh$fs*X~&ymkq^Z~)2I+aXnF_V0D zSXx#N{|G`2R)qBf8qvg95)4IDaBkFfW9hXb2HAa#)O?zmd|~=DMU;<)A@d4IZCE@# z;UGrSBptX+MDvVMM&W6SoXSi)E>R&L;GIb(Hphf-<(`&RU!iS&fkgbNs9V3SMZYZ_ zf)@>6lR3@0=N{E)^2n_Yq<|;Kbv8wq{*3ajNAwFX2@?sY$Pm72GBv$LHKGxdjjd zH^&s%8b*{Ry{kF$Zx-SG(nc+9{o?rZ&db@?ZWe7ERyszMY(rmd93C2Jne7)sI2@i9 zC9mdqE{^ZLvN=$N?9&n}^4spriN{LffpX|~uGIP0`yu(sc89J}?a{J)ew&p3?J#bE zqkJDrq?(t1m5_?tU(^=#D{jj_Fb-#*U&yv8l`JRDqB(oT_h(;eY4OqgDlfX^IeIsh zt|OR#lz4~N&ppe=)|)Pzo61Z^h}-;_O0z%X1W?(KNwQf}WrEY&XlXju>^RLt0lP*K z&(G5wHg|+pYEheAqy|qeIM7ocY|!}pYi|h~r8oa^^k*#%4iY|w9d3A#3 zTv8!-w2JsEhjjyGkpL|@ic|zgAh%W+Ilx^mI#a%m)if-rb|F&qQic0xj;9O{R$Cfd zuE9I0kADZ%7*@AAdU7|_whdcs4f5Djn0m{)yd4V*Em1@}PNIS&8N>CdNc%Es*fABK zOPfF9=?5e1V#5^XZplc?no97r2Xc5@=!P2X5ZsuV24&mg(5-A^WJeJt&@->{phHHa zShGPXBwOvSmlf3n&m=iMQ}b~2!ChN5qr0SWD1#j+Vn#Q?@q?_Y{&(imvnx&=G5-|D zb%tghmpL|%?Vz^=Pai+ByV}_lKgz+{(pb{;Sbm=gy z56+$oVZ(BcjV-$Nk-fnT@ZgN4n}sOMaRXzhhbG88N`b_>tpv@ay4wYD4%Vs;rafB* zzD3_2Ja~{{wM*M_0-Sm=Lbip|bLcJ1g5@x{hY@TsgjAJLD=DHFpRw3t1Fu+ZSAO4? z<1GM6LUw0>LL z!c!F9P~q~QlA=2wnm`E1232`sgyD0u7dIrH3{BN3Hjl9BEypmMnxR!e=ia7NcS+3! zm6Eq3=~vC0886@f9pZ5{>A;Sf<3wyDIKQQoSTB2k`KIAGFdz+FvQf>N+EiVEutrV++Tsoj&aXm&n&uq#)vZLhiu+nL` zECfAu6v2Rm{phEYc6RKas+zCmxGo%RD%D&TpR1%@t^}Js;CuzD*!!tAhEhqf;=ZlP zf|H9YPna1(S67r=n{cgH(*Vlf!}csxwFUdZ0YU8wO0_euz!b0hRyX0?5Ln~*^|KUe z{h!^E_5CB2YfvUueo1CIhd%vgqc!55E3gy&Yr2sPn)K{vkdj9YYFS8@=8K`j3SrxS za-3z7L^&BqfcW`h?ObV5S?dhfs%TxIJY4z-<5~ORa7l{wt~oM{w0v17Xn95}&p(8J zQEsp2CZA>i9`&fWA%4)Ci(vvhX<53+_Q3lJ_1W!LYINi;fCYA^u7CNqxl2XBSF;7|5reEXlpOcSZGqk5a2YOqA81xj`9JE?T&Cjv6g`a~sv) zuf9OX0v%KS!F|1%j`J^?y-=Jd;RXI}DBTLj8!!0Eq*`JWk)s;Rm^3+VpHx8jOfpX{ z>If0At~;X7wwayX>$7)(&!`#Co2SHvoJpKmV8K1|i(>B6oxzWt=_l!CrDLLAkz+%j z#M8~i)SiJ&RdSwU8eZ}>JnrNH?M=9%z1A2fAcNI#S0h8Q2R@vVWpC80(H$2EoaaPWLQRp89i z?FSz5(hFEXg7rfqC)O%1ENRxVz)1sq3UCVf)D3^D?tbVUJr{YPWV2CbqRc6JVsF3; zn7z1SoDFu|mZy(FAH@l_8E0E0>De%}<^Y|oz>d`tV^xlUIzVVrZ3a-0_cx#@5~&_) zn9CTzjoU$D56X??;nLj_Ihkkdv5U|wA^pKFfE)~68Uz=XtjtHc5Rl-})#R}Ooa4ZDNvUXnEO*Yt2T#&4YVOTIMKkgD=s$#L zm6Qeo-Ly>ycL?H2_qAd8W9jy+FxS4hS@zQLGZN18$WpBizTCTi(wZWw=gq$WE#GTq zgs}VLUF#4s!I8q-1`w7|;R?o~=xM-ilqM-0g45?ov`rv%&Iiqp`%981Ik>+gw& zS#|k&*~6k#_S4-y$@^+<^W6e~prxTTAF?_o2J zQRF*&eU=RTB_0be#7W&>mG^zm7P()HS9$zvxVGOhg3(T?Qhwn-01Vt;8DoY|lOxg9Q@2 z*jQ%Kg!ME*V@-UEywonapu{Tx9CT!DZ*|kzgVEA+Ba^R!>$nut8no_ZN2+Tb#V^TM zx%xl1*$TVh+ltK#kR*So0cQ&E>^qd_AQHptM%o`-wFV8$a+}>|1?gPnU3~3L|YHQ5#V~im`=R2XHbc!t~7;gKeY2VIb z)e%NSOj`pJD`(pIK2(yHEfrrkT;}ffS4V8~;=9CM^c#a24@HN2zc)6kxx2Cv$>@{~ zzZEcc-kN%>;|du8nff&UXz3P%4UpP|B-68TGF@1=fUA@fy?vrGNQz|Okz>UdO2)1& z#L#)usYi!|~2foie+oe2IBXqCF@ZvjX3!0D?WnAOzsT4%g>31K_opuViacV8=qeJ8&dA8nx#mgFxwIY8zag^%A1oSMk2P+hMP?1ix2 zN_bD-P3#^`3}?Piq{3yi6j2CIv=R@=kY1s~+eFo%zyJ*JCny&1tXe}bFH3shjC0AsEGif7a6g>mYQ(MIuZ7&LJ$#NVE8<#XaANM6luJhnW$k5GP2j3m7SV( zKmJV$FkJ(rYJwc=`*U=MS9(Tb&Y6`)OJs$TBT}(g%_=j=HFcVi{#f;u&ER{a`G?j? zb-`Y^rcrRJ{+ga__bId$7p%{=G`GnzEk~xqXmYy4fCIP3zl96WW$h2U-KFH#V1m|3FULSp6m*BKo~C{t2=Pd!nZPV$JFoqb)q!97PE=z z^gdQ+LQS31hAOdMAh-*L|^o*fMf3&qB|u(6`f+1gtrq z6ZI!X4u-$DoYmoF_DEjl6;}6@hTE?`XnKXn{C{vGNiBRP~x$RCfLeV7XywD_HXG$sB~_vFLE3g|}& z1vaTF+!WP|RO?vK`g5=I+b*Z95v9orz#guwCJ(8<&AY&bX-m$(Vg0n>J)Y&f?2VS4&U&QOG7HT83+V`Fj6J z&otCMXQ`%+Su#EZJYF_GW~@Sg6|e&L4m3Yl_Om=4i*PerBDePRGT|hf1EB&3J|2#$ zY$)G#p1G*on)iW5AwB4WjO28TE)cOe6oisTak^yQT3;BhVVXh>yTJbdLdTr)tXvxZ zf*8>EBrcL#z#|f2PVDZA$0A=5O^T`VSVVJ^!z*~$gmd2gfWJUt0BuTA1LdBl8^x|$ zwo1~!w?MRT#9t)v=?kuvei!~S%)q5Zh|BoKJr#C~y(seAjd<{Mw?@u#(F!U6k^XqT z7=(lI(_BYF>!0{)NYUBBaHaI|_XiGY=;UvA$V$1%kRg#+qA}zlaW$yzx(i4wp~9q- z*^b;z5%}J0N%G)8qVeSyNE_gX#mG!%6X>!uDH5*|KS7P>x(W{Z~8Oj;M8)k~Z;m~@1W7W!kX1Ry;6f*&6yYu|E^JgdRYvp1Z~HvFS* zCz-AAKhVmr>l?pVXg;t`uXw!=LQ*bE7Z z37*O=q9$XgbES&q9=peq8ipmi%m4oIg*liPkVKmT<_$WWjVD%O5YdYITgfH~V z;KNI@OL}p;$oVxMn|k->0n>g2xVvR$+@icR~#TMFIv>t6fAZ_Nf`;YUmS`b;Ed|{hNbcXxV)fnG^Cof6NdbESHJ#goDHbt7naA7K_Wk#dlr8+cv^xnhLb(7GH_?69OxCfP^I*;pacxyP=uPcDwW zqD0&lZ>3vwhK68*$+>TuqPL=#=9}%I@}Wv&%2AOsxZ7`T-elXUjsw_POFwSA;-VpJ zLrlAs-#@-Fz!aI&xM}U!BV}0TP+@2))xoUo$-u?y~NlXMuztRK@vaSqyVX-xw~}_QR%EorJMX;YuUCEK>Sp*p|eq51iR> zQ{lmz>>UL`0wc-0*CJ%S?>Ux!5ZIR?&THIkt0bexzZ34d(YE2XBEtAXpP34ks80#*t<%H?#SVm!aYot$GUTCs zayDb6%bo}1B;;dR3bLAL;cqF+t~(pF!km)gI!W!xSXC`Mrx!wcM_fAbkO7x^w(Lo> zCLOJs#H^}6G;K(a4s7>Ln><4^#n_c24rPN%60}w`M6`!OQqe|oUVRXwvKd;EPdlIP|HH)w9Y>tZ$2YB3Lee0b_Prt}@77g{(S6B(g7!;82> z+v4MUS049aGfO<>wCd>@^T{7%X7KChHDqhJ>j!X9w&P&NkS7Xe>uO?5(6CeKJyD-Ow0T)d}O;^C#2unDnH2 z>hdJN_!UhPE~xtKM_CqWq}AX5?4v*RG7*iq~#{?E_8My>J?7}Fw>O;q0b!V~(xRzt$2N}I>Wbty_o+%1_&RmwVjv+i|3AKNN7)My$UuL;{Si>DJ7rVVi_>(=QjWyge=kdv5I$Bd2KF zeZ3^xGsEP)_@Xz=r*b8I6*|Aj??X!5B1EIPZiH}L_ers0^V)4ArbAi=-AB1 z4+LpmSsUlC9F#ZIRJx3GnB;Hzuec;kJ7|)0X+vd~pb*pNiv$;mRGeB}MlWi;`I{&q z5p$!2FBX<0GmBNS*kl!f6kqn}V=(q4dADUwTK~Gq+?bg~cMT{a#Xs(?0T;HpAaOea z%r9YSFuy*ZAd=EQzIVeQs<+n3vr{9m(A4J1t=k_p=aXz=(^7YkHO-@y%XS7|nB5d! zwPg}McCEq-sd7!1kz&EdLk&|zi z3w;N#5p-iPx6Sp>sKJKm_qZ6Pa*xR>u~pXxuG?3{Z`r^yW4HA09M?Je4k9M43%NH* z=lYM?)Gds>0xpljCdC>*eT{i&7?vEt=a6eNmY12ZIyA!j23h5<-ocTjKX2iX8;!5k z?##eaBb_dT^I6Gnv+o*ZOR;7E{7Kmo^QdIl#0ShE+xeg}-%R>eG(`|1-X=PPqeJ2Bt zr?Guxb}wOSYI(>y?MI(Edn_@+V=5PrRFuifWfnO7xOc7UCydJ3cjPD}w!BH#^$st8 zfg&BXwiNyD)7*WzbR;(E1<<%wf*kvyY5G-uS#u{x0`hgxE>X# z-DpNkbn5uQOm5kj-wQj z>$q?^>TU5P=ydiMj*@YOG6NEmQr<3Os#CD)`VF^@RLuFlE|{`i&?3i}jNSAv zILeBcfgH!+Tr!iBs;!bLsI?0)w5IIdrk`hv@Ctj7IcKHQDqWT!+4PdzLMeo*{+Z(L z{>2GFwvgv~$VxV3xmlY379QnS^{;9#D!g~kM`$LV=UHuqQ6f_xG`ftBTHG1une3UG z_)kcKa_c6=v*#PSUr`rW!bxCAoh`Pn`kf{^Un!8&)-x3`C|j2%A%r=3!&e({g`CMv7vC0AK$TKcP7 z;)aYe+{tgXcw5sgy;6>FqwT+O6}h2B&Cn}r;2=lvCLjT(B7fl#&4ZAVLXsp|XKNba zftYCAItS#oJ9VO&gum_w;tZB7I{}?@@Gx%c`y=FXd**HUwqfmRGXk$+#ZmcJWYU!; z!A(V6iPv~6-Vb1R;2==fOETa(QH)(MZxa~>E<-=*Q-}V-b2(93F@uHbH!wDXD zxCEPT&09wRB4L}Rk}lBCW?lCLBMUf$!fm{yiL{Y7_#+cIxZQRs#eB=moE}$uW>0M$8eEep#@%?DyFB9#ky?!3Qa7Z}UkTTbTn`kb)I3!FSA)M4xTOC9S=!Y&^{%%UL%6K1SQg)tmrK&{g@|)A4XNI{ z$=-33BiD(TMnvL9xv{Kau#l1}-w^A$kN64Q7Rc%=C6M(fl0C0$Kxzk_f_3|B6o=u? zxwsp3<}`XvnQg_40!C7icAOW=6Lps55fmyM^SmCq&KJu25!$m))3`oMGgYyKTUFk^ zCt3MKA|t6?{LsjkT8$|Bm7=Dd>UHgFpF-lQvh;aE$}%j1InqxsOShIc+O>wYm=&n{qtRAeept7?u=}-!+Jw|_qxy-htWwd zFHC%1|8&5RSs`ifMTiw1=9G=^;up^t6bSzkjQG|dj9T2H?1@;V=U@^;OJ=6G;@HqY zjm)NTF4t+IjA) zl%Wqu<-IbN%OgPL+M1ARP`T&0twmkSnU?%Tjm`rpTzz2-zAymB|W8F2jxduxpWz zFY5MOE7GA=S5YNSk;Cm}dCmWcdANxf&zZ{dH7TvxL|>_FJD!zyD=SR1 zF9MGBLg-gKU}ak1`+H6AbNJtp#E^AaMSMVZh6?;es6T^%y5R#T?+d`&Suo%nr~?hh zgrETi?9On42F6(gw2}W-E`O_RR`&QM;kgA|p2>iCtPodg1rIzw>dI;|r=3H}f1Op@9&q*1|B(%a1Q|B!yC1O2abpMckC#U+ZzWbAxhcZ(INlXN11}vx)jDTVo0JAdEj72cGj#uaLipe59Cw@x;kT zpEHJlet7uf2HmgK4s9F(9R^O#NEU`)W;4({l>(aiewj$bU;ys~E;J|o6n%Aq;tyy2 z+UP?HfiRtEOhm>hJo60v@7Ua*j64)a;VFD$;?E`ZOwi;{>}gjwihh)i_1Dlho&<;f zv(uXaH-C-vhsLlU-z_J8dfaw;pV*WD5HqI!-O(uoH2(RITV#Oo)QS7Jtzf|2DO~7e z&-V(a5P$Uk_cO`Ahst{2Dg4{ipWQk0DCSIet_=KupFEi%CdU9nmrqjGib4=%;0&5P GdG|kGW5mAz delta 37934 zcmY(KV{m3c+pRNkGO=yjwx8IxZEMGwcw*bOGchK1GQq^QCYs<(eeYY}Ip<$@?XKz{ zy{qr*UTby5E=27j1eCHI1SEX&7X-{iJoGQ{iA*kE{%3{^2?hq{D|7%c3+MWSG-l#6AZ$@oq(z=Nbuiii=&#%_S?8{v1$Pc{atr-GX(i1DJLQk1NqSaP5k>Vj~4DX3d$+%21D^re;c)Ed&&N9Sgn& z12?Ix6GT=`G#Eo;E{=aywkJ5$=BeqW$t{YpeXiigcGPVbJr?*Z+VkCMM5vOgKcvxMyIy`#RY}0x>r)+6 zm^YrIC!70-u2i~)3jDcc878+6ziFgt0EBE#S(43?5mE#N)&ZrmKaGT@Fx}vn^xRC! zpT!Rj*J6}8{p;HbsfhDvj168RUG}@7Ts8uj&$?{QyzDEF7bj=U@sK`BowYQCqx#fp8O8e>zdhHXdmhxlqEH-7aa`hHO{92s!>pM(A1Q?&WQ zP)!U421Ws&ELx76EaE}{Y^b4Y;d~Ohtu-)wW2K73OndsL)|$8fJQ;9*3cbIx z1{FVpq`=VG42PiLu*EY{SSZc#t|x9pQ(4GOG^G&I&Gkq9*p9vfm}5P$C|KtD0~#(p z#A1rdb>YqigD_~SY-AmzW(3@n{=cFO{V7DhnyCDmh$$vPVln}Z27V!lCdJ3h}GCZ*wFZW(44wJ)_&Y78A@ZaJYhGAIlVIC7kA>7 z=Fya>&e)y7w5~e_PVw9Occ1VC!ZqmW1_A_GdXqCv^=@#Sjy)T4KpTpO-ev-IV7=j9G3Y@75!#_a)9DC#UJFDC6kgoa zjt-@HJu=m6YD49q-Wb=^KEdMJ4pTIDSFXmaWBPc0m9p%>OOrxVVd?TQU z(xY}7awG>(dT;d=*+ z3H597IAYWhz8vU5ZSMw$T;B$jU0_Dq?|cg(z9Ao)qo-qe5UK}k?%K2w4=-$TrF1Fe z(hL@?o0O>Xa+gPM|D0($%^yW=ElX+D1P7ThPAMdAOEkGymyc$j^Jyfj=O?O%-=}fYDpg|7!_%r?F08@stdB#uchDb2GFdg?fwW__t?GXX=6&1a5O> z+b*OD3Xr|Q_GV$I(ui{F7xl98V)KG`5gUw7n-Im_p$$wi;P^0=z(5F#$tIA+6p|Ac zkQA>lR|!IcZEND61zzaA`oFF}A%b(9IR3&8Aj$xaWGUpT(lcHa@SV|$rZgJv4h4YU z)F<=4Cjqm|6`#xxb>i`_fOv{% z&|`Oj+DVBUv*_Y1_QAeFPC?iY4Y|}Yeozl7@Yr`L#(0dvL z8MyEG2E_^QeIj^&2m^i+b(Lb;d_%=i=E+sBq*=E8E>aHn$O=v;7N5LH(&fScZAB~K zdJGMpL|g`jjE?g~0P+!X43=lye6yEF=@i0z@7hZ({PVvBvhEBw+1!gDIoGrH|EY~W zEqeVN$vR$I65$r;sxmYfx*{8R;FKEl@HTdOBzSnTlo%4#GnAc(8%*6DYa*W!LeER- zy(h_w*hYNhVjg7yiKmU{fcj73*99oE#N#-2S zap>noKfbj@PwF7iV#?|Wo2QC3*%X=S*P|-(=65wAIx{0nfU{x3&){$#>BkTszNN$5 zWp~FC=u4`6?z#9jRW+NQ9-dE2W0h7|$Uva78*I$ex;o10wCo{Z*n8%OX{25a)r|+M z1%wkBK8{3RE>~^%g&Cna_V?d~0V|%DI|4(8OJ5-KzBW0fkqVrpM%lRyc#fp5FNEA! zJ%@_PXC)P=a zUG+FO1)78g2ab{{xVmcL+5X{H`l#l0fWmPzI=X7|z@$ZH5b0w}HmUBNzAPR_m>wL~ zsW~;yRP6zqSqh45JJpM;fs3lEN4x9*ebLDw58RSkwzflQ)^+mnTGsfEg7?PcLHVdt z`mn39A5)`sc{1ZN!C8{kpt>QQm)Z{0=2{W%c40@WIo1!nkpug2wysnwWpLdSU{K?$ z1CM0+&84+kAQlv#PyB><0b|rU+%}TwG%WWCH+$4^`aQ^ zvZV*E;wnC>^43M6gEH|F*f{K{@SGg|DI{5s^W3IaII6d+s38BlV50o48-kl# zS=qGSe3+H9i&^onqb++(Z+jJis;>PQ>$ruQwcK0VMWMgpVTpJj!t6n`T|SzfxGQ!ZFv+eOat;-Vh-w7USr!iRpmmX@{%;06M7S)mP) zZ|$1)5r$(=diVyN^j+S&AU|4~IllUwtI#o7Y z1-0dj%}@kl4L~86#x6dxAVp||jnKi-DKpE#m7TyP!zRDOMXMqQ&3D+8LS4 zC0IF=i#RB&zO2ttLTI9&7U37w*=4DZpGfr7{MkC~-KU)MKTk#^SQnYZ-Y8A@X+O1D zzGQV~4cAjP_pLM9pOCqVo7q5!=DXOv(f^NQc_FnMg%Dt1fiPfT9RFo;D_0Y9`{WNl zM&P%bnk2^OrNW7VBR9veY^8Q38Y^gnLh`LZvY@2E_|>GZpapy*JNIGl&z85F*{SdW zJ6~4O6pzp;0`e435TDSq*7FYf(Aq{za!D=*|LGNPcc0s1&NgrN)BJsYAha_cC4@99 zUg>U2uuxC+61z%IpUU?PE7BVf6`I4k0+kq=ctkF6A@f=p6X_ylwzN`aU)Sm_G7c8d-qozO&t17&Y|{) zPsD(_w7G8-slKyZQen9@uWQ%iVb%lIaFzmnRFNILAILjx0YAnB6Z~@8_v*)V6p+=& zM7Yfse(j6!R<$ovZyaN*fkw4`dU9Y0gW(0}yf&Nn?)sLN2~K+8D3&dZbnn?Ex|QT_ z5K9o5Vjg-~=~1Ho`ZY*!{QEob-tX-G6xJ3O952rnrW*aq0+h6!Rvwkv z@=~mYlz%%>k!xj zA*T+QWHsq3#2;0PHpBFwZ(P~+S{$DQR$xn!61cJ_t@}M}S>x4~U*%n2acI&eZ%)E!*B}Xp|s$1{_TcywUThxlT=FOSRya9{z?ktI9B&eBas?@~zepsB=UG zky@Xrs!;bSuH!CnWW`O*AMSQ{QhJ_Fq#pk#a;c^CdnkUfA{e5%8Y-5sT zm&rG{y*tO;$f54`K{E-~V?ior@4H)V(wI|l@!Q>LW z!|y_qE+Zyu6cA7yqt`q6p)}CzD=Z@edS5kBn`IC*ck4y>H}^!_PH?0w?$nwlP{(099F#t|F=GI>l&mlH5=5P!%qUrh&N)01%e6EzKwv|>{+3{V3e#SrDD$`w zDX+f4Xcvk|ckrvA`xoZBIX%EXKEse9%S{8x`vg%)Y4?8Q34ERbby{_v;eIZ=XLD$| zM~s6Lezi*fxNuqjn(VedqyT{6_C4|FRX$85G91B=>T7aReA4z9M zoi3&0j;a@zvDJKLD?B|cvO%53Eb3I{IG0$Y%i;=OrQfW(gGP4PwFCMYlsVkMn zVk~x^$B_yWa;}a&jR8e2f<3&r#EN*8>Q)pMc*f>;!R|XdT`jz(!&5&C97jbNuCKS2 zemB?pt*$(7DL0hk+voZ{1o)b%Cm?c1Oqo+~ZBD7LU?r5w3tBoZ7u#54S>3fgI{lj4 z>ZZro+?p8{g;C*TonGJEaMN(|qiLzGg=iuiG@GldE${CBQ41jRUz~mQY<+rox;%sT z^n@0_%+Mho+&jdS|JZu;IFDgt=`6n8HF1d#&%Hfx-gj0-mW~^J2MH#!B*o>rqGi$H zc%2tRC&T=xm14t;8q&p#vU#jvraB&)f*HrG3_VFOg^sn9!1=M+q_G|=f#3ZAnIS8l zxSQcvmaM$9Hwdgvmf?Hyl|r#?rc0WlHiuWX`bHGz#kFASW#%~CHjt{v4aZ(RoH&xN zm0!o>4bI<+3U+BINe%y^;+sx{Me>}HZwrpThu&`tXb`i`0;Opk=lZ%9`HXO=b%G5Y zi285TUT=!UQzjt@DUm7pYq*@U;PpT~e~k|@Ba}B!SON6q1AEncJ+E1zr;koCc2ksQY<^8=EP`Rwms@lFOEK9)ZXYfY){}ii?xMrCwN%j5a=4*OR6^ zWVxs%c;YphxKSu2q0S_ElZ)|YPpjV+67RcO+wLGhBm%|C`*xX-^Wid{(2Pc zlwojTD$@5T?Y_ek|74ZUz*2IVimn_LE)PQC!(sme0mWAyo5=DK))@P*GUz zU{Iu{*l+RkXR1s|=xK!`-aD^cj?t!G_*hz6%s5>Q6^T0_5ViOWKRoVioTX-<9wI&0 zhS%88QQ}=2Y%oDjUGB=^C18R1zTi!l-vKc3@{l=#hlawYQ_?f{e6K9D_MKdAJN2kK z0MqmlyLES+L%EID{eI|((u4O~(n$FkI!<_$+xEf2SEktS6r`sjry7}u7tFzW+cL_1 zI}N{GbW7T+v7d17fCq#ivrjXr=5u^d5U)I|J>-q%WBr)DvEqCs2rw)rcb6&NI0aDX zHV|NR?@*t_Du(kHPmsFQipx)Ij4g&a&=KJh|Ft|E9|FXpGpI{T6u6!_HjAfP3XQXu z@Y{vAx&G;+Mmyb{y)e?{2!x9#kq_~sPj}dfE6tsy8kRETIr+ig_wLx8K2pAaQqFId z-@d;EN%biK1@p`&g3pRH`pmaww?OEdg+8g(oWXwNGd-R#LstFWD#r&OAigjCoDDBr zb*mC6zd!cUR?{wlb}=4~=h&db8vO1{hk|;_o2i%~)ggNF7&fS6`^Fe3yI=mYA@7|< zxcH14D7JqMyOIAF6%Ox~k5f~3F|i`{VB%ti1Ue$=c0Ooy`_M|#jUbAK1t=LZ-7O2U z8OJy?|L%MjsBntORM;va}pPG$K=7SyZS9t&YWKsE$hD-67wA4xpFwMfFi z46PXocW}S?D^|Aoq!m~UIG_dcf*I@&U~A%M^u`0vE`~jHts{U`TDncj3&-53}q$Q*D=R42jWhNyHW zLmlJV1+#`pG={)$_Z+wqqUXTBm}|LH&>(ebHqeCZ-ClThKs{+vBAJjj)@ z&Vq)~0?LNCJf8q&7yLX|sQec`IexDv-;}FDXWM}Lh?BqzFGJc`UOqbC*Mddvq}c0r zLp8UUEqwS!YT`&9l0g!q)0gEJ$+jKL@(FH}pZy~RO+jBvfFp1<5D{k*yRya?zZK^_ zO}?V?t~iJ?e>D3s170ea@Td6A)CoibZruJ3+oM56sOjEzezZMbf6$+Y(nVUyL#J0^ zKmDllDl=_u6CG5KXve^jDXsiWs`Q!^d_^*wiR(lG+MyOFyl>e({H9;>Q%H9Us6|^u z^b-FJANWlO0$tn$AaFV+b|%)0{c#~$NTIU6owwwckjR*fY^aQpyMaFA=&6vWB;?~$ z&N`+2H7kgRor7yGq1SY#RBgw}W;>oBEy5IEnQ>np>3k?ZjN$Dbfl!RzhG92w(=TA` ze@P%KLciyx%t~whiPvPUp@G%m)rfedvCkvK-rFvU24G`KLXy+5!h9OjkrY+_@{3@q zHl^}}y(THP#))Ko7xJ4hGu@XW-Dnk#>X16v;}ErB|BM_(KtPEjmof;Q_m&l?88JsF zI-fm@vfR$gD!;*oE2@0sWH%#Cr!8%j-EE)S`9^9R7ZNBfV4?eCx&rW2!oI@jw3J&% z(O8MO0wPL;1n9OwQO$!}?y@&PyS()!^v54-TX@)}wlzmu`sBVF^WH{^#EcTC${uYUx{AIP{>1>xTf}cZ2#<4Q?M*hriUN)#^7a6$x zosbL&E536neLopI#cn4HB$pl7cNGgv?>MiBfM{xI54UJdNuTXo58YQyR~zwY;uP_@8Y zPw3CzNuNXubA9Q(-yY=(E=ag}ZyD<=54&E`)m=jf%ntme*tR2ALYe0!Ibt*y-%pmc zfr|$)L7Gopb*6T!HFWrtpLxmy!L8nvp&@a!TP{zAGuO?&pQdDKCO-dN)>S=4 z)0ItMpt3D;v`y26Y51$ED`iwzUj)N=0@yux_-mXMILX`#kWr@m(%*(m=k!88A{x=h z=LHmm!sF>4enHlfl#3Y`Yh9AhhRS^kz?l90pJeemhWg35J%rruS}7bl7C2)$XXJ|(+;>J^ z9*mG@+}C)-z3YW$Z6AHd(H59@c~AB+B5jqoMh8qUx8&+a$lUb8`|Qnq_kn&MM%?~U zxiM><_U+ulf0ZIjx6duMYPSJXA$l7woemeg*40Nc;_T8XbUU+fluFA2;1sOqsx)=q z#Zx-fbvj*V>zk~%v_9<5T1bktIfm0sEsVJ;Z*tKU-0Aj?UCF7sn_(2JssE#yI_{*S zu|}ZFuj@N2UScxg_M8V}9bAHIH@Op5r8`&ELw%~s{isFgCdaB7_BuwlKF5V-tgAOT8RH{%Up--&z@Mm z!l8V)na@9+lDw1u22*f6kaS1Sm*&1_;~VC5r{|t?=s{c4G(HkCHp4_)$62BM#j8LK z`|`D0Uv4(I93yMknm`cwVNGs!@$0uwQtKx&UkjcwT)yywqhUwvxydK7*mA zA(388{0<}w=mNcLtTM8VtrDxx#wyLgC@FqgbM0B72TCZM0)t9VIDZJv3CbBEdbieD z;d7G;2}N+X^uIee!W<%%%<-3oNKJB2;Uw1@#Kvl~PUkhAL-DBjC zsG7?mKAxP{35PbFp4W#f;;z4f*|3qck&>MGYgrXrfw8Ko2}^C%{u1TOmF?PV3PXy>HoT&}l4p*FZ?UY@|NJ^TGrs1= znXy$$toL|8!-bi;3p>?DF23r%{NibOqPxvB_SM}W;^B&K+mV&X-Be)bCS06^i}xJ& zUMeCYOFyuDI~-)zuX2t*GY5+kVOaE&wPurEQ|hbME0C)n+dWSEo0E=>>P>@e@edYH zA9kVd*WR=^TVq@?nd*iQ|CC&4^$@wly!L*iAF$b|kTZ-tXSFixgNCd9;P(T!V-M8d z=YsnGsy*ZsOi80XyLmf9av zI5Vco8v}lkVXWXMjr_RvK64fxN-=U+*j~qKc#Mp4t!beF0C4`smgWDpcD9($^VU@tXW)L znsqB3zx%)&aJ+aVtWc&@X4(CU2>Y>C_@$qbW9PA33?h1)5Kq}o90K!-k3%-#1d>o7 zjsCAD$B&T3T&Yilw_CcR6V5X+rge~$OpLqsSOcSK{L;JE!ca`&=BJ@<2@&s~0Gq@~ z8*Tdc&>jqrdFYZGah5?vUGdMbyl$~lpbTgv-1t`iO~$7P6uz0%!EtT6Uj(G$r_c3` zKW?k!4#&-ah|xcS=Xfjpxxd_fz5RhpV8|zn+${%u{ZCkf_yRW>DtYB!S|jiRxA{-< zCG@}H_P^m07WO{td?_n2=?=>n6M!Q9JA&vTF+8~TVRj;z@&ycXq2u;jHy?3 zq}thVpjuI|viS0ntGo5y3_>R~sInAZdEcjrG`z4HmSuE${BItq#~0OX%9FdF`_$W_lQs&rDU zWqV{qsw{OobiF~$RnKU>H9Pclo_p2cZeAC5HecI`PcI#}y-JGhwEia62@2*KbVGsf?!VIh zV67U9#OrpT2hfOZu`I6EiT|XI!*qpRBXPuytKa_SH?b4 z{>qhVA3sd~h!tF<{2utlsG3*A0drSo^H**xA$twcyY|v|sjPQj_dZ9-0|AAHwV}kY z{-y>SL{21~SCJ)a0f$p^@`&Y*p-duYtL_Jx9K{#YHvlsOolpIwso0=Bf~J1mOh-gP zZmUuc{E$g{*nX2J3QwPrxKW;I9hIDv7ChP_%Tq6`hmyQ2mE~C_-N6drSomc-YU=AR z!q+{vTUf9V$Q~FSau9*|g5NbuWl!ElT}&q@az4y8p*)4kKltoZ;r@VNeo5|UL8in& z>iRCX4kTLdQy9FSPMnoC5?aOvrb$c}lGREYS`$dEhBOw)z- zDEdO`zt$is5N?61wJX{!{xPle%m!6&JKy^&4v6Y8VzLnnNVH^@@2jX0&ov)fO z69-R=C^nXYEaxM_>kW27`+Qp*H_uXpGN$>dd)ibhtGZKVa?}vvw7UV{TfE!-Oyr{o z4`AfWOCjhP|NeCO;P59Fp1To$lNm_he1lA2jiE|z7FR-G|ArSBolpDR8DX@Ojz{L5 z6@i+wKXbwiKXH|hj=fR3=u}d~+mVC@rB?wxlpJgn_$)&bXq?W;uLWDL?r$HO`HNEu|$R zNA9bwej$6)8#aHfPuG_B<4lc%qKk1M5!=OuC#zGD0fwg<nX!=M zVO(uil&*K`#8?ZmT;)bj`9aW{`p@#ubzQ`5BRV|%;Dui%G6|2NjqB$(Ikukd{pz^bRe0PvMpY@6{ zin##1GPyd1`&!qoCNu?OMxTLwRk1xKGTTkgFXM2ED;F()jF!3ZzG>hLw{2?i4(qgl zd}#Hzusu(^&%U{80$Rb^+MA=7U7fHDG*(E)O#kn_;1ALSLBm8K`?66>cki*Dhh3@7 z=D1-#rHFLs6ugs3!8>DGem+=?F0O6*p?GRs9W-$*2DO~l(ePElokA%FZp@PTH6>MG zu{lj4A^G|%US437pTUObfxyIInGYH7;H2V-@q6GV>`Oj%5HcsM88)P+8yAE{j+ezW z=ggD&G(FFDHfKE$mcQN8?sh?1n%Ec8H-cE4aT_$WFxfav3f-7re8jc`mN&Jn`mjsV z*`bqDu3}Ll$QDs_6V3YU=|Zz57@yRuLZi@&X9WKN!P&bfM{`LJpW^ZK0OC>86i2D_n)wG0>J2)MrCk$f|dR~HMQhxk)$ zjWYxva)P31j!HE^NzBhAq4Ce1anKsbe_4{D@uo*;jZg#HEmNtP#%`yU+uV%h5mH^;BO(uC zf8Ib>R?|)&e8u1@alUtWGO_d~$bQv~-AkiapU1FPG`SbdppFXG3rKG$t*aeIBrc&?eSmO4 zF{$;&gAd!j6-b(YJOGmlkb)Zg=&M^DVXk|wlJ*uqIqG>E8`Mc zHmJ`vDu?3SwU%nS3NJjKs=iPfaeHlVClbxWspTVZ0z%*SH zZ$40jPzGVdpTEaa`DXygLW2wOa?cg99vwK6U*8eB;KRcf_Y50pPK2_Jf3>0+v@`S5K5RskrhVeC@3`W0OP6DPP~UX4 z+7h6F2 zoJL~T!U0{E^a{XLG9pFczmO{U!!5Do&;mOtiDeB`R_1&V!>$h*z?i4H-srZGn2|Pd zsI6G__|4Mq;9fx?rhKDTWwBw2hxHMCW#Oz~#W0$4q)|0@-DH|XAn9Hs&z+CEC|5!* z#4cLgiz5};$N}zhbkEtIZ0kiZ9uI%5uuLBdEuRYqvxfs=^f}&%9>vupzZ#KrkEc3F-!HOGfnT^X{ z^G_X(JVMZMfy>vt0UO1%ADV{eD$*FBBFYP$hHo>j4&iE{{}s}_;dj#Bjvm79RKpx6nBAota#L1NkG#1LZkRizs> zIAOILw>Pl?pEuQk`kRW7u^T(6K9l!8$q<&sIsi9o=psxwy2FB)QZ!-T3oWpI2l=@; zg!+aW3K%u|)`7qRr{bVF`fW8UO)Z<%X;H0JU8FT$GT9mp*2B(rolQ^X%xG=5Z}%EL zZ@8p?;q=7AN?uyYR!xjo^I%XB>F#bVI<+O;RBC5JN0i+8oifc@=(KZ1(xJP9pyE{C z32^7Z<7AqgksfcYAd!`0u1itIZ{}QfvC}H(v@d7eAh&v;HVVr=cndqaP+haDN21X6 zssz=xz?VBgq&cYK>)_HZdRo~Z8Y{+@6>GYV%iXm;Rh(!`pjn;zR^>N`X zQ4R@paimF^vancE+SWqb*6_2>b=;S^g($3ha7ghwAGJcTej)JEjSBm^LgswT1Z1rB z6ZTfHOoW+GmMQ2>mO12f+Yr74*>}j~XCrCT2>tQ#01Zb64}oA+F4cZqx1Ct%sHTOZ z7(7i`rnAiY3xqvXj%uOP3e5hqdlMs;+|xb7e6zRR%X_|XH-4c%HWdM09u4aFecwxN z1l4a!vf=9g*iSO18_SXIF_#`50+<}lA&8$(?CY44NS7o!wjuB}u3eyM&S-yWZ!N`i zt_i)0QX@V_lD{Z5ReR+qBKKvR^2lUfW!#DUi_JfCPk&4Fp$0tk5zbOxA-$eSLs4Ya zS3BWERyYwzOTJIIJf97HxICW^1-n3=4Gp+Jo-2uW<aa&R$8V}28nRtS={Y52$m&1j$D?lWMj*|yRm>Yi%c}oLCjTJkCs?@rBz8v}xxFfD z_X(Ni!ALyxvxbTxpRI6&7{_fA7L>7%|} z-|87b*Ph?Y6VfZ7L_x|K@BlZnKCC~75@Z%<96+N)RYgNe%Fg5DmE7HdJo8QX^kSpt z{Vo}Rg;$MlF2XQZSbkrT(#faJord)$k zjdcF6=)gwAzaw7=FaXdnXpz)J9P`OUBu89cAXd~RFK;=)Ohy3C;0=9f4?Kyf42Cqh z%z`3-oAeoSd5NfsNqF3mgs~PjsYGvHt_=!jnfF3^*zBZOEm*|`d3mLF*iU{l?)@MY zSt-i42Mk7L!iS?P34%vPAAa7?Dv}0`?y@Gr|I1&BFba3!H~{LNJJ}%qJB#y|7|LOa z;e4r$hOjcg9wlthov|0yJZ97LcWF|tsVKhN>>TzH%VEV}E* z*PVwPHRDp8#&i_!8smDlgRyar@- zU2Mbo!(L|ph}H`okGiFsDox|T*PYuT@m(EK%0-1@KHbJfami6xMS~v4Wx7GXN%}h1 z<%UkZqdfBan<7Jg*4n>}8)g5l7{9I|ld3Udevk5(Fq0~nh4M;G?FxH`iGf}17~MI!#MI#8A2W3_!KrgLi1YiZW88;_6Zmkg|P*!$n`wW7e?8+ z^|^vYY8sz~w6p45+T>Bq;=?tuv`c~pUN}}4C@qE9y%0EbT6E|nD#yLFc*=;=FNB#L z5$9|Ira0H$erjvjp2>j8-X~5g$U=SrKeYgxIi$s1q`9R<+$_Y^6^5@cg;BH^*Z57s zKl`vx^s`1Cn|Ab&uq|4SgF95CqXs9!zKNK0_7x>Bj||e0tZCqTgMv=VC@Y`~n}>BXl>lvfXbG1! z^EANteFS&&nmitfDsXP=HvXBP>^MqIR^a#6g(EA!62XO=<_N*)^3@`B3`vX1e`EXq z{XLOI!8E7BqIxmGz_6LYz)1ef$C!Xs8@G=@n+PmhSMp0P)n`ch^`&>KWT48H(eH6cVGoF7T)%JC1APDv%R*hwbifHy7#lw$&w8O z9sD5#cwcAx%?ds-e7aqAax3+H^bbj>?`PF45(z0~K`mf_nw7I8eXOHPX@SK2QodB@ z%+W)~Jz|1Y&@p^wbxN7+@rXX7Lfnj;ccr4&J)2FMU5{9Krho5T{ZhxutOuXqa5YC@ zvZB?kZ7$K#SM!7EI}K(dI}XP=+MgDD^@mcqc;2~hJ<3^s7C01&%DqGLnHM^A%DB(m z1>1k_PzgJweK7Jl?P>};r2?4_WbdA&_KTI@x6h6}Pra;r)XFja8%LcMZ7AD@b~Z{o zC9(_#$5KiO1FupNnc^7Zy5BeVj}38QPg^3GQ;*nk17}U*$nm5P*~=CsH_I2H10zRW za=GB15OZ#t8HJM;IBfho6*s)wN8kC7Z!j11E7h`N|80`1e{}2x0zMsWvfO*4>mTnq z`HUv7$M?^@6Dr()*x@H*Be;M;&z{e#(&Q(Keq3TzaQp_>SMlRF0yU%X_V~fqF<;*rp2eIa z?Vj=~YDdrT+N$3!&Goa8zz^CIs#TVoP0LS$gJ- z26%qEru%he0rI7anTU0N=?bO5p|t*}W$H;ZylupGW1xv0H^QeGQmEaVAw5Zdeh4K! zJE%6^+^fBRq16pBxqJ0&%p11%QWL+63^vIJDKu<3GdA)fxGGMBx}cM5$&Awe#?|X9 z0z6wcm*n3hF3+Z^ZxVWAU_DOjRBA-O_|aIV^GKHQD5H3~mbv(uH>@9Nb8Oyl@y zN2;i)V@z8+q*x65jVZT|+f!A$IAg#G~4j zF~)G*J+RX+f^-`tVrcs(&zlC*N;bTa{st+_Q7qqr)80;QuYL8{!wM2Kv#Jx=h2G@! z#br{Is)rTbZ+08iX@lv}T#83F&nZBNEd?}wn#QpeD;k?4QJ3O6OHmofY?iz@OyH$c z(CUkWHw`lM#?6}#Pni3(C(V&hHSR>auQ24$$k6>*Ik0T4x-c)2^A0rJXD0bVG37`v zc$E=o68~!|(_c_UQkXsE7gp}iG7@b3XIopV8YdF^b~cUpS2F(NBd$Vp0_PUJfo*^g ztNgqSd?;ij2AloQfk4h8^~z{#`6_m+ z6oZ#iA4Xx$dbOi5j(W_&>OFbyOB@6LUWUL)8wR1p=7HrtbNBSrCb{3ZDGeu|TnxTRB+z*qv#Rrej4;g^%g#W=HR7irD>jdIKG?b`N z8gYFRrtubcd9CRr2Ku)cG3SZpAk>K*^!8*Vg3#2H&6~x`EoSKTv1n+dH;TqJe!&mj z3_{jt8euTZCQb=mTLUAbVAbgzlR%VCT0buOZv$Vt?!@032F9K{1`=*WLy3XIvF~JV z*ot_-@=pEjKD6+F65bnzFyr(p;s^A$)eZNlWSIdrolof6h=Q|!y-dgv%5p2%ES~8I-GT23_$}i zeGWHX&)v{KLcY201}I$SG8gE_YBW9olKXeA?~yq^3I~MutTMQAbj@6Hak0yAe~0pF z2H!WonS~-PU?YCOeJ<@B8>?RZW(wD>P|L+1(Dte;9dJaSx#TOS(Zz6p>2O<+m>CKv5qZJE~|kmPluj|mC5#R0I^Aw*ADN&I+G zYGp)Q*f^0xp-U~lMxZJ4Gp&S9cAJCdV#Qn3i6Fa{JSz_euDlt*|Ngo)7Zcb`Nk}cy zX6dFtE-I=)#G;HYIt{~1@zpNN*^Oo9S4(xMy@US+d9LBZXEL~xe;ZKoQ|h*r61P`Od@| za>#(rRXKwkdNI|f!KsA<*>h~KRdihVbLrU#`csdfcmyp~_1XH3IMm1_VYD9a%}B`P z=AZmo=EaX$J3!9FrhnmDh%uqlf%{N3>ChqITrzonSIQ_*sLQUORU*XghmdaMFX+`n z%@tQEXk~T02VBtd45Y&3cesbX$1)S!by!*Ha1gZlPB{nkz;K!`{U5HrF}Sn9S$1RF zwr$(CZQK0Cwr$(mV3TZY+s?*zUf!)+@7@3XbWYXzI;Up3r@Lob6HSzQEkwDJoN`GY zkr`Yq78lip(8@V=FN>7+)i`H3m08)Q1C}4YJO3lYNZU0F4WkbA%t{KUqR?jgqmVe3 zzSJ=-%w>Dmi4Z4oEz}0Ryte0d)&9hq*UWY+PH`ZSG-D4=m zyEtBf`;=KhVdZm%Y)`W~x6QfJMlCro+g* zvt^;ENy*G`?Dk6SG`^ce_8;35QJ51{0T&)XMcPJxwsVx*8;6tvu`5{3zc304P1=JK zU86p7^kyVr^BwUN-`X~;_8}0J(gs`hWTg~>TR3v@;}icz?AW9jezwYuf1GyeaW}?he8gy_p%&#h&ct~l#T2F zJ+Z+&a|}ec?aCe1#vxY71w(NYCDnc-i7c%lF8pLwR?@%o#P)5);s(<#TjrzUp}~WK zL+0w_43pA|CI%T6C;s4xpXM?0rTV|j78#T_YVuyybCHrLc+sV!HZ%OSrmEnbsw)37 za-~Mh_l@AgOk3u5pOnflyBYA;3d#upM8M_W2#Mo)8}k~~{{1?Cib#HCFRz2P0zTPI zy%)|CXm2(Dx=LeHDo;{%vE^uL%^dZLD^;nKJUP*akr3WsHF$xl~!Z%K7IC|fz0{IpOjdM;yX{79zU zxtKnBG<-^N#vT*FDj`V$_j%qVl+}ea)si+}Ka1)sTmJ~k8=PYBFV$YW7U3Wnq}M2G zO&|LPtoz6eO+=MZvN=v=uh7Z4E+FnC*oDrtwwS9W>L<}ddirtN9*au@uuy*LE_qm* z`e4-sqU&nuN^$XTcwM_x1E%^Rj=O!4U51C652YEasJ| znFH{I1a14H=~9lxb^`15OM|aad)a}+EfU?9w{xq{IZ(NyMaN4jYYCaf4PEiFd)^Yw&lpK@D+02p~rz0ZrEjfdbe zI+1>DfwThzGrMufr^-Vg$ht6wp#n~bxM5YE_TKqtty_ZA=F*vH>Nc{Sru5&SVPi2t z%HORN$Nc%=fSBzse2DPCFc91gysEwn(e_<)D7bM+vpvCB=QEO_5J1;19$Nz%OVPf z+lpzaofJ$IZQ0USD5#64mCf?Az?ulr`DOLx`wv#Oq*qoIo;l|-6X6wQ%PK^Hou&e6 zAjL8pcj;ErwN1 zoY(j$&H`U!)V1T|`Ib0_ssNdRXb)Bnrl&sPrVykjm+4@ZsgGZ$Mv6vaANXm(#KV zFX7aYUy$DdA~W1fzd+tnPUH6)It&TC;1N`ee6+r@!z=tr+F=*6+;>D4XRoFWVCqje z22LD50bR>PU9)4`{}Ou=y|SL>x{TIm`DHO$C$5i));UG#T1Stw4gXCw6gnhq&+GpK zvK(axk#g3jh`(2@)S8tba4^z+JdNe zA({6Fx+{ekF-yg0n2TP$LSTi%nHp9ndqB>)u|Q=4lpHyojI7-tgo+RM> zlRjg3XhQCxH@V|}t7h)Z@L=vVDE5v08ot*DLP`HfrBVao4cg(Bw8t*f=lT?(18`0- zpdI3uP8>ou9@0!I@(@QhHuUHQ5qpOiE7mVl2)rdIkdki$JqYm0I)%s=@$KRe`$QzQ zYFAbf&?8uiwCETYfB%xJd#tVx_+AZ6j5iqpq9VCFBuVg)jT^_~L@i37ffkj{4-fv- zepuN@>|;-^ZX-Myb;^|Z7OV4y13Pz&xTQucqj}--Wl;yRoSW@rHnE1y|uTTQ(0^$wtFBB7` zEX0GAUwFR=#(h$Ct0YHpkv1gLPj*pdH;76gnF&Uo(B3Vd81>fjzU3)2QpcG%M6bEk zy(xqLQYE!{(OdDxAK$Hw!-fq8lKqj2{D+RLmlvV3p$ml~_v9Ajlx0R)#sq zfA8sUo!=<$dbE8Un@hQ2N^)omf6NU2WAH~dA>^G#^5(}V?<3rbr5VH5^>s~UJL>x# z_%Nfm{SEYAQi*2hzG~nfiR|nZR`X2%I1tc}7H3cb;^(nHjsS-G{{^#Ee3b|dKT8Y& zi2n-70xUozQ{A8dVw3F@P=pXiED9gi52R)CL4ASItPu7}prMJOB-LcmM8J@D66kV{ zBs-ISSCjiw%aM}z-hjLm#;|z6q?l!Akh3(i+~s%;<%>}`?b7=JikA_9<1`zH<)>xvWtOc+ zwyO=;CMAXF-*VM)Z0%IfJtzG{!NML@{-ZSaFptwrAeYrH$Z|!L=dlbtbtpBArwpkc zn1A(K5E}C8xavOZTs9ke5W44}pY5;jm*JmrwWCdGIbD6hkF+;zwB_OnT5SJCk0{97 z&aB6NM7O;I#;n|VeZgx{w>w^tYkX?s=-YSGx{@xyY}9I99l6;rkNj7 zU%^d{Rs(o5fisCDaT1EDRK8!;2uFrUY}w;3K7Wzl)F%ymYv8_F5{vtVpug4JaP8d> zUthThB>+R3M=JNWpPYfBmBTuk{CD z0R!+1Ksmws&ZB!hJkVqYw}nL-4oI+t1%;$3SO3TzK-@<|#?$r2G`R_Rf2Lzc}IRxx2M zPP&bVkr45e6++vlKCpuh;w%>&*mym3!U9}F?&UIXm+r!D*A}2FP-cX?FmD$d5=}25 zpZIur5+GckL=)`pNtO9Ch9KO2pyvB#Xefl=z|Nd_d9sJZ-+U;M17b7?5cW`b0ZHKs zp*OfQ`Nw-K%=|b5Cz^pUlV4t79tSWr`xsu2Wcq$wA@vP!Gc1EJ%w=Bwd1DHr9e@f$ zp5F1pdMe2S<5=kOG$Z2?I@-d_k?+{(oNC3VRXihSVOs=gaI6elW%3|++cIL~-eXh#Bg1>Hm zMiahZaODSWPxzb`OC~QenCOi};;mxa<8`#Ti`(;?T5z{)1TH3XgUSu9+KkN4l(#ah z5_1l`$G06cS+kZ?LTcxnZ#IbBbC*@Xy2K3wp0ZnA&+R4 zR?brLT=)an2nN;Bc>-F+!tzSWI7!GnQ%Nihs(Q*s zxrr;bJ1=9pwQ5o^be`6Zk|JXECP=8M@89mD&<>5#5$ZQQ8|)sx8yBxsVfV91*Xz47 zpXl(zRDE%F3WxQYyZ{9Wt+7%)n%2nLdbz}8H=~$TC|Z5&ef&x6R@rQq5&l_K79^>1 zP}P7Gp46!8eIMFOY_@!!8ho_+!GCJFe{9rnMcbic-S~ovsp}5jNl7oMmf-2?t6zZh zl@dp!&;(4S%y6Nm@)U1Lj$fEi{`LGl3=wBgYGSP1r+^=}LIVhxu|E=#q?b^h#)afF zJ)W3>LcCzezL24u`*x9eH7wAY&JW0J77>^G;#y}W4;138sq`s3#n^qafqaAasonDE zf8tA2DwR%TS%#sJ6Xb{bk!WqkN!6Egc<}ngi+uF}n zA0Xc;4fQiI5dhKn9OjG2Q7FIhNKgLq@)#x&1&NrNdMXa*;3T6^jlx6KVAsnkf`?KG%s(uh$&yl)b`U_0A-@9>zBYy3lvxqo73^v%ZKXivhx|mVfj&C4R5W)Y z@V%?G>|C#LEc8w^8$>g<+h~V(nnY)Mb57k$xg&T-Hpjc?RurPmGD28+!mAB7IzG|@ zyFkLv6q%#nwFLYtpEJ@82aTCwnBz+cEYE%qO=${$XX2b9n1OCkmTg2jBMkXLT#d-f8e`xO*?0A&BR=i&UJb#Z zeup?31w6?(L57FQl%EYV5~^QFO4V?RQ~^R{(u>XoK$YeClafsW$oXo^w6QCWIeNizlD~d66=NX#u*9HyH)UA1z3^n{+pN)a;U|vI4FFC1 z+@ZGd$#XKaH$@5P6lR;&>Y!{bH~dU!z-b3_J~^>YlQaBA_!!9Z!?2D;L$E&&gW%ag zryOWYn&}e8QC-pEp=xcZA}yhmQIeX13(1t+q3$vXv8&FRIcGg5V@wNZv80!X>I~8T z%c!JF#6wn5m&rph14KJ~`|RX$C?H35Q%!4Rgcl#O6F-3wXs~DJY8&D1b9~|;Z=!$y z=zw$Yjamd8jO(d3?qTaUu-z^Acnlv#w4}VCd_p{nrflbAgifx`kS-jGow6hp35<%V zEG8GPqz9Vv25~r86nq47E`P5s$WzA}cGOVmFErayI4%YBuqb2^$_V;#NdSdj2}p?Q zC1L9u(OMqicFf;um6j^xjB>rn6H5%#R#7b3&}J`<0wPB^Hn_mEWgEyg`Fh^?bAC%(4TJwyI9TBD84@^B>DU2)f7$q{{oU~bg}>I;=9E?hyVY0gcQx( zC;1Fd5kSS)K&PmPcpZUONY?^})DR$?8jT7qBz3dXruR>Hjch~A7c753twDCvz zZDx$qw0)qlP8%ljch1CQjzcdO4~vig*Vi4|A3}9fR+4#15mjLrVq{~?2V=-*&M>Yk zn5hcTIHouV+ymt9j1q7jlfD)9JMX*$p%SiqLl)~J|sSk4qpqO5)_=|e4@)&#kl zoK{+Fkn!I!Z`~zTmn5UMm9-BC7?~Wp#^~o-rVbQubt6lppwish7GvJz1+SzQvd5Sl zgJd|hi)i8Yf(b{bpHvD=mMSGi4Uc&-N${QSGAeOm1`KFutyoTHSk-|-&Ynz@31|%! zd;pY4a$Rj!lTlfloZ1Q}GHmVBy1STka)bT@Imh9OGbw{j=V+Bxg*LrD{h5ooewZBY zxhV++eI0CkZ;t&MN@dclve=r{&UPCTP*VEjaZ$IOA9UOZZ1zbK*mUD?jjU5oWE2s3 zm{6D?-3exin%~GMB}~3t%q@!N0|s_tpr!8P|n>@_ooJ%v@$2)!&Q(chu{Go|^^QhIEvfGe#LIY{)9D#jPr0^sr{uWm5GDsg_#N06+nz zKFKj=en@eTQS}xX%LuoS5yPEWY?lvtYE!P~3U{Wp<8DR27MAm?S8pMhe)b^-D1gwj zcYM1s?KKw^Mf;!9J^Zuq@3YissS1{HWtde+ba!c~FJ8ld^$VfFguX7m;=9zdEN|30 zU8Ox=!|k@k$0Pkmh_`ltT=#1^3h)L$hFO=)f%AyhL%7MR04nh35$fv3V)6G4Twdwd zwI$Cl1BApfqS2?h4v$|}pTD*r6*Jm;zeL0q^2F3b=+EGZT zk~_j|i3-)&FN});g(LmJ8#p7f0$F7M<>d7bT+<=VCa(Rnr~Yuk=^Y*DpibmWan-&vfceKPt9;Ckg|C@g$~pKr+aAgTETk_`{x2i&ZEqA2{OxKK zlG`nFw9)$I0PvJl`vb&({>!CUqQ%LvL~?+Z3POGj&_Ei;fGFZ&(HkOCG`R$EPot(5 z3$C84%*(8@E>H;Yssf{Lwii<{@8$Hr2rFFjHcH; z4|cDIvDco$l@r3N&SOWhVRBV&jLxLy2_d*~SLHSLZeRWj`j4Ft+2Ubejq@~LX*%>6 zY&J{jaTRni4veH7HI;|!=vdyoNJ46T5sAkk!R(oo zD#mEoChLwoF%DQf4$NbdGn@U^o9#$=4Gz!Mq$sBH19S9t#u-Mh8gSDL&S}6J%Orju z+v$C*fLhpG8xG$^FSL_CECDy$8^AKdlHkjx%g*WS{%Gku7|-C2*`xhZL_dHT`a!qs z46al{@DWu?Z}unHxiq{*qQr{TLbeTJiq>DqI9(O4hxLhAh$p`|x^~bIXEf2S;4F?; z9yqY1A;!OamO%K#Qe9tr-vkhyN{q7_4Jl&7#M+btj~UE~!HmBE9~HOhLAnxsY(c6T zrk4-@iw3A+*3}Nkg-B8AL~35LH$aBSo2h0^adBUxWYVvyP<<7BeloJex@A;6IY%SZ z0N(3)OkzkObBM2D3k0i9j9IpolL{7Wq^yJn6P_6x%3Z%S8(6lBBA0fU|BhSaey!x~ znZ+sbI0*P~;Q_+Z7dPUh8fX1tfk5hskc{qi&tZ3vQ?|A zOkH*xoqMSLuG`?6*Jqa<>>O}(nK$@!gVX5VDoW2@H%(ZsvCG{{L9}JHHrwhgPpc-4 zJf@SYwXbR;dXg(7-DQTYJx8F^=`&gdxRtL`a@a9bw#%usuT)w0)FrPMF^qa@h@e_& z@+e*k%UjUGf~0A=s%}v6y2DN!zJwUf>iG1Y&JyY9B)>|Ww_BH0Wu?l_HNrI~{Y#O3 z6}fJZ!wjm@Lt1oOEq1Wzd=pJ-zk#>ZvD`5CcI$TVYzVCqUKmkYJ3NCNfNX68xJdY2 z`0K_I4^HEZ(R?GCZ*9Wx<{}N&U>;-c_iUOZM5_-jQ(A}$!+V^{!d#){3`GPPWxu2xuz-=-GX4E{QN8(<&qDj^-Q{qVv5e9zW1h!%A=%Fr1Ep%fM2g_i zV61`7w&hwUu=HS#pJS61!{$N?&?D=~NDpX?ynXx2Dso7u1#=|Pb?oR{D=4Prxrj;s z8rI@3DLA-=5TZwoj`6MIbPASm;(Qco{qHgWo+pFn%cfl7IKNJUJg)q2!?udp`J>WU zRoU62_s<-Kzv7Exq>Fu&!gF96W_ z-B%%lH$rW^$OES|F+_}{)NO?(D!Ay(*e&;4rv+iYhBQflC_%E!9qA+R38-7-K+0+O zcy0t8(H!H3ek|-P=7C8X(6(1sk(Ly*2a@BU{RxBX$6D=^AU%eWOk9h->C0Z$M5K~7yN>4maue8l^DYSPta6P=v7&sXepjA_5i6)rguMAZ( zdQ4eI6l-NI&0?Pr*q3;az$si#LI`Y;U5GBJQIz?6vk~O#E!2qpgj?Q|`aO=T^^b+_ z2<|<-k8x`N%+*Tg>3T=Vvz5MBM6Y4m01To0eFy2=A#Ktk{0yW@BBE%1H~1Wwg%d1|=%PNm{N=wh2BQ8S)<6Vsn$BVQQkjQeQMX z6y}K~J>fPaS2ClbQh@KP@9a*px5R~44pnLvv`f(0<^BfHt@-Yr^ikv`-e+97{ z=|-Zue?8IzLMXaY0hIj0bE&;2F)SGduN7F=$y3Xz_xz>jxS6fNi{8Rx>1^R*DpHDD z&{m`Z@9@0yKS5lm6%_v&xrE0(+14?(exnj#z~CtsaE_is6QHSXeTM>Z1$86wwA-H? zUS;m2t7nxbA-94*r;^=nGrpgs)P6DcemUDs_{d;3NwVqtqbwb5vp{j5?9uE9Q^(56!5*~auG>5uqYM< z8C|?ZEL(PM3ZSrj`Vf>^$Y=EH&t_sU{eYFz#1xycU;PMmLIb#HX%18HbNM=RA&=-@ z^3`~BH!2>oIV3%RrF&hI{*o=2OpFP&YBYCEGx0Ke1kJqcY#*J%%l3Q9XwJ;2v_*VC z^Wqi@?CmckV6vgBl+~KD$7XRVXRf=O-p9h#9dtX+w2~v|KH8r*xdM<}eg|AL<3_ip zDvZ|NU4y!2fjSXDr&kFB_UM2Y9-XC+(|O z)E=2bav%(`pP>IaLHS-NPtX21KFE=huh}S)Zw_z)Q<`TUC~BzRJ?v8@3qUf7)M8Ge zr%A4XK|Ja-k-JZ0 zx}<~w%t1gw8g+WFDX%m4Z!5I;@C+_(LS#WX}jYU!;YXN%*LzKCOB6I+3#kX zF%X!y{gC*^qfgMALE&Crq65XgpO^*$`hgS;dIQO_Zz&<=WV|E=nj&>ZnLTxO8B$O) zNT!#dkbdr2W%eE=tRr)Hfob#;@@=Gcbcyo-oqej}(m`z8#Yxe0qjL_cw&IOwig^Pn z#3wRHT5h;X1(8*>Tik|Ukrc#CfeDi1xEd~QP%|j4^}-AwpjpxXxPkK3@RpUW+M1ed zn%QewOY}&V=FK?iw^E<6rBqxN*qQWskGxC2bLS^bWeh!Vnsux)!Zyeq3;e_MX|5^( z`*E3>w{U*Ih43^&%eh08d}sZ!U4GSVOkxRD^fYy)Z>$@;*S|2GAz+==9?sz4yUw6>b@H#b!!pCzi_Bitj+#+2#3F9#w$>F5w`}7=&42T~ zsi&(VX=)3YWHu*v`2-&y(o)qrbPTcp;wZzFxqT`pWw^$5C-7!3TZJkqMf5pY^1aTI zF)j&dNV^G*!b32?{NKM%be%5D^!3wh^~NWd^|igUrYE552CW}Ystp)6 zsNHdF$lHh=B^B+z;YJE|@9skZvhdpd-9e7aUIb2;jnkq^VDGnOA?>K$u^y=1(Ob~) zyL@2RE~M*S3sfrw*b`0ei%46`lglPy;Qm~T_Je2au@F@`d}ez$dFYk zSd1;vRp%ls6-sLoFH#B;sj;T1>vk5(QXR_wyjeZJvRL(?Y4g_cOz)e~q$wj@Wt_=U zosLzCADKb&wT)V3@^=0P1RO-qRCOEqRV7LxV2yOdn<-Pi1w9+6`H6hNG?3#|%erJD zHb*2*?VU^g&DSU`!~EEXbathS@!Ynk3<&1Q-8shY*LRH+uP90Z7>J3}^DS^Zt)MR-9IWRX&l29ZkffzYWVfbnkFM(4F zLj+{ZF#Z=`HEM-Pp*s+}5dkCOQX<1QxkTXo7TN5+x?_9yb*c0J=e<@6gpd)WBoW6p;Sclyw< zl3I}4U&||^ea&+%C6Vm_PmCl^!K}V`Z6`##eG%8FcwU$)zcVcu?*{0VWc%tfT;VY= zm@{7xZV)>T&vg(P$voDuW(lTzviM{d#we{3#jP2A{*zf#0GWC7>%NO>w20ymMxNo2 z1uCTe6XVI8L+G2G;ptx;@cE`*OtAn8+CBli9fD7J%bX6u+acw z*1#Z^8UByG5MXD8(^of@MDzt z_Q2U%M#G|xh?f;z18IUwB&vX#4#%X(GGy%6z*wHlxqsJanQ%KrS zw$CLRHxoJXI3yn|Ab}@b{!Q2=`2Np-9Em1w6(N+ z2?UK6vm-(V{K}9w4j>lx`jr-8^hWw=mci!*f<^A#9&B`uIS7TF+pzfwHvehmuvP}G zGM?wD&M znG`x!y4xK1<%5tbl~dR}_XpQPDu{uKws?mtCUkZPvFZrsHz2~#=AN|+p>3;wZXFly z#Hs&eHZ3H_0yUrckKq?Y(Qiyj*=yl|DZG~g*aag)=N@xZMN+}2bzAqP2dESFS-_H+X{xJS26;kOy7sgLAW3^nx zU!5*A&B8--XXmz^cj!*4I|wtFOS#T0%?gD2YspE5$@BWQvdE&3RcB`={wcifdqKjf*+g464=loc|Bd16EwqT~Ql(Op)Y+;f zTXmV|a5dZ=Yzl5L2eq!|{1YG-DU)90ZLH0L>uDSwqgQ+F0Dq{}ZG(NtI{0^;R7dC^ zT9=;8Q#}>AuQux>vTi@vLB-yOsJ`P+@b-V9O%$}hds)A7h$hAK$T!hS(m0>OOb8H3 z<4Aq_F!UUUB^EBqV;dhc9Ny8CC*)-?kF&^PU02SmDl3R0Q^FQ97G?qQD%keMn*H5j zI+}_N6-H1Kur7g_HQhI|jpk4*H0@RX8Ac81I#pZd8Ql0M{yi0e+T~PSmQTkDt14k* zfXdpS->@eAE_vB@GftDv2wgc)*uLl3^-K8Ox1jYm;u9YerfOZ4U5k}_n~bt6Q&Us3 zbohM3Jt-)^9}TXqoooQj+okT#b+(N3Nrf||;so=E;77h7l_@!%cOgiHMA*Luv6`eq zAQ!UcDct*ApU{Z>oH6zkzO-hwqMB({*@H+Yj3RukqUNx)XFx7<7a@^Oz+m4eqfKR0 zRr6nhM#DvVDTn&+@ObA$@+j%|k%zG8Ne=EW3hHC2&-0PUtN5+8*EmFXhbI>TSe9I6O59BA0o#{QHcnk?XT{kZFj>U~n5poNR$QK|JI*WBkxI3=p(tw>M3 z*pZ7e;%Jawzvr05A~y=3SJCjZSatFTpCsUD+$lvHR8$Emx2E$EwvB8IBst}e zrKK+2*|W#y3cfggALWIC6gZNcKj6B=$z2E0Hd#1%`f768_kL>f>htaXlOlkN_e@Mc zHurB!9BY&?T`6Pn0X8jMGdC-0C?yP2`heXYPyJq9m=7!z{xW9M#Ks3nJMYy>O)G%Y z^>ZCqL}4~!>reSq(ZAof$b+iATlHJYnih&QLQ6)Nn(lrUX63zSAr3EPClRuNQ$23@ zUBV7nOP&+4m@#UZ4NxNIFgqRtQ6t5pg(@~&kT&XchiWs8wll5NLOs);Rg$+^;fW~6 z^1~`XXIUr$F2!LZ0`)iCN1YiAuGD}Q0NwFZxJEb8nPtaJLR9c^V;BT1!;Gqjhrihx z&e1{*q8ZUKrn5z)$>~AcrKnOJuYk;6>Ic{Fxkg7nx>YE;jHdN?ER7Q*a)}B<$x}%5I&i%yPReQ2X3Suc}pJNu1tMuasJj`lu>?$ zK~6!V&|R6qDjkikjE%}JxFA}39oz~^8)8y~bn?uv!rY0#Rv`?2j1kT7!8;>JKTR;J z5|jMhlLeNf19mi5a_~@|R2g8YuwYplSprX+wNqf83~~Az)JQPP4xfl@&9H_=2Qk}c z{BT-uz1UAbL_u1PA2`H1HfXuu=BZoS2X1y(D^5U8ekB$iAXe=tn+3t>9$#%kj75=< zBv%qs@gYv*nR-_Ryp}_cFTBQs7q`Q_Y1@U%Av!2pO@wVf9u}bopUf|5s@xG;$!@NC zW-oC{Vvd5WEu=pVEPmvR`g5jEH%OkP(183A<3C3W3n8bbl%LVU6YK|A(xeyK~irl129(dteQ%m+pYGG7Q4~Pr@1( zyxmM~c<&`U&Gua5jo9fctoV`}UEh8LVFP5l`u#`Q+QU$L|jjQNzSJ`34q|5 zDj#aBhQePb-pkZs9-nY^5?T)nXf?QKq>ht@(x#N0K7GT{PnfL2K6?&5q_z_He*ohJ zXuFXQs%`J*3mjGHdLOzzBfAaf7FmtoUS6XCfhmDxv^JiT4Qt6JVxa0vaI_o^BJY3C zdy!E15StE40+mcL=lkx>H9u!yTmhw;60~87{}zoi&Oa4q$((50vG7G_!tB>g>sd4l zJj#QO0`x1P=|f8`6Nr;(NwPC~egP!lM-XeJG7q8W4{`8**&Bw?Cg1%H7Z54rZBXM4 zFX{~}>kX~4o&3bEtyohzEk4IW?#|^)zM?|5eg|2^xB!kME=;zgE)tC$IRi8U<^3U4 zAf8~8z2`sdj6){)gRCGHlEx!vB0T>)bOULOZj&e;rIRdXkA7*AINay3@-R@IB3AAR z4g6n?w|Dd~R{V$-S+_7do6ZNQU7Y{Psm-@ovTC@n_HeROB3lzLdWs%{Wf@4vVg4UK z*}2{z2qgaS@Wk9;EiSLpgsn(4Ug+_#q*g|BHnD zbBqZ{RoQWvS491ir$U8s3D{WVLPO%f#98XWiXlgqlN~h=S{vM^pKYK&THbUQ|E4hT zo%;*%{p*|Zpp!0pi%=-5?f?;%eH{s5pXktI7FJ1ACkY)HB?84@{kgZF|+OgRU)hQD|$F-_Sm3%e&rpi3>NqX(Y<2>3D2SZ3`a6^j5vA@xUe*^QJBMQPx9UoiNpC&P zhBQ@iNK*;bwE|3jGh3O-6l%J%cT>7|lV?D~8mrnZJ775-mXGVE!Mi3pRL-bv#4GZC3cZJfd# z14wa*afT?sfrjCrL7k>BfopOd1IVLS$g5LLMr*-*0dPdNzeYycA*dSBFJuxUm}5(Si%q&cKlfGo*p^<< z#PZ_wir&c#rZB6p3eCme%uwADf%{^XOB6?3eFt*QV#rP0Qg%`LP#e>os<7%g0pu0r z1)w=4hj}$wkwhRDy*4RW2|`hW?gaGTyjd&vn8S< z#@<5GZi|(v*i;K8x+BhHH+Gqa>CoO{)JxK-231S+ENU)Y^v#E`Y+1EqIleV%*nK&b zW4dfPO6TYR-zvr_t#aq2!+MU=d7*7GLq<(DJg)(-V#@<1hm$c#p_JwsmmVXy;r4>I97 zNfl!Bs1}Ckt5fLVph!#EWVfKPi6EzDeq;`kTSa2m$V@p>%7)H`*J%t{0H;6`AMzGf zBgP7-i4)6m3M9F#+_KAvi$X)25aYVp8?ca)2qpf>@{_e*&6ai%otqsLi}}njn-zLY ztNAqa(0*jumEEF^1mnCkkjzw@<>X}6imAyskQ+}h6N|}?T+l~M8c(TKG*pCt}dgBNw8u!+WvDr1^44ou#wV8Y6CyaYHBN^$eZPCIQj@#2T95s~5maGw~s~OF;GqFAR zIeKxjo0>>=y47mOWWec}GWN2D$w5ZRJHl0B8(&WTY9;9C8++FcxMD zbXW*w){8mQ>L^(46ixwr+Y>MFd4-a?>S!Q43Z%V(2y?-cRm+;C7&4dPJhgGRp-J|C zkV!0HR^zqML#e%;8&mj2f64kCIXE7(5=CV{^^KmzG84F_veb3wu0o>3G~hBFy9wPj zIdiG@YYthh0OID9a!1`pZy|nHal7>Wi?#w?;&&~y!SaIaJ5#V6A09_}EDt?<1Lb34 zS)god;@wvx@?0WRzlwQP}=eT~G!#hr^ZCxp1dP={|a_1vi9 z=n1dZ)@-`&4bUBhU8Hmn{Vo|vkU3%&p--oQ#3PG7D1{#ysA3lBCDNcSa=>;@)s^#X zSzc<=9Nxih zaZpNZQfgp2C;M(BWFJ|J*!N$CZBn;m-Qkf@zi)yMH4(K>cxY*M{waxy#bBOx)0<@V zstZ~O*FuNmrAV>4R-DQW+a&X#h;?mXY1*=N1CH0?lHFU2#}w(Mcs9*Y#)$qo0mRHg z3ZRaH>kbAmnzrjQ1Q7Wg>WlO;JX<>F2XY)igl*;z;4AJOXX5AMk413f0KvT$ z>e`M5-yuF{+T+c|V~XAG8xI+d4pI*dcbepq`=EXDtAkpRAvV_VVVXm&^#pquS9P0N znPltpnt1z)J5lQ6!j4QD+9){DT(3v00klh7UK*Y6Ny0uvONB3+3`vpYP$6`5qKmD% zh3>?YSm@a0c#&erqCCQo@rGEaEmW~y(CbzX%foo7`%y`W~+$N4%|(*H^?+e%D%KtY=H+P`2ZGe6iMbWHjgM5Q|wT z`{(B@p}}5qy^LDTp+*Bup{}1@%S}c`5y_;d12xb$QiNsT7kA8=AIn+FPZHA_FS}o1 zD(v;zNl1Ay&Av-=+PA?YO>bF_HC^3YXhRox5Uo!sex<}746hPc2|0N;ysH(HO;RhO8 z2j~)e?={&3DSyljr#p@N`3)Xj)I~lKeB3U)ch5aJqNzy>&a$Dh#F6W$zO!@@`>no3g_;7e1O#3#G-drA+*|J%E1ue;+ZKEE^D;9jLq;+=~iBXUtHV|6Zl)h{Q zRjuV{%z|1A3458Bh>xjl-(wSJLq)0pnMdOa?N*`-sV~M~dC2CR+FJ4-X_FN-1ddIZXq@pJOMv#AfgsY zz7>Vp^b1eYUo$Tx(yj-#dOI>_5!Fgqi>tF*yjPtEJcWuz=+V3LG*pJ_2>-w76m;Gj z6c*A0HeO;D=efgZ!5RgS15{=EylkABC14%a;+(6vj*-fsVMOn1IRh!pL$X|~yCPa! z3O@3g+g$3NesH$jUG5U1I=Sxl)aq7leK|`dRp}a3d;Tz7r6;u}x0soo=Js8^k#I*v z!|8C6VU4%Drw?kgCnFmXzVg=mIt@1;R^|2^0C!@u40R7LFAeYi>8zd91rV>{_;`@lj#yB!Za(cWYDQ@u`TQk~lH6(U zdUt!eS$y%jAvfZ^=qG4CAiv-t8O-S9_#&QXkGaKa4b?uiw6E;i70Ru z%)Y^*ttjwe()Az!QS7IOY}AGv&T%f?oX_boH*R_-@oc%qZ@DhUGIJ;SW)Ej-pJdPW zmr+&H9WGgIy(;KwKKQOM^*$QTr;bdO9qfg=1Z&Spez>(`y)uMO3SJ&3nZgifUeql4 zMq$SKl6;PMg1xfWUb?aHAeY%Gv5Ugwl0!wjn@s&nbmc4of=)~~)3=f$d?nlmp1Bo2 z6IWg(Ux{EsRb-gLcM2%WQ?prf;55(Qq&#UPR5v8jx z``SSpwCs*-`*+E(tdGrVtwoAKq=41B_p8X8r&g79_5qJ##RF=_7nDn(&t|$MYGy-k zlNxolYpuk#xt$dpRE4sa6f)bqNKsg_3|uV(ppN2BiwK|ADVEl8JE-yZh-EY(vaKyi zvfD&5I3+yFm{Qd^7E;4jf+>bK@D`I6s7U*8OJiP529KiHYgh{AZ@MSDxn{+U!MHso zH`zNK+LWFS^j z$%wg;Jz__-ruEhbfF2|6maI=1orU53w0u8)GF)6w$~_yi?FQ&CmlfYYCFXS$Xumq( z6Y80s+mf*CTG8nE;_0DnF-ms9ovBRyN$nfc{5X?()4P6dHIV&TVlvT@FOR}k&d^a^ zr&us&UD8x5MLVl~bdc&uY$0K?=rLo53%dpewILSod0%j%`FCxNx>y_O-8$XoV0Gr*An}X+Dn3Y6si(j_GSIzSLPSyE?TVtKsKk`-s1${cl;jL4{KkCX8S$ zF9E)e-I0x5PE#JcvfVWAXV(W~ZaU?KxVA(h4zsOwhd&VpGVs91RO_WUbTY3to2{a9 zl<)U?>WaqNxYq|O%A#3X=V8+v%q6$J%gTN}Yx7#8KUjX=G5=nqyik{%WfVeT@#}MU zPYD+ivwqVl9;5uI!cWRmJRw>Yoh-|`m2s9ipZMHEtlDNP_@iLi4}8_-B65u1d(tTC zB1DAQvgp2Gw!Tm-KgfSjK(1aX@wxwPMMF}l^mv!;@(1%Hje~@9PU?G2jmcl@@43dC zZgjVQOBtfJ4lRS6B9ZniN~ZU-WR|JaFnwtHNS|U)U-GOdrC08QTtl5~;yk};J#fgsCwnQmCiz`NeOpO=(jo0e zy+Q|U+_>W?aiieVBDz%Cfo!$F0&#IwmzvuMgF5^Xy9Zt`LxJ0tl)zPU%987bgV-Vf z^yV-kF!e@#1zK|3vI?7wLt))VNK6Q!A^MTY6F$X4ND{*j1zM-LKtXJBr9@Egmt z#LwS$)4V5|F~qSCW>yk{#gK^z2n2wlX*NJ`jg{kfUXL{){2yjw0s=M=!WK*Z^~vyq z5dkdqw7^vd1~54L!-M=a7$oux4n9Df0nlsYCp5X28oU<)U$~B)CLmDwr3O4^_}QO5 zrXXB7;6Jq;Cxj#Y^CnV3_k2L22p*A${Fqp{&V0faUWa=;%HH{(6!K%QnKxh%Ber8r zmjSxtQ$FA+b#~mTcN-kw1kQkf4jcziBr^QrDqb5iJiAbVpCoKoGkQ>y)FuolFaTkeW2g^=zTE?gnplCYh6{ke7B(eJYzqdNF$O`dW4SO8;@ot5=cS-4x9$x4EXl$_TT^)k}#gQ zZ4^$tiiPTrnZsprfHqvt{n$D5i?gW^lI?zP9KzoVXzBFMvsm z?hiMxG5l(fmp~6zy1$7B+(@R diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ef80eb5..408ab48 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=97a52d145762adc241bad7fd18289bf7f6801e08ece6badf80402fe2b9f250b1 -distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip +distributionSha256Sum=7c3ad722e9b0ce8205b91560fd6ce8296ac3eadf065672242fd73c06b8eeb6ee +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-all.zip +networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 56689ce..79a61d4 100644 --- a/gradlew +++ b/gradlew @@ -1,234 +1,244 @@ -#!/bin/sh - -# -# Copyright © 2015-2021 the original authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# https://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -############################################################################## -# -# Gradle start up script for POSIX generated by Gradle. -# -# Important for running: -# -# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is -# noncompliant, but you have some other compliant shell such as ksh or -# bash, then to run this script, type that shell name before the whole -# command line, like: -# -# ksh Gradle -# -# Busybox and similar reduced shells will NOT work, because this script -# requires all of these POSIX shell features: -# * functions; -# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», -# «${var#prefix}», «${var%suffix}», and «$( cmd )»; -# * compound commands having a testable exit status, especially «case»; -# * various built-in commands including «command», «set», and «ulimit». -# -# Important for patching: -# -# (2) This script targets any POSIX shell, so it avoids extensions provided -# by Bash, Ksh, etc; in particular arrays are avoided. -# -# The "traditional" practice of packing multiple parameters into a -# space-separated string is a well documented source of bugs and security -# problems, so this is (mostly) avoided, by progressively accumulating -# options in "$@", and eventually passing that to Java. -# -# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, -# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; -# see the in-line comments for details. -# -# There are tweaks for specific operating systems such as AIX, CygWin, -# Darwin, MinGW, and NonStop. -# -# (3) This script is generated from the Groovy template -# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt -# within the Gradle project. -# -# You can find Gradle at https://github.com/gradle/gradle/. -# -############################################################################## - -# Attempt to set APP_HOME - -# Resolve links: $0 may be a link -app_path=$0 - -# Need this for daisy-chained symlinks. -while - APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path - [ -h "$app_path" ] -do - ls=$( ls -ld "$app_path" ) - link=${ls#*' -> '} - case $link in #( - /*) app_path=$link ;; #( - *) app_path=$APP_HOME$link ;; - esac -done - -APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit - -APP_NAME="Gradle" -APP_BASE_NAME=${0##*/} - -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' - -# Use the maximum available, or set MAX_FD != -1 to use that value. -MAX_FD=maximum - -warn () { - echo "$*" -} >&2 - -die () { - echo - echo "$*" - echo - exit 1 -} >&2 - -# OS specific support (must be 'true' or 'false'). -cygwin=false -msys=false -darwin=false -nonstop=false -case "$( uname )" in #( - CYGWIN* ) cygwin=true ;; #( - Darwin* ) darwin=true ;; #( - MSYS* | MINGW* ) msys=true ;; #( - NONSTOP* ) nonstop=true ;; -esac - -CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar - - -# Determine the Java command to use to start the JVM. -if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then - # IBM's JDK on AIX uses strange locations for the executables - JAVACMD=$JAVA_HOME/jre/sh/java - else - JAVACMD=$JAVA_HOME/bin/java - fi - if [ ! -x "$JAVACMD" ] ; then - die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." - fi -else - JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. - -Please set the JAVA_HOME variable in your environment to match the -location of your Java installation." -fi - -# Increase the maximum file descriptors if we can. -if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then - case $MAX_FD in #( - max*) - MAX_FD=$( ulimit -H -n ) || - warn "Could not query maximum file descriptor limit" - esac - case $MAX_FD in #( - '' | soft) :;; #( - *) - ulimit -n "$MAX_FD" || - warn "Could not set maximum file descriptor limit to $MAX_FD" - esac -fi - -# Collect all arguments for the java command, stacking in reverse order: -# * args from the command line -# * the main class name -# * -classpath -# * -D...appname settings -# * --module-path (only if needed) -# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. - -# For Cygwin or MSYS, switch paths to Windows format before running java -if "$cygwin" || "$msys" ; then - APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) - - JAVACMD=$( cygpath --unix "$JAVACMD" ) - - # Now convert the arguments - kludge to limit ourselves to /bin/sh - for arg do - if - case $arg in #( - -*) false ;; # don't mess with options #( - /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath - [ -e "$t" ] ;; #( - *) false ;; - esac - then - arg=$( cygpath --path --ignore --mixed "$arg" ) - fi - # Roll the args list around exactly as many times as the number of - # args, so each arg winds up back in the position where it started, but - # possibly modified. - # - # NB: a `for` loop captures its iteration list before it begins, so - # changing the positional parameters here affects neither the number of - # iterations, nor the values presented in `arg`. - shift # remove old arg - set -- "$@" "$arg" # push replacement arg - done -fi - -# Collect all arguments for the java command; -# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of -# shell script including quotes and variable substitutions, so put them in -# double quotes to make sure that they get re-expanded; and -# * put everything else in single quotes, so that it's not re-expanded. - -set -- \ - "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ - "$@" - -# Use "xargs" to parse quoted args. -# -# With -n1 it outputs one arg per line, with the quotes and backslashes removed. -# -# In Bash we could simply go: -# -# readarray ARGS < <( xargs -n1 <<<"$var" ) && -# set -- "${ARGS[@]}" "$@" -# -# but POSIX shell has neither arrays nor command substitution, so instead we -# post-process each arg (as a line of input to sed) to backslash-escape any -# character that might be a shell metacharacter, then use eval to reverse -# that process (while maintaining the separation between arguments), and wrap -# the whole thing up as a single "set" statement. -# -# This will of course break if any of these variables contains a newline or -# an unmatched quote. -# - -eval "set -- $( - printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | - xargs -n1 | - sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | - tr '\n' ' ' - )" '"$@"' - -exec "$JAVACMD" "$@" +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index ac1b06f..6689b85 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -14,7 +14,7 @@ @rem limitations under the License. @rem -@if "%DEBUG%" == "" @echo off +@if "%DEBUG%"=="" @echo off @rem ########################################################################## @rem @rem Gradle startup script for Windows @@ -25,7 +25,8 @@ if "%OS%"=="Windows_NT" setlocal set DIRNAME=%~dp0 -if "%DIRNAME%" == "" set DIRNAME=. +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% @@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome set JAVA_EXE=java.exe %JAVA_EXE% -version >NUL 2>&1 -if "%ERRORLEVEL%" == "0" goto execute +if %ERRORLEVEL% equ 0 goto execute echo. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. @@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar :end @rem End local scope for the variables with windows NT shell -if "%ERRORLEVEL%"=="0" goto mainEnd +if %ERRORLEVEL% equ 0 goto mainEnd :fail rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! -if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/src/main/java/dev/sapphic/couplings/Couplings.java b/src/main/java/dev/sapphic/couplings/Couplings.java index b873b25..852afa3 100644 --- a/src/main/java/dev/sapphic/couplings/Couplings.java +++ b/src/main/java/dev/sapphic/couplings/Couplings.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/CouplingsClient.java b/src/main/java/dev/sapphic/couplings/CouplingsClient.java index bd15f5c..3b2c1db 100644 --- a/src/main/java/dev/sapphic/couplings/CouplingsClient.java +++ b/src/main/java/dev/sapphic/couplings/CouplingsClient.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/CouplingsPlayer.java b/src/main/java/dev/sapphic/couplings/CouplingsPlayer.java index aad1bc8..5eec350 100644 --- a/src/main/java/dev/sapphic/couplings/CouplingsPlayer.java +++ b/src/main/java/dev/sapphic/couplings/CouplingsPlayer.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/impl/DoorBlockCoupling.java b/src/main/java/dev/sapphic/couplings/impl/DoorBlockCoupling.java index 79f2982..67d1a3b 100644 --- a/src/main/java/dev/sapphic/couplings/impl/DoorBlockCoupling.java +++ b/src/main/java/dev/sapphic/couplings/impl/DoorBlockCoupling.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/impl/FenceGateBlockCoupling.java b/src/main/java/dev/sapphic/couplings/impl/FenceGateBlockCoupling.java index dea5163..e3c95cd 100644 --- a/src/main/java/dev/sapphic/couplings/impl/FenceGateBlockCoupling.java +++ b/src/main/java/dev/sapphic/couplings/impl/FenceGateBlockCoupling.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/impl/TrapdoorBlockCoupling.java b/src/main/java/dev/sapphic/couplings/impl/TrapdoorBlockCoupling.java index 49506b4..4e7c79f 100644 --- a/src/main/java/dev/sapphic/couplings/impl/TrapdoorBlockCoupling.java +++ b/src/main/java/dev/sapphic/couplings/impl/TrapdoorBlockCoupling.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/impl/package-info.java b/src/main/java/dev/sapphic/couplings/impl/package-info.java index 6f9f88d..a8b1b5f 100644 --- a/src/main/java/dev/sapphic/couplings/impl/package-info.java +++ b/src/main/java/dev/sapphic/couplings/impl/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/mixin/DoorBlockMixin.java b/src/main/java/dev/sapphic/couplings/mixin/DoorBlockMixin.java index 916aa1b..0c72372 100644 --- a/src/main/java/dev/sapphic/couplings/mixin/DoorBlockMixin.java +++ b/src/main/java/dev/sapphic/couplings/mixin/DoorBlockMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/mixin/FenceGateBlockMixin.java b/src/main/java/dev/sapphic/couplings/mixin/FenceGateBlockMixin.java index e0c64f2..f9f0ea3 100644 --- a/src/main/java/dev/sapphic/couplings/mixin/FenceGateBlockMixin.java +++ b/src/main/java/dev/sapphic/couplings/mixin/FenceGateBlockMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/mixin/ServerPlayerMixin.java b/src/main/java/dev/sapphic/couplings/mixin/ServerPlayerMixin.java index 522eebd..a6fb311 100644 --- a/src/main/java/dev/sapphic/couplings/mixin/ServerPlayerMixin.java +++ b/src/main/java/dev/sapphic/couplings/mixin/ServerPlayerMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/mixin/TrapdoorBlockMixin.java b/src/main/java/dev/sapphic/couplings/mixin/TrapdoorBlockMixin.java index 84bf323..ae3fd95 100644 --- a/src/main/java/dev/sapphic/couplings/mixin/TrapdoorBlockMixin.java +++ b/src/main/java/dev/sapphic/couplings/mixin/TrapdoorBlockMixin.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/mixin/package-info.java b/src/main/java/dev/sapphic/couplings/mixin/package-info.java index e9ee494..f84bb92 100644 --- a/src/main/java/dev/sapphic/couplings/mixin/package-info.java +++ b/src/main/java/dev/sapphic/couplings/mixin/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/java/dev/sapphic/couplings/package-info.java b/src/main/java/dev/sapphic/couplings/package-info.java index d36f3c7..a7442ff 100644 --- a/src/main/java/dev/sapphic/couplings/package-info.java +++ b/src/main/java/dev/sapphic/couplings/package-info.java @@ -1,5 +1,5 @@ /* - * Copyright 2022 Chloe Dawn + * Copyright 2023 Chloe Dawn * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index d982233..53db3e9 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -7,10 +7,10 @@ "license": "Apache-2.0", "icon": "pack.png", "depends": { - "fabricloader": ">=0.14.12", - "fabric-api-base": ">=0.4.20", - "fabric-networking-api-v1": ">=1.2.16", - "minecraft": "~1.19.3", + "fabricloader": ">=0.14.21", + "fabric-api-base": ">=0.4.27", + "fabric-networking-api-v1": ">=1.3.4", + "minecraft": "~1.19.4", "java": ">=17" }, "entrypoints": {