From 988cfcf65ab93ef8e96107d3e0d2fb23c8c29e56 Mon Sep 17 00:00:00 2001 From: John Yun <140559986+sfc-gh-ext-simba-jy@users.noreply.github.com> Date: Thu, 17 Oct 2024 15:23:50 -0700 Subject: [PATCH 1/4] SNOW-1737555: Arrow-shared needs logging changes ported from previous version (#1922) --- dependencies/Readme.md | 2 +- dependencies/arrow-format-17.0.0.jar | Bin 118104 -> 118095 bytes dependencies/arrow-memory-core-17.0.0.jar | Bin 115359 -> 122805 bytes ...arrow-memory-netty-buffer-patch-17.0.0.jar | Bin 35433 -> 35441 bytes dependencies/arrow-memory-unsafe-17.0.0.jar | Bin 10755 -> 10746 bytes dependencies/arrow-vector-17.0.0.jar | Bin 2063573 -> 2063599 bytes 6 files changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/Readme.md b/dependencies/Readme.md index 7b4a4c73c..5abaea2ae 100644 --- a/dependencies/Readme.md +++ b/dependencies/Readme.md @@ -1,2 +1,2 @@ -Arrow dependencies are built from internal branch `upgradeto17.0.0`. This build was applied the AIX fix. +Arrow dependencies are built from internal branch `upgradeTo17.0.0-v2`. This build was applied the AIX fix and the customer logger instead of slf4j logger. diff --git a/dependencies/arrow-format-17.0.0.jar b/dependencies/arrow-format-17.0.0.jar index 34927211360c571aef0929955d056c79fb633270..b4a34e86febd233cb6b3595c7e1bd9ddbea83687 100644 GIT binary patch delta 2320 zcmZuzdsLKV8lUF{8AgL9Ehz~R+2kS3%#2`B(mpZR*MsCANuA8)-_9vcdlBpz}ciM-~K=&FGzVwy&%3ANPiaew@3%xGVAf$8ue&{MjB|pO^l~iZ)tzK-uT> zvE=@HT^3u8H=cf#mA9N29f=?N?d|dw-{A8rUi8n@ZaR}`_<}OVI`v?+wC+s8ri|~a zqYfY4V-d4;*~=?G9Xz)=vL^1Y)~gTA*(Q%I`M3KsO}*Xwrpl<-a~`T!?>BfU?N0v% z<;@-AZ|rnXnT^`2hURAXKJeZ8d9uM^>b`4xZqD7cc>lIrjpAF%lW&y#v@5DryL97m zdDFEov_W-$dQ(~U+wn&MULFg(KML9yUeoq+f;ud)^cpw*6vwTOwZrGg*%hlk6s@TghYY$x3rvSPbUeb{}(0u7}xdy^mlxd@68Pco12Ix{<7cc!Ja}0XD*=>E&aF{B;4W9dHS>mizsbv_@n^~ zil`UMofGFkR=RrvT3}o;c(U}UDc9~|(n}G|pHZeE`G4NWV=gmVjHHw&D?iAOggqKq z!x9g3PDiDNGl)!7>~wr7ee{tPFNB+a#WI!K^ZhDoEBJSUL4~AeB-`xhts)^z~HbltT2;1UU!i zwbM$!<;ia^2xMl)EY9JR2^nKE%;!9pQIRp>VS*9Ww9hjY6n6Y`VaVzV8uCewutR^f z1nnznhdu>@t*#P`IaR?#&c34QIU9;5U3}TOvPo==_FC|UL=4f=bf#4pss(54(Sj%3 zK&XO0gA(^t!49^ind|Lz;ZmCQ$#JxbTDs9HkPF+4aD$H8$nT`Hk1#(M*=>%&4RkpJ zx`|xErF0wN6W+<`YdXvDrD{@8b6vpM)g<5teT1c4N1y(7qfHH6J2PBS10n3Ye%^+c zYiRk=wjDDV9H%OF2b=|dSrI@1RPOE z7eM-$um@`E$mfrvgdMn)QA_+lLyEi9Q_k&AIT&|DMLh-n@Qko4*4C4AE<;TN*y9~W z{R!^QSIIruP)~Omg021ztP#WX6*!Bh98B=A7>uyvDy7S@(9RE#@%01 zl6cQ4n+b|r!2uV0&FI|BYs$d_?VG6SEo-M3nx%=}a+rJ?b4d=?dJTq~NScuiGi}DW zwwdal51L6E;ZH#%DgSXpT{Fe4*!p`1gBDoHg177G!WPmnvW1@K4NPsJ4^Pf+%xWh! zjw(ovUv~3)^0~GsW=!*>epT->HTB(?ya*8G?l|&1{*Lhp}U#8j24uS;j+DL_p zV?6DMqsJyooo*v<{}?@;5JUY5U*vCiI_`v?Hf^Wte(WTFa6#Qk3RTonwFPg(^lvG{ z%yxKP#1U`bYBM4d_h-CmO~+5cfksSHQCdt^Vwi(6B0bj Ui2r8A(SP(3k?49h{rD064{+dh-2eap delta 2209 zcmY*bdsvg_73X{b4A+LjB2p+Qgg!uZ5rSYvF5(1)%9N_ylrnAAr<4cOxjNJUUSb{g zS@_f=rIW5+00|J4giA0KFn}b0QoHI@s0EbTvZ`C>I+5+<`!J>XBhT;r&h7WU?|I+n z8~AwE&5viPXS>;r>?_Ug2P>-}*2m3XF8p`6Dqe4}b5GZ<3D)|lvhVsx{l2^Tw|5g` zQ2WzU&B(E{Z!QvkA0zx$=PB=w`yn@`DBIckn~a@78y>|pzTeolT%EH=^5xiXBwqIq zRe#q1{9JHS;TJng?EDK%#uZ7G9yDE> zP?r5}!;i@=>&6x972~m6d^Ei;b-EqZzU{S3^|0^nQ!5L`o^1Nyfv)Y45t=NFgkf&hWf@oeO9= zwKvY>{`~OD_tWqHHlSivpu&Dj!ob5(xkpoMqpNGM!`za0HSc4U0a5K=7Gis6a!=d;CUm5>5Pghp;{i zow4gYgfRm_7CWE@q|9UKwC#ZpR3Kt|f<+kA2KG#6u-SpPYTykfK9s`?RS?3sF6MBt zigd}BaLIK`9MD}0B7CX>4<;>=$X9SdEkrR<(QI~tCz~5B!rW>KsHvp@!!k38Behg* ze;kKpbtG+70^witfvP$Ryp>4AJk~kM79Z8oTIR3D7&S=PcUHg5MX|;dk)zf0?@Uow z3h$mualra|iuX)66Z6^3bSJ*5L=7I$iqUG=$eiB9N8jFLj{|Co-uezFW%dQy{C{oX z@Qw>4OP|AD&k4e>E>KKKE}OsC6TL6OBE}|?JfuB3ibhg7% zs6ps}HG)tH&*gQ%N`d4xi{Xe_ufebQ!op5!-W~8upAb_zspftuPk-78u>$uH&Ny)e zA_U11yra+nF8EOd(ED=*0tFe77W!o@kA#=_7UNf_#Z>eRUt|mo%VGniV1k8C6ugmS zG2C#{KnmVk$1@3C5Gfc+BG*Kn1 iPk3Xqi7I_nfs-Z(!9Ekrhgf`Of>pM6&(PP1)&Buaq*AQ_ diff --git a/dependencies/arrow-memory-core-17.0.0.jar b/dependencies/arrow-memory-core-17.0.0.jar index a218df5db031bcd0489b98c8c5187f7cc9182bf2..12d9c9116dc1242937aaa40993259eb331662c47 100644 GIT binary patch delta 49969 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%0A@Md89lc0*60kTdQqglk6!7?Sfm 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 delta 42981 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 G(EkCHzriK| diff --git a/dependencies/arrow-memory-netty-buffer-patch-17.0.0.jar b/dependencies/arrow-memory-netty-buffer-patch-17.0.0.jar index 2004a461e05aece44647f49ad08649d27d8c4017..72d3742479bcabb1b0d0002a4feed11dec4771ee 100644 GIT binary patch delta 7826 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 WM+@DEWdqQK{O_w6!fwd_0{;u@j;(_L diff --git a/dependencies/arrow-memory-unsafe-17.0.0.jar b/dependencies/arrow-memory-unsafe-17.0.0.jar index b9897fe470dd93a95c91cb3dfbc6c1b00dbea9c7..65aac2a7bf508ab8c819bd2a71efc3ff79db8671 100644 GIT binary patch delta 549 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 BNu)TQ(qUzt2S(RM*(s+r9K` zXl~km=xrLcSO@I-?q-29#>o+vl>UwRzHA?Fx%OK1cs>mBQRV(9EcwLY@;<*^UlRXE zMf^|sOo5B%jN$%X>7E;45ZuL%_jIuip$Y$%KK#41ULf3MJ&?sC2$65dDlIE>jYc=h zx?_tyuW9@0gz#P&YX)mOc?gQ??9u#w%=Hm-1_x5j^-Ph`$+=)~5i^%@Wy(nn38%w` zcowrNYS=6-%j%J^;ZgtoE~4ad$gDSd*3}h`N!hC)8YglZ%Cl z3$fPQa)UO?{jCRhXQhK-w?@BU!QY~i@j=T(02D?P+{>6ZZcQM6#+9ZY8X(k~&1r!v z&wIxEot$a#8!X&!!`jmOf}wSmsszCz0$Zqaq-X+#PU$wPV$^F`cfLhgqF&Ez7SN*G z+q{w|T%m*89J+ZY*YkGGPTb9H-^4ho#H(axbY|F_YI*>7SFw*&Bm%t^PL9F`8!|(^ zI{n3kft1~5xy_Fwu4Uzc=~Vv7tZIu8h8G2w^unSJeEu1kd}i z{*Wq4p!*$lBa7Zl42AkUA-+vyb4T5N^&|N2nQZB7s%4{N-3|f#%W8F;yZiaR#@bX> zWDgZ~8@PVWN_W?2o(CuGrslUv7xoapes7m#q4G9h$cOKbQ`axGbV6--H*1r=S57{n zd14{3a)Gih@G7$MKSA=X*f{AG^kzTP^$jt=N+s|}p}B0L3&9r?Sg8>mV_6j<&*s&` z1+?F5_cA35U0tYso7+%gJmM{$8W%k6P|CPaqlC$xRZS3ie8tIGPFNXmJ>%o%Z6>ke z2K?lK&8n*zU|p}Um#PJGB`1&eh(@JiI3KJJxURR>Kpt_$ zIl?tOp5kWQ?J?Y?g>lO`Ph^@)L5WXLcXh^x2Kk|3HG&? zZfLJSp7jiQ1R}8Iudwh7OKRM$YosP+jEql^FyP*Yw?F(aa<7pi{cHSW)PtI346E#S zvtUmCsjb}BaPzUzZ!d_Yt2><18$gFGWAOMQdRV2BFG~T#0+VGJnOA;tHZ??Eb-e%( z@bPk7WBTkTMyIz3w&hnm9{Pi~5a5!EKMXPp> zFj=V5g;|(APy5*i=tJ;)4?;+~8f1qWHKx`iTY|6p#%n@Wq9~`kZvAX_64eZO_?Tgh zW?ELU=c=~0dl~=!lKy4PUgs#Ub;1mkIyiGOm)7=Je`+V0rHDAJ#yKp$pl<|Iy>%%78%>hglU^UWfKPX#hYZC1^L zlwG4Y%&Sv#J9P2HqzS1-oiiP-tki=Sm|9cqN!qMa!fB_l0_O29Wqn`q`LKX-?NzX@ z1-xC0^Nax*3bKUp7H<3Gc}g5CZFz+J$yW~vv2T>}(9Uv7g3DMi%{z*Dnyj4UDcMY0 zhdE-j1{071Cs0$e|5q#ar9qH+1wM;b; zOlb{feKju1zG(dul#iBjK4<{Nxs9>~jwiv?+9H(lC$t+aZy}>1W}jZUU9~sePNUFILb zb{4@+&|wvOJ7GS2@H>;-i9^ZJ3Mes=BE#rmGA*y zZCK}sCAE(};R7B>wYdj$tPo8`jnvMu-g72q?^m$`438b}xH9;yqPA%J`geostP(WT z|8fFS`#2hZ8Oa{}@^*yR6D#nY-s5cl<`Z*zX}waU0{uefnG_%m0tspNt&_?R^F56> zDbl!JMMrAH>3<sM&rgwSCg-6ujSFy5#7whDX_qym#nqt~1~b8O4G ziwc9LrD2}?@If{zVXH#ig;s8d!L~j>BeTeTeNk5MsVu*CowTTsnPW>fcXFyI=5${e zw^iLEHc=9>Rj#L`D?159rAZB&5UHhC<7F$PqMOe?3J(;OdXpyc$i~Nf{{Ea8ID%~9 zFOPO*UIK{=1OQ5`JS7O=t0X#Dkr5weXPyif@B?dW7+;+A*UO|TDhhGOyfxobtz0K0 zN7!!chx~EHk+ng#ZJ&JfjEj>@M%HrF-J9jQo1cRoG0`>EwaU095B7tawF}uMPGjObb%~cbSLwtroAU}+G>+n4? zaV)b+C8;gEUNDxf0WkmXF`#?|)jdK51)M+zu{dz@5pNGO| zA%;O|I!IRv9lYO3gFBQq)DccXPuY#dAbaG9%`IplCQWu|#Bw`jx7+Fa{drEq4Q3^V zHeO6w2~ccbN5a80152@%KeU!F?x1WctZphfkQB2JZ|_SsvtvlcCdGO7MH5D_OMq?> zZi4SS^wolvSS>6dR51#-kBx8mnhVe&nHh@i#0h-bg7G6b#icW^;o~O$nvFpe( z+TV@bl>ksut^NJMjhVS@0<`FyQxVH0=W1u|860wt zZ^bNFv289{Xb+6bg}VFzeP%ywQjxF8U`zQ}hzq-^eknOrBYP`yJoO~K69;@AW?N7V zzSs7;5QbBNqbze+x{*5+>35ab-=1+AoW8qwxk6z?|JFi^PFE<^pe%8TW= zxArl~~A3RkTPFQTusi`c+U4hEq5b~r8TE+ z!5K2sHFqTH0jd9r7mUv8(8t5a-Ge+h+p5R&Y|(fgU5vK z`A7L}Ntw`S*wwZe3pkQZo5Rze3+>5-dS58~E?;lTzN}B9qa~k==stFppbutLT7{@b zt&)Ok%TP>4kY3-Rd1w%BA1CPm+NwA-5Drgn*;SD_0l8J;p-m$wk9>4R)ap&mTu5@J zjHap^Rp}UZW$j#&zbp_!g^t_42yaQzVo8LfIn+V)RyLS(TOKCD{1SV-$$DG1Es$!S zSGp}Y%^D7wsFA|UV}Zz;iEI;Ap@cp(6SGp~>^J;&#oV%dOfDKK0iP+5ETCm}Mdk*g zIaB;e$w`Bn#17JeozE?-j{4!EL7aBCMLmGA={UNgm5}AJ=Uaw3WLDh*MUzlnxRyWu zq|*G;8i)~exX}o1Lsc#0l;xN6@Q@9vWEmhII}lyf_k-CnZ9@33SW^V#9ZE~1OeRct z#TVz4GjdC|P9{t;hu8t`hfEe{mp7IP0*y&|IDang+k#ML5bFlCHe_>(4+Z36e+rE2 z4YW!@7=nT()De$4pF#&bQn$qL-icu6?q2LEY&*-oi?2VaXAsu-cHsoKCxgas_E4K& zrE7LX!;r-(C@KL3hxY@CBzzb50tS94s)jjig4##?$6ka}o8>?ze#ws3geRGOf}>b9 zZ)V7;;nYRh8(1&IiXoDo4n*iuVGp8*5lWR&Wbg8s-H^-cJ`svfHg_L*ue;y7FI8xZXBYT=5G(%@R=+swDk=&080CNCmDf9m zHIR@pIaN|65r|dxMjUa5XjYW%*BuY#VLL~APhsBzpA3enk4B67R==7b;tJN~k4>w* zw-^s@3gZQ|V{}C+H-lz=@AwKI!>OTt+n&vGBY~FksEB}Y=~W0Fw1t0ES~Lx{?01`T z^1}tB`s++crx&&&OZ#!LS@%0&IbE}5N!mRq%+}noay>W%1Z+>iId){pkWTZB^934-<+#V&VV-N+{H;1yZYwA5Da|juk$+*?#Ta zl`avqA=BEj?A0%)`A-NFMMei7t1e|O!C@_n^mGJMN&TDkr14<|v|Ug-EhD|ZSiozd zU)hf#RWN2S^1YIJttb3YjZDKsWh6IL4OLP{xT}!M%@FW!nETX z4w6pHf-T7nqQNyUKpcOUtw{T8ayrfuUVigyI;dt<-M18O-|bHpnS^n`A20<0OGFaq_Hge=lZK&NT1KAJ>;)) zF-H7iJq5LHuV1xIyk_?^VqyD59X}ByiCo+!&#XHTW!=A#rfSNIQcDsEi2u3oH&QyJtP_Nd3c`ziZie3@lv@uP+9!te){KTEu5E zcCASZ(OoJn__h)k$z@*CS>XuD52qFaKr135TbNC1Z0nZs=|G|uoz$0h8ftgCes{>j zD@5juTm|ASer<~%8Og;PFDgbgBd3o04v^ZHA$RpAwZKfX#rs2fJY?wUQ)8Jh-3R!UNwx(QnV6@iBf z_{`vE>tT-7qxrQ9zBAukL-uW(NS)RW`7z0&`WTR(4g?WMqr)H6Yt^W0RXfYZ_Se}q zMMj9?X7Ehv{D|WI(f_H(Jo0Zy#h^v$Mdreae$xTRYD`*`OUm74xD8}85BG!1a5=3- z#No8E1km-Iq8n=x(*Gn<}Lh9+KP z8?5f8WY%e{QXF2n_zP-nL#0u%G;d*c&NitgugINXOXRf$BlX?1c*aQ9p5ONEUy-Vq zC_-Mo5d}}`{G-@ng=GTZl6fM=)MVACu!w0J8n9CgU9N(J^o36sAlAnb`xl$dhLJh= z@C2*r2INhY*A&xPa7^z0vnJC$rnUG;en)BD4+%c!1-$S@jl~F*z=oq8!^8}!#i{>k zF$7J(TCKN2|2#j$tn)fUH`Xs{svWMgj?0J2l`X!B6OK@^YOev@)9O-h3d(~v%V%_s z{7N||4XZF|Lv>KpY!aK4byQC)>0R(-83o0Yqx8j^u{ax$EGxfXeL>|oG_4R3dKaS$ zw&W!C*Ws2Dk@j8@a>UqDt6(lO_QH)gv2i?rhrH;O2Rl+A?QZ+=U7zq#PkE}w+%_gz zl3_mjs$-M#a>@ed(6TV}DadnG51;#kk1d#gqH={YFKSBZC$A-c)yQQF#3)HD{o_k4 zw;2!`d&BP7O&WMq(hTt>is%woCOZ9WW!?X@EQHg~t8m}2Yl3fr&p}aBNi1TvlgUxl zFGieCg{iIV`ypo@JCLY098a~1=7+NWiaLD?t~>lP@6!!%-9s*opy*0A!qZ|WP?uv= z){w1RUP`Y>0%`Hj0nat#hP47 z0jIhYDeGxr*)PUl84SZy(JY=kmP|#o>hAO2 z;?+Z-=vnqt%}-zMD7r7gFL9vSE^(mAEaBl-K1Cn@%S9BSL35=<#317bNLY|y05mF~ zE~kW{g87#*hqWY4>(~U%$*T<-PeQmLH3U^!K8kT80adf@w*_wc4ErJ<|Fgp<0i&CO zzA*d2&XCXnlT&Ce-i|Ru)(7|LNAF|1>&fZ(su@`F*l2;V^so~m8SR3zc|xoirkV57 zenr$hw;R8mFybuUh5agf=;)l0lYkmJ{%UE2iYVSDV(|GO_U?Y?G?AK-+o!C2$f%HS;%1_`@XqO=H*ks9Qku4 zrfPM#XJPXWy4hK~;qQPy-Eq=SwO&7)=P)-x zK2Vk%1`jH%OWZNiM|I78;iYewc4H8?0**f}3MRU>I7ZK6$p*nDHf7tXz+#=UbF^<* zx$LAnE;i0A{8DjMYN#bo<|QmJy*+nSS`Jr(y;6g;+}z02Vqmz~{=?s4^8=jyDJfak z8}G`%I~r3%p8O6XnYI)?ePr@`g%)CluTVu)29#x@+#WdkDY&1_`T%I;g~n38Q{r4F zZk#!(_nol}?}$}PzN~+%MSOPr4?(Tgev%2Lf0nb+_VYidU@n3VJMA>UOZlImKT>Hz zXcJymXJxDLqi$^B4v)uKk&1?OGafOtL6KSrWk&C}M)pO8vYdJ1Y2qNFxdLQ{=9Taf z#pZ=fZs_lk;mv?B!3G>w0w6*`e&^%nedWc-TGLD?Kr+v=QY$|tsWyK_MGbR{_55~w z>sYR*AX&IuP%SALkIDel(ykw%U7!^F{SHonxFP3~AG0|Z&xp9klJmhF}^MTMHHI%GQ38FkSs>~56r1G_ADN-3_0s&*gJa6~d_WAY|4`p)#8 z3>OW9pVUCc?kDp3{io$5P0k9YN@qk8>7_6=^DBz7-2cReZ9;+2FaGf2i;J~L&|qLK zD4-wwc*G#)AYwewP9QNNP@<`)g`tJ{7a1;td95t&Vg4P*Fk^53A|r{QH?gKJ&;ypN)d8&^wMa7v0m5YOt@wIlG6EpU1Z1bjgD zQ`5?1{|3Ri73S}Y5TYbU7&FGbabu(74wxpTrI|bO#HB*HXs3_>_|>-BatCz$3-!4} ztFMwlepUN?Nbz{4r3Q=$;RS8Rd=@!cUe0P~Th3QFybR}RjatgSE{NA*8t8n8^h#-m zVHRE(h>7z5XvN$%7~#U$pns#IRBaLr>YNZzPP<`Uk#cEun2k9zwLm0PJ_LJ6zTCSqJ1^O(=ElgVn19d+a}(VPH{DP zxJ1HKPL! zhsC1FuH#@pf9JQ_5vAg{fFn4c>K_*a-B}LO({fJ!noV|+cI5;xmHeLI)}N= z1&_YXw_^#VeSdxFeSvJN_IA(5$5NV!t>Vp-$c&uA@>h2&H*dA#XpK>{G>`|TY^OQG z>c!)NLyKwy5s+Canb~ENyK|B%avp>m!(}2DI-3l%Hm(&TT~=KGbUpX3=Wx}@ea`Tb{!T7T*tE=u+pBQ4dn-m;%z7CnX&1dARZ7JH|xfM$&-Bq32@I(7sGC5kI7UU7TCe;Go)LfZ>1gPGbs*p}Z@ z=p)BaS+}`iP8xc}wg%sXk6ViWaQo*MWJ|o@Q@pdxe=LQ!WUK~NxlRip7JCk>rV=Q&EC>ac+RF2ZePHt zv)y9ueuy6i>zV#8V68XD{7_e1RFK@+NMthcX1(`G94Kk~#3y=IM=fOoXiclIa$_}8 z8BCWZV;#dI1<^%4L1CKwFN-dU#eS3o{w^HR^6C7r^J|0bAlwaer05b$o()N|LiB{Ft`N=@_t;~~_Kt3XVM>YRrge9U z#McknD}`)dx7_Css^Sd!2r@n>-ncQi)taBv)jHL4`-<^2toYprsxyS>5U0dxoTk%y ziG-Y!=$UN@9M^{MtjLL^_zM}H0QK!ZF#m!558Qv?|AX)!#Qz}u2l+oJ|3Uo^+JDgh zgYh5C|6u(G`#(7U!EH-`!ZS*MPZ9qR3_u10qoxGSh5y%szfa)7fxf5WVFLPE?tg17 zB^}v)(tfTdk!?nfMn<-*n~g@{$av6?Z-z8vOGgD=efzLEv0;C<&ShnT=d?K!MGR3+ zOA^gY!4wsPM@qn@A7_bNY$j*Fvde13$z*if4P@WvyY10oPqG;AM|lA(0^Uhf6^c@@obzzNSA3GP+t7XCxRTFJx8r z>+sj^XNM_4)#EC?-WPx7f=*~`{<8nFe}d)xKK*(PQhqIT`bZ)%TDeOF>y4^|z5~5h$@0hdA@5zjh5=!Y-{xW*WghKq zdNKMv@3~0VUd&&=WIq`UQAq)<$i7ho(n%rd$N0u~NTh$5{ha(if`OGgrhrd7uxl?} z#jmU|02KW1$L2q^%zsHIeI;)sHh;A|zVgCI-tWl<-Vec^Bb&dx=HvgN?D2M!Pfz~D zq)t%{&^XZ|KKJ1`MgYoPN^G*ly^r>K{e69~YGbs|y~c3a3dto^^+^(-Od28SJ!TaIYOmlpV8x1@d5WS?BN4=3$S+PQF$!4EJIY`=rG;cbH|OuR>!N~ z5Zc4sA47_rCTHifp=5Sv_4!0wOe3h+AY=y?=ez_M7&Dt$Ij02e_=z~Ky>Ae&c+faT zhrn&D1DmUpf0v6?*`*JA=+8G%jZVp1Pw`rYW?!Qt0%1SD!?!?3ii5%ArGqdSNG)k| ziFmmAvss$lJWL-GTSe69__icG8Fx}iPFlNuGlEig@otVgIM@b|sbc9xLLYuusTi$9 z5DOW{tp6>kkVUF1T0+-Amt?)yy`R#y;kL~Je$v5N9F?QPr#iFw_D|t=#nLZ#hS;|J zVart@2gHU*kvBmRWieM?nP9DHwVvF+ixZ>5-y6@xX?Fx&EvYKh$FH%zQ@c$$2S4`T z5ERM~X{~Vsqy{dcm^sZc+VS3`mlp}G9@4P9MGTKr+L-@jJZLy{Le$ddZS6{J=#$3G zJKSGl#^XYxe(=^%O5p@g*6507rKNGs5|LUK0Q3{EYa2*qrYCUtVCz@zuIDGATe>^V zTF-H1jgcyB*_{lDGIO1LYBY3q?QsGK5_(LKGdn$+ox4-!!wKa_=axtCZ&S0R$TKym zZ&K}YZMF*M-J*$38(4y0RWt?-p4PT#hbB_&HhqcKMvB>>@W8>wB&oq~&PYU38mV!5 zz@06TR52dZHEXl51Z=7;XM~MyWUcLzDqhUFG+9xV1@5XdZeMAYt~t9#S=F&u%V3Ku zO931k?&w3pBc7~@x6R%qz7jc2d_AF-HviQ1K(z%lTah1R3$(j?MkUBHv{tiHBj}Hd zfkA=hC2jf2*@dioYVAs;*4c$^i{dB|P${Ao+i9yh-D#_GnK3De;U`*rFaRmZkA_rw zMWv@4VLzuXtwpd*St!dL5v<4wPkFs{?9?YYI_;G@XgjJFoKc-PV;LmL>GeUx@RrlI zD{=?Dj*LuH#LM2Iqg8XEt6-nFTa&p_T6JBipmyDPq0GnVqSZ76mk5;A*8YYA46apk zGA|Z1+BRwqW4kF^U|wu(nH*)=o0P6s)wM@A?>usN-cxyRM)cBq;91=J67fuY7Brw< zSZ&u3>{>~?r(#!N?on%&vbm1^PGFs2rM1+loMEA4ADC%Uvy+4AN4U~JeeQ}-##3MJN-82u=TlVn}XsCx|`P0NmIt|GS zi^~cJG?0aVvPxcPIi!pCvlZrxxuAUM!wV7`uiBLL5={KT<&i6X!%rgs)a2|Ebv+XE zdaDLc>Ni7Zg1iBlquw)drF}$Ltp>LJWpIYF>>Avha+0qdsbmU|3=sG*?CvQX>wetN z+BhqXLR*WgyX%WRQYNe2dq(N${Fv7pLC3Zu0is6!Dy|K|G$fBOyf2|$@#4=E5@gi>V?M+gCv z@~V2V4j9WNJfxu8Z@>FRA;)@FII3JPILH1S%c18us${Crjq2v3YESMA+#(Wo%%;hP z2Tpd`*yeWBP`(nk1B5zO+t?g_?kzdEh?QNZb~?h=7skfluog~0>dj$Nx6tL0C#S_! zMwTnGYyaCd+oIxrN*YYfQudc7cdC0w$g%C9tAT=s35{vwU-m*GE)?Wwh*E<}`nJ=D zc#M8E9X7_8%hE@u(+(c521lbIJht$W@ir4|1a3l_>9JOo>R#!bb8Mt5PfHiJO-85P z$8w$38T1HQ&h-^QBDZ6rXM};90tqqwJjOmWi&1w5MEK*j28TDHsbVl=B})|@Pjc$a z8Lgd^R^SwJh%istGC)fEyCj;wbAhC*i_1*yLkWqP!u_OJZ(nNKUUaEKLQsnL@bFU{ zw7PeRMtFWTW37QbYHqvVe0h#TPi+Boo2c6PM`FU+p-Bl!e$u%^TSI5h(2%^iLSj5UISL!>HeE;!}6i0WO-96P>+6d;zDAkLPdf1QX za;@VEtz(Mv2{k3ML)E?!V#vRx@xS>3`@Qj6x2MQ+u3`@OtZU=KCx>tbL!}a z-O1R2ry0>h&a605zRlIW5V0Ei!EJD1q=d}B)f+dc25$Hoy=d2G6}~&cEvL!?UdYif zR1L+YmJo8=3>ey+fg3VQIjij-XP9YHTd5~-`W_QkDJo77e;y_)u(+CZXr?PU9ecE@ zUIckUC(E3M{TFqrDG}D$p@|JI8p~f4O{TE{qncar>WV+>XL0DclL^#xcK&5SFZ{oj zhl^{;19f+yYF#RzI>xtj1Muza4EKE@v`~C5Cd%q-9q05evqZ&qb=ZBrZy(#YdR$Hz zy#5IoV7iuVRkOCO%C~1nS<#X&JVta=*@0T&6Cx-@b)h0InGty2CM=>0R;-yX(3&d& zHf?~ebNU{)Q!%#_>TR!(ne0NM9dJm;VN~LLF`*$nUOD)@gNqlLV;JsQ+647zmdcAn zRjmQlSX?y%=c+;A_+pw3 zu{3Xmhq_mgpI9h1_L)PHQfyf>2l$~MxH0@hbUZC@^txEY#m)+Q8;}YN7;7$NswjP* zgJ#}HhBA@D-reGzDXjElCsh%xf!wQ2eHpJVJ8QxfJ0V?TZOEX*=@eD|f);5Y4vc@& zFho_TP<*)jc0^Bqsi!uN5oc&Ne*wJr&%EoJ+TwF*l&j~No z!Jj%;^uN{G85hj?h_Vcl&*+7Ln*VaGuJS%lwyoV!ZPz}ewi%JV!C2*D&ppq`1?XOz z%&476U;Q%@Qny5bDZNWlHl_Px!HDS_WiX$gzjAfJJvMQAH$Ngy6ZseD$`zHN4KJ*C z{zj-g{y2$7F-9S_Jo+;JTUuu_=u&@k5V>3QlT@Z%`d+Y{bCS8@cjw5v1MGT z79>zBNWuVDPO{$-kG)+fNS4pL`u>3$og4g6syd+#J~Ng4@bwC*b@|e9UQra`@~Csg z@HPT?aF1v**+N>>t9T1}pFIas5!I?rYVb8bz9*Q~3g*djeL#3;t1$qcOZvv! zqtj|znu5nSts__Cmf=-C`ACXiDkQHU&o2%Bjc~ktbpob#g$JJJI3OkUg8Xi$^-k~Kg9nzJrJN!7~O;i1B3rR z>njuppN<3(gj|dV2TYk8vU<}~{`zJMCrzFVK0+Ohjws5EpN%T}9oJgU$dWi2CfWNu z3+KCXRjX$6Mx{Gas_x6m3N2$u3GH^3f&I1Vb?>dmSD8_p>y58BTe7?;WwVi4pI^sq zukWnDsb`w+O^2i5>uG}(IQ@uGuy({3d@VvD>?(*f#?#dm65!%;c_gOvazy3YKl$FX zGgxFwg3T7@xX#&q_FmVX+oY)#3f$wj=M_jtI#;=oLrH zjXmV-r$4|30R&oKQh@ZkMT{Mmn$gi}q@vx=(WV=xwiAmpBB~Dzm*mOastk>7w<6ZV zG8U?Pmu1*m*%ZX)i8dG+7VHSdrI(~P#Wgl8$yGDA?am>p!sY9587)D?O$v0TPeY{J zKD;#)Zc>#g%Dcjd8glU&ntsaWGHniacI=}E)AfW+mG4T=sjy6n~BG+FVDpOexQ z7vb^sG4M(pVoHv!h?^^F5T*zj)}e{4SKk5&Y$c&~8A_aoFT4+Z$N*>TIyRN;L`XTIC_>j*qgHk zK9u7v0!i1!uzg*@0bP^d7a0hbKNqePBvq|47WM<8Q_#wZx(<$ViM0p15NRh{9Yztr~VyG0eEP^Q0Pw^}Ema|}w`Dde8CnlPt1va^|@#$SOrd+W! zb4g`?Bw;MA|I5j_>qCZXun5Zh;IJ5@KSL&*ra>*UWQf1$dMfU3_G^YH;Qzgjwwm4O z{@);_oI~%Bm(TbiwDrU68Q#}dbz_A-Ym~mQNER>`YN%`+ob6SN(LX>T!+|yIrYe<_ zb~6k}IwdMq0viX2x9? z8=UT#(f(1-to^WiFeu29;vCRk_=Wh7b3080f2ta{#&UKN#LmEa08wUPnRR%sU?Y(G zffr~2H#JT)zT>H)W{D1+hrafnr^1NhtLZ5#+QxO{_fB0mKC^uDlE(4-+vuNE3t%N| zC&k|Fa=OAma^rhnt!#v%Kgg-up+wJ`Ml%!W>Ip1tN!(hUgH zDE7%RYu#?x?eCs2jrrJUxI}eg)Uj~@-gSiRr5Tp@1wPhkzT&W{!^|i&ZJIHSQnkjN z4OZTO)tdzZSDxCPH`eSSG?w!jJkXne5dE4IMYL9Nz$%XAr!%bO6xg5CkX}3N-Fog; zqJ;13E;pd1(H&7&@ycshxJKCYm34HYdXMC%Hr#e+|Nj7!Ky1GT`?8Af;FXg=Avcle zxMwymB@0Y8oVlv)F7xI1u8Kv72+VfmRmsyLU8UJo`>t3}m6UsXIrS-vWkRvFa|g+P zQ}I1~U%?Of`9lRiQt@N_MBt2WEn&o}c02ogK~>7!?XXkuQx!kM&sF>azf|!n{F)Hu z#_&l zCZJR%kAC-MQ30jb78Wx(H+xfl)Z%n1O|OX#-HY|1EmYbSWLbgJCAe)#J)y<=wh_^` z?WWbOk(`>b;v6jTs7{E|ey41ciW?g7_SZCrs75HKjNjO6S$fJ|Z>9}LE@gRtnhK<4 z#L)&H(JD6iARXy3cbE|;JSpc-;g9@r&DPp=D}9o0bk6#g+y%tr#*rN{T;$Mmb(Hr} zZ;1K9u$zme2?fp{TT$4wdhmGRtwoWtc1TFLml|fRP`>ZgTenk&saYEuT1`;VGwj;H zIixw1=Q<%!b+TWANR_zW*_)t$0Lp`BYo4g(3rbGKL*;ff+aqu;+p*9B^V|ZNCkIkn>3CC-}<{X9JOk>;d7FXd0dNOq&>^}lE6WESR(j?E8s2!dG4|RYLYJ|Fz`W&<|YUvi~ za_yj}&++;ICbiT)1^!(J(Wrponb#`D{eAoc-FLKh5L znJtiRs`&&?VS&XX3A~b+T}1+~9#LR&M1kFdb`!J7p6rW$5;gTHoOS@E;iAK+xIFBW z?P0pThmT`=2hGo5{TUMdD-QkX12}^SDg3W}O24o_YFRx6i`cDWpv@#-(@z zdhk}FvuM5qMN|KQCVy^Vq$!Ae(oZkalf!i-nIX`B5C5TB+B^Yr)jWZ93y-2&kcfHI zIa}Za<{w7QGJkl6|0qH}ET^p&IE>nd|Ml`A$()s&D^tbY#PlHb?jcq0qkMEf#r^|y zusujhJme+gCFIp!?4mYIhS*K;S-F*-ax3Nj6SB95g0d(pY4FHi8nNVvujKD2Q?T!E zbf#ow6m|C3+o*p9na5E$LT|jDeP5gj#ef`qL_%`}6uU4SCRdUd9IC77De#WG4E;kH zJ~l>%C3q*UaZkQEk{T#24DKWz|Ld)MJnOsZ0=7OaNt#}se1ErLyPoV9h z%D3RI89gNmAhYQ{^A7+3GA)+@AORkiAj%mDmrm3f9e;)~n+!I{lI$U11D1@9ElVI< ziz9hKh5)0{vovNjBW6Z2HX(t81c=GnhOMCskhn{rv9UHgELosUnx$!)CUi^EG)>zi zBpJ;{Hm_>)m)iW5Hh-> zfsTHtoWADAkMQF%JdU4e^Dh?u)sKI}zw3touz&EM3in^y{8Z8XOlA0QZGNsKexajZ z`tcM_TLM4Ui}>-J6lqiJ7mt*b;e?c0VrlR7i%Bb#wtmmkV`tk?yHdkQH9JSW#X=HOfjI zt$)(xOLcUaHr1-%(@J8sB{hDjl{!n-2ufQ!uD`yiQ*d!>Jkb{n4Ti$~PB4^6#196e z@xI^|9ks^$`kX`qcPIIEAS9?gbN8?lPQ??!)S*Eq861oshzGmOW`Y&Rhf;!?f-sT6 zaBy!Tl5!gRL$R0>C5U$@7LA8`orIveAb;E*)9p_0BveIjB%F%GW1+;Mor(Bx#K2!& z5I(y*xa|x;qFbEZ(9)aSopgEy3tJC_hC{)jR3sYga#Gyo>x%TnLaCvIBUq9Db)!3t zhGKoe)_AP1VUsc$jt>kboMe)in?uUTAxqW@tn@@+w@?d-#%L&+bdrKi1qH~#6n|{Y zjvM2>PIzS+opKn~gvJ}1~R z7&iACbUup1Fc6Ca_TsI&D@HcVFU5qMNI zb<0T1X&)NsaT2?98{Mom9u7tKgc1>*rx!h`{zy_SF_ZKr=1n|m5O@+4WTxmnLuf|t zU?%!5o24v*lmBbn*v; zlB-2-`+whfV|-)!!@@X>IWAafRO`&&bZ6KxFiA_U;ryT`v#p_2xSv~l+`jM`lB*1p z3p<@~Jke|58!Xwt1I{4K+J7O9`ijDap4NPZb)gql<_MPIo$lq&g3WYfO^=)r;eHpa zDhO&^+4VvK6h-vF-EI!rp&0ckEllQ$zSA563wx)ETt9m)PEi*%S#Jr6Mhk20tT<*q z$nrq9M&sez8`Sb^Il zwedEk-iLl01GvLRf}}BwgSIrw^|sugvAXz-1Zgvzci7S@ZQ8Wkcq{G}Tspfel~V7p z;b6aDNmeQL*G)Ep3U&0b6dDs4W8$vm|cIAfC774%smS_fyYtTN1*vhy9QYD>DZL*UUG|Dg2!_ zp2kQX&zXZluzx(e+R3~f8E|qwRyPr6qADH^47BMY>{qJw=fv?-N}6x(Xw~`gtW> zRspjr5}8)#R3-AJd1j?1ST`Rv2^Qp+<9WziXrYj)XWS^DAT1p^j$V-DOvmsH;!dkh z!6mb(rGEr#=XSUYtZhxrTXwhZvgG}OO|#Knd%TdF@lb1N@7lGcy|GDf-K+}n!pK;6 zENJhzwXvgZXJ=DaS4&5`KFACVrbuR4^>mLqgs7>W!yAS#lH5tkPRy;~_p$ABI9@u5 zJtu?c>p~=!+7pTnIc7Hxm9lWc2@$31LU$If3V&vI^JpntnVsc%>EP=nJ#Wg+9PXI= z=0{|oF%=Edm3{7IcVwmE%AugG(p^ex?!j2zZSs_GUc<&9+GJ>ShH^8g_h zP96$-oJ8_04|^_4ZTSGiadjbp;ZQWftxgtZ-R_vGqu&YNt_ig~tfOYFmkjOZ>gl+g zBY#6Gy44>_wmWw+1Uxa*70f1vR5m-QJ4G}w7pCHEZjvE;10kaLNMR2-<7wj!x*p8s z^`1;`pkgWe6X0V(>Rn&#Rn$U#kD-AXbTMz%cZ&S#sW+?4O6zMh8GZF-YIa+ z49+~`HI8mT*1LuVO|b+WPkWfo)DMKKr#PXUPh>e|$~$texh+vjIxll*FOdFe_eRHp?^T~O7zbkZ@}3ZHh+gT zsrZtU6T!=KxZuwJ5oNB=-E)7ps5;w!iwwv}a+}jL)YlYK4feXB(y@PkQVW3v`Hurk zki+VP9eORT-oAS3+ku-eCNo8=6YER$>mkyzdYT7B*QvMiIx)Giq*oc?#c3LI-!zRk z(%7H+l^8150e|&IsxUd0SHxIqCx7pTZcTmv8zI=4#lT#p**@JJZi)|OYG3u7Nw->` zYeVyo>U63(^Plc3=TXNAu9{z^?OB1Fu>*ozP>%EU;tgP_zFwFK0wp7;s0oygkoAByf~7SzC$MxBm5-r{qYD0(xGT$E!a1WjcLIT893^=A;{=u$ zVFc%q!1>*^9xk2d8N&r5xbPG%>aHC{)hJd>;9|iTE~)os7FG%Zo_`ZqHI7Sj*Xn%% z-vllbJcgAzsusM2)%E^>H{h=$a{oALCQw_1y+==fgEZ^918JNTZtVzy$BZMWx_fXg z+bC!CRQG1O-*pJkwN@d9TEuZVt#%b%Y$KA`iWC~@Y;AP419Y~-bhC%(UcW=fdXfr1 z&VGanf0b_aeX9I5+^5`$H!@^@09{(8w!i~D$pco&)6MwG1;Y!ZbKTGIumrsqR z2Po5nMl-g%DXov+G?o$k7Jt7ziApY`E+{Yh6_q;QVzu%p-o)<0QC!g~Z8bFTm3wPn zL37KC-GhxT1WeJ`gqs%VYP9B*UaM+@AS zw#~WdpjDnUa`&g@R@-cW_cTcs8~r|Ikp_*i-rLM(8-J&XxFq{+^1HwIG;ylg^3>rvFz`%ht8cSTdcKZfQP>&w#Xi|g(5 zx~=PhGHTd^ZXN(3MpP$9ag!g1nY0@@zQfF2&9*a{0UxGC9;OhFpc0Q#yN_cH-E9*E zZlbWA)PH9;1-^wzCq%Ks_!u!fMLbUv=TTz)DC6{FjH%xck*zAq zB-kVPUG8Ri#QE>z52(s=#^T5E4Ed@g)@SjD{I-TPKS6IUB`$v$3z2d~Lun z<^`Xz?@pAQCVM_(!{;oV@Q8`9^NmF}s|_35jDMkhC@ZunZT80UpOT||bC0A0?^$lr zL!gb9x>h^HdK8}vA?h=l6>e>X} zT#UL;O!4uLQxDJ3ho8ktO1_rzT|)^sbG{8HjCQMB>KRR{Hh88IZUaV{;fstmypW%R zet$ilC&dI#&LBnSR4KaVE5$gunV=LWDa9u##q*Tn1xj&}QoK}9iYI3!h3Hd!T8f5r z67-qOHHKZ;M7Y2Z_$+~5CYo1rlA&*!WcW$4=#~*zXt*nBRm>=MKa;^&YSurOgUOr5 zRHT0krCI7HUH!I-@MVwl1o!Cq?;_iy9e;m8SKoVYJeJYhGE;zjkyiNG%U8`ytnV%rCF8n)wm^ z`zIL&7SgRW%PDLiM@JTl+L=#$^p!u#@UX&cqbF9}JdU?KhZ~L=wzGn%6aKLg_H)dp z%0V$JrbiJk^&u%iq^=9#3$lq>*aG)Iw@c(1ex?cxM2xZy1pojn36}vN0Unni${7Tg z`ZymEe~ndLQxjJheonHV<8k(wX+M7rpC`>4hCz`kc)IkuXzdcFyN}-uHc;_c>?(`1hCJ z0DKH51{M8L#4#Y7GqO3`fO8m(U`WOJ7=|$te}jfmxp<)gV;EO)F~r08YJGh@h8!kh zxP(dBT#oVh6*-!cmeVR`Vz`P~6>|dN+~nx!@RY#eoKr4k^<}-VXk_(r*}0#!oKp6j z9Oax+$td><1Wa3?J$FaHr)O=`$rcuM+cvC9cFNF;dfqYyAG*d+b&=-LJf{`8Cm_Zd zf2_~6O?N;blYUDd9kT+;kW(}S_T)_4xU{mAH_9{8OrSaE6m)A=FPn1iFDmY$SrO={ zhjY&;xK251E*HE|TWJQ<9ZW7-=HkeTWjz$wUz49qXK-a6Z}Sa1bG1`z%{&w9t|x>YIqk1HSEU$71uOe#|?oNX>Qu3RF$pNebZe`Rm{(gf77Wi zzN9ygI!m`p*~$DJmPo~?8gAm2hR<+YgO0q4f`&BO1)8>u$86W2C{+|S7+6qI(y)j& z4JPhrIEr>Ty{q99^iZ;IDFzjmh9!{GceWy(TXCHsNldkHd%Yc&dTesDgaWDmyFCKC z&B}Qrzfu~urK6%p^YsmXZ)(R=f8&x)_U)2qN42TO_yPBvE6f{RSkSM zLf#Kr$-{rqPKGZ20A&p!e}Tt1$YFC>`4#H5VCO0#FA<$yLoA43znnhC2?h#wuAw1- zfn?wb8Z*}zx#f{gTrJ(ihlDQ&L=|quexLr>RNQ;CrAY?FWt zV!kXcvjA6E|0%+me`c~XgntzmFw31euFQLYFHmqv680e>skCavM;t|DuA9*3>Gh;n z=y}qbB&Hxeog%#oV@!F3g*-Z%p!|cdU^5`ZS@DYcs3nANrccOKUs?%S@!!!TyEW|N zA6)qI4c5r_CR4kGMn2qezS~>6OZX`s_v}TyCRl`Mdwd-q9P*5TXmk7}5xQKF*1fn*dP`e>$~kot6Vm4N2lSl&mG%#$rO&)t3qi~=jn2_~+j(c6nR#Y* z|MB0y{vALs?!@pJ%tXa8ZiELs`e7x_EtkeLaRHT$R&nGAzr*ugUOr9p8wd12gq_1=nTustm8`xDmrQ z@hvfUQ^&V;ysjaf89RA$cwEDwjN|5$=7O1>vy!IkI!nodlTQxHD&yqymfNo(Ha&kl zKK4@T!sPIThPsO>-nWZhsywUVk!;y@t)h3AMcaE$Ln6MzJBQC{2o5v%z1Z;8thFFs zmUOJpOy2T_wz^MI1|YN~ia5tFreq(UDbLPYt_Gb4>9jg>W@k$l!=$CTDOkn4H%A-l z;g+Pv#vbU$Bz11=Fk0s+1hzx+0&d$nsjybsRD#GLS9!)fJm?%5K&gv4t8< zwOoHfEE`DTxPb%?8|cB~29Dqf9d8X+< zoW>aq@tr!W<81@K#%~P#7QZv_d%VNTJ1uh^e=zVz{K>%Q(9KHO068{uiB~l2+c+95 zd(M#bgi3ksR!^9(^jLqjH{3tnoJN+$jv5=&w&a=%8um-)*oF}8l_s*y)2M6Bo6LAI zueuSti!o=G#y1^KZ(skEKeiL{p03RI87wZw_*R&7L>Ze`IG&~lto6=^)ic|cYni$G zk>K538xcQkN?Q!f+ePW7qpBg+i@4>ci#hA6L~3-~SRDQT%aDKdraHu=qv1$==LIK$ z3(qpdrMXH=ls87s^vwGN*caapW%tA0!6T-CzQ)}0l~Xxlmiz>&Fbx&VQi&bpp>K13 z1$6OSg?vN^ZNhneSF}kvb8eR6=UgZCul8&KoEs>g#FHF9&)qZvlmPZ7K7f|cKZ@K# zT_So9fke+e1n+;U`$y$DUm%31kZw;>k~a42i6dI zfZ7+8+C)XHsfjzkt>dAty`fugqp>UT z7u2u9FjIHd|J`-))>~*+M}dP~*2*dx%v6_P3MfpEDjjL+9HqWfOlbxOFowr)me0p) zu=ZB5_F{jS1kjXMBU}Y|vj-=+3gHVXM1lVx8Vv5wSa2~t(CEbdPHF;_CLB$Asl)=&z00#PFv}&8I^F`-d zzd@Lyv%6;%kK7#O*mxUFLdl*F(Nu@2JL~^STp)k4PLn0jxdEj@|Cg!WWC6{f9XS@A zrQmc@hAOKu>SjJOG#h4drWlzz1x!cX#|Q^E$Azy(A6eR`WK%oQ)UBa8Av06C!J$f- zTtWnwYr@b}wcEtp4PvY7XMF?j6Hl0PUv#jOe(xqXp4@{LS$0}$*tha@u!o!0PO~Mr ziv54jgcAEhr11I9mf%fu@Xq=_?^c6xh!B7UD!xLZy39n0J;!5BmI-B%0G1TMUe%S_ z@kPQ4Qlf#R%BVp0RYCVLSQCm+#}%P!f>jqhw#Ao8-JMSJ%40wQiU_Tmb&_xcQB*!} z{C1S%4Pims-_UX4102XCNT^5a@N7@VDh@KPoqw+8v4ZJ!>Rcgp-(VYkvxY})3W->3 z#+UIG>ThJ`zpDB|1TQg66^oB6v_NBX*BTDJhsPQtA4T3n{aw}THuw_ftprbAR`v(Y z{{c`-0|b}QIUgFAc47kH19JeN#8oVG1s5BCk<`Mt^R5O<`!U7(b5IP?bmm9kp z6MqSKRM&O>k2EuHGy}W9CU3Gn$cSMu6;i zH+B~6IC$S3FCj^t#7hv8v7M5nj`u7zZJM}E+tgi>HgUSgrKacH_vUFdGh(xye$Mwv z_uci}|DJR1S+4Zj2hYC*U=cl;hqLjz4}W!dLy9+jn2ERYxb_1nekjF{r1-HHf9k{A zI3$fflj6@c{3IW>_zNEj@KdS%EFZVw9Vz}&!(aI@1wYTnU*m72_O}{-;lot?olJaJ z*8hDz{sI5!#Xo8Ir4Nnxm9+oahkwDZefSODlR3W?+HYz2R}KH>#lQP-I{rfl{C{UL zgFl>)|HTJB93gOxNTVD+0_AGtlCRrG9@2c|r97$me7KeJHPYoqL zd+Bs9o#CZ#Z{ej6k1RXT)OB9d+SoZ{0GfwMTn<%~%u94x5qQL?40L2<}KU zXvPVX+AlY@8+C(;P`Iu=6i@KHysl7h#7GRrOv1{v;pWVZwwr-OG*%ZH2!GV|oAJ2O zYg+rR44L8JTHd8;2@}<}4)*kzG2U^}u}Suu{n6NvMW$u2M-eF68VwFDkMEbKKC9Tpi0Ie!Sb6_qU=XFOt5knHbhE|FQ<=(!tkGzB7Lr-w(a9W-M$C<&L|=Ezh{Txy!Kj#U zb8C-f;V_4We8{E~;P&|7GS5iTAY>sj!FHTsL`*rn&%)km@vh(rI<^0_8v=TQ|LH=7YK_^#-E7}-L6qsr+$iP6xC^fuFxq)5uM_=ll}WdR8y3zZf!Ir7?GDA zR)5C5_=-*mTA|UPPTOgRPCIERiQVz!I$eo_I$cGd*6C_iHM)kb)#*CAUZ)!b!;Mnh zB*iW%ZWf}q&}Ve|tZ2d1bkow3bWvsL2lZcMDFy5O=jiiN?B?rN<5%8Eb>7Ops>VOp zc2J86)3}w*8}ZPj8vnTWIqu4+d zHRFD{lKld&(a-sffA(U(PG1m)+)iKAXpc^J(49KnB|Uf1-5TAa)4g;b;mi{?;DmEd zHn`+)U`*fI5@yT_eO7!FK7^UPqIKo6_3hnTS~^#3+OoW}?H5euQTVsoa;Q|V(xn{rMe=Ln_ag0AGz#Ig4o@wMj8 zgz`X}d1*v7#yc}744A^<+&Yt$!HfjV4kNQ&ePn`-`%RdvgH?5Pc@0CCA8DBvD=v`mo{KE*g94mZD!Ux zTt1=CPw^qFO!0&fv-0c>ihmkm{t4t+$^b1q9>ck^rORZ`6AoP|YRi0>suDXE81ro~ zkcf9jlK>W<0Dug=m)8h&COaQZ5|!r!<;a<@p?GWmK!WwD;&}IAPpXI}sd*~e+SJ)| zdnJu4VN0A%2zeZu_inJ#P>pSv7#Hh)^U^#s5=_#w#4t`WCzS3AIe(#Vrx_@4+RB724!<4oR=%*?|!fwxqQ z%Cu`4U1RzCspEx}K3sbY6PHPD^U;Rou`HSGPfpkwTIUW<>EnH&0r>;ou?^sdc>=O$ zIy)wl#C2wz9ZplW41eb6OE_xaBPIJ{rmZa2E7x(@@_cpgV{MV3xs!0Zc;Dk#HSbtH zex)HAHDtd|+HU{sR9UJglx!?Y|HHjT59#zUeM!fk;AM8MVjkF_*eua8r?R?0)8VEgH6CnkX9R!Ae+K+Yi3iX7JpB)P#$AXZqVBD=xZx8 zN0%FHrdevtnkQIh$8{cda7Ukq*{H)z5VpXJ>5>ftD3-)ueL45%u^z7HpqJZyDeVxq zInP(~!YTdz+>WHQqx?I7E4W_DeKEwjo#56WG`RR%P&K2b_E`|Q_9N#R?#SgKz{k^o zM(Ak5cCJ-flYg-TI{{S_kfdq?Ge^|~U@nH#W;ym)uQL|nF$>g{3d&VBlxrA@o4>k1 zDRX5-(t>;}S4b9Fa~&kQgG6_b=r$6m36oqYm~;n|J`U5T6{f3gOrK+cc=%grV=8eo zs@!x`-F&X~3e^&8wu7qBK~?CWDs)g4+Nh*<4GYJef`6~j!B;pA-?a+gbvC}c7@x-9 zA_rfICkw!k+DZVfwx&A(iyVMO4!|M@V37l`$Ob62>$&Dhfm-B1EgA>)1_kv-8|owD zp_VbyY`nahq3-&SP(|_G4rmLi-=38Y)tVpW`4;G#6zE+R=$r+Np@{nrRqcnXDt8~; zRWtU%Q-4*n4_a02K6uMqFGF+fg)6r>Zv?)oGS@!jSCzTQ_p8{Aui+m25%%HhcmdzQL3|Uh;2FG*XYn?kQ{udmFWL|~aWih=>k?oQ zeSZd@ZVBs$|QbEheiTPc!<6-mt(ZQ75y zjapsW=0}!)WmCJ@RT*nU<~uYasv1c+ggY z?=ar)vJ!j`W$gSb@G|D(`)qYz!MS*qS@jyT_jP9G8!VDHSqN|Oo%sQa^oRH&et)C{ zKESqm8@n?RxLDiSO5pjz1xMg}c=i=a;Cqzlb5t#83w)0fy-U?Z^lnuX(R&!d1xm~s z9ob~ zWLS8T@@w-_TTL*uD`yOP|3+K`Rg>IrcV$un}6L(fS&G)ZOX6$rQ}&o*`fAwNev@mttN;h`G}l~M z#nhhRnp<6yQg}XK*u;jZiOcsf_kFnMO=Bw0V%S!mwfq$`>aDICMQaYm)Yj6U4u#c< z+`JANF9#_jJU-;;mh_A|`NQ*EJHWo(x=`ZQM8zBA^52gIRe!F1N?E*d>968Dop*Tz_DV%#m3aT6Om@))jYgeHh*8mf{lR(4`#HZNV%uSmk=KlfPqP7_v_# zZsOZ20NQPd>o6~XFz}##sW-7oczNu$yrpcb*01GaL!--zG9@bD&m&kMwm5mXjSQ*Q zIl-s6WzXX#LluL~m%GGm&3O!G*Os{LYdWRTQ|5A7Q-2$^GG@!BGUijMv2+%PlS^-M z)7~R5&-%I(L)3F<2jb+CII*PdeD!ujl!lmD^*&ou-UGRPFnGG-3h1;@qU!>aGEK#dRaN^f^p_Mmg&-A2*Mo zysEZ)jl*k6^K&?$-hyv=^5_wIj2`9q?7!?w`wHJY_jl|S|L6YzhyTqQxBtx>XzB^Z zS5$rP761T`mvFcoIe%2;)jsFWBzKmZ5CVY=vV=X!B#a;gokSD@!C(kTSPT@~A-M?y zlbJX(L84Y|t6kC7tyb+~X%+iRTWo8Xh_!aZ*4EapS}WSxy|t~~T~Pk_+uwy zd5aw1>Y`_Pn}5m|yXZOYlxDk&7V!?1-y$nJrMbjKOZcrSzs*GrCTam`b_u~<(saA& zA=U-29vSw^>TZ>TGT7tby)K%|AqV%#I4n&>nto|6l_u(P zBbWKGQ0)HQf2SdKLU@R`6JA%F8Kztwy&`qP3 zoASP@aRoq43=f1tfn6beV>H+oj0gAWDnH0nk{X%>XszL}9&HW3C{1V!hV}M=zFm5Bvk)L+h;#))TLaOcjIBv~+#nz?wv2@y z5NAc{zf!x>P0`9a+njr8l$_#nU*?F)nkV7ncs>BQ49I)9fk zm2|{`0r+Nk2$hd9UHyN3Q9;rbq_i$!s=n3O#I&(G8$h4l7l{t~Rt@y@fWx5>9G*yF z>^Nn>Hz7(o5=b6l%5i24=!i}GES%=&d6Cu?3Gag>jajC)9HjJw0`Xk~Jr)NFinPk! zeN1!526>@AxK*?VTWx!F1RM_H*MADJ>-*z+I0kiVH`2k0sqy+$TuJXS6RMImnd1WU zlZ?|Mf?&8?-*1AlwT9zNO9}&sGm<-`z_hGlnmINv%)ch zJ@sRs$l>i&en{mntNgIaUs3rHmA}d~t#1JKu5XA2dxPOXNW{?E)2{2?I)4z__l9bc zzm^oFP~{N|pXL#4a`fs+{jIMy{8w)z(i_r~D8WWzz83UNds#Jrqj+o7K+j6kY%?WY zv?d&v%%>vLYtJ*LMJu4D8+v+TI`qM9c)sLF-DSd+oGWh}AaHr_Bw@IOY9?3aIMWRC-b6uY=(byXhS!SJ&ivF1muTbk=UGuGwy$F$H~QbzX`$@)@8d^{gNW zBj2F)`9;^(-f$!;`%7@+>Jj<)Ir&|gGb7J4UuX??g$BBHF#4Ndmwz>4YAERRyd)GD zXZwcsx3+I-YlFRjn aygVtikR^>%=&!os z?HSjY8m#gkH2x$1Nu&Gt1&yBIKg0VLnu}@t7h&dK!7IqtPmw)(W(X>MvzrwFF%@{L}GF9tU zk+^fm>NPDZx3q2Esqqw^3STf!SUgXo*947I2u*C~B8}awXp5R$8=ekA#*bYp;^jo zRhgqHbNN+GnWxOxlm)W3P?~CKYNV+ZqQ0$oRi#c->Xk*R;?tBfmBnC{s7%ojy z&Qg}b@A<2ww+yj$M>@YUCmZ0Pc52FUdL5l6O@BFCIS0zPDiVpu;?Y1qT>tJ!cWgqj z;xFUJ@o6mMS(?(MoU1A;H033-U8koOw-4E4Z(run@1z; zWq&7{s)DGw^mNh|rc3gQbf;5)wlcx})&K8>tYl@lCJ#s*SnQM9tyLaKr&P16v&uAC zDc0Pq8;r$`;`hVdL95h+$Bf>!x7{qQGcCxK*5pcND$>_AM?xXJ%Yx_B`}*U9rYX$H zjlqcha1|5ck=8zW=Hh{19?QVN&?780=6}djE6fT|yMAR|cOX^o|98)|=e4hOE)^MB zAuBT@$qGeAMv4}t>_SG1DC3bzib9cgY0=R5G^C}7w3R|CX{g`(cy8DA{eAxF^Lo9< z^M2mXe$H`^zrY#gSw-uu{cW=gGQZVA2V0>g<4|zTJhb?W^11b& zmtR_8NTfO&XrzW05Bhtp>5XfcBNV5USH5P>@|@)xCv3ktIQU^r7N0=HLros-&qb4< zsG#{F{?`s3bI)z2wgP9UcwFbirY`NMRaZ%=NbAHK-8T-YTMbxQhTUQ=`5@zt|S;khAcl;Ii zEf4sAUF>jhl6)Y4s+o>lHBabcmCpOFzRcZoA4Ue{78S1lue!!_Ke_U(VWUC*ms;Or z##xKX`7%wbYELpA%~wCTfBtnh+xK(2929beKdYB0`Jc_4KdJZI@#|ZfioJJ~$QhF% zYF24WeGYZ$l^$DLsqJT}XtYH0z&cgmqps?1cVDmi?fE3@M}&NbW9pWlzwEMK_^fg` zdUQ+Fx9I$itz9-3k~$M^EipLdv??ehGqPUb=hd5A7w$9Hc{dQXTC2BEBxs>``_;N{ z-#5g>%)R!fEd7X@)`BgMqGm%iFI~Fz-Gy8e_w5YNH79`^i*)@rB~B7ftVy15!>T#L zBuB;k*xo8z!Hl!F(`DXY@7R(0V9%74ijVu$RW}H@ZSl}hzBM(b=Cy!U1hBfKLO{(2|x5p=WR_rrIG9#Y@;HmmV5Bnj;M9PUk&akr>3&* zXed3B+P3?EORLm{Ra);ApYQBh^eS1TbJlE@(}KMnk=o|(Cw}$1og!+q?zYyjTw9WK zrLy5rO5ioW$xF&T%6EtL9qFFculIA(J6 zzMZtk5ot>*Zl37kS(~1?5kB<6EZ50#ebS>+`PVRR9<%LfPS@Ji%zgP~1{ZGhtSz<{ zSZ%Y%-skZO*E*F;rCO!G#4;PxzN{a(uA8ajJYkpWJ3q7Nj1YY?JvKu4-G4H7i?nv> zc$=lpI}met_KQHF^DFK&HB8MqUc1&X>kI0kxiV)Alg;)1{6fF8!_SyLvMTB8D(dS( zeO=r8*2(Qj?y+-S^}KoBy#T-D!oZVV0ylyJkm@JNIjr*S?LVDw?kK-Mqw?|O$jfw} zxW-V?%P6X8i)LD@UiDo0h3#Tndrzb#iCRA@4M~N+ODK8y!2Zf=nTpBNk1FiCS8MVj zGk5FW#*#vB<1HVxpZb&@+J5lh8rrV0+yDcxoZPXUu-Wd0j;TBcT+E=sAvVB(SwzlxpLghDQ zGkkd8=*;@IB|EA#_f*iKfxX_()1t~+`56z|Ds~**H_gsyBrZDfk-?q0J#kBn&c@1w zn8-73y(>!2j=FeO@n0(!*EAtreTsOSIZIjxgMQ5UIYX?MdV8le?#RcwIM0 zTz>V>glC=`yqmAzY%$C3{I+hx^_9C0C|5Y{Ca*JoRGNR$)Ezo>J<_FWnYnA}e)5~9 z?iYEL3jX{H&+6M1m1V`7EPtu$R@XJ{jg@-+-Eyhby#r2-(of7b)VR=!#65phI=kI# zARavSH=R-P!s~)_RCDUK!egDbv8}jg~9`C($NJ;gE#Qkv3d;Q_p zzj)sLd#~=^HHqU+r$77r6l~eo(ZCbxm7(6>)9@7|>D7yDm*)ht|?s&S_(`o#$q zvpf4jziuuUe%E@MHjhTSeN_qXvpBfnPN(22a~|(RWz&Oa)@oVV**NqY*8bVJZnpTd z`R+F9_syR=t>Ks1peZ*}Sa!8j+`1(uMRfDuC}uHn_U{riRi)~`886a4mVef`LX%Cu zPyZ@2BD%FKvMv<%AG96!wlV@zm!1xF6CH55A3PDw^7x|V>05ihWqc+Xn z^@{u6c0`@(S@dJc?b=KAe2piEgVGip(meQmrgred%>rrN8g?>9mwx{USuW<_D-oy9 zUx3u4Ou{Y-t+Q4Mp69o|sOyW_oot?um4$8Pe|3JId=vV?aGtQ^6Cr`O>k56|Fd8o0 zXYE__?r~{J&>8!vBNdI0B^IyRb@!``*ril2(bk{YVP^{B>T^sdMOL&nXxi;OFDtlK z#jhhLHaq;;<*)g-7A#xpsq^sRZM%bmGCN-huPHgTx$P*e@03{E!6PrL&P&gBz9k?~N^x?5LN)pBG-{dKF^=tg&4d8M7vwP@E| z*R;UYrhvWbk?8ckNp?Y`bCyVKr_$jyFFs5R&YNhLlrj68py}3vE0$Jv7lH#DHSEs4 z>6q$pNv*x0{6d$4kZ__-_v)YLWe@XaWx2UWXIa@v+VHk;O7SV|{_v+Oq+&;gjDKy&k3(nIBy3vqM9t+YBPc21;SYJIUGbH7_k{ho z*4pCdANknb*KL|-J#d<^VCv6-##O4(>RXo?@jPv~K^O~fdlKna|Jv3eq=;wpN9N;E+=~xSk_uRO4E7QB!PUo|O>NG`-U7qXt zovy6jDs=o=nwCZB?9vBUJubTyG+dVY*byRfE#PqNlN(hI4Hg!k4m^L_)~e<2>*~Dt z=O#wpSrWne z=8S0NC-(zTc0?BJsm{@)|3KU_<(So+x8|M=aaCpR|+b{zR-q-uZrncK8? zE*~;w_ehxEOxZ8G;uI8BDHmS?^*9aFiTH5t19Qdx7cp`AX z`juuvf9YGjjnA@ z*L*bs%fz1DzH&TQcEaKYUAwl_Z3p{JpLw^>YMG$aVq%<1o8qpk-(O^h%g*5YO?IJ53nD+hd-MH#$Hf;9 z))a47pV`ctIyIqZkEq~)r$f$U5B~Z^@4D(Us?bzpQk}0WA!*$n6lhFpq_*6hd3(<5 zttG1ht5cf45?Un_bkv>~F!@?F!<=;8gkGJ=_h*chWoFI_7dd#xbi2BU+ttk#4I;%A zhj$o;B?Z&G+-tozOC)auLh!S=-5>4P3OtS0q*=YP}H{U^HEv_k1}mPXe4 z-3y6c#;ROfNuT1XoIysS>!DMF^CUYv=46&E-Td&OqMbwF9;o`& z&9y%1xmK;9e5!6jde`}qvP8kQnDZ~SG#w|UXqGtC-!;vAyHTSu_G-y}S;KWE=|^8U zjp%H$etRF?*H$UdxnrAe)C}pkH#S*u>2VM`BPCs`(!Fq?Ap8i1Zt{nZY zq2yF|y)qlsv=#OyNAB)V&tvZRtmbg?cFotFw~ws!GS8f{NUgNFV7-Q|RJwVKTi9z= zqXV;5WiM|rkezy9`OoTg@Y6QW`xDD*HUw^tXDnI&=E|c2yZ66x^wLw?E~KvcF?IN+ zjbTKDmPgy>h{3i8#gohNMdn%#?nQq=54dW{OV&5&6t z+u+!8|HrTubH_)8MHAMaxZSg@Q<*<`X|eY8@>r`?Kc>yD)Esm%w!c{@XtN8fiMEcfCHH7G8ZJewOvRgjLEu3TG87SawguUh+rHSaU)0=KYK#EjyVVPyU!nPWd%xDy%xk^+wi1 z`Gh%TVH3l9y=smg{d00}ecj{I88H=>CsuEQnGqvTd28kW9sQ)zs)&U{mZ12 z{X5iW96#x>eSb}T)=ZnHep6}|UrjoEUAgh3PqClw={tj)e+=!o=o?@$AacBGMP8xk z=dCvrLfofmHr(cWzQae#q{MOW7yDN-Q}iESR8d-&sr&3%+cZ{&@Is%xqPwncKd$CQ z4{py7Hj!L@I{Vz7zrn(+sBYcak*mK(wH2+H`{Glqm{^L3^zbp6L$^!qjk*u4AHJk< zuEXk~_n}*{j*qn}My4nH443~ESKnM=hazT7-xa#KPjSe^!BMca=!TP_Mf+{!VNNQf z8ePe37OmXDr>8#4IVt(w>$!u)D+`MA0_$Q|o$e%+cP&X^y%vz@eY8&J_>2VK?N15^ zI%Bt|&g`;w4QR4tw3#+~e5tYaP4uf5e>)`7aX4{Tm$h5bb4&k4_wL?Siffp$TCHJf z-r1a`GnMCr-JP8?*?LFh`X5({51eclcvy1mVd}2Vjr7px^XHj)3X#17;o<(i`&ax@ zTo*s}+!pQ6QyPbMuRF~DceIyqpg0` z6J{3#Ms}CB8h83=i+uU>cW;Ph_IC688%xf_7JFRVuO+vgZ^`pp6Mt3l^&fmoYx#86 zhMXCed^|PrUCXnMsT+Q7yPETxzrX9r^K(`WP0!BQJ(5%E{3XJ_C1RN<(oX37(mc3s zUq*OrLY~P)KJgfnaE0#SvH>mCfJ&#lRBLku{!ZgNb5D4gHE&a<*O}JWEF8LXq)s)+ zA9>}51eb@;3COaaTX&-1fPeFzstbqqNl3gMxiBrGU0~|hxI^25>b{)4dxZDq%R6?* zhFaGR+sBt1HRQha(u_PW!JFJ7V0S@xd825XD`cX-!;HLFs}t#R5K31|{3D7zLA686rIF|0>fN=#m2&Km<)hN1aHrpnRen z67wJ#D9n*mBx-C%S+vWMG$$_GV(`t8oJlA}Q9!F8DoO<{o(cLzPNX7@iHjGTym z+0(ew`P!bNU`4$4!QhD-X-_o!V&Luv!7w99c@*dlWk~pOXf<5)6^i~9z@f#FfCm&k zHxe^Nk?<3S>mniabPrHm6NTy19^?!{V>Jbo5z`a;2u~sf^pOgUU^mWw$U5yEYVssQ zXy=fc7xc9YTPP(ZbkCdQMFV*>0VJ41W2;~H0{^vn;}yh^#2iwa2q@*E_mt8UaqKh8 z#%05>j7zI=4rxl9tm0x?4$%aPtN#^e=MBYeIW%4_2Hy;Zs_vjU-VCApbsX5)Llj7o0dh=FpPpqAw(N@kz59S7s<=~oEg5d61pTx1k6bXVI;bA{;{ZxuWOHmy~4vG2$t--={ zxj(dP6pN5S^ZlXO_Nj4bXF^Gx1B8*-d`Lx^A!a%a2{{x!9}IpQaTsyr8_SYIPv?Vs z6H81>1dtBI&*>OM2avABeOnF?M=U#nA5R%S1Hh_w79~?fWr3s+vI&IoxWS#nm=hc4 zQ9uiitE2#eduj|vwm~qPtzSr~kZ4aNA&goU{_EK9Aag`uBuB=;lYm_?(0(fsEtF)T zlwi`4Fj#}Zu9bu!`Vb6NmRmt0P!l=O`hGy;O#RrqEeTzY2w( z%eahz-(^C9>Wh+SX&9+Mj9kTZO&B>1Ccf@4GJ<$@2fYY`67=u>OZ2t2alNL#jY^6V z>TiScZihpQ%D?3>!boKyX-L@gVh?TesSnJ9BH z3CeUaoUYfC>D;5@&SWkvh9;do55+GApXEB^Wdi8TVyMaiQ;Jqb?@Z|mh!qLdb+W+B z;z-htXqk=y!-_6}x}9M1(Xyj+cSWhp-b#;h|a$wI$3wC`JV(d(c(z6e7L^ zXbEo)EsO`~`~~BxFk=B$C|?2{R5FwUgpv4CSS>xmC`Jk8h0&Ez%2Ei|Fr35ip&OKr zcnlY#x{S0SerItpDa%MRLOBnmFDKQIUjbbdHO+%AuT?OogkW&f68Vk+INNdsjgO>K{kx;#k-nB@IyjZ-q9*l5)y<<&Hz2 z1bKLBnLIpJ|29GJZ)LjLAXN^0Z`Yom7ajQpAEk~Nq|1)>IpxL~TWqGlH>mp!qIT<2vV#Y9q= zK6H((VR@Z*0v-TKi4fSy)-fJ-J}$6CbyEDYpKM+!iFBr);^o8j{>94&yE1BK3c7I=|FHt(6pCx>@eDHQLM#OBYgC1=y;B(stBI&ud6S;`m^MmyJ$Ix1ry zH|OEeAJ?ou*0Po1Q|A(>+6SuVn9j!#`=?ZyZl2E8c$Nw~_2sFgD_uQ%jG9gl+QUY= z`}suCvpCp6E=YqIKUcE(-D%`Zdio(Yx^Re(y~1dxgI4JXn~zK3z3a+-=E(F{@jE>ARVr^R@~D(=3=me3~#Q zYT}p12G_En{3qx|7A%4JpRhDKo3tT%U=&lO0T4s4vthRPl1865kY>nz138t}fYLXR zD`-V%U;|8XCB{f{GfZ)v#sUf`tqIoIBO76z6>-C~r<(w~IE76R-^K_`hirnS%q58e z2B>8dX-j*K7@Hvxk%ur>w;6J#-b4XS2XJ5xCCXU@LAF5O$gkI#6(~zn(iy!p~39+l2JVA(i3W`SE`Q%Ds$O0>G+6MV+ z_Mm`fak>y667>{fcNFG!aB3GhCfXSJ&*y(>Lfrd;i)sIqWN|znDAV+!e=IM$UL+)s zGwELdqJg?G(X_)tl2~+^62)E{6A2fRmV|!CD1o}aKy+~(|Dr1`1m&_X9GNWkFqY3L{BNp~={Kb`hlSv8pg?MZ#K0QB9a#Qy24bMpou*4YC;YPkOP@4=-T`u3qvY z;qfVLEGA>=lT$|(4bdV*TF_3Ry@*^+D@GC}WD0Ss88J#oOQd=Ye2fmmo)UlU< zQ1lpE%X&B1BwdF{+QqdIe25r6bOkpo$oP#2clI^kjB4m1(K6DBodHt3`X^aY%8wrUUPijmej&R(WITO=0h@fkhjgL8oXJLA<)i>wQVt7(RoEEiOfO7k zqt0Ye5=ZP(D9YVPR%p*&GL=xPL*;v6F7ez4)8)oy4uGw*G)n+=HjA>`N2p7byNi!> za;ds@iL!fh(vT>3g;xx*!#F)8s({1jtboK_6Bol(l#mcp!@Peb@X3?MctNzlKtT#! ztc28_vE}B4)xEm|4ArpwLdPwpREM4vg;SOOCZ97P=qpe4bLu49lD%y4k&<(_> z1+)%rt0mVG!j~z1Gjy*;oEL>$7H8u6uC9Y|bE+N7#Fbe>=y$F(yCMg_h;z3Y%nqX- z2EK?Zp^(E6xud8A)eZ(IUsOT~`|CLj{!ULq1NEd4GOdR*iMAC6bpU9UsK1_ELkORrp9esKBs24pXauoVz>K-<_u}6ZvT0A`?!QCtFoMCH>93|c8?_0-^05ZQX!5-_i z$DkEVdnNGF(|?S#ryu<^hTvR!oHU`up}oh+NP4FX1M5Y5GWe0%35a7rj+;7i0%nJ8 z`eT$R>e6Sh^Atae!5!bySz~I@0cSA;QTa*8mY(Mr&%}EXrBe{(wk$T^a*EouWHH#2 zOAaNJE*lft)3==(L!f#JA{bq4!%l=->C5^8Y_p7LsQV&mg3erkN_~SZ$VJi=c^)D)kk>_U*90Sp zVk$4fQsRl8UnEx%6GO1c#zvS423Jc_*)m2glntv1(pj84N;y!wD{cCM18fD=I0ZrU zz6oq}8`)G!qm&fx{VA8gu&IsBOFRL7w5t6SU;2^F+g=9i<#5RcCF-Nv%cKL14}HE& zM$@jM&?_)oZ**nL#Eqn31-c6AjD_4($U+#Sqn`I&1<&0HY+>J3=%zKfY!uuK6MN|a zHhO(Pnw`p_W=N$!lDtO7(G{Ms#SPa;8+ye68+{s(X7>k=>rlWdJ{cVBc|I9wT<}GT zH&PtsHBt9e89tP(D8uf$dN)A0d+L~wy`3nbcs18Co)1O2!q^+F3UL#JZx?`Yzl=80 z36YUUAvYoQ-U)1~BteF~wRu9Rw&t^W)_~!F^lh*j zHju>uS{cf+S1s*3P*{u$n?LCy%Z~DEs4Vxq&=bnm&EGyzh`N>GN1@1fF z$H~GOwgYz1OYeg4UjF|G#Zc2-*zoEcALD1x^X`lxG1PSjwg97Nol`9kcrj{ifxw>% z%29!j7Q=^Bh2*5M&gOeijG8vLFj8Ai0t<&{$#GZVXN`I|X^Q!2&GN2FEBm@@#|gn~j>Ne)UP5eqxw!b9UND};JXr29EslpQ%e;l_YAKOPXV98 z)nQ^6oFq?@7z~q4S;`{=@jr(IIU%*@FyptWVX5K-rZnEqJ_RWeIuX-kH{6i*Ou|4% zohgYuRCj~ULJdrR>V|FQugMtL>M;3G*b8_NlcL4N+ysU;f@m+{_HFGHENGg-lt4|L zR6u&;!vCp@6>eLkptkuORJLr(#CHh^dHz zU&Dde&lod1jhRf;{|ZbyUV~|`38q!wKm}t=G1&A5PWa!=Ft9NHmoMg9FxY5;>7ch@ zAU+*~Yi}XJ1y&g7y@N|-eH#uCM`LH zH9esCV+NM>^}woG(00Z$C|U@`IYT~2OZ)mBoLqrrp32#% zOv2?~(}jNkneQwttNsA-KXJu?(F=Xc-wgv*54Z&^cVmj7=ogT)_wM6bsMDRJ1@mz) zqauvsXWOKTp;@C=!_U|jgi z7jU#xin`zo_n;q=q8f(T`~mQ*H2`B&X(5MkCay$sjD!&*3Wn$C>^9yY= z;jJDC}7XN_gKCj1g?GG4{BAFPt zXM&Z%2y{n_pP(}-3)87Tp?jETa{wP&u^C!tm#dTr8u4Q2(qx>AoJS7C9C}n%hk~wE=G9-#z1>67qfW; zDrTI=#iZo@Yg*+$;4vT{%gXZq(U}w-yA9Jf|3HgpZpT3XFM#3#44xLiP|y1Yk)8Sr zO;v?j|H36^LlKt#E@J1oD4V57lPTKET1*6%VA-A$rUGt*KpIPtXxzb}1&~lFlQB9} zZcrl0oz!S2QAj!T4Pk;clh7>ZFdC?D6^yBB0uoiLne~`MOQGok@Z9LL_VoDbaLn3Iy+^jG}Jp6-;G5*PfS9&BM$Tne!M)fzB zEbuqgMiocISr)`PDT>iX335Oml2PEk@!EsRC0G%}SvmO12B`dzgWDx*A@JqR0AKsy z88AifU_g0kifkPQBs&ONK?in46aZ5m!|2`;0$SCx=B-k4|QuO!1HFRp*CtNFwksimN1c` z$x)EPGEo_@3()4!d}y8wbX&_Qm`R60n;@!Dg88D#ZA=8WZstS@Jb=d)7ea8sCV~b$Am$cDsQ7MW@U_cpRF1m6 z6r^#x@TJp2Pnv( z5fW<13c}3IJrbfQgvBzTX`pQ^)(YCRVpY~M!XX@wntWAg*F6g{NDGIt_D2Lg}W!b;hJ2(OAcYiqwoy3}qK23nkUy7!H zE?TC*VxicHAilg3Gv_Bl$d6(vV1QVw72qWos&6<>f?PaCA(LQoejiUsb&y`dzXIgc zLHZsUstG7(`Ow`W6hXQ(#jL1{zv0!u6PKwZPTk zd`y4PV$C3KZO1^MKtX;~N4e19m-RYv9v)2%9v;JgPhsKT%Jf%-lrFsL@}GhbQZ0fE zP`h?zD|NT)9l|_3!vD|UNX2*qUZki4nQ2E}IxK(U^ieKp3kZn27deasGMEC)%bOeq z?+um5zFEw}qdP7<0l2{9ga=_cv04C1r|JWhem$?W}MceH(2Wk zLs1%?)nyqHT^}&xsn1eFntCwIH2S%iB0bQ#ImpG(^(khE!^|O;{p0{O^c=)A5hQ8A zT26SvMX3?X0@V_Vg7`(%L;Q*iG-WDGu81GYG!0?*z!1V~Yq5|Ibp-Qmj$U1f_%A%X|A@*tuhDoUV$ zSQtmgC|T=cF4>WG=tRG)VY8Co&P9jVupEiEom|YQqF5IsuiFO7z4H8jWgniypb%LF zng8#%BKMly1=~d@Dn5x|=pnb;F4U3nS+iH@z5d+R2M73_DLT?(r|)x3XTL$tZ<@w8J0eF0@ciD z3=T(w>Jtx8o#PB`7_th}WzH~TSfN&Duv1FF+@hIO5lI-RCWBq17uda=33hF3F|FqU zcE?eu3oOeW85C!ThFl=>hHMPx149&S!r&qR+A=gS3rca!!(2=rR4vyPs;00VGap>R zOD--C#fZ+CTiP26s=0E~gX>P$#ABP=SH1JJgAF z0E0>j{HVr2&;!8ZL!+R$7AiaHGt&bqd*U!wxkstw9>u`e6TqSq804P-gK|%(gw1Kp z{HDZ;XE6xz0$_6igR2yXZo)uw4g@#z3IB?Y0Bbw zwmT67ogm&4)8&@R()dCk!d98Pza`qToj55Ap+mOHqR5{ghRgO~Fy?dO$fVIgFjOwX z6*IN2;4XLpFbpruG%R2l5v+L_sD!|hfdVmT3WU^*I;{!;r{_XAG#~mN0`=%z$i;|6 zC<~*dq2PHa64R_GVD3>2u^clxVc?#%5`)4pC^#z)gTry4JNllUR5+BC4=;RCtrHXu zGrVUC2Z*63;Ve_y4#ZdpXNZHDSWvYPg6Y_dfoKG@_tb3|1Z-0l!OQBl2yk17Fns~x zSQ%*NPG#;Bb3Kw=1Y7P~dni3URI>;=(yb#DP%mB#hlk3OqyLYh7PEAeIloK^FR6~- z2qd4uYNcnO`0mA!fm1D*xznO7fovmzv1r50wn*q)bNeWuh-|+o^P!$dmJbmDucvXC zpeV?jF}%#cW?1N66u9X8#$n)oZVBk@{>@?dQT=ad>rYFdQ|w#dC?i9?PjtHGuY7qIQ*38Py!>gbp>ecfi;mTdUyr=EyENO z3h1LH(a;K;VFg@lPrG{#s1StcKdw!E#19yO{CMw0bq@ zywBp${KeTSVz@!8H>+@W+p9=z4Qno8m5X)z*T80E_Zn!UGqCDWPJx+0EP@4(0^V^j zTwcPWM1kr!*eeWIVIWkkB8g_ZLwYpgVPQ8%cJXke`f~|e%fnAgW8Z}8w oW?9k|)H#f?(*OKfJZI}(nO=ifDXdU<3n@K?<<5WGk_6fR0giqMcmMzZ delta 52235 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 From 6a004ad614e16d609300dc416699d807ef2506c7 Mon Sep 17 00:00:00 2001 From: Dawid Heyman Date: Fri, 18 Oct 2024 09:30:43 +0200 Subject: [PATCH 2/4] SNOW-1732907: Change custom cloud storage header metadata handling to be case-insensitive (#1919) --- .../snowflake/client/jdbc/SnowflakeUtil.java | 29 +++++++++ .../cloud/storage/CommonObjectMetadata.java | 10 +-- .../jdbc/cloud/storage/S3ObjectMetadata.java | 3 +- .../storage/S3StorageObjectMetadata.java | 3 +- .../cloud/storage/SnowflakeAzureClient.java | 21 ++++--- .../cloud/storage/SnowflakeGCSClient.java | 61 +++++++++---------- .../jdbc/cloud/storage/SnowflakeS3Client.java | 16 +++-- .../client/jdbc/SnowflakeUtilTest.java | 43 +++++++++++-- 8 files changed, 127 insertions(+), 59 deletions(-) diff --git a/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java b/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java index 1485249b3..05dad6292 100644 --- a/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java +++ b/src/main/java/net/snowflake/client/jdbc/SnowflakeUtil.java @@ -4,6 +4,7 @@ package net.snowflake.client.jdbc; +import static java.util.Arrays.stream; import static net.snowflake.client.jdbc.SnowflakeType.GEOGRAPHY; import com.fasterxml.jackson.core.JsonProcessingException; @@ -32,10 +33,12 @@ import java.util.Optional; import java.util.Properties; import java.util.Random; +import java.util.TreeMap; import java.util.concurrent.Executors; import java.util.concurrent.ThreadFactory; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import net.snowflake.client.core.Constants; import net.snowflake.client.core.HttpClientSettingsKey; import net.snowflake.client.core.OCSPMode; @@ -53,6 +56,7 @@ import org.apache.commons.io.IOUtils; import org.apache.http.Header; import org.apache.http.HttpResponse; +import org.apache.http.NameValuePair; /** * @author jhuang @@ -835,4 +839,29 @@ public static String getJsonNodeStringValue(JsonNode node) throws SFException { } return node.isValueNode() ? node.asText() : node.toString(); } + + /** + * Method introduced to avoid inconsistencies in custom headers handling, since these are defined + * on drivers side e.g. some drivers might internally convert headers to canonical form. + */ + @SnowflakeJdbcInternalApi + public static Map createCaseInsensitiveMap(Map input) { + Map caseInsensitiveMap = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + if (input != null) { + caseInsensitiveMap.putAll(input); + } + return caseInsensitiveMap; + } + + /** toCaseInsensitiveMap, but adjusted to Headers[] argument type */ + @SnowflakeJdbcInternalApi + public static Map createCaseInsensitiveMap(Header[] headers) { + if (headers != null) { + return createCaseInsensitiveMap( + stream(headers) + .collect(Collectors.toMap(NameValuePair::getName, NameValuePair::getValue))); + } else { + return new TreeMap<>(String.CASE_INSENSITIVE_ORDER); + } + } } diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/CommonObjectMetadata.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/CommonObjectMetadata.java index 93646e104..c3602fcf7 100644 --- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/CommonObjectMetadata.java +++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/CommonObjectMetadata.java @@ -3,8 +3,9 @@ */ package net.snowflake.client.jdbc.cloud.storage; -import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; +import net.snowflake.client.jdbc.SnowflakeUtil; /** * Implements platform-independent interface Azure BLOB and GCS object metadata @@ -16,11 +17,11 @@ */ public class CommonObjectMetadata implements StorageObjectMetadata { private long contentLength; - private Map userDefinedMetadata; + private final Map userDefinedMetadata; private String contentEncoding; CommonObjectMetadata() { - userDefinedMetadata = new HashMap<>(); + userDefinedMetadata = new TreeMap<>(String.CASE_INSENSITIVE_ORDER); } /* @@ -31,7 +32,7 @@ public class CommonObjectMetadata implements StorageObjectMetadata { long contentLength, String contentEncoding, Map userDefinedMetadata) { this.contentEncoding = contentEncoding; this.contentLength = contentLength; - this.userDefinedMetadata = userDefinedMetadata; + this.userDefinedMetadata = SnowflakeUtil.createCaseInsensitiveMap(userDefinedMetadata); } /** @@ -41,7 +42,6 @@ public class CommonObjectMetadata implements StorageObjectMetadata { public Map getUserMetadata() { return userDefinedMetadata; } - ; /** * @return returns the size of object in bytes diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3ObjectMetadata.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3ObjectMetadata.java index ec54508f9..38f20cf65 100644 --- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3ObjectMetadata.java +++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3ObjectMetadata.java @@ -5,6 +5,7 @@ import com.amazonaws.services.s3.model.ObjectMetadata; import java.util.Map; +import net.snowflake.client.jdbc.SnowflakeUtil; /** * s3 implementation of platform independent StorageObjectMetadata interface, wraps an S3 @@ -28,7 +29,7 @@ public class S3ObjectMetadata implements StorageObjectMetadata { @Override public Map getUserMetadata() { - return objectMetadata.getUserMetadata(); + return SnowflakeUtil.createCaseInsensitiveMap(objectMetadata.getUserMetadata()); } @Override diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3StorageObjectMetadata.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3StorageObjectMetadata.java index 3bb209c48..853d461b5 100644 --- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3StorageObjectMetadata.java +++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/S3StorageObjectMetadata.java @@ -5,6 +5,7 @@ import com.amazonaws.services.s3.model.ObjectMetadata; import java.util.Map; +import net.snowflake.client.jdbc.SnowflakeUtil; /** * Implementation of StorageObjectMetadata for S3 for remote storage object metadata. @@ -26,7 +27,7 @@ public S3StorageObjectMetadata(ObjectMetadata s3Metadata) { */ @Override public Map getUserMetadata() { - return this.s3Metadata.getUserMetadata(); + return SnowflakeUtil.createCaseInsensitiveMap(this.s3Metadata.getUserMetadata()); } /** diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeAzureClient.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeAzureClient.java index cdf303bbd..4bec46ca7 100644 --- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeAzureClient.java +++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeAzureClient.java @@ -4,6 +4,8 @@ package net.snowflake.client.jdbc.cloud.storage; import static net.snowflake.client.core.Constants.CLOUD_STORAGE_CREDENTIALS_EXPIRED; +import static net.snowflake.client.core.HttpUtil.setProxyForAzure; +import static net.snowflake.client.core.HttpUtil.setSessionlessProxyForAzure; import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty; import com.fasterxml.jackson.core.JsonFactory; @@ -41,7 +43,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import net.snowflake.client.core.HttpUtil; import net.snowflake.client.core.ObjectMapperFactory; import net.snowflake.client.core.SFBaseSession; import net.snowflake.client.core.SFSession; @@ -154,9 +155,9 @@ private void setupAzureClient( this.azStorageClient = new CloudBlobClient(storageEndpoint, azCreds); opContext = new OperationContext(); if (session != null) { - HttpUtil.setProxyForAzure(session.getHttpClientKey(), opContext); + setProxyForAzure(session.getHttpClientKey(), opContext); } else { - HttpUtil.setSessionlessProxyForAzure(stage.getProxyProperties(), opContext); + setSessionlessProxyForAzure(stage.getProxyProperties(), opContext); } } catch (URISyntaxException ex) { throw new IllegalArgumentException("invalid_azure_credentials"); @@ -273,7 +274,8 @@ public StorageObjectMetadata getObjectMetadata(String remoteStorageLocation, Str blob.downloadAttributes(null, null, opContext); // Get the user-defined BLOB metadata - Map userDefinedMetadata = blob.getMetadata(); + Map userDefinedMetadata = + SnowflakeUtil.createCaseInsensitiveMap(blob.getMetadata()); // Get the BLOB system properties we care about BlobProperties properties = blob.getProperties(); @@ -348,7 +350,8 @@ public void download( blob.downloadAttributes(null, transferOptions, opContext); // Get the user-defined BLOB metadata - Map userDefinedMetadata = blob.getMetadata(); + Map userDefinedMetadata = + SnowflakeUtil.createCaseInsensitiveMap(blob.getMetadata()); AbstractMap.SimpleEntry encryptionData = parseEncryptionData(userDefinedMetadata.get(AZ_ENCRYPTIONDATAPROP), queryId); @@ -447,13 +450,11 @@ public InputStream downloadToStream( InputStream stream = blob.openInputStream(null, null, opContext); stopwatch.stop(); long downloadMillis = stopwatch.elapsedMillis(); - Map userDefinedMetadata = blob.getMetadata(); - + Map userDefinedMetadata = + SnowflakeUtil.createCaseInsensitiveMap(blob.getMetadata()); AbstractMap.SimpleEntry encryptionData = parseEncryptionData(userDefinedMetadata.get(AZ_ENCRYPTIONDATAPROP), queryId); - String key = encryptionData.getKey(); - String iv = encryptionData.getValue(); if (this.isEncrypting() && this.getEncryptionKeySize() <= 256) { @@ -574,7 +575,7 @@ public void upload( CloudBlockBlob blob = container.getBlockBlobReference(destFileName); // Set the user-defined/Snowflake metadata and upload the BLOB - blob.setMetadata((HashMap) meta.getUserMetadata()); + blob.setMetadata(new HashMap<>(meta.getUserMetadata())); BlobRequestOptions transferOptions = new BlobRequestOptions(); transferOptions.setConcurrentRequestCount(parallelism); diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java index d907973ac..003d894ae 100644 --- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java +++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeGCSClient.java @@ -4,6 +4,10 @@ package net.snowflake.client.jdbc.cloud.storage; import static net.snowflake.client.core.Constants.CLOUD_STORAGE_CREDENTIALS_EXPIRED; +import static net.snowflake.client.jdbc.SnowflakeUtil.convertSystemPropertyToBooleanValue; +import static net.snowflake.client.jdbc.SnowflakeUtil.createCaseInsensitiveMap; +import static net.snowflake.client.jdbc.SnowflakeUtil.getRootCause; +import static net.snowflake.client.jdbc.SnowflakeUtil.isBlank; import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty; import com.fasterxml.jackson.core.JsonFactory; @@ -62,7 +66,6 @@ import net.snowflake.common.core.RemoteStoreFileEncryptionMaterial; import net.snowflake.common.core.SqlState; import org.apache.commons.io.IOUtils; -import org.apache.http.Header; import org.apache.http.HttpResponse; import org.apache.http.client.HttpResponseException; import org.apache.http.client.methods.HttpGet; @@ -310,18 +313,14 @@ public void download( outStream.close(); bodyStream.close(); if (isEncrypting()) { - for (Header header : response.getAllHeaders()) { - if (header - .getName() - .equalsIgnoreCase(GCS_METADATA_PREFIX + GCS_ENCRYPTIONDATAPROP)) { - AbstractMap.SimpleEntry encryptionData = - parseEncryptionData(header.getValue(), queryId); - - key = encryptionData.getKey(); - iv = encryptionData.getValue(); - break; - } - } + Map userDefinedHeaders = + createCaseInsensitiveMap(response.getAllHeaders()); + AbstractMap.SimpleEntry encryptionData = + parseEncryptionData( + userDefinedHeaders.get(GCS_METADATA_PREFIX + GCS_ENCRYPTIONDATAPROP), + queryId); + key = encryptionData.getKey(); + iv = encryptionData.getValue(); } stopwatch.stop(); downloadMillis = stopwatch.elapsedMillis(); @@ -355,9 +354,10 @@ public void download( logger.debug("Download successful", false); // Get the user-defined BLOB metadata - Map userDefinedMetadata = blob.getMetadata(); + Map userDefinedMetadata = + SnowflakeUtil.createCaseInsensitiveMap(blob.getMetadata()); if (isEncrypting()) { - if (userDefinedMetadata != null) { + if (!userDefinedMetadata.isEmpty()) { AbstractMap.SimpleEntry encryptionData = parseEncryptionData(userDefinedMetadata.get(GCS_ENCRYPTIONDATAPROP), queryId); @@ -499,18 +499,14 @@ public InputStream downloadToStream( inputStream = response.getEntity().getContent(); if (isEncrypting()) { - for (Header header : response.getAllHeaders()) { - if (header - .getName() - .equalsIgnoreCase(GCS_METADATA_PREFIX + GCS_ENCRYPTIONDATAPROP)) { - AbstractMap.SimpleEntry encryptionData = - parseEncryptionData(header.getValue(), queryId); - - key = encryptionData.getKey(); - iv = encryptionData.getValue(); - break; - } - } + Map userDefinedHeaders = + createCaseInsensitiveMap(response.getAllHeaders()); + AbstractMap.SimpleEntry encryptionData = + parseEncryptionData( + userDefinedHeaders.get(GCS_METADATA_PREFIX + GCS_ENCRYPTIONDATAPROP), + queryId); + key = encryptionData.getKey(); + iv = encryptionData.getValue(); } stopwatch.stop(); downloadMillis = stopwatch.elapsedMillis(); @@ -538,7 +534,8 @@ public InputStream downloadToStream( inputStream = Channels.newInputStream(blob.reader()); if (isEncrypting()) { // Get the user-defined BLOB metadata - Map userDefinedMetadata = blob.getMetadata(); + Map userDefinedMetadata = + SnowflakeUtil.createCaseInsensitiveMap(blob.getMetadata()); AbstractMap.SimpleEntry encryptionData = parseEncryptionData(userDefinedMetadata.get(GCS_ENCRYPTIONDATAPROP), queryId); @@ -1121,7 +1118,7 @@ public void handleStorageException( // If there is no space left in the download location, java.io.IOException is thrown. // Don't retry. - if (SnowflakeUtil.getRootCause(ex) instanceof IOException) { + if (getRootCause(ex) instanceof IOException) { SnowflakeFileTransferAgent.throwNoSpaceLeftError(session, operation, ex, queryId); } @@ -1181,7 +1178,7 @@ public void handleStorageException( } } } else if (ex instanceof InterruptedException - || SnowflakeUtil.getRootCause(ex) instanceof SocketTimeoutException) { + || getRootCause(ex) instanceof SocketTimeoutException) { if (retryCount > getMaxRetries()) { throw new SnowflakeSQLLoggedException( queryId, @@ -1278,7 +1275,7 @@ private AbstractMap.SimpleEntry parseEncryptionData( /** Adds digest metadata to the StorageObjectMetadata object */ @Override public void addDigestMetadata(StorageObjectMetadata meta, String digest) { - if (!SnowflakeUtil.isBlank(digest)) { + if (!isBlank(digest)) { meta.addUserMetadata("sfc-digest", digest); } } @@ -1355,7 +1352,7 @@ private void setupGCSClient( private static boolean areDisabledGcsDefaultCredentials(SFSession session) { return session != null && session.getDisableGcsDefaultCredentials() - || SnowflakeUtil.convertSystemPropertyToBooleanValue( + || convertSystemPropertyToBooleanValue( DISABLE_GCS_DEFAULT_CREDENTIALS_PROPERTY_NAME, false); } diff --git a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeS3Client.java b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeS3Client.java index 3b33b60f0..bdede5843 100644 --- a/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeS3Client.java +++ b/src/main/java/net/snowflake/client/jdbc/cloud/storage/SnowflakeS3Client.java @@ -5,6 +5,8 @@ package net.snowflake.client.jdbc.cloud.storage; import static net.snowflake.client.core.Constants.CLOUD_STORAGE_CREDENTIALS_EXPIRED; +import static net.snowflake.client.jdbc.SnowflakeUtil.createDefaultExecutorService; +import static net.snowflake.client.jdbc.SnowflakeUtil.getRootCause; import static net.snowflake.client.jdbc.SnowflakeUtil.systemGetProperty; import com.amazonaws.AmazonClientException; @@ -368,7 +370,7 @@ public void download( new ExecutorFactory() { @Override public ExecutorService newExecutor() { - return SnowflakeUtil.createDefaultExecutorService( + return createDefaultExecutorService( "s3-transfer-manager-downloader-", parallelism); } }) @@ -379,7 +381,8 @@ public ExecutorService newExecutor() { // Pull object metadata from S3 ObjectMetadata meta = amazonClient.getObjectMetadata(remoteStorageLocation, stageFilePath); - Map metaMap = meta.getUserMetadata(); + Map metaMap = + SnowflakeUtil.createCaseInsensitiveMap(meta.getUserMetadata()); String key = metaMap.get(AMZ_KEY); String iv = metaMap.get(AMZ_IV); @@ -481,7 +484,8 @@ public InputStream downloadToStream( InputStream stream = file.getObjectContent(); stopwatch.stop(); long downloadMillis = stopwatch.elapsedMillis(); - Map metaMap = meta.getUserMetadata(); + Map metaMap = + SnowflakeUtil.createCaseInsensitiveMap(meta.getUserMetadata()); String key = metaMap.get(AMZ_KEY); String iv = metaMap.get(AMZ_IV); @@ -611,7 +615,7 @@ public void upload( new ExecutorFactory() { @Override public ExecutorService newExecutor() { - return SnowflakeUtil.createDefaultExecutorService( + return createDefaultExecutorService( "s3-transfer-manager-uploader-", parallelism); } }) @@ -821,7 +825,7 @@ private static void handleS3Exception( // If there is no space left in the download location, java.io.IOException is thrown. // Don't retry. - if (SnowflakeUtil.getRootCause(ex) instanceof IOException) { + if (getRootCause(ex) instanceof IOException) { SnowflakeFileTransferAgent.throwNoSpaceLeftError(session, operation, ex, queryId); } @@ -912,7 +916,7 @@ private static void handleS3Exception( } } else { if (ex instanceof InterruptedException - || SnowflakeUtil.getRootCause(ex) instanceof SocketTimeoutException) { + || getRootCause(ex) instanceof SocketTimeoutException) { if (retryCount > s3Client.getMaxRetries()) { throw new SnowflakeSQLLoggedException( queryId, diff --git a/src/test/java/net/snowflake/client/jdbc/SnowflakeUtilTest.java b/src/test/java/net/snowflake/client/jdbc/SnowflakeUtilTest.java index 6e61d82dc..703e55b7c 100644 --- a/src/test/java/net/snowflake/client/jdbc/SnowflakeUtilTest.java +++ b/src/test/java/net/snowflake/client/jdbc/SnowflakeUtilTest.java @@ -3,6 +3,8 @@ */ package net.snowflake.client.jdbc; +import static net.snowflake.client.jdbc.SnowflakeUtil.createCaseInsensitiveMap; +import static net.snowflake.client.jdbc.SnowflakeUtil.extractColumnMetadata; import static net.snowflake.client.jdbc.SnowflakeUtil.getSnowflakeType; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -16,8 +18,13 @@ import java.sql.Types; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeMap; import net.snowflake.client.category.TestCategoryCore; import net.snowflake.client.core.ObjectMapperFactory; +import org.apache.http.Header; +import org.apache.http.message.BasicHeader; import org.junit.Test; import org.junit.experimental.categories.Category; @@ -39,8 +46,7 @@ public void testCreateMetadata() throws Throwable { SnowflakeColumnMetadata expectedColumnMetadata = createExpectedMetadata(rootNode, fieldOne, fieldTwo); // when - SnowflakeColumnMetadata columnMetadata = - SnowflakeUtil.extractColumnMetadata(rootNode, false, null); + SnowflakeColumnMetadata columnMetadata = extractColumnMetadata(rootNode, false, null); // then assertNotNull(columnMetadata); assertEquals( @@ -62,8 +68,7 @@ public void testCreateFieldsMetadataForObject() throws Throwable { rootNode.putIfAbsent("fields", fields); // when - SnowflakeColumnMetadata columnMetadata = - SnowflakeUtil.extractColumnMetadata(rootNode, false, null); + SnowflakeColumnMetadata columnMetadata = extractColumnMetadata(rootNode, false, null); // then assertNotNull(columnMetadata); assertEquals("OBJECT", columnMetadata.getTypeName()); @@ -82,6 +87,36 @@ public void testCreateFieldsMetadataForObject() throws Throwable { assertTrue(secondField.isNullable()); } + @Test + public void shouldConvertCreateCaseInsensitiveMap() { + Map map = new HashMap<>(); + map.put("key1", "value1"); + + map = SnowflakeUtil.createCaseInsensitiveMap(map); + assertTrue(map instanceof TreeMap); + assertEquals(String.CASE_INSENSITIVE_ORDER, ((TreeMap) map).comparator()); + assertEquals("value1", map.get("key1")); + assertEquals("value1", map.get("Key1")); + assertEquals("value1", map.get("KEy1")); + + map.put("KEY1", "changed_value1"); + assertEquals("changed_value1", map.get("KEY1")); + } + + @Test + public void shouldConvertHeadersCreateCaseInsensitiveMap() { + Header[] headers = + new Header[] {new BasicHeader("key1", "value1"), new BasicHeader("key2", "value2")}; + + Map map = createCaseInsensitiveMap(headers); + assertTrue(map instanceof TreeMap); + assertEquals(String.CASE_INSENSITIVE_ORDER, ((TreeMap) map).comparator()); + assertEquals("value1", map.get("key1")); + assertEquals("value2", map.get("key2")); + assertEquals("value1", map.get("Key1")); + assertEquals("value2", map.get("Key2")); + } + private static SnowflakeColumnMetadata createExpectedMetadata( JsonNode rootNode, JsonNode fieldOne, JsonNode fieldTwo) throws SnowflakeSQLLoggedException { ColumnTypeInfo columnTypeInfo = From babe0d8cbcaaeb5d77186422baf5256745ee372e Mon Sep 17 00:00:00 2001 From: Dominik Przybysz <132913826+sfc-gh-dprzybysz@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:35:32 +0200 Subject: [PATCH 3/4] SNOW-799391: Add troubleshooting guide link for ssl exceptions (#1924) --- .../snowflake/client/jdbc/RestRequest.java | 9 +++- .../client/jdbc/ConnectionLatestIT.java | 36 ++++++++++++++ .../client/jdbc/ConnectionWithOCSPModeIT.java | 49 +++++++++++++------ 3 files changed, 77 insertions(+), 17 deletions(-) diff --git a/src/main/java/net/snowflake/client/jdbc/RestRequest.java b/src/main/java/net/snowflake/client/jdbc/RestRequest.java index 5be46c5de..c753c87de 100644 --- a/src/main/java/net/snowflake/client/jdbc/RestRequest.java +++ b/src/main/java/net/snowflake/client/jdbc/RestRequest.java @@ -283,7 +283,14 @@ public static CloseableHttpResponse execute( // if an SSL issue occurs like an SSLHandshakeException then fail // immediately and stop retrying the requests - throw new SnowflakeSQLLoggedException(null, ErrorCode.NETWORK_ERROR, ex, ex.getMessage()); + String formattedMsg = + ex.getMessage() + + "\n" + + "Verify that the hostnames and portnumbers in SYSTEM$ALLOWLIST are added to your firewall's allowed list.\n" + + "To troubleshoot your connection further, you can refer to this article:\n" + + "https://docs.snowflake.com/en/user-guide/client-connectivity-troubleshooting/overview"; + + throw new SnowflakeSQLLoggedException(null, ErrorCode.NETWORK_ERROR, ex, formattedMsg); } catch (Exception ex) { diff --git a/src/test/java/net/snowflake/client/jdbc/ConnectionLatestIT.java b/src/test/java/net/snowflake/client/jdbc/ConnectionLatestIT.java index efed33896..4d2129a53 100644 --- a/src/test/java/net/snowflake/client/jdbc/ConnectionLatestIT.java +++ b/src/test/java/net/snowflake/client/jdbc/ConnectionLatestIT.java @@ -12,6 +12,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.core.AnyOf.anyOf; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -48,7 +49,9 @@ import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.Random; import java.util.concurrent.TimeUnit; +import javax.net.ssl.SSLHandshakeException; import net.snowflake.client.ConditionalIgnoreRule; import net.snowflake.client.RunningNotOnAWS; import net.snowflake.client.RunningOnGithubAction; @@ -1618,4 +1621,37 @@ public void shouldGetOverridenConnectionAndSocketTimeouts() throws Exception { assertEquals(Duration.ofMillis(200), HttpUtil.getSocketTimeout()); } } + + /** Added in > 3.19.0 */ + @Test + public void shouldFailOnSslExceptionWithLinkToTroubleShootingGuide() throws InterruptedException { + Properties properties = new Properties(); + properties.put("user", "fakeuser"); + properties.put("password", "testpassword"); + properties.put("ocspFailOpen", Boolean.FALSE.toString()); + + int maxRetries = 5; + int retry = 0; + + // *.badssl.com may fail on timeouts + while (retry < maxRetries) { + try { + DriverManager.getConnection("jdbc:snowflake://expired.badssl.com/", properties); + fail("should fail"); + } catch (SQLException e) { + if (!(e.getCause() instanceof SSLHandshakeException)) { + retry++; + Thread.sleep(1000 * new Random().nextInt(3)); + continue; + } + assertThat(e.getCause(), instanceOf(SSLHandshakeException.class)); + assertTrue( + e.getMessage() + .contains( + "https://docs.snowflake.com/en/user-guide/client-connectivity-troubleshooting/overview")); + return; + } + } + fail("All retries failed"); + } } diff --git a/src/test/java/net/snowflake/client/jdbc/ConnectionWithOCSPModeIT.java b/src/test/java/net/snowflake/client/jdbc/ConnectionWithOCSPModeIT.java index 04c9c9311..025d4c7a4 100644 --- a/src/test/java/net/snowflake/client/jdbc/ConnectionWithOCSPModeIT.java +++ b/src/test/java/net/snowflake/client/jdbc/ConnectionWithOCSPModeIT.java @@ -17,6 +17,7 @@ import java.sql.DriverManager; import java.sql.SQLException; import java.util.Properties; +import java.util.Random; import javax.net.ssl.SSLHandshakeException; import javax.net.ssl.SSLPeerUnverifiedException; import net.snowflake.client.ConditionalIgnoreRule; @@ -412,22 +413,38 @@ public void testExpiredCert() { /** Test Wrong host. Will fail in both FAIL_OPEN and FAIL_CLOSED. */ @Test - public void testWrongHost() { - try { - DriverManager.getConnection( - "jdbc:snowflake://wrong.host.badssl.com/", OCSPFailClosedProperties()); - fail("should fail"); - } catch (SQLException ex) { - assertThat(ex, instanceOf(SnowflakeSQLException.class)); - - // The certificates used by badssl.com expired around 05/17/2022, - // https://github.com/chromium/badssl.com/issues/504. After the certificates had been updated, - // the exception seems to be changed from SSLPeerUnverifiedException to SSLHandshakeException. - assertThat( - ex.getCause(), - anyOf( - instanceOf(SSLPeerUnverifiedException.class), - instanceOf(SSLHandshakeException.class))); + public void testWrongHost() throws InterruptedException { + int maxRetries = 5; + int retry = 0; + + // *.badssl.com may fail on timeouts + while (retry < maxRetries) { + try { + DriverManager.getConnection( + "jdbc:snowflake://wrong.host.badssl.com/", OCSPFailClosedProperties()); + fail("should fail"); + } catch (SQLException ex) { + if (!(ex.getCause() instanceof SSLPeerUnverifiedException) + && !(ex.getCause() instanceof SSLHandshakeException)) { + retry++; + Thread.sleep(1000 * new Random().nextInt(3)); + continue; + } + assertThat(ex, instanceOf(SnowflakeSQLException.class)); + + // The certificates used by badssl.com expired around 05/17/2022, + // https://github.com/chromium/badssl.com/issues/504. After the certificates had been + // updated, + // the exception seems to be changed from SSLPeerUnverifiedException to + // SSLHandshakeException. + assertThat( + ex.getCause(), + anyOf( + instanceOf(SSLPeerUnverifiedException.class), + instanceOf(SSLHandshakeException.class))); + return; + } + fail("All retries failed"); } } From e5beff8d280a40d7ee3a854f2abe67bc108d17e6 Mon Sep 17 00:00:00 2001 From: Dominik Przybysz <132913826+sfc-gh-dprzybysz@users.noreply.github.com> Date: Tue, 22 Oct 2024 07:00:13 +0200 Subject: [PATCH 4/4] SNOW-1752941: Fix SFLoginOutput connection timeout (#1930) --- src/main/java/net/snowflake/client/core/SFLoginOutput.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/snowflake/client/core/SFLoginOutput.java b/src/main/java/net/snowflake/client/core/SFLoginOutput.java index 8daf81f10..3470076b9 100644 --- a/src/main/java/net/snowflake/client/core/SFLoginOutput.java +++ b/src/main/java/net/snowflake/client/core/SFLoginOutput.java @@ -18,6 +18,7 @@ public class SFLoginOutput { private int databaseMajorVersion; private int databaseMinorVersion; private Duration httpClientSocketTimeout; + private Duration httpClientConnectionTimeout; private String sessionDatabase; private String sessionSchema; private String sessionRole; @@ -53,6 +54,7 @@ public class SFLoginOutput { this.databaseMajorVersion = databaseMajorVersion; this.databaseMinorVersion = databaseMinorVersion; this.httpClientSocketTimeout = Duration.ofMillis(httpClientSocketTimeout); + this.httpClientConnectionTimeout = Duration.ofMillis(httpClientConnectionTimeout); this.sessionDatabase = sessionDatabase; this.sessionSchema = sessionSchema; this.sessionRole = sessionRole; @@ -113,7 +115,7 @@ Duration getHttpClientSocketTimeout() { } Duration getHttpClientConnectionTimeout() { - return httpClientSocketTimeout; + return httpClientConnectionTimeout; } Map getCommonParams() {