python3-salt-3006.0-150500.4.55.1<>,@hkup9|m]koJs8l]9 PF|&qA.NRu wtRqp-*XPLY}epd8IO5-gVե[@[ROr#nf%rIc>ʛzۥ_{TxIdbQ~%UQRN0M L @? @d $ =`dpt XC `~ }  E U##^l^#_@#a_#(a8a9hh:=i>i@iFiGiH|I@XY\L] )^ 2b Tc U@d Ue Uf Ul Uu Uv w x `y $ z ? ? ? ? ? ? ? ? @' @, @8 @> @Cpython3-salt3006.0150500.4.55.1python3 library for salt Python3 specific files for salthkuh04-ch1cSUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Managementhttps://saltproject.io/linuxx86_64for SALT_SCRIPT in salt-call salt-support spm; do [ -h "/usr/bin/${SALT_SCRIPT}" ] || rm -f "/usr/bin/${SALT_SCRIPT}" if [ "$1" -gt 0 ] && [ -f /usr/sbin/update-alternatives ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/bin/${SALT_SCRIPT}-3.6" fi done for SALT_SCRIPT in salt salt-api salt-cloud salt-cp salt-key salt-master salt-minion salt-proxy salt-run salt-ssh salt-syndic zyppnotify; do [ -h "/usr/libexec/salt/${SALT_SCRIPT}" ] || rm -f "/usr/libexec/salt/${SALT_SCRIPT}" if [ "$1" -gt 0 ] && [ -f /usr/sbin/update-alternatives ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/libexec/salt/${SALT_SCRIPT}-3.6" fi doneif [ -f /usr/sbin/update-alternatives ]; then for SALT_SCRIPT in salt-call salt-support spm; do update-alternatives --quiet --install "/usr/bin/${SALT_SCRIPT}" "${SALT_SCRIPT}" \ "/usr/bin/${SALT_SCRIPT}-3.6" 36 done for SALT_SCRIPT in salt salt-api salt-cloud salt-cp salt-key salt-master salt-minion salt-proxy salt-run salt-ssh salt-syndic zyppnotify; do update-alternatives --quiet --install "/usr/libexec/salt/${SALT_SCRIPT}" "${SALT_SCRIPT}" \ "/usr/libexec/salt/${SALT_SCRIPT}-3.6" 36 done fiif [ -f /usr/sbin/update-alternatives ]; then for SALT_SCRIPT in salt-call salt-support spm; do if [ ! -e "/usr/bin/${SALT_SCRIPT}-3.6" ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/bin/${SALT_SCRIPT}-3.6" fi done for SALT_SCRIPT in salt salt-api salt-cloud salt-cp salt-key salt-master salt-minion salt-proxy salt-run salt-ssh salt-syndic zyppnotify; do if [ ! -e "/usr/libexec/salt/${SALT_SCRIPT}-3.6" ]; then update-alternatives --quiet --remove "${SALT_SCRIPT}" "/usr/libexec/salt/${SALT_SCRIPT}-3.6" fi done fi.WO^ bN&SM]}(!6=6|_$%S:0+`T?TqZ/O l ^B!wY 3. 1I/ @t m R ?m $ A M . < H!  Ek!!p! v l. YS.5  ?>A ) c Y Q )//:-_{"m:C( LGD\9VIx7W 8L*;bPz4,%QHII92I:_#P`6#;V-$v B_1?0enw fC.%+5A6S t&N4m.kZ.E Gr{ 5A|c_>G_q?A, xZ=2NLJl&q1tD,`U(/C 5i P= _drFS [ &w%hL)0 fw<   7(4Ud.X M{: )mi}.@!?"% 8#'-/B Mi/g< %y_E X6O+nk&E/b6>& c+Q-3.ayQ+-> GJ"DmV-Ymn>I4$1ƅ7&`xOW(@W*I@Gq4/{.5D`d W J d )E &8d:R&,{}  B e  [ ,a#G}|\mn,ǽA,| 0= %)3+BP7]!o  4Qbp ;E^c1J~S[Chd#+H|K<;) bZ2a3R RwAoA0nGb8 w#TO>P| ?)C`O $80$"+hc,S?/H1 p $Wn7;Skc}eXf7Bw- @+y%Nr/}t D3 #Y6u&#`8 |":lL@g#m8RwqUpYqcWY'g5)zX + 6p,:! Q#()qSP@3.#0#(G"9<F=/vjAI&| d%AWP8 |@98@BK/M8 Q2$f2 GW38+3  ҿLbF  9VosagKEVI'm0+d:.! #ZA)!Ci g j*|1BA(54/ w="6 lPI*. U"58*0Uj 0In 7Q((WZ `"*eeo!/qTJfGLY<9@ -f r";%$wZR4$~  %h{ @ B pe i#~ڎFH2 U]# OU,*]<Ւ#sE/Q '$I\b%uan+ / >+x zD/'Q ?@ =i>^ 'i<6\=IR9,* ;P,q/ cDR 6EE*TYU@[A% &>6. tRv/( i*Y,d zD D %y3@ A66DA)ZX ;HE P:'C-|I -;t .M1KLUGk@N)Dc'z2 `-cCm4A''ko 4F5$5,I1VwY[M-38 LJF`+Sl[ [0=5*yI2}`HN(1 ]@=‚X?c*"?71S5?6Kp,soGoZ԰H3m29+%:;=82^?g+!.~hN~E,501dRk+u&)ا7 Q?D .\;*W%)@C33~-pX(S@,!DcxB/8$Hs"{H. y>P+# O# *"<,~#TD'42"(G*gW$! MN2h\yWA/| T F(d[ ) ?n*1:o%~<\&A $77Rn'YDP- -(?V 70,v]q?1'd#8 !AF5Cn<57m+Z$@`K?`=i)p, ;&' Au% PY^a-o < #)b K0>Z !z&G+V( A CL%Es)T+C4"6, Y @ % + 2 Cq >t J f+o _0 j2*,:B3 '"OE 46X70"o$ .EaT" G- U! '2k,F/2#V-!c&NF? jEjHhe 3 c#aFV.'/$[ 8 FXk$H . 8C  sO (  ` f t R Q A }+  S WL2kz`4~b]a& a&OwR'gUl1!U*#r Z%64J5%Z#bUHAi& #]'L77(<Ivu e0 *t(F9!YB*4c A1;  @R5G)8(t Ki=H@9}h<d<& 'u0,J1=+DJo@$4A r  z1q8N> G cB  n t : AzIJS|A1+ Q# Y <>R@hP  5  8:Tgt  -8 q!_uvmM3E 28G X  #q )s)-u _zR)3jm.K - f va U"  t v  ,,C U0`#%g&4S` \ y (2/  ) e!m!Q(m g z u50qwbE  %Ac !B!)/ rVJ : R1-Tc_B"#lT  X&*E X/h8dpRU)2KP.41O6IuCC1j0l{eUB0r,.hM%Kb{#! )\ Fb9L 9!]'2WaUA!i*Q ? YEPo,' \Rn[jm U00oE:F<>I'a&)M"$H{ g NlG\]d2!&n_ qG# lx ; n WO "Xc O#a p5RXX*Xr8` y ^J d  } #1!4E&$2 -N@f_,M,z)} qDDYQ !-a O" `q`|% `- !1 EA,4;!K|~;c$k8>():(7!A Go n%gmCFb&& r $A$.35 g /E< gT7 00 ^ k<puR&8 A X&*r ='4 % N h 2D u 0;4: _"pl6 x;~ |z36| '= ,< uS_0 V$m#G#h u WW nC* uJ ; yT)lZ# E.W` Z> 0 df-,`w3& y)DB"# {i; q < d0%+.G < %+ $, 9.B] %B &6C49 IKY}l9gE +"m<0$) +a,>4jHϺ.y 5c8+I OQ-M!n -d +H8*" 6sZ~  A-M/H eb%/Mj#x oXV ( oZ t & >+ 8 v;js6QE\'34l!sbU > ,'@ h 0}!GnY4  Kn6 M  ]{*K #9  $N, ;!cC`;# 0` ]_VjMD ?YD}~62!GvB> N7d{3*"9p2<7] v6l* kL2 : 7` $66vɁAA큤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큤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큤A큤A큤AAhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhg@hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?hkud?hkuhkuhkuhkuhkuhg@hg@d?hg@hkuhkud?hkuhkuhkuhg@hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hg@hg@d?d?d?hkuhg@hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hg@d?d?hg@d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkud?d?d?d?d?hkud?hkuhkuhkuhkuhg@hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?hg@hg@hg@d?d?hg@d?d?hg@d?hg@hkuhg@hkuhkuhkuhkuhkuhkuhg@hg@hg@hg@hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhg@hkuhkuhkuhkud?d?hkuhg@hkuhkuhkuhkuhkuhkuhg@hg@hg@d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hg@d?hkud?hkuhkuhkuhkuhkud?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkuhg@hkuhkuhkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?hg@hkud?hkuhkuhkuhg@hkud?hkuhkuhkuhkud?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@hkud?hkuhkuhkuhkuhkuhkuhkud?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkud?hkud?hkuhkuhkud?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?hg@hg@d?d?d?d?d?hg@d?d?d?d?d?hg@d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?d?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?hg@hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?hg@d?d?hkud?hkuhkuhkuhkud?d?d?d?d?hg@hkuhg@hkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?hg@d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?hg@d?d?hg@d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkuhg@hkuhkuhkuhkud?hg@hkuhg@hkuhkuhkuhkuhkuhg@hkuhkuhg@hg@hkud?hkuhkuhkuhkuhkuhkud?d?d?d?hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkud?d?hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hg@d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@hg@d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?hg@hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?hg@hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?hg@d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?hg@d?d?hg@hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?hg@hkuhg@hkuhkuhkuhkud?hkuhkuhkuhkuhkud?d?hkud?hkuhkuhkud?d?hkud?hkuhkuhkuhkuhkud?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?hkuhg@hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkud?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkud?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?hg@d?d?hg@d?d?d?d?d?d?d?hg@d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkuhg@hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hg@d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?hkud?hkuhkuhkud?hkuhkuhkud?hkud?hkuhkuhkud?hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkud?d?d?d?d?d?d?hkud?d?hkud?hkud?d?d?d?d?d?d?hkud?d?d?hkud?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?d?d?d?d?hkud?hkuhkuhkuhkud?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?d?d?hg@d?d?d?hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkud?hg@hg@hg@d?d?hg@d?d?d?d?hg@d?hg@d?d?d?d?d?d?hg@d?d?d?hkuhg@hkuhkuhkuhkuhkud?d?d?d?d?d?d?d?hkud?hkuhkuhkud?hkuhkuhkuhkuhkud?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?hg@d?d?d?hg@d?d?d?d?d?d?hg@d?hg@d?d?d?d?hg@d?hg@d?d?d?d?d?d?hg@d?d?d?d?d?d?d?hg@d?d?d?hkud?hkuhkuhkuhkuhkud?d?hkud?hkuhkuhkuhkud?d?d?d?d?hg@d?d?hkud?hkuhkuhkuhkuhkud?hg@d?d?d?d?d?d?d?d?d?hg@d?hkud?hkuhkuhkud?hkud?hkuhkuhkuhkuhkud?d?d?d?hg@d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?hg@hg@hkud?hkuhkuhkuhkuhkud?d?d?d?d?hg@d?hg@d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?d?hg@d?d?d?d?d?d?d?d?d?d?d?hg@hkud?hkuhkuhkuhkuhkuhkuhkuhkud?d?d?d?d?d?hkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhkuhku4688f5cc4231357f591cbd3920987d24105d64b54794ad32d8c59d8bae9cf34dc303d7f09bacfde446f0886ed61cac4d9918d9eb795be9e425b65d383da5e20607cc9926e6259af0d9a5829c29feb6b8d60e06f5f7bbba411c3951203e4f5a5af0c5bdba67aad7764a5791620f5284278e54399bca81ea415e07a5511bdee03da5602948c9e1c6ede8a9b74d7a8dfff0443d583ba7bc495e00f6275463e8999d01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b4ef3f928644e7a75f67ca26e50d0a9b82ad0f94c53880a5d6f9071f7055b011601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b55da85015c8f40d662b6b6ad2d116deb042180b63452a637d2427748d48545bc06a4b397fc7045eac527c2aec3ff46cee5ce30016c760f238c26e79902fe67b6e8cc5b360c990a5c3c835e0404114e6fc7ce643aca23395b47c99a646bf8bd6c65abd1975a990f53689ef9627f968420e3df5a90491ec0b1a4419bb8411abc65926446a3dc47e6035b902ab76eb9c2917cd1d57c0d27f4891507713071c0c0494095c057284b859cce12423ccd157cd16e2993626a4546e9aed54c01b883aa46012f6e3df43e0537706cc4fdafd92859f1b630b68788227687d74dcfce5d756c878c2294dcfd5a0f8259d3a7e84c3f42795f26412a41a845a54282a7e8752a73c5306361bf54c173cef9115af642017592985f93fadc322a33b0611bb94ba305e257a62420976d00ba58da0cbb76a65932673f4353bbedc2a4a10fad2f2cacb920bf5869cffb85417072de0068a04fe3d86900988681dec9dd28a81ff82e3c9f8a24d5ed2628270245f2d56cc6fc39c51f9a8f8ac6371a054fa9c846dd3359ed6d5ff3badfe77b2252f1ebcbc80970f1717f061e27ef3ccca268ef9fb4406f0655532d9e9373cc708500d74cbb75098dea7fbeb27191eb16ab75cf3f67def96c4677bdbab91b33ea10b5762d4a64500587793dbd571c840e6479c2c75f5eba32df27da78550bd1b4071b3377608fe5cb28d8199433efd3dd9708f89529c1ccedaabb7f4b3f5f89045895002cf009c132323961fa6e2ecbec7c928d9a37a82d710741cf90b826c116e7682ecb12f8f8c31e631b731557b26bf93a77dc60fb0507f61fb1f0d6cb1bf0227c413334c03ed0e5e4dfd2456f65814f6f0b1df81096b4a79a877b413e9b2a3cdf89a84c7d1ca0bfadc37c0a25726687dbdf060af8a5c63b76cf772306c636e1717e16134f23587a3be739a6004c98c3cf94db17df167b683ed17d8c5ee490d1998b55d02d3db22d972a0cf3a12bf88ded4fd5d7d1161400f6574ed1aa464bfd9a582b57103e69b8343d59c7d68275af21a41aa586cf06572171aac50998f8bbd63ec1ef59e4df03dc584dc4c914cb42b107108a797796201c0ab3376532ce4247532d431e4536ee134f4af7957097797dee3f993c95c4ce0e22235af46add056fa5bf5b6569acde53986d63110efca3de85c395533649e4abe9b674c12083b9a9361ce70db12c930da566933b0d29a2ecc66925e4b27c5a776a5928e5721921c4c8361abbe4c86c43b747e1019602ac2a23d961ca4d4c3f448c71aa1eb3763dee1fc1b5f6a183f5120df13cdd1823b608c7f45c177347710c6936850d3cbffc9a85bc7eb337cdf10f67da26b8b2d9640af023b663a8771070f332ffa5d1e40e98e7e9ce04ca2bb2c09327931ab5cb7a23d8a91ca6d93357a8c662081007369dd32c5c8fd0e2d00d168776e60db19db120ddd9d6a8b88c2bf93b18a33e989face4b31a5d32c827e632eb7089464218fccd613e45e1de76066ffe4c0ac5f8211801ef53132f5c4dedb9836be812583433a72893232ce16c9f78d82a681d4862399e982aa1cae7ae557568f65e4489c1225d36bad79e0d8875e7ef1a94d3a35444b58d841ba529155f115c08520468c6ac638e3bc02425a0c56b9177b21a74586fd13603d7a0291d12d02633986955b5313acdf53585d80c7b2f4bceffcf76b1ebc7990b841d3c3dcb07733b8df88773e894a32a4e308f951e30564773ffa595fd4abca437fd6ac0267611b70fdc06e8bd6d01693531bb134cc9c325ef15169551541594b82f5c59afecf6cd891e77a4f350b0b3d4a0ab74db1623a9bef2499b99858a033ad2e57b28cbd623a9e7fd009ad4cf9d74c9fb18828167fca0e27f95746a7c60584f7efc0beb772f29233d5f05a66e5579d87e647a1a26a0fdfadadd2a73e31192c9de7c1be539efb93fed0379db352605873ad5c930b3cc7e711be1baf8d8355e4bbecdc10a9b0f46db5a2ec901b8899b5137dc3d21607322ca8f2d5c00866ea1d918b78e1b9db3f84b11e9d80902dad7db68eb0c03ece28afd81b178222a7983d794aacfca5067f0d8085ceb4f89205bb63cac3280801e035aa4337611bf9ba63f235f472a8e5960337289f038aa987f6cb5f7c419b1c3ca55b3ff13295587d7f6108db17209bb27fc5a8912d11e66c7e07e7eefe6172a518e8ed4a405accd88de848dbddcbbb2ba04c625cfbcebb341afabee7d67974816ed7c4d8b4e053c8a890f607445ed18eed32f01a64d62b5a9e783c66a4d84c9996ceca717e70c992735701a334352d16f8473a511117944999566a5f742f923193a66c9b5efc3264b9c99c2eed2f1abd2d69021492a5f46eee68c3f7ebcd4c55e518d74c983678eeffe09c5c8765e4d6581dfb99ae771b1ffd07113419bc98d51b3ebc0b5272215c4bd67ea8c4a530bb81d3473cf51ebf61f67c5d10179c59faec4dd9463663dd2ca7bd60129af75e7fedc27e3c66e9c9e2ae072fc1779c87d3e330fe765600eb67a7e7820f854dde564e9a1a6d64e44319cfbc128d676d6ced6a5e99bbee9c6e6cef18b07f3a66ce68c5bf2004dc4526cea7987ce20fc0717821d06fe5a5079140c66204e94dd4544533d368aff363912fb1f039aed447124a54249eaca46980d3dbb13a483877594afafdddc32c134e9639c711e9b0424c587563e2fc5a0998dfb79d92ae8031ed52f0198134291f12df44312cc84f717bd970bad2f6e07da390dfab1aeab24a119336604ddf471f887c5c0b62e8880bf11ac82400909c45b481549fac314d41f81007991d6caa047689059afc6bbc410b1907776c8e9739fa72c89d14437dde68ebccd044c90a3f898f0efd9f10ee7b1ffdfc9587669757a30f588053ae89c770811ed1dc1c5626c3b9e5c42d5b83792f5a7119608ad5b7036704fec345bbe3b8e3d914e16d246f4de8491e22b113e24d72c2b4524131124915522758f7327b8716d79e93e5293b19405a666a69bc0f9d7f46667308c3728635c28e86040b0d8fc63e81b7aaeeb32fd3abce0a0055c8094f5b154bab9c4b311630fb95c5ed7a275aab17ec7f53a6e161e893a5865ce95024a5e1984dda0ed5c405ecf769dabc1d84d3eb2ece6ec66d1ecfda6065610bc2f3b966b3fc5ee434a97775242b90d9d79bb76fdbe52a1901bbe335b7b52ba1aac3fccaa0f9584d30b72943084787ebe088af643e113c17e98f3de758d8e4a00dd69c831417ae90e4eb5448bf67313f872686038dc3d751629b6722069d558ecc66e71b11b94d87083f9fcaf05452bf842fd04e5cffbc2d894558efa9bb079ee73efc49f9d0ee74b504a0d16c817dd71b42682adb6f795a0f0d1efe140e1f347151a894ee1aa8fb85552d43e7d1ad4dd7398a167a0db7922cc7a000019078bd9f8f98f378dac25cb71a35163f5dbbb69af421c5cac41c0021b3021ad50acf5a7d3b4cb4ebbd10c179300523e434e7af32458a68b7d47b70093ba49ff5971021e77c2c6a174ff150008753e60c3f9bc68925b803c3ea21f7de10aede545d3a52dcf5649eefbc1b221ba3b50c54d4308f5ebc4fb244f62418425b1e9bea198021e3e995cdeb4ca52f2577af52fba626ed4731e1da713fb4dc1bce7772b7445180613e87363b567f839d1fc0ed5a548bc032d0e7d25567017ce4c6750dc507fb736a5f91812c1e86eae62f19498cefacb5ed5a13573f729d19f6fef725b6920a5be1978b06ad286a5042e7d2faaffa9cb89c61ac276b5a1c0c9a62ffefd4a9e4b3f81f4da11e9e601e36b52c6a0584a930eb83c66f7388aed11412fdbf890e51858a7ccac13c6d651e0af56ffc237f232c0c5105101fa540798fa71b34aa17a8af7d50d968cbac7b01bb0dad87e7f69af009fd33dc81f28a4cd2671c0a28f8a348c25cb960ed8dc7f0bba26b6f56d1328fe72e2a0737b2ed515f0872f04f8ca72895c0580d903487a6aeea5ca72264518a97275dc894d273a5b3cfb4a26e2bb1cacaa28a625ff6b16bf4986a8a06f88dbf881352f390ac6d6a008b135c01d4734824ced75a0c895b4324102f2c85d7d56a7325930dbf629f9fbc751d72f0d0d98784ac6cf183a247a79d2c58f8ed3935014402798219d015fea5fde279630efed16db014dda6506d07a4a6f40bacd0ae2b4690d1ddf6532dda8edc5e8a5a695f2a751e10103e6883aa81d5bd4e0dcaaf7732b999293e18125c38d8bb4b589c45e8eca659a3544cc9798f0838e369f857ea087531ee7e0c374a5f14d5bb63883aeb81263f5aed2318230d0a567e4c4754f2bba525dd89fa3b0278024ac7b2bbea4a1ac2b8fb1fed0dad4d9048f25dd5906789b0ae8984e4114f7572483260d164b8a0ddf06e6e5851244d1ce85a5a3680bb1ea271fdf9d8e3e182380abdc71457074e5bf8ab287e29679384bf4661aa3e28ddf2172fc250bc95455ceb1aa96016eb55aebdf77e793f4fee2f4b8b536de13ea21c30387baf9e2191398745134461533594aca2a9305c2eb0de21261d50ec5691007ac8a9fae90d21cf8afeff5298020933c91cbf63b8247890181774881fb3f8846e14d85e65fdace5e1c9fc2e6c8951a5a5903e08bf984a689e270bdbdc7500d2601f33c68de2850b750c9a9a931eddae1c09c698c2b36ab4b4c149de94c22cd4eb6cfdc57944ff08df44aa6a53a875cf2cc506a7005198cda5529cc9b5b20bfd1f59d4911549048607720222b12d79acd4381f2564982a384ba6632f18a6dcb5f28d9ace93d8a8d4b5d90be5c6278389c792ae1fe3f114ea3810a16f95b0617d532780863babb61090b4cd65d95a24106886a9acf232e81f8e2ccec72dfde66ed03d2a9852dd207664e5ed9c6badbbb6fba5ebb38e7a8eb2ce3ba76cc271f3605e036622a17405b6633733574e0d37b962e76b37bd40de1c1b4424d89372df0c12b80432156c41570f0a401e07b954bd1fe1dc44900c06381839bd06238b38f579040f9307d0c11e85bb6e3f9a4470cba8c5aefda65291d48e8a44a658fb10145975ae1516e59590e40914b124f0e0cc436a6fc5c58412be1ef9ed0d88efa7bf0bf7700152980532ab079f4fed93b5e421fb9935d2930649b37ea6a5784db12aa1b2f31fc745b82ac99accc8aa9645df6a393dbea2bbd1617f78793bb821f895d4bb680083220e43e14f3970ec7a0dedaa88240ac6800a70aa805fa52ff5e73ac7635b943b7288b24a6543fc726ef059580b1e46d1530a26ec99a2583ff62099b4cb6da2847b19e866f6c795a9b7f2832f49e5c31901fa72cf23fbd5e6f89872e5715e78c24f93c33e25e1734a0c9302eb5522c0e6e19989a95e9c8c8eda6d0a3df6748db306c2eca72084150be702e52628e3b55806c2f6c31a07060d4d4d0e8f02eec82e9bedeff60da0960cbd671c0914b84adfffcffe33cb04c48f859659f6316cac659415865f768495f5d33185e135bb2e9e3b5eabe23940f60871f9cc67025682eedc1d472679f64dbffbc10d09cd363f4afaf46d9799fc98f73b679a71cb838941474fa7e245a893a56c0d4e6b4acfd877da4ed1e322d0f44ecf4cff9e92d0df01998fa2cc8646f4bb23834477f35f2cc269bc9952f6e8c11375794e4526b4281ee6d8a5cdc1c3f218958f2db1435b299aaf663ff40b72a1cbe95ae1261930a5cbbff8225366ef897933cfbba423c81f281e0f601a77dce8ef8c38f25889cde5b981c0115a0625da230dbf741a3e28ca85a1ccf03a5f5bfe4faed228a85ef13907b0fce35c7ec227947ac98dc713070922000e381751b7a0bacd9edf3425928452714435fc9a68e04571964cf9799cbc827aa6f411fd55a9305e4c2ec83914d420b447d4503eefce962c5679f2997d8bfce7100b5307b3fae1b8a5e0a8e9957ab14b73e20d18e12aed28c50af61dde13cc3c221328e3f8ff8a10a4d607e712f959487f2f5022ca752608e6239ed9289ac39664ed30cd0eae93b575fbd05f49de31c8ad5333511a36c1792919eab56ead110f06537db944af55fac866be322e1804245f89e1eacdc072315dd0102af85f06d8e5852e65244cca5a242cb46e2862548d4d3d9d3881fa114853996bf58e5530887967812bd57b8e6cd8d85c5d3c70281da1d6b047cef148e1adc7b110ec76b5f56490a43f142c31a5721ce026bc925c73610472c535545fdc85845bfd165363ff7a9a987dacd26f6b699e47683b7823b60d02b3bae8a60ce3f60df1306bfafbb91fcab9cf26756159df9b718fb848cfb54dc058be5b35d02256436c09f8db2976869363f03298819d009bd9171af30171dab8806cf43e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558651003d74591fdf79ffecdda81b37a991966d3f6cf71be57e932fedb5ae4c850e5cc79c5a2cb3c7de8b37324f17feac9a6ad2443202a67fa68b9d322925623a80f61291776a5b8fc1f584227cabd8bb6790f94edb961b9c6acb6011dc70c49c4e5e326fd7f865847ab327a6bcecc4dfd6c3a9da6aaf9a84bebab8ff8b482bd8975aa1e04b619e59cd285f5464d53cb9fefe03f8028447a0e524d5bfa0412c534aae8779a1be0d1c25879e109afa0a555bf9dd55706cc3ab70e835b8e419176235a5831a16eda283422de5ba5de85ab7c9dea6ac3b711bc5bc59f2af7c9c2126484b1c6a579029f918e9abda1f9e9cdf1ee35d428df1d9739549918edc96623fa93114cad0a1a7f046f681540bc584ac88a6712bf942a0c26e4a799ed620bfec8dec96e3ecf0d6b52685258a1ec1109b3dde851180ed76ee3806ecf5e9d26364ccd33d530378f34d5ed164e1eec252c698ec56eb9bcd75b9f5c3c4127f04b9da10887e8dde29510f64b9d0bef0eca1a1f3b584ad1434d6a734d07ec78380a9e36d6b62d2cf8f1a55da16c1c2508df735e6d905ba9b5074a24d7473818c66f79504d80753a97afd4fa033a0635d0af66177a399929945fa28ff08edb7eed14c2f167b3a91b64d756187e275ac8eb422e80967e3e9e6e027ef8736cbe3963ea1302ef6b679de92b963052e1ccd1125b07130ad8205ad0812640f16efd3ccd1d28af5700a9b986d55b606565bf25c96a7869797122687b5f5822da6838713526b1e576ba9dde90a6d072bd569e1a4d001901f4eb21d3c4a2dd4bcbce6f660217e32e903598f15e41df1dc6db5bc79bc4fe19ba4be83c841419481ab2afdc487f74cde2a0a0c0827a60c450736157ba180116312619854c890bd1a236da668f8f141270424c876cc344f20339ca7bd61818b5c3604bc4a2886763f7de8d257c7013eb3c3d1f3604420da9a3443240554c356322d2f03795da0a898b35e6302314711f26f85b818364e06b29e334449d230ab2e7ef5374b6943b0bbea8d798ef05f3bfc0a0fdb76dfd6f2b06726b87a1eee980cb1e613960776ff6c7d2805352ac3a8187d1229591034ce0e5ff4737e2d5f0536851cd5103b7ad1dba2c7fcaeecd8c1c0bc7672017c3bbcda35e07abda0b6168e883ac2145443f0539da4094579b7711e8931c0359a5b42ff7f6e79ff29a7b897c01cc1f2559f2857c2d291e868c609474b03aa749248fab7a75248ab4f06384251a13f482a6dcfba2edecdfececa85fcc3c8b9877418fd04d405f0e3a8213d7e5ed4ebe8d76a7913a4fcccedb569e29cae3bd881993bbb8493745d4307bf7d157154d97d9df3edb6e2937db0574d96f097e81e9b35c224b73e0f91090da5be66948f18383128b1134ec718a80386addc233f43b5b59c8c0004b7610378074d01247011904812c8b5fdf4ba67dc2a021a520fa3131d806ec5541f932e1c02b99a17d70eeb433b8f74d3a4563e89926a74de71d9e5ed5f862908f75648b97a76628233c953180d782dd498b84043f82593fa2a720f91889154e82a7a3d25eb63919658663188635158295fcc7f12ea6edd485e76b13daa942f91c15a5540996db5275c966711e94cb14d31727db727d855183946674c98d9c0b558b70ed00619ed24d9e499536141df27ff663e51026b28f9889c1ed15ffa6cbe75e30fa9001a6c3cfcd9b21f137ec014d13d17941eafb5ebd20a80b335bd11f979c969eae15f6b5a8981e99b34de2c58a693119a75a6ac0ed03fe0014cb218c0b15d79e312dccce6e6c263b3c51dfc091cf59ce7d9d3268389565792526c0267640f8de9bfeff848d3d4582406ea4e50ada09861caf5e12799c805b91f7c9ff807952c501ef4d570f1bf43557c9cbcb21762225e00eff0bd1b8cb3dc45ec30ad6c1838263f56202e09e46e4b668057a720a9c6eaba045a58639fc1514836907d0ec492bfa699696f581121e4ee31cef94207cd85688dec4be41b5a3e18ea446bdef3dfebdf949a5435837d6924f0d7f0a657b794b52a98a63fd908ee8dacef7baf87ca4e113013894d24683054e19120e1735fe1a18d56598eaa811aeb9113e903cf3fd4e541920f270ef8787a45b73aa9c38a67ffa297b79ac74daf451d6f4798ebca68518435eeb3d9d45ad0566c721c3f435efcded05ae40a850fcfa81bfa152547ada0e7bb54fed9484d7bb012802ea186c6bda3764757f4aeaf87c848d5e90e29468e7c4a6f9f4e5d5dc06c1444faede5a2bb8149d49d78dc7213571d0a55b5e6ec573c57f92e5a638aaca59f3c91815216c21867963cd21d8b69c14ab9e0e83deba00ee95e2073bcb80ad5ceed14f139adada30af87f57764f83c435574db0b4ff90a4cdd7b82087abf2561958fc308389e12d782272758ad35cb97a8dc3c243f05413ab144beac510dbe10510dd983ae5afead3af5e91ecdde1c04b00e9a991dcb855a9911a90b446ff62f3b92c683d91990f34f5348892d6e405bd078af712c427e7b33873b1e6cf4e4bdb87286fd7e0021d23ab3009fe0e0c1a4c31f4536fd34c6df88e53020ee7d79f623885412d6b0b1553b0e15e4b53bf474f65a55b4c3ee6f7a9458492cacce60671c7f28fcb795e4fd7e0c8247ef1231f81d8121f84936e0600f50ea4a305e5d1ccc6f12cabf4dc1f6c91f77cc87cac98f61eaeb5993bc5f5e4b820f27fa13489e27fa6ea56827fc3053cec66c8ea9a6159b8f63518c5c7d208bf81a33d58e27dc98897a344d3884a62b9982c54a8b42a67025e1147c81826ae30669e3e98b298ca91ee3b270904acefbedcdf1e4db8bfd0e302703f689c2cb842f1a08afa5d3b1b426d6be7e691f8c14a1862d3a7ccadb0ecd697f3f59c661cb945d5df437e9c2e5e24dca6abc8b75a5aa34e0a450e65f8445bda111b93117b91914d7c07f59d27b505847bdd4e0af08384e73f802e8d3896a460109d1c9c9eb9ce41a133ef72810562b2c62fe2435e7c9b85672ac40c859844ce60b2cab7c4e7ae80129cbf079b9c97c8d50c0b1f63cd95644a432227b6e1057d8ced65a402149dc1f67a244c728201162719632148866f44acb718d85c7c6b28c058bb98545fec4875664b2891022f18c79b90746de3043354c040b6cb73e94ab1a28a9f2ecf0aa5ccc8721cff0622101e8c82f6fde3825113136dc394550da5cacbf98aa639e2b24dc588fab1a4bb710d6fc6f3f2179bbc24930a2455767a6114264419eb1bba25a54a80df29975f72626d9262f8ee9cd81b42bfe8e28b99fdd8c6ded4cd83a97c5906394ab6ad35fbdf940de2d9f39a2545db80f9926bd53899e9aac4b9ad55502bbe14d5f17433c928fbdeefed239a973405b1e21333c1bd104c71ade06ae9b3b5e689cd6ed5d938ac1d346e1815e9fd06ab7b82a1e341bf4330104ae5893e06ef6e10b1e564f3e083697b8c708bdb10f89752b2eb45e74399b37c69ab7166d3f769e078e9dd3d816cff1da997839ab5cd4e2b6d2964f0d70aa923d699e347d78bcb7ad94edf73d1820dad728a2a6c873e809320052486db7d1ab039f1e747f6e24670399d55a2c3422094e57d5eb4943158f73b959b4c9e3cd85dbafc369c492b6920e9d4adfe36ac6ba6a8e616870b5cb3d323739c87ec66d8af5070bbb54d5ee555f89cefb46f3825bdf17383266549b25bdfb3bce4e7e85492b665cb79858f8eba27a96c746daef0e68d92fe6cadbac027f865b299853554261eacb2e8ce6f978ffe876baf08771227689f2ecbf9e66b939b39855f28b1670349bf9cecce65f937601d4fb60d03aea4e405382681a33c54057b99d63ca69389a4eeae611478eb617fd54821169067550f0cee2bee23acd716848b8898f57f03f68ebb9039ed74dc44f2b923585061ad1681affbfafc8cce009f05c868289969eca26db6146660dede7a184363e9f806ec58baa220f2b93f0e70656e71db56a9e016c301ff5961a56c5dd3ad88237374da196500784b47ebfb2d16a9a110a33596612404f853dd3633e9d07d8896a6b6983fd2510873e68b853abad4b441d179d7571dc358e39533c902e3164dd8dd693341c20c883822597825283f0020c813f7481abc5fb441ba417b71c6caa9cd2b68e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855781f2f209089b53228077d1f3d50557e5fc67a7f1d5f45153b8ef5b1be71bd808611f4c6d7c6f07c08dc6b463a510c7640f065105959ca0518dbaf2dba0c5f64e6ceb61c685d497c46f0d2b249584f8c8b7bc33b4a3f62879337b9951799e0a34a250f88db65cc5180bd4e0a293b38fa6d964ba1e05d0f5d9fa6cb79abe254575c6890c046d82748c7880ea541de6970c294f5816848932e3cef1a1e8c36d8c7a13cf8ca331c190b9b278488a046a93c5c58a6860698bf3bd89fe4c780bc3593ee5e2b80e7cfd71cddb87ab978ff9daf7b741a23fce78c20a9523d30b8d4326a79686db6fb6d9b541a79d36f34978e5c927a4b7f9a9b300a5897ce1ef5e318d55fb7fffc86c41540b65ffa8c60fba661e4b12d3a2f69e6343bb51c8af22f26caf4d55a0c3b0b0871f3297752f2ad8649caad7d5a65235cdb4a9fbd3f73f562292c2ae40c37797eef76e9d6a835ee6b6146a045ccdae70e00bd44d3535227b28cb2be81635503e1c91e46f06210e733805fbf2061b0e01c3c85067d350126ae416027f8602b9be1f86d32da391634b6cfb1b9021d4bc7b6412f9a8005d20c09c1970b327c4ba74f02176f06e876a04d8c955a45dd3e0e024247cad68247423cf18dd7c11477f0f69fe000db13957071878bb3c0be52ac84bd9661244d53572614683d8d97f2779815b2de07572b49adfc639647372e2ec37a1c1b99f0edd88d960040ce47cecb3f3bc7a543a5cf5fb30ad2ed16ba9abdc8c5733ad446b22132c868d587c22a7f06a1efa435eb45f7de18f8d54f917aaf83069aba9486d202f872eaa7d3ed08a72ef5d7206e317e77091357d83dda5a823d7b88f680c37b8470aec146f0fe192418e005f45edc458e9accb36ac5b78f796b43a4047296e59d4de34d10a1a4be3ba495cecfa451cfb1715705c07fce6c05abc691f4e60b70d1a8c88d99d826187c44be1a99402c0621517e8d1fafc7a9050acb88314510799448343ddf280a698fc074179db1478da06ac270e2256d180b693d01737ebde38dec0dd4cfd0378698adb49ef3ed2ef8dda61994d2d9494bdcf7de64d4ebfde1e32d8815f72a23ad0683461073af43dec7f63b4ffb1e6f78e1a2fa1e17c922f596443a50caaa70f2ef4a91b672006d055094a6a438578002df4faf72ad9200c4a5cb8f1234ff4fea06525d8bf51d19f06e4bbce6037575fd12aa3a6a14a2e796825a28872e527434793e67478157a3267a07f79a7fedf85b97ff844a28c4e9d484ab17a5ab230ee5b2cd45bd8038fdebe1e33a633a3275aab4a1a1f24075495d664bf1364723a5293d901357165b3b6ae44cb4e1e3085787b575dba7e106e75ee3d3b429dd2169dc494589be98aa577eebb99d38551c390237ec83a0bb0547fbbe48550fc03addd5010af30a279832124e035ccc4de614cfb7d2a6b601e2ad31e37af1af6e8c398040db1d26e3903b18bbc0b59a78442b6b7b1675115a80ce54c5ec3cd2b6a652d394f204f0d5b6cb5d1a06b8e9abcbad30e65c3e3d188efcc91f4bf757530bc3964d6fabd3c62cc89ca0ce0c3a0724eaf58fa725d84a2c42393e9a68d54833efda95a9ced2a96cbbef5a34954563587fdfe63162fb0f896e33653129991af27980eac7f5421583a6a1bfea44b9318b4b745e212ebbf6687cb6fe2995447921f43f9632ed8c38fc6fc2cff796b5e93820e0bf6b1c82d1665a51d88bc16614c95f750d396c00227aa1a730ced409275e4a6aa79df31c96e4c53ac99b42ab571cd0194fea5614247dac3b1c40485c7278c3fb772bf6ed3346c772a428d20013a6028ec7ec3a7b6ad37ad83efdaf65d50731ffd633c87d0d6e9b567bd9dae5640956b5106b7e043fede43d3a16f2ad7367af681383ab9d4c89d091e663abfb8abd7a2d8d9b3bfb77d59d5f2f4866748ce85ba275a526da7982b7781f02d103ba99126d6445fbdcf7bef420f7451205b963811ac4f12b6668618b6a2d3e8532efbd99a930374a6ea427fb368381b590564f80ea1d4ded5670930f80e9761e2acc1c150dfd54ddf5774d1a8bd1af522677c68a64507e589f6d2d8b7ac0a2361ed850843734387ce9102437bc70c1e5fb682e90e5387b505c6162a11b4a42f2561cb668ea9a89742cc9acbf38218e37173df601be2af7a58e39d74658b3a28d7f42dee9d41e4a1e50b370ae7a18de070bc2249e9370ccc6e030b3d9bb31708c164fd152b40ae1fd221aac6db260e7df61eb9014053cb0234527beb8faeb7c79d523ccf9ae49d348bd4bca643d88bb2817685a879cbafaa5dceb2c2cc9dd382599dea9081411e7e5ced0a5c68af4176565ddb513aee8897e8b58a99a068216fcbbf818f0fff72ac0bb0e334e9cf671ae0c08898b837374792992cab49940c8852ee1e65d0cb37f78cff67ec65fbc001a8cc194deb442e0103ba4c4da22befac0e39c5b36468a0b49b7bb86ac89dd970591a339af05baa57a90b98cf91ac90d2685891f21a21c73a53b6f3ceebba692e79bae90ef953aeaa77e7fa42941f893a05c244809007cc91bc4d0adb2b5fc80f5f08c8a80eb13167c237c0266b600411138113c1337526a22b180a5a7d16277bfbdeefd689ec746716140c3b5dd7abf0148c960685aeca5110737c3dd2e39310dda0ebe3f72b61d2f09377266656d58853ea4a905e101c365b786427fbc4ca24dcf57443bc211879ba30e722aec4d7f541e3165ceeb7ffc49bc6ec5b7001261cf4b70b00c8055cfb59046fe2c755ebecd28c4f2754f239d6b0cdf22db11c4485f91aa2a1f24b55185e8592c0a7162abeef15e7bb98abf6d362dd93dbbef7f052635f6a30ced52b1111a101c82f9deec08c6837ad8aeb3649630ab91302b54fa7ddcff0d0488e1987af6d2807e351522715f30984aaa20c9b332746a43dbab904f07221905cb15100842d332823b760692109032be7e300f90b9d75ee5d74d09b509be07114dab6b2aa414b862100687ec4f0f963432a1557465785f442a54caac7694c9fdec3e19e607303a794354a88af214fee60c94f6534e48d41c85c20a233bb2007242488d4025178883f435b753ffdf4ce68f01f4dc8c74d1c0d297256a8100905984069c11fbe9d6360ee2b280b458b42a6c41ce55033308f80990e05ceb0568e03470537b8f8bd933a8c77f96e90ac79e98f8c6456bc4026a9f6824b5a165c62a5e37a437fd1d0996c4bdc8473ef2a0470d2279232d5a3fcfeaa8fb74131846507ea3448a52c3f3643c1339ece12786467599c5910741ecdaf795c736c06061549cbcee7296a8ead347e95e48570e9565fd1f86274efd3032999c4c3338a1a18ee7d398a9ab127f5fe8ae391ca24106f7de1dd0a425cefd2d18548a7dce2a83477928f91b1faa3d142100a831b32b49ee4353e29f499330b3bc35dc83c2daa7d75b06190590cf466c21128c3704206fc840d6c0088639cc9e859c82f3dc193771498a0cdb2550bf8a97fcbbc9f28742b21958ed7db40663fbd5bf2fdf7e92e46484c7fbc6e995e6980d844c278d2cbed1fd8578a91275fcb047c74895ab837bd80246756f613430cbc793a47414ed3c17825384ff81966e5d688b1d17a3138d28860b8213cec61b904d60741e1421ca8688c75b4d9b7c1a3f826ea55f6024f6b1e33cffd2ee58c599fad4a492f381b16e43523f8adf714d17ae41703bd8cafb1575cb2e12297c5a383df2635c61b5c2fd4a7bc640a16a9f2d92a2be8299d13f9c50825c3f1aa3e6e131e82dee3703ec70f5eb4139da818f60624b8ea1f349821a6722534a00e1d362ef537ce283f202802d3317f0dbeb76347422e1fde7a999405113850e7e4f036b64dd23f6d0686c2daeed18bb726e58eef75a69afe9ee56a1a23b2c32cd4e87d6005638e2e40db12d6d49428e35d8c5675e4db56ad37f8072dfea3a1479011ce5181dd65b426bdf96dccec5e006fc10de0f830be53a2399227b1dfdd7955dd87dd755b469c67faf79b27432e6d50179292d4acde607a0e1a68d8b377a11b4bb6853b6236a9e06024cd2d2c878f1ecfae9986e20bffc0ab4c1bb747a93ccb9f7c41869a77c8a03ccbdc2766194440676d1f8c4d216316a6b4e30da07f9119a55c11de920959637948c9df67e56a89ee090ad0987eaf688dd196f1e545dbf10a56869ec0a466548d68241510da48acb719a46dfe5261757a9319e4d78862e577b7d268c084d891cbf2aa4c601221d74ca1e0f362208eb4cb895620079a3496ff52610ddeaa7710dc7aabcd7b10b81a2702b1c088c983362dd6f59f3e1cc377d48b860b78cd0ae0a6bd0fac62829be09a9ed00f3885514b73e7952e326d1198872d0484029da32bd5dda4f0ca9eb8714ded48fb4c5b912cc02becdd276e84eb922a4607acbd44c5396308d969698092d6b2b0d48073e85a1e41b6ae7f63345d0926e71b66766e103a17a9542be607646b26e026ac1dedc863caf0321b618b6b20dd912e444dbee53987ee8aab40d38eab211fc1e47558397d5ac65bcbac15188e313861eef598246be1c37d84fcc3002652b6e164b12a5a991e0bf77962d8a8f5ea33982aaa30f61d131f0f07f1b16f1cefbcae320d20529fd38aca9d4f69c9089e7197b0229e34ecfbefe8203f475fae6b43694347bf07b992238428110e557ef067df0f2553886d28acc23fe7ee2955615fafeeba6a89e1c67511de76dd4db96f06f0897ec694642c788441a3be9b3a19e45b2b1a23257c15894603842e0cd18665f15fe4c1cc6f6d74a9773e1286891f263898235e890864e4a83b1307fa390faaf6455a3ffd69d1a8a723784204c5ffcf77f5988e500544201ff5fb6b19e486d5be403995da880a0631f2d05abd5e0d5865c7cd25c195c3c379f1416d72e851be00c4b113b0147c3c91fff79f45cb090f797f5fffe8a2cc61c530a0b930e9ec46047237349cec2b284626186d63400dda0cb8acde9d2354f05956ff723c51e9b4393c9c2079994054e59add46e917fd33ea4646e285ce1dc4ad7ff2f54e0c4f992efce860aa4efa74f0c34f00e69901991a1f48592105357e0f8acd0c4178c6bcc31a901018651ba7c433ee9fd96c3088b042cf1c22d5c5a9310d80c5ea07684eec1a5b332890fdf724e0fbe09fd4db0e46ad55b1541f6113443a4a3d71f77dd89b39f7b3791c4d4319892c3b342bd444a150ddfe4159db6afd7f6954382e5fadc5fc25116b38500e1b098c98a09875ba5449e2e021181d1dafa78f2d5b45fca534e06c9f2545626d4e04209efb247ef6a8c5b9ed5d8ad9978f5315d0cb5af0d64dd13b7734e64e2326da62432dd90a722ef2c5efc6bca2b3f4a84d43c38b00339125c509a753f807f7e23687b97b3f8875d858461334596b2018a2d1fedb1a17423a73cacfe09f02fa0d1a46d661386d6855c206dc5df2dc558071886f5e063c85dd38026696ef151f52f9b0f0f93db2a65ae93f887629ba2678d9c01b9aa2d752071582cfcf5705733fd3e2d65c9653bb52b20b6f2954cee549899fd413929b3335e9216906f7bd4907bdb508cf44984b3cb32ffb52de11ea0ee8a73cb8e73321b3179a8805bbe8a7654bb08cb77de735548aaf35aa34cd7a8a8a6c750eb4980df277af60ffd34f2c6bc923c3d41fe8d8ee69eccaaa1cd1d376499694232e1afa194f0545126dfb1e86d742454a98fe4ac9566d70cba1fec172e57df7875ab0218482739a056c3b88ffd3403a9e68c851e0a2d2d5416f5805813bfd6208e60cf97c5d7b0237f12e7847f33e9f850c61d8d69ed3eaf1f6ee8dd3fede7e47b571fea8bde80134590a3b16cfc373dec19f5d0aaf4beb67f6a0778cd9b81d521cff5c9d905430273dc44931f225ea9578e1404e044d4cff3008f23638fb7cac0b1f9dc3f34f5614057aca908d3adb120af960b90e676c39f9408d011cd3bef324a95f1fbea499624af756e3fe61d2f13dabb00c160ef78c481f59484bcfa500d34bf3ca34459d9c196959fe5247cb32c7b579d6e19862f9268bdb18e82c9c3da8ef8116e879936dc117c127d925cae8b6c2652a259f9f1dcb2d380177489f03e14304782318f37da21299dc421f616018aaf4d7ba7a0c85bcb6ac167596a7d0d6a99213ade3c26b1760551a4d6fa8469e85401865f17bf063e8c41af2c712165314404f19811a1458924ce142d26295d0a56a18bc4c789296a804cf3489c1c28e80af52f2144626d77c04474b3bbcfd59cfab041bbe3b654b0bcde8c2f0d20ec46e69fb1c15c099d2cbd2e426c75113c2e33a46fc3e4912b8478868e51dc0b8fbeb8afcdf89b9ab8172240c992ede58e56f408434ef4491988861752d431225c284a8fd6e81407fd5cfcabc66278a5c3df7737abc8b1a0b6b3bab1ef2f23fbf923c0e2357dd6e318c7d32da742dc487dd9be5949ebe9494ba2c88dba329a7d5cee45047367187c2eb7a0a86ccfa0297fc8c91a55bd6d6a0489eb5569f20539947446b61b910fcb767502bf35e012a6aadf65bc0eb703e1243d441d9b40d715efbd76efdde3eed732b297349269eba6f0d01a55707df89d729ab1a19f83bc94e24e236aebfc3e4f4a14542b2da6f0fb427a1f304454e2642eb576817a1d48dc83cc44729acb01eab0f1adb2d0c43c3fcdc79587c6a60620451bd71fd92feb7baaa61a21fdcabd03a34356b946cb219f201eccf97235b6f68012dd9d6f7bab41c74a82d6237e38e6ed4efeeb1be805c9bfd38f32d195cd28e8bcf6c35ee056810031bd236d2dd1c954ea95c0b094a530069b68aead66cee1fae32bdbb4b4739bd3a8698c8378b96dc6aa0433e4cbed0e39319e933a08037c6ee6a1aa1aa23493bfc13a0d5d937a0adf5f13b9b3786a98c77eb3c6884f2cff80a48f854125d3a9a26bbaa60cabf240fe8bd819461e3e4a036d078740932063a1f3850d715517c43e2a86d46f889c9efa940260459232cc4174f56e5406e8b96f5e94802a11fe7d4d325a7f6cb37714f3ed83d4a3ddbabb224318f1e66c834f264c392c0fac72f5063f65f2d1647ad68b3958a8ff23567e2c1a8af216ac8026822c23a4bd8d617a34369187fb3e211dedfa0d26771f250cd58e0940f86ac33f82e2af001263a72ef475dbb483fbf49ee875f8448bbeaf89792a59f0f5419bb8af9c611ed2fd56a626a61e48adb809e146f0e99b995790d0af7dcf8f960453124ab1ee1ce44b86f74cd7a2f74489937f5176381d2f3050b15dea8fc7a2b90ad432b59556908c883ca420f4e6875748294418c63372f8b955e2892ab116605e4d3db57f6f60765f3f2b3f90333fcb16df0f8ad5d02f823b91a5b14d59e19f957319f7fde0326b167d1732190696a30fead0ce2ebc2a275a158b0714bc6a9998b932999c4eb523129c01e06592868b40b87c9f19dbc277dca9379d087b86d8941e5b5fd5bb49c87b823acaf65b05ed85bb1531aa1d1c64dfd02df0f0c903d06036c7e2d86412077121b2847b4faf7379333a9407f44865191a5695cb4cbd1c841f51deb4a6363480bec8a164ff6c06ac5a263576609fe930593e5c4f9f5d338ff04c191257a9b8736f73e820d5ee2eda9e4cc0ef2717007a550b00914eb76783db650cfebdf68c4b4f48b00ee5db72d0b5a747493dd0fbcde25d28e5d6b2135485db13fd911dd05119d8f99d2fad6db4f70e1bf433452b304f3ade4a2e062b79a65cba6c21a8f3ae6db75920b49c82016c51570de1d59f1c4e41c929eb354d5bb38b3049264fa03d4939960d9416c45b2468ade053742c3e5c38e555a047ad6836cb28bf5559e58594727cf97afb2a28a4b1e9a07fd2773a5f3f4cdea47eb4639d498d042d8e517349bc535e9e08eac7d2ecec130e10e349ead9b1a7794f72a2294dc0287c644ebc96284fe05652c1f6ff407d78df0c32e32c18c2a8f0c756717d372031f9c27e58f63e46a6488235c00d99522018cc6eecfdcd4a8ff1b2c11738b3d4a0b7d3e9d329e54519f1ced655f5d0757a6e38ede75efef9d2446d295fd63a701122ec0c73bdf4991c373648ace7c25304c7c6146fe9a850bc081f0d0efe35cc14f55d4c67de8601afa1abe0bbd20ef796d4422db4b34417ce4622798621643eaec49dbf2fb61fd7902e7ed0380bc10203fd83bc0f3094f1a596f5eda6845dcb6947c3bb9ff239e5c3f1822b3cd7781ccaba42d8a03d640375b27ccd205da908293b79a1ff9ef534b7b1825aceee3ac9a260912a9eceb2f40864a5872c8578058a2c0c78cffd9275582d4bfd01ed1a4d568debd034329ee47b5d655c5f8832330fd23f466ab715b7905f32d9408874964cd5b6e8b030595bd063def5e8fddeebf5f3993338ab2e9c5ef62f7b141002becede84284a684da844f4d4fae2b315c38340d7017da161642a34020fffa4406c294b8829f4935b191a9d8537acae2dca988412a7111867a4403a0d3967ba7d9d01c254c99ddd1586a76082399d05e1bfa5dbf65afea805a6ac6637b03c9ce60f387729af057e38e3569e336c1e8a2f259f84f86bb1d49e5a3a9be37cb72026f041ce0ef490a4a71e3e8fe8044ca388b7b82eceb726788e63f4e793fd06a6f4b9213d1046758843223ddaa40936bdb8e16999c4d5423e34b368d223c3370574ce67bbdba4237e473f99820dd308a28c80ebebfc1fafc002b028ba3265abba722768b91f3688f3750e5d3403c53ac6416113d9e243405493c9fb6760972a702cf33a4ffb236cac6699133ee3051f5c1126ed837f213ba16ea4b4e0bf71c22853628254bbb2e46e4c786ff320ce3db6a3d6a4752929888caee46f45f4f581a6444c19cbf9cd44fc40e204af8ed2c04f7256d7b382b8202eca32dcffa153a0709ceaad49012a3a8c5b1710fbfda30afa737a8ef17421776bb20868c6fb142ceea6b5352c6f4e86bc524bf44fa1fe3f8a771ad69238cf8b845fff3f95c48a021bd53e05704298af29c76ed5b19fe3bf6872452fc1e356f07c691d2e179da6f940f0dee4d4109428c066b456440197cc04e292edb2c874eee798968329b637f98004b5b28f9ac966602a6c5cd6bf8ad5179518d72969b16f1f1b28230f97f75082a566caf01ce3b2190dc7bfa626ae9a1de1f63cf13b740a96b871a10e762fcbb5d1299823c4d5c75c46ff6233bf4cabb20b8310d3f096ab5046b31eeb5afd3f776bda6f8a4caec8f4f72e93fcdc730d3233ad5552608ce26d7f37284e6e9f405f269ad0893330cddd1e62898f8784a36f4af22c7ca4ac2278e19d093b19df5f14609b63c36d8ec8a74e25f176f62826001139d1ccdfbc27d2f551947d00caf9e5571fb29ef98f0149345ae66fc2909164c16d07bfe08dc338423c10c1e0b9fc8087537e828456e4fc9d9ac54bc31b41e8b47945d2654eff361e45e97d129af66a5f940579ba68f1804e19cd0b111f92b4bbc7d740531a7715ff08641fae755327cef9baf541e3414b8a3f19bbcd18e822197e8a5617cb9c02962a71daa3c69be5dd7c85d283be82ccde0f8b5549d660f5d45b99094ca84a953bd89de986b6330c121b7c07c0f01f013ce36ac567cdaaadbc90aca652066ee76ca3be55a7ce024f41e171060482fcbef7159114e5094c46fb1c60963c402ec8404c489652904c9e20045d552a6c4a3dbfb92a71b274b56a1f0e918c440454c53e6a48ea489afdb47f075c2fa558405d11392e0ff57398763322296cfe156f3eb688e086352b53c862e402581bdc41ed7dd731125c87700c1881d35f369cf3cde7550963149a80ff025b082803db028892de5720b5869c8ab3b97fc2db90fc4967b9fced4e86d8142f3d77045489818fb50e6faa2c839b8f04aad17f39794a33d26b8fd7bab09576932d8d42f25bb83cb4d40f34ee13c567dd5cb566ec8f096b0dad441fa0b421f560b300fc3a7dbdcb2cd3308accf270651d2034fc1853ac882b418aa0633dcb2dd79edc6e85ad1a5e7d4c928acea5928169c94801d8a06df8dbaac7238bad71ea2a384b111293ad8b0dfe3cc99afd9c4b6993e0bcaf364965dc9980de3861be089d1ef5e47442024b332a07d83942d8fff3499527c22b9ffc5f0dc1e9f71f25d42a912d7408ace20dbee72911a2b46bb48f52c0e8f81ce7859bfbe5611c3fea170e1b1f12c6cbe67d27e38038b9f820288be5f2896221b3c36ba1671c6cc0c7c270d534b84f240bcc7f7459c61ed42c473cd2efcc54a128218ad78c329fdb9992ff8099ca0c04dae2a2d34491ea2e646a172e8e70992fce700e414253b8056de26000061c5427848c075766e2abdb98224427e5c5171848b1069dee0b80db21eb9d300b58a7549cff602136d0f6672447b668d9176177f93cd602d2550a5748aa4764f99bb7e4889f65ef62b62b715de066d2276fdb40b583746ca4eee2b8dd35e4f30bac58734cd320067a94a4ae55b9b810bc04646f81c0f0ea69be6f34bbe3d5cfdd5cda88b9f96fb691501d1e47d757eab521699d40ff82c05a57de2dd0269ed126d427383325083e6b4480965aa7728e723fca4a84f425a64b5fcdfab344ccaddd8c641df16644bbe14cbda9ef8d2ee8455dafdd6e63b338218dce760425d7f83b426cb9da0bcf5e3b8c0f9cd04bcad005c92b7aae0b185d8351f9fd0a3656d3b4cc4f1193f127fe02e352daa177ebb27e92605ab65d437decd01d2d0dd053702372535d386f18c8667b428a5ae2c5bca971c87d58e879571606ad956f6dd0bad5aee2580a1368835742754ab4a599d4a07d35a34c802e3a6bfaf8446b810d0cb646722217353e1b9743800bd1abe59f43e5f9cf52be1ff4702f2dd605e1d3dd950bf999b3d4978944c0c38d4ae13284e33dd36f662c015a7c579badf691b581024073c021e17035686b8d7ada750c43ab6f7ec5a4f7f943d9db6a85c9b8aea6e78871e7ba1f0b3dd346dec398adbbf67cd50417265eca82a2b9b79c1129b2370ffd51ecb9b1fc313206a06acd6d3071a164eff9fc49d1f2e2fbd10359b95ee8e17396c405f333e194c33af6a1b5d320aa8db658410093431be270e572b65e59a74347b8686c5ebdd77d840707a7188b3c2ccdda192a3d3129dc30a3d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb33402ffe58bf09b6f21c1006cfc486cce233fd9e14969437f6e0947e34cdffe021cd9c8641e6516a175bc31b7f3f226cc0469a59229c5a7aa9577bd47bc1e32802e1df22091752342eeb8ffc27754c3551a92c2a97bd2f9da5134a8c1e5ba3c68ab2a335bac42ee9acf8efd9a349a3b0af20288c2c02955b53d76dd59b1f1868f97c813b0c5074cd9f520f1f83447d331015b709e82df5aece590d159a5227baf8c1027484f67cc1420d1236cc37bcbbeadf0e37048fb91d755ac05d3f6c72142fd8e20772b6eba649f5d60f75ed7dcaf7b6b57d005aaadd4eb72a882e226136b007d054590fa244e8dd44297d18a9db8d2a5940ca9614a2bec76bfffd60c5344b6e076846bc23745d6d21d0a7e26f0d0ec8e6f5a8bf639fc04b58414bfe6260bf8bcfff4394ca45b23592a65752f270a3e7f1e8f2155f5f3f2aecf1692e0f08b4d066e7cd140465e3478854eba13ec63c9fadecfdc31b0aa6847c238addf3152cb1f4e8783c6023c5164872be84d88a05be30b3c5d3532140fabcef730d45e9db5208346cd7cf50eb8689f08b13f29f7b5d59af46b097fba4fd8f0975ad7a1af62836ede52cbfa18154639f0034e943b83de59439efdfa8d7caf88dad900991aae2d1ec083311c12d9ecf1449dbd4ff09f39575e299568ea3cf79bb211bfa7f0db345b864084dab7b5f373da80b4187594af730185fc552dc628f6689801cb515e8855c47dda6ebb808537da3c6f879012facdfe5c10461f617acc5f6f70b930c58dc2d9d4d2c477b18c36261bdce18354105b70b131de228d3d46d30651ecb872d03df5ff496f2a4da4b287fa5bc2c749d733f2a0561ff9fe47d5229dfb4a484fad283b62b52313ad5574334c0ce51e94a6ecbf34da1a2ead7c90caf858fb1b80c1e0238026fab647071eccd9ccbeae430fa51edca85b3e0db61885df3b8a79158512b82bd47fe2e91a0d86fd833e74c72420bbbca2d30dac585d5886a291585cfd882aa2cfd1fed1a4746a5eda4dc44a43ed1071558c146fa60179f8bd7879e14794873b722f31a4a2345dc7fbf2a8dd4b8619c929bebfab5be7e9a9d87f71c67c70726993e6bdbd95aeccc890410bb3b83e536c69099e4e53667eee7617d792716d8829f8e9a944751c0e053f413f51c63cb56c218efdd596524f8184ceafb311f746b83c1209f135ecfe0d47b21cc31f624298cd389648060bbf0d0138095a3b62ae62ef6c7d7ddfe89a4bf01e3c1dd81ff5103558582a0c66d4a887dd49754ba2ca6d7510290a72cd1124b45dbe9ecde3740104cd2e5c6d8aef91706b9b3560d8b82ce71e7de32f772f91e3ca43a0acfd6ddedb5a77e27031d9cd4289dfc6ad0571d68a3ea899bcaf95507e7cb443e04fe414ef5315949c567e54695dfd47f5d8a8d1568847d2073a9aeb361d01f5be5adbfbb25270260c2d9ba15fcbb334029508f8c32bda7116c8bb5d7360b77b55f6dc444978ff00c04c44d2defa0cbcd04a77c5eeebb8b9aa14353ba826a27577fd3707363c2c495c48b2dad7b1a3bf3a2cb6c82ae984c12b74ddd344770da0383164b39a883058e7e23d735bafd1009159673a6bdb4657826cce0f26457cdf4ef2f0e093229ce65fa0045dd8544d81ba2dea7c0107c3cd370af26ad0f6801612ccb7ce7b7c6b83ac7e46b9f0c0d8c3628e8dd58df321a2978d64b2baf0f1f5762c233a85ad15af90d89f91e600dc56c5f5479db58dcffd5f53a6ac9b41fa2d08cf14d12612738261c5070eb1b7177bdb303d68ddaebc3a1b8d873593cbdf94c6c0f19a74b29486d2d5cd577ae3efd41e641383436d64220526a1e75558e5679a4d6240684207559da6086a435cddf80138c8d0f218ff10ccbade03eb175013f6af88f9657196acc022c17021e80f5aca6c3025355c8f6b7cb9f30fe5f1fc6a4e3b90a4f89cf97061b62c5b50bc58e57240b42517ca152c48c0cc5b7e3412f3e979e4ffcd4941ec63044ae25c83e22b72dff41dc62e0df86883eca545422e4ff6c8eb9b5e8c8083e2e3315d7a0fc0b681b6a667010cad584e0b68f2385cc67007c51acbda4e227a6a1fc005bce23c8679a03c9f2ac0b18a52d0368fce94c897b7a5e202c1b00c29abcfb84a40c54792a416d4decf31ecdd47adfc6c5a035a87953f51c8455f90a2084878d53a5daa29f20eb6b75e55e90aa1d75b91eb02bf9f2ad535ad5cfb6eafc9f1ecabf76d0160a813682686b3547425cad38bdfb986109a066d6b209d18bf8667bc696748902a201a6f7a9e313f91c54c5bebd02e4052a9eb6ab7b89ccf20912274dcea117950eb166b531082bce1a4ca0bb13e1caf2d7f102f3480a26210736fec451c30e30f1ff2ec2f373a2cbc68c6d8e2f3f215948c055f4c56dcf6bad83c8213225734a398db60b9a09d54b8d59a1850e9d5a6922638147cb7f432b8b9e2cc121181d0e6020e537b56f6509a45677151485902f82da6c2a726d1f70c1d62ae68396d3ca8e74731b9dd5b0c480d6a97b6d1d705e89d6bbe946951f109a2b0c7238560d8596693d79730f3c32713ce87d5cedcf77631d8726ccf642a1bf5166dee08372b6ea452c57db800123f0ce6f70446e73e7f0ca4e5762305869e4649c9c095124097514fa533d4163f876cf7c1ee1961516b5f8dad81078e3bc2876b7765efedd9d26462ce6f783f1df998509d22210319bc8ea4206747156654992807f5e8d0c2a13ab72002406298c3952cebaaf0e30e91113689b67efcd41efc126e5d48b659598f36e1430653e6d534c1f4e0c6fd43692cfe91db67cd78d369e22a02ab6f6ba100cd36a59d224fd5cbaa8d87422ad04c6717899d6f41785f71f0c0717b9b6c79fa856684bc330f820d73bcab18e5fd3b5184798a7e4e93bcd8ae9a115ef469927bf59b634cab884ba1676b0a0a3f9ff0a539929dd62483a4536b84854823cec334a34fe57ef10c6b2f0fc44ac611d65561f7d157b892dc8b03eb7863b07bdb6034f26474dacff454cbd6eb58f0ba4e68d2f5f95346298260afd54452e81c37e0c9b99bcbacc4e1bcb5c0b6fc81068b41543b9f8488bc4ac7b43ded33f3910485f815457e1d9e8879f1e4fe4606da941544b775da7b79eb71bc81ad760368e27dff70c41135a559ef9d6af732dd5138f3a008ba1b96d1d90f8c292253ca02856c4546e98d758468b416312da77484eac086c8ebc501b50508cfafc7fa6ee07781c84810767336db24d8f12f19fead633a57adff52d066345af7d7820b8827518bd0c764906b6d734c2e2e1365317f4b2ee061365b65b1b7eb2f06bec0e6621445fb794d0ec0ba5cd5c10a9e7df913eb936427c26dcb17ba56e0bd70270bf650247e0bdf977965ce9806c0825e37dd23eb59c609fb82dcdc291793b9e0165fad96216ede4f6c1ed3625ce55c4591f5534a42fcaee5965ab6049fafc32880f2e7fc4715db0c7f40b2d57b52c0b9ba81e3fecee9594ca8c7f4d762edcbc3bd29505ba667472ef0f0e8db4f565d73f5dc0e949c9262c2f4cfcfc856064d3435d7220b3ddd8039b410cd4f395c386dafbede10fb48bfef43ae907ef5720b154acf9d01ef1ce44856a486de25719a3fa02729ee97225a8f7e2d421458775a4a842c9403d23c8247c415f5cd26f8e0a33b2063c426a869cca402e8fbbc17bf865bbed12c432dcf4313edcdc154fafae15f7469656efc4282c5408ddb85cde564251b6ff05fd91fd7f9f66a6f6da1025ce18197cb6ae963d9ad7ba7301399032b4216e9323f0b6087c5c85324c77946a33638f39ccce8a4e4a277ac54a6b46828196ad3c2e50975d21412baa223b07ea1f3cae9e1347977ec68e4029bcc7047341b47b9ab94bd1da0fb9f2b574883f61301558e59f504b1487d5ff094c508ab1a3c853c4338c5bdc308f0d73c33141d073591de48732c5ad47c1d14e84f75df757a6b1e9b75aedd4b7369229a8ae21ca823af368c03eed5a87d910d2286373d52729372da2e7404ffbbac5dcbd0dc2c7fc6f338d65548ca515e2cf1dfb474c45e9b4b5644b314793fabe92b02c63a9267fbf7a33a959b00552a3b49f992bd9f9286ec93b991d5817d7bbdcc39be66b381cfba69914c5a48089252989541c45610caf0248f4cfe855e17a01962165bb74df9efcd0827f6160f8d6bfa7b92d052879d5d97716ab26f2c73ad13047c91753a70ecf9f1062fd0eca231df3d7ba6e1e40e674d9e8d471ecd7bcbcc5a3322eae72bda3bba82b7ac4813f174786ac12abbfe2d25a04194883f4decfe0ce6f586ff291fc26f9d9693ceee3375e3f5f182f137221752f4befba88f1193d87d86ad1c1b7f676a74342dfd1ffeded6bceead67ea343f792edc71e11f727f83a9cb9da2fa74bbc72ebe72980a1778458cdca5feb8bd6b9364fedcc56718cc870e1b65d689998896c77d7b6e29937fb74c15858f663bb1c3355c72e4317d7e50991839523e5744319f34c61af3e68be9a3cbdc0e8c47d47c66d6179a95ee7ed063a4d7b3a2976addfb99706a63126959e8fc1feb70480fd489ceff4b3abb1021a67182cefe6db129de8e2626c3329b19a2fb03cb5671dd6b7737b7b0055ca4a8e43b536c947134bb1408f1c9e1492e15a9ae536e98f3b3a61257d6dcaed4e2ac1e07731835d453098e405b34122fbf13a2b58d55f065f823642422b1a24445077e72e689a4c4b39ef362afea6c8a1e27271e9b8c09bb07499ac62de641d64b3a6e502c4f938cfcf0bafb0184dc0773f31e3cb2b362053e6cb43ee60077b259cc3bd0b04b5a4aa181dce6461348c633cc366030e9e5ed74cce26fe207d939fdf4145e4ac0a1959758d90d6c0be2fe30895dae5527bad8aef9f9aad239a742ec600e90a7889c834d0b2849b3bdc44195051bb293a57f9857bbe9ab42c8e1d963fabb7458270e59412ccee26981991fd7e9c3974614fafcf0f3648f9d22f7b9a05b3e65c81fcc577d3f7f6f6a767f6b6b54d8874a2392691e1c1382b9b00d35c4a3ea0260487a7caa591f29f2f6ae40b843cc35fc00aff34e5013b8b6e4da5cbdb539a229070088b3b91032735eb8fbd7cccbd2ca8d62b4e9208869426ea24ad1ce607a2eacc51c25da99b388d3162e3acf22c95bee49997749a7b0b22da1b83aaf494446e732c26dca5e625b1c08742bd5207d0fec105ed7af441e3e99fd0d43cee3ed1776f01de14c7d1def60481296c98fc60b4c8240f8729d4918030d49b257c30c79a3dd0fb8f9aa8584f046096222611e3f53ea9e2ca6333da62bc7bb53fd74f5948781b3014e28eb1def1f09ce4d83696bf9a6f5cdaa20631309e9cd377bd63dc2c785e78818486b7f90a0d98ea53db62f8a58abc0cef9336aedb87838a2f23ff07039e1abc586c39d38062df8e0477c0037ab4ad8fa7171c5e68987b03176ba9c749f37583caee1efb2b25aa7bf8ca6058828561e7abcb2b4517ab05db1b2830145520c10fba7ac6ccb1b124af7e02949350f3da9545c79e7a3d6234d05495c80fb524428d83c3c91cc378140bfd294f2f8af1a0ecc790709357a76b7bc61267de1d76338275df9f2a51c5b076a9e7eee212a3727831408afd5bdcc2d03b81d9b5d7e2645452a260d31ba7dc04099731d7f9ab2b9071200c6b5cc68af1c28a5ce604fff6892936b33916d2dfc97546ca5c29b951397a364c277ad62128d2d8ca54cc820cc04c64d5e10b5e10bef68fb564ceb95170f5a05c3f36891928a280e7ac5bc1cf0ef3e9d67095cb8b7ebb272b54702bb1c9b3973c2fe01f338141e3ca6b9618b711a95dd159572b5a28428ae5ea9b6c587197ea80d320ae9d318a8a270e2cccca6c429a4f6a39a3f012681c5173551acaa38e2d2cd2913a7c2ed06c4c62b9854868a9fc8741f1111586f8324d62cd5fd64376e3a60f451e332699ba4cc4aeeeac825be08a7384d068ebfb9b865c9628c6f75966c38e07ac2639ac033ad7c87fe7cdd43bc2d3dadbc29f48eda5ad5c6b53ff8e81187c573f5bf6a186dc74a1998baafbe0121135bbfe09b6cd430890512451af0897ea25e5289a5b9db539acbc3af98d470666520b3528b70af1772bce79b30276cad5f39b2696b2db8f8deb975f7dfd8fb782493ea83038c48e5b298eda63fbc3eb8a4610193bb159dae666231ac4fc779e95f6ac6d808d589631e42a816cfb9419f43322568b3a978d45d4e2c56d0ceeaca0adf0dbee50b1264ffd954087d31870ca92027262a3db6ba1c708eb22434ac4e44801ac8662df774e9a2cc2c419d30169d0c67e983d8d9ede5fa980ee1a5c27ae9ef992cfc4e9d6e3070bfbf15f7781c1c8343d3ad8ecd022ae46d6d83ac4b702dc6c46f39cb483d681496f367d5d4056f3bde9086407d1bbc9c4d104eb05a1b26dbadbc951ce3e17bcf60ea8e001b7ff46555b83edc91e8262d657a67d925269d480f38a8e65c4bd5b3847e8618d884d0d3753286c4fb8467090994715c19bca3af7b6482489a5b7d73c919f0ef48fd9958f0dd371e5a1d036a6df4699e28f3687aca8375d5553fb0e591fa411116cc952bd276b7c3e9dfb77f3858e0d617ed66fc2f63253f0db82e100b1a6b4c2608593b70a7320e06732ba50a30a29b0cc4001e94ed52799b5088872dbfeb7db2e6056b8a91a1c09c217a5443c3785083077ca787464b32f914311175828ba03d07087f993ae8c7c908208bd4f410ff59d4e820954b2937277ee788336f5f86f73006cfe7edd67ec3d2ce6470ac0a1cce7ede075359c187e3504739e50d2448f0fb2a7d19ec51144a1a6c050f72554f8027f83eb184e8f94581dc7b663dd1b70443f6c8a30696e3f7678ff771032efa3cbafa38f00ae6408b7d3c7af6968229a1a8ff0247aea80653de96c45bace6779d6147e6e573589761674f150f6f46589e8d30175842c03d767a65c4dac6e44188ce94baec17e5b038170852accfc0131b95b825bd1b019c32ba11fdb0c311a8b4265eb811c45f3c6c36f19739fe1e6adb9dd3d20e7a7f8464387ea0e6d76861cb56ad7d710028f57c48d77b0c4d45acd06ecc83f8621fc5f4e100aa44a16ed1bb38aff331078170ac4fb836ccb2f844b76ee4824dd854f2e44b47cd7a33119d9971340a1d6ef14709de2e4e95049af0877ee4d8a8982735e0c6a27ef0867250461c70eeaffde4ef39f811f74fddbb9869d64d3b95574406140b6af199f3f7ef351056e080bb0efccb180513d1706f78ebc75df4b062d2f7936708a8c42be669d0d5ab42f014b373536796d5141fe32a0a1ff91d0a63a3b27084052e03f8f45cc7aa27e43450ec27a68884bd481c85dd27094def466d1d92c262cdb79eba41b1318706088ad90052b6660f3781f46e58b4ac9498a75912e5c10d9f425c6dc2822932e4bdbaecf1693913cbda4d7b7289d77426ae53050fff306f4603d2553652a46cb36d028513b651a60ba33be4bff4fa2b428a17920bc65acd0df8396abd24ad906a8fb4c1f65df9fdde58fd57c20108184c52ed427b7b1ee4df84ba6ebdc5c137a39debceb6dcf5d867a544bda70b6d38bf05afd44c616a1e38fa30387709414fb475a25c9770674276b177bdeafea83d7f464732ac60b7ac693a657040e46a89ea4952ac9d55a6cf9609e15734a0dd8f54e3574254562ae6989c868fe152b657b5860cdb563f270ad936f0ebfc6352fb1a46dcd90825678c2685a7fb0afcd4b3b2d7102dc80dd0d7b1217fb34ce7bd79833d94ff83b084b517fcc05b3c39a78522563482a4e43e734f7951db305606ceb83c7bbd522dede91f62f30d52eb5cc9fa81b685f73dadc8eee01e121e8d9cb3bc83ec13a1c04775674f76afb9f060684b4a4bd6b9c21fed1748d0455d7be54e19b32c70979d77edee81088948410bd3fa4044875eb3dd463fb4f22cdd7049bd402ebd875c03816a43f093d7f2fb3200735109d573e261da5fe6fa0f0ab84bd1dc0a3f16a7ce65fbc6785d580ae80d615872119ab905075a6006b1f2a9b69a9fb4c9652a6659d414b7c2577123cc400ccc5a083261a31750bc24b2de03dbbdd292e27f77fcdf2fc3e4fc826dac2f8951cbf2355bbd50be9632c3ee14d5931d5714f12f38c0ae6053c93c5e4f1c9cd29d8be3d64998c41029c6a18e940a9ba7f14180a80fcbdef18b29fbc218f63b2557fad8a1faf8c4f9847e71e6f8666ec585155afa753865c72444357b640be61a7c46dc75b80e641fd01a1f61d12bfcc15db6ce67364962eb3e5f0bc1df5968d1e4f18052489dd18667b32a5e80bfaddbf53cd1169808131c76878681472d14c03846916eed0d578f7b2780419a19553658e9c68d29b7a206b389d13dea4fa92fd1d074e478839de483e5d489a89c3dbbc8d6db26e41f1e9c596038fbd6210b5efcfe34bbe84d1497db8fe488426e60b44f7eb2e148610f32188f2e7bd898ab1c132428986ba04e538c46dc067eaabc0b753633fb6cd3f3cc5c08d70fd7b05382a9fc562f1e42aa9313d6e72f9e09ebb9490e4be612a80e76f030d896c8815f8025289e4a92ead7b8372e2de8cf4161917c43ff442b709b4f493c7ce901a5a658ab861e5c20a8190867b6a70b673c485e605bd192f946658ff2b0f94f0369f66f65d1345d6ab6a142d1415c2493743c5ce07d4dcf09558497edc56601f6e43f001bb73234bc5e46c0704e71e060e1eb96f288a8f29a7edeb0b2cf096d2a9853eccb728fabe56c91b394d04d180a1db7a30a6abf1604b4a108e7c53cdb6a41df3623fc6d27418ad54664b6563d394a41c043eb527cbd6de224aea33c9087f51ce6bc45309042b45af351769e80c288f5895cd35338ac81977ac33a5d3681a8a2819227c3d4520b204387cf745c12c4908ad1f3f21fb13aa05da8a481b7b44e6ed06fc9c96ca849b9bba1f2431f7c99b64b8f4c41b9695f89a508dfe61588ea060988ac7e312b873a2fe42244a6a98571ce59ada08d957d0dcef29252952e2acd24057703c379581616d74e76f6ea5f1ce6ea1f1792bcec2f15bea6282624181197e345fe5cb40f6a4e2ea499a627a73ff8c1f2e0ec9f365b55df0fc2962f201cffbf55d48dfe18d9dc0b0e12fcee925472ffeeb9c63476579507a646cf713c2c5e7b36b7115ac0667a43d4b09d94526f9b817da78f70dd51efb98c6bce6f44540ea99c7d3e20892641593bdaed67f5ce32542d18e427d39e6771d03eb23251fd08f92d4439e12db5f7df7e2a7f8333fcd4c5e4fead9e3de7d3ff2404d01edaf5ff85ed91f1a8b5cb91a5a8a0d00f1175ea536db5e1e37d3b460756524355385113e5b8dc647ea1f75804e5af9e6f3de39c618f0f5d40364575e6f374add9b5a60b28b12c33f8077f910d93ea27d09d0e798cce5e6dd20f243bddaa4d2275849f877f066ef56c1e249ec13506425e7758e3cb06f202f4047e3ab0d0e7c8b08739d348811f77231719158dfbcb7753e979372b8659b58a4bfebdc5852df2c8a40238ae444db7cc6c13bbcecfad4626639abb4c644978b40aa9460e53eb4338081386e022a37a2b3ad0a7ed4ed2193dbe9adcbfc7a4fc6872bc76508e02bf7faf96220e416d7be3754b97d3920f47c2353eece0f47f8d42ecf52ca22d4bdc07dc046c96ff103bfebc5be7a21e0c62fd48832932e723874498bfd8f90945e3e744588bb2f7d93fde1cf64982df7a8ae884d8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855615f2d08c865a14b570484da8d19194b5794fef5edcb5dc13f09e98f36d4899c4163db081a7ca82dbb99110e16c16c565c4a6077f7a5cb71e0f0f196392b3c8c6321ff0c7fbd93028c22ae019a5d245317e76d64d0415cec511362b6358de5cb652ce63fb46673e87c72c6b791781e1af9b6312a7b16cd84493b62e6002a139afc6f1081bfa0409050864ccb8fe7f5aac3d4246c8382db66cb9603ce2c29d69d1faa1939a2813fa3a918d0ec2314bd7f4bf2d293fd025b36ef28680270f63688a8c43972a2629022026241dea9fe691f13b3d388f1951dc57a2e6d0e562d5cffb7067731d08b0aa806443650cbe08e79e47253ee26fcdac7ea79e668114a79b893fdb7215f751cd0e135d32cef5aa3b4f4a986051e5379aa441ff2b08db0dd71c52644292bd886ebdc6ea469d69378564bb356ac762856d4ffd8eec246dddda9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85564604e3db373b082283432b4c27a91cc748afceedbd9898c6009acb24f13a029d0a7e20e0e057d6a8516bf791f6ca06ab2818de46bf68fd7c740ece7a721e56a9b886a2656ea93e048acc87b21101f8ee98811e15faf9026ab9745d6925daa64d2ae63c669266c6a6c845d8e4d678782e92b0c8fc9d4b1da422c57c7782135de3946b76ed1a256950a0e5fe8afe1e85c048ad31711bd4fddfac71360996ac7db91f7c2e4a1f8387331af1103a7a61617152f3c3e67eaf5275b2da050e5151e9bddf33245abfd38c242c1e6f495d20a8a8cbfbe3da450f8750caa485af77b0c4b022d128e42af6cff35d463040efdecb3a32f4b1b3a2e749b066cf4247a81ae6203b945d5b9f4e4115d1c6e10eb12c507210ab8ee01d35f51110d1f6325a50714d84abdcf2bd91deccee429c7c05fd830b52c79506d00f1c01e764d12f072cca699c20cf1336cb7e4defed4b221245d20cb381d55098bf5431862fb5c613db1e58af1c924a1efd47cb955e1bb1e4215473b9dd15d1d748626b73d3902ea5f4e3cd38550738f412dd2ab3ed367521139f2381ecca70b80fc95507cd82b1e039d5112eb5256b209f87377db7f3942251ac2f1b23f4a9030ada6973437aab1c186cd8e5ccf09ddc41a9075c08a91d74f3364db50e5a699cda8f11f11dd7f1aed95c00484ad3f14bf275dc113e18def14afbc4dcd63df2f01d41b06a5b7b09c3e871aec9e18d678cd6cd2618ae4ad2e918514faa7ae5480781f3b27e60ceb441460892d4d0fe97c4179df47360311f854c155ee7ca66e7d91ae6969c8e9d31ffb112de956a2cc3aaa7208816af1d98a3716d9c527af02921397ecc510590ab1ef3488e6690baf86468441ccb0b0528d936d89f4a4901694e2f66acd8b4189f4373f05b8758d8eca2c3cb2858a239395f33915a519c43b548d7b6f481b29344c669f493202b50ed7cd57356cc29d4581b02291a2a8c08e878d5e05233634f6f5d8cb0ced3c8c1aaead7e8869fe1c9d30d1d1f03def05cb66338e7eff0bfcaf50cc29ac69a5a8847c011f3eb60e99103f4c734ee7898cba79a5ce99c01ed9479f377e9a710ef290d3aabc1bb70c7350d9116b18cf0597153abb87b1ad94e1104285cc6d70b9cca4c85beebde1e5c507a061ae5bb2c19af8c846d25c7a81967cf19c5086243cce525c6cec134f95473c1ff8b4695df1daa9a28b15416223221a25a155935c9a5ebca06705155f954e8ed7a740ad72440b11435b68d5842bafee80a53dc344032f0a4229d7edd5cb885f03df5f0ebe1d33aa56739df98bf2fe22a703ff28a1469eaceeffc84a4aaa4273ea7a2bab8ead4ff6230435162cc3f681d05091fc85015b40ad1e83c4b88608580d7748492f245edc0be3794ed2469b1f1c4ce096f25c5e6b89409b40e0a59a4b7cc850514ffdf3e6c4e25edfd20e2869d585aa717b7b3dcf874a742d3a277fdac1b6cbfab4135d7ec4c980579b24ea0e60ba3799975880da2c5d63893c6a4959aa4f3ec1e16fd1596483073d1d9edd81528746ed36b73dea70b45ac98b8e3ab259972e30e88b088c238a84c5c1eae2fc413c6b36b1acd4df6a318c0876514cccb730e15cbed6911a7a9c4df30576912bb76691cb24b0e23e83384d4fb74e0665f3d799b233edd5ec5aafe153a17c45b413ba196a59a34992b3263aa6f965fd3f7447e8bcc858b681aa87e59b41855dd578d2fae061358f399aa4876c1fb5b895edbb69e6e8c84545758032483abf3a82229f547e73be7c3a3808beb46b7c769070fbe9372662db628e926023e6913f9c63089a5497bcc2208311ea3f04c553ce77dcaa98565d1e503cd8cfba2655882c84253a0ff1f80d6d121a8f7e7c672b4b3a0976f3c9e00c659468509ba4f6937895fa485b6faaf4caa98046ea55136282a2bef767a4474baea7a72abe6af7555e96450f3389f061eea01ce2e3285b023cec3cef97ab3411ef40d50834ee9bf5b2f07b23349d47c29bff14fcc41272c61f51c51ba892152644928a2f5341bbdb9ad36b8221fe92c428b094726058535f6805e5f2a27af7eb7b434e478d68590c0c069cd24ecb982c2668da82cd0a36903e89a692f9aaa01ce37c023a32318068df6d8a4341f483b1a56ef2fc22dbe3cc765e44795104c445f4e3409554564403120c658f81125b8f20b3c0ba4f9b59f2aa4346b51291dc03ef8fb433bca1ec483996991e65e0e2bd8c379bfef7fd6e71c1d532e98ec891750f6f3cbf278ccf2ec8c352cab468006104d4f0d9aab8fc00e0d9995b7f8813424932323f639aee345669837b1479cde7a34ffc7bf1b584d89faa1408349ec26cf799bb4eab8d32b6c168761f6171b81fa8c5dc219e04b662c1ce92d95afc75b2ef26f9b25045d5f79880128fd15dcbc895678adc4d61628955f7259de28b7054a220d2745eeb021e09715bf318e5b3e423aae096b10387be6a21e22722ef23c944544b90d981bbfd2f3cc4b2aaf6b16133ffc95ada51818fb358e1960ac71ab2df2a5294b608c104aa2007989423b9a7b8cec6c576361d65b821c8e9dca4c49f26cf135a96d5fb26128d2045447a51cf11ce8b0f6c7ea32898d825a51b3e854be1dda5ab9b68ef28199cffab9f09b5de86ab69e5829030f9d0c83d6a3d1ba20564991ec49d0e4f150b41b303ece04bc00a4a60721e7a9dd0b13fa6578feda725c579e96aff37e2fa2fbc71073c6bd7a0aa4ad9cceef3b501063926cafd7b08f75b11645dd3be86434f51ae4ddfac3134fbc9fe1a2b96de71c8a768d348317a2db992f44fa6efa68d9d79b76b12e3c0ab6822065bf5413cf9b866f9125963310318e3f7e724cb35ca5b6d67ec95450acb1b906b7689d634c64e0a2c99d53831332f50508a170e261843c415a53058d27b77259413cc10e1ab90789c06524b8dcf3c047b0b59bf093966f5b6fba1554dd1b649a931c0ca244e3f0b5985fcf23b6e1f4e04bc9719c42210fd8fe9db48c6cc7f25a8324228d7090c05065b57e1f1795b46f3cc152faf35ce766d991b26363d39e5f59fd778198e2c6bb587830f371fc5d5c656c9bce11b595f90748fcc5af83dbb56dcb0d7860096364ba6f600f0de5138472995a562c39cc84e405d0f8c5dea9bc5da202cd1478656bcd50387afa9926377349972b484179f1bd4a5fbfc846b22d7042611be6f3e0163345c57ee22d4ed77319bef5898f87eaabe8956840b9c5195d8dc413e13be3357986be2a687400f5cf153899fbebb24a2d87dbf84c92cc15a4936f4ca926425ec2478f89984c42ba6b5829498a6695ac7aa586abf4aa27261716c70f94babab7298e96adbbcbe3a90a8d2c874f7691310281252c70c0ae6038653c0cee19f3ea676116d3eab05917fc8ee2b6bd4a3b33aafc95d4965b513d44f6da3ea37d9552351c33baece352ad3f906d2c7cd7226ffe6aacfd0726c990b8a9eaa46f45a67caa34538f3fa343d57966f1e66a081fdba9a2e5c9850c4c6c784b60b1efcbbeed402f2e8f4b5555c80e00e6bba2c7bb442f196c980248a4473ce4117b5ca5b86b47df966b89fb786460f500556288059e9e18cd8c4bb14de9fa6398f3d3756f178d3b73e464777638aa20dbd10cfaba93c437154163d3afc199a22804846fdbda9c3948d565f169dcf784126e7d3866711ce46159b9fbe1b247a356651d7b8f912045bc1db6133bc51b2f92d9088af7fcd7c9a642a546ed7d02db043124ef48678e615904ed97b4482098e4069b3db4fe157a550ea928e92ddbb34f531b019d45dd094f4fb5b1043543940d0a9b8242fb3d528b2bdaabea105447059704164ddc67a90388d912580a027f2a9afcc2614348c898dc8e397c29d015f438988a7f24685146a874e1316a62fd6d51e8608e4d8be7a49f3cb63693c3120817958dd7c2b951c77e99a1bfa248a6f72e21ddea2da911b080a826fe42347c1fd942fe209ab53d08cc27093b8303a644f18bae6eca8886ba91ab9d0948a6e8521845d7542cd819f4d2fe86eefe5280dccc88569e5af186edc201e0cacddc12a5a9e767b42a48a68e0cfe14d8b079ac0c1ec7fb67325c41542022c852b5ba5f5a6d3fdc0e94d62598a825e8be5c566dd34d4cecaae1a008a3c15baab6ad750ddbe40d2ef8ab9878a91afdd33678140c5fb837eb22add852c2fc1639d6399deb5d39ed795d15361a22cc27891448a0ce59bbfb125fe407af235f3f905da27882dafe5f41067e9974cec49cd45a7dc09e0cad07bd3f5acb3d177f75e33baf28b1567720e9797faeb2e4e4a2cff75244b02b4314f112db8f6fd73a7a27fbf7e82d282cd406ec5a9a7d4bab4a95c0bd8facfcaa5344e3fe045aa67832b4d618b31d91115a6f00c15ab6ddcfd7b5a9f84117cc7dcb08f4c1299cfe775ce9566292eedbec8e36133c96bf4af60b440f283d1341369480ca65ca6ae9cfc8fb5298ce319ef9bcd1ca62aa2086e33b8bda34f096734218b6e88d0a9f9c723b570456734e6a042fad41d90924cf536549f60c6bf12c58b8d7aa20afbc94a4170299443bea22ee499854191793f5530cde572c9cc7db2400154849cd919d06bf7ebb2bf0ab276962a985fb6526a81741b70ba0a6066ef4b509996c9ba05b230c5938f8b74629365a8d414bdee8bb2fee30084b4f92ad66ae8f3ef8a3fceff3282779741507aa4e68fb4f4ea12873a77881a9294ccb6c80e66db06c8adbb3a6b421bf4f1003a389ad71b0d950ac6adc4887081200f1b43c856ef83aeaab48e70bf809c65d4c70a6dce0261608879555d07f0b571d1ae997ea54392a0cfb916837220fadd8b7b7ed65a8298ab9077385eb2971295e66e39ddc624a7556840b7311c7a6eee6bc2b2c2e3210bfb12020c8096ada7f5933426108b537b20f3208741958c272067ac46255846aeb54ecd49e06578243546527b1fb8f85bc57ccd26ec60967b834e01479747a854d865467879548602169ddd39919d992aed308e5f3f9b97cd74db024ea2c6c5e421375ae41a1a626800f4e7bac5d581643c8100c6eb0e61ccf04dc0df674fd545b82e49fcbe8d47e6e140755ea55905b70493ae1ae8734472fb10b26f0d680cefaa2acd81719015d4d7effdd20f5d6a6fa03793ff05a3a465a0f1664181c12376243f85c20dea725d458a507fd1ee6f86ec3eeb1a609dfb4e0a6743f02b472156c014dfc39bb8266f25418c383bf98d547abd784d89f255f8f87c0a336fa10860f695f7bb8b819831a6a452f04e937d1458b3feb8d1ecab8faf3e8bda81949e5d74d63ecace419c0f29e442da94b070115f044c9d309bd0ff4527c999c601641ec4dd3d5da84ae7211faa205bbd0f910200d2790200a168fb4b60eb148651628bfadc4e7e9a396772b32224d24d2d1a047964a67c8484148fdd20a853773fda02103af1121c3ccd9682197f99e2a61dba30bc98c11c30ae493282a9ff1e110d6007d8fffc333a35b67902f613997c74bd9b961c7f0578e8dd7fda0309044034dd3a4995b12a468f09f55f53001be877846eeed2f4c421c0a0f238188e7f758c039f82a0cd4dabc6584c5667137e83d55ba9e5ebd7b21a59dcaaaf7621afbb38e9c473de49c94ef6048457adffb29ed4ad725692a902592d2f0a9ebd29801a7723d99f41d3e9c87fa7b1e4369813592806a509d259ba7d18d46930831acc3ef0856377ec757bb24ac544f654a76903f2aad9d046192b0d1ffca0e8ce0213ad9782b71345de7d10f3edcbb335dd5327b1733d83236d367588fcfd75399d7da170f060c69913ae84d0171f5e0ac33766358bd6f7327f4617e0a84d43c2242dc833828c42caf626f6b14aea9d4c5692de9415cb595e06427889bc195416d1c740553ea3230eaebca69a6ba3c8c4b682fd17146e052e1d493fd16c8c23d67c9b415e09e9f85ea5f98c8cf07881c001caaf81b87c683a3c47b4427ff5cdd934479099f4a670a7bad4b2bc8704b19eed79716abcb73ef30c7f2350cd00b3c88604402b12626a9b90a06e74aa23936ebfb4d1c58a69f2c55a7ac562281636f62f007b87facc24a38df5c818dd86552c312a63bc71b5993e10a209dc7e7326ff262c9c0ebdffe5645920dcd021deb2421dd8a44b5c7625883cd7357ffb1aad2cec71e9db0ac57339d6cadbb85fa3f2a885b7e04c97ec1af308678959dd71c4f0ff07fa85d4e9614531ff771d409c761974d9dec35b4f94f58b86826013640c9e4db850d6a81a34c8f218cdab03febaa96c6659995d16293e99254950e1a219e57c29a9cc461344a3d7a1bba447a19bd75ccf3851e57a318fbdad38e724069f7bc11a1a4a53ceab1fe0fe1bf5d5f37034f7812bb68d62e478c7001e27b5a55e3ab0c0f0e04bf4222dc00ccea87138731e04b9b1aaa254861271348d6694cf1a669588e51f159125a67243ce12bf28a638313f2b2952058c46b1657874bb0403439701848d4681d6f8765d6afef702a5e9b0b47f4b5d5f9da2212c9fd66ab919cc4e2b41906bebe980b49f30fc35a9888840f8ee3f9d9b8cadfad84165b14fe300b76c5229d76734f7899a305354230aa97aa8d4cc12eb3088e3d0009305120652d3a09ccce74b8a553aa89ae9cbb1ce64f15583f8a63c48f4bd2a333cbdbf1ebc5bf2bef9fb881d69ffd5c39855d30239ef8b2f1d90e4c4efaeb222761451e58985dcc01645fcc3a1ddd45dc9828cdd5041a744b9913a0939510ca47d5442a49158623763d25b86df74956b52ea389159909863f48c4ed3d82225b9ca07412ece0a1a10553fe7620c63f13946eafe2ce549b38fe313cb04c61e2ddcbadbf615124d915d075ea1f4f540daff52abf69ef0048490f3e1faf04aa6540be10628a86a2e1efb0f8375cdbe52bd55a98410fae9e67575d686931c065a05680bce1db6cd63e29f9f3d03e80e769445d476412e90568c5930657f58d90a9d62caf6ed04ece3f6033173dd62d6bd7fcd12c80cdf185018053ac5b6f4358564db80d495b1a9fd66db17ee2983003b6c6a4b517b2131d5b3aa72e92c9299924352d8f5986b67d63b99b381b39559c5d43433304d6855c09bc063a1d9e57d3d4be10142913e739db6a0f412e1e885373c8a680d709b5cf0d5ecf4a55291896e35af897fe547a67b2c1d1aff99ce6afa86fabb8ea2908afe4b272041c4a821ea0c6146f44fa4d1b6105de80d25ba2cb1fda9ad49e0904026bb901e82e104f6f738dadcd3782ea10b8440bc1e8e9146dcd3b2b9333a0787051f84ace5ad429166e2d9645fe2f2730070ea71de5f7a2623b7ad39361099398d79f9529d9ef85145c380c5ce68f4f9d6aaf10157da0ba989c3e78f52c6cc8a2239f028aad9f742a14cc2b7d2f6bab06ede81c032e14d7a73dbac637143ae89a8e475a119f1d424b1e8d4e2bb32311f96a07fcbe2b8dd945eed55c62be54aced186bfe2c17a87db7c617e474cc25ad189d21df42c4d23a4a76678e47af3ec79c2952497b16a80f4599d24b7d8dc7d209f3a147b45f30aa5a3cf03135576a50163dbbdab6027f696ede9e0369e329d4336f78c1a8f2cbfc5887d2f4161454ddbf927ebd12808615e7e7502340f4b0ba1a43186c0a2920b23c17d9ed7603379a786524bdbfb3203334b7ec22a41d9f56d893a74a17e426b74df03129fe5cefb1c4b9e91da94f3879276471e1e26e61a8cc5d566600c6f0d1a86b09970da4a03d5441d2df1080375b0f717d57d4fc1e28afa78f9c25b01014e76df3a0c3f57a4dcb3e06a621e35457b0eccc48a8592ef5859efd8f96de33935feb0b3ea83cc31b5070b524d34894575be4a2fa2934f7b5fe3f15b5709ca8c04ac2be4cbb2a436da8a5975b2c9c0a686146829dca4fd525c5bac39668c04deecf456694ca551fe9a2e678b916c02bf4048f21e136ac343f9fbbd00b0fb467d328920ee94f2f032f6dd0e781ab4db11aee2d4e9ec16f73a023dc71fbe636300878da2f0626d0515780fbcd60b108150d0a89fcf1443013c4b550799ca8b8f920499818cb5a8a6d8ae5eb074797514bcd674eb22251294e364b3391582948eb3c5fa5a2f02e58d9af87c12de94e6c266a2efba40d0c113f8ff9b5c68d14118566c9758f32f2efa6f236e287c22ffefd1f67cb0b6ea764c94e07dae35c51f572b4fac404a2f245e02c176e167624c71b745abdb932c83d77b539405bc7cb312028e8ee8ffcbcf98d89308015c9043f6703468ecf327b31893a7e472dfa5e31ab060d49fc5ca71d5974cb5231fe49da8ea7264db32d867f6dfbcd7568f9c6b6f8b2e5c940a8337adc566f9c2d980cfc0167b97f6457078fdae33c9777cdca3d1cd567bf6f69cca5edacd6fde21dc8fae63a6c1c89db4d3e631f39a57c6ec3132cc17b82234922d8fa2bf0c4cd9a939613cece1d448f8069fd04d5a8c936d8b7b48c189d5498ecee7dd132ee8c837d31e35f2ba33a524fa37e160ca75fd0f685135764e464095bdbcb16165c73b15aff5863c4dbbfe140e6d3e9fd5491e5be4e250ac86be0ab9c734450b6d4bbf934269a0151e5357ebced6b84f35e5983eac67d8beb1a0a9676000622f5c0525ebb748e6a7e73ad4bf6d4daafa59734bda733c9c7c4cdbd99350ecf14dc01f4dce9227b81ba837d60e81803fd71b31919ce85911207e86259371b6f59f84f77aea7d589452e90c09beef8ed7440f93485ad10e7e96bacf4b26b2e53a74347fdbecc1ae35fc60fc382aa63c8326a8bf948072291e0b99efd051296659dd4a68bbb260d6b7227535dbbc602e0e64f8621741f3363928475327ed0b0980bb67699df3704a3b7e4a3d7d39c08615212f2c663b944c30c2bb3c371b941b4640b3b09e1b6b12345aae1d64778fd9c765e7fa0dfd74ee6541a669906a3bcf1e50f3a1163c9f16a19cc438fd5ac57d5599cd2508a71e189585837ed9dc175083560b3f931013881c364d39268ff30cd6f72004e63dc7649b652204a2ce47cfe36abf3c81bd05459ee8f849d1c92457b15132addcf38d60b6157560f1a90b04ffeb24be0e6369a96b209a09f56807e05dc561b834b656bd94253f4fbaffcda795f43f287755e863912068e293aeeed3c5214e6d9bbe3afabc3328823a20f051b2187fd40423f9b434c7a9650e9724ff2bec2380fc74ebfe31b4d12860d8b6723bd322b90d26d00daf69e889e1fbf17509fcfb97418969a1500371bc9b67a15751823c2f195ad52819cbb4edc99d09f832d7e8966226d2e3c625635ac9e39646f105a16d48de968090e1d76e1bc3c748cca632d684cf6b60004228ade827f9df1bc0e9c4397be175fccaba5c23a63d60f8cd86dee53f9c18e3b48ceab7814941f8f63e04e85dd4be58e5f64290cf8e8e4e13680a10d08ff5aa5584c00b9a4a68649e51029a76e4e55e2833e10a4902451e617d034b5c3cdce8c94e4cf76de43cbe35c67a58f1588eb772a1bce7f402d164072f2ca059fdda4b4604a7beaa07af6b447b7b9a6dd5269434093e698507022d13f18a4beb57d5fce64feaac0635898f9cff5cb6b2fc31618d71b643a292b198acc398ed3fff96d412466771c58aaa9785a47305f15e53c2aaac085fa39721eba0e1ed58abd396dd06a0708ea8c4d0084673bcf0cd34393a7a951d8515947d4508085ef2ee9657efcaeead03890fd435587917b043d5a02831333071453dcb44dcb16d5a0d53bfb574ff02035de983b538019367c16c24eb61ff7365e075b71a2941461dd91a575419e13261fa9d85f9c251d01a3f6837b29d7973ffe504a95123f59878b68071be9852413aaef454fb30c5fa1166cbb4043f0757fa020fab9d243c050f4ceeff0fed9d1781f7c752f76454f36cee89bba3063bb936fe898bb73b3f47ce3455ecb9df3da3705205fb3741dcf2bb534599a73fc2de2acfa71f9ee1a5304674622b7f2d427d30d755efdb74a1f53a6abf4e6f1bd1740f5992a032aa65cbdb539eba6b413ced3e3fdfd4fc782f85a8919e4d6040d28680d4c7b2406811c0e374e0a8784ad5491cd3c5fe30b1df590dd2adc2dae972456ca3ea8cd3fca29e18c9a444c74eb8544175f294d4095beef0348ef8398e8790f8e4b661865263a54bf6241a4bea016f93aa71b43631b0bacdf7eaf8b6aac9f0ac76f11d4f7f5410792e84f65270287067aa2d221d71241c0f9d6962fa5dbcc93a0247a1a0a645444acdc724986c3fc9fd2b8126d2c0b256ed695420725f1440d558e25d7291ebb1997b5200b7bb5d92abfbf6dcb9791f820683d8f8df5add717f1d2b95a8f0746bfa51443cf8774ebb80f8348f4d4f9e18f3970b21f8f1a27d607daf5db83c7b4b290f0812c04305e0e84ffcc265cdd9828e1e660eda0f5c509d9901fd45bd7b61569646535c9570c53a778d2e623c74e50c81c14a73aedee2eaa64060e2de2b1220d9956cecc0ad1e82e640d2a3346afbcd60acadfc427a234801e1131ec333d6f44cbfadded8980e3fc169496070f5c065805f3ce29583222c62c75dd00bb24234825fef7d7446a9ceffddf62025242819b0846a66387aa963fd0a9eadb75d0f002b10b0fc2c701a1d3dd6434d4e9418ce062885273db1b1206afbe92dca98e49d40bd4cb6b2094c787078618e92fd812515709287f8beddb61992e1fece251d699f8e9df2632548890f19cb52b2def984462c18e9214f061a0b66c3e8b3fd270a38697533ddb7b4c1e00ec68021105a172b4bee66820688ce5545e20e4dc7561ec19efecef5af1706017c45a85e9c7c507522bb31d6d9fde9176c74cd43f63655516d62dfc29067a1609fe8e5a382eb7e772f06d7683daffbc96d122125d9f07f362ba03faa565886dc151178e471f9cc606ec7cc813fb4970504993cb4afdb1ee3817ca1e4f8634df96f25aebd3508927e15efe6c4d9ca0f0fa4945472ebe48d4a0e3201af0d595ce2f73e24bc0fc2e86af875fdac54741e7fea0bab0e1e89ab0805e1463ca8b6507cc654a0fde5ca53df96ad11f814f0551f4a46b762edd198aa2fba63109065b177f4da88e6205fe960d6b1aee420a957a972d7c0fd4c7c813384ca19be47caf11a8c42aaaebab9e8e1921cf72e62b682523930f2fd3a8992f4146a7ddbe244054c8fc1622deaace3bae1e3d686057df4bf4ad2841db30408345fdaad362837d9bc0dd4aabfa450150e24ff7777e315361dfc34303f993a9d558c8d374a24d526c8b35d1d595579589dd5907e1316ffbd50d1c481fd0a23b425bc6e34eff3ba618a65eb64cc61feac3eebbb203b9a9b6364bccac95a649f94e804fdbe716b10076cbb0f3fabe9e6c6a81e224a818a97926414055ad933530eb3afe7b31d0cc7831c602941285a8109770edad7ffbba39c9bfe79d7669e46bac2307fb1b65626961357b822c86b86013e46185956a2467854e4440e9b7dffd7e646e30946f9103f766d54fbfca9fc51a18a7cb85eafcbc9c0466395a4d9aa172e95cf46fec00d279ff66870b7bae29d8f6bd6e0340bcceb12836088cd1641e939f78c06a2d4775b51bf9bc80890e14f55a8b98081cd275c8325d8b854540df473de57a3c04286ec98001063d9f34c8b1404c7dc2b40c869ca6843503c997c8e4ffe25253b0aa31a643f8dadf2b417aa943e436812c3d4b37bbc8567588557b7106dabf18d20db59bc6b80cefdafe2fbd6d7540dd3c317e96ab56ea60cb606aef6e87e388b8293fb3648a5d61af94dfe8014bdbce712a7f8dd834aee74bd7f9892b9e956b1e1adcdd53e27735da6573a278fb5ed4da35b88a21b7281289560b6c27b805fb0e64ff846ce01de927a50a858ea61ab87d4c224754fa321e4c6027aad5b85550932d96d03a97f383b970c999f3b1ae56f000709036e1d415c7c9d0d2d2aa809e40164182df714c82d7629c5a384c6d57b61bcf29eda12d5a6573e3457a44aa509fd7f3f622a24f291b2ec74b61db75a22035f860137ab52ac9998cecbedd2d60086894a3201c5f6e51708152980399bf1a8db51b74b797372d5e6c5ace3c25d49fd5e398f3130a279e8bc460bbad23e22babd4aea831d2aa56d1c392c95ef5ccc978fa3dfcdccfa4a542760adc64bf4778836ba06f953f1f91df156d9cb7d528beca480da3d788a15317a82a26dbbcc6f311722517ff501a720ad97df7adaf8afccc7f18d2f189a4613ab3f7d24c27fe13b5c1dee9dfc943f80db730fbd2803d1f99dd5f4c1be0e50b5add1777b19ae28080c0545afc184d2e02f2f4f395de8effa5c2d80036d3d04bc435b339f7ccc4f613c71a1c2d685390a72134bf98f1f8b09ad20aff4debd9e0aed4efe031e40ba08fe9fe4dde4fcda456c316288a1820a2ffd9ba845bb9a84a87cdb9d8756e10ecdcca1942253d95edac24e9e7ee64b5c94c18030122021f5440a4f08c0deb93b9abfda14b904b40417f9c7043594cbf57234f6e787142c3d3bdb818284e41b2b03a3bedee9eaf1eb15adcf1fe131e01ae18b560bafa99cb9f7c6a4b99e58014b4bb67cf344c8c4e88697dceea444e190c1316417d253f45fddd0efc9d6df0754252ce52512402ef451ee71a38418759d7989c353425ab6870249001a5dea83474d024d47acbf9739ede42c34fcf7f474e588522609d7d14763b37a9d18ca60e5ae36310e542bca166c666f1702040609103e35e8181acdadadd9a87b33712429a5735572ecc0b237f74c9421bfaec3fd6b665a53888ddf147ec97353481db704e701f6d58b024d49661e10a00fa6f06aa60a04b2a8ddd2f57bce118e4214c8546c2a69d8d5e6ba291e60fd7ff09b9e8663959bba730bf61f8bf5efc8904b736437c4bf735c195f72f5c3a848ce67e69abfc2fe76150b4ce14434bde5feb1f342be3638c968efcd362cdf5dc405c0ca09a0933c5979152178b84a09e9472a56d93b568b675e4a1db992f0e4b2e1dabfbbd6d055771826479f47d44542a7665b901a1cb6cf500daef242284354b96fa9a3fdfab47f197ae1bbde243c66e9a950e5aa13ff4aa40c2cf8b4a50a573cf54926b3a641c0ad1b4ac5e0d34d1385b3bc9ca00ade9064c823535aa4a405ba487f1b416534cd4f9d0e37a5b41e47e122c19cd93e4aecd93e9b79f7477dd21d6e4ee2137dd226440c7beb7a6e323a90a6230a53ba297ceff0f70dd8642bbc083d7fe18c7ff143942dae4468d92329f6d3f171681d129d09ba03209c46f70e742eb3c67bbf352266a1999a17791337c81f504e9c159d857eba2a3523d61b3165fa9656f93da36ecf0d714f5cad82e45564d58ff5f4b593bf2544f2b93632ac552874b01cd8aac46c00708420eade9f41a9ae15b45a97843d7c8a0dc31e9a2ad1b1ef5169ed776acc1b902c5465ca8fab044ed4739420767e5e48abfd4db0f3855b217ac49d8497ec46d1ec0e554b3655ae96d8459bf9cb2376185800ed552a4a1e45c637fe3c9ae7d9e0c8cb846f822354712a9dff4003fe44d18caa513ab364853b8f190d2775307b955a07abde4ae82c57a452b07e521de40a154914f424d39db11f4feca248ebb8bf74e89a9781303e379f0fa84c822ca97d5fde12f10272f17a640652f994cae6b3b1b046d477f7ab580285f996778e443bec3045f14b4210465be08d0813195ea04fdf34b27ba78218ed08017e831a037cda3ba4ff4695c1d5199d90b8f2e30c87b2d2ffa6dff48a53d1d2d9836e109e6a55ff4848a213770622fd24d2dca58a189de27ab98aa996460f62a8f216f748fe448990f02e878f9c6f47f9dab55a8f5ae9b9596890a65a1082e9d85ed539695787352a5250ef7c395df7c818b4d6689865ea431c8ec65448a4db6a169412d858e01ee69382786dd458b91e15beb9d311d5bf5d645ec3db13b4758c82f33d596b2aaa434b0ec914676418204d5ed31a39329e6d8f05ab9aed0237757c3b7d10a2c471099645514d797eaaf97f55d894dde219833a25e8b8e4071773730528875753cf175102f4bc96c44ea2efabcadd9aef1da95568fdc232a8123ed80c1e5c536f36bcb1356eaac0df8f99bb65da2c1fdb46aea2d1e3564ccf5a3e1d52c22fd91f56acbd0ca9fcb3d45dab109dbbf4186b267be87fb9221df89500e0e7f219153f9088c8bee95ff936e2fe3ffa42d992e67e16079a7789c7ca0321c82947c9b6873a093b0dd132bd5ff3a9722dc21d6229ecf36a6f3cdaf2e00cf43908b65cae595611d7e76978ff499b5090828b1696293d09ed6448170fd9cb99953f9177535fe375dce132df2be5dca0ef339242e348d6e79cde65a43864cb5ce11d8b709e6db52204b7863ffd61a59f9f0907bf47fae88405d5d950a2c7904799cff8f40c08b379ea0a8ec7fb3e872d27e8e317ae6c0b2396911a0ef272d9b14b45e1801368cebf08ce217bcabc220510868dbb7e87d4aa9f9ff15491578a91da60b880a37f14803ed0aa5debf7f75f7d087b4f9ee365f5298c8f97c7c3e8975bdad17c072623c8fedc076c36b6c44ed003b3d8aacb421c55d3dcb80016f9661e8e9beb298998f39014c515b0a116aadc9bf09908e774433d3ca37a4b27bf998546ab44c84cbf88fe8c655cabdbe2297da5b2517ccfc0274ab4c4c066f6942f63d39ac6ad372aefba352837cd7c5a1b019d630b81b01f72f5944ee40e41011d368c134b798021256303dc880ae30ef475bc19e822f95fc0107116445765b4a1283305e4a8c1260dd4d7564f23b2ac83ee4e0648bbdac6ccab044951fa53dcb0f019a2f6e1cabb127198d85a1be684f0a07f3a9de5d67cdec39ac7b124247abe17c0f8a6b87b3f49ec39a0e790aab4cada6319a823948c28af6b3b0cd0d70cc5eb231a7d744ca9e598915502098dfb600807eade52f50237c5219696388586438a8b6578509e33496a5ba60b85162b97ff0dc24b3a2336288d86c1edf435a5bae5caeb64f6d77c5c3dd8d5f66603430d76092c5a3f9a9455ab63507a170d32b451cb05f4dc7f5d1ca8a3a372e116e98066434de46387877d10854ac1eb13740835103222762fe7e01345bbbe2db2b0811d9e70e3edcede75ed998a75a156d3bec316d462aeddd7c8af5d289b062756eb555a57201b36b596e4769ef269dfd9d5f6ffe1ba3469694569770b1c0d47d5de910397bc08150b27a45ea0d1e29587fe271226e26bc2d250f20713dba666fe1ee0e40822c874edfcac8d2db983120c4fa6a3f89eb12579f3aa411ad09ad56cae35335b1aa203d613620bc5cf0222880525a24fcf4ab55595dbefe363470ba00efccd9f19c07b68495dde4213943664310e69964ceb1ad1b05f474e40e7b1f07d50f8083a5c3882f93307cc6e6fb3b1d0c3b74b1b6141a3aaf6829ef81a711346b79431c899ccdc79df372d69cf8d55d8c198103b9c375af3083e61825cccbc3813ededc950f964ec746571e1fbbc41a7555e3fd3486856146700e2f67db7611820e92a1dbf572970b4b7add2e87ea2da97aa0d6dc199532d1328459987920035365aeacf41e4427c51438e9af53400ed2bd246a13b5511406448a475dbc3160c9f937f4d4bf4b8239cdd93e6da441881fc29297fd5aad73ce5144940bbf92575e3e9906c22cfee8691a4e09983bbda84040a8d594dbfaa5da8c9670e984dc2cfb5de22e80efda42f4ae2497ab8cab243cd1d118df1d1692cc272c6c3170bf4629b981a2226e4421cacaa90108aed30d6924f1827adfc004ae780e5d9c9755609862528e4a6460ee1a72c48618ecaa826b3b60825d0cb3330214a2fe75269964f4e017f424409865e407db947b894d6342399251987290655b12132b3579be718076ac2bd2902f13786652a2b7051f96d93383e094ec9ef07c2db4306ed6e168a0269ff9415d8e9b6e3027bedda7b4738d59d46e75ae7310667f3977374a22593484ec0a13965a93feec13138ebd01c21073b2822fc8431f618a95482b7691bfbb1508cca13de62e7250a63dee508299d6ff48201b686248b8213cb9cab85942061aca1c9964eaa4b3cc8526c812e4572dab6853bc7f27d6b46db3e44b164536904b4ec617ccc4a541b9845621bc8dc7c07edaf104bef172f73296fcb1800bf33db3c53a835f96a609406a3874e6c07ccf6e47bb030e1329ae033e4e42b80bfb424d8aa8a571e9ef8fdfa60d43cf0de3f372f27a86639dce2313f49996dfbb6e1427ddaffa1b442c3ab8e9968a7596b206ea59dbfed87a949a0a0f484023668c6bd7ca7823fe700686c09a2f05e49d16b91f10483aa612286468d4c9a9d9c76f546da12f6bc26e907d4faf90a1e6b5854f9dccadfbd1e54a7a1997873b6842f296fbefbd4f15322a565c9cafe987172b75a44ef7f471a290a1f3b9c437eaa0095a58a653f7e0cbdb5de3879e63d5afa1416f3aad64e22e7ae92c86be96c22b5b8a618a069140da4fe55ed1901897c6428360355965e8501dee38da9806f5b91f7dcd1ca46375c896f6d9787bfd10f3247bf501c0e78000c0e9e4269dedf29c5f6453a1e98d481d90bb7c156a3b5ac824e4c1c9ced9490224b1fbd35e8141c940b55026a8d47799d38cff8335968a66f33877e6bf46add987b5503f5c1a6cd3ebdf7a309b7b486fd30825d47e1d72febb2bf1f2a3fb4af97668545bc18863ccda5cf77fefa53851c6c843df63a89fc9d61a6cf7c29ffc69861fbb5d9abd7fe73f50d3761b70032fbbf5599f8fa79c35a1db900ebef4160075643416e14cee3407fc452145a1baa1d4733b04b4e9b5a115713403aa587a0e9a7cd9b5058ec3a79eb124f3ed8cc6ed142eb009529e105110cd919cdc45340bbe5330de99abf50e45cca3fe6f21d3d3b762e9a2c6c263bcd94cf56c478a4389633a9e18d7eec57b6c5180818fe064003aced9dc51d380fafd456ded4816737be0413436e5f3308575a1b063351c9a0ec36e76a916aa8b40bf3af3b295992eb52471689a61417025626ddca6be3f8f3a60e286111136c5e62b860d622e269d2e3952276fade2c0dee78c0e1209b890ce52c3f30ef3919871a2ac03b83585c05083ca35df86d8bf970160bd50f50f67d19fa8703e4d96411d15a98e12da0c2813a0fdfaa9c5157a80f3372ae42fdf6e5ad585e41aad502893e0da4c1850818b3338a26b72da82626064523126ba6491421ff66e96fb65381452f247eeb2816e4af9d1bc0c2f58e71dc26a8409d64b90664d5642e794e4a024cc6e522deb245edc2f944715a6e4e8fedd8f39493a059f6ea8a2f8f63ae69a4220b6e3864650e79a8d8b7d22606d4ae7a0dc34789a6a8b82b0705cdd3ff3ba0cb8bde37071be43c892930bf7e033e4f7cd329b48cd80e673a7001fe6da6421d96fb4f64fa7dce0bee65a8acacd6d5c678edb4b63df77d5a267d998697ceb2e0398c73e290c589ad8e69dc268d2390a1a7928b1c1ba5c06c37121ee8e8d41356962eba10b18fab969b68c42a39cf9817ed8be1b794089920abf9878559af85bb02429597108c6309a5b1b1ea4ce84286b4d37695cd0b49103caecdf82c921f9f0404f0917a1defa9b747917209daa888344189044009f727a2fc3e2b8a42b9401b1944397bd8a897490f5323761e792762629e6b656658f8756300a450b822c91e2176a6c06d18c282a90528125921cc5af74ebac2b1e7d3042684ffff5f481c5b5729fb68a950f49d4ce5b5ccd967e45268841280eabf8c9aabd6e75885b73278e5ce363cf93c8f44671a55204269e0fb429f1657fb383dc00350aaa6ab2373bdbb7e8799f6ec9d83d0f4069d713a30a3dcc344b6ce8856b057a077bef0b8f5103f2b7d30fd4944fe8d553b74ad6b4c1ed5b4b30a1476147a8744f02d8a6f822b7949c464548a0c9f846958bc917db3ab8214a1fea19513813725a3c094848ec1f9e8015a60af0d795dae1276964471cecadc27da5468a7281b057c5afc88301f5fcaad406713c770c48cc811bd454114475711fab5a3e89a4377df4775a89931e45877eb306f6a090ad159d6c877a9c22deaacf8fd5d44ff86db78c89c321ebda2af2090fa23cc9a75e814749cb8f949796240b8bc81e7e08fbd8646409def2ee06b780f36238475d3cad5dffc44f638002ece44e376285ed1ae19d1680e04965bd487dd7961549652900e10c046469dcc044b45ccc9301b0a6d03bf22b4f6ae310868b02298e1cf6ee49d16191e7bfc51df980862f74c3e189b3d980b34d2c5fb15f1bb3f537406672a66717184f7305230a62399d4cf0831f8481b70519f3ff549bc163270f6de76b3f4cc8c3f7f4792e4189fab330f8fa89a0930808cf5c10bd5e8d416035d14b949ba43c68880341cd3dfc14be7a93af278f6f4f2312e57237ee8003d7c85638a58d2e87788b9d1dfcf648febcac04709d20765dc373a2fcba204443aac09ef0525190e27ec6868adf9e9665bc97564d486be07b5e64d4780bc562386ad7148706117fa80876d7333ca801e22e244dc69371b1ad18cca5caa5cce456885098dd7933c5f25ad19878609bdadb928692856f3fa188cd5101200655388fd720563f431ececb31bcba778c05d37517458e4f2c8551496063397d6d73a74bb0870191cece22dff12a8898fdd31854084facec58842876d33c950026fb9921f2dea5ae462f6aa4a43bb6ed38b0d8fed5e8f56015328d204c2786342838b82bf26950deeffcd1eebee634edee39496372b370be89c2aba323b219508eb4981c322987ca07096f58ec7a81910995f05d032df4b4c68a027d49deadaf7094eb7c5709d677df3c36814afb5ca728514c09b8b5b6e28a58f5bca7f4ca0f70fd0aaede73b6207e0921387dd33b241ddf2d70e9682f904eb56a4bca296828519775826b5030efade9a686debf5b8e48b6c0218ef4ec200444d36efb0ce39e71021c5075108cf5772ac604d7202af1742e3d6ec93ab04a76cf49682e74ff4d5f7f3e8dc63d3e31dae08f9392fa3cbc129a219f51de9cb6759cfae338f9767264549155236776c06d6d5c81d6b53fe26a5be710b3be2018e2f86fd104e71385f5683e560844adb7a12a15084b86906a6f1118b2ba658e1b83c05c6ac5afe9534ec8700531320d2dd3d628f88118ac0467970462bc95b0f2e91c761d63b7f2d955923f18b3bfac7512cfc281ddf17d5971b59aef28b4ac18020eb7a98cf274ed2e715f857624a614a83b4647b1e0d3fd50a1163a3852886ba5da403afd2722cfd269256549574fb681eca374d3b717fc90ca68a216416f5906d93b8491207ef3e9aeb51507233952604e6378f780234fad94cc0c86da27f7410f2cf8529b1cda15a7f8af03aadb6e0a6b536e161665bf58998e09fd30d5319309b5961bb7fe36f868f02f8f7087173388473b05cd98ea49726325d3bd87462bd79b4f365122771e138030dcb1ff0567a599f096fa32c4c640dfb74f5c16312fe16c2fa0ae5d2360f8878858fdeb0e977a841b39fc5c6ff6183f4e688a434777bb82ae23f754f70f8c512a3f60f0e29380a2690e13e6c569a1c7fd66f78e13bdc0b638337cd4d62ad4564d4b452be07d2d94d827f97fd3e4fde4835455f417b63482df9cf0b437dc2e61aee247a7506a138e4ee3f6e61596f1c208570d2fe56b8483bcbd90d20c466a7e40df1e2b6a1da6d341fae4a3583821ade71724802180990f69e10b1e6ee9bf6f049c983d7d14ed98c0a2fc92c4d2c74083606185d5813312e53a28a561e1c5e2fc8f70b6d7a202b0e91e69fd21dd70fe5a4c4db992a35f480774f672540e9ff1f8b054bf92b74e83e8e8e3419e06226ea453ed075a4b20a7a29ae3079a7ec8fef888feb865a7459691b492072d4e6a2faffd66423310ef9e6499f92671814bb5e6e0b3f9f349b679ddb9bb7df4430447645b61d83b88f359d489218dbc807185ca1087f716755ac3719c1d611ba50f76f8dcf0ea27bd0425b100a1ef806d14312c11e05a4a7031f2209f7c7924ef5fce6ef1f62ff3da446ca39fedc46d34dc873416a4b82048a6dad3b97a95727c18ec50c4276d5bbce094becd4551a4c1970dcda328c24c229f8bc1d7bc62c3be7130b51a21de83cffde90a6c7ae6a9ed1c705c2d5ab4889635f81e004ad12022c80b06e25f2b6fc88ea233b2730620a676831c7029a78366fd8f0b03f0c2d3d7567574f82882f0155baa860659ed9634e84667e355eb8973f881e5660cc0300427e8a490381efc3b8346944115950da5e5a204cd679e204818e8ca3d2ba3ae5234a34a96374cb6a012d5dac671523d34248533651cc8e2caf8139947d8b8ceabe40d20b6a2d9a3f88aacc45e5366fc13d71ad9f89e25db38e96528cce549916c076784cd77bce9d412751961201de3721421b0df04989db9ca3a598105d3082f273dcb5081d5a20fd48364de8bd2d8275e7785192fa919fadb3f6dca40b32c2a4434cc0425ea0962b86aeba6dcc51b8bba1365518c4feb8c012f19be02792651a1b5be301be8ca8f0e5a6bf9c703eeb8c8343ccfc5af6e3b53da4f30881cd5b413a54ef9df813e777980b25c81ac5b47828345ddfea7d1415baff91836e0b93abbf94c28150f45b56e17d81ea42fa699ddecc92d8518fc6f82a4cc5bfc31ff9536bfd676e1b6a309a4f925e7f49311f05103308c508d0eaee23b75e37d8b61bb257248155cc34525e023986d2e8c62c966b6808902dc201149e489481a632b3e9367f4c9c5d63bcd5043e25a93ee2cb79d1ad75880ffa65b04094a617ec5346741729a7c086b35043a4d4efb120a1e985122a46169d1b06bea52f2f6b6a59d2b3f028e7246692d71e3c8b53f971222d720d585a9396cdbb4550705e34e1c34d20aa944b83af0cba8357d0ca63535c6a31ea05dc650a9e793a4853c576940b26ce326fb31211670430dd5ccbc08d5ddeda9fcae06392377e3b0df85e4f377db8545f2018d479bf249c3c3d21f7cdd3cbe28992ad99dccc191bd1809ef51663f20510a26aecc3dbdfb6ae1c9d826cf73e06af9f80b06e0305f4243e2ddc9ba2c69726b8cb9c10b948a58e8725ad3f8810c36004978122fbdd52d6cb84f49bf8e522b140cdb19ff4f78efb2c26b5049a17398982835eeb8457ba301ef637ac1898cfbc309b051745779e0dc9c10d9068b18cce55176feada175036df1c52e1c28045ccf9165a53e4748b8770b7db791921207aad2f06d700024fd2745cbabaa58f1cb38ba43187e4dc10463c1c127cc6548bdcf1ef4ec76d9b16c8e54831e122b45e43b2b9bfb7437958650d7504512227be6b47399d23c8102b3ebc9de1036686959d804855b08b44fecb080c239f674e9a0cb4c9c7c23495dfa6457831748ce9226e89cfcac377408ce3d394de349021b0c324ed380b3ad1a13ea45360c28ffc68a84c32780a5ddd1efa4c376d110d34df5092ac7f4054a35471ccc5b273f09fa4106cc0847a2860f6ce882bf1f4e6c55844d7fb59d71358e2dbb5aa1c5040dc6593cf0869e66c8a432f5861a0aa41267d2fab7c960b12d95c0d00dd365fd6422566e51ebd87e3a57f2fec0b56a1126564343c255e69fabe02a7374a4d81d571163485d7cc8ea83738ac31ca66f3a5155f64feccbf6ce5953eb53cdb1d0fc657a61110be1696400d93b3d523fa6902067408fe13cda8247b757828b58da025c35e365a6c6667abdc12e36a1235a15dfb5fca5f0e68a99599853b35c1401b65c7f2f6aa9ec90ad85f11438b9673609922ade746bddcd0066620508b46e18cad683843347fb4386fee3a547be6742a2d00be3ab54507d299d034064e8cc5db06c1afacd697f47f6036d8f6a1555a1f7f9f2dd5bb9b5e889634661469a4ebf73cbce951e022b10c828b698fb8bfcf77f7af1599e1ff391e179f0b0e7bd16740dda894e3c786cad454be9dde16a372b14a999223c08a6df35df10c7d3a3bfe78996f6130b577650faee2eee02644258fec24a497ee317a3242a98936c6849dd3cd324c72ce59eddf3eb103070988eb2116932f71e268593443da07686f82baa8631106aa127fcba634a9e627df4fc979cbf71fc49ce5bc2c65d29522997d004f0e8b572de41ba23fe8e1230fb1e4124313c13c7bfa40ed71caa918ba0523a72bba0bcd2cc4f5ae206f62380f26f36039a93c59925ac6804906618ea1f2998436a637d0dacd13154232c46ab98932742975eda110a898d8266c844d8a2e98f17b92163485b62d6eea7844e47c44e39364dac6767c13137566cdfd73073d72a7e727b79d01f1a821cf5bb450e708e086246525a2883fc9f735599524fb377c8b8ce2bd3ce8460474e66c44d61979583490e52e5fa35017d3c3f669b905ef7cd8862730b989e474ad905c327069f79a9b54ecceb0ec02789a3d1814dcb658801508cde7d2b80ecb4c25c9f0842cbafbad52f9e6b6ce7c7801d6eae4d6e61e1d28814fb6227159b875217b5d020a395f006bf84569986b2657dc43984efc93d3e4f7de209c94e88f854bf7272aaee7f078c0497d9a5f5d1d94eec9f75ce0aafadca9d2e55de6bd65f2075c112a4fe738d7b0b95642d53968587af5f8303d0c113e2b884d458d9ad5ad448ecb33a4fd9ed7bc5902ac270a85c85019a3a127790e28fb3e1a7f1ffd77b843e8055f8e546a0b926bcea14698e4f8defbb7c78d5145aa6e1e3f05982a47e3f9303aa047c4fef8443ee80df7180e39a11a7995d8d4d777ba045552bcfb797ae07db2d13dec4947cc863480dc4e518a3b29faf9dad403b41c0af2197431894e67d8be8d84d375fc1040a502528835a67efda9fb81dd54bca2589a5c8cfc7cdf1dd56c87ba8b9132f25c3537e3d10ae4084015d1bdc55687375c94959a123ff9845ddb5946177f13282798cbaad61c90a6ea70acd8b18eedc67396d1deb090933fdb47870c5e216db4a56ebafb2c5157bcb0f973c7d308dcc402cc7c70aa2c064ded70bef148109426e8e0a598df5591ab0bc83abfc3ab36a19d65f30987558fd2539653c58cd071759d058b008d5959ed95533d37c712df74a547d98eb1d8e6f9dd4a808974dce22b0083038cc09b5b1c49b7491febb38e0d645691cedc8213e7c8c0e6aeb06b87f038a5647cb4212b4783fd274d78b18d0512364dffc40c25bba86051e88065b60e796d5ce00cfd93824d653ba28ea06a374c6775016adec0ed10f3afb32729e808320abb7ef4d1dcf703282e91f08d7b21abdbbf61a891a605312d61f4a4b7e18bf88ab0b275fa7fffa512f8106c4ae124dc8a4424207988f6d93908d4ce5530eef3dba28ae31afad159aaeabb27e07b7e6de620958221b74c490cf157f98a241fd589b8661da41fd7c63e0d4d8d39d0c7618c46f8e13436ae47807eba9ed171c99529a8fd71d8d5a3e1b66389ade12b7b67b3dd021308874d19b6116578603a357108e07c52f2511dff34876969fbd0cea6d7d2261f4a4695df881a237005fda00078175b6570515bc6206939f6e62da0f938452c4dd61382ef79d8bbc5244785eb57a0664f09ae1b49f231a76a8cd15a435cf4e74804a843e054d0df5bfe27757d92ce39593618ba29cce1d550567bed5fd63360a7151df9b01708cd708ca81cc61a4493f2965caaf5459f46fc2b7f56c3b039fb2647d72c72345a7d0db54445a149272b01fadf5b915ba6546c7f55543a26ce09fa9793e4bec1689e974ba9b69c414fcbe926e49324957b01635fdf0987599d0518cc1679602abb12795d239a84eac8bbfef9b1828343161b24fb5767bf4f09a6bb996fbf66d546d948b5745f1ee251828548e7e010e3eeea9524bf5891bfca7d3d692ab17781e68de0fe5c79871e3a7c2b5c417a97dde88e9b2313b4374efea7fda0223ee728ed76bdb10a66594d0c841414a32650af216c93f4c17939f826e4fd30d2c61de89eb47a62d7668b93361632c67c9f314e859b017d1f46449ca175c24b2449f78ca3e9d9c5fbbc63c15b18206dcd20fa404b9111d1cb17b39fddf682739323ba0407f8838ccbe3a321f2b5f5c9ad055d48082596d3f8be17fc1576f3492a987108512a2736272481c79ec824f52cf6b7d49da3c04c0f562b977e26da393c4ab5d8eb71a786f033b82bef070adc078c954499fdf8ed7d2b0e35ad8709644a0b633ad53d92c43f083c59b4bef423fc03929f2522dec5674c30f3703b540b6371d3638bc4c9c9ad24acf3f798f8363763e88f80f529cbc37828ac627aaa25f13f33d80811e2d910bcba5addacebbbe7b0a1e0fbe651e15247a2be9e6be5c7f959ad10e444e4437a33cdbd2ac6216dcfca2b2c7857717cd3254695b3a63793a337c6bb47a6419186109ca549f9a3e721759fcf1a53d60dd584a52c8331b404cd55a64f7d30e73da13cfafc1a6e83421ecfa722d3ee5846d7d9b17e602d55d6920b36e5bcf50433f1fe9554f8f0605b1348f7ac4ee7bfd9276a9aa7371a14087d5321d6f7506c88c7063f0af2a41d0ceff4bb63342f1fab62855caed75f3a3b059c0049622d869d1ea0597a261caa7eb0903be696017349cca8b565d366337503b145f183c9a0755bcdc31afe54fc46171fbf2d9a3cb7c0f21a5b8e76afd4e3249b3857ca3b559675ef2ab1e474f76b902601e673bf0176b7b291fc3e4ff6132090e8d2134eb2ba65bf45dd2bb2eec046644cfd027ad84d96bea8e75073d0fffb6393bd061b155d9f2433917ce3ed3157630653bf3d7107ead94a4b42c351ef62f6b508b2c2bc13e3370ea8a3b759b424d59d1eab7d928ca0ce468dbcdffd4351f34b5201aa267a29ef306a26d43ce7e47d895c8895c342d4f63bb6849d8c048dfaa33fd911ea62cb37529407967957f3f4ef611afc2cf2958cdb80b7a2cb05c7ff9079b985beeb4d4a5fe136a37736dede702cec8c77e0eadc3324ef5b3110ac15de9735edda6b5fe7c5200b79248a19bdf6f61564a6d00107455158d3a7c2c657fac55a560de18123e8eda3b46803416a265c92b6e04e92b2ee31a2cc0669b9650a13cc9be7da91d494aba3784af409077559ff1448703c7ccaaca34e80d8a455419378043d0377b645b7bf66e26a9e11ea1981c427b194f866c2eefe0cd9f6008b58a85ef34f4b0bf8bc8767c6681ac74adbf1b2b9b7acec8bc2673c027ca6d8c68d1772b9f5335ad3ae6c2e92b7b063be335e64674edafdfdffeabeed73938256d4487f06c829335901de5bdbba922a6ad06568d6257b0c96d24d2ebd76057ae63819689c31cf99775f3dfce083e01700a3936799e241b5dfc0a4581fb160c026c5c30ad6c169143238c399fff7e667e8fb652d76bc6aa575f85761f0ae2bd2345f12a255e930a612f82092c7de5b75dd75c6c287eb53899a5db1e5eadf9bd5972affcc734f429597197c6128221cb0bbfc943035878cf615870358718c2c3f8b59bcc439881c398be1e4ef724023be982383e5be2239d5a7801f99d665fd02ac3c326868d78301b82677ce7ec419fcdf9e9dee0bc8a2ad23ce02d9a766c0453e4175681227abca34a523d3ffaeacf25e926abbf2e4bd673c90fdbe76aa1f39946d69869e523b8fe6693e04b021b0beb802ae832d1f293d6a38e7e359ade30764c26db61c12214b515e2e2dc1d65f07d528cf0edfe8b06f3a349408465eedb2bf75d467bd935c59111c107e3afdfd47c82971c2e9ad8149986d61971f64b1673d624660f996932733dc5191dab0ea3adb1e9915c5f8914c050cca02e0a1e1000a870a36e745ba86e1fb3245b9c12fe416106668195504a27e7986c2862ac716c5f9c956c62a4628e571e8565d5dce4e7090bc2c0f2394f63bb0a82555f368695a2cb53a783859bd24bee4e0068f5d8e6ce6379b571f5562b41de80a56636440934afe65f5da2966d6699e4e8a87affc34cd0be6c8642fac70612a7b837b2a6d6e1c886c7c1bd598c110803c19df08138b9c193846718ec825e8cde0a1ef97d540388d0c9ab37bba9e0b8144e2d11855c3ec6bc91c5eff003a55701fe362fb179e3f4dd3a3792b1d070ee132ccf825fab23b87fbf113f89cc2cbb01bc8ba41415a8b6b0ab4e922dc1a0ff72af173c8904330d989b9e6613ea400bcb7976aeb2c334285040ca5d8723f35d4cec0884148e5f67182a9c6ec02ecaa0cc7dbfeef1cabfcb8ed53d0f10fee2dea5da8cd3b607c7a4d91b1aec660324acf9ac9fa650dd6db64beeb80bde660d4c99d5d9c2553307a15d35a31db68a1cb3e7f0ea8f4ad30b6784903ae5f475a22230006d3e0e352dc45941fb74e25159dcfd567b66d932812ced7bd67adcb64f8b55e97c660aae52329becd3468f1c52f0ed3cfba8f1d203f715dfbb7bea0dd02395efeea67f6465f8b5d688dc3c05b07896f270997a061b0740fac9e25454f8516799054fc51b90a584b464934ceb0d37507be6394f606d1ba0e16b10826a3fa043de8a3ec376c055977abc3e68f0c66726481494a18c440132d1bff480f965c0e83fd1341a0594b66278827a335b1d37baabae233536dd720e559ae256247d892551fcbb43856fa0832125295d0267b32e0427ebfa1035a46f2b762100a993859b2776fbcb300e0d545fa3b24c851374d0253187af0f6c4d0c6a743526316d465a3c0ad8f7f942f89674a6deefb38533a11bb65b1bb825383e71f954b41b7bbe65df5b921dd709947b7ae8f65df47f1bed71757b9872c8a8b4819ba6cc8c9ba4f23fd3d372b7ffdba2d8c055b91fe05e44435a420b5ee19cd47ccdb76a07aafb8b299e517f727c1ea157e8c314da69b655520563d353c6942bde4dd9af7a7620073741cccb8c37506d828ce434805bb3c7c96c4b01a64adf5be30fad7e3fcb2f9480939c96be74039a9b609bbfa063bb9033ad7e9b3bc9a20b98fdc69dfbb291c8be916ad8bc5fbeca82a21f6538998a239b2e0386a0e2dab8fad8b7c4d7f876828df4213c510e5901e6fd3bac27c2c48b88261698d30e607ee2373a6113fed941ae82ed876568679605fdf09515e809a6a8555a33973cc761e250d89c7b8c74a29318f7694ca5a993b354f649ec23df9b01581ddecffa4999fde575428837416d69695998c05c523d429526adfd29748617347e73822965d2dbe23c376fa7941cbcb33f354d1c3f82622ef0f66af5b354ca847e907502fa82628e5742ddd45f59754ad2775c344f707d4efca359d40e5472e072ade9ad88a1635cb59dcc8023ead2d3f2f930a0e380efa8af99a2a63ca323b11cf2752c3d2263a46d7bedab91c962450ff2544f7393137ab2f2c7742aae34485176c5b902e983140ae8ef97e5611bb911547f0fd57416aa48457b6a34dae4142fc59540dc507a2193f3d57c1c0b48680142e530c404de58377e1e3ef2496463219162abebb4c1b80c231920c5cebb332e38f22887d7d9b7aa761ac62edbd32cbf854fd390aacca33782e7db23ada4d2b7756a2a2d32b06d491ef79eb9718cd9647918afcb7f5b2f3c1269d147e38220ec89e8feb24a8fb002a14e2c012f99620990127fe17b7e9f74d997394336aff87462a60a6ade0b865ddef23d7a0023bc8d1a31f3ce5cd0f084fae28def65cb0eaf79a0ffaf35a50c36d2c4ca441c9cea9fa80eb6f202ed4a0cf21f2910e9391ac4dbb9213a474904b8be6eb53209339e2ed54e45d817595c935cc5e99dccbcacbd720e2b888a600b1aad52579382ade515c39e4992741901f8a88f1b8c2bfec0167fb5b610f7926bbeca45a5516fc3fbb15988bff3c04a2c2907d3a10ad05e9f0fc2ce1bf149b2b19d3180a3828fd27c82fe613b21eae2c86a09e2639120c8503959c9585445f76c7fc7a1e389e729e477db81efde9cf65c01bf8130e2a5d3f715b82981a4909e30c4250614909f669db5e1d04d224696dee047a205dc37e0334811d995837bbffe222de07f22d7ed137b96b3678642652cd36f94e9d73271d420ddf5a5f8146f6dcc7974ea9c049a6e2c1a61b4ce50af8d85d1fea228fb37878cc99d225049c7ad8122c5ee38bd9a4bc957c869d875f3cb2692ba28fb221a282ed44666081ec492e93c4f2916e41d2b01cefcbce53f8d6e51db8e7c90a5d6b6f4914a9786ace83aa6a8e17ccb3d131fa4e0ca99cf6a254c04994f6acea1d33d77b23c00d54ede909d09be91507242a57af82fd607db09d618a8f748e97e56c19d68e452dbc8e6b675d31bfcac882764d8d2488573bd7862cd7f2805a1232c2df6d9835fe4eedc5ab6bf1453d205d52bc16c6a66975beeb0e36ad31c14e2529748227f7d713e16b8250357aa2bc260734bcb5d43c77b7d8baff412b78633e50166443a68aa355dde5a99d3b867b21c52577a5e3beb168b24fc0829f3878563eb4f4cb99f27f2390f65895a464f140d520cafdc7dd265b4dcff74ea70d02bf5e54c0c7e199e03813b8fe2d4cd62cbfcc78cf397b53fc7b4a369ad5ad7db7f9f6acae6a37d6a8482c4f08cce4867ba39999a3e2a16932ab7cc51817ae00653f3e437c8e4a38086d9ccab82a93a2d1101acdad92b49fac1fd0a9c932f4598f0862a2ffbf2a95fe19b29c734614b09731138eaadae70bee11870217dcafffae13bc0d7ca29f79230c9c06b7da8c1ff0cd962467a274dd99e368696903a54c31df703cfe4763d2be1c7138b7b6914cacc989fb73c26759956d8f268ea3c7b8ea33b14a9b633662348124e334a21fca66a66cd3864e431728ae7e6eb80dda8024be737ad67a6056bc9c3e339f33a1a72b1dc152ce6489197507457d035726b74b9f6dc0f7cf1cbba28cf57f2ca9317bb76d847b3bcb3596ddab6c97ba82f945b3cb61608340b350ac9d477631302657f719d4add81187c761a4479a84a0af85b90104e64c42e4a145ae82152b21e9ebdbfe8d93b163abd8514d17e2c0e270a7082198eeb706ba10145ba5dbd3728647b811e391390ea9cb172741ab81449a2fba450d80852fd4810bde2f539e7eda3f2dad5d91420aab0bee81906c9baa50d4a5fc53635e22fa554520ac4080a02bf20c4f412d88ef66c58b3f4b97792f29a17481623f8869353a93948b2ae6ad73f8d222f10a5a74c0d85475dc82fa28c336009fb6c7616f9e03c2418208a72fa5e1cc6613be0587ca8c427304bd96511cd082079f1e1e4ed1aa1c15a7a07125520fac2e08f0b9cbe0a898fcc19530046904b55131bd0aa1c35af344ecffdd5a1ca3321c532fb541bdf54172537d3f46eabb70bc4727c0a473d25542079469b615fe67e577e14f4cad0db6b339f49c24f9308e0c0bf1cb382c814dfac7aec7b071de22db94bcd3a800137f5052454808801083a84a977d58ec3d55af72d7dec407437f38a88c6a06e66d715e6166f89682b7cacb9933b4f2c82f4c7d8c3e7efd19013fce422ed033d289484f0fa03adae4e5bcf6e550ed3a6a7c94c12c09a4f8978b8a31c2638eed3987c9a9074124be7bcd4e280af6fd7a3a6368f72a80ed71bf44e5e2b32460f9f7a91af756b2d7a6026582e8d20169b71f3087fc5b0988a69e394ad35e4dd60cae247cf80419fe1b318a55bf5038ab1496c959771ddc2e8aa2a448055965fc03e3e6f5b2ddffa2ffeaada06b5bbe5dda7df2f8fed3c21dfe6aa1bac73843276d51f8b358f724a191165e14f550fb6a1ce166110d58181a4bb374de5dc03c7baba5e4aa5fbbdd022c57337fd8aebd299a2f251efa54ca061e7c5d82d46fbb22a164924530974fd3701b555b0813bfd5ba80e0c16152d1548696f3b255a688128cb53955b60be915ac36feb0f1a1b08d6b6fb363b18029d71cb05216408e0073c93852b659b49dc7bf6ccfa7fea6b865f78e3d5c2e93b46aad6bbc1e8d7d526426ec3648b09a620d38d64634477a08822ae322f70fd27d6d2ba03b3ac3df789ef5ce6465bc5f4ca87a9687f7bf9478d08e5db94713aecab62bc6b27f821c992a5c445395280da9ef2c7d8756a21973b3fbd79560a412a9a350e0e740da92780858a3f29f8e1b9743e6d8b436f835417cd31c4b0e5c6289334012feb4bc8ae90925b158ce02abadffad789115dcdd1dcd6855cc7bd1c66905041e4b348046ae6699c7d19800c68b810314279be36d17a77c8d7e8feb549cac61df7d916088a59de79cb846132b01e80bbabf0c0b101c4eb840c78139a94b23692aeb484014a42e8f7a54004ecd5501f45a7d254330126b32edf0eaa4257039fb209c095f9f59386276cde350467cad6118f1779120f6db5b15f5ce3c5f16fdf74e35759738e2de2c602b0a5f863ac3b0a20107d4ba986e4927d145b418e28626b6a66d2fce90dbb522fc10c7f09795b90b73548f3224e0394d99cdf892ba15df0d9e511a6f82f6f86d505f5915528c28b7c9b570c35cf6aee7bd99393728d9caa64cde5ac6791b500e735a09b9e4b5cd683878a8178ca58027e57c762aaaed129a6ce46beb590fc4d377da4b2a4039eafa0425bb7923fe66b578d702a8e73943c9154bc6cfa774fee734a4181dd519dd9755e1cb08e7442f11367135b524342054c9b285d5a0639e338e42750a36fdb2a419bd93fdb69c849603eb01be1a39d9dc87a0bdbbd9427410d5b25699a38b00329f34f5b46815ee7b08d70c6fd0cd41c20a5582b4366735b6154f7a70b1e34458e206dd560e52994dc2f2c34e654ebabee6069692419cad03668af6f09d3d32e9d9a4d0faea0262f999402a666bfb0742078e1d1be8e44a98537df89ab6d7f63b972e577f4a8ae143abc6cc3bdee3161a6c62345ec30b9afb9a6c983d4d7bf9a3988bc62e6c9bf4fa559f8c9c2ed8298287b6bf4c8716ff02f89e4723d6c2075ef0cc38d8e3d054464e8097c35267c3c54b020f81b9fdc25e4f5c0552255a210e835696b1488fe72fc202e8410f2f7ea9e37040b8cc18dbbdfd856427b9c5c758959571818509402160c56b8b11b821b728450e51d24eb7135d76e06332622f389475d3610e6a715ed3c1d3b278855cfb2ff613da9fc9090b2115d702b89bf9a7deeb63899f3f6b2f84ead1b48fffef15e0dca6e029f7cc79798d7da1c6cac8a10b4bfa07f17390af2eb7c5d3b6bb8fca49b8dc01861d624bfb083616ff2343c240066646d5c8109c1da67af45f3385d7de0f0700b987dddf1f01af9348329144af56354d990446dc15e779d66f2a59a51710404594f02eb277bd6ce5d6fdfe760423d108aeb44b0e28d8597eb101b659d2f7842b8a400cdc103c8164005869c8a60e5650b061adf67c3ac4459913d11dea18910083d75d7d9de20bf8b22810a00bcf4a94f244159a319bcb0163ab1655b3fcbff5b213077e80ce210c69a28b3e2091689e5c4da1866738109fdbd8a5d320988e746fe3bf125c1e49a5671245b27df5ffe01da787f047b096acb5d130303b0fde29eb8bb0265846ac33804fd2c299caeef3efb804307d3206121fc258846beb2e3673ae081aaaaf95a8dcc36e8c27e6e6d03cbb3b77dd5ee5b4d80d74ce9d758a72c685927000ea372f92e48b78985cf7d350dac097bb432d28631dda20444df297cfbd87605e4d9cb13f46aee1f974406dc027cc2fe3c165e15a1a3b6471c79d46325b6cc8f18f2500006431fbf3942d688d65fcc4c1cb25a164fa3320c8af7f1cb11ef35edb858a75976cdc4e82c7405f81dda3781ff484c52020e1fc89706bd3dcf9deffa33f8aa7ae676fd98b879a8b755aaaf70d17ce0d61827f22dfc74df8e3c9d64f1755104b247fca22a184797ec08ac44360d184daa36584cf5445b384d00ef2fad49335152f765a3bc426bc5e4d2e712ba90456abfaae9b7e3de2f9b56e11bda42f66bad5d5ed874e5340438ff3c191113685d8646845146405853130dc3836781d6f71696ba3054bde735e86ac5e8ef16f3f9b95b8f55f00566b4432c33090f3a014287ec4851293c0c6099a54e24f98cdd37575a6e87736db799ac19e7cee813ff58be2cf9b5d55b7432802c594c74d5063e34a74a757084f874eb4be7695d3218d366bccb3259d37154cbe61afec923520b5790415b566763ea5c8a4527b64d6f8ff5a52c7bca607dd1078ddc303d84a98c3ab3df6ae0d8acffd01aa275511bae745a7eed722eaffc80225d7cd98765b23ffca4a6125d2f61c72c1bdd7e27aea91c2fb6569a28d8e84061fcea4b63c57d539fe378ceda2e751209312acb803752b5b5454169b5e9b1a443952b821536bf54a8442d8120956dbdec1b4b31e7ba28f6616186f013c844ce39c78029b0f38a831c6d33dba634c1334c945ba715de8d6a9f07afec3278bb6f0f218a7edaeb69c3ecd3defaeb052ffa0159881a8435477cc4eeae07d5173b1e64679342d256f0be89e15371a792c98a2e0da0d31f476bb9fbbd46a468ccf26c1147b3071d9d7ff820e5b686296ec04662038b5b9465b473ff1a08d34fd1862af4211454ca36e88e8605c80aedb9a4ab2db642b2416db2bb5105394ad6aebb754c09019b47634b090fcaaa6f022766ca45a4765074d758c9989824a29b2e011b5393e763c06df68a5f3503499650cf70ceacaa3a914445130a1198c9966169bb8eb38ba30297c3cc7eecf95d100c81d1b00ebe41b1d6e2079048a0a3dd5f77eb56f26075d8f20247d2413eb6af7a02b13b4e46908312f65632d0ec5525a12c56344b22c84d0d1fa525abea85020fbfd666c81c55e5f5e340c60f53bcd8e903ef5010baab76efe2b55db625498badc67aa79619c388862c01a5f226e26e00f3206fe00aaeb852a5e190417381ab06b760143bc4912e7bae0698b6f174f3bd249760dd1a368164611b20dc260de6a0eca0aa05ba04db8f101b15691d9cd67a1ef107289e1666e85eb7132abaffb9b3d1eeca308073d69d0a41565c3cca57bc2d47df4ab98a92d21732f11cd5b4f36d73de821ba17a8ddc4ec1da866c79eefffb001e9f8f9b50b9812cd412e3d12530db8f56ff155bd2fbe3bc6f5f4b0791216463054ea094858587ba47f0873a11fa8d5be1beb2c6d7becad29067cd7b82f20b7fc95735adcf21747544b41f512c1b5182c55567834a0fa711357950ec1305a5a5868b9dcd22909da9898bbb96d08dcf0cf128deaa9aff9ce8f88207f2c94ad5db9053f348a8f9a91b3ea5daddb76b49caaa63322b1b33479cd8bb7967df5c9fde9f59599bcbacb27a065fa091d307cc0428af8661cfa9e96f38e56edcd0e2819652a25458e9998021dc402e2dec3fed77c0325e43e4f96a38f4d679867e74cd8824a96212b4e2d32dfeaa3bd350585af486360ec3a3bbaa2dbbc3957e069b5b50c3f0c8124e2013ed4561a551f7a2ef9b1981d46d4b41f75086e6c462add9515ab39156e52b34319ca48dc0c5ccbf925cf642e38cb634bc737861165d44465c111093a05241338588cfcaf7dc700f7f3a20d4dc62937c0f6cfb737375560082f3588a52dfd8a9fe6397fcc7071aea1783489288ffd37b29c0cae9816f9168c53a4926cd6b8ee03dcea8c3a185fbeb4c3f657168fbc22a7cf000a3935a6c191e6f891f475df1e1883761ac7b178f2f80db624f41af9d3543bbe34e4f83fe640c7560f3198122d268f87ad0cf978ab0545172a91f5320a0260923c7946cf842930687bf2fbdc67de914bdbf9ee263a446b1ddfb3546740c0a8bc11db51bd02cf11dad8dca6c3903b396e229f8cca96adfe0e5f5e3807c162a3de645b222b7f3f1818219c2c0e8ecd84bb87a702b45c0de870a98a1a1e06001edab18dbb32bbf2c7f0a41f7fabf713fd7c7f76a94ccf815004344836f599b7a43bd10a350d1d4a5aabe4dcb9085ab04ce4954ed534f4f10384bbabd57c60d626710a96209560d98565bf869347ff2925a85fab2887851225f65207d946032595187c3a64b427011afabf6573393e080b6381e27ae4e64f5726f425c54d23247d3bb0cdc9efe1a39f11e1cd96e3eaa056f47d1d502fe84647ccdf35ce241ea6553f9c08f0ecebbcc89e3e78dd4a41d0953aa075d9bc825e2df9dd2dc2ca35a28adc1d9228b794ecc075ba44661c1e21d5da8d7919ecb40a4440e683d1512dbd720024a1e277b6a29a31e8202cb673b5b191011e2967be1303849eebfb089defc6ecea2bb1d0a3df4693cb046f2939824380a17ca2b5e3896505c2ad298a0ab2c1cb1aa971e3be9317382b7a89a6bbd7565e9952515a44d95f71ee40fa4bb41b8f21d0e28510bcfa79d66494de03be2d7070a653f52f33ba35d3657038128955494f9d02f3907cbc6d22a192fff379463ae10091802f8e2cc0aa2d63e4b85498c69bafc2c4fccf992e3d7e224c89e9a850712761f80c5bb097f03650c3f4528eb9cad69d43819e546a0f1202b28dd12653136a2e90a1914d208364991fed12c9ee1050eac19dfe0e5436efe5560b12cf096d294f2a89723b96d4115f7b0a6492379781bcbc572b224020b229b46a2d2712d4c67145ba2029646079bc46cd8364a71f552903b4517324748bbb20871b32044a3d7d2024b216937b38d66cada94ff3900c79baec48ec96356e9a46df6ab087b467c076b0eaac963d83ec102ee54ef1d04961eccfea6d44a7d73f0bfedac0b065e4f46561474154ce52cc68e432e9f5c0086cb448217e1a5a43dd2bfff4641c331b8105db773cf6c5a80156bf6515f60765370121f0a82a6e23878523488f0856c9dd670553dfccbd41c318ddfe36b2865036cd7716769f5b2c850b1fed78554cf8f2d07baf34fa708cf437b927d6ff4554355567960b4db9e699dddd5eb6379ecab574031edb044df3d5caf10d23d555f606f4966d7b4223a482611bd09374cec62942422469109c61e6f20f3dce038f511c171ab969c5b6b82c31790af16af715e1d74ec66f7ff4b3262258f3b6050573a9f38d642315c4882e7e61419c7fcfeebcf86707d2da09545f985b3b6c1d534cc76a42ad245406034e2a95d6e1c0ae58616b32f4a71de67da2988e5c539a1fadbd1523e73ac3baa765e50a78a050cfd790e664bbab28b3e64eefc1be5ffc142c2b4085038e171ef263e7a2d1b40bc0e080571f286889f96e68a70a7d09d349bb7bcaeae145b2af53708d8333fd66ea7e224731d94c7acbf63b0374275304d65c2b92309fefdf497da140900ddddfb833d2590677eda781318ed28cc865ffc7afc99c729398d7fee2a55b027dbaab26ce43728a2ae07fcb02aa38dfc83805b4e8c4922f5842a0b41da77e6c74ea722d7162b4e2146b68b1385a7969c53489d3701e2c55b91b96ff72d83138477579661006ff4cffcdb175bac970c04a9720c0c404c36318963f92588e8a0a35b3e507276b27a88a9631fcceedcae6481beaa8104738b0ea8282114563138c1f3184dc0f1b6106777114ca0d87bae1e48b4e71cdfc9e8d5e61a93b13b76baa174dba2791534da2156a6a4a80323cf455db1b7f374009610fecb9e2d7f05d803c52f44ea39ece17045c539d6421c0a728cf320767cbe8210eaa8749cac90af17a207506a928ee8f09a924def03f63bc25da39a5ca49d95c70c7d1c6a8237a6f0eada9ac15ee02f8d3e0ecb5c169f6acd92df143aeb802f52647910d8649c628a363d36548b3ae3958d0a5fe6fbe8398f04ade14bd0289627ebfa175b6e2baa65a8660b3d9f89c2cbfa98f3b63d9aed5a793af2f91723ea90ea80515d7ffb9afb020ac40550aff25f892fdfc7ff297b6ab6702e3f9771510892e276ffe5a62cbf80be51bd93822de3f979c830bcb9161cc247d33e10653e0964260cc090b852384af6b6d9279ac3f39d7dd568711e55686d7ac5f869a09435de4a3d6563d7e2d9fb01adcd67b47325caca02674e3017e498d88719f4734b259aed04945ba04d8eb34089a7368a38630936b563053020833e6768cb372989b2565f77c7200c43fc0ee99ef8b71ef868e95752d87c9293dae4a90caf24edd1ab1b8d5d4b53d6c8820aa8d80b2e48edeb3815ba1069bc34ca3337c89cdf53bb8ce6293cfdf1c91dff089479f163cf707b50fc883b2531053ea418a26ddc1bf64dd6baa241a52549b6e65cd270e6a314b3f1c7b8eed57d74ead2026332a2747039de1fda4802745db294609c01aeb5abadcae05895ef96c5313f615bb6f8eaa50d8d3f6083d67aad038590dd6bdb8cf3b49628fb206996bb821de2dd8fb19a9485952b65cea67ae89ac7d3b0a147dcb9b21263a4c7cde704dc9b161fa107b45c54e8f06cb7a31eb6163302f96d92e489797507642d64864d8bb6060791c3ffe0b75b4c5e0d984963165220aa7022608da15797e27cfeec64c47f1acc45376ffb9e5a60341f1e0d21355ab4fba7d0fc83ef238ed9775a187a155f74fff416544ee64cf60e80ddbb7789c99a2ef669da115b6fb84cf8618c7b45f1f5f7932793318f2632f1111706f901926e4c6a43fdc492b2b1ed68b1e608d4feec014280f6e8cc847d09d8921d6dc9c4b3c9b6d668b74a55a06c3444d5934bb7f032d227009f213da249d4ac8b1f4cc45857b874c0231b3511d1d3c69482db31e2df2f3d52d066642b06a0c2e47ab4852a72fb4b8b46b66a3c672ee4f905a0e55a85e24307068555c05482ea0e10aea8756153d00652114393fd062d0d26ad7ac6c8b1202fbfbd0a9bb22be899ec8d117b49e61ba7812df2f34d04c61818bc6cb1e61449ed4f1f13e3b7165b82b0c66adbf2550999ca70121d95074ab6af5a5641129d7518dcf2528e961c04673bd0c5d4ba82f2976ef5c292692115152e5a1913e0918521d96242d67c77435bd13f7e80134e055a6ccd14ce7af6de02b9151c02dfeaaa3a3e9fac20eeab063b60584bac594bef5202d5bd5b1fc459ada979cb59354a55bc6e6caa76a7946b8dfc748c858477e49ae1b55e5663c90e162b69daf1b2330b0d746f65b2f7c9d0dafccfa124678f78b1e8a103852d622d359510bc3000ecdd09f8c48a5cdebe123cf0d85ab2adb08c35a51c20f31de250c3b69ab6eb0729172cd93c74df1039b07f0883d64c53080b504e5bae44c03eabce43a5e5eeb1f0f0b377c766dd0910b0e6b6b97128138017bcb6521b42ba8cec1afb5df3e3ab14cd986f18cc4f6a24a0b6815900e4f2e40a595cad770f83d0e600fdffa96b066107902d70adbb58fc75289d799c5edcac51ce697995e4e8784da554bcdb45f3bd92a3700f3fb84aeab177546041ad88d907a7df4579ba0457cfccb841bdfb747028a851d5951ba3e2a7f546947a773e3b2d16d7dc42afdb52daa3a730eb07ae26fe5e8bc5b0742c2d4c1c375a65842ebe54e5baf04febddd30615b47620a657963399a7a5c9cb55da35ed498ac7156a750c9003fe5361b03de049c3a251ee436a4c10504d7cad45386b8d2964268cc3fe3474e2c9407b2e09d2e1120c2a0a3f7a13b9fe9fdd612bd111e95371b77b5a613b91cda38d453ba02ccbf5678ecf059d44ada2767759c76bace45138ea1ddb7cb4dcf4d4b6397de6a98ef79f6542b9b5ee10a4a2e6f1cdb577cb8368426da846e541f52be5c2efe89b3a0764c0f4dfa4f7329852e8b204e4d306965fe582bd93674db248fbc65e1fb654a5a1c8c9ee32e1e58eb261742e6b4d44be1cd6d2f6503e7e97576c21adebc04cf86a5f1104e54fcd26ff0521694be5c5c0ef63311876ca34b29673c9f9cf4a47b6eff28a0caa5ca8ab0d00957a241f441ae8c5ce5f577f07433d65325d4452506bee46306898142ddd9624c7648591d087752e9fdcad53accb31948dc1ef72297bebfa6eed50f90cc624c8dff94a22a1f356aa593218ff71034130f0236b2cad7041fd7cfaf750c5d0886f598185397bd22fceec01f3075ed08ab64be1f80c91c7d7d6d299c9fd0bec9f5007d5b9c150cbb2d586c91b31cbc3d942ae7bf09889a03264884fd8eeb62a0c40466c6cd1031a1bfefba3a405c0ef0bb29af78f08dd792876aad07420e130512bae4c929ed7f66a5234aa0d73719e362da9375608938694126b5a3aecaf9d48539a90021bf0563c4309782ec6633f0363af0fd36425030bf18827d1d7d4e20697ebb7a59de58e2f605d79184251df3c6b7d0be66c92f26eb9b6f10d2ca6590dd19be7b0b564c6bd6a8d17049678dea4c704503867dfec5cb2bf571f158728f89fb24dea892f1b03510bde45382323eddf0b1de0f99562ace13107d21d6ba93e9e1783a4ebbef3f922471a6a264316674b84a609d57a6b4d607f9e55c815421aa56445df61b438f7995414843c0c74c53cd1cc5c7e57793f9d445655f7658ef28b73ad4a106bd40f6c5396552d9055ef0ef44c32d8821ee5b9c9ed458bc64a4e83b915f4f777319cb4512da23904d0d37c1c1a0f58a12044169ccced7904913bee8c133293fe8b67645a6aa5d8ea912f4733cd7601178b4542448cf4f1b2006b63ed278a105d0988f61046f10ee4b556a9c46b4bf6e3a3801c1ba07124cecd6704c667e19873ba7025835b222ab7315103a7295dabf72492adb1dfffa500dcc859c4da9b3520824759f615e52321ef0c15dbe41edc3e6fd829ee6f7e87707ce3ca2dde8ad17259e05a8172a41db2e54e7593d231b46ea2942242e3196eb2a9570242f6f4199869813c93e84924af75b5a8120d817aa646a884b4587c66c86bc9b9b16c442f85a375e3b282dc33094913af72d0ec4ef7ad748ae2f54cd94109d3c4a9259999b895a69c7b5b8ad4a01b5dc85f860eb7f2264d650f3ce941a4f35385b7cbef1456f7260913861356275b292bce94e5d427e4876e983f7bc2f6a309f13e7597518e88ca8afb28c9740d76d6b8e2f378ad229a681a59d706814a8ddecc49e8deddca1ef57dc01258b7636e975294794132774d07a3e265bf9588c12be03da3af4cacb954756d97c05571c409d1558bcbd3f4da975636fc3c863f1a79ff1925e54b5111908c337527ae3165a858c3a394ca3c9a21604b31a65909cbe888dca6e8b09ef7f13ece8382b463270c4998988e0098326be8bd9c35f59023a86bc602597f2037344410fb14aa5aef027dde35d7febc5e3dd6d73aff3368e35632d6a85daa35887574cbd5df594c8e24da531367f3a5c221285236b8031dfd34e61cf6f014c0c0c22e6e11c296a4ce4733c6356477b3afb3d59802af6efa06bb65c7f03f6837608fdb9be8dbf91990ee80140f14b6b7a1efa382017f8da27cf5e3a78a77e93a54aea34c5267d00bc6a4e421e4fb131963e4506b1561d6fdf6eef46b1162abf983a46587117a710c5ae689572b4edace5d0dba9ad67483d8a8dcfe2cf5833c8f4ed98688d0b8c579c39a7b97040befcf4d5d7be2462b945f9db5c08a37cff18990b5c87671a505c719a1efdbc0f16e176771b1a8048d3607c214a272451d6900efd3809e196f2e881fe234f9421db7e30b2345ae4f2f401c5240e14618f0309c1b078699fa0e720193f37bfe0dd6c371e11e0812c4f57b437c416300d6cc938c790d765bbd4202340e3d356c96df895e03f868d5a937930209d615c04737768bc06f9df2c2d16e21f708dcfdc57192f9b2a4136d830d66eaa996aa2a89f60efe3179d1641fa2503b33c29a18f2e646a4b5a6ef33371e9d594df9b11a012f97bb95348ed74ce1affe50353fd2a4feec27f7750fe43c66f2e319ac6e09b165adfd785130e3d33ea3c1263b0358205797b8aeaf4b7398e6b9608c0e52b6775b49f823334fb6d435ab7b5df7dff0fcc67b7296c54d4b00e5ae95e76f1361196e03a568943d9b28dae4f020880b826366bd43e1d8ab61bc2984bb96f4c502fa23add421b7f2ec2d410a54284df2278bf806b4f3a8a6c7c735de9bd71bc772aa27b547ec6d2bfa43ccbd34b5ee6a3e562f0f7de453da5f917c4ec5cbf0a9ff4bacbbe13e1789070ce05539724ee2f55ee737ef85172710a4adfef0c1040fa02172447ab139330f7fc2d61497843673bdc4bddd69c2b94723155e0cae48ef0c06f6610f162a6cf7a3945332fe0816f75035e85e466816917c7c45f7cf18ef7fd5deb634859b40142288dbd9da4835a801333f2ca626d97cafb1844738bd9d034c2b3b1b49bf484ee5efef88a5515b5948942dc75c82e806e1d404f6974854270593def68fae86219756a53738e9926f3b9a131484fe7dd8b3810b7bef543212b56df14465a9c10f6a1b62a672493c884985c817ae7801d5429e8dd4ec25a93f1f33986403bba33d688eb8131c6491692eca19a5c3b6d4706160a855299b7c4dac50c0cc2f5675e41537f57911fccfe4707d28e5d68099d8e3e3d0ec167d6ea7d13b854b296a743f3579bbb192997956a33de21107dfcb9cf1e302e9724bdb3710b51afc08d1d97fd93dba373eb1c7e9b4bbe886be5015772b5b9d4c7c320453523b10bfbd7bcb0e9b8465a3143b665398db4894bba09a936ae3a275e76d6fcc5e20e6bf0ca030a4d9f9c6e32f55bfa74de4567f5c596704046a9da89ac0208e8edd1da29ed789557bdc909bdcf45e4f390ee0bef97b95c5d5824a4cb21cb847d53cf4091ddd44ffb7cfa55f4b23d8597319646aabe56034d881e67a878cb5203030476f1e62d818cc486cc5fa820bfbe79064ef1e15af9692049c0788683a41db8f6c8b050b8b73b57db1843ce18c9bb82dba187d6f7f22b39104718f23ca105592fdaee23b12893b0f2de79559c4a1ff805c298d8334da9341339d388f12dd2468e7820a5ffc902b9c32079ebba405cbea3401dcfa3ed26c0196a65736460557259668db267de9285f2d65e87e4dbdba8db7ed50b4cb6db57c5253df00987ce80782a847d06342428cc1f4f8bef1f89a9a8574f788bdf8852dd0474dd55220314cb953e912edaf4c14e74e505a22e67f4fab032984f141c4a62ee0f4605cc632fbf9dc0a8bc9407bd8be3d8126ba8a3daa6b82ac02d4295d33c2159a11198f4eb68b36b52390dd8b3a2d5f6c65d8a090cf65b88b9fe3892ca26c9eaa98e1238d87229c6029e145cdf9704b05422b509a55620380346d502b68d46b83ec4ad0a2b6ab61e9ca25c26aa0df787c1e5a09b309f975c98767f74062c760ddab483f68cc61bb736991145940bded6c35da32a97e05026456a3ef1e1378acbe928c324cde12ef1218d3016e265032328ee3ce06c5df6b5e92f7b623c0cf221aa820cc891780bdec89ac6e01572167d179b29ebcab4b21f49060b648f58a56a8fd81c142831ff68d983657c4d689c086f119332c586e3fc9002e183f2d7429d3aee9dbfae4b9497d8d4003583b8064f106b8c2b68af0dcfe71ee1c90d873381f1e8f368c44a0b4cf38f45d6a0e3d118da398dc87c1878d5d113ae7908e9d993c109260572f6d15972717080fdee617944b330605faea25672a1cf93059f295e350492f5039799d470e7a0ad707a43d0b4db458475544ff2e438adf814e2182ec7355d84ef3d01719a82ea034c33264fffdd4a0b281fcc52563200bb3b50796e5038c796a61ce6d039db34031cfb013f54949f555d8d2763aa609f0d39972cbbc13c5f77d74ba315599a02a55e2e9803f0f367bfe51115fe5d33c60deb0e29b49e3013336974f225a1617482eb6cfea23caf29b962b990e61c3c387e9ef388d5b2f5e3e7cb70d7b0fb814b4a36550997f96e8be7edd67f5ba67ca06ba3f3a959f181619e73ca95a712118d2c3e8957efd9c56581d71c7784d42bb4096587d4991dd0a1dec62aca31f0592f41ad32136fa86d761004835b6714c9ce88e7183b3e0cc26b0d664b7ce70bbd2fa5ec353a9e0315a55f6b0a99905380684c88c6c88d10c7f5bad483ee34dad1c198c4a28e66347d142208e2983bc99dcb34d644001173fd352caf49b3acb3c75fa53141ec725041a813c78e5d3a0289490252aa06a47f12a9a77912222ee69481f15992baa22664815f30f5be4252e29538f5f3ba6467618cd5c7115e845366b5379f77c6806af1e8af1a7f790215c18901ce41866964f8930eb5cc56ff343f1fa04b0e1b0e78ff008ced8fc2be1acf37747044529a79498a6ed0a259df826df106d3a3b4d213d51927f6c3c65a97624878859eb0556daded443b970b3702175baa539d9aaf632249886f6c07218f035aab19814ad2f101daf14e28c28c4babcde89a5e8ad96553d8b3792214405a27a71db848918b773d71b75676d31f72b8a6ce31341af35aadabaa4bc13bf5709ee183d3a4d1743dff20feaabfc017ad4f2f539b5072f93b2f9d61226fe0c085082f8e4ccd81303bea785f07a7b6a1afec65a05eb462d004ca7ed765a008817c4a6f981258b1593b395d78c854f5aff6171d2dd8eeda0ec885fd1b9073d77f006bc5165a0a3d0caea44dbce252f1a43371d57c61526620cc5a8c4a609e4af79852119506851c451351db5000423088e773837fb856ec92d6ebf0d03a0bc3b2bd1be5133aee793047d3a91b7eaad9aaa7b8b1460073d45eca5f9e8a94c67175ee5632bf3007574b4b755f938f468f13adf420923386033a722fe1eb7d9b542ed4e93d4c7e2de0fa1ccf83598609444fa352279f3c4b375beadd6e00082f1c2342ca0f789ae06d31b1e6a982c497940079de884000eeb22a3f9668aa42c3c3a15c161ee36cbbf067295eb3f64751dd05812d8ab5fcccf1355dd40a2fa6d4c68a14838ce1a130f62fe8c79d130720c6444fe2972cd190cedb3d8025b4fb214918080e9dcb0a065f57725bb372d285c59eda1898e68419724d2bec85273d0985f5996c281b68908e15ab85ceab9d34b12349fa9de3ae5ad9f683c12fcf9c4b38c36793b10318bf6c6d9509f6f9978df5265120c5578721e848a8a74f561b1caeb49a220a014b7772e7499ce82c4c25ce968cdadf6eae760233dd72e1520866c489a6e545db99494f10c1999bdb11a4ce5ac8bb5c411f94ac14b9ce02e0e696b8c7eb87a45cb246c1fe9434ecc9edbd655f1853b144968e78f59ae81cca1069ae65d654747b3c7492c3eda3dbb8b2b6c6f3b2965b55a59053c1c16bff2ceda63e6997e539e1fb791579cf9b4646cd611df695c80eb858b592b388b36231807a3de62303e24435cb5047c97596c7125aedb65d30f0f67edcb5baf676e2a582a8ad683c0457e28d0660c4d74a43858db8c15de7f59013370b68eebbe34bf2a1d88cbbf1723277d5c4bc8fbd6d069690ed671efe4e9691b57d6502b74cd90990d1084a81ab65169df4bea92249c4a8c4f118bc3ba5019880ecad55166d5037ffe8c9225193ea30157a9ffdd412274101d72503ce0dc46b69375b56434e694f7b5690d0be06e21b9334f493ececd2b2802fcda0ca8f6b215fa31609f635a8bac6a2bb050481a22b112d33497de87890ef4fe5b12038a14e605e4f809ba71215d6a0bb6ec89daaf3862926734279f453e72da98697cad627e2273e208845f9466d5728c02c9b7d0b397879183763c9a494b0ab3d1df379710e90ad35d968d05e90d5bac9c6c6bfe8eecd6ac2fcbebe8787eca2baa9eaa0e63314d0a1ed5f3d9ff9bd566531d74b45eb6145f8980d1e505a8661b7873503b523895acf92b569ff15653a770d7bb42268dc24c964ee1aca1b2cae146f00a4c36603ae4b151c42208253353e5ff1cf97f7b38d3b9bacae7e5bfca02a5847fd8a3f46f30d523ecd170556748ffeabcb35c8f76e77d0553705e4e3becae788e9a6fff6308408f088e580722e7e94531b9d39c77d3de44533d26bad21405e7b09c7efeb79cccc084a3d2499cf693d66c0907bb157358eb0bf114a8e3639436cd01200776fe3b9d54d69c922c87e5c3cd115336d169a35b11f27b1bbcb28fdbf45ce6a322f133ccbf3d7259b36cc052bbc4a7a4118e6f3037ce7076cbbc38dee1c4319c8da81e05b1cdbc674cde3063484a4a73875e0b11dd7df1a7bbe8169ae383a7866f10d8533cf251b44e0b3c2a885f05ed8cd82fa5995e78f4ab4663dc46b68daa7b07d04b061b3d3b720643151cb7cec5d790fb1bdd970c3574e86a4897beba001269b14121ad79544ae77c33fe821cc7e590006eb4ba6cf1b28d3e2f748f738d272af7734c204a30358a4836c848aabf42f09a59a317ed4b4b2c7f9c7c28cba5a81de30d1e915825a017a8eded66ee0e2d864f03669a40931b5b453390eac384313a3f11e3073b15411fcacfbace29fb31943e5438a15e59d21d10c7e74b890ece7a6e20bac4aea6b4eab97b66e7f4d1d18648779d2c90c3c177d61cc7fc2c2507aab3f6d96f42656996fe3cb741e1724a8fd757e5f3f121390519a89029cfe5596414e5657710c09be54bf35e2c419ac2a9909623588aea0614099749e069a5ac40a39e92ede5b612739cd6faf345e0304475a59e9783bba8a0c76404e5b308595edc8bf7a0dfa77ba315d1601b71f4b99be2d167e74a928bc0a3c79364b10817320e0811179064259c1da06004ba6ef253e170a0e7a7126d828e9d172dbf5b6148e2d1fdaa262074de331371b594a9ab9e7a4cd557932eb31bc2edd389a6f591e75cefbf13ae456b662954ce2ad1557d67203a60891e3b10bf9ff4ea3f65a301ba4d4994f271d62477009565032560e89b4e19a5c64d3ee5d8102e46b0d884c691c042b0cef87b4df3302c778bd00fb11b1488a9f221ed18a038c47fabaae41a3881a9cec5449bc25452ef862f4ef5fcffb54358724c778481d61fdf19f0f44bf54a6a0f9b9ea4394cd77c563d8ffa937622fdccd0e830fb958da7628037d0a9fbdd134679ee1635d59dc7c8ced3c56c49183de35479d29edbfd02758923534720b66cf7fad1bc5d8952979778a2445644a23ee698dc85a0fbfd5f6ce2b2617bfacd53ee0f4483205fd99dca2df68a564e757bc7f43a3dfe4b02a15f24a7bad52f9fe4a08956de87c981462b1d25363ac5f97cc8bd1833f618b30e56c5ee5d2c3f4728a525205458f4bbb3dd19c852051498e2c419c106e9b91a337a795ca4781383b5b2dbbc60e49efbed67392dcfff343651a20d4b12837ad51ad8a7c9291e69f6f4fde545ea04120b42fcb0c91f084d388193d20acac1a2857bd9b252665e33c8e1158491633635423f272575eaf0b606b0727d1a10528546fade278704fe527db4be0b9faac8ca5e83471284c653de8d9fc458a6d9ac55a01f5d410b4bf680af90e3bd87f066db0edc6dc41a9081cd51bb31ad77934ffb9fc999b4ea6cb60f11e91143c30c21305c8dd072b02cd73e4c9f606eaacfcfff68cc61d451deae79b78a5822e5fe7d3c1b8b05d761e679ac0410f4f286746aaafe7666fa8120e174a32a3154a2badf6b60bcb7a32cb1c1be066f88a3e91a9267b34d5f283815ca493fd1005e9716ca4b5710cab248fc29a96e3e50987e62e5dd1a55acc9101162c43f711178c44f402d57c74d3dadb4df75a3ba75e79c9c6549abaa5e71d067a0c957c09acc4db2a10ed8e9e7e7ad5a765d2950dd74b053ab3be33611709c16160d593c746458dbc5fccf3efdf5915a3587772b015c8032db63b6af9615605548ae604eb7088890759d981601845458360703eb8737b1e74af6c6eb22025662a1eb7529aec2e7c5b81216365c70a9798465a80124f796772ecef43e8e07aba11a8d9f29a348b994afb1ee383c6420fafc6c7eef04c157c00e48368b2793055e83d6f288b65c4a24d773df54d7a998f036187e2c84048775a24d624eed1f7444c6ba0ec92ebb000514a25aa02e63e2c0de0cce3f0f78b745f8de244e13015e3cc60be91db4eb85639bbe4897553fce3977763170c18f60b8cf528d3193c143582b0f93fd53cf266cba379ac83b1a981e8cfa7942c7fd20b2d8663c548c972779778af5fe002e70208452e904946f607825190d42ae0147fcbbd139b3066375d566074c90f89b22b6baf272116b07c34d61cba4c14ff13a8e31f8b84aa826a6df5dd7e2c6a59b46bbf71e055900dbfb9d1e44c6feb7b6b07b2f5fcf07afc913726fd435180efc9130125d228e0b0ba2fa8abca4e1affd25186806d38ea237f50ff75afa20d277e59fc91617860fc96479b23eaed7b655e3547b42cac43d796b0102814cb44becc0e2b69762b9bcd385e839ead2b98fa38c1c195916e38209da4ae89665b05664d81be8eaf52f8642fc1d24bf3884fc80022ed1689832c44e74e7381427975c4510420a4d373b547d7713b0258cf6219ff295b610c401565c0a2737dbea307de7c9273d40cd32e9f45f9986c81c814c56eef0484f5b25f856d66f66b02a56ec14a7f0057300d9fbb904571e83cf5f6d3eecfbcc7d7b9cd76ae13aede8322c6c4826025195959bc63d84e6e3709a862ce06ed195f39df556cca40567c69c81a5f4524751e20817cb0743643af1dfe8de55598b4e8c08f543b9e020d59569b6d1cef6d2b9d43084d7bee983ff45b856cbc21ecc9bde973923a9643dc2a894a108f8f1210e4b6e0941c14cf59875127c3e8b4c9ab32c2b0214d8fcbb28f4a47e434488f49b07256335d19f6d3a270422b35ab44d8bb88cbb2ae759c1111fe44b29ff7294b6edc3fc8db149dff99946621204161ae84b510c8c6bf334c9a9d0f3284943db91460d5d8e8be02e76354a84ebbc5bbc899cd7fa6ad6b6cc120cd9ebd03b3ed99032f104cb85e713348da94a7e9fdb873563b706a2b9fa3edf54b2bfc29f69dd288c800f544dd6b14c91c8d4fac444b7336c9d8cdf3c6bf529519dd8f8d7d09f5a55f915f8044dea371f830f6f2afd65951249206b02fa9f69aacbdb9716b18f4a5d983e4f5f67877f13c6ec065cd1fec6b22166319c13c6201c0f96ab8a13da52aaf6de652de936b94ac2a2434d91e2503bc0b85f4c191a9356ec9653069ad8f6495a25d027b543990d0323f2eb94ff93ae440733da3e6879585531c844784c4f3d20a25efd7dcc8e9711506db45210db3b37b22facdb8a57879707077d35d6538c3c0f754a2b70701ceba838e901dbaf78943f2a70c3fc98ffdd70f4cff096eadb7626fa1513b23b523eee2a86b099dd1154074c8c3aa4cbb8fcaab2998154ba87392725b058179aba4fed6993e667728994e0ccae229e0ebb35103f0d347e7525cf00850d53904db116f7c8cf563b6b0ab7626acb710da13f3dc05b08eacb7dd6f64c57706eb6bacc5de758a97efbd0a0afd502b9f35d10681d7adbab87f0c5ab8a197222e56b9dd1298b59ef564254b6edde8c750110a0738a1e0558fec6dd82c427d49045626744c7fab7ca6fd8c91481a2261514abcdf66f3bbfef3445907d90c973a5985a4b4ebfec4a4456153ecdef3d51f36b71f1e74c9261744474f8eab4419bb73095d1a021c3556df41f3ed8fe05252816a5de2123af7a06b155973167879e73011e52892a9ddb15dfbb9db076506a9199d3d30a4f307edebd5845499699c6157de2b39b55a8cbb27e4cdb2764063cca48fafa2af3cfff2f1035b36b3728498dc8a3439fb5b34c5927e780e97282a0a1e44fb639966f045240f8bd48f0bbbf8035cbeed0e11c96b1735a0653c181b5f2011d1d51db85c05c2a24bbb89becd5d8c86e555d754b409a310b027315f47ab490b432d8d1003b69ec2198a5b77503285df2413c6cd6db46f7fce5a975290c3878f1634f58a4d0cf36900f84c009041c8952dd2502e40f373e34f4a4449f61e221874d2664f0651128139948a6f30fc27acfe8c6e7be0e572874dd7d8f4c62ae41490b5ad961efd9da4ef358854c447d7cba31aeffa8dd55720e18c200641529793e9ed1331bc29a6fee80157b8a876bbd8bbb55d3ea9e696755e8766f056dcd494486e4a03538347b52fff22fd03f2dff2edd75e3b4da332e81eb84e68f5f85bd37a4b53d62474bfd121c02c35872c641a72c490454988b2317fb57dbb4fac73415be17a294ccb2079e4c6f009812d8622ff88e409deb88b5ba1afd4aa42be04fef254e9435be8b12a434b863abb1606fdecb4ae720a01eeb5b43553ddd36c2bd96fe6690f5e83246122c6e95790524661144d0a4a9cc2c3d65f5cdb3db94cbad2a0def2acac9820fd9e9dca13b5219ad8d9ad500fc20b95f9356ea81d20b3ee281e2007b230345b2fb6f62332e0d0991ec8c0459e554a811a875ef354299083d7df678cee6f9f6805fa65935cab6c2497671dca18de680a561989d0bb0451fc2a3b667d779f110858e4b49c9f03951d494d73c8f6efba852ebae89a9f106daffe1fe4aed4163b5c6acad8df2fea2b6f6d07a9b5e06edd287253ac3ffcc372f33222f15c89b8c9dbfcae2037393678359958d07d719ffe5cd75b080d9cf6474214ec5c6b697718428b5f1cd0f418fa37d18110c52e5af13c64f03146d0f38fd331465098f7a7bf2f1c5f967b469bd8164c428ac8ff5e0ab15ae42ed6f0c672bd0cd64dbc8f1655a2e3ad1ab74b294d0ba02145fc278e2534646f39ffd7201c652f9308342ccab93298602aab019d5307cded8bc7f7f430d153f8536c9fca61da25cab151af01ef6a9cf0f022bc857ac12f56ff15494005d8654f8cc35f420b6ee84169ad9faa7d00a1696d3ea293c77f7440e0d36f6904898397d7e4d8c20baff4cf82718443c0f9d1a5201d2e6e15e44619a17fbc206cc7c84a6b9dd5581d1824625a4d5d758ff4bd01545922f508f05b17bc0d32cd3c6468a27b07d6d10558a8c832f9c9746a5105541c8e7b9d2bb45b6d109079601ea6b00bc15edc85dd93e7f8aa4640279c7c0f6448200d2f322cb94a0342db4f04997ca8c2246d56cdf7d698a7696049c2c4cedb42314e606eff4a8822fe9c609acdc6f9a9839a4c2a30a2cc6dd8d29ec36842f9bf45a35dd0b7df72610eb75a81df27dc59bbdc5b705e1f3b23d3bd35be3e6591ca576d32a0a7e9750788dd48862a3e68e87a0f06a74c2926c492f0a52573a97479d784ede6acb0fe70e388c3e2505d1359e6f2147c67fda2c6cd3398acc785944188a4fc974b56c3d7dde8e3463eb3e8d27c4e3c82c87a488a8c1da6f301f1c1c1ba9fe4a6f0aa836150a8b40355eb0b3971dd8483b86751c7d96b3733101c623d2a45113be2f19a8aa516d6e33b1b277394196347cf29b4534b74fa7ef3f7a64259b205685c763ca243a3ecb6086135ae1fc5da3e7271dade8df62f7e09b635b5873f8f61f69cdcee0ce119e4a7f0f371dd1b9a56bbe3c41f2d2ef73abaecee297458c23e6de641d2dababc7fe82b610b4b20466c90d29eb03aafc1e1e7caaead3681ee09b859bcdd7128b61285dd8ad81f7647a751fd8b198444244a63d00e0e58c8e799a642064bfa01cdb25e89a4c4580bf159da0ccab5cf5b63492352f4843454d531c8dd72291f860371692f5f42a56f09d03399b013b7b6d02670fcd8524b9edd0243614be3f95ac58afdc26ad1a219b9abebf65a8b84cb24418f4c28eb8d37dc32236304331c68f7c24c34b08e9ea02bfdcc6d53f167072a52bf9b0c6d8a07dec08b81516e6a367edc5f472ea909deff39eb388f9a3a2065a82d9b3b62b23dfd694eea32858d9f8ad0b33e66759b5b164facb8c9f533228b6401bbcfc489289f8804621cd7686b4569f84c09f832bece6cbbe918383ce3f08ae3ca4de2ab297bc0d99456c9274f3acea50c98e4ac094a17d9ac7d0363a8e055f3fbc38afe9a15ffe7cf72e2b06d2a90564c41c70ec8846161b389ba8d35e702c4009688695f0ef6f0b74956df49c6f16aeeba529da6600620dd1cb5a8520c7ae5ff0c1b2865b76a621746de1012f57047a14a6df86bd1a89310267699d20b06e40b178fd171937ef905a6aef72f27466a971c9573c959fc0b3f7bccb6db8f9c82a0995ec6e5158b7bddf1927b3157c8080e91db3cf5ee487fa3b3d3b090732fb191d650f0ce5cc3e8d27f7c6963f99934da9038984d987dd07a0e822a03ea7fa48a14424e70fb3f08dc74c256d94d92f235ea50be42f1d1fc2242f20c0cd925b06b57decde2d461c43c7a118caad1f7a1579cccd392830a999d891faf0d7f5e11165f03fea78a74d0814d591c286627804711e8fbcf27ba253ae493b2de0caf39309e32eaca7ef0c53992d3ac98af42341a1121964dccc7fbd25d39bb04838c134a6301ffdda0abce3be5867d3bf9bc6393cbc5bf2970a9bac3d3769ffbe1a4654d03e299df7dcff84162bbd61b1c55a183298835525fe9f15d5f44a41eddafb225a1d0be3cb998db86a792fa504cd8163ade957201da695ee2e33f1205cb5f48c70291cd30682e436d44f97f3eef9bfd7f562cf2e94488d3d1a010f169d1a6b520ff401759365e8926e15849fcd5eb2b8da107afea81cf052fa993bf0bedede1adc577fd19ab984dd8b829e7f7c09cf8eb68d0b06135d9fdf1ecd6fce3c919222d97d544eb2fda168e396e57b3fd8fe437188f80dbff0178a9a5433e4275ca0dfb970d001dba62c7b2eceb2cfc2746b57354e71142ba90285711ab520ecd525c2849c9d29e6d1546a8e91e7b2daaf89031d5204329e9bbee92c72c3681bc6eee2d5c84b9436d7726321e7439d85005f7595ed7b3b8494bae6f9f033fba701792d537537511f9321bab375e20e6482d97bbf4131ea7ea21d33452266af92622f38aff711883b058209657ce5d6953e2eedc1b9f6140fe67e864bcce404af7ddc23a31edf931331af9ee5185ed05c4de1012d6f5307d312771b2a6f3add2472daaa6b632df9803a2393b3c0f7c89c45865e70682d1d54637966fb3248961d95adaad5db5ed6713262d948a02882b6c05af010d0708eb838138feb7751852ad68afca856cc3c2e0393e79542c12b3b10e0b0a791d6a47e7a6c3ccb1f5a77a2ec520c3f48cd0e19dd64d40262a7c860f6e595e19b05615490ab88b9ed2de3d79bb0ed3ec7db7c5348187ff2566246146d80a21a495f43ae836e2af338b2ea3ce0ec0dccceb643d43e91ee449e07177b49fae97d42f0c669f56ae28854b218772c6d66684f2fe5bca9e971e7d0ccfdbd6dfe0865474e7419c53b9e3ccbcdf4c3ac1e47bd116c962b5d033c322a8c4d3a74e3ab1e5549a1c35eaabbdf3ff40dcbb66c5873b78701968069bee8c2fcc7a44a5f57ebf20d0dfc10b7c696f9be1bbd78a854aa0ac7814a01b8bfdec4216b1b715b2ea61879258c822347c32d85fda42c4f66f3e97d07176e058732a7a010902998e8cfb9d661d99380282f289f7bd9207b8beb065d7f41fbf5d79df9e120b8461ca43c3f12e298ff5e9a737bf7e5ae5940812515d1751df3c0deae9163cb3f052501a9048d5431126837d4e83ddbc4ed1d9a4bdbb95583d7010c65c9e5ac84c725adac9c0dc8cb42cd064bb485f4914560a288dd5455d5ed2e003dced710b2ee4bc057e5c5644f7196169450e201f05087fad8d3ace6a7bfac8451bbb581326cf984e0456dd64cd12cdb99b6a58fbf7d28488422b431602bc923e41c15881a23163ce87cf536f86b92381039224a975ad5209122a410cf1502254ae7bf7bbabe68a1fe253e72aae6956bc7680ee708d5b065a5bfea7438e9384ce027145375f88212ac22fba56a93bcd9d70ac897982d7ddec654d5c085fbbb5c3c6f6a375347a0a23d84b02daab5a0a1796fd195c763de723f6d6fbd51320d78ef6c9b54d4bc44a14f57ef02fdc3144125e08c8230f177cdda1eabbdd1fdc1dc99f018f4ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855ccd9984996b407121ed8cdc81d0e01dd12890b3b6a7c89d1d520b94267c436a3416ee42a0f983e01789385ea3d645c42cf89c7b73f6073e68a19c1027c73e90e882f8ad52b22877d2ea866a6b2d6d852b086041982694e624ab06e9d3c116fee83ef38707f8ae88e96d3fb56a6a92cb78a63a9f4d0f0dbc6b675ed092d4159ad32c490a2f6d71847d23d106a2edc409a8662824a62c7d04f3c4b58207a44b81335474bce8d95183621fd80d784ea35e239917318d2ff00c5c263fc2ad7d708e75bf3f00497c1504d36d33738f7a81612a692b73a4a24234cc7e3cca2c201b54b1c1b66a145850c33681f7fd9874c0cd9bc9034df8d35ce52138621752e84cc2aaf991e3584b09505f63cfaff458098626906503ac13247fa02e99386f42800d3d3770aa81fd7ef06c4c96757847e8f3175cc4deb3ad573400c1f23b0b2045a8e908afdc59fcead7f8c9e5a144ad3ea2d4d96736130c763f108e79f80feedad9847eaff6be6720ce2ef6a8c3080f0b411d0ae634ca06b82a7f5fcb1132903e5a51c1d3542080e335b9b6f8c0281583fa952d09354aab8a375d55f93745d87308db3bbac071991b64889ccec0541537fbf919aa4becdabf08c43db19814abec373f79b12cb1e7391672c8cb5df11218a37529d3dfa6b356a6f9bedb21b428721b01dfedb26e5381bc6dc6d105baefe5c712ba582e265409f2ae0311e238796207ab33707be8efd63d622724529e4089529efab3542100fcb4fe4e9c4308b920a89019f10918107ea2d1616fbe3664a50c4917d617b3d077282e36f1a192743a6d93b7ced3e18c902ed6ea19f23f3d88d215ec7cc8732311773a5de6c52a640a7d2c5cf68491b7c27a23f787637ada86ab040b3e58a7dc6b2d7a6950e3bc1f21e603dc73ca9af049e050d347b7fb891e9518ce7a83b75d2acd551f6ba51bd33346a70d123aaba2107625ef91b13b06838e0f9d776129a459e2a619748a947a8fa3358689f908bf40067f0a59ba34dfbc06d673d45c962dcff063b55fac645f417d54f2936f1597ec9dec5cd87e081442935e0bfaefcac64c4c775748f7086222acca7c1740a68afb3df0dab36b31e0b9c704cca025b20bcc225bc73b77bcbfdde66d4887f0456b69233376764efd17e9e7022a1e4c94996500d129739ddd074b18e5ed7273af2b0cea2e50ca0712d18e9da8ca465b3c413a9f2931bbb581474eb8a5cf1fa43a30bb6067b5357db28da54a0f5fa010dfd9636c0f7f5cc0301ecfa75df0de44d77ea6327db4613fa94eed9f7231e53163bd8621812bb774f7e7d40ce20d2def717cd5aef3984b51cc1d129496b804abf63b401eacffd6cd0b17c59cc5dd2610813f3c34be1f16e6cefc62f913ad5161d64f03f868ecd82b883185980f1aeca0bd4697e5b88103e2f320e4b5de55f80f9d8311d61d1876ec297a700d75fb742c65edeabb3262a0db8cc255236dbaccb17f2f65800556c8c4a339c153e8a3aa59490ba725043e75ec0f62b6c51d5da6fdf6675355c9fdaf6de473301224b042e049f83b326c57499897eb3506bbfb90602a62a8dcf2f79ceddbeacd0fb9d8a83bb4d1290e45427e7614712ddbfc0f4b45f2f4c50eacf4f2f1fc1e3b551ed3eed1aa083438df1ace38a683e11b98520a055bbd73b7c119b688c043c1345e155c94fcad1d17a3eaffe36408e296ecd6ff98012a266367e5e58ca8d6d7f40c669bf51847d751cf550fecfa133674a55dc3577b32ec95e0347ea6ccace684548ee69a985c53c934602f6756549baf8c20a1f14f20c3a9c9a86cd0f0c6e0aecbb22593831c1ff14c3f4483f759e1e60d377eb106bf5163c8a726314539c2a21c86d2b305caea182a061c01fe637b2f3d2a65ef640737942cfbb24107597b27bfcc47624984dd72aefa9ffe345bfcfc0d004e404bd668e533db78f6636a99d65fc11d9a76e91767820bc613a51921376eb50f191d20a093656c1295b25baeabc5beca69c78048323ae89a11e275fb6fa750d1b1c61a5094477714d6b89928b2541c2a5e0b1971a023aca7ce9a95f7c14ac125a9afdade0e712489e4f92390f0e2fca7410230e711c93b14cc7269147bbd1afbc16d23efbe5bc97720fac46b5e7ef55c0e3b346a51f3642f55b6c284f70e46e1a345ef31cefcde1b3f9f1b9c9e805780fe5162aae574baca9e04a136ef85b1bd2df380392fcd0a011c543da3c825e6dd6e6945fdf874974890e04fda442398ede67042efcdb84c77c6d5c624daed8b478d12bbf40b0c5a71d4c345c29a6c53bc05865ca5b7696eda3a2627aabe15f6ec5b3db4472347b7a2f2204fd32163fba6bf20fb29031f811f869f362caea8e24b9f0e96bfd7cea3854aa0345933cfae2fe1013503fddce0330db78dc963d536e7ab3d1b3db1f822e486e7d3918760ac9940cb646993e6c54580a3b456b82dd42b5f3fc8e4934af2c9fc195e81a23848a2c68b9acb50a7fd1fcde2bafaab2e5da70c71861f29f010689df83d4ad4cf9268a2940507cd4da416f8892669c8bafdf4fa0a521772bc501facc879b488dcf68768d46148327aa9aa648f39d22531875e2f27c3b87ec251b986aa50865a73521a0e5fb937628bfe742cc790a33015f76eb653e95347322ec860e8fca2d492fbce381ea3a29bcfbe1b5c1fa4a709c0cbf356fd3e21c8e0242f50ad84aa59f0dd31ac8bde9ac8bd49b776320d69f9d36469a81a0630cd91a1883b32f9399180e249c9dc21ccafd70ff22f30e4a79892260198c2aa41f7699ad31f1e652f7d4b42b9a30cf951a32602c5ba42f559f7ed34a9ea99ecfa1da35d5370e00cd321bbf3045f7e05d65389406d3126b53da3d65c9cf871f2be908aebdef42921ce515e8ff7b9acb09e50120f313e5492d57991726c253df1543b88b1cd25332f434d65fb0860be29232688314ab509a1169cdd1c833db6197fdef02dc9640d8b05edcb50724c36d2d64b480aeeb45bc307aee226e4e898a6c3a482cd23a3c219807e057d64b37eea079f18bc0f5e83c4516ff847ddebf7fc171b53122ab7ec1c2acb9816100a57d3fc4bbcb9511caa27abb4781753aa58501352b6dde7837d1913db3fbef70e056b60107c73ddca25b70ecd9433134b8a3bf9d57e090921eac94a05c31f2813f0e7fb953dc79a15ff8c5e7bf4d79a67e64cfffaad4670fd104a578d570c324c3df642a938498a835d299e6aa2fe57551cd9e2a6201af1211a46074631f00a107f29b903ef7d6f40b58f481bcf570075ffca24fa587b18a545b5ff71d4cb487274d10a9b0a6609f19acfbb0216b9c1460d07865a1bbe4304782b943a5c4a6288fe3efeb5c7036f6a1017909c7f4c9ee216bb45f39159fd7acf5e53ca5b86ba05572a8a6075fbd5b47ba7802c2b0482714e63726178acb3855a27cee41001309ddfda0c9117b5b7b67908c6780908080c73f237644f564608655790cff0fb17a439e1534768a44f917a16c68d130b119dfa2498db3d9634f68ebea9c78dafd5f2d2ae24c48d62f8321c2b3fab8262b7016f8a85cdc56b2737fd11d5802665bd57d4f658805cbb51615d7799ae7e30c1761b5c899d62730df8728527e9f6e954ad27316efa0437675c817c3af3757bc4a45ded9d0716046991dc1b3a8ec4bc33f849399d50e018b15bd953683cc3788775f71055d34e346f6baf4b93c9a81e39a895e8b067f6b523f56022eabdaf07bd5eba4df144546ce5bd3614e7145369310a82acd8c1b71b2490676f8b2ebfdec799194c64a88168ee9e3791691fbfe310610474e46a13d4c19e7b78cc2a9c430bad15b664986e78607b98ede316064ffaceb99a87e9523b82de0e7125559079890a96bf5840b0fd2f52a7f5f8dabb1152fead951a04bc2db6e7f4afbf4c8ee7be8dbbbde10ad0dde174da6b0debc8bf0535e2791180729fe8206cd218f752ad4e8f11d8a4cf6a333d82bbb0eec82221912fc9c861662de070e2ab09bcc28d4aef78c622cf8057ec8c91e0c26f7c866fa70e333db54b2cb0bc4f3e826dd15466f5532d36887f78a5b31049db2542e1437a26894cf67a31751063db992791b1e889b96c74c29267e51664adebbd5fc9f65f0a50e74b0f8515702a47d26e11826e69801250ce3f675a01d81cb16aea9a01fead8656ab0de558bd50e7d4e3d0b3077b7f631f5f93034b3403e8233075a091149f7713b0faabdc3e258fb0b078a13a45b8bdf4691dcd9403db6618009347d82615d741d073d52850009a395fe2bec66bec8d8bfcf34f076dbb0b936f858af341a262bfb7c2ff28a163f37e5007d8dd5bb75a4c59c0e2dc9a28582436930ca35e6ff56cd74927cd4190696ae947b04ee761e4d74f108fc6c08d6dd96b47894c133576a0ad06cbfcb719f72676aff5bca32f6d0d9550031ce39089fd733b0365e308f176aef7f7a55f09391d175bc42de14cbd892031cdf65fcc24389f57e560c38b35f8942e292332cba96d31a491f7d8fa46edcddddf58c1cc725bd5f0a0c731774add82d32bc142c974c748e1c1f579c14ab6aea8c0626f82a012b9bd4bfa8705c218de019b312626736f54e6c453591f2c7c767d611e0791d6b2ffa7ce705a7cc5241279b63c3ce2301f426d8d3bb2790953a2e2d4477fa4d35c5796f6a679db60f2a37fe9a7c1df7928332192cda3bba69804840890e2de2fd9564345ee920c76f34299468275ae292826c35de3727f919bbedc94f6fd3317ec12acd8f828dcd1e00b7b74ae68c6ad2a3948f62fe05573175150251f2ff071aa7ec4f392b2ef0a4b00265508b5e9db1341494e498fbb1a6b1e08d547bd200593306f57d211e64b54a5f19ec5fe5ef0025717ddeb1037e340203cc21b0dc1247ebcde92aad8a1c7d36aad11b40de45487c191a5640fa694f9d87a4b314eecdf40a321db0aebfc44684bafc9a3ed29ae0a313a76cd96a2513853fbc90c03718b578b2497997a6fed47a3df98b06d42c60dccb4c3b67bd304cd3e927507933f3a5b640b0519aeb5893262f4acf0c415b4cde28ddbf145e5edf64e1917d3c375b002036e3158d0faec4fe0eb64ab3a71a79f19ef0a5d33efe356e8d09c44abdf66c4a4700677211af0739eecc00e9013721a5e9cb779c964a55ce1c2ef100e34da62578a6004a4c8eba9049da0c6900fc1582e68ee00991bc92f53ebab231f36b39232fbafa84bc743da2d62f129229d962ab80f05c33cd93953ced1ccc5b36bca906f6dc7e49526f1e20ad2831f5b14e24e17c756a329c433af7561e5683621e464cce95e92c5d5c566d2c45f0ccb7d73b29d8a4ff85ac9e4d32d7170c834858b3073025e9ae18fe9e5ce3c1253c367c41a167aaf60caa1715a64088af30ea04ba307099345aa6fb775ecd1792dff41857d26a08459a9afe9cbde96e071b0d7be505e966113f6890948fa305eafaeab00858cb4e12b2fd50239ea356c832f109a74a42fc888fe75382fe9777279acda31678541133adc98598517997f29ce2a2dd3246f24f9b2720d66e9b3c02b0476451ffedd34f473d99230d93e2720c610c149ad5af4d1bd4b901e200d8ed135bcd460346b862333de9fd786c4b324883ba5eef9f44481144c28c33c8f824e77aeb465fd91db864145a3225e624d910302fdc5dfec5953afed7be95a16f190afbeb9846f711fcb843cc1f7caa93b079a8192e74cc82aa0f9e0e47eb3859d5f41ae1129963809e63d1fb63c38d9bfa3a24ded64b8aa81c87e64d62ececf6a565b708be72f17c0be41cd461973b4e784afa6fb15cedc19ba2c41e9bd136424509cdd4b30769f510f5f69f7e76a57ea1da374e435c04c8e4ccaffd26460cca888bb42e69176f130c02631602b3212169ee11724db972430637c87b45ac70ea53639f8e4b4dbbae34f743ffbb38f79afd9bb6a2be6c07b10bcf132a0d9a57032f1edfe5c904819d964981a9b3a68f1076c29bcb6be8742884ff410fe1ab1f9855b8d079ed177479164aea5251a127796902918705ed12cfe0f8e611951a252cb7633d8d76894b3e8970e10cb84b2aebf33d7114141d497b9f59e61378bf2ac34c9a50b8c85cd2b1bd7b9ea674372674a164ede644e265d9bbb75b6fa7d62e93c6f013f40476c37f7e3521ab8b5ed2a449728814fee5d8645540124f34df5662ac7fcb19f9c029a7e584ff35b81f7264802fd983105cd0cb1871863217d50159a61ae56da9f3a783841af54206055dfa5fc21c7610f4693fd255c2e31b71babf657ec6ebe4663f0207aa2d6182fcd4d174d32b63dfd3eb6fec6f95cf115a05e8b4c5917d30722f41e5dc4b27fbeed35a86d667691dc25e9fd8b0736e8b606627423570f3b878cdeeca2baf81ca83c57b5a6d521ddf55ae8c4dbd764a55ee549ca7d50953ecb045142b2c4f661bbb154d6834aefd6891e3d6b6578799b7302f5aad4566e350fda2effe18a9ffd5201ab9ca66e242818a8b1735c8606b51e36b7fea11d4b50f89d42c47104f62a1edf03097dfef8fa00dde988ee0ffe03a0417d752b5781c436f1816d82738dae1af1fadfb53a588b02e7a1ba6be0ae2d0a2d3ffbcf120a2c54f70ca0e46c1870687f1a9237d9a4ae853cb7faeb8f33f9376bc151bc22c8ac215e2ee44b44109ca2681e7680fd7da1cc46862b9c2d293082afe1e006b27ed034dbd5ac95d2c01aaca9b7a85484dec3bfae3e6c6687bfafccf7a8ed14334986ee958458da42bb87319e3eaee842b42b844ede5e3440776fdcfa00583961f42e8b1fa905684f7cb83c6e4445fc5eae0670a37ae3e020ba2f8540f94a1c301f8bf96f517e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855fe9dc0af8a61b22c1f9ee6a5f3622bfdcb84b2eeb470db9012f581930687c8fb2672f7b57ac9dd10294632cc607802c6b39bda17d15c95c48d7c4ff198db8d26732c08b53d215942c06a92166f5d7e853c1192277730850ccd9bc345ff13a9a2b369d2e0c3de5507d36fae62b5032ed286f562afd7cfb145279c739e2900c60482e45122bba59b6a269b782afc98be19172660fe5f1e629aef5f2208625334fca3275213ad98a8d9b0156e0910657ee1b5247717a4fff856739de7b75da66ec459ce2e52f3e7928fe03e6d9d5d6a588cea8f75650bdbf0cf9832654979ba8eccf7f833d0fb4434d2e39880518f92f210b77870f582a94bc661890d4a3760c6d5c607c469a6c97fba8acd5c6ae065a30f41a80d59cf0dabf5bc540efd2de29e35df710833bae5fa4b0db7686e27cb8aea54e2db0bbdcbe91c7d967e2781229f5690149fc3acbe9862c906430f3e328a5d1d959a122c0365075d19f213923cbbffe045d87286935bcf022dcbe2cf3401f2203abbb492b544ec7d2fccbff6d31abbd2d786d533b058ef1f9b549d4b2af98d784b36c612a40565f9d286a2541b7f6af471fb5ecaf78d4f81211aa83ac1b25a2e3b7116fbe41c8063cfed798263fb186a7b38b2c060bead0abef74cb35ffd2a3bfbddf73ba0e1d2934a3fedfd8bdb4619f7bf815667eae5547da38dec73e4559a9305897e68fc14cc246743a66d2809195c0475376b92f93ded6847820a662f48484cf501fb0fcf817568887e9b743603a8e6546f28b123864e5cbf7943c91bde83bbc45d07cfa93bf0cb81b3f407228d2d1a17a920f97ee0bc9ecbb00105e526b71572b2ce61cefefa5cf7dc9cf4f91f9b2ec9efcb362b383fc2fd2d89fe3554436074113c7dd885012b259163cabcf1bbb7c4a411f853d813f655bc3445125dabc34c99a4ff8c061ad0bb82e086790290f383e6d7772b044fd77f68324c61874b6b0259e99e340b43176b4a0e7ac3065d90863eedf12cf8ef8853a27034792f17429362c9b721d8d6e3046cc2d9b93c4b0a57049ffcc6a45d2a182382a20297acfc6a831765ebf9d83962736c7c0abb5f2040b01d50b7f0e9587c702dd45644ac4e6950224fc7c29255a887e95d5e6bca7ec2197707add4a4a717d13cc8af75571954b836fc3f7620449c2d0f6f75798a3eb9090be88250320f02ce7716b83178c7b3791d572e046a8ae5940372e3a018932e9daa03f1a25e0426b24d8ff617963c1cdc5f7316c947ce7c5dff16b560c03d6928886d6e19bbac9b2423895feebbcc72eb9cd64d58c997dcbff37ea1ad4ac8dc8e4793267ba3c5d8e71eedea9b9ee8e3f3ea212e803bf63513f71f319d148abdef72a8a60daed6397152828d4902176f5d3c725d4434315f41c9a4619becf222fce5c68d2387f19e991c03ba6ee31e0264c0a24cfc05eb271693442189f57946ac03a503093cf6236a332d85b2080d716d9281da273d1e2f73537e25f923f53d363084e7f900c41db1f6550fd9aa3f150cb44f28af5e9655f4b5797a7b34119a6770a19bfcb76732860cbee7210a0ea4c4b32b860ac4554b7b9b0b7ba68771715c6028d866138c21e589b7d529320dd802fbdfba095fe1c78b65aba050301f089ad3cc53f92726227e9167a47429976bcb9b1b437130555d424957ff59abd137b0951403f5dbdb975f01d70c6e47dce7b2b39118035d521df9bbc5850ec7690fb534ae6e78d17445f654396d323ced4093c3143693f6f43500e1ce06b81517fa000b92e1646c01c8ca10393339fa6f26be1b73fd0753fcf067eae24b4dc9070b456164de3d9261db647616db037f6ae3c376d5a46a16fa9bdc5e25733e5106e2e9a05410d8b869871e23952bacd3b360903bec7fbe4802deac4e25e2b090a7bc0c82937907ace29934aa74653f8483be0f968b0064e9d0cb3f4073fdf4350796520d1dd6095688d7229eafeaab254d2362ed5451dbb8719640b8e208fe56d8280e01b0aecbf33b7cc82f05dc0f0ec8acbeb66e2e498e87265e6021ab323385a99eba37e921d3b52e982e377f349827877643b909301d1b1eb1d518c179be22dff2f08ed713dd01627cde593975d1eff3259c8b367f8254accd38f47ca109c66228406f43e3e9627cc2eb0108e6c6c19db6509a990d0e917ea902a76aaa8e8a3bfaadb8f61eca106bb69c3e93dcece05995b7d4f9c15218f84799a887a5f6569a086b47b09d249aac73d404f33df0eca3806feebf254e149955dc7f0d9667c4aed793a064ad8ca495228a45b9b3c6c27383923bcab8d736cd23310d53e0af9cb9fea31930284074a2af2f7f3646020a10aaddd33595f8b3f44d3169d1f78d8e9b1494f8b301c0cef778690bd195c277dcd5e57f3605b7e3b21602d4726750b812feaf9fce08d1c6a67e5676c30e879b4cc51b2a8aa3b8e070fb09954d70cc8b877d3f558ba58938e6ae2df0532144dc073d7214abb179e68a7d4626f536411788522e70f089d2d5f45b326960995c4d7fd0ea2557fd1937d2fa2a0c437f8e2f8bf9242b001fd1d37b828dccdf0afe33c7a63149cd04b742965d50539e922551d32734ecd472d1c743383161cc7b5e437541c364e29be28858ec8bc5d6c05505988b55497e5b6ac3cf4daace263549fd6903ac78da4d5cd9417ca134b6f732b47ffc33dfe5c7770919ae57949984fb2dd9409d831c9cd6c9df2b34bb96dbd31f3f61a6726a64c2a496c83665e2a4842bc81bbf6a7a0a7ac73c83fb9c88e6a2c0ccb58fe1c9e6824fb4d4097035451ed1aee1b763560a3c450b0f14e86c4a15370bf95301e849289f28211c6fec639189cfe801a26d6ea25c26c0e24b42da249848c158ea8f9984dcb14977cf9c4610487ca5d0526f1800ef47aa6d8b43211ddd75310ee5235ddc6f1722e6227bce819b53c277a39620231dfed13da99f9172e34f65559fb9122c92353b787655f68ad6f972730f3a6e59dfc42918eb54264dc1052340901525b3443792e98a7d9b43e1c4b9a22d90948b6da840b5af8cdc6a38dc1b757f8380ab0cb4128bf727eb90f49359e37ddea9cfe770c1c9c0e106e77333726fed3156c3ddc46d93970b75d3eab55d778e20bd098108883509e4284e1bc52c5bbfea1764f2e8ec5f02bce71853327a5a59330756862d61875a71d4a361df30b9af2806cd8c5aac2da07c0a5e55fe4981d1a7a6aa1ccfaccdd89ee2b7b234dc78fe8d14772a0fd8b0719a66dcf2806f1c08bc1ef1979b5172436f4d66b1ea8689e045c24044a753aebdca137b1b64b3ade82db0638e9f4c0211b844800ac6f9eca84f3e26308d43c2b8b33d9c9115feb60ac982c1893c105a7e17c4fac6f1f808fc2a933e6e4be7a28dc903945ee00f0606d90c73bbe4fde3230a6fa07aaab2d71ac6cf51464a5a1466cefde97fc1425cee76c2c91cceb1c2a8519458a759173a3490e17678ede2c35f372082e7eff1a2bf3f737298514d9580a8b6d1dc85c687b46c7f81700c586e3eb28fc492e81fb11ec319e8993c156bef9511f01eab48a29786d822d55acb9c698bf144f420cd0cb22705d7779c17efa219757c35587d3a490019e279e3211ae778e4ec3fdae13d4e1dc9a677e615542730aa66473b52002366f1605083b5d2455dc7836bbb6dedc7049dfe794bb915b5235550cd1bd2718dec0f7f3e609ef63c2819e5b24d2559b5aea68ee8a7457a472180ae5a94f326c5a81b19125940545c2f5e01f6e99d9c701809280e045ebde3264fa7e3a52f11cd77a24b0b1b590d9a7cb81e43f24b5c8da61c059632bde464f4a95d338c85046ccaae443f21aa8a68b0e4884e3d32c5affd18b604c30174877d4c1309c9676e9ae8df2124ef1dc961fbc2ac783d005c62eca6254cbad9182fefd8e7a8e47dba9a59f79861498df2c179e897f1c78ddd37bb32ae6379b3f89a74d78f5078599db975027c0c0f0d1a6a83c386184f2a696a9bebacd466c90c91f9e4662415f4b425f92c10ffa20afb70d1ddf3fbdf6446815d84c063f0b163248c3fbe72b63fbcc344692853ac3937597f3eb310aa8b11ad7a044f2094930896e6112b8c3249da6660c1513b645cfbc815594901fd48bd3f73556c1197d45f2ffb7d4d8d935e4a697020de34e5af9d52562ed31d9093bad7a9503d688c132215997538809f8bdd6e51615cf33b02bb55449308e5fc4fbffb4babbe291df8912d4b1e3e964035f027522d357f12613124e41f28bf2fe7040f5a0aacfd3f482eca4d2a6858689da4992632af6c7c4658bff03b5d19f599189d0b1bc4aca1d08801466d0c11ff27f23ead4d778799933fb84adc3a5131d6419df62278c4e057a7c4890d4c98e17eacc7354d34cefa84df7b384f64f9ee7ef0b242ed0e4f1d1f88fddc380f6dfbe523316b95615fdad408299e9038fad3e9d651134e588f3790c722b8743099bdca570bc2b09b2d773cc1ab7beb2da3acd48610b6ddc36bc643f33a24df956cdcb50e52ea476e3c63eb8f2798e3841f5d4fd0362d06417d094823a7f4f376cf877b920a3ad3670e2171d03739105e0a5eb3a047064584c22749a629b0d594e54103a73b2e06e010b295b59b3fcce6e888ff0157773b4c2a9c2fde8026326a7d96595f5e3ee0c9574c0f37ab88d5cbc1740297ac16b057c5616ffb8130c3d524d0d936580066cf6ecb147625c5cd162d183da5eb4fa23047501341d9c06cf82c1d685e9cd693f156ba0ee5c8782851ee4cde7799f3bc9afe737b7a5fec4b0bd526d8dc5d0eea5faf9b68949e88c5de80b4ded7c46a9e137a03fa0c89c364cac9ce752a19eb6f75336e35a080ee9ca54938d262eb879b2505c7e43b04bbae13d6515eb46394c3f9e60984e1b551d118c9408cb0712b01a79a8c37d3627a0d7319c0e9ef1ebfc36a92006eac02fe3c7069d5a77002d58507bc517d3ff0dcfaa21e892ff9b8ca65e013f37671fb1ad3872ecd8cedf452612588a1195723da83fc8cd9b18a31bb6f2a5a486d5ccdab8ed1a62ecc150db40a36684c1c847599a1b0018ada10bb4842ac98a059bef7ae05f6e14ed4a675f8a9243539f54e04b7ca8c499057442fc1a5edf2b2a622fbbda9437e74fb4cf19bcb942cbe8335ab2a6c66709b3e8da9fff618d78ce6432c6a15ff1514d2b3ebcc970fcc1cca5f2fb0db9a2938b07c1c6bf756db5a2a07831bae46f0cc8daeae436f0105f1048d533ea800b1760f9904e10df64194fcbf68a5179ac298fb9545a58531448af5f65199d3473267d30f8e452ccc05458a7c83df862a512eb21e71c5cd0a361e91da3b33e0d264c2df7ebf1e4a5ffddc7b256423f86a864dcdc234e8806a0c49fdde85f958010c1230fd02d9f34590aaedb398e90760fdb44508e8e36b6f1557a32ef304c2ffbc88674d9d9985d756693db05ebbc2ff2b7ccadf0d4765600e956ac881db5e756c035c94ca3a600fd614f5a4271272959b41e7fd86ef1294215ad3a0475cf26b19966366b15e15a727a226e33a90916f0261626026fbfe100ed7a6262f4213d09d1b7ca9944bad6f8bf21d3c7f03ff6c93d469159aba788964f60f75c11a16a9f55a401eb23e448746dd214135565851c556afc803aa80c4a338338d38dc3baec303297b40688321d2be68cff9f28fe017dd5f6b315a3e30d7ee297257cb3d6d82795f98d6252355f864314c5b5d288b23d9b762c58ba9438eed9a0ac2546dfb58cd583892034e06eb0251a8407ba5c56920bdf5283ac2cdb1c109b67d7e18edbec5eb26bdae695bf8bb86c0d958bb1279589ff4b3ae619e2604b4dfd038d19b226c4c8ca7f8c37b392997de1a273a72ba45719e4f4e435ff09e7765faf6e37c879a082bfa06dce425ecc60c5411c940fcc1d9d9b29e2b3b4eec73797769740bcdb3043b87fa3f77f4fac165245107e2ec33c2c46e6746cb27aa1b049866ea1e7dac247e425a18066d927f0bd5278eacaa56c5f08a5feff86b0b25d863a122b0f2f757caf8b47c5206235bfc1969ce33080e64a1ea77f74792f2b719751a7b10ed5dfe59806b8764592579dd2f914329d69bf64c8b720514b2bc29a47c107e82a61c85445009f6026dd02830b6a2abce4bb931c7ba9c15595191a0fd25cc741efeb3ccf88bb8081ecb463ce75800353a249b792884232b6694cb299550f9f2c6c4ec8533131683dd3ba09ea7d4322fa1d990f882a1e60abb85d523db10d30a148aa3961c151f507fda4a3363d11e6d8a12e34148b9895c11d3b8df976ec0e6fca2d4caeb3e2a2c9bf324b7c0184d0dc87a2800fb68b967ab41cb9c7b00ebeed438759d4d9e180d1ae0ce9c0ffbbeabcd9ff6ca6fc3f4d2162f1a6ab45c868a21b0c47cc2fe7d57940586aaa8d972e62e27389dc0b919f1dd2e054321200b83cc3abc61fea72a3ec72ce063acc2506d7811e78199a3e9d9e45fb806efe923af971319c137a32e0a89ca2fc8e5e792a1a6bbefd70b0b0f29ac7b70f7d7d550fc3fc49762c7ac50bf8190d871ea86177725f87441d94a07cd208a715677a140108a0b373c471d493f18f6625120e11f99a1b4cacb4588f73aac87fbfd1f35ce4a8b54fc81f364db8e2293cbc0174c5e3c3f3184ae9322b447c41ce6fdc4036660584b5f63406cdc14a3e91def9a640afc9d0bf96919738df3bd7463eae6fd1a21ffd0ea7a4045bbff70caeb33e4154b7c7c3acdd73849f8a7693088afc0ac08befcf72da944f85cc0867f893092f2c22e603be4e29363cc7cdb337510c284a7046755e1dc1822e7998ad4963d662c6cd9f02b6dd17c7c2e7603299a572fdfc01a1e9e895083087caa7568fb922a1c271d976f9af8c1583b6113ad1f56e4b4b7206f05cf1929c55601755779ad4d7d4d8f3984cd90ba387abd4c9b5c4f2ee4b0723c894e12578ddae807a8f7bbdd53a8d8350c4ae64cf07536e95d9712f77d0fcd04ca232a435e81d75874de659ebd2ab792cceee39937823fd270b3a11dd5db10e88e41ffc2de8fa5b25e14a5e2f833a5dc01ec3feff92b5aa4b2f410d4f312ddb7ceee2c0c25048aee5aa2bd91d780bc3e5fdbe248937418ef0e8da358c038098f2ed41f1335c59d1781d94777dcf62375f0f0af5c47e38f00eefb6f5392a1edd44d9c917db3377b64a049eb9e87ba7ffb3c38b720c10a16b06bbf04ace1ce190ffb9f33f66e60144b8afcd1dc88af34990058bdaf9454c01bccc08ac468e1c2a3b6877049772b58ccd32325b803a0fc4aa247cc1430578a006854dba9cd534d9824f8c6c7c6b0094219cf7062eaf622d17b760a83278e574a98966732d90a3f596c4991972aec3e2973faf811c9393eed6362a169fceafcc16e97ffed77af44f7c129697c643db199e0ae73dc40433ab32cf707442d51636091ee35c1d4f808dffacc50ff3da2b96f1ab5ac66462c71a0fae5634abd907f852007eb1fcb57c8df728eea3efcff91c0baccc11e9ebe8e5a0063179ab98a550a760a40f48befbe9b573c90d5aeabec9a70c49e3b141c268d675970e9d2513f9d8553ac4f6d5e810a2a0313d20f326b1d922886e63591be56ddfbbc8b429a6bca30ef28e806e0e35bdb157fc342e3ee213dd501229415c941b6ed505cf190f9ce48297ae36db92ee64bfea3e2c313d6ebd25260054a1b595943fd45e50f079d049722fbd8ae6fc8000b8887f80b4f9ef0eee9a124fbba86655acb6db05a1f966a89ad6c247dcf8a6c528efe75efaae2857797e8bd4f982a763ead53097ddee73e772921f4b464362ead71aeb1a61fca7ea4ad5e462f694069337640e268b6ce39897f9ebe47441859b83b434b5f3a963eaee9ff871a3e678c1214ca69618a3d5646f1bdab4b81ad8db96559869b1f94e57aa36229e9f337510eaa7a42a485adebd8ca9b6c5233aa17ea172f71458e43e219b182195919969732b44bc10c16452ed63262e5f00aaa6db99445c2fa8ded2536444c1e9ab35ca9aee8bdde710966235b02d7d080154e2efb5aacef14575946b5cd6392b9bbdd49d7d883b9ab2566cb075f5fe88b36fca39ca7f8f4a4fbaac57589b4e8e9e76443b59661d1b47e5b4a8d16c897633cfef60f234d1a31d3787500464b43544efe20b8489d20e0fbdaa91e1d03fc2961426d702d6c780cbcfbac888847c5f14dafec0af5d58c42075c400f864f4cf4c857c2c9a76a89db40fc263394b59c86263b9d4b7bdaaa8dc42b401f60c5d9490cf7554e43f003e76bf5f32ceecb3bafedb6fbe880a3d4433fe1cc83de5cd00fd3c629349f098d8009f6aeed4e0163770fd1515fa3d0f699c44af5f84cd61b0946db38f03d46ddeea2de40ca6dc651841778a2f662e6f593e7aed1760af60c1ac54bf4bf4aff9b241d5780c8c32d99505d9cd6907c05f9761db0319a7d2907d3a7432450ae4286d80256d64735806a808704a3fa5557ffe86ddfb3661a866521d347ed332483aa41094e083f1fa73331105dcbca9657eeeb2fbe071c58127fd0073fbb622a576a5a0ab3ab3650632e1749fc0b056324688aef08f6737900aa64c46388e4149a2d4653a78a5d83aecae9a50e01cd82a472ccf36b3500fc872b9d7c81f4b314424fd363003e30887ff89327f934bd355d21ea0495ef4d0efacdd3e232a2d5ef5efd4a4117f02927165ced25ca6c2d0e75b98ddab786d5e0834ebbc1fa1f37d619c23f59c48b037df82933a31f254fce7f2cd2e0e9752dd4686756e3363a263d58e7a3fa47df9c6672e578b63d73b85c91dcdeb9335863a03dc5d0055e08e3eabf95d344cf589e25f79ebb1f080f791a927f0552621f0db4a4bf489a08fc44188b074ba2b9d974df71aeb18df5a4f0c085a01d51cd2b39bbd964afed3e8f5cf7446d6f3459f2bb73d4416469f26642838180d10a2033d374f6815aa7e933dd14773e12b902ea70c5eb80dd21f66441de9091fec666d5d516f074d112adc0e4db7ddf7b654ed40025ab127e7f8641de550f49313b6b769c51f3fffdda8c5d1bbac17ea20bdf58f22333cbdfa04c03c19410f0bdfd54ab361c86cf2c3734065bee41e686f3980de804af33fa4335f4e0bc9c6ad96ccf82b63b28d1c89d03895f3d026f20358624a15508bbef9ec028b49135160c39a846e47ce95368c36c97be64422edec04599244ba94e9678f6ab7c46caded949e12f137066816c54b4d7f2b5080e24b2ca00c9fcc8557f48a4904c00f0b599e2b764f11739bc3ac9cc3d3698699f5f368f4d05682b81959cc06e307c4bda1dbbb9d106fc8c026c5d36e788035bbd8111cbae11d23b95d76ecb50376c21a0c6aa4549718b92ca04cbd410ce892f0733634cb934d4ea2d157894c60f69e684acc330d260c1b104f4bae3a54f8cecf2b31536b129259fc6f96321fafa7f69cdcc17b2f0ff51a9f78cfd4b46ce99a4318e1ba927c1fbc951df75022a5f7993615de400888a848df99c2fb2cdacf5f5c9de08b8360218d5ab01c8169318272914e22b6d1f079758bf37de1823202189c3e3bee120660b4267445b43a43beb1536e6382f6793173097be7c991d8c87d684f7812b0d25ef8ae0aab9c916a0392e0a11dddd93374501d803f54c031768b41d45ce0dd7e1e4ef498761b6975fbea47daddd190e4af49baadbfa32ba0f9dc9bdbf7e9274d976b060c679e4729c68f86296b064730df0a4e1cf88c4783c2136f3e0675053419e2e0486bf6656f9f222da3c92674af25f4f7c598c15ec42cb8ad8815f770b09e78268a19107239c12fec8463142c9741801353908406e320e9e665c31a566a2147ff32e10ef2ffd57e250238a8dce96a75349406d2464e249cf2279be560be81f44af0c7f207794cb708cd841d77db7e25d731582ca56edad663eca67ae1b1996ce0e03e83c15c283b08665a00450cabb1126bcac82fd63fe76a54176aab1c772bfd487f9ae8be276c201c5b42512c1ab19702618073d15f61a441b98b5a85581f885c467b0bccb39489fb40c966b400ec303e78ee4317cd08c55fd3fcb0912229a5ee18b578e43e36740f97e0d7f113760493488d857d10a30a8d08a2bea867d5fe09d7e3ea0965a7ee0b819c368a32cf542ef8f08debcb9f4e1d5e4232726c717209a2222cf9375769d26cb02d4b36f0240582c0f0f86bdcb4b01cf4c543c3fc10ee0e1114ff3f2fc301374d2f6599b6a095596163b90259b5bc8dcbf065c9508fcc9dc1f7c18df61ddaf1ce5fef3d7ed7b31bfc6c3243527ea69b8f773939fea3ddb4d713884d0134824803ad8dbe2bdc45bd087acae2f5d00b6f1dc6cb1acc987fcd22623cce69239490fce1bdf80f4a4da8b7b42ea10e7c5ea775500106ea17d46cf4877d06dfe984f348f7ad5da6b138e21f7adbfe6aca47e3a1e3e4b520db4ae7f7ee344dd79810f2a245ae2a1ff23a8d639313942a169cae20c4f9a154e825da8cc549bec0db6a7ebcdae82cd3849f09e0f4471f552cef6f05f9c764e6f251782c632c1fdc0d2fd2e0fa13a922aa325ce8496f22cedb1b0a3b4b29a22cdd778ab5781a4aae8f2644bad34853b34dde992adda77aad6992164981efb264cff59311da963cab1edafcba41b02dc3e6cb22c028f762eb2ca21d717b3c904f06387712cb7863baba676a6ea82e2d827304410b0893b167febc3878e64d79c53c422e30ca40121a9c800912a3023efa8e99bc53958bd263830701d371b26d8d770552806ce0642493185746d560be53619dc7e0311462aba24e739e08556d5459feb512ac23bfa1b32dc399dbb4f5e27413e9b5588fabef21db3470c4eea61ae4825e7c87a712366b2c1971f05cfa5170b47c6149d437d8a08abadf1c107548d0a1483ac151853dc6f26808a6bd2ac4e7f679453a52cc92271c6b52179165d0a64af39534b67cf58fe4acf08fcc7e5c4cb9f7c23fb4e2a9e7713f8a70f8d2a5e36fc1dd2c757208635244732f5ab5ac1d76f04103e4f7a5d5b1f33b2ce6d8749c2d06d6766ca28ee101aaeae3f93163aa9b4353b3650dc7bd35030aa0ec06afce08503e92946846157e4abdb5993b256e27330e15494cd90204f622a6b5f3ba1e79e52127a61ce73c0a39b70f454a7fd21471f900ca166e2fc97bce99d0b9f1400fb185c61f1ca53c6d4ea8beda17483539bfe8b353d0a9c3c6e0a73999e48015984a158095a8f8a7f9cc7dd53872eb5ca85269854eafa28b227518245cedf9778cda31bdb84c29226457e316268ee62cde4e10047ff6506da2b4421b80a80545213a1edb54675c2b07e0f954e88ae14bec368843c985c55ea785abf3181f950db6c9885996b30b79abf3a1a767551a505f280cd7e5820b640d7a6152aec04faf46e1eff1fb82880740b14ced3ff196e10cf5c73729d36eb3e13e92835fa944c2ee0a715d1ead439c03f34701b11283391796847245f0290b4da908abdfd6e40ef46d9775a0e229050aba53006b263b30bb2f3afbc776c7513c1fbec1b13de6342c83c900c6276177f81853478dc97a46a83ffbcf610782dfc4162a150f002133151a31975419310eddc6bb0831712e38266621f449de9626fa4a1bc9da9a5e345d1c35e683ddaac1aa6b55fde649904f6a70ce09ca5681eab14e3b515a38c61d77ecb77b62d3645a09f1da1d951ca6f891eb9dda774ce4db560c1f266d00e7543ee1471f01bb8643884ebdc6bb1c84cc6d68b6f292d38cbeccf8253f30a2635a067e8ebac3fd5e784c8dc9cb6d417cea0195f16f045b1c6954760165348d392a3fb4c6bee9e8aa4251f38f7df246904ff722c6970128b389e7895c8b74a5725b27eeb798518845bfeef62647125c460b981dc8961c91ad0ac6adbbf94052940607c24cb9111d244547d51dae227f72560341c08f091ba9ce4deb309e313a2906dbc516b6e7e6075b5e0d6c9d98a3e20d8452e0d5fb3571b8ff0b83ce7cec6fe9450eb1d170b8046ec752cc6f22b1105ea2383fd64e49be2eca39b502e2ba604cecdace7e59edbb04e0e49b646e9adc32018a10409e57bb6f62252bc0b11e9bfae23bb0199326bca1fed776a5179ca0a75c760a3a856846bb4bedc13c1c92b7d7124c287c3f07fbcaeb6a6597f49b188046bd5fbd6f0e0ce83612ab694cf10d72df46478f131ccb4d84d3240f15c6b5c243a510d4255b9a3aac8b282a9a2ae1173bb69ebf20541cca1d68d7a26889044bbee423c7d16b5c2ccd73e6410d0cbd918929132ada8613f2b72ae23bf4177dbf4c608ac5ed5017b5adc43644320f708f3b0c30a93980aa87aa8f6aeeae1cb53a03edf6ab0974515a609eae774b39bd248319a56e88d8be93d044737f9b9d65fb4d4b003b28fe4f83d85f11351563f034cc122243a955d0c2ae66924ceb79f764845ce77d3af9471ea7248a12f4d3b3511fc47fa1815a097ba33c7c6b8c4371017b7a60be89e2b18572554a065941e656f9eabb4d268d5ea00b5ed1551fa3e91dfff1c92ef29cb9de34441fca72514a3186e0fbf3006c62c50389dbcf0cde58859f776ade839620265d9e23d2385916d1c63d9a4693335017f50d5d61ac6a133f3401de8bf4eddf7c529c8dd7261af0940399c91e36be9cb80fdc52461e8df5fbb86487337d8ba747fa754e278e45619bf34e1bbd4b6da406ec7bf3b29d176803f6007c72140af5a061a28adb284842dea8746277e4dd765f28e9dcea06cdbd195ad9e931068f83f957576d3bf8bc0864a4891349c36d979c8a8b324d77a15919b009fd17262737b53c40d0e7b87a9885a150c9779237df255548231dbb220f572f542ef20b71e4dfb65a0be3ab64489c52384136325fdccfdee237550202e1208c8faa8f93cb037ac6fb7eff559bbbdc9af2beabc4ec43f9b679655a83305abf0b496c81cc5b1b2f4d716b83605aa4febcbec6267149e1de2bd3dea5d1f38aac00d3824d7ae5ffdf9e6874457748a1659dc2e47bc937ecc8ef872765ef8d800e89812ea740913b23a3f97dca371201e40adbeabc6984c2de020472a85e46f95ddd6ce2070db88170323e5c7191dc7d7df7e443c297eb4554f0540524afa38298354b1e0c818810272c17ef6cdd45fc4ff4787f7614d0f6aa3294ce4ed361116fc8f42065f0b3121e6ef0e997b158e2316446ed430f394f8f0ed58172872b3dd056a9ab15bb762d354d2c405b17fa96cb603702753be5fd8e5e2b018f8d3f59b4e12db6c8a5e3a7570e1d1c992eb396a18b59f6e66e2c7f87f09fe049af3cab0a79b620c8372f930a5490ed54c02f1f34d30837af0b79fee775047089e5ca524d3d6f524fc1762335486325f40faf9957424c741ae23b30d5077b4c725281016fefdf3618bec2c5158dd12809ec0ecf08b38672d19f2b9b6c9f1dc6ba80b4847826db4b49b0d605aace5af38475e1007154e9def73274a5e794506b00f1ef73c52c0f7191a08e7e9373fc74e79ac0e6fb793e59e6db7457dc7303792c2cfa202096a2f28fb70f55e95de87c772a2824b473fe3420bdce9c09b2b0584af0bf30e5968f62320414f21eac44c6f75dc371226c6cb337c82fc37e5dc13d7dddf7c6d2e3e28a9c4235d3bbe74d46274cec46b3a6657e3b9b378381f74bc01e4443b4c3ea4610a062baa8a9fbd5723ed9c69553e2b191cad537343bb923c3d008794551bc6c7a6a41b63161906fc4e91a40444f99abd21e2623dc189d4e62d7527506bd4ab798ae9fd103d28ffac464ca255f1bdcff7dcbbc46a1bc2fc7ba017378443fc31f69488fbdb0077d12d45731dbcd9ad74aacc8b86955cd31f87be9188ac9a90280d3b493dd15db967318985b83da5d4cc878a83593876f25476dc18311f9ba62ac9aad02ba2880df3269ddcb472bca4407c3b97c21ff1938e273695df72baefd45c1948175e9a38e77c35175b9bea6f65538492882be0693c1adbdc5005dc5394ca3c7ef31a39db1087172f5cc3ff0e69398782677af2ac77aef9bf59ed241a9a481c611f84db3d35a8e4fe09fc11362060dc2a8ba2e0e153597433e294b2a7a3871a5c2ea47bd68ed13fbc934d45b0a931a68737e117f7656723f8d3f8e266b7e10ab47303fb7f40b837ebe6b37116c047ca1821b5d01570dec58a5041b486dd009b983e2444bc1a8790d5cd16537f39421fb8321a5ff61f581a931a219c6b0b5442eefaf29e2b3ffda6bf584c5f8689ed32c3dab249421fc2226e6e336d7eae19719d504610c430be48058352459332911559370b3ff7099c94c8d48324573b5afa65906f83dfb6747eb79ebe364e050096476f85b18cfbb2d8d1dd981be2e3cedc8517a39e10958e512cbd6c89a13ce4fb3ff225f1a51a4191239124adb8d53f125a709660357d5da46e74c3898358e0f9374c1213efafa7b36956f993b7f9a38e7ee7266ff7d0ccdc37e3fcaec1d22cbb1177e2c8cac226ed19c1a3fdbaa119c7332b7c20e52801d5ac25321d37d0f9a769635f96850a5c2a414c371baf3bcace87b3b0c7cb755d67959463c52a247d8a9651e1a6d55014975df4f9464bae2f61868b1674f626952f835cb5556bc8c64134a0ac05be9d6e0c645fe37cd8663c76708869d827a581ca90f1fb0eea73b2c8738e8b3b8a453407a83d85b83627cb1c4fc9bab119cd6c771db3bfe38dc2bc725d9080d3dd6cf2a38e5a979887efaa2ab9a3f4ca7f0142f9c6a8aef8c1281d7ea22f10e839b41d3cf7333b838ad25e785a6a7f886c29cc9285d2ca32af85e757b33c9970faf778fd0fa1cce2749cd564c97bf4c09e47ebc65f01fc40344a98964a6a42fcfc47d83014e6d95c2c4e2c87e892baa922c0930858bd00b98f108cccd9a0f8455b8df308121a04acf8ee7a876f885e5b075570ad14e6cfd97aa0657aaab56f9daf84b6dd3c0b54cb6645718e26d09c2fd2708c3b7240df493a20fceae0bbeac1940a5bb090ac548bb6fed10fdf224738d652cecb8fa8344492ec33a2a8828eb17b509f0a3f8e3a8be5360a8404cfe363c0bf1f90610db3fe4e1acdc4920600ee4ab945b8981d86216635238af02b0859d91bc60c429229121ee96c41b55d0a0209586d17dcf89e6b74a17e1c878cdab7ab76f89556297c9f847288b0f726836ccb7ecef0221cce18a105e8651611dfbee6c396784da81f5eed5cad48f5ab8e661bf4caa69bae3661d73d317e005a58271173613454fc4072f1e22285ff0513ede33b28ba2d3d89ae7d5cec104e179ef1a55d440837666b9cac575afc00193528ebba69339e88a3d38cff3bc1e18147ef8ae0b7a1294b0de3e2fbb1f08c4cf648f61df89b2a65ddb96abbb6bac7f2f8fb70c8de26e88df1575272317e286c1fa35f9a873dde7990b85cf9bf79f58defc91f335b44a823216847c6bec55de0234a09faa9abb367bbcc0ab9c9ec03ac536f657765097eed920c570bced438279e80a4289c10b9dab2b5438ed89cc4427c915c8a20cad7dc234de8199d38e8d380f1e516c2007a337d6e81f06fab6f3dd78f6f7f7115aa4a434d2683563c2d6b5f3623e5eeb2bbf41134fcd02f4ffebf3a6afe4eea01372a5f101df99f59b4d91a226728292d00a70a0c512e0cc8e380469a017e8fea15d11a3a72cc5ab9ee59a01e65c91965ed0cea677f95e58b936e094b7e6eb2d7be5e8ba138d78df3ba542f8559f1fc60e2b9ed32b994881c52c255fb4e8a586b855c10dc43c38d250c428fa0838a170c7cb6411604e07be4ce6f32ac6aea7fef072d72a110d8d79e77b55661c8802ba5045990d116b6b3294fd9a866245c909e25a462d10dac30494da261cec11859e470bf54c793ceb7b220ee76f68b20516b51121125deb1e8aa0a89fbc43fc572993a66b3376bb0e0d10b4397e11b45c0b6bd52c66c1731ee19b95041c3a3467f50775f3b6201063d2e7fe0c0a60bd1b650beafb3b8e6c34a2413919471c2fa1ee178c377fff527d426cf88d03dbd2eea68be30f1c04544eea19da37158ca6a2eb180942a7fa4e1e21212094ce9a7d03be311afee91681803226e9772ee3c17c015ca5941aa59c89f48295e98443c06fc018fcb3aa51b6ab4ba21ae911aa2a7d7eea807e4014b023f5414282ea52e9198bf8751be22b002d85b09ebe586c9f40bfb3b8a57c2e36dc1c4a7267e8af65e627b3103ea3c19f639ce73bdfd4058801f42a5e82d6107e7e9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855155cc9dc2b54b92cd2c82f3fdd213c35993939233a209233b41251bb7ef4b1e47180112c67465950ce6b00151381e882f017fe49a21b5c73ab1acade71b0156b8ec55924a7a681fa60cf58503fd66d0e3e66094fed48712f0a49631c3f4e4546e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555d72bbfbec4eea8501ab8187bb42b4d5d5ba9d213fa9eb1db9d9b84a8c41bd81c5009c24a80ff7a379c3edb036b2e08f606f4fcf91fef70ea90c29cdeedc3829536efc5f1e8ed9ab9c87898c5a79794f51c0e316f4c0be36a2d2dff0c2c48405ed3207044286c094095e7930c9db6b7ceda5aec8680cca37ea31af614f5d9f2e0851fdf6e10fefa5937b66b1dda5677c6ac2d7b6e6c5191e4bd1aaa23bef1d1e32b71cb354cab7b995f0e05efc525720d4d620d8b66d1191c744579730d007ba732187217221554aa91a8574306f4473b3383ce8e5b6aa7690b8459fda63ebbb78dc36639fb08f8da11dcd379f1f073984700d478fbf6c99cb83a8fd5efb66f2a0445d98c380233ee6d273e05bab3a4f7b914bb2c2cd3f32cba2b2c456b0bb477f2d3c02d183521f104cc248240e8396d1d6438d84531a8e66c92aa9da0c7ec0442887086d077ad138d96787ff77c50fde4d7e787c2f69d619fad84909cd7d1d4769f82e66c1bd27160854e3681271dca1abfc4d667ccb435fec0029d8af32e1567671f06c07a2e9436d8147b86298098ab632c0f45d35bdba16ffb9ec7df20cbf87fa7c0207cdad4fc712e6147c88f5d7f00237ba5ca8d8e90b5f861ed74fbb2814c80b888a871fcb85f8d491a44903eff8e3b818327f7230a6d7026d1b2b61bfbbca386c5565516c954ed7da7a4075b16ab2a6f97a684f1c7d37ea3765658a15ff8d4360a1e22782c359ccfedf16242ba9739461217e154086c7c2d55f38314c98ea2d198f97f8746938cf21727046b39cc322e96cb37d0298c435187cd4b78ec8069585de0ec87a52734fc5161cc6fe2b7ca7f1cf37bc62d80d4b642f13c4c02c0cc89342ebadf26f5c6733db4ba999d712f44d2e25c9af1ea8ba26a9e9845f6afea11ccbe0e4c877b0215a18c598fffa421b638a559cee1783600fb38f2470654842056fe9e437610a52486fffe8908240bddcb159052316cce0f7c73f29656ae25043d2767038a0d37db78ea7601af4fb62eac211d7526d8d88d8790f7224ef88e29313a73f74573140be4a5156f4de9a5443b4297123db1d7e075b6b651c62e5895450067523c92cfa6ba81cf39b6c98cd0f558e2a2bb765a0fb7e1ef96517c3ddcf82ba92f1b5e8c99824ed9e1d6b1a21194bf8e55eae29d6d90a4737be05eea449c63c2d402daa49c0e7bc34e07473ba5df960ed9699a70cce2089b01837dcbaffa87d078f79ad43a656eb3fe5f39f28970126648fb38b254433567e2cb97e88e40eb5aa2ff0e3d39553dca45865f83a7ea62e070cf676b8b04e67ab4c487881bd3e84811b68b6ce85c0987980829601eeb88abad61aff78928e358b746d890d7cbf3280db9c302db022c64b61b559f4889ab826788f8be89b11d74e7110b0a1c0f4bad85d0c55eb4b81827bff49d56334eeebbb4e7d3d7e282a7742c412d22e4816fae5dd893f054ef2f53417bb22a7c57a124a841dcc41097b633e07332372f31f3466364f5fab88944c67eb5ca17160194eaa9ee70a02d4a9d472e38eddf2266a9cfc28b67e731b3fe0eb20f0dee364f8f01a49be6e4772007702d4c1980399b45c0624a2978d9abf6d48db70f199e46707bc749f5d14159872672155430b1d0453066903c78efdac7c4aa2277b7519a69dabe9f30d09674b4369f784e130ca349300a52a03a958321092b7577688c7e3f79366e4bccf5215aa3584b5050a4635261dc55411db890805a7f0130d97c8022d8c5abca7cf48917912c7aee0bc1512f241efc76e976f82d41913e09f108b106b1cec14fc9a442d980b6d6a466fa0a5f8c59183676bdb55b4f0ecf98344c8b0801878aa25139b9b7bea8288826d53608dfb219323fe2abc75c1a081ceba6e3a06325b1a070d8cb1454daf68dea8e17e0419ca182b066419dbcbc828880400ab4a6c1647b860ab2eeee70fa1df901764f48b7caa9163529ceaa0680b651342bdcc883066f03c1459a0934ec5645782122c24dbde8f1ca32057b8c2a5dc905bd6d43146f1ea69f89e56a5095014d3f320f58319e09b5460051eee1806bfccd57d49252ff62d8c89f7a5d3d880796871efd2a503bd5da9739ec292fff2aec268b16e3a0dcdeba6a2b5e881fd2382c5d1d7de050687e856770c052fba00bcb5c7795941f8d55fef928f07b8cbc298e6900073380992a5658e1c1aa9ff5992ca376f2bb370c95cd5df33683c4999d6ad953e8769a25565398145bf163579c85db9a038824447b1dee57dbb0c733ecac13474aa800eb91ec6eb96591529af2ae190f6d2261105c1aa684d72da80f9ac88f9735903d020f83fb4ef079a6270500b1d463d1f6883434343d3f4dfdd6ceffe374d8906b5fd03f5c01edbae291bfa4ce93b19ae47d8a2fd5753afbdd4cd01280ef8ec86330c1f412cb12b70781788f26b11e06c3061536c73e982e2916e451f8355beab207436f9d525d203930269b633f98b442536527664e9b1d2f66407d26942a2cc149190f12795f0db55f061200b89d2f96c7eb2169189f40da7a5e9b88412ff84081d86fe0db148aae70816350f39ac9fe6f577d4dd042be9fb7e863f3ccce06eb187330113d18a6ee10e386387a07c24cdbbaf7dd71a343ef649b721049cc4feee8ea39e327190ce1c634198e35227ee9c394c739779716f98db2bb8452dcf0ae71d80d991803d18f8b769378f8d4d53bdbb88f0fcbc351db1eae35fb394a9564f0c44055e2c3739130bbae8c643b7606bf92f5ef3feb8f40d788cd36d38cb30250997dd04769d1fba27022a0d489f0eec834753a3144a31766a9f9cc42609594ebbfe03890d5e21d79bdebcb85f794fb5df2cc68c764bfe0a543a04b19cd952f2be7041773da6c86de1fdc1aa91a75f503459170d6cda924fe7d236a59dbc38ddd7b98f295c42ffda38041ac5b316eacc12f86721b1aeef663a531e3bbf29736a34fdbc03344ec16ec31a285e490bce5618cc5a6431f8c7c73fe5c8d48523970e3f7186788eea3ed8032e55438c1f14e65851ac366c838fa59c700989f6da09ffcb750d890511ea6fef33166785204b4e83428b57b5c591acdd4762db19fb5d58fa1a20070189f6c65bb4a59c4532562c890c67c3c1f2387b426573d452b4ac49ed75ae91d077462d45ba3bde6ba0a0f7185b05e0e3df09dda405f76256179f0a20c0d0898996e48715689d71f32f4cbba40b6fd69c294b4c9a94d373bc96ee58a198c03168ede5b902528b14f47239339cc4e204f83f9360c52613da60e19dbc647c691d466812bec042f280dad64ae2e479946251529b943d1524bb92dddb0d6701d38f87b15b1d9f110a03bca9ac3111be2231bcb1f39c0d8594ee9c9d4763b806779702ea2b70912c41788f32be02ce051451006b27715ccc3d1d910390e040c6152894becaf04d8619f814e48e525ac5e36da9c0e3084e67d28c3e9f15ba9f29b8b64162c9d5af9034419b21bc849d700f8ac0c7629bc40b25ec5e98a64b5480da49fb611b273d61fa11231b93303c8cc70c0b327317c8a277a93254069eb53ffb137cbeb772448b77d744bac79e935a38ec56d32077f19de6ff43cdff80ee1ab290bb1c4dcd21620116a8c4b6f8c3e54f47f149aadce777bdcef8f56f6e088e157734c183af70380d31215ac97a4af324d9ce802488887879f3bc2935913da12e20b328eb00cc6e0b10aa2fabba4ea15a90cbf701bf3ff2a4c71a8a8f2886163db62be5492c9342689ae71fd0e6c82781c0188c972d8f2341d432ff42f722fd02c9d3e6c4fbadbfcc6823951b4fe5fa9ec24239a614d8871f51bcf540dba9663d21ae74a5252ecea0c527cdb42d4ff0b131d7c086ed098b5b3bbbc3f7bb9d10372876e300210786d134098b4b79f2fa52c8604902e843d5100e5d58b54fa1ec34fe3f020187a0237bc2ce7dc8b747d04ed25f4158401250ddd85092bf78e9c632c1f54c9426807b6aeacbc6d75cc7e50a4a2dea251a0eb85a6b9b1cee5c6e4f3f1275def2363e686dbe8810cdc77daeb7abca23769762f68dee9bcbff97d9f08bb9a35d1a911c932f95c87739289429cb5f855b1434c2e0088e38d93fd80da224f27712defba07fce13a0c163110ac99e43ebd99d63f263dfe1dbde72b2c1ca0d0d7aea400c423f83a1741b4dc9136d76c8dd1665fac4b186d97bd5ee625ce5e1b2099a1dc67e2529dbb4105964a2326b4e17ad4c03f0ae9d59c8af5445ade3286135edad15406550f1bc88fb1b68789804de34150f9e01481ca40acae9189acaa5e513be3a59b8355a11c11c01362c4d5ffcb3df84ec1e6e16c7e0c5471e6e5c857cc00ae5441269a8a9d4a7fad90c1179a27eb3b1f10d4ffabb872f0a3aa58cf4a45a76542a211c6d73cbde325a493ec5f2c21d097d724f23a331395946b9e57c47a8b41b30f135fad638284334049091aa30639447321197dff9d1f8fee4c61f551c2adbe64c692b4b07f7196a444e51c8c41fd30208e74f995b9d9d28f2cf8dfd49824235293cf73cb61c90357938ef3a912390002dbddbe7bb9eb01fffe5b5515f83f860edbd97419690def11a8e2f57cf36d1ce4044c6bc5cc150034f65c998ba72a8e870da7339021f9c7e97f0a87157cd79594b53214c6720a6a6d275237b6ef467b232e93b40f3eba147de9115acfd88a484b4e9d2aaab9603e41690944923822b1c0e5701ba07406fb7c0311be5952f54e2f6732a46aa15a0c4e3367483f4cd7ad4a740817502500eaf3b354400c54f51bbd00ea096cf1918597f5ef9fdb565899428e90b60b58e2d2e4e9263e1fa13a962dfd61b8045a4ce8abc15dd9c3f5ade529e9f953fc08f6406d118d297a18772ef98e3e83d4833549819364009802239449d6528967351d66e692b9cbe729bf1fdbf0046348d340826ea1ed997ceba98e591143f9476c857a8cc754ee6ccdeaa7df5b07a5165a458a7fb33a77773f84f7703366b49d44c84e4c531d834fbb2c6a73b79c4690eb0538c18118f035225d5432aa214a568b13df77eb8bd47531f42096329216d9639f863e12be5f5a311fdd49908601bd03070aa888284f1db86a1b9535f0173fa98d43d64cf2f16c0e1ea25cc30618693a4f574fe2ba0039922eac31cac76f0724c6ef83ec68bbe0d13720621be897cdbbd8b6a4877f8364600548e51e58bef08478d5b2ac0ceee91dfd65084e6f7b3552a1ace3815237d126634310c38181db5bcc9e93207df22e59dad8c7fd4c8deb5ae2b30b8b04f861b98fc89f9f98fb4aca935ff08ecc70bc5137e3e90d98fa2642f103bd73416366840c40bd6d8ae3bc4cbd1b4aec16f8dfe9133028054d0023e131ba3bef93d828e36e7e13091704a741f79927631a6b659003c2e8dc923982627a4f3849f25a75a16d6adee22500644a02bbe6dc31bc29380f5a223ea904c614f14ef8c99f1e04839e384b0a097b8639a772a5ced7c02a13a8d0de74f32a54faa310402725add3657366e7dd948c705e6e964461c9f35cf810020ca121e68ea6637fb059871d29ba752dcefb6bfc44e6224c28705d88c19c5e31894ac600fda773980d5f6de102bf041cf616e722630e48553306fbf20f762a2cbc1a5b915cf2f89123264af5dd79dda87f670a095a750ea158e83e59c5f3e41af9f16122867e1b3693d6ed34c50a9ef4d83ac0500f4fb5d5eec5056b19ce62cc3352c6cc4994f55e67cca3520318abbd3807f6e0bf3c20f7f76022dc5b9a415c827935de0313049adc7b38ff7aaa834ceb1c9d10ac40671df8b7f891a44ce7803b65fcf9f45be1571bf973c9f0a7bdf6098ed3274c879d2ad361299e7187a04090a369f8a9af113a0a4ce93781e6a47ab7268e4836344a367687b38bc90c621d9318793f665ee0c2e94b5ef0181afad00eb642e76f7e6f3c2c5b30be07ece8a709a7cd3bd447734ae099467d617358a6201f673c70917cd1f02539cb4d8bb590f2148d5817481134148c4ad2f704254f7caebab6c02ec4ae2a81b53a44c631b2fc2d3f4fb75fdbd6a22056dfedb4375f224b8e26eab06b067617d62949820c6feca9a2920a37430513403fd9a570fff54f796385411f25cd8a2d99a0f8a41bd6f0d8a617419c8a812b0d3df908f4af818ecfc960c3de67280a04809caca13f253fbff1599280aa88583c4383e82b9f3dcdaae9547d520c48186e80d26a189be73e25ff4909d32f04506dae8a8a3c3c036f41cfbf788ec6db0059df06203d04cfb14303b74b15dc9063203a48743526bfe03c4bfbca0973d613e9afa63a12eec6c97db665b870ba4b0bb3fda8885681c15943eece32651bde43e5b03da37b24a66efca5e3825c6b9c350d367dc951584a7cdbe28f0037b6d6f7abd6854f1e87876cff34c8e04bcc1c946ac6321d9a2f1f4d050d0f477abd6fe3d8fead7aa61089408767a022a5121977035455db92c997b9b4c6caf30f371c1bcd1146bad3e65b2dca3f60510ab4821dc9e9fed07864c095a9ecdc500104f51981bd2a1ae676e4a1360dd586e75390c2dd591f105ee2f36cc1eef7d46178cf62b590a7dcb6dd783798d8319ceb476a8b48962cf23959125cbd98518d0916fe683000bc580fb19994b557dcae950536984809fb28d4da90d89334c246857076991419bddfa3d0c4b4e8bb163b4be109a1d0e99455249e950c6c3897fa8539ed98fdba3d1d6e25ae58cab69430f98052d7d71bc59459c8df3508b76bb539896ad1b5506732fca223d10f7222c7898b034adfcc2ebd697e9d7b054b8fdb507f388989b22849f835c504789a0e48c832ccdf3864d8ab7740b3f4251b0389cc5225539c0d653d98f9ffa2f608c7cba7b8f8467bc3a6d70109380ecd5a70f7cdf88caae94253fcfa7a470591ff7d82356e326ed91072f19e7dd55e811ecaf7bc1b78ebc0aaa5c488ead9c3a5123765186173129998812e0da58d7b55017424dec3be223e2f5ac41cacde4e46153927bcabd44b2bcc6cbf571713d0250b9c598909d0ce1072158015564cb69b6ac452d55c87627c394698e9d74a0c037770df536d5d02bcee7e16c7937e3c669338f6ae50ed49c30cfa4dbe82c9c85e9f729fb64dcff8ce644769be9fec2cb13e75c00242d7552e1c39a5e993c9e8144ae6c21b8ac5be2e6c49b0c93c77a2ffb47daee1ab5d6f528c1e3c5fcb93a87387ecf234ff4f61bbcde5fa8cf350dc75e766524758896a5ebecd6d3036e14c7308ce16a3d2cef2d6cbc5a4152f785b0ddb1c55d7f1421d2e51597d41daed33bb8a909e81c9a3d3ec61e0862abcb4e08aaa40f4ca87199783783eee530cf776056642f03ea4b2e95a4f7e0c5e11fa78b62dbac0c4082f7afd10ecc8fbfd1edc3d378b45efc07ff19ea85d2d2ba37fc86fdd5d8bd555e2faeb8bef2dac7bb3415b5dc07c167038e89d0fd74ffccb31cd6019192f06696c1ae8c249a67a8cb5812069d3af83ac6c77d1b8596f8d297e093d257fa860b74f9dd513d599449d836c9db28c1f6314f9d2b9792e3af854c3678dbc896f3765af2ceaa176bacd721e17e66dd8bc9a2fe4775b1b8a041fcabe66b2debcd5b4086dda38f09e6f3ded3cfc87eb42387df51d97a2304414d809a5ee08eaad798c7664af1ddafcc20d8d54f62ba5db91b41e9f9265eb273fa5e3a6667cca42566f6dceed048bdfc72ee62c3eb08b6907a0754d0e10cab1e14a989fb17da3cc3916dc277922f5e420817975e1a83a3849298c803e1ddbef684a0612739a58e152884d843c146e56bf48174abac805ec3ea18eaf32cf06c2ce22c759cb83cedc35fd4f40fefdb988b12171492fe5a55a014dd2aea3216dad001826277a170ef385fe43d581f8206a6de093e006c1467614f325eee8f5664533de38ec110af5a9813f5d27ab2d7eaaa4285242247c0eb89d886a099b25190f2a86cb9deee33fb792423b0f6a838e3aa86ab1eec9eba6a78fe94e14aa723e10ab90cc76e26f0396713c0b059666dfdf8d3885bc0812386020df32b04bbafc85ac5583fb5a5d0a8f27eb3f0f79164da0a7d9dbfb105525160b7c01dedf00671396e171f50b12c4a12badf8d1176a715a1f37bda2c334b1e23b18c8341e07d2a556e552fa3b1eb5f22f120408daeb11d3ecde9f94a81278f6f3848a4c2c81f87074877f36ef6dc3a5ca155fb0487b417bb4bf9fba48eb0e2638297ff6c3cf3b0c509086f63545be11fde0ad26219474578e0401b5dc763ab3af568e882c8cae9150b7bbf5c35d44700a45ffc330adf8fd5600e5eeac309afc95f0610410d4b64e29f2a09eb55474bebc873d48aa76eb2c435686a66b2c1fe57366ab1c7902a24422c2efab6b1b31f7e419e81e730a3f87fbb63a5c49fab133ee2ee4d4cdc87a265c9124e45484b52a004364b47948630480f619394aec35d4d6b2d820f58602f6d2dd6e86960d73c44099682d58ca41bfc238d2c6c4f54d2226e6fa00b64d8e27db573083663e84c65c8630e077d55e0a696d6094891bea1c91ff96814d9e766d8d53c87765ae448dd441a82a944d5e5d83c24fe2310891f2a4c3113cf71b3542cfb71d3b0ccb0127542dda24507866a290bfb929b49b9f177ce1dda703b26b79c4b4bf5f8399f3305530a874387554e04b6ca28a7713b746d7632cce5abe90ec527a79004c35123dd361c103b308528dbebc7d32b608bbf516fd81e1d4b26599176e0b2db0ab207aeecc9a43b76139137fcbc224798d9137b8170b461ac228d6af6a6d692ba4babb2aae5f63f2c6e18e084326a136bf4a091f6caf83d2c3896145180bcc556957b8e1d1709e5d16afa1b9d03a7dbd7d1e4b03112a63e14799810fb338e9da129921f57838030ec58ea65631990ba3e9eaf28c105c6ffcea3ac9736c4e9b83b861273c5f2aa21ad8fbfdb7ff0bc510ef673425da37db5100de44e86d190a607673cc2e8f4ba49cb2627c4f6c4265f6dc3b5c9c02f01b15e9792d2a1663fb5c632f364a87d12a4e3ace2954e68127dda1720d050f3f81b770f099a858f0f3fbd8fca4b0f547fe34219283e0fa8a5603964dc58b1f5f24a36721a6a3d69ff8f8dfea1a91f6808584f8cb9422acf32a05ddbb1caf32060bbd04226a670f91c25866257bae6525f8fc653b997f34a2f3e24c58b84d12ae3fd4375efec003525e96187b727f45972ac8d22e62861bead539a9ec51a216f25cf1046cad4b2ee899209d360199abeca57c5a0823447ca1847cc717216f165868830a6d149b3f95c764170d84e43cf3062108d13f86c55ef218fb440da7d64bb4874454511b72aaa91d63932564ae27eaf86a6bc4cdb296ac30e4b868f965f8837223670c4a68573306979dfd00083d8a36cff02ce1149424543a7d355eecea06327fde6049359e77a13920b454ada3d0070321cb2b05427b3ec907ebd0538327edf1aeeb58bfb671ac8761d9a630eef240ca3f0eab89b950254dd843b9b9ce821ef66670ecba21306eaceec38a6adbe6591970e046879b84b3a5c0431c74915e408d5daba9728e62bae9aeb0db8440c8b29875df555adf635c7387a856a0464a2129c42ae471c2ea0f0fb132c9ae209015e52cac7a53cdd4fc40bd16c6c4d986995d48739f4613f7bec0414a90ed1a6bbe461b9667a9c14eb95b7b77e6f3d4e1c7f39cd3d4b971ae1c9e5c1a740a628b6924168b0d3f944a8c9d5c49efb5c9abfea41bfb7c88cee717c3237aadf7982aa1569f1e5b8494f04888c0e4def07b47b98e43d188b24021264d56d2c6536ddba39c95e36da62bc144a1d65f33177df6e03112ae979d59fe0cd52dd14765b59704314adb6c9fc12ee1fcce5442bc4075fe873f90c172567ad2320865559125071f9154cd46dd0dd904061f907806bef065bf0d8de12f9e92595679f8dde9dbc97b082e272e65e3d912a4dffeddf2847502b09b978b297ff2105e430de0ed66a049c6f2add6d736d1debd08091abf3db4e842e497feea34d165e923cfde2fcbe8cc24a061c7a4ba2f07bb0a2ff571e54ae560d0cd2e9e1503eddb3ea473917e446a67f6b9ded218375159bde50e6048dc21d02a901f705c5d43ff0166b047607e86ee27282e76784065e90fbb2b2ca0461f15eaa63e61d95dd18f660dc24da744843639a758c62e29df5d34f21cfb527cdddbda6c5ba2e62b2d3f32c0664e6362d504dd911988b3c2293e04457c4de4500dc46726c55387cd9de58265bdc61754ac48b0562cceb125c1a5d3670fa5a47fcc4776f4c6d55bd54e6b396206e3f716e022a16d5c51b454346a6f94b78d09dbe8b59262821b866dd1e0da9d6fd26ff6a3c6b6058242d9d4e89400024bc30de66e39c537f7fecdebed2b48c867d43074879e782f98ed67c5c30859d000d9b95a0cec9c1850ca74a9a9197cb6c68a025f5d172f142742ee97b3c83ea80cc89a53cdf3c09c8c341cb57ab37031f10ec4795f469749a3d124e57d465aff77ad5a2c4aed0839c73822006264daec877d674d97626c65ca83ec9610546d1a9a4cd7e5fcc82c2d8bfd7769a003824b4626574d5aae9f9c5321f6bef62585b886c0c256544ad8b71fc9babbb72150cbe83b7ccb1f100c3cdef92e262912453bef6c7d3a3b16460b133d82d9665326546751f4e3387b90c59b33e8e1f24b6ecc72d1c378230ecb34a529d04a9894b4e9edc348b2056616a0995f5f1ebcba9be3a7f581fc2ceea511af3e83718028513a5fa76d8bb2b861b37fe69953ade6113a7dd793025e8db08b61bfc2a99b34cf9187a06453cabfcb30db6fdab155224e006b9cc4598db482970d2374dbdc700fb787e55d714f4d358ce877cb18dd3471112f3ff45e81fbecf5c80a2a2bfae0ac5db3f5d9def46a3c73755d394d8bb1386d63b0f9b32db98200e8dff39ecf71d9c889d3884ccd9cc1dc328a3b88b24c6a52c1cd0f9b09e13127c8a7b215bd100bd7f3206ca718a1ff9b5109a7afc546f8979c5c61b0f60a0ab03bf3762f71911ad107d3fa6988212370f523ee526115b4c942f919a3f314bbdc69f7bd0ce0f6e9f7a1e5cbf21f3e904dc7bf84e49a0dd545eda85131dbe74863c72c0481cab2b75462d92f19ff34e3a4f639dceb3d73f1b33286564df95c251b9ce5170bb5d6f4afdd16316dffd427875908d6f5bf24f95a22f8501e95d7222eb28a937af5622274fe055087a47d99591e4482ea48cb4b5c3104f9b1871c890ffbe179ae66ae5e7c80c38ac0fb8f100ebadb9e6c2bff082f86b31e8a21829e40856dd7d89e4f96ba7526a954a987a42a98e8c71fcc46aa7aa3943c368b55bd1b3907851990d490b263892d745e02894f80ea46bc12b10ab932f44abd18d9af0390766e749499543b6eba69a60c6b561fbc21c94190a4578aacb1d13617006dd9c76a66c8636841125ed394572eb8f1852d61e347a3c64c70e2969cb9440b7813bb1e44aeab28e96e3acce7582b3859cc583ba7fa4569ba5c9c3f55bd28217f9fff41f85037476e3b26c910221ecf4871e499efb4c3bd6b4a67e9c1cbe6c6550e4bde6177172e1222fc8e9a4f6027ffc0aef994d9395e8048409136593fb284409a092daba9eea84d5bd62192d2a3dd122a84e4ec5204680d9eadd212a3c85279b67c793cd95aaeda418ae918b90de95c74e837e52dfb13b61a3f8f01e45be721bd1c8d465c410a3b53eaeb382e2de87db4476681862554686badc431aba96d6ef501ed9e7d70de8c3e314597d8c96402b86604fffcbac0f1d01f657e55489c64c048d24cd53ce7604a3c595801c57ae3c415abc18f8cdebe1ae26562250b74790cf1fe65f76d74c3e5cea25ed4f19c7c72e62e8224568bd4356bf36d7f8bc72a73d975d1521bf3c5c03d983ea172f634e7afbdcd5e92c88c36f2e585927802336a25fe7b537b0b4d7a04d1d478a46da1f207e199a51d25307c4854c91f913917cd1837fa522610f249482fbf4d35694e494672480f59d0a2951c159874c0fa3fc47e9f2368897d1c175750cb4d93b81a2c3773e0362355e3935a18cf839c933a09bd742b74f850a38ead416a0c6bbaed2e2de7256913fae0fd522d986140fe8ae0bd32da7a4c6a3b0d9808cebd04a3abdbdc68e0dadc7a1d064691db5c63d4b342e1db56590275e81ffccef24aea34ccced931020eb72c9cf20bdb0f181d73288d69fc03b05839beb4bad089153e649f2d6d40cd4f4885cdeb2c298c21586142d28bfd636612205b2bd70e1e08ba38493c0204e0acf7803ef673b4a02412cf15425c7bd9bc6f07c680b766d6450c5de637cf2f5f91fb1e4e93156bfbb28cb105b1177ebed7178b920de7afc2a4411c4f33cc189533aa7acc3ae7d4dd093b549193f6fd77b91d03d68c7f4405ba4d114b782d1095d83639b9f8a5f99d8ca14c001ec1737c1ca590684f3829365a9541ebb9382fada35192c0d6cb581d0d3bb5c018cc3b52412e6e3b5454c5f7e145e1c631feac294e865609624dca5f3968d84759e92f4bb540671360415e2d8cf04419af9f565444854000122181928ad22927321858d5b3858b5e317236d61c714778b4f43bcf894f56d70bc16351026972051c8a417fc49b45baece162d170ce4f4583b29e47f8155d76d7d861be79ede493ddec0f40bc9ef1dce535386eb3e2b51deea4d7e8fe3dcf0dc31e82663a87defe3ef48b1f6e0d8fc43d2a599d27284cf40bd6d6e4c72415862405a9704ed70411ffee8d44f77137e8a2eab7a7e518bf7e935e8a628452cc64c03eaa36a787d9cfe43afbf6c3112a4b45c47c4f07fd23e5051bc666cb913212c337439ec65249c6952a385f4cc1c9d77b5ba38f7ffba769a3d9f75c67ca0ae50efe36f7369a6e249d84bc72e0c4f6a39315a3b67aab376b235cb7b86727bf6e71a57513cd9f1bf858735fe1f32b52ac26644921fc404bac54188cc96ad66a9d9f4c5dc36641960d26f287d3aac55091348c0dfa3f3b50579f0926ffabe8374e35746fb6ef811e881d0f9c789e76385c07efbd539502b1453cdca510a336424b42fec3e57d2d96704a1b58d483c94fc52152e1c3bba24ff8444bc06d47f3b62fa8d579e83f4ed0827c2da7eb79dc1b0e3872152af05c472866f0bf6d55e1db9a8c2cf69dce48d4ecc58f6809f03f249345f16f68c98cfead4376b697757b7d6c4516f9a80bc7a9849267f4e78b200cbd7d007e1a14b11077db80ff99a2a13dbfa6145a7f549f85631bc9f31898137694c33b43bd9bafb0726353fe97c455a882419841ee511056f3279539b7e72ce6e908aff52db157293868b0af1990931640acfaabaa87b2f9deae7f5a1c9361f293e7604baf92d87f55af8f7429d471de947744eb01790929fd30eca2123e90ca48de1284b9285b47ac65107c91a36395b4f36dc6693d2f86e4ba38a85102a613184d4c85701c6f8cd9b87f04bfe341c3da49376bc0e72a928da0c183c0fc015405cb16319ea134f21ae122724f97a861e50794822b2ad0995fa28f3cd16f0024c6dc588a9adb6d7c052e0ecdac6bbf068da88159fab5358c54a4b8d02dcc3cca4a41c3e62d082d756aa1f17bd5fba1d790a286518a0d613c612d56b609183c32c4408e9ae20237543d0e0f52148833a20afcf8e8f30de63ad32e5d16a4c9fd008d52bf3886ee0aff122c01322f4062a6d041910bdedf8c2bb70030baa582587726244093aa5e9e1f689f52026051b108d35dd8d5c0adbc33d53544dee66d4b5231a38c5b7af99ea01a63e3fec4375c44abfe32df8c83485614b97553951018b87a25b7aac854291220712a972833d985cc157a67042a0e0379cb7f33d8ad70dd7842968505f0ce52fe326c6bfc6690ff5412c7bae045b8f6266abb0070d3a88b30f898331ea31ae12c08aea0b63ae553155119afe007705ad1f52ee34a8b679b5736d651de5c31677a33f8fca3fc790eb5aa744d6290f5e0c9be50b02c58b9da07b819eade13a29fd75aa0d024382613ecd84842201114e6b7f6586dcbd354caf8b34673e508bb62c284e9e915ba91f2a16bf8551369997307c4081b40a5c7f065299ed2cb5c2729f7688070942c44be1e94e4a5a9b57c520eeda95c6a270599321cb8a21895e580fa60a339f81b8ec0d633fe9d98d88dce1f146f7e5ac28bdb33c3ded0c38901d24063efde426ab248553146e4f8cb9edc5b50860cd0715b2e53f2e385d4902927dce3031a47013855ffa3dcaf6733e884237c8f8832d4971969680a4ab7b18b31c84d76136c16347cd1cf153260a74a24cc38c04da1393327dd1452a9578c604bebf15f19c744a4058dd834d5c169bdfb6bdf9b37d90a1e28a24335809f7c52204cc39d0d8785aef1657350ae6e185f8aeb3d1cb821c328d494309f7e6fdccb073aa0a9171e9e0df85bb1158c544e67402c3b96dcbc22d5ca64bd751b986eb3b6b34f0f7aaed012780e6fc349c72f34eb838a0387427278ac62ebef125f6323cebf274f548ec862dc59ef56ed382aab035a42daa8f02425e7447643740f90a465d116bbd51edeea31095b6cf2bfda42386a8d11e176bdc02d1e6929bbd3dad05a412cbd6a7c273d90623ffece96a21133121190d1cb60f64a040b3efa0bba0d6ebcde63cc8729d6de848bb5f62c464d6f00d12f338bc9ba40afff324288b0ddbca4377e5a5614172eff43967bd8f2d9ae856e9f9be499cc02ffd0b3ff15e8a3099a1c0f3f3b68b4e866b7b61572bcc907021253258070682d4c241583bf894cd704ad59e16d8a33562894b8d8489894c914910c88e4d1fbe5de082ed666366b79cd78a42e13a0526392d545be9367643b205b6b89d558a6071816bb39b60738ca2a43b44420135a2ecfba6ec1cafce832ed0f6a90697701a9a56ad30ccfcac79c15232a9995e0b65490fee090063867405a2d858642f1981b6be71909ff65f5109d795c5c75f6fe3aedbe8050bcfe1da97e6f0cbcae0547983b899636d16bff565062887787796998e0fc2ca254b82e9e482ed73538cbaa946a25017b42bdd406bfcbcb0821d1451b4445572b874182e3f490f0d15795a2eeae8818ad26ca171aa11af27d5b8441411b4f7ce0dd99d4149f63d0d755bf5cb13e046e8957cb12421d02514884eb94cf22d22a04358406837425c87514123f93a724126eb233601dc2e2fea156ac6b2767aa35e781c54b454383258c5ceff9004db1ee2b88a3ea597d36f5819dfaa7feaf7f3eb56f6308d9687e5a7ef8523868c1cd46fb0ea60a53ff0d04e03d46096b5624feb77550e9fda9e3138ca00124e1111c643dc96d3ddc35d4ac35db1fcdc261936e7148e95cec7473e9ab8fe463350e2d9dfe71d51f62162a13ca88fad930ce58424f8fe4aa333aa5a7bf925648e21d4004db2ad341cd1196a53d0716dea7a4d70f5428455981c40c25fa72e54436782587a3cef93e686ad7ad4a5a24eee44e67f53ffd678240dcd3ffd538a3cae3fd02cf9c546babc0d184e1571d0dfa0450be1fc41820862096b986ce526f9ffee6c30b20f6f54cb59f3e1dc1b38d14760868272451efde2dd53769294114d585aabf83b470619cbc4270eda66bfb9832b449291e58ee1091f416becf92c7aecb2aafa0db33c1e1c055abdd1eb66f7e51b752a5c7aeab0165907a9f1b2726a53897662fd827e1106c98aa93da2332e173bbe61884852c466531fa80471f5fb3896fb4863a5c66c3d4258e2d8b333ee5eb6b9d278465915dba711efffde79b199232bd4560fd64e34698045f3d3caf833f54074878b75318c5411f9d818f634cc19d13319d74df93f34b7740b7607887e855842868dcb111ee51efe943e781118d3468cbadbce9f27632d0eef0f4a7bfcd86e5bd95847e7236925b585ace6a526040188df1a7a4924f4ebaa42dc416637b6fb22d173290ab59733f48ff907b26c453191115a1e73dde2d58b06c8cf6d06e8098e1971de3c98524a235099ed54f00114fb8e78da82a87c172afca4e2b52bb6d34eb42a440512f82c33074cd2614741d8befa78546e00436dbee9e0f7ddd63a859dc78e6801b1923b43a578c59908c6016dc23a7aa21933607ade2302229573fc91d9afd8bb5f2abedc0aef223a8b046aad9e553c0888c5d493005462cad831bce6058706a48e31621a55b5991a6233cdef5fe221c31c5c68867a71dece150543f835eeef0a22f16a778d947fef8c9a754e0ec837e6d20493f471aa1f9acb716d835debdf118479ae7c68824d100880381e511ec7527d18df2a77bf83cbd64cd9cab26e72d5f5c7f9367026b64bb1e34f70868adc748bd12a7a0f56381225f41c85ad469c234fe1dd3b9ec4a50c94f29da856273e6207287bd5abcc4bac7282653b3b6682d33a5239e64a1ffc53ee7f2beb9d087f0a24871f0a94f0633ce76f4909103fd84ab12e03b2c24e7a4b2e09b7d6173fe0bf04137b40f0e78aa1c62f48b40626ed7853a208e5243654bd69061d4a379b9861f3e73839ad55bdf660bb569f0b81f46cc2c6dfcc9de6dfb43fc21e4193e90f82be54bb4daa6cfb188755bca7c35835f939d8f5f538b952922c91f5c9496f4adda8929c731d6314b0dfa3a5114f8f897b458c5cb557156dcd2de4a95b5ee87c2a1708702588b8b6cc7f3a972b018772d9cba325d24f6bc5ee0cc94beadbea8b6c4ec1db6fef523eec2b579bd3c1b3fb5927a199dbc8540666f7ddd5d18c924b71b8bc8980e3938e638a52b69601414247c81002179f479ca65a4e7958ecf7115d1b0ef65c4b60c32e87356fd0a52c5f4fe6ee1370bfbcbd24e743f4feb67bd777f8aa8a7bc4096492f349030ef3219f34a8de72557457b7aaf808ad27694a5741ba33f1855b976fa2158419f677ef0c6e356bca2b33f65ca3b11e7a96440d00c6fdea407d6c3b1d86ceb09f03e8cc3f65c18345f431ed2ecddebe8a3ddde6605810482e70ef69e136fd95acec25c4c8bf0000014b36213bac0d104db030393fc4c10df0c0bd160f68dc987272d5242dac74b0eb9dda1f32b2f810b6bc4e5be651c2a9c41142be092e71ce178315ed02afd76a4b9a088cfdfc473715925270bea37d242ee0604740afaa9c309aeea0b0ed96e1c75ff7ab6ef7919555a6437571d4e3a1aefdbc681248d652bc5944512cc8b77fcf02310d199a4979b88c98bea17ca0a6500936e3a4b57c32ec18ad6f44e2249ed6faa8d2b9cdd49cef12df3f3aff845b4d89c8e48e02f485ea627e46bee54e6f8c991c5c2f10570ef8cf7aeef04a69757878e8ff14144209e323c41690e662265954fc2db318e3b932431bc806a1d8e89379deb2b8d92442c43ec4df341a70ddab8c4f653a119ccc1e5e0ff04a0dceaaf2bb761754e2554417a1c656124e4ce6ea1055c961b90941bee41105ec6b17b4e85471cd81ec0933d834701033ee03cbcacd607e70e7e031edb77ad8e96c165bbc250502dd32f8170e9b5dfbc3b666c9d47590e5921d7f0b64ad2e39e6bbb33ceb8da79781297e66c96e5ffb2f1e03a76bf7ffb5c95b4b02b6be5ac193eee6254e983abe936b7679779a8b8d404edb85b869a9633fcc0a391b16de97e84f6741d0f6a75601b5c6e60b8f401cf72de19dd8196785c072003711f5e65f2b51bedf62ad0781f7e466966ca7c54c411a8c3bf1f396d9f49a48749758de05375c1f7342407090a975b1ec309107246c7bcb6b9a44109892306a8fa3a8e3c18df3fd3a72e870a09749ff4715d88acd427d9e12d68266eb8d71505dce674d86ca5131a7f57271c1e0e536fa961123d3b5a2ecbb50d28eae5e919dc937d976c2a20b0fc0dbb9f94ee76626dcbb5726fce5ff647c1c9acd17a3ce37d1d1966644935668d960752bbbf35e1936b0a87c876b401638a6299fef5755e3703f30820295a5c8fdd50a42e5b12d89a5ec01b97ab33b8975b23917fed0d711860983242d4f8b71be8310756ca062060d4e6ce5c367469da123daf4a4f057fb6c831faeeb0d09c64d2f715a2ea7517f9cfc2059ab709ee8c4d9b13b0b3025aa7baa0e23d5037b7cf69d7ea578329f8a38576b2245236987bed05a2347d0423cfe26f48bc73f59c3712b366c6a374d22b2e98426d5da91c4b7b2340a6b3449d6bffb289890e001f82f50390a2a78d77111182da32fd5973a92bcc417f3fa66112dfefb84f34b504c7a9b6df14d3035d15fb0431134af001c155df2e97a07b2ddc3ed43b9676a5833ce7c1f7f18fbecc64066215a8b902ba8740edb63a950c073963532fcebdd9dbfe8f3e9dea2b27e030b1903690200ff619b80dc542c07cfb3adebf63297a7b78a685a2e044cb35e2146065f0892c1111bdfc9bd2e109c2d6dbbda6ce333c4e68aaef38654a3c590d623a287f62e37f10ade0191d0d5b8abb1fa1098158cd3f9c2bbd85b493dc07563512c25539bdd14282e2befb978368db6192e55ec74f6059486ee2863cb10e6a227b883b56add308ee9ce1b36ac1e46228528b3b9c455d9f6906920c0ed5071d5bc560550ca3872f3679ae6d025accb126a68d0b7aa1bbf018524a48bacb38c141774423e18360ebebf3002b9523af054bd4fe3c6a33757bfa8528d5b4dbc754994bbae5439d8448a6b7146894393d14df0e920513d3859f1f052830b0a8decbfc0cef1a3ac1f7837f18268477ef66e42aaf467a00c0a09d9f2734b2f7000585ddc552f3c9613e4b150395557309dcc2605d8c83756e8e533dd374115606a431980f88bbb62beffe58783756c9077ca7ecd40bd01e5a8fc2b0538e4257f0c1ec7b30be6f44c90ee19fad402a7ee7d40fc474026e6c4fb79fec10cfc1624fc7922f93f0e2e2ce435f62b0b3ec8c0745b109f59db304f644f385d2e2e7371410631c94b4ba2188ba3f7c23fbfd786609e40b1c530e11f41f32d67553e059b9853cd8d070fcba5ee8281ba2747e57fa2a1e86202286def8c302f425720acda0c9d7d093fb1e22e1c4350b58912c54c957c59203a23142c4c8fcbd68f098bac214cc47f76348375c57f73c97ee080c5c9de493f5aa29c06c39c2243f42302469accab3253262b12def30791c3d04c842eee629aad44e77dc89d3c4de69471a74599642fa07ecf622f702a54af7ae1fc6f3719442c17105f2f195175bfc6cfdf99c36547c47a5545f58b1f332e076be2d77b9fa4426a62c4e6a962fe8e393519bcfcc3e9c106689e08104799c17df02666c9620c04a62ac6d07ea2ea78e2313344d910dd3f54befe893450450d95f9056617e5862782e48ad282a8572ebbe966e0d0375a4a318a8ace0d92be3fd6170cdb0fe0d810f37be5201d153cd0305936bce4e4301535f267810293ef41a7807a0369441de320a3c8e418bed96f7695e27bf50ee35d00dbe148dc7cb141449c80116e392254e09a003cbabbc4bc192c870570ed6de50dd7a5e45b5d5f914d3ac802228d2bcd54dc127f9ccc733544dfe977f50d39dc0f25b721d9ce64c1599c710e3ca572aa12238e78eb73f0f8f3a642ab2ea886e3233889290d11a67c819fddc7ad478cab6b637e5e16b5465aa8d0f0c23a6747b29425b8b13c1d0fed0d3cfe31c14bb7f2bfc0affbcc5b4d84e061c6f716867f5507e7e9e5d845f0531a94757bb08dfea11d6736f32090f5416861118f8e59287726dde7029e4fa57468e04282be0ee4f24e0606df8b2be87816bdae20b019e9613bccc4eab439b54b004c7a51ad0bb79d3ea5465ddcd5cec7cbd9f498a0108febaaabcdadeb1022522e5754874f1f47ba2210330c21f867c3bd43e35488b3e40bda21235dbd10c25fa532db5e524050a8007d1efaaf1f329fcec243d1542fcc10c16b4ffae2a427f129fedf227fc71b311fa2149e7eb39405d522bba96fa83ed08f6b9a06b9a2d20b7b7e35290b1f6c61ec17e564d39f1e526ec19efeec196624b0d568244b64aacd05353cdcfaa2b37bc7b2e9a6040944d433e69f7e93903fc0674eaf13b82758e0f0632123690deb5a9a7acaddda248bf723c7ccd5a333320130d9edcec9f016a43b17088bc5277be9cf36e1000460fa9c4fda64c002d8d17cac2513d004201eecca175688a06e1522d3eda5960e9ad76b6f690ad233e88967965104c9ad79882953b58e1932f1a17909ecf666f2e135101a34713af8ed406cfef3efe53c3fb7c5ab2db218705d9adee92cd59ed49ed113bf2232f8e3eedccab7368d3e594208b1e795407064ab33295626868e5faecbee1dfa0e3c5e718aaba83b8bc11987f1c0471a3e24d762a7db44842781df7f162d9d4c24b3d8defa824d6748d023179de6b30945ffecff09c331d9ad62fe55afb1326334d96715ec130ee507cf5270ac47551333b0903f263d8818cc693db56d827508049b90a370d8e476fa15c0cb0acf22e2a4f3e72d3a5bc83a3a00edccecbd9e071e6b5817339f2733777069e656080fca0f3246d525a1abdabd537818433610286fb8e3c977d0f87287310dde0f0cdb9b9a5e0d29b997e2aaa04d7fd6ee95ec9de028c83848ee5af55199338411fe771c111ff6ed103a22d84a7d70849c4a33c0670e82e6525efd54417a82bdd79f18bf1d5e4e3f3c2b1692c627a912cfb78162524824131c23ffa846ad34627983d5dbdb3de732b9a55f8f1174d65739d67316162d1fa78d14eb25289e389f24f1df49a704b576492b32923b19df0765dc94f383b1c4fba53c11e268c74592bf8bc3c041b97153f0d671db2cf39758b9ef6b3b4ccbba877d2fcc1404973f114c934f6e5639a361cb9631fb02760a6b09b6c9a025a418cfa8d76f79bd4b0fed9c716300fef86e4615b907f04fbe8e177b5f6e60c07a301e2566ef92cabfff90ae8073f089d8964ea56492405c37b2da57c49e4eac73acea7675f299e300a757f9a117ffdb331a2e91febb9380a34aa5404a33552daa9451dbb7b08f25f10b3ba91882af3daa79c1ee5e48ec363bfea360698658c66ba09e24a0f423d8f8d46d220fc8e707495e0c35402295dbb12c62d146f6454b26c8b6b98f96b5117f7d8bf68eb3db54e1f2e16f5128a4fc6e7821b36b4729558deb2f415781a62f4bcc27ca6fb5f04fe065229ea9d9f7d79f6cded81d81793757d9164a6cd38fb9d12bed19a53402ffcd5a6bb114e7f59cdc1523d5ca6c92bec126f75d9df87bfd2f6a90025786518e1424e643703729ecfbb504fe948db2183ddecd5c37a1b44ec74babe2d6898d459784e88b8957ba7857ae6319dfed6635db09c4ef383733e3692d78e49a43e42122d30739fcbbfd1e52dbde68e0cc8c96fc0666a222cbfc5f716de7827253cb29b5890e5d7571eba8853ee4c83d6669cf4f253363538ba588f3bb427a1d2389b0168c424ab6e367ff7e9d938c1e3ddd400ca21028f88045feaf422bb0c83ec93d26520bc9853d5581e7ab0d42b4ff2e65da58859be5e60a77648ce4d0d21a2f367e2f1d6310ae34bd5936223eb8ed580e91a646ff234981ed1182abb30bb7cbfd0ef2e0390abcd6170067ad13ce5771e1d0bdf7bd06ca80840cbddd7fba47e96387da7996bd3d044cdd76eb38772b50629be5d9915a6159c82a37175918fc6b1519ac0b1e1b40362f30d115e1c8e815c3d0f6258a043cbfd4057762a8eedede7d40bbd12d7140877c0c5c0f5027683d4c40bc9697d6ef7ea0f8846eff6f0da550d4d279803940a76ad10281a515f7a4498f9d897b6351ad77e7361dc0145658277c2325f0fd230937f508950d79bbb7438fddd732857109286e4e05db3938d0fc09771cc96c331c2208b4c2d6f79f64695939cfc82039b615810aae8e0d5d24f0af0ff5c93c7b4b4e7ff3f6f5af6197822701c534476b5248af7897b35046666b75702705a015dd62b95f02629e7544746442b1e0e320b8bdff25ae5a516baeb86542657a73fc1d27f7492ac94d6a951859493bf4d1bc669748f5fb78e3afa5d677499bb7b9592ad853565b4d924b80a3db1d2867b046d6a09efb0f3203f2e8fc30b994f1e807f68e823a93c8695357421bafcbdb4b560430105d4cb74494bfbc8fcdd9e1282fddde6baa995b254abae2bed766681fe7cda1f159bbe64e00348f165d3c3298b7feaab929310ef0472cd180c44541d31f9f540d577ce7f4dfd85088fbc3964248a216e3523e5609136be29fb5586e300b1df4cb90494ca8502b359f60e23d6e82883e751962e8b442639f7c15c0cc3b6bee1290cda85b1eda2beb4dd02e2a7055d7b87f0c1b8bf60d84e105a6b049f14ba061ab40c73a8ff7806707febf49e9a38d8718392a2678b6a405684b47acbe230ecd50cd86949ec2e66defde3d0c013449d811cf3fd8432eb58a9226f77a997d3b55eca2d23359e874f3a139d13759cc1df35949effe8afa2b93159a2703b07234a06d8e66afef7037bc755d95f0c099c17817f26173e08405ded4e9dfdfa992262e19070b460fc4447dcdc03da1a14b3b318821086d7516a7ade0f58cc5c46b183d8dc7cbbc9cc6c18532f55461943f021233903c64ce4387657d874c804968e54f2b2723127d6bf081785edf51e001e3ebcead42b92903220b38f145518bdb505c4535b0b91b56abb4cea129554b5f00312e2661189b2ba7f2cb7222d7fe623562bd727a3606750d1b625c75d2c2fc4aea99a1c64757203fc631d06327baf1ff89584b2e56cc82720a4303a15e656143c7b284a71d2a8ed76f40a45e8bae89bc814266d115143d5dcd9c8931d11245adcf8710c109dede8fc3cbdfcae2f1606c50a361d44037c38c0e9bab13ed216b8a2c0f1d4757a468756f8c1c4e85250bcc2264212eaff096e13df3fd765950668275f102bcc3d510643ceb77e562c2b7fd828e78438e9bbd9767d02fc491c73d4b46e1a03642e8d4dfbd71290a3c7291dcc010c41590c1857795d6ac2c9c9a21c3ccbe33299818753de89eb47e600bf1c074d73e2d22bfbbe8950a61397a5c954ae83f1a5ce4c071c3c56289be2c57b688eee4e6ebc3e6e982ee11712a85aeee42efceaad1783c05e80fb09c0ea7494ce165ba659999bfe8a04e2c7947b4dbd9f3f09030f2128f2571da82f6a3e4ca0fab3a8131431e83f7300eef14d13ebc3843aac7581fc6ce69841e001f658d760fad8b242164d3c5e0741b83b4de0e12078ec4084ea568392f8bd02c5076c64489e460f5ad3398ba18d5135944c90cbb0930e4142a4b6f869d0901e37c1850948d365e750d56cc85c95a5c16e0c7c49dca74088fffedbde3c24da4f4ca0aa29ebe76d4bd5d163fcde4536f7e6d8d06008d8e7cac4a676dd8222fdd9bd1f2371314fe086388d63137877a5fbd6702a0530d3d03febe57bf4b6580ab796b9688dae103e5f35f1b24c437cc5d3e5cde286d9e9a103af8a393fe7319f4d4d4e7cd1166099b6bef04eaa5fe65abdc4343fad642c084052b0e470d85de939d33aeae19579a9639ff24e531e8637ec4fbc7fa9edad957bd9c45a4e7df98b791303b2a34aba95b4faa7ed5cad79d6b70f22ca4159b6995dea37b6ba77b97413524468cc40c16271d6b5c839c4ab957ea29b59686f2b41e2e412443bc3a733f1d06aafe7bb14ab891ad5eac796ce7b693036014bc5afd3ef553b80d6ec5be68030ab542d98e9d91b5624186a365a7cfdec6984e137331e2b4c7d9a891b0dd69f78435fd4ae36ffb5b1207da8c2ac9ccf7a7ffe2f1c4c4d5d193491e73ee0df00c94711676cdbc9bb507fe2394060cb39416cef8d1054dc1d15ce4cdd23fad6f5b29dadb2bd8c708afda403b3a2b9731da2da2cf2bcbfddcfa8f0bcaf2f07dacfe2a7d72223c013327a48bf7712c55e0d0beeaae4e6c2557175090baf33e8c0f582e8fd1578d249596d855f0e8f9a5752882685f992b709239c3e76f96ddca4b6d19aa464d1d3cee95965748d1caf640456b7744f439483a888ff1eb5381141fc36120f56d3fb05348196d040206997298f2521d304823e28aac493fa03fbfe8889b1fbc1d738a2fd0489d8590e685f877a2742686365533f35e397859057e64203bc4a63b6d1643c6aa0aea342736a77a1d0a7441f3c13b90a42c5f23a16089d02419dddc19e37346e1b6ab50156794bc5cbd10c703934d1a6bcb6677175522b45020a91245df1a65a1b5c780e2ef904995867748f5d9c20aa68c5cb6699959a9efb047d88ec4b685496f2ffdf881d78669fef97b6e15baba00dacbbe0e1b94ee84e6e93e9b663dd68211c898f030296acb27d2d641a5606c3e2507ebd658ee01afb21cf90770107aebefa457a477740366f7eca8a80a357cd22ead2b791f4a1e4695e9fc47ef99fd3411863524701313dbe1d31473a1be1e35eaeb3fa370f4ea18e271859bdebbe0066110d6cfd56150650c464441fff6394de08b3d09fcf02cd188d8516119e8b63825de9d592c557f34c71219f643b95f98e965e5b27d68039e7959ab6d9d3913e0ea650a9a6b08b20bb7450322a62245dc80897368a3cc4241fd3febb981a2536f60b461064cb9c64d0da510a978ff9d4fee12f42d35a945e50c78fad39954ea3070dbf408a2970f02b24704a9406bf244aea81cbaeab72285c260e278c00ea77542756dc070eb9c135ca5086be7371a113ba29631b6b8a4d86d9390b99e6427a1b612bb3be4f6d3c497dab70a765e68de73e30339c5f7fc12affc13d41d2977fb1720300d0b2f7417f939709805267c3a534819f95f31e12c3f4f31022c3c5fffaca05aee4969dea00d2b4cd153576dcb83e50c77cb17a1331aab46b9385ca7521a4dd0944542698e8626abe97f7d11cb6ea950c1049102e6fd53a12ab36595c9effda6b7991009bd857a2fcd291a8cd9212520c1247fe29044d249eaf96ff9f575b55e55ce041bcb7c26f120c878f28134b6b7de1e658f0ad7ca294993acdb1edb9f0c98ffb90d6a3f2e10904027df498d96519e9aee85eba4ce0962f9d2247f2e1e369edaa5e35479feb9e4ca65303e2cf3984fdb0dce872b493e1c3a1338eb13dad3db9467ea575100298ffa8857cef620cf2e203dc9e3a835e4873f9fd82af5fa0b8ecb6fbb56e2ac34b08cd8768c32b4d03ec06ae1e0221f4c9d7efe784762b8c397048fb459b5168f1c4a0006fc35b084ed23fff55f0ff057f222ad74a21e9f11ae0975103212d90e7356a1a4b18b6c275111e1bf874d319774ed1a0a35d1cb8a37559fb56ba90b6c2a10c32bacf061e22903ccce953450376d1671439c32f250446a1490021d4197844485f0ebcd6f54672d8f29aa83e76ac8ea8df60b6955296d791b35f8f7e21aa1bcc2c654652dd7488a40a5e04b3a388a3fcd7f2e5d49248aa04dc36f14cc64d736d52e768cbd2bae06a9baa5fa87531d85d7812bc8e31a351edc697a60eea7e259fe0ba47e83472520d1f0cb0312f067cd7d73a2b99784f10af95b3692e2c701ad9b2d25344f37e78729717d1924c375005b0542aa74351af71f0f0d32cf0f37517b03d929dddf59dd8b8cf5c00e032e5f75ad87802fd91e80a6fee802e279b97faca13c4374df987a80981115e097edc857086fc2d84e076110e00cf2c93c066b38a07bcebb4af619eae9c10c6dac54878a13cfc09f0815cd118476d05b521dde6d2f6bcde2d6cc6c6b89313762839b25dcd3220fa53c846380ed0678e71babd5b4660fcb8ecbedcdd171f8a2369d836140bf34608a3e77f824e0b84f71446b5b9c67982a252e51e4c8fafc60364141fcc0ee8c83cd90c88d56a2f1906ff8b1b3d6086b7bd01746d7822ece257db8abf35b1106fac802ed82eab3b4fc1482888ea4a0681294cc02478ed659bd19d88abaf52d2f42a4efa28d5e72f3ec14e0039e5d12dcae472f4e68c4338c72e503b98ec67cc4e16f2c6f4e59e8f5d7a51217cbcb7fe9c9237fcf81fb419b2a1cf55ea917636f31709931c7dff018d169ce4b6b1e00fd352a3d13bf5806f143fddd8bc907ed232f0a9e27b1502896d8b240ce1d776049eb4fe7a1ae8318bcbfcd340d1bf8738528047099551ebf55f10892e4a3c2289b3ab4351bdc008230723077466db70f1b497d2be527b1160ad65b8aa1befe829310079c2372158cd7eb054c7979dbfc716432d4b1260f91731bc3a4769bb2d8a33727e168a4ee355af95e6c9f8ff549e259628c47cf0357ed6b39eb0ffce839c84da4bef2a6aefdd058eb34c379e1bb543b4d2298d546a9f552e3cc2c90ae5e47379ec438795b839768d1704e06cb53318e9f58d06e4946a5f750edca93d3eae754ebe61d9c6c44143b1bdeddc14efd713fc33cdee15606b126eaa93530fec85cc34dd307aaac86fca6e4479932d76078fd75bf7f930773f59a2a6fc92e3a924ff53da47091fc34912af990049cbfbd07043d9aad62c6a3e0fe51c63be45387cbf2b83335ab761c4da112a723ae66ec7778b2e31dcc7b2b76f7ab59aeab432317f7707e65d450f5e47915ebe3cc780f0c6a675001e078bdfaa7c392e7607b15d42f4f58eba19908730a5a1e3fa995d0cfa6bf53a22063874d7f8df68a40492b919c649cf1defb3af92359d8bb1210cc34c4b03a15b71650720ed68ef7fc6efd017ad7278acd4e61572627b78d1f92e7e771c45bff259afa52a06e9d744869bbf9453471784fa6c4f833aed26087c4521e2030c6c0597f18265241e0ccfe7dc9c43a04eb002ab85fab39ef4f7ae6398d74ca878210927219dda474a13a2329a9dfb1abd67898a99342329dad062f85dd665bad9d68c96b6f5764e2a724d239f63939a0bb983269af47ab59943135a9513a7e76563bfe603c45904621244ad1561e743f9e3558d4182212bd6e985439f137174bb77bdafe3b50e4190d3839dbd2b7d26f64ef18ff5cc8522f55d9891d0b6e4a5e87b517161580dda4fafd117b60a2a763a65fcb4a7614faa050cb913366362c04f8bfe92d7761df518c45cf6ec16f4750a7ea63a653a39800312cf1faae5f697e8160c68274fe57b8428c6d39907f289e2cb6a53e7c74b266fdb1fd35a3d913fcde37080fea82a33a6948325890aee381b9deda7bbff67fa2a8a520a517a20c84be5fb3264cdd78069e4fcccd24bee06c4b9021e98c62a138422683982d0eb97363e989e40ab853c83f8ef10506cd049a578e31c4fd7db2fe8a7607bc38dd66c48ef3b1c2f2736bb8bc0a86ba9e61085e492b8eaccb22e190ffb1d3796d7a2ab554d86ab1bb95e402096bf8b1d81431ccb1da3c2519a5a5ea3cbd8526c6154734bbc782fe376e528edc9dab6a3f133c0f6fa4b20160cacdeac1ee573b9fb7072b6a686aea0d883528ad52b4c0ea03db271c75a2702956c42bf9728b25464f9c8e842fda93559b8e1f01c048da4d155c04d94e85143f23aeb3e49795eda3c67cea1986bc31ed0fce7cc8fc7c94040c781e19d4c83ba5a28813bfde38627236a818136d3a35c89c09521edde70b1b140b9b07f54f9d49f894ab97cb1d848665251ab820731c54c8e63c0e4f613ba93faf37e332f178237b72ae3b3b0e4c98984c9422639415b5173380784f0941b91908e00b5bd39d2711df30cf7669167005d7ca39cb65e3db9150f9e220c082698e5e319d4813357ee9044a6eb62204ec340e57d72c678d1aa0ee7769aa7bbf5048dd74eefc14eb360f8af1e57c3d32436be39784be0429ff707e5568f18fd3a09a347f8a5cd8ace076f2b6904e0b07caddcfd30fb1054787e5c094ff628d7709f3cbb0d4ad8325cb78c3b2d069f0efe0cd8fdd30a5ed12df2550064622dbda0e4d24df8f659092f3310f95f0bedc118c04af1d00bf1ca3efb547ac1738fad9c3d1828b14a424e7e63b3c99c7cd3866b3f2abe61e7db7dcd1a66774e39f03b250db0340c4c07752bc726f162c7bd350e48ab57583dc4d1124e0867ad8ea51457dd43203ec069bce8562d587ae241234c2d560fe5c3a329a153bbac9097f6fa46965da5e0ab902ec733f7cebd380cf8c0b4d50abd24c2fa4e6739d5de098c215b206515d739c31e09a77d38b3a3c5fbfbe037f067dba6209fa5f7c177d370e354a0f0005bac8c9a9ed1d2f3c47bae0dd0ba70887b6bd543f7435d8ff23d06c192b6a49d3d9cc5f60f1b22668fec34ceddfeced6f11e3c3014f59464805a35e216e0b81c093dca466e04996bbc42d67538598e80d81912aaa95ee955b251fbbf8b5137aac98452cb453ceee7e0e5833f5a4e1d23fad32f3891dde28fcaa9d50c3ff4d6f80a60f5289779558690f3d1977c2ac17cdcd54e83f66e536dd46e66ee6dbc1a4460e03e44b56a85eaa87aaae593ee06999dd647018e22dadf007cd8d6f0d4563c3093534d57fd3849d0fd9a9b6bdf15ba062b4369185f1b31dd67ab6e1727646df9c73e813e07878594f1b234b1b0dfd02eedc393a79405b214a0f1f6d4bfebdd14b622750b72789a7426e4242cd5df57a87d76a7babfbf1402c9b5d24a677ce92eeef01bcaaf5a494982743f7899f11efa4c519cdf1bfb22891e7922ffcfebbe8397058ace205b1ffe96247c7a390149a0805b994200b0a684c52fd5e96f8a453fe3f66d86c292982836330ae652ded8118e6298fb30df09eba27eb67badcbb0bbea3b3aab9c455888a16a214a5f52c5b0ad7fae276702abb9549d963ba1fc92de1bf8a067ee81209e0883b1ea2b81fa9f4641017148cb18321078a3381761062f16675426086d63f4ee288358edad0f644ab13bd43d7119f7a12a8e26efd4e905e2a4a11a34f0f8745b6c70d831161f90f1cdab5ff1a156d046e5cf787e4a920850009abbfe394245ca999e914819344c64964cf469863b5458b9da4bf4180a2ef540a431b175ea29bea1716ebe3c0454c545f50f9119821c60e38bd845638423a9771ed8c2c669a53846ad22a6dbe7af1e07c4bd7ddc1bc44ee816887201c0133a1d85b341906ebb8c6ccf9dec5795d04013d8d7209691f56a28e0cad463bd2e5b21baa14f27c484ebeb9e041e6ecce1ab78e0b925b19bd3427a73cb3901c3dc2d9134d8b39784c3345509e21b18dcaf154e4c26b544496f61a155e295bc8d35fad0e95a4afa0099e580ae5eb4cecfc4a9105411df1919fd8de5af605d07d7a0ef2c3d5f9c5f40f98ce86bc0ac57c293e97f65d40e6b05550e2b7b687e84bbee22c1ea46f598cc004f1a4c82ede8639c37e07c5366ecf0897ecd577bd30741db104cd024275d5446a7544702183ee56d187c74e68bb23b3798241a81f177fe245ca969b641d15e0dad4e46eefab15813906cc5e2f31a329762adb3f268243cfc4829a8f5b2b3809f6485c654580cac3b3c9da631adaf46c0d8e100d746cb8cc972f50e7f5b49bf465caf94d98914556a85bef782096272156effa3ab2451facf10c9ff722c3fa61010e6bfc99a246565ed9eda908bbea34f682a5fc92dc8b30a405c31d7f2d7ac3baa1ad85420e969c495a329dc8cc5045208ec7913c963aa6073f2981853ef6e0231f02b978036a09454e0a80927b91f9ce20db8736b2ace541f43849d7b69f490e1afa85fac14a1768e7aac0147eee6c5a6bfc6b6b3bc62456561db4de496d32beb4eb1c78713138959165258e7052fbdd8458a902e8ea2ec2637d73ed7d22edb081897c9dadf5d6d0f98184049c8287836d24bbd82a34c443ffdeed74b67273f4a1bb05b1c0023e36cd7b14f4908bafad0dc1e42002a75aaf697536f284eec47158df406162fe220f08e2e5b189d00a09f128e8be113bda82035956f59ba682dc309bdb0160e26ebe6999d6175778be0d77170aab3409fa5c357323e51128e3a309b1090573b319fa396c6ff8446d4c9c50bb23302c6bfdd5aca28a1c5dfe913a887ab12f3ceba0c71e540b3f2eb974d89c2dc386a7ef3f68c75730b60da9c2e92b797e034481f55a9125e8e36736a5b93acdbfdff3240af4918aaf82101099ddd59cdd6a3f33e162c46b13287a208e187989d63e971743b2921a2aa5d4d1c80a03ab91bffcec803bc0bf7666fa37025edf35ecec38fa7400fd550d26337f990c832cb2c982afcc317dbe47a83c2dc0394e082be72010d7c7f7ee6108714e0d2b41d1f88d3072213b2e4c4b5f426d71b7d76217ae8d0e32019ca5160a9b14a84d55e347837351bdcae08be17cf3106079a84d1a022a61e0d6b074da7d46f8a66e55c7fc80f0527a3f6dd43a274abc68540a7215dd7eea9a44bde2d5dfcea99437ef32669c79c7e65e0f62958de3fcc8bcb341580f21fc17164e3ea5bb6f77ce38e2b0c52a4645754996541cbf80bf3fe8d847688aaeb08f48e9e0079ea965d7db8f15dce976e6796ad28010f976dcaea4adb2d02a7fac36136cc021e6c59a4cf80f1ed73734f5dffd6b5ee181a2e05a4faf9ddc42afcd049f9ba8899be8ccecfa692a0fcf3d46b35dfc17930167ccfe5ff10622d357f1d2cbd7d97a15406ed4dfb60a8e8f3a2b7eb243ebd01bbc93ebfa8f02f5dd9d0ba11792625abe61d7d2e865ed6dbd9d9f0f983f371deac4831421b79b0c7dc5b5b0244e84835092bb523a1ff1bb2e2afaaf501649604076ad2ec00c832cdfeba9e5378df4b414f55b8d91cf9e07e7efb8034bd992813e064741f0cdf7ff73bab5adee92ba7e870ae00d7b164365eb4d5eda98a19814f49d7da3cc354c1066ad35afe24819d8ff8d38c6d563f75e8a4e5ea907aa11e5c4899accda0c4243a85917afead07857e311d6f939180c674724865b2ab6012b106fa479991966af6622d39e3591c6f6ea3c62d302140b70d5186bfed42fd34bffcd566259caf398167a322f51a9cdd2bfe74d751682d5a90ae7128b63c88fa30191b4cbd1d18904ac2559e29175d26eafd5b8f5fbc9666aee53b3ac6673220140e24c9dcacc2639d871be006d883b2f8f9970a062568b51d9d2b334876f5f54930a7c0d5c262298a6fc18fae06f9df73b8011c07d4c4ff6ec64a6af74a1bbd735769fde41e43c8878670948ce4dfdf241dc94b9dd1e2d6f2b989ed8c581d3db7fa0108339003ced5384146fb1748812f31850a4cc353855d057c0c8196f5d7d736ea8b52353b168ed3b752d291a8df71d7e5a3b33dc3448dffc839c1c6a50e5315281b89473efdd71efe609b16fc73741de603d6b40a49da78c890cee339510faef8ae7dcf2883fa27a91f61c8fb60452af0e923b9ce51d2ade0a767eadfcec0e7af6894fffe18e8632a89d253e4627c8c5738434e41389dacc5cddeae7727b71a59e26e09cbfe8df79f23abdb6d38d4f7dcf21d4d805e82d997f00f92edcfe2867c54dab641cd05a6fb76d0f079463dcfd6882bb4068f29fd75aae5e760c4d09a6f615dc2f3cf39ca91e63ff1d69545a2326327a8e2033cff058d622c084a583c5179892fe5ad503bef7bc2400eeeffb3aa0261002fae9ee3f8b8f820d5997f40b921c72c0e1af84cdb0d5b8493d3d787187ffd1ca6523fa0274d0d981f28afda26f2fe1bdcb4b07275bf015c74a47138d76121834acfe4aed4cab7cb0add824415b0caae289fc8808a7b1869873764b011aa8b1694a4ef924372d4462cdb403c876b451b370261dd8072628515596a5ac3221ca0e9a73589f53b018a7abd7ab9e732a1e7d816241ff8d2ac3bf516e5647030aa5f086385419ccaeb93a02000ab741077987f69f6a56d039e1fde658ba652e7abbf68867604f6a56c91f658369e2a962899f692eebe5ad8364a0bf527bb5f301a72c99944a13536ab0de7da734adbe8fa06b234c510df462d0b7be14120c7dc3e97e3d3917b26194dff12f0d625ef8e2b1b380fc93539e14bf43a6183c690c24f273d58ef3628ad9a874cf840bb790df552296f3cef40e8b3d5b5e4746b5f86d3b3e1c590b399054bc7321656d0f85f15b0cc98b64817143a2cc72bb62c4bc833f8a8e501c94508916ecf1fc9d26d5456383af46b2258b8f8cc7442aff70efb9fca377604f068a998b1a7e427b48139241922af38c844f83828f46da557780bdddbe9a82fc2253ebf89c0952a622b72744d26e7cef5e91021b95fd5fe58f1f4f2b58fe1b5c1ed992a70f455708a6f5a85ddda21e2636a8f4d73a4fa7fab624e3c5f9ddd4bd1f2b3c847b3d61f3ba87cc1d36ff006a882bd35aba7ef4034a8857d031d4c2153d9149455b6ece3605204f4666b2b1dda079f6ac26a611227c1ebd3e25520cc417346cefeb3939f3902ce7ab69533773e23ec7c1aad5017ae23d55e8b5bac888b937131f7505d9bace1265303b26dd5287cf0bb38631b01787cc6892f473dd7bfaf77b93e49c5fe08d837f2dd9f27ae8b63ca8cf0276472a69c63a4084ec8b6fbca2be247257a22bd3303b79f88e1ac1e7163297bd7678c12a7c9410a12ddc6b0582cd819668b9fa9a0f7a2931067c1943572fc4dc0c4d4535c054577f553f12ff7bb9120f6b0547b4195d3cb89797a3eb63e04d77256a5e3082e1eb91bcbbf533c4c56bc6c28ec458dd701dedad56f793b100fd52d27013a259e9911ccc5f430f3db54a616b72fdfce282422c632e0b1841a3f2a622093869ea840e7be65ef066dbda240d3dea8eebfacd75fced2fdc69b3fa52341c629fbae0cead2fd74838710e1ed0203366ce1130d66cfb8d5549fa7b1744fa00efbf2744c0db889737231a9a56712b8b57e809ad3468cae94aeeef43d298b98cdefff4eb9b4d90c28d4c2f2c58a599ae1fc7676b238d3c891e8beba33079bb94eb11ac183f186327255303a0590a7c0d31b83097c1309c5f679cee8e62ff8192b685cc0c96d82552202fdb1b5f1eaaff38d3c281c42e1fb93f74801bd76659776152a3f7c3851923050dd1552b8a6be79060a737a9951e2ed6bcf407e5d5d7753c0ea7ed5b321ce82b42d72244503f544b3adb08bb7e92cce96d612422c6db4e5296303b1c857aef624164c54d172fb9266de2bb79f39b2c12f413d0c35e81e07e6c4cf9993d84a60b1af71fc0b3cab02acb5f55e3eedd8dde7e9e46713551abb39f2cd0014188bb1c8be89d405f7e80aa26fee93ecedc3ff106f27ed6529ac95a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a013724d55e702a9dd0b8f933cb5409fe76535187e0665862ddf771161a33eacf8af598ae6492b6890b89e0133cf08e4c73f353afe2703f10f1bdca494ddc8dfc9f5d3b180007644b73f9a93f4d8ffb1b125a2e939fc50d2cfa165b69f3de66548ae2403e8996a788490e6f70c6b71cec13b1fbe394b9051e298346f3fd46004b05b8f5936a2638e82e10b20020ca0fefb8420e18a677daefebb9f3a56b06575bbd50a888011c96b6ecad4aecebb75f9d7084ec82618170ed6a8da54c69ba38e12aa6c7b36ba2ef7b22442e6503e0cdd1e64ac50c5c9b7333e78d92640bc89701881e061e06f6f3afa7820d2e3838c7fed6fffe7e5191bd0f41f4bc0d6795efe1b64c86a16a9dc33ed3301df6edcd0cc5037ffa08bc8448359dc363b727936b0361f845a52677dde0d227064f3a14f49b95c5cbc7fe338ce9844885ccd80b994a01372197a9aafe9520cbdca95b9ba44ece87f31739a546d5868b089c028734f8ad95cbfb8ebc3cf47c1a50939f753589bbe2980160b765e4a32ea13bf55646d273b700bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc0bcad88e2012117611095bf2af33677048486e0a35cb6b7c4b32850d1567d1fc88a5cec24bc6e993fb9cafe217cec66f1f474bb843b983c25cda21fb5cfd98a16b78937b1be469e3deb3d72879d919d46e7969df873a1091ab3fbec5eeb184ecf4bd2b7f138122ae10ff3c813a084f7523f4a228121f34c77e04a4b51fd19a9e001fa5a97d616400d32b7dbc9e1391281911f510c6063dcbed60244d516acbb798fe56b96abd58c4a7b417d85ae3174db995a4943ccaf3a0b555458e759556333732adec6aa71c0897a99ad0e2a824466b93c333ea4e8bb23e6b3243adac2ec93353b955e340fd899fa73a059b1f3682913167554d468f2cae0e62b7c6c90f320c58a9630099495456c076c4349c9357a1b37f129f52f92ef748df3d236c4915ad980a46ac57df7369b9ec13617f2cb1c5c30c4e56cac5d3c963b282e06c717f6f07ed3e07b7a12f8028cdbce9bbacbf08b61b00a1c330794cf898f8cf0f4726a4c9585493759020eea1456db39453e8c9830778c5ba6176cac7850449656345e3b1a16068b10c35d7fbe10747d48f1f95891a4ae6321affbd3c474a78d808d8a214cb938ed89e596ae92bbafdd8f0a3469684318d0ed5574326f024147682cd2439543f9c153574f92567d2e9d7bc9836e52f81d5bfd2638c6843ece93260ee1906c2604f613e9fa52f8d2d6b395fbcf2276c283dec3640eb38ca5af58e506a6b431b97cdfb6118e18e7686645f0031ab777f15950a31d9d061273a0988d6952439a43a7212dcec7428a2e8fe4583b7711c0953f0a1dcb9131aec9b9f8fa7cb935aaa3b1ce8b5315358cf763dc19e196cf047ed2b9e36f1779eb6f89a78ea8ba6af36df50da86384657a536f5f9bb3b334f57ba41584bda25fd9520f29778ad30187c523b0a1788c89e2402efcdd951e9a0c573a2767b72a5bab56f411f029188a5c52eea4335c631b813255a4c4b20cc2568dfe4b04b0a3933f6ddca5ace89a8894a7128b97d2fd00e9c4333841510fe3ef7182c63421368f8aca9b3002ad2b9cff1ae81310b0633c8c3ed6813253ecdd808afac4d102384b6950454a63a87e17f7da8ef3aeb2d7ff9a6bd8526363b52611f9853a81dffe2965c7df0193cd6ff73f466e62d5904be85e334e25c818926e9a079cfcbb19a21e67fa2d48fda7c605f542d23e521d93f9f8b7f62007094e6a94b3d4ff000f92feaaeb9ba75b35fd6073b2e223f0dbbea76bbfa3b4aa7a2757210aa8616a621264d08e477b068cd534483a91a5efda0f56aaf09a1a22897df026e8175ad866077bcf4e27d0824e4d62e96a3716617df0233ef66f94b8b9742fe5adcc3fdac76107ea3136246d3689ae28e3c56f41b6d2c492ee1359cea25463a4d56ca22e365bee211a2aa42b65c0af1a085e05a54aa1bbd4291ad86523e7f760413acaef8f1f797509d398541a0fe28905b9e238fcb14608f75e97e605644073c3d6a56c8635848084b76e1245b450bc9190d7bed6e01626bbcd0f7401e8983dc488dc9b0536cf7246277064e57eff88967d8044aaf0ea8ad2b8ab1dacf74e5c02d0a2ee8efde5d56cea05d3ec2240cb1f65c24cdc65d95c72d64941303880dad5cffb061312bf8e13369908f30cb5ae70356474105b282eb3434594678a336985565b9ebd0eb5e53abac23394cc56e6eac44846b80b19211af8ed9e5f8e7ffa914af1ed4b4b17570d8d3727a7312cbba3c14c95d36d3debca9cd4f8417f6bdb9dfc38c858280ea4a3e0c5860f162ac0aacff51d1d4537300754ee52720540eb3ed8d6d06842d09f4cbb50f2c9460f5add466961c07b9bdbf599641b9ad739c006ea121c88078f644c7b0c7ba68529899ebb20ac33961bc477417c93ee12cacf0e2e00e41289645de859805262863c4a3db93b93655f59b35eb7664b2b7d01f0d5d7dcaa721e667132cba8fecb6b9533ece3f27dda5d623cca30a586d459f24dbb2b6ea93e1e00c6042c0496e711e59af2158180b5aaca1ddd9ce1e6630b133255c9c5ae90a2492d755a6636b86fbe9ffdf76a4b3ebbf4080f8eba7a83f8d509bc34f63e9761de58f19fc99086dec9a5da43017fe5c11f057388bab1afee029a08bd65a92444745e9e66c84f83de3758d0e3157fdf6a14456513112708ee396b6255f4962f7f2ea4c1b036c65469124a3bef5911b2ac8bfba2499e205f7baec03660ceaccbe7fe97c5a5c49febe6360369279f88107f01dcdeeaf3fbbf7fbc6149f954037de64cbcd2305d4dd2a9e36d046dd164aafd3889df41d7b4f614b4df033db26d07689da23f71c4f2ba76b5d59b5535c05460b7971df8f2af1a716b34ef117e723c806588cc2362c6e0fcb2339da702c9106c56c147ec38d8fcf7f6da397e5937d4e5f9c8e9b32afe868850e22cc07ba496a62c78e97c7d407e3c920a730acff5f22a7ea51ac2d2b1f3c54d2c15d9a1d84043bb04ff42faea4cc76370168c5aae7a19050f0c9cb2cb832e9ed995c7046d405b21f1c1a40524d417da69069061ea84c467504fd0df04b5472e34ef2cd96e3a9297bea1f2a4c54eb2361b0c179126ed7f8b915a754becf511c46b8c4756e18ba616015bb6797ace61bcc5e1016d228a7628f5edce7165e56a4c807005661650aa69cfd95d1b0dfd09fb8d40ac85e2b41abbf07aa4162915119aa05dec54e796a94d9d43fcdd4a4641987473f32a9c194650cbbcc47bfcd748c67d7e693656580d7a11ddcf4d8e9e5067a5cb2684a8ffa03e264f64bf245453c00342fd25955966d5f4cbd86a5593491adaca7e0921d549f99f6a94b3b8c8b4c0916d3161ea08acef6fe092522a9adee4941f04895931aec52369563ffcc82d725c4d44052e07d93a50fcbabcb642848187529f9be63af3547887fd354af5e6823ba40056abf8cbea1bd0ad006f0086d4bb62b400b2807d02e45e8f1198ba238abe056c46baab3c5cc700b83313da80543dc07d422ccf921de2649672a37caf4ffb34b1079dbc4030d04b3b6412c0232f9b7d0f284e710009d8dc0278a7061b74219baf53cfca88848eaedf3a29a97fbde3b2e3f98544c335949c6a65751ed558ddd4243f1d0d5cf32ebc31bfd358e44818a81f092dcc473896fd026a4c157315403e680460d217fe78aae54b959d4a64b3682d63fd279738b2fcb15e16ac05b27470455bce7ee8e30b4e8aced6690d3467f0c7d8646cae65616fd0faf7e3d2f94710d1bda9f3fa8bc053582849012373a16d4cec6f0ff7d2e0f15f489fd202b0b42810edd3ee58295087226b9b141e45a4436272690819226588198957864d5706b112641d0d37c17ddc9beb190cc2bad822b73701d94ece4717ae0defd56b724690c3d70e5375e077a0111debaf47afd309342e2f0c377bc6753fe8555744eab9249a1a7eb6d52a1542352e72c75d227f0ec2acca10250733886dec995499c5685c0d743d0091dc009b6ee77b014c896674ca8bb1b34c95eb5dc1c0d75d73bbc8d431cd441acd323beb03f5e7970090c3626866245fc5a572c653a852f472f7ee86ccadf7f93df83a4094eb844c15289ec5754d9d8eb71723148202795a2cc10ab2a5fb317ea0986466100df17f9b9f803b7f8da494371a8af3dcc5283d2dafb45ec32e5baee0be58523811e181e23a2283682f516fc105416ec14ec7fc987432a61134dfff3d18ed79ea061622cfcfe6d51bf69663f9c76271d051832803c2ac753ce52cf2d5de988bcf3fce1e6c3862a9af9496aba0d2950e9984b39a27517125e94805117f4d1f570785e9772e4bb174e21ffd07219a95a81bae47fec1aa194978170e9624068502e3dd0f6a7072293178e86572727dcfb559eee31765ef16abcbf9760c06d74b5676f90d35e0b31e91ab6f202686a1bb11a05bb4c2ec5e3e9df745ab7d3f5158e69f47f1d2d9c53d109190a7b8bc60a68a903c2acac1cbdbea8c907f21dfc065cc3487e0bbdda3771262f6d51656f95b68b8ffbd78a5bc5efdaa655d4d849ef2bd5142b11545f642ff37b3f49fc20e158d1f50f2fc4d891e24313c951937b0efefbce61d4f707cee20353e268b9e514cc7b070e2fd3c90239b2db678853e678a0ed6ff909be7df194284cde9cea0f7cd3954ef1f943eba16d0360c2465042862fb6335dbf3fe4f8e17417f52053389617eb64de150c100591231557dbdbca4a451da2a4f28519876f2c1b8b665b085e46da94bb7951d6484add3571b785b813acde60e4704d723e223bb3df9392b1ec809485a37012e41e231a7c1189421a84b2d8006b57c95cd3ef4cd6d6d2e041998d76e7592bfa9f5ca9ff3982733660c4320862af8e8402a68d4187033acea766e1978f556bbfe049a521b3d626aa78b443d5f3926101ab6aa14e612dcb7f25122c3fce2f0e90cc3f24832aa40b1ff03e8c76b00e87421b0d0d7b0de7163e0c445efd3815f41ac80fdd235b543cd25019fbea62cdd02a9bb74aec37b1ef24f827ca6bb861ed010163678ca725a1f72e34e7a42011876150f1df454fb22ce3f07f84e51159da1bc4d086a682459404fd9c899efa8f05b12f4b6c80cfe5a366a0d7f6404bfaab30fb23d2fb9e6e42469034fccba3826aca8bd44793a625cee97491e0f2e66057fdb1b943c606fbc9f0652165dc6917c0abc93d7e751076a9973fc756792855057313c026dd96fb0e297d069197217818971c411e5da786314d2b716b01eea223fb804abd26fe6901c0e9eba5cb9a8767de1fb646aaf5e1bbec60f74aaba56c6be2bf39a349cbc9fde3dba0fced6b1a818f239efbfcb152e8461ffb20daafbb5698363913a98ed20c9fa3ec16fecaf8cc4a174ae818b683c9fd14e98fe6d10d7b9e58bf5ced0d4ae2fd2a2707863b7feaeb3f75952883e820f39bd2fe5fc7b9998f866cd6db578728184c72e10cc3d598dfbba2c90c7bafa5d58e3c5525b8c4e5b142cb4c7ff5d5520a0d3e5c5529f65521d6dcaf3ab8742e2a215798332d7611bbff8fc4dcc609c12f96702d2602a8740014cd368e72b5e14a03d10917b3523641ad0d145fc034116ddfd85c1a1511de02a8f40c071d2f1adc7e6f6e745ee4c54a6a43406d7d2ea301b78d025a9359140aa0c894050f90dd1a6557fb4ecbb1bb65a4484b04e736c11c7ae89764a9fddab14fdd1d1bb06e6a998f89fec0521a2e7ba5eb36342aad2478c25bb6bd8edd8d7fdd6ac04c93f044d89ccfc4b3b0b439c5ce82d6ce9f067e9d1ff95ef99580127e413d10e7f8fa62e7c03263cbbbd82b7c4109038fe6dbfc779423b8f69d9630626a47ca3f2be0ff7bfc5f33c0adcdccfcd43023a028fb4ac0e50348b4397c09ea2af386ce0528b0e78f0a497c21737c8e043ef7412c1fb3c7fd4f6a78a11ba82b8dbd83324e1d3d11351b51c69aa5c3aa5b70a51ac901c328c7acfd8ade06e4043290931601c84dd8aca1c4d3e064ea24dbb87ea47f95b55b215af06ed6d08cc20219f843fce4e54cba50f894ff84a4f0ae2e6c447ca84cb9481a01994555e5ed596c6086fa627e32b43109c6dc15406521312f0c64a89331b71ec6ac3ca7832325514b4415e1bccefefc9bd85996540ae461c002c97c4730526019b939c325f0b9489cf3bd9821a02eaf6dca2ef9bf96e2d0393574b8af5ae52ee7343f0c88cdfb878ae1774ab2545f80946c8737fd0888b84f57e41d21361e5cca4055a8fd74fc05fc8486da0a2e169419a053c625ce51f545a12c7ed73aefa14a65168437a8d0bb257cac5b49439cc1cfe450e0c07a045362b1e35860024bd6f6ba0846200120faf828d983cbbd52ca94b8a530c94d3af1a79fa1a1bae0e68e874470d9907feefc18724a75dd59e88e3eec31ca73b531173de2b4f5846cdc318cf8b4b673b1e013b9291c6daeceabf8ec26276a4b3a10e2ca7aa5ca44f1b8ef4cc5158a6195ce0f399b1e42bcd0397a5202d09c4490e62355c6a8d118accda00f9b3c1a47ccac970a9ecc7654f79b29e43af859d89e00683880a1d93e5d9a9b965cb0e737a4b0d3eb2a936b019d7189143878eda383d8d3a39805e0d88a423b13168b27f2f14cfe09db1a3c076aa9538187ca8f66073e807f47da03bdb841a0409563adb9e9b9ebb423d4e4759969d4bc215743cc84f3561951791171bdea7fd54390a89b0b59a6f306d13346dd286bfba909afc44022d04468067c06c70083e9cba522753ba8df513db08e4644dd3394c7bca6b7895d9b9dc9c5a5ad331e01ab8b94fede6ae447085b86daf3e98bd54910964053a5d1b03631c942071717af37d65b6d48b9ec33bf9e3835ef2beaaaa895e3638967a8baaad4c483242e1e6c6d4cc06673a4ec87d56540cf19afd27c9ba3638df46ffc0c08b6a0adabc649b8b6e44aae00d180051d6d82ae4c5d180ef966141f0d9b7c49236200e1f7f94b5145e4716b836162f000cc2c6261ea556f5fc513b6bf5501ed6fd5d462bde8b795fe901ffb30587e22734320d8027311581d4a5ce04393ee6126622c05ecd5976094e55d6d1d6f6b04e0437dfbd0850b856f51b3165657accf683d40373b0c0b0bcb54a321e4a5b74d5697d15afa0b26b8778c72b3d848ce9c951a68bd9f0db58bbd0108542dbed0be5f5afd77e899be493eaca12045525f250364de6d9ca590692a964b5c12d100950b2f8a3a6dd4520f86710eb83a01d3f6866a68df89a6e9b1da3f0287f9098375f96435a0942e0c3931212daf584e7fdaaf47c7b7ef73c49b4db4ca7de0881666c669bd459e617cf7c7e56a9168165eaca461a7ee27fd67d9f4ba33333a7fbc0bf527518d8ba639d7c54d0eaadac901a880f5c2776f669a54b0fa5bfa762517c0d497ddd3c9cacbccb8bcd9d5971b54c5b815ab8d0c3c53a74474cd0f735dd8ac0e97eecc7030871a245aa79e539d3009a812cd1152f58a8a0291a2ea2ff3de2ff293969ce50a7752206b68fb533a4047b317dfb23fa4ef839a3567898df6b35e55fbbe12e27e2900af7fe936928ba657c240d5066061eef4c3c97a145ebd69023c4821cbd58844d9a3c7fd95062cccb57637dbe12d82d0f9cf610fb40e6026be71a5f4143a598877d6f8c631f0f5bb7e090e79d945fce12ef5919e0cfe51269cbfaaa25eca782cf0b10363f43c5441ab504aa35d2679d65481fa985226a579043367093def9871a2ca47fc18973e5ac29f34a67056e4841e62e147b9e2e7a73415393d24b9eda4fb600f05bd2defc036a1b46f1a2385875d5e3171642ef0970fa1873de81e1c7a5201eccb15cd1fe15fb9569269a80089903620ef5f09ebc60e32d20c24fc3ddfef088cb865ca99a599db864156a0a801bdddb646c43a9b18f185fa4524192aea68b06d8137c0563ac92539f971976d918070ea251ab5aff7103c70b561ac677819efedd6669bbf12b1a3c3a66ca62fb359d4b1578d7d8a4613dd7494b785a8c2f7c3f9cf29338210b892512de84953bcb7d74c876a4e822d2c74efb4c2f050004f9e1d01255030b786ee0a91ab54f8ffaa9df7069d2f7f2dedd13e121058224f64e17f90931d1d5b5ce7d2810f1b2143b7f5417cbcc39642b11cecbb03fc353117be5965cc40c8fa3475ffd8a334a3c55dd0c33f4ab8437d3e6fa123f970a226041cc0d0c28b770be60c0bd18ea12276e8b10b2bdc24a5a4d4465d165dd29f7fe37e77fe0d177dbd193f83010894b41363df4db3d7914533634971b1c2f56b9b4c5fbe9cfd5d120e146abc9753b0055205d9760d998750fe128c20bb84a3413a194206b18164ad46743af3406f063dec51ea209383cab31548650662d5b2d761b25a0e77d542c4083bdac4819b886425697faaab982dcb28b768782188be9ee8757bea55bda1721890194cef1dd392caef2fc87f882c8e97be039ab581619b9b1d72b7f34f2c3590b6226cb9810f156e5a75bb2c4e0ce2ad1527d01ab9262a45a81989c9770605f00fa343e020e84e60d860a4c7d2849ba5b0b2bd20e998fbe98acb0075791d6f4a127071fec432f1dbbb79258cbc9edc7f8f80b3ce904412fac9a39396fa7f6385d2dde537634179f6077ed63bab2211dfd998995a4a9cf849c8206b23310e7cab9888a500b1ba69762883cb61d14b6e546bad9a4158489c60ecf2c8279ac4c3d002315ed66694b376c35929d70f9fa3ee1ea21e2466f09cbca48af9a98885bcf61fea0f5967a6c78de36706eca494f139298ab56553dab63966aafb75a59b9de01c42da532c0844ac669fb5ddf15be3b08be630b87e03457d793256f645f8db0078d0c361a216a793f26183fa11cfdf0de8dd3872a6e67b3153b777f271932b5b81516be0b6d7639d0280502ea7371e2d1f1b3855bd077b290ef0f916caacd6f1b791363add2839b948930ab12e46a643c3097f246d20684eb6386827cdb3d0ca0981df4b14b7bbf9e2b69b2475f1485263fdd8605c4db32c73559732a9db03823b25e600ccd73f30b20ead64ea03cf9bd44a067aa822b7f312db0c981d437bc66e39af935f5482dfd42bda369cd017159a1ca1d174b109c875c34a1b032998242e49d6900c3b40aa516b39425eaf8a03842bff1d33a10f28848c101e54637ea6b9fd9db061978532b5d0808923774388bab3b53a64effe9aaf748c412f5aa9d025865011b3b30ce2c00bc17b70e62486cd5949fcd79571119fedbced4d8e44c8cc74eea18a6070b4ae1125f9dec9548b89d01c12174b441dda81fcea3aec3d6074ab7541d772bab851a126ecdba48a4125a7d4d3a48b5c32bb40b6f6b9c8513bc2b2f475ddfc1702c114602a1f0746fee5c41cd0b4434b61cc2de3815c6db799b8a9dfe2a63e636c753b08969f3fbfcf8a25a4ef1d0c41f1b9d1fdbbf22f2814f12fc514a996e86b624d2f7169338bc9605efe1f3f2d2f59d6b6f1a3a80e111ff5690a6ace61ffe257e2496aa1be120a97e80572d7d44b07951d93c5cea68144c4a25d02786e1b99d12690e5a2d3edb01304b79e436ae7941ee053c42b478d4972bce4a05f8a42dfee8a4b8219ce7b66ad0a4a8ecf13af43e407063d7f7065afaf134047643cf69f992fd13e46edeaf2d63515e7059e9ae51620c13d3e16fb7d2fb9f2c87ff3edcf5815a47e256fdd9a81ccb7c07af8ad0ed14f5c319356e418e2af48ea4b335d94aa913194eb02bae362d7d4f210e54da139c269478982a093b8e7bfb20d67626d5e9671bbe3ad59ddf04b621592ecbd945d7f930f4370fcf414b8ed2b4720c5cbcd97a2c89a2fe83669ddafe32a403ceed5addd40f0e83eb7a65031f59578a7c28f83fde86f12071a7a2992d4e8b02394cd0bd0f3d51c88d6b439ab809ae2a5e2a72cc40e4c3ee11426c4e0936defd45e55a161d91b4a39dce1cf12f33f12f8ee84e88a37e75ece2404e25b0f2a1bdf729a23759cad971a595fe45ab4fc60a2238c081c4dff03d506dedb71259b88eeb096be6dfc93761b9e3477eb6a56486f55eeca0f9db3714b29b7ad23a0b71cf969f8781ed06b08b1442b5073571e2abd0e1a346167f9cac02759b8c0cd524d63ebd2f7d867ead6120316657a32b6fae8180f0ec0b94e4a389beca2d9b8f3691e424c11c928a140e34514e8709096de5a4e62f847a7793944b61b29d76682bc78d96b654618c61cf88c5460fad56c4e755c606ad3ad18e5a96a297e05d2fa03a6d6e6dc3b1f40a852a44deb8dad396a5cacc48509d5ddc214577b26e750b70ddcb53efda3ec8c76faac385836542c638d3e9d93669d5a7d623fcacbcc3782cb935aeff34ca304383293834613a57ef1bdc29a01ed5657bf8b9e1159ff8f7a25b2ee495fe3820192df1bbdf0d70c1dd98653642859b2bb08f56fb658b3df767bb78738c4fd7b58435e2b25c69700659824c34bbeb2f1a608116598b44a1515bb0780c32f370b59170eff0fe80861fd59581b2da9b553b975bd9acf67b9e7371a3d51b2a2ced3fdc00579eb6b4addededd6ef6a346f058509de84d4bbb3c47b056db888dfa9a9fa48ef0249b1ef049100035d7aa4acce0b151dc5cef6ffd6536c3f63ead3603e372a655c04f249cfa4e2b6304a66b8acff0ea8b25e2e0d3703c934eb459bd9a2bdb1bf3c02375a6637c6bae6f5eb77423e3363359845b109a72b2b77d8e58f89cc663b4ebdb80f70529457bacaca3d6695229daaa6214d1323da428b1cd7cb909b93d5bf434d1f1c03f7093e6518b6ac3f93b134200fdbd4976b66812bec2e07d1c2f0fd9a227b94b93a49c5e4047ede46e1351f68c957caf26e02c1a2b85f289a3be7c343cb418f2242bbf57a8ebceca45c096a85172f6e95b7011919be50d00387e959f9b669cb9f194bf2ddcdee2a7c61bb3ef381b59268970bb44ba5435c9be82fdd85d3b0c14d68fd92da8bc7f643c988d03a9fc35d179874ce77d8179f6b47dd560e75650663f631d76de733a8dd64b2fddbebff99c59445c81e3d28cbe8dbbc29e2bf74dd87e51e433f020c8feb79ddc55e61db759b8067201fe38966a61569af62ee470a16b2f7b2fad0cce4e6819eb3aae00a4aef6338e2bbc25592a6ae04c2c3a360330903dfbc62a3727a2fd05ed936981d29b45ebb40ba1ee46257a7f7d4f47655ce8084a93f5472cccfd530bfc8c4220db66959a70bff66adf1336b0b1c68b6c7a5eeed476c6de05c4f27d4c3bfde8a38fcd0e627d17f769b28c7c729b1a8ffdb166822132481883cb91bc38af50895664bcc6752b6b21f2e69090032a18acdf55f9cdf6b70524f03dfb1f6583cb2e115b945dfa396ea35c3c81284a9301e12ffbdc03b99a4bf888a2e9ddf9517fcdd8a96d9bb3bf47c987e138b02ebaa223c4ecd31681cf4f17b2dc1cd772e7ea910ac9ca24c4104a6b1e8fafbc9f54a466ac9837b67f06cfc1ab18f0523b67d9ab2ee06ecc7740d6fd21b74f886c90830637f1d0732caabfbf7b974d6536fad67acbfed985f726a526a98655d31f7590cda5e1b57dda5452007ca94fb56893c1ba3f1a2726b2e15c676e34b20b5cd110f1e89901aebb8af1e54c1de54e0294237b9dd7181f8891c55163bceb47bf3f239b40e7b56e482847cbef21218746f0cd903bbd1009689853cc24186242f3f9b9cdfde508db3a06e458104abbd84308ce908af7a4853782a733333ad86e4a08d3a1cf35e24c906656994dfad997186a8edac7c3f7b8c65267c79e2643c82cc82364084087a2dd98d32476ba3d74bb764461b5d8eeb195fd37899ca2c199bf5b46c5772e21c5ae3f63bfb8163323f0d8751af64eef120d5d1b16ab5cb22c5d0ae87048e31cb447be9b45eaf25300106358fbb30d9b1fd6fe77a97ccdd82bb55e5843891a50bb50fd17780bc9ba641718c7b40c2339ea44777e900a33ee29525fb8b394a46aa6a2b3814d81ff45b4d65465df542a67cbee4fea5d7a3b6192819844de780838d408eb50007de428b21a1ad72cb88687854fce74b1e37b7fe59c20b30ce0c3d064f5174534a9187dac3f38caa3269efe5403cfc70ec8e2a041713585dd4a99f0c01f9543004bf09f95bda9f7cf94ae2716202efa37db151244045fc0224595de44cb86949805e5d01f6492e88eeec9bdaf73f449ca243e67859e08610c4a7c6720dd18da8f88c5db3b8f8467bf6230971028eddca2bb9d07212be59c081ecdd6e5ca372edaf0c9f3ef0517019ca983065ed512a9e425c4542fc0e5081a9419049dd8b7aad02098b7ade0ba2cd9600e9a675df4391b9b8d1cc81a4f46f82c6d7cfafe866551045d82e39b7dbc48634dfb6db00d000cc02074528f29c72ca51816188a7dc03f8bc33a49eaa8ca6e63a4455508fb6f63b1d6e173a271e59ea74807dcc4820015ba631cbac5238eeba90438f1c6c9b0969aab80a073cd865cd780b2f9b260b2dc3ec9e2f37304c26ffd4c57f423a260d6d1f7a5ce70892ed351851da3885d59c3bf1776f5553ffbaee7c32112e8d2c3347a3bda0dd8f90e8805a63146db91d31fb5cc7d65411408d723bb2103f39405ff0751e9af21aa040282f2724e63d01a0f4824af34e7820fddca00288dc5c99115453cfdc45932dcfff11e38cdd71c80e9ed228fe2cec3ef3038c2bcb37eca87b671178df4ee3a581bdb5619384ab86334789fa731c4663611d996796d076a149549a0ee01f0d1929480a3ec7e12c9c06d770ee35786df0c5d53f7cd27c5763c372622a3845a56d2780d064a19e04a89e798458b7179080739a2d4a36bb79dc8f9145c8dc6c1a84de348852b480acf3b9dc65f8abfffffc11116f800a086fed95ed27c69273b4d57f46d985e8b2aee1a9ddc7fdce1ba6ad3c324c16a219ec7e5e74c5712c2a39dc985626a0db0df3ad3b432489641840c4551e976dbb147cbc66a6801fb59332703bdb982a09fd88f914794b62ab86c2f8c4c3ad3b21b505297aae02eccf3fdadb03df6ee03ecf48be12af1e586359e640973ab596f1d48193ccb8fd901667d1f5ab18470f3a940fd0a1a967d7ef2f2bdce096270c17ac0819082b11f228b996e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0fae374a38094bbd8c383fe9f02c4a07682f7d473d35b9d902a0278e400b4e5d0531f5763e08472b12dd46e80e1402851eb0c7b17b834de7d053547726e71018468a88eb3c2a194d4d563e23cc51ffd3142b2ec5d62d6bbb3221162666ccf207aec3e50ec5828346b112c2633a427ec1dd60e15bd7744e819b85f2991818fb7b00821180c6abc601465ff3788173bb9b537f9b794418bf7f103ba3616006c419fb92256b4922a3ce5711e283e380e4d2aad72952f66bd04bea3b8c5aa8c8a16e73382e6824a8f60f2ff20b40e1b3a6c7ac3dc0b840d0c3a96c7fefeb953d7dfa7351fe2514c26e06026e0f64de4f8e431d32a682f603a35d80ee3f81140763ce1ead5fa1f8c3b2df042a614d25b1077cec1f3c1dc91fcea40c0b7c9ef6028263aa54044a16091c1152ac04f26eae4d1c1b118a659919717fc5ec6646f0b3f8b1ad8e38345f42af67e6a64493bf5e982c4e724f80fead51e6c94d31ce8506fdc298f4b1c9b644548c895b5932fc0d48ed1b26fa0cd88e63985b1082d3d94977a23f123bb889136738e4d270a2c3b976272cfa467a8c5bdb602be0e7034669ce788dc6bdc6ca4aff0cc3b02aa4ab33abe3287a25a72bed18342dacdc2c5409633ed773b122b8d28a9b65d44c569c2a64600de563c91e92b01e0dc04e0ca9160e4064f722828142d047bac28d60e80351294ce402e022f70d363809ec7f9e5f1c792e16f378942704901aa8f559100b25d2d6f70dc740f3ece8a1e72897a527d6eb19a5b9c817e11924b67add615a186267c6f66a624981eabc7befe625a9bf3229066702c46d67ba84a679d6b09ce90eab21996f1d10a91a0394c6049e5f3cd0f7d9699fa5ff9a6fd8eb6e8909e6fc9106555c022f1e36777d81cdb0d5931aeab2e3df1afcca6df2ba4a5187baa65f7353be075987aa59048b02d8bfedf8ad75c67eda75be2cf70ec368bc1447c034749f7833a5acb5ef5029b5785a2d73c389e27f909198bb96df3f777025152e09b14283208c56f8dfb0c4fd772c59c6f41a94b6bf34d6de1a4000c2e708263de448c43749028bd49205938e821d3bc9b6f50f65e4453bce0b9614fd4dc438e2e68da96f15f2dc20d4f782362062a2376ade2beaf90da391f29760211be9f4ed5297ff75bb8128c30f7606247bfa25fc11e6924162c089f27826f9eb8d1f1ad84cac7632fe01086a2a1e98309dff4b67291ab5168f36431958e29a909915390d62e76e8cdb4fcc0961a74f7fb54fadee68afdbdaa4583aabcfb8d911a2daf2e6c0466b0c96181e288ea7a6363f7dd041bf3e8f23c9ca3abf19cbf486f70a7aac10c3d555c55c12a09ca5bc654479a40bc4466aefa20efbff97f79d4a13bb42194b5598db9574b05e7881da11e05eb3787b3ae5d76ab60173fedc39122560c529fa9485ec6b6a6ea7aefcae29cda48fb0544e1a8f6eec2211e7391ab826c0a696902574d567592ac2d8e4dac0f97998696b3f452f51f94dff62746c16f054884d50570c1e151e5a269b8b180ee593e873455695401522f7bd4c1b3c5df60d366fe2b5cff4269b19a6a9aca3d3769772a04499f910e72a81db29ffe7700169ca193ed01306638325df6891e3d850accd8be3c7292b670f2d194a2811fc2c85d42b5224c5ba73571b0852a5eb14d99b02b9efed45fa8a60872ac95ef818f3abd01c10b366fb81663fc16c75c17f57d293950a3182336c48ee92b07672a5ec65245d108a908c356867aa6224895e1316e584470faf492a34b4c8c020ce6af8a4ec0be6cf94243d49c93b90dddd9e59516e4d338d3df10dace4823f12ea69203e6c324667f18cdf31299d1819a004904ffcba48dbf2c69e2a0f4d7a0c16be5d9522f2437c92dfba3cfb08112ba8ad9e965d34b9f8b4741024e47aafa00347cedef8c98682ef0606680dd0441d3290e2c52acf82603035f633e8bd08207a8d1d7620b47ccfdbe469e4e30e6d15927ca47886b0ceb050e7619daaffabd79f1ef42e0daf937396b9a5976c26b1425f691ba81a4be3c6426635b5a0da16082b68b24aea82bee706f820ec2fd057f7eaf6b2dc1216b0502b3ac28b7256bd99f8bbe3a8298a0e9ba9f6f34ebde653cc14b0bac8ef47b7a74186778f1389f7e60ab7a5a059620c0f34fe0ed979eaaafb0589d6714bbaca4719d5061dfa4a72b8c1c573fec0801120a0fa6866d2f06e26568d69f8a8a0217ab149b9ec828a75677e4324632033f997ad8f3c07e13717b425702e1c86fe28902d8d47fe9fe7c423e810c3fad18f77b9bce44fb5ad3d79d93924c4fb126b7ae14c154a3ce4aa88c8841f009d389af6112a53cc4e4b1c948ddaa1d9ed61a36d73ef50e0e77ce281e17ed61d74450b0ffdab7d00a5dd2e72bc0c3c6b522e75290d143e426242fa7483f40257f81d3b407f1e94e5dba31bf5331304f5c1d92691d11a9a001323583d767681a96bcc502a50b7061865bb6478216303223b4cf6a047493f875b11ca06c274cfbae26f6f91bc2020eb30673e63878c1c6f01d05dec82d331fed4d02c34a7278f4de05cfa39ea96252b155a64194fef54812370107a0b3657214faa6919b96e6829cdf0f1d59f84e93eb4d0661a5c4e202c310fd9ceeb07d669e7c7878abc0c336b3f6d06bb87be7efd41e7b53cd6099cb9a7d2a75d12d192c7dab33b7dc53aa732e51e6d49b5121079b9301d2782b6287e57bc4c01af2079d5920b2e2ef2f08a08f9a00277b453058f4cf8dc5ba504e95b3a5a332f0baf0663f5021fb873bdc51c13e5ee0b7d778adfda0f66c75f2e1057eaa43a0958dec071f70d5e93a34ddd5b37e6915453b7eacd18482e72d21c6fc2db58778830075f2ec55af26b8ed7cf35aa4466f634a73886dbe321bd49edb62d50d149c1a78c6f91804c79b68138f2567c35fbefc665edb9729c129e88d20fa095d714f55b60e0d4c041c96fa037f838406bf67964352e0d78357331ea16e29125c69c6f5c49d7db8d097e044501c59bf8ac05125891472241b0ef65f0cb8626b098bbf8ab1b606f0b81ad69c33a3ba1d151ffb7f0aa198d5255597a3d30a6ae35c5fb11bda395d28fbb52431e2f75687848c04ed9bd372493bf2c65b514e699cf1b5ef30ee39b8dc2317d09a762db4f8559ab4413b925ab050fd104203ba6fac6951f85b8644c8fcf74cb07a2e8a463d8dac7434790753c8550cdb951b582414d714f347036561eba8376ba2878dd0bd6281ef3878bbe35a86a132f74838a0e9c41eafb9763031e85b1871d2cf81e9c59ca32079d4168a3518b4c7417bf1b30637176a260a4b7d4bf72ca01f0731edcf11b0d3ad15d8b3be77c47cd6b4f970e9e2fa0c823140d6341503ee0ec7364efa4365f8ed378cf7b478047837201a8a731b74c4ba0849bca82444309076b2ce572062f412a603d273664349e74540638d65ec4648a706cc636b6649f7683879e59ec5892e6607eb75b27ab5a28e439431e507e33e5bec0fe02797664aae424c9b07f36e1f9279c37f435938607bd526d82357be144eb49285bc3d8fdfb724f49980b31846da62a698abcd4161dd9d03f5fa46469808bffb11be4454d8798a1bcfbcab2cfe837ab7d6ca3604690ffade60a2f7023e37e89228941cbbe0eac8343b53dc531fb970b99aea60379966a1d01041119b7bff947ed7168c8bc406df6feb1247ab227ecf4e898cdad5e6cfb69def6c5bba78f7aa9f51a1fa36c5f46268c6c959378b29bba2ea601ab753444f3006c07cb9a87cf336b3f9c1b18b0ec7f47614e28e59183b79fa32e2964b4e78464f355bb4cca422b48798b518796568c024f84fc6d03f89dabda2e19022a0968ed9e6180e5edcc72c8be5a25dadc565757b1ac0ac5fef7ee04b260f2b096a96b2c98dabd9dea43da1bdc2d6d8fa15510956889d989587b47fbc0af3635ecf20ce859642085b69b6a91989b78d485bd297cc7d7fffe86a991ccea5c32c64fead18b9c8bfd2299a10dabe455af3e1b322f889c20b3215b32bdd1280399bfefb836d55ce5a99caac8597e97ab3ec3d5ebe1fec2328d92e7866195f20b00d53bb654f102b524494cb498a640370d5618d265af1e0adfae64ab75f340e74afb1109ce29693d52356a3c49884130d1d70e5e391553b0eaf03ef349832414b2eb1399311776c2c9f1bbe519dbffc3bd57473adacb4499cea3ab2243ec6aa7dfa463b60045178844311e5cb67664ab4ab537b2925d2ce9ee3efe68ca2d68d26af273be672beed6aff643382ed059b182057752ef6f18bac93d7d31d3cbf59967c4d14301983ae17ff0469c09c76ce05bec13822302a8d1bba1615257257e60212b8dafe6659974725f38ce735815266d71187d4cba485245bac2db7fe67ad09c7d3359f1a9d38f7150bee4d597a9f89633b7063dd39b866d64b4af396a5777692834c92124858ac14258ecd8dbc951eace7429633271b35d29ac603954d81a2e829e36584a8d3639317963ae15f495fddc2dba4ccd0878629f4d97aeef75b1a5f5b083d687acaa51879dc43f9fd247433cb76f575fbb131bfbf85d6a6c028c97c08d6e745ac5658a06ca209039259b4b934c335d991c675c9ca9b7357ff2eb817ad19fb7077a66b3bddb64e1add42f37c2727224062ffaee5a3b4010d98bce61c4072923f7622b01c37dd29726e746c96378b76c1f798aa41f7573141546d066fa7c15b871ffa382f8e028ae142771962b4868085fe6bc9e5ddd95a766d9e9c991828eae58cf286253e1e3c8ee92eb418e4714e90972b5a2172c2c164c626069a0819a4609a45354f99bc416752b2205f98e6c7821eba7ac28c0f60afc34f052a2e961e190d6f463f14b3d392fe43f9dace54b41d3dbef16225298045c045130de953535606ebc8505b75763445a10f485850d43a54632019ec2a08862ee4175e607b014fdc8da7ad9ccf53e1e712b95c9bf2e85e8db944dbb264d8e61636ec59a4cd723bea2e021bf687c6af0ec9b44e41bfbc068118e2c4ce65b8988d34fd3ad984bd32f1dcfffd41243938e3b918ccf51cbf4e19484b5acf62453a6114fc462cd7466e687039d8414361b7095ae53b25d25f015acb0d73541a4bf401592aed871461e6473a83400ceb37cdea7fb6df0ad5ecc41cd9c7a0da8375e29631d561645098e617af8ef0cd7351e294bd190522afacec8b0500c48cbb6b8d701aed18ee85bd583da15a944f8aabd96f4bc50b70e874101df01f9632954bfd71f5e101f6a2356d41c7e91f0c25f54525230b2d165bcee22de2eff35d8d4c53b1915d91304bfeb6c7ba2b79b7a878533ea32df08e9e0405881b210af2adb837aadc188acf16122a3ea7dcbfe8570a5d3fee4d106ed58504a1c4df0e112cb5e1126f4a5b6e837236cb05e21e1a96be8a1d0fc4ef0e37ace04de7573fefe193571f171fd6857f9a082e9840b184f80a91cd0e7f53d6bcc877f96f5e06682d12aedd83819f5a6f55b3e31341778d47d8420aaab2cc0b98eb6e8ae8cc6720b663218406b95525f5e5911c97cebea73615fc4146d6a4caac7a92c73ba0ab46daccc678f31bc784b81d5ad7a48ae557d13e77db7923c0f24f7e7710f6a8a8f265888b3a415258312f8e36e723b4fe164c2e58ba1bb5452b1ce2ba8e5e547d804d9c1a6740d2d414aa44db5a438b3d095ef90ba83927f3b70035113812f3ba09820126bb99f4340464dcbf2a071b7043c719d75dc2f60a7bc44ba32554dd0ee46f504fe3eb908e77c8b9bd2369e9b8af55eb1bbece292cdcee4a40707abbae83945dbd419833346572e7c0a734958c7529af1b9c1d18a5f0b2ef4d048d1ed0c3811874de46670536bdd5985a3ba7c6ae41a04831e5a1922f8639b1069447dce656224b30c15fb6aa0b9ef80d1a9700bbbbe2a750835345f9337cafa1406e72b38c59274ce64680a2172923a82be527a93d2c9be6624f7ce4ef45d6bcdfa89630db98d33d8a873d90c614e275d527b3394035a53a25d038a1b57e604b6a500fe12adc95072c8b17d79356a7e85acdf787d49aa94d0952649a2aeba573861ba2d9871b4a4c5280f543bebcf4bf8245c3258b05c369db9b307f8c3ffe0da84f775646d0a23ae9575bf08f16615cce47346f03eb03f7f1b266a10bacaa2b732a9d3dff3916e71a71b76a830f23db0e18c83cffc51fa9155da51fcd24b40f87e5f35bffc629b234328993187c5ed6bedc9083a120e64222b1552e9af82cc4e9adb69f2065336c2c3ffc179f9db83a2d8bf81d4998181191a73f349c6484eeff9fd63f0ca9c7adfd4d6c769a97de60576ba1509e0ab0efd0102e04b1a0da9a777985dca37d82e5574a39119a6c8d1ba689fe2f06d0c4b3cebc6b897c591485a6af69cf45d97ccf81fc4fd7b3b16a59d8fc7d100d94030830281c85f50011ca4c88f7ed4dcf3350a521b07efa3a06e0240b619c8768e467609fe08fa53022d3037a45cdddb67b42f7f2b9187c395d2d6edffac3bea4ca207e7262c888177780b28dd73fe087fc842c17a6f997b78d66b88b7d8a00eb40503b089786fb84ff351fc4352ee52088dd26d06d0cbe4b5ad1b168c0474c93b1e0715b24c52b2983debb829c8d4bec352cfa33850baf9d9781a33b8773efbb1d4b1f6928086e0af8faa6e78034327359c87dae14de00e7883183b119148c6db6361fdc96464deaaff9f22e3ba01bcd130d08209323f4b4d15a4a1904a61e1f3f5129f04c8b49310b0ce4aa7847ea0caa61b7af7dd6a0efee93c0e2f476fa2c99696d4ca4039270b5768384f40b7e254e3eb391f652f5bd99a6cdc8f84ad28d9ea775b5cf598f35c8e9b89c13c44a622fe7c786e72a060a7fa156ba2c87d6360ce6bc8a7cc340f8493ea7f051ea9d2a2c60c81b42a091a623ad5d9e35cc45d68d149f4a73666f5afb06b3d1c6a843283ae783092b1ada66598f295321e010efcf50f1017c014bb5b2a05331601c66f6732a01ede55c658c583a498599fc01f10e38fa237996d62c171d8344672efa442115602f6c3219ae057f45b80e7aee30b9518e15c87e8aa6a7ff90ca6a3f626e13376f2ca90caa6191258aeb40d776c68c966c26d257e889902b9acc5b97ab86e031ba9e75ea02ae724142e8ae851d868c03a65995130ded4246a720c1a9a532ac5a5c49115bced9ed81ca9b87c19673af52639636428c293319e5262b622ddbe03cd59af06d5bc8622e42120b4b14d4dd0ec788405518359829dc0cd56aa021d38563f62f461cec6b3460279c5a5da90827e7d744cfb2ca5efc1b4a22d1913223ab1c5fa70eb3dc9b94845a943b57e4c6cf43c15718e30695387834af1cdf30173566b2b00d032da78a0aed6db71c6a9c515aa127a5a03588faae40d2b1fd5da5924d7dba9ab6fdcf7a066db72018d7d1de423eea47dec2eec237ac4ca8faeae01e2e32cca87f33dc0d41bd0c1d2cf8e2f1f878e39490cd31003ffb0ffdc2b5de38316fa00cecaad70d7defa21fd52d1b7a2675658bdb3835002738eeebbfac91024051b2ea5c10791a419e51c06b71159dccecd1795a3410e6b2f93ac69e4737cd10b0c4e99edade28782925ce5366b15c8edd00a6afcf7252bb9885b0b89d945367b4be3b87188e42b950172880c6b01f23ba74097eb201ac18ad8a42b5cd33b5d014001f85e15360ec423a6eba9b06ce023b54eb395036cb8cf2e0c9c424a87dfdacbb31b34d69df79cb9b2ca68b25ba479c0d260281ffc307fe2694acbded0c8a74f3a817babcad98d3d9e89895d70d44faaf8d2504bced050381ad08fcd09fa5b867446313b7e88bc5a0af4028952f741da41a8c83c07ebbf0592363eec655ae515b1380d8d8bb8f6314f907e71b661dfcddc54bac6166ce84b82903c2b283a723ef43da98341dfc057a6d9aac2fba1f2162661c8533b909abe7325de7342f629f352d5c47f63e73b55680bb84c316bfdc2c929c70e7fc25861ab93992e7200d619105d3f837f7e6bd7cf47443d95b30b3808d8f61348ed3e0cfb3c6a784eda8f8fa258af22b64f29a1209f90f1bd0417107d45db5c2a30593f9155ed00d27536ed598038351632c7c5f306f8fd529ff7bb1b113d3baf18147c0f4789d6fb960f09dfbc0f810b26f3aaa098d07ead6da79fd98d664d74ad973a672757c17e3b2d6045b39aa540df2f9682ca74665d8593f6cac61a64613ec252d070fcdaefbe8ad37bbe74a433fb80d7193e14221cada6c345a15bba5631f8eb2ab2530550f2658cb34afef5973ec85ba8ee1c021bb7733ca216b642d56bf969d8abea6d69db8050ced9391c8ebc7993679b6a34ab677a0093db5a6bc9eec8e3828b42aadda24698609220b55f21f573a7eb742577afe1e4b06c6d689a7ffe57418d161ccd51c40d13dceb5a46218ddfb36ca2f1e6debea43a146be1a11612f956eb99d91d5517bc32bfd7d11bd7042e7c98571e70b8ed8df5a0a9468443e5b3178168ceb0051c8cd6bc8d5f2eb1bb855e4831f9c59998a0134229edad8e0feec8601ee82392de5cd07cc16d01081bec620916b12d28367fbfb967eef16d6bf798bdecc0b4efc072da4e7c558241a8c64e21c87e7ff92037944daa95f263d208f96c2b1023728844677653860bcb8d89c76b23435c27c0c01803349f3f57603463a5f17c5200f7ca5e8bc2cc9ec8a2aed43d5be3dd7e76a9a005924db6aafbd8e546c3e5153d09b939b22f4d149625d368af37ec162b3b7f119b7ceb2fa5bbba8a6a1798a0fbb3c0d67b634aab9fb5b9f09ec15e9f52c9405740d2f8383d5fc470830aa4233a7a0d920cc12081cebf604e633881d57ba87d5479f3207e04505f0bb7ae021af16b7cf2549eb72465ad31dc398d8db848ef1825cad93f927b4e6dea20f397547add97b8ecb183cd4799512a9afda0d6ea3081b6eb9b1e61f38716e20482d8b9de2e701c5f58634e331ac21be8e5c762daa0fa81c8e1285f80ccc880b31897a3b79dc5d654c9e99427ae122eeca2bb11a1b62d5b24dfaf96b1c4e8180244dcf99bd527014780986468a57113b696026a46322141ff9569f6b7a446b0c12982099fff9491564c205bfe1aaffcdaa4de275de30e6eee44e1606aeb1c5bf9589ac94a83c5e3ee57cfef54117012566889195bacc26767745410c25f1283ea9b5553c407e08128b37b5844f9cfe940decfcdbfe1117bf55f312ac0ef095a5b6c78cf4f3d720fb10e50b6bb4775908b1e7cd53fe38e1081d0083657fe878e081c3e2ca0fcaac698eff1d08cad151d3d02e42c0ee0fcfcacc129c96fd5a5cebd73beef3d10b4532d104b564b9c3a2acb4e4420746c3f677ece8a97a1ba70554ad029ed068eb8597407a27b7ebfbf6e2f6ae6492fed9aa0556cc150496ed31c8c449d0bfa67f981bea5aba89415b11d633906db804a03299c8fd5a17be4c8c203865a92848ad8663d24e6864f5fb726200/etc/alternatives/salt-call/etc/alternatives/salt-support/etc/alternatives/spm/etc/alternatives/salt/etc/alternatives/salt-api/etc/alternatives/salt-cloud/etc/alternatives/salt-cp/etc/alternatives/salt-key/etc/alternatives/salt-master/etc/alternatives/salt-minion/etc/alternatives/salt-proxy/etc/alternatives/salt-run/etc/alternatives/salt-ssh/etc/alternatives/salt-syndic/etc/alternatives/zyppnotify@@@@@@@@@@@@@@@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootsalt-3006.0-150500.4.55.1.src.rpmbundled(python3-tornado)python3-saltpython3-salt(x86-64)salt-call @@@ @      /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/env/usr/bin/python3.6fileiputilslibzypp(plugin:system)python(abi)python3-Jinja2python3-M2Cryptopython3-MarkupSafepython3-PyYAMLpython3-basepython3-contextvarspython3-distropython3-looseversionpython3-msgpack-pythonpython3-packagingpython3-psutilpython3-pyzmqpython3-requestspython3-rpmpython3-xmlpython3-zypp-pluginrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)saltsudoupdate-alternatives03.60.32.2.01.0.03.0.4-14.6.0-14.0.4-14.0-15.2-13006.0-150500.4.55.14.14.3hg@hcg@g@f5fxfb@f:feee@@e%]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?@vzhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commarek.czernek@suse.comyeray.gutierrez@suse.commarek.czernek@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comyeray.gutierrez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comvzhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comyeray.gutierrez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comvictor.zhestkov@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comalexander.graul@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.dejbreuer@suse.dejbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.depablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.comjbreuer@suse.dejbreuer@suse.demihai.dinca@suse.comjbreuer@suse.depablo.suarezhernandez@suse.commihai.dinca@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.commihai.dinca@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compablo.suarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.compsuarezhernandez@suse.commihai.dinca@suse.compsuarezhernandez@suse.commdinca@suse.demdinca@suse.depsuarezhernandez@suse.commdinca@suse.dejbreuer@suse.dejbreuer@suse.dejbreuer@suse.debo@suse.depsuarezhernandez@suse.combo@suse.depsuarezhernandez@suse.commdinca@suse.debo@suse.debo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.debo@suse.debo@suse.depsuarezhernandez@suse.combo@suse.dejbreuer@suse.depsuarezhernandez@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- Add `minion_legacy_req_warnings` option to avoid noisy warnings - Require M2Crypto >= 0.44.0 for SUSE Family distros - Added: * add-minion_legacy_req_warnings-option-to-avoid-noisy.patch- Prevent tests failures when pygit2 is not present - Several fixes for security issues (bsc#1244561, CVE-2024-38822) (bsc#1244564, CVE-2024-38823) (bsc#1244565, CVE-2024-38824) (bsc#1244566, CVE-2024-38825) (bsc#1244567, CVE-2025-22240) (bsc#1244568, CVE-2025-22236) (bsc#1244570, CVE-2025-22241) (bsc#1244571, CVE-2025-22237) (bsc#1244572, CVE-2025-22238) (bsc#1244574, CVE-2025-22239) (bsc#1244575, CVE-2025-22242) * Request server hardening * Prevent traversal in local_cache::save_minions * Add test and fix for file_recv cve * Fix traversal in gitfs find_file * Fix traversal in salt.utils.virt * Fix traversal in pub_ret * Reasonable failures when pillars timeout * Make send_req_async wait longer * Remove token to prevent decoding errors * Fix checking of non-url style git remotes * Allow subdirs in GitFS find_file check - Add subsystem filter to udev.exportdb (bsc#1236621) - tornado.httputil: raise errors instead of logging in multipart/form-data parsing (CVE-2025-47287, bsc#1243268) - Fix Ubuntu 24.04 edge-case test failures - Fix broken tests for Ubuntu 24.04 - Fix refresh of osrelease and related grains on Python 3.10+ - Make "salt" package to obsolete "python3-salt" package on SLE15SP7+ - Fix issue requiring proper Python flavor for dependencies and recommended package - Added: * fix-tests-issues-in-salt-shaker-environments-721.patch * several-fixes-for-security-issues.patch * add-subsystem-filter-to-udev.exportdb-bsc-1236621-71.patch * fix-of-cve-2025-47287-bsc-1243268-718.patch * fix-ubuntu-24.04-specific-failures-716.patch * fix-debian-tests-715.patch * fix-refresh-of-osrelease-and-related-grains-on-pytho.patch- Fix aptpkg 'NoneType object has no attribute split' error - Detect openEuler as RedHat family OS - Ensure the correct crypt module is loaded - Implement multiple inventory for ansible.targets - Make x509 module compatible with M2Crypto 0.44.0 - Remove deprecated code from x509.certificate_managed test mode - Move logrotate config to /usr/etc/logrotate.d where possible - Add DEB822 apt repository format support - Make Salt-SSH work with all SSH passwords (bsc#1215484) - Fix issue of using update-alternatives with alts (#105) - Fix virt_query outputter and add support for block devices - Make _auth calls visible with master stats - Repair mount.fstab_present always returning pending changes - Set virtual grain in Podman systemd container - Fix crash due wrong client reference on `SaltMakoTemplateLookup` - Enhace batch async and fix some detected issues - Enhacement of Salt packaging * Use update-alternatives for all salt scripts * Use flexible dependencies for the subpackages * Make salt-minion to require flavored zypp-plugin * Make zyppnotify to use update-alternatives * Drop unused yumnotify plugin * Add dependency to python3-dnf-plugins-core for RHEL based - Fix tests failures after "repo.saltproject.io" deprecation - Fix error to stat '/root/.gitconfig' on gitfs (bsc#1230944) (bsc#1234881) (bsc#1220905) - Adapt to removal of hex attribute in pygit2 v1.15.0 (bsc#1230642) - Enhance smart JSON parsing when garbage is present (bsc#1231605) - Fix virtual grains for VMs running on Nutanix AHV (bsc#1234022) - Fix issues running on Python 3.12 and 3.13 - Added: * fix-deb822-nonetype-object-has-no-attribute-split-71.patch * detect-openeuler-as-redhat-family-os.patch * ensure-the-correct-crypt-module-is-loaded.patch * implement-multiple-inventory-for-ansible.targets.patch * make-x509-module-compatible-with-m2crypto-0.44.0.patch * remove-deprecated-code-from-x509.certificate_managed.patch * add-deb822-apt-source-format-support-692.patch * remove-password-from-shell-after-functional-text-mat.patch * repair-virt_query-outputter-655.patch * make-_auth-calls-visible-with-master-stats-696.patch * repair-fstab_present-test-mode-702.patch * set-virtual-grain-in-podman-systemd-container-703.patch * fixed-file-client-private-attribute-reference-on-sal.patch * backport-batch-async-fixes-and-improvements-701.patch * fix-tests-failures-after-repo.saltproject.io-depreca.patch * fix-failed-to-stat-root-.gitconfig-issue-on-gitfs-bs.patch * update-for-deprecation-of-hex-in-pygit2-1.15.0-and-a.patch * enhance-find_json-garbage-filtering-bsc-1231605-688.patch * fix-virtual-grains-for-vms-running-on-nutanix-ahv-bs.patch * fix-issues-that-break-salt-in-python-3.12-and-3.13-6.patch- Revert setting SELinux context for minion service (bsc#1233667) - Remove System V init support - Make systemd the only supported init system by removing System V init and insserv references - Ensure package builds with no init system dependencies if built without systemd (for example for use in containers) - Apply some spec-cleaner suggestions (update copyright year, sort requirements, adjust spacing) - Signed-off-by: Georg Pfuetzenreuter - Fix the condition of alternatives for Tumbleweed and Leap 16 - Use update-alternatives for salt-call and fix builing on EL8 - Build all python bindings for all flavors - Make minion reconnecting on changing master IP (bsc#1228182) - Handle logger exception when flushing already closed file - Include passlib as a recommended dependency - Make Salt Bundle more tolerant to long running jobs (bsc#1228690) - Fix additional x509 tests and test_suse tests for SLE12 - Added: * handle-logger-flushing-already-closed-file-686.patch * make-minion-reconnecting-on-changing-master-ip-bsc-1.patch * revert-setting-selinux-context-for-minion-service-bs.patch * enhance-cleanup-mechanism-after-salt-bundle-upgrade-.patch * fix-x509-private-key-tests-and-test_suse-on-sle12-68.patch- Fix failing x509 tests with OpenSSL < 1.1 - Avoid explicit reading of /etc/salt/minion (bsc#1220357) - Allow NamedLoaderContexts to be returned from loader - Revert the change making reactor less blocking (bsc#1230322) - Use --cachedir for extension_modules in salt-call (bsc#1226141) - Prevent using SyncWrapper with no reason - Fix the SELinux context for Salt Minion service (bsc#1219041) - Set contextvars as a build requirement for package - Increase warn_until_date date for code we still support - The test_debian test now uses port 80 for ubuntu keyserver - Fix too frequent systemd service restart in test_system test - Avoid crash on wrong output of systemctl version (bsc#1229539) - Improve error handling with different OpenSSL versions - Remove redundant run_func from salt.master.MWorker._handle_aes - Fix cloud minion configuration for multiple masters (bsc#1229109) - Use Pygit2 id instead of deprecated oid in gitfs - Fix few failing tests to work with both Salt and Salt bundle - Skip testing unsupported OpenSSL crypto algorithms - Added: * revert-the-change-making-reactor-less-blocking-bsc-1.patch * fix-x509-test-fails-on-old-openssl-systems-682.patch * prevent-using-syncwrapper-with-no-reason.patch * avoid-crash-on-wrong-output-of-systemctl-version-bsc.patch * allow-namedloadercontexts-to-be-returned-from-loader.patch * fix-deprecated-code-677.patch * fix-test_debian-to-work-in-our-infrastructure-676.patch * fix-the-selinux-context-for-salt-minion-service-bsc-.patch * use-cachedir-for-extension_modules-in-salt-call-bsc-.patch * fix-test_system-flaky-setup_teardown-fn.patch * join-masters-if-it-is-a-list-671.patch * replace-use-of-pygit2-deprecated-and-removed-1.15.0-.patch * remove-redundant-run_func-from-salt.master.mworker._.patch * make-tests-compatible-with-venv-bundle.patch * avoid-explicit-reading-of-etc-salt-minion-bsc-122035.patch * skip-more-tests-related-to-old-openssl-algorithms.patch * improve-error-handling-with-different-openssl-versio.patch- Fix rich rule comparison in firewalld module (bsc#1222684) - test_vultrpy: adjust test expectation to prevent failure after Debian 10 EOL - Make auth.pam more robust with Salt Bundle and fix tests - Fix performance of user.list_groups with many remote groups - Fix "status.diskusage" function and exclude some tests for Salt Bundle - Skip certain tests if necessary for some OSes and set flaky ones - Add a timer to delete old env post update for venv-minion - Several fixes for tests to avoid errors and failures in some OSes - Added: * firewalld-normalize-new-rich-rules-before-comparing-.patch * several-fixes-for-tests-to-avoid-errors-and-failures.patch * test_vultrpy-adjust-test-expectation-to-prevent-fail.patch * fix-status.diskusage-and-exclude-some-tests-to-run-w.patch * skip-certain-tests-if-necessary-and-mark-some-flaky-.patch * some-more-small-tests-fixes-enhancements-661.patch * provide-systemd-timer-unit.patch * fix-user.list_groups-omits-remote-groups.patch- Speed up salt.matcher.confirm_top by using __context__ - Do not call the async wrapper calls with the separate thread - Prevent OOM with high amount of batch async calls (bsc#1216063) - Add missing contextvars dependency in salt.version - Skip tests for unsupported algorithm on old OpenSSL version - Remove redundant `_file_find` call to the master - Prevent possible exception in tornado.concurrent.Future._set_done - Make reactor engine less blocking the EventPublisher - Make salt-master self recoverable on killing EventPublisher - Improve broken events catching and reporting - Make logging calls lighter - Remove unused import causing delays on starting salt-master - Mark python3-CherryPy as recommended package for the testsuite - Added: * skip-tests-for-unsupported-algorithm-on-old-openssl-.patch * make-reactor-engine-less-blocking-the-eventpublisher.patch * remove-unused-import-causing-delays-on-starting-salt.patch * make-logging-calls-lighter.patch * remove-redundant-_file_find-call-to-the-master.patch * prevent-possible-exception-in-tornado.concurrent.fut.patch * do-not-call-the-async-wrapper-calls-with-the-separat.patch * add-missing-contextvars-dependency-in-salt.version.patch * prevent-oom-with-high-amount-of-batch-async-calls-bs.patch * speed-up-salt.matcher.confirm_top-by-using-__context.patch * improve-broken-events-catching-and-reporting.patch * make-salt-master-self-recoverable-on-killing-eventpu.patch- Make "man" a recommended package instead of required- Convert oscap output to UTF-8 - Make Salt compatible with Python 3.11 - Ignore non-ascii chars in oscap output (bsc#1219001) - Fix detected issues in Salt tests when running on VMs - Make importing seco.range thread safe (bsc#1211649) - Fix problematic tests and allow smooth tests executions on containers - Discover Ansible playbook files as "*.yml" or "*.yaml" files (bsc#1211888) - Provide user(salt)/group(salt) capabilities for RPM 4.19 - Extend dependencies for python3-salt-testsuite and python3-salt packages - Improve Salt and testsuite packages multibuild - Enable multibuilld and create test flavor - Prevent exceptions with fileserver.update when called via state (bsc#1218482) - Improve pip target override condition with VENV_PIP_TARGET environment variable (bsc#1216850) - Fixed KeyError in logs when running a state that fails - Added: * make-importing-seco.range-thread-safe-bsc-1211649.patch * fixed-keyerror-in-logs-when-running-a-state-that-fai.patch * allow-kwargs-for-fileserver-roots-update-bsc-1218482.patch * decode-oscap-byte-stream-to-string-bsc-1219001.patch * fix-problematic-tests-and-allow-smooth-tests-executi.patch * discover-both-.yml-and-.yaml-playbooks-bsc-1211888.patch * fix-salt-warnings-and-testuite-for-python-3.11-635.patch * switch-oscap-encoding-to-utf-8-639.patch * fix-tests-failures-and-errors-when-detected-on-vm-ex.patch * improve-pip-target-override-condition-with-venv_pip_.patch- Prevent directory traversal when creating syndic cache directory on the master (CVE-2024-22231, bsc#1219430) - Prevent directory traversal attacks in the master's serve_file method (CVE-2024-22232, bsc#1219431) - Added: * fix-cve-2024-22231-and-cve-2024-22232-bsc-1219430-bs.patch- Ensure that pillar refresh loads beacons from pillar without restart - Fix the aptpkg.py unit test failure - Prefer unittest.mock to python-mock in test suite - Enable "KeepAlive" probes for Salt SSH executions (bsc#1211649) - Revert changes to set Salt configured user early in the stack (bsc#1216284) - Align behavior of some modules when using salt-call via symlink (bsc#1215963) - Fix gitfs "__env__" and improve cache cleaning (bsc#1193948) - Remove python-boto dependency for the python3-salt-testsuite package for Tumbleweed - Added: * enable-keepalive-probes-for-salt-ssh-executions-bsc-.patch * update-__pillar__-during-pillar_refresh.patch * fix-gitfs-__env__-and-improve-cache-cleaning-bsc-119.patch * dereference-symlinks-to-set-proper-__cli-opt-bsc-121.patch * prefer-unittest.mock-for-python-versions-that-are-su.patch * fix-the-aptpkg.py-unit-test-failure.patch * revert-make-sure-configured-user-is-properly-set-by-.patch- Randomize pre_flight_script path (CVE-2023-34049 bsc#1215157) - Allow all primitive grain types for autosign_grains (bsc#1214477) - Added: * fix-cve-2023-34049-bsc-1215157.patch * allow-all-primitive-grain-types-for-autosign_grains-.patch- Fix optimization_order opt to prevent testsuite fails - Improve salt.utils.json.find_json to avoid fails (bsc#1213293) - Use salt-call from salt bundle with transactional_update - Only call native_str on curl_debug message in tornado when needed - Implement the calling for batch async from the salt CLI - Fix calculation of SLS context vars when trailing dots on targetted sls/state (bsc#1213518) - Rename salt-tests to python3-salt-testsuite - Added: * fix-optimization_order-opt-to-prevent-test-fails.patch * fix-calculation-of-sls-context-vars-when-trailing-do.patch * implement-the-calling-for-batch-async-from-the-salt-.patch * improve-salt.utils.json.find_json-bsc-1213293.patch * use-salt-call-from-salt-bundle-with-transactional_up.patch * only-call-native_str-on-curl_debug-message-in-tornad.patch- Fix inconsistency in reported version by egg-info metadata (bsc#1215489) - Added: * write-salt-version-before-building-when-using-with-s.patch- Revert usage of long running REQ channel to prevent possible missing responses on requests and dublicated responses (bsc#1213960, bsc#1213630, bsc#1213257) - Fix gitfs cachedir basename to avoid hash collisions (bsc#1193948, bsc#1214797, CVE-2023-20898) - Added: * fixed-gitfs-cachedir_basename-to-avoid-hash-collisio.patch * revert-usage-of-long-running-req-channel-bsc-1213960.patch- Make sure configured user is properly set by Salt (bsc#1210994) - Do not fail on bad message pack message (bsc#1213441, CVE-2023-20897) - Fix broken tests to make them running in the testsuite - Prevent possible exceptions on salt.utils.user.get_group_dict (bsc#1212794) - Create minion_id with reproducible mtime - Fix detection of Salt codename by "salt_version" execution module - Fix regression: multiple values for keyword argument 'saltenv' (bsc#1212844) - Fix the regression of user.present state when group is unset (bsc#1212855) - Fix zypper repositories always being reconfigured - Fix utf8 handling in 'pass' renderer and make it more robust - Added: * make-sure-configured-user-is-properly-set-by-salt-bs.patch * prevent-possible-exceptions-on-salt.utils.user.get_g.patch * mark-salt-3006-as-released-586.patch * fix-the-regression-of-user.present-state-when-group-.patch * fix-tests-to-make-them-running-with-salt-testsuite.patch * fix-utf8-handling-in-pass-renderer-and-make-it-more-.patch * do-not-fail-on-bad-message-pack-message-bsc-1213441-.patch * zypper-pkgrepo-alreadyconfigured-585.patch * fix-regression-multiple-values-for-keyword-argument-.patch- Prevent _pygit2.GitError: error loading known_hosts when $HOME is not set (bsc#1210994) - Fix ModuleNotFoundError and other issues raised by salt-support module (bsc#1211591) - tornado: Fix an open redirect in StaticFileHandler (CVE-2023-28370, bsc#1211741) - Added: * 3006.0-prevent-_pygit2.giterror-error-loading-known_.patch * fix-some-issues-detected-in-salt-support-cli-module-.patch * tornado-fix-an-open-redirect-in-staticfilehandler-cv.patch- Make master_tops compatible with Salt 3000 and older minions (bsc#1212516) (bsc#1212517) - Added: * make-master_tops-compatible-with-salt-3000-and-older.patch- Avoid failures due transactional_update module not available in Salt 3006.0 (bsc#1211754) - Added: * define-__virtualname__-for-transactional_update-modu.patch- Avoid conflicts with Salt dependencies versions (bsc#1211612) - Added: * avoid-conflicts-with-dependencies-versions-bsc-12116.patch- Update to Salt release version 3006.0 (jsc#PED-3139) * See release notes: https://docs.saltproject.io/en/latest/topics/releases/3006.0.html - Add python3-looseversion as new dependency for salt - Add python3-packaging as new dependency for salt - Drop conflictive patch dicarded from upstream - Fix SLS rendering error when Jinja macros are used - Fix version detection and avoid building and testing failures - Added: * fix-version-detection-and-avoid-building-and-testing.patch * make-sure-the-file-client-is-destroyed-upon-used.patch - Modified: * 3005.1-implement-zypper-removeptf-573.patch * activate-all-beacons-sources-config-pillar-grains.patch * add-custom-suse-capabilities-as-grains.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * add-sleep-on-exception-handling-on-minion-connection.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-support-for-gpgautoimport-539.patch * allow-vendor-change-option-with-zypper.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * control-the-collection-of-lvm-grains-via-config.patch * debian-info_installed-compatibility-50453.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * fix-bsc-1065792.patch * fix-for-suse-expanded-support-detection.patch * fix-issue-2068-test.patch * fix-missing-minion-returns-in-batch-mode-360.patch * fix-ownership-of-salt-thin-directory-when-using-the-.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * fixes-for-python-3.10-502.patch * include-aliases-in-the-fqdns-grains.patch * info_installed-works-without-status-attr-now.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * pass-the-context-to-pillar-ext-modules.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * restore-default-behaviour-of-pkg-list-return.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * save-log-to-logfile-with-docker.build.patch * skip-package-names-without-colon-bsc-1208691-578.patch * switch-firewalld-state-to-use-change_interface.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * use-adler32-algorithm-to-compute-string-checksums.patch * use-rlock-to-avoid-deadlocks-in-salt-ssh.patch * use-salt-bundle-in-dockermod.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * allow-entrypoint-compatibility-for-importlib-metadat.patch * clarify-pkg.installed-pkg_verify-documentation.patch * detect-module.run-syntax.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * fixes-pkg.version_cmp-on-openeuler-systems-and-a-few.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * ignore-extend-declarations-from-excluded-sls-files.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * make-pass-renderer-configurable-other-fixes-532.patch * make-sure-saltcacheloader-use-correct-fileclient-519.patch * normalize-package-names-once-with-pkg.installed-remo.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch- Require python3-jmespath runtime dependency (bsc#1209233) - Fix problem with detecting PTF packages (bsc#1208691) - Fixes pkg.version_cmp on openEuler systems and a few other OS flavors - Make pkg.remove function from zypperpkg module to handle also PTF packages - Added: * 3005.1-implement-zypper-removeptf-573.patch * skip-package-names-without-colon-bsc-1208691-578.patch * fixes-pkg.version_cmp-on-openeuler-systems-and-a-few.patch- Update to Salt release version 3005.1 (jsc#PED-3042) - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3005.1.html - Allow entrypoint compatibility for "importlib-metadata>=5.0.0" (bsc#1207071) - Add missing patch after rebase to fix collections Mapping issues - Prevent deadlocks in salt-ssh executions - Create new salt-tests subpackage containing Salt tests - Added: * allow-entrypoint-compatibility-for-importlib-metadat.patch * use-rlock-to-avoid-deadlocks-in-salt-ssh.patch - Modified: * activate-all-beacons-sources-config-pillar-grains.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * add-custom-suse-capabilities-as-grains.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * add-sleep-on-exception-handling-on-minion-connection.patch * add-standalone-configuration-file-for-enabling-packa.patch * add-support-for-gpgautoimport-539.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * allow-vendor-change-option-with-zypper.patch * async-batch-implementation.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * clarify-pkg.installed-pkg_verify-documentation.patch * control-the-collection-of-lvm-grains-via-config.patch * debian-info_installed-compatibility-50453.patch * detect-module.run-syntax.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * fix-bsc-1065792.patch * fixes-for-python-3.10-502.patch * fix-for-suse-expanded-support-detection.patch * fix-issue-2068-test.patch * fix-missing-minion-returns-in-batch-mode-360.patch * fix-ownership-of-salt-thin-directory-when-using-the-.patch * fix-regression-with-depending-client.ssh-on-psutil-b.patch * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch * fix-test_ipc-unit-tests.patch * fix-the-regression-for-yumnotify-plugin-456.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * ignore-extend-declarations-from-excluded-sls-files.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * include-aliases-in-the-fqdns-grains.patch * include-stdout-in-error-message-for-zypperpkg-559.patch * info_installed-works-without-status-attr-now.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * make-pass-renderer-configurable-other-fixes-532.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * make-sure-saltcacheloader-use-correct-fileclient-519.patch * normalize-package-names-once-with-pkg.installed-remo.patch * pass-the-context-to-pillar-ext-modules.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * restore-default-behaviour-of-pkg-list-return.patch * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * run-salt-api-as-user-salt-bsc-1064520.patch * run-salt-master-as-dedicated-salt-user.patch * save-log-to-logfile-with-docker.build.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch * state.apply-don-t-check-for-cached-pillar-errors.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch * switch-firewalld-state-to-use-change_interface.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * use-adler32-algorithm-to-compute-string-checksums.patch * use-salt-bundle-in-dockermod.patch * x509-fixes-111.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch - Removed: * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * add-missing-ansible-module-functions-to-whitelist-in.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * adds-explicit-type-cast-for-port.patch * backport-syndic-auth-fixes.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * fix-crash-when-calling-manage.not_alive-runners.patch * fixes-56144-to-enable-hotadd-profile-support.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * fix-for-cve-2022-22967-bsc-1200566.patch * fix-inspector-module-export-function-bsc-1097531-481.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * fix-multiple-security-issues-bsc-1197417.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch * fix-the-regression-in-schedule-module-releasded-in-3.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * implementation-of-held-unheld-functions-for-state-pk.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * improvements-on-ansiblegate-module-354.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * refactor-and-improvements-for-transactional-updates-.patch * support-transactional-systems-microos.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch- Control the collection of lvm grains via config (bsc#1204939) - Added: * control-the-collection-of-lvm-grains-via-config.patch- Pass the context to pillar ext modules - Align Amazon EC2 (Nitro) grains with upstream (bsc#1203685) - Detect module run syntax version - Implement automated patches alignment for the Salt Bundle - Ignore extend declarations from excluded SLS files (bsc#1203886) - Clarify pkg.installed pkg_verify documentation - Enhance capture of error messages for Zypper calls in zypperpkg module - Make pass renderer configurable and fix detected issues - Workaround fopen line buffering for binary mode (bsc#1203834) - Added: * detect-module.run-syntax.patch * fopen-workaround-bad-buffering-for-binary-mode-563.patch * make-pass-renderer-configurable-other-fixes-532.patch * clarify-pkg.installed-pkg_verify-documentation.patch * align-amazon-ec2-nitro-grains-with-upstream-pr-bsc-1.patch * pass-the-context-to-pillar-ext-modules.patch * ignore-extend-declarations-from-excluded-sls-files.patch * include-stdout-in-error-message-for-zypperpkg-559.patch- Handle non-UTF-8 bytes in core grains generation (bsc#1202165) - Fix Syndic authentication errors (bsc#1199562) - Add Amazon EC2 detection for virtual grains (bsc#1195624) - Fix the regression in schedule module releasded in 3004 (bsc#1202631) - Fix state.apply in test mode with file state module on user/group checking (bsc#1202167) - Change the delimeters to prevent possible tracebacks on some packages with dpkg_lowpkg - Make zypperpkg to retry if RPM lock is temporarily unavailable (bsc#1200596) - Fix test_ipc unit test - Added: * retry-if-rpm-lock-is-temporarily-unavailable-547.patch * change-the-delimeters-to-prevent-possible-tracebacks.patch * fix-test_ipc-unit-tests.patch * backport-syndic-auth-fixes.patch * fix-the-regression-in-schedule-module-releasded-in-3.patch * add-amazon-ec2-detection-for-virtual-grains-bsc-1195.patch * ignore-non-utf8-characters-while-reading-files-with-.patch * fix-state.apply-in-test-mode-with-file-state-module-.patch- Add support for gpgautoimport in zypperpkg module - Update Salt to work with Jinja >= and <= 3.1.0 (bsc#1198744) - Fix salt.states.file.managed() for follow_symlinks=True and test=True (bsc#1199372) - Make Salt 3004 compatible with pyzmq >= 23.0.0 (bsc#1201082) - Add support for name, pkgs and diff_attr parameters to upgrade function for zypper and yum (bsc#1198489) - Fix ownership of salt thin directory when using the Salt Bundle - Set default target for pip from VENV_PIP_TARGET environment variable - Normalize package names once with pkg.installed/removed using yum (bsc#1195895) - Save log to logfile with docker.build - Use Salt Bundle in dockermod - Ignore erros on reading license files with dpkg_lowpkg (bsc#1197288) - Added: * fix-ownership-of-salt-thin-directory-when-using-the-.patch * add-support-for-name-pkgs-and-diff_attr-parameters-t.patch * save-log-to-logfile-with-docker.build.patch * add-support-for-gpgautoimport-539.patch * fix-jinja2-contextfuntion-base-on-version-bsc-119874.patch * normalize-package-names-once-with-pkg.installed-remo.patch * use-salt-bundle-in-dockermod.patch * ignore-erros-on-reading-license-files-with-dpkg_lowp.patch * fix-62092-catch-zmq.error.zmqerror-to-set-hwm-for-zm.patch * fix-salt.states.file.managed-for-follow_symlinks-tru.patch * set-default-target-for-pip-from-venv_pip_target-envi.patch- Fix PAM auth issue due missing check for PAM_ACCT_MGM return value (CVE-2022-22967) (bsc#1200566) - Added: * fix-for-cve-2022-22967-bsc-1200566.patch- Make sure SaltCacheLoader use correct fileclient (bsc#1199149) - Added: * make-sure-saltcacheloader-use-correct-fileclient-519.patch- Fixes for Python 3.10 - Added: * fixes-for-python-3.10-502.patch- Fix regression preventing bootstrapping new clients caused by redundant dependency on psutil (bsc#1197533) - Prevent data pollution between actions proceesed at the same time (bsc#1197637) - Added: * fix-regression-with-depending-client.ssh-on-psutil-b.patch * prevent-affection-of-ssh.opts-with-lazyloader-bsc-11.patch- Fix salt-ssh opts poisoning (bsc#1197637) - Added: * fix-salt-ssh-opts-poisoning-bsc-1197637-3004-501.patch- Fix multiple security issues (bsc#1197417) * Sign authentication replies to prevent MiTM (CVE-2022-22935) * Sign pillar data to prevent MiTM attacks. (CVE-2022-22934) * Prevent job and fileserver replays (CVE-2022-22936) * Fixed targeting bug, especially visible when using syndic and user auth. (CVE-2022-22941) - Added: * fix-multiple-security-issues-bsc-1197417.patch- Add salt-ssh with Salt Bundle support (venv-salt-minion) (bsc#1182851, bsc#1196432) - Fix issues found around pre_flight_script_args - Restrict "state.orchestrate_single" to pass a pillar value if it exists (bsc#1194632) - Fix salt-call event.send with pillar or grains - Update generated documentation to 3004 - Added: * add-salt-ssh-support-with-venv-salt-minion-3004-493.patch * state.orchestrate_single-does-not-pass-pillar-none-4.patch * prevent-shell-injection-via-pre_flight_script_args-4.patch * fix-salt-call-event.send-call-with-grains-and-pillar.patch- Expose missing "ansible" module functions in Salt 3004 (bsc#1195625) - Added: * add-missing-ansible-module-functions-to-whitelist-in.patch- Update to version 3004 (jsc#SLE-23675) * See release notes: https://docs.saltproject.io/en/master/topics/releases/3004.html - Don't check for cached pillar errors on state.apply (bsc#1190781) - Fix exception in batch_async caused by a bad function call - Fix inspector module export function (bsc#1097531) - Wipe NOTIFY_SOCKET from env in cmdmod (bsc#1193357) - Added: * state.apply-don-t-check-for-cached-pillar-errors.patch * wipe-notify_socket-from-env-in-cmdmod-bsc-1193357-30.patch * fix-inspector-module-export-function-bsc-1097531-481.patch * drop-serial-from-event.unpack-in-cli.batch_async.patch - Modified: * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-custom-suse-capabilities-as-grains.patch * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * switch-firewalld-state-to-use-change_interface.patch * debian-info_installed-compatibility-50453.patch * refactor-and-improvements-for-transactional-updates-.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * info_installed-works-without-status-attr-now.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * implementation-of-held-unheld-functions-for-state-pk.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * early-feature-support-config.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * improvements-on-ansiblegate-module-354.patch * support-transactional-systems-microos.patch * x509-fixes-111.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch * use-adler32-algorithm-to-compute-string-checksums.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * run-salt-master-as-dedicated-salt-user.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * include-aliases-in-the-fqdns-grains.patch - Removed: * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * templates-move-the-globals-up-to-the-environment-jin.patch * adding-preliminary-support-for-rocky.-59682-391.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * fix-save-for-iptables-state-module-bsc-1185131-372.patch * fix-a-test-and-some-variable-names-229.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * virt-enhancements.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch * figure-out-python-interpreter-to-use-inside-containe.patch * do-not-break-master_tops-for-minion-with-version-low.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * add-astra-linux-common-edition-to-the-os-family-list.patch- Simplify "transactional_update" module to not use SSH wrapper and allow more flexible execution - Add "--no-return-event" option to salt-call to prevent sending return event back to master. - Make "state.highstate" to acts on concurrent flag. - Use dnfnotify instead yumnotify for relevant distros - dnfnotify pkgset plugin implementation - Add rpm_vercmp python library support for version comparison - Prevent pkg plugins errors on missing cookie path (bsc#1186738) - Make "tar" as required for "salt-transactional-update" package - Make "salt-api" package to require python3-cherrypy on RHEL systems - Fix ip6_interface grain to not leak secondary IPv4 aliases (bsc#1191412) - Added: * fix-traceback.print_exc-calls-for-test_pip_state-432.patch * mock-ip_addrs-in-utils-minions.py-unit-test-443.patch * add-rpm_vercmp-python-library-for-version-comparison.patch * prevent-pkg-plugins-errors-on-missing-cookie-path-bs.patch * refactor-and-improvements-for-transactional-updates-.patch * fix-the-regression-for-yumnotify-plugin-456.patch * dnfnotify-pkgset-plugin-implementation-3002.2-450.patch * fix-ip6_interface-grain-to-not-leak-secondary-ipv4-a.patch- Fix issues with salt-ssh's extra-filerefs - Fix crash when calling manage.not_alive runners - Do not consider skipped targets as failed for ansible.playbooks state (bsc#1190446) - Added: * fix-crash-when-calling-manage.not_alive-runners.patch * 3003.3-do-not-consider-skipped-targets-as-failed-for.patch * fix-issues-with-salt-ssh-s-extra-filerefs.patch- Do not break master_tops for minion with version lower to 3003 - Support querying for JSON data in external sql pillar - Added: * do-not-break-master_tops-for-minion-with-version-low.patch * 3003.3-postgresql-json-support-in-pillar-423.patch- Update to Salt release version 3003.3 (jsc#SLE-22204) * See release notes: https://docs.saltstack.com/en/latest/topics/releases/3003.3.html - Added: * do-not-break-master_tops-for-minion-with-version-low.patch * support-transactional-systems-microos.patch * allow-vendor-change-option-with-zypper.patch * 3003.3-postgresql-json-support-in-pillar-423.patch * virt-enhancements.patch - Modified: * return-the-expected-powerpc-os-arch-bsc-1117995.patch * include-aliases-in-the-fqdns-grains.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * improvements-on-ansiblegate-module-354.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * fixes-56144-to-enable-hotadd-profile-support.patch * use-adler32-algorithm-to-compute-string-checksums.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch * implementation-of-held-unheld-functions-for-state-pk.patch * x509-fixes-111.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * add-migrated-state-and-gpg-key-management-functions-.patch * figure-out-python-interpreter-to-use-inside-containe.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * templates-move-the-globals-up-to-the-environment-jin.patch * debian-info_installed-compatibility-50453.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * fix-bsc-1065792.patch * adding-preliminary-support-for-rocky.-59682-391.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * async-batch-implementation.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * adds-explicit-type-cast-for-port.patch * restore-default-behaviour-of-pkg-list-return.patch * add-custom-suse-capabilities-as-grains.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * early-feature-support-config.patch - Removed: * virt-pass-emulator-when-getting-domain-capabilities-.patch * fix-virt.update-with-cpu-defined-263.patch * fix-unit-tests-for-batch-async-after-refactor.patch * opensuse-3000.3-spacewalk-runner-parse-command-250.patch * python3.8-compatibility-pr-s-235.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * fix-failing-unit-tests-for-batch-async.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * accumulated-changes-from-yomi-167.patch * add-docker-logout-237.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * get-os_arch-also-without-rpm-package-installed.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * add-hold-unhold-functions.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * support-config-non-root-permission-issues-fixes-u-50.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * fix-unit-test-for-grains-core.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * open-suse-3002.2-xen-grub-316.patch * transactional_update-detect-recursion-in-the-executo.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * grains-master-can-read-grains.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * fix-batch_async-obsolete-test.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * backport-thread.is_alive-fix-390.patch * backport-virt-patches-from-3001-256.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * loop-fix-variable-names-for-until_no_eval.patch * add-saltssh-multi-version-support-across-python-inte.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * exclude-the-full-path-of-a-download-url-to-prevent-i.patch * zypperpkg-filter-patterns-that-start-with-dot-244.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * opensuse-3000-virt-defined-states-222.patch * changed-imports-to-vendored-tornado.patch * add-virt.all_capabilities.patch * fix-for-some-cves-bsc1181550.patch * fix-grains.test_core-unit-test-277.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * fall-back-to-pymysql.patch * virt-uefi-fix-backport-312.patch * reintroducing-reverted-changes.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * make-profiles-a-package.patch * handle-master-tops-data-when-states-are-applied-by-t.patch * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * sanitize-grains-loaded-from-roster_grains.json.patch * pkgrepo-support-python-2.7-function-call-295.patch * integration-of-msi-authentication-with-azurearm-clou.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.patch * opensuse-3000-libvirt-engine-fixes-251.patch * revert-add-patch-support-for-allow-vendor-change-opt.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * transactional_update-unify-with-chroot.call.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * fix-novendorchange-option-284.patch * fix-async-batch-race-conditions.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * move-vendor-change-logic-to-zypper-class-355.patch * fixes-cve-2018-15750-cve-2018-15751.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * prevent-systemd-run-description-issue-when-running-a.patch * backport-a-few-virt-prs-272.patch * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * fix-__mount_device-wrapper-254.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * xfs-do-not-fails-if-type-is-not-present.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * remove-vendored-backports-abc-from-requirements.patch * remove-deprecated-warning-that-breaks-miniion-execut.patch * re-adding-function-to-test-for-root.patch * fix-async-batch-multiple-done-events.patch * 3002-set-distro-requirement-to-oldest-supported-vers.patch * backport-of-upstream-pr59492-to-3002.2-404.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * accumulated-changes-required-for-yomi-165.patch * add-pkg.services_need_restart-302.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * add-all_versions-parameter-to-include-all-installed-.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * opensuse-3000.2-virt-backports-236-257.patch * drop-wrong-mock-from-chroot-unit-test.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * fix-failing-unit-tests-for-systemd.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * fixing-streamclosed-issue.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * allow-vendor-change-option-with-zypper-313.patch * xen-disk-fixes-264.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * do-noop-for-services-states-when-running-systemd-in-.patch * open-suse-3002.2-bigvm-310.patch * fix-for-log-checking-in-x509-test.patch * open-suse-3002.2-virt-network-311.patch * async-batch-implementation-fix-320.patch * apply-patch-from-upstream-to-support-python-3.8.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * fix-ipv6-scope-bsc-1108557.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * support-transactional-systems-microos-271.patch- Exclude the full path of a download URL to prevent injection of malicious code (bsc#1190265) (CVE-2021-21996) - Added: * 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: * fix-failing-unit-tests-for-systemd.patch * add-missing-aarch64-to-rpm-package-architectures-405.patch * don-t-use-shell-sbin-nologin-in-requisites.patch * better-handling-of-bad-public-keys-from-minions-bsc-.patch * templates-move-the-globals-up-to-the-environment-jin.patch * fix-error-handling-in-openscap-module-bsc-1188647-40.patch * backport-of-upstream-pr59492-to-3002.2-404.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: * fix-save-for-iptables-state-module-bsc-1185131-372.patch * grains.extra-support-old-non-intel-kernels-bsc-11806.patch * enhance-openscap-module-add-xccdf_eval-call-386.patch * backport-thread.is_alive-fix-390.patch * parsing-epoch-out-of-version-provided-during-pkg-rem.patch * handle-volumes-on-stopped-pools-in-virt.vm_info-373.patch * virt-use-dev-kvm-to-detect-kvm-383.patch * implementation-of-held-unheld-functions-for-state-pk.patch * enhance-logging-when-inotify-beacon-is-missing-pyino.patch * move-vendor-change-logic-to-zypper-class-355.patch * virt-pass-emulator-when-getting-domain-capabilities-.patch * do-noop-for-services-states-when-running-systemd-in-.patch * fix-exception-in-yumpkg.remove-for-not-installed-pac.patch * adding-preliminary-support-for-rocky.-59682-391.patch * fix-missing-minion-returns-in-batch-mode-360.patch * figure-out-python-interpreter-to-use-inside-containe.patch * handle-master-tops-data-when-states-are-applied-by-t.patch- Check if dpkgnotify is executable (bsc#1186674) - Added: * check-if-dpkgnotify-is-executable-bsc-1186674-376.patch- Drop support for Python2. Obsoletes "python2-salt" package (jsc#SLE-18033) - Fix issue parsing errors in ansiblegate state module - 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 - Added: * fix-issue-parsing-errors-in-ansiblegate-state-module.patch * prevent-command-injection-in-the-snapper-module-bsc-.patch * transactional_update-detect-recursion-in-the-executo.patch- Improvements on "ansiblegate" module (bsc#1185092): * New methods: ansible.targets / ansible.discover_playbooks * General bugfixes - Added: * improvements-on-ansiblegate-module-354.patch- Regression fix of salt-ssh on processing some targets - Add support for Alibaba Cloud Linux 2 (Aliyun Linux) - Update target fix for salt-ssh to process targets list (bsc#1179831) - Add notify beacon for Debian/Ubuntu systems - Add core grains support for AlmaLinux and Alibaba Could Linux - Allow vendor change option with zypper - Added: * add-almalinux-and-alibaba-cloud-linux-to-the-os-fami.patch * update-target-fix-for-salt-ssh-to-process-targets-li.patch * regression-fix-of-salt-ssh-on-processing-targets-353.patch * notify-beacon-for-debian-ubuntu-systems-347.patch * allow-vendor-change-option-with-zypper-313.patch * add-alibaba-cloud-linux-2-by-backporting-upstream-s-.patch- virt.network_update: handle missing ipv4 netmask attribute - Set distro requirement to oldest supported version in requirements/base.txt - Do not monkey patch yaml loaders: Prevent breaking Ansible filter modules (bsc#1177474) - Don't require python3-certifi - Fix race conditions for corner cases when handling SIGTERM by minion (bsc#1172110) - Added: * prevent-race-condition-on-sigterm-for-the-minion-bsc.patch * 3002-set-distro-requirement-to-oldest-supported-vers.patch * do-not-monkey-patch-yaml-bsc-1177474.patch * virt.network_update-handle-missing-ipv4-netmask-attr.patch- Allow extra_filerefs as sanitized kwargs for SSH client - Fix regression on cmd.run when passing tuples as cmd (bsc#1182740) - 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) - Implementation of suse_ip execution module to prevent issues with network.managed (bsc#1099976) - 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) - Bring missing part of async batch implementation back (bsc#1182382) (CVE-2021-25315) - Always require python3-distro (bsc#1182293) - Added: * async-batch-implementation-fix-320.patch * implementation-of-suse_ip-execution-module-bsc-10999.patch * fix-for-some-cves-bsc1181550.patch * fixes-56144-to-enable-hotadd-profile-support.patch * add-sleep-on-exception-handling-on-minion-connection.patch * allow-extra_filerefs-as-sanitized-kwargs-for-ssh-cli.patch * fix-regression-on-cmd.run-when-passing-tuples-as-cmd.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 - Do not crash when unexpected cmd output at listing patches (bsc#1181290) - Fix behavior for "onlyif/unless" when multiple conditions (bsc#1180818) - Added: * 3002.2-xen-spicevmc-dns-srv-records-backports-314.patch * do-not-crash-when-unexpected-cmd-output-at-listing-p.patch * open-suse-3002.2-xen-grub-316.patch * fix-onlyif-unless-when-multiple-conditions-bsc-11808.patch * virt-uefi-fix-backport-312.patch- Remove deprecated warning that breaks minion execution when "server_id_use_crc" opts is missing - Added: * remove-deprecated-warning-that-breaks-miniion-execut.patch- Revert wrong zypper patch to support vendorchanges flags on pkg.install - Added: * revert-add-patch-support-for-allow-vendor-change-opt.patch- Force zyppnotify to prefer Packages.db than Packages if it exists - Allow vendor change option with zypper - Add pkg.services_need_restart - Fix for file.check_perms to work with numeric uid/gid - Added: * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * add-pkg.services_need_restart-302.patch * add-patch-support-for-allow-vendor-change-option-wit.patch- virt: more network support Add more network and PCI/USB host devices passthrough support to virt module and states - Bigvm backports virt consoles, CPU tuning and topology, and memory tuning. - Fix pkg states when DEB package has "all" arch - Added: * open-suse-3002.2-virt-network-311.patch * open-suse-3002.2-bigvm-310.patch * fix-aptpkg.normalize_name-when-package-arch-is-all.patch- Update to Salt release version 3002.2 - See release notes: https://docs.saltstack.com/en/latest/topics/releases/3002.2.html - Do not force beacons configuration to be a list. Revert https://github.com/saltstack/salt/pull/58655 - Drop wrong virt capabilities code after rebasing patches - Remove msgpack < 1.0.0 from base requirements (bsc#1176293) - Added: * revert-fixing-a-use-case-when-multiple-inotify-beaco.patch * drop-wrong-virt-capabilities-code-after-rebasing-pat.patch * remove-msgpack-1.0.0-requirement-in-the-installed-me.patch - Modified: * add-all_versions-parameter-to-include-all-installed-.patch * fix-failing-unit-tests-for-batch-async.patch * return-the-expected-powerpc-os-arch-bsc-1117995.patch * get-os_arch-also-without-rpm-package-installed.patch * fix-cve-2020-25592-and-add-tests-bsc-1178319.patch * fix-async-batch-race-conditions.patch * avoid-excessive-syslogging-by-watchdog-cronjob-58.patch * make-profiles-a-package.patch * virt._get_domain-don-t-raise-an-exception-if-there-i.patch * add-docker-logout-237.patch * do-not-make-ansiblegate-to-crash-on-python3-minions.patch * fall-back-to-pymysql.patch * fix-zypper.list_pkgs-to-be-aligned-with-pkg-state.patch * fix-bsc-1065792.patch * support-for-btrfs-and-xfs-in-parted-and-mkfs.patch * fix-novendorchange-option-284.patch * do-not-crash-when-there-are-ipv6-established-connect.patch * allow-passing-kwargs-to-pkg.list_downloaded-bsc-1140.patch * accumulated-changes-from-yomi-167.patch * add-new-custom-suse-capability-for-saltutil-state-mo.patch * loosen-azure-sdk-dependencies-in-azurearm-cloud-driv.patch * make-setup.py-script-to-not-require-setuptools-9.1.patch * prevent-systemd-run-description-issue-when-running-a.patch * implement-network.fqdns-module-function-bsc-1134860-.patch * add-batch_presence_ping_timeout-and-batch_presence_p.patch * provide-the-missing-features-required-for-yomi-yet-o.patch * debian-info_installed-compatibility-50453.patch * enable-passing-a-unix_socket-for-mysql-returners-bsc.patch * fixes-cve-2018-15750-cve-2018-15751.patch * strip-trailing-from-repo.uri-when-comparing-repos-in.patch * ensure-virt.update-stop_on_reboot-is-updated-with-it.patch * add-multi-file-support-and-globbing-to-the-filetree-.patch * accumulated-changes-required-for-yomi-165.patch * calculate-fqdns-in-parallel-to-avoid-blockings-bsc-1.patch * zypperpkg-ignore-retcode-104-for-search-bsc-1176697-.patch * ansiblegate-take-care-of-failed-skipped-and-unreacha.patch * prevent-ansiblegate-unit-tests-to-fail-on-ubuntu.patch * reintroducing-reverted-changes.patch * fix-a-wrong-rebase-in-test_core.py-180.patch * changed-imports-to-vendored-tornado.patch * prevent-logging-deadlock-on-salt-api-subprocesses-bs.patch * fix-batch_async-obsolete-test.patch * xen-disk-fixes-264.patch * remove-deprecated-usage-of-no_mock-and-no_mock_reaso.patch * read-repo-info-without-using-interpolation-bsc-11356.patch * batch.py-avoid-exception-when-minion-does-not-respon.patch * fix-zypper-pkg.list_pkgs-expectation-and-dpkg-mockin.patch * temporary-fix-extend-the-whitelist-of-allowed-comman.patch * adds-explicit-type-cast-for-port.patch * remove-vendored-backports-abc-from-requirements.patch * drop-wrong-mock-from-chroot-unit-test.patch * remove-arch-from-name-when-pkg.list_pkgs-is-called-w.patch * loop-fix-variable-names-for-until_no_eval.patch * fix-for-suse-expanded-support-detection.patch * make-aptpkg.list_repos-compatible-on-enabled-disable.patch * run-salt-api-as-user-salt-bsc-1064520.patch * do-not-load-pip-state-if-there-is-no-3rd-party-depen.patch * fix-unit-test-for-grains-core.patch * add-custom-suse-capabilities-as-grains.patch * transactional_update-unify-with-chroot.call.patch * x509-fixes-111.patch * fix-ipv6-scope-bsc-1108557.patch * add-cpe_name-for-osversion-grain-parsing-u-49946.patch * use-current-ioloop-for-the-localclient-instance-of-b.patch * fixed-bug-lvm-has-no-parttion-type.-the-scipt-later-.patch * prevent-import-errors-when-running-test_btrfs-unit-t.patch * add-standalone-configuration-file-for-enabling-packa.patch * support-config-non-root-permission-issues-fixes-u-50.patch * use-threadpool-from-multiprocessing.pool-to-avoid-le.patch * fixing-streamclosed-issue.patch * early-feature-support-config.patch * add-astra-linux-common-edition-to-the-os-family-list.patch * switch-firewalld-state-to-use-change_interface.patch * xfs-do-not-fails-if-type-is-not-present.patch * fix-aptpkg-systemd-call-bsc-1143301.patch * fix-unit-tests-for-batch-async-after-refactor.patch * move-server_id-deprecation-warning-to-reduce-log-spa.patch * add-migrated-state-and-gpg-key-management-functions-.patch * add-virt.all_capabilities.patch * fix-the-removed-six.itermitems-and-six.-_type-262.patch * activate-all-beacons-sources-config-pillar-grains.patch * integration-of-msi-authentication-with-azurearm-clou.patch * run-salt-master-as-dedicated-salt-user.patch * grains-master-can-read-grains.patch * async-batch-implementation.patch * add-hold-unhold-functions.patch * info_installed-works-without-status-attr-now.patch * add-saltssh-multi-version-support-across-python-inte.patch * backport-a-few-virt-prs-272.patch * fix-wrong-test_mod_del_repo_multiline_values-test-af.patch * improve-batch_async-to-release-consumed-memory-bsc-1.patch * invalidate-file-list-cache-when-cache-file-modified-.patch * apply-patch-from-upstream-to-support-python-3.8.patch * prevent-test_mod_del_repo_multiline_values-to-fail.patch * avoid-traceback-when-http.query-request-cannot-be-pe.patch * let-salt-ssh-use-platform-python-binary-in-rhel8-191.patch * fix-async-batch-multiple-done-events.patch * include-aliases-in-the-fqdns-grains.patch * do-not-raise-streamclosederror-traceback-but-only-lo.patch * backport-virt-patches-from-3001-256.patch * restore-default-behaviour-of-pkg-list-return.patch * batch_async-avoid-using-fnmatch-to-match-event-217.patch * do-not-break-repo-files-with-multiple-line-values-on.patch * opensuse-3000-virt-defined-states-222.patch * add-environment-variable-to-know-if-yum-is-invoked-f.patch * fix-a-test-and-some-variable-names-229.patch * add-supportconfig-module-for-remote-calls-and-saltss.patch * option-to-en-disable-force-refresh-in-zypper-215.patch * fix-for-temp-folder-definition-in-loader-unit-test.patch * sanitize-grains-loaded-from-roster_grains.json.patch * add-publish_batch-to-clearfuncs-exposed-methods.patch * fix-virt.update-with-cpu-defined-263.patch * fix-git_pillar-merging-across-multiple-__env__-repos.patch * fix-for-log-checking-in-x509-test.patch * virt-adding-kernel-boot-parameters-to-libvirt-xml-55.patch * batch-async-catch-exceptions-and-safety-unregister-a.patch * re-adding-function-to-test-for-root.patch * bsc-1176024-fix-file-directory-user-and-group-owners.patch * fix-memory-leak-produced-by-batch-async-find_jobs-me.patch * path-replace-functools.wraps-with-six.wraps-bsc-1177.patch * don-t-call-zypper-with-more-than-one-no-refresh.patch * fix-issue-2068-test.patch * python3.8-compatibility-pr-s-235.patch * remove-unnecessary-yield-causing-badyielderror-bsc-1.patch * use-adler32-algorithm-to-compute-string-checksums.patch - Removed: * make-salt.ext.tornado.gen-to-use-salt.ext.backports_.patch * add-patch-support-for-allow-vendor-change-option-wit.patch * add-missing-fun-for-returns-from-wfunc-executions.patch * use-full-option-name-instead-of-undocumented-abbrevi.patch * set-passphrase-for-salt-ssh-keys-to-empty-string-293.patch * make-lazyloader.__init__-call-to-_refresh_file_mappi.patch * add-pkg.services_need_restart-302.patch * fix-typo-on-msgpack-version-when-sanitizing-msgpack-.patch * avoid-has_docker-true-if-import-messes-with-salt.uti.patch * msgpack-support-versions-1.0.0.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-for-return-value-ret-vs-return-in-batch-mode.patch * do-not-report-patches-as-installed-when-not-all-the-.patch * fix-for-bsc-1102248-psutil-is-broken-and-so-process-.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * decide-if-the-source-should-be-actually-skipped.patch * loader-invalidate-the-import-cachefor-extra-modules.patch * opensuse-3000.3-bigvm-backports-303.patch * add-missing-_utils-at-loader-grains_func.patch * removes-unresolved-merge-conflict-in-yumpkg-module.patch * add-ip-filtering-by-network.patch * fix-cve-2020-11651-and-fix-cve-2020-11652.patch * various-fixes-to-the-mysql-module-to-break-out-the-h.patch * fix-for-unless-requisite-when-pip-is-not-installed.patch * fix-type-error-in-tornadoimporter.patch * fix-regression-in-service-states-with-reload-argumen.patch * revert-changes-to-slspath-saltstack-salt-56341.patch - Renamed: * support-transactional-systems-microos-268.patch - > support-transactional-systems-microos-271.patch * zypperpkg-filter-patterns-that-start-with-dot-243.patch - > zypperpkg-filter-patterns-that-start-with-dot-244.patch * opensuse-3000-libvirt-engine-fixes-248.patch - > opensuse-3000-libvirt-engine-fixes-251.patch * opensuse-3000.2-virt-backports-236.patch - > opensuse-3000.2-virt-backports-236-257.patch * pkgrepo-support-python-2.7-function-call-294.patch - > pkgrepo-support-python-2.7-function-call-295.patch * fix-__mount_device-wrapper-253.patch - > fix-__mount_device-wrapper-254.patch * fix-grains.test_core-unit-test-276.patch - > fix-grains.test_core-unit-test-277.patch * opensuse-3000-spacewalk-runner-parse-command-247.patch - > opensuse-3000.3-spacewalk-runner-parse-command-250.patch- 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: * opensuse-3000-bigvm-backports-300.patch * force-zyppnotify-to-prefer-packages.db-than-packages.patch * fix-salt.utils.stringutils.to_str-calls-to-make-it-w.patch * add-pkg.services_need_restart-302.patch * add-patch-support-for-allow-vendor-change-option-wit.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)/bin/sh/bin/sh/bin/shh04-ch1c 1751872990  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK*MNOPQRSTUVWXYZ[\]^_`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 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:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.5.33006.0-150500.4.55.13006.0-150500.4.55.13006.0-150500.4.55.1    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! """"""""""""""""""""""##$#%%&&&&&&&&&%%%%%%%%''(('))***))++,,,,,,,,,,,,,,,,,,,,+++++++++++++++++++--......-----//0000000//11221////3344444444444444444444444444444444333333333333333333355666666666666555555555553333333337778888888888888888888888888888888888888877777777777777777777777777777777777733333/99:::99//;;<<<<<<<<;;;;;;;==>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>=============================??@@@??AABBBACCDAAEEFFFFFEEEEGGHHHHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGIIJJJIIKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKMMNNNNNNNNMMMMMMMKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKOOPPOQQRRRRQQQSSTTSQOUUVVVVUUUOWWXXXXXXXXXXXXXXXXXXXWWWWWWWWWWWWWWWWWWYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[[\\[]]^^^^^^^^^^^^^^^^^^^^^^^^^]]]]]]]]]]]]]]]]]]]]]]]]__```__aabbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaccdddddddddddddddddddddddddddddddddddddddddcccccccccccccccccccccccccccccccccccccccceeffffffffffffeeeeeeeeeeegghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggiijjjjjjjjjjjjjjjiiiiiiiiiiiiiikkllllllllllkkkkkkkkkmmnmooppomqqrrqssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssuuvuwwwwwwwuxxuyuzzzzzzzu{{{u||||||||}}~~~~~~~~~~~}}}}}}}}}}saltsalt-apisalt-callsalt-cloudsalt-cpsalt-keysalt-mastersalt-minionsalt-proxysalt-runsalt-sshsalt-supportsalt-syndicspmzyppnotifysalt-callsalt-call-3.6salt-supportsalt-support-3.6spmspm-3.6saltsalt-3006.0-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.pyccrypt.cpython-36.pycexceptions.cpython-36.pycfeatures.cpython-36.pycfileclient.cpython-36.pyckey.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.txtacl__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.pycjunos_rre_keys.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_monitor.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.pycswapusage.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.pyjunos_rre_keys.pyload.pylog_beacon.pymemusage.pynapalm_beacon.pynetwork_info.pynetwork_settings.pypkg.pyproxy_example.pyps.pysalt_monitor.pysalt_proxy.pysensehat.pyservice.pysh.pysmartos_imgadm.pysmartos_vmadm.pystatus.pyswapusage.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.pychannel__init__.py__pycache____init__.cpython-36.pycclient.cpython-36.pycserver.cpython-36.pycclient.pyserver.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.pycmixins.cpython-36.pycnetapi.cpython-36.pycmixins.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.pychetzner.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.pyhetzner.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.pydeployArch-git.shArch.shDebian-git.shDebian.shFedora-git.shFedora.shFreeBSD-git.shFreeBSD.shNone.shRHEL5-git.shRHEL5.shRHEL6-git.shRHEL6.shSmartOS.shUbuntu-git.shUbuntu.shbootstrap-salt.shcurl-bootstrap-git.shcurl-bootstrap.shpython-bootstrap.shwget-bootstrap-nocert.shwget-bootstrap.shexceptions.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.pycslack_bolt_engine.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.pyslack_bolt_engine.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.pycsaslprep.cpython-36.pycssl_match_hostname.cpython-36.pycwin_inet_pton.cpython-36.pyczipp.cpython-36.pycbackports_abc.pyimportlib_metadata__init__.py__pycache____init__.cpython-36.pyc_compat.cpython-36.pyc_compat.pyipaddress.pysaslprep.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.pyzipp.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.pycmetadata_azure.cpython-36.pycmetadata_gce.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.pymetadata_azure.pymetadata_gce.pyminion_process.pynapalm.pynvme.pynxos.pyopts.pypanos.pypending_reboot.pyphilips_hue.pyrest_sample.pysmartos.pyssh_sample.pyzfs.pykey.pyloader__init__.py__pycache____init__.cpython-36.pyccontext.cpython-36.pyclazy.cpython-36.pyccontext.pylazy.pylog__init__.py__pycache____init__.cpython-36.pycmixins.cpython-36.pycsetup.cpython-36.pychandlers__init__.py__pycache____init__.cpython-36.pycmixins.pysetup.pylog_handlers__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.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.pycdeltaproxy.cpython-36.pycproxy.cpython-36.pycdeltaproxy.pyproxy.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.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.pycrestconf.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_event.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_lgpo_reg.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_shortcut.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.pycx509_v2.cpython-36.pycxapi_virt.cpython-36.pycxbpspkg.cpython-36.pycxfs.cpython-36.pycxml.cpython-36.pycxmpp.cpython-36.pycyaml.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.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.pyrestconf.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_event.pywin_file.pywin_firewall.pywin_groupadd.pywin_iis.pywin_ip.pywin_lgpo.pywin_lgpo_reg.pywin_license.pywin_network.pywin_ntp.pywin_path.pywin_pkg.pywin_pki.pywin_powercfg.pywin_psget.pywin_servermanager.pywin_service.pywin_shadow.pywin_shortcut.pywin_smtp_server.pywin_snmp.pywin_status.pywin_system.pywin_task.pywin_timezone.pywin_useradd.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyx509_v2.pyxapi_virt.pyxbpspkg.pyxfs.pyxml.pyxmpp.pyyaml.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.pycdeltaproxy.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.pycrestconf.cpython-36.pycssh_sample.cpython-36.pycvcenter.cpython-36.pycarista_pyeapi.pychronos.pycimc.pycisconso.pydeltaproxy.pydocker.pydummy.pyesxcluster.pyesxdatacenter.pyesxi.pyesxvm.pyfx2.pyjunos.pymarathon.pynapalm.pynetmiko_px.pynxos.pynxos_api.pypanos.pyphilips_hue.pyrest_sample.pyrestconf.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.pyctomlmod.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.pytomlmod.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.pycdir.cpython-36.pycflat.cpython-36.pycrange.cpython-36.pycscan.cpython-36.pycsshconfig.cpython-36.pycsshknownhosts.cpython-36.pycterraform.cpython-36.pycansible.pycache.pycloud.pyclustershell.pydir.pyflat.pyrange.pyscan.pysshconfig.pysshknownhosts.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.pyckeyvalue.cpython-36.pycmsgpack.cpython-36.pycplist.cpython-36.pycpython.cpython-36.pyctomlmod.cpython-36.pycyaml.cpython-36.pycyamlex.cpython-36.pycconfigparser.pyjson.pykeyvalue.pymsgpack.pyplist.pypython.pytomlmod.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.pycconsul.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_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_db.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.pycrestconf.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.pycsysfs.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_lgpo_reg.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_shortcut.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.pycx509_v2.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.pyconsul.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_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_db.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.pyrestconf.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.pysysfs.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_lgpo_reg.pywin_license.pywin_network.pywin_path.pywin_pki.pywin_powercfg.pywin_servermanager.pywin_shortcut.pywin_smtp_server.pywin_snmp.pywin_system.pywin_wua.pywin_wusa.pywinrepo.pywordpress.pyx509.pyx509_v2.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.jinjarh9_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.pycbase.cpython-36.pycclient.cpython-36.pycframe.cpython-36.pycipc.cpython-36.pyclocal.cpython-36.pycserver.cpython-36.pyctcp.cpython-36.pyczeromq.cpython-36.pycbase.pyclient.pyframe.pyipc.pylocal.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.pycboto3mod.cpython-36.pycboto_elb_tag.cpython-36.pycbotomod.cpython-36.pyccache.cpython-36.pycchannel.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.pycentrypoints.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_lgpo_reg.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.pycx509.cpython-36.pycxdg.cpython-36.pycxmlutil.cpython-36.pycyaml.cpython-36.pycyamldumper.cpython-36.pycyamlencoding.cpython-36.pycyamllint.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.pyboto3mod.pyboto_elb_tag.pybotomod.pycache.pychannel.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.pyentrypoints.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.pypyinstaller__init__.py__pycache____init__.cpython-36.pychook-salt.cpython-36.pychook-salt.pyrthooks__init__.py__pycache____init__.cpython-36.pyc_overrides.cpython-36.pycpyi_rth_salt.utils.vt.cpython-36.pycpyi_rth_subprocess.cpython-36.pyc_overrides.pypyi_rth_salt.utils.vt.pypyi_rth_subprocess.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_lgpo_reg.pywin_network.pywin_osinfo.pywin_pdh.pywin_reg.pywin_runas.pywin_service.pywin_system.pywin_update.pywinapi.pyx509.pyxdg.pyxmlutil.pyyaml.pyyamldumper.pyyamlencoding.pyyamllint.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.pylibexecsaltsaltsalt-3.6salt-apisalt-api-3.6salt-cloudsalt-cloud-3.6salt-cpsalt-cp-3.6salt-keysalt-key-3.6salt-mastersalt-master-3.6salt-minionsalt-minion-3.6salt-proxysalt-proxy-3.6salt-runsalt-run-3.6salt-sshsalt-ssh-3.6salt-syndicsalt-syndic-3.6zyppnotifyzyppnotify-3.6/etc/alternatives//usr/bin//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/salt-3006.0-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/channel//usr/lib/python3.6/site-packages/salt/channel/__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/cloud/deploy//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/importlib_metadata//usr/lib/python3.6/site-packages/salt/ext/importlib_metadata/__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/loader//usr/lib/python3.6/site-packages/salt/loader/__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/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/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/pyinstaller//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/__pycache__//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/rthooks//usr/lib/python3.6/site-packages/salt/utils/pyinstaller/rthooks/__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__//usr//usr/libexec//usr/libexec/salt/-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.suse.de/SUSE:Maintenance:39503/SUSE_SLE-15-SP5_Update/679f4c88fafc53e2ee99e8292d8f5619-salt.SUSE_SLE-15-SP5_Updatedrpmxz5x86_64-suse-linux             emptyPython script, ASCII text executabledirectoryASCII textUTF-8 Unicode textPython script, UTF-8 Unicode text executablepython 3.6 byte-compiledASCII text, with no line terminatorsPython script, ASCII text executable, with very long linesBourne-Again shell script, ASCII text executablePOSIX shell script, ASCII text executableC++ source, ASCII texta /usr/bin/env sh script, ASCII text executableDOS batch file, ASCII textPython script text executable Python script, ASCII text executable  !"#$%&'()*+,-./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 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 { | } ~  RRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RRRRRRRRRRRR+%Ez<# force re-generate a new thin.tgz rm -f /var/cache/salt/master/thin/version rm -f /var/cache/salt/minion/thin/version/bin/shmanpython3-jmespathpython3-netaddrpython3-passlibpython3-pyinotifypython3-Makopython3-gnupgpython3-timelibutf-86c80c69d47b60675ffba3a9f52cac95270c0e4d811090678692d46b3c3bbb98a?@7zXZ !t/cz]"k%pa  0X=oh~@%*#`? dۃ^S68¿xyO냫H0d1ƪ`!FL̮ -)87}Y\mI"\rD Pq@`//+ $/qHvbC"`iCUI{8(R!?.()C%KjCeX&꛻Kx{32[llMu# IXi`b6 ~( Uɭ'cyQRv4\&250 Hh;y]\U##rmj FyΊgt}PڟL$fzBQb!u /9\,ȑF?{iQ:/`;[. "֥CyMeW{^Ji q_ xjv\y/m bn) ,[)V\J#  d1kQ `hRܴO[OofEEkZEZ}YBBK췇Il0zXAI7ZLTOdsB+i( ֣Wmkgwi'm$k!^2 q/B,S([&nIRk7/_n;<752 C_eRQJ' dX`D[CJɲ@:`ً8; 䡳*xȷ?}Y(;DծRx;//r%/ɨ!0<!=\WN@\c3ofV3v^.z$~'f$wMa '{i*'efW؀Gz_$ 10rgDJS}RyI%d#YUm1: = PNk-fʁ!A2]p~iMDEqB\\5E-55Jw_hPI o[b+|)z_k3nŒtt)vRW˃*Tiϖ&}Q5fV P>6E4RAAi}12rJR@8ݪ|=~ߤ4X5T}ofvzCh/?Zp/J* QјCʫB@^<\|hc KRw!{ Χ"&ׇOR/4Q2:U+H.b'}F-@zTgx9kH= 0PO]"ڳbtp(awdOb+?a(0?|>*/NsT$Z1߱S< |H<ǧ8z2{[ |rCT#Um ~HEh^?d 73Բ\~gBxv#D(-NBri-%Gb׆O^b))^L: 6~@j$'|#(%_?g^4Mb!L~v0_Rm@Qpni  [.z]ys KQ_ԩMU1*96"ߤBߋMXXzMV#Mt ن qz.F_ay39pݩlU^TU*CxQF} 9FsO)m &mgg91/Qr4ů¬O ZiͿag"d-^gl'XHJo{󲈤+lM^Ad'W\5\WR9VzT|>bmǹM8i}^XcB*` S x#OG}Ny+^g(PKI ʖhx ,_e iNLޑl-IG#$lې{n48`T~W ;[ѫ<A 1yM'آċXkODNO,{)vܞ?g6hө_OzWtōk/] |t5&P)hxI>;&gu ?V^M3auBCg$m*_`6@-U?Y!.!44ϙYH f;񚙒֜=wbj0vʋ){8$Ճ#2sA1;<޴t |\nd7H ^\W Jv%;>=ZqFrź0_#}-y%V!jN2?mJ֓1Jn6dhGT *7zZi}]:K"K1_pp=.7Z W6׏EқNXgQk4fW.W}rQRXkJAm!(hMi?S瞇^7yҘ4`լe--kB_jkDBM!R1x؀VM@i- (W5nS!Zsڡ.HV`3jWW{(ϺG9HPJ~]X:/v?EtB:{R@b`[ Rѭ"ʸ<# =@?CD0_tC+.4mW)CҺP@9N"D"L ' 8% @M>: B B@PϕTUSn68JujƇ:`0Z9poe< xj\%8+FzN"{܀@rbhpi5qٻ|SЂY7:)17b: w u1Kny~HFvHD9/.8g_ݎ{ﲷNESzΑ3Fhͣ5}l(FwA\w4{dZP^I٦Xج}Q}"N$5mS;«zBHԎh y͐1K)p֤Zj1L!=utNV~-cF'|UHc px@ӆ  ,%Ѧe'aN[:sl']yoh{\nBp5ܥd <:% #_|]݂#]oir )·(zubounl#tcjXH`۱W{!Tm8mTsLpNݦT^:J庩mfddyzE~]j 6 C}0ƻ՘d7U4B0q+c,$P#i@*A$Pc`yxmMɷO*^ퟱ1"6Mc 0j\' =[Ce;,IVQ1$8iQjUo"{Qh_k"{7̚-G,Q!:q> 5WT^;#W3a`{Mfl%Qk#.x$J:}h=9T8Ÿovc5%阳y8F|Kz[қ *ZK을ڼp0A88gZ0$$_4dKH`lAYm&!B{Վʧh,T~GZ,2lOxhj u)xǂ͔tX]+4W[;+Cr%@y|:ls۾G?GBE( [VRBgZ(њ3(?֓!1vg&]qG&Z9bMVd*1l ukS>ƙGoW jkLM"|XΑ+`}pHt:テМ˸@& le&@^N7^8q mLĩD&K f.`U O"( i1WMh.A:kw.njPZP.E&NaƍV ,B73צK:޾TJo+IP?1bq=L݃6h>^M7H$J p+2[ ~B -yMMhxr, HpHb9P#g3~gp~cx.&WEK(D#}cC6S.`8\eUpW^k3m 鯆4:6CrQ@U3X9_ 3؁= "6=*x^)+o{<ُ]r(Oħ yū5g4@_.yemhgSE*׋| 3]>HPԔ+$UƸ6OPhu&s'B(n$gk}@A}h[WjT,[fWJTV /t*rK9_2 goi⩴bg$\RJ&&@am*/ҵ͊y>Ʊw -|iAhjh mvڌ ^i=gSdu_~ϥaQu#I(qH " ;nvt࿍Ig3nQ:VDԋ㚴Q)ځ`b1*mF{O+AgN`$/WGH5F*KN8@q5Lf4?0/+!/2-$Z=fZG`b躥tEvĭʕ7/:ji;^.1tbY'F]-ڏSxuGtgs(dam^C$&`QOHpWQ,`=&K|(ؕS-G?JRc,if7Fw1HpZMv40Ht~_z@MiCώ:j564Z~ zz4:3- )\In Y`Ys;- b)$_B[MǐRp fl`k*d͆)D=p%nJC|dM@"<-hB3U9W )|&PNQ5D40 bT{NIcjsj3>OL `=p1 #{pZ1z\̱Ff} \Mt?udsf/#IPv!f̢/sk'w!F&qdMQ{yY8P:zNEDp Qc[51l 2-U Ttu_< ޒCͶxUaZ?!VapsR gGdh}s|)#BƖ3*ax Y9JAS7arkd n\K;9p 6H@lຯ:?Nv<[hpjl$.5XdӘ @~#mTg=z ~q0~lHB"zyvv1O7TZ_;[Dg;QDNI"y5jGkV즗eSEwQ,6b"M|o\ſcARJ?)fz`J6Il6MGg!P:Bgڢc'қ+ <,‡j$55LFec[2{sRgW>B/7_F?:lf9eP{Ϻ. =, ijGgԻ9 wL-^zL6JIG$K[Gf4=n~j /|rV%=M2p%d6 jg´"±9yUOvKs{iqhcJ]c +.Ks?똱ٞp|qQmW#ݰy"CDL9%[ ;&>|&2eq]yG]zAgo/j^{tL]('ol;iFQ)a$:?4mɷfnElftH0 tFE y o0SNJ|/$ εև3X3΋0UЪuFsTVQ% nCHH){{>i?YVN)l9Yv.ѧtYRk%`!΁y6o=s\K!nl;yyl|F7g*wXhip"'eC5(L:`Qv2}C^;R?D羷q@mуS!̨VFem|+烯!YٖJ8vxwAƽy ހ&%¯|.)VJ}hx>0J=·?IF w89zm` nV) S,ci$H;NML6-PzB[M9HC3pេF=xuTX?xeq[F 7nML}& S]eh}`#ء]tNN%]7jW?o4沥;IE5~x~ᲈ 8G$SIƒ;)yA7rl+Lli>DT;cӛ˒ UVPR+Rq@@Q@Z8*c;}E l~оo.|-"(?ѭ Iqxጬ*;8=X5!Wa9O,7܌/f`B-dpu?}cw{מXeh-b$f€ĥ;qӜM?vSt^ e\ Ⱥ+}ږ{z2EO-,|fSG晳t@SӐݭi_7WlyAڙ2r5W2l͆~`pc5N|bY@Oxr[\`OKvr+,j}"Sπ7c:ƖPNOպz}o CNJy\SQ>5ݸuAA-QC b e_ˉDQoS51С>O7@/T sXfBcyv:GF˒cH}gBagW+(*ÕFV "[i_#k\onx])~tƂ0 N6Y[u "?0JE6q6+IsT#B3w(#6h2q(a+dc3gZb[} ?-ESk[jRtMBv(x9MܛmFVQ"ig_ka&NUGg$S)eKA0.n$Au0#'a*~8 5$mkt1wU{RR7mٚ.KD[V),|ECl.Wd^`ӗZ nі Q ș`&\TIK͹\8(^w@!t7UڔᄻۋMʟo/i?&I^j͹#9P2$^yz?(`𙉰U 9;H q`@C]2~m:IEa,] k8SNAYK*nԉ|7 U I%"(ao+PDiyoRQVWT:9–gm%Gqק9Stfa2n^Q:B'E8t=dK1FVs𑰃l.WyJѺgr?=9'wlL%c*Q[/kwLRYԜBFqC/0pO:Nؚ*WlU4&#Ogsٽ7nmYNuU[Vn u8aiOuU4xHF.485eo<ܽD$2PIohN=Y9}6pUr/_ WŒ0NX 7N7?Fk)PCbg< PffJ{O4%H T%J{}`P0uMzȋEd]Cqks\18p/:1a%Q~jAwIZQt#V#zoOIK?8.c똅 J,$ؒw#MĎ_"ݸ#a:ؐB_,~N-Rji F{]Qd h;漩C>MU?M|> ׾E_ØX`8$?( 2F֣9%~PAhxdphA1Bb 'D` jFo`Ԥ-<[hw@okeBqX>! @//p3`*2qiBmܫ#.R79MU]SA+ L=U=O>2~CnA7kȌBžKlz.iq+ >}S0s.Nh,'fhPD5ٰ[TBW( ;W@Pt$ +.OnٹC!*zYLfY9~̡%kҽ] Rv4a1]:"~Qژ>KSPj-}ec.pX:_ŻI<ħA4Gt3Lϓˆ Cܷ^8OQ<قoHASĩQo - $krXMߒ - +ߟ5mrY@ H~Tc2VlKuIʫ.ҵTZs&O֋'מqNb?~ÊsXhNqVqꆳOɤr 5!羞BӻCShmBx;)dfvXwp輵jʗm{6(gT I '/;l'uŗ[/-$uF[]\x%ځΚp'BMVOvy9{m_Iˡ=8ÅBӧ<|9d"b9D%Fg{ѓg>ek&z0v%%++=/`j8x@=.QlͣS$$V+:ΦB5d9s ]? Q%Hr O:*yj=^or1%y8W!ַH0͒ L;>\aM♮1Q/x΢{#=z &=Pvv0r~V1ƁOVr)~a:8TLglv"טX#*@Jf> 0N r(𵶄m6|px ގ)t#RL"fccE[K.ʓXeAPP#HɁ4Nt6T'1JasJwL:2+ݠ*ܰ"8sv{א#aLv5R1Y9 t58NΖd5rf~A#uBE_o/[Ӎ)E[PيjTJj4S P_s_$䃊sFȅaysu^n HWf 'fIxF ,Na6jB}6:W_GEM6?w8ã; ; kst rKRg镛?߁}|&߱lO$aN"/\qjDJ,emt KZ>5͛Id-uS&5rF?p搾ݐHꆢ|q;{X?YҒ=,NcvntmGIb,6 a_a -~Y F)cd.Զ’!,t[W;WE^- rS3 JcAMfӮȬܸzmQVr"5ghԅC\a''x LhC4~łAWv9|AN獳'Ǽ@z X)+P{Ik:/;1.Ћ1cO*)S4h l^ 샦q0n x6PE5QXZTNp)0okVm;QcO7@rAD:Ѻgt`l|IHW'+* z{wSsƻ6qbCi(yr+4"y_m2H*u6]Bt SEk vFyZV?bzjo{ԍ%hQMQHH#Κ5p| QMGrd=VQ3䃹H{щ ASR}@dc RS^@XKy#JޣM FضC GuiIivT!HE_ۮ-"BQ"9Ȩp bKD߄tʇ5:O}tqWB<ʼ0ε_jRוFU?8v}h¯-f?T^5]f Kvj>9x-kuWLnTvW!QA4yY3/(95\g'- 4+n_e<`}Tsfx"hI-!U|<#Lx`Zk Ncg oJ !O+#OURQƝIΖZ(g#,@ )a4zP~)%&`ܝUZ`޼BhSrY/<4,@GB0J !8|vMmAyIbQ·} 7¦3QIy WBK[:#ϭP|f9[ҐёI}\*q"|t mH~µ8(!C3҄^ΖBCyz*-m0y#FƀQVue\^bgtF1hh| \wǻYqq$Mat|G[]#7)hGUygFL$!e$j|T M~Z)0~=iR<(?ZIh&:łZ).df{ݡ@_ug u%I=ԧ-{ɱM,V%0:*w>U0le@mfHtW(Ӷ?*Neu]JlQP@04IUjRXR ꍏ^N`Ed?@@8"J6t>[D.>^Q˺2AǧlFLe2q G_: c$ÕY o#<`q3bKQZm*ƿbbj|9",dMRA){j:Wwi7FmK67hPdlPޟ ba13Pn<󥋽,BݰH<&_O T` Cz(23HP!OٱK,5J,.Hh ;洙]:x_%qf LW &\B*fioW8,qFC2KS,aZݕ@VkF1pYam7/!hejS1;ø+ƞ zM&^492ez Bƍ iP:<=z?[$k ,:)`ɓK+1"@BGk'zw~_ȦBY]=EsmYD\M4%d4㡗HxxĚifoUBDLn>VͣpV*Ο3s6U/uEӞ'5ӱVKZqZ jvG_X?g@cj??{-$7 ߹{fհ^lPM7PMLȘ`zaXmLs!­nZtHtrU/=XO1nRQ7]+]po( 2h@Lj_'!Y#) hA{p3KK}$Ոy@,TKdӘ=5G+U~p8`HAщ96" Te3t+x`?̧Q ^tĽ<^ڂQHSG8c≰JqXBAcCcjaZܚEKE%A7Gf] ƭ/4QS%6 bB0ɟZGJ0Щa48J}}@L|w惤}>1{T0c4mߕЈEq1̃~ fCX\U`FԼe|,ƿv\{A;"9C b@n$4zpǢr" oqw :fË0v/̧m咬`K$m7GZ]8GF&l/˴y_VHt,[;wnu9M%*3CNױCa+v|\ݠaX>32t{^q1#7:&61 #˯LW"1^PC"2G;XH5s,o> e=FD+!\д/BFu{NaA%f'O {W Tg)-צϸi[lJIHf|31Z+QJ>Ji:dW\v{Gbp (דJFe=*Q 3@PԶqV5ga!9IS)ipdVD]]޾[y+F,u|uˇGvdMH74؀*N:&F:&P/[ߓ8xٯ>5Ώ஖KZn 6 'e^0&k@)ܶt?P#&^]|p QT3FG\EFr( OO~ѓXTrSEML^wz>ȩP}ĨYl8$cn)tkXQYi)J̸Qy#>Hlx{T^'#Tuަ| D-6QO!dLExE5>9826zD|t[~[w14&L{y0~yW.Rs\/ (5ds{ Ц07c ZZ,H0#ts˩iW.9R![9h#1z#eW/6i=Ex0%i m I AtЫzAHeeb8{ڋe 0ޛ\lN*R9YYS~R {X@\G{RI3qEhY%&ǩsZD{dװ~AO[vL-AnDF}i{pLIUZ,Uܘvu նK |uM-"TFBԤ `wG%\ A7{Ռ]^ХhPzXљ""Ȏ@veuR?hu栔(H"[NSie\u޺h?'KjGeոFlX)4 n 6cJg,=D35 &r>4vyh1: 'JO.8OހZW}F a ۥ))R> ەxPa\gv)g4 ՋbT^v64{޺].vi:7jQC>Q q@^yn؎/)]~1z~= wTRjBNӖ*͝#.Y#xx7鎶`Ć 8*BZl+U4oqܹy\,[bpè: {Sko#-`TP~T_%dKA@]`^m;\\s#j@ubcPc"0 =+h^ jHP^Uf=&N0}Rtzr>/7h;ݳ7)HWfFLNnkD,h)TY= Y԰S~]~?\ڸP&Xi+,S?x 0у1\O!./o>3&1㦇 !nQBF#(X/r+QR uaY7ҝ, #4 B[t}27'=''k4Cf* Zpe琑=Zqݍi8d! .-{qaXwxi+ڼlK K.v Q[VLg6IJg6!JYe *I/}%fn#ĖX4NB^c|QcERKk"@)*LMe1E@}[Ta{ͯԨ!\7"S6U-c'LJdޝ̆II/ PkZ9[-O@a|d㫍QZeKzn7^;h-FGQnqGP] " # x'e3;AROyU~(6!Fr}*AfjUa14"!}fQ^NȘ^kӘ7*uB B ^)[19D0=1Ac**#Gh/P| /@ƫh:9tvC&`WC%8VMY՜0 p:QP5xy٧6p4qG~E<#:Dɜ ;Fpk:ZLX)œwa&|(Znj轟-p m߸lH-| % &܀A6/GqUT Qzos(;S+ɋo>ͣ^KȉGcqدZQ ns ſnu:y8-" t;KN is >ä%n~QjRV_nz;1qγβ`[J 7<b\eD+7K#PѾo/1ۺSڞQր(,P,R+ĎeW Osր4;RȗMxx*+oKu HHN?Fm8wR{$+ѷ{Ac\AN8ؙ5eyUYW1UD= d՝gZRP̋)Uxwq/=YEiYߏpn%|S }y f'l$J Yڇ&!(Bb3_ (gKpSF:c"6bH_Lt-xSN̢{g+urqW`UK) YyѿSt3#“d%39^2Sq Жe 8F;l&#ׄaӲzS+O➟4@CJ4kAWzٵ*|exWlRŋw?0r*'C!L!HN|{|-Dqt;pK -g]V70VYAߵ=~!J]گwuXufi9ݜ[ vg|mvF_:_ >[ Ţd\'s yd`A9#m Pv[u1̀o?@HF:;̧ȕn(, u6I ڈ mS&n'FFe&Ʀ ]z@@7Q:![YWz:N¶!8PY@&(aiq4 2LjO!. u3A"w%,2o_׹R~ "룚^SPVDrq1A숵 Ә[6@)|:h CO1$~â"c_tQvYa86վJm4([UUGN]rg+s S8x*ߐ { m>O!rM_ٗ%mHEjPRKQQL[w ^m^aQ LUK55ye'iaיLN£XdM$hDzgH¼TyughMq`cl (gOWtHu*6 =oJmI񑔻jQxD 51v[͸y!Z͙IvXLu^2I"gQ Ǔ^ P]zV$ϼ[cgӁ ӿHJ+X;.rOV;'{}vN΃ BKboБ2ڒ7D%i`N1Z CѺujw+!&*%F2Snlo6=h:c'Jz`)<:]|"53눷\g"ϗ`B`G̈́놨R̈́O`О9#S33h=r&c7x/"sgvK3QFn٧DD]!}H<6w,z NCa?z9#LGҠwpt,Rӓ,˽56?s]1ticWF@Lo˘jmʳ~|"ٞr3:؞s'&CA{|֤[G B]3iHETk,Cf7钖9Q\yvݣ k-UD7`}U^ejc/4\QY8iօ^fwr Eg&~NY|?N@+ὰ66춖CI-ڶjEnpQe5L;z^)SnqWW`Z%R02b Z0ܔ"RB?q6lD G9m9KFXL\4Ah0ҶT'dx.ZQhU"7c,V7|3-tW#w>~]^ A1Bڍ&Oc  \^Ӹf4Cs_@i;1ei">nO7D֩wMb7i٭zwt9H6q#%a7UngF |r[>2!<ɀsUQ|DROFl&N_ӿRAW#FlU"O+?auZˢm;t]-U5dBH(7 ϯaDȀBL&΋V=7߱+k޻ϬM{,Im@R.QyEnLXT⦼,Q*9zZ".R䳳GO/YRͱnfPwCpڶzUmmA֐PMyYhA)z.hmfW\f_sQa fXCw/zOj g|dO n(q';\z/OSh/vD{ x' 71+S_GD|M &v=dCyV["e3AM4) G.2jL"}Je0I& Np=t>n@NN@JSTηdGW7pEd!ag(LwV&bX {Ʈ /X/^]\]+gTvE" ufbw`~5K֞7*̎|BmeHqBȾ?e@ ~feS QX֔nD(FrGaC0srqpͰz͸%x \#C. exRկJ$^6@Nb-rbGTVeօ{3S%dU&-k9c屝M{3ƺ&i>rix~̽ `W+4o=LP~!0սJ^vgp4X }г4˥ttFc:L!/IReڏhKrR-3ތ"n<#j+C}.^YeIPwBtิol)=? u|xxUfU.ak*ޡgЪ:0e|~ Hl}Q m .tgviՓļS9^ˑJjAX{Sȷ_TxzXxb7v:HmR+ k%f;#zeRc41wCD* lRY+yë fLs=ꡫǘfSȌBQ9N{Df>X? n%dpS. AsCzhD35|i"^: Q&L,Y@k& ,v{U7pygA9t ]PθD- D7Q~ ̗oBtc|< 6}^D+t]"ΩZUvٙ4˚ cw (ث(j=Zv{sRhcM -ru=äg/qF*ʨdԃXCpK,'g MGv})" A :Ny۫Kı޶5VDí2VV~ 1tsf81i0IZh;.',TTF |ؤ.btqfܧ ǣg*;yL]9W̶.]doQ] Pq jknٙ~hEyiaRX4S- }*$*pM^Ce?W>3 BƏv`nf!b%bL'JۢS+NTh!@΋8_W'50x1') '@& WVdg9g }\%YI4N`F{KBJ(p;X>uHcs#Ԑ!2B!`H˙>yLWQZ6`gty%wAqtJ-ϵ:`9¬WYktY+70V2`Ms6"|CHXw >_na܊z+Y0F.Ë/9&xlȟbPn_~"nMYmIq>Hg 6X `lVr䈩"\{Hj>_' :䰲N5GxQ>i9z㋤Q_]'I{x=T`jN&i#9"fZZHßQy!ܠ$)Tọ)#T -&gOgON̐OիFFk68KS|:z#FD]o"hկ]E,Kmuи|G!&j2p?ŢQ "(wX[A^8t$rv)w鸟=V4m(iY{̶q^dZ((DqlNk˃ N# 8ۖ wt!ǹi6wu-g`8 v_&I. ˯ | y lqb:ںc[ʕĈF_oIMV[@n ,[5qc*ܻR[GHJRrWo 7F`lM xփGl ;oݒ}Y˄a(`O0^JP[#2"睤Q!% m6:[XJs VB(Lz`A~nk?-J9v03L,Z>H< 2SgPrH]S)wu>s񋿴A}Ǯ+Fyf0Y[&<Sje14YuI3m Ug%b[\,z$3 kl=`! ~U7Zna J6e[`}J8;ĜZf ,Ć${> B[%,o DKR Jދ'qmΨnUڸ~٨ΒJYBV̼c&jiM{!>Z\KN+bĄ#zuADJCUz╾eɐ݃x@*3wVXM-myo,Q<%BJOPpD;S:ĝi/<`v'ԁN@8۶ Y(~!nv椄\C_ukݮ!Vcs){8xM>ל-k==~>Ҿq-N]Ty{|%pȔ2Z/s#;zJh{G_/!p9xpF#T$C-3 9dOY99H*Vٶg+`Ny>0j?RBd?{9Է?pSLJCoR2(CEۮQ1X6JIMObULmmueRD;" Cx5.ɟ-U0 g;j۾Pr8a`Ohb*  Zy BU+ 4+~iĶA ,"LX@=/3N w2Ë|mM/ږ%/0Z.~Gj?c4Cm i@Oѝc>=}oHC r]5 f:\ PTCH+5_xsxYˌxڒHeUk7nEғ471R>0ւIqɑ5Y$xZx!cBKN4|lb$Gi[6hRW3;GZ˰K`斴Lq/ہeoA4E_ƛxLD0Lav3{ØaPwD|ý\< @lv :Jq:NZ;|X9((XDvݔ2>-82D!F^/ ްY\ YrZc]>pgxB8A7lV^E=ôꚼG#KP$@P ]2ڳTávkR N:Ӵ 0F3ТA \ 5wyY:ֻ06o if#̍X9V0bvHQ)0EEFԹ-+bf29xyI-L𐄁{o}Kghv${i@߭1o7ѫ3jdqzt ͫF:_8Grijh^ѲTYyq[m"0ta6D8105n@zE#RmͿ~Gǚ3%khleIFEI $-(x~c K'd*u 0*@@E-Wtӎ~<(l ǙeBݶ8㮬V〪*mQ2.+$:!qĜWm[l7{Q $6"c&󚨍ypJ3s&˧S?,Ql j}d-ﳡkS⏻xֺjvI0 @D`75^-\̙$qxn7 9 8Ό-)];'aKoj1]H`5<j# ueMan.[w*j+'4Ơ|S1Rw%z\^ע-ʌhHnw$5ʞ I^%wv206.oy;[h583BXi[Zõf\{\l%z!O7@%PY.bg_f~shV Y{ce%OAo'bm 9D3Jrp~cR%+يX0qMÏ ]h&M^^o2R,ad!,쉩ZJݡVa'!Zai*dȒ{a=q Vy|]ݬF4Hp $4s ]GJ}y.][0ȃ%B g|#20?'Ze]5qqZ[ R1B2f 7..Lkg<ʊkl3<&[doe:;uA]Y^ר'd12,juVZC8ܢO b$H3[ a_`%4!,4?MB}l_ks^`LsSQ]iYVJ9Lyn:HYY ER$WP)~J!^{w\pTYʮ76FEzՍ>Ek[+|{vjk=l j}g">{έiȀr;@ûA[lsFGRO->*ûM_g T jl2=VΪH&3}KJ=0F4"Pw4ų8F 8;}U'}Ӝ.$JLjBL|z {W<ؔ^d;BO@%ƍ/sQQ}^S6,`֦KG'4aAc4"0.^)Upb\Lcy? h|duR .'Y`,HC!aquJMy<ޯii+\׹`ȘoԠ/Kȝ։qxF7z')Ђ{#{ǀrP+V :diL6rWNMM|=Cu2G3X7=H-0T&;Ʒ n@4 (mFt~ "ͩ tܙ}2ۥҲݯk6C)IϩܨϢ8/R@Ӧc@_y]h)sy<m3:HTLcyxy+X5<9nه+;Ӗ]ڝ9> *~,o7! p+'gRȓ='IG(E}dΈ{I>m lIj ~;ޙ Q7Rm%CY16 ׊|gPIi~ަi**TavOMH8eb4dD䀼 !쥽Najjoo;/q{~i?iVF(t+ VtF"iRn4KKs##Zxc 0Qzb7K4bSF)Dp.:Wg[$J7iRsjHvIe]>|ӿ~XL?j?RlPgC!aTu2ݾ*4kJNZ)W ڤYƔޝP0Jǒ(m_斅W"44-vE윌t! `Śeua siVbiI؎ܓJ,v9uk#ɇsg͙M,HaYlW0.<i`m[ID=mK#EZM 1tIBS_9M} CH4Jse6U 2F*=~I!HuFn`Dr8\be9ON_bCۤEˍ{56YӜ aqYg^?j,H<W$"F6n0}q;:5 Q9O'N/ep7C ߊ5 oiWA#s!vDd(H/"ם '#Ȁl&؛?@ kO~ՎuЫI~CÙ e¥@鷮jE@h[l{z׏XVb|V-B#N;ngG/ v&@rHzJB+xQ+->t+7m.ITǼ9VAgW*:w4).~k'#y~1k{O15k(20plA ;v8*hwae4C7~1SqgS16ZQm(EaW+6M.qG84\@&=9Ds B/ -ssU@*Sk^jt󣭅1J86/Ԩdb | {֛5;MZ%ЬRoKπ1w5;~Qh4QØZ5LG\ ~aY}e/b> oŠ,uzc͵0T)ҔzFOϘ8 JZ_Vn&D3j5?7(HzGM0 ڞ!.V╅`VnMƤtQWAEj8k?ո;C ".r,!H{EvDMTEڿ2 J! ~W]kБjwYCS4>)9@~bC*h|`4aD"tWoTTQn/agaM 36K398 +#-_W>4 1M3[>6tm0h6"r'o&h04Evt .G* 214c=5ђ+I=L%=f(8&@6=o|&b 8-;:v/b@=%hOٿlX:.cmXprM "<|geuh Ӓg *ۊt ѯӧNJLx`[:]=,m<1ٞ9 ] MFV2#5FX੦{g䮰Ul0>͂b{ͬQ|D&|>f҈,$.~[ nhhxQ0 `EԯWv$8+fX=bPyhzO,w/NCg:_*Ò_ok%t'8P}* GϘ ߝ,Auk}ǭ[!ɞu t>G,Xzԝt(cqo#eRaՙ=PS\;.~Ų NF#jqkbw,Ow/`b <:9,_SyXZsiw;}jl{ k (ώ1:uڶߜfxm_;,8yhmq'%ܬ!7n\$p_t >,idi!o=ZxtR| ȁۏSϵWz>vEG,%ɪ=E!@/%|0T։Mʶb|{ >B 3TTazpr=XA4As I/=l WiﳿU Ks]vbC#4g(l&7hIJ^6{QD6bրc=DLaZ=) 0Qv ̴WĩSg LDrVj-^*XhrtD^ft> 7,)9FEo% 1pfk>&`s.rfމObĭ3d\NnF[R o YkJHM^5>փ#ixΟMD>ո{?M[oqv6Yk;(lHNu$×\E;.qy]rtLSgb>كsu=9%$e;sbΔzkJ<d蛺.@G/uvé]gP\BrhӚ*i{ku`YDzT"j$@ᣕ:>) i+ B`Y#3VDv+QӸgQjzRT^ eueUMa8M3#e})P`x#KlG{$z;-譻~gH9 $YfO[/@~[n3hv9w;>)O7_[1Su@w1PK#L3otp|\g!W|<遉`Q'oavZQpp]4yYs΍L`cQVBdRyL0F*PqBIDԠ/DdIF2(bOܕ+#sD@mVd⾩D/o]T^OjHzFpُ \_Dvt «~䩁?Yf4dž(:a 6%RO:o7.=IFkfWD*(p#˭2a]+ÅH?g`ʤ#,N|W#Ӝ4xR,ae9+*;pC5|Ivss`We1H(k1x,iA厒c$!$#QZt_T?ΐ!yFh3Ҁ~MywuR ( A"Zn079;P3*g\D+/\ߚ?f/&Tj/훢\F=PVr̄}멦:HZG{kDŽ Ul{wpl~-5*:#*<xO`, x3&piڈw3 I8;M[A(jb`{˅`+t82J#G̚i`Q8qǔB$;jVjЮn4^2)|Gk64;Gen5k{$ WD sjXVrpFSFzGH-L@vxRX)5Z>lĬ8dOODJ~'t%byEg W ͖]oPVUTN=W[bb &{95Xxe)w޽(sU(At:b5*6f(֦kgK/Ʃ#GcS WWN t+:0r]8Z c wf \u8CFLJLZk\egfv3o: -;\ɜDׄAⵊ~Cvօk !)EJ#m 'PPB}%{Ќ/klSeoa提߫p"GK&3ԽNzZnhn9cWiFʒ5ʮqu=QUM=aUG'HF>:fSMN_IM^ktr)QMZkd)^~Vv, uँas&ErJ%@A3y Dw,4 HUݐ6;Ӫ#wcX!1^x!4cXp+ό''&zV"OZ<`Pazltr/|ZGNaJMDW(X $ELi3zˈTo6>Öp|nb5IXtGdӑۨ@7Z:iq()ە *q)M]f|A We k$r@:GڪJ2tAW qh?+CZSKy]+"i\2$]IqѪaǢckk=Uo3Xzo?diiy~so_xFtOL;/3\"dwADut7P?n(!{a$s w%>t[ܷ D/ޠ~` Ecz=圼oL;8ifI:4r4x K)l(YCk% OkuR}ze!4.H 8ҥ;?s<&1/`qL;L{Y@*@^&! !*NC9pЊnM@{_ Y6s=Pnt(ezg4G*vZN-JZ7jd Qy^Ҿ*p .+[iTqP*Ev R8^ à%hMEP%,KƂc*'M }90RHs#0{? OZؕJ ! 0"x,!+A(TXPMu3im~^,إ ⨸Mt{s8ȕ`;sr~ЀVJ/pNZNISI7%bڊ~-7zxջP-\2R';FwШde@Dt2'8h@*[.X}xZA6ͥldyR2L3yST}A`YԜ$#cJq ԅbmfAΓvAImDÑ In.Zuy1~c("Ze{>Q;?@H :ӯ{џ<`|ލp 4m|{?gz`E0)&agGjdXv-Wz|L]\ʾ@N=@+ z<{"f0Tjv>hiŢxbh.uUzL>EsT9) 5o5$7s79 3ea[ } wB"<"C%`ө*,$'awa*$r蛰44dk0PXV ]@.cLAO8ݤTb?K]v$"%cG/DيYB"0Pz pnrw;#9BFZU9W`C_@x1j{ c5Uٱ^肙#^EryH3k!0%& VЁfIؾu:Pm!kUC@}nf{]wǣq`y#m㵧# -  HyeWc^%SgϭHiI1xmzx{JHf s:r9Cf$@ ִ 6jߏU (9,ޜ,,f ( [IM x+WT}{}BŸ ÷ӰX,5H-o0S ?^LAGt,0}Ơ )L5.@Yen5]Xv-P?)}q|YP|H) "\~ڛj6yxk nz,N\,{[(8m_),ӌKҡli*cE$tֆ1qBi%F36@( h$Vrߍ~uVՆxkyVaHȶ2ύ!ZLMDS,Ҹ3:_wmp< A44rX~ I8=~ [QШqK+RT5cٮ| KbnJ[EQ|W?35knB` D#'斖"xNv FHNE#bG\qLC9Ѐcn#42LufRtY~Y"KO޶`oF}l Xv7V0S'7)q7v+A mV9F.ҡ+f!p39+Nv`|qiImeBh 6QdG{.Pjc܍i.| 24Z\hajSeZp5eGc7Q|EhGWw4a.GӝȄTVrJϛ_"ꟾZR)Iy/T'JmpR?"k:'K$I=[Lʾ#h>!0~?GINA`AJ$aox"dqy!:912CnQiUw괈riR#[pÛ-|¼09 Crn7| n~N Q=aM`K6TP2OyPtٵ/4iu'HxrժL.u{O;v秆==ra n\$n=-;-7_,[t F*@\Q縙{[Ekxᬀ:].Ǻ&4 >epiF:2]0 b ?Eחiė8J; ]OKM}3VrO^о SG&f28,\,XAu}㢪6+ egE ;`nxr ޗmHwnp8 O/RV;BaIR}ѓHF6_N=3 7+PRv~ؽfJ2k6dmTk42hn((h{a|טU KS%c) ~xĶ{2@x$ $bBփhxI 23Wǩ86Sن9͎{ }_-'iBu{|9/ӏ/|8ͭ^(܉mA#ՅWn[zW2бp[ Tyq,X\l C#'n "2\Fɀg/JmCfD׮//HC*1U,RE3zCv…9v1M{=a+~nYSgϻdB^ ns岳_wh;! Xs BLt%$\D}3 P2ui`2lvIk $OUG:BaW7!&;nsnk cC|7ph4Ep1[S>C F3iE57h<rN(  q1G"d'ʶ_K&">7<z1=D5C: O). (b7m*F`xo$ZIBU[Q9jssvߖٹnd)zOWnHL`/h=}^@dZ2*̝K-.}iwgt6z-(#PB%! UTdRنXj[4ԼVy?(3M4YA wu|ZcsΜ}wP'̣}ɈPQAɘC q,Yko:w)Bfϩj2:0hoBN8毲?@nzJG+Q+:Yw7⡱̃UM2q2UǗэ4o,nAc[ُ>` s _B fIY \ )N ׳+9`_{z @D ՊV͖Tq*Z.Yq_-|>aIiZf⭦9km^w藼t~I vQ-֣V 5vOmcx!`AF(:UB٧OSnYπ(ĀtkǍdUYlX$Gij|#lb鲛]sXzjb%@ٟxyX~ۂ$*uS8\G)X;=W/uR?'Faѭl]o"!C( ̱j+s| $& }_@RU"VTZsl)oOQo`"_Q]ƫieJp s8yP@fJ?hesHOaʐ&~;pwd9F' 9 b8nOx|%/u;J6>3}L i{8HAqǬ*@EZXmM@=/HxԀ6#zЙMPYlܫlL3a^QIp\}Q[F@S;"3EQ v0UfƓ˕"?F^xӚu1 2U G߷5{yWMN54<,v^?n{G{ UЕG q1#DzToٛ!^&u+A3ey!HT$,xWӘpQJUN1=(NHbaZ)JTz>!? Xh8>p 0~&T&j+K<(Vpy rqa*Ƹ5l|W(_%cg(r,zqMŝ#[}B}`E: 7SmOmY\&٬tT_@]CڻY닇j- jk07(d|ZKK0DT|n˫.t%XT7 agU8}< ie:i9||$4=I~0CM?5df]A8S|O8o{/lZ公k6H}fA065} FNa̓-g7Ad$аS%-`PN6Ko.T[}jj#bvdi|VKHJEܭ[RS+~>%$H&ay{Ŕ|kVϨzh̅Ș f4V5nAY%rtVUx5Ċ@C ٴ5oCP.\s_ٺǺ^u`"~Jf>ÍÐKR9{wlM'"bSUv<yβ%8t1}RUY_5H;vH;WPfԪnj\OE&z%mP.H"ѭ% %|p@J4Hw׌jk]&kc?uM9R' ExqqjJ҉QNGqDy7:h J/X'^pg؜ #*܈{lp[IF(LwlUQ;JT~LOi*~τ ˍ^NTk p]2|_V˟>;*徰kѢt:SkZ-G~@CVjMĭjHşl#R2vI +\K؇UxEmv9(=Y wZnA׏/y|%E%# ׵TCE@v};RpIO!M귩y$ ۯ@%,&c7 y'{Yv*v#Zw}]t]N"g( `Ad+ۀu(qs_XQk|MX.352!(֎M.rNPDH6ɂV6)XE (˷b*p cO+[ngl8& #)>z8)--VͤQp8*MC3X5#Z`܉G;*tq.)`g(gVrA᜜%x\3; 1Q6\|n2rijIXDf!nvbm-l;<^#v,.e\tաrtH.Ui(gҘ_Nf:^e7j,i爍"osZ1k4x?\ ;VS2 P!HըD`Gp| ?M!0 zj'&rsĮSbz'Ng~qH*1\$9|"dZMA$> G/M?8K[Yݍ5sتKiS %³[ }*Ѹ[3 -/T(l R ѿ@%"l.h > n.YF{0U$ [\{JKW\b=ǴjLX.BqE`7!QtKVqG&6Lnzu1SQ7sJWmMcPX FDKLύ+:^%yYlV@冁~MgnYkpӝNlyn*i%dHSGԻ{"}E#6mA7o>ES m$瞅BT#ظNBnXnnuRx{6MC`{ (ִkV\aMPhi\G,8!0.m|~ʘy?ns ֓|m>[aAJT!OyF-hF^["{>ɮVE ԕU.ozN+Νqtl-~\[v@bΤ1k֪᙮"2J^*I%{:tyKYrVm،E"f~ǜsgǭ]"#jGX3WV(0$r%B˶ e2yc (8`JO KtD 4 qo')ED4b ;ѯZM7uzLKPuiOޠeE`_ԟʴsب*^qc+g[T5fV k[,M+!? `K$ BjqO^&mNBS1 I n1X <#ٚE,$"P|A"}(Z2mOg-.L6 "Á5  [WO)j؈qO[P>f_8W1[|ѳV4Vr Q̈3[[QKwc==+4S-1E:*=pNgPy.3| fj=&1xYxIr#^"̢ |/#Qb6;Ǔy1c^Nʉׅ,d U`zV=x}PnnE~⵿xtA4qpS*| %Ѹ΀6IgW-ls/b”dj:k{x( *= z4ؼ ׁ/x:*6)Μވ;1If`B냞E9 N1|)EEk#qNbJ9yLBO='2mZnIH̾4'GZ7 rzxI:@~ 8d rQqh$=jS >D otR35POٲ%m۱R21&TEU quvw񩊔26B5B/~]Gs6`S#3P~eZk$"kfp ϺH,k*wR]ʮ mkOIz4)kDtc,z%"7 ,`A) z'IASͅ#?cևfct( , +;wa{pfi[HXMP61RIqiLBܦ%* P\ \ ;˜2]&]YKzJb_׃*I)q8B[S9ؐF͠\!;8h,joScXWƘ=/4HaHE3+Nؙ^C۷Y+i5ܹUrhq#vܛ~ (Q+2 kt>'+rҍ-h 0sSlw|CE Q\3 )]T< _pπkF`j (X`BZ-}iPVɼ?Cn c޾O,IK֚:餰 W {,F 1P]r ƝD"Q A%=-u=ѐK覯i95텝fu-^-t<̓o=*u1PP'e;.z_n@sDH6I}ٙQKgfT' v"hcNtHmΧ>/O1A/:ݓ0S}1m_gDt{?5\3',S2WTLŇ5A2Q.sAX5Lzye7v [e_2PGJ`ⲽ複Az"Rz}` z#5~Y|>ߣn?pj^rihH\Yy3F%PϜo=wHx`>n"uA s}v;rkCQBoDo?Zڳ$J#T#==9$N ʡNpJENT/JV`}z>喥kmdVz=~f"oPU]qP,Lʙ ) #V!'FL0yt@\ u|,|kK=o*\9\ps\27 D7Z Њ< rLXr\{)Zl4!=@P_j+555f`Ȣ ~Wg$v:]N@) .WQYHYpbC,!7eyGK]GeWނ *<,8G#Ag9F73g$ Ʋt?=ܠ?yzn9)dZk/J^qJB>Ęut*L6CN8*Ox`40s])ty p"ě5Ȗ?YHH擌} -qV>;!Ðx2fOzug7l~C5dLq3*9ia OBϐ%;va BCWW#x'5 4Ƚ*ScX(=%qmƛD{2 rӭD/| a+bp֣V< AiD*Kb2^j/LuG?b /S8 u2L—aBwcr@ [qc5XʦH7OXڀ9sOi6FuK)^A9@P@*1e WM硫~$E1|*>_۩6Fxjz'3ﱈDEEq??(SNG脚YYYp`+[A\ajxV:QC$* ,UNcU3$G( FTrn[澄(P!J4.:@_wjr/l7@~q:7=ִ򟍪hDBYtxgW%1$8=]86sDVgobδիK/?5ʔqW?nJu d֖;02܄A7~,\t֢I-sJiXP"s̯`!=H>KoC /A KxWY¢̂揼>?%{M_ ‰r?JOaFx,!1fB#IɾDٌrm|hM8~NMW")ȶ+a5vίňu=75K:cPevf8ՏAƴu`p:|H 0Ѕ^oYN+h,rڢ+K2#0PM.Wqcj>pY8K6IM`J4V%R;p\ѽ1jљ˼Nx~n\(Գ#:B>p&\;2C(XGG0dץrڷIʻǥO3?d׻zc0Ë;[u!ΟCǿk8` =#r%Q-v!t7eƙ%A"%72kEQAv)B|ѐNHV6fQl ڐȇh5rbe_eBi_7E R*EU&ߞ);3L^9wÓ~ 5脤5mNTiMFsJ&& NO{sk-ȫ)sQ [*EC#L(>!\UN ou.+ Ɛ'W{7J_#XJfA͸% Ok(N2{kb4q'`wfNA/{NFguDɱ%vPCH pG]"Jv4%A.5V+agk[eXѕse##p20'̡%[(MBۆ.P{-҈ %j]= x3\W4.(};A.:3\_o\~Tc&JFTY'<k \ZD qM{z<`FMJls^`"Oy%pHJ@P(_|dBN>ΟeNWtx^%vJ0+{ y9f=AGO T `[gO܆y$&ַE-Ow>FFv =&SQ=չZdJ."Wl꿀>HZJ,'Owbk,_X_WNcfM¡ %p=(@>WG$0Mv)Z‘&rN7+^#H/R6bh)ծrO Y@t8k[; st]Wfp^?ɡ'y-4xJkV8)<,I[J<(kZPlVl/`'{\'o9 i-eb(PDYl1n;u!DpW%O@h/'l]<Zq:fw>6~OZlRQl*P⏤|JljO[zusO"2haFhP".t؛䶒B!f! B?~w)nG}Ce{x޾H'kVRh@Ql3\|d9{Gfx"* FOC ܤ$ĨJtUEGX2`$>R͍˯ɿ٩nţ#3DNwdчZW"q #!k<( V8b;~mse*#'A(>jي6?8N;'h?]VQs[.:aQzN؄C&wOgV545.6Z[-N$\aV`[^U0.(ՓYĄeKʹW<әx&Ͽ91\]ůx<6oIbڔ喱%֘w{(U%oYㄥB %"jg+SMieYbH"brO :;T֍$6}F[_94Y;\/)':"GO'fx*%oHp.DWZjs!;e3/F1@!i uP2Dy~]0_Fsب|UGj:y|J%ۗFf"₠3$$by**JlςG]d^qe~팟ļ~gm֫.]0)  8|8@6T=:M$`#=o흛CkgѮu%i<#u`@gc߇RC$Ee% KRlS4RFG;ս3.+ThwzFNO$Vm)kjcԝ#XJm>TBV,>Ag0o&r%=VvEivyD]d|!怉S>p0lWL2vse`|a }=GUAxLŎ~CUB zoU&?AZAFG*7^~-/p.o~\ZNjŘA ed/}7?yFȦ*ū ӞzPUt0J S^ܨa܀&^0s;LQ`M;>M]& ÉfQamTzVj8R& n< OEqc1|֬#TO~Uȋ1vtAW Tΰ̬پ&C9cдd$;5ECNeo ۆy}4m=}'g*Ġ4 ^| "v@Cf|ܩ繦h{!:ɻr0eEsr-AYF ksaNt ($q CR^]ycS@@SS5AëzC2FyEpXIy"M0( 0~4RJOx8(#+౓~\nAV62 G,p2qs^ZɻO) 2zgR sE(7n*\aݷ-VAJTSU'ddIAPK&}w@Z+c/oO ~6uvtI-RKog p_GUho cFs (CW)R ܑ ETv;})rwCS:T+k/BodŽ,:T{ Fh"4KoߩW[sciΕ#IC$@lotK)ya;=2i, 3C1t11h1q0g#A{3%U\Ǭ45ASĎ_M$Z>{WDĸQĀԝ Ufb92.YǺ~Li,_=(uŀe&Wo# ·V(5š=w})Pd$˷ntS]Sͣ Grv!aZ H109LKj=N$薭Nf ;PvoFZ+qo!^g4X^Q}3bCB d2 KRDŽU ̋3Î3X)t"w 2uS, T\.iL pEDvzASK%ǎUa]e㋎5娟Iⲩ;{`b]seTx|/loؤ_DaQMRk }Bϗ__z e mf~#Eb4Ovᩁؠ+>)z1[uAfXT RQeȒ:߮oJl-}m]Q!e Fq:֎>#.ֲmw~-unzH dRs3P^U@؅62rږ̽|`LŘ-5þǑORqHC*j4ϫv< I/I?oҺ C TX 5(|ze#EK,:guΦM"۾@>'e.7Ƣ`ӂ*%vxA 06H-0ZFv ٵ8̢LT/4`!-(㏏qF5^zъ GnU0ʜ2l0W vyEyɠKbbJ. AX Јh,J*nvlF`!,Tb`pQ. xXAh&t:\>0s6/|*i@}qzBKꭋο#ϐYHYƞJM;2.x@ NŧC5zU6$a^Qjސ''DWn%"3??8wW9"h_uߔⱺv ȷ qM˩\('iT@.@TmB{ z`܃Eǘi&-^[J#U-^:)e꪿^zVNX M(hvVW sjGk+g@3Z 37o}\ pLsfNlm°o&p*PT3RRHo^>ٷQ^@)B>4a_hs嚇-C*<)W6q#%=%gGJ[=F|3C;lf+fKokuOO@|C9ߍG #0_}֜ `LDNgelkY8J:"5%6zk\6'k-S Y {ńgzg.A/N}qTY.  KEhɢ&֥ }{k[̒J8wS>kW@圍{^# 2(- t8.!i2+`sA% Vh,a^"Uňz 0X\pKzP1LE.@@]ƃա/ԤLRk@KO,=a;@sl)a_AuLZga$?aOuV -v͝5~UL\K!|̠_ź= U6R)d ViO"6&#-?DSXW2l$ /cΣa+Ij\jr_RqtۤQxgo & &{!=8T` cES}/$1&=gzRVh(td`ly=F1^Y5<|x診vrF-y(1Af45\ 3_*gվ34F35Ud蕽JO^T'>"QREG+#/y614_D))OzGKZqX32)6`i%Vd5D3ҽ  =$uJh@|SX07_o! "zΓfږ#,t"gB! 1W]9>iS3EdT j*vdIԭ4"=;v:'ͮp?'kHsm>6 Mя`[4x.v'^;hۅeǴj$@i|9%K S3Paj10ei4#*qF"AUiǭe8ZRlL oK;E:`pX_$k_AV4z~x3: ,A\ؐQzGf;&*,sHvI<1=qi۟jfZO64NjqtD1PZàcῧHÒzy ?7iߦǩ LnZ~S`Yўc;tFJ+=eH8E=L3%m{w|"M~&G ~@8+c˞i:PV&D+:W z9,z':Dc]ӥ&qqSa:,fhe*dXs1q_? [eO_َY''j$eQņZ3o/@X'Zk4gچ~:`B):l m!4P1;VB퓅ɰHSU{%)5]GMkc<˱suu[T%/wټ )FߦYn>$u 7Kgz+̳e/(`B#;Tǵ#vɭ;'q;Z<>V6Oumo;f_ ݕߕXaZu9\&1%' ls`s oH-A#R.%qhgugMpwabBI ;G+GJo5z4>9Uj"NT3B]7ʑn 3LTv%{q|KB C£Ԛ=(JMFik5<;ao'4y\BZ!F:,5j5fYpxDD p(6FxW i 'MNa0-5P5WD\u;xV1yN[TV-$@AÙ waLa4s4W4uO^dt4Bе~_ e\4-B /vv9B`jJ/;q].Əoo:5C3G0<o0$-,h;V"EmogY\W5gE-ZV!]Z;rY%T{I| }5`AN|Z2Ve$ԳE={~i2T0|(-63^<#u u%xɗ=ϷOtH‚c1 ӑn=S0򙥅FnZ?\;0mږ@C=u,̴jqOߤD+6c u8nQ ;2O @JA4bb̳IB-Ѱ+ۘb}XG>#җ/̅Gj28s>vLt\Ko"؉yl TW`Df N˨!|s's869!ǼuU8 C*PK #:g\y3qR S&2+lwO'?㪷{/HBj잮Tɺjɛ!4Gb"ƺx~h|a** Hn|џkiEVu7V:g "f%#&$u$K[\~&{)'˸pTɧt\a .f< SnD^R X)M/UŢoSdV2ٲܔ>[Hᔻlb e7yG ÿš0C/UŕgH^*K3ч:7nOownW6#B%pP yn%ÎKuQ#W.6GJ4o\V#sèvkd%EOE;ovbG~9N+ !Ds, B:X' R&qU7 m|ʧk%gש)D".ӂd"P=Kj]o`NcRS<k@ys[fUi DkLܹIspΫaӍNX`E^I/N<#L}N0:r{J3Fcm:|F}|cs1|tU+ FN%ql2 QTC/10N̿fHHf :Wܜbsjp~Iqq1}TU[8w凑4.iA",md$gp.E=UPG;]7d̳ CJN8j8n~&PJh ]n~ $(FZADL =Ps,gV$DBX*Hӻm'R{Ľq[Z+gATg=;mM׋ً[tWRN~2WNtx6(*XfnNDq&rCj#[B%SޓDg8cgDVaX7fKW,QK*+ f + rʇmNjK8N }GQt}P)لiɐYkKbEh _pѿD$&v=JYKל:7 `}̈?*tw9g ]L G'r 5s"KLv`댣x,ŊQkD^]/4?:&GKUE@#˖\\]}v-t\Ώh}p/v)!\#ED=efafCAGٚ3lJHkXm+xҫ$ꈧ+F?ѩζ%@'M1 [- "⿲Re`rW.gUCs~Q8hhw~^qyfn#Ҿ48L(#rS>L/kVϗO[mm!S*>8Ұ3S{>i0a` 5R:7޻@QE\ָ8S# G1U|E:9Fף4~aƳ) r6Jz^Ypv)90VYM%FYG$F&]Y,Eh!k~2$YMJxkPm*cc㣤:ʲH-O0oz`/*L`F(H.tU *y&Ip9_s)JF},nx{rI9T*HABVĝWn^t|^V?R#sևGQgbI w(&rnۚ Zu41xj(Π >gQx͵u\=Q |E~);RHZ(TM>Bg- mOՈh@۩!}^+Z|H![iq}|L˦6'OPlݬ n L(RTe}&p,g%C}t@H C8A1Xj8?(L*]Qީ+/2-subUv7C|\ڧo"rH|yXn:lOgεA>ԉ^ލ˨ڑw Cﱆ`y|SrD~ӽ@82mjF#ա KZ6GU4‹ cߒy#N})qpf%@.mzk>I/-zZjw_GȆ3);B䍕ΐa(r -Ԅ ST 93>-7r\c B_8EhUb)mCwp1rLj[*aY6\^}X|xLR 1aB|*+@ZWAy1ONBOP bvrOՇU2e5^II1p=T& Uip ukb#$GVos݃"PEZ.A+3c/i4@.r@pmKE]Qc}x|RQNl.zP:l:V-P.<⃷E]l><0lje3UhH%?#A͈Uܚ̾:-hQ?kLҐOV`)ObȐƢb \'KmGB,{*A>Y)v,1\ςFcvF2-H屘/'Kۀ ,c;΃WX^e[cC!Do &ڠ8[T(WqÏ1\ &tJB7AJƝ if̓gQ!鲭Зg2vN[r,~%s^%̎!3%jMKw ]mԍYL͵IP_y,#EyJe#WIۣ%3iHޙcִ%E1hvL|  %76 ,-Ѣ-YFc"q'd=lY:H467nQ7'q|\еަƐQN4cҁ̭,[C&Ҁq6r* %.inI?\]BRJT~Y &j5 ri!޴L[4tYX 6p*AjJ! 50 :{HƸ-?h0:9e%ezͻOuBi~S!4GR o7LJFr1N]Jh7MzrjkBN cl\UYȍc>Qbwϭw*#$ߡ5Vwd ;o/ܹO0K`ۥ=a{YsaτH ZDۍL,FwᏒe3}1۶Y݈ԛB'~<*t wEO4QjYTǓSAMS`HK%~(GL4Tl; d'uZy *UNĬDs;Zgď.Àr]/ɚځM}ZR (I^*YJ+/۷-=76k⽻1l`q4~M <3#ez@"LP^c)z>y":1A+SrյWƪ%rwf؝P }fѸ =:m1-BU8Cm2!Qx"&asԔ\1xkb:smɬ IlH<=~뀠.{s)*=ɴK=@`Sa0P$u E|:l {釘6x߮Gޭ{|iHACj'pHYrug.c!)ƒ|޼3"l*\,?? кggs$HW4>L^o;ul2ٽx}LEBVULo!}+i#ї(7 l)`B#mEq,1416Yztؽܺu]F"@kjI .ƮAvH+4w P͖F`xw.߈;BKl/+~KߦNR&[26"Xla=CbWp]"'nR`lYOrV &Wg( +{Mzzm$\7cqN $K҇n۩2]|?h[KrY7払Iz5{z~X LRSOqZ82C`<9Y'A(RImHZqOk+=!@Hc/iQ;RNg5|#z ,^ttL@8q_uh"Ŝ(m7~j(IuN"Uk52U (fМ#*'\IRbiBqC3ΌO^ :KU7!GYT.=111<2`K;H&2@Rm!|#hL7w^RlL=B<֝̆ aܭwE?30r]Ioy6&|)}TtE݉xyD"6H)773zIj~L{e+yxxel1z;e@6UńCIS3|XbL4TCmY ;`mFqc{1clކf[,qtS{/|U *@#SWUl @*0Se`a!b/<8Noc l&gʙ!F/di "* djgtpze?ڹEs^~f֡rr26%#b}G;>;Z7>>uz5X[-?02=ޭ 1NOVGD(Zf ueL\!ܯ * +9ǀeg|( GzgkNx%)MyX#ކ@J)QOGq'3FjT`_]fٰoHapmd;#A+eIlRBvԲK;r~_טAigEdԐ#%[ciw|}W+ɹ )O2X:20dɂ}g/Y)m-u#OyZr&.~rI|[$ =oFJ8<>FbKhpgnzJ3ӑRpAu|nnbsRe/~K߰mu2ܖނnD\ӣmgѳƲ_3P%&!fS$Toif(gqVF*[1Cy=ޒu-x?0/9%нS(D@6tqz ǃ]A8qqan@|A|}u<6j@bqFRH[hQ;*\ʩ4m|s'V'1N'GYAO.+1]ɦ`y@~PCTEgm'&xO{wt/6FW&vd-rdߚu2׵"9hy-qMybkrE;ef\`r1)Ir*d^Cb'Jj q`ǂ\W\i ]'$Fݾ W ;baW@@;}Z[];ͫ֍wbs()0|`XҹI>ĕ׵o#39ⱪ"22;iy7D[0Dno 8"P*uQAW 8- bp}TEn=Fbѧ}_>!>HV 5Ӳb-?Uu2LKEЄk-C;\jA( EpS ܯnmƾm-ZK-чzy/Ŗ{k nRz-2:4)^گKNa IxоVԠPr@ km 0b^N/'41=^yQ>0k9o(׈SYnUpH‹FzC<\M߹ P.쭂,Do3[2A# &A1Riq-te!x4r ]`U?lN{8E;?4\\g9w:]_zKl85v G-TQ7Fuh $\6gsc&!Zw/U.B;rCtCL&NJA!pTa\X_ SF`5_sעѺ"6zs!:u 1Z,qO\GpW8d7x/چg&BS\( 샤47bm]G$ Qϡ2kR6)襦 _'.J]X5 vƘJWX@/IWwmel=5D]sOHAok/tZh);Ts}7P9#!uv*n )fuxbbH؏olN&E 'rfl_2~8-/ǃYȧSI< .Yr?^5ZO1NjMf_Em+PF?;K*APs_n|pSHˋ\1nAK .byΧ^%_,,,Qpd1c&}-E_Ll7@;(8z riPHOc y4'.sZRglu #8jpBbe߅V/IM`:~-*Whu:wJc=ړpnnVČyrﳆ؆s*mt05joO5t'yʟò|7vn~ÎǗuJd`7j;(To;WܠPQ|ЇԚyC|F?XU4N|I|媶Llufx cNZ  c3C۾\^5pU'{:TLy~R?+# ]mq# DY¨DnS͏IslY몣ka Qn5GHE7HQR(Xo]|y^W E9)p>6.KPe_ˍᓏx-7 3 H4{yeT ^OS7Sƃs^w,z4.D21Y/ڣ=)?ؓa_# sDj~{X8$*N:;dzeǍlf(Dz1M4EEL#@,`/ XF NJ݂sC1E*UX_z#@b{ v'KٚJM`{Wفq?DW>^\63$ظ 9ܓYd bhr{nqzg}\)/ iuIQ:TKAv8?*b_ .0nepC,|Tyep.DL+C6[v`>s!AFWZ xiɶLqRq`lgD[%X{hz~S^v;6T ۀܳŁxX*WEJi.LJMWC !Ρ R)጖%wi]{E=~BtdgI= }W|.֧cxq*pilB(1 ]6Vl&Ѡ1wZ1kV ^ ='(04{_/J|ْ%NF;->r!\"֘;fDi|}8|&OaVʝ U^O&"{TkNOU_OO =mUf̳b=sŜgl @_:du AE%u+ӕ+4grMb سw﫠Ύ\: b=cr^>gCN|w@s}M6E\$[PCvKnx#8z7dٮ1l@HJnK"Z]W8 #I2x[dB (6t~eY҅7n:cσa%q@01a0w +lp)O ӄ,2'.[{㷹u^O\V<ˮ m'{{o~;׽ 'L|Wħ_K9Xm " :f_@bp)AkpYYL/ R݉y?=ۯL}UlkWa1KtvlxYnn3KR*9ztTa0/:UK(زۏ'ֲE5X'AE4!UTfp,1TZ3A 4p*W Knu<@|Y,FT~ANt W_W)톊쁃f̀2l"X' ߐd]r \_3ubs 7>nɕ<OA&aju޸w Խg=߷RX:r$<~eo-(IKwu(Ғ8/8$^t%jZDbjI;x6LSUĠdX4Tk.n#V +19|(책@~F9R(w[s%@V>s#VDGqq0i˜7J\QN?$\֮:e_/9/9G]U$;ˣ+aLV6$ƝIu5Hr{_e-g' 6 XAh-J_1;F9VL"ā"8V{졗I 'gxa~kZN$|;[*qL0$\cؔ|rnk}ǹUSE'i_U{}K4MY%albZ1p_հraVDQcT zkl KT")8/ƥB F@})j+!E3ЀmdGy\Գ%k] ?k]i|̑zyW$Jzu|/6?¡\{$-<ϤyTBM6d(uQ=)uk h$:6ALϾÍz @x5W]O41B;0ɓjĦ/ hQƻ?jf![lapN24j['A$ ; #ۗøB0)OMz  ^ $: XVQ*sej׃68}xjHurLi c5o5.Ս5nVgɼ_VtLI"8#ubV[fVzmܤu$hNbġ/aD9BM1ܲ5 ?VTfxqؤȹ]si?sP_ۄ[oV AQ֔H ֔o%!/}>ܲAbBAd':%A]7<(>TՋnv.|̀ͪ6v}tr{bƾEXǰƟ= 8HMqqb(P {1Њ!E;VX\)kE~Q=p}մ-^<"I ^}} ҙP m(#W&PU22tՏ @Ժd ψ)oNnVHad8ȰO8m.GBL3q؄&yLC~|3R mi ,P8o ~T=T]3sGэjtl1dK|CBdEDv.c1eqN_{A6.Uj5;׺Z+W`Ap莒)(WYzz9 jwbO'sf8/^0ȥ^>-qc.'&RAEX񪉈Axa̖((];͖6e˼HuHZgնMZ{]{к^\"u%ѥj0F'A^ԧT@`-޿q9]Mn;>$Oᒾd#c/ ciS}43LPkc< *d d$!D0eY3߈ln&tm _upCv8NP޾&{3VbKs/r>u(T5彈i>T79I7@tf J~x2&P_~+Z>h}#?=q>Ӆ:;;K4egq7b܅jɁ_hHJ:ː(9خa>TJ6MP/gncB:Guyj|(b)]yҭ f׃O >)yEQ@_7ߩ,SEʵo' \zz^H7F]CUy6oH3s+G'֦ !nq#@hmY7/h5e$*M;衶g7 ܊$~+ycAxS \32)kՒ"8dsg)a|Aقm KcHLkUwtf zU״$=A{F+oHjZUhSӾ UQyej7U؎̕/3; x2v{a BjŘ[E*|`7G|r@0#x̿Wr't0I]d<߯ -n#T`BF$qfN7`^Hgr1@j2*~3P˸ v';{dA}5,Y:&ZBy y)YO1ib%wl޳s_SL{8Mʽ@TЇtRI,4l&D(Dk)))R#cZp" voj :UNV6E "MNF}|~]b:Pn{ l?? wwW visJ%7f R͡ah` #6 ~H%vPTB y `5^~fձ4Ob;C+`\!L㩆r}| :#dW8-WI:p5%VZ /bٱ!V/=<Z턽^F'8  a-*.0+&SGM>D)Ҷkv!{v4qdE L6MZ2kR^H L}$,N&|uWU؊8cA.jx8o(hZ-]s #-hxLDM  )0݈߫`-Keh .7P>r?fRΖ|b4MRF!YHvG"nhb;κYV#iFY_ֿsEthqT}1e;- ٣@F rdZ&=P͗ d&+듇"&< t,"4 ÈFcg&&6w,c:( DLg?`S/gq%e&lRg^,W^\T*/ceD'_o4 ahkp\s1Ct w-G70Iv*,S0 ΄+fEe|2l8M{r/|4ڦ,{?XzXOm1Ѕt40ʴM`f {WNVNRHU;.!ɐkwrlۢHo&<l ;KY0qǭ{ovT=ZÓ2:DP Vy'as|yUIܬ@7i"OlHS(L};C @iֈl%&5ẐFvxR&NUHg7qԤ'! ܁S}ֆR8i&?Ǿ=~!qFIm]<3NAPY*\%M9ΉQy.:v;́g3S]F}5D`d,*`W|uɣl&-œMψv!"WPs*SBRk)"WANE2H9R6+;ƺ,ĸ+O,>7^1E U*:t{_Bms`i?IL5~]P=z&3_4f{Wuu2dw.Qލ7jWk5qX@< 2y3Q{&!ĉ3;Жruf<ӊ|e׫?\`$k]I"u!o!ȗw*nx->!n`(Vs*Twݺ6g}!WG`ὍyUG*2-bZ54eg3a1UO5Q 6T|Hn/+ hpVx1T1үm'X'Yʇy۴&ząyAB)! <@ݖ_kWVA@[5? >;F7,e_d%a:u}B ջjr)M!cQ :Xv }f"Ċ%XO>њm'ݮBHj+z(֩RiWX@< 1Dzҫ{5dNط\SÊ2s :~8b[쥶1D{}7鐋^TJi/;3[[aS%"Zb*6wsf3 f˽hZ=A^<ccɤѽ̘ӚK>E2c= ų@y9wZ"b(C82 .:wUZka{mV^8U!90ET (*YQ g(` EO87TF7檏$*`nrg?9-_L^](0]g)Oiѣ ԗDYyFًd:yd[5mnjgϮt~U7] hY$=l9a~e6qZ~f' ln@~BQ~]RI[uUYȋ]w-FL 9;5ΗGsUP WR޿EWX ~pz$1> Ǚ.nȑ=Մ+ʹҼ ZW<|u0uڲvC4/Q9ҭ5uM<qCW,3xM [2.]+N7l.B0O?̳s~i b]F g2dN8'%jcH,q>?rqq(Dw}΍)3.REጰwVUT L@`_J͹cp_tȆtB/W*ˆ~`S'NpKX> |x˔9m۰jMD6B hW)!g;]/4{^yu<^&(Y@98CBrVQ2K3뚎qyH7#0ҏhx΍i]bt`= 7CΘT S9JXS>^Ul)[RGvQ'TD P{#"G=4G.Sm@,O=yi'1[,-[5!Hc"q7i\)cf)[ K ^Og}fq? ߲ubCTH-6/V{a1U4X<8b= 02")Y(|l{ӖJ:3 >'deӺ8K3=XeELSxB9PdN7uVї ďxj>EҧFmb'khcXYԃ!؋ CM',!=Bs?Ɗ=Qa˻5;vM",=cY@ Ḯ󎒍. 9Udٚ&sQn:Wa @})'AdR /X8W{I{HZ$ޔիf sk!GM(&Sz@a6PҤJqw)gc"ONoVo ļ`+{t䡚 l&URx[cW^1vN3Zr.@2ńy,H f'ՀFʳIAy/y'0ڼH #GLD}Nyn殢?<\Lkh9vz(Bp~}eA ( 0>.)ؿˎ:w1J·.kh=ɓq^yuO{Z }" x0T)Dq!dG;v:e^ezp\f 4Eqjѓ-CbI7‚вp R3#Q+jș`hJ,jۑG=T%3닠KC׋zDY0ÛR-Lh, ȸ }O/[͛ LJV E]`o&1o1˅(."IJScw j{te":s6?Jԧ7 WQoiv-mKQz|j+i{U$ڞڬTԄ(;5A|F(ګ@1]yҾ1sbHdž~xԋKi)IHbH|8Ɯ>,(2VeP#SӕJEqHg%5׈D4xޔrN'ږ}:.6+Ɇb]i '\WGWO;l&=.~ȂqFlxu[to 471]`S)brqz}fVZi{sec9$g^W~?bDNXyUubթ26^Z"~B<2Ċ7 8 b=RxpEMڐ?ij6c-P"շJDžPGv6 ޅ/fH"`A(hB@j&y֊9{! 46o-j_hFž_ |~RO)9Ximd}A.T%? D:]Ěе(CT:b/>ަF&b`J溬-,]"L:5DxA-$1G}x08/%u~"r)Gm/ּU*a5xR߇Sn]'aR/G,mdQr*vM\B4;:yցڇC+ZM+M߄LqΤ0+ǻe -D?&HKԡ9ac262nMM]9 Wh*8(HBk:ڟ,IlVjtz j&^djdy`Iv;nrE‚΢-Iele&Sz@B@v&1gL@7'=¼E+ڒӧ3-2wYdޱI˺dC~ |DX9(sg`ʱQ~ѯ$-aR=9"9yxm$7>E:ғL՚k!agi[9Wŧ7l?F+gr\mN:Zu yBQď(vH  vo0ZJP_5} ?+Ij@2[y;ct>;s2xszS,4_:ݧ(cܙ+uɥ ~cu=#Ȉ=ނ~ к˚F;-=1㮡Z6WnVNOK[ϫM+ Eܘ+azM_n1ZaȨ^*VTҐ4dSot{3*: p$`NM=0[-EnQ7X}AU2kA>v4>wZ>_sYfEm&`$o1~AMlhfRY"/Z5DاY!9?H:B7'eBwQ/`JtG4$tJ:[Q0oF9ȟEG4~*@IΦq_, Tvҕ}(oNNВ7I4Dfw܂j8xgyb 1KǭhB6S u `[s&fm#>nK,;ZF[?|s.o1z%WWk3⹆)BQ`OOnM4h!d C֫G0 ~CbGtyǽe^3 d8[nv*J&$Dlx1晓_3ZԔkI]\d- 6> z`b⌚g۾ c}:)QE{<S gc+꺖Hk7ow!Ơf!G89 G8\ϴ)a 2nl|t D^]%V[M\K~o(Nl nTp@Dtsnʆ +&HefO lXdJ} L9 V[`08yt,A]2#bV+[iPŀs[KQ2!kа $]"/]jYdDaKkcOC:*u.&ݵR`!z(=M`TJPׇ_Є` t;;xD= rl֚{̓zD}Shf/bae$ievEyO@e zANLCDB?a"[0\<, @sC*".ɺUG] Y5:ٗIb[ ܺ#?Movf<;|gQ<ũ(QxhFfKJD ֱ{53e.:Y2@kO{"^??%< ㇼј8vH3p}J.<f2f]!3tRj#WmKugw~UOm#|^T>;/.5ΡhHriG:2N\6@l,A6;KvEfVt(Fw__gzKhXd#A#Vj:օpYTІEڕ 9Y_1#s6MȈMD"Hy RAӤjE0@t:ݽ4GG ;Β*MC2K>1Q(YE2.?zh=oΝx4wh>j^14s H>$SQBL퐏c U.wK$Pa"vSl̈́QiEj X8߲u7BԹhw V2[ '/ M 1%E0cFbZpp_m={3PU9*L.C|=!k:73w.KOVoʋ·]4d>+,.BpMyݍn% ZgûurlD$nV ^] z12R@y+/^?tӥ_G~`z3/UeIuƊK0xÄśtm{߆jX}&Hڸ݌zpn`HS-`͸Z>lp*+RhAn/S87ђt+6"SF*\2ӌ;}[8npiX;+a߿`k|*_X/F.؉Ux~!No= v3),CC~z@T}sT!DMgۿR7+&|Ҍ-2L &o;ޣcܸe2qL`m*Uej2M^o{y,VO)PSQ߾~+CryWz~ŞIӻr;Tm1⥛[e;8=}t|G,+q?e͟Lg=7ZZ O zPKO$kt9I<ĔV:&@+rNt®d#y==0w_e)İs3X}jGăW, XR1LŔa Y%p簭KqZÖI/:5:v-ŧ`<wM㭪I/r&䬄zqs|qojSlVui绯eIXMow*Jόz3P[~o{qJS _Ne_⠞Ȉ6ml)7$Kx*.gKY[e o1K d`ti C>C>qXp?4ó띺UG$H~uY=T7h+:A/0c_D*o,<ɿRr p9JvIvލzM3xuڴybNNI 320KvVdT<(fYakW9~$dD52>b^sTD7,wCmU75Q R7J)HkݸUWyXwL{b ?l),^Ad<D"~O0t3Lfm8K8^F gjHCl~Җw,97pfVY=-4N|w=icʖ{T[&GfM bnEU~ 7IS=`5 ;G㠨.} i71{?wlf Č}04&:xY`$HN'Qc )yEg "S2Csl ڡI%0[)x˟"}A Ѿ[2~O)SwɹqqLO_Ir8QTҴrY ]PjTTy0\{"GŪ NͦiPbăοBu‰EhTA<F  (_-*]ɁoBĶI5&wL? ,UЬ)-{x09Ee|v|ޔ#z#RQt5ۑI&/2ۻ7=k`SzDduUc0,S〩5=[2ؗ A13ϽY"q~ Q`C $n=K޵| N"`)kOQ?Q{P DB< %{@ 6K7$ :V2mgw9>]-nn;DJ,Srr5}-r =R4Lj b ǑW5~Use^;,X.k]f9@#`/zL\Yw)%E]W¾:JA}[BB ` D4(g!X$}GiRFFKd-6^+Z\[Ee4W)(:HM6۹I`lOf|󩌵[la݌-,Ot^/ݑ\y{T)An8Zȁolm:K:%{4UUBY̆+~Ip8Z2qMQ'7QW7>xA~>:"7Av-:}8!Szw UZ3H4f;qDU-shjێ&hmmﰡC ޻Bۉ3JPWq<$J4WX@Єl"NLnn2EBംUDbZB@,zaB An53_ &+u[jH*;x}*- bx8FzAUv]Cg#"W;^wH|}~ݿ-QHN};tcw#v+^eH)"DPQ^2?v6:To oNc`jpd/Y\Nvi*f#-j>~WρCx^`> rZp%#5(kVlNR+ۤHKV-PP 4O3;)2&ck+ȴ&IOK RiBolW|  >^ ޴= 1 G/}^C2&JiOީ-Cf4pj'[q} m YNt ]|WTsXc)qj!IR(x(2O_²pD~c"'-R1]>4 -ANv/Reqin{A i`>"]bO.( $MƅH,ɉ(vqpp̍ f|" > 'D2N_Mrv pCD#mEWtU3 5ZLMabv=tp[C7>;en78]VyW?@{6yJmCJj*s5mb(;O$nߨ }(f펄~yJHp+L.l@CCu8 w.5>乶)H/0ޡIf׭U!u,``2$Qb? G=e:މmϦ?TZb/@mMYO2OE*ʄJ<}~'zLÊMqi+F fR)eBgv¢ĮnjBfuXL¼Aʷyוu2\dq~uz Yc_|oڎ;(0<@ID5p^ J-wJ_ rkv!9'Rs*p32` &7TAJ{* ܶ wjT_:{,pv)aTM#;ldn|s7$S]7ohIz I7$afs۳A;F98y.꒓߅:u igQ^HGS*1tCƚטL/SJGBBг[ ͌Ej'SF,WguljD%thߣ@_6`Տ@f[|0q/:zct"K xXUEN^@x I< mھ< WS6XQk]il-bƳ9*|s$?LLFT*n# 2 1&uiTϹDZ޾>.K%>zEKS56as j_V'k48ЏRD󞢠fcl%mYe=Kxa1뎂#DB'[t(SwME5fB8 }Z|82ڟ%?#gv ~Vu8 ݠok)x. \IQ^en՘9[z[L$n̛EzV-8 `Kc-|%b* {<<oJZyC9|D -dy "6'Xr:2Ѻh^bhIa։r9xG"<BP[]yƋ:V?s}8LcX٦tSZglUrr|!Z,5֟ `ɉǘQ;1M;+Z)|GN-@o;& v6ߑHv\`[Is'˜BG6'J4䩦#Ibe+'ODX#ɸ~.me.vZ׀5 vnj*7q0Q{Ѩ 2*Гl&?%HzdM\Pk&Al> ENjQ}enִWM6iQ/i2Pa4~ThG8CEH^}GؽbqQr,qAS\09;S7hM cJJ'-{Wyఉ4DcM#8]Xj=;Z*Eܶ ԳN/,ly*S #2EnėL꿄Z8tFx,?`Mv׌%h`?SƊ7!:ttmmߩDoH 6dT8Ūm#o:v(Qiɑw tr;ψ)YM!"yM)IU5 :lԢ2GcRL*:~- 9td]Fq"S%6ghp@X*}}.kV.7 z܍4ׇUF]pW:VǺ碻>ǒBLApVPΐ6(Du876/*b>yE $GmR{1^٭nžޯw #{L/kAYXbE{gBXʯuX"NU!PPi&O H[*F:\2˒La!h$Sw[UN䐈OtL~%v ]mԊ\bniW۹_osUQ n"S`h%Lg]i:'O4ףͰ"? ; Me['M3=Uq%M!3KpBwxO6fyO?>h/ٹwm] [z>)6qKE8ItAئ%~_> LtGS6 -;h!G!ۑF]OtDP m 64Y CBwiߵtMh`9AV|YO?~kY(esq7v;Nxb,iGf@ev2QJU~ycaq)T bͶWn֧pnAX@!B7h|FK5;2:O'.U7:ܦ]\wQ`5pTyERmr8)f,CKmW!Kѵp83F)(S @um"8YxVW4<>E4c'@+T;=*+.'6Ц<ĞޑSմUQI8sWӆv"z0>ք9LbhJwccE*:0zW6b[q~˖9m&G϶a6NW"m=1VTې~1&^iFې-!Sv`p+Y/U=KN23 -ۉsH" }萗qha~j e9TqLr'KQT!. ( };q`4!.d!(Joza, W)hH޾ p(c:A9 aJ@)EP%1f N+u~!PzU-Ep5!:7S=48. pmĐBa^ۻRJ/qMg?-awO {qM1?8woż\FH:ښhHppxб#օv j6C@DEruXޏHs{n\q+QQq/)];h^jeWpT>$96ϬAv%CVW+!a*j=&$ TGl%LrK\+pFڝb.lO3 U>b%XGs[ϭfh KDbE:gs6z)Ҍ')#*fLDLlq[ 6P~qNPK8H_0FrIҺ Y*B}o8?ӾbgbjԕPye덇qЬ2Bbyp=}s mxL/5"{}5RaE(̃ojsR.3> {|Lzp=$kuρE Ȭz0D{A V:Y)m!J7/TtBbA)U@Qsީ ¦|!Wu5W6|&cϊ J n6BGJ)_L Z)Xro$) /RUbѲ[Wl3gJٙqU*(9&@ѷd=c+<(.)mY14 fF΄[/6/ANa^b_ň,{[ $?"Կ)fz1q _^9 ;m۬hW^qUO@?1KIQ(chi"~/6hbS;A \j]3xM=60Bx0\ov#Re0ѡtd6+z ȿì|e.Mʭety w8'7/[^7փf|b,׬ǹ?-: c$i6;:O{vƩ:&}Zpߩq/˕ X+-*E)I rO53_O 갏jBKM0S TrzC+bsqG"B v~p4V` kV'T_ a)^35hev~Y+[k%NSh݀*C Y$aM?JW̄d{a/Q1pa_n5 0=ֿINǩ$3 "O粒)5]vjM fXn׳8o!0Kbx.k"IU~{ScejY\0 icǕ;DGڢHrNfbL*9 j@GЊq$E޹{O;:1<̞o.Sb~ROvm:ΪLN xJhV4=P wYNTcLBӰB~d\[7"nvG?Kz;".blt|{ NE? \qwTaYl䴊sJ3V1}6N#ɻ&-Kgf{E-c@M7N74j\PY#ִ5S0ONM3%\GuĭAj$=ZU-Ԕ%%5q{)kpH kq]Vy#Y*|#6`F\r]]\q(AZlKN'{ x91e&+od4 , Qmmſ*.)sFl`& nҧbW-+I![(;{U<;{ko+gm($kԖ2w3n%5FZ}z^TEz^oϢ[w9!̙qDw&(c?Y]ڧA#Z xי>?h'-([0_v@+.r.oxHVO>HP[Z){g70/i*D ӭ^nǭ E;JX26~NQµ!ӂ[q Sr iޟ }%•s?.{_D&ۡ[v6?eOw3&lEi3estmhm1m9Br @욼[w<:' "AI.d^'-ЂJ4B=3:g|k)yAa޺|K:v]WOe rk">~b8&4L *iPuD!90(<_RniDvrW^'s+;E%<<7dcO5# F{b>,',%Q[lug F6Y{tܑ Z3Bӌ%\H y6a/pXwirA/P-jhSRƓ:'dbbB_F/H+@ʶ\ݝ''$<W( m+Ijwr$Da\Oq/Bahg0¾Pd u/̯JyLU n2O&~ }o۪nmj>-c .`n(O/(&y\;T:IY1Y MbVH&8w'Gb|{</jc&ӷ?/=!W!M [f.1ۀ wL8KIe!ʰ A9ǠZ9츥w酜lEW@;_0>B+Hf,'|dL!\ˤVnL1|,{#"tl +> `7,1}kR41xc6uW6KHq!ED"!)bY Xe G 1m1n#P5/[J[n\k0.c& hȿӌ+qمlNf` YD!3RAsދLu.@-Eci` `+%G\CSVk/=꾃c$n<$iӴ'ӭ= @T3LiCLv0@V_QOL5j${\v NMdK>T^izsFMQ@#~afbR"a)Uq69lt[tV }(?eٓ6 b=i :V>a~".ۼ>,ul%|G¬q9Ȥ4/M*:>A8N1zzyB&k6{P͵1鋸h,?;DhxEqQОh@]UcH%5u< i5MwdFUƒ& IawpV4~;sׄlf:&[GCA: ݲ{($huS~`$)<T60'M"jL4=/yz+^^Fɣ5f4}!+K3 K{h`-X!1i $@3\*K%xQ΁ gXèuxbGh#$+BO:r9rS%Ii ̝X6\Ȳ (KBéߢY 'UXQoOvDd>hlqq|ISP` e%i𥡳xq ]FVP }'ؚsE2"(jr)펟DtL씘B =Ȁa+mհ. M3SS?jm쥫W:lӫ'&[ۖNя8,4?*=_4f'>Ŏ89Zo iצIds:_@($ ! ObTμ4+d~''ތZ\ v| 'u>S}^ {+=)':$@yx0L R\Wp[C͍qcakK wQ,zi;ԍ!M(k5]W4+zDxl X S8 LGFV'-1Nbx*3DH(l]}8]pl_`{},ۏXB˧:<^-1hߟ<'jꮇ ⱞ+N@nr x6k|>Z1e O.# N o17I`WyxJDw_uWO "/WP[hqO\jpL-Y<9`}Ubz:%<_ܣ0H?':Jq1V$"f ]BwJ6MSOJJDPeD L̗sM2_c"@"brx0{鸃V"Fhx3Љ$MIBvyice<4Wu2ZoRñ 'P'd[s->2?5sQOJ8O1P7U n`K$Dh8]u>r~,+%<Ԯ<2oV ".mCn>=`s Uo oˁSsf"19b ڮ& 9j9=!>rAӯǀQ*'35tLn!-_O7%JNDDiL= 5ʞRżrVi L~[*0'$d k0~:,yzY?Aogε7`'tA^LF9:=.Yhw/cL7p7lhiۣM:@s%Ls]F#Two#]%db_ lTؙ]V+`s,h2egŽ]*<,t{nnX'cpT@:NM´ZbRNRYRt^4M7l6R'朝ǫ =^uE ՀVG3iLY{Vexba?)ۡs62 ۝..@=.a|4̷ T *x"KU}/SaK@^/U1L: z} ԑB^+-<>4EPy? 71Y{SuV^(r}ci#ӋO刘29'x=%܎jZ6fR,` `jCiœ:زUUnkYt|k w̽@-|Һv-on!#sTVa{f>$rq0֓Eޛώ.@o+AH39}vd}JqMw>RfϣH>`qc%e&2z VV=?JWʞ(X _ߊtvda"[h4R:V;&⟤5-1D"WS 0,Snc+FBht Զ61d&3mJB?FرE'B}̵dajޙxdYy1%=zl;g!PPlM3_W}<ǥה1N5za#⒔n(”ݨHd)RT~y'hܛ w1~O[jlͶgRu# J4lQkc~R)L)EIxIF> g%;\_|_ԟpmgl+T}蝱\e _2A+!F|/ ҧ@-2vfAY7< y!6Kғ7ͱFHl:>Q3."D@; ]~X>N\Eh<ĒJV8%sEE.;#d6U3@9 |MrSm}m{ӏ!oZzv6"8LdLיCޙa{aQ^l\7yQ@s=;^r˂jTԋ//xy^U"jF'&l,pTBTK;^]YX|@q]\ؚ:B pG&ǻ}G,+j4T44h%$0Wh^}N-)iBNZ ۤ½4 ȭ u<Ϛxr~<6)/H#!U&L$ʘ4t1'xߓ ^L{Lf*ͻ\A(`|[`7@ݯG<[ &`7ّu[@;VgNDt4JiN۸ce cLs?|ҙ8D/U=sjCH21i >J/w9 aFba[jLt.n?hm Uֽ(ZJٜ}ں_ޒغ{ʣMY[1^3jiAFQ`zs{@@<xj*P6|!!t0Ѷ!jH4 wV ~X=!ZM Ľ;ߒ}jb#ƬW fFZz_*ly!n">"!hpyS|Pc=OHt]O)@6,v s7+`aoʢL]6֠U׉,!녅a YYC.ETewGSQxcw}gVWLbAh| ̌co&f~+|505mV8~e%|9F+?͊>7BPA٩45D\;5H!LW`wx#es3be5SU!i-!x&XqN-l _6^{M7 mȩU\\r,3O,XNW^|̓uK.DsFU\QMF!KmH P >#Q(px]S%Mvs3xvQa(enAiݫ݂nsm[2Ysu5h4bv+/زԐz .b866e KUs$ɖgjvm(2 DhIH˕!_ŝt]  )*dz1kB'%p ;Ō,`TK:GG퀃-KT&IiNrKe,Md[jvV\l6')A!sJE[V5^Po?I{3KAxuD26CY#i5dj}z>5oACĢCm*d;}!?iyf} ;#Ɣa$ 0ڜC:r:WzƔmٺC#ؼߑ6<m38byCkͮˆ<<{FR⊆r0yĂw#t-2atz/Xp/3RKKÄ%U} BSs]p+/b+N t|{t?uj(`{jY҅{2v`AI~*:o^e0Dav쵀Eէ[9҂|Cél )K<C9~(#&DbU>ニɭb`[xpU/Q7!gՠ/?Y6?Z`*f P#C(DuAr<Ϭ%;jv l"N@-v@1\#o9H/i x Pi 'Ė1K[TJp{}zl=1Ю*V@EF"S3ZPiI):OJjp7sLo~C!wjy龜Uqlc7]E MtgHnlզmסtH(>&,i|?h*3Mp]4i )eFߺϩտrD@CہM.plD/x.epN;CAB\hC͕0~+fΤT cr j4BAYU>"<tmxC!F&ݳFI7zc/7:6212C&M K:-Y7|OFTmOg('^2~۵CrkE9Ue{fڋnﹺ~$Ymm9]yJ< nz+}rvj A`k(SC1X'N I"C`rT8:ef(N8ч嗆V}& NĵܪpDt\k8Oj/:q^œAd-*yUʷC|ERz;&y}b4`C|g/!6ZM[zLX*{?5X e֓sdM"V9~V!Z@Iκ&8iuCu_(\()}%:9#`603f_zk jʒ>]Yxhؽݐei$t @xC&?la鸮%NӾbpXbc9^iQIrM~l"E}#9 *O)?(\?V2`z @*i9ͭ]ԧ̙ud31WĊAWb  Ǔ!l0'=ի[A׎;₃"ވ %oV[nlE\Y GR/M/ًeiNธ=.B6t>\֬A萆qc}ol6=o j-Ǹ )?*~ TБ~jȑTB_թ]hZV-%ǶP2= L9Q_fN]Vw}:Ɍ[A5JO@KΝwd.oQ zsz|zo =chBh?ÇS-LhMm(3H~#0}_:%J io)f֋Ai\zcNſKnmdzjJ!kce.1mx{ `D)Ag#@DRbb1w1ƴ})+#@oS~lM=@+Hxܸk)`wLrqHJuQ-Fw lL X@xPtorAÓ9'e[#D<֚ܙum }/[71)04uщ0Oaa(J-^$&3ݚ^]o(+@/ Iy4=ЭA D|cU;P* edl*BIFK]R+ ]t D4V$kohK:Xv e$H&0"٧6(hrI8Te8>Q7 &llJNla'ӉCboM>~)%D\ I+tvt$ĆEs*P*!?K͖)n;\ *F1Ž~[:Z eqqMXص4giN(}  8)L{vhe'dc_U(ӓ<#TQb=Jr]-Ē'-qЋY299o& ۺ;<)d(, VշR*j E>i+D6EF+FTj6ҏ*aIըs n~m]uC>vH2I؉1ۏjG^AՇ`!T# "M=pU_c\+88ˀmrc[bwZR|(_B[Fg=48 F8 M''nԧJ~{9F6ߘ7;(^.V'XB -mݦޜk,&?a,0.-H<>s.E5bU?֝V~¿b@ƤyWb!n/r%yG>O4/mW¡~ost6@DB\N3[聝C8WY. :y9X'5Z Wѫ8?K4Kc Lq+*CM]^I1a~Ƴb%`JMWΔ%6m5jh%*B~4"HVuHݬ ,>:,SAV`&$|{x1i+;& Mu )Tq*D8hiJWЦڽnpu:c!vdepIr1&2F [6B̟8eVźK .mޑ&NRARnvMq&nңtL朴|O~~.\ھ;z(GIjHNKpسm@%MˮkSɶtIӻ~+jS [63Dd9zUo6CHcQ=Ю^՝CQ6vu7i#i]wz3vWɜ@YcBG~t[ĴaKF|f ĚMR=]Dtk$Jj24dxQ.u̫.9Kd JCjL@O(Vz*B;]r|B֟C}爳 BL"w[TT@\XV1xY^:mr %RTN|N2> D1`$VT+Vha}$MeITij42#K.iV;͞}ϙ_ (rChe쉛A_BY&TW/͙(T$ʡ-c9dlu}1W}pspJ-aAX3E-ManLLQrwf~+㿆qA㥼-T2JUm,] &5ug1˧)ah䴖 qBQtWF0o K_w,cSrZ9`B"Txo)BcۺW=fh-8,nnj-?$"&gږ =xDXv ɶas.`&~=CGVVQhTy "a%Bf|2ys7=BcĎv4%{eK_YM."Y9+SI;fd0%) P4|"CGXɛǹ켄?dâ_f<t$ށ G;+nZKHu RB8 y*x]w 6?\HEۦ;[Jnwb4."dsÿ -BsiQW .+Wps35rm] \jS-G"c2cUy$2,"h\# r/St6TcySӚ6!mӒF0!riLD 8ɄƲy l~}:ܾmE74Ѵ8ʺuRmϒDg׈SsCoBRo19PaxibBI1 ;)ӳ@g֛E<=wq#w%xo2PlI4l+":AYzķL:R$4FN.İUϩUI{&#k K$FoPq6nw0}o` Q"qbqow(vsjc 52uL[;rR֩,)A$` DhEG!4+m8gT(0(mӡ~HdO5oSU`©[j[*qM,v#{VA dc]&q1Bb fLGZ/ o]D+Dc)isG? Ǣ70لT^y#[ } }hZmc9Y,'C?z4/viDƉK*4UKmEn10ɐ`^++1$qT]t#^x(=mwK̜L&GLɹ?tNZ'~Y_20r|Ny+gfX^g'FKR8[PJvH:F H#xU혉Ϻe$oA#`2V~YO\*)9ֆW6~ZP PPHa""W6P<ZhΔ)=_l_Mo &:uҹk%ڤ_Kr`eFAǬ< J3rI"٬+۳ 0,,UK^{דǾ2^íDЎ}>ze( j>潳%*]NG>)֓'?P-`CNR=-yBXbnKc%݇WL޾f>mBppw%S(aJnT]썃@wݼFL/_,܂q-V}4?*{狣'B' eB d<WۿrS<l.۵]oa9AX@Q7O؃sc捰NP]h$ڒ_W&xM !䴤#h+axrS$@н`C҇@ck*A[AЕRi zժrS>c!nb TL8.sd4Wm m4h8vIR=%Ju:`; ODeWQM o򘴋<6oxw)W-r5P K;%M }ө944s֩f{H_>DsRG~u;;FiIްwDeN@m`n+GEB,t' @ܛ 2!Yp&t5K+%xH,wEh$_θ%kzX5D6(~;XޓGfsbԣ&ϠZnQbpuq-ur| nu|סK 5C{Rz~ƈ*uV$-?bv8Qpv>r(=ݨ.E.eh*ܘndV/D0;,,e,8n&{qg<_Hb*^فz,Lwa+v#v5t9ms-X^IW,yvgEyH68,5rx_*k1V9ĭzЇaph󺀗:O]{ۆ`$4 "-K]sJIb^ B] 4PR_n![p6)01 3 \5(U"B7T5ji33Ûw(Zw v)1`栰v'^{RYsHV+-R;yd㻺+2FB_ Uc|N>գVm409^Bs4Q>9dY_JX=.Z˰Ҷr;6&\ 6S:nOΝ%#DIR'BUMl4k~O

d̼(vp}Nt=s*8(bst$({#0#nbIPaDwmpƪ?rJT2ͬ5G珘!"9GPfg>K6Ow2KǓ+jQF7`k6jMˇs ,ۣY͋wk7&G暵ze gWqԮv`ƴyDtB!?Û.nU~kGy Et5qzpeIkH21=!4&Fu3!$qg7yJ#pye}pOb+llJTZpB"Hr$WA>H(~w}k-F0$>O4%b`g2š+*ўG]sMumDHx쯉9'dϷz=< ua)>V|$Gnٵ2䨅vd1] 識ۥ{9$4AQ;H6piޞϒ6P| 3Th`Cp^JN#N&_nyepXH "f,\h[Evviv۰FfU)Z2 `fs Qb_$%}b9o񵺦;;oq)f=v&wQX8 ZG4܍RN@@sdgBgCp/EED͌zxx٨}/~}VV!Ql!r;gTv˚0otW㶞^휝D[y@CS8-Y\ݎ@M.90Rs;j9C`>jz%5 ruGe]YQ{;7l ecXNJ73n5+ieÖr(ZNvF}8oa~:s"^viO@Ak_Z۴"&nqRbI qJ1 >+Nt.0hZy߄Y5ڻe7mɱS?#t 7"Cr dO/?{]p->IyG˄IM̑`xo}_TB w|0p=afpq'G>a$U*Zw1J4c 7dK)p/GJȴyࢋv*:m{x:ӣ$iҩM*?m׶bXΟܑd Vr1ʼn-v+-Ie*Kk6(ZtELv^@yRQԊgW5ώڸv$3r*B?q`̏p?@BEnа6p89э ө)S[s@`²| ᬞd~Rp7atڢ%G'Xd"?jZ>f^ %TgzՀWג+.sϓ-pDֹb@-,B笜wJ⫼ZbȾJᯜDٛЎg"L=ʭ\[}: *I/vK~::7@H;7B~=">RQ'b YvGCH4||ҿ }>pO,ĩ1¯ Q0w⬁O޶'Z1nG7i\l<¾J5&wZo,EUn]bSY!8 qO샃Z&t.I/9o$ba7#c`2gSg~I%9Q37ķ>нr@c& 1Zq4ުm^ݱqv8Yv'lM~{7䗟}N\a8*}h){r# abHg,oK(,3KO1'E;vM7 yR5$,/3 ^NhC LW$K)Sr`b;ī 4w{5׿4}0g+ENd!!r޸g%0*^aU9oD%j2+ۍ' {NhGd+s>1?5vyR,E֩)gϴc+ H[OAjh BԎ_bÇ9Ju@%D,@PB:$й=krf TG^ɺ{`b8*x+ah7({ث#m'׎d5Ł(h5)*3,A?Z/[O;ң]K g&鋦:`hY$Ro^T 5zf12# U48O6ճF yݚY)ZF.A7Ɯ_uBpkYJK q\\ }я@IQR Eު|fΖav:#'p4$=pq}~u" :dK@HddyKѷxψ5}K!-Уr;,;-ks\#냌S~ޮpE .ڙANL0OGU܇#KIacD:Wzׂ^݃j~eT354'lJHRfq4 5: h%Z𠰩JvZӲrz4Qs|T -\C'X\%뚪+*$'cwa3"DDVm| 7F̦Fbא&<ውq5ƅc 꾨B3SFEޢhPB;-XUV4WlEcӉEƹ"OUh%kYClQ[ Xv=h|!*bvnԼ` uU9)F}adީԏ;0>s$th"zX23{3oMHB wKNƒ|a7.^ 9R׋Rk93BQq>M~\W>G 5& RK5~!RVs,I { ^H)Hhw^k7eX}ǻ\_cX:.H7Ug&Qu{} GLX*ObθYƦl# gnd.>qAQ0 ҳ%Gk,XTWĜ{a$;gRYz*Z>skϴ|~81AS (iHO | %K4(pzF"0 l#Wf6$YC0h珦JQI(.W c +1eT8 . lnyF -2N>a>0OA<2b߈&e&zvv 74BaB,-i҈J 窈uk Q+AP w1s89CQ*hj15m(e m΄3O*:#Tpa;L$dHNZlТ+;smQqwML0:cͿ{ا_5kϡ J8:UƓ2eQ)sT![aΆ[NVk\¢EZɮkcG=$h9y˵^mqjQ+Wsg$H%X: ,/]BV#,$݂!rzkN&It3FYBY1H݈D߈]!Jn-v=n-/XYw. X#j%:F$*VHxE yM٫;ē6щ`ka|fRL-,bܢ(9Eu dw1He5-d[q BQWk9t)-3o`d{Ƃ7HEk+]\|hyqp|6LXYްFIƫ #i$Zbeݔݑ22<' ֠*UTm5.Y/M6%p"~۞EC`iĝePi(-e m ^˂t* qQ#eeQ3_[س9dR`@2zMчjeKO38#3ao+>ұ-@^ەܢ| F(!h"봈kHjꞇjmL zAm)2,`t.v5r$,hۿFyRɅ6|^AԔH8c5 ev:1 vUh aQV b΋+axH'vxFf hp(7#ԠtPȃ&>f-ܩl5@Z̮^|z8Y8%iEwog&f\dQS2*gپz0cF ('~ m_ 50yRw@8 #١qE4՝gdWY?$k2=G)R3O8+Gթp!_pV?a ,X/eʲ5WQZ=hb֟~+֬1E|BSUsk*B8B鄒ɛp;Aj{d soʥ{7 l& Sprx%")k{ZӞqpIYhaחQ*_`v=ܿ˥g~zCq\/pEkW.c>ّ\Q_t@M;Ր•`B{"lzd ,vn$VY*JecT#PѕԓG&lYme=Na8Fw,<k*$rWKP]t9;[uQA OGgNg|֍<;N\U.QT0( Dv 0" C ۷4Ђ@u5AoɂxB״C*ei B0<O49D 6 [y?mXZ]|щ NsY/WO&iSY-oz}j8(ؾY GNs5$Jwe8E%Hw gR=o/[uj= \4ϕ2c4>=mz\{9(MꬓQ[6αijSP <_P"Rz  "7(Gky$+>w~4p,0d'N qy@5-at `+Q<9VrНU.K1> 񳧒ZnVaz,F.PL#I%4Ri+&63-YG"7liҵ:zǘ8(D0bOt_D`JLn@懳/ VkD낻"VDv_6(٧cVxet5rۜ0`V6DWċODBԱZ I~V/0%oay*ԣ٠ ҜY%MΪr7X@K7R41y S jwjV^Ysy_Ar4!QPu!BICJ(*Qk n͸IitOrL^_P|"@:4 F"+qp(,pTtL!R\4c'{&UG*vJn[J! a$q{M{<"Isc"+^~Y<vUG_mSB$ktc &tK RGyF˻bRzh}z/!wf_b0+[ y}cp q_M~UFts|VE]]P Yds}'L̾ 8c}{{9?kl>:NqԪxa(~{ZDODR[p@4bh-ϰ ũl'Mx2ZzGӿέ%m׷ 7!DHq%̬E[Xoɻ30EU[b?oiv5*cbwcu8O5A̕ nJ]XnB8%;.pfaay`)t7Tz/ئdvҘeW:!Qnàjp}g@=%|Brj+@ v\a/|ren[=,eqc4 {$"3{6#mKn'kh e=p9Ƙe#`BhKú˩gDgG7'$ r&|=Wu-NCH(SkTOEX[ n~y9@9 (k&zr'CD^{* ߥV3I3+El,RTgm'~r;}FL0(Oʁ *q V pH!TmtdC HB= 򚃞"cDMdˈ Uas2C-ZkZ5z*^K#qb[ `fx2Q_{0B+JBy.V L ~^𚙠m{Ofyo##V/Z2E Ǿ Cd]KDcu;ڷ?sOC#wCU@:o^U|z8k+e]?]AX._3Yf@z[Qߑa 7z2GVaC2o+!G8YWql-ppo !Gǩk28TfŦ2s?oPKlZq:fsd?ҧd#xI|W1JS!qOI>&,5{)Kd8Q*SFƜ Y&`{*λ)VvFܚ`,•k[bd *)ŵ >a{IP0#޷&;M3ԩrb2'O7޲Sy(Q5/KrLl.8[6i|zSvHd|ZXp`uZDݱvWeD)ο.|78z ʊ W $]jTr|zF|^" z'|ek(uPj 2Ӥ] Vz2B52\vUތY$v(')[vH $ 4߫sqx$ (t UkKIYʦMÑa8raLXCG EȒĒ i9 +^>+=WJ|>ͫyy kt{ =]ZvyPJUڇ޴ea>.49D8'qvacGxwd(=Yx up`'쎉} }5ͳ90 fv1[љF/ֻL|4*^y 2v;DBP,qv[A\g5xi 4sZvi7TB~G Z%5MV-;hgܗl?}:V+ŷis"Υ[ "&\r!pӢbc蘫g7`Sڤdz t HCr7c\Q?cpμ \u!mǐ|fI0BG<j6.Jh*00:3Өr9kxu#)|N3l9q[4]hH]K lx$5FRtH9$KX^p*}nT 1j|?r}5&YnIT?7_84{nR'B IF+5~%58Qas{>8/^߹eS(*[52dA9="ɴIy\l> b_ #PeXgz {Dq; gS0'zz1rtnRKS`qa^+N6ޱ˅ OzGoaGdWT:?”8Z= T[3X!fNkj,O&Jӡ[Bc#Ay5}eĴр8M}zX>!H0-mgcE%Eo7V Ø p_q,Q9dq!4mp:Ξ qׅ| %+d%|oQ/c|=ۅX(Q8R0ږ^I֪e,WT{o~=_W2-ڬM{>x^ypwd4 YľHoV_c2[l4 xU~R)J`9Te!$ai/:>K:>NVK9~^SJ6n3q{Y>#GX(B#r3D]hx$"di)ExV䊗rNNj [P9yhWxg: ]p-+RUi S+gZ!fS;c/nJ4Os]ɆCShIe[San1Jt ̙oT.wYp\ Aso[F1-4DԦN.wVe.D_QA0"0[v2oLBC;1;O߳.lq "*u,zxe4\B3E{ɽ.d ru e+ꍧzv'RZYDvl2ahJixPMG/-6VL'kA?#xq#_3qae *l^5qThTW,W ֹJ~ _5UyҤ9g  'bq3,HU!}CK F,-vP 7O>$On$-X Zb)msqѝ5:Mń¯M.H5nn zo*&5lZo"tx忴kO&.*eamr BT WvG +Ҩ)ې$_#\./&8p hJO.:OXIq]!NNbne%`$U+g"* am3פZ+[ֺ2e쎠V܇ϷOgY$:)~fxRB3*8kzE2"q'ƓU@iR)ye0 GI;u59 Wl"4 >VԄpvru覆痛M vԑ74PG*o_QL҉/ \!)j^8Oy{\Ҝ  fm{ܼw+M3]tBqT N|JM* &ȱqz~. LQ$^ou9nŽW?ߗj˷oh*hΩ+iYZ_ڮۏ˲ TH.!$T7l|v(r*U naL)sb?D($[JNW3=י[n 1D[)*4S1+v" 0@kҼ_O1,lI6ؠ a.{7ED rͱwqe@Epu}AG1T?h_~Jl}@8ToY;;&`_,[gy7Ṁ/OCFLtcL|Yƪ¤N( 9ECRl!VڇGQu,; 961VuY䧏Ll2RlI>:,'Dmط GU ߲~7.Ql @:ů>\{So WхMa EСҾ¥m:LT96(RlIm+ԁ?>ak1xI XwA_3EZG5\VqpҼ >B}5PTbR+drյ9RDeb},ha3!hW S =;`&=WB!ֿ^H=w>瞢xo~@ ;8ʄx' wl T) 묄MV)&w/V\^J&aT]7A5pA+5C5ZJ&˽$ b]5f}Idw~_~|Ve6V)V bw\@'?WVV u꽚Zn4߿N܆h0scXzT_bF4}fHY9, 5?Fo⻏ h|+9?S&^٭Sby)'+usƥd4JA!lIy'azAwP&A5^#o vw[IE^- j;3/oLcw.`_*{G8&v`akZC7E[׍KY>/Nswi7cμߘK}ѩڎT8r`XQV`+qŇJc^̕҈aJ,E>̡`嵝]^̊+=乛Ē%9kcq0W'91T;)۱&η'L5 3ljKt/"?0!vGC@})G4?Y'~Q;V/,MAyڸ|X541RdsuO ʇ#dn7$?o>0xf"LF8 $`C!V ;zea͔"\ؔ_~óV+Yh"W PXCM-vvF?#x';E^ovYK0[1kxSTG\0dzv1"RGy@?r0BFBswB0cy5ppQzs _W@ZJ^z*9+=-bA ZqPoE۱, ;PQ A"步3 ,oc̉)v#ao\O~YJkf7~KN3^y?qOUn4byI2g+vhlA4BՔLz 2cgS| F- ;43įUS(9\-;:!":3o*sA x# A:%/ieHBZ8RJFg1$ٳjc|e<_4ؤIb5['s;7Fn Pۄ;m^;4aÃ*wlvP7*px^CfTG\;pLeȺs =lWxgM򴐧|r5߾eyżwB/T0xQm4#~X1Sy|? ϓ`B$ʹȆ/K#cq+ѫY+'JMtn6 ɢaBXN"wrƢ,-Bn:xtOv2&.N_O[I_^+h ,y-}l ΍#\O[i^߆v dݴYGe.CB=hSՈvC]5 z4^ojQZgWD6mq,Pz\2(ի~;s<,=QLuV.hwa;n@Q} &,υێ]t_)e"5;j|hVa{ISMHy(F1D 5K8B:kh_ѡ1R-^g1q_B8iA e={Fq}Oqtqk43)#BM8eurFa4$=Dc7%IoD/DbSk{g2[jGl=b/K:%zq(@9HkDοhT/pZ󣹓t*V""{hOh{_IyÖYĀB!9/A"XE0Mo1TjP32tp[j > Oyca3ͱ7Ѐ u <vhӕ=O Zxw7}UB&xl۾Z<ȔkYɲEw',Mg$_ {az0QI%4moiP\zi[rX*h!1UbJ9h* \5 ,_ i׿l$hR\Tu)^+$sHiԪW]&$IK7 HCg4pۘ*r~eY(3󅱕<0t<=Oc˦Zqoh(k %>&A_PZyP,EHN4%mdӗPV4D'<#B̕"ujE43Ď{T ۫ļt+P:zP7 W1\cUXGv:cn•MN4~s;J|aecՁ<-;85eat)_&*AhX^MÓQWum@ |ӄ:d+voUK+PxS+BsO\Uד2#yIThC˗CG+R-Td:049KoAGQ~-Pk Q\>Vح@Waa(ǵ)bdJ>Ȩl@ov,Qt 4/8+cp_Z0̀MN H7p9ó+4tx7=@W@7yq@s)PILKIA(캩B!$oRBa0 皜6T187TP(~hjښ)IMKأqu W=foS5'bL//Br2 HgK Aڭ CH A2cs>85Xv9~܆C G~#aȞ*]]6eEӋ5H0A)}2d{.rB8/|QHh0̚v@f*!BH*Tjpb:|ڲCX񃦭" `Hv!M V˪_\O&dy6HPkVD#ݘ|)oO+j=;v.l'URz-K<,]/6f`ɘF/kE/L bB9﯊A̋6Y˧J nb%lc W>n 9jZ,ۊ_1GRƱOD0w.a!V#5ҙV6}"C:fto~Hf: ~ 6 4}}]']ףjKvu{ ۾x\0ЀZIK:s!tfϊ`#/YߪR+rlsY 8CϧFكɭAO8 Fac&ǮjriE2)v~.ȩv7M`yу.]L *Wj2agWꎨܝ34SꃬYvBN!:[kU>֒$%ooA\AC I|2QҁB0b*:?b-Uj~1QZ\IN$e<3kejZHY;D?oAL8,z ']/jLMFҌ%c 1`Sc^bBK`>Jx9Ó 1f+jv yLOKUb(QJ_re&< X:r[= }SlkG}-wv=yS}VI\#KRxQݹ]z+fyhCGGi~`t/Uw*T |Y."Je,ݓYAh^!.mxpDߥqw&]{\YE8-Օ6[+*jL(6Nj9sJVysgKָ jw())y hRA>h冉|]wफȥXe}8K=XIŧuaaۣ&J~~ #w ZɀoyRo!R ȬvոieH pP窛!Hޕ'0CN^4}9nVaS$UinCD`N*ci>F R*c̽E#itfKdS(N*Me*=5}:rY^.c>vFJ3yXbK_-=* v/yQyfU_ "_{mFL>N2zW`}L̘1Ѯv|}Zm]hNoގAwj`2UtYp љ*'S("RCFA4<_FG im" < МC^D2ȵ0,N'`,%4"9{=[e8K_TEޏ?(L5D:Vդ u9ΏٚLqNB4X?uQ`2Nf I$&gTEa-n':#XEɡ+$\a/؎cL3AIFTu sX>FLgqhȋHa]HQCEEy>@&'3EY$(#Y/"^[.R iq(B)~q-ԋSRK9+ tN/d zQ+\,N/o.rN܇4d93HdJ9Q/l|k^DO7Yft77$JDQ:/1& ;ƊI+ <7zg+vsxwtp؄>^dӯg-tNZ4u4LKg"u*[WFDu/!"?R(xݺKsv1bvDW^{m0E1X^/OƜ:&ҷaԜ_ȌM6i&=!rR2F:ύ5$ J,jhT$ٻ9o/z@w9jVVJ`L~nYLg_Ðkt{,$U6>8 p!`EQC)( ihnUuiF 6&& -> X\hrg:&|Gg|ު:v|\;| ?))„P=|h+śS٠NN`a9O_^aDxQ|:Ա9Rz8C/ɍ Y簹Xasm㛲QNA_ʧ(]GѵygL4κgf1DwH{ 2JwɆuUQEg%-ֺ4bՌ.Ŝ]ܴ*k=p9rlq" Dm>\ !kɁ#Knؚ^25rf,^C=\nB2NL С{dP#b["_%(YϞ[ 3q}^[ƽID욚}QZ 7{ƭ¢X؀fA%)dGwՒ6cIڡ4GF6oE9lssaQNGfʎg_36Ǫ+an'?F**Km4O*P{+֏-9&/1fX b sS= 3s(=/{m2{-^Dof_dЎ{25OOHT7qAimĤboQ*Bf0d$X_ 6t+<@[m/1=@JſZy`n t*H fҧ8yJ-r҂xOm7J$U{Ό/$](B@`.B<178YMc*G$]Fʯ:oIΐqkl(k{ڧlB2\Y ` <qnt*]>p\ʵ\.GN@&mXmNO-zpMGtfu ,yYGj#Կ y0C$u}_SRt9ů֐FL@|mL]8:#,̨O\jTo7ɐ5v+-OEv]؋#.X:~ފ,n;7i:E)BlcG;"'^pE NUN$-FQHDUnjl<>M #!5<3,gDy_)ԈQi){oʝa觷!?_zd˺Oc$nE1IHBΓPM4, DR[mvSvF8 u# R& rW=R0/>\ y)&=!b#+єtCx^~a S&)Qrs3oc`_-`勏;ha@NBz-u3, YxfYm3*I!⟗Bת6?:NLLh}\<)b4@`3]ZMg fqzuMV2&ׁiowiqWOxJw^B橑^(UcWS~6sF}mH9Bv0ydPyb^FAEش6S:k`X9Dk7i3'#2T|6k!B]ǕCm љc2Q2T+@uiieNThJ:nɞxDzK@-Z,@a|0>VԄ ]] UԝŻ#H0_OM a.&ͮ CzWbl^\lp[}ɦfxA:?9+2*MEd&Up.XzTq[31*K#ȕZ|` a_5I@pvl=̦COpp o){kkл1`8xiwerd1a+ڝg눡W>P6-{t7\κ{w.Α!7[A, \+a]B4 T9@-v!4dVyI-5XIS26iݡxYk wɹ}SGM1V%=Q{K8<6 {mp%2a,4̃k 4tIK@a{fv:"O !R#@a4VVN0GOt+H|JFd_] R 1f \*(JO9¬H]ҟ՛/By5:VDZDv2\Jw<_/78HS|A ͇6dpo1X&gO(ۓ@?||`֫w W\zC_dV:SB hC|r4q?TQ!3_ԤI#"miˋ$}|N@.|OX\A&Gϒ<,^:qSHEY퀷}AvG+`{F|g u8T,y#oUZZ|~ǩ]o-0K›Q[]ٵ9}OF;Z#l&y;U0DZ>R_۽qPĹP]Mke@[r0Jz̾Փ^2hX/N mwp r]iwJ:{10t*W?Y\ykmW^8ƞ{^7LsP 4Jo8Tɟ4$CF.erS'W 6{-) Q`l mzI@>_L#l!fccBW~#^X4$eD'H>h8ɧ[8k#m֓;J+1]ݏkGrqka_|O4T- a+GAf0fM1n)hBjTHUlFp/^C+9>@FVp5&b Eg7sGI'ISuCH@x|6*A:@" ѽRmHQOhL Wܮu%*Hմpgq+F=r4@Z\\|D}mv *~nep6L'x:eiyj3u׸;1r>V撏 z_Yz L^0#9t"Ex 0Cf$G3<~D't>C\j\^ V.X4!5{q@E'=KGWWr 7S_[Ngy,̠ŨPSf |4Ge4%`=b:$@5r&3=X}6. bD 2D?TyEcJPg@.RA5`GrK+.X8iK^PE 4g&M#a/ )˜$8_e["geFbB5b7bX G<;QpKj)ҫ8*6߲`@Zd=ERKnzg[m !ErV^GFu8\ʀvE`>:YEt \/@Mkri^`zbv p!B?ﳽys%β՚6&<4Kw) "ce,ſ2H},r߄J;EXJI^g'A,0 _8Y)b@pL`*_n\r~S,W$Jʙ v[ق=B4eS6}f^yKWD q#1t~zR;|d$%~̔YegW=i|E x@9/įbITEײ#)( 4K $Td]zbDN .jg Nƞ,fiM[}pe o MI~O :92 ZHAHԆJ7K|wrđ 'ՋZoF_TQd5*ShjjEZy GIm 58;n"l2%WeM)1Y{@U}N̚fq Ɖ/m :£M$[*y,Z.$o Vy+vBi\Dᗡbᛣɤ,%diԉa=wolG@n%҃6xM͚XlAЕ*N&hrD*ۇߋhla0q=\2_1hO3rO?5'Z KrC|]Uq XgAG|ǼOA2kmeyMϹ1 Dy:U.GQ ewU5yPLv?"P)2"2A].4j~dH~SԺ%G t5!zs"J`12_R(BYVt4&.'vKz@bdk؇$):$YHCA(nAZ&+LM"( ^U3gθr]N~ř%Y[ +W0P ke޿v*k|´DHWѓ~M۠щ+qF%m_Ǔ~$Vs^؍<ШTx3[̅cY*Q' c^ Éz@&741aED)j{h>irn`h'lTB5c$RLXZ qr9fVGӇ9#?_}_I5vZ]86x Wa~ƶV5! /Z2grU;<Aj~ 1Kg-ݵe{r;MԯH4qD\U-j ؤtV"bqI{s*Z"($@5Vxs-#Wf+-~t Vr8%0l?$FNt͙*]*gTY= kf.lЄLi4=kJZ {WRGl{Q)"$-=c=>pXfy@u71:|4ؤ[D-0{$+MYjǂULFM y(͌hֳp49e$s 9 3_#' kxg.<n> MטHTO3MM):#od%*ɝ^wU&bDo.u0YX,G? )7?Z#Q"/-{dd_aپu|r&O9EVD- +DCJ9t-p/1⥏ῇ$翆acUBE p0U#,aRq% `+a [oD9w*[j%&(rF..F-Ұ %#Tn+'Y-{ԮH~r*Pqzީ]sw܆oUV tq]$:>у36eS|Za)oȿ'@k84mmI~RG0m(~ח6tK!#sNNI{8|re5mD7 H`QRbTur rD oDd2]&ǞWx`hC"KVB,ˮI3Cظ8p{xm ;K+~Љ=Q>9bIY v̇o2ﵰ-IS.41 Ԑ8kK99#dC뜏q&4'x(Kar$Mut\hqOMQxw6.V͇Q%ڎ7Y38@C+j(Ύ ,$uYTJDٲ&_d,ٹX!o8f4YLC'ȤB<*@Ye!ﱠR'wəHyt -}!q'ii!GAD4dEȕ^ߑj)?0^"skY\B F}M=hya={OS ?GQ68b^ %/RTn0hm} l²N ="fkktQ-A1]0aL`:O6yg26~?j()L=O% Y5jLQj_̥@a8V!\h( Jg@Yx"r<|157xEH(wE݊goփU+)jh%]`grS,|MUJmpm5ff5hIzrC ;9y۪26k` #3M XV?(r>,RsqH ɞ/0N(&wŞ\ŚV7 &;)nUK`[NX`9f'|ߦrPIJ0עioj}*,4?qNr&} %|4 ̡07OQ gZL ~D"Do"Qr3"Ќ?I$M otLmhSou A>JEI3Bm ݲm2r~IFذ b5=9a ߊM+gͧ)TD{mnh4Nn牝!qߧ|_^>mKT+HjF3\<੤C0711DM1ϼB֫s.*=ׅvxat,|߲˝Jq4-nlA`НF'IAG:"Ϩ^n~juמ1sw+|AIFܩT%_q7-[aLf{f:n&rbԼD5|w QLbls!R3 >649"h@jH4WS֫C-*U?>c n[Xk\>~M^, ۂ)l^f|0QPL/l'1(֭ʔrтmu G6, 8Rӿyri[lb+[oy1"P_@G/ XII )k4kHR \Lco1ETT\6{<TL3DZzzGĞG`\}!<TLj=VfTѢba'S4a[+VxbΩA */*6P3,h4 %XtEfQaAfDBtx_q+wMf.kxAr<r8OY'>(S !+@Ne86v/^mT+"7(oJV$Z%K˷,9wJ Y$D'mkE׹iwY:mM0&1s t+"#2ZKL#9jY*|eT0̴ 0\!T?uYG|X7 .S):\:y(w#20f<4I{GyRI,G\y#z} g%XH1܂Y{6FSPgޠZ`ข\n1x(7q)T;~v5$W,7,CG| 8$D7s4EbV 1'~Jp_9{~,cP!O gFՎ|qv|(>Θ@[ w9w߾ 7| 0YF$Tup%4s+ķf" |Bc#]5OUL%7=rzILo>w dtN Ik|N!>Gd`CT8v˷U ̊*|Q^nj\Ш6naQp<LɎ9]$-*!{{4oZ1p/Ke}MLg4|3(r:q1C)3H@,NJ\Xt4FT4ZP6e #\hb] LaӨ`5+5bs>]yW_T@neX&|T:;iFy-D],v|oh#s%՚U=~O0, Eў<&aץ+0& 6@h8t*޳L8%yz*x_M.٢;TSZjLpH uqm"6d+qw([&1zÐJb C'cJ 0gz"To" dýpj1`C#y@ .ygi"o҈-ǀhtp>Nm``߈t;M)(|2K*IЍqLpcU[N,PY>AE @u/[/xivkо%'@2Wj-<̀kZw.#sz6 !wWO'丯uQ(a_ZVZ;),+M/kv;l~r}zuhO_kXCZ~Juڈ֘}ʫ2.YEeQzΫѐ.E}S$KfܣgPPeڼYK u3u>Y;^_Y/K8Z#}W=[%Hd䆝rK 8g^~ىdu;ƁrNëc;0(FtPzj 2A/j6/ [?wq8o[s7ۤH O,͐S&A/mibh+5\ Ks F*Oy&."G/pgWnPPCQkl93N@!mTxE!VJg\4]@!4 tUvo0Ԧu *z*SgK501Bj@$I r`MU%^=NEƯKu\&9H5Oֻrq$0W6&v7ZsA#1g0H*y?ϒ,lT=| >}&Fa &چ2q53S ׸1j(=б)[n/$f]xH^.,_$S:u(M$56(!Ոx]' z%O3tQ56lBrf$< c+41yQIl )hoN-CŵJPwOoTb`zꘝe(HSG[vLU*f.! ,S hPzm/&~9%a u38)l>G\0q6T{?=a$X?]Y1^XQ`zyŗ-[06{ѧ氮p?-e_DUGx%c"g1EխgKq~>`sPhE Se 0!Ie{Kg轥KHrM'?ф'=EE3D/͘aU`05l~y^3$TE[Yl~9 (V J̴$b S6>ڻl>BhFgkHրhR!A .` n`Xx,"LN^8끀њrc!u%FYՎ9SHqo㝓q~;|NuH& ęTu ө]'M6)X9SZ겘xGl4I n7(!t`¯jĦZ[!e30!|.fS( =>U8L!rxugALQmZFoA'kvG@Ͻ)J|׀;7v}''V2#pTdK bxS B4Ioy!F~XY3;͂_HDSh=5{ƕ9Z(|bVzhވȜ|dޮKlMYǚb**{~U1k,g ޵oho𹱕dC >X؆b j!'7N0d%xx w%@>H܋B@6Ʈ|Q236w/WMӜWfLmpcUjfdۃB1\ɨ'WOȰcQԈjd)fZd%'ZTXJHp~3OvdT HBD}/{_ڳXX hǮT)FlAD9'U6e.=mi8mCh)ݲZ=b^‘qnu=ޯY^(h}bv\_vjmpSN[Sc6ӲpW59 aKl!-bc~X' X ݤ 2_9}Q'j։@e8#H $ӷ\eJ]\._v!Ūk$1%#9d'](jOnz'*t&d CA)`a5ˁCcee+ OhsX =E1'%QDʨ.J*寜ug(PeU<5 -IkW =}ܦ`+eJ?LȄVJTDF"Įx).)l*c{³C4rK-d0r#wq QZG"w4639(bc2)5|vYCńըǔ?.#4o#`T%hsjꄾǑ[0;iFORL["1qfEƹuĚ%rÌ hOǚ6w`Y]Z,m #nz 2LQ6Vɮo8҄Orã:s7vCh9]Bp\\Jcx=/U)^~bބ'ӷmK9I{OD*7 'UEl.>Ϥ'diǿ,$uv,)pN2h6|+=U#Np1;u$WSE蟇뢒:K_~ubJ42kZyRpӰ*]-WE]|=s~vcN[N6a$qݷjkD% ]6B߾hP]/. ڝ vZ(8Tغ"nd?mR/ֳE#S4ϟ9#\l{0C5)  ;4FwN;B!#I[O;Jz/FOo^MOȔbɐ%ͿKjiݾE $H`]_! _eVw|̌(z9*Kż-î %)4kr b0ɶP_sdnI͛7jܭ y<Q.*nOlrZ%Og-"BcU }jD5( u  }=5x^I[!!%41z*!i P~W^n`JK>׫PV.x4 /Sqn6ꎨyjZ@MvA)h[+~ ߌ'LJq)%U tfl[ɵ4k Z7菊X4,|8L5,hi{<{إ$B,0ǃ[@}@w@x~e|yTkYO:]YtaG|"oI{1{a^&Y2u@ŏ`4Gr[tANt3ǔN|ǗS/( <*%s"w-4ĊA,\/m]4X33?cILgoQw+< Z <]Ij0~;-U R򰪧|k-:L;yA<+FwR~kJ^-P`f}xt~GM6SY7̅ $צּSIC J<}aE9'`cQY9PvU>9Մ5 SnXO:mNp=<Ǩ Oӊ>?)7D/-]wQıÇb ?mfS ''.w[ (]63-1}ɣS/>=x#h{s˰ܘa֞=rxkP.4Ɵvƚ=}, 6cT1ۉ^8a%į`m}ч`hx3kRRbMNLe8<*@E ?,V;m|BЪcOo6+cZ0o0SqR<M] __7`>Md$7 7j:))6^I2طh1ޤE˝EU1^%mqRFK޵ChI^UhFjblGߪ߅4j6yƶ}/L #5byK.~}ǖ £'  ]ԌB1\Q܉?R?(q%hʍ1|(ٰ5Qye2v p@TsĬƈ IV|e4SњtYpH2I~Q#lRW|]^.xcaEs+CKS7{@1_&Q5kw?N:1v=n,(՘r[VFJ%=PJ=3֛TW'åw4Cl;q>v8sVϋڥr>Y0zw?6KaD,DN-3nvo+`S%h>F~tĴI\颦r #؇X%"Z _s 9444;%-R?FT3t_AdTwRRfe s>Tmż:A0|m ZFُ(J ~Q(X=HRj.1x8.sDRc46Kep dD I@ Aet=*37-]eSO8 IO S7t a*n(#zϕ-@6 ɺ}W&p/ӛ'Ljk_y;ꓐ?AC07Zͩ?*-WAGQ93`{Jqڍc {L+/Kd8IjsFz&?a\/O͓cCqqvith~ϼϩs6)7p1EZw䌕Si4͊>&3g3W1#^ڥ4Ory\4ȅ i,kKளP2 1.]rd%n8U!y?5{!]z1>}3B/fh]V$ o߆G'-Q>j D{@oc=hBeL W%WޝsW߹&@T4Mp6 O;#_B-PfL,me$GkAxC`mj&)Ȇ0054,{ufǕ_ ު=l&!EG-x`ҾYHgK7) mT&&{r2Fy; lI;nu+Mm>V*YOMIOߩ-]P v(vwX``"Wp({h5&T &v̑'Ab!_y/O׺uFFaMg)[<iE)FU{zUX ޹ j'p4y#:u 5]yKTW>t3^{Z~ׅ 5ע؈ml޻ŭJ-$Nb.%%o]2s;4'PET zӷo4ܥdzbw_P27?ͳ 82*g}{֌O'$q;H^c|mn .tKCj~^ɉN]zM',&Q<ӵt!goe{O"j^$&ch'b%7)oS.b5G>|9o ^19ЂA]^ )=U?~Phz-6se[7B=+RCA򦦬u(W=|jjDs]^-Q֘!- {bnK9YAʮ1`Rj)30K3Dbׁza22i\ [(Zak"}-܇Gh'1ª;ANdttIJ FgylP=N'Z0¯yHhAd`@ݰɯWtcx:ۉU+g 8.+d:Z 6 [͌yuz.ל4 wr#߼߇Fgyc^4 ~d %EX)8_^lxQ7d% P@53bڗb#StRCC""%uiUeKE]z HW;b .LN'dNwzȳFSo`.:zksLYZiw$JO{ kx^5nn["Hwૉ 'f~ 2rh҆qFj٪tnr3ٹM@ga9VF t{L"+ <QTE +zauB?2}{[ s'mxeu+^21W=!_R(}%D7*7+$RQ!TYM|VRLU=KQr/d睹Ms+<\hԶפ3N@+?}Ĩ&ܠΌOX"u&*o\o[_mPYZKʇޅs'7)˓V(5x|msI7`g7c^@ U6QO%9BwUy05Mu1qM7S$BUѤ6;!mPqVmh mͳ1pLuЎ3@ }kP &pZU PViAdIKH!3wl\2Kr+̈́ʝlL9 r >aGl9ʃ0=)2l а.tatQߞB̂ ]fi#6)<"Ķ.M+\[FZ#Ì&>CvIh!°q:==6S͈FK61V8`(I+vMGϓȆqBAH{YoOd ,wAuqD/D t4 Kv7 W"%1jMv0Q̘3ѧ[*J\hj/vX iWr5@\f'9K/g {|H@l3ܣ \ƒ%@V9b<GAd"qÃȊCʅPf7¢ĘFʷ${bdYn+\ {y/EmWJ> +}8cC ;}?Xw`a-G?4_Y^.ex`{EO 콗Vp̏+"{䡽pi4b%.Ho>pµК=᧍ L (mG Y_e*13j/gNxC|r&N*CJ5X@#ónvʻZ$ek[RLP8+xxB|@.է?/MF-qH7NMǠ#&B1_G5z)JzT$jqhLCX~z,uQ'!MD5УCdߢUbt[Rȳ%A%B:H?}-[xtm uH,W]cԀ#P݇CuηK3_- Rf'}UY'.- j uxJfpB(Tw^Ґ jKs鷮%J7w\n?x5ɷ"穐A] Jqӓ0xrڏӊUz6J1cs=)&kQBqjn!B\.'RCP֡0w͑N@oD@"` ~iL-nbbs1f:uʂ7viWOC^h[ۡ-MܰO#y#>t ^FUZଐ mgVw)XЀS/P;dh)[B&ŗa㕖$ܵ9KQ/`={ɘ*bt*-6W61͎TPai,A| P)|r"`unز ӈA}K_nZYTrϗE'iI/Wʑ7&Yĝu:TJ~~.`y+%G"3?@r$Id-Be^0We;gS"$yrY=nw':mC່,~Rg,#ShnҭΥҢEۅA__Z ])4rX! =ZTViC3R9NJw^KrR~S3u_ Ң/21 >C],׿ ds,6}Ķ48eMJimVwɶ>ν`8 & nt`DB(Mӎ/1'"V\N^js|#pę)Mgr V2g$&b~$9/ Sg#=X {%afW<#0 \j/p@Yp;kd|m֋BUSrOT̬/a`}ZѨ\_UPWw({lnEz趵DKؕ1PvzBp߸;!5 $ ߗy-tH뽲nDjz Mi-Z#Sf3|]q4A1_ 5k#S&|͈2 Q&sރV1YbchYYq/}7SSc[>6 J o#fruG` [bܹ6/"ZqӒB_$:7OZ0n#t7bs8C~/fx)^+a;,wS^ąy0 *wvOKƸu,b6 F<%=)q ژNP0N( |atC^ ׽f@o*ȐZfWcMP;Ldu=bSS͊>&ɓWS.!Ί&:'S{tjYU˨1~PI2G0 [95ΓoRmZo_m_G~SO!`œB@|1g߅e;ުfܟq?xA[, |ޛ?f 2¢>(Ց19T`U )v}C;,DB"&QuYi {5?;a_-5/ko;Ud* N=n .b镰g&)Et.iP͔wG:Σ媟cLN/pBE2_G^LLF:7uDNAЂ.-$A;1/tppQ WybW0#PVA|Bh4]|U ž{= q/oD[>F<$N&دWBJE1Tڹ\~QUX"Z-δ<:N1N 9L+1zSt*ß0F  ;6e g:0<Ƥf/Ē9XA-h@ĕf((Ӽ׵b$ocP,!'z؆27Bo(C9<'W!/\ӹnMJ\3Àefpd*X`bd#$zU'cS31.ܺIxDٕ< )Ln!4Y*6r(|FnTRYM! GPbV#\o|? A(%}9蛺ݳEzkqv̫s0֭^͂ `]"75FU .`\N00X\=yτ=j8ArQc.3C*[EHezQ-ծ>FKqzm5 m}[үJ$ImT5_?%acm 1#_rC*?RLTRDGaϣZ9JUĻ+F`{ŅA-O=#&8aCvƿD !LRE"T^lGϜ}+N$4U\ &[aF|n ; Xgd1Ձ2(ܒւ;] 9XiKz =1E,h|3ۋUJ7mYoݟ֩(0W ׯ`2%rҽT$c X: "~V/Hk08'Ac^or38O2.b Tebԟ93IDeUPc!>v$*DQ1x(AwM 2,^=3 t@( vc`#0(@!tXcv+Q2(\Ӏa Aalȷ?d8 C).CsP=T| 1p#FٛY" VJg(: "S+Uה%'_)\@>r|FɅfIY+FUOʚ71\[Fg A,Ծ}/Zw! @ v|ZF# yu //0&K9 jqM/b'?2kwBR/VUd2-+a|]DS) _# atWY~]֔)qΫ'J!pX!ՈҐgϼRn'߲1\Pg?$QF99g >Y[ruDeV^!ɭWb!)fUo^li|/{PV핥2]v[3\_gF:.]c*'[TFCxEؗ&̊`H&rBp|dfUy݉#v+qUG;~?[^j'oҎ_~xsÄW=4 p% 'd9["xK4k19Xm';͕@Tk@`ʬ}/V,)rp>ɖكg/;e鳖1nH.DTd$v}8C-3Ɇ~FIt=j;OoAr躋L9IGdΝ uupwe( A?SUqj5n$tHL)2 g< !4jQnb2=ۈ_Ud&J\p=s3,~'sProT R`ʷ"mnIۣt245Hs:|ND{ @;RSSY==VK~3khoq2:(@$6$cigiy.V> Ûl7$ǪOs`pCdi]L1?y.JzGW2nmLՖGl>DҾʦq'J~GJ裧/Z :"?1L%`DSʘo&tj)ZnDUʥqr[$6R0es$iF%?yz RrenjC:fO犪hoD8AsN3D2ǐ;%V>-.(Qم4:j؆Ъ>4CTY? GE%H6^w:w+ Df6NHfZGV3f0+3EOA(ujֶ8ՠ)F>pjH$4[U I{ȎKL(p -X2GFoD͑ >PfuIZ],tM M?ʤ&RZNC+"jUv;?TCpXh5s6a#Oz&XŨ 6xx,G?tBV[rR,e9ҝ%y0`G*1EѴ,{EP M_z+Y S5ai2>saH*N(\D8mF.,)ZSA>bjM>{qБ$:4rV9H?Oaf!RB '^xV2qyUh f"k xZV[Bw6{_kꍙN=;Gh{qj;Y-2Z[#C6蓇8ItDyR,Yc?tP t w |!- Čj~)[G1]2W([oPTLj <6*iJjctPkv5tq:/ɰ/%xxȾ(r\׭Iߒ&q'%ps),"-k,_o3 3QJ`{Qib^:B(82PʒZz½*qd&siP'YP2:b,^vcx%Q|qET"TPu226P4GƠ nǓ;f3FEhJ9YN^_,?X<g^Ic&=Fò!{S<%;L[* c 7&>1R2ZcbI 3VD;}5I #Q|mP^" 4+&ڞn+&ߑNrδr@N 74;$_(O{-jϲ<=A0HBxpulM?qGl3دlBc۟DriIawSdi@/^5 7JByHEp>_nSh. C?ݻLU[n9@}8eߌO[9'!}x f2{V:yv)ChEM3#9Hrprin*uqPFuRmEUSg[07ױd e%>#Q˧ Wj 5`ג-v-1GfD߃wKeeD&ŹuÇtF-Ot^LER-[w*3˹wl#݉ d7! Wؗk,bCVoN[ss77/ V&b x1B k\=1nkpTJC&D^FކG9O0 sEʲ 'X{њ0_rC$pvN'UJY<2Xɏ!YdTÐ6fS#|2Z8 )@ى*:n dYsvz2֗$P1,\a} '|:8/\<L8WBFG˿ Z\ʂҨg3ƭ>!+ˎG$8xqߵŶq_gc0 t{?S !x<Ďd[7qp~Bx-9 UsŽooE/SB0 lͨ:IL`npY,C&T55鄁k' ޙbRQ@ X~n. v8%+ī*3z3]yIzHs!z{Ϲ^FX&ZoP)ILc#z>aPV E,@PF%y$C:!X;%fW%vwKٗr)p⋼ m')˴?_D, t az n/,l)%}4j,5aCީoP6IYK"Oni(Ե3mVƑD |&J%8X4ZxpK^5dwͲ* ~/]#\Ρ+1bAﴻ+݁1=WL;m TS-R6Q?~ l+G oU%x?ؑqo 4btu 2-ZðD{ c\$}=<\׫2jQmPp6>-MlǶډXf0k" }#D=V1yF  +*%J}b3ƕ(SwƺQo^'q?eݯ\)  .|pfthv./04<=0М;c)BF kIO$Y ^ٖWy4iDe>œ; .)zX;,C_zOm\)v?hЦ&<ɂTKOT9y⭇skU\1!4muڌxEPࡢ`KDhD,3tO ?afTpe#e kK#5۽t9i?dVMX@>[uAnA[o?"uёǵ gX+PǞ~}< @]#b\ڄz FI"(45GAQL!,Ŗ*AL)ɂs~LO3ƀ$EQ󿷓jw#ZGH~^g] O [ @Lgu^$^ GD 3mYj@$':Pஷ;L# t2L %-Pwl4g҉y 0تcAco^+0/CX]|Ie%6:P 'drlYa|<[%!+ιk[톓2KjŌ"3.&쬶= 4}ϒYoebNg].sJMXAoD%Qʐ]߯_H"UA׸e 3&m381#,IjedjςzBMz gv pnk-pA$dNj0a ro!'R:S(Wm.\(u `J[bT}a"bc9"(  ;4ENmx+~xWK?q%L7 S])Y"g6=HUCT 󻖀ҺO ү, >Tg!cx~]G jv uC?04ETB,MD)~K`7^p-X%-M@E#KOKˡFvt{_pP#Tܝ0>5ǰ$8 *8K\A"%bF&ʍnMY=eQ{/rZJZKҁUUtlk rm0~jO}݄7z,וv~@򾭼R-G4Icn[s8m)R\o>fGB7q([2%kVO0?,zh%gGGo"t ѻ5.|5`O:[jL^SyW{L:R5ZoO@RR2_k̐T.^ftm҄e;b# Ku%T # .Qgz I䤅@E|JYnurZәn0W%%_L gT5KF!OH$VL u#c`AIݶFBe{leoi#CUx@Y-M>Dpcq&+ka{1Rf̵6^Nmݟ,'v2sc,*@tAcPZ6P t"#N=Dfd AM&F$IK]_i&lnp|O¬x9oCKp.Z}>Ug\%gru6!QueHdoŅk5Df)*`x qP+և Q4`%H}!(C/lo & } d8/?IE<:w#( :n?:f>RaLAK#Z:t)\S+ ѡa4BBHpski} 콦|^vd!=wuuӗprn]Ozxҝ^|l&9V "0z$ +0Vj#+a|u4al%=9qViR}Y26-AŬdzisv(zt<2J"fajm9>s;{ 7bmfLi9q!;RX o >S[lb'|{Mun b?f^Gv;X3ʝPu*KB͂{6f_T5fשrwsB[< =k(3:9ҹ3WszmS 2[x5˘x^T&4.1 3k;|D@zbwC/& Ӱ!ՇLQpSXYա^EOsҦN3f C[|nΫpvAljΓStWւ)eG |H?;K3 ~^L76' =~i5D<)h=||GV} л"Wnr*P4ЌiٱMlPy^[ iJ}pA`%+Ṍ|buW&梈Ua q,Lhg+@Iz8l&G #2ߊزToĽ%%_,V\5OhЭv HpQE:. 2+b '()Hx [ 2~p'{d)4uYh'B WhZMvӅqˌiڋUCË {uϺ z|f"O9[UNy>Nn~vr4NK+p~%@Cgs7'.T0PV3֟,kg!9~Rެ[* ~"u9DͭV%?_ :tpf͇D77 EbGWTM[_ʲ A0B?f\,Ec83 ]OxaX{  ˉPAcJy`\n:Gf '9M K3Dڤ'OΙh'{%6`(ֶ%t*Pz[<@T5akL%-W;MN9Mh 3El&z \ 'yebp"Rּcm J)&`!Q[eOu8rgEћ6A:ǟ&,=Bs5}T&c,U̶ЙJvOW$wx%7KFwvȘhۀrv2{Q x ƫZV dݦz{e_En.- ̛1D̂¸\\T67nlJ@^l[&(>/uƙ|Zu]lBoMܣR dx#"QD?\xqw BzM^XR"SĬ«Q6m>ֲo£Ȓ *f[ _ KVA6_h#vh, jӃH2[6`j&HԕXT OGDдUަ }dNIIVDH6^p"ےosEv1E5^@@!,H KL{H A.>Tt>Ya m=]˧C7a ŐVc{ΆxodfR"G0aߗ0(+I f~}LjA,#B|WLzZkXuMA}2dZx1fB:O8" R][e.B- ;k")}&hտԉ* ~ucsрye4T H=/}؁`_?# #3-3W^cFp Ah)`7fk *Bㆎ8Vw/`))䮴:=OFIlF 7@߂m4 }tۋ<}8e0y펙I\2e6+B;$KdKR:S}ϛ9X){)>RLe[PI(Ba9gCa88R@}b XeeqxsdUT'4 !B~ 0Rp<WVn*`z]Ө\ELOLky:D&/mz"@h{a$0`z}o@UɫV]vm)[T'K(@uؠ^ w/??8ĕ3)PYoMN(EEV0K-ޒӯHd2Ұ6!{0Iy-l 4÷ # t'0rNrFi!^ 9ʟ2wI̹Tv+gp eXuxN|N n?}(ƇK2O6uߖZ,I D:;!‎i,zXOYOB6um+bx.}G4h7P?BE *6`ʧ%XƇ= 1OkgUHاM|-TCK -)!)ʥ4&:Q::?0ɩGE0)}-_{> M^!M-csTGT}lG[ -R$D)s++Xk𣉾V;M"Q[AQ]esnI a w5(Vy"dr߱Kx e`;}'Y, 1)Q6=Z N`28)Q4ƾ '`V,s zA[f_c4, ;Ak~HCh% &Uo-ܹ:pg;X .QQUSa8xxm " &ճ@jvܩz"JIrB8꤂PM+3XºP C?a})C 3jp^Qa{Q;Cx5ew(qɣ5t]X^2رWJeRsY*?- QTYKlpӷɌcJf:H۽ !=llrzP[%*#:IE\a\~fdŎ2ˠ}KB 5|z_Q7"TOx{R6'ᠥMlgR B,#Z2lCk._ޫ ZS[Ev2NyёXUWGɋ;9>-/Mca>;p EZ.'%隓eǯCVF( pKVSVPQZ{/d$}nܖ]uGNL{].]vyGc WB[{ǘ [ȨzHkdS NC~a7Eŋ2xrDϑoۭۺ;L^ 灒N>m \1%_߼假ͶK8(^i^q V\!\^IsM bm?65-ѽ +hLev.1m)A?~´P+"\؇k{|9[K{|(Wuj3k|øHii1+2x8ԗ-]c#OxA'*QifIQtb > bO@%">+*CwP+aZ˺ix ~rbBB5qQvvzE JBx_R kp[^QED\LeiɚfB)PYL */⹧pP!2zwͬж J* ^k7PD*_bk't%yq9+%.W. .*p;:6Kr-NSk \>a PtȂgtVߧ@l?P0} ߾Uep >I@>$EC;XАxI^gz%+[sFR̩V.[m囐9&~Z„Zq~W 9E&m`<'u1 }fL ECQp$c"4ko`,' B?.{"|:^HV3ٟ9?u,5h<(7I& we%Fm$2,江ˀGI=0Vl-1{(|7v@#3mS*9s?mf=qn0z+^h6a>R;DܬK%]n:{;B'$&o3<_BT.(b6P+̀vȁ56nP Pw]w#Wv-iJ( գXN$:5LaOøAS#K'c eJ},~dRJ9 @͌wDSGAW_$(ā!]ABo|pv&uo'fB2 GB^ =`5PE_-_OrYG!wA[EqЖW)WC`_21bgmY{{E>J\ mp뻴O2Ь;lz*(i[*pQNMk'3KB`IXȞ;ssFWte=Vgi{ʻ0Fϗ5Дw֚pI.:'|]3:xؤywlU1;8&6VŹGZhn!9[3G jgF`B_Ig;5uOTN ~_ʨVs:Jg?Q'@6 %@}s~o*Qb͋18U E!&3|M*mY T#sȕdןfY|iß8 ZsUKe X* hPÒ7@vFMCcNK+Ri8[jJI523@JeD ,vښz5U7'a@yd|B~S9%=  nxu/$hg,+E`eA(hcc~MǟCk7 P!wnp$"Z%RH~sdf>S2FW@pq$ّޙ"%:eP,:2#ChG"0b;O!r/9J[MЌ|`x$SLSUv+ uR7إ EI}惥e3O~Q30O|Pn/E_Lcz_n(q7Z Æ,k˖XV=*m'~P,ۊĶ, & bޝ3ߐŹ(,ijqY(';A]S:(f[dMaTn91*EZuǃ~޵TPybϚZmwÿŢA ==NU60LOp'I-^DjR/`U ttd+loEe#p>A95){_h2Yi8/3I!f52w[i ZfJ {{N/@S}k@*,l{HB .S¨_{I ԰]m K3q0J+wtҠ,/h={c% XET#i p+CS1]UEImۂ4,̶β0xЊ vY#"GQtW , c/Pzdc룸zYllxR}(z(Of'SgHF$2)9,3U֫:_\v"Vyc]-~(̒a2{;eX;rՒ^$(v&99G{}>(D$<&Ju̫˻w[@ _,"r,ʆti *˷{h>?*VInS8[DS}P)PCK©v @j)"Y+d7RfY+^}{Pr.O]ožo4393@G3X@w†h#OlA c\ :.e(;xEW)N3b|~o3p vuu.PK*݋ϊ *pj0(35dMJL-Y%#Xvoyv\/ݿn* vaG**b)Q5R]|n ׾m긧[\@#a޷<1Mm8HíPfG7E->Z[ خR}Qx-fiRJBi $R rc` gnJ? VY~JJ'fؚ4&ҨtxV _BQEOR4ǞG)^*jw1N9:8V@bLhhrv`#6Is>h˦GOaFO(ZĞ: ཌ(.mLDf4ip[T>=;!A5|EȮ]|NHVt'fx+PLñRZ] *zXde^sbSG$uS,;/cQ5"^eH(j{<'9~2NJ|^j[lv [4֤b}K0%q9@y|߬2u~RR`sPH!l1||K;><=zW$yt]X儕8vLi3?([׵ĸ֑Qmۺm xq^)UQG"]_S ؂=c.6e)&͓au7Q]|v/|&W;IǨCf bjv $0ڑBRQ?~_C:PŰ{f}3jkbrTb>ce-b~|x,[z;Lj߫0  erGEƙh_j" &nmC23:Iۤ8h J3(gkm!W y Z1U `C WŐy\"rm.oI6oט`$8|.8 =׫)Ux;2j6碌GґxGz*؇nn1+`I"rG@[Jx3Ƃhi`6x,w+bGbf|ZjP >r[5(\AC㬠)rO/EvACo۵C5l,ޘIJU&=K7G$D|Bʝ`8MCTRp(:C/YzNEI1geJKW]qmhD2[ph 9A++P3Lg آZ}Dy=%qgל^QmۖD|v% *S8l{!1yr Q/3V#\r '8<|h5s u#ZTq}iA{S9 $ Ǧ]M-ptq^=ƐזW\`il6p7fާMq{a݊Z"wii/ߌ(%!Tҹ<+eaD?#Vh\!wVД53Cek qW#tqHuO%i!W$Y"%Mό۩ca޹WN#|5YiCiH9[ kL̒'z՟:!->H('W0^ReXe()*Ni .б8K5Ai);paԯH>yݝ6vrKa{a^Hf+FfEghh}?>{ȥ;0abC'ow ӕgj</\;r?t)Tӡpm]i]n!J}p}]v 9nіP÷_jHէʋ8;!G5Ph'O5MAHxރ:0< >qbrb"V66< "tR :6<[HgDs߹+ .O|ZZ pQKjnǟLP#ЃnLi˕/WR=@wQOSdNJB.YhXmjdXO( Tqɑm؜( U} {DA#bKY W4(e;|)KjQ"}@j؎S4G@c 5 % nLm R0AlsaIQڻwYxh 솭 yT(8|*H5T {HZZ}\U4_i=70voϧp.P1ݞzh I-(P> |ݳ#7ՀiI|͎ 8W" )Bg2uςu~Ņ}_%.;ڹ"!wV *(Fd}sr**?A|l>7?aySW/" <"jVn9̸ѽDOɶ&BQ-B?ׁHϐĹAͫ0$Ef.Z>3]i2,)4X%7L.IkgثXlE L H7 F#jdl>9D<4!0.ͪro1Y/ӉzW0ĺ^ifWg2j &|;'g^4KPrY2ۚfX7A0{%H~wIDs9}A{4 48Cwo  'f IƮPFV.yry5V{S z\8m#d.Gc47O``Uʧ*= '(5&7RYtJ3Ah#Q3 [|@fk֒?cz bKqOeQ%_A^Rbusŏ݌?p4uy9,reb'#A \l8' Is[FlmcN!Z *\='EȘ֋eF[TЌG8-Su!IV5s#PɀO44KF*.jw~H.\$GC@1tK!zŌ@"*"(}=&b7]d#V}0f*/t5gpoO)/plɁ!Yz2CwI o!w6i:=7TSOrhg4B_sNFt6Xis2O )f0YM2̳ pxY9P3CX$p s2"PD_=p3+&G8x.oũKÌzW8OPC&@޶95+5Y:t.&_L'roLCot~(j{`I987;KqsPW=#FYڢ[ T61|zsq8kcCŗ1-Vݑo i鸴~|8,WtKƶ w3->,`kJwl|:t7Ƕtj#dK5a.N%UU0A-a׈W^;7^Ld7C]zNG/Br*qåÕ(gBΟfG@ҾcۛqVJk׏.2} X;$_Iܽ?cl3A2A W"wԯm= Cư퐜0;)^/?\v #a>}CV4;͋c'(m+9I{]M\n,,"΁6ya.Htt8ӮT6CrYv!<+ שBx0cjZH3H?@8 LBʋiD1 qVQx^khklXJT+:l6ůaYzTa]ܶɹ4}m1/֥a)8v/?C[u,ҦAQՠ4ct$e,]-.. Q!A7ղ[B(z*VA}^FOvA]XĚLs:[L؆:@@b?X?{E޿j):^1uifssoJ 6IW#܊6W'r)r 5hהz_\2D$s.\W8hRdL[`Nh#rɛKF)D7 K jD_P}[&bCeȳ/-k{36_0CZm 8"mz$h-ƿR;G6=cO8J*RoЩźo<'h5僨2wcO 1% DǝCCM75ox,W#Ӫ7-kBҠXSR|< c0jNxY)vDIvʱ$XnV :g=񜅗C%0Cpo fpb>i6klXȺ>*4;.{.~ו9i3,NgBY,ЫOltH[U} ;f,XPUo Vo̬0:n $b @/`4 qX ]oJ%|_@ϥ=[@QMjG 'vxJ=o 0谨Bƅq$%k4pKz(N&;mx[0xL^KHPh7a`$[[J嵿q|z WEd6ZdZ/*A*M4-̍P; %WBV5Ŏ߳Omc }ԍn ξy;஠ivC;XM:Hӊ떃,OH_\@mb7S "8)W߁3֥D kqtS^#n+":?;.9܍Z FYޑ6ְlC?(Ψsek[)F XŐrbx KyiNM\ٝvk8yCJeqŇ@,r@GXuE*Ȁ~lT 蔨=8#mVzye7ثCYlYB:h oVe;Q[6)\ 3c[V2@_^/:q ;?ks`pGcz0ufO)s}n=*~2 \1XI?T"6+;g pj]@>XRmFY'Aqq!N_Cʋm]8q=!4/ uD1V-h1:2qO!?ztD@@Тq㟺շr ̻7Fp߂Bn ʤc|!lإew׮cf-|-`XPl[Ye:-J(",'`s ֶfj\8(Ӓ~LvfCuOKㄔq(Iؙ0|.1L&~.EC3]L:)BLqK+=#+vh\Sl2c#jAn5 SdgKXe' gcЇD 6y`[#ZkKj kH>qw/0f2zdտ,t3ڌ_,DOEŻNh'Mi;W4 :DVM,9-*4I,t>A9+C)@ Л[65SuI_R玳n?GQ)ȯSRê/dIV$&,2N=LRS Ǵ}+4cΞ`.D<İ Og4Mk mC{(:C~ qTΐ8ԃvmr'AzFL*i?jA.mf99Ѡ{i Ɉk@`W^MPirdL6}Jb*f2l[or'BOѳ-dyUmy|9%kG&lj F,X{>i68j.0;-.%oQtqd\rEd( Id+dFyvm/YJIK)Ev y6v/J j;|aDO"n\I,Oy+Μ:VՇ_tDD% ,!$ U}An\3΃~uwP,#ӂô ~^ݭP[tFA:ޣnʶѢt78.H#ھ a'ûH祅lvt"`l)^P)1;Դ]Hsэ8"bC8<\)/yL`Pa243[pG׹&CPlLbiiXSڒ- r+|]^դ"x߭&gH9ƢzX41R;=s+__l-:q@N;k6n3QN,[5(gkX]3fR23 hpCѫOcɌ#xx&;PA{Z|gUm!Z11N음[j |+֛b[ލ}|'lsQh)ۯ1E?*w=UD"e?H!CZXO0r`X.NXݡnDEjU⿉>; Q/I/7TjuϘJ{^)&DvU,ܐU+)mlKH*L*&"rRE)\L%?}ܡޥ:ڕS}Kwy-V)3G;]cTD4eg+!3aى^G}J#ɲz[] 8eTG!V4WʿLT(EhV m|Q4M'̚F{STDސ#-W6+խ5xʺ̵ ]./0.ښf`dIu;Uo,5ʄ6,,km#}"cwb襱2jAO* `7ybg'vuoW>`!5{+>?c 2L.xv3 W-a9 r43+!W5KbhlpkLPmf}u3Q;suʍ/ӪLYoVv RL)+ij7'{^=x%Ych깇$:efI=ZMPPHߕe§ƈNuwOAyΨKoOx,Iw@9 _| zL+v\ Viu0;,q1?r>k;䬉<lrkm_<˴!,u5&_"q1kVi,PqdEōL$?*e% ~/+JEf \0?ۦ׹Bkƫ;^k*#qUo\t]|YJTiW:cƘ4`O#uWD%>Tex#APk2Es9- 㙹B9m,ofqt w;YQϊCA bG$_ HņBœQy9xgk"0W<)}BF1`FxcqIDe(\QR̀_y!d6(L֊MZddтRS< y!Vt'5E{V *8Q.I+lx +v'јW\4i7+P(pO,CϿ< X~m?ae-׳@Ub:$n:?=i3 mHIc`x "y>7i αU.#e{M┚t7+&dZ2o"J>; /G֧t5ZpO^M|DP^VYwXUnŘBj$ArvL, ͮjb ̛y/awL!$5xFi$ư^cS5CW)dtqZi)75Xy0dWf\KXJsdA 7ICЄ o6ovvKv, :MEEs'-85s)z )Xdc?+V-M=JCv d`K+RLVW蕼oVE e~D"e#ў6W3!\ڒq񘸖0Uۋꏋ9 qS u(bsKc<[w2r%=cKzG/7q蛾6lzWfB xߒa#WD9L%ԣsPجk0OSuSWy韉$-=¡ %ShE0F$[H) #<+/i֋̨E.eh *EY #5,~yoͳ'jLBѕ)DHNɇg zIeWQΎ)Ũ ]); pHvffV<l2߿NY\W_J>ʚ0kS"(G{!ޕ$k0/[f‹{d_]z9h? ~{鷥0/0ҕo{e&.xeˁܣTsQӒp;fۮ}Rl,JAp-X6Ϯ>;/#(Hkm{c͋S ԣXȯW9.J"hgt2 իx)7;(m"V8Iq6!S:J V%7x|Zm s.g{U-P( o B /-rN~Uƈ,.J鎿o5r7л1m7: kPY~Ep gؕ;g#PCf`Dl.MLۻ}>&wmn;l-.9A߷˲B5oH}"q}wAϦAg_za>^}[t1:Łٸa#$ƚN0o7-ߦB㌷8|K_ A4tU$yOZ=§eVd'g`vgp]hOJvc񌎐 z'Sߚ=7xyʳ<,ZVA55P{N^ v'뜃µy{Bsyl'\'%rL7+:i?`]b~A2ܢsOgs/ay;wjxAW̬ڃԾw>@/(:[\JŎVaJ FŘ ϯg׿ &~jWDt8MK)0YAL/.KeEfo |SqաT7yQ_BKniǍR\Ͻo~^=F@`Wl, pJU03mvC>ed?o^r8MVc⨙{_CSķ}Ǫ8 ,-9M8 ,B FQQ0DZ$_ymargqoxdhvuv) K#gDf!5ɒ p~#FY$"iN7g"Q2(Q+㘏kzGz_[LL.Sܨ"8-+9=#81%IV~zr,Ib 9x$HzH|x#]\uf?XNW ֈ2Bq CFćvܐ/WH١H^FNjX6#fΨYIx* DS{؝*X*N9%{8SiN62G Øl97-~7~7P0W$96\BuP7HzVZZJy̦!& y`vLh]a2`HqMDe&uŊF ߯L׳% &ZǫRgz YɽjNsW?h:٩A,ı}dtN[hcjl7, L]z#-LUt*_Jl.^9%?ּ#?qYXzmTB&Z71&9uHۓh;Q`-ЉƯndHzy5u!u<)O+^s3?A5[}+KWn 9.O[6wO+}xA<ݴZpQ:Ugyd!m+#=xٱHLLĹ㰮ԜuUz UnBt`I,&ykZMIS+/wЋ<̓Hm2+[Ze5`'~Sީ%w O ^B^X QFDߗh2"QDA&V`ǵ?-ʣ%)sIrW6xqiuf@-Z焘r ar"tGPB\wi}FcdusvzۊfGbYg% ҙl.]^sJj4DaRp['shs" g2jUc҃~5C94ÞN! KCKOhiO egUTzO_@[.(-9n׫۾b3BͽK|'b~UfP B!qy.}m\0d}S}ìR*G[>H[99s@(]mrx~B̩m䎊DH>5͍oVBLsLDpOtl~9O}]nӘؿ9퀥+Y'uX]3s+Nu)k%_Lo5hK,6#Ҿ<[ۄUD DR r {%'mHE7,dH0蝝z#Y1X9D]qa*wgN44F$]Ò){]x-}KRLCeqDc Mqhc`"z2KmEk$A~$F &n-^ YZ