python3-salt-3002.2-lp152.3.48.1<>, @a4N/=„OyT},y.Hи8xnǣPSye3`7HGRR{,Y(ҵXгvi, ` 3쭔TVMպq3xzYo -{ê4˹e{ې\MeoVHcOP]]!U 6ww2"dNP{g vwM߳lHچ/"jC]!d9Y)*Nv:^*MF !ҋmvx,(>F 7L? 7<d # <\`pt 9, UL ql  < &L^,P##$,%(&8&9,(:T|FGH\IXY\]6(^ 6&b Tc Ud V-e V2f V5l V7u VLv w x Ly Zz 5 6 6{ 6 6 6 6 6 6 6 6 6 78Cpython3-salt3002.2lp152.3.48.1python3 library for saltPython3 specific files for salta4Nobs-power9-134openSUSE Leap 15.2openSUSEApache-2.0http://bugs.opensuse.orgSystem/Managementhttp://saltstack.org/linuxppc64le%Jo !NTqQR(z3v o>m'#3%!R2/<MT?q=0- B N![ ABEX- 9 C m s m #p`S & l v! 1^"!!  1w z.%r W  4"  (0/'z4P Ea /I! :)(u 707.!%?UITC292J:_2P`+>.;" 0GR dn)"a"94 i8 ~\.,c# -ZFRy$z+Xq2}˃,["C+'JY1(1f d< C+.%5E6iT<&Pz,bkm-FGq 5y`>=Fo_8l?Ca 3Y<2MJm%0:.)=[DC y5h 0$=pJ 7HI&hFk: j w '3&Lk) _ ?fA T\ )5U1Y [. @Q4 2; W P9_q v(7vho ]D422*5LQc-Avu=B 8N(-TO?)n'{Va6-0JZ 8V|l2@qOz< 0mQbS   ;  XJyX ; tp WV2-(U(a3"19' \Hk/% i]>)mi}.@!?"% 8#'-/B Mi/g< %>_E X6O+nk&Db6>& c+Q-3.ayQ+-> GJ"DmV-TYmn>I4$1O7C]йx|Wf)[SP(AwH5r?/N@ae87 , r > : &d +4  f-6 a ;{~$-FC%1u *D 8!RZxyug A dp~hXu:d(gR-R|mr4BSs;+# @+ 14aKS"D9\2+C4bsb#U >N.|((C^$0%!+h+z/G1 p$W7E9*k7b=e7fiB `*%%ru} E!} #'Z/7Q'#8L̿#a?$9~j9ZhU5Y(`hu5+{ LX6OZS,=?/0({H#E?:i+bC<FqNk P# rS&_BPxt@| @8ALB. 2g'6U H4+ .GML =IVcq LVe'0+:1*"o R|#5-2C' R *1A<5/ >m#7  ZIU'> "9S(1;A F1& (v)e[ #X+ 4f;" /wEK gkRG]ZQ <C er#(;%3iZY4%c v ?%F K-q e }i^#.FI+ rM#yrOz*,;#Fs/ 'E(+`,: ,;g+ ,z3E0I( r@:@ Vt>jh=n\RI9r+yWWMcW,Z`5 U ESm _E4*V %C\(& e'>6/r s/( RaI*,\8p|D `D h %=)I 75CT) {;HM:FH 0z'.m-& LjCGT)HO*{(e6 -΍5<'{(j 6&5b2/\wM48 SV#U7k 1l>5y;3+0M+5 a ?="Y f,F#u9F|N;=DE,to 9 Z`3RQ 29,p%:*=-8Z]?y+-i4NCoOdQã,!c/0? -V\;&@K)Dj61om )@";3=@#{ $y.* >*. z ,+^${lxj'!U#Tw2:D52$+*W%Q!վ=RMNz], f)(fB[+q @<A,F:I7 ^$4&6H &!:DH# q;fMB:RM>m0N )էd@>x WU%)/=M]&40PG6Rp0V &p.TuO0 qO b-5XN9:A=x!B: fE=**'RLH 4F;  MY '3jkg 'T.rtl)B5WQm>|NlC<^WLL N*b;k;E+"`/ d/ d Y5bPUW0+!&Uz0Dp'[AX" .N(087g>2 Uma A,BB m `$CxK|b E-,( v:/w $ `!>70|j)]"me- ro-HK(= <7JO&1 4{Q2-sC7J v 4o63 N A5X  j r94BZM\ Vi /  V &G/ rQ/L#* =v [;4'0(T g M$ kHo!a=~ $#* 0>a Fm=)3 JEq),4 "+ y!7|E N f q z6= b .c2 26->TC`K "Eg o5y;7 W"o%  P"Go q #k%  Y2H+OE3D$TW",&Exw FEf@ 0 {5$<2V,&$*&tB(B"DDn5    h ~ % Q:   ]G y A 4 |-' Id5mly51 Mg e Y & #PLN ?Ul"U%!] ;%4K56 &$'I5B7& ^'|L7=JR]iT . J*l(eG !zBU5c B2\ $1 4  8: V=?\=g&> a(02 A+CK r    f  %8SH?J sGpC j . JA1,T G Kk! ?GA Y ^   PS = 86 le s  |Gv4v3F Ov.8G B!  $r&iY }.;ni : ^v)@a a1  p #0} E3 T  &D7 Y%&58[]d # K s)Z2u: &/F k *0 `q "Ph)  8 M*cEZp& K",!),k wKX 60SR+ez DSB_#I#x aTd i* +ek`m:?}3NI0Wj5w237IuC21)mfjC0,hNv%cT$!,b%/E 9 Q:"(^(M5bVBhkmS h V,Lm! a efoog%M dVk191iF_:H&?1' '*#;%"]  KE3"?'g`t@Gm@  V  8"5d7 DO_ szV3Y8 vZo+`  MD zHg nl q z 0"S1%%22.A `OtxM. H+g Ea(10R%lE(.6xsm8R^ 9T$ <  H  " *qM-yB$ /bJE7 Z ;M> /O BD*!V z 5/,'s# b.X  C+-  Z4!04a9f *)z7: \x:z %rQRDf6A'd' cl ;.44h 0E= gT7 00 ^ k<p@j&pIoAM,*< i4  @/V  q+ 5f vV  c i,[a (C|^5gW4C!Y  ;M)! `!} X=/ %n X)\A!9 VX *_ DK;i p_r~m{!^.G[|o  } cg@}-n0,C' */ WD:'P$b \ g %1 ,0 ! rf % - ~;CVA n! .?=l4Z L>}~:J! *# <% A+aed>4kY. d}z k9sM{6O#.L!G { (s' ,0-< TjhP r  :,-.I 2J"z e' -r9h$+ pY) D3J| }> ,8I`1LI( 6^#406D4ktCH _~ ~ e9'  }B>߬ [L8,<Og@$l:*  v-" ;"ML_mxP #,x  OnHc3B ZQE/s/"H]2 7dzY*:&r7 "+ M.jj L L6y  5tAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤a3a3a3a3a3a3a3a3a3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3aa3_ha3a3a3a3a3_ha_haaa3_ha3a3a3aa3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_ha3aa3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_ha_h_ha_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha3_ha3a3a3a3a3a3a3_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3_haa_h_h_h_h_h_h_h_h_ha3aa3a3a3a3a3a3aaaaa3a3a3a3a3a3a3a3a3a3a3a3a3aa3a3a3a3a3_ha_ha3aa3a3a3a3a3a3a_ha_ha3_ha3a3a3a3a3a3a3a3a3a3_ha_h_h_h_h_h_ha3_ha3a3a3a3a3_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_ha_h_ha3_h_ha3aa3a3a3_ha3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_haaa3_ha3a3a3_ha3_ha3a3a3a3_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_haa3_ha3a3a3a3a3a3a3_h_h_h_haa3_ha3a3a3a3a3a3a3_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3_h_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3_ha3a3a3a3_h_h_h_haa3aa3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_ha_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_haaa3_ha3a3a3a3a3_ha3a3a3a3a3a3_h_h_h_h_h_haa3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3_ha3a3a3_haa3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_ha_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_haa_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_haa_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_ha_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_ha_ha_h_ha_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_ha_h_ha_haa_h_h_h_h_h_h_haa3aa3a3a3a3_ha3a3a3a3a3a_ha3_ha3a3a3_h_ha3_ha3a3a3a3a3_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_haa3_ha3a3a3_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_haa3_ha3a3a3a3_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a_h_h_h_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_haa3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_ha3_ha3a3a3_ha3a3a3_ha3_ha3a3a3_haa3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_ha3_ha3a3a3_h_h_h_h_h_h_ha3_h_ha3_ha3_h_h_h_h_h_ha3a3a3a3a3a3_ha3a3a3_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3_h_h_h_h_h_h_h_h_h_ha3_ha3a3a3a3_h_ha3_ha3a3a3a3a3a3a3a3_h_h_h_h_h_ha3_ha3a3a3a3a3a3a3a3a3_h_ha_ha3_ha3a3a3a_h_h_ha3_ha3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3a3_haa_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha3aa3a3a3a3a3_ha_h_h_h_h_h_ha3_ha3a3a3_ha3a3a3a3a3_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_ha_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_h_ha_h_h_ha3_ha3a3a3a3a3_h_ha3_ha3a3a3a3_h_h_ha_ha_h_ha3_ha3a3a3a3a3_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_haa_haa_h_h_h_ha3_ha3a3a3a3a3_h_h_h_h_h_h_h_h_ha_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_h_ha_h_h_ha_h_h_h_h_ha3aa3a3a3a3a3a3a3a3_h_h_h_h_ha137837246d9a1420a53a36a3e7694486a643089f85974e86cf8170b88da959a7dc0c76694bd691216b05711e2bcda5c6661af9d0f038e08b9b2eed534b69eb94b12838b0f45c47fe826f441ecb589dae0b9c3a8aa6ca3f1d6585ca6a71b2f9fe46e34cc9c80be1d1cd5c71be8deb3c13336130b33ac06bd563dfdda28b0f286f01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b2861238b03fb80cd8547132c1f704c2f87899770b3bb1bb3c7f17e0a8ca090f206a4b397fc7045eac527c2aec3ff46cee5ce30016c760f238c26e79902fe67b61cec88b86e7d144753cf48da98eef7d24023a2c52df466b758702f2ed63cbe09114be1d045f4b3aeb3b0a8588705f890cd00e18e029177ec07058026de86895ed737f577dead135b2601cd09dcabe9439fa2212baa145b966bdd9b137fb75f3dbe4c74973522ab57b3a40d57a805e386c88aec1e84e61a03011f0f7afca775fb85a6c7865837690a3fc1c91a0059f213df88822795e1535c7946b7d1424f2ae9d7a48be0a44b9bb5829b4ac5950fc44086e04a97023116b120557f2fe3773b8a060a1dc6d7b10c193be418cbc0044acaf234a7d315aed95f31f13c4aeae0d0a9faabfbcc702d772de1df80be845143354a921c0dad394b128f55d08c7935345eebd2eeb16fbad6e9902d97a54c470fb9d51ceb201bec9463cbd40be2242cc0087177b33879eca2deb2f9f3c71fd9ed084c75bdcfbc1e18c9e7c1e1aa00691ad5b4d55e51660cc190edf5fa92d19d8c2e34b69dc3cf4eee87f1445037213b2d362db9f19fbd579a0ee857bae078dc3eee47f61e6342a83c85cc4b2759eb9a88d58522464c497692d0c01cb55580e547b4cbbf3928fb940b0d9d9b5a6cea8314f782256e3c479f6494f57578c112880386afe34949d2cfdf5f4f8153619afb1e633caf14640219abb5c7fb62b884562a7d0c704e8795fc661b6e35398c33ac613a0e4098623fdb79e9882523c4eff5bc4d8102acc0390130d5c836db9b9a17f6c7fca0c62fb1b78e548a9b4e6b657c77f8d1283c79aefc94cebf1b50c5e55ef8e2ff64bb5c502f081e0f65a5bbb2b3d7bf5370a212692fc6412383c461828e58d49c68de9ef9833d1222320f306379f9fe90a1417f958dc408b333b51fe80e5e53946f57c63dac43f2e1cd4b2900624db8fbcb70914d785b78673bea779f33ac3b8c1634ccf9898eb6aa3749eaae906ab8ef7dfd1b5e49759ab10b929f2091e4fd1d462d0a2ad0a604790bffea538c19c4844522d0ce7d5456dcb6e866e04ca69368c397ea6e8481188f884a0869600654c829a4859643e4477a030f27f81a62e80744d614e70281073faba7e4ca997d85597ff098fcf53888d100922ce57265037d619d043da777c2648df20abc70bdcee715cb150d030d266da4b130dc84e2363b6c776d7f7d47fbbeee8ae0fa2d24a6db84ef41c5518fc8df67ac5fb094fa4e06ef6c1ed272efca4e21a74fc45dea8c19be2d20ec2a90286d8e9b5b94f33000459966192cc195ec31fbff060d76bcbf5f51a2c882c97d3bc80d1e2b8d6a90b8b4c076e11d1562d7e74cf70ba2068c44d18b04a4286d7a9ab8140a3088150d27930a688cea3cb4a4a94b768c9e9002b714e1666f92961079381bffafeb9a0d5480bcb67430f91074546eb56fc353e8d7d86adb339876a12ffe74ebf68f3d2b176fb6a45699d5f1519d6ea365c50f5cd9d271fb588a9c761dabb38a1d51c0b405f4fbaf22b102654103c3fbd4508f8d249a3fee89ed41f9b42715ff60b7269582d27ccbe96df5416cad7c4c7c2d02da7ee834ed921d029b88de6f80f8a6e3164960d851fae37e95f4f1ccae895c24a9f910f9cf810d5d87540ac2f02a3bfff2ebedf2dacc181be95044dd3b0e5d426b8e5b1801f1a9b6861a67fae8c16b8bf0a3fdaa4e7b11adbcb6cc2635ef9be13fa04804d39cd86f3ef5704e16d7fef53b941fea43fd9508f393da2465b584a92ef25fe4a60971e6d1cdc562b277d4e003ecbab663c46184aacc4c54858f020b4a75d24e120b773c6134495fa37d6db192b268bcdf34841a760641f22d3320eeae5c049bc880a73e143f4edc51575355d8d35b2d5c8a4268031d63f1586faab3a06487452ca292f176bb8f6f83fb7aa3bee001775c83c2b868cb8ecbaace2465020063e9d878934e2976d095c0cbe03cc043a3cce22867ea4bc9a05c8081130ba8e18368c3535e735756f58356e5387a48b996fb0bc20295af394c0c6f48ad72b08876a20d179fbfca8da14c6edd288f79fef9ca656095c3816e772aff860dee5f911983c9ca57cd5cbf8f92e0f93bc4657aa7a6484ecb430e1653a40461a4da567926f31d1ae7a293853c7087f10e11addc43dcde8ac57925ed6abbc57d7a85eb6266cd55f0663fdc81f3e54706788fe27f66c604a49867b5cd2ffa02deebcad2ad9e4653f1d2389530529322ec3a5a2e7077871ce6b12dec42dca28bb8c0bd7fe1f3a93fdacf1caeda771933c5e61fe088769061754372d0ff76d9d420cb9ecdd125ae1e00b487e06f55b74d9fa67d3bbe00d911e55eb0de58cbb57e5e1813c25361d5c80e20ad83f1b0b704f77991ee5fcfe23d3e99fae2ef152005d4e6169a744bbece3b1eb8c46934789ec8d8bff2bfee0b4069f71ef3f0fedeccc3bd539cc9aabc4fc10f29312dcda62c41a4cfff2307e98483e007eca58851fa828347979be9462178dc314c71b6b366bfad4b380e2d8912cf1e3b04e8e519f0d289648ca79b22a21be1e82438f325da8961e36340879c556fc1f1fa8279331ea7f80561bf1980bbe43622458af4bca1a17ac247d0f3e7e0603c74af5d2190a60e290e6a7400e76662617affd843b732a52e8cbab83f1cf17d749ba766013e847436b6356bc75e7ab3769702e204df7a29aeb51774b330689e974e151e86ea2d01e8f42283503958f9984b69269eac6688dcc38747e6a08182c0ce9edf1df54589ab39592dc9b5aa041367474cd0213287e6b471635105edc329ebea1f3b4b05b7f5eaf1728d78475fcf4c566510bb386c58d5d69fb9237558c45f5df48bf0a3f07651be512be80a4ec96f67d5ae525964192769a572d426f35d1372b46e02db96d4f15d627791d7ec10a114b0cb2451e743462d34d56f20c9e0b99cc958e316d4d87711c39937be85f554492600526d2ff99bdc4498b10c2ded703fa55e5444977acf747567ab5e5073e8aad5829b8ca6d01e832a3df1627226db8aac040a5230fb8fa92938e3bb0b223373e5b96907e579dcdd981a891483a4fc165b127a5882a8009a05c8a77c0a4348cc1d47846124075b34909301e4ddea295e7e996e9ddc3d895627144a80086999932dea3efce3ec33c4dff7429d962ce9773ff76841ac119075097c31227218e8ab3a991894bcb3c3db7cd35659f4a4ecae1b859aaa8e8da075c13677b089f55be682ebbf53f5ad57362bd9ba9bcf96e988a26b0982011396e53461bf827d807159f9832049e6aa8cd7a23993820b99704c15557e2f8bca4f6622a57e77d2972baaddd7236471944ccda798874a4417fe34629b1197de0d99686a1d66feeea7ede7791ff31d952ff5ac7a2a720405dbc94b8be1e53ed7de7c7b277262b5862c903188d4cc6937442bffd4be0051b9b94995000ce59a9cb7edb2fd8924fc0c5d5e23bd5a51c01941626b04f1d82d6e4c3a70de3843a86f90177db95194d5f270acf34f07384ecb28a7b3c464965dd8d48c9dcb00c6f0c4b08a1b9374a08468db141ac22485acf4ad02b733cb1335121d0922e8be1de75e7dc1619609f2fdcb79423da8e051432f894e77a1016391650d6db45f2f14007482e81699d551ceb9ad22a78b3289272555a6621e64b31b87ed1093f6c7948e18b09493c9a96079451067ca0559b9c38a65a716355b775ef176d17b4d247955ac81c97334c5eab0e91258448cf7a0c1c3de7b640a6de9f0e820d8f1916985abef03cbdad69807685b69fd798f52d23bc48cd17d87cedd493a55f9f798bdbbb9409d789953c07c9db5f6a2291ae4d7303550ddaafd36efa342785fffc4eae1181954a8a3d4a67a65424c0ce26db7e63494eb85e217678b56c44807b48bfb3e262d4303e855ac74eeb3028a737c2fb505bb986003d6b49f0a0ab5d88bbe9fad0dad8eaf84cb51fbe68729fce7441852d42e4aa7ae845c4ac4ec06a2fc6839d65e52ee0d85abbe5ca4d4319ad2ec32f03b208a1efe13cfcab49b862bd20aa86e4765f9d8863583e3edf61d0987c483bab7cc043b7ca1c41dae3d6a818e2e2d5bdc4975a34fed07b018ddc4f35d272c57b2d85321394f700dc2053b0a06f9556bf40b312584ff58a57ab66cfb601ad8fff095892a2219886008ea1b4ad17e39f0ba5a6c53093e5884ee7cec2cef483b215ee3e29b3d4d168d71c70289c2cd42034fb7820a12f30239174efd4b5a7ec4180aa4fb9d76ea8b01d78c9b3aee0bc546fa54093d95cdae570fc81097715a567b78cae628d73bde2514f075be8dffb2ba5a6f66edc9fd01a8503893e7ffaccd3b6215c3da1168afa529ca644cc18d11d729f3b5f8d7dcb4047dfb51adf3bc332bb14c09d9346cfb6e4354df40ea8b4fa8c0cf154e570cca9c6577d9c71ff75f52c5d09f15d711733a2d90f24483757b734db17e6f61e6dbd1e8c82a926b05984198cc5bda26bea3d8d57ef8c918d7d1ce495be7e103f4bb9820e5c51c77eb4ea09818dcefa2b53f425d15a367c5b3af8905241691cc32cb7b75e343b378ec895425fb77f40676a5be19326df2bc131cbafb3c5f0056997edf6ee02c213397ab52aa6496163e6fef55e1197a04b08573bb2e2cac586a5f5698b61bee995b1b4ba83fef54bc398ffae2f97339152080cc325b79272bc2a3cea9ca292ff57783db17012b7a4ea518698cd037992dd8b686717aba225effec9368638a5e799efae2b4901882ed57c9ba3b09c9d7d32c4878ad7d3df127d3cbecb336e7be03e419aaae4ff1c083e29d4fe408e5888489f23b645e020bdff93811307f5f38c5eb879f00aafb22067d8039f3548635b8d027b4269392308250c92975c521522d15a0427e362d9917559b5f71d86a891aad318e5ae55b4cb9eb65193aa0227fc8c4edb9007cd2d6fe10824d85dc03131ac1f75e4004a23fbad2e85bbd3ff7acef12bb1b68e97297c763df3e3bed61ea161331bd8d410e03b6870d7d6cfbbede456bad4a67bf06d223699f8123189818699eb12f5254260104769448e9e16d9be007954d7699588835026bfdf2f6010af05492fac2e6a3b28a350b118a40e9ff468828d027fac66d521e9db9bd5c2e2dcad5fe6d4423b94e4b610d21d5e087109cf9f905a1d25ddb36681a3a6c6ce907a2c68aa2ab232c1560aba0b3ae5b197d8dd4b52e33fcb13662940c9f04e8a0c85b2e05989070a6b1379ac32b743cec0c7a8a5bb9abe3a5079d50c8e572dc34352accda5ec78b478c8f6cd3a006548681293359b3a0232d783f0d74580ad913942a8da171dafb4af69d384d803b1739e3a825ea5ea8ed998d533ea68e589831b986599c41d94c3487d0f3a1cbab96d79d134c8a07b40c48fb756b6d6f9512e42fc2703ea421bd433aab3e0f5743933704d02e3e9a3392bd411459c5e79d0a5177d665a3fe26f266512c19ed3d9cd9b658c9bcc2f275d9cdad1cfc3e295c109a3eb3a21ae916ecb9996b71a629ad2b009172cde6675996ba33b33637c30f42f69756ee426d34ad4bc20edb05c441b1019a005b5f3159585946ca3fd15767486d6528093a91f30fb813fce06acfa1bb9ee72f535e1d1656982bd38d2bdaf3bb36f4a541214ead596bfa73d181738b7b2abe65c5fc4ab862047278dc0fbd7dd97593dbebbee41c3343e96b26c83b2831183ed945e80efd7b85ef6c02e49176c8c68dd22eee78341eb84639173148ca4287a27e6a9d2f98de3fa3448e558c9564bd64c4ed974351df9a7987484204f71c5be109ff9d5c49d241ac27303cc71381223dbc74b16d93455018d652c82e618f6c9907d101d4ae26690745ac4b16e86e59c157b5c1f9287c4e38b7f708635dc7e94814e4caf69e6555e235dfeeb68b65c6bc895b01a23132215e87bc1f4aaf94da5a40eb615923dd2f600c1fe52dcc69f09935c88beaaf0bacfb90c8b3065f4e86bf7f1d9c80d64d3f66f901019ef7e24f2a9866a943840b7a0a85b3f8d966915fdef30b980d69f01f1f0a83f3caf7f656b8e56c74f1afc545a47c4bb02b45ccaaace19a0d152570083f891243b42c55c6a237b9cd8137f9c5d390e646271dd528df2c709ee9549ac851735656ccee0b6a2e420235007379045b0160237c63bd29d88483ba4a2c736a32885ed628da5de5470f8384e8c665d1cf419de6d97a7ba88b8f9539acb5bfab551eef0eb5d9b774e5bd4a5235993ae5db393872b5477c248bce1612e622932e7042281b8f7efddf0bb93815389dd4f9fb4ea66aa4a66e8abdccf0c706da24e8db72493496987de9c03910f817aca416a1a5d80453923c2f7e7cb12bbea4936f1a4c8fa53101eecfa1bbdc61971309cad95b0e9798f5907db7f664674d9021233ac1d5eac0fa71dbbe09e5c0ad7936fc2c2c8f3128e9c97965f8aa0470f563f96195b193b0cf14fdba373a0639ba34c7ea0f6ed27a0d5abc9ad3abec8288d904c2561b473467b8329f83c9d1322d29a5c05a180395ca474920b31e555c262d95e8cee1591b5a8fd056e4dda596dedad4cddbf26618cf38d5e1aaf2db86bd650a2235ab14a982b825a03ab2769bd049b11fa5f39320f94fd2028c58f9a23e1b7ab18b56a7aef9cde164963b94247b1832c62fdb449b673b0072c4a3ab57c11b355eb6b7e4167427edb5809f17f25ae618a7da575064f3b84d2e82da25b6869feb54546490347f37f623ce0c16383c5a801c1fbc47eb02702b0309b4dbf7931736ac013c5eb04f2f3bd9db564df8b411003cdafaae800f29923beb08346ab3ad8576eb6df462f79d6376f692542232b032b4c4c5cba4715a44623226cb1c8630ffe35dc2c304948455225e7af2ac2fb6ac96181110cf820fa9d2e8237c8d97892b7a232ff52705d73004a1c311aa4ffe227d27942806a8a24ed239943073acfc17280eea93a945d0bacfc74a0b340dbac8c58e455723f4183508450ae2cfc17566cf0ee90c96ac9d01e5507d38819846c01cb63eb0e9ea85e766042c43b28b3c7df88aabe8d12e2f7a41f623e6c32da299c3ab18393776b59bf9dc4e6ddc83b753318da24c50f47439266e76c901b7b083da858d5fb0ca30972734de2c3af5b86d4230f9fdd285f99d9db6d98b87d375e75cc58d5b53666d735f4ad49549dccf42c091f5e16e283174639d2a884edeab2d0c41c37f4d545b93f1805f702bafa2cf15a5d9e4bc9c021526761a502710d35520779cef2eebb7b03c69a572e6273ed85749cc4dfa389045eba2b4fc82ca24c839430549c8afc92024e57fda40200cda32c402cb126f74ce4f22642704ace9950b30b4d89fbb089abb044cd279f6a0b643ba293e5004562a93327ca54f1b4e74d6c1d1125192f4e23f82fd6e131be566ed7e9338d5a1ad585dc64cd9ed30e6814f776d431af250e6e465b1e50444bd801d1dde05002614efe30de28d6f358399ea73173fbb6d9ebd0c59bb02a37c8b5b03565255691ba99811af303397d05cac792fe7089df8f67cb28a0698cb7a02bed92819da953ec79eb3f0a2b2d1996af4eea8330fa442fd0be48302ce5843f88f6e6dae32056f2310e7464efe339f3c9801e7e2e8978c20903ae6409dcd96d4c19edbbe45b5ebd20a80b335bd11f979c969eae15f6b5a8981e99b34de2c58a693119a75a6ac0ed03fe0014cb218c0b15d79e312dccce6e6c263b3c51dfc091cf59ce7d9d3268389565792526c0267640f8de9bfeff848d3d4582406ea4e50ada09861caf5dc2b14fd668cf0e3eb694647c73d77ae4311dda5d0bc9438c922d964e5a294f419fd5f588ef70acfde460441063d19832f4870cca95974ef120d651d84f058185a58639fc1514836907d0ec492bfa699696f581121e4ee31cef94207cd85688dec4be41b5a3e18ea446bdef3dfebdf949a5435837d6924f0d7f0a657b794b52a98a63fd908ee8dacef7baf87ca4e113013894d24683054e19120e1735fe1a18d56598eaa811aeb9113e903cf3fd4e541920f270ef8787a45b73aa9c38a67ffa297b79ac74daf451d6f4798ebca68518435eeb3d9d45ad0566c721c3f435efcded05ae40a850fcfa81bfa152547ada0e7bb54fed9484d7bb012802ea186c6bda3764757f4aeaf87c848d5e90e29468e7c4a6f9f4e5d5dc06c1444faede5a2bb8149d49d78dc7213571d0a55b5e6ec573c57f92e5a638aaca59f3c91815216c2183e6f35526849018e4622f98b3a6419d162b1d85fb0a1b0808e3a4a579115e467e461658a8842fecbcb97eeb4c792e840394077a3331fcba60ab2e577d3d745c29318393f6c45e04dc60a99c76dd914b0e70882f2aab794d1b7823005dd807bbbc62fb78d931f5574e765cc2c7ac0ae8d79c0c52afe6dfdfb13c506525d3bc8355d0afc2fd9ec83e879f5037fff22146ddc79ab5396cd950cf290ca4f28969fb73dbe18d8099de67692b5f18409c21f14ffb8484c2cf9c3dfbd21ee345fe44ed5a7a8b9458dc74c09563237bb8abfa922b47687de8ef80ac7e9f91562f554cbc31b0ebd137157754b2ef7e5f8bb2ad82d84fc73b257e04ad5047cb308ea763350f14f0504fa962133964b0ad80528dcca63b541f7b21af1e1bf2bb7c52461b384d00366823abfe127f3e3c15e2cfea2b3860787d40ac9dfb76cfebe323d99043512fd25ac1184a78b18847b41f567dc87b238c65c0389bd58995af2c77f905eeef6083c75581c22256a847d4d348743bf0cc06fac20d449e8f57656522fa1058066c51b0e021c4477e96a13311e3517137311f3295c807ef96c675564347de57832c07aa8ec048d500d6e4315f3dcc7e75bbe9c27bac2e6791cec2df604b0ceb2aea313f8eda0f75661cbba68771c92a8fa5d776cd515194825164dcae6dce73f63d45e14812cbb909f96f0556856eb991f18b3f17ff663ec08153eba499cd35e25c6b3ababc3c8698b12ac56e2dd5b9136a094a948ece23f12d94df162ea37759587bed8f3481c38a32c2d68ab2f62071a082bf168d27c78431e633ff276c7242f5c69c780291a5b252c0c233387ea1093ed8e9569d0ec32da11409a93f8de36da5c932b7b9c5f3756f92311083d92b07c4da82fc640c72a22e90d05d36d7f94938165b9f865ac6f64578518dc8cbedba7d03cfe8a29325c6742951310075bccceb6ef794809002a0e051e73665f6ba07b2370031a8dd3bd575603f8d1ae699f942c11141f40418eccff3c2e2e982d16bac19deb460fda1c545bcf746356228181aae9d6ab7690c573563f8d8dba7133986696fb28b0dbc509c0cfb819d4ae5021c977cdcd27d3fd8a12bd9e871ebf98c26b592079812ebc0c8629b0bc93952cbe2895c23e1912ee246ff83023c4be0319c98f9d1cfe94a00669a94ca914ec026d8f8768708257098521a790f27b161acbd99b405e23af82d291746d35fd3baa1c99636b3113bf1bd0bef97d42fa981d934eee12f887dfcc6790dd9beb21c34c928a71537d1f392c807fea0c99ee920409508652bd2cfcb5a2cd9297f816536d7690c732c8cd1377f6861a229dd0d07f7b744750ecb4ee8b7374f6520ec8d69c9b9044a4994b2ee681ed6f5d3d818328c8688fa38a1825c919d5a745a42aac96ba3795b3b118697a428f1d09effa59f5bb9c02748a4dea8f5dd3b818686a0a99c13732320dca5cad0aec9bc2292b9a15a5ae16f4ea60c40fd12e7fc7bc72f4a762df1889fccb863c3fb7ea934b866f32ad08402cb1119242e24ef3b998d877cc38573f134fc80073534bf6a344cc5dc882784d58adf538037911eaecb0e1e6620245afb11ab251c0433cd523b68c007e141151d32c4f0f770043175966f1317c7f10b78ae8257926fc1419a68fe3dfc0fe9dbfad94c83d6442854e19af6bdd8503a2c79a2371ce55ad62edcb15fda065dcfa5fd727fdb95f0db6505ca523dc87dcc72177ae3804c4d67dd49fdbcebbb774ffcc697d40d2aa61f41f74bb7243a03335f15d5b533de34e15e30ef66c1f70f9504f63d52947a702efb5e73b12da6382df123db2fe427f02083f1eb7e86e04b284f7b85c2ee52c16c1dbb7ee29a5acc0a06bbf7a12c642cfc643b3940ad30673de0907fd0a28d48321f8dbf7b4743b8b084a9f378124b2b1a51563bf3c22444eb7ff33692017da28b2136ae56987ed10b1335e9400c1f5ca366a10bbb656dd4c8a6a459dfb484b322c3293f7d86256ce8132f7f00a5c0668603d5af7fabb5340e5abff75baf9c6197e3ff00c53a113768e689c42f353ce2d4c63167248507c6f0390b89043fe85eb65e979d4c0040288f44d2046dc31f99930584b91f254caac3c7c5f08f34fb2fd6f17afa6d2b2b48724399fce6277c5bf8a1b4dc5482b2031fa0f6080953e0fe8a05bf35d92f8f0660100ad66f4e2ce4e8d33b94bc9f710495fc599d0faa48d3bee1786f280938dc978b5b544f304f09d3d23a2baa1218e54cd5b17a6772bbf38562d8e42620ecd2a8e64b3425fa08ec7c9c1a3d422995511d8646e517ac1ed5613da1739faff1c5e2b609591a9838d4a2fdc426134d4b86752529e8283161b1a89153437065d46654fb6dc9f6e2257616187d13d55b04386dc88051bb1376cd29fc717d2af7d9d02b65ff2aba44b430fbd30099d5831456045c37990436c3252e50cc9daa34e33b82bc14a8b8b008e3b9eab757c0a8237b5e6108a379a07c5dad30de295501d297319bd8ba7b6de858b584721dbf3a340b51af1bcf5e03131a93dec971baf940fe1918ecb1eec60fd5cb2477935bfe05a1271adedc750c8241a09700d7cd62aa1c7edde45df735cb778ab01757c230aed78a87e7ccf7ba32657313511a6a70020c7e76d0172e824c028e25e321b29d10a81868805c30f0af9514697326310a2b9322be8da3a344cc7d2353e3b4ada631bd01208406a39efc441a831a3928718bd75ef02f29481d34e4a8f19973c9b431b5773bf7f65d2cca7054dde59350bb4266548ff0fa711fd271028eac2df58b613136c52968c5eed3e0f0266c1f7817414111a2750e29593f4203053a28b7529b1033dc51e30ba593429c1da98933092e98bd81c4e33dd4091b3d4ee59cd386aca9e84eeb5bbd8529cf8e14fd8ba183e66dc76d5dd584ab22c5b101a700a09bd75c859e9dda6904d9dd254c4c4fd7ab1bd3d5fdc63b1dba827e1edc130a24ed5dd0cc8ccad1dee65e379d1dd9abaf1af7ca3a23932f366a435443277b7da8beb51611be702746c5cb64c006bfc05a18fa6fc1422fa8275abbb71c60e596ca81c6b13143362d309113712072a63fc25d43761dcfefdf5e5f6526eb03cdd3001382a19431711bcf1030a657b1c440964eca0f28b3a73d9d4112b9ee6bd665082a2236047dd148ca5795050617e879bf84a0619353abb8d87e9a7407beaeb88c6a66ff31c44deeda6a8c48e30a181058281b84fb619673b8d9a0f3c8a0ae7fd5a1a28f25955cd137bcedc73b48bbd853a7e3c75f685e3ba0ba38e15e3c064692b3e486299884116065f9b6198ac8bfd45aa5661dbfafdeb901dcf9e929db039cd3de5d58fc2b686ea641a3a6fa5a353de77153bc347fc33eae1ee004d6b9dc0986f768cb302165382e46b82571c912ea8d19692dfb589f1cff2fb6d9975f934f67d1c055fa83be7154393c5b08c74120a6a2fb7acb387808f621df122a5f9c7568393ed71d55a2048c7ddf482a3bf7dd5807c019c508d11f08a33812efa222abbfff9607c1946727c0c6fca4bdfa6191f533b3dd3112b5a00244b1ec7a71e19e2ecf10b359235b2baacd2c693382cfc6929075c385681dac3c1e1aa16ff6d06ce187746314388fcc00fd8874c26567802c246ba8469a8cc235fc074b85558d5f41b03a6a511b52cb642416338b65110d20f131e54ef7709d20131fefa1e84e9676e8e9b5ef0cd77c25fa1aad4797b62a2f0c12bac364b0abbfffa8da286527b8a94663335c8666498f99d93ef50d7060fc1c722ea7d10ac58f4cea8b406beb4984b01db09e3bc401b88a2b7dc6d11ebb09c86b3b4d92cabd81de7213ece8ca627383aca11c5efc8313595d638794a5abdd8b202baac31078dfa85d0bc1258f91483b896ed7c7713ee4766f6d3d53ac0faa33741dda556546bfe4b643e6705a3a2f7c2e42f6b63098584834f5e4833545bab1f4c7d1af531bdaed952319ae034ec36f262e498f4e5db8f2956cda871a16e20e71b262a2de11cfc27959d4e3187bd3131e9bf5b423081910e96a72dbc5d8d575088d0f0ae6af1fa9abd9d0cf644eaa7db0e2138c391fb546e470c6563b0fc268769d3f0060649842d518fb48d8d18f00e36dc5838cbd87261fdf38a6a79c7597c960b91394b74fbc00c3b29a35c0f7ba4a47390173aea391be48075351d5026aa40a0740c9cfab73a24f078dcdc3b9ef1648b4bc8e48ddb05b35c38c359937bd23864a91d12472f64e0065cb2dcf5d17918bd908e6c31e95272e2de51d43950d4de1d38ac4e5ee57ef3baa47139c6fa049b3b2fa7ce5ee39c7927a56b55576e46f6b622854cbcf10e84f745f01ab0d50e83095395a555b740d711c83f149eb59236792a6b3b88c3843a4f3dcc92aac97b0a6b160f7e892282b2f111d3d17b0d5e898ef973e7bfdb581501c496d4144423a596a7478c490fcba4340a8dd8511b5d7c42ded40042ee7629a38492c7ba727fe30962b119bed9ed43ff36ea5368c530003f67b1ca4141f8db639609063684e9a80293ae29983f726b175eb3562a48aa3115f7943ac71ad2e7fe9f59fe97c7f7db70ad647aa0cc98a20ec1ab890fc97a04b7a773850bc24e0c58c883ed0ce8f49ab335f7b45420b8a7ce672e4d32d202a2c5142973a2f4ef8f226c9ecb7ddb83621693e03e50d057f9b3bc167f4eee601136e06a5dab703322280b2abc3b80a68454628ee6640eac6dd7b97358988e22b98b6f2f3ea6807533f5aaa81f3704280965cea9f71d4f861e833c98d3e92a82f053e5fe64338cd57af097eb0e3bfe7afebab660bf8fd635dec79ac4975ef5e99c45ee32964b5e345167891e0453e34b390d9df4e3624f5fb66411587d860cd8f2ad3d66836385166a39390fab8b6f3bac3a94226381ea93533c2c51f80badb8c1c1ece30ef3849ff160a83aff6d8bb3b3079ca8bbdfa267b96d67fc4b5d1dafe43845f4ab74adfccbcdb23d21a1a6b5b0e021f450d08d424d1e0dc507a2191df8508d392b3074b199ac0e1d97f9350609779331db2ba37355333188eb2369a1f10c24049d2c7ab7869a2303cb94e100331ef9b93cf0a8505f9538453090f99dbbc9059c0cbe7b46087c8bb0668b1d91b7a23711e67cdcae06e981d40c1baf9e53ba012c6dcf9271874596c291d3e4fa591bb059e4fb073341d60015390716d9e32efe6e668d101f1428052a94868310bf6a98ea868dd328d751e15dd2d166434db325ea9d28300bb36ed8638245c5070d376d3eed9975dda9406fdc22ddde7db0661a6ad19bf9c6f2ba4e01b502dd5c90a184c58c1038a5793401a40ab99d29bc95538c2f085e93a5dfa6a633b049b5551452bb9b7d6b7dc946ed3281afc2c745c15f745ff6004997bcea7bf5f120ae7f6f5eee750c637e45992a6d9022663bae3bd44831476b45420dc554a3317c81dc24982145d2c006d9b8185480f5cbb742c27ddd1694a98e5b5461e7b67e517b37e2cd1a8859634be2e5c1feeefa16ac2c5ce80fb82a6baae2c503547695927c006c0169ac079362ae8db781d6f6a23346bd33529058b9ac683dbfe3c2a7330a110404ac6518db758f695884858d9e9f3a1bf392e50e5cf54b392bb5c46b1dcdcf6667eac561d241e54d1cf438d1ca2810c343d591b997bf39a16deef12705ae7ebe691efb75f7506c5eeed0d29941b87c447c9b0d3aa4369a09002ccee86cf36c17ccdda1c0dcb9392cbfba175383da3626f465d9b4e57e62db0f44bb32b72f0e93907e52e38230cb0fcbe5bab5455d89b1366238e7cd3058016ae6832debd1708909fa15f8a470e8683dfe62d74ea94c63a0d0ec962109a8c93deb3870f2dd9da4534af40762650d085d360880d9d08fbe11b0deeabb83b2a15126921297e3327c9a9451621af4acfc7bc2100d51369322b30a94e9fe7f4694e864efd709a081e39b580af89c2cecb8d55814a8f8af71f120ea5aeb61e925e81e427eb1fe14806e05506a397564b6df45d45f7516a76ad7b60dc25c330b4fd7bf3cd393bbebd160d680c72f64e3f0becc1f65ae7eca34d1cc52c6b7370863951828adf43fe7fc3e9ae299d64a5f6cc47df3c57ae837b1d06d4a6f6361914297c0780006aac88317eacbe0501c9ae777079508b250caf285310fbb2ede3ccffc47b10a1ffe36559f57b250970569fd66bdee9bfd91153aca88506cb0f948762dbc5bfc62649106100d55f2bbc26a449b86902d23d7f72ddd7e39fc36bfb84cde1615450e63113399563e8588faf272469573be663d823772b1dbce606f464e3b6f4a4aef11d0b56fa78a3cd741c2ffaff22b268c08b87ce15fbf74128e6ee77e437f0c1cdbab320699d53d96e016180f977a20b06e65d4977d102d6cd6515e0681d945f8828183393f47f743a9408f81bb952ff5f96eab7856818abdae6e1c88052eaafe31e873e06e7497474f8f6300bffc1014c05e3633bc5e9f476cad16fc6cd8608a1377af2fa30f6b6d528bd98b500aa36fbeff5e6b74c17f2d56d751ffc3f19f29f3207dab06bbdf30ceaabedc161b311b848389881136cc249f627ea49c6f7f28576874f3518c49ed27bef589fb471f235b592e095dff0ca6eba8aaabb9c7255ae2854a4211d72264670c617af919c79ec68c1b6ccd2e444fcf092b9cfd574a4983ebebef69e10158c2de3490baf3c9d2f1f778aef5f16c327bce767fb17134b1ebb3ad95b7ef7c9a0dabc2bfe44907fff0f1a5352fdc102cb8d0403c938ef9959f05a003db92e572f2561a645c6ab94d0dac660875b22d941f303aca6e43ab6f6d62ca51b912aed664bff8d119e483e4e43eb2b39c930e70c0e924fc0f76d3f33d2dd38882d4fb21995f9f9312857ac13018f258394538c40533c847edd678e55aaf43173c426646e2767cc85b6db4e5ebc96f6df470c54e34bb59f53958f24e071eaba27d04b1414d96b0be1124de0d864a7fadd9122c0f907ce8848956710869c7275736f95222b2024583e465066c32adf38cfc70df2c3d3fc45e902befb62b721d17abafd82064840da7aa63e07c348a9e4f0a2d12be99e9612c7ea9822205a35ff12a57af86b52181eeb7ee33ff425fcecccc41f1be50d44d91eff515cdb9ab36988e932301eb2fadffa676f5f1b28219c2b8fa5f33b66e2eceeee83bb4d5af5c1cd43c0116c1082603a72793c6d9db561833ed79e476e5c266050bc1606e8cb8c6b17bada5cd3eb35c3f6c28d8d04b7530592ffa7a4eebc68868bcf07947a43a6be0a88700045b073a000d66334f25e124a85fad91cd8c7172071f301144156b5d1dbab35ee2300fcc7821224ff27ed2c554d4ac2fba2f336445a55f14833aba5d58c594244c298b07d88eb3db22b65f367d8c71fcb9665cd4fc05befe1a75e0de9c9067ff7d3e272f3cd06e98149c92e42b666bcce10370440120121cd7b8cf72c288c0f11f575e37bc382cb73bf466c0e47bf46a019199c2a90c8cfa4006c325c3d76a9d22f839b372b4a2aa5ca2139bf5633af8e7b562532528bff23899543c477166460c7f077eeab1f07e7164de2cbd4eb11521e440bea0a6faf13b97826acd1489777e211019732c45ebc214e98247467fb8d8c6875d29c06dd51329080be6ac71e1d9598a196cc03f111cf77065b9b759731210b45e18a112ed0f51a8d9970a0e207eb56ab570815a7114e57fde40ca97e4e089e05a873aa419da8f6e869f96ed9ad9e2f138952b04b4d247f6565b39af182d39da9b65b525b2c2b8a058c01d533d76bfb6bfe46e844e7d87f1466795784dc21f2654e37e9ae1091805e6ec852e70954532f93225ad336451eed9fc596a2a0855e98a243c6c5de13cd51cf5ae8f30d748b1c2b4ef52fa0211f7fcb4e3430f677d26d4efbb9f6fc0a6ffaf780491933f74567ee67ca47b57682ac8ba93f2e11d1f2d00601d7ce8a6a09b18363783f53e6e0505f44ae89efc874dc4eb2119a84c111a8c923c2ce357b0b3632a15319a72b3090859e1c5f3c370f5d3ac70ccee70f7b09680af191c18eb25f32c72b930a31079b6a258fb75b80cbf27a4aa539b1e7284209d8e21f899a7de5afdfbc7b6f0527d0edccd2c651a278b9a1e20f388d94932a830e5fb2869ffe20b4357109085220bbf8f586fdfe47b0e346ee98218d807f5e4530afd176965b399fd3db6e37eb9c62b73cc575843da87c0888ff2202c6055fa8fa1579dbe6b5a70173df11b0dc91ef24cdd3930684b63d2c83535b71096336f3e56903335a897f4ed54bc3ac16ae55137c8b064a2245183fa8ea203f2d46fc0f878f505e6e40a9115daf95ea3afde4db493fe4a12dab42db3e65f7c311a1a22d047c0fb135164198158ff0947e268b9fabe5d61871b86f166c311dae7d35ee8bf6aedb1a5ee2c741f34756faf2f0899aa95cf6556c8b7b20446621e0dffd2a576bb0486fc32f5b135ac79e9a5fa9fa17202118755b4fb8773963eeca29008b2a9f684d1738af47c76162b8a011017261c27d48c426f2d874211e4e1b9d509e25ae9713d590add1f181755f5f46aa68cb378d7721e8acb0d371a50d3df4909b19bdeccfd3310d517bb1a51976309ecffc4e6142f7e8c530d666ac43809a5796431bd48add074320b0c88554c1812876cd62475845e7f30c17694246c33103e31289b14816c949f276e78b56f130b7549787fe8d357a33380ab35562dd964af7c8e640adeca29809591fef2c5f55975fef362f5a24e3a2d8fbd6a6094f84b9671e43849f76050d775784397ff713ee4974e24ea63ce690bc7824b323b85c12b442affde0e7e143db6c3add5ff21a6e755961b4fc5cdbface7c25304c7c6146fe9a850bc081f0d0efe35cc14f55d4c67de8601afa1abe000ca690f39801556fb44f4c3d7752fbefbf33a77ef3d70592d4731f4b8733e3f1cc2f05c63bf77b4a5f288ebcbb0b751fb81531ef426f9a2b1a815e6399d4221a379097b0bf4b2e5067a5fc3a440d307e02c78f8e50a9f0cf0161e3e26c668015d3a7a9009e6198a1b7abf43129da02ba8d1df112f6ec9623c8b273dbcebb6906d4ff4ef3001d02b66ac743ed7b099a4ae801160287b83079917777d673cbd50dac70afb9da409aea7c9cf32e4eed99fe514233e08ba07877eb88c6a1bdad2e1ffa4406c294b8829f4935b191a9d8537acae2dca988412a7111867a4403a0d391935262993a1a33ba680e2200db8116c4010561bb3fa7ec321f2b30a6f3e2de4b66cfcf7b621be7587b6b29b9485c79c177d41cd2522e8618dde3eff214828b52a702cf33a4ffb236cac6699133ee3051f5c1126ed837f213ba16ea4b4e0bf71c22853628254bbb2e46e4c786ff320ce3db6a3d6a4752929888caee46f45f4f57e5ab5a15b3484dc19269bc61c430ededbf3346ffaf808547b6962c77eca2d07a7a4a87af8ae5a9700ed4c7a98c513bb299790f5edeb7a3d95225d0be6a0dfcdec12af52f151a0be84e7eff4781887057a485a196d96e1921ceab004b26961a2b6c6891b636d4b7fe986953ffdb66ab1701338ce7022f28a4d9007ad7d2b7cb5550107a9f6abefa508e8c1bbd947c1fe6b9d9c887ed0cf6dc8da281d44ed41631b1547d377315239ad464c7434e492507c13181e7708e05032eb2e3554ecbe02599576720025ab27a311a7ecab5936acdea8c2028c0aa04025a2d00afbeb5894117d20a3859eefc79b7c2ff1374be7ff7d8b12409960c7870140305326f0cfc1021193514dd4342c3f540dadf983300f027556dd995e06422ec4bb4a291ee3e3c7ac8746e3dc12700872ae8199a663d1eb574e87032fe3b7d0093142db14a5f22a97f1e1a402dec3c923827da6f1e3059a50d7a4e03057c02adf9f4a326089bc842ffc5ca5bb30dcb4c2bbe5f2256570580d12804585e5d55780568e260cc073695b2a36a1a2fa05f0b62c37692b0e62260fffc532d333b4c04956116c9f2bf69b30a2ea48ef5e94982b7721dc10f65e4ae153f5c330051a65053fa50f6a98328184b3125ab20258f268233f1a28a52f08a6abf17c10d653a0a2617bdf70038f1b338c8d972bd9a7df1a93635be666ea4a0adeca5e80a0933d288f57d5af96e520ddec85a5066eb2eeb4fe4c9bead6cdd3071b11dfde7036e723752d67e1b875d05bb4d7273351cddf5b7c8042ed850cd2464dfc7d48716c872807351ca8b12df00a289bb96eeec6155e65064041b004c8b981a720c66035e7c6f6043f49ba324c889cc27764903d6c28884683303e7e0c667866401e704f05f9a81738ec25b27047094d9f16be20cd7c92a6ad3e95c5ce2681d0c8a0f054174744beef795c160e6feebdf2a6ba3de7c9a63669e23ae261fc8436efe10f6a48f4a6b07786f5e020b6f1c679b1356d0d4fd9f51e3bcbea113cba4ec33b3521264eee3d0d134ec9d4c967a34f9c4f315b5e084bfa5de339354cc3cd666a775a3edae7f17ccefb214210593423bbfc0c6343a4df23067789cbf9106892b6fc931037f1bc4751f86a7046f64b7cd958abfae5ee51f08ab0f817f7dd5639b6172147c91234cd45282f7b5598069e1b5c92186a6ee815c3f63cfe36b52840e98111802777fae7c254ee1aaeba8a4fc42b0ea037c06ee02a2f931e8868a2329abb32abbf24d493062f99f9b2e00e820a4356bd39a04b45e54033c2c5c075c1fd69232de4fabe6ea5ac4a366a0f17818e7ce5e7e12337df058657133e0d01e9ea09b40e9f5fd883d89aa17036f609c74d7ac12f7ad903d2b1954e65576735e9a16c4b6f57d0f78d9f28d6e6f8cce1fa3fb2a671baec68f6958e1ed41974886e37d05d9299354f5c0ebf3e6de26000061c5427848c075766e2abdb98224427e5c5171848b1069dee0b80db21eb9d300b58a7549cff602136d0f6672447b668d9176177f93cd602d2550a5748aa4764f99bb7e4889f65ef62b62b715de066d2276fdb40b583746ca4eee2b8c523e610ce24e6163ece34b29844fccc6841bb091915c5ff559854857e1a493c92cc50171a90310d10475de889028e1a74cf053d16df4798957ddf5c18a52929d0269ed126d427383325083e6b4480965aa7728e723fca4a84f425a64b5fcdfab344ccaddd8c641df16644bbe14cbda9ef8d2ee8455dafdd6e63b338218dce760425d7f83b426cb9da0bcf5e3b8c0f9cd04bcad005c92b7aae0b185d8351f9fd0a3656d3b4cc4f1193f127fe02e352daa177ebb27e92605ab65d437decd01d2d0dd053702372535d386f18c8667b428a5ae2c5bca971c87d58e879571606ad952ed8955b4f835c1d6567f96738e9bdf91310067b49e8d4b4b0945011925d8b3a6b810d0cb646722217353e1b9743800bd1abe59f43e5f9cf52be1ff4702f2dd605e1d3dd950bf999b3d4978944c0c38d4ae13284e33dd36f662c015a7c579badf691b581024073c021e17035686b8d7ada750c43ab6f7ec5a4f7f943d9db6a85c9b8aea6e78871e7ba1f0b3dd346dec398adbbf67cd50417265eca82a2b9b79c1129b2370ffd51ecb9b1fc313206a06acd6d3071a164eff9fc49d1f2e2fbd103494f579701242e039b24b153b5ad17a5036728c93f16e735dc8c06af2f7fe98b72b65e59a74347b8686c5ebdd77d840707a7188b3c2ccdda192a3d3129dc30a3d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb334022885401df3f20f2b058a13a6517b3c14b104c14b4b8c72e99bd3ea82519d7044f220a1b1bfc7ab18f778b26c6598246a057388a4673f45e152ccb33ff78ad6f3f9918c81a6a2391b9018464e9b181bbf0c320d3eab85294e88e3b23f4960861ad776a8430adbd5cf435bd7d01afc0cfda6b65d2d3d98ac5a7489cea4cb3da654b54bb57f2f65490ff53fec14ca886e59365540f1b81734ac7b1ee6ca1633d5f5115a4d47a3f9c328b114a315604d579cb10c25b74767918145327e8756148db5a9522294a229b190447d0a8c4064d3a83965451f1d3cfa4fa072d28fde866731bb5c790afb426a4816a8b773730b2f817aef5c6536f4b21faa1182ca44f67b0234529c2a4425d060e98ee62665e53397647401a14b6832c1976245ede791924998996a1c0f3ad41880900880d8dd13b6f77f18bc76097cadde6ff18a2a3fdb7610e50f913d0943750d3ffb72487a6645d9e9e9b008894046a5c02eb65097f9c5662f0b716fb86320801bf8f4120697b5d680f12f8d63185181c97af8d0a165338346cd7cf50eb8689f08b13f29f7b5d59af46b097fba4fd8f0975ad7a1af62836ede52cbfa18154639f0034e943b83de59439efdfa8d7caf88dad900991aae2d1ec083311c12d9ecf1449dbd4ff09f39575e299568ea3cf79bb211bfa7f0db345b864084dab7b5f373da80b4187594af730185fc552dc628f6689801cb515e8855c47dda6ebb808537da3c6f879012facdfe5c10461f617acc5f6f70b930c58dc2d9d4d2c477b18c36261bdce18354105b70b131de228d3d46d30651ecb872d03df5ff496f2a4da4b287fa5bc2c749d733f2a0561ff9fe47d5229dfb4a484fad283b62b52313ad5574334c0ce51e94a6ecbf34da1a2ead7c90caf858fb1b80c1e0238026fab647071eccd9ccbeae430fa51edca85b3e0db61885df3b8a79158512b82bd47fe2e91a0d86fd833e74c72420bbbca2d30dac585d5886a291585cfd882aa2cfd1fed1a4746a5eda4dc44a43ed1071558c146fa60179f8bd7879e14794873b722f31a4a2345dc7fbf2a8dd4b8619c929bebfab5be7e9a9d87f71c67c70726993e6bdbd95aeccc890410bb3b83e536c69099e4e53667eee7617d792716d8829f8e9a944751c0e053f413f51c63cb56c218efdd596524f8184ceafb311f746b83c1209f135ecfe0d47b21cc31f624298cd389648060bbf0d0138095a3b62ae62ef6c7d7ddfe89a4bf01e3c1dd81ff5103558582a0c66d4a887dd49754ba2ca6d7510290a72cd1124b45dbe9ecde3740104cd2e5c6d8aef91706b9b3560d8b82ce71e7de32f772f91e3ca43a0acfd6ddedb5a77e27031d9cd4289dfc6ad0571d68a3ea899bcaf95507e7cb443e04fe414ef5315949c567e54695dfd47f5d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb334029508f8c32bda7116c8bb5d7360b77b55f6dc444978ff00c04c44d2defa0cbcd0d6db57bbefd1bfdd268ae3825a8c8a83da4bc9c39bbf8bc06586f5d30c5867e4d72f91ba10c0583a64883a8b0666ba4af73d38f358464be736636c7e0f6ef327218ed5bacb7c8dfecc6d9326c7b810eab35130338510533d25b7f3cc9e314bc5bf75b0c3d6578409ec3ca8d74c132f592e08298d0bebdc98d15e3e16c65d965852c9c4d9685a27e73d0f9607e418c1177541c4c049eeacb83e06e3beb6ef0619949d2d4ceb00e68076337b1ded607fbf0a21c6ff1aa603d5e7bc3338285f3f1972cf87a65ccda409add0a6ccbfd0df05c4248dd9827a2751bb71521832dcf4330dd830a75163ccf34608898e2f67798119ddc1cfb2ca33d4ca93ee31eb9b467450f0869cfd004679794e56ff9a2c075315690a5a1c082efa8db777aa15627e5fc919bdf8da5e9dd3aa761350eedbb0f26887bd7862ac9877b7d0b1b441d60704267c1bd685181e5860e87b2a3f293d65186ddc594095c7bd77daee87cd22d7bdd2564c810756a2b361c422cd037cb69e511a0cb07691b7742679a0c1b84e845cf97249329dc017dca5d6efe18b458828478990cc288264ac2d7a39fb9a06a546f9447d6348e2a2ea20a15deafb2abafd9393aa32465c4b78c9968bbaa443459a8746e4b5af5572eee02d32dbe0f13266be7968615a7b653413710786154626e01b9f58f21d6dd21762bbc41cfbea4eab5c385f24684d8947fbc443b0118f0876f2367287465ce1cf6deaa895474fc12e190d51fb1cd7eaa01fcc376a65fd26b1b484e2c492748cb392d194cb7cd91678d162eb56b142a00e2ecda98cda2d0376344811e115cc117c2b2c788d7cb41d8144f8d1f69b459d54abbc77fca78d51a7520fb1fcf8dc78b87f80c02e23c0a507b788bdbc2b9e3aee31f2f7020a26a19dc9ceb1f7e771773c1b1d17215cba9ee791eabc84278887f8255ae7d2f9fe6dc6b7b519f390e7ed680f7f6b1bd21cd752aef018708d81ea2f55dfecfe25733555c683f4bfd2dc7980e0080f5b783a25a1bc3f5cfb835a80211a841660aeb36d127bb8a07f1f007edbb0887da9621d9bc796eedca01ca694f4e4e60472e987ca25434641228e45537f7ea71d71fb0156f4a337acbc9268c878c5d54f6424d71b6fa8c3e4b7cd697ae16fc69b20ae61db4322fcdd756106bc7113faadf435a99bbe99b03ee8239bf6853a0657c2cd2774e89b1572ae8560b43ce6d191835693ac779d4265d3064ca9aeaa427235bcf88b4a177ec6ebc4dc88baf88001b9bf1ee49f7b03b4c39ca0e81423a7639b453733359737b2be59b10aff921ffe54e6e10fac73cdc5e2308eb02cf10bde83b8942be14aa72344796540aa59995fdc5508f3d7ed10ed695fd5fc97e7ff9999f624a4aa73432fd194a936775c012865be0fe669e44e0a6384ea5d38d91cfc36447404e9466de4bd2b2d31ff01c9ad125eff4c7254969a1f97994f0b875234e091985dc3d3efe2826947b01a8e9ff578b56e94b21ed005a3d1ff39806529cbcd14691a05cb6ec4577d97081cb82ad11d4c6579ca2c5db79805acbcbd0469efda49f97899312fff20cd501d801605c5e376d9c24d7bb97ba9b73401656ce9ab511512509023a318e6ee28f2d27093b5d840188392b18c6d94a7cf8a84575caa5f0a8269085a20b8a41338f159952b705df8df03e087d39dbdf085df79627ad42f9ba9e6387e7c88b01f630f7df8256089d88ea30d4810767336db24d8f12f19fead633a57adff52d066345af7d7820b8827518bd0c764906b6d734c2e2e1365317f4b2ee061365b65b1b7eb2f06bec0e6621445fb794d0ec0ba5cd5c10a9e7df913eb936427c26dcb17ba56e0bd70270bf650247e0bdf977965ce9806c0825e37dd23eb59c609fb82dcdc291793b9e0165fad96216ede4f6c1ed3625ce55c4591f5534a42fcaee5965ab6049fafc32880f2e7fc4715db0c7f40b2d57b52c0b9ba81e3fecee9594ca8c7f4d762edcbc3bd29505ba667472ef0f0e8db4f565d73f5dc0e949c9262c2f4cfcfc856064d3435d7220b3ddd8039b410cd4f395c386dafbede10fb48bfef43ae907ef5720b154acf9d01eff8481b2b1c0e525593c47f43e017054ca7cf0b0e97340c7f7c4574cebd8f775f455343a9aca6aafbc2e96fdc5c89cbdf601d96e37cdc18a78ac407705e8330332dcf4313edcdc154fafae15f7469656efc4282c5408ddb85cde564251b6ff05fd91fd7f9f66a6f6da1025ce18197cb6ae963d9ad7ba7301399032b4216e9323f0b6087c5c85324c77946a33638f39ccce8a4e4a277ac54a6b46828196ad3c2e50975d21412baa223b07ea1f3cae9e1347977ec68e4029bcc7047341b47b9ab94bd1da0fb9f2b574883f61301558e59f504b1487d5ff094c508ab1a3c853c4338c5bdc308f0d73c33141d073591de48732c5ad47c1d14e84f75df757a6b1e9b75aedd4b7369229a8ae21ca823af368c03eed5a87d910d2286373d52729372da2e7404ffbbac5dcbd0dc2c7fc6f338d65548ca515e2cf1dfb474c45e9b4b5644b314793fabe92b02c63a9267fbf7a33a959b00552a3b49f992bd9f9286ec93b991d5817d7bbdcc39be66b381cfba69914c5a48089252989541c45610caf0248f4cfe855e17a01962165bb74df9efcd0827f6160f8d6bfa7b92d052879d5d97716ab26f2c73ad13047c91753a70ecf9f1062fd0eca231df3d7ba6e1e40e674d9e8d471ecd7bcbcc5a3322eae72bda3bba82b7ac4813f174786ac12abbfe2d25a04194883f4decfe0ce6f586ff291fc26f9d9693ceee3375e3f5f182f137221752f4befba88f1193d87d86ad1c1b7f676a74342dfd1ffeded6bceead67ea343f792edc71e11f727f83a9cb9da2fa74bbc72ebe72980a1778458cdca5feb8bd6b9364fedcc56718cc870e1b65d689998896c77d7b6e29937fb74c15858f663bb1c3355c72e4317d7e50991839523e5744319f34c61af3e68be9a3cbdc0e8c47d47c66d6179a95ee7ed063a4d7b3a2976addfb99706a63126959e8fc1feb70480fd489ceff4b3abb1021a67182cefe6db129de8e2626c3329b19a2fb03cb5671dd6b7737b7b0055ca4a8e43b536c947134bb1408f1c9e1492e15a9ae536e98f3b3a61257d6dcaed4e2ac1e07731835d453098e405b34122fbf13a2b58d55f065f82364f1c85c60cf9c9edb89bd8030bb21f29a8e6a5a4faa527a08d00d275f927bb60ac62de641d64b3a6e502c4f938cfcf0bafb0184dc0773f31e3cb2b362053e6cb43ee60077b259cc3bd0b04b5a4aa181dce6461348c633cc366030e9e5ed74cce26fe207d939fdf4145e4ac0a1959758d90d6c0be2fe30895dae5527bad8aef9f9aad239a742ec600e90a7889c834d0b2849b3bdc44195051bb293a57f9857bbe9ab42c8e1d963fabb7458270e59412ccee26981991fd7e9c3974614fafcf0f364de0a046042954c09167c6621b70ca16ef2d16165bd8fced4d264fee45299c4df82b9b00d35c4a3ea0260487a7caa591f29f2f6ae40b843cc35fc00aff34e5013b8b6e4da5cbdb539a229070088b3b91032735eb8fbd7cccbd2ca8d62b4e9208869426ea24ad1ce607a2eacc51c25da99b388d3162e3acf22c95bee49997749a7eb1311f2a07c97c48c1bf5380a29878ca4dda05d96e2dd021f6747788fe1346ea852ba201c8b08cf4506d1f7354fbc20e0364e9c1c474f17f9e5b70688c60352a19c5afc0209f1febfdd7c27a401b531a1daedafd06c48117970bf498e737b473da62bc7bb53fd74f5948781b3014e28eb1def1f09ce4d83696bf9a6f5cdaa20e7dbbda9e3c137c904caaa3b545f813b5b6c4b7eb6d7a06aaa5b10fa2396426182b1c517bb91ca29f19379f374bc1c206083b720dbe530d674ac5d6b4772b28bc5ccb9f24965f883dcdc5ac6e90df3ddce3575620e2fb74496922f3fd31d7ca9bec035213c8694788a010e85bd996710977377fbb9197f4ccb9b2f5254e657beef84f20090756dac541f701f6822b4a63d733582b93cb4841ae4ec567c5488c9e12196af2f20325d5abb8f78a14843582f6441bc8e40f1f1fd3398f8599876ad682712fb00907801dde8eb3250d914aa3cc0ab5a77350e6a69a7a11ffc396c16cac2d5d9ae81081552221f69ab550ddc6b3f63e0d7b256088154b923a02ac0c2d7a1090386b8fa5bbba6ae2024b9ceff3caa82d7879b91d9afb6e64e245786ed88c02006a923c1f79e60adb4acd18b6a6b294e713e6a839ab57850372a8d58d1ced28d3d2ca288f0b4ca7c7997ac4e17690d1b4b7b86a7c1949499b4a31e7ae461473c52f59308f22e2e62aba6c420d1987580a024c3a2882b9fd2172f1e7067ee89f1eed1267b34159630f12eaf9e2bab31acacd69651a5efb425f39b4543fab08b0593fcbda739385461f6d7751edbdd774609ad3c11d6adb3b5d2c6f7f3a6b1d231b885061f2a8251d254e8a913e48e57c51d33d973c76e09bd755c6c739fe21797f75be95fda6bd7f1a452763ec74ca61b5b2a52bd7610ee6d7778706c188a83b6af8cb47cfd571d485a6290c85c1875790ccdf6c804a2928f4f932c58a27685df5bf050bd99b68fdd594ab07c32b609ed13d2d9563b3fa1c10cf2e34e9b14ba85092b088be27c2152205d25a0c0be07feecb69c1bef30e7483f5c071042bb26be2670146cb85be9492d79789ec33daf5cfe060d41efd0e24eb048c37b6dd49f4d05a8fde9cc0a70507bca47bb5a0dfe359d9a5b8c9f7475d7fe61daaa0c9bbba68aed43016ada43c64542ade42965f8b1bd0642c3d63b536d44ef94333fb8d6c2ed457ce3dfd21cf50c9ad7267aa92592b5b0fbb5d6b926ba81a05533b01739b3738912cf3e32b66c6a53cee560596cf89eca84b39057d8b7a9bff02152e99dbf0f395361b5f27665202d46da63b2421cf09b9306a6275e4e7cbd127e7d86d11978c5078a65b724a393cca412be0a3ce5e5b06c8432afa7a2667132b2f200cc5f321f0cc5ff151047bd15b515b6503419a3cffb67fe0d309c6d3be70ae0fbcfb90a700e1497fd1b8951a3010fa72dbe45f7ea7a9efadc745d84b5aee34101e2f2d74069989922d6978cced22e7601f7f1278be2d4b4ae5979a94d9432c649f70e7a46fc166950139eaf10d4b9c64b31a4641b046738c6ddd63820516def6376ceda28e1be7aeae824d170243c2ff7075373f9960fdbe37c70281f1e97ab0cef7edb80dbd7c04a1829e0348358f94f399f04dcbbc617c1edcad9dcad8b4bb332ce66067ad703ac1a75897bb4af3abf59646054d788937cb79786c4a35b5dd653d38e3a140f7420ea0256e2ca436ab57cd7b2ff9c45593f9af5ea57c8e0170c94db9f2b24a88001f470e5bb1e37ba311f3c75d8f1fd25e05046826decf2d0b55b909461f53b2b6069d6288a97c0fc392fdb99acdd9afd95cae45e61be5a38767acb3767abb9cbc5dabcf28caef8ef7721372cd28a9ab547f72f3a511d75ed051a6f8bb04e0231a34c5eb566b93226cff19fc2cbbaee169d849d8601b057a114c61d071e23a39fc634d274a387658ec163fe6669d02bb14ce41824b77b5c6055904bf2c4cd9be10ba001ba1c20815c55ac83e389eaa694daddfd69aef5d05e2920921a26ef79b85a038cbc0fc71e97c31c920abc6a7b0a466d238652d37c53b1079d4f0d6e031802b1a391cc3fe31b89c7feb1dfebe9b52d8ab0b1c88501c980267205ee57fad9fe6efcd551546f34deed22ccb668bc268ce4d4967a452a8ab593be6f783bcf2474fc775120edaebf68f04162f9490f089689b3e9125fbc75a4509e7d53f8762750be82e8cbfb70d0fa4fb604944e2a410392486e389cf8be9b874912886ac8244614fedb0dad811cdfda8dcbcb611f46b026ff4fb89a4305ea9e6a1b08c9e52f1f6ca2dc758b8ae2d87802316ac533148a3e6861b7d71d52a5f9e92a25f34ab2002bddda8f10f21db274f7630b97399340e6fb1f9eac788b386a9c34c4b08c9806d85f4376e03817709b991a2497e732a189862f9a74b0ec2d3a49d211de74f82a31e747ed59a61dec523a89aa387ec40c6bba98a12c49fc5caec6e116d09c7cba432f6aedf42f6b6b0eacfbcfbcb6e85520ce5bebcf516b3914349a5f3ed2cbf397f224b6e96510143d2727d71a4be8c696ecf2f83c0ca18636f881f9c0736cf61c25c9e6ceb3c6b6fb67f187352da4b195d2fa60ff5791ec4ff0b98ca81cd03f79b5060d3e13a01c36dd188adf2723568adf827ae1a3196dfd7add8b102bfe397fd4ca28355b4154ac71c7d2853cce3d56d2c2b2c57c7a137c9a2e4a9e8bb247e4659c31895bb5acafe44f71496b3a9bb17ef52d0e4b4323f0a93b09565acc00b96f3524ca8beda4050d5541773a9995af72ce05b856c31638f8698b07d62dfe57e5322e15e475a41c417e789ef540d3edb0024b083ce72dfbc1158df1ead83f4fbbaf4840e26e4785593919f28a02b5c2f82d483a9cc5f6495865eafddf67a0aed922ee8bd4eb290958f35488320f2197bc176668db3d680cbdb7fe6b24dfca27308923845c621e847c81a6f685a53be9a12f03cf79b2f225a1e7f2bf75a2b4dcfa3214aac61539bf9042aa25e13bd478631e6bf7fba35aa4335ca32352a73c04aff103925a04770ea7b08aa2d7297520b4f48efc3523ae95fce44be34a19be2779c81df6328e59a1452cd557c47a55175d116d981bb372a9a0dea4a5c19cc6c5c06871274eba13ed5265b12c9c686ea27f5781a9a989c5be3c95bdc3d81b329db5d01b1d4ec28bf44a1bcb05918373020e7d93fb2e28c66f48f7c2bc609e8697c997830b4645b00c413e8da7f09e7f1943b647cabf8af23d9c4094f321b69461581ff91b566c1d208e465349bddf9ffc2fa678a05d735ce07d4dcf09558497edc56601f6e43f001bb73234bc5e46c0704e71e060e1eb16a81299e6d60309980e27b786c8baa0d2af88f61ec8ec22ee42deb1593b5578a28499de2141b474d8ea5433010c44a93370497bad5655855520f637b47a1e6526090abb7b0b0d791b27b6818d546bcd8bef4d716c1ff6acbdfb22bae3eb42b67212b5a73030c6ea6138a5d302c5c03894ffdcfa37943bde549eb5341e1e2d25913f7a83f5a4a4b0186cf30678bb618061012220f2d58ccaa361002846b6ac00d01a055e6e6ffb6d232d1c6f799883beece9344132fadaafa72d5302542c90d0316377d5238775688536830124fc0c24c222a378bec45529a24e4d2ae61abd04a4f2e8eff1656d8b5acbe1ff92abecec7b22bf3d6b78ec99d6dfe9326fe4f4ac6c8558d212e5f957102c6ba4d4ba664edfca4da22c178ad6d633b300f5bf48b96ed4865cd4cef61d68584be86cd779a7f70028955ef04667b112530dfdc199e86b80dbe8dc066e77df6a6521e9ef81066b0671e41a3a9527be50a25f3e910e22461fec64d636af6b4f1aaa3b220a0ff668f763ff93edf678034da0b1d48305ddab3c00a0309b421dbc9d857e3ed74e91d75c385e4f5d4d3ad0e960199016d5462a695f1cbf206655d18360bcdf56029c0a2fb2ce29516fde7c14e70eb6206a79d36050ebfaffd5d65f69108b2739031872619dc9236e7ad1f06793276028a9b23ca4b060322a468ba70cf4d382cea5f61c3ab2f88dece8d31c120da7e520979d41abbba137190a40b0b92a8c4e4d33da4f8fd3c95380d780477eaac1ddd60557890e4a23222443d032a6d6065b57a6b18e0c528bd92ecbbad093369216f1fae23757d9215d0c04696f9e3317702eefe37df2c16ac15301cfa39eb3ea1f6a23e3cde4cab15185178052383aea6cc656c375384fd694c6588decb997d09473a5e5d9f976ce87dea4f73ecd1272d3dc0ffac8c76524342af49e6732898cca46cf710089bf65afb90289909012dc868f9c5758828a9a5cca0151939ae0a903b75ecde3940654aa0ce2db252abb37c12ca6d53b071f8996bc67c8862db89a0ebdfd3bb0ffb9f6206752e4376e39464087277190500364c390599af8c88791f3309ae377206e99ff9b6fbcd3ffe51619c797c12fccdadcabb706afc0920629ee87b7f5a052f0ebadfb82a8db8dbdbcdeafcf63809b65e3d5bf6c793edc1a83b443a51e042541a230b9821da525953485eb3378aa65944b19c0aac58e7b81f02beb64f04799c1e925f531d20c4206a46eb0177e97e1f9a457be22acca57194e6b3bbb0295bd906691e11ca70013a200da65c5582b33d9c30c23c0a3faee84fd32ee550cf7da0c817dc3589017e4602f7e531af7a36d666cae6e5fa00554774abcd7de0b5d16261f0e16ef95baab1b8f9f6d4634eec57a70a4b41cf3e49f322ea447f389fe11986c12f267af42edc1ea58f7ce0948f87401e251470869be7d07c6fc0a78d81bd99495c2e6e2695e87c76f40b40f62f396fd0b76a1d0c74b5a7068ac7c27bfbdb1cb35896336abfdb8f12b52bd53f8f1728d6081cd9fadae15ec75552d2dc6732bfc5ab4988d0b643ef33ae350049ac16e4c7c8f01c8586b1475e01ff3c859761f76614e25c6a28d2198f6c5697808df3e025b58284e0ee3d2806b985280dc0bdf4216569a09cb3bbf05f756d316b753f10336ef57295e093c38b952cfbac506d7d4243f3ce5a7f272bd9b56a2a7efeeb17394b4b2e9c1721f9dec6dcfe3c23183fadf6022e0a723bcd97198a9208eed09b2a8ad0d9c5207be5b23c4ff30ce0a49f5836123229d32fc62a0d41e9d746c1adf15fb85d7088c57e610f2fd72e70d3fd49c1cde1f83326f071188d482c051370c41a1aadac4e0f6ed258b8962673077f2a49cbfd1959dc348bcbf0b5c0accb9cf4402788ffd54927744ff2e218e7466aea52c4a852075cce70b36e35e969b824c09c87e171676bac2419d33e7fe4cf23a88ece36e4b928ef75a436921cb04942af20ba36106607ac90465ad3d8416635df9f87bb94d253d42a7d3f3edb107578f150392de5a9f7084823922ac5906ddf9b7ece2e3cb199a56775497bc625b5b0cbb71b05f8537e4b74228e825213a4c3ec98fed422c4bae92a4fd70b73eb4f6d0490b33162fb3943e18b900b9bfa47a07f2ffac02ece859216c4cdc46e01e67dab9e91b3c03cef22edb5867b5a72da481ea0442bd3c49e39fa76268c1db9f86868bf1427c3045175635016537d147a81c910de6022c654fc15f322367c5491a4e2afc78b408e7984b1bb7f981a6d0d81614e552d5c3366a29f969ca32d4dbeeba1c59b0e151740fb30513cf2cde83d8886a65dcbfaec8575ae6e04f0701b6dc16fd2081ff334184de52c7c7b73493521ea8101cc1ec62b4c3de876889b8d0ba46f2eadb0011b13c1e7791b39c18c9c5f8bb750f527cd69fdb8555ee2f608d4832f831522ec340abdd67d850013a7c3199b105631733a50110ad2beeda5e3a3e0a50dca85024cffb881e050c5da827d77155ccc0db24c146ef0bb303aa6b03be0e748f09d4cea0fdde3d0d9db05e51c2a47525c11ebb7953bc177fbb3d9f2663b18a362dfe5f03f4756905ac414ed00a52190048ed48aa67e323180ddaa074ea572807d11bd3b5d4ce1b87cfc4fc58cb4ec7fe2b689b28e3e9e42d840dd8d25c023f5a5e40c4bf2ebe6b4e4a7d3e9c2300b854539f095add0a9cfc94fbaa83f4d1c04ee7f69b000ccb0c10118dd9eeb490f9a355f2dc81d1ce3ad25762021fdf89a43202317a9cc8d7c26f03285653d135466510e4ffdebdd7dbe409832703840a0a5129c4596f3d646d5b978ebc6ece823243e23b3ab7d3a16416803a28c8f03f3607020278988a7b7b807f88678475cb49915cbc366b7c8f26130bd7a788c742d7b97e66c4c664daee4b69abfc456a8f1e176f5f8c425cbf50b8ec88fa7134b4b1462202dd22771f18f33b9697ed254f47cfe2a2f5f6156f198a5271902b9ce4152fda672715102d41f29a6e6e0f567ab5ff9a6156c117bc46d1dbac1920980486806746eb8a6319d2b14d6f731121da8052dc54c6f57f840e8c8a49b26065b3b2562fe587c38088310cdae23186de849c5454184c7af3072344e5f3b2c2b130121aea1c660ff94d4e6de243ac178ff0d796427cec72ef869289856221bf72495866ffced9868f574c1e203e4d47541822d25a11dd1e3fbd51505a235d013b77cc4d2e330186c9e991076ec4d7ba4a6ecdc60aa25872c87f6cab624fd0acab42acfc6027a7739b0723c4aeea03a01bceae7a0b0daefbdf1894545ae6e92d0848987494e035fa1f27d11a794a9c8321d1774f19273ea06d747c02947fb4202f5da45dc90c401875994e117ab3e09bb4c57ccd623eabe201580fc471db933d0f81bb41a74db16c830339ef2e6a19b40cea7b4c371da176877b05783b4ea22dc8de2c05bfc76de6a213b808b9072dc0cd8c50d7329b8f50c5a81c1773d18283f620afa3ae7e99672adea73a11d258e30dd8f8425187dc9411b3901cf591dd76f30df3d5b512ae4181f1c331fcca691db8adf7bcde0e9928782d7947350274e649a98e708d358cf4e5f7826a01b9de79b942200308a09f6f0f4042e0be8cf099b26f5f6be884af616829c5e7a51b2b8ec15f04408c5aa74e176bc6e628e694e5cbaed1ff8674a1b9f266f6be80e6282bda4e9c4c1d10dca54dda29aea8bafc19eacc020c3e3eed80b0e2e6b01b16f04001aac9f325a13069b667ac2a23ef57e830bdad811be09cb09cf998bf5397615d744600b03ffa22f32d1a2e3c80533e0c276e0ff2b763c4c3798c36edb08ed30266ec462fc6cfb69b8f43f487a05e4c09c0edb7ffd9494aa1bb6cb22150b67b48f426c558058aff25c375449525c84af71862b0b61434b036c90753bf292ed0421712ed56166a847ae397024dffa14a2d8bfda1b17addffad456d1c738c851248e7c6745f4470e92b52a57c550a67e8cea4bbd6c469726c210fe3404459277d33073071276463c1fd0014bcd93682f5cbe950342db29731a22fba34dac06f70f10acd72fc9af4da0a4b3aa1d60e3c27f60a71976e6f9a9f67d2a3105cd8aea87572ebdb1f30e3dde0d153018283a5a934dbe49120ffb7a50cb85437dc207f197329d5dacc7df685f71434b5efc092b13257446c5baa83494258617ed50db1a5fb2a5488ec4bc7c09bf4bac8e9f6b101f08c9ea650a6f57ec5a9da317aaf40d59e2a466ed44b679dbe2c864f2cfe00963e76a2a77c5649186e598178932075b171a9ec967291dfe3208e4c3db4960cd3647b7875a33884691174207f1492d9cc50cfbee28ab9ace3b9a51fc3f8a1d6e078c5a0d4e5275557919a7d22b659a46e0bd431ab18453ba443949dcd0f53e06ebfec911981a297ef3362c828c7d675ae6daf59cc19f288c31c65c7bf3d9c68612ffdb024afa9e4ca9d0db5780102432e2024755c1fbe9969cfcfd61e474da30f9711ac8dbb5164f77bde08694d77f5221288d9965910938c4c44fd08069ef012109aa152b2600c61e80cda3bfe97d37a652b1f2abe69cd275b0e2e1b50c11d45d958ea84347036242ae0ba114279b93a2583ccf9438ca9269d0522f17fece1ada79c8ed9ced849bba03c18369955a6858053327c2380be3d74ef50891be9bb027cfd14b183a44187def1b858b2d0dc926b673c7cdb1c72c7272ffb3a8df4fdf218542c34c6b0824eb5729b1511e2d025acb9c69f965c1af10cec7a9e6901ab04f61117213859022475a97c0548d0bee9c71aa361f76ab923fef7899cc46f7f0a7fe650aa39e4276d8030593ad8ee485fcea10b82cdcf543e1bc7930572aae992e3cadb753d4a271b173fec44ef44c7f3d40b0c2629f34d058eb59f3eeea24ebef8351b9006bfc07fd8a5a5fcc52fc3938fa26561d4ed9ac0b1cd54e949bc7675b56d81259010c450025d6e2599c95f0b77d56727919db380cc20b3a618abcb9ebf66b33643f5c2948355c7dabc97c74c2947899643df08c6cf19f2d45a01d85d01ca480b993d05a39ec7ba6a033faa2b46c5605d50be8789ff8053ee199dc0ba50c3ee3355fe2fd9494452401cad4368f75b06ad1c679dfb648eaae24df7881f1c416e25c1f76f8467ff301b008c50a530a0ea5739a01bb40327d0fd2eb8c18e225369124c997784641ff22aa8290c51f08f644d375c6aea7c42ffb975102eaec8ffb90bcd4b810edc592ea37cbe51015b93b3d32855949945241c738f9c7977ca0f152286b727907af760d3200d7ef3b823ba4d26b790772857aaae1781c8e4abb9c9864c1364c8a08dc7e77c3261501e92f62e79e90ebaffd71aedfcb7b2acb1ea330824509d45e7f32dc6066e2f2548052a6484ba3931bae2cb2d8157e327b37cc4e83c96ac885d98dd7ac8b0dcfcdc27a6585f8ec167820d968297e66d5d8174196497473bcadb185241547035ba3013329bb4c13ba7a0cc3db503b14647af4d6a3e032d7fbb60888a682a86e991408741381ad81b5b479618282684e19ee6a37983969aaed7c175072e0b74759dbb36fa4d3691ef040745093470f6e90af51c8d82bdce8d03d4f75f4e44ae6334a9bb37f8680bd2bef7304916d26ffc9d3cf156ec107d73497faf8c316c372d81d77ec935bac8a37aa76f5f662f986a825bf1d34160d41cf72ba71824681ac524a3ffbff4f91e1b9c5d475f82a2abb5501c87f2e97bd3978382c8a385d09e3528b257d254aba1bade39657d25af9de05041a2f5eca083ec9cc13bca9ae3e51c2dff785ea3b87a72dddb4720662a6dc40513967c3491a330462c27d8b883a12fd0c736ab69a34fbcacef5e7942468879b777b395f5a71e6941a1a6d00806218c3b4ee251d30ff37c27653622f1c414b8c93c4dbac92bc9daff223771d383748482ee493f1e039211a7146ea24410798aadca100b9884411c22bdfe6756d7fdee6f15136a101b5a039759528cdd500c65579d3cd49a8f7bc627b151bc2b118ad7d7482c3098f03ff193b2ca078d7b4ee93cc5f4663e6c30a5829cd7087b861def9fb82730bccfe44b07f857969c2fbaeed381a8d6d958e067928b54c35d2a81822eb9cf12a1ff3ffeaa8bdaef38b955556160748f9b1c26b27d6164c5e1b3c92f96d7fd744463fbb87e5134ad8aecd19667ee536806fe03493e8c627070771d7599de74af75ceb6fd53e8d565b3c2be904bbdb3bfb7252ebff4dff5663fb704733c54d4286be890eafd0a0c8c82042309c311f8b0849ea1160ddeddbb23d37fe5ffb280e89f99eccb3474cf833e45c092f1360805659c9076fc061a172d958b38628cea6f3c0a4b625a0043c3b59118af1fec66ca9df6aa16f380e4e96d888ec45af098de87367281300d195715ca5ec3838dd91f61c90272024b3159f4ae40b1fc91d0a74e373b9c46eb609a69dcfa737a3f51fe21f9e2cccdf21fdebe545edf8503434cbf17815874a75b43c703edf958562e0549ae9ac3accd892c2e4bd943cc6af0a63116e46c0882528040c787e0ecaa67ff0bd8386794392767337b894cb5e135d976d70faad41e20a1282d30767927ba407ab52607f7380ef0bb2aa6caa165146abfb15417c58e60667e23e15e26793a7a59664f81190c79cb8c5202ba17f08e04e3ebb558769fd805e4d0eeea458da4da15f88457715f8936b7e6bb6b6dbb75dd05ff898f9066307596c31c349256308d44622a545ab2450bd0e1c5772b1dfc85bbba9ace711b8ec105a57428f68a7f0d5e1fd19357258cd63a74a845a5f8f523ed9353454a4b8fc6426d28b1b98c33fa794332ba2c1f75a986bae4aa932beca7fde48014495e9e17bd1fea836d671d6422298ee99ad1d3d49e59f4d6f0b27a14d078c2fad2fa0bcdff74ac0b6a4c78706fdfce8b48d15b3f51371d44ecb7d51d5d7575ad219bdca463daed7d839258df61025910b81ec322e5318c886f0b5a2709742ae12995283c97d64ea99d8df8d58df8b6e226cc86158c154c163ee6b4d860f468c882cc8c206b9f7a0c5f098c55f4dc46471be8be4ef71c512bbbc051d2da0e5c17fbf97bf7461b8120d4ea5f744354c8666eba3298ddc92caebb733c445bc888e43f4f60dc473e542091ae6195d73efde3800697140d3e842c7dec3b8142fd4a0d08be6b0fc3689db7f832866efb4dbddcc4ef239e22c240521ac1406aa9e6e18b918a27aa8436c4b8f2cbb909429bebf35d14c859e043f74c2b8839c609b50f15213c7e88e34ceea95f75af7f9dece31c8305e6ba8ebdf1ebb15b1cfb45d4067173a9341b05d6f1431459640d1084f997292f9f45f6fe127d66bd0139083afcc339ed728f3b0032dad475522f89a7e0a5e0a59cfa1d27a1e4775acd5885087b5e084a920bf3eabeff5acf0a5d9b7867172bcab19f2012366b5da7c15abae05a51cd8611a137e133276070f3e0c51f804c3f44b9f2035d08ef5eb2a00987cc745f253213bcd2dfa1f85f4fc1a3fd71b4170a2a5d9100eb2a6cfbcd9a84a95e2ca2b8d882e11b9bdcb55eaa6c224de46bdd5522902434001fe25bdd5ac9ad265f0f0156500ea9624f92510e99ddbb4295831c68a9041506051a83f009449b74172e50429a615642da10963b101c95305d257bfe61578a7e1deba49a2f1e724b4c4af8f854f7c0b79e5dff42f385fed313ac7db821f55ed6f36d71ef151a7041d1c1331cddc976d1deec45f8a4c985f30b125479161931b63218147f787fb86a927ee14749bb21468f2e373f1b64803c930a808a5a725ffead4ae21c8d2027c3a5d82347975fd1c8be4e43db12d00d53a7d07b0dd2c3686186a5740347325efdbc524118da377ae86f53da3ad672de8a5a8102a7128e210f93fa7aef139894b0bcbfffb8375db2bc5f811a658a083ce2f9af247b598cd0eabce30f817e439f922e556575a773dbbce36efbd3f11c9409d17f2b348b215e1127fa015437d66897f4caa75d8aa6adbbeee255c27aaf4e0f853fb03cfb469c9812f98f301d338273a191c4be23d53b52e729f3c07b585c740071f6a93b5d394c50a083381767734f2eb331bc30167e77f032e6e04ecc8850efb505d9e44a47ececd0f72f12a65d965528b38d0830421449a5b4d1915747918b3c53c2a87247f534227695ac50cf8852ac1677884df4de8d22827299dd71289d8d84f517bbde0f3343a5025c3b6ea513f4c2487e5cc5fd45cfee45934c95cdbb595ee4ac3e4dc6bc276a63f9eecd08032250dbced688da7f5133c50e6ff0577af49b7af361b8f172934bca2723085a7f8849539d018952d1fa1155d88166f2a65297a6667188b8bad0141d9e2cf18f266d3ca0b69c2b67f974ca2041f7dfb7285d9d41cc8cd67f124785338f12a6fdd422f92fa6eb0d52cbc00ff849f30bdef69d715fe95b5fa6e0e408bf5fea1344af9976210274c3549db8b742f2a591a77ca7ffe0812a1ede35bee920f7d527be51f0694a1efb43e02abd8be853d447af07154e370335bf392b6724852e46588025249a304085bad7ac068876e326bc446b5fe10e168479a7e9c2cdf31ecdb2d10b3b8992a82a33eab56bc126754f90998f46a5c2e4e0bc875295e111166831e52918374a6f12a799b0dc539a35f9576a137ecca9b5652957ed53474f9e59a1e5bfda849b08cd548e2819ada1661fa8f8bdf182f81379a2b6d087622b8ee1043aa9f26899090e79b3c129456a5ae4583a0807581346b57d0d7ee26a70400b0d01a6af52639aa55e22a75a60707d1e2be1abdfdd9d0a05e7cb84d1485195efe3c0295cfd8f744b439c8baa321e656fd2d9a554613be5fb173202b827cdf8f3fa8fca205a8fcaa9f59dff02a5206fb310e8a99c34bc4a9d34a5272e20c693bff616d0526e3ebb109a0fcf0a3e5d1aca61be4940884874b5d3fcbad837b08676c67b4cd76f3719a8b3e9b81f27b03791a5a3902c150188408f9cd2eaf1e1940a1dcde060b819d6e80a65ec9b834b8a26d2f479a30f864b240a21454820183fbb66ef5cd7bd03125deff418c5015029c529c2539aa07063f59b2068d7e4376109087bdf91cbf38c42cbc3f36ef5d52377fe320a07da7de5f9a2c12c93f220f4836e9df0b7fb249f989ebd6e094ef58bd4c21bb25605bdcec80b4e87bb845b9d0307ad71c175716c871f86182d04a48837cbcf197b9b655ae44d956bf6143aeaa8c9cb5cf14937a32f1dc59e8c045484b00248a4e4f36ff3545a895610c94f5b89cc7d841a74de2f46663dade35f51760ccb43d502cb351a41900d6d6041da4746a65a03a3937888c5794b78008d43e582045abe95f36c68e302bbd79fcb935bb7cb4020fbf0b6c20751f8e7bbc6fdfab416adddfafeed790f0ae08b6aa03c69fdd70fe5c7e4a823232c9fd3474677c18394bcbda8560c7491b5304f150a787f6e38cb4d5ff190044cec18beead238e7d9f437ab1813111c32f6bf024fb671a59b2ed73d96a4536de612f0238d1b902ba0f900c4a55fc29ac7aeb230480fd98562f7e12b8fcaf290ad2f661c02cb2596fc0ac779567ab3a2f6a71dbd931710c20e889dce5b173e5313d65869cc0d3702e79990df3054c9b5948c9c6808ad9784f124cb8b2f132559393e5988858a760a6016d358516dd9ce6177b46a4175aa6e4e0773dc631e1f88de0633e6bb2974ab1679d8b5868ed4d222b66cc539c3c9e57095d5bb51067e9fd8aef23b247c6241d90ed9c438154428cfbc382252e278be66be7d9f29d51f93ceff1d8691d0649e22556ab5771f4e6460ed81074b12a72690db5acf6481982e96e4d9c08142c7e14ec269b8484adb52afb166af60f2281e5a9498d8841f5dddd1d1e3eeb3e28ae47a174cb8f6da2255d13afe876a5ca64e16ee2d6168417686a78a991d99bed0c93bdb582cfd8063f7122d8b4acee92cf3d95b32452578a5693842d0864ee9d7b15d633dc36603ad369b7310fdfdf667327cce057876fb1236b1670ee982efaa2f6c9f53ce3cf7573276611ba1e507355f17083c041705c904fae439440fbfbf46c1b706e817021a91753927a74579942aebf3cf6b69d4207c9e6b938ae14c1d53dc26bc476eaaaed9c5f71dc4aacb9733bed4a0f78d08e04a2cd21f59de9fcd1569a568112ef3966d2d96b25eb2e6ed57e303be188d5fd0703350b6b6ec6977b3565dc0fea200dc2f6de25a13322ad8c587c77a7b11186d4890a768f7e3ab0f9ada472a4040baa627fdc4b5cc79045e7b414d7037c4a5783a94b968642755388dab4d5ee76b06255018ec254e2e5618ecb5621a4363897cc7860338ff5f94fd217563a17caaf7e151943f7f00189b7bafc736ce5d9dc1c5f19aecc463ecd169dfcd730099e330b9541a3515df231b42a08c4a88cff8a74cec90d05bf2cbbf39201d4940f71f306c34aad57bd544cb33f47d91dac429380b5fa44e78bdd6a3adb7a237d77ba98ca544e1cdd2320179498d9e5f94e9a1eb135764649a99aa9ca8a80a189d2bcb1779b4baf8b5b70e177be26064dad55b159f52fbfea75af3427d3eac4cf7acd8e20bcc20e5a3ad0bb0a4c774894da966e1ca5fb6825cb71fbd2066d1312079b57f1a7c6a8f1527d0321bd6609e560004f4bf00f60a772e0da1a9642738173514187fe6bf14286648fa2bfae063b92cf18beac27cd41ee7023e0f487b1ff4a5c2bb602ed960bb10103c5ee3f14e8dc0304c7bf62099fd87ce6a13795047f30885aca76c0bd03eb6f177e0279b0b27b8cc62ed5f3aa57fe2a5b85373d70e0b5c3627eff26aa9f34ef902ab0f217945135bfef030b4a20f3c4eee382e68828f880087777588fb5b29d4df2cc6b4d30fbf6e66cc7f60bc0de4fe90fa876392b1a5bf0b9e44338c29ecd889a235c2721fc2806fd09c3282693a109b4e5eb3a2ddb01b61eb03c1fde56d3144676e3ecb38f9ad309b69da1860ea76eee4a298319ef43cd3188eb6dfcf82bfca5e92a1e2cefe09d58cb25348b0100baaff3cc601fc5773e8a02df64dd9fb524f169f2729dffd1a71c9afd12205c3f93a686fceef20a59907be7409ef9048cfaaa58c8172446e9f6b49853f45f466d25eb782817994d4ddb4f1d56de9dc0647f84a4177ee1d2c8b5e388f75c5ff1c70256d76bf40eac7a31caf61ed49f71fe0b9582ab626532da3d7405ce6bb1aaf1f9aab425d6899e3dcf442ca076fe6d94c4f39983d6c62cf36e01771e62df1fea3b57c92ba9b4d82cdf99293b578da1e059e34183f7a7804a56789e4ac85db1e95559ddff9797d840892cf02c91ff329bf21f7358e54a6f51d3e51ccf66869d6684f4774452ba04309fb2e7bb1729120e67acd64c204e4fc2e089a16f3a015e042e1ef9cfc48c4dc0d6e40295f3a01bf269485d8cca6e1ecbecd99223727c8c29e5dd61dfc61cf1710a0767488b32bc39a8a0dd96547c3b311db777a342b9e01e68896f96ff867bc7a72c270f0225d716f31d9408e26cf071af0a80ca6ba4cd7c1cc5ab37aecd45b93207ff74609c05f8256fd67e2e336d3ef12b099edff200303a6b545755ccac3d95577a48fb5781b968ee0994948b1192033b1eb0f8dfe0a0ea5929fc435e7662805f5eaedc13af4636af6732a99f039a9d183adbb111c90196ea3e7ab35625a5de96f78148a20c2348dcffee324e1179d16de0651a31036e9c3a5723b66e55e93f4ab8df260f72ec868ffa0d7e852b9d9c0eab73b34fecc81b6ee677605f91781913172e5df618f81edc5ee7bcc6b2520e384214328a1cd7a9be4dadb87a17e041b4ad54943b683ee373ed511d176727470eda5f8cac3a85a38451bff17b9cd401ccb11f66ffbc1d026f0de5a6f3f81e74a90d22c721f37fca6535841d468feb4c9f993f245f0fdf7418026e3f5dfc8b8ef215aa57a4707063da2d52a1ee82f45b122cb57f296b2690082f735513205f9492a1eacb1b474f47e0ebe2010905798e8919ddae431c31eff90a43f0f391c656283df38d1e560a0d18a9c1adab2c33fa07a2ed70e50c5993e78f152b268042690214c7267bd64fd3f07d5dde55428d2787b4db663580770a3c3d2fe58c070d16804239dec5f01846a8021df1cc768e818af6de09535edceecbe3aa571d4e8b598be950726322d82d6f4aafd4e506cb6689e849e96601456c0f5356cfaae3310c91d4b99308d06d173cf6c50b881d256fab25dca87f50d4bc1dfb7d106320c38d2a17f279226e4c939780d3861f9e62735eafe7bd4580229de73c62f332415eca497a8fe86ca7ec698a098db8165b3794500aa14e8335fdff277ae44800394489c171b00dabed6a2203ced142c0752ba90e96e507aa1ccbe10a89ffe9a0673c2f230d1c086fd0c77f58dfb06fe5a60af72159c20f6965d5ad20362b8ccbb04eace991e5332522a537fe3b756ad6c3922067e7c52a70913d146554a5a9a7b54657c07088307d48642e0936330040d8d54985de2522994102b4c20310bcd39540dbeecce7f288b2929140295fc0beb2c3e5f4bedbb47170612dffba0fd7e2f79566d3aa929994eb0389971331b95a7b3547f1fb1459785b0692c743004f37bedb10af7483e567f36b82ef509a1e96b4bc4d7aa6a053a9ecb1467c1f222f617b6a3acecf3bd192e79e882a17a56d3705fb4182fbfd8829d0f5449e95a69bb4021869a3533e5997a82466d6bd5d9bf08ea3291ef051cffa3dfa4c568dc6464d38585a13e7e899556d003c8a1a443b2c7058ba127fb4ec6f311b2fbf1a4969c50bdf8e561538f3e51b189df39c8fea60b6d8ad9d42221e95eb5043060d6332270574c977667819563cb1cf5453bb551f42044525644f0502d3b7f8a7c1dcfe10189ecf1c467a7b3966968131ee57662f3ff61b447d1879fbf1caef4c1c14122c54910e618a0ec18044b7e62471a0f04a300faca0fda127adf13114d7ac615a901ce8cc51e3eebf4a30a229b71901e200ef2562ca9ac1460a74d1303a20c924ed342e993ad897b4377c2643942134c0d0bb5d538edfbf548dc49766235cd27150206d200d7bd19b33f5923ca7edf4bbbc87da1338fcca4286d5e23830d89b66d7656aee5fadd77651df4669b2c9de8e10a1ed8ab65977e280ae06644b2da12b73647c1a71aa06c247852b724b184e891f8d838f9c7dd6dde721d1982826601073de43f9b34c5fae5f9f2e683847dd42facf965d253fa0703eac19944dd407a4aeac109c163f5937992aff93632012e5ee0ad1e00151b9a6757d623ad7049046d33fdb4f427a6eada0318ca1b09794b4743e33ec9428b2049eb2f22b08ee04adff2ab55f224fea4ca587fccbc2fecb22a212c22cd77b61093dbcf01435a3a3de02be13a5f3b1421490f3eae563773fc8afd012348115c5fd579085438f3a2fbdfe2e54130b219296a8bf5ef44596f061da8c073235453373e86ad6c874be5fa6d74907416801b7dc18de6ff241faa30615c5c6bb68715cead254675f5581e2b7c1e4b64164576401c01e008afa15fe1a92371c5c60645d59ac0f21ba72ed7934e75fd090c4008a7d904e04e8a8e2d5c9120b8fc223897a0867ecf0966c37628b30d96baeec39fcddb71522e4839d51be3df640fbef3c1abefd3824966340dbb14ab2ffe5fd879d7ad8e87dcff166bcc42531c6af504bf9cbf46d13182fb6763e3f98e855241f29f816514bfc5ed17b00fd5c1d8936929fa7f178d8818571ef6042d47ed1e7f41b65cbfd7abf437f751b7a780c2f4a29a759e31c5698bdfcefacfe9a6ef25e9e5a0bc843376a676aff6f841aafd611b1f79bddd150ffc39ad11aaed588f9959da2ccee9c606d7f58dd0e1cd412ef9c2101f7b73fca906c68a99c216c2fd8df486cfec647f39b2d71f242f74bbed057a18c1e5e1bcd1de4b64eb11d0efce88a7c733772e0674ca7d83f9e5b157f00c9bee23cd5702e7132908347f2751fed075089185bbc217d04ec90b598db7c5acbb53e261c25e7ba257871097d207eade5c4373727562d19de445474c2c70eee3ffdbffc95df515603a9314083f8ef6d687ca16f23a91dd38f7a0381af86a78cd6cf7c2222a61c474937bfa357bfab169e539457f48fda807ce4890c6fa73e4381701808a37725e7f3eb57ac2788be92ba4edacabcfffbc6e87965a7d7bc296e5b99499f2a9ef76e5b638786eebbd4c0ed84406cab47b9b15de1bdc412ba9e953f51616d2ba986386d1cbde82b1d9b4ca9f67402af0c2e95b0100546283d4c2269948ed09262d22acf718e84ffc09b0295e41b212b614f57138b6e67daa2271b70e48502bad57f37f2dc9393244daf5184008f9c3f5b5ee9282fd9d4a5ff74a006c02c94af3fff28bcf99c1e79f3743deb3955e9e37be5ada8275e3f00234a6564cb7237a476ad10ea5ac5857852ad754d6c9376b03008c4fcec785fbccd5b19abb19aa59e1b29e2ac362d692a2a746c0192c6fa1f004a537ae64dffcbf484e19e957239f24f30ddfd357d74cf9150ee963cd4ea4e7323c29e629a3531add608693705f07badbe07c4d3dd9f57d8fba6e64543e4ee553477c6d1f1f930aaa42216571b8d24430a5a976536f84bafe7006dd0ba3ba20365915cc577e2efba793529ad4cbd92f49a3b10017631707fe28c3929e9d91be9a014241a73912acde2cc129c8a396fa92ce6233eac74566e038c75641350b26d2e899225e89473808c03c3ab9799d67223b4da4f2592dbdf86f70b9f0d3d606e9b78a083a56df5f336d72dcca6aaea7cca995ad76467d2f737e1d93380e3a0e2125bd56f6e0530fec9940abe2a3d49cba95238594df3331063475d51906af987bbdd6cba4b80da252e4bb773edc23d859061b0a5b17b3afb70c6f07a4f83fd49cbd4e84edd4334ba2beffaf081eb04b89f5b3553d3273968dd352f5a9e9a01bb5ffe65f5b0ffe5e5592c7a2a33048d076827c3b27b2e8de324531f4bcca56bc9a26310705e29440ea1ec0b164e2b38cc9880eed6a81fc51013a921e02fc655b533e80a8242f4a142f1443d47cdc7b2fa1b6930dfb18f2b8ed894934ef6dfb73b250abf730b5349b34f23ebc114a519a37af9f89cf5391e9fe33a29a5d550f92cc49bd084b55ee52aa3ac034271d3c64ad086b828568f4bc50d675f6a59bd09da91443548b996acefec969843386ddedb657a7c773b4fa9bb0e086f7f5354e280b6fb31aa54febdd7198a9460be38bae5b08d2af1f028682b1f703f99714241f0023f77ecb83b16242113ba8a09227c8663fae58a1b1b6216a18b671c77aa506005fc717c6e2400fecbc6d2d4a7d3814c9b91e825f2f22d70792179b4535513970810881f8d6e3b2978e528210e57757c7f9cabcd7379d8e5c7d887e53fe23888420022fafaf408f8cad65c387ad5492a962f3de9fe46cac588d011e36c1de4ea11b3a75c763686b7dd629b8ee63a42984870a4d58aef1b35a5fe4d35bd3b5eb4caa0dddbca7c8d2795ba068113751131885e9fea2cbac8ad74596f1ef2a2deecdbf858976c71da068401e76f0297ed646576495f1986574670b83f434f723a36c7204c68574c2f8e1bcd84ecfd94500323540171c2373035d4ed57c5f7a36f5c896bb687f74209a52d55f3a2d0f7e0ceeaee93458538859b69d5ded487fd18e343c7aa12a30c978c42353673e413f6cc58d07c3b600f1b06b746bf3d8de730faacbcc4c87850cd9d0bdf389983795b69d11364dd5a38b383c11e87731f5ef3c6ab8bb2ad7cd08cef7edbb33505062caadd80951a94439ee42b8552017e6d601a0859027df01c4e885859aa1634bab8de3e8458d6cd66b8e7ad58bc4bfba3ccfbc824ff091b23cbc70d0b97e864c8eb98ab43137cc2ab1b86f26b2bdc5614b65e434082d280628db401744db91126ecaff5f7350c4d2322c73d15fc1fc8658985d984a25a8dbfb31fd532f88edf19513d307cde8aeebc62e060e70dcdd81dfad31eb8d296adf921839cb2da48bba5799df74f5885b1adf675166fb4440fd2e40a5ebda57559aefd0d38aae07ba263ccc71338361cd87a68fc7db5ae01396c78cafe2f4df4a2428e4e14a53226aa130a26ef4dab69c16a9bf75ea655d1b2cc9af9cba9eb79e672117384fdb6c73f6d195aaee5b6d79986f8e5a25562b77ae7ff280d30516791c366be7026a30890c7e4f21aad1b671632251f523a56e9958969e9fdae39ec568f84408fc60062abe0c3766784fd47418cdca5e1563d59853cdd26384799ce8872aca36738d3868cd3f45ec41462263d5036277d24650ebc168a80f20d155c33a1083ff42216c6efc5bd629c9de0c49f2fc3400fe627ebe3e06b061c3fe2ee2372d464ef2ee9987b6d4bfbf54dcdcc83ae76a77e6d0b98defbb79217edcd45fbefc9f9b708796446b40b849797ba2fa1b6d484d62dbc56acd2682a8d904e866922ec50c76c4ec52f0ac03302fd626d1d3a4570ef8ec3559dc466c494a7cf44e21a2e41e3e8963389d8603579c354b9ad533ee5e96b675145e75f02d9d3113aaddaf6a25752d16308fb9409d9e1dc7e35e7c93b2f63a71f256bb6681fed918ff80834fc3b3f5540bcc41dbc833c4612eb895abc8719629d9c9cfc6927b49e8fc551d73733623435d403a959f2a7e417496a4274ff92ea73241cd8401be282ba7d3f60032b34e987e623ec06ebf446227ae85f288354719535d6b7491596e14e2078b5eceb5ffc8fdd4118224a489f004536d3962a78d550cf67afa3c7a3c92ddc44e6b1bf12eb2aced4ea622960f827376a074c05f5aa5a23e566867182207f599e21f06bca0fb5df05b4b1266165c66579ef89314051b7e4484f4cb13f08044aa207e87652bed3f10ff69c46723b7ff88fefc608e66dee22e01f1a3780ef71d2652905ad7d798291a9b9204f8c767934886d26f95fbf6d8dd4074226562add2f92bb2146b22eeb24210bc40c8e02f26ee1f64ce30614e74066133261494a57fd861c296afbf50eeed7d5b181ed0e44fe49544532edab3af96dfce186e5f970074b2117d0a6ba4059533d1dc911b9b84f1cb9e4e0ddb32d199f0b91bc70656df4820bfe3cf225c28c9c739ee2d0c4f2def5d7f69b8fc715a632ecd066344bc98ef9a7c491c96935a023d8d237e7e89f8642c8fce9f64324b60a21ff8c5dac9b2d295214df6eb1765cc9f91aadce0dfd8ff052b973cfbf41cbded626bb6d16ec02a5cd79c07a12959bae76a70af524f519d20970782c4ac57bc003e9a08a95626cfbd3760717841f40b73c68be65a2c6daa7014ca97236cb96d2bc093d11bf1bac8ea3b65d847015cc06a4ab746d30c0a6781ee68ba6373b4e28a43327c5f03fc3cc42a1816f1b317a329d2cea6a762d69aeee630544833630137f700dc2401e5f6e804dd8e52b466f800ed9e73e67d9edb2b85b128e3c5c9358b960b3702c26ed3fd47f8facd6100bdb378539342dfd14b17c8e4beda43309b2718fdb431bc5ec3312188bf0c003c7b0717a12a0046c69e57a8b29883ac8aa0c172016d0ee0f6e7503672b31bcc0fabbb7caab03181d47434532081a848885ba85032d0866078bde0978302c95fc77ff13ef3add29bd56d5cf3bf4fb289f5c089a14fd474deed28886ffd2570cd8d6d681b8b92058577a7ab9e200c5f3fb49418f4c1cab399a27fb3b75be37ec9e12fb50666eab9eb1545260074212c06d8e626e20505996575968aed703fb8dbda056d5f7025090fc4ce1560204339a28aa90482ed94129c2c71e00934dbe91e4e8497dfa3666f5f1cf9e15d5c0f52a11e3ea2fd4d4cef83f69b692ce8ea8849a2eb9f01fc388e374a257a1c409ac93c7473d893118e189453a31626e911cc150c01348b5dd68d5a381b7f972859ac73f389b3501a03dc806d6471a5b86472edac336a6125caaefd7517b6309adb8b4e740bdf0b6243a0d1b282885de2e7a0a7d89a0b0c648570d56b9f358d576a8e50838b2cb4b32ad48d60dee9b1e04ea62dbfb2c34f6da5e119a2b994176191edae6cacede8140ec5f2123c1d5f4b0fa93c16190e2083684813c6a6daecd3ff28f6850711466296980292f24a3eb27150a00281dcac97add2e0539921abac86b587ed6f2cda8ee7b6f8366360af79ffb8185216a6ee55416b913bf53b1d97676ac99d82f23f3489b41a6b5a4eca6128080ab2604476447ff713502963c3358297d29913402328cc7211ace1c71284ff6fea4cf97c738b6b7cc966bf013261661acb39c8c438f0ecdc8ea190d64ced9ab18fd84ae06a6c346be0705f06a57c41d5b159c8b3f52e89ef9450dd568eb4824b6466500375b5f6c2e2d162c59260c72312a4562cc35701144112d95a03b3fd5d2280e9bf742cbf11521889ee7b2d6a3120d82eaa83ae6158ead994a43c5f3f2347d5d794be358b1613efdcc8a41a02af9366364d8c8b99920ac70172d4a7763d7d3d5953b658044276fc212969b5cd6e95c16178caed3690027ddf24efac889dee7edc40510800279558c209a81c9d2d41750bc5b155d287775218af2011d38e4aa23e220d27c2de527faf555ef852e9166df3e7f566a3039bf32d44e7db1d2be84cf04a7451bd8a430eb53793b4e2d129b35bc76fc1392ecd1d3e8db6c1ac90e8c6a4399421bf3d1c0ebf27393008d90be307200ac78a0d4d1c231c28a2159c8f37252c49b4d0e95f6a7ed2d61d74e4e4d54eb6912bd0edc57566ffbcd31743991b8a9d7c5391487259f3c9356cc853aa6c5be7300b56325ef0b3232c86cc2419e40db068444fa00c2ce5d5f32e3519b515fc00e3b8e600508a86042c8d5c4e6196d588c512f771c049ab6c9c0e8638d05d8109bf434a249afccfb320b4783c204e4bd8eaba82f736d657a3bb24b4f3531bd035a93b3760a8f2e7d79448b3e864c285a607efea99db9667f4f9dfcd7f8c9855198cb83b4a96e20c7c16d8df77ee83f8c8b94967308f9a4c0c6ce0b6c5b993d06e38597057b138763fe04ce9ecf37ca5ea0454ebc9693ceab617e4dfb0686fa42f5b6ae3bfab7ad28ef78675a9c0b216aa8980992786225297d1d612d3421329b9a481205c563fc8b9377eb48b8a2d75968f3ab1ae4ee2c9f2665457d79a72166453058625535bdb2d89e5b296163e7a37dd14ce5916ca51dfcde877976cf37a204893bed0b7a13ddf98fbbcc4cb471c08a2e171a8ca4091f30ff6b99ab74e2b67586533646b31a6373b96b921cd95ce420b1526c9cb3d7bc5f4711b3c3ac14e2c8f0e1c6c5ae2fb32a1d8a2d95ac3907ae33fc67719ab2045382dbaa9477880dff00bc05cbc92712a8400bf348b20ae36bcfb23d71e6bec00219570d121a24b5dbe3e18a5c8a4f45a89befc41d43b7cd8b1bc93521968f714baffb49f6574be45a611d9abd679c129fb33956b7da557064802819df9eca80a355ce6838b8c873744a33eaacd0f3928fa3bca6a957bc914414f32e29d7e7ff1267d1f8c422e83c8b6b372a20196fd085ef24ced211887362c2eb05f71a8b470c35576389fc4deadcd0904652944c0663f6cf5898518df46f837b4d339a07f6a0d40323f31ad38772823567a8db44a375507898a32137265e0329042c14f6b7b09214e3f93c573dc1403b57b035c687305ee306c523fab64b2c31102b0f0977f7211c440df3d5d36bf04b4c88a5efabda84458e7acb834a2ca54eb777a4efbc34264771e5deee4c87f6b77b29812ec2cb048635e00c66ded4bb668739e2339399e3f095d06f9d3e98b0c13a19fa81b1884d98a333d54f11a617f292c96cbe35d5a6dffc26687885c0c427d9c53f72cc3d9f6095b4cfab6db06c42815bdd2501adb415fe2f6142aa69fe7bf255bb16484b6e6408e786c633e5cb127cd5df45f47ad9185a911adc6ffb8389eaf46be172b53b3c42c950a6e39800c2447a7055374b81102161494bb2c6a3b8c18b64f64ce57bc2e1fa112a830dd2a7559436d5a628ce8e1ddb2d3abafaf620d721b815dc72eb0cc973419f7449ee0fbaf5293f5b6def92d39af7f63e091c3c65e830cff44a826cc6d8d43b850de883afaeef98f56b7c43491560d7fa61809a23fd24cbe2111608aea832a8c7a0870ab0aa75f09f822588eec657b443ae53ac3bb133ce5cd3b673a2ef63229da4aead7caf94377ac166649a721b23e520f666ef6367bd18448ef5dee16cff4866219dfb18be0d0ae8355be70ecc4383d49acbf6d028a01844c7294eea11910df412a98790db32a64c33aea6c06ea3a9a216bfe5bf06f3ca0ffac41d65d92195cc3a5d62be727e7198d5d4fc33cafdcfc6d2e90185c4759d5094eadd7fc246443bde7bc77f616677bcf7a3d688f0803f3bc45f6507ef3ea44fd09381a0445d488da4b08ffaf70ec4352181bbd7a32608820e4826aea10b770afc53b87ecfb59cf13b760647718f1b4a0fb0d873113854d843ac2a5a4dff1e8fb432d710711e4901e17f79a4d77b5a37f49b0405e0c499051846f292c063fc8384d4308524433fa13b0e6c0d361c89bc9947859250bb39b402ad90736102202fbf087f2b0936475cc886e9d4658b797a118948337c6ff01673b37437a43a998f7cf051bcaaf60a00cb51afec2cc47ed8798edc7969e5a5763fb5e601409729797225686b888e905c11adb612058e94368323ba8d393952c3301d9d11578785516344551e885675ba7de535bdc2d14f7876a14d65bfb36d671a397535df3328687f9a3c0bbab4f199ada63c42b80f3025296b5b43aa620baac7ceeda723895aff4654d1b67acd8923c45fd42576f324d58cfad448dc3db2b6dba6d45d853589eb4d40b6980b7b1fef98d41d438bada71c7c76ee58065f8bf35b18fa23f950c731adde0f4c615e8bc4eeb94ac8ecacd8d27b4d8efe5b69c9587d82e76031447e906eddb992bfc8e782d432d84801885cfb9a8961be923178abc5ef8a1ad169163f93124b27f23f5769b7e601934e49785b5ec323cc080660fa8692be63d9e6be161bbf5859e2e5a815b23342f61b76208c189d7d23b67b075b71ec574748de5ac99e5f1d2b0d584724590d46a0ac634b59818f1aa7d6379b6d033da41c601efc12e371d1ca68da092ac5952888d7af7c97dfcc40bd3c8fddd177bf31dee5ac69e0ca92725cb3e8ac7b920c1af51a65bd5fd18ce50d71675b3ae52c3334c79f3746b6312cd3520860e19276f3d536d52d12ad4b2bc63b8cdd74f5a440bf50e4992a92cc318321bcad0c78ba992a3b959c26c1b63ccaaac70acaf529e8518b0228bbd5b7e0bcf2db530a8e5dd9aaadef8a69a958df9a4bba973e4ff9c2a76f19480ec810142d576a842bf742629b8e8d208e923f3ab2851b732079d7009c9d5a64f35a2e86bf92b7df73de678821ca799228eea316009fc6650a0e607c6f35c0ef9d0e8311d695181151b7a54fa6c1eb2fab7ccb847bdb71f5fe923d4f625f2df00a5435efe26b9fedcffe22e262dda9bb5ed5f76ad8edebc5aec68dacaeb0c6bae94f4fec129720da2778b005ac7da73a9b707bdfd864b357d6aa949df1434e9ca0ca5281a4fca28c993db853a4e521a07e21a81600b14142324bb95d21cb56ea2800bfd4a4cb86655321c9923b508946afa3512c12d6aad5ee793ce2c64ce46b0a1d4e8e4edb9f25136731cbbc7e1bd7e6f894e13d6f8922fa9d0f4e2807461e6d65d1d695210a54376b6783e4d9b11ca8bf5bbbb93e37bbebce4e11610106356f4d60b3fb2673da671c5adefb0045e63fc54cf3283f43f781a1878dff03b397a8e0737af5e0415d3febdc139d27453261202f795c2f8cb2a2239dda98ec092677254db127ccd3bfadc81636840e010a5917eb13215af9d5cb431c0861a61600735918e3e1437b1a6c56e8971a833a8cb8d173c9b4947c82006c2d9522703e11a44d137567f8a42c9394eada1a53845dcb34752d9ff0d0adf071829ec5d98886bdcbbff076f429f0dd2ab4cb90dda4a6ab1b1d22e4da06f345434e87f703ff3598de74625736d879a9e41732d4c6102107b50d121792e03c7a531e70ab13693a24774ac36444ec545e7d70922a466b72a2dd918a6a388cbf395fd0dfd5586f55365999df39e0e22a0bd590575ae4826ff38e8a7bf46cfc480428e49d37af26dfc55a595e018cc5016c66a370d8d1faf19eceea17ea44a0e6dae47661cda061e48f9851f53d3d2a64b54fa6fbb6c8b0bd71ff858f3ff4d47cb5104898c232962ff0dc8d53ac403a002d2cb1a3d66294332da06fa148fb6e4976968ae03ee523f347e8209c93e3744cc6f64026770dc851a12dd9448fa8948d32f8b9e2ff01aca6739d47d3dc366c6e46b9b3d4f8ab3f438ce5ecc5d292253a6c89384d9cdee7b70d37cfe1f9f2824999ee72c5934d85f3f55c6c04ae66ef5dbca92798605987a6f1052c6f8594b2591b61e0183127b4081a9afde300de6b28f647564d75f0814321f35b934e0a2a993fc286209820bcf1118cc81efb71ff0ef9d63f90745aff8b58f41b04ee648d18829d6f337b0235cb27df0c2f31fe41ecb12e63e4793c9fe137d83b45a09e69b316c83447387b508154c309657a1e63d620838d59b1aee4ce2b874eaa2c16a6bb838c1cd29510e2fb3074f4fb718e061db83ade252073dff8de7654e2a67642941d277309ca4f76192562cfe417820c9615f2a79208b74b2cb61367ed3c8995bd38e1ef407dcce5ee9aa8f0c46278e988535a2e8c473b40c6fff84e2a7c02facfe3844fbae6662e9530fb6360e742bdcef29e9553a555a80e468a179e7ae7df497493e4f907279b92ae1b27ba315b9d7cec1707df57e538e481f7671fc9cd7dacd870f0c27ce859a9621345b164e45b9a0d093667d1042c0fb5df2e2050521dde5eda8aab45b1850e2f1aeaad56183920b8091cf90cdd847af164e858123e11b773036339ac2647293378a0a3f7d682870decd67b76e3c635151a0fdd798d447c98baa15068483d422181bcdafce17c79089f3f5212f3a89086a6954504c4f9733bf6c8b5172621a3fbf9aadd31ad03d72ac0d9c237f6faef1d117f9bf58bd2d96819c24de1579fb97f5929b2c1305e85bef13d891620c0f5017b2b8b24848f304a87e002953de7a2400a2bb0497b7711f550111787af44f6e1c0f339ca9200bd0498f30019c7f60be3d40bd4beb35522d87f783f978c46488d7f657a103df31700ffe1aa833ff9603866fc18af2b915da637c6e393cf0e3c6bc6d64a5b9be2205eed720e55929f727c5ac581e1f05811b5a124a0f6448dfb79c7175d59b3c6c87d319dd1dfe3c6a046e8e9c2e6cacf2ea39371d65db6d6019072f9ccc6e9eb8ac192846d30758c46553dd6d758703e61295aa430c19a2eb4e1a31afa1f484ac5fdd28144eb740418d72d6160e39903547833157841dd6db663f7755d3a920d3cfc6eb37f94d0f69fb6642bbea116da81f46d1e3a9f24a4cfd6cc02f016f94fba8faa85adbe6daaffaa628b0d4fd2edfc17b4d16a2cefa621a4558756693e6e2aa6fa6cf9db7f7db0776752bf528fd2407a49857c5192ee93fb3b8dd256a2f36a287e42698405bd3671f0016cf84aaf3cac65509d0ed1378729550bb8cb3d9a3da8ca4bfe82cfb909e4b06e4ae26a31bae4af729a20a990d70a4861061e382b6eccc13cad489bdcd7ed510355d486ef30c789c2a77779ff45ef211a3205478e175f75442b8824767e37b58f3dbbba6eb4a39b7dc07d5df85c3dfdd95052788ffbaed2088d83ff8f622df23e680926a142bd6b0442623640c865c1cb7f82f4785127410ac301853ff3c27e8195abff26636f18f6b9d666a95f5ba68eb7eb8b8b73610a713e58dc6cf75b6629af616e7f00234897116de497031eba6cbf88951546e1cb7104986632b12051b59a0e63236e6e6d789df0a04091a591d5467ad81102f3f3a457efb9647d58b252645482cc31f6476a366aa2877a421fb1ae92e10d17b866628ced60d8d517ce168d73234b95dc685fa8a8b3240b6d9097e56e0427094b888840539db830dd91a295a8fa6e0b2760658b8149679ada73bf0a516c7d0970c754995f76d0a327a5c546fe64eade2def1a2091c73c2b7e7bf52f28a465fbed6e3df7f474ca8f8ab42a887bf384a35d7766b81e2824118c37db623a5c19282b3d8a9e009eae3e593da05af0448a7338ec6e55c41015328f91b97212d567eb1ec42d740b4c0c2777244c6b33a6924d7c3e3afdabdd23f39c62cd00025bf009702aa8d1f96d95ef7a3dfeb4d3bce6adb708a77c40b65a885b5c48932ffbd8635f373ca6a0b005b855612e319c81db130720e1481d137898b5563bb43afda2e222a6e0b944af033047dcdf545b0aae87828fdc00d07cb30d1d72727eac8feee63062f967ee24c9f4e4e7e51d5688d337e61807826a2a1a020c72254fe9321d4ffcd112d546ab945c38fb34b2afa204c759a4c47400d83053ea41bbd238610cd43fa6a9d0c39cad61d0e639a000f9722817ff8394d09747e08c9201fc1f28a02d2fc79c9274964206598298a3d348e82f66267316f96f132d0dfa62a23516b1dce1521184df0f67be61e72dfe8ee309d0323dce3caeded4de4f72cf0e90401d509fca61c31435f2fe7703b625c71f1b0ace2f42bf58bb95b700ebd4119f60ed79d6ba892326ee5845e80744b4e0ee9186083393e88cae48ead590badfd9471688ceae08462f064cb23d99b888d93a9d4f8d776b41e88642aa8f6f3ebaca848b13fe3e99bc95e17ca0e4cd4ce77b66dfd469222394f29fc165cf9cae5ac4b7510a0ebc44f61434153bbe21308674f9921466f5ca95161c83ede44135c3944c44802aff1383530ead4a6f01353fa9f76b8ad2dddb0c60f588c65d6a31c4cfadad08e66facffe36e7d02b84c5ab0f372845860ab69467c3800b0ea70a3716e3e9669665625b93c6cee02c4de405a32ca03ca81b72561cd983caa2d424170d7353caa5e0735afb581e7d7791aa53ea027406a791f6e2b38ab1a470d37e04c5c34682b6146c81a70d66d4891320b6d8a5a7389be8c1cfa881114704e0c7fb721051693800b035587facceddc7d012fd1913edc4ec8aa464dae0ee366216da3b29a1ea0aa3f35c36cb6934a7a8fade4559a730bb6cb8e10517fa72373cddbcc25fd4b6a27891ecb21feaf50e4d4471acb14fcf88a773f8471be0832a986d9260b6a34b6708c3a4b193cac2df90dd06b9e65ce95dc3520c8adc42474286723e305a64f2b2a2c67b8dca282bf398560147d96193cccec8a2e0057438ca3ab8520459ea704d85d692dcd96d8fe742865ae3ab1382f225443330de561a11d4409f9d6529d5c0c39f399cb0100968e51d1dda144d115aadefca4d4026d8b4e732763b7a459b2bc04a61d032518f48cec5ba19aac71f676b7718aeadfac1061b57d3bcfb1914b6b4f5617f4875d771fea44e331d4cd4652158055e3e8083a9569fd4459c74d1387424d5d0749a9ef039aa99f74a76551d421087cff06d3199484f24c7a3aa43ad3e90367cb3895f688aa1ce7a8a66222ac4d5e361a185feb79b703b4ac5b394ed79227af83ac25ebd00207cc4d3bd1cf8317e6998100ec8e793c98bd02c617ac34b9a374435fff8661fb25d47f912f8286c9243b9c200e34107743d0b6bed992d1157917c28637421bb0ddd22de685711b534f648dd627ef4ba248e936becc254a267abf58e62821730be392dcbbf727c4208f3dfaa94655359054f96e77aa72b07850a9d8632e045de21a454b66df013188e847068207a2805badd794b304cc39a9906e00aff7bdeb92b6269788b3bb37ecd153963678f9d62d61aa723d0bafb6ed42fdd4e577d125acf6eb3e5829e6d529f0599931f1588e607aaf56c65ed00ec407c6f9d5cde7f67cb6ddc4b4e6f4e1cfcfaab11cd96d7bc3179ae26a1baeb3102141e187ed6b95a9bf927f538fe08b1160235bdc87edbbbafa8c7ea98abe73fe94cda1d8056667b137c54b9e324ecf8acc978ea413cf847f8d25db1d5215e0cfb92de2a603690e74af7c2ff8f8258cae2109fc83694cb0739afade6a6b9a194f71a035a376f370cdd043b6b4d9fc90489e03fab415630fd441232a368fd277775857d5af24f4d2301cbc44243b6ebda90659e90ca3c84669dd2b484992252d00f2f226fee9ed79c19e498a868482e769f4fab791dfc26f11e029841dbcf353b04ce051f7d8352a8c226d71df04eaf90b7132d72727b1fc59df5733a4e043ada342955ffc8d9709e295ffe77c18d1c54bfa633c257ec17d6a38e3aebddad8ba5168cd1c0942bb33228e7936b0d9b986ca4850a2d67a3cc994108d47715a896bf5f1c3606375ad92730074fc2118e34271baefb0c734ffdcca9fd7367e07cc078f4f15aaf059d99ab55d4142aeb1792d9a94c9c00341575d60eb188e62627cf1cb8bc13f5449e85d071d19c4933e8794ac6cae849f090385f6fb54f2e78199d6d02c4aba3f61b5d07cd901b7cb5348d2a61158ee2d8afc6c1df136867eb53d449721fbe9e7275be561c86f04bff577b87ba7873e8151bcc3a97d743e0404818ad3c8069a4473e2fb898bbdb24d07a1ea6a0b832c832a9c74bd900cf75ce5f17be10b2c66f97b2577a1d7b5daca187c9ee97cb2af1c463f27f95a887b37df4d11fc2dfa5e1e0c7acfc260ea090ee93a5154f91088f6ed18079208a7140a70d25e46a76e3287358cab8833bec742e1120482bd3a5da2c186c01b746d4b5857783983be34493f3a5c925d50657ab9d31d7a3061946d09616d04fa1780b03cc2bee80bf07c1fe06e44f1275b83edc514b86911909500db1cbe01f5b56022f734d00c3d49617ee8a1f8140a55b064dcb0f1dc7eed638d0618c5b9548df20cb3797d78824777cbb344dab62687db8d31353562c462f8c1690949b4fb1b3da21a2e0fdf4bc1bc8a6612de673e044472e1987fd5cd6ea998d184a12fbd6ed319a6e64e879fdf0a2f850e00610755d94a8a8f9bdbc0209be46e8c2e219c0e4813d8c366fe7179fce0a430882b5cc745ac050a3aea5d07cf16ca36674a07f58dd1298ac4988d8a2b8fff5f2177265a6ed71eb4b18401f604ef573df01a2e654857eba859399e10f3922f84bd18a95aa5782c10e88e243d3bbd3e28cca6cfb23fe467f24ffc14ff8914cfc9851d5a78cc459e37b5fae99729efebba51c2426e710525cd47ab54a56ce52a10c9cf486f99a684e63c8f25ab8801ba5c5c6e957d2e8be2854d47d2130eac1a5036401aaf6ca4d16a81e79ed9b2e36d0d71cfaabeaa24b2d4cd6ec30a80cd5cf9e559b80ae8eaae0e6b620aa529aec0a20f4cc2cde3056b728a021bab8e210ae343a1fdf44bd0074e4334eb9fc6c315e4471238cb74f67344e63712d3f016b1cd1aab165c5ca2dfebcfdc8d86bb678dbf0806ee02f98fe8bbb4851cb5f8881c752c46f3b9cdfcdf304e56db1433c008025494af9e59dfb9bdf5eec507907558fc0ff0663eca067cb3198cd0a77700528f3649e28fc74eb6dcf57bfb9875de5e9b4938ed0490a9e31132e27b58085ee4bdb26e607495633fa64718be0eddbe4ade18eac4aec5ac57e963e25b038fd9ddd14cf9dac285a3dd0ebf110c0b9a58209fbfb3eb5d78a990356e4a0a34a0fd9bb2b0e7c24ff0d8ac7ff83bb09b3b58c5bb61eb9cf32e6e727ac6b765158fa78965b8d93daf030475dfacf2e045e3629aa929f140c4af8522842ba37ebf7f527255c32a83ccebb805679eb8e2075ed1135706de2cdfc39b7a82180055843a8bc928d2c5f4e9b4ac0993270bed567925c469d2e21bab25d6d69d26719d39e0d05b245ceed6dae18f795520a413a4c51b0ba8cccc46cdacfcdb3120f1cf0b46b7e98401684f648466d10ed0027cdd183de47cb0a8044c6f89b47cebfedadfe71bc1290056a0c70883f41311d43dfdb23cc83015cb3ef6a568762a6344142258e51df7fed8409db680116506e84f5d2f760686b1cb2f44978b8e2bd848298c6116ed369e5cea726ea1921188f0dd2cd422ded9221723647d221f5f60fe713f19f1b7719f075a23d2f17c929c739038045dc7e0da6375d179b6b34abe6378da6fc1795852e5974fbac8ad2b26d4f8012140dfdd4018bebe64ad093a2fe14df570533b1cd9b671123c955023d2fdfa9ac23bbea552aa56c6951872bacd04867ec7fd358675d3d01211bdfcc6f2b64ee24fecab99000cb0d283ee2db58ede0401820ea26f3526f57b468cb12723ce5ffa6f37afa3970e36a180049ee4fa5a0700df8fb36c27efde29122ec53618dfbbc6f7b8bc6df1021f2056ba2d35f571d28f07073d99daaf2c7540f1f943dc85a9d761000f31612eb80cb28cf6342613df107db359423a787020322945b15afe9912620a275c71f7c2cd8cf97afcf827cfc700d7983a3c2d8ea8181bff00e37dc8a2c257595b52f9936cbc8102f49d67d6bf10ee64f5eaa78704acb1480dd8fdaa3e17645f9517c62cd5db9200c70a2ef24c71ed3290a96df2e59bf4ce632a29d3a1d09ccb00a678201962722284aa9e689b2b11e4d59474fef8199a9406c14a8f82b6f42c6fc316950d76a03801f65b74d1ba2cf04e6c7a9d1c43d9577a61f5b3d8762437a515c4ee8725f8c7aadceef6e80b5e11c00986cf739102c36c7daf8d3b90ffe7445b4b51ded3fdee2eeeb04bfb19d43b6ef2a4c9efeffb6c42dcc3e75c3288003238cd5da9bf674575f0bd8f3734c2decba453da9102352237a5ec25ce91d86eda099e1e625ea6cc82d07248e3a794c30b39ea2e0169092cba38c7c8cc9205dc37e0334811d995837bbffe222de07f22d7ed137b96b3678642652cd36f93ecadb14debb1fd03c25fc02d5648b9ecd899d71844c80d709fba52e17156bdbded2d457c6e62addd8637123d2f5dbbf7d0838e27bdb753073b0d7e5ddea4cf2a28fb221a282ed44666081ec492e93c4f2916e41d2b01cefcbce53f8d6e51db883a5518657afd89e98e0feef9342ad80d7a05ffc16670d74adf95da3ce7e4e4ea1332422724a3937cde834b0093b357e95d8d3070d198ae01936e149b21f7a67b23b703591b13645dc1b60b91ac9284abf5983d88f4144746518b8d5d3f6f30bbaa48b79647eed906cfc46b15500653b45cb0f5ee73cc03f04d3b82a053d654577122d13bb8ae1e7cda93eb8b9067b119570c1d536c8201f78c176edaa2d4baabea0904f8623878407895b3373edbb7be74a7ddf587adabde564e185cb85d65e528e8a3442f700ab0029daadcefff4f5476eed2755efb17c46beb5640035c1dd3f350defa27eaeaa6950e328124e6dd75d7301138cea5dc65f95e47b9462c81adc7068ca2b0faef9594d00d9e418dd0d730e35b09006c4d282538a6abbdc180654d3f46a1787a827f1e9b19e2c7d8743aacb518294ee58f6fb3eef414d4de9d6229a79df82b378789d844e7253f4d67bbb18aed69b76f7b9b4f2d2675190e99e0134f358e91a1835ed938e6b09968bff44a848b1499b8831a59579284d0b9869bfb8392110662dba9e4d6ca528467d5be65a3d17d82bf0f6965cd786e969428641b22cc92d4e25cc537f0c4484b0db5a937bbc82571531f155b1490c352d2d7402c9ac3bcc93ceb341476f8727e56f385678aa37d0816d3a961a7fab0d63b028c2c40d4c47290fb112f665621ee32ddd5999af78975d17dd71418c89371f5ae7fdd3f27466cea34fec10e3ed2087ca5be6e8309b177f0a32a1202dc510fadc3e64e7441eeef9abce0ad730dfdcf04eba38e47d89b156118df9e2040d321f2f5df9112205cb0f4d9725a6667301c4f709f1a078ee2e6a47d66a9c273c33749235743fddd18054e8ec6f080fd74720cb11621e6178426f030f61e4304468b15c14d927522223045c5d3885176181365bd151f93dd563057fbe20d05623b9ef70c8af94c55bed9cbb3742475973fa0de6884c8941e66ce8b84bfac51f981644800efef68231dcd1441293396008e590b439d569ea6f444d199b53b78b67dc4e1f2120cf9c9e38ceae996b0ace73366b432a031f1fabeb50af0bd44bb2c69e3aed920a4e6804f00f1b9d424a8d543b3432f407b3e91149981ebbf29590086b45d7da6fcb79acf3b056f0b90df1bea050f4d8b208165de25dad88318048497a6c314e0ff99d69d46c2497051cf9f553ef55946060fcb17c3f6481d4760213424f58eb6ed614086c25b54b7e9f3679c55024a0c55269b28d7c819cddafe54294dd1496661d00fca35ebf2b71470c7cce9251839fecae1ed967830da700a59f0084785972d0afd01d4d3fbcf971afeb50514c468019923420b1334b9152c4cdba8e6bd7f45d1c93e2a462555e226c0a19bbe4478ce56c9bd160b04968dfa1fde7caa044c91dd41b5a9fc0d6d2de1afaea32b9e913fad445bd4a5c6b76ac64b71c0daabe7c1a95cabecedf1f47a0e509ad40d80642d9e6d4e2e42de49d7108fe0022f85b180e2fc2b6ce5bc6f221ab8b0f12d1fec30765ce26aaaeb08ae726c7f3cdfad88c4132f80cfe1ef8d0f4ee2142bf8d6364809098660b7d5cf35577497881c532c77fdefa5600a893403b216a6373d577316e51ce913b59c9f95140a0e7a79715077ac0f01eff8499fd60306dec7275bc297cae42bcfde7f463f132147439651abecc45f51378197da07cd6c5530dbc81a18ade977c5422e48e446c8e56e3d0295c399425707799b225fda8353b013fc3331e05b1442f4650dce9512180a139659b408aa3e495d1ce926efafcbba81fd1a131c1733fc44527b6ee9baec2de4e2251062802d92442233e7d45ee963eda57a2afb8704e7f411304082ec1c45f35bcb0f0f6234a20804db294633c98d8b5ca1a3416936b6ef401ca5bcd6fd378fee6e5403720084eb509682ad65b14531708293cf620d064148513deaaeb51ca7523906b591789d093747835756a528fa7c967616e63f87bc33abd09ee5f246eec4e2527263534202dd00209e01bdb63f9a34bf1100c65fb442e042c1ff77cc1fb2fda2c74e209090e694d57cbfcb027ebb8a7fee2e8cfaae5e986f5748723f9496ac6190135e9ebb88e668a3a9b0e2974bcebf4e1fcbb80b8786a09eb61439abe463a91c5bb05535c29dd6e47d8bdda103631e2495cd96d2893dac9beb8b00740026e59db67f1535b96463faa4bb262d7fe9910650e44fee0d57fe4bc9439d35ae126d1bdd671fa0b80a34bf0a788d0a7338d8c4e2f7b2beaa4e7e4c0b1d7680784657aad059d145b76f5d9d743232ab30702a39069cb3c53acf002696b224c67e9207788ca4fecaf9f99a93f7b860a4ad4a43aa00ddc2da77523fa6bb4ea733870d3ac04e0b9cdc1a50ed7e51152366a1a952a1a470ba37f5b8bb3625b900fb897caf4ed146c527e76ed655964cacea2a7dd737c87fbd32e7f9c409090d1190dec1ac813a20a7c5929ccd16e9aa6216736ffcae87c0acbeefcbbc867fce66b07be66c4d021d536fcbcb95b63ff3fd676c962c8993b9a86003a6da6b0b30b8c3dae4dd0cd96bf6608665e9f70f18b57f3097f4090685c084b2f077ba865a878545cbe7a43fc9e2a7eca7ada2924bc54066d1926d4af53bb312066eb4fbe421d363ff4de9b1f05c2ea0ec5eae245c6537d78b7005531eccfa79fb296b5b38c47c432fd408a1239ebba35b4ee03ef4eebac2a2f848b2d773e79713d1a26f1e389bac14eed07994b5459c03a5042e58ab0e4e0ccc6b83e7d7a4515898fe51c00ff1ec6399e66e7ca0b141cd10d368afcc012ce38307ce3da3f9d3844491d34c063d815d1c1622ae27b85cb94432227d295fdab40fcd8a60cf3dedc15ca20abf3fd1347e6fcbb5d9dd0ee4d91a40e35986ec45443786e4040002121d957934fd86cac3d3dcc2425af508370dd3ef2ce1832cc6a3ecb2af71c68b9b43d8bdc45e80b30f39476dd3c649a8547ae6a93caf87bd3b7dcbac01c61d00bed1794ab0bca56b132e2ea531b06ad37f726c5b369f1d52ccc0114e43f37a11cf989b269d65e8799fd40acf1b29c8826ce98f9845ee7a5ab060160aae08be905cf94637d4cc60c31cdb7bfdbe82acea0eea9b6fbe36ba12387113fa8fdef8bce22adbc225ad2c376df0f01b6df6952fcb685ed855dadb4a0fd3beaba202759355dd684e811b75c1aac93955f9d3c9d48b415620d230b4144226a84398b00badece28d647097a89918f01d3ed6455d3ff053ae525a6d1adfb88640b430fce6edf46c5c9d8a3e5c2659cad696ac3131445696a7bb7b50e10895de483006e72e8c4281395c9848e26c860760ab9e56d08e4ee58ce4d71667db5db57a2667b1b2ba3a091a9b6dac8149c84dd19539882d61bfc117f6adda8496675c9dc789d38d4a1457e139be67ea0c5515540ccdcc8c4eaffcc81ad34a18f5b920ae2563f5d4e1eaafaab3861d465f464734804cc7e523cb9e6c6c43785e6bd25e999c6f01f179ab5b85a22700220a42d1bbccdf8e74c40331c7444f23c9e39a151b76d681efdb8ed7d189fa9b92962f3c21dd79b9efe47795d53fd3d3a9b21aea67eebd2c3c047fb85d18b56f5867c7979559000d19be676d20b84417c74551b4ba3c66d96a260e37331c129bb77d6c7073dd277c216c9b325f03e5c4fbe0bbf7b4ffe7aff77b77961318f14be1929fa733df9aebc445f7379972f64d134a6d74ef9ee61980b68e9cfc08947fdc86b9aa9db6c8d8ac63e385e31ef1e0c24d5f69d97d7de23ce867cc269cc7ec89381d61fe682045f40f745b0e91120c33959f24afc2e4abf1d16698b3387fdaa56bff69849470c6f7a20665ab256430b2edd46f66391b48b6b3c63d16a60695f20a9ca02f473599125ed122828a770ced3e397785bd0a7de2d43cfae3f122df750e67c763d338e790cd7905cd59b949d9d48b8f05b38742fafb4aa1b492b9b44a517ce087770327303b856d4e4f235d5abfe2c89930814ce2df8917397b0f8e82f61adaf81be79ca97f8569379605bdc27e7bd9c50968839fbb6742f2e509ffd91ab3a14cc0533b7f37b764a82cc9e2e5eb489e0149cfd73f019a23c376921f1b3924986679914519a3ecc8fb7edbb1d2ea6416bc077d2f9ad5faf5b4eb7808f69f9ca11be268c5b7aebfdaa9cd5366e1ccd6f9736dadf7b75ec35462118762f3b4ced938a6d8ff730fe68030287c9d7b678254f18f9d047c425d79c1c5fa8a62b68355d6f56fdfb64ebe97474eac574e4383d3242aa89bf1e2068d4d56f9ed59a5f5b260af5360a0f2f69db017c614a9b177ccae82dbdc0eae7ac777705eae8298783b5fe4e590ba35b18f2c07001daff4dc229a7ba1000dc7d054f2e538c39301f587b00375581619be1af0e9a86274e5c1e92ae91f49e53349f2cb20d70bd5c89e37eed113b400231f24a1b2fb6443e9a3c90f06d04f5691a152dad46df9ed449709ff6aa9077337d8a1fadd7ddd86e90716b1e3cefdcd165f6b1b79351ed88db361c778423df9b2dfe91d5e9d204071d6f77f224fdba33f3c1c83655bca2b920c630b85301567664d18b43af8f0835f96b19b4138a627ba0b132bede1259c3576daa8f9cb9a67c7bce6e486c2e494849f45166d727654bd79671b546de1b8f2a3f5313479a590528a3293849643176fecb13e25686a1a990bcd69e690e32360f38fde3de3b61b1b52a01e2a752ae300323aa8ad33b13e4339b977a35febd7bfdae22d319b7072619cecec64087269f0072c45927d0ef6613612d59730be7ce205eba9b2c44d42f609c3ba517f9df1e1beb23c30bfa1f91145fdc770cd264eae3b7b5c544d96ff503b14d81bfd6c5177bd03dcb5f12933c15b6d07f3e829331b173042c7fa6c2b7dbe88a18d04f37fa74ee57ea5ba8675f5d3336d6f684de3ba38162029e05a0bdc96a511f7da3bcd2bf9b6b6879967762c6f1c48e0ccb1f007827d82ac2006023d1c06401357971d7bf40eb2ed322bd0d2f6c49ff37b62194f9eb763e20a3e329254649cd74d0258fd9b7476e0b7156f083e530f60ddf9fd8a44617e07b977089da397d49409640affa54c0b1f883315fcd723d3e589cc35d8c872e0bc92121eea181555e3b62018c87e4fb21f410a807b2e4b21ca30029b5f5ab59307debe617449acd34551edd172fd99281d990eace490e4a1f796a1da619911ffbc2c1cd8b2aac6ed0421ef115e98bb2d1e6a102148e948ec39a5283d3e4b19b5b892a889abcb1252eb47272501ef1ddd4fd6bb1efcd574a3191a0a49ef756eb6caab337f784c7662d18ff92e58ab66c5d43064849cc4eaff5bd90b1ffb216eca59c41aba456d3bd3afe468c57129aa9564894bc64f889523498c46ee5b92b9f372c9b81954ee8cef2dc34bec180f96975824efd0338297f880c0bc7df032686e9e5ef0b7cef1f3959132a766cea017f26c795b22b10a8b1bad514417598ff21d91e344768a495b261e933b0e8c83da8e551103641e5423bb8b9e4db5f389adfeafbedf06ef2db97171402c15651bc490e0a0053b19d2a5764109fd07558c9387164b0976be1aae418e0d7e649ac5c6da9d4f09f9450ae1f75db26a39f672be16273bf18c9e673eadc7d0a3299ec8805f7288cb56fb1ab0162a0f61bcb4f974c7d45ab976cb19828287f8ab73dabd74563e028307cad4f9dc1542df2f469f462691a7c2de23c8e989cbba5894caec3644e83307d98f8c02151f2c2ae5f7a7545b6a4333badaecae0deb7b69fac0ea4195e6111ab10d25f232ee2c89bff23644fb2b1e881e48e97ef6916e4f53fda51bc2223a2af6ef6a8833665a488ca0d304cd6098ec013447dd0bb908e2768416adaa50333f411ca23a6c6312615eb386e331f159af180166286b0a3945353d910457a6695b4dde8f9e436624033cb90bbebbcc89e3e78dd4a41d0953aa075d9bc825e2df9dd2dc2ca35a28adc1d9228b795fedbba48091055efcf9393e9952465be33b6030f9a70b7a860d9e59305d3e241541b480863087d21b2cb365738e525b7f3e06425586ad54c89982a8049c0f009fd2e305959c85cc703921665a21ddf46dbbb264aa4dd8d4df746e1e04f9c1dc1119041de7dd7afcc104a5f4e511be7d9d2dbbbb073b9e2a50464bae6581a38c2716600f78fd680c4cb234be8a0d27f3a32672511b77beec0a5fb1c4326bffffec28fac8600fc483f8b7a960ca44cc5841b879b28f6e2c2bfe4730671a1227b4e99a2ce425ba55d90a96f95508d1be2a19a57124ba60e47709d513eb3f9ae7a1871949773a60630ff24b52affe844c8cfb2087781ee2e01b8dc92374a4c5df2fc7e6167cd32fab445daeff0621e6a4ad522eedb82ca270dd66cd9022fdcafad16346a403e0c534e1c655c59c55ab7351b38c748d2a7ef239c8528867839d7d733186feba42b3c0d84f15c3147ea75131fcabb223b5fd142721f3845632d17bf5d36c4fa0bd16d921ac8d8090b2033d1563b60fc360e35aa12d82800d6bfff0fc61a11238f58ab07cd8407ab2bc2f4027deeb9d2dec47ba6291ebc3bcca731968c78e34699927c59c59f45feb4a8e865eb0f97d373f73194e0725d84dab623b3686e8c41d0f3510e357c4e803f836bdf6d1eeaa02da2a9f67419a71345ce18b1536cba7840f9704a0cad7ddaa7f75901f9a579e770e6f88fb1c9a4f396bc6a512bb17c9a886e2b04eceb5e96e3f0ff30dc1f5a501429bfe58e2b232057eedd63c41c3dc24995f26c83f99007b0b141168e5b6136cd26b0840b688809a24911afabe89e006b87349026b10bc577c1e077788c685598aba2f0e5fa0b27abf47fc5289036489dabba24358ece06c9dd901ac59d476a340809676ff2c35b36185e5f19be0ad8ca6866144075d0af39b79fe910ca139c7057e445f4fd69c936b8c5872730d3cc3f5e2db62d00064bc10612180e6532b2d01532363e5f18733044604bb4d8cd039c0427703a79e341486985add0752e1ad7bbd77bd7b01ea360c44eb3c837ea569b062962ceb702c58ecb0f6e36cacd2313680aef9396676e980d5ed183d7eac6f54f83a4733e42e3aa7919ee7461cdb0483df9777a205235a0bdf59385af2ae259425cd3495562cbf16ee3c130f94925de6e8d749abf9028dae7390653802e7932f8d5bcff984556b4a0fb0cd4443738e09385c05754dd2474244bdfa99621025c15101eceb59747f5b7ff121825bb607b61d6a63c20cd3b1c9a2a3e48fe0c273ab30a46fdf1129396fc6edb188e89a44167bfa69c582fff743028f275fa4ebe1ededc6819305dbedc2c42b7f85335aebca418a0c404a4dae9b44b5c9c78089a86122981a40d1335f2e847219f618598e58deabb8fe17dd61ebc916a086e2a7936c236e5f9d06053d01a9d488d75d347774c6594ac5e4344aa52fa96fe63728326b820a6ddfd4b1b4fe8891294aeeb343f716cb362a89ecac526a2904a8e19ffe5331f816a0a26eb0dd430f3f109b188b0d3d168787efa37f17a37cddb66b602876fc33ef6c74fa6c017f1fbaa8b5c95086cadc1c4199b3d94bd69349430052c986b75e4bc1f82f63b6ba5e956f70a0b6b33ace7049edc72f08639e69cceecd8ca812266f605e41a5b8c78f52992c3acd58246eefa3d984ad464760a0e98360e68476634e91f9c81ee5b7ee7b114324fc261592e5650511d7b0d3d455b57e03251be92c5e6cc4f16c1725a46b8027b9cde04954153ef91404c7a7b915ceda7781b041aa04db05ede59b9c1ab0053a0223747c2b298528e26cd83bdba6e64df8c0901b2caf253f4dc7390d61feb4dfcb33dd904877033bc36992c4fb786d1cb8eb3af1d786a8d1717b104daca00c2a35e9059a8539adfde7fd532991f245411176a05663b8070db578fbe3503108f335b8e953dfdcf1fa160a2ce704f3961f8b07b6dc113df113ed586ba7f3fb08092a8416c28019d6f246e2747c78cb05639c3f38804906a4d65b3b9fc22270050afce0d3907eb8eec9f8a9820747fd332c70792b1e7dc71440a1e4c968ab8f02b3550593bf4782cfa7c050caf101b146a8eab3900dab76b45124cc4e287d24a0c9e101b37e797580a8937512969019760989c2d26f09443bc6e1d94e4bb32c572a9a93302cb8c379fc1b2c2f1d118069315f566ebe0b3de607debf20765892f3fdb8cfdb7883327ba6e16f140e1e453f7c9be7b41aff20c5e70e0f533bcc6592df041eb0a4f0c57d076518ec12e18265833f13facabeae86e96b9af80e67953b70a99aa10594c32ebf624c42502829468ab4906e058f63641fa17ccc121fc19562961a3534253a416c89043957369cdb0376d08a9ab326141d4a093381ca2e4e52479e219dd04544ebc24b99cdfb1d61f0cdeec0d4147db89ec6de4a14ef0a6b56804c45a30030b26083d59d7608ec96b8de35f590708cb1ec32d4c1aa04eb3539f463a1d279942f0b4ee9d44d96be1c18e99827f64cf02f7ebff72885f50421bce4ad3785c86c5aef1289cdedace0f706b4ad089a6b5b9327b1f6d43095c27eb166914582d663f000572301cf0a4cd85eebf6463d76f750df6ccb3da3d2bc178fd73e318e8dd385e9e333422d470738c15dccbbe2b8797bf921a22ee8e1e892fabe3bb8bb5985bad5b6dd7daeb8ae5fbfef8bbae7d0bf7204734e93cfb6de778db0589c6798e2e84b3dd89c349c5a8c5d5ed1ceccf29e53f354e5f0a50a63200f020c32c086e77586b28207f51e2a07860d1f17dcdabc5ffb804d1461919187578f28032a253afc514f5abac2b8c8d6180d532e4dca979e08819e047b89f17b58522386c7da706a7a7e5f4d72a62a92990a821196940b2190c44f990e67a7147183ffbed5c64b2b8514c74afa0680ba5d50d397885ec2c3f574264109b609fc6197479057a2d0d8cf45da3d5ff8414a2084caaae3917ddb303d6f660e23f2993263f0d5b58b717e87866717417d94769fd311e649dafc70b29665113cc766c27405113bb6dfa5559bdb9048fbdea6ee2778aff329c74a6c7042483ba96ce6204ba3c2c6a6aad9d86e661dbdfa223ccecccf96be28a8ea503512c0075d565758f265886b976b4298d27004f104e9f2381627429edc2ed05a469ee488341d2e8b40b8f70dbd060534a138cc7ee402e983597e597565fe05c2bf7df2cccbec6158fa0582660c8c2ed468b4b68996139f1f6e26a1dd7c3ec317e351c4cb02fe0c17c90e7ca17ce8fcb752a5a1a38a79c3375da788f632dc59c5cf24c71a647ccdcaedf1c069cf177409224a7c2ee447ba643392d364eb97570f8b3e5339903cf9c9a7b4bead99556f187d94ab2fd348e2415821efdf8aa4cbb29de4d940a76808bfa4df75b4728f9de995f6064b12ebae193ba90b41ddc4c2f0df84d776d9ff28b9a697b458fd45e6aaa0fdcb2f377add0e0dfc49642887431444598e6640a12e92dba9f8dd660b75a6347f65dcd4f67c021b4070de3698047475a9b690e2933d4b1ebc8a47ae5128c35c0324b999675f7e7eba2e592f58596a681afa8fbb129bc75ce5c6b0375ad7b4223a06128a6898f642863ebb1e27073fef3265564eb8420e6473abe8e6027645b99ba27bad3e7400934939f171444d5531c902334202d4bd6ca93ccee5df12fce42455c26565ec87e65c1f3cc103f3aac5094a7e79b927ae4183697a8215ec6061dc18e1107ca7e649abf4b32f399febf7f9ca6eda3c70ccf8edd261ffa6547d27c61b24c7988f06b6078f6d6137339af377d9ee282be76545bcdeafbbfc0406a1daa82af37ae5d4d6e3083969dffa8b33fd4bd87105d3aa07a74a7fedaeddeef8640a617ea07530f39958f5af294b2698f810ee77e9b4114be2b79f394e51cc38a9c7edc01f1ce5dce5514f4b508f0035074f83d680919b14a7e143a98a97f96ebcdda668cb91779ae08eaa2167340c514d62a22ba544abf9807e8d2598f47c3582b4e0b64f2d0cc5f1094d002b8504fc4c8fea5ac1bdee8c96b45e7f3b18b98d95b04af07dad674736074556b547461f3d7e00f8ddb343b43edc5e312da77237f7aaf5d1b3c0eef41b0e3c5e2a0cdea9176c0fc482d24bf94940da62bdeafa96bc5538087d0a5848ade2dfd5fd4d066160665fe053efd829572bf15519e954b3d315fd268d8b04484d96c67d204d12ec6906c331161ba18287101bdb0955616d253542d1aa2ad76c94960f38e41c4bc11c06d434b0d0144da94f4d843c6566623f0d00724b56ae4d6b657149d76908ee01f5dbadbea84ad508ed5bbd2a93d8d88396380e06395fa04a06cc0c642215748229522b446b4eb8185fdc94f946db441c030e1cbd48df9f655ace43b2f10c03f5ff060287fe0fa2b88e72b0f02b64e3e4df2e38bcbdfa118084229218a20236141c69d4231b164f98af7845d698c7d153f98ebc8c77024db79f5ca8966d1255fdce695b4bb8995a730f046010ea4b2928a91291e55f393c654002ba023af11d5f01cbd336b45affe4b79002a7ad8d6dc5ec32062a5dd2fa932cc1ab3b4002154b8c8b1f1e11767468283b38c0df36e16c9fa62f69eb9fc6863a0c1fb45d1b193905ba250f52693d81a343ea0af14b62f0c075656d54504aecc7207589384c1e0c0fa9217d3bae9bd28126ff22c2090c3bd176f93661cbbd9712269736d2bec987ddaadb6b0a9b8e344ff3046c7eec06a71d6ddc739efb32ecae4da43e027910693aec9587cf81b6f43be306c95cae52590973c706a958b970fcfb1455d543dd0e8f3a6e498d07f98538a694f0709ba3c6b2af50d532818e30f7ba5d92858d288462171676469cfd98906b80b5cfef58269d478b84be1ec271cc2139888bd75485378e9920b90aba8f028925c528bd4662bbc545ce048dbd94823be4a2d0e39fe84620c69ffec93925222e0b4454f17d0ebd93f14a99910aac29eda57eeabdf1f7393e5376a23da2c21f2ce685597564981cc85cc1586962161eec496771a6ec2e0410bfd756482afb38bf45cd4a213df8ab7a8859a69f638d2e340f749754580dc7cd3699f52f33d1262340e3cf03f4a05ee8d3e0a121ff563e34b930dcbcabe6c81883bc77a170f635a49f505de01122d966e3b56642a6dd91c330481febfb548b3ddc48c2ba543326bd15bb9c379dffcb50bd063a7723a7c1762bd9b22403bfd93449687c75b5a0bb4c53652e890fbc7c7f1895dc57150af43cf0da02c7f73c69047322bb75bd84e5171d56f4560bfd938f8624c2ef639c2f27faaef3e15f7f878dc9c1db3a6f7aa6adf04ed9a81829ac680487f01ab6bc5f79494b1c743690f491b74d3accfec70cedd104ed565193875ae4b259956ae112c34c5897dfda1370c73ccc2e935ce1b10711270473fd5a95c7e60b313aab7cfeba92d8b7d725af20e5b483131f92fbccba801a5ac6d2e4b4893a62d91c276fee1eadfd47ae9b8b3b897c7f9d153c24faf5a0970ddc188a1d1512b249513dc1bc06137830fd1f57a248561e810fa904a762f40b2da5e47a702ba2635b5574999e1db9519c3705ed99b33aa1d4b85a6113584aca5990ea93803ef61772bd8d4887200db333e51e62c9afc1cdc3014ce213cce579f573c79a9f4859bae7a7d2d5e5489be9c32c631110ec06f8d68a1567fe83ed262f7f1a2b8fcaca532f9b8c0b07dc7f1e520342d66cd88992c08b631daa2cb5a26562f6f5d0460d081a9b4e7b9d7e38bb985914ecec60269543a3534012307bb2e03464d5e3b1b9387dd30cbeb9511a64030a5094f46cfe4009ed172a4519a0466ba64565ce9cb90ac727056ef80103d4373ac473495e33a15aff3eb1a7e7e9c8d64fa28cef3fd441716d91fcde9cbab5d0a29bc68dce76f288e3c8d17334c98a963ff6aaa3f066a9e07aad7e9ff7bc386adfa125f4e5c9e0b077e658957ec1a00774fd32dd420a6b3f62dd4c5252c9618d048a6ad19004937d8e42d7e0b5f3850fd53b48c49a6edca8d1f76f363825a8438269828e79f438cfe02a06baca57fa6d149650201db57d3edc7774d5596af8e1d69a9e805bc5bbe79f2ce6c0fcc846f07137fad5ff75c821d8e75e0ebdd2d8254474539e7c097774ddc22f926914987a16b6d47a2eccdc1ceb1341529c4133b68deca84e599709040652164c9f8d0f378d569753bcee843c0435ae23fb4a512b671889bf14d039f086b33e3aa7f7700787fc766287f4371adb1d5e6395fb79c0dfc620b88a6e134998ba6a9e3fa3025cd90afb4a08b72a490ebf764d01c685a50036f9b14a027e65178e9e09a252a2c4e42e360033e98980e352abaaf3fe63e84a9748dd31a36d919c8f2eab64ef05b0f236367d0b839990fd4918ab752cc2040e9fba4f69cc283ca0be43d4c61cd85d71f4ac4bb098c7b7da6adb61bb6c276ad342e20af8b09f04a68490f67d7863c90e51f94523400d89f8687536eccb4cecb6d06c0196883b118337c987a8bfb0f0c77472d3eb4e562cd01ed2bb54448a072ec1dd6483b1eb17ba13b6ef4743b3c14559c076e0e324d4d73e5abdff3c2a0fb0934c653abb9163e5f09129659f47bbcc8b02d94c068da08a5097f9fb351bab420c09a3ed419b60e92297723fdd3ed6f8805eb47432fce7f63bfba1121a618d18d796e28f7b71f20d64f25cdc15890b1e31b232bdc40ddf4a80e60611d6db1a693e0950ba5b8e832b894d8fc7203899963b61252a2bea4363e9e83cfd8f66c2b77ba70498693f96969bfd131761a4246491ef6b976696962cbd4a09f5f376b3c10457fcc60222c8b358de4375d982cd930f17e52297ebe955531fd48798f49047156d617d910769029f6ae453d018856e365d6fba2590b495a832519b460e1b868e3b9c33bc6e4d00a76d6f3813956e0573998fcf189e9c382ebb44109e1ed89831ba41b550033ff4eb2cbcf5a94f36ec43dfbd5860a58b8810a11a4999caff327a3752702b42dd15b6b3cc7f5060233298bd8f83b302801af536955f65272c00b91c7ad73ca4665b73738a479d6d0266876d8fd4afb12ad10271de287287dee8395cd6a75a4e200be7ecf4b9447c0655076e3e2d126d44593a8218c59f83f314f3af9454f6858da70954145bd5034a5bb354dc148248d809b349db0233c34ed896516191e1ba4001c3776ed58568ce3cff10129ec9be6e551d562edc4be9be4a27558d1fbbf60ac6104f4147dfa08edff41513e089f4aebf7db67b140085151f7c5e7a90ebb56742bd57037a333b6a27f329cbf68328850029c8c73cef604573b3899883cbf350abc2844a41cb79a65f8fb4e4464b22573cef1654633583b6e8e912373f76ab6cb0ec8eccbd25feb76e276ea081525fff266df9ff382279728f100a5d06a9feab2a86f84ebc2da4b7167b721d382c08270fd849336a0ca5f1a06d5ae9e66875c35660752060afbdd1eb548bbf468fe4e4f76f696bcf412ef9ac622129b8b058d1dd7010f10d0b2be60129fd5b3f7f47dee98c742fd04d74c1054d26e7f26bbf4158fbc5e74a6e3b16245ee148b7dc9773c3f6aa984f95f092219fb1fc2ce8c56f1131b2ca484c2dc8da1d47deadf88aca48d8ee750ce15378508fad4d8f2715e264c63e60a53d23af51663bc55173987b52c174be88fce53b785e13178e9dd8b0fe258694b7f5b4e2c0ccecd6f7cac06323787cc33c9a2b332ebdbad4bdb43a16949018827c6b57ba8f3a5fcc4ebaf2be1f366b2a5a89e074cf440852753877ac29f717deee580578e98eb15c71f6040fadb19149afc0b0cabc97ddfe0abedf31be220a30843d09cdcf7dda1d0875ac0a2571e2bb4561400c5bb1e850bfa3ee94ab1f69f5004cf3c70c1d965b8df1a4757be3c70a1198b1720505e5899fcf179f40f6129e5743c017eff864f84125ab947ac6d8e1540f89ab1ff907a1c3fab56fec9d80daae8da1ca5a1c19378616b398032ace57167bef3269017bcea182f6f655ea6f2ca3948cca5a2db010bb96214ae04b1e09f6d991354ee3e40e8a187c432d8f27e3efbf37fac513b8a6605b6288fb73348621e91233b42cc03d955870422db84f65b3b8d64bcde8d8d97b0fcdec2141e5a6be7cea804652a4a6dfdee0ed2729cc9b195c7027d09482e0e8e612b35a560190f57b815308f196e4dbcf9661f80883161cc75185a3f644abc472465c897675613c3922d83b911b75d2b76442a3e9e87458401361bb403c161474c4d99fe4e1ccba3870f769eb959f412426deed654bcc257f3bbbe6bd1a478c8afacaa020e3093a2e5a02242d12541c3c53b77e5ede36772fd4ef4bbea0ab691a507dbaa8b4f6b1962f962f48a4d02d724d5e8fbea1c959a79adbd17509d530a67ad03986f8475cb73fc65380445d3f41e6d8827d23a2e1912234efe365b1480e55c5c0d58149c6a159e0f877830abbbeb25253b10fc5b402bf175ef1ec2eb5a41080fa365d4c8922bac05f2cea8c7b5a8ba4ec46f81150f33f68134ed3ec722044353da6710d7dc0fb6c82b20efb0e2dbc42b8feb12a2659e258fe7da9b0bd81f55f66ef0c7db180143647fbadbfbfbaff1e5dfbf7efc6076167bc64f2a63628c16d746528c6f271a3a7f980430246f882c7a20a93b12ba513f83f1421735d83b932085648445b4df7dfd824b63723fb66ec63066da72a7a5741d2305561309f3da5ca607daac46fcb0405db80d721d9d193271a19a0efc4e80dafe520dfefbfb1eb5f6a7cfde179bc9572570adbd2affe63ece8a6c64a1a14ce922a6774aad60998bba3b735ed28ddcf864ebda1d0714550b1e42227ffd84ba9328efa48893fa7b947ca34a01a22e94584b58abb09913903f5fe89feca57ec146ba42cf537a756c3e7dc2cfd7fc973bb0dacde911e1e6d59643bb8a08d9d0677156f6e82e3e97962dafa8915d30eb5ed5f11b95f1ea13236ec7d2cd58f4e814cff0b6dbf9d635156963f7605a49f64f6f1c3fa0c21f7dedeb56fdd605693eda710d9dba9159485a3b7788f51bc52b18424a582052c9005d8ccd7b09125995f57055cf87623dae7a39a0f29a0730031a15faaed18a4f0ab50905e57a0a7c61ad27d3e3bf1223c00513ff54116e055f6b9f8f7321c351e8aaa55fa6912417d628192c1fc3d471e6c831326373237227c0df5a0b30c06fd1d20444c5cabdf2e01d9382b90757ae87a4aa31c75b7affc0a16d41d71c838586e992e43ca14c10d977da0a426b310a0494674c696c8c672f7d889aed27fc61e151b0371d41e148f3274ffcd696d0cc0f3f5586148912fe18261804547b6b7322d30cf0d2fb1e0237f485a2e141273900e8d2a1744e0734470d36f5acfbdf5b190e85671711874e730c316fd15eefe02d942f5841c88be60273ff7fa35c2a9451da44636d56329da19fedaaa8d5f25df1ddc1c0234a5921f36458b6f331da1f7f8674c946ee3655be2a7b27651c3af64a3fe037701b11662ae7c0d4fddd9e6fafd94281a90741d0d1414212d4cdea385a560153ed71385cdfa73385f31343b0e1ece7e7454b62fa1f29d7c8e801193f55b8fd6209a9217ba1aa57509a3013c24a9fc997e36dc3ac5e9b9b30ac766db2b4afaa5f21e4f034a73aadbacf5a6990db1d3bcfff23decbe1b04887d56df7a568126a8c38889e7652f8ed40f7aa06b363ed69fd1730928994490495ed07183ad623ca80ea35cc93829937b7490bb20201f9573d0f27045add4fac62e23d8a8d026d84c918f5425274548dea3cfb391e0e955ce1a58897b16e400118a3b97bdd9665b10423ca8212c046e75b1b56a830fc1968573aa36b2caff8a99a6bccb3313f5c8ef0674021cfe0d58ca64c60aa726eee7fb2090ff944fd424b7e0d1256922626084e00dd837a5ebc9f0c4dfbd4c1349aeb4ccea4c551e379ca22d124812e74eaade76b3552cc549bb8803790fb042e0733851302c452966531a2f03b403d5ac7a82085e0afa2fef4e00cb5e5003b4aef5511001f95bf56be100da917226ac835eb3e802f46b74217cd7d0dbf330962f3220812f14f1a41de6be397480464883038338a27285b61e61f15aea58303e5ccffe3cc2e5cd8f6e223e4d06b5e6919e520a6365e90e94557f6208779de97bb7c1e5d38fa66a059bbae6f610d704a544c4b8b08f2f9851957badc691044f608d2d1242a4b440637bf98f3ce59ce72d072fb19a55bc81b58e43c79145a073626bd0db47e0f61274bd02ccda2ec624cf84865884dde4b1161706fb240f9d0d384d1ea1e59f63f8b3d1b2e945748000459ee25706e68b20a2cd5f0cd4135004c571bcc3b45cbbc74a3b8aeb7e009e5c0d2526876b099e69cbbff18fd0ce1c2770075a7d9107d0ce6d0687284194011c91d1ea88a4f03b0cb1318e48100e5a71513e8b90c0e2502d14a20c68289eb52646f16a60891e3b10bf9ff4ea3f65a301ba4d4994f271d62477009565032560e89b4e1b80d4f2521d6506924e9d726e4220e66cd6453ade0090c19e5d94da315dce3fbbea7bcadd566a883dc3dea991558277ec960ae982d9b4a83e3c1c873d7ad085e93f65efcc80df000abac831da73c4d0ead60a644299a413daefbc15d0cf366b4d047a7f0845b4efdad96691a1235b9d7596a453463489387ae007992ef5c60ae0fd49040077f31d6d3639627b57270b97a6a48a3a0d74e40c55d5b17eeed6a16f7f4aadabf499b3a5fe81fb0b6b16771b81310f96c99fd1b51709f809fa852c0a04013ce9c4cf4cde79dca760e6e0ba08eb1006ceb631d1ad450b66833ede4e0b671d08fb4cee34374d72e54cb0d81602e7075283b15a3a622b9d97604572676505987a0fd24e2ee1702154e36c96bdf77a1cbf355ce67aa579024f688da5d5fd96b5f65c31fdc8034932eeb81f72a284b9efc796ef9ef86acc80c4d2aaaae3c33f93dcc6e64e7ab00d0d5eda4f753eb251efd9d6a64004a5ccb670ebc0d6667671b009ff242745fac054526b845a3ed9c1632032a159ac3b7366dd4605bb436f3994d5784ea000ea8394303487da3d1a5d77dbeffd9b48c164dc83ed3951a03fff53744369ce5ca352e8230e8d66b90fb41a79683ee17ee4b0e6c933b2a9914d115af2ab358b7562d7e19aa31b33323744211263171581a3c0d71e3f0dec5c0eef75cf715b63eee83bcd3593265631b21cf6a50b38531c67a1ab9c857f261c1242dff7b0d869143d31f4bf6d545c897aecf545b36857db0f2a214a0dbff27f545b8126ae51da8485085d77cad1d9e8cc59f19d0466468416888a92f75f0ce0ad86b685699687f065ab1b76407b36a44b493bb9d0a240704b6d5665e57b0ec934211e77e1279fc70aaff40ec9657046edbdd9441690ef3487d05533b4a59ae91763f777f9ce262946d37837782bc0fb5385dc87ca2600f240f2cdd43f6f9b3b1717e2a1523d622bdd8685a9626117c086e2ffc63284790aa7724c3a6af7612edd4a00ff6b3022a06f4f0662c1c87026e45eb59abe66b5afe1c409535e0fb7309c89b7a2109cc9d2ec8193f0ee283bd1f3baa2f02547d75ede30d4dc252e2093d24cc09a9d0738477519208378ad44136fe5cd5a325201bff34865034f8e8cb9c472531e00fb2312e7e4ecfaafe4a5426b9f68c7bfa5a016183acc89539d6decd367fd03bf00caaa722b1976a8a8531f59ff24dfe0ae02d59337509b279cba139427462e84f98778c570d487ba40417f9fce0f616305abb4d94a7a21b312a211cf45e1b90b43154fbce2b5e10fcb95e9e278572e13c020ca1a92d5509248973240dfd7c967da5fc8c2e4ebfffecd9e81bd8bcc969069d1e50269c0f4ecab4b0d278d593af044a62f4b2e35af4da52622f4722380868d81f76bf49ff62530a7a5b78ea42b6a9702e5335fead17cd8f3a8fdeb6454d23c70a062092377824a3a9120ba72589c0ca968f19617114463a21c4d5870ee482a407f159114963d9c3cac70b8deee1c1b1ab0057164bcfacd78bcf41a484a8d7dbb41c06b1262705aa19f8fb77134e8f9b2ad7343bfd873318dfb5d08204515f26561dd428594b2c0bebe073700dd251cbf1006c5295c6ac4d355d2d09bb7cae7658ce600672cfa402881230afffff182a34645c5a702e130e41ad0faab9ea270fd7f51e56b3bb7d327c089889c6efa2bec0e1df42daf5a06618952d569f8ddf9cf399fb12d84820045b40ec67bdd14ae37d55e310d6bc25a04402305116b343554da9ac0a85dc229a58631704b273b9be8cdbadcc27d78c2a5ef61f8dc8f5ccf459254bd25da61e646c10e6e6915112fa5f2be4d715bcdcc5f1b6250d96ccb07c8e9fc832275e1715f0ca00165fe32b6296fa4385d19bf9549126c65e1ee8ec08a079ae3546d516e94a93b9fe7bb1939696f79da37f320080e1107ff05d514de71e927d1a6e647753c744d301fd07060dd51362d840a8b8cc63fde7af108e1e2edd111108352c0aa13a1549b48b3829bc075d8bdf64700dc5793c6e20312f373ae10858c4bed607d6225b6f39072f57a09db4a93c2750a964d69720584f139a31fc6ef5c16e0d448f818d7d5b4cf34c93963e01707f860c25e6151c71aa1fd014cbc4815860ce633596d7cf6a9fa389410e014da9ac552c5cff21925d5183fd13e696959c5ec57c7cad797b6149095fd103cd43beadba94b9783b3e3e35093deaad69bc912aca0742e8d4073b993d5b8f9654f5c3bc7256ca27256b68c06d2449a6c4a065f0fb9155ca76056e315b72c4e422f87931b282c96d65593b841772292c725332fa4f890740ce322f1d03fa0a0a5fc5ab2c36b81cf8abfbbfea0ca51216a4b4d8ca46355f1ba2493f64ccb2ae94d86b60c53cb743135074dd2129e6e29f27e4200817000ca0fcb1901f9e3761cb39bd2f7e46b6723692f6ea095e078247feaa5ac75a8f93334604f6a8d19832b6d85e5c8ff797f7fd2a57a503befd8fc424a3f5af3d6e584c3c71ba61cb24310f6ab45100e9dc33c9140197f12e8522656f186bce472fefa72a0b51fac5aabbcc05907ea95a459eb2df6092f8e3920ac52a6ec60038d2e25f84a2abc20205ca3a9ca0c6b99ab23c54a6eacd3aaecaca67ce69456428f4586945c2aaee493bfb15c1cea9c2bc755ef083033ce5ff8fe44673b43ebe39ba9303867fdd92c94ec50eb42a66678adcb3e4d7790bee494adfa8483f5cadd38b7e79c346a6a0a9be9f757a41197f57f4c27eddebab1120ef8f87cd346affaa230c8081be466e606cfce8eebc3a5fd99d710455172547e8dcbe2ac5d82b896f7c5a65aa0eb76cd0edef70d6b31aa3327efed0495e59047d584639fc8b7843b65f520c69eb0b04cae48dcf34f096327c647600eb28c7d2dac0837cd6cbd267b7d7f9dfe728002051b5d591e5a9a0a8715e811ba6a3a945c3c0389892be2f5478ccc0c3569e8e0249379f53707012d712fcc69ed9d896f0de10f295f8b11a8444ccea28f18c60c2fa1e4edcfd2cc09824451e722f19bd96a78a371a07fcc10fd695e26aa164f2a23ee31dc1a33e53099a11cb743a38d2ee3a96d9a6c74e569b9aa20dbcd5aa3e4f4a90e7d4cc69944fef47d92fe3fbad9523c9afbf12d93b50deb11c797530e70017d3703188039b1f9ec96d40d46d0aaadf36c37022b10ed75e0a82dd823588c650c214390a5dc305ae8645f1b87dac35d9ecb2ddcaf8958d68d27aa344eb90c40caef3e4829c0335777bf3bd0d531b5cd07c8db31bf11c144b7cd6b4e7e9227cd39974b908991c18548b0087aba88c8927af6d49256b280eb79745062e3d47b12d1e22a9f5b04de4c43413a0962f05b025dd691ed11b45729d994c7d1699be77bbcac3d9c440b68fe48647b6c64e67fa2a08ff2dcc807cfbdf5c4f9271c16169c6251ae516176e73426be9dc5565b8a1fbc3ad9fdb29fb408af02780b515175080f0742525474f811f39a1abd96614694988ecba6b7f6d0e69320baa41d8e2eefc997e823977848eb75c393da94c342f197d13f1af6e139aeaf2f33a5417366bc9435d4903cac946dfb45c3602ac258e17528e67b2e4a7393524b4e776c8ac23d7f3f9b4a9995fcdc359f72c9098f635944b5ce50f6e5af4cf3651cf15cb326520d41fbaad5e1d7d1f79b10101e1e8a8066a735c67299031558b084b19c1f9902504ca94dce854626932290ab9cd5c7f97e982689f2925b815b327beadad3768b823501a98df1a3914a4cd6893f1384b00952f34f268532f20bdb025248e458dd8766b31e9376e4be013e03c371d0a89287b41bdb10741972c87bbc791df0d9dfcfd09ed2f83b1296cccf9013335e3026876dfe3a9eae650ddba8a6b337475d67aa405fa2d9bf8e6ef13f37aeb13c772ff68819a31bfecc8cfda1661cd8a66ad09a9b7faa62a270cd6d8a9166d2a2e6924b706a5e82fc022217738be3cbe1f0c7f87ca47ed53a88c2f0c8ca9bd0ad91d72d224a9722a10832fc30ef9e9e3ccc08f9227e87c62960b3366eca7d4cd1efa4b3e89290e519108dfefbf920b3a73ccdad5167fcbbe32fa93347ddb0957d391afa21412afbd6015fb464512e4b0017f75ab50718c541f7994636d689acc3f2776384180e015409dc6cbe0d22f60dbd21c9619392e0713031bbe9b22f2321de6c256a672ce33f3a0dc0d8b1222cce1d24a65befcedb34f960ddd77cc9c75d8d7b3acc17075fb5c9909e7eaf074f5c605ab51f6120c0916358a2fa699a9c37519a12ba9396f6279ef2e6d1d709e7e9701e42adc8d6eee7e984ec2afaf87a96081542ef0bd20805f9326d41678a0b30de0d69ae89af8b49ead9d498ed91fbfd2a1c730a55af4a85964ba8263e0f6555642f83fd4d4239ccf882fb284758d670fc9c1de827cc9ac318d831b29d1b068322e4973fb19a70f65b8b5560882c2148960ae6d5302beca56b3bbec904f1706dd40ff3e9b114fa4f3dd4d13871334fc4c8582e035ef60eb113bf6a8a703ea69a5a42242bc43e662f6cdd443b5bab48f48d31d77eaf188c09caf411b1ced72a5f70a134e0fa1615b23c4d5b8dce5bcf77c7ad536aa34f9c06c4fe912d093f2bbb3b12d7b831edf034422a30fa42116b1c9576065911afd933fe039810f0b32f9f95f20c96ff917ac0341ab9bede969d61904ac805cde727974433909a715fa38981c2799abb3cffe0b6ea62b938d839bbd8fcb97e0902df5d0765b97b799b5b1bc219a6e8db5eb3bcaa8745b3b0a89b1b579425489348b03c00933c3e767fbaf9bb8569180e7e9c2053428343c1c5a1b04734657125d57fb2a85022b1227bdd2bd09587a04d77377f02f1558299c1254887c9f87747cf1d9b249e967c4284ac9877b96f40e6dd0ed4d62c48a90fbf10d9f194ba3cbeee07fbacfa6dfd269f630f62726f43ead61345e50006f347b2457c0ad54fbbd785d743575d29ffd2742ff78cd7dd9da05ef38f4ab31b8347ac419f16079493d6dc5fae0258b1c347cd95d64e1f5c4245d515c43ac64234a9c636e95ce1388c4f89f78546508b51bd1cc51723106c7907e435702aa15260466b75bad643090626621d54c950a7fa46bea818de63ad53b099ea343cd7da1240cd755525a433b143ab99d8114505efbf854d2993669c4b274c89acf27e5588d93c494644b5e44c6458561208e86d0db062bc154ad74e6eda8229bff152db34ca630bc8f232c8a5271de91c1afbb4d40211c28261717245daa220c567f410603100066b704fb3956f698f0ebacd759de2a32b1aee6fa948c1c5bbac67598e3f7a9ee8ec451c78c45550d52731ab6ca451213565e77374bdefd1895381a46475e913650bfe8aa105e2d26e985c94ec8ace806ce7d44bc88c3d74505c7944aae5af7a46902bf982f77a474ddae2e92ba8f97b104b692933e47944a54e2cc722e853da3844911f7d66644c828a1edeb1e20e0f691eca231f5e076d7e2e59e2e4b325d31329d3bc098c2dc8312363d0dd82f3d4b8108ebdd62a62bc35fd6501f466e75e1b14f214a526b317af6b415e6b9c7bae6072738487c0d3f3b1a738fb602e7e3849b8c4b69b8725fab39933187275b0aa4fecbc9446b13d7f9b1c64dfb7d9ddd93382de7ce951f1e485174596b84075def4ce859183557d298293a4286695376a03d4651a3a2b4a19a07335555e0befdc31b211beffea36490910ce44a19a74f48f4ff9db1b21eec46ff96551d86bd0454fb9aa02867f773490ec16af8c8433182a557b315e254738ef78de79d5afa09d8b3f12a7f1d2c00928abdd79f3e175ba489d06226ed4fdcb3ee727d6361014d21110aaf9ba03229e46dbb569b0c974167bbcbacde775211fc390010ad1d55fcca0870f30854b08f67f98bcec8bf516607d68e66a63cb7b44a4547e8a0f00b46ae91c3e822c067cfda367587dd0d013bb5c7a6d9da322f2fb13e4415e18a10c61729d9362c42e3a3bc6c3fbc915e2d29d519f24caea80a38342b61c43658d54018b31dab9397cb12c12850e5ca6fa6c8910807e9cf697f80af133c07e615ca2500a61dd733e3efad7557bf7fde33e67f922c53b02b6cfee741aeb7f6daa38785e6c140aeaff9254d6bcd137ece4aa6a0c7e2e40326ddc78cb17de7c49c8e58f9fd4d7ac1d8789fc8cb8e760ed57eba51a230dc74b46197aafe4509b6c7534b67c7340d02e0ce0fa5f2c2e0e09041e683a1681d70c76f750c4fb290dd86b2ded2b9a27e9e999efa65740a012740fe121888a1e61b4360c44d27b730cb51655224ea5625cf25e75530f82f6d759d1b0bac4cd854160ab55fa676dc456033d2b40959fc69d58639132905a52b94d93bfb06e108defd466901595e91d471655e380050b8712dc53d0f387b1fec83a794848ae4d6cf04c13750b42347ccc09ac2d2bf0a779627eb6f1b846943dd48f3ef037a76098b55bdb94f5fc57e5d78549fb7e5c7bb178592a2463bb42f5b1990315e2518fb0c4cea56299311e626de1147a7fb67d57b3587547f37d78794d2409d0ff951f26ee774716cb7f42d74e4722da358e986687cd91e45003b6a5c984c39da44f69b8dc92d3f3ef6cbc847ed146f8cd2eab18291a7585aee6809aa1262162c2dc3553f532fdc2dc46b23ce494d2768c5cf9ae990bd8d03bc0140a5d3c40f8bb67dee3959981bd72f58dd6dde8ba395e32e856392d049d1a9d0e4253f6111b63bbb82a0e136f56585bff53f911b567d9e8fc6613aa8a395b2ecaedf335ba46ed824016639d5751b7c91e13752765b5e42d7aac58dcb2227a1a93fb48c07d25b4113230a612feb1ec6f144269686bdf3ac4d1366ddb2c4f41a66707898d9fb837571abf8e344c4fffad4bd02d1de30116a7f9cf02632343c7de352f52188db227a7b8c1c8f0fa499b458f096b329ce83f138162c5d536d21e19708834045244da8d5428b6f391391284bba29a14ae5f5db58fdb81bd0ce0a05e6ff55aabd2e1cfda8d142dcc080cd3df3fb8d0ed63a4b77f985520a0902aef94adb006c183918e433a589c7828112f99cd48c0e9239eac6b164e02f4900ec08d832bcf05cf5fcf7485a946c82607b45a88f2b8a32594c0d60b174e7966ab979f1d3863e121a6bdd8f2a74801833e9bb04d8017c3c8f19bd11309d040f1921bb384bc45594ecb9846eba193c08c3a1163ba386947294c563f54215235d2939208f9d2f898e4c8142727d30f44fe0e73958acac1f84ad8caf50c079c845854bc8dce90f6c3cf7f59111f73e8c0ae194a404722214515c9d010d3040346e875f4719769a4d55ec06d1ef71da5615579351294e367186d4fc8542d90ad4ab2d6d9e2ee689342863d4e7329751c1d2101315e0d89a7f714bdd6236f1895347f209f5285f76aea20388cf602e2f833e72bed0f8b35f2b984a5d3951b4fb3ed0afebdb5653add5bf271e96c9e5f4bcad19a6d94b67c78f80b1ffc19fd1e0c4a8168684f4319e784a17a2da079726adafdfa7988f767a2e3d14998f28037c8ef1b8c33987641fc454ad8f528bc210cc96df0aefadae48e3975dd29473049290c45c527dd0ddcfa421bf9259d04cf761c0955dbea4ab5547cbea76e329988534ee44254cfd6451cefabb426cb59947d0b87f086f9fc93ba94fc4c6277615cb9beb687e8e047aa5656863a0989a172f497e390bebb558359817d317861a5fcbfab3402638f5ba592005fc42d0c4f0b829f0b4e87605953de572c09bf2af320f30471ecae034a33eb6ff960978b1949c8edf73554089cbcf0a26339825c7fd13bb3301b64fd9a00f6b4049c787409df32809476862f30483bd90c47a5d28a4111d73f141ebf17a8520df85e444ecdfd8b9e1736d013ae5750026743c6a96fe2f6af22a70e27156fb1b2c92caf8b0d7731e1c10671e597d352cc9afe10276786dbaa23731f4f9edee8d69ea2cf3373dd7a8a5f392d98b05bb302ab5dc832f6fc65380415df227a189c3652246316920d17fa3d537aaa5f50da8c90a0d7712b5e92179ea6afd33ebc11f208710cc38cc13a589bd6d7baddeee01037364faadea6c0b0340c279122e3d53410a4fc919133dc5818b0a6987b779a330629024c9abb4799a50a7d7a2457c8c3f79ed212c272cd76e04e5c53015700c780283f212f9c4931cebed474c46d436fb2cece7ebf82b893f256d926496beacf96a228c94b2c8901f9d3e4b2a2abe6326a1619f0c8aa4ced4b90a3f7e813b1a6c540e10f854c232d14cf21825752d1e8ea8d5a4e3e3ea77c5365da0cb5dd99fc38822f89f9d151c6932d0ec0a4ccefaada48618ff604be514a80933722cabc77c3c51d01d9aff7db265a02fce7cadd06f1685705330e8f6266cb49261704e34b9286daaa0b345fd37f757b4ec70562fbb378af653e74855248192e66089ad46a6c5b994365d77a9aaa6d3a14398077a677df7b64b401f170f2197c0ff2db6caae156c645ae0f4f91fce327f4739894430b04b38fd37a76e9cac8b954607129ebc8d0f2b41a7b4667d66d2780a7d15297f79fe482158b6e126b34eee05bfaa29f16ca2cc4f19d5c32fc7b1de1326b1b02b5c3d9036bba622a6dfa614e044647bed1c785bc29d41d4434b9f4981082bd758bb79567a393a8d75a677ff0dadb08fcdd962d49dfb147d56bedd6fadc82c7794c0cd34106afa606a4182cf5940ce6b286b008fff5b05c685bfa94e42c0bd853d65537f659556603e0037c59b48c89c78e195962b5a7c9ccea2d0152b17dbca7656199e2a0e360e8d157eea22ea8e98546fcc828e7ab24c2aeddd258bf4290e1c921087017594547df41c7d7f4ce6a2b68714834ace808ddf1e8bb75339541dedf5d2233314870cd4231e0e1d0926a1879c28e96d427b0bc876e32204747098b8a1175b47cb6bd031269253b405f85c7a67b5c7798162a450f10959ed7146594fce4cbf916e5e34203004091ca88d7fccef6a300d225f51595bff71a4b7fd54d973a6c98abd7f23c4f17267a1e809de069e34c6617e492736df69df72a05dda8513251a916de154e0b0df684eb9ff49c452b8a2e0ffb5b004e89f9ba0b716fb893ef95db47197525216c3b4e94ad18dd9d18c0e5387a8594ae7c0ff6bd60daec5e833f2d2b22855d32b9844d7afca489a5bb56b1c6f1320d8fbfc557f37ae06bc47474df278c05b54461835773ec5d2183a92b34907f285ea6c050ec4aa0fa5f077e2527cddc0a7ca0852fe189c3fb9271880c7e3218b2c126b07c30ff45b62cd7d3edac766ef958d1f85440697aa4aea48bf90757b34b5b34cef6d918d12f5e08020b91946aa8443c48a5a51973b39a82342c806e604bc4f28ffb0bb90b09d1d34fee7b961dc64be066c90e50a6981eeec57df8417e87c2d03471a3afb9adada1c3e4f558506da2260f0721643dabd0e3de35abcadf64029e24e7448d4fab81d9b98026ba28b5658bf50267c42938fcec56c78987aa5645076448fc915cb9e77e178ee437ec1cadb884df3ef11de4df10590949bf19de3bfccc935249f6075119e1e3278960703f30819f86b9c316a509446ef0cb5b31435f28b0799d824ff128b9520dedab803532b540d7be3f295a190123f52fac69ef8d31457dadbd4f6d5af63840a8f38ebdd65995b3c9ef47cf33d37dbaa0ae1fabfbd4bd8ca67a8266b589cb06cb2a98ab945f86954911d9d953b770774bf276cba5a181a54bf084ddfaf02809a9887e209e8907548b38cf4c927625faf4fbe866584c61f1d57fd51f0cc99bfaf07385578458dc0121648ceaac46cc0e9d9910bacaca887225f555039996ca45045ea093f38da8a0dcbd1fb4917edc6bb2ca111dfdb6136a5f10b47d3aaf4fbc120213ad053658a59a0776feba32ceae8b21c6eb7e3746d3167a764f26a488d61a799edfbd1cec5ddc53dbc1ba2ae7742b5d458891b234cff37491d16371d075be251e34d29c0df8dc2df3dd60bc1de7f1bab2d3be5cc5eff11f3f0d9347be1b6d57606624ad39dfa86bdf4da15441ccf148f6d95b99db5df0e5f6ebe451fb6c8f4ea70a589174a3333f88b8aff679fe614e14164b130805beb497ba27493780c385167aedb566a8eeb3ecb71c464dca9e8d444ada89e36a6438a2c9caac4e0c1b931510f835caf3a1364a58ff413931717f750ba808a3ac716a35c1b475011560b103d1dc36675f0119ee0e796962d6e4229e43a73b1c52014628ce802196b9aaa3345ee48248aa4a09040b99644e3c656218e8261138378416d7296460c1473928d1c0c4adb3c3421b1d30319e248cb789c9b8ac469553f73e4e868be436e20e88e9288988cbeee43586d833d41f678aaa3abd67b5cf7ec94e108ed1376df10bdd3f26638f7b450bb83e8dbde1e957f1a65a4d6dd19dcd18b2d7c50538f09bd3e8f500369e957dc1a1dd6e460a3c7035263b7550057fdd1d3c4d4911f58a81616ab283a6423253cfb35991f4a1cadafa0d59a40ac225934fc8db69cdff2ec940f318f92bc4edd60f595ef2c95443b7e3f657d57f6bac758a202196ed18820886aaddcde4f30e09c096243a5722bf725b39475ecc55c4bccba12e32a06213b135909039386ba28559d0cb141083ab9e6b7be0a20cd83496cc5162768369b436a086c6945f572ad50f3ca4f9517e390d3f7a0c735930d5a43cc1a3f601f80d13aa3724f5713c9e492dd79bf4d17d13b9e1bd0015748edae72620934f039fac6948969097fd2307a9184437c12463fe620e6020c72392238a81f9e271d07e3f6a14f65d81b79bc9d400075d94185821b6c9c9c1c25f8d8ff2b92137c2164351f5dd45b1143416ffc77b8ef59b21239408a1aa0d2a252783d0981217a1b49b879bd62335ca94228a26f64e54c03742d6fac1af181d4abd954a69c1a4120876fb3c5fe273a2496e65c27ac35b43be8cd58d4c9c6a7112787d0a848e1426ebcd0982127485534a7499db79e62c54719d8343fa1f85639a464510694b6afb595ed4db3f4fd7b646c86c265e34a168b11e61b24cda1f0f88e34fb1f6a543e02d4e9b19b49a8451b792643a89a38798f146f0a2673c086426bfe6d90a07f65f648bd8d9450b7df430a112a7efa4a43a15bcfbcd90702b5a0cb59bfe5e53599434b640416c3974ab8cfd27dd98ce22695716322c41a847c3b760f7675037ead567de061ade5ebaab116623ec1120d842fb0401d6a9c4138a06af70da204482ab530a7c9178bac412c24cd859122cc2823b3e810a80b60d1ddaae934c92077cb858caf7c137384be90de9436dae1265ef6e78df84d4ded5b8d1d96e632f365e35da8294d82b3d6dd28f203be8ce16595ea11a3df91162af6dd4f5f0d22cc95ed3fe6b21f2629f2b2aa8cc1378ebcc2856b2dd02babdbab5904ee970606e16fd4b71d92b431226cee360dd2fd6828b5d4131ccfcd4b554971cdf2a15a72517b90f1cc4a7b2a0de9162150ef2d67f5de3caf3fbf077a29c23cdd46205f1e7d5c3e66cf4ecadf481d5654e7ac76d5e5077a8399c9b4e723fe26d9091b74120b08e75a1fa45a5df028c695fb4efab1c5004292f96ceec4f6775640b80321d50f1203d866ee3482ff68841727694c8355971885dcef60f43e9131ad9386d12d6355f842d6e90f08cf5c75fbc9edb3b777e5c5b47dad15b07b1232eaffe87f2cad4e80fc3d68da23a9772e9a4da06fa749012802748b427c1d6699c0904d088b987b4a33e271efb3a4ccdcbcab6905b377f8ab1c44b29a19716e6dc7de0d0021588895f184696b3234fc632b4e237009d3315b740ad2b96b1076de0bc6f0dd9efc3b708dcfe0407e91d5ac6e3d8f90ece68f8836ee2605d3be8419c147a8e6d2c96d70e02049fb70e66a2da3696b4a0d36cfd74230fa04c98fd6bad1a74b87b599dbd059a61bf3b606f161b3babee22e388dd5c2fad8cd383d03242fa054280429e03c7793e87f558bb16a7bc32032eda94727ee81c35626b4ab9bf3149d75ad273f07bbe81060654cd7a1d60ff98ec3d2ce963f10513778c0420baebf707f0627fe73f598e609731ffdd9b6bd2bb415238dd871824fc65cd21a16d2453917c2a740156c956ff5d5d6794dfaf90ec65478ea6c3ca9decd3d33222ee703a4f215027fd24be62fd0c10d1af0f8a2b0a4d429d3368f6ac9a6ffb13a4b03e9e36c5113371214c6a15daf77c2c0896bfa236703f66b78dfc5d1d43cb6b338a0645ec8581e9ee62fb80243fd2a1e45e90e706748ef045d96fcfb5c4389a5fc0b053019806d949209636ed370f4326aec8de4ef93e9956d8bd66b7ca87f5c339ac88ce1bdf17fb8b17ff870023ad364d19717dd00dd50ec4354006a231f5a4832f5a924360e80dc1aa671e5c1d41d6b1ffa73edec404b27ecce528e0076ccac2cdc3987a2da83e4195d312164096e9a3fec08cbb1b81ca2bbf19a8399e7cc6e45694845b7e84dedf9b48760a7ce14c79f8ca13252a0cb525177ccb0d68daad010e66869a2f0d9a5be20bd012303ba0f0169b50abc244c071ebe93da8f123f0256c649a7f52bc4ca128889f8d32dbd6ace57ab2c1d4be7d9da1c9cdde50a62fb5a5857990b4394b0f5ce3512d48699009e96cdca81de655707144c384c2c46484c4d9d107ff0b86cbf2a14b30e915165cf8b363c25887f72d7a30e4de59640dcc0ff7634bc62d5f8c8fe17edc042f346de96491e40bea688e0ef289173914dd39cdd54571f1eeb79c461db3034e2812fba069164e6e726ac787f39b53b620a59e09570f59063739495d2f262d56ddebc7e1a333bc1f91d1f360eff7a1ad832bff3c2d8a577f2c8658c6cb0a7f40e7bcccf274eef3e2e075904be8ad84cf640a209e92d49f1b9af00c672653deb965bc134701c3866b8a25dd3d55f1df9c881bd622683f0dadb79e3b512ef87b4852bfc8b439b2169dd97774fa3fc0a4da91df6bb09b2caf01486cf4229784c945f3505471d8f468bf47b27cc8d81d5f4f7f55298b807950bce6d2655a9b158d4ae8a17e790c815f445bd16220c7e7686be7c1d9947b086e7c81a013788015a0d6295289d5e06f58d584126d4d46de904ca5d7a8eee867f6c2e8d29c7e696b7e6f5658ffd08bb3e7eed58b9235bb7f3f170307cf65016c5da9b9991913ca5a82ea1a31830f152ea3e245f4d346e1a549a52b3db2073d66cf1aee46fd6fd4c7d77568325604071e9193a980526ed92a74b698dc4257099df5772ebd8d887ffe0e82f1f1a51de7094ec801757854e2a1dd52a5f9a4bb673043ae88919cb3056b4f3809bb9e639a9744860af16b575badc9a0a7283bc167df78d7337400de1c467350ab5d2151b7f8eb69812090d564ce1b770c99ad1006207a0a1099a684cc8ad624c6b599bac69774db0a891f3bdc7767c41923d30ddf5c15770752f792616126685395eb6d2ecc77aaa580e6b49b3ea3c582240ae573397003c919ce716aa5bf5bc131f65499409dbecd883537c12c4897d580ec0361427ebb0bec620ea9868cb1825a13b76034cec50bdd368ad76fd26eb481887a57248141b96e97df408a1150917496c8b7b6e7e9ac6817e6a7d7fbb3f2bbc1d7a3210b8016145eb476148e6e5a00cb2721521f5803d7f511b8ee325cdfa35dd598e5c60b8bdc2ae037be5392b0bd2ce97fef6ae86db8b456eeb73c6dcb1166060279cef98b51844b81684bd1531b62b12e214ea1aefcd225c2c148b084a9f378124b2b1a51563bf3c22444eb7ff33692017da28b2136ae56987ed3284a663d8d4497c0ab73bb8b1e127ab081edc53ae5540d0686f5f4964b2453466dca6bda4697d92a779f40a8c634e8519b770580d54d3dfe2f0d42a8396c93e36cfb3a9af2a2e850fd8b820025b13f792c9161036d4e8ba9cc405fd9ad2d2d4d633a66753ac91c5b8aa70c999a90e92a15f692446df9dcced6313400894e66718628dc48a487c324ad5578f9a033b14f4e8b2d8650c04ec52ed35612c8d2fb0319d27eafecf31476ac6f3d0e5a4c3dcd5b660c3d8f3239d1de4e563c0037594f1ae18f823788b55ac04c81833993bfb74deff0a80b8d088b82d2750dcee10dd0b5b3d6f823316c5893797d6c3e8967a7b9d842da1e62893a75282b9d7a791d43d708e61ab54b5cb1601f6e7540fd37fb63823d6c3a63d35fae22c6fa1855a36540edfc3cd841e12edf585e1dc60a4fcb5e9dbf48e664559e6d2ee92f4f4639bcbe4506590c830ebf2fc5b7d1c56d8a7ad549c73feb756d07c2e3d229605bcace338dca446d97b61777ed7b47bc367d13ae73a6a777315a456c6209d9611582d159a4e4d5579d930706b4456069f9ad557be9db3ffc18fc7b414f7102688c966bbad2cb972d727190bf028797a8599bdfe8b646a5338a292feda69e2d0fc61320ae362d2b1549f6855b607cae7c72859e22fb787690d5575ea0915c64ab2827c7e7b26cef566fbea937e56348a5514241d7e3b8bb21611c33817dd909b6f28dac8cf617da3812dd1f81d76da464240e54ca2bba2af026edee169bb053da56824ae261815e9db71402205264fbf0148ad7c55b112a15570208a9e9ead33ec38bbc360a44130875b52412a9fd6495aff617acafaf8f99cb8bcc40c0270d886ec2867b4774609a3c69fe522c9d1a6714f323f4c085ce462e38553f95cbd617183ff1d9a0533caabd5f916a6e6c616d7d376629779d40549c304a854bd7805315ca777ea5ec7790db207d86c772b563321a13b6b5e64e3874481370fbe4d78b74d969bd7cdf23d22063409eb45cf9cdd98ac4462549398bc1a37e1984a0e23fc313ba2845e70bf4d9a9545b83d50fa7e7a1e573b42bd5c690a2c9426cfcb62b9c643eec1fd85984b241fe47577c0368517d5f5fbbcf5a12efe7346090c7accefffe791bc5259ecd55321e6d102b912d95e6e40117633d136ff0c30b63460d6c73ab7fd6477dd95105fe24d66e071afdc004f23a60f46142d829624d988962fda2f89e2062b69317898c143f70baff15533aaa7fd261c1b1d80edfee19b9d75f417a5040268e7b45c469c96a30093d85a0e012462e0e9deea892e5130c2acf73dbc6de305f66f51f4c4fb6541678b497b155ac7491039cdc8fb6ad0eb4414718e3a0e6eb01b2b713e6f0f7638ec4ac5e5e218771815917186a4aeb924fe46c154b107c2bb7273bce38d6f196a80b4c613447f6c5e02e3c48fab93cc83942bcaa588f510416199b84982c338a03fbfda5fbcbd41e415223d94a032b2696ac06ab6aba2d2fe48be93f8742c9322638f9af31f4f2e1fb1d22f37d6ca9b93f2261d844b5d746e24427a296010dd612c289a40eb9f100551cae4eebff940db55b4652fad44def39e45325c18616519517a4c05e45e064cdbf2c04226cc22b7fbf6582611201ae39eb48bdb9ac8d35485ff00f47171aeb389ea53e751a66738045d194fbbc3a0c98eaad67f4552d6a0e156f8e2a0b9201991eb4229c8b32af47c871292f8db38e22d66ab469a7eff731a04b5c57dc397740d4e981062ef0069b88ce0428f0472dd6f77f47ea395a0bffc75a9d86568f4131b751629be48233ee712f670ccd6821354c049ded834da8d61eebb39e7724e7b9e6239b9eb060298e0652dafc86a20ef4a1f2608baaa7d945d81b325fa8741ada9f6ac71ffa49ff365cdbb7678db7663f137977f63c2e1804c398a07bd9bffbb183a66d8878e6e3b5db0fd45e86e855bd06d443ec39cab504f5e2c599b09c718fba0e0400cf7ef03b7cac6cacc7c295767dc614894f18ea8a9098666f3741fe40126c889e7232f74c526b4f2644abc79836655d6fc923f3357cc5b222fb0538d764e014d4db3070971e8c1a9424f2b967e12037143c37ed4523460df477ea70010903d5701795dd2fb4a872a3cf4b9da5120d98cba3844cf4c797ebcc92f6736a8adb98230c4ec32c50928dd840435291fc7d3893d52f83d8639cdf5e91819e02ee330e3172866c6bd2f0e3a651f45c6429eb001f5b749d02d9dff1c665d39f7082b6a15a5dda25e86840eb2832210451a4cff0cc41ee077ed0f40fb929de157b7360ade40068ec980dd391ae841631d22fea5d41d781d36c7d14fd095045f9dd31cbcc7f5f30c1a355da3892959f300312ca0125361116351a8d2c98de5899e1e6bce2da8dd4eb803b8a4aebc890f795448f569a903d72b29c4a841d3412c0b8295a76d10739f0afb13d300ade4795bd1f38403704f375e6e3267be8892f8afcc599b1e4adb6605d6b5d5a1aebc864c4fb45c62da86354675d57a8013f51556c2f705cb857cc2c7359e3214c30b99df01aa446e0ef94f2342d6f8d301187eda351448528fc57c27d82a69a30c73bd541d592d713037d16577d89714e6fcc0cc170408f90b27ac2fc77031cd64ba1172da71d732f5db24724e4e2fff34326793acebd78e0d32f61320603c2e6767be9e91e559cc686fe42b3019904aa70cc4698166ee755b8dcd3cc3ce4212f586c053c242516234d0685614b49b8fd49dfee54511ed60e38c44b8b43fe0775e4579e282c404be9c1f71516544410488282ad1a908520748f89e334c52fbf7a3ebf9aa292d0fb64cca394531030eb991a893022eb66f31325a19872d4ae9b5738cd309c9d29e2f33fe4b8ee3beef4db9078c3d88a7f4ec9be8dc97821cbd554517f0ce60228b0af4468fb928b4aa75d70a0d019769bca4463bb6b4d33a547b098f30e3c85fa718147c12e248abc0065eb90fb2d77ab4cb1cc5b45e4553a3d12d3d19aa88ef21d9b607d4da77edbb5f6d594dabc44effa782f2bcbdc9ef134655fe7643a93708fbd2c8a25715d8c728e5de8d34a670a31f1e2764c03bb0e20d8367cfe90caed903678fb12d41d6f5242f091657cd9161311c99d588fc41f37672d32f769758620860be0117dce7acfe4a01e615536283e3d223d1dd162d894c42467adb2a67c028f501b12f35bb395672048a24809365f66e842294b4bef0a8c48e43c4744921dc0fdd99477a97471f88d5e0790a078c19bb21ea97186e29a0cbce96312c3f5d27217d5a41c96b51db32a21c5c57703ed394f492f42af56c347bf30f483b36eeccf7dc6ecb07cc6babfe47d9c0d829f4530a03bdfa23db1bb78156b8581b306fd1f4e47b58299ed0ac91de8fa2df930dfe2c54bc28cf535ef9eac425d7b366088861629a9d19a59cd8a0f34a5685e1df60d4c3457a3fa69c5c93b6d6936f3b7dce0acde64e5c0b9e671d9bd8fd669160053150788e8ff9b27e59e454d147619ddd92fdb36b61f9daca2de724b645c2503c1041ca6bcb0c6e43d1d218ce62e80d755ea3ec76764ecc64032061535cf0f73280cabf85bfc3bc599c74bd0721eef89644b7d9101bf698aaa7231da5b358a615a492862f68d3314ebdf25198a4ede8904c27ec4566d358861bc15cd473b96acaeb225b5ab1ab99b9df2dfef00fcb04197c1a3637b3c910f47c76706733ad507f99997edeb44b863f6a9905f044d75b5ae720e98a4aca08fea863b67143382c71624a10beb85479e73f4fddf56d96e895cc36fedc9d8cc5af5dccf224f943799155cbca3a6665c795851682bb34b097c7b7d8dc2f31ca92ac953456fd2a0eeabab668e05a28bc933b8e3493663903ce561d9d2f5fc63704b54a7b7dcfc9950fee515c0b2e46ab752e1a758e458c518dddbac08970adc312323971ff24429e838de86f4e13adc75a9c7f5e9ecbce7092f891647a35c58b361a6f90d9ffdf84411aca7d21eb2c2fe9ce735d711dd8186b1453f09ae885cde177c950aa24f9836a4aee730d80deee83fd2f83753344489f67544399dc711268ac2a83fbadb1df47df01c451fb4b4a10fc3642825aaa2d25ff7b2fbf55b3fbf873e2f2b902c1a7fc5723a1d49008a5bb5523fb69dc691b8b59d87233fab5075245546e8190bd20632917c88c10f7f4656819fa118e6e63390d3a0ad78aba5147da61b15b380889921f62b13f3888f95d9da600379cf34612cdfd6af7b412e0d5ff505e2bc28357d91784aa48395099b77f9427d9cab4fc54e009e482ea0153750027f32e17b7bd04a74ed9247f55ee536cbb17db278ce754f01d6e070d70f761d42eaaa122749845cabae03c89d69d8cc357e7e2df46fae3a30c7f2f47fca0c797946c0ee94afb2332a67f11ca5840664235656e0308cb38d11c06655f09bd4eb8ca37b4939010d5ae50dbdaf21fbe797a3dd3076c1f7096116bb359b353cedc1f624f72e52e9b184d2fd378c448ef63682b806f36838031d0f456bc2ebf3284dbaa21cf041b415012cd1619cdffc0e45b35f01530dc78757edc890e70f49a84955cb51e7ebbb72773355aec47eec8e356dd4cab58fd7ec172e62b0c7beb87cd0b648cf70684c1957458d2636fa69abda1087d0a8748deb6ea997f6865d9f9a9f2a96b3b671c390632694ea17cf6c892e4a21bf8a297296a8de04657b7e69076f8326c4aa93428c344d511498d8747dbd988aa7cf66b235733d6015d6b6ec15c9f0006b5363a18330575a2640fcbea86e4123403987dd9c013ea7e8104ea478436b3e0111be7780e1f27599fb162453f948f58fc139acec8c233cc467640874631b47e96da3ece6c0239455ca34a1f45c2e130f021040a084492ebd022c149196549f51b10938fe0b21264993dfa3ccdf81cd1f52a8c72c40e39746f9c1a56dc81b9f6dca3eb51193185517ec09b5dbc83ce3e816fb0769e4d30544805777e57254b459a55f1d945b2526d3cf56259a459985942e25920f858f786aa1b4315af60d18e888ab0f76e1521ef702e54515295c7800bb313e3d5d3f5f62de5e88d9425c2138af6475253f49bea583be948171a0c476dbc4eaff9aa3dc110ea30412131d2f3842516dac58423dc58f399dbbebd8b89dee39a71c8f854579de887c6e794bf8e57ac92c1b870e552511947bec55055a6c1c7aaa9f01b8fcd35b0b845e0c9243a97b70cb0424c6b2fd5c44bd2f2466e97495032e31fef503fe5c94f90ef81bdb8f092ec0ddebbbf05c3bdb21ee457391ecee8cb916f75c6bab0b23ae043b5e4250c9334ccd7062ea8e5f0ce2b52196e2313d508de8d0ebe052ad588b6f7478723495c6091adf939f6e467bd76d6c803999970e286167403d558ee746f6a7159e9cc1780c3163cd7e8d7ba416370dbc3a65d0f9ca72be2753775a67f3d3043355d2484025bb08ffff5c64026db650422058b9eb4b44cfe36e720205f8955a91ff93b58aec30606366fb174c7bb705c8f7892ec67f8e0a9dcc72bb063c44055f151630fc6355884dd2482532729e5ececa0a23e4bbbeed17aaf09b6a4365d2cc1c4683ce1cdbcb291abb2b4804b8959d99db6cd4745a1ef9a40487f0eafb710478dbea69e853a38d2c63608814bee9484f914f9595d22b51f4867fa5e71d8c0146d99c33ed4dca121c6a21923ec2af2867e859943f9dfda08e94ce0c35e91e1dc8567c6b8c0118b705dc347ee7c12d345ca52721be8f20b0dcc9c492ea95fd89aa7eaf18eca0895db9445dcc92d1d0c7e77d51e786b9bce47159ebc3c6362724ee56608126b2a86539f23836e80f248b85458494f862b1079ec949cbe6ff973e229d7a8eef51998cc94233c06ea9b3e73b604c834856bcd9cb85a003116c78d352ffdda9402b0f1e88b0ff8b370738d54230298d32ce34aab368c09cf94e952d8f859b3a20d5c4d42a5f7004344c48ff6edfb3bc344fb4e1ba6a07bdcfeb996b16f879b7c14c12fe6e654ab577dbab525f6892769e48ddae006e7dc18be142ffab1159fa0ff9f5ca2ec98457888e9f15db02a135408b3f875d98e41f7c51b3694e5fc845855667550529c5575530cc90646ef63bbb45bebff744e33fd6387c6b1342f9b55ba7f49cfe772c1e4fc5596ab09a078e8aaabdc2d98e58f935427ca329ab72cbdc83a6ea14038f48ec609e4dab25677941515800f32d5c8db7485a5dd813179fed9772588b00d9b7a7f52a7284ebe9ad16b2e26375b023dbca28146586a9f0a398565d34fe103432a0a9e2727d151f44152ed593233638d0c176870f635d7e74dd8f2da6c2ccb3ff7e1d85f57767daec010d9aa4f9abf70342dc926d0cfa0f165af4aa4a5bb5ddfe166bf4c2f939094093e51e60a8b66b4db8413e82d9d07b32d2a1c22d4e15fa3fa8dfafc073b4a8b54fc81f364db8e2293cbc0174c5e3c3f3184ae9322b447c41ce6fdc403664528c1d581e23de217978c902558a120d6d14f1b094a481bbaece9759527ff2bf6d347034b0c7c389acf06cda1d78091d85a15cd02fb4a3b320a7db63224131378d5744ea1177e0f4b062939b0bf3acf07fe1a1f825787ba2fbf6f46cbdbe5cdb413b690bf3c1554bf68bad2327c3ee8d3641260cfb8cb5a4e3c3aefee6385edafc84e366009c54301554e043b4c78a2ad9c7595037ae70ed476fe1ad87270c815ea1648b56a1672618604d4160e3a4110f6a9429362f0544962ae6b69385cf07f43c5a2478b24ac2a91eb96b7577920886f9f22f26d661d1c609e31d4ce4086de103dbef7ed818428c0655ffd502129cd0ac111dead126cd4df7e13b32f5624fc377d71ac4335cbe014f6213904574b2d0f5fe2b58d9ebd00a001b3a8a6bb2f3241a5b00dde39d27a825d319b29190e673aded41d621e4e5e9894c8fe48b2b0a788f1d7a50bb8ac2f645ae748db748ae2f18939296240f7731776bcb8d14ab6836c33bf93da5d22177842099318376bdf3ed0720f00671fc41f653abd50925d8064a9383427618c6686a3e3aed5f94441c123251a5ea428bc1d6897dc5754e664c45763c8f66a5886a5168cdd565a40b8388a242555b6ff590d7111462fd0c2d04d121a17c5ff25812cb15fade84c8c2a8919fa6443218bd7b9302e968c0ab8223b74e28667db57d12eed22403258bc0a5224e4569980d7323568aafe52941425f1fea2eeafc33cecb095887ef7b9047f5c57218137480faec894b0df05d8fed5e692ff2c056b260cbeb3e7955b84fa45a88fc98111d866aa5f4a3f1c3d1feb740cf823e1c8c94cfc763bc1ea109c786577b408519f21973f06db09994435a738b670135eb4db6319358db0e68fa62354fb40098f6cb141c8d1a7333f20e93a6b6beaef13041d616f48f74539c0090c495aa5d10eb5ae1f1c9463c68ef5a8cb36f9e9b54699616c3dda939ff2d576a257608ed12ed336f4142ac8fcfce7b3a71cbd7b84dc2078fabcdc26c6b9f199891be4fd7f83df6c3aeb686e41b433e3082710efbd24e728805fe968606b1ecb2b2591a2eec8b95099bc3c161a9cb996c24911069fc47bbfc94dfd60fee672318ff26433124b5704e794c5f1da4c958b2dd034c8d70a26c2070d40180202885a0582577351d3f3d2eace5cbec49fdc62298458c3ccc40ff163e2ffc37869452479e2d9e62aead2588607927ef06ce70d2085e76ef50b3db5c841dd43928ca088fc1dfb331c4889fd50b5d87ee462b13ef2c195e6c3f0e65329db868a10d948ef439f69a7ba8cc6010c4f841d50174395e683c799d52f6822af7f355ef3317137efa6bfe569f296597b712c868db5f0f5d47f06084390d0a31d761f980590699433b7ac8d1e2a539b633d9d0069ea07133d65dfe8b22fe499b65a944fbe0e843ec1420ab68285a445999dc1f9994af0b78afdf4e769829ade79c48532e052aae846280916ed56c4fb4e267be206bb84fdfa942e84a9a34f42224e4a4719a4925fd2e5acdb8981c21d4028602a29f52e16ee9ff53fc9bf20df58ac4c131e2b70c7a96216d8d88923e5b575040f8f2615f3b0aaa94e9b2d7cc1cae2ae75abaee9007b36724ec7d599047bc86853c02dd66ae41ce3126d1f3b4fd10de64b714b5c9f9a5e6c7040ba88631e5414d352154033c731b39a9c2730b6a93589418f9d929b900df84882f927fbd91717610cb000aa1f105ec004659035ebbb431f5fdb7c6a800209762964f58d27fb74e15943ce8d8f76bad2605581ffa8357d873c5fc95f10132227ddbf14a075b6c965d2bb69cea44ca52ea52c8a54e507d996e14f06dc90c5e4f39bb0485b3d4c32be10ecf3bbed73ac229705c7e1dd7d56720ab71ddd4d03e1b099d2ebea75f19fac7ea3e6d7136638c438bdd9d2047ce2c09156876e174b37e429cac0fc7c34f49bf4a497737761c166d645a331e4b21042af12b5f74b26fa43fd5569164623506cc143e43af8810ab88b7f9d1b6d6d8408f4820bc7708d24184107899b237916a2768aebcad3d1b454445633de24c340535fc416b694bab2f7298c85316a27b45985fe16075baf8e6b9ca319fe3b8be0bf2fdf6ff383b6cc36bad5313bc22eb8363ad3cf698b9b8d0808c8041c52d8d770bb0ae3e8105f424d452510c78aa4ecff35ff370cd3b49d804dc8a401a4035b064da37c2d62eb49e2b3ac8a6df3c3b5d8e4bce51f0c8be9807cf20634234dd6445e7738744b96487b9973b20cd1488733235aa6abcd7448dc95823e862b860ce0f9cecc2fdf4b090c5fad4fb4c2d25826384b20b06c504c6f4b3984c60e1abf79b2e96a846a88018dabd7fd6b62f7ace90dd7865c2b26f9978166f6d27298a77323edb2759a2ef87970ac9d8e10ddae951518007f7001de6a3a2900b159291c6456dc927800ebc20b47b8a454e4889d0519be5883d05f012e2ddf8f8a3d20016dcade7db1401feb2f66eb27297580936ca37faf4429809638662956fd63b53b166910a23896df047a61a70b82dadb9689120ab03ade639d5ba70b9dcaf8343aef6729af02bf243da00a567cdb8406cd842ac15904449dbb720976195eee182468f8bb44e0c45b274b7d84bc48ef0609746d9fbb7d11ccd1be285e0e88d5af7833e98a98a9f14464025faaa4096083bd111907a127cde135a693deb6d083cf3361f3c7a9540bb3fea09a5084fd92624affa68918e25b78307db6b6c595e737d53a27e35ac4df53db232d03902a489678e8c6e35c7c227abd4c6975f22cc09a234121ddf9a579e7796451cb1551a167aaafd4efc6416f7c36fd2d7dbf322d58f4a3afbc9a60adc5c9cc8bb34bab7ee20f690fda800846cc9bc190337ee8ca0166420515d8f24ad5266179469bf60fa8cc0dbff84f10961a45dd59041992ff01805a694da1d005be0bfde4712aa4bc6804fdf5ec107714909d91dcb6d44f24731eab86e07bfcc67845021eecea20bc5c7d442dfbcaba40b5dce653cdb28f573db0db4ca2f7a3d89c032518c69741b6bb6e0fe19de36bea9386209df7c713e4d72c7e6d74ef845a94a04264ddcedd5e64ac5cc08b2383152df268515f951f79c0e54380b7fa952fff1f01424ddb3a489aed09a5a4564c723803ab474c112fd92e97b411210191ab7c9e2c109b178be402ac105a476ce1fee81a007ca4df6a12e19fbfc859402af825d6486e5b1964ea912f501e3ee116dd298871d8b6e555a3422b47dce9aa32629dad14cc8acdf83ddcdae5b2a1013b4d3ed9bd8fcc494581d84b98cbeaa0ee90dd6aa797949587d85871f9109d5a298837a12685bd53747b649df327d755a53829227995862a7c67bebcba9c9f560268d3233f139c21daa3d44ededbd01512a7072a040457c25b0e4f05b72d59ace76a3539d324f2eed3f2943c2b1c9c65ebb85931ea08c2425eeeffbe2d8e6ef150173f78ab08c82fdfcb1b3f1d4e3a8b5b1575c78a9776effcdf665765b2f5018e38fa5f72be09ea3ed417572c6ae6c173987634443648fef121b869e9427c348a1669f29332f6c7a7af600b6ba412c50ab552c6115d52f22d846114d685f4b2413df30c43b88819cd5557731ff93a6afebd9ee8925773a741d059077da84a9d513cec1fe7f0ecb2b38e54dc1677d6528c8f3c4fff714804a07fae0be6b052838d35ebb814835309bc7fc2aee9ff71170ee5e24d1b9d6332f8437173d2fbae9aeffb34e0542f5b10ae4e2d99c84993092e35ad5f10665cdcff83ccd1d33dddb1b0d44fc22eb440299af006ba974b90ff9709b1b9b77eb9dab0c2c1a244ed0426f82f153901c3f7842de59199d2adba4cdd585dca0f2befa3eceb89ce5d8aa0f86053b66200914850a194464ab43b4d41e2edd527327a33ae4abd3f96dbf57de0a12c825e189e544db774710c56ac9460208a09fe667c96d0c90b555c65e384d2e08398f2cbaec66fe57ea8735ebb2f2182f2a9aef4ad3c052538ab071b77d9e494cd2b7cfb92205fe949e1d359334decff34731c8ef2dc235cdc9f35ba063a23de4986d3bfa5b7e0df67eeb3133a60256dc872908c585c2efec3d51652b1adda71c244985f7727a3c2aec8fe669408eac0e5dd5b588478f4fa9bc7d979899a5dcc8743f95475b6fab2dbe7051111c9c3f9cc3020f61087938dde238bb18bf6754d964c9598cda1ee0eb4c94b1e35e52da6df6ea45cfbb121c1ca5c63a16ac003d150bdfa4536437c057e1764a779ec110cd0d366e022969b3dafa302a5d3ad990c439fbaba0efe64272166bd09e519cbfc392f4a05f1f548e85bfe5cce56c98a2261943aeb0c358344d883cf1ef350687007026455df51e1664139ed6887d28862eb18035287679257af641920f080d6e09cac60da716ef5beb1d5ab095c5d0d040bed3e6a597fa0a66ef553cc5895adcb7576dca210ae45d4dfb36cd18aa905e6d153186bd348044545ff225c2990775d0271e2dcfc3ae58d688042e1f2373b312ecc9430ded305090455c6676e6bae794b011a5c50db89dd19f19eddaa848e646ff09861b9822fe950d6aa44c1dea5dfb0082480ccc4c2da533455754fe93cd89ed7c8f0bb7f1fae3e265881dc6307120370c936268fea925b3b8e4ba3d92f1f5a883ca990798070a1e328b66fbae4e1c6606cd717909a151ce8263e5e8495227086a695628cc9be961edb655b97676e7a85851f686344ce366bcb4b2a852bdd0a16ada817e2e3c0d5534922728296acd6a9ace917d5fadb0da9e1e4400f5d7e4e7d5f8729141923282d977f919035386d3ce050d3121868f91c1e9598c138766c6838486364361030e25069bdf819bb0cff55d2abbe2bddda272e9644a86b86f108272ce9ce00991d8dfa5f6842ed38a2509b8fb3b17f174cf8818f9616a7b7a69d2e9a3625d006fd9e6539dfe44b6dd172597a41f4d38ac5cb90ac6b50f513c6ff5bba81437cc40e44fcf02cd347cca9e7bf6a42289a6d6f6e437df57cfe66b87cc2c2d9054b69dca288393f4d1b2103c1b0d0c50300efad7a6ab1e88604daf8a90834a021d735b010524d092eb7d76a2f521eaea6d41660fae76611dd462a13adc3815bbd601653dbc93169d8fdb96bda71b16729dbcd7428a0d9c8dbd32a691998e2d25e33b6170186453641e79d307df2575694910456dd860dbd73762ac58cc4043fc9447b0117821c39a6b8938106466c4fa859b8c77ae8a3949aa264a81392376b2e0d65aa6a4ff3f32dcf34550ba6504078e2757475c8ef5aac6a6737bad6558bce4603c3f536155bf2b1d387e1dccb5354c6cf8495d65452c2f55a7430c45a0b9eda044939c3cfa0487a21f78998dedd81fb3fa24118f0613664fe7e99c51054d551db140cdefe39941bda869f993ff6a9c2dc03145f1ef8860497b38c4f28395b82e9540e742719febce6c3f5e1a0bf53fb5d0b75efe62b50a5fe7348474b532a9aedf215bbeb8affff3b9e69a66c12f53879909332fa2f42df5644bed62192d1c417b6735640821d5f8c550fcd28e1fa804d9017430ac595cd21a009b33fe36b3aa40754daf9f3616a903db7bd6f3df968599176ae8d74777e648627f5a9883c4d6771610b759276a85995db2b4626427aae3cab134a5f14eca86c1f84183672c53d3699d2c7bc9c84aba4aad8e175f9576b3c27b846aa3d0c60f2cc164ff6ee9e27ed278e93f32c93c7d4c84d99d620fc592a53585f35257dbc25880f8e897889bd4c7d60e5109c874a7cba812b1efb78d4dff7b984aa3b82ae45e4b4b3d141d34785bd16c4a970f7f97edfcf42ca28f69ae1411fa42d66e119dbef815c2a6568046811a0d1f7f52fece12c0000c1010d89b40d8a49f60f1cb1ebf615f429d97c853301c22525714657e97d429bd0d569511f7ee4aa4a4c4e10f5dd33e37071ee3ae9b009248e33735d6a9d38a78148cc5697685a76812106f917739d0df2cb2071d5195e9cdb79c199f3435435ae27aed6c135693f47e5093d354a3a07068e6eb3790891a440b5c97bde5e466b7586f4ccd8d472936a9086a3d8a24ea5f55c5e629cad4ee3965f4ae2428653bcc3919a13e0b65238ff18e8fec3aae6700d5a8bbcc82a086552637b2d999107c8d58daa7ae9975993da79c4f097c7ececf4b1dceafd114f12c40d415e09fe469be3ec379c377848df50c0c3f20305721fbfab346b337d94143431d60308af57e2f45a978fb8cfac8c66f26b416caeccc3f8e2f51654292b6e0190c99d790b29081e34691ae513a2fbe0f987539c209af42c6c3980d9c7351439909c8040d82f0609a10d48dac9152eddb371b2d5706edac6bed29fb9633aa862d9a48ceb3ff76da6ee47ae3bbd1cd9aff13a798f05a537188f1ce7aff431d039dd74ebf3b14908dbac4e8f3e12ac064c178ea1720df3aff83f10eb1748fc7e44dedd2e661f972e60c81f9565b019ffb49afae3af5a79a82b07a8c533a47fd4d2e8be234d2da40b45fbe554eeb8a9edebec7be449dcd938ebc08addd6da02af1d993dc4ac6e3de88d0567f6b59cd6e72d319d3fa1eea6d0a3c9ea3a1898eae7102800f3e16c1f68805abf86749173dbc57ac5286a26fff4934898457866f1dc6184dea20cfc4c0f9f34bd49ae26688c9acf788ee6468b7de61a48c3ee359bade2f539ae76f0d1923bc0d7ab49ec684902374e06701c9077f09c89700140a53b805c6a3ad043ba8459ee98fd26b65a61b2a8eb8c62854d2616c7895d4c14efc41c1c12d36bf8e5f6a6bd95603ce488b0ed23a337255802eeb5589b94cefe9394ad4617c87c562979bc7404ae1353fc388e02ac4adfe88b6371de35df5cc141478661d7c733e2e64001c839514857d07fa00b865ddd72c46ca9880b3b6c09ab2670eed8e28e950394c90fe0cc29b94925dfb7e2ebe49ae87c031032c14b8dd0463afee5e0f6ad445a093f9a3271c2c41c9b7046829d599f1df593904ef8a3164ebc94f18deef0786c9f65c7272bb7dbabfaacd33c2af4b384212fca4bcba08d9c3dd7fb46147893eeaa7501fe35d731cc3272df35bbf716ce5116972a0ebc7ddd3112e8e74a94b9482c2bf12c3434bb7f9876a15cb0bbff06acb0608dd5ecae07349b5d0cfc40424c0dfb29be3e6e91ebe6599c3fd3469827d68d06dd22e7be642a2f8d6ac8172823664758f93907fbdf0133ce30b5541e065dfe293e7f16272a243c8a2477362002c2bb3833f9f2639d0414625503f6b6780094fd64c058ce838edbed7b0f9fe4ca258fa04e21c9912829c5388011bdaf6ba2d212aed2069e7ea575fbf91e59780be0e49749236ac7113c13a28fbcb983b00100adc350c37e8272c29c65a47907212d24b934e90cede6a6f8dcaf6f4618c04e5776c8e08ec0fdd6f0b9a6fb317c9367a03e2789c293ab07564e05d57727416b791f83a17ca83cfb84939b3210bb89cd8af785ba836f1ce8ba967087bbbad2c59ef4455664a7660986807cacd54433d2f3aed9d0bdb183cbca63790b7940c0039cbffb4cdb7ba778a2de8a250ab08d694d5d3e3b0e740d1436c6077bf8295939348a63464084188084f0bd8b752c8ddbf9ef132f5b0ae4d6a26ff22ab9b28c0fd7273af2da72b185ce9348c27c72ba5c918e74dfcaa0f3424d22cd74456828063c6bd224e68d83f263e569cfba4a364b41033d6e77ebfddab75e5d4b56e41dc97df1ae47c2f0b723da4a1dc54184e0b5dcdef1f9b19319da446c4e86d309f6949f2d3ab2247353f88f1fd172986c02214e60e1e05ec316d771e214ce02f2d34306c655f3669953ee6f5a6b6d5f4a0606d3ee43be03a87c36b54892fb3ce8a52ecd83d66c25dabfc04269ffa2bc5b915d6f4c29014dcc905b9513a1f56288bb576d8c46677621d54467b2f3ba70ad0e68df18a0d4fbcb5cd0db563397fc557dae8d96258e5f385192407357913f4e09b233f168e33c40d07516471d6312aabc47b8b32f4a3c1b0832816f6f6eaf9d40724a099176e84514641a0fd87b19d9d4a09dbaaa77af168bbbd89cf4bdb88fa1c387df360b57ed1845386f19673608c3f436dd2a0667581e7759281f4e22fad2090bc5b2ce0a0373d75528251b42482cde35d737ada2b6789af5d049718b2b29dc2b8bdcf6f3080995ee02c62e464d13e4a9f537b973e54eabb3a38556370fd9e78b8500b29d3e19b57c2ddfb9e6e02467eff699fa1bfac9cee75e7a387f728bfa95dc78bd46b66896a3bf6037aa099ad5c984a828250e5f88b9e2419ef087f9000c1221a6dba6ae0e165fe6d52a83b10eaf920da9efb3140536401f8158f03bf95fb9bb9952370a3e202d619b8220072f3107d2a0eb5a63bd46df9016a1b5c94631c9ef74f332fffe9afa288914ae8beb5e2fc4a872219f9107a782ea4e78a175f203bd9a0f877b22533bf7a7bfcf24c5e2a4ce1c4fcf2fedc998765e81bc0b95632e43a88bae14cdd7e4363d6a34cb268895b03e6d3465ab967b6ec251bd46c9c5a535b6b5e2a41b166243b401d4d3346090cedc0efb89eaa41b7ddaa05edcce820bc362f52e42e2be66bfac737965201e210bc9a6ad8bfcbbf8d8fae5cff13f07110a8fd06573b1fed85690c376983ee96bce5f073035ae98f29d6992e56d82e134ac5243de7d7b5de90eea917d16994659be92ee9983ba32f7f4310f82fe173edd754d498ca081ced29c7006ff922dbecf272054dfc60654c613c6a690f08f1c1be9f085e07ea8be6827287b91e9dde927cd82c226d569013701b4b0fc1ed6bc77ee11afc9ac6f1781d89ad2eb2945c11661ea494b4e60b5a58c6004582e3002d2b11ecbe4c4a1a24344f87bb210e8b083ccc84f7a8817bee5c04ba937e94e13bbafca14e059d252d15e6ac46fcd56c3faa1441f12efbf50b0df6293f85aeb1a087d2da766e8f84d046f769e01d8cbd29c33f043ad29bca80c578ae2ccef15492820e88a1fdf1a9115c3e8d13b6e730a6f40885521208e3973c64666e98cab484dc67d5c6e5885a03a39a0d056bf96d4d83571563469bc6112c4a4c123f4c2f0321d31aa288068cfd1af1865976530f1e5f8163c3afc1b800f5bc6e571d233a87a2afccfbf60a5c757a099a7b5367a34303e0cb64b36fdfe6215778d581d55bf9e9116c362bf65132b2dd22b61250d281ece9384ad3adab4612a077c15972df61b817bbf4555a7dba83607b3d590b166afc207f69e2fc668ca33b10198a99dde262a2628329adf3536be568b084a9f378124b2b1a51563bf3c22444eb7ff33692017da28b2136ae56987ed4c6f935c0cdf6ae0e6f2657a4ea7afecf3f9d1cfe12e0d66cd8e53e6e0e4e80227fdd6e53e4831030b8a76f31907fce1d00870206fdfdf515b9dad5cad3ef1c91ca7bcf78670ad2e0be31b000c7a03bb517628ae655697e5565ef1f06aaec85f8b084a9f378124b2b1a51563bf3c22444eb7ff33692017da28b2136ae56987ed1b07ebe28caf6e7a94a0b6b317b9cd7739efb6b48b31b38da160c1052e2ac195f8ce9814f1325aed9b0591274969a5223fea31d10c88647faf743319476a7c72fc0cab4950f269cd7576674b1e47ccebb3909fd2323d0ca8ec584eacf3ade3e6f9787ccdb277f07dfeef2d6ac83af9908c8ceb83f1378134b31a283f7d074d3329771fab0e3a08097f7c05820f6c6e3fc5a3b2a0c606c7316d54e09b7919a69508794382b599d1532b64e540091476947689abab006ea4df141b64772592f39df832758735e35229a231de02074e64b8b0fc6d12131ad956b03c4b2c2b027ec799fae24d3b7ca57cce88265343ecf8602cf3d4e2956beb69969faecf249f0d982e445ec355ace0e63b004bae112af3b43d991871f9d09c8d0a1903e1928dd992ad4c8d4266724969544a637ee8146f1072ca176bc8e4dcc69ac609b430a9df668a9581f70dd658c38d3591bf0fce4c09a68457fc1515d57a9c760eebb0d2a0835cb918594a5e61c7a00d4b9059de665f0e36ba6a16cca80961d5c27d3bc68a950486c11b7d2fb1024161844928160f199e3f8407b0995318bb3f4750da3269156fa300b35e41486168947d67526883955d4adc94fb1dd356f60d51cbbaf80c538e224f8dc140af6246127f1bc0865a9ee1430a995666ff04181ebf82b6b82efe5308239715d6771f83ea6e8cfdda436ba22f1111ea9aed2627275c35bc90026761880a04a6924551db4477700976765336315b8fb81eb38671fe2602b2428038414a080cd53271c07ddc4eb289d0085ddc63f0b6f3d419bf9836afdea9dbd405054ab00e8246bb4e1b43ebc82f40b220712c8e7f071d36e2ffcb5665c4e4805466a84d2a6d2e409c4bf3e0e5d71b31e12a1dc16ee632f2b4d37212bb41c830a981e355943a332e2947f47758f73d9bdf29bcc310f10be58f3695b62977b21039bc578a254fc8b48f8711a1f068d64ec456b4a44cbf96ad1c98ca8088195a281e16a645cc9e9f610734b7d0a8796330e62eb99f7b07f7dbd5836626d0bacfa966decf9450183eaf509b16131c72718562389901d8503335a9fb832723968e0f3913e2cbdc7c44293100e1f9a954ce2e16091a52ffde30d8c10e2b643648d35e4c26b5184f787e15b3ab659cc94ee4118ae4f183d788fd911b24d09d051a361b8fd6bdc75f3ae7b34965aec6cfadb364347202cc735eb4dd50995442ae95b663005123902d1f94fb07fbadfe0cf86006f4e89f0ff51ce52deb39c9c89de4d245819c76ef81368ad7ec3089dccfc61c6438ad8f7cc99378997df53e05b6f52512cdd237476069bfc3868f60b3aca87d745ad9d1922fc97387600b92dd71da6e1a240c27997f7b4f9937c171d1f8407e6110c6df785770fa4bc6805e42fd98d5ee4467c7fef2487cfbc5c3d50cd103594ce44bfe8c6bf608e6dc835eb979fe254959fd99745825a1a115ae5c24a6777bbb5590423174f4a7a8f0c90fbe61c6c425fabd3167d0b230bdf7c20191544d70952d59b011ba7cee5e2660eea795fffcb350b7a69f2cac237cdcb5101da4e45deda8f9e2130baa8f4cfd97390a835b7f01421de9c2c68f4693993ed59e87c301d365837d57e3077870186bebad88e4270f22a4b47b97764a63cc17a3745073775c82ae3c725c4f8884256d929ffa3795451695a6dfc8c0c1b6078392d0a3ea8101126396c434f0e418b226419fe45ee8b52ca6c2b85aed4ba62aa8a5b8a1e1f19185f3d983c9ab52f44791ae46baf37b6fd003595a1ee3112007d84e345df772f5823c015904e645688649fca14c64dd96ae0c548c9315cf1f9deaa1d9e75e450b4149436c606465a3cd1ea9f4cbfdd55a0d085dcc49b0cef9fa9391f07aef30e478a24e19ec20260728c98dfe55a30601a35f64cdf023ba8caeafcfdc9c50f401397352db9d4a78a4baccd339e7d81b34113cef68e6d76feb631e3450bb692c611ba6ff03c2adf9c5d351d8b7f94d7f4b1d38caf838ff97e5d54067c3fa6263585f0277ee1f10158a4ef5f35c833ce6cd42534073c887448c01dd48a5027f18d600d6d62c086aaaf26eb460c709785fdecaddd188bda77c4d6277832498fa8f93e504d9cdc53793c078976a54efa9f77f87db754f3b0388fe851dc84829be9a73c78922519b002cd63f7828154fdd24ce6f586f317e770e325620c2343a53f140614ba02e8e6bf9be2c3ce045aa25c14dd7e2e450a2452cd488a5b1cd1115d4e9cf83587e8c556a9aa0ad7447fa5d1e9fdf86d05ff823c108c5765bd6dc36254146cfa9916fbfb046ae3e4603665c4c1c9719883bf07df2f9d2facd2a8d7faa040c0ed0cfe8962019a5008d849cabd28dffb3b9d02e7ca6a1cac6cc994e90185bfd5351e1240088648c3f5e7a6823144377fd005405bbda69bb624bac9077b3bb9f2a01f663fff3d6fc6d345d1d92e224c985e634a1cf00e286e2e7851a25d4733ffdce26e919197ba767d25b1460afd94532cde7431fa01aee7538e481699fb578a33543615e1cc220dd0f5596a742cfecd6acf51c08f0b8da2ab3f4d16e3758a91f8b52d47e197dbd24a55c44c4507ffb93620c82a6c220b036ff858ad5bb9b91cb099cf0d733f9da56a9378276b0e0ac1e9632396102c8f1b60b3221efa27ff249b25fec1dbbd1344ec57bfdde4b128c2d108b321e20767c496a1b843f8cd99a31a03c2cdce3fcd838cbaaadb5ed2b75fe2a21f7034af32075824df951fa8e94aa3511b236a7eafb1293949a5503a6f6be85cbd6a1179b15ca38c72e9bc07de466f9cd8641067f424e587b5abd898ffe52eb6079255a8fcce46e0eac2378dbc25e87e2c1b26b967d1e2305d7ae2f0b3f51e206822052f9d24731330fb076df2a4d6c32b8209f80b80b77d3211b9de68eea0ffe2bfae780db00473093fd39317df19ba0f59227070d83900aeabe88eb606007a21841d0c60b3331f9f4ccf7d656f8c707541c15cbdb972349090cc98f19a38115c47c285aac26b910d42914f8ad322ed003a289988c33d8b783450f2190332e68522595ae06ba4ed683c9b16073e45d2e36ca5eaaf834e15dea0d68ee626f1d9499d26f19829b8a1c234d95df08ec8627a20e894e96c7f78cc56411f582069da6504bb430e034fb23b01ee5d1fca5fd38203e7a64a7012efc25cb3ce479e6f3d83e1d6a8ec1bb3e2fee3be26fb4a2d6df18adef038abffe5e3fb476c3806af4cf827b55c35f43a8a958d654c5d883f799b2c0a26e7e794fd6543fcad8ff32350fdf5c10479799f50ee4e1c42e966273cb595050389bf5caffa138dbfb2ffefa8690c9ca5c209e72285d35f6fe8de52a4a6d790ad57aebaa5a24e25482c9ea526cc9a81d3fe09a7d0b0d4ca72d3fca8f7010fdb66035118b93b81b6ee669aad66741f4f77c6349854f0e5f95e3dae0a0ad58f4632e728a23bf14498b9b7df4b99cb70f6683f4a04df2e9bf6eb60c71c4fb5a2c5275a59177f0e0fdedcd24309a3856e01b583f0df8e10d13cad5876fb040035f0f6e5fef858f4074872ae5c85bfa24d4e0efbecb5348a21e72dae62e143fb074ce4967a6924923ba252713b48032d5c0b27f23dc16134c2f55d62e5894e37a41c7ce752cf9e4f5c35e1bb19bccd29ee9283f2513c7b8c2bd28f094916ff1313c93172953490c11844869f4eb077623fdd3031c1f316bf7e78bea9359d720a85f47bb3e7acddbc3378bbbc1253daf2d381b9068437df6330744c22c59103b8758384de9e48cac9b05ba53a243be7032482fac7b7e921b905bc31bb363f5ee74b93954fc231c0a2603c365dc3e803388ac8210419b0dfd4b0ade951c4ec10c3726a914a2639c9781ed5922a30cb2e5abd399d719e802138493228a2a8005fba79c6a47536dd311abbcedce3ef593379fc22ce824b85a5f04e394482063e97748abba7afc7bf8bff5b5bf41f4e8a9b221436141fe599978c54c2293cf50fbfaa0bb1aa5a5185c17b4cacba600caf86ad8e5247e4c72ce6f68ce656ca4f0652093ce9ce82f872169b924707a8d8d78da3aa2baad9abdb021e0fa17a0b26c11f0c8f8fa25e2c08a76b02e0f165a0bdae26a2bdc513a5bdeae5f28cba0d1a47bc4814783bd11e8ce7cffaa30bd9951222299b61d90b8d8d6e134891adc93d319eccd6618401eed9e741cfe5eaf80d012d84de0859d46c6f623c7935a6ef87c12b460fbd422e206954eb5eab8a71135753f9f7b98e17f48274a73e933958cd4d93b8c996afc2657fa7600b1c95203c5b5b9880550caeb59d7e66fa0ebc53842f7ed1865810d55f78ede6f659d864eab552a000ce6d5ae194573bd8c6dd037a8422c2fbefb5160189e312e844dc51598f0f07aedc904ed6dee0a4fc437e75e6cb09e0cef32326e94fc445e33bb771e50b0e17ccb7ee2ef47884ab1baa14d9b8ed5319adb83706606b404060415aa9bbc4b7d326533ccb17e28568c9fa43ffeec801fb45ef3b5b5a81445201de4452c7b66de855a7d65297adb0d5cd88b77030b85db03eab8a283911dbcf35a858161298c12eafc1ffe8fdc31b296d3be59ff2f9dc243f064875c5c32d6804a7e44e9f71e84321a455b64214f52913c353b88edb7e1e70c1dda84a05d5dcc882a694a3d60a671fce02086fb452fe91f78c0740ed9dc47cd2b90295835821b1282c979f4c5868622a34c678bc53408c04ab15ff80b9524790f47f67dff09743cf4f7db1c6335d69963cce2a99f8a1c8460b0d2954deed6be712c10f66efdd6c7df016444b843c073ea825c464278e98bd05cd50a027ff3390c3f243f804e829fcaa8ad7193161c79b6027aaaa143bd3cd79d8ba9c42e09e9809d4fd9749e6dee7007c96061442e50ef30e9cce907d64a342fbc453d641ddbd5d73678afee5c70d695458948f37fed7b4a8a4ad82ae7e3fcb8b4ef356840b970cd552b0215f862986dfb963c5d50064bbee58196c8318d634925dff42641edb872185644c8a548260411cafa6da5d455dfc031e990d8bd2cc0d7261e7de193a42b8d9074f1a2683a9538d6974fac45fe7da219d4aeb691174a44dd493e1b9be5d8fbd3df0dc770e0c9ddf77cd95832527c19736e1ae511010b65da1a7908d324eb4b729f39decb09279793208957d54dea609605443e17f785bb6677cf82f4d72be791e198d21677260dcce80eca0bbef413d6580655fd8518f4ebb98e5949a295e6bcfdb95e77cf8d50f2deb5888e54e8b812b353c1a12915f9211043f05b4a9857204bb9cd3ffbba096276562171d7981b25ad28218036ac92e3ff40a5f7d2fb8f980c44fd2206041e09d69a32acd026ab1ad3527d49e15592705b3c3f8f7690b1eabadae11cab5b6168c66c3152b8a040371e54eb75987664b262205444de86f5924b070ad9555921f74e013bbbc9270cb49fde9b758d0d9f78a11ec8324050af980342f543754ce04cba5897665f39a068d2434202f7df4cd51dcb1f8d32208558720963aca7093046cbadcdbf24161492e36d771e3346236a75607e4b5c164f24731653e4358f6636806394192c5badbc0bf46a94d7ee76204c836db19416f970b3d9474c42e15060a965cc51ba7cd3b128c8360c7b23b0cd1769a96682d2d75f6dc15272a847af3eb763d1c3dd78a0347ae50b8c3ff9bcd299d3655bbfca6bcbf8d4913c328a36ec9977628439ccfa6c88f51d7e8062d574aecd27c4213f80972d3797facfec82d726a2fe3d670c3c37785403366e2bbfc50247babcc1722a8dbcbb364ba7948a664ed79806315d7b08fba2bb77c30aac3cdd12de6ad1902b3ccf8ca1da336830d9e390b5b9399e02b33fc94610432515fcd053646ea397d4bacc02ffe21773ec69718cb06fa73441817bcf0a39a45f16001e59333f084736a9323e6c89c8c744607aeecfd10bbef592703424c60dd516694e48131cfbc9e2a3355078abebcbeeb329ba624603208f39c5aa809b93765af3250095956935592ba29bf07ddd2bbd1f3dd1451ccab6049f765e7cb5d6801a75da70dbc2a4b1aa91b2e499b90cdec79d5d2dd246bdf290b7aa0e1280db345aef5c5a71570c78eee7ef9b1b260767474e45c1c722bdb7800610615f3965e99d38989c8bd2a2bc6384f8e354d88dcc5693d05c9fb6f23df0441caa18c2c1112db7f5b19b5dff6d1b1cdd0d1f1f7bee67b2c00819f65d5619df4273f0152c27a88d17d09be6dac6da37281b8558ebe163d3379bcf1bd6b15942a9e961b9e3bac1575dd6c3b98b48435667877a12dafc9bb07c409699d20ac4446e3d148bcfcb4a32ad0f345a285153d210f6652d6a24488f267fe7ad0f77fdf14a3fe164da94501546370430a34dd8b7c46a3f7a6eadc10239b649ad080541702eda90f560dac34a9fcd2e04a35650128be49112df1de361617d5e003c3548293a5ac67c4d9a717089dc202be33ba2548718b3affa643fd425a101487f2b199fa80fe8c75cefda6a127dfd51a16bf25981433b22bbf945c4403f51e86b1a2d0613603321dd8d3f00c64851c0377f3423eb9e1acdfd8f12370ef4fd61731593e74856769dd8cd82ba58da25288f546ea09093c4776b7a8cf8ea7b4be8ca7739a1880935d9fdf3910ab3372034b488b7ab1d4cacb5357f995e0bbc2f434afc7a672fa7559a4640ce2c7cd53e4488efd3fff2e3e04ac8a07f3d11e117ce1087f6da2584fac306779d47c9295e0d7e76ab7816559dffe0e6c5b8b272ae0f3f8cf2e6b859e24b4d1a3f1efe3fd5649c22fc48d0a953a5644118b5981748ef3a39fecbe62e52d6cad6fbd98ab05c1d1df827ff8e584643f51dc3243bdc24e546df5cad2280d1d11b790c9af543baf41906480e9888606dc8f65fc8b16bf8b5ad36c3c1348ea548a8e572e97942e091770e7eae0e886aa96e1f6de24a1c7ca7ca7d5c41c58c41710b4e8a7e9ac130fb2e91eec2edbd32c005d1a05e79b29a4d56dec73e2e9605544553d05fdb640d8962c937946b1d2073a0ab6b2e6c8d8ae1a444de262c015474aa4638541555e048197a014f83c0d0d3e4af3786f5f85126030bf99736da16af9fd6e96dc95cd4e2c0e65f3e26ac77f828d0f6d8383d88074da3686d1861c65610d044d48a21a37ff2145fed2f83f3eb9cffbddea3778f1f63ff95e5f6f20b453470ab5552f356c49ad2d1924334efba822f59b0c52b33d58ef7b7264b8233865809c0fe2e37fee20a458b20c8d65dd4fee972764c0387ead9a4a4473ea5df20419469e04716dbd6b7143621910a292c9fafaae0fbd478a905860431c887bea1118c127e7c7a6ba3d7d1623b775e4f4f9f36a1333e25cb8a5813c6402d0aea5c7b2372c13088da55086a0844ef3ecf5164f191ab07e087fe8b2e1c83abca3b5988ec695ba5a136bf876e30f3e6c3bef059592b42ae2132736e03f3d0878d7d0c246a69d709aa6a6b6ee4ed7244a081368ad3dde6ecc08afce0315d65d23b1a425416d42e80ed4451c5acd46c99cf0b907b16bc1b2015c971484a15bcdaddd259f4399e1eefd618e8670d9b71a8cbdbad7330cbcb636170128a904067c2dc981ecb257c343f06f1e9817856f7f112bbb7fe77d682149b75059492406aee55f93017341025ab7f8106f2a6ec8d310b2c7aa6eb7e49461b415f099fc386c7dd42c2179ff0d1d51aafa1495fa1eee1a6a0f0daea3f1050ee4326fba0e19f71c4e3b2a481f7471a92877825cba9dd856d534a0a32d2b14709764c09ac4f745c5f4976e06aa191e5a4bfeb519e5da6b79e0be6e9fe2d648c833e66572711dc2b9beb2723dd0f5ac17e1bc9e2e3b6fc2e1ba3a2b4e0f54cb2edfbc4023aec7101c0011555ca4c55b5fea99e4d01c212a5a6e3974c7f20c4b3cff0d18928b52a7b1eb0cd5c8afc976a7156a23d09e991e8673ac48fbebfd1ba1bb73ce500f5943de177075ee325882636685df798ded107c969f0b82bddeb90819f266cd21480b5d0aa7f2558f2c5fa1af9a75766c2eacf812f914f5af859ec36b8801fbcdf03344a6b35fc845548978d8139c881d19a45e2e4d5b31ac0a9711a5b21584e71a19699b00755d71ef441f79497db81287e269a6eb4081ed7c43e9d1aa189b23b57337da6b07db195ee510f271da8b7158788db84ed9c2a5e168d88b5bcda5b107552e95073f68d69730a86b00b5c1f66e0cc0fa4799da3d21c5fdca6d7a38a9dcb51143939536c434d14722db41bd4cdb5d027ed506a5aa11c4b4f48b4b96285d7ff7beeaf53d293e9259b68e5b16f1e2a9298c656297b7bb6bffc26027d7ee057aced1785d1239c25a6bed3a17a9967e8eb750ae07afba4bfbbc749dce1b86dab3860281345e99c18398a97afb2650459699710beeaa56059600c048de29c257a12f5c20ee8e0f506bfdceeaafabb705acb14a7a6f1194c16dbf3db14dfd548a207bb16212dc6a9f6aa82fd42d807b99edb6b58ffad2a9105ae805496765b3bf3602228d2a342acd58c995c0900a57a22f0fac979d8e23b41fe85dd0ce1cb29dcb8cdd8312621e1c20be324b9ed4efcc2eb1e9e5ede0647d6088b53a18d894be000d2587228a1754e8f2c3bc88efaedf3b541bead705032b7e71ab6ca811688f07d79d6f2eece1738e5c5e675a64edb08b15a76c09d0e98a2b2bba41ca7a1c97740f4dc9848693b803b70c5c50e4f4e6cf530577825084acf454cebee82595b239e47167ac75818431106531ff60cf4c3ff7ce3036ca598ddc4db1bdafa6f7f1acc2571ac8551481ded72a4562e4a165c31779a313709a00346fccc7cbaa6374807eeb8153f83347632e64930d3705b4bc88ead8e6c06012531ddc850249a37171aa999e5f05f62b22157a6ebb1a76ae877a230b9060f132eb8bac40b99a3d61e704d9c029b2a9a7771a8e9ca8364b53f6d68725fba2007bd9d850f7502f0e80fdcf0cd5fe54c36d6363f8b06bc3a5d4a8c58eba9d6398833b127144c143b6679491681825692c796b889bd23eee4e3f8b89b4a52e6399da0dd1f32c039804ca2c0558f6cb0a4c730233fe9a1aa14e4f7c262f185c6a15054b17882d6ec98268a6fd64783453b1b420ef40602c9ab88ae4e00e1b3c1feff6132cc60275c83bb4642caa22e2f9e834a63ac14ca7d43fe0a540918a7774f387f8ec0789e50df1398c6a147bc6a17c8ee55ce9ee0fe0af4b150729a1fc313d90c7bf7959d7a614c96cf832721a0dcf82355c0ff32e718fc580dfd0f7f5929ad618c029cb21dbb6907aa761302b21475b9b91e22587ffc6ae2e677dc042f0e0c6a71fb96d2e2b33a5572a99baae84929b6e4a5101043718bce3aea9d690110e6e5b2f771f33107b98618254a76188fe5f3ecf3d21084abaaa432e699f638f947a09dbbab8d64e82406aa2fc550795842c6ce8b75c6c9a9aabdd8314ca382c07148d89fa50345aceb018308a1bfa73061815e835cd58c23392cb8501f98bafc3f2ba2b71fb015cfb2738517d73c20b93c3d039705aa0b682291125f00502df4cbc402ea9bb86619d0844f6b51847523f172421d68ee0794f231f257451db1f23ebf6a61c35cc3e1b28c1252aa85ab40684b43fe140ea872635b8d1ec3ed92f6385bfb2f7eb0d02c22eb1384f6a994b665270152d78699e7f8f75b07ba1363cc40f1e95dcc8ebd52a7888e38c7fa7feb938fb3a21aa2dcab720698088f7e3caacde3e69290ae767a5760966ec49890b6a64b71eccf9a257c4023df63a821195b8863edc532539148a4f5a5348efbc147b1388b049998b0b4d39b77509b03b590328ee4f4b2f6587d2c4c592d0e0c4f60126f7a0b3bb37b21e5ff78fd73c537d1f1cc0a079b70129df74fd0cfb6a08e4e5f7a9e4cbdd3fe0adb9284c630b201486b5fc8abf14198a45152b5dd2aa1705084d8826d4a6df8fb220953a738de0ee186d5a493434d16240d2761b212e92d5d06fb93d21abc6284d39652736d848582522b861f1f305acf6c5dfcc0a2d4434e33139fe33043235aaa5aac09282a8cacbd02114194009144361f4929b790786775c11a544b75a11b048f1693c2457ddcbc5864ee807db56215fce40e88a84ae4a0967c2ab3f4ba9ba369db95c3110254846da39235e17cce77747a574eea2e5e9ef68bf9c366982629b9f40820aae4c428932b590c93c16b0110d8ac441c980757a17cc4ad72cf5aaa4a3b01357cdb3300a3c2e1be506d7beae9dd0940bafc894228fa6c6b23a17413232da809f4950fcfa45b256713236186d492a619926f3d400b6bef802178d78a715933c9ad168efd17fa74b03d5c7086ad88cdf22b858a7688a2a76bd7ea215b894465edbf8ff1911d93cbde5a752556bdff879c96551520a447c2557f86b3919515e47ea850ad42795fff8a6cc3f4c1fbccdd7aff1c6db5e7921c8b67b108b75afb8046c8d451d0e8e1bb41ea0dee36e11c94da5498d73c6963da0390fed350f9c5be89f1c020418655ca476c98755dc2f71a3a44026c11578d06bdeecb96d6e38f11031fbb37c0ee2cbcf6867fc39e03505e0113b4ad31ee588bdae42fa3f165436ae17de8c8492ea69adbf5612aa5b3384f9d1e2be72766466a789eb44ff2488c946b89330755828ec83a18cf2fbd049bcbc4c1298b225918de263c34fc7589d4bfeaa907c28bc39c841624b7e4e5d8b43a25c75098b80337d4e18284e452566c49c00fd910f6b339ff5427c28586a7f7299f679ec7f491eb754e08c530a55acfe038289f2d125035443437be34adab40388de07fc3c7fd98c4dcd55748e76a28f5158186022eecbccac8f58b45e81b35fbddfc420c5eafee1349a59be07c1f2b357dbe2f97309c813f9ae398e5ddb4ba265a513efa1482bd976d0d06c9ea5fc91550b92f2cea2765f455c9079ca9499234b3403aae1587b093cc11ee4d0b15bc3bb8a5bda67caf37d922e321e1f89c5a14dcab450f31488ec95ca353e78737fcd00ceed58809e697fb6433f614ecd7939dbff5fb83827a12f6b245c1a98e47320111f041f433a177d9d1eaccbeec7b7f081b734fc7095e5e21eac5d3a9e0a0262cec09a90f36bc801132a2800ee7e7e30e9971f5297aa77adfbbfd235383398446f0dcd126f6e7dccfcb2e24e60ba4685cb361e0ad29faebccc4f619b7a87361c35c801b7ccc3298731fbf4d70dcf9d8fec13735ad66abffbafeb1535abc9fd55bf99000313f8aa33d60059ca23ccc1cb7bd3ceb698deae5a70090784f01266435ef77feb94b36e0942ea0dbffde0202fdd9ec69845b253e2c87a18c866277f0bc8f978f9d2b9687631c810be77d125bf5e9e2b48101090857f429867106bdbf66ee2f1d659a81744a70c84577f6ea589725de82704c793a30e707ce4db0f9673548e3d9c6253a4cd538bb7442b5427b765dbedd05530a5e4099758a4597060369787dbcef2d01e3c66836db13e1192e4ac8fb9b39f33652cce39bcbb99ab8c1f771dfc666a5d24e4c90e70dcb4b7d8fdd3c2bf13c609f1e6cac2fddcb9ad395800f87713b39415cc87c126becd630d299037a47334cb47c741ae84ed5ef4009bc8287467e66b24c053bda72e61346c8a740d6996fbb1c48876e0a05199361de21e7d0536d4b92b78c78cc4a9e3cf8b6d32f961aad932de7a3af085aa56d5144755449fdd4f0102f9e56400e758fbe4ccd782cf81267cd06ba79c19c6986c1cfba7d9cf879de03f3c9d4a3cad91efd00ea85a0e761148261028e0f33a160a438ffffd221eb62be9c0edfb394ab0a60c469e3c086d94a2a99f3c7eff46911aca5c10d13e61af63958299a253f7bd6822a2b79ae729e2352ef3dbea8c949be6af8f04615b475c7b8582df89760c84f63c35fdf27b1bf311807491538645812d37cde628dd2f7270d0ece701ab8db2414967d8f7014985c1bf4c6b2315ccc2018e34ffa9c773f4398e69f8e6ea46f77bb77e679e5b6c03c6a7de5abe600ab7472602462f538c2ba91600b29b4691b73630a4330997636bad20466bec838d5ebcee7b334af462b91169be2053de3830c094717ed57187d82e094abf2e812d8eb65cb5a5eab845b8173b1b4865d329d7c720b0645e753603fdaeeae8e2364f430f431824fb96173720f3dadbd9bb86425d6a8c1e1a26fea76bef51339e158bf396e902e7b5ed46017abed319b15026ffbf8e280b3459b281f3b3592a0600ce794396717b5c83746217dad2dbf145e372f715c8768e2c795faa55b0bc5461aa4a15e535b00ede75383b211f1456e21568b0fa5a98450d11b79996bcf7c474aa0a6ec51481771765e4ff3c1b371d0e6a413b12672049c505e99d84bb895601d0764f63a268f546538ccb099c79a717d98715bcc81ee995eb2f2cf8c2fd2da0de206720a0ae25294af3d6eeba90983a5144c199a5a54966d5a00bb8a4985e20cc5a70dd6be4fe26ee1e0983c18467de51183b5b98a7cfe722ad2a340bacd2c0f9f24401c4721b6ac6b00df3234b2ecb91f525b80b650a7b623b8377720ae55cebf0b69ac3941174265b0e34f3c59ce2de02f88f6313b3ca1de97b6fe5493cea6183e5d2dea4182788076def85c9ffba47d250f04b21d77a4a8bf96a509232a07ddc5d7b13ecfdb86b1cd13214c690ca34913316cec016f27ac233e6698e036edbe63c6f5419b63e3328b45ed1ae8144a7c98aea6a2ebc13592cfb56e8aa196617cc4032f431eb305fc4ec7c0b0f192db8672128c491eb2f0f126db54bcd6c32808582da8fb47ca85fbb87d83dd27c175514adfe76f9b87c82750d4dc85a2abebd8af2418029ed40fc32cd20130c35f551c324e68630c982bf4f14eab2bebd2e26df31121d7511b0ebd70df6404b3011924526ad017dd9b07f0a955c14bd58b9f4edcde9c801cdc798e8f2bae28613c97e8500645a354d7890dccf839418d7bc1f7177a2ca7da71f7bc30e43d3c5ffc82afc64a3b03bd50ba1c72112da4a7ee3a9b580273c09d69f6b127becc568ad64186469f5c06779872f871464f6f16a5f912abe1d3233d89da9fc978b9bdb01ce2d210dfe8a6c09d44188a967f2cbcdccfc49d3fd131d2466d2ff856b775d00a1afa4fe9f317b633465f7ef01d3f218f3117cfcba63a0a76399f65096e02cbccdfe4156972a4ab62071b8a2134e8abfceff492e067142a9e3898150e681ae2e7b9e62d6f66a08e2b3a6b4d28eaf5fbe93e5d509e7c0a6ca045edf4f3faefeb269e3f4cb62633525324814d1dab1fa97896cb7ed6152c38822cf0b601039e6a69547c33b0723f502dcb8b7786e08fb20d893493629456aaa5bb8c1c0459a81719ade07e3f35212e461db504c80c73394d2e43e1ca7b92ad265d213454b15b672007c693e74133cfcc501618be352902329350ddc01b1fad562225d5ce5418a81c72b6a8ae24db2cf153d573bf95ea9b906bc374babc018684f244827ff3e8d7ca80e421a95d3ae5b0fc9aa8149e35210afa31c0b20e1b9c074b963bee3009f917dc3b0500276d1ecfc565befc08e55acf6c51af7b557d20e28d214ef4141363b1180e1558ccdfeec1548ac7f17365deb84e34059a73c988710bdd4706ff1b0d9a27d4a89dbfa28852490dc51a3979b40e413e7f80b2d5c73b49a2203f6a022e00081656d2c0ad0d3471f15264f98892f977fa4e361c9fb3ec47edc1405adb12d2ff44a37c14ec0b0eb01c924d64f3537171bd8d72d8a470211a1d6ab621d9c1fd612ca09af3b0fea5e794898002592eef954d7d9256ddafbcad1a00acc2611281e4e744202faa170b39a3f750105afaecf3fd9f1c8363fdbb5c4a4466e7398c32d0a92dd02bb5d9660b7bd59a3a8c81f9c66db81492ef24fa874d1503a6fc937937966ec7f9b12b56fe2b16f0e7b8929bd450cad6441e501f23c439aa494a936503ec815252d97f4314d1d72cc8e7fa9da8c6e4c077aabaee550a47ce2f9fc043bf9eaca2ab3b2c567008f8339d45fbaffbda318a639ed03f17a14bc201a3fadea625c37354d3c5907e19e0308b97e8deba7c883ff827845d4d3641f1a1fbe3d230a68dad6c8e425f1bc8b4d07cf8b727754c3eb8fa61e59e771a6c3c3a0f7efc99271ed4dc1b803deed95bb2897e924d0db9f142ac249d5bd06927bcd5aa569f484ae4d0e5839899e218310474e54e2b51e8f8ec56cbffa09b03df32178aa1df3111924324c90eceef35817f5ebc23520a78d2d31d1f17234352b2cc53ea66672ecb5b5921e6cb8fca8c55afbbcbdee2cbeb0bd74fe7df7672ba75930a5d18e965d91f6dfe9bf36967b5ee7a142624660e2d9e9ec8344cc1f2287c916bbe50b17b13d2b87dca2bef8735df2a850780fefcd7b3b4823de5dbfba7ec4d9aa47cb06ee2df26a81ad5541d7d5f9ceb20f80a3cff6af9f17c54e0805314056bdad40fa9d36c64a76d83d1337cb1821a6c2b3835bddf879f3991627b5f7f554611e861ffb024af7f0f2a585d8b461c3e68ec9755cefc1e4209107c03c2f4f2fa413be971c98f3e35808545e379878a8611e5963260601db00b3c45d54cadab96d9309d8ea45468e5018c0f2d0351dfe389f82e9dfb5a29fb22dd96e8ffbaf5803ab7edef3014884b41b80dd8cbef72a7cd1b360b10c5dd8d8454cf58738687d699fb66a14092906aa701c45da6bc935d7f0ac4236dd399fb612f69588b12dfbbea3c2b93573083ef05bc026ace654f1a1c83810d052db531da4f86771c81251c555a606d89aac4aa79d3f8df38cc5c2312e2ea3adfc9db9e841c0378a70677d5f00ea06f333a2c2278a7329c73295ed166a730b6c2d191b76ab5479dcb3ca3774dcf25877a6472a7cdc908e788362119590cf2f97a2b3ccf3b71b1eaa6c6925b6a7a25beacd96243438535db5a027bce2bec2abb89887620b9d7dfd38853c64d733f94f853010ae9944232d319d40be6274f89983dca603a57a7f3969cd8460091071cfc9f3f0f2894569a06cab5532491f9ec4189756ce049cd892600c776f1a47b8d6570badc461ed873b302b2f54b3591897f5e56550748b98d2583e56349516fe3350cf1103b3ff4a52f07aa01a673842cb691585973ea4f45d6c325f1f351198548f770ca2f461343af1aab1935a982ca662eb95a20597ebbf2da24337888a0642e62ab17f7ec5fee7ab9bf8b229d858c1c26a38c519c447bf63e1198d1fa019f921057f4101dcfab4e15be8192156f46a0314412295731b6a36aeb6b720f02f438c3d18e3482e65606f0310f534ce71b89f30eb357312c9e76fce3f2ff1e29d1a0bde2adeb0e1b69f29ca0479fa729e5577270aafa12050c4f0b9542f2c6fcb59b8dfb5a66af0751433d27bdc755c6806432a27ca9523ef764cdc7394e2471cf8592fd330e9a3fc00c6423acdec61c4f64b7fa319fdfd618507890b10940371faafaef01c89904caa45e5096188bc708739bdc8a4c12d75e3c376c30504b6cc5cc57aba00bb8ec36a7a7a65236c3e31dc2f1b9e24215ca041d3c14d3620803e11b559aec1edac60c6ef15e09144f4bd0fc25ac6fc5e9289f4a4de55e08e6962b9a27dba988cd3f44e0aa556d5326238c2223632d1bf727adfc8ee5bf0a7433201a0243a601f762021b9e5db2a6274b3528486c804eda6403734b54510109568504ad0ec85120f09eb30d4afeb5a47d4d08d3179dd832f668535a7d9dbe09e1e00887be760516c1c9944128270a247af6bdd468775e564b098012618e53451862f7700e9f8d96645d0d962a08b9952b1bc396d44e30688a7db510b36b1b47484fbc2f6152ad1ef96668e5ae5c552ec0666986e7f7ff5ac9437c9706ec1e4f016b8b97ad71c998c29abcd50fd2b4009fc43c2958c4b9be390533d671db4613ff8156485bb076f771ad9703f4581f99138c4a8759d7dd6eb1a4707703a33a3c50d67e2862169e092cc63ec7f2cf79081ac51fa991f43e06f563da8880648e35a072da75218147bbc6daa1a5f9e67b796ab66997c4264e1f6c48add988b5eda244fa4731f075d30dbc4e0df186fe69beb3f7a5ee75a5c3d95ebd95c181d4cf0eecbac246a5e6e8eff4d759af18162060340c8d9998cb615476cba7532de4509efaaf0aedf86c45da3c9fb72b051491b3b9b4018671b032e6f4d781f0b89bab5ca455365d7c2e10bad83edbfa35454629c99ba0556d28bf8593bfa135c855ea8b23e19895df470c5afb49695fb03638bc39b4ea8003b08989f1a8782bb7b25db53ada035cf7a1be796b512a43a4094e05823d94ec1184bd284a78f2af4a81a9e2c047b997cf5a748a0c762dbd0ca618dc8f8540b304c8d39c5fbca0b9b39709a46448fac8745ef82e8273cecdb97c14980527c230981950b7cc20ce239c06cd440c2e8c0207a67b2500e304d6425adedad1fd0fe0d876b791e6f86eb59b2007b6362d24139bb441af9b4e4d0a1c8b8245f3b7bc826f3d62d17a68988f5724761c48b4363a81964b74f0a99b862da3d68dd85d4981b49c8410ffdafbe823394e52f3a46e35086a2ef88303ae86e2d7609cf737e03c2cef6f3ce9f7fe1a7cf88ad9fdd0b60454429999627b8952b25e6f97406145fc8ed65c88e16e98081fbb79fdbf4d218863883843213f2f0067c007d2ced8232dbfbd5a2dc8389c081a47c1b0af7a663f62ea0ba66c0228c201dff0aa03a1432b16c5bbb6c60a590e2317223063c60f38ac3ef19e58ccee25f61760d2f69dbe0c3056f071ab95a9fe08c9f7cdc1d33e336baea9f870688de4eccee57d10d925327c9c06520a7d57c52e304dbf8200bee4ea318f567b8071ad4ac42ce1d010966d795bf074e2224c23f70768becb3bf6d35e34b12f0da9a2b12b5fc291aabc297a57acc5ce1f2a97a6a15006afaf60178b59d3dcbdce624afda225918a04f883afd1e3dad6df68bdc942654c3946503499b8370707d159ef8aac5aaaea50f99549f364cf12202d16e4c53421f9fb3eb56faf1a6b1f39fbc1c8bdbae5214ae628d1f3158f83bb0d2177783224d04e92dba806a9fe7053c004da3635b32b449a35c2d0e49ae65eee51827b5979d73c970b90fc6174c8c0a1cbee9cd5263621fadab0d7a95484e39694ac866fa10d4f08f794bef05e3ee88a99556ee32cc2fa1307f8a53f413530eaabd0037f3baede3b9b3812235384a743719c3e23294cdb6466e5525fdad63f99fdf675b82c2cd233e3014fc212bc7997ab9acfb0656f9f1f5299cd1f83da94e09be1086794dd140fbef6f072df546cf7de535f5055a091a6c8dd2e13eabb953f70893f908bb8df1868c16f2a7b26f1e079ee238a244454a19b3f0d0897f2d274e13d7938e4396b2fb4cf06f80eecf8b676a8e0f5a7c2749f82778e2410a0e80512f6f52864cbbbc3c4679ac31ac2ffcae528ed93f6c105ca2006974baa488e269f1dc1d560d6a89208cebe85bde6f81dd522d114211e4aa9c129e6608015295fd5b8979e2168c346bad76f648aba77f17a391508ff1ae744c9db06c2c0addca0347f812279a4efffcdbec3374fc1f617a17b354f2351a27fc26780c16e903c96c745442240e340a1ac40de889e1a45fefd5059806d75d090add1c2242b76ef29223b3058fe653f438e6f3aac1379cb125b8d2cfc7078cb0ebbff584cc025950a73e69bb921651669d2ad5115d181652cb349d94897c3ef81d2f722515f86b9b4629a881c65634a5258604fae03c5d20c0c2a1f4f65ec63de55b7147e9fac89069f60b08d6a87ac7dd9b16904e0dcf09ba206e52d7a299a47acec5c5db469d61215d88c8ffa860e3fbfa10673b53b4724824d4e29edd25fa10c7fe22f6e68799d8de710500964378f5f7d16dfba2de07b6897fbfc7ef6250275e1c6c9e7d8a6377e46a0a3f7ff4edf3e7bf07209682340f6837aead34136bcfd6c28f7401e03b1aedd6fb59e966fd1ebc1154ff15498db023337885fbf2c294125d2d35e679677823213d09aa7036ec370e4fb6fb78bbe59b26401b7d6128622b7d4f4b88dc5fd36d71521206db4783127614972e851e765e9995b480effb6b3f6bbf6397a6e52ce866e8e04abf3cd78ed66d2ab60f45b12d85c5e4d8c8c9cfd39c26776ddedeb3b9162ef26faadf3dd648f428632dc19bdc20f639461d474c1223213d465d139757f093bb8ad5d992bcf9fd2554879e501e4e2c7986a23eb7929e7380e9720365f038825401c6958b01b94180e148ada656a9b8d7317e45214d090eb11ea66217329e26fcf189677a16bfc4ce274afcc5532d92ce46b5383940d25a2e01eaa32bf84e0f095ba4ed8a63394dff15748f056de850a9c471b19ab10c486457fb8a2c51055600ae1dc070dabbc49f004abc8f0053daf52c5dc239eca7381ac3f3d414ab7f674bf5d07d6da44e070538387502904ba0e7b50ad38441391b501f162f5dbc1a9ab9e258243ebbb59e1b416e95456666dff99420544cfbd7a4a8e91e271c9ed5d701cffed11c4b8bc2273d18d8424d1aef4f60eb55dc5fcac90053d1cbfc9c21c5286097654be1ebf9ce5d44033475ae530e86120170bb0fb9803cbb8f8eed8f1f5155fbf0b6420b38db2d926b84ad5427689a282b5f953b6d40ed0b050dd27204c438b1b39c707ee1e7c7cc4598f1409174bcfcdde6df7ac7d5c8a12cc8da4274153bdb1e7287ccb488b37be5231669933a2d78fc85ef0a14ef0e61fbd28c798839c5edd8773e5b7be85185ef8c5c051d2886a1f71ef097446204b04b79778fde7b78ea29ca0b3c116931d73b0189930e2bffc651f909ba8c7443d624b1e0d73594bf6277c6dd98806ed5eeacc5c61bc10571ebe35980592ce611369bdfdb4f1b889a921f4373d5680c4190ee35a5337ad27c0f54db597b9735361aaa88b35d7e5d58c7c249e07593298faca3927dfc4454868c1141cfd7ec9bb025af9b474abb3f47d2ce01df71f0bf29aa8bbf77a518aa12e0a69e2a7f80bbf99abb3d33d0d6019efe57697a8bed26cc94ce5c2f9b3a3410849a57a63c83ce08dd87e1441327bb0a4954a69029531f9cf8a9d238381085f2941719070d52126ec7c9d65fcb003516faff493ee92029e10d305bbc17be034e2986fd59f8463ed922ded547b0f0e7ce969ecd77ae6d5e967e1d6b9adfe6453c0e1cf6e97d2e3f7ef6e7f331777f1d12ede328b26f5c06f554c217e9e77b196332dc2389538c2fbceb71ced51c0c581f275573a521aa08c4857e6cd6796e03ce8f929d964171464aefa4f6d201216ea6244d561ad82bfc919a488ed15031eb1203389fce42e00361add5f875817a2a1332ebb56b19e80a161b37b96c3d47a0b166fa56fae90b8061f856e209fb56cba8a405defcf3552af14b9771d8d731d6f67bb39d5be84479370f25b4ebc67935100436ec5aecd9b4d353f12384a7880f15eb342cf234fbb4e6b95ec10e400b0edc80c550a67905802f207893d6dab5225763ed9123490a6a98b50fcde08bdc23bdc6a769697267ba4d1ff746cb865dd4d36ed44884ac1634077bf38ddcbaa08a7e42e3849cbbdf07bb8cc7dc050774d97dad65ab4454bcc2a2af45a89fb8c9961856a03e8e4f0636a8507bc6998c2332bde3892308e1d133fc9af968f09c4b32394166e7b54696612cb84a80785f32a418101a53a7c11f93ca60c23cf5691b695c3437999d3aa86be198c7884b65c42d61180bfa7ba844fb95a3478c4baec802c4d10b5d80157e90ed8b9c80d4ec34163e80505780283648c752a5f59d3b3c706dcb72d75e2609ac8e80d4590adc75922dc947b33e0ef245a1a269aa2fd58bcb676a1240a34289c246a93aa1be8fb700304aa0bdc339bfbf1070834eae4d142e840c2d4740902790a91abaa454a78f9ca6e24382868f9cb3789eedf249dcaa00fff6578086b75d338d8739abfb42aa1889b3d40518316e7117988675441474baccf8729b1720bf18d7bb7591af38882f0168f57cd3a2457785e616a9b009a4d8a45103d71b3384e5e2ad0c8ca7a8ba51f7c363d6e13b13a84ec95a0a929a7e026a872a9f82fd94e505db4d6eca1daf949bf5679e671b0f0570f20429779cdc946e2635eac776a9b48cf10d476fb218a5d5480fb68d550a69e1503c3bebb13aba3519ff96037993f0967ab90020b2028edd7e37ab4e07b2fe95efa7fd771cca19ddebad1cf0ef8c7df4632a8bf19e2b10da282c4251a5341aebfd168e880f190e4f3d2c100195d8661071d09c5709d68693537f3aad895304685eea892b3f3411acfb5cf9a237b42894e07dba4eb2ac25f067c47a1578ba9cc28fbd2974a27cf4c5b4296aa5e334edfce58923d81b71ca7045e40cd52f924c415378bd637cb03f8cbc372be88beab9c1938a459b92588bf51e17e7fe61f0dd02dd02449acbfebd225d2fc877b4a7867b73d70fe0384ebcd5f25adf4396b1fe09e47eed2087344f93274aeda8af9d06467d062eb47c642a693d955849f7afc7e73864f842bf80f38c333e5e2c23e3d9c6e58036eca504fce9eb8a3f02da9b2ab6fee58185f2cf71ae1d5b7aa0f82f30974ac880134b3c8fe93c39737650e5c5fc8e7431ac26b61578f27349feae5881385bec5c9aa9597c3a06c5aa10c8d4cf6cd6e92db14bda5bc20ace372e3292673c2009f5ec5954e36bab2264d541afa897052087b9edee2e1b2d2c9ec731507053be9f023031ccccd1234a0d8d6034272733241535d9d3b37342d0308b9ef5d9d72b17d8cfc95b6fc1bcca230d2ca56448ff69b82c5caf47a6ae5263898938d52b40783d1cc43497d2d061cca9c512fef57516ea10c4b876dc6ef8605113e8c63daef8cdb62f6a2c9c2bd42f326c00af0387ebe76a5664c454adb7a43423b3debeef6e02c5b940b6f1d6c89ce0cdb12fb3f3e97208df54d948394ad20e22de52defe68350e32407bd0512e13bd858878f092ff7762ed0ec6440764728c1f6783eda7aecada13fba229f51baeffb6cb8b8e2f8f4616a873fb39863a2573b3c2002e5118d3de55eca6ee275ddb22c44bbe936ed509c4cb2389d6f620e898f1b9400f9b75de911ae8e9bbf59ca2dd42aebc266d86180e262056e3e15495962c0ce53258595460ba8f72560fe7bd552a367e334e9c1f9880bd16d61c3d9d3fd930099b45d4b17a722f1744b6f7e695661917ddd37db390dcae1109fb3372595955f231ac809753cec9207151960235b1a129f4ec0e65576a451179f6975f14c8bdc4ce66f08f8158f98b61b82400a4208510c9c882708557f90ae816aad4b0972881a19313eae8d4b9cec26124c27aa64ddaf1ac88992fefe2e71cad7d01fab3449fad40428f77621ecd83d84389b3fee36d0a20d3328317588feb5480ed5072618b19083e7b9c20f09519aee6b61f543109c753f59bc02b94c90b78bc48c8a7aa1bb8ae608ffc38a75fdfca21d17152b11d7ab1f37eb009955961d20b88d0f9e36db3140902a9bf326eb0958aa9a9b80d2aa9a8245fc5047940ae51c8951112481a17cb50ef3991b70c81f8cd3dc61574be3039f27f9587e60159227005e7cfb8e4378434b312e347b0ac238ccc87d5d1b72b30b5df0d017f5f380a6304be64ee893663c1dca6ff3988a1c5b3f19d23c70ed53bc40c51194d95fdf73e2fccfb79f142b2e85b97c455f2c2094615d18f4924abdc9d310c5153f90104662e1929066e4cb97b130ce6cf89ca4d848da2f7439d4cf3e40656a170c3d3b197eceb0021fe597026c86b53ba08274775223f268a6af778989a04542c76a20fa2ad538c67abc14986f05084b3293ade4b8079094344ae2febfb23c60e2bed766681fe7cda1f159bbe64e00348f165d3c3298b7feaab929310ef0472ce8d862876d3f677441122d002a22a48af1979106857ae5f68b4c88651d20bc0018464e21fb8a38dc290f3f10df4a1652b2e426538906cbb5bf94954a1cb7c265b73019b1a57f8aac2d406d5fa566ff138fe6729080f020aa2c14c56aeac37b8c1f4bc6e476525efa9074b593974eaad711db62763e1fe6c4eaccdbffdc1084a14bceb420c7c429ee6f36d36581db6368d0a1cfeec5542b828e204088943b3cdeec532ba8b37fd7f9bec8c4ae921c1ed43d97f8b1ffe9fa69786168e700a42dd11e4d79e13ea1352a50c4b87004aeb66d1eecc7aada5b15b35bf5bcfa8ebad6a17ef0d4e1126eddaeee1531ca496d08b7056a3ee696aac432389d2429af13c9ff8f2a888218f5ed4b750cf217190cdb589e94ccf0a58383e55e3c89ee447e784c71dc4149f0f37d71923c43706e794489f9235edfd067abaa897386db843a4b1b8a7fe22eeec95c3cc6224b52f3b4ca237781ec56c7aeeb9d5961af96015417c69c383a99b5afa33e1e25589325297844faa836ee70cbf32aecbd3875412e83fd2c2bf34a008cfaa1a51ed88dd2e5723cbadbf41345a4aedd3f800003cc73e5042703c3adef1f067fb9d621f1269f913b9b31926db6b80fbb1b46d26db6059c505390c79b0decd3e6982ad21197854575b5b9e9e7731bc7efff1aa923b16919e140a774866fe1536794724e89845b92f86e8d14c93c412c858019b00f82a6d0b54448b2c1575c479a19b12e1910671b124772d96ec1dc60c9e0920f0608aa04c83b65e12b6f645af80bae41049b3e6a57aff7f64f7c1b940a834c19b005b1cdf1af357dc27d2f901ed0741a1cbceecc28919f44296a39964b8a537b9545a1e6b5470deb1da58f85ed48b13afc5e871cd15ddae730c08c75c3901c74ba82c3fb91b82fcb8b71f11d8fa15dcef3d27b25ae3b86c3f9ed3b8e7a873990aa04bd110bbc4cd811ceed6daa202c430acb1b855b9aca4eeb82b55e4fa30d01a2c05878adba6f8cbc9d4c3e69d766981643223ad9cf57db8d72370b1ebc7cf93144aa9dbccfcf0d99d5b85250cfa777dfe8b8a28b5d65ac2d52284cb78f6ca21439002539c79af11d5bc4dab712b60fa5ee4031ef9dbbbfaae0663c47d884d42d4fbf7615ec6247eea1a1d0e60d55ca635d24c5a0b31b5f8258d0e436766218d1087f025075399de9849ce405234bb7bbca9e6d68523ccac42375c3c2db802ed8fa93fd05acf78042fde78749313992057d0087cb17b76db89971fc387e2985dccd51de73bd8228c45fbd350832c490aab8c8684e29563d4c1a8fa29a772bae339659e8ca79067ecd119dbe5e29e80b1b8ad69f2cea79429d0d176f21636c00f3268b2d6b2b400b1842a7ef35db320195f8cce192d20b02a2274eb8a5085968d3ad5a5a585a6d7faa7337100065420417e3356d38f10ce0798644a6d8ab31eccff1b7b28767871101e975100a15d174f60e711b3e033595569e4ecaaad669f0ce2cbd1eac75fa4b55e7757d5e4e1e8655989bee5c4d835978b7790e319df8b129acbb48f8f23eba73478c138f1745e58a0a0b5632c74ba7fbfa69fb57fdc7a46d4b5bdd9b6adaa2c53ae0068f7f8971d6605df6dea2afc9344d0f72d96fafdf37bfea942b6f5b29dadb2bd8c708afda403b3a2b9731da2da2cf2bcbfddcfa8f0bcaf2f07dacfe2a7d72223c013327a48bf7712c55e0d0beeaae4e6c2557175090baf33e8c1c1a28fccb36a0691c93e3047bc873a5125864e8b55ac3dfb14f68aa958978d9c7d51721771fdcdef0e38fee7a0891f644afb86cb33e7900e00d405323fa4a7d32a90bd01533744a0faa188b7600adc113b31794d100da2d310de186c8a71c85907ccecba40e060035e8ee280606cc41a9975a612924091637321a8315c44eb76447e683b43bb4900f375d4b314b34881427e70f9ff6af6b12887c640abf54a98668dbb44b01459e3a86a5887163578dd61429700d8bb2d763700e85c1830969560f8a3bdae1f7ad6f4de7327281880fe1fb67188de99e1af623187da63850fb1fe291a906e6f2588f2577152220cac441ae90ae1ba5d7f0a5fb9d5abed3cc98e997cf0eef3c2bc85b7b3302ed9dfa1c3bfa6597428ade5e12d4200f83d320c49f5c57d288d7879c8fdf1b6ff7a7f3d835fd414057df03a981610f9e7efc89c04748587bcbfcd8dc118c5f8845f57daf898b8b025b0b41c539e63f11e216bf9be0152bf5b2c67c102e8fb572148e87c7ed0ca358fb1d234178d7c1feacfea6963a84447348e9ffed8302deb7de762cb191e95f28a61ac2d80aa2e097b077e0625f674b65eee694932534fc22f156c46bb8bec5bbb430e0260645ea1ee75868688023349de3141e835b6e9a7698bb2b343f013469791d6a1eb90d0306e2b3a84f072639eb345df40d5bab4911f44c1df0536e05763f3dd00c2bf5c24778f59708ef28b13cb7554ec737ed6c0e425b890950a977bc1493083c681434d8ae23c9a90a8a67ed952300f61e4d6baef99ddc5a04abe60f64a01249d559a9a939df69a87ec74db25f941b023a4952e0f22fac690d98659d395b7c4e29389c5931ceedec694a139fd04ef5ed88e0316995638d7a81af2923e3e4fd72758d7f19b7beeb3bbd4a914078d251dd43b49aeb0e8ff92908b02a6a4a793737e0132bf42f8f0cabaea8d29dcf960fa7d8ab33f65174b5183c8d3ea3f3a7b2d442ac5e71951a0d0e623832bc7dd43165a99951506d0db9b29a75650b8af9f2aed4bda982aa3fb6e02b68bf549dcaa4eeb7e57273b5f75dbbc274bc6cf50ff2f7c07d73f9d1566182b656427ba8938ad19a67473799147fc27a0ac50df292d9a6227821d4ba3d55583c94042a567c81b4b5fa0bb74a8651c0eac60914c6fff82f306f3dbdf3007d19c216cc4917ad6057da9cdcb7b69d16222b4b4ab9d8a85b08a7ac167b0ec1b4774af561ac8ccdc5ad77ff87d0078bff764899bcb794340ded1b8f5b4950b555f853968cafdfa015748ea39d63bb7db3d3214f68c28e6ab3aa39852d8668ee5551da25d11bc85b008afa40c250eef447dc00fafae99a47fd7390f728e3149f2ac0554de63a62863c1ab6ca2b1059559e2529de35fe03a47c4ac3d472ffa480f99c34c17831431f451bc07dbfbbdbaa786cc20a4b2977b2214d471fdf01badac766a31001acd857b73103fd819d49fc6c934a4ed4ee5c031d7ee0e29ab35eceb1fc222dfd5b62a9cd66ccce22407340dfad58af64ef227d8e32b78844cc72586cd88ecb3c6a104b0b8ae447794657178dbb8d7912bca87a3ff720310acb6c731cbade510892fd4cdbcdb2bcf52e489cbbaa8645ee88961aed565bc30661e8ca6a5c5974f143a60912a1b61314b97ef1a9ec8b8469eac8c53b1a435760c28b0f9c05beaecfa9609e4291c4aadfe6ed58554e05506ccbd4e043bb5c105d86dd8ab3f9dc1ffe82e7c2621c4029ed5c1e17aa1756985b2ff4c9b20b8db359df072ae07a31c2896ff7d8b9caf2eaefe8ba136a21edf833f94e1f499bf8f6b521096ab82871584e16767778051c0ec09e537acd827878eecf18c33f313dba266e12f6d0c9c8fafc60364141fcc0ee8c83cd90c88d56a2f1906ff8b1b3d6086b7bd01746d7fb160ffe532b4d314043b2bca6c9db6ef487bfec2958c570c71fb2cb70a9f134b1e6dfc54d6a109d18219d5dd408d28fcb2dc27cdae5ff35dab2de82affb5ca4d2b1951066d3e8492af8a91a916d7ff1c7fb47140e4bfbf02a64c35eb2d79e8839fc8df433a81e37d64f0a69821893c437ca50343fa8b5e8a34355d9c003a7c6f5f06741d1e5d28df666e4030bdcfa392a86c5d2282762ddf2dd4b0a86c1e92f1591cfb00fd2c8f390d88f1bbd7f3f2968c9730702ed2094a811c45a1d41270abccdaae98d968644702ccab523ffc5a8a0844626d0071c461e23df45768cd4022b249e4905f01b1738fd717046c02c6ef8e638c508ab596bea31b501cdbbd1b7278c65084cc2cff5716f681aaa2258974ccd0c72480d5e8326f83ee95499114ce7272c6081f52bdc01d55882d6449df228ac6653c0b327e5b2766a750f4596522e0b4757e10697c4ab00173f5e58211cb89763e74e50577a30c4e0e5522148a0b029c397d588f2d6b06df857dce6b5ec088155826dd7fbcd615cc02cccfbe68d4150cd56a1d33fd280b44c2bb6fb05da1a66b2d14c630e740a2b2383d1799a8d59145eecc72d01f7f3c441ccb952eb817b871dccf59865c59bee32e8c6e9bcd129969a6b3ae43e3e7f612ad0bf1fc081d9c55bcc3c1a8a524347c758b30ec9c9878943f8dd4d8f638d90bd0e2c44bbf4471b8bf6ce20cb712c28bcd96c48c1888bf2c6fc8f908ea72d5cd5ce142e09b02d180511007e553aff0b713fcd499302b855801b1caad3af770d4fd5e2496d33dcf0419a991bcd868fcb8a99d03f15b788462094c2288f6345487e91f60d42eb8aeb8c69d03b3bf494e11e02b81480e3381a2f22378216420f5d79a0d339b689f4170aea6d11e556fc60ba3f25218c7527d93129ece776f6f42e2396dd3f1eddae64ee5331e2a8dc0f453875de5c52ba1b9d4729eec7c404736be00b00d8e8a2d325b8aca925b415bbbeeda82e68d7656e568534e0e69698015ecbdba367decb198bb574113fb680a8f851540e63ee1dc902b43bc6c6219af6c41cc4e8ea2b4158ccfb12cb2ed6f34e94b8704fa29fdf585667602b18f98537f31ac9599343ce4a63d8b5bd1c300ad9b6a6e27c9ac4e0b65a9430297dd3baab281e6bce815fec918974bcf5a2ed0e0e8be819599c060116ca84147312c2230499508997e381b9392d76333f9f8d451687c144d73769c1e5e79bc1a7d1fce42b1adcdb303b3eda7aa7c5ad5613f1abac229fb57ae3cfc2caac8122158fe14d23248f3254cc82280907f57c2c12c05adeca3206d9b558fd78ae658c8ede1581fe384b46032991fa202e1ab62a6a7c99635068155d7001129fd7f7db2a66101436eefba652973dea789188f10a2dde6662341ce2ffbab9a06d2c212ab01873298d425965a47b6987411be2a85147a41375ea1466c5bc21ba5f92160c91f7f6f8797131bda697d5a57fd4143799f0e5eedc3d489feeb0e68e5d844d1154888e60d4ff7d51bf8d008be5e7b1e2c9e8bfff918f86f119f0aa95da603de2dc3983f0cfdc30c44bcf75a9cf119eb227a800239af5ace6580a69fbeb6316c016a537ccb394678df7e35f3f64ea68592c2a6feeb2037bc1f6279bb38543fb18e1b1ab2f7fef911103560bbd7432042c1ac99b1094f51decf7feeb0e6b6c7c5d2474ee29e9d50cc36e8eaff875a5ec95bb55a39b6d7c99334b4c9acb3cf96599abdd55a7817cab39e93e4dbbe99e488e6ecf6abec94102c9b083ab4931cabad6d59a2898dfd437bcac104f1f90d4a1c1e1a603ebd105fcf2b520fa19629d3525c5e716817ddbde291a351fc41edc1eb1fd749aea12aae1251bf3b77c1ab28fc537773f06f3f2272177657614cfea49bc79ecd326b10ad537dc60ef20e9e73aa0256f50282f2f1cef35bb0172c7cfc7d815bb29fc1d4a8b8036198f80ce7018758f749aa3fe129f02869d3f0d52a3facf19df812f8b5b442987fe8b578cdc26582ccadf01c8ec80b56f8b3ef3baea9c36603d0fc4f8dd5f0e3244e20ad1694995f474d37b05826fc58bee99f8722a9074ad48fece87e2893e1d63d24e8c471ac762eafb2c943b26306f48853dfc8ec0bd2eb62c8ae9e6b3685169a51f1906fa8bc69adf2bb41e6a8d020675449ca63f381b50dbf75cd3c86a66a67a32a50e7b2f129e8a7282f9ee9750fc7cddb0267d33ee3e88eda0718ae20804380a942f5830cf87c4b8bd9e0e92f018bb152a261c42a8522d897d4524768626251a45b0f1875952c4ff17688ba30ee8d0a38eec31305d4ee81310f29a82ffb9491fed176bb61f969136e601288ba874e50520e0da72c2449f49347f88e790038fc7d19f0bc74d1a53e68818d96e7ea45e444d2636c8426af81af014f281c176da49a30e4ccf1c89f7a6ed49966816c328ecc8036a4fca4997a6a2aed618c57a59a37055635cc847a8aad642392dd6e66f621a31e87492897dd0551e809b807be9a1619927aa8d0125a813e7854cd3e102f6bc4e1da935a3b1fe2a25235c2c0b89be8e67381a7be372953631c2fcdace4ab0d644e40f600a5cfea0167f165f67561e9747137938391395545ba5658da2a3658578224875d63662d63a75e427c59e3ad18d3bbe598b756c52731244de4c152fc6fc9d60517190de1bbe9983539a2c2aeb515663c19faee16f045cf89b723f6e31faa349e630fe28b67b27a47be9ed83f4b00505ccfcaf9687ae24722bfc3f33578f0823dea62c319c7a9610e5424f797b6698056be87ddb45baf7c952fb5e773cf3c7e402d0a0fc81a0fd3bba813df405c4851b0ec589f28d56bd02fd33791a7aad882006989ba925d10a11922d3756fce4d986b4a0b38d36d35449f03510a2df63ac88d72193e96850a23089988a9fe1aa7028e3207110b309042b4bf3cc721c2a94c9ea5bbb0d3880f47f25588ddfa766f12a8b239535eeb007a14bf3310aa35a5a0956956d63e2dfc300972d578456e3a3199e4224d1a6c2972e3bf718d78a4daaadf257f810a3b3ffbb5c7bc4274131ea81f2a9889f2ab221a4bed06849336107ecb1953dbfa4ca18bd1cbce7443fc14671e10959a820fbad15cb3a0292bba1f7cec87346e033b546d1d2692e014d8b39784c3345509e21b18dcaf154e4c26b544496f61a155e295bc8d35fad0e15afd3962413f8e0d0060113fc6dcc1ace5a664f507f7a97d496b0a10a8526fe4aba9bbf00fc8f6dc82f932fd2f2f81efd308525677f96041b54d244fb4604bd86dc966d4edaa74b13ff0903b9433462bc40d26cdf4285f5ecbde0648e6ef91d63ecd470e9346604663f96334f5f00b380fcff67078739c1c54a46fc177f9ee958caba80b92152d8627c605088061c9567079a8a73473a5f7574da668e89a1faa5eb1379bf5b8d492d072ab7af7cb1dd7a30a8d66f7f54d2cb5db56f368fe2aa996bda132697a7ac1d09c87e980dea33e0897505e09de9815320ad6bc322295c0a6a30dce80fcb96614b197e6be4b6db95a4f9a611ef0b5e0f0a2fa7901a22f1f8e037e0c386ef91b30ee28aaa76287889803dfb194a53367ce7f309545e26e5716c4a2ce366fb1550a16f24a18257891b1a0aa337ccb66f267381e4079a15b2ad4574e4eed7058c1e229c0d8a1c35440c779726babf5b512cb103231543530b60caa8a763cf837a158439e1152ba3b53fe4104b9e24151e99bcbe2fd58d34e6c66805c2faedc55a4de9a77b72e991bb15c75cd605d4c23ca283fa1684ca1a4505a1c2ad2f20c63bd325f92ee80387252d537f2c7033e54215ffb777aaab20b1edd0555b1fe3db992985f9846966ae3fae862ef1b8308038d071243903813eb6fe3a53cb9f5199d23709bb63aad4901eff192a96d897aa9518d0bdfb2c27f7ccdf32dddfe41a12a7bfc6d6dac4154ee337c436f3db1f74086bb312320daeb6e5070b25e1316963a94d6408b106513627437367278649b8db5627d7d8aeb1cf5e97576d3f1ee96c932a14d76f187b1dfd19dee9d555fe5960c1f92d71196d471d9cd2b30a864470dab89f2a6120095dc3751622156602c386844422cca04e60ba3e8da2cbaf39c8dd812a90925280d5c3a39b569e3865f2121b75c539986b356acf2c45e38da400a647dced759e550bfef31b318f3ca2baa51cf66d86b7f90dfe3548d87b7230ae6c086d2a76dd98f49db2a6cc5700fccef93cb1c8ab3f1f57dfff74db4b7d2c9c6ae1570ac492fbee0be69cd0b436c0c0cd771a94517384166224805da7239106af3cf53b3875ecc416095e7626eab8eab3c74de0554b3a3d0a577ea022373e7ae11896c58bda333e1cff3d8e4ebb2e4d5eb1c6c35bfe0969570d56f07dbd10b6673a0b21efc3d8feb95aa2d72eb3dd44c3d82cdda4a3e55885dd6d272d80682f358c1b7a7e37b7f477bb72e8f94d087707860f56f09c7b11e3585a030c8791eb6b301185d684877594f98c6d62cc5d7554c69648eee4a889f1fe98c0c286f1afb703297dc5e74cffe8d01e8021ea551cd0ca25d05b4eb7f5b13f2a3e27b267793ed327450da8ca242ff25d8ddf204cbb353a2586488751c0fb54dc3d76f751d44e468a5168984444983b6260de1512fa826796c603df36225b1c0888bef856a3ee3876958c9cf09c7b18deefde5b54c528c65354b251c0b7e3a019b4209dcf569783c401e5e7843ae78791d5d9e1a519c3099a9d9da73d01837af8e85bb3817007158a105b9bcd2f1c10d5f8344efc55245878617d803d4fdebe1690c8b1d6bc7234c535d4aa0a6a52bd68ab3b2b64fbe6ce9e4d43e841e88f8b0bc2ec398f1ed80d54cb29a37d47a0597f8d0e6489bf541b2136a44918887b63509ff686cad07ff5f73ebdd09e9d4b61bcbb12eaf4d811195c7265d85d1901e5cffe2b267918c393acc93ae99beaeb30a08e5b3c0e8f9aa779874dccfca8b06a92288c0389d5ae746f564948907a861d7da3d882b1239c6f41f79f2edc84e4f1f30f3c90e915a916dfb4ea1fe6e22ca211bd5192831a9c088dd0b4600efbb9223796822b736aa50d56dba57798efd20f4e7c8fad0ef49be8830e6f7d4ddace745371eac30ea38fce0293a9457d6687f95394646754921db56db7700c2d76badd60d91902ab45655a4c550d916da0cd6760d227fdef68a7401f6a06c69a776032448f713728dacef5738d749b39d48eedd98fd749e3dba9e184d74baadf36851c183333a9f73ed8fc7cc4a3abe1cef3f930eb548be94991e9dacd3a79540c2661bde46999edb944a294927e83089b80a9946214aae9fa2c0384ad205fc092f3c0eba3b73ce9d18d8fd35b24cb99a44f388afb3a1e8ca653fdb4fbb247d3f2e94ecf3fd106f9889761a2116234535f5d83343b172ab6967497d0c92f3ffe3f6b4121f77708afa3f09342a52b4467fb3aebab2f2e6ca4b9cd7bde1e6d38140c02cf14267461098887c05e13954e92b2c39ac3efdd2f15f6cd8611c66f479198ccc978cfba2b9314985e345da7eec20aaf2d54ae1a9eaf66922d2373acc2fbe755b059c4fa7ab0e63823b087718c7f2fe1e2f47bdfda88ac0c79a3ad9f403bdb197e8c5b75b56c70f09c6fa67d003995f4305ce7dad5bbcfd10872426abe9860aa99cf23fc5126908d7b11e1080f8ea8f71014e912a43bfb886823a42e2f39d34b990005716eb0c196aa020d76f0dba850cb678813bae154523d91538464acea5cce4a6d5943e9f9129b044bf5cc09c211ed14e50e6b43875fb307f11a16ddbd2c9364cc6d34c1fa0154cd34542630bdb5b1ff6391fe363ce6bb42261440d03e25ee13ab454035e31d5793f4a374feffc28b09ccc3e3721c635484886b4b9d67bac635c206cd9a39b8541e36221645db0ae0c2f05aad12e1563a2589436e612fee45ee2ce335b75659643adbcc857ee4fb4716ac4e8ed00ead63390438425e75d7ffdb043144e125a61eb1e6be7ff60b402b3af7354d6e31f7801974dfcabae4a4945e4ea5aed6bca1ddae41ae0c4ffdc652af2b76e1abfdca6a90a8aee5a96031773b7ccef1972d450360df11d36dd687d90cb212d888667fa31a08cafb0f8ffc781363c863321502984cfa73ad8227f48ceb99b8bc611de2ddf05d5a51319062371887f5cd357b1871f0b20c1bc3e52141bbcfb599aae4829c8b83007a1c0a08e8f245ba1c79e4142d87ffbcec8e32dcc2020b9dd7175a0daa5c25d2f184d5856e3e854be1e097805432eb06c4b73c53d43190758efcc8107dc7b134663104421e3cb159e69a7f5501dc81e5af1390affa74795a17d65bab0e1236c8216e398a51fcd3a0f4cefb29ef882ae3f06284d5f2fc5220340607d3b21c25dff92d513563063bc8045427224f8c2d1eb950ea087aa772727859ae1db84d7699692994cc848b08cf7d79e5aeddae62afabc9fa2fe151e8151e05ebc8c48101318145676c5e1f680c791b3ef0911a2dfe2725103b2725c1ed4d48ed5c9c9fbc594b98f003aad0071609ffb824280d7a8c31810022aad311271cadc8b634a3dcac14f3e7a5891e6045acec7f605544b032d1d1735c546a2a09dd6758b4b69f9f564413b96d02d8cc26253bcf2d2e0a1ce3d46e547492ceb269dc37b860a43bc26c8719c65874cbbd5bae85629188d2f1f095b482926f62c3fff18d48285cb3357a25141c4d44d12f449276b9058e79f957704e82604be3eb86718ce81958771ba3856b4b653f0e5ab1ec4e463dbee977340856a3f931b9b44fc9d75546a60c571564ce1df5e2f87fb4cd80885b52960a5f77ff4b4434c3254725a338e09a28aa9d54412bd18b0ad708b1bd2421a2e1ac10272b45ebca3f29458ff31a33473bded961cd520e24f0d365aab80e2c452f673c31d6adff1dcfc865868a2eeae13882927b07949c65090c98b25109a0f5b250cfa08e1f3e9992be8793a124a1e7731031a0efa80426941267a9733413fb6420dc1d041e902483aa297d9dfb33a2deef43aa847b3174dc0d1e839ad1f1eb8200c62105ee8730b056df540620fab55105af759a27158ae6492b6890b89e0133cf08e4c73f353afe2703f10f1bdca494ddc8dfc9f5d3b180007644b73f9a93f4d8ffb1b125a2e939fc50d2cfa165b69f3de66548ae2403e8996a788490e6f70c6b71cec13b1fbe394b9051e298346f3fd46004b05b8f72d7659420e80e51074a1769a4d97e15479e94cb8c95964b020bd7d57d6408e1888011c96b6ecad4aecebb75f9d7084ec82618170ed6a8da54c69ba38e12aa6c7b36ba2ef7b22442e6503e0cdd1e64ac50c5c9b7333e78d92640bc89701881e061e06f6f3afa7820d2e3838c7fed6fffe7e5191bd0f41f4bc0d6795efe1b64c86a16a9dc33ed3301df6edcd0cc5037ffa08bc8448359dc363b727936b0361f845a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a01372197a9aafe9520cbdca95b9ba44ece87f31739a546d5868b089c028734f8ad95cbfb8ebc3cf47c1a50939f753589bbe2980160b765e4a32ea13bf55646d273b700bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc88a5cec24bc6e993fb9cafe217cec66f1f474bb843b983c25cda21fb5cfd98a16b78937b1be469e3deb3d72879d919d46e7969df873a1091ab3fbec5eeb184ecf4bd2b7f138122ae10ff3c813a084f7523f4a228121f34c77e04a4b51fd19a9e001fa5a97d616400d32b7dbc9e1391281911f510c6063dcbed60244d516acbb798fe56b96abd58c4a7b417d85ae3174db995a4943ccaf3a0b555458e759556333732adec6aa71c0897a99ad0e2a824466b93c333ea4e8bb23e6b3243adac2ec93353b955e340fd899fa73a059b1f3682913167554d468f2cae0e62b7c6c90f320c58a9630099495456c076c4349c9357a1b37f129f52f92ef748df3d236c4915ad980a46ac57df7369b9ec13617f2cb1c5c30c4e56cac5d3c963b282e06c717f6f07ed3e07b7a12f8028cdbce9bbacbf08b61b00a1c330794cf898f8cf0f4726a4c9585493759020eea1456db39453e8c9830778c5ba6176cac7850449656345e3b1a16068b10c35d7fbe10747d48f1f95891a4ae6321affbd3c474a78d808d849edd909d4a447dfbd3242b35b95804b423ab381982048fb1125fdf3e44da3cb82e673545d4983c3dd1b9aeeeb74239e67c63fc1b0db877fc05b092a4a5d2c344f3b6164df01ef601fee0ccf18671b038a29d49b449cb14a1e61d58491a6e0e1fc56235f63612a7cf120a5e510d608e067b879620fcea9e1ec56cf32a28da9f25e424901955a89bad640aa2c474ea6e39d3259cb04c6007836baffc0ce476e4848b8dfd18f886173b8aa8d1a4261a922d20c8dfd7c90cc8f098f8c5167f4c94b6f0c018aa9b0e38b284c2752f06fd4b9ba939bf42514b96894fb35cd2e8acd7c10d7968558b7ae3d77d7f40de0d76b5314fdc50f5af6d7e2420a53a65d76dfa78b3205106a6f5d83a88418944a320533c110c5a9e770a6ceead3903df74690e572cc86a2f1fe3e171871d4f41201f0702ef8379b563234d898b7181393250eacb6bf21fea5468bbe96963dd7730b7cad681b029c99e4d08a156e4165abbdf6cfa9f3c4394585089521630510119afec2f4cde58b239eadc0b22f7a01ddb91aade327125ad6ff1180f18721255b6eff2908f740059889966fdcfd024d34e8aca60b8699d9461552c0e8066a93c3d7906391dc4d6b7152ecfe54478825e7782c4c583794878e93f0d5ab99f444ab103c84d5660621d2d404cf4be6416eac6ceb97de48cd359a12f6562d8c1016de804fd5e6c2cf15885dd99b3aeca138da24808cea30389d1e343b1b8cd6c4c2c204d89eeb99e6a62b3067ab0255a3c612a27991c7b71b034bf72ebc771e7729614714923c4f4450f4d4512a3ef3af1deb8bcd5cdd3d49a21d56d34ab67d148679ff4806643cacc47efea0e684942962a433de2cf58b4dc846d3b767a86d172d3feb762059ad831523f05e47361fdaeaddfa21ffdeb7fb3986a1eb9275e299fe2a0fc8f120193bb04367544fcf9f2872d27dee30b39e07a560ea42e8acbb8ffbe60231ded4a24b3c714f3efdf01d41be9e71a06178d965587f58aa44a8cb40871ba319581d1fbebabc2e65f2b7791238eade333124e4c61fafce20fc0e2b92fd08cea30949d34f0206c80790e2cb10cead56501aa3609858035e0079b5051538552b6f5d75157bb269ae67b5804900f66ba465601469780512b90d9071e695119c5ff4882e4c8e99746a45895ec65cb92d18f8b4f6d5f75e32778add1c251398c3b92049bdc75aa76d7fabe5a8a74a3d5681c2249a0d5097c229064fafd37859358ac3644ac728933c4c80dc0adf609f60ed0cecff9e75bd47e73f5a8f2bd35c2f7cb4b674846703224c86da730945618db2163eebb1ede9838c2dc93f114de3f68de5261b6f9e769aba0efb8e88e811221dd25e2b6f817dd550c94fe4e5d982ba8830ae440c6be8d1a44a7c7ea93f1d75dc0444977a562ebe57cdd358950e91721e14af422984c84612d7716d300865eb6c0919ced14939d673ad6d58d8ea239301c37ed0ca51a34be46a6a8a58d1ca355365d366b8618f7294d7c1e1049c636884d84409e11435b2d8f14e96b204682154cd89aabbdf7a0f4f5b43275fa8f6e56e69d09a7e315b7af7e1b1008dbdfbacf1e85ba556e41beed6873c8c125eded1e31ced32dac0f41218ff7ec3492d3037b66650aefaadb359fd8b791fa9835dd426438fee8b7055aa517e0f719aebe506913322193d83e5f70c8d5a43ae3c78457feb165c24349e9b83566857f8c16439e739b1e6e4b63d484c0c2bf50c137dc311f2bb0ad33ee349a99643abc23827f0ce683c75c91dfb54465eecf5b34a20b5ceec214ee82cf64b28e4c86ad02c3075342203f1f64d86869f8e09ce3066aee3915c018bf7a1a7641efbee43b09f77023296fa58bd506217dd45a630b7a6a100bf0d9b5104f50c5ba1433d6e0fa5da2e6d54c6f36d48d4f7684138e1e9e5fbd66c776177a54d649551d5443f906d385df7087f8ca9153414c6139ce8f833a0342f99a2f2d718c97fc74003c2387f62071e9e3818d072ba1ae4fe6e43aa39f97db089d5e85a1b83a31a6dfa12513dfbd84eb2312aa2c51d822dd63a3c45adb96f19cfe834773703b7110a160b31355490806b3fdb6157ce137e2dc5bb39655289d83ee317cc1c29aad31a99cf8274dced1f6b8de5809e33d80364c4d41e7236f03e50717d81369694501bdfbe6ed1979ffaf7d24c3220555826fe5fb2e723e4141a7aa2bf7151b04ba4180aea8549eb3e4106ee844a7693067787e7b05773008ca15fe07c5e99e130269eb7c273fc8ddd05e335ba7359b55118ec2575a4afd63545720c012a3d4bb8d914b86ada30d54786ef30dea3b123322c71a116f1089d958afe76bc2b33efb5952f1dc0fa66c7ecf496d44ffc5c03caa43b06213e72d2e09301e3c6ef25e53f95461abb64c6b9a79729c322f5c086c66bdae123a1d96fdef2d552b69cb64caa93d9a1bb05ab617fda74b2d29f89fdf290865b48d98353527bc4249e0a36a14ce2c40d49b0df23cf4552d48b084a9f378124b2b1a51563bf3c22444eb7ff33692017da28b2136ae56987ed6fc5a572db6018e82481c3ffa883786a9de8abfc2037136d221ae7fab91560e81e6e1c9f5817cf6e5ef959dcff6a5f72a3a5825631eba13f7dd14b5c0ff46d851d3374ade137259bc93a1cca4122084e56239336ceb593ed73f6983c9bb7936d0968ced7e9269c9f09c2deaee22a1ff8b796046bf32f5198bca03a7c89110cf946fbc6cd7a00d0b4e194818f5a5a621c1cfb83c19b1d06da896b0392ef55b5b29292e5bb82799c4317c1e490ccbd6011eb744b056c5eafc252d4a9eea759d0e612c9550c6ba106c64040f1850fe81876fc2303cc12bfc923e29dca78969bcc295f330082e3360acc289be8749c2253d55c71735230768c07c2f2c6fc07b59e6664c6747a2a01eebe58918f5c2d5cdf1a65ca9244b9fa1fc50cee423231603758b5a61e7bade19a30726ad8590532f661536b3a17a76b340ae23d06a9039b84cc1fa8bf20a5bd817532933046b911a65ba455a5c3da374f5d3e36587d3cc74390f75bb540359d6f74da0e8139ff5617b5c94fc80d894f3c1528736dfde78aa45c544dcead997011fad3fd90997673fc9e854f0afa667ceff407ed700b5a251bcf047897b77c8d979ccbb01484ca8e3c02e1a784cfa84b202a0fa6d98c50e84582970e4cc130aecae2bda3558b6c46e59edfbfd7b8d49d7ed944e9ab5fd25bb3e5b60954723d83c3403dbecfc5232f46d0e8fa819f500eef1e03ce4b086e4328cc4a03b78a16a260eb021c718d82be6b0e99a0a8f7ab991e30114e80ab36e1c0417df77aae573992543b229a58b4205180c1423dd858d230eee1b208986cb9d5c41cc8c575f3aa35ad5dc8a10a865a24281a9c30a7e943f5f04a2670061236a143e547a4d94eb456bfb79c4c7612478297300c181d2ce692974caab8c88c9e1c580a39614282df1bfdb698672055c68cda1183beb33ef439a0651578880499bd15c5b9ebf2428dac6110689f92ff72fc2a1ddfd83f3f1e422309397d1f24bd2753e31e43ec0afdbf79c3c0c5c395322a66a61cafca2b971ef6b9729881b3fc1da77a9be5c517d646f60dd638fa879d9d3a59014f57b693a67d7b5f88bb97039f451c6046df4d8ae5535abcf7875d895a1d9678eaf3aa3cadc45c04c52c87b51e4ccd98d7a344bc0b45d3663d20fe80d1da1980692f252058f09c03fc3814fa9c1517b1c3063fb97428498fc39ac46212abccbd8cfeb5c29425111626fcb1d99b7f33b8e9aac92904313e1a1ee84fbf47ccf0baa485db976b00576c329b92ed31667fa251f65610f150d7b1de0f6959cb354653fc2d50871548a667af3883714dd5cf784170b2b22909a124785853eb022b05ac762e90dbe78a275cbbfd6e5b4fe0c0f54e887eee7b1be1c4cbbc5ff97793d947a77fa269794c5023a1b48478798d4fa39d55c5f303ef62256337b89fb4ddae3bab6222714be2edce7202a9b15612728668719e8cf255f7a8dc282aa68fe101ae35a3f5479a4bd2e97fc3cde023de282e0bcc01373c6b5123d42f9f9abdb4f3d5d3c5139be0b987841fb5720c0e1d9fc4b5619d540e4d44d1dcc7345b9532cabb740a76578aa64fe4447b023a47478a9218297c8a05ee1757d01507c1a00607625aa2d9c7eda2868642810ca14cc587a0ae1cac6984c4c9ed00c735f2bda8bca37331dbee2c5cedfbc59448627f6f13d38eb64dd7205d9a673e3cbe44d436534f46531a488e82a1033e6c631c3a863b9f63ffbdbaac7910aef3b3f3ef599b023017c73e0f5d9e4e51c32c453b9a8062c4cbb9b682809457ec84918ffd2fc599454f23727f347b94097cf61bf597edcf5c58422232a53c06fcc03d28f10913b7d4373694cb58190bd0d6523e4815c1814f1808d6848d7c607365ecc6ce2825f132b89cee51aac4445c8389da0d09b95012531c6d8da8900b8835ea6440b11780258f274c092f1c9a9de5b575dd2b8410c55e9d725ecd0b31abd3b9ca7b82328ec42a297d99cb604c4ec535ed5154475c3ee5ad75b9d43f837dd04bc72a49c3a8f6e11b73602b0bd90acd7b4726e85cbe142fc6fddcdd899e2bfdf1bf78b2031f0b0dcc4ca6c5338657e0ce8f62d0e4819605565433e9599c06928571813b7eba00ca2ce30ddb477c575aa8aa30f22e87c9e04a9b572e1f10663a43b6b0d4ac07eef1a413cede288b1892ff8f80654cafa25d1485fe1e68f5825ea421a4f69c131077539cbd84fa5da74a509693fd151bf71672f5247cfdc4ec6398b6608bebb719f4b62a6e57cae21e76c3d41c938fc0b5374b9df41f60a9d58911808b94791592c550dcf730105979a72fd0c5135aca3d1d7d8726da50c2214e56576e6235a1d5d3658f78e84583d596060facf14628e3ccc7472824b75f3647051945eb7a9a157ccb629706c1b2e55cf60dabbbb439beccd26ff3e5e9c71dfc0854f5c287fc6f5dbbda9b90320ae34af0bab3ef6b2725ad30f8cf43e829657d5b4e50dd0ecb5a73605e6b0dcaf2660c68cd114fadbee22315b5b129c86a89441ef7243b0ae952b7c78e92021261bd0ac972a99ad2b52420dcc656c501686d1f8b9dea16bae5b6c1317ca364a65ac4693b8ed9dfefff39c93959db4cc0535ff682e881f7b3a795ef1ef6a4ff1e856f4daa5e7569758cfbd741df47414ae445e315d7cab8f135ecd4670cde51d9b34397237cce88bc3c8f2a4e7458bde40c4d4da8b78d7edc2d460cb581698480e26ba611ef6083227c3757812e7081c2bad2f26b4543648aa1d2b81620cfd249eb3140fc11ef9f92dc5ffc220afce5fc21c73c615b637387a1859ebb52b756dc81e307533bdf96ed1c7c95b7c746f7ce33f9e694023365a002bc5c092d33c4a99a5c3d9081506881c583a6f7c952af89ae6dc49192d190892c3ffb62a5320cc6db3c971c22bd4382036e25668a4083b12172bf73220c3513a1d69ced63c01c48d0c1389f0fe4c0b7980a257cc603e2565919b6f1d7bad0f093be21482ed3b6af32581b568e20ed87336f620458c398005c11329ff03724697ba7e4246ea837a3f026f39eb444852e79674b5198e2a6f9870071a68619b47a4aad66792828f46540885f6b755879794e1b1981555c41e5ac5a0627ce96554e7a8ab8a49d4e573679499738382737d2162a0c1ce83e1ddac9eef61fa29f7ff7f7d934741cf3f78332f71d447925b7d1c150d399dad1e9a9a722928e7e8047f053d5fd3f8db291a9e2871f83efa50ca05a950dc0931521c893c5d678a4b0e65df96d5f5e9214d0747cf6d411ae5c956bae778e62fb86939be8146321c312f8d89b5c52126cbdb499f94d67faad82f0f13817c551af93401752b75f4d035da1c65c9de4bbbe63daeb5aaed3d4a8d18ef548b617c1e453006293a9e5b45ae79114016dd23d08257ea3a1ebad369d17ed75a106c7d31c5c3c122b2ec786492ceb39f28dc443fa3f9f4edfc77003e886715f1c43fbb863d3c9d046ba372da40f53fc7b6fa1eaefdfca3085241e1a2cb83697bd2c231d99911cf0935282de50869f648c694ae427da632c02f275f9867b2fbacc7ae97f2be0e71ff4d72e876eeaacca4c4709598eed80246f3bcc819872d4f187390ec4164c87bd0290ab74302724f92cc90b00bda3bace78bf39d01145195b8a8774edf149b40b659d2dd7b05c5831bd0b433785bfb6dbbd9693aa3d9cf6bc555a72ce3e1f846a08349be250b84ee1722783e96ac4d4b0980de8861778ef36834ab349c53b89009a5c38824d472423c5a34f731d0836219473c3cd7545018fda1c90c0179bb4e36e4384cbaae3da787b6cba4eb8e60b0c72efd597c6e69d9f42df83c7830d50c9c8dbe11cc8d212e67e061e2efdd1950d56e5fdd3d9a5c6dc2b632c584821018d52321302542d355297d4c1349d32cb2be0122be19698d40aa68e0106d48648b8a3838e51767209799396a6f446605fec622a916bd7bb26ee5e0d1c004920450a80c6866c09677ca154850eb55190bf674accfc546904030f271a21ba0a270c76e2782e3e3b55b0ccc5790ca67535ee87da1d919913e48883ce5c0a20dcc27190cdf3d5f7b2122adc85a16280c31527220379bc0a84e96ea039cc201966188a83cbf0de4978428cb13005fcd0de05d7d6b804f166fe9b01c6ed36052845fc5eead1bde310636eedd66809a4e384999d0871c58025d563869d83b51ad8c600275ced1ebb87d0e2802179892d23e47a7d764e7a594efd5e1f8279a78943fd2eeb7ce274f77768069fcdd5c18d56fa80a1387313f2f3076e820b169b716b2d565baadf2b681a84920214030f35cb370b0e5ec3fc02978405c2fce3138c03c2ad9ebdfa4122f2806c8c363f564addd7671ddb20a6f5e1041a981e9ed4cdc05a924377b8555565da76737a60bbe06340e805bb75a7dc945453f33580f8c938c4663ca7a362182374341b4f489529dab81cfc32e27cab90b4905675be051a1463295548d3b02f1a55d47c3f4c804f4d72639758d054a19517ba56e3b84594605ead6789109ffb7aed0a96dd8cfc4daf88bed54d71a898a282b1aa57fd2fb3ae7fed36ce247ba343f097ec09e10cedc54dbaec1d8fe27ab43f51f24caa6e86e76cbe6b59d718baa10e2f0478516a4f7a35e0bd830b05a7cc5def81c823cb6148ef5b3baebacb9253a2049562002c9457fb0c7cd82bff7f14e3ac5906f12557083a09c71eca8dfa05f88b852cf3d483a0bf27ec3ce6534923ef2b159984f54194ac87c1a5af4c48fef500e235e568cecd97aa0d66383a2e8098f5c04e55617c79c5c23466585949397f03829747a5445654dfc0ebf02f9d2c004cc979e5c2eabc699f9457d271501e3c4b264b44a8d7ee5c255d480ff100a4b3f067ae69bd33123ab5f91830a1dfad4f2c9c067101a70fa91810f8bc8d139278f2f0f26254cb4114025d662694f66dcfdd08c3db8a517fcc057ebab40c52576755dc0f48decaf30da506850f8fac6be4b12e2f5df25689d74ddc096075535f87dedfb762844b5adea12c16a78c1b93bdcd144aa5ce34eea9b7e34a4983fa02f38ec10cb6d9b702fccea7ecdeafc8a689b8dc930f3dfc62c6139f974885f8986c914f58ce11af6274b65e8f2e3da59f8266c7849afd51ef984ab39290c0b4669916b54c3efc5cf097ae6339c59b1dd90b1684e169e4a89578e652629149f0f012f318cc1b020a31e29f2c66801debfa8838480f741da43fafc36da0801cd26f0a70c87c9f93b58ea5ffe6b20bf52bd5e43a3ce05e2e5ee6296093883bb7bf3b3d3b74f04752f032296b1ac0900615a36617ee37e2c47e46251e8880fc27677a6c1a7be6ecbe4c44c3cac87f51d24d033f1a298ec6f1d29e01a127c8a26107701a37e6e9da9ff56b5c77f767e3c526bb37e59741c9bf8a0b2e9687eb116a6f23d05cebaa2d6e404a6cb148b43f4da297fa2e3f6a74334a2e871720c4616f4bad6aec6345cfddec2a3223a265fe7fe7e14e6ca77d6f983332098a75912b23c433271ce34525a7b85370bd7d392ef4218b557e14becb79a6aed625053a35ca12f135f89f1cec78d00bbf5c864a477afe0ed4c2b0a446b313073353f68294077ed3b31274d37949ff835b37a5464f7a8da43426af3a3b79aca16552df116858b19336b1c4691b3abecbcedee7210137b9b0d7410cd3a5664a88ba1456f60e236bf9fc6199ce5f2915715b0a87098ea1f59d5b2c7139c91f63e9dfd2fcfc0ed041914b7310b0d7052ef327ac1343a9475b1bc13771da0f997ddec951c11eeb6f992534976172fb3265eb9d11921b3129bcaf55809b81923fadbfb8afdc0468a22c6841c8927c6dbb88c3335d138310c986affcf014055abc5abf9faa8320880f1dc6a5b2d5a0aff1718a7c0b094d8e460dffee98c63e5011ba1167910079d105cf0a82fb2bc0789938a39a91096b92fe7b4b4982d5b57bf8bb9bfa1e5f7a02c03c7dd21853299c1222c1e555ebf954c0590827a1e52c570fa2b5674db114283ec9c69183ac6992e0c3b4035a5849bff75955a17b01b11806a69046ef4e2024ec749693af368e39b1c3b224f7136305ce7aa7b7330d7f28892b5301f6d3cf4d79f30be5653530be6dd2140364430ae40b6fb03776ce5850ff24a5da84d082ca86d05eb5ff41090af89bd3b2a6e95340d839e1e6b2184293844aa87b543e7c05fb7467261a9ceb7140c83f7fb86f1449ed2775df7ba51d8a3b569972466323e50427e5f4ba68bcbed1bc1065c8461519be668453ecc49b286fffde9a1f5b557deae724ec2c1b12ec87ce8d44f1e55fc038af085cd71faa1fbcb7bc2d9028212dc7402e54c49480029eebe736e0a5adfa29e82829540096f73d6dea0d9d58ccb80647a74119cf62ac457fff8b3dc1fea365a37dbbf61ecbd0653a34b1c3b9611a4374c79d47b7f9cf7742cd23fb1a59f2bf8ec1cccda0872a892aacb72aec163a8c59451d8e86ce347e102dedebfee5650a9bf5fb97de6361cf6999740bfa62b67fcafdf26143ad57b9ee9df5b8cef6501776102bee3f28f3497885758314430582f00718a372f01d3585dec25b52b9352e1eae2fee5f6f80f868ec7b846b4dbdbd87f4e24d80bda95a40ca5351c7fd3a2b7006ac3c4b25644e47da00571d1aa0a5c42edfdd534c0eb2fa3a1dbe75a123e9efab4618cbf625743562e1f9033e1ce8d3e82d10455783849d3f9be880f7970c51ef8c70c6516e89cfb07b07cb2f48c1fd76f5f01203aa0ee65f2a86ba895622d7c2a637f10daa823a158f458da71b6f62e1e5e02acb5bfdcb93812cd51688bcb5543440dcf22eee94d55d8a3efa995d9940abd68e3955ca5787b44251befa700346666765dde9564d03f74d4b18097f30af8f6464ff8d5e5253db50193b7a08ab5e28749c7f2ea64c1cf03649e8dc7db503466e3f0d93457b87652255702b2f95699a0f14a21f5dd5347bd72a9e599ec6b6d6266762631a851edfebe40e636fc033ebaeb0354462ac8e6c3a30c60e85c132d4022bcf666cdd6460aa950d6f798d756dfffd27deb581dbbc78737c3a81d74e368c16d07d381b218ff49fda971b26a8fff024bbf01d23cfcea218e711658300e5449b052c2d581569bf718f224955d6fd04672c5c0b6cb0189d3fbe08e7df71d8a274d14a0d8839bc16d62e67e120cee9c98a98ff7f17debb78d0e861c99fba3d94e3c4881dda4996305ea291c7641f0099702e37a3bc4fc1189dd37449e67f030940e151b00248ff78dc31760158382577a29875288e836db8a8259dfe20bf1e2bdef3a5d8b9fa61df7ddbdd3c37292f7778dc0272310d7ecf926094a86a1d0f0439ef680752648db4001824f718296cf2f76f3f65487044fe6fe91fc4e2c0593dabb702c7bc533f51453d037f78e5ea7abfe6467675a06309c37af1d97cfc24faa54c8e1a531c7c7ba70d5010a4b6edbbbd4bd820a7583918c5921b9f7f5d502a1efc27ebded5bdfa5bcd0980350c8d1d1e2ede44d3e3850e117937d5fa1d1d855276ed095ecc7ab878e0b17a127507b86dad52fb260274c105813b1b42edf2003222b8487d9dc8b83fb44e3eb78ed57af9ff5f3db4106e18bd193fb625d6decde79073c5a35de52539b7d817d17652292b072db11f2c1c618ccbaea4189840e18406b83539e2f5c6bc2e2b3c9bd85c0d819f80f95b9588826e5d945b4488f7d917dcfe12aeb79061a3847b4a35299d172fe87c78a08c26305e101414e41f323af1b28c80b2ab42fb3d7a8c970ff487bee0c165d5acde06e3563e8250d73bf5c543058c3af6d61f7a79cec495d682fc338267e82c1ab2f46cdf3a9885707e33addb93cbd77781fd90a3f93e0bb2555cd2af427fc14db43e3c504e9e860092f65f3cd3ba6614abf11eb80f00f062ceb3f4b043d3a6f23aabd85ca2e271cf8ab8635f4ddf0799d6b31725da92cbc8aa0a11fdd11fea0e37dd0e5bca553aa4edebf15dd3e1b2d89c5a26542b6a34edb436107e3de4eea4756c37af431703cb8ef5a0a8f1fcb46dccd2216af510ca2ec6248167b0404d535ccbc2c318112e4887533e29177bffd8ea03f3ad3c7ff8fb358390379b1242ef290da3506e866415a9ff2fba999163c40e1add7812e0eda0f2d1fbb63f3e48b083ef070d47423bae7088610651037f31c430c59028007120dc93f5ee6a34d06c9e9b2c67596e4fd14e08d49b35cfb5e5fd2289e7b468c7aa5a9de54da5ae2397051d1422b025e9c8309ff80b5647793e6a7a410fd89549f0a417497b1648534551850850cd46b4fbed2b0b80e1c5cb2f8118501612e8c28197d4d2777d2f331f519d2d271a1f03462c9e1065c4e192e7219cd1ed0d4827423123a6b02916d45ea8c0e0733fae973f6dfd2c21a9c16af4c1b99aa553dc8aae9cfe091d7f4d8962cbfc2464a1c399aff377f4c4d794d3dcd1b815147115c818af65cb5b0491eaebbc3aebb66f6ecac3589283e01682c5dd9e2f0ac357729b00c204704481be7c04c5e31767e9a26ba5251d09e87ce7153cb990c341e02d070b3be9ff741b0816c0f1c4b4d25d40ef6223b2127552f6c795404aedfe223fcc01dd0a19872095e03f7892063fba1409f496290649b4754df643aef6d8cd980a55d9eac9ace791440f08a0fec515065c1cc2aaece00d311247c4009dfef2df3adf049b079ac7318e82d52632badf608ffbfd638aaf83967cc1d0e62a58cca074b7f7b39227194774742586541fbfdf85393a0c913cf5208deeaacafb8b68da6b9defe276a8855e0bdffe6fd26286d7a35aaea62a121617638c9be3b5eddcf5d29eaf81e582340b706a35cef3d0b91089fb5a144b1110839b8c3ab131a1a8362ff0ef91b3eb937bfccc458cdbdf7aa3d6094cf2c159aef4abde5e56a3d2617d955df27df379f5c3ccfd5def6b0229795cfad6b6f3cde61929480a3ec7e12c9c06d770ee35786df0c5d53f7cd27c5763c372622a3845a591ce6ff56e2f209d233ad3720cca3b1fe431e02615e1b3029a43fe48139558d971b0258d3b6326d4ef981626584445cdb7cb921969f672ea801d99c228aef3b3fd229ac3fba8e7e3e27f88a98538af080f2ea40772ad7f9e9447f4cd0b7400894a5b311481ad6189a1e6a5f723ad836378682741bb3c41cd746edfe64d27f15ef5f5e49a84af23e0f4b6e1185eb80fa485b7d9fef43736c0cd1e7a2c69d3a45735c24eb196f31df82e3f73176354451c2b324cfdd3195a67ed1ebe7536aa40d49397b01ecf4863b7e1450a5495007cfbcb01b7bd8c5bb39dc3edc6933567bb698b084a9f378124b2b1a51563bf3c22444eb7ff33692017da28b2136ae56987ed7f9630c70a5d3acf8225d580e71382edb03a3b023805c5ab3832faeea23bc190829c46f703c786296ba77e681de7e6748ca66d6e3b42752d7db7305b69263dd21eb06c11aca205d29e6b73eb0ff5281d568fa5c821a97fedf55ea3549c8de6935acecebfe2bdfa32c2e7b12e965f67030b058ea8e64c778d7b44f79b129de5189e93cf3f52df0a779d633cbca4b06a33088d44faeff268181a33fad5430dd8717c8a6adc387ca358118e48e1ca82092b6b419b8a3b5dfb4792eea8997103efa26228109706113c37a85fbcbb07be97e8b3d9f4479a1b554c5d73ba224c7f8116ffec3b8415c6b31ec148e2fc5d3f2633333f976354108d65d0d40ade21351392684a29016bf79d7df8cf138d044f0b9d860a37d4be3337e5a1fe1cf7fc79cb82febe99134b37106860bff7287bfcc5eb3122cdbc73290418f4309fdc7e1db63537db26987f8150ccc2266d670e478aeb7ca7357311670a9299a1297820ee27759bbc934e683936e5ebd4b04cb1baa106fe0c162221c1693e01a8c3016bfbda2c3c3c2bc1154c0fa24da745e79e6b2989803ace7e3647c2642f61961957ed7a0f809d637f2f2ba4820120b4296e64a5e381356f6c2ea407148b28eac634f135ab0122a933047233f44d75ef36317219e3777d7dee0f53851009e1d99a0822ad43fe5db557b101cafbe8ab95ba62be6c8c935631d769b9287eb79467eb9369134312f1f1fd93c72621d264eb02dbf89395f27a4736ed1d20f98f7cd0a584cd823bbf5a16812c895d1478c0d3a5cf03dfadb7159978f40bfafda84837225c4f056601672eab00a55b89f1dcab33ebb67d48f40095b95d4cd67875c5ec431bf6b4fe8987d0a1c67231c056338f70d31c432a0f1d5a02129b85129e0d8a533c82fbe8fa8fa3572d1c361f57589fce2b19a8ceb50d0dd45899bb7e6999e7a857bf1fd8ef43fbca573c6bfc08b00ee83c4bdf91fbedf3fd3ed31abe93a764db1c8ac8206bcdc3bdc5d1a1a7cf4b383167f5e810e8a1f1f185bdfa4ae8b929779f56cb93b9c0fc08cb20de8435bbf95fdd57816ae2d270743bfcf29242f75e95245fd9bb2a24eb4b062d0f38e04d982290cbb59d31b2d85699a4e74efccd04d09eba678424162c089f27826f9eb8d1f1ad84cac7632fe01086a2a1e98309dff4b67291ab5168f36431958e29a909915390d62e76e8cdb4fcc0961a74f7fb54fadee68afd5a7211294c4951ec66955871a0fd9971811c1b1be1eff9297a5f21cbebf7aa33f23c9ca3abf19cbf486f70a7aac10c3d555c55c12a09ca5bc654479a40bc446680b38c0798341a837757077d4697418024a0af2df95d3d3c383b3811c46681b131af3df15b4b8dc7e8a8bfba9369e90c1955130884dcbcfdb178d2f1da4af3e4df52433e467214496b9da0bf6a8ac4808c135e74e7d53efbc5eb58dc9ac9d9427b597f43e4016e8eda3f9ee3684254f84100864e6c0385e4a3a70e9c6c59ff693d447f8e4d459d55c91298d81adb07b7d37c52df93521400e49e0a8d0a415298a0445978db7e4ca50b5bc592a6d8801c976299913a2a440870843a45c0c33a5b05cf7ef283076a533b0305aff0368e4cfd82c21988038ff084a16615b0a0ac5d49af6bcb1941c0a7134e3a88306a61fa4021ff479323bdf6cfe11abb57fdcd80ad092854b7b2536871e89f05729eb36112d54c4c6d289e6832e1c9d5cb565b0cc9b658fbfd4331ee56edff127cf9c008626acaab61012b8a28c42f25825230690dee8627040fc07450089b8f012b9df1d7e012ef2da7b7d18357a92cd1418e6bc8165fb9ca527997f0f7e5042bdb6614e6c4ba1797135bfa160d878c5aa52df53b40c896d3f5128bfec3b98916dfae0834ac7003e65b3eff71520df5e4a966e065c580336bcd3839678ab40c34a128eb74f736bad6b81b00d317b59dfa9c4d34c4aef60d02cc01eb053c21ba8bca2cd9b922172b7b6a4793bc314404211c7a70628ca93354451211cddec983ebd32dd45a3a900355f3e274055c5e7326086a53213dfe4aef1a50f4bfa1a90ec2e4766940e0c45ac492a01995bf9971c6beb1938d7a4b16d48e0c2f1ebf97e6eefb4b4f10e1abe46c5568a2add5e6d51e91b66389886dded3fc65c2b876798320a2046bc4e083edeacdbab9d0f029b0e8af04e7a83ad798152d15fb87bdf0ac3ad18344e3a4cb3f2a43cb84610a575adb3fb61cab2468ef3a3660b8d0dd5ca9810e051987f1baaa51a2284e4d36e306f7a740bfeeeb7e420c6cbac533a75df31d74954b43dc9aa8b4865930eb1c90a256b6526977278a928e7be31483b417acdc56fe4c124b0db4e6b7f2b76818273f4c4a431434b8ff5463235f63852739ac7286ad970d77382653cc23927bcfe602329e4c33fa157ba706033e5fac2ee5d242e4aa8eec6dbca55bd261b1f73132cd6755df67644ad14dda25023021a1f3265a555d42b0307a22c43a4880ccc3933d9e6ba6ae92ab5b74b78a8033c942857b529fcac3747e2eb6ec7e1e30198e911cd6042c58d1b68c988cf9b09bc1af0bedb40b9bfa4c94ddb7e9dc0e803f08a6de94c8645dc2286b75c38bff1761a5ee43a2c570f36136d4a937cbc6a21929f95f0fbf8f074c27a51f9ed13e9f5519aa616c54980d867f6ed59212f1dfc6aa18aa921b7e57bcd736322c1d65e2c087672f1e98062624704c3f6611cde3a19457a1fe57b51727898a0d936051411b561c8aaf3b1069c8a4cc335de8fc506485a93336111c0608f3f65b609b43e97aa640d0dc24b690de12b294ee6927c6f468c1554c5f87249cf1453d1272c302ee7fb5383568ff7da6199e47aa612a693cbb5036fc4f6ee8c49eec27e0e17490fcd5aaa401d107605ef797ec97812dbf423eb6ccf15d283e8f1b8c561c77c87ecf49185ab0c013c7de72550f740265e0bfc6d6c30b9df5065778ab5c5697efdfcaa43d4c5730e353daaa75caecea9f4b7ded43b6780032d086392d6c0fd808779182fa5721fdf881d03e36c4221ee20624da24ff83bb54cd6658d912997a6d750a60b1fb5aa44c208053cc306105b4f0b4011c4ae43def42083728bcbc6468ba11a2f6107f470640e48eba875de3b340976fa2c3392541904d04b73884d71365690ed84574518bf69db87ab773c0c248b40789d11a02c8de6ff3c70e27caded64b106a9e5b7aa149d89ef2251474468ccece7811080edb6e32ee8a8f875912e091343f6b820106a81cafd026ec80b52d4af8032e5dfaa2a6cc8c6397f127f72b945024acfbb7bd087d844f4a77373c5fb15296d4ae0f69ed06856d86eb264ca61da9cea6af02679284157d497aaacd83836eba26152667d8c6c3ec1ed7b63a1fcfb15469d033cf44a0858c1fd4a3d9dc7ed3a3c882b2912ea90d1f387f55a5a7e8bce1ac65b722a87f018423062fdac1326f2a163f1acc31a33e2a4576edf23a2f35924cd8d2a8bd157e52125f97adfe05d23dde00bf94d23055a5dd41561aed7a378cdf122cfc7ea2db2f41ab230c6dd146af66d16b169c6b67ffe4a9b57d14321b7ae9a9838555b39cdc919edde5224427156e04ff1b31f4150cbec9af4601d6a58666324f0698f50094f041c0c2f6b46f3bda617790bfabe3c0de4e77bb69b59ff96bbe9e3cbb29a5687883dbea13798fd6d29e8d168555eb19b011db3fcaf9046271778df1aa69fd016c1459b0b277035c5b4c3b3c2d8591e440a89f832f9771ca468ea64d0e4c9d6592235d078dd15207ffa70d827b5ae44120123111eafd22be624b32b04c406858f35b288b1ad1adcb92d958cbd0aa402bbdfa927523b23f42c39413a02de00a4f6a9677675551829a74fc128c9b6e17f1d6e1c47bc8f4ee1d0744b21c2bc5778ca430f9c044785f9a5202ef8406284fcb2ddcc93aec36adbbe1745d38ecb220d5188a89bf96dfda1b33c2f2300f75f8935580b2eb15bc1dcb3553b13bcbc4c58ca0e0fb0d5a9cab1b6a45278b7755da6da3284a6f3674aa35c73fc211b1c25592bb3b5aa616d401e46714d332c20b9e16594423f21d81c748274162809da4ddb337d9a9cd1f6bf7025191dd536191e5cdcd3bc8378f27c2ff5872cc8ac0780d6fbd442fccd88c3cb8d63a5dc3c8cb68938ace951cacd2ec3b39d86cc19c07264a597a3e41a23970caa8500c7dc13702f3de31cbd8af5a9d78a96abeb8550599e3a6cc95aa65c5399efebe48fcd2dc3975d4b74c6335216e29e86cb048918d071dd511e776cf6c484a4828e0fabcad09330e588d136303a89d73d4a8c4dc527767b7e3ce32e4ec7a62c5063a991bc562502be6f1af81afa7b9ca0f260092ff390d63f50bd1431bb5886b863f4fe7e43780b4207fd1686588675d6c3d1142f20938944d3a2c4501dd78bda1fd8e267b0c2d1bf3820638632ccd1dbadba4d12e107fa87ab4cdb313626ba47b0127c1acd9a188b14853196333b0fa8776a8ced1a22e2bb20fac1b50e4ff2129a439b9cf9ffd17c73948139690992870c02598e281eca5db3fd9366afe3dc45565c25a8a62f983759625884b60876e8827216f7c5aa4722ab5b9585558f276afb311b5d84b855dfc2b2fe81c630423ae4cde115a803b81662df0c540df0c7b22bb0900a01e9df25cb92b11cc8cdc3da065de3094876392065f1dc067657b15d293cd6b3981146046b772db680d7bd4b1aed3b2f20455a75ec6923d2068ac8858ebf826973bf9a4f585d9d2875c5e0dbd049bcb3d470df56327a82642df9176016300ce0cbe4142aad6ae4db0e040539b5dd5d238d3bbcb56d7cb2ddd6b0d8d6d736363fdda9041eeea46fddc9062916c6259601bcb36343f3c81cd0e4e0d6818c49f2c16930ebfe1011bdb91a5a4d53dcfd2209a600bffffcc8ae20bbbb32e19f6d7a7e84d9b28a2ab135dc30ddc5efdcbdbc7337a4e6861ea579829c0ced6593a724694fadab1bc9e5438a6f6bec0ac3b0083b5a82d6efe5424864cdbd8d318a9b33d293aa0fdfade4e14c0cc3b454534a62ac99a8c7b485ef9bfb6621d5c80bb6c422827e9108663958d5c114499e71f61c5193541871465f3c97e0f0e35afd7562ded316c4d1a5a41c772675661b01119a519cf26b2f669a7808f037eacfdb81c5c672f313a8569d215d4e6c389dcf2b590f5ffc41f93f4a98a2a1448c2c750cf15c762198ecdb5855288120bcf610d115127ffb94fc8718772a88955388eb60210d07dc0cf17fa33e49f645ee6c1e2a11e300d67cdae90408d5ea0a55dfa3833005ccda0f5bc432fbcf3f229349a7b3a2508550e0db0d5d767d7c7672e26a0ad36032e168856fea74b59321204217921bcc1171b6084c112878a9fc798e0bbf2d65ec2c24ff8276d95d8d635d0447ad55b315fdf8f7fa9f0d0f5c51c4f7ba81acc82b1ca081ceca18e200014c1d9b6b5c3efd7be231dc9a8ded684170f85299babd2c8931ec3976219f28a740439528ad340595f825ef901fa2fe12d186652a974569ca03ffd0e66d00f83181df68264abc6013beaecfdbb810b24fe5836480891690ba232e1caf992d4c9176ddc4e041a8b2af82d0d009ac2a1e9c8478ee6fb82ec61cb58de07e2576b1755c863a5c7dde84e23fe0ff52696701d58b2dac0d1741efe2fbdd2658a1c0ce7ef259d504aa56bdaa7a6f3ac4c0484835420240218a16a5e9873046f43058570d92f97aabcfdeb4b697c6b63fe006144f21b03dd2a8eea4d7fe0dda38dc5f2c9b257e8cbf9ce6e920dd6c3b7c6ee10d5c713080b067f33827f429d7a7ae50b99bc1d00d3fce0a60452578313666247b49ff5a444da87d5a0646131bffe21ab85404c0948819c4b88f12fcac9e212020e58141b26ef33258b35f438ab44a8ab04ced3dfba1036fe34f0e1bf2587d984119ca8b4341384c0cb6da0d12caae3512e349a5dc473445def4aeb638847ab4ab7d036c46030edacbacf14aaf91558453e7571715131234a7eef2a89ac93bca3c141b7fcf52cb6adad2bf7e55053670d8beaa93e4db0f87927b191ddb3fb78cbde31f4077f356e4df65ba1f574b6da3da5d87904eba334c56e3f68ef2681819f7ba7b09e887b1c8bef67b344a19ccc32ed4ecdf65f41219df67f53e749ebe04781b13718b0cd96813b3d6fb91f1d72aa495d8ee362b20ccff9b9ee4e18ca8ffeb82b837b24990fd01c98a5cc280c8fe51697b53d827b8d20bf8c82dbce90ce293fb8926281eccea3df026323325d68bda4eaa3e58874a5b4e631e430a1627c1be2d076e9786d546c503fcb83ff0e99a8ff2f2aca1ab24ed3ffce09d9d45f4f78495115fad6e8f64896312132c3b583c4e37270916f4eab4380d3f33754da36665964bb12818d82efcf50f1017c014bb5b2a05331601c66f6732a01ede55c658c583a498599fc010668d795fb27a2b403f51daed542828883c3e97ea11e4f50b60991569f7ba86db6a1494af16adcccee9debd8eda23abdb24e39abee61941f9ea0e0ee9314ec5dc071d084421b48e271d556854b0faeb3c412c03b3d75f6e36963d95b3eac232456b7b008f118031494f60501b01f5669c38c61afe4a3268c82a46442af912e376852a369a53e14957ddd90785682485f8ef3bd685ed707f8538b52dc954e6c45689fc4c64fe28f6981195b9a723932ad5733753b923beaaeabdcd21494019364f96e798622e821fd9a58b1bfdc37a5b9548ba7f930a797693cf2a2fdecba369f6a9c515aa127a5a03588faae40d2b1fd5da5924d7dba9ab6fdcf7a066db7201860c1860ae41d2e4f204f45e515531230702867d248f2e25cf9d252b7f12be0536d4b9e0e1674987e60472a1d785fdd0aee1e2f4851fa94c69348bf8ae26b83782d1b7a2675658bdb3835002738eeebbfac91024051b2ea5c10791a419e51c06b7a31bed9310ac5a4598dfca28bd32152bdac00d0cb814137bbcdd65928f386c0f8bbb1e38caf1c9626c778212f2f93e3c85650b5af1591763f68d04738fbbb46000f2ff6e40fa16946abea9cc677f672d9e2799a7535d84cb856b4dd1702673d283f97291e3acda4d1dcd4e13a7ba0d74474bc69ed371f321368e5982fd702ea80c8b3d144da8d8dcbffc5a7186b2210550c26b600e023a5733bcabfd683413e91d2235e87644015ea208a9d734c2c4337b0d9ed23797fda253779c5fe2233dda1dbe220fbddfcc8235876dcccfefa11e59df2adedf39167d96e932a1776fd1c54e73a6cebf3d944209f6f9a41327885cbeca512107171c2688726bc6ad746f3b9cafdb84dd3d308fc451b10f92738630a563c93470c78db272361fdb8a211b99fee76fc88125bc5f9ae94f6773c4f13f622bf8b0d4738c721859340d0158122d590f3fef62660b0f45ac69432e3bf03183fd9a9790155a6c26e73b1c8e9d28fca63c41afc6033874d1354c17c9aa32a9fedbf2a91d6e4e739cf3be3c7885a7ef8b7acf7e262a81159c26a52c47f2c81df0c859aced21496618f019584f5e5b8f1a7f0a9b69a3eea619c442eb15226e43710052dfe123721e5087881492f0c5e141993cd1b1e1e5e6663ea24e6d40dd22917f2946c1597a68c3f872a984d2b505673f82ff926932c733628f2e6298b7dac3545de9abb5e5ba327efd75f4cf40981610996b733bb0c6de58bcb86b87b848f6f73612f4fc1daefdbe31fcee45d3e2aa265eef08874e7795db96dfd0beb4b618799e647cde9761678bc41568bf0aced0b6ae73317a509c73da5439777bc35ca858bf57f6ba5773b6b9013f93e5e7e847751d6b5e396ecdf61fa4408cea1df3f9b51404e744b4b805dcfb21a79b483cfab08670bd32784d9d3a29ad861362f46a688ccdff1641eab26669f7386b6c5682471a453702d0516ebee94ffee3db436c0606491080dc732a02830a6080c7b626424b009ab061db7c40ead6ac1af989ef639029b897d3f13ffae303856f5e178c5b34331a70238b2d52a15c1618c7c114d1160b1c09fc282a5534d81bad57523bc0ed20d9a9228a695b7337893f35ba94905947def68b5a6034620b374fd1a12b387611607362f7c54d568823862148de06942d94f4d4e10818a7dfef8fe66858f1eb10834393315a314fc385fe00ee68eefb75f65cf85d7df72b987506e050618d4bd39ccab1d26563d0c4f7d7cb576c191c26f0aa0a63c45d0408a761dbarootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsalt-3002.2-lp152.3.48.1.src.rpmbundled(python3-tornado)python3-saltpython3-salt(ppc-64) @@ @      /bin/sh/bin/sh/usr/bin/envlibzypp(plugin:system)python(abi)python3python3-Jinja2python3-M2Cryptopython3-MarkupSafepython3-PyYAMLpython3-distropython3-msgpack-pythonpython3-psutilpython3-pyzmqpython3-requestspython3-rpmpython3-xmlpython3-zypp-pluginrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)salt03.60.32.2.01.0.03.0.4-14.6.0-14.0.4-14.0-15.2-13002.2-lp152.3.48.14.14.1aa`2a/k@` @`!@`N@````v@`pA`pA`lM@`a@`B@`7@`3`.V`-@`&m`2@__@__t@_d@_3_A@^W@^^(@^@^k@^^^}^|@^p^oj@^`^`^_@^_@^\@^C^8 @^1s^[^^r]q]+]@]]]7@]N@]߶]{@]{@])]]]@]]]4@]]?]@]@]@]p]o@]nU]i]R@]M`@]@1@]@1@]>]9]%@]#0@]]@] u@]@]@\\ \t@\\@\\\s@\-@\\8\\w@\w@\v{\HW@\?\=@\8@\73\73\/J\-@\-@\l@\&@[@[@[%@[ٙ@[G[Ѱ@[u[$@[$@[[[;@[@[F[ @[[[@[[:@[[@[^ZnZ@Z4@ZK@ZmZ3@Z3@Za@ZZľ@ZZZ2@Z@Z@ZZZZZ@ZkZZw@Z%Z@V>@VIV@VU@VVVŲ@V`VwVwV&@V@V@V@V_V@VvVvV@V<@VwVrVpVhV]V]V\:@VV@VUVO @VEV@VVVVVVV@V@V@V@V@V @V @V @VVVf@V@V @V }@V@VBVBU@U@UUUp=U`kUUUJ@U3U:TܕTTWn@T?@Pablo Suárez Hernández Pablo Suárez Hernández Victor Zhestkov Pablo Suárez Hernández Pablo Suárez Hernández Alexander Graul Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Victor Zhestkov Alexander Graul Alexander Graul Alexander Graul Alexander Graul Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Jochen Breuer Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Jochen Breuer Pablo Suárez Hernández Pablo Suárez Hernández Jochen Breuer Jochen Breuer Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Jochen Breuer Jochen Breuer Jochen Breuer Jochen Breuer Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Mihai Dincă Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Mihai Dincă Mihai Dincă Pablo Suárez Hernández Mihai Dincă Pablo Suárez Hernández Jochen Breuer Pablo Suárez Hernández Pablo Suárez Hernández Jochen Breuer Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Jochen Breuer Jochen Breuer Mihai Dincă Jochen Breuer Pablo Suárez Hernández Mihai Dincă Mihai Dincă Pablo Suárez Hernández Pablo Suárez Hernández Mihai Dincă Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández Pablo Suárez Hernández psuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.comMihai Dincă psuarezhernandez@suse.commdinca mdinca psuarezhernandez@suse.commdinca@suse.deJochen Breuer Jochen Breuer jbreuer@suse.debo@suse.depsuarezhernandez@suse.combo@suse.depsuarezhernandez@suse.commdinca bo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.deJochen Breuer psuarezhernandez@suse.combo@suse.debo@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commihai.dinca@suse.combo@suse.demihai.dinca@suse.comjbreuer@suse.dejbreuer@suse.depsuarezhernandez@suse.comjbreuer@suse.depsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.depsuarezhernandez@suse.commc@suse.demichele.bologna@suse.commdinca@suse.demdinca@suse.demc@suse.demc@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.demdinca@suse.dejbreuer@suse.dejbreuer@suse.demdinca@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjrenner@suse.comjbreuer@suse.demichele.bologna@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comdimstar@opensuse.orgmihai.dinca@suse.commihai.dinca@suse.commdinca@suse.dejbreuer@suse.debmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejrenner@suse.combrejoc@gmail.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commalbu@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commoio@suse.combmaryniuk@suse.compkazmierczak@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commc@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commalbu@suse.commc@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commihai.dinca@suse.comkkaempf@suse.comkkaempf@suse.commc@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.commc@suse.commc@suse.demihai.dinca@suse.comMichele.Bologna@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.commc@suse.demihai.dinca@suse.combmaryniuk@suse.commihai.dinca@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.dedmacvicar@suse.debmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.compablo.suarezhernandez@suse.commc@suse.detserong@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comtserong@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.debmaryniuk@suse.combmaryniuk@suse.commc@suse.commc@suse.comkkaempf@suse.commc@suse.commc@suse.combmaryniuk@suse.combmaryniuk@suse.commc@suse.combmaryniuk@suse.comkkaempf@suse.comtampakrap@opensuse.orgmc@suse.demc@suse.debmaryniuk@suse.commc@suse.demc@suse.demc@suse.demc@suse.demc@suse.demc@suse.deaboe76@gmail.combmaryniuk@suse.combmaryniuk@suse.comdmacvicar@suse.dekkaempf@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.combmaryniuk@suse.comkkaempf@suse.comdmacvicar@suse.dedmacvicar@suse.dekkaempf@suse.comkkaempf@suse.comkkaempf@suse.comkkaempf@suse.comaboe76@gmail.combmaryniuk@suse.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deaboe76@gmail.commrueckert@suse.detampakrap@opensuse.orgtoddrme2178@gmail.comdmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.dedmacvicar@suse.dedmacvicar@suse.dedmacvicar@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.detampakrap@opensuse.orgtampakrap@opensuse.orginfroma@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comaboe76@gmail.cominfroma@gmail.cominfroma@gmail.comtampakrap@opensuse.orgaboe76@gmail.combwiedemann@suse.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.comaboe76@gmail.com- Use dnfnotify instead yumnotify for relevant distros - Remove wrong _parse_cpe_name from grains.core - dnfnotify pkgset plugin implementation - Add rpm_vercmp python library support for version comparison - Prevent pkg plugins errors on missing cookie path (bsc#1186738) - Fix ip6_interface grain to not leak secondary IPv4 aliases (bsc#1191412) - Make "salt-api" package to require python3-cherrypy on RHEL systems - tar is required by minion on transactional-update system - Do not consider skipped targets as failed for ansible.playbooks state (bsc#1190446) - Fix traceback.*_exc() calls - Added: * fix-the-regression-for-yumnotify-plugin-456.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * remove-wrong-_parse_cpe_name-from-grains.core-452.patch * 3002.2-do-not-consider-skipped-targets-as-failed-for.patch * fix-traceback.-_exc-calls-429.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch * mock-ip_addrs-in-utils-minions.py-unit-test-444.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch- Support querying for JSON data in external sql pillar - Exclude the full path of a download URL to prevent injection of malicious code (bsc#1190265) (CVE-2021-21996) - Added: * 3002.2-postgresql-json-support-in-pillar-424.patch * exclude-the-full-path-of-a-download-url-to-prevent-i.patch- Fix wrong relative paths resolution with Jinja renderer when importing subdirectories - Don't pass shell="/sbin/nologin" to onlyif/unless checks (bsc#1188259) - Add missing aarch64 to rpm package architectures - Backport of upstream PR#59492 - Fix failing unit test for systemd - Fix error handling in openscap module (bsc#1188647) - Better handling of bad public keys from minions (bsc#1189040) - Define license macro as doc in spec file if not existing - Add standalone formulas configuration for salt minion and remove salt-master requirement (bsc#1168327) - Added: * backport-of-upstream-pr59492-to-3002.2-404.patch * fix-failing-unit-tests-for-systemd.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * templates-move-the-globals-up-to-the-environment-jin.patch- Do noop for services states when running systemd in offline mode (bsc#1187787) - transactional_updates: do not execute states in parallel but use a queue (bsc#1188170) - Handle "master tops" data when states are applied by "transactional_update" (bsc#1187787) - Enhance openscap module: add "xccdf_eval" call - virt: pass emulator when getting domain capabilities from libvirt - Adding preliminary support for Rocky Linux - Implementation of held/unheld functions for state pkg (bsc#1187813) - Replace deprecated Thread.isAlive() with Thread.is_alive() - Fix exception in yumpkg.remove for not installed package - Fix save for iptables state module (bsc#1185131) - virt: use /dev/kvm to detect KVM - zypperpkg: improve logic for handling vendorchange flags - Add bundled provides for tornado to the spec file - Enhance logging when inotify beacon is missing pyinotify (bsc#1186310) - Add "python3-pyinotify" as a recommended package for Salt in SUSE/OpenSUSE distros - Fix tmpfiles.d configuration for salt to not use legacy paths (bsc#1173103) - Detect Python version to use inside container (bsc#1167586) (bsc#1164192) - Handle volumes on stopped pools in virt.vm_info (bsc#1186287) - grains.extra: support old non-intel kernels (bsc#1180650) - Fix missing minion returns in batch mode (bsc#1184659) - Parsing Epoch out of version provided during pkg remove (bsc#1173692) - Added: * enhance-openscap-module-add-xccdf_eval-call-386.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * move-vendor-change-logic-to-zypper-class-355.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * fix-missing-minion-returns-in-batch-mode-360.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * handle-master-tops-data-when-states-are-applied-by-t.patch * figure-out-python-interpreter-to-use-inside-containe.patch * fix-save-for-iptables-state-module-bsc-1185131-372.patch * do-noop-for-services-states-when-running-systemd-in-.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * virt-pass-emulator-when-getting-domain-capabilities-.patch * backport-thread.is_alive-fix-390.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * adding-preliminary-support-for-rocky.-59682-391.patch * implementation-of-held-unheld-functions-for-state-pk.patch- Check if dpkgnotify is executable (bsc#1186674) - Added: * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch- Update to Salt release version 3002.2 (jsc#ECO-3212) (jsc#SLE-18033) - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3002.2.html - Drop support for Python2. Obsoletes "python2-salt" package - virt module updates * network: handle missing ipv4 netmask attribute * more network support * PCI/USB host devices passthrough support * drop wrong capabilities code after rebasing patches - Set distro requirement to oldest supported version in requirements/base.txt - Bring missing part of async batch implementation back (bsc#1182382) (CVE-2021-25315) - Always require python3-distro (bsc#1182293) - Remove deprecated warning that breaks minion execution when "server_id_use_crc" opts is missing - Fix pkg states when DEB package has "all" arch - Do not force beacons configuration to be a list. (Revert https://github.com/saltstack/salt/pull/58655) - Remove msgpack < 1.0.0 from base requirements (bsc#1176293) - msgpack support for version >= 1.0.0 (bsc#1171257) - Added: * 3002-set-distro-requirement-to-oldest-supported-vers.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * add-sleep-on-exception-handling-on-minion-connection.patch * async-batch-implementation-fix-320.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch * fix-grains.test_core-unit-test-277.patch * fix-__mount_device-wrapper-254.patch * opensuse-3000.2-virt-backports-236-257.patch * opensuse-3000.3-spacewalk-runner-parse-command-250.patch * opensuse-3000-libvirt-engine-fixes-251.patc * open-suse-3002.2-bigvm-310.patch * open-suse-3002.2-virt-network-311.patch * pkgrepo-support-python-2.7-function-call-295.patch * remove-deprecated-warning-that-breaks-miniion-execut.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * support-transactional-systems-microos-271.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch * zypperpkg-filter-patterns-that-start-with-dot-244.patch - Modified: * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * accumulated-changes-from-yomi-167.patch * accumulated-changes-required-for-yomi-165.patch * activate-all-beacons-sources-config-pillar-grains.patch * add-all_versions-parameter-to-include-all-installed-.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * add-custom-suse-capabilities-as-grains.patch * add-docker-logout-237.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-hold-unhold-functions.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * add-pkg.services_need_restart-302.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * add-saltssh-multi-version-support-across-python-inte.patch * adds-explicit-type-cast-for-port.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * add-virt.all_capabilities.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * allow-vendor-change-option-with-zypper-313.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * apply-patch-from-upstream-to-support-python-3.8.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * backport-a-few-virt-prs-272.patch * backport-virt-patches-from-3001-256.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * changed-imports-to-vendored-tornado.patch * debian-info_installed-compatibility-50453.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * drop-wrong-mock-from-chroot-unit-test.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * fall-back-to-pymysql.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * fix-async-batch-multiple-done-events.patch * fix-async-batch-race-conditions.patch * fix-a-test-and-some-variable-names-229.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * fix-batch_async-obsolete-test.patch * fix-bsc-1065792.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * fixes-56144-to-enable-hotadd-profile-support.patch * fixes-cve-2018-15750-cve-2018-15751.patch * fix-failing-unit-tests-for-batch-async.patch * fix-for-log-checking-in-x509-test.patch * fix-for-some-cves-bsc1181550.patch * fix-for-suse-expanded-support-detection.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fixing-streamclosed-issue.patch * fix-ipv6-scope-bsc-1108557.patch * fix-issue-2068-test.patch * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * fix-novendorchange-option-284.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * fix-unit-test-for-grains-core.patch * fix-unit-tests-for-batch-async-after-refactor.patch * fix-virt.update-with-cpu-defined-263.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * get-os_arch-also-without-rpm-package-installed.patch * grains-master-can-read-grains.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * improvements-on-ansiblegate-module-354.patch * include-aliases-in-the-fqdns-grains.patch * info_installed-works-without-status-attr-now.patch * integration-of-msi-authentication-with-azurearm-clou.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * loop-fix-variable-names-for-until_no_eval.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-profiles-a-package.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * opensuse-3000-virt-defined-states-222.patch * open-suse-3002.2-xen-grub-316.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * prevent-systemd-run-description-issue-when-running-a.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * python3.8-compatibility-pr-s-235.patch * re-adding-function-to-test-for-root.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * reintroducing-reverted-changes.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * remove-vendored-backports-abc-from-requirements.patch * restore-default-behaviour-of-pkg-list-return.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-add-patch-support-for-allow-vendor-change-opt.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * sanitize-grains-loaded-from-roster_grains.json.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * support-config-non-root-permission-issues-fixes-u-50.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * switch-firewalld-state-to-use-change_interface.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * transactional_update-detect-recursion-in-the-executo.patch * transactional_update-unify-with-chroot.call.patch * use-adler32-algorithm-to-compute-string-checksums.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * virt-uefi-fix-backport-312.patch * x509-fixes-111.patch * xen-disk-fixes-264.patch * xfs-do-not-fails-if-type-is-not-present.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * add-alibaba-cloud-linux-2-to-salt-3000-branch-351.patch * add-almalinux-to-the-os-family-list-340.patch * add-ip-filtering-by-network.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * add-missing-_utils-at-loader-grains_func.patch * add-sleep-on-exception-handling-minion-connecting-to.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch * backport-commit-1b16478c51fb75c25cd8d217c80955feefb6.patch * decide-if-the-source-should-be-actually-skipped.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-grains.test_core-unit-test-276.patch * fix-__mount_device-wrapper-253.patch * fix-recursion-false-detectioni-in-payload-305.patch * fix-regression-in-service-states-with-reload-argumen.patch * fix-type-error-in-tornadoimporter.patch patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * fix-zmq-hang-backport-of-saltstack-salt-58364.patch * loader-invalidate-the-import-cachefor-extra-modules.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * opensuse-3000.2-virt-backports-236.patch * opensuse-3000-bigvm-backports-300.patch * opensuse-3000-libvirt-engine-fixes-248.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch * opensuse-3000-virtual-network-backports-329.patch * pkgrepo-support-python-2.7-function-call-294.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * revert-changes-to-slspath-saltstack-salt-56341.patch * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch * support-transactional-systems-microos-268.patch * update-target-fix-for-salt-ssh-and-avoiding-race-con.patch * use-full-option-name-instead-of-undocumented-abbrevi.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch- Fix issue parsing errors in ansiblegate state module - Added: * fix-issue-parsing-errors-in-ansiblegate-state-module.patch- Prevent command injection in the snapper module (bsc#1185281) (CVE-2021-31607) - transactional_update: detect recursion in the executor - Add subpackage salt-transactional-update (jsc#SLE-18028) - Remove duplicate directories from specfile - Added: * transactional_update-detect-recursion-in-the-executo.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch- Improvements on "ansiblegate" module (bsc#1185092): * New methods: ansible.targets / ansible.discover_playbooks * General bugfixes - Added: * improvements-on-ansiblegate-module-354.patch- Add support for Alibaba Cloud Linux 2 (Aliyun Linux) - Regression fix of salt-ssh on processing targets - Added: * add-alibaba-cloud-linux-2-to-salt-3000-branch-351.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch- Update target fix for salt-ssh and avoiding race condition on salt-ssh event processing (bsc#1179831, bsc#1182281) - Added: * update-target-fix-for-salt-ssh-and-avoiding-race-con.patch- Add notify beacon for Debian/Ubuntu systems - Added: * notify-beacon-for-debian-ubuntu-systems-347.patch- Fix zmq bug that causes salt-call to freeze (bsc#1181368) - Added: * fix-zmq-hang-backport-of-saltstack-salt-58364.patch- Add core grains support for AlmaLinux - Allow vendor change option with zypper - virt: virtual network backports to Salt 3000 - Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules (bsc#1177474) - Added: * do-not-monkey-patch-yaml-bsc-1177474.patch * opensuse-3000-virtual-network-backports-329.patch * allow-vendor-change-option-with-zypper-313.patch * add-almalinux-to-the-os-family-list-340.patch- Only require python-certifi for CentOS7 - Fix race conditions for corner cases when handling SIGTERM by minion (bsc#1172110) - Adjust and rename patch files - Exclude SLE 12 from requiring python-certifi - Implementation of suse_ip execution module to prevent issues with network.managed (bsc#1099976) - Fix recursion false detection in payload (bsc#1180101) - Add sleep on exception handling on minion connection attempt to the master (bsc#1174855) - Allows for the VMware provider to handle CPU and memory hot-add in newer versions of the software. (bsc#1181347) - Always require python-certifi (used by salt.ext.tornado) - Do not crash when unexpected cmd output at listing patches (bsc#1181290) - Fix behavior for "onlyif/unless" when multiple conditions (bsc#1180818) - Added: * add-sleep-on-exception-handling-minion-connecting-to.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * fix-recursion-false-detectioni-in-payload-305.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * fixes-56144-to-enable-hotadd-profile-support.patch * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch - Renamed: * fix_regression_in_cmd_run_after_cve.patch -> fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch - Modified: * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * fix-for-some-cves-bsc1181550.patch * open-suse-3002.2-xen-grub-316.patch * virt-uefi-fix-backport-312.patch- Fix regression on cmd.run when passing tuples as cmd (bsc#1182740) - Added: * fix_regression_in_cmd_run_after_cve.patch- Allow extra_filerefs as sanitized kwargs for SSH client - Added: * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch- Fix errors with virt.update - Added: * backport-commit-1b16478c51fb75c25cd8d217c80955feefb6.patch- Fix for multiple for security issues (CVE-2020-28243) (CVE-2020-28972) (CVE-2020-35662) (CVE-2021-3148) (CVE-2021-3144) (CVE-2021-25281) (CVE-2021-25282) (CVE-2021-25283) (CVE-2021-25284) (CVE-2021-3197) (bsc#1181550) (bsc#1181556) (bsc#1181557) (bsc#1181558) (bsc#1181559) (bsc#1181560) (bsc#1181561) (bsc#1181562) (bsc#1181563) (bsc#1181564) (bsc#1181565) - Added: * fix-for-some-cves-bsc1181550.patch- virt: search for grub.xen path - Xen spicevmc, DNS SRV records backports: Fix virtual network generated DNS XML for SRV records Don't add spicevmc channel to xen VMs - virt UEFI fix: virt.update when efi=True - Added: * open-suse-3002.2-xen-grub-316.patch * virt-uefi-fix-backport-312.patch * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch- Revert wrong zypper patch to support vendorchanges flags on pkg.install - Adjusted python2-cherrypy naming in salt-api. (#40) - Force zyppnotify to prefer Packages.db than Packages if it exists - Allow vendor change option with zypper - Add pkg.services_need_restart - Bigvm backports virt consoles, CPU tuning and topology, and memory tuning. - Fix for file.check_perms to work with numeric uid/gid - change 'Requires(pre)' to 'Requires' for salt-minion package (bsc#1083110) - Added: * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * opensuse-3000-bigvm-backports-300.patch * revert-add-patch-support-for-allow-vendor-change-opt.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * add-pkg.services_need_restart-302.patch- Fix syntax error on pkgrepo state with Python 2.7 - transactional_update: unify with chroot.call - Add "migrated" state and GPG key management functions - Master can read grains - Fix for broken psutil (bsc#1102248) - Fix novendorchange handling in zypperpkg module - Added: * add-migrated-state-and-gpg-key-management-functions-.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-novendorchange-option-284.patch * grains-master-can-read-grains.patch * transactional_update-unify-with-chroot.call.patch * pkgrepo-support-python-2.7-function-call-294.patch- Avoid regression on "salt-master": set passphrase for salt-ssh keys to empty string (bsc#1178485) - Added: * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch- Properly validate eauth credentials and tokens on SSH calls made by Salt API (bsc#1178319) (bsc#1178362) (bsc#1178361) (CVE-2020-25592) (CVE-2020-17490) (CVE-2020-16846) - Added: * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch- Fix disk.blkid to avoid unexpected keyword argument '__pub_user' (bsc#1177867) - Ensure virt.update stop_on_reboot is updated with its default value - Do not break package building for systemd OSes - Drop wrong mock from chroot unit test - Support systemd versions with dot (bsc#1176294) - Fix for grains.test_core unit test - Fix file/directory user and group ownership containing UTF-8 characters (bsc#1176024) - Several changes to virtualization: - - Fix virt update when cpu and memory are changed - - Memory Tuning GSoC - - Properly fix memory setting regression in virt.update - - Expose libvirt on_reboot in virt states - Support transactional systems (MicroOS) - zypperpkg module ignores retcode 104 for search() (bsc#1159670) - Xen disk fixes. No longer generates volumes for Xen disks, but the corresponding file or block disk (bsc#1175987) - Invalidate file list cache when cache file modified time is in the future (bsc#1176397) - Prevent import errors when running test_btrfs unit tests - Added: * drop-wrong-mock-from-chroot-unit-test.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * support-transactional-systems-microos-268.patch * xen-disk-fixes-264.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * backport-a-few-virt-prs-272.patch * fix-grains.test_core-unit-test-276.patch- Fix virt.update with CPU defined - Fix virt issues and invalid input errors from 'salt.utils.data' (bsc#1176480) - Reintroduces the patches from opensuse-3000.2-virt-backports-236.patch coming from Salt 3001 - Do not raise StreamClosedError traceback but only log it (bsc#1175549) - Various fixes to the mysql module to break out the handling of user - Take care of failed, skipped and unreachable tasks and propagate "retcode" (bsc#1173911) (bsc#1173909) - Added: * do-not-raise-streamclosederror-traceback-but-only-lo.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * backport-virt-patches-from-3001-256.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * fix-virt.update-with-cpu-defined-263.patch- Require /usr/bin/python instead of /bin/python for RHEL-family (bsc#1173936) - Don't install SuSEfirewall2 service files in Factory - Fix __mount_device wrapper to accept separate args and kwargs - Fix the registration of libvirt pool and nodedev events - Accept nested namespaces in spacewalk.api runner function. (bsc#1172211) - info_installed works without status attr now (bsc#1171461) - Added: * info_installed-works-without-status-attr-now.patch * fix-__mount_device-wrapper-253.patch * opensuse-3000-libvirt-engine-fixes-248.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch- Fix for TypeError in Tornado importer (bsc#1174165) - Added: * fix-type-error-in-tornadoimporter.patch- Require python3-distro only for TW (bsc#1173072)- Various virt backports from 3000.2 - Added: * opensuse-3000.2-virt-backports-236.patch- Avoid traceback on debug logging for swarm module (bsc#1172075) - Add publish_batch to ClearFuncs exposed methods - zypperpkg: filter patterns that start with dot (bsc#1171906) - Batch mode now also correctly provides return value (bsc#1168340) - Add docker.logout to docker execution module (bsc#1165572) - Testsuite fix - Add option to enable/disable force refresh for zypper - Python3.8 compatibility changes - Prevent sporious "salt-api" stuck processes when managing SSH minions because of logging deadlock (bsc#1159284) - Avoid segfault from "salt-api" under certain conditions of heavy load managing SSH minions (bsc#1169604) - Revert broken changes to slspath made on Salt 3000 (saltstack/salt#56341) (bsc#1170104) - Returns a the list of IPs filtered by the optional network list - Added: * option-to-en-disable-force-refresh-in-zypper-215.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * revert-changes-to-slspath-saltstack-salt-56341.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * add-docker-logout-237.patch * add-ip-filtering-by-network.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * python3.8-compatibility-pr-s-235.patch * fix-a-test-and-some-variable-names-229.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch- Fix CVE-2020-11651 and CVE-2020-11652 (bsc#1170595) - Do not require vendored backports-abc (bsc#1170288) - Fix partition.mkpart to work without fstype (bsc#1169800) - Added: * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * remove-vendored-backports-abc-from-requirements.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch- Update to Salt version 3000 See release notes: https://docs.saltstack.com/en/latest/topics/releases/3000.html - Do not make file.recurse state to fail when msgpack 0.5.4 (bsc#1167437) - Fixes status attribute issue in aptpkg test - Make setup.py script not to require setuptools greater than 9.1 loop: fix variable names for until_no_eval - Drop conflictive module.run state patch (bsc#1167437) - Update patches after rebase with upstream v3000 tag (bsc#1167437) - Fix some requirements issues depending on Python3 versions - Removes obsolete patch - Fix for low rpm_lowpkg unit test - Add python-singledispatch as dependency for python2-salt - Fix for temp folder definition in loader unit test - Make "salt.ext.tornado.gen" to use "salt.ext.backports_abc" on Python 2 - Fix regression in service states with reload argument - Fix integration test failure for test_mod_del_repo_multiline_values - Fix for unless requisite when pip is not installed - Fix errors from unit tests due NO_MOCK and NO_MOCK_REASON deprecation - Fix tornado imports and missing _utils after rebasing patches - Removes unresolved merge conflict in yumpkg module - Added: * make-setup.py-script-to-not-require-setuptools-9.1.patch * opensuse-3000-virt-defined-states-222.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * fix-regression-in-service-states-with-reload-argumen.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * loop-fix-variable-names-for-until_no_eval.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * add-missing-_utils-at-loader-grains_func.patch * changed-imports-to-vendored-tornado.patch * sanitize-grains-loaded-from-roster_grains.json.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * reintroducing-reverted-changes.patch * adds-explicit-type-cast-for-port.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * re-adding-function-to-test-for-root.patch - Modified: * move-server_id-deprecation-warning-to-reduce-log-spa.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * async-batch-implementation.patch * add-hold-unhold-functions.patch * add-all_versions-parameter-to-include-all-installed-.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fix-for-log-checking-in-x509-test.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * fix-bsc-1065792.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * fixes-cve-2018-15750-cve-2018-15751.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * fix-failing-unit-tests-for-batch-async.patch * decide-if-the-source-should-be-actually-skipped.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * run-salt-master-as-dedicated-salt-user.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * integration-of-msi-authentication-with-azurearm-clou.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * fix-unit-test-for-grains-core.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * debian-info_installed-compatibility-50453.patch * include-aliases-in-the-fqdns-grains.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * fix-async-batch-multiple-done-events.patch * support-config-non-root-permission-issues-fixes-u-50.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * activate-all-beacons-sources-config-pillar-grains.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * use-adler32-algorithm-to-compute-string-checksums.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fix-batch_async-obsolete-test.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * fall-back-to-pymysql.patch * xfs-do-not-fails-if-type-is-not-present.patch * restore-default-behaviour-of-pkg-list-return.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * run-salt-api-as-user-salt-bsc-1064520.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fixing-streamclosed-issue.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * fix-async-batch-race-conditions.patch * fix-issue-2068-test.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * fix-for-suse-expanded-support-detection.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-standalone-configuration-file-for-enabling-packa.patch * switch-firewalld-state-to-use-change_interface.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * add-custom-suse-capabilities-as-grains.patch * accumulated-changes-from-yomi-167.patch * get-os_arch-also-without-rpm-package-installed.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * add-saltssh-multi-version-support-across-python-inte.patch * early-feature-support-config.patch * add-virt.all_capabilities.patch * accumulated-changes-required-for-yomi-165.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * fix-ipv6-scope-bsc-1108557.patch * prevent-systemd-run-description-issue-when-running-a.patch * make-profiles-a-package.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * x509-fixes-111.patch * do-not-report-patches-as-installed-when-not-all-the-.patch - Removed: * remove-virt.pool_delete-fast-parameter-178.patch * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch * align-virt-full-info-fixes-with-upstream-192.patch * take-checksums-arg-into-account-for-postgres.datadir.patch * virt-1.volume_infos-fix-for-single-vm.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch * preserve-already-defined-destructive_tests-and-expen.patch * list_downloaded-for-apt-module.patch * fix-virt-states-to-not-fail-on-vms-already-stopped.-.patch * virt.volume_infos-fix-for-single-vm.patch * restrict-the-start_event_grains-only-to-the-start-ev.patch * fix-virt.full_info-176.patch * preserving-signature-in-module.run-state-u-50049.patch * checking-for-jid-before-returning-data.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * add-virt.volume_infos-and-virt.volume_delete.patch * add-virt.network_get_xml-function.patch * virt.network_define-allow-adding-ip-configuration.patch * add-ppc64le-as-a-valid-rpm-package-architecture.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * fix-for-older-mock-module.patch * fix-virt.get_hypervisor-188.patch * 2019.2.0-pr-54196-backport-173.patch * enable-passing-grains-to-start-event-based-on-start_.patch * fix-load-cached-grain-osrelease_info.patch * open-suse-2019.2.3-virt-defined-states-219.patch * backport-saltutil-state-module-to-2019.2-codebase.patch- Enable building and installation for Fedora - Disable python2 build on Tumbleweed We are removing the python2 interpreter from openSUSE (SLE16). As such disable salt building for python2 there.- Sanitize grains loaded from roster_grains.json cache during "state.pkg" - Added: * fix-load-cached-grain-osrelease_info.patch- Build: Buildequire pkgconfig(systemd) instead of systemd- Backport saltutil state module to 2019.2 codebase (bsc#1167556) - Add new custom SUSE capability for saltutil state module - Added: * backport-saltutil-state-module-to-2019.2-codebase.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch- virt._get_domain: don't raise an exception if there is no VM - Added: * virt._get_domain-don-t-raise-an-exception-if-there-i.patch- Adds test for zypper abbreviation fix - Improved storage pool or network handling - Better import cache handline - Added: * loader-invalidate-the-import-cachefor-extra-modules.patch * open-suse-2019.2.3-virt-defined-states-219.patch - Modified: * use-full-option-name-instead-of-undocumented-abbrevi.patch- Use full option name instead of undocumented abbreviation for zypper - Requiring python3-distro only for openSUSE/SLE >= 15 - Added: * use-full-option-name-instead-of-undocumented-abbrevi.patch- python-distro is only needed for > Python 3.7. Removing it for Python 2- Avoid possible user escalation upgrading salt-master (bsc#1157465) (CVE-2019-18897)- Fix unit tests failures in test_batch_async tests - Added: * fix-unit-tests-for-batch-async-after-refactor.patch- Batch Async: Handle exceptions, properly unregister and close instances after running async batching to avoid CPU starvation of the MWorkers (bsc#1162327) - RHEL/CentOS 8 uses platform-python instead of python3 - Enable build for Python 3.8 - Added: * batch_async-avoid-using-fnmatch-to-match-event-217.patch * apply-patch-from-upstream-to-support-python-3.8.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch- Fix 'os_family' grain for Astra Linux Common Edition - Added: * add-astra-linux-common-edition-to-the-os-family-list.patch- Update to Salt version 2019.2.3 (CVE-2019-17361) (bsc#1163981) (bsc#1162504) See release notes: https://docs.saltstack.com/en/latest/topics/releases/2019.2.3.html - Modified: * use-adler32-algorithm-to-compute-string-checksums.patch- Enable passing grains to start event based on 'start_event_grains' configuration parameter - Added: * restrict-the-start_event_grains-only-to-the-start-ev.patch * enable-passing-grains-to-start-event-based-on-start_.patch- Support for Btrfs and XFS in parted and mkfs added - Added: * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch- Adds list_downloaded for apt Module to enable pre-downloading support - Adds virt.(pool|network)_get_xml functions - Various libvirt updates * Add virt.pool_capabilities function * virt.pool_running improvements * Add virt.pool_deleted state * virt.network_define allow adding IP configuration - Added: * virt.network_define-allow-adding-ip-configuration.patch * list_downloaded-for-apt-module.patch * add-virt.network_get_xml-function.patch- virt: adding kernel boot parameters to libvirt xml - Added: * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch- Fix virt states to not fail on VMs already stopped - Added: * fix-virt-states-to-not-fail-on-vms-already-stopped.-.patch- Add missing bugzilla references: Properly handle colons in inline dicts with yamlloader (bsc#1095651) Fix corrupt public key with m2crypto python3 (bsc#1099323) Add missing dateutils import (bsc#1099945) Fix UnicodeDecodeError using is_binary check (bsc#1100225) Prevent payload crash on decoding binary data (bsc#1100697) Fix file.blockreplace to avoid throwing IndexError (bsc#1101812) Add API log rotation on SUSE package (bsc#1102218) Fix wrong recurse behavior on for linux_acl.present (bsc#1106164) Handle anycast IPv6 addresses on network.routes (bsc#1114474) Crontab module fix: file attributes option missing (bsc#1114824) Add metadata to accepted keyword arguments (bsc#1122680) Bugfix: properly refresh pillars (bsc#1125015)- xfs: do not fail if type is not present (bsc#1153611) - Added: * xfs-do-not-fails-if-type-is-not-present.patch- Don't use __python indirection macros on spec file %__python is no longer defined in RPM 4.15 (python2 is going EOL in Jan 2020); additionally, python/python3 are just binaries in the path.- Fix errors when running virt.get_hypervisor function - Added: * fix-virt.get_hypervisor-188.patch- Align virt.full_info fixes with upstream Salt - Let salt-ssh use platform-python on RHEL8 (bsc#1158441) - Added: * align-virt-full-info-fixes-with-upstream-192.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch- Fix StreamClosedError issue (bsc#1157479) - Added: * fix-batch_async-obsolete-test.patch * fixing-streamclosed-issue.patch- Prevent test_mod_del_repo_multiline_values to fail - Read repo info without using interpolation (bsc#1135656) - Requires vs BuildRequires - Limiting M2Crypto to >= SLE15 - Replacing pycrypto with M2Crypto (bsc#1165425) - Fix for log checking in x509 test - Update to 2019.2.2 release - Added: * fix-for-log-checking-in-x509-test.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * read-repo-info-without-using-interpolation-bsc-11356.patch - Modified: * async-batch-implementation.patch * add-hold-unhold-functions.patch * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch * decide-if-the-source-should-be-actually-skipped.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-unit-test-for-grains-core.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * fix-async-batch-multiple-done-events.patch * activate-all-beacons-sources-config-pillar-grains.patch * fix-for-older-mock-module.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fall-back-to-pymysql.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * add-virt.volume_infos-and-virt.volume_delete.patch * fix-issue-2068-test.patch * switch-firewalld-state-to-use-change_interface.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * fix-ipv6-scope-bsc-1108557.patch * 2019.2.0-pr-54196-backport-173.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * x509-fixes-111.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * fix-failing-unit-tests-for-batch-async.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * preserve-already-defined-destructive_tests-and-expen.patch * virt.volume_infos-fix-for-single-vm.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * include-aliases-in-the-fqdns-grains.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * add-custom-suse-capabilities-as-grains.patch * get-os_arch-also-without-rpm-package-installed.patch * add-saltssh-multi-version-support-across-python-inte.patch * accumulated-changes-required-for-yomi-165.patch * use-adler32-algorithm-to-compute-string-checksums.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * remove-virt.pool_delete-fast-parameter-178.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * prevent-systemd-run-description-issue-when-running-a.patch * integration-of-msi-authentication-with-azurearm-clou.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch * virt-1.volume_infos-fix-for-single-vm.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * preserving-signature-in-module.run-state-u-50049.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * debian-info_installed-compatibility-50453.patch * add-standalone-configuration-file-for-enabling-packa.patch * accumulated-changes-from-yomi-167.patch * add-virt.all_capabilities.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * support-config-non-root-permission-issues-fixes-u-50.patch * add-all_versions-parameter-to-include-all-installed-.patch * fixes-cve-2018-15750-cve-2018-15751.patch * fix-bsc-1065792.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * restore-default-behaviour-of-pkg-list-return.patch * take-checksums-arg-into-account-for-postgres.datadir.patch * early-feature-support-config.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * fix-virt.full_info-176.patch * checking-for-jid-before-returning-data.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * fix-for-suse-expanded-support-detection.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * add-ppc64le-as-a-valid-rpm-package-architecture.patch * make-profiles-a-package.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * fix-async-batch-race-conditions.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch - Removed: * fix-syndic-start-issue.patch * prevent-already-reading-continuous-exception-message.patch * virt.pool_running-fix-pool-start.patch * azurefs-gracefully-handle-attributeerror.patch * virt-handle-whitespaces-in-vm-names.patch * mount-fix-extra-t-parameter.patch * try-except-undefineflags-as-this-operation-is-not-su.patch- Remove virt.pool_delete fast parameter (U#54474) - Added: * remove-virt.pool_delete-fast-parameter-178.patch- Remove unnecessary yield causing BadYieldError (bsc#1154620) - Added: * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch- Prevent 'Already reading' continuous exception message (bsc#1137642) - Added: * prevent-already-reading-continuous-exception-message.patch- Fix for aptpkg test with older mock modules - Added: * fix-for-older-mock-module.patch- Remove wrong tests for core grain and improve debug logging - Use rich RPM deps to get a compatible version of tornado into the buildroot. - Added: * fix-a-wrong-rebase-in-test_core.py-180.patch- core.py: ignore wrong product_name files - zypperpkg: understand product type - Added: * accumulated-changes-from-yomi-167.patch- Enable usage of downloadonly parameter for apt module - Added: * adds-the-possibility-to-also-use-downloadonly-in-kwa.patch- Add missing 'fun' on events coming from salt-ssh wfunc executions (bsc#1151947) - Added: * add-missing-fun-for-returns-from-wfunc-executions.patch- Fix failing unit tests for batch async - Added: * fix-failing-unit-tests-for-batch-async.patch- Fix memory consumption problem on BatchAsync (bsc#1137642) - Added: * use-current-ioloop-for-the-localclient-instance-of-b.patch- Fix dependencies for RHEL 8- Prevent systemd-run description issue when running aptpkg (bsc#1152366) - Added: * prevent-systemd-run-description-issue-when-running-a.patch- Take checksums arg into account for postgres.datadir_init (bsc#1151650) - Added: * take-checksums-arg-into-account-for-postgres.datadir.patch- Improve batch_async to release consumed memory (bsc#1140912) - Fix memory leak produced by batch async find_jobs mechanism (bsc#1140912) - Grant read and execute permission to others (bsc#1150447) - Added: * improve-batch_async-to-release-consumed-memory-bsc-1.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch- Require shadow instead of old pwdutils (bsc#1130588)- Conflict with tornado >= 5; for now we can only cope with Tornado 4.x (boo#1101780).- Fix virt.full_info (bsc#1146382) - virt.volume_infos: silence libvirt error message - virt.volume_infos needs to ignore inactive pools - Fix for various bugs in virt network and pool states - Implement network.fqdns module function (bsc#1134860) - Added: * 2019.2.0-pr-54196-backport-173.patch * virt.volume_infos-silence-libvirt-error-message-175.patch * fix-virt.full_info-176.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * virt.volume_infos-needs-to-ignore-inactive-pools-174.patch- Restore default behaviour of pkg list return (bsc#1148714) - Strip trailing "/" from repo.uri when comparing repos in apktpkg.mod_repo (bsc#1146192) - Added: * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * restore-default-behaviour-of-pkg-list-return.patch- Use python3 to build package Salt for RHEL8 - Make python3 default for RHEL8- Fix aptpkg systemd call (bsc#1143301) - Added: * fix-aptpkg-systemd-call-bsc-1143301.patch- Move server_id deprecation warning to reduce log spamming (bsc#1135567) (bsc#1135732) - Added: * move-server_id-deprecation-warning-to-reduce-log-spa.patch- Multiple fixes on cmdmod, chroot, freezer and zypperpkg needed for Yomi cmdmod: fix runas and group in run_chroot chroot: add missing sys directory chroot: change variable name to root chroot: fix bug in safe_kwargs iteration freezer: do not fail in cache dir is present freezer: clean freeze YAML profile on restore zypperpkg: fix pkg.list_pkgs cache - Added: * accumulated-changes-required-for-yomi-165.patch- Avoid traceback on http.query when there are errors with the requested URL (bsc#1128554) - Added: * avoid-traceback-when-http.query-request-cannot-be-pe.patch- Salt python client get_full_returns seems return data from incorrect jid (bsc#1131114) - Added: * checking-for-jid-before-returning-data.patch- virt.volume_infos: don't raise an error if there is no VM - Added: * virt-1.volume_infos-fix-for-single-vm.patch- Prevent ansiblegate unit tests to fail on Ubuntu - Added: * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch- Allow passing kwargs to pkg.list_downloaded for Zypper (bsc#1140193) - Added: * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch- Do not make "ansiblegate" module to crash on Python3 minions (bsc#1139761) - Added: * do-not-make-ansiblegate-to-crash-on-python3-minions.patch- Provide the missing features required for Yomi (Yet one more installer) - Added: * provide-the-missing-features-required-for-yomi-yet-o.patch- Fix zypper pkg.list_pkgs test expectation and dpkg mocking - Added: * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch- Set 'salt' group for files and directories created by salt-standalone-formulas-configuration package - Various fixes for virt module - Fix virt.volume_infos raising an exception when there is only virtual machine on the minion. - Fix virt.purge() on all non-KVM hypervisors. For instance on Xen, virt.purge would simply throw an exception about unsupported flag - Building a libvirt pool starts it. When defining a new pool, we need to let build start it or we will get libvirt errors. - Fix handling of Virtual Machines with white space in their name. - Added: * virt.pool_running-fix-pool-start.patch * virt-handle-whitespaces-in-vm-names.patch * virt.volume_infos-fix-for-single-vm.patch * try-except-undefineflags-as-this-operation-is-not-su.patch- avoid batch.py exception when minion does not respond (bsc#1135507) - Added: * batch.py-avoid-exception-when-minion-does-not-respon.patch- Preserve already defined DESTRUCTIVE_TESTS and EXPENSIVE_TESTS env variables - Added: * preserve-already-defined-destructive_tests-and-expen.patch- Do not break repo files with multiple line values on yumpkg (bsc#1135360) - Added: * do-not-break-repo-files-with-multiple-line-values-on.patch- Fix return status when installing or updating RPM packages with "ppc64le" arch (bsc#1133647) - Added: * add-ppc64le-as-a-valid-rpm-package-architecture.patch- Add new "salt-standalone-formulas-configuration" package (fate#327791) - Added: * add-standalone-configuration-file-for-enabling-packa.patch- Switch firewalld state to use change_interface (bsc#1132076) - Added: * switch-firewalld-state-to-use-change_interface.patch- Fix async-batch to fire a single done event - Added: * fix-async-batch-multiple-done-events.patch- Do not make Salt CLI to crash when there are IPv6 established connections (bsc#1130784) - Added: * do-not-crash-when-there-are-ipv6-established-connect.patch- Include aliases in FQDNS grain (bsc#1121439)- Fix issue preventing syndic to start - Update year on spec copyright notice - Added: * fix-syndic-start-issue.patch- Use ThreadPool from multiprocessing.pool to avoid leakings when calculating FQDNs - Do not report patches as installed on RHEL systems when not all the related packages are installed (bsc#1128061) - Added: * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * do-not-report-patches-as-installed-when-not-all-the-.patch- Update to 2019.2.0 complete (FATE#327138, bsc#1133523) - Fix batch/batch-async related issues - Calculate FQDNs in parallel to avoid blockings (bsc#1129079) - Incorporate virt.volume_info fixes (PR#131) - Re-adds patch because of increased offset due to previous patch removal - Removing patch to add root parameter to zypper module - Fix for -t parameter in mount module - Added: * mount-fix-extra-t-parameter.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * fix-async-batch-race-conditions.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch - Modified: * don-t-call-zypper-with-more-than-one-no-refresh.patch * add-virt.volume_infos-and-virt.volume_delete.patch - Removed: * zypper-add-root-configuration-parameter.patch- No longer limiting Python3 version to <3.7- Async batch implementation - Added: * async-batch-implementation.patch- Update to Salt 2019.2.0 release For further information see: https://docs.saltstack.com/en/latest/topics/releases/2019.2.0.html - Added: * add-virt.all_capabilities.patch * add-virt.volume_infos-and-virt.volume_delete.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * include-aliases-in-the-fqdns-grains.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch - Removed: * accounting-for-when-files-in-an-archive-contain-non-.patch * add-engine-relaying-libvirt-events.patch * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch * add-support-for-python-3.7.patch * align-suse-salt-master.service-limitnofiles-limit-wi.patch * avoid-incomprehensive-message-if-crashes.patch * change-stringio-import-in-python2-to-import-the-clas.patch * decode-file-contents-for-python2-bsc-1102013.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch * feat-add-grain-for-all-fqdns.patch * fix-async-call-to-process-manager.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-deprecation-warning-bsc-1095507.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch * fix-for-ec2-rate-limit-failures.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch * fix-for-sorting-of-multi-version-packages-bsc-109717.patch * fix-index-error-when-running-on-python-3.patch * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch * fix-mine.get-not-returning-data-workaround-for-48020.patch * fix-unboundlocalerror-in-file.get_diff.patch * fixed-usage-of-ipaddress.patch * fixing-issue-when-a-valid-token-is-generated-even-wh.patch * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * improved-handling-of-ldap-group-id.patch * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch * prepend-current-directory-when-path-is-just-filename.patch * prevent-zypper-from-parsing-repo-configuration-from-.patch * remove-old-hack-when-reporting-multiversion-packages.patch * retire-md5-checksum-for-pkg-mgmt-plugins.patch * show-recommendations-for-salt-ssh-cross-version-pyth.patch * strip-trailing-commas-on-linux-user-gecos-fields.patch * support-use-of-gce-instance-credentials-109.patch * update-error-list-for-zypper.patch * x509-fixes-for-remote-signing-106.patch - Modified: * add-all_versions-parameter-to-include-all-installed-.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-hold-unhold-functions.patch * add-saltssh-multi-version-support-across-python-inte.patch * azurefs-gracefully-handle-attributeerror.patch * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch * debian-info_installed-compatibility-50453.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * fall-back-to-pymysql.patch * fix-for-suse-expanded-support-detection.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-ipv6-scope-bsc-1108557.patch * fix-issue-2068-test.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fixes-cve-2018-15750-cve-2018-15751.patch * get-os_arch-also-without-rpm-package-installed.patch * integration-of-msi-authentication-with-azurearm-clou.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * use-adler32-algorithm-to-compute-string-checksums.patch * x509-fixes-111.patch * zypper-add-root-configuration-parameter.patch- Add root parameter to Zypper module - Added: * zypper-add-root-configuration-parameter.patch- Do not restrict the Python version to < 3.7- Fix integration tests in state compiler (U#2068) - Added: * fix-issue-2068-test.patch- Fix "pkg.list_pkgs" output when using "attr" to take the arch into account (bsc#1114029) - Added: * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch- Fix powerpc null server_id_arch (bsc#1117995) - Added: * return-the-expected-powerpc-os-arch-bsc-1117995.patch- Fix module 'azure.storage' has no attribute '__version__' (bsc#1121091) - Added: * azurefs-gracefully-handle-attributeerror.patch- Add supportconfig module and states for minions and SaltSSH - Added: * add-supportconfig-module-for-remote-calls-and-saltss.patch- Fix FIPS enabled RES clients (bsc#1099887) - Added: * retire-md5-checksum-for-pkg-mgmt-plugins.patch- Add hold/unhold functions. Fix Debian repo "signed-by". - Added: * decide-if-the-source-should-be-actually-skipped.patch * add-hold-unhold-functions.patch- Fix latin1 encoding problems on file module (bsc#1116837) - Added: * fix-latin1-encoding-problems-on-file-module-bsc-1116.patch- Don't error on retcode 0 in libcrypto.OPENSSL_init_crypto - Added: * don-t-error-on-retcode-0-in-libcrypto.openssl_init_c.patch- Debian info_installed compatibility (U#50453) - Added: * debian-info_installed-compatibility-50453.patch- Add compatibility with other package modules for "list_repos" function - Bugfix: unable to detect os arch when RPM is not installed (bsc#1114197) - Added: * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * get-os_arch-also-without-rpm-package-installed.patch- Fix git_pillar merging across multiple __env__ repositories (bsc#1112874) - Added: * fix-git_pillar-merging-across-multiple-__env__-repos.patch- Fix LDAP authentication issue when a valid token is generated by the salt-api even when invalid user credentials are passed. (U#48901) - Added: * fixing-issue-when-a-valid-token-is-generated-even-wh.patch- Improved handling of LDAP group id. gid is no longer treated as a string, which could have lead to faulty group creations. (bsc#1113784) - Added: * improved-handling-of-ldap-group-id.patch- Fix remote command execution and incorrect access control when using salt-api. (bsc#1113699) (CVE-2018-15751) - Fix Directory traversal vulnerability when using salt-api. Allows an attacker to determine what files exist on a server when querying /run or /events. (bsc#1113698) (CVE-2018-15750) - Added: * fixes-cve-2018-15750-cve-2018-15751.patch- Add multi-file support and globbing to the filetree (U#50018) - Added: * add-multi-file-support-and-globbing-to-the-filetree-.patch- Bugfix: supportconfig non-root permission issues (U#50095) - Added: * support-config-non-root-permission-issues-fixes-u-50.patch- Open profiles permissions to everyone for read-only- Preserving signature in "module.run" state (U#50049) - Added: * preserving-signature-in-module.run-state-u-50049.patch- Install default salt-support profiles- Fix unit tests due to merger failure - Add CPE_NAME for osversion* grain parsing - Get os_family for RPM distros from the RPM macros - Install support profiles - Added: * get-os_family-for-rpm-distros-from-the-rpm-macros.-u.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * make-profiles-a-package.patch * fix-unit-test-for-grains-core.patch- Bugfix: any unicode string of length 16 will raise TypeError - Added: * bugfix-any-unicode-string-of-length-16-will-raise-ty.patch- Fix async call to process manager (bsc#1110938) - Early feature: Salt support-config (salt-support) - Added: * fix-async-call-to-process-manager.patch * early-feature-support-config.patch- Fix IPv6 scope (bsc#1108557) - Added: * fix-ipv6-scope-bsc-1108557.patch- Handle zypper ZYPPER_EXIT_NO_REPOS exit code (bsc#1108834, bsc#1109893) - Added: * update-error-list-for-zypper.patch- Bugfix for pkg_resources crash (bsc#1104491) - Added: * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch- Fix loosen azure sdk dependencies in azurearm cloud driver (bsc#1107333) - Added: * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch- Fix broken "resolve_capabilities" on Python 3 (bsc#1108995) - Added: * fix-index-error-when-running-on-python-3.patch- Allow empty service_account_private_key in GCE driver (bsc#1108969) - Added: * support-use-of-gce-instance-credentials-109.patch- Decode file contents for python2 (bsc#1103530) - Check dmidecoder executable on each "smbios" call to avoid race condition (bsc#1101880) - Fix pkg.upgrade reports when dealing with multiversion packages (bsc#1102265) - Accounting for when files in an archive contain non-ascii characters (bsc#1099460) - Fix deprecation warning (bsc#1095507) - Fix (bsc#1065792) - Fix (bsc#108758) - Handle packages with multiple version properly with zypper (bsc#1096514) - Fix file.get_diff regression in 2018.3 (bsc#1098394) - Provide python version mismatch solutions (bsc#1072599) - Fix file.managed binary file utf8 error (bsc#1098394) - Prevent zypper from parsing repo configuration from not .repo files (bsc#1094055) - Add environment variable to know if yum is invoked from Salt (bsc#1057635) - Prevent deprecation warning with salt-ssh (bsc#1095507) - Align SUSE salt-master.service 'LimitNOFILES' limit with upstream Salt - Add 'other' attribute to GECOS fields to avoid inconsistencies with chfn - Collect all versions of installed packages on SUSE and RHEL systems (bsc#1089526)- Prepend current directory when path is just filename (bsc#1095942) - Integration of MSI authentication for azurearm - Adds fix for SUSE Expanded Support os grain detection - Fixes 509x remote signing - Fix for StringIO import in Python2 - Use Adler32 algorithm to compute string checksums (bsc#1102819) - Only do reverse DNS lookup on IPs for salt-ssh (bsc#1104154) - Add support for Python 3.7 - Fix license macro to build on SLE12SP2 - Decode file contents for python2 (bsc#1102013) - Fix for sorting of multi-version packages (bsc#1097174 and bsc#1097413) - Fix mine.get not returning data - workaround for #48020 (bsc#1100142) - Added: * change-stringio-import-in-python2-to-import-the-clas.patch * integration-of-msi-authentication-with-azurearm-clou.patch * x509-fixes-for-remote-signing-106.patch * fix-for-suse-expanded-support-detection.patch * only-do-reverse-dns-lookup-on-ips-for-salt-ssh.patch * prepend-current-directory-when-path-is-just-filename.patch * add-support-for-python-3.7.patch * decode-file-contents-for-python2-bsc-1102013.patch * fix-mine.get-not-returning-data-workaround-for-48020.patch * x509-fixes-111.patch * use-adler32-algorithm-to-compute-string-checksums.patch - Modified: * fix-for-sorting-of-multi-version-packages-bsc-109717.patch- Update to 2018.3.2 See https://docs.saltstack.com/en/latest/topics/releases/2018.3.2.html for full changelog - Added: * accounting-for-when-files-in-an-archive-contain-non-.patch * add-all_versions-parameter-to-include-all-installed-.patch * add-custom-suse-capabilities-as-grains.patch * add-engine-relaying-libvirt-events.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-other-attribute-to-gecos-fields-to-avoid-inconsi.patch * align-suse-salt-master.service-limitnofiles-limit-wi.patch * avoid-incomprehensive-message-if-crashes.patch * fix-deprecation-warning-bsc-1095507.patch * fix-diffing-binary-files-in-file.get_diff-bsc-109839.patch * fix-unboundlocalerror-in-file.get_diff.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * prevent-zypper-from-parsing-repo-configuration-from-.patch * remove-old-hack-when-reporting-multiversion-packages.patch * show-recommendations-for-salt-ssh-cross-version-pyth.patch - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * add-saltssh-multi-version-support-across-python-inte.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fall-back-to-pymysql.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-for-ec2-rate-limit-failures.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch * fixed-usage-of-ipaddress.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * strip-trailing-commas-on-linux-user-gecos-fields.patch - Deleted: * explore-module.run-response-to-catch-the-result-in-d.patch * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * fix-cp.push-empty-file.patch * fix-for-sorting-of-multi-version-packages-bsc-109717.patch * fix-openscap-push.patch * initialize-__context__-retcode-for-functions-handled.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * provide-kwargs-to-pkg_resource.parse_targets-require.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Documentation refresh to 2018.3.0- No more AWS EC2 rate limitations in salt-cloud (bsc#1088888) - MySQL returner now also allows to use Unix sockets (bsc#1091371) - Added: * fix-for-ec2-rate-limit-failures.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch- Do not override jid on returners, only sending back to master (bsc#1092373) - Fixes for salt-ssh: - Option --extra-filerefs doesn't add all files to the state archive - Pillar completely overwritten (not merged) when doing module.run + state.apply with pillar in kwargs - Remove minion/thin/version if exists to force thin regeneration (bsc#1092161) - Added: * extra-filerefs-include-files-even-if-no-refs-in-stat.patch * do-not-override-jid-on-returners-only-sending-back-t.patch * option-to-merge-current-pillar-with-opts-pillar-duri.patch- Fixed Python 3 issue with CIDR addresses. - Added: * fixed-usage-of-ipaddress.patch- Fix minion scheduler to return a 'retcode' attribute (bsc#1089112) - Fix for logging during network interface querying (bsc#1087581) - Fix rhel packages requires both net-tools and iproute (bsc#1087055) - Added: * initialize-__context__-retcode-for-functions-handled.patch - Modified: * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch- Fix patchinstall on yum module. Bad comparison (bsc#1087278) - Added: * provide-kwargs-to-pkg_resource.parse_targets-require.patch- Strip trailing commas on Linux user's GECOS fields (bsc#1089362) - Fallback to PyMySQL (bsc#1087891) - Improved test for fqdns - Update SaltSSH patch - Fix for [Errno 0] Resolver Error 0 (no error) (bsc#1087581) * Lintfix: PEP8 ident * Use proper levels of the error handling, use proper log formatting. * Fix unit test for reversed fqdns return data - Added: * strip-trailing-commas-on-linux-user-gecos-fields.patch * fall-back-to-pymysql.patch * fix-for-errno-0-resolver-error-0-no-error-bsc-108758.patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update to 2018.3.0 - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add python-2.6 support to salt-ssh - Modified: * add-saltssh-multi-version-support-across-python-inte.patch- Update salt-ssh multiversion patch - Modified: * add-saltssh-multi-version-support-across-python-inte.patch - Removed: * require-same-major-version-while-minor-is-allowed-to.patch- Add iprout/net-tools dependency- salt-ssh: require same major version while minor is allowed to be - Added: * require-same-major-version-while-minor-is-allowed-to.patch - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * add-saltssh-multi-version-support-across-python-inte.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * run-salt-master-as-dedicated-salt-user.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Add SaltSSH multi-version support across Python interpeters. - Added: * add-saltssh-multi-version-support-across-python-inte.patch- Fix zypper.info_installed 'ascii' issue - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update openscap push patch to include the test fixes - Modified: * explore-module.run-response-to-catch-the-result-in-d.patch * fix-openscap-push.patch * fix-decrease-loglevel-when-unable-to-resolve-addr.patch * fix-cp.push-empty-file.patch * make-it-possible-to-use-login-pull-and-push-from-mod.patch * move-log_file-option-to-changeable-defaults.patch- Explore 'module.run' state module output in depth to catch "result" properly - Added: * explore-module.run-response-to-catch-the-result-in-d.patch- make it possible to use docker login, pull and push from module.run and detect errors - Added: * make-it-possible-to-use-login-pull-and-push-from-mod.patch- Fix logging with FQDNs - Added: * fix-decrease-loglevel-when-unable-to-resolve-addr.patch- Update patches - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch - Removed: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- Update cp.push patch - Modified: * fix-cp.push-empty-file.patch * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch- force re-generate a new thin.tgz when an update gets installed- fix salt-ssh with a different patch - remove: dumps-should-return-unicode-also-with-py2-to-prevent.patch - added: salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Added: * salt-ssh-fix-json-load-of-return-data-when-it-contai.patch - Removed: * dumps-should-return-unicode-also-with-py2-to-prevent.patch- Fix unicode decode error with salt-ssh - Added: * dumps-should-return-unicode-also-with-py2-to-prevent.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * fix-cp.push-empty-file.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * move-log_file-option-to-changeable-defaults.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Fix cp.push empty file (bsc#1075950) - salt-ssh - move log_file option to changeable defaults - Added: * fix-cp.push-empty-file.patch * move-log_file-option-to-changeable-defaults.patch - Modified: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch * fix-openscap-push.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * activate-all-beacons-sources-config-pillar-grains.patch * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Daily update - Added: * fix-openscap-push.patch - Removed: * fix-grains-with-n.patch- Fix grains containing trailing "\n" - Added: * fix-grains-with-n.patch- Remove salt-minion python2 requirement when python3 is default (bsc#1081592)- Remove-obsolete-unicode-handling-in-pkg.info_installed - Added: * remove-obsolete-unicode-handling-in-pkg.info_install.patch- Update to salt-2018.1.99 - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * feat-add-grain-for-all-fqdns.patch * fix-bsc-1065792.patch * list_pkgs-add-parameter-for-returned-attribute-selec.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch - Deleted: * python3-compatibility-fix-got-bytes-instead-of-strin.patch * enable-with-salt-version-parameter-for-setup.py-scri.patch * catching-error-when-pidfile-cannot-be-deleted.patch * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * bugfix-the-logic-according-to-the-exact-described-pu.patch * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-salt-master-for-old-psutil.patch * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * older-logrotate-need-su-directive.patch * return-error-when-gid_from_name-and-group-does-not-e.patch * set-shell-environment-variable-64.patch * split-only-strings-if-they-are-such.patch * use-home-to-get-the-user-home-directory-instead-usin.patch * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Fix-epoch-handling-for-Rhel-6-and-7 - Modified: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Restoring-installation-of-packages-for-Rhel-6-7 Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch- Prevent queryformat pattern from expanding (bsc#1079048)- Fix epoch handling for Rhel 6 and 7 (bsc#1068566) - Reverting to current API for split_input - Added: * yumpkg-don-t-use-diff_attr-when-determining-install-.patch - Removed: * fix-for-wrong-version-processing.patch- Fix for wrong version processing during yum pkg install (bsc#1068566) - Feat: add grain for all FQDNs (bsc#1063419) - Added: * fix-for-wrong-version-processing.patch * feat-add-grain-for-all-fqdns.patch- Fix the usage of custom macros on the spec file.- Fix RES7: different dependency names for python-PyYAML and python-MarkupSafe- Build both python2 and python3 binaries together.- Bugfix: errors in external pillar causes crash instead of report of them (bsc#1068446) - Fix 'user.present' when 'gid_from_name' is set but group does not exist. - Added: * bugfix-the-logic-according-to-the-exact-described-pu.patch * return-error-when-gid_from_name-and-group-does-not-e.patch- Fix "No service execution module loaded" issue (bsc#1065792) - Set SHELL environment variable Added: * fix-bsc-1065792.patch * set-shell-environment-variable-64.patch- Removed unnecessary logging on shutdown (bsc#1050003) - Renamed patch that adds grain fqdns Changed: * catching-error-when-pidfile-cannot-be-deleted Removed: * fix-for-pidfile-removal-logging Renamed: * add-fqdns-grains -> feat-add-grain-for-all-fqdns- Add fqdns to grains (bsc#1063419) Added: * add-fqdns-grains.patch- Fixing cherrypy websocket with python3 Added: * python3-compatibility-fix-got-bytes-instead-of-strin.patch- Various-bug-fixes - Python3 bugfix for cherrypy read() - Fix for logging on salt-master exit in rare cases (pid-file removal) - Added: * cherrypy-read-reads-bytes-from-the-wire-and-write-th.patch * fix-for-pidfile-removal-logging.patch * split-only-strings-if-they-are-such.patch- Fix salt-master for old psutil version - Added: * fix-salt-master-for-old-psutil.patch- Put back accidentally removed patches - Added: * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * catching-error-when-pidfile-cannot-be-deleted.patch- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Older logrotate need su directive (bsc#1071322) * Added: older-logrotate-need-su-directive.patch- Fix bsc#1041993 already included in 2017.7.2 - Removed: * removes-beacon-configuration-deprecation-warning-48.patch- Fixed beacons failure when pillar-based suppressing config-based. (bsc#1060230) - Added: * activate-all-beacons-sources-config-pillar-grains.patch- Escape the usage of %{VERSION} when calling out to rpm. RPM 4.14 has %{VERSION} defined as 'the main packages version'.- Fix wrong version reported by Salt (bsc#1061407) - Fix CVE-2017-14696 (bsc#1062464) already included in 2017.7.2- Run salt master as dedicated salt user - Run salt-api as user salt (bsc#1064520) - Added: * run-salt-master-as-dedicated-salt-user.patch * run-salt-api-as-user-salt-bsc-1064520.patch- Update to 2017.7.2 See https://docs.saltstack.com/en/latest/topics/releases/2017.7.2.html - Added: * enable-with-salt-version-parameter-for-setup.py-scri.patch - Removed: * add-a-salt-minion-service-control-file.patch * add-clean_id-function-to-salt.utils.verify.py.patch * add-options-for-dockerng.patch * add-ssh-option-to-salt-ssh.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-yum-plugin.patch * add-zypp-notify-plugin.patch * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * adding-support-for-installing-patches-in-yum-dnf-exe.patch * avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch * bugfix-unable-to-use-127-as-hostname.patch * catching-error-when-pidfile-cannot-be-deleted.patch * change-travis-configuration-file-to-use-salt-toaster.patch * check-if-byte-strings-are-properly-encoded-in-utf-8.patch * clean-up-change-attribute-from-interface-dict.patch * do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch * escape-the-os.sep.patch * fix-for-delete_deployment-in-kubernetes-module.patch * fix-format-error-bsc-1043111.patch * fix-grain-for-os_family-on-suse-series.patch * fix-os_family-case-in-unittest.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * fix-setting-language-on-suse-systems.patch * fixed-issue-with-parsing-of-master-minion-returns-wh.patch * fixing-beacons.list-integration-test-failure.patch * introducing-the-kubernetes-module.patch * notify-systemd-synchronously-bsc-1053376.patch * rest_cherrypy-remove-sleep-call.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch * run-salt-api-as-user-salt-bsc-990029.patch * run-salt-master-as-dedicated-salt-user.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * security-fixes-cve-2017-14695-and-cve-2017-14696.patch * setting-up-os-grains-for-sles-expanded-support-suse-.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch * tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * use-correct-grain-constants-for-timezone.patch- Re-added previously removed unit-test for bsc#1050003 - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch- Fixes for CVE-2017-14695 and CVE-2017-14696 (bsc#1062462) - Added: * security-fixes-cve-2017-14695-and-cve-2017-14696.patch- Add missing follow-up for CVE-2017-12791 (bsc#1053955) - Fixed salt target-type field returns "String" for existing jids but an empty "Array" for non existing jids. (issue#1711) - Added: * bugfix-always-return-a-string-list-on-unknown-job-ta.patch * escape-the-os.sep.patch- Fixed minion resource exhaustion when many functions are being executed in parallel (bsc#1059758) - Changed: * catching-error-when-pidfile-cannot-be-deleted.patch - Added: * introduce-process_count_max-minion-configuration-par.patch * multiprocessing-minion-option-documentation-fixes.patch * revert-we-don-t-have-python-systemd-so-notify-can-t-.patch - Removed: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Remove 'TasksTask' attribute from salt-master.service in older versions of systemd (bsc#985112)- Fix for delete_deployment in Kubernetes module (bsc#1059291) - Added: * fix-for-delete_deployment-in-kubernetes-module.patch- Catching error when PIDfile cannot be deleted (bsc#1050003) - Added: * catching-error-when-pidfile-cannot-be-deleted.patch- Use $HOME to get the user home directory instead using '~' char (bsc#1042749) - Added: * use-home-to-get-the-user-home-directory-instead-usin.patch- Fixed patches for Kubernetes and YUM modules - Updated: * list_pkgs-add-parameter-for-returned-attribute-selec.patch * introducing-the-kubernetes-module.patch- Add patches to salt to support SUSE Manager scalability features (bsc#1052264) - Added: * list_pkgs-add-parameter-for-returned-attribute-selec.patch- Introducing the kubernetes module (bsc#1051948) - Added: * introducing-the-kubernetes-module.patch- Revert "We don't have python-systemd, so notify can't work" - Added: * revert-we-don-t-have-python-systemd-so-notify-can-t-work.patch- Notify systemd synchronously via NOTIFY_SOCKET (bsc#1053376) - Added: * notify-systemd-synchronously-bsc-1053376.patch- Add clean_id function to salt.utils.verify.py (CVE-2017-12791, bsc#1053955) - Added: * add-clean_id-function-to-salt.utils.verify.py.patch- Added bugfix when jobs scheduled to run at a future time stay pending for Salt minions (bsc#1036125) - Added: * bugfix-jobs-scheduled-to-run-at-a-future-time-stay-p.patch- Adding procps as dependency. This provides "ps" and "pgrep" utils which are called from different Salt modules and also from new salt-minion watchdog.- Adding a salt-minion watchdog for RHEL6 and SLES11 systems (sysV) to restart salt-minion in case of crashes during upgrade. - Added: * adding-salt-minion-watchdog-for-sysv-systems-rhel6-a.patch * enables-salt-minion-watchdog-on-init.d-script-for-sy.patch- fix format error (bsc#1043111)- fix ownership for whole master cache directory (bsc#1035914)- Bugfix: clean up `change` attribute from interface dict (upstream) Issue: https://github.com/saltstack/salt/issues/41461 PR: 1. https://github.com/saltstack/salt/pull/41487 2. https://github.com/saltstack/salt/pull/41533 Added: * clean-up-change-attribute-from-interface-dict.patch- Disable 3rd party runtime packages to be explicitly recommended. (bsc#1040886)- Bugfix: orchestrate and batches returns false failed information https://github.com/saltstack/salt/issues/40635 Added: * fixed-issue-with-parsing-of-master-minion-returns-wh.patch- speed-up cherrypy by removing sleep call- wrong os_family grains on SUSE - fix unittests (bsc#1038855)- fix setting the language on SUSE systems (bsc#1038855)- Documentation refresh to 2016.11.4- Update to 2016.11.4 See https://docs.saltstack.com/en/develop/topics/releases/2016.11.4.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.3.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.2.html See https://docs.saltstack.com/en/develop/topics/releases/2016.11.1.html for full changelog - Use SUSE specific salt-api.service (bsc#1039370) - Bugfix: wrong os_family grains on SUSE (bsc#1038855) - Bugfix: unable to use hostname for minion ID as '127' (upstream) - Fix core grains constants for timezone (bsc#1032931) - Add unit test for a skip false values from preferred IPs upstream patch - Adding "yum-plugin-security" as required for RHEL 6 - Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - raet protocol is no longer supported (bsc#1020831) - Fix: move SSH data to the new home (bsc#1027722) - Fix: /var/log/salt/minion fails logrotate (bsc#1030009) - Fix: Result of master_tops extension is mutually overwritten (bsc#1030073) - Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Use salt's ordereddict for comparison (fixes failing tests) - add special salt-minion.service file for RES7 - fix scripts for salt-proxy - define with systemd for fedora and rhel >= 7 (bsc#1027240) - add openscap module - file.get_managed regression fix (upstream issues #39762) - fix translate variable arguments if they contain hidden keywords (bsc#1025896) - fix service handling for openSUSE - added unit test for dockerng.sls_build dryrun - added dryrun to dockerng.sls_build - update dockerng minimal version requirements - fix format error in error parsing - keep fix for migrating salt home directory (bsc#1022562) - Fix salt pkg.latest raises exception if package is not available (bsc#1012999) - Fix timezone: should be always in UTC (bsc#1017078) - Fix timezone handling for rpm installtime (bsc#1017078) - Increasing timeouts for running integrations tests - Add buildargs option to dockerng.build module - Disable custom rosters for Salt SSH via Salt API (bsc#1011800) More: https://github.com/saltstack/salt/pull/38596 - Fix error when missing ssh-option parameter - readd yum notify plugin - all kwargs to dockerng.create to provide all features to sls_build as well - rename patches to get rid of the prefix numbers - Added: * bugfix-unable-to-use-127-as-hostname.patch * fix-grain-for-os_family-on-suse-series.patch * use-correct-grain-constants-for-timezone.patch * search-the-entire-cache_dir-because-storage-paths-ch.patch * add-unit-test-for-skip-false-values-from-preferred_i.patch * add-a-salt-minion-service-control-file.patch * add-options-for-dockerng.patch * add-zypp-notify-plugin.patch * fixing-beacons.list-integration-test-failure.patch * fix-regression-in-file.get_managed-add-unit-tests.patch * fix-salt-summary-to-count-not-responding-minions-cor.patch * special-salt-minion.service-file-for-rhel7.patch * translate-variable-arguments-if-they-contain-hidden-.patch - Renamed: * 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch => tserong-suse.com-we-don-t-have-python-systemd-so-not.patch * 0002-Run-salt-master-as-dedicated-salt-user.patch => run-salt-master-as-dedicated-salt-user.patch * 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch => check-if-byte-strings-are-properly-encoded-in-utf-8.patch * 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch => do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch * 0009-Add-YUM-plugin.patch 0027-Add-YUM-plugin.patch => add-yum-plugin.patch * 0012-Run-salt-api-as-user-salt-bsc-990029.patch => run-salt-api-as-user-salt-bsc-990029.patch * 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch => setting-up-os-grains-for-sles-expanded-support-suse-.patch * 0022-Change-travis-configuration-file-to-use-salt-toaster.patch => change-travis-configuration-file-to-use-salt-toaster.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch => avoid-failures-on-sles-12-sp2-because-of-new-systemd.patch * 0042-Salt-ssh-ssh-option-param.patch => add-ssh-option-to-salt-ssh.patch * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch => adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0005-Use-SHA256-hash-type-by-default.patch * 0006-Create-salt-proxy-instantiated-service-file.patch * 0007-Add-SUSE-Manager-plugin.patch * 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch * 0009-Rewrite-minion-ID-generator-bsc-967803.patch * 0010-snapper-execution-module.patch * 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch * 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch * 0014-Fix-some-unittests.patch * 0015-Check-for-single-quote-before-splitting-on-single-qu.patch * 0016-Unit-test-fixes-for-2015.8.7.patch * 0017-Fix-snapper_test-for-python26.patch * 0018-Integration-tests-fixes-for-2015.8.7.patch * 0019-Generate-Salt-Thin-with-configured-extra-modules.patch * 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch * 0023-Adding-dist-upgrade-support-to-zypper-module.patch * 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch * 0025-Including-resolver-params-for-Zypper-debug-solver.patch * 0026-fix-status-handling-in-sysv-init-scripts.patch * 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch * 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch * 0030-Extract-archive-into-existing-directory-add-overwrit.patch * 0031-Port-rsync-state-from-2016.3.patch * 0032-Support-remote-port-forwarding-with-salt-ssh.patch * 0033-Add-master_tops-support-in-salt-ssh.patch * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0037-salt-minion-service-back-to-type-simple.patch * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch * 0046-Snapper-module-improvements.patch * 0047-Fix-issue-with-cp.push-36136.patch * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch * 0049-OpenSCAP-module.patch * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch * 0053-fix-race-condition-on-cache-directory-creation.patch * 0054-Merge-output-from-master_tops.patch * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Bugfix: datetime should be returned always in UTC - Added: * 0063-Bugfix-datetime-should-be-returned-always-in-UTC.patch- Bugfix: scheduled state may cause crash while deserialising data on infinite recursion. (bsc#1036125) - Added: * 0062-Bugfix-deserialising-crashes-in-the-recursive-loop-b.patch- Enable yum to handle errata on RHEL 6: require yum-plugin-security- Minor fixes on new pkg.list_downloaded - Listing all type of advisory patches for Yum module - Prevents zero length error on Python 2.6 - Fixes zypper test error after backporting - Added: * 0061-Search-the-entire-CACHE_DIR-because-storage-paths-ch.patch - Modified: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch- Refactoring on Zypper and Yum execution and state modules to allow installation of patches/errata. - Added: * 0057-Adding-support-for-installing-patches-in-yum-dnf-exe.patch - Removed: * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix log rotation permission issue (bsc#1030009) - Use pkg/suse/salt-api.service by this package - Removed: * 0059-Set-salt-api-shell-env.patch - Added: * 0059-Add-SHELL-env-var-for-the-salt-api.service.patch * 0060-Fix-logrotate-for-minion-bsc-1030009-21.patch- Patch to set SHELL env variable for the salt-api.service. Needed for salt-ssh ProxyCommand to work properly. - Added: * 0059-Set-salt-api-shell-env.patch- Fixes 'timeout' and 'gather_job_timeout' kwargs parameters for 'local_batch' client - Added: * 0058-Adds-custom-timeout-and-gather_job_timeout-to-local_.patch- Add missing bootstrap script for Salt Cloud (bsc#1032452)- Fix: add missing /var/cache/salt/cloud directory (bsc#1032213)- Added test case for race conditions on cache directory creation - Modified: * 0053-fix-race-condition-on-cache-directory-creation.patch- Adding "pkg.install downloadonly=True" support to yum/dnf execution module - Makes sure "gather_job_timeout" is an Integer - Adding "pkg.downloaded" state and support for installing patches/erratas - Added: * 0055-Adding-downloadonly-support-to-yum-dnf-module.patch * 0056-Makes-sure-gather_job_timeout-is-an-integer.patch * 0057-Allows-using-downloadonly-in-a-pkg.installed-state.patch- Fix: merge master_tops output- Fix: race condition on cache directory creation - Added: * 0053-fix-race-condition-on-cache-directory-creation.patch- Cleanup salt user environment preparation (bsc#1027722)- Don't send passwords after shim delimiter is found (bsc#1019386) - Add: * 0052-Don-t-send-passwords-after-shim-delimiter-is-found-3.patch- Allows to set 'timeout' and 'gather_job_timeout' via kwargs - Allows to set custom timeouts for 'manage.up' and 'manage.status' - Add: * 0051-Allows-to-set-timeout-and-gather_job_timeout-via-kwa.patch- Update systemd module unit tests (Update patch 0050)- define with system for fedora and rhel 7 (bsc#1027240)- Fix service state returning stacktrace (bsc#1027044) - Add: * 0050-Fix-service-state-returning-stacktrace-bsc-1027044.patch- Update OpenSCAP Module patch- OpenSCAP Module - Added: * 0049-OpenSCAP-module.patch- Prevents 'OSError' exception in case certain job cache path doesn't exist (bsc#1023535) - Added: * 0048-Prevents-OSError-exception-in-case-path-doesn-t-exis.patch- Backport: Fix issue with cp.push (#36136) - Add: * 0047-Fix-issue-with-cp.push-36136.patch- Fix salt-minion update on RHEL (bsc#1022841)- Adding new functions to Snapper execution module. - Added: * snapper-module-improvements.patch- Fix invalid chars allowed for data IDs (bsc#1011304) Fix timezone: should be always in UTC (bsc#1017078) Add: * 0044-Add-general-sanitisers.patch * 0045-Fix-timezone-handling-for-rpm-installtime-bsc-101707.patch- Fixes wrong "enabled" opts for yumnotify plugin Add: * 0043-Fixes-wrong-enabled-opts-for-yumnotify-plugin.patch- ssh-option parameter for salt-ssh command. Added: * 0042-Salt-ssh-ssh-option-param.patch- minion should pre-require salt - do not restart salt-minion in the salt package - add try-restart to sys-v init scripts Add: * 0041-add-try-restart-to-fix-autorestarting-on-SUSE-system.patch- Adding "Restart=on-failure" for salt-minion systemd service Add: * 0040-Adding-Restart-on-failure-for-salt-minion-systemd-se.patch- Re-introducing "KillMode=process" for salt-minion systemd service Add: * 0039-Re-introducing-KillMode-process-for-salt-minion-syst.patch- Successfully exit of salt-api child processes when SIGTERM is received Add: * 0038-Successfully-exit-of-salt-api-child-processes-when-S.patch- Add new patches: * 0034-Fix-pkg.latest_version-when-latest-already-installed.patch * 0035-salt-api-service-must-be-from-type-simple.patch * 0036-Avoid-failures-on-SLES-12-SP2-because-of-new-systemd.patch * 0037-salt-minion-service-back-to-type-simple.patch- Update to 2015.8.12 - Fix possible information leak due to revoked keys still being used. (bsc#1012398, CVE-2016-9639) - inherited patches 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch 0002-Run-salt-master-as-dedicated-salt-user.patch 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - renamed patches 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch - > 0004-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch 0036-Use-SHA256-hash-type-by-default.patch - > 0005-Use-SHA256-hash-type-by-default.patch 0046-Add-SUSE-Manager-plugin.patch - > 0007-Add-SUSE-Manager-plugin.patch 0048-Create-salt-proxy-instantiated-service-file.patch - > 0006-Create-salt-proxy-instantiated-service-file.patch 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch - > 0008-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch 0059-Rewrite-minion-ID-generator-bsc-967803.patch - > 0009-Rewrite-minion-ID-generator-bsc-967803.patch 0061-snapper-execution-module.patch - > 0010-snapper-execution-module.patch 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch - > 0011-Fix-module-import-being-Py3-and-P2.6-compatible.patch 0064-Run-salt-api-as-user-salt-bsc-990029.patch - > 0012-Run-salt-api-as-user-salt-bsc-990029.patch 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch - > 0013-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch 0070-Fix-some-unittests.patch - > 0014-Fix-some-unittests.patch 0071-Check-for-single-quote-before-splitting-on-single-qu.patch - > 0015-Check-for-single-quote-before-splitting-on-single-qu.patch 0072-Unit-test-fixes-for-2015.8.7.patch - > 0016-Unit-test-fixes-for-2015.8.7.patch 0073-Fix-snapper_test-for-python26.patch - > 0017-Fix-snapper_test-for-python26.patch 0074-Integration-tests-fixes-for-2015.8.7.patch - > 0018-Integration-tests-fixes-for-2015.8.7.patch 0075-Generate-Salt-Thin-with-configured-extra-modules.patch - > 0019-Generate-Salt-Thin-with-configured-extra-modules.patch 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch - > 0020-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch - > 0021-acl.delfacl-fix-position-of-X-option-to-setfacl.patch 0078-Change-travis-configuration-file-to-use-salt-toaster.patch - > 0022-Change-travis-configuration-file-to-use-salt-toaster.patch 0079-Adding-dist-upgrade-support-to-zypper-module.patch - > 0023-Adding-dist-upgrade-support-to-zypper-module.patch 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch - > 0024-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch 0081-Including-resolver-params-for-Zypper-debug-solver.patch - > 0025-Including-resolver-params-for-Zypper-debug-solver.patch 0082-fix-status-handling-in-sysv-init-scripts.patch - > 0026-fix-status-handling-in-sysv-init-scripts.patch - new patches from upstream 0027-Add-YUM-plugin.patch 0028-change-TIMEZONE-on-SUSE-systems-bsc-1008933.patch (bsc#1008933) 0029-Do-not-include-gpg-pubkey-packages-filtering-by-thei.patch 0030-Extract-archive-into-existing-directory-add-overwrit.patch 0031-Port-rsync-state-from-2016.3.patch 0032-Support-remote-port-forwarding-with-salt-ssh.patch 0033-Add-master_tops-support-in-salt-ssh.patch - upstreamed patches 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch 0005-Fix-package-status-filtering-on-latest-version-and-i.patch 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch 0009-The-functions-in-the-state-module-that-return-a-retc.patch 0010-add-handling-for-OEM-products.patch 0011-improve-doc-for-list_pkgs.patch 0012-implement-version_cmp-for-zypper.patch 0013-pylint-changes.patch 0014-Check-if-rpm-python-can-be-imported.patch 0015-call-zypper-with-option-non-interactive-everywhere.patch 0016-write-a-zypper-command-builder-function.patch 0017-Fix-crash-with-scheduler-and-runners-31106.patch 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch 0022-fix-argument-handling-for-pkg.download.patch 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch 0025-adapt-tests-to-new-zypper_check_result-output.patch 0027-make-suse-check-consistent-with-rh_service.patch 0028-fix-numerical-check-of-osrelease.patch 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch 0034-Fix-git_pillar-race-condition.patch 0035-Fix-the-always-false-behavior-on-checking-state.patch 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch 0039-Prevent-metadata-download-when-getting-installed-pro.patch 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch 0044-Unblock-Zypper.-Modify-environment.patch 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch 0049-Prevent-several-minion-processes-on-the-same-machine.patch 0050-checksum-validation-when-zypper-pkg.download.patch 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch 0054-fix-groupadd-module-for-sles11-systems.patch 0055-Backport-31164-and-31364-32474.patch 0056-Move-log-message-from-INFO-to-DEBUG.patch 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch 0065-fix-beacon-list-to-include-all-beacons-being-process.patch 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Splitted non-Linux and other external platform modules to 'salt-other' sub-package.- Switch package group from System/Monitoring to System/Management- fix exist codes of sysv init script (bsc#999852) Add: * 0082-fix-status-handling-in-sysv-init-scripts.patch- Including resolution parameters in the Zypper debug-solver call during a dry-run dist-upgrade. Add: * 0081-Including-resolver-params-for-Zypper-debug-solver.patch- Fix Salt API crash via salt-ssh on empty roster (bsc#1004723) Add: * 0080-Fix-open-ssh-bsc-1004723-upstream-issue-36966.patch- Adding 'dist-upgrade' support to zypper module (FATE#320559) Add: * 0079-Adding-dist-upgrade-support-to-zypper-module.patch- Copy .travis.yml from git commit ea63e793567ba777e47dc766a4f88edfb037a02f Add: * travis.yml - Change travis configuration file to use salt-toaster Add: * travis.yml * 0078-Change-travis-configuration-file-to-use-salt-toaster.patch- acl.delfacl: fix position of -X option to setfacl (bsc#1004260) Add: * 0077-acl.delfacl-fix-position-of-X-option-to-setfacl.patch- fix generated shebang in scripts on SLES-ES 7 (bsc#1004047)- add update-documentation.sh to specfile- Setting up OS grains for SLES-ES (SLES Expanded Support platform) Add: * 0076-Setting-up-OS-grains-for-SLES-Expanded-Support-SUSE-.patch- Move salt home directory to /var/lib/salt (bsc#1002529) - Adjust permissions on home directory - Adjust pre-install script to correctly move existing salt users' home directory salt user cannot write in his own home directory (/srv/salt) because it is owned by user `root`. This prevents salt from correctly save ssh known hosts in ~/.ssh/ and breaks salt-ssh bootstrapping.- Updated html.tar.bz2 documentation tarball. - Generate Salt Thin with configured extra modules (bsc#990439) Add: * 0075-Generate-Salt-Thin-with-configured-extra-modules.patch- Unit and integration tests fixes for 2015.8.7 Add: * 0072-Unit-test-fixes-for-2015.8.7.patch * 0073-Fix-snapper_test-for-python26.patch * 0074-Integration-tests-fixes-for-2015.8.7.patch- Prevent pkg.install failure for expired keys (bsc#996455) Add: * 0071-Check-for-single-quote-before-splitting-on-single-qu.patch- Required D-Bus and generating machine ID- add a macro to check if the docs should be build or the static tarball should be used- Fix a couple of failing unittests * 0070-Fix-some-unittests.patch- Helper script for updating documentation tarball. Added: * update-documentation.sh- Fix python-jinja2 requirements in rhel- Fix pkg.installed refresh repo failure (bsc#993549) Fix salt.states.pkgrepo.management no change failure (bsc#990440) Add: * 0068-Add-ignore_repo_failure-option-to-suppress-zypper-s-.patch * 0069-Remove-zypper-s-raise-exception-if-mod_repo-has-no-a.patch- Prevent snapper module crash on load if no DBus is available in the system (bsc#993039) Add: * 0067-Bugfix-prevent-crash-if-python-dbus-module-is-instal.patch- Prevent continuous restart, if a dependency wasn't installed (bsc#991048) Add: * 0066-Fix-continuous-minion-restart-if-a-dependency-wasn-t.patch- Fix beacon list to include all beacons being process Add: * 0065-fix-beacon-list-to-include-all-beacons-being-process.patch- Run salt-api as user salt like the master (bsc#990029) Add: * 0064-Run-salt-api-as-user-salt-bsc-990029.patch- Revert patch Minion ID generation (bsc#967803) Removes: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Fix broken inspector due to accidentally missed commit (bsc#989798) Add: * 0063-Fix-module-import-being-Py3-and-P2.6-compatible.patch- Set always build salt-doc package.- Bugfix: lvm.vg_present does not recognize PV with certain LVM filter settings (bsc#988506) Add: * 0062-Add-realpath-to-lvm.pvdisplay-and-use-it-in-vg_prese.patch- Backport: Snapper module for Salt. Add: * 0061-snapper-execution-module.patch- Bugfix: pkg.list_products on "registerrelease" and "productline" returns boolean.False if empty (bsc#989193, bsc#986019) Add: * 0060-Bugfix-return-boolean-only-for-isbase-and-installed-.patch- Rewrite Minion ID generation (bsc#967803) Add: * 0059-Rewrite-minion-ID-generator-bsc-967803.patch- Bugfix: Fixed behavior for SUSE OS grains (bsc#970669) Bugfix: Salt os_family does not detect SLES for SAP (bsc#983017) Add: * 0058-Getting-the-os-grain-from-CPE_NAME-inside-etc-os-rel.patch- Move log message from INFO to DEBUG (bsc#985661) Add: 0056-Move-log-message-from-INFO-to-DEBUG.patch - fix salt --summary to count not responding minions correctly (bsc#972311) Add: * 0057-fix-salt-summary-to-count-not-responding-minions-cor.patch- Fix memory leak on custom execution module sheduled jobs (bsc#983512) Add: * 0055-Backport-31164-and-31364-32474.patch- fix groupadd module for sles11 systems (bsc#978150) Add: * 0054-fix-groupadd-module-for-sles11-systems.patch- Fix pkgrepo.managed gpgkey argument doesn't work (bsc#979448) Add: * 0053-Fix-pkgrepo.managed-gpgkey-argument-bsc-979448.patch- Package checksum validation for zypper pkg.download Add: * 0050-checksum-validation-when-zypper-pkg.download.patch * 0051-unit-tests-for-rpm.checksum-and-zypper.download.patch - Check if a job has executed and returned successfully Add: * 0052-jobs.exit_success-allow-to-check-if-a-job-has-execut.patch- Remove option -f from startproc (bsc#975733) Add: * 0049-Prevent-several-minion-processes-on-the-same-machine.patch- Changed Zypper's plugin. Added Unit test and related to that data (bsc#980313). Update: * 0046-Add-SUSE-Manager-plugin.patch Delete (not needed anymore): * 0049-Alter-the-event-name.patch- Zypper plugin: alter the generated event name on package set change. Add: * 0049-Alter-the-event-name.patch- Fix file ownership on master keys and cache directories during upgrade (handles upgrading from salt 2014, where the daemon ran as root, to 2015 where it runs as the salt user, bsc#979676).- salt-proxy .service file created (bsc#975306) Add: * 0048-Create-salt-proxy-instantiated-service-file.patch- Prevent salt-proxy test.ping crash (bsc#975303) Add: * 0047-Old-style-proxymodules-need-to-be-setup-earlier-in-m.patch- Fix shared directories ownership issues.- Add Zypper plugin to generate an event, once Zypper is used outside the Salt infrastructure demand (bsc#971372). Add: * 0046-Add-SUSE-Manager-plugin.patch- Restore boolean values from the repo configuration Fix priority attribute (bsc#978833) Add: * 0045-Bugfix-Restore-boolean-values-from-the-repo-configur.patch- Unblock-Zypper. (bsc#976148) Modify-environment. (bsc#971372) Add: * 0044-Unblock-Zypper.-Modify-environment.patch- Prevent crash if pygit2 package is requesting re-compilation. Add: * 0043-Prevent-crash-if-pygit2-package-is-requesting-re-com.patch- align OS grains from older SLES with current one (bsc#975757) Add: * 0042-align-OS-grains-from-older-SLES-with-current-one-bsc.patch- Bugfix: salt-key crashes if tries to generate keys to the directory w/o write access (bsc#969320) Add: * 0041-Bugfix-salt-key-crashes-if-tries-to-generate-keys-to.patch- Check if EOL is available in a particular product (bsc#975093) Add: * 0040-Check-if-EOL-is-available-in-a-particular-product-bs.patch- fix building with docs on SLE11- Prevent metadata download when getting installed products Add: * 0039-Prevent-metadata-download-when-getting-installed-pro.patch- Add statically built docs.- fix sorting by latest package Add: * 0038-fix-sorting-by-latest-version-when-called-with-an-at.patch- ensure pkg.info_installed report latest package version (bsc#972490) Add: * 0037-Force-sort-the-RPM-output-to-ensure-latest-version-o.patch- Use SHA256 by default in master, minion and proxy (bsc#955373) Add: * 0036-Use-SHA256-hash-type-by-default.patch- Fix state structure compilation Add: * 0035-Fix-the-always-false-behavior-on-checking-state.patch - Fix git_pillar race condition Add: * 0034-Fix-git_pillar-race-condition.patch- fix detection of base products in SLE11 * 0030-Bugfix-on-SLE11-series-base-product-reported-as-addi.patch - fix rpm info for SLE11 * 0031-Only-use-LONGSIZE-in-rpm.info-if-available.-Otherwis.patch * 0032-Add-error-check-when-retcode-is-0-but-stderr-is-pres.patch - fix init system detection for SLE11 * 0033-fixing-init-system-dectection-on-sles-11-refs-31617.patch- Re-add corrected patch: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Make checksum configurable (upstream still wants md5, we suggest sha256). bsc#955373 Add: 0029-Make-use-of-checksum-configurable-defaults-to-MD5-SH.patch- Fix the service state / module on SLE11. Add: * 0027-make-suse-check-consistent-with-rh_service.patch * 0028-fix-numerical-check-of-osrelease.patch- Prevent rebuilds in OBS by not generating a date as a comment in a source file Add: 0026-do-not-generate-a-date-in-a-comment-to-prevent-rebui.patch- Add better checking for zypper exit codes and simplify evaluation of the zypper error messages. Add: 0024-proper-checking-if-zypper-exit-codes-and-handling-of.patch - Adapt unit tests Add: 0025-adapt-tests-to-new-zypper_check_result-output.patch- Add initial pack of Zypper's Unit tests. Use XML output in list_upgrades. Bugfix: upgrade_available crashes when only one package specified Purge is not using "-u" anymore Add: * 0023-Initial-Zypper-Unit-Tests-and-bugfixes.patch- fix argument handling of pkg.download Add: 0022-fix-argument-handling-for-pkg.download.patch- unify behavior of zypper refresh in salt Add: 0018-unify-behavior-of-refresh.patch 0019-add-refresh-option-to-more-functions.patch 0020-simplify-checking-the-refresh-paramater.patch 0021-do-not-change-kwargs-in-refresh-while-checking-a-val.patch- Fix crash with scheduler and runners Add: 0017-Fix-crash-with-scheduler-and-runners-31106.patch- Call zypper always with --non-interactive Add: * 0015-call-zypper-with-option-non-interactive-everywhere.patch * 0016-write-a-zypper-command-builder-function.patch- require rpm-python on SUSE for zypper support- fix state return code Add: 0009-The-functions-in-the-state-module-that-return-a-retc.patch - add handling of OEM products to pkg.list_products Add: 0010-add-handling-for-OEM-products.patch - improve doc for list_pkgs Add: 0011-improve-doc-for-list_pkgs.patch - implement pkg.version_cmp in zypper.py Add: * 0012-implement-version_cmp-for-zypper.patch * 0013-pylint-changes.patch * 0014-Check-if-rpm-python-can-be-imported.patch- Update to 2015.8.7 this is a small update to fix some regressions see https://docs.saltstack.com/en/latest/topics/releases/2015.8.7.html- Booleans should not be strings from XML, add Unix ticks time and format result in a list of maps. Add: * 0008-Fix-types-in-the-output-data-and-return-just-a-list-.patch- Stop salt-api daemon faster (bsc#963322) Add: * 0007-Force-kill-websocket-s-child-processes-faster-than-d.patch- Do not crash on salt-key reject/delete consecutive calls. Add: * 0006-add_key-reject_key-do-not-crash-w-Permission-denied-.patch- Update to 2015.8.5 Security fixes: * CVE-2016-1866: Improper handling of clear messages on the minion remote code execution (boo#965403) See https://docs.saltstack.com/en/latest/topics/releases/2015.8.5.html Dropped patches (all upstream): * 0003-List-products-consistently-across-all-SLES-systems.patch * 0004-Add-missing-return-data-to-scheduled-jobs.patch * 0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * 0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch Renamed patches: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch - > 0003-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch - > 0004-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch - > 0005-Fix-package-status-filtering-on-latest-version-and-i.patch - Update to 2015.8.4 See https://docs.saltstack.com/en/latest/topics/releases/2015.8.4.html- Fix latest version available comparison and implement epoch support in Zypper module. Add: * 0009-Fix-package-status-filtering-on-latest-version-and-i.patch- Update patch from opensuse to upstream version. Update: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Fix dependencies to Salt subpackages requiring release along the version.- Fix pkg.latest crash. - Fix pkg.latest SLS ID bug, when pkgs empty list is passed, but SLS ID still treated as a package name. Add: * 0008-Fix-pkg.latest-prevent-crash-on-multiple-package-ins.patch- Drop: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename: * -0004-zypper-check-package-header-content-for-valid-utf-8.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0005-Add-missing-return-data-to-scheduled-jobs.patch +0004-Add-missing-return-data-to-scheduled-jobs.patch * -0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch +0005-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch * -0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch +0006-Bugfix-info_available-does-not-work-correctly-on-SLE.patch - Add: * 0007-Check-if-byte-strings-are-properly-encoded-in-UTF-8.patch- Rename use-forking-daemon.patch to 0001-tserong-suse.com-We-don-t-have-python-systemd-so-not.patch - Rename use-salt-user-for-master.patch to 0002-Run-salt-master-as-dedicated-salt-user.patch - Rename 1efe484309a5c776974e723f3da0f5181f4bdb86.patch to 0003-List-products-consistently-across-all-SLES-systems.patch - Rename zypper-utf-8.patch to 0004-zypper-check-package-header-content-for-valid-utf-8.patch - Rename salt-2015.8-schedule-ret.patch to 0005-Add-missing-return-data-to-scheduled-jobs.patch - Rename salt-2015.8-pkg-zypper-attr-filtering.patch to 0006-Fix-RPM-issues-with-the-date-time-and-add-package-at.patch - Rename salt-2015.8-zypper-info.patch to 0007-Bugfix-info_available-does-not-work-correctly-on-SLE.patch- Fix zypper module info_available on SLE-11 * add salt-2015.8-zypper-info.patch * https://github.com/saltstack/salt/pull/30384 - zypper/pkg: add package attributes filtering * add salt-2015.8-pkg-zypper-attr-filtering.patch * https://github.com/saltstack/salt/pull/30267 - Remove obsoleted patches and fixes: * 0001-Add-rpm.minimal_info-fix-rpm.info.patch * 0002-Reduce-information-returned-from-pkg.info_installed.patch * Remove require on glibc-locale (bsc#959572)- Add missing return data to scheduled jobs * add salt-2015.8-schedule-ret.patch for * https://github.com/saltstack/salt/pull/30246- Update zypper-utf-8.patch for Python 2.6- require glibc-locale (bsc#959572)- Report epoch and architecture of installed packages 0001-Add-rpm.minimal_info-fix-rpm.info.patch - pkg.info_installed exceeds the maximum event size, reduce the information to what's actually needed 0002-Reduce-information-returned-from-pkg.info_installed.patch- Filter out bad UTF-8 strings in package data (bsc#958350) zypper-utf-8.patch- Updated to salt 2015.8.3 bugfix release - remove the following patches because upstream merged them: - 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch - os_grain.patch - zypper_pkgrepo.patch - more details at: https://docs.saltstack.com/en/latest/topics/releases/2015.8.3.html- added 1efe484309a5c776974e723f3da0f5181f4bdb86.patch: reimplements pkg.list_products that potentially may be broken in a future releases of SLES.- added 4b9302d79455d6a586b7cad1d7990cb22e7bc62e.patch: fixes a regression introduced in 2015.8.2, which was actually holding back the release. Downgrade is not an option as we need the leap fixes.- it shouldnt be >= 1110 but just > 1110- require pmtools on sle11 to get dmidecode- update use-salt-user-for-master.patch: First step to make the syndic also run as salt user.- Updated to bugfix release 2015.8.2 - os_grain.patch fix the "os" grain on SLES11SP4 - zypper_pkgrepo.patch fix the priority and humanname pkgrepo args for the zypper backend for more details: https://docs.saltstack.com/en/2015.8/topics/releases/2015.8.2.html- update to 2015.8.1 - Add support for ``spm.d/*.conf`` configuration of SPM (:issue:`27010`) - Fix ``proxy`` grains breakage for non-proxy minions (:issue:`27039`) - Fix global key management for git state - Fix passing http auth to ``util.http`` from ``state.file`` (:issue:`21917`) - Fix ``multiprocessing: True`` in windows (on by default`) - Add ``pkg.info`` to pkg modules - Fix name of ``serial`` grain (this was accidentally renamed in 2015.8.0`) - Merge config values from ``master.d``/``minion.d`` conf files (rather than flat update`) - Clean grains cache on grains sync (:issue:`19853`) - Remove streamed response for fileclient to avoid HTTP redirection problems (:issue:`27093`) - Fixed incorrect warning about ``osrelease`` grain (:issue:`27065`) - Fix authentication via Salt-API with tokens (:issue:`27270`) - Fix winrepo downloads from https locations (:issue:`27081`) - Fix potential error with salt-call as non-root user (:issue:`26889`) - Fix global minion provider overrides (:issue:`27209`) - Fix backward compatibility issues for pecl modules - Fix Windows uninstaller to only remove ``./bin``, ``salt*``, ``nssm.exe``, ``uninst.exe`` (:issue:`27383`) - Fix misc issues with mongo returner. - Add sudo option to cloud config files (:issue:`27398`) - Fix regression in RunnerClient argument handling (:issue:`25107`) - Fix ``dockerng.running`` replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Fix dockerng.running replacing creation hostconfig with runtime hostconfig (:issue:`27265`) - Increased performance on boto asg/elb states due to ``__states__`` integration - Windows minion no longer requires powershell to restart (:issue:`26629`) - Fix x509 module to support recent versions of OpenSSL (:issue:`27326`) - Some issues with proxy minions were corrected. - drop salt-2015.8-backports-susemanager.diff: included in update - guard raet buildrequires with bcond_with raet and comment out the recommends for salt-raet.- remove pygit2 global recommends, it is only needed in the master - remove git-core, pygit2 should pull it as a dependency - add a (currently disabled) %check- Add salt-2015.8-backports-susemanager.diff Returns detailed information about a package- ifdef Recommends to build on RHEL based distros - use _initddir instead of _sysconfdir/init.d as it works on both platforms.- allow to disable docs in preparation for building on other platforms without all dependencies.- python-libnacl, python-ioflo are _not_ required to build the package. They are anyways requires of python-raet, which is also not required to build the package.- merge (build)requires/recommends with requirements/*txt and setup.py- add raet subpackage which will pull all requires for it and provides config snippets to enable it for the minion and master.- add tmpfiles.d file- Remove requires on python-ioflo and python-libnacl they will be pulled by python-raet, which is optional.- python-raet is optional, so make it a Recommends- update backports patch from 2015.8 branch- update use-forking-daemon.patch: the original intention was to get rid of the python systemd dependency. for this we do not have daemonize the whole process. just switching to simple mode is enough.- drop fdupes: 1. it broke python byte code handling 2. the only part of the package which would really benefit from it would be the doc package. but given we only install the files via %doc, we can not use it for that either. - reenable completions on distros newer than sle11 - do not use _datarootdir, use _datadir instead.- package all directories in /var/cache/salt and /etc/salt and have permissions set for non root salt master - update use-salt-user-for-master.patch: - also patch the logrotate file to include the su option- remove duplicated recommends - never require pygit2 and git. the master can run fine without. always use recommends- cleanup dependencies: - remove a lot of unneeded buildrequires - fdupes not present on SLE10 - python-certifi needed on SLE11 - python-zypp not needed any more - python-pygit2 is not a global requirement - convert python-pysqlite to recommends as it is not available on python <=2.7 - sles_version -> suse_version - %exclude the cloud/deploy/*.sh scripts to fix build issue on SLE11- Remove python-PyYAML from the dependencies list, as python-yaml is the same - Build the -completion subpackages in SLE11 as well - Add salt-proxy (by dmacvicar@suse.de) - Create salt user/group only in the -master subpkg- Fix typo in use-forking-daemon.patch, that prevented daemon loading- Fix typo in Requires- Cleanup requirements- New Major release 2015.8.0 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.8.0.html - Cleaned the spec file with spec-cleaner - Added the use-salt-user-for-master.patch see README.SUSE - Updated the files ownership with salt user - removed m2crypto depency- Removed fish dependency for fish completions.- Added fish completions.- Support SLE11SP{3,4}, where the M2Crypto package is named python-m2crypto- Updated to Bugfix release 2015.5 for more details: https://github.com/saltstack/salt/blob/develop/doc/topics/releases/2015.5.5.rst - Add prereq, for user creation. - Add creation of salt user in preparation of running the salt-master daemon as non-root user salt. https://bugzilla.opensuse.org/show_bug.cgi?id=939831 - Add README.SUSE with explanation and how to.- only require git-core to not pull in git-web and gitk- New Bugfix release 2015.5.3 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.3.html- New Bugfix release 2015.5.2 for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.2.html- New Bugfix release 2015.5.1 salt.runners.cloud.action() has changed the fun keyword argument to func. Please update any calls to this function in the cloud runner. for more details: http://docs.saltstack.com/en/latest/topics/releases/2015.5.1.html- Removed python-pssh depency not needed anymore.- Major release 2015.5.0 Lithium - update to 2015.5.0 The 2015.5.0 feature release of Salt is focused on hardening Salt and mostly on improving existing systems. A few major additions are present, primarily the new Beacon system. Most enhancements have been focused around improving existing features and interfaces. As usual the release notes are not exhaustive and primarily include the most notable additions and improvements. Hundreds of bugs have been fixed and many modules have been substantially updated and added. See especially the warning right on the top regarding python_shell=False. For all details see http://docs.saltstack.com/en/latest/topics/releases/2015.5.0.html - RPM Package changes: - add some versions to the buildrequires to match the 2 requirements files from the tarball - Moved the depencencies to main salt package except where they are specific for the package - Changed python-request dependency,only needed on salt-cloud - Added python-tornado dependency for http.py - Fixed zsh_completion in tarball. - Fixed salt-api requirements to require python-cherrypy - Fixed salt-cloud requiments to require salt-master- New Bugfix release 2014.7.5 Changes: + Fixed a key error bug in salt-cloud + Updated man pages to better match documentation + Fixed bug concerning high CPU usage with salt-ssh + Fixed bugs with remounting cvfs and fuse filesystems + Fixed bug with alowing requisite tracking of entire sls files + Fixed bug with aptpkg.mod_repo returning OK even if apt-add-repository fails + Increased frequency of ssh terminal output checking + Fixed malformed locale string in localmod module + Fixed checking of available version of package when accept_keywords were changed + Fixed bug to make git.latest work with empty repositories + Added **kwargs to service.mod_watch which removes warnings about enable and __reqs__ not being supported by the function + Improved state comments to not grow so quickly on failed requisites + Added force argument to service to trigger force_reload + Fixed bug to andle pkgrepo keyids that have been converted to int + Fixed module.portage_config bug with appending accept_keywords + Fixed bug to correctly report disk usage on windows minion + Added the ability to specify key prefix for S3 ext_pillar + Fixed issues with batch mode operating on the incorrect number of minions + Fixed a bug with the proxmox cloud provider stacktracing on disk definition + Fixed a bug with the changes dictionary in the file state + Fixed the TCP keep alive settings to work better with SREQ caching + Fixed many bugs within the iptables state and module + Fixed bug with states by adding fun, state, and unless to the state runtime internal keywords listing + Added ability to eAuth against Active Directory + Fixed some salt-ssh issues when running on Fedora 21 + Fixed grains.get_or_set_hash to work with multiple entries under same key + Added better explanations and more examples of how the Reactor calls functions to docs + Fixed bug to not pass ex_config_drive to libcloud unless it's explicitly enabled + Fixed bug with pip.install on windows + Fixed bug where puppet.run always returns a 0 retcode + Fixed race condition bug with minion scheduling via pillar + Made efficiency improvements and bug fixes to the windows installer + Updated environment variables to fix bug with pygit2 when running salt as non-root user + Fixed cas behavior on data module -- data.cas was not saving changes + Fixed GPG rendering error + Fixed strace error in virt.query + Fixed stacktrace when running chef-solo command + Fixed possible bug wherein uncaught exceptions seem to make zmq3 tip over when threading is involved + Fixed argument passing to the reactor + Fixed glibc caching to prevent bug where salt-minion getaddrinfo in dns_check() never got updated nameservers Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix Release 2014.7.4 - Updated patch use-forking-daemon.patch - fix salt-zsh-completion conflicts + Multi-master minions mode no longer route fileclient operations asymetrically. This fixes the source of many multi-master bugs where the minion would become unrepsonsive from one or more masters. + Fix bug wherein network.iface could produce stack traces. + net.arp will no longer be made available unless arp is installed on the system. + Major performance improvements to Saltnado + Allow KVM module to operate under KVM itself or VMWare Fusion + Various fixes to the Windows installation scripts + Fix issue where the syndic would not correctly propogate loads to the master job cache. + Improve error handling on invalid /etc/network/interfaces file in salt networking modules + Fix bug where a reponse status was not checked for in fileclient.get_url + Enable eauth when running salt in batch mode + Increase timeout in Boto Route53 module + Fix bugs with Salt's 'tar' module option parsing + Fix parsing of NTP servers on Windows + Fix issue with blockdev tuning not reporting changes correctly + Update to the latest Salt bootstrap script + Update Linode salt-cloud driver to use either linode-python or apache-libcloud + Fix for s3.query function to return correct headers + Fix for s3.head returning None for files that exist + Fix the disable function in win_service module so that the service is disabled correctly + Fix race condition between master and minion when making a directory when both daemons are on the same host + Fix an issue where file.recurse would fail at the root of an svn repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an hgfs repo when the repo has a mountpoint + Fix an issue where file.recurse would fail at the root of an gitfs repo when the repo has a mountpoint + Add status.master capability for Windows. + Various fixes to ssh_known_hosts + Various fixes to states.network bonding for Debian + The debian_ip.get_interfaces module no longer removes nameservers. + Better integration between grains.virtual and systemd-detect-virt and virt-what + Fix traceback in sysctl.present state output + Fix for issue where mount.mounted would fail when superopts were not a part of mount.active (extended=True). Also mount.mounted various fixes for Solaris and FreeBSD. + Fix error where datetimes were not correctly safeguarded before being passed into msgpack. + Fix file.replace regressions. If the pattern is not found, and if dry run is False, and if `backup` is False, and if a pre-existing file exists with extension `.bak`, then that backup file will be overwritten. This backup behavior is a result of how `fileinput` works. Fixing it requires either passing through the file twice (the first time only to search for content and set a flag), or rewriting `file.replace` so it doesn't use `fileinput` + VCS filreserver fixes/optimizations + Catch fileserver configuration errors on master start + Raise errors on invalid gitfs configurations + set_locale when locale file does not exist (Redhat family) + Fix to correctly count active devices when created mdadm array with spares + Fix to correctly target minions in batch mode + Support ssh:// urls using the gitfs dulwhich backend + New fileserver runner + Fix various bugs with argument parsing to the publish module. + Fix disk.usage for Synology OS + Fix issue with tags occurring twice with docker.pulled + Fix incorrect key error in SMTP returner + Fix condition which would remount loopback filesystems on every state run + Remove requsites from listens after they are called in the state system + Make system implementation of service.running aware of legacy service calls + Fix issue where publish.publish would not handle duplicate responses gracefully. + Accept Kali Linux for aptpkg salt execution module + Fix bug where cmd.which could not handle a dirname as an argument + Fix issue in ps.pgrep where exceptions were thrown on Windows. - Known Issues: + In multimaster mode, a minion may become temporarily unresponsive if modules or pillars are refreshed at the same time that one or more masters are down. This can be worked around by setting 'auth_timeout' and 'auth_tries' down to shorter periods.- New Bugfix release 2014.7.2: - fix package bug with fdupes. - keep sle 11 sp3 support. + Fix erroneous warnings for systemd service enabled check (issue 19606) + Fix FreeBSD kernel module loading, listing, and persistence kmod (issue 197151, issue 19682) + Allow case-sensitive npm package names in the npm state. This may break behavior for people expecting the state to lowercase their npm package names for them. The npm module was never affected by mandatory lowercasing. (issue 20329) + Deprecate the activate parameter for pip.install for both the module and the state. If bin_env is given and points to a virtualenv, there is no need to activate that virtualenv in a shell for pip to install to the virtualenv. + Fix a file-locking bug in gitfs (issue 18839)- New Bugfix release 2014.7.1: + Fixed gitfs serving symlinks in file.recurse states (issue 17700) + Fixed holding of multiple packages (YUM) when combined with version pinning (issue 18468) + Fixed use of Jinja templates in masterless mode with non-roots fileserver backend (issue 17963) + Re-enabled pillar and compound matching for mine and publish calls. Note that pillar globbing is still disabled for those modes, for security reasons. (issue 17194) + Fix for tty: True in salt-ssh (issue 16847) - Needed to provide zsh completion because of the tarball missing the zsh completion script. - Removed man salt.1.gz file from salt-master because upstream removed it. - Added man salt.7.gz to salt-master package- Updated to Major Release 2014.7.0 - added python-zipp as depency - added recommend python-pygit2, this is the preferred gitfs backend of saltstack - added zsh-completion package - Removed Patch fix-service-py-version-parsing-sles.patch already fixed in this package - Removed Patch pass-all-systemd-list-units.patch already fixed in this package - Removed Patch disable-service-py-for-suse-family.patch already fixed in this package - Removed Patch allow-systemd-units-no-unit-files.patch already fixed in this package - Removed Patch allow-systemd-parameterized-services.patch already fixed in this package - More information at: http://docs.saltstack.com/en/latest/topics/releases/2014.7.0.html - SALT SSH ENHANCEMENTS: + Support for Fileserver Backends + Support for Saltfile + Ext Pillar + No more sshpass needed + Pure Python Shim + Custom Module Delivery + CP module Support + More Thin Directory Options - Salt State System enhancements: + New Imperative State Keyword "Listen" + New Mod Aggregate Runtime Manipulator + New Requisites: onchanges and onfail + New Global onlyif and unless + Use names to expand and override values - Salt Major Features: + Improved Scheduler Additions + Red Hat 7 Support + Fileserver Backends in Salt-call + Amazon Execution Modules in salt-cloud + LXC Runner Enhancements + Next Gen Docker Management + Peer System Performance Improvements + SDB Encryption at rest for configs + GPG Renderer encrypted pillar at rest + OpenStack Expansions + Queues System external queue systems into Salt events + Multi Master Failover Additions + Chef Execution Module - salt-api Project Merge + Synchronous and Asynchronous Execution of Runner and Wheel Modules + rest_cherrypy Additions + Web Hooks - Fileserver Backend Enhancements: + New gitfs Features + Pygit2 and Dulwich support + Mountpoints support + New hgfs Features + mountpoints support + New svnfs Features: + mountpoints + minionfs Featuressupport + mountpoints - New Salt Modules: + Oracle + Random + Redis + Amazon Simple Queue Service + Block Device Management + CoreOS etcd + Genesis + InfluxDB + Server Density + Twilio Notifications + Varnish + ZNC IRC Bouncer + SMTP - NEW RUNNERS: + Map/Reduce Style + Queue - NEW EXTERNAL PILLARS: + CoreOS etcd - NEW SALT-CLOUD PROVIDERS: + Aliyun ECS Cloud + LXC Containers + Proxmox (OpenVZ containers & KVM) - DEPRECATIONS: + Salt.modules.virtualenv_mod- Updated to 2014.1.13 a bugfix release on 2014.1.12 + fix module run exit code (issue 16420) + salt cloud Check the exit status code of scp before assuming it has failed. (issue 16599)obs-power9-13 1638544462  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFstuvwxyz{|}~      !"#$%&'()*+,-./012345679:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r t u v w x z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X X Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                             ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | ~        !"#$%&'()*+,-./0123456789:;<4.5.33002.2-lp152.3.48.13002.2-lp152.3.48.1    !!!!!!!!! ""##"$$%%%$$&&'''''''''''''''''''&&&&&&&&&&&&&&&&&&(())))))(((((**++++++*****,,--------------------------------,,,,,,,,,,,,,,,,,,,..////////////...........,,,,,,,,,00011111111111111111111111111111111111111000000000000000000000000000000000000,,,,,*2233322*44555555554444444667777777777777777777777777777666666666666666666666666666889998::;;;;;::::88<<=================<<<<<<<<<<<<<<<<>>??>@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BBCCCCCCCCBBBBBBB@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DDEEDFFGGGGFFFHHIIHFDJJKKKKJJJDLLMMMMMMMMMMMMMMMMMMMLLLLLLLLLLLLLLLLLLNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPQQPRRSSSSSSSSSSSSSSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRTTUUUTTVVWWWWWWWWWWWWWWWWWWWWWWVVVVVVVVVVVVVVVVVVVVVXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZZ[[[[[[[[[[ZZZZZZZZZ\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\^^_______________^^^^^^^^^^^^^^``aaaaaaaaa````````bbcbddeedbffggfhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjkjllllllljmmjnjoooooojpppjqqqqqqqqrrsssssssssssrrrrrrrrrrttuuuttvvwwwwwwwvvvvvvxxyyyyyyyyxxxxxzz{{zxxx||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||||||||||||||||||||||||~~~~~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||saltsalt-3002.2-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-saferequires.txttop_level.txt__init__.py__pycache____init__.cpython-36.pyc_compat.cpython-36.pyc_syspaths.cpython-36.pyc_version.cpython-36.pyccrypt.cpython-36.pycexceptions.cpython-36.pycfeatures.cpython-36.pycfileclient.cpython-36.pyckey.cpython-36.pycloader.cpython-36.pycmaster.cpython-36.pycminion.cpython-36.pycpayload.cpython-36.pycrunner.cpython-36.pycscripts.cpython-36.pycstate.cpython-36.pycsyspaths.cpython-36.pyctemplate.cpython-36.pycversion.cpython-36.pyc_compat.py_logging__init__.py__pycache____init__.cpython-36.pychandlers.cpython-36.pycimpl.cpython-36.pycmixins.cpython-36.pychandlers.pyimpl.pymixins.py_syspaths.py_version.pyacl__init__.py__pycache____init__.cpython-36.pycauth__init__.py__pycache____init__.cpython-36.pycauto.cpython-36.pycdjango.cpython-36.pycfile.cpython-36.pyckeystone.cpython-36.pycldap.cpython-36.pycmysql.cpython-36.pycpam.cpython-36.pycpki.cpython-36.pycrest.cpython-36.pycsharedsecret.cpython-36.pycyubico.cpython-36.pycauto.pydjango.pyfile.pykeystone.pyldap.pymysql.pypam.pypki.pyrest.pysharedsecret.pyyubico.pybeacons__init__.py__pycache____init__.cpython-36.pycadb.cpython-36.pycaix_account.cpython-36.pycavahi_announce.cpython-36.pycbonjour_announce.cpython-36.pycbtmp.cpython-36.pyccert_info.cpython-36.pycdiskusage.cpython-36.pycglxinfo.cpython-36.pychaproxy.cpython-36.pycinotify.cpython-36.pycjournald.cpython-36.pycload.cpython-36.pyclog_beacon.cpython-36.pycmemusage.cpython-36.pycnapalm_beacon.cpython-36.pycnetwork_info.cpython-36.pycnetwork_settings.cpython-36.pycpkg.cpython-36.pycproxy_example.cpython-36.pycps.cpython-36.pycsalt_proxy.cpython-36.pycsensehat.cpython-36.pycservice.cpython-36.pycsh.cpython-36.pycsmartos_imgadm.cpython-36.pycsmartos_vmadm.cpython-36.pycstatus.cpython-36.pyctelegram_bot_msg.cpython-36.pyctwilio_txt_msg.cpython-36.pycwatchdog.cpython-36.pycwtmp.cpython-36.pycadb.pyaix_account.pyavahi_announce.pybonjour_announce.pybtmp.pycert_info.pydiskusage.pyglxinfo.pyhaproxy.pyinotify.pyjournald.pyload.pylog_beacon.pymemusage.pynapalm_beacon.pynetwork_info.pynetwork_settings.pypkg.pyproxy_example.pyps.pysalt_proxy.pysensehat.pyservice.pysh.pysmartos_imgadm.pysmartos_vmadm.pystatus.pytelegram_bot_msg.pytwilio_txt_msg.pywatchdog.pywtmp.pycache__init__.py__pycache____init__.cpython-36.pycconsul.cpython-36.pycetcd_cache.cpython-36.pyclocalfs.cpython-36.pycmysql_cache.cpython-36.pycredis_cache.cpython-36.pycconsul.pyetcd_cache.pylocalfs.pymysql_cache.pyredis_cache.pycli__init__.py__pycache____init__.cpython-36.pycapi.cpython-36.pycbatch.cpython-36.pycbatch_async.cpython-36.pyccall.cpython-36.pyccaller.cpython-36.pyccp.cpython-36.pycdaemons.cpython-36.pyckey.cpython-36.pycrun.cpython-36.pycsalt.cpython-36.pycspm.cpython-36.pycssh.cpython-36.pycapi.pybatch.pybatch_async.pycall.pycaller.pycp.pydaemons.pykey.pyrun.pysalt.pyspm.pyssh.pysupport__init__.py__pycache____init__.cpython-36.pyccollector.cpython-36.pycconsole.cpython-36.pycintfunc.cpython-36.pyclocalrunner.cpython-36.pyccollector.pyconsole.pyintfunc.pylocalrunner.pyprofiles__init__.py__pycache____init__.cpython-36.pycdefault.ymljobs-active.ymljobs-last.ymljobs-trace.ymlnetwork.ymlpostgres.ymlsalt.ymlusers.ymlclient__init__.py__pycache____init__.cpython-36.pycapi.cpython-36.pycmixins.cpython-36.pycnetapi.cpython-36.pycapi.pymixins.pynetapi.pyssh__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycshell.cpython-36.pycssh_py_shim.cpython-36.pycstate.cpython-36.pycclient.pyshell.pyssh_py_shim.pystate.pywrapper__init__.py__pycache____init__.cpython-36.pycconfig.cpython-36.pyccp.cpython-36.pycgrains.cpython-36.pycmine.cpython-36.pycpillar.cpython-36.pycpublish.cpython-36.pycsaltcheck.cpython-36.pycstate.cpython-36.pycconfig.pycp.pygrains.pymine.pypillar.pypublish.pysaltcheck.pystate.pycloud__init__.py__pycache____init__.cpython-36.pyccli.cpython-36.pycexceptions.cpython-36.pyclibcloudfuncs.cpython-36.pyccli.pyclouds__init__.py__pycache____init__.cpython-36.pycaliyun.cpython-36.pycazurearm.cpython-36.pycclc.cpython-36.pyccloudstack.cpython-36.pycdigitalocean.cpython-36.pycdimensiondata.cpython-36.pycec2.cpython-36.pycgce.cpython-36.pycgogrid.cpython-36.pycjoyent.cpython-36.pyclibvirt.cpython-36.pyclinode.cpython-36.pyclxc.cpython-36.pycmsazure.cpython-36.pyconeandone.cpython-36.pycopennebula.cpython-36.pycopenstack.cpython-36.pycpacket.cpython-36.pycparallels.cpython-36.pycprofitbricks.cpython-36.pycproxmox.cpython-36.pycpyrax.cpython-36.pycqingcloud.cpython-36.pycsaltify.cpython-36.pycscaleway.cpython-36.pycsoftlayer.cpython-36.pycsoftlayer_hw.cpython-36.pyctencentcloud.cpython-36.pycvagrant.cpython-36.pycvirtualbox.cpython-36.pycvmware.cpython-36.pycvultrpy.cpython-36.pycxen.cpython-36.pycaliyun.pyazurearm.pyclc.pycloudstack.pydigitalocean.pydimensiondata.pyec2.pygce.pygogrid.pyjoyent.pylibvirt.pylinode.pylxc.pymsazure.pyoneandone.pyopennebula.pyopenstack.pypacket.pyparallels.pyprofitbricks.pyproxmox.pypyrax.pyqingcloud.pysaltify.pyscaleway.pysoftlayer.pysoftlayer_hw.pytencentcloud.pyvagrant.pyvirtualbox.pyvmware.pyvultrpy.pyxen.pydeployexceptions.pylibcloudfuncs.pyconfig__init__.py__pycache____init__.cpython-36.pycschemas__init__.py__pycache____init__.cpython-36.pyccommon.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycminion.cpython-36.pycssh.cpython-36.pycvcenter.cpython-36.pyccommon.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyminion.pyssh.pyvcenter.pycrypt.pydaemons__init__.py__pycache____init__.cpython-36.pycmasterapi.cpython-36.pycmasterapi.pydefaults__init__.py__pycache____init__.cpython-36.pycevents.cpython-36.pycexitcodes.cpython-36.pycevents.pyexitcodes.pyengines__init__.py__pycache____init__.cpython-36.pycdocker_events.cpython-36.pycfluent.cpython-36.pychttp_logstash.cpython-36.pycircbot.cpython-36.pycjunos_syslog.cpython-36.pyclibvirt_events.cpython-36.pyclogentries.cpython-36.pyclogstash_engine.cpython-36.pycnapalm_syslog.cpython-36.pycreactor.cpython-36.pycredis_sentinel.cpython-36.pycscript.cpython-36.pycslack.cpython-36.pycsqs_events.cpython-36.pycstalekey.cpython-36.pyctest.cpython-36.pycthorium.cpython-36.pycwebhook.cpython-36.pycdocker_events.pyfluent.pyhttp_logstash.pyircbot.pyjunos_syslog.pylibvirt_events.pylogentries.pylogstash_engine.pynapalm_syslog.pyreactor.pyredis_sentinel.pyscript.pyslack.pysqs_events.pystalekey.pytest.pythorium.pywebhook.pyexceptions.pyexecutors__init__.py__pycache____init__.cpython-36.pycdirect_call.cpython-36.pycdocker.cpython-36.pycsplay.cpython-36.pycsudo.cpython-36.pyctransactional_update.cpython-36.pycdirect_call.pydocker.pysplay.pysudo.pytransactional_update.pyext__init__.py__pycache____init__.cpython-36.pycbackports_abc.cpython-36.pycipaddress.cpython-36.pycsix.cpython-36.pycssl_match_hostname.cpython-36.pycwin_inet_pton.cpython-36.pycbackports_abc.pyipaddress.pysix.pyssl_match_hostname.pytornado__init__.py__pycache____init__.cpython-36.pyc_locale_data.cpython-36.pycauth.cpython-36.pycautoreload.cpython-36.pycconcurrent.cpython-36.pyccurl_httpclient.cpython-36.pycescape.cpython-36.pycgen.cpython-36.pychttp1connection.cpython-36.pychttpclient.cpython-36.pychttpserver.cpython-36.pychttputil.cpython-36.pycioloop.cpython-36.pyciostream.cpython-36.pyclocale.cpython-36.pyclocks.cpython-36.pyclog.cpython-36.pycnetutil.cpython-36.pycoptions.cpython-36.pycprocess.cpython-36.pycqueues.cpython-36.pycrouting.cpython-36.pycsimple_httpclient.cpython-36.pycstack_context.cpython-36.pyctcpclient.cpython-36.pyctcpserver.cpython-36.pyctemplate.cpython-36.pyctesting.cpython-36.pycutil.cpython-36.pycweb.cpython-36.pycwebsocket.cpython-36.pycwsgi.cpython-36.pyc_locale_data.pyauth.pyautoreload.pyconcurrent.pycurl_httpclient.pyescape.pygen.pyhttp1connection.pyhttpclient.pyhttpserver.pyhttputil.pyioloop.pyiostream.pylocale.pylocks.pylog.pynetutil.pyoptions.pyplatform__init__.py__pycache____init__.cpython-36.pycasyncio.cpython-36.pycauto.cpython-36.pyccaresresolver.cpython-36.pyccommon.cpython-36.pycepoll.cpython-36.pycinterface.cpython-36.pyckqueue.cpython-36.pycposix.cpython-36.pycselect.cpython-36.pyctwisted.cpython-36.pycwindows.cpython-36.pycasyncio.pyauto.pycaresresolver.pycommon.pyepoll.pyinterface.pykqueue.pyposix.pyselect.pytwisted.pywindows.pyprocess.pyqueues.pyrouting.pysimple_httpclient.pystack_context.pytcpclient.pytcpserver.pytemplate.pytest__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pycasyncio_test.cpython-36.pycauth_test.cpython-36.pycconcurrent_test.cpython-36.pyccurl_httpclient_test.cpython-36.pycescape_test.cpython-36.pycgen_test.cpython-36.pychttp1connection_test.cpython-36.pychttpclient_test.cpython-36.pychttpserver_test.cpython-36.pychttputil_test.cpython-36.pycimport_test.cpython-36.pycioloop_test.cpython-36.pyciostream_test.cpython-36.pyclocale_test.cpython-36.pyclocks_test.cpython-36.pyclog_test.cpython-36.pycnetutil_test.cpython-36.pycoptions_test.cpython-36.pycprocess_test.cpython-36.pycqueues_test.cpython-36.pycresolve_test_helper.cpython-36.pycrouting_test.cpython-36.pycruntests.cpython-36.pycsimple_httpclient_test.cpython-36.pycstack_context_test.cpython-36.pyctcpclient_test.cpython-36.pyctcpserver_test.cpython-36.pyctemplate_test.cpython-36.pyctesting_test.cpython-36.pyctwisted_test.cpython-36.pycutil.cpython-36.pycutil_test.cpython-36.pycweb_test.cpython-36.pycwebsocket_test.cpython-36.pycwindows_test.cpython-36.pycwsgi_test.cpython-36.pycasyncio_test.pyauth_test.pyconcurrent_test.pycurl_httpclient_test.pyescape_test.pygen_test.pyhttp1connection_test.pyhttpclient_test.pyhttpserver_test.pyhttputil_test.pyimport_test.pyioloop_test.pyiostream_test.pylocale_test.pylocks_test.pylog_test.pynetutil_test.pyoptions_test.pyprocess_test.pyqueues_test.pyresolve_test_helper.pyrouting_test.pyruntests.pysimple_httpclient_test.pystack_context_test.pytcpclient_test.pytcpserver_test.pytemplate_test.pytesting_test.pytwisted_test.pyutil.pyutil_test.pyweb_test.pywebsocket_test.pywindows_test.pywsgi_test.pytesting.pyutil.pyweb.pywebsocket.pywsgi.pyvsan__init__.py__pycache____init__.cpython-36.pycvsanapiutils.cpython-36.pycvsanmgmtObjects.cpython-36.pycvsanapiutils.pyvsanmgmtObjects.pywin_inet_pton.pyfeatures.pyfileclient.pyfileserver__init__.py__pycache____init__.cpython-36.pycazurefs.cpython-36.pycgitfs.cpython-36.pychgfs.cpython-36.pycminionfs.cpython-36.pycroots.cpython-36.pycs3fs.cpython-36.pycsvnfs.cpython-36.pycazurefs.pygitfs.pyhgfs.pyminionfs.pyroots.pys3fs.pysvnfs.pygrains__init__.py__pycache____init__.cpython-36.pycchronos.cpython-36.pyccimc.cpython-36.pyccore.cpython-36.pycdisks.cpython-36.pycesxi.cpython-36.pycextra.cpython-36.pycfibre_channel.cpython-36.pycfx2.cpython-36.pyciscsi.cpython-36.pycjunos.cpython-36.pyclvm.cpython-36.pycmarathon.cpython-36.pycmdadm.cpython-36.pycmdata.cpython-36.pycmetadata.cpython-36.pycminion_process.cpython-36.pycnapalm.cpython-36.pycnvme.cpython-36.pycnxos.cpython-36.pycopts.cpython-36.pycpanos.cpython-36.pycpending_reboot.cpython-36.pycphilips_hue.cpython-36.pycrest_sample.cpython-36.pycsmartos.cpython-36.pycssh_sample.cpython-36.pyczfs.cpython-36.pycchronos.pycimc.pycore.pydisks.pyesxi.pyextra.pyfibre_channel.pyfx2.pyiscsi.pyjunos.pylvm.pymarathon.pymdadm.pymdata.pymetadata.pyminion_process.pynapalm.pynvme.pynxos.pyopts.pypanos.pypending_reboot.pyphilips_hue.pyrest_sample.pysmartos.pyssh_sample.pyzfs.pykey.pyloader.pylog__init__.py__pycache____init__.cpython-36.pycmixins.cpython-36.pycsetup.cpython-36.pychandlers__init__.py__pycache____init__.cpython-36.pycfluent_mod.cpython-36.pyclog4mongo_mod.cpython-36.pyclogstash_mod.cpython-36.pycsentry_mod.cpython-36.pycfluent_mod.pylog4mongo_mod.pylogstash_mod.pysentry_mod.pymixins.pysetup.pymaster.pymatchers__init__.py__pycache____init__.cpython-36.pyccache_match.cpython-36.pyccompound_match.cpython-36.pyccompound_pillar_exact_match.cpython-36.pycconfirm_top.cpython-36.pycdata_match.cpython-36.pycglob_match.cpython-36.pycgrain_match.cpython-36.pycgrain_pcre_match.cpython-36.pycipcidr_match.cpython-36.pyclist_match.cpython-36.pycnodegroup_match.cpython-36.pycpcre_match.cpython-36.pycpillar_exact_match.cpython-36.pycpillar_match.cpython-36.pycpillar_pcre_match.cpython-36.pycrange_match.cpython-36.pyccache_match.pycompound_match.pycompound_pillar_exact_match.pyconfirm_top.pydata_match.pyglob_match.pygrain_match.pygrain_pcre_match.pyipcidr_match.pylist_match.pynodegroup_match.pypcre_match.pypillar_exact_match.pypillar_match.pypillar_pcre_match.pyrange_match.pymetaproxy__init__.py__pycache____init__.cpython-36.pycproxy.cpython-36.pycproxy.pyminion.pymodules__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycaix_group.cpython-36.pycaix_shadow.cpython-36.pycaixpkg.cpython-36.pycaliases.cpython-36.pycalternatives.cpython-36.pycansiblegate.cpython-36.pycapache.cpython-36.pycapcups.cpython-36.pycapf.cpython-36.pycapkpkg.cpython-36.pycaptly.cpython-36.pycaptpkg.cpython-36.pycarchive.cpython-36.pycarista_pyeapi.cpython-36.pycartifactory.cpython-36.pycat.cpython-36.pycat_solaris.cpython-36.pycaugeas_cfg.cpython-36.pycaws_sqs.cpython-36.pycazurearm_compute.cpython-36.pycazurearm_dns.cpython-36.pycazurearm_network.cpython-36.pycazurearm_resource.cpython-36.pycbamboohr.cpython-36.pycbaredoc.cpython-36.pycbcache.cpython-36.pycbeacons.cpython-36.pycbigip.cpython-36.pycbluez_bluetooth.cpython-36.pycboto3_elasticache.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3_route53.cpython-36.pycboto3_sns.cpython-36.pycboto_apigateway.cpython-36.pycboto_asg.cpython-36.pycboto_cfn.cpython-36.pycboto_cloudfront.cpython-36.pycboto_cloudtrail.cpython-36.pycboto_cloudwatch.cpython-36.pycboto_cloudwatch_event.cpython-36.pycboto_cognitoidentity.cpython-36.pycboto_datapipeline.cpython-36.pycboto_dynamodb.cpython-36.pycboto_ec2.cpython-36.pycboto_efs.cpython-36.pycboto_elasticache.cpython-36.pycboto_elasticsearch_domain.cpython-36.pycboto_elb.cpython-36.pycboto_elbv2.cpython-36.pycboto_iam.cpython-36.pycboto_iot.cpython-36.pycboto_kinesis.cpython-36.pycboto_kms.cpython-36.pycboto_lambda.cpython-36.pycboto_rds.cpython-36.pycboto_route53.cpython-36.pycboto_s3.cpython-36.pycboto_s3_bucket.cpython-36.pycboto_secgroup.cpython-36.pycboto_sns.cpython-36.pycboto_sqs.cpython-36.pycboto_ssm.cpython-36.pycboto_vpc.cpython-36.pycbower.cpython-36.pycbridge.cpython-36.pycbsd_shadow.cpython-36.pycbtrfs.cpython-36.pyccabal.cpython-36.pyccapirca_acl.cpython-36.pyccassandra_cql.cpython-36.pyccassandra_mod.cpython-36.pyccelery.cpython-36.pycceph.cpython-36.pycchassis.cpython-36.pycchef.cpython-36.pycchocolatey.cpython-36.pycchronos.cpython-36.pycchroot.cpython-36.pyccimc.cpython-36.pycciscoconfparse_mod.cpython-36.pyccisconso.cpython-36.pyccloud.cpython-36.pyccmdmod.cpython-36.pyccomposer.cpython-36.pycconfig.cpython-36.pycconsul.cpython-36.pyccontainer_resource.cpython-36.pyccp.cpython-36.pyccpan.cpython-36.pyccron.cpython-36.pyccryptdev.cpython-36.pyccsf.cpython-36.pyccyg.cpython-36.pycdaemontools.cpython-36.pycdata.cpython-36.pycdatadog_api.cpython-36.pycddns.cpython-36.pycdeb_apache.cpython-36.pycdeb_postgres.cpython-36.pycdebconfmod.cpython-36.pycdebian_ip.cpython-36.pycdebian_service.cpython-36.pycdebuild_pkgbuild.cpython-36.pycdefaults.cpython-36.pycdevinfo.cpython-36.pycdevmap.cpython-36.pycdig.cpython-36.pycdisk.cpython-36.pycdjangomod.cpython-36.pycdnsmasq.cpython-36.pycdnsutil.cpython-36.pycdockercompose.cpython-36.pycdockermod.cpython-36.pycdpkg_lowpkg.cpython-36.pycdrac.cpython-36.pycdracr.cpython-36.pycdrbd.cpython-36.pycdummyproxy_pkg.cpython-36.pycdummyproxy_service.cpython-36.pycebuildpkg.cpython-36.pyceix.cpython-36.pycelasticsearch.cpython-36.pycenviron.cpython-36.pyceselect.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycetcd_mod.cpython-36.pycethtool.cpython-36.pycevent.cpython-36.pycextfs.cpython-36.pycfile.cpython-36.pycfirewalld.cpython-36.pycfreebsd_sysctl.cpython-36.pycfreebsd_update.cpython-36.pycfreebsdjail.cpython-36.pycfreebsdkmod.cpython-36.pycfreebsdpkg.cpython-36.pycfreebsdports.cpython-36.pycfreebsdservice.cpython-36.pycfreezer.cpython-36.pycgcp_addon.cpython-36.pycgem.cpython-36.pycgenesis.cpython-36.pycgentoo_service.cpython-36.pycgentoolkitmod.cpython-36.pycgit.cpython-36.pycgithub.cpython-36.pycglance.cpython-36.pycglanceng.cpython-36.pycglassfish.cpython-36.pycglusterfs.cpython-36.pycgnomedesktop.cpython-36.pycgoogle_chat.cpython-36.pycgpg.cpython-36.pycgrafana4.cpython-36.pycgrains.cpython-36.pycgroupadd.cpython-36.pycgrub_legacy.cpython-36.pycguestfs.cpython-36.pychadoop.cpython-36.pychaproxyconn.cpython-36.pychashutil.cpython-36.pycheat.cpython-36.pychelm.cpython-36.pychg.cpython-36.pychighstate_doc.cpython-36.pychosts.cpython-36.pychttp.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycifttt.cpython-36.pycilo.cpython-36.pycincron.cpython-36.pycinfluxdb08mod.cpython-36.pycinfluxdbmod.cpython-36.pycinfoblox.cpython-36.pycini_manage.cpython-36.pycinspector.cpython-36.pycintrospect.cpython-36.pyciosconfig.cpython-36.pycipmi.cpython-36.pycipset.cpython-36.pyciptables.cpython-36.pyciwtools.cpython-36.pycjboss7.cpython-36.pycjboss7_cli.cpython-36.pycjenkinsmod.cpython-36.pycjinja.cpython-36.pycjira_mod.cpython-36.pycjunos.cpython-36.pyck8s.cpython-36.pyckapacitor.cpython-36.pyckerberos.cpython-36.pyckernelpkg_linux_apt.cpython-36.pyckernelpkg_linux_yum.cpython-36.pyckey.cpython-36.pyckeyboard.cpython-36.pyckeystone.cpython-36.pyckeystoneng.cpython-36.pyckeystore.cpython-36.pyckmod.cpython-36.pyckubeadm.cpython-36.pyckubernetesmod.cpython-36.pyclaunchctl_service.cpython-36.pyclayman.cpython-36.pycldap3.cpython-36.pycldapmod.cpython-36.pyclibcloud_compute.cpython-36.pyclibcloud_dns.cpython-36.pyclibcloud_loadbalancer.cpython-36.pyclibcloud_storage.cpython-36.pyclinux_acl.cpython-36.pyclinux_ip.cpython-36.pyclinux_lvm.cpython-36.pyclinux_service.cpython-36.pyclinux_shadow.cpython-36.pyclinux_sysctl.cpython-36.pyclocalemod.cpython-36.pyclocate.cpython-36.pyclogadm.cpython-36.pyclogmod.cpython-36.pyclogrotate.cpython-36.pyclvs.cpython-36.pyclxc.cpython-36.pyclxd.cpython-36.pycmac_assistive.cpython-36.pycmac_brew_pkg.cpython-36.pycmac_desktop.cpython-36.pycmac_group.cpython-36.pycmac_keychain.cpython-36.pycmac_pkgutil.cpython-36.pycmac_portspkg.cpython-36.pycmac_power.cpython-36.pycmac_service.cpython-36.pycmac_shadow.cpython-36.pycmac_softwareupdate.cpython-36.pycmac_sysctl.cpython-36.pycmac_system.cpython-36.pycmac_timezone.cpython-36.pycmac_user.cpython-36.pycmac_xattr.cpython-36.pycmacdefaults.cpython-36.pycmacpackage.cpython-36.pycmakeconf.cpython-36.pycmandrill.cpython-36.pycmarathon.cpython-36.pycmatch.cpython-36.pycmattermost.cpython-36.pycmdadm_raid.cpython-36.pycmdata.cpython-36.pycmemcached.cpython-36.pycmine.cpython-36.pycminion.cpython-36.pycmod_random.cpython-36.pycmodjk.cpython-36.pycmongodb.cpython-36.pycmonit.cpython-36.pycmoosefs.cpython-36.pycmount.cpython-36.pycmssql.cpython-36.pycmsteams.cpython-36.pycmunin.cpython-36.pycmysql.cpython-36.pycnacl.cpython-36.pycnagios.cpython-36.pycnagios_rpc.cpython-36.pycnamecheap_domains.cpython-36.pycnamecheap_domains_dns.cpython-36.pycnamecheap_domains_ns.cpython-36.pycnamecheap_ssl.cpython-36.pycnamecheap_users.cpython-36.pycnapalm_bgp.cpython-36.pycnapalm_formula.cpython-36.pycnapalm_mod.cpython-36.pycnapalm_netacl.cpython-36.pycnapalm_network.cpython-36.pycnapalm_ntp.cpython-36.pycnapalm_probes.cpython-36.pycnapalm_route.cpython-36.pycnapalm_snmp.cpython-36.pycnapalm_users.cpython-36.pycnapalm_yang_mod.cpython-36.pycnetaddress.cpython-36.pycnetbox.cpython-36.pycnetbsd_sysctl.cpython-36.pycnetbsdservice.cpython-36.pycnetmiko_mod.cpython-36.pycnetscaler.cpython-36.pycnetwork.cpython-36.pycneutron.cpython-36.pycneutronng.cpython-36.pycnexus.cpython-36.pycnfs3.cpython-36.pycnftables.cpython-36.pycnginx.cpython-36.pycnilrt_ip.cpython-36.pycnix.cpython-36.pycnova.cpython-36.pycnpm.cpython-36.pycnspawn.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycnxos_upgrade.cpython-36.pycomapi.cpython-36.pycopenbsd_sysctl.cpython-36.pycopenbsdpkg.cpython-36.pycopenbsdrcctl_service.cpython-36.pycopenbsdservice.cpython-36.pycopenscap.cpython-36.pycopenstack_config.cpython-36.pycopenstack_mng.cpython-36.pycopenvswitch.cpython-36.pycopkg.cpython-36.pycopsgenie.cpython-36.pycoracle.cpython-36.pycosquery.cpython-36.pycout.cpython-36.pycpacmanpkg.cpython-36.pycpagerduty.cpython-36.pycpagerduty_util.cpython-36.pycpam.cpython-36.pycpanos.cpython-36.pycparallels.cpython-36.pycparted_partition.cpython-36.pycpcs.cpython-36.pycpdbedit.cpython-36.pycpecl.cpython-36.pycpeeringdb.cpython-36.pycpf.cpython-36.pycphilips_hue.cpython-36.pycpillar.cpython-36.pycpip.cpython-36.pycpkg_resource.cpython-36.pycpkgin.cpython-36.pycpkgng.cpython-36.pycpkgutil.cpython-36.pycportage_config.cpython-36.pycpostfix.cpython-36.pycpostgres.cpython-36.pycpoudriere.cpython-36.pycpowerpath.cpython-36.pycproxy.cpython-36.pycps.cpython-36.pycpublish.cpython-36.pycpuppet.cpython-36.pycpurefa.cpython-36.pycpurefb.cpython-36.pycpushbullet.cpython-36.pycpushover_notify.cpython-36.pycpw_group.cpython-36.pycpw_user.cpython-36.pycpyenv.cpython-36.pycqemu_img.cpython-36.pycqemu_nbd.cpython-36.pycquota.cpython-36.pycrabbitmq.cpython-36.pycrallydev.cpython-36.pycrandom_org.cpython-36.pycrbac_solaris.cpython-36.pycrbenv.cpython-36.pycrdp.cpython-36.pycrebootmgr.cpython-36.pycredismod.cpython-36.pycreg.cpython-36.pycrest_pkg.cpython-36.pycrest_sample_utils.cpython-36.pycrest_service.cpython-36.pycrestartcheck.cpython-36.pycret.cpython-36.pycrh_ip.cpython-36.pycrh_service.cpython-36.pycriak.cpython-36.pycrpm_lowpkg.cpython-36.pycrpmbuild_pkgbuild.cpython-36.pycrsync.cpython-36.pycrunit.cpython-36.pycrvm.cpython-36.pycs3.cpython-36.pycs6.cpython-36.pycsalt_proxy.cpython-36.pycsalt_version.cpython-36.pycsaltcheck.cpython-36.pycsaltcloudmod.cpython-36.pycsaltsupport.cpython-36.pycsaltutil.cpython-36.pycschedule.cpython-36.pycscp_mod.cpython-36.pycscsi.cpython-36.pycsdb.cpython-36.pycseed.cpython-36.pycselinux.cpython-36.pycsensehat.cpython-36.pycsensors.cpython-36.pycserverdensity_device.cpython-36.pycservicenow.cpython-36.pycslack_notify.cpython-36.pycslackware_service.cpython-36.pycslsutil.cpython-36.pycsmartos_imgadm.cpython-36.pycsmartos_nictagadm.cpython-36.pycsmartos_virt.cpython-36.pycsmartos_vmadm.cpython-36.pycsmbios.cpython-36.pycsmf_service.cpython-36.pycsmtp.cpython-36.pycsnapper.cpython-36.pycsolaris_fmadm.cpython-36.pycsolaris_group.cpython-36.pycsolaris_shadow.cpython-36.pycsolaris_system.cpython-36.pycsolaris_user.cpython-36.pycsolarisipspkg.cpython-36.pycsolarispkg.cpython-36.pycsolr.cpython-36.pycsolrcloud.cpython-36.pycsplunk.cpython-36.pycsplunk_search.cpython-36.pycsqlite3.cpython-36.pycssh.cpython-36.pycssh_pkg.cpython-36.pycssh_service.cpython-36.pycstate.cpython-36.pycstatus.cpython-36.pycstatuspage.cpython-36.pycsupervisord.cpython-36.pycsuse_apache.cpython-36.pycsuse_ip.cpython-36.pycsvn.cpython-36.pycswarm.cpython-36.pycswift.cpython-36.pycsysbench.cpython-36.pycsysfs.cpython-36.pycsyslog_ng.cpython-36.pycsysmod.cpython-36.pycsysrc.cpython-36.pycsystem.cpython-36.pycsystem_profiler.cpython-36.pycsystemd_service.cpython-36.pyctelegram.cpython-36.pyctelemetry.cpython-36.pyctemp.cpython-36.pyctest.cpython-36.pyctest_virtual.cpython-36.pyctestinframod.cpython-36.pyctextfsm_mod.cpython-36.pyctimezone.cpython-36.pyctls.cpython-36.pyctomcat.cpython-36.pyctrafficserver.cpython-36.pyctransactional_update.cpython-36.pyctravisci.cpython-36.pyctuned.cpython-36.pyctwilio_notify.cpython-36.pycudev.cpython-36.pycupstart_service.cpython-36.pycuptime.cpython-36.pycuseradd.cpython-36.pycuwsgi.cpython-36.pycvagrant.cpython-36.pycvarnish.cpython-36.pycvault.cpython-36.pycvbox_guest.cpython-36.pycvboxmanage.cpython-36.pycvcenter.cpython-36.pycvictorops.cpython-36.pycvirt.cpython-36.pycvirtualenv_mod.cpython-36.pycvmctl.cpython-36.pycvsphere.cpython-36.pycwebutil.cpython-36.pycwin_auditpol.cpython-36.pycwin_autoruns.cpython-36.pycwin_certutil.cpython-36.pycwin_dacl.cpython-36.pycwin_disk.cpython-36.pycwin_dism.cpython-36.pycwin_dns_client.cpython-36.pycwin_dsc.cpython-36.pycwin_file.cpython-36.pycwin_firewall.cpython-36.pycwin_groupadd.cpython-36.pycwin_iis.cpython-36.pycwin_ip.cpython-36.pycwin_lgpo.cpython-36.pycwin_license.cpython-36.pycwin_network.cpython-36.pycwin_ntp.cpython-36.pycwin_path.cpython-36.pycwin_pkg.cpython-36.pycwin_pki.cpython-36.pycwin_powercfg.cpython-36.pycwin_psget.cpython-36.pycwin_servermanager.cpython-36.pycwin_service.cpython-36.pycwin_shadow.cpython-36.pycwin_smtp_server.cpython-36.pycwin_snmp.cpython-36.pycwin_status.cpython-36.pycwin_system.cpython-36.pycwin_task.cpython-36.pycwin_timezone.cpython-36.pycwin_useradd.cpython-36.pycwin_wua.cpython-36.pycwin_wusa.cpython-36.pycwinrepo.cpython-36.pycwordpress.cpython-36.pycx509.cpython-36.pycxapi_virt.cpython-36.pycxbpspkg.cpython-36.pycxfs.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pycyumpkg.cpython-36.pyczabbix.cpython-36.pyczcbuildout.cpython-36.pyczenoss.cpython-36.pyczfs.cpython-36.pyczk_concurrency.cpython-36.pycznc.cpython-36.pyczoneadm.cpython-36.pyczonecfg.cpython-36.pyczookeeper.cpython-36.pyczpool.cpython-36.pyczypperpkg.cpython-36.pycacme.pyaix_group.pyaix_shadow.pyaixpkg.pyaliases.pyalternatives.pyansiblegate.pyapache.pyapcups.pyapf.pyapkpkg.pyaptly.pyaptpkg.pyarchive.pyarista_pyeapi.pyartifactory.pyat.pyat_solaris.pyaugeas_cfg.pyaws_sqs.pyazurearm_compute.pyazurearm_dns.pyazurearm_network.pyazurearm_resource.pybamboohr.pybaredoc.pybcache.pybeacons.pybigip.pybluez_bluetooth.pyboto3_elasticache.pyboto3_elasticsearch.pyboto3_route53.pyboto3_sns.pyboto_apigateway.pyboto_asg.pyboto_cfn.pyboto_cloudfront.pyboto_cloudtrail.pyboto_cloudwatch.pyboto_cloudwatch_event.pyboto_cognitoidentity.pyboto_datapipeline.pyboto_dynamodb.pyboto_ec2.pyboto_efs.pyboto_elasticache.pyboto_elasticsearch_domain.pyboto_elb.pyboto_elbv2.pyboto_iam.pyboto_iot.pyboto_kinesis.pyboto_kms.pyboto_lambda.pyboto_rds.pyboto_route53.pyboto_s3.pyboto_s3_bucket.pyboto_secgroup.pyboto_sns.pyboto_sqs.pyboto_ssm.pyboto_vpc.pybower.pybridge.pybsd_shadow.pybtrfs.pycabal.pycapirca_acl.pycassandra_cql.pycassandra_mod.pycelery.pyceph.pychassis.pychef.pychocolatey.pychronos.pychroot.pycimc.pyciscoconfparse_mod.pycisconso.pycloud.pycmdmod.pycomposer.pyconfig.pyconsul.pycontainer_resource.pycp.pycpan.pycron.pycryptdev.pycsf.pycyg.pydaemontools.pydata.pydatadog_api.pyddns.pydeb_apache.pydeb_postgres.pydebconfmod.pydebian_ip.pydebian_service.pydebuild_pkgbuild.pydefaults.pydevinfo.pydevmap.pydig.pydisk.pydjangomod.pydnsmasq.pydnsutil.pydockercompose.pydockermod.pydpkg_lowpkg.pydrac.pydracr.pydrbd.pydummyproxy_pkg.pydummyproxy_service.pyebuildpkg.pyeix.pyelasticsearch.pyenviron.pyeselect.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyetcd_mod.pyethtool.pyevent.pyextfs.pyfile.pyfirewalld.pyfreebsd_sysctl.pyfreebsd_update.pyfreebsdjail.pyfreebsdkmod.pyfreebsdpkg.pyfreebsdports.pyfreebsdservice.pyfreezer.pygcp_addon.pygem.pygenesis.pygentoo_service.pygentoolkitmod.pygit.pygithub.pyglance.pyglanceng.pyglassfish.pyglusterfs.pygnomedesktop.pygoogle_chat.pygpg.pygrafana4.pygrains.pygroupadd.pygrub_legacy.pyguestfs.pyhadoop.pyhaproxyconn.pyhashutil.pyheat.pyhelm.pyhg.pyhighstate_doc.pyhosts.pyhttp.pyicinga2.pyidem.pyifttt.pyilo.pyincron.pyinfluxdb08mod.pyinfluxdbmod.pyinfoblox.pyini_manage.pyinspectlib__init__.py__pycache____init__.cpython-36.pyccollector.cpython-36.pycdbhandle.cpython-36.pycentities.cpython-36.pycexceptions.cpython-36.pycfsdb.cpython-36.pyckiwiproc.cpython-36.pycquery.cpython-36.pyccollector.pydbhandle.pyentities.pyexceptions.pyfsdb.pykiwiproc.pyquery.pyinspector.pyintrospect.pyiosconfig.pyipmi.pyipset.pyiptables.pyiwtools.pyjboss7.pyjboss7_cli.pyjenkinsmod.pyjinja.pyjira_mod.pyjunos.pyk8s.pykapacitor.pykerberos.pykernelpkg_linux_apt.pykernelpkg_linux_yum.pykey.pykeyboard.pykeystone.pykeystoneng.pykeystore.pykmod.pykubeadm.pykubernetesmod.pylaunchctl_service.pylayman.pyldap3.pyldapmod.pylibcloud_compute.pylibcloud_dns.pylibcloud_loadbalancer.pylibcloud_storage.pylinux_acl.pylinux_ip.pylinux_lvm.pylinux_service.pylinux_shadow.pylinux_sysctl.pylocalemod.pylocate.pylogadm.pylogmod.pylogrotate.pylvs.pylxc.pylxd.pymac_assistive.pymac_brew_pkg.pymac_desktop.pymac_group.pymac_keychain.pymac_pkgutil.pymac_portspkg.pymac_power.pymac_service.pymac_shadow.pymac_softwareupdate.pymac_sysctl.pymac_system.pymac_timezone.pymac_user.pymac_xattr.pymacdefaults.pymacpackage.pymakeconf.pymandrill.pymarathon.pymatch.pymattermost.pymdadm_raid.pymdata.pymemcached.pymine.pyminion.pymod_random.pymodjk.pymongodb.pymonit.pymoosefs.pymount.pymssql.pymsteams.pymunin.pymysql.pynacl.pynagios.pynagios_rpc.pynamecheap_domains.pynamecheap_domains_dns.pynamecheap_domains_ns.pynamecheap_ssl.pynamecheap_users.pynapalm_bgp.pynapalm_formula.pynapalm_mod.pynapalm_netacl.pynapalm_network.pynapalm_ntp.pynapalm_probes.pynapalm_route.pynapalm_snmp.pynapalm_users.pynapalm_yang_mod.pynetaddress.pynetbox.pynetbsd_sysctl.pynetbsdservice.pynetmiko_mod.pynetscaler.pynetwork.pyneutron.pyneutronng.pynexus.pynfs3.pynftables.pynginx.pynilrt_ip.pynix.pynova.pynpm.pynspawn.pynxos.pynxos_api.pynxos_upgrade.pyomapi.pyopenbsd_sysctl.pyopenbsdpkg.pyopenbsdrcctl_service.pyopenbsdservice.pyopenscap.pyopenstack_config.pyopenstack_mng.pyopenvswitch.pyopkg.pyopsgenie.pyoracle.pyosquery.pyout.pypacmanpkg.pypagerduty.pypagerduty_util.pypam.pypanos.pyparallels.pyparted_partition.pypcs.pypdbedit.pypecl.pypeeringdb.pypf.pyphilips_hue.pypillar.pypip.pypkg_resource.pypkgin.pypkgng.pypkgutil.pyportage_config.pypostfix.pypostgres.pypoudriere.pypowerpath.pyproxy.pyps.pypublish.pypuppet.pypurefa.pypurefb.pypushbullet.pypushover_notify.pypw_group.pypw_user.pypyenv.pyqemu_img.pyqemu_nbd.pyquota.pyrabbitmq.pyrallydev.pyrandom_org.pyrbac_solaris.pyrbenv.pyrdp.pyrebootmgr.pyredismod.pyreg.pyrest_pkg.pyrest_sample_utils.pyrest_service.pyrestartcheck.pyret.pyrh_ip.pyrh_service.pyriak.pyrpm_lowpkg.pyrpmbuild_pkgbuild.pyrsync.pyrunit.pyrvm.pys3.pys6.pysalt_proxy.pysalt_version.pysaltcheck.pysaltcloudmod.pysaltsupport.pysaltutil.pyschedule.pyscp_mod.pyscsi.pysdb.pyseed.pyselinux.pysensehat.pysensors.pyserverdensity_device.pyservicenow.pyslack_notify.pyslackware_service.pyslsutil.pysmartos_imgadm.pysmartos_nictagadm.pysmartos_virt.pysmartos_vmadm.pysmbios.pysmf_service.pysmtp.pysnapper.pysolaris_fmadm.pysolaris_group.pysolaris_shadow.pysolaris_system.pysolaris_user.pysolarisipspkg.pysolarispkg.pysolr.pysolrcloud.pysplunk.pysplunk_search.pysqlite3.pyssh.pyssh_pkg.pyssh_service.pystate.pystatus.pystatuspage.pysupervisord.pysuse_apache.pysuse_ip.pysvn.pyswarm.pyswift.pysysbench.pysysfs.pysyslog_ng.pysysmod.pysysrc.pysystem.pysystem_profiler.pysystemd_service.pytelegram.pytelemetry.pytemp.pytest.pytest_virtual.pytestinframod.pytextfsm_mod.pytimezone.pytls.pytomcat.pytrafficserver.pytransactional_update.pytravisci.pytuned.pytwilio_notify.pyudev.pyupstart_service.pyuptime.pyuseradd.pyuwsgi.pyvagrant.pyvarnish.pyvault.pyvbox_guest.pyvboxmanage.pyvcenter.pyvictorops.pyvirt.pyvirtualenv_mod.pyvmctl.pyvsphere.pywebutil.pywin_auditpol.pywin_autoruns.pywin_certutil.pywin_dacl.pywin_disk.pywin_dism.pywin_dns_client.pywin_dsc.pywin_file.pywin_firewall.pywin_groupadd.pywin_iis.pywin_ip.pywin_lgpo.pywin_license.pywin_network.pywin_ntp.pywin_path.pywin_pkg.pywin_pki.pywin_powercfg.pywin_psget.pywin_servermanager.pywin_service.pywin_shadow.pywin_smtp_server.pywin_snmp.pywin_status.pywin_system.pywin_task.pywin_timezone.pywin_useradd.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyxapi_virt.pyxbpspkg.pyxfs.pyxml.pyxmpp.pyyumpkg.pyzabbix.pyzcbuildout.pyzenoss.pyzfs.pyzk_concurrency.pyznc.pyzoneadm.pyzonecfg.pyzookeeper.pyzpool.pyzypperpkg.pynetapi__init__.py__pycache____init__.cpython-36.pycrest_wsgi.cpython-36.pycrest_cherrypy__init__.py__pycache____init__.cpython-36.pycapp.cpython-36.pycevent_processor.cpython-36.pycwsgi.cpython-36.pycapp.pyevent_processor.pytools__init__.py__pycache____init__.cpython-36.pycwebsockets.cpython-36.pycwebsockets.pywsgi.pyrest_tornado__init__.py__pycache____init__.cpython-36.pycevent_processor.cpython-36.pycsaltnado.cpython-36.pycsaltnado_websockets.cpython-36.pycevent_processor.pysaltnado.pysaltnado_websockets.pyrest_wsgi.pyoutput__init__.py__pycache____init__.cpython-36.pycdson.cpython-36.pychighstate.cpython-36.pycjson_out.cpython-36.pyckey.cpython-36.pycnested.cpython-36.pycnewline_values_only.cpython-36.pycno_out_quiet.cpython-36.pycno_return.cpython-36.pycoverstatestage.cpython-36.pycpony.cpython-36.pycpprint_out.cpython-36.pycprofile.cpython-36.pycprogress.cpython-36.pycraw.cpython-36.pyctable_out.cpython-36.pyctxt.cpython-36.pycvirt_query.cpython-36.pycyaml_out.cpython-36.pycdson.pyhighstate.pyjson_out.pykey.pynested.pynewline_values_only.pyno_out_quiet.pyno_return.pyoverstatestage.pypony.pypprint_out.pyprofile.pyprogress.pyraw.pytable_out.pytxt.pyvirt_query.pyyaml_out.pypayload.pypillar__init__.py__pycache____init__.cpython-36.pycazureblob.cpython-36.pyccmd_json.cpython-36.pyccmd_yaml.cpython-36.pyccmd_yamlex.cpython-36.pyccobbler.cpython-36.pycconfidant.cpython-36.pycconsul_pillar.cpython-36.pyccsvpillar.cpython-36.pycdigicert.cpython-36.pycdjango_orm.cpython-36.pycec2_pillar.cpython-36.pycetcd_pillar.cpython-36.pycextra_minion_data_in_pillar.cpython-36.pycfile_tree.cpython-36.pycforeman.cpython-36.pycgit_pillar.cpython-36.pycgpg.cpython-36.pychg_pillar.cpython-36.pychiera.cpython-36.pychttp_json.cpython-36.pychttp_yaml.cpython-36.pyclibvirt.cpython-36.pycmakostack.cpython-36.pycmongo.cpython-36.pycmysql.cpython-36.pycnacl.cpython-36.pycnetbox.cpython-36.pycneutron.cpython-36.pycnodegroups.cpython-36.pycpepa.cpython-36.pycpillar_ldap.cpython-36.pycpostgres.cpython-36.pycpuppet.cpython-36.pycreclass_adapter.cpython-36.pycredismod.cpython-36.pycrethinkdb_pillar.cpython-36.pycs3.cpython-36.pycsaltclass.cpython-36.pycsql_base.cpython-36.pycsqlcipher.cpython-36.pycsqlite3.cpython-36.pycstack.cpython-36.pycsvn_pillar.cpython-36.pycvarstack_pillar.cpython-36.pycvault.cpython-36.pycvenafi.cpython-36.pycvirtkey.cpython-36.pycvmware_pillar.cpython-36.pycazureblob.pycmd_json.pycmd_yaml.pycmd_yamlex.pycobbler.pyconfidant.pyconsul_pillar.pycsvpillar.pydigicert.pydjango_orm.pyec2_pillar.pyetcd_pillar.pyextra_minion_data_in_pillar.pyfile_tree.pyforeman.pygit_pillar.pygpg.pyhg_pillar.pyhiera.pyhttp_json.pyhttp_yaml.pylibvirt.pymakostack.pymongo.pymysql.pynacl.pynetbox.pyneutron.pynodegroups.pypepa.pypillar_ldap.pypostgres.pypuppet.pyreclass_adapter.pyredismod.pyrethinkdb_pillar.pys3.pysaltclass.pysql_base.pysqlcipher.pysqlite3.pystack.pysvn_pillar.pyvarstack_pillar.pyvault.pyvenafi.pyvirtkey.pyvmware_pillar.pyplatform__init__.py__pycache____init__.cpython-36.pycwin.cpython-36.pycwin.pyproxy__init__.py__pycache____init__.cpython-36.pycarista_pyeapi.cpython-36.pycchronos.cpython-36.pyccimc.cpython-36.pyccisconso.cpython-36.pycdocker.cpython-36.pycdummy.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycfx2.cpython-36.pycjunos.cpython-36.pycmarathon.cpython-36.pycnapalm.cpython-36.pycnetmiko_px.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycpanos.cpython-36.pycphilips_hue.cpython-36.pycrest_sample.cpython-36.pycssh_sample.cpython-36.pycvcenter.cpython-36.pycarista_pyeapi.pychronos.pycimc.pycisconso.pydocker.pydummy.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyfx2.pyjunos.pymarathon.pynapalm.pynetmiko_px.pynxos.pynxos_api.pypanos.pyphilips_hue.pyrest_sample.pyssh_sample.pyvcenter.pyqueues__init__.py__pycache____init__.cpython-36.pycpgjsonb_queue.cpython-36.pycsqlite_queue.cpython-36.pycpgjsonb_queue.pysqlite_queue.pyrenderers__init__.py__pycache____init__.cpython-36.pycaws_kms.cpython-36.pyccheetah.cpython-36.pycdson.cpython-36.pycgenshi.cpython-36.pycgpg.cpython-36.pychjson.cpython-36.pycjinja.cpython-36.pycjson.cpython-36.pycjson5.cpython-36.pycmako.cpython-36.pycmsgpack.cpython-36.pycnacl.cpython-36.pycpass.cpython-36.pycpy.cpython-36.pycpydsl.cpython-36.pycpyobjects.cpython-36.pycstateconf.cpython-36.pyctoml.cpython-36.pycwempy.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycaws_kms.pycheetah.pydson.pygenshi.pygpg.pyhjson.pyjinja.pyjson.pyjson5.pymako.pymsgpack.pynacl.pypass.pypy.pypydsl.pypyobjects.pystateconf.pytoml.pywempy.pyyaml.pyyamlex.pyreturners__init__.py__pycache____init__.cpython-36.pycappoptics_return.cpython-36.pyccarbon_return.cpython-36.pyccassandra_cql_return.cpython-36.pyccassandra_return.cpython-36.pyccouchbase_return.cpython-36.pyccouchdb_return.cpython-36.pycdjango_return.cpython-36.pycelasticsearch_return.cpython-36.pycetcd_return.cpython-36.pychighstate_return.cpython-36.pycinfluxdb_return.cpython-36.pyckafka_return.cpython-36.pyclibrato_return.cpython-36.pyclocal.cpython-36.pyclocal_cache.cpython-36.pycmattermost_returner.cpython-36.pycmemcache_return.cpython-36.pycmongo_future_return.cpython-36.pycmongo_return.cpython-36.pycmulti_returner.cpython-36.pycmysql.cpython-36.pycnagios_nrdp_return.cpython-36.pycodbc.cpython-36.pycpgjsonb.cpython-36.pycpostgres.cpython-36.pycpostgres_local_cache.cpython-36.pycpushover_returner.cpython-36.pycrawfile_json.cpython-36.pycredis_return.cpython-36.pycsentry_return.cpython-36.pycslack_returner.cpython-36.pycslack_webhook_return.cpython-36.pycsms_return.cpython-36.pycsmtp_return.cpython-36.pycsplunk.cpython-36.pycsqlite3_return.cpython-36.pycsyslog_return.cpython-36.pyctelegram_return.cpython-36.pycxmpp_return.cpython-36.pyczabbix_return.cpython-36.pycappoptics_return.pycarbon_return.pycassandra_cql_return.pycassandra_return.pycouchbase_return.pycouchdb_return.pydjango_return.pyelasticsearch_return.pyetcd_return.pyhighstate_return.pyinfluxdb_return.pykafka_return.pylibrato_return.pylocal.pylocal_cache.pymattermost_returner.pymemcache_return.pymongo_future_return.pymongo_return.pymulti_returner.pymysql.pynagios_nrdp_return.pyodbc.pypgjsonb.pypostgres.pypostgres_local_cache.pypushover_returner.pyrawfile_json.pyredis_return.pysentry_return.pyslack_returner.pyslack_webhook_return.pysms_return.pysmtp_return.pysplunk.pysqlite3_return.pysyslog_return.pytelegram_return.pyxmpp_return.pyzabbix_return.pyroster__init__.py__pycache____init__.cpython-36.pycansible.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pycclustershell.cpython-36.pycflat.cpython-36.pycrange.cpython-36.pycscan.cpython-36.pycsshconfig.cpython-36.pycterraform.cpython-36.pycansible.pycache.pycloud.pyclustershell.pyflat.pyrange.pyscan.pysshconfig.pyterraform.pyrunner.pyrunners__init__.py__pycache____init__.cpython-36.pycasam.cpython-36.pycauth.cpython-36.pycbgp.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pycconfig.cpython-36.pycddns.cpython-36.pycdigicertapi.cpython-36.pycdoc.cpython-36.pycdrac.cpython-36.pycerror.cpython-36.pycevent.cpython-36.pycf5.cpython-36.pycfileserver.cpython-36.pycgit_pillar.cpython-36.pychttp.cpython-36.pycjobs.cpython-36.pyclaunchd.cpython-36.pyclxc.cpython-36.pycmanage.cpython-36.pycmattermost.cpython-36.pycmine.cpython-36.pycnacl.cpython-36.pycnet.cpython-36.pycnetwork.cpython-36.pycpagerduty.cpython-36.pycpillar.cpython-36.pycpkg.cpython-36.pycqueue.cpython-36.pycreactor.cpython-36.pycsalt.cpython-36.pycsaltutil.cpython-36.pycsdb.cpython-36.pycsmartos_vmadm.cpython-36.pycspacewalk.cpython-36.pycssh.cpython-36.pycstate.cpython-36.pycsurvey.cpython-36.pyctest.cpython-36.pycthin.cpython-36.pycvault.cpython-36.pycvenafiapi.cpython-36.pycvirt.cpython-36.pycvistara.cpython-36.pycwinrepo.cpython-36.pycasam.pyauth.pybgp.pycache.pycloud.pyconfig.pyddns.pydigicertapi.pydoc.pydrac.pyerror.pyevent.pyf5.pyfileserver.pygit_pillar.pyhttp.pyjobs.pylaunchd.pylxc.pymanage.pymattermost.pymine.pynacl.pynet.pynetwork.pypagerduty.pypillar.pypkg.pyqueue.pyreactor.pysalt.pysaltutil.pysdb.pysmartos_vmadm.pyspacewalk.pyssh.pystate.pysurvey.pytest.pythin.pyvault.pyvenafiapi.pyvirt.pyvistara.pywinrepo.pyscripts.pysdb__init__.py__pycache____init__.cpython-36.pyccache.cpython-36.pycconfidant.cpython-36.pycconsul.cpython-36.pyccouchdb.cpython-36.pycenv.cpython-36.pycetcd_db.cpython-36.pyckeyring_db.cpython-36.pycmemcached.cpython-36.pycredis_sdb.cpython-36.pycrest.cpython-36.pycsqlite3.cpython-36.pyctism.cpython-36.pycvault.cpython-36.pycyaml.cpython-36.pyccache.pyconfidant.pyconsul.pycouchdb.pyenv.pyetcd_db.pykeyring_db.pymemcached.pyredis_sdb.pyrest.pysqlite3.pytism.pyvault.pyyaml.pyserializers__init__.py__pycache____init__.cpython-36.pycconfigparser.cpython-36.pycjson.cpython-36.pycmsgpack.cpython-36.pycplist.cpython-36.pycpython.cpython-36.pyctoml.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycconfigparser.pyjson.pymsgpack.pyplist.pypython.pytoml.pyyaml.pyyamlex.pyspm__init__.py__pycache____init__.cpython-36.pycpkgdb__init__.py__pycache____init__.cpython-36.pycsqlite3.cpython-36.pycsqlite3.pypkgfiles__init__.py__pycache____init__.cpython-36.pyclocal.cpython-36.pyclocal.pystate.pystates__init__.py__pycache____init__.cpython-36.pycacme.cpython-36.pycalias.cpython-36.pycalternatives.cpython-36.pycansiblegate.cpython-36.pycapache.cpython-36.pycapache_conf.cpython-36.pycapache_module.cpython-36.pycapache_site.cpython-36.pycaptpkg.cpython-36.pycarchive.cpython-36.pycartifactory.cpython-36.pycat.cpython-36.pycaugeas.cpython-36.pycaws_sqs.cpython-36.pycazurearm_compute.cpython-36.pycazurearm_dns.cpython-36.pycazurearm_network.cpython-36.pycazurearm_resource.cpython-36.pycbeacon.cpython-36.pycbigip.cpython-36.pycblockdev.cpython-36.pycboto3_elasticache.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3_route53.cpython-36.pycboto3_sns.cpython-36.pycboto_apigateway.cpython-36.pycboto_asg.cpython-36.pycboto_cfn.cpython-36.pycboto_cloudfront.cpython-36.pycboto_cloudtrail.cpython-36.pycboto_cloudwatch_alarm.cpython-36.pycboto_cloudwatch_event.cpython-36.pycboto_cognitoidentity.cpython-36.pycboto_datapipeline.cpython-36.pycboto_dynamodb.cpython-36.pycboto_ec2.cpython-36.pycboto_elasticache.cpython-36.pycboto_elasticsearch_domain.cpython-36.pycboto_elb.cpython-36.pycboto_elbv2.cpython-36.pycboto_iam.cpython-36.pycboto_iam_role.cpython-36.pycboto_iot.cpython-36.pycboto_kinesis.cpython-36.pycboto_kms.cpython-36.pycboto_lambda.cpython-36.pycboto_lc.cpython-36.pycboto_rds.cpython-36.pycboto_route53.cpython-36.pycboto_s3.cpython-36.pycboto_s3_bucket.cpython-36.pycboto_secgroup.cpython-36.pycboto_sns.cpython-36.pycboto_sqs.cpython-36.pycboto_vpc.cpython-36.pycbower.cpython-36.pycbtrfs.cpython-36.pyccabal.cpython-36.pycceph.cpython-36.pycchef.cpython-36.pycchocolatey.cpython-36.pycchronos_job.cpython-36.pyccimc.cpython-36.pyccisconso.cpython-36.pyccloud.cpython-36.pyccmd.cpython-36.pyccomposer.cpython-36.pyccron.cpython-36.pyccryptdev.cpython-36.pyccsf.cpython-36.pyccyg.cpython-36.pycddns.cpython-36.pycdebconfmod.cpython-36.pycdellchassis.cpython-36.pycdisk.cpython-36.pycdocker_container.cpython-36.pycdocker_image.cpython-36.pycdocker_network.cpython-36.pycdocker_volume.cpython-36.pycdrac.cpython-36.pycdvs.cpython-36.pycelasticsearch.cpython-36.pycelasticsearch_index.cpython-36.pycelasticsearch_index_template.cpython-36.pycenviron.cpython-36.pyceselect.cpython-36.pycesxcluster.cpython-36.pycesxdatacenter.cpython-36.pycesxi.cpython-36.pycesxvm.cpython-36.pycetcd_mod.cpython-36.pycethtool.cpython-36.pycevent.cpython-36.pycfile.cpython-36.pycfirewall.cpython-36.pycfirewalld.cpython-36.pycgem.cpython-36.pycgit.cpython-36.pycgithub.cpython-36.pycglance.cpython-36.pycglance_image.cpython-36.pycglassfish.cpython-36.pycglusterfs.cpython-36.pycgnomedesktop.cpython-36.pycgpg.cpython-36.pycgrafana.cpython-36.pycgrafana4_dashboard.cpython-36.pycgrafana4_datasource.cpython-36.pycgrafana4_org.cpython-36.pycgrafana4_user.cpython-36.pycgrafana_dashboard.cpython-36.pycgrafana_datasource.cpython-36.pycgrains.cpython-36.pycgroup.cpython-36.pycheat.cpython-36.pychelm.cpython-36.pychg.cpython-36.pychighstate_doc.cpython-36.pychost.cpython-36.pychttp.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycifttt.cpython-36.pycincron.cpython-36.pycinfluxdb08_database.cpython-36.pycinfluxdb08_user.cpython-36.pycinfluxdb_continuous_query.cpython-36.pycinfluxdb_database.cpython-36.pycinfluxdb_retention_policy.cpython-36.pycinfluxdb_user.cpython-36.pycinfoblox_a.cpython-36.pycinfoblox_cname.cpython-36.pycinfoblox_host_record.cpython-36.pycinfoblox_range.cpython-36.pycini_manage.cpython-36.pycipmi.cpython-36.pycipset.cpython-36.pyciptables.cpython-36.pycjboss7.cpython-36.pycjenkins.cpython-36.pycjunos.cpython-36.pyckapacitor.cpython-36.pyckernelpkg.cpython-36.pyckeyboard.cpython-36.pyckeystone.cpython-36.pyckeystone_domain.cpython-36.pyckeystone_endpoint.cpython-36.pyckeystone_group.cpython-36.pyckeystone_project.cpython-36.pyckeystone_role.cpython-36.pyckeystone_role_grant.cpython-36.pyckeystone_service.cpython-36.pyckeystone_user.cpython-36.pyckeystore.cpython-36.pyckmod.cpython-36.pyckubernetes.cpython-36.pyclayman.cpython-36.pycldap.cpython-36.pyclibcloud_dns.cpython-36.pyclibcloud_loadbalancer.cpython-36.pyclibcloud_storage.cpython-36.pyclinux_acl.cpython-36.pyclocale.cpython-36.pyclogadm.cpython-36.pyclogrotate.cpython-36.pycloop.cpython-36.pyclvm.cpython-36.pyclvs_server.cpython-36.pyclvs_service.cpython-36.pyclxc.cpython-36.pyclxd.cpython-36.pyclxd_container.cpython-36.pyclxd_image.cpython-36.pyclxd_profile.cpython-36.pycmac_assistive.cpython-36.pycmac_keychain.cpython-36.pycmac_xattr.cpython-36.pycmacdefaults.cpython-36.pycmacpackage.cpython-36.pycmakeconf.cpython-36.pycmarathon_app.cpython-36.pycmdadm_raid.cpython-36.pycmemcached.cpython-36.pycmodjk.cpython-36.pycmodjk_worker.cpython-36.pycmodule.cpython-36.pycmongodb_database.cpython-36.pycmongodb_user.cpython-36.pycmonit.cpython-36.pycmount.cpython-36.pycmssql_database.cpython-36.pycmssql_login.cpython-36.pycmssql_role.cpython-36.pycmssql_user.cpython-36.pycmsteams.cpython-36.pycmysql_database.cpython-36.pycmysql_grants.cpython-36.pycmysql_query.cpython-36.pycmysql_user.cpython-36.pycnet_napalm_yang.cpython-36.pycnetacl.cpython-36.pycnetconfig.cpython-36.pycnetntp.cpython-36.pycnetsnmp.cpython-36.pycnetusers.cpython-36.pycnetwork.cpython-36.pycneutron_network.cpython-36.pycneutron_secgroup.cpython-36.pycneutron_secgroup_rule.cpython-36.pycneutron_subnet.cpython-36.pycnexus.cpython-36.pycnfs_export.cpython-36.pycnftables.cpython-36.pycnpm.cpython-36.pycntp.cpython-36.pycnxos.cpython-36.pycnxos_upgrade.cpython-36.pycopenstack_config.cpython-36.pycopenvswitch_bridge.cpython-36.pycopenvswitch_port.cpython-36.pycopsgenie.cpython-36.pycpagerduty.cpython-36.pycpagerduty_escalation_policy.cpython-36.pycpagerduty_schedule.cpython-36.pycpagerduty_service.cpython-36.pycpagerduty_user.cpython-36.pycpanos.cpython-36.pycpbm.cpython-36.pycpcs.cpython-36.pycpdbedit.cpython-36.pycpecl.cpython-36.pycpip_state.cpython-36.pycpkg.cpython-36.pycpkgbuild.cpython-36.pycpkgng.cpython-36.pycpkgrepo.cpython-36.pycportage_config.cpython-36.pycports.cpython-36.pycpostgres_cluster.cpython-36.pycpostgres_database.cpython-36.pycpostgres_extension.cpython-36.pycpostgres_group.cpython-36.pycpostgres_initdb.cpython-36.pycpostgres_language.cpython-36.pycpostgres_privileges.cpython-36.pycpostgres_schema.cpython-36.pycpostgres_tablespace.cpython-36.pycpostgres_user.cpython-36.pycpowerpath.cpython-36.pycprobes.cpython-36.pycprocess.cpython-36.pycproxy.cpython-36.pycpushover.cpython-36.pycpyenv.cpython-36.pycpyrax_queues.cpython-36.pycquota.cpython-36.pycrabbitmq_cluster.cpython-36.pycrabbitmq_plugin.cpython-36.pycrabbitmq_policy.cpython-36.pycrabbitmq_upstream.cpython-36.pycrabbitmq_user.cpython-36.pycrabbitmq_vhost.cpython-36.pycrbac_solaris.cpython-36.pycrbenv.cpython-36.pycrdp.cpython-36.pycredismod.cpython-36.pycreg.cpython-36.pycrsync.cpython-36.pycrvm.cpython-36.pycsalt_proxy.cpython-36.pycsaltmod.cpython-36.pycsaltsupport.cpython-36.pycsaltutil.cpython-36.pycschedule.cpython-36.pycselinux.cpython-36.pycserverdensity_device.cpython-36.pycservice.cpython-36.pycslack.cpython-36.pycsmartos.cpython-36.pycsmtp.cpython-36.pycsnapper.cpython-36.pycsolrcloud.cpython-36.pycsplunk.cpython-36.pycsplunk_search.cpython-36.pycsqlite3.cpython-36.pycssh_auth.cpython-36.pycssh_known_hosts.cpython-36.pycstateconf.cpython-36.pycstatus.cpython-36.pycstatuspage.cpython-36.pycsupervisord.cpython-36.pycsvn.cpython-36.pycsysctl.cpython-36.pycsyslog_ng.cpython-36.pycsysrc.cpython-36.pyctelemetry_alert.cpython-36.pyctest.cpython-36.pyctestinframod.cpython-36.pyctimezone.cpython-36.pyctls.cpython-36.pyctomcat.cpython-36.pyctrafficserver.cpython-36.pyctuned.cpython-36.pycuptime.cpython-36.pycuser.cpython-36.pycvagrant.cpython-36.pycvault.cpython-36.pycvbox_guest.cpython-36.pycvictorops.cpython-36.pycvirt.cpython-36.pycvirtualenv_mod.cpython-36.pycwebutil.cpython-36.pycwin_certutil.cpython-36.pycwin_dacl.cpython-36.pycwin_dism.cpython-36.pycwin_dns_client.cpython-36.pycwin_firewall.cpython-36.pycwin_iis.cpython-36.pycwin_lgpo.cpython-36.pycwin_license.cpython-36.pycwin_network.cpython-36.pycwin_path.cpython-36.pycwin_pki.cpython-36.pycwin_powercfg.cpython-36.pycwin_servermanager.cpython-36.pycwin_smtp_server.cpython-36.pycwin_snmp.cpython-36.pycwin_system.cpython-36.pycwin_wua.cpython-36.pycwin_wusa.cpython-36.pycwinrepo.cpython-36.pycwordpress.cpython-36.pycx509.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pyczabbix_action.cpython-36.pyczabbix_host.cpython-36.pyczabbix_hostgroup.cpython-36.pyczabbix_mediatype.cpython-36.pyczabbix_template.cpython-36.pyczabbix_user.cpython-36.pyczabbix_usergroup.cpython-36.pyczabbix_usermacro.cpython-36.pyczabbix_valuemap.cpython-36.pyczcbuildout.cpython-36.pyczenoss.cpython-36.pyczfs.cpython-36.pyczk_concurrency.cpython-36.pyczone.cpython-36.pyczookeeper.cpython-36.pyczpool.cpython-36.pycacme.pyalias.pyalternatives.pyansiblegate.pyapache.pyapache_conf.pyapache_module.pyapache_site.pyaptpkg.pyarchive.pyartifactory.pyat.pyaugeas.pyaws_sqs.pyazurearm_compute.pyazurearm_dns.pyazurearm_network.pyazurearm_resource.pybeacon.pybigip.pyblockdev.pyboto3_elasticache.pyboto3_elasticsearch.pyboto3_route53.pyboto3_sns.pyboto_apigateway.pyboto_asg.pyboto_cfn.pyboto_cloudfront.pyboto_cloudtrail.pyboto_cloudwatch_alarm.pyboto_cloudwatch_event.pyboto_cognitoidentity.pyboto_datapipeline.pyboto_dynamodb.pyboto_ec2.pyboto_elasticache.pyboto_elasticsearch_domain.pyboto_elb.pyboto_elbv2.pyboto_iam.pyboto_iam_role.pyboto_iot.pyboto_kinesis.pyboto_kms.pyboto_lambda.pyboto_lc.pyboto_rds.pyboto_route53.pyboto_s3.pyboto_s3_bucket.pyboto_secgroup.pyboto_sns.pyboto_sqs.pyboto_vpc.pybower.pybtrfs.pycabal.pyceph.pychef.pychocolatey.pychronos_job.pycimc.pycisconso.pycloud.pycmd.pycomposer.pycron.pycryptdev.pycsf.pycyg.pyddns.pydebconfmod.pydellchassis.pydisk.pydocker_container.pydocker_image.pydocker_network.pydocker_volume.pydrac.pydvs.pyelasticsearch.pyelasticsearch_index.pyelasticsearch_index_template.pyenviron.pyeselect.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyetcd_mod.pyethtool.pyevent.pyfile.pyfirewall.pyfirewalld.pygem.pygit.pygithub.pyglance.pyglance_image.pyglassfish.pyglusterfs.pygnomedesktop.pygpg.pygrafana.pygrafana4_dashboard.pygrafana4_datasource.pygrafana4_org.pygrafana4_user.pygrafana_dashboard.pygrafana_datasource.pygrains.pygroup.pyheat.pyhelm.pyhg.pyhighstate_doc.pyhost.pyhttp.pyicinga2.pyidem.pyifttt.pyincron.pyinfluxdb08_database.pyinfluxdb08_user.pyinfluxdb_continuous_query.pyinfluxdb_database.pyinfluxdb_retention_policy.pyinfluxdb_user.pyinfoblox_a.pyinfoblox_cname.pyinfoblox_host_record.pyinfoblox_range.pyini_manage.pyipmi.pyipset.pyiptables.pyjboss7.pyjenkins.pyjunos.pykapacitor.pykernelpkg.pykeyboard.pykeystone.pykeystone_domain.pykeystone_endpoint.pykeystone_group.pykeystone_project.pykeystone_role.pykeystone_role_grant.pykeystone_service.pykeystone_user.pykeystore.pykmod.pykubernetes.pylayman.pyldap.pylibcloud_dns.pylibcloud_loadbalancer.pylibcloud_storage.pylinux_acl.pylocale.pylogadm.pylogrotate.pyloop.pylvm.pylvs_server.pylvs_service.pylxc.pylxd.pylxd_container.pylxd_image.pylxd_profile.pymac_assistive.pymac_keychain.pymac_xattr.pymacdefaults.pymacpackage.pymakeconf.pymarathon_app.pymdadm_raid.pymemcached.pymodjk.pymodjk_worker.pymodule.pymongodb_database.pymongodb_user.pymonit.pymount.pymssql_database.pymssql_login.pymssql_role.pymssql_user.pymsteams.pymysql_database.pymysql_grants.pymysql_query.pymysql_user.pynet_napalm_yang.pynetacl.pynetconfig.pynetntp.pynetsnmp.pynetusers.pynetwork.pyneutron_network.pyneutron_secgroup.pyneutron_secgroup_rule.pyneutron_subnet.pynexus.pynfs_export.pynftables.pynpm.pyntp.pynxos.pynxos_upgrade.pyopenstack_config.pyopenvswitch_bridge.pyopenvswitch_port.pyopsgenie.pypagerduty.pypagerduty_escalation_policy.pypagerduty_schedule.pypagerduty_service.pypagerduty_user.pypanos.pypbm.pypcs.pypdbedit.pypecl.pypip_state.pypkg.pypkgbuild.pypkgng.pypkgrepo.pyportage_config.pyports.pypostgres_cluster.pypostgres_database.pypostgres_extension.pypostgres_group.pypostgres_initdb.pypostgres_language.pypostgres_privileges.pypostgres_schema.pypostgres_tablespace.pypostgres_user.pypowerpath.pyprobes.pyprocess.pyproxy.pypushover.pypyenv.pypyrax_queues.pyquota.pyrabbitmq_cluster.pyrabbitmq_plugin.pyrabbitmq_policy.pyrabbitmq_upstream.pyrabbitmq_user.pyrabbitmq_vhost.pyrbac_solaris.pyrbenv.pyrdp.pyredismod.pyreg.pyrsync.pyrvm.pysalt_proxy.pysaltmod.pysaltsupport.pysaltutil.pyschedule.pyselinux.pyserverdensity_device.pyservice.pyslack.pysmartos.pysmtp.pysnapper.pysolrcloud.pysplunk.pysplunk_search.pysqlite3.pyssh_auth.pyssh_known_hosts.pystateconf.pystatus.pystatuspage.pysupervisord.pysvn.pysysctl.pysyslog_ng.pysysrc.pytelemetry_alert.pytest.pytestinframod.pytimezone.pytls.pytomcat.pytrafficserver.pytuned.pyuptime.pyuser.pyvagrant.pyvault.pyvbox_guest.pyvictorops.pyvirt.pyvirtualenv_mod.pywebutil.pywin_certutil.pywin_dacl.pywin_dism.pywin_dns_client.pywin_firewall.pywin_iis.pywin_lgpo.pywin_license.pywin_network.pywin_path.pywin_pki.pywin_powercfg.pywin_servermanager.pywin_smtp_server.pywin_snmp.pywin_system.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyxml.pyxmpp.pyzabbix_action.pyzabbix_host.pyzabbix_hostgroup.pyzabbix_mediatype.pyzabbix_template.pyzabbix_user.pyzabbix_usergroup.pyzabbix_usermacro.pyzabbix_valuemap.pyzcbuildout.pyzenoss.pyzfs.pyzk_concurrency.pyzone.pyzookeeper.pyzpool.pysyspaths.pytemplate.pytemplates__init__.py__pycache____init__.cpython-36.pycdebian_ipconf.jinjadebian_eth.jinjadebian_ppp_eth.jinjadebian_source.jinjadisplay-network.jinjanetwork.jinjaroute_eth.jinjagitssh-id-wrapperssh-id-wrapper.batlxcsalt_tarballrh_ipconf.jinjanetwork.jinjarh6_route_eth.jinjarh7_eth.jinjarh8_eth.jinjaroute_eth.jinjasuse_ipifcfg.jinjaifroute.jinjanetwork.jinjavirtlibvirt_chardevs.jinjalibvirt_disks.jinjalibvirt_domain.jinjalibvirt_macros.jinjalibvirt_network.jinjalibvirt_pool.jinjalibvirt_secret.jinjalibvirt_volume.jinjathorium__init__.py__pycache____init__.cpython-36.pyccalc.cpython-36.pyccheck.cpython-36.pycfile.cpython-36.pyckey.cpython-36.pyclocal.cpython-36.pycreg.cpython-36.pycrunner.cpython-36.pycstatus.cpython-36.pyctimer.cpython-36.pycwheel.cpython-36.pyccalc.pycheck.pyfile.pykey.pylocal.pyreg.pyrunner.pystatus.pytimer.pywheel.pytokens__init__.py__pycache____init__.cpython-36.pyclocalfs.cpython-36.pycrediscluster.cpython-36.pyclocalfs.pyrediscluster.pytops__init__.py__pycache____init__.cpython-36.pyccobbler.cpython-36.pycext_nodes.cpython-36.pycmongo.cpython-36.pycreclass_adapter.cpython-36.pycsaltclass.cpython-36.pycvarstack_top.cpython-36.pyccobbler.pyext_nodes.pymongo.pyreclass_adapter.pysaltclass.pyvarstack_top.pytransport__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycframe.cpython-36.pycipc.cpython-36.pyclocal.cpython-36.pycserver.cpython-36.pyctcp.cpython-36.pyczeromq.cpython-36.pycclient.pyframe.pyipc.pylocal.pymixins__init__.py__pycache____init__.cpython-36.pycauth.cpython-36.pycauth.pyserver.pytcp.pyzeromq.pyutils__init__.py__pycache____init__.cpython-36.pycaggregation.cpython-36.pycansible.cpython-36.pycargs.cpython-36.pycasynchronous.cpython-36.pycatomicfile.cpython-36.pycaws.cpython-36.pycazurearm.cpython-36.pycbeacons.cpython-36.pycboto3_elasticsearch.cpython-36.pycboto3mod.cpython-36.pycboto_elb_tag.cpython-36.pycbotomod.cpython-36.pyccache.cpython-36.pyccloud.cpython-36.pyccolor.cpython-36.pyccompat.cpython-36.pycconfigcomparer.cpython-36.pycconfigparser.cpython-36.pyccontext.cpython-36.pyccrypt.cpython-36.pycctx.cpython-36.pycdata.cpython-36.pycdateutils.cpython-36.pycdebug.cpython-36.pycdictdiffer.cpython-36.pycdicttrim.cpython-36.pycdictupdate.cpython-36.pycdns.cpython-36.pycdoc.cpython-36.pycenvironment.cpython-36.pycerror.cpython-36.pycetcd_util.cpython-36.pycevent.cpython-36.pycextend.cpython-36.pycextmods.cpython-36.pycfilebuffer.cpython-36.pycfiles.cpython-36.pycfind.cpython-36.pycfsutils.cpython-36.pycfunctools.cpython-36.pycgitfs.cpython-36.pycgithub.cpython-36.pycgzip_util.cpython-36.pychashutils.cpython-36.pychttp.cpython-36.pyciam.cpython-36.pycicinga2.cpython-36.pycidem.cpython-36.pycimmutabletypes.cpython-36.pycitertools.cpython-36.pycjid.cpython-36.pycjinja.cpython-36.pycjob.cpython-36.pycjson.cpython-36.pyckickstart.cpython-36.pyckinds.cpython-36.pyclazy.cpython-36.pyclistdiffer.cpython-36.pyclocales.cpython-36.pycmac_utils.cpython-36.pycmako.cpython-36.pycmaster.cpython-36.pycmattermost.cpython-36.pycmemcached.cpython-36.pycmigrations.cpython-36.pycmine.cpython-36.pycminion.cpython-36.pycminions.cpython-36.pycmount.cpython-36.pycmsazure.cpython-36.pycmsgpack.cpython-36.pycnacl.cpython-36.pycnamecheap.cpython-36.pycnapalm.cpython-36.pycnb_popen.cpython-36.pycnetwork.cpython-36.pycnxos.cpython-36.pycnxos_api.cpython-36.pycodict.cpython-36.pycoset.cpython-36.pycpagerduty.cpython-36.pycparsers.cpython-36.pycpath.cpython-36.pycpbm.cpython-36.pycplatform.cpython-36.pycpowershell.cpython-36.pycpreseed.cpython-36.pycprocess.cpython-36.pycprofile.cpython-36.pycproxy.cpython-36.pycpsutil_compat.cpython-36.pycpushover.cpython-36.pycpycrypto.cpython-36.pycpydsl.cpython-36.pycpyobjects.cpython-36.pycreactor.cpython-36.pycreclass.cpython-36.pycroster_matcher.cpython-36.pycrsax931.cpython-36.pycs3.cpython-36.pycsaltclass.cpython-36.pycsanitizers.cpython-36.pycschedule.cpython-36.pycschema.cpython-36.pycsdb.cpython-36.pycslack.cpython-36.pycsmb.cpython-36.pycsmtp.cpython-36.pycssdp.cpython-36.pycssh.cpython-36.pycstate.cpython-36.pycstringio.cpython-36.pycstringutils.cpython-36.pycsystemd.cpython-36.pyctemplates.cpython-36.pyctextformat.cpython-36.pycthin.cpython-36.pyctimed_subprocess.cpython-36.pyctimeout.cpython-36.pyctimeutil.cpython-36.pycurl.cpython-36.pycuser.cpython-36.pycvalue.cpython-36.pycvault.cpython-36.pycverify.cpython-36.pycversions.cpython-36.pycvirt.cpython-36.pycvirtualbox.cpython-36.pycvmware.cpython-36.pycvsan.cpython-36.pycvt.cpython-36.pycvt_helper.cpython-36.pycwin_chcp.cpython-36.pycwin_dacl.cpython-36.pycwin_dotnet.cpython-36.pycwin_functions.cpython-36.pycwin_lgpo_auditpol.cpython-36.pycwin_lgpo_netsh.cpython-36.pycwin_network.cpython-36.pycwin_osinfo.cpython-36.pycwin_pdh.cpython-36.pycwin_reg.cpython-36.pycwin_runas.cpython-36.pycwin_service.cpython-36.pycwin_system.cpython-36.pycwin_update.cpython-36.pycwinapi.cpython-36.pycxdg.cpython-36.pycxmlutil.cpython-36.pycyaml.cpython-36.pycyamldumper.cpython-36.pycyamlencoding.cpython-36.pycyamlloader.cpython-36.pycyamlloader_old.cpython-36.pycyast.cpython-36.pyczeromq.cpython-36.pyczfs.cpython-36.pycaggregation.pyansible.pyargs.pyasynchronous.pyatomicfile.pyaws.pyazurearm.pybeacons.pyboto3_elasticsearch.pyboto3mod.pyboto_elb_tag.pybotomod.pycache.pycloud.pycolor.pycompat.pyconfigcomparer.pyconfigparser.pycontext.pycrypt.pyctx.pydata.pydateutils.pydebug.pydecorators__init__.py__pycache____init__.cpython-36.pycjinja.cpython-36.pycpath.cpython-36.pycstate.cpython-36.pycjinja.pypath.pystate.pydictdiffer.pydicttrim.pydictupdate.pydns.pydoc.pydockermod__init__.py__pycache____init__.cpython-36.pyctranslate__init__.py__pycache____init__.cpython-36.pyccontainer.cpython-36.pychelpers.cpython-36.pycnetwork.cpython-36.pyccontainer.pyhelpers.pynetwork.pyenvironment.pyerror.pyetcd_util.pyevent.pyextend.pyextmods.pyfilebuffer.pyfiles.pyfind.pyfsutils.pyfunctools.pygitfs.pygithub.pygzip_util.pyhashutils.pyhttp.pyiam.pyicinga2.pyidem.pyimmutabletypes.pyitertools.pyjid.pyjinja.pyjob.pyjson.pykickstart.pykinds.pylazy.pylistdiffer.pylocales.pymac_utils.pymako.pymaster.pymattermost.pymemcached.pymigrations.pymine.pyminion.pyminions.pymount.pymsazure.pymsgpack.pynacl.pynamecheap.pynapalm.pynb_popen.pynetwork.pynxos.pynxos_api.pyodict.pyopenstack__init__.py__pycache____init__.cpython-36.pycneutron.cpython-36.pycnova.cpython-36.pycswift.cpython-36.pycneutron.pynova.pypyrax__init__.py__pycache____init__.cpython-36.pycauthenticate.cpython-36.pycqueues.cpython-36.pycauthenticate.pyqueues.pyswift.pyoset.pypagerduty.pyparsers.pypath.pypbm.pypkg__init__.py__pycache____init__.cpython-36.pycdeb.cpython-36.pycrpm.cpython-36.pycwin.cpython-36.pycdeb.pyrpm.pywin.pyplatform.pypowershell.pypreseed.pyprocess.pyprofile.pyproxy.pypsutil_compat.pypushover.pypycrypto.pypydsl.pypyobjects.pyreactor.pyreclass.pyroster_matcher.pyrsax931.pys3.pysaltclass.pysanitizers.pyschedule.pyschema.pysdb.pyslack.pysmb.pysmtp.pyssdp.pyssh.pystate.pystringio.pystringutils.pysystemd.pytemplates.pytextformat.pythin.pytimed_subprocess.pytimeout.pytimeutil.pyurl.pyuser.pyvalidate__init__.py__pycache____init__.cpython-36.pycnet.cpython-36.pycpath.cpython-36.pycuser.cpython-36.pycnet.pypath.pyuser.pyvalue.pyvault.pyverify.pyversions.pyvirt.pyvirtualbox.pyvmware.pyvsan.pyvt.pyvt_helper.pywin_chcp.pywin_dacl.pywin_dotnet.pywin_functions.pywin_lgpo_auditpol.pywin_lgpo_netsh.pywin_network.pywin_osinfo.pywin_pdh.pywin_reg.pywin_runas.pywin_service.pywin_system.pywin_update.pywinapi.pyxdg.pyxmlutil.pyyaml.pyyamldumper.pyyamlencoding.pyyamlloader.pyyamlloader_old.pyyast.pyzeromq.pyzfs.pyversion.pywheel__init__.py__pycache____init__.cpython-36.pycconfig.cpython-36.pycerror.cpython-36.pycfile_roots.cpython-36.pyckey.cpython-36.pycminions.cpython-36.pycpillar_roots.cpython-36.pycconfig.pyerror.pyfile_roots.pykey.pyminions.pypillar_roots.py/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/salt-3002.2-py3.6.egg-info//usr/lib/python3.6/site-packages/salt//usr/lib/python3.6/site-packages/salt/__pycache__//usr/lib/python3.6/site-packages/salt/_logging//usr/lib/python3.6/site-packages/salt/_logging/__pycache__//usr/lib/python3.6/site-packages/salt/acl//usr/lib/python3.6/site-packages/salt/acl/__pycache__//usr/lib/python3.6/site-packages/salt/auth//usr/lib/python3.6/site-packages/salt/auth/__pycache__//usr/lib/python3.6/site-packages/salt/beacons//usr/lib/python3.6/site-packages/salt/beacons/__pycache__//usr/lib/python3.6/site-packages/salt/cache//usr/lib/python3.6/site-packages/salt/cache/__pycache__//usr/lib/python3.6/site-packages/salt/cli//usr/lib/python3.6/site-packages/salt/cli/__pycache__//usr/lib/python3.6/site-packages/salt/cli/support//usr/lib/python3.6/site-packages/salt/cli/support/__pycache__//usr/lib/python3.6/site-packages/salt/cli/support/profiles//usr/lib/python3.6/site-packages/salt/cli/support/profiles/__pycache__//usr/lib/python3.6/site-packages/salt/client//usr/lib/python3.6/site-packages/salt/client/__pycache__//usr/lib/python3.6/site-packages/salt/client/ssh//usr/lib/python3.6/site-packages/salt/client/ssh/__pycache__//usr/lib/python3.6/site-packages/salt/client/ssh/wrapper//usr/lib/python3.6/site-packages/salt/client/ssh/wrapper/__pycache__//usr/lib/python3.6/site-packages/salt/cloud//usr/lib/python3.6/site-packages/salt/cloud/__pycache__//usr/lib/python3.6/site-packages/salt/cloud/clouds//usr/lib/python3.6/site-packages/salt/cloud/clouds/__pycache__//usr/lib/python3.6/site-packages/salt/config//usr/lib/python3.6/site-packages/salt/config/__pycache__//usr/lib/python3.6/site-packages/salt/config/schemas//usr/lib/python3.6/site-packages/salt/config/schemas/__pycache__//usr/lib/python3.6/site-packages/salt/daemons//usr/lib/python3.6/site-packages/salt/daemons/__pycache__//usr/lib/python3.6/site-packages/salt/defaults//usr/lib/python3.6/site-packages/salt/defaults/__pycache__//usr/lib/python3.6/site-packages/salt/engines//usr/lib/python3.6/site-packages/salt/engines/__pycache__//usr/lib/python3.6/site-packages/salt/executors//usr/lib/python3.6/site-packages/salt/executors/__pycache__//usr/lib/python3.6/site-packages/salt/ext//usr/lib/python3.6/site-packages/salt/ext/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado//usr/lib/python3.6/site-packages/salt/ext/tornado/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado/platform//usr/lib/python3.6/site-packages/salt/ext/tornado/platform/__pycache__//usr/lib/python3.6/site-packages/salt/ext/tornado/test//usr/lib/python3.6/site-packages/salt/ext/tornado/test/__pycache__//usr/lib/python3.6/site-packages/salt/ext/vsan//usr/lib/python3.6/site-packages/salt/ext/vsan/__pycache__//usr/lib/python3.6/site-packages/salt/fileserver//usr/lib/python3.6/site-packages/salt/fileserver/__pycache__//usr/lib/python3.6/site-packages/salt/grains//usr/lib/python3.6/site-packages/salt/grains/__pycache__//usr/lib/python3.6/site-packages/salt/log//usr/lib/python3.6/site-packages/salt/log/__pycache__//usr/lib/python3.6/site-packages/salt/log/handlers//usr/lib/python3.6/site-packages/salt/log/handlers/__pycache__//usr/lib/python3.6/site-packages/salt/matchers//usr/lib/python3.6/site-packages/salt/matchers/__pycache__//usr/lib/python3.6/site-packages/salt/metaproxy//usr/lib/python3.6/site-packages/salt/metaproxy/__pycache__//usr/lib/python3.6/site-packages/salt/modules//usr/lib/python3.6/site-packages/salt/modules/__pycache__//usr/lib/python3.6/site-packages/salt/modules/inspectlib//usr/lib/python3.6/site-packages/salt/modules/inspectlib/__pycache__//usr/lib/python3.6/site-packages/salt/netapi//usr/lib/python3.6/site-packages/salt/netapi/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/tools//usr/lib/python3.6/site-packages/salt/netapi/rest_cherrypy/tools/__pycache__//usr/lib/python3.6/site-packages/salt/netapi/rest_tornado//usr/lib/python3.6/site-packages/salt/netapi/rest_tornado/__pycache__//usr/lib/python3.6/site-packages/salt/output//usr/lib/python3.6/site-packages/salt/output/__pycache__//usr/lib/python3.6/site-packages/salt/pillar//usr/lib/python3.6/site-packages/salt/pillar/__pycache__//usr/lib/python3.6/site-packages/salt/platform//usr/lib/python3.6/site-packages/salt/platform/__pycache__//usr/lib/python3.6/site-packages/salt/proxy//usr/lib/python3.6/site-packages/salt/proxy/__pycache__//usr/lib/python3.6/site-packages/salt/queues//usr/lib/python3.6/site-packages/salt/queues/__pycache__//usr/lib/python3.6/site-packages/salt/renderers//usr/lib/python3.6/site-packages/salt/renderers/__pycache__//usr/lib/python3.6/site-packages/salt/returners//usr/lib/python3.6/site-packages/salt/returners/__pycache__//usr/lib/python3.6/site-packages/salt/roster//usr/lib/python3.6/site-packages/salt/roster/__pycache__//usr/lib/python3.6/site-packages/salt/runners//usr/lib/python3.6/site-packages/salt/runners/__pycache__//usr/lib/python3.6/site-packages/salt/sdb//usr/lib/python3.6/site-packages/salt/sdb/__pycache__//usr/lib/python3.6/site-packages/salt/serializers//usr/lib/python3.6/site-packages/salt/serializers/__pycache__//usr/lib/python3.6/site-packages/salt/spm//usr/lib/python3.6/site-packages/salt/spm/__pycache__//usr/lib/python3.6/site-packages/salt/spm/pkgdb//usr/lib/python3.6/site-packages/salt/spm/pkgdb/__pycache__//usr/lib/python3.6/site-packages/salt/spm/pkgfiles//usr/lib/python3.6/site-packages/salt/spm/pkgfiles/__pycache__//usr/lib/python3.6/site-packages/salt/states//usr/lib/python3.6/site-packages/salt/states/__pycache__//usr/lib/python3.6/site-packages/salt/templates//usr/lib/python3.6/site-packages/salt/templates/__pycache__//usr/lib/python3.6/site-packages/salt/templates/debian_ip//usr/lib/python3.6/site-packages/salt/templates/git//usr/lib/python3.6/site-packages/salt/templates/lxc//usr/lib/python3.6/site-packages/salt/templates/rh_ip//usr/lib/python3.6/site-packages/salt/templates/suse_ip//usr/lib/python3.6/site-packages/salt/templates/virt//usr/lib/python3.6/site-packages/salt/thorium//usr/lib/python3.6/site-packages/salt/thorium/__pycache__//usr/lib/python3.6/site-packages/salt/tokens//usr/lib/python3.6/site-packages/salt/tokens/__pycache__//usr/lib/python3.6/site-packages/salt/tops//usr/lib/python3.6/site-packages/salt/tops/__pycache__//usr/lib/python3.6/site-packages/salt/transport//usr/lib/python3.6/site-packages/salt/transport/__pycache__//usr/lib/python3.6/site-packages/salt/transport/mixins//usr/lib/python3.6/site-packages/salt/transport/mixins/__pycache__//usr/lib/python3.6/site-packages/salt/utils//usr/lib/python3.6/site-packages/salt/utils/__pycache__//usr/lib/python3.6/site-packages/salt/utils/decorators//usr/lib/python3.6/site-packages/salt/utils/decorators/__pycache__//usr/lib/python3.6/site-packages/salt/utils/dockermod//usr/lib/python3.6/site-packages/salt/utils/dockermod/__pycache__//usr/lib/python3.6/site-packages/salt/utils/dockermod/translate//usr/lib/python3.6/site-packages/salt/utils/dockermod/translate/__pycache__//usr/lib/python3.6/site-packages/salt/utils/openstack//usr/lib/python3.6/site-packages/salt/utils/openstack/__pycache__//usr/lib/python3.6/site-packages/salt/utils/openstack/pyrax//usr/lib/python3.6/site-packages/salt/utils/openstack/pyrax/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pkg//usr/lib/python3.6/site-packages/salt/utils/pkg/__pycache__//usr/lib/python3.6/site-packages/salt/utils/validate//usr/lib/python3.6/site-packages/salt/utils/validate/__pycache__//usr/lib/python3.6/site-packages/salt/wheel//usr/lib/python3.6/site-packages/salt/wheel/__pycache__/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17234/openSUSE_Leap_15.2_Update_ports/c1c96333d148a48c45f855ea5dd92764-salt.openSUSE_Leap_15.2_Updatedrpmxz5ppc64le-suse-linux   directoryHTML document, UTF-8 Unicode textUTF-8 Unicode textASCII textPython script, UTF-8 Unicode text executablepython 3.6 byte-compiledPython script, ASCII text executablePython script, ASCII text executable, with very long linesC++ source, ASCII textPOSIX shell script, ASCII text executablea /usr/bin/env sh script, ASCII text executableDOS batch file, ASCII text  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X YRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR4S!:^6Ys,# force re-generate a new thin.tgz rm -f /var/cache/salt/master/thin/version rm -f /var/cache/salt/minion/thin/version/bin/shpython3-netaddrpython3-pyinotifypython3-Makopython3-gnupgpython3-timelibutf-80359ff642de74ee0b117c8cc43e226c452d0f0491b2d36f9c9592b55f257b8cf?7zXZ !t/kS*]"k%pa  0X.s{6Ī.@B|PXQMz:}{~t!.ɪ,湶αP ѧ0A {41 Xƨɻ:!{JD$wn4H:jyRtJ<&mQ XkOz\ *THʐ jlV:2\Nzk5fc9Gr77Z>P'Ϙ+ƘM4v*o>ҦE75Ⱥ=~D4zԣ1~D+Mq2BJx {m\sY2هDK.Uq8 pGf*0]V8q$Iy/0|Ǵ%]ӨִrȠiĄ+ T[(9MӒ"if_$zM<ۡ-}EE=uު/lGdp3 HRD˾FM!g ES"Ov; 4̢͊4!4\=rpzE;cO΁<@Zr~ p>d Tgiuwt\oKyܭk1VfFީcp3=*48įfL }Ns7wQD9ewUGhྍ Ky$ҕY_|GAa-EEMͼS&sSDN=}3]<L2Xw6q]`2]o.6" wao<.Oy*2\)ADI^8{(#w"$A_uDž)~}a\QbY$3D*FZy8"lvcRFOu҃Xȿ7W0ЂXlD&}=]n7g✚ڭP&z[;LGb??13$vfWMŘqz9;*~W1 ZRg |:g64L+we\e.gx@@ ۙvP?fb)K-5#K{)4 a#[~e!-u2UPe cE7%׿9Vјx n<޶uB`VZcwM ix:/)fY\9<@rFSxK]-pJs[a `@kG5Y]6&= KۙYe8PPu贪nvR3Cy$= v.J`njAO7wpKX 0DВN@_xM:\Y\\Gt)o32n)2.f%v2G)j :S18lf3-\OW_alWȗm YؠdQz!r7"yto=eZ\eroْ{Pcz(u|B&bCܳu̻EIˍu=MV,l^glTr|Eo'A @rD$s?iz) &1.HnJO!^VZbMl/ɱcg;h2@Y'Ҁ +1";IQ"JNl~ȀXސ A]]FhJR+MJ DT}dr 1a}͓$qy D?{J[yRrϮmzWQ]bn t}_͠"rhZ>f:uBqo'S*^Kh )%wI K#0A-!}#FgRH.uNqDYzlڔLʬtx am,gWp5ٗI5Š B)X1;0|J 1H5*tZITKUwv_X^V ڌO;yqM NW_WL.fh5QQ]ZAdGܫ ss]wA!vIƐ9yEkY]HGd)i: +/H6BTp ,:7Y߉\J$T ~Sz&* +i6)e9.NLNHYe %[j1_6f{Y7[}4ߟ/Dd|ƸRМ`Z 8pFaт*}]ZHU0#]NT\}bDw(*Ns&_d$1]{(H퉚)[J"dC.X[uG*aZ\hߞJ٠],ȻTH!gR')jRM!6+@+#+BwwoGeO!J*Y]'hgg8b_(/XbW2%@]4$9̹X24o!p9)201(>梋_L?xKC)7pn5c@RAٖtwZY"gΓ_b߷Y>IIݬ}/y4+pM/j,p>(r!ql&ܠ[ρQ?`aU*ڂXP`!q m7b~\[Ys$Un<="HPH 6|ɊJ;aݪ?\hߦc!,}5ג8ΩLԢ`kf"b4>QȸU2&[T@n-#>ZyxHuoY +^GNuC^bSuMb\$0Yt8cRACY,FZ](Xjw"uV0>ޚQ]M* 9Aiܼ(Ս'mYarͦ3 z:ē q5Kؚ[l4$gM^ 뉘YKq#E1(zɵp=E#k)V "tDB^Bq/ § Vڗcso =] nL׶7uq&XcuqjL$r:8Z=Fӟ,* =7#M,̑x#in9"/.lS^'$fBY{y|Ƣf1rw7 u+b$2鹉]J)`Xn𚰞)h!Dy7F aEeqا"zɂ&n'־Z>"6ۋ %AgƟn% CBR@}DnRzf6Ե%SHqj#3.VFHW8i<eG#+n`AQei~ikzXQ<[-ԧ4+9j3@8eyhqTRb{}[,mlu1d8cmrUr\rk2B ٪SV~SP~A.FK{$e9}f}Vs2$8DoFeRy<Ɍ?;(;r*Qu~w5PDtI61W  lk c7{\I@"ǘw7Y+_ЫX/?P4J tg7evY\[c:vǻ;qC 3FDRZO#1w9\`'?E֟_n`UaϭPά(/En8wL2%MBli7MZ?*hOIsڇ.lp9R4A%  Q*SƬ#ޤЯ![, b %p-lzιau)falP=~}O8e % QH!]"QrIh8:"f˺G^Va(ԃ'FkCgcbž{@7tg-9{T%[N\"-n0O4$lau YK$~QP\"}r%e³:ԁ&[_n%#uFRŸKVToz3qu sSgF4RʺEM}UQnNOyuz\}p?2h}%E.&[M1 } j*A&d=(Ϝ`ʝҡ C[r0CwJN_&|ԞNV[BZA,*^9~4񿤾Ix̏&)5I7 KxJ2YC4C(! q,kwObg.(r&G=͌/6 'B= 0,>\+nԿm33 P"nn.hM6$9TJ@9aPL) cPwGp\l3y*ȫLO´SMe; hZ94u_3j7d# /bTR#jVűfPĬ)TCPia{g[(K|N7!U:eڔ0$zU0%ԭI?58|ŕr" ˝aA岴x?0PE.0J;e2tUP=J4^ w #8NU|{C?XW +@gw5Mz%ڢp?%%P| ɉ~0җ`X*xl'8 8{qIoZp[qoƜt\tGT'VQ3:GUa.gԟT껣3JN?YG4u#97*/(]e^ u \(ufs:!cV^ .N*$^* *h3kO/T=kJ\r1pE w6N}P;k2}uI~ޛUa_#Ә={ɭcYBZk8Tm Ld:>v itB`D"♧t ^G{Hb"3cr칷/ʽ9{YQYH QWqUGvE)rC%u }cUvGV^L }4dJ] A.VƝPV FփT+$SuGlR|Aɜҕ6L`:&E*ZKcf3?V@Үekqk. 5ҞA4&Ϧ&_.Y]rs`- Μ2"p.;6\`z?_,n6|D^w[[k$CxkyD6W Bb}5TI#S G4S؊{;^(k2ŭN+`}nRrZ{ @4KMsۖ%FͿ%y 5X]K aDUqAe`s3REE1rh *E@/ؓm՚"ɞ0C,y}ӇlB,Jhsp V5RQǾe޻\SAy Дr7oUugߥe/|'p utćCxj[.%ރ`8e|$祠5Jx5YW)l=}Uު  T6{{qag{wQ4H\Z~2!Zp娺fY/tb$TܞAjwY:'#990w}|(K%FSQM}‰m^ Yɼu̧E0Le?i I~HytdŶ&8ye_.%\2"kR'7kb7vnZ&C2pR T S~%yr|Lhgʤ Tx[՚?uaveͲ؝3UѨj* {yZg*Etn{=5_̤f $g*@Npi*߭,5.eVGhXPw2N^eHGhDyƦO` իjzIYA٧bd/L/I2쭈bE =$\/R9WJG @|e6֌B3ӛt\s1B\ua Y dծ W0^+EρojZp`cx~*j 97#y[vigmXp5#*v^?qNa#W`r^XQю{;oT"|;CS52uJke& y>FEnjhO';5<)Ӟ^q6ZpR" K@v@V{8=(\`$ZRݭy*)S ;䬺wiy`F&0l JGD_4*X */-,"( n5{5 vw>!ѬP&.׆D{bkEilG3J|6r1UDQlA:)Cx(zF%;Ծ;WB֐iE3]]et RK naOG+]6\-;J̲xL%t^o0hz+Q - 5;ܖYQx B_)zk_@"'j}-&#d=FJِfC!ꍢ0꠿Z\5n͔v]Fe F'ܲ)`X 2.By-=ۡө6r2Iy<F`35Ijs˳fᱢbxyZ25oKERzLZ;,' SK>%[ f<J%r-:M7g v)F'DN7c-imέAm` ǒ,^PMD;۳}b9wY3E0+Je#"|ϐlSVx'vׁ$d8,SD0og|rhp$#ԗp o!~bHL"qjֹ=3]1[?k~SsS kh+A]і c KZaiK 688I6pcP&ozoI  aLwY>t5O5Ƞ]NϘlB>=\CR EͣLIBƕ84+ax @k*w6 B~)vjoD_d6{uT+}Z,a,wZ;_|:tOmcPhcyU yD*9rBc(/E#Wm$Ńe#n7::o|J2]$s)r;֝I5~;@\}h1p+;I>kFC&ֽR,B:̠$R7PF$վ~IhyȀZ%WA|ƣːZ7n!g^XYH:O,;f=T飊8 6ٓUlbzZ{ˀcB6M2əlO Fnn+28Jx>@<ˠ5S̨Cb۹A֭si:@V0sRxK/|A8wj_\^؟-[Ҩ3ؔ4i0 EŤF?vߏ{<c{Hu7rY6v !Y`ʵ;`׽`ڻSz%W(}G̋nJzV}QZq+:1F(]gt@+Sڪ,F}H>8[kOxP|]1Uj](X )ۯn bS M&Aaz┾Ne!G{k1I`Q v}1nlhQ|Gp) Ems|I?Ђ˝dt7xaXI,Gw JpjLupuWݗ_sC^NBD/i&S`-fx0#&rmrJy5I=:S!9S Op%d-pEY #c.3{ȩsGgFvxDUOܸE2.XUY?uDyqf2k p+Yѓby)J׀<ϹPvx% 4o:O񆮙f!B(V IY˦6/Vk?6e' gٯV,9Q}f/g7?Bv;T)(|&~٬艛&Jxxޗ#zwϝJDqMm =%ʷy.!AfYQ(d;4YPft`Ο_XAYwTGTɠN [GKOS1<7mLTo0<0,΂(W:aMd 37u=5cuf[D cLҎ`PW81B˼<@y ͆5:o.m6dԊ;FyY65М,/DFǖeDR4٬i(L %AY*B>ǻx*NR2qR97dA5&r7Ypz@Z:ҰU O jD.5.i7rɪb_EԿ"^af6&&-hl9j/G ȭ0fNPrVQK:r.Q*x!JvCl&վ`kDkFkGfa,dS:# ~I9bA7Ged-|,"x9F%}7h/B:cF5:Xeӕi#5gnL9 pV3t.${j|V*>,6->$;,$F;/qmWnKΚF(P@ܵYɋ=8/:NJD VQZqy@,ca@R^"3*GޣM|)w ytns'pzA6WnIq=As@K&8}|fWW8e4mk S/ۧ\6ĢQ|XyR]5Jgk']kjUH'f9wJ8*aoj/x<"*a QRx}cc$-: lL`ȸBs`R0$jVP 6`!VW ~y&iήh'z {سYv~7d-d4[JMm̖`㧄j0S0 '(t\"s7Fr3czO~#(:$b(FՋdZЄޠ dG8WM;Ԥ |2XǮz O62^FL4keoVNVo, (<dN\= ʌ‘|i #b51?Z Jh>e?Z!{>]V䃯,%,s㣨2&FUnzZcV5@&IiAoQ@ ,T +ڪLb4p^}soAj&=gszZPEB#fY?|eaWv^)H%A\>X.96=a2;wsK/!G~#ЁJC.p`+'\J dfuu< jP}?vE{) EaU s?td\ }ŷ :۱Wr8Q.T{fX^V# ,@_\ԀO d⻬{<ܠ-OthCw/0hyJ^I.t2ʸ(|ah&KZLXr3%4b"ebM}. uV4:C(_-pF5k<[uAm2ܶi8(rStZ (1b[Xޒ60ܥݴ$gEZtJ0]Ar;'%ѐCqվ̦S Ƴhr1$$S t M@.B?8CFӺ)p!So2=gp)p+F ʍk6lݏ豟 f0|Nbz %r Ր(لcZ1dKVJOB+CUvX`1(@=z$%Na*Mל[6G$ ֶԅ.]7<6w1^1S[HN{_~p%CGMXI 1eE 7 3Rba0S_yz"J%R9Mh$p%-nKп[7 a}),f[m8;p\mδQ4߹iݽ;pm=s"cK[6ĩ3VNjǧ0=EMaגBR5MnJ;D#ws@qI-Y;R;n.(.ͼc,P?ZNJT"S_N A:;>!]\G ^g^qe5 t EfDX{ھ%$i:G$#Ĭ+!CQ'.IUt4-RH_ QgѮ07^={qX 9 yw]?6`maDw;fve*z^?]k9v2_l<\1AܵXMZGڹ{o0Z4> ܟe).1\@h:GZ`j_ Cqg0`ƠP@ZA`Dq?xへqgL9mUjGh9qp8X ط\w}zڄY5m>kE(ۀr 1-{0)on$|$("IT&JwďBvQ;[~=$3m=[l@WXQȔZ޺)qz/kgp"[M,4esQ # ٮ ^z58*Nd- #qeޠ5ng%YZ S 04WŃfXoԡS1)ҊeU*hڠTBW:$OňyAA[cDHHTt!N[~>u,isU/Z1:#d&m7_L.r&05uO%z-< [;QuwN#r2$R5׎",CkZg-`:F5 j34IELdFviS؞8Y]#qӱ"(l2hsId"Ƴ1C2r)2EF Jm-YSMc 0\tآGQ}R%+ P%9Ee+)%v{:< p?< " $Boej#.YI}y7~'m|\`qt4ЕWhi5FWm׾(j)в8gͻTU癵+8 ҀlxyClDrY B!2͛B[yH>"Y*"k9lO I7;CI=YY Qߒsk.I tdQ\FCS`wK$W{}@g N_;k*wa4ۀcwi @j5$]kI ,Ga\߼lUs;HwbE,i^ے{b-R\4HM Ɛbb%a5K(;~b3os NYeM ˇ oXN`}OIN0O!!ܲe>{IFP`GF{#"?vavy N4DdjYCH2K`c9ૐQ ºLq9;,*N{'9bp |J0Rqg%VqJQ_IG) -e868yFް ԉfPIbkzg%Ӄ!# $8ÿՏ> ^oQ~USYdq-G@ pQk-+AL,hyx *e W^t(ծd{:1 E XP*ʦ%2@$`O@9h?iNZ[ _B' : A?haI_KΚW2,LE>X:.?e{N?ѝ4h3нyD[1^" ߉-߶NF' =`uƦc`7B0%|XҀuPHDήug7\)0bw[f^l ;R!C~浛sD[޶zv'O`F[E"'Km/sjȁS #Fd?M/á>$+B-')4'l"u 8l )GovMb8nm*Kf*(3@# wW\v%}ko)FBrs̘ |?9\wdԡV)Sf~nZr`Xqh^$#S 2V*2yJ(ίa4J) cQ t ʷL<af*y(?Su>i^d˸7[:X{hf륌,ړ+n2<޾>8h#}Ue>]_M]exRp?EntͧX8^^Z|ޢ8 Cm KTqJF>gqȩ276f&ƽˊ{JɋN(]@z}[.ԟX걮 1/ʚ BIn.y3rO7ô=b/aI;&Fz~w]h@9dX?kB˴@w+0$g,39U{6,rxY)J|9mߤTF =O ~򡱬;- A[ɥ"g>O6S:J+G l[t "XDpZG=*}g)za_3'Im$yHФJD!`z08y}նee[u$sgpF ]mBK8d(8^Ny_FpR-)Sc~ Q*v}|ꥌFPL FFĔÇ!NwOMH2bd%8P\T2ɤHlWeuVֹy/Tsm$ʺྫ*wyѼ˭9𺻧+N7gCKMΊqюу5 Ѭ;6"iV#=>޴M5 +w?:AɆR3xSNե&3-/($g<ĥi=xZzq0B*H&HgZWN֣*faTxoU VҪ{siUAFǑƷ2gq^Fb42wh8*W)J}YM8C토 ;_ q 45QTq6YL-L+ d`'窷S(ؽ7!|͚Nꦛ gU-nfΌ zag;Rbg^zqhe9mdud+@r.O~dVa@zRockicV,pa9PJBdL Cv{2 Ɣq%6̵}9"ڼxӖOɹn;}661硡M|0_Sp>cI4?k]ibfQjn kClACȒt#S4>M=Fð9 >[&h鶂7Gl;߬ 5 a&9䩣IݣFl.ƞ](7l'E'KY!m 5(HTښO%200z_:*w[UޒAA*"ғubM$s)[~my)=Rh1=3"?9zwD][hUMN! 0F g̕(,t4L-^2+8h7f܋g#6m*!TisŇ-kMIp^uT|=4P~$Ɔ x?xBN-sw49zW kh:S'sA ^rqc&vlD;sBTc=#7{dT=!У"(N:ur}"84LdGH 0tv.CrF2W+r_nTyS堥%q*!Uts)QIǭ>7_R-gI/.K.H?%٫4lKu ԣqHS^ tPe= };EuM s*]gtbvC<ػGӱAeŔΔz1vdt4@n-N#x֒2?>. 鮖G_6Hh