kernel-devel-6.6.0-50.0.0.55.oe24030>    g+/\ ;G|`u` _ CX?gI?5'V{# İʵm 7_/ʅm&>Kb  "93P^-4/G* 뀓1 9YbJut cQ0Q059_< z5#9.[9ӦVZh _v7VQgki!P(y?tO\ ./ ,#t0,ge^ \L=eW;H&shZ>Z?}B1lg)hqvbܡApE3ĺU^hp8OqDAo E(60f809f1c34afaf9206344e42930e34128e6c5ad3f3e7e35af29f3a0a95a190285d8b098e8bc1c18eacea08c1f62fa4eddd04f5372-*._۽M><5fu?5fed & ,06 KWnt|K2@K K aK `K oK KPKgK8`K@\(8797: 7>'F' G',KH),KI*\LKX*0Y*@\*K]+4K^/%i b2d2e2f2l2t2Ku4%Kv5U+z5e5e5e5e5f 5f$Ckernel-devel6.6.050.0.0.55.oe2403Development package for building kernel modules to match the 6.6.0-50.0.0.55.oe2403.aarch64 kernelThis package provides kernel headers and makefiles sufficient to build modules against the 6.6.0-50.0.0.55.oe2403.aarch64 kernel package.g+&dc-64g.compass-ciGPLv2http://openeuler.orgUnspecifiedhttp://www.kernel.org/linuxaarch64if [ -f /etc/sysconfig/kernel ] then . /etc/sysconfig/kernel || exit $? fi if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] then (cd /usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64 && /usr/bin/find . -type f | while read f; do hardlink -c /usr/src/kernels/*.oe*.*/$f $f done) fi/7I  -/yK$K r"@BP-#L: =Tx}A12. zB#R 86 $>[gx*q $Wtq&v?|X]|Oq/  4#B2a ^4 <)<   \"wo U Pz c t\oY  a >He {'bHf &1Z K]zg%7( "  ]WKtL/2)q8 ^ ? +C - 9"r k3 QA(4y ({n P HN !nIuGC>F @wr A *; % T N1?WtV} b!D G<euWIW"aye67 T  -dq$18;<U]_kG,=fG(  9f[x=V," OTG<? j .aG (uo<hz%$}N{mn  (W cc#|1] szZu%Zw Ne/8$XR $ BP@^  # X+ c-q<ki@sw7` ?R/$ ;$  +%   Tw;]T  w ';C.B!>%bRh R9N2  v kAWU!?(a1 2-Y)v VD+8Cl 8"g=F p W WN}h{Lx;=E==^ {aGb&87>3 [x#JBV]n oW"5z KPVA#5+9, I<  F;fEX 5 u ]O?Y|OMdIg  mFKJ "a4HCz0x~Kt&i&n6 m (?F,Pz&[q `aaO c=l B9.qJ v^Q,uJFD' %iOI 77 \=m c6 ffKvTa= 9Z6~SIXl!(OC(?SdZTV: ]{Y * Pzq$4?Hcub !F=W)[sgvV UNi89N^ZO+ ty)% )> xVb } ]QL  _r M]u[PXUV qQK-WdwuUX sK^fv AY a\Q*m`IToI%3F C 6z .WU OJ+[i O RMz*# ү"H0p r k |~ \q5*tV$x=S   v cfVt\"u^P=8(F5bT^]xX -.\uke0+J*:F9)mckh zB@&- ;h% Y^@p,Qqg ]1ZchlTy4DSYG:#   Y#IO(&1%<& H K:z{$T zHC ~>w ( r8lb c"(W" U @%^1AJ+ `h(b6"MU $N=(k |vY\2|ZVz3 w>DR{Uo)S, T2F_S (nC1 % iS3GN  ?C# zQRB.! &.@n( {o("%r 0(TnR$HF<wkMSMLOOSUc]kj8H= Sis f(~R34 }T o5Y J!qOhU 4}-i* ^%pc S 6~  GT=RsUV<uSbs R/YnP8[Jj3HG>dJH dy}#FzU37)(W|wZ ]?=W&>W4+9; b3  znUW(#Z  0 *a7.W,/Z[t=$Pf`Y"# 75 It 2 )N xyE3S<\Yymlm PK  V!$&23 eE" XATcc w%"T vRM $j-ohoZhI5(EY wR(' )\yv $p!|sJ({"n{f:x 3 e}c_Z2F{l{eQ}$S QF_yFJUDr2p)LvX_ `ME wek@(Q5BN\A3y@Tm',b#hD/E,eR-J !HHw 8dMLDe2NU!`(_Rz Z{;XbLhzW 2 ~K7d{ NC w8!PR v;{t-f; hYja+ bc 35dSZ$Zl7*8 %<ztT T+eK`B5;"w-`  &9# ]qw3"  z kB.-  `oaOk]!hwH'I:x1THLE)lP<Q( CH,enzYAst^gi$ IA<J7s N&/NCZ|qL q 3Z  OK (_ P4i(e,:QUCdx|Q  ;w 5)LlW-[.M  N5D  <A \V$ 0U; TW:< *-k}h3 #: IO6B&[ *;aJgf='6883  ?& Voq{ ~#!XO]D07}#t}2eo]W Z`[MR^[bnG{sr#%tr D-GQv @ ! wKtQ([- (u>WfUWCe| LqTL qn D* 8 h) {%5RXp<~X#a rx|!& - & (g^vRG ;|[a*yoP3coNgeS8-w @M9G|>[ Y>/S%*y.s mSz1^  U]isNH| Js-uy0GZ NB# N:@3-m|$j``hEc+O'3/uRETQT>A d?  cT: Y:Gp8Q !Ǧpr@eV$.j8 {>HD0-]# +pnbt[_S DC" z cQumF OD}3x]n`q  5 t.yewLgsI`9 ? @'AzOQ OBQ*pe^N"0|Kk+zIQ7 'H|duOmjK/R j@W#Tm7p326uUOm)Btl cL^h D wXrdWv:UBy c zMhD$4{  "bu!+#CAvS^ -c|NIw:9Xy]0r_$t g/ |V# U $ +{lXE\ 7 IL b B )" - tb: _8 P_iA%q <, kv^"}j bo\<#& VL tYj V4 K[4 9P #<6%L =VB{ K yN_ C #$9 %L |!_ BJ "d&`q hxHI+Z5    to gS d 0&/, M {k}q?z!A 9+?_ g 6Fv  P %IP$+O?/^M]9R  ')H%6SN -%)4FO#&z WBKO G/ R&  R$s O.=H@^( ; 7!Z u3A Z C  '- }G ? cd*-s1 9v9u'|!^8%+ (v" 8,F[.y  %v#!> A#T"77,J D FJ^ SrT &lVva) >IJ0XQ(hu5/u"00L^~#&/v0>2azO4X\#N|Dl ; >0O" :2q 8#^~# .*1]*r2| ,K"O# $'9'a#   Hr3Qo#T r-0J  %sq{*!,aO fr8t`! 9@ =6n Q  $?r)jD6d[ #$$#L\fS;!7.e) ()?8BT sgv  ? 5 R HS . R!,(DNx Y S-$ |kKb: >6QnM    $'   SS$X f$ I=%N <p SxIx b^iR?h rvc&eE*F@ a(J&_(=IN[ 7 jM  I \ox K"*f4>eUuU jG~  :' p4xHP~{7Ye [h@#(# c6   .X} nDD>*ih)j@5[h9 & Cebg(vyvG3%?3f<)sPEj I` W   3}U 2  bD*  -b2 , = $K g [ n3 @!M^ >O$ a 7 , # N# ? = = r V   kh P/ M#V,; ~^_jiWXNC)Omq?(%97fR5:$ 0^Q _I g;f/? tM: h i R 3(> 6M )_B:"({ ;`$%OWu? g J, u+(  /Wy'C& T P/(&0 "g,4rhh+ e;Ci5Z8wS 8~d& "E 5&@DI4*$rF@%*XnBpCJ X=w 1Yzeh  F#6qr D]M#:^A"sj')"M@K+I $:Kc/.P>ii ^%`z ;7{;l1e'(jb r :,;>?k!iB32b/UZTnTUC~m wE>-8Ja N%b<2Q+DL$xlc8#J*F/1:Q$9 F%: P)$p(I  $+ y!  iT+a  ZPCDPUC 6 = } W(!nG'U 2 ,`gKM\5 @&$1 G :*.JU Vv ~LEF &  l "eO'MX tXA . N|/A*)B "w G# sZ E Ss- F# 2 ZЯ @*Ke9u {?'m t0P a(nub%(t MZ M.P0h<_An;Jee%N& K 6  D23t#+z> zIT95K8 6@-E"v 3^>N?.@ s'8(vc) {&9B  JP ? R>3VW^MrKA y O %>H' ]fcZ tM=NA8`$] ) ${0 3tPB`-<w ZZ  ud  *L ?4 9z|3$`CS?9"e,' t;? r_eN+ ah7KdzQ4 [,X O  @+zAN A O6g| { J3K'8 vN?7B@#q2 { $r !NB Sx_ " m @  jb}Y*(4 ) &: 4)v;17$yR ;/Jn YL . vWji8;G I p!!X ` pU J\d GU$dȎk =-N!7 s&h'`3 a-rBe!: s :)k*.Wj )2S+OUh`8 bUR3 !1 y_l'_ti N X< &!-- (9= *_1r@E)S<$/b Yo1k'@O2f# ;: sa89/ hREbN([%%O<3#N w"Vg  b a;X-bH6qW %O(IK MUKQ"A  a{.I u&S 1[[ kM/Pu  -K.U Rc2j)O|1 VrqjP( =E 1!wA  'se N 0[5& B#t~2 [jFt1C[D f2n 2B\wPsco{Yw0_ u">w 1aw] v' g M?2Y=E J|&1( 'A^@B& %;h ]/OP/ F ?+8=,E[, e`RG`@ ;VO5 -* pMO4)" u | Z /F/  ѻ4Nd9&K`0~ 73 1 n4I&& p@  @) ~  ' m ( vL8| < @ `% S|Szu @B D,T82" b4 vm 25nC s} & !;$W= p yT6K4viMٲ''s[, I A {wu *!J|d6`C#b qUajL942yKg( epu+K )^ ,5 + M(jh )/2 7iJT S&T.5Q} V?9<(96Y~"t M6F*O_O ; !.H1($EdZ$/ , N9:7hZ$C aMAc6!UI  s 7>A'C*N$=,8a TGeB!$!BWG  KP)D?xQ#(.r: .h t2c JX  b0S-cL[U {O&> N> |(_z!dSa4 G{Wr j+ L9DLDc0*Cui%S# "6z Tz=;li +gG{T Y  e 47 _LWw  qV d \aG *Wyd>WQ'( %%KcB@ q"7 1 C:5d| .|Df jwBf ,M- L:=(=M_.?~f9D9x 1apN <zb- B= ;\_ :-C<S/z0d05? < x"U B- Pu q{s`[#+ 9 a!K1-O Uu A$$  tIkKn'I YC! gN >C_XZVH%YN? ;+EFڀy'% H.$" 2# KhZ? %@XZx$98XdK1F*:YMg+y !L;w8#* RP/z%g 6Ztl3MF'</09g>+! /.bKPsJ$O>J c;@W#t !J> (#sA_9}S#& 8(>K" %9 ~!c;M<  !W]sb$%ekS%"GE" aA<(6l:V|+r!4 N/p<3{; a 2$$h=W40&E`B  I[ )5  &~Z.! O-6PJB," ,[ 3?(@;WE DR\WB%D*ut9YT; !FOH-  f :BP6[$,p w km+5F <hx `dj& jZ kZ P C z>P wj > AB'/! wM?3&>o18Z d eL\<; ^-S',[ "J77P?=} Y dF Ws< _I v_D D P.t8p e5\ >e/ />%: z!  b8% >7wEBLa N 8 38 5 5"9?pK 4B Du  S fh>+ ]|5PlSBӼ  4B]" ?^Y5[(>#O7AW:HVIi<x4 z ic|r0(q>a=1' -;i\4# OQ[B/h  {W ?!9W # KD &e`1 ,C5 e 2f&E, ^ %  z $h #.% CS  d  r/Ys=Y ,` T;+V  r /M:/1 T $#r Q 9)m )x+9#: 1^C Y(67} 8 rrm %<7Lo  `}Xp_ b_V* 7 I>Fpe|xR .+7 !?8!/#T:38g/J* Fa@W$r De @`o Mj=T2 OBsqlk-f  Knl'lr+d m 5 U s3 9fKG1(  c/X\ $ %-N;V@$ %$vnrYe [d<2]is ) 2J y@/  B"'0z * l^9E9Mk} kY5 Ml+-~$+yAO@T"M v L h 76q_ } $* v?I ^b#^75K< fhS;  y6s C4z  p kQ Sm N1%! ^8o3 %m 2%'H * 3E4 e01Z I w/4 huE$FQp-d3@  * z ! i3-U, M?<vAwY  E8[" #K^ !F h? V$I[5w 0$' + ^ 2 F3x$  #S4"sn1@)3 iv Ky rS[J ~m)$rYg pnh?+NX , $r X`//WSI  W% >JB! "7$ dV: (Mb #(e ,BrfXPK D/ (4d "e:$I./$< -0K4#Ve(i  j dC  9+Z B"Fcy%Y-G$&_ '|H+' c@XL, ei<\8 "1 $Xx #g  .D36 1U uqo?y05l.gDHC 2 +$R<&!R q% J6-*! : 9 bK' -n< Z0[Wh5&@MI+p bu-\iE ;+G:7=V$"*4 5y) t)A.J.o_)#? ` !'D^,E.E 37Yc  7 ! N,[,~  GT@4  3G Z  MZ6A2 5* / k >:!  2Po; l j> i >*N8u~<JEIi  V2\] s]t  K~x;l',u$&[#pU!THx/!r+ [SX1"D G "J*= ]?v!)V  .  S oB_I:7 F1: 87)aS(R"b - l1d 7 V4!U-*eEb(:o  #| < pK}% Ozeqv)%md*Y$CBk(DIk.T<]<,FAp8m7\6"/O)vKN>A@>UAP SC A  zH3[(A O|A68%  MP<xW &'IMxF3%[F %Ckx^ P'03i<e\_+ r5 X3%<:|Zh 0!g){xT2 I  'd 5k'.s#}~pwi!x7m%A2|1C I]{hI)u0:L-} lrYHE nF &&QW^X#Z8y. | UY~z7ZvO K%0:yhMM R8;o r ,^9'@+Lh1!MUuU+ -5-ap=gH^^fo}mW3$   S%+D  l y */]  `8 "P toXHIvXp_Xn5Y , !+.YT"P toXHIvXp_Xn5+7]0R hzQrl5u~{R~v b~{,Nkq q #r ~ r"]W|@`  Om<VH6?N;@$^{ ] 6$LXA큤A큤AA큤A큤AA큤A큤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큤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큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤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큤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큤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큤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큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤A큤A큤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큤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큤AA큤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큤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큤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큤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큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤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큤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큤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큤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큤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큤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큤AA큤A큤A큤A큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤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큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤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큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤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큤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큤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큤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큤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큤큤AAAA큤A큤A큤A큤A큤A큤A큤큤A큤큤큤큤AA큤큤큤AAA큤A큤A큤A큤큤A큤큤큤큤큤A큤큤큤A큤큤큤큤큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤큤큤큤큤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큤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큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤A큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤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큤AA큤AA큤A큤A큤AAAA큤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큤A큤A큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AAA큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤g+*%g+*%g+*$g+*$g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*#g+*#g+*!g+*$g+*$g+&hg+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+&gg+*#g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*#g+*#g+*#g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*"g+*"g+*#g+*#g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*#g+*#g+*"g+*"g+*#g+*#g+*$g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+&g+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&g+*%g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+&gg+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*!g+*!g+*!g+*!g+*"g+*"g+*"g+*"g+*"g+*"g+*!g+*!g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+*"g+* g+* g+* g+* g+* g+* g+* g+*!g+*!g+*!g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+* g+* g+* g+*$g+*#g+*#g+*#g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*$g+*$g+*$g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*$g+*$g+*$g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+&g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+)+g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*%g+&g+*$g+&g+&g+&g+&g+&g+* g+*#g+&g+'rg+&g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*!g+*!g+*!g+*g+*g+*#g+*#g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*#g+*#g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*Sg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+*Sg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+&g+&g+&g+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*%g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+*Sg+&mg+&mg+&mg+&mg+&g+&g+&g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+*Sg+&mg+*Sg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&g+&g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+&mg+&g+&g+&g+&mg+&mg+&mg+*Sg+&mg+*Sg+&mg+&mg+&mg+&mg+'g+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+*Sg+&mg+&mg+*Sg+&mg+&mg+*Sg+&mg+&mg+&mg+*Sg+&mg+*Sg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+&mg+*Sg+&mg+&mg+&mg+&mg+*!g+*!g+* g+*!g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+* g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*Sg+*!g+*Sg+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*!g+*#g+*#g+*#g+*#g+*#g+*#g+*#g+*#22aa1bb9ccd22e6f254375ba8221b954840255f88118a15e772fb78bd8f9c0dae720007261a54e7cef9b3d85c403b89a652849386c3f43d556637b0701fc00f6a69217fd998ff0a2b2fcabe5aca661c68848921736bf9ba442f417d7405d74fd5a26b9284116edbbafeee0bc07ecccf48d5cc576fbdc69ff4027486f3735a18083b3300a18a5494ada050ad012d66341a5671d830c1ae95e22daacf5c11cbbbc5050a838625a65f818a08931be12b018bed4d13e8868c4690fcc1f903bd82999f58c2b44e44abf163388994e0390325dc850ff7f6de5387a784b6c4cd74d48bcb38101352fec241752a072caa300539252e0da7392a269aa9b5e14861e69fd016f33ef87892c093b41df00f7ed5a091b80819957114ce278f2da9b80e9e37861737b353776ea001641c194d56c753dd980c090e05aec72c47ec928396048e98f99c4d6fa440cb9f5ad358e7b3b775c88ac3f9c22422bc8835aa90559c5d95a9b225180b69fb6986ef1f61149f0607e197b91dea2b854af813f37f5356ebcb6ab9a7f906ad62a0252affbc28ee2a60f202b56eb4106801ed7bba0d77083007401bc8aaa799e3dd20db113136939926097394d857f8034be2931508884e6785a3f7a428df976b548511bebb74b2e2f9df6caab2a89b63c505b4ffa84fce189a4118fa55decc1bb16f994954cae3a39ba2b324e405690f31af25d010a63644029149c2ce44b914dfb808165fbbf4a86035390622e4bdc89e26d19cdc587ac8b444891bd7a6294ab6f8596d212ca0375d5a15d2ee79c19eb38fd143a211487efd3efe94c04dd985a1b1a5d11f709fb5515d86c47b695b689da1f9777078f0af0c81dd0be5ba0877e2fdf47b2d0cfa3232dcb05868edb0cfd6a1a1ea8308b9006cd3b4a778bdc43f0f99f4ec12710c0c4a161ed56644b27c1f1ee9391cfc392599f37f6c7df45bbcd80619f0ea378036c57f87c0215c6166f2b5ff472a1388bcc37cf84f0ae1a26c08702b25b189e899e397f1ea8a815c92b11f26b10ff37fdf5901908f593489791fe1e44c63d256f6a5c3813a05a1849a7a09a760aa74c5c7654ed1ca4cb404ea550f4959a0330e735365ab465b10dfe9e2cdf2efa897494eaaca6f42e334d266cb2ea67185c17db8a255c61d1d29a22f068d24117c577f40472e7d93964c40c9d0948d2f643d91dc198a7ac508941bc8a9ec644a08df0446c445c3aba0de9021de8840b838a88bc3704223489ca7cc0a6ec1b5bd44162cd0fa1359497fc9e8f55d6928f2d68f810f238ebb41f621813b06e095b0eac45c51098339641fb3487b2a4d88bcb7e691c9e163db2b5c2e50e0df3463eaf7253bee516e2a583b1d8b6ad565400a0fe5f1a6e17448502235005cc68b02e93b1b966e55ca3b21108cd952c29dff62383449e383462123cc8b1263f191be888998d5739fb9f3ad63a2f1470c57e65c305f4b4d573f2dcd99bbf8a62d6c0faece82caa2aeeb24765d310f8e569a2714d48d038b36cc2113a8b3fe9b7927a878d45997198add13ea2db77ba0998c8ac5cb18cfacb311a0b79fa35a21a2fc21d257c089ae9f02ecaa65ed59df9a8a7cd26eae69abb33f2229c86d5ad2c5092c6b56fe480f88235c4368ee3aeb99d5594f03d901429e6ea45c5297343ee5434a983ca7eff0f7a84b98c15f061d54ab67128db560e99814c3dae0c15090404f8b9b59718f065cad32ce0d340cef5d4e90bf3f001e61ec794d5bbd079d1e3f36a3dfc204f9f6234f9ff8809e973d5905c16cac1ff5e3c1d1c270896f4b0afb25ac08fddc80568907eccddfef900d7aa181708f18839fe3d334a80b907e63d1b31763adf8fd44c70f05f748d5888992d22dcf724c450c75407ed74485ad4c6a139427aaf636a86bc0b4b1da2f833c90219133f4535b58ba2d857cce6f7f802836035bce21845586f5d3af5c1371cd0a9d0707edb38086a808450b3241a8453dda0aa1d4dcfe2385254b863b8b5a4c22319d21cf52207f3217c28cdbe1a739d5b085acef3abd699fdc881cb32f017de450492bd2c9f7096b2d4f0f88c77a66f1d8842b28bf92a26c2c4ede535491a397622474dc9feab6e2cf1603a8ef88c318585bf70f20c6f1117046b8190300c4d5bfe4436c5b5c7637b09cbd3995fca5b67ceaa8becd84b8fb1dd1f9c8c902b66dee7e2cf1a0d654167b94b011f3cbdfffb314c41f7746f1a8a7c077d3b8fa530ce0ef39113ea4399c783ff485f5443485ac4d38c1f4060d4f523eb36e46d27ee9b40f64cdbf1aad3322b3e53530b2879b26b4b19e03eee3dd28173b84fec22869aa93bd50549f559d508c76d7d2dba90edf3da44c1d0ad30621dd21d6380e28046fc1bf3edd9cbd586724577c733881f019531ed1917518db445a099a925905b104d9dd429fb0e43a041a234c8b82bc2c4a96cfd15bb51340e30828cc774015cbbf81e7f0b5747db21215a27c87822f0f579a1ff8e5770d5eab71979d5a01648e7c1656e0dd22e68d0b8b294fbdbdc1493720fb3b7d8b4cca1354172aae2af9ba092efdf9b0a2c7972498b4adeb99d982fcc9a19661bc2a79a1dfa99b69f7ea907b6c4d00df1808629d11022c841c6ce5a6b2abf3a0cdc5b4f0fa52859f96aa50b6ccb588ae6156a87c6b2bb7b6062cc8091bc67a0cd9ac2030423191a286da9a410beaca662040d4512ed4183a00a9abecd5547237a7e456a65a53e30bf4dad5da6704c9b52024b1a576b53b219ad1066d70ea892032009d08051485fc6f86f7c2859c890f3db73bf4214c1132c6dab02024feb0411465f1e6c2d90f28b3fe0c7f5e974fe1b59f783fb92a181b5b512e1628ad98f7b49ae9c76e2e0f6a541e05c7cd8fc8a4621d9e5733cf41843ee404864125563213a1d022c809c3fd385c869659f817729e0640aa8a64ea14313ea0764a250dba545b25977a965116ac791b6856bd290e01d491ba6287a69de356e5296a0f3b5ded4e2124746af83f7f76bb100d3d936d90934353318775caf8f36af3286cfbb684ae25196296e236604ff8d045d3a08d7555736a0a08010fdc453e82b8b31028407aac0d4e28115d90710b2eae7331751ff5e1b542b72cf734d5106372dbbe53c226613168c97f1da7e47e9e82b33b318446021d7e323b74bb9767bf91e6edd0bca1adf82da349208826b7d1f8550658f73c90f24808eac6f86e728eb27b771fcb3440cb1681515108237613521b7b99eb4c87c20366909342da386681f8751044f3f1d3ee92948c755ecd54c93f8ba5134122b0cbf41440140dc9c0c7710f9fbd97b4413ff325941ab0eb920f3135dad94a40d3a2f008b6b49796194caf8124f7966585a11fd417b97d1d08da4abd3dc976aca6927711edfa5e0a4c659fb494f705c2e8f255e2e99c779ee999b433f40a68e1f2fc33b81744438a4595d658be2ef94d71f4db4a68f78cbd3a496089e2e5ae0852f7aec74192615b309a32d1793f279effc652c1e15629bc81450bad0fae4f028a47f5c1509359c6942c8b6c14710cfcf7d5e58fcccc2aaaab720c170e71482fa959d685eb7936c7119decf0afecb57e698f94ed9039374cda14780c1152590c477e96241af6886f91a8f8706ad3cf9c961113e9bf069d7593983b218073b01fa6a55ca5b0c7aefa11b1ece0fc5592245e2604c6da32ed637ae5b364e69df3e97eb38efd76b8dd0ca83e8821a613d1a8817e1b9b5b9431160097a06cdcf0fc0d1c62ca1f9bc4a65180e4412e52fad414430c801f739a7ab411a1bda7239d3278d9635f2a89d0a3cd14b27f65cafb030338a4db4e3907aafda8bccb8fb3ae772b2d2c71962a0a6951747843c8871a76692f71b753dcfcbbab5f6c24ed212b2acaec6e360ae6a92ad118b982c95f630106af9cf07e32bbda206c70631b0edf30ab76f2c7047f42bc1674de31691e8cd359a6f9d0c62482a7170b1aec8219e60a48ffa2e3fe6d664c7280d3344a7d367b1e53882736f077c0c493c8ded0f5b8ec6e9a7f9e19dee6cdb78b38afcf66661113286dc5ef7db7d686faed62265aee91dc7006973f1a2d92b84e58a956e2f4d7ff86d5784c6f4db579ddeb0fef4c51e34fa2b112e0166920cb17d163b7a2f0e3119035fe035fe69a3ef9dbe9161d7440686188686e0e92ba9fb421ce7cc89e916435814a7d8dfbde1667aa42ac70e33f2e01b8e916e1bd40019fbcca053431ac3c82a4cafdb33becbc83e9ff10b41d38ea10eda7528c4c791bdc1b71a33131995a2c6292ab6bc7f314a35ae805365bb5b9437dc125ca62f63aaadf3caab96d9d82549589ba431904186a6e6d5c06f4f59d2390671cb350de64f6bd35ac81733770337a7b4652ee90876ec69c7bfb412bc92b5796103ad3d4f8ee5d4ab1b0457ac36683e67800e756093475ab31994b7ef8fc88a47e69d5301e7ce9921c94472eb61a622827223a586b4cf70754f4ca431fee32bfd6c5d322eef0c1445290352eb23de89dfe5a3d388bff6bc7ceb8b664efe0eee2a28e60e62c745a7b9cf05cde4fec5c2f2493194fd49973ec7814687a7135fd1ffd6c1657b96ea2fa750a349af8fc83138844532afd18eb8f5515976b170b77e410a1522e3aa1c7b2325948a26b92d201908cf34ff9299c4364d5a63dbd6110707ad64cebd3dac083068d7cbc6eed23c8c9dacda158fd60d7e7101aaa17357aace9fc0819cfee73b991d5ea35bdc19ec37935b624c186253109c4422097add35cfd8f64ae537dae364d22e8d0ed01c8267e85ed9d02e59c75d749eaa544693a922bce4c7bd51be7ef25ef741c622de78123ae3174173b63ae7f35474276c56cba3b2d1d9433e524a597665e1196cab4ad6a3011117480f804e50bf888a386fce7830bc35365897de020aa15324507ce7c1b6e394bbbedbfae716366d1715ef3f4d9eeb891b49aadc2baab3ed885f0d2c88a3fc0404e189caced57feea3514155170ff30c299c95ad7a8e914d9fb3ea5ff18a5b20e1878bd820ef44e69952ae3c0a7399827e96dc2a426e3da49ae92a234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4db49308b6212f9833204e94aecc52d05db1de35f83568a227e7e37cbb06f8f9f38191608ff79d06b5e09936d0eeac489d2b2dd1d6b407991f5ce43e1f459eff3213a1b9408f98875caef47d542d495464781b200690076dba94c8205d945923f11b872b15a8065b2b70fd56fbbcf9fbc24b0cd64046861ac9932d3161f482562481af4951183749c6918dee9f6dbb5b2493e6eb2e5122ba8d9f2a0f9ab8692a55e162a7d92f3c3e18b973d02cd66195f663089055afaad79f28de0811c3f23ec6dc7295f177bc24551c447ccbbd1abf60a9ce786a184a832467f80a9b0cab3ab4049daddf1e1d59da01eee7e057747e81772f81249c9d9365636a22a0c3e2f75fa1cd166da65c4c450637a9aec59391f2d5eb7fe84140a287fcf1eef410bd960ecf5747585a0cd890ebd7fee80e0399b5c0b2f7bc76851f2fb5ce5e19ece6cef13acf05f6c8e9321285aa86f1e3763822a792afee791bacd06dcfe1ca6db4fbb288e6d61e1d7c50c0c07c3446735b151016c9a870ec76130b8b744bf131c21b9b862ab8283b61feaced07fdd3506626641d284afd40eaf8fbef6c37f82cd1073abe29be0927102a39230a944865965d86981368c0d5c3c9e4e6a33d7eee183862856e1354d477807b126178a77f3b5dac803a1c7817b570fc23e6c1f9384677ae7154261fc7529d97901dc9ebfd53500cb0331537b4a48585c4cac05c4eb768a2ce99aa9425653b22bf1d90511cd617771ab767ebd14aa215148c41bdf50df1f36aa22c6dda6ad6693404890ed6f74e37bccfa0905e7cdd76eb3bd0de5958d64639fdf571d89cdd1815cf0d0f810de3abf10f7bbcc84e4f67abb7dfd2d7160c2b503629b116d30d191e456435fd66ab636c85f39d03e8dc29ec46236d296d108b6cfed41c6af02915b0316bb5280908c2717728163a18b68d618a7a6e3e7cd7e92a861a0677b9bffaebd7a5897c9a2c058f4ef5a53fed187859d06b52db776e1752525c69d611d12aea20a227fbc6a500ab6781138d1eb7237967d6e922cf7521895af0d647865d554d8606e2695bcae5b258ee1328e49d621e5ac44922e2b4933959cea355f9cc09e4eba8258585934f775d0a6bea7784b2dc3ab457d346548874b47c446575e2e9f1c47c83a3aa97d0f4697edf75375b73c7f2a4a6aaa1e4c8e513624aa7767f38b72355d8e2aeffbb29a1110237c160c88c3abc341d47e576517ae4b06ca5416629dcdfd2f586e6b4a34b0a4f1d46d5e1721666645b7c64658656a86858769edce4e74efc10719e82fccd3af7989fc4a6e5fbbf3c63472a43b59b80ad9248f5d626382b98d7efeea2b9424586d88415e4c454d11ba4144b95af2811df7bcb20ecd330c1fe537d9dbbdb59ba7d9e961b1e8b28da5c5151cf21a3171924b34d6d2b6eafc4e09d24c7be4cbd7c8dbefc804ec0c76c7c3df32ee717a17e2ab93055bdf4fdb6f458126512a24251143458cf29a83296a40885bbe8f9efebe68fd9b529c687b2c9479f9bd71007d45f9d60f73c021c8dee038204dd0a67d7613bef36d945da965577b744b7f27a0c114ae19398251dc94fe11a738b2175dde7f8c7922362cf47b2ef70a9f9bc45eaf3c975ce5b3975f46305ae957627ad0bfb4b65167753ba1d99bb14e11c6793e4dbd352c6178bed63441456a35fc8da04bd042093830bae3c51a7563b1f1dd501bb1eb310e1080ca6dc02f3813c57d5b7c02f9159c8f841f92ee29e23e4df601557189153397104ef9fd9f6aa83d5dc33b4095f6144ba4e1e9316f5d057892d34272b2812297a14ebabefa0d49f9d2488d1cdd6745538c36f27fe9857c272fd012f69d681fe406049c1d4c25363b0f67901e158e4a95247ea7cf2172970787623af991b66842bcc06446a8221b78e26bd836a66d9bf5683f86b82d3192fa1518c5f5c5eceea1cf5c785c98e63514b84873495f46098a2184abcb1d626c728e885e784749bd08a979cd49bfa413a8471343060f2c0d6b8a4093419c26e65d93912459cffee0a9f0df5ab172be882cdc0ddcb4d301e0295bdce16b8bcad173372f463128a9b548d0d8dd2279078601b3b6823642628123c6788411928738f5f2a7ef3da3591bc81212a980b63fbbbdfcc5443e9c0689deeb5da0c408875c766d3a41dee3fffcfa1820b039168e97b7abc9fcf40b53efb6a6f39b39b43b652770fcab80c6cf82e46b4b36ff2fd1d5af8695b29284907595ae26e5dc3528a06ac2c6d51f3aaa0cbe258f0bb3269bac58a5fdfecd3682f3ef81331f9097ab8ec69c909040ae5963eb98d85ca5e70482c6ef87b95feb6293f6a4009b2021b93b71ce938caaf5a7879de3d06845a3b036c4cf126da16234767fc0345731c5145e681ecd742cfda212c2cff5cc0ef5834126de06e70e985f4010643ff258cedc752cd4fe968f01b1546d4870920ca73b4787f28f15588a863387e7f25269f53c2363e6db0ea15340b1dd9200acbd7b82fe7b0ae591024d282eadfe5bce5ac83abcf426b7f51e80073782c38470fc18308f73e52faa656e8cba6de1114b3a9f02a162c744db369312b4714aafddc44c1e4cec61d44df36d2e06c304dbabe343fadfe7b69965b236f317781a989c3997beb515a0abb1517ea3ee38611f2cc670bc567519bad094635c043e09ebfe76eab955fc524defca2eff93aa51d5885477f8180ec7f8173145aae18861ebd1348dd5b545798d346d21b661661b3ab52017072bbf8c0d02a6323fe0bbf5244932087cb8230b6f5df1ce0aa64aa00b1d2c143353f728cfa098a9ed3bae40abc1eb716256189eca08a922e902620dfd24c29a9d886e14bf7b6e3fac793453b1ac80c73f48f7584115d37fe3e05a4443b77eb4ae06c4f8e9849f38aa56e6b2a68ee4ad5e23a11099827ecba11a2fd57336ec8e3d7385a7de1b4ffd6664ea155237d31fb3f4d73021280fbec28dbb492c97ac43229af9195413e8a44a0432b5f4aac0cbae419c4804eb0cac1ee12c54185b3608bd557916b2767a8a8cb3484f941fafdf59d3510dc0bb7fa60a911d33000fb786fabb9fa16747872a08be3546fa4d3e809514de85ee37bec465d414f487e81902c9b1df724728a2d22203c4d545a4942add96bda072f31d003d3b4cbee4d9dfe71ba64c4c99031ca4aba1252f88196103b360c487d2f2262ee3ad6fc3d3610fa9db093b36e8f7790f5d71277fb476634d0ee1eb1c96c0371abd8cac40ca93a4ff73af465a301e30d0c4dcf1b90a352edbf4b1eeed8c431a4df2c6c879f7eee9f937cdff64d6ace56a3e3bbaeb455a432e9c76f02e782c964444aa345ed02fabdb27be42038ae3c049e0b0e31739fcfbf7b21ed46df6845a6ca380e48090bd7d199e85d5dcf984bdf532295a952950f5b72966814c14900fb7a97dd5427a0831f2c75d82561ff549f4f9770a6caf31c3608076f13f91ff845198e85729cc90b6eea917c319e4aba705ac6b3dcbd8f7e29b0bac89d51febdc48080f9537d2814def2e588ba0c290b2a27caf0294624765c0b29ea3a95eead5525e3c709fbbe8eb2b1de9597ab9dff3bcf225d79f36db3e1e29d27ce08b11805c4bca3f1e7e77b946bce3675c602e0e0e503afb202def6f7ca24d854b16c8422dec2f4007c4eb3cc057244fc92f004727c6446d82f81c663dd83ca57fae4877e01ca7f29839e03e18d635828d7b5efe3af101cc4cef14ecc3ce8d2827659f241a52df594073ac2636aab8c98a5bf43bed9c166f2e26b6807e846b157bcc85b5340ae87e23b6ac9f4753cee87fd8a52e1534ead6babc028635c056898377acb45f7e2569552d9a8ce3b2c4721d2df38706bb780aa0a14784c348fa4a04e68ae4dbce2853d5ea31786a80f2729c7b4d95d9dafa5d76da46a0e28e0e609cb9bc00bec249b4f89577557b2bffff54a1da97b1a1646896af446911c48d8aab4ac10dd5c92497e5e21ab2726b225ee55a3d019c8db29c2dd6782c06eb103469f7b5dc830fc6bd23d813d043789e70e518d572ae7717c756d3787cc17cf279b7ecd564e4c9f47c556d39ff1620925a2b2d5ff6d416db94f5949ad4bddcb71070677c8b03decb9f252e271474f98dc4c8776edc74ad40d5e371c575114b21c5561781b8ca924e251d660b1486c23cdd1337da8bc1400f5abe3e19e87e163d4dcd62ce312527f649587d9d5be2459ec80937b65a3f5a39d27ee0a845ca8d2e6648c0c32f19e6ad552cf3374edcbd837b40dac19c1593b3d1d72dbeead914bf8a11b14a422fe4f5b094c16fba1eb57ce52562e730740ccd3aaec38e0544c5641437fb79221a748183d91831fc0d60b02b1577d91a31141bcafb52eeabb17e529e54e7076400d46b2be6decd40d7ffae7438d180c744df696561b6275c11d09e9495fa9842ddc07914e71f2fe883d6ba421edeaf39ff789785aee9ea4347e05bc49b3b565d7bac06946a77a8f5182a794b449a1f602752c3c9f6d2150915e0a5fc3fef66e0a36193ecc6a704fc7a0a70a1793478a29f59e92a5e1d6794dee22c34c3f0e3bef3db8aa245d9bcc47069d42c0e4adc6ce69703f576723a2a6fe10911ab7133024aa3ec741587a839b1cd8b85117e2b67795f1592f75fa397001ab6b44bdf4aab688f568811e423cf99c1d4757314f360a3901cf12aa7a53a44b7bfc1b41341f537ae05db23c2f39b59665b690a860991c38c030aef7a8d7645a202ecdc0e6eeee5886187e2faff3d4573e9ccc5a2c73203b0305712abf61d66edb8cb32ec7bfb7342ed337eb1cf5b4b6e3d34dcd174879d0ba257827c59066ea6c2ed90635307d5efc518f274672e475a52c4be8087143ecd8a0e027df694699d9f67904438c5496cf495c1c3606dd505321342d0e588d72789030b7f7e37c360eb60ef4cce25dd65362e586a1944f7d4bb89bf172591c764118f8c16d307e3c1e4afc5c6cadd3f258d7d3c4f9a10043ba0ca3cc3324be606cbcf220839c84f5ff2161080fc78353800c261d1604bf1f7ebfdfa91d4a8f9fd2946cfafb633839e6277a1e4886760c8575a99dd11c1ce039460cf03380b1b2d4d3ddfe80c77379d87de4578348f056382861b3014d75d41177791bc73667a245c5e8b7088453238812593ef40b2a82ea89073f5e6e362f4f190c14590555d75631cc79e8b49cb4404680fea8e2ed512225f68e471f5ddb70ea771f7304c37d486f5402deb2f9d74c88d43676d97e800b903660194ecee9fcc1d5d280914e7f0084a8304f430883bf3a4ed42d6167c2afb7f05d3b63f44807109b3a206fbef54f64894892f209d179ac21ceedb8c90dd446d0f90d12dbe5c0cf32619bf65909f16b185b8df4a95568f06069fe5a4507f6ccadf27a879b83b9ac5dbc9b9ba9f98c15867d7d5ca92f92c9ab91ded4c51b20cb377091bf9a6debdd8134b9af1b6374afc9342a8768dec8fb8e59c2b15109e6449baa760252cbce68568766a308d6cd9b537f018e0f1ec2dca2f734731cc7ae009af5322b7c66ab7372754ac1721b41ed6704330ce2fa57193a13de61456d61ec2a5d12e7b5e37c3fd93ea551f5617cc95546e197dedf8890f45a51f15a09559d124d5af3cf3e3be4b7eac46e922ec3bd15f72a764e21bff8be241fcdf0bd88169c8175956624375eb258d74fafc364d63e0d7ace4418314d2ce8d8023d5bc56a44a3b5bd6c0b39512429281695ca66a83bf4cad13a4ff527a10b0129933e7b2bd5a22c7bf00c084a395df1a26f6014ad042c62bde8d483e9091d5d9365acc7cbfa4bbc2d4844f2199631db78b517858684314be40a59fdd02f2653e79fa75927c8249d2bfe81190bc5ac04107adff6e03fcb688102b87f276c3e068b577583b1901ec5afdce5115534f20c9e29eace5ef4617616e384eba8dd5a904a7a6bb479c713a4e8b9cae9e2a0477fcee07f0d25584057fe6eca7bd5cc02f673d21fc75b495051c8e6951aa441c4b096539dada3a0e88116c771489e07d61f8dd41b415ec1e1fd7664b0c56e465b4a1727a97464b254a2ca438cbc5347a1a51f04debd001b20887c3c1fe8a67a7d599eee2da566ffde5227ccb6d780fd628a63a5b5b7347b813bf18828b25c363b8d0ecc84e67fefb8023e7b791741841e5e8cddf5917b4206b48f16d491e67771022a0ab8cf9b464aacd5a21febe9fe8a01220e4a2824faf2b5e50e65911c91e64589e9724301b6643fa7d2a821b810d8a68e566242311f1f882e162634bae9ae4f9e749656934b290d3e042e4710d0a9c3e5ba3a026cfc69bb88696cb008c870d160ad348aaea3db6e73c33749be50730ccfa91ac86a5e5f7baa0881febf2215ae8c817ee1702f738f2f934db754f348644bcaf087b2e5451fdd6e9d82f3d6a8b361f2ebd62f7a63de88476d4484d63ea474c47ac420491e0591116e0d6eaa37f3998dca59edac0aa9b3ffb4ce3018a69fd53ed5fac21479007a311a94bc4e53bdda211b0eafbff738180682c4ba24cd0fff8812c12306c109acb44ce2cc3122a15a7a778444dab160fa37580292a95ebb42b131602fd76da47e8e02f5dfc7c5b548acdd15135f5aef08eb493f0cf3681539d75637162a9f85daefbf86cffbec6aa11c2ee9d4808167a98df3a8754dca760ea66bdfaf18b9f0f2c971978c2412e3c9602c5458d71e6f5180ca34cba4a616385d50578854cc7083d2731bbd5c2d910acb69d82bf0c37b7253b7c03bc08290192cd7e532c89e3aed92c8ea278a4873379ceb7773a5650d20baf7dc5a6a9c91ab7b6889d170671bee91999ee282a122dca2ec711f0eddf501b434e1b7c70243fc64a459138b341748887e8fe16b13f02c986f225bdcea865187ea29c63ea3420085ae1ba1023c64535099493cd472640304f69726baa68a9886822f8ed25642adfa76304f9b27b542d47524ff9f706f84881bedf95fba0e035f5195fe1715f05e3b49bf39d5a69dcb0d1d3c0d189c2e925b9a8d0478fb5dcb29d0a29572c2f4e29d3fdd23c7931f37ef58a2657b506e8f351909d80bc9c5ba6736fd3714eb4b49428ec860ca681d7ee08672cac207481f2ebefa2af31bab49357de5c345d1ecbeb2546a8c2d12c73998d1c880a7c38546657280cd9bc568e251d4bdf0215018fea7c127e8720bc0240ee4d5dd09847af2ee71d0101c4829fceb3704acbee625c0ae41252dee3a371b70b8aa76c2d20c51b633fdd83161c118be206133d0b975098c16fbf3bffe1dd36f47db33c121ea2f29f3dafb8c37d6717810ec642cd2ad8d58cb4538ee0ab90a75f18e938f55f2ac7b8852db862c3bff244926ac8e2a81b2896781d764a7698b03096a0ca00cbd48f44aaeb71560344a2133d98b90082f52a6bab51d19b367ca2cbf7a81fa819ae7adad0bc40bc7b2b386aa890109f01bddf3c39bec8c4465a6f1011ce4d1c76d3b3fdf49b3e7bf0f23c076f060205976dfd39839f334c1b143230096a305ad356a360318e3e51ba5c06ddba3e1beaa08801b025393e8b5982d4e39829b2180c94fa32ce58e9edda2d5829e86fb4582a5f2ac0288e36d1a597e0382c586ccc7742f0d9d97427bb2ce82234b550dc2e43cb284cb9b2bbf3bd70a3c38d4fe9a968ed7e6376640e32892e789a37c0fc4f73edb842d2712a03bcbac3d7cb325d2772a88fb1f37c5feddfeb47066c8845552c036e14f55f72171581f4c462de8e8abc7dcda320491e9dbbcdce19d91c12bc4b9f08deb067439585c8e8d2109427fd6eb20741f654345d5d2c8b2a8ab34858b4850bf5f2e42433125627e025ed0c39a56544617565d31c2d3e01af22da06a4a31885ba9d6ce74dbbd0ef518c8177ae8477cb7098121ebe177b17927924bd50303f37f952366325692d49f6259f4f97c5a4d3619d6f62dc5ee9907c7ee57c60f2500e8d41d904623d67a7a9bccef5216f5f907dda7f3e9b627cae2a0ca5a9fb76d5a71c616a1fba5d8ab1030a8c558a7358aa36caf90fb8495106c0fdb56c632c538951def4b882b45c257ebec5026953f691fc926fd267855c4a097deb098329ec486859515e216a449a61290ae625a4742e96e787f8a64e0c06b22f0aef737a0e6dec17d5e7907516e6e5ef3781dd14d848ed3008b390e09a146e798f47338f90f39e690713b7685b25090c5ce12b1ac43a7be366ee4f441d23641a7f886fab6bd017368aaafae4b649aad115759cb70599e874213cf204dd0e392c4d5c61963c005f7b35878b104ebc180f65c104a4e91208cb41a1ccee6821f009a451871deb2d8c223b5efaa9c66f90dfa02e1fae8121ea6e83783fc7c95a89bbe07a9e612f272bc9d72d4e5650cc070b3e278cf58eeffaea4636a6d3f14965f1b37b597d89ff2897bee7acce178bc8d7b281670d02b8bae2585edb27b1630d994a5537974883029d2b1049954715822ae01571996b78f921446dca504e6f4c042cbaf342ebeac8e39e4bae828c001e6442d545d949766c8bc1cbcf04b73a63a8b8120e0a4f4386b894bdfd3c53586511c624f2ce6094c7b86ee70579e4196ab3492e8ba43ad0f421074ddff3cd544c569e6ed568a9e5f9cf106f32d773bd976936274b29dcd6303d0030c379751fd6116a2d558b0bdfd6df60542025dd201660b22ea91286899daf441e00b50ccc9a89c266ecfce040aea3026d9d19dada6bc062ff04636a58c2869114e0820e744df43fe4d13da08035603c1e5474b9c2106f00982a420dfc20a34f4366caa5bb3f8408d332a848a56ae113b46c80b6b3e1825a7546070759f72821a3dadf9b860d7f0cb319e6e469a859ac41c5d290a3a99822154b6bae8c8340d48e042a580376e73e62c568d20fa21b0c6604d4c1ff39fdb9c7d09d4bfc62377b6f5f89db875890195400f48bf2b7b376ceb465cd7a5c21d29b6b5f97d553f204f4b9f55afba5f83bcd62014244366687d64573daf7d398ff3b96ec872a53a890c7da53dddd06db19b977d86c6dcc645aae3cfd7e85cd1f90f96631860ced4e0458dcd7fd083177e4fdb0c7ca843828588d11c6df8248bf3735f576adf3fb359707ddfc5299f2007ec68edb1098a85f3ff81e7bc3b3e8597f9cc2af419425470362340b191293afa0d45b33a534dd37bb7ab4c607cabef0d640cb66e2e78dd39f1642051cb0ee90008752613ff2cc5a6a0a0db6f4ab5ab281b88816bdebc1a5c619a3d9e027abe527209413ae8624d1fc220dc7ae4bf430ddc49aaf76718dd9d965248666dbce92e4cc31ec72cad1f72636f5a0a23bc42308c83388c6a5fa164e5ee8388531b08f32b25eaa15d988316aacb5eac25ac5eab246bf657ec4fcebe6bba7e639e3b03d0d3b64b40ddba5857e29a00c9165a607a726875f5f8ed1514f1ab60393b353b3457de91aefde21222f1336f5a8ffdacc410025667b2364d6c3577b5635e971121562bfb9eb3b99e6845d823f649e1203c24076ccd5885d38fae9e958cf3ac082e75676358a41422fdfc0cde30cb0772c24eb81b0ae47a69be31bc14155bc5d12fb3168e284fdbc6cc48038fbcc9ad6e29e59f8df2f3a3c06699a555301dd2729c86e16507c639756e6abea1a10f8d7b81723716f28e7996e460ac00dc4da1d2769f6a11f157eed27bc1d4ae204da533f6f35c7be76c819dcf02eb2d35492eaa3854b603267efbc4167ffc5e611422015fbf538f36b38ff51ff7ebe0a7394d6d48334d1e180dd7cf3403c13490fb787703b0b3de447d7ec6d1ef6d4e1651bad6c3aabde1ad917f556bc8f852b8dc2f60ef231f779dba5563019eab227a5d590dcd4eab0f497859d094b94ef6681713745668cb7f062b37a3c4067b38ac72953ace9b68bc37e374bc27143c0387ae759f72f249b069e989cf21dbe484ce3191c101cda71316bd86bb7aa6afd551b6f525a3a0ee29b5693f36050a62768bdedd30d4c2a6499ef3596457365b4d53874adfb15ef240265a1b5fd6add783e2a7642c49f7e2b4927b9011a730acd47157c94d4977751b0ce4d771a228f822ab5bcf36073ed96bee53c591509cd4a1f0062a9e9fe5f94c58cf43e2cd32a19040069c0e989fe7f10ab1462de5934d72c5efd5283a914b3c9310a4b76940f8d0e918fa8d9acc2be81daa783b027b1ba17739e19bbdf1238b901aee8073027ba49ddc27f07a10e9b825701abca4adf7a3f48beb97b2fc720faab503f62b342ab53f9270be36d5da638444eb3fc4a3ad31e4a98ba03999915f7d1d3940ddeaba87d3abb88167b151be6800259c790e92879dc51263ea551b6160357012089ff9d49d4e5b65c6481e030e3e44a7aa9fa2137db8c923cfd0e401af1daeb836ff1832b140f73842686c83a36541351db6db77f36b1d451cd5b4a445d297711c8b40e6cb04d68f2b573ee6eecb4608abc914feaf09de8b1f133da350b2def5f01a806963ab55b77645353245b45a96cdfb807d2632e1714d7e8c8c80aa1cdb1be6afeebe46604dd3c50ccafc7efa62491a38e4aa851c021229be46456ec52498866c4c01f96b8f162fc1b6a97c157b8e6fcca6559907f2ccf7f8317d54b1995617430a7da728965f2cc3edde38d9cfa188b0e69216ca1474f6819850f8e3086ea13cc411c4292e2372c6c4d78153be10d4b49a3a6d54817aa7590c37fc0ef4d420090090246eff1435c77b01faf8d603294a3aedc38eccf18dd2707ba002d46247f3da00252f00767086b60459d3f937c8636840da459c751e9897f6c0721944ab6d15cc810f26e03062cd35dbaf8e66208676e5ef7140dfcbce33d7896e1dfc5970970e8c7fbf84ccac3153e1c6aa6be75ec1371f4e7288568167589974d602e202e69f961110bb11d83640eb7bfdac84ac56749f0cf333d3bda6a1fba040cab6fa5eae0ce298f18d67784f639aa72aa350330be2f2901e7d7850affd539c7898ff54ad96ef8eabb4f9564583715b1400a2b03c3e2b0078bbfe7cd745db98fe448ea0e37b86d817dc538e0ba3080b4687e10f218a4e5fa3f11e38f8834744b6f4c3e1ddf84d96412bbe3efebeac06c77338b1014cc294f40437c6a76b36c24b7a9fdbce98a87e00437ade8eddd227fd91d2d1bfac77adadf5826adb2b423daa2a9263a1de8dd2b29739c8e01ab97c4a1f0bb0e8e75c0a6658861949e8498049911ef1c09f9355c2c77021098216059ec51ed94d8b2121dcafda7d8466f44d8bff8af0cd408b6804acef6dcc7a1d8d80a9080f31a9ba2c89757c82006f7b56228011ef5d42fce5f3e70e662c40d11af4f5f392f210e8294f0f019f3d84bdf01eecc1cd5d27f82c3ea5ed0c843315ddbfa4c9bd6a430ec9620083310275b75054525a426a6efe656ce8dcbd3d8099ad50d38497e82fd3d9df0a0d0db50a0b863f5f3d0d9b2f3af8446e5bec4c3f93272d20262144567c0feb099f4cb36f452b5e19587e2bde1cbd115c37bf5f93c1db2244d4fe0b4805451654ac83b8f7daed3a66dba6a4d6ffe64dc8ce193a9bd8bf9b607671982fdd982d288ff8178b73311918acf67a798e3add7306701024d19946cd553219233c135a90dd805bca772ff4884de9180ad0835322b72cb059db946015182052da8d5aee736af13e64621835f745822823b9c9ff7dff3268fe81b1bf157e8877f841bb3bd55989693f11d2b11c9019d76ea4f3e75fbcdef01ab7cab59c4c27163e8ddad831e99b6c8b9b402784df232ff0a177710fe00088ece84a14fc7361aaec1dd7f76a7cbf325102c1b062048975472012849ab554b3f189beada0bf4d67e7f767ec8de5bd6c41cfbcd309436df73ac723e1ecc08a566f7b583f174ec6487b3aa63d4237fd63d2af3defa64ec127f0a64aac7247fecff48b274a6216eb7abb0e90c6a6c5226e7c559a5005040e9d00fa655f0bcea719d7baf64d9af9d9d72c3047178ed32c7fca9bd0add2cfcd55de2a93579dea971293b3ea694bea6db64acd5e90dbb51685a511c0ed2ade698bb461d43b67236f23acede03d991837a769a2180433e03145c11d566c5368593d40b3510e54d0f563f296fa16afdd9f50503cb23349f24d7501e24e03eb33dc35b50b72ff4261b4d8a521f302fd93e0b2e79407f1bad39ab1f75b284f0db5ab4ec1058f7a853dbc409c9ee2293df3c16003b34353d4e35c7e8d4ab25fb6b1394aa48ea55367891deb3f0e8ca1e2247adcf18a692fc6db33ea9e449aaa511423211c1f437d60f2d68df221e88edc32960fb33353adf0ceafd5e6782c17b23e952f9d1286a203b600e54d46fe134cf660ed30a19835e7bb6e72fd148ea9d106541f7ae57c0974c23e8b8c4ddd4d75f5ee1223489d99a0f17e75d054497494b84c392aba2e6d21c19c2d5319f0ce08b4cfe6ad2f77f29d101a88a857703540fca09723ff64d6e94d4d22d5a937ba2f10ffeac9e25ea1052ecd5734d9e5e147430ab347fc94ec96b74cbec547ebed666660a072185b86a62da4ab28694a692cf35c33a549e08aae3f008bb35bbda427adf873bb14b89d7a55013607b53a0988f3113bf16b123c34ed06edad83b47458b3dddad92d5e26250121630d80286371496c9fa2e4d7771f7beae705feaae92e4b3f55cbc39458911e588a435247a2afa2d055891c4499f4df5e0acb997eb422289f33ef49a9ba9f9b797c42d5873cc87ac8b765e4bef6d06a1cabc9baafc4d6023072948d982f7f920dbb936b85be41e6c94eb131b65be8bb04fe5583587f4f227ff40f4f9176717a9b15f07345e7df68716337b80f1b0e970d1791aee14281048ebe15887efcf318015896c3b81ae6c5dd19f1b0ba5f7baed863bea4b30e246baeb7243a789584204e125c03481b3c0c33f2ab4f4c03fff12ea79b8181d82acbe2e18acd98fb95cae3ee1b6ea728b919f275eda79c198263c9f71a26213cbdeaf0bfb414f407c5c3e663d1deb6d7cdcbbc26bfca0dfd87af4e584d5f926818be19200d99bc7518421ef0abc570ccbf6c1e99b3bf52a1b0c47fa55a3ce6a8631a862b1c40ed88668251106635323db973d75f9b8903b096ae5b3f9ec869cd48cd36997fe3eeb7426ab6fd816fdb6abbd4fc8c823976f93190b0469e579799acc0634c290ba088bbbf9cefbb60a401f197eb65b9f75703aacf75874f7561727f93bc6ba6751beeb5aef5166e63fedcd253260e46b8054773c0a89522e72816b59c99b484727eab9ea548076571cd8358acbe8bb71f4a7c4a28b012838ae3715ad6071c3c8c93b4e7c5ad36890cce46f5235be62caba1fb52ffacf0bf269a4f25e252e2fb6ecc5af3a863e5a6447425e5524b58800bbe4c0733bb8ab9ac9dca6134def14e5fa41d212c874379604c0b1c5fbd253fd5a2138c4c47e028cb3478c0b6b5c425d50f7eb1445a2ceca65402654c7f58cd67070cc6028bcc4031d8022b3e82d4445db637af6fc790ef9d0f330a335207a871b5c0176ecd751f5ca2955feaa519dc14777bb795bf251c7a18291758f896707dcf305835b5a8145f023b3209cd4454f8e4309ab1555999968d715406ccdcabade50169387d2ce304d1cfea32b16c6d95bc5a59a587ab94aa11dbc797fe72d3debbf803399648f71ac8076a3075cc518e83dd2be3001d836814705bdffd2d5628ec28eb5a2cce6162a458faa1471c6edfe422fc9147f3fa6b0ff730cc7b633133e0890932611934c43e7caeaffed21fb6efa41f9fb264ba525084bb9db81e900e69bd95d1ca24cff224108b6182235503c04856231d8d431c8d6ea33893c2cdd438761fe22d00dda6e8b08099aa9a8b0484ddf3e49fc09dbc622f7f32743751738b4d75213ab1a8d62a794138b1c5378737c3f36b2cb607010e9d4a119e63192e162896b28f99f652db746bc8baccf6424b133fcbf4474dac46ee995f2ec159eba7fdca0f4a2daa01e73bfbcfc97afa29a238e88855041569cf98e23b9464581896c67f249f40aabe6dacbf15bdd43619b55b434c762c250eaed74a6267ad1da677235a47925af932b74f30f8cb8d4d68eb4d3cb23a13b559a666c009558d5fcf8b4d32abf976ab33a950c9e041468a64ed52123d174b68ccba0eaae2c4701847321ed6fce9e2a57f0cda7dea7c38176a01490a410e4aa65291c3da3a0988d78cb94e76230fc6fb8a67f4812ec5f459c2b87813ccb988582d289be3c7f614093b134ef3487c1a8aa58a863de92129e962cdc144e6cb43686d6e317d632e4384165c9ccc26a26ed8178d360114e83f314308f80de8a866fd7d180c9a6f73adb18c9dfd3ac3c1c72e3a1b288de627739868cde8d798aae545cb99c1c31066fccb1151d9331e343a86d09290d6f6602f742dc12355b81d71433d04da5b3b04130b23cc28051938f6fc0e1cbb45845fabf52755a1469de50ea6af2b14c0fc2d594034d96647b48e911fb03736deecb63951af6b5d6b1edbb1ef19c343675080f504705ad9284393372a28785d18d2595bcf7d5be2c7fb4cc496c284fc29dcaad105c6d065d5a8ca2f8d9727d6c08f04772d8a35aebf6e58440caeb21a35aca617ce9e26cbaca632a4da7445b2d2adf8a53fa90632c56ef893903b1cc60d30eeb8148d8e7551b514101fbe8f48986d0ea2bb5ec4381037fd63d2af3defa64ec127f0a64aac7247fecff48b274a6216eb7abb0e90c6a6a5026a157c5bc85eef9f68c00b32e93d2c29c77f861631a898699637a144a04981448dfc69429ba6d83429fa27c0bb9f09234b16e122e8b8feb746f184f1a525cb0987ff18cc29d7ad4b45e6c08da3d6e2ec98827c4ef63e584427beaa57622264d4c3a3a921a6d3e88908100decb2a0e894a17388c0961ed8127b301bc3fc19def21e8eeaa18bc543a72be7a0524c4ab7ae5d7e207e21ca197c2a2db94d9c5b9d8769c406ca2dcef7df1531426db4db6aff6133aa7d34d0d1af4fd37a8f488745df9c623c3cb5c78dd983149a03d4347643263ab2c03090c3190f90a5c1a92983095076b788416bbb1f237c82bfe3be74857ef89ce2a387a4bedc1a4e055278b2a38576fb7d213365c1a6e158ba3bd1d34197135e01df3f04cece5ccd0521539bdc7775adb3249f20f7f864eb7c499cec15681dd2387ba91941811467409acd554a65b9381c2e27ef0442e41377d97ce3f6a251055978687a0373a77030b9180dfdc15f825db438e147b5dde603989fc2e6823dff1a8458d9a1bd5a9159cc97bc0bbf29c827d360058e2489c3c003033d3a0da4fbe916e89f4339d42df659fd35e3c430769835adbd584e4ee9296b222d8c30fa922812f0b1e63e5a79e89b58ba6b236840edf6a3b3baf13e1184af240fffe1d1060854e37ba791bde72fc09b09b3ce69dd40757860291065412aa5d8a9ca3aa3563e551061ee2be0b00237941b86f72baedfdd5b13f390f7e38d4673b591e25ab6339c0a50be586fd9df3ecc3b032f4f4a07cb5db743b90d5bb38b1555b6e60b47bbf79694c3ad98b56d5775209d61c72f0fa2a39d0a142adab929e2dff34a1a04fa38895019af2d86bcc3f5632306ddd49b39c9feca49a2a5b9db2fdf6446f053c4d81e92e380a3f85e8b60d5a8284d81477ff6a54bf6e5fec9d3d2f4043b59ccd67f04dd856787f685d44b797e2413d095d990bede63e6b2bffdf7c387bc7be4caaffaf8fe32c54950780a92f3968dd6c58f0ebf40fe5cdec93619cd2076b97ba533cf2c26ab7d767391185424a5e6d6cdd34240bb0b97892414f2e3cee06e25ec645a74e39debc14d7b6fd573a4cb1670fbaa2f763ef28bf063d73b578dfb890a25fb2577dd7ca54bf66a4731bba545989b4af9f536ae2d3cced03b873c662e4d1a9ab332b0e97d1ddfb6e08d4cbc3caeae9250f876fe39817e5078466f5dc136f3b0f1b9b025a83b503052feb001bd52b0777fdd8b5a5dd063d3aa5bf0baaadcd2a1e0afc73070be9e4f58dab70e0f4fd32a0a6c03d2891f6ab9535d59b7998a4810c488de21cf72baeeaa8e69397d4f3876c47b90c48f33186b34a12ce98649d02f007bf7c55e767db421ad3ff3ae2cf858387466dd8eb464751ad66ce813f57f0eb7faf1020384ef79b05d10c3c342fb125f76941b027deee9c322ac1ae47ca793465d50875d4a4908a6dc3fd6d6913908870ab3e055d2f0d0757e967502b1bb3431e2c503fb9f68fe6583516a9b3da7384fe7083cc6aa6cc95772e7fc3dabef0801286731ad0e4c5d2f626c5ff38a83d876a66318782a2b70fc201e79eb08270e19f6801504eae4666e8407b4223330998d4cadd7a7230cdb81d3510c6e8543ef79da231d7ec18fe043c21f9a67eb5ad9aa9eccd2bf08967a59d97b92a9eb39c2ae553ea8980da83b5888d50ae45942825c0bef495a08e853897138dc9e154dbcc2f1d8ee60bc873ab022c4dca15511856805f507ca6e37475265d00b2a59c44b0e4dc8b79eefdf4fe4b3a02f6cf17896939607580cc0011fb4987a7a4fd0cbfcc1a3a229a3a418eeb75834634bce8006896e17827f14b73f4b8954a53444bb71db2bfab3da932d3517cfa28388c87ded898b3a1e7ce07bc15802b70937f846a86a667e9feb60bf6df0b67eb51da8a065f00748a5fb85746d46240e397d4d381e28f1821825de754975eba2d044f9bf4954b8e14b9faa9f9f52f0115e2b5ef78584f6951e218b65aa4cc5664e84bb7a6a91c7e78d5dfd384bb179caaa933a0b707652767ecead10e72d17aca238975ee25af9715b96180568a462f5be3600a4a582a2172dda527453ab72fde2c867391bf6d2f06d5ecbb748d868d92f3836c8c0eb520ac9679f709a49d45f1215d893bd98b6d228cea06b024bd6fda56dc83c6b5e8c8eac38bed30609d5c3193e499b210e9eef07d9a4c24a73d6ffd441647f594149dbe771969364aa5b98cd7c30aebd528fa0c46995093888def8c8a8e0e454c13dc84d1b630ca8003f8414fc2ed2730656bc96b9f349e2c3f397e3e6a26dbc764fa6f1d33d90107957d7a1c9e3d10ac2051c615ba5a0dfcdc03a63b60cbff55c5a524b5553c33b18d9018e28374334ddf5dae3f9a14c598dd131386bbcd808df7fd33de5b3e17265daee43322fcc89b4cb58f23e48387cfd65f022f2b97aceaafdefb24285198e3a5bc860b3282d45c9082ffda2fa8666b5aa4feb00d3cba6d4b6015a5b350fbe894929f07c88c940d1a6caf5f2ec2360745b6f975922e28ea1146a480012efdf1fb322b157a31429e6a4de5b16fe863c5234c5bd02d1b931c6818d0fadfa4ce50931e489aac2510f4039634235b6586661453e3c86f0b531e0ef6db000f81e1ff6d5d25cee5805d8e6ef95e1748bc85f01b32975b977fe82bf5d4fbe17a7acafbedc869d5a479e3e180bb371798ce6aafb2f54df4db8453bd75891da9db709a98e37c71e4dec7d0c17e99482cdcade249e0da58d4852eb6234faed54ebb50ddadfa41e0b70af8d2e3865cece4a3fc7097c1bb4b1ec15087cea6be269beacda57801d805a39246e4dcc1c5885fe95a3e622747000568d83560456068cdc83f6ed7fa8e98bfbeeb6db1cc520c3c5ed68704cbe293eca7cda251539d55906f7bdf252d396a2683aef0dde1d7d5f7f19b0682676feed1df6208cf7130db431e079968da9c9bbab1c7e115f452050d706facc841a8ce8ebc8f26871268ec058f461d0999e2ce422ff4109170489d82e29e2559a17f821963d52ac5caac76b827854ad40f574a93c70a35bc340123d529c63c734c3956ee0d431ef801a882c54d3ef4faf8470b2c13e938701eccb7d2f1ad1892e6f2603ff59c22f9895ee4a4a222cac6b9a4b759299fb01c7f18d44eed7ef476ce609ca028305d02a2379fbd2d64c5de5a2e0a4e4036644bb5bc09f32c68274efffd80b56a9e5872d55eda9d044c1fd203fb6c297d9eb88812715f6edb5c3eab1c22db6dd2ea2323c4c77a2140aefd7620f03d868bc8ab8335fd79ec5791e75336eb4338d2a41c140997f2a4f694073ff5b1cfa743924bb54539ba42d870e966e19e55c88f68a14ce127a0965dcbc03417076906315d59c47950a7020a18bca18ebfd6089190b44728b8e0ecb762a41648c69d718a3b4cf57f9e73feae7759ad8585ada3c96e7d182fb817dc4b67a6933a601e590d634729e315e4c29b4fc20bcbd75b160ceb233e350b41ec881ac51ab5ff7dce94bb36592f73be4613cfa0f6642fb1b1000db18460ccb7dde4f8547b7ed7d089220c40df2182b13b64dc6b5d45cbb5e258e39aa25296a4468f7f7aab862741c6cd6dbb9adac2d4fce45e81367d36ace597d2ddf505e41f0751cb9f59e00471ba798b94eb423df9c4331cbb5fde5d174bd6f4df59f1888f9fd3df5941e7b12b4185a6ca1e8449a4fe58fa884d4faca945b6e85528b1e52b02f8afb9d97b23ed3a4724684b5618f1b488fa3ce78a4e497878ae538fb3bb1e56aa417946c790ac222914709f11ed89248282c16ef66df51f18fa25bacaa16e8f02ba397940558ca11e30d1bef5ad1c827487049dcf930fe8a0fefcf55afff9e78e3317697628bfc136fd3a0f3339911741b65f01775723ea15208aeed0093079074c18897c09dadc97dc9c7a3a27be7d20da8b0ef25e54765b68d8f8e77f41286a56928234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d767cdb87fe344a29c4c287c2f17021d368f924551ace7508421635678705acead3d6043db784c922ab4b53907b4afc969212b58cd29a0f8cdb563aca173b2109faeb02a838ead56f996092d905b8edf5ac214539bb8c588ef8607a0777b17d9ce78b5f8a4c3945ef9916f88c82ec8d5962b1468b8ae0bd40a39884d1fdb5f7d188bbe47c1a12633922aa30762c3beb46175520ae0d36bbd0bf0877dd8226890412c0b4606f2247319ac82ef25c5127225fd4f80079591e33962882d1d33c59e87b0fc0bf920adbcb4d2cf1fbac562c57c793328f58b8550ca984a3b21abe2222c08de9b5ce56f73069f357681c437c0ca47670ddb0872e59caa1a5154350d551c0256be4f6e708e7c4a9ba8decb9bb047d2e2047a4ce2019d405925d1de7446d43ecce0d08feb757534da0279f78d62b4b653d7abf1534617faf827038b51a892c9e1e6f6bf443c3e5099507447473a48ec2ae18d441e36a9c7a9c22429859950aaa4f5afc891f3dfd10104ad7f36481a73f134356faa0587f45be69dac822f17d4aefd78bc1b601ecac7e6817eaa4523d0b6ed1c699ac56043ff13a7b95208f2f844d528737cf2636be49a32211b9b17f78326c4c19ea00d2881ac143798f3b1cff7d85e5b88707de8347cc7af4e5bb5e03cb800c2c9f0b7023d8afdeaca12bf3b807cd25413a94c47659e44dcd70600271dae830841219e4ee2767bea35d09d10b31132dfdb0c5b4177a852e2928438ba8b2042a7ed47c0f71df6e51fb24a02718862d4e958d748d0ec35c54aa5d2b354856b9edd25eda6b62965853489d2143bb4d23bf8b61cab50627d6a9e069f33eefea7bb2cd6a4592dd51e883d20d028a01df39f17633c2eeb418fd868e51f6c7bd817d548cb1c08a7fd53879992e5c488c66761c371c80985d5cb9cae9df919e21c8311ba8e8c0c22507087e47443dee72bba2940275554f6c7fcd466695f0f16b89c3bba3fbca3e395340e5af066abeab54bacda433a877bddd5b5e1c610e8b0d7f34a1a46b8ae1a68ba74321424ee6acb42cf0d66450f7761608afe28a10c6d02901e05f2ad5fc04e68a4a64fe85a09549b3b7507f73a30e7f49b4fd725f3a64886758cf6b197ad5f7d81117de82848c2a2e0a262d970e60e201fbcbea7cac82d374ef665da4c666283f27595f54dd667ec9fc607ea9d0473b2d9bad6385201eeb9593278a722d5256a815bb790c467bc7405e3822e90bebe309cbd9fbed3903584b9865cf1fc1da8b8e2910983d239aba453745ae1e24b6de7b2a52e9f17698649c2e7974c8c001e6ef28d7890d4bd97d2e65b38964a8916b691831bf77cfc3983f8e4fb8008b2ec187661f39e1b6f493d6b162a897ed72afa88a190b20446cfb6acf9d04eb47ef8e8a49b484c1e23350a879e8b9309bf8459fae597b471c643aef82f1bb359d0949587e17817bc535c7d01f10cb73fb3b1ba5e90566afe15cddcbd990e452d916cd4e65cc4a21511a7d8a9a9c7380a997709a204521c4bc2fda2e41b67ab30ab872c40b4370610320ff6bbec32a00c17e3e99de664e3fab7e772ba49ea8eaade758a7328930f56a8fa7d93291c3ed7673c8ec42382d0f4453ff1cda211dc47629da49c33aac7023c68dacb8c44c87892ce5a95d08bead805aec24ca17e1b60e0b9a78cd4a3c27555ac912b49e5e902e5845eeb10abb9440a4cfb58fab95045d63ee13f14ec736d62ac0af7703a82533dc118ec0943f498bb46cfb656b6b945a76c9b0aa50f371da854a691dbe65a525f146da2e5a6e02eeb900e8d8c9c182bdaab04b6fe6c240d9dad66de960c38aff0b70b3fd0be9fada527e0978fd11cdd452aa7a0f7235595b38de1e71349433d4f3a0e2373e2a121356af0d2acde6945eb76fa79742203cd66bbcd4689284900461f66f76a743c08e84c15d7fb7040ca7fdeb5ad62b02042a41ceb9a74eb0b41242817257fa5d149d2e546a50f84b28b9280f3f25af53cb2a53bce033b72a96807ed8077297cf4cf09dd9ed3cd6d730144ba24a1f06fac406b1163cebda6f327d081164b7bb15e31109b939de026ceaba7afb5b6ea950a3d4f5a360d18fc9295996742e63a0523705ac6c66faa25f29ba351e915a46578c9ebef8db4752b2a662c3241533efad073b2f4f8d26a178d489537c2c3eac456f2fcf6b5d4094e2c955202dc2108c0628eb2918646a4f566eb39366c6f9dd0b396c7e00f21d5899cc487d68a1bad9500f42e174baabd2e588d41a8897740c21cc428961379b709876ac99972e7c763fafdd034ef6b1465b22f4c331ef721875297bb71a4404a1da3e5accb420e728c4039fbec4b9f809f3c1bf4b0aa8bfe5d894bb0b30400e2379df96e422c2f38120f214866205c45824ce74d7703cde2e502a1aedb653e1998954f26e930e459a5cc61b8fbfc6ff20ffc49a1819fb74f2732827ae4789e69cc535e3e622230ef540a1ad43307081bc4087939db9048eef4a2519b43cdd3bc4bdfa79d1fef6fa1efea16fc1add7e77d10703965c623af20ca596d07f10c7de889da7af7434296e427fa8fa7464ae0ed3f121b0d2fba7bd3fe27c25c0e5d7af00fe73b21485e2ab2bfa98c1b757149ce3aa0b83ce7ff99bd2a82240d12057d186b93eee1def6b9b723c5a3ee47115bd0ab011727a9a6cd1792081966af6bba0a930740a5e543e1bfb04a938eae5fbe51cb5c2c469d3395c84c5256fefd6cf4e30fbe9ea020676aff2379b68e4ead7fe80283a67585cfe8b4814f011b60da7db7488f48919f838e8355439d2a27037a61a21abea05543762452f3bd42ee4fcc2f8d0146ca3a3c73fde49e4b2d1914e0f63a50a4c3d1e38da29d764abc45dffc7fcd4dc0e3243f7b350a6d3da45561dc6e0ed0544ddcb8dc0116a42a6e84f8f1ddcbca046892c847552b21d97fa51d3f15befc34f2984890dcdf7567253b5359f99690bfb33bfb0560d016a654ce4513a7f2683565da4cb07a5f07964ec4d51b710a9bed1d02defddb9d5ee0749944656749e5b23a488be41171d3d97a39fe96277705977e8da9a3fb7bc7c9eaf245180ad869e2f6f805bc374bebbb979593c984431bedeebbb5f16a0b8ed0e991af6bcde14ce0c740ef8937c0f9d561c6cbd4e63fb57b416d0f0530346ff00f247fe076e6b8bd7de19c8b2d843d2fc820f8b93753e2f0a8fe5fe8c495051dfce6812465109b60deb1d993f5689db5248948755059ec75d38c2c12a239f1144a850cd5e7e1daef47ef549b64b40bac242832801deeab8c99c5d341005d96d9c3a388fa09bb5007a7b50c37bce9153fd89dae2bf3efa6ee3f6298f1e1dac3bc67a39f4a207dcad8a19556e3f7c2df30d55bdb63411bb43be68ca2dc3e1f7c28f39eb852477c4e4b5098fca9cf84c5526dd36139cc58baeb203927a0bbdc525e0f326047685bfcdcd0150ead4340b218731a330d29f3d1979d03861fc789f3f5645d740ddcb3dd6b181457cf96aa109082d9627499277cf41a8b2efbb53c14140e19597b5bc6eb18d9da100a91e069f6240ed02c9d8b25893581c0c1740a0742e67e0a479491bc8f70cb7c29a237e8de0f5682e378f1d1408c04e5740375a191bb50ce3359abfb976248ab8eb324c8ee5c331233180135aaaa9f4626a194aa60eec9eb29ad501e16f7a7d5423bc59173e975e689da1ffe7ae7e7031df1e7d0d0537a1adc38f3a1acaf40bd72e398361f1db3eece5fba26bf38b99742d40cfb9bbd6eac1cd32b2c82f1f79f00a424b789709d7d4a88e0dbdff24a57bd7cf4283515d3d45f3fa042514ae16dc694c215eded666f092fec45627862a0b8fc97dcf0850a47d832cb01b49a35b823e69efdeb6ab53d96e5f62b11ec11fa40b0507bd0219bb39670c47e31826a509e170a78404a99bfa7bdf4b7110e7cf795ed74426ff132301cf4e68bd093160997c71bc28e473130d0b30b21bfb29c5867ebc1ed05584e4a7e5c768a614f7a658d3bb74b7b96f4328e00dbb346c2c6597441a50d11ecac463bd15af6578f477e690d167d1f33f8f34ba575c02527f6ec062c4f63336b3b0d4cc4ddf73ab8b0f35eb3d07bf83fdbb2df75ee57487563eda97cfee1933b742fa1b12f343e040a1c682b62ed699088e70c372d3e15baf90067ad3e4f8afbb7c62482c1bbd662354caf14a5cb156d249132761f6c678f36a7d12a27358e6b532b74f4f31061209c952af94a65eb96d8132585739158f359303e944e603c460218d6221c215a021727a12ccb5847cfbbd67f1bb6bdf54f280c7df7426223157cac81c99738ace1ab4d483c03b9f55b9601c1099bf24d44a3a8b68f91f9eca09fbfb3bff102c4e2dc5a092a1741bd3f5f352b3b25290a79c0f267095aa5e1dfbe9857cf91ab9b8b19e166def0c268feb31bbecdf2304a067464f2afe684d49ab6f71599a507e52e78b7e31c8a9d8c98a0a5c0340cefe3c0bd20b1021986b3e6bc2b8c1f3863f115ad8d5e97e0a0775aa5063224385358579bc7ee4b3dbfa4bde573e9c2a19931553af254b7f36847aa653655d5ff188abc1f41ac2bba78e44a8cc73744389c9cfb185ec5967e08feedf30adc368465dfd7ac0863c84c8ec3d0ae0a1e8c5ba286c50e62669e3be0cab3f76798053f016611b42f825ac8ad8cdb6c969e372f00189f5f932a0aafe177e71c6f1f8c34600704d0414cb2ce1e540496d87abaf990bae6c9c0b60cfa3eab91ded4c51b20cb377091bf9a6debdd8134b9af1b6374afc9342a8768dec8fb216bd52104d8b48ab0abe842bf27427b1229fa885bf8723b6e076f92079ac62da43730c3c887defac334deae08a66a6d697bf270ecd8b465033d7690720b88322b2d20a16a9a948138c5b20580b0ea4422b4610c03ec93c4c1474773af05f695a1e6389c999c1e9c5e4c1044be7450fe5916d076b06e2b2451ed6849d14617b946c43e7cf5d545d8bb608ac71940aa39f7d8e45e19e1533ef760ea97d81a0011c97ffdbf727fb81c466e1e1686ee8013d1b34bfb4fbc93fac347f0cc66a257c6d97a191b966764dcf940fa166c29e77410abac1f9100d90330df0607aa2aaffce069db92c689f37eaa34f9a918d030fa0240375bab0d3f3a8a54ce66327a7d0bcc0a0de04c9bbb9920837447d2658f4512d538dddc6456cca9fb39c589f63b5382828f8544a5ebe2ac6bb1526b6b70323e40ace5598add679c122d62c6e1effc1887d1bc0a252f89a546c163453706d1a3be5e179c2475643e865fb2b4ce0a9755928036bfeba26bba1824d7e230899fda99e508e534b8924b2d31f0b3f5b3b006c10b84377ae6011dc9cd88d2f80ad6ca74c8d8dc02654bf92aace5c6424d62755ff4903a9617e1d96a835994494d1a7bb4461bbb7524f4168aea8442c67a8a1ff799ef3e605799d0606147f598c9b89f03578c4753185fde172c04edb40b250fca73913236c123d824693baf1b4d4dbc4a302391ded96d364737d08fd5f3d14bc09d049f858ac70b91dbdb9d622c727a6b0e50e28690acd7aa6dda690cea481a90835fdd0ef25df5b6d9d610c57cba42aa85decb49a307af3fbb90335341ad0ae806edf40edfce4074891b79fd73e13606231fa579a3eabceadd33fc41ffc793f8c035749a74c083c2a2217cb4c2caacbcea874c21717cc7e686896017d990b0c461b74b94085417f7bb5bd81f5dea6ec32ec0405926d234c9ee98e0f8790002dbbf5016236fb490a864fd8e3d396dd48b6647ac98758dd91ee5b639ed2aee34ccff55907121bf574a8fb10dae255c4f28d9732a2a6257b3fbb304ca94ec53378d1f79b20a471d4faf922118aef46f60e71c7c567c6fc3746a91a5a00434f6c69d56c6d435bea6a60a942734cd2fb90b2823a0a6c233c5c904a65a20449bb0fd8d1d982c898d4b3590c0ee94ec7551ce32ea867322bea9cdedaa35dc690c73a6292c0b361da3d7a476fc6405d8110aeaf06d4d6af615ff0aaec10fb7ba238b18e39db060b538ee63962b17d95d38698f204a37ee4c871214eff5a767fb1254140eb9b3a0c42ea176f3497b1e3baea582fc9c3197ab8f74231208d88955b684fd302be30f222f17fe66f9559e7b6905a7df27aa8eb79ac96e9994db4bcbec489d710ef0ad06f9682086a3a5b580b19aecc3b3235a5830da724febd661fa5442d2cb55eaa312bd33be03252b5938da59797bd307bb84468d26a6f6e74d4ef59e7090ecd3f3481cb1775af5e76265a792d302eef17a7430f7bc1b7fbd6af188973a63baba9c96494b89a393de161535c867bdbc5c1f21ace719cb2bae19f2794d87b825493455dde0a8685a9537f7aa30f8af53f7abe7c6429bf397e9ef3e0102714c58d319959b0ff1e04974d53253475de0f378a568a57835d533f8e8d67d6cf2255f52f73019859b1519bbb8762c688955cdf1b701c5ba2463c32cfc92f4949aa9d3f7151f1e1bb814b47ebe01c4403312cb44f047a84bff076e8e02ecf63bcc2c9a64966721ed4cc67bbeba21f308a9e61f17805beae475d36a4977b1d66a405dcba054c3b2575575edcf011dae901ed2a8ebf510c17feff51cd44eddc91aff613883d6dd168b1b144663fd0cb86d87829e04d045612f8f6b45f8e498c17a148bf90eda185fc65733ab0a7c1dce25af24afd2454b9d930a3f392302cd3d53f1fb32180b728989910e140b5f98494aa41b8f8967bfcc0780e7616437a94ed5d1bc747f10235b539398eda5188f3d33ab36a66272cd29d683e607c5c0e857f209322708cfffbd25b0aad32f6bf6a3b8934decf31cf08fee35dd37f74d47af859b237f81260c498d9998a798f05fabafd0a30092b9d05423395e25a5e924e0a8e65bb86005e7b2c0820a632c8c5b379a3cd4298cbf74ca651b6447fa3cae5d97145894f24656613b56e77544e29869ce463e9e510f383c9cdacf21ab6aa02c863e1e5bbe53af35841f44e321aff427c82e8f37e345b1bfa79aaf94f690e156c7631c56617e9873d6d93e58ab78dcf69963eb026f58ca68e2cc4cf0c087f1c725966327cc3bfa37655cb6ff1c2c04a8def035d2e6650cb1c6e03216ac66b6708d029814949895a9544759d361d92d0894066ebfc62b1ab4fcda04702304445555e7c47b1d201515194db9e93574cba2b8c69ea092320f40b7b7d694881198e452406c29e0a7bdaed983b213a262780d713128982ce91f7bcc28ad20079ec8085fb33321497d034b3a1ecf02c388540335a7f09e3f1b42fd2646ece05b07ffa2c754145cc71e86b8ae6526c5946d0921f2f7edc50a169fbf6b1d2c8bb7327147fd14146ea9cae7cc0895f2e80f70c8ade31494e255971571eddc5b62e5159d7fce9105a4e044e9a5de1ba52c24f54720ffaecc12656a45d2561a440d5e1fee1891e1de1d798cd5eca8e2ac7d6e70accee98f5723b797ec0bfdb757f181c403b108f54d1ff6be23724ee081d20328c7811a7ac7c43127dfda726fe2e29985c20113a8c3f34c3c4421f5b28eef9278c4c7507fc222a4123fee1ce88a381f6ef493b3806df79289bd7ecc1345f1cb5feb49daf0f987f3af99d02a83f07beb740703b5ee10f62a6f5d72d0ba78a29594d58285b3196af469a5f98b886bee30ec46dae49e7d21a68798826d15fc1f27ea144b91162d8fcfcb70735e8e63c7a7db775a3de91c4177f0ef475e8e7c507efdf420d064e439f89341e3b7dd69192370770da464dd465fba4c362dda3e7ae344c622e0b46b3dbe191002831d2ac7ff8ae789e390c42089e6f8085043a0e73f0322563d79a1a05eeca4801dfd4f65c70af83ec7902f432c53f2c156978037890d24caed4fa0c1150f721580eabeb007c6a12d4ffa08916fbbb9e9a59c49a107401fecb953cc0f7a20fd8a7fe6f0c283b4d7790dc94059ea73c440b10631602b342956aafd076392948827d7dbf5d2c06e0c3b2cef6c93617444196f25fb6f849ff35b726b4ecbd2312a80ed182683e8a6082aff3eabb197c7421266c25c97bd5998a1847a0433ae2f48b34dea4741b88945b9e071af49feadbd46c9e207ed30a9d723749daed06dc61d81fdc248da794b47ae0bfaeb7e98d7c9b151ce36d8721e0e34d417bb829672e59dc5b9a21a4b7ef1c991220234e3d26fb51da000e0820784e2926047bcfe033649565f49bd573da62ca776b3a8b88a2e4146d3a4680fb8699ef34532be6de7d4310ec1bbe8480f8e73dac1d4fcab34100e6d5a58bae03b59a99de671bf1afce7c099047793d28aa7dd0b28288539c2abd25a2545cd49a32ccfec6d87188db3bb01ce1e62d30e697d5ee75152e71a6600c9ed411491e94d47546ea5e41eb951e4d5e4ec33e9c3b0f812ac5f851225cd906f61aaed4d4a615a2d2a1e9c1ac92a2427f956dd90dea3b3d8acf727f07f046f222931fc5ee057d3a928180135cf2c03bb8416c4a5983556c5a7f498215e5853c78130ac3fa077c64cee821ce3a020359b2b0a997b61eda7ef117b5f7814525b8161d22b3df3f5c4fe2f7d682b99d3b35525cb2ce3781e9771fd79bd9fe990f0e079270245ebb5e0c7b7ea3b3e131843dcf3b70319553f805cca86509373eeb50edeb512c5413367f770e7cb05a5e6d190ae528101bcc64af8c2375d4382e93259762f43122b8b06bbef6b7eee6485569113566335cdec05f2896bf657ec4fcebe6bba7e639e3b03d0d3b64b40ddba5857e29a00c9165a607a726875f5f8ed1514f1ab60393b353b3457de91aefde21222f1336f5a8ffdacc410025667b2364d6c3577b5635e971121562bfb9eb3b99e6845d823f649e1203c243223a116dcbb4c660e9398a3acd11d32d9e0bfa7df3f1b00108cdd788e35f1dab81b0ae47a69be31bc14155bc5d12fb3168e284fdbc6cc48038fbcc9ad6e29e59f8df2f3a3c06699a555301dd2729c86e16507c639756e6abea1a10f8d7b8172aafe0687f3e9d312a5b74221fcdc4f394402e5b08fee9d6e85c5693d3c346f6f676d957b86a8fd361fead416c26a3a1388134a825e44a06dc5c645c198f2111ca4604501618bb964e354de07ec242f1fbc8b4bc4860cb3ef4e7d48bc2d9010edf8a7cb3b75cb59a556641b64880c62c8308099f640c29cc11149051ccbc1205d97ccc134b0429468cde24a9c8afa1349b4b4381e872338fe8b7c74bbd5f7de12baeec6773c94f0636f44de880eeeba13691e5a20e8b96ad545f9b1a93d10c3ec071a3b9a9d55ed9fa0ee15f0e58bcf066bd1584fc862082a3c477148cdde0d64b1a54c24a12ce2c0f283661121974436cdb09ae91822497458072f5f97447c5d5642952058f28bed9a4d77ad962165c563ff729160442e64ee0f1ff3fb60fc4f20913592e6680e3c927121c6de5674ff59071bcf5b8caa7740fda9425689e2ee436a9c327f7568c64cbdb7f7083365fe5ca2bb2ce3dd0d718bef9483efdf6ae5c1478466e40ef29d7d9ba8396fb15f73f9223e69e40e445500251852121bc76d7245ee3b42b2e5df950a01ce7c2374db7b971a5a4304646d5a4e9ccfa76395ee31f22d5b78e1510bc885571c49556f4d9a7ca49ead96deb0dd22c04ca903d99d60fcbd6c2f3f7207d61791f97406e59efeb90d071c82492f56a386ee54ab8c5edd864107295503e102ea339e0fd4496204c697bdd5c1b1a35864dfefe504a990562185c822e79d362de4f9f76a1a7016e1529a01d88a7da9552140f666c6a9471bb3801c1b6cf9d36bef650e297aff61dc1cbbb9789d0e667fea057a262e39e85a0c506d76807836a6be8de40a88a4a09bdd96b87ae3df209c851e3e8cf539d1fd4f05382315c0a32fa3d77d08b9c75b190bdbef49eca11f61520db974316ef5f067f37ff479b7ac377ecf62081ad12e684a64fdf4bab16de9cdc1e46f90352ca5777abcb217beabc6b1a529629c03cb5c6fd0823479ee09c5ab65e3b58700de190c8ee1e77a18d061c00eb36c164ef0f4e2df1de6cc80181dce9446f950807acf30dfb11e8b7e8cee8868ee78aa3edb29d9fe270a6087d405971d1590d4881d70c29b678515c2c164b72a070538d1569a09354f7c3aacf9a7184806a953228175db7a41a4e37456429a2fa77aa9523255b4af9a66f5639b89eab8c09c75e79e7fcdaa6505d18e1aa9ba4e973a461c726b7e640f471f0649bb0b25fc8a3233f1bacc52c22478d12fc815d315215e426d255b29d15e26e5f722535ad8ad714d434ee384515a4325315992e61dd957f0fa91f3858fe7c079de59f56edded51de869c6ca9e365296a6b66747cbebdcf76972b8cce7aab91e55bf4ab1f3581df9c2a857d11a8415a18e7a6ccf23640cf9bddf245a5f90c43b3014d08d3ae19faf9527d7b26fc15cfa914dc6e03d976570242ea37377491f3619ab287e6169025df66e2bc44e87ae07d97aa6a00572733f32973fa22a08f2ce0c9ecdb85255c1afe57832154fea591ff628377c8622f8d87a4b673afe06c3d8737d3c1692dcb1e90910b6ca981303acc042195061225039c080c900169b231ab343c7e9ec6530864ea6d9c7f1ca98f275aafe3c5533d274aec702ea6029f8036bdb577b0c53e08f7d91b9471b621e0c1a31cafca4a94dfa01cf27aaba40391ffd744be455aa37de5b3c1f17a01e81ed720ebd0c5c18afb0d43c4c1b1928b4583595c4ca35df07645a7175b80f0fd759d48de2f33001630dc4905ee3786cc6097fce98163266119569148e0940e8a6e8861eaaaf90853a685fa803c4e039166060a3c921c8d79001e3cac496b3bcc37452f0caa104b2205a8a19dde0196a7791988b3b74e23c2174c1efea0c6173cb0d956cc37a0750834fc83974bdeef818c3f8cd20164235baa1035a01cbf770530810d20b703375d8c6321d438eaddd88f3515f5dd3fb062ff9c72cba6faa5749f84248b3e73894fb6731dc558af01f8f5a626d8f44ba6fad469770c0899ba44a3545c5e137ead0f121480c1d6d3851c8d481f1d6822e39a4cc60db6bdcd528bce555b2ecb58e8a1624e3e13e09312c31318023c4e86b957e2b01ff2d4cf2ab6c7f792f1c2b3a73ae05a17e2cf1fe946f3048f09baa622b28c0161ab5118f0766284fda95075b8d2082d451270c4e3ff9099fc1fd7a8a6e1981de2f1284f1b8e3b5dc80de60d3cda90f573e66885f4e0fb52e9095410e393beb1bb52a026434a35ed2744d7a984f2e71548fbf78dc59337183099a4831d34f7e963b56bd14eac9f3793f67336087aa64b234d9c16026f83e3cd0e0baa6bf27778f86d43602d5db08d4f4acda256ba09009c43b9d93b9283ad9dd75ce7c9dd2b6864f55929556d2a7b9b98c13c097df273bf67be22c3765363d72cb25438dadb18cf3316c6487d06298c3e456c4ed02b29d72915cea52b0928e45ffb99ab4afb10db8dc89f74b09df87a0e6552a54bd62705e9d111ee8ad013a6ea8eec20c2229dfee2e981338954386df0a7fc477b65f62518979405282aa95169d86677ba6cdc4a14c3b687e6b1b0ed6b24097e6d86ca831d16125c2143b210e203bbc83f0e9bb2ef6ce264aa33309c5b69ad09c2bd293c9bb79a6fc2c3cd22f34dbbd8f5acfb1fd82800c6226e644c58de83758fc47db08789d18cda55d31ac307ab39eeedff19f6a50ff1548f7980161fa79ab367a7cafcf65e15a5257132cb03b0aa4975835d1fb5f320684186d7739a4c45ae7211a1543497b7473aa97ab0bb94d04e47d1b692c29473269b68c451736ca630be953aa301223328884cb89bc15c016c2eec6b660b7b5750e7c5dd064bdd277f2eea9204fa7e63108e2465bbe511c80b5b581368229cf1ee9908ca88954998b8e0a974e0845fbb6440101114bf2d7752925d79dafcb7557a845c3704066b47c2e538c59484481d90edd7e993dcf160bf3adbeb5593f33782b30f83ba1e60399f0ea112a74e4477b3932cf62f2e18a1756b3250d2bfc615f8d7555edf269c21168a98202fc5ba2ddee011f63428480c0c6e5d56e61ded6242b2668192e85f42fd3aaf6e9bacf2646dd1c7a402c293591568320cc097a243c5e90c8f69a4dd9058fe6c0283b78ba0ef737140665f744899e343baa1a7f055827b1d985b55dcd52410485a8be805bbb7527f488dada3bbff9815e779ce45a661e435fae467edf291abb580a26df1cf4e2dd134bdbd5907d839927d6fa15b15ece84ac6c73dcfe9158fdce568ec8f981002d10b74043f6413627f6dbe1f1e60c4dce0ce3518c7c1eefb7f883d07fc3bd26cb12dca01f08374cb320a4affdce0828585837159e19157ffc53b53203da528bd2de70abe7256e977ff3b98b6c774631708eeb4f49d832f38a9fffe57b84be8f143fe3b0a92189da4bdb273e25bf06af0983fea17936f12c48b19d0748a907ab45567989405f7ccba01d18bec3c3c94c7aca14a6f1ee51824755ae1c7d7e945791cf6b076f8c1fe1369fc8464d14c3646963133f390fc56ab4c2efa87b6fc7ad58428c803a38328c9cc07bf3e41e21ef0af44c5b4077a4a63f7f5fce37dfc554c92a8c0a9b648c17d180f0f746b63c6d18462944e17cb434621fab19d6385672e299ab045014732eac3e34389cb7ebf8f11a30392dd64d0d26376fe703b153c8e38a0cb9a9f658beb557b6131eebe2c106a7a3f576a59a9f50093e1907c9202c4b6c73fc70ca8c32d0422b137ed28c64182f620de6759c1dac155a56c93941a6699c884a9a1d9716934887adc4dd893e704ffb497d2469481a8770ac4d7c60f49342d4ef89f85a35d88ebed492de0bd97d3fe0e59cdca8843a71b6203885624457609879520093ad47e4b6a49d38f221a75b6782edabe9088209919c7812e5f4546a71d0bfa5d811087cde410d1e6835bfb4a2cd0fd6268c8a45df7dc405a458ee9b937b11bd40e5c9db04c103cb63e8c8248f59c83d13949436233937a35f966ae4df6f5cfbaefa88b0416933903c229a7d058bb30dc63e5d900ace053dbe31b8580f353ab11f49268bd482973098348f2cb1ce82312ad8753c30510c614ce94e90e5292de81d7ed8c120cb4ee0e5b75d708a4627d3a16db9d8bf9f7d0470f3c95896c7104fef7b9e168c2b08645e68e61fdb6294f3625e4448ec2d485166958ea2a392afc62dd4cd12adfc22ba9bf95f9ce79a7d338dce1b3eed36dddb4ebd41c33259995116c53380f787284f9bc08b98df967ae46302916ab2a11c422ce0b8207c38e730299234366d4a7f1748657dea0e778a76699f1a0d3bcecfb58cf5b4435d606e7ed0271a62743d870733ae57402c092ac2669b1e3992adcf780aa6e3ceb57ce983e39d4a7a3a1447e22bfe5473c4f0a16b2759933ec2b740540f364342d5dd2145991e4363c8e4a67770dba7aeb3511650a0f3ef9f905ef9f1119c5bdf3655327d4fa1281c721b0b064a08d8d1f120e93a84d67decc80ae73bd8de88bb01cbee65037a345d3e410d1e6835bfb4a2cd0fd6268c8a45df7dc405a458ee9b937b11bd40e5c9db020adebcffe8693416e27100a6bebfaf7bde025c2220585e48ba2ed096bb21a79b551daa61511e1a99fb6b7f2c97b4d9b2e8ed4ec5a29e35269130fc37bd3f58a18df59ae624b3b5f3614b264a6a964308c66319e29cff1f0415839f2fa279b2576e2f9c53c83ed7f929aabd2f486954442b2061ed67989fe3cd578ae9c3673e17df88a6e1f2abc5c50993969292f492c4ba122a7b0cd7be43dd8d857b29b773ae6c54a76638a68bbcc8dd0f2db4762aa00630f68c34568695635e6465cf91996c55428ee89f0cefe2554386bc3b6ad42a335247b58bd63e2f93f756e87803ac6f2e1f0360bab01011c56ec6150230263a93f9bbc44121527ca9efe6630a55e5d5a46d987d599b24d0c9828a6cb8c85749a587aee564275b17b20c028248e9e656510fc88a3447d25a8bfdb84d59176d3b9ceb85dc44ebe880dccbfb03c20dbc21d79f0b8284f212740c4d54b32d31db3c826a0c4e5d3cccc87244d94412eacc26685b8d332791b1bdd2796091da5145155734060df73bfc1e5683bb2b4d309020402e9b0a2ee951c048b3ff77c8230e389a25818844e5755195c7e0d3f527457d553984d87a780c34716f7f8414ea7bc4202ac171321742454756f77668fa51a8387004c1bfaf9bf84a2256b071f7a0821b4bbce2a5c222ace880aa940e24b5fe6032c8b4fc4933c2367ff6d195cac07f3ea3e8b6e4a446310384f68a2db4d80e9f7bfea6929790d1d4a90a10e21a2e6376c9d72a6f87052f19a387d6c363be0509d45c4f4f21bfed1908fd320aed195bd6ccebb936f20568d9813a51f953803e58f3a90c741e1fe29cdfa6c2d36bbdda0a0330bd5d5f7f5becff7ba2d09550e75ba00e782f6963c99c317532a7d60dd4d892935f419927c52426fa6f10a4963dfc22ba9bf95f9ce79a7d338dce1b3eed36dddb4ebd41c33259995116c53380f3cf92e45a24e7fc86c514bd58374fd35393858d67f399c4d82ac0ec1b6b79b135dd68c89b145f7ef8899a1de46987b7e97801ec15a50f72ae9350bf74c19c7b31e888844af4c73ff6ab825d5bb51b987f419c2a75130eb3ac0a4a05f8c7cbbb57a90ab02a9ebbf1f5a2bbb6a131f030ec6d24852cd8580ab1fb740d8a1af81a251846a7eee45db2ef585f8403840aea08a6d459c59ac5f5f6ea5ca69c7bc9483502c15d8520d7d15009057a467da2a7c6af8be21c047f65adea987e3f4f291c61d75d724823d5c652ae9de71a156b79bcff741479077c3d403ded8696d02d299dfbb351c806968ba16b6b0c6ff165114c01cc2031c8a3126f04f1297dd42fe9d681e3502b27e91b46a63d347eb7619f38974a11e8a99d70dc3eca23a4ce654cbdbac24458f659e85b0befa6a1a0423ca0fcab9b39a64eac464b986ac3d2bd1a5a37b43bf60c5c763883878f9ed689fd6d63afe6b4e4d2cffe7a2f42276b895a25441b5052dbf71b245c02218439e6c115438722de478c9e21494b3e0647f1a3c1861e9a646281a5663772400f71fd631ef4cdd7849c9dba47b7d4afec151073c3aa8e8cbfc75d5a73685ab30378d656175de26c8ef1de3ca3b845e52bda806db87b465bbe17ceb074576eb998997b2c94cb01d14b6302bf79390e711d2137150b286d5abddcc1682bd40c6140912e6d516c38c84f43b1385833e905abc30d08e5a70ad38e6b1cdc06bd1262f1ad9dd039a21c5568c7f7668f730343071cdda1ac12275e79006ebba6fffdb4f874052a6e907efc9d33472441089d46e39a483308ea34f7fd05fbfb3c5b1f3f6db5419e4ddafecf67fc10d527d106869170d3714c704d2d04ae5a0025f94253d1f4358e54ab61b46021747b5607453591050fd585f110add8e3c7a907f97fb44cf98ef71939f4b7c5c64967f68c74ca8e6309678dbcef28c2c25a48574bdb2d5a52217f2bb6a6be878ea6d7c469bfa13015eefed3c7fabe83092f2a1a15c64056b58ce445be5cf348c0aa8bb9e103d94d9bb086a29fc3e7c0a6e0ef235f81ee45fbfbb3eec1788bcb75bb07c773d85c5a7f9f0182e33a7b0d4c5efb6b719fe98eee225df110b71cbf149e4d64320bfdf7d9de3bd1d1160de02fa02a83f22c48973df609a9bb1ee12925687be12aa35702bdade0d2a91bb8a6a236a9db6987e6deace7b187fa3fa905ec865fe4752f27cf68ffa2f029a27b63eb1e18ec7ffa9651bd1d475786b09eea0fa6a77e929e6123614e668faa7cc67c31e27583a35cb4759b3620d0ecb21026a532c6884b551e8e551a762f6c7df45bbcd80619f0ea378036c57f87c0215c6166f2b5ff472a1388bcc37cf9a4262ff669cc589b3e42242eccb032ecae08e4d230e827a18ee8cdc1a980b7df6047ef58611328d6389ac1856041857c3d739d0ebb4519151ffdc8c995a0763c0c47f4384435684a30281f28762602b6ff50eb1fdd74818c75ec57f8819ac69b7d5629de6ad49cd85ff4a4de02715d8d53a6448cc90da28c2b23cd151a56845c181f211ba6846e6ccc88855e032003c80e73633aee4c7c084a4cefe70a4d08f3866c825f1b1359bdb17e1183b91bd31efae21c611f0083ad1697fe9ab8b319a434299dd3205dc394f6a42f13d89b4f92f604f739f0ae64d51742ca3f505168aaaa28d0317ba8b2639287b4cd47a2ba28f6e2e12477082ddaaff75ff851e35889bf858fba01b32d304dd392777657569399f95bc73cfc1ec4fc05e3937014a7fd880511d6efc7271096a6d17dbf4ed03ff91dbd6a9fc87e6d309983efe81125b1b8b1367af4cb8904747b58450d4f249436095ce561c2f3a5adf61270f592f4d1264290989aa99c560e6b5ecb37fa66c95ee4774e321860d88849663845face46ac4ba3094bef12d74646df7d4f9d8c841e4dff2a897c5855b193ae944f25063ee5e293dc0800caacf4071ba2be7a01ca2cc6eedac4f2ad62644759c07385d826710c8bfd345a131e1bf1c7c98ba8b61fb56131d12363ef52ef96bef823f1f4c5349daf1313f719d78f8f56e820c4cf718065824853a0fdab4e8a1bdff6483d8336660208db973c2e69effdc5209dc8346827c57290414cded468506fb7aca188cae3f6f449b56318fee91c1658da449b261a03b1aa9b7b58390cf6093b52659c6d83142201497797bcbe3f5281f09d35d5ff65bc4bdfea634a1743b19bbe1301b97bb59dd547fa8c98ed6ea3612ce99da4ba90c20a56330c2bbfcd6716b78b0f6c7df45bbcd80619f0ea378036c57f87c0215c6166f2b5ff472a1388bcc37cf9aec2f25ec151ef5e49dbd3936862217aad990aca9ae80d51d909aa65ad50dc6f5abbbc33c489e87c793c347e88e321699741531805cf7ac6935b954146444009e3272b2fae0e4ae001aa3da306219bd13e448c695d53b2564aa24736b99d866587a20e2ce2f7524f8377303d7f9f34753e7a5dc40722908b750809cc0e9ec3fc47d8a99e27afac7a9d79bdbd7c037356074faa380501dfecd0dded3460fb21c20751aa28e967a025ff0a6291aa1f23ecf1ebc851ed47e89c63f3866d8ab2e255ca83a6ee2467ed29e27122bc6d0aac22ea606a992d8462da39b13b90786365c53b9df2cc0b0a45ae092d077ffe2b3d3537d25412ecaeb5d38b47cf82c17eaab88ccf5b985a81329878b3939a77acaa511fb880e197f13965b673d5b5d7dc47bddc89228bcd87f56ffd13760fc671e128a7c3ddf60231b25e83ae127e3ff634f4cf34226b033198eb9c8a3fe6f7f34de1ab46aabb032c05f65c5a7ef6a815f61870927283ad7219a3a693422f648aac2db72ccba6f4fb1ca46905ae2490e1cba713a67ca518fc0464606168680a76bedf9541e9a67de425eb6fce1ac613b4d1203e18e844a9b33534b7a18061d00057e8e4e0c458625a9e033b9865d60331ea0545f7000e7d4cc7ea4c194b290f4a67d8fe4bf60517e0d3c553844e30d460e2681be7d2f5a88e5d518676d365ba10d859d9bbcf7bcb1df02c0fa1d3980f118433ea5ee62f7a5d85d03c393e1c135157c9c1846d9c15285aea0f2e633c0c8ff64745e31d4c1b20cf84cecf1bf347d4796f43c8c1072c8819b20f7a75b845940dce80657501aa1469fa22281dbea9fe157eb78ba92444f942f7b1582997d74a2093f945968f6d01c195649bab2757cd92d1f3d44089fc8c16d92f63ad09d978be4513f550052d66d40f4eac92ffccaed86fc4315a11ed956cc9132d176835f62534aaa32203e2637f78525913e368c4010772e8e7ccb5f18a43b82353a42bf1a0e6fecc3befbf6e1fdcd7cc5ebae0f47a635f4008254ebd04688d17f537cbbcb08b48bc97d0c8d8442222889fe9790f677e7f171c9ddd306bbc8ff235f3585178f6f2fc24232edb70eaef5216f3407ce0f79aab4a525eb356740a221f67eda1c2805525323aa7d475beb373f79cc7b4577a81a5854a7eb410bfc0b5116baea4cc771d88358977672d25a8e0f402972a26413084fb3e08532793820ac465c8e13b772e044212ef78a659d2c2ab73eea8cb5c115ca2160e6b6dff6d3ea27dcbb797cd64f5ec4b393d3fe064e9f360f237267f267b9f8db2f0cb2e436628758132f960484558204d6ba79ee94629e8f38e3947c474f4771aa633bac158128e86f3ccdbe038095c51a2850b9e966509757b0545902e6b3358f244604803a39c66741fd1d162ac0619892657334a0e01db3ae233fff3586151714fbfaede97505e0b5ee45a55c3d36bb5b8a273cbcffa8e51c3de58d4729d7f5e5a4bf05828c3c789558803e66aab539b67a6e5d9482a07487f75dae8ed0c210d75172659b9587a2523e3a8fb3d9ff71c494ed9e8b2ae7d739fb194f2dba40c9a973a525d7952cd8bfd621301e29ee81f3a534480d8450385f4d87adc19f6390d24af39f3ca99d10360ffc0245aef94d7842198dbd2bba5e52ce92b743a0ec0c5f09168e4d81c34cb342770e732d192095d5922968f147b59ab02babb88915724b71cc5071ecef8b17847c2210f32699ec4522ea622f987adfa9759dfa56cf6d3bf01d855428375411ab566745d6ce44ebe2041d55af373a5f7a7642681fa19c82aa588cd0d426631cd8681043327fb3220b57044c0edaf2fac6673678ccdeb99cc10c58f4ad3f56100b88ab488fe2d8871459225bcddd7e87439ecf33305e7dbec80bdc634b618ceb3c86dc382d24134eb99724ceafd4e4a679ff6ead7fb9cefc9c1ac7d20863fab59c512208ad24325b201ff8fd631970a96da8e36c9b0c1965cbcc111106b1eba2689f86cd3e26454c1b92937c914b83a8db322488ffddc662cc395900239d7fe05c4829dfe5311813e1e2e0a12b68303b50334f29230e1c6b148780bb45d7f2ae88265bf702fd22e004580af6674ff01c8f674cd0d618bd9d59d2a48b7e7ec0e9d2f45fbfa14b8f3c8a32407ad238f6b1d27d768753d266f9049a5c04819a5380e5c2fcfe23e71bf050382984ed9c8cbbdde80f5a9d07cfa87de93a4144c180acb94e186d7d9628658d6cd398a52fc6ba2ca622bc73213c2c7958ad118cd5cc87f1a9bc9b0d4034a2db425456a9e91b6b8e111e8c5828f6d8d5e1492bd6af74cbe28ba98cfd72ec6e5dfd9808e3acf8620076de073f3ebf030427b1f0de3b4348274d4597d5e93b060644f92a6b4d6d9ab48d09664fb5e5c41cd263b1b093b4377933075fd7d911258b5efb44d68ec8fda9ca7672103498d63fe7923db46ad0eb239eb931a5bfecc7dfa4088d9fe84f0a695f015ecb861561aad530c6c4d42110adce59cfa0b2f03c7ba960dcd01a338caae90eda2e21885607b17a34a4610d4dcef11b2f8eb699c8c2cec8f554f53b664fbbe22cbed29e82d2b02fa3d5500c90ca83dbd7443ef803da0017c9e099e11cff0131437236e0823697e6abf68ab7b93cadc6b01fc4e70fdccc1f7a2375c479485a9aed09457a40d358d33557655cd428760047d3e753fe061977abdd47c36c555812a2ca74ce865b50978c5738c4dda671f3308487acbd1f16b6abc2fae072965f9cb41e041ca63c730f3f0ad462e9ff67981b085e04941259c3a9fb3b9d9b53ffb03c3493748509ba2a13e936c6d1e08ca03217c618ce367924facd2970b85f2fe1eca1c4ebcd166f34be326b9e80a19734bc8671f2a446d4e5dd57032bbd7e424da34573a89df9fad4e48abd9ded2b300b95467f1eb317f0e7754e386109df6ac5eca2525d69f77ebad0a9eede3ec8d5137615e9521800448b42862ef343f4698bc24e821c22717f3442859a28ef647b1d66ce1117a95ae16ad7091f2a929a4f7bfc1fb8a993df055e1354216b2bd6965b0d54a6e556aec2dffe0a02ba12b1b71dcbbea9c1d4cfd789e66bfb640735333d7c34887d08621b7c2c2734f9d0661a3b36008f629d7c649f524f6553ef904958fa770e6f599629b9316f37508498bf80a2245ebaa77ed6d4f49c53da354e88e391b5fe0851ecf20332be58a8d7b16e77fc8f1fdf79d59fde015bd456da85d1305482fee621d0f8c586e02519b14354ca57461b20fbf4fc3cb54e85d6da3ae4e5eb32de3434c1d35abcd3b5f1612925f027533f51755cbbe7360af4cacb6604ece03635083ed9d562be0bb54d410dcc63fcf41a18e41ca22d161b9a6df6bc17d7a1ec68b0d2ec560746f9c11d307e2c0a1deea1aa5c3f3c8abe19831240f677acacab0ed3b5f5117fa6ef013fdbbdb872c37ab1a558583d8aa4528f1ecf84daa95c4db87103c731369e6425a19fcd3c9ea0c6967111628dd3119222e43e5acc474c2b77346377a07f13533249471721030b8ebaaf1e97a0aa009aa037eed8a19b10b7a78718cb9f655c3fe50f13ee1e82f96e7d007ff0b775669ed2fb579362161aa14a07185288140131c5c2b39966c74bb4f99b2b9aa5c5a13e8b1ad1cdaa363f892680e8ab9237e4e5e96d46c78bc4c014be6d80a31fc8e115a660b2f5c25da371ab2d9e12b5eacf8bbb5acf43c3b4f2b5097a44797181a1401c8db240c8f1c034896a887ead08653b9e8ce53909886115bc8233d8e0138dda5e85c4b23fed07623aaa8f9ee577909273520102f59b3126cfa0250f80450a60801fb57ef017284c54381daa5ab406973cc5471ae251d00074804aafbecc64aa1c722c0699a05e8a3fa9d8a4f4c56bdd6bc04893588e8b2180837bd5a6e2d892f0ff15786bd920dc003b5e7abc7def17d482ebe02542e79013ace553d21e4cb640b9f20ed339b3431ac17586a2c828206c19f12b84c01dbd9e1e11a5b5a91de7a180b2c2a785a0683aed0f2c74640a708c2d8193866f7abe0bd07c047d151d8c15df5d7147c54e9c1ae243e212b3c818961ac82a5b3131f1b432214fd1e0ea7aa6b9fdd1aa648ddff1ba8949dc19c74f49230d33c71e43d537be7756d80288bbc87779243c591260d3e66fcca9c2553b807a4d3eb528f5e2c17b56d065624df67c50732f0255a488bda2c155954afddd6da47fc82878d547e55e037fdfcf9ca3bf009b743370a5c727c45158228478cc301029f86ba63622f733384380c1e2d1c690dd4c054d78230313c74c505450ae8eb0260d375a69e313cb3fbbf5b15f483db1f08ca142c5c23685a2a49af7971cb18f474c25b304afa236d3eddeeb5f76e2741dff05a062c845085890483d959587b1bb6890debf869a44b2e0aac295274b6bb2ec820b030fa138f568574f7a8b3e275363b48810b4c951f8667a2a4c22e0bccbfa6feac660435d0df9895d0b2d455fc49e01c159177cd90fdfca0fc15252e7e2a1b7d565702b22b43bd4d437ede5afe3a5fecd96640f02eb502f86915ce1881387e550c12b332934a7c8f15f6fc5078db85ece93c0d6fa1e8700820fb1421ac7f18cfc0d34b4866ad0af246aa08fdae3c230726835658bd14e43bb84c367420912d316d0056d352c9fc050f2c2dae45f204f4e0e423893b4be37e15b4fafcc665170fe2d13dfd34095640c4e210ed147d0b1502768ef9dad203409eedbc62faf4a13a18c1ca1aeb0f162aaf0f3cb1a8ee84af52048562efecc085ba93957f480fe70fe2d13dfd34095640c4e210ed147d0b1502768ef9dad203409eedbc62faf4ab3268045b7a5ec77d877b5f0be72ae5e1b92fb09a030a42005825f9ad7b463862045971f285b680693f63d20ad5c69e5e0575d207d88aba904493f4d8e066467e56039ac3dce4159875489d94d2a1f73ba87cc8a5bb8b2575563992f917eb618b6961b9b85a08cafb26911000b53ed1957989032668fe4d1d8ffdf45ad14a654949e938b95bc366691dd9b55e3d15c509cf4be2633b99a976b7e8999011922542422aeaaef7d6e2bd7a66f5a00e6775c51fc339b99c2af3f6dfa632c86912f9ae1098577feacdf66a3ee8f678d5d52f2d255ffe13ff493d27ec3b1f3b8891d8e54daf7ec760e72fd2614bacf0ae5b72d89a9e71c05e496b7e8da848d6131df253a90a2e4195576a0ef1e88580394d01cd0875db1f551d16fb6855731a3f02bac78027b0b38c80c5ba9beb1c3e50e6e99ec13597706b45d1f258c12d43f4378543bcab7ca48ed0d19a9adce09e65aa9a12b123a66dfcd8aaa11611685f09066853c0a34e5690f2a80aebddfd16a46a436a2cae6745f2c655630b04eeb6d0f177e78c0620d5cc2f5f4939f94250ca60a5e2ca64c9d05ef0363d8d4ef6acc6664090dd0e921e0381dc01a1cf69366b4d38c3e552d86900cdaba1c9de8c5b69162e4df3f10ebcebae4f45cd4b80a97ddda259a41859c10f8003ea3b1b11b912eec3898a7e2c835243d8dbafdc22e9c972480ddfe316ddf0b6c00d234f3d0975f7544e6503ec6bd153ba58aaa7ec912d43260c30c30a9b3154041f7ea1c14af46131a570b55cc21ea445d0275e03a50d697a2ebc03a6e4cbdc13f26698b02aa77a5818be03514b8440609f0e8c2b5769782e7a67392247ca52290e993fe46d5cf7226bd05b066bd95b3a5889b956b91c30a94c51c7cc3113fd6889291d82b4cdfdaf07ea2157128134fc5f4825e1fc069f729c6aa04737223c8ff80a3d6ff03843145e410d1e6835bfb4a2cd0fd6268c8a45df7dc405a458ee9b937b11bd40e5c9db06a7b25485fd8dd352844bb70e9b96db6e378db0de9af48541dc3b6c4864fd77a2a4346c679a1d582aaef02e73a35e23812ec7ba87135180aa68900c48be3d614c3174fc0b5446fe3be8fb17ad7b03c8ba0b5e1a656ef9d212c247b5f121f21654d4af53006f94d1842652918dc196b8be76e0dc108340d71a00a4ca09c5d818d34481ebc793439a431a951c83c618e9588be69887435245353acbd74bae908140b96f97991ab2705394d2908cf2e0a7ef425354ae9f0129146397a791bba7c169acb0e0f57a1d0c6eebd34d8986df1068d1c9b10e76a9e66e66ee465d7fa48438642d6e59965b382a1e970c9aac9019d4ba6e919fb4ad811815943185d5626be9919f0eba90757acd97480eed5b62270af9f50265ad41ade965da4726b9bd0bbb9d7b70dff8a4463dae0e0dcd1d309e03588d70fa479655223e8d959dcbdb35213ebe3cc999d588b649e31de1137504c4e99c2237bf66a5ae9f9e3259b75f21ba2405a73f9d0a58e184c0c9cb2841a37b0ac79a13dafce19e0f931b01bbceb849e8a5a727b041d9643eee7b0eda31ee1464b86f999482875e810c97c42aad6eff382f51c43c6b570938d9604e4575ba8c664c4039940dcf06ca76c018842681173f0a10a42e82bc73889f52ae20cb75c6979b030a7982add162126e386dd5efc1564b451e168a10576eba8e090f7e0d837c42e03e5afadda34bcdd41aa37910c93054c0cfc013921ec2d59cd1b52205ecad0f2f2f90f6abae6128df670f0637cd90f5e47ec6223e49a69df18b92072f646ab7de3469265e6e9c8aad49cd7f4f702b11bc81e6009f3c5ba2dbf86644d76278a67884924e39ad3df42128dda24aeed2e19d3d72922fb23f257cba82368a49a977f31dc2f9e2bc909db7baa39529e910ebffa991693db97e6c5f33d4f6d1958ac24cbf578faaf62ad8253dbc6b3b3e7b70056becf80fa868aabe9d423171856714b96d20f9472f671f9e52b87567e3699806ece13ae0a12e6c2d0d859ff9ad334ddbcbc46ab4cfc638c44236eb1adb63a483eeea464c686222b8a1d5401a99c0354065a52a28efaebf1feeb7c183c2e11322812fa5ae09114455aec32a695f1ea779f9b5ef297a93789f25e1729d70db82ec1ddedf254f8ac63e5162321f05bfd5034890f0f47d88c875f8468152ae9f3fff431b09336023a1028cd1a4092b9d8e1b4083219af923e0479fb69b9477608bcb91c2c2fc06314c376529fe5efea86630a48c1c91dbd5d73ae4f75da8c7ec6d1bc1f48542b0e5cf6f9f60db3793c639e68901ea5b4ae24bc53c644858df99cbfcec9864b2cc0a0efe827ba5d6c5cbf18eb217bdefcdea7e5822ba157062ab3d7844dfce3567129c173726cfbe1e8571a4d61104f7d46cc49c1f8dc685d84e2df50ab8d508dd388bf732506f4803708acdd1e13e653b2eb34701ea67c0b9cca49a2d5cba480f042092db69d2671e57521e1c9c776cf597f93790a42c2c569c205749a843e730a24becce6f4fe757f4958a6ef853f6b7a3f7d117c7381ddd9c9e6b206e69498bb8e6a83cd72bdade28398998dba492803173af0467ccbd9eebc1f06af33cac87de64cdc33cc118b8b75e7dfdf1f58e4c4e27fcff087ba7318bf48a5ca6c014e28df6e31d3c4aaef953ec7f8b07c1d6b256f8b018084fc3abfa8ea66d0cb1e21dce7b7abae9cf9c3e78f71fe2b4efa936c8fd49ad46a314a6ebc7a80a4872c466fdd2a41792f875373fb906dc7f0fd7f96f0d85432b760b70b45156a18c7b5d564183dc8860903d949ce15d276b9e440d509400128d97de4283652e04007d05d0cf493cb0fe427593789d537824a0e39699189856019b49e30672b70a301370130c18c15bd84d7c35d791c1b0cca1a1b78c3ec29d1d325becb826eb9f594e5156168ba8f133f889f8d20902f81369afcf3d8b8e39cdc00e8205ca5bc21ea24d017c6aef3137979c99883a6986cd6240abfbfacfd7c61d50dd19febb2f44760baa5d9087cc02f008ce53555a546765715ac0c05c339e19bd7a584a49807d71d40fa444e44a541a227be5164dda36b844d190e5e77cb977c56456159c68242aedc8fc2905dff4f71b062c2d4613fda61c94c24e22056cbef187361ecb31bd3a7f25ad11bc83dea54272008116dd1ebd62364dd9fa6de82e1ac509ba79e2fac3038f52fea49644a816245b75664cd0b9b9bf71307b0fe074a27d1b3ede736d4c6aca869cba311519d3a3411a0939d4f1467af913471520c63909677a1f656a0e91c4ddd0d62b9fd19d57bb33f022101ce765fc67b3e74bbf97075db50057f4d8e03b34949133a1753f90889ef4a53a5b968b0f9963cd15dc5542e0aeddc6367e9bd555bc3d4c743d7352e057f262def569c26dabdc4ed2ecc1c24f10eadf1f611ce50df0df23a72e814f738e60560ef0dabc5f7f8ab3ad8e5e211b2d98b204f66b550047fa5fd8081e9fa1525d381081ba5969f45fe46245877cd31e07fc9f1986f8b88ce7d5d2f952c057d3c56e3a58cb8cdf0582166adaed60f5429c2d91dc8be07e055401257dc7ace189d86ab8397872477edb8aa400fdfc71de1f0507c09e7cee428c0faab5d65b4c21613c2022f5ba2fe688ac67bb2aef1b1572d70c87fb4770207f976493d240f5915dc5b7972d642e3fa09fa67190837f1de79fb1dee7bb7e909ec9981de2fcb1ec8a54b22d1a8c1802edf7572838d55ab4ce96a7fc03446cd26dc6d2e80e162a894bc932d9fe75fdb7fc9fbcc45bc97adbb40dd0411a716620002e6c23d2ae185a344352d94fc80d590671500f2bb80eb09ee86cc721690ef0133eb617e35cced3aaf1257c0556ccddaa46f8fdded41138bb65510283b267479a2df4da13369abf1ef50259eb91b791ebe22620af87e80b9d347aa1494312ddd21fb27439526cf809cab7385dc24472f97322b86bfba0d379e257edd97bfed14d3824bf0594bcd5a0b31b625cd0fb4a3dced7e24d5ab175d03f27313e799c27ba8ff383e29bdcc3b5631a6613bbcff9b97132bde8a51b465aac46f5eed18cd4bc35b69bf34f9b8f333f205e5cf1fd61c542a9831fa46281e96e84b249c9baf7403e85128384355af30009a2bd2ce6ba4927e6d2cd6a66a386de8154ec8b6607b4d4e24050ed3c9e237933400a7d52b56038925aaca5a776e388625995680c11eada07d2f657fd0df2553c2dcb7b14dde1174df00f874c0c4331e0bac59f1581eb70b9271ffc4b156fb25f6d3ca70f42b02159fd6edfd58c468807ff8dccbba548eb85ad7b27cdc5d9fd42d41fe50123ee718524696312cb9606caf0ce136b9c180ec7cadceaf416c13d310de5db5f1080b0b7a9e61e289a8e9ebcc47f404248fc37894c59e1df4bd7323cdea6ab41aea89ec875df9ac114500695a5ea97ecfc19e11f776778bebe5119b633bfddfe7976b44e189c0b2cf3d24814ca80fffbf41b5fe1470b21f9205e516638d1d834dc4eed905d7711f1ddf70ea7e67b8a7cc6489ce4ea241a0fad1d8d8ee658779ccb0db4b70257d0bdae8e5000ac0a1bcd7c033455681ee1bcafeec8d3ed1bf250ec0ecd8bbc643f58a24346b8babfa904aa897c258c558c9f410370cf018b96a30917c7f3791ec7216d42a29cce3564452db4d8fbc74e6f327d706a6d22f1adad3e969fc72604bb9423479788f36f49325762d3098753eb355082195c11e69cbcb44a673d068c288d8f0a6dbca86c95c1dd3061c06f039464c3985a071de066c6a9c056309f6b972102aeb4cfcb541963f44b08e77c0b2617b33ba184a7ba82e2fbb453f5a0b2e06b67a64efe2aaef8e9a0059591c4df0467f810d9249488bd18166db1a06f754223e30ff72d7f4ae61e2a1d72f5ed27f6db65f7a82b31393f890dd93452f3165452586cd4df0def55fe451ee4e3c09ffb9ccf5ffe1ec45728fdb49eb7274bdeb976d514dbb71e42d25944f70bee29473e0a8c232e29616701faa8e9415062f20c6c45156540aa08e37231a875e72875aaa9a3e77e53050b4d9555fd3e2264dd71df0d8dbdc304fd4917fd9e5f0a2d8d9714eaf989c9475809635527740f6bc97b0b7e3f9277883a94655f016e41fdad5b37283cceadaaa4d10b1f6d1495845e9170022e22b96fd88d40db443e5c47904d1c963ef2cb12773ae2cf659ceb3b46c6e090995a6d0863b3ddd7f1490e44b27a2181a293bfa393fb93219c60c86f7f6571925878dd8d3a71befdcfe652779300631aa55aa193e407df9656049295b32f6d54268abaadc92083f3eafa599aabb0b8b7932744bdbf72ab79e7acfc961448654db56e656210de5a167328f9fad6ee589266c26c2a464a6713954fac19cb047cdc76d2c114999280f25ec7f78e81765cbd66ced461def92faf17ee7dbfd66731931f9ddfebdf26669ef7ff9d30c41c6836bd20d4caf611bc2af780747e61549f82e5c5de91d063b3fc101184a3c0a1710f1dd839c1dae145dc46641fca7b23bcad2c5779e71d7e012238c211b5bb0c1b6afbd9e9a6845690c95cc03f4cc50e30045bf9139e57ac52a4323dcd417cf662905b544ffe8441915311d76076cb656f30f1e3d1791287024e145f504d96f138f505c15190f98a99afff06e007b641a52f8fc62e5b2fc93438ec5e83f3c0d7ccae40a57a569a6340a60d94252311291e28a4ab299be26744df4d63d6944fd37428481054705b9e6da5c4bd413e299e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c0afa0bbe1afad5a16f6849639b16755d42712061cd978aa0161de2b90dfe92a6551065d0cc5d7de8cac651c1eb5992a3d63dd7488365b0e8ffb22add3cdbdc93b7156f0933e9aa32251a635492cd233aeebe5eec1c507496dde8d97d47dd8634723eac31df6b31394896125bfcdbd9620f3b055f879aac689985385523288bf54cb56b08f73b9f8b00e5ba6d3040c5c414671ee0b717486ff015be7413f3450583f58123c30cf8c3e3a387fe6d037d90bbe20cc56670c22407a042cd646dec97bbcc722d3ab926239e0d25c04488aac3baf15bc73f38a3849f99c2179f734c4fc9907befb6f2fd2c8ad3b26ab897e19662264c907c4ecd492d4bfbb77444d898c39f80e20b8d2cd08d3f9831732affc0eada40372a318659731d31f27db4e053b5d6349af0b224d38e95b080854065a61d89f7137fcfacbd69a4fc630cc234bf401bc52fefd4c53fae65f95e265cfdfe0e308d42c2adffde310adc5c0a649a493c2dbb7697ac3df33adf3c1ec6743fa3fa81b1dafa7bfd86bfe19fe112fac43d192f28b2b971be1c1498423ab06605fe92694be45a13defb0b3eb42e6d868b1c4dc0942b4d6657f34c64610d10a9f322c360e58a62c324b591ea7edee45f2b7c2865b4263af5ad710f87ee20c0fa52be7a9f30da29a6967509471fbece5dbfe024e1345fb91bffb11ba03076f4723429872c5914bb59eb85f5379d7aca4f8fac75f8ab3572037fa8724e45c17ec9bacf1cd5ade17cbf29aa5a31d15ecee6298061c2b390800cdeca4f74829d42f35e5e999756a8a9c0660fb391acc1c428ae87f075e7ab14e676b16f8595cfa7dbb3b3403cde96fe3119817e7dada246a4222215da57b37096f4c974427fb53de62fc2d02ebdd8f1949d224161457114d35b57183f90d168f155bd3f45b277d907901e93748fe29ae75a4680525115b7d998f68f5e163f3c3eda59df9d3f5807d6bca9ea8251798d3905d82c7cabd79045359634b688fbd171757956df87866a9ecd78d2f1f4df20d13a79ba2088ec21d27994f86e2f790c9c2c1558b6e059b967161b44403ec0b2bcd9b0a913406c3976c98b1dfe7a913f3e2bb734167b56f9995143889d6e3cdec346a9dd8d54e31084c77252cf76cef5c0355fd983dedcd2a1cf1f83d820e08354e69d7b96cf82fbb28180abc250717b4966b4215bda3abcf033be1472cc12553c8b26171896c47276b72e88d88e09dfbc370109d0d724cb6f8634681cc226e204433aa6ab72d4b98d7426d7063c317fc4590ad933ce66768b18cb0aecee886bef608c97f90af8a4d415fe987dc8a6921e5f39981b9bd37ded42aecbdad298de7c280f7c37793244f5b358644e5b17464846f7f26c51d03c303de75b199baafd46ef48cdf3a3a92058e11bc19ab23691c7a0973178304ae77271b9b6302f97cb8d88b92d1ca5c5517582d619b04f8345115bd11aaba01fc81f82e235f0cfb0773f2516a999c96ff024387eb34f5f4df8e11c35ba59db253e414fc4b3ac223c641a936fdd7170a345adeab8f044be8d45e944adebab39427d99bcbc6a72654b431c13c7e1831a677b567edbf5fd129cf1bb7772ae7e2c28dc2e7cd23528185728e81ce8a9accd6286919ce9d5cac47481fcf5fa722ee51e45037ca3c73de93025ab110de36b872d42b4ad32fab4584d7880aed0aee81ed485347d584d416839a358d9f64a1e9186c4515bbbf833252d020750a325346ddabe2b7ab418b5dd37f4cb8a3cfa8b4a9c50208c7e84326d33cca2f962e6466b707f9eb459b670e7fa3331f19bf8e8d17686d680772958a32a0c565e136a2e10ad7e5846c2d8577d90ed985d70fabe746553b628f7bb7dc0dee9801a2cf0d471efa6697b02469da6ab1ee66fe985cc27755319926b98265731343a5136b2115b39a1d760b268bc4ae972ff500bc059a3ba4194e36572409938550f5d21b9ee5995ad99f88d86e21a9e205f210205dc747717d7987604b070dc2e7f52ce7cbdf731d721f86b02f3eed3eb4d46e033fb7e0931c17844ea54bb4768f298beb5a505f314284e2e8c8424d94563ae6ac3446a8c54ba9b130148a7f34f78209dfc14907104b7136dcc79e1e4dfaac28cad77861cb88e6d352e80e23e42ebca6c6035cdd382582f135e7ca5e202c8e74e573fada40ce5e86c9b51e25a3c73c63fc00b0d67ebeff045c5bb0a10281cc4a6ac51c6b666ffc2f0161e214a8141bf76eaa5538eaa318e13e02f726e3ed74299af25312e11ef196833815e8fcaf4e74c1137a528a5731d0977a2317e8f7150f2ef47377610db3afcd5f5c207cf38fad4b0ce8ac7029747ffe0c080da63f1acb06ce2a3cc91e3d00f29a5950a1340e660d5c93d7a4ac71613d0fdf09f8b8f68eb351d12afef3a12a221b223ab13c147fec774fd0c870693b97b94a9bb4f04985ec7e33a0931a45ac4b73fbef1b24fa96812a19e3d2820ffb780c2a878a4c7f709d7ac369308038bd7e5f61f7a82ccb042f96ec9bf4ce02d520a7203ad9427819e07d453d03195b37af1237a48b79daf0dde989fd3d91854ddb0c1b752a26aa32e6391e3dfc9e3ee0c18128ad8f2f732b64b88a40711a649080be6348d1c37cf1966efb80507111d5579b631ccc9c6cf08e08efad36ca23330bb96412953e2a2ff544f06b2bfd4e58ef561fa20d8442142d00fabedc7191a26f57ce0c4379399aafa4425288243d60cf8368ba8a4cce718fc1a7af9ed9b7e767f19cff37db25c412ae5d6ce95785929a56b8014135fc7649355c8b58a0ae1a68992b985738fb0d5c29c994e1b90ddf33d6958b07bf3b1a9a9744cc54f2d0a191fde1e1321156a6637cf8310c0413d17985749ce9eb05178048b40afb3b303657c6c84571cc77b4d13658e2d1870c847de679ebc17e759672759f659a93befc1f2033114ea07ea957e4482ff2abc8f09ab243fb7dd7c408d855e41573d763fcfccd5278eb5457ef995b203912ac1afbd3dc8bcb70d3e08a7a898a75be6e395249ae1c42b7a5b3b339ac3678b9f04cf918cf07f1570dce729f7b3cbe61fc531ba29faf4e1b88e8b818497106e90bb7f17ce52dfeecfd27179788c161e7559ee22065730895dab40d77b9d811c93f83eb62299d329abe9ad319781b6cd521c32c370670ca3acf71680788683c258aec9da0740dc49af31febf582ff2998cc3dfff947e4f7883d9cb1cdee2e06a539a57f7b64102a7afe37fef28c1c3bd8284d8eb58ac76c29611894952b64f445ab782d948181070150a903a403cb1de3950f397952edb9ae0fbeb798ae8cf505ae562e722b6530070e24062bac606591887f27f5ac091341986ca245a2bb98fc39cf731fc47a38d7b238bf2313182b0fc3f367b786ca6f7bbb67e01089ca92c9f45033cf73a3d2b9c378d531269e70e525eb289ce27d6d663eef19db631a3b224d12bf7d2afed35328bca8ae4db1ce2ef20ab8c4aac84355c140e7edde3d855458b41c2c01ff2cc4e96913bc8910705e8561ff4114ce9b638c5d53ffe811c8d266e6a0757b73c6c0ca92c527efe8b23d56950942ea3260528ab4aa5ba8e2786f263522e72723a3d441991b3f3b196fc594b58f7170bb72d2480f639c257ec3fa537bc213ad6a6c466e2eb0b285f29de7ddb5a45aaa85021d1735ff671cf6a56cf1f3f985ec508f377b49d4893fa82226f0d7b807ab5f9d5539db3b68688968f6ebce74370556f3c8d7a38d3b43f59c4f11fc406af33538dd257357eb5cc5003b6ee91bf7f79abbce47ccf102bad59e36ae787804c401830a118f1369c982ed30bbe69ca81f00bb7ad01953e9ea2f85943aa158f7984790f366c3b11f468986cff987b38eb6c5a9cdb2d4b42ba2291a2fa4d336f613a2cf02b48aecb103995b67f1a0c3dbc686982c371a1702a24ce7865ef62ec2cec226780180358bf51ba37d07d83ee0fd05076150e5ab44baeb52503b2d3d5e927388757c0b68169bfd6367e37bdda0acb70fc88f04663576905ae642fba8e75ee7d3888778f9cb3ed8a83d13f4ead6db1dcdf6b0e9022a7b9709d964647cac340d6524c76e27224a3055f13c2948af48bd7c3b50eb11f35dcb94ff4b35ab44ef193c9072f17cc76d6f476145c36e68f91083f4743d1881dcfbf9278b4eceff8f323bf1d084abd2f109c31128d631169b74a3ab8ce9e294be6e37ff56c78fa70aa48cbf52344697892ffc3ef12858ab79641d1a1642d504d18ce54d84a940cfa1fd2a58c01ab324791f08a99fb786c5c8ec60ffb8d3867a922e994a7410caa52e0bb128c86d5bd0a0177d964061b891c20a0dcd2e7fc67e154f5a02de3391b740166575deeda6fe4d40314a9930a59faf16fca1e2642b54407efb22acfda2cd025fd79f9fa2f8818c23e13f893da7a889e27a75c74b77482266c5f529af642165851a32f9b6eff902dc3766e51e4c86557e72beaa695c239b8ee0653df2e958602d9e92b21a79a8b0b87f53817adca24bf4eb4d578c1667342d7153b8130b7f9a3f9368eef1a253a41ae6b7bbef4dcec1b60bfdc3fa4a33736dec77fdd96df8faa93bb651240b0a010f58e0ba2c345e0f62d68b5a8b0fa2070a15ffde9b07283eafea7f9df0f89bb84042024b541126b8ca27fbd5d32d3a9b79112c4919fe24dc691e4fbbde56c58661d0dc2c3ec3aed8504de6db24fd07c95a5f7eb30b85cfa554b32817a7d5c8915d4d9f04744495cfe576de600d0d1734d0ee46234d536ecebc50fb6d42177606a57f5911be2e4afae08ee08ae130de0a412bbb926d5ebb770ddc0b4adda14f63941f93ceb3c0b9e3b8c076725a26709e663f083b8f833c04c65b4653352bf00d0da1c6d24d78f6c7df45bbcd80619f0ea378036c57f87c0215c6166f2b5ff472a1388bcc37cffa55c4744cf69b4db3c4f32a62496d2ef9e6b8a370b64031ca8440c034fccb241f152334245ccab0e3ac9055de5b3ad3bd17a5dddec119736731a571cbbe87b6d40bec30ddd0df6db8caaed8f6da3a2a63832c7f83dabef7a8a40b0ed96bceb41b15dae6691b03b59710e1881a3fb378d20778c74def2a685031deeb5f4aa1d150ec527b64914e8d8d4e06c0e6a5cbccf9c96968b4e992269573feb8967b45d2f340ca60bdf989b4a8ab15c8de8aea86130555e52bfb89479be307e61f884e81f20eadd2d9d772b7edd3e967c9fefa6a638add3fbf448845e58ee0bfc01e858070e5a991236c05c4a26c617a69fb58e3d37616d4cbb1dfd896833afba5686588e48e616b7141c0f654cbb748740f4d07af3f3e45c5800c0196ff79b50089d12fbe10a5a4ef0272ff840502abda591139294bb4529d061da11a0f9ee3dc79389adf1c1cb763ce475b40db629b47cf5308cea9f8b2380e41c02981f326264f9979dbd76d2e8c9b4881fa775066a5f229f68c7a082c5d1db4c8a4607f04c264141396582de5715803ee06b8883a811eb4f6a5bf434ee0ee342e2cdd6dd59cae19e29e8a5a727b041d9643eee7b0eda31ee1464b86f999482875e810c97c42aad6ef1dece0f612d544495fb0bda63218f62b561515f11d839b677445516823ba5a88cc0fc80e06f4994319051bb9e9222944b128e4e00bd908a9328c8108bdb29f6bdefa2fe117ba10fdb4e7446a21776d916a44ed2e02bdd352c3bef36b5da7d7ff20d722d3c455036a1ea994f81b8a455b7b849ae11602e4f0fc2ff2e14bcfe50eafdb9297eae69a96b30173fa6b7a0c1fabcdd54a1edff6d3bd56ae172caabc60ee2cdff9d81f8103421c8a650c961a9f5f56adc511bc65402a7156e3406a21bf5371e71f7c377b0087a3b45f637376918b4e71e3b4e5ccd1532d8c4a98c824cb1b1fe41dd98e47b42da7beaf3cdc07a4d53879925f62efb5ffd80b3a9fb084f7623b2cb82df5c951cba7cddf1e2ea64bf04598f7d31acf1f973cc75bb7315865f49f9d8ad3a295c306fa13955cb25dd00a1e47d5249db02191a384d381af689e56b6815a612eedb83062bbdfb2ff8f85d134216fc0c21bdebe4b854648ba69c777a2e2c420a756879f43a1efa4dbba61cea294fbf2c511c6d4ce334a13a14c8c60d66a9581bfcf382e34628912caf9c74f2917555995fd8d8c3e0d9f82d9101cb385eaf1180aa5f022fbf02bf06971034dd2109ee26b06d5859519219d54eecc85f21f4a91e101a67988550f13ce95606f9bc930dc3a1c2578befd5c19a36a6ed19c3e95e14e17699ef353acfb475201af00917411d101d83dec5cc92c88c27f0da93f9489752d63907e52d0e1c73395b9685b11d9092c828e8e5ae02c49478ed8d99e197b46bcae8e4a48fd36c9811343a4d7d09e3abdb4c84a803f9a24873329564b9dac34fede4c84ffb63cba62f1607e8b238e2fdf5630ce7f2b8ef2371b3b0993de5c4eba405ed9e944c37b310ce8ea91a29902efd6ad543e590fd39ba70a36cd2fedc61bbddb4c9fcab0c1c9935ab6db2e92455b304d3b9a016df8beecdc5b85029afc20fc67f7a3351210dfee810e356f3e02653e911cf4fdf404c99cce980ad8a1f1ae6edca3083345237b54cc9b77c975149c9b24acd3031aa53d4e8824eba2fd3c07766ac8aedde41eed8469cb968f8afa16596aa3b2bad04997179546997675051f5b2130b1e7f89d25824f5b9693de080118fef7d868c879aa93c38ff0a7c003afbb68b2c2665a47f016cf46ff54b881c8b67920fb0fab3a32e8b5b2f14e842776fef31e4c0c3302849eb702e3e1bb365fd0841bf0348a5eb1e0f390bc681f0523f04fc6a97c690103d5100276e10aa632c3ae461820cd24b168471f1583f22967ce4047578e9a99f9e2a88b7ea63b9f6ca127cd6d94b949532a035d936c13f22a235f6639fc46b2ba000c1f66b729d3f09806257b5c36405a45a57b5cdca1cdd25a921567c9ca94740c07720314e08ff06194b28f8d86b4f727106a892f0f8a1f7348c9bcfb99280f14d7913d238a3f5bacbd07d443e69e4d8da8ec881c14728c82b64ead6f21b3400db58c8c3a749ab436e852aadb8a896793bd29f49cacde1355781687592834545d088e1f7b752886e41c026c46db5ed61f363c4e79c9f15a38c4e7fe0aa645766de7095a5f796b9a149d495db2a36af4776dc97cc1b5cf30dc1e76783c3078913cc0a5a87a502e579423468ca08caec2f60dc9beddbb94a698deb35231cec73213fdcbe9a03cc4ddbd140dd1dab44faecc334ac81fde927cafb86b78deb3dbf618946ba138fd85dddfd677b5478e7d1075478fc1630fba991a568361c3d155807351089aaea282b36dd07ba586610196aa53a524eb583479089833b576550e82143698379a079e3bd74c2279925094af2519cc648dca7e7ec6376c3682cab7b7db6065b0e6aeaadc31085d02c49fd04722a86e1f5185b599537899444bea209ffa980b73f882fe72d749bda96c50bb3786ad1cc72fc182a47eb5cc6bed3e7ee4e4e4536c22f0d777b3c4d42429178698e6c4b604b15128936d26736d43413dfbc3ef2a3a1e4e10e48a9c519c0e19de78e8af5de21056610dbfd0c2d55a43399a330bf7b7f5bd0d994b5553282fdf9320176e5cdee662477fdd0653b82996561b69bc52e21516f83710e5559412aaf2ba0e188aa35326d385814786d8807a07da0c36876a368d992577166448d54b2e5f80acf1d3b4bd58ad327e698eed0f79c3ebc5c1ca5f7fda9119ecd1e0517324e21cd55a2b41866691b13611305ffdf681799cd10bd66d21c1da979ee0632821922f70f36519c6f5a57379a2aa0a5d2c27dcd24d671668f66b19e6ae5c9eb31869fd26396e5dffd0dcc7ee93e14d03037b513000f5a1cbaa9324e157a94f4f4fc8d7aaf0194c7fbb783b25a17d2bb5fdfa8ebcb817ce4242eccde15e14f6a2ead5b7586806b24042ea60ea4d2292fa43f87d5400d8fe72acd4ea9211e8d531c629a4a742c21a1ca0b374972d011839a8c4461f4c4e0f5e6981c064dcc5531b07a50616c8a042c82172ae84c0fe365d614f587b1904442eea659257a1986f7df5e0e981c35c4e23bcecb226fb6a61600cab89969e2df6ff481ad214340d98fa80e973ca94c9743b5797d3e2e608e793fde32afdb31b95d6986aada831ad3470c4e1781cb69f0c65f26cbaaf7b30740d613c8c8b472b95021ae6c4ea376516a42aecd40c10301a59656ac752a5986c66671fbc5c7b1e20626df6d39b40bb05effa483230a0a1f2a3fbd32fd70fc96a2bdd33e5081cbf8e1c117f8ab5586e4d10e5c69168e274d6d25510ca17e13b1ce44edd104099b51c7d2fe6ae62e1602af814a52202d08f0c22885de97f673a14207b951254dfd38e6a08f97541b70d002958d12eeb31b52fa0fdc4734d642e86af14bbd34a11444f0fb073ddcb58b16381f766972face72dcb015b4486da19776af2475d53f79818a51c1fdf0206bfee3356b635d08a6c5aae599cd6fdac47f62c17afd3e11b948b1a333be2fdcedd056d1325479cde0b0550b96936e6a7285dca2b23400c98616118f4b0947e7024e22d5507c2be41e8b00da3271ef4e0ebee424f9806303dec77da127c73d39c79af0db59284d706b3367d6bbcc31a4c2e2b49538f900264aad1028453c3523a0b2d9c0e65e06f253221cfa625708f06e4587b01656c9e0d191ae70cd8ef8db83f79a6d6673c03599126614bfe7dfa3b1a7a82cc92f5d51c98191f0bffab78e9ecf60c9343d723ca879b3d4aa50507352a39bc1678b5b931768271a7442c74d60073255e15929bedb156b5300d76f06e24be27fc47339e1fe370c708b205d72b9eccd4463b5fa66fd5fed3762bd00db1f9878e0a0ab116255e8888f19e8da1b94ff70ce3c71b20ecdbdb46f80c188fe3dbbb5b38fb464b4e6d9db5790db4385b9f84f86116b006fb153f7e9672dffb89e7227ac3354293a4b0792f1566717fcbe98436873bac1c976a3c699fabc5c0d7b477aa9f133128af324a95a09ac798f3132cfa5a16d1dd850588aef0449c2456de9320235a260f60f5302bb42bff2f719e97e2da5c174c722556af6a4b36af86e8bfd32a346a2fc1cd0e95b88133377b4a792f18253575e30c1fbcde6a347914b4f4466da6056bd68e4c71ae44b5255fc47d73dd4e92c2890023ab693f333abb5523bb84fe177663ec401a7b6d089f6aacecb21de63469f1d336c40461066922d2868b91acdcb52ad523a7a68aba40e9205b22812496fd55a77747a98687c87d449432699b21dc79271729c0763ada66f2880069a989c0cf9586adea6621025faae129c4b9a58484caf37abc49aa5f29971daac89ee06a965fe516b6c916608f4935b0a0986f68dfb2f30e329a485e7accfdde656f65c87660136bfe42fb789f7dbebce796ec6630bdd5bd55c990c4318bad90742c2e5fb858ffc92d55d201a0ef0c5343e51f20a7d3a6b69460705386fbe3cd3eaa53745a03dccb9d9464c0dcccd7b58ebecdc3a154640305547b5669a4ef3688806f6f70ea2e93e055d18a379b7fa65aacc21d75d4a06b5a4e6297ca6c289d2457126b28d9fac04b1f396ac41234c59d0475773493d659c3ff803969aea4fa4453c957987f13bb15e18f79ac24c1456d37e36a101549330320a15013493f70f91df2366e25d3d39fe5ccd0962fdd25b121aa58abe9e2f996ab37fb6aeb28c00a5e92fbc2140564ebeec945b6569a1a776f2b29be8897847f4043440a16929508862bdc723568bad7ed20ef1bbb6b5a00636b77d9473d2c14e32008996dd52c7cc5009f697a855cfea60551378f803d6376ce22b654f1f80d81c26399282f8257614eae172543023eb240e3fb7fff84c42ab276dbb0355f1cfd6bdd1f0401b34e33f9e9f87b3ae6b1db761f9ad3e00af1ffacd1c85c14d4c427effbf3cd6606f5c723db89f2b209bd4b6b1fca0b4a66de41f661c292320551a5e506868dee444154bdeec731c1aba624813139721e523ce213358e57cf5218e1b7509e2fbc220790836ce9453eae6b2ca47230f87ef5e3da7bdc72b9e7a0dffb12c6b2323693f2506967c1645265c27de0535ba7486da15c7fe2530eca45670392ab8620147643f87aaa83ac234467b5d49739a309cb0eac2539e78030913ed4f8d2b90cbe5c40740257b5079dac6b861ad08528a18337e4b6bd977597c3afc4dcfa962917963a736bf0af6f8401c65d04b104368eda6a33e34736a485d66037a508fd646ff1c57d82b31a62f7c8e629a8ad24396894b7a29a1dd5010dca3bf99ba0639b2737746383293fc1a14195eac2bfe791137f5e463fb5086b3b2e817136d0701c562fa12fb3d4c349abffe2086cc815df5912885d0a16f258dcdd74a29f03e0f6275e0cb7d37517ef3a51e631752f75c4ba2dc1f7056ec9585fc6834372ca6ccc0e010be7dfa444fa33152f4138fa513e07e9e2ce52485f6b8f6b98bddb0de788dd8a3ba2d8edd54c2fbd3e5d013b9c00048e878895807499141ce9634954a6fc3c8fcaf0605a790c4aaf19fc201a6029d1edff0a1f9524db6c1ddf298c5a2b357c756f2c6fc5ff8e1470111699b046382b42fd3eb2cbfbfa875efc721b4629df2fb3eed05dbdaeb51ae224ada90acd57676c9ea2e08d85f8d3ff4733ce445242d510843c2e778b726d5143a8fd0023c5787b90076f9996264005c0853b8d46190ce28cdbb975a8a28391c69940bdd32105d588c9ab8692274362e6e48240cdea917a075c1b4676efd6297829168237c3922d3558a6b86e3942da0c003205a06f9a286d5e8e43477f84866a9aee0c99eecb8819d799fff6b92036092566ba72ab3c861a6dc5a424dcfec9dd71704360cdaf481a9a8aa2e6dee77d3bb845b1ce33605841be9789b7d047ba257b4a0aa5f7a140061dc9bd564ac0d789335ba01a96b61af1f35aa1a5f85ac76ab5cbae281481fe82339721faa66c61926bfd7566e4a742b86b748384f19d7994715d4ba3dc18909cde8e7afae2d47819801a309e06e8849c76eb100c984fffbadf70b4127c5d6ae260f6ab749360d6c3c1b89ce6643b33d64fcdf6c7df45bbcd80619f0ea378036c57f87c0215c6166f2b5ff472a1388bcc37cf27bd7460545c35cc167d5b4165898d648075a2038f28a158ab1df7a9481b0bb68c6c3285cd979f3eb6a031b1d1b0e0c5b410eba4edd6ca7ef911462832e0d49d363fd3bddaa5e4fe643b277694ef9e05d95f66a6932b0cfe4ede0ab385c77b2b78816a72ff05110948b9d84bbb2e2aadb4d4464fc6710ec0c18677df1ab80770604f169228896d4b36b410fb68b14fb6dd66ff01252fe88f36eb04157e8d601ab27fe74be6509a272fc20601b5d0bd0a0788f54523369ad2fbbde854dc7ffe84c9b90158ed86c13b1ace5d50c758c1ba1bba0a771762560f601056f3f9f8e6312c2b489498376ecad3978728271e6fe3e8ebd913ddeaf564af23870b46e43c19294d95e096d9a81fcaae02d429fd0e7c3581371c1d533a9ad89906caaddd9c4308ed81bbe80da3c8694adc051bebb42c1eba46b518f072539cd0fa828557092939385a0bc072b095fce1d7ceb81ba4c727bca08bca20b71fdb13642af122a7d470f8ca616f2e51106945f900780d2f181b0e48eff9cb842283a89aebe721e3ca644938c5c026d721bb826d0095b95a6a6a39eb77b49ae4030cba5f252c774f0a8ae33f1280c1c7b5aa9df1bb58eb8acfe64b34be693baeb0f6a4c4091cff5367378cabd7ca07902547976f39ec9372e0c4e028e9122621d305380f45c009d21f4939a9fd0ab238dc9c5f196651ad55a28901fae7ee3dd0c9332fcdaa2f4f5cbbfc97db4de0f984bb387ece7a14f391ee20f3c71bb6cf5e011b5b3e4b39f909f36bbda017cbbabfa833b9e3925531a4afc45e9b1970a861d6369d2ed71482db72ad082092c11165dc3f8294a8c71d38f790ca511bc898ff643ffcda3e875f8a0bf43e278f74d8d45e779d1a8a1f2bc06cea7f179bc45d1ab899c8e965e033a5e61bc7d5441d79a38f567fe629b622e433b6b9816dec76a156536fed071b9e6712172300ae2742d90cc3c3793efe4d804fb6d8a779dd7f749a97d8829d827b66c82fe1e1bd68e26e39d9ced7119b39f3e139cd0800f83eaea6e996bfbd22f1e69a4b88a3b6305f19dbda2f3ccfe75f12a630c0340c56d8675e378c6fdee2b535c17dd5da4a4db128bb1dfe726df22684d634182528bf1ea480d2c274c32f7d9cfd60936e6d2451d1523f7e5d428aae2c8006d5ccfb572057627cbfe2624320527f247434e910bcd3be7eb9ecbd0d6bc608b04eb85859e0066fa507d93d2b224d514eb64c44273a75cf46bcf556fd07ff5ff8dab39a91522f860068550d5b103d5c8fdcca0b8c5a8cdb6490514a898040820d3213c17b2ac014259ec872741ba5596418e236e674ca935d2e2f3ca728ccc606ebc80c2a7d0878bcd37431b2a0ffd33f17aef5d00f85ff89e861525972a39dc90ce66f7f5d710d1e215995dcae08b50b7aaf16424e819ec4b4c9f05aa003ce4ee6ddc08b21ae33a455f78ba4c73a530503e63e3c744ab52e1af7d073cbdd97eca5a2e512125c9db379bce0619139f32c3e781f8838559d2f3922813eea46dcc4328bd3dd19eb2fb90f8e949f552db358e5c96d83a3c9e83f5c25513e9afe61a5a088c15643adf0d79e74ce8be412a8824f2ff0d57a75da1c0812c8802f86749efcc79083c1c133b2e958b1e76884fec60af1c211c0e5397c3fec3f680b9d26e8216881d893d73c6fc4d7d6ae9a86c8e2b5f12c2f028f280a67d127dd92bcb7432c2ff9e8adfb18965865ec11f37f8fbbac0073273e157ee5260b17c7c6327971b43c38cde82c1b7ddc5ac173cfb01ecc600c52ec9d0e23a673575dd321d592966e7c6c8a37ee1f573339c70140110283a7e8e4ca2585001fe3f8b5ca67799331ccc43a03a229881f9f8db48d78fee364fcd1c8032cd44a6587d1e10bc253b8a5d0f7aca0e3f4969e79448af5b24e4111d344d895dff37a31397da62f2e115f061bf92e0d89773caf41e004eb62697838a116fb4ccff1ea936f4bf19c4ec8fd5a4ef059d6fc01b1fc8922797e4f1dc946ed159c2a23b3206ed897206b8902eb796c142ac724db8319da5db61aa69465771e5fd6dbae8f5aaecc9d2aadb067251e12f052c2e79890b93be3f2a76d6af9ed8f6e51f6cf1ccb810974c6566ab85dea48592d524fce773bf04ba47cd8822dc5714af7a8067dd71489fdadc66c81690efed6600e832ad5a138dc53f7d5881b0176cba8a2b606eb4d0a68a629ce565de87a53627b2e075bcc97cf0ac973d9c91c3bd70de1de6781e3bda32caf3754408887d5202be0bbaf365498d693662848cae468d4fb3a00280d9187932f8e48d8590dd66a0382eabda3de7937cb803658a4d5edb05951bb911fc5724b2f1ddbe8371ad7935d4bcfcff8301691f195cf7a615f02591acb0bdf32384b067f893a3090cfbd3e656765858a64644e0f62d465e9529185ddafd841c7335eade2dcb8e510a6f66a531f9c123bb7a65ad11e3279db3cfda65a0df2d52fa1ff170e2e63dca68be5ec79b84a94def6368304d38b448e5038319c894501a679318a794477e03cead06b8c8e8ba85a0312607082f551b13d198aa0816aee4b7bbd2a47121d7b47d514ed03cd7b5d1f879ff4a4eff3cebd570ad03346474930019fe466f9903cd337424f065dc6f3eb80be97ff078291a9b97d472477f441af72c6c793db0b166cfafd62c1499c640b1ea76c7f8056813eb2e5dcd6ada25943102cfd5590c7b792e65b96038c20f4bbdd7bc4e58a8e02be501673557c3c0963544c7b3891dc74ba5e0de4756b68d3a417cc81a1e478a0e03860b6b99ab95e6801143e3c98b73a21c8d9dc2fe77b5e0f1f8b326873c82d2ef9f2f74b8671c9cdd386ec34e7ab962671cb63880f57041359018e8fad0bda2baa8cd5482650274ff73b7c2151e84dfeb3c20547d7132048001c27ecb809520ab7701ee2f429fb4a1a5db0d71a636b04cc84f43e1314f0c8280aa64ca9e5cdce409e89b01ff16ab61c1e7677b673b95a6b2b0d0364642b8bb31f9989da7ae8e81d662de68c190332a7ed7c894d23819a7c81a56e295ed7b77113e41245c15ea3b8d82b9749d3c8b210c84358c8797738067c94858ab8560da66fe04856be12e15af2c43136691b7a37088ce08e8e265379612146885dbf83ad9c7d46cb15c1607801f8ee04d11a3d1094ba0d4821f02209dc5048bcf178c026cfe0a905f3557777a2eb938bffb002bc26efd6d38935e681c025d1971c462ca73763176faf778c3140532eefb45a226b18eedd821a1e5de5030cf5523fedac3631bd6a4ff412e14feb56a4d4433b305586f86092ea5aea4694aaf17fa744af0e0ffd6788ccae5b5791abcce02fb10fb24fae6abee0a3ce8a08cea70ee45daa141fdace6d12a6f268fd3f7fa3d13fc2e4c9891fc45feeb669cbeb76489fb1ddef497044f0499e4589294f6213df893fbdffff44d066d655b465221a8b2b88df440946bad18c69a4a60567b0d838efc6d1c63b60735ec1a75324147e24befcec336dcbccc43c440da83df5cf239953de01eab974535edde9d8997d3ba4c3abdc46fd61c5fb1e7aad2701d8f56634a3157d0c7eb8582922d2f152b9c59be7d2d2b6c3507eb622173bc4ab9dbcf1991c648402dd9d3006258c65f13409b52b029fef9b2ff6cbe141670de8662f53d0fe7e83f9d7ae7d093606f22e0e2311d26e8c9758783724c027a01fce90e3a054e2e0db2138b855eba6c81c342c68122f93b5a0c390941b404c35d01c6a4656bb96b3cbe424f21ef1b61d9ab25be3048e13c4c5a3d3b36836c23b671b0c4e1beb0d74238b79459a9592fd13ade1a2bb5b7da4120b050093389531e5c43cb4a70c9d003fe355e51516206de9970add1057706632b2628bf2b6cd4130b0c9c5f4d5f5e09e35e6a803ab002e68c8bba40ef851a4690017bfac94b9f142f94aae990d0304a2639284bc26d2863906fdecd26ce0794c0d6f00c7fb011987e328fd7d6357787d73d883d4fed3694ef6c9d8c0522b4dc77ffe93988a1403bd31a4abc10d69127371c5aa8c5e43b029c1b4473ea63c407b3179cc4916bac88c6c21c44b8818e63b5cbc7cf8988763dba308459983869472b89578b8af105280c352398b6ff1c5f24526f44fefc2e42cd5d468d32f65b90d5b9da586b435fbeddef6eb9337cb3272b4f92e44add46be25c44e519daa558470e2cad9bf2f926d2e1624305ccf5c5b7efd1dac6c0c1871be58dd43546381238216668abab5f575a093ddbc5b71cf8eab8712e1f6ac8b75a8209402036243dd9b09ca4a2166e859404ef91846209139c0de3e192735019d3de460a66c342503f3805422e111f6f328c9cad5170b132351be954932d2364975b32a1cc470b0033ae5ba11da2151f3f8844c6ec1922d0b28ed481dc56da763b57943a4da4754528e940801a024e9f95b05a3eab548e9da16bbbfb485be484314454f6b47a7766f15eb321439cef77c73ad54204858a508f7e37225618ad5adf9939463df621dd33b76585b4b772d455a545cd704393749d96d955021e9b1bad855ddf82745bc912bca331e273c82f390167b4ef46eab949de09eecc1e0295c76de707de9892ed2bc5678e5aaa5ff7bbff86b2cbf5f49874ce9162748b2a43851398f43f1cfcd95a40d0f4a59c72ca82e740606bd10bfaf61866821b163c536e755954275b39de82092db790eab5f89d37bb522268212d75cc9c798f643a95b18cb146802267338d37e8843e9c95093d51971e275a742ef8db39dfdaef0b896c4287507166344f2b51edcccd5f3bb5d0caf0e459135dfff83faee382d3e41031cc7d0316d4bcf466c927974acc0a253f1792d53af4f5888598ab303356f4041b995f13be121a608815763e1c1be79bbaff15d57beee97dc2067225a84b6d8800fcc7523007b31845950895c86042ec849905c510f5054c98056bb2fd026d28463f4317713bb36c073acd5dac662ddb5b47e4288baee87d9d59fa9f119152ff23b01cf5357ae3a203f560ba47550800c357ecbcef7a3721d065d8b0447d1de8617ee11c8c3a09ef35800deeb8089a2ad9d969b125ec03a5312b94cf4ba32ed3146c64085bee98d6304842b0de2c3e7587a1725149c01d66bcb63549308f3f1d73c694344fea0fae4d1a69e1ab883ed4038f82d2936c449d36aae0c23381bbfa843c004e450d7e7d3d5f916e3e985cdd7ead40a5c0ad1abe1871af25c9737b8d458515feceeaf927e41e904141411c3bea884e97ab611757ac00cd26db4bed938369a4280f4e0481f535e5fb3be1b05e3c92edfff0d170d9b5004f30d3dfad0e84f1a6fe26368364e6bf627d45143f62e308862fd3025993a563a64dbb230d9ad333597b7c7973402dde29aff7bfd1a23cca8583881421e9efe54deb34c106fabab4a29905a17ab4932843c14709ef01541ec0cf78ab96f5efb851428cebbed3aff631a044b9af96b4c8c2213e82e7a53d0a1ce985d897c4ba50623fa7ef757cece812a4da90ee071993bf021c9fe68ca109b780ca70e4892729c30dbfe0f1d3f94727056ad6a0e10165b51725203f2b2030691eafab382e7271e1110b032d9ccc90fb710c6b7253136d25f705a3cf15639b9f61e75c23b275a45cefdfd0c432be2acb1c32c20a1658b1da61fe0a8bbf24cdb3f3a2bf0ea32a3ace881c82b402c1fcc9f00cb899d8ae7326a553a2b38e85d331e3ff39f88cf9144a08baf3fd4e93efdf08ea46ef913691544cec5600fd4c4bab8e66c21b4e2d5b216d9bb64992a8583e785a1a017ceef541d5997fc6f20055d7c0eec6ce5fffe854760c4f45d47f5d465b6fb66ca8dc280820deeb95b97d6ef8f7913de266094862d1431f926b96e9c75a86726f7c83df431ec25073597fdd6750006a868bff94f97bcbb869e82c2c64e87a253b92647b735bca7cb6ae8b6d231c87fd364728a0ebe770d0302cb50fb8fafe5eafed563a68f52f2cc03c4fc27485949739c16b43657438e52ef68c7d9104f42677832b4e311f392576e6acd9147ad4dc6e6fd93f03e9472ca5aa8d5435347971e6f11d3b5838da33a52242efd3c1ae874d071b3f5e4f8b615bdc81521c22a81b217a9701feac923637c750ea6923d814cec8257025a820aea5b0758f5d917f6b3102f1ddb2f2e59db1c5449b0c26fd038df9da36fbffed2f7a2e18134282138bbf07d41d4e122d4099ce6efc8c0401330592f8ace2e3ccc93dc2c3b13b375fe109d109d8a4682abc5affbf55b1fc82d3eabfc6e96d2d9eaf6bf0081d0beb189a907e9a8c0dd3a43c2abc5bec0d6a79dd365ed71c63d90cd15db073f5a333b586d5fdb940ea20b5809e1c003da410432c024ecc0eedfbb8335b6fad8dc997b8659c99a90fe980e60682275da9cbda545340e9224afd9a3b7932b7f1348dd475fa9833fa2d250e71d4d2041e941bcaccae2efb1d7e6ca65c6b167d2bdba0e8493962ad3c5fbc1965b743ef24da7b94301c1a8d46fdeac9b1ab69601d98605737b928be490e8a053dce266acfbe9ab9290ec09d98a13d246fb39e3c08c16834aace0ea3cb9c8daaa893bc06570030f6d18a64fc5de8d347cab766e638b3125ed3a8e079d61adcd9fa875f8c610a0355fb34fdd11e8af3f403cbd61538095ca0f69f07a861271a23e2e1229b2f0438efd435d41d0bbc28c7006b25214a45f9a9037941e1825b2a5b18e5ca8027d19d9f004cef607f97795f743485860cd8083979867df0405b6ee30afaaa98e61848b2028a80aba1222664fd02750d0d91eac88df02df6e92ce19705afe276c61e8e7b03bb131afb980c79b1cd2d8a38c5c0eebcdcf192d51d2302e3e45078bac617cdd7fd956058cd36dbcdc9418ca84a8b807a7b09becddb546eef4cb436a4328a32d335515ae13e99edfa68f9d0dbcc8d14caab54c600307026d3c0506285777ba05d7795c8714540b9e39ae8027b6cdf1b203285b1534eb1090a4e5118c672e5594af9abae369fb26589e7b146fc6d8999dfefe0abaa863c023ab0688a7f60c78341c2b95d1f4d7b772b2c36ce2dd6ef196fd93ed1f1890e1b2a474808ed17fcbb6307bbeab3652665c07227aa7b499dbf2ac495d823be70ccf9d05a9f2f93bd1df869014e579e04bfaf7de3a1695b590d28c38f1b2d67016389510263639194b0d21e19da85bdf3dd698ab7f24744da3d3f126b71635a52c053659769106f888af28e91783e18d2999b6e26e5d3a21afd3b99e13b76f2fa4a34c9f38ad573e367151bcd0f976b923ad66c8b34f8460a08a6cac07fdb3ccb164a4866b9f56ae6c83683e2c650791af4ee9e9e168cb368595c33a904e58607599d35374e5ce9982970a3bfb85d0be4880b5a2c28b9854847a27ca5f9d7e0588b8185483f5bed18197d5b03325473833f3699bac43634cf0a0f69ff23c75172dd3ecc59ec1982c01e057927b34f6d6c88043799e103521383e138676b921d11c149f1f24d22292c25ca40c4b040111e60f475f5e0d0585e062735de31d3a20d9147a6e15c114a72d08a556e86ca34fe2e53b35bedcab95677f78748858dce4643d84d2663dd0da72851df73f24d54c58d3b40dbea9469af80ab6e72fbaa371720f3016568fc4376ecfa5d452ac99c122e2dc0491c52f9df1f4e012f407b87f4206b2f73fa27c4c3857f6dc45dd9facd742140aa44165e25c614f6e233ded3b4687f0d3442f79b8e1194a0ee74439797d71d44ff00edb4fd953b8044a4d468209223ac571f6bd2f4fdccc62137ea13c28fcbc8dc9c5506d76add5d23385dde9f2246422dfb7e5ad6f6d7e0a140fc5220c386cbdf19c34361c73e1f6615205d47086b0c4160f8352c1ee21d9bfa535edae020eedf53d99e86b6d36ac6b0399f9a60ca783f628a4c6d6d0ae21bff14b694d0c758461c2017220b71e95f2e889b98b16ebcd87dc39962b77e7cf2a91a3fac2e53a01465bb6a9c5c2443d21ead78325f46d461ecf9235c137efc325633bef19b878f680cfbe9b54ac54b85c23fd8906d58f51f636f2d5ab3edfba801af2d109839742c0f06c2cdff28da011ffbdd339d38e657dd7451afae9a762b74e40171f06134410fb1ad497fdf17a4d0ee64c7bbadb30cc889e05bda47480fcaef3f6e99a1ee3d8ba05b2a1066441d55539dfc0a25577f9d5da7a6eedfba9be0061f8f1622f25d9a20c5b0efc9c4e0722d00430546dda8af57a404f8854f01b929d8a2a9447f4cb48dddf5617e47859bceb271938853290044a2bf73ff4946c1c29036d6e008b496f4538ad51333d3a742247e3cfce6d1beb8e82ace1fd56c8cf5be486e0bd7a2bac1cb57189a68611b90a45c55fa37eb373a83435ea7acb62a5018c7c2ecc9a048047b2c23654bc0b39beb2db4ead8aeb614d08e2c5f57c7adb19951c2902ccc797ad90d9e004d98a282db55522a3f9ee2e7e3778f2e307c14e85d4d9482dc444f075627dfca85ee19edf31963ee02318135dfb4063b26bd28b5a9bfe89a9a6dbcd1e38d313e045e619374df1ce27e3725662d8dd2b8eddaacd52d8ff1569491e6c1b486b9aeffc854e2a2510e9175f868aa612f29a9856ed096b175218f94c0dfcd0ede29fc2c6b702a7304f60047bc969962f635ef0415042b9c17fda0da9283f694a05aa430aefb4d1d2b7568c8e6642329074377efcc3380124ae84eeb5fccb226b70fac560d1f3d22e555ad5a5366e6a9b99308a9c74daf26e1dcf6d69705c36480092fdfad59af66957a8416e5da7d7c334b9d49d81c409265a104658ccc9df6394bbbecb6a6c466842147b0fc87cae9579af1eb0005bb100dd64d6d1b8a6cbda7671216fb4af68b82d49f77ac6ad3e71b650d0f0d573fc734175a632d1d26eb16ebd668e4ed5d0dbb06567d0910910a4fa50c8b367081c5fd2497009dd7f985f82eeb191c10850859ec5fe0a9535e796586ef5fc317f6bd00c422017262f4f70b1fe05a98ab5cdce93b589b4a6eaf24148763fa2c665dd43e06a30a86ca035f7a43a0e7eca88bcaa7e396a196d0479a514e1098620b98a19d2bf4c8c1aed9ca3cd612a5b26d1743fb0dbe9e3d3c4d49a5a11c83ac285f82a7874e31ab6fbe28332e0779c87f2249c6dd4e37f896591fc31b510d04ae784f5dace8654ccdf1b00e42b65122e392da029a3de56189bfdd30cd0ff2db59e1986e72e09dacb072dc4d02d6d7da1d09cec35a9110678436c2e4d1dba5532d32f049d13be2037b5da9bf5f29d4565ce8c807db3cc906357ed091b7b9e0d1eec67658a319175815240484247c38669d05d7ce1b1d8cf7bcac0c295511fb32841cdf25eb6085aeef47e2ef37d578aefcfd91069d034e593590a16b522634be8be8554665cfa4a09e19572f037b7c7f634e57df74d2a7ec36205ad965950857cf2dd13a15dbdc62cda85f37ab01493ff7ebe7dc84e3ce77638f0ab454ecf84f67d11fb30fa3340ff3eab1f04be399262f7726cacc460c35890940a4b2cbbd70446c837a43bf87b90dc40ae34bf163ba5b468b24594a2769bfd5af0ac4cae1b287ae02fff9953e638fbeeff6efa4708eaee5d069af18f7f916cc25bac6ff8335f6b1f6f98fa318435c7deb43214f8ba9f8106d37aecec7f02efd236d25b24458f8a3ef4adfba9413989eae8031ac373faa353777b374e08bf70134ece6325a0861e6d852fc4c40289c5b77f1a3215a0ff2069bace28a6451eeb5d34081f141d134729b72e71f1572c35335a9bd8d55c79b9e0f42d6885b013d12e630668fd9da3ad7a9df3227e6eb0a531134d343abda07bdc504889667acdbc1e816f8c86b4aeb8fb68d9b8134e2a68ab8a478d5cea9364ebc30615c83a0258a64f0619966c4b07a6ebe8785c071e9bdbdec53f5b95c6cb417a5b20e0520b2b76a8aa699011cf82f7502d479ea6b2352eedad967e49e1e29011dcec53706222c3f99c909eadc23e9c77d75c85288a343485a469f7475d92befac39d8b705f2c64d2e945317d9928ce3a9ae57af52269724a51f7461e0216e42b9622a513b324635e28802d0694acbe2a87b5143c2e9f6e216d5879262c8907df055595c777c66e7d435a0fee0db6cf51025af9e7ecb09cb3bdb6479d3fc236f419a0a004dc0a9ee046ec113c03eea59173dd031c3f4c08a026fd164b1bead6dca9eb4f6b456d29bd703cf3234e72c9265d899f8329cba4d23d6dad14b81b515c8d88f0a30baa2b1e10c9077f9a3a34ef3f5675185927e23a3e3cde043f24b47182702107f7c3fe70e97018a96684297d5bbf5184b77ebe1dfa7ebe0022651c263b84d61e6cb7becd04cd3e78ae152bebf5a1159a1c0403bc2f51d5bf38363ee56075ed96330428bf42ef7224d2cfdcf6d4809be57578f5c18a52e8e411138a027c78cbc930146a96706d9786bda5c766282068ae59f49c643201b693c0efe5d0de900dd2ed3f1d11956dc3f4c598f71c1d528e9e89f174727fea3d0ae9d7b39d932ba2f74e47ddb3b09c7e8915478b3e7f4d2d7a5b2a68d4e63353e01fca5e55f48515762595d222afeaa5b5e4d50b3cc7667389c296c514d98b122c611b9692709e1beeff679f48f6bc13292000c435ee65f5395656099aa6c22e6a7467794c7b0f6b62fe992af7eb0c8918a5cb63d106de68a054120351c6c524149e144fe375e78d248ed8ea8136c0bee5eaad86ddf28277b7b22f12b8e457c814010d5ffc48359220414561f6d373fc6b88cb8e8d4504d947eaa16d31f9a97022c09d7ec4b02968858cf63c77402321f213bed0d1924cc2e84acd3f327f82304daa757312edecc612df9d25a795eb1883c0033c08f560406e3116372e2c37d909b0b2df2ab76240be749d9aa2299ae8e0e9c9c9c44c0125b179b48409e6bb649f06700cca0558376fbe4a34710ae9e36efc8d25fbec9d0d4610addd3fc26eb0ad2b5138335f9b45af7a3941087aa9254d3ef1431576e817707eb1bd762088e26af2c672ff529c671f1325f5f08e7db0bd24b11a0c01085fd5d71132e8cac8b4c040f4c5b336d4617b768cdc8e30a063d44c011b6f25aa4e67f4238d2b833202d27722682c685e916bb02f3162d41dc26224048a924b270e7a541850fae177cf347e6fdc4bea585ff34f573fffc20fd7c27533db5e6a0d22c3b32af105f286b7c92fc6e5e5aa2e5c5b812dd3f6da39396796fc34f0d5d3ea6649472220924f91c0c72bcdc476d5b64c4b4e767c290ad3e07e1ffde4e74e996da33074d70e4dde954d5ab4644dfce1cf43813d80a80fda5dadc3fa121c357bb4eb311b0d34cde49eeeff3fec1244dc14f4a97157eea9a76d816fd8ef814de5da85f73e6ffdd59960e1dc536fbf424a3bf50cbcb0c0775e162672e7c68e7e00c34a436c3dee469b99389ef598a93cd834200086e9981c6948cd664081c2fc703321fca26afcdd20fa9653e37b247fad327ffd46198724d58a7cf03e0f8392b85242c3c7984d15003d1365136eab56cb8b918d02383e03d12dc2727dad093596628a44fa77604b064a016bf1de09c335afe8ef3815e77ed0c04768e38be503727728051aa92b623c92e9f7cf0edf37ee8b1093d3406e319e1c50b69a660576f56684ca46f658a2f79dfecd3f4a13d75900fd2f9e0f932a4db3daa6f9daee89b8b995515435abd6dda845c6ff954df3f9c22294f03a08892c92577a393064a75702f2291af05e0976d29e2137b98977dc6f0b8f5b509e36fc4c7130b4a41cfd3dc10bef38753b32700a5cc909160630953c6d39825a63dd6cbef1f7ecca389c77a06dc4c79f989ba376870ac0aa59b48c18601101633fb1d7bd697dcff46d2b39290fc293587d052e4f7f943e4cfe50cf29b8afb3d9e09db75e1e9452e9aeba4f1c173a4284e74b5e9f58568c2feac022a3d99777fc898bdde1ae410a93694055741572fef68e207ea507f3a8ccc191c19b4a496d1aa0f486fd9c064862bc5018bebfaa463b76e50d3f9a58303d695686a309d30d2144dfe9210bd2f992f196207ff9879b59daceb9610ecba59b8d5167c1de85051a7723fa437662a591a39d278e65489cd4c90da2ce45e79deff6de213e07ce35810cf2f42dd61413ef78f258c4893fc0a303ff66522b41dcde5b505d4f27e42c890e7849f73c6e3ecc120d67ff4d9b3dce098fda61ce3cb3591e82c1d6c959f8ef8516caeb46858780163ac6739260a3fe0d0a98d66ec45c2ebbe0cfefa247c3d385ca64ca6abef863ea73c6be2656049410a7c9edaf4853b4a1e3a5d61ece5f4e941f5c5ba2f2f3fa5028789d766c80f50514ea6aeb5ec0b68afe9519a8ef81791a77988d371842869b3d7695b4263eb89cea357e7ee617663512473eb12a0410f46f925fc9bec0f1ecae57adfa48ed768a45048ebffb9798928ee0c50612ae226fe7b5730aa4f22d65832f9744f48644c2f670cb0a5edc2b35aa4cd75fddf01afd042a763457dde04170355b2b5b66167769849120a2ac204d28073ea7065484e4a6f5dbe3fb84fad525ff229b4559671be410d7d5e7511f614c0056c7f71d24afe4bec1ebcfd292455af11767505621e88b441af61e60cb2e294cf9a135ade659a52b5eb9398d5e4b5ffee136436cc8a0aae683c02e18b4ebf3bd39e0ddc8362227368ca40a46df8e4d8e02acfae146a81baa2b2428009db6e942687612db019f2e508e6a8e528c6667ffdfbb659c3d623a8c519c7ea1cb582eb11a196fdfbc0f97728acb84747c696b1f021e0240b1c9bbdb7706a88d57dc1172ab526098abe71b172fff9f0a1e8428cc87c71dd36caa95bbc412f2f207d1ff527f31a908c0300a06d581b6861eafcf1a70f9567ec2cc9d244f1239a65ccb4aa3044633996ae662dc42d72ab1f107a5a911ae776c653d953f8b0aa466abcf415f2d9061ed13898ead9fa7205bc7060ae0e86429fa6fbabb4cd74ad51c565df162755c8c1e1782967b59fc9c2a25ea0d7f4c56546f4c7c671133473ddbab4a0e3ad1906257ed0a6a373e7919298934053503b1843688a9680a61e2be63319a40df05ebae868780d35e66c60c77a3d54d9b4e860e3a619cb721f50d03606fa622c478e01ef69db6361d6fdac81c986813f365cf333bfdce097f6da64caaecff8ae9b3b182e434fad157355479ad98045354f7567cff1e7a09afe7363a6220e33b483042c4467fdde8ab76d9fb514ec5a272ca49690ba19eb04953b03164964701c2f560709c12953393f48f78c1270c7c13c2d42f0c98d7049259fad463162ec551c0de89cbc4b76a25be8c0443e0b140518b3f2f4a087bd6baeb6294b10ea07e168c3d95154ef26631a0afd0af0a21ef61dd3cbd501cb14dfaaf76e0b3cd1e0e97f180d9beec1e648395869f0f44c5fa16b6d95c0f8f849b7f99d15eb3b06aab7050e56f058896f0914e13fb3956e693909f967df365f2c1d16f85d93c491dbb5b1dfbce4a25cb1ebb14c46451d33c847a88e6656bc517889bcdab9459252beab91009450a6e28890251ad7328369da357723a070d1f5a2430efad1a4c524daac22a705d98f7dbdd1a8a54c5d9385f9bd189c12f6f5d79c146e3bcd290fa6c7791e76761f80dedef587b167e165f1498353ebe8f8f12bf50c2a1aa354e541ae78019da0278487e5904f00eaa4380e79df7f2df7476cad45a22975c6c3bf9c6f3e8b36ac6f61cfea82525b61fb6fde3ae12b60b4749cac77cb840dac12f210432da8f22465cdee1ac6dc4ef3a9ba7efd22de2cd8b04867831941911c8b11b9a0827115a7e7dc3f553ecea9b49cf96b7de634cffd6af8c1855db6d96effc136b164479bf17d1d98bad3e530e3c450480638ba9ea07031afcd8405b250329c47a8cb70035967daa99fccda6fe5c2f906de25af5483c1497bfa8c2875de2e7416e138840b6216e195283efe2c6cc630cc622d1875f08f026824e89878257b410b3e24568b043cf761ae1fb92c1983efecdba91081d7534726428c1bb44896158b99c99653b4e366066fc5d7271a824c27d2a5788983e7da7a832a59ded21826c1cceab2e11f847174fc79d2b5fb93e18e1663764d628b59a3d7005f139aa076b48088cf98eb9b7bbe2c0721cf04c1baa378ea1e45863a1745fa4a20dec1c0e118c6b913fed11f63bc0940523de2d6d7189b09d4d4ec9525695e170b547e9e3426e20a1fbd7d8ec492582e45b908c32a5d04fae099bb9758a2ade21ef0ad0ac5dbe632740a6acbb14d182969c1ca0c94a716bcb52060e6b95213027960705f20cfcecd556f733e9e4e3f114e4b24b62ee949368135a1e0738ce722fb476f0f60a64f743cee99559895abb6ee38c9b58bafdc914a5bd2995fa5f141602b3049568c9e81574ffc9f93472c2ca0e7e50b1f940188c56707322f580b33e8829600552379161cecbbb77e19208660c2ffb06b22df56b8afa6b19e400f11b450a732e1df7ae5376133d1dbac64907fb74628faa3aa03a8deec616cf500b2421c1771688480bb02e74c596574e0278d913bf5c8e6683705325e90d19c6416d12a105e262dc5b842e5fbefcae15274bb447f53739ea8b81ebb54a788e1e0d7d74b603e5aa4fbca6d57c4fd6f74c5d2decce5a36bbd2a2f54adbcae96e83bc4813a9c687c7ed450e65ca5ac4d70e49f56263e9bd69515dd72dd3a6903138f0bedc85512118ba9aa64709b41236d063cc4a375a0f19f0a7a9614e1a7368fb1843f568ba0a3e8ed803cec925d1de16cebc99a369525b2b44165c077a0c68e930f15797a6098769296cca6e5f87c78e2eb6b36498601a6c6a59fba41bb4ba96a98f52c0205b264c5c225aa432120f3c25c17c95d4c799dc659841aaafb9930aa8ba526ca3e94a76c6fc12211d147e9f058d90a78051654bca06dec7ab39f96ef4db137d6986b78b48b9284062da5d9ac1b40fea745be8514f97041343ee2906fefd8db5fc267f2a5be442293e335a85a5b92bfc22fb88f7066e6c0371f38622d99f9ad99fc5e45f1e83836fe6374451ad4faab5c93627e37109f9d5a0e186340cc87a6f4baa929d9c5dc1ca4a541563d56da285381ea665478e60012220d26cacad4c8493da4b58312acd9d99a1c20092d9d6c1ab4978186ed916ad473fafe692bdccaed56c349e22a50ad49250cf62b6945d5f3d303e49c44ad5c69e53698cd9c98da4d69afc822585a052acf544dedc423a4cb25295ed9d8d66d9e32a6441664cce72f76767f555ef707c8936a0e50f1a400a3adb1bcdb25d336646e3529afd66238d1acc298dbf9a624778ff517bb8e0554574e25bbffe4356376d8a072ec629f4b29801459107b2e5589310aa9337eb3fd5da8d531099e66dcb749630ddf11e5073a2d92f94af51d340f9e2d7c63fbc10f6a5802d84f548132754590615ec1d12ce6cfe0730f5f45918d9655da039456c0e34ab892b8fb02fd7bd513e9a53e41fb9f2f9dce405d591dcb58453bf10047d1fc89b3e01660d5d50ba04772069b02ff6b0d3bd74ba88ac551ce50c773ce3de997f17e7f5a41e84bb56a1b4b7f0931a7bbb515eb5292dde549d7303e546c7cf6a0c448c6008b84151a10a4ae427a57052742dc9bda6a84b6eca4bb2b7ccf6827902b9cf98805ecebd48312d0df35fe4417258f8b4302785508968ce7e5d5a249b4b0d7b5b25916fa2736917b22d35ecd8267c3b125ae109693589d5bd15253b82d807fa9bcf34e81550c264b4bdea8de14b8254135ac5eceac982b28b41fc973d074caf1827d04e1da511a2b243a0d6b144ebd94f3d2485c3dbdfe4c6b3c112f40ef1789e63781e48cd43f1b906893ec1e47a080467aa916e1f4a29488966d759d4261346d3ea7cdd485ff6df22d2345893003eebe92e85cada5668e3e4350c94d590b560a7b92dfebddfe427640f3236e6f5730c50a3e5bc22070367bf4b31d27210c3b87c56bf3c49ff91086f6f7f202df292d0a103f02234208b4e1cf400c6ea930891d8433666c96cc18dfb00456d8508aad617c6374d686e88eb4e41a4cdd13f9581b653ff1b6bbebf4a6178b413b9443766586ea44165fa1cfc8ee3640304b7c6797f2bb86bcdb9fbcb51824b4b0a9df5ca74e164b444a5b826f7a0b2441e7ab934e22313d4fe395fbece36f78bba1b4abd791bd4f761befe50f3ae7730e6cf7503ac2a35569d270555f344f67ddb695da0c026c25d22fb1cfbbc29df4667f5149fe46a847a87b36cf74bcf07dcd5432f3bdfbb3e3a8ddbfc6742e7597224658b9801da4e3faf494bf28d940673f527ab30eabcddbdb55674067108508e7b3452d75c4e0b1be52eeb4fe800e531986bf24032c6b8b148c667c51b9a70714ed74591281ac916951f1b28d94dc336aa640f2710fc038fdb5ed1931257259f174108d6095456f528b7f872442166a95369feade1abcf333ea68584e4d55162372828d1dd9421eca851b4c882bfb07ab11ef9f0303ab4051979a3fb844ef742ffd12c1c8948726dd33666941680b07b3a3be1c14520f603fe7012fa806e5ecd5a2e3e00bd73b94a9acc4dd8265a644f38d334721a8a1920932a2ce03bab9c1cae327a8f889eeb89c90f7d1ed46b2af90f1988373205e9e1633cd0eb7fa6a2c82544edde2afdc3baef6789067364a41544fa59ac4069341e1839a9d058958433e45aa0aef181185e3a3a9a44b9f54bd111b8b0f5840a0ecd59fb5ed21f39b12c01ae1d54bc7c21c8ad4cef510d91e921a2715ecea1bab0832626288dac84fb0377e3e62170b257dbf3ad20a55fb4d12de9d5c3e3dd6d14494508e7b7468dfe066f566a4eaf16136336a5a47a9706f51247d0d19e7524b81000c45805c94e3f85cef5c3aa3cb79820d8d27a8963332e6ff576a3a4dcfc0693b81bca49c72d4dc43e5fe9613ee578718b2100e091a0c442f0d7f54b5839dc463f20d7010f16cb6a55673589b15802a13a084757dcd0ddbc36315dffb9330ebd84db5f6e7834028758560b88308cf232152d514766449b0816a4b918ee6434d386009a26dafd1e4ce09042fbd039ee867a06d5ba64262cdd0b39e32213a2beee009ded43dd509f260364c9d000e7de1cd7c0dbb5f287493b28e18e65a8de7c949f0eb20d1ddadc450ff7dd02b117a65307edb0ca12a0e1adc52039495f203882d96584ccbf7409837cbb4aa8c6551cf6b2d5051a2f2bfd8e8f802b50e8b8cd26e5b337565d0ac233467864a93855a3650089ff302af2015f71ed9bfee09c09f25b3d994747c3ed96925fb20577b77a4f78b8eb9dae9c87429de94a7cef6b18ac47ebe5ba1b43a6e1225c59ea48812a5a0821f2b2e2b87afc04fb8f913e8c78ccb14d6130bfb86d455bbde4b0792d6ef8cdd019ba96c8c4c70a8e7c40836b106adade7c610562968ed8ba72e20d82f356d332532c9542ee2e3b5b4aa81306a64709c8764452f8ab979ddf1d00023cdf2a521508114f5d5cc65bf630cbda5712cfda0cd15c6e4e70a2cd941170f06c643f04fd6b99cedc27e193e75d6510227bae953f84ab50b35c84832e972e1ea0eda08f6ff6a6265a7bf284713de611adcf4ae7ec9299dae40ec79047275f8d90c37449539a56df8def159ff32345a44d470e9784a9b01c0564d4421f8384dcc2d997ad4c1b2c500b53b1096866f602823aad54d5dba2a439ad5cfb0889974c32aeda7d1cf9d5f5f44a4ce8e180c318cc969a156ba330ea9a990433f945a7311259afe3ce8a4f997f53172147205d12b3d0321e8eec17f230434359d52e4f17e223eff791e16b23ea8d409a5bac291ad160c9bb69b733179c855dc070941ab8abf7f229fe409be33002e59d48fa40a6786fbc220c6675b07245796a5ff46a201789e5cf4f18c39b7390b4bdf447556a1e9b6db00968dc29c767ee40ef281b349521c3190a9379191a4e8b17f5eb35dc92fb550ba87f4e4e3ba6682b7ebb175b2b06c1539101f01987ddc22cd818d7073809abdaa77efb592ba8400c89472d6914f4c20b182622c982e1bb4b5e17eb4cf2c328fb3b1298d40786218b0db36da3e4c3d91f61149c9af19438a93f10412f6d6727477476af7e21c816fc2e7795bc56c13528cebacf2a89b98e9289a8706ebc32744a3c0995e3e7b4dd49ae8ac115423763ee258d7c0da7d98796148b9f268b7865d77c195004c135312301d95592006d8156755647990516b274b9dfad9cf57a9c1206cac2d989e4b0be61b2f7d1669f7458303392bcebfd745348fb7a448d2f20af607d631387b916da766e02641e43a0d8d24288fec636ac70a8e113faf3919365de0b7d4cfc566cf5b9942e78053393f922da1546474a15d916433fd5aedf932be5f1b41f0dfb1f13800f20cdaef7687ed42ecabff05d6651175e851f56c5ce13cef694e4a3ebd7e5e8417f0e6067fff0977868ea8f85b2b0b64d9e7a9ae7f6c583a9840c0384fe1ec969d6f5370b58ec0699d79d0d035bbe54327408b476b1292149d88dce6d67f61f30385e64bace35b154fb8cfbab4207cb11e5764e58a1e9bb8a7f3c5cad51cf88b04181f76dc97b1896f5e294cdcbbecde6219082654115e4d1875884c28638658c66b4cd49dbb6899a365fa64b8821ac0ee5f9adb9235e1d829d9750717fff7e38c6e4e39d49a70db18ee7a0daf0d55fcbdf3610ede8ae05e8a97b39f9c568fd29d559958bb3b66101d1371aac25a9c899c0fda47b71d2d7bc93e0706d2d0b1921bd4c56608846ba3b57d75ffe78b6705cabf821d34a1242ea3242836ce902b9e4a5f4acf4a6575297dcd1713cb3fffcf04300773c5481ec160d3151146ef7d96be878396645373ae114fcac9aaed172e3d2168452096418b42278203c4f544c35aabab4b89c0af0b3414f6164c26786b98e7e6043d651c3da51919704d99018b857beb199572a82dab6f3ec97b6f5190dcd816ddfbde3459ecea7cdb4d2869b61c273ff01f841bc78cb310ff9c16d31977d73d1e6100ea32213aa4252d90ba70cfe6d32e04d02e2bf9a005bd53ff30a8bc5c2e5649fb50ebc52a8d3c2cd292b38834e1433bb01d525fa78cd3dd1b2a30e8688a4aab8f845c2df1dd0e9255f9c642a548c937fc3f1a0170d6bfcd97d55f3b155447f1411ad930e3a44a32ea5df2febbebc750260a5571885679f1e440df22532eb6f7c3c1a521e6e15dbb729b612568d1996561c85bc8696cd9a71d02e838711ee47390c9bd4010f7e187f75984a61c5348cec86809d3b7335c789a4e138b29a6ad16979b81a8fc84cd1f40ffa31001d1797c8e4dfe321332cca8c32d23789a86b972a46e1cd5b7ddf0fe5ea215006b6bf877ecbacade8767879dd562c1d12954da724494177dd2fa22a49b03863fd24b0284d882b7885704e9869710197162834a3ff21c62d9a9c97f2af0155e7481b8de25a9e9bc26fa623f2c216b44edb93a800eda217a3d5816632552b41bbaa923a316a122a0c16c3e72fa5b6f484d2307e9ec394c45210200d0f2a76d6e021c55d6054dd8c99e95c81724124df8b175729a767bc300d81870ed6f9b901cf4e412368ded7aecbd2cce680c03d89c5490b07419ac2229206508bfd4f45d2dfcad995375d8715f10202dc142ddeaf99c7323a6e0eee660d1d3c61b98489cc00b1684c071e565cd3b7188feaf06b902dd360836b77709bc8d4c528417a2a612f24b810c0eb060e88aaf2a0d8431551578c11fe9d7a65a780bd94f558560661260ed2677c8c5905171b0b8d870e2a7863bf2addabe019f1ff54592806e0b729e3cda3242f64501be3c601a5b3e9b9064c6b1b3ef74b03a9051b6aec5f65228a8acc39b7e473b4ceebe2bf37f5df064a42621fc9c4095fce203c8bf2d31c21501512be847d5758a48e54ba179b91803a2508ae8c034b9271773914322637fe80d60318543aa403704914c3a4113ef96996208571381806f83c8fba5a7e199b7896727403cd32dfd582444a07e287bab52ccf29963c2628f3541dd43e54853f6a0bbdef6773c4f5ec8cf2e4ea5cb8596e61da21f4d58c57a4ca055e521361a5f832b1c2315161860fcdf8be218b1519ebc96dd702f5e37c5ce66540484614c39c6b401780a493ee10ce5745312ec667998fb69fbf8a3ffed95a5458e926a7fb62ad5e58925ed5f6d6cbc800cb083a1f4a3365e91a1830d2ed8dd3e4f196eb76898457dcaff48f339da510196ffabe3689233fcb3849d150b36a6843b295a0dd5030fdd4078c942c596f4e27c47765e500ada061d99692def513c5cf50e632d9cbdd307448944bb06c6bec9fdcb8766d644e4c71867e76d30511111dbb1fe0a1525f1098b6cf4163825b9c2eaebd5563f87900faf2b200d02b87f104171db033ec9dc1d0b220b1a8886af87c9110522efd72eda7da300add731c1744725f1863af9fd391de70e731c67123bd486ebe7a3155519c4894f94ec96f310eb93cdc475eb1de36c3ffc2b9664e74e5ea7103040b2708b91f2d560f19939075442e2b008de3a5f324304a30c94452770dfd34fbb8fcc77a270d6f0779c984c1ece4ccbbdeabe88e544dbf5348900991d18477f223f5c70d602712c382a1254600769c255f4cd76bf83048780c6b837cd19ca7d3850a5f0454ca634eaf63ff06da9539c10ed49da532f1f7ded73eda753d9c4084c0a3e38e072a60f109e0292d7e970df787cbe7fad64ef41ea1a994c1b548f26399531ddbf35831b2fbff7ce8c999533542be44a806371dd94f9429bb27c241b37ba02442eda1301d83c28db8584309c0aaf7d0aa3c764552f27d9a1f2a4678c81a39eb40eac418254bb5064f1903634a7855c987a42315cf6547803fc6bab11d195bbd57d474f4738becbc13c65e049f1239da9edb54a9b984fdda737f2060114acc32b20ff495958edddff884ad4dac1c88730ee35b4747f9a5f72e2bce22ddf465da4b382f1d5dec2a1a4781c77a4190ff1186f12aaf8b4eb292f0a78ca50383b93d40b3707525db8b9c8a4d5c3cff78687eb70595b8a83f9425ea7d4d1fdd23ff4f62629901de28f7ba198fdca2725d8993316e0f7699987debe156fe0550a2edcc3be421ac9d1a8a48fa6fe66ea2851d066c5af28d7427b2f3dede0074f51cd554db3e5d5f06b2f961361950a68e463bfee18fc13eb90df6e679459a6bc8951273c15a1d24f796cb3654011ea20886acf2d232d3e6d15a27f0df9bb04889b695402d0c45b7ab196f2ec556d6a7e993567f113a627d89604f1155a17c9dce7baf578bc78bcb4cd66883f3b2a15e485a3574a07724762cb94c7d4c1ce7fba4a3984c38e9e2287c8c53dac4fadb73024f17d529b67c428f68ba23f09b8cae213a4fa83db6d26d0adc1878d827a3f1d31f879b4bb162ba1c38005c71eea8a55e69391ba6d447b732cc458d0d3bf54a54029579edd9214460acb5788839fbedd87056d73334af1383ea44521b7a80192018f8fd20ed1e68287871e556a70309d9fb42389e576eda674bb566795e2ce0805fd0ada4f4d3f4d4ad83ecec28cce97b44688bfc7f3ca3a014b913de95e220174fbe253ec1a8a0f67cc62cc83efa577ff72cf6ad23b95fa3ba26b461d55219b6886afd49632ca854238688ba0081b3061c4bc4e587b6746bf759be78b8e5074020366cbfb45c0d9a9f12c0879df948350ac8b6fd1fd6d3c4b678dba7d3a6b1b20e6a13dc25d078bb7263d392dcaf7854a6d39070143cb8da3a35f4b764ac779ff884fef7f2b6a70ce15c27fd96ca61f29143b64f51ac44a032eb75a97f3d6078d108d2d5ffb209164abd2988e67eba0f3cf60ed63708c3b3a0143a3d1dea48cb61cb80950ade512fe3d19179047385c74c6f98671dabbb5bf1f2c0ba0f1bf7566eafd561798fafc3426b29e35f898a0966106a25bafa6bef29189b0908d6e7b41fcfb6576068d283c618af4bc815513aea30945f4c7f30c82f8c17450ed7a97f3c33296dd748eef67ae1d09ac569da184df0b6c182a9fc71feecd3b2194904d05cc13d5866fd62a806936fc510c1924a65df64f66f361996b5a497fc2aa42cd05aab7cb8cd03ca33905bc4f77ad9b277a9a1df964284f9cb85477c451c9ffccf4f32965d4df653ff4fd0ae32e652aad3ccb3504b8d9bc3f86215d50db77dd769bd80a8ae7d97344c74ba70c2a839cff7ae942be2b149925e217e42ed331a6e4f15912c5e114ae8bfa1633bd1a6583bd70c5f49df0d7098116e9d9be1026cd3e15f33fdbad00f4ecebe245c36ac33b57d5c2d56e22d17dc9be91d1ea2a61d969dc7c6eee13abdb43906fbfac2a04931b30bd519d6071ee675b5f16fb69f8553b8515d874ccb756415e83d0c28a16eb3db2bb622c683dcad3da4cb2b8beaabc47c63b1ba7edfbe5e557ba4444c6541b056f898cd8676ae65496b9a2f13d83f81fac67befb13ee293f8a94170be7b5551ad95715510913ae2178c2cf55ed12b7348770b4fb1f87a184f6c28c415518b92acda27d75d66e1cafd67381e0ffa955210cef2509b51e54226488d7adb54a47dcf20eee51dca39e8b24bb5cdafcb557ec015dc1f5cf7673301378bade5ddd8f06190604aab30abd88be03c8a0140ccb5aa64f3391244574c8f9ecb67013029b62ed23822989e2f94ab37d05a1fe32b3465d267d5433bf25b489467175cf4d2f76ba10c2da1f34076c039d93b89160708256126b2609e845158c1779f5a3d42843d95674d993509f504bc5c53601d7df69c2680fc08d14e30c163f06af5d85690e08e58e2886178ea9612729cc025d2fb030c8d8ae8089a5dd4bbdd49318079b406c87c29a0de9211341506615f2f5a10a9c04f3145b3c5fc303f34ac35dea5b16b725403ab52e864fabcba324dc8d67abbdf8a55b349a763e6e87531cf882c77d978adac4749a81d9fe2017d107cff925e14213840e234fee9d3e870f4d230b02cd7ac92dd3651d194c770304c7cb28fbe8e28e27c84b9512079a8796256ffdcb7c536f598234f2094518c1327556181b4e0cb4345bd9fe0b2003e1bc87815eba699c554f9ceca591360d4288576a50fb652de8d7eda0049dc4140737d2cabee87959f4467226b4c52b857ea841337ff39296d04ca85f77b077cc061ce7e4fe25e10554ba0f17c85cc8158fce789cbe511550f9ebeef0e3cd96b8f74eacca1bbf9dd0c02ed3878654eb74c9047fdf367a17f4db3942b715f2076410c0af882d65c77c901c6c9cffff3295c3e94bd54e7584370b2ab1f26489d9a48f53972a2c160f496283eb0449b0bbf5398d649502cdf3d7842d2f1606adf6028d735ffb509d018d58d4f520f8a1324910650f2fecd0f05257b124b8172a5f5d4c99459cd340ed6a4e8c23ccc83fdee005c0dfbff6875e074f51c81c52108b568f0f5fee1787ff852bd1b0952a3845b2583115b1a5414a4dbe13469be58cb33af07d30b5ab69b74fb77d177d4b0b321a9ffc3bf7d2f746938276b58eb00e19954c4c81b5231a6d5038d377f27bf212a4aebb8d9f27f4481aeb8b2b0d280e5de38780f56fd7577116cc91f53d34f5166439ae1903d053b72b9e6ccbcfbec4906b5b233ed5b50d68055d5d679cbc1181759df3d9390d64b8647b4601b5ad3065318de37708cb7655bb4b0a307043da62c8eedd533f5fa6ac134c8c8454b88b50f8ba0707a6315d58b50309186dddf483331aabd63cb97ece323e9bd9c3f8cb3b198a73ce66777dfdcb415b9ed8baef405b3a99b966e2ce03f57eb87c7238ad3242c6290d02845bfdb10f6f67895e7e4724bafae599d2eef5b632ad399fba01a4726fcedecd8ed898ccc51ba1e1239a55e9be917947b23e0af6f501290768cb26382610ba8327297e6892d2c668ac73947738b194e556a7a84f47e7f21f6605ea2b820af29c69684602ca436e58deaa9d89d814dcb87030a4ffaf46ad197281f5e11a4205f344854c1b7c48fa2c97d980385ac44236cdf4230f716cc3ad4a464eb17fd10076a1aabc17362be4215a2375972587570ac9fc29da87ccadc0a077c37120bde29611cb7395ec38233975f562f470427e35ecdba5d8569a66926e3bdb6f24a75cf774e0a7f19fcfe48bb3e2b22a92156720360a5d4740d1cb98bdfca3104ca94f5ef765c27c939b4d607d252f4823823c9b25f8fad120d2871552ca42db63e2b227cf8d4b5177c460f1bcc1e9d91cca3ee7c907551f33626e86e5334ac6057e1fe9c9b14e0436de16d11e97f37ff8b1819bd1a895452311ca5dc1ba9fad5d7c0d00bc48f6520e604652c93faa573f840cf057da65eaa2ed010b439b114e1a8ba118f8c64a2caa3ad2f8af0c61306b5587dfeecb8c7df8ca9fe799af6f1c240bb8cd9bff80875f8dd4b049c2d3533206ccec58840e7e05720726f84681bb0c5781b64a08cc5443b76127930d3c8fb82b31ecd57a266073aa6890377c5e049265fcd4c14552eb6dda87332252bc8d5b8522f5ae94d0dca92d96146bee327f58ae5c02195dd33956a91997be6637d9da4323c82f9958044163ff8516d1c03a6364c1eb30a10140d4760c4ca378691b19043e69bee546ad434a23712afbd91839546f7c51d21129b1a8b307e1ba674d2edaf4580f39f2afd1045286f657e913d049a164fcaa86ea51be851a111e0354ce191f1f8a6647253c25c0c7def5c015a594f93fed99151a0d0f72330eb618ef7fd7bd7889b708b83338369d422ecd80a29b7ab32dd9285ae237ffe364764961c1a7f1d588253942fd59c3ee8bc168a74a04b11edda1ad103ab30cb41feba172369f016666c0df5efe57a9567be25ce66ef0520a7a4d23cd7b8071826614f966a5502a51096ac9f368eb50a766dfc7e1d27c2f3ab7b627a650a300838e5daf5bcb2721339c746b24c653659afa30f6e026ef6c3c6eba4d717a397f8c516772acd1a8b5faa224f6554597167405271774d69e231a4cf8164e5b05f5aab6456064532b573babad96b2fe54626f5cdf8db6f5dc4a0e708c0db80b9e8e597dcbf389ed56ee50bc1d042bb0a3c873ec1af14c165d3a0c4176a082b37031d0ebdfed2e71ba9e1e91839ae817a9365d4bf608bd7b4f1fe46021e69c50f7ddd7a9aad6b021ebb74c5b4cda751ae3658920ba198637ee00bf84e7821d74039b5f6d3c6e398b99be7e338e8b6dc1bb492597d770f990eadd4aad6b0296a45da4d2edccd3be3d17178a0fbab50fb4a275abc947d0df1ffa7f6b40c204a6be77053e2a208830e6d1523fa851394e12b5e39d378c04d659385fbea582984ad2bf64ae88d52235ebce67caf668d886f02d0ed6dc7387ef485f76a60605c4e2ce9040c1220887f0a379230416424c350a6e01739956a2469247817d218065bda04f27b61909745a873084288667fb12249613e32d04c9d868328309a9ab9fd1ac7358c49f9433dc3c92fb400f740d0d9888146835490546a33261a7f6af47541b243a799c9d6201732bf91b8d7e0d753ebff2d0825f1bd930401f8cb3ae321a104dd26a18f7989427303f3b2c173ce17ee42c0896248f7190d3351223c78e382087ab4572d8fa4628606329b5e7d6e276b5a64f84e3cad0a3ba41c8c02e68b150e4faaec726fb66f49d5c9ec0f11522a1c28128b519dd4dce1eedbeab3e9b276d6e1697e305df336aed17bf2b6825799daa2d05b03c7bd7ae247f1edfd17adec5ae64c2710355fb0eb693d897a48bda6bc6efb4645408fd8faab806ced1a2e30ab45dd3085d57350ea54f360c30fa171b03cb677df31a9641381280449322a7ad4cf2f73f1e0af2dce15836bbe060b3d4fb75fa63d0740c50f7bcada384607190b16a8fea8599fd39867bcc881bd48c87d45f6577a28384bcb5d094757b4a66afd62ff2a6c3a24a5796e059eebd7d0a3c8e1bbd7b11f47cf289cea82ade73c33ce9e08fad8d5b537e62268d153aee365e81fbeeb788850ebcdbe192eb4457c89dace75408f0c95174f594557d1a2778b584fb9f456cf784fd9d5a24555cf05d1858cf376a0450c5f9ca3dede939626ebfb30965c2c5811e115c6fbcb9a2475d4651fbe238e77018d945f7748f078d6ad9b56eeda10b32839743aa730f3a7d4439ff78fba5576d7b3ff846ea26eef3da89b9a9436790665bd4ea2f7f2ea8bb4a609c970b4976021c89fadd461c3c0062ebf171711e9f0d942372ea4ec62b0137e3e792dbf228e0b87709abff3355a5761217b2a72e122691924541d85d29ab306771158526c015d0a0bf7814af45fe6e907549ae9f763b5bedc695690401cd8cb7f59e4857de908714a3c0a63f8782e734050aaa218a46b785710004f3534e446354f5a1cae9776808cf61b6e9991f5190e1b1ec29730af46e489a2250c07b50dd09fc73c310ba1e9d8f4c76786bdcc79e763b5db52930f66d8a9b91ac9c5080ae9358c975a5f2cc98892ec4c35bc0c170ec0dac5f0e8c4ae7f06a9b2896445debae3e5be4de79844fa3a9630d1b28c8883f8e17e2222e0f60d33f9dc9fdefeae5a59f92623601ac9572c110f6dc8e6198e02cbb5c509a0ba4fbcf8bc687940b69d3078c1f2540c98dab7a019aac2ca841fd334181faddf619894f3aca055db653b11f23dd12d49ac28875896daf48e19e5dac46bb43b87ee66f4f45bab0b38116f4c26e6b117141ff08b7a60e6884763ea23922a201947b064f2fbd4b1696797b2fbe7ae81ac0a0bd8d93aa182d5bd367de1cbf83c8132ec0bfbdc3c7b3d1a227afd1a9e130b65b87ab94852b0f3c4a63c7a2573b90be2cd6bf110a41239693ab7a117a132b04061d06297db39cb714fd3fd24fefcd3004e83f7b66d11f0012fac814440949b5e1fb41aa1870a1cd72402bf964afd55efc469a465e2fb6fbba0f3d3221d72f74eeb856ce3e616d277eb7185f0a2caa4c7dedeff2515f65f26bc59378222a10feed257763efa1f1042c6c7922def1722c09fdbc537736f7c8adde8acc8bec72fadcafb509319b56dedabbf25505fe2b6e74dfe26060241b316d755425b5dc37a01ab85b54c176eb5486d6be276386c4fa4d17afa1bbfaffdf16183920f5826f75ced89d8e4291a87a25573cbf47523b62734709324050b8d3a03e8d8fe5a46200b06a91aa37d965e9f710b4d0bd8ecd2c102bebde6e30852a89c35773ae250f85f3b3f5ba177c589eec892b10f4f5718ca6c28ca0b6935db50a3ee1591d1318aaac31f0dc0eb149f2734edbdae4ec4ce18e3aaa446e3f48f88ac02254345bd74aa63e2e8514902b227347b277e5f2ca1b1b18c8a43f7fe721e9df4cf6b48f953a196d9f50318a41683d1debeaee723f10fc220cb2d4c6636e957ee5771a82f7b7eb7cb8f093d596df1be24abd24c6a30841202457d95ea3e48225292095ab865ae56e8dab94f716a612090a3d9318bbc40a76da89ae60f45df60fc3e7d3bad0503b560317ab1d8efe65d03ec03e7e7ac714f9a1846a36391754c5601bf095db8cec111ea5449b1586b2442705ee2a1e7ac39e6138a5190145c766a60da5c0b2179ed68c73ef5ce09538d446bd263ed112bebd028fe704b6104f72f8e95fedaea43fc489fa7dcadb43195c7a38fac32e02508149781e949c98ad1c8b79dc6cf39632e6d5a0552cac66e8e7cc61176c9456910d23172c0f646ba8a394d4025c73352b7712f2d81f9523bb552075bf14a7843e99518a8260887553cf20b3d788d515ac4138df53da50f42847d8431726cf0f6e380d357bf99fb84831c33fa8721c7ff7343e57429b73bc7c7d0fe0af857509500a5843b341155b92a8e7881764c1bbe40fc4fabc037dfce5ecc8eebf21a828f5a80f3f3fc2b0a81eb75cdc9124ffb21410b7881d149b7e599b8e8e81f47b34712a33099208941b1e3f3c290028c66d060e9d07a53d35d5644dc2d9b5defcdcddb82b8e883d877e328581fca6e24e97c8dd8752b003af16dc92e92dfd2054d4eaead81d6e01eb085acc30b947b8f56dcb16709a587e6f549e5e811e8b2a8c2323c6ac26bdd407ac436449d592e7b093778baa45116a242fb278c06c8b62d9c1dd5663d79d61233348afe51372223ec777a65df0a86fd1c1de0249d2ef42b4139f11cbb219632a47b7005e13a4ed4fa80f71123a151e949d61a301ad3bcd3bd90ca4bf88b5f0fa23b388f9e90588847c05a5e56071a3ef62134dce4b51cacb03675a1e76022387dc5c598839eb5daf6c47a49d839685f2781f00dba7cd66209f60483b1218d9dba88654aa39c3269c25fd6c7d0133530f4f8f266484c49917326f762ff9fab2e6b9174ed91f0b77e26731598445bb392d83cc85f0b5db45a6c8d984f33e5a94a332b7e0e388fd9888bdd9d37cef10509b9a560b35083726cbae8729674318d122310eea8cea037d97f4657949eb397367acb86abf3fdbae3e07eedbd9b055dd749cfecb21d92b6edfc945344036077ac2ee74e1f97a9a2dfc6fb72448e0d6668415440c43d8f63de01d81f8834a848c29b22ac66cdf2fd1b99926ede3a8726f9e634519df741c7f0703ed6cbba56102239f7ef18e9d29a02998745c8a26d1111e7a8b35355d1b0aa7a5f59c99e42b5492c41325af0af5df7eb0e56c6ce28f644af97a862344b9c0cdd89852c7412f86441ccf6fe115710f8c4a7d54868787d5f654ab470bac6e70dd9607b1fb0031f3c8bee7f70c9da8d753ffd60278dbf48bdc24e3422187358128382b65cfc73b56bc6c154a3193a05cb7d0e19edba468d5079095405f76faed19b927c6f0f1692ad7c0c10ee315d9b865ec9631a8fcc5ec330a67014b26621dba9d09af433ad9c23522c81a0b3529764d1307f71c145f3369f4f86102a18ce32a3f6fa80911e4cee67312188bbb141a25551c91969001629efa927a9ba0aabd36b10430d0d737dc3188bf8bae03dee05dd79bbdd261c38b1966391b17b96be3c164c863cb697c931154975d342544657fdfc3992e8447faf3d01d9ce9be17277d3f1ac48aec81bff7a5163390f0f318d1bf44f2826aecc82eb1b1dad1aaed197263ba87159505af700d6c23e6a4c5cae2d4ebda47969c1070c007ba0650a0d8d4e4b1d8b5d1ad864dc42472829916c0b59f453f39aa1f66a4c5dcb9fea29467b82364abd5d69d5eb41532af7f5f72ea38037566d1c2051782dd9adf83e85bafd3414f13a40a2f9b8574af1b450873f3e8b43877d51dec7371b4a2efdb43e92501c0073eb01ddea86de9fccacd11497c80a79d5d6ffea647cc611dbb0cb14314108392575ee2355a679b50a75c4afb6ee064e150723e1d1b7481991ec7d6a5e9c69ad6f8e48731975514b98cf3b0a8925e97a084eaecb0e74a8e9ee86925331ef544408c5d0bcfe7c274365f4205a3f50aa92470fe8500ce3e8cca7ec3b9cb874c4d86997ce02e8176e833445ce4338c4e692ac9446888bcedcd3a8beb1c5d57abc50f987dbff91987bf866b1be5e033c46165dfbef4895065893789c425bbd2c13a35b4b24017d213a195e546110356f7ef81ddda8400dbf1402fb162091438c70904739090ec152ddc31c5f1a13b54236d38ab7d83086a7c872aa1e34937064a30e05e56adf0a91234e4c8ddb57146794347b068743bc6660a41a7da9178d67b588d263658e0c611f9806bfff9f0446a5986c8df6ebaff9ccd314343d31b4e6dc4a99df7123a07a057d423956f8913b193bfe3cd60fffd2678b7c14d7e5b542d6ebc644d40ac50b886becbbd3cb7e8c435de57dbdb1ba0e86bb1312bdaf5f6ec8e1bf2f2504efc61e2b0730846c793010224e4525ebf2cf17cca104ef8f66ac2366f50698210b336b0c72a07193d61fbca782969e06b5b780208af4c627096970b9bbc55fba250c5016975e7092d6d0beeb05d7cf3df6375b682f2354d0058b47e9d8772c5a7a9b33d2e495751636cf755af62e1d444cf5611faf988931e02d5fc1180508d275c7bd5dbc0a2817c57149f33589ae0393dca4db62880db5f5c7735b5002e496b5aabeffa7b5dba12a3925d6e5cf72f92a139913c1b46c39d9983f589eb452e73b17f9d7f354b6ad5665085533c91efe4ed606f63498dde3a068f5036282757160c7821dec9c58ee185efaca9d5966d29d1a989a74f0152b58761d9474df93401ce4559f26bfc7bc00c6cb018498e910b83935a378cd9c174bee691f88630cc43cfb9690915d4e9688bde85216e71a732bd7667234b2d8470b6129fdc5a4b794ebdedc9ac1447fa2e42595508a2501e1c55cf154cc415718605e184246e36f29d659411302606b95bb9cb2ff71d47eacd94ca1c70bf9042bf58b85a841808fe6aa6fe2ffaec151462a38b6b6edcdd53072935be7710bab2b12e891bf11a3a12b3d722d4e15dc57adaf9f25d3be7fd1d6bb6fdf925ceb41f5433e000bb0ea71ed3685ba9462548370e32a8e7277ba29cee1bb164a420e5e97f2c9a9358f904e15660e201fb39f7aea4f0b2cf43633f4d7e6828f6b155de8e981bc16b3063a9d9bba4defc47dc3933fc0b31e9776ec9009a4a15200a7ff6aefb1699829d8f0566f75b3b9f5783775ef2071e2afd35f8484d988f70f82d3524b75d581539ac420f47799417df912d32479d2bdfac8579c99fdbb5def286918dbb0fecadbcbc337bf092c90aeb4bbef611c24f932ee01c8406a5eb2de6dae2f80478c9219cffcaa503693562eecb7a3e84b1d9e3a26146fe7d438100ce6b2fefc48ee22eae9cb3b6ffbcee9097bea444cf0b85a7080597aed33c68a84f7ad691f6487899090b786ae2a35ca2bcb61f08dbd77f527caabfe55f7d193b90c528a36abb7a2d7f0dbfa9478f59139308557205d49721b1730aabc4cf60a45131384637834c4a0634347fe8a1d84fcbff01ac6f3cc7be7435e72c2def012e2a36e1471e815e47ce0cd2926027244b01176e9fa1812481a014b713e109fcc9573682c7250aba288db0c3e351c9d2b76356011675d565684499e5cce808a06a25b74c9a015ceef8c14393be4328af4b742e42ce7212d69f1bd2bae214e19b35c1e637c768f277abb04ce899e457a53296e5fd17b15fb711632a30759f207e62c95432837fe6ae63f1c181e2d620948ea6340943f7937c1a59e5c2b8cf73edfbfec961137304de6c9b449283d685f89895c58d109d2ee77f1f493480e52f3e353c6f43404b5805b1abc2eb2328f1c331f2d4c463cf899deccb00aa19db50899172ff6a301edb33c637c3ceb918f820808371a922258747c20eeaea2492c1c3ff9455b5cd18147703b6ddc075c05c8bd823c08fd7619458aa7041e350f4937636ad5bf36997599473ea0d5471840b742a898d8a2f84d105b0d7aa0426feba3a69c994806f25656414c7976dcaa57be712b8e6ecf75c6dbecfa1836f522799584237831d8f87b729a55858d074a831681ce7cc7d974b0d9f350e24ee10a14ef6754c09eba48881609ad09f430f27dc88ae075dce07639d5d51d4ecd8b1f3c91eb734cc147b5f0787d2c4a44908afcd4a31b2cc6e4172037afe0929dded1527d596fa4eaf7741e28fe93a74f3fbc3463052e3a4147f93411c8dabece060b0c14b4d3bc2c651200c852e6ae45bd86f71c1fc5ca54306689ae7dfb2f82de154e17452949f5f872ec7102db9143ed25adef04b171bfdd707582dd68b5984076ef53740637423af1c39b8187caa3d722df270c972a27af0294efef3670c40423b0c5e9fd109d2d5ce56b770393af04f73c37ddd1b1e6ddd002db0bebc7d3d9c50328530ce59d0304ca9eec3d41280b2d89cf8ad54398371c9c14aa7586c30875266c8e2e8d8c02e7a84d17796cd974819c6b4a61b4bc31456e4b2b1b79d8a9f21c53e5c3485f6f28133611f3ad1ef304652a57a8e8f8696b13271783b99f7242c4ec6814627dd3379fcd846b5e5180e81d36b5e12bbb991b8c7516626419117b97035304d76dda2fad8a43dd251b9a7a2a5a6d824a4c7007aa13e1ac38e6e1b768590f99a7e601a6e4f9526d383409bbc2055378c0169f547b9b6e74d041fd83704d2100c4ffbb865646ae8e6485866a25d47288cece0439f8eafd41bfcefd7ca23e58d1b4e74b34cc3449a22e6c6a90c8eee24c2fe9a31372808e912f20206f74f74815ae0dac51622c47a74dbf40bf33253becdf3b6efbe46362637c9b5e19c84be2f67394a27371fecd49e6e937a631a4c82398b82b8ee41c698f4dfc11010e7dd53665a15e3c8e3edf3a24dd0fe673e92abf97e877d57f6cd0083926a581fe24d67cc63ec5bf76196cb2b73b41902ee555865dc225c6ef1d3aa59f7846dcabf18722ea67f962358ae68e1382ed860b21d62bffe5bb190f0cb4c26d9c5f4255631835a6e4ad01bcd2856f33f9c8e83ae805c0345e9d96ac24e92d71d80911af162eed4120729d4b3fb84b6c2653a65ed9cfe3f15921e85e589fe8853abca7b8a8eb8afa8ff67bda1e8b3782e3817e42ff06eb5427b6453c8aea475b86fff9c6a4c37821c5cb6325ce88ce4c5ad189167ff35d114657ae5a1291f6e067fdc3b39bf2821b0ef37f2efd57eb35262fd172f9e22639565885b53795939221747f75400382b66c3b9da081a3179cbc3090e46713f67e0c7bc3b4b676568c6e86448a3bb3ea7773535fa58b762b86b26d9af1a055b68a0e204426ce8f76801257c1d73600ece26a3ffa518419bfd86945124753379d9826b8bcab6cc183da2c3b895ec584be9adac15e0113895be876f9f0def754d08a81ad93f26c76932c413b2d76566e93b4541aac6404908890d4429769ef67d086e68a88bdc8a01b726cd59f920cd5d5f9bab015740512b4e1db52ea6756dc605759acda984565aeb840573224407c06ca424f0967e66b839b31c61978005e13b10d9e0b51bfe6a077094ca94a9d9af8a46031dc2b3265ffe53c339546a325af87dc372d0f113bd3b725b5bc72dd6b68c27f25b6810a97dadb8a140a878a082e48808caa49191984274b0efb5f760413158747d88232191ac9338d47bbcf74795e90e7cbdb516b7cd9e4f25c136fef6073e206ae205b79320ff41d92cb47b023e98baf45a4e76ff8ae6c09fd7c8dc3215ee3072aceb164c61e9e15a96a8f43ba0d8db5f94cb6993a6c190dab703c6d116d0b61a356fa1e2bbb1d44cf004bdd754268bd697ad54f10e1cdf088155c55b97578f591a7355e5f97a1ade88899c20a6848c218da31b560cb19202a087641c736d57af9fbd99dd7a859406ae1f2a579cb8fa5df4644e374cd5f817dfaf448078ba43fa89d3a5683e5d1cdcd0edd0520e4f8aef7c8c5fc4b5f7aaae4be700af3138ecb5ff986192f7f436a288a28b1e63502a0e6d461a7862079ec64af8bb50c44aa23878d60987e7d109eda24e162c8be8dae9a88460b178707b7a206dfefb3c733d7d27ff35301005b9624320c2d830292f6d218ebb1971c652c39999f5496b54580b29c6866ed5403b09537693bc687a351e54c8837cd729e8f35a53420c0e69714029c067c545ae021455b01b5f2c29eb8cc7fb06fcbde46197feb7e560baac1ad71f5c1b2e3cd0a9c3268c93b5e588cee0ea0981976d66ac7e76d26e1a922e58ffdd6953f4f5aacc5e8c5ec0dbc63ee941185ef81d3227c5d1e37b2d0f762181bbef63a58d2e800462819a329358fdfa4fe78ee30361d093e2aaaa2dd9667117153ff3b28f73b2b5befc24656332e5058578281e5b62b39fc5739543f07ebdb2ee26ab5b0effbe8b9f24ff5fdff38532ebc12e326babb4723224ec60d638378ebbacc56d9ded5bc65eb289bc863bf0e7eb8479bcb2a0be41597f2c8be528448488714dab6c65e13487eee719cf18e65ab45d31b76c30fdd9e152fab3ff139e668d93d1c0f864053d2c27f93de5a02699f19de0d3ae42f130d5564949be0e8b9f8a9efe957f2a15793888fbfbdfb73a3a22d2193aeacc78d915c1726e0ae494d9371315af246f08ed65b9dfbf3d9304acc688e56d24d043e7c273398308221327d101e19cddbcc1868552c8a1ef0fb22d9e6fd8fc1d8de24c6aa26bbba539628f3d898570a51e0942405df74a1e22606ffa353db577796a753516e78e61979ead17347d8c5792a4ab67d6cf0929ddb0703a95f1b46a92fa809bd92ef3478112b1a9e4b20efb460b6438c03def9f55eb5f778639b13e5c96258e28fef47c4a16dd7cf0ba0963c4ee1ccf0e41568f983c0f05773caf4859b07c39784f86e131ed5c9a823004f3473bc2956617e4ba29d409cdd4ae134ec20b1fe1b57f86e3af858464182ecfe3034d4257fea4770e2dc1d779d461692b85508bde2a9657d37f5ce77fe21445ae4ab9bf9b29acb58b971c3aaeefb1c2d0413d9e4f2c2fcbd9325f9281a1af7a626d65a0f23cc4aa39a188e7a46dfa19cfbd5058fee50e9838f786b538169ce4a1bee225b79b56558079ada1ebf2805223be551127732031737ca6777e5b2e06352d11e5c84c6cfb2844a4c4abd5de0ffe22a1f200442a707be629494599a9f724c6bb5887068f917660181f34fb90f0fc8c479ef187902272380f6c30b99adba196065f77fbbe4bd404f16c570da988a3fb184f0017d520d8974548ffed17c4f13282fcb964180c0d78b67f4dce23bed81d423eec2b880d836d88113f45479ad5d41eb216c4251b2965c70e6289175f26719e79eb0181932caa36281dc768aa5ea1023d0527febd859f2b86055e02d9a1b2c2cb4f7bb3a6e4fa334159d602813266b2561c37b67ef57f27327302fec5a086f8982794fae20a20f1afd321b51c63951360ce975ccc235d415a69c93f6421348e75ab091dcddc4b25e0abb884baf75cc4ab1500dfc088c04a7703d931d3ae214a5c2b77adac2eed6dfdffdcdaa9f0772f201174233a9025be2d0a33f00a44d84e187e54a4a2ab2cd2fa6ddc7fe1cc6f97166a8e6fc3f0431d7c9ddc7269f4d9a9f9f33138075d279c177ebf981e84a965f912a124a510b904c0ee310773369ea16dd64fd694485e30860b7a17c4b25a4caeeed4c12f4ba89078585f79dcd3a1631f048f36c3a12306892d2429753fb473c95cb9a63d0a638b096569b7ec75b58122fb74e1e4e1e950ec3b7585faf4ec4758fefcdc6053876102abd4cd3d201cfc7c007eb5d7d0e14afa4c932f852563a1e9499c40e733f2bbbb63dd009752e76374c41726676d25b1b39c99fa3700ae9cddcea491e68e9b2480a25437f49b44c618ff1ef89545b3d7910e9d13f765cb1665a49d0be40470d48b6c4a2bb43ca2b8a50cb15c01eb22c75b1070c6e1335571b37c3e3a3a6a350da8ec53c1ca087fac95a7367fa8fcb0668aa0f2dc6a10132f0331957af5b40b8f5add3707363f1ce87f83e5bdcbac4e0de046cc177ce8072e57e7de41ec80b6910f5486577870694751f747043a57065d16309cfe74e7ed4dd5fffecb2c97b9df360baa12d4b4bfabafc96eb6b32767b9f325885c856e7d6c11b1dcb16f2105770f7a57459f3fd41c251911e334a63043f7d7f5ab0b62077431afddca223979364accd5eee92f1839b495fcb8591cb484c201259b05d4a03a775b884a0e19984d998f8d5b678968b28b8fee186f9dba374d77bdea629c99465844876c8acfa6b29f6f60ac6d4f9cd0ee8b3b0b61850460edf83b8480cf1bc2ef408c33ab7acfcc5e5540bea087f44fb63fa68bdd68542cdeadc861e24cd836bcf0b5f817a774645e6299a80c7316a2517b4045eabb51ac35fab5ff40842c8c8c8bf71b7ce63b44e7292f3899649466f1a143cfce449107f67bb036d237ee898e19c8b11a529ffaf926b0d5d7beb0873ad980d0bd958d5a47006c5ece6ebfe86f72010af2fde32606ae100525ac6e3b6c7f987d8a34a02ec32826f09d91fd02599e561feaac1c348e65ae520a77ce03d8ff33980492115e15d44571e53dbd186c219bd2c0503c471e618a9603972552c3e323f083c2b36520ee830f83febc66d41cba678238f1e3fb9f5b73639bdba20a8e128c8de28da6b3daaae0bffc6a7a5da6259cdac66ebf2a4ce3c5f0e591a1796dc1473266c6c9439095bbdf33b4c2ec6ff386216b6b1531e0f2f2c66fc41de049188a8de5ea8dac9fb214c2c3c1123b948ba32fa4c5dbc3b0fd42c06b7470b953733f7c6a076760eaa1a0616c39d7fe55396e081186a2ed5cce9b6e7b761ba4534d73aa1ac6caaa9bc0b9fa41b2943780db444e1c38700a7b43c6543f444fc97ae7105e0301b32f8a9d066e2be8f85b2d275f0f94bb07a6a36b14e29807bd9ab0772001b9246467695e63e9c10ceef2af0aa0b43dcb69b5310edea08d5e4fadd63cd280a590847764ec68fb59c78aefcb1df4d7e1f3dc70db0421bc87bdc891c2b3d046baed66bebcf1ef03172a46b6f4ef7ad65bee74b614bdd29745943b5e11894ca91794fb4044e6e2653bb02f5a2a9cb0aa2623ba550a999bce936d348755263a62542eb9b2714d4baec901fc49833d7ac5211a181cd50145f8b555cc01b27dc5b8d7cf272d6a20249523fc1e06242be9dac35efef082d7217b5fa54808626e1d3b8b97e3506c01b90c6fbdda832241df6fc0d0e0240da9659d4695cd1c6b5e16f141334e2957a02e8dd090d5841ad90f3bccce2d594536fce5ace7db6c73f46e610e9d09336a10dfdaab3ea8686acec6d0617a276249e58bfa510fed39f1e748d1e83cbf020c6f01dd7a8316d3c9ab264baae4b78407ad0ef3b4d81fb0d921352478d17718212b046628a95b9d35cb81abe605bc76d2d1e3f7adac5962ae5eb1ab44fa7787cb25048570dc02802d4327437b0d2ba13bc729cf2c19712fee9462940b10f6deb0e70ea60dfffab304b61b80a556f6e99fd732873b930a032d56b69e53be6890c079c44ae2450a90000befd9eded5825af6fec44f3e415cae58695ed9f187c7308be52f8f8b5cd385b4161e0df586d800cd78f6cac36bdb73fe93175e07abac3cc35dd46a0a5b2f22951d19727ce56303fa12773856405bdc756b57f190747d033e18d97e9e0cd3677e0668f77cc8b3f67c43e84459c74ae38e900288c7e2eae2b03a7432038659aed6dd61a2912e94a9f0b08ad7b360052be679153ed3e0219d7af74df697821b370b562d3cd2a1a570fd8d3d65c411887c70e61320a75e19537fb94faa703fed45f1e6938e363573456d72cfc4782d838fdabc6a73dae338e416778832fed83305c213a55423c86084dd54781451dfaab19a0c8faf1a137e7549ec6dca8a748af4a065dd88fa421ce35f04c91d4ee04a651ea9dbfabde7970190ac6c50b843909fa46fbe0c0673daf2de7247e8af20c756c55036f6fc8f62f8334838ba290ed021f8a6055a7164567cc8b9b6aed18da6d6085e9e55a4c7a9c654779131a4424ce71a6d6ab65a14d7894dca9c6d3ab2236fc03a8b94bddca29479fd712070ff22eacc840c9df54f7e455f2bd6496cc2fff83d2d85bf8cb9b5f4bc4b1a91de80b5186ffec8f663e9a42bea1ca80a47ac6361e166c860b481b6779ec29a08cc7f99671df63d8c65f2c38fb51a9fff86410d25c31ad2a5697965631ca449b7f5707701fd4126f23c8929d0bb4cf7f0ddb00c18dc4567f22f402b1565a1c8b99b527fff544c244efc8c08f9e36bf86b6c61c65118c70b7a12ffa8514b3fb2eef3edd59d226f3242308ae61b59bdd858d36d8d18a71fb103f908e4b6b65f51bf8b1a866bd7d7aa2a9fa05de5869755374dcc445b22fd9508b7ad5b0589b3cccb7d63cdc234dd88ebcdf9bc6f4cbbbc488b60f44706c89942754e7f6b4ef6808e96051b1631843f68c9d201ecc033b377f6a82199c178a18ece34ecec728eabad358086b309ef8345b7229e9f7600f60d79d1172a759327aaa15e32f18238c0dc59062267d17da837251d8942892a2b045ef3429a986ce4527942b8823f6a258bca389f0723621cf0447cc4d30306beca7ab6089d9e29d687c36f0800b434da309989821bcc14f2abf63969d57f74ee57680e9b1f285bdbdcfa8da2d9f700e5d5303f9c7749d8c9cf075a390e4825fcbec7e8d9b12324c8e072ae593242c5da3836b8bd3aad76c4abd4dcb85cc7c4396323fb4b305c8b00792b6284907d0f63bf99e1750ff82d67318f23222de8eff713a8cca205e0a0299696b40d0fd5420d72fdfb5674207a4f5e7f08e0ce822505867019a608a870f88487aca4ebbf73c7d5477c0f1fac4176f2c4c596bc64775fc9640b7c169ab853314b5e98af3273f8af301936d481381923d748e82a9464a72f0e1adcd7c586a4f99e0826de94f90db575407941e33178b31a3d46df6f6f455680675254f4399c5acc05c1edccc56223abff81f8b60e9ddf5947ee4cb375574e3f41c9c7c90c4d7534e82560245b59a3815f8466840a966afd6d4090f04831a6ed168b72092dc23ed8ae831313341a818b016406d0688e937231c86e0770f28e5679f2398d01f31225993346be6091b920b7f5234e0444c3e1cf53eefbc4064404fff388dbf63cb226757a98a562f5f38bf13452ea0157ddc40a6b2c09f4e18ad22661aad2200ae2bd2b7a37507062066aeb0b7b1ce823509f89136bc6e139b0ff6f95a9a5b28e939f2e2625d6e4c014e79cf167d8548a498fdfd9c7b83c41b669de44219c019ddc6adb401ef5c34540ffd60873563c03dcf20a77b2a3f3c067856dbb93d95adf059af3846746d11dc5e46efe642b1c9bcd884a4124618f31db8c10fcd2db884534d5bfc6d8fdaf7bd5b8ba55706362dba0fcf45fe1d1fea8f900aa1064a2dd43557d5831786d6670161cfb0ccdccd84f5d21b2f51fa3f71ac0e4afc8c105af3da663b7e323aa4b8d80a07bddb41b8a64bfe046d04949f8528266f23cc47ccd98501f7534a7f9f4a10b36777bbafd8bf1f69bb3b8060d4e1cbc3aceca1510f752c494940bd9dd71e333994677a6a839299bd17ce19d87699d5090bd7ac4a3d93caeaaf8b778c4340ee868e47bf35eeeeab47335bbc4881ee37d15bb983eb80ecd051ec4b25d3cb603bcf209f4b78e708a50487465ae42e673ff55b8e3dfc947268eb808885b110dbabd21a7aacc48403b2961e3545f4a0442a92c9d7ec352ce361304120a95711f73718a541a0cf902d5571b2980692fb3bd1fd24bdf098ce1158c104e9fc8584157fd8c263e8c2a6667a42ad360c2e10d2591ef3939da42f4199169cd8a99f11b5590abaf3fcb6a4a50f4e4cb3c9940a0790348e2e0141936249d4324f992771cf1ad083db0091bcf33c9d106224a62fbe97c3a355904e3b94a496122664c0ba157aad05089efe1c0ee8ab61fa95e23b91ed4648fb91d4721db5bf97edb96e190322bc58d121c1cea910b83e16f172d0e5b762ea7d33c89a17e4e7b4548b07711507d97308ea55b03299a76382386234dee0ec5714b33d9cff30782b3df69474404d1574c2fa417553b6e2e7286eaecd8c5f4d1e353acade3aa7872817ae0c7dc9059d97528c108856b9545431cb602723a3630f8eceb49fb0670e26f00cd78141797f23663944c771edacbf8d3ef954a60c59887ff1dd2aa51ae6b6f50451f1d00342459c4d11e9c513cf2ac81b03480991b756c128b9da2bfe84e4b05f8d2d4d8ad87aba933f2b234437b1443b433deefa0a221a598210b4ecc3f5627dfc54c1b5087352a02db676e1c11e33f712047e9a82a559447c430dfe46fef2ee15e38af1fdcaa465fd158f0ee7b297f90d8fcf1f3b4c94261ea39fe2d07d1940a1c794bfa711a727ca6f4f1739b6efbc3fe863d0e7f429c11b02fbbf43d2d9917312a1de180321ef9f2e30b5a732a41f75ebedc77d7744b088bb66941ac6ace36cedfb08e0ee432f8b276f3c11ed37684fcf0f6c84fe3755b58c6d4bdf7ddd6ec96200d64834739e5548385df843a3e14859d5c6497e2f0a728cd07bad3fd897394e6b6a9da5fd2bc66b292be8bfa4cb62d50ab219fc48b5782f8fe69265c0a9771cac3ca08484c1bf07caf6ca428f05528184e35bcfccbf96f8248123773f50c589975b78567cea8acb1789491d40fc6f25ca33a5fb243fa221f4a650dcadb761169de4c150bc198a3923ccd0a2a83e62c022ce46cbc7706c54c5780811f2b0818fa5daa2750d765270cc2b7c8861c6e6739c98019a22b957acc9ca01e302ad19400c5d95f0394373bbd4f1f5735ec5a6a8f375844e0817fb4cd3b274996fffc4951e7c87be30b9c560b25f8201944eb4817bd44cdd074c38e4a2874e843d6b1be2a0b9a2256119212f721cf90700d759ffcc2709bd10ee98a323a77b663f1cc65799805113d30cb7d7856ffedcb0bf0cfbb7da75f77c0cda9077bd6e0a9b7a1aff9a2346b6c976f20b196909641570180868fb9a88b3bbaa2de3be9f11a396d4d253fd13bc43387d7ad6712f0c65432abbf173b4ac977cf901d95e2282781fb18ed0e746cda04f1f217004d81939fd5f2fc5a68c7734877b5ab84494b448b0e23a8db702eced59721a11e5ca7ee5f2ae81393af91d237f105d75dc6b2e5bd785ededad4ce1e4733fb0ad80fcbe1da706d30aa6f375b977819393c0ebc6444ea04de6e76f09cfb5f6bfffa72238a32bc583222e355241478d6331363fbde6e47cb8d0a23a5b35ac2cebe2facd9e8f897065b0553543ceef93ccb1e1369b90fd942ddec393a6aac691eed49a0235a582131273b9daaf6fc88f1c1f9c36b92ba03770553cf6dcfdc51f1257ce9fe2c03910296850b2293dbdd8a98688a8c0d0da6a31083b4cfba5886ed0b1a83683a24d6655ea1cc0634dcef4e0a4b8189c8914b94f2780c93b65acc95deeb8ee9c39b1d261aafd34ece869a0290a010ec810dcd892c8f6282abeae3b09be564b64ec9fdef13fc4a86ff0c347f87f4622f78d187d7a6c4b52c5b23c09b1ce6454b46013aef80fd50d6928d3bc5eebe1088b20faf0a2ea3c000f6cf89d517017b6c7f998ee5ccc6ab131941eb5b2f0656cc0cdd3847a1463f1fffced9c498efc0fb66297a0f3a0d38027a1ef20b053019c642f7fc6a03c4001780f4d08a050d2014ba8f4aa41b813e686f1e5f9a4d5d10109fabf2c2ecfb827b9062750849582215ca221f4f6e9b4800e05658dbc98b27ae52b26a8ad7e2796e716aab79e3ea4f48a384dbbdbe865bd4914e72d7bcee8ccbb0811c82af8ce7606dfa7a45a87dcbe215b3fdae68038629eb67ebaf4dcd0e14306bd706a86a39f101483c68b65a0f4c6533f0d5a1b3bd3f759501ef26aaa667fccaf3dd4df9afcfbd8c34ff586312b97562c957d992d707c9591540f9f48235fd88679d5603ae3e58fae76e360ca81000ed8a9f6f68d82fe19dce113bf3107231d9e899f7ff378dfbd002afb6fcc0e0462b94d32d0ca99a8403eede7c5880bdf1c25fe46b3abde3c770636f456555018200c74789053deae0dcd17936dd71cb232f2889fa08a2e5c8f03416765e325f00a018f983d866bb80a5050fa486ec755a04bc1c22b9074db8f184013ae76c7ece632da731c2fb17ce647d8fd2a0d627991e9b0835046f41bb93d0a0425b86dfd434895737cbc8ae5ceb9e272830e4eb74dc8514df59bbf7ca2a6c5572513b7389af61bf7c05ac147c398e265f688436721537523c66fdbfde853837614373a0e6815971534ef910eb4075bdb2bf4104962d310a2b8067491024493ef9f308d3063677e33867e7b424c753842962bf60d1e57d401963d4fe40a68bf4ad30c1ee23c8cde44cb118e6fafb8d3a4737b42c3c3e4784c0121bbcdae3772a99c05986d5dafc51bccc2f3225ff3b5778c093b7447f15428b48a3ac65ed1d58c0bd447020a6546bc01a0cf2977cb107f889d9b26ed9017aa1de718598f1e90421586c27c8c7e8d9d8356c959e302e1c2048f42323b7a156b6ed1a62eefca828e31642c351eef73e02b0fa1bd357251dd21364cb90f56ea6682bb4e0b1df7a451ce45c526455e378efa6bab5c47a12eb7a240e354f9ad9ced530bf4123c225f57563d88073fb6cbc0f31f92c2133792f792cce90cdfad7ef1791e8e7dd34dae7daef03efd97fde41026203ff5b19462f0e2184ea99a09a10080a4dd459009101551a240dcfe291ad1a04d231a940ebbe9bda08701cbf30f12da9d2e1f50538fcb6d2a72666ef38df3c3b5640973107d31a1908a332d3589953dd677e9259f7d81552bce6448c7f09a34e6c9e9c6bbd1570d9f7ba4b1a986404709bcdc9b4afd2ba473c041537b635496677f1e1a1243ca61d59545a90ca0791fede87173a6d214d2b200415da9c65ee7f29118891cf0561173e7f5c3c0fd9ee62e331754998c7cabe66151d67168736545d191ca7b023e185f18beb700ae4e0a8fba3ca08c2d285f04dcbffb9617a1ef7b273904295b1dab02dba4754f7221c888a13a9cdb0a7b382ddaa09ca707e9e674c7fe7f60d3d8d549eebae79b49bd67ac705161423fdc43e2df631f1d6d67d16a67ed41c64b363e0e917a4fec6b360af96fb536e4edfd077a7a72707cb076acca076ff647ae154e0c790c2ede1eeab3b12765b97f1c76d02dbd5c9bfd9fef239c64536e2d01681bc1dca1e5055e93e29eef762adf413660f3155e0527284301e4461b08c8afb998e6bbe9646dbf92effebe34b4e1f65baf5bab07fcc4bc8fb94007a6e55cab8cc9d4b63017b6e2807e2c486e72f933949565c46e64069eb3f5db5795d54a3d98124e39d1f44e0f808b2135cceacefc72968dd2375e8e2d6cd44fb56a937d1c237f71fb5e19f093e1dda5573d6f496a940c80e10edf09308fc4d81694a3380e1e85c7cc8e16b26d59e48016bd7360ab052c833b0240bc94ff1ca47fa14803f047ccb2a6c30ea5f920dad178c86b3ac5cff19f2d280d17472dcfc7b5965f6222301e31699aae44713521620c429775816b80e31b9dc8414c6ba17d163b1dc2d32f6bbcae67fed79584ebb7b36906a33b2adb7ff8d8f1723e87c68b73e7becacf447af88d46f1321c43f85af40f5740de517beb05ff25676b35cf2920dadf35bbe29ab090085da29abee2baf0dc49887253fac9af32d49fccb9d76015b3b611fd1045725a0b69063cf68b27611c61c1bd5ba59a22c73380e12fd35e74ccf364e16947cdb9f5e60f7a425ad20e7e0cf88c9407a7d9a4cef56549b79e6bb78a936ddb1a5fc977e9985c65d3d4ff2ad46a9cdf40851e0c862efd717031c9f099bc7033251630e64b6d9069349085327a9ba96b717f9136f9acf19ba8d3a4371254fd0844de5d21b9a97a4fdd3061b0177a7bee64ae523c028f5b6212455b248a41bae6aad936e966656e9acd1996b2b20178ac63984538a8de7468a6132e32e86f8857cfeebf2b8aec99c4d4b2fc35b528bd4fe17a98d672a32cb3e0d20b8725d348c7e1f8792c2ca939c2eccef93545f71ab3bf9717ce136da22f28779734bc8965c889087c3a29e6ba6f5d134019b30ebdcda36365d63ac0c052bdf2561049a56d101f360a179269836258328a994e35a3f4501f7fc311001766c2e0b2ad883f5b8e8caf3c65fbbed4db20d1151ab969227281db5654e03dbaacedc2c4b0959c9e595bb0ea7f7934e3d0f96d07c8fcbe30e7539ca402d2d58fb4b69b63cb5b8e3ae3120075d7d42067f070cb475ab1f65650035c05f5862e79f7505a6e50951f16d77b264039fe3eee9e8fd658c348de13d2d3b925970ff2568bbae6baa864aeafe3ec500a3d708d8e15b262da3cfefd8345ed605c27bececa44e1db8ae12d4aabfa4b18204efed3e2d0f862e112fc9bb290e63ccb2cb33bbb7b33502737204dff086ba648824ad7085ad5bb9aeed6a30aeffb4e4cf0c86c0254fd363b63fb778d441aed1b627d5c123837a3dfbf94accbd8dab471b23b43225785e41cced3269dfc19c40dc954b7f58693639224a00df734929d4ccdfef9f7249934a438ccc6844809d9aa6b1c70cfa0cbfb364148ec2e6210f92fbc828ad33cc3127520d4902f454479ac807d94ef150180c1cecf8ebc0c3d7b616c738952ccd73e9a3c8c388919747b3e7148167a957c4cc0f0a2a6f18beb31732d97f8d38159eec9ce8cfcbcfc57e71d9b9148265fe5c3a28729345d5c2a30c54117c25cc70391a6021ef896112a8be65338978754f82dd8c405a6e2fcb7024eec63699a0ff0192ff376b9afaca53cfdb5afbb9f6211e07e079a3a3e250023033d9c7156df026820a3db2d4f38252271861266528b98aabcd08eaf6ac27c8d0997d380b9f9c8271371120923ee615b409918a2e6202c2739b636d87ed6e28a6a3cbefe3bb21378d7d2d993e6547daad496c1d33b0ac0dbcc5cd70c990beee697cfaa65e01e18c275134c5392f04444fa3170d3443f018b7b18df2a4329a90a16526d68f84eda120cc08941d621528c4af80d46d7aa1a9a207dfae9c394a116409d414a28379ed8bf0bccdf5fac2a60ced435d5e89074cba8c30d2104b428ffd57305e1cb1768828e90f00e7b2b657289c25f06b921cac7174903ec08745ac46682347f56249f5fb610fc065af754c10bd1b682d501e5694ad65d8fc509e84c170f23f42cdd5d0717dc5e1f945ba48129a59d75c19682d50f0ae2a4bde4b122f183d337512784047bd9d2da6b51befcda63314273d647d3354ddf1a3b5f880c5347654aacfa75b1c9102d9002ff6eeedf05cecd0137851243e7c7345358616ba3395ad3f66550f31b9704a46ff022eb7bda9ac15ebf1718c6251128260d0f71f0c7a9bc68e3c652ef1e3c22cc63c992c9e80ba4102168d3db127f2a2662add46fdfd70f72192b5f932c8e93eabce4973615d595d1037b1656e63d88ead3720bac266dda8fa21b127cc07c02b6cb43083b6d719bd8adece4272764edfcf3381edf549a59e1da8d2199206abba4c41a1a02c9f0e3ef3f93cc2747c7efa64e51bd6d406ea1d6b5bf594f7f64f48d087060a46281436c67d7277655e2e6a279efc34204f591098c0de994f65b142ba9a296957b5084d1116ac8448a7244f0a4660032f8b3fa3adc45d7390e57cb5f3e2db52257ee7085d289ed2dd7909faba5f562e73f06420b5d1cb04ac819643f6b698d88682477bff7f2a4d8c9729d4a5c502dceafd59619d423d3dd3a1f2cb09f0fa85a7e2e7a76338966000c65a3d315098b8cddd181859e54c988aa52bfb40ade1ac1115fe875eaf7baafb23fed85100a3ccdbfeb96a2c62d3aa5a332b7974fede11646a95039c26bcac1831b43ba1c0081b19ec8d8f61bc04a075907ca866b2ac451091d36c609c6bf84b3b6cf883ae009ed5f5380640c7dfdc7c36b673577e2cc087af63d534e7fb254d307ea9530f01687177a74d8aa0559b46a37a0df8475f824d63ff9717e82a9d602fa3e759faa4d6f1a6b1ef496ac0b7ed94f286cc73ad0770448d857d4ceb51d4bc0d3cef6cd546998e290efd16faa1ee803a7c86d09d9b8f790b6b2c0d817de0cb0e711ac0b22f9b770918e35e2cf754c904b2dc45f2b1bbbadefd36ddd8192457d6f7043b012cafee611762eea4ba6c8ce52e032d73ba9d6e5afafb57e7f6b0c27e28d8ed0f1e35f3fe81245481498245e9fc718fc112e1e8985e3248981fe037d85c11922a28d6495ae27681ada5db98b579604eee1d1a524b314aa5cb8d5daada34688e4e9f7cf75f35d905526c43128cda237120bf48ccd6c365e9d09be092eb3f978ce60bdfb528f8d0e7b40199b74cdd2159e594e9526572366e20e050ba8ab8c6be5ba054d87b1f6676c34f8573aa589427438e8b896c2c44ab2128cec4fdd570178962cc052dce9cd2a4ac8e73a3cc0da88cf139a7acde9e2b95c1bcd1eb0e858004e5e9644d9d596eb8679438f32d6ffea1644e1436d5fdda2967366189b299c9384bd433c16b4ca2ab913538d3560c244b30d2c562cc1f26e001ac501ca78b299460f062eb85dd99c7eade6ede68d6d58b1e7e3b67a401308babc70b44adb2b567f574b0198803f391b40dce89fbcd7cf917f6c8c570bf8eda084334b85b3cea2b92d5d5df7d5ab299a9ee31d7074797a25581f31638c052054e4a28d1ab679b5465c58464b0f03e0276eb7212bec7edb6dc786e275d30157d1f3dfc1df120dd4ba2cb4aede2709b08ade77f095153eb1efa56410d8e64872e76e3b9d3605fc506fcd202c0de4185456e2c186226a2ad8e0255db835a85a45f9ff5382cac5ca75ee6acb95c15cc30f9c24d6ebb4c31350c6388176689d74c390bbd2d43d9bab8a6c181c02cb6e93da3c1eec169b8c9a994839da4782653f7ad081016b74aca6321e21ed51a7855f08c038a0f6b2652a4d7a6c31dbc2e2ed09c1f44034c4a04ea23782712c727eff132ef481036e4ba3b634518655a60bb250d33dd4038203317736f944939c8e4ad9a0ab31acf85c4d433774b19551d363daf09ba2bce0409eb03c93abef08190cf2b19c55e7974e538acbc96d6c62c0589999bddf6ebacc2f71061617f0f461bae952fe5e9eb5c9edd404653d59ea485cf42e35ce2c121a8d0049e391b2151994239a5ba573ca1dc41d7e1adfa3830eeb8ae2a0a58c2f8ab1a86f24dbe3ac52f5e37daf9e3108268d22522e06232e3a6886d1a1e5841e1b890db468d317473e94863389229015de1d9d47e633c0f692b31891a446c60d6fa7445537f77202330cf0b4006c49b1584caaad6ec6b014697b2573ad3632063ad8008a2998fa038954a984412877ef80cf3c17dfbda50dcf304aaffb126c7ac4e5eb270933b56702bbae0980da6bd56fa90313f0535126db652d138be0a9c79572ed15b6ddb233b6604007ac37a9f585949b7b1f31850be2fc79f0998c256d537eb231df03d8baa04c139be7b47fb40022e7384626a2443ab5752c39365d1102b46b171acce1dca1700f156d2acc8aaef7c7c190e256c556d2d7147bf7c80facb1546ab09ddc6efa17675b2c3b3e6cd598d9b12cc82a9cb09a2ccd8178bd85b45710b90875b5da99bc3b14603aba348c7aa67746ef5d8b515e2d410079b1d506833291631b96bb438ff409b11aca64ad90ef85046afa6c27890b84c3bdbf7363e70751a9a2070a32a95e52d3bb7682f3e48e78d8fca24ea36e45f056afa629b80482e3b05c8125f0345b189fc1b7e7715faf735331dc51113f7b58fcc13b28f3021967ab150d6f867fff9f567e399171554c873cef5d10356bd21707d1c9093bc07d42d11cdcda06afd661c4c80a23719dcf7ed0d207cb662c0a698fad282c7b56a9927e5591483c31321e88946f3b2e28c4e6cee29f4845532c5c9304aa59a2da3599cd7c9c4b5e69416f93b310622d0f582908d5af725aa26a18d867425691ea0af8c483f7d8e907c49d2eccb57fb14fa33b1c9eb8acd7b95278e48cd93aaef08ed131138de9e5bc4144c0b69898620e131b745d10c6911e20a16357470b278fae771fbe6a4a22a19e311e1808b0c7e7ebb76464b2d10b714521c4c73dabbccb2e8034830187cf0c446a9bd44303bd1a917049d66da84b66f194e46d107dee50e2d92d19761ee459786b3155f7760d94c45faf7dca7783e74322e413dae2347c760cedb4930cc0dd4b06a27bf89b98a6c5dd99a74031a0e823d8941dd7e262ae48097deb21773acd53f8195830f5f6420d61334e072aef50d6fbc9a92d92a91553c55ae5aa2de306b1b15ab3da020f0865742f2a237fd9b9035cdef474a17454c1e8507755c0196ddbb1ff25b244d0c6fb441befb1696ea2aec117df9c2a8c2bf38a8be6adce562e4cd29fe48df303dbadc009df77d9809b91d2a3bb05d582be1c00652eaa97a5747395993551fcee8915242c3f84f91c153575cd5b0fabafbba4af7d436e30e72b043cc429ce9a5a383f097c1f0218ac1ae6c409a3028254dde1a7a6b98944d92d5dad7b7a8865392f092aba4f6b74756a732fe5c229f53f3ce6fde2ab15ca3308dcabff572d00adcc609e51efc8ca8758a22033f8d71ca1646a1e25990fde48cc2508bd8f6b2451d1a8d9fe38f2e4c7d909297fda6bdb81e9defe1207158df83c4daa4cbeb36ec9877ef2a4667c4f6b54ad8da8125ff8c64fc83b01f3f5adac753e2c74bbe7de11acd1e83bd27140f1cae8c3abdbc29ffb396ff53732bc881d67d735904fdcd2d66985a3bff44939b629690e4a9ec9861ad9c4168385c8c22344023e27256f5555d39f19514b760da53ddc42ce8ae6221dff35f6c1b0d40008d718a8c9663e5e077e7ab60bbb54237767e64c21656a4c32b1c85f11b251317d2fb38102d5a29c294da6f03ae8f45de86a0812b69d0b801bb9fd1e08917c2a2e0cbb9a83e2e269827b3b3eb8fb37529638d1093ac23a09e084d07468c813d2f06f379170b1d5757e10be613ca72b073a42637f9d3d31e45ccb240652e16c0f9dc110ee22a2207af488d9bbf1d5aa1521401ef3257187974d41bc0ef6f8f8f5ac75472506a5e72a5ca845eb94cce52fbc3de1a51077e8191633973e74645c2aa665b8bf7911f5ae5d9dc38e1b920bd4ca9c35b329bd6e672053afa1a91bcb6610fc6aa15977df5248c0f2c30d5174aab9d7f58740961b93df637b2a33ccb5a227f8ddee5d2eba8379b72e9f87269eafb0a568af204bb9055129fc6b4d70ed5cb9d374bef74b333222bbe99a6484044b2490b2004039778d63169bdb8e83c02cb78d09ad020c41116079c83565067fb7cc48847b37cc7fd6316f4a35e291c43ecbd8502495a750222754bac118c0b72a3d8f3eef081a2c5dd30b751e01fea027df566fd5712468c4ca55599d521d538e1f3d1d7618aa17b31bd575130ee5b0768c7aaec060eb0851844dfb79fa748e30d6c610eb973f0b20fa1f200d3583787cc8037a4979d876de2811e8ee6a8ac85671e14109e481a4213cd0523ca6a41329177c9b3053ed5fccef878ae72952ac1d0bd09055b4ee634302f9f7ab733c33baaa52f68ef99073e251a7eec334808e7f7b0f56f47569a76d574f7a1e8fd32dcc2cd908679cd34d02f19921777d9210c475510f0c05bdd6a0d3ec7e765d5e8c7b43b2de3a76a7191be000680354f9dd01b7918ecb182c3514e52f4d8c3d3bdef9144654762d851fe1b37123b7e3aa6798f2136b518a7344a9f68a3ac0382af9ece4e3fd637f6091802aa6bc39d3ce0fac98d2dd723f46d215b6e33c81179fcfcc84af1b1c865e5feedeaa6be96c56230d1128c191988d605a245c793d33a7574b50a178fc1d88aeafa5630dac3b650402838eca586db9c50edd9ab64027828476ab7c7eda149044903607c22aeebea3a35701c540a3a644a05e2928030db22ed62114dd198493440e25536eacf0e942c86cfa6616bd31e02bd4a9732b952892b60e9f4948d0b0edc9738bd2d093e47853413828be6e217e6dd7129767f94ebddb8d174e4fe129cd7bf99ab66db937755c0f9336ce24629e04c7c58731abe3697ee4e219a69358e94eb7308f74c79fe446ae7c75a561e41f15d1b65fbc7f03f6b1c70b8449762db360ca9f5ce47d4a91e1a18fa98909a8e0f2f31eae8c06288dbf815697cb53dba0c5b0fa8b3c94bc910d103363d0e5d1ce30fd97c59f07ba06429bb85327afdcdfaa3298a72d59fd46c0d421a7754216166ad671daaff00b7f9e888b47cac36e0796bb68f31371455d664a21b4f6aa6acb152812934ae842970fe7a9c56a1e991534b8964ebb106750180e163e111e2258b78082850a282f23affa152b201a798f3b05969bd9ec9d5b06ce801a67c2cba20740dffaf16636c57dca975516bfe95bf138274501214fd3cf145ad76ab5afea8fe86ec3cf6c3b5b427932f4cdb808ad7ed6017ba7e871598de56cb4ce8af4cfc56f2e8cb639ff521a0d3fed9385dc3f6d6afb6051980c48609058810ba5607091cba3c260e0a6fdcbafe2ded9e495f0d1718700e70d0656fd2dbe2e756040942ac359f31f4e8064490a6200981d87c488e70a0be5844eb990753d94f6e05a8e71964f5eec24a9c5bf8d251fd3ae999ba00b96837e54dce4f91ef52cda11c4eb8417337af0906982917643c08dede900b16c258e4117ad76cdcb48768e6a353adb4cde713c7bd37c3818b83eda90cc56b77da35cb6b666ec06d8e18c8719feca7d2f99627df98114d87c8334b41c5ace9a54992c6501bda17ad09da4f848382a17ef72b9ba4710527685dd9084e36dedf6e30a89beccd19a995cb3774767f3fa33847d7b76fe21e97244dd5ded4d0ddb9d1ac35653ef52994668bec1f580185ffac803e79ae19d8dd3b3d134d2d36fe5c2d08e21cb28c723b8915f917778062129177b8cdfe28bf68d1f8e154e4caeeb63bc858d5029c27301d88a06b5714e977a374470511c278401bb05c96b07c41a4002c0075848e14fdaf764ea84bf64145fef29bbb69196ea45ff13aef531887ced59fdb6b65585f02c6eb53030df75f82026020f844f9b966df4e97d4c4aef1d7d4b4bffb7f5d42d463eabbc791a5ba476d8f423bcba4e9bfb3dcb3d41c13a04dd734cd9435b28694921d9d661d02eee10c0ba4341f5ddd411f027267a0de17e584ca1cc546327f0e894269b5071ad606f722c5ef50c1db799c6667366051dd261ec328fa119d74326eb862b819838fb7a556484f31ae00a60abe922d9eabca0edbc62b7d647c9875c142b66b1cfb74d3994712dee8bdab85bd7d63d9ecd5224c8c317e70d426b1216555b217948757ec41a110bfacfb1399a96978abe5ef7047ad4b1a988d729ae51f75e17727261986dacff918755af63b19b3fdddf85859f4b89e7581ee37162a0d82bcc6e9bf93abb61c95b057ce688e368968ae775c3c70364f195697b21108ce5cc1fb2f8946908d26f28bb7ad32b00744b6ef2afd3d64bdd2bee9f71e209833d5a057040563336b47b7f80c216715a2221aa717bcee9679f23b2b8853bcf3c2393b81864f6bd632fc057053f4e1d2b789e15f66f4505bf37e31adf9ecfe9c5566036f70f5495c69c9469acbb4fa96389d9358f61e83e20a41217807b3b7a0ec7cd5a7217851ab22579d2d44508c5e8886bfa537f0863f2021e546d8e716254c8cb00c058ecbc2bb8bac05ae3975850f2755d2f0cddf2abdc9ded8cd0c183ea01dcd3a79f7d07a04e1d34e107376085765b0766f11514565860fede49290ad8601e25ba7eb7b347fb04f9e9488dc72264f80793f1988c99d1a312c8044c32dc959d111dd305dfe7052bd9afde2051a18cdba808be99d3c9bd595a0ee36e71a724fbe2bffc4e246adbde68116817c831d41dd570758f2ba252de606f5efee94ea8a6aaa988ad2cc42819e59387ad8e066fa648546c1c8c3fe55f92ffa5e462d00da6408a940c3c4a27aac7c53383ba04a9d90d7215162a4a184ae049b739ee67901111b6d812f50ba27f4be65c9d08dc9b10bd2fd536a509250d21efc50cbeba4675a58276995ffba9913cfda6cb85c1c39da540435eb677b1ebc2727c35a1f45784be56c783b0cf64a6774235e8a71f243eb6a203fef08db2c53ca154867d83053f828e76222676fcf08a8a582bc77819df2af65142c41593c59618cdb9fb0715b9fb2d2e34642bd917ed533f0b46816cac85ebf2b911d6ff8af45434a405b3f68b0980c11f29d662f3484e8f4614a85dbeda1e472ee6df3812451af2033593326e1b8255c9ad2b2c5355413b298db0506d2d58d15933cfaf28e3b156901ad593e9ebff1e0635021922e27b8ebe972dc828bda82d1b17f5570535852c5de4f3809c50ae029ef50d782775a067d0fc13a15e0ed02f3648a2db9437a365b16ebfa5bc25017355b149de8914e3260e9a28053adba8ab27dc0fc3fc2d237d74647b94e914a041d07a0fe9787221ee64816943379a3f7373a4a97915fb6d2db242a79286079ef8e22d07ef15b67397aa351c4a53d2a28818ddf028f7b500659bda2561a1185861e69807079a5410150cdcb42f398d88d5bcfdd8c6a0d23ecf3ef4fa2b4fbbaa169cbea6c6360bf1be417d50dc305c142713cf2d27c63394abe4f136b773f868091d522749466fe43f1b215f535843db92a40a1434b07e64cc32842e734b4ed2a87cdb04fc617f6c33bfc943d15437fc1949261b2cdc27cda1dd3d2fbbc9f29a3371dd630caf79d8b6b5944c709cf3f4c931d32bdc07bbf47c985333d1af32d0b60cebd3f08a2f8cfb640a4320d9c3256b45526498a836e09ac5ae143dbcaf751fa039461d9793995aa279a0d69e529262cc49c9c662dea6a72c166aa85b233ebcbcc60463dd7d6fc3245c7e0fdd3b12780174418ca65db01dbbe40c949e6189a9c71f18c9a93d6be22fe78aa59d4fa3fb2e01da99bccda78c5c5beb4b26f19ff5af58264a18599ff11bcd29af31b4b6041a69be10b2a15e2f4e1bedae209327e55172e0ad4ec4ade2d87c5bfae6a1e9802da772d694471babccc8f756595f38adaabe3567cedfe04ba7d3f0bc8aa0747446acf98b349535dc5fc427461b332fffff566c3c36374e1e2d78727a9694dd81924613b15b31aa914bad7ede1848054838913c9f90faa98219dbbc62d6f9ede12fa0afe3a8a317edc69b550ba3c39442cc315b8b9dca1f2aa28c8a9f7f1101cec7e6db2935ad0de6dbda7d4c84583520192abd1c75e2fd99d92eec1647627fce1b649f4e33cec0e4b613f7ec361ad96024138c4c983ff959422f9705817af67bd2eb5c13926ea3b8aa5d6bcae781b881cda1ae0e608c17a39674a7465c03993eca24b6b42a11d9224bea7c3bcee7d874267e05b297d9c5c7b05079e7e08fd9bf9f98c49296aaea1ebe532dd33b37166fe2d2d0b627f19f841d66893f3df26406ba3fe02e6a246a193ab989d5ae3ac1f77a6bb4c5ab9d74629c2b6139bf09fb6dc120bd99d9427550ee15fbfa5989d35e275b39f7c9c1ba92ce7bdaf358d5019c1dcb9307534b6d2a6b04195ccfeb1bc1c0dd016f001812c1a54a92ef15eefd77c0aeca0f63986f489c6f176e32022b7b4951bdffc9f29f96052d1e316cc555c0c3c2c92a9b5a4cb0ea57217cfb3d93a91a709294c28cc3218352869ea324ac0a4552ca999c0a80716675528cab1e8df115d80a1c6df32d515b3e08cc9e8be2b51ae7c6dc0b38c40505195354b1fee3b15de93091ee5a13ea12ff6d79fed9cf8fddcfb78407e73303cd4768dcc7e24a2b0b1427939efe1dd6a12f10ff8d8a29f85628c68e0615b1ae5d5477e5a1e9539e1c7c31dfb47a7a712b5d4c3138af8dd9cc89678f6d4c409326ed38ecfd2de442d60d19c6cef4cc749d315dfbbef501df79bbf98366c5262e8d104fd3a198b25b265bf23e376ded76d0c19ba3509036e6e8058d11c08de18aa9c2a5200dff6c39a11e4837f75aac0ca21c115320f1e7d628a9649ed5404af1924a8742ffc51d6d85bdcc5aaf5b4f641587548dbcf64432cdf378509135ef2ac25511f7d3f475d06b452f2b08fdedec7c191804074e5c38882354b3e7f50c635208e3499d3057d4b4c3272d77af2ba49cb9c4aaa371208d502f79a9bf05ddcf08be26b3c1e60be784c1e0240d7ae041c3b5417dfdd61f42793f090f7c6492ba22d75ce8ade1898025276fbc40257045a66e50ae1e093e623fc7ccda40a52671d195d111d3564f06257839110d75b06d660b2d76e5ff3032d85fdfd9681b00b1a95abfa16393763edc7558225ba5217687e2dceadb73a84ee73325fd47d1d766004d08292f9e7e3060f203ff88cdd7c3b424e73a511435c5f8cdee46c108f0458b7136ff7df7a475da8b800cb96c46960772c0061a37f8b68c263f054f021e62f0eae9b5f6450b958c6778531a3fa5568a2b39f9d0921a38645b2f1ae1b42b054a45c8cb7a9fc6a78251076b51b7921ae2d21e31e4a2a87b3d6bae7d0b1873b959f6c284b50e07b46b92390dfef0d2e1bebe654564ab607fb328137b8902cd46da6305a296588ef9a66eba2e3fe2a3e28404301fcca5c29d9d7a0012f0c1ee6ee88cdfa043d95eaa20de89d40c28ae99f409efd76608ed65c6ed22df9a6fae531f8a80d9f75c9f24989239adbdd76dd1cbe5d66c874b454d678106fc366fa4d6bf0161acbe9ce7161485c93572fd398fff86f65cbf820173c13eaba26b1ecaf689a4fb7c0cc6c4288d4aa5d1a8247f02aaec623c7e76c1f59876b39c5847db10200e02394bf60c4d76ec1b81ce16329815b70da9d48e7a0fe424c95015a7351dbf5f1239b19afc1d84078ea280214270cf7dd18c5875d5a29aedc7e8a8abbdc6724bf9b824b8ed6d8f693f03c97bca3cfbd28a0fdee36c539589b7d56f018b5ee770b87607fca3e1a8f80fbcb0e9289fbfb2a4979a0b572d9fd421c520e86c6d82deb579d42c9cb8006f43171ae2b1c0683c30087e23a734469b8dc8ab5f91584a817438325a6ebca511b88e2bfd1c55b69ae918f77600b55804de9f69ae3469f1a91d20342be243b340cfda3286d1940870505d9db2510a984975b708848733b51244971509e71c25f3670543642ea7d0770534b691eccd9ea75ada1f12c5990dddc5fdd8ef316075870d2f02f2fba181e69dda7a9425d6a0249809b8b8f08435e4da95374408d0186e1f5bcd7c152520df60027983bd35ed7f61fadb07b5d60a4cbb405404acf920aa657c910b1c4561192a2039b15391b8c539a9a8376f97b2637c183c1dc17f4787c4e12b809460c84aed8ff786cc6af6711bd421c5988a0a5dd101b9147dd13d69dd4bba8a9b1d0392164f6b81ea9fbb45dc652b0cde78e31421fe08ab679eedaca76b682d5e2cff611a422034a8409fb563d7a1ac121cd8890c878b5cc98c8e7af71ffae1f2f0039efa7d609503764b225a72ee265e3064c853011a751a46c2375d0a21f0f5dab8a87da9dd5a5e77f0340756300f092ff6c1364a3a7c4533d8f21a1119148eb6b57daf8de9eb1201f5cab085bc8d9796c3413bd59b6d74694a5b7cff7de817fc1f74b25c064b52ae0870363df67371e53d15cb7501a46250a821d0865c06518ab3ad80b6084b03d4f9f6aea6072cb768523e2361b05994433fed8de6e5ae7816bd8c6767ddbab992e19cbb5183fd29349b18cbe77ba0231e2cad4ab94fe5309a086ef5ba939c06ed53c97edddfd28270a967493694cf7c1484c44e87cab0a4907736668a58ac2d37063fdc922f6b1b4be7e69c9e50a04b4a110ecb1a76e80c7b99eb7aac446e8eef36a0184726b67092702c0065d41b5439d4bb50601b9531ea84a33eab965754e06b12d5dadb9b85230d199cfad19888a132e38ff0142b70b78de7edc8bfe9ca38945873978a9f9d3108aba6d3df48983aa82810afff30560aac2c75a116eebe57eacf78d4900be8b4ceb47cdc6286820daa1cf72999b891c5406afd738552f82050fe914c405dfe009bd11213d2f859bb1f8754b479f336ed98b94bfefccc39e65d4eee91ca5c8300f399891da4c6caa7f7a310a7fbd57a7f0df4c6802be117a2d3607b21b3abc5b3131dfe0833d0c68c24e47cb0054f24f3c9d75be92867a83aa518ef1fa7057211c4cdcb675efac8d9d7daf3d33d985ee29601406a0b4aea44963ef4b9c5aad5ad1e050f9fc731220f376702e533a698c95f81dbf64a44e52f846b179a875cc02197018c43d47dc52067f725e8592390821ec30844eb0ce8394b3df9b9a34e9576b358e4b94eb6a353ccff49ac3adbf3aa0eda74cec6a3e135f7d44bf507c1b10fdbafa208d047cf3057f72705574479fcbf19d9638dfdf2d70addce64e15b0b705a4d3053b41fea8c3183e9fa892b557d5f2bc0d2d21f60df7537ed92bd8c2f83941176fbd558d86620113a1b50143561be6fbae87fef29b14755e5a15f872c108217fdcb4eb18bdd8023680a60c1122d414206d1be9b194275905dbea59adc4b5beeb0e12964ee823aaaefb4bd0853a7288968e24b1048389296d55845b35dca7dfab825393e83209d8d545d823c2ac02111a76cd729a9c8f4f9af61bb1606dc6de4c6c84b691e448fe1072abed5c3a0876ccd44524c7b5f149a0fcb68fb06f8828fd81b1a8e4a2a19b8ec59ba0e725f4c115fd7b84064cf3d04c3742381774fe56391f5d9592f01544eb58e8da46aadcffd0c076dc333e817595fae3c5f4769483edb41a734690cba2d5a05b95c5829daf07463dafa9f9c72aa1a2ec4ba66eedfd8d8a4af15922945d6017af685912a6d5701fa85fb4171683a447c23fb568dad7444bb094b7ea06c4df7ebcb4368a02145d78b9de315c06d8a821f708eda0a05fd5b2b6d196c67a99dd359244400d025ed0d9d6ccfda16d06ef9cfb09c4f8e9fe5881f576f9e535a80df34b18ab16f0da3526ac0e1571b145e3c1079cb0ac1426dfe1b0b1d3c21eb340c5324bd0fa981aa7d845cedafdf3127021790f7aa710fc4ba344755c006efac3733b6202be06e5475e713a647506086354e10f6c70a8b131e1675a5b1582f5ef9662c486a495602332aa45f6a3cc8dbeaa31783ed590a18065dfba3c7744814b3cc8578537c34bce38d24291977750706e4af35ec65e522e85b7ab63a5e85f04684ecb4770f69acd788d04be24297731668ca052ba3719711609bed9768a98cda10a01139b0d4e97711478a7f4acdc50eee491267412f302ba4a19261256c1d021d30ba10eaed1f6e62605ed346c143c4066e7d34a1cdde208173bdb1f1e524cf60fefc727917e6b58cf9ed39311e830384ad10ecd87e93058752bc0df06f744742bfd8f92b7061dbec616e0df33aba18b3c2fe8de9f5685ec9e6cf93f52916fefe3b5871ba3d5a81462d389067f112460b21e5c86a80135c95e56aa10522ef8b21b8e65cfd4969ddc49e10a976e5a2130c2d6aa04fc714545ac3ee06ddf99f0c2af4ce1b33605afa945a96b06b07bc6cd0bfac8e18768cfbfef1fa11dcb44f644b9a09c306f174db07c6518275377d31c712470a0b4f5351cb98710f6329d687f602cb67a33ce10a646468d0350d5379f4467ea0eab863db2a9a8a95d7189e9fc42e2d9590b1b0359b8c344a507f210cf9bb9dd80998bff28c791f7a6c87d7b272515b09572e8a88ca061b7df1e5f56e20482991c0747a68804f4267de9010cf9762af40cdd613ede97b900adfcad040a93b59a0ebc97e4b17426dea7b569def7df865fb69f8a28c13b5856e3a54792cd5ba32d19cecd62e034ceed9c54544a07c28725ad075af65f93c75a8462a30ae5aa609d1840856bb0f11a866d99785949218a2e5ec706ee1f8b173a71acfd97493d4a7406be04b3095e16a72a6c5e2eec6d8d40d2377da669efc51b95d0f92389c01e8fbaaa215a0dfd3328a5d3db18134f0b4cedbc75467abc62960d01b2b8d3e9441ffa9361fe28ca9ec400260f80b4492782620ad512559141107a0ef1c14bfa67e432340a32e09430f0b71e2dcaac1d6c2677e8ab09249b8a1502848d50cd2ec90b5b5b6772897ca2186c7ae7abbe3b089e04fb0167b6f2cb3e02ced5d8594c7b120c432194532facf1149b46020ccf002f31b41a3dfcbc6bb0445d8dede0387895224d7412f7dc9448f078834bbfdf7918684623cacfe430bde146474810502878a200a1a6557b45f63dce2d43e5ef0f1f07286ddbcfbab12fe8b690e1738256ab945b7b1bc25490adddf99fdf1b365f6638c1ea4c604a48336139f8003e4bcc9db551fc743989db8a577b4a0b1bcad08052a7542f8331169ed9d523693ed32ebe99ea6eb53793ef31e61c712c8d4ccc9359dd6498e632a30008eed17041bd5556d103ccbcb81f0744516a8f2d6d81cd0241d101040534c65dfbfa830fc0f282bd4d007042a77aa3965d6ff2e65a22ce3f8bc1029745db5182584eff05d7ec5aae5cec9b461e682e4d96fc361264e7268b26ddf7f8122bbc0db52f098a9b6d9b5b143019a5759168d787677fc676e707602ebdc361a685cc96214960be6ac7194e94ff9e32fd9e94054c5411a8397875f884e406eb8bc84dae45503c0f12d0e9517acd17d37398fedd38052fc295599929f611996d271bc6f4b5df3b3bf46ef8c50de50b3272206f1917c0e1cd601079d4cb2fbec4ebcfd49ad45c62578916c6215ad699573bb1c2b49015c023060e8b1b04ba04a8b837589cead56460c311450e8d0c1e890b07e2ab7b48bff5045517d9ae4320dff3b7c89fb29e3196d5cea567d0d42e6577fab1e6aab0442cbdb8e5bf82387dcc3ddd98bc63db15d77430e43fe5520603165e36ebbb5bc81a26f9eef0c80540ba81cd971384dabbcf3182bfcc8169a17a1463b7421e977a103d2fdfa585aa1c700634320052edfbefd3f45124db8ad33a05ec623e61cd4794caec14c2fef8fe6eb460ecff965d162e132bace38aebb451a54b1e3c2d3136005ee3dcc253ea4a49b6a71f4cc20a7487c65aac8b52c3976fb82d65648adf851a3aa5462b3139e681fc8e8e3f9e94cff660b3eb3793b593093477ffe1fa1e4112eed5cb28e0bc5b6804484cefe0a0c3e55ffdd6350031ca2a92be3fedb19e89f9fbb1ea5213dec7980699a238a87368c5954eec013625ef4691481234a4e905cf67ab9773d22f54b18d35ac737a766aa099d18d4c87185486056220b09016fdef4283a54951352ea8463efb93535b002475b72f374b669dd295f8695527a283644be4ac0d9005bb3ffb9d2b03a730696cdaa52e00fd08942fedcbc64b26477a22b481a83343c6be01f2425727d174835f0a0660ccc52d79cb0325375c0ab6c7c411991c1d6b09602d37a09fdcf58e6497bd9c8bd0128deb3013db443b28c0e4d1142eb02116a15c664f2d386513181283a2ea290b985c923a5f98451b1704af7b61b9e2fde267d73673c4f71f4d12a5695463818d067a3dfa1912e647299cf2e6f0948451ce26cd2f04f08adb3e56a69b22faa210a19dbb830d44e69c2faeaff5a8912ce295b3bf3a1799c6f79d0252b0b640e88adb3e8b2512cf58d8fda1ce4b5556d6fe5ba71d8ad39c6dd6a5ac022605caf7244709d6bb333a31d6fce4de64b81abc162afb62e32e464678c2405e5d13a02c7573c61d189f46588801fcfcb8c1f03f2bd643926bafce1db6ac4c788ec477d4bcbb10489d6a73123b35df088ae3714a210831c84a1b6a922b2f683208e95d50d968d61fd482a88585058e293af8f4c8cb1dde0fa528e1263e063314c0f8a2affb15400fcacfa7b425a1c5ab7c86f4bccc77103d6aca98afd198497d8066ae6ae129863bf0c02c5a7381686c39147b6c98d4af2a7e48d1333989127be9732103801f1b7278a077a8c856aacf1c053d8199c9fcd82303b6de1ebabcafa129a6b61daaaaefef89352309a2422657fe835993573f5d80127df8433236b52745566e3d2c041424631297388ef241ed4cf6468a85f631115cf9bfdccfb3be173a4242e61822e2f8703b8dce1e0047bbcf6f27a056911efc6524d52b90c48be64b63e9f776ba625ffeeab7d0d1e8542a630a33d64759382812b019fcc00fd231b258bee51195af3b161ec739a428c0c5fb71aaafebea65836c951d27555be8966b98e2cd3d3bcdf7c0ffc7546195d3388e823d9b00f9ad11cd47f7df31fb379675c828ab778bfa11ca034ee82ba6a924f34bdc4b10ecf203a5c94385f41424d2d8397a1c3ec0ac01e5004331a707ef4e7f4acd38bf46aec732a80f5edc6bf9e9ad6e43e34072e6474eefc9bcb6c8a67f4f90deb72f1ba7b6ddd8eacde4331310d3c087d85d1baecbe44e33fd26c9d3ec21445142a4d085c7f9729c6ea616991e678e38cdf62596698aba6e52cd34a150c24ed2fe06079c3996f6aa84cbe9e941792700c22e4989a6adfd2da577df557a8cd52dac33879ce3eab51dd3b3d4c4d3f4889fa6a41244a054ad3f753f7cc878c926687dddfd112c86d82490016ecd13e908cddcb2b764384b316197b88b7cce86d21009e7eb09a87f7afe22ff22ae6638c8fb68c2a236dd4bdf45c53e86afe698746b1580f4c1a11420f3d8f5f331a64634017e6db9812b8d6a4be560cb5314da88f394709d260ff15ef5ca512a4bbc1cb38befb4a5fde1c5bb498cd83e0b5d7d180e4c8ad1378a795d26452626b0f6fc1b50d5eabf9bebd7a96553d70ee600126acccedecc4076931130a674c296697cbba89c4d9f485d65cb361b94de541ab77f6d315df542f6bedd1e6f01a819fb9673f2c26fe5706ee922eb52ee451d1169895764594df2af6b0e132372760c3dd869bdfd54e558eef930694ab34c6b51852f50eac0582cab831912a5ea971edbb3a2ba6f66293dbf81eed180b50d165931de3c1a2e8e010919b24aaa420e5f28d8c0703c35ed9a93173dc9ac6b5bedaa59049522d8a9db70b95d8d32bcc940de919ec2d64ae839e5e1f2c94952c79650ecf9aa7b86a9813ffb3f7938cd731e48e2b6bec570349b1239055d70e78b03561af43733e413dbaa1491fa078c965e246075868c574f77cbbfddf75dc42e257fa6b55383f79ad81da2d1491dc077dcafdda6c6b8e77a719cd8c91b1297d6c1b39b9778c72527e44f61d09da31878f1978cb5bf4d8429f5af8ed3c8d6eb4ef8b92b314db5e8bdaf15b3f90057718e2fd4d71165a14f10d48d0c9ba69250e2221c6a66d2d07765798dcc17cbe64a350bb8b4f859a1604cd6d5b8e2ae69914f77ea6e024524fa8c9232f9891dc4473b0bd6bb028a568d4bd82b4259b06c7a863b20186d346579f8d27e2df2d253d726c6aa81a9ad5aff0785f62f486823c38446903dc52a4b63e4b8c2daf0a413b81951e262e5fa77a1f01417dcb7b007882771e387e950520124931dedc36dacd79b81df10fb9938700063cd13afa51597ba07dce6d38da17ac068496e6341c8ae4d4aadbb70bbb45efea0f5264480ce849655a04b073be9885b30f3b420f27ad47a7a88b5755e28ca2ea23b1ef6a5e4ff80ff39daf2eefecb26cb9fde6fa2051149555eb61fa40784a4cfb3604fcc642a1b4783e43dc72ac09620077ae2f6a6645b1218b760a82343b4f1b037e3fe812cac585a12eda65847410a645fbc3041bda1e67e853d5b729b170aaaa7870d25d8ed55729d652e38f564695389a2ff7d41f53f6592120355ac9a744579711b5d42dfe22a047a69776b774d8d2b651f9a1a76e97c99108770131b80078b392b8684cb4b8a64550ada2495792361f16b50e1ffa761bf0cae1251d960ee93c0b917461bf7a5f171b69d4f7c5210f6d2bbc9b7a964a740aceb3259f2977fa32da32c2a9bcbf1dd5e78b6810d97b4f5c37dccdeabf6bdbb696201670c9b2bb2ab3873135a67abfe327b835b92459d3b51be55e66c4f873eac88e5e2d8c5d862430ede5dc24f40174e4178f568e27db8f3f4e9567bcdbef81afb74a7770343d6fcf3deffa0b863fc6af866f3bf5eb5be21a306b31f92b6a0df6d625cdb36242d7b2723fcfd385a8f09fc6164c3e00ed9213778f6f7f2481cf4f8df1d4e2f8c6b39ef4af8d1695100220ca8544d3f1ce80a5b16c456b8a91040bd5e0873b544da070fdd258d9ce5833213a1898af2109e027605a736ba89edf69f693c85f52a0215d8eb9344122149dcf9183e8a717fd5ffeaaf80a5ed5d1185c6192d108b42cf517d646a86781f24562c0fdfb0da0d3b7e0152e6e249cdefaedcd6ea1639907c25bca473e9b2c94a076e105c7d0357da6e9cbf65c03e10bd35dd549f2f8a222efc09a4a02fa1de21797f1a4212c7127ff0e6b71048af339f57e69315ecd15a8a7637bb4830a1f3ec9578b998ae58c372480c2ec2e49a8d9876da154b97b55dbee77035281719188acadc96448e132c46c222748f784dea3ff5d1722d77098a446a4836dac53c0bd74b888bacd9059d1da957a8f7bf4b5a4820ea912eecd5d649aa3b4f2ea4d843a9a747802fa2420704a84d81f794a59fca5df2e97ebe15b65b805318d875706cfd1abe972e9fb0ac6ef95854299562a86c94932a47ad73770a09f3620d8069bc1c37d59f01e6b5047e7b9b8760c478c39e89ec023eef7bd1ee17edaae1696ef562590e0eb5792740a3450b337a827b9e7199485cb723644dfbd2618958ed4ed058afad0ea18330b8629627262d2c32c36d01fbb932daa5a435fca156579a52c121e05d8db24e7e3155ee29a9ff8c2bf971e6d5a88cf66d7f8c2ffc5de807cffe8bf7b5e97fe9a7d166b2ede9ad8c5a4f8831d84cc790bf28045b2443a4110b918649b1ab73405548e7f1bfc5a7cf4cd8c3d409539e23090d13e50c29cc122bec0e58049d359946f018deac3d92227743b102ba6612fa8f8fc9ad3e731451f5eece7d86928935435118b76ca52bef6115591c5100a6b7bd26857df3820c7928a7e4a279e3c9b2a9c995bfd62757fdab6595b9a94194defc162bc94f24e93f3cde485c067eb0c7ce178f29950261d82d935d0168f25cf900efda096336690ebf579f2e29d9aee4251d5c5b9b1c14b7abc6845d0e390e059f7afa63593dd23a3d8c5f71bb52479ac2fa641579a7d39e3212b3e0e15124c4ebd784f58cf93c46ecbed8dc20ab4b85ddcf91fd26c1d64669f190a72cf549b8670b0c9c6d07a837fd08ce5ee2f6b47b48ca695ca39640b8567c90614744564bba2998c16ded317701c5c3650ba2eafeacf2408c3e594e6164fd7d379528f8f471e02e31d204a2ccd6f7269b250778a835ce936ddcd6da001778a0487cfd83d3b4b3ca8a9727c5241cc3542e9c6ec384b9eff64fb402fc7637d454ab2476a8100c239e412481be3612f8abcfe3b3beefa67acf4982a00e5cbe6d11fbb05ae0fdd758acad8835d0847e604fdee21f3507105f2d4de760ab60b3d413f9106e34435d785dd257bae90849a7656a4c50e16552ffae52b373f3097c100d3ef29dc7547803f41bebfb657f271aad76cd4b6714d1ac1a14ffc94e3abff319f3ac32cdcd956fd85bccf793c3e63db54630d6811af212162b34f7b6fcadb2f999e87d11e02a30bca59ff42d296d4fd5f36c374a8351025e92a35dc1afa9fc38d460e98560d517f7d5e3df9cb7cb35a98a7aaab28fcb813075fb3c28e90d499bf9b4f6f59d639526842fb91bf3c68604d6e9ea3bd3f60b72e8ac7d2cf65f250ab402660b87eb49ebdd49bcd224f1e18bbe1e45596584818e7440b890b7733d8cb71598e23732287316e31bbfccb98187d2a98850b33b527e2d9f281dd28a96f7b40ad1a5f5d311ba2acc3250ad3c523f4e6898af35459ab8d752fa0471f57f3838ac4db3fb8ea10fc40a56f69a9cda9e1a542a2fd9fcc6d652ed3005ae52fad229d3c889d3a7d42ff67dee6169849738b9dbc795582a02f64f994731ed91e31dadd62ef9a8c12c00a463a5c5ea713c1cd3ebead2b1bf4d379fdab18f5259de8b6fceb4f5722da348fa4d818d87e2049c9262d51d3a776d7f27f9a3e14fbdb9d55da7288b37268c4902e774971065311f248cce35c0bdff8d179940e52239af074c93bc608451a2f89b8aa5a99246c52691f271571047753aa89b041e4227bf9630304527c10092bc463617946ef848669fa9b7b860a852dc57b39c9dfe39392cfa2c0e1d0e9850fb2798c098db7072909bd6a256df129b5e44437b6a2516fcf70c8d445e6af1cba4da991230da089c0ded004ce988723b816fa56ca491857f7d46c98a5e4510551740246ab79a48bca5b486002c2d50154404e9ef77c4065ca804352975941c0c47e37ff08206f467abbd1729d77e6b01beb65cf131ac5a4efc6cea1bee6a1c9298a30193e63599f97263f2f9bdad42881ff61fb4ece5b8ddd2e6d41294e2f5ad7ea0ac7f59a27e5443d7e8563e53888c9ccf63acfbdaa0e84d044134f68423c5ab34e24b9931b2f7790b97e43378022f562744667b9119d8a1d859c3265d4e2b0fd9f79c627c9c99cc4c2387e508473021f5676d1e19df66b0007281acf77dcb186925fd92779bddb6a71795e9795557b1c95023eeed6fd6352c5e8cb768ad503592ee9c889fa9c8d6f0d274cc258903ca891474a5cb3cdb506bc0c8cb9a72ccef2e91672e2586c4d3901189447aa8ad645c9871167ac672fdea315053529b98b146404588b021bc083f2af653645911e1acf9d4f51dea8a4913d2de69ee5184a4424a884202f92cddbcd4ceea1aac3f1b2a505bcb1948ee6ebe65845e01f7c32ed2fffaa771a23bbf0a505fb737199b4e2101c576a24ba3b56f6a313dae394e2cb7d29eb30ac640a7c1814ff962c72c1e5551770e9910f49ce0f4f821b0d3e14ef8cb8d880b12db2b0cc71aef2703b5e14a43605bf5150c163333c8b4590a59216ce07bfb5d14e2f6c16ea508563480a06accc050b970e648e405ac0e73fc893f8a5dab23faa72bcedf5eed3d64d3b1cdce2e7040bd791c65b73f77b3065f98edcaae8deee5d13d491a3cc5494e67b83f564d246975b37b97530531c9c909484d79cd3664685e7290d1d9b79f3ac41c99d7b2b66e79d25c2172071aba9d568d772c4f656df7bf3a05f40affbbd4a8a8827dd155089afdd3f356e32f16ec8bf96da7d05a3cde9d9b0398f632697d35b8740ce122475f3afaca9d0027ea06c041afb7b218e29671e4b87cd1b84d0572cb34eefa491953473a81f38fa67fe616b2e4c96294ac7cb3fa8fe1bc7f04fdb5744e2e6b3dfa20c94a8284a39798a752c4dcc3427a439b0d74852ef2b22e5fdb7e7880784c0482fe555158b8acae0455b138d48049b91755ed2f7b616dac5876fc045de73cca9b03e0a4f65cd39e37fcb73e93dc7cea3c4dc725a7cb9b9b0d6a061fc6d6fef2d101327aa727698cdd9f212c750e4639272c4bd2334496e078f03159d8d095fa2ebe809dc4aeb77c597ff007e8d3516127536bb56ba9b61946293aecf855bb06c06fd904474e1070f1cccf2cf3052d32ec0e7f08bc53fdd03390ff31f393c99492940ea77883f54ff020ad8bcfaf597db167fb8c37e9b914b9115a59425d3bc4c676b85a0d0607b87638515c886d6771a062cc885570e542fb6d8d3a963243ee472a89c57b8357cb86f9f4e57584f9576caa397eb37145a7e9b0cb34a4e7bffe5498edbc109f3c3b89ce31b3d5c6829b2d232671957e555b50c555d6ed517c37c50e4db136378e337f3e98ed541be5afc7cae67bcef50533c247ced49246cee691a8f8c6a4550db8ce4ff730d26b5a8fbac5ef52d61afed12212e120b6c5436fd64225943745a76920437f5d5ff68260500995da70d5babd021dfe1b5474c2aa8742dd70ab62fb8a10115e3018c91bb788c711bf5f7502e8a2b644b44e3e6016698b367d33f54c3acf98381368f3e3694d43e5f78267ae861eb27a1ceaf2e949197c9b332506c004cd93cf018126ca264289bae566d8f4a723d58d5776a408dfda1e47f8b9e17e88599e96ae18a4956fa14447a9ab060a332006f3ae491cbe8b053d62a6a6b2d68bf782c0a824b4ea50e942e3f0a5ca16cc339e0752762dcd27d19d9c89fc8a2a67c73971af596a7d75a0b48f4e7b441673016925df111dd128b63acedb65c264ee90f3be46d46867f41b1936826aa19ef24a97f4fef9ab2563af8ce7fa6d0f3bfed2648fca6b1be347befd4f9c7b1c0c6000470067e949cca56d18acf8d2e6dd013bebe18d5389c5328e7bd8487e25b50d77c255e1d47db10eab468535d53c47e90396eea7813a11c1f24fc22ac17618ad830d18e1f280828048e88ffd1539c269f0d6d71ea931b57d1b4e78cad2c8a21ac5f55bba85af3fd17ada5ef04eb4d7140d1230b7850c5365489858c29c792f973a0c16ddc20bec62c0f97923cb6dc15d006a73224102ef718efa6cde893b5c614081833c7b27ab70819207a2c7801cb85ea561784ad8b7489c7c75cf781244ada6af6a48b46a84ede15c54e1b81979aca22c96906c0e6025f48909d3400e9e13ba81d66639f2b292be5632064bc470e5b9ebc7696e78b567dd851fa4bb6d3a65fa35fbab332f0d9ee8ea8606372a560a330e868b0b3d6c05ee84fa31f5781106e02b66c96bcb03543750e4ea8cb9affefd7e4c6cf1e52dc5601ef698f703c07a0c0af70c3795d1c879af2cdcfb71960be577eab0f6db258bceea8b3e2330955f09d0dcc75005edc4fd65579c0eb4c0802363a9a0fa92c38fc67560230e7035dc1273b988807d2019d7068a219d9ca09665464c29e3cb8a0036a921204c075e7365b2459e2c527868ee09487afdb654333589efb988c5b133c7447f19b8ab3d0cf80508fd2d684c43ae0862279eb1a33ab2aa0517f848d4e2b585c13915f76a868cb2063ca6f3464ac2a4fa6733933d5e6d5dea2f5872060ae519eabb7c5d454408de53eb78aab8c54428df0ee5fb51dad46ed4f1dedb5b2092fcef6477e4be071e8bcaa8f1f74b6b812804b93fad8bfd01fe8d6e96760aecb202c28fd22e7db3dc8647e17cdaacd1e6a8a3e3f81ded6cd36e2d16d914027a86a1d7a599e4c863003d41191f38878549093162aa0b41daffc730b99cb6cc97a8b0e14c63f772ece0a00e333911a470778dedf3016665d7553b851b06373ffd5aa20d39db503de2ee2f3bae28ee43c80428110c1a869ebe83b536e827d8712dcaf6b244f6559db8fc85074cf75777d63bb9f1da6872ac39f0713db4033e008519f7f5da1815d03bff3421adf7cdaec1d34e8710c35e536c7fa4e780a401b9c1e851a68e9fd11910ca6bb3aaa6419df0efa2cdc2b80122fcdd8464256cdcaa5a8d35c22f8e57edc61d6d60d1d88541063a67e563d1ebb02e6dce846aecfae58f024cae77d57dc627a054d785a6225b47983f75d2c92f75bcf7f00a4b3fa63feaf4000069f849dfe78d47ccedc04834f6686b11e8b4c64f17abe6b1388412847673f653ec8a8272bee75d5e633099053abb319a16466cd3aba63ec569e3098797d53262402ab04baf387d01549ae734e7c1964010e7da8e2c5133e24ad83f23df3f12a0306bdfa176981f7e1949dee244a7dd0600094137b2b89fd26e0e810ee30d26669b7745c5ba297bb1bbfa3127d34b30b12fea8c98aa3d8e6b0dafd82af5ab3696d60a8e079d3936072ce437e784ff40c1bb3153632e854ef0cb4029aaf98631d00a639e31e34bd0c50c572930df18282d630e5d7019ba9f559bd06f9dcd47fd8c9a3de889e9319f81c54305f4d6ee573047a7a15046455c04f8d590f3335697b34bbc3e6085020fcc29ceee336741265d8620f555688a272a9b7ea943ae9fda43149dcbae089104c80071d75500de3e1777ba471b808b626b89f14d6ccdedf6491162d8a783983eb138e2cc5defce7e09ee81428dcee6200e9a6efbd13a294038bb095e33d026cd8b1f419fe3b14ea1e508d90c27935bedd2fe00f8e0dfc60e28c7fb359a08eea19437ec82a9419c2871911bb4d5b37f1e432909faa5131f14ef3c2cadfb37febf2751d94831e103ed0c5b711d79b3f396ffe2abd7059740afadffefb23c6443f7ced22372d34aa2c450a90d092425b530bb5cc7c7035575d4c2ed465684f5227c18cab2163d123d64bea118cdaa4d6d67ed3237080f696a9e55d7156666547931c01f2cddeaeeb90165a4e4b0f76e1916d1525746f68e3c93c4fac902ccc6bbbfee72bed7a213816762fa996d0688fd38b90012fef1477b7df80a8cb05c207f515fe9bb5432311b00e4ac4af5b2358f38e096754325c5f1e0a677945c58c68009533d36e53db3c94fb75398e28b0a1b6ffa81ef4468efd7d4a0b045610b8b48e7e020db3f9cef54b59493bd0368222aeb033d5320cbacd0fc134b489d88acc160605402ad3ce22cddf741546b3b86dcdb940042463c42f1ed6af8cc4ec35ac6d0b3878c9031530d8a1e521d1291b3ee5da1b26127897756b4df4892909c846188cee7ee68333247ce8cb52b9ad6355207ab28732eb04a66630e83229126acacaa059dd98faa1d10f4021093927239c2af136d77ce2504d4d6f9222ff2dab22803d8c545671898b7d11e7525f93bc298f8e29814ac340734f7745f3f11e5eefd22d25831c58477955206aeee73da185c205455e176580f4920404629e28c9897feec9a33687fd892659134e7e3c0fd247d5f0a1bc59e3ef5f336bd380eadcd87f66cd44a28ecc546b8f1266a5f4ab90bd7d3a04497899c33337084a1f1c7064f16a469fd6d24d3fa8c480d19a33e3d26c639c5d9994a7042c36503d74a7435b6e72785680700f3c39f2bfca070f27416d2906f1b8b7f002dcf530700f7d552155a70fcf70b479dc0524feb1b2b9ce01846e4aeb5fbf4cb9d301e4bebde0da3e28010ac440a4d2441f613c43da65d1cc794d884bae0837086213304cc879644f45cbf7ec170c9e7f24ad238c9f1f9372b5dd254b7e8c9e66bfc15fc59d2e0b643409b908a35c8cbdaa52740d995aacc03253b9797949e09f27c10c87c607bac0c8170c5ee5fced21d812ba964e04b1aa68a57104ca7ff5d138fad613a04b1c424b66015c55cbf227b6339adca97127eaf2bd81fdc835e140205f553914f2be4aadb8e4a0ad7e3a2ebd06ebf3078585fb400cdcf998fb02dcac5bc7aa298ed58f7bca4dd73cce57df8c53e9f305537588ab4e3d492d2c14b68de18f714660bcb7362ccdc7952d5a3da32fc7a1bfeae9402d08a55c1538a2e51bcdfa651ce6aae8e45e51b13b1ace4e40a3635a9578cdf124e40f36a4d1c356b5211899fc3ecc461a28dd4dae8ec2d2de58392ff20413f88de61cee11618d8288a044ecec0cdefe9971eaf7ac53df6b66aa5d29afc07fb3080ea403d7ddf79827f44dea8c8063a6c6b251743c71bde51ff10c5302abded4ce6b45d493dca4142549c33d7f9e354d8d9b2fb4a76d084a6b5e7d017b5a1f65b8aef12e25c5eb8c6ecfd8173ebaccfb514923a245e6b92a45a5294ea96868df839fce09d24eb322fb3f0ed927db2cd8a5cf4c5779fd8e2465c93153a968d30648b342e273797c26360d4132acd0315920722ceecffd1113af91a98b25ced9f16ac9ae81e59ab5bf1ba583411e3d68259b589c5e3bfb7b45a8771536392267b5ff4e7646c5cc892ec651dc748c56f8b1f871ec62baa48a2660ce22911ee5d0cc6389acd9e34d000a421cfd1696e372ab9766d5d92bec2104c373a820e29f12abc5d6c1c1ae7809f8d2ebe4c912fc1723d17930a597e610a0493b77a059ca792a8a75c8f026ff7f4bd20427cec0828efae18f16f3cb0e718d8d72fe71baf9cb620094594c92cfcac4cdb25b538c05c9b80d6e0ca7a1487e2d0e3a9c823de4d78db8a14002527c6934165c164fd49f2503bba52c533252acae518f39f44fd3e1c659bfe28deb323d79d599588954a0b1cf91f618d9ab4e390b2f5b5f2d9e9e17992b547b41f070eb73229662ab7d29f53997144ea3f90a79db7bc0b9c80fe3684fe328dfde854f611e7236547c81785fe0e57c1bfc9b009f31d432847243c6b828aadff579ffa514de1e460e71cb98d1fdc221fd112dda62ef0d275c021ea9a5ae4f426f55a248d536362ee0391e5d3c27a10f4779d80705ad9b2b3bd508860ade35516090fbd82091dd914466dd5f47c24e36a7d60d14b8a36bb67181e91533ce6105c8f0dff7d03560f177473bd798c7848a8414bd89c310b90171755a42fa3143296e4fa490997911926ef741796b95005bb51b5c854da7188eaf3a34bfa767f1111db92f6a85771cdb251814420ff3491b04a020454bd8026083f29f9d2b081b1d93cc2c6063c0825999537621c45c9cc9bba2705d0786a2eccac862be13516ca9b17ab08eb0cb69beee8f05617b200e2fce06723390e70076a825016c51572d6711c2c1a743e05bcaf7bae731e8c9f5696d6b07ebfe3661ec07ce7f7528e5839eca3faf0ee1bb175c95aa5fb15639ce8394a288b223f9fe7afa27649d1c98fb698099fb34f329da645b584468bffe1ebbf067da28335fc78ebbc7d0eb6851b69e5fbc10ac0006dfcfcdc39280b53aa1c39e637092b978d7ff927a35d1b82d80054eeb9397f13b4c68c3edc5fbe5f51e863033d88e02c9010c5372efce4748724bff7c5945ba6c53e0c5be0d472ac85849573b0939429019d0ea5a7be464c7c9d71b0251bda48e2f4d1ddc573d5704ebc0792baea62f641544b1686056462f59743a91e1c3363151d06e55e7bb469a6281253406b08f898761eeb663e4b904635edc3601ddc0c2131d81fb25e104061c0bb6bd15f0d6000036314feffadc5653a731ef54eb8c931ae4d934d1dda841a43411ebf1a4ff1ff0d3a37d16fb69d3507819a51802b1e82fdb02764e633537a721fd1905c4e406dcc3c289928a7500af03cdcbca565d20255cd3efafa7330e2d6f4fe50dddcd182aa21edfc7f4d4b69174cafb1e267a13a4a67c35a031d54f75ffc0b5efc60132845f4556d3cb70df388a4d55fca750f412bee7823a581b39990c451c44a4d44e07bc09062632a9680243cd13e816b9833fb70092077efe7e1f7309d8a9561075c00480e2044ba6620334a39eb0ca8fe2e25b38c89499f75918f290fecffec1719867ab452595a14983f0e0618f1a0fa394e7ed1dd999e0040320d0c9e990258b06a5d9f39d6009f2f7fce999bcb2fd8bda299a8cd4dff4744cf5ded4974aec0c1448e2ee20516819bc1546786bc8400e619aeb6ee7818ec8dca2ba461a7ace0da375b565a97463a6aaffa4ed729431266e1facd7c04e5e00fbe650b5e426890fc46de280341e56563223102690ad997684aae4d007ff7d3c7f357816f2343d6b460bcdaec21644246ee6813fbbed9fc4b3fd07723a914d6c2ed441821d4ab061a04a2c918475da9473872a60e166b365153941c1de2779af8e2341c941985da66b2a828398ecce02adefa08657567952c436a5ef25ca40d892bdc2a4cc2d246bd98137304a48501bf3ab25ca9ba9fd0f822b4b64eca136b29db0268bd7c9b49c5dc98ee561828f57356dfa16cf97b0ff386f9ffd844a52a95b99e8ad0b8da66654b1ab82232b1d987eedb3ac7fc548f93b14f6d69b2c442f0f003f1bf37c762610cc3b229aff2526eff49e28b56f1ab808c778deca606e8d987f8d363688bb471f6f736778396535e6bb0475c6dc281a74c9a84fcb8a64b5005f6608d714da50e5254a111d29d274c414f1beb797c6b1127477682cac56d22dd3f99afdf8ecefa42ae61ed4b2a7309fec159d36e61550f0e95b122d241de464fdd0ef86a6cdeebc640f7901262b46edd4e52f222685aa1b12bcfc91fbdf5931dbe2496bd1702a2bbe25fe1468bf574594d5d10ef01c3735b06c155cc2105b1ac9853ab10dfb4196f744447ba3f7acbda876079d5feff75a5eeb0777bb60406768ee475733b2bda26f31b90198d3df6fcb70ed555d0b7c2db3a687652a2aed5f85d01e0109256a367183f34b7b31e5ec8c0a79bcb3a8b79650b2bcce23eff2eafa139b935db5e29b887e0e01e485b8690868bbf6954cb90e6e6795ed18985a42004873ac040ae692fc5a5bfda028d5756cf3c83dae182de35b81a36b17c50031b900575a0164ce19c77d1329b3e73d7e48fcf79d47632e288102ce585dfc6d5be38f817de50f77480ad79b87a33ea9001ec42bfb0fce431936c0a096f28de150b94d0911dc3df5c8e15370c72d909a258de700abf0cca2ed0e32bc689660d6333762bd3e9a6c0a45320136c5aab35d506d5076e3109137d68995288eaad042690f33d1091d39f6d2a6033ce69d44c18643aa3dacbf8347c39a981c2d7c6e1f3280be2cda4c261abbf359a5de896559ac94ca706653e0bd8d8b37756b6e98185d6ed4d47c4e0e1e454468da106be998ef8b953277155984036c96e0ab7547a09be2360f27c4bda275a4b92dc53a839c58e36ec2e989f580da6bdbf4524be38c0bfcd590773ee99d60e7fd3088facf935ab43f148b59a7a0bd23bc5485df608ced9c20df05b11553469a8a21fffe19b634921e3867c2e4bc4e001c8e5e0ea8ac4e435260c2f11155f2bea33885ad1270f3bdfa4b655306b1d0808652b63186b851442bd496fbddefca6bbf4fa00cff65a9d1b3f2aebf761c66e05e3131105aac38987a224f561002903f209b4ca4974267c46554cdb6a58c1fa34109a42b80c225a8783a4152e39707682a987e73fa81e6061dacd32867fbd41711521498f217e583f5b10a2f48484f3358ef7687ada5dcf3b23ba24af3026a22412538121d15e2169992315d356add041924aa96f9e332cf467b8d0389f213d172205278f0cdf85058a4797e80ec81aa661c4844a9485acdc9aaeac760bebea60d796209e7bc9e1860a443a5e2c937f2106da0b6b84a6335c0b1cad71515fdb603253f6b26cb26b1fd1cd9b4addc9200918f3bfab5b3f6067e929ebeb0c37976dd0b5660ad5bde381618ca0854f8c02d885896b70414b561474342c623725a2004aa394502d34700bc03a781f6ae23f51a4c603d43f64cdc00acfbb1747b02281282bc9f124f480e9fd26ab5d66bd40ef9b57932e995677cebbe70b6fee379ae6c3ec22fa9b166619bd67d733205d9236566c0b8779b98774bea53da9e73226cd3149c1f16d0a1bcfaff0ea57ae22c874ee83c5a88335cb6a285963368b7c2d2d0952ad890f940d463b40d6aab2d8399b3240179e82a3319c6508633c18dfdb42cbc30b7516394caa1a91c39c00ed6a8c57b7c43b28d51bde2a77ab84d86990a6a5b4e5de31860b0caa3fd38fb79155ee1ab0e24652cfa418523b162658b8a9d53c3185b6ef113b281dd84ec3a491b6755e013d69b3d93eabf382bd8a072b5d46dfdd0423e354c2c31f50342e0c9c2b46fb05aa8da8710b72114737515cb1566793776b26b4028f549487b45b37c5c2ae97b49dbd24d133c282d54b48a378ca70c844a32eb73ebd1414b1f9e827cd681cf0daab636a81bd7e9bce013a5d5f9aee03b93887f5c54f036d6b7eb61ff215e6250eda5bb7a16f8264fe1f625a6ddbcb240d01e3a8ab9093eb36da803da2b2ad7e1b3e6be454d246ea0ca934674f3184ab451d23def78f611854f27ec49325fe835d3a109260651e6170fb6d064bc96efbf38a1fbd8dc580149edad2dcf578ee3f620b84295825fa5b63d9d367b4c3da97c875355cfc4793330af2e1b7f8046490f6ac9a0d7731b757b1b3a2b77eb3e0e5216fb04c4e509bc4f5ac0742cca4824b2704794df4ae0592294e44fa882f084154cf523d8ee14480db65d31a21297a9ef1f711232691455f4e4e398206a1123c634239afadf92360c3cb2c2edc1889041510b68ca2d02a66f52e3d42cb6b25af4fb036fb040554b7486da3023e0f33e2a9499335d11518be40572c627928353c6946ddb8f704f2d98d8b9073e9f9c67bba874b0cd861e1c95169857d67f681912662d98896a01587a0eadc43c8d13df168bd4785967cb083f16c78c88b9fd55ed0ca3fbe0bcdb072cf635826fc8a66a395d845358392dd8e5a8d82f0fb62c039d2b492ffb37bbb0e659bd9ac899cda4866bc36ca8b788cfd751b2e211b307c0daae0bdcd596ebece3f81e84772c2fa54be239a147e9dcd73684aa71dc211c759d26a7915a482a698419812c6a07d9aef45decfca8cefa727ea4b322a4c5fed58ea05cc30bcdb641fd1b43851eb049d615c806b0d946ae29c560f54c5dbfd70fa90f8b0c04771d23a110e3e462a34e6a55a1619acac071afbe1f9afeaf41513185f1f30719107348e5e5cb1dcc8d20fe2b8d2e735c4e60876457543dae339e42f4f25f1753e758b88a75b32b9c3cadb33df26ea21e896c1124670c8bc544d7e61583b10dab29896b89eaee7c7dc0aa5a8e446bbb95355e41a448718d14845960bff0ec11d13d8b7cffefaf3675a8bc717d51078d62aa5345d380a33159a58dde9baaff358327021c2be7afe3d2d457c6a2b86df1288f68e26f0498dd743028a48a2a4b4eca4e3bb073854562fbf0f352e5a1be57b24d9358364d4282a65379adc9dfac540bd3c264c5b8f72d09fcf16655ec3f77b8503eb5ce75af761afde20cc163b8a513eb0a17f3ed8a2c6e66d7a05bb96192e25d072a8d2427b8f16274c4d4639c863ab33e180926bae8b12e6ca7a08e61ec18a8b338469161bc92968f21cca9e1b972b8661af3e64bbf2aae23c9b29109a235f423e03b85e1741f4fde25a2c7c638b3c49b98d5ed7b265c58c4b087ae422f1f7f1473b974ab8021954e206626582f6b8f5ebc976c8394135fa1c9a8ad7fa9a9c8d56c86a15beace885f56123a812e746c67a22929e7da4fa1e9d8fa9e2cdbfe12d144f2c0737f5f70727f9dea36d66a7c8e66847fe70837b6b48f87445c10f23e38087d9f281bc089698d91c51efd195e1390f754fb58cca34efc1eea7849e978a30bfed726c89783539bf47edcf7b8ac9976b15eba6cb8bb29563bc461b6dad2f24d94036254c06bc05e4a5dd5df87af84b894bef4b4b1e3aca2f93b8c5dbb57c531607c07e53e093a4ac3abdd0889fdd8d86a4edb63a6be3a25f737f5bcab0e6ac5f928a9512f3db3a59323bfce307cddbbaa04d7ba8b95843258dac0df885143a6c126416494ad6d2ce6d54c78b7e714853b815020942ce1845a82cd29bf2596a3b9eec7591013a5eb5360bc5f3dcd9b4ecfad62bd3d7c17b53ae7e9606a4b56aabaafa3789d02bbf82dce6aeb70c55f7652fcfba119dbdd3007e67fe010747ae27d4448205e5e8a613841fe261c0f5d0bedaeedb22171fdf4c4a1583937cc3ada23417698934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41a98934f4d88c7294c71279d437720d589ef736ba3f9d7ff8d90689429e84ed41ab1156a1c0d0f93c52b3e3e492720dc6682ffb32b275d534428a4f74ce1e2a0d570e2105266fb30605f44ed00682e81c20d68f9ff634cc5a3281f45a29dd8e0cbcd121cb84ea483ebd135f7c3bd379d0f6f99575550ddf36bef2c256d82ad6c15447b90e18e6cd1d12ba0d4f5e7cbaaf42cffb460299266e96cfc1a8f7c30096799879d0758878ae6024885339f4bfab7fcf865f444fb706d40fb68ac043ee8a7d69c20ee68ff05364679be166bcaac3921ab562a1af6f15c076bf7e6cfe686722b7b7139a1bfad933f1337ffb2c82dacabace37f3dcf520895e15cbd084df397abc69d26d74cbc69c82eb40cee2af5efdc5edee8e5c5950beba816f88c978ad714e6db28ba9d2d4c951b00295e4ecf5b6cf94f0830ca691d6160290ec8734094eac687284c2dfc2b8c9c9e5153863645da4a4b5323b8dad03f6308c182ecc19cd8b7c16010a5142d09786d1a15fd8cd21a6e6f23bcd972f8638c7f4e0578f16466940103b22059c78cda99e36eb38cb76c7e78887d8eed588e71c949ed5f59b84a470caa8e3ff53d5f17005cc08d3983b3d03e09a98ee7c21f0b93b8e420aa47f6c83980418aaf582eb602215b25163fb15f65c388b03159d5e066f27e19277634b3fb3365ad0f14eba6f715fc49b907e972ed2eb302dcec208490a02e4e0282af8d065eaa1fc61fea320084dba5fafeced7ec4d552d4cca0e9a30eb760024383120e0c4e361447fe215b0eaa4dc9bb6f52829d4b55bacffa67616020aed76a972b440b4ed2729f6b038ec457f1d43884aef74b06f129d324f6186514543e269cfeca56802f6fcfe22aff0647c756cde42dcd800eda4aa858c178f6cae8207a1ef269eb6c508236feb75947be5e11dd1cb4975745c903e506cffcb3dd6669c10ee76db5d28d1b4cf315270ca23fbbe3a46a37041b57fccb27e20adb211d6ebbe3cd5b7077f655008ac5bfc92f51099299dd7d2f8ab28c4aa57443191e92617a35f373ec88b855966d52543539388b775f23251e52fd0b1ab7bf3d0ca988803c0f38ce79ca9e00d1d754f31d98623dd1a331bf29946f6709e3c12fc408145cf7f0498a1e844d07a6f27250876f039b3e58c30a2b94a1fbe0018733d7db9b3188005fcd3e1b8bec80531534247f2e038df057d2f8f43246336a0b0ed6c690fa44dc74b42cbb389cc463d8540b56ea9a10fd3f449656316d736bc182860fe7f94ed9af84020f4165dc3a2e90e3d26248b6542c2a48fc64b25791cba97328b07e718d0f61039201164adac63e340cc21bdedb339b0c257e78bf230c8e537d19c4a7f343192cf05d1226517b53cd80b65d66ce166dc1b044134c734f6aa463a2d848599d53c65c873d835ae2d8ffaa5cff47f9c8b6bf444d64cbdbb9eeb4e79488cf7198d2d7a9990a6f76b6056dbb5a2d04c1e379c3b7717ae8aaf503486e9c3dd57d0f3e9d3412abdc9ccb6eb993c95b1791f44ba51798badf1851fb2a5621ca9a16508d98720ff7c645f3d28392fb7529b8e4ab0a69860927b18c82261916f45c00b49ddf0aeca9f297061e37a04714f3a4e27b93444e0e4168faa4b6bfe1a952e6a8e532a61bbf8b72de1621f8d0c557885eda5c36492d892f5aa3f5581b4506d2ead779eea2d9c58a61c6de86eb667f59922deb4884b90ebf346a3c45704714701e5421af1eb4dfe4db34a0cc9a5c8f6757a1c4d7c53194995e92f39aa3660dd538334bd6a81cf41d3aac1683140bffc7be1dbc9da57a47fc27f862a9b7ddf4b6605cb1e690514cdc0f430c8e7059d8d56a77396363d96c2f056271758518da3a91719079fcde0c3ac13646dd89e2106d8ce2d5294ad798d1334a444be5c80fdfeafae1f27814fbf07ae89ab5337b2f7aad51fb8481befe37ac3bf631a04c167ef3532ad75f8583d9335e601d380b7ef21be159e52d57a5b6606a885d79f54455ad69a804eea503a6d2a31d095b62c98d2eeb5e13710e3290d0629ffb8f3a3a68a336d5b779c90ee4066ef9ee2057674313ffc758b8f9c6fe43a300e2246a799651a88a69eefd44263bca9d4e7dae4ef040bc88e022364838a92d3920a9b91fed768a6fd448e6776e4551c42793a9b837138c82c7e558b1a1ccfcccb55a5f5cd0e4dae43e11fc8ffc0ba8669c2b2609981f42d6d2e1ff5e37cbde077942ba2b65fb852b3a448dd3148167488764410ffd5ffb2e13a3a328b1a9bf1a06d9e5849ed40eb2560072035f6e108aee39627aeab9d09d8bb54b3797f181ade44a4f1b292d6623ddb858302dd616335751a883670c82b310d2459dd3d488bb0c9859cdbce072a710e22cc5d411f4f8feb14419c63ab83f68b5ef13bacbfad02d6c3bbbb129a7b10297cdc95419de917901b37ac5d11202c70e96d35b05df8bde24b2bd1a6e147bb390b93ac4bd8c3467794ea68475e096424d18802e4d21bc8ef0911bbd5a4d2a8ab0ab61665f2b7504f43a402139aac571f920b31894f5fe78781da64f0b6b2fee1577a845f813affad2f6cfa405a44faf5299696b645984f64302312b024487b277979a0350b26ea664d95ab83f8d8d7620b2cd1c39a10c266f51b3f8576dd6863fea067390dd0ba41191981f5cb96654ee66909363d2a047a306e065050cc0c4be7f27e5bd76ed09701ec5bd6f26d5df7ae7e18b02d347907b0d3b8895fbb5de7b416f55275e7449f7c781b0ae8e4cb3a61172ca7f84aec1647882640fb8a1d5052ce65180e05f3039a5b63283c67df201f8e5c6e4fd6dd729ab98495851d492265c7ce209420d85eecc50b934b79546751f62676b11bfb2604c592213b55e2b21d91440a0c58c4ae6d1696435d31dca042c3042c78ab64ec59cc900b8a88747065de6e569dc3949835eea547ab23ae5fd2b42b71514d1aadee5019fa170e1ae8459425e005793ad92c956765c2e7cd27d31dab38a3927f6e498ff10983514e2ef9315420a90285e288f23753b396fc4304f199b4d976724c5217d68d5ad7927b28a8ddd1850871dac03469c0dc8746e267e390a3f3b8f9b8b33cf8de7ec672a73e2e27a04bbf790066aae409799ff68f2b9fd4c78dc9348f83fe35063a6560cdf858695ca2328735e688b0257ab23d4ea6aa3ae46406aa665122fc86fe754d07cf33aafcdbe2531d9b6a4436257dd7dc540eb7dfda1a4d5cf4af9dc1a38bc0fb6c255c1d3f5d8de18e5b1c82c927c6dddbbbb2af82d6737554d24a9dfb55992b46956618f11d4c91b324a1247f35ffbe47c4c0e4dfdfa19a08fa1f54bc4c2c7da3af47cdb8e22dd08d1ae252df8ad37de91fdccbadbbfb0383b319b956804b752d4fe1f87a4614c5f93bf84cfacf880199bb144f64aec4460ae97aeae4bf85f86d9b18035f64107cf7a18adb3dca0deda3e3fe88a7540ef674b859a6aa0d74dbf3846b014a9a3f3ffbe2986bce4ab6e3de0862b34cc59af967f69f54b9d1cbd024269b25511548a855bd7bf0cdc06652ecb0b5d3b738878ff501582ca26331717d1488d3b17d03d06e74247587cd78f2f116e0b8767adffdfb20f41df9e6e500c653dca8f85d9a34e2db2f50af129fcb244a0b92e28dc29e92bfd0c39e19706a08ed36490b763c0ef16974fad8c644921dde863c067e83161490405e531695fe2d013e9370c5c1413ad4f66b9986d731205d3399a26c3ccfd0bde740935097b3e4e6a0832b05a93d630fd0c9bab4d003143980b0c97294af4b0335f94512513f83a5dd89b12a18485d536ce05cfc9fa286b4e6ff27f38b793dbfa9c0fd826fd35d7dc1cd1cc0754a03f510c7f2cf7746d3a13622cd514876f39569e7a42be197f69d65a611d33608c38d7d67e7b0ab45ba574b8f2fd92e2e3fc8dfb30763333efa12b3a61740e9493fd8d43d24e17a0bf1f6873e7dbbd67e2fccb056da173783e03c218b05e6cae87fe73f578124db651ec7f4b275da1857493d9c6477e6b6cdc6f93ad75f5187e5a7c07a973a86b25635b7b46733659c562e1a95ea5e2d88021d3ce20f3ee178264a46cc22ad702a7e314804f9be97ecaa0079072021debe60e4016957159137c0ac9fdf2fe1ddc9fd33fc323421167771648a556f4994ddeed19c190b585a2dae281a8a7e0d9a04e1e507636debe78b06aa343fa47950e21c5d50307537a5b0c2ff77ee0528ce51207a13d6fda8bbfcdc57b4fd4114719c7b657b7572ad5af898c900d7b4030fe27613610cb9fd4fd4939ce481fb36d68867b94b77147693ad8be7657a29fc034479885ffc20cebcc089ad9cf15b6d3bc5561edfd43bbe325c46c98b89d61f68c217fb918b14874e89b55187cf6f8c958f94b500477989c21db017d4a6286327f1d2f23a3d699777c54e7fda0b049086788005e4a04c7d0fdbdaa5d609cb3c55f6b7dbb8c75b5e81b80a260ae77380c1f9e8a81d8b9b2683f38399fb2ba7ce3f00c730a236c8c7d49e7708491fd5de536eca7fa735117841f85e1e4ce30ed4fe06a8d1d95568cfbc47a5354fac190121d625f80ff0a4d87e81a6bb4d0fa4409f30974c325ace8f27c3bfb6b455289a1075de843f0eae8f5774891bcfd624135d1c2498c6bc976b72c68627e4f086f8f23f7590561640692f627c4e68638c68ca1665410ee4d11892611f5230f773a3f0a6f0c3371c11f706fd5663d11d2a556e981383deb93b4c8a43a3821d4a60870965d154abe53ca8e42cdd9ab11b967c7a4e1409d2df9e32169ecd30a1eef532655ff7f5db5bf8a487e6b6023009fbea3cf7979e22cdd139303e406779caf1840301427632d4472f104876d8628553b299b43e26a2b49c30a00ebefa8ad75f11f5a7158b8f49663e4135cd63849c8c75e618a3963cbaab4c3cdff6b35ed7b3d7e4fb27669778a473850d2b9d60c0d8db6f3c4c4371b2b38e63ceb9857ff9e197b41cfb859f314a585b7d14394112fb1f53b30e84f7eb95c6d8ff95b7c1f3855e6e7a06dda53909c0b58447f44fc80e1bfeed9b101c02846df956c019822236b8aea6d7a9a2b7df898c6349e435597742e86d091fbdd934e95bf363ee1f86142a6a549ebcec35dc9cea20261ab8580f66380c11572269aae510a7616d2644a9ca44448e033383951fd02165d89d3c84e7b8ac80a30ad4856790e337e2e9ecc11e6ed5a8ea524ce1fe8bb01e619eef570c4e177e418108e1b6080dd254a7ec58bb27af4a45856bb12cd8802da31e2af7435ebf6321cc121262d0ac0ea2e22dd78b52a5d3bbfe31d6f81529e3809c4bf1444320981c6e6c7940296c1ff92fdfedd9b22716da2a1f92e5609c16f56fbc9fcb1fbd8e6d54d3c745b986ed2ddd281f981d66eede88feed59889eb89ffbd2fa863881a829b07bda5fc5c4666527bc8e43c13d53c1be8c782b474f76b5cea22202d0f9b5f49f65df7c6a2da17a6ef64bdd044c49422c3868ff06f4eec21049509d1e085035e2cd9217c0f798f8191e5802b2aad41d5d216bfcfbdf8dd1eaf360fe0e1b08ddfb8afe83634f0ac186a802fa2e146f6bcd4cc9e071a38d9f0d42452eb31f2f0116c5405f3d673a4db2f609e9dcc56f3812481f809fb76f4af5c7a15bed0d94861ba47f134ac1025f62ecaf8f17c1242aaf6c70d84b3cf9982b8f1340408b9b44ab2711dcf2e2922c3a4fe26b05e4f96ec391407cc5f4ec7ade231a878890c13bf62597f573ef90c09a0dd2ca4341f4d52ee7355f945d93298d16a210fcff5fc2f34946c26c3a3e0cc44abc1703ac29f9f3624840a6bc82e56b4d11829ec356cebc2327336a6146e15b86a2655f588b38b7729bfa4194da193f68a4611b58140b5fdf963867ee7e36cf1b098522e453318e75db63eb5cd94439d3138cb88631dc5370a5ae782bfd95da030e014ef3c6484381b540c6d648e2f2e4682b1264268aec4c5ec7ba7c5a5a39fa2bb03f5de4b150681ccb30075c90743549588c78ca5b94dbe25d1d0650132114608cd7ddba8f377325f5d557c7075ec9df5632cc6e2ea98f78a6f0b2b83524c78755f57d2a4b134462ab6f62cd14971e3fa32ef84b79e94d954e89794e67f7bc9f2a755907a4c80d00948656678adf0a30890bcfe1864965799e874075baf9da063ce23a7fa5dce7e3976ed04c9f622b975949ad8818f0214b39e1cf89c30a6db7698d633466a826c550cef8fad9e640b8695d0089e4bc2118471009ee4d5bd8735a82accfbe3c378f217036f72541ac982f90e0af6bcfac2d557a78c07e90b2dba66bef215fcfcb4f9d7fbe70d89cc225d6c15919ca757a827c15163c15dd243514e31a68e657641c3128f3cbcc4445aa570ff6bc12cc794d5a6f53ea7ff19db1d1e461b5076b04b980db4e5f18fdfd0d1ff3b3f0373fae49ff04c11bf93eda375ecbc869754cf640259af994bbda796c0da3c189279ed637614ebe9383f03f457a3587fce8bb2c30c4b6a9505b27f1aa116a092b344f864eb1ea741076a8144bbeac47a20449a434cf14fd11d43507553b432789e00ecb030d3c2b2c6ce9c3caba806996ca78a7e0e1a4fa83249619c63ed1fe9be096c0c234d44146b475dea01cf557d5f4548db7329d00bbdc03fd2f52a34534c0f08e2d9caec0d7886fdd6e09f168c2c034fde3bbc644c7b5f3596c3e61a18e863928fa8093ccaecc42885b11e25bc12c7afb17c2d543779e67ffec63a3895c2c16c774e1cafb288c7be6ec5b32de0834b906c01fd644a0039234175e9bfb13a607ca39d1bffa31dc5e842ba0e7cd8b90213fcd28d043fae1074c7ddfa8e7e6da227ffafd79564d43a8e293e9ddc7da49d277279bdd1d1e04007e7eb9c1ca7d1a049faecdf92c89b825f5d5c259f8de5cfa8f358f45a27fab9b3d5be12360da0f06926d1010f1065666dc588c5b180e4d133859618cced66847ec142ad4bdd91749b05e682a7823f54b9fc43ec0b64dc65c69dda1eba3e0e609a5d69f9261f266bd667924bccffd3d01c76942bfe15573c3385e9621d7984889837760f9f46aa6eb390333c660a9dd21467e7f999dfd06a796af245d9676b32212b59a29337b8f23b115571a9a868990b80abb2f0b3387c2f9128aafc129a0d074ede03b5c379b332203ece3862fa6040d81a9fb2be4b35fac7b67ff998406bc75ed02f26566cc4f0e9828032cb3682b779e88f9f84fd2b37d65553156e5813bd224027c0d1c35a432412303f044c4fad8020fb0f252b219dc758f7e5df6ce1bc5053a145592e9b1e87df326d02e57e9931d9bad2b1776a74d8a17692b33b28bc593b0c61adddfb422c49477f37dcfd03bee83220f3a5b2251f645fa7d7b2318144eb01be990930c6063a3a58b1c80f0c425a2f46c85604e505217cfaeda6fe5dac8129dd3dc0416cc05cf79f6d5b392f83dbfed4ee7eff3a0a1a58f6a0518499253d2b969fcb7707720a56daae0405623e2145c60bea1cdbdb16ba18084ffa1230120374f080d8817f74d4c6c8a640b0c3d3c2d074711b5877360202808c9291a9992e7b86a16d61002bf20422d74474c5ebc2b810c0d650917eabbc6aa57ef163a4ac254670bace906e4f5f589278feb190eaa88b4f3c2902c982b77d096c08fa24c0230508d2909b8304b74aacdac8fdc67b79a6348a28d277868379124c1b116be37fce0544f7df0d242344efac389976c3b97d290917d7c4da4c5679dcce7ef185d608e3860ba4bcee3e732c7466dd7e78a8b0ba93b61c72ed20533c4e035fa262c5c8f2693d7c25ed38dae42adb0b8a4de5cae55066766dbbfaaaa9808a5c55fc3b1f250ebed2687dfb6aae90b66ba7361bdb2a41022ae150bfde6c746c18d5023b9fc274eb4d4623a3984fd29dd4e82090f11277208ce4dfbd91d77470f398258e71b00237c5132349b4a8ee8efbd3a5ce6e03cc8a63b526f428bbf930242dc7d3a2ecc2b9369e6966d41b22139979a4e4fe4deaaec7c87ce3b12e3c19d150bf3659e90a3eb3653fe9cd5a5cd7d893483963d698a913e6aebcad26ee643a939e72949f29c692f2a6c102a51085bcb3131a7afb510e3bd8d4d754101c9811b56600c51c51a0dffe12671dab36af5024edbee2d9c9e65f0132d97b701e907fedff9200d1890d4b6809b314827f8a4addcda1f3f9978e1997d10c01204872816a697ed90139662b5a283b42d6e103b9a744be224d66229e4257f917983b936340e3c78cde5c32eab0d9664a36ea64918045fd9c938b6fa7c8d77b7621963c09c04f6ef9d8c4c909809320b8421869bb220aee0665b88d1ef30b0fc6ed42e8e216b2a238bffdc178b7054adbc2f984cc75dc76f6f6e5ee452081aa390608ec05afea3dd30eed5cf11636ffc585dff863fc9a4ae29b82cb5e0208bab183331d88d732892df474be705f7d0eb68343abfecd2d30f5d728bacdd2e4bfeaa7400dbcd08b13f30799077c3a227445bd71a35ecfcd5c8545f02ce33ca126efdf3b6a949e91d09795a8ba0d5442fd1273def62642468dc65c8003a1f53300e71dd5e16e467100bb0f4df65ce924249069e8fc126f5bdb00552334030ca1e5a4272e89bfc4156bfc9497d9b18f7b46baf0d07da162ce762ad6987b05dba7ff3ae989e2bcd21885b966da1cd049a38bf803d0bb4bfb817a1a7a6b9e54989361d49a29e0410ac09deac582d8e8d451a5cbf457f1fb190b9b3a9c45d60f7b9824d42cb1a9f92d6185dffa63eec180a42fd5723cae2a61484237afe94025d75dbecf67e7de3cb6ef60a21c138a2885919aecc058d4381f9f2dd853b126ed9df5ca46cc9e9ac4ccca32a7d9b817fbab863b2eb407331a67e4191807d5cb58d0338cdd614c97df24452b2c6962c8680f3ebe956dd75d8f6134d37e2e60375afcf3ba09d276c5f044045f32afff6d86c136ef86d37cee17a68d87c60179b2bad3b4d103c5cda0e1a066d30290cc74b76318233e0a93eb45ae80999ab92a3ea916d87d07e7b25a3fd11efa1237cb723e00d9c3684a6bff2d1a253f7f019f77e198826a19f0d7704108d837c89bfa4f3ba9996a39cbaba1a58e2ec054d8d0c01800f359a62a0475cde3acfd937bbaff9e7b529b1422650675f8c9d5bc50e3e805dfb7103eadabfb5729d2fa3e94c5070f3c9aa8af02529f29cc69ed349d2f091a9e198c1ef9d4108b244a5750eedd77a93f55eb82e78b4ac2e6dabaae3139eb65be0064f0f057e8944f4091e4bcffb61909b224c1b0c220592d7c429f6c795d8d93c10f0369e1ad18dcfb7668a5fdcf0057d6df2646436306f5a808d795994e58a507387bbd46cfb36bec4e720b2eb9480d9578b0ff0b9dd761de9bc941362a64c919bb4ed6da1408b3b28d9c9f2ce8dba847c60140cae5c825922645de0c7f3f00fa73ffa3b5a066b9f0530b151edaef954fdb27cea334cec19c913da83db36979c20b0e67226bfff3a2362f0b7d92a27a8f7640ef426ad68905dea2b245e23eb868bc7fc4a32a7618d75bd7ce2a950559f0b00d0265dd51649c17e2f5f494154ce185f2df0696606d0541241be764eb92fe7e04868b48164c9c5635887156577f16b172b023a8271c3ae26bcb65d619099e6fb41cbd400fd2ff81ecebce8f166fd49abff3500695e38cb588704f981a8ca894327c0f5589f9f95d8dd2283637d5a8916e0800bbbe663aa2551071d374f6eb6f8ef514f376592cfe159ad09140012d154624b6c46fc48db1f1505cbd3213b69b9f5a560da81b86e1fff4adc8cf432200495da904d1801be227a757e90ce4372bd8420bebef1b6dbb83407dbf753ea3db804e1fe7baea985f0b8675cb48a70fbdbac89f8c25ce75c1ddb0143676ed6901e75efe5687557e36e0958ec79bf018ae42d8d4d9de712cc08d04071c24280d7d1607f7bf3f1b6e108fb02e14d84c5743562678ca160ab6387419c73c56798a3374f567310612c2b9621df0469555758f2756d04335f6208486a55d847735e0d351e374a9f94646916fd132e72e4f994cbd57fa6bd0a3e3ef841cac5fa74ea264b290e6edaac22c7124936feff8752a4dedfa9701c8a5ff43aee9f1d230a30a54634f294b6678932a1b3581ba97241dc2062a7f2f2bcf68063fb3d3d3659bf7c166dfe1da7bf54353247c925578e961b3446175648bfefaa28a715d30be373c8771391c6d82d1ea3030ab5664f0335570478ef801090b14ffaef775198fa006ebef01b5f96097bc95f4f01d74cd69a195ea87f56d0dd6f232c7e00a91dcf0b39b29fe20f74e71613bd37a3696f5fa087e251d9ca590040e42286fd28bf62e7203ac087c9c0bb57e8f5d61320d5a9928b2ec4d5a254e39e5a456ec5c848f564f74ede28c7a3ad285329915a023486569be7f5de6b2bfb470db8505662e2e1c44c46ea81b37ec49bec570271045bbc306ab18e127493a1ced02696b5ab5891ab697450b3adbc92ad69aeb4ea0ac99251867a90c241ff5d2be32c39a11d41326f3a0efbdc370e1eb34fcf0207e9dc6893547dda4b3740cacb0252cf7fb1553b2ad9fef0156d5b813f0c3fd9157a2d2b7022216b454df19eebd314291b6142fad51d28bbc5cd19f2f88e81a7a902be21c0e15415bbf9d3d2b2a885caecd917f40d17dd8e80c8e75adf425622983a517790da8e04d6b8fa744d6b24b667ce8e43a944cda1b0f1cdc02c89f2fcb2a60b43c18f7adf3f7b90fc7d29e2aeb1b9e41692cf32d63a234f786385d256601beed04c5ac38fc4c6f0fce7471975ac8049b4ce00c6ceb616cee6713d3d4a321e5532f7d554f5c6074620d7f019b84e49c3bcaf2bc530df12345a427ba85dafb96b8d563f005265668675fd2a60e92e738f224fcd8fe259fe81df144b7572cf3f33d7c9fcbdcc6e9639cfc10290ba4cd6e907958dfb36a323503e4eb872e913c3e5063a764217365c862a5a77c4663fae4873319523f9882bc437c9c67a15d7c19f0fb45dbf3e216e05d3741193c084a256aec795a680001737546d0b212256e8f89345f96be7917928967f587741afaddaf6ea9506c0735e36eecccad5e8b4edd032ac1eb5ed7fb29d9375edd2209efdaf9125b69ad349007eefb83313bf72c9011bd69e67008e7f076f636c22c1d3541a54bf583ccd974d062f501e8f98d356baf904d6742a62432cbc8d7bcb0e4568b9b3249f241de9029849095d7971c74a84d8446969baa9708bda721da6f94f5a28b5b00a3258fd97e41ab84835c7ecc6fd47e8f47e5cfb53263646b526014f1daa8432bc5e937e4ee340625e9ae7640115614189588a04f6f961472e9c02c60624aba4de9f1013153d2d2fd623fa9c098dc96f3b657f3cab95b7d8c62f79717b8be58b6daaa876e8fb098a20b26f19cd55e0ce7b90b26886c65e2116eba1557825298f8be6e6744435c535912cdc99b17e8c421e8a34519af9e450b8cdf0ce9623501a8b0ead68c381f93d0c3c6cfcfe714f094c061dea84c8ddef64febd4e7d23f5f040f0fdbfbb15ad4407e819a0c2d286041d917897ba82ec50aeedf8c32b1977106e4d72ef901c327352891f89e3840e5e57ad637e7ee250344a29fb78271c94bb82af0bc26a618d0d0b833c75fdc9a1c41719d890ea80ac81aaf6f547ebca9cb910ab8dea81019debd497df72f6f4bec5e593be7f7634b5a2726d6464032042ff1037c8864cc6be37ed93331b105de59286282354f7d0a8b1d34e7f62e773c8458d31cf0d2abf9ef75c95802f04f242aacb016e783ad0b904a9fd90a470af8c38efe594415f4d7cb4afc772fb04a39f39fe093746355ca9fba436c50a09443142901b7389f37ea048e511a2375233e31b40f41b35d0197637f36bf9f374dde6df785e3caab3a1750b488f9dff841e0578b8c49a4682fd7947470d6cf0724dcf1da9b45e3fbc4a78470f5b85a4de21ff1872ac66d1be26eef3bcad692b8a25bd33084e244b33bd00f97e24ecd4edfebf620f41aa5b924e33e57460966cb91cbf25b5bd953f44443c32e2b7ff165676b0cb098b7d1db00badb23308749941aa8d081853658c4b1dd146558ed6ca8850dfd330d0302d88c7d1503e231c787bb0040b75ae8da8a8f61578986fd07dd040db4aace4ea946c444b5b834a41b2e9d95cd56c071fc767912beb87b2f92ce82b84de5f3566ba16a1cac8a7a74c70c455b225b1d7966dc4938579d941e98db6468da91e2c09a41c08681933521d703ca9ea231b83fc5523278c2544d6c6f5eb40725869c719cf463728308e2074e9711b3adfd51f5752884144c100dad9b76ae43eb362e7326ab33399d8a6a16e9926483f90dbf3f5c6127b0d031c31d86b757a583e1b5d17a90544d21d7b1b2fa478483dc01edbd6fce53eccc1a7f643e3d91b5bc0ec1bc0f2c7a5e3ced0b083683e2d1c5ea2c29ab5df154cd5d638a4e045bebcf3e68867a65cc40b3d83505b4be739165296aa7dc98eceba8c085348fbd894a925a72035bfba0400bab855fdc04a0a5e302f773a34d657f0e96968bd042388b99ce655329b036d4b324d2b3e469b58e80d4179b36866bece5d244168a9097a769ebcb7651d8d3afc80996a4aee47f8d980010d49fd1458e142e87d92875d7f3076d7345b78236c56c4423dba40c79347b644666020962beb28f35ff23cd9ea3668459ffafc3789282052159dfae34b0a244de4647ce5b2961270ae4f7b341c95c255c67fb01f4115330cbb8f2b43627bcba62c1917c45235c815a5385bdbd91fd90a1b17d1fc47a3ba3060a1a8f1fd6ba16d117b3a8372f6701cac4238a411517dbe841f330c47a755ba20d8e0057e9ec7cda507143f451c19fc63306d9d0ecca2dc85fc55cddfbe4e0a84a67831c880f10d6c48fd3349f4dad17a9fe385872a23b0b66cd49a73499fc02b88d8c64045d8adb7a596d104fdeafe91523f5dda285940a8aab2a2a758d5598d4175044ebd9cf7850c525cc786ffb0dfe88060026f793db47bbba98ad2f39bdf6529c7ca783754bf3e3e5083ddf3fb6a1fac237a421308b3d3e3cc562f835f3c5ade2552da612a9694c307a48a4ccfc38cb5f881e1cf44a995b0a42bc08947f24a562d5defabe61f8178701e5da9de5124007b99438f5378b798f614c58e108bf8430ba6b9e53517b1f531788736f9c825b315a4b9657a0a95d620c471f0068c1ee777a9399e7e6ae2bea2dcbb7857d9c7be48f54fd482b7409c22c91232de4ef6879038158f0b7b0bafefefeebda0b7045bf4231b23a935c19b216a953539459147078711f1a939702fcc4ec4260df6a02475efec2ff5d66625c5bcb4adc667febb131fe6a9b9dc8df4348f3be7151c96215de292721189c08aa9a971950032e7fdb222da0c70795162aab50521edd2b43eb34caad141df792a256290b8442dc21b4553f8f17acf4693155f3187de546094fb333f4b1fe1b240737b722abdc06903dda3a9f9b8f3ee706f2a3746c42d2715a8b7581092841dc1c58d7ebd53c472d897076441e28f98a48abfda74e934829b8053fb539a821fe5d174e8eb0b38a3470e9e14890db75124624741722e0dfca52734f00d742af5cf5bc1a3dbd69981060a2c245641e6a88701ca083641591a25ac00d1d962a1f9527c5f650f1592110e72b8eb3d77ab6bd80b9cec4f277e1e958da8ce3e12c1c5597fd5b74a309ef0229d764ab33c2339befb077d11a91cb2b6f938defb4e2b6b1eaeb4f3a5405d4b439c6b648785cbbdd0b0960e9df228b39248a00c76f2cf20568bc15633031e07bc317104ae7e7021ee106956b0673dbcad50841d3f845202ace555d3e341cd612a931860c24bbedf3813a0403efd33c875946fbecb2e99fd7f0acc534bd4039ec32a26f15a974613b7fd70137f80d4a7e56b8bdfa5992a003a1c7ab0bf45a44dbaff9a1a61e99e9f0f65954ac38f840f4233a0baa4243f167d9bac54b6889132576ff2ab9fa39f2cecb68be571c363b6d46842b1920e59add1c740d0563bfc0c0744a6f2095f6d24d95e5ce447a460866524a8ab807505e8aaf95db01875a2291577137a0f594c9dda584af765016336e254c3560d854c80b7410adf120b34389aaeda9a504c7654786724cb1b2cc27677ab93c7f59ac649af1834cceb60ea81033ab43c11dae692d9631b5ccee4de86a35f8b9a9fcbc5ee4448c86e5b4a8935ffd19ea61243c2b48a61cdb1072d05603bde44788ae2200811131800edaa55e749f24f13ecb3a3962b429fcb8ae9fdb60adc0cb3c4ecb746ec6479c1ba99d616a0ddeedac876dead2c584101353f312b0d8ea10f0b6b37d07f1090cc30d4bdf5e2e36679923e6df087db05a7964ae7b21a55774933148003e799460fd70caab324a61f3b674ee43a55a9b9077f193d8e2b688f6ea938230c4d9ca3470f6a87351dd422005d76e72800dbbde607e4ccfdec5947546b8cf1310c8553980ba74924d6f87750299dd56c6785ec8da8f326a28ede3265523892488830ae2b78ee2ec4375562c03c4e5ed982d25a1086e33832bbb1104a2aba2aa1e99cc12f0f5f7c5526044be99f6bb2218268a3c337878bb955c074ef16765571d541b44ecc75bedef302883f19c9c5af314b8b6aceb23afa78aad984c60ca2fadccaf4f3220c784a7b8d22544df9e727f16a75ba21676299e94c469f73ff475dd759cc9e18009f5331c0997f80d739b5c559cef544381767cc3481db5011e4048458828114900b89254c8ac0b1745b3a144bee4e85157a6174129f6cf96c1bfcd407883ca6f9967e5c4158344a3edf4185698586b393b1d9d520f57ea380c5acd01e82a11675d046136d88838e819254dde151ba495d981a32ece6ad1a79bc965e408f788399fd38fc4c497ecac82d1934d85b82eceefd0ab31c5071962267792f43fab8300b06ba83ea96d3a32c9eac9d42a8f21cc2521238c802dcd4b797567e8b0da4d2bd1d28951f13cbd7314dba1755ece0000a041f27de9920f43461c633f4f436c0fa29593edd88ef3538bb31ac14506b979e72d51c9b4283d9c27fd9ca1f4adee470daa058fb5b6ae37d575372594e39318c87c8281253e6eeeea77adfcf7062316f62f4db2d00191b148fb81689616975e4085e37dff7dda2563f126620a689986691d5a0bd3976f09e9d8d801de585a64c23cad99a4dc8598c58c6f17da68300cc78c90d25ea86d747c4ca2e2ec76f4f50d359cda5112a21b262b2796857d1fd9da723bcafddbb965aa55425c2826d0209922d9d1ab71ce35ba13840b347d694d77c28c0f8751e7d223eec86ed50f50ad17a979192074d69e2f994b187d89aebf12a64844d547ce0798464650a4b37afbea28807430408306677469ff99297ef4a57a86d3abc3dca20385f1321b0e62957503204efd23033123fced293bd672d71433ea548d01f8f7b976a58138d20c15fde89b278a8f2a8e9e3fc8d58db04c05144e61093b134432ecae34dc7a5f52d745520d77ed5889f27e2eabfd45a320f571bc7c32dcf0c93ab1686669d06d7e2c418b33fb94ce04923a3eb449c76120a3de1ca570fa9bfb8760f266e992a8211e27cdf3b32e1afbe6c4090d5913fc5f66cf360fb52dd204ac801fe392cfa26c470ab9dd3a08e569e4c29b59270dca85433efdcf59381fff7e20aa931af120d73d64632b7001b404a00b614c81a8fe36ce76661b36c3b8126749f49e96bba6d8a550f62cb1c1a61531449381ffa02e1fd846542f163515079c3e1221777a3cd62833e7db1229802367be444b2818bd3bec421785f9fe3d3a245c020a924a14709097fb0f1440fdcf85067f51f55c03eb1c73bee6518e155f2343a902ac0c7b3d927bc461356ea383d35a835bba777fae5f14a80442afa58a3d1a0047f19d5937db2cf87f926e32080add4924b32bcdd80a596b8454b1e09c18d01d46ac5abcba40057c339c07dfc9b7f2e612d872436f8301d19d9417d4cbde2fc080826fd0bc57a36aefc16d955f2e50c3ea923ece46e876e9aac7e5d90e46770359fa2cd025da1960a7da4690937e145b413ee4284c335ec3e77712886287ea4e6655f7e7dd16192fa9a3ebef26c66f97e89806b45c430d9a55c14f02b2ee807008c734568c72d57707bfeaf0953358990447fb35e7bab43e1e10f018ebcdc02244aa35a37f55786813116231e8196368a6a4b99cf9a81ffcd9192e250eb4d7b37f152551c756003eac7098ce99f879580a144a412fde44fbff1d9ea8db157471f5c2dd903cff8f9315fa4a9d0d2f1c82c26a63b12c4741ea429bc42ceeebc2ae44a4a9a1044542378ea4be37caf010f5e29ebd875762a3f1b93709876c0e4c597c173524f570582d1f6bfb9cca359aa95126594a522c9ed4718d03f8f99b9bdb9a079ac7fd6a451cf7570eaa966933cd9240e8e3f6211f88b882bf7a938f322a444b91935eb6e957ee7f3aaad5bc6cab0e8deefbc6a5e921b509fb02d63a6121c22fd18ea5b0e96eba17e9cb7cb4dc2089f817e98e9f1e833217005a739bf140563ff5eceaedb74bb4e401cb9fa2b7c96e2f22f44a5134cfbee5632e5dd53539921934d6a041198befdc4d90b6a82ad3ae83f2a79b676adc181eccc0af5f0e8aa5fc4aeafd06aa58378ddfc36d553122bb06c2a07d9841d0fe9967a853e40b41344b4f90dcea209874372bac45c3f6ab2193a90cf8081639aff1f39b04afdfd77e365a2bff450d6dc978597b3132d8b52a71d3ece3e7ae84e614333f79b50fad0e9332ce8f92e4ad3f92f8729bcc0fa0786578a3a59705794bfcee5469000a6b182a38d6c8843375f0e98f6623fef700aca9bf281de9973acd69da1836c33e37e77917f86aab63f35f9065329957ccb91ae2316c98e13145ed3eaaa7408be4340dedb9bc18d06e3e779f24e5cf1f26fbb6c73ea7ae3d4f01dd76055c5c78bc19fc54e9e5de71c14921c846c5f82591f94c148834b61910a94e5e4a0ad683f4227846bc383474856a1c9fe8878d3fab038e2763ca015cad847758bc9e72a62006cb2ef1de536f53f0a275262a5640af992a21bef30f95c8e2f8f5a310b1de96ba2c2c4228b9be2ffaf526a65a5c041d704a990cb85b0ad9e6de0ba78535979b6db9921154f9c4606ae804fa5384a2b6176218f956805caadfab88c525205c7cf17e560a8ddbdd3869de41d397bb7ec7956e6819e0697bf8be532ca5b993d6c320826084606792b53366f0035b58a2970696de4bdfe2ab3b7ff08ec013a3f908201cada42d5055d053d7426dc225b5c0e3917b861e63ffb4a4f6538fe8ea70a5763ab8976ce7909e0e758eb97b5cd101869caab5541a2ebc91a0a8e4ca8019cde81a8a9a0d1482f788be32ae0c1970c1018713bafee6dd0cf673f2c97e75e160627231ff8b0c415fc05d91246b6f39a82f9eb508e1683e6167a6c58fd65716f77d29f6c01ad85bb9a692f1ef4af6848e585118f67f6f24de6043294ee202c0317a09a54c732202f5b5b391a2944ece996cf72f3ea39485f9ccd5394702c9c1cbbe2e25815fbd212fdb4ac5d2d746c9141d0ec2167b164de2e87bbcffbd2f92f8f29b1c261fed79c6693778148ddba3acddbb2b2b07250e98de9d17825bdc82a4a86acf9d909c396121cda3cdb36f0718f83fc46755789129b724bca191b35904f9cd1fcf9e0c84e650bb13b4f3bb5fee94abfd4d8bac91723bc8108ee89ddb1f95c8bd931665f3d03f9dd84a8718c7708267ea5f8b6b3f05292fdbdac5538ad79dedc6e542559014152530a0af65542dca40e4dd91baae993f930f7f8502802eb6a9eb1bc52c031bbaf030a50525e2268ea1e4c0b46717dbb06d40f4a05114fd3f490f2480f2a818aa784e37600a85c537cf6ce93413f46f08c22fc0b46d90a0a86c9fe5cfee42a588485483a60ed6303e3c3e60463238b7248245fc7a3eb4a46246c014c3ac3f07f60fabce59f09f974b2fd337cd8fc3ad6bce57b1757852cf9fd5a463a153ad16fa386e4da4042f01525bc2aa6aa1579947dd3cfdfff39d576727136aec1441ab8cedbcc62b55111865ae4527292bf433bc813a366d0bc7646ba1296884e272cf14a539198399775f58864d6cf49b684ce41b953d444c3409b521f2362b9834174852b48baf311c0cb55397743be6953b7131e793f729d22e7af3d6ba3671da50aaba8393f9cb5821c6f9149c57243471dc95b4464d77c6019d54b04d9459e4725fec919173f9acdc8de456e21e45fac2139f6e330d44a7407f4e7ba7658a03764ced8ce4e2a21e31c750889580bedd65151dc830bae9874391610c7311fc44e78e6a49bd88f0617bf55ec26067854ccedda5bfe24022e4b0a5412b037fd3173aa9df5eaa9752c0d431268f01663e256d9b750112bae09cc7f15a898b7dd9139ba891d28f1b45c98c431d976795797222120ebb2675863ab449a1bd416aeab08f10acb3365134acb6bb48cba2f52a3fd0ef4a5ea6e2cf52ffda2b391b3836ae4058cf33ba515c460eccfe81a592f5b909e27ecc3ecb2210d960b7418b0d4cd82f63c797020fee45c70cc20accd296d3387a8741f03f839f023afc7db37330583c4dac035184a50fb3373287aa2d0e896842079388de15f2dddcc74b3c2811dac13855d5b4d7be886bdf658f0d6ae21f297b32428c2cdc4549287ed8538c0a7512575b6b6d8ae224510c18c16d5f2ba1467a3f77f39a31dc60bcd7865029ba7982152ae102141ddf4eac341e397ba3438633df2d24ba28c55a90d5610ff6c18d3f2d36e00d71da5dec629660ff4f8a76a1f75f3f749b7a2ae3a14c2eeb989f5d8e0e9352183842329a20f632d812f26aa0488ab32ff64f8a5c7502e8e3e1f018f551480e3a4e03c3d076b5dbea88717a159781970ee66860483f545697eeeefdfbb808d6300e3cca2c01b83086593f35926feb7db4129fde9b8b6ecc0662fbfe560b7a95bb54267249c8bf5faa07e53f62f59ec205efaeab3d8fd379f6c5f8a35e66effe9f78acb8f729cad26d5e83cecf5606fb70a25f3ab071221a00770d79a0193f02264773d54f9293aca78907e25751e71c8e40503c4eec94fade54092637a93ff8bd632ab7458a3a902a864e586d206f0a8ef621b24beba15bf98b1e089803855d84b192aea0bc7fb542905cfeca1eef7e21163c0c4076a5984ee3ea04aaea3c265cefc713b8eed91e76fd5006f1f76fbd4ff95b6debf693237c68981ba5495d6fb92c412fec48110889f0e523056111e47794918cb21dcc1dd59ad7bceb290ecb4b2e4b469948af3c3c3aee286794311aaf9c1cc40c8685cdf76689e4c0c50b1e48d4c60486953c90b1a86be7b82b9ff4e8784f185efcfe9eaa2ba80965e298390565c6d7184b5d8ab8b1bf3f6c889fe57ffaba590146056dfa0c4e6399cdb995e3421d68dc7c3d72768c287bfa263172235292aca28e7c9a880235de8ae30084a1cf82199bf7918acf2f2369eed05b57b9cc65059ec9bafd25e20ea4bb761cc757c177d3305d6c72eb631406baadd33e10dc68e221287c2ebcb4df68476cb0c1a1e5fd20aef46b70bba538f3d101a7a5ffb39dcc6e6255eb605443dba1e5acea9bc9bdca0b1ec2323b410434d06733fa10092ad289d3380921279a718501b8f7f2d0462b8e1bc6859537cab6ca1dec2d8699cc41691e0f3bd33d8aefa033d420d9176987205f4df1552f330978aba9b593a8e8c644754bc7836cf07a5c94fe2ac43367a67ae6c78100567cfb6a58b4f53c5cf3015fa0367973a19f1344ed523ce4284df9dcaeaf3a9b331ab4c9a530255c371be803e90b8e579c63229fc358c11033497933518002f637ba68c7c77e20c4f1fe54a90ddc1b4d3a49dcdfb7696979e831078157aae2d7bacbb579afd487d7b35a3bc77ef93243d2f78dc6b90837da8387f7cbfcb52436a4af57d2f29b51df0da4d7a682dfdd7e2ebb7f7a765f73e6db545bc44a6ba232061270ceeebd832659fb44530a597519b2d53fbc48350273cb34b2e0df43768bff5d02d2777da73a30c64e988aee6528567fa2725554efddf6f93802eaf4d92f8083acc432fd4e01698d4896df145e176bfe413b9a4083c62a34858a63163626deaa3517bef017e86bd960572a9d87397b40ebfcee5a8d1b5e56a5a3f032facde5172afd13b353906cf813798156c4abbfeb038b8fc3c576cefe7a3b0e966973ee0231f678a29eaab6e49994d6f2dd7959498738addcf1ebdfe8141aee98d1009308733150cc7a1a5a704f40bf89c75a6534d89fa7817ef0e4fb9e4d050f64b536e312a4647cac2d51d4e22944ac9a03d89dd6d24af1bd0e17dfb55e48976dbf9431e473913a649cd28daf0c59c9dafbc69bce2fe25ff458de87838473ef9755c282d3553fa6649dee2b56c3965a5e701686170cc4713d6f5824a210ea9cc3d5c143a63e9508c5200bf364d37ff49a2387dd951568ada248c2ec5af20841c4eab9b01193738632afa17c517383969234d0404708b9326ac81be3e2d8e70322d14e5c09d5591ae48eddc6ccec68ea3456f464bf3170b77cc09906334782fb7fa77b1c4cc0885b5aeb542f1392e59ef06d310660ddf0b3ef0af48a8c660d4bd30fc78e3fde9e8955534cc1d50c9ed3407c4a37bea23d94820a9c9946b1e810250d0bd540d50691f20ef496f1754f6a3d29ba6c4c6400b12eb04fc27dfff524bf46245a9682ec18c78813c60ac12e4defd601c94b45a37db050f76ef0fcdaf61f147dc8a9ae533a2fbff2e2564f477c103631ae57ec39320a46515c09ef3db3dd473853184a66fe214a6fe73d35466db6fb026faced0d58b51bddaf8bae8a183a945ba97ca3504f382b32f40bd34f6fb44af669221e01c3fd1ea52e384685541c6c2cda0869d60d071529c2686d05cc06749100cc891da1351574989fc716c460481060ed195fb85805dabc3ac1a967ec3c6d3e54376644c75eae5e49bf24afc6fed9be68f71f7fa1a93639fdd48100e50f17b009e8dedd407c5283d7060468cc242f9392360deb50ca81aefc15fee067162cd45a8e9dc27bd99b79a2f4bf51b0e6a591a775f5352b860c7f4897f4da1c35f75af268b832f4bf6275dbd53e646c6f08091e8e18ea73f5e8f7ab1eb03e710b0f82b3d4e2788f56a50f96cfd105996ccfae55bdcfd329cc49eb3f9e5cfa065bca8d7194eb48b1e412976dc23a4ac5d812e1ffffc48be621f572126d63e3cce5c3a826525b0444b4ce12dce645afca52f8b5c3be1e4209d6647bc2fe65b09a3ad941a0f3c622bc994c152ee63a40c9a7d78e3f2e2edf95e4d47d8a0636500378ef166edf98f486c6dd07cb0aeeea99139bbe615a17a4b97444d7981b540458b9216ae31b488d28a44a1523d8fbdbf089d6def904999d6325b02d295eb9c8b1f7ed273dee8915e43f234d8c390285cd02dec43942eac089828a52c3044243f01acdd4ef7ddb1bde24b2529f0e9aabfb5965bd58d0a78c7dfaf94f6a13ad99057cf6434d4fe77ed5cf275da8c2a2702c234a118eb6dc232ce4724cb902471e9fbf054084d52f5b4a793d15d11b04500aea11129df7a850a95dc6024e203f01ce2ea896c681da7ad102b9b747484f30db6960b55f5bcf063ce1a2e839f4da366c2d2a2601fa3b0d740017af363804808decbf364c10fb331ca423d75032d7f2f8bfcc04fac258f5f1724c6b0f4a35af4366e4ef93ed540ab0240a31c478991d3994145fc83756fa18399bb51a4981fd350ec122c500cfbca2080cc96755ea987fd6fd9138e7345f64e17220bba44d8cd1d18db9c4b3de75a13cd734f8a3ced48d783047997d918fdd31a0c17e525470bfcf52305ecf81a672e4fc4630ca54681c731a93d2f7f76c64547bc41dc2fd3c880fa598630fecaef015bcf8e3cdf2d0c2f093d2eb60be2ee8cd212c975e5c396e48f218e01aa38206da42a4ee2a7fae45ed775748a65c8c80dd6e7b897a9f77606b4203d14f49002776cdce3f851921d5a309b5cc8e52549f826355b4398f14f7f11870fdc16618e6d9f8d58de2077f3da585b96f113ea0521e6b3645900efa29ec3e1b106869c658458616e023e43f0ea13cb69618e3c18dc26bf79d25c544641d4f5c6393e10a0f3bcd5f561aa4b43e95b509c2a7a4547c7b592338fdd84742f449f9a8580f22abdb86f245990bba495f22afd6e9fd7e9fc5d893331c7dd904cf3aa91b1956ed5a9d25114499bc3fd6250c3d82cc4541e9dadc1f5e989375e9f4f0d32126f1b523a082118c0f5d0461c9358e01980d5b2d4061011b60ef614501e3515d8b14ebbeaeb933f90a6b34f636167d4ef4c9615220edabafa93741a0e68b71dc0532284622b5c90d3753cdcb60157150d090de6d78bd72d315102cb6a845ec608e89e69a0cbd3af54401ea1e6e212af75c85309a03d4d35481e16b525853ea3e84fa7e30dd47b6cb7a09702699c6c4916a87f3ae5d2267b2d4d9fb324f1a050859294bc71517e3d54be1f8aca5b50ffd69915feaf2abe3e137751be64f9a86297a81c95dbe732adb4fa5742cfcd73eae2cfe0e269997d6dc2ec3241cd5b00f831eb2b3b7a3771e5b0c1ace603c1952cb5d08b1d06cafc84ff09fda01d86aef297aee5ad043046f7a8b895722bc6278f92564541bf538f12b151cd4c470d43a328c8854334dbc0bc7624683bc77cf21ee03d91decec1973fbc2b1d7e6f36579fe81e68ed63c29550bea762106705a37008720d8173dab71cedb6201e45d967716c814d8e0ad5c7118f4f1e8cef535ebe98e409abc3f2392dfa37cc5fe1ce770e51cd93febd1fdc6267fd2a935e24fe4780cdb2492b8c122f5f6ca5382ad1743c364d42763039b8a1b0b92a6383bc3ba078166cdf96b7d7ee6ed6f9e6df77a64c90ca424fbba78b6f55a6e19f4cefc0b63251379ebcfe04de5614c2d701423564d2d6c66162816cef2c52ac26abe63908071f1aeaca3b738873339569298cc3a335ff06d12d6bebbc237c329edfdf3a594f5c339de322f7649090f84dbde50d74bc7e9c075f713bc29eb6d2c566955cc11bea5034a6606a1abe1abef967636a6ac517382d80c5730676a44cea7d119e35ed1a177481cf493446bd7da44a65832c9a4d8982674a62e3c2d7841a0143a20819cce7f9094eac2078cdd6056b8b6b024dea07c05ba0cef44a7c846ad959ef0af596a800fe0bc0a1f58da86b4d0bd612ce8d8a34f38b049fd912491443898cd2f36cef50c4cc35560eb80859dfd35c3859de28a48b69615092e8753bf0c87df064dc2e6073c973ea07bf5397e6875f2b993ab290c4bcdbc8a7932489338f88f2e861ef1101317bca8665f01fdebb7bb7d7c079dc0fbf7f4a762d0fdd09eeab78ef209195dc1141b75075905f12b92a05368f3e2fc845aa55adad445e0e3dbfacce67c42b1fd285473e13b4b36f37c2bf14d86cf29ef61e68ae73ef028254e7276686accc7a4c753b23e7b76499c87cca0244d7eb08774d8be20fe7fe3ff151ea7946d4f54b58421a2ab11c227dcd373fc1f88128d247febf2d4f34c08e4035deb202a146d7cd3dc9b1e0c5af7b91e1c673bc7cc233d679b6cf9a19adbd3cd21d8cf535ce5fa2354d05b9aea82edba760d9277bc315377bb23be70def4f4c604ea6fd4162350a6713460ad0a0ff3620831e8bf0f00fa5b21e7c65594240293b092e6d12b380f6411e4b6f521486d47f02348669286eb9b47797edd8ae20378f2ba365bf6bd546143bfdbd77c6ebd412e3435281089a459d67ee0b5c3f95e7969d68716d14b3c5e4404eff8da75b57df1349b876b971c7d4396fadee8a129c83d2a86a30e988ff82edbfd8a28a771a8f1f293751bcd5e5dd34257b0d705a6fa0df5ef8d1111a49fc017e360c720db9fef8d264e32fd47642d6f7e984056af00cb32bddf9f49daecefd22dbc7b782bea9ccf21160d15f0ad3c05cb68aa70b2b9954a69ddf63c9b1f4fb1223c1d90ab2053ee56d9597bb4a7a948ecf6b81bda7558c36d9c7562798eda8d8448b0f0130ba312949b77358915a964873fc0eb14b44dda6e976788adc7b059760c4b5685a31a4d101c3b44cb778e075223e42682a84f577d4039dd82227f9d7f1aa71bb195b0633508d9fff98cb7d0894e62692408bb12c431c1f7e022b63750aaf89971c217022d39590a869008f94ba0c0848720e5a575bd76bcb0cc1c2811320c724c69f3ca81f5115f934bd61bd67f7affc1a7ec28876d553b356f1f50896317a8749eaa86dcb53162f03f57f708378d1b66ec0ffb566fc398bb98f6015c0470262561a30798b4fece2db35f2d1b4d4c4a9396f9c6b5431600c9b3698af1d28b2c3d2fad0f3a6664f3ecdc65f86d3e6ae2e8836915fc6d281c7f0b99ef3164366adfcd2268fb8fd1dd7c9d1090b6ab8a88f55f1fdf4c18480c97f36fc65ff612fb5949234e012aea48fa6071ff0fa7af4ed3b36ea64abd321a643b03d6dd0d0f5bdb4669af8182076e113dd8a1a46eb39f96ddf6a11ea3684db48154dc56a0c5bafa3e1509c6282c4d50ab07a23899ede24c763133412a8d830d4fbf59a298a87191126984a7389e4d79e4f75fd1f1764d46c27c7c722ef266e78f7811207ab2a18bd3ce04874850287eaa93912ab7552c1da4ad9047093d17eb16a7f909dda891d11bbf8de3fe9412e9d5c5dee2096cb3bcc1d34fc187d8df91fa861a3a3bf6c4ab176d2acef0f3775a30f0dd81984d4fd3de9851e9bbbc2207526880ffbc80f94504876836cbcb4fa062ed4b863dcc8d1ae5d6788b30af2a1d92b75fdd2e3c42159905032227a993ea3dcfff3b123c6c8294ac41734a5db830c1e8c63a5e6857023645063b4a143e5ccc14e32cf78355f68cd83d66dc6f21d21aa2c2b93418e5de94c11dbfd7d6c3f69b461c05354cbc2fc3d87d03386daba2a4fef1036c7ac73b0d6eb5c4617f69e364410d89143dc8a3575b37b43bed14c12b785ab1d10719ec1983bdc1cc123d03d1ad43e4cc990cf12e3710e3043535ab7798b030f424747e5e27b2f745a677c2d29060801353d6d6e0bf7ba359ce6c2e201c16362fbf5856d5367bd08a9da59c5e43a97d7b890c18748216afb83f8f28294250edb0fb946b6204397e8314f410d20c96c1f12dddd1cbc58c2909a75d97a2a0af1e4e9fada986fc585fcacbb0783e5669820065de11722a0c7cc28ce1cf17a5e3533a684c5edabb7a51c83f42053e10f57885e6affec06c6e5091ee4fe0dc1e704c9d29ea2ba33f9a799bb9248fec0eef3f1c9d1976675454bc59d2359d6138e99b750c222df10abe87fc5555d6f36f780c295945b0257d59bfcfc31f4a833d8cd0c9e5486209ada5caf8ed23577f221e5adcecca8c11a88bbd9d5857e636a27c4ec98216c7cb39cb030aaea491d205fc1a9892695c8da018e3dd7f0edb7b426f2a5468c20b05274d94e3f4b6375af1c39f7e77a01560285a6b4ca52c988b00b4d35f4767a8b880c8d8a8c38eb4812b23c67916bed3196f0379549338bc061940e576c822d3ac8025e780f02a848a5c6b35e3feee0fd1b460f49610e2462fd503cc163b726b484458b0fedad350214bd72468339c00acc9528d9478b5f406b387620489d9ed8f386d08076712c45eaf4475dabd0884be641e46a163ef19875373b8b79942d1ce8d3bcb9c125071a6a096b5cf159997f930d53dabc49ac5b189835499128cfac8b761a7c4bad34295cd2d59d7b87ceff249a2e13e0e13122075c3c7207d925d3b3c09aa79e6e714670b4ca99347c8ed818fd93db016d1ecf12eddd8b55151169a166d57f000472e5b40594eba6f52b4fb65a92b6cc0744e5c7d078cef5b9630c4aa9424413a49676aa5d0f66749136190cb04fa425d191f4ff0adebf54efdf7e7d64aa339db4cff9cdce203d7e4ab1af4b06ae211fee5187cd65bfea17a6b28d1f38bb4a310fca357131f8751b90bfe0a5d1ba7cf2f9ff73dd6835aa01990d96bc08d22d8c8a1d14b5228eff198aa7f49d90f451e89ff2e4e75d96ac0c9264b4fc77130e62bc7443ff3a0269b9470211e4df33b57a0f77bdd07ba96a163ae2f80550585f9af8f73a12d60b46ee5609aa76a1c03ad999f539a2c643a3228c96f592623e78aae5217297741d923adc799cb1ad631d48bfc61c2a309755781acb5dee6f04569646ac2110e2f10c92e9909311d37900b8c18ebf4056475caa399ddc014e8a6eabe4ae6350dd12cd8daea31b2950ce2d30893536cd3616cf653f289d0505518ab2c4d12558a487d8542bc3c1f19a235dbf9bba32551d49a4ae27d38acf16d119821df45ea0ac2f8d3c40af67cb1c8ca86786b2fc0e28a5b9f5d67976fcef4088e1149cf728c4a4816dda3e9226df950bc7d433feea1e46c26f5ed7ab113acf3fedcecc165d8d16936c046923e16e4387f95731beb8517d896888e2c9228716d99def936ef54f94f7b6f458a1c74029d93ea5c250cbbb0802c7faa870c371ce3e4479053604746b5aa8484545fe2e11ee5a2aabd00ddf7db6158d774ae697c05940201a4e0bf81342764b266eee6c4231909c0c7ee476054fa935e033e2b5da3f23a9ad29c2f51d185b8dc1f18a2303d065c9b56031f5872e1ec08669dd21624b9dd9e59c63cb3059e317ef4b3835072ee118b3ca7018d737e9f23cb4d63ede309119a0adf2db0b1e532425907c0a91ce6fc7fd0c8a6b3bc741981b13092f25a61164e0ef054d1ab8f55a90fc88b8a350911eef5b2c9341153e04dff7e7be9fe8aa243516e9d728b68bbbf9888806c8864a382cea42abfc3ee4e2114ff20f046e6e9441011a4f5ca08d8dc388c0a7195b4b02e0a3395dfd025da897077fd174c9e402b2b1e2fbf0d3559133e0dda5529d187420e7ea8a06f875ff5c6511c2c00b9a778a858d2709184da99cbec2c42a3e02371fa6bd2152d1a0f0d901cb19ec301371365906931005405626ed120ce42105360d918cedfa84f30505b780cfcb2bf7a903beaa0435c517a710c4ea82c2172c98b7e12cab9c5c1af775f3fea5e15fe7941a28dcf363789b880415c37893e364ee89a80f19f74291a0cc67de7731e5f2c4e1e852ecc8861b1c4eb9ecbebb52284f813f86d1c8ee2f267fa25f8539d12942fa92336cf6e11f966b566f9ede311e2cc5d5b16623e8378cee65c498ce89c79e099c76ee8b71b4133afbc12184a7070f1473b68f25052f94449531fdf948c547eaf7b913f980ff8d1671214d4ae9e7634c71e829ca97f5fd6d9685ff749f616dc4755a5f117a7aaf1321d9f895eaeda0c1fa314423b3b4efe95fe2d85c0adbb21cb1752ba73395743e9dbeee99f68aaf601435997e4aaef20a2953cd45fbac9c69e9daa298a84f799c316b3c0ee91118daed2a6fefec1dc677702615de6a1d25af76f0a6e90ec0574b81f7043a4ddf7dbb407b73029c7d7f68f4240adf6d43ece2c732854d039e2dd215cb35c4363b9b268f3d7dac477c39d102f786b63256c1816f3be1841a28f46aefbe103087b6df001da5c3aec9beb4b0a9ae23a5b022d74a5b505793618931845673155ab8f9776b0f0874dbdc0add59e80dfe3ff3f8c44550c47fa5dbf193576128f404b0a5bfb04ed863ad8100dbe14093474bcb5d14003fdf928667e0ecb71b9154c90ca5ce260fb761f9f0f541c711196881866674b66c8c5bc98fd21b2629db6334c25d55d716c532ce61c9f6bc7c87a2c70fe70bdeb49d8446ca02b28f5a381e6ce1c9aae3c2d8f994fc3613c83a8f3e1185ed297d96b9de608da9d7e729393ffb3ab8fce6b595970e2a8f2ccee855c01f344b5ad89fe5420836e3a1698dff6fec674ea2d3f2c75e93f38e6331294da974e6892c298928bfd69d7cedb3713de736b8d684458cd7c11da8cba2877bed6ef19ec8d16c69b5a6adfb8b3c38d9b406ee1ddab855e0e4f26cb043f4258a70fa5c8573745fd433a983a0b898c40a7a44ddc805e45f9d612c1a2a32846c16467a7b1030c0a97dad4bd1c81454fb9a903a9f4ee7f5a3035c36633a1a2ccfbde4b589a8e549382359eeaad44cb1f817b8e2c659d1fb2be40179a417d923568b63f6d41c3459db592e99b29a2c825ed4cb395d7e81388dd2eb14b8f2afb9d288a4a6a179c80ea7426cd082e6a89ed2b0520740dec7fd137f101cb6f82d2e47dc0cb5e96e061a05ad766f586d4e2c1c50950eb0df0df5863b0da1cec5f6717c981e2ead7bbbe8538e1fe1c190d26792e3db05afa9ffc3c776ebd645b81d0044d1bbf3ee712325f20b9b1779ee5cb155b4f4bf97f37db48c6f96bb1cc22a1638242cc4e4fe6e67ab500a041abd3d1ff0f1a24c43fae0028900948c5bb480972e3c63b29e73878eedddd78cbefc0e8f361bc7d07fd6204ff7ece56495c69447306193a08e753827d3b512b2765a67dea3adfe5f7bc2a12cea6a1740d7ddefeb933e817cb8a4119e5a4e897059fe7ae00c7895a667c10777f3f623bd3c6c9575ec6761d30e9b3c7a6a414854bb2ae14c363115ef0ed8338862ad5701265a7c7d394f94e8baa7b0838feabc81302552607e30e00168db5ec95ad01e90b84d9ff0146878b9be77cd3bfe89ce843ab6d3ddcdb3322abebdc01b1fde544b52f9fec0bc9b77b58558dc12a23216c2f0a519b8746e06f7f1015b1d83477da8103248a9f8a2044ca1eb674be7e24fbcdef06da0daec790a113f22049b37524b4a323aa6597c35ec32e26f54a892157f5bf8b4c9e8c4e96defee191448bfbfd8311f5f1ea0a26488ce2637490c6839bf7deeb5115b7ea0cd21af4dea1bbd8a57262e31b147f75170f412b90f6983f8d3f3047ec920d001634bc5575ca20ab67e4016622a1b607aaa6d1a128d2db2c3c7d007b3eb7d4540a6936a5e1deba0cc160fbaf6641621a605adf6f6f98191cf05546fe653ffa8bd4e0da042bdaf86a133ba8e6cc75a489300a4da6379df7b9bc01c6f47d38c54208b63bf72a8864256063987998517dd573777ba31f61e4240fc439e00ced57ec839a41ba53104ef600d2ba4e29345679a527dce306b7830cd3b66200794600e76bd7c4bae23fc1bb5efb8b6531d61ed6d7861c9570ad0021bf49edb1426acb7e4a2769085c1d2a34cc49468102291b5f119c11572829b8e62591e8b85781657ddf9e985d97cbc230b570a760393b7743cfab526e32c0d697940005cd97bb034c1574fe779258d3beee35348f10bc621e0e8ce6a06e0b07b9b8ac3e2370e1bcf437461d534b966fbbe340be4683a44960eae1059dca9e7c7a3f75d5b7d3a9a712ff0fd06ed24775a7f073faa23fbe180ea99639405ae9f662a432062d18c67bff248832c282308f5b1c5c611a6d0251e58026f9e08b0a0f68d3802683c22f731170db5dedd70ced055e169c071360f7b76ecea6e1759c2e1a460ab82ed08eb7ab5856d3ae4358b1186e3b7e5cea8e30d2fa04f3491a486c43dde3dd0363e5c3ee33f39ba1b5e3b69b273da5f05e56019f806ff65ab9b3e372420d7f18bd310278cc79610272edfedb68bfdd6ffb54b3d9da8aebbb19e8f5d0c859260de5dfee86055cc0cfbc278f72e5c64813c4e726ccd8dd343cc2cecee78a493b9b3325475566a2f03563e48fec6d15bf8ff08aec3d55dd18d5dea0cc08f772f9b16ae171c857f56f121a8826bab4122c74f71be8d0944a850db3e05e27063c56acebcf1bbeb8a2c3d4c8316ea4f0ec63651c590ee76aabe2b8493e8300cf495155d031094dbc1202bc2738dd8c4ec62218014553fee53de0a4c300cd1e1f191bca00a94b88afa14fc3a9257b85d2ebb85ec75cd20330aa685f981bf6a7323abda6ae93befe18fb4d854dc3ec1b8f06bd085a13f911dd665c917521417f4d14c4cb6143274442078c751827994fa83457059db83c1043ac096dd6b71544a4a8f3e5e9fd0a297b82573be37d7569c5a04bf44b542acc68e148da48756d2606f832727aaa4efa8fc5c18c136f21616553d91494400fc3b0718909b0b17b26affe5b5660a9e5b9ed757e1180c2f6dbd4cd3f985fe27d526e64528abd937b12a2aaca8a97345b2daef8c4e7330d7b7dffeee7786a2f88893a27c25c9a87918cfdaca82125d71bd5f687d7f37ce3f418cab6dd5e208ab23e0d6b0f04ba94d25a5a191d956fa4ebdb9351a7161f44dd7f7760aecb387b988eb8698215eaac7fb5efa5d419cf1ce66054d2bf3571f9555d748ae89a8b63c957681b5789548aedfb0e67ad336336ec360f3137d79519dfa18d19d599723640c8837822991c190fb8dc2d27e289e52d353e3e929d3b11c9a6df490b3baba1a72a6b6e5242b96b59d00362b184e49ee6fe0ff295063eda30a24b3eae57c2220e366efe745cc75b5182ffc6b78d02113c8b88c9f0d2b7c48c5f7651c28d3c0afc9b4004f1f6cfced33b59f4c0644edb239420090d5af4afba1b03f6df00e422c6fe4dfe5e10ebb8a8228f3b037c0e1bf9789cd4d3618985b3219c3bc98bc90f56d379dbc922d7e1e561eb7e059740351f51f1492555dedcb452826acfd5afdc5adb8c3517952ddc27f682490a5a91c1b3ce9a905501ed8af60f9aa44f317ba6c936805a9b16d1791a568b3158ff6d7ec434336a801223e805ca06302a243b9fb4b3e32b59a3c106a10818db89ac96c482950d6b7120572eb86fc46ec760496297037620e22ac9a8041973f765ea2567c4dc32aa6c7ea5f7386213472e7752a0e3efb19fc4ffca68a0c4516c8972078324cb73a0884c5a8df3f8d1818181bc9404e9ebc5f78e8a8e42caadb439b8f89aab7a0410db106e8367c2705e83acfd5a989455793b9bd77b898ebe857fc1e122e06a4260cef0d41099b41ace60c75d14d71fd31e3c7256ef64f7176cce3e4d438702b13cd372b1f3132df8e3e5f416c9d2fae2ce7b40ba554c529e8a4c0ff4ea16b41822ebdd024bd78373af77e36661ca82d7ca69094754947247f3e59c69f6e3022b3eef2fb51867c977b0f89fbc074f9177bade0651c6479975a853072c2687c2a73a62b83d086f743e41168bc931d59c58d5901efec0159163b0b8e80f89d129a285723913a72528d24f68cdce314cc1d0b412830c4527c82425edf8728530aff3584e7fdc9de8248768098763c828d007f7320de1b0c3fb37dd6b3dbf134f248496689c71f9ab0250720296978357e01db927c1f12f4130a17da4e71502aa9a12c1259e915cd4bc31b32559a97e9f6209d35c442e9b54a70b658023aeb5a549d287f4361f3cdd2cfc1e06c4bf5fd734153f16ee82be81722f6e84753a9dbf3360d2111ce80be9b283a4f3b01ba1b1826e4b499504e4e14cefda1a26891212d7aee7799fc0fda21ecccdb20a600e4629f1ba6e97ab2f589278694f752c82fad268831b57ce68967e0ff0f714bf1782a9b20766598f96e288593ede3480cfce5749ddff4a4d4ca7a0d32d849794012bc5939ee223792bb5c9d5483f285aa838495365d4e419e25af35ad426266b6c0b07e69849b4cad4a0abf7c0dc92541f966a076cbc5ecdf199d231d224f09fe6e9e1e801f3dd105ebb947a360bd2b4d0ad6a32d1b1e3148f62650f38c307ead41000996136bc89245fb0ef3f4e4bacae2f0dede7aec4da8d55cbd9b421de6607ec259547b073072a41e91bfa4314e75e0c952c5a3f6419c386d9b838f3e2a39d6e7766ce746fe3a3dbdc1905442a8b516351edf6d18b9f3acf198df392d43cec77868344147bfb414dc2c6a23545725e49809d65a60b7d4cda333685fb14dca245db709bc28ee9d23185c25d994b19c1148100b4f2db37aaa94c466b9ff03a316544f635cec5b74e5effa2e7078baf3f615a508b0b890bd655e0b377b7301816d60a1c19ac3a5965d62edcef0d20c15accedb033fe26aed4d93cc58dac0fcb167102e9228301cd5911abc2790b91c9e5d8f33dba70611aaa9bea25620f9009f69caa8a76288c0c5ed8bd2c91adecf0ad3c067c1aa724de5b2b5b78c307640dca79a9a79ecfb843174c30356726332edf8fb99a35c0d7a93722291ad6c8df632b71a9f1d82d2ea4c8850e4cbb6603b98595700d49616a8c22d2a568caae0d3c9d84288172e118606f06e95b0d5cfcea2c21caab91e898441a7fa2765ed85353a6c6ea031930e0ec688bf1f028119bf25623cb60226f478f05be0b4a85a5f4b39c1d7ff562ac8cc910aa774293be34622d37a2a226aa8345edf35852d47a8ae63b59fea7b0e623220b898ed0a14be93fb010681782987d6613f744fe61d044f4cde08e85a959fc62b3f699b72b3ff0296c4bc273eb1a7fa6712643a4e8dbf693a12b1aedd4d3691a5ef4a9feda7184354f9f259e429d1009fec47d1658a1bbac7556cbb2d07d41f82160398053236b8efe98fff3ebc590f1c1e06cf6b438bb24eaf51a04dcdab846c0b3826404eba00ef728be58a551190e5d438d6d4314599adeea30b3fe4072d9084fca3b4c2d4df7ffc17c8a008ad805af2da4efa1c446e11d12ed08a7498be3f70f2a228cfa317861abd34e3929f9e4998931c63c4e390e91cd1fb58fd934f8b7a696038008bdd071b428ba2752c95bb53700d35dabe462a8a3f7af9fa68d0ef29ae0a08e5246649c958e99fd3a745644879e80cc57fceba17b6985a6c1ef4647db2d5271062d7f21a83409b9d31354fa018aa8cd6b7ef82ad23fd8b785cb7dabb78ef2bf02a8a20ff6d938db47afc1e7ae7bc5729121bf1c51d9f99f7472553a45838a15027b8f22d22cb28182054aade6fad2417ae44c035163b16a63f5ac25bb99415125f388905e07f905164005d850816033b1efbef17110cc4c72e16d882abdf6c619533d56cca0f286aceb7d85bb0a5c2e3e8a9b3bd10e37a466752418561485fc07d491fe2fe37dbc477adc40048deac6160d9b70e254f9b93270a352210bb626f165d556493856e0ab6e5e57e176bf8bd23f69ce2fc35e30e6fdd0d9b295df11075e90fa822b57c7914f405efa4d7dd43db65debbf85d5b1e95b8c520bb350f649e0691a4d9334a1c78069491a7b4661c629cecee7806c2c8070a637985f37667e6044273387b96a0b99174d2d7626cc8d754a0b08fb72d5d19ac48eb728f583bf383cb70dd1ada5dec2993cd77752b8d8a93c19ff509a8ebadeb67990d569e75b54bba64d37a388ec675be5fea371f8bc3834b226fa7321dfb97bec68e40e2c7a62cba9838ca41b4e102ec53a191ae4a9d57a76f95ef4810b54faff884176ce5f29f532d6d853b8d06d1b1628426e3a858f7df456549ada2168d4b12e19d7a6f5104491e4adb3544d028a7fc98592c5cefa5fec60b7b902606bba50865978ffc4860be657debbaee487f7c6db9a4f01abb300e61c5eb5e6cecbb84dae1c53835b5984b6487f2682e18f269c7f285e248e99f5c025d6c7732f0019bfe7a9b05cac6464104fbdf1854b62d6ec0c139e660b2cb28f2d917ac851785852b05fe77f7d33b21cfeb4749f1cd0c37fb2f584dc16d06220f8749ead434366466f63591add94b6977fe5b51517039fd9a73cf748c73aa44f4ac42149ba456ef1a99f30aafea42ed8d660a8aa9e6ea7569088c879897af833a04776fc1d441db331f45eba49297a29d0c973dec21381b1017ac9e6d612c3a7d2f701b16c6d8d47681ca484f59e761e336e6dc7fdf69d96e587c9f0ae29313d70f3adcc9ce4898bc9e7ed1121f896a9783e6fbf80ba924fb346ae81e819ff301f30be5f4eaa61e76733fce70747e716469599f30dd64f6946b82324b6c72862627602b42b5704ec1b3ffdc7216a036863fa3b86b93274b8abc7a291f7db973d10cbb51b2391785b9c49e80edf81c90ca53e43177ff7e99872efe07eafa1c75f8d7d2da5fab3ffd9bbbfa60d5150f0b1327147566835d8847baed978b5a74ca32317e17c512395c00a304e012c35f550d0684769f404c80b8bcb31e5e2e372678a16ab52d8e5e00debbd6f1e78652fddab9ee6c3bc1a4905e71bb6128dd84e51b8e076a8925a54389d8adc5d3d063f3082b1fa4c11b2f415f32b66e744130d805912a72872fc2edc7a4d2cc1fc08105c003ecd22f2e328e55921b8898eb4529df0623aaaf9877c24ba28c752dbeae1d73f4db23e2c8455e43848149aa664ab24b70f13bae8f8b3e4bac6b6bf7983c7d4b9e276b0ccd72a1ab373730a6bedb758e73fab1002b3aa8fecdee37bd692aa0cd6bfe228783e586f687011ed74647e47db8231cfe9a9e30db5b1dd3a3ac97a4856940b97ce60b4ca6127a7bbea65cb59b354582057ce65e1ff3df95791f0aaad770e3db5e830bde769cda3a659350cd6b044768ba09b0d4a875cd502a4e4e3b776b92fbe18da440ad530a096a6d689b5437b69210406e3e06fc7b021d05a28ee4a5504e538087734c1af599ed615524f84c15cf7100f5419fe0bbf4b1465d3f8d2de5664ca578ed6092e7e623a5ea6a4827d6b0a873b6365e268d0446601e09fff82fa7e8be7fa4fa6104cf9f1ef9234611bc9ddbc4813adbe0a6420683aec0e09a0b27bac0adb22fdd30a4925659ccce4608ac1ef27930c84e7f3d35f728f79326a4be9d105b9d373e8ab4becdfcc2302d1fe339682888d7407c230bb70c2d86a2e5f2c2539923c53908bf828c8fcce73631c519d5b14f5cad85169d8926d07b77352b7d3dfb350e5d93c155a031357341220ac6facffebcf6698a0491355bc088682861c11c1ab388cd9ae68c97308b06a7eb485a8d8963c119398f8d8d5e7d6ca6e050d95bda78eeac66dc7aa17fd1d95c6a98a07da325166aa8ad09bc20fb24c91248dd896f879a5f03e982de2d6417443fcbbacf0c8862030d0d104c167b095064a0854f513cfa53e7dcb2749fe7ecea3d29b42e927727d2b6b819b52cd1a78f0cb1e86b7743a7c4aa8b25bd30195998b6736d5221af6eed4ebd2fbc6296a6e0fe25f1323bfd7791ef74fb08c24670e8679826457530cfd484e395221400c7701fce8a92db8d3ec081ab5dc4e11a9d8c9cc9a7fa6065ef7f04b3626e726516be678485a783ff46fddf72f90273d73cbc18194163112d0bd117bd9d5922b62de35ceb3cdb198ddc26106cb8b976ee56e6b0e6587d5a9193e6d4a16dc113b7c31d5977dc31a025ee15c1f5916060b9f612e30de7e268c28e7a03502ff5bdb97002b3f04871841e251564527494b3dce8e146df0b644f006304fd74959cecd02fed17c39e0bcff41f35ab45b9ebfb1065dca5110022b96c24f069a4fd3d148fbe81ed6fb93dd8549c9a8d8539398efd0d8a5cc8383e8078efae75f2da4bb5ca996282ee1517f5764818e376bd8a1ec00d89c0882f5d18c993eb47a3ac4f3e4f70573ba821647f336d6b52c5043047e5fa513c418472f1e1fd468207cc255d4b7e7b082b1bcd705ca18864690ad436c3ae78890f6cf5f6f32f4b560fae3ddca5a3ea046a4431d4371266edf0de7a7838cfec36525aa38f57ade3eb58ec8a3dff0c8d17644b381b310a60c89e398bd7c30171c1ca5dc5094068faa23c6c3263f4e92c5f3187f01acc7ad4a7d5961bb54cfcf206fa4f0ee89dd61271f56b4b148cc384df7abd9239818779fada054df4fb493a7c5c4a330b91bc69d05d12e69fc37fbca59fa422da3b2325fcea04143f2790884d523c1d90c596a0550d2d1187d708ecb401bad5aaa6b760db1f8560fc185d55c417571c9f4770f102e615cba91cf61ef5f9b9d55652c78c68568d8bfa9345e3945247642ea59a39f3618a5a60cbb5a10b9cb5f3ef3ed8a2f66fedc09d2a2386f235da90d7ff69efeeb3c9f984d6ad3824cc3b13d6df683a51a1014be8cfa3fb168d081285c5c2fc7df4fdeb8a612abc0475f4916e3de0ec9b3343f109082f2423eebe818521d88180ec1b048f8bdbffa2083cd23d2bdcef819e9d7380c69766bba36981b068871e7be1a5ce384850110ba85d799d9e7d074dba2d7cc85361fdd5d1bb00ebbbeff52d4a9f18d51759a646f09a0a190e2d92d75301852626a10a0920597126c57ff9aed9fa4f03377d8c9d449c6d36f4b903e6a52cb3967307128f7c4ba3c7a1886b3a26fe0dc78f64590c9cb20667f0ce44fa468a802f1be0b0cb832b735fd0f9f75e13759e9cf0d18f7c4c3e530d58e69569c359d8144e93da26730cdfe2212c7db6107ec4b140386731be46f592812f86f56b5f50c8728fecef543a5b2b98086f170afd8da697faa90ba30ac56e57260990136358eff3ea1964201068183966b7fa4966ad74e52c09f955dabc800599979a04dfafbc58a97b2e6d3cc66a67c89c7c47b463688a18e5e98b00fb77778598ccc7413617619c9d3bbdc6f1538973c317819dec0221676b630a32f3a46cdc93a67e950cf51435f344922d3158dc9c4b99652a5d02291d9e216b4068fedbe3d738ea8ca13ad2f032bf6365ac68b64caabdb6e12a24f487a71743dfb2a26f6c55bf6cf9142e1690ff69cc80d296a6bf7f33e7435a9f070acd46b6c21c99243224f4779d25dd5bfaf792c856f8818c6fecb8167e668ba85a0b627966e6ce1410b8259e1e3fe15b22a58ac1e04747fc4094868e274300708f789bcd2321b254c3d5e3890d1a422b8a48570462b7c53841b900da628988c68e16b7f8ee6a7b57558ecd1be2ff12acfb65aadcf62c18a1119d5ce57bc5d93ebaf68027709e2a9773167e3f47ba9197d0b8d66cc9afa471db8a79d2c05646f4d3d1e1dd2213c130bc6de6bf65113babc7b833ab8944e438b0c08e1daeb41e5c5c1ffabcdba6d4776001f8d3e6a427f5099c53ab962204dec36941ba558c8d165bd96515a1a4378932d1f2ff548b8f472972458f958d0e361ca1a2b71531b59b945bd7a2616a3a70b3218e16203f1c91fdcb53c0b64e1d15b047f0372a5406d0b76de3b4d4c016e52066fe2882240f1504b5c0753b137469688de8442ebac22913bcbcfe4f53a91d4d4f9385a385a3636c85ea7cd1c681b8b1afe0d64e927cdc1932fa7d74092c77d2d462698fc40c7db3a3cb1073cb410668f9d40d8487953a50665e47d897967dd0a3eb7dcf81cb5e0cce057a29bbdf458bcf2e0002b713785a081b058b47f6b97384d00acf27785cc0929473fb593f2920ffc772e4c7cca6a0776ee3928c09b32cb2f65b0d71ce29291354c895856762e9ad6881c8861463f1eb86b71dd33f9d52e62a029462dd9236d9ba27407934070e7451643333770d369ce2743c9c22dee16e86224a0040c61315d8fede966a1debe83647ca581107b1202956f7e93ba28301cb11b1b77c614dc2e4f41d7c298a2b11b5ea5a63b8efe3adb447455fff92dcf5b3fd74aeb6fbe4d86fb77d58087ca73be3c6b2125fa5e845d9ad33f23fdf3175cc741cb271ed616b558e5fa570a1c1d70f60b2b9d34e044fcd50d0df582dc154ff04386856faadee9f6256bec4f59c8ab619ed75fc4849ce6316b7a6c0d8254cc69addf41da222defaa9026eb81fbb77de362033d4815d9efa0614276c87b5d62d1ce640b5b6b56d63874cedf9c474cdfe0b6dd3fe72619874933d8ae75821fe000afe34357aa6ac1ac54c74824eff75d5b2e52c5a35fc49c71116d7b73d8e218efbdee9754eea488cdcefa2673eb417481e26f99d2fe851de8ca1b2aec38adf1247ae803d01ce0b95e36d7041585b8cbf46b4f3ab660db6701453387456dabc441dfe28c3d2a9b0d7cd89f5e6fa4543cf770bc675f2234b80ba369d499d111f415d685190ec537a010b4a72cc7a39a9c9da640d465a2db04521888be35787d69fb59ecf3b5fbf27a445370be1a15c073865c536748b24c8e920eac396404f7258c7244ae4ad57c5e70a6611d1e5c49e156f01cd9ea25dbbdd55a7a7d4ef16c1f8f1ef4355fedb66b8ce6435af30b998568da72a1145d2573d308cc47dccb743eb744c9a199e8814c0ffc1a7aed932aec96ea8007cf887fd4248bf69ba9991eb8f71f24decfd6a062be8028a6999b0d40789de01e2c39074e4ef052d3de99da76b0f94bcb8150925d63f41a67c5436aca29436c1f40c965c532fa45bb64d8a3724f50cc6e95f826e7a0ffe4e6dcb826f981a110e05d07f5c703a6f7e4baa00d5c8c2ae7ba433c901f2077fc027b671e4d79f2780f00deb61d992991e6e0b14e6b2f02e6a7ce829db23d127f3c93e8bf7476d2aeb4ef3489a8952a681453ee8f79bbeaf976b91ba919a29ab10cd076bcdde59e287958af97a722177dfc77610f4230b8f657aefd22f768204806172ed85a1a0e74a7578a25595141c669275286caa45e7cc5eed0c10f0f027768883b73bb784e0ea5c264de5e5591ebcda411cd7382b98923e5cb73ce915b0acc1d70034b4d8ff403a5955295572390e230b8d9bcf5ff656d926d16d303e26ff5d9562e3cf3ee7e89169a9244a73eecd4cadb2718317d1766ff8f69016783647a9334c3a228339fa17bbf61401574e5b7aae56437ec70a3048ece58ececf9d403a5ad2944f6b039cf69b0ea45c3b2d867d43c7948fd0b25dd709c9a65a60431d3043df24bf7c8dcbfd7d570d2ed9188d5eecdf457e4f9e099c48e46cc6ba01a53b69398df68008a5cb19b7497e26bc2d7b3bff455bfe73648c7f3b3a5ccae70ea12734e41d1e2529193800f63ec32e2e0891d364bfc84d735bf3be5136d7b421608292bb78665d803caab2b5ec04490bf8301e397aec49eefc822670563949ed8bdb7c1828e8c61cb6224f9d4dd59068fa36ace7ffcd48cbe546b98577cef81dd87c6f1f6aa770baa5bd3d293cf048b9fea6df3bbabf979596e71920a50a15335b161e7994f99a9026d539f434171d8eb7187c14fb40ecee010e4c32708a5320edf4a76e0e219ffea2f31cdf8ec3c45727b4ad422a9151bacc1742bcbccba21765bb863c66284baaa992ed97f5a53124be1f35518b3c93aa2115d5483b75481f50acb05b8cb846b7fb72b36ed7ced2c18cdab1295ef94976770d6b7733199b886065b25e0e6f3a048a60406aa1e8b545dc88d548fc00a2efaf10769891fa60dae23f0cf99a7b9860dc256b71b57d3f1a77ac1bc6dfc89212a6911eb9081b8a73f715c22aeec0fc8b5e95cd10d9fac65ca446eda2cec65b17c0172783bea8aa67d13257d9df052a97dc984fbf614bc60c2e87e34bdf6ca334269bb3a88eca226494c0f92d31f6715cd78542bb23acf943201e57afecc11f96e457631d8b3b28abbbbd2901f68e6d806c53a313ab34e8f0e888114252028c6f59442cdae78d7ce94ac54ce41fd21d6d0fea2344de5cc7da54fd85565f66b9318a2e8cec2d5638057d3a2125616079bd832cadc38275eff7b85b62314c77a899b50890e03ace1f2d1dcac9d169faf0332bf62dbaf8780e7d44547e1203fb4efb8b7a02e4e8ec065ab19c9a6a0da131ed14d99ad87ec38994e522b4230d45b5b6faf5afcc1db0fa3854a15fa0d9d5d92cde3b11255f94c08a5ae970136bebc0b48bf228984971ae0b66d50b6beb7965d59a9a84d111c1a6c452d5c30cca7644af06f6de6a2f478715f5f8f44dce91a6f37c4bdb06b129cef9733c189ce774ef5d3c6524ccf75371053452087015ef775e9e46c1d8ea6406b55399cb7b3b622e02a6da32579c65eff44baefe1c09189fce78e3e8d6b6fdd2de18d3c0553bbcd543842d9fbcdd519cb7ab7230802eccd61283ed0fb1ffeb68810fff0314e9ce45d2ecf01880b3e5de88505f1b5e6e820d756c0595816cf36668d9c633f85b42737b600551dc7b5a3c74fcb3a6d03f68a8841c35efd3b89d86b780f31870de54b7055a2a9595177607ca62458a7d0203b022097bcc13d9bc3c02122ab86d40a72d57438d3be406aec9bce44aa2231460078b4d008e7bb5211d1af4f38237772ee7ec10b702bfa88dfeeb7b6006409be1a21e6ce2075670b05f1a7e763b2352fbdbdab095c4c37298fac7104cb67ce641d1584cbc1b765f0cd1430a16d1e8fa42ef1204fa348c570a13d800cd8a5fabdba5e6112d9d6cf922cdfecf1e9a32a6e0fe64be3b995147b4f6ae7c79bea91b55710143f52574cd68b1589bc56c9f86765ecd386c239cc07640e16166863cc04e2ca26aa72228b8205a0cb2b99b8c4499b70b66015b186cd82f0d9e79aa4c12354b6c400ebe923a24b27e054c2408916e6a5b313eb8940490cd3f820e0e72489ab98a46f0ae972a42aaa91dd46f8e6fe6c8992bcda777134bb43f11f0b911972f4fb189e47b8684845e01ab08177e8ec8ee032f32b90309882b3dc3db45ec993e65643b0c39a0cd60f6b8f9eb93c5325462d03fd3b4db3d6c1fd08b4aec8b4c85bd3df32a1a956930fce2af894fd906a7e6c68e85c88f7c946e267b4a0a58083d5bf3184c012d5d9243aa1516efb00ca5128fde618af5e071eed857ad5ea7a1dd259b921a55e20826de98cdfb53c13678cbfbd27f1dc2d765d6c9971aa2ed3e362acf0fc5d3d6dd2644c078f52d8a54fddb6b5395a7e0308465963cc6b8ca184f567611fe2c6b807116bbf3f377ebb6d03844eb01d8324b136a4cbcbc382d407f8f0e959355cbeb85f770cf04653b275966173c3f8aa4080040daf3147454f57d52d9f1828d2057bc1246c192236b55a49f7db6571f3e4b7f3b829b3ef489ad286e19b9b0619cec4c0b13001d1fd855478325585df7a6ef40be1f351782a0961e4e49de4e524c693177d05ceb82df9c9773d3eb71c52263913fcafb9cb72bca081dd21e4c51120e5663e8444ffdc5f367dee4387b2dfb68c5b6d38015ce7bc7625c27991c61bf4092fb33b9c771962f495cd97a7ba9e38e67086618fc14cff1447f1555c4a271a6184db7badf692288aaf453a54765c05cc3509d424da40643ca38795e436dec57755d5c8f3fac6ca7a82014613695a122fd7c28002db154cfcf494d261612200f5bd0f263549c544b75404fafdffe9f701f05b7698b6d33744350ce1df1672b843751fd9dbe254db43f96630b322bd1babb997c8cc13c24ed3b7781150183f9a1b75c19935ea6d75e077befefc8572a9a3ad6b93b47396ac68e00452997c8e37206d80c5a9577866c09ad366c38b283854cdee94594e830b8ccde5c9da105bbd38e056d070561483fcabc420fcbacd87bc1fc4d703c50e0e986a8e7bf13c49a2757e01306c7dba9b9de35a71ff3ef989bb09c61f912609b4a665e677a7a554aef86b77b04e58aa405f9934859cc5fa9c1c53aa19c2fe380fcf4cd741323bed943e5681a41cbbb17deb6240a61f353d326e5bd6228ee8220c801926744dd3f1cc96831c0f08127e67c4df9255550998032aa52ae1ab4ceb9584c5f2d3299af659091fe2e1a98dae2250630aa05ca3af91329aee511542ee4654ac55c0092adc6971ef5286ab10278d29ad8a8fe50b69c42f5d477d7b7454c39b61f80cb539a02495633c2e8033f3e4806bf137ecc035cf801562a90bae15740831ad2bec09650f529574d8e4fb68d98980579ffd8529680469e795e569216277ff4d9d1f2b088f2a6cced1fedd74e3d084a14af6149040cda8cd7538f36589a7903b52d8e390d8c763dc64adc1d9f80b1a283b0166b49521d969f909aa25f9fa51ca8903d65dbb7ef8f99297deafe81e9d55ceb7efd12b6493ba13b939c43326933fb1ea30f5fdc12c180528be955bc7a95b5aec86eede8881238062ebb73b130108498936cc9bb9f8dd53ae1b37cd23f26e0dc7442e8727f2cbf63b5387697e40ec6b9a2613693b751085c79447aa8c1059ad1afa9ecae16a060c1f3d1d7e42727f5fa31ccc4cc5d5595adb3f039956012758ca17df2fbf3171e91c459a398ad634571c6bc771cf259385404f25ffdaaca409f5af7e72a0aa53547e3fc93003afd62cef9ab355a9e1b8ceed6a9480b346ab744bb3432f902231206a3e8ade8753c3530f6b42f90c59df5e1920fa08a2fca9a9091d6921c7a91c4e856c3dd9fc67660353432c76f0cfb72559f7dca73ecc5656691228d44a77ac904e97ab1da0628ac43f03072be58d7165f9d5580820699ac261b1838744c3dda2c9c9f84249bc011478fcee11989cc97d82e224defcaa7c7ea822ff681c70f3075b209bc31cfd2e51c3aa55931ba821d3df5ff3e75d9bb0a4485027ac7bcb1d61ec2eaaf1853d9f115752ed81362351f71bd10b31632032afce946c559ff91b8b2c0f7a49416aa9511538c0bb7c86a6e22cf2029459f2afc12023aa3b60dd196c689e3712948d29002b22a573ba611d752e4e78d2d24ea2edfeb6c1552b0536bb7db9da93c3396970da46e98fb8734d2b1d31e5ffedf2e3ccd6a63f753b849c1caccdc908ed761dd645d1619d2d4186467d53f464795e556a1239f3d309e5565c7975b5355c08fb55be77abc424d93f04d4b9e53ffed914615a568a6dc7d310cc15a6738da308bb7f456f2b90c6acb5ad7fefc0a1039ae588ba64d0dc4e26649e66ea85cb91e90a59d4d60a13f13bdc5b67d90f90c4a12ff1ce2b3e0b79653ee95e0cf93d41e7f024299b2611f9e921152224e0ed74927e9073bd7118a48857e39a70a87b6d267d92dea355c94e10e7452e95ac0c84c057fd132086a1fcbee7943d45f30d39a5bcb2829427baf57530c3f5109e669386ab346876c75f825d809cdad168ba7fa7969302b79f12c78f80bea5495ee05e7b2680102fa2b56447b8e2d78f3f44ab90ed2f481b53ccdee1fbac9dd6ce10af45edc3c15ecb47975c00965ddbc38a16ceb0d42810558b93b0e59fcd51c6391ed05ae6ebd06e6d6c6e73c03fb173965cc2d43b0ea591db0c35f4c37fde7ce5a983d5ac49ed2e61f353e9ae0364d5a5ab7cd960a30d9accba0861d035a8aab7a9e1f23a0977655a5c078c2fad32ad83c219d64f9acafec7a199cd337a19b839baa4b54cb3bcb55f079ea974d2f99bca4b8563c9af8f6a6c630f690c799b1e5e9ccc3cd6dbcf29157230bfe2c19266cf6a11f9f4f8f2686dbb61d070c5a6cb74bf8e8f79b23a8623f3b6c7b016e50122d25d630b7ef852e75da1341615115e42845980fa4e010af8b46eea7829106b29e1a466a75b98317dc9918d9150cb3aca934d878aa02a77f694817302970a917925ad492c701587f28f2f23a772e3bb6c6ddd785d8cbc75b74c0d6b96f01e42386a0a7796c800175995f1136f100185f4f075e3545f883d4d18cc04024e18bae0c10b5c473e38b83ae95e5de7c94116fdd9244f3800aaa3f929eff4746ac4eaf19ec5230012cbe0bb981e7617197fca1751d0b61c06493449287ca977f69a56b8e4186c6de937287eb32044a39254adadb2f335a104c1a33251f8512904f478cc3c96dbafbf1a8cb138b0b5e016ea1243e37176f2319a69fc1a688fa4a04b862831736dcb50708664a3f5cb9b0e02d57dd5fbe18ff29dac060658f468cb3659d5ec530c11b011149f324bd4946237230e1dc80139a61c8fe9e60839d76ef6d3b8c5ca7c02424ad675134f2f818ba6ae0eff32f8eb84b43fa8b42bb8c16e6d6b900a992ea22fe58324ef302d4dcd0f6c376f05e2207279148a0602da50971fdd90240bc761fd07ee4001721f5e787507f4e145255c3b04d7cb7339a9a419931cba8852e932270fa9ea088586166a665165262f49d131d3ee9230ae02eeca99f4ea5577f19b4210499be216d9ab86369b455762d578bf3839cccb67e2eda71544e66ac97ea30a5d225abeea6ab746e8cdacb2c3c752589529a368bd0af040967632f43dd3ad9ec70d6aafdfc332e126fc551fdddc0822866a501261e3026aeae13facf37eb73a047c0d1f8d210ff15bb2a2dbe37d29ee500bf73574ba73b467e37fe5f43c5554fb307bba820836cc97b4a107c93b041abc5a4c3e7d21aa01573131414629ace92f153b5ce6ea4dd7bd83f949a755992799cb351fc13926324c582fcede34fe9a6abd64672d0786d03f0c6909ed0a209ad5ecef561b3466dc748dd0f3d1e9417d49675db62d190948c5d578a3f980d2c1f86a2bf1e98a8316adad05f080f5c48a2dab12c4c4d676a2dc17096724005e22a541a8cb00546aa214c58797942634250a91808fd1ba0492aeecbc2d072dd8d154d29de9c6a360cb5e0cf7984e348180d781fa88355bb4e84700a761823e93624ac182089a82d0f31716be56f2a99541f961264b1b07df2480e82b25073f0b4e0cc86bdc0ebe20047ffe6cb34c98c76657edf3e65d958440da94c408a065d17934c6e395ea5613659c1f33025999a24147f69c23e6c6aea657800f5b508cde3c745336f1c2e2913c2d9cc018d568b26e69a6899bbc2ceecfd7f47580f9fd9ebd1d370611deb889fc0e4e84b78e649de3b066112480823c8be1462713283f4208fe6521f49b339c58f7403ab70755dc81f22b905e5dc97ebcb3eda55aeb486b8053892e4fb180099324e167fc80ecaf08f13918c0a4a723f5958ae9e050613853ff519bab008fa8452ba997fde4c3cfa587947cba610cf084b5b53255b24b6e888a08e72a5d2b55dfd1a97844a66c8dedd4315f27260435e871920cd01e16232bf872ca8053650d5a3077493b65e5ce9c594d6340e4021f5b75939d56799415836ae1a07f99fa7700ead7d8589b67c51aa10632ec1d0106e1117568222899d31deb131ad6c9b0d94567261a794950c27727b69216fd6e90d61d32f232dae65d35fa617eea441df07e1a86213ca4bf63469cc281cc32ea43a18ad13694ed82fdc422fa51110fd55428166fdada66f3ee0a1e09d1e87f9049f7fdd15678c76c5f18e35e218d3d2c00a69aa0463104e4f3b6c7ae5f1cc3567b9cbe14fe0324f03634e9bc0b1297006746def02ded93a262400b5343931209f70025265e10f0f852956808719ec0ec1e6bc18473bcd347f9e919a5e3d27d2ec20a6e49769d14029a5d1cbcd800dd3104368c9042af919cc5c92f1f904296610bd04ac4cd7ff3131e6886274fb46862db2e2bc6ef6dabde100798453d09cfd178be3937cebb2311a5d1ef2c2130314c27980526aa9ecebb63d9fe2126fdb70580a8d2cff06c631abca51e803c292fc98bdea80009a0f17ce6551e000d42d2cb48a9a5762c8112d2ac9b1dd1bb51301fdd106a4d70fc924aa4242038649a02afffc9d3b481237788107caf04b617f6b3237c2436b86312156ecd11176891df35460ecac9fd511f4e2d82a9633507552dbf2c8b50636dacfdbe1ca460aa689fd178907def01c19e8ee715fba9a90f4783d797ebe34022b29bad3eba1834ed4f230408e8399e298427a012ce282ef96d5d5a67d32ec09c5a10563781281c21b2b5500e324ea7dad2f932facfbd82ec184a6dd8f1edaef34e7a74fb40d573f6319697d07bec1233f47dce0cddc6d96b2b0e4473c62dab6c17fbe4f65a19b8c9f1d71d76eec1c1b837c90e7fd5d7eaaa2c109a885b9a43ab9b2b565518bab7320e657577f17192ae2c07fbdec1193b79799aa11eda1a2d9470c962eb7a2a25754a5f2f1ee232a9d8e11674e5133851ec273e8770e6d9ed4611667349b751a9eb56dbb499218ca112d8c9ed7eca588fbff411ad888028284a383aaecbde8a24fad3a8a6e934779a0d4da65ec56f935c2865e8387ab55bb4d679cc7558b67fbd259d2225dff0042034679dd74d856b6eca3642c871a23ee4f3a4d5227151104f490abe0b617169903dd69ee486a41fdbcaf92ca8053aa6403eab78b46ac2fecd2649649703d1b87706db75ef7d91a5bfafab03a7e68c43e7679d1c1e38c548bbbf03f36773c6c15856e0669a72bff599d377aeeb7345efdf40d31407fea6a2f50419e3fc792da40cdffeef3cc8692e0e6184d2d226ce46708e881ffab052bbd982a14b2079ab1b26508a4f148c1d42b9dfbf4254a272fa9469ed69a1478a190fd7cc082064e3e0870cd7a5983a8fd84a35c7d9185face00214fa70eb156ba5d0d03f78035571e7988ada2c79992ed620b4eb6867f78c48548e9882298949377bf40c25ff900dc4cc856ed20ead7e1d6d27bfe8fa60e95386f24ca22411785f454264fab0a6d322a7d87fa4ce5da75028cac6a062f64c325472e34c384c5414826b3aa488875e85adce0f95f3e393a2217de08d646e15ae4f4b63c4e98132006c0614a361d04f67771a34a283c523c995425e544cac4dd495dd7543623e03596315664ee83a29023b4d8a023b95eb67372fa4e169004d5f1a3e6cbc413ceeb2b6b1fc12101a26c6cef3623164b8f1d385baaa67654536f7700b29b85b8e11a19ad0bba19fd02e72bca289918190384fad134bc3e54358a98cb39d2c1ecadf542d954f336b62c9cd46f18ff761e9454ab2d44ec9c135da31d2943a048c42347a7d820973788bffa9f5e051ae28c513d662407600921b1dcb26dd9d776f3fc15eefd03b8198e575ef685ad8a5b38fe20a0971bf7988757537f78e6aaaea9dabcaa455bcb09490dbeaf7befbf94fa9072a8aad489d81089707c70ed08fe3870f77416eef2665b23ced3d107f81ff4c4e07f34f95291ffd8c9c84843c8f8f67adc49cb3688e745056038947f8fab1b5d0bf987667b98159ad39a68f92b75681773990bb197302969ed4de941b5859eea0bf301d3b625b328c6a5579d02f5500c1b75d0bff2a8550ee97e9aff10d2eac433d92b3f3cd5bd9841762ec0b01e216c4bd156f72534d4844b12b15679b9ce30b78451d9200ad8be5c0e08a7699c58f3a47f1886ebce5a6cbaec98d0b22bfc81208902301b096acb8ea668db098514bd2b17fdea4de1bd8c83c3fe31abf17af37cf3c93f89e632a2a7defd2fcbf75299b4c27c5fe51ae9c10324fc57afc403b448e9ee4aeebdcf6ed8d96737aae0e02d25727acbe76ba0df691152706f7c39c3fa7ab1aaea316175a4bad1e3ce9d2e38731284ca9a7eb36e46c396284bf5d80bade10257a096cff01ca6d6a06c65e97c26361b520d7fe37d3c77caa4d2820864f1ddd87cafe6e89488a75a66088ac213fb9f66e7ee849e906b81f84e759c161fedfd04e3e5c4d18e11bccb95d37bf721087397e5e99480d6a46fa247d22e38fbf8b711eaf16857a92753160ee11291922f5d599b2218c77d5eb5fddd0b85af18bb7391f66e95236a6c0eb3e20f1a3205d09c87c19c781563e63fc0d8aaee7b46a17b9a37803882b38c582ab32f199dbec09de5c0cafb2f2f29f703c405623fc93ebfd1f6f6fc34f5f08091646951e6acb788bb3fd762b02e1094c0ed9b1e06c6d7a438f6bd8de545e897f140b775d72d7c0cfbd5602b93c92bd9ef1f7a07e0682ca4311be0751b82d39c67ad26d956c8fb17a5d642e9ee5e28b385f5560dc1f4bede32e3b25d1226e051264a10b0b3e384e025e7a188a113f2ea30f3b521f8d60e4e2ae7a4bc65f6d470eda749cdf2225943081ba317c0c288c8d0293878ca694c48b03a5ec85a0a416b1d8b6b0158408d55fe5c4a5b9c2da695ca74c417ffa3cfec31609126631d0b84833d74aac85a5637d7e1bee4d8ae9486bbe78676227d760384922abd3fb9b0b95d8fedeea082fad833c2fe85803b8e6850f3e6588e1f912840cde41a93d2b51fede3e0cda049de85c4e4ef638c881a526ba4fede0b6c403f3e6477721bc9c084e9ee91be6f973248533dbe32574484238909166de3b4d4bb6ca72a697e897e6ac313aa623826a47fb5f1c9936a8f5d638de2f373694707cb4b9b85a90872996b81e24d87e467c66e620af918db58aef71088a9ac63c27068d87393d606691f3f269385b0b2e3a50bd56fb8fc1743d29ec8f548e0ef9b2619ea51393ff5a86ca3a68006180cba1af9c10f514a51333a66b3f32db43b964fe6fd3ec668593b8fe33321f07be1455fa665f864d6e01d1740d1ba82ceb09498082b3a0d222086f63c44c3ca7713a02a7f33af1037f514aa073052f338d6b3930df3707fe3c86b1b3d6fde0624f9383d40bcb9e1283618326483aec2c765a7cbe68a266963e07cad4c6cf4f184062445211b9b636546ef10e431f0c3f827a3d007315aa2fe04c41ad3cdd2425169051fa62c39fc677c2abbbfa95179875ff145c2070c9b5ee656c104f568122e921b36a894597a217453e4bc394edb1700a167d20be31b19a53bdd358445e3c9bc799bcfd6821db05240aa3b91c49886cc4eccc1c90447b6af0219fa89657060c4f9de046e3b9f2572e4eb7d2cad0649d62a71148886682f09c486eea3ae2ee7706882659189058f11fbe925cdbedf2744b7a339536c3adc7af30548fb94f2fa982e5688f91ba25f64d0d43736b59430794ce3e5d151d898d5cb5e58f182dcd3556e2dc063332376ed21b91fc5f586ba41500e1c06893a0fea6fba495e5cc3c2324b4be1dce1e4908de52736f2496a68506729aa47aae13b1c05e322a1c0fc9c0332848caafe4455843db228a1bd6cddfec8de01644903576ba4b074ef17378ba1f00d9af0d8b9fa2614ffb15ced9cd6b8195d46219e8e1a90e83a0e48fb9187e699554149304a6e1c84ef48e8a836c7241a292ba0843a42286d397d7f2e82702068cd0b55c07c7ecdb20c14a05585df5f958d805eacced9ef44c90204853515c6abe90c7d082713f6d282ff8d61b9b8e8220ef61575ab8b1c33a455fdc6b88d545025c79886601cfd6cd773be6465fca8488445b544834fce602bb3b1a0032aa6a904f346bdd110b72a9e451f448cc91dc9dc5ae0733f25d5b1065270bb4f401bc321ae38dad78b6d260e524ef6d868e3cac20fef058ec810bd5324947225ffc6aa648479cc8c4f8c0505d36c65e3c997237c000a4037df46c07511b998cfcb4c28451f085e808a40a8ef69786b12dc980e09c058aef6f71d26383c8125427d3a802f193338e2dc88729c90b4bf29297822db6f047966a459f5f7be9aa1e4ed01a89af9cee630d4bfe85992671ecf45efcf8040738b02c11708a574584c626a9af46acbfd8e44d0ba476bfc3439b2c91fbdbdc226111a31264e16d8fa7268304fc3a36b655e4c2c23904b7b179f84843e74392d6c1118eb0c719334d93890e6d2538fddca93fbe938da85ab1c50028bacb9effd61d7fbb43a39259e64433b6e11abe97ba442b6817d0262e417aa4fb0c27b20eeae0b6773820b1a7618ad42dd1a011aec789a73cb84b7c6aebc521a5c5569fa191b24b04303fc8ec4b91add984916616a8e148819965c0ba9454b44cc924b29ce652dc6147a6b17baf7bdf889d3027c665a67bff603fc011e3f791fcdfb2fa6f1896df7f3f6e7c62807b36719c9dacb2ac2276a9091512c69f19a4177609ec1be2bb8f92371dc052507ed5b16c18ae722323c0075356438e9f59d21c8193cf267eed6aca956e4001b051bc6f4ddd275c410c69753d7358dbd339a9d78568fb550eb9065f9024c3f63d6c3ee2c6778728d9873fdc876b9446f8921e3d22b1e14eb8bb9fd1ed414b08b5f96c7a1ad95d02011a100b0acac6cdba7e36a9774747ad2cff19cd6369ea5721b33afd293ac21989ca8b8e27459c2a4561aa75db9b8ca7b3def9bb06f5f7f63137f3906a69461785b499b930488dcb8725f3d8afaf6a4253f6002278a664589c9c1244bc8381b395b8318fa6bce2368d5ed0b64f5a1f4107d435a30207fb1a20820b438c7c6753c3422e1b3e979f8d557afded11af9ae6c5b14b1679f9da17745aeeb567e17703c7cba5ab897bd2e288a241e8ac531b290be5b8e5ec623bd5895f355e67d47abb8084314c21ab636c0df5f014b700e7379e31c418e6219178c1a7171227b248e04f25a0660bd76c5c30115db163167ddd116d9a86c8389a2347b9b1668eede2d2fb93d90418066b213a2b113e5a7e03c616b8bf12a47a0083e7eeb208edf8c9f6d3fbcbe91a766d539faf834cdbf9c49fd837296132330ff8c57fe9516e1ada9a3308214c9eec67f44eff30b79f5d8c2338d543e072b73457f596971a486cad91a50bd58fc10506481d7fcc29557803ed73da5827203aa180786c5520d5688d80f073a4c58d8db1ba3f4fdf7399fab85ab330e3e9089c078f9a09fb30f5903403a4545a1765eede72399678c995ff5e2be8ff26cb6cf2c3db613fb54e0e5ff7b69cc666f591d125a05698317467615ed340cee988a55fd49c599818a7c28b639d859112e64424beb72ea6e4af5f02329344458a86baf621679bfb00bcaf7cb3d52f7a71799070460166140aaf64977ebb36fabfb6ebc2fce8596e17b5456cc9da4292113903a666a366945e9f6b4eea7929675cce2162ccf1a63feca387014d8b77fbe211dec3fce4ffa6d7255adac10e59398cc1db1a0324ea7777562926218bd8e0db97756fedc5531a9a1c4b08c52d373c6878b81d8fffefc8d09c5f0175e2d2328401f815056bda856013614f783756f1fcf56e3c00bea6137ab50cc98dbf222704e32956d3d09f98b67be0d01d2481b8a845264a72cc930fc32ee0504d44956e95211e611052bbadf2acc5e4cba680dfbb58849bede365c4bb94e618b4a52adb1f06c3dab398627ff5b3d34e9774c65ea7fed8a92157c46a49eb1756c119c5ac56b0adeb11d3b108f76dbf3ba679dfc5f11dea9a10c673834abd31112954e5814b92fa090e4942f1cae0fd9a78c8557ee255a03844f9a7a5e5def1b87f3aea3166cffba33a1da9b09c0aed08298f0740b46322af76247b6bd31337d7632b9e2971d4ebf9a3326f86886d87dbcc7a2b0ca5b10907adc0fe03585ac8704b584cf17a1a5db144854058efe281fbe4bbd8c95223be738ebd462d0983b58ca687ee1e610a16321ae7550cd68cf4faee4f4054951d15cec557c16af2f7e3df1f09ff60c620a220cb93b700c88d3164fccd54ee7ad0850b0267ef80a9187042c180fdb3bfab84e0943e8ee9a646ff2979405e0bc9dc565767f2fbc76f04fe0a7bfb72797702e3773087adcb85856c7e4fbb4e09740e59d4028fa195c1786d1861544a3395f050529931638a55f4dd5a068b4e52892029eec3f5e9eb9e8030278ddad126799b329d430c8fd338856ce0afc0e3e5033df174c921ee60f39f78a84547811f50304224fd53657ff1e6353da9edeb4b67ff299e14e7de5a6dde8ba33d0e51abeed435defdc8f759052c1b48cb91e4a8165661da506bfe0ac8479142529d50107d81e2d5b54a20f6fa00b49b67eb92edb8a940e703577ae0feccad622593879789588a2f87ac828e3154ca5341dee5a32f08ea9deee6e241935323e3177aa5bb5f7fbd537d1d6b4a538b8ce6f26b841ff04f9cef12361af37c54fce44fed8db69a5b7563d3e4261a285d4f820eede692d96377057aaf7816a804c2d80af59ef3125169f909c6d30eae4d1006f44b0155cb74e885593eb5b124ae817beb8027a2441d95d60d8d3a029bfa85774b682d4076753029a1a63ba936ec63b02289ed6ea6eaeb8a5bc2d71cbd92006177bd7fa7bf538595b0d969ec96d3afe1040fb556994561dee395a77b5ba9eba0c7dcf45e4bb308a0311d843037c5e5e38dfc086f2bb312ae2a2b219e5fce883086fccb4d42b42fb5bf358e2acdebe80314308274660395af2536ff767a942ca4f2b4102c15da7cb58fbcd946cdd894ebc39f98cc9d478d4c73d4ff12fc0c34c34fa8f2019d187d6c9cf1db007db9fb9e774edc0d4c9500dd9e16459f2cf19dc93067246d526c19ed55116ffc1889dc89ea2d723ec918992d7f23d0e2ad2075a17e26e5fbedc4fe6e81345d72e120d623f70a7599f743fe23131cf1fffc4361386b0de4ac4a92f767245d81b8e89cc1a84433b69cfd97aed4ef0a446da6fbef729a7b99f614fcfc2b14c592299d462eabb2df6e127c4c7d81da91e5aae01bd39a9e1e2362b006866155bd89c381c6b9db6b5beec77bbe37c3d3f70e923221fce0b50f1051639e2ae04b693e9c018a312601e94962b24d9b145570e13e189914a1f1213f506cbc0824d415abfe931b779d5494383792fe5bc9f78c5eb8a8068390ca609d045c44fb6695250e0de10c5cdb9b4d5d42a34c4e7fe1cc22345883104328cdce950b5e4b5d5900bd85b2aa0446403db76b13ef896638433c22df4478cf0152ea68764a1441faeb780a8318113bfc21351c1b2c5091d9a2d3fb36e08be2f5ff2cdb2fba8b7dda26034c658c6b67dbefd12b44645370743aa826dce8aad88e83097f49aba14a2cf6f8377cd359dbbbcbbfcbe7ed225fd2a5569a80e4670dc48f17d56624971550e5e8e8d7109156107a5c77b50ab485ca3a266f895e8ad74a8fa69451d5c207db0279415a44cf096fb37f38516c815d8f58849ee54e07d3338cf538976e7b3343d3d986c84166060ab69bac9943099488fc543d28a9f74512d60903344b9e663f50ca788af584119395504fbe38653a119e6f78eb8a6b1bcb45c1c0b61e8f2fed2b948461672b9de6ca78efea46b4a6a1b26caf8a74c4a4994b330f3ccaec243303bde1e42f3357523e2a916028281c0c79a2de0e2e3b065d89e7b6554a3c27fdc5482fb78f54a9b222a56de4af6c4c70f90eccafc05c92bbf7e202c3ca719ebd927f663aeac4206f1172d49fc14fd9f0c26994394807a89a5371aa466a5cd73bd4d16085cce541fbe0048410c89673b06faf44c3166bdae97314973192a02c1a3549379ad0b37e054f90da7dd9ae57498dd8748740b390a7aeb4c6428d124c5befb92d83ab0ead6ad4e49f7eddbeaf08252d453c2ab66b7728b7f7d906cb6ef4d5be1b921a9b8c58cca2d1dd5bdd4d5b7f5bddb08457560fe8288921d4d2f25a8e59f0887e8ed4d2d16c19a042b37c42f23ac3ecbe2c4f6800f9a2b434fabae306d60f3cec40f8fc06ceb4aaecc45da1a3a18e2d889444508437e321e61ad7cc9945c6f4de2156daa0f3c03c8fee097397fad4ba18fe4ab05fc520ed4be2eb08834f062af08e953fe59c78223b3dc79ab0e5abf099888d8a5a3422252b897af5143038984977867ffb2dc9716c22ccc636100c1097b76bf37422cfcf966ec182c6a60c792e97a31d9ca340a1585e889f4ae7116d6468e2a6b9586e808b1bfe547343c7a20ca790f84eef8552d9b030355acc64e15e3d3a5952e845e50f672c32c2f36ac67efe699537ddf9d0a7f4b8a108cfd75f34aa642feee22191e02224c03733f221406625053bb5c07c141921f6b40dbe6de4180de2eb282c64be0c70c0e5b4678371a0789b2e67729b2d6f5f29ccc40324b35a3812ecb58de08c9f76c364950b311543fd87a0fd7d925130fd8b587fc0ec3338054fc7f5077f5248fc95b78e0d8a1903e5445b9770ee81d36b91b09378b30c4949b39b05dcf61331e0ed42cb201752f60a0847f4f30816b3eb334cb33d9e9a980352495cc0cac97d6dea79f8e51bc445051e3cb2e58eed446a0a8772c4162d609a2da25fc5e325fa4d3a6825102873cf5a58b368bfa787de693bd62bf3cd6d88fd2183ca926aa9ae8e7cdd62786ce4534c41954e3f173d0a2ce678c7328f22105e10778b5e42989c6b359fd9b39c7038dc4776fe8705b3c0b225858ef2e326dd1c8143c5828239df552fe36433fc1251beba29da542a2a3471549e106824fed7a5cdfd1f4e61b43910e67e9d8508e28560257dd922756d9dbf37799cde725000edc3d9716f7a69a54b10e9fdf920b8c8d21e33ac29b93dbe7ccd9a2d4af32eb9ded283e5e4e6a704506ba3743ef459fbf590b78056dc530c5791d8e0a75cbd5eac60c91d6aa61afca2919742b6b110c3f4a1329c39a72d648d3161711a7845fb09c7d61d984d59db0116ec7f58be8c366c3f7480b6781ca0f090cafeccf60c74e5257eda3a966c24db66263f622087622ba70cada3eb93e09d81712f148aa3923b732a2f1f5d661177bc13663dc83621a47b3d864d99854179426ddb84e9b951bfbf6ce25e834b9ac272e987ba633ab3d680dd61c30e02fb82360df60c3c0fcf9e1fc3e830737de574646af19adff70a52ebed6b86285e19357e416639d594f9875418be8215c2d1b1c669d3a4351d848e2f7ebaaac364e1e352d2662d36c5ba9a75d0ed0f95cf74b70da12922eaec1b0d724d08c53b273efc8f8a03a25813c61f96eb550c6a11cbc4cffe53ea7b8124f4a8d69b355434f6485ea39130aac45f798bbc8665b0a1a256828701ce16f95785ac953139c842901caa46a31eaa175f4f012ce75be01f3f7680ce1c17efc3246298958871118cdcd8577f38f22e87a3637dc5adafa5cf16e76f6b32a0ca30c111f58f600c551bcfeb9377b3345a4dca246ddcc1614883fa76d31496778dd69d4c087c8fd1c8ef65e5501fd2034f9fc1537bcc4ab77a73146b7f395f3effb3cb743ab61145ae1a7c63cbc7a76a5c6bd3f5c0f5dc96dbcb360c0acc51463cef56b66d0b684b072ecc92a0175311797b0df363493132f80cda50a9b6722ba40ae3709dceba8c68816593ed4d828b70f89c3ba5a39d57d28b94722b4bd04d93cfdce9570c9ec214f03ba827b459d665ac4c50ce3fb6a16dc7bb344ba6f9b00ffcbe2d0c4c88c62caa3d819a4e505fbec3bcdc1dab7da46e310b3fedb67fa7437a993ffa22b6106877bf9025e1cbac2bc2708aef0ac8260e83e0975d1b74fdb5c273614fb14c7cd163255b0b7bf21dc095183f896352dea0ba1f2e032464ddae71f38d0e36fc2f7aaaf54987e91a388333065d6ee53908f7eadc1bed50f00093183ebb8cebd840e299d79c0ba0aa0707588ac99514cc9ed725c31a2c1c476df6d41d34733b27f85a83f345b65e6e7320c324681baad5b4049d8e5992ed5167e331c25e50c064c8f448ee15ab9736c30367ffe8ee0f217b5501c9679f02701349bc2dac58109f77b58c75fdebbe301af579a7844589a6aae849acd2ee68755e40e429e2672f79b8e6adef9845469f7bf50703ff355fb9a037d0e0b1c3dd8fb29bac689b23606f5ad06d8b0ee6ff2133dae3a0adc359db182c20321675a852febf7393980c95bc40eba6d25b6472a04032fdd7631e298a2967478073a864aa4f74e452bf329a9e403adf01ddb7e3c7eeb11318baae6e190bf7d87d21ab6901646f3dbe1d2bc3908c03669c36ea7287476d9890ff69da3102406d05e1b704780e6ca69d4121fe039d4a9d1f1e7b34e7ee4aa0f19dcd3fcee538b543655cda24d349844aa2c75ae5aa197568fa82e5b400f5d0f066601806e85d9bc92215c57e2bb7379c8ad07515c910fa684bbb23bd3c4f852e408685908e15ff57f2c50c21a163fe45b126fb122f7d23bed2fc4a789a1dacfe6989c5ce76b983a6a1c157865ba9b4cb905c30e7fc1e6551d4f7d3de86366819ba9065e68fa74377bf34d08f91c44230f1d9da04589d382341520cf2d9257cb2671837d021a21362036b145d60bd736756fbf627a5edbfc2b11e887e18b9f30575d38905ef3e15eed3109e764efcc66f4117341f1f2dbdadfb16fd5bf02db5a224eb09bb1404bf2f36a8bac0acea5a1b941b3569098665de49f8fb8b9810e114a94ce7751d889e2f02b00f91fd867ec6cd2e0eeca7a916cb8f8012836fbb3213d0595bc60c210fe03ac85ad850a903c7b390f86a36ee1bccbdda32f0184640186dd08562994ed01b370d8a1e3f22220b5e4f99a95948bb9760a7eda75df2794fd8294e893e8f8372b6ed3d53054cacc3b38f1ba882d17f34b1d3ede578f7f33e47eb98662e5c0fc807bd3c2709c022f7efe4fbe0c7bf7afb2a40fc17df2e058ed60c165f23b4de0aad5d100152e0f920160592199ee27f726c6daaee00ae935acfa067b4869a8de9577ed842cbcb80d03b82ceb79f36fe19de265f21ac6b1a4c95f8d493b98c52f1e57364d2d551fee5ba076d5b317a036532a24bdb298ad7545e2c39ed403f50c4311b2dce622c762719ec2423aa9b1acaa5c111adc434428e2cc13e99fafa6b682fb4c16a16bfdd028e003dfdc05dd0fa9dc6b5f98da966ee4d998afb29ec3320f587774a4cfddb5bcf4555a0f6f595b472b73726514e3c3249e0f948fd0b157e07065cc82b93c41965cbf24394950ed7dd55eb7314665a5165b2220a3aec573459f90f78c3bc6bffc05afbe781ebe1fbfec06d76964bd5c3d66b99df5b97a4de6ba18f1d67750c6c60be63183e02abb822f3cb89a75b2b23a7216025b2a83d532a76331d5c195be06bdbf6382f5803ad5bd8839e2c8e99ffb3b313800745c575e850ca1ec74d8e496b28163f6f3c922572f31e0eb3859feb49466178a076325abd1acdb40419a58ba384568c9db64496b3c7bfd869413bf90111a54024f07ccd30709b14254289df5b9bf1fa53842ea9fe576ca37210b4a50e5410d93c53e935391e5aa1bf19e6292b8b7d2adf7879d6de7f55cb1afbd806179dbf07f7b769b0fa6739ad2f1fcbfe912d148ca826606967c22e1dacaff827317241ed31fbb4c7a388c7a9b293c3617b1f4bfc227fda57a24d1fca4c193d591f97a77d0ae3bf1d60ec0513bbb119b66f74475d33352ce45b95debf441ba4fc4f4bccc21bb56c0d6b3c08068acd6b1745ef0bf1fdfdb2c2c6c33f83833ba78e08982d06456bb8e9d6eea43ccb7a49ea9cdbab9b9d5a6015dd00db7f1dae3bcb1f7b1a6d55bf19e6a4558c6905c88eda7df705c42b9652bde30fd174043cdf3a1dbc94ac55f310b1a951037f8df0d2c0d1dda5a8130e71a2d9e507460da66323148e877d6a39b9430de5d35cdbed15bf5222c1cfaef26ba268ca0b8344643239eee230fe03ddd7cb3aa6a06935d0504409e80f860d63ee5a7bf320a756daf3b9afaf59c1a619f448688182b3b2c8a456d834bb27106c2d56b9bd44cde3945b4f26c7f469331ad1ae999306719f4fc4ee9842a92dead20199f0826c14f76bbfe16d9c254b5953ed0d166fb3cc2f427fae2c82760379b5a86e2a003a61f0f766769f62ae30243b410216ccd0078550aa1effdf7be7d2ee8b53dd10bbed2949ed589aacb28e50a35071932478bfaf5409a4637153cdcdba95736b83afda70c51b6123ce354c6e28013e7767dbac32b2b384a0c86f4b8006f7fabd6e90df3c22bf5e6c890a27f7b5964550f78198c55315f904cf790ff023d67c75ef5e3e46ea097b2e722e4261ab252163e9e0ad3f21656269669dea89c1a156633bc3983147d2f284ec0c9d5d26ade8a9e50adbb5b90803318aaca4a907df11a8a7c7dba0dcb0e95f8add2563ab8a07fd1e01d16a3ef7e105f5af627f30750bc4ea6f2f86d870a9c5dbf424022e3e0cdaebefb7209cb1f614c9b52e5b3e37de5899fdc6b14f8d87f5074bfef558e53cb6dbdc248d331a2c7d2b2b899b0dd436866e3a8c2a561221b4b337c79bafa9d6e3d66f659744a080827f9d4cd666be03289a86b19ea49f7ccaaad1fda44c1bf7f33a6ad64f598c00c7e78aeeb9d6c75bad94a514a56eab49ad568f6649fd40079c395746962be287d26d11bcd8b89b43762814ae373b9b4bab5b6f140f6adfc08cb0a6b197a1b901021c942e1ddda482e9a2c24a5ab210e5919c8b53517c20ea2163e82f5743d73c8b7b9784d23d856e1c8a1b837ca2c947256504a0d6af4fe47b87f556bcca67fc127fc0d67cb82a5800531e7106902b97dd5f12510bd05a797dfb8ea9743bde533756adcc61c0bae1c5e3361aeb2e814fd99708955f8435d407eb31170e8c25bf78da6ffacc83603532cd8a3186940de2834a45d4cb4f208fb8b56d119eb3120264406b9bc58114d30ac84477d5dd7ac657e7b902b59678412cf68fd22ce1705210c2643bfb9eaf1be3b9b723756fe2d9069b14c8cf6674ab11907f233701d430fa8b0e5330f718457de3c45e778a90ea13e268f143584d9a9caf2d32913aa26874eab5d83ed659a68f6e9c069857b226eca8db15c75a12f349bc1fee451e829158c6a4c02863b3d55342becbd064782a19d0ece4348b8f4cce882fc5746069b3b1b1c882e7db95166bb8a34e84d81b86b8fb805e8fde893ddccf917212e41993dc75ee1d65fa355e6999b1797b0627befb973d67731f31515c3f39d6b1e739e5673b080943dbdb8ffc4f535df41ed18c1b31719bd255ccf5f7cf04b42d9a5d98eda0bc3c289b68a212772b77ba3434b5ba072d46a9dcc585c356c33042f3317482f792e10324f880d8042e083254624952dc754ab2b7c5afc2ebedbc1ea2d32782fec620b630a79dd2a29e5fb7f847ee92f9a27c5df91b3837aed9c7db42cba69b09807d9bb27177c6263ed97355158308255e14584cd31aba9c6c10d33c767a6a7dda9a3f75c6b45ae85f3096ef989f0ff7e82102faa6372e35e0f1bb06fec85e4036aebbd8a772765be6622f468aa66559d1e22ea68f6173de2b9581ff029d1537db6cf5237803faf2a67eae69570b05863bcd1a44137ecd143e466ade2b57880edb3f04e0ef8d9416e30c4a87d4e2db87b50852745631ab635c3d0cd495a2735f88600281baab92c5f9bce497c2b561916c1bfe724b5cbea333ac646f3c37f8221acab8b65578a493880f5b91b2b042415928ba53ccde294fc0d38f657697ae96a4f7319a667197f1efd8de5c9146054184d83c2a86e38b0c1ae6461fe38ae564ddf7b0d6ea64141dbe8eb4836fce2fd1512853b0eb341d9dcf5efb1feff953a1f4dfd129d94c0c0bedcbac5caf67723f5a92b2dde867dcfcd169c8b474fcd78df0e8cb95705233259727908684e4a9ad2d499725a75869450cc4dbe3658a8acda3086f078563715eb354ac82ffab1cc8e75da605ac7e16d5d3c0eb090e3216f96411fef4132b294035e5922e3f24d901d878c6e897c55d2c255acfd7f0db8fbba6b8d4887f4b2313994ec203f7ef74ade3cde07bf01ec9aae6c88cbf4bacd3e1203af4ff2cc5256e0a0d5a6ec499eb4d9780c11fdaab585c4f73b9ade17308d5f2b0706d5330e916ed530a9b30f46890a59a62a65b4b6e36dc4d0c38d53937a8548a0dbf30226a51a78b633d5532596b1674a34b21a26ee505eaabc25fd106292fc2f7f230aec18d70fc84523503bf41e3b0f1c29e5a1b25bb4e3a5fee8c13b391252f37d74747d6841db0a15a1410d707070334aa8db8dfd7aa8255852f866587236c82d332985572e2156a7327c260291a054d5d413e3557a3d14da516b9bce6cd612f95e9f29ec239f440650973f30ac6680dc2f5ae37e0821ee7804e917b862cfab96b9b3fc6b6370a877258edde5f8ce0474b60096cd1d8e21d6d84bb0db0968f2c249162042128a127b7b27981c039de78b48db2ab72e5926385582396f32371c8d6fd79e52d728476334098ddf01d0e8e2e0e4f4259b98f87428c048cd58564a881fb03a36115ec80c7e5aff205764a6d86edcda567c628b9a2290b441030e0f10b9315b8845186c22bb59b6860a00cfb21d46fd83eed8bf225bd6911f575cb0d797da122fc61d75f61e1b3f55f9485beaafd0fd20ba2c52b359ebd8ec3e60b0a482cb102308d632d446f289287e94197cbbd9149790168ebb4e5d0bc7a8953b8f8ac0ed5ab4fbb737f0f22cd0236554253e990c3d12efe453049ea68b789918c4deccf41fe693361d8ec84ba06f842908b4a678a2bc49fb893d03eb305b30614c59ddd850c323b4093d30b07753de3f12dec9256bf2ba4f9378764238b2fcf883eb27ed61aaf5c95324a538315331da2995a4f08018c23b16ab9adbfdc10dc6a1173cb117234d25c747d612745764ea22e71cdb246d7a03ef7c1ab4975a317515ffd20720fcc0fc4bef4dfadb44bfbfb988b268d3a254110cdc087d4127a70635f3c1c07ba8b2d1506eea07ebdcd61847a3a4bdf84876238258b5c2297b404d20ecf26e4935f0abcab86bd8e019b6c57e92703b7a6965fe5268e9322704e569459ec8726a926a5c93ba4c26799987eb16ae3620b3c7176939e7b8791b02565eb5d92217138359ea621e9ee9da68a9b9bb9fcf32e1822cc61a66c5dc5f18842389ba13b71e40c2c6cfe90d5ac9de530bed5e94c5a10cee56131a6d22619e923333b96bb9020d07be390c15b2574e95037f792218b5e9e1d7bc02e678ee66593818f32b95f0b234a67d3b62afb106a517a7a1d7bf13071761f85d0aa837884fc9918864fb3ffb9aa122e22b49af5ea42f903218ae4f3cdf37d2e3f9c9dbfe1796db5058730c1d49c5ef3085548fb49eade15b886bf52c27cf1b054ed7299938655f8beb439d87832dc9472d014240d901012c83fd352a71daad1ca2480bd248aa6d06f9cdb0eef4c2a46d8fd3900330fb0502d7763608404fc8c6e4f8962bd9b061a86b0092e533c1d57e86c4d63d25abb54a94d76d26a15810d5020309da81560191d6a1eb246cbc116274462b159d4e47e0a995768abf62dc4da51fee29c882a20c7680a80de0bdca50dfe35a077ec6b8245da22455f9e79d6d71eba277eb610f6317d02829aa37e9f9143886112afc5637d9580e899d20420da57b4a11e160c708f78548535eac5b3286bc79c1434af0e70ee27dcbd8d602a4bdd1f352d5d9aa9cbc1fa9d55668674c2a01bf404d2ba6a0e70b75b94d800c9afe925ff25e75f8746df8cd500673e8899b0b8a392dc47d80953a94df4cc2d6eb96373a12ee5ac70ccb695820013381f4b398c7511d11406dfcad20177dd88a2da7fd95d5ed708b0969cc2a5171a1bcf625354d9f9dae3a7f4aea3fcca30d7d02d13ae8134be73d99926f4ee00a54d806eced7e51329dbc89cbc4071f47f1be26cc449cd525ecd18ec64d4a5b796d7caf4b17e58abb6fe5ffecdaa9576ac18bde81e2d31bf83438536049a6549db7f7bbc9e7ecc1a6e7cd3ac40f98853846d6a883eb556f6982042673deebbcd75c95a005df02affd60fda88c2cee71c97f23d3f007a8feb08a8f70981aec1c88d94a20071f4e80263e238366d2c96c93c09ad3956f13a5977069cc58ab14558e2b0f3b3b72d942cc5678dc4bc996fb187e5a67e94f133aa7b7bec86e0b45239bffc5f6c8dc702f1cafee97d454bcf6d812b9a4f74922a0da826c353f33e7af40fca6777b76bb3528b20f71ae29c071e97b5f389950be91eb5836ce57773a63fd84ef7c71e2c66c9a2f4338593685d2eee84c6d1e0e685bff0ae8e1cf08ca70ab55e6c8ecabeb28d5a02b4101e532b1a676de8c48a2d575b3c47c17ffc71553eb5ee764174377166adaf877c0abcf75affaa2bdd78e7ffe4aa5878436e7f0cf2ebd0f58a7c53ab1f8e063e32090a014526246d1c77ca68949fe26b24ca9e665356f44f39c16519d1670ed1f0ab648e9f94f209d06eef11cdb6ae2cd4d3ae781aee9b2c3f8e75dfaccfe1ce6708d2cd7af4796539a596f67dc0281ffd12f7555014de775e0b43819fe9a9183d0ef6c2ece52ba7ebf51b0e028508646cdcacb7b315af176f9075070f755dba7ac9dcd2ad3d2c5cc1d267f6b35a05fef974cc83cd68b971324840b2ce731764f5ac9a36af1d388c6b4676d48b0d4af6a9075f231392f7395fcd17deb4c7bafb8f62caee4ae2d2f93adbfacf336c8dabe5e05947c101cce55f4eb40e36d1e9e7577255995e3da0a8a1b76153d71b449a7b4ccda8cc4076fd044d78a01d0fca7c8b6021bbfa7a9c5ba47c787e18ae95480c69c224f60dd335edf966d0fbe8ec194ea8a5fde64a711274e87d7e5a6212b70f7f90906c6367d56e59fbe95df35b842942114855042bcf6819b65719a0cb1fd6c01b747b1d299138b06669faadcc4299c03413e119951df188064ecff088940fb8298505e2c9dc4e118c2de946a7a5a7d1908da5a5f475c80fb65858ba94f94b260f2c3d5eb1fec14453fb8b717e2a7323a615a1c4817b3f94ce11a8aa798b8fa8c96dfa73d915bb2410d07fa735b61815831acf51c27f36a57a3a70192e5990f556bc92a87843c5bb456f0ab13990b07ed69f76be9eaa9d9c2535bae050792142e7108ba05a52b50055054130b65176efdeab851dbaa81c5d0225c144193ef626bbf320f763c7dedecf5172bb5662be0d27f6e52ba03fe58545d2e0b98b30d6441a354acdf2ac2d240f219c67590a50e77eac72b23d1ed54f38d782e2f9d48d06d4b58611d9d7c91527819f92bc0ba7770240532127e48b0e0a362e466ae81dc676d3b87725c3f772df32daac7fe70141801ab776d3460ee534652d586e3f425844a499287984ee8f6a950720af6f88707304bbc7804270ea977bc476d6a0f2f7c9fca4876a7ce03150de0ddf08c53088efdf517fd1af775fbeb29e55912db75874ec6cb4bba23ef8a5ded9a6e7f290ae10b016e87c9946e2785542ca8ed0f87bdfdc51d93b08f415bcb4f1ad13dfcc732c76624df3f4d58b5667cd3e50e55452e3fcaba29985edfbc00456d6d54f9628227da5d6b4a1c5a79608b30c467b646ada916d3b41227901f985559d7111e43fcc2b338278b23b68c70dc1ea5d4109c3903cf531897a404a2799eac06561138f905d44145fc0a0bd0b5f5ab8efa8fbba8790a6ac9591b0abe5fa7ef86e16559c8033a196d9009681fe6407cf86057561454dc361af143339e005a0a70d622af890e7fbafc6e20db0c38831f9194601ed6f5ca8bc2ddf96eb7fa386ba38532892d5845ae4d8e0eaa86222d8f496f306b2edc895ef0a1a799816a54e86cb12ce925583d838fb0e25a1912ef521d61dbd1ca0dd8faef8efc452298f0c327af287c4b04644f64fe8895e37864c1402593f23b30f7b82f60d9a69afac070002120b249d535ca6c81371c02a4dc3cd637c6995a622370a688b5f49914d64ab85f55cf1a710d61e024099625953dfad368068d42f2250242849ba508589957c5122904cd26fee73a8f3e8934600f978ead26aa27a16e2ed6882e6a512b4af616b9845f8485cc83bd7ae17be182445adb92d7aa30c38e5a2793810394d2e210698bde9b71e5b1dad04c85354fe153a01efd6aaf1c96b94b4fd6a979fd97cdd58e670449c999c23da2f5574c0eb251256e9e7526d6d328b296ed5b9d49a15dfcc1e07f1e8fcffb6ef517f6efc1b335a563f6108fd94991e42824d72e62249a28f5eb05cc84f6ddfb25bd642c40ec26c11ddea6c12e84c637ba56d4adb9d4af604363235278a642eb17af2df5501bc59bcf69f1ba2d9ab1d9558b06ba42e29ec3967ead00a6a91bab34c3cdb77d0ff017004ffd86c843e3631138253feef90fa9d6e311c97b6522f9f991d677b70bf0b25ce78ccbf50f8aaface8882be5f9fd08784f392c5bd974293994b3d773054317b3ffffe987b2e5572388e89ae648811e041ae24f10f87ab0b7ec7073bb74ceed9cf9e710d09c5fe37fddeaf2bfbfc7a2c47655792559c07adc129914270e570352d36e76a0886e2a2d1a87632afdb6d4abf54cade548d1ce82807f9cc41607e4f203cb3834633c71621f43459e4dd9180db41b17e21af70653016e74d449e24abaca7ebd1dbc48f99b937fd70dd041e60291db54afc4b5dd3f07145081ac4a8cd12eaea065a70f4ed0cca48d4011d58405dade3b3fdd1b553656c2e825ba753b38891e19338cd38c44fe100fa8478d28584994a8074e9ff9ca0eac3a999a1fb5ea92f9e251a7c7fe1a9d3b0600644cea47e57cc67954369577f5d6513639858c67b1d004c1ab32ba930ffe74f17c7c760e775280cc0a1c7adc98c33696ff90cbd0cb53b7e9096f8112baf6ac410061001e3d35b89b335bf9447420fe6835f8bd02e30344901ccf048dba634314ca5a2c3f26821897e97bc48e554f74d56e16d295c4acbaf6618ede8d0460d7fc88fba4a4cc405d3bfa7633a594ba02dd1de94bd0fea32915ff561a51799b81e0fd780f8fd5fd2a3cdb7a292df4c9d58faed7334754effb15d0f1dee088011c314b6b2cda88ff54c1e46d02ebdbd81dd60fc8c5d4f406741c9e10c0b6e710e35c5698b0d63a39df28db41129bde994e57268c538b20c0477ebb9c814e086ab4ad1f2271c154078407a4c13e0ff319fa1acbe9559d2020c29b6b6fbe55cf10b799cfd798f14dca8369d44447a4c93e00f3e44c026dd63e8cc0521fcc29b25ddfc123b2f660b2db2e8f2a146d63f93145973bdb3a1539af3ada8d627cee509689be57bc4d927feb554db5200b8965cac2cfe9afc41971b0efd890e4e4135384fea35fb9eebb25d6c37407d05eb669c6aa99da7ba137b4345024d28cbb6b5cf0ca9577f704f6f9e4198482d6545507ea57b49d1c1d291ce0f523c608df5dd9add43a106d31cd43544a1703602169a710bfc8e9d31d60bf42bbf44384460c551ed10ba818978925eeafcdc274be44f0a368144f29cb89cf1a190815e4b8836f27b692436d27757ec464ef429569ef3b6511475443cc873adef94dc2948d7349b7a737e285679f64ee09a5e32eda84a3462bb1fda3418c2db36d92e5a1f8f2f17deb4d9b8f31e0b19a035a747d7b534f232c0b59a494309184e6f96eb70b3a0e14e43b483b0aa57c7ead8d2624adc692b4ffd20bbaebabb60594e9c348ce17bf7ba6c2c4aafac8eaba8e16b08b3ad5fc1ea054283b148ac879881e715ac0d7c5efa0d70037ad15be90a22f055f99644c1b707aaec3f3c5ca033838e31e79fb955b582e878fb42d5c948ffc862d6d157cfbd8402fd2a0458e2af9fb852d65ac622f77d0cecedd3b51e344d4fe1a2cc3a4dae3a0a51f7490e7081ba3385a54f978e89229e8f649ff660960bcf4489bb6a4af9eac240d8e679f1e4f87bffad4a000dbc4f36453e0e781715dc53c5fc6c808169ac7eb24f3f703aadae3fefb968fe2a19e177fef4a2aeee1084785912062004f2e1d77456ec98f0187bbfbbd013ceb497d2b0b808e09d548b1fcb225bbcffd799b0467b3395604222c090f3113ec3f88f1f004712b5d2996f6c6d74c1fd57503a97b89bfc75e3da7d584394401e73da3b69f29552d1ec2bbc0fc0995a778e5653df20d9a9c1c724f995c858d72aad27a6199b32c3ee24a49b74d62bdc401b602ff5c2254f287c284a1c797f7d7112fbab327874b7e80803443ba934fc76620f629567cc7ff31fad9f19acf06c197713894fc08ff24d59493ee733510ed8035ee361363e3c4bb8d45c35cae3e6231a177a24286b8273eb06e246777347a16f58a9390c7c072d27baace1ba51593d1d38c405a031146155b7e7aff4837224c884da4a4261823172fa6fd2569f795e7bf732d0f602a9124279addc9abb1c60e925615f8950f27f61351d32a381d3782c3c385b3b62fba36a2c07e01c80d8670aef9452dc9898adba4f5c5f151392f2e59ca5d658cf097151bb5167a9cfc10cd082109be4a0f861c51d35b397eee46cba1fe284e0b90fa8685dcb21a89779b45f7a5666d305cb13ddb00a61d4c8538fe71a186edcac835878000442336befcfc6a39b2845a9a00ecde88ff11426a29e89f94a2ef49ff0cf393cf8561e184bddf1075ee6ad35f2af1c3e91bd40949b59a8b1238b781e9111b76703970a61131840dc7cd15dfcb82eb296d3d3064d95d26d677b4fd901e23e0278437e5665365bc9eaab51e689542932605736dae32a89fc05d76a177735b5975556ba2fc6e392dc3a0f851e5160a7d8e1dafea5f662193201428e2494c6f310ee400d1d30b3aea49835a53738ee27ced4232c2d952a5b61ca7393146448319627811329c327506d383a95c089579f6f8e635a045a581ecb4d7450ddfbacbd2ba01db3f0c62cd7a87882712d6167b7907f7570b84b52bdd52b2699ad179ff894e773279df154e6b661be3b2e233e213fe57d2e966e96929c8d272dfb03d83b60c21c43b5153e608c6a3e0dfc2c47a8537d1450b1811bccc6495171ff9f9a8c8852c7c6ec43ceeccf08cf947d2a85e72c99b69f8134ecd9f64607087a5328c5ad16b0f1467bddc465c81cb95786b7bf53383dec6db9630c193d04a9412954f260dcfee0d4bcc480484cd20e8429316d4508dea754a63cc0bb0f58136b91031045a53b1c03ffd078a7f901160996c2ef5fb68c857bbd1c416ef97d4a60e33562b1141969a18f57a9e2fc56df4b9cb481e8b83ab55df3d6dc9b6a2b961f7af07b5d06eae534fe63a8354d88fd106bd2145cb75b711054d4b468c9c0699c6543067ae43cae7f1e25ae0856fd6cff8dfd9277a5031c5749fabe2e2e4cd6da4bd6af2c516d8afcce8cad8eb5eae2d45c5d6f97346d56dc17f460602de8d952aadc79d85ea76b998b0e9f4f25d30af8cad29bb2ec948a7c538947c5a66f5848bda8c2a986cf5b7ba391135518c22854d0aaa2982be9d8be26f3cb376ee7e9890ed799538dcefffbcdf7a478f9c895eb58e70acfb9bf75f65f59a316d8f4e827d0c1e19ba20942b66b11492507eccc5c5eeef7896417fbee45605122c1c14adc7c5b48fe02647f64646e11ca823f7ed37f4f9b59db011a9f45bc8f45edbacf9e1ba85e0b5a63f0050e391f3ee4238c55979678c4e3bbcd7f0ca50a0d71bf3ace7e89f7ad4553be528ed7012deb39ea3051078e8e4a6cfa9a9fe8dd9832dd326d901286bd923542b6ad73ec84217e32710f8a1420510d0a147cebcb0ff49fcd2c47451e6b0a5362242ce2e6ddde2ffae71dd342c3c54b71104a3fa854c6be1310bb77b05d7135e72187507bcda38966928f6b795416da0884b48da4cd18f27f61f6fd8f41099c8b10dbfd61b97702082a63a13a2cfd8e575dbd8d76f9f8f538d7a7046834ff28596c4c784f0e3e4e0dcdfe3541cfa6124185fdb436fa9ac9c843e0ff70a684164d0661d5b247688952f435d29a7f69a219e85a9ab99db1a4a166552c6ad9e91daa46940a35748c93a2fa6b8c3b9bcb03446545bfe28cca953d8d21b7f2fe7e1626576924129f38ab972a05a27b1b1a6de935b23781c6cd9ab4424208c8de8a36d6c8d8169f1b19be991cf658490fb8ae009d3fe516ab0939b1b13dbdf0b9c79d6e723b6e23f75946c435eae429b4bd74855d2a3a6a8a9fb64a8c0e00ae376a12824210e916d279b60315af0ac4a61e1b84b213e1abe3641d5d309234714b64ab096b675d84d835d92a0acd32b75b0b0514a9bc549ccbd5fb7cf4d23e047d01c0afa8f190742b6f071c6e2012e9cfd0ca1ed13a26f7dfc4f26d2f939a2b973b095988fcc04cb7007f9892960b88f5464ff8e73188bc1851bfcd0c40652b793b1e28101a2b0a647d5d59d11b407992c1fef76894a70669d7f81907ea5e8361d0445f71d405e759649850accf3a057be210014907da109d1c26dcebb38b2dbacfacbbe359c02832550d1d9da0d683aa5e86caf9fff0c5b9e8e6ce3bdc536539260d1727a5130417275ce1a92fb732a77e1d3ae695b944f4dbd4bf0ab4c25383b29decdd26c56426fddb8b98a5dc068c602c339b4f7561e2bdca654904106e4fe9723b2d76c8e6d86efa422ff6cbcb85bb44f216841651862a22a16c21ae54598287768ea791df519c3bf312885989b279736a902cb26e9b8edfa5490357c9296ed663673513746a88779c6b20c7b9e143765562eb14d9b33e81682ddff647f80918d719be4c3c42e15d8968d56d4177b449dd9f05000ed5cdfa73a1a1d9cbe4ea0f9188d7816e59acbfb4b382183510c20765913970cc03f0a258466409a1e3a13097682ec788a0d708394a9fcdada6ac5fb264ff5c2eb0ec4d13be5a45815e86b8aa271043f9555cb2d8b10dc281d26375e8e68d2efa59b8e8b79020f048c6e95ac8ac198b137dd938e55e1dd7e05072d2586c2623b633df4dfdc6892e8d1c5be2a6880afaf3fae99101a28ffba2d7d495da39bde0f1d457225ed1694cdb73f72d94e8071165b74611848fca45c8febfc437fbe55c17799bfcdf17922c133be7f6f7ae9e4814acf15175e037cae3fde73585ae24c39ffd851bce56b9bbc94bc89ae521e00be3fea4c2bc1e33fc7b4bf9b8cfd87df2c46236efe84c43813ee4bf04de8c65e95e9100329a7620abb09423029c544808e384a126691c8452f2fd7e94f2acdb0e8c7d9d90bf882db4ff2b1a4a377256c93508317c2d8212b9f0eed296f1aba1e744169b4f3fd552a68bd3c44e08cf8d916f664f36d0c642670e993fa25298639d89f63921d0ae7e8bcb1094a4e2ffb7460187f648cc839e4fae675c384e26bec61d7e42c4a8a15d8474b4a8926daa0eb3c1f2402bf651b333420e1f072ce18c79dbc1adecaae3a9937c53bf328e1c8ac6ff1cd427a0aa62a8c37f42a26734a4313527789c6ad5b0e3437558820456b3e64c08f497b5e8068be7f56214439269a08215058fa7d718c5b6a5a4ba3ad3b97589f7e8c397e33b1de03c04b6abcb20593dd27806337c92b670a182bcf674b59f87e59d2e471615a6b87c685f285a893b6c3788653e454febfc83fc0cb0c509f4eafcc9190711ed11acfb0ed2115e39ec54a926e9b7766f4bddfd0679d06eccce47260cc0a0547ca674eca51e2b15c33ca511e5b2dd907b7a463df85fbb1386ff8fc77a8ff9811aca8fa0ed875608b10cead9f2be6ef18d597fe035638a4899347c8fd019796b463fe3d20abd80251f1377a20dd4d6701ea57895070bf3e4d34101db28faec20c67efd9982f1951fd1f7b7edbc96f3078e9298b135317df27a7ba64fbc3ef06d09ca18afe9cb77896c5a7ab7905cef16e224c12ab2238606ec9ad07f90c6a9cea09c1354e4daa869af60b1b9ae76a0f7a5362bb0fc0be62d64c8ad51e3d19aa87a14eaf97882642783146b20f11a3b13c986e471346c9c699597d4dc780119191f23cf8092022529b8c70277be17e64db50e77f0e8e563b7c678e2655245b3eb5e582b6947296f9eb48fc683cb09a6a04618fd7d6c52a43f2537491c886f6df0a6818addb674d8e9870ce8582dd627de9976c8a93aa023b75f9c4ccc6944b4e706c86b885a89b1c60b7aabb48b848aaabfb6cead4d060bae9ccff89f4692f53b5b2ee89f38ae9cd339dc98d51b7b02e040fffcfadeadb4b72aa8b1e5e8938c2135151ee3279b77ccb5db1a77d7b54f32059f759480ee52e52dceaddc7977f881db509e52febfdb0598e8de9436c9bfc93c292c45378974510107ac8f9802f6d7c90aa4e83a1627cb5d4aac7ae022d2c4ffa1759cf0eff67ff5d60df492eeeefa113ce7d348e5e83e44d2fc1d972c56a522aecb235b46182d55d9ea2b7f5ce9f57696da2a2074fd6b30a317aa35bd623d721578ed368291b1bb27c80741a9ef03863d4fbc70f0f72ce8535d745ad9f1e5379ca41a9d0f5b243baa0e3d0bac04f3402558533a96c988f1a2cfcc02706e8f48295e039576679e083def245362b75a937abf0380546251a4d353af5110f214f5be1e00987eb2edba20d122cf9d287f7fb674e46cca0962b550437e590a4a2ef1b8980c80f28de0f4cd5f0863f737842b3d2bae80238c63df91d95300477ca7c4c22f928cf42b7e716821779dab13e5b13e83c4ef935e126a200c7c7bac7925819c0685a05aa0d84063c4a3fc665c143df7c39ed32e5d7158ca01c386a6238f95b978be3318ca4330a37141ca0aff95c590561bfe1421840f13bfa0462558bc01372705d338786c006c68847050ca7888b99e7b0332597b70562eecd6a13a0955d92df0ef7dc2a0b8a7fa052ab40edcbd4841c20aa4e5c7b60aed35739f3c1e4caee9de8e5a501078c48d23cabb2143c71720e445cd33ca2f1e5ad125cff5966e9df81bdd6fbaed97137cddca91812dbde0df23dbbcc1a38bc08a945a696a3e69f4d3d8866f685b7eb956da627f8f9abe7e5ab7ea17881a76f28b79ddbd2edd8c588aaf0676ae8fac39d78cc5fa79baf8a11cb3fb27590a28ee50220547925d7228712f8bcc9eac01c8230d2a2c45506006af4250299fc92ebbf4b5105c4fb53f9284750dc45106b28e5d9a81bd30c64cf311aa770de8d37d79a16c37a38661e324ae6009ae9822c42d5b37c7c5b0b9d43d0cf3cf13a5607348b20fad7762b3642e3ab6fbf1b403532bc601f82703f08026297c37f7957e21b7c1838f1c11fb67cf0e954a1da4dc8c6636f77f8a0d25e6adf196af7b0af7c4175e8c749f2acfcda2ffb59b926bb6b665182b0d6d6720a404fb4d78f4e91879eca03236a5c41e566dcc432689082704a625a70c9328a53f5c298423cf337ec430e1a26272bada9fa2f1bd4681847e407ebcad1550977e9ee103fdf03b15b36c4df12787853ef5086b34a0ee7a12389570c8cc171b840b84dd110b005ace5528671c97dcbfbb5cc667524fab71c3010d368aff4f6380c9d9eb0bbf4cdcfe676ef9f6b267bda18032d08cb38256b7f7f5cc6ddfda7a1d12470effd9d331f4dec93af4f0141ab2dba9883175f74c1222ec46f5280468af5b1fef0fbaa50dccf3e9a717724e399c8c0edb41bc06c0314139c0fe469a84f3a3e74c314875121a36ef377617616df57e0cc4cb6d08fd428b9d509a1a0f2976ff6a598fac6d8e12108d3aac7a028fa35e2d546e67e0df381ef0893910f749587f17f18e2d9d2b910174bac645917190f5b154ecf74ed17b1353ea46d60d36c2f7a8ee8f6848e505709ee5a89f22ceb8c99dc8fe41a6480ae9e7ad6570f398d218c3309d8eb283b7127f4c82cc8d92df267ac8fd356a2aa574b8eeca40c867509c8649ba4d076a1ebac17503819c230859e0a0e624793256a86b0488f94648167006fa81c641be3ae2086a5d134f0bf1ecb56909e9a33e7588daf35f8a9450e087446cbdfa06cac054803640d4d121cde7ab6131c9bd79d6f27adc17a67f35e0737d4f30f70e0756697c90c9adcefc022d98de4a2d525040cc99d4263c61fed4f4073a769ec7b5ed0fc856ac3dd82856d723ebcb2bc417c2d577d63e9f830dc6c048c3c800ea9636e924edcdb63510c0835c8dcbc10435cd228aca7b36e040f0c47083f0517265306728bcaf4ff62c3a9650053f114dd1f06d709033e037848efbba3c29901be50ed7aef6c26ce8505e0a881189728913a4b02c8829b8f78aa793b185e7cacdd599acd804ce757c32c9a0937f9816d4e921686730ae5bf4b58bff02632ffd68854f731e4cd20ba831e7cd6794e47c61cbcf94121a2f93fba097f9783228cda50b177360e586ce2df3154d8b12c2ef3eea7cfb4dc756437426e529b583b5ea0cff584fa524af5b59f59d921407406112dcd90d44afea026b58b1a34b3d294ef6b895c70212364717935454079e87da58b8447ca9b397729d38792491f795f47ddbc0dbd79e0f3359ebe920a9414c29dcd6972617ae9f5fc81192f72705717871c092354679855081c090762c49b299ff9f8cc1587b966d093e0c704d80112529ecc2d2cef8d0bdb45d8d24276b7c41cd10b361b02e96b7df8628dfe17c0c7f2ea5a536bcc6b7bfb1d56df929296fcd98c1398c019fe5fb3b78517652806a8906ab7259eb61d966cf19dc2b4b1abdaa0bb4ebcd8626fd3a2f9d275c96f0790b383b38bea4739b9814a351d6829c8d88da26e2d6f1949f60eeee6510fe524c350d6431bea93aab3373719202eb1dee8fe2a6ede3a08d591f8d436e0d6f4095a745f229742fdae61c68fd63da9944b75fc2b02808fb824e194038804dd2929e92da5a1952c814479e8967b19fcdae257e697df24d5fc13bfbac6209aa07c67631cc327f6434aeccb182a5b6979724c79a5776a8f6bdecbb12df9ab4cd4c620e5f79fbc610e2aa38c9db3d28ccff0dd852dbb06f8b1babf33aec563b5cccd44b14101a24b43beabda8be0f2a1f54c3d5d5492bbb89fcc9eb93fd575dadb491a5061b63831467cadd41e701c9a7738450a27b18d6698ca146ebb9a78eb642f14e307a55d9a6bd6d00c1967893f4f01d8dcec53efd8785cdcc1a68b288dbfe5733018640ad9ac848a9717dad98c2ffc8a78eae910ac55dcbfed2ec210a065523a0c09867afcc784733262236f746bdcedf45fc9850aab6ba736a1cdb51b4032152ff39cb4229f71fe1127a854fbf77199cb10c6e79bbad2763925f1ba1511c7c514edea423d48797b6073b4d0d3ad22ee19ef23f2ca0df90a980e196ede8fefd4d6957e3b86fae91a502c25d4e01aca66b7cb1cbc2166be6c7a951bd6d1404f1e7b22093c1027586018fc1ec5db3d6e8e1204e74ad38915c02b93e29b0d24460e855d3182ec31290c986b705a87ec2ba9848d7a9bffa3f314b6b61cc2b78340e6162e9efcc6dbface785a7797a58be8d002596c326e6f2c6fa911abc87aab52c048b70dd2b2784623cf8241ae59770312d714baa74ffe04ce3856254a2cbd85b4934bb0f885b080aa0aa84445ff873fe339157ac4825aeb2d5f67c6c5d198d963cc736bfe46ebc3fe7dbc4929dc4418db4ffbe84adc39ff51c6cfb8f3bde8bf52d192a1d561ac43e380f16c5cd3ae88f5d349dc31b96b99c4c18b3e6e1fc858af72131abf8e288d55b046bf2ab29139e5b56cfba27785eef073f26c23a3a4ed59165a10f3fa6bc928cdd49e60b67fc3f515088c39b61bb01d9b00118e6be4be70926818ed1d066e3f2c4e13d9f192651ffc17abb99bab1f551308156e08205466bb2bef81ac482cd3d3dd239eba62998e30f74b105935d90b411c1a6d933ea547d7f1ca7905d917040f2347b246af712bf97e233a8d9516408258f07c5dffefbf63af75688eb831779418b4010e7a10cb3ac6739cebcaafa4e7a7a68828aa5356d0080c732e955bf8a535c438dc379ecbe59e457b972c010ccf72cc64e524ce3dbe054de985a48665953b223e0625b9ec7dcb742502754a1dadcc2d55fbf0c28c992b407b80c446fc6e60d5e290007cf5b27edb29b7611ae8d1aa6a5976c4aedc1570ff4ba83b85762319005c062e6f12650ea309d8e27590af0c5712467997cc4e0dbce6c310a4b394eaef5016e6fd99302c91ad55f6e392dd86be40af24cdfde1b6711a9cb40993e63a272acd8c0e9180d89e1efe40f0f6c8905257e4bd991adfafc8539d9539f9f8e098b7d5994706d9de9d90df539c328a68f78687b664fae93cf621fa3459877f8e8aa52449cb0b7b071d50495625be5eee77e11c93a1709eadf6f1aa60bd2115d485f20834db67e540b0e5c3af3687a7354e410f5f32503b096af95fd15ccbbb0993cef2758864543efd3b5622fc59fa0b3dbf7df05a3f707ac36d0c779e17ecacd58eb693cbb505b42e4f0c159e19b47cc1a7cd33a831498b34c4788d02f7a2830a1ec0d6185fa721364a318065260c1371de6c34cdfd3415280231c1e889c42260120ed7058d964e8c9fc1640e2788afdd5254901632c1d6270f433c09f72a34d3516ef56480b6d10c33bc288c19f08ae273fdbe2e83151bf9c5a20e0351faa8271bcbc7ddca26b5693f4c960f5ddd730f2c3628eb5dad2faffcf09d2c451d7e8d748b0e29cd7807fb65fa772517c81f6e5f16132f8ec7f159bd63776dfe5d367cbea3992731b871b152d494d106ca3289ca2d88f51981c372dab90d02e53fbf353360c7473bcbd3d8189f20abf7a76caad487beb122eb9ecd1fd1ef25851cee8015470d14838697156b1835002e40dd6ed2a59d14563fb931abae84e7db7d44f848f46c23d78c67fb4ac5550d07bb0fe33d77329ba991896977e5a28f6fe5ec78dc937fa16ce212aad8663363db75b575fe504e6c88733ab59dcbb23945e815325af648eabca7e0a6b8699a470c6386ce9b7c3b5256c144dc629d00258e6ac1fc989946be9841ba561841d3e3021ee6eef9a7aa416c3b2e62ac38a996925ed99f7f8b110982a52b3bf4a6baa78398a3370e420788ab7cfb61f94b7cf728df39e4528835431fa417e7f7b2d416a7c3d9830c4d1d9280f746c3b5c78c9f272e15c31eeadce9fc007e3314a2dcfe741ef5984b397fb372ac50c3d9f9a0aadf97d84277a72209012f78b2337f26a33d78b5acdab71dfdb7d85e3d69ee472e6e4ae2b8080223ad18bce57234e87496f0b531b45ef40d52d392bbbed51bb45a8eac20825377476e6557596664bae34887772dd775313ce3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855755f0698948bbe47bc694af5c744cdb624b4bfb9b237508dece1e97273ab9cc6479240134525f89d585231070a6ae177b8f530b66911645471e7a4360d8b8c46d375dc60118b94a8c4918ab9e943e88b63b6fa7fe42aa467ce4672e398a2ac557dc31aeef6f031349bbd551687fb8f465cff3bd96b092d44077d09fc3036afa8a65af04143ac6343ed02c230d10736fadd59d218d2a8f9324e13225130a776b6b3348e918594f5e1f07ed74211584eabec5c84712f669879500f20970fe1c40a724f5f9811aaf26297d2dfe0192be84c6af610826d8436f467fd09a06d812b9d6bcdf17fd41ea42dc686c424860135c6f14002151446fb28a31ddf5c859e088de43e7020d67065497c17a6fa4a7973394dbd2124c88ddb184aa01b10cd5e27483d489caa4a2b3913636e0b8a5548ee662036e2f8548e5f41655a274a673c647c00c5b4e291179a07970eebf08f213cf5b641b36af0401133f8d2541e63ac51f0d16b3147688daea5ec1ea008b622c4bb9fe7afe19f990f5f303c1812995adee9b79274d5ffb5b184c5dc28998182f691cdabce968c23b8e321af8cfaa3009b2130553fa8e5a20b79c5fb926df446e3b24e1301df29b4f6f8b4160f766ea1b500cd152b9bf1ed0f58984c45a9c8d38fd38e5389f1a6e3316b0ae03871327068a20fafd35ea1bfd146a78e5136d88dca7e17115e1fb4c10ba98bc82a9bbec2c015544dbe94fbf6afa1a6d1e32e83dad0d1703f2b1f874cdb6e561f7aff4361f9d814f5052476c9e7ca67c3768388a8a0dbb9222e72d7ed2e5f42166382920d9b46a4cc857dc891a7af7a7283aded0d887030f82108fb9b696ce8914c137457ee2abee0bcc388e8dce25dad0c53c57e8e423a638f3cc7fe3d1b4fd55ce8db0590b96c80f58c802912b8974e14702a87bbda593d8347f8600482023dd9e9d372475d47c235b77fbe974dd92df4447b75d02ece81e588ca4abf27f016bfa2212baa730a923b90a298963a15e86729a09ff4ca938423eb171b0dddfe5b4f1cd65d2fb0dfec89dd48fd395f404be204c9c1eb07e726f43a51a03af426a77feb5c7106c7dd438ead96dd4a03c8e812c5189eeb4cc15890fd05331d38153c1c733fc53a81171625d1bc0eccd3156a69bd4b7b9e22a6d066e836124432dd065c51f1d33c6c8f8d8522af20ff2f817869d987c3391494c7ef63e46c1cbb2bf9506b5c0ad1cc871d48ccad222553075c6e31e68e77be6c61f9fa6ef8cee843e024df6712634cc44fefed93ce07920bfc9f1c0bb9c2921b4f38a3e4abf1d05c7bb3b9e41bb8b890e62d1dcfe74d522a421867efad44f4e223121730c69fc0c0e0914512da7d7e266ab0907864c4a93d38f1d447a3619a2442641955847283d71ee5e4dd9378b6b684fd488b7472525c18c2ffaf1ddf9ab6ccce4d4c2752f7908ef30095df9b07fdf82fb49e2c180ca73b5b46aaa4f47916852b5052c34c78071f9d381e123ed3102decc29e0cc849b4dd581f78cb80bebdb9655efabec0033537d2a53ae509dda443de971df651e434ab3864023c85ab08727f71f5cd7056dfdac01713b20b6897338e5612dd0de8a7753edf802b4dd4f7db3b3584a16a824eb54825f1accadecca9ff761640feaaece40e7ff515b256b7ba28dfafbcf78a7e63da76efb640f8a3ef50741ecec4cb5784a5add22890c7ee010fe534ba31302ed94c28bcc5cf6effefbaa2479940f1a9acd9da5db0d8b93eb76ce6ebadb6471bd980fe9ab334320c50d15900bf6404827e95735075d9f9f3b11b623496d0dc503ff69d46f177142dc1ca09300d17136100562f05762ec15f1480f747d938cab7f4aab21d4fa5078f6ba781f04dd22f737a0b7f9105b52c25cc73eb4e96cac2ac1ada87dc42ed35b57ff547562f11e568dff981e17f4a9f7c49d95f5e8f463213488735268a8d3b06a9eebd56a2e4070942e4f370d8bec04359863df52c70e8882a2b7f6f3f7f4c4319f576aedca8b6b669fb3f86d8e962a3c674ee5a6f541b268379ca372041b4814253de15d95b7ebe645c59e81c4de1604262104ebe4f9b4d6731b88ac857238e9905f632fd4390b063739ada06a0e34a860d7d2ebc5b86c51b2cc32cbd79b4dc542e3991b653b52497d4a6705f81c6ce116e2750fc48367d13ef7d0ed43157e66c4517ed3a576e6becb26c3e5353cce27f89b69e5ef6fb9dc9dd211db52cdb29d98bd4c5f3e9ce42de5aa3af9e3727fc3643aea9ef122af4f57d4d37a82a72d9167915d06a9d28943ed43b552e6904fc70fe890dda4faa0c6b2a249bcd2b99ff70ad1df7142888c25e6928b66dfa2102a8ca1c4f7fb966074afb39b2a4e76a6982e34225e0c4242a54713db7e105870afceeabe1a9f389f0ac3e6fd9233a58d67fb7b0e8db9feeed6dc85b9cdc796ada0a00242b6c22d131fd07e84ab6680b1ebe935319993177fbec9914bc26fbc55fc9e266ddce462bcd46af3ae9ec23996613557d520032ab2154dd069827e09632f586cd5358543f30ac0241779f85f74d7a8d9b7396a910edeaa0e2ec9c88fa090734889d758b82593fd4df7ffa69575ea0ae71854d341dcecd1af323d881f119e9be8cc66579b901acd1d73c6a2eb5980b284627966451e1845ac149f89da38f3d560686bd16aa3b85f6cbe680773a9fe9dc17b3a5c4154769afd508bad9ac621610261d9f11b10f4c926d7744858e642c10a8ef6c9e3eb9362e0f9c97892e5df399c49b8602df2e62ed56cba728f1ced3ab1508f630df512ae622c61c4c33e681425699457a6af0d155f5c592c02c21cdda78a54efdb069e53208e695dbab07436fd55838c9ce0cfce0ea07454738364f8593f4518d194c8c57e66abcbd56b00f22c7f14638b8f84d80b9d5004b4ada7b33f33db6c990f33aa4563133f122949745b8c1ebe44ffda7ea258b517436536324bc0cc0bcd87bc109e629311453c753090c3b747d198d70daa08d08171c172559d11891352fda2fc414b91b0dff5128d82c461111e4a25ff928d957a8a4ad4931c6def9883c6011e281b9f39a040932a25f8e57401979fb4cfbee4eb9e3b582a813748ff89b6e9f0ad7bfd6ce981c182f9c994c2d0311dd898827eb9e2e968752ae5137ca393aad4963cee58bbb83ed1e81af2182aaada0120f8c29702155f9c739e5661a1d7622a1c491f8318f07eac5156f1ff28ea04fe5dd4b16fdc76a1589a71c05e69b57b987b5e65392dddcdfda850ad902d429365c81d9379e3e796de3abf5c1a93b1f8c73de45200425cf2f6b2a6676ad77b392911799d66409859f00c4c87830b0b6e67178b995ab0196407414057bb011cd33f6a3288174486ad0dfe4387c554ea9a0b8da68af2130a08ae5b61a95b7408bcc182ad72380e53f0a3d3488b97710a1546593f1ef813b85382444dc99a8a60885376f305f0fe387a6bbeb3e6bc3a0759d08870b6661d5358018d500bb793a738d8b784bdb7eab0abb54a3acc50f990444cacaffba7d8548567d0a8fa7c0c9ddecdd241eac3543042d151b5a44a332db795f99b438315b5eb32223ce38dfeb510070825f6dfd52e280e00eb7c4d2e0c8f78e731c8bb381f8ffea055c38103db7ff55322d5a533d17f972fec1a7d38482bf3ba940712eb744656f9547f9ed659c24f64ba5e1c98cd5aa93a35c6bc16b2765a38d7fd363440309b40ebee8eb7c22cd91a220ac1e01fdb6467f1d63ba22bc2a1cdb9e1566354772aac5693bb774aec1c11dca8e158340dce8f9e087282fcc0e4ae4354e4a8d91f099929bdf2a16eef338198dd4ea8af4e2178864f8ae979024532248fdb5b098ea870bb964a0e2fff06f5ed3f4ae6ff8655558edd52994020d7ea0bb8e112e958ecea523069dd7ba5cbcca63b835f44609d85525223b908efa54d8850256be9efc6527cd76eca0d38468bf1bcb80fd02afc93b128870dd76c020febe49616cc2bca4f04e0c47c7be719ac603f373c36be52d3981e19dcb59e47b59ea46d04a9b9c0a65b63bf734800ca055488638868a22db4e5e767fbdb6806f8fdc27567ca8d0d33a7aecf1a6f4440929a75cb63bfbb341844f069a4c7d4cc5fc5c3a22a69f64391a6ad7ccbb6056ed1b9d76c5fe27eaa236645a281124f8e50275afeefe91234370f33f10dba1171d2afa56d8cbe7574c18cafaf74457172a81ea69a39454e40444504477a6318d3a967c1f2c779f39fea0cb1e437e1a581297ef68240ce1dee3d179192ee6242c4d256f8a9ab11f29d382d409b1927f650e8e469a2d22b470e8b59bd5e42e87638b019bd06b33769a6e44b7066caf1e9a9c65dc1d9b0939d721d228f84326095d723289c2287f5409161cfbd0fc2bac2c1f523f232cc8fb9576a0e1fed75fe08a6050ddaff17dba6a45d85b84dd6f62c4d190af23cd8cbbf5be19cb1f2340d997b361f0b00c4885db342f07f06bc0acf6c5eb3d9a2759fbb654a47549f72b30cce996faaea1ebced60612fa9dcad8be1afddae5b598d5f2f4233c17951c4198ed18b940bb93569f54ca840b99fa63ae1d2c3fabcabaa5b78cb8a438b8c6d479c2b84be879095ad865ee282171ac2888d90dff2b3232558b03fd66286268dba399b34821080943858d8c34bc50af8dfa978c38341d818844e7989701be588f8ad464af638f4f1525daf1f71ca38f67b42b4a8035b7d5384d93a02cd9e09efeb895ada40dfd9236e94fd10ddc89309ac635005b707f7e2ec4bad6914032dcfd307dd0e1a52b2d1306426dd67bc4c289ec70c5c5d81be26187e7725588d8eefe78523609708b7f8e43965286d2d86e13e1de67b5240d2915dd0e37371ff5700c105e49a0426fc31bb3c41831cd7f85405690cbb84c72d4ecd85aa1fdc1400d778463b357ce6c9ced3eb0c0ac4c78660fe0b8243c4fe542344c47b845b5d989c31254cc8a1dae1b53c39b2bbd8cf07470703b908ab06e916250624939afade32a17a85b5ebf46832e165ed56511b0b1c45640aea35ee60b4728335a7c264526deeca7967d90cea45c0fabc1d74c02a65b37b3d9ac505ec85362cbcb427e297227e3f3e059bec361fe6d59e60cbb84b118da265c0250d0f52b5ded63f2c7ff87de61a6023c228b30d69a1649de63ab1fa5d91dfb28bc71eaa19311b6beb6e91c47b7298158080133f746a47b37fcb9dbb1da3f98d58db0075d21b1a0cde21290c5d627d4ace05f044ff05256e4a0448cb56382ed0fcea129da39985cc8f0372841cd0293c1ff51dd404fe107999bf2de46f34f1d52a085c911177317b204aa3af0964d62d54febdb6e8eed10534392bfcf7a78e28d3ac4c218fd13238ee70d796cb77b0bc0079a47ea22854e9d43bd16070bbbfa0df3078c1d896b036bab46660d7cd2a72dc12032778f1c59dfe40dc8d21b69ceafeac96d6cce9b4f064a8c65da9343efe72c73d3c9a826ac82329986e9819cb5ebc4f9c59db766bd96d92e8b768f5b6d92dabf411a93311d66ac214a35eb327eab6f96f4811c815eb1a29ab1bc4b47781c234497a3ade6bde1135775ec393e6af9d715eb7e49ece8a157613b90ed4ceb562cff132ec81f00db30ddb11af48f7f6497141ef9e2513b00ac51731880d0cbe606dcf46dd38715934ff674a7f4c620e3b1ed987a5076e9c6437637b3b58a8b0b4c5ea7a68d7bf2188a845833f6ca17f7725e0394b093a2440193943a55b56e31845ec6a780ef500de4319ce509d9102112b1fe6eca13289ef149c9fb7824b42789e3653a5964106b07a84ff1aa52feafa8a5f54affb328e9d2803bd6f191225ffe3877a6a409ab51f6cefdeb0a1db280be8d304a8ae70e3104f270c7c2f452e58db235db666c8417be0333a29d2ad5d98552a3ce108c0920ae49c3abfb76df52715d67cb8adefd58a526cae5a2a50e3f4039f3e9f2214f4781e657dc2e300e6944b00e6b0291244a82f399815a3a2488219a4cdffadecaa47a6f574687c8109ed74c60a47d6f66af35a3f3c49050cc9a4b78bea8ccbe592c345baaf647975b8a1657350df50c22e113d2763baf4870964820c19802f9a56292fd71df18a3705e1314adc66bcf9b4a671fde2736651a84102cc892a662637d410f9400f509726e08d15de04225b18a9dc6d5006970aff02d0bcc3841cd99a86e570fc8e3a6193a7043d9c28683fcfee5a327dde00d0ff957685cda6bbcf10fd8a390376788923342538831098b941725b0ec30d04e39b47fe95a07bc1409d1fc7a5c3ffdd10b8f2726e1672b311637d0e9fba0740091fcc79721f8f9dfc5167bab7b50a7d2d915f42342524a81ee7a89fd1616ffb30370857a120fcc8faa74443cc6670dbd6aa5c0ca24c3149a98d923beaf421f19f7bcad856e975b6a82bc3a33102901c78873ee134b806c0c1ff06aefb6a08f0d719117acef4fac6071d852c5f2d60b4d0cac96d4184c5231a900269340f83de6479de43c2c6aface47e1285a9a24ab796fcf0f3c38dd6c43fd66147c10f8e35234a064e3190641238537c2347b45c32fe6f08e655989cff2412142c45629b62e069dc70b8e4dbb416342468d39c5fee2c98f22fdf8a9a6e7405bab3d5588048f8b1d2d37b1c3bd2da91fc2eb04231d90315febcb3ff668f44e05965a5fa7f754b948175a2ebb425d982f956310e1cbb697bae76b184892d533fbb8eac741a64dd2f24532998a092c90571e726b7501aa3c5c2dd9bd73c4f6b05d0b748fa59d1e24076471a71a6a286d33ab5071afa14c91e72b7acc25402dca017a9517eeda6a2ddcc71d96fc0aa1d66aed5e4273f19b2f330226e2f974a392c03d2555e186ef21522b7b75d0a7d0b58b5a1bcbc67c7eb77a4673535247ba7cf59372aaa594d57e47a1c5a13b27fb8a9c35f90ca35dd7d4ff95d9e3016f9a1dcfa1ba4a75524acee1fd48aeebe9668e2be3dd84e39884cc3aa79c3617d29d6bb4ee0b40bb6a6019456d5428ee45b18f669f1637cef85ba271db0866e19e72865ddc9b616320703180504b8bf4fa25bd5629bcf079a07ccef2677b81bfa5e3e5013ba5c908aa6e277e3beb011fb24e0b639f42656cd49ec19c277496bc56117502c0246426b9781509fbc19055ea5ca41c84400f23e0ed9ebfd50be64100d87b489d3d851023bd61c1eb32a65fbca145ab4edba844dbfa71e529de25d278365cb8ab7837b9d1a90d2ab95a384c312bd263f4caefa9848b3ea5850671759a8ca9f4431408067f711a82187d97287f9ca5c2c66fbd735607a56bc2277b65ebfd7b2c3275f3ff07bbd1c31d8d1b106fd3f9fbbb54ff87ca98f69746e93ca0afee5ed05465c7f7e13605bf171373aa60ea7ec8b287f26bcbe32ec24c20d5b4e4449e0bec73a29dd5486feac38cf90e3e810958b09c675b6181ce203b1ce7ebe4dac917f063ad6120ebf9025997914138a8aa30035bf6001ae97d7a566e4790f5b38f82c848b4b50db98e1c05f9ec920efdda4869aae5b367781d7a212a52f46b39353ab8a77caa07a195e217b0b290a6515aff9ddb730256040f043bb9cce3dc6892ad6b8dc42b1500134f318561fe8543cb89f28693fdd8ca54a28b806207784f34c1d871d11c174cf0087800d7d181c13e969b8db3044999970479630dd79ee92c717c5fd869239b3d1cd34f91cccd499d432af7c834ea50ae30a6bc8929ba5fec67c26231cee37716519d6ef5f240881ea12b7005094dbb0f4cf14d9f3fb63b2a6b939bd6ea006f3faac7dda0c8095c239cc3b72fdde30c5c1c11cea629540fa88b180f106661f4b462963baec8c10d905a50d96697a3f74fcafa60298d9fd97ad7180297515291bfd25f571292fd7aadbf77225c2ea43b2082c499bf01d679635496335886b538b82260f7776288bc3e8817ffee5729742a2cd6ec758b43f310e92522933f889e2f65ee2cd18a2e4dcf30b9e078a9d549e6d36289f5210f9d08b01050cfc867a5691f6667b25a548f9e50516404ba18ce060e89fb767141bf104768bc24bb34e3aa207d8a1ae267f0a3679f1dae7b189a36b41082a36fffbef5d0e806aaf402ce5ccd99dcc4bd0246f643df2be67c50259849752b2362cc4c2524f99c2379ed109d569aa0eeb4a592b2990b0e350158060929de4d884a4678588f51717ecd27aae61d9ffe390717204b1ef45417ea4ee90e096073d1be3c21220a5da75301faa25b4cd4d72036a25c6278c131b046b2afe54ce099f9edc57d04007663706aa6c8ded8921e4b0b596f04cc667a0d18f360c2e0e363e863f28d1161754b10e240df35ed43b0f1fb5ee3579f3c838f443b936996575b8af8e1245930c183543375272f3b3fe51e4812a2ba97944269c39bcdcafeed1b536b727b2026d293f3a7db028f776deb6ad7ae4b4fb937b37c95e1c887e27facc7bc21fb821e715183662f1f07405cd5b0e5094022646787ff5da4ece2caf4cd7282070c2464bb9ea4cec8c506a1494f7bec5e85af8f0143632c15c4852791eace44e96e1e1efe0bd3a2c2c173386018be2b0e9468e6aecc393650f0d29b77ebb42585d89013a2246989aa13e099da3540320a6252e7e8dada0c0b5c43361b0823cc76497508aeee275b309dd61c2480adf6086dab998fd52e5f30ecb735923418d83326b112a80ff5fb4b7dfe3afb662e83f41d2836e9bbacc527efc4bb05ac113e421cc3d829c86ae47d8825a7ab9b656c7cdde9d13c9e01068bca5e74b6c450bc8fdbfb55c4e3bdb7b2b77e5c53b7f50066d365e7d10efed5712a376f467393797ea644a846dd6a3c6427ed45877a8b5d1e87da0ca558ece8c82d3a5d044f549ae001ab419f499b383d5235bea5ae491d00432139637163077006d751b63ac5668933b43841b419a544919ed5f203677fa9f80813a57f850c31429f428ebe3a8b36cf67b9e93e9cf760a15fd195014280329d14354e68131e1cb3a7bcfe49651ea41b798a8736ea34b5647fc30ee541bf1f19c84739eb1114ffbf1f2f52d1e35346a108e9401fd36f2405db8f70f84dddeca8ddc76fc2a33b53a0d53608c0e82e21ccca916875ab5bea90fff40e303903e357e4109e69c0a05fbd6c0743cf85b6d228f40e6694312aeee4c6c11ea3e91206898bfd5039a2ce94e6839acc9a249e45452c9cac5c2b5c51cabc1b6ea99c819cea1522552c6653cc899426c7150c35c7a54d9084a4f09b07c331e25bb9f3addf836d0f43bf13fbe0eb4d8fe401a5d895444a943e4dff4fae1f905ba39f3fedb9283b0a0066cf91e4cb1f5b8638e2e1ee9f9de050c59f025f2893e072320f088eb0c922985cd22efa95bc774d725e86f4a4eee1a1b969bbd28a7e4da101280a8da9d2ccece82db559822c0d153cb84f86b2f299f54a7069ba3ddbcdbe7a25f2f64a19501ff7254bdaf75419b21c41b6cc710e29249ff9580d4b0c6b45dcfee71c02c3a95861c0f81d014f8730d877f5892d870ab376e2343b8f65c7388ef27e3131363948bd4f68618c28d7376d59a17e7d923e5203e931df5346da15fbc71458fefea739ac3e943d25b66c0d479c80f59706ad3717d606622de0fa4be3f06d4a990c2a7222077ca10bdafc0e0ad4a7817eb270a9ff01b0e279609af5d2979d4445c1b78fdf2c12b8cb259ee428f55f88aee7c9edf2fabbd92ec02257e8ca28da825014fbafb6fbbc684f5e9686c301388ed391ce19dc580cd97cce24f17ac9a182857011be889e6b3de47fb07a76c3d90df16986805e8249569ee5e2da3dfb1fef2be1ed8bf798b913417ad7ae4f4a75ffc329b5e5a36ae2280c4acd16e7d17c52953089301dcb4cdb02cd7c9d5e8e2f4e5ab57685493cf3402c438974254e93c9af6b535e99eb4846f047305f2e1d0718f6e5e5e5a30fde31781a397768d261d1ddce86261069715d3098578a44980ea06e87235e4d08dfe5ef03ab364b5cae15c86580daa4b4da793b9817761e8204dca68e0216b9685946e2a63711d60ba76c58353f4f9dcf46070d0e086a7323e384f1334dcbab28a5615760299d465ae6659db1c85a07c7946d53aad34630b78b1bd6c14390ff56fa0e5e4e0651a1c61ee8712be711390ef343598216cc04d013547a4ecbca721a40fc8f393d58fd753fe8a1968d2f2b954460b3d0a0692df6163a33d22fd34cc9cf069546030dedeec47f8963a6a960d9add36b05ed91795f480972b02577a79ff310db975d5ab8a0ff442e6906657a813f3a7a8ffca90624e16b5fd180a9fe265ac50e3825308b7db758685a4204773d6f4f02f1f0353347b53a17a6dcc9426351d6906485e8a4b6bde2018665b372c218d286179c36ba22a1e472eebdd282bbaa740762c070dbe49eab3c9054e67389eb09ebae8fa2ae76a99890cb963233de8894661190b1322753ee54d9ad6cfb8ab371bc5de9aa353bbce49d5533a989ffb27e5fcd2435bea908ef87c19d022abed3aa34c0e0b5b0b5594af2ce2ad18605dc37b7615870cbb6d2b39a3f8c89d4ee8da45035c6e1ff627efe08f095ac860cc88ab9473d4baf39d18daa36b55dc01e38ef77b4ec47fcae1f5c592c4dc0f44dd0074eca01ae85a612754dedd4dc2bbfe52d0f90e60cec0a9471b94d6611bf6b6644f10f20afd5bc115940eab25748d3c0f6266a7e99b06a090af9ab105f724ef7fe030e73f998fdc3f1c886284fc2ba5f54c60183f68f7433b6e729d8fa3665f61fc2c49beaf936fcc00aa7005419964b71f98504e0d991baab30efc0a3d640dd1b54a27a3534a987558c73da99bb97dcb1cb7e6af8bf57a3b21df114a31577fd0c6bb43c036eede8077306b577dfd24b06a60fa54610c9c1df735456a07911c8bd63087453351bd05a229738bfe1f00dffd2a9b881541986bda04b751444d027d6ac7b94c9c701d9cec4ca1d084a261e979faee190b4262a5268409c76c04ccefc0e681f2aa4dabe5855dde3bb84c610b7219bc7057eec954b0104a72a5183af1458ad94ed1526d1d60664bd60379918d8503e2e88dd25b2888812edfaba145c4a3c1ca32fe2aa23bef3b3321033a4c5a36de2d6fbea98be63b66c4f65cd2ffd0e9f1d56f74d4310ef15464aa89a30b9119fe21c270abf1ee87bc483dbc7ae36d2a7f6ffeb1b5ccd2b61d173db654f82aa5f9ac78c97797954d2596fca46e4a19640052c9e98d0bf006af936212654a475565cf6ccaaefdc23120c76da89b71ffe5fdb6201a979cbbe8dcbe399d5c6e853cd163a2ad34b6be4dec6ec320185e3ebf243ec06b61e687493e0c9500f0e486d2dec639ad0b60f6c5c1c1b8d53ce813b119193b840db764c3c254ebdbfcd2f7a049dd828dbc6c52d5296d5774bd301778077561113d14c143750ed5790f4ecc63692601e6f550c7aa2940ccf79413c2c7d61f31fc7f127b0aba515e132fa31fef323fbe281aceb2981a858e9a188b4aa8f3075b57a955c5938c52fe17973396bdb6c73a9b8e68032991e09906a58b0effc8e6f79f6d778dd0fb90fe5c2b01f59f5748a578084e33fc572ae7e97744836c0192ab768948eadb8e0c7e0979f8cefeb927368a2eca7a9f325c7f4ac9758728b219688d550a07927d7d45629c58c5d6a0d6ff01783f3b737b7c1a4d63bc21537f7441e3360d301d23beb3b64cd595a2a98ffd8883287dcab92a917a450c32f0457615619a345e4c1a0d1a0f2784a6e65db8ac8c93510d13fe4838da15160bf75fdecadb02741449bd3461b4ea08588ce3bd95e454ff1f2cb6953ad191e549f37c102c337ae470f77f9686374feea4cf1773b70d8b943f4332e7c08a2de443d935df47c98a76d18f7b4027b0b110933e9536b85617fbb87b677c9cfd4d3407c7bc446b57d4b2aae2424d75ae1ae0ec4cf5991ce524b52f195de7b859fd48155cabb9e061795b97a2185b7d8b50a81ea0206c5aee6efc77497067c97b93a3b38aa7b2c69d5488f8ce6cdc9dc7a509f2d86fd48ef44f3473dae67f4c7dc5d816cb5d5bc4bf8f711dea8c38633f4e136b1e5fa0f36c1792d8ba9dfd3e4db25e0937b3d13d7a3d7ec61db9ee16b054ad2ab6138b4f0361dc0072827c4211deb3c299c40c42601399913d3d88f1fba1ab9efbe6c4e0e66596d87a610410398567648f188dfd85ab4dbbaf4053706850c38f4a2d7c7af43f62c25c8f85b7c59de4ebee48e6b717d5f302e16ab2a1bd923e585736a5600218b5b8bc3bc0dee95ef80c819a254be1174d7f91a863224bffec330e587141dedf0aa0e361cb52f1ec6ee83df23297d50910b7201a9aefd7606446473ec0f02935c13132b8fc3bc1e8a5d79237eaa83ab154ed4f4143b1d4c2c22aa669c15f1ec9c53b44450e0dc5e46be44874a3017fb0c203cf63770b10ca5ca11633822893799cdb22c2fe85a547f05d7824094ca7ac9a2a0e6d6c792499aab99de25e27de2f944f285a213e1b2bcf04b84e9d6e5a05c19cc11b3f38651381b1593f6b213be5df573f8d31bf507c07dfeeda095e9e7f738ccbd7f4215859f69be7a4b6f242d56572567ba42faab2dd7e5bdaa8ab4208e1cbaed0a9ed9d1216c63ce91f6028d69b173d12ef632f890e8ecfb86297fb9431b2ca26b7c2d0d35822cf2587f58ce8e3913e29c7ff66330a7b7971bbdfd89da9a8014ec99316e58f1095185f77d1552af5087d107e64008be9c6feb726a61d8d7a3d7fee9c0eb9bbce1fd577467f5303d96424bda8888819249d063f28a563950ea15cc014e891abfac426c0db5627d34371a8ca185b269a586cab8ab4e04aa0557df0d317d4d84bd57228c9f53c45797efcbab7baa0d8b49419033fba56075e7113e57e91cd837cabfab79ad209d5276563f9e9ef298e4ffe1916256d009576428dd952a7bcd1420c3a2703e36c8a4b8364ca8d6bf9f9bf0ac952c48b41e3b3236582c043e18adf9b2612c12d658be2733c4c77a40275305f75d57eb44d7dcb56026bd4ca9b0698450b857c847b7cefdf74525ecc2dea33fcfb28b83bd6991b3df0583fe91247160da8851a3ea041f88e3519a2d98a2a554eeb05a956693b59cc4be01ed1c0eb7e5cbe42441042a619a200f1286053b5bae956137ce15d8e272ad358ead5d88f15c2b0178a445a8d9f529ce071a43bab1b04274b3ed4161084fa1630c541c50d7bb37ba79e666e27ad89219a4ef365aa8d035520ca0dd18b9e48008d62c6049c18c6a54914d122cef3d6aac28491fbb03fc0903b09e424f3365490ed56facf45b9925597aa670fec46ea56b4684ca70b868b0b8a8324e8c7ee5e456ac1ea28d7d1014687cf79cb972764e6e6168a360ca3a27257f30e0b15ae4cbd35f9f96264ca66b082c0966b9a1387f2a941c75e63b1eecc359871dd102a4ce62b66cca9731ff713dd206ef4271ddfa9acbe3b48d816848e725d61e333240bbd3a14c808cb30a905a0b4621f7418f47154dddab00beb4b29078fe4f4771e9837b4c07582c00e7ca952aecbc8beb71ea51a1094dafbdf2cf776639cf61c95a9c459fa444e370ab0a070dba9b1abd2015a3d9eba69c5ac5c742099e0a66415955a202e1fe475261eeae421cf89d1600bb34138ed343d2c1a0212caf228e6ce2d5198178d26002a1e0acd418cf71db1a519c7eaa68137c38eedd8cb6f4fe98e94d2b649d538247b675f4e48f1f5184ebad8d615163e6ae9591b11d6c245e2a9b5393b1df1b5659388d81d5c4d7978efc88fc17c3d77e4bb27e8b3637c448aff1de54b791dc5c0dd8407986ee5d8d74ec2d9dd28aa4fc03d2a2608d27af6dcbb8892e81fccc2362acdbc91b9f9e268efa25f0e5eae396188c160f6d02228620c5a156d84aaf94d6a05b6c95b1b0984b59507eef5537abad653752c4f7b514319c70f621d1e7675782f03d4d7f659588e9db2378145bd550722fde64989dcbbc6ac9d31f24e3b10bc4f9cb932f0da3c16ae96622362f02750e2713fba3331cb930c55bdfb0d450d2b8ca6cc031b3141512e08b3ddbe2dbe9d7b398909493a140ef771698f9b7f31b967cd1ccc9cfc5d31bb23c77ed767bb700b593b121e810b3a38a6ce71b479e87b3a27da2cc105c3124f9181f6b1ffce132f56ea8c70e7efcaf3840e6bf49b631ce58ad652e919b8add3a55ba2b49ee68e1b351f221221af201e4414f253d8f549a4da0b53010262adaf779f5b6273ddcb0b31ec6d4df0d4c25dc413c9ebdb932494445124653d3dd5da6c01b463f45f837832aa2cddc2ed10b66dd1780a638a87b6bb4af76af3b0292035668d68b3653a7c083d5f274245b5868f9879f16361f47314201e370d64e7900a514001a01318f449a68bb527219f7b6c9764a55f90493191ac6dd0dd12244a555c98e36f5169690db96f82c3814f5059ce10e325e0048d056c9bdd9412cbd9941d03fec1005dcf3c41181aa7d3957b02ae009f8f5aef36c19108e13f3aecc6488e28cafea287374b2eec42e15023c3e0f0dc583e8c70a5d189982347f863c7d62e7cf02cc4f422d557778d3deb2ae9337389c48aec8be935d4db70c38ee354faefbed17cb29a59eeb9ccb901e08b8782b4adb2816cb369da7db680a522ca9cddfddfc02a47b6e79b4181776050800d1b0d6741646667642baca227b4c871c937659d230257d3d93de757a5adb40c0adaf7447b27bb26327b0c0dd2aaf9837dbf3501717ea1870ae9b3e85a8ea85e8de601f4ec1d2c92f3817cd631d4ab14c4be4fb39c246d7437f3bd0ea60dd827ba7a01509ffc70ec0f0f19f79d5c22b77d7b974a3870c632d2ff6c64e9a72e8b0636e249244cca6b1b68a8814b4ca42bb068f69561a755b79f331cc4d44ee70c1e8fa7978b7be1bb999ac8504056ef174bcc02ea3973bd7d9581c0ddf65fd22542df42544661461d2dd8a86ab496e65cca2e177b185b87a16acd0e8bc68b93aca76009f98afe6f0c5d7a31f2885cbd72f87cf426c8165b456a8e4959c1224ae4acddbadc3339966661ef0083724dbb9a2a8c49165e2a30be352f67b0cd05971845e298fe56bc035426228f779c85c6703e88e252dfd8420190b3c87ee45d5b3fc11c8282fc975fa57788999dee31b429f502cda7a0e0ae90b460ee3ce8bb96389e96d226aed22204781ef351591ece4ab6f6fb6c21dcfa099b0f18895182446aa66773f8a1c401aae487a03b74e1eaa2db4adb8dfb4de2d9f7447a98e88afde6b0b709d5db03a9c4a52cdbc416a619b7fc6587b7d9437731791574b46ed05c4dde141adabac3e87453bdff3a87f90686e9f64502a546743ce77350aad13b3c0c0d156b3bcf5fbca505d52e6d975f2f4bf08bf8f58b095a2c40c92dd791b88a5682b9323bf3a0d14578c60e445cb5f6037eca81b3c5e4131f530be2e78ea28e79f7fe9b41920f1b500bca0947e4e1979a3108a585ac2edb112eb7975c39ca707d822a062ce9eb2b4335c0769e3322dda22ef88a246642c94d08572d20f12199d76bcf0bd0c06ba80c125b438f63fe93a1239ad3d9519005bc99db380e54caca0af77c0516f704247902eedc9864ccf618fdf4faad4fc726e7f40ce78acf00f51f5c73f80a740854ae2fbff30cd630d1a5fa284334dec4c96373fe5027b3b86a0e199f06acbf44412b3401a6b3718191600f535d00638ffb1852281ea31ef24e889ca2b467539a30dd3ca37443b1db97ab07e466a64af3682384262e677ecb6b74ad7eb186c9a1d1f4e1229af6903cd418e0b5e33a9835785518b5f297dd1854d151cf536d979926a7da7c43e7af80386ac56969ddba7a99f84e347dffd7b7c5345cdba50ddde7aea154a42c2ffd5f01afda951bf627844f68c2f9b896970810a08f5a773b2fcf6dae8ece4489d3cc830b583f75f0d4510deccf6408a7694a3b5fb0f4d9b40eb45e2c3ab11bff7557c95a52d4174451ce9aad00506d6da9cb7269d94574785bcc2f43208c8de94b2f41e63c6603705af7b26b1c8cd371d17bb5e5b56abedb1d6ea5141bf0d496ae218a134efb3f262ef9d6ed4a0bb8ea233edca8d427dea1fe99c10fab7e9ff1f76303fb2bce8bc3ec487d41d807a4d695501aa09b73971e29f100197e9039a672dead67aa328b3431b5931bfb28c087dab837ad82b276df187af680f8741c5cdb323f6376911a42ccd254729db743012c8ea412f8d4dd126bdb74474fb0191fdc7b08f7ea949c8670126f680f0cc0e90f9749b7afe093de6b3dc42e9b2ed7273246147d6f6f9a12f943d1abca8db80c5f7bae0f4651ac5792d0f8177a305065661ff6d0541ea8f5385903805f6657b0f18617f3485f2fa582e921875b341bc3d6dafa18850671945ff7f94c4192671e385564facdc2dba3f44ab065908031dc74db14b73ef029a8a51216697d7384a360ac94b714a6fea83e5bd8c4e2a5f78f2a48a63b027bb2313563a9a81964bc6e189b0af4124561bd648bdf8a6564b26b6923da68f2156e12ef13de32604ab85adb23dd1d864d1d405f8c65c529d8e66fe37162dc3862b89d6b19f3593294b2e53a6d15b232558d875e18d3ca8c75156a61d2c4e3eb38f0a08f95442b95ad1a01c2da9da6b202ffc966cd1c0c1d63c6e0e1b30b4d19dfeb97612fce4bee8244dba4a22f396d877dd3b156e23633ddb35a7b718023e793517dd024615ea82e4a72dfa9712c5d5f410da4ef9dac1d6d7224f192251a7162cfe0c0cd7f1e256d116cd26e5f1927cd4ef3951007b8bd3d5e0ba4b22964da7f2446116341c4d1dab465507d292532662223261a90d0e1664dfecd9c6e4b6e9b6b2e9103b19f6005c816942fbc9aa3ec2153bcf41d5800889283012b6d248a55556f6072cc805c274afb4cfd1cebf9072131261ca12faba7ac1e229599d1745d7faa7923f002fa0ccd7078c671ebbf1e778640fc3e8c28cb8489027478829aada53c3b9a3e3168dcedd6dbad4603c625fd8a0f3c680b71ed76a470c2a21c93e9a8a15768debc9706f1ca0fc495f778384b3c5fa4399a960a22dc81d7f40b2f750cde83d9c0054975c09cce2d9820cb6ea6e855dfaf59203ade245cdbb5e0a74ff36ef9f7cd3428699507ec1c28333039893c9db81fe38f9c7ec0a4d56e4160996279172417799422f1a31d7b151a7285c0f1d52d5e0ffe575169b031c71e3355bf1427ceea7e6c3af33132071731fdddbe73ac249f7050a42d95071b79d9612d77ea7a4fd5c91afddee35caa4a4a869b30941183cbf7c2721ad43e6d7e6ae6f839f19e87874621ad8c73cbe856e610b8f716063c8de58ce6a54f3f0dd4a7507acce100a8680c60bfe3d1329b8a390a65464b60b993a60f243eeeb259067e331b79608ee1a388727ade1267e52de56d667ea9147529c7bb1cbf6cbdf25137df7d4880592875fbe8fc1164f04a370a31f0708e6d4e28e4ca98b8197da97d98c66a19236515021c660d719ddfb3dfffb75baae6374a5592751b8b8a16d7eb5fee578d26dd95ef1eeccef06c15c6a445ac34010fa9d60155a72f5963deec2b68ba68d864c4e3e466b9504db62b86fc328a8f29a9c19c032e9ac7a73f77e7a0b0564e4e0b3f537e0c3443f72fd9387b18b95b0f15f2e8b08278a465848b743761cefed48fb1bab9bd1256ade518c8bc4697ea98c237cff4a4c6ea9c24386b73ddc71670ee0b8708e4e0f84be01d256ac0c047028f5c316a525cd6dbcbdc9f356146596d5b2c984f00d0fbf95a300deddb2ddc911b07146a2afe3819fec2489a328ae1a2be9d87fc7f1524b7fc4607c6170e6aeac1ed0a50c9b1c78d0d85c1c89b43bb27de0cd8a628a0f78700f81317d24d6be3437c96d5186e657a2282a22eed6053b6bec9fe9c6468df3f3f34af187852dc43041b90f467eaf0019fb46368b2773afe68d95d87fffd7e32b19f73c5a2dafc91d4f6ee3528fd96b9ed7d5fab5c3425f36e9f2378a75705e6d6db9e3a624baf94e4907fa265d9ded30cb683d8560d70bc3edecd4a2654a33de467f5051708cb847a0ec816001251c10537af1efd428d4532ec5b53122afc56602158c0d766904f4257a61e10eb84bfaafdd2c72cf29958521972ff4f353c270a2bc923fda1a25952af62ced06e5848e25b9da819990a0540ec9993d0c3eed196a7cb2811d37e68b0c37481413047e40959862e3ebaaa8cd3a6cd19f407487782ca216a64575b0aea0ed100daf6c5907ffd23fbea7b87b76d39eb0d35e1f3ef2eb03d1947113c2229929423e0adedf7018ee1dc535a5c72ccca4417ff0ab95d5aa2bc6e21d356136aee140501e9f0c6b21de1f4d8b8e6885f163f27ad94bb7428495bf6653a9da771918e9f5a91a88f08299ed816add578ebcba1b57e9195307aab908e30dd4edaf8c53e79b66079eb485ac0f0f6f63874c4c494ba5b7568c50c9f33a820733aa06a1d191e909f917fbd9e5647fb419bf17a312857449be2064df8d318943c0c51e8ea7b600fc1ceeb4baeb4c0b3f064f11a46d6c217799e912d9e24ec1d64295cbb0ec6f0cbecd116172106af42ca3422c246404b0ea3aa996b0d90a50eae634423d839db8dae224e8ee830471ae6d3c517b6c17c850cb3aed6bca21873fd48b8391f1dcae8ca7f7b7e5c917933732aec6e951b5051aceabcb147082324d6e227572b8275bb6315491243a21efcd2b1e9db936f2d707389796652c37bf4b1f0861a553694d457b1d2e6c68ff802c25f34be15c25ffa415d538461bd5cedbf911cf102d3e00416aa0da574360c93e4396f2288fc79fb4c64484156ac85cc6d66648a67ad11f5608620aa6501bb74a2bcc9fcb4cceacb3917079f8876a3c71a2f4f130bf6808041d7e50c95974255da1384f53f041021672ca2c78f68a883ece719550cbe20add7440a18484c0fcec30701f72c278b849f18f21df9c34312d8ebfdd3372132dbc4b90932e02714bac505bf5a5dda5209ba4596c12f1503366a8d1196a1aa84b2296168daae1ec4f296e7f409e70628bfbc65f9895cd8b63461c519bcd2f3b91303b2ba47e3064b4abea6388794f8e6d7bf158603e24182f9b4a59ee132afa5a84e8fba61d1cedd40d94909863156163a2d76a609d27d4198d6101b9361b4de378c282cf3f9e77119cc9b8bffc4aa85c982902750bb38d653a600082a208c97e57c060b4c68bdc0b21bcaf467ede23838d31093f2fe15dc8ae5a3799de21f68cc54c0341eff1e97aa006e117c6b7ca126031d1f95a75aa66100c0952153dacca1119da4a0f3f36af446efa2d8c3b8169d06a6c0ccb3a1fa21b73dc1b10fd7b12f7cc1842cfbec72701782007195fa9e51b4f870f49dcaf44aaed5ff123b86180565ed5a1b1ba7c9cda4336414ca6ca879aeacb692284668a0e50fd5525695b0be80dcea14cb4993332981c5efc2f7bd76118f2550629da0b53eec5ab6b36108195bd2104f837ee4aa9583d57b980379cad3a979d05f811f7ac597667e5f4e39186e6f04f1a5344555c6936c35980d0519e4754754c8cab7697ccc6e8a909b9509516cfe5118d6db46f7c6adc8c3a7eff0e673fe0e454cbf1a36b07483f82e0b6140796408d61e13c34682c01e5b21bb13db125afa3504c73606c294c23cfb3a96f6ea52cdffd2ff7525259409cd5afb846e0bcae166f47fa08a5beab09af6b0e3211ab9dc5d4254600cc0149bbd87dc62b42b6e0faa8a942cf58e0418dc7673ffbd7d5aec8bc676178fd8e641dea0dca3af4d251431bdb4c414d4ae109ddaba748d9917bfcf08b05f0144ad9f0220ec96b8c4f434bb0e8da5a51185070b9910e1454c1bf43b0ddfc3b3e4ece7afa0cf6efcbea9e92c6d6d61ae4429c3cf595ba2891b4a73d8e233f948362c1752ba7eecb5b4c5ec34499e440fc4a8846977b5df1888552e7e15e12daf37bcd1b2e461075945db5fac985592feb2c7377664bb9fd621e528950684d97df85b1211f240cc184e5efbb10a62c72bcb5e22a05fcd940d5c55105448755b3cf93b34ff0ce29954fa1748ddb43d21ae15598230ca57062a23c177157a4bdb7ac5d1bc4278689b3afcd721652a03d9adf05dba1afaf544ba66af98d4201e2e7fad11daa7fe0f0a3bc0be4f0d2ee51fbe7a16efa48157cbbba47315a35f153ff48ebac17870289a6653af51686bcd792e22a57cbc415c81c57180546f5a976486aeb521027b8ce113081137dba68e322d94d024c24be81cb4b85c93f6ec1dbcdd2b745f906dd48ffcb1a664529f17675e65210838a8eaac5c8d5967ae6b62a477216937c5ce7225fa0376fa845253eeef60701f78c8f786f1a75baee9883f35295f6515ed2c482f24c911117c49a57498dc732e8753bb270f6e6a0013185c1da1b08f6e39c97d22d55f8591005b0e5e9175edaddd5c53a5308761c59e480c8379ab7aaeb3c869f7970ecb850fea13693b14d18c9af6a9098e020997cfe1ac1f79049038b152e27c79870d1521c132201ef6a7f6fed490fcc9e729ab7ec9d5b6e0c9425f4a490a1eb6c74841b8eae152be4600e38faa6ed62cc54fd54184d9742e5f8fe4ae853f12b880f6194c5a351dd04b6b584042e60eecd9885093241abf847cee6d259d2fa45c966e551a81b1deb139a5203f4b37d84b183d4d6b9f04aed92cb5e902c06521308e112e1786f852666d2f1a8c1c883bf9cee9f8b65597b37e7ec56af5b8c1ba7952f1f17f2f61f9561477dc5f6bc912c5af44d4ec8a88242668cc23c5484e4b0ac784d7a1538d09229c974e1d42b3fa71c8c164ff5c7ad0db8d763f762110e877e28ce93cea90857cbf65226cf77d275599735c34f3939e7fb71b62c2d4efd74b7c5bac173b7b01358474dc50a1453eedc3035441baab0e7fd44e61957bfd577f9ae407934879fd41bfa3f0ba94696552befc4dffd7eca22d0202eebbe40879ff041cf4ec5997ace1a2c024d9cef78edc66d086821816bbe0d556d112ae06183fbe2ad957030129e8b7c5c99552e8f17361de754216de008edf9f269d4cbb3298ee771e586ad8a505d798b8860c297b6102a6269d571ef7e93af81112f62d2756be549ef6487280b555e027a5f5292bff3302beb29185322b835f0cd23c489fa688e1fbe2a8ace0ad6fd3015eef15655dbbf1df4cfb267866b35a324628425d9b42291db2abe13e97fbbe498b4ff6e65ea01487ae549f50878a92d99a3d3912b6e38bb62189d5017e9dea426eb6c8bb6b77513d733028e90e9cb495b5fa87b9e33b7c32273c175dfb8e689f802147738297906aa73ac750903c9af1a9a4ea97e012db5d25128003dcdaacb18a44475f5eaba40d4646165e6b8b28687bdea8f4a487217bc1f0d20baa4ff330f2f70ee5bacd9fcfcb70623057cb7699e870ca4898e7b51d45c4a02e6cf1ad5f8cabf4c466effac7c0b033695af09c67dc6df99a78b20fce5903473bb5dbf3ffbeb443dce888a6300ec6cd1f8d9a97127e09dc55b39ee3babaa408df905366241488b0e4449361351ece23a126b7d306bc0d1984941812614abadc93182855f223b9df11008d73b47352c6792c45ce1d37e0927db5c4979356d4a3acd777c3268730d0ce91d24edc493f80855eea08b33ac085007965e7c36cc6682db431545ee7cf223cad6bf22f3a74e2f40f16cc65e99605270661f745653ee55927869ccf452bbc16ee38534de64feb06f796b0e6c0ae6eb07070667a27b3021cff6fe145fed16027095749ba5cabb66b0bccf8e8f286732d4754b6404400642478781595366595835576f0c28a58c72dd57bdeb026c33683f122fa51b482fa73ed34a80260a142d4c734dd4eef10cb0f9d8b365ddd870488a22f8fe33f4aa74b2a44382a188bc9ebdc0386983647153ef2ef9490f9ea8725dd2c490d310d1323b9c9b642ace5f2460ae6bc3e590acdeeefddfa1b7c38ac96727c3a5c1f1470845febd8c2b1fffdd407f4b6943b1d55c932b5c549eef730bdeced42db44d3989ca5d81f2c12d8ff0cd7f924c3a43d4a5e1bbaa55c804da79802e026538aa3fc8dd92f653ccec420400afc775e80567eba032798af74edfbc6ccc97c8b1c05bbd11b1f0b2adf88fee20ee1339105074a24a45ee34493f65eb19ee3c6f569314a970e1af0edd35e3b8df14ea1affb30352669af543d725b3753feba1120c43623c5d3ca93e061ccc40ddc1b6f62e92b242fc6b8b23710bbb0b3418e1632694ba0bbbec361f803f13cfde9230e68aa01be8b70fbf9d77b30b354720c0954ea32c9d46534be460c5ddbbd3b11437e1bea9f0bb7ddceb3ba44efccaec1fbb84fd7903f1e274f7dcb3a9de69473dd0c5814d78918f63edd8f65bbd205d6298e429b9c380beaa9692e474b2f7e3be00380d0d376e7d81a25d22c15904e529d30f9e64420b95de7789db1cd062a7bf33d007ed1301da83f0d307ab83586c87a70fa8083b34be7f1f40f3fafff9b5bdc18f73e5ddf2bed4f914b9842c62ca5fbdae011fda6b053ae30bb7b7e83f9ba7c700ab6c7aa102069a9e7ca22d3430cdc8809a8192573e96ad73d0281fa307e64ffd1d19c1732fcb73ea3a10b2ca4ef0c5dde479b8f89dbd057fa8aa9ebf79894bd1e1bba0e2d30ef8fa94268911d4f28045065a4e9b3e853a96a38e9a65909d807545fa1600d3250880ec0652b80133f041f1a48f0baeef5c7362ea357712f67980e95a8b38c8c7e022f410cf04ffbd05125a8f1c69c46452e809785a30a6b77ff1c958465c2c4cf639e6ecb39f40ae41c66e9b239321abdaa194f50b7b82ea0bb7760ec328b43d4e712a3c834c30553df2140d5c4e16ced00badf890cabeffb4e65e085dc0a5ec19a5bc2587918e84e0407f5752af3fea43b673ac6db3bd947bf9d0c9209e57f727081063ab7613ec71d79a1e8e25076e2930cb08de06e16095710457335519959b80c5507b2c6f91a05bfc8dbd31042ef70a49747f94936187ee243226dac19ccb2760f5ea15925c7228a316ca53831e9fedd04940a38d149dfcbc60b5cf045742542c702a111e114cbc0213fc87e772b17a0bfff2b070875ee36050e51234a0cde39076b008d6e481addc063f69f6071d84a6e9faa1a9ca4c3c73ce577dce3a9fa2167bdf12ace8a500d854ddefd38ef4bcd1c7b54d7a170df0ce7f1cc97cc7ef64dd25823117aa4d897433892d917ca826a627cc8fdf3142ea77d0e0e3a161cb74e26f389bca7dfd81cd31afbbe1a15ddea1155b1ca00df42c9dd21b6aed1e4ca94c6f100227ee05fad01f88cdc134d656af1d1dfa74ef32a4dd1490448af74b8618ee89978acf7bef9b38ee730733e609271c72a58985b94a6ac5631989e148063aa924a88995fd0489bcfa1ab5af91e0527a1238a2f610771ad88d84dd4cd38d8fb15a8d0a6780e6c40263ff95b673715bd509ff1cdf828d45479317f4840d01940adda9e41ff91d515a0bcab8f9ef36da611e8cc86b48cf85b46eb75f60e5640fd3d876989e34e1997d26234475a6ce85d3b70f070c0d71c6e4ab54b7e618c52a774e7b330f6b5b5274e7ab3b77ab397c6b38a8f46f210861104b3c2ad42278fc845ea1f189f19dd49c59faa4cb8d3826e9074a783b12dc8ce83176da8f6122877fd536a46736951f4e0e290446259aa3b5c47d31e1a06dc12ffcbd1484b6d81b2c5fedf20955a064ec734ee3e54a64e20902ab6a059ef2ded07de6a584be20dd4488806725b9b2e32f58f403fd7c48039b5113ecde5cdfe0d513821f18ffaf86bd146c69990a5f6c16a6b966231809a7f0cc270d4fdb6c0d3b048c247ed61a083bdd5fb89ae8a411a12a96a4a17c7848de23aca43d4421113b66ee6e2f10ca9882db743516105b80d612f7028f3473017fd81e5f76bba08b2ba08430733503b55df6c9d8b86644040f84526f399d105f525d511da96143b7c0ace46f03303849ca983d96bd1e10d09ec5b9cf9dff79d5482914003f0b8bc0f871065f1db889998d1c008e2af5fb2a581faee99a0f4aa89ce71097e36fac4f83a45978be35d211e96a60a09d6e75ff7c2f82a7a1b5e83ccc6686d914730eec37d3fc164449a0ac3cda21b4f6e64858d44d63ef16b2b7e628c140baf9abc646a0b78bf305aad01459e8ea0278f2aa3e9148d23bf843b75af4fb68368517aff0cc352a14673e4fdbd72f26209483d7f8f52cceb12a7f7563ec740f273c6a2eea4a64ea3d50b8080ea05c1f5f897528d0da15e531b583f27c385e47954564ee430ac569d510915b06f1da1dee9ca8d3770a62575a8906d2b7495c79fc552e9fa94a8031ca0d90f69a5f8acabbf34a5d9e3c4047930091eca215de1d838a43c20bcc7871ef5581338d02f94695362b268d3f29c7c389c2102634e3dd7e23804dc28ef2342a4de2e291334c41b546d17f083e43af43d2e75eb569f7afa483fa557f1073c8d5534e9d4a6101c33f51c0ad597492331b2d79f19a1860a5c26d324e0ef388c2f7b12c2512719b256feeb8c449ec31f276a92c40df4317f8a0fec821801e01cf61a58006bc6a8ff598ca328882a7efe110a4fc05ffce040851bde2d57b3b5e28fa7a5aab4e2755f5f1cce36c1026428996a0b8f10cfb8d923ac97ad161566888898046cdcf17dde39acf7508fd5df51309448a5e138ee4fa550853eb10c00880997be4399b3c7d0e8fcabe1c8af3211d7a0223d6278342836a33867ae05ef866b0b13bba1bf610d773825091c5c7886e005593def86883eeeac1decf9ef44e18c0d87f17266281a3d2f3dd22940850be1f62ed3a5b85bbcf99a1b43d35dd9578b7545df464f125dae3030998281cbba1a4316235def719f38165c05881fc7f1ff87a9f2f5bf635fd53f72fdcbb970cb110018019e41c81cfb8cd4b2a302cf16df87045030b13e20ac772473b14f1975112fdbca07fe7ac93f20a484c6bd76305dd57b1da1b6ab4e6f11c7aa9aebb0219227f7056f8e2d9ebd3d7942e5525a39fe63fc476ff7017d2d7cadcc6a2d011241357c0df5a872db872f7f0c650ab68d0ce4c33131b856e018974ad485dde7b15833a509bacece5def520b0bff1b0f8196f1b9f96cc5b33b6d87709ed96fc807f5e19f137f346eaf9a8526d7fdb4fd1038080a855019ac691fa4b3f85c1dc9bd73e1611328ec3fb16575b280e43cc8169b75f9cef1c40b0d6e8f1617b36562c232ac7bc228a2e8e5eb9d467c494b68e24d9d1f6a91901ef52f05cacef2dbc00186067e6348a1bce753edf65930ae50c9d8f0107fe0c790b33b160a194ba76350da863d3e58a03d160e930311b6f9950dff01bb89efb2135ef9950b4360468da266bd85c3509172d6ed6316ebd0c926bc35c60f663d8b610c4179baa5fe9cbe374afd1d9cf65d5c49a546014f7dfc231caa26fe71d75c3d695cf05b7a5f9ad814eab23abf11d8cfebd87a1509747eaf95f725e5c459b9d64abf8685ad1884dac281b9b55ad7ec423e51391f6b976a2d62e7fdc49394fee6c7e1ab9cf8a8f3f1a610707b6e33cd65100e47b4560315155610e664e79032eaea2f8ed288cfc1dfb1086dcb8083774d4583a2e7010b577fa7579a71cd3c46f72a553398277db9325a37ee7e48e4f2b6329e15666f18538637f25fd2ad6dbdec74902cac4be4eeb4981bc6e189d13530812e3332a284e005855df963e7dae2e2490f03a31984b84155ebbab75d1bef5942bc877f1d28647f4a5ef6a8f28235641d6464aabc2b44eb39af59fce491db3ff1b79b1e77dab3493b6fefff6ed626846836988dacee65a1e906479f5f4d4a19395c550b4638e6afed338781ea8d0376dc8327d82348d6e92a97e13f4c4aa1e8d4b290690c6539ba2e7eb4f62c767c7949c0dc87b066507edea84a399580a54a7dc0536f453c9a05c0401079adfa5213c1c754305bf3191675238681e52ced6b15268e23d579fbba4dc512be3ed6a0aa53e43d4194133a6c208ab40679913887866a1470acb594207563cf189283a67a3b8dd1925c19b3ce643d0914da2f7101d8ac495886365cbafe9fa77f5f45fcb7dfaad062b923f67d9fb5668788eaebf2a6ca01c9fb483429fcb6e5f241fc10967fcdf274864db6509ca70017302c97096fce1c122b07a958851e906fd173becfe6b86de075134e506ef86b74e4b0456ee479a11d1f8c3a6028b09879c2cb595698fd69055036b680ea2a116e316342c4d2f5a1f1c51412831d4aa6e618ee0ee70304809134a13d3c1d6605cf383770741327d58a74815f2535e06a0b4586642af8216e3c17d5d3cd8f5a4797b5242275d97cf569e51434790a8929e0ce1734d695234dad2c285276009ee3ba49e8fea15e23d649f9095dc3748c10ab28524992e5272e21afe545ca830b83fa85716dca5ad1fb901b9c65115419ece8e6391d8b76e2ddc77e6750a181b3b0ff2523f4a18511cd14077947574e60dab12b9c47bebd7ae8c6f5928ac6c0a6df538efcf76df8e64102b85be5d18e33da98a104ab6aa1c54ea55f534085f6d998103d2de3f27a2219c8b81978d624a05f92606f638b30808bcc322a748d0a551507e82c310c1eb2be6954421564b392122bbf91b56b78015de56c67007b37659fc19b852e74b147d312ad8f45ed2d2fa765715e6b2dc153f8a81368ae62d302b3a5ef551ecfe80a33a6a20e0aa331131aad387f7dcc04375d0618de4919fdcab72edf9394b17f3c4b38d6af9f9c919c8d6bcf97228f2244353e2aaa137d496b49185563dc46f95ba3415a81b109127ea6764bd5baf2901c0c52d9510c2b7a9830490b2c892cfe748bcf167ad7994d024c0202f9b6e4d8e343be726bce0785dcaba659ed7235f4c866f9dd325e8c0d889191f639c0d935abf27e32797d6857b7c91bf2c2bb9d5f221c04569673370a3a4437a9db27c238f8b65064a9750bb004346401071d2ec637eee5c155866c63bee83d919f32d1dc7f73e62d69c683ed9d43df54210257413149c11da7e3c0876ed554b851c5edcdc12ff55da708b4240767b561373d74550ba21bcd46d3271f215eca91a88b73f4566549582c0cf1fb05082872ce7f65948eaf9c60730863554b437a1aa6307fb3920d2c7b6d122fb8bfdcda312a3d17a4666dc341a3cb042115ed538e01fb31b8da2432ee2effafdaadebab0e75041d714af02dfbf0deadf166252ca35bb5ac8c06b309bd50f282718f4097fba56e38bcfb8cfd31f1a4b116874d678e22dcd27d62f3b479a50e94f00b0b059922ada5d704930a8c51105715edc8678471e97bbbb1ab0887e15f42fd5f59a82c2a5ddc9931dcebf635e09a5494a892668f9e8620f27ae4e435dda01b0e8bfd35ecc2b9182083ea01c86bb3a6df7756ab7225ccefbd6a49c5eee1c8f27cf820bfa2fcdbb73f921fa8d583a9387944b95762f615ff99ff2714e2644463b6876a6e18a44fe37569139287841eb895a7b441f4033c7262c5adcd1809838413d283bc2ade579b6a3a2a49eef441121b1aa0e64dfb7cd5d7d17605af7784e2ea4151155f043729f78f4830d130e6d09b2fac779d92fedf021607537e820a1802fd93d26e8e44402c053eb33e63e07eb6d1a3cd3b3dc890c5d334f12070ec1405cacfcc1b5700ddcf62ae74abe163b2ce1666f364454d3ede61ec5ac186aec7872fcbda2ee44c8d4421ee41e622a85644f196182a2f931084baa97dfab60e5a93672d705c63f6d28c87e695c1307de211924b480fc887ded728a6934d1e77184ee774a0a0ea62274cbe3c81aa67b7e014ea05950e56cad9b95dcdf216d413a0733ec67104a099aab0aebe6bc273bfe1a16522fce47a5142d82207d2c73ad1b6c08c895c26a5fcb73a0512bb80d1dd1f3465a95218f55982a2b7b9f665f14b3b372f568ca995ff99c07c3543a84748dbb268a40904236dd5cd62e2f8a12f54d124f8baffe31cf1db278919e40ad10cc5379317faf153a96ab1c0e37f351e39fe8f7897939c65ab1e023a566ddd09bffcc21c919753c803ac703c51b18a3ea6347a25495a1ed53f03a83f3d1a0d5fcc7d83f0d5c0e43e200b51218208e9df84fe382e27e337eca8cefdb593b6dd0e48cd7570f3c017fd7074ad58a6e353d0dd65714d3ec94bb2a99ba5396ff7e93d4586197f7cfe763626ee5613985c421a186d61c39bde5ea95886dd9af4cba94ff9302ef502627b8aa60f5b0fa4103a7e9a51825a90b903c79229782cb29d702c1181db11cc85830edf8172703a5ec7dc4e2c7fca837ce8b27d957dc9a5139075a07621b0c33ccdacee8ba43a65094a37c77c50c066a550ec659cce77a451c7aa1f1725a9909bd61a539b1b0b59521d1adaadc493f83185320365b3dfa8c0610e4062f7cd06c99abe94b2405f6694e6d1e41f83a31a065ea1d5d341f2ef5a94e41982af1fc8729b808e78c646a8dbc009eab9762df888e2221659298ff9cf7d3f5777dfde6b4af16beed8c450b32fb3ac10e7be50d11d8be0d6ba78c1eb42278fd66e8a96160c8618c44948d8b28e361f9e56e1e4403d5f9b61c36c5226a183cf96c957780848c98dedad97e2a50737ca7e0ad0cd85af1f427f973cfba2b4f0b51a6d5808875cfc9be6b24a07585ef4267656d5699a07c62913117eabbe5d6a8778f48ac66eaca32d879886630dbc64bf21b49c90a921a92b1c86f6f899f8d0bd0228e2df3a6e3d4e4bb101f5839c2e4b713610232d52fcf1d1a942c504787d7348f548c63d51052fddec6a2569dbd97d5d22d3fa5cf8483c772f9b7cd22168223117c6bf791370434e1d5f6ce8425e03bedae9440a09e040c22153be8b8b55472962df6973484d5d2e04b0d817305ee1ed219713f2c74f2eef8fb8fea2e32b58ed0003dcbe17830190984304269a5224ed4cd8580ba48b66b616c512ccf66147a4e3a9841eaf49ac1eff8b0784b486c6c1450a1f7c4730b2fe5459945d64f5bb928cfe40837bd64dfe3b85e72a7cba7d6091f3080ca5f65e4b0126fdefd383879edd387df49a0565f8c5c49885f59bf7b4e26e2958f9ddf8fce0946241efaf1611dfafe3de211971971b9e5528c1419dd19b7093286b0633e542dfea253551b3c78119e41b20c70979f420d0e298d940bb7c0634519daac4cf205f3b4bc2cc496bce7ba97215d1cdbfff32d446e8e74a52f8ba3e9e1cf3ac451c824505f4d715f13580ac7c186103b7246ce7521f65da89f5ac480f3fd95c013835e47a8bca5ceca2b6cfe98f94407e2fd11a9f291ae87e0929c8d4b48383a2e84c5e7988d49ccc87c63dba3aa488b4e271b04b299c33b22b833a9dfc2139242e2a116fc93c11aff89faa3eb04e0e204b6814099f85e9c3ac4593a627b4551ac95a5422ba5a1ecceb252e8e541331dc81cb1c1efbd6e4a61fc295b9e98ab23dbe34f8bce40e0d78b5423b3866877ead0920ec978b5b072f06087443033a72445b39faed8f288ddc1aa9228cec2b2d296d03290692205ab5b0025b4c71bf3716b7a3a1b18ffe94026f29bc8d4ab9d8c0d1a32c4b660c5e215962146a1b3a93a25c000130e21606a2e32ba2b5287ea4afb308ef14db340c04cce6c927f9dccd84e9f86a13d6c7a1cbd108da3ff90223cfb466450b84f35e901e6a5e1a86ec24414b06cecea10e1e84e882c63988ab55115be563bebd9fdd0d5f021355b8f98398623f61789c1b4bd72ce1ca22cab63c93aade5caae37752fa70cf354bd149e1b0b525b7e1dc2c2832aabf0c4d4accb3c93113ff3ed050162901d849088e8e74e197c81e8a7c2e6ed158b45f8808f2e5b66dc6fc4c5f5ae5edae969e5d1e2677343900d7d0a8e8eb54114a2186a40cf96908268ce107f2768625a57fc5ded65ac4d9f4a190d920545dd6bc5c43ab1e1e036ddb37cc9d5ba2280d5745614e5a9487475fba1d374514b95ccd75ed594bfe3c7f4051466f364a1cab1830925eba537e80b0af227678d959536953d83b09b52964a89b1f54c5a880d5897653b3a21bb47ae6618302af98cbbe836a6e8d95fac26a2badaf27907d4ebdfd5288b82f7acb482053231c9c1b01a40588caea568727ebb71fa88f96e875f9cd5bcbc9032d39f361ce2460598459e536b3cff6a9512c3ba927627a2cd1274abc76c03ffddcc0bcbe5e6f09380dde7ac470f6c6fb0228d29fe299d8fcf7a879c5a672969ccacb19c996df3c9c16038d96b1b1d8aaa29c8b859f6a4175c17fc28533d0ff9747310e1440974a9e3c76a8a86b094c2a7ac4dbb73d742722490c3b45d5f3965381beb42e62e57fc2d9376a280a112a92bcd07b24bf656b1e2aaf392649fe3d5031781adbcbe432337faf65177597a1b786971b7ffa88a4c128388a21568af33c6ffd2b19a668afe5a50504f80ca000d42bd231f09afc4cf88e703b672f0f8852324b8176c416abffe0a01a803f8d6ed1ebfacfeb9a8997fbf1005af50086e18cfed783d1f59cdf409e954dc8a9be32db228fc192f936d7a028598459420f950c3359a2032602215501ec48c9c9f24774106fb9b0fc7878ec5a993e9c2502a5c83cccf5757a228efaa581e4432c32e5e9f9766250ea7da5b1f84d4afbde5d5b8f28c7423e32bcd34dd26a390032e1b27de4903ea4499947aa2df4112adf87afd5457270cb57cafba45308a97860db77688b7e02e127f82a3f42e96baa63193bac20f1b4250f1c5d72a38cffb218f7d6b58da79abc09ce8ecd88b36c4666a491f1e5c2756aa00aee446c84906ec3be8552f2c0a8e1bed791aad22a8ed6d462b3f355c90c449507ea308e67744e4cc84da2823a4fd43c2c0f69ffb8ae70d001190beae794abc75b13c72ca74b1db9333a082fc29e9b2e5955e8dbb1daceca76d349306229b4551ed32948c082a7c5b8c4246b3bfd0bdc7debc757ff75e4d1105ccbc8a14b1a3eb452040229b2f7ae2ec64f1b033e9c3d34d9128c0851f86cfffa010a890b46ac49aae4f17eaec0b23a5e74b8a900ca2d6a6b207478cad967554213e3bd793ef05e92ebe021981bbc2af1f398bbf07f69dea8ae0480eaf79fae4c41e58e62ca6460e6f4b7fecd7c86d236943d47e83218c7417cc813c9896d4f880c542151457ce579ccc4f7219597ed76459820cde4bba41f1490d8242995c9db61476323b963bd044ac7f5c58b89b9caf0ecfb2c9096b88ece3268826ce6ed73dcd42a55c96b978b5a80b258b60d3df840dc950875db2e505c39a2ffee17ac2edb3b87568f77c760da39ecb1b8d61922d29860faa542e855f1712563dafe98666eed08160f8bde8d2341b661d3ccb16d515c47e5581ae7fc5a5760e0f241d632681a7fc62890ba97d3945040761503bf7fd6ed4130d35cd0cee4413099125e18f21e0b8ce74e120b3056c7ee19034ba8c52f0352a327be5bf76f302e47a279ae1bb99ae4d889e87e52912bd7a096bd06f7c63773bbeb98b258a881d529a92e8ed52d8d3f4a445f247c3532ec629c23fd20b52937adfde32d902d3cdd580e4edc63e7319c282e14ee0a01eb87dbb341a834da206e72f3ea6c99da48c962ce4f36ad47b91fe6171ec9328f0d21e17e5d27985986270f26cb1a4ecde64e09251ea52c315d52fbe6a7de587446cb60d6ce2fb57031ad18bae59e7c696c2e5e2580ee86e77ee36ffe61bee23781656c8da5b5932e0083ae68432357fb164c3ac4e6c0ad41804e6ebaab7fb1abc1f0bee30669dc7e531cdd108eebd0986f5bb63021b64ef7ca20adf47bfdbadaa2c46b1899a8c92ecfafa397b2c68e7b51344789826872a64b243534f7798659bd9c464c4304abc2c322c8ebbb86890235fe50590f075a77efc584e2c0bfc72acd1243abe325ef75647ae41ed3c866c6c6429306bd549c0e066ebdcdc42f59b76fb9723392cded1dbfcd640588ad93fdf4bbd0290589de85ee30be89c006b61345553e863287f5b2486450efd79a050b47daf904d7ee5a468ab04c86eeee9684ceeed6ac8538797a46b32eab8d3c5714b1ea270d1da0b63895f15f117003be374fc8545e690963c698aaa5c9d4cbeb66922ccbd736a3c64eb1ceeb69544860b3e528c5d09b38b8805dbb2c64eb5402542da544d19b121894dbc718ef52d8b69e96c0f19d918ade50a64959bf19b108de2abedd5a7dd805bcca1749cf1fb79385060423c9dc233414eed9e97f26f1eea90b0206ab0971683898186903592608b0cfb3ce261ea25c54957b176e47d0d40ad068f54b85edafb97430ea444aaef4f43a8cb00fd45ec40cdc25a05f25ee1bc18582c3d72869df2fb2e20459a0af3e6e846a4dc5713628d96dff4b7ee116a380f218f8f55824fb57ca0b4102635b214244bf1b787a7101234b97456d1211b313e3ad5f47523269f7956f766eea40e6159f4430ed1404133a2f009ec039489d7eb439a6c46acfb4819d124bf47799eaa3b9460fe3430c53b4e8801eefe369b1623edaf1c22970d2905cce0b97b30f938ad896a67506ab5333d6e552b3a656e03b34f9769af5c88cf7202b1458e1ba5067f25a0e0b6ab839734b481d8842769f45c88cd6912f8f97ed0b32a9a45c5d9d65fda1f6db3d99744c080f7549cedc445387e4208c6d62380f1cd5e2fe5fa787e04534402e3b2bb8d376ea04073a6935ae2807a7da16cbb8f2bbcb93345214241d8fe392400a309a54ea5b1a2ac2e52773d3ab68e07323109b9aed88a69fedc74e082f5b090ad44dabda264482f62da8c1391a4e6b0dde9ab621152d476edf4b9d5d0c1c3140621b6c7e50652aa2d47b8c279d6ce959a332a70c8f8ff24465172a49289348a9fbbd72b817a3f4adb29a6e4221153d52c0e422a13197e2ef29e8f2b6f4dac4430f27bbd90b6e27e8178d1ff95e7a07971a243ee2ee856153d75aadd5ed5aac437412ac03202699047151622e13a4d8b60ebab0ea0cbfa8a521a84bac5a36596daa61bdca015e34a1d5af5856e1ae44516402a3c53a7a08c60c287eb43fd8dccdf22636529c2d424e3ad6510f7a00464ea3b5d46c404e084c59ae75c24feeae7b782c2d57298ff2f6604d0cb3d3f6e3a8a8ea60ef6e5c2a5fa69226f8cb9916fe4f354f213d9074824bc52043a9406a312e44d3b9a7dde6fde737c60b22e4dad3aa44d5b71769948ad1ed5c5d9958edcbdeb7521628b6d76e037521de44a5035cf5bf40b489f1aab2b8d7bb19fcec49568202efd060262b8f3d2b03f78a43dc091bd016404908d5ba60499a5d0c01b5564261d5a2338126169788d99ac10584754c45bf99a089f07de7cbb31b76adbee4150cb173b0903514bd41355061caa0bcc32ba825289cfebf50f39944074b237b6e7b74d85d666919b7788feb861de75fde5b81febaa3fa45663c902a5cf5dfdaddf4eb77a826ea89201a009fab5c8d33534c32472b93406686b60ac1814312c6048efb8397622a96a69cae302f055af05cc1c4d6c4451a7f5cca600445f02c8ec08a71c19146ed2bdb33302a6ce3c04bee61c17541702c46cc8fb29b2fe8dba00e1313931d94864c54e792db39a56db3e1cf986f58bab8a9a51485d0ad1ed0f5904fcb71eb1dcae33e0ff243c5b848d8b1f9636447a1cfe962854d74b22308fe1f3d244109f6873fc56f8ddbf286d86068334bb287a2a7df406926d09bcb8530ad16d9da703d18543a78afe4bd9c1f31afb90438cc5d8922041b5d6c76f3efbeeaea1876e65807e0cd1460db00e536308bcce034e115f02f91dbc448e5dc5585f1b40d93cb0b423e7e184fdc64830feb8e520a73850b9bfe3b8deeb94980b5510150d869c62a96fec437fd43eca07dc5462bd03eeb63625ebb86b71259e04afe30f7f9c501d2d0dda8d2070c5c35a4dbcbf1ba4532a52e3f158d76e84f24dd0f8aba5dc33302eb3b92de9f8913c21f496415da0b9b7b6d4fae9326457f5a459d5c2f819c77bd41ad78ef861cfeb9df77ce02632bc673411f2fb151c2a32b809c796545bdfdbdaeefb07609ada0224cbf114272ecfbbd8871aef2417bfb0ce21aad9bcd447c433eb44129200b049e84aaed13803fff476f1dc8f21dba228ac64ab58093feb1f29ebcc72d3f01b1cd7b6fc82c1df368bf670c72317402e3442f9a1f47bcf16e284c767a0856ad78d2022cce228332ec92a9b766a4976f0c4aaed877a239db45e6d40873cea13f7c91a6acd8ae35a114174ea5d5be7aef0d6421de823b649855961cf643ca4078e07140815e8d7bb3eef0049c0664a0c1ab2a885ddae6f3057df5617833fcf17db141f7560f72c854433b03b204696f34566c0aa84bedf2ac4bccdc9deae7b19359f344123827f2a29cd01554baadb6eb25f7975127c83418b3d376ca7d690c7ccc0eed9165334dbb72f0510ca32e64ae2f0b1836360a6eb9df1473f0c8e61cc3b63ade3d88b55921bb48672c49ac10694e74a7d6072215f1aedac085f56e07021043641ff098bdc6af0148a2df3d725547cbf2903f1ed87f28ea7012a19a916b7ec52f953aed4daf1fdea54c7301fb7020c5497096b5360344fad56227369024f4fc75386c63b03a97d5441f9c6532e37d7706e02ba9e6622df88c521906055ea2385be34a7b6a0785dd1a0657b14362503c7601a528de7bd90cf91726f4ca80f6911184d8fea177718a7429bd5a223caf0705de92971350f368be0de68bd76ccc80e8f504523e3ed9100317b4f399e864fddaff0464a4b64c96f364d635a38bde4f0585e913791bd3362a71170b90155d0dfccd4e5e06bf5b8fbd6bf5048f3cda4c70b1ba4423790ac62e29aa202aefd1f2037db433958181974671b15044e6fd3d611cda00bb44ee6cab4f694b97caa077e940ea97528cef2ff540dbfa67f89ceab3b8c638aae182a1911102dc4ea984093cccbf62a08c0b76f1fcba45db2c2701bc7dfe5a6250117410f11e4d4410201fb56b76d7156eb52097f05721708856ca71acdf60ce69ab609315e70c9fcc6de2290781580aeb03e8b94d9a29881b79062bc6b19eba372b91ecc97264dc854bbce9dff4d2dd72d9948e5e120e8732bf3de61dc8342140f4c54794400360c0f7fbb81e5730f943d0736543fdd5e07cc235d185c8e179fd8eb5a9ead97548ab95e3f902bd6eb04819ec8c74e69b891a908a70af9025ed8bdd35fc9fa66208884e2c7a03818b39336b11b32f58334aff661270cb36f982407d84a905883e632db36e4c841e8a1a289335925095d2479f0703c697837344423b254b39a0820b7d367a19309c038b4aa527921d39cc832e7a41f90e5fafd185de533935f427a0e5eaba3143fb119b731464929817083257f0356a24b40bcfb4d53c471dfec8280308bd536b63904b62cb5eb3fb696ad27407a10194d138383ca360f85f07de633e5fba5d0ae505aca8ac5c16c2cbb3cd47d65b95cf69f13e703ac0715e00eee90757b2c24ad7991e0816903f726c419edf56f72bbd6731262112fdfbc9142067c1b9798fbbbd47920d11af160e8899df6d923e09fd463176990df1f479904c14f6448f53f37407f80ee6f9bae35db6bbb5250b5c5ba74b101f10edbf85e0d1881d44d188efd463a37d3043383ae92e69be1c67309d30226e766129d0505875f1796872748b67ac79dba7dfdfa16420388b9decf3d3e63ca915d693fd9298e5982193b36fd61d70c6666b15e3bc3912a435024e654baaccd409c62e938b1dff848b526e12277361e20caef66361c1d290b70e0b036e31d51b0c1b1b9799e718edc119721fb7d70a93a479758b3244963720699a74b1316ab67a4397a9753b87deec1e84b0846484d6f48b6fce0e4ac80e56fb6bb4e0e6138ef2781b11d31446ce284784c1e0a51b709a99fe0b4db494a3b257d280e2df88c3e2b5aa03a077d69d66b9a589676169723ff4dd5f929bfb69fc31bfdc5328b6b0f00c0db5d50516cae26b2ef91ec1f5e83bfd24499e4c815ed05a6574bf3aaabd2c8b9dff1d3ce05d422c0d990c2ee9f9d9a0cbb0d5d721fba62e611fb6a917ac294402d4a35f20e212c0a32a6151e8caa5a1c628046f5b25f03cc3479acd0297ab1014064320d3cf3ae8314c996e73a066bf1ec75fe6766e3200e11a567b7b703aa70fca78e02b09c1282e21bc4ee5c8f50b2a1f8b4a992c4d1f4221e68541c911f2d24a16473ac48530152e1956a90ba25ca232055cea1bde73e52daa3a5b986c6e8939209dc92dbe295761692883ea8fd6a6245a67958b99a2944570c2a8b814ceee04951fdb0303adcaf418c578cb0d8cc3742f3ee24493a2079cb60617b0bb054e2e9e346ec6f5b3fdf8b4464ac9da89e09655e3af183b0eb7b75aba33c931dee177929f00d7ebb06d594a230f3329638c50c1b670eeb426e69e0b5192871926db2fc6a15bab467d1bec5b9fda31a74603fbef84b55567303b1eb74c7092e19693ff39e8951bc0ff516b0d5adba19df6e2428639787960879e7ae5a7ff2f2e29792a214bae4107f36f3e2f612a0188ffb36659da7a107097f884262f784a591533526db1a65765ba8fa351df808595eecfc1bf01098036be486f73c6290656beeeac497dbc30f97f9090df634ffdd60bf7b356d2eea0583ed712d4f546c134dfcc3d0078ce1efe02579d20f452967b70b9a265eb2de9450949455f94a6c813c1cc91ce863a1d296a88aebdd404a594a6f42429f7770ce44f8fd498658992e223cd2ac07064c3f4960be923bbb90bca8f7f8164ca5cbf364f5ffc283e436c49edc5d4de9582a1d2507adceab09b4e867d8ad0d0ea335ec4b27b44b25e470a75cac4f7aa9368a3d2163ce6e5209d2caf6ecde6490330f92b7f65c0ac3ff79e3100adb89f17333792ad71998b108992c2734e0a81ba23c4b8fda7f5315a83502ffd9c615a6d02db9f06c74243a930dc092c2fbab29a182cde513e5ec6a94940af37dc7c7cb0481907aa1c2b14632753f9462e50d53732fa8e70694be7b7bfe080044a015d9374da88e116fae176c057fd942bff4b32e373f03915d061ded973dc688cc36867a67d593d0a6b93117363742da3ada3554b8b143bc38d6dc8c4c39437e147a6896ba4cbdddda253336dce5cdab9ba299bd119f63d07ebadb37f0a0909fc9ef1acd9004445b895f51aca6fc17cb10fef3dbce8428135560c9e5d86657eaa244fcd2bb05a6d34e188dd28c5f81cfb767a91d6277483632e8e038a818476701358cbed64531db8272ebd5d9846ffb80493242cf7daa8cc2dde9409b7c7be9fc58a8b34c8a39cf635c77db57b35dc076b3a82e569738f91bfa0f7f5bd6dc69561bc7567ac0183850b54aa5cc814dffd8d61ef2a5719c1e5c50b5b79d886caf33eb95d9c9327301a269f8c5e6120a703d809579ef33cc2fa5ab39d6327bcc25f9f6dc5e0844c34318db395fa279f6f070cd7a2791bba1b3cb30f74c153df336bbef27709c99410d389fba720855e30dd8f6abedf82b0a1fa9fea3946828d247c5562e60a8bf3403cf3b9d5a357a54e4a0295c80c2406d206c90a8abf00f94867aecc9f50aeb74e8e5b255949ce931a182eb4e16ba4b20ac5ec0f0dc5286104d59485353b70a79b524cf4bef8d6aa2c8dbd505731247ba0c8e20b29ce17c375022f7cbb63baf0aa73f881fd5ddbe0c8e0a38a449ecd18669acf8bdaf45042ac8c8ad1c3df184ac4823024351649014b7be4428ffdcf0ebf8284a613c6ea62449d52901c92dc839592812e891fa64527fe80cbedd077b3a9973d7d86111a5d3120566c6e50008b7f9df471f87b4818c46462433165c2085a3cea6fcbb3df5bf57950ada32d4b0c68a96c4374c016fb9d45c75251afafc8b71e18a03849fbba076d3dc743b493514440875a803a764af246bda98ea2be6cfd3337692d5f6c6d4c41c9e9303b4189b6548e716a4b62e25361af376841ac791a9617fdad67d9b43fcdf7c6b37e1369d5253a2a9e3dbea19dc7ee40736379af989c2c39fd82511cf942ebe17c6b453cc97944bbb81d80a7cf88cef0bdbcc99a373da3a36fd77e90a44a6fd6d12ed9bb2f1eba9898456cd199ae3ac85d1f31397ac5ff16493a33abe9395ed8da31a0cd25078777ce705a902aa17db33c17c38f94a0db3a471ea51b4ad51a4bb52f06eb89887ea55d0010d6a08466e79fa2520f3e36990342812609df3894e8353e327cdef2c2b9afbcff71b85c5ac76c68f6e912102903130d4fa4b79c7782f2b05f0aea282b583f4fe9e7761e0e4deacf20edf847dc936d5340e1a17f00c5a2407a3e41596bb787d9faf50474df9cc916c4a67dc3c419ed731e1cb70795442b8dc1b50446192e0bf564c8e5e33c2833bda7395a50c015683f42ae4423f41ede33d6b87b0f45708b9febeb9609e405f6fec45d4a941333bcdfbc5c872696c533046bea8b7469e560bb2c96450c852bb23e9aa2795a8b23634f3273528b61dd26bdf18b146afd05fbd1bb056956040d7d0f38dc921fbe42455c3f9641f1406897dcedd9616e634b6b2fafb7626475898476d472ffe411aafac79ffacb593dd051a638c3feef4e75ee47478b0c901ffd86d77553bc9af4f83f566f8c19cc544145ffdf8050c239e7c62f20fdd0de51bb227e924a6c933f4699340a1a3cf7125473ed520ad3591c9edceb87aec3e354fd9cb63a6816e68c25c75529c3f8b8375d1b2146aab60a0f4e8b30e788aa28778fe49b7bb2fd87f2c51a2cb98574c8fa67387cd2f9a5eff8f2240d131cd74c37acd3b8cec3c88dd79ab0053e0edc750e18467ac2425406be0d84d792aa86c6d2cdbbce9f440fd20517e17407bedc84572708059511d4d2df8969d438e8626d460ed7326f3f2c69eb9d71f72fc345a9fa1d6ea76abf749bc98687aef77e15389da5ed5cbf22ddacad0d804e5b46db3b98b169810fe2d7043ac77d0a99cda0376341e1a25f50db3a05a8e84c3e79ef365bd8748a125bd5f045917f43e3b22d1e4e1f704afb235ed88b7400d5935863cb771e11a50ec36d45bf408919a4a20415365211ae80efa30e4da45db057e4973b6dc3f45128815fab0382c4df58cfacfa3ba66eb79048b436304e3b6042a05fa55404eccb27c178bda073bd339324e9ef3e7d4458f5b4bd193fb0e7ecc1f3f13843e2d139f44615804588c4dc3d7e6fd8cb472c504588f5c9a4ad327fa3c4dbe05ab99d520e59412bd6096787baf28ab3c8c63949992dacfba577e7ac5df6df22fd2bf183f320bb1c8084e2df54b317d8beec76b3d5ab20b411c5490c8d667a4f564eb18fb99b5f5210e741aca7bc9283770f57fa93972f84d574ba644c42fc83e27de6b50e9b6f6442e44a68f5c26b83b97ea50f9f9184f106ac58ad269d8fcc2b8e8fcaa70071e8ecf06f2c466c076d63f939f8bca0418462e27661861c495a2b1258640dac130b1170acf02749f05f970046b9049c960d509be3ac41335c370d6c80d5c64c6ea0feedc5a0a88a3c63f43bc60dd536c6a1a6a6bb3af84e56e7a4facd7573b026706bfea058d7f757ad8407dcc265bbc201e215b5f058fbb043c6f3503e8ab42c8caab0ae41a7b634024f88cef4c40346021177a6eee526ad6f1e08da41aa910b748c5ecb16e564721f47a3ce1f2a7c570ad6a70b7f6f4d1656a65e2aaadcb907ff1ebe1ecc80bbed028c326d9681bf4f2fae41edcf205ae0f1f739cfad851f4698f66bbbc6104dda1c16314b14435a9f3b4e513b2b9458b79e2d8bf3066805a19d58a3adbb85f1a252d1bf7d1548e751dfa4e9a4481f22abf04b605d10330dc7d0ee0f8388e1613c0c69275166bd0cdc5405d2f0abfaaf9ae6f0127aeb38c49489de39c1a88712596f92936eb5677a4aef5fdb989ac398be5b599fdf36f3fa9ede1a355a42cfe4c1f2f2585483a8a12e2e7942539c02c6673002bc527b10e8641f3dbc8a16ddddbeb48aa9ad2284e5e6b89b0355c86dc289090b20f8ebb2cf74f40ededefaef157d6cec14c40a34617a6749bf2af438d355c3663852ddf66ad99ec9c26cbcf58d5e2b4569f24035c83825bf3ecc31aff26ec6fa07acbed7d0aa9af1ca15e1c751ab004d8642c30bd102607e1da82e41c34972ccf0bda0701955bff117e2afa07627f63d25c2c7d4efec4a03b2376556e174766b05ded32cb13b6a3990a19cabf767f37933b7de2a9505216ddbb6e1fc0a868380ecbcd91e4c3f482bcd767eef229042ebbf95819c9aac0b96eb6a4bade44e6b5057059e0bd2c082ec560da9f708ee3d56d077703e1063033120cd2fd24e3a48518c573497bfb7ac364482b39394c33122c92e377994a46a4a19316bc252bbc9a4547633a8a988b3d78fa721b57ce8db125a94a69707ad9568d2674889b2398a19bc7c2a25d6dc192ecce369e928e5e6ef04161e88a5f312ac0e1b13ea38e3c46001972bedc7e6a2a79f63880a272e26874da55bf3a63b159887893d0704143ae0f5fa8a165a41b40fb22b61656e44fc85ebd802808f94aadc0bc5f1f78902cd975c9e72deb79d75017e69eabafc08dc8513d4e016e849cb46502b92c2100d78f0404cef9b37717d7d43cf8e228e359d5abe62fc94ac2d1031c91bae43f37d52f4e70266936d8f3f7f1dc553411b34ce1312e6a1a5b506802469028258d4cb5c1c98d3f03f77ce9f9b9ffe600ef4e393f7a63bbf3af12e254ba671b308c4e9c9aaf5d01efbeeb19bae277d1f18fda0e070da7e86a43b7621210912afc139424c7d96318bb1aa389c40167a5c4a811f8c7f96293ba8b910b03e6e6aecb1d5a7228ae27ad8d812400238c222cab6d627cc6d4cb54b05ec85b4a50667ff0e9d4af7b1624153a9791589a541ed22c3fe0928f2a2198158274c9ed0c1043ec844885cf501273bcd5cf4d86b5c7f17239b2afaa570b42f45dfb24d24d392c711c58a97e971a4f85b38b09fd0e8b9c011b6ba3ed9bbf92ba6f59dbbce745714c9485eb3d0c57ccf2c31badea56d70fd9189cfe3b0fec6b8c547a8e40f2db2c132b518605650b18d6640a909bcc561d8cdfaebae216466057743567d9dee0eb5f649643ecbb0f4ed837b2ea48252e283aaed134f54a9c9ea52c3f4873be893b0e8f832217fcd95984bd65bef6d3c62c5b770538af503f3e58c180dedb3d2775be09c6e3721650a075aed84e37ad50c54ee78c58e34e192a81a0127e19a854b4bc63b7f0bc5bfdfe472671c69d18931d625a0a51a0f16e77c941dec188d1684ac88a108e32ddf8c5c18a8287cc81ead69a459bfaf1230e1aba4a38b72d23115204483d4a2e7fb696ac9f3d4702f82cc14e6ab1519df811496fc25ae45146c4c9381c8d67270fbf535ff254156f4b48eda1404142b1cd379ac5565cceb6f878c3407165d663e8bbd4d5429bd8d365b82004232b928c9b4acb03edd9eae21118acf3c5ec97e48b81424cbaadeb9391f3a5cba3b8aba7badb3a62d2e6ef8682a7b9951bd2ff291d4611c19a46b2096e6423d2e0fa78bad0ba7c07400259f5c0820b4992db61fb3ca514faa367d72747cfe98447964f3a4006088d13e203a01855ed595ad48b305521624bb3ec320dc96dbd0d3175fc8881dd2aa0327ed45ae42e82c0a3ea96cb27b20848ab4894aad456bf70bd83099785b6b5badcb2682dffb9739b65ad3343b0a9415d956ef2a11e1fbc1eab5e827d8d1778d53ea39ff51e1fc6d4d6ec22081924b8e0a1afaa9305475ebd1897fed8ae60227721751f938280ad31b2f0083c1a3f6e7c1fc70a3e30c023e9c9c109a7b8ab9f6b9032a4f409d7aa610bf2566feba243e3ac0ea971f92ff5e2079cd73f6f9f3204a75343e1600c2083e2c91157c16908327c92356acbf6e89af46db37018ac62924f6f65b5857b9a6142bf233e83f469af1bb36681554e2c0e95f59ee459dadf4755098ad1b577fe32c88dc8969fdd4cf0dc33dfaef34bd9b9edf7fc2c4576dfb3c3949b19aa4cdcc6417a21afe94534aaaf53be5aeed72dfe94933e8edfc877932df93e1361fb5f4b4bac23c6cdfa7557125b84e5afe17a7c2a7bc358a764f5b30f62cb40652c9c436bef5b68f00016f696f74e02855e332d62bc8e2d8136cce77b30fd480fd5a7262f8116527423b7303e1340f626e7c6365679febe907e76d0f9062e9d1696551fb47989a289551094c1200ec11c57e4e15fc4dc4f05d970093c6dfa1390d0bfd1f57de07c2521d6b3b6eb40b2c192565ca49c582163dc7b678570313a2f8c2d4e1989b32b7080dc71eb8301526fbf058570f9eadc51bdf18d385d57761bb17316417cd6d0d16d8d63ffa68e769cdcfe4686bf89e0f2c722c364d37f76b7b4f29c24cc87710f60cff99e0ac571ed7b6fa69dc127ae370dabd8546a21cafd94b1fbef3e218ed5bfe38f59c6bc4f772a373205064c005c19791efe9fe2c3115ebf65556a886380815b691dcb7cdab3df5cf6ca04605733aada655f2634e12af5809d34a52199eb1cab06707f0162bd91c52d2f5b6ff5ddb340542bb4418d3e23a6101b2856a5c860c8414022c1b22634b5ce59b3afc8948dae42e55a3d62da61b9191ba6c67fdde0750233989296734cc2d3a6cedb80fc4c077901d734b30ed626f77e977ca0fc94365f806c482afb9f1de6ac42d649b90be01961780823d25cda929c5c9e216ff2bfa700442c7e5058077989ea0628a9105d15206973982682107810faee4c7f23f7fe0e60572f345d59eed4debf6bc4952b365946a98c3a6ee97b2d47c6de333960ab55bc76dac3c3456d4a47a2790d12832d20819024ec736a8bca4cc31d414ea2978b237ac6c4ff0409988f8434147a29ecd622b526882f7c4efa7c9bb5d9d5151fe5aec11a719427f1638f6edee9fdb1b9d185ccdaa643c5feac0d157f6147fdd33be48b92fe1da5dfe69fcd516f2ed1ce97a5af29004c534f42552e40dcbaebbf2c688b1c3f7b3b8fbc5ecd6d28df38caa0303d6bb5ee6cabd23d69158f7869561efa11b82b59db8994122a088d5ced77f5db7d3ce366f8df09da3de6f04c8ee4ccb10fd378eccbc59b7b270d43cd56352176835cce97327a2ca7fe5a65905f276cd7753aee4cab16c4f0ae8456a0a848452daa95502d2d674b6e790f54f46e8c200a8552555f31d211228f3c088990c0d400d1cf36aec2d0be41921b0bc6db002ba18bd849657996c1a499b8f45e30792077d34c952e9c9fe36199220bf23da4629c3d8cc9b6ebd93300571eab9cebd780beef41a12bc28a7a7ce318fa3230744a538fb7163899b89ec613db55ac151715264763afdc6aa788d096e8c09fd4aae753dab986daae7d5dc03d6d12582c76028d36befe6223665877d0321f747866376a0fb5e1f9da175b54f0dd5e6c91f538030f95cfa6849eb2f7981c2889c338eaf5dd1210f52fec44105251d9ca14ce40a39a38038ad0c380cddfcd1a2023bb5f5339140a844d49f2dc1753fb4c09f959af937848386c7451f72c1969364305231eaa5ccc2378c995f475c5420e4e56c81596eae1137bce100819762a0fe3a19f5efb994c25ea4ef7abdf046ac3e9b309a82acc64f10fefd9e1e804d24781dd3d2b930395122cb0aa7b56763488ad1b3601f7a8daf70380d95be734199b7791efacd7f0afd95f5aa6dcf6c5c17c09e4256d385cb0903157428e0afd8af5edb4485573b6163bfec4c3c3ac25b14f9598a61b7b9d9930293d7ea06718667ae6e3b25517f7911a58be87e8f70578031d03a12f718a90e0081a70b04f3de5b6e726969c24d43d638b8bf42264b0e8d61a3174777a9b4c297d4ffd75aa62ae7b2c395c4bbb6da9d6c17daf2677282aa810ddc26cf944d2c2c5ec8798faf152086ca30ec2256dc91062453ddce32a7a37714e40ffbe23970ade1a77a5dee03f74f8281cd4b62f1f590635dc000819e3e6b25cc325cc21fdc64b4bab4e5ddbd64c5f1e06a116c23cc9ae07731f5cd628121d9334e62cb07a191901bb4b2343f541570b129aa68e1629645d2b334bed44dd7ee43d2ddd2358074aa0d4489ee3b5da85fc3b7cea0e723afb4f86bf300ad43043cbb3f1b82b6e9e287506bbc882ff23c95111a8c2a8a7bd93310b135d969e9d3941743a0923d1bd49b45cb51520c64798fefcb9ad858a239e7fd2f71939df7026eb03c7c3c9c2ca8a6e36fcfe5af74249a6807569c52a0052dd72b1d50914cda9b1a55e26a0c771b46f21d1c1e0620c516f5a150cf4fb01107ac7af4dd4b383909d506cbda41df097f3ea132aed48e546f003410ffd7349229a3374f41f3aef861c435daa7828ea51c04eb1cd78b371a69ef7eb65a07c0c0ab47a4bfd6dfe762c016f85f30e65ac664d090c42a716d76f7c97976fded4d5785010fb8625ce3a32e82362cb5f7040a77a052566dd8718bc3b10a5c2a177da168e84882d382062f025de0d50ebdb0a9bb73f9943097b8424622919494ea13427e548c7489a86882b19dec2527227176b6ccbc562ac8b7ad0b35cfb19ab18ad5ef6f82082d4b14f94b541dccbacf855c378a006c919356ab431c74e5020d8261f4e4b6316c8e9574888e4ae9830a388b19b4824d754cb0aeedebc579d0bebfa502a6bcb6069b598b1ce07cce8c3c833a05d2cfd25ca8be491f0c8edf5167029e2c4ca8907081cc3c2cebc3d9787612b28e1251a0c6bfc32f67275f3c6488d18712a20dd916c09dc3a1551f31478fb3f2e050117d779636d7404a97152db43ee0f1e3af60d304d1a521c9f09f56d317cbfa6012343ec27606019e088f158dbf8e4504fae579946344938a78631994579a45e82c2988b9a6a90748c1180ec9ddbaf2152f28bcc33af8ac2bfa5532444c5cd3f25963e8ac2c9cbf201c92a7061052fdc251b8bfdaaee0d83fa94cd7d48f84d2ac7cd9f7b0c7e6b71c911ae2fa285aa078a0c62850d65a50948a5992a1db4d05aba506d46fdc723e1bb984c3b2d82bd4b6951d18289fdf7824c876c5fd653f596b4323cb7efca2f119880d7f99b397157e1bb4359d71725735fc19190a1e14400e652b8776aa2f24796f50cfa2fd456b43da38824bc8bc5c04d8576ddba3d197a2a83326e1c039b0cf0bf95f3f8f662c0ab6099f846dab0bb4d2630154413cd482927725bb170bf2e8b64e4d97362f4261f2c332d850d88baf7dbc9c978151beb9eb112183f77e72d7638b0774e68d3de98b71815a1516b971fbbbda349866baee589d506b57692091607bb863215c105b185350a6f548cae2dcade3ffec9171bf72f355cf3cf53782201c5b44bb359d6d6ac94955a2c4f901ef653bf93e041470f7eae957e1b139ff598c76e70beccee863e175ef36eb0dd6195c21db7da57a72fc8cba90d2c26006a4c174f52c4fc7ca338eec19f095124d2d02f0d97b7816eb0cfc89993eb880d4deddaf743f70aa8b9b5fbc04571186b4738f6459da2755e83491782230f839ab60bc7e775fea9916ae2a00a4ea9f8f7b416fc7136bb00d0dba02356187268d2c589bedb71cbce604c1853cd28d0cbb9aaf1a92f3733c90405b1ced41f1f4badedb69496b024e05cd2c9356d8944a54aee6619e36c8100133b0c5ca6de9dfce8f8a481032ac3691d5057758b00e7bfa504f812233869189fd01eb55575946a0867c2864fc486b2d146a2e84a8e1443bddbd3d3de013516df573adca79d1679aca74863b4cc95618d57bdb0c34e1fb08a1660757c979b8a31df94667e4bed4317d67787fc89cbe5b47169953ed40f90888b862121ad8465e8580294f9ea6837d9305f2ef1d932109b946b883cec80dea8d9c3ea324b30ca4ea5ea4a12ac1cdd7034ae2dc240d6630395542bef86cec8654dbe4be89b2ac5ae4a16cd05eb3973b92a5a043e644baa083f90782aaf68549b8ee324831530fcb8d361925530ddd4cadf2b2a60d5a8cd1a4ab09488ef562979affff3fa93320df3bc0adf4b201e22b7d39f295fb73c64ca3ce32907edaeee97fe3ce03f87ec9e3c3905983acd6137fef7649bbd677b6e63ce268a96ffb68b48ad6a96eee0760f77e58c339db7503f1e0847d79bb278b8ba23d477737adf48c2e8e0e70257c4b5fdad7f3f4955132763df35ea803db8a71e82127927b6bb7e46a422bfdacebca048814e46235f822cea6e6d632530df2c8a87dfb908b6e7e45844f2305a6539e147110bd97f1a11daa8c0deec05c36f611e990cdcca0a0c703c3ecb005c26730145587223b70ebce687df794b66fba6d9f83f96cace01f1a5c592ccfc9f522a3bc01daebcac321bc43589ec897cc564ef7b6eccd111788f28d1e5a2b5fed4b44b6e23a3e8596cf3de21d06586ae7ea74289515a5ec6775bf8d2b5b90c7b3ef8d0caa483070445fba37d1e7c9049db179a4d89928c6aeb6ecdfc8b90d7eaeace96478b2c7ff5fdefc162e64428cc6116e4406a55e1736c884c2fddbefd0646c35ccad26533d13c49bdef33356f9f1ec8e9daa693f4348c16e2763b4d669bf3425eceb38d40de5598870ca449978ccd53be57e560a8d27406feb13ccf03374ab928ae405217a29425df9c56fa3041d76d9c8c6b53d7edd1fd1298e0ab7db505411061318acdb26d074d2d9b3e18a837550232f77851cc30085c4edcb2ab1d5cd04e3db00b43a333f846eb6f1491106525f4db5a26db0cd6fd882df903e299c6f6010944ac829cefd68c3e0229708d3519022eef7dbce366f384cd5fd00b0d9a7f832c503b52e38734e6ccd7041484b843fa2114bd35d9c1797b47c013a5aeb71b80da59fa27621beda2f88bc08b76ac61956733ef3270ce629f22b9e741152cabddd4972ad57b2150a4af62a3377327a138929e66fb284631c380470ed4c5219b9d41f6689511652f90b45966e8ace7493d806a4f84095f5d5d3cb9257da48af014823ca5e45abf51df2e0d14a880bafdb456f06957fa90169aa0e50e661c7bf586d4b49e938a8da3c35f0dea61a15645841a6b753f212517bf67f315dabf793d729630bd7e81c2efa258a510e07e68571ff6cedbcdfa7698ccf51545dd683d10cebaf21f757e07725ade52d7680729d384fd3f62ba0976af20d9d8407856fed92df1b90b877b9951942714414534975b5cce9cf8d654a6fdbf2267274c020e0f81fea12b6845070d50620ef35854795fc124f1e02048c66477e086d60c74bc94fd91752288c8e53fc128113d2ddc773871d2e4c72d675a180525bd9047870acaea13c2cff431e1ddfeb05ac5d4a532f0d7b0b7a80d07d0663840a114ab50227f9c8d262403f64339d28e2ea1a8d7ce85b68bf503da270065fed42fbc4b44e48df88b8e87e9587e10dd552e55710de1312164b4e576035c94dc846621bfbc6785df409f6c9bc9c5605f802171f2a31ce553accb7727211f730e32b9b3c8d3fa4c49ef944832975645a1ed336ba689ea1d2c4f3b0bcc3e8815bcabfb1c89cd5127d1acb9195d19f533ef805f52a62e37ac742c0fe82eab0fc666bed9c4cc6c2b8e836e7b2136cfeebfb4136758a2805694a5893f1fefb6aa19bceaba588b377a9d270da05b09b8e36277418c8a6f073d925b47314ee2da8d01d0ffe9753f9314a47e4da42af2e03ce2eeb925758d077334012269b3294d190b387b1d09fb0f015fb59d7a01477600df8bcca4d32870b6a2e0c45beeed752f630b38133341255cece51cef0b0afca40f2356fc96e488a714341e7fcbd2f3f4fadd331c1e2214dbbaa55ac7434ea16b600abe3a44afd2a53a93b9d8c7b586c39ddab2f6ea6817b4d836019e744bc90382661647544ed3a81d60db560e5cff0b3b2fae307f826b08c340146e51d77e9468bb1d6d82f1505a3b95e85432e8f7e3ceda293ca6c002bd21921fa88092b751945b8eecbf47cfbe23382dc84b18db044662a1bdf8f581c7c5fee60e23892c2569ba605edeb1e32d83da6216a311853822f68e3b4bcd5fd4fc6f40a0b01d4b25df66458dc88a1c22e3a6d5e455c9da13d4c9ce8793363837728d73d3d565f6abbe0311ddb07dce53a69c165becd9bda78aaae5b9f76a6dc8ad4c4f5c58cd9489fc291fe74f9c18d18339f1b1646e37f6be9088b4b429c1f4bae375dae0fc433e84becea334904c2cc349c4256b3fad4d97834688d8de4c3e0b0f7aac5166643a5e0a6b77345136c58d500886612202d5ff45ef3b936cb703a79f2a416830a92887aa8b6abd13e863bbb7ab3fe1f5fd27e3dc75b023587e923fe4db3e2b3f7e292783c4fd5d6b034e8d0f89221c5f4b06b19c2586a9e19de5f581e6b9545472dd9035332d5cec5de14e8bad46b809778be0c5ad4cd171ac9f3135c4f51c596150443b7448e2ab786b21a6ee5834ee4c3dab996eca60afbc90d64fc82a3e0a2de961a3c845c78971695b565d2c7f4683db8fdb3f008f900a09505eee39ccf0c8781a9d123f52da6743d0fc95c632350509c423f66127b426ee76b93315750ce63e82fe9c47ff8768cf7eaf6ffb1220e63c83784b4db8bead2087f20113e50473fee4a73f72572156037c9688adf16b7e9c06bda4923fa6a73e27ee98015e1f8d1e0f359584c75f4e1e21d754e3e81f54aa48ae5be117e5a4a78166e7868ef212c19bac5326efea6550c9ca8bdaf62b02de3e042fdf8a4dc994d399a17fb2f52067f7487d9d857c83880d67486da4dd8abd01a59c0c1ab9addff68ed701eecff494348be58a5a78b8243686ef7824adcf671a4909421e9b26ad846952e41fd64db9f6fda9218579c0c7149cf9fd67e245c10c7f28c543d57710164c227cf9d080d2885c44fe75a51cdc1b81ffd6aa27fc6ae0b70c1b733cc069e22bfb455e8810cebf046984e21e4ae60bd7d9ae697bbade46117c4eef69929f088fbfb97732682bb1dd26cba9d99ea7c41ce63f95183fd89f072954a953bc9b3a5eb05b4470bd2a6066b0f08d157881f77e282cebd0c85df791f102b7340cf45ba378b1d3773513b70ae585d1760c799e2177ac6863cdec6706ae532a88900e1eea483131eba2bf35a7873258c00e3a75617eac7c84e6cf94ef0c8c2e0e6830f0fd432d6e4bdec280a30e79c82ffd3a7102f1df336ddba2d6955ee0b2517d0b39dd05b088d83e2eccf5feb0442e7f809f95f044db36839ecfd36cb23139bda662c882b199a7ac8254a0819e410283e02b4d487fdc79bc194b1b2a4a39c996d78dddcb6749ab9a27501b3e64bd0c7fd218a4c50bbbe56797bdbb3f117328a35532144d036fb1217f1a7f733dd65330b21a7576944902f7de145027ea9c16132b2f0fe09b82e0e572d599f19f8343cbdaff9feba543904450f55f52e5b8645f6ea434681eeb008af780c12679644854dc6dbd727f2399c25fbdaece4ba09f9c3fa46218ab970d5f2b59dc95ca738cabc95104c21c251321377bd88b768ffdd66cedf8c212e9d2e111e78d7613bbbe70c3114244f41844ddbb5fab969f449e5c899cae866561e6c4a3cdde641414b6422a78ef8384eb6a27058c7469cd01d03f232e0020325aafdc5a790032f09e6711f26835c616356e4c9ea6553d58b37323942b3baecba0d0cb6352b84f8b24099a3127b5079ce1397829e128558d76fa1189ebf89c22bfd9c5f8f243ca89a95e2ba91545f2509d9602ee4c8c38aef033b6e2edd5098ce5f98277620a6ff2c0c47d21d5d4faf7fff4062b24a0125b6f40705e919123149802bae69a5fd39eaa074f27fda1b958529eb92df024774b22349e52e66e23b07a17567d6e71aba184b23846e0a9fe835ff614a0310a24cdd8159122d7d0be8aa4703ece94c0fd26eb106ea4128d572a6061c342686d44c73640e2b7d86a55be890c1676b127c565f0c6cbbe2490d3f3e22048995bc23947fb783a5fc91ce0ae11748708df64d1cf9cec8c59a5f4792da7212dec0223b706980bb85af6cf22bcd14f7f5f65dfed298af7d08e25971117f6360d896dcef53c3fb1869d359479ae2a4a7d2dfdd72c74bf0420b926e5096b0745e137d9c9e04a61b62e096f35d63be5d4d9dfedd025f2b0738991470c6052cc359ff3beced37f8957d6586dbb565a199407d864dd2efb1714933e4e18731217f40211235940f5831e7d7ac7d6613c70d2f98f591f1296cff63a1286f7a9baa354e1357d80e20f76c67184409ef96f01f5dd888f92ffa66a6c544fa6b95dea741bdfb9be802c0e31c2952b040e5c24726c423e52ba939d389141ff27eb2307fb3888657b455e2b9bbd787718b71d4e86ddef0eb85aef4cfb090e768e61768f144aac294a3962590db76abc938d30569ca898d5e8eec3c980e133c5260912970722beb332eaaa72a051a731fc62304aa0cb220b94e67632db9b0699f1986429b6eeed89ffa6d00d2185423168425ac35b9b6d860b612aa7f8308c62a1557488cda6ac225266e0e5ae3c6673ef355c6d4348242ec01fa37e5323b8f6e8f574071a1a47c922c0e481698d7acf7a3eb7d9799339398c295b89f09d77c02f456212b314b260a8731b9fe1d74d498871c3bf3d6aa985ad01c15dfa916614369dbcd832bdcb9d2d45b15e081e42670b8ca2f254d634a64b2073838a40f4fe1ce128441605a764598389dbf104b003479b5fb3380f054c40c48515340f7b2550bedce50a066c3bfd25501c7a00edb26c22d33c6e53f432b59d40143650ae98a35ed05d260b07d217db377944cb8c11abb646c77ce3b925610ffab5179e9859e215eef5161cbedfb6ca201b4a3e55e92cab0e43f68e0413a6c5488f8500d7d3beeefe80a749acdf00ca8891ecf2928c18b5091e323ee432f12025da49918a7a45b4cce6a267bb735a9166fdb3ce62fd37e77a64a17f40df306e17f614ff2727aaec12a8bd77faedf33912f4480db01d74b846e39dca3612d96dee8b8f6addfaeb738cc4f5574086828487c2b924bf4e13faa342bbc965a83c33773bb5df48db9c55b06d44c43ad85569f14eb2857c1da98de554bdff5e8cd804cbdc6368c3dd729107528fc81d8d09727937502f1705b4ebfec4bc61783ef4e6651c81cd06509e9300c6830983f1486fc0872dbb48e888f6fb089dca955f95591bf82a9aaba6b9ef6d7c3f0738b9199ad1ba8fda253124e283ac10ec692615b691d819ce59dd37139f4847b5b50d50543295dfb67ad01db796660522e945eb1f5e8802e8a32fc96ab25d8c1ce753707970598d7048cc873545c725cea8fb571a88969ec54039fb6f05bfc5e3cfcb166393de7a86335ba3057a52752a8e132555f2f84bc4ebda340d580918a883b3fa48dd5d408c87743ed573aba66423c497a9df0454da771b8ab537d95c9f346e21a28904c7bf97ce53bfa4d006bf1a3e2112bc0b9fa4d197d16d1d6494c6745fc2a3266903ff7a0f2681e7566c7f12792eb28b3698910259e8825a8401f06d28a78746235047937d56594898df6d4e2aa4d03666427c89a9c08d304c08d35b5a9963fc34867c691f689aa27d5bedcfc3fa1f8b27ff7ee0e59bd5335e02db55c45ac5d4528d6c64256f9a28e47496a9edbebc0a0884a0b3e893a6f5474f76a89377e5d36df7118dee8533a9d5a373801ad4d522c1e1b37823fec6ff353646ec46548d471da05be044d1dbbd8fc94c8d81d647d8d4879c26d9f8a03f7cbd5dd5c5fc21223a85ac312d1423d53e9b093eaff8a871a8fbc0348b39d1f2114f91089247efbf9f2235592d64b7afeb2f3e15c5d4f3d53fcbd388c271a20219675679350d512ce865fd9b0a061c57d530258cfeb4104adf23494c1cc2bbf2043bbfeee313cf6b840feff90f757fa75bf3addcc168a3f76753013c140b92a83f0d17675f0ee6f12f7d0910c4cdd9794aba560a5d7f1cbb4ae21b2ab6d9c18de184d16c909025342140ac630986bc90d6e1d664122250ea26e231acb36b7cf75745e3f4848202bcb33b0da6197100d3b3c408be0b2e2ecfe804b6bbe78cba789e35eb213c001a17728b853fa3578b06fcef04fa0c79e3081aa2a4f4b56da47500dbac822f4d6c5e05bd4e5844ca38677ec8e0073c896f7667b079c12fb6d51f59ba49a2d729b58f6abd47e390d34339a8e8e937c654f1c748a8d54cde483557db264723dc9202f1b8d0ac4141e6f1eabd3fb1600845c1ec850c758852bd69f3948fa6c6011906e248ea40d5cbbfc7a859930dc06d349bea42eec3661a459c58509ae2e528fe85655744c8a01d0204d3a397dce6b3c6f38526b0a3d068a16ff52b2b6c1d716d4ee24ac3a8d8b5a4eefb36399987388bbc64b44bf82729dfe1f010083da2ee5f17919a7d57c1c9bd902664a9be70cfb2f44c6c5f42ae6c97b05eed57e70addcc0341fd07509eb38eb78f6275a6cc09c59303f004ed2249aedb73762625223a9360cb9a55d7efdb468b309c0b18713775bf3cd8c1414275de927632b17b03a1bce4beff00ae501495e5f77ced3cd5e9b58f42e5af715a5af338bf6d07da384e244c4b2f45189a17caa9b2fb5702f782a6047ae39789a90cb4534ee91a22304593c3a241092ed2bd25d49e050a6be66cbbde91541c5a4c29bbbc35170630f6ec2e9fd67e1dff4997831415b74622f4133a310120aebd58d2b6851515e3bb75894eb5dc0ccb91a0bfc61b9a9c449ba5cb99949889809ca160513cf7392b289cffbb79303546a725e41cf429d7255c0c0a968da9f7cbe6ca5c6d372c0d1ac0eec80e08852bed967170a44d9d9a4b1ee7faa75d6333d15050ed8e019560ae21e9dc8fe9ba27f00ed85f6433db1c42ed5011f29beb8b01142830a840a1add22660e2bfc8aaef3569b603c0df00d986ccfd51d6be0e4ab6d88262369b86f955cbcb3f54bf1a2b0c33e19738d0697aeecf383b6e3b481b77e2798164931f54533144ecd3f615225bf6a21be527e16b233d98b3667990811fb914c99604f477787dd95f350daeb7521a6a531c65e4a25c77eb10201fad420aafe6dcad0ab035a493962fb689b67a74dd38455b9876620ee17b2dde8881e594925a348c71607ab772a91d5ee351693a61d57b15af1abf09fb4b643c0dda62164472436a564bfa838622ab3f47bd7fc03d214acc1421a3d92a8e305f8f8ff28d644433ef36a9d89b6be58489ff03e3705788cc733104772b94a9a47de551423668e540e13570557db9fc7ca14aafdf306176fd2dcabc7bd6ae684bd41593dc0f60dfdd89628fe7d677b2635d2f84718a8db3f0dec84a3613c8a4bd6d02fe58af6da6a54403dbd8e2bb4fbb6a2138b521fafb5acd5ce478f16c81a50a064b4f1583a61718bfaa89a74163fcabd8f4cf87087adde6c4d9a3d8d3aa3008a33f75890617a76e8e24cfeebe9933b2674f64d12f4eb97afcc2b1e14763649c6beb2dcd635179a599974a09564da799a9480ecca4ccc2b6148b0b0c607f17bc108686cfcd3aa5bf16656474a4cd65e5bfd88fc765890b285d9365d0f2ace847b2a579de643d77a7be97fc1165bb90a45fa59a6236c16f5ac520332ee409051b41ef9b78c820fecdf49fe556497d0d70f8d05033efd4d01f478bd45514c70a9246c5e921f17424f91a2b7fe5c291bbf7caa681c45fdca4daaa59b08de9c0ca3c830c8bf87801ac25d45ae73b0bdad001af03f0af395325d32ad8ef951cf49cfb1b86dd0bdd3d53f5cf9e8a5e3f40c1c538184a324e5df3e5836282bfa610e2f866b37ce693488971550a8e5aa5a1ebc1850aa615860ee86d52ea0198e89e2a4582654fef94cf5c828037fd899cf4f10268e78c145193c043504a9fa9375e61df1cc7c296726727b3c78c1485dc05a412ccf8418c04c0fb409622005545c75478fc18f5b684c92abe70645684f0449c20af0ee59fbb576d2f424de710fd83c34ce5b25a6004ef005bdd00bbe5bc667e940b8f5e3cfa6522c324b1b32543bbe520f4db307dee836c4d62ba615817a0456248e79ac894e2014320447677907f7192bd71ee90f736f9dce0c601744a4d153fab532baa5f894b536a729e19af379780bee92020ec9b8f33380e4c4c72db2743ade296700425b3b7016184337f3c8ff49656dfbb4a72406f524d5d27427279fe5b821c51ad3cd491a1d9f080f281dd5dbe64938247ce2a02283b5863379af6407845c98a0738559a7af8ce36f454a075dbfecc6a45363dc55f3b4d243d2843bb83d28679499a7863be5c885b368ccd5d4b5336eaef99ade585f30f421f8b827ed15a3db5ac6c7f2b470745a607900494b45cc9bf0c75194073824992cac1c256c059f48c05da767a975ced497436fc874467580360a50c19370374180f98dca1d4a51bad66fd527bddf28d45d79f696ceb1bc7f757b7460bc7cc1486812fa1e0cb14fe8f43b0cd650645dc8ae399ae2e55553fe2fec6a8719f7fa4e9f9f09a95b76bc6a705c98e3d3102edbd652772fd0e893a1e332a5d6e4158a0eeacdda8f02c49ba7a4c8f328fa2a77ea32bcd213b9bae1ed7718346c5d9f518b6e81e8b941d1c0db4c030997e631ae1a71bf97ef8d3f4d3985ca7aa8557cd2891779cc6914202c5f6b0485622df54a3d73ef6f9bf4c78a5cc9612efa7fcc8f9a404e677677d40324e8c94654bbac92e3243f1ff071d625cfb6c2e8618d259b4f4aa594c162ae8144452811f77644002d4a81e6776a279798dfd349e33b84dcb28e3b5f7286ce2cc57d6043eb4059f846a1069e437e9d8a3ede48df6d44c13dedd6d7c6b7814a1c6189e1651aad54e936fcb049cc4bc199cb3c456a6a9e4d1ec5c6ef12f2f29a990359a01aaa20fc743896c3062b4ccbb32c8585008e44eb1f05695bc86b90e6b8a14305d3aee2bdf02ef691e31eb4cf2b5bbd30ddc09107a26ee7158403792dc171b6c78fb862fa94bb7586499ea0754ba61c90bde5e5b3b3015ce9d2ad80633ef086010342726dfb0bb8f0d437034c2503904180b9409e455296b76a973fdc83ca47da09a8548b89f69290d7bb6725296419707dc960b737d003d733dad5421d90ccf33f7e7e5720ba6b2103035abfc1a7253135d2167fed3801aae978ef65f1774f548c35b0551534e81d696142350a4425ffb226f9743c994b5e453de38eb0cc06dd32afc1ae196ee0bee0c6a15cb2cbcdeb4655a4777804c85328b442e5ae7426580428c991d5d7391f1dc660836c3f3b2d72a94c69d5990f88d60598602722b53b2887097075ac8ccd3b2601c7ec8b75bf9d62ad5e830909c487731e313b8955fead01d4b36863a0d70217ad1ef1f89c76752a747f906e16b70e4d7fe601663fae5722f66be218e8406636c799b03737274d76d5a6aefb32b3a87804a17922ecdfb714bfc75ddec81a5aa8254142eb6cb590044c06618b7ded48ab2efb1d67dba9afa96b6ab64e6cd810e3208199e229adaadf1b182a31ee17de67426c59e46aca01c7e2e0159f079f700a0102f6ac457be449dab71304bc7fddcf318459662f27fa43a85c7840eee7add52f4ac194e7e9ee0237c5ad415cda0d72dfc4e743e237c87c0d3ea136f2757c9d667035cb93ce99c3b64f68bd2316ea15028c2759bf56b4eaa95fbf1b117353522a91146025fddab6bebacc93988fcb61e1d1949134d53d1ce680486a9b9bd97ad529c2382509827784e8afee4835c2bfffa1691ad43d52484b071ec386ce5e3e62d7b0d0c21f31315e6df267d4c2f0a90ceef5fa31922de8d7ed7231e56a060b10cdff099989056755e6d4ee5bde2c2fbeb09943a8e7a5c4d90acd319b806432ef0bfcf0767525dc26046ab9d3b56b430761fb78ae9d759c7c19607143884479eba0556293a18afc51ad36c184d1b5fe3bc29702d77f7a3e3cf48b580c0b3c18fe92a1a19fe9ffdd6c0d02c45e519d7882fbc580418ee569df4590db051ac87356acab2a0f57b8a7ae3701b9be10999714db4cecebbbac30b20e162d40fc8af4e8af1462072f65c9b16cbb5318fc12735d8a54a728047b9453efed9538ac859b8af2c7eb43bb27999c4c34be72b616a2fba2367d70de02dc06343b81b56617697817e4aad9c6f4c44c32ed5312f9af81866b5c5fbc7585b54539d5e6e713a44199f83f1d340646ab9022851e70921ce622e5f7097d09058e439d1c790917b501f89545b590a35ea0a8a8ed58bcafecea86e6bce19a75f3680d6ff2ed22d202b6bf97bad63f4cf5f760e98daa373fcdda513b04405815a9785dfffbccc2b5436204e1c5c607a8932f828c996f7b2722894dc275456f8239ded40159be70ee383d1f8c588d0466c25c1f907a67f4ec0821bb011352cc8efab8d0ff6eef3aac82aae8419020d8a250415a269ceebe513e5499593da06c73678cb5b0dab841fb473ed90102ca2d7e57ac299aef53e159ce5bdab402fad7a10e1f9533b1f9760058da583810bc7b8ecdddf705f8f21dba0b28387a30b68cd07e5d78daf4923682d9ec784cf07955904fe4e8d2469db79f74924ed55c85e16459e038eeb79c58b829cb8371f58fd97c70e28c4101e39092efacd7b32da3a4ccd9352123676facafc59fa0ee29673be62e8e597e65a495e0bd414f3187c22f35de15858b68caafd910ef84c70660f89629de5a2d9856846263bf32ec197312e7ef43dec88e432e7e1447fc230be2bf454d5975a2fa077815f7103f0ffcaae69db8a3343dbef5de49eabeae054a37fdc72bfe38ed8cf771960a73d72683a608ba99198ad8536cfea4d51262a1c328c37ef8fbfae0e1705182e2ffe4912767c531a13b771407af6eb05825516fa40efe91680742bf028a312a81d9811ac42b4baf5a1fdbbe6ee119fa9179b524e13d2827c1502ed6d6954b67d605b4ab0b2dba793bcb5ec55760e6018d456f81d58690c9dff33c33cbc89a1a59759b490a0583278707adf3e93ebdd1cb970495375d59b42a7a22bb4cd701ccb396e2597e83d0819d0e4781d9a79deb97145a1890a32d4696faf297d9fe486526faf7420cf4f348c45cd33105ef83c577704fa3403d7398980977eee4c55e4a9491542b321f7bb6049ec70562e89cd4a652d62b5953eb0166f62d6fd4b94b1955a18150f7821ee2df0fc7b1fa04ce475d6dcca6cbacd49df39f4071a3d71188121946cc8b5aa5738adb64c2ca9396cabc197e4525667016747aa4a3beed3037f2e954f8c70236f25149f6f8e5623b9e94d7721cb4e4e97076ab547f686bd8353289b1265e614011eaa062c0af58680d74751110a54607af2d2e82ab262c4e67518a4afd718acd2529bf136f929bbabce3fbd9b08fa6d1adab906f2ded83d14d52314dae3b6154bc7493092cbf1834d04454200192055c438290032252c5d2e4fe7b01464333b749273478b81dd9f07080556f800b49846cede6427fc25f443313dbb70a91400562b1d61f7584a59f35e4ea41582b692c620e0a8d1d2d8ffe200eeb1932d434efebe479cade7ac41370f91b0c17150448002628def6379a5bb4a0dc779d0c8be2804437147c0b1e96d7ce4b2bfae9e345278f2dba96ecef9d7e733072b1ca7742b6b1a5c8f37576ba6221968af64c1894eec2c6f343a005fb2a0bc432554ede02ab041f5f3ed24253ceb62b301f94a3d515fe2068973e9e920ea81142c4d5eecfa9c7f3525a95e71f85383f737dda7571eff4bbcbae6f6dc376b23cf88c7032cae5ac1e6881c156da39407be4bce6e18194e6ac15139f64524f77c72f62231a025b717dd6fb731b0465c6e502a9dd12a3786aa936bd541db8bf70924a21991f94685c458c288e83e9d107a258d211507773c6db2428261ee004da63eb7967fc031b02e0c2b7b0d392bb6aee9dff834049683fdaf3b5d2840040e93fa6de7ccc5e8b08708608a8284d206cad2f008536df3946d1f72e5b95e4b62ee4fee6abf14f72fbe09c5a5ff1857219df1273d7cfcdd4ee56d46e5480edd430eb96dd5e0eb6116f0d9b43c1e7cc2f321a0def738705edcbf77f09a7c104b922b3eb7f767c829ceee2a5e1fc0348dab6a17764eecae533340b974319116ed5d86a94aa494f72cf30f4e7bc318f4bf2e02e365010fe3c457f7abbc6ba2c2fdf6eed6613cf19b29c2b554ae5a627f9c0b023c01ef238bd954194eb4af2b7e1244401848728c0721b202eceea74961f22bdeccf5f6454f842119b8ab08238c0b5d27a61ece8a5b71ed6671c55e97fd635301d26d4475a98ae3248353251a54e207bd31582a9221faf57bb48a31a9acf7ad527327b4357cc78564617013aeb822eccfc862a7d74b25ad3f44ecd748ef6fc637ce69ae1b36003c143c59f1e8b47c2172f1063bc53cb29af1ca1000c13ed1eaf0f4a0452415972f51c5f97720f0fcc985ca403fe5a434b0f1f5ec1d9e7fc091997850992a5342607b1fc793cbd3df2ea34e5ebf6867dca5d094e6ce407d883347a49a6341fd2cc6232e4d9a4ef396573bc2a802024bdf684fb905a066117918f5a1ea768edc4d8cbc16445b3f5b5d8d834d11a37dbb9e258b354a2b52059c7c545be171621314b171bcc3ce46f94f9f6a0703ef3e97a30b471237dbf8e699f81e7e8139ac03663acef9f96df88c46651ab5ef3827acbda632eb77df9a6c7b1413336fea15db45b74bd8662db2ad0014450f7ac256590c5212749047043b4d84e39176bf806c396736273184f9afd294f4eb5fa9d34600cf48a21f626bbe99a75c77c7ac4fb60e7372eceb07bd3868043a164080ec62f86ad00b5654c5cf7a00b82f16cbb0194233af4a167a0f4e6d1c8d18e64e6f34408e9dc501a321f14a7d0616e96e08416f803a236956882a929f7a41ce45e4145ab99145c7b423c670020be1efb2cb85351fbcfaf23f177d4c40ca8c4bc88373bea6594b299ef942d875fa30eb0a567e266833aac0b66115bf117d2abf234ed7c1c865906b4f0dcc5a86178bafefd04628ee3a7b088b3977756eb65af1e76ec495af3db346610581498ccdb3ab11537ceabc152fb4ce042c668dfbe76ffdfd41427e0b7274b44f92ad6f0262c01c96ac3a8c067b0d86f7a4a043048d5e0f8238494f416d408233024696268cea15619f26c10d90ed5d6ea5a635bdb403d3821a3923d8b820f5fa5049739d538b5ec0b651ba178fff0c2a1578c1b5052d74ace4f3b0d1a54dafb872238561aecff8fd1b2a72b0d2f518e7fce1b95ebbec33979d11439d8dcaceb375353f64a9e6b0169716e92e66c61dc6dea5adf09ae33d0654c55837a3da7528b066279b1ec6df0df081260c79e2b361fa9165b0a7c3c4004d417ff19e2d0750f0021a4e6cab937f713dbf6e0bee52483b50df53a5fed8fe56b14cbb499ce44a853252a462f051c829c8f81e82c58d73ecf7709743da815e47efada6feab1646304b51d052852cf2357c072ae7355493d68c6a9bed3d48a46ea1016c2c191dff542caeaad6a9f428a1b8c9aa234db34510d186c0a269cc64fb48d675b2fcbdee80617f0582769d2af3f1e2be598b364777aef106b76caa0ca542b06981eb3967f169c928f2bacec9fb56c04963d4da6715f179375d6ea1fd963ea0aa87ccf827f7896d092d49346d3e78dce21f8deef3c790648eb24bb826021c082864ade620b01995b8d74c7e52461833c79204244c6d372ae3a0b084b2ce7e1bb281707aceca0c2c481d96c713f89eb26c17b6e984b8680ac407e7b89e22429ebfad95b990ceb326f2681b4d50e52c34cacd2b5403959ddc7d5f2bf819293cb7155fd5a43e47e959a0399279498825fb170264e123276ab42a737f28a34c510d9e9a439f5f7275858b5aeeccc1b398063660ab30c1719cc1081faeb44673f1aac1d046e6b0e851121f8194db55d8fd0cad658ccad019e2c6c2d60f162e367a212870a285445786fa8e4f6e0c7dcf5061b6ee00019c1bd4ce4c3e7bbf4e05cf9a50beb8bfb4e25b1c7c2861e50acd463875e75eab7610a1c84f8c4e076e1cff558ae2dae7b5133e5faf8a69ca9c28a5e29621b22755fe7de37a1b7f799f32adbd8bd9d471d4b9e54a27330de0ef2657406862b5bb15cf92ed511da7be53c1e3cad127ed5d0284f8de1b87ac1d96ce89ea31f3702838f2552eaf02695344c4eb07c8717f3f58d348269dc23fe3f6c3d37ae5802b11bb6f12ca6a37698c96b2256dce842f89110e07534f1132f9dddb198b8b5a4e19bb4dce8330198d895e6b170f087909b3f0bbdb61fd7fcc5cf4a9b19e22be3737c1bcd2c3c5d7cfc9079008a90147e147396bb8dc3bf47393c5c2138ff862f10b2ba5cc29b9bf27bac91329883d3473d39d72eb80116fe8675bc3a293d2e9b07fb308e12f095d64a4d536860a7bea60cf35bbe2bf07c2580f01b47fdad71073ef599070623ffb295d26d7b53fb2aab82303b73a8be0ed3bcbf86813c7e01976aebcb21e816525f91412e2b3d0772ba0ca720ce7019d83ea3ad93143f0d38187d5c004dcd79a7091a27b77f445e85d25803d1c04321eab59910ffac62f39deebbfb515580638a74cc770cb214d7f0ae170580d4ebf42a42b44a3f9c74fd04cb61a08d997ec0373edcf8ff7eb507dbe7924eb99a2cf263720727b8c0922b7960f5cb3c92e2b715a7355abdc81433bf3584cc665ac10336935338cebceff5c09231096172347ebdf95a9f6683a579d5c01dafe75bcdf9a9a58affb230720e242003cb5b087852caa9bf71092a03ca45d1d1c98da155fd7a4b3071846c892b08ca7dc9fdf51ac37d9ed5088becd807a082623d54035e2d5587e86b4dc6a7037262cdaff9b0e3be87c5b63e73d1bfe7feaae0b605b5690f85f04410a774ded57a280d90c60de39a9fea54dc51706feaf5ee77d401d1ed1d1728529eec13f610bbcd3521674ed8b61c570216cb5e8d02c66f9760680d26691f38993d2778326587ca5e6f38dd52fdef9a93e24effb91293b183e3a07d9bbdabdbca6d2d5bb92df8f82674b1318f1048fe22a4647de0cf858f2d6ff4dcd5432bbbfb463c9d3ae088427adf173afcf66e9a3fcd8c29313dee800ee7362bbab1b544f0ab09b6aecd75a8e18d3f4eea9469f30229faa74bfcdf447164f53bb9490b88731bd4e69a44ed70495a8a41271c63519499c931ff76f5291a5dff381bac2be1a76b2e13dd58cc79067554186a574a3df62d2150e65b9037b5fe3c006662b72a4bcba9a0533cfb25b81867f5346b87c6d26cdcdaa2dc9190c5f64cec4983592dab918a582504787d33478d15f170965a92ada8a65022ca69fa015a3e88b4a1fdfe76c74b6318496117c87f0b03179c75465a0bf992f6deaf3f63547c4fc8f08e6dfc485af8834a16e08df8dad5cb5da14ef27005b822e27bc6c3fd108aabdf379ed99e32428d9df75b07a979dcacf1e4f6b8cc72b37d103d64df8ed7dab88b6a3f19caf5376205cc643caf723d137e55a56ea899bd00da5bf7013f18ff18d9d7d25488938b8c2f7abf546a9aa740be78f73b89cdcf0bdd992bb9e9d5d77884df892626b6934555dce942096dac4afc008ba289927632c9f68bbfe051bc70b971525ee154cb52af33319febbe34b4b20997d672b0e238e896a4b36f7ab6c859a1f0a55da9e58acf130c11d7f0a13f74b98449d1191726c4a4c42486be144aabb1c36889401ddfb4a639e07242dfaa9b366f4a8746715afeb1f7107041d7ad44c6e1a175760809b70f64ed0b839dd8139aef457dfa1ff6c66c074914db0d96d4015fe5a79230df7aa97e5d89672e9429984821419fc88b26577fd969b465a6525d5236225def86b0c7d0e1ef2d6d34fbf8978605cc13c422abdebcbc7131b9a8db23d0070afc9b4ab1af8da70c263490e4318fd4881a3d744b9d122c50b320737b1e66f60c3df4014dce52aa5280fb410e795f60c890f6eb7df4baf4156bb27fbe3bb5e3496023f088298c9710c4030bf80d1edfc4b875511d0028a5b97410a66872e41459ff4feb96909f1b4cca2aac05bbfdca78fb01ce527f039a798026783a262e21c1527467986e5096145eb5158762e523ec3f05d8d0e43e4aa810dd7576ab907ea76b5ef715b1ed6672368fb2957ad72d71b63775fd8863dc016e7be0655408ab1ad085ce310e6a98ec73ef180072e65a6f5790b88745d4192360957bc1775000383b43828089c922dfdc16bff42e82af68a0836c7bec351f5bd1c6e1e1dbb89ff799e8ce713fe0c92056bf44e4a31ee3ce689c3ca9c51b76db950cfd44300c7827a7055fd8482cb80483827e5c9cde280f6c42c5705d516a716de1eb59968ea0b9efcbc7518749b9e9fd4e71a49064dcb06b948782889b7a7b84214bfa9338199bd5f1ce018ae4c198039aa4f73d570746c6b2b3da572aac8f4c7258b78e68d1f3aa7e3db41182a19f9c92ea55d8fd05214f26d90ee2e8529dccbae90f80288b89003b99fe741055ee4cec6873d784c05ea561057123dc1c300014d8181ac40dde7b85cb479314ebac3101a2a6f4e5cbff813e4a3c091978f55b6d20bdcf75b81081294461beb8127019a6236a17055e4a2d89bf0bdf70ee9edd48d6e9a6b3f8e4d70a322da98f6520f421e8af6736a332c41e6a750850c52e0eb984b2e0504e1429e610b324af5a815b9f9a8ec7ac2918563520a2038d202d98364209a0e85c92855ea4d069c627d1ebb0d5bec261d1c6bc9318d3a1c1f650562cc7198c153272c2657141b397cc4b5152be11923bece0623ca8e4a29ce32410264091c1718e36b1d5dd152bdef36885483949196db476ce57374e64478976da9f103a84a34ddcb54b5284c02e1a6fb58afa02e734e4e0a58d603fab19f856f14cfdac1fd7659f900a557e4965a5dacbcf660e0c42f983a1cfcbd363a83f283165ad9cc8885c9ae1e0c82297dedb509925eb1d99b0b32367f85fd605f1cd8470d1ab835a80a6273959d9c9bff45480fd2fae8422bcc4f82ac2e1bbf5a909e51f62bec9f72853d0ad7942df800acd5096817161320c5a3714b6ba1e8a39d0ec9553ea47a3a30fa88be875706c265e628a732558bc52e927936e105b72656822981159d2a4a9629f1cae31791ed9f7b10d7595c22e75fdb7e95574651f9d4d7c151372b14a3fac4d24a06a4efb5785c894c40d7ac3531e15be1d24e80ccca5ed15cd4f345913398bf68d7db903089716e7997420b78dfc58a5d0da682bb636d90d0bea4e9a6828cd02e4ab65c2caa292f5202459b4496c6b4cc7c1135a68575d68829b95747a08e0ccfa74cb2c505752ce8e9f759244501daca8b362fec3db946d6d0e6cb047f7a3441dde21c95aacf95eacde2904f5e7b3e48c741fb41868c25a501a8114bf6d835445868fa36b02ddbc0c59ab920e60f52a7c6a3a55e3f3fe8297eae1f870543864d82671fb83c1c850dc7cb1d6f09218d5d8834be451b5c3d657e8243123aeb3e3080014c8e344ad14d67cfb733b454b5676d7917a152b223152ac39c49a4a08e3591ddc8a0159cb15dcfd59f29c994ed7e0b9e9c555e7e68d69d5f5a6081d02dc15e3f21ff367e3a28a2105b921a56eedfbe6373263383065e9875a22f4a4be246c10ac9903d13bc177a58435e204c4611f6b0f2722866eb26f0074e390479dddece01c20a3b7bf804ff6ad77bf37780a652899dba848e9cc6f130a206e7c406b62f3d54215aae61bc2d1f2067590bbfda3277f110e59d2f0dd01cb9935775ee11eb057982eae65e2adfb45ac72fa3d5aedbe6fc2d9d909f6bd26eb829d8ebbd0ad35971fffb7c127bd57a5e43c3594bd237e72668d0bf576c1af3cb2977d55f36065168155833222864a403d0b0616071109afed1529034ae971fc19c989b8d456411afba163a50c87d7ffe39f59769748e14f9982e5b4668382b242d028ed41b578331e0f14f4c907e98747ad545e012b49ebc4b51bc1d827b190e9ea7bd5dc0140188fb72baaae72bc4d96f12548d86bae42eec7828bbb89d4074ada906e0b71081d292a837b45968160116717361025e30b5b19073bd3c720f9dd334e7f9c90dbc6e92caa6000f1f2f7d316a6f607f58cffa76178c676e628a7f30c3558967492fb79b48723b370b78780cf16d7bd11cc39a2abee4f3a275177ed3cdf4110276ff6f4f17248d2cae832eaf1d5abc6b9b74b13a3ca7af62a9b262ecd48c78cdd682bfafea129d864a18b6e6c21aac920528afa7f525956535f1ad94dfd4ce5ed6e516b21cd4ca83b7e674cb9fad9462ed66194b84f98aa2e98c80cb9435d5010f1a2476b6d5de3df823b0b6daba4393456cb23bc50cbc8e3709f4d90be8c5400b1251f14efe964cdcf62abacbd295991b37f9e28971f89462f7649bbf53a6c558adbbbfdef5035f43c1145e8504db5aac6634fbb92542486d273d93861dfd29061043d461ae494cfa2b2e9f4e4b9fd1b5e13044b5f244ed8b768848b8c94bf6a8f19e3ee4a7aa8301cca20e6693d49bc1e10feb0befdfa2bdf6274c9596a71c3d57e648c534fe1227e5f0e6175043ed2aed7fa6e6c30e09e03dc381a3606207d627b129d9b1fe5a6f97bd65c80bb8f3bd1998f2da7efdf937f617b5b334aa72ffc258312ddc6b84f13eb24dfda73669451d36d1d237fd5298c06541e8ae980bccff0776730b59d21352e719c48026f26bd94c67b55cec7a8f121d3bb5629c5f293cc31fb8b5dc319fe0adc26a7ebbf89f418c8d59a68add10f5944da40921c5893837c77b144fdfedecb8e59b6c536362c9411bb3e879c724d632a15838277e325babea05e31c645931b7272e93cc64aad0fb9e1c8e0cb91429c993d332db4fa98bb6a2090e0729b64410954c86bca72e33c8fdcc7ab6d01f49f89649c0714db5d35cfb7ca6a60d646c991de342ccdc856ae9b04381bbbbc864d702a34e1b4603fa36918d314295daa933fbcfa113e685575b1e08812f2a9ddb03f2b25636b513d3c9019e98a40e6762f2dcce56fc5a26a63d46117b68842025a5c0baab6adbc690d6df7bb1b8b11fccae924a1cbe607773af77b9b24b40bad6c5ac676a5a2c90930d3bbcaa430eede18a3c54280a44e779ecfe167fd838b650751ab8e407fbb920cfe50bda582fc71685c98b70ffc6071e38a81de74c720a5c1c3e0518c6065ce992e7941a5fb77531f0e9ce447b112c5312a1c9389071adc05cffc88c3d728df77492858b5941c293acd6b5118e2f2545be10af4bdd66c1e60baa6fd3d3f536884ceda5c6895468da8a47093e2485a615eaea2f7df721ee24ee332285364d5c9ddb7d8509b51a4b03904b791013017c3c5c9964d84777b14065258a487ed1bee23e6d27a0b408b6afeae0d1ed1a038fa1bdbe1edfc4ef53dcca8ca4701adb1899678c9c973023afd662382be4679194a4f8bd68cbf6a02afa6d33a6c97273e1758e98ff814ef5d4d0d01b2859f939c5296afe4995fdd4a63d06c6752ead57f389226415d3f1d826b70bc0c504813fe52d42f5e5fefcac97c79e6b57eb6a7fd77d2510994e19e5b49859498b07546b42cebbc5ea13a93b92fcc025b05e9a33a2c0683d77180975daf4150e70af5dbac941da623e99712c7d5f7ae93c84c96ac48359675de748aa0332b77a56ef313c6df1449b4571e41accd462297fa681b76a730268d2b5e9475391146cd025fa596fca7271851969a618ec69a588bf905ed153bb47c7d1172444ba3aa2309f17e2ac87ed7ab87aecfbf4b11390e347ec49e3673056356a7fbb01a118f079e779f477f4ff33f249b8cd06b832434592d94770fc519e7052926e7ebc649340f386c9b50c4f7bcd881a8eb06d3cad4d25816538df3fed52f489b436c273fac7594c5faa3bb1de276d7eb2aceab2c109a462af3aea507aa12e458e5e00c814c773f76d8dbe403ed3004725ef25b50314ba376d78ee29d43edc70f98180a71f5d8f4dabddabd8652c634362c7866f5321cc4d63627a34001dab8d2014ee10920139b88b2ae5ca81ef262e536ea5a403b1b23ff8b100fb0fa31407be3a2cb95f90882d0b052d4bbae9ad9d81768cd6eadc97200e6edc731dd05ddf8ed55315252fb66c506c18ff4a1954e3c42cedfc085cac8765a33140b1a5cacab3687c473c584f4c5ddb278dfccd5b863900d0df7eaf7c5ffa2a4c01271d81460b5b082b71113952c39a25363812428ad3ec2e441690ea12b7bcb9e63874077919682b86f9b9d7d98339444832ba3250415d76f05f232bdd913725b691027d8e1b6afc9cf85de989fa5619d97ce67c352d4eece567524d341c9621bd729a39f22ad307494b2879fe09421b2e2338833676be3e4b38f90c6a0a0ad386d3942166d9724dffb6341385fc62c69aff2aaf243d3d657584b91b5634f7575b28de4e02e2e5036911f0119540461bfcfb7d38e04e6ad89150dfda645e38e85c56f1a77bf324b5d4d1e6e4c1c88040086e8a27835c5516d673b5ea21d594152268b6be7ea17b0321732b8427cd1d43717ac29e8148c9147dd3fb02f1b0bc53173053e1accd372d5c5d9c8926d14d14136c45189c71659aae40f17e53eff9831043c36ab351fc725e7b76c86f8af04b45a3cd30e140c307d7e6a5170be8818e7f3bf4438b51ecb4ea131b925ac23c5f8039448792bb114ecc093474de6a36d019492bea1d913f6eae0db4f17d5f0b40620afbcf52bcc72986981056619813e70a0e01ce69d1d5dfe33109384a3f0b7eadec70f5d0ef1410080874dd3bb1d3039cb53ac4fe4fcf3b3400f0a826a7cac6c29c2ea0cc55b3faaab89b2fe659658afb0324b5fa88413f5e3c9e88c53afc867ced22a1d3086a1b4e2f8ab707ca72c93ecb57bb5096fe166fdd2344675133d619103fb767a6a2d256ae860b0033cdc4c49569d97efa501fa70a5cb1eb8af725f1e42866009e36ed110bc03d0b6e3eb522b475573e7226530f803d5098c1d448dd41b5bcc70fa6dd8783b7ccf958e110f56f4befe158a85987a40262fd8df6d666ced957e124819644a92c1d2d8a4a8500f240354d2310e6b6e76f51a06ae759f8e661dc9e2b5a8402e6a2da12ae0393281a77e9bc6d6a3e61bec86b92160bdbb01326562022d99f06a08bc2410071917988f41ecce1ac8f5a6a851dca386efe85eb59d3a2f9d7628d8ea2c7276824d19ec706509cbb50758a6f55c2b65dbbb4da598e3a4d6e4c440ede8049f222f1d723056d985960574aae55e1cebb67cbd11c0767f89c70dee4eb33347d590c002eab72db8ec39d88e173741b0d018aa8c2dca37e511befdbd3bcc5607e60f3c12de8126fe79e3e1618903743e035cde540de6c6b48044c9ea142508444a19c991b2dcd016f9358cccb936a84e75f83a3cb72c11dbb0c26573889305b7d0c3652220664658cc56067aa1cdcb1351d489df7cd22d4de36c17a133e50ffd21ef88d209b537a16f8e11eb06d51c1617ec09a8ad678fb78bb20142c1b5345f49160d4d6dad6023adf0720579895011359e4c6367d384d21cd66c9133f007638ee9a61c5f8a24033988d7704062f3312cd7a62295733e7d1d566439bc080dd22b5c3142ff94e0aa3e2da5a93e6745691aed7d5d2d88d22ba181174242d2b51d0c741f45b463f409e5eb5b15c9d1b089968803b3167917e8f43a37bb1b0d36976b15110e6b68a6af3da5c57da624066534b067e3c66d027dbb01212eb2ac8d27dbbcae07963152910e3701ceadc59bdf1fa214bb6adddb6cc1b35c678cc5c33954521cb2da8818695c466dedab90d1dba50467bf57193a5be443e54de8ccdab19d49cff935bbb243c6bb937ea3c022b76d1a65e71bede4262531e24677d3e1329fec2a9ca8002d7af0a47bc3b9efadfa39e6987b6ff82f7f674b63ce6eb9b185fbd13516d06c2049880057e06530b8249e415ffd07f1683461286a7618f9ce9e96f34ca18a88a8c64370d6d85a379161bc139dd95fcefa1d9ff38ab3c8ab232da992295e98d7d7404842003b2f1df18fce64c5ca221df747df392dfaf2bdd594c9349d6ce60740dc65800b2aa9e938a9052fcc328fea2e99ae020ba72b5fddc7b795179c8beef36a427d57f48065443c1801db513b4a631f90ff051fb4aef7ac73ac352cdf2d04431e58114383bf9adb30ae48b0bdeba87e004a1793964f75a743925b3a2316fdf355691c85e5c388708d03f56a09611661ef933a5b3541cfba72197b22877c61fd54ba361ff4d22cd3e1f4f5127745210a1e8dc8c1ecdb09c70115f56459d25fdba9e05a28d82fa2c5f4b80d3fb1e98fc1289c5de54e8a3dd5337d46e7acad0b531f43999e1a19f21793b2fa638a1b58fc8221f6aa050e1aa3c230466b3bef9c025a6c4d1ecdb70944b9c985a5cb446bd05a0418e13e04766c1493dc9cdf590abafa1e7f6543bd7c3d2c719208b281d443e0283abfb4d035fe15a4ac58b2dd72e4cda5418b11921a2c372c18f52d13177db206a3a43ceffc712d26666de9247b4729bc93d0afbf45562e8bf7fe83ea240fe27c0f92cf77d09238d2075f342e811dee163d11d4d448d6cede85c72490e198accdc68509f83850325f44f3f66fe6ade123877f60d352bfe52e750bb88d16eab37b4d92c195891dd82cf8229a0313ffa777b578eb5c7fce34d4d5c215d149def04b5957237137256ff4a998405409bae4b93d0da13c969655d780b37396888dcf088283b2c5622527d2b3a5c6757221aec08e162b9bbc40608c963365873b755b4c93c6d4f21c133923831de6587fb438f6e3a08ffc42297f2e71177f3542c6876e718edef445471bfb6d7a62e5d0f8f7c2ee117cb1a15e6c804e6b54202e57759dca1543904125b416817f2771c4bdce2e6ad78c7788822f1ce8960ca103ab042ab547976ea3aa8f333e0d608951005a98f1fa3fe9fc2bc2e33e4afda5db464b7e65b8ea941faaf53b21dbcab4e45e0e1ad4be8dd2ca22eff209535b9c8e037f142aba4084d15a538ec62fb889eb69237cc4b791b2dba0a38bbbe6751c267986245ffdfc6b4c2c25542c49500e38d3322af0b6d47af00a5b3cfc21abb9bd3874cb92be4d8f2b4e581b800961d3fcc8ba86b31fe132a15a12b4c13c0a205a9415e30ea1782a20dd5757ae8bdc0c46b4601bd44043013d8bf316f45a2fc60f1196085142218443a146adaf58f661755ed1280137239229b11e9f616780f7c9f39db53ab4fd8699cebcd50b057af69e3f2a9e05c2010d5e308fae56c81d932397693c3400f9c6a4c996c31a5ddf8390c093581bb3416ec1b4a6866892fc73e0d81493d31309f2be8f6c3c3511987d7d0370f1f4c65b7c405a372a8aa889dc17dac3f58e7c674fbf9bdaa8d45b9f7d2f9e4b09795f22749b8990307753dd71dc84ea41cdf7502a1b6032ed0b779fdee8d3be4e13f1908756987dc387ba6b13c07bcafaf532e150e13c6946bc7c1b6b792743e00a7216449636a178aa5ec460deefb3634437b1c42ab7e73ff2cb8acccf3c43cc26506915d9e6d1bd0055629d9f7f946e362d9e649e92062d3780bf5b8b815197992cca465ed8f47c8f737739b7b0ae5be326d02f7698728fd839f415fe9fc5c10deecdd657fa2974c787f5931fe7f67fc4421f9ccb36243fcca7acc7608a34ab77dbe32e1b331dff7f3a138b346adf43f6cb646c2ee6b4fe9cfcec59fa3c8f9479a358b7ffe8a35bcab866910f8b4a923d28fff5e56fd8317c49db6a0c7ea59550c3281b0101c46710afc6f45761b5019bf989ff24528ddd9e2aa46565844c35ba1badd737b8ae41857c63a072342c362a3bc42c2915fa5d749ebdacd11537819edcc7acadbec95a2331618d5c671c5562d461b0412d9e6e76511782a8ce49fe82272bc996635feb4a6599a28b0c78489d3194ce33c61671d41164661818724c21a6d1443533a46b3b5718d9c65263ca3d227406242c3113e928d985dc87cf3529e127968b22935ac1099b6abec21245b77ec81deb0c318c5ce3e407e056db924918949fe30d211e40d8dbd6e7e114040fff8791304e1e1e62a9a4a72d77c8912ba903b7e36513b9dd4123914bef7da86c3e8b0d7c3ebed257b21c0821d74d9e5109dc61ec35a300e4370f8454396e3c4c30c1ef28db21cd2068eaf96ac383b4e5fdb5e6c523dde5f8b11c08f48862794f2a9b32753ebe02e9ac1756f1cd543565bc14171e361ba3fdb1f272fb0e5e4a7eddeb51bb41162f1358f6b517f8bbef349539fcc305a784baf61668f7294c3b0c8db8e886bfa66dff91423a2aa0e0fb6c2a76ec4ea0007ba1ce80d01d7ace80f4039855edfb0316f23d1e707b0bea6697f678f4157d891d24531d1446464c4d7638646ebb91cec0d90226cc8c81c45249b400c5bf400603806d6d86468926f146325714f52406dcb73846b87cc27106d319b70564a0d21f7a6d68784b5461dc4563a5f2577a0e3dba08469c0bdba35ed09970b9ec96a6cc293154a277e2bdfa8ebc15be809afa067b5ac9dd74a6134da92ff85b50f046b70a1a5b3f53f44412ac3e412bf86fff6daebe2ff950f52390375fd62b896d9a710e934aff7dfe70f32cddc1fe54de12b4d542a115ac1013aad640998b59caa5d131c9c17f5298c16ba7b2fb160a8c8e801f71db3045b426da1e15a26cf3f50170a248a453ed061d63ca0ff480148bc942b9949ca048985275515d7746bb5d4e46a1b1b702f170a7ca54c9c8f00e14e8615389ff1f36f3476539cbd1f31c2627ac204e4c1d9395936a2f55dc9e3e528e93d1a4e71b9e220b9290c8239b0ac83b0bbdf1757ff40205d6d943874ca4b2fcde38734654e7adc585309eed446389a480d9d1917574fe9e41812ef8ea843b2e8adf8992c1358a88adb28a1e4297cc8ec0dcf5c821ac39532c79dc92e887841739e6a157983cc94faeeb89b9e9e06ded239362ccec9716023a0eae23aaf34e7d5dd7261fe8076cb862faea0e3c79e77dd846e5d131f1f60f650a789de05dc7e55a127c0779c6c113bcb03a0d35cd41de003824fc675ef00466d01d9a59ab16c2cdaaaa8601a92aa176bdcb4ebbf7d2ae104fb652aa419d31f31faa30abd10699a7c361cc263f2fc38b48cb3c59f88bbe4c764e6a26278142144af79f36d975a66e8ef7ffa4a402a83485b25e50251f9228df6d2140fd8ebc94cc1f54c50bf13851dfbf58b27e23c822e9d73bca943eb82303671883747a087180f59c76340990fd116ac949ede3c61159da57f68a866335ad723e5c3baa6e6c9b1343876bdedc9c5903108ca6cb7c159a6f491d93242997abe9c048479d8c77ca52ac0d435301b820df64be1c5083727e852b0485c795fdd0484a906099d042d45593c69b75402d245216e9995295bd4a9ba7097ada28ec1877709f855df2846686290dd3af19c8b761bf2ee08edffe94de4ca125d4f61cdcaf23268c8b214383c1df4ce66cd23708c362789221258841414ff402118957ef8c5f4c13bbcc685e556556aa5e3acbd3aca4423a06c1b3ce7aefb42e4521faaa85d656b67c89902171232f62d4128f1cf3fde6e5b26a606e8e9b7a399a1ebb8192a3770253cfd64952cf35d13afc4ea481925beddabc36509f69410fc6c26942d45c55982380f4b570eb282307c64315fa69567c484130d16084319993a6e4b599bdc316405d58b279419e75b6623549fff99caa4a6c034225fd10be4c77b8c55e1ec4abc65eee32a39b143f63822843c736b92eeaf6121c77d1f3423594af68ad159a88734cf89fa2a59851de41ffafdd54a85727fd22944d13afbe24390db65485ee19862367432ec34b73e87cbe022c6429273cd110ada82b2d5fb3a6c50560bbb32dea8e6b599b60c1375ae55d30de74a4d1d8a292f491818e624e843eb8be7251fa9e889d032fbac816d69d78f08560b8bc17531b1f28e2008cb96f92de78cf5356866eeb704c3ea04ee3026454314b4313be067a522841ef6c118465c71a3bdcd8679cbf0a063f1228ae65ef6010ff81cf3103e99eaf712376399523e237df3f5bd0178bcf32b62b7c060db0b39873328ba8a613272bbb70db924fca18ed62eb6c9fd2c79c90c7a067061fd2174a76b1393ebda2a8d6044fa1897eedd486d3538b0dfb31c32027bc998f21979e6b165e468b2f50b0b1887d9cb18c3eb39f7eb58c6f23a03256f07a2a64375f9c317c9b5e4b0f5231cecd57e0df7e5997867ce06803627f737633547f1cd249c776e216affbf58fe0b33dd7ca84b703c55a9f59759ebfdfe693083e1df7863d5f4c947e89c70956db5f288b7e945a454b0a89ce026aadf0a68a9883fd3dd7e70c81a994f39056728c16ee26a16cc72943a58c675116d8e48ff3eba880740708b7252d1bb6578eb949cb817dd4a5488cb38e599c6f05f0454c1eae114b101b5a8f4788dde8d86b63c1cb63e1a768c15b6f177173c1e090cce15d4ce19bd347968202593ce2aad921c6ed4c597760bd3fe4589d8917fc9c41ff675b117884cd098d4f499a94d94b5a535deb6669ba10db348cc165bd04813d905753bc938b5a8207dbe5236d9fbc16e03ea99a19a3cbf41f0d188b47fb707e87e023bd7607679d948bc7dfcf4f519dc9bd26eed58259f0df20078bb6f1543735e5273f3ff138685fd7a39ac2da90e135659568fb61ca94341c54a2524fa800eaf2959de7089bd7594f04bcb566829e75540f0ae1821a89aac8e5036b816253d083581dd73b4ff7670c4f2c0fbd485af9436f0de78517a65b8aab46919e8b75b26d54a74ad825e40dbad9bb12092b091959ea9905e60858acd11c4759b043797df8cb19409569a3724759cd084aa82f942c9ce98bc06362b0feb66aeb6368e209db9f6d6b241e06bab2201c9b66dbf9d95dcbf5f528e06316e8c6b29257aa78e71c990b99835f63726ae5a34b23215d766312034f6df713b49d211c3fc0e28482f9d27b66f654db92b446a53c3794498a921f3155f563784825e4f0bea284c1e29e068909f1e84a24dc56e120836fd1acab2e358e7f22e427a1cc938fcb369157a781e4986249d9244fb288b83178aba47bc6862a919e49469284a3014e6cbca27f852a75e4e540818d38b33edff7eb2c4fe8dd268c6ac8e661b257ba4d90fc66c49deb89396101711563449685a4722437172a0308de371a010ba4e51702553bc1f80163a385b623fa23a4f69bdcad868184b79ceddc22d636d1eb4f5812ab7150751869979b34f073475e5a78a42dbee3e75e99a17c74f0819e073916c0465da879ef951792d690c1897954a4b6d3f57b455dbc5cb68cf8db67a2f395a57b6ae56ad90f9037359abd63526e4f7ca20090cd3ddfaa73e75d0dc8cda31019d4cab6215281aa223acd4fe293a028977444585eb0284209b44549a2a2f8cd447f6e39170097f9fd523cb74242cbcd5be2c11cfb86cd181582352a57b02f257b7f5c296e4aa397524e47c281c920b7f45822e22b0bb008c295770f4a23bd99802bd825dca715bfa73f55af37f211b88aaa49b2e193d8b14c839e85237fbb86e8b279802073f4c1c1e9f97bf04929724356012915701665c6772d24d91d324c9ad9e50f1b1e63ffd784cdc608c31a0cfcbb28f872850fe125e0433ad2e7ba20ef3022e101e8d26410953c99223544deba050ecc989397a95310b1f665a7f9de20951ba4b8fcd519d3a9aae88da8e75c18cea727f58e44e1a0802bec3efacc9f74eacb96aaef9e3374e3e38daff078c0cd9dd255ba0e529332b76aa89f38774fffbef4ab8181194921b066bb422634d30196f3ab670dd54a774c779f26f94392bf515123e9e932ccfdff8425aaf3f7ef9699575bca96806998672eeb665a3059f15166e0852d92f1333d8819bc05a431272770d22b9a31bb7aa61ffda8795bb545fb64646a73d323659e5d5f2f9dcf767881369d9afa01c2a2308be9a618fe854ac7cd5d50176db32b10098a18ebdc2ce41cc4a17b9e0dd83d51ebc5f2ad756511f424c9d0bec4a2acf8c565ce0cf7dcc9db824cbc533ccfffc84c70574925699dff80b63af441cb0d96138ba2c5ec9638f6c2e7c3a096cb1256e80e364120678ca6e051568d12502041839c6365ccd50dc396edf497864aef8650a9e615e0680d3f63d955a169f21f623aab860b1f925cf5a9dd3bf7165cb19c6f9ce35324b9f717b0e29ab9d0b03baf7464a4a05279ca8a166471882d576dd80cad76eec243d4cdac2b08f270b7687041c250c2189c6c31b6cbaa8fdea13ed2bd6fe5257e2d0554dbfe1ee149fbfcc0e6505c2748bb6a9363c20eb659243c4c7f34bc5a0dea3a267fc680a724a003cab4a3f29ea6e934f6a1fdca9d1c1ca3596923a526ffc73d9445e1b7488593a3f3c29c35a05cfe85c6573dae4262078cb84a0d2082c7ba74bd36d2ef8b37810f5287ae515003124bdac38ff463a8b15c78786263ccde8947c880f13ce64e1b2f61805ddc7b82c92050e5c777ec8ed11a6e548ab77564804e13af9c6c5a59a8d24877b56781256f176ce7316215b1ccf30b0a50da70471d1ad80094e8015e71e8397d558a439f4729d8b20621c781362b3b333a58dd2e547bd330d6540f4248214c0646ad9bef498ddf2cab5e92de140f3d187f0503d564267ee5fc3e16b26e69e40e7724f29fde26a017259dc1c3eb4f052decab9f653f44a82f0f0a5b27a2282275ae8a8bb0bf67851bbc2201c9bc945e55506f5832fd0e238ffecd60c351ca2c687201b0bb2aaed58054aae923f95f13435a27ef3149ec44e19f7e0d92bdf7c85e0f9da9dfe65ce95ed28f4dc55f985ff16a0e1a494f7d6bc95e398850932157ac5edc880bda14d9a06c662ae9c3a3fff4187ba9e62cfd2407737e18b1b635c4f5d086aed0dd7cbc40da20769590bf873e66bf394a0247995a4355094d359b59d46e857d08b303fb5cd11ea7a2d8ca35c9e52ef76d9029d41d798adf2c3874553eadbc52eb30c3b4f9273c65ac884048541f56a9bde1311550efe974dd58e0b905079f9567d5791f914feb29672f5970e04ca2acd3293d54fc8ff39dcc1bf31a48352f2c3738fdaaa88b0ad30616dab58460eadc4a12a958c7ee93178503706c8cb3f6abacd5c7476a437ebeec9707131e9f15138f64b734f4acaea75c5f233d097baeda916ea443a560cdbcde1e6f84ca5aca9f96d52ffecfba5ebf90011b62a006304a9a954599f3c9207620a58b6a9e83e399e536c40865aa65fbb5cc3a4a03d7c449637ff3634542348ffabe4f77e57e7362279be813fb801272f9dbf33ef6eb369ff79f6e926e89b5746bf320cba2d4765b3e553e47e9ca33900c3afefbce7423005c7d2d646bcc63bd259a1355578b9fea19a9a4e5a5900fdda926d2dae562a54d3e3145f3bd5a30903bb175001bde8afd39f92b37a785280a9a668001f321027084c024c8223ae5ee20d40701a4b5cc988bfe175990a3723bc7a412a85585c933cf0d4eabad62d00da158d8428c4b0d01a414315bf2f6cb6b32744f53694f12164471c84dee472eeb14bc97b0e1bf1131c83343b37b59d2ff388f6cefb5e2e2aac3a06e709a19e604ad738e265f2fc4a13b8c0773636f5c59b68798b28add079711fbf076a452629cb595b7a8062698878eb53910a013833179bea752b9bc91dcca1db747d7d46cdcf2b66dee0816f06f7f92a49d0e459c8dd09feb841ba60fb7d53d563b7bffb11e69d2a754f0286a247bb92df1f927e94d86f626789c0318e924dbede741d82c4163ceb045ad8206e05e67e262d7e7480b2c4cd8a82f1496778e4bcc5f2a320f99b186780f3daf4a0a3e4b65182df7f4f4d295e704ac38f711f4a3f74561675449d90ee0489636a92cfe70a90bc0e323d45dbc329d3fdaaff51108badcd116b0aba85b6168739d83e7211f21708733074a496bb692002a9bfe6e2db8eae96477ffef9924ef3289285a4e1987137f6c396e54354c6fec75d9f9a0e57c6a33d3b382a0972c9bcc211410ccac2a2442b7809c981016ccb7d035d9c4c38a6a1855fd9783e8da03ac58c54b10986afdc1ebb4def4673f62707dd72f11583c94fd49d7104e87b7ffdd8f89f7906ec2a3f84282c5c0358aa7cc97689d8452a164986aea887070ba2dc8df0f940b22cf9f45816838cd864a67c7f9a6f77bcc4162af8b62e0d21d7d1d7c696921a6151d4fb734153c4d088ccc91c1ada33b2a05207cb480d053e0b03d3eb31881440b19455b59ac1a8fa06015371f32aee217856b0da4066c942db7657c6946596e522fd63889e262cef1609332af63e2543d2bbbea48653bd6c577c92edf3a77e4593a10d484fcc9e3408d52e99f35849d731e6ee974dde9acee8c8d7f3cfb69dd5eb3a30dc35352b3b416eb0faf1f2a4152c3f33a8b74beb4dfc8aaec11062e58b0c7ae1ada752a057b3b10e6011ef33e9bbda599e3dbf72a1570cc605f6bcdb4f0af2de7d654073265bf3331929c77f86ea08cfe6bcfae7137aef02c8b5b987e0ba2ed708637abe62900f05ec614a7487eeb8d843708b808ee222b1efd520c1aa29acda5fc206e62a44c2cdb033e99c27b01b4212db0cb743043d667ccbaeeeb7c5352d5400ac72661b23bee9aa585935e15e5af0dff1c88361662055757b3423e7f80ec9a01c80d240cc9ab31c64303b5b64440d8077df5bb1b39c8bc6612d2ae38e43895689887bff01b78ec5bc0b6bf878685da52f3e884fd38d700e97d26971c1554b222a9079a5025f810511da467183fe1f800036560bb04936bb97cec33e68d0b8e90230b264a236a6413ab9253568149b7a6e1d12b05671cc8c73ab31cc42da2f9f7cbdb4467f3e5432bf278f5b1da1c77028164b32c18b39be98817cd1ae28e0f29b97834fa2ce59e40bb923ca8cd5f75cb168024c419fa843f70886ebe6e85794940bfe95089a223a68a1c68149fd9c7c1508dfd1c6730db14f7b98cd73316b2e8654dc737596be7fabd524c2dd12eb30e6bffcfcc7f7f0417c14db39462b138829f8c33054b096c7f9fc74efb0521c00a0b6c8b685d4a0eef7f59e7d75f0deef5d4b2d9882c1e21848db4ae48c1c04b7b840aa7ff7d24c0b29ab112b30b378326694227e1f3e8b737f76e0653afac9081329e6ef2313f899622f8e63ce1215d2d35ea557e50b72c74fd80f6b0d6fa46a0c993561d74456920dbc38d5ad0971553953abc647752b472f3d9e810c020f1188e2491782d3ca550006d8221c06191ddf41c14583f8539ed77f0df8d443eaf6a72742b30a249e7afa7c17920a78a0e0ff017794d9c74224e0a4085c439f1ad189c3f7b9a4d18d6ca0670bb7a8b950e6dc5598dc39a34edf9315dba14ab5698fc4403cee1406f8149bb3ba617d6fd172a017b3a86cb53df5ba32d6577110bbae1facb06622615f08f9ea2b50e38eb769e7967d47cf3f99c69b598c755dcfe5b0313168b253565350049b24889be68eb1ed5d1504c21cf7e5153285deb13fd3392c49f46bfcdb261522a6de147229b4d4676a302620684d801ff52375e88fb90ace1f10caedd491e30b89809abf38fc0764c1dfc4e3888553ad8a84d346a20e692b6bc3298f61c35d18d210d9d94dfae953707abcfacfb9d94411f7f723398e95061ac757d1f0e5c8b73902729c5062d067feeef5a5182f0394864b6e5577f528243ce9bbc5426be2ba049f6c43972dfee1914bc970a1f4a84041dc023fe6241f9b51f252db7547eea90764d2e0e4e9ff36b2be326f95933515bf470701a216fe161ba8a8b047c9d44349c5099b4a7164490672eb043bc3d7e0af80cdc48d993b77f37c6d0e1843c235f801b1994614e95a7af7becfcdb7772f444fc1115703c780562e4469098592dd251b14a0a9cd2dcb6d4c45f32c777d5c996f0b5544c126981bca22089270750fee9c4d6d4794c420a00614ad59315c6127aa3f13f62f62485b292922efc386e3cca87978ec93b340751def8d7df560fbdcb9d3ac1cb4668c2ce97bc38a710d428b92f743c2d861f6795469c88123c010b5c22aac03db11b3ac8814eee2a0a160272de486f7df1f6ce9fe18ad3b8a1745503773d2caaf6e78fc0ae428666f49ef06b938309751257cf6b2a670770c30a231b37f9299df317051728b0130c5f85dd2f87a174d7cb2f5fd5e00b26e2266280a74f045578496ce819098a885cae5b078ba0c3e3be6829f90f21bf15f697190071eaa6fce2f1006accf370bc64e896c8f781281d9e8d0509ae8ec5e206dd2c5992012b7e1b7f8ad284495cdb46b50611b25a25e290905aa1692b193b4e5d414c9d0141a849b4dcb995b127de1b495ed255eb4faa7abbacfc1b0e4fa1d4e54bdadc3783b3176dc2be639c1a6e1ba01d3f5c2acdbb1cf8bd5092f66b26871ab8b572a9a32711dad8f62ec7a1cc433070749dc39b35adb8b8e80bf61275deb040c4dedd55e69abd920940f4d44bc8ca9855adac0d2a1ba8844be164fc742c3e9119b3010de0fbbeb67405134275be45d17e1a2b60d13d2c913e4275a9be958dfebe50d4c70f5033ef8af3a9145f09b132258ef2852254ec1da92fb545e7e00cbef8767736adab32f5de3395ed2d24962a960a2c9c333e21af17f9ae3235b9e5abbf94c8bb06b7f2d1046552f98b136bd83b6edb301c375d3c7fb30035fb74849252618b83003f2278f6e0a67f8783da916b6b5eb4b6150670152240dbdf186c27fddf62b78d1d2906bb2bcd4047a9d668e0d21c48e8822e105e84ec3aeb5c54a1eef9c9eca064ed9f32237be4a3cf5023ee99c30d82b1643c02e1a02ae325ce9e55aea3d01e5354057f4444c2eb4bd46f5f66438c8b29c38e3db5a99603cac31c22011f799118876395cae4e52cd252fe64a398d21d27cafd3aafe062b826be7eea5f5b31a8e68084fa64b02e18d3cf18c5159cf679ca87faa37da69fb085403c8a00946b816e678d1f0556d7a50c40f81b49ebdae3c09b7fa32a9d1ddd12fc460137c76894a20d27c19a79f40ad79a339f1ce57e5100508287b48809748e404983f9b36e0cfe9af8a795de6082444818c5c3a0e33d1af901be8be7ad987d55cdc01b4c8c7ff2524312dc0d66f502eee68911403018723f797d6881e3977ad24b1492ff7bf84519b208448aa12ef7c425de0e6f23dd697b4b2fa37ff61bd95c8aa2392800882b0b60bf3e4722f990fe7800d8ba8c0ca3fa652e300059e878556b8e31fa0145175ee6e66d9cd7992f9786fb0359cb596e1440c5423580b62954e06833928aaa2f87248709ff07457398f707811612a3616b37995ffeb738b2ba0d2db43c6176b22465579c8f77ded4d35be97ade3824288d4f7b7896a6009e2b0d0d35f3dfe323b95a6bbc178a1641dcfb2d5fefb31d1e7e54b6ca5c82b726fb45d909db71ecd9f3f0da5647c785a8ddf05f204e6c91a83541afb13eb2cc064f80d21742a5f25c5478ce7980f0ef12d19e572091c06f40c20087ff7078ddb04a2d3f3550be3363719fffb1bd2c62f0cbf6f737565e76c526846c457a4cbd9deb4b204ec23ebc5129ac36afb5b287e57aa2af4ac79f16409bfc59928c311dee242abd74b587b138b3e0d9baf238831c8ca010326a80b19b613716df1ea84c8a8bd058413c86c06be74512a9a07ecaacfd59c29ec9074103b37ca82b98478cbbeff5454adbeb7530d52bfcabefaf722cb22f2356ad5d437fe56cc8fb8519abe757b11ebc33c9dbd3a558bdb9affe930b188e74590706f6d81ee2ca562ca4729cabc5b6963be33dbefa01f6f10a77ab55d1a24a531457dc0385c4fa1f3f90287cde10bbb8c130f30b542a1ab59488c3ecd98109f26847ceb24985b5b2117d7a46834145b41405cd464a908ce40ec144753b36d67b1c15282b2d4a4966078ab2dd6c644a4a85e8f70a7712aafa54b2f350b707d6b76a33d94524b504686cae3b86d157f7e07065f23f69170c2be461097afd72c3134097316c352a946c5ed47e68c158de2c4c4b5f00a0e38ca5a36f100563d286fb09987a3a78d0a905e3ecd5474e1f7540a7609397f9f174bec2b71537117b656276a3826a93b1b7996b14a7d12c11c02321dc5881b5db5d8560d3619d01cd90fdaa882cccd85e1dfefe200de0578f7e2f5ccccb8cda9add4629c399a72ba6bf52f6b1a24f5d34b8f487fca8fa68f262ee0dd13d7c0c1f266a48ee25fb87a99add5223acb7cc48583779c589755f031a3dcdf9685eb88879b710c3155fa852c5cfb1b95c6d2dba109816e9c43af646349f4207f9c65820b108aea6f13a4b8411ccfd1b40c1bbd0553cf92a3c887f9aa8ad23d84fca287ebf766509c2306e2067f4d1cfbac7afebe420f15723eb9708bb6542b3b9c9e7994a86ee9b367b30dcb8c0e971110bc73ee1c06801d1059336646e626ce84d66f1f8f6774b2b971feeaca313688c104ae22bdbb2dc74e2240d0587247f72eddeaaee09485547d85be39a0620db92a661a252191c7460ec6faec655c5ceb9985f0faff45ea0162c6ebf0b0ac2dcfe7399bb647ca81ae62607060ef7bf8e7a3b37f1717c04d64c42baf44d2e62bb992b3849ee3441adfbb172992a9a633daa473c6f25235604833d2ab0cf46ebcfeff4cac8435e631838a77ff16c67fcbb039df173979ec34cc05e37e8b880f9e6e60f8d1e153a4fb059b748efaf78e715b17916ffd4d9d5edd8bce214c8f6f6d8646d091ccdccbfcd2f8d7667eab5fae56009365bf1b89be34cdb0c2f559f005dcc717bd52103fd2914397eaf648cedb9f22f47034ea07c94127d7ba69b26176c88af82ce022af7a71153f9fc83e7c8a35afb54b78e6b5690485b13d2915965e9aab0469ac41cbb760d270c04d2a63020b4e563c7b437760de3252a221b52b098a7d1fc4936f2a5105741d9d30e98dce52b2ae67539b39bccf83180733c5f9283367c990224ffef7de7526f132d23061337e8e04534aa7e52877a7c4ff32589a404b51f450e6c9b9474cfaca613ec34667ec9ebc65d43ec63578371bd8360709183f6596be8ef897e4786f850761f066d87b52b91dbd0459a135fee7ea73cec993238b64c0323bb7e1c9c6b411ee2abf9da31318a549a4813025c1f04ace5b2d6a9dbdd729e390ce9fffb71f218bcfa6130cee37bc60069e53e688e099acc2001e50ea59e315c10f1bc5be2cfa3aa4c9255a937cc84cf1f81170ee3963dbb8955d384a7fc25c31ce8a421b992555c63567794a33c6087bf7029e3ab7343dc7c69c12bef2fc66ed4d82baa1566775397f9fd0f059497a0b30a1d230b2bad30cbf7f17d5bac990bd744e90a41f6f78f9584a110f293cb262ed21068066936c94f66b92957695ee0b13b8e51a8874e46efeaa6bf70b26e9e742bd97c44491bf4349e11cabdef11e05e123c246f18f65fdab1a93876454b1e64f6ac3607377a14bc3f316579b65378fa2a015ace3e8e0fe61662823513b7fcbeb13d8197769322b4590710e27e00a60f4d96466a03096aa7a2c3079a9a922683c3ffdcad1a7e484af310cc3373ff30028b5c2debca856b29696bac9e7705430aacf5cfa654596da2fe9a1729918bbb8ec093141d69e7e84840eeba08f361e178ef2250fc74894029a2b2b2fe4481e436f1218784bf46fba1d4fabb5d1f820fa0465f726789926422ed697133f2fa77a2fda0c4112135d55d35b5eab2daf57886162f058dbba223129b68657c41d99b2383346d3c12cd08317b8ba74d2f59e7f8e16faff3a1582f90bfedef07e6218fdb9fc642558ef6a7c3981afbe0baa3d5d2bb87f7a524bb55a7fa0dfb63249c45d868679da0d9cb8f621b06694ac95f74a52ac5a6bcd3391fb5e1ad3a204ece1345286ffbe02fc846675ccc0a1d466e2d183f00f68e0a1fb935258b6fc17b4522aae8dcea6dc537303a849eee46c45135ec059ebe9631e35c06884cea54b135c6ce36dbb48547fb19fa4451e84d15a75690dd36aa9e15307cc90796f7420fd2818401c85fabb30aa0ca69a03320f7107979eb4c7cc7b3a98407911cf3cd8838e48c90ff7a9b36b985af022650ff7401be5cacba826def9f16e9e83b29d863cf1e48d62287b42bedf809441ac3185dc3c2cd249832a74c13b17a876688c6cb076a9d33d7f6d9059df8f69edc2c592f876d912e986db080b23749629ec9fdea0911e2ea12f46b5e996f1a260f97a6b70bc6a6fa00e2d04ea903270c504fdcc32b5287e6b412d48f11251f51c8d91cdaa18701d825576714e795153dc82b659845b943dca79465fb452aed66041b285d686ff67a844b7420f256761461a1b9c9bff0fa9cf0a378a89b00b7eda87ac6a8c6a9ab61ebd42d87ca1ecafeed0da5e4408defcb1b8fe27d6d25637f69ef075e895700438fc8181ee00bda17f7b6caade76e90f669d1e115fcabdf00b6cd1ac6d235a148de9575e25518f99567f29d3477b359d82539611df4828105553586deb4972d328c108c88285edd808e8462b0c8a7355a7104812833879a9c23d000649026d360bb6dfc32dd9b2458a0968f7b4ef9c242158c5f49143c2a7a150d51f518285cf12ad76f3816f0dc3c1cde8c8387ed6f045fd0d3fe93a73a479b78cee8387e77ddb1b0da37a4913edfd7a5b6eafbd611bdb02cd4fabf68209eccdb2c8c0aef251540cb5030a605974da4bcfcc5d26fec5d5297fb62b668bc141144132580ae29445eeb1cc0a5f455cff5153d9441c8f4da83629f3ede3adbd0d9c29f57b6048461816e4f8ac09d0f679a65cc8298d48e98133eb9871810347f0b3a53650ceef59a163592afb3c1ffecbf7ffe44f89a3b865586700e2726b032ddd4e55801f48e83a30dc1f46781f4b31a9944fd6aea22ffd2f87b6360da3850a14b9ece2c18b8b044924b4c63d5c64e088921d5db5170a640d0c18a706d234be79bf75878108b969171360c726b5a3379f85ff9637d69f12fc8085025e40b4e3c02a2920722e36485060f431354181579bbf8b9e92f276834192f94c604c69a3688dbf12c2bad92a7909e30059ef05dca840e9e02919c6f2fe9271d40ccdded2979902e1baa457897036d15e964f029e9517f2d4647faa10371ceb92031547310bd96fb86c946bddacf4e766ba4d76a8bd8e8977e4dd8110be986ecde09d78b002d7ada2b0b1d374bd09186d49a2bd0e874d4108bc07eb8792593c987b5ca30eaa087df44f6b5b94a1f1ec01a95a7c7d1da0e62089f03860c9f5d898345f1415e0ebecc5bcfdd198540441cb61f79222de90ac788f19d09916690877cc22e8dfaa8266bf6fd86f0d3d32d602826556396b62b513f89af3b64ae5178bf5dd5a7eac46e89f6f451f77dc951ecb8092fe2a9abcc491ce1304296337f86daefc9d9f649b4e35e49062dcaa25803f15447a5f9b50796c50ebda82a174b9b67a2061df56b3564aac2256b0c9bc678db6d3dc63b8d89311690307b03711d1a56ce2085437a997adf1852921b2186583d5656606e239c5a3a03a3fbe1951eab2feb1a6ea78eb4f39238607a5706c48517d524c522bfa0ca020c8e8a8cd68d5026e12fc91d00b8ee5f7d8dffb108f706b2bcc99082b3affd1cf1429664c612aa2f08597e0b7a183e8f64455212004493f7b7a3546bc24810b81747954cc1b75fbc178674871f8d9fe92e32e4ad733e6c99e515a85de689f428592c39ad6ad5742b44b2b8de55603071f86510a67c73bf88d9b35b251f6d8bb885f89f633a1ef73ce8715a4abd1e5d31f4581dd565ce83463305888cfcc0378a1579a43186c2a90bf8f64570837eb58e15bd4e2b1a815bef819579209710aeb8e4214036916b4d6d9bd20097fd05bc75d3226a3c02ec23721f2fcec9ff514ba98b77444f722dee4679c44c68bed3c8f963fc7fadf5c2e59437994816af9f840d07e0ef6454f0e9358310426aa7afb47fbb013f819bc787677eb76d9b1e73acefeeb086aaa01a1b3e6315779190d758adb7669d60e6c9f0c2b000018ec75bc504b32920f14e1173e80a1c0cd37fc0d382afcf41dfc427d872a0447e6353b2892eba864d471fe4b4b6fe490d6e1ebcd4e4de0e82723afaf8a29b6834480a954a9422c6e2136e5d13875f336ae586265fb242bcf102e011bbe41b1ad738f72496cd4da910ff9c08149e2371149c0bfb69bf8677354cc19b96e97574580a4bf5b6783681808b6302533ec324d2b1c83c5bd393eb110aef4ba6ee8fc4444e1011d27ddbe93d855c3d45a8bb9401f572d835b982b24f0e25c42c5dbf4c7942a6a33b29d374d5256046c2c36224496ae73333bc4469ba088650ef7c88398d3cc66386c71ece8512a4fef609351ea0d298b8ed3baed3acdaa0c6dbe92e9424b3136fd65f81d08aeb29ec0998c61a77e845b93c4de2e13894fb1ebaa953e778a615d6a065ef48cfac307a86afbe5fa70fff6950552b4eb71b1f1bedfa014098b68404153a8b528f77873c79de2736472ab33acac49f06686c14bae2ed413391370a4450f75d57204736f43718bcedf451ba89c52446a0e1dc097aa1fbe37f6cf61a83ea3635563c043d3e85012024880c62807e38f8fd3bd0a73564a0550db763f796f572fb3af4cd267cbe6266ccf330ddd8fa8fabb3eca5712cf3fc23203f6791fc35847d45e5975d3c68a0a467669e1d5251ec12afa34431cb18409cddc835bd30b459468e2241a7c5ea42154533aef33790c69d9634cc08b5eda64adf81ef904a796ef20c2eacef608eb6a75b5b772d43c03b96cad9561797e57d1fdb7cb31ed341b33428f56c4a242c9f19e2667318ce97362f798b9a2d0fe2c0e300dc4effbaaa2227b358569695c84c927ab72e625d12444836eb9cae904fc0b1db627cc42167c50073917ffc83e296842afc72095722fb327c6811e888566668956a0bc9e258bbe74e52b5f0d7c8cf285b5ef5cf918b093c93ebfbe20204dcaa87635b55e6f6f845ac43525057cbd66ffabea93ef4966bf6fe225a862f19096fce9d9c6be22c28e81423bfb0c2e41e7084e4f37f41a582b62d1efb15b6fec662e159b2e80649f2d4f034c26b5ad9811909d7936f2b369a6f2706e5adc4ec29717c89b5c4a2ab61cbde1e18369f479992650f8f57e17e054bd993055ce957b74a4fc729c5b809e956d5bd890e116f4de8b8a3b6134d5741a94b19625ee0d3f44e7e7674b3b115241592b9a9c0d1056b3ea15ffa2a9b1987ebf273d888c03dfebd0af1c29121126835e04b3c9ef4f6d8e2628764a2198290d223dd323878ff4d017abfab6ee49f1453e85fd2f1e24f33e266c65fc1df6934e8747046900cf756bc224ed9a92c7704878646b5926fe631e2f6aef7b15f6f0fe853a5a77cbfee2b4c65545417dbf07694d8392321d0cb70194ea66a0c1039efc624d70cfa3d5fa9c11a651c8ea5e3ea02a0cceb77b2270ef96de80bfd48a5cf5b0b6bdc1da81ec56ce8b02e49e6f7bdda77de03d76a9085ab8ad4a735ba732f5c9448c860ed9897f49195f4af32af2c2c3451437db6180429a7881f376d40fe66e73870534adfecc48cb4535fde65d5f32d9ca756e69ecada7413b048b29e8427cd67ed3a52169ffbc23f66dc2798c8b4080aecf9c6f6fafaa5398a592595795127cd80b98fa3f83a20f3a9063cc2be4cc3c45896120e540868edcdc8a2fa99178fd0aa941f0d1c0746339e7c27bcf827f9de064f82215885992e2e364f5cc5ed4f220667190bc3a27df5cb256ef43d15c771bf85fd74969849e201a616eed124b80068320d355c9d2b2f8d0822604cf9e9e91627aaa3d1aef0cea61623baab1b81e6b658cb8c6529ee13102f267ab2f762e2275d15c3b609155de118422342575371be538fe8d6ec7f23f3ec4e3a607d280a40d720fb908553f5fc473a51595b27fa3aff02790805f58929419200f41eb5985fa033799f6f422f49123fcbfc2ef424ed4958d24f46edc7c0b20ffdd1a59e55eb8168b6b6035f5883a5319d053b4d031cbc00ea1e81ef3cb182b9c92fe8ffaa8d7dd74ca7aadb1456fe0eb7c24fc438367cc9454fd6ce2bec321d8d41bbe6475fc44b168a9ca060931174f88ec84f048d574298ae15c8590ab664de5dff5b97626bf40ecd1a8c080d2fbe3d7096459f9de0c2d0f235c557646e5c84355f63b3b1329e99d904a51abb7d79742137d6abba74fc5fba233945fd15192476f9f106d611a004374045cf8c42431876a359dc094a9901adc7ce326e1a2bb3345ff3b27ab95c4555aad31ae3bd94a6ec8c48914a3a962241fe0f2a5fc01295da220cbc7fdccb4ec71f56a7dc7e09821d2a22662b3c97911c07cce424aa9213b3e876824c6fa0ef832ddb80de271943b18b558f310aac53ada5132d933ff99258871102dec1fff36a1ccdee2407c51e026eec15362b4736f93d8e4ea48ea0d96933c2818de91d5f8041da8789d9d0ba1267879692e8205c3425b99f7293aad958f41885429066dcac2287eacf4fddbcf2e22b61300abc88ca37175d80334a831c322c2b8d8b27275712110163a007c4defce9d9ff034ecb0b248cc7f45d51b189edda921fe7d936bc61a2397305be9c7538c2b67fffdde3ec1a6e2365c54f4ef0aa3647dd00d9a47cb681fd8c1ac4d8d9e7b28f514ba8420318a0126b14e59a83b22aa6191d51f0204679bf0a09f624e8bf2954303fa18fdd8a7c23904f1e03ef2dd42645af128258f892aecde88ea9d13e9b234ce8fce4a4eba0417ec63555744ec5d300743a0fdd38cae00f38ee692e5dea067dc2d3f191ac663d7a0fe5b3c831eea9c9fad1c7927468997f4cf400dabb88941a1a9d78d3023e9d46527adaf15fae56125b640bf6794a530947edf54848587dc41b02d6825f5dd31f6e4d50d56b548f2929c91f0a87f2050c40ea6f5e6e09c21727df58b7d8fdabc328a26e77b2575b4fcdfda7b806b352cadfca5ced4a6c9894b297bb3dc8f7818ba07717e053176274eda866ec8533dc2c853ef0bee01daebd67eeba1a8ce85b79086e7f97aeb7f5fbee6cec64c2f442d8f93188f5e44983eccb6209da8ba5741b6d616f565f944594c82c40d7322acf81e60abb425261103b90d7b034970e8653f9b30770bd01cebb875091ef37ddacc5050588d8ad530b24decbdede6094a9b2f92d5b7904bca2a1633c4133163c302d59045fd9d1d1bbe3faaa6d165cdeeb9a2f2823131719e850238e8dd851a40f7c9cf4d9392db272a34f191d530f7684813e6c23948303217f115b6c23c8f55d47bafc8919f10a3860ea428acbe6fd7115f45eb0b6deecbda42e1b285b3dc8e32099e532b135c132ac48a2e2bb71256772a73dddfe640175d005f7f6a8a95aba81d6c57aac59e88ba05687312cc0e7a5bb632fb099d2d87b6c3ed1b1c2bb133250558d74744f367e3834ca4f2af9a26fb57ab4c8f7280a40ef4974ce11ac06fc5458b30226115e341b6227b536e7490cb580315fb81231178887f9d680d4631842a6d466bafd56867f36a4e6143eea5bcd0d7bbbde970832628ecf53e9ba0f59e2d21047a87eb130d8bdaf85e372e52dee8cc83244fb8f03a6f47720096be09b9aefc67a1865d864377b75a38de319f5ed6c066abfa59a875d50267b5f22879589694d99b3b0cb4a413f94822d4c68facb3eb0dd6774a45e1c654d13ad42de5053e45f739f6622863ead5d9e45cf68aedf9c47ffa9c68e87301832a31886c058bb5977f066348c2da4046490b4a904e550ed344784aafb1e5bf794e74326137900c48f51619acc32aeab4a53f13268ac6e20f7247330821833af7a7463b169808d250af12af848a9e26f4ccdc07aa225f310ade94cafb2fab27c95411674378fa4ebaf83bd24dcf09d03772823b49c8463da2f22dfd5d7f9e83b8affa0cfaa34a1555c31aa69b1ece07d600067774a24b2b86acecd0aa85bd386583332f37f4f816de216d1258e5b6ed63c0627b09a8e3129603b033d46ab7a7dc17af44590fc306759caab8fe53d8fec63624240bbbff9d339e700abe8747d23355646ec357740e10c12d006a2a94c394eb10afb3e9a51982e42d10c9f3c36e767504d450b078963072df9dfa1fc030b52c717bd95fca7f7e0621b8b4d67a2563488864db423319d0febba17bcdb83bee2f042a9a3a3782144316887bbec6c9e0f61ea6c1a96fd894b4d1f82d139c051099c81fe13ee03027a1c202c6147b3be3abc8e54abb5e3cb78782227fea97c4b042b616a25ed6fe09334a7d4e4ef6abdecddea83c9fafbb2f2f06815b85be967d888816b1c1d859ba02478cbea1a684e1f2180debef0c33d27f828f48f1dc8d799bb339bc2ec4204a7424c07510d17246f3046ea15e857c55e7dc7647b2b8039fe63a6bf20273d5cef4088bfbe75e6a9f76e1c0de785d55af12267251f98c2a8e1ad2cdc83859999d576f98d1a10a4f8bb892d475fe7624ddb6b21303e868393b16f13f3670038da93fbfad83402e7f8b2691354ed30813fa8b83521df02efd11c6c163055f544b732e76162cb8b8eabde1384c969a3e7bf6c68c3c4cfae68ea55b7cba3b9cb4214d2d0694a540cf156b3433eb0f78620f11f0c8bff7388a2620812d063495ac2dd1634afdf2f4de1bbe2b6a8e7fbfcf42cc0e0a3e2836f7ee866605b52e31f4b64a682e859c2c2a7659a419f9bb1cb54a5da202d8f1c02238206817b44065c44b38375a2cc261036e26ea200706f5a2300a8f7f2b51226599d7e4e11b7f8c5444548427d9431fabd27942a853836804e676ffb278f32ca0e62dd10345d62c91c08092d8248fb5dec85ce3d5ecaaa180796047ee10e892affebe2b03325d2555baa93b000dbddf1c3adf3dbbaa429f5b0af00472a182a1287d4c43009cbca5edbc3921bc94d167c219c1bdfe489c22e21576f9d30efa32aa4262dd2d0dd6e5c4bd39e4cae03361e9add83be5a11e95b758fc632e677801e4bcab666a5bdb836c736497679b019a97e1f837d51196e7ceaed760840cece5ae14ea5396f486ab5be2c364fe9ce10226c7088dbc1d798c6a6d8b88854b155828071e4d196dcd103cf08387da4693fcf162687671793a7c5aec0bb9c667f809502b3e20d7488e6c7ab26416e49c7ae3ebf3f29aa4b15a2d4146f719e2432a4dd0bd1ff98cec7adc61852aa97c711d004d4e19a95023f424e39541dddd12ef0a7d6100f68a6c56c67269e15134d2cd0051bc15b6866e4d04cbb7aa697665a9e988bf7425b5a43bcf9caba09c7cbc39e37b9ea0ffab00d43b44d8f664f3b8bb76851525e0d3cdf4abf1230211031a19602880250e3adac73b4ea31a7bcc339a3e7d344b3f2d6582f4323e00ef95d43e32e7bd0f24df941869f792c73f5485f93a3aaf6870b40899c2576e5d18258ca629a9ec385089b65208fd635ffe65a40b8e9cccdd25fa0c33a3f35b1e26547ad90f03397fabb75e1e475ea8ec01afc1ec23e85b7654957f95d0930e1e7c2db43cc7a490a3c9a71f5729d51653aa78fabacf61862f686b67a9ce3d131a231005c00b12b3a1325bee3af853cfd6384e0ddbf9fbc3e46c05f5027be0deef31363877fdf4084248baffc5210b0d846f175dcadd17b4701437dd2df2ec3a043609aad82be9451cb68d0705d327f18180aff3afa48cd4f298c332aed6f7caf3e7ad77c764b662e8f48b85ded3337d73d9e903ee6eb87050cd2ddf42f63bc22a13a1332e5b9f2e1176b178187a3237ca8ecef3b5f552f851fd1652989516f80280728631d9697db2c788b97f6722760ad94631fe4959c417f026265952b23499e70a3cbe82f2f45d3f95d07131926f500b30f2f20b41c5ea394c27623cb33ea1ed1378a6c79c7bed0cfdb988bc38a240b9b815e851d0ef735b9740b388cb868082446883c256f3f95a324d90b71a4f1bf02abb96a61817ab43f93413198f1a719389d9920f8006671e1ba90fb3cde134f108b58fa2373bbc6979181db312b1036836d266a33ced7f677ca499be34bd340c6889d0d237b76f244111fe500e4cc3205c92e173fae99735bd84c8f164eb1337705e957ca1df36d52052616b30cb5124613974fb3bbc3c68ea48ad25f1931dc818db0c1e9f8b6a36e8f66796a9dc7bd9ec8ed8b2ad535c03e2412c3779369d1de5c266bc6f9bf34e36ea014314a7be43cf10537548beba95242dab36b26161b150a8b5f36613bbe3b38bea37c9df1f1104579fc6d903ff06277ac9edb7feb9729d04a1543369d42cd5e6ab99298edf2753afa9e2e0290f29d01d939850efce81fca0a5d938e8d2de38349c7ed04c956388c75fbff559323e7632aa16d36e3ee3ac7ce8d8c9251dd1dff6d1ec647b65b9d2211ee5eea60a78245e2fde57b97995cdce4fc1c29ee85a9ba9758b08b4daba4a0feb04cbbe2e885216277fc722a7e97200cdfd18cd53c7d7dbf1f57a45ff90b560acd8df775c8c27fb80fc696cea5066d75aa2659b3672256d6ad059881b93313f25eababd8678ac01809796886584badadbf31a101c48d44a77f5f0cc20c4b0544ac45e777fd667365efaf8a7f0cc5d24b8cc3b9be922d3f59fa23eff3c0703387ce63005349fd441672f8700cabd759c5331e04c1606e6b3da5992b99789aaeaf7b37587ae24e4022edd510c32906ab3a3e6d87635c852b5fbb9cca87102a5cbdb41bc6762d746ea891b75502e3929287b5fd52048658d4fabdb0950b5c729abfa0fcffb040676e7abb6144a1de76566b0c69f6dd9960db561ea439cb3efbbcf1642b9bdf7549d15d47a9a4205d93511998740287dbe11ed58c944b13afe7787c8884e8a43c2fcd613d27c83d88ba52b9294e142f94e252a66def374f9ea13960571ffdbd7519bcd0e8fd84c767c91b5ff090bb6e69216959a0700751133bec4a62298fb898ce0f05b38faf8c2d06c8bffbc9e4098c0ebeb381ab8a8449c763505eed48eeb7dc82e30b248608d7db51e83c3b3de198fa3e89cba433d8f4a3293ce17dd8276f0357c6b51542fc7e69b241265c16fe17d5894d2ecd20f20f3c0828a6ce854dd5245b21399a93663d28523381fd2fdef3ca8a038fd4a6b82b8775e7f9eb4f1bef943a5f7c4a791784c9addf27f5644103beb545f6276da49b55dc136b9e233f39105effd252fd2d138d760c238612cd5cf78af120995731eefd6ad38b3d30110ba1c5032edf7a571456e4e9bb87f7260ab56c09b83c142ed355fdd3e22753ede3658322ff9733bc07b839849c4f62ec9b65e2b1d622f9dd818c6dd65ca5fba6e5460bf2bc810aca235025e06be8aea6249cea42f0972614218807947ec109482c6de796a17ad988d8150acba3ad4eb5dfc1913ed495ad448724fc01ff14d994cfb90f7420dc8a96359570d9991bcbe1f7d4db5204127d0b29ff699c012c4c213baf170d77e13be8b1422ef5946360c1327dae9ff02ed15804f94035103bc6ce8fb86ad764ac0b2e82a4de3d044df0354f05c7d774c235d8bdb3672dbabbae6f1213245f2eac058432adea774b95e44940cf8964fd2aa0308fbd0b24bcbb14acefd9618d365120dee8926dc050d0fa06a58570b72b707358e9140768b92736073318f8b2651226540c94fcade3baa3b763d8f80e1fe65e0ea55ba168a0933ea75b44849613fea3cd7f527d273d1c478d30ed69d800e7bd364419ddb593707dd202efd389b787e3a2ed1faef1008a03c7348f82faa5fac404ddda0817776c33e81400be34b17706fb4da7aa21c5c5bcec2f8dafc749d3efd6deac121b288d4327beaebc240e99809c0581ca57472e3c105ec74cb74f8e953864df35d5b42b002ce9c3fe31d78207c5e9777f73a9d23ba0684f083d73287e6c9a0fabafe60a05ccb04f454c38ebed44f1cfb76912300d1335f570dcd1f47e78febea16aa6551855054db72e52b725a57c76d0a9b65aa8e06e7a635153e2f59a27fbd96d1962de56fc1af07ef08223a94ef275189d8d6fb283c5ffeea532e1b778fe1bc8d44ea8547b25101068f84f277000a1e391b9597e3db1aad6160a9cba812436b59275b20e7b1b0b6c790c951fded2a1bd0e5bf08ef46a05060f9663849cfaee0de419d505e38c90da29c444893b02e5e2844c1451e1de3a13fcdbbaa7e44adf62a4e4c0f8b22265e54137f25e1f5418422f7864a93c33011cfee45b141fbecd2b15445ede672c0f91e943c2a4d4ffce902ffffb2b006c7202d5aebd2e7d32bec1a7db3608954e0b466ac9a2a6effa3b256c5a54a367e1316f26d7db2ea6d80eaea9e380e2fe0398c50e36a84ffd4c2c49ac71b51cc51b6e4beb9b249853e0a0774f63679599f9a27b9e9fb8cc26ca14265f1126d1afc0f1f39d445a7b818aeecc3bcee27b305123fae5a71341103880eeb323b7a63dcfeb5feaada34e9b367dcd529e8d0f2ff5ab8ccd0d310b77b1d8f6145492e90a5eb0f1f6831e26b3d871b98e154f84f657655ee684d177267f94bb777a332c6b22f6910f3019e74a8aa9043c02468c9d97e10a8fc76820f3f5b96423a40f6c38db61770973521a9259c227a88c1ae7e95f095e21040fadeb00ebbfdb0b4e27793299eda77d2e227fbb0abfeddc83309296774bde114fed31f8d424b5988c47d8d1979f2c0e11aca3ad52f07d8da574db821a5a2b17bf64c5495991015335dbe3d399e5c055bf7d3decb962fab05992781e5722b766ad0d021519c19ae008621a4d97c98b8761f501e417d41f171f226e9cce09c1873d375c700bd5310128d6e6240628adb3af02c73e700f48116c0407fd91715b24bd6c3ac03e645d6f984e701b286c364e816bf01d85cd44fc7cd50a8dfd26b1353d6a8d4636e2cb71c57173df3f4196be148fa4361ec0d17d356d4e1616e19ca3a8891ea9e3c390a1f9b5eeac8aad55e3a1154625bc1dd00182d7c9a50b5af975a0fde4bbd8cc6825cd6e9d691ac8cbc5581971592f46746016a12d2bf605942c98c8b3bac1a0c1de4d7307c4cfed7274d455deb7ae5c06c3d8266959da8df592ec7fb52228a95fdbd237e9c8dff40b362b5f0a66541abbf34e8dcfa0865dedc755521f33db49498a25a3098eca3b189002950895d01a58beb1899c955cfcfae54f2ca5f39268d91a9deec02f8235e58d68aad0608674272cefb11f898a8c8aa5015a4857fb8884c0fb771014f82ea5c1bb8507522612030f3ef78519fc1c2598fee1b1893cb45f543d5e0fe13839d13afe36d2494fd9fe647d761f5b8bf8b40705c838f30386399b4304a5e9e0b57a124fa237aef720ca10061e81b38513b0c9d246be6e22d9a58cbe4d2e384336270f0f944cf96c0631ad2e4b08a3951cb59bc67f20e1fd122baf23107acb2f04dbd12e7fb4a081eacc32717c9d95c7be8c751348c149026784036dabc4fdf26834ebe82f128fa2fcae99b3559e24a635b0ba3d26c91af6519cd87224cbd4785c76c288035de3a6f0b8f8d1177b6602ac42f18ca388a7aef7dee28be64ad90b5d62b1dbad620e6dbda2443277d9474dd1420142cd3a9ce6380139715a966ab20254a0c3d97cd968dfde678508260d93cd54d853ff83327dbc6770fc8c70df60dc2aa027d4565e39a62b9a0ea7b6effbef1fd666b868180db50630b69d797d81a4cded4f66844fdd33ca2b87677a7d2a8d7d3964fb00c25ed8f3578c0d5e8702546235515fb96e2c2c8798e78a10cb42bc83fc1fb457b0cda793d3d66a8bc4da57fa9c55161f0d156198fa2647acf789b92bb6ae7be35b6f3a1c21324a72a7f9465d7be1f87e3c50b56fdad2a15701b808237bc83ba3221b86c56a160d5054a0260ecd037c192c519a48de7513ac26a58f76eaa48c55968df24fc31c851900becea0bff95420a4ee2fceb9a610b7c7b4363bb7313afb75ef2053fe63f168350cff65a04f22d021382a047951cf91d08dc42a993a8b5173448dcc35ca5f389dd924bb6dd884b7afc95b471c5a88961903e36bcb2f94c3f86ad17d42b61168bda14afedf4a56f7688ddc29eff393ceb42001b0d21461e12600035e7471d842410bba6636d1c2dd66449c3f8e57a6cbaadce44b3ef114c237e509e177474650447e85edb79a7fb78e8546a52356a4fcb23df34069a893aa934a467d8cb3fbfd5b345fc46851b575623693cc4b47845a9b1c6478680344bb977011d91c3b2332cfcf17c188ba9b8bd7056074165945f25504ae7ca4e6d73c141a1ee79fd97e03a3ce14c0646d317216f4befee36b8e99897c033764d620f917821637dc9e71441f82fe08b053703d84f38dde5c2a4c932af84c6000d7d2ebea80aaf7a8912cbbd1e401babd60f3d799bc25a873f8abf51cf84bdc8ec4d220b463bd9160dfe17cd3afbfa49e534d9086e2f2e9000237640b218dcbd07d9686c36d4d198a7d333aa54523820c05e032d4102e900e13750e917659b7d85799913b7c82deae3c5edc451bf60a32495245020d3e38839ed889638e0dcec68400992f215e2448ab048b1ff514b370625b404a22ce78ea29abaa441061acef9ddcb3e727e6c2b498c4f9bbda29aca693c0931e2461f0551395b8facf9c3d065899c8485393977a054ff5a6a890d5ab6fa8136ca1cb7e25a1f6de2ac21b9736460767cafa578fa5467bb5f6f817ce3043773d75ca92054ad43c0446c9bad6760311a4b86f0122fe22dfd4b7aa89472a2ed1accd9e7fd8d704eba9418643610f6d71cf408813134f1cf2bfed73612e713277d674c576517b10a5b22dff789fc943fbb19589565afabf23d278494cd4a678b81de4872b0fdc01fdf7dc6d6b0469f3d6029a4f2900672822537bd6fd027403df29fcc36b962befc5b15f115de7a2e0f7ffc9655cb502b7469396e4974cec51d5610490d7f140394713803e253cb0e34cd41de09152728fdc924017ba93184cac351ee25440ea56768d01c8c1982a57b233dbd3e24e272eae9832c87bf8717f19b5cd61dce08fb73ed4534e8a6b476c3f76eea5215289c782b3619701f8d6f6edfc8dd4e9a8bb2e73df01e9da9de9d207425770ef848c060787b4f54e39fa326d5b8ad67bf4126e5008ea89ecaf0da7552dd65dbcaa879313ce09eb022049a2ba91f946ebe358d9ff2d86ce75bbb22c08b7917941189a6465851a2fb38184dfae0510cdd87b9a980f163b0505f8a4304826122cffd57c22f4c90f9a16e39e01c5cd6e02bc17491ec4b3861a09a10384bded54ec4cb236105d189afd4be12f1c24a0f185a2f6ae9a75effcaf8c05c3db3b795696819312035db18367aa27703daa7ece0779a2e2e77aadd623d635b816327ee8d7bb9cb98e5675d6a56101e869ff337f3cc43f60472edcae47653977946ab4508758d539c1707ba1a935b2ca6c3411ea49dff26d964c1715efdf7a62e9633153a3ac2cea87014e011eed216f6a2e756ae79fae1c6d7a625fc3d48238aa3fb3dd2b36dc78336e418a4d057abe7004bab038809cfa27cd2cbf830194dad8b9f0055a812b85dd2a36651612e7b516c15a1afc44da94427d47e60d25cda65be9da750f066ca7c13cf61749d737c17d499aa1a817a364141a853ba57a053fbfdb1d47a37c389b95327fc8428c6ffdd9939846ceee242971ff7ab345e075f26b363d9bfbfc814d1b380e36f0850911d0294ed27f7435fad7e44fdcc08f9bf9add648775c1af41b57cb6943ee148455f385f39e8c626d17f3ace2d91b358b117531b05c7b38783fcd903604a4382c8913ef9c5e1779a2475248b09781a3b52e743bc066f5a6ff70ed7dfdba324e0ce1fc732cd580338a2535727cc6a2103af9fbe027601092e33c3f1a58ffe5fda29e42f79c2771e66c019afdd5454c8a57904cd33968a705dc328b8304fb4792ec569ab9bed6e738b7e51c0b73a83541c68b8c72fc946e1aa90be93ea1e2d92e6001ca236c971bfc84568fb7f0351a512d15fa4e174834249e20903954552d83d43c8b07b298be5d4f0ddfeafe201f6796d60f37ef549ce691fd06bf34ebbd8524c284a70d4085e179c610ec7a29adbdbfb72281145b813097d6f0bb8d997f8be84014866b1aaaa3160249b0665d0426d9a47bc6405bbd82c3041efcf2268066221e832a09ef9b0df0e62c16ac94bb91f2131adde5b868227adbf5841c87ea91a0966220da5faa68d7f397cd39d422e1c84843540268f5607968acc75f3908a69676a865dc6474258a926bf03da7ec0bcc5436b6fcb527ec5f06ce508fac7ae6e1c65d9e7fe892c158bf5cf8de312a7b34bbf8d25d5ee15c503017654e4bec18514bde7b87d8984c14c81fc9c2fb718fbfbe46ea2b8309b0765d0e870ed5d2a361ffcd934f5775dc09c9214ffaa2541a729c2bb85914204d74c15606cfeff8b014ebc416980c941e521128a913d250df280993de8ef2c48c45c304c60bece2ccdc19c19e8528983463f12590916b2615f73287d4eaa757112257da3a94f68c612bb63fe306999aabce837a416986dec0d7bd14b81d9526d32d384f1ccd755d5686eae650997df1a165c94116ee2747174188eb8c4efdf5d695debe11e336286233fe4af1b6308a80e6d4e58886269e877f18d5635763ed9fbaa119df02c98ea2d73202fe4dc3e63935e565dc308770a9623ef7a18c213d0076cdffc31f1a9f7b4151c78f58a3ca3228a6d16b4735766c2822fe8101c6a6de319d93684cd1010f90b67105f2092a28ae086e021b454d5168a53fe088b686372a1ed48d7722ab5283f959e07379cf048f1624dcda33e1a23386eb91592084aa8d11e1b59f5ad3017eaf6118d83a623f883575582709b5a099c8bc2152a03cf6450e30a0c7bbb61d4d9f1fe98035763a258c22e744771e49399c057c595cfe64606ca4acb7ddc0c92717603c6088785549553a79a78aab27057aaeed88bb9b2e28e24a3fd3edc305ac7342fda13ac0a617abca0ef1d0e2845f4c01774a1daeae695b60530cccbe59c84c2d119e51ba8e378dd1f14a21fb5a7e43ef204ad7b4f8e61396513a2c4afd3bfb24f5c33a4161fa8a374ced698e2e2cfccb10844596c86592c7f1e8087bc1ae09dd2735952bd8b255e465988812bb68246afa9e0a6aedc11f3d0314cdfd9385ae874427ddac007b11ab0d11af9a22385ae0c81e5232ad0a27e351b76b0f6067ef10aa01e0fea3e390a4d6a680d1ab9b03aeb9a58c6cbc1dabaf9c382fa4fd337070551d0bb8398ca9a2debed22abd150de7200258fe3f46ff65cba366b77046c1cb8883919cf132f9a9354735d7ce9d265411618707fff8f4a140d768e205c06decdf0ceb8c00628feb9f025033db7c2e30f2b837086a41d24490dcbde53d32fd4c27273ef5baa09c178dbab7b09139aef3381552e3d48cbe20557711a5163d7942d8ef717498e42a4e0a8681814d6c1f68c9307ef507637fe7b747b9571de71aa0f179077904f18dcf7988497acf9f600c2600cb25ad99a26d78320324b4c4663cfd71d3439f87790d8dba775818b1bf04b2c1bc2fdb1e7e43469a8beddcc54da218d98f15da40958fc9076a64504ecaf0e275dc366f125148801dc1fa219241ad70190d950effde752829551ce82156f049b657e9181ef194bc21c68289d21975506d754973a804a745254aaec6baaa2d426f4d6a62e6e980b2a1b262e9e0d4436aa3436ec968236dc084f762b7a60d587cfe548869970f8fb9c442ad0b8b32b2bcf7c5d726345ac01f6255c6e9cf52dd69060948caa8c41d41c782a85bd740d262d54ca65f0ae64c48c76c3176f3a81c602388c68f1eef74d0af147f75e8e5a898f958b43fc90c27b0e30ceadf2c39265de7ce267e6bfd34dd1ac417731f543e1445598a5a9db5b90e7116e700fd69c7db0b67b24a7cfd3a8492c895d82bf9ae6b96925b74a11262bd24df9994c34e1ab7a69e23c904445dde0d626f8f0eb1af1fbb058ea83468d965ddf01fa4714ff8ef0320400575d13a523a40e9bd7a7865a34baabf5177e577ee2ce3130110f9010ad428f5e5918aefd95a15c111287ad2066527e86efd596634d1c744fed923c1c2a672c1c61820bcee26b0c4973ff12444d8b3b8fdd245d54be1267bec5764a666e18d90f3aabe4c7ad179862712a5deca68bb41ac827828c9f5869664496980720671c9b6cb0e638f9a0deb8c1706132e46420f7855c484eb188a4ea165f2c6f441e01ffec6431379363a06a1973a6f4daea96dbec86cbd31305bfdde94d576ca3c9739e93d6877971335a3f8ca255d42fcf63537be343aee1d8d422262cfbedc290e8d53eb22525c83c46c43ae6a537ead3690d4745f8656d1a63b99b7dae69228d20be7ac9d1ee751dc8fc2eaf3d46903a4eb80e18743dc61f0a679a292b3965825ecde6c216aec0b44a11e28a85c4651561df992e9f0616f255e87696286e1b07f0f5d81e8cefae875d2b009994274a9f62b6662a5eac443030e2d5d97becbfac8da6dbea3d4dc5e334afadd036a526823fa2871070c581de159c5de3a10fdcba73d6ffccbd76a38e51e1cb9f40f7ad32c8333975606a89271adb90595f74c44ce4bc999651c49a56ae30d83f10c9891f0bcd5bcf0121b015afa2750fea916eacfd6744d1be26642ac549daa0b9b421d7a6b5729dd20242d5109fd63cd3119125ec8fc4e8f5eb2d8eca30fa44560018ca58471edc8b93415420037e489ba1f31a362b29827465b34191213a55d5c1cd9382fe0d4d0e30f4b44b63733d9f821ec1e9771532c61526c9526d64a5191b9f7c74f865e07e2e866714bfa1eac3b9d97faed25624099fe0f57f2fdef71cff2de7c5d2ea1928db6ab78042ed4c788cae5ede91c38d276bd537ad1e1d3e451ddd7905e02a74e7cdd50aba9e89c94ef3197c73d8a96041dc7279aa749d98aee3ee740a426e19eeeb813ed26cba906ea39a53a661aeeaf1a6041df96676356e88c090f53c9f66c683f9d73a9498464eb666d441f28e41ccd3469818ab9bc4a0798e380c85b2ddd6e4a5c59bf3cf0b62833c996b76883fa2745dd49549aba9aab5a0f974119d2391a8c437ca4d9af2d3f031b1755e901c702846cb0cec012e2b2a47e6f46a6787db04d50510e710ff44f064e4a0176a4b44f9cf0cd61d1ca35c9dcfd3f05bd7c5d0b2c57b478b54e69a09654af604b65ba7289045e6e287d7fa198286718f0823ded12d761b6e315ae616e5971f61ca737070672ebbd4cba6864296d94201f27c5f8fea25b4d1ebb9e406aa58d921d7142399c3662fac87355e0fd5a169879aa4abe397c61e79ce49c93dd6cd740e5f57016271548718072efb6f50aff89340b30def0e70dde21eeac99d1632161ae60b2df6fc6da886ff96d614495e19b2795b3ab5442b260886e60a1b1c7bd30d199c655ec2698fb94bae27e3425767821c19fd9abd748d42412c1a17b7ab5aa2d3c07ff92dce6d39aad45866a41509d0eabf5308b9c67e465aaeac61610f112d0a7cd9b208134afa3f968c7149093649c470c719df80a1cc38b103e6f0503fbc0163deebac6b0fbd7c137014b5a14339544498f4bcf0ccf67c11d3fd8ac55d10e1f60c2accba71faa619962ae0904fe53a94ea42e10b3cb953f93db36965024c8837e3cf9c423bd625389618a6559499ce0991c25be225eb782cabcf0c8038e49920158c860f9370d6d5089f165f9894acf01abd329de688435f4e6ebd80f4a6dac480b0782c6d5a00142914930271189ad507a0e7059965e3fbd8c90838aa06c701ab33869fdd9419c7ea7fb05c4a029a3dcd3038e9e9a0921600cba688fd6315ae73aad0d6c023ad3434d347252c0ea51b89bff43f6169506a0383163d238ca94988d977d4e08892355428166f9ae8bd824b9a212ee08d5eeb467e6649fc1eb488e8d3a03176fec63ba5aeca230b4ad885408c4fd703db0c39186f2d1fe6321febcc6132f05277fc8fac4d7b34eefc52bbbed9fe31699c86dcd4028dffa326ab0824bcd7b381b891dd45a70773859dccba008bb618ade120e397ddadfa7274f90591c6f0082179aba59825597e5e319481605a3f3e5395edd1e9e5bcfa44885210d3ed07844d9fbb309250759afc6bc6bc3b5f84ef7e2a6fc5168b418e470992e188d88b484d05139b0d35eb51e1cbcad1ea7cce635e188d633de31b3caab8fe7828d7dfcccee3127eed0daa7378bc6180e7b21fa7c4855aa68fd699e51c31207617c7b94734b5a5d80b210523070bffe8ba224cbcb56da26d98735e25e8a31b467cbe96671499d67f05c650bf7168184bbb37fd0e60591c80276938e6336390216b52540d6442ec66f1f8d21f12615d157981d788eafc69e4a14fbde3c5960c89ab6e7e603687be8f1963a1c29be952d98af03d410fe11b60cd3e6e9ecee0ca29d78d04b8f90574bac39d638a5e0a60d5a1a8873f501573ae7088797c92fcb4b721190d3b0cf4b3fa01b54bd2c0d9ab9452b22619bb48efb885226d055a5aa87927ef8e63af2f067193fe17622a9daa6222c78f09c8c972a2b52a20bf5d64ebfced850b05cb7fcf539b06c8f0650e0fc2df94371b4c9242198e9321a3a374d0ac6694c6707ef36c1983c6df227ab03eea1a0da05c258916c97062dbd1a0dd0769b9d7e3e98ce3ea24f628ce7d51ba1209543a17983e6299b1ff2f26fc04ba390a2bda909cd65c73e4d417ed7804b3e1901b12bdae5c48d99d33b153eb4b42cf43b5982d8360f3e96699d8b1605e2f7e39b7a47404473de8b7ee9beb791b72644cb6e9c641304a697a22d71313c07a1cdaedf6f9ec7c10742e384793563832f3e81a6344f504e9669d0ff5221ce760c483c247c4c60814a744d708b69e052176d65cccd5d94db30c289f4defe8b6b69749df1a93a426a39b527b96cf6623768544300aec2a8a182cab28b137a5d57559ced4fcf99aaa3cc1ba302bcad9ebcadc74f9bd483808b0a7d9ef5fcdca9aecf770d7e263c97c0550ad2fa42f46e5451f604632460ca6578edf49db76c77c1fd2282be71381118b8927d91f918b067aedf32a261e9990fa62481dc4bcbbba5163e5dcd431c6403721095a2707ad66f44b2033c0a85c2bd3a94cacaef652940622cf4cff020c2ca0bc81ea6643a3f72fc45a0b00ab1247fcef775c3a5da9c61b536b0c1c7dfe77b889788b85e3698614a3f7b609fd2e107adf7a84fd839c3b54da515efab42271980b15a3233c3906c132c2c06dad6579229989c7d3b1b45ae87af1ac1bf5a61696df13e267a8cf61b1b87298dd4a9e54578e7eac5e17780728fbeb78267661559c5a9c8f4fa961f9855980e6a59fb3270dcb91e1fe6fed414733f1c0e2f95d0bb81b4120047fe62f338838f59b9c8cb4b5eaf99b6eeee3fadf84c02debde1a2cf58afc1545ae904e4b1255b8cf608665d79487f2a8035a2c7eb12ba8f82e3c1ade7f1364add94f9e2dd9b226a97f0d2a4fab7891d25256753f5052c532c0cc835a29b4b40867164cb850062f664be3f1fcb4c9e183459d89f4e0a08e3da00b3ffe4f70e57a61a8f746098e754db8d6ddc12ed8311e8657c2632211c23d686a81a224dc4fd40d0a08850da355025cfb5e115c129a80986733d0ce52bfcbfcdd9d95f47cf903b9c161ae3aa84d61285de29c1e3d4fa2c923f6eaf410472221c5408776be774b41243e9aa59273dfdb55f89770d2b17ad4cef1d8414fc5d81e1e219e61a0a9633e842d2453d74fb01c3f95115d1b5ff5ab9e3f0dc0ddf467af81cce13549fb33be4c6e77e733ec93f72b1c8cea2b1c85ce6f42901a646904cf8ffb155d9464dbb33804b0e4da501523a134ee7b67ede3576cacf7aab5c3cd4757ed6549697cbdbf58f8d0c29922eb3d99332be75e721889d3523a56f76b0b532094489a2fa727fb05d6bf899e4639069bfe39d8f4c48339879c1c2f3093d620c9ac1e53c2739f1a3f8033cdb81ad97084aac8950d17e38b50950d13e9ce43f8394c2345cd7d1e06a3b85f4763112d0a1f0d9c3489295ca32621e37e53aaad037f4cf2c74246e6b318aa7d0142eae99a7d26576a91e85636ddeb08cd6e4f6110ea116f3e852824346add3479a25dcd718f1fc9d310339cc7a57d42a98ea30d9521b3eaee49b2cc01f445446256ac394eaf7757d51a02a48e243811d14688c775d1af3873382026dbc9263ca50956da8b99ac98ee86d7798d3748300ddae42d656262879bc6c64984c355f823365fe57cea2ffa13d9c89c1388d77684502f11933674e277d239388016488b6cc2a7d42346ae805f6353233502a8e8cba23e219a68d3eaf68b148c623ab7e723eeb5f70dae9e837016b5b8057f8c7620f68079eebc2e44c36b369c447bf304a9edf8604b5dca69a5fd4fa521df6d70c8632d984c203d09bcc45467e65d6a63a1b1ffaa89b23447204008b38a6b6d021a0365dd4f20124200ab65650d35b39cc7629835a9fd358ecb088390abd5717dc92f14a41a74f59aba235805f0e1a0ecefcc8cb3fda74f512809d22e5eda5a838af27f59e8ca7200882ebc44ee1c2b8575f8f39e6f29555cc3fc86a90e013e8c820993baa51a88a0907acf6427a1c7284bdeedcdf81cd94652d1ebfbc205c3c388dacd3ef13f1710df122e3551915dc35a14c3dbd3f9f750bc4a4f440d4d0a47639b2b7b487058e47dce491082730958ebb8f77a61708bc13b854e01a85ec9ed3b2d9504c1423bdb3ff97814765084168d0cff90374103f808b6b9f70b4b37b99caa8a0b3cd9a33a28202ae1f02f87c3a64c1f80266e4964fb22344510bdd6834fd66d86c6dc1a17aa59ec38b94a19f51889117108d1ae94381b98d6062c8bbc1383dedd90d9c03c1308014ae650396eba1d6e21202f76e9646f8407fd0be1ab524c72c648b4113d7e9dd33a612d1f0a9ac0b983049739e38175a291e5626372b145221b26ea34afdc7aab2e1e51525987f7e3fd80e2d908291b15c51d78b1cb0c5cc56addd94b0c1b6ad1735292535f9b045dacae5e30bbce12293aa676a33d9826c380b018253df98ba4983195449fe7288849afe5d7a8c656ec92d7dca86c9fa5553a517a0a2c08bfef2814e1716234b5690191ac6e50fd0a9ec518e8aceb947f6bcfda0f7aa3a263b2b80b364c1f4932020d99f153db9f6cc91644337481db93baa1d10f9614e4e01da9b44b7184f9c1b0b8c412361efb4c0e1753fe407790528b44d25825353d060e3caea7c2424af934f5d1a8b66f51658f98a09d7bed50047385c56f798f3880cdc2f9bfed0b974f81ac2c5f81bc6de8347f0469013cbfb74b83c933f31529c1bb4342214e1456b7f468eb08ebd3876dda51fce161ef9e00562c3aedc06326bc4ff19af3e4ff7c2c7316fd108ccb2140f6510eb87ad8bf4824b110c955715166634a705eb01a7feaf6599e765f3ad6e7f91321928312f2433b07eab6341fded6b5bd2ecc345636a08fe4c1e4429311a99ace8e825a604f351503d6ae2862010280a8e13c766ed6d01624b1b50044a8b06ce8a9b7f43d31905cea947c44fa617b5bf056ab61dcda8adb8f26cfdcd31114e50c6588d53256f503f1c88399e2cd0f9a42909abb33cf5985d0bc29e72f7c5e6d084df66aafffadda7ce43a3053e07e327dc0fc144861b83b2daf6e30cf8289bf1e118c1a4b7967792b931679b903a870c1e67b3fe1406e53afbbd69c6c87def4f88ea6a04caf743d5b5a56a9548ae3b1aec477f30d33e0a3738ac4227c938ddffbf904daf505b966238760b2fa1f8c303bee533a613d2b9bfb7568f8ffb1273cf91a4a1741ed8ccbc9ecae594e5b48323f14d02b4b786e2df5c42b3e0b5e122b38da9255590fe252139628cefcb089e48af552dc67440553c3ef11f7533f8ada1c15a6851846d67f13838fe2c8832248aed9adad06d131389369928469773d2a35dfa5b2803c01ceb7b6b4dbae754dac40de81636515ff2af66aea06586d91ca7a8e6bc8fc85fa9801f506917e33654f01c9af4d65f59c827a64cbf5790da792bb271b936b5b5a3c730a1264942b98f8cfd7e896a05cc715b9d0c9208d8f4fadce49be46dfe10f469a0ff3bef2dbddd818fc30445c222da6cb362e1889ff7bb03c180f04a0000cddb38bc62c60616b55decfb7a556e02a43ab00faee198d371b08c0445f76aa2b2a1ed3166f15783da38f61d5500961f764faf21d54c8823e9bae4363a17eb7ecaff434d9770214326406194d704c48fa78cc542dd9ed10e9f61a804bd5c3f4c5ca7a5ab89026850325affa8d6d9c6eeaae85aa107e5fb0fa7c059a52514bb2dc525bb8a0f5cb44766f8ab8c695a29bcf243716087b34adbdbd6670157dcfb55078398c2dd94ff71e36a06638ac0115a347c494ce1f03f970cfa600e41c86a9deea1c27285a6ebce8a0bc51cf8538234bfcb63e3e298cea7d1ebbdd12d462f2920aa7fcf258282389d82774b1d1e45ddf8aff59b54f1138ac34940afe32d0922145a4f14b914254b02dc72cd828df70ca94cd3a5e9c8bbfb8b468947d244114694033f0a50b1b17634356ba051d1abd0fcb7b6c21bb17dac05fb27bbb338f2bdd6f9d0b462d0bb9a859bc028ef9760f3dfacc10239c496245a551da9dc27f82b2cce7da2a1681bbcb420efbed5ffec74267fb79dc57c95083b2dccc78a18cf8a1e62dba3089d60e64453efeb7007b309ee5c04e063e38351ac382677e4a43ee1edd6c521693b0dc5e4a4aaa8abc12b75eebdc800b7b4e4cd3197f4657097896229d856567c2447a9b8216fc16c43f01782b1b069a9a7e9dc4d0c7f7c00363cd4b76b074c4df415c54e67d53f55499eb4a60508b561082e6f9c0ee6fa5d035bb2670853974e912710748b91a13128c81c15ebbead248ec21e1f49cd6a1f773d9489177d4d07ac20fe484f8802e395ff61a0a0ba4fbb922e700f54389fe246e95d97d50cd31c80c9c31ec4d51f1391655f3384d2d5c1ed28fa2cc78c3977d7566dd036c2abfa172f5bebf19b2957938eb1f046d0aabfb3d5824b85eab5c29ae269b20c3a5b4d0a1b0bf0c11c4038d7adeaf51566e8d7800589213659b062005554755ea9b0a967e3bed6dcd33abb3d28112679fe659a211830c5dcf97e9928655fa4c3d3abe7023b1f49849abe822c253ae06b9f4c5e3daff7f1e287e82ed4a7be1571f052dc8fcbd868b68be4f1ab8abefcc9ad8dab7c64fc91774fc49ceda8b01cdadb1c28028e3483275fae40a85dbb1ef4fb51c9494c4281e08c04c179360b9ce0c1b5a2e8293cd0fbf775347cac49203a49e92ed0e50973e9534d563bb22fca41c5db2f2349969d2fb3da4199f410ddf70437fecabdfcb44447424840360dcef06537eac7d43288802437de31bea127fc3071ebf51a4c7193831333bfba1dbe4bf94cb99b3039c372c9accb091319e538ae6901e0d949f5a66ab3e480abf8e685ad81e29d09b6d177008ad2f6cf4f161e379dca7e4a94cc96fa3d99cea68d750193fa5ccb0d3f966778b9e3ce4dfdacd2d4bed7840728af3478ef5da77877a72daa2901ca1ce28be50a5818b1a8bc03f3771f1b4a63f3af85c409148d8338c8a266692a593a35f7c0357c0ea8ff5c2c61ee1477129179a929df8004debde7bad25e12b1519cf2a9fbe6a70046247494de29c0419499529c2fd62dd0e56eaaaed1d2d25106de12747f740c204af470a947f7b2339afe91b69a06ef8280659b022f6215d27e330dd653741d7eeabd65e005670bb8f5e252e78de9ce0230ae318112a1a6140d071db3bfa91c9fa56c259c555437365707e2cee3b20e98e03756c1ed0b5efb27434f1fb2b063825193934e18ab58c2ef5a449b74388e049c368bc064d55383d15db686e2e689aacda4dd0bf065b90f33b61d9d8e7f05738d0b8d0200540d6842f46a28ded65430af98cbc608a05b8963a108413f72f2351e6b5c7cc67ae8c199083bda16165715a34b829d25bdea899dd63b777ebc7d4a606793206e5190418176c45e0face31d5616f959d5935c6fcf9fe0edd56f4d533e9461006ab16a0f537e9c15a0f128d48209b45ec71a750fef7468e985c732d97ecbea8801a10cc851ee2f0e72abd3a5d735602a5f4f501be2348292ab0776f1ff7c24dfc974989b39e78bc99c23bfc1812fa9745fd2ee6ee2bf37b772c9435473a724f22e715d736021f6017146b3a699a1aac759836dc04ff2a77c19e02edf4df72a3327619dc61c02fc957946f5a40c0c5bb8ae4cc202b4372b32e484f885c47a546426345839f912979ac3475ab306852b99532cbdff356d4d809c3519b4d44c68d1aff7a05db8eead7a02247da00c318e26920f41bf9619a1a842d5148fef0f2a8feadb8057141fbf6ddd70d4df20028200737f9d6a48eaea08d6a68ac2dcf4e1b31916752a4c8931ff866001b193079c6028060ae6f6c1a23659a7a68ee59b76dff85d412cc1083971ab0e3e701bee25fce205169f93ca759ede288c149c2dfabeb6f76d0355b8190cc120fcbc9cbbefa7aa83ad06386992a62f0f9a3fdddcfb690e983f0fe975445839404913429103957ef47e77ed817d895ac926ed59f6bde3de00834e767c39188cc071444183d37ac3e8fcab44dfe8ff43db0556e15c12d12891a128e7ead38e8b515f52ac8bef36dd76ac1ca20b56ba91a72bb5b86a35900b1e9d33d01065e0ea74139ee724acfab87fe0fc75e67746e7a4a0b9a3a89a94dc7671ff51b76db7202855fe05ff9f5ef7f30541ecbed0886574198decd629f8673bd85d85c8b48c146a5a692c73af332cf06a0535bc7684a18e7b20cdcf535ce55100836ea1596c7abe9da43faf9d0a5fc8bdd58e88baa3c6a64f4b940073036dc08f5134988b2cfadbf44d84332239d76f22c99fb322c6aa822af60bf12e381bd2cb8d229523f8f109310b583e4e3040d1bf5b73d41cb08284c8e0f514db59e9f53ebed8af04320c3f0627fede3559e697ccd3e5155cf61b19ac80ab7156d892146cf1fff469fc8f5e0b3c0a86bc919068ff86dce7db04f4f28f1e041efdd4cd08ad90e5d4fc00f6f0628f60e16e2e523c88de65062bfd829a66b5f454ad54d6e502bce77704f319e4e763caa31e40f0fc24f7308d29cbfd3892bdd554615b376b7ebae635396525ea65c79d0997a62646c96316cdfefc8f5c28b7f08e4f4f88430de2333d968fec7d41025fb931282cc3f1f57f8e83017a8fac27df15993b5e23e2e8e6204aa2a8291517c6776528a68fb726f3d0419c2d727e2efbd505f9d4bc062d6de6a2505e6aa7d81079c631c6d5c21532ae8c6271299c4ebdd1f456f6b055e675d27dd20de580038db01f5b523137cf0c4c87ce37881db6e1a7c58b9e81abe0139005b90518a45c31c7d21fb66cf329b1d3c12f222a174195f45c639716a7c3978465122b787db770d0c6ab3a8ae1848073724481022f4641ce509434ccf1bc82ef2af3e87af421766a68203a9c2da4d354e0304b6776c0f9063ea23404f91722c3c4886f0b02d1db01aad00db608670126e9bb56e6b23ce89ef30109d34f1e925604992f8c28480e77edd4bf07c1eb235f09ac4f45b894a06b7cf7f9173e2e8a8f2ba45f197d6a4e7c943d1fbf7a3fdb955212b89a38f09b0ad2916a66d53ca92ade5b09c988c18f5826bf840851b89697ec70f5a8285ebb18b985a31aed3d97848a14b1725c8fdd90372c3d1acb60d93c25e71d1863a3a0f2faebb7076d9b00b9b17ca1a98201a0c7d694d489f1c34aa0d9743b2b4781895c0b85b24c8a59741d16211aed6405904c91dd9bee241ec2f489dc3fb8d95943e32a04141ca29429b2956629fd4323eb833e7992bcf727ffca9ae0215bab280da9a26008758c2b5f79879db8bbcdeefe10cf2c03e86193b643fef44654e4bf9cfcc94ca20a31f66d179964c1706a78b453b5c080b70902a846d4562d7aa904cf9f2e7e0a0bc865f7e89731bf7f0683257b45da76d07981ec12d89c3c8f0e709ec79844f7dff0b63c9ac5809873b18997ee5c04ffa0b3f3e06cfe40969d2677f25c0f9bad80f96b01e17e9826ab5473436340de91f26bcd4c9e66abd0e9936bbd2f10d79e0196806e868ea0ac7959a693150067b850f5185cfafb06667565b9caa1121bca1541af166d13a7676ee9d25513ace1ff829829ffa5c25a41381b7b79f0cd6938a560f0e3aab8c120d3bc480d35c5b9e6b2dcfa5110e5ee882b0f6451080e8cd7c2d7eb74d17ff121be5cab58a54e253cdd557cbfbfbf06fbc2f77eb3d32fd2daf7d493d27ae855883453195b5d6ae2c6dbaed233366eaa57c9e44d0eae5fc535c9e71e4d63b311ef118254afd1985524337865060cb8ba286e7987c9db2ac8732c7362a15c1666ae443e03f289e33d466668d8d51843bb1b795c098ca5a8c66f91ca29a380151a6d69a14184fe767977f5419723c502451b27461f2e5854bd6b6788496981d2a7e86bd8516ab73dfd92d7fd861c17cbe59d7f2c78be0849328744c46230f479f3d418036d33b6b0ddbf304735f0c81185b54dddc976b5e50cc2a73b512803704b23d86d9d15c66bf1080e21003f04d3012ca4e1852accbc025e909a6d6b33dd6bb2c30dc0aed6c92dc9a52fa41d628258244887b75fe1d212739558053352b475defc693f1ef6f7f69c522d8f9a8ca46a21057f1571f2375cef86adabd5bfed8936412cc77a2dba1aaf6b4322aef74bfe5e617d43df3708e45724c05ef423ae22b9a892903a13b1e55e4d53afe2ffad1809d1fd3dacf41f86358242cf3bd037722fc7942c487e64a504eaf7664abf44a2346c78dabeb7d5ad8a7e05496d7eb5cca02632dac82a4a20cdce472999ebd2162c690e5e54dea50853ee5f5db93fd1afc5324ffaaa1a3f7591af760ca1d92d562bc89736cee5d047e3b4054acddf7de070640eccfaa3ef8e298425d4ea17bb19c936e2f230009723bee7cc0cf9421adcb96b8c85ead10bc4e0030cdaebf68c85dd81d8e643d59cf37808bb87418e31db043c9b48ff720c7bcb1c483e9d509ce26b5ab864b2a71d56491958873bb1a793bd9dc0ee226e382ae1e0dc7cfce6606ad99b69497ae913a38cf41f99d7d92bf128a8982a8553de4236b7a9fa17be39be910b1561adbdc8a03a429c98fe608f78ac3ba3911e2d64f67dfa1a0300ee51b4b44bb9a52faaaf8c53e911f60140da6725d208fca88a8325b712699bff1f74393a5539dfda5d1960b2030e842af6c6b2822d1b1a4bed53f495a8647adb02f11ca810d3900cf098d379e61e1f74efe69dffc0d347704f1bd76b0230d8a0fe857b3184212c082c78b641b78969811c9e55b5b2d2daf4af4fb0bef2d0fc74dd0604dfe2d4af63e959138951ccd97d5480d74683cfb537ddf2a9643766a3f5b126c98b340d7e49db9fc6b7be682e4d5705b7bbbc7467a4bf87786dce60b1cc8d56da45351fabcfc1875f7a82d8586bf81542345ea69c54fe255006a0c76040c8a8f08f36af80cc6cc1df48bd8fdb43f6c6097c2f75d5be017a53b55c1d0b571c162f7c50517681994745bc4cfb16aa4094d69879ad72e240778c0cb1b8cfeabd1a6f61062d61b91f324c84dde48ac0690341363516d5fb12779b3372e1ea44617ef0b97678f685e4247e20891f63ff084dcf4936a5d512736dfc5b2a17bc0925c8d93b769259cc029273ca82e28a9d78af9968d43170e685137fa2e86fd68db82e9becc7b4a8aa5b6aee337cb6c6372a092bcb4ecebc89fb43f13b05d0a6c0301b79dde0298de65672b428f8e95210ebb5f197e4b90a872103dd87b70e4f6e50906a8d6337681360401abfea5c008a51f52b8e26e57861d872257a20d21e9391738df3940525c28b8659aad61480c8e6baf7338bdc377110d731952af5278b601083c43753064f6b483274bd163fe2e900d6a29f509ef5fb7bccab6d8510c1d6b3801f2c30d5dc41f3c61f3823b0f0ec4ee308e35267a6b9a9f3c0a6170a24b019feea9fd8349de589526c3c10f5a162e10bbe671395f7f7315217b7523ab1bacc88e7d52e2b689f89fc8b2f804f0ab37d104d0385338ee12350fe4c01717e64ee2e4c382b1cc2ef26adbb2bdf34ee6b44c5bf071f0a2485c2833cdfc33f4c8d88bc23d763f74d9ffd05751ea39fdf1f41dd211e86373970077894912ee17b58ad4090154e64de0ca8a9863771a373de0a62f2670ddc88aff4da12c5738e324e5b419181685e8020be3df3dfed2d3a32265e991d548c565fe549c20db8bb29c431e2713e7494cb98b6d2a6ac62651bd01eb86bc6be8de601cc82b221c1ab03cf085a57266bd3e47c736554a019d8dbdaa3eb5dac82336505d5bee2187ea71a9bc93677f9b7224fd66e00e5772cfb16e7f07f36f96a48fb70a174e40d148c79ce4674d580aedfea6d2c56739c0b2214514ca9a16c627a001d9b2e03a3035b5683b4a07282b64a977895b6a07db92491e88409c0cd8cea15daed9e02a120b4601c5234a39bffef4075529b72b350eed6fb999d60ba86e5fd8c82e3d5945043342f6838e35c1647dd6422e29c8c775e945bf4081a4267552eb1c0aa6d066a4b349e58d82f3cea19082a0aeb6731c51a190e1a0ede8e2013eadd939d6a86a470acca83a0e24a974dccad2cf54ed2f7bd57e43888077b3211dafa8e06d4a950b0b2c15c857dbc5afeeea40c769a9d0f00d8bf47a0d553d59cec8cf088c04b4b6421541e30624e5893dbca6719b26e945eda14ebc62e7e17fdaf29efe0a51c5c8f0d9e461f09ad69a248085c17c28d63087b63c99e62d83a206dd6bf9ee3ba5b74405675ded0646c5315b2d8bbf96e6edcee96182c8a1d1e05f6bf6c94519caeffc4601dfaa3b56b787792c141b249082ff49ebd6afaf22c092f30d0b5934ab22a3b105e1be3dabbb16c938751f491194cb3d35acce173ff7e1f9944d4202f38ff7a81c80eca26f23215474c4836749592d4ea6cd72403c6d9792b7a0dd85578f0199d9a64365e9e83b8d5b7384b2153aeb06750e64b5b5105254545cb91e7aaa7d860054938114d43cabd662d61fb6775daabdc9bef9446e6322512cd4816defeb2c4ec580f07d9c319feb8193321d713c3dca62a7609c0394807fc434a175bb22207a004339ed367f57ee37c9a91b10854c24ebf58c9c399c842604ef3d650facab6aebb1d8c232ab8f7b9a622f56a02fc3134c5692a89f93ed4a56288522483493a2748e2e4cc4d5e6b01e8b4f015a68df5bbd8e2692152c3925a7150dca22d8db523b36250f3d322160f9f09532c510b9cd0948ce81c20acd8a447e05181bea5e483a0ce1c08dd504b0762c9c72938f54f1fd6d2497b801e0e2357305500e4b335342d2d6e8b9af8065d91f1ab9df49a77eccf3cc9ad869113e70e806b9f472249de539f80f52eae95f114d5c543382bee9d61551b7fcc8e3f3e47250282fdd0e39c9587756d10df0926816d4b955b6d6fcd42c67da98fcfe43dfee46875206bf823bbdab0fd6e69a9c31605f50d6b7a3f8c1720918f39bb6275cb006ee9cb73b1db9030598f8f138d858123a803ca4e69bf285bf8c2686417d3841608f7dc31971629d37f33977a295d676d4cc723ef0ce88d5c8976fcec0cd2ce8da3a9d1006d4671960cae5609a66967d9dc20acd2a8dae4c2f0d934aab055fc0a80a9cfbe4714e600a1d178b56398e071e4101923df24f68564885de8df5144c8deba08c938ebea0f2834aa5865fb51fefa7921fd5e704ec053c9ef93d5af4cbe82d8256ce6107d109bad3fcde5981430240444e9eee0a47802f7e2dcef03c8d362979c8fcdfd16e7c01ff599d4b8cacddf44d096eb6902db15d6665ce1c9443e6f7bfb07792e4971517819e41164152aa91053694aad4dfe8f3dd244ead79192b5de3367793f4e4e90a02b833e71b6ad02e984dde82b7191cbf31bba47115072e7963b2c9517643e472c7ce016b2d5443316e4a377480c62412017d4a0d212f6bcbffff0529ea36588650e62bd5f2789b3d9f361b8e8df8a38b90ba5ab4e9df000f453146ee543555e0cb507039fa080ebc3803f94ca386a25d43ed8ec42773c8242f7ce87ca95fc76a9e4e215cea6799297b7a77f6cc85c2b1eae10a37d8b0052c645a123af4b2550c5ef657f7f42d1492b29e49064f2eea433a14cae211388029b0144589d5844f5e2b6df9767f9a9c95b5fdb7c08c8d60f99ce6e1affbb060bba7dade33186fd0d6973f065a78ffedd8ee1f1e97f4cab68e7a3da0d83a2b7dfa1658f3b90deeb20adcefd9c598b03bb22348f55792ced61445a4977b1aa4c4aaac1b0059f8caeb753c2b76d682df8061a02eba4e4106ad35ac942f9b5efef5a9ebb5e9148b13c0849c476b7e1436c619710e8941d5f2bd2b0432174bd59762e69cbbadb447abe1ba191ad2fc883d645c808024dfd810c12436ad4a695b7ae8b662b02f756ab782c500c648b42a320a1e43db8d66f5822668c35a18d0734fcb402eb44225ddaafe8a1993daff0e107183f82144be925150548d0c31fae5c2657f975c3f38c5c1071c63c7638913cc227296794010d3745d15e1fe414cbe6d208fef71f8c18341fad26ad5aa6f1c0063cd5c7f8805eb158ca16eedfbf52c9c0270e18bf8eb623f21ab70a66c6dcee44bf46197898cba67e56afe0621cf1043437d0fe6402871fad43e198ce497ffc8f0e1126df9e14c7ad355cec1766dc27fb21b77df8c35faeaa0450f90223e606c99d7471ad9bed6ba6f58f7b8ad29bff1d0ba71325f35791fd270e3c9683d457b820b8d0018097b2a592f299e77bf2107becd34455b40cdcc979de1c180432a11fb2f5e308f486885bcdc01f7da5a2e3f3389e1f7f9653be358456fc88d3e2d455054e697beb433ee6d21a89c694a4a03e4552dc9eb8ee42099968198d6ac024d6eda67e67f4c62c244f5b7816e22ac3fc6642cc055b9d715504ca6bd4e43a52c7fd972f1c7d5b927a285268e481bbbd288e102830d7cd4509eb706e3035239c7613dd11500d2006150011d19bb1cca6a4213e8c1bee3580dd6237fb52a82690cabb2c92a46e521c713bbd022998e31f839ba1e49cff6051b46b6736b2f547e918c6c1b8e53aa51ac11dc299f0f39c18937e21537c92f7b989a1cdb1d2fae324428392e8de2fc4bc5988d1b9125140dc431183efa1ac9fc392b164e8e9952c8f19fefd955cda597a2b0c14aaa48cfdfd9147b95825fc7acca0e529b30916b352f7f24b5c929be27922f9e534b88dcff96076b899af4c80d126514b6908a153421823f13c97091bbab9ddb97d2ec44172244f1f556e3b15162adf19096e271bdb3d70cad94d0ca9701d22d2b1f7426e3280f1de6ed36277be141cd11617b5da92bbe26ffe58f0c1fb4c51a2b60bf311dd3e934c661bea302622dec8a77f501540ed5c3a7f06c5b25c07b9260e6b9bb2c17a0d4fda2dd4577cd1cc0e3ec3031d08777fcc8b05c517fc02f96570e816ce1167745c3c700a2e258fb5abcd8d86fedaa086ce135db7d1e3c0ff53300529119aea8d94f9865152f7f512ea4f556f78598cf975dbe00f65c60f478954594235a4b3ed66ab5ed355673eb2ecdb49b8995a2d8aa7840ebed9d420d8a16af9547b541312e94d43c0f43f3c99a9ff530479ed8bf45e9ca72ae1861abbc8339d4a720bb651ec305e14e2ecbb3a8220f86eb4b50458d0e3ed6ed0d8d7e3291ba7901f811af7fd1ec3fc35adcdc19ba1ade6d45d60483288e74766ec670212e2418ab02a8befed154427aeebc9c4c9bd63006b4b827d6141213d677dc6c135c59aa3201b4e084eeee904626dd4fd4c83bee5cd90c756992f406e0015c5bdfb99d9b24a0336b9be0f4a2d1112bd385eb50a76370a2ec9ddbf1eb78cb3f7f39c416f31faa4f64f82c54f65d0b8b2e4e12fbff51bbe2eac1171d993be72ade89bb5bc7cc62c8694b4e776ab1b49b23e347c3f551b8559d90de18026422fa6aada6fddc3c7bcca4e9c7384c9b7427809fc7d5b684a30a76afa094557cb4fab9fec8e28cc5ebe9b5e3feabda28c2a2ed3e2e57cba2c7dbd5dc3472a11b5972d4694d4d2ba02805d579f00805d0b05d78768b6c2f22ee3d0c40315bc0d8b2db6e5926dc72689bc6255c152272d61c05282091bdc6249d7bd18d9a501110bdda4aa7a409437306eb9ec290a45276ea9faef9cc05cc064c2e636ed9e6298e7846bbd913469f4f145c8ceccffc61a84a184c8b1dceb4e354facbae86de2c4e5c41faf240bb71c052e8325dd45e714962f80b89142f4b91df9204fd9d6509aa083ca144d1e083a4652f2df0a30230bfcd0f166fe7c66895425acefbcd65ea80f540e2a8300aa52d5716efd2f95fc4c0441ef53fe9104f62af067c2968385c5b97ad5ed086a76bd646e283ee930a03292b43239365c115abfb8653b2e3a8b874dd66c5032d9598635efc20b4c09b69095d36edc719ab9bd8cfa37748d0b73f044fb39f98073f029ef3b36d58dd11247880ed448ed3f3d202345cf4d8541d9218215cf35f71af54b0fbd7189071da293a7f5a2e82b25e84970a6bec3b63be22d36c8a4aea9cc7d592638ee5d74a6c3fab6c4ad056f30cad42632e5484bb945901d3ba5a66be692b9386cb9f012e8237432d2054b56590c04463cc09a15c1badcfb899d2d41fcff48e07e23c53c6a91e5dc0d436605ce2b82153b07cdf1626e094fd53659313135f0838feca0a5b24a1ba4044b97fae995ed3ba52e88e709d382e1ade18a07bad7205c3cb755f7526a3e37739746ae7ca882cdcef6c6c4519e2188e8c6a1775b4fe7a19d7319a4051b046a611bd2ad4d46b1890535dd71693dc3bc015a834ee5864133510491d6fd115567d047ba044f302a07b2b68113c20cfb1954df7f2b1742931245ea47f2c2b8f40af7118adbe2c28c18081b7308c3fc5c3b12168db26c7c2e483d318bc379c8b049bcae28f38851b5fafd5591430e8fef31f313e59bb1d2fc7d96fb0ede746ecfc39f2e6d46e39b0c68fa9a7413de9036339a2b22c43d8b3d9eb0a30f12f81c970848355c096d0031df7236c5b37f68cbbeaf06037185235c89e326fee32b2cdeac747fd3867821037920d2c30c35858ced7625a15c586e5fdee64bb79bd5f971da060b72cc20476041c58f2d9408426927a6f5a3a20f92b077486b80bcdbef2f4170f9dcc58d7c95e4bc644a0d9c1092f7ab435934da77f1bf29f9362f4df8160fad89ff04e1140ac333c8596d3a21fba7d57b7b97a8380cf06661209d51b58492b3a277843fce3d782033e9b847404d8e6d572edb29230f0435ca06e063e6dd4255fbde0390933e88168be273ce13b208d8787cb4f6915386acbfd4c00c5be700afb34f27af623e30150eee58d618a0b159688b42e01851716b0317b203a1c824e8e313b7034829afc2c83383543c5ee2c0ec5eb39de463f2cac7a55230421f9c9dd17a98c054f185d3eb23ad615e49b68cdac568b042648f1c7d442f3511d09b1dee2f7f8b50de572be63965f7e30b13d022d12e072511415336505b3d45179e737d1fdb4c19d003b2e286ded4eeef94ce27dcbbc0ae094f7d02ca3e8cae5364190fb3d7f62a4a642c85ab072b3490a9ba21d2807e54cb3d1e59cabd58dd808d0e15b72df8c3eb85f6505f094673ddfe92a21dcb861ab7ca366af98eabfa3f57b326e835a91f4948f4d39c8a32abf9c1bd78f6323d53d94287ad4daaea6a8cf4cca094600995ad868f3a0137cde12fa8ecf33e2cd1fd1ab2b1deaf2496e16a7ef1add520dbe946efff5a12261e45f86cbf6d4659c8a0b1e51d1cb794e4454fe8cdca76abb3dd14c4e6b684ead7c937f31e31234fe667ef1b054e7769592178a8e419c8a4cca0e5fa813cd59660767dc298acd0538eaf76fd009df71c2a592e77aff2c4050928c5fdcde9cace038a8778cfcc3cc38b762de6ac78bf5af1955eff19331903f53de1ccea768d9e6f61fc33191f0609d80ab4c62b78a365867c60e7d933d2740e269b3a664bc5bd18fe5cf071bdc0ff73b17df238a8cce1b35a362abf0fcbdefcacfe0296dd7aa0a7540bbbf29634b3e492bb038430bd04fbdc61d7434d0061cf4cd811177e372854d67d09de11b197ab30431468b2eac74dfc732872b8e04ebd49cb26748a33c0fda403b0230be58f23ba39e775d8c1c4d0e66f60ebc69f5d3874545742afd098eb4b096a825a5572dd0c231755d58ca17ca99e00f47d67ffa1f8d6e80286d78d2e55fad80b54cb4c4773eeca049974fee4c94cbfeee7254306182e94594b9d6a017769ce71d0c383c69237eeb79e6efa1eb03ed34ddb58b28d9df14e03a55d6fb5f851aba3aa6f0847408f7cbfe74c9ddb530c35631e661628339277a75bb2d69bd23c697299e25eb702a6587d1745bc93ecd2ecfe7a4c513194f4e73dcfb4a30effae0cd436ebc4459d34ebc47d0b6ebf04748500b3feaa9351a14c92d0eccc5469a23192bd832bcd5921ab3f6bb0fecec943d78f31d93cf739528aa71d77cefa74e060e6a1435971a797faae3561aad31de2759d63a73ff30cb0a17fe9bcf2b905ad15b163ec095729f2b04aa51cf117739feca07c32aa3f009b254a19276a19b8805ca7f4acf85275f83438acb61c167dfe928e925eafb3bc595b8074bccfe44e110b7275e3a58e1ec319d4ffe8f94ae4468fb1092ed432688fbe42425b5ce9a53d5b4eda89adf4bf7b3391001ca78f2f642e68399fe0264e51a3d2344c2d1e62d315ed2f4d6c6c7cc7e739cf3f5fd668db529e6d54121e2d80b8fd6ad1e1fe07687441e9c58983aa252844d6312bc518050e00863fdfd43d230e508b72ab32b6feaf2d8e3094ba7bed31a98c25f1507df6b6fd09e9fd8a9a7f2581136277f8a75e8c9d05c7246f5a80054d3517dcbbcfb7fe0d479b795dfd8dfb1188e68d8ab4abdacb482acc63478f8b9772a9b280a8ff22d883bf3b4e8aba9d9e3f2097d64e205dffece622892e2c4ca2d94470ead031062044d41b664d5ad5cacb522ed3a5156f6667f3d8da07bebe73a2bb72a7d9908f2b9767101081bcc617f2b756f9315f2eadce8ca6c9ca20bed855073270f1643a3fc12488f607dfba4d1a3bbd5bb4ca2f0201eb8003462761f17b2989a879235b8499fd07fd6180fa41002107b988baebc0455ea1c39d1c7378d3d4dd2f847518bb6bd8844626bcd348368e33065fdb1f6c73311bc389acd57768225ae138bec787cc6380193dc1895b578fd64078ad3cd1294da84add1afa15a1ce45e79106fa36707ce0d99ddfeeb8cfcafd5a8043f7ef088a74cecad255cb0680a1e2b4834fb57baf8c730937f9484b47b16089fe663ea40d961c6617b31909b7209d463eb111fd04eb7c8ab3cc56b47594b80cb7bd2a6e562093925440eb68dae1b67af69867dbacaa7c999a2b221b30d806a370372aa900dc0c1f59309651d60866b9e7bb038ba247e8f3a43e8402ac0442248bded21f787df4811e6b888a9182cd965e5d532cd4bae88dc94a90d41a98a03c14349b997caa3fe8f74b08f99e02c3a46a6aa086056a5a1e7ee1b497eec217002deda5c7e7687c0a8c5ab98a6f9c6f085d47da2c15b0eb5ad5854ad0090e9365234b9abd69c0bc5537a16457ae90570fd2372c20c8c57dec0b02b3cd7859ad4261cd7b9d74e349ec39bb206c7d1ddfd9ec1f65cfc0fc7f3d90419ad784ab18390f036384472c828f8bdc229371f0f88b31c75df0afc831b77e20659152849527742d6ac2060b8e39c774d2ecee5ebc5d1784d9974fc20c3d52b5f3e99444811a987fd9c420951394cc91693d74510032e8bf347f63bb7883c43301e9b497973d6cb2482dc8ae2d82b1ef2c772e8fa367350f71c21e78adccb1b3b300c8cb08e292fb4f8b79f2beb4faacbdb170aa6c7f5c7fd26d65b56cd7b2dc24a2b125a86aebd39146a7501db30861deaa5b458dd65ce70549777775c0fd8c4095a0beb1854a8de5e524f7b4b51e04fdf3a676bcc90262bcd13720f6666195a42d8d1b8758ca57de115772f7bc0eca5ec427d4a5734b792ce893065f441bd300184b5606fa1605afd49f4a349144d301cdf79a61d915492dc8a6cdf31aca7b1cd2147d0de55a0addc1a7c022aaca7c1b38219ccb8dc079690b7f003666423ede85c96a946491df3f4efe4f32d9f6aac5169886dc87c61a42fc08ec172c127429e4cfedbce5f7131350e48e3979ee85d9392462982496d79ae628a3058734136d209d5895abe068ce40aff684320fc9cdc258e2b61edf1259ed084b2e4d6de3727006142f1ec9a8dc76a460e190b261ef4067577271c2232c63fb6303ac33db8d5c52fda9bee7858b7566eab3f24e8bfa0b4ef23f4ca3268d8d88f6c0525ae273299dfa0a4ebba8b48846d5bd4826750c8c444b79ec51efe2295fb8a2e05723e67800a9f4d4f56ffd7b848e6f0c6d23dfbcc032779affe289b6c0a31d0a95ac5299a8f5dd12887515c046d460dc671c55a5863180dceef8c4ed3e1ea59bc499892e7d2adc15c9ed85c8a1d61319ae8c6cff19b5b193135d3c6755dd0372e5e4ee4c0e5edf9510b9eec4dccf5f7b3df781bd24e721164c8b25a3f391f6a046320e119a4fa01d9611eb855408cb9584b9f2d07d10436530efd71d3ae4ccdfa2eecc38eac63084fbab1392b7384e480c6aa0b8bf4e3cab43ca08f3f09721fe54d0a3e93ab5a6573a13e36ae209653e337d0acef6c14a628c5bf87ef69534324174d6a6bbc1855de1e2bcb157d7e95560eb05a13b32b47fc77b831361596d0892a6227a105a4980407b253c95b6b785d1093777a5c8f172b73e74df7c18d6ba3eca907c52f356be5ab51dab2f1f3ca70f02aa8af53372a8ccbf83616d289b3da4312e3d8f50cb745e13a739f128c2af817c31dfc1edd8d831c238a6cbb1c28ed280fbf5295d1dc74a4de3085e643a196a1dce6e4627c4244a3d962e05609729c6ebc8bff95924d33a49e3c45c6d62b99b4db7ff0dc66c407172a3ceddf7fcc3e51b0a03fda37542c7b9d34be00cb8be141ba66c29cdf45c5b3580a8dc263a709b5f027c93043b2ccf316c8ec49bd62f63679609a51dbdace79024b2a61cca3d2da8ab3397ac40b03916dda48aaa516c0ce0d830c8ca9a0891d92931a13e1404e24bca2c5440dab1721708a38a743e668c83d1dcc9f0c272481b62314590d7f1d90cf45afa406e64b14e293655940862281cbe24ece9753660ebd8b0c9c583bcf7ed73151459aa7b2083895da1a03910860a24b2d38eced38722fbc52eedbe177af65aeb39adab5d271fe8c732b76fe65b98028ff3d87c1f6035958acb183ba0a33861e5c6e61b358999f0bae693e209985baa5316c4beb7efdde7ae662abd6ce43700259f99fd25190b01b0ad60bc9f6571a27f0f47303e5636cb499bf2eece76adea15cfccb5e48ba7409be3c151c252aec4b1c3e8df068c08e39270af094be697d8d7471ca7f7ebbcf94ce7f2d281b1c8d22bea9f58127b41eb70751f4aff35e4314c3758c3e0ad0f8155dfc81cb21d9d8d4f0445d42b8b1d699547de0c1bd161dd624a55cf33e9d70880d4c94767901809846fa61c852e2254552c58c480641ef322d2b2f2159005a0d1147a856880be2e48354dc8f57dd16c7d030ea643bad96f0be7c5b3dfe57771eadfad39ac4c82e575ef0c22c5449ce701f9b0d190e227965783cb9efbbfa2f9e39976c9cb8baf7aaf01a97e2fda679560cc48c2505dbf4c61c1aa009d819dcf3d3ebb854e274aa6cdf08c9c611a7641023f25acd16e551831a520c1d347730d3bc1fc52db83561b317f7aa32b7a5a81dc6c1a8974c8a37c74f51a8f79c00c35be1a00b7224c3ee145347270fba21e62c2d5361c05570bde4a64dba2f7ce24e29773baac46ad8d1846e5980ffd22b3fc6a7709727a43d7e2464d936eec779548846ddfab49b46fa942d6f2d5880cb4994751f106a59828a94a2839fb7e222d6a3645c1a6fed33f82de3d6dbf69e38ec02ba101f1955db9637961c870d183c0033fac4834a85ceef12f94f087f5c9e9bb4ba20bc23077005e4e89fec37fe017959a9cafd0680150d19a41929d43fed7dbc8a0a19ee4a499bd8e817450b944c7ed62e1eebaa11a9e17c92b87897dc536ed04c375cdefe5595d11422b3d4e997a01ca045a59df3cd4bd3e3e5147102621af4cad28548120ac197876846f9e907ab168fe2dd8d7b5c565ca6c9074a273f0a310b50c17bf06b4a42acf28cff7d235e98add59ad4f43b403bf102111a06349a09ece03a7d2f770d580c98a7af5359f2d6fe27ac4153ac1889232590aefe89bd26234ce05203673c77e67ccd41cfba0f6fcf243bdd91afe15d2ac189e46e16b1816e773af702194a3d3f0b3f295cc3f4d1d6f55a0b10e51d89c764b1c4bb4911ca34bb6c2600d294dc6f693f94f2908dd13f5422f49c2a1f3b347d5310d61c722f142c7bba0e31f7544fafce9f5f562c9e9b82624ffe94266d91a247caf7c0fd16e7d17f46216951eb544b24a6446a5af020412ab69774b1c0f111587ce32d8115fa7d117ee4b3878fcc5a68f3dc85d3999139772ba15eb737f34a3880899a26c157179d72cae98fc0ba23d3d82fc6bd944fc5b5c0f1fe10594c43adee0c2acb6e087f3c2b8d5a675be689f133a02291d5ac6537a27964d0bb5ac9edeea69d91a53abd0c106209715cf76de5c81f55adc65bd63c295f4ff1d00d044d9b2c0dbb701d45f6eccf911bb7e96c1c14acb9c558704e7cea2e4d3d865834f1e9bb99f5fe445173b60654cde296f44ece73a050ceca21a9c0f1fceff38a315ea4a25c2f4a5846892e4d81d29c72c6e00d99956826af035eef67fb705fb319410fdc84d2f81ad4169e275df061efe254789a06d689180d27a3d85048bccc72f8e67f3602282c2736a53db845a0b6c57dea960dd89c21ea6ad6f69e8bae9d91387c64d7edba67cccf43c046786d71630c6a4ad67bebec77e120ebf1d9a402adc0317dd671aacdac5e62eb974c398d52bcfc4dccd5ec1a066ef4f257f7065ce415f64e5d6d88ad3d23f41d227e0d942d828d136c8b334b17fb87a27ee5944bd2e54f8e8595c769d6ff79ba21cec677ce2bae8f78f4eb0007de752e7e9afbdfa645dc948cda2459aff8aebd3a2757f2e8e050f3574c98050c91d2e9ef5cf9a3c6b0798eb3517596ec9c4d4e1282c8b921749b55b7efbd7a8cc0103aa05073996fb1d999b0045790a5fc5f0c30f83e262e4b6e7b48bc50ad037b414ca9197abe3b7d620a53f7c8f6ece0633e4a9a54d5e8e8d41b68999de89532ce3dd9544613b01d2a106173f1940c9524065068ec3fcd6708c6c451002fe6b64906bbbd2881556eca6bf7a8ca25761b76860801c7bbcc4d51a62cc0b207232aaf16201aa5eebe864f96173ee638693a314306629e0c31acf4f2d3ff05f8eaa96440a2bdf5c94513438d0fac879839c968cd5682f8f264db8c51d0e66fea830083249c28d170b54b2ed415db7b23068388cb7503985bd32e25a7c150c5ba7c8aa7e6a28e1a7d1de6f6c7056e98b5d9b3f1a36d6b04446dd6735c99f9b57b5a207d7d58eb63806734604a0b4876afe5552d48a8ad3348600be480e84f3b20424203ccd5d5a9a3d6e0ebaea91d6472d351fc5da7fcbfab91ec650ce6299d6e6470edab9a7bd0b5b3a6845a434558541a57e834fa0a185c9fced3e3a4ea7265f4a531c27b125e28affa147dd7dc2f5bed37c68af579881fe61948260685373e46c63275c82b1bc62569796e5c5527ff71207806190404eecc3228a92bc75fa76ed5e9086f34cccf4d38caac08a57afeb9757a9b8535b414a989c7a3924b9a8bc560a533b6777d6b71161886ab363ab9395794dc54b54e5b89f0eeeed081d4e8ed503f1382f3f97419070d1a99ba1467e3182d783045fc4cc675957d55c7b7e23d015fe5fc1f7b7df1f2a79e1b7d86954b5e81f3554e5a3fd15cf1c2763d540d3878461fea11cec1bf7c56f0fad934a3e58f8c0ca07433752126bf2a1915bc1b093b5cacadd864daa6aa334773ec10718d1500bede35f058456c4e6f883b44e99b146e5d2af6417fd8d4657f08c5badc644718b9da14a546d1309d088cf8c9782df21056a0cea738cb0e0316e5e0767bace128ed79123b780daf5c7b0c1ab50fd19f5659255c0a69eb3f87305c0115df329f99639b055a963aff383ab7ab63893afd588a0dc3ff7a1222e01ee4910841c3876822e76dc04e3c3a032306ba9db3426d3d5562f879e433ec3e485250aac6a804911fecfce6980fd342a89792731c082aa7d2087d86ffa5bfffc8c26fa5b71418e51c785971057aa9fa9f95597218bf7448479081e21a965de14713a1ade6e53129793efd0a9e65b401aa8c3f10fda22e0add5194937068f9cada2ac8620c4cbec8ec04f8fad2687e29b2e0e5f8a78b7c9d10aad222476a30b628b088ba06042e10be559f2cda7510e51e04e5fc5d3695e04528f0a260b1cb0a77cecda40dde22308ab74e1c15ef2bc726e2d99b68ee75668dcac9b1a2b72aefdc7d587ba29ece2bbe2868afd67f091b37607cdf03619c8622d44d4862939aa7ee3bffeb566ad0d2d4f94dd5ed1b27616b4e5730654c53a7af274e0b304521a2f50e9fe218820fba6f2928ec902523294a5e04d335f03466f79d6efa6e1dcd38689822e55d507917352668331013861381006ed441d9ce94210724c3ce0521b7cbbe7c173029b25e267f0ff610e6acef45e7568f9e3444f2563d4843d74ae7b28ddf577372d34674c0758d34fcc1a63dc5cb2eb92bfd4de7c4d910102365f080b0ce3669c82e0b86cac4ffdbbd13f6135297be4aa7d6847468b7e6ccf7ccaa0396e12c70c2af7d8904583663d6648abcf439861c5dc9a42247b7b1d0f08e54dbd7511db424e27a016b0ad5e5f236c8860d99302c290f60ae0677cc6249ad311b6e5e327180a7169f39d4506841e1616778ff4ebfb92e8c6b20ab93181965c564416e266e85ca6f1fb3de8731bbb219d7092fa48d3b9debb65d69da6d23e4f9a5c3e8b1cc3d2dff26d5aeed7652339403d95f160a066ad96d278c6165ae894d31b111a06eff4dc864521edabc5ab831fc2802945854cbd82eb38ea8ebf8c70ca1ddfeece28d40ea43cce3c4df928fe35fae009a8e1ea344f9a08a017c1d7170a24e400c2f3543825dddb3af8c82626fe9bb2d3a3d2fd27f2ab48986b82d3be1094984c1befefcf3194eecad3bbe5e8527a191aff7c0d6aa947227c2e12ac7c90091e3abf253cd53961e7fa4a243983d9a209b81e37924354d426f41c990d8d26b91164414a0ae221a1cd0af818802f3440d11d0f84d0d0667e9cad919ac173bd4530cc523d9d45dbd75e0d71287ad9a6f79c8c931b8e443f07bc5ec8e03aa1a7722bf5c7f840d460ef64ffd7675c7eef45d5c8ac94ce07eeb09374682a3dda98b4a9a4518874f28347f106881b9ea0de12aade929ddc4fe39a9996716eaed024dc8715e6aee70e1e1f6b7afcb8c2ad75a88955fbe161f879dfbcb53a0284b9b32a4db3c5a01509a7a33adf7a82eecc11e3ab52405820afa5ea170a7ad7d3ea2a7ca0fc907fca1082546e1d5aeb13051ffb720c301942f207f6c0e686f8ddad98f5eb5a326728c55afd91968399d8f753c5d2e548e6a78760fed5ef162d7311fb24c463518760a9d4445b4b8b5501566b38d47d2b362a494697eba9e97749cd560df5b4b22d2825fe2a02b3f49bda84198229f01905dfacd773d98c6581fe30aa6edd22494d1a2340da46e5d0aee299380e53e1b6ad1fcfe949c9714700b46164aef96e04a18f2de5874aa034fe67d0bb871ae893e65385a06433e2171125c757cd39aa285e9f8964a722e93ea2339fd060c5b55d494343310ec47344660d4f2efa21ee7e74f81be1577ba8cce4b14b0fe8ad0269f0e6831c2500aaa85e5996c285e578c0de378255f224629d0f2cf0b0cced3d9f219bec803ac64bb5c1778ba2341772b2698d8630b03465383ba3fd53c723c51f87e957e7e3e158f46271ac091f25a74d0560c9dba9d438feb2bb24a616655fb935db07bc705db9e3d94de089d43809bc088c2a8353baa67a2ea37f13cc7906efbbd50fbeadac2d950558b0e14e372f5e13ff63f334e4cdab12bb92e69405e26fac7b86110d34ca6d5f13b3df1a64827b4c00f8259b268e1fe32bc15c5ae1621bd5d3c4e1e7fa1c0d81443113a27075f2ccc5bf6ab6a34e2675fed7dfcba84709822ad74eeea113491389060e2f7774e550b9d32c18857ecaf1379f3693660848a55fbbafa59cad59bca3976fc5f9706991669d3a27ea481cee8f15814d4d26a369df6f806bfa13cfc5bde5f53604f2c3b5da60aa4370e239297dbb00bd262603debbe499cfbc9005c65d1efe4147a0ff259adefd48f15a2ac385fe82ac3f51b010c7932d802e63e66cd3e7ab1cf950ab69cd91028ef1e8b99f22c29546b057b3ef0b617b63f75e7019f12b41a17c6db362a4c8cb46b5091325b9c055f2fd39fce49bd299185e2e773d5ec08d44c5912ac49b92f9ee359a47cf4e05f03d78640cff27907039080f43f6ddd09ef326c86ab3352955e55a9277cb963b7377054090dfd97c323d6f0a8212d7c69ebc92fbbe25cb0f37f50dbdc5b36184ff9bb1e22efe8207ff0508520cec0181dae58c5284fe5948a314d91166264e88af62aa785053a3f87597a23db6fb78b3ec1cf911790151295388ce730d9870b0f35262dd1705dbf85287f6f5125f5fbdd7e4f6a3f4148ffa0ff4574039f319aa566e10be8477214ce8052c98021ecd64004988157cf1b679eccca478df6f851f0f1afed084902eb29b352a7cdee8ca30e31accfc7b0993cd92972c4dcd58441e2e479f1b1a780ec3490ece925ad54830ede5deb63840d47676a1d320ab45b0e6ad2e8820db236dc727975e5a9a4aed6bf49a5338c35b6f6e898fa9e8a308cc95f7002498712e9ae5605f3e34746af8f2be6227d2e82d7bc0103adffe3613982917856bc273ee40a9478c3a2629d10d3ff9a1feca3377742fa9e1323371d102fb2079646aa9f451ebfe57ff514cf83beb7394e089685011332d2e5df05b249d5f0f25b9e81111618cd91cae9b8e5c56237e6c906c3ba10838615f84a0a46ffd16481535e0715e124e7123499a4d108de5e3296962421008ec13c8cd036f13fbc50382f591d91b013e8ad0f73929f8b032df496f38fc0d0c6b5726d86e9112dbbc544fd3250be7816f02cefc294afaff99fdeccfd68724aa2bcd117faf77c7cc8a6a02658c1f53ab4eaf9c68a3c6a6979edd8120082d80c5a40e4ce76248709db89732e4930ce617822ffa513e0fc37e710f4a3203178810370f7855fe6300141cc83335065153df7a37a19d33952dcce6b43d678b61465677d15a690e37bada973d3e8fd58d43acb1afb0d1d37746e3e675a41d01ec30d6e1980ccef9afcb25ebc4bd6f58337708abbbd4e1440b2936cbb3fc426d48ce08890fee247af360142a44d043b5bed791919b4f22f9381378a8a0479cf0617ecd30d23e6820ef3b07b37dcc45ad00b2bff0306449fc97e68fac01d9ac530a5d120a80c8cce16e429d1a673de63bc33769923b6892d2f0a484dc2297a192a8a6caded7a1229726a000fb7ca97209a09c95b03f695dfeaf7878165b0d25d6bbbeb93de340d815961873c71979df67e2208be6d9f3476175059b9e342bf89b8780656249eede4cace6fae1daad399811e27babcf6b3b15941dec7341e68a5e613783ec4438f8d218b5e440a8e890f373c32f1688e08b5b2d0cfa04a9333c03370194688f3e13ca2c6ade0737621dc7a1e5c98ea3e13095f94e2e0c4923b50fb06682986169a76fb2058dc986890f5e184535a80f8582f8177de87cf6a79ded8920f6951836912fb54dc1c64e2ae3ce879cb94ccefbc0a9dda2d5d3b6cf7961b04b2d45b3f7b33f0cccf23a89af7690576fb393af180ae0a2a6f35d74ef1a2da08614620ad0e316e8329ce95a63c27f619cc50c3b101797a5ec76bfa3f600b6b4f3d5bdaf25ec2b3c1a0f3e1d236764cc450631fb950f24ecc565a59804ad50da3b0a81c89bdbf667ae5e028921fd37702a5bd6fc1413a24461eec22d391abacbfaa1e144a508f5432222299e4820cd0a66ee0af84efef58b0eb831d819f2bf3316fa9efc782c98031b94c89b3f41a65c8f808dc3f730d2057376af094c104852a4ce202987e1ece579fc5961eff4e2fa5224afc26c02c3624d498871f95010d8bbe55a21f27e916c712f60dd12b0ebbb4124a2711fb6c928631e719a84dfb488ae289132c940a7897b78850104cd43d01683c3808653e63c1f11f2d86078e436dc86e0bf577dde54452732fe5906aafe79ce749d6478f4662c4954fdbb87410b921f2605db78619eabff041046740556cdbf81fec2f9430309b8971cf759e35651c35170238e952c6d7c82fb464b0866663d9b8364342496115ba1bdfe351c0dff95b09adf8c092f0ceb6374df53cdb560643ec4183e99c6786b00ac677fa0689de4e1ed1e9087c5164d594a8e4f8af16806e812d6ac5a82364e18d894178f95824eb8b49cd75c69f49a86c234c7e36e6055752c92cb629a20234c3c31577034e0ec11e5f8b13099a730b34ef340104692d5c61e164964439e4ac00205006a66a39f56aff722c0829c190b4ed1abcbc74ce70032390368ecb3d72df5439ce0978233af2a84c4c1a4266d809575d0790350701a8f90be281c5c5536eb0daa5cf7f92734b65dbcd35536600a5fc29581ee32c27128b14467e81f9dce8523cb6891fc3f6e372db520b522c200b859c00c90cf96e28211bc8972ea6c489d2ffc77fdf7249569816f14fb6ad25ea101b72433327a56011fbe1777d0fdca83af44c06ebb85d882e376dac53051b58b101a578bbd1d0e5a3df358c51ff5b7554f9d40d651f22fd5c3bae697ad460ef4c2f3d686dadcf36d888d407a92a06714e3cd8e54e442698d8897063f860cb96a02d4bcb6889731da008897f622827501d34eb893584f45a62e393e9e5732f43bfdf3ea01f58a97d4d7613a4406481637eb3feba62fc48f78cec470b8468e9fd857929569122057692c10912e47a7549347805b44cf8a36564d849fbb5d2be99a2b3ef3b0b3be04fe4f2f408941b9fc171b02cc5af821673f1571eb9bfd9e652d9f793629faf732586892aaedd0be37dd3d6c265be69630a46f140936bae78000362edd243aa8449a7da5f4fda2fac0b33a6d6b94f753c36105ad85164077bea33db614ccdae123797855a1d8a20ce2e93e60da0291cf7523b4ac0b5b5924bcb68cc68bc2563a1fe75efaa84229d198377c0941ec102f7774e63fd5395fd7f261379dc2f9505a49bc739ce6be7c3dacd992c298c0e0926acdff2ee5fedc41e421d36412d2044b70517f76df10883434aa045da636c80dc324be5db04059828ad19cf43eee137a73b1ba2e011b887a969c3d8ea33de72eea1259df83dc928eb266094515f3701617784bc15ff232af883d7579a858541a8bbd257abb26de1b136c6aa75301acddd1ad1f861bab35b10e20f3f0ccb6bd84698c12446ed68c6efae929f623b132fa76d4dc93917bf365e6d13bd2c516ed58da4d047b1818d5ad9b2fa37e5a47fe7a6384c367f9775385fa241734f2d5667980b6ce460320ec0a36db694bb919eada44d54c02564c1b9855fc771357fe8ab613c8009bcd2ca809d304240c5488a9e974298eb79b4b9c85c642642e2aa3e1575a272d6267ad768a29956bb4b88a8e4239802ce81e399e31d1398fea99cce8c5b2cab0b984bb8cd8d6b304aee3582402e60db9bcbcbb3c8d209714dcad86a9e915547ac4f01f670fe2bbd66c69f404925317bc4030f363fa51ecba7a643e3a20bbc918c58cf19f2cd02e576dcb6d0b3836f86d191bf6741b4761b41f23f2cd17ef86055b985d1347f4c046dc32bee7a21244bc0444798b803fcf781247f91f248f21496e60f555c013cadcfa20594b095f4b511865ac6bce437449985578a395344dec5960b1b7d223f65fcb9437160d228aadb0d03f488e9a140db71f39cefe9aff7b6a117cbb88da764d96aa35e0b7e38c0d647f40e4b34228d32952019672f5307ce90aaec6703df9e649666b468903d3235a40cf05d0f5896aa27810a0bddcc7cc0cf37840cf075783f35a94f89318454a91b574104d042801c6408e0816c60733ea88dd4235d30d8cbb16837131e3b30e47a8d50b6693a9de9bd89a30ee60f8975498bc179569081e7930949cfda9ccf77e904ccfa4694f07c0aab1de06de6ea1d5254688753e582c96b766bd9f175fcc84239e286c87b0446a09b5762607912a7379876253d80637ac5f7933982c4fbebf2122211f7cfac01d4d68532e290a2150854bb91ff679284ff21c82831decd0d66445503f13200f7dadf56e69f65fc564b6fcd8432375a7378ec9a237308b0cabfd1be0773069bcbc00333174fd8eac82bb31f6b063a6118f5d7eee7f41ee03120d604d549d58a2009d78b597bb787272b8def062a5064024946057ba44ada5c7e5a2539c57a9ce6f6c73b4c93367ad2e7037ecbe9cae7c7b1d79d21b43b1d3f3ff1276836d76b2f8a74291ffa5d7d12f9e6c19a11daba6e3f6eee36918acaef5240939069dc1ec2ca27445a9c12bf5ff5e76c79964a70d7c5edc1e3a0d0cf6ccaec4c89adee1247d30365634eaeacfca89ad3559b815a3f6179f1c742120eec52407f5f6ccf190a7ab3f20ccfaa235141eb49b01277cef7611ac548565428a07876f918f67b588461ce5625b5743f8813ceb8cea3daedba9decda4753db4012a4b414c792a0d47a039bd8e1443c68847e5a668ea775020a88714c229ab94f16579e19037ca95c91e531d6a7b94e811a3b9d675b83d12bfcb634ddcd00739428a5dcfec952fe8f4889ccd7c67a271e965763b274d01f2eb551fb99db5c993cd0d807e1b75e54fe45191677ede6fbca45bc5486dbd5d1f2af65b8757451b194b5b3750bc810643dc525288c2ccc6a0ed9d895ceaf86e82253617a9c3ea09fca30eb47144483c36e83fa01f824ce1efc3e8f76569f93342c98538a0dc78fa6119057ceebe5449dac91496a9399247ce30ea862caf729686a6074781cce1019e6ca43e103cf0ba05c3188c4ec43f6ffba856d84d35b66a0fdfd9b525dbb8060a78a79862749d6067f2fa2ed007c100513c89ab07542de5173e7fae8bf49209c32a365bfd9aaa943fb9099de5df9f1cac3bd9edeb66e8a7f0172540a75e7bb73a96424d74e1b8ed59a7948181d69609630c45581481db9eee543adf050169a19cc2da4e808b7f623df01fd48186086b364238f321b54b83bcf77d7323c5879df144a4616a2b1e21f84624de100dd8fc229f0f6d26f019a82965ea5bee3d90ad9d5097627fc7baa456d801b41ad1cebd4cc78993bab84270b195c84b28caedea32cf454446163b80e22cf3feb43eb50fa222f362f783b7650eedffa6a6d1015a46226b5e34c2a16e2b17f4cdf96911cf671db3b2f71f48571039bc5c9001bb48e63d7e3cbf66b04101f29a921d1b82562ef079ea2d2849f4aa19f1d40774c63e767597dc5c1bc906ee55d57277e45dd519983a25687c1223ad50b058b642134d2c725b6e7ff055a4dc069014bbf6cec4f7ebb8d598c7f24d27bdd28c4ccce5437c142dd48c0a88e6240cb1845564fd9c2967afbacbdbaed392f7f01852d1abdddc1ea1d687569583100e4ee36f46a9c35682ddc86c8d9ed2e59619f5e810a164fcce7fc5ee51c58c2a47ccf8826030b78cda298a4d2fb10ba0a97e410141b270fd6246ec1113a9e5510e3cea89da4d1a333c69908c9f49077a9598eb824ca57485801cae4f618d0032a1e2b7d592185649c7349017fa1c1cd1a3be7616540cf71624b143f9aef394989721cd11e4fc6cdc1d95a119435debede0887bd3523c86209b73fbf0bbe61799e2f5ae36bcedeb217780b27a0bdfbead5c4c544b1f1cf1be2e91f211b987c1ac211d6e7fd5026834c5ff980b00e3fcb2bd666b55f6b7cc68d234c6ee7bdaf640e1c9a08fbf9f1a2bd193c723753ae7ecb7bfe697f54171457668207cd086a11c6797226ded63ad48dcde61b99be43b344fed721f029ff033acdd2b5ee688b7d6af484d4aa0ff44657df2589a37a138de7916b7ff8a03553e44a9e7cee1bbd57cdc65d2a982e7976b446178fca2a0a5dc5b7bb30c7ea649522d125860fef383efb7ef1e6cf09c365281e0a9e4d204167d984afa682b6c45c4789254bfb3b9ba1f307cfb8f662accc7db916cdfe4701ec9ca3ee9646c34b5718c3fb86f94380871c4102164190372046b102cf914c9c452c8032ce6420dea210ef2be6e878c84c157a6850b883af45cd9716fd15e93fdd6379c237146e1c48c74ffedd172bf2d979ca48c807f57e715a45269c826e87f89505bc41e44522c47eaefe7b4a63e7233b09a8ad416bff19eee60846f58e5a331b3fbcc16181be6280deb9be8f9c34a56dac55685cf59ec20e955a467c7a58dde0bb98b984d2d6a380cf87c14126c8f7372a1555d623fc58342ca91539f5e38e80055398d7a13620e2ea5667940e544b26f5c822244711ab091f466d8176ad2b4d23f6ce5b3fabb08034dea2e22ca08417afe1640bea08486fe572b9e77bdfb6c2cfa005ef86cb258a22566259f7fed08b9f7b4b3d1efda45e39389c4fde4792714239a9fee8b36c48726f22a7145cb19242ac3ecb3230d1c1d764c033b7ae7ac415242e03178a0772794d47bbfc54440916e769c43cfa107498f201b4da8e72458fac21558d9739aaced98c5bca7191e396889195138949104276660b1daffd905f1ed978d6a8fcfbb68da38fd3af1fa24f9529ebe1e5e7b4e688c776f8cd451ae205c8a6697c735e0dfe55c4d97f363c74d97bfbd125a1779fec2eefbe8a6860a6019b8284420e70aad60caefbb3c458c0ef023a48d897452f18d3b98bb85eb91f7469b5dbe78a0f5181e07507393f67c84d39f1cfbe0d8de3ee5a87d373c91a098e59507f57cbe3e3f4a6f421bb96085ad6cc33123dede49eecbddb9d0642cc36bddd56a0ebffbccc3e5a9f85df15255a3763c3e1900fcc987ba3f53e8ae8dfe3daf206c755337bf17f51d5c5acfea901980b59ae97af2bec14d487d131f6f8b9601e12149835af9117b13c4b5d93bd1ed947e677b40444fd6a09c09bb2ec24a9509cf47c9c01ecf3b85de56f9b3a4870547326f781ed664c8884b2c96e68ab69981971f27f216a6ccffd45dadcc5e0546d4bb05952a8601fd1d1500fdec3155fc724a0b20c7e5a732fdf3b1bc06745b9b06cfe8a3e34127c23979ac21e4f1c3f51a91e120797d7f326dd9af58c013c96274cb65cb6ddd0a9f5440f20b896177c060c280e88c60e9a9dca67be95c5a889ab2b571b23fad4956c06af0925e0b70d0cc41097a3c71eefe530b5430af86ddbf175a39997abf9299a5dea212d3f70578bcb94499f7e3042151804cf1ee3db265f1ba038d98f554d94fd33bee8cadf7d67acf8ce2c34e2ddf729d3c17d4a8ba673806d4374ac57daacda490d3bccacfc93416586fd4c80df194b2d0fb42833a3e9f9e61d9cf4ba9373c3b3593241e1bbd39bdf7013330ebf650eeda2cbe6be0e461a08bd9674eb350550dd55df827d6d563fe0dde04b34a9c366efc2113d60e3727025ccfc8c21b2ac0c13426271e2df8adf28ead293cac2d9c674942c04ecaa4aaa9ba92492d8e34bad42f8a2a05f9298d8e6333c6fd61ed2f52b22d3aae95f6fa88b47180346b79ff6813d543f34f7260225b2c7865e48bea54eccd101860f009ae8bc9d65a5f1deec962d0b0eb5b552fa699704a151b09dff00d88ebd956f464cc9e0fbd1e8be0bd40aa749b36e56c2f896dfa1d3c619a868c807744a9a2897ea36d3fa4fc1b18801df75d914c19d45550101728d48cbdff6a98d55a2e9981886750b92d1413f1a374883a30bf0f24d168840b1e20499d8e2445b1aaa3516dd9f5783af0f7abc3623745824aba0d0bbc79843de490a99052b02306b1e88ff4ac81a9e841516eeaf0955dbb21e6e3e25d233da3cab80848a5205ea79be5cd43f066d23933ac39caca4fc7ea5b49e32841a75387ce5d0783a36b5c1bc78a48a6a5e159ded66588d6119c15337048c8cddd7d082127ee15ecc60e7745598a6d459a1327f36a8169ddc758c976764b2223afd60e4aaa442bdb93df7d46d05de7b6648761eee172c2d3f61abed11d66a7ead6834f5c0a31dec30040b28a87ed1e5b7358c6aa7ae9c22bca0335532a82d903490a8923c8a470bba238635e4917fa0ea85e1ca3b005628e1f192f0ddc982df5a0d46333e1637cd3d64441192b2cbd60f56344bb77f39ae57b4bbccc722bcb7031af9a7f7cef7c79b78bce568b46252d0dd1b1db9cbf085a5bdb8a6effec4c98f561b17402b8ff3ba5079ef2675011c43e52f494f23c797b0dd0df0c74e6c31f664dfb22e86936eb731de4f13a503ce237ef981abf34bcea488e045443e7fbf6e0932e60a56392b23be8624efd9ee14050dc49c48a98baa5c70d8c4e835357728b815d779d8d9b744094271fdb5c5df3c160d52128362e199322e7f4295edafbdb94879a69c50c5bbeeebab07006b5885ad886c9fd75a4d600fdcd35644807dd85983b0026a78180de5a1f0298fb5ade5a525c25d6bdc63e3f5dd63c9e847b32cde14a810139c72fa77afe57e7381befac50bbd719563191823ced2d27944d663e9e8bd9cc94f263f7cf60bbd6dda856e02698bfd35c65470daa15a158daba2103edcaf217a82df0c4f12703845f83575a7a72cd75e99f7d9c8dab3a5d2e80e223c6ec09a0e0c88209397090a6e4170822ac162f08fa32e2e26b9a9f0afe102c9aa64b8e40e34e9269ae5905735ee03b532a7b604c4b60baa4697afce8d84d87f260b511bd0022b38ce8d254fe6ec7842dce5f8d6d030033110a9173192118035d934329c34a84a566fe1c5c0e32d25a5dc1298dd3cfa035fae19821d8a0480e1edcba690ee4f05743ceab8095494e65c16626fecde9091047989fec87a94f6706ae32e8f087889ceb4c36e69089aff8c71a5d71b2b1ab27938f60927e903f010429d0f03ac5fa11e1fb81061927e4d7957384c582eb950105b92bd87d181e912685ac47b3494f055a43cb2eb2105fd810e903f6565dd45a3d217c27eed1582986b833702ba5bd4ed9afbf6670da3dfbf87f885ed0d1acc3ebec3b9595919711fe944246a54dd62fa939eab06b1fa3652d59afa3bb9db9c62ecc67953e033041947a17464af489e7cf672697e53ff7bc796e8b9f38f0286bd1454a124e91d74d4f3bb2cfcda798e8ce001700e9596de466eea5e7790ca55fab034e7769b1f037593768b894f4418f96efd375cd28e41fdf76d81ae87c454c9765d3645950389a5aec262530b95cb9577ea3f4d39001604f081f888249f59120f3555fdc6f2661133a19d0d9a38eb2f2496d1a731464c62d63c22018e4085c9bdfee989ea8d8cb46e36c6d4341935d8cd4a3fcd7299925e61bffdd0513fb472501ca00ac71d6012afc8e2bf12566b77672c270dc9d8ba1ae523dec99a7fad347f4142260c609ad0600922827211bbdd1712a4651ead180dae77839acba1b527651c3ad6c9f1b164ef4b367db232b2bf7e1b5b387f587a0397a471f745285e74f20dff5376cea7062176bc2760d40f2dc99b6cfb5c910ed9e6cd3387497cbaf2dd1aee55b9d6fe8bd4f33438bd283913becc7d8c3b5794cc0f10268cd1c2d830aeba6916033ec5a23c2e551e4b492d5854b1dea4c126a1eb570b1cc55908c15668ab3ebcb554747bd0a1045160b9d3596e453196018a69e773c760572ae1bf6947a48c984a5c297e251f2ad0a3ddd46fdc8677bc61a4fbd7ccb01bf907740d804a124e35cea23c712dba2972aec2a5de1469a44436dd07f0c769942d0cbd0657169f1a204e9477a75739c33eb1f1ebe0d847de879259868666774c1c838ddd116aa8ff003ddbb0ac7df02c35379e2b27957c5eef4ab6f345c7f1e559b01301ddd091af30b9e228e9f2efe4d00477ec240cdcb9f4c1860b3463cdc4709524ee9435ff8756bb9e659e13e098f2d75125f7235441baba45342324801067b9689f67d9bd8e0c879e6259c295b6ef69712fbb0dc2ce4850dca261ef428a2b84b9a6f4bfdde0f11de03f740fd2357ad009e41ed7d5cc41ea6fffacd3c8b9d662ea760ec9c362af45c5805213b60cb907c4e828abb6516d7d75bf7f467b04fe2671098915f7eb0d631a5cdded3cfa3593871bd7d538ce05231bde81bb13ac75012600109bdbe9740a3758170891f93e90ce74ad2dd005038f50bafdae7fb642a1f87bc02dbe89c6e351ebe47a4e8f211b6b717896a33a6e3be2d3e103a1eb71673637efd29cb47844f6691e73ac12158d2320717d9015eb3f618e4315a79aa6f9fc9c96f266d584e360c1a24419410f63229bf4bf84a28f2ebff539d9071db8f209e08026a59883de4be695d19ed1ef3dfdc17ee3ac9016a2cecf3424db33363df397e2b89b40523ebcb7133dd18c823d564b47c3ee539d9c8a355bef9c2ff409203f0220acca549201a9607fccd1a028acc8ccefb1eee0725f800e14d464c076b04904d49b19e3bb8ddb0aa81b3dffcc71d4db9524a79de99ff8d539aeb75442a4b9572ac62947cb135c7ec20137d3e3389e558563e09ae9604395615ecfb0023e2efd356b8154a408dec22a25ecb087bdabf9ea4a5983a759325e70c81176f8a8aeb964e5fca961086165b5a2fa48d8054afa84f579b481744ae82743eff93ee18a9752779b3abe2a2572487fa1c84d3e1ae98c4281278db86c996fa38ca377cf0efc497d1d395411cd9142e1b6bd544bbc507708c90e9f12d743c4e2907675c11272a6fc06a15bdc8fe024363a5a69932b05fca779bb06122a3ec1b41a9316c82d54f2addad073c3858c431bd807def7a1be055e40eea9b184ae209064efd669f83c3ac9d826da3812d1ba2a99c8de5201186d2ea9b1f4035e8dba6201b7f6d27ebdcf5e0de809e5436df8ed4dc64532dd385c74ed831b090a900715eb4842c85543c6caff0e4be5474310a277518590347e61e12e47d6c49d9576b9cc7f63525b9c537db76a8222e47b97f8b8b2754699f1158bbf6903768183bceac8155e36ff90fee1526b033407fe799b32eb39851f9d5a5d8aed9b0c707df51bbfc3e3568f30947e0c0865467b1e248a99a1801ed52706eb2e2926e9fee87b26197458894a7a25dec2696009b8d2d40259d1e0e93632f010ef5fe376a44b43c850ea19159233431dddd84bf261b919d6f1ed4d904fa2c1cff3bfc28255176af6d3c8384df1a1e093ead54181a587b9d153349dc10c11479a4d7b65ad9c1c4ce96332f7aac7fdac8c222b26c0221bc1eab94d296de0cf6e933e404a4cae81f864cf8a8eca3b8f8652f13bde7c5d3fa29e3a125d90d6e353a7e9e96a5a3ddef50d8b0aeec8a0c0ae056e6dd5a95bb3f7eb2c45adc048044a76941396357678d946eeb49414c63c4ba13df760b53f6445a1ecdf13bb0ba6fdc9bfeb2b81d40aa134e19cfc9a34058eee8e2ad6d3e7907f9fc7a33fafb8c9c5931f0b46afddde7ce181cf7d5f2c37bfdeaff2c5a99fc1654f1cac0feb048bef795b59d8f7a7816bdc911f69a381ed40ad8fb71e1ef21f74ebb60e85354a2f455f623191a6990adff8a009de8136920918de110075f065eb8d474fdf75892ebbc9f77ffbc453e9bbebb8def40edac36cb9fa1d0eeb40cf277790d391a8e1b41609bb306ea01fec737475396b0932ae1f4ec2f69edeae29533d5b193b70ec2a27c87f1317f4ebab818c257dedf59c97de302ce4b1e8018ca902b16ee6ed6227ae9008f0c17ada0f6f6de70012af55aedc3026d5b3bfe80fca2cf47a7905021bdc3bb693b207756969b0f7f7262aa46e84f3e73fb0a2c5a05b7782fada5209f0473177c4c4836772582841dfbc69b3688924d82d12baa8ee4e4b427927876e3f8c1fdac92dbbf381cef7d69241318eadbd539ad7f4f12f083b0bd950b762a8f04c0c01daf2dc13cfd2cb6d7e293fe55c734a835af6aed445f435b0b3b80555aab4428e9785643986f55c2abbd3337c477da79111f58eb4c6d19eb0a1a87cdd24eb7b9127a82ed8d963462f5472e481a1bff1833cb30d6e5c3988a4bb765c9bd7cc420141135c9cf007248154691d9f0a7adb0d4f6125604a1abc0898e9ffb5afbb416bd06c0ce62cd91f276f7085dd1c1cffce15160b479f30c3a316af73742dcebd5bebf9a6118e756118f4d0369406b3fb09dfc32f50dca6a918a7ff69ebf4933837d5f31c3c5316a68ece9c162b6f6e161d46a1e5dba377cc17c868c68664036e60ed7dade58cd41c93f5c219e315678650cead188e40386ab2bfb961b03936b9444da13faddef307f5501136c5bff64c87e0fb328a754e6e869da26c2a2262810da4dc8972ef6295a7d6711210937e28418bfdb852fc5d3860e17e731c395f09b849eca9adaacc3897e83cffb2b927fec82e12662db69415354e6ceac3831b985ac9407df0b757d484af65069fc8231afd30c0d8a4217fec4c05bae28ffa8c87a78483f69acc482a2af860ff9deb0859f7564e16313045574e20269dfe9801174532ca51e1a14c87610df35a3f99df3dcd3a70c2a47eabcbf65c01d0ce3b3006ea8ac3082b741c56c7b2bbd8c88fdf6185003542889ba378f4754541d808ff82e5c248e935d065ddc35ecbedafad89221ab742631ac8c0841a0525a56cce9b32f5017471ece726ba8eb06056cde056aaf565b49b0b2df2fb3f66a7ff6c9f7f8fd3808649ead4e5aebb602887fdaf3bfa44775db11436a367be78f35fbd14d461eb1365b2e16721921965ca27bafb46a185913161bcb004714b7fdfecbb70ed4d5152d2dd18b3c1f1660e4baa683a21721c89e7cfb03f4e8f57920167afce397741d9ada15d8e86fd4dc8924a92951b8a8b1123c52b82e6f202a786f66f3b2a70c0709f4378a90f966bb74d2c98ad9b85bd0b843e558794ac8b115ee63ec980fd512c1f8b27a1bd0403d6dce3c8d0c2313e81abaf4546aee0397ec9a2a6d3ef32b4c54d363342c84ee18a2658d3e0486fe9bb3c27545de04d3c9c01e87e1f9fd8d7f9666214e038099c0493228d00c6da4ef90ac47bf9be9e602a448f3c5a6da4aa65890583cf49d3923c3c1276823efa5c6bc49fe8d11625189e8eed8132b0418be60f2cd4436581c57d4d5b50ce15bd9d03dc272ff1cfc8e3f0578113debfabf33d411b45558ce1d545f166746ae6cbb11e29b7d5738c1209eb366c11b5cf472499b763a21eec2c99975f749281adb1712a8fc987fc1f455efb77f8d98f2267e22c0ee2f11560f12af298bfecf3845319fda35ea14efefc12cede617c4e58419a1df168256328dd12302c7947baa3ab2cfd78cb728fffb839a478c848ff58b59462f8ee65ac34d99b18abd8064d597fc0b591e1cead830bfb9e88e7562367edd5022fa39bc28a9bbe119c2ad161cfb82e8cb52913a1d30ea35ab64a7c1dc15d5a73c9be7356957341e5908c54f30510db8d29a41fffff2f1d4a69845e8b6c28bf8346e95872bb2a572a3013388d8541267a43bf4a6e55d2de8ab2b8668e558594533565554a8d6286d61ccdf60b45a3d704c60aafa0638cbcc781038ae5fb856bf720701b91de99d42a350acfbbd56e2f6fa4efdb0787753852db9d5ee613312d8aaded16a162c555f20acf82512c64ad258a8a0f5415baeebf25098ec101f91839a58712b1bb1d1f907c4fe2f3e5a50ea5d368fcdc1121561da4baa35dc7f3d14ea520a4ba3193f53213068dbe8a115df6d9a644555e93179d510eb2cd53c2495216fdc3b3c809025b108f06124800ad46a58876fb6254ffc4c4a925363f30f34e070ed3ed889bf3eaa6bafa5e6b4f50fdb42e495733e02c3985449ab2d3dc76fba3631013301cc9f38c98bc5d6830f545b4856b45a5dad7292b0afafd51a24b5f538550a6f89baee80500bab66c9e10fff8b18af6f6a597883b3938178314aefccfe144cf4a23c9526c2a1602c4b2545ac0cd06980c22635274dc98d9c16e55a701e9e05248a015b4afffedc73420c7375a54cd5d3640ae7e383de03ba5f642acf4edff8f82f99ba2cb576589e61f1b74ef9d0ad3cd03415e90ab74c2882377af7e81f18cae60e1d3ff78dfe139ed49907aac41b83771bb8563cbb10e96373bf2f8097d2a323330caf8f67c1e77a7b924434955fda33b908057c78b8fd2098a793c208c26b8d5f2cd826719e77db06cad0d1422adf956c8feacdeb2b617642a2dc2cdba4877f70f8ee4587532f1769d8210525845449ed66928d33f8058cd4fd0db5375027e178b2ba5b27349cf6f30ca36740be39e188b37204e1521e09318023ee175483bd4d7c9cc0db3e07d1ba32d6a67af4c65450cce2a155da098da9ff77fafe4e3bc2ea466b4bd235a4f6d452520c33e2489c0d01f553ad6931daea3f1e118c6c4fde9eaf5a11d303330c66c30a85b3e2847aa99cd6e4e498899c546976f43ba5e7b486ab82a9ffab1493491c6a6fa2e81f6bdca31e69c1388e7291cb03d9f6bdd97b104946a56279e54fca622934826d0188682e0ce42333a362448e2fc8136401a77fd875e3d88b3ec65abba8e5401587209d335a7a07b8419671c0add9407269428bef8ee7a0852512be9797f437bca3416c26b1df602219ae3633654e8fda8cc1e02d7cd2e308aa058c4f56aa3c786a13857ae508544d3e102715963820b3e34da6892d01381d881346836b88d6c5f0602adbf54b4a14b9c3e7c3cfb46b1f622d3342c509f3a665856eea5d6045b23e0456a44692e55193bfc7ba7e5e1ac93280e7a8abe73135c609372b1fa3e4ba6ebcebba27726cacb8b2cbf61b586f0068db4eda1b13df8c29e6e4e2d9a1e8cd477303c3d60d5424bdbe3145814af242b35dd2082c66c34c06f261ea3c92fba5abae8e2894b5b3b6dffe9faa9bde8d119e09f115eb194834e7476ca435a995a2bc608592a6ccbef0e57bab090ad7de498a2b89ed48351170078eba0d1516f625e85a704cd73d55e760dfc41866b762831ee161f3d5f28126438bd4c00daaef9cfe5eefa4d94a1b4670c1150f9a6c9e4dea3247183c16995f8ef4420cdfdb91bf3e4281cfc52e5f9c04c8310455b84d7c78b755614a0c957acce0dd036d95b589839060f71fb3f5663e7cf03bf9eeaef23549b9ecda20b7267e5698e0569c5b6b1731b06181e1717857dc1d264fd7b2cf7ebaea4cb3d83d09045380ef1c5c831318e5b499cc6777ea9293076480bfb62823452731b7f17a3362a0960e126b923eef7378634aecc451fb11bac2e4d9771378a8f0176f250d5017bee1f73bf6a39bf37d99fb2461ab2d7e537f8b4ac2c40a000914ecfe67b28804c910b1eb4b7dabb5dcc9eb3fc2560ca7a66a0bc95b096010feabd633834b0b1afdd8d3438de1c7c1f379c940b792d1917c2868799619d84929e9ab05f664893301892612b542df09daf6b04d71fedd8333584cb0f7713b5983e81cbf5d13ba3a604b3552f91b946aa4fede18724452f68bad286bce67b81447528d602084712f9a17772fde0952b23d12cf423e188d83ae9b3b101ec6bfcec4fdda304c5ecf025fcf74ca896684e18507f99ec21329833376009e8a1f3891e6f2d3da70b5a82dfcd15439da9abcd6ab06e45ffaccc855de2ca09dd4aa2425650f6aa3a2966565a43ee3690f3fe66068c755ae03b1a6184d4974c05da15ff85518e001901426bf203a8e311f00c9ca1568f419379f9843727aed64242d077451eb7d542ab4d3616f0e1b1c48a7b4d62c5dc5bf0374c655b937315987e5d512d444c2411487785b46088a1ade09b3dc53172889d6eb689ab8b70bc32892ae423914fe9b2d81aaaa557625c7fe1c9e93d83be06a96c216e9299d268b0b7792b8f6467bb6a8e0562bc2c5b69b109e72eff74b797315c29efdb499f4b3716252a02799721bc1bf225284670a00adfb0050450361a64dffecc00da12f426f5bdab2d7173ddad1687919c31c8a32ef3db270f0ca1318e72d1c56d757459d89be56d894a5136d946e5b877f0cf6103cee72fd7786af1414b11ab7d4252b2a754763cd87e24502bcb581a10025480f122c6b6ce014ca51a2e0c66563fc2df79c4028a000cc88512e85d59d88eb74e568d9b678c26dab3c76e38bf029996953424d8ac372065fd7517278aaaa299121dcff3b751c163be3165d3e89fc58a090819965ba86b11c2640444130553c5b42e26fc40f00f5261018cf7be4efa6fb777fc0598320ce7984e815dc0eaf77408260bac984a08c335a0df93f32399b352de4721218129f62f72817509b0ced193afe523321fbdce3d05c5252da468b0ded16ea24a0cdb4eeb1a302caec80471c4a1165a3cff471dece96d9fd1a435ebeb05c61a4a0d2d617ed76f5950b215db92fc084935ca6a9cc3f137f9f5166723941872d167f54713d49bdab739ececa871a68a062e787d5d106da3b47188b259073fba171fbe4503a1954c974808d1f0a17cfea7a8ca16119e2d07dc0ebffe9a3fcc465541926488720246bf1029424a1ca72ceeaff438647640c823a8924f16abd9118e539b7eca210f3f847db478b498f8894f9aa5c71dd1c938e142ec1bbd726231563a4d62c6babc658a19d4581f7a454679fa273cac2a74e2e43bef3fdc5b4ab2315b36ea0a8b112914d1c8029f4660de21db73c545e3aa35fefdb2ca4b392465cea1f05edb3a28caa4c4ef37ab43c3750c9692c0628d1531792fc1dc267854d8ba8c74aa1197fdf181d52bfb72a4ea9c476b80e25fc9dd0eec8b92c9c5ed2a5545f9444988f73ed7485adb7579f0c09d59ce346e0753f6e268d1ed6bca8b2615367e7c68838318f4f97439f9f6ca3718e5ca28975dcd008453668ebace71ebd25416c5b921d8a20e4ab6770de4dfb4caaf75873a50e9fdddc7c147f1a693266393cfd53e3f84c1828a3826e49d8deceffa8ba46afa8336975accd75ae053b31e2925090f16138d2fa5722a974d8cfe1fbf00839de6c97a4601c340015076378fc3618951fd652d7090a129e8a4c3ecf98755a8a379192b039e72e0dc9c7169ba0712a44f5492a196ef0705f52c1a13b704222c06b26ba2c4c7c9bbd098eadcec7cdd69b5f7837363f51199becd919831c65d4a2e5120c02141a3dc6d9e24ee6482b468d4661eb23bfbeed490cce0aea7ba87c0ebe73101d4f168c412c1fa76592cfc44fc9698e3f3ad58423e1cec4963ddaa1e8381184f552b0457bb78534d4212776381b3b849ad6ce1009b9d3fdfb87e19f51e5e9449e7f03e22e1f433c9b26d0733c2d62754f404bc30c4629070f7c53dfe927748eeed8a5e57d576e6d94693bed7e237fd415f51402efa0033ad3e01cd8db4466228b35930ad31b596ce2e8df91f7214e7a3103768b9f0d985bfdf157792de3cc290fd301fcf64bf71462a06c12bd77547fecc4b6a75037ddf06684e63f292a24361c54c2f2c4f86cb6c51c5553a1fb91b04a3348315ebcda2e239582d425d61e7cc38c7d2a38b4704cc5ad169c57fcbc48f4552fd353eb694157eca31c69a4eb2543bccd12352049c464b4187f57ea715f68177469230b720030824da627ca8f3cbf2ae492cccda914cd16c98de1e98bed3900c5f8fe2b0173a0906fe785168a14f245e5d24641318130fed6860d09493acf02a2e51065277959db7b22eed70e7c745f2c0182a99a7686bcdd66a36380a195151995cf082d93b72333301a54a9e336d31b8d45da7e9ecbf54a3e05123ce54cead0510f84d170ddc8831a55707f68981b14fdde41d5c5fd80805fbe3d65f68ad35253fc7a724532e95edea15fabe4bbbb199275de64356806f786b9171396a0fdc236cd188f1570e51213f39dddab8a7aae211ec8de9ffa80e4c9e5c3b1e44e5daa11c67bea133d0e5d062e00f3ebb7601ecc370802cf00ff3db8f7ad75991e2027fef3ba21fd84e739a423642207e761eaaa5c7234e8404f7012804446625cef0b1caab419044a9e8e5754f039eba00d59b03617d09a170e68e5d427da8ae30860cd9f2f2504ab5265ac5050bea7f61aa696181f3e5ad2bd5a9f444080717d2e62f83b91850bcd2037f0fe5c77ebc68264fbe876ad1d844bc7283db90bb2cfd48b98ae7afec89e6c39c6f7f3330b6c68a94ff48c1a97274a2001423ec1b466c501de25c55be8760931ec9e4d480109ecc52b369a13491b986370e1d55338770ef3d4b204624775b13d0154f75d6c210bc692cee5fcef31036992bcfeb83b4e7437e478b03d699b3a125523f27291fb7e5425def6d655e087b2cd92ae7643529d1ff694c0f95d4e26c2ab65805a02182a1fe312f0cce9a7a643d7993b8417d7a31d31911e9140e4aee837a10ae7a051cb00a663872f46a44376b84c463a4b918d01ddf4f7a0db67e4f4a6523288b695a43ec78f34ea9263e34163bb9e61e8ad0ff16ff1f2cde2e02a66e68df36ebeaf605e54d72934a6602199423b12d74582959c5f7d43dc76f128eb6d6154a64a1e91b4530fe164cd0598d221839c9c00ba0b4e33096beb1982929f2fd7729747b379052e7d86a9cc9c9fdc8b1b95ef93fec7fb05638dab553df27f8b09718fd7d21a6aa29d52decc9ceb0603850ca9df5feb94bf3f708a7978aa3d2b7b2fca6f6c88d6501124da380d64afd8f87ba46cde817c6b02db42f0d77518124af2dd64cc16d7ad35c294cee174e92723ae8b0bb96161aa28d804a055f1ea251a8e0ef69e8a1510042f95b2b5d4bb2ee484829fb56c191d6ac757d22c8299bb3f63e14fdd076d1f420f170e538aae4a4bf3d11ef196b7a8cf43bad7fdce6871d757f727150d51259033358fc007035f285ef4723772d7905fd12d18c2ca5b95df032f08f03fcc33562a28a61fd929ae4a998f3be18d32ae4787ef7c552848a4f43ceb960465093b9650311d99bf12b65b2b9746e439f872ee84406aaea181d56bf43654d765b3e5ee011ff2ef28cccb8307626467f37d9d118b82e854bb0466690eb7b696afea9f73dfe3f9cf67a6ba1fae784a990640f0d59f85226d14bc6f56d917e71476485e085fd7af8037f1de922668fb68fda0d4a0fa97634ca419e2792ccb78ebb1e123f4f0c13321ef450b5d2ab6fd86d50a27c867f14757c0f0bb4d0496d0c769e19e60ed56cebf34992e0d4d7c8a408316ac4a2ecea8aa82684d6e47a44cc5754a4b1d0c0667157f638240d3973e3aecd9987a94cfae777b518015482939f436c7cdfd3307599ff56ef44de6ff585004bab29d8f303c6f8e049788b2911d95814ec7173dc1bb4ae5e342a6ab215b17cbbea569bbbe25548a0e8fa13791eb2f8778e26b886cfcf18a495d6702a5ce350832cc01ce81b7324fe2dd00b3b2a453c036807140cc4e381bd2f5bf86969fb07e1d9051714fe81b5860f3916fc0b70983ee9ad8281780963f4761fad0cba702e56920a17a3169422e75f486641a358daa84b4f4cb9de24b997a47247e23486a3919c2d176ee0d96c66d0fcd49dd07888f420340fc752058e0ad4cbe6f9f70221b26a36f0644f02deda0d35dff64790995e1ab7abd4569b9ec5786c0b91d87db61eee88d95fa9b72d793f9ad2a6e8b10201fc0442e5cc24fcb2989726fd8ce37d1633de5e89cc4ff3b86afcb7fd5cea2a7490c81232fe3bde589cdc2dd8e993fbe0cbfa31d0de5ae256ceae502795ebf2ac1dc8953ac4e1073248da8ce6e62e605a92bce28ef3a19fe7f67a8b1486fa1277d544b0d65383bc776835f1cc2d323e9e5946799e1a2585983fd0142e1d021000a3336583800bb69a5e3a9be34f2d4ece9583fc684f652a83b25daa0e17ed841b39427871e847ecb5c3d9814a14440a84e54ab72fc5db1d04d1c9de9d6cc12809885e83dd902b09d6824307530fc481ce253b15f6db5a857383fc866b56bf5d5e443be7bd53c0570ff6f0f21863adc53e10838176bdd69107947801cd14734d5dc5ec9859ac947a1998401e49bca5543fd9b48d69f1370606b1e4886254a959c72a45523612b491be0e91461e7dfc5b0bd9b683d25733c2ae79286aa0cbabe9948b7212ad7105a4f1d5475fb80a4f8eec192efad7087d3df71eb1700de37d919d2d3ad6ca96344009f80cf4c992ac50c53d5bafd05fb010427243a5fd43b976b89a355ead671dce14f317752f0dd89f1fb106ac9b671c8e946112a6d11b83936864a287140d70087baf1e00db9ff691a107d60c222eabe19c541ac04f9c11dd9cf1ffaa7ed423fd9b128fcf65fdfbc2314240f65ea4210724b92b8bbc1c7c056c3b9d489203bd4defc8bdbf1f008992611d3eda62cc0c4962f276cad243867c7f8b128a33dada7a7cf3e2f0933e626b7c4cfee0705b6cb84027127a162e84f3364bfb66d7634dee332977596812bc823cdb55f426e92cacea1987eee2fe647ce46353dbe4d2e4e1350308cd97dd1d89f3bef99c6bcbbb9a48e9cbd2d4c0bfb97ff939b705da10b7bebc6b31be9618914f6feef54476ee8dcba520bca1f23338a671ad89f621dbf74ee15a52f33a9f3618a3b3aaafb9c24164cf56bdb2f571c6639d0b78e304a1673d91243733dc8fcb77129af175f2b853e4af291aaadeab9b9a3d6bf3407cfb4ab2e01f51b1f4f6f4007c1254da20a004bc3ef1e79a4677a816b5d83f2fab184ae97b394a899404a7fe35b2282dcfca7a05e3aef48c7585623ef68aceb825f3b32b03399f07478fc8d317998bacf7760cd52a4e50506d8efbbd13b42e217c0110ba3dc6e7751cc68bacdfb51a8c4851fac7b1dac1a639ca78a282df94c34af6a6559b309814656fc6263a5685617a4f3edee4b007cba407c6282afa366a783499f443ef3dfc1f43da76a4476ba69d401fe256197b19bd6f2124faab3ed365fb872bffcad44f8e16133ca3964e2dd30aba1d7d6b100b23f0ff493399ff99e3baee8f63ff1a402a64851d9c12bc6b486965a804764f0d0fbf071121484fe6f2ff65ecb08b596bfe6ed2fdee10638cd7ca5ada28adecb883bb0675d5ef69968a42068790b0e399abf011710b210f191d1a5c836fe98882b7246cf742215e3d453083895cbffaa23ab0a06a4124c22bd84fc12556a3b2531e98f81ace038abab5fdfd6938f78d2509381edc2f0370eda514be73ac2a9a5b4d24e5c0fad19884e47c50d231d236f7214406eea73f98640c48e4fcd74cf20498d03eb0d472f98525374bda4c67305336785c16101937616234dcd6805ce933670e300e33481b975232724a31a2906a42b74d8a2d25e84767a21dc5bc468f9f348414a9f31758c6a29c526cefff69a05d2542aa97ee68d50d9d7d232f1d2814ef82ca81f2b684f50c1afb0276f7c228addecc52768e69aef7d81275a0c49288e72eca20064ba6c635648edc76efbad6fcadb17d798ba0875d38e488d8941042ce6d57fee66617adbfcb23f4e69bd4f9cd1df080199c29f2bf682dc0289b76a9c68ddfcf243e83137b59a187c18b4d87a9ddbce517fd5ff804695b58a9a7b6e8c86f3b87d76c3d4fcaa1fd1e75cb28d8f8018bea0d3dc9267a29ded6b14193065a565ad21749cd994e0f682fe01f86e10fb460fa3050a84898956404642cc9dc3bfd853cdc2fb1f3dd9bf09c247c0c77936d31c8aecc8d7c8141cca514b36bd32c4706e506be8d9f913fe91671fb259300e6e49a75afaf42940cb4fc5b832144735141b0a0c4eb6f24b116213315315f43325090480954ddb9a6812354f10b82aa73316036a09fca10cfa4f633d92f8f321bf03db64feee93d177c72d24e8ac87a556cecb9f6b4adbd8b1dcb70a0faec3b2ccfa251570e16a7e77857eb9edb19868f4682ffc457179d193c9b82b8cdb476e6058a39e78fcd4d73ee7e064c1ed3c9697fb9fefe3a3640c350fd8a9f17775a8cb21f419b1936c3d22a9c5240aa10e89ec31c77a4824c5b1a1d24c226cff87ac1c3af932f73f4bba278d92cc5ae20e7dd5f2b7d01c21e94c4b528dab18924f2251f4eed28823cb46d9407428e4dd8c4c4df1a01f520551ea4dc077bb0e5885a26c4288fe66371685df3f41fd770d3156a9eeece99f31150535eabb39b95bee2fd7ce20baa3aa8e7c38defbfcaf8f43d4de07527ff08fba59f1e48f4a771802eef49ac495a64445d37e487a128af63c3c16ca5254afe2c727bffa4fdcd771636dd207f80329a52b12d4d2b2f949278f005f848b782079172bab5bd4c71a64aa4fea9a5175d075a80bc1fbce10af954e6461f0c40ccb2652dfe00c2f5b679868dc6bb53f40085d43e57b8d8886744914b9382c1fcbd81aa2c981c050a3c29ca8552c3522939fc4115cfc071908f8004f67f2ca7cab475ec3a9e2e85c27cdd425faf51cb3190fb72c8ae1e9a3b4e2500dda79ad90a9d0b36d68e1cad0415a5b5011a1c29eee644d4c1c9cc75c454d5dbd7e81309e47d2726f2f3663dd0ecb80b876d4cee8e855d14daa0bd29e2b7724a08b1f94690bfa10d433241bd6274d186a4e154baa12bfab91d886ab0a2fba0f2fe9363c838426a2732d4a34602cfb0a51d7022d04cd40d89d94157b7fff6882a371ba5b9cfc9accae16ef295851a4c5fcf7c7037a1bbdb9adf5c5ad77a38c6272f21f829e55cda6d5b8ec66219aa4949c0bd89457fd4fbc82abf91964b8976e00344b09b7d41dfb8815356d5096780d7c0d6fa9d623d64701aed81604b7c59722aa123996f46f449dca03ceca2b52b66ff67fdeff83de26aa8efda5bc16789b24f81c0e67d5b26d902b20aff1a366358b54db0c51ba0dc148cbce242ffea2dce6855f1c8ef76ff2b56857bb99d1be3093df129d0c5222f474a403bb6d262abab9bf93080fef53b91984fb96c01c2549f507950acb80feb96d5978d6dfdb3e0c2ab8d7695920433c3259f1d764f5c9eca141f5e7350c14018540bfecd73c9aa8c66723f27a0fdff2b56857bb99d1be3093df129d0c5222f474a403bb6d262abab9bf93080fef5c8833c0f5f5d61bab31de0905fe726515e5229d9c892b8bedfd0909b748b1a7e4bcfad3bb863714c8b7cddc56fd8adcfb45b7d5660f52dd150ba87de4b831bc5bd1d8692ac45e6cc2c6900c020ca18cb53dbc08ab8227eb56d3f6257d4bc28fda50598fe0abfc2cb090a7682c2572114e89b19a4f73647c2604827e18fdf044a196a60bd084dd3b140a99adbc295853bda262c7d498e95b6066f715860ce2a1fa04b9f246543eefbc15edd131198b10e7c3f60eed1dd43e14c48b1172272bcdf9bf8324cbb334a97f29bf873cd65aa1bd3c3a649cc1bd9e33ceb3fe35b83d3cbf735fbd7e3fe2b95e8fb61973753480b25da25f938b9f68393c69d38301a40e710ad88ce6d232f2e3f753ef9c5b52457924055631ceae26b6e9f225c2929898acff061152c613f2d5390f3dc80d18ab98f61ad81682b88106d0df86c4df41deda75580ee0688850fdccdb862f4996e4b355b406d77a63803a34a036d0bea41c670bb912e5fca1e250c7f7ad7961be8f4bec28e338cfa7bed3140e03e8d0a97de362a7e2166aa3ff022baac344292d7be3a650b4c75cb45438b112e1cb47787fd3afb189e15e876290ed2b9ae17d85a53023a6bd5448f4870a3c61c4f903f479937678fb37aa250b650afac73f255c71d3beed046754b865de294f53f97c4f9493a23e4023e70128e3132c9c30e546b25207566ac52f2b069d971a4d5b04537aee7629e94f34fb61e6f48c26f352e423e799e9f88c1e407105abb99ccf30d70a944a68ea435912ab87927a46dcbb1a02518efbe6c289aa97cf29c2cf8d7f8053f74313291047a2cdc9a9e2da9975be6b37a636d46289aa45ef8a20a72776edb3dcb219abf0441806cbc04e9688b924dac1fde96a1939f28b47573a5451c9c1995fc1420025ad9ec2ceacad828ca530a14ec84a19d353b0698658eb8093edc78be65d22d1c1f97e153fd8c695d108a5a3993aab13332e8f38a391127e10210624429f95604d2c3bb7bdaff659a9418044c0f7247805ef6769238db95dac439922c7863ce77154b9fe2315a2fe1784bc39f2d5ef57a21e0e1be818c8afbcd924f8161d4d801224127a3679b9934552f2a2c69ad6230c16a20240069a032090f5e3dff2b56857bb99d1be3093df129d0c5222f474a403bb6d262abab9bf93080fef54aca321430c0bc68b84aa740f6c2c1c5023e979383f2406fe01093de7b4660dc77f6d760ce58422e29843d37122fda8085d7cf434f1c4b2684ae591fd16926150b059eb6939a89454f7114c895a212897476fd49ef6b462329d5c780cbbc67be789c62676d1b1716f32681c17b94daf85d6bcbe5d7b50b70eeed26c71c988fb632a2fd352a2c29950127e2cde66e281e56c55e688afc01d49eb2fde8f4803c721ec2608da645cdf877c8796a272faf90d6d233e45a0109b0e0b823a34b2f0c0b89a70262831142b497d3a3bcd84226ce4cd52ae6d6f54ffeec2fc656f7ff57685011d633d477449fe51bb648cec5d2c311b978ac45df664d6798a1789b4702326557c1133848c92a9b0b6380960d895bf439baf2d1f7b9287915bbaaac75818d1dd8adf8b09fb363997de6de2e2897eeb9d1aa874700a11a21f3c5c0efd66ccdb53a034b054a487ec69e83417f0384408d498327897d164bd8c041df922e6cff4b1fbadacd5d5156391ed8071e84cdd9784440b22829d8afce4b9c5f2ea2ce26d9d7ea97901ebb1eddd2833b97f76fc449c39a627e9a152ef3309cf398446721eec77e2add39282d3a4d541a530b0018323bd15ea7bec5afddc8a491ae1c03e7264cb09438c6ded07f57b6f7c5b04a10644fa733b84e8c1931a1c86575f4ef4058d37c8d3f3514dc29b7a7e0085f9d392d4b388df5fd63d274e53ef02dcb8bcd5b7b5f15d4ede208da0768a8ba93ac6b731cbefc25673c4f95850ce3de65fa598b9cded2024eb3cd38a0b8f4cf2e04619a97e15ec37d0e7afb33496fceda2aa4db9f235a1d72a57ade6eca9aff93217a6d58688466fdcb43887380adb6e7036c907d7d9f639d5eac9340408e8edcb83fb8ac06775094f6d5c60b444d7fab5bc33d90d528ccc1ba7975de79ed3e93172f554e1bc23caf45944a0234752d06825bfe848b7f509e98e4d6aec6b10de90824326bdc926c4492e9f9b47ab73349d7ea7473c251bfb74b2f6a0a436fd931056cef5473e811b7c53af90e76c7b425abc3aaf5f16eea2c1175b940476c4c261ea253e09ae270d1757c6cc415251d1b960281d9867d561b27c1570886b515ac19f109b8676a110a5b06bf62579311921cd06be7250c05f33dc86655450c9ce1ae44af0297d15c8372be08caa2b96c8be346f25edac85a2ca5e8d7efacaaea8bcee88e199c8f94fff9a8a31fa51672ddf9449123d02a5e6b0a477e123065deddca95045dbdd330d6c908c66dbf043738cb2f832e8d0bcd59977b39dce38158e5243ba3eb8e9ea972aceaed8965b43847e51588a71e6b4d33fd857e583fd2b7c34158141bcc34b5f496228865c55e2d42f18b731f0df8f8994f7930d20cea03223b990e36cab37d9db998d4a32407c62af93df7093ddc00005238fada5dbec26f6bb79ce36f3157f612ba0090e91c8c336e9986f8ca3f0f1f6bd726ed68279f423d4bae696c9da7ff527cf217fdbfbc314fea1fee7a0819310e0807607760875832d19002701a6fbde485e8d0d2c09f736e51a8991309d825f07a1aabb8fb275ad759cb265dc4dcfa2e80a0cda5d830d785b27f8d66c8a3c9a579a64d6f901dae2d396478a2f0b656ae04a22d2242ba020b13df1000db4dd9c9ee648540523b1bca5dfe751e91f56946cf56ac6dfa55241a232aef69d9742b3028b2b1d1458b72ece929b88eb70a81d4cb9f78ab86122cdc5babb8419e644ae4c510e65c6fd9a6622266cec5ddd02aac9ec2030f2572d3c7534b4971da1dd46293aa15f34a33acbe343a2282154c6ec5aab4a7b62323e5f2192527fa372c17f3b6598cf01a868a68b8ffb5affb754f39808cd093224fc5434e793850b980ea111c85562da423a7381a9ea47811dc127de244e9c936cd2202419a8a2a11bd9f83fd2098054f97404c5ad40c54b5e54ced4b1da00895627fe22ee2fcb4eca939a9e6186c04d9472155546ab9315b4acfeb84bbe908e8308b3561603aa1ee9507f2f0ef3ebeeedd8fdb4803a2f7e526e2ffc57f80802737f4f96197de89d0bcd913061779996f9492317fe30d0547c5299eeb8c5f3cacc0b069cac3f9cf2b0296a9115d858b5c0ea2bc0fc055c45fa4c00d25024217071b7fa4fb33a06eded5872a2cfcca4d0c89b03612a30ebd499c12569dfa4df695edaf962a9c157f50c66740897207b987b05b71055ef170ae72c22c5c1cb49d043325322c68aded986f96da5ff88f68885845e413a8f15b003706b24462cac0f41a497874d818f53246afc5ee88a73918445c9b79c1dc964aa47bb050d1f36b17c99525b967858feb109923b505af105221d3f4e42a07d9a3d8a89703ceb82cc84988ca3f85fe820456f5d12444627300aac60dc751790cd70f9b86149fd4de70668dc209e171e53ab6cf10da0b6fab0d93823eb5018458245917be8646f5ed6d70cc62b39e4d75d57a0c5f13f338737aa2a3c3781d5f437c75be802dbf2210201cc35ca8cdbdefb165d4059007b62bcb0ded54698e986f5aa7647a5e259fadee6169ced89190fba24bd8adc127ab2032eff89ab542285e9606ccb29dbe4de36d89cd7810d208eb049cb26d6833734cd1d651f0b8265aea571dff0cfd54a0ee6f64cd9f730fbc2752b2e4fa55bf25b675613dc49f577371073c70ba32249419b8f012ab90ba264d4e4e8c4c40c2cf1950bb46262eaf1564705922e1a90e4b902466dd7a3b180953494ea6728a626389d256f5fe2d44920c670353287e3644734c21766aa5f0011b0530c85f7c3c486e117da25c0a41e4ffa8db76c12b3380a7a72dfe3c865566a9fe4745f67d92fd5d71e54fa9c7f9ace99b97223468545ea29249c064749f4260ca50b01e0bfe821d2116811fca2be4f37cdfe4a25b08205331850760426ddeb4096a447e378fc4d038ade316d207db73057020f629ea4ef82cbf43dce30419b8d4d23313dc957a3cf0b202a7ae6173e0124cf323831b2496d9ffd171a05cf342f11cf1241880d913ad04d764ca86bbda96afeb8c34bd05df53ea6a7af0f29418dbbb78e2074513e95982bfaae62d7b14b6247a3370239da8f382e41d59a1dfb3eccfcc5046d34a1c63a79fca3ab874fef5a6e51f9a5154e46cedf7f201bdfd60bc46ee105c762a5a303a106fa18b1ead62cdc52970f9ca5c42a5fb2d467e99deb6711e3e532b35124b8ee910b418281e34eae3abf4f4e35ea40d0fa4d781643bd285dfbb3cda52d56f63f328188b117d9a1cc669702876fc4f04c9725bc8ee1c814bc1bcddc0daf15a7fc3ef6698a3da3bf08064cabed6ba6fd66e561910b6d7896fc9aa4ac4e7d41e91a476b4e83aa492e88493866488c6646c9fefcca8a2c5ced371997ad3235b0a677a70320ddaec8f6a6ee437c32995abf9fc484160603a8e6b0ff801c86ee4cd4b193552b3e5d87a514a85d0348632a5888a49375aa96c0e14e68506577044f1c91647fb455a84d1e42524d777b26d824f6ca8f8b21059c8674a9896ca62420315d381e78d76d4b9cced8228b2b7571fe0a87597b3719b658eeec80de2d166e82636a842434b5dbc6f04e451d1c0f9c102ce9110651c67ccc3e82dd488d4803c49ef6ba21e56355ada8e10c722d53251af5011b903266b0e46b5ad4101128539dcee9d1e40f9c8ab0da232eecce6fd949d75579b89c835c3082fb4290b32786363e4ea2b69cdc91a49f8437b92e159571419c181d6112cfae320d47754a364ef95db7f58f971f61d0d26d5138d33ca5b3fe7cb7e6f18396a111d643f7bf85d8244b8841c8acb56d4aea41b94de62c9cf56f163c482b5b3790cdb0493445ebb51d2052842e4f629ec235869a8bc93e5e3c419e5f6c973d708e6d1f96494fb6b1a019fd364340d417aea4c47a3bbef668022310b653f2b9b5c5fc8125ea84f5c9264688caeaf04503d4fed554f0d45036d54d06bdce17dcb68be024ee7860bc20b5e9d593e70e70fbf67bec99a6cf81031f2f7ea0c5b409c1231165938bcfb07d06e3f2b2346d3981c72d90cf97f07f6dad1148f6a1145cfcac426a09354d4d143b14276de83ef5eddc6dcebd97b95b9b64b54f41b614ffb5747b5f40e957a981c9176af4bcf9d70a49fbb2574763c52c43e40354409b2cc5b7cc07e351c52a2e6442b3010197dfbc0986666ead695b9d2a861ca91729570623d301c13c6d0f531e0550eb50e81416d7bfa8d0d595afe32ac6bdd516503a32b9a3be0018e92494b943a30cb821fb05649bde97fb89bf6b74582a6f980eb2c777e6821e25d8064521058bc49ec1cfbcbcfe6cd6ae2e1635735633e0f1e46f0b4f39e0e1f390216ea6a18119c181409ddc289d0e067364bf9f351711a070e11d4dfb57883f9debd499647be2a4f0adef0a75a37e7ca802782dd8bf3c70deb67356494ad32e6dacc899e31c4668cbd6f63739669cc52caae912a73d21c08bf197b90e393069aee392a25f69bd3afae14deebd163a3c7c111fb454f5fc2b563dd363bd0f18a2647c4474f24993ab043a133655d2fb2e240f7e82b62073f636a773760f2be478e36e18bb7b0467250533bdeb2be04bc31ccc3292a455efb01755a42d7f7bd79d1b66906e76b38145b11f0e3617ab85c705de6a9fe87ea097888744f9f63c1d161956fbc54b109342ded3257bf0eb4f3b72a68873c723c380e86ea42499bdb6d1a3c13e009dd5a6e9c7346cf721b347235af81112a06338b12d1c1c8b4e420ec28af0cd8255c9d0d37d56df7bf04714a61cee99479b3a8be81566f9a172520aae215f4cadedb8cee538e3b0f152f88ae418449a1411765e252d177a60fe550929a7e3ee3bccb98c0de70bc7f58d455f313e22194f779f75c961064c9fc90153bc07a2fba580cf6a9c25513f8d48b1a0e17bf4f75e815ba28688f94ee0c076edd5dad6a6d3d5f988fda10d8b12922df711252ad984456685433afc99246fea2c1136c07f7e0d61a3c56a065f0ae091c401322f9b3573dc73d1874150205542c02fc8e1f1da69b0adec0593a22489a5885b0a97bf19174e2733579033bbf3fa5efb3e7368a37177108278c2f3b390ac2f5a0b59569d76299e1519f8c3497a5f33a150412bec86843c02b408917f745598c0c9de0facf3b89e3d414c3241483987b36f7393f6bd66f6c2712e294ad0c16291f2be3056e185a923a40a2536b751d09da426023793f9cb2c5553455acf0551123bb0ec1338f6f75dd60252f9495515afcc66b294c08d7782fb7fe68b5c85e6ed360a7e1ab9e1e31af294447ba8f0802c7a8ac4bdb54f19e69af8711af5a216f3ee712aeb04cc8cb9d879151adbba15303578e3547615aec836ecccc5bb6f011a2c9b9b4293ab0abd4a9165da00b058c0732287d46d79aed11236980f9cd45e34143bfed87a169159c0f137b3442aa7b67fa91010f6319176c3e9779e4a9d4e19c306aced76750b754e8a4287259d34beb987b998d4faf83ab3c233a668c147cec45c984632939adc2072109c5366af68ab83123dfbf1cc73ad6ac9f464f11f37315be7eb26178033892720b942a401cd36b60b595b8479149fd5982517194207f804f224ff75b99928def85de5afd100d0bad945ae722126c7b96508118a66cf3c170a21ee06c95e6d918b761bbdf7fe339ea3e9b55da39657c49e6a3b8cabc85a1616253e562db27b567dc6bab65d27f5b441600428917a7655b0ff202e70b9f6e8a965fd07a613bd3a3a807f6f23d37c9ad2e0c1e0510182bf541255dc90460b4ac999ac3cb80664207a52df8e5f6eed76dcffc3d789e59a0c98e0bcdd8ef90acac4b01b69c71a2f9beb4bfce5a5893ba46c49855b7be58478a276d5e762410c861783d646c20af10b6342368bac369a2cbca81a2036ac5a24115ea2b7420d816c91fb848a6831b091f62f545c194c97eea4eed38bd05c4fcf9df9469bc02c8464adeca64cf33da6a271c67ab0cde854327a8a22a75d41276070c323dcd964549b594a0ce5978d3460b878b209f0822c3d82cc2fcfae0e501c921a7ded543175259b7bab7cc294afa211fad3850a13fbb7ab4130fcd162e3ac4d3593f7b6c5b6232a498841dc2377bae8dba61b4aeedb048fa1b472771d256e4509222f80f647c65ccff5a1ee01792e35f13e7dfc5c87bf399a0edbc8caf1b1bd73b8bfa30099385e7ed31413f6d3db14a24f21a6dc6de01abc1e4fa6d01baef6bef274567b5f2e1c026c054c4b1853ad71c145bea8f71654b98ce0379dbb24fa659b2243debe3d16ca235b14ce9bdec5612c3f31a75eba72e4fd3106940a07e0e8e585b4b5c694948feb6112890e213a9f6eca0b12e4e14d4aeb4ab9a97de021727f50b1475114558b84b650583c28f51227e4ea8718a37d5fc0a395eddb9aeeacd01335d5bae69b257138ba810bf6dc4c466e28dc05d54fe1ff1bfec6063402f81656893e3bab26c8892f2de5872e9e15319805d068f9df755590fb4499cf33de0c3d173527ac398cbdc6ab18a6709d9553d4ede382de6ea00908455bd3f97c4440887c472448f30d605e22cb89863de50fd157e4f5e451ad73f76694715205037a92d7d441947eedc0f85b7247abe409a5a3f937d1bbab6d4c187da72c40fcfbc8c13c38527c884e9e4815d60eb0b54461d71d7da73c6844607e7204eaedad8c4a3c1c02f86691b0290b10025bf80eed5e157c2b816a1e67f3e1d040ddaaf15e8705a640bf24f3f41e7a506d09acb10657871527dd79d6cdd9c69b4d17ab8211338d5dabe4fd70b0ea57453659f4ad777d6e91642b7321bf0dbc3ac843c99e9ada002493129afbfdc029eae040461195f3f848affb61d2e4bcc1d4f29ca7cd4a17a91bdbd7c20cd962f65164a01dd039a3e00c791428c484ebee23e9fb0260765523ee493e7092d5f1e9eab5b2dd278c0967960c7fc179b3b3e565dcfc756d16843b7152c66babfe29b63b5d55eca783a4910ee04851620a036e0cb931640d714ac448e69881a938b7718032b3686b67f04bb1ef48b9dfff0187f91aaf583953a59e8491c7d6906401ae75b775eca9e1b4bbf380fde4fd22f1c49844805828398c44eced573a054f05cf858d36262e9542ecf7eae99e56cf4765ae68ddee82c1bdd915fe134122d21af7624a7eac11533863484e6a741cf5f17f8c6302325763f191fc6020afd2a8214ca86c388e2db109817061fcc1facb5eda6e64962340d8661767d8fbd069baf3ccc870ee3213c35b4b1aa0475cc89f9f666de4fd9058ddc440b49f521a2e3bdbc55c137a69e60de521a100c0d6ec3f8cf8b4d21f8b7b8efe63e5ed2014b40eeb749115b705a5ff2895428539078f18922f62963344288609e690b2715218cd7f605f4e8425c8a4056639de96bd790a68ff0773799efb419017c9a1564c8c71a02c11e69e0a6d595e34969dfaa1a31d72545e97effbb93c44346d3ebf9816f3e34592a908483169165dd1f19c1d6910c69c42633101affd4089c6acf85c1903778658dc218b355733cefd07671f8f59916164f103c10005fac77088c4840fdb9ab743f300e2971b73c3ad75f5daafde88d4f1474716f18af1b43fd6ace16f3b33f2d8508d453a2b1505e972dfc3835ad44b47735eb1b4d843f17ec5f97e3f942a2397fec173cff5e75788a8b4fd40b2acafa1ffd49a5f57bbe4f02affee404849b7a8d233cc5f6e79a52c3fe572d1d78ca0b43ad0db73c1c084b9fad60069c72b60c3466df6d2eceb3fea57bdd595aeddca0e76a779b62ab70555dc31bb0e39638153c86aed56b021564e8e17cf9a1db6df961eafbe612acd1b0fca9c00b1aa238e1f2bfe1e678c25cc9c42446099887e7766707dde58ef0c241a39f0c79c8b776e3cae1de108f4df1ed49de6363631eb5194895a30cddcc49cc0c9ed2f4498961bce9ab237fc55eaa39bc6a96a1c010458a205a68b920d20132e156f11b17c2292da0dc6105fb1d44be591bba645a30f730461491074d001aef45a4f34cffb2e849d4546b7ff889d0e6bd37351e7c5f063418db1e8638f3bf40149661649575a2043722aee4c65e073d05942a6a5c5dbae79c0bffe403627844b2f7109f94ca72976f7902577850f337ae011bf873d13d2e44c15704e27536c96b7fb017f7774e1a66ac3a04935e8ccd0e5a76669cc7c792bbfb5b0f0681834ace6583dc7a2b0020d28619890c9143d3e02ccb336c8ff73929bdd6f5dff7fca23f4a71a0cbe283d9255afa8ac457ed0e3ea1aa4b2042b981c6b890221051a858c6129f7291ab02a97ff328b8a61381f22168944acab71854cae7d7828bb220c36c2e65a66a23c324fa3c809974e15b635cc0c130235e436afd7058595b0d7d86affce5c01859e34f78f419870272301c855a3f77f1c2ddd1f5aaad1fc1339128010ca6b46412ef85dc3b822ee55da515a1023e3da84e02f72057d85644dbcf52af41a671039d59ef4965f31597aa565a1c386d748d03b512ab868b0bb4cbd2148bfc96cd36dace2af54ee7722e3ea605f9191f7536ddb819979ffa8db3bd8bcdc27c19e95628e647f324d54784301f03246a3bc56a2065daec321ba7bac3f59054c6b22209d9c33ad68c485155ca5bf7ade88b38f3f933ef4b2e888377cd45f99c60f9e2cee4755c6863daccd1ad68b321a229c7b61d3c16eae985c6de9c8a843d663bdcc2e0006eebabeeaac4288f228b8ae9f47bd04866b2204fe529fb669056bb94045569924c2d4660e41d957cdbc2353b6f877f1c8c542defe121bce85bdfb46a0dcf8279ea2dc8a32c474e79fb613e27884692393af389c015404a1bc997d071d12b6623b5442552069e0ecbc3febc563fdc7a5191879d5a44203c65eecf0404f0dbc915033cb1ae647b2468c341cd24bca6fac2a3d51416b71e872189540182f5440a282ef20dae88c2296d4fcbf7e0b4664b5f3ab00b11a7f3b4011ce0635408868f634e443fc00c2f443669bafa71d6e5fdc4d16624e88f7e025a4f56eab55d0f1f07ebef8198a972c63a198a7cf59376ea41d1712938dbda9f60468d3ddb861fd2d8d052d5cf970945661430ef03d50ce5302f2d5bad2dbeadc897e1fc1db12236962dffb7fa88d0b51e0edd51c71cc578ee379276aef0b442cb44befe380aa86779e0fa527ffdc71bc925a7dda45e62f3680b1c3e6f70fd85252759f8c850ddf88aab43da12e061b7384d701ceeb5e8873a99d45ec48fb5028b089eff3d2dd68e698c8cf44b524b287c21d272488f2446d05485eb364c244d5dc8e8efcb58f4b3e1bea19881aa51a81f449582b9166e8c4e30dd561211d2482b766f728d1c473eec9243458313e28468b9f08989ae91c67310b8b42fa70828be51dbb3d2c7dc11f3a573462653346d9b44dddceb63d41fe440d9266fd9528328beb98a6bd6b6a9928688304f1660452c3e2786323b7bbcecd1d4a83017ef71f45339e4b0b2614ce9df63789912218665044af9f7040dfbb7a9e17c0b900efb8f1fa326d91857d51b63658b0949558b4ddc9ada9022d31e9fb1d5676b74fad6c87207b539f7b581663d1f91f323f6a2b7695912677fe79d7f28e4e1845c2f66600ade569eb8545dbf6affa32bac0ec9703d4d762b22ae587482ace0a7fb7072a6ede74a2816a790d45d75a1afea57eeea8be6ea286d9b4694bb21b1a99ed1a23c015073c655d2c434d474d5d82779d70eef1d1fb02122ca88984a111c7223a625612ea84b85d45f7529b72e9ce844162c5fb05e26e8967f517594d32e5cb6283ebcdbc9c4058b9ef66a3c85b09d55ba08e139f579152e2ab16518534dab746f44e44ccdca2bf6bcb7d54400ee0c50356887de7d2396ecf1708a50db6aece7b0f47c1bcf052955b44664b435162ebec9fd5083fd5c42b08bea4c10728d888ff8cf9db6201f5ea74bab61ecd5516b7211c9c44dbec9aa3aff42515eefaaa24afb7a130496c483262cc1891f9d9338c8b13be2cc1da4e0343afb52345ba4370b3403f0a8584a1df065f3f15998768284e69ee6ac2c46578876266c6d3794bf667f11679630a0c8cd8dbefb2dff76104808286e8ec79d53374a90f75ae3a30504a2a8921c8dd831ecd0f29c99b706921fe350e1dd46c02bb19193e328cd8f3098b25ce6c5bfdc3fe2faea995411e9c4cbb1b8138a2df50a17fcc897a98779967262612a9b3e0da7324a0d5ca749d99317f2a369ff1611be7d4040cc2ce27baa85e51375a0d67cd18e865722de8ed67f44e21144d78bcf8fe3dd9768a700dd47ed1c19bf0f957aee6b7c33c23b599f20cc53d77029e187bfa494ceca2f86cfeabcd3f5f813d3040217429dc2a53602999457078ab2b70619c9cf7fa7804d60f3f9ce994f739ea6c99cb3391b5716df0f116706f807a58eb974e04f4c870c885edbad69bd889ef47c8e597ba113b49c4683e13d8c254d2ee413365278d1fb5227b07dd3b49ba36a8eddd9c0d4925726814b38aa67e3479b2a460013513e57345e08ceca431b82033f9fa826b9caadbcd8f170acc5429b638e4cf1ebd01c575262e56dd1c7cbe58b968fbf1aaed037d91debdc4657ff54e89748d8683386af29a53adc5af506ed8d7abfefc131fa99b698b9b505c968840b8859169d5747f9de56b15577b325d7c01726f8454cfc4f063cd26e6ff026c894f60f3e089085be923a9532f0809620d0abfb488799c21a559d908a42bbc3bd89068a6a4d5bafaea17325d4281a476dc1c4f2ea3f3bb12bc4d7a4145c028fa88d0aace0e7a092f229f453e3f608d7ab8368a35e8a9ff6722229d9325e212d2c4628531ab5230a95bfa92e33aaa33678eb57deec7779ec5cc3bfa8ea0e1853c61aae49e62a412748b56870d6210357f939fc33657ff18ad5b26642338d712d745cde74cdbbfbbf4faabb25225d816ce340d24cac6664a6cc95cac07d7bee23d68a132f8cb6c968ff937f2f46a44227e918670554cc7ab1bbc97b582d1a41026774b105219f0a8288e938879bda390324b7937e3882008b355514e21b7d0b022333f3aa82e5a712e542fec69e79b27e86088a117eff0a13e84b3574a82df35085485b7a41cd345a283ffa9bb1885501906bcb1676ba1cfdd39cfa7539c45cf2c331f1d605ac160386ade3d729f77904e18192696f8a57583aa41734f4b126878a3aece4b85f5e62241f4f8ecfba2bb1cb6eaf6b0b42668fcbf30463cf1b8e54fee5aef25038b17cd47083a0ffd7f70319faf1c077a9bbaa966470654ce96f78b2ae08b2bb1cbb3f7e7ff37760132d8d7fbab561b828fc88469089bf3c81fd2c1242142430603e439cba1de695944cc87f4d6441bb82b7298fe0d1773c02fff3fee497d3a7cc54c269156618288c09b6db9394dfc85660aaa6f79b7fb146a23372b9f7d3e1b30f27c82ac18dd4177a14d483c6c74b945221fdc4755f74c381bd4d7b7711660435e61a1a83fb1e229fbd00455a754e55e3f8b79a2aa024111fc3a4ffd0197f028f44c37584150a0f600acce66c1cbdadb33c40618680b8d56cf22167c4d4d23c8c55900f0144461521862f42fa8bcd7449c9643a0677b26fcbb90a37bbe1766f618484cd8d959c1a60ac26d360ae42ccd20de12ed8d28df321e8c32a7a2e9efa36b34d98f9836acd4092d4f5227fe6b5bd9840b58aa8eb64b3c927ce54682813b331d65d806e0de512c9794b6f99a3de6483f3314d76f4d908272a0dbdce7126002d39fa86fde0d8273e61209fa83f4e0c641939927b1e6147e07d55787a40a49a83c65298909603e1a922b55acf93898da4bafd9ae9ec4bd5dd5fd74f18dc5adcf2abe819fcd24f0cc6c44afa35968b7a73f55c0d11cbcfa72fad63331024126d502c93f8ed5fd7a6db84269870cf288683d37f291f2f9a00198ea1a2a3aa04b8fd0bbc6e1968e0d49fd4d819a9755bcca4a2c8228e0e743a9e0645a7ecca837061392cd67e6ee84a28dd56ab142870705b0256ce360a3c5b3f65fd341df2857505334f60889eb83c72cdf8fe3dde338de6859a8fedaa8847f64086cd5df319d0ba89e98b8082308ea3890cd79608f150d9fdc9eba5b8dcd128c333abda2bc7ec742c251c37045b5a8c77cf5704df4caedfb1a8477ada6fc32a7e4124192c1457943f5d8d1a4a452b5de201e03c30db47a14b0d278e5544bfe51d78e9acad8141fdb0f22ff7ffb97de48bac2c230696c860a6c00a54a611eb5eeb2323216ed05501e1547a8f338bf0ccc9e9ac5a9f9c9534ce09ca540dc37b35c1f69290f8041a504e251c05a027bfa17859dd392e25f34ec23aad2e3208640c35f3b02b17cb5b8bfb175f3f60327111c314ea0eaa8379b657efc83dc9b8c04666c573b3aad53710a964840fdfcd73b58099173657dbf7366b05fcaaf7143e3340a3abc8c0efed1d5c846d8d5012dbea93888e5ecb7e896f8dee7f2df9e703d285218e0e32ea80dde35f02a9511c0913d6e8450ed7d49505a19883347c199c313dd32cd94b3c27bd6ee017652a399871db6c2b0b5fa23bac56ecd6fe4dc56a20b9a328394875adf41c15a8a5b6dbb69d2d9864b23ba0ddc590efa27e4b8ca5bc80fca29ea11f4b2dc39bbf9d7178fd81a4afef73fba036d6352490460653363b2a341b178b3022c879926e22aa1645de52c619201564795f98e65edf6de583401c940b3e5e208c74765f008dcdd171fbddda1dd9d51c7af914c5446329def47e5233032744f01790bcb777b5597aef861cea66c29c627a86d1c58cf40434adbb4ceb5e6f31e5b3abe50d5be3fd6739aec5bc2d248af6ec31b8e1ff10549c2e092a68b95a016c34f00688b5fc97a915ec75d22073c6748252a6176c12d203d83c4ae76780b3c106b2efcd73668dd182b8d4257aa2fcae2b772f59121475ffb06cf1443da3e9065929825d8fe944bacd01e739096c1e0e3c4d2e16a9d8252879ff037a931f63c097fdaa1f03ba890ac7780b0720684e9c001c5a364418d83f2015e6535297d2be61e2252ae38ec3d90d31d1773fa8a4b93b34ee0e838e4533d752de7cebe9c624277b51277c2294af4ba4c3e724b3a5f3de3fd9dd946d22bce38ef6da0bf114f33e9943d99b0e1a900da1a3bbe5e6e1d6dec6bf42803d26fef14827f9d319d5f13e1bcedf4db58fd47787378064712365934b6341344d2d8f37c5ffe4423c21dfd1631ac61a822040a646dc7921fd5c6f0aa4b7b280bb0a4b6d0373820ac155b104929711238ca6854e844108dd781c03585974b323a2c49899d7c1a50355909cb1178671a53854272f72ed9641ec77464f01facd97196e38561a81c528d809497d2e2d8386d832d8d2f8a898f8dbdb5545dba2a56364bd532bfd16585026b6b3430708c3d4e25e224faf28b332554c563a5e605f841c266d8b8a907c7e61e02d9900c5132228b6c93c1cee2d36cfbaa10d26e9bdf4663ef7587e66df1a48305eb00c3fd1070cabce71f77763d86552824707ddd783e0c598f689b0e7f0b7ae4e4cc58bf4e459dfd85909f0f85f43e4ee7eea3b0bcbd363c4dda672f08dc24eed4f7803f216ea03c5717d2c4428f2611a7ddf3034e8f1160f96528cce631cdaba7c427f5ee0187a71690a93eb49af5bf8a69c6681ce48c121f2600fbb3536a7247270ada9227164b531bb9acd6fd566ab1829253508873d174df29872676bfde2293e1588557d68d1c28967134cc47de9e187ac2f1a341bdf38c749641c52832bb8468c92fd4419470abea2af022095d86ca8c9d580250fee44abd55a38bfeea4f17844579dccf0240678f716a9ec4db222442aa0a2454814aca9b0a8af3dec6ffe44ac529100c45b2eee2faac309b320adf5a98fd90b5539557542515edc3104cb8c6ba8646045f6782c653f823604bd1df2c896a162573a5e3937f1770fa94538df7683278be5d696a2728f76903446a2b47441f7abf704ca3c67f26d3b4cfe5e1e7c45e1857bd2b3210a5df4bbd1fe9dd82b26c1695af13ab91b05256f7fa575db4bd3f7d6888915610a2248f0007551ed4563ac7a1fe35e05e33fb826d4a25ebef94a26e1cbb815019d39936f16b3fd7be20e7a48a9b7e92f22c10179003161f6150a46ec8fdd891d82124091263cde6909b81f0d224c1a87096dc40eb32523363fcaa6ea136402ee5383eb3925e6d2bed0790ed1d18f275dda2ff0da6648bc7d931b25b6e85b51f7b56e945a8bd5a71df50f91f56b7c421088a6c527c6f31d4a2dc422da5296d8fb07ff4b0b2b6f525f096431ebb44736f83399b96f4dba37b21261535cdbf85f95cc940ebedbab66a47f5c611f364ebe70e727bc97a9677ab6fc7e7da48e2b5c656c99fce5d33007781632adf829e28c143aa9bd4cfd4a100d57c2b22b7f13e069f6dae545a2dc1c98bc152e162f8ca79b088bcdf35584860a8ff4618fe2294158de0f439609eb31d4a446306ae55b4ede8ca6ae72a0ee80f6a202e9058402214414975ebdd71763f3d99650e247b1d4faa704161063a1d7a94e8f9ab56cd28baff2cb4d1095cde81f05558d4ccd66584b75e3649d0a11dedc7b6195d86711aff93cdbcda87109c9a0f67b66e9d1a53f042ba48c207a7d4bd640d0589557787bea3b5a17ed13c434c2c15517e974425987f5d8275dacceacdf1c8ce0464715b92bfe9e960201f367ab7dc3d7ca6de5c53a26f654735e78f8957ff4a3f87a46306eda30cc99ffc62e3fef8f43d0d3587fbab1896b11bd30b53560bbdfa9975812a57fe575abcf07d91bf9d8f72bf0b72c72e9089993e6d3c53a017b0d02bd63dee2df37a5ac62a429949dc582b91ee66230e12d4fffceeea4d75d5c3ec95de1eae381dbbb9a2dce6e04437b9daf5c3ab49d805ddf5211858d08f71ad2e1aa4a35550baa55635bb16db99c4507d3f4549a5245ce5118112e908cc0449166233ff9a2b8975a4c065e0bd1367bddf056094bdbc3d0075cecd818f3bbff0446fff85e464739ccb5b78413e84a5ab80557ddda972689297fed3a102c86270b37c2fb36a11660672a0efa6533e0bba7a6297e84b2d25d8b8b2a2a25eb43a1cb8ffb208a2b11c82a502fc7ea583a16aa0c750503509af7e32ad91f2f2486b43dac8d58a15f30f947dabf1e53e637acf3f6f960ee6fd0bdf8d319e74144f892c7023a7250064fb5bfe0e3de3fc4e4ad2c91a7006d12a0cc032b4b62b91d36aee451932620df7871d4dd9e4cff5223a549f015f4e000aa18e87910562f14312a50381276f2a6d764cd2983d4a4a3061587b1de8a3e681b6d6d4c983cd0e5e00859413c9755a938d6a604a935a1fd764a16cd46a8df5a6622a497f8080c2f65cf0493164383dbc380cb1861e1fa9d115c267d26ebe13d4e9fc0c7da7f3021920eb46f138b253d40f6e4b25841f070ce39a72f6682bb1731c8362a0c1cb003f259c79672bce074b19b67e79c3d3425d49a1a85eb52ebf58078b24c811bed83d273c0ec7867c5b16781e11843e1330814c9149d0190826ddbf46269805c1e910ba2a864c3423123acb1a8d48f0b7d221b17dc26bb4da0270a7aacbf8d94630e5fdf9ac5d7dae34fc5903123f9e02f929c3804f9af6a39234d0ae8746ced19e4b791a5a76336a382710f98d24e6c4d282a5c8c723282e63d6e853709e53642c780fc3267e84712a4faa82e11f179ee4e1196c1a8f9fa52c13cff5b304471233d5dd44d5e9b2ea7c16f0b890aaeac3e4537f8b4aa1b7f0f778caa485b122b5b276c3923f36eda6e0abd3bf18c9c877814303dda1637d2ae42b3add5a9b0f128be849c46a1a1783a234fdd371e21ea648e65c2f4b9929fbb6990e681453738160a80e93bf0e42cbe1db3c8688c5ad09c4d180ccb08a4ab0d5fe6d952c33bce5159f3b47e4588430a2286b2c73e12c511e048e9d27225274572277e69128bad45c97ff098df1bc64ce8146f353bf9022107d193e4318d696aff045e1fef5d5ee8b5575df1e913698eb85257cf63389f855da456610ba55e62234f7c830d6017d3bd17b3c97397b9e5eb009b758da13aa878cd86eb7a0e04ee2ebea1e359a36e8a4927e6a9853c959c1a48598f58947a90cdf00cae1a4cb483f75cbc6871fab65ba3ef3119c6fabd57528d542103a82a242415ce39a4ac7f8b7fddcdd78590de61f8aa082aff520570f6d2f7512b20219207e318ca429c1667d5c8e856989f21f9a7f3b7fe5cefa5a77687cde2c63c278ee525a9acdf9ee16f85d1812cfebb841d4cd7468b790d6b6bc212f3370665f862f95b3e83ef373d39440e3301a5ab10a4708d88e106793d065e2aaea6838df5f11e6ceb469d805496ba83a987404d2ab7a3d00e515f6b4f9acc53705edfc6fc444234abab4ff182fde9a8d27d28264f302be052070a5668b02a73e6642b7a14015f5a922ddc32fea7cb5b24bf2f6d35d4679412e47ea08247c9dbce5fa1917941ca3ea522cda14594be8be1b7c23480ee7cb56d30f69e03a81ac9c98cc3c1b5e906ea9deb5a9666bb60922e8bfb8c2757b76306486965a79920c18384458181b0757aa3a8f4d092b2e79d91819958adcb47a74bebb0e16c98dc91a0355fb2e25060f799d954c625461f0e272594830768b09aff27d09ec8aefa85ddaf7150515258c0c71a971ab86328b49224acaaf9eb09d3467ea05489e02fb68a38e733a40ea5f0002537741ab5b124ec980051f2d91c459cf79452e89e1b1684108104f053d5a62c3ed307ba2d0417ec6ab4327649bb0a944869da47999b33ed1153e9e4f0e3c933ba67f6bbc20bc0ebbe6a12d3157bcf95ba3b8787fb630b95a795e343dad5fe1e12ec93dfb1abaae219d0a5e9e64ce1f46f31d34dbd843e2bd860a3306b2a8d3937a44e16d8618ce65400053dada99b7571ee1a783680dc76e9305819bef22bfdae04df4f0e862ea4d5d7c07a4d2669c23c7f4cb99ec4e6679b667048438ff3ea1c7480f41bfc2eeaa3b407030edc4329970004b4887781ff16497b66b5ccca4967a7d8ad7494fbe9d5237c445018dba1194ac057ad451585799bbb521b95c87cd03af9f41ea4f8d06c452bb16a27970b50d675cebcdd6dbe37fe3a8fadb84a9e37632099f2b2b233207c6b665c15d20a6784b2b449bb2c37e27bef66e23a508d684cc3f3940a342c4966ecd90f8339f883cef6666ea0b125a5b8a91293a35a4d6b1546e952777cefb38e75c882943c768ad81138d296f84886fd141eec88ed460371a8de23384bfed4ef862229aca3cd26de5a31ba7ac96137a22eb893d46a1e1e569661f4ee64a4298736fc795c22267fe5fd1f350f56b34930f4edef577df5caf8a59029c9f5df6ad66ef520adb56f6afaa285971dd988783467d7299e31450499a30978947670b7e02b0921a5958b202cc142781e9d4fd9a7c4cc8cb2c36b9f5a7e106222b2025a7138a502f2be6c497305c019292c713498060788581dcf1a6765c8c762a6aac1a4e75c3282d7f86a796beb1a6a0d8e85f8b4bd9460275093bbe49fc766dcf389f0e368803ff71bca969f187cac79312e20983d24f58a647244e5dbdd18339fe5fb8ef7df88a89f09a2806ec8b36247f352ae318d1301b2dce1034d4dbe7dfa2c9143cb77e8632a05bb0efa3200c07e8d061db4e1eb45a48235879d74725d47244e330ee4bc3cbb4210ad18abf470a34e20c9d717f2ca0af439b7094d31c2e7b2e551a111ef05e0fcd8087d507afc029efd567c3b33816bfa17196e5f678ad10f2b3e3fe309d719eda7fd038a741920ee9b41ccd10bcf231491e4c1ac270f19cab2520660249b55375ccc5c1d7a85ac7811eaae0782f1b7ab92d4d1a5fd8a992a3ba43bc213fc96b181dfd0d8b7913a709f237801a41619f7936d3e5f1a01ad220bbc1f73d1290452a25c09172759ed7a653ad773d3929d25578a8ed47118cfd86cc11ab0759678696b330902a9a77ee080c10a632283bd2cd465c90f2c323314bae8522c42f38ca1ed74c850f359e876dd9662ac1c612a5e6d28badacdd3e7ccab27d467ced702eed9a209a4aa8d2ccbdd7ad1a097bde401d22c7c980ddb5244f0df446661f703dc91750899a2544bda3be5da578b90c89edf8bca4a9275401be08477a99ccdd1bf60b85d65ac0e3399dc9031c125862d260b46663715e9e469a3fa5799223d38a8392014b7e8f38f65ac23a660644f59b7121babe3a2f81628c8c405c0977b5fd31caaf63bdaca379b7b9eaf8bcc70548fad389c71e2a85eae1f41be2560551773c54c4ab536722a901475c1db2ee11bfccd0611fe82b733840e2a39aabdef4cb04857a18ae2a830fde671265dab614f463896c8eece278e049b79e7c54ac448d4aa8fe701990cf5c68afcbd83d6f7ab899e649e6c57df7bce37ec7a43826f64565192d542316714404faafb3e19a8ed318281299533ca107401a3dbd5002f491313b8c776a854f85a4b463a61290a1f797ead2ea8d57f5067369cbdd1c2f610232ae7733c4110338c88eded9f93163faed792d13100c6363e840e33903ac98ba6497728221bcb018de040abf962124c93f66ca5984cc5e0989839144aab4e7545141f577a84fd1889917f95e6944e9efcac21b4fa25a6f9bf6504cdf44b63d7e99c914ffed35db59ca36e6ceb4a68eb261ccf196058530d4fb79d2db4eea65c2ab57eae564b76760bb84291ed5adf312a6b4917ac20ab19c0530e2ff436017db8c2d0ddc5bed0652db7f9127e13507cfe5ba8cd44347eb00870cdfde7cbca6778c946fc7971aff1dba093f7cf22d420b9ac0434fbf89c0520d09945b2695cb55ecc6447870a645945175a22d1313c6a1531f44953384043c4d2feee8496a63c40f45b6e8f8d812d171d7d5fcfa58d84b6bcb1927b11102efa01375c6da6a5912f8a8a2db84a378d84882c279e20cf63c55b16310f009b0977d0dbd1c1de0654b5569b366efabe671f963dbcef213f41e36ba00a11d2fadcc6e5afb964603bb8abd3e7aeef53d732ed5b45c6da955bd2897f1b5e695ad95920fbfd7d97392803efc9422bb08c4ac5edf4bd9d5db616a35d54df5ec366230b280be00c4e10e2ed2b0886a905674a1dac69570892313386fe3edfdb7adaa3f4f5466629dab466f6e8295dd6b21cbb5c563b83cea495c0b27bebba441449a2cc461e405a48c7ed77dc7df3e499fc0015d02b25660d7e0f1e1b21695a253729f3a80f4da218f98940ff821434d2834764af66d11db1e7fe6f62985f4559d82118325099f6ac10f6e6292450109923c03c9be0f9e3011ae54d12fe5d1cf325dc958dbccd619e335986c8038dfd10fd58b2fda5e5f2b9f0353a294081395eb9feb93e46464b2714cde5c6a44a1e52ffe64df2b070ec5e2bdf5669879490497f2858a8cec96346f56db3e7fca6615b9ed68b4f21be0bf3078bef6b0d9ffc8b7b20f86f71a251f8bb9d1e106f96ace505700c27d1218c0ae02c19525e6be1d893c5a85540f7e6c027d15ace11271f855a984d8ba0033195a23e17213ac89489bcc809ec197720b8f6d61f5767d22e14789f9e7d4e92517d7d847c48e5d327fef375ce9488fca65c7d01e9020e437629d7bfc398a0cf2b884cbcd0effef126b16eede9ddbac57ae2e52030003fef6632b6b33ef3aab4e3cba5a3144284b6c0a0e0f57cb9b5a7e5fb124855d218a0b37b10ebecea0dd1416790fe05442a21677bf321a0311f8575239bacf25bd526c28db7f7f9890f4176104fd9a04c470d715d3fe4ea3ebd954b307d40334282d5f1ff69f755da0b72a6727449d4fc782b107874052143027fc487bc20e9eb5dc60d82b9dddbd8e99b9dd1d7e1e13fcf3ba87694416246e5f7685030c537d689349bb3767926bcbfddee2c7708f5a542b79e45353c615e4876236bc1abf8330f87d95d1668c1ad705e6e123aea83e85cabb3e782147445226f9f034cc7a4632dcf43e600518f436cfce631c535e0b57b50102889cb9d5d66bf3da729a6887fce76b1f38a4a833fc7fa40929bee2cf76dbedc43ba6409c6fa753c360034de6803141fef592cc294bb603af27624c71bacfe6ddf72533cace0532d8b7158a0fccbb5dc6eba6fa0f6079b50ab7740b5a5e3800b39075560ce0f9f349fd370d0d4b57e64fadefddf84565078525a6318f0c0e03479d6987114c48f65eb803461e871f78ad2462cba3a83c323f8c64a4cc36989e5c5dc41f38cf852b1b1a11465ce65f6f4bc494f8bd05bdebda919f990f50aa38c6e9b39eb4e15936261558fba8850b08f5b33dc8c9540ab6e06d325ea321ef82b8973b8c15e126e06dda702cb3f458a99f48c4ffd4c463c797487d74dc8fd1ee617237f61289443469ccfd12a958ae7efa449bb5c243bcb493175379589375cf39e42a0a7d3f08fc2a09a6523c6bfae8f1b6e54405453cb8b29669cb11c9841b484496c0be4a7bab4d6d450f31804ffcf513308234cc8b797cdbafa94f3a1735d2bc08787449dd2200205af31d174deb0f19eceee9d6c870608cc75406bff755af87e1a17d7ded4d4b55779e8318cf1bebc7a25aaac56f8ec2340f4c0ee268e7440619b9560dd72186715a52cf12cab26ce6958af3d14b92d17ca62ee954391defdaf771aa2521ae781d1fed20f1a9c580078795cb328b84cca0ee57e53371ce2da45a0d667354355c8d88dcaf0816ea25803d7c6d4c26ac1b20ba7c5418fa73f15fc23a1c04a1580fbe48559a9394254c8b396ec2df6924e029e076ad718964dbd2013b7101226e424922e174c5374d3c9a47f2e0ce333aa385a18bf46f49c209e31ca74d53ad2a06376e0395e7432413fd10295922767d9f40269832113e3fcb0adb944677c44dff672db856beb812afaa6dfaeb466e51879ccc0c3e1d478fa7ea1da65ccfe0f99e6a3094497068e15ae987eccb0e817b330b348d4b7239f057f4af5d18fb38da3fb52b69a95023f217df8dee037ca6a4057bc4a8f2ee6451c70d2fbd81f08656091b9237834aeecda18b0200783ecafe7a29fd8e1c633bc1f5345d42b74807241d8ba7adcade993997c00300138c77ab2b1051e6b98a9c5508605f4202fc1de9afb25f7964250669cc378579eedcbdab05a916818435c00694cda137b1e038a4e82029737b422e6154a9aa1a6029c39b998ba51f6d3b8df055e7c2afdba1a4c264a9f66cd25f770f56c5a9ce9eccaf86a44007d820c1ea71ad35c200f3e84ce69c865302913ba52dd932cdbedb589e639fc60913e3449998b9f1d244e5baffe5f00c06832183ac3a08b6d6ee32f217758b9b81f61276b5d1022505301386c0baa3755cfae28af79a63df361f05b6a4061dbb635d28237205d72e6be59e9f049fb9337440471e22891c56a94b8f6322f74c0f0bce5c63511610068bafbe8068698fb43b73f727e720cca24f739786207a7a3ba788a4a5841c297bf379d121e26c6df7d5e423ce24b75f6594b0c02674e5fa8f5fe4f2c0ecb83d757e66eff9a7ce9a8a2372e58d3515a86451e69558aeea334367985f1b780e6eadd8d6ef7a89bd969c44aba5ee53f956f64573031458c211d53985eb2e72ce24ea172ec57614d0548712d508c96b9a180c346c927749e98349c58331696a5e4695c5a0fd95a7af1d82e2128df8b75952f20c294637db3bfc20464204be3b91804ea0e0f2f9dd714c8219ff884ada0211c937052e55d2f4c42ea46beafe09ac8f675382c832496efdf5d9a1263dff87cc4e3d7c1ac0d6b62fe119aa83f0da07d9cf7e5253c51add35eacac85dec814e0c0404d2e440c2147f846f1de4ff8c7a48a95246177dee9f5498867472f7216e0fa2e1b27da4793a1d1bda5fd7fc1085f2e9d3e90aa93aad4147732f6042465066bdae23e4ac7f6cf1cb37eef5d1c121765bea3f58e12ee326058c4a7d1fb079a28904bae91e75301e40f2460dab83d8ce3efb8ccd750335a34a56049957c24c3ff8e03db42b13120df9e6116a3d193241145a0f38fe1812d1acd47f635bec09872c97d95bfe05058a15cc6c63959b18281dcbbdd29cb63e0e18d84e05f489cfaf891e0e4dd6f30eb7facb0a00c46e8560b8f029ba2ae08e71c6954c7db4717809ab1c9edee2683a01661aedfe143d2533523004f8ec13b3067614300a6449ed87a5cd9c3b687f96fdb6529f54d6dfb43d5b7f3de3d4f724134308b28881dd4eb0eb6019c5c3a43b387d2833331e792e04650414f855433c1dec907eeee4064fe36ad602b31e73adee04714774d38ffafb59bf1dc267d9f1aab266b1cf36710ce248dd906085522ab290545eb980921e56e62a6bf9da61663304465b9c13b9b9acbe313a66a5af0d980dc5d95af10bcef2f4457696c7c0f48aa1999aca13b5bf3c4e43eef2facbd18ef676d07d1a5f4335e7f0402c31409b603057fb46e2216580c807a5aeca136bfdf901881726d03031b60b85fa82c7076bfe8bff62ec3b218603c334db3bb32a1e16b151d08d3277eae12692e15f629400ee55af91434d8aef54cfcd4e592b63a27ebf74f1e11797b5300ee26ca2cabb8ce44ea29fc9568fd612af0d3b82ee4a9719ea136e5b68045ed52d97285465361c2ba8020b6dd78bd417d6813c64b4d4a0b8c40ed7197aa403aa8621bb55486b057a67ede0032f9c4279aff05344b6e799ea92346e5a66b1e2113939908448a8e67fae4d51bd34f7de17444ec0822f9f4c4dbd9693a1b45dbefcaeaa2deeb3069b0c1817804324c7823fbdd2a5beb550a053f3824df66f3c853dc04fa346c6156bfec381d2ba99d3eae151c858b3af76757a50d4984379ba0130548083579191b136a319f9bf0045aa0195be5dee8f99199ca71b5a8bfbd7bf3f6015d391048ec51d709d49552041e8fa5c3022fb502988c3bdeef538ecd6a56ed99345497b254b1c480f45b1a5b0cb3e30a37bd4a9420db31de7cabc318b468f55f6c277b96000daa9eec1c9d2e9c2e02148beb35e5cf9a4433cee94747d1bd4cc2af21647f0a0f06420bc2632d4e1ce5c4023d859a9f4c0c33361c05c550b61c242a776424cc322b27e516dc6c3cba18003b48616027cd62cc0e9d0225cf143523f8d356f851cec8c52877b73850d4fbb60ab2530ed7e66177255fa011b1e006137ce300b361e4c47211f5ec096eafeae05c51d2391fc0cc47ad4c113e64e344d0dc9b0e9ca406315b97291e710ebf34df2ff5ec80c6c2fec7f26d47600e297433f296838f45290575514aff63759ca407eb9b32068440c7f21bc9a0d9a9e887e00bdcacd9b7b465f04b95b99a4b441ad9363ec7b01b55ff7ae49fd7ca6f1f1ac0a64a5328113cb127867b3911448e576e7d533de102bfbb66ead9cb861605e3f8cfe91065a3ec991bfda742d7cfd18251e433d533d8fbe4d78e96fecc57d8d22586ded21a2efe6ca963e4114dbea5727f8a0fe6705db758ea9435082f9eeb65f532b64e5252e4468974adf874f45604a5d616dfe7422e6380d8c681ddd11b1b62d20882421236a6c4e65699a9c96622ac54deacfd3352bbdcfbb6c276f6f556ede744224a6580f68798961c22271172c29749265b6c007c96b4ce7aea8e296bf237d81140652a7e4db65a4a1e0f84c2f9d45bb72f042e16d9cf46ddd4aef275106faa39e1c510b07d0639f04d119e73bcbb5b647bd9eb6502edb66070b4519966e9235abb81b2f1c9b742e88b867a8365a55ab5a4aa89adbaed380d353f082800db487c4460b74eaa0b73ab04cad19c4e0540a638ca5484c447e9f904822fa79255f02e98ecb377516118e4c59f33b6f437144e615a4bf6e308c627385161567f2086c757dc45f755c5735ff87c3016126cd311b8210d5cc11f03a12475adecde69e8884c441f5fddb96aa451762c4d9d08407419517732e2c8ab604808a3946e8318ab7281c483951616a70e7a8782001daa1320549f303c2a98d0bfac09b90c819dd8a82f45f240a8e12905b20017b5177ac8239a46c1abd2699dc70a2ac45038eaf6f88d42353926c3b5015950f457c211582e95c7c1d787532feb0595f9068a006fd30f1d2288307de8799ab0731a91e369dcf8979e4733d6be0a8db030a5213db71a11231f8424bfd3656dd36012f144a91fb1d8d8af041e9807192eb533118da640e6d73af8e9ceac07b8e70c918506a8ccfc99d36e7186dcd06ec7c1bce4e199b64e6524f6fbf0235324e902f37dc923d57a773ee25747c567fa2cef2f8f5cd9ebf721289c27d6ff22310d58cb7a25851b9ec34ebe12e072d52fd3b622166260f8beb97e63a670c00c4a78e94aa0a00717f645316aadf9e86fea020f1fbc1e74d47ee95b302c0cf8329a70d51f21ecadc6562fe498b35179648b59e728c5a414b902a5b2823fe73c4650606cf07349bae4a5e56d7b825858b03e2c3650fce7c68f0a225ab4ad9541084ada791bb6c4f0cbdc39efb0d841a3f339c434df3aa4e764636774bdd8a685640a2134db8cb1f0b411c6bdc69527ab2de111d74511711bedbb90e92bb88a3d7959423cdbcf3f5437a1e240504745bd2fc6b18afee59eb19c827ff772a875f0e5a3862f57aaafa7c8b3dc877d7a08b91d3e34981f328d2515757324fc053848d961d9fbeb478171172fcfd0e5923d8aaf44183605c6d799db5e697eee8d32e9d0a1873f00343cff3deffcd296ad47801ea6fc86b589c0e19e5cde02b1b7eecd68b1283c801f6085b815d58532e713f5d725396ccf8d50464db907794ec3c9032a834f096ec97799a4272db3847d00ac307d962f5b58576fc2b6e83121f50f2135da0f1a5f7e2f4bbeb4c3d1f1306fbaa6869141631904af43ffd13db1d7a5135dbed3acc6161d0599e8b3429647869d95d12d7280c668bc7c5003ce259b9993d5fd660d422a5c9729cd491f6e6975af51ca86519a758204498fc7f3138c247f14cf6ace007e2b0aad48467c7c032226e214cdbd41a71ab698775a37b9f2b3f1bff74f14207b551fedc63431b322cac4cfb157aa523bbf147b615ac469224ae4f01dad8b0bdd4beefc748f70dc5d9690264b568c98beb301d15321c48b8bd63c774d519e08916114fc93683c995913782339259cddd210b4aabc2550a824cb8a7305545daa13a338add6aeeaa9b94039be7a3b5994620be8ddbc072ceda33ab9994d984898170c88919c0d6f9c7b5aa3fc4c7acc39e711998f253af448649e6dfdebe7e41a3e77dd1670fb9f9cff464e0912f64629a6937ace48d737c76b5ee88885e3128a35e57847c540c22c7289f6bd11e4f58a032cb869bd4fb2de65d3b59f67dd484543b024450c502b2f9cfce1574ca573c5d1d335b24635e746113493ee98ef2d9842b424bc72007cd13a553ca47da7a07e5a19c43f1c19590b8f8eac81ec7e3aa5ce99aaa7fb52768ad14a20692ea18e888aa9746fbf5bd97df0e7d8543067ff95672bedd39a7c87d85f30f58105f8548b2ee62ac35de4d60aa8604eb01fb03639940acffcd8ec92092a6befbe9d7fdaf4048ecf024a898776f854eb464f0120d88ffd0fab39e84073d8c26e4b7943160096ee7e1579e187592f753f7bdd7f19a4641c8ce15ea988c12c7e38b45406c5ccb5cbed2bcfd4815ead3bd22c0126b58c60fd5f56dcb7ba93639cbc3db31ff850e56a4f7e8c6302bb8ee41efb908f81a7618a5493aa14a85f2ed7746ecf45f51bac8001216f4ba353e36e3a73d2db6b7cc62cd7d1386801b84eab07805b292cd106f82854654baf0ec30bcf0c8fa00a5eb67184669d2d1c673d3c117b38fee81412d9060a9b151f7f2b77d29fd7df8fddf4f26fe59c3e41e0cb513be9bcea711cec8276ba64a677734b5efee42071fda81142ee075a6207913e50605c36f75ea24b497d5a6017290b1abb488fe3e7a5050c0e88e1605de9a5abb20160092944ae0afa03e8c0ffa52259fae8e4dce7b17b0c4227cdcf008e047b68431517dc8fa7678604fe31ad56a486685374f00266c57bddda84aa8c43c598fc3a4b50b4f2a48316e1973e3c12a7ccf93c89f24926fab11fda1ca39cce63cea3949b7de85d1dc1e5e9fa7a9b949e84132b0f4718bc7ece16f49605521e81d57083ecd62083d1c3cbd9b76a420060b44ea8c4b439e4baca092eb938d3a287a052aad672c07cc6514cc641fe4bc5955377babff5442e0b3055c44fd62f3faea6cdf276b55f76a9cb74e26103311464190db0d802942df4e664742b1740fa7568ffef2040f476ed654f57207376f2ff4d221af5cf0db1baa0f4c389d25c69a20adb0a55ff2c7e1e2d421600e1dc4c97e8c23c49fc8d4839ba2774b0c15262f2125d84639af85603e8946d2fbb61d07f3b71058b7df9a6ea30fbfd3f39eee8b26da89b046108dabd2c53d4170687f1e701e408f559c1a545aa4a4724e15133602794fd82ee36a4579e7c1c5c7e2a28467de1391f0a25007eb891a359bb5554b669ea5788c129791a49a0b3b58f43ca297fbd7b9e7752c135c0b68a65bb1f0334ed66ddb83581fbabaef28f43c24a4fd3543860f2c6c92e50facae81f7a492e942dd5525ed7ff108ac3c8b5e57f5c7c33665a782a99a0eb6e1450f3f0742e2b7f66e786c83189d35ee22f7c9e2ba93fbb7cd96c93204b2def838c562966fbd7b398226f1b511b271dd35677d7421c26c7b8728f2776e9d0a70fdc777ed6ab92d51a648095dcbf8a8338f5d491826db1f60fce2c1a092ba206ee041acdc5b0f217c6cc761cf096b04b4993b1cbb84cae9fb726a51ff1d7e17bb8cdeeb437c4a4dfd97deb2ab3a4d24a72852dff4d9130b9a4485c8c2e30a85075c8a39545518b3f317cda425f6ea58e6eaedd01812d5c438b8e907baac66089b7f8740f29eb5793ec97f544fb7fb0901f509aa7c79a82cd67b83fca3e08b7b9aa90ade48398a39d84013b21972e8db92a3a80478f8a04b02cb4bfbb15540752da7a3b695d8dc3be9353d4aa5e8371a12183c96877187cf77f5fa074534ef70d2a8b9100c544814f2e1f7147d0e9c745a8484748e44d0351c4ecf7ee7d52a5f49a30a69a7f8a77b7dc5ca9e7b009e420a3204553a1c2b0b11b8ad8cf38306e9775d5cdc37a924ccd4e7001bc6f3c8a7662638a1793a9c86a42b5adb9eb92bf80a54037502745aaef21a680e485ece875388bf46665dfc4f95d36811fdaec9640a7441bd15857c1871638cfc12eb49650247f9c8c1a47128e4da26d9f44599b833e9c6b0364bf0344fd2d946566623dd67a11518abd5c784a11b58172e62d0cd97bec414e553360686cbdd402bc07cee192ab63d3a0bbe47891a62c3c17c3be31b80041d38962fb728d14192a9074addd0f2e2c5857c0a179add92cfdc15830eff7508976a71b77b4d0106b43b538f5d929d285ef52cda85f69c8444f8287aad0c70af065ae7d30b7c01e5e0848744ea044ea1162497598d08a2e7b01cc14e40ab2cd94075e76576a6109c9574d1490e9f1b7b9e9fba0eb923e265c0c9a6788444d7792c3a169f121d3dadeacc85378d8561751aa29fe623f377cb11f73b33a81f6ae75921e37e16bc77cd3ed1a3dcbf65d89a88046e1ca69b09cea25b64545f614c2de10e9a4402eb64b101ff6a5cf240d29d2abb2fd09ecc6244317ad9d3b38abefe8f740b77be8b93025b11f5057fb3030e235dd85194955d9362feb38ff703e4aa367691f8bc24533f6bc91925fc72ad23ebd0669db6d192c831e7b86458f3ae432c666585cc984d9bf92526f46ba8d45833450e60e105de3a7b9d47e242b0ec6ebf2cbd17087de596180e5c30fc856a4959e435a50a23d816a513f5cf581ac3259202a13606cd9bd2c23051a63c69d13d0e853d7505fbc11b3caa593029cd326c9a876c571e001c34775b9eb06dfa4ee0b9323f059836b189c73da0beab8c1bab792a0d1d612087d8da330187b7f4001e3c1daf4cd8ee74618abc3e21102f0d748d22bb9e91def4ea2a42bbd6b005b5db6ff26f44a683c5d30d568ddbe5738b9f174254f19172335bbd60375b3c237a4410a43e12e246f3117eadc1675fce172b46ec19bb4f2e0be5acdbddbb171f021bdd2f569c763a65a218ebcdd84143ad2f2f34559b6d916ac81a9c55a9f562220927204be7f5fea9bdf5afafd9d258ac1e140dc8dedbe3280330ddeddc1c9953bb1332db19551f9cc3eac53179316d2a38b97f6b0f1e28f0ef9a6aed62354b6c1e2040db4e2e60a8e4b99d69afd77b8539e66112d5d137940d5e698217453283196ab8d5eae7593ff59b23149a503a199049c7e2b17caf754e4058319aa24ff80832981512422eaf87523143f030b31bd809d68523105a5938ad931c734f06ee69968836a4a40fc301540eea8d262a3f2f0102cdf8baa5f2e03195f6832cd76f9484c5cff69c7d6389022f0c77bbf396fe1879847833d88a34c5c78067bef8f21eda260c077b60a48b90865311a6e290e915dd33e9a0b985470b9cff051c45c1d1634ab5ea2194c6ccb03938025d4239e5532fbd58dbff3363d118cbdc8b0b59bc8f00d9da824e0e9dc240f3c9b691c7be015fd68b142b877710c24264f75508750b81d7d0df3c0f04b303ffbb629a86f10ebca65339a8e406764d7560494ef015585c54ce0927bebe9c0be21975e1ee8c0d7b4bcfdb4d13187e23b4aacb69164721f54c43c942a75a5f2c486524d9fc2c619ea52711eb7ab192603e7a9d9d71c3bd87bdddca3bd12f2e9eed4a878a1e5313bc3d62366bb37d35d39ed906ef479ec51f6c6ed91c970f763c24ba3858235ec48e862be1585f8f7ac73867d454cde2cf9d1e49c704c296c05510e292003ec0367c113e96fd79d6e91af427b62dc653b1688f38db94c3650ff2cf2949a044ddeef511794aef4d7714472b004ce9fb5f122c3be31e19f8382bcc6efce770a5b6c057f989f786f2f1743fefbff3c3c9b6651ca3f0a1e69f5be6adb01eac31cd7cc0b88c5852bd0a2aa565b21e011d6c38a42eddfd70daace7b28672583ed02da2368c35a81ee70d18bdd2cb7d9442ab3cbd88584bce87be97d3f777ebb2c787a7de55d2be8856d259ac604c31cf8db2ac6af512a753faf3b6efd37821673127f582004febf141c0db0ee9afd50093f94ecf906395d05ca72b49ba9ac76bd003c756fcbaeebc616e118351ad7d328a330a4133ef6bd3a96bfde66d612888dd79aa30f338dac8f19a2ee5c0fff4bed6e4195cf7a80fca32150ba968797c6e9ab1555a97f1f422b2951408c354ea1aec5cf994691ccda1e5af154030f820e1f1d505be74a979fcaa6ddd1b5bad61c2567fd09464e4ba7fdd17f4820f4a47ef171ce648eed7d09464af072f1201d57216a502020acd4aa0ca5e9bbb21b153af5e7b7e937f1fca9343696fcc8c02940ef1f4693c7743b78511f1f58296b1e9a7c7dce2b0c00eb8711bafc3d39a63517c37c29ced6713f638697a0a2d220b1063afa9a1fe933b7396b657af1d59076432b65b2aca3a1ad60b1df8d37be294a9e6b54997c8fcda04d8d0ceaa424058fbaa360f8412f0ad1a2094af03704e721e771a48eb0e1a4bcfdd344c7dfde282ad854b027263cd645ccd93373d3f643d7157b4bc2574d36a6d98ca3908da70c9ef7a2ba3f4270bedc5d17da97e11e3988416fdaa46eb0e49d2edc68956f374da584496db7fe845b97f2a6e1c4561537973d0b6d58fea73543c9c964e01de8a150b4a2ab7c81d068fa3fa9eca0321498cfa75f06fe65d6f65276b4ba70cec59d074e3e9d98e9b214a865fc41a798219314d5082b24c8840342c2ae55e031b873d4b813a8854ecbe92c8674c26a8cce52db968bc1c9f40e079465c96f102c446eb4863b40017d29dbe5a97f1edc6c3213028097b67e7c143c0b5b4907e33ed421a523ebd657ef1cbf909c5e889948aca3405c3bd70ea90592535e3c97b6b3181eccaea4d9cb323d81e260c6e3b9555cb5ace5230a02eed66808a845716d0ca1e353faa50a12dc4a00e5cf76028229a96dd32f55000ac1c500e60cbfc11ae2a83722064391b6a3f4a4ab8d705b3932accde7f58a7bca6e2b5333f5a8195178ec7af6cc94dc6a446eb4217af90e6243963b55bffc0fc76980e976c18a320337f3f56c0359641c5afb5b17c74cb8be112af680727eb0ca8bf71d9fcbd8597ea95cb040f65061d480ccc2d41f911bb81fc8a0df1b4c4d74718a2e21243224a3bbb73196f305171c481478f4bcf313be244dbedbbdd8f630bc8e83cadbc2143aab81b70952b97d8abf6eb8312502af1f9d3849c2b9ef95f62ff60c3214e4bba3cb6d8fb9c5eef91e6956a0385feef867bc4238a02169a4e9d92eadc4c90e73074ca9e1f26f9a619c353f1dfd705dfb7e955db4e1e1d09f91dad57797c864a2f3fbda879f86d8255becd1202a8842e62b970a9534bd717a44a767639505fa2ff4e2e38561a6b1571a5a2f4cf634e102c6340c88c390867bd95f8b5c45ef6afabace4e7c978ead03327b9be6e42888d93cc8da431c4d9d83cb40d72e391792c8b648153d371181be5df1245c13f968b3ed4829e2cb56b8e2ba350eed642cab60fdfda5f61fc3478b8a2a2c183079eb34f6d7ba3b474bff3a67a1d5cd69f03c785371581921cbbf00affcd302028b3c7b9376eb53cf7894c9af88b3edc286a83fe92de255798117abcac62f30602ec3c1c80181a513e16e39817c302b3d7d62789f5614a9586a51ad60c5105ae168e99ca8ea52793c122f9f4147793ece7c8784579f7951984b838f4b54d0dbb92287ed5acaca9871424af50f2faaafe33790829a5efc45afbef6636ca75e8cb1335bb8af72258a70760e672476529b5b0ee7388bca0613da94428524ca3a7277f5e7a296842a7a60070ced0e30691e23eb97b90778dbc14e55a801413b4647a19a60a6d1a4e736c53e7e8eb3877cd325476de1bdd38c2adcf7fb68316816af87a12c5290a4e92115347cb027b7d01f35d8b17ddb4351d7d40cd582ad3c7f867cd3efdfd0704d7fc7265dcba5630b5e0ef5122f51f6c49abae3232bdbfd2ebfa9604c8265ca1e4f6ba5cf85af3ebb4afa024ea1a5f8b38ddcaf78f75be155af8bd8928f55e18d7b18dfe1cb468075cc8143c0f0d245890dc13f74ac75f7056e7a2dd5484b965744c41eb21d7d2fdfe69a3c4ace2a773099cd0d89ed20883b818e7b1887f059f6b1b149db54d5f78286ce5431e52b4babab70b237b21e484473fb82eb6d65b99a22d456d147c944984cae012b4ce7ffbc050aaed4b98c6e66c09deafc221e442c045c25781f6b4adbb59591f9d2f2b4ddd6b38070128aede392cf916485f7fc6d87e07155695b0628e0b853e7373f04a086e79867c46e5ceddaaf7e5543a8afd4cc6c1c3da4ff104cf1e3b9c04a02d1249dfb8173ceb6a1fc4faad856c1e3a13f563ec97f08b30b67e80eae8647fcf5dfe2a4df5ceb12c136d2ebdc89e3f2974ccb816cfaf0804ca1bdcb6a10580316fc6d979f8d40e8630f7a420af2b49a51fc50c2cca05cc55237bda369111fd6daa32811f215d387f54f913948061cd6d35e4566297b7960a038044f5c0e271abd529416cf8444fcc26d20e88709349d37b3f28deab24eaa5c45305861951c5144c881f2d6da6e6364bd9b22c0288b58856394929d5e45a5e920bf5b745fefd31f97474f878655ce49ebe248c92c36c8f426052bcd4245d2fdb497dd389cee81135be811ebb23940c890c35ef03d2053afad863ee3b2dc762baa71269829c411b663c4494c976dec05bfc5e3e52cc55b1be948e453eec14303c013887f304a3a41a89d5c4ae7ae577bf00c051b917fcc95875b4ba7cbadf317300241fdc64ffdf1941728987ca90a1d091fbfb064dd8f05147c0902b667d93a7a8b5c119bb7d5e181b577d3967b09472432e1c56a400c3133d19ac1eccafa6a8ca500e3aea87053c3b34dc2377a1ffea48f0e42e674be76d2377e80a26bdaa66a1519ac4a9b590deb9014e0903e1810186d8780e1a52deac3b697de38c7cf180f288b331078d5cc2cb91999310e6d4ecee4bd78c8241b8404d906b60342235860e120e4f611e56ca44708a4641703b9af14aeb30677144137fc201eafc0e414103110768c32a594619a6fa76b68587709a411059f468542d58e262bd0adb16e94643847fe24e380bd77749b6b22ae7b06b79dd8584ab419c49a3109f8d29172630d99f4e36a01cbaa7febe1f596ae995b126d356e60c2fdc301cc78f2119aaf6675fcd41c1bd1b5c50b5f3407691a109fd88b3ec1295c6482e1ac492612f63e287bab1a1dd665a64fc4e5a2ef0cc9c74e5306ed0c872c9b2b5c4c677b70d5b1ab644a72793f2ae4fbadcb3956ecc08a275f8411a25ee5cff71f90250607859ea3a4df290d73c0337bd5e1bc139b19a24c650c7cf0e494fe5566f64b4a960b7d563c9c365d30ddeb25bd9bdc8634bec0eb3cc6f81b5412c722f1252f149ebab47aec2f80b4e80754970c054cc61611c2d59ec9ec44a4ac9e4ca168233b14040369f2f065a8ceb2ac5c02535273bb843d5861230c404764cb84ca69fa59f7d4926dfbf295b9ef143ff953974bd282ed7baabb3969bac53c24585ac8bd175407fe762507cb2f2e5af556f0695355e21d9afeeebf463866ba248d4a8ed7b2273db034e48552673571465623f3ac0c9a25a4ac99f2194054a305cfb0ff7f12ef37ff72a928aa158e823835f25aacc81a35b5c20f83f587f2cd86bc685dd487e27171e69178a8e5554172c496dc3b3b1d464e37a695f4df10bb9c3a027f631c579feac771b22083ce8cbffd59ca8d6e6ed751739d3beed5aeedd44814f920eeaa7bf0b2fa3a452d85ccfa1e3399e7229a1a9c0a954eb4cd50ea1d0eed2952499b3a75ecb04a4f733e85f6d009bc43c865f139afdbb9c78d17c18c447b07c99cc2d4859b8150f82d7d825200d7c76b4483fad3457ac1b80045aabc8d38eff6c71e014fa0e0510cbf42b1ae18ebfe3cb05f50f110c3e3ca6c6d020ffd9f9fe476c742fb88ec4c6bca8ea681d3d690512af0818ef9899bd2d20567099256eb590fffee8372d62a28485fc185c5b8d42fd044e6b5bfab796836eebc74bd2a7ef5d8aa880a5d8bc42768e5b6a576e3cd6c1990909fea7d852032cdf8676713f9ee88a5ca04623c04522a1e8f0c3e54731ce3b60d2aa1f8d19341f5bb8080893ab842c31121985d0d3d76709f7842085df8bbb61fa430e6b9cd6cb45c8f4fec53266f39d6c538a9ece08331e359707e7052fbd77f4a117277c8420b483fea65e9bf742dbf4824bc25cd2db76c8c3b1c5d05672d8b375ca4f5b15110d106a9d9f07fc7607a0e910af17a1738aa115882672074c170e8a6cc99ab41eda621adf8d4c86e19a8f375eb21d6e8310e801ff36b624dded00b293a38148f1233c21abc1f4675c2bf8978001f9f310a87383560ebfc28ef48ae896c7b6dfe32a2c36bb48799f36a480cfac6cbb151ac65a783892902fc09320a662166dd049f536e223d2b0ee0ae237ea6c18619a6a36e6ee84359ecacf1fd4e3c43ce8fb0ee61d7cc3a1cc13ffd8442ed1a754db8c291d78d05488d23cc113f901ae68297177b8a81d5360b22938e3da83f60ca5bbde8e9f30b721949619cf2aa036e3e9cbe3290d0e6e7464bb051ac205660fb5b2e83d62f8050a974157545474e5f77814100cff77fbf6218d11ee0e5b1a19d03a5f5985cd0d864e680776d6116d5acf75cc948289ed4a5c2aea40d12d134c8b84c9502a5c85715f8f5631946667453d8246b216ffd17e0d9da6d24f65f65f0e5c1b926014061e19cab8f2c640df7d6b0f6e48f6bf6255e08e30151ee756f7aabe09ed198b31869dc4fae345929cf16101a05bb84b93a6a4d8c1e93c76e834cbd8e9e6fd81010a2a49e6df4856d9d75c81f81e0784a1749d7b1105cf6486d1285a2ca6f2e2a0f3a338bc2c644438eb24c1c563a2926d22674892242d01cac8bf493a8fff68f46d7d3709993f2ca55dff4cf378d098fbed42a916fafe4648252f96e5dcbd8f8a27cc4aa92cd62acfafb89ad832f5be58beb200763b5621ce45d5e80d4b0f541b6c1058014b613073940d9044d4765011ba54c628ba96597d458476061825313b59d737c510557ad1df2d84b00eecf205c150478d5cbf5602479d52b9d5a6a1eb54d644816ade7b36ac2aa5633a4604ef05754314b9cde48a7e16812ccbb40e41620c355d8c8ee40296daa7bd123e0835760c010b40c0f7816a064041b18193f97ef64fcf51acc445a27c9360133165e6cae9a1c6ccb5f4f6043b9c88cd0739ace23edeb3a63b330c154efc0c8b0dd82c051bb420ada8c9c0870e8ee072e14a1f2e9f5fbe0adace04b5c959f854f51ec7dc7a93fae785c93a4a2276ad971cda144c128100b5db1c07345387edf87054f2e2174729146ac70fe390bb0b75c125e726509549ecba8243e96a12efd6508db420162105e86c3d1f8fb7ecd7c9e74a99ac7e3ff6123c0a67696404b429b723b5e284877ca4f03878f3ecaa8b50947851b5b30141a8dbdcbadc7cf415cb9849b7ae68fa32cbac40d3ad2ea5d0db27bc3c504ba3b699717f8d68f7a0283192db9dd05e4da21a53500d8b827cb1a111b75a9ba5ff9eea8d74bba911a0df65e3025bf494c361ac1cedecb46329af8bdbb9836bdc7fce9092da80342785b13ff2337674a70d7abfb9f71dbccc83e7adc39ed3e3f5dfdcff4b2692f29c4a75e7c071eef0944f614fc4f8d3a8bbdf78eb18b7c9d08f487c4a8c0d2f03ae5d0c5990bfcb6b979035ade5a7e9ea9a00946be88f706016531ad434bf6b2644594f0adc6a3a9910d539f028dcc086468a784603786ee7b361b4db9ef66253dfe2360930ca5d088a803f3e5d54ff8e633b9ad5bcf58366ceaed15d4d1b0d029e8b7ad61fbdf5425e4e2521e9cbe6a252810eb974f063af518d94733be6422987252db5d63487c27d1540520d92406817f100943f409d5a239751269c615b1587a54c48cbc6bd538571c00f1ad8f5258abe789f41bf8fd1188733fdd67612ff00e856b380b45f39b260740e9da0f0952de47878a3ca74aad31836e12a68ffce8b5dff6f897c1a6ec1e103b887c0e0ee8cd1e024bffe397248e6d09ae37b3ded7fddecb839c372299a22d8cb01a1f3485e370824b66c80dcc6f87d48df7079fe013f950c0b5bb1e441509395cc5b59ad089975c0f2c3bff2e740cbe5d97012b3b64bd2d451151ccfb5f14c8367bfa55645fb11ea09e6727910979825a082ed2234fe9204c2ab6cc76c7336807fe77bcd6a4c361e95a0bf7c66c03f0e8cfbe0b33b8abc9317329934754d928fe18e169f074db97c32c1df1befe67f323098d976dc21d77d563534f2c6d8ae8ef5e07711d24cedf12f84f5205d58697410592143c1ed02dbfde9b0561ed3255d09942dd1cee4e372ab722e90a6ed0dd9cdebedd62ece1c90fa2df588e946d38f6cffdbbdbb97e9e7a27092bd2cdaca82df929bdf1b8945baf4aa8b745454cd675d4b2eb22e1c88898b704ef4698e6435810bb492e4891f30e6f72d85bd3c1f2a88554da193ece8c2a1b9f8833c66a60fac23047808cbd4a9a984147361601c37198625ef3669cb9519f49760b7f90b27dd18b2e0de00996badeb4f25c0336b83ee96c17379f4b848c3b5ff68539cca7e3fca779cc6d3b039e2d47dd753f727004b939c535aa96bb71cb972fea0875941499962cf3eb6a05a4150ef2ad15cb953fd4d9feeb6014ce2e824288c345fcbc9cba1b79e364a4ab290ce52683cb16b5b27ce2f06fecd83c1e670218445fec1195b423daf4b05c2d9def35fec872d79a5a08a391a84b0a22fa231aa31f1df764e26952900cdba6e0e9093316bdaf107acb8906b86fbdf9edf6b3910ee57a3c523a97072acf1f720c4af51817a15b2c965913ed35384b15b55582b145dfa5c9d704f1d818daaa8ae69c831c4f9edf49c89b3f7bb5409a4390fbfd9c52c388ded10e9084299b4e710a378ef333061be2d2aa5fb264b18fcaf70b67e9a8f34615dcb2705465d3df66cacc97e1a64f4b4bca6e8b628b6321fb8eaf1ec2a2a1e51a830f8ae4e6b4561bb7c77d7db3f7442afd7823a8a2e9bd9718beac9bd37a7f29e1a9a75d7bbbcd8b623e667537919f8fa9f21b24784c6ff19066e00cea55f94080cdd5f9538aa4f8528ac0c8260a3d9a4cfb36d37e6305c948d8033bf73230f1b16c556fb46d93370bfe7f95f9da2a3b411ffbd8c55be752aa3109fc4f65a05beed29d0f76def4fe166402041e4b9edb0eb678943a4fff42a39c2250a73d0f0a3edec546a192a5885062703e485125cdf23d813f910ec4e01e4a4183a4ab7cd7e5134b17cd7f1ee6342762711b47b2d18a31f34d967fd8de367e5cee99cb73d971a2e856c1a078dd91e89f150ac3eb1e2ba917d9221eb4e98e7166535640ccfef98ba6ad1f313526bce30c8af42e4a1d442b07d4c3ae6c0ca506014483b05c9e46e2757b0ed24bc162964492101d3ca05097dfad1390bd994c0c552568bacd3e23ad786f9b57df66cb4ea03e5ff8b3a421a14016c085722aadae9b801fdbeec5eb8a9f1ad9743aeaeb02151af4a0fffe7c5549b44c3add0da555f9f1ba5840c34bb6ef5d72b6fce7843190532c7c48f768be7a04ededf36ac87dc8d6eba0b49f7dbff0cea0f7c9dbad3bde1d4776ed769bb90f177de8a9169fdc185a4cb17d88ef758ccb0dfb89f24dc0c3176f074518e19fd295aa42e7f9d1d754543938b66b2bb378e84450725de4ea79f3e7d505afedf807b90a836db58ecbf128207023bffccc5b0b81794f5f6223bd7154d52ffca92228bf04c9ebd5a297a9a3b282745059cf74ddddf82df41a2fef816c89e1eee5979cd5e9685d679740569844a1fd74d06d71f010386bbe03337732d64ace3485149a7bb3a62b66ddcc98b791f918dde26515fa7f15f752f02e0c5ae01ee23fad12f7e3febbf00cbacdd0f586fbfab72153209c471e90bfc5999a9d0e344a81670c2186b00b5ac1028e91fddd024c8eb0cdf6f9d574e4f7d59e6e17eea462b6e5e8fa54a61968e2ce4848d2dea750b774a7cbcaaadba4cb11b9c4ed8048220ccb6b97b93b2729483e5e5a7fe515c75abdbfe1dde826e73862a3c1018c8cc9b8f35cd27fe882671bcf9f3e814c473a8f8238b07e61b9a1e1790fa4f3e1464534569305a07893feb19cd3d2ed38b5f12f23cae6bfe1205ac2b4de2c1382093109eb8c3c6a4d5f687b6dc4616939763934cf24dd1943a9c56db914c8f817ea257ad23a4ada43156bb25fdd065d9eca8282e76a134c6f0a0f5896697a0c7f89a24eb2fdd91e98b57f44786ecf3bbbffe39f175292700a5833a07672b2f5c4751c5a68e1d25a7f0a7c18f96a3203c152a7315df0c1329d096b0dbc96107be59e5428c295de57e084ff24dfcb442d75b2e190d2416e0fac0e605cc01b24ccfd479cb9c26a14bfa97f34a7893261c71c5e341f18c78997659ba4f8376992cf1e44141bdcfd04cf2c802eb6acb2aa334b3cb257fecb54b5a7dc006216672a825311291ef31f8c1da4d52f729fa48c8c203832cf56277d0e6820985590ae6af6b557c53d6ba752734853661ec3db3961a508eb09a4da9b175b416c67edb082f297e2f84f3197cc8656cf2e3e1625d56bdb49e5bab69bda395d8e3ce9a31375fe24423391227b531a91d10d40d7cdeb243532c4060ba3a35bbb0c1b731da4ea1a311560ce4a910fd1687dc319037ac055ecafbfb9da1f2bd0e45435a5e53292bf04dc9c31052f8ac416adfa38ff3fc4a9feb5dda67a6f40ba8efa30ddde3bc9b28b120320fbd380941a0158ad4233ac4c4de99b55f88c7e9fe2cac1c5b8b6b11cef6dc85307d0299c57bf44d784ce9bd2870840c008c1520282029f6193352d556250f210d2564ac016882b7aecadf0068369cf63a8f303d1cd58e18f9fefbc410da210ae5923975619f7129146d91d02c6f4523d49a1ac9df72066dde919b7fe005e4ceecb844a9bc4fc8d4dbd3b9cd65c159f8ef7cb8fb71b2f200c433216355f24fbd7303e303b87144c5e3255624bf0827c9b28022365dba775ea320c515b29559793910f46bb36633c32c90ed15814b0ed84b383dfeaa777c76c9ba180012e6c2270fc394f49660e3f2b09d930a64a3e2af250fe17f4610eacc76f8aaa0ec611dc5123258a62bbb8997eb4833a8cbbc95031cb35a711acb38fc73c9f48310a21dfbe423b7bdfde6c4786567caaef047f0f82f84382b5ac9be275f5125a8c7afbe160808c08c0d10d2c2a94a6ea5ee070486f71417dd25f5df09ece5d19cd441f0105c07b9d8d69f4fcf68be1d3b35a3dfe3d90c70d9c48e727458698c02cae445f750be57ec5d14cc428aa39cd254e0188780f49ea0567dd878e974c11958ea428f038254ebefd841f20207aa1a513e559e0d0f0be6e30912a95b84e3c42e4b916f0732949d9931730742cf4341c4270cdb4b1264bf78edef1be1a5eac10b20f137a0e435447aff0ef2b4baff052c27a53c6cbc7bd67a1aac821d4405f02d32139b0ebebdf6c3553ef6640ac9d50a53c4defabfb692591a18df7d36bd5d9d44097d4f06422023d70ade22a08134dee157ffdf5b448770bef78309de60ddc14ef620f3993394b0f5c7f186cdef3cb612ae4a02e3fa931d403b93142a5b3efa2c0538b3077bcf2245f3a5cf832738f45c6034f3fb2c03b94548bcd11d5ef1d779d83fc9614a50b7942db4f700daa4ca6f4562be788347e8d278a1f45387cd09f7d0eae1535e2aa3759f163e517a313bdbaf6ee31d6620316c3b8511fef38a26088b1dd134be2f8c72fa2d0636eb925cf5e8a49dd7f18ef5d56d544e16edfaa0000b2026ad51aa10351d87c5c0964760036d5cc3dd0ced41bfef64f02843150e15837d2e1a2fae1f52a07e80b57adc0606b0a7aa4aabaf768967855bca20fa3dcd61d1568b92806584cb9426fbe1643082191ce6093773f2c2b74f00e9482b15b9b0c42cee60b38b3b240d8f2d84213baa9c64dac02bd732b808ce1cd353c13bbb9bbae5ae67ded5a89a7dcafc872dc760d4002fcd28510671f6b6189f1dd17f1f31f6b9d3ef76727f2dd365b1b3b784c6caa2f03040e5286da09a836756c966c6102bf26282495ada56775f2bc906af476a4bc5f7c84bde65fcc639641dddec12022153c641dd5fa7408853dfb14f50dc131552f129ccca7257d3462f27780837fcb4cff94858d8d59bf56c935fc6674081f89ed82d4c57f53984b763bb57c8983130053db2ed772b5f74942ae53ae2ae793c10c94bb021b39417a4e6512bc8c51d18d0cc5bcd8623f86a3738966f35ae796ff8d348a0a7eb6e91ed5d6f6abc4d3d162ebf3223284f6f3ce8f86eb5df480a90ce22ee2e4573154a6d9abf50f1f399945b584e1eab3ad4c6424a66dfb121bd6781c451161c91425a31efcf6fd84e6a00175ac60fd94f270f8f0265bae88a2f68804a8157869a08cfcaca39f70d313036215cfea8c2d6a06063d0c2fc4e01ed2b8deaa80b85e0932f9514c6969e52a89055cce3837fde32427fe84552837d6f255b43d700b1a7331db7f82c797d34282ac174871368655976330e8633eee893a8363a7ace54a673acca0aaa7a89f13d91e83fe2d1db02a695e35a27fc5cbfeb04720b92c96b57859ab8f309dc0bdcdad6a8472c9b6b319775b8b31510eaad6c233aa116cd19b69c3668742096b4044cbb8f6afac70aa5191c6746af2fb57a19f180a350ea03cd4c017296822c107347a3dc396c3369c0b17c3985e714c13a28da3d7fa3509a40cde82ae05bb52a1c1775d7b0218350adce95a3205fdb1734e052a6d2f65a8711bb773cc61fbb5e1317002cb1235e7bab0d3328bb056c8be3add1d4bf822998d60e7c15c75439edfde6673d3fd07c9e4015c0b3cf324bc734b97f88e4ca35af92a1c43ccfb1fa6cdb8b5f1b03ab10ee68f867da9ab32c545c76cfc549de472de5541c2a3f96a8ce7cc09a665a970731d2e936337c98856dd41b9c1ed2b0b65bc0caa0f3ef348d85bce01f46658577e19c1c3eb07753a37fa1453b42b0adb439fa042680a4d1a4f08bbed68164a2cb8a7cd7f2f24e6c2d39620762f3e89eab3773b6ebba1696cdbec0f4f9e3159401d89486d82a7bc2d8ee5878eb511990795a8ec85482f0ddfdb469e550e6266b838c35a73f0cb064e00b6f01591b94bad6a91af85b85b2656d34ee704d560664e82862140c752d660e8d707e688388f9549aa4b672049251783456c9605131addec7b23cdecb2d1f852435c07efc69e41eef773b35c4a0f24f8ef6307c3ba95fb2514c34ffe1ab0b3f908d3374e2a96b0c8f020ee01c78360c278e847fc4cfda28713d8dd88e3cf2f4726e190e6b5bf3077153bf7965b909c25f178c03e952309c6bb09a563081656c9f08efc97af65c243d51e64de9a9d5f3ff3bcfaf67ecc2c653af556833aa0e8494554cf0511c61e9f426264081e5a76dd595158cf4ee22877fbb98db12f5107db6c0c47f5ee3e2cde4db0961e4e7a4b51545647d8d1de641834806738017df0afe2adb49363aa4017461883e95435c62dfff96a3170910ae358194e0e6a011b9314f92c46019178f143f95516941b5a0abc0879111f7523c8ffb1ad8e3f26081e65e1149d32067f551d53a1e27056463c462cbcf6466fe17ee9b283d2736e1a95b4aec87a8c7f53b7d715933f3760e8893c04347300517e735b2a2f9f7d9f32cb43755a581e30139e7bc15e2be33a68673af107326938d0dd26065b18e27dfdcb831fb0c4e364171da63502c869d8ec3a2a455e759dcf3cd3c32ac28e2565d361567b931eef9d9ccafedcc4ae201193093635ef39b33343f4f3812ca7d6fe71d5d7a8d34fe5a4ef0aff84207de9f367341bc86ca47810adc79a51e3242e97e57b49c35f90fdf847eb5d7102b4199b44769a5f0fdb505469f7e57a15608afe95350cc130f7ff917cfe10b20585a28741b00123467d8ccda87dd4aa57464df5c47f33e1200628306e355908dd84d953db8f690b69f6fb69c88c39d848dabac3e020264084b9145785e36a5cd2c3be5255753e2cbc9d273a3376e4b030d0218151e56ea66db637a8484dcb24fa57a0c57c243cb639ca213ad6efabd91a3508bcd5655cd99fdf6fa0f79674f135fee16073ad35423b5f185dbfa5cc924822ec8b9da28f80e28d31f5cc7d0e3086c91333b080b6b85fdfa34488212e83eb4935bfaeb773e0b5d8f84126bc003ccb28c7afc59085e9115c16c00dd4fca293eb67f0cd300356cd427a8001ca11044ce7927d97fbad846510e167116cdd6eab8dd5710ed784263500f7071edf98c3ea897a4a90c4ab0db5d2828368dc6982aa149ebcd9814c784efb12982a66d282c6bbcc269b828bf9a41432b0bdcde3df7b10a0bca5eff5d09ff89b6e9443d81a433e53619335705b1b45f93518c842048e4ae18979ba793277db68c95a6f852d28fea8d7441a798d6e8a5179af65ea627e5e76a033ab5acb677aa4510520b430b7fc3371762d88456d446403388349234c21f8283dc0e7496a0c4dd75b902d6e6c0baae79213882ddf823a2167fd49ab45148ecc10332f508adeef4a9ac764f965b3c6d0f99a82d37e2366f0a5dbabd3801851768aa95949036350ae85e0942cad8bbb043bc427005bc0968b81f913b04fc8c4930f440794de47fb628d5affc747a624f0f134b29d7390aad3247e45725d980f3aa98c1374f9578e3d2d1250828d55aba9f50534f01de53bdbbbd5050415a4329acbea9fe3b6d72b6f187924edc7ea833135f0b24f8e32f0012110079fb125d58f988d5ebd76a6c2068d5c3218c9144c84d9a3dc41c645d07e56f80853ed81d0a81a5aac457c583a29931a3354a3ec866f3d4818728feb3f97bf85a8aeb0d4b1537abd5a00ba438a1de3f9904aea8bffb0f522b9a677e4bfdda4ad94618c94fe2eadeba2d169262258ab477fec59137d69d91cf6c527ccd041b85e985104b444882f6ad47ed35d56829a7194d930b10ef8ebe75b1440c73a8ddf313d96ed51117613678901041a6d33366c3de879d50ecb781d25f21ab6b96f7c14aa525be8deedd3db4601719d75c71ad22ba1cfdd6ae6a6b8ea9721420a498f3a79a25dc9bbac87cf33837b7a45c6a392a32dbf19663ff48ce6c905a7c22a9b3278033618c17c62f1727b0f53e6a70dae3207d651cc7ea7b4d38f4c280b6683280c534708029172c5db271d93554435722474f800993b8f7d201f64fed332377009e7639ef700a042728631da2603ca7f6457f6076cebe09f58a157ffcd5b5243ce35ab0edff8e0ac0f04b14aa93eb659462c1c366cc1409ffb9657900afe622c39b239e84bafad4d508e76bd648e0913dbc29606e93f50bd05df8175ffeef6d76e6d641c0ced49c1ced0cad977376ddf94c0b2f0242674ffee804ad1d8e08a503cb5bf30d541b56cfe1b116d85f170988e2fe981947bb61f771f4a42f932b8291ff98317d28be76cf2a8e4c90f212432d49e49885b9748b85970c797edb378c9a2f95e7e12f8810c6a20a958fbaa933f9350cb2fa88d1e13f75c379363c3ca943b34c4e86376007561f44f5ea568ef481ac4572c338453302c2485b032e934d8116b61657f129a89544c9ae8371b59d9ea70c4cb6cffa1a3d4afb2be07bcc6446148aa8af87a91bc9f63c460d83bcbdd522446221915aa27b723cbbde26f8efaba5035fdc594f3eb75cada79eeef68d3e2973880b7c3d7ec417ed0e2e02ac88ae44e24ca97667ec4c17802589a3c6a3e54f04792a39f6b4be3d7e3325a05c8ba86910b91bdb561ef57d91668ed190ace70b265eaf576d19a0efe1b2b3f2deff1397938272921cb8c7a0d0ad552d5059d47fccb53443558eac8a8917bdbe35b0085fb2c0ba00b705cb15dac265b13c42e7c2f471b35a317865981db3150ab551f7eb872727e7e077e66c601ddde1c4de82eecb3300efbddf98673a8871147908f3dec1630b758f612d2fa7fb665ec7f432303d5c2bd49e87732b51c16eb9051c7c45c140d3e94e7c51e13f22c75050533f07c37cbb7e8b9d87d66230a36293c021840abb3cabb01eb1c2cea8904532e803e2cc8c9babce9f6e44c8b3f9bdb09e6427f44edc1b8ba75ca3921c2d76189bf9dfd195ab903b56a9e78cb468b73d143f4101e8ca74f853141cd6e39f3237d5a6d2266e9a7617f214689ba94e24642cbeb9b6a41e729d99d011a69001f9cf6fdbf220d54c87e355deac689e3d8fd688f3ad68e603f18b1483ae7432ca1461a429db082565a7cef50fc46acea30a391e6ea5b8176887837c12fe4eb62941c456462fc3d469ae94e8238aad5144f6df4028e914adf2365cc64fe65d1f8393d88d45f76265d04d0f6ef96b75f2503e7fdb85f5a012d81ae5d7062c469ec8d71907db9bc6e27c6ccf50c3c5472bf3db49eb62e60f2af099bbadab8a74c5d5a0106cf261df087f75f9fb0afc1f6ab6066bdf6bbff5850c04621dc292f07fc3e25aae7eaf622250a9adef11cb0378437398734489b65c7d01a06b68835453e71843e5f1d5ff450e374d433a91006eac9928c76591cdabe4e49e25880004bbdc61e38439443b39703458d13c8ee8982f0564e573744dba099522d9edb13924f3f5e623ba3d1e9851c4d6481a8275b84447d2caba4a0445005258dc13f21d754383b0fc52641b2a821245bf13ebeac03fb1a652974f43db03e2d5ab441d326a1c949f6a9120ab35207170056c7488ebc2a7d9dee977627bf783597b5075042b265aada6f58e5db5479bd7df1859257bc0a37c4a78105f3af39db8b9e1f585387e633f58a366484bba60394cd1b53180adfd427f4edf59802dc79bb58a0859375cd4b63a960d3821826c098c6b34dcdcd26f581117783a3b40936ed30e55af95394c809a9a23b53079e9baf5d7b287a80e934d512d26829dfae48a74f1ad54cef0ecf02e8116593b11e2ef51a48a96d28d5483a610cb4795b0eb37e4a4d9d83fd31bcda3df49bb670b1c3629f42fc7f7507fd59433a6f1850b43c8c0e225a1905f0286e27323e85d3cbd06c3a783009fa4a5c7139d453ff357933670d72241886b90aeb22ef937ee331a8d0d565c36351d9e2d8f49d30f7b080cfa37fd7f6996f4152d208046f47291f94b9fe993177945751e4f10bef0f48a110357b75290643fd1632d8db460a7355410127749d138b6a1bd7c4c4c53cbde1ff2760f5eb7477555c1de3e4f4a4f79135866af9f5a1c4384faadd067f49c9e569ebbde6f4e9c56ce82c5c1cb4e5731a8e934b1fb926a9ac728a6468f2a38512bbdea79bca6122c0c290fc64f4f415b5ab545c7be5edfc03908781313e1f0c6834a94236480e1beabc7d29f4fadbd4813d06f33059adbcdca2c8fee5ecc93d37a2d91f89e00497042a286b7a7c77fd86254b9674a2108da236c32fa0674055f8cc7467f10be6dd3d32361b855021fadb28ae21667c51137ef3c3d718832ec61d92a16ee226531364d11407bc4f1aec106ade92ee2732ed85ffdddb2e16ed5e0fac5ad0374f43680136162677ce66299c1fd13f430b5b2158532c14b98c2fa3845794dd7153a1385fd9cc422e94f4a5c788cc064035470df0a9ba4ca4ff89d3a58da90bcbad1b41e5caf8cd47a42c86004d671edb3ca227d7eba7fdd7023f8c6942375518baffd38665759b0bbc767340a301a1811d30ccb4009f6e0aa4c5bb794441f2cf90ad917047f7567f4b383f387f78667b01cbddf427d2e7692babc2f8d68610bb2622cf5fa0f49f3d75a65977fc48f08c9655ce6b11289aa3147e2cbb70e08cd7972e125688bf639c7237f4b850e365e899291c6f9927cfa673a76ae111e11e0050806688d0f238b99fe6f33f7e08d5237b04662fd4c62e1b5c7114bed835d2e7b9a3503d36a78a0bd6a3868abbc236c9cff94b32d181897ffb7bd04cb6cacaa27ccd60a1d08d727fee8d15629997293bec379316da182a40b13d610487a5ca813fb71bc1f60c552d201e1bfeb3ed6fb994e1d1cb485f8cf3c32d67168d251307a7bb515f7bbb9121e19f0762c27b8725a3a0e6f4353777e10864f107fa6c053172c8844d83cae0747b8cca21669cd52ebbb513b5822c1d7d3f8305f1fcd9f5649c1953a1b870e09021aed3fd98e7efed7a61a6cabfd798cc7d00de39cc142db48aedd66806478fe66d0fe27dbc00643a55534ef038c6991ef0a4da0ae65be0a842b8f19be7af3b2f4759e0874505b23d23703ad1b47b9fbc65c68302e91bfee9850e65cb373a2123f16faea65aebcd22ae1f19662cc8681b3eeddf2b3de8adf48fc7b01d35ea120ca35b3cab4b1a71fd4976e664e8c234c542c2c7f48fd8d03138eef73679fab5c3585e9bf6a9bc8db7ee30a8201dff5e0d9ac459972b13cc427f0b544aa75881263f279f3236f7b023501e9c31256c85b21da354446613d949561beee340983c96df2a63f1a97e21a543f6b62000c3ad1a1ccd3d4b7b0ecff59295cc2e41e06c67125387ea4962ca9f43e50673f2457e0e160336f32b3bf150f29bcb5a473377efb156c75d449d78f12173a99e51756e5c9fa9146c254e1fc7c40de4d735cb88712be1055298e1a93d09bfb877707cbb2a7cc1e13ec22b10c5b8028abb300855c9d8a9359ce9b52c07aa8997dce17a3e1fb0fe9ba4aa56ffbb93bd47af6484c175c36709ec49d0cd20367ff41e9219837ad03dbaa45af7c8a4f3e551a9803622e5584d9856021a4ecb8e56d5f61542227c10c23a2ce222bd977319bc074ebdbbd62da4e39a79ff5789253285482b3c7a86525b12a367b7be28142ddb065b00ad7c9cdc62329d0c2e5789ff72783723963c98d9cee6df36d1fe686afe17939285d561151d6903385be4442b656d3e55f18674b155b6fa7a230acfb238b9e2967a4c3c85757051eb082091b00f7b6a8f081ff644b9792862d05cdfa3c099d726f2b92e8b6868743412259d4ba107113f46811aab834d80c33517fd5a2b83f7a84a5917e253345179ff5b09e6012d376b61935b9bbb015f3acbff8868bd45b22314bc466ec1ee7d268657bf4b5800271fc371a6edd2b5628b5a06e9d3b99017f5dbab0de66359d6df12c9561f12b8bae7977c8a3cc89c65aacf8f963c4e3ccf4146d488af32f755d06fc88eb03d3850e8d0397d07f7742de17dc2e7bbd0f2cd022a5722110613246eb799c230bcd8d442df78391631b5e6d9df6184e8cbdb126cb4717a63f8f0840ad45085963c7f43d91af2a8cca33a0046d0c05b8fc22a42001f9c4f29516917b6af7a9f8af9d5870f1e1333c3284db714125c16d93132e790b000dc0d6a85bf05cc2fe2cc5e81dfd09e8c06072b10d5a8b0c43703f374d7199a99eb63893830c10a8208f4c1f43f44f6dd773d7b8080c353da14f400735450d7bb353a03f314b391ad8f9a8e7cf56f467fa59093e4649318709ddbfe7ffe84f767667c48bf79a96f5087e6253d39bd1f0a80dcce7926f526f372cbf604f88a3b97428a5aa118e02105dbf985ac2f3c2b5bc3473cce8446d492bbadd0b4e9794aa57c2c547b88d32c15b1871d54e36a3cd6fccb1f794d74d835c1dbfc155a9b5931a8ee4f8b9f4523730862bf32b3018a6d082a2d9ab8c7dd5d505ed0d9b2009087532792e4eacab67f4f169308521c2e38321e3a9e0b32432efc21056d0a337fcbb73d4a16cf75a54b4a8cb92beb23e82342cdf97d8dfd3ac27a64a0463bbfeaf5bb4e4bc0e82f447b50e70956f7f75b5fdd28ac5fbf3565943c927eced29ce890389be21c0b7e85ec5478eac64b689e60e2cfae54c0ae24df65ae5df594e54176be49e9e7b1c50bc738b19c4b3a5ac303a89fc253a13f8806b84369a6cd418a74440213dea6089c4d7b309da7c20e02e04f28fdd90164c6027b20d239cf847d8161a542b778063e6a75215344c83b127f8a5c45d1120bea6fbc3cf85903b3b07ccbaeba6d0b27b9554316fcb9925b0e45a6be3cb43cd1a5be365cfd75fc968ae7b47397c862e32a8d4db054f405f93f9787b363d9502c0ce397bccdfd4ad08f7a897c53273d00122d551173111cebae7b5cfb921a524ae27fec1f39e228d118274d36800aaf16e5945495310c6cd72ab442df19b36466530f67db9bfd8d5395914e12a63a33d51f7bd839fef0700a3734988282b6cfdcce90a5dbdd1006fd8796cc7dc3843d7ca6a23cec5ede2fba2d48a108df313ed857eb5601191219e1d33ccdaa306295dd2842dfff282b12966468e17c500e4f9ca2cf304dc42675350275600938797753c138ec9dfaf0e09f5c40f4a3f65a82cbd9caa6c1e06cbec3fe53ddb71ff82017ed86f7efded20bfef2bf017d47fe25d16a97fb1dc4224a8dafab4bc199f6503ea12302a8c3b51e440c2b20c48aeb8b57569a32cb5e7e660329c6829a9812a0f5bb1ffbf7c708a4aca93a3d316ace0dbb61e17498215b87baf31853eea78ef0a3de37e272e6fdb4e8589e7be9ab6e6df2808ced61a66ec0a977577b531615767caa0b6464e65ac8395d74829ba0cdbe4504acce3710a9169a06924713c3cf4667fa99b7e72bf289212d10bd75c2ea4784ffaac2331cdfffdb0fb24134dcff6d32dbb7f5af5abd1c3bd0f1c22e8aaa06a3b3ceaed6010482cc10441f59b1374ad6dc8c47a609dfeec6b569d8ce138decc28baf7a52f85504fa13a3495600cd62f6b29ad0ed57cfb2e98c159ef0408d3742ccf441fffa00430fe0279cd5a49fdd9c552bbfde8c0dbe1dd5db48c1480982fce3b3c843ee903622baeec942e588753eff6146e2cf84773da1a2ff7647f8e02f4bc7e535605232112fd29110503c0c2209504846d802132af3cc0806ce645d59f4b363c676799ae6ca110ead8558ea91a144980ae3baee5ba8ac639454e109abf5666d5d925adfb2e2e69aeef8ac5a4a3ec0adbb724f67764e6e225085a6a991f641f66e3895927a6d63b15af0034d5cf90aa4817fb20c6a80ab4b83b61a7b5fbcdafb211c99e24b1b7e4dbab559cf73461ab03e3269b6b25d2b08df9711257325a60a2cb7e1d3475214d5462d4c9eb59fcc74719de1f627899977538a39ccb2bfadcfde36052b700ae10554729a69a6dde49ffd59397b0d8245bd9f9e980c187e79cbce4ad53c987011f570a5cf897e9e4becca486b5c1d0f51ac26d692135069b04d30e2e778d7bcf34511cfc6bc6cce748ae27410caff53692f1ffb5bc2fec9ecf3ce9b34252e50825e3e59c0387b94a39870f8b79d7070873f1ff88a15b76860b6c852004e9e385d24f002e34f1f5529ed2ed8added18824975d87d758d1b10ad35f5d7dd667dc117f9b44e30c3cfe42c977281e300a0ce7f6a4ebec23f102b487bd50beeadba1b805687543923597af247b633301a6f02861e5efb1e96d95977d9e417dea3fccc2241f7ce2c4f76b8b2ada3bc76de73f7f4f0133176ec55ded3e7de8e065d7d6b037c736d8d1020ef6cdfd294fad21dc024f0da62e8280cc2f9d46a038956f4576cb2af04b34e080f94beb4c2999a68301df3bbaecb3598815f8be7c64bdf36486ae6b8461d06c7115169b2f50e5ac09b018b6ea77e960af853ac1e93dcad13be00d7d255376867bac02e2bc38630727eda401bd25fe1687a9516d4610095da0bd40d85fcd168695c78b3a9a69fa2947f5f6b2efb05f178a3cb45edfa8962c7c643098cebbcd51c80066d7fd6342b12a6840047173d8ab12d3f302843504189cc70f5d51ae234c3d6f6f9f19ec634bf14154161710eace9b102deb57b91f6a0d77d7aaeeb49b7d3848c8fe2df8bbfe8cad06aecad20ec3bc28a394b1a740cb4ba9c74eb40423eddb8cdeb823a915502f77b076dffdb1f824c4ab014f4ab7ecb9179a4c591f7efa24c74af21b9748eecfabfcf39bead9a8743aeafb6698644512f4f179030f0a4bf2339416d0a93da89cd9d2dbc15c8846d66ca71418c66d27552617c445366dd2b6b804c2dbfa56db14ce303873909d7a8097d736b8415dafd6e42a5e62fabee7c5af276b4ded7f49e14a2276dd627376113105b2815b41dddd09fed1f395f0cb422812293e7c5f824a38b13c36fc48f833a3a0ebd0640cdc19d0b85cb2f199d33358b5a9139aa11574965d3f1bc8bef6a1f3ea4f6955ed3fd4576b6d87517e61eb67c8baeb0e6eec9df8254b2bad7c6a00643e09055249157ca44ad03b9364266850ea0cb35949d2b734a6c39fe67538f587cf363f17aeaccdbe1bfad8b575a1aa8fb3456d0a160f5e92f9d1954f46d4fc4cc098a3ab70003be135ee8ec52e9ab71c040343891035bfcafd635e9a357d308ffa894eca8712a08e02fdf8fcbd22dc4c65315984c20fe6f550cb228d725cfa94669a65614d6eeb5de51c3b0470c0a82e33b712cb816577204d8bb4a53a5af7ff1c1d0a9006555a915df36d51142ac4ee684c2e856950926eb549277e1d1f346500e85990ff2411a80f1688a1315103150f869d5c9b9fbe42d6d6da1714d042e9c8fcd827a4345b5ea6eec4fc5ecda7e8556bba982246034ca8a33f6dd6eb67dbf37c9ef983cdef7f10ac800d6b1a23a4aecc4dc4c64d530eb2ad33a543384ed4ac479cfd3268535f698e6faf227bf650457a4adc0370c84f2e0fff4e2de7d064c315b5be695d20f24df38b309f195f778ea7fcdbe71b7bb13b74f976cb3993d5f69da27371ec87b29c475c664d489e802e087fa5e5e628406c7af8dbf5747cef5b49bc599f5bac887b100e93cd69e43ffb049ee05813ff4cd9f60fc0394d6aea071b1ec7e1538560d9800b43fa9cc60782384034e629c52785eb63adabf2be266d9c30a0ee802c816c64cc2a78c55f18457c06d15e63ecf0ce9b0ea8e8fc633b17f2b1703879204da65212c69846b7604bbe3e443697b2f67e9f92e2ba2e9d2e37cd14785b41760db0076c9b7a11747de06d57b0e6245409dabfcf7775b6c91f822338f38001378a094b59ac82d50a5928ff67e76a7b372b53644a32ebac52a79a2e439016be8d6e5ce0023eea8c6beda6bb371c6ee63bf3c8167c3969e6c5fa2ffb709d741225a2c0f84e3b4616ec8676da2e13b3410a07330c2421d5c27d62888ee553b9cec03e1863b0e197ed25fb549e1f9e06968e20ffa632cd0b08358317664fd4983aaf534abcc6f1e1e5ae54c7145f0106cffc8b7ba6de7876b4edb0f4f0e7ecea3c3ac7ddbef47a232b7e372a31cb2240a50c77d254398afee36e98e4918da40e4040edaabce52cc3ec6738a99acabd0a51489452f68d9de07aca8d8e93bbbdc9990064bdc5db97eea627affc26e5e8a276fb29ce72413c75da54bf73497f7dfdb17e9307c5e382a0fb1303201eb0824b68ca97baefa8d80a185cd65a48291aed4d62eae625ce4ef93813d16d508ee80390519a76293b288c9f25db374367bd05cf4fef0091b9568ed2d2b4df7aba3923bc79879d0092be19d5b32049b70530531a77e3271f8b22ab7370f5db9f4d17943273a27ee50091d61c37ee12230eb642cce905ec7babb23ec6747d5127ead1fb5892518b69fefdbf995c5389bb5fd73eb5c4654dafdb786c9462971942cda218c984e87dc4213464badc8f536ce337964676ba19bc1943d04ce61458450899f3a983117fa3e11e479cc151a06a907dee908f290d2781829b235737965821c5f020826391e2d759fe0641127eb22488a7262b72c00161e52fef28d4778afa952f4cbc945fb0bf59e9c9071fbfaa9d8e79e86c731344e7623b18dff8813089d75db664ffd257a9b84841e2390dfe0be340266d8dee462bde214f1a65f1b7288e5c651f41e767e70e13de3a8903f927348b11954da411aba223afb07677dab5129dab34df2a0398d0f87ac6f09c0413afaacee62b492befb91eeb8670021bcc1c97a525b02011b0feacdfb126df0999b87dab4c77050172f80f43253dafcfba69b44da3b2fa35c016c33a56a9b2b3f0293e30f4a07991d588e89f49bc941e55e35742f5ad94f0e749c193ed2fddc59dc0000dcbad503e4962069c4a76a75c1d9008d480b38035532b352ba3debea41547a4e8bec26e885fcfb528e7d687dc8e452f6888c2438608d309a48e155a1c80f4c2a4ed271aa0d5504576a4d18ec1bc28796aee9f19300a3159746e3a31bfd81b350c957c75f7703c1fb51123488c414d3ef5a3faaaab48f43426caeb94f9248472bb119f1548177a844b1a3dabd004927d0ca13b10d43b06d2aeb2ff401c5ed09485f1026c86ef468a771ea81dfc4c4f6ce759c71a77899e505345c90c65b49c04fa233957c1edf812667168d712ac8aa6bb4626fa1378eb6d004ce97049e7aa8cf927274e35b640e8e9582e7e1f5c075e58ec07405e6b218109ee9a2a6d87e89485d59e3f6f3320c6fcfc5d2087987f440c6cbba93436284010a13817d298fb1a12fe8804d193d220c55d4e0fb2c4b4b164def22d27a9fa1b538ac4b1b0569827310928a05238bf896912a25f7c61faa263371b5a3e9a36651ff8570d82749af6e71bd32a7e8752a1a74a8c186b7fdbb04930e15b8317ef7e68bb334057843b4566e135c102b0ce6ee5519c2d9138307bf06c00cb5c79720b3063cda4c9f924e3fbeddc088b492e6079cadb27d4e29006406c3222afe17aebb3310cff8e5f57419e809dcc971881bcc8fa778dae0596c1e79e7852faaf25dfbbfb5499762299a4beebe574a63252fdad9f38a3c7359d9b4eab4a3c16c2fa7676520de981f1bdc11ad0e5401e3e4f86a7cca1197609dfa35a90ca43230649b585930cc4a7dceb344bab2a9eb2e57adbf521b24b2ee7fb4d94630832ce72128a9610ea08ec18983cea898013a557f5dfcff8222a16bb03e93a737fc6b4609fd53dbec62a1842319e7a417fcbaefc232960077ef98798ac89f8655f1f3c81f95f374c487f7cdda24e5bffd7c29d93a58828702cb83d3dabec4e682640f1079915f9673a81ca171f7d76ebc76a1af5b89e9b5ac98a665c05b8893bff68e03629956106afa35f3990df7789250a11411a48c92e7204191e35ce7d6e48dd1d48457bdb747dbd938799442886d5bf464cec41523ef8dd5b0a280e63d610d67a46444ab411c7565042e144794ca23ef5bbe993b75a2313cd2c9c84205cd8b713ddc7ec76fc53f3894e8cbfc325daa94ffc76601453c95cd988e6541d47e1622ed8effe91c4c4518739a624ead80fb61f2e393ed3c87a40dc6cc5d44e7b19bb3cde94057b05f7b1e17474b6dcb2ce4a257265bfb25c3c60e7c1f7149e8d7d19866a31e1613e8bd994306aba09d894324e39386426bc55c284c7c9e6d00d784d753587b4d41b860bbe9e4351c91bb695a7f0a7cc9d9a4888108530a7e5470d3d97f6958b1841ceed990e692062de73b0184b1ed40e5c55041913114886a54303e16de418456a8b98ed5b88d202880601986788e42cfd1165cf04acc143dc71e1cd61943e612f7fdbdc8050537fb3595cd043bb2b9562dc72d76be2994afb6b555fbe09d09bd9e892079340672a61148b46b1d5319ac1665bce4c3b85beefee568a9c7a570b106cbb5d9d3207eb7c9e8afdb46800bb64ff5a851392e7c4c5638d811f84593f1f7be48b94f07a372390fa364d69dd14ba7638139482144009c0181192456c33b039f64395177b6f632fb7c2559dde2f834f728d46b948b7ba2c58e540316cd83c86d7d771008262aa16187ec166694a49e31bc437deedc75adf2e05bb8d2ab61129e20ec31514eadacb383a71f23dca49f8c8c98fe86e8af612d809fbe57e3b1537e4c37f4203b6f0135a3d13a418eb737f3974a12d501c5114b901bb877df3e1a8997a8a26feca9e4de1dc6b0d1d0bb8754dc6844a0c1e51b41ca2b890c0a0312600be8a082f181f40cc52976a815b44c430e596a14ee335b9806d98025778b41c82139362e0f2be93510f30b13a09b2b54f13fe30872e47e0ddffd324661b8416ed54ea67bdbd6ba597ce72dab8c9024af132b549bf5b6c4d22e58ea6395eff149ee85ba5aacbdc5a375adbe9242f06389666714182c8a6987c001336d264eca0f69eaac6eff8c41920dc1868ce942429043aafca47c17cc5c9c73e2e7f065a4f71b4166eda6edd62a2658bf3d56d4e3a7dc6d0b6ec8a9d6cbb149511a567e1742623dc4708ddf24a43c66de6fe85b137e078a4195fbb5d9243d88bedd40eb7177a28ddc44c62af2c9d2c31203883c97955e090b3cf591ae19a611a4975295bc14f53290ab84e7e19a7b52170c54a802eed72312cd090181ac8e34d65fb6acacd445ba4e6e2054142b9d2131546feddd74babd9fab8981bc656aa8612303757088c4f1f8781ad9e4d30c5a09b1f8ac1bbcc089a58f8391dbc2b65c1b287761c94c6e2c8a4fc445ed41ef657ec29ae42ac6f3e56cccf409719170087060148a72864311c56c73576b78a154e8b08d3095c7b20a78071611c2c568d5ab642624b5120a34882253db03063bbad2ac726b94ad19ba969022359d11baf87e7143497fef3c22c4fc7e254bdef3a01dfe80ebd369b490a5cd15de08d32278319aa1e151228bed05bae23ad3d5f1e328ee8686d0d5068affbbeb18f9d897d34b617ea23ec63ae19e1b1beb896ef34552c551c5f096cbd7c647918c280ab44b42a9f9c5295f455e560c9302551ea8b7891bf6c2175395696b3a7d825ce5a62e185714cb869494857c4c13834b9cf336d00eb096ddd2d60cef9fa07fb624fc77221a347cd11bd5472df48bc70ff0a8179b10026629c5112730e5c4737aaf0fadb6dcb6f08cae688d73ff103ce4dc0a73f17c0bdb665e0cd1f44d642b3dafb37cc7c1689cdc34bdc7653349f4f86595e0641a104edbda8e855ce86116b3627d5822ac65587a6fb6ae01c7a952bb54911449d3fdb0c0468fa689ebe64e33825fd0c61ca02e33825d669ef77abbf4f5503af22298d66cf31a02032652ece102381c70d791e0ecc8084eec8e922af72aa546e98ad67170f7ff1bed811615242ef920b1783108e347a30f45dd57cfc5ead74d624821107b8dcf4c37fc30844da3a7636e0b76cfaf0e0483661bd52323555e8952292d15617f30090d5a6ea40719f63a56b56d44e43efb0d3811ebebe27f1feabcca731c43f20422835a62d3965ceac1364a665d1f5a92e626fc22a987e2c7024b1a95c098921b9cdc7b2a9449d86162d40a75da25314016e73cc19950b906133d73d7edf131020d5c4648bf56085af395b4cbf6771a9922e5d7c25005ef014136a472555bf851e46c7f949006adb05a5779e92a7067e6a817c55af37edfce3646bed046eda4480bc3cc9fb8c5e7c5d79092993efd22959e6cea9b458b76683887a02ae40cb1b96a5f113712b9b98ece44695cbb7405092887f231f92aac93540f0e47174ef73038a3005f36ed65fbdcafd53b766a6eeb1d147a134de426a8da6c498315f85fd46ca95986d1ae83d972115063959a20894d4083fcc47942cf21e509e04d681b936619d29262643913cafd28021308a0c613d93ba5185967bdcb3bf018bae23101a782680a35789b043b5440647929bfef4faea610cb366a7b30e4cb842ad6cd7249165c3f5453ee12630c4085afd7978fe6e8b9c6a0c68f3118eb983e5127106541cd11d8c03cfb00b7a08bc4a5beda49cde349e6d07cd185b44e872e560ff5b65056353c5ad94fd4a4339d822fc8b7c68c5180a45388ec96a6c7fb568c97d2aa495f88c917e22104eee000850eba64a07e19f92e0d57cee6a9017e1a100b28a7fc53f1f30c20e0895e464d0009e82e073a3b121761dece82c85b58c210f98ea3fe192f25f964483913ef0cbf856cecba3ac1639b90b05b3bc67d1d3d984ac506793ab2c989c1bd957eb0378b5556b5e19575ab390f5a0216201ee47f0232fe357d9c99aa25b33ed9ebc2c4f634eb4617312c6bde136bbf10cf3e22467d5b555a1d8c7f54dee43c3e9bea1b2deb1fbdc16bd0175cc44700a53933e8a3b3f905c87b1769f91a9188a954bad0ff431f5a88a9a2c0cf3e6aac76df365147046b315dc658c9fb72c651135ddce90fcab19d2238b49fb14a32aab750889fbcd8031a0fea3f47105020e295b055cf8ad788633998daef381a49adf1e5f8dc498fbd629a69c5ab87bf42a06a36c8942848100fe847bbcfc31f0f691d22e289996d2bde115ea8acfe9ceaaff9e4d1b0bb4333a2967618cd4a523467c711b078dae0e0116a86a0bca1c9e0c5634e1111c2f702be699f4ef744c415389c641807e28eea864fec79423d7e075a8a132253c5edfb924e073dbe9a302e0a68d070fa35846dfcc49c7889cc083eaf8838d864f9b5f4398e6a4d70d3a61dd6ee588d44d8d024b8ff3a68b0cbdd946c2d3d239cdc56f5977fb461084fc0a7a096e89a400f835369ae2279d4db45af33341863a68d9cfec62f1f2990412a0506bab338ed7921659f5c48e96e363d9b8301c4ccf7d6d6b122311a092d4d528d8dada5e2b47873459e0d5653292293835b4ebb10eb3c5b98a47e8526c6a0de49264abfff68d68cb5128dc69f54ebb2ea2f83241a8dd12bce1dc4ea7360cf0e087b6c7982f9e15030ba8919069d42c43b5c3c5ffe35d9a448fc3d21cafc07e68bd708e05e13d52a71469016bf9d0e259bcd2f8c55dfba71c0fcd774d7aa88f888b7c0d5374a785a1a0243f63e32bb77fa337d9941a4c9f18e7a7c2d459215e46b6202353ef20ebff204d30f864eeaaa75105952ca927d15b2dc1a069480d5579929d25d4a62997b55f7ca62ae81ac423c4d63f35f7646a3761769e506fcfcb593a64fb05d7180da0385e0300e6f90f81dd263eb52b72a8cbdd33428dfc276506aa531173920ca755c19734f06d8ebe3801d0e777f04d172f91752542cf9816de7b571547729e16bfb5b11af19b692ee3612e16cb46beeb6669eb4682e781b8dc5bca4dcd648911f38788bd85c6cecd3953a7ef73245e5721411c690bc65a0888ca5793aa7b570810cf6ea6a946bfc865a8b6325dd828eeb9097fee812601b00c3c4f7f0672756cb70ff2d9f16e85d96bd48c9a02ef132bd88eb92dbe627d6920aca8f8f536fe8b7e815e4cf07988dc3ad6668f498cc3f597fe91c8460e0353c818ad97df6669d35161882651fe57aab7067095529c8165c406c8c4a8a664b8fc8f81abc245f8139f6f23dd32c7915de53ad1aa192d5f1bef576eaaf92950242c8bbab3e41c742cf21502389beaf9dd58a1fcdf24bcfa62150f5d13ed239baa656d60fb1cd002775b51837e8dd413dd4f5468c48acb0bf28d5c3032f5709f88aac17058eecfb5459c57867785197c69c6de4dba409a65da742d89a7f96f7d5273fc258f067eab6617d4ce39a3684967753818e65f54d42fc40cb838b479a41c309b590ad8772e41d61bec2ce71be9e620e57897a3acc7e37ad423122a4cc676855ce0fc39606c03d284613b474c4ece6927329e03539dff9c5d721a02d630d441ff98bf5054bf3f81e9ce27b81263d54fbf59331b5d896664e97ad65fb0de38d1e57b8c6eff57ac1fae1f073d0341da894075a0bf24e5e49e911190bcfc8490abfa4744e6362d33ea416abdd053ecfafeeadc5b7b4de82b9f5b722a7bfeea8326516ed0bf5d403998e9ccbac874f35e871b673f812ccde34528b7ce74e75ad830b5fba5541574f91ff46a41438b13bc31bd829110592b65aabb257cad271e3b93b51028d1bc65b0a8b5d00b1f0600dc8debdddb524d4e99ca72b674afb00477bf232e80047564cf21afff760cb178579f9b170c7f4a84c2aa7ed81a159a8eb4fcb498b490d50673ba761ae597166d5f6b051b68f5c742c7a2f4366f34faec8ed26f339b29147ee92bff60b1767810d6498ad57493c218975a74a2fdfe3b60106189b4ca39d2dc85c21d3788a5dde309d98c2ad2ed8941fca7c795b97b52f7ed9f46948d6e96e975cf946c193cf769d59f1fc9020070fbeb9c29859b04050059bc4eb0fdab74320967a67eade87fe8df635bed7fab801ea01b48ec474142bc7fbb5ebf3e38b33cc217d71ebbd63a1f2e00e961588ab20e937ff58585e912db7b36d065fce1c378365c380bdea75ae5ee9cf8081197cc5214e4e01bfe22fabed5a9cc9b3bbafc36e120ccb433b5113a83b6d34080cc71639df0cb2b82cba481a68fb9b90c8620477eb99431ec0bbf7cf5a4f07810d9fbd3ad021106efaad52ab26f577ab8a18d8267f6aefe636eb228ab030911d5552a96fffb68f13036582ab18026e617f3a626d95941756a4616d7480d7cc3975c5af6f41b2abb54d44864a0a0911778128e5c0679d8ca130a0985531f16b00d72141e8868ba0bfa16647b923846887008b4cb08e62398b97aa62e6321a83b3b23fb2290ec4d8521df56e12eb10c962e2f508e620fee83501e6bbe304992caac1403d05112d35cdda7e666efbd909230e9a14671a262a42a03a20c372ecc0fae79c8adebe6b00a21840d19e0a85f9797137a2caa556fbabd6f6066e28c519cea3e36b6dd4d6d25334040ee1e84fb9481aa209f086ec096e686491b9e16f5dee017036a83a6bc80616c1fb43133d7ab1f0e1f96ef6d64bc3204ef65b7831c17e2c3f98da154733ae41c0b9915e15311555cdba1468b255640337e1d9d9cadc730cb229826264bc0447e85642fbef5295fecff24ecee1d99aec870f7943ef5d01db75ffcdec879f8dc18cc30e5e9778096f75edece0a845fc71efe2a0a2dc1518dc1f2b02ff13d45d84a5aecaa92019844eeab84ea5e4eaae17fb39f56b4e333de06d2b68b4461666ed430560a0b7270a0d5662a46529888d31e582ee7ec50c9f7406c2ecb4cd9e570577786c4395c31dfc6fca2609793585c738379770006eaf0a28773f431ed4a573f902be6e4ca543405d038bc09ca468b0e2ee4888bdfea427ad1c6903df3296207fe0c4d6cd7cf189158a9498e8ba5f99f868f0a54a4a46d47454ed90d15e783e37a257698bdd206ace39915ea0de1d8366ec4372af4a42b943d55065b8ecc1c8a6ba0602acd24b36e58c128f509fc1737232fb5df552c0a3dbc2acad08c9b9ef6f2758b09ae21becc381565f6baeea53a24be31c9b9600a49fb0767b24c9c58accb348918aeda537a4290fbd5bc7ff2ce0af252bbce31e74d5bee9702db8324204832b7b10b5af671d3b6bbd1c0ab9ecc19099ee39249e5a69120f61d125c796a5bb02af64d338bb373298cc6392d5f55c510d7118fc6f3730947c3dd898ac4b1fe3cd18b1944330325df93f8a2d83c952588c2561df96d4810a8e21e3099702719fc8f7292da4f4f70418b31c2c65b5706f94d34919983ac96517a2187e476fae716554a1e6ba83bd86ee6e79642217b6774b4fde4691935b2e46833b91e92a544c869581a283aba6565d2d05d997cc1e8f84c140ae28ec6482e54ba62fa1df4fb65605f05575826235eda64e210ef6138cd6ede0024e26ba13680476f751bf4f7d79281c128667885ed7c0e7e9ba7204ebe026b7cc2f46d5ccd438c795d49af0d507391b53191fdfb5c245775f4fedeece00affc690d10eb9c86d568e2366fe328b6bd1e83dbc49fe5c0752bbb3522d3924dfcebb3b8c0291bb8dd249c98b636bb4da424d0566b143c5d7588e64fc9f2815923533ffbff07fdc34a0ca834192e824e75154c8ecc45d4274457d90dac0bb257965092300be9a456ee807b171c7a9e90b9081a53eff8d1c858d70c5e5e86b1feb904607a791201b9f09a735b9f6eae119a88f8ffff24b99095594649a5d3e1a25fc4cabb631a95afc389269b72fc9571bb069ae1428adeaf3cd4885227a3129e2e5a0b949eae71306ef15e3c1e2cd4a35154bb4a241dbb8008a9a475880f08df03fb6dafce7795e3309ee37a3280101c45239894280418ebfb4e6bbadcd4fc3bc26237e2eda47a80a90c1699b7c11c263967bf60cd860014b9e0e2ce023b8b93e528e7774cdb1ebb21f0a769c9eee72874b39d46daf9bacae8bf7a0eb85e877c5a19538f1dc37d2390f4618e371d32921f09f53326089dbd0c7e5c41af0dd45fb9cf465e6b8d3e9fba381163fdc6878b5ac307042f7256dacb18cae224474900fdf8ad1ecc51f3f0f4fb30b7d998df1c1b1f0f9b3d6c0230cd218db54e45d2d7f195ea89c396033becd059aa2bf8b98a6d6b9fb4acdd0981b1ed2018236e0cd209229facd6f31d855decc20dd345d8bb9d4dead443b3beefc64c1f3dba4a9f25593cd1a0192969980887802a0b01e3223ed0694c1842a98037a34c546c76fda087dfd3d3ad39747b86b24f64997ab0b869a2464d2fc3ccbe818dc6cad878323b90f53f63580f41f2d80be9b724e462587173c5408837173c7d2c3bb840f06c18e88c3f910d2c48803ae433ea3a855b993f831ff89e4dcde6f8c5cdbf2d3fd0e7454a51b0c0833795ed428949fae9dea774eed60c42b2d6d9c0b2dc34e4765e6e97796a525be327fef5945748a0ba4e4567ca936cb4b56935379a8523377dbf0d758a0c4b34b38f9d502dbdc4efee805b3993ebcf062f25c15e3d49e8e381538b16b095b3cdc5ac12ed4d91588031b93a8111a4da82078a03ea569197ae7157c00a0462660a99068557206cf00796afd25b57ac9c031b2904486fd2cabfbdf6310b40981566a0df750de1b1906762ff94ee5658a050fb758683f03e74ed09deb21e0bd1b72f29485dd399bb017fe43c95ea0e835602fcf528c99715c75c50b82e034a8853358a91a33091a44c760346e8d49404c9e719bc3d04f22e7fa7cde4c0f0f0e5bfa01c40043ba5134a1db52b7266403c9fad0fbdd91e421b6b4ed9a3abf5d456aaa99b1441c3f0843bd211b6e62fbe57ecebc7c69d9d34c4478a6fe588cc8fbbca6aef8d997e183785e2fa735b3c61e944818d8c9fc52a28d35a992334bdf25ee3a35d01d32e6bbde7a9606a62d10ced56574103e6cf8b044e19d541c197ec9eedc2f85c7bc77d2d78a099a250d6bfddbd232fbfc24c011e2af655ea7616308be3e49e4ad7e22710d55d2320a1b50417f8326be1ea4177bfaa7e836d144f7379fc243dce85c541367c27d283da57b906c101f0a7f8e75f4b14577fb1214eb46e4ed4ded92f5683ca8b410817c1fb4e98901813f4933c4e7991297c6195d687762fe46b835fd5b477a0238a972e3d1cfe882847896713d6cd9834e1011c98d34cb60d793d77588093e4fd714aad1d485c145b01d3e28052d558c413d943b402eded983f45fca92cda877de1fd782277809f634bb8eb52a83dd3d35995096688f1ea6d8653c98b997f55c6ea2539c1f63779de49087be29bc6071cc1aba954b41a050d29f804f028a1f98ad9ae81b7d6d33bd990ba822991458fd77291da7a34abc9a3651d090558e31c375fd209aae2de668706026a3f581d8947f9863ff7abbe8ca1edbaa66c3816606267ded3cd47a727cbf9e9960d80307eaa1bb7ea420ca31728273fad10ed71efa6466057d282caa7fe2de12e14e24f71e13160ae93c7a3d8c78ab32c5fd02c6991f89d7e7a9e665bcf7a4e38c2c8bc6d17a84e859c76ff13d073a2676e528a9970f8f8a73b2cd74bc978033c7e7f0d622fe2c1cfab9af1b027ae21626426eeed40923d73bb0562126f5e22339a537a700065f06275b4afb60ce673bbe2769ad129c7fbcb4f0d304ac15175348707b40a5fc6ab11b5cc5ee23aee919193e4746a6279f61c7dad42c18519b5ad8e68683eab01849541577e7b2cc27de4d522977267288b8abbbd2b5702bfcd69a148bf67693bbbf0719db10776580e82ee22f2f9a92fb183db12d531aba4e5f50370fd2a68bd128acf653e86c97882f9ce5533b2ce0d5a47cbb8e71c77e5e526a11c9c424b00519c618152e32b9cc239c88dbc0eb07c974806d7d1e8ceafb5cc54783e92b2adc3c7841867f66bb62fc6e9a1d4d430610f01ce1a5270783c81d7caffff934fc71b710a81d9f6ee602238fe1b2c98f0709cf9cba289fb928ce9bb1599edc72b2ffb4236ab0b5479d44f51fb2394347a1f95efae4f88e251c7b2a31d04a137e8ca937a8c0642fb182ed828cf30a69c66ca5b89cf2b9da1aa3b2188b5a398283550c541e653febede004da67a8445ee21ece4bb0fc0ae8d8d297e1218d479db1990832db19d72a8a58374753548682be7be40639664685ce2801bc9c9a1bf13f631208c826fcb9cb4965067c602f9cedb1dbeeec8bfec2d69534e922121d5104c5f7561d31aa9dd0e86dfa7d9dbbb5003a3faf406add8a68a81c5a75d1f730a03d2cc28be778f73adc996e4e1fd7ae6f3cb0b6b936eb1d74b3cc53b33912600c7d34b4d50343b734564218d410fc9a54a624c04969a77d641b34dce47b659d25f914a802aef9e115bbecb504fcd1278ff785e22e0d643905c969c1bb565fd5a94339353b3034c4c2e079899c5c7fa6173493d6a3a55ef33513d433486c5848f49afa032f9f4b3c561644e521882042e68ece1f4d3e42bed4989c09572222eb47abf049e81ffe0789d5cbe728b09477f5662591e632651f52fb1ca18383ec1c23547b2251452674f27a01bf5edc54cba765acd55c03d8f5893f52cd139600da248ff95257d1a5c1b384688b071eecbbf070c2b940acb2c60d5e7a3e7ac03253a5ef19d7f3fadf8d5d608533f3dfd8ce57f13f2681d162e2be4302269a873bfe648316bfaf306aa813a5805ef773cf5de97b48d99049dc78525fbc3f72c0082e7e03cd900d68002f1c87add89e153d4dc7c7e42bc405927b1b219323df36bc8b346fccd71bcd154bcad7fe4f2623c5a5f360d073a730cbc9319663771fb89aab7d6cc2921957d5cc850142f0644ec830ae1e503881c6061c499acb326c5bec829ff92979d8fc3515e074559ff2cd3e0a8190b0d1e71a31db035d18bdab4bb55a9da99c074a3dcb66f417de12455bb57a2c83f2e3092016a9ff0e7e9d098171f667f40f23c08da7b52eb00c5d4e2ff15f42e93d282ef02df10cfb0c624efde9555e282e85a145ffbe602b80d5872c958b567f2e705f58e0a3e5a17b6208f80fceab287ef42f79ca61a3b122b339388016c6500ef5bfaf379c5d49b45a9a10ad1916f47f692fc79365b84e76396f018d2dbb8d583803d077f1aa95a8c95f8ad6ce9c133fad4fc50d1b7744390014dfbded0625511f86da15a1da40ff39fa662c60cbf49b6ca8a482fb65b5dc0e378c72470dab58952b559e73400002b36d0f5b499eba92bb4cd7807b4c2ff4fee1ad038191b9b777580f53d26775a7460ef17b40a527b4b280d91f0cd5f8f5d5b5a8668fb8e57772f7e644c0cd893faebafb553321dadb47b3f34e436ea8d9a9a3581d54cfcb45b8fd1e96ebc11e040796d4e8f77e1b05a74326129f39fbe4a332f15e493ba999026ab7e5d18d6ac5567928a4ae9a88c76ab9426dde5eaadcb7cc9188bfbccd162be3a41be5d4ffde3c4703225d3b217acd8827e22c6d4b0a4ef4663b63bf075a1811a98ebc10e81f2a82843a1f98c028f4f9870ab9747783ef754a623bc93ca32c6277363cc6e3349f3b920f8bbc21c3e5816ffb7c72620f4c4351beaba1eff186681ad7b5cea2e91154ca6abf91d1092d761208936f8454cd2678c50314e25c3f9e3c6beba28163b10a0da1923cec3d3d6a68ea29326c6e72b1a6421ec3e83c31762f8de9292c3e3238f4df83a62a66ae54a2fdffb2fc50f9a9e79cb9f8d75f1d3d34395046fbc0b39bd979b9d479e0318cb1b1d58c3d2cfb363cd0f45c77cfaaa4e5af7cf1fcab31e33fedc1e25bc9471c5d7e0a2b1b49e284ced4f5225eb1eb77c85b38a67d8f1eb77185e5e6017c13557f3655b6eae61e809456466483cd74ffa8a7b15d2b1dcc328aa94acdf0854964f9bf58e3615a860035d5dab6b39dbfeae2c2c8ea8ce9ca844368a12a759f19476fbdbb42124092ff920163dfa17245e45765d304701432228c41d39aac69d172bc66d3466a6f71614b98bad6dea1945586202d43bc41265b681bc619df3d856317b96a9b7f84fa4e244118d0da19215285c6272fcae58324c39d43c20cd84f789dd86743ed00bd937df0f2e8208558a122dc536651a29f772b64533e2993ddcf210634081959e3160cb466994482bda90514a84e6884f8df16f1441b9d61bf82976695728e743a2dccf4cd758e302a79521639a3471e50c12f01fc926122ee4fd3ab54c93188fe9ee46e1c1ff0f5821d93f062ea2a0da0588115d0530ccb306cc66f4ada5e8bb12f02507165d70ef184a2160e02b9e76533c8e2ab68365781e7f842c1d9f5532342c8275e3668cdaf687087b60485535fc7b7a9fcf8a1e8ea0ead1f64625efabd93e8a466f837c1296a48af5457d68217d84efea71a8e13a36db5c372540c8b54ce2be0f668727425382a4774b45e411b5bf1316f5c76f526e6150b5f96c03fe29378ddd8d1b303a5073689d4efb7ab221027b26684b38909368afd8477bb4ef7d831531ca50f902ab44e974fc534997224368ad103568733c2d1a7e15e88753cc5ac7d3ece40dedad91537e1fc51bdccc5bc4042c11ec04ccbc4f3626d82496743590ede64ddacebcf5cbe3064105cb6af2ca3b8b26078d097f33bec5e00b52a8a2fbc92be36ab9de04064578bfcbef829f40843e6049c8ae8a6fafa939bbe7386b5829d62c3c6ba465f94265576aed1bbe9acee62a8982f68d5b53533febc4fd2959d8ac848771df011091bbe77f411963b0eb0562bd744604371539168400c5b8182b1940bbe73bb4d7e0568bf028ca46b88d63060136761229f1745bcc91088f7bef5ed02c2fa19d07d3a2c9709395e8c57e709c6a7d36e4c24b7c10104e6a9b03edf8c370ebb13bf27fb0940a7465cc22f7296108920a0a6f0636679e50eadf98b1b2db4f6ccefb45f74325d422958707976090d27509a190d3cc9c9311e53703908f5104e7eaa285e688bbfd9f9b36b04dd0e137b24e0d81ecb28102ef6aae4904689d2cf6b00fecd0dd89464a9fb4322035c9c3e7e0706a1cd43b9adb83a8f1bfa37d026df4b630256682367f5e93f9f8bb7346e6c7880f908202efda48751089e38d0da270c3a0f21245d18c272f00ee4bd666908afc129ce3d98ef47ccd8f35a3b45f8e57d47c79fe7d77a598102b6dc87dcaf4945363cadf0da8bbd01fa25dd49eaa67772725ddba7924c2cd369afd20023d40e8d53cedd4d4a2bb73815733dbd1fa2c24991c6555229378056ceea0fef6cbb6ce66e4bc88c57875fdaf6396222fdb229845cb1f77a5a04ad45c99079bcd4bfbfc1be85f988b814621769f08444117320a23a2bb4131b91a729798f02f3cf7cd599528dae44ced07e50960a8737ce3c798f88ebac208ff706d316feee2235a078efc7ebdb7c73debde244f05438b46debdc013aa2aaaa7a52555c7214e087185dc2934487996b382d024a967152fad02d063c1469f00ab23934ed72596423159e1696c5b5ae034306846dbf8e5c618c7b450acf37fd939396ed14a7ee62797c73534e3993fc3b1ef445d184ff76331f548669fc7488c0474eb15e902e258bef9b3bac1d5ea8827cdee49ff00528f43ce1c4babc41be33eaba38f366b5fabc832392baf3384ca36433e014e799e75d344572bdefdf21c341779a47fdd084f4615e189401ee78f7312d51ef73be8b9aa56dfb5a5a762508cff142d3a374390506fc7081050fbc8aa3ff764bbfc9f6eb277f1fb42341fde1280e74dfdafe53d00f1f81915eaf22afbaa8ae91bf92ca2cb0be78b1a48352a07ad4422c4f6e19112a93405780fe064ebdb9df33cb3db056c74328cc361f2e2e393b6333aee7c073ba1ae16a7e62287e9bfb74570639a2e9441446bb35e1beabdc1e3e9496cffe893fd5f18ac419f57ab9cfd091b0b60b4afa5b9c7045cd2168e3a3dfa674205826c9c01a384189847bca00fc81289f6f59d52e3781da4fea4808e092e532a8f54666f75f860d4525004f8d9c7cbc16e3bd217db07000f765f0aeea74cc6f48a0e679ca881fd944875501f5638be3d3b2422f94e9cea1cf739e564662cef50417be9e7a7307959c1f5410a6715fb295b082efd42032e55c8f2eb673931743f780276a76be0757b5a0fa5298d426da61afa970a8fc45c25ba7173a8980b5fb79fe2c11b548125e001261b20b59ec3ed2a5e2a485ba0ecbf0957255bc8a84600a936edf36bbc175eef613fba96f056ae9dbe3c0e3e916342265bc5da8346cef8a97f4640423c9bd077535b7914ebc527fad9b345aae962b97d55d224a9969a134bf84904bd2397c8c8530f767791e0e4ff30e4c9a0a77216d7bd35277e4f28a841dcf6639fed53bbb29d10e42a942ef821328c0049b780c6de31b3b08ecab13ad87b4aee75ec4662b7d193bfa5e6b22077ae85e7fa587d4a245b13909ba3dbdc009074a915660d771137f54526bd58c1ca48c2c0ea4188147f961988b2bed27b56538899e789deeab6db966f07275a673240d92caa31b02323e708a9034e476f34a8a4f104d80dd4c95bcf8ded3df9576d67f6b3b0c5763c0171152be61cd668cf46bb026c135b3bbfc0641c408b5da357bb17f36ce6f39d8971996646238bb8ef0ef70b47efa9ae4684c87fa0f51d2eb2d1756602da19343eeb9998d28fe9c3bf839d6865e6b4b1c17f89dc5d6b7d7788ff20ec07575bc80573a20fbb0f0e68e8e4b0094bf6eeb5d04ba02b4cbe60f9e369fd01bc068267f401a61a5a616fe279e8f77c365a484a0a1bff79e9d4e0fd110b0e507c4d84ddd867010fcd0ac8a6f7a07bbfb3914e97149a5cc19744f68a48a3fd6e1bbb8a1232b46d758e7addfbef53d39879ff948cde1a191ae44a6ff75d91228e6435ec8b08ea442c0a163b33796b3eaef01a218ce92b6ba7c0c48c34a4b2987d50aeb731290dcc6fb12148e8541100eb4b90e29ce5d2a07e20ee5b9379aa225a03ea180be3e332a697665667bd1b2de087b7ed352710e7096aa3d75ca1714c14bca1aa3297f768be85c8114021635d8d80b0063d8d983b856bb513b06e7157d8d8e025887cda819cc42afa50e5777115fdb0b6e0fd59a8e768d947bec90afceefc1208973e60aa499dea806aa991431cfee21783b18e69850b02021b47b83cad7e200db88b9864ad0678da071a696fd6e0969ed2b5f90d2e314b8ac3eb596e5262958e4ded5a2d4d284e93e370e1e2090e7e748297e764e83fbe9751eac42039fb16a495f0abcc03843e791c58ce0638c3364384599b1dc0f590332a1484e4577fcc21c3ac40f17c6ce06c0098a2b9064d4ee65ff75cf45e8b34ed5b6c4cfc35bec452bba5c7ff6171d94bb8bbabc556cea318cf9ad4cdb8780c9404f832c8ac4fb0f8b2455747ef3c192719017655ac899901836e83bfe9ca0e0d9129f00c59fda35183d17f7c0f903f903c62316392575278d4c23c3a9a80d7c71a18ecf62d41bee8c20004458a7e7081fa360f1d6e61d0899556dd26f8f0c498d7fe60910d10ce8240f554ee01bc85de943774b428d09bd627e8806379f14ec2e1fb1b10560f514a68cfc2ded0f0cee1bd2b70ada6e1d6e93bd27f4aa4d9b9659dbf7dde11e8bf72250ace9438b1fdf6f095e85e2fa37f122edca1ba91981b8675b53a8177dac0f62a6f20f7011c35b821626d8799118cb21c099801a16eb93b7cf5fae3b306ef8a0ee8cebc8334cf852d6541eaf19e03a52998817f21dc2d8777fdea63769ac31b7b12ed6e1f5367c0a3fb0f9073cb5d74593a9f75675581b6d32e794b790a22d59a5427a4bed281c49c7eb739db3934ca602f783594df1c564fd8fa361a3289639963b663122729af6c902d1de080bf587c0f14401b89ab0ec4bdfa2e21d2e86b1af9b5e4da8e76e1f968094586e0b58d9a67c9cb2f2be10bdf5b1932f5fc7bb94dd26624a1b226edf80fbe8a5ab9de2a47a896a2044943a402420116997f74fb56747a1403bbd8a942ceb12b12fc05a2d5d5c752f6a38b50000787b06df8664e79cbf70be8056f4ac3b0e017661da1ab06b0fa09184d007778e74fc994f1e3d83ebff8c0dd926aa86c36042edc8869077967976774b2733c12a4a503790e7f32756c7692f4976b9a276921841e83549d2773f77608bfaf441434d449705629a7faa443c17b3fdd9ef1d8093803dc2b8d65416ff39044a649eb1de63f122dbbc97e166be1fe40bd5aaaabac8d24ab9fed41ff63929be3cfb18199d7ea9c2bebf610912f38ed75dbdad60efd9006aae3fb408fcebb17f6000f4f53fcd0273dd63d48badd56730a726ec5a95657449af2e5d4a64af32bffce8158152d10ceb70182698fa3cc132fff48dbc5ed096709361f256481fe6d48f7c8cb64e7dc95e450ffabc317bd253b12c80d5fb682d046fbf4803a5c78ca8050d3131292b4792ae125e464ab6e3f67534f7c18b358b6e46e52dc01816d5df957fa1ef74a2fc18b33b051e5f84b0482e1ae8201dde112d347a172d77011cbc6083b4b0d9d2baff88093bb685d531c3891964abc0299d23667598d552b62ef601a24e74409033377d5e69d47e7f81266f6682b1f47de0ef959a248a464e1bd20919a8c912315ec4ecea812f4ebcd5afa754757c6f5d3366548fbbfcfbb0217985b5a5eb631815ea4b2fdc90a394bda730162f7b8362d41b2c84009d0b27f12cde400c005a1b5a85077b854d3927dff4665cd0145bac591d9ba93aa3ce82570717d810885e6a6f924eacf9b79690de8f7e77f4096517c31efc3c96c7482b6b77c9d7a1c47d62c5cc55e44e0b7fed61c7dc5c7b20246ba15ca7eef17bdf89c7299d278f9b4bf9406315fd5ceb0043954ba775bd0191b5631f319db5fb9ca36091bc4fc7e61b4bf56a877163b8ea3939461682fbaeb099a11dd92275d59eaee01daefd64ab8547a1afd6fcaa84ff34d7a3ab705b431a9532f93e5bdd05cea9c9db22c9edbcc3002866218722a69d58a16e421b31284ae70e3cc23839600cc1d9876b887265afa5961d057b9ee08fc40076ad3d88fdaa74fc7ce676e6de6e67b196dda5ad16ad6b6124c8aaee3741315292ac36d40c10c9ffb98bbe7fb3a77d2ab6c3174a0e326e78786ff18fa644c3e460dbb666a57ce818a769bc8ed83c9c31a2275f1664d6961eb098b089860b1c08035a16b91a97e09b251c08798f4020d0d24ae099bd0671d4cc8656157abe2705cb92330c23909592ff228c55756a98e9d3fcec88c5dce830f43a1c8cccd8a253142c5369fe704050ea72474b2f79863bc9c35cc03c70882dc97895edb8bfa8328093543547ea0c4f804b1467000b6fe2f241b547b4fec247e2659501366dab5039b98a066558287bedaf084774220c584a3e17640f10c03941949699cd6b63b809818859a55320630d6f4ba9a07c8f968c55ef062ec470e81f82e0d16193de44f669e54a31cd908ce32f06e8183cb59dbc95b3cea1542bf5f29f6ddf0a2ce938fdef89fa228bf02993201a512011feefc24fb1d6e5698b6fb636975caa7c0c2ddb8cb7f06a76e3ad99de18c5987df7d069fd624bc1bc2f5f69ffc12fc93d434606d58d0aa1ab8adaf746d846fcf205d53e2d6ae251ebd3b9db2280e565a78941a943a341550d12793f9d00aece14826320097df7ee3ec0f03d3647559147c3b77355595059ed05f35128f4a2fc1c6cba7f4ad4772ab7458aad421abdca2ff44335a39389cf137ecf142e0dec55d2614f54dfc41a862e381aad9aee8beb20b8aa533915dfc63231f19dd005cedc89353ded55b75078fc24cc6969e95672a47bc3f921cd7cec0348e10ac3dc9e9b68b68f9f8cf268a411173b6131bd6acbe7d37458d12670161f200674ed121956ca5700839e4b50da66fa726bf7c33d0929c2ebca8ace447a3156522f667c854ceab624ff13127995f4e45a1d1185d6901f07e5ba2d157713befdb267cf6e582a6708164cbdfe16bc69d1c62dd7e6197395f0942ee56dc57e1fd910b796bb438a7a15342547444ab04e15c150a054bd6723c9c148687f3e59d369e45ccb58e6c63bd91de922195634ee56ffb5fe27c0fa0edbc2c4bca143c3c1dfac8ee47a6eb6e06f8a621b7f71c2fa9b13039238b6b88b44d531014d172d3dac5b75f5aaa456ebab349dbdcf6d8b466cf2cbb48110e4a41afcc5d4107b7f4ec185cd2ec0b360a791747dc21fede2258741209501d3a9e6e2843ccfa4d1300cd4210d16ed56229504936522962895a9ba9139ddf22de9c45b15bf5a97a8bcd9bbc42bc17961e587bb7c5d9afc811e8a775a8f3c7d4be5a0e7bae370e559b8a50b24678cc9fdf349510544220043c9604ef3c845e0fa0b3e19d41c109da3cd165a074938dfa4905e7be85028b4a030f891ea5e4d0232357f5e8ea0bca8bd92c98cfa018d3e0f575d45a84ea4524f4ebfb695233a54f6f6c5dae003345b8c6035a87762e98b9a3798da11925d66df95b9b8b8d9dc1f18da4530bb8ce69b0659f024c9ff5a04bd472470ed1469bc09947956db2dacdce0ea3bdfd9f9006669316fb4f92e02ef091cd6ca672a5d57e11cb131d8920c5588ac91b85adede30a25f599d8dd9d0ef2694efe1e2d0e873c471b09852ad5276cc3aea820023a5716a7c5aeb36041963e3fd74ba9e3e4c2f2968390dcaca17808d90d9ce1472cbd031241484f6a156a86301929e90ac8b148d3977f144bc3af3391b683c3b6eff63cd9506f88f0da219f758878c5d068708e9148b3c933fa2d2e38ec05011f740c8a95977383398d744ffca33fb68d4e7c11274dd3a901bc49e28c70f3daaa1e6b0b54989e1f06abfbc945b8a5f38566421f22219bcc3c4a58d499f1f32000d90eacf8934adf6f319d4478196fa2e9611d847c5c28fb59752c3abaf1da78b93722afa63d430e20704b6e6b3580027ac6182ff2bbcf8393a41501d640a7397058c9c5df10cb321b2d6564ce5ae425d2a9c3b01227e37e3aa5cc32287ff09f7ffb1da50b50670b3c56981bd074eaf1dd7a2ff2f35e8c50264ab7e724af1c0fddf5276733e34abe4455416cd6f97fdaf18ca7b532bf674f9da509edf93b824b74a853e11c84ee1ce8bbbad5f66f63552da89310bcaace41504954edf0cd5808e808a6857e401754dc73bd458a1c1a3b5f5588f98f68ff3cf18f9af4b240a18bf9e0b52bfc66b68977ab8dab27d80e5cde1a2ecdf8bedafdee9f2e7c01d9aec26b25a805fa460f726fa1553967073d15730f2d117c182a7e7269b912ed7ed5044a4ba1d79f4093825ccfc8c84f5c771d0a228678bcbf6537141c90b158fcbf55f4b1735a9b7efa716a1d53a90e3fae5139a25631ce653da3b075da874e4f3ab2e126d2d160002aef413691b93046cc43722edb173d9cb1ae55978cdc9987a83bc4a9ec19766ac966d0c19dd9a5003633c4feca2091df5ca9a0fa408c81e7efb9751bc77f547395d4e3515fb4fa284b9eda6ed9030dfa5fe4566cbafc27aab41e56dfeef81a0b4f13dd0287eea56f6343fcdbabfadfad9079df7a28248282f665c4ee33343b3c2ca5a5fff186dc62d650aed960457ca1bdf9c400d2a39e141e6c44698f7617bb1c924966259eabf8df17b4bbd68fe2eacac3e9499be87a70ca632827042fc50f2b7c663d6242ba5a34c1bb18453b81d55026d2d847a3c9c708a7746089968af397ba420d6f82a8ddb8feda4d1641a8c9b947c7bcfc5ade2f8533a6a08b4c99b19c8e31a4d3a46a87f798a9dee418ae8169e28cfcfd4646cfdbf265e74907ce99191c1029a5cc1c05cb37d9f62fff24b2cf57dbd5d319e5c42e2880d5b70d8b17e1288dbc11a305046ae15d603f1d3dff805cb75a0792249d4beb2da432ebeaed1572de73b0f6f34e2d30f35384e40eb34fe76913358289a2f304c6fdc671a4a504b4448f1fd29942c148e92b8318deeb767fabd60822113e575ee664ff09a1873aed8f7a495793cfb7b5a504015f3a9074c641e7371b250d867d751d90e4a22a8ac17fced3d50af0908276bc4c3da9314d4986bd07c19f9ce8f403f602d40a8be0599249db955155729768670c725f24359cea8da0e5520fbdff157c3303a54b1e00797a96aa9436e8fadfeb16e310bfffe0a06c31ab1c80f1a99d8945811fb2c426289e16dd053faca16150492e943a43c83e6b3069531dd498ef15dc612fb2051b88f7da83afc5764a3378f017c826ab55382386c5e477c8c8d34ff026cc9e02cff10f2a23bdb867644cd4a20815b7d8be14902b594bb6e30a81ea159aa5c67f24212c92cbab6e827d13174fcc3957db6746c9994fadd1f308461310d9de9e19d52e7390595c9f8d4c35abae00f459017d39a7b0c3467752717f3d090f771492d139ac83743c50d7b10b190769d4d5f3d7674565769e6852fdb43045bcfa0baf487dcf8eee4540de85a124712e8d11e80e59e7a2ba4d60c213ef7fb6b97416915a8b8c3aea48cc050a8fe538b0487af93eea2ffc220663bbf2df010062d8cbb3b000d8d81d9142a683eeba8cdb9c0b6a2c45bc0159cd41370156c538db4935d8e1a00c4293839800ec73ce21e427587fda77b35a804f522d9e4a18eef87d516e10d1b28fc8b90059c34f03abc8247a9ad9fbbfc86b12f56b9b620a81fa3b84c0c7dd9214068abff487485f1e1b56fa1f4199272288f9984956b9f6b33e56a88544bf87093284d3d66d1209baf500ef47f3dddf3ff06fa4322af9f2a80dbcdacfece4734302070bb3949fbeb7daa963d8d329aea4a1a92b3ffa437d8561007321f68d161f6dfe03f016cacf2912b6590be96104b0f3f85672e0ada4563a7aaa7dde7f27fe782383205a89f693f8fb8f5804d73f7b4a85219ad202a7004d7db7a295533e04c74216b3e6cb49936df8565f3adce214586d423cc9e5cba4af5ba29b90d3e1f9d9c31936247c76acb82e5c82c58c2cddfe45fcb71230465f6c137966a8a285a3dc04c795c17350dcd328870890fcfa9c96ae4751687f348d340f9a760679e19d595273e46cdcb281f87f1b532901e6388eed77fa687c3c5c56f72aceb8640696a4ef98c8b66ab62a09ed42e8793c82edbf4a18ba4362891f1ed91026933e1a6c8cedf1ea2ff2d3576a20f87dadca8b45de4b29c812d39caca1a2498e207bcd39ebe0be91b8a175cabbe3b9b1ca9cc2eab3588d122c15eeb2b8680b21cea785052f597b022fb7a77f70ad67237b4f2091d17e0189ea7cc6c7d6632c1030326f887949c6769d652b4178463ed74ac4848a851abe5e457ee0623eb56f331d77c1e1863b9ced65a437336762b4e795389f5bcb26461e5c940624567f0f880eaa53082ff63e768a8355242ccf2c18e629ff7cebd9cbeda19e7f6823e16f163efa02ce29d356d69ae18801e22b5642bdc9ed3ec44ba4f8e858fd298fdaa07693c58e5d49cbfaadae854eb54f4fd1c46b1b2119edfbf548b8452ee2edb68b1983b7286764a5fb8fe1930486259d8c0abc3c5283cc767be238900e4e1b1a3757fe87cdbd743f3ab4c08e41f8ec3bab0428999e00f5c5f967fcc00bb4f7531d512d8bffb92112b8e486feade7383ac6a2a1744b1a985d652a813aeb73667b24c1e96dace62daaa9d2311ee6ba0d0c6eaf105cbcdc320fc8e5d161b1981d8377584b0f05bf99e82a0f37c79bd82bfa26d9e3db8ffa3782904575fcc9bd3e902916d2acf4e6c91543d7813647d95ee1a82d241dab60a47141ac84bd8d694f07ff0398404921988d663226644e8c128a5738b53629a7d33382423c9a759018acfe04c0828c411e8606a494fe23706fe92516f1dc3810fb393d02d88274d6184b82813c5ea1d1838e541c835a399db18e67ecb16b063d97d039a738326c03ca3bc0c07319bdea643cd1d6550152e79c5e1ef4590a6e2bf612bf861947e1d011f6a4a3288f0fd3f48c628f58c6e00778fce56ea0d6108c0c235c0428b5ea14dec908813927139f31338118eafe604a7811402ab4d254a23038beac454e97d3ea03a7f96bc2382becf4e3f1fbdaf1f1dfef22175c3404ecfb01142d1d1151079e528268c5ca091bbcbc7be5b8ebcfc4a492dd004fd70be89d6ddd247521e637d08c166b0ff39b979d84966ddd07d4ec4f83151659e7b97dba15809283a853a42ec0f7e0dd6b4bf6c47238cff59724122fc05346702ace84b08d47cde83a27e410f7ed5c72820b5c5d87590feac41c10cbec2b0e15ff324af33d557464714d7d23722265e2a684147f122548e963e52309e741c413a2d1918e6f8e31399a350f98b5fd46c38155546ba6e4d1d189cab7ab4cf256d011f62ec43985fadcc16a995e0acb84e70b3ac8ff52f84969d7efe2d983090d0b4b0f47f0dcf0f5853b830808677005b1af9d1f954c92771a812de1aaeaab05e495f51bce83bf43fda6868be33ad1ba508f05f137c84753ab260b706d1840e4b1c2887bdababbe7341de2e3460c9ace4ace4a161f88991e71d11375134aff8b981eea11bf7d3eca9d7f528fbdbd351ec5fb9cac076e31c98b74d6f59a2c3c8da389e41800e9c2a1130d27aa6536f9a381dc9e58a01b26a4f10ca349c2024ea7ef12b4f500b7c4a5cdc8997b5a843caf992fb3b4704bb0f93c597496306be62468a0d0d6f6cd22f23a4bbe915ff6f5a24ac7f8c335335eb58bebd5f0193df0ae1371b2cb118f0bad39982b5ede509e94f870332303b1559cd1510676855b818572e174bf039c6938d877b546bf45389cb29a1ba874c235947d68947b763677cffbe7a0febe347b0ebd01727220e80381cf7dc8826e67824fd56f4a4fc19e780c20ac1ad0a8d6953837c2674bb7a767dbfa1068d50a518aa47712bb6f7ef2379bcd9bc8dd4362bbf9bf2ce47ce4fab0c785c20e1de149e2a2e8ed59d1c35ecf8aff8bc312efe5292d0294d493dbcd405995a69a18e8c401f149322eeb746481527a6627e2432ea384c78dee0ee309797d27886e638d35272804b2c3eb11072397925d672b1261084d8b33fcf118f9531211b9f91297f626fcd3d4e0bf0583c74d79d3a131687cf4685d54ed2e46050fd1b83d83d934d47d0adca73868acd7b79a6cc54921beebedfca548769c6acafa0c7a6af46b9be3b7c467a4a4c8d9b7a0946f670d68899e9ed31ba6ec2e26cb52a16cf4afbda33511d0c3e0860a0ccd69bb9f31d5678c9ef182232d08ad0bdaa11150ef23eb2f8a828b3ebc0ce8c04f23453a63e0f9a0149e4c2222e9e7aa6f53e96d27d733209c18c7c36a55b1c5bb7d6b440cbb696f53008544e3fd92287abf921a4c8b1ee4909ba8c1a041ec86a3ee82841d03cc5e1a6bc568ba020a1de85a841657624c940f7101f014b13f491d69e4d88f086dbb8308505e8844be76592c3ce07f80f215ef220da9378f47a893ede9afd6b13ce044bd59a4b502e6a68c319d6beeeda927d0efaccbc13933eabb2fc964ab6414a69c4fe465061fbfbd775d02091b525152c0c8e200074642613b02b520341722d8e233795b4c6008bb066531832d6f5764dc479a4c6365a1339386b5da9683d3babf4d34a7a71d33e6ed2f483ba1fa205adbbbf994dfeebfc08d466da93a80e84c1b170fc702de95f4ed845db09cd4e912bc90c7a44be5363e2103887f5de8430c789eccd4a9010dd4c9fe96592c85ef54065bfa9f203356d2589d8ef16ca196680336dcc13b90663f00348e2605b158c9c8dd8b72ed98f9c7e93239be52155e9f0d16da88854de18542cedd6db86698d50ade7f25d4338b56a441b50eb73753226ed8a640bab453ba85122b9c439c93cbe6a24e90f1c312728079d1b35f2e743dafc92b518005755e2be5751f69cb8073f36a6e3cc6c8072fd3438a72c6d1ad034f8744d8236a9353d23aae273c7b1aa776a1a7899d36ff058e7c99e1075c750a633ab9e096a586fc3396a074234d0dc9671f69cd67365b46485721608569679008d4b901db02c7fbe495c576f61da51cc09fcbaa004cc95026449520ea5e814a27e5dd62ddcf9f95eb1c8e940f6bfcb07c082d2e63d6775a1fb2c11a3de24bd40e26d22cb8f0f7d2d49ca086733e2aabb8a0eb2246e5ec8631831045fb220f85ae9d75fc4a5a0e6ea5efa9f21cee47cc3124fcecfd897def3360dcad8c13508a13af28e314275d487a95797cc69ea152d6f537a59f9b3b5d6a7e42dc6c629a0e272715462761a4394f5b091d3657e964b708f197fbf656d0b8e75afb41968792009efe0e565d61d9db6ca3bb1f5c77a55d47955024174792ed45293ade6c5682985d85457b9fccc1dc4328a19cd7365265e40d1396c947c2269e6dae5df8cb0b78c108d58f5b630a503738ac91cf4feca939e6e1d715b58fcdd39a25e4f44efac6ccd1594c8d4fddff072d33b3167f759e71a6f81ff5874d7de57515bb6e5c27eff02bd1bacda0917325d4cbc0736f96d079e9581561c5366a351e88b79e0fadcdfbbc437fd3351b89bc824b9d72a8022fcd058aa484a42802016baae32d59b82f8aa7df1c024b4e2d9b332b4756222f91e68f68d73372c5bb56d462d5b66fc646c5263a34fbc56e2613e048248ae03daac904934c10517cb6cd3cdea26e15c65a9c5fcb9a08697bff875754ae3973dbf6efc7a0db4c32172e3b4a47e1b45cf42f1efda4aa41afc56068026a53639287d66550baee66987cd796e7a6801daebccf6bbb3b673b7259add2f3e838985411790f59aed0f29317e88356de6f04c4e0ff4d6a3286f8cc4648ef86ba46be8247a192ff74b0418a3f27de414dac45b8319e69f6ad91e8ab9fab64bf591a594bfa7716f435af082f135d9171035ffe88fe826a81c0c7880f2ec3b4e048644fe7c704d7b64545484246a66ff7e723e74e5b7672844b9243ac4e3e887d0bb45fc57a5b03b21d35c4b4072837097d565a26d074b25572831ec214924535de7204433d563f0448597e293b5df5e5107ca3d6ba62c36405a48e86a85766bcdfaccbc510872a53c5a07562542a76ccae0dd7c06e2c420f8a3f463bdea07409708fcc5e88fc5adc9e87d1a335379ffe3658547635904cae6ccb8b7d1e578d0c25b50aa44db04acd02391f4eb712839f817b6f146ba87267d3b8d8bd6da7057dd62f22e769153efc40e0104023505484c320e149700aa4514aef93b7edd57801209696d097c77c952de28280b18d2dd98ea511a8df7a1de0247a7e28fc708244cd6f2b79c9ca1dad5f65aa931fa76541fd89d29c292a92c96807b65ebf733503229285213412a631f4031ba79c3429a1d68c1b5174a89c1637efada83142f9d9642386b1e8c8362e3da6eaf7abbc289e3451bbca664872addb0722e538fa69a313b389efccc9d01ef6fe2449f1ed09bd85f344aafa1319322cae78b069fa19f4e3b43beacd7d0e353aa1182d4be02a2666330b0ddba03412d5147fa6972c288f47f862c0026b3f4bb520af3473cef68c23704b5e4de13202228ee2d6ac7c1f00d08eff352a634f005eb98e6d873eac1f07f7fbc9a7223be0fdca99579e539c242814172f3556b478bdf4bdc3e0c47f1796a50cf6141ce9b27283028bf76fdc1694b6850a1f29625242c806d4f3c382ae4c05917964206eec8aedfda3c7d72af7011592068ff9126e05faef4c9618de6218c0f3c64840053f2ef07d10b6d4549235111baf778a7e488e429d59d4e1a289a8eef113ac97b9e4e970b62cd5745954c4ab1049a21b02df14ade4cfe3921489c60f81023f252367f903ff6f0a6371766b272326034cc7a97a9e9de570323d0d2f43df9fac8c8492077dc45a5f5b98e30cd2298c499c1289cfa87be027186015df0e08f55d0b6eaacfd0e80e94d79bcb9f90723f741e04df54de059e09071c88b78e46bc1273cdeedb73e2db28f8610d5670655099e746a6ad1e6a3b2ca485f947df47e7af99a637db2bc80637570763ac49fdfdbe16755c09066c98f1b2edcf9c21f22776acfb78ed7eba3408d7330d30a5a7031b9aa1fb68543de335a98171d703fd386fa94cd1ea18773fe5848c740568e8735c7a6c27161782bbe992233745ed33171080a8d380b231cc42c52bb3776893c213df9ee832adca0d6db0866ddbf1dd3426c5a0df63901bf255bde77e4d8305cf5b5e0362bec2b70e26b0beaf4a36c525482c5db9becd4c7bf9263e29e59b4dcd5e47ab1e8154cc4e0ecc2e444bbff1699cee779282ff148fb21a33a45723bc721a6002989000fdc4ae1646a8783af70e6edd5565c307da68678fb17e9794ff69102da872fc345aab947dd854d98719d72a00178d7e48eb281193c2284b644232f21d400562c409fb33938411d803e7355298f7fac7d76e93dbfa2b1b4c0c7284fb456270931e256dad65df4132eaf6da8c63ce8cbfa61f301125e6ee6b7b3ac1863e0928423f72db1a9a1a40a1581f9f77d58821ed68bb6e60c3a89acd35f321917b1d94422f6b6c22a90adf4e335530fc451bd79b650cdae4db5534cc946efae97ac997dbe3228b648e8653e7d53d3221af13a79682ef6a13054792cacd218038d7ecc3b873d48bae02e67948c428b3d68adbd33c4baff99b73749f303391a85a1ba90ba171bb66f6de800d427e0808082b25ba188ba4866b9720db36444483e5300756421fde5131977388fb0c66d7016885eab1bc85768c8c16d8b6e6c2d580d219023c537d58ae2fc6d71ca2db19e1e1e07c9529deafc19abad575c125a7586034649991361377f7befd67cecbb60e4f73b89673fe6c2b7fa9fecdd79b839633f3a0c931fc16f04cee434d63420822f1fa552ec5ed56ec3c3b883cf186f02bd62c7732a82c282cb07affa1d1b5c88ad56c6dcae471cf6e9094d4a3c4fc94fbf154684653dbafe19798b74b8df728050af6b605dd473210b3d87059d6639498123baf377aa9333e06705fddbcf44ff8bfd9a40ab4fbe982773494599ce143603c42245e3f7518cba7cca0a148e1bdd4633a9bcf5fb00b969352e0146de087c3a3e81ca4e16a8d91b490d824277cbdcd73394dc07ce77688b07ecf0c0d86d7165a02b164fa304b3553fd3284174d56a34d8693c8cdf7ee26606534d142f08bd3cf4e82899f9370a23ee4abafb60bb6c3c14d8892761752579d1db586dcede95bc1e4c68880365533120c2e7aa2b3473e2f62341c19fd0e55ec2c636342da08600dcee7bb7813058ca909150f0e8535b4d70a34ebecabdf40e8c9e3b44819443ab4332a9b106e99e99e7a86de784c6557e1f670aa66bb775d3fb1390aebcce9733c70bfbc88dfe63cec693b0e313aec6c397722a62684b5c137151e44a540c1ccb4cfbde226532d2a0da6005dc72d621a7552c114d0165dd1dc7dfb304456ee35f9c9185202f63e4c83a054711795ff678ba06c4aad336f8a7e7ac4f9ef69469559cba6277319af0b882d3fe3f82fe2339617544e24dddfbc44f87f02881c6b7441cb80cf99c1e16e9955a509e418b95704e99796a61bdabf50ad2b1ae7ced941bcc30bb11a7957615c3bc33a99a62d5081a5be2a08179d6f8026b34e673e51172db32d493a3b89934d77386eed7912af2deb7ec7c972eeaa208a57abb3f230561283b487e62c4b38b6be9866cfe1912273484e0b91392ede09547ce102de386a422798de7db53f74bde6e0a741ff939e30962ca2b8962a2fe7753e8bf7d61f1e1d0cbaf7b6437235d348303bc1e0816d5ab984c0bfdcc5a2b65656d8fd4adee3942b68a4ba0532f54ee6a4135abef64453b7f52d82c82a14660a877a0be03be26b8f9e4cff5ae3a9e5d9b0db9a22cb98720d4d9d656544e0088d80c17a436c5b8f22870b36ee84ed6ecb03cf9f2dd856302348258439a088138c4b0170d868823242f55b5c966a0401f58881a583f9750688f13ad0104de773631a3219cff7b699e5fd24b79fce2c9a0de957c8611143555c4d769148a32e77bf14d763e8eb4c3c79841ab13333b66ef2c4614fc0b7ff39ba8846b09cbaab081ddab9f581ce3e6aca4008446201d086cc607d7e240c2af137eda93c6c37f675b65727a405a9e7ba005c5f4f3bdb52b490caaccaa81cabdb28d2004d6a4188ed327c8e70fb21c640c04506a86fd78f279a36bfd292aec6cb64195bf2dc678ee1d6f5a309fe941c61b231ed19fbc680c9857d2404286328e2fb78c14f43d07bc199896966c599ca6a556ce035b74d082b38e544931d3c3f231d7de845db5e262572a2732d049060b0ea27096147a937fdcd29a2635c618a1ebf151ad43c8ee30ad2d19b920a8e4a235f5205945d615d8cf748e0c927e3158b38ce85764b8aa84fd38b6066ac1bdcd0c7d405b08fccf1cf8f646502466be3898ccbda3b82198a492636822abbda9df0df2dca3a78a905a3c80ba254f46b26e3cebc30e2e5682c518c4fe2dcb38389d23e722c8ae351e88fdbe9e3ba099e51cd21732356a4bd5ff3f7348ff8f24efe5e4d965f06f044e2a0e8e3297bc0a4361560a785cb75bd5e4d4d6fb09e2abcbb3d8a93ff1891170793fa8bfff5092cc7684201ccadcb2dfc41dee3c468b30159544eca13af46260130aa9d04e8cfa47aa6d0d8cfcb14b577d395b30c8094142b107a47fb2f49bce0546a1e88805cec954338abb1b2ac87de042166e8e3a74b232614a5e963fc8d81627635ed6560932d9b229453eb0736eb0a9c23087ab1fa9dba3147db0f42e713ff8b771b1aced0f8c11866b90e895aee53ca63e387bec78d55db9d9c353783b2813a16562f88377e3eda58dee255e435eafd35f95ccc9ef38b1b5cb3d0032499d181f01a17ffcc7dc0864428b02af37b52d3edf1a7428cc1c7bd1917ce4c807a11f3cd0492f76c06ccff99483e9c8fa66cc53fdd2a324a03e466e04e21d41d4d6c6924916e7fcb5dbb330af24be8efca2393cb6319005cfadf164113ba5ad1da08eb6f0b01eb3ca6541778fad08f0c3469d38408241f2bf5ae9222f56d2506456e65509c88bee495859273c6bba07d16d921efd352052575b4c222f9d0ce45ce75c51926b56259258d78254b17d5e6a87b6dddf082f228651000ddd2e4dfd9a1a8fc7d7d1724ae49f7b38d7a0661bd414f833bedb803420e95f2fca6aa35b2156f09f3b8305d0793ec11efd7aa795108b49d5c038bde79655d0cdc6d0e027bc89c422fac10b1edadc880e30b55902c88e750836ba27d869a210cd29391a24dec667584a34cbb5740e166de08df3acb9a507d519af539aa0ede520ef925ca1fea6f1e2b1ad4c4e9b5a953bf5839e553062c5d5d7b43152ecab6c3d5c96d3cebf27d7e968ab05a1db74ab311659e4f73b528bdbf11c0a9fd9ff340466b97d9d657f59c9766f6ce24bc0970ce0474fb0a86fe9600b6bf9739e149774832ee7ac9947cb4b063e475cc6e3e087926c70b2ae5657010361d92833ce0d8b07bc3c8bcaa4b43318c43e588e36258bdc6a80848efce51158a274b664be7b3deca37f0e116982b35626522d585872e90c38905e2ebb6708e553b58e41a7c1de32f4184c7c43912062f1a3c6782f93f88c15a70a67bdb17e3d6f04fd092444631f4d24a0825f767e2c1491fe61d562716f0f566ee9492536ba49a6257dc8c75b87cb4f37dc58b591c9f7eef2e2e04451440460e34630aee2b3e194a4754a9eebeb4fb4685a1b202a0581c32748df216f5b90a173d8324a0b25910fbeef47c2dd739e8ffdd5f648d4e1542845acd55156c889c2b8b455ba24519d1c9e666f40b9398dd2b381289b5a95211f28fd7714c1dc08df3883b115a57bc1a6cb60c86977ecc364bfca86732b898dedc26c582bbf77901e80924efea989f0eb6786b3dbd77d19cffa74b304d0255a7de45a9fbefcd8a375b67374e5e9d41b0f5ace41cd9958f47269ae71f3c12d206c6f7c30d5458d332a19959a3d016c071ce15663bcd24815f2affdf0fb011d1b24e6973ed453d473ef79e8978f8126b999883a6406d784fc95d512e229f54f24ab65e1ee6e7402697499a6b8c5a6826b2b113b046f2d85e253f9ef863b5cfbe49df1b77ab629ce607f76fd8a2dd7a217fd67b48a80560bf48c1f7963f5a84b90389d9fdaebe3c68a2c59ff093b06eecf3ce20c3f212b67b60297ac3521213e95f1e2f9d1e8987aae007a3c35eb5c9589757bb25e3b1f2469ec331c8975e3c9643be7e23f085e1b95bef12b1b5df413d46ade3fc778b4d409f23d7d29324f831845c8c54402330db4b1d4116fc0faa7dc2054b8af6a9dc859f94963ec29537e13f0d63f271788721f2f26f0b1e2ebdec8baa6fa6e8bb4a1515b2574f83f9bddd3a6fd00666848ad2a50588da647bed6601c87cc0bd34ba579894dece553dc290c052d72c5c86dd64516864303b9e41cd4b2f058b8926354898a9748b63c44051d7b067033c1c04be6316b0edc6f87f0de04660bfd67cd11fe1d30f4fe6aeb419ee4ff0af84479850e63a2b215a6fda4b3947b862f76b79553d5137baad89f9f22bd3125b91b6c6a46a703650fd0c9351fddccad3d1dabcc369915c3ae8f74188ddd1fae4225359fafaaadf1c653f0d07541b02e4428882ca3cef2371c5c770ba9225ad457b40eab3a022205925cc6c9c60dc5c9c9837b4bf0ba93c60cebfb40ab732ee8345337f4d1810b95554c930fecbf971029c065b870b7085d097651c572011dab46f98bdeeba205d50a4ee8093124a3a39937bcdae993778fd1edec2cd4490bc92dd0cdb16151de84e1cb56958191938ca601476cabaaada97acd03444b9d0ae28f975c9d0312f884529020c7cc1acdb56e4d253be814ee7b2e7cdf8407f059f5f4de11027a9f41399cbafaa4211bb2c4a42ad17a5092115ca177f810fc3971297fd003e85dab4090b105872d1a0d3300c4df1a58acc535e7beb9fe6f24f465154a92b5b1ae9cfecde6732354aeede993ea0b0991ee52ec0af399f57f4238f2884766bdc983b23e3cf1e945cfc63c85fea977ad0abfadf0337cadbfba1dbfa1d0e81f37154ac56863e54776ca6b527d7a7a35ec55939565f20ddcfb3e807a084578c9f891cf01c343c9c933d9a4e92703d275901f7e9ad9e65049f475e0086a9c21ab4a34de06c39b7a1844ca3eb1330818995779095287ae32d17f3524a7a7a2d3a1ddfe6ad1345929ec6f2f4a442ff4131264e44199a1132359adf7b146cbd9c2d54184b522637d67df1ed11e5c29598102e3c212d725cd052bfa6bb9362a78cf071ba74c620478ad73fdcbefbde584c57db1ba940da75faf5d9435bc5413ae50c4a8e2c8109b0b992ef13b6a62e931dd44485801994ca3e9b02fd6ee00dc346bab3b515fa8e66a86afa48be9542f341dca112e3c5aab8ff64d8a56ff2e90cf97fc7d9c7f440b853b868a618ae9eed1646e07ba92788b3e945a2b822e6f0e2414139a3d5782edae0499809ba58a2a4831987fb6b621b61c3e9794dfe0a3295df700c04ddaf2d2aaab4753a2426646a7b3079a767e33f5edb64d2674b7309fa28d49ed4d6c389a7472a8d5d121b1e8fbccdc9f2fbd8faa1dbd83334d54acef5bcd7dc884306ec601525e3053c5820b110c6e804e002172a453d2479563e1a51aa02b585405562531cf2868efe23a46e8c958a6f5d2dceed57f66085a4d603660ae54bb0b208fa2c25b41c4c100b099adf3a5be4336c5d79350d74609a48266d106e0c003f6ae8047e5878ba5b274f58912be2a71ec3e2fd91caaa8ad178073481189fdebe43a43e5940377f45746c07bb1407675bda79c93ff6cc811fb30630e8c65da3e9d90a94c0fe359436268fb01c260c80066cfceab0c6bdb72725acc726dc10fb90cbdf5751043f6552ab13dfba5a850bc7c0899d728a04b719d1d9115a09fec22560bbe47caa7b366edb80b5082ad4a352ac1313b891cf8028eab09077baba664a99cdf33025ccd8ba548e19f02a5624e88372f4d516913213ab52f22375b714f17bffe5c5048f9fba88d85ab957ff2dc4ed966d395d9cc1b54eb70d467630696932ad4aa962d41c40f4a434dd18c41991913d84f53e2961d183ddfaa82b4e2ff8f932eb8e98dfb571b2308c7b90d94ae24489543c5914d67582bc30294c01eb2efd7376fef65a8a3b418efbdc4738fb0a1a2c4d0299f92a6b8156ebc27535f9b9d44e866c4cfa90b0b45692886a523953032564666dad3f81c8a43cb8fd103cfb90d8dabd00135fd0782044eabb3b9214ff77a66ee50dadfdee7f31c45f8e16ffb355e64f6e27fbddadcedd92e8cbf07fa8fd68e713f80cde8208bddff8b8fdec851805c687abd1c72134cde0c7a9535182054d85e96ff9ad4105465577c10d4100f9a5d81ba5915d45a6591812a21c7d5eed3acc42c33f6e47240e530f05c4d4d6f09f044c70d3764832b34966a28b8a18cc917e23ddf4826b543e76752e718cd7eeefbef5593fb7598009e888778d3b13c9007fd22b8f302a532d74e65b4820b61b632b7b0cbf6004d4cb21f085fb6c8b685ffdf4e256d7890af9c4ee9c5677e2f273c9c59cb65582f534fa13da68bd1a2905e1d4a946404c213dcf8419236935b428f7d84fde30a5b992a28c30f1cf56d3b41ad9b7f5007bb5dccc3387c04fd39e4387d478904264f75dcf2c9f467452578404e4b251f25b61f3f99f226bc845f006a80ef24ac19b97e36441a3222a1c29dd7000780c8240e094980d0bdf4b7bf3cd07f8b60096405a55ce3a4c9999204efe10b1455ee3d77d6e1557f20163b447cc55ad9e28d7affc9c70bba49b22788f80b36e2fab68188d159fb3607566285103f87764174718e1890359ca6edc8798c70069aefc3e2a5d40261e83ef6d9e9329bf2501f7e846bf55e641e64f64c777c6dcf961bf3d3fc9be609b44a6a2441f283625aef09a27ed2c1cf4dcc4e7ddd13e0092de29e9c47ad9105d4bed038a495e03181040a688528dd3194376b9f34212c87c7b02221dc1064db88abcc06ffbc96109b427154c03030e87a1ac8217d0d0888bf1c67f9aa69493145ec55ad5b84aed344879791c82e39f06571d35ac395e46c9f356b944f1570ec44d7389b459fd0c9057268ddfd12548eda1490f17bac2aad45d494d573dd9d02c9d1616328ca5645dda4c07835b58e3b1ab05f12366262c2df458f8ec8e4300f5254007d0976d75126aa035d0d0491b58fc7a09e4ed57e4f21cde363e1ce3146a77847e87611cc6eb985a578909db7676fa4e7f2d159617b865fdd3f280772e29204f9f37a05fd0ff0aa2d3d5b0b16545dd44c7a3efd53911dfa23e7b3a79aa964e590ba635b50833dc726982b43687467f54df66782a118525ebb64fd1d8cd679fc74a10dc4dcf3729ebf352e1c552e67f9889a73d7d4f7e303d2d346a3622657169c5e8d7d354cb7a030ff47a7fdfdee0a5f1fff18970a9e535eacad80677bb4b06e90cec4fc6eb0894d5d5ced51301b35cddacb889458c2cec07607b3cf8e80dafa061ccc555175ee2e111f3b00169d4d33325434109e13fdaf45da1b30f86a81d3c675a6a70433bc233547f14a86e465c20cbeb4ae5dddbc19ac45ddb8b3af06adf525d02e687b6de3d394d6bc02d2aa2aba3d64e12d0bae71332be3af86669a9ad9955938ecc9f95c89b5740d93c9ba73b5892de6605e6c40b151820e367dfcb98cbdb3f8f468c5ef2bd8437df873d10ffd2cdae30a3cd3ce1df87d7e0b279ddafd5eeb7034af98ecd67b0d7084b1b9fbd261e2893ae568f08414300cfd8f9b1cfcd7fd83c706c81b2b0eaeda61c6d040da9ecc5a82f503161a5e7969570508d41d9043503d02aa9fedc2f436ed8de8dec4d84ffc451e6306cd21973ade0f7da028b3a0ab8251f354172764c512884d3d08723ce22414d3ae42d92e978b19c8239e24dc19caddb7e4d477c18ba5571ec1a9091e5fb18d759d469552b21413adaf353aec4cfc3f5982f67e3c63d3926b2049e867f6dba455eb11b8b59a7dfefa0ff30a2adbee6f9cc54cbfefeabcebfee4b8f983d5ac4960345c58653f5c8cc0baf6ad8277fde5ee5b46031a422c5aaa12b4d7c43241eff4d7eb62665dbdace8258ac00ce98a494e32ff2aaa28c7ae2ca926514ef4f9044897df8c1fc7f8fc09c000b8c077cbe171c6b58a62b77e71a0a15fc1b254f307a3acd63f45d9b154e04f90bf320d1150562eaff6528792970cb9e55df2a1f9b895730b6679014c3b00aabb1b3a6213ef58e595b94b9bc97099c6a6699a60879445f20a6037f0db734deb9ffb968f4d78f36f9658d01be963e202d1d01363068bfd5f0d11a634c799c7b2299e9282c337a0c37970338b7cf09e4e44828be779913f78b0fda84c2c22db034d9acbc9d503f17f12923ef91748de5927214e85c8c0bbe94029ecdcab93fa3b7ff3a962ec85d6af8a05cf1d57605e49325ba53d1c9f97360ba86b197711c6275aecfd6438f40878ba3c7f45ee471c50670aec154eb4c858ef1f0cb6fbed18ab801ab343868e24cc6a3d4260ce2c19a86c498e97c0a637902d25031f72ed6b5b4931b2b9a46911738e89385799471bd7a1e1b898dfce32af9771a3347715a744047d8c63b191e9479edcc444b7a12e0173c796da0d7537115afae6901e80f5aad6726921afd5a3d2fcdd6ae70a398a16ec6a2c5fb80e4f52d7362e30efc5c45e7c6c6d67e20d2da2e614d9a947e20e74ad59aefc2329d6d5f9bb5136efa9ee00022aa5b991c68e80e2cce8dc148a28015783ed79d5b6ac7cdb4dba7eaced38173e752c1c4045ae3528d49f2d026b0a1622b5c1b1418f4046d52fbf67e4d6ddefc1f0f42e4af04e926d95ce269a1e232a7c06c56de7bf1c3ba1def81834fda292c3e1771c36d01c7d2085106ca80afcb383946697b7107208e74f0d2b6320bb547239f9306baae895935eed7d786fa569645840e482111fdfb6830bbb8336934bad5c1a7d939c17898d97e108a02f8c96e5d8413073d13d0af8a286a318a73e2d17c651eaf189c81e10f0cf0701eaf91e6537b7b3b3f3814f97e5e45e03be828bbb8341a31036f895753c0c5a5b109d94ee7b4bc78c942b841fb8c67a5709dee89fac66a93dcf512e26c9c0a32331cfa0df838eca565fb130ec8cc2e120f3a1d556df2fff4d61bba9805127f57cfa4b5a10f7499ffcaf6b9dc45407a603630453aa63802f4a013cbfd76250990c2b84e5be35bb756b1dcb6967f8438f3e374cebfc244735d19ec10c4d5ab9a6462412521004086c49caacbc9db89ab5232991bfa3edcf0ec722a6254e037c1d10dc4de11fd89ef5d7b46d6775ef961010e3946d3e4207fdc61eaa3ba7debf07b4d736bfa86f1cc6ac3fdf218da3b72c3246e08a9f1ceb37b135e0745ff1dcf942aa1c6399be3ada66669feff37aacf75e56ffba47fad47afd4957c955a854f2ab8c6fe31571a24580aaff1a79f266cf7c25a784922e46e1c9195c518b3e574f48e65c047eb319a61e211442af30493b420eb9e721a1eceee552258dce0d5a26dede423113b83ea4426f8096f60c0d492a3965df9e73234e8126b3cf997cdf832bd8a9f69849456e65da5791443bda8a1752657a33eb2914eabcc5d0dacaf58b6575ac16b735027689c3729c086a4207e84d7c0d7409c407432582ac08e47dadf7fa171a2fbdeaee75052279bddfed149cee599a8e9cb94f753b4ba5c5da19ba8324ccb4020df7b92aba40af66235e05e924b80a98eff275b1e18b3bb07a49f55832f46fe041698cec80c4fd89ad6a0d2317b82d171e742fbf9238a5a15a42d0dcee223b3af6647ffa78cdd83678b8e5b53f92dc7105837556f10629cacbd6e6918e72449477cba9b6b34685b7dae2bb7c23f134ed515966c39f6ec6acb373b87e3894145cf0cef87de1e49387cd51a0e15b6f7de40b6eadb1118bbee876e8180d311423156bec02eaa18017e59741bf79e1a89d2621fdbf6eed91303961031edc75b0e4cf25019db8a1f06bd69d80fb7e321f4b5a7c6ceb222080b8f80dc4293759079ab3734ce4b529e2a22914764618c811de4fee589213650495596e1b21e6ef73776e842911c738fedb51859247bd2d518a9d8dd561f8daad5c1f47137c1773e064b5f16f3cb8cef2e52e3011588ce02ece67de0c6187c2763646f7f249085a5fbb18f63330b952a7df526ddfe1d4e058e529c3c490dd6fa2245b44696f1a2e3b1b7b948496654bc75bacbb98fe270780ffd6a763303503afd10c0ef3289a6e102af0309c0c137df93e8fb50d94d1ddd71e2ccc4a9259a7fa323436f3a7c875314ec95b586f037ab64d73a7c534081e3999c16621379f2081905253c0586f8975b87b1e31dae9c4ef39614a790ffb0cfdb3183b63ddd87c27ebdcfeda329dbce8d31a91125828cee9e0c723c12e71011017047cf708278eeffc0ab23340eaeb47fe5828d75f24b0b2ba2208dac3f4ce7c139626f7d0c094af64265b8856ae30181c6d7ca9a75a12682ebac65102c601a67530f282732bf6bd939f0071a4bd072257f32d63222a3675660e5a3a24d03046e66b509e9bd56a689494045cedeadc5d3acc272f5e3b20370f29f54916a576e1b5687495fe44ae531be4b60a7a8648217d29267ef284961da40a6da9df4c399aaf8158709818caecb18c55e5d9b7379b91c50285372372b88bf6da5d58f6722802ed097ac4a2c9e605d580e57d6f3954409be151b047c2281040a26b3b7ecbe5890fffdb1b3aaf16345f2a4e3516cd4d6c0afdcab1849321cfdca32173f649854800fe4b239307a59d9a5a65b8ac5fd5e3258520019c22c301168fd901503d6ce130d0a3785ec2cc87f6845cedea506a9941327efa2dbba65147cefbdadf02906bb2927ddf59fd8e87a52412fc586bf494586cbb2019db275a46bbbedecbc65cab717ead9760247681ca33d03246d8d2fe9ded0a69b699389d91cb41e97f5828a48710a97d4d8cf3375edc8e24467152b35f21f73abc409fac7c09b3a62db585298c39a8fb9548bed45ce1dbdc02f360187352813e3ed08ddb03748dca2288d3f3fbc1c95e584507eeff24aacc58ba12b693747f37216ce52aefc701a33b9756f7ee1a53aa83a4e6b561a67a4810a801db579d84c934192cb3ed78b041ee0aeb5eebd877d2fd7e0ca3bcebf20386581f13c57ccec8bcfbca8ec03b9569905fd151bc379caa70e138972e9a0bd1c6ac5ff0f57d1203ee2fdbd4627c45368b057532442f52eeaa140828b14ccb7b366961b1e455a586bbc52e900e2f2f6eed9966aa282601b331f7d7abc8dc775350301151fca2012943ee40d5faf36a0acb4156a04382c604dd501cedbdfc20c0b992be097f66f3f750e5f6dd7ced066698956ce8c67a7a3b35cae53a1c557c17a6e33c54dcfa79788a44f2b75afa108a4523aff276a18decccac003710efcdc69f9646915c8efb84eb8194e66e2c09294c75d8a29732fcce446445b7a8015078e45982e4dfb3628a73874a25e100f234176329880668750b718604dc4b32bcd8277bbee6113141fbab93740519935dfcb651a41d4d01b3354101908ad649b6dd4b667a3044c1910301b969d43b181208e702d6c6174f2aa07fbc0789020078fcd3dee2e4b42c7156b2fc1026e457f9256642b9c4184af4cb8ea289d04fc08b2975887020aadc053dbf9d038eb17a2c34fbd655f5d3a6ccc3bc0cd73c6e0852e3c74bc4a9e414c09565ec50108e08bf20466c43eef39a8dec24d0d4d22792bde35acbadebe5a6b7a7a5f6bbfccb7f14f4ec1615d9112620d1da37a65087bb338f90777f92fd5bcbe050a34a6996c1aa8d8b56d048585be200411dda0bc8dd9a2f95c3e8d91465a7eb29b4f9e5f3d9ff4f9257ec2f4e8787dd0d923c99fe9816b920438ea412bca540baad9acd5f5ef831cebd57394be513bb7e9dcb4a9e11dbd6a4fc1480ddb2702d043824eb8dd2e4df813854995cccf9694bfd35222aa4c186c38a14644df12ee167e2b3a47303e3004798952e9c3228f046438ac272f6d2f58c1b3e3231492a1ea94c5012b978cf6335a65306d5a92e0a8ad62318783df61313c4dbad2b1206af6aeaec51b5a1e77cf93ef266c970116ec84536fb865e2ffc5afe33ff5bdc7c22d7f4127a55f3b1b9a716164f5539299305c8c2d44f9991bc673fc956be344af212f99ce2a0b1ce8eb32994c97fd235da62f43fc10e49a33e1c441387812accbdc94ead5c96d7ed46706476a59b3f8541083b01f553e08aca12dcc8347e943cec920f47cc2214a3e219b1c48efd3c108c520f6ca8b56795933fc41fd95ed79fbe1db8bf06c5e53544dd824618b46ea1045a3b2930ab9ccc6e986e4f30d93f982b9bc9049d802ed72996df6ced4204b2334104f6ccd4a7f17ddd13bbe0932d10f8eb9e24ee2db849a7d0f5e23fab3f2e242a4a1fbf2f1e99263eb62d517e48903e6d6e295e125e60a31e0d59f606676f4915e817aa218285a9722ee024fec5849f1972201169ed1cb0fcd578c13f3dc0ed79a578496b65f176860cc4e1fe95d2b4000de1b967cb98a8d78d826c7dfe1e75ce074b1c687d802efaee1ee4d1f76f4749f286c289672437c982938aaf63558c3b76a8aadccc4c6f977716486e62cce614418464f988419f192abb47dce5b5a40ba9cd729dd354c5c8ad3a91e6f994cb1b8e76433898bc7f7276200f64c8aca3ed18475f78b19cfdeb5f8dffb1cb9132f9bfc33da1a440b2bd32d99274bd23fb5c214bf11ec758d15c3e654f8ecf24b123f1a6341e961c3b42ab869e071d9539756e290cac407acddb377247fad48468aa183c32041b746a2f1042e6c866bd5ff76de259f8d375767622dad244725d6122d886df19413bc7a5a9ecaddc92d7a7b21f1b093fda72ac05ed6cc23b088026659f600fd8dd55502635b7f6b9070b660702529477aafd0800e598aaeefa1bb5162a26ad2336f9ee737eb3c16a0589264c44c8acc95747e5b7782a8851cf8e960170a86c734b00a998c2d46bd510c97e0e6de25f2fdd020ce16397f086c1dca65b9e3d2ad311b36fb3dd84f577d497af3a29182521181164f47723c6b20ed95389b1a4df8557b3d213eee016cbd2ae0d8827ba7141a0fb79f9864d861cf65a7bad40deadc0e3be19dfe5485fe70b4e94cf5c90f22fda418c4324f8935b2fd059b7ed60b244790845492505e5f0a08e5837da4b547244b0893a56e15d96fe80c7dbe980e0620920161e667af83993399e7cbb74f30957088ea20462de7ae637a028fcb9253bd8aca16fdd3f84779efcefb69abc2debe66ce2b94ac365339c9408c149550c3ecf83c94f8b14c0b87f7bbb276f6efcf5747048661dd6fab82c38205addd40f4515d4c1081b51eefbe549c69047da7f38b1dfc6ceb51b3dd68181467e3db2d311c283aa9082c1db56c8e25d62787c2534003844820dbd4c87ac295f17bb54efef64e1463361f43aaa5f87e4803d8597085f829e78130d231d812bebff0e6e54d08859f2ffd6cb159744caa917a1da9a94e71c6dddda9e63c1342d04a4f9803fd60e9c1d9f6f00b16a0a1c0bd8d345544bf2feb15c5ee0662377a6c673e8f2e6f3c7539417924902950a2e4a753a73940cc871789bdc91b919d0db08c6150f086780773ba9543cb98b9d0ce79c9a5be1f68ce602434160c5f347d8fe92ee1ec9464474963c791cc7d815bd131e76745202e5f74e204135e2457f0cd20c1ed924da4c8c1b6ecbde34c15175426ff7a7cc24f251689ad2f19f29698faa4cdcf1e02388744ba720395882bfd63a060645284e27d4b2df792b7aa8f7a5036b37f23603fb8e23525fe34a6574c7e2e91e7006ee81b48eff22db3bcf49d2a9f71386faee27be40b021cc0d3703c5d435c3e46dce5ec60595c415fac025f2ef87cef7387e2a8c4abf4ed23ca59868256e38de5095f857de3cc34cff587d7da1bf45b7dce9d08427059ee5dc87818c6a22f8d0ce7262c48a6dca42d2528ed8bb1d1873d7dbee79186e9c391dd8f81f3547001e6b77fc68720b7c88dc29c096a52d93a47338d4439afdba0b96135d4a90541b9feab29b06b694c4fb5348edc3b3baf72a56b1198f836ae1d3b45679143b6a5ae411627440d34e3850fbc67328eabde4841596e43eab576f0daddd3fbba5c5713c9622e1146a1d8bdc1cab166da00afcb7a0bcbfffa2ac876c8e2fe591a47703420bff4d863ad6d8d77fa0bf278a976bda1a8d93f65586e07be36beedbac67633b4e5d6cf56facf09af6d72a64c58a8ffa8737d79be68067f5903468ac22476f029c4cfb65449b89f5d31ea9aa080b76e8f0602328d5073247ae57a620a04026205ad914202cc0103397938e6db2834bff73d45175418d42b12cf8ebf117f56180e7d933dfdc118f859319b45460d9d7cebcaa73c9f447491f77ad1829c09d4da19f9b6b3843f2171b7cb4e1e164198605b4067837c0dc723b80ef956f7303a6a65f303df133d245eb4a2bc68cf946c08f37c1435cfc934d855cb484d12f2ee3215ebfd6adf7673be124c450283023b76627d9032985fa7a19608a7c03129b52de42431cb2735bb057a7b31fa0e194c85909fcd9547fd7ed051031f2e5f1588c15d9b5ada7841cf673ece7f43c6adfe0a55351d2d795ca656be6aa98f3b09d99c8819fff2b5ef591d9b3446aa0182a5a5e89063e4a260d65e2d752d6227ddf34a8dc8b8b99dc74bf3b49b301e8eee8287f29e080175cea5aeb91fb266034eab27cfd7c4d6f5776946c789c0febeaa73846e211eba7289f3e28baa114aef7dcd7782b2e5bab72f7d5f38165855ea138258996a53f67aff8f68d419643dfaedc72a571a84fbb995236bc13940f3056261695f0a6e60c36254709b50b66b197f7aed4265564e6082e0daea982d601ec644744e92d99e6200765d6e13a2efbcde58421a2cbf0d01bd6d0e9416fbf5727efe8e7999673e3e210f53a7aad15412cfa57fa4fcbc3b8923ba0504f4d5a1bb9f570f2ce4a55465bfca66009764825a8179c5b1d3ffd654b83d2177ab31a4ae591abda690c52d31c6ad08ed131fcacad409d5fe155cd82aaaff1f8790c668f066ae00b543979790ac1b820435b91e5a6d7575c5141280b0b873483c5e086f295bc8739c697c2a3e4fb2b080570aacd3378ad73e8f277804a933beaac1d30d0f595a9cc160a8555d7b8ec7c9d3dc376eb8e6d29ecc3271ac029a2d53077457224805c1925daa9fb12135455e8633609b1fe95f15e3d11b3f0e652ee791b4d8b8e4406262fa8c61d88c2cadcbd8bb430bfa553f7b306e0b6855102b61f4f1078a9b029a604adfc2f1488557b43d9e1afd12947baa542a01e663168710ce4f615d0274812c50469478ae401ca754727a165a2434619b646121b075a6422f32ff3dd5912d887d12a3bfab09a58e444a1c63d6f59d714ba6623e2c4016894a6a892d2b8e2ac8150870827b3ae45ec5784466a9c90dffe67cb2f8d6dabeb9fe699da23ffc406d9e5a3f2a5923fce27ec0d6872dd85f208a05c090eba67e555a837af670fd17a7ce40d42cede463ae455333f24969fe32e4208325a6210278f7a6d6f22e392ef8965b017e1523903d14236c18c5a84136c5389cafcfd581e874bde99334a1bf72617b783048266db6bbe0ad90773dacd6b9bc5ce51086c059f6c5980fa1df3ffce34026dc3017452ff4d39f502d56d183d063e530af95f1497cf94d6008cc35136a68669295300c91d61d864596bbd9405a93e3a3900a44b6ee1a328c3faccbaada64bee07e29cf1c1f26b71f9152d710f10b25da711204465021663a5fa8aea1a5adfc6c3c68be2fbfc8e75ca3ab37e42d89f3c818703a372bd49adef297531f667ef5c278fb99af279147f1b11d2ab5a5cd921720eff9dd2ab01edab6c9ddcda148812bc43b94dd7925fe6ac31b8da17383aff0dc730711f04f94e7f01d54826521d68d7ef61b150380f967d46d14f6d8f80363ce810bbe7fc2db49c5e0722c8882301b2d1b8570ebf5e74c089fa03917fcded89446389038386cb5271e68a462237f4bff84fff467327795588de35a0d4d1d5aa7df2419648f64f462d1523387d425e4fc8c98081f8692a1547548929551fa06a21c0cb6654311c28b9e0ddec01666c35d9e0a73f02dd7044415604240d4e57c52423bb39f580f608417c82dcd9b370b7f33b2dc2c4e74f8e74ea7416a9d1bf5c1b443e4c23fcb18cf020958864832f9ef6a0c7bc10218e1343dfe60f007deae541604cd2b06a6a60bea2cdbaef99f30c40e3b1d50f602236a48f9df9a1c85151e6289d0f25d446fd20b24b8a23649ac683c246839c2a91fed8325d2d93562fadf4d6d47455e6766c6dd24a3b480b0d632dc19da9c6943c61e6f5c605deae72c1ccd9d651592d45363f9247db62b1f10ea94d7b96db47a657beb6c2de72e5ad21b502221baffd3da9dc9487daf697cb68b0ab22140f5f96980e3a26933d37e17d61d7ea35bf47656a9b73f209535c04336e672dd6125cc24a9c8156ed40a28329289f8dea2d271175efe2c3b9b96ab7b94722e03dfcb5583840bbb11e91febbb87b052899a1e489dfcd9ed1caaa07ae47cd7d70e0c1b55562a79ffc82f9055cf7f664d5dee0b11f7e71ee8cb9a2a844c8ba0e519b67205caddfd332386ae0e587a4660818e589b5502db93b62251192407f9897379757c32b4469090d241a4345ea9f69e3e1c19d4a11bedb01aad74533d47b97c824058573041adeda4ec92621e8b87ee2ab182cb9a9a5428f84d13c88b0f4b2ca3889a00bad432528a21008bd6ea2e01cb8028548ae7c6e89c745970f6d03c07eca9990d8cbdd80716f134a0b2eed7e81ea7a79b9ef9bd13bd53b80e40d99c47a940b48515f821aa80a7440d4b6c4704d05af61e230410a86efe547308cdb0f85eb739d301b90d8304c45ee96f9e23bde927917aafc387857a599c53100577be8e04229c96fc140e9e608324e5c6d3f53f5c7520838bdfdd151232a2ad7eaadb084bff4d8940a8bb659b31a938610fe1ddf8a6017fe4ca07a465ac8e8f075051b002b022fa9bdb67a6b07174f821622376ae58470fc2beddbe97be56a4101153323ff1904d7dfba5063aa5c490adb6a4c498f60604717c75d9cf8b2db8eb5e452f0dd95fa50ed26c67bbcd2e64cef2ec738f7a70f7873fc8403234e32bd5b709cf2e1abdfc6a37eca08e95a841d94a12a9a0582dfdc16de05757e64ade492e8556879e9c473809a328826979b03e1db3618082815c68a4997d1321e136fb9f06e3e9b390971fbfcae62e2e518f78c0be3d696de201a826d7c7042754bb5a702cf9c38f960a04902b95b1be0750139c479542ff55cccf76e9e6cb67971c8547d41a140c8cb84334a8af50672ab98c899dc3268b850f24ddfd1a9265170cf101e08f22ad8375b8f9d4c64aac809f5c9e73ff75cc058bca61495d0eb34253c5cdd67908b94b06bedae485c1129d6917a03c58d00d3a54c9a7708e87dbe4d284cbc4420c03eb6f104b57f7aff1cb7ce1e45bc9787ce575fc4b7ed4b980f3c6e304f255d706ac18ad4fcd77b32a575e3234a65de567a2b659c32538b0b07da545caf2b30e2cf026c20680c006bd951df72bc1aa1795ab62b0b76efb0ae303e8a58c97af63e40c4b6c5905a00d761d10107fb267f259665b17a4ce9c40ce4dfa9eebb880b4214ba1c2c80c41ebcc74b896c6a87f3bd765a1d5e73de80c92897872adde8baad2953d6e9339fe6aa30e72f0700280db2ebe27ccc071f15a5006034d00776ed0131771ab20fe18d5c81192bb40e70522f23cbfaf60e8464ea0c31561e0bf69c3e0faf97fd532ff739b48b1d1801aa85c80235fb5d05ddbca047743e17123c6e2ab2fdf38c410db05bb49bf6ec5ff3e714bf365d4625b82065340aae436d3eef4e34d47e910e27591b13fb3dae06147c5232846f778b4a3cf9eab52e09116db1243afc31f386afe425599c440cf6d1d4e3c03dff041eb00baa7fe48bdb5da14bd1b0e7201a7dde41eee4a4429034e14e94943e6bda87b682d92e4275bed90fab1113d025e6016d25f80df41586f65fa4f1e0b61ee7a79cbd1251550750002a357a990be25a1e2f1ea782d2863ea23f2bdcb91679eedaf5c0b0d8ea93b3ef0720c88ceba91b52d666a98e04bd8b688484a44caef7cf70ac862e8dca6b7d1834f1602849d98418f99ab805bc064a51f909d47d40a7e7715d5b163d6aaf97bcc62cdbc579f522fe2a34005e00f162b35577a39752a3087102235796fff86eb09d5fdc118a2959cd228bc6512d6b0757a21d2e9e55d7c8f9407dc061482837e3f7af633f18da1c2ce4485dc85f1cb96be579fd180dc918b4f8a26883ba79e985b866aaf1b6b35a01329454dab469c1d79d9fd48b2300d8787d0f8122f3b278867d66027952465ffe576caef5a507803a31a82e65d9bb98ee03204da04c9d423ebb8691eb8b953a95f4bd68f444f2c9300fc88804a5af37e164d7934df079a532ad86796ea0a5a87e2b4f866c1725e55471285c68007ca2698bcceb4c1873cf8f86359659c6941c2f5a8dc591f70decea408d8b6c1caf83cb26c5f0f20487e2f645036f07b94fcd328b4e0eb8a22bc37ec5484bcae8d52dc271b4ceb7a871053df322c21839dc8519ec697b41dde0f0ed77a75283e25dc99292b11b32c6e918c882dda5a6cfde8e8a1139ed3a74c9207496e1a76dbfa6cd1aa298812c02cd06bd26d58d6571ad71fca393833c2c333dd99976c26fc597400303da9734d3cf605fbc8791eeccb11396d2628a9b05900cc596a75d051e356748272326873369c98e2e71b3f576fee46d4f0ae2c72cdad68dcebe07f0253944052f0538926bb3a614a8ca521e7354687bb5dbb01a46445bc529c85bc278d423766828a513a5c01f2e04078ad243eb09aa4db58519851240d735c5075f1b4457e37438ea17d4458365e6f082f5320f4deeda587a71964ec328bf87609e715711d4645509cfc19fc99884b0168d807d99ffee5ab1e3190802047bf0c6168b25a23c1159c2448abc9fe18a5722700f64179865958c76d16ca9ed33c15a13d3dde01e1399871540b503547355796340fb6e744d10b9594efd3346efe7a8b160afc2b8f530f49af0993c67dd05d5666b6942aadb659c1681f092872cd1103de32d46ae1d909d9c70038c7552dc9a58096202309422ee835138ca48001902fc0a4fd9b819ae2980acc7bb30da15a4fa2f1531c37777df580c38b490d174875d27eed7ae0d1eaf0df429214f4f5eac63e2dfa779979d7d5fd7c3b3aa22375d5ee83d406c20891f7fe6a5baeeab4cd965548df6320f1c8f9b1c49ca1b6c992a67997877d09aa5f7dcffb876e185b9e699efd423419d3de7e026923dd1eb3dd07705fb6420bd71850ce95771037060baafa8ad42e7304561d681c0b99ba703b1dc99346c096ece96940ea222d9b90a76bc8efd6fe4c190f1e8ea0d11c10902bc3a0c83cf26b42ce4aeba731642f32cd28ab1f7f3cfaccf2b2d0c50ae2abe8a3d59be8819a32d1b3dca65d0a1233765247e431f11c0f66eb5a87c9b126b00b4d0648bcdc9d6be7ea8a33b8e6b842c063e7b2b71bdabd757de773896ae1c694c33d2d60cb8767c34bf52e536dc9e30dc78b90cbeaf73ac9c6b2271a23c7cdc1052d851c181eea441185bfd7e04c1fcd4085d600da60c940f280c125f761038018d91a332a3fded6da52d5cf18bd7cd9cf624b0b90a848803a7d9ae90a975c3c810ab5732ae2bca3d5947821db5e61d203ba3b00f658472232295d66849caa7be60775e9b77f7966f03d89a1613699f489182815913f93afe29ecc31e48fb02a867b9a7da5fc5172fcc17928242f60b8c53bde74d5bf74924f975a2947767460035758063ac16dc158590322a1a67a95a53eddba6a93d106e052c6370f7408605e5896a0dd463ef810391d40242520ae8d136ed31bb71fc8d2c9a5b3205fb67aaae41b74a5e350af123e6bef877b9ff213d42eb0fe940b188e029f85c58e15da87dca9268dfca5e2c0942a7f2b689a5f0ad4ebbbd70b9974661726129ac5171b16b3b1aed8db98af650868ec69d5347accc9eb7f562fb3492a67554dbb1895f8c524d74152ba0b4a077d35d9f87e4fc515091ce6b5b3b3af82d7f086fcc068f8ec701142fdcbbb57b4d111cc0b4d2ae852838fa0bcdcbde0c683f4fe0437c02ca64e95215f0f283e9f0588af614a8a5c5f56fbb29a27c82a8300ba5c17dc2dc9b6e170749b22305d052f106495006a7f94be862295286c473dbd7d0bebdce4826859cb1ce07314404ac8c7d576ddfe606753579821a5fe68ddd5ee095109da1984854ab6a0b98731b9c3159f6e35e30492b4db170a4307375fffb9b3b1c4d008a7d49e3cf4a05e23cfa545a973b6c80c7e7ce77a72daf67022e7318a87e04c56015aa80ad1019c2f193e9de9b36b55fcf261d9ed239c9ebb709328e0d47b90a5347f727a3fd5746a4b8e2f00834e1d0d577daec1e9435065288e32048adddfd90160588f6823fe75ee6f3974e36c954fced1f336e7563151180922fc17387ba188970e3cae1a7d6376c739a18e98d3cea1f7dba1bebdc046310f1671dc66d8268f585f020db01fa3ff8172cde7e75e65ae56adbd9a664971be9692f55b379a2903236a9ffd32702e6879e48e219556b860486119145561f64c591f87e96bc68636a383418f235d3457e4b21cf27cefc7c7f3edea4c1f6706f1018db196f4cc85c65aca02da7e5db8c436e78c84979db6fb94d0370821f0147c070e960c25887429daff633c01d25c1e5325534b29e7131c6b01e3babaa2867dce0e861d092983e66097901ff10731249df4b1affd4d70e3c468796570a0fad090cec548fc6dd1a9c1c2287a6547a135c2b71f29a107b03acb6b50c9f4a81809604ee3de8bc64f9efa17294bdd42847764d6cce26a425a18effcd822a4f641749df62f93ddcbc56790b8fa8d81194cde34f72656fe0d5098657cb6d5d7dd23796e18f243f6feff68eef81225d5885ed3dd6e0644b6ec4881591e219041fcec87a67040e425521d498a12472085ef18674b8ef67688e7a365e2a73bd4858338a1a76b84d7302833ec50d306c75c6cbf0e786204b3bfd2335d0284b05fcc78342f918442b50dd2d8bbd50d54511ce3fda8a71f36f58eff43acb13a9804271167d2fb0a7f349f70a6d675790a7d0429d5a6337c9c1a5d2cbd63c41b900b396ac3f02397d83f64cbacc3b094d20bb0bd65dbc645038a97f8dd9bdf1ab501789d715653a1e05142a5bc730649d3f0d9b5ae85f30dc1068899ca3d2d1599fa27cc602d4e9de0c03e0a5a2bac8fc8c287342daccaaa484d22d9332c75013d454c54bf51b646b53b39f4fee4a2ecec21ae7464753de4f6b41bd3ad8766139bc05a395740c3ed6c655b472926cc3e3cae3092be72fb1c84c9e6c3ed3dcdd7e476f845cd467eaf40ff62f6b2d7acf31cebb340bec7c994d8a861c337500defedda36a86b286afdb800cb3f919d3f58984e4895dab7e753aaed2d4069c030b81b8e8bd743d603ade39577512a6620118fd2294f19a307f414b12473b87b29a94af4aefd28112539f901d1e860b80b5fb8ab19374585c470c9410b9bfd2b2cff9572d5d674e2468b6760a88e48dd0fde0046418b781cd73a9ec777d00cdba4b3d78f36bc54008bdcdce0ba729419a27c89528bc529c1716e24062185c5a469e0fbeadfecef4ebf90e81f25ee6322ce4904e3cad70e696be7236fa146960655307f98bee4c8f64b4f5cc6ac03b04323a1bcefed7653d437ee37bd7138b251326926726ff4b9afdc8e8903c24a1a120fe399f45d5278a4fdbea7c26fb22023daef1fed5ea5c9c1e6c8fb223d19744fda6154fcab8dfcd268f36275d417dc61863001ccc50028511db84e4b88d60180cd6d092e84e25ac97ab5c485ee396fb33569330925718536d4086f1ad5ca93da43548a8ad089bed51415dd608955232cf08673d948fb04ea30516a7e8721d17c94a960d20816f84b90fbf5fc9dd8fdf910b31b06f00d419e4d6ea16610e0a08fa3d66b2b5103b42c051e7fc6e7f27e3355447565b1392dc6ab08928da6c861c34be50105ee1053d6d504d30e19363d48cb327a06e3f93cd3aacf329fc867b8c1304b324888f6004b43e640479887f86561f79e4e49c820b5552f581dcab4839bbe4f1944310841c3eb19f81e4787c0edec11caadec29f63e888e3dd095e3c99665c6d1f9a638f26a302c0a0292e4bf64889a4f488679919bea7a2cbffee7c437af7805024a6f8d091bf94c470a0292591726c8cd0b65c2940b7cab32126101b575b648585c1a6f34e20eca000e6ae4c869e632b987e9e3f9345b13eabcc434d2393162af52d58536b9cfd1b935a2f864af229b9648df0bab59110d525784b0a5803c24ef110c2de7ec1cce21225cfa11684a15996c0c2f6ed909d23c1663ee3676a72b6a30b167e66b0833ccb4034a6698bce168abe4929dedef4460d72245357e2b7f33e5e54fd0d6bd6f9d6204fac6db99eb28530c2a9f00d847baaaea8d4292268ef48f76423f78aaf60591620a1b76d70a78dfacdc1d290d560996367ed900ae7c0317719377c6c0f6f17e5fdd581a5aa5cb6f780ec1a86e02c14bf9044feb4c041233e3ee5b0da0caea0aa6066ec1202191382ba59b3b59dff5eacdbcb11ed16e58e8c4543cf12058cae592bf45a5994c01a094f6c79a3441d4b02fb3628a5c95ee095cff24c579d9ae3be0823d78958a85b26c13aa544b7aca31a4a3cef927a5b620add2879da2d469df4ebce135e033d8fff5264c010de535c79edd72ff0a9e800b8162b6c2df6adaf14626741d35651bb9800854e1700a521a674fc71a2cf6b25626efc1cce865b215c3b03ee44e395b9c163ad5a4aac5e215d5b98dd17d3423afaaaa76f25da65af4dd076fcadee487f82a6d2d9f0631857b5489c0f0489efd89ee8008816d9fec9b4427504bfb7e80301ab8d5c8f21ab0e38a129b0b1e0c5cbae3b01bb159810a5cc290d7823d4c386f71d70b16e93d8dd25a7f7acb44f17118787fd0ed33d0ffb6371853a6ab745f5852db8d770acef00222dbce1912651f64d1c37b7915ea59e0ef170e235040a731c3232bd2ebfdd57e2cd73eb1f6ebaff214e403e4605119e0e501acf8d08f6c0f29e5d7c93ade32e91ea46f614a761942a91b3e9a4696469702b18d4e4a09db3b9e5a3020af82bfb9199808d3c0b10f7b0c46e025fed027118cbe130e6c25ab7b1918348e301491a59cdfbc70bf13fe513a70bb7ae675778e2355eec5183527081356f2d6dab5767ae6a477c1ccc5294f5df7311e8c121e31aaa633d8051a7a315e259f2cb5b78779bdbecba439b3609e2ed1c6f19e9db9c99d8ba6ed80257cd25dfdf429019e1facc0d091f1065878f38da0e2b7297aa6ee5705871f0397b588c67efec655e9451f75244781af64f7c22aac42398f7ee39a14f34e55d994b67711a437d07665e690f6992e6f7886f09fccb14b134e12db0ec575755afad3520845104bd1fd82399c376f76ba119c3b8c877a4d60e4fab0408c285c7fd2e707bdd3d0a285796ac616ccd829087ede804f909049a9a623b59b870086ba5cd71734907ce914b0ec8589d74add4bb87384d6ed3e0d42f454e397788198f43703477d47f38708c4b1922b3641da9c14fa0f3d075d46486f537790e8cf7dbbc84a1337211e8d865db2ed84744021d82b90e0dd5bbad5283c98361aad73510127d19c2bd4103c7d21234d80b911f9a27e35321262a20d8d81cb116dd0e2d012ff8f78166693e28470af972e9e14c86cbd906697ad8b8b17ffcc84fd45f4e52f363a080334ef772fd3af7253af784fbf13333349531c510972245d3f36d6abbf9a4d61c3041dd77af27d1a4ed603b4a7b091ad96a6e40142601b49ce0419d12694ded66de88b759f1e1f5c05167d1df72279c28a3e6fbdd14a4f9073a906b20c9d6043091e80dc7df26d6580b74a982ae8abefef6c23553cc597a72dc87692d123eac7f46e96c4647bdd5276658c25f28788d981b271895219981487560cfee6390031682167f18af83a29369c8cd1427d631cd4950536c189ef4737fd9b6dd6c3833c628551dea55f6b2409d757cd078e3b12a11d031ae626761ab66dbd97a64b11cddf9722cbed50982cf8bc242b4809109a6075108db4a95055f28a1b4ebec89c49c537411d76f3c53574afb534377015c3be5d329af5d2b51e7b025e5f47cef369aa03817a63e153dcadd8de1b851b7b6115edb33b1d7f03f8887c05a3dcbac637a4784220a6faeaaa46818feeeb8dfab6c6582b9672acb6e062f5ac1c463d8b11e0a282da245a8caf4c2ab0ce5101b50a2bbdf669b7b51c2c188d47257e163af78283562986c37a124f5fb51f9b407340279a70441583d16c1bed43a36d036ef0bc3812c556c629965937e1114bbc27b94c1ffae298bd1a40e89990fb050cb9961f6b1444fa3ac284415a37e6c93be983e06eb935aca61caa9752f24eb5fb429421b9be04274507e630ad5788ad9b356a76e9388d0bbff9f7c8e3dbc1dd7ca54bf47c99f5e78f41f7a55dec39d053b7f016adeaf64d7e8ac131d3afa0b57743e99d6929585a0d192c54531fbb7f6cffea29700b6a0e929ad540c3612b9f4d58dfdd4f266f0fb10b812922a317a9fd71325254b59037e2ae8f978d70ad80b140ae59b85efd62844485935cb8d5be7bc8e9017895f68ae02829dd0fbbe99972264a8e3cbcab748c0e323ff86981a34dd0092b9ac98549e133f725eef9e6021e0ddf98759e7fe2575207ace1aab25beb0d070756675f40e39d01c19baa4c37e339cbe9202fe7e9f7357614869e038abb99dc8991f6ebd62e8a461933d1bb497729fd1aff6684af02ebb71f4a405accc403ba2b836db7803f45b5556316f5f0f485255a767ce95d278f7400b8594bcc726ea6a3c0be61aedea9219e9fa3e64918eed1dcc685a311517f65cb803e9e4c4d3cb43b265d9d046fcce6b731af8bf04e78b5c0708e926a6d8f9e20e02e569a5be87efe1ef62e0ddbe5164ba86b43b4028e8b4216afa46aca51e83c0a82a3b04888d71c4107082e6c9d9466072bf16769d5353e53eb90f7f094a013159b19a753ee93f2a5a1beec945af51e13373be2188700e20937cffd2a717985adc6f644ed2d70d6a2156d903f1ade14ab1cfc3bffba19db67ba4d8073aee7023a067329faae0b1f5bd552c8e2f71a47cf1ed4d577b9425ab822ba9d679ae0d345ee84d942197519d65f74bbaf2e9c78fee8f714ba70728ee7c9b5f6c5ffb7868eb5eab17d03d4d3201fa6e2095287e7bf632f9664a654225f736892a73b6a54f860b65a62fd93a0b709cd2dd36a9a3f8a9bf429194f1f0e986efbfcd3585ff1cf32204a74202d5627be09b9cf3409ab11d5482db01bcd94477ac2d92abf3d12aa75b223f06a2762f8b7c22a737591ec6d679274e7dbb402ed6eecdac6a0a6c77010d3c487c4ed548dce89704254c6cbc117ee0725be13983206034cfe491419e04a25903d5909aeb1cfbcca1c4b08be0f22f4faf1b30a70bbcaf161bf45e4233294dba860fd394c45ad0ac73728c836b6c1927d1b26aa7a0e1aadc5127c66d994c5446dd58ea507175cfc40b339c515c91dd69dbb01c1bf6815310d00478a4c91d211f0f834139c37acdc1f0fae21e140e4f8319e0246bc4eb053478a9d79287df21f7f7a296da2305680f5c8226ccbb6d704236086d3c7b260e054a41feaf1caf33a72c4c688dee365c5f7e01ecbf923b0cb71468dc22f1b4ede290438db001e4e83df01b150766a10fa4e759a2623ebf4e3955f7def38a1cbe8223211238241a5d87c781294a449af5d319a7daa8166c54ef4ec03b5f68e3532f496f4797146ed4ca73267aeea9ed03a0903a04336cdc99f31b1e6b9eb6a311c1ffd13fcaabf66a3db3a755084ef88e7cb716fad54c521e181b02ba51e0189644e143b74323a4c8504191b593cbaab6099334cd40116049e758d40196d678a6a5df0010ca075a4cc8bdd415e2328990457e2e93657e72377574b6cd2df41e93d195bdd3a5e6e8d8f1b65459dff7d38d2d2bff9ddbfb3883ae54f7876e252da0313929f6a64c5a9e48851171fe286218605af7e0d2f8fc2482d7be34a7a2d0d18d362b111c5a16bbe894d9eea96ba3248788ed7c332c7f19f0040767eb10da0b812a3489b47379b96871d0fbd9dc91fedb8cbacb573eb3c8543a66189900f885ce694ed1b12e219ba961e347d9b457f9bd1298b42d386c43f797442b227f8c747bdb02e8da8f4857e5e8873b56c86884f781d04cf9bac0e9947e2d784f78dde1ab9b87f9438c75eaaf794988abfdbe9852962ffa7081c04bfe6f7cba5a5088c5074b2a5773c45fea345822b7293d2e06a110f7b4332258dce331061543a3925d70c7eb2d400b8a70951b5aaa3bc73ee7e59ee5fe292e9a1f794caf578a402c665f6084767ddeedd00a0e8dbb98dbbb08120537c7b393baf91249923c96ae5458d7eb2b3a8b92b128baf91fbd346bc881e3e32aaa3f3385867fa6d3deff4850a28b499d29d87dc4b847628092e26e41f616a201f45d777b7099722d5569d96d0551cbcdaba8515f93bf266325f24361c4fdd54efdb139052c8c64445c16fa8158b295f84875bb95ba42ac8169c0ddbb4192dac37210cfa883b0200b6db00eabb33a35f6c7ec6c581f035b39804f4c357333a772a275a2a70596f1c4566b0352966baef9052af8fd17f8b5bc9bec7cb282a23ab070c3df1a49d48a303997aeb7a38c9bbec99b05e6960acbfe320b9f6c9f98374e382554aa54a0fdd3d463863cef6c96fa5e8005df376de5f3318d187df8f40cadb29ae2b92ea03804d2fa05583c43605315f16cb3d61aca67389086810677321ea148b18aa7c01423ed0b10ffc1d045cd18228c151a00b5ae3f0b9a08dc87096a05f42aa5ee449160aac98627ce8d2e691f29382a5cfcab59d38540147884264f1c62f6438fe6275791ebd0ed5034ab0241f6f26e87931f8b510df5abfdf839ab21f3e1e2482a461db72361ada70c01d2a072eddeed5efe6fa37c91960da9a90e8d0349ddcc7f00e98d07c97492a2e397dd3cc55caade93a4a3a190111d1d4884240491a0b4bc54d1e7a829b4846ace7e8066fed77a624a108eef218c82bc29a9f3565a3e517a9cec327d7adeb89e1ca0417ca4364976350abda3a2917ab0d7e5276a22ba9c26703ca69dc7cd2cae8e826557792f7f10110e85b8c691cd409f0fcf890a62b484b4ff5917afefce66f0826427a3c84394744eb25490cd3884bfe95e7c0837a79b3ac313516603646cf04612f5d419e8df4f97443c26527b1d7908b8a36263b277df34e9c35dd965c804d319bfd64892f9ed550f37cd3027aaf180879d1f3c4813eda34bc6d9558b2905891ca29123b078f13047c34797332c4f835e5f1e418387e9a950024920faa5a11869749a48c83bafcbbe8d69e1d08bd50f7f1628afdc8062c819e89fdaefb1ec2484be0ca0581450f6f14e5d7b059c193b40eafd08efca82047d5e5baf44f1bd682d07ada56d94772cd9daf7befc4b410bba12679cd266f7e98aac90a6ec1a2f4849a45f8803eb0068f9075a66dc09dc19e023df24a86c3c6d733fd800529c259cd762368c182fde315a03c1de2054a950ac314daacf6118f26bba4c0da36344b8cf5701a6f7628ed6f3511eade5891e631c05679e141d031e689a6d028e840032e394f345038d1040d7e68690d09d4764663512a02fd70823513ae65d0e091def67a4d00a53ba5f0e75e485d7642bfc9a6a3d355429878804d6818aff217fe9508a2ea471882a8688472e29ff79bb34db9e8eb9e295e99a76bcc78080ba94bb848ed8922bd199d3d8163be1027d3b7a8ab679fd8a7fba98f1f67f4f597d5e36adce81df7cbd5071e44fd2c9140541e99c00ac471d2f158ecd822273bff300c3c232569222fca6b3ca5f86fc0cb601a836874a591db55b47c8f9bffedc05cb794cbf134ff5f8b3483a91483683bae8adb06cdb55323e3d952eb5eec0ea9a06ce75fd3b96b75cc95dfb13e93d4dbb4cabc0f7a4006559e2b12f0bc4a57cf013af3172ea775dfaffab4eb69042a0542cdb4b0cf9158d9259d734e7ccaa717665301b698ab970ceb6405054e7a62d46f786e7693cf679e261b97ad94ba2409295d794533f42b48edc462289ba9cb76f742a9bfc4a9fdb8219cee0bc3755d4d75f0ebfe9eb297f99383448888072b5dc72e9fbc411a5737a6b7a4869b1c6bfaffed90f6d6d3121a2de9f39e1d87f3be9e564c45799b2216674ac8569d8ccd691b32ed7aee6d1d67709c02a8764e1819d620052341f5990363a3976e4d2ab134d0ed6317ebc9e779f3bc9d913330cca54252002469da499c31e4966d714712444aaca3d7b85d822c4c7ac5dd7fa54cf0d1a440fe3413edfee443a611a6d8d4ce69856393d253b3df6b7a4ae4bd24241609b929390cf901e7fd7ce44b8fc812f12dfbe8795a3668e6a852cf7f28af3479c0c52ebb8667c056808eb6a1c6e4840cab08ec59400d64f1883a8028388a8be9d9b7c0348a36ebf0e22589425828f838ae5fd8ed08aa39b61437603f9bf82dfe4d0e6ed1147f3df08ca3ce0a7566315401e17c26da4ebfbbccbe09e5af982ef926edfb17c6955b1e23a1f8b52fdfef5a4e007feb992e6a7aeffebf22a2d74b5e671ab5ff8bb99b0655cefb544bfca0acc22aa396c2ae30832e68f5277783bb8e4bfa96fb050faa267c06fe3bcc5a733fade76e0487a81b07ef000578247799e229c65b329ab2faa7b0527138956747d898574fb04c7d8f299f7aa92ad182d82ba721cc546e4a93421259bc1c19fbd676d4c6f6de47df196d314beee241bf4bebaa741fcc14db40f6d52c4ea61f3b1c1f1937de07cce66e4f263bab442178dfd8ef341a51a7c65e280a979284600a6c662cd7499050c4af6a9bbd556ed617ae9445d98a5c1c208eb03cea8024a333beded07e13ce95b291419bd31bcd021e005567b340749ccfe2c0a8fa3036d2260d6cd02d170b94be0fcd15ba92787e5ac9b388dcdffde0915705726a3430851d60c2d39610edcf4db27f7ea164bd6c6bcba0370788855b7d34a5f4431d937d9aa3259d0379182ef39e1a9e0a2d9d811eacbc5cfc905e0f2982c29635b865dfd0d43c9ae0c191ef9d82f9892fdc0f8ac967d22ec87b23b0086ab41be3e5e03e345a1d6db3513b4f52a62f16ed063861aeaf25c0bd0264bd1e6aa3ba1b51a6f277ec4f9924ac78a7bce185c9ad6bfae75895ced4fb442102f0a59008deff4d0bf18f2b10159df4a5fc360609783c05a322825b6cd6b7594042474b13fb0ed645fc6c77c188ca09c9196160030cbc72fe29cfa19cc73370294bb9d0e32321c95c76fb527f9501753b286b0f66df4959718fc271c1eed5b812db3eb9116bb408ae164b24504a42317686f1ddbf08d71c93f41c5a67a7543bdd73a6126082ba6f987d5d40015fb3b14c92f7cf5c948044012ff3c7027a2b8a38e806386073bdb444b4d70a0ed2f397d6c654d39b08053e317c427e894f318f390bc56af90a70c0bceda0465ee94bb625004da084eeaf89de0b39e5394aa5aae0f2d828d37892776fb68fc7f1caaf48448150af8bd7f49fb01c1ada177d3ac6d8b648e8b7a367665716f5245d54ac6410d7e88a28877924acafb50ddcb964edfa7be76baaa13d0a078ef667aca1e93a74a9e0283ee2f3b97082f99688aaed17951ef9ecb0737999790515adeafb404b71ed3835d357ba44df49ba9e9b99dc708dd2921a2be1047d4df46604fea593f765e7a5ae801dfadbdade004989fc421d81858da0db6682dcb38dc32d7129d7f82b5584d28e2c185f87544f14099d0917e1691c66c34b117718df440027fd4ee0b15b70577b18a55d099e4f9bde78e0ae87bb6b8463629ebad7f5bf8b68ef9fae3e445b0f71d573133eca3bbbaf33f9502d38124bee9886130e7719d1c03be6612fb599f19f9d60915aafd5310832187b3b3a347fd195a491dd121e89f031a3c36cdbb6c658633af3201b9bf9431b5a3abbd0a8ea0dc46cf77aa2ac345e63ce10b7fba7f8b53eb22f117982727836772d78e904d0511aa431496daf38b075fe97dd5b82f993731f951afe132356e1e03582607812582889deb781a6217440b95a67d4b5d9cd84092edc1b950e7631a585f686722ede021a1aff5d0675035cd4a97a3f2b384fe61236c372b560a80444021d05913c292fdbe5adb14eef76527d2ec25562812983bfea61bf5e1b29d8368f6bec5c398aec2a1a79489266ff73905fd91e1b115a6827e97933ce4d225581dda1d566af42f84799681ded80f221d6bb85717aeaf343e3243c68b6f2378a947de8554901dc1bcd704d64ea6cf3b76649786cbe78cc73b64c2954ef69ce827605cc3282b863581ed55582f24e6bc4f3a052a3b013ec27be33eb505ad4dad79f5083f686f654753278537f9cce60256948c9d57fd059ebd45422fce646bc81d9c6a148f6d9dc15354573f389d53264dec193c4f65ef0109f5236a73d653d145b9757285facce03cfa057800df405d9c11365b75faa8dbad1112a54c20967ca8b0a1310f8983e192c92ce6d45ead5eb8e46019398deb22fd18b94e3d32bf9893ecb7a101e0cc5c3f6f6515e9474808b2ddbad6c082e66efe730f3d61c848c03fd485648291b3a5c59857e1dd0b1ff62ef40c033a6bf6debdb7873b234ca57693a61a77b6b43c68b90d60bfc14ae5fcce5d6d09ef8889ae5f5804ba714ed3fbae81749ded2341c1c07bf4d91f35c914385e858ae8153fea6dbd275937f670a63e8b7d2ef3070e9a553687f04d19f00a1c569b9111d5d9cb41035ea0b6acdc7a04732873f9f0a8bdb9c2c56bc6489f0bc80c03f3f40fbe3b8cacae71d6cef0bffacc29218a594f8f23bcd1790cb0b6dc1bceb6d40e138c1644c44d6aa1b817330f323ec351143943048896b14cccbd063e4372d53a0629b67ca24af1c58808095036b5b84756ed4632bf13d4a68d819142a0ad5bdce09e074ad73d3a0801e818965fd7203c0c3862e56c762794eadd5e7c60faa15aef6849976f461a6a202d92c4f37de8d0550b66699efc398ada9e906047fdc36cdd5ecbbcda5a99d674567552e014a728a5eb6e5fb3a27428412f4460cebb7cd3351c0e7f25dfbd2f7ac1c03ca65f2539f538a61e424fe3c6b587795432b252a51d80b135e673bd76a868d524c3d256a5b531d00b2be82441f68278b9d92b3fe1e430ccbd3be73efc5cd224815606c26ef59a373c269a3a2946de1d1d40f58599df4e45df4ccab8bbd9e3012f7a48bb99a1da922965d2e89d3b06af404d75bbc562880ef4cfbfda7f7a5e58482f71d96f68da13f4ebd7c27e8bb626db2605e18994646c0aeadacb39d6b0c37c62d7faa55a61fdeb90bb7743149f07b722f44ead0530f15dc541fb6f4efc3a9c5d22f2fe7b936e06cc1889c82729702ad50670462b0e0a767063a76233a508fad271bcfd6800d2c06834e7122c364f9a891f41e68b29d3e65d6829bd104166c546252d3e46f03e00040c779f056feb3323cdaeba991a613c7a9d8316e93e9bff6e4f9abbde361c73de671137852def9709384129a2d11db95be39b3d23714115eec5c589cb8b778ea61cb7338c60223c91fc7085c2419845fdfeaad9d6557f1059fbb7da5f30e3f6bb417821dd8298e6b3c2bb754baf1911696455b0137f3e53c1048040a3ac69ee6cec286b2368468762888d8bec0125e1dcbf8a720c20989c57fa759a425f11a99596a005325128511e189dab973021d23761170adda6e15a4d713e2f83ffe564fd953163823a045669e9f3f8a674b28053c0b463f887ad7d0901b576714653033ca729b0fb4c9b1aee9e26c3a83346a17a889939589996933fd3e38d589020c9c1cd0621f0b66dca8e0d0692c0a839da84aa99b85a76f8c5e337231e2ffc9ca5eb7b5b1a41c20f5608c7efcdce64f698bbfdc03ad9945d8d29700d71e571fcac977a8b14a603a61fed004d4b77a0e22aafa18b0935f6a46c518e430c34f6b034c1fc773cd82ecc0dc33da821cb435f6b606838c87c4bb183a5e6232fa72bec9f3899b2bb8cd93903000cc74624833727f0b6604aac2ac844eb9b28c310d620f0d62f2741a117d9355956affb31268f045d1099024d8ed60379e4dc533d945456a608a0aad7206ad3cc7d9289a32c1e566238fdc34de77cf1d773c14d4acbaa321fdd69009ce1942086d4a0ab1f94970d3a6b109693017808e7dfad60495c2b7ed2278320671da4a966fd25be0aaa5c3ad06e1f5ad9a0fef1b48e963922ca532882569ef3b724b9c80832c61465b3640ae4952d3d0aaaea51a5248395e5288a29dae87d825943ffa2ec9691e75baf05693c2b884dbc40f78fa1658899c49e5719edf3c2391a0a5dceade4be479f9b58412de214b165b3cd636139ab702d070b257c3fc2aa6ceb39bb5923adad8cac9f6f30ea1496d09e592c309a76b4ca9ebc686e807c67045d6cd67b485687b4e78aaa53e0e8bcdfb3fd4a48d2550fbb608009afdabab111ec1c63567fbcab9bce912c9f6c7500db652b07ad256c8fa5c5f1aab52ace2d0af72c0e90b4310bdbc7f594329f7b8ea8f6d0faab20d36aeb0b1489a3cd3e638c0cf8cab413b0f97b63202ac4f4f34a00ce843f807ba8cdf8daa64119f682dea2e610c27a6f42c9c568dcd436cfc13e35fec0e4598abd654c17b7580c96d1e85f46b36414191b7e32869c330291f4ccda8073c57fab2b7df898546eaba16062ee555ee964f86103c7ff71f231f1df59e4a60a814aea32f362ca851860b899ed3d6e58a21800426a6b56327a1d8af8c3b2edbcee960b05aa949ee36639c0968303bc6897aa2d69805805cb12adcec4075e1efbc3077529443197a8713b719f140bb82cb4c1706f702207ef8debae5ef98a7a2e0150625cb00678a092686aea297d65ccd983babe772df026af392690a9d38d42948f5c916a4eb5d9ade87842869a36c745577105981029daa3829d13c72809def343d878d3178e9b1762075f926f8397a62561863c26b6617a6107599faa3c1b35eeda04d108233249d9bdc6070f0d2089284d59ce386be004c73032746d2a56867f3533f74b1c56b9e03c19a39c0c7a04681b4af675f2460f445d9ee03e93e68f3cd0faadb3d469613a1fab51e57be5c047cb2bd536a61cc1b9ca9b8fd503f99e903ec153218b0c09cdf1f236d66f5e93eb802584adaa142d364db8386954b1c4a3ddd4c676101a553f4abefd097a1c00940ebf612d3491dc13b73b1324fc98845b4fa514a2e9c4cf35284e9be66f2fc10165f089f85853fba58f7a64ffc3147bf2f57d41cec2373bcfc9b15e4ef2cbbb7c8123ba3eb964cc53d04a1a3b1aee040c1dea4e22474d24e1570d691c36a12a588559f577ef13f54fa591f5717a2100bb0a079ce8f8c8a7f47109b1c69efd98e9554ad4df3c09fe6769f41cc4f7b69aa28dcd3dcfe43cbbb88253428f8f6add4e0a2fce29e9623d0adbc5c933120e1eeec9a2fb54f4794d79afc353a877e58f9fa016c0989661cc294a20c6a4aefa8e0fcb58dbbc86c36724e33bc4b8cc0eb9b42f53eb4b1eecdb5b165a896ded1c7ad2c1ad2eefff361147ab941f353c60d9dd1259098f373fe930ce270e7500f8470a558870b318a5c1d915db92a38d0f32e181e72a4f249af5d357e1b37495972d3d882552c0a7a95446fa4c125ef4d46e4b9bd9dcfa25a58adbb7506052b80117ae5917198940d9a91c29f219f024af66fd1b21cf86be7fc53ade16745b80fcde4a1f296ba02f94be248a4bb96f6a5d79defda0c08abd749d68c3edd4911c357f54b35f8054731e1b8779b330e3859ed3b0734d4229cccbfac8c2793bd4f0a396788fb065abeac45e541d2e3d71d00d19204053554669976a6d14c97f23261aac8e9878e9b331e727bf98dd6e53442eb681fa1b47571798596b11b02e1b7eefcf32c2050763c4385bde21f4a620725eefe968d9fb8e0d0b57695152140d99f8f81986fa39699a5779a327f4f29b56e46b43023ec8571d22f71d74450d780c0e55eab82c0aaaf5177e7682310c0d24279b837c5142b5c9561a650858ba440320a8cdf10d82960966118d03fbfcd2ebb61d45fd06cc76a46fe6d8fee43d2cc282ade9e985dcd1bf11ec9a6c83312f1ee957f6c57547cd41e2dfe3b73ffadc576a92f707e9b7556d1372436b41e55ba18f4f264ff059f52969c04f44ba29af61113a019a6ee2313cec646b228f475198457a5d1b8959c4b1bdff1a8fab4ccec91037e206aa89ad38e7ebf8fb834bf17bf136ae9dac6a16827383248e976f557301ec310ec7b21146520b300c24a2999500ba9da9e7104155e22b51e4a9db1d5210ffdf54cc0c956ad0971fa6c330822fa7e527643a7cb2458fad7fff49bac6ca231aca07b99461a173e61677fb8df6e718db3e08d3a13a2513ecd887e340668d4e11131455f2ed8ca9a7f1d65feb8e472ac7a78e254a7bd7097453aff0eef5f6b15e5061e992fddc6b50a7ed6e2abb127321790e4f284e2abcbcbe52d171791b22e37bca64267aa6eb4fcc0c8fd2374ceaee9d2d9ae265be4943324fb2dfbc52333553eefdf008d905c42c318c727cc9c251b37b363aa93bb416572339c54cb87ec6ab4bac913b4e96211e560106f29f2c21121e20d77cb062765ead84394f799975156068bb75d3b40cc910bb128ceafc23a5eb6c2b5ad612ff92caabde7f53de32bf14eb1b3eb7ab819b8bef589dd23543dce79ecdd1a9ab1c6bb1ab9032d4d7eb1fd9e342109e20bd4bdd898500658107c56b80577535d13e12b07557096b2b32c463f66ca7e40887d4d17eda4c912409e12fb93704d68750623cc843a9537f7aa3207952f2f1be229e5952a4bf21af2a0cc7d0cf7dffa99cf38f1459aff4b741e27b298c31f864d3e4bb30b07ce55a332135841ecfd1ad8fbec22b36121c95d1c6d6be504b1c3678d054a213f9b234f8f554aaa4a6e15528fa990bd0bbf04f563bb61654b833b18d8a58f9e359f4c5f42317aef046346e9cd802da21f3209dc77375acd0ce88d3a2e2f7a4d2dacbe1ee6773cbcfd7adc7a869a362fa9dfb82f6ca680fbb56ff10de162e6d4530b02511bb4131f8732030407155f164992d04f72b68c01bffd42c99413d636511101c055eb386e1b17994207164b4c06c66ff22981deff82a1556b50d5b2c164689553c539e7edb372f19a8a0dbe2c5b0bdf6041e8866cb06e2e5c8b83dd9d36b082587104a837bf5fa919d66b64ad1afb5d979cdf03640fa9e75a4fd2b2a33f24deb99cd01c58ca784b9971ff0917bb4ed515b045371901b5a9ba9f16dfb5c8ec1860260191ee14b98aca341a07a04e725c9c2980dfdf916a8ff4fc0158367b89de1610e7e55467251714257d87acf55f39ff6a1ba42f522bb3be2563a2295c7e077a6e49d360883025032698e76ce385355e8e4dbf3982ca030de01b914bf10c9376151db37d8188d3eaee628afaf90b8614623039d65a7925d316652b3f59823a02713fe14ef5190bae70874421bd1cd564885f483787203cb65485af5104d57991238538ba1a27950295d26ba91befd38ef642bbe40f8fc4bd251e3684238111b88bd8ef1063bec23979bceeb3207d1778776bd86eb44d0f5dd6e30b2b4c39cedc2e32490e1a42ce9f476291d3dfb66815da7b8e877a3b59319652bb3a4c629cbf29e702e2e9b11569cd27eeee04c37ef400a557cd646e9c4758d0f7f58dee7a603f60d0a534df3bf0bda6b55ec0a81a194dc44a3ec2bc5123001d89125a88020af8f387dc416fe9f93d429fb83288e6f28c13506fd7e2053f0e26bde1d2e9410aaa45740653708a73389bd7a9ef4dd85acf45f19227ac60f2dc133d6285af29cff774544913eb6ae15c7986b94d55bfe7e41bc92652068b699c783efdcdac361c7bd0769f8b3fa03ef614991f73173163aa5960fe61d6dcf6f575e715221b0a7404655efd40b62cfecc09799273dc366662d994698eb00e09170579777941b3ed7ab13f93ba3cd73b09102bae2888f1434057163b2bba8ae7cef49ec7aed840edaae7e237bea2fb74771207f25d0d7659867388c65b74479e0aa7903c4ad0c7e8fac5834375ca69ddc4bc45dad4153430b33a7efdd9099f51e857bfff14cb89bca61fe12ad18194064055e1009e9b48bc004092917b259ba204c1cab0df6d91eb118cf860d23406a033230e3f7e05357c4f29d2dfcc5839776f87519d5d2b8a5548a8083c6d2148b87850dbd6d9f43b4985797ce3712fa7ddad5d917170425f4e06f9e7f3f5553b9c17ced7c1ba7d54cd365ec915d6f4214361509831034c91c00e3a785d91859fcb2873dbb5f22f9e6c7186996c5abe39e0482bfd88f296126c501bc2629cd9b51d4678c1c48198ad0d7ad618c0f3fd8a15741e8eaec96b809dc26e5f00c4010fec69acbc8698855ceb037d6545b5bbd4e778ec1adb369bf310a6933b35979cba090aebe352bec6d0b213a8fa46463d0cf2ca3f2e87100884bce9e7a9e10a80add98760ff0f96c231d9eba5a7b04e8ff43647ee4666ac841bad7ea12dde4c3f54717b8f35422d1286d61efae48df01f64b9aab4f85739b26b4fe926a37a9aaa57922fd55b5f72919ee45d5ad4684562772747d8d37f9c72c36a4d24da18cf0521cd7d0b66b47c19bfee17b71adb355364009217ef0f8b572211b3746676b553b69600cf777b3723eef481ee3ace8a21ca09eecb560dfc88485d5c55a70e51d4ae7d610fce676dd93140fbf3d5a519839dfed73a382a68bb1e87bbcec4e633198a96995dfa5eea3ef535f9ff3813fa98a8a61f3acec7b02f527c51a5eebed74a7e208e44d73605248efe98f2cb991a3b03ec3f5cd8de0ea80324853645aed8f8a8f190cc8860402c69bc1787eb0c72464ac64b5c7af5cac66e7bd893e14bf1f13a8cd1fafc1f5878c5998a9257e0737c6eef28076c37badd6f3fc30dea136fc5778eda7503f25df5d75dcd8dd70e9bf7df20b387b3adcd05185391f23ab4f288393c43959b860f09d61c625ffb50cca3c3defbd1185bc9bd096be1e667ebf36d6cc9a99c3521db76ceb5746b477d99ad529846f34ce660a206b21c9c9f7c3c05300831f09944f68706376966b28c3d7b6e4562d1c9a113d5dc805e99a0aea778093d9851de955c6280f2edda634873ca0e11fe9598bdfb1a79a3def607689bc46750e0c64f82a6f1d62479747dc9693390252932a0bd29f1ed5ab1744bc3eb1983016a492ce0cc7543eede52e12a93bedd996bc3ccfd15d5a09363396cadf35d19a3bf6376f555eef503949852750e57195f0f93ca4c43c3ea26054a359f189fb3480881f77c9e84af20cc39e27b5d1d697e973ff2bffd3ebbe3ae65803e8dec5ddb2071d5f9a9c4f6f2781935f2543928cb84ef4cc15427fbde98401cc56c691f3a0d118bc458d832cf58c90104dd1b26c0401e4cdbca8a4683fdc0bf2e39471f1cb700ad8f807fcbda8c47026edad69e8331d39107e35907910f12fd91c70d24c7e7e72335dc89e08472d6579610623f36cae7869174bfdf53429c2b7d1a03bb5d716b847b7e680634f6ab6adb03a261472f09d90d702ec40861ba201927fb76f5a408e40ed07d641a2a124209b3592a97072baa56784780bc002fc92b4e79c5a6356188c6b78b6ee69c90ea3b306c41d27e61d0852a4f627ad5c3d82011934345494cc3b44f7b14dcda0e73f47dc4af340207b3859b3e8c307835698ac20f08542fa686b49bf440b34ed3780137918a78ee5d515972208a7554290a46b0681a041f5d08a19253a70afb9fc206ab916c61e4b310690de7abd189b65ee1a0baeda1b304b538c82ade9a5835b3dcca0b116311420f5d6bed45a35c693d0d80db6baf5de4375b27ffed2a7a32bb683db7e472208a58b6e3e5148c64ebcfadea22334cc6869e8c70d9945281795c3b571f6e66c19a7fe84304fed13296b01790836338ea557603104b26943af1e1d0f55245a5efee30846843bfe700ae84b3a0b6a924ba333a42053f3be4882e72b832d80c39adac3fa779ba38b8800b994b4c89d5d35749e41a120862ee2e6fe29cf55c7d3055f45b5436e1d60d1a53627671b9b4e6a330d9785309b62b192f46b9af13d9381272da7fe69f78ae477ded29e4cbb1024e08c54b601cf2d21a180a4b6f66f957eaacf9ccb4c7b3e7b377b23c49dbec5fe350af624b6097c2c1ccf770873f1c6c7c38fc8201a622e20aa57f3ff97fcdde1239ad9461878e74876b8ff179145e6fa989102db87bba67c03e4f260aff2497a8fcde06919e44c787a08267894be8444daf28d1256b25c1361a2c1a086231650d8dd3c45e68c2f4f028f13bb32c9de55a9dca2fbfcf8d7821f12643ae3ea8ae9021cd21440330b9f3250e2736bb70969b307e7a1ef8ce95fc0f4e958b28b79aaaa0dd0445190f2aeeeff3e9f512bcbd86c8b560fecf90c6f5bda5b5e10b690abd84e26eda6b7dde912aa9f0c90866faea4e64a830a6d4459f9a007c47478f6c810faa153ad20fb9a5eee25123ec4bfd3f5cdc7f4fdd01283f035c7f6ff07658d20841d2cc22e378690d84d0e4e8beeb2517004ab9773e3e66fc7fabd270f941f9ee8ef8735fbe668e9616c2b796484bfd8064a0733dde6f1933510d696e542baa76257444904a41c88a539cd0272cbd2e53b8351dd7d3200de8bdec808f19c648249a7ec63b5c07ec5125b7a3b6ea3d4e9da42e44abe083430d73ff3a35b22e01f4422b613764170f01623885de923e68bf2c2bd6e5e5d9963217a86a2aa0e23bc489ed36d6a32c8da77c1721b77a445b47b448e4f9d88669a2bd1d03a9cd4574376127092a0a5938770191a1a8b983ea4031762f70e342006a03ca0a63254d31e2b40047741edf7acbf5d9ee06626ea33b36b349a8ba8897cc865277d8a4aadba51ce660296ea8eae4b32cf9b1ab04f7784c26d1dbc213c2e61f42c0d7ab46064a4b82dffe7ad43d96875a65d0652c0c5f9dcbe8d7d02317d325209d5a6be68b1f6655296629ff22a5f4ffb0604e9c49102bd3e92a2ded2747e4cf5b24bebe446944c34cbc924eef41a74221bd4f5d8aa79fb7b9eb74803679a25609a539305062266791d8866f1dfabb9219050bc6f15b9c53e10ca88e22f87161f25840e8527d85ad0df0aec2aa161cee7cadfc1015d62bb7e6a3e4973e69ba155e9e79bc5aa99699f34e7dc95f77fa18304e73c8446e56b1ddabe3329246c89af36c0f5013d82b496bc1c257fa28240ddbb911b7e16dafc581209450e4dfb59ec2db966f255e790e13e9cf3bbd8f3f4467d359905d993fdf437beda50c18fc364d4b9a24ef618adcb0c92f866003b4f326d7c0d83ce69fee8f45456d9893ab6030315b73e9b6055855c5c5a5689a2aac717dbd2c004c969a3165ca9ba8c35e6899b4b34bc4abed135b453f243add3fe992fad76e7579407f834cedcf17b6681246fbdf634fffd1f32c7d3431aa470ebb7a8dd515f6b1d6c9bc8ee8d27330602358f48e02e858302987bb25aa1596d2f827e492cae4cc409ce5bff52428dc53c83fa6969d449ce4772dbb1e637994744d5d795e9da15bf3905ffd910e8241fbcbcf3c6ba9c8ff9301955c787daadba22e0533f382cac1407da07c81844f8181ca0cc9086d73883f645f6311da18d1ffa16f6e5c4f4ddae02920dae5969984fcf31b435cecd5c4c6d49dc34e22e70d8531dc101b20e73fa7b72ea0102713aea1bf09ccdb67bdf14ce46842da739531bd6d5399e181ced4f227ce1f54b8d740c5dbb1c12e9b913328e5434e1e25a4175317526184e4d4acac37133d0662b6dd827fc9522c70fe4a6bd354dcd1d21b2332ff20c7337f5f74022e53bab2e3691e950293c3fc13b3300a62ed27bec4b5b5e5753d60f054e51e51d3b6ec8d45b76638063f22bfdade1b81e3239bc9624515cc094619a4d998de388ed7e29ee96cdb1e38cfb78eb716441a23e796afb2788d8e263958d2a8286ecd5b76e0f90189315be6cb44bae89805d870a82a30f1d703d8c1257dd1d068e15477112eef168c380ae75234d66be0cd028f3808bf841ae2c21727b40dae9682cf49cf016c57ece0ff453c166e2c669d618f60de7bb359c8034e82885a185b6ce825f5589b4c17f10d37ffc190f0706fb62e398907801045c066b20a89255c632b95e2e8bb92bd4d9aae299bed310b488aec3c179c643b7c3264cc55f37d525a398f03cc1fc3495a61e4885ec6af0c7f4e3429e8d740d8d17b3f992d469ff8259bd3e2baecff4a1b39130748e4aaeaf3b420dec4154310a3a798cd9a0be3ef6f18403693096e8e936b2a5d405b2ba75eb861fb2921ef3285c2c1cd6d9cf70359aea10bf5b619f999d6956f986b72688df1b99bb8b30f6a06acd54743854e49ca0cc8d44c07be0516c00183c38cf9c90be38db9869bad678ec4d65127f75039036ecd22a89bc289758647ca6e95e30229fb368bc33bba90cbd22fd1d5f27186a0ee3c0dcd7cf8cac6d035f40dc38faf0416b6bc0a47312e3f9471d0d0b18cb93ee1d7fcc66218ab32c50886227a5d7c20038aebe03c2697a36f5e1b5ee42b9c5ec37ab690e6a82fd09f70ccae9161d1b7561116e4bbc4d41f54ffb00d9f2415234103ef6100ce99841dce1ad49c437b92b68f5d13b727d54e40a7624d454e7f5b7faa25feb6d70ab73c92990f621f78f52b342728c3fb7ecc06916d2cbc1e152e08d473bb4627c1fc9e4031a080765389f7fa924dc98275c07ab64ba726c4219aa4998e019e87fbf9cb6f88a33314a4187a52da5b91bafb44eb1a59765366735ea1bc79aec0e0279800f23c50932bcb9a0e9294b56f0f9e51fbc17d4ff73e3b4ca01c6da2646a2e9cb8552fb21f7fec7cd873d8005773bfab14016993f03135819045e9407a747cc6ffe9283a720e95c3206b02fd4944e945be8b535ce0a862516219e638c770a541b7b41561720e8e32d2bee39d2b49b60d4c5e3672994ce57183eb26ddad659c2487e772e98256bfd0268bf1137487ac446ca39ba29155d44ebe3ecee7f4091048428ef3c258f89f971f0ae46619ef36f46db4aa3396cca79209f1d1f9b39b13009a1b27c961c5f016143452b31eef84bf58dd5296850253386813f26967e05af0622f402cae7465591045c55f99d4b3f328195ea9a496237352cbb9cc178e44fdd1a90addad9f42eafc5f475a54631006c7317ebe60c6546ce1278a594674e2d4612a72f2629203f764123feef14e550885a260fffcdf52deed3ff2decf2996e449f685e9a79f3dbf17e9bd5b402dfd25ad014886fbe1b6975a0913b3621519cd7fe312cd1e7b4b7c65d73c4985378cf8f416d46230750d3cc0c1dbb65ae54bbe02cd6c04b384d96b7a51c89eb1cd034995b764fed475656de15980af64efd16af681f836893fd6ee01932428f2d8232da3b047149507715f908df162559d7874fcc0ecfc59220cad20013e652959965c373689476eaf2e5650be73c5e2beb59f0ce5bc0f3d12788b4ea7669747919ac708b3fa345632713c0606d97db7b79a3438234ce42483d6c64563e8551975559d7880e87a7addd3f60e4e2840ed358fd0ca31342f48af6e2a7636c1ddbfcf6790266a5eb617b05f88336b14b634e3da3575607b9a366feaeb6f980141d7bcf5f7bc26d6dd3ae3f4c5943ca504f51a7608b74429c1e883abc53f00557abd13b4d32057c4784967e9736dc93987f38b18615105a48b43575dd61081ff2d38eb39b08dcfe5a41dc81d05c11e65c096cc6eb1c10ccdf08bd6e11f6cbb13ee53eb26ca84f785a7a5255820e0bc8f23b4dd75f04a10cebb950501ee5dce93eddd3e4148001962597ad12cd787c4437408a99cc41148db3872b90d99ca8c599eba3d5361cb62085e1e19b08b2e310df98bed94cf9f7594f6736bf064265ed4b04bbed27ebd7c260ae093b0408376d5f6b76d2f92180bb66c610490c97af3752529ded3d6f10158827d40c0250eb994ffccfe06203b68730bd0b0a11b94548cf24404b3ddb31696b4cb7816facdb579902905605e0dd802b6203fbd007c471d90473fde451b84f9d0d3c48a36f86b0433b9022d39e324104d98dc21c748e9babd3c1c5ad99675cc4f44e545d7c3fbc86cfd696c083af6c28075e981d976ab2fd15874af1f225e6c4e6d9e66ef6077c6a7c415d9672d260a5ec09dc6cfb4cf618aff5091b88175af7246502f1e33ed526c0d051da5a9b4937373ba1e06f555bac5e9c648ebf6a89473853a9079d6804069899f29d78340d96378a21ec1418b738b81745107dafccde31f37b4112687e25806bf7bbfaed98a61c6ff4b1a2155c1c003889ccc68f93af7ddcd001314f15ac6761635fa7d01bc5cb01e7edac2b0d0705e82baaa106ccc63aeb7df99368ac2c324d35cbe99c8930f0fa63f703be7b482ac59a0f936c42ea335deaddbf8e203c020112f0b8ee22bda9574cd1af4fad5851b60afe036a653a63a7a0b4391831714db8ac13841c3c6166fab71f512aa26afa03e85ca255d2c708bcd98f1ea535fde32535cec4206db4dd3269708c79b42adbdaff9c22f482c1c5d3c362706dc9903f15e986ff8af3cabea547c8caa29659eb850f86ff04d22a4b242e7a282fb31478002b1da60c3519846a591b754e645a4211db97bcd5ef910fb33cceda881e0cb6087529b7c385e3f6f0ad7090fd940c02ef9d7cc959a1df494679c5f73c400a144690744613b78a762e00c2cf1c724f8678ef0db322006267808e5bc857e14e25cbbca42cc868d7c746148419d09d1d54567f67b8e25e818cf499f4f1195d2c925f2e3bfb3c49a1fc997f781d001ea8e2b7c36b669ab165392fa238f03e7a287e7b2e89d58eb3ef5cf5f71e6e0c4a2768e754eb5e514d908e7e89a6c82cc60ddaf9464d9f16f990a4acddc374939c46466d86ae276e311b6dde19105da6e9a613181d1f572e21f747d40c8bc7e0d77e9f72893fab87e2f52916114626c4a23b3fa338bf385d82556af46a484e6de7c7a48520f0f51ab85f161a8cb58e68e4545c7f1a8737d647c59019b60feb3c8f68a0f08e2c264179356db5eadbbe58e0fe094c692a4715e3915d7547b9b8f05d26c0b4d2cd8b8c47c1d8c295283161e5ff404ae87c065c98acbaec5062eb64e2f83e8a643d3bff586c41ec1c271791680bf325206807f1e80a8226a6c4fe2fa5e71f997a27fcf06ab8b08feaaf8d7c43fa28bec63da62e9f2b6ae5f7abd70e23ac472d8017d830d89b07bde686578a1667dc715fa4734a5d5376e3635a96f731721b4001d4ce3cb8a3d447b0edc9fd04ad616e4ac44f690320089d0c897321d1a49f2017ad1b0452f7c8048824f68b8c318c0b93b9b4cadbdc759dbc5f9ff1480d843d705ebb474df4223302ed66f598d7a508038249d88e64cf22988fde07c4fd80eb81d4f1f0438196c14ea54dc2edc189b627165a017ce61e5ce4f44b70cf29c3d56c82466e16c1aff91fc7e37c2f4eacad7500f9caa6145646cfecfd611b8672766b2a636aa2435df266baafc72d3a5ca775951e4a1ffa7436f14dae78e3d448d0000f4f38dd9d654ab92e3f425a53cead3092e95809a281d3da22596456ecfe454c410175f087b4595da6d5dc814e5077703cd5f5a5b26b03bf48c2114f44d6ca3747f816bbaca8cbb9cc61fccbe9ef7b9c03c05279165b18b4cac2d848ed9764710436fa1283b838d06d41d43c7c5329fdcf4da145fc7f8dc2cbf2dd0591c0bb96d0b41239513dc646ba975db6d917760e06ce4f5ca7522ee7a48cb65281cdf8ab4ad26b0e2b5a503a5e9cdd926f16261509b75ba3cbc82bc6ad2225b9f56e0c70347e5b8c52c3b1d8c7b19e786d7f7b987d328fefe554113b3013a37f82281707318cbe199800b8c73dbee70d26d4bc3c21b055728c5de4cdc49c33034de7e7edf68bb2003c85f226db463ac5c58db6e0027e3c5649182b92c99ae891315a1e5ebf8483aa21b60595fa4ed0d817888dea6f66b4a131cca7180a040b6f44cdef22113205866ef5ac57a1b3d26de9705965c438f35610fe67ba8026b9736e5a7c0bdc9867829e162fdc545b66d8da45ff2bbc7576628056887ebb56b90da2f8fb2637e054709ee8dce140059635bbbca7bd225ea4fbec7b47066f2f02162d78bbec550a37debb7943fb2d6d687feab436561cbea0d6da54b4827a3b8eeee03d8d5f26703b56ce0b8227bb3fe62e88d7731d1853d64fa447da5869f15e36f7baefccd24430e4c0bc3e4fb823df2ba99cb1df8577a30ad8514484d1770a60943e20d8772bc33dab3dd9d0e4dbd33546d10714cff108a829c1b9e55c694a9774ba757808904851e6436967c1c0699ea98ffc953ecf1e5e8be57b66054efa5a186cbad9472e686bb91c01fbb185dec12feeabf47a816946e3e2f902b1b87dd7008af819edfef2d06e53a744a8a5bdf7405bf2214517b2df853ee87b144b6a8fb946eb37dc74fbcf3035627013d7d794a4533a935b4f135881b6ac546db12123389116a3a030b0f62b958ce5e5707d4a81475e7ecd5861cbf9681abf0e9e41c7ae414cfc7afab0446236e6a09377ca8ced849190e47135692df7c14b8ebc6ba337a38e8af9030ba0bb1cd0fdc613b29865ea64e130168a52dac6033be89b6700d67008cc4c359dc81bb2a6013dd07716b2c2855f471c491e89805e33c6b3f541a0a9b67a58813d3ead1a5d2bd3ac82c4f10a6ade063d3ba835d2c269498dbd54fe3ffcc3e3df0fcab75d0302d115cc17babf6a460c8a32f417fefa19380cd9060cecf85f8410e125bc8f5a8551bb928271457bae9d6f004ddab2e40ad8daa119358729eabcee964dc2b32ac6bcc5bea52daac520fc021b4b051ba3779ef2300e6477d8516ed86f515d0f925f19b231ec31777d45680fb9307eaba96e6b2dae4f8a54cb1eaf113a971d98ad8b3736c306dc1331bd29bfae90cfa1c7599e3b87c619cb2ceb2e6b7710d64a752c2f8abb8379ce19affa52d18c1605a729ea7c89667174cb19a55b70227846c10167fda4777c4977debc4d5c43d03161c344230d227ca9b7ac8804c2e64f2396f6fca60ba0429e6ad254e108daf6e18a44bef4a2c556b4ecb69dfeb2d26525a390c83dd6bedc64e945e358c222e666cc74e2d08fb4efe865c00658b1f772d6ea20236257737206c5930b7f4c9eb9d949f41538569942f9b843502c82d5a180d430d01d8fc976b75bff1f35535532d4004b49eaf831270ed779b9dfb92313961c3201a7ccb2cd6f835a8c208defb6141c3e6dc054da646c49b66587008afb6f1f3cc2366c77272811efaba1b7174b4efe7eda0cad44f71a10bfa196cb604d65a0b6b131de90e3f7f331f09c780891df6a1b8f330a266d4bff00397675265c0a6cf854a7ffbd3406d6b8bb6280de4adbcee85dadc9611ec522626851d111d92ecb7b12faa2de7e09acd76b18a17dc0f232225635a95f22fe5529f24069dcc123207fc5a4b62deff8eafce34753baf3b981733054cc2c568e10a6e2672526e07794fcc28ccb98cc62237430553a794da6fbeca715e27261eb6d3487c279b56cd4730a03f44a444b6051c4aa59f639ea6fc210063dc4daf1064832c589fdccc275e9c88aa2b4530ca9666a8b4e1b80222e8e721bb8efb2cdd8456acdf5e1c289e9bbf4826bf2b2e70dca7d98e49329c8c1020d550436177f0e895b30ceb945cbf69e127e33d3a12125e53cdc0a8167543f84fbfc88704bd60ad59a64dc0d44ced81a7f0ad1d7db87055fbca8e89fb129a0e193a49d66ca196d3bbd0720a3c36f59ee9ae7ec08c714b66806530b49533affa8ac8309b28fcc64ed18075d6bb357fb2468fe4f566164d788b9e8f226f050e98f22f61708f1425ee22f3a65ef05ed25b4b8790cd2051675afdb4c50ebef9f823dd4a14948f54053131261adef7d08f4bd202349ed1b2426fe1920a9c94617a4329838e6ec2ce0cb9281b3783c44e72e0d0f2930fe203b3405f9f9c69d9875d0a8d2ad6d03474f9cab3b23f1c29951067d962674d6217f9d061a438fcf3b2eb11c2b192904a1fb4ffb3319818aa16fe84e123ed9c5caa16359e82aaef801028b8f7d5c283e7bea8ff739326618905f951b0913b8ac43674be0aa5e597d94fa10ad58ea5c7d233e8d0a853aef0d44ee868b8eb1c6c5fd7a138734f18b02a601aba3cbceff367ddc974c6782cea3f063a18a3abb0f18c3a782447e7feb85d526838debc375c39f805e855c3dd11609eb118f1acd98e55e36ab20a1baf66803d608dc0869bcbd22d12fd981ed079deab352662c39e9dbef40d46c67cc0c8d697a23d9279d140461fd07995b6ff0a0d93f2148cc7901bf31488264f7830f9e394cbcae3e3c2cedea33529eede87f3f0670635b269fb0ecd234fce2a84a3c262d4fc8b1e0d8c6622d7b8c40db641442ea73dcad5642817ee63a715ed6026f27698cff91c7d7e22aba79abf842c3c1ded84dd0839bebc20c1f3333c49b8a64fb175711ffa08e69c3b5ac5aef1bb27b7a1fb2386f1eacdf072c66bddb68c101965a0b3e730f2596717380374d4124d91c6a10b093d0f0d787ce44ff36702ffaab04e0474a8af6c102592d7bda7fd60a5d2eafb74500744ff2b3ea8a6397348e7b33162496901623a17b172b5f27ee5124cba6a29ef061080b805d133f7fe59e7c09f7d1f7c58d1661e5e97c8dc7ed66b57e35a76a6d9204ddf1f3395bad6f16c92b10bdfd663ffc24d266d8691b01a321d15bf3ae8f05a4a1b55a69c74a576de51afb02be1b53c13cd2b548ed754a3f2fd380d5ad36c9951d416e3b143e3ff835a1af1a41634a895a1965a3d7915d5cae820fa00b554686c34ad5a7cffd8afea000730a24bc5d2506ca8d7cf0bfc3348aaaafdf54d68b9c081d8b289d0e36e134282bdb1138a58b57c3a2d451617391d5f11b39dc528d40b9e0e14b77342657937a4a05cee1c66cf7b0af427c631c132402e33b3b3378529116304e7389f861394d11ccb41d09c410dd2f8d6cdc3daf796476a2f0c9b1ab2cb7759723b16082a024be40f3e91a6d56ad0a5e2470a99aa76a0747e478a819ab5b5f475ce29e840c4ed82a08de586bb31cdf4d1fa46744f6273bb359f21400de61119c60fbbad89693201fe8325baf6684f34b45572faec19639284d0acc30af1337d51914c1cf52bc9d4af48beb8175ae7ecfd650d37b8155f514223d9ae5ca707f80b2bbfeb9a859a7aef89dc337edef3c26b9e016b614ecbd8b1884aad3dabe018afd386a3fa3036991fe5beb0509ca92a8cb391d1eb205967d7e1783da78646f16c031ead0bf99c7f2eba05f75feffb9226770431cdf814c032d08c91d38ee51ab47f45c570dabb467aa7c5a4c862df73d874960115be29ddcfd3022583920e085f091424bc9356bbe0060dc75c8ed8df7971bf60b2fd73093420fa9d691d84e4ad79d139abf8842cf61f7c04b1a26851732028c67fd19788fd4d246589ba56789bee7f85f4e8b85ef1e198e310d5d66dd207585d0d04ad3763096d65f74f2fc94d903c69de878fe6ae1e321ac4889d2f4d339ec3081e77781ad9f0f50b193aed8eb368378fc074dc573448eb03f82a906b63efa7f69adb1de25388b18a2cd3f064742c584a84443aaf1c9c5f1e44ca64005779a8056759dba8285e32ae019e6c55e4797dcc683c4b8e1fa292ec377679bbd51bf61f80dd92369c7090b5aa5fe0c325c4eba2c3c1c9a91354f6b01b64779cfcf35d76985263db977e0a38a0acfabb2b30d3ea96ccdc56d7dfa7367ee9ca9d5c27e66848c325a62576d84f3f825bc1b0bfb3a43fb602223195a9d2e308ebdf9f624348c389c0f8501d388155b2904b3d2f0f3b0e79004120e6668b5af93281bcbc9a993496741c4ad8ac5320708da46b4f648e3e94637e16e5ed1fd0efbc638c898b117e27bb456f297c77b8b9d7411c5904bd1ee5cebd55b647d988dfc608c422cb1cf4ccb098c4508b227a81c020f50761f264e5c69d5834a02ce685d0e15d66905677b8c6970650ecbb029c473cc9724e86a8e375f1b9074571fdb2631e59a5a0afe876be30a1d378a93ad142c30e5dcb37025e998f25008c8270ae88c1a7c7df91182709cfa0866164bf2dcaa0a8373dfc2fb7636ec3197d5d3e39bdb17c04daaf0c9210ba6d4c16eb30782e1601ea125a615832d1e1edec63dd1ab42ce9256fd575b3be2780b1060149093ec1717f1305b76cb4328b9a70542fbbc1cc50d078cd5274225776a71f5fc54465c2969e24c9b5c5ae50a41c5ec007f245739ec3ff8a050c15c21837054cbf73d3ba30217c99a6865af1066e4f49be206e45ce794cf1fdc3122cf0f9c2d072ef722a7c5e299d08989b36c65ce8d3f9186443012992fa9154bedb1bfef0ff51a35c05b6ae649b98d190c149def11e48a071afe250e8d43fce2e3fc16882457e5becc2a8d2720d6812d0e6154405bca69c17bb982a5c6032685757be40ac12254f230c004263812640786b9183743b2228c3e299daa2c92e25e55fc65b093fb9efc9e68ec5c6e27fdf2282acac1241a725abf041f7b3ffe3651c83822ae035d7eaf8b3ea78b73b1e076f1b03edc3578bc551f831b39a98caaa2df9e7fe89088db8567f8dd260e41aa6637cec70435a58929bd3991014d6de3dfdcded3f26cd0e32d60434270a18552b38669b4e16cb906169b3f3b86c518240cbfc372b6e7616ca5feaf92e9c02edb785fdb73ba68f291015adaa246feda3ca0b29ff89a398af488d62d347dc90d84ad562ef409dcfa6cbd87471439ea17b56275633891ed15b525ad2ba5f847bf75befa0fd69c5457ede9385d63c07e0aa03897e600f5fc6763285dab31ec85d158635301ff3df873e18ac3737410b6a0dee118df1aaad1b51bd1bdec1a9a5daec8715f637a054b78c4e9891d52ead2f1d65ee7e9f5e1a6c6676bc13c3ee5fb1709bc443d118989ce0a2525a4edf0707b182997e9a69e154b58dc342d15e66cf699a74358fddc93ba647133b2df4476194dceba7118560112a5102ea9adeda1a9cf35775ca8075bb3b0708f000ddb3fde504aaed064032a19d494ad988356c0a6d3a45ec7a29ee2c66a769ced0d4feb8ceb72a2374ecfcc34177feaccd05df2133b0f3bbe89166c42a60529939dc2ab6aa6ff1ba79681a59bbbf85c43034ca0959a13a35f13329306b74c7cba8a4701f85a15ce2f6e0604254d4690aabb37ac462be313d491985c418dea9572c31861f902e93322a5f913c2eebcfd84a408c3c6a57a80e00dd89160222d93b710b067bd81e579c71d7c40d48e537394a2e9069f10bd5b38f4cefe7beb41d60d53ddd3fe270e7ca2ac658761a01d6fe958b2446067655b7d631e5d5008fb8c777744949ee6c23e4cd9e915285779bfecaea811dc8f7e49eccbce87dd0a4bbd79446b478491a52fc026eb9c362d992703c961e2e64bc37deab6ee44a93808332069c674892647ad0287af90a6c5b86f557c123c211fa804a3b74703858b01f7cd754341e8342f5b8310db39cfd32f1d7f91eb458a4820cdb223ba13070e898d40c0efe9f92188096044c93eca80df4850d065782ac804fa7b394f5cd768bbc460b5f236e04536ee6539e0b6863efeef901f4c820ab08c7e3fe7692646a0f972c39c4ee40211391a90ed8df12f42e2c5db927f3248cd2c086aec8d448683a5cb19c6635028708333d4cf393ebf68f87dbacf769777146963e444c66fecf29da2e6c9f59e0bd04a2b94a1f35a91d125a4215cb9a88e43bd29b25d3db5afedef15ee69ed1976c465956bad31b61e484ad0eac0b61d64ac0d6eb9009ec78996459fb1c2865fbed3721cf7a9a6253a5a98b7462ace14c3ecf99b21856b14386e94d926ab7ad3002c3c1eca69e5e72b67b79896bbefa4aee4bfc4af59355047169e1ff66f387720eda1af9136247e7cd0548d185d6d77467b5180746e1d02bdc2f67732c9177ba81513a46e034761ad3674df650d407108a89f780659da28f77a440f138e1de18db366a5d511d744f650dcfe7dcbf8e49ff51bcf0518acb188fc0bddc164c7aa5b7a50f6bc649ff4f9539e5d6b81e2f607a13771f5c03b58af94c7cbc53d9479fadbe934c2ddff21f8b4bd06cdf059eb0704b86ad07c8d17e59f8bfb4bef8c143cef2a49e27ae4864a3ab39cca0d081673f4e0337e415069f11d21d414773a9822c66c1faea0c45dea5605128c7293d9732125a19857c0c1637c86649e6c12dceec8554c757f1385008db9bdafa8956e7e7a782d29fca081eef162eddfb8e71b27221b094e26de646fc6a278308f6079dddd81c83b4e5469f4caef1301333d3b7e0cbeae074ca8498f1fed0e76af9a3fcede9a67a84bb21f516fe6cbdea8c10b30840be9f2632e85f205ad940e477609da5e5d066ba844c09cc077d9ac1a7c89a60cadeed1c29a752291a6064ab407acb318f2191bb6b2c3eca73b25f8a49a0e5ee7918219858e5988f5f6473ab411328989159614e76bd24286a8c5e9e3fbd4255bb210de229d09c6dbe1557f0ed9e2068bbdeb93a0d3f7fc2174e54371c5b9199c4bf955910597af027c80c4b01efc8f17e1ac165ea969eb4e440a1e1c36319ecd7f7e73a94aa1abbe2f47bb6e8f8e2e2f3e70305c8858731748a4fa34c34b8023336c34465710263b8194ec8d66ad7fa743edad6678603fc4ee9e9253a3769c6ce94b2f8e3896f9fa8167af585a52998efac5e2f8a913e5ece10bcf32ff5e3aef34ae4cd10f10686c3e1bc1bca62e7de3311cd1d844e6c26fa59ae72cad3a1444ba2f1e9bae34d655db19d93161a6ab2b18a1d729f75b39dec3e8e9f64e3ecf0d3a26a6287718e08265e838eb4fd0014c35901f713c6002ab5dd9e96f6fa80e7b9223a5aad65a49ce9bed6cf625480cbe9886fc770763d3b645357ff4260ba5017f1fe5618e292ccd6ddd646314322c312d44aebf9bc4643150d4449bdbe15c3f53d6d04092fed34026247a7e7e039af6347443c92a00cc8b4191ac8890025b32ac55c2f7914f1ebdfda11621f8c79d6cbec017bbe1b41503e459a13d98f4b2d2aff2a93041fecda43983409d1d3e1859700ea3b5202b781428431d09b37f470abde0393c10bb0da57d3863e104baaa9af6bfd01b627d28a86e110ec5e00428b37aec6c4a19280a745c5c22aee6ae8794f75772a2a593e83f712c2830ba10c5b556d586ffcfd59289279535d75b58a0081bf06f86b3ba481598d43e938c0b56eaf9425288a4ae980ebda0a23bbc04cc5d385c709621a86d13a021506062d4922f20f23f81e15662874d718a1e09afe9a3fce6d231dfceeaa3767b951e733637f6bac6bc959f83559b0f2df4044ba32ae264606c6bdea5514d792c2ef68507990384dd2653b0f852d9a264ca717541898b33b2ae3e376597129c8358f439e75f9f6e96ecba9958213eb03ad88cf539340a8ab4a63cdf635d459d847f0a5f92b2e26e5703329ca5801aaca8b94de3bd5e40a78bbdef0e03426c565895fbb9c9d9cbfa7be5002e26dceaa8118c5efd839a86bc160d22f99ddb0871f2f1c8f6c92bef5a13401a538fc5f96e9572b86368b09adeb3018e875611dd4f003fab058bb13ebf1bdfb8f0feeb51bac6f68affe45f83d7100644c0d4696c43353f28a8170cecfb3312dbf3fad2c4e1cc873843491615de3e29d3284585ad5d87733c5a5787537c6c5f0744b60dbf81e236babc845303168816610f002ce77137a574f59bd6dc41f72227734307cdac6018964386873bd2ea99ae91b5a7e9277a96b214f60b7cf95bab08d3dcc7b51cb8b712ac718b3ef701e9828b5e4183a1c3dc750cff383e8b9d1a6baec289d70af252590942e9a1eab9bcbff65bb9dd184361b64aab3b8c937c249c947bdaab9d9ee361b50a74364fb4ba0ede82027530186df15820e4fb6f2ad54a3a5bbc324f75550c79c06a33f5a2cc85678d898e92cd61cf0cccc722ea1f5c118f5f58c70c01bf01f6f0db09ca8671f768f6bb2aafa4f599c4b0d4f8c021a60d4e79fc9d9fd7633c8e60640dbb9c440f5e14962c34fb09f57467313ad9b4865777329798d2fb4a10e5fa688335433ed129f7e52ec6968471ac3e5d889107871f1bd25ec4696ac005abe8087847e38b0032e7e75263f96e41e6ae1edb91c2a9717fbe3a2a6880b8bc3d3c567db748235fb7fb9d7f9e49ff570f36dafd3489e1ba63aeb4ddec2c3c2d045a55cdcbfed4ef77dc8b90ce6fb5f483d59d91868746c90554b279de29db9264b6228baf4c1b689e58ef24111875e9bbff444f9eadb415b059f082d401ffdc929925e2e9671d59bd10f7a3fdb399dd22fcc9d0b0631d2d0e3e731c3f9170bcc918b2e54ba0af5abce1b37ba36574eb1f9fe2c8839ac665ff0763a66bc59c94fc75525577eca0112690196385af4b8d046bdd94b760eba6d11c312efaa86dd49a7330eb884b45a1e2a65c7d6894c6a128efb5da73c22394ef36cbc4c5373d719fe55540e73bd34deb73b0b9b18f0bd16d51a2f9cee9e1f69f36df3e6ad32730b8965c6a497ad58e062d8a4afd1429fdcacc89e16fa0d0d7ea132110963d188784158a2cfec543f8e380ab61d3e9d4ce06b9cfc1e5c74b0ad26c70afe76ae04a53fb06ea999bfbaa9c2f6feb75fe3e4c7004f60f6c22d924b3d2744adbf7a7a8fdea278a12977f87101f858239dd0bed2f09b61dc89045ae1a017ab83fc2897c65badd4ee5ff0ff3abd50094f5d1be753c26b7b4fb213a4587e2a4d66595c4226a5c9c52da923d2352aea21580a8890cffd4fdc2be0162069a35d4801ea6be8da4be1243f10c3f9a6ffa3da10fa127f331b42e89577cc20ccd7ac657b0456a1517f24b5aa028ae56420ad22033085a7c992399ff402afb57f54189d512e4a5b946763cef6fc0d1229dc91809b5c5d7f237936b3d0cc658fdb79842702b9d6a42f528a948b32eed3de6b39f8b277cb471671bed0922f6c66f9e406ed74ed0a4afee7d12a439316012ad97f95dcc1db7dea2baf97457ce14a9954145c1b17e33949a73d3b61d381b2476ed7dc684e5af5926fb4d4fd95b03aa58e344d2084633789182cbc9c1a67ebdb8f713bd7437f683e56f9bf7c10f114520aaa7667d3a7ed82731612f226eb0bb99ddb7ca4bf7e1a0f79ed37cd10dca9b4ac983f1bb074303043d98585a5a76ac8f97cd0d3b81a43c345c2c2bf72d6e1f01f95559decaa5b389b6921d13156ca4d0c3ede777475128450bc13a9a5249f102cb630b1f2bf6035747602a5c4e5bfb058aeb7ac1676b55e4a4f3bd06a9dc0a9871eb3c660f3f8d1a86493b5889ea857a70e4a9f2d482b9c6a670872d523a79d34f85c4510378840545d61cc420b3ebe131af68b9e16918af2a4496faceeaa22d3be31732706050ecf2b79d45ae505b78323a16f70399a3b7a4820a82a82026968c16c6fa6c6807498ec7b6ca2cd0703a63537e01508c03ae20706118689ebf90ae6d85d11c1e866521eb2f226eb0bb99ddb7ca4bf7e1a0f79ed37cd10dca9b4ac983f1bb074303043d984ba263b4b8335e29067b2b3f92f0b3ea325098ebc177464d0e5f7ba97a7794e1d59af419013daecd3af953240da3309aec6ad937d8cb5564a490ca1f9cb5becdb4ee55f964c95e3cb17df07b2ae0b426416f7cb65fb6b83f172f9badbf9a48d2934ef50c11d16f12d3a25c5615fca65dcbf5382e2db9b22b8c5d58a4304bce155288bacd960829b4acfeebc9b12f81ac2afcfb5c8a9341b7ca70c7ffd25ac89bdcad7693a5107df73342ba903dbe8ea02079801dc82dbe2bddc78afe6221c339f8c10ea8f67edbcc18651b666b6755d5ebf4845347421c870c1803eecf0dcb9c05bb5331260cdabb6f45740a1aa99773c1d3bf756cb9135a206eae886ebabe3562e42d7edcd2b6bef1871a21f5fb1c30b46515675a42fe81983123f1317396aa9ddde542ef9e7bb65226ce5ec797c273eb94bf9443c5373c4104758352e258f69fdf0ac8af4f8f2eaaf958cd63bad84d6fae80d93172c46af52b13c1e02b3aaa836604406204fee1d18f3828a9f30d453f09e220187b264100de66cf27310131053bd106bcd4aa551ed8f2eebff4926e0afbfabcbda9f504100a05e3b537c5ebab978c5694ef57738576cf0b00b92c31b1c04e5a5d32a53a00edb75a7bbd30a821800164f5406c4edea82905b502fe152adc2436639b595d28255ae3ecf4df60969fe2600070648c90306dad444fb7210fd22e290e08be02cf2982656eca2efc93d279b6a0aaffc97aae3f5e24c0100941b71415947d1a7532355189b10bd1d4949f127d2a6cacbf6f3e5bcc2d69d2e2f0a506c9d979881c2a6a5b1db776687dd3adfa3cfd4e4f9d05d31e361d59a82b0bfd6b7342118e4622e02e9a5bfddcb5fc2b30aa04856bd31e3b363907b0a4bbff0b1834931d26db1f079096b67f1c34d75a63b9e2382aeff671e42a65b40fa7ba258c55ea150832a90b0b6a32e9ebe6c70720954c765b3f4f25ea604148d48730a5213ab84bb377d55812873eb76112572d6d828b1bbf0fa9e4723066895ee2fd323480eb4083812833b9e9c98be350f9b8e2b606ae03a9fceda6a4bfc3f1642ec79ade31540563c39b7c5caaaa9c89bbe006179262a1cd36c6d1a263b78b5324f24cde840f7d04b61b9d32c5a68079d9b48bf959988f76de7338441fd6a3c8b9f6a5dc599ff350ff2273ec818faaf1267619fa8fb01f626914293b101acf9d5b2008dd1f2ac486b755a2ec61a9d79a29a5a4596a48a78e2bb4af56503f268460f4f960b78841cba4e1a1ee82f39612901a100828d0e617fefc5cbbb9050a23541246d5aafdf9f48392bc4ad8b421b71c1781e3b4715263db145b420c701a1b563a5a61f394b753f64a756d6d568298899d5c5237d8fceae1d12568ad96abd4f26829de7726b84a29dee9aa4b4c50389a7f3c2598955343ad3162403d4f62b7b937f10cbdb3b5e5e7cd2390f158428e335478803a19b239fa525e58361e1e9f07b3aab3e85ace20c233be3e34571555a7565c82d39dd8aade86cec008ef8d8468e02f07d8ca709f8ba8850b5eeca427c77f298257ae2c13134c62408dc5ff625af503dc501e59236a6adaf5fc1cb627af4750f7fe84258d737e3fb37ab6e7cd676930c75e029e5848f2cc462787da5339f5365704007071724ef055fc2e3de98d1ba2d26d2d2d0254b321bf169f59e4d5fc4313da88cc759046dfda9c03fd7700c989c1e541aa4445c05f901768b46b0cd3251e3303eb9ef0af68e3ab3fc3d827aa9ca13a0608e6ef424a00140eba4a65b26f2e5e8e04d30870e97f7ccf0c8c3592beaba1d46bec76cb5a708355e1e1495aa373f1fe0e70a7a963d11c53bc2fc91f2568a179c919203d7ef13a7d65aa539f9e46960b98e2aa678c645e1b5d5a6e14b16a98e032da785a0807e137f73c2579e5fd4712587e576d4e96c6f215c47b544cae5645e9405b3fd14e21e6d23aa763f07b49b50df48fd47440dd64868874774edba92914ea5fb4fae002564b3735635bf1604f6ef58574e67c5de5a31a880921ac47301465fec1d3ab7f47ece20c4a64b78af903602bf6edab89cd1138e4c7263be880482728908055c77e8a06752ebd3a1cc8de39130ce591534eef75d2597015163567caeaf60528f65aa8323a9a18e26106da61386774a5747b6bc95ecab99a9eef18099a6f2c0a887ae6b63825a031563a85b8c0d7135037b2faa51208b7c4201c6d7f1ba8efa9b9a865930179581e3ef91cde36337319e20c94fb7e8684aed82170792209b594612c2f2d1c50e0995c2bb8d1b7a8315d1f88d4513236d4c9978f21ec633c977cf726272f0f075f224dc997f0b566118b7b0d81aa58158da6ed2bf632fe5df0e5c79058807da18133253def95f80ae82b56d90907fc1cee94342a81af3480f5f35bcb89e4b121a9f0df269be544580421ed7a0ecfc66a3ae2ad91698b4b05e65445fe34212fada2abd11fda6e2ebcab84679449d48fd508d3e87426c822daa62f8c26b2a1496704ebe05e5206cee0aecef985ad3720cce898608897030ebd79b474ec5607b0b3e8b95c1f8d4974ff62db8d80223310a86fa2c8811f4fb6df65d8e7fbc75ad690a7afa967a2bcdd1fd9ebbc25330d0f13f7323d52f86ced98b1e649bccd5fdb9314ec9ef81282359a70e97097f55b950727aa2234ff62c7aff16564450947431def986dc25a7228c54f0be86bb6e787bf0b0b85f361baa8fcba38320b779de6c36d09ed1efdcdb05f02a4e484f80d143ae4a89fa2f6a65804b00a95e78c85be84558b18a8c52694e945616089504b0a0c25f432cf9845076eb2ddc5d0682cd955345a04f40c630a2e9a7f80e6fb28de99c7ff44842210d6f854b8199563673b6077f9a4a108b1a70433f93d7c9b9888062142103ff5a6acc8858970b713431ab6a241eb3acc2dd1d2a02d13fd9dd7b5f3934590f16ec4201fbf30f59b02bb08c7235241c2614e884f0a57998b7e70af6f6e614a2d1250d2bc5bc575850fe05bb5ee62a52ce19edc69099e180cb10bba9d1806f3fe4f4ad54b6140aba2c1427951643ea94e818b82192337433110c8b4e0dc22891cf7ce5b3536cb50100f3c21ae5fb0f5d45a3c6a33bcb873a297cb352e412115bb896d2031de5fdd94bfef54472fa40520ff4d9649721893e57830606e719e2d3c0e21aa28cd77f250eac46670c0cd7f1a3c72aeb914928bbaea4e29da1e52ad35683da87927006590b407214f042be71d4a26fd01c310fc1318813ae990673a3cbc7035d19fdfa7957812952ff0c432cc2512a449ba1019c38b151b8e170416cc6026e643bd87f08fcf69f36a21e16284cfd563078fdd685febf6abd3518a0cde00c94bc8e87505d385225b7baa7b28271490a7ff3a1524e7b30e6c73ad4377f1db635b705f874b7259260ae9abe16764ddcee554a252502da3dc3eef2ea29257f4970b93c6012c5e99506d82fccfd8b754668b6f964bcc7ee1f06b7e4be79518186c6c7c51c05aedde41e1d2a2bbad5f3a2854d908d1603642a15a6da9cc6ec13b0330432768f376473b97f2707c24d5a6d2b826629dfe781205dd05f79ab8e3ea55413658558959e549f95734e289bee03ac7b0056394d0d21239ca0447e1281be27fdf2e6b41cbeb711d61d58d51a8435741e423c8a28dc7893de30ae52e0a455c9b677a9f51f9a8838270df101dfb8e526e616b8f30e3b4e5998cbc3a55430f9dcfd51e2bbc93fbeaa198e468146d09dee6f50a6f30ade6bdef7107354402400b25a31f114264791e2bc80fd131353a61302946ae585528296f3fb8599771aa01c16e17fdb49ad701b51da3c002b056f77a32f9abdd5c95a7dfd5afff85f8ad95036bcae12784bdf70bcaec4b23b2872d67ad7bd1b6d0089198a11693de2b81dfa32c51202e010702d16e84023c1050d0d5f71f389b546d913b6acd60ab47499fa5973254e1e81d785eb021a728817a49f43efd21c294a622ba4e825f1723ec1acd50218397a4c4b9cecb22238896c72109c40ba266c16f5e75af26040bb2e8be9e145f2dd8c99e73ef7f8cfeb6ea15bba6ea1d539caec0771aa70abff17ac5d590e9708fc076b783cfb8203af64d0e57be107555522a4c8b267968f232dcc5cb3a4d4a9601b86d875f9713c2b4d36506d5eb20874221c212ebaf7d8dfb4be389391d84e4eff71751c48324eb7b46d62043f4e1640d4d029a0cd580053c8a0f144d85f4cf1e4e3191dc8d3f1706b83b805b4fdf36c09719d4b4c0166ae159a4354e9624165cae3bdb45d9f6e31e385045d2fcdfa1519fd26d1538b1c18a7add7453cae1ca2a2d4778b28d73332826b4ded8e09b1dc7dd0788ed6b29c3a3e5c31c35d4e3cba150bbb68b10b5fa93535b2ecb2f59ff16daf6ba603cae9c15376cb4f951b79920083a0c7f3dddf8c2cff19a54f61c44e6b79dd24c6e56d4ecbe93a4ecc8fc886be84c97ab987e0ae60e0cec8f8dee9d0e2d297e9be4206ea8e3609155323e70b48941c58f424a0d0f1e08d5a255c9cb52d72850a3762b8d0a1a3ef1ad9554967ffa5c7798d0d3242f0896615d2a3e33c1dc7028abad81dcf5adb58b1976556c73bcfa988a4bbd89ea6795b7bf541adc2d31398e2d8a58e076cc808d14f74138cb44437f5ddb780046bb7e8837a68984bd37903a13253862b3086985249cbbc638ee22e342d022d43b260d11cd198ec919d89285df0a0e1dd2a502680d2162949ed996457fead73b62a0e8392ebf70510c5b50d4856f002fa280199e8dbac878e6f094a9d390906b6a349f9cf92ec69e33e28b5c870eda951ed2d81d649338e12535e900ee70df7a8c44d9e6a20b3c7bc4a858b1a91fc88251e036f4b867fba6d3759c0e04f339bbf89fd022f453ab4fb5e977aafbd228003622b16c3ae253fc0e7dd5dd9fd921ae8de06b43430eba7b993ee5f43cbff30ce7a8dadf08e067f477f32840137215975dc4f286423662c7f5adfa504b98a41a01f2d81419e4bc8b6d882167d65dc03cfb7ee1c72640e53ded025d5cb2d4f460d3f5510b295e0ab5449fa32ff4e289bcd59a324a25a1d30aa6dddabbe76e5234c9b073c0a5bf2e8d6072715a8eb82df80ad130d5bfcc85ef257b09c3e8f3e31de10862f691293de6007fe40ac3533645894fe4d2dfa189525975a9e9960ebec00ebf402f51c9082f1a82518042cf0e02e0a9219547dc49182a1f97e3b6c514f5343ebf7c466646d9e97713d6da9f98931f4f4302e492809a7b3ee3bc8df237e57ff8afb7c59c285738f3d02955cae651848040b41bac57bf73af2461384beea8efd7f6218916ccb302c5dfdff7adbb3ca747604e365f268ec5acddf877d2e599193f03f6d8ebb550f7d0330d2e7a69d846a36a3aa79db0e3d4910a38d1d1d4627bd69f7498b446b52069ca73110ab6440218168c95a553def8803b9a457b3800d64003c9201d0bbe3c5143e5c0e42a12821164041eb09359e15ab3da0acfff8199e2f9819b60c5243f2de0b6c28c69598e41b7bda719d46e1582722265d2d97268bc5a78fdcbcbcf968478da9d910b324e38dc6f138238a53112fdc182d72e51815d257f77ebef5c258d9fe9c116e42effa3b69bf57673086b3ff004e2a40dd4b2b97ec39c3a33de237d01b33796d5742aeb48bc3840935524c9312c554c0486eccd228dab12a080e23dc4e79e22f1e9389cf589c7a9b1cee9da487c75b9c6be3a5ffa31c8be65a0fd1737a36bb8472ff7c4878a6702472e33bb2f689777226bae4193a53bda5c4b53c215ce9790586da6538c4ba06b69767c902f0d0f3ee44030495007d4b94434ab373502816ebfd030b2cb49d0064ae59673916b9f3c8e0bac6508fd009e0b68b0663f1186eef5a74e074bfe945c1230d1cdaebae8c3ff8cdcaa55a42232f8f30da4ac9a8d547c2aead2faf4470e08c7c7538efaa5c461e074f5aa7e04a83f1c38a4937d67bced60d154cc24cf544ab935a776011aa61f71f80b16237075568379151eed5009a7f98935025658b56f6a04bbcb3197a102b133b72493d1e027fa68fd262761b6c15d7291cf1cbeb78dc03e4d778f8f63a0c86bfd00f275afb661c82699dce4a8ebd8f48bea28b198b194341dbdf7d1252d768a54eef2317f80a8e07eb9b4700f020be18b4e942e3f380d96c17b2dafa97a50b73ccb2a3c8a1de7660624b2af7af753d6d99d33a21de8b535810cbdadc5323a7543e034b6295fed8ad0e35f6db71ad03aef7179a6c97389f76b7d71709aad7df9aa9115b561f5eb3f35700a441f1fed70fad68c5674a96c7d4fd1d5e4f3b2367f8e61be53c2783dfc65847747a42630565e6361bd95eb3e3142b11770c81c77e606cf55e809d0e4bf1c8b25497ae76ec50c7a91d66985e71dbf4f5c546bff4390a0f40448e407f14d268aa82ccbf63175d7090321303398de94a6924b30ec6d425ba2f77c97ce427c519cb2a95a6a8ee0a67b29bfdad7fb0402eff304530fac865d525845763725ac6f6da10e96e513bec0a7b39266e045d8415517b82ee610c420e20c1095bcdf1cf0cf50409757ff6eecbfa5e6c149218b168116634569098d4908117c3494c60608cff4cc64aef22ccbc0c11d836547a5c8e9c757f8e6e28616734fc97afce3ce9221991a8dc1fc31f13b74eddefacd275e10d432a22b6da24dd03b30fe6be3d6185f4cc01485f889416c859515004097d016f4bbbfe0d97112fbc2cbc37466e7f5b1b86fec80cf1a7b50e9985276c3de7786f32eceec906d0270cefb48b571faad8d5f0eec77a1551843d3f5bbd04003c4b51444d6411cec10913850604e61cb6c3301e9599e58234c8a72335908b6f6b4eb48649b81c35da206c45d1088385f181c2e24e633b58c1008ae823bd8fb5df1ce1fe20351e4f086cd50d8be82bfd5bdc6a1391961fed1237e1bf210a3a93f9144ff76c6cf306f1ef152dc803dceb25fdecf5ceb63238c7b6a04f5fa4fd31cf7e83829102675b4ddd4070c2df12e96d3e227136659e5ea3eb25d7a42a6885c295040ff3d35c0686b98f0ed5b7dfc004459f0d72e4af14ddac05574f9c172c7bc676d4f3f3b0fcbbaa192a1fe05ece5f0e96abe8f4c7030f2c3d7a76efad11e271731b157648c55e11f9f32634e0635c836238d5619a3226f07cd141ceac6567b425dbdfabdd96f601d6ba47d393d1bffc8268aa36e42db281e3260496cb5df30d3653b438cddadeb5be6291a9a48b2abb5bbd1cd071dffb1c5c7efe5d5d67fe325363d8ee3614fdfa6db29c02bfc4ef7e6400e701237a207a379246e7007eeed1c4a3807be3cecb4858f2314cf449a1217b65475ac12e3f99bbcaa3718892d5928992df4edfadc1c65b5a03386c5938b0a146c7cd09d1928a635dc05e23b07143db0a8f8247c08dd70430be8cb89aaa8bac03ec64be264f9a176c6a5f03469c65d09e4b351b723e8f95209f4ed03f0f5e2fdfc476780aeae8ec8fd82a2cc3379e526e3b2a1b05a1c4c6f505a3e8d3e0b5f81e2c489e5bee2943528c6a187086123624d40eafb1f17486b9b1099ff6482c9c561916aabfa616243a86348f70be54ddd58254dd878fcc06dd9c5b7d003d1954e9e3efd4febc233051bed63c042418434efa07640992a711343c3218aa7690f73eb92329687d05e9c44cf7e1b982c7fd8ed827c31d1b421ae195ce5eb97881a7c4888e384b974b4f3ccccbf404a9cc0a0e1e11ee5ba1c0bbbe1c0bfd2d8db1df0e53846cd55d86a43514f6163db1b739d0b1dd72d53cb57e277b95edf0272d846703ef58ce7f44db0b1e78d89a7c02ed69b5371c0b21fd11ab2cbdd41a25658bfcf1f82da14e6373b9b44b57805a1d789ad0a53cc4547448c907d82bf8fae4e4706939f3e52f6bb5ec905bf1798aa5ce7f2b4605781f37790a74bdee5d7b7b3e40315f99b173db1169fb955717b630b82d3cf93c6d6bc292271c5cd4b15711dbda2b1aa1e6ba05d6ad293dbbf56e696ee0e534e85759624401ede5897f42c6745fa7e6993440d43d63341515b12f9a0c62a96dfeeefe7baadce753283abd781362558d1acc47dc37768216ed6f59230f99c0b9aac1c8d50e0af7eb2972926585fef58e0ec6db2ff2f11072d1a53029471aec51fbf17c99d9ae7f724a2a40bf5306c9a7458e07cb4a72cbb491a7a61a2d5f8bf8816764f184aca2db2feaabbbbc26d344f3e181dd57d252eacd5b201a170d8530ebcc42966b54b17bcf61eb0815cbb55159e488296ada89bc4e0097c71d217a3a810ada4a05c6680cc467c24a9e395aa5a3c549e1039a2aaab84bffe11db810b0f083830c76783db3c0c542c36afb95c3ee14031f77f049148eef7c0a537b5a0a07cd26c634dfec0a4f6f77d67f1a014696bd0ce5530398691ffc60533bf1d77369ed9f3e3758445fb24befe8f04f8a486e66482d1a98284b1864495ce5d3fde4f121f2ba6f33b492da5f44be3cbbf3fbf74c26ebc059dc5be48e3f81063f7babe17e9b2fca63479e331d7031a6ac8620b30c54e23f5bbd7c0de195707b8a18b451e813c75c0f8f8ee436b7b810f3558ab11d2ac1b43a9bcf2febb5ef93225d6183252a5d3852bb1a8d29cf68e93a9b87f99bb137d0f30055c6da27b75267114b8c8953b6975a88588c20556f289416a5d431d572846554fd84641757e6a9b04a5611b922dd0b26da9d91e3663787bae7a9ba4810079120eef143b0b0c370a2492050622987676942eef0fe70d719da788ce047ee95c0f8180b009762ea412d777f99f3d5bfea46cce604c0ae652f8bd380886ac74491653fb9de138789c4dd655b476ec3a19b372fe3de3643f5b482478a7b08fc93ce008658d818a1222017f30b14c563d8551655726d3f7b71014406b6c87d62d90b730707ee5c27d3c6eff4fec9ca585503f846e17c097342b9d99d284c8ef022463e6a2eb3d23705d331576cc9e15426e474944bb718194fcddf3479dea1db8f0525f3a917dde5e1252f26a56ca62bfa777570344e6950a58f84e1735bb46075b2442ba92afb3251adc24d8cb4d81096e4fc72a02bd4f1ea0a6d36acadaddda94005685dbd12e639524bb671a08498cc57bf2a97d9d6897c5f7fcc9e11649d40dd5574e4d645ad5981c704019e540fe47ce21aa4c74ce77eb194bb4bec9512787a26d8108f3d2ac8051daf08ab98ba3ae67519941ae75b825d854db17a5af53862b3dcfb9902921313be31b3c280fe6f9dc21934fe5c4d1c9e827695cb00e05dd863ab828e7bedd040dfb0f3d2898e9c3918c6a8da90d8aefda0f9f5443f48a16076235c7cc48b2e1ec7c1f83d2a9d640c5c67b4aeb55db1a8406d30187e6bdc2e241162a29a5036370c0f31fa96c2ee723513cd75c240dd2f2f312526fdb71824d0b52aa82879fec2699b7d38cdd41d74c3c3e451e4bc669347ed1b1c94e448c268edc8dae0ce69a0a281a3000e4953ec3ab08b2e9a5f3a2cc96d8a12af5658f71379b28bf31927c943c9676f1ab1b6aa46033d8cc64251b166fd4440b97bb6c107b4f784d0bcd422f47ceb4ed5ea30ae4098aa99d9004f1aa3707e09781c5037d3acc8864e91bc709bf5ec35769a2ec746f6a64cd75755e39275dfa12daad2647d53fcf87f2d342e58c3e7c3d378c1677f59ac1b199fb9247211de36b2daeeae5b48220951a91a024e6f0d391e046fbdb36c508372285bbb6a244364be914631e5046875ad9163557f05d8731837999e7a9ba3b2c8840ec688273926cadb8d52a74a902b37c6f6abab109910b8f74079279b3593263284c296d7ac7ea3d26f22ee9afd349711a562bef49e1a427ffc958c8a58d88cdcb9f0ec6c1530a2b97c42fe3f86f558a2d9d42973e075708eb58728074cf0c9bf1fae72dc99625eb11cc5a021719435c5c05016e81cfcea07aa54e31ecd3339eecb0ea6f50c20e54282129c0d1c802cc506572b17fbe0805fa0cdbf15ab20ce528a20f29f313ae715e892e48cf8c36be6d1d12b62611e7fc0d28cac9491b14c7efa4250a56c3f55ce15b3d65b9e9382baf6bcbb346e328c74805b9a24f1ec2d17bb8e7952219bb71cb9990593a9dad7f1c172a3cf202bba2eed9a75efb1ee3eb1210ff73ae47ddac05caf1bc63ddcfdc6bc8764170cd806fdb27265e43dc7183e299e712b82b39e1ca2b7f1ab9bab12c21768d885574fe5d1f06cc5918bc5438d8f894c6cc126a196d22d9a2feea20e5a7e6be0a5d7645be8e29766187c60092199e4c3788f0169ecff05e9e97ba9c8b7d320ebd64aaa41ed596ab7a805a16622b7bf7014a714b1f96bae33bba344dd9cbcb60091153ee63b1bd3c382ab65505911ce1d2f9a02dfa0272d4c1c72dbaa853c0e6eee814a9aaae484a637a7e47b02fb71fe7f106e99a989434a7e4809f947205f53a4361f47c4d1ee04b4447766f56e74c14d797be91f65f0fd465fdeb1ea5e3444d6f3cdd2671dbab87a9075bad8f58c628633bf2e0f0b331e9e5dc418092aa252c05f40cd3389ec5b111fea5ef2300455876f381a2a748c72fbeb141dee6589a4a7b297b4eb2a0ccb45905d4301debec369128effc42aa9a13f9e35635bcd5eb71783d339c71f3ab2c11321cbb9ce381e1e41f499713d92d6b5b38b88753c10ade4900a3e136cae2ae1aae2e930eb73cbcd38b08f16025a81086dbf24fb920fb752435dcb9d852595d407b1d09dd9e60269146c0f49a3da5e260763f4c59ff3257bc1ca01d0b11784ded6d2cb0749211ac9fb9f20f798483bc1e9e2835b79ef110e55ed7114e20337e59a1b6f4125ff3cdbfa1bcc86cc841544fee5a16c2f66a4da86b1065eaadab9700addb858369d09ea055127bdf5afe293f720c22c82577a7145e366bbf1f5f7b08abb2632bcb92d69094f58e3f11c111b821375b854fe8a8e68fec36c8dd0f3f0ac6980649a9dd7c00cd8c23638a934b20f902ac94dbd75c752455549f55b6a7baf30d51daea4a1de9eb7eadefe07cfe53c238785aa9bdd54e5387903c2faa7e42006027c137e9d193f023880f4359c3ed9954d678b51a87b1d66b783318a9d69a8122378122a26966b2d991b432473f5c7f6740a3db97ae51313da0ad9eba56048d56c06c733d91999b5831073bd255cf4061660290145df111dd69134204aa24ff1bb2b89b273bb264cacd60bb005cfa558bee084558469b9107eaf40d7e1362571ed1bc947c29a6e30115cdd0a30fb4014c7674ead0d4bd39b9989bed46acb4f838bbd4e8c0a185a2ea2dff22438c8f9ae3afffca16cb0d2f3f5dd5e4e159ae88bc5b3dc6f26719d0ac456d1ce93ab9bd7e1ce7bf227d68f98e16862326167b425cd03e8212ff521077ab1156c475ccdf29bc928deb830f1ec08c28a310e660129669ddc140af803b1e02f1945cd215f54fc1d826f81d0471f9723230ae8c7d0f598d32e87c4c8261ba28c2498492779e341c4d8d41f589e6fc3d22ae60fcc29ca73268575ec5ee71c5cf57114c45374b007d57d32aef621236d1a68ba3d933d9f061c83468376fceb65c498edad09f4eee02e3058de38b4281b9cf998611142f831a31b04399a610497db39c7fa3743119cdaa34ce372515ec34b197c0bb9f3ccd593564dd193be8cd5ee103ca3396080ebcd4b2b5c9ae4766fce7acfb01cff180ef803d1520da006a13704b0c1298decadf872a5ce9ed5f60a430287a99462f6c383286e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c5759bb2e5dbdee3965ff3ccad3b8ab6980a279d91f379d5b0966aed5e9040530ce50ae7c6a895e812f1ce246ccb88d3eef034ff87cc0908618de2b555ad3aee8ccc888e1da7c811ae364f42e16ec2822f490d13a27f9e501a238450f68c2b5921b1f60f304315853a20756b2f5d0a29fd8427f859a22635cd2e109de4b47f8a070020a9c5a0b9e6f7e24f5728073e8e62155be49133a9f3f37e8fc19230a9b1ac9e13a0a3c2cc9c554a7c730850b53d3259bb5fd8a9ddec17c1a5dd7551ac11e426c8585c95e14cf7d8c64d1e3c25fcce837e25f3e09275a3ccb766f3248fd197cfeeeb51de17f4b5928c5442b56e5581314ddef3cedf2523be2049d79394af1e6f3f6412b55b3651a8fe414e61cc757a55b8547ba4506b6f5c406e5fb924ae3cb5627550a485640e94b02b7bd926963b31e281fc659349ba5e4eca9124c33f78df01ba026fc532dd8a45be4b7d0f7887da824dffdc9a08b4bdd243ae847f919dbe5567b3b4d83741d107ced327b49e303d921e97b6f6ef31c20b98e7c6d6a7cd9c08317f46dfa9b6447d717d9e6a1184aa51994c676b6ddffdc2a2156a8de611c67195f84dd8cefb4235c16d38f6eeb6cd456488c93487e860038bd418bec2a16639e3caadda774be641e84dbbe951f0e4277db112be8d58f21147a0034e43cdfe36d342df5e1388855485e65dfda7549c56a42047696882c314715be2a01566cabdd593a36d836bb601fdf2459e7331b1f8d5c4926cd8f0d67663d319bb455d2cf2d77532e2e781bbcbc4e63412419154701dca9ac886c3fd13793f505078e8eb0d1e019c40ec81b890597c6adef7546b597d2bd1e1522f881f8754b123a781fecf5964a443170343450073a59019844d3e37177de68c26345b939aa498b813db09187117b91dbf3c2108cc160d6dc1e56c0bacf3ab7958dd02933f7a36d5e2034e2bf8c4250e0a290d1f5c8b7f8fdba9ba942568674f533d557b22a5405a165db18ecc6e4f42eda210fd40a7623f27547d04aec33749ba5095dfb9e7a64b7dbd1ad2b52f2f3be76129d93daaca72cde8c9b31120d5ba484ba8a58003b12eb305d9b09023cc8aadd0281ec29d88e58787fd8521edd72e636e5474454ba891b3f3577b3265aaa44907a678975c04e2f4b10aff072abbc6d48c516a6f1ce6aeee2f2a268824702b4426dc1cef605297f50d81451fe02e5d60b0be43a1f18401e4d326923797863424c771e624a0843b351d3ab30cfcf864c5fd4ce290b4bbc49e5b2b8a7cdeaf82c7a2f488b4121c5aa44a8f930230d1706e3ddd6bddc91e08322b73fc6d48f588436dc53be49f8c830ed091219638733d3679d8cf9049a1bbe823210d605f39bbb5b83a380621665cb9725a87e939b321981670701dced4ef02c333e9247f339e18fdcf29b1ca1c7865a84663a50d8280d1d0ec7fb95f95d8188fb9eefad2146c84d62594b5510163db7796f0b2d319609ee48fe3ac204043d87daea66395c8317682a519b4792341f83d01efa14ea4c04b03b071dc0844879139ba47f09862844544472bfbfa6268208d92a9b1ddc4fa89ebf17e6bfa907fa817fd262a2f80c3ef5d1a0438b5c621158b2127946e473f9a1b0dbafae2b4b3c75fcb78ca055b8e9c68fd70e43ad336eca4bd67ff49209f82ce733b57ea3e502eab7282f31041550b845b97394ef1c82e0575f1d7391b803af6bb1466256f3a775d8c343da1dfbcf2a4adddf88439a202ff34e90c868f8d3a1f0e379a22a7883e415e6c586de8eefc12f630ca06b739307a44433d15ae93167a992a4c520b5badaf40b69dacf38552b8ab3421ef2b368dde7e1cf60e296837e34a172086027c3e82b3a685b5283ca2f7b6344b80a95ed73b2b8ce9ddcee5004c3a1e2438619e628eb8b943a883dee2cf21d4663a17813ccf050820044d6a58b3472b97b445b3958a097413cc78164375e0d800bd427ed8919c8303030c2b98bcbab4b4c03155f511d9cf7a9710c715b708d7a118589d55020eb89c34883bb47650165787bcebc7b5ff39f44bd0b30dd7cd11a83a9726591f554b49f3e1f2f10e9ae9f97355d53ebd91acea438203174bcb12c5aaccb95dcc84726aeac83f131ac97f4bbe7ca860d38a24c6c754ab3735e60f30277b44da3afcfbd29a9051b0f8158209f1301f98b76435e89567a8e58683e77f1e3dd481b913679048d385ca6684f4b3f351879e50be144a6383e1a644f9eba2c00a63ede22aefec255771344ffbcb7c1d085741855c64eb5105853b2b41d00f52adccc98e326267b321bbf395c27abd6813314dbdac93b97e8ecf65ed0870686bf2c910ce1074d4db9b85ba5823a88b60a0fa743d6594ef893cb349fbdf18d6493ec2223390f1d478b0c8cccd25009e0a95561950d1852dd4427cf2c4b87b91f9745f8b8618efce9fdef282fd45f8a43bfa0eb5b286dd3b9095a317b715870d940dca054205dc6f0d805d61316674c0ce501cb1d35c6787d3484f065604035d70832b1cade39a70be6b996d768fb0d4085379f2518d006cb495bb34305a556fd68bafe97e7b9785958cc52cd331fc4d649ce9e68b30f9ebfd1af3cff1d1ea16dfec8fa7e3227a509fe20b2d92c75b151c77cfbcbdfc3012f6a95d67e210ae71295510205f97b8e1c2363fc5948f2be1ce35084b4303cc3ab50abfafbae80ee2e5a9237323c8df043af61fed2e25d74d7c8dc997c88f50fcda185aec8ad208f24f604701636adeaeb8abd2b05d767271e75998fad187c7c525d52398aa6f5e7d1a6400342123ed56b490c62b99db552a9f59bff2b4623117f15fe819f6b2d4df4131c8c0a288c585832d4f41d0724dffc5710d1b9c66f80f9820a22f73f86e0b4d6efec381a59a895774e6c5a25a4e00021d279f3b68f2a956faf0ef03b36bd01500177de87ffbe936569047aeb594ed0a6eaa9265a43c455cf161e79eb4f2c1fa0a1e190a55aa9b0bdbe5b7bf1004790158c6b1b0f2fb9a9af7f1d36fd8fbfde3c07dff2cf8822b9184fddd89c78072c7d3971ba2b54c464cadef73ee7ebc7eda9483f9d10675fcbe5e1b071b11ac3b525e607557622e2b2305b19504f4c75ab47ce0ce0adc43b3b54651a4b990360cae66f165bf8c729932a4ae6deead4dfd34f0e75645ac59724341627cab2f558500aade57b5b239e076ff0e3b636a48247b6d3f2ff1724c8b550d6c349857f48d200a9b2f0346d04576d62d751d03c9074cb483cb83060ab09354890eac3e891df9488eb9a2a2cccbc6061dbb1ca59209eb989927ed171fa0314061266ce608577eb10b22794150d0dd925edf2d830aa2536622beb161805f331668b3a02a90dfef4418f9367e3b88ba11de568054ecd5f88450f46a6ea3892c9a0f0abb6a32fc811700863be9b72ff8551815ce643a243660a91703ac05b4dfbac59045b9a76923d2cc6d99c943d024413941de30d95b3e6a78d442e329de5ccb67fdbebfd64a69d10dac195d7e901557dc7a5f0888eaf342770c24a0df0bf44e252de7ce6a58602fa7b8f97a4fc0a024b49a55abb4df0c90e452cf13ec5feb0488c9a5c386667581c6f51c1705b7e73a6f5cb3b0d83e6465f55547e66899018c23676a35df4e82eca0b4b169100ebad966d422a73ac217b62d8086a41b9cc698289a21cfb7aeeba391e50a75fe407753db7d24ffeff0f7927f3cfa83a9698a50cca3ac07ae3401bb9b079aeeae20df0725a86c36abc8c879ecf09e4668b6421f4b79450c8f02c3047e0b174b6bcdebc044c15d4bcf2d585eb27c9c31f9872a94974d58b6daf618ed3f75c6b5f21a41b08241e439804d3c63c8a6bfb95efe341b6b3e465ef732bdeb1e1244f6ef7ad2013757671cef986bc8676893faf4608996151adc208db4e6cce79bbd0967de7fa6a7a7bd14edecdb3c3397b22ebc97253e08a7ae952ad48ae564f6cd0fc93c2fb285d027021bc00b4fc9281a23ebace658bbf46ea31bcc046d24f58cca953e5f4613c24a5c5fcbcee42875e1b1bd474c796521ec15d0c101735a02fa15f55444bf66cc24681370d50bc1020f37089c2903db18c2e5941b79421b3a34771c9346fb85e216c10e943cb4c86cf8b9bb6b45a143b186e6fcc66018ad752b0a9f6061327b88fc9e492baef1d6d1d9ba7229b917fae12e7bcfc8f52a6d5aa850de64a62752440c8de119d33e5824ebb66b82a205a102b5f906d156e6ce576156e61ec8e2298461d821826b7923dc638a5ec6a90835324b1ea4fdb66763ef2cc965d12ac2bb8f252cb4a03630c2bf3c3e8fa796c3648103fdf0ba6f283dc7b634dadf90a27fd3872e861ed920bfb2984939d14b9478c7aa9b696b2a613f96497a4468a6558f97e937b1ee75f0361d501023d536520f33cd912dec6b25706c8cffc3164486fda397b7e6dd7fbba7650ef504b448c1b6d34f27755d8da8fdfc686618be614e481ef6bfdce9d33f97dde4e94682ec57af1138122c48a2df3bb21293316c01b99c1ae7efa202a04e127c15a74448e47d2b8eacd6f11eb555ecc194fdfa3ea55f856774254e939766e7a7413d7634195d2c6ad1c39961ab3b9d73ad660058cb21d83c3d9c12e40d5734dd6cb2b8369ce6200378e08ac11ea3f7986fde26478c42117f9ae1b4d24c146eb050416745eaf9bc8e6ba6bd9b3d89a46a48ca84e28f44b925509b32d350bc29156e6c3ce480067015e1f64472955ffc0a025a35e44e693852e98f1784d62b98b8ab99f9c15fe090e99c624984e4073682a074a01f52d9299eab444ec0afc441e8b4c33a17a377dc32d3f59fe933914d2f3817d38ab1cefedbd2e900977f6134a86857aeed137c65dd6014ab5dbc72e88bd6e7bf3717c60e297432de65d2fb0ed55b3867ca78052ddd6462d9d1f9288be12cfa9f2c56a83771b38acd2914094dd62f1453e0362bea80d510abf0619984b0288a7d33caeaeb1574d9b0fafd83673f3e375cf061b61564ea32063790c29df7f36f3e19948a1ec1c1fa14f7878aa7f51ce82b161c241dc9631a39c5a94c382109e899cef2b12cfd99f2c795664c7cd996bb640784e2d15479198110d2bdecff7541dd9f7febfbbb29b2aefff0401030e86f77abf52da6ace753811375c63441e137683eb395a461120d8b8870b418b8220cde4f7f0f6893dd6a891ec4d5adc755ecce3e9f427992c8f772d1b41ce5ae56fab330086798e74a430ff54b6aad74339b82f2b18198a68a5f2905a8f3524e9feaf9511b6e870fed1c4d9b1576c7fa61bc1576bd43eba26d3967b5b46da48a2c025d761dd2c425ced16423befff16ae827d0fc52d9419be83159a3e82be1a246bdae7ebd563d0137cf3b6810ff75057d3756f5d391699df53247d6bd9a7563a2e2119ce1a2b731ab61f51596d1edccdde56831aa326919dbc8a53415b01a278b79ae5f2ad9fcf2780f9a0471f618eaac0845e3d3d62a64fe73e8eb4adf70326436bae67e90d2f4045df90cc8ae89244dc871b04acdb0ebcd9af55a825a11276bc59bd358436073b65cecf88798121c13b856cb7f648979118852afc821cbfd26d0562c50457dc7cefdd50087e3449af75c6418a9739a37efea7e9d181f9db94301717ab45c2fb38f015aa9893e39fa346244869036066d6379aa345887021c8de966b5e0c9a36ed356e73be93b04d9ad51d5b4ee2357b9818ca33ddbeb96198a066257f12336f8545a4b6f856a6fd872d56a224802f6fa03c4fc41d025c59f3435b2db9389fd539e6447045ced290cdbb844e912c9cc0d6baa07bb382ea437adef443dfdf753be1dd31015b3174fd179bd29ac936c5e2493d4ad4abad9db144460b452058a8653588272e8b2fca6f0bc9d70498648ffc80d01c73e0648058be142cbeaa69cc9741e686da4099aea90198ece72212e8cb6b2cc4bd5f38e0ec00e036dbd5b1b2d6cf3cf1f94a5555d50e8bdcb8102042621af7c1b186acb9286763bf86a64365d34cc76e8ed9e40e6f8b93e26d0643501a1775caf96c697673c8bbe30c4764d8cc6d2177babd741ab02ab325c0117e44a400c6db6343c76ceb279134166f81595e7fbf92d79e36e7cee85453d6c488fd2373b5f68dc4d9b3e7ae7003a4041540642ccfec001fe0e0db12b458031c157e1e85af58423ae4b2c17cf40321009ca6f4c5df6db975e000ae6ecedcd214434a16f0d2ca40a93ff55d6c155aba46f2cf8b25d58c97469dc16817770684a0e2f0d2106aa3473fdbb9755926a878088ff414374f84d68e0b899f94c11a2508dc4a01709dd6dae50c992f239b127acc0165bb93de109e4da9cde01f84b0bcf6ec4a197a4f5c61ef7e597afcf7331b1bfecd66c4531b0ee98ab7702f2c5a99779bc2efad2b063493288ac67bf133cb7cf23288b0c841f74457f0aaa37591b9e61950cb7fdcc7cc8a9f4622e8ca79028425c654f9b33e3bfdb23e03a470d602c92a5d58dc0123970fd2597dfd18d5ea2b7b20ad7cc2b2b2aa7bb5c003e3118b3d28b4d73daba0046f19c0c6e9a60ed94c0edb6b4d415a653d8d90d625a5822742af0d4c233621c1f4781e1a578e1ede3fab8c8a80081a2ed5fc1cf06a9932e4db68d4c8622be71788c57a657349adc08faac2f6ce6e77846776a4775acbfd8de2f50820bf7e35c8e836a424cf3cde0f6ddd62f5110486d46399e19b447a236a30ff287060f3adf2f8820afcf41d6d055b53f79174bf406803724354aa4ed5cbd73b2722fae7c9f2ab18c595316c50a79990ea5ab021472dcd86a06145c46a9fbe9197f12d4bdc691b216630ab6681dc16a6c523be8d70dbd243ac666a29d5c0e6af2e72b2977eb7715d2c042aea90f2e1a9d66af88fde01c4e91fc4aa4ed5cbd73b2722fae7c9f2ab18c595316c50a79990ea5ab021472dcd86a0698757a4ef62a8bfb07ccc4e4d444fa9db279f2f9f104b291911fac0de7eccf7bfddf8918cf7c974aca0addbc10e3c7066a48ddcdce94cbf9ee65b3422cbc7a8a44ab1d8425658db84a740384f6f30716a4de8f9077b4674baa0699bab70172740b4beae5a427df7a04af2aec0f4b19e1d0f76cf02ad0f5800a02b0e92c8f3e4565d3f5dddf79c4ea63bdcde8238ef12bdb41783969b0b80acefde242e68ba3d875499dfcb860186d854ecae6ae87086dcb1bce5bcacf2c532690c4576a36ae2a6ab8db4ff7ca0522227efed9e1a7d50d64d0f80c7196d6b6f54cd7a2103575db4b557daf9fe07cfeb00de8a8d37b14bc4e6e9172c305ed966de947249e86f66b612a7be062682a0fac215c336007573978e6e8a12839d9d48b364a4465550cd9ffe3a3173334f7c7f74055c41e540a474d413040221a858c0091241bbf28e63e53449ccd5d09758072e8b4bdfd6e1f3fb4ab19c344ea88ffa8472bf8eb5bc89e3c1b415774f401e36543240a8a1a5ce1ca4facd28c642193e48f2a8e023d3c1be7e1b2c0a9031fbc9e999438d6d65847f80ddd76244dfc5a1efac71731d40f85c7eb0b68d5856593c34078d220bd92bb699060bf2540f9fc34c0d4fbae1a0cae94c2343923ac620a19ead21d3c1777070bca5ff90e0d228015def3184c5ed66e33362634ad837d9708bb0898f5609a1409d57215272813b9bdd7b6c02dc275a47e0938a4c5c83e53e533a0913ce3da53f54c873bb1f418af314c1be7e00a751b8bfa9a398e97152beaaf385847808ad2d828c1c7251f1a45bc7697723827e7e7b864c621c47c1be06cbcd26dba4833eaaf9c049628eeaab29e4621135204da61df1c78e4547494b866cd0278474a45e84327f580bb4d3edd6881f69d4c31e2f04786bfaf15f3c6de00946743dfe02a8dd7a5ecd595233a11c8146b3574276162796408a082526cd575413addb6ca97d48f141fa62e188690ca5222aa8845fbb606f8517f8828faaed54f2dd6f1c593af3beaf7b0e1340f0d1d0b39b47a2cbc3746c82944a5beeeeeb7e67577d7f68ff6371e6104827d0e670cd184c722b1daa39934523d603111be24805e70cde7f19b959e43845db7c8af2733471896dc8d88e4b4398694261203ee1a23125d0d546f0358c3a4bc1e9a2d42c6e16ab4a58376f95415cb700afe71be30c0f76713d87873dfb327b171d0781a9132da653190dd428cc805fb534b547e3e211b00899e6f2625913666e4e9d45674bdf87fbadfc5c59cbee0cac61b25060d39b42bdf666e2027cf3dcb20877bf46dc1e5e49a7c5f048498bc56230b91f24b589f8d62e3dc9d52bc909ac11296334099eef93065e11036096e54ab2d897396a4d87741957f83cd92b82772b0ca7e15de36c4f59c282760ed371a6465b365a0a251a879c14d5de21451d6fe99c6090be69845c23c8ae8c654868b999f1cafd325e0b641074ecb15edb94e4d6126282f7de830eb1be650260593ab94bd4f58b0ba8de612de161c146a5b794b66c609308bc392c6964ac8441e76ee7953ab89f815130ce540aae9f40011121a7b499bb297d28060e6699cd9d4f4111cb192b582b2026476ced516db824a90a340d4070d0adb1a0f054ae61b133f586903b1d4e1ae986368a8efe2aff9c986d9a01e1a230ba095a6b604aa48354c7ed14d025bcd4b0886acb39ef956c342ca06a87493c2e2d7b794068790168d5d196c13754ce9ee3ad6abdd258ec4cab3fd2b70993f74b60308bd79fdc039773ce76bb00077a04d1942f51df6aa5190917ce4a7ee178276ef6131d37b89994e6d99bde5f653a74b9f48a4b0a6cdc604a8e4f050890ec96d5e89aa9a32ad8037ddd47f12d60e87dd0474e1004f799058c9f9fa863cea57a3445f93db7af270085ab2f4b30a39ec1ba076fbaa35be9fe640298d0a6be234f4fe1fdf5d2d38048fa88100fb39c4a18b535f27c9dbe8d61117dacae5d84d728c17d4cbebbea788fe3d82fae09fb08f530daf3542361d7bb6f2e17ed7b56a24fe49b482388ffd0b754d69fb78b16716c9345ad4ed8b80bf6693672eea8324dfcae5100212089a2fad63f50d07687241e8cecbfcce91deea91d9ae908410c363347731f5c6e10f3d1c62a754d5e5454cc000f3344e564a20fed13bb82f8490f1757b48f234402018f90bd51256ac5e9d6908b576a3901657820bd6a261d673be1a0326234a512abb05d53ebfcddcb1a2947c8f4222c66039c28466a78b4ebf256ec84d56c13faad47046d392789ea7eabe8b96b0ee23fc15149c808b79596eca524824444d3e9163bfac20795611c3234863645558912d0187909fea7dc32c2a23bd938b52fdcbf84920f545a80c25624962763ba321ad2a38b6470de668317ebc77e8520ecf7f77031aa129a81851f5cdb184f785c280e6858cff6524931038e1857c1ec43f8cdca8aa7f5ffc29c4aae66b2335b52c117ed6f93914f3ee23361c8871835cb4a901fe18bd9f3608d123de26d8ff957c73dcfa374a95640aa88798c5ba5b7094b737a718e753526e509eb7a35e2c8e63d8dc7e2d4cdcea3dd15909c2659e57868ebf4a05fa0f35da171ba1cadf6a025d9d89f00baffb5a6061d8e63faa5ea5ae14e90ab74c5c3aca2c58b27e17bb6f34c82e5f461e2a10c30b6aed97c6d60500e7f6d721c04805a5d47c26019ecce33a30ea399c3039794594e7efdbe2052a5058e2d79472336cedac7ee248fdb89fc902a6d777c42d29a2b670f9910093725189ae7e47db2fcefa981a4ef911fb4819fabbd12a452ce2f1601a039e012339f980c580dea8ebfb56fc34aa1adf30fdeee98b1149958f53c6651b1d801be414ff21d6fe90571ebd5a296ac6b264fc5231c7ae3a8b502dac642b1e8fe838529932099bfc4c6e388e832998bdb53df57c03f0ea3601999ecc8aff2b284aeb36750fbfc4120a5369de0b259be39bf19a52460800c725430350db582d6d0370cf4a33fb629d659a52a558e35da9e455a0c4381bc5c7c47094f7517089290c56750cf11cb7850293e9e37684e2df565e2461a46eb22caff095fe4305e1f9bbcbae449bdba343ce5dc86e8f85026a11b9845e5d9f4db324c15a6507f08520cafbf49cc778c634166b49754ff7ba3361b5950621a81b3cff436e640026164aa86137dba1e87d509633b9b9a48b3aeebbdc072cf8f72f140993e958c5bce270db53a5c853ddd80b0822b3b1426868144a5f5de4d7c4b1e33aec2ed9c0526484e3c5ee38d40689f6d3f29b7c73f81dee162e2fbe8510e21a898f5e770306ac6f96c70b7968e886248e955a3a74f6e310ffe2e6568dc154bef85277ca1725f6eda3f0dfaebe7640978c9f22186f8305f7574c5713a731ce5ad9dca6dc2e762f214208208eccf17ca3099bf5cd36b7f62104c5c6a0e9b5fc96f583c4679132c0469c096cc50d20d2e1cd39366f175b4dc6a094263433475d527ba65bc97de62c6e27ab90c35c246fbad638ba13f77e223849b4d9a3af53c44ec4f8d3ddc27dab9d077cf06d52f1d27a1dcb8886243e061007baa1adff7ec072844fbc2b6413e09e8a949898fec0bd72582e36dea2a6e38d2a381681b3235c25d782a9d192a515e62e6def1b578c03a5ecb913e720f93a2a4b9b5b73abf74213c0f6b6b0888194e156210df1d1ed6f4aacc6c4c8236631febdea2d35d19d69e884e9800de4cbb7b83fae08381c5ac544bdd7ccd5304c2e4301cff89dcbd517e6e57b6791f469731185873c78f0eba6dbdcf50da125e5a9959acc5772f89d9d0ae858b793e759769db706188d293d011c87d7ed4293f6b3cba22d0da30c9d4f9746dff3d4e17e0b931f9126851dbf71d14ea244116ab8c6d61c593d37be3c9c346e13d0569a10acdfec63739e213592b753c776add22b503d9d61ec532e9a9f9a9781be74c6148d1756ad1ed7f9106cd392bf89ee6573df268ae14623379a57d969422cebff855c7c3d2171bf59d6ff8d6104dd8c858e46a3e79512094544dafd10aa229662debdcc81083b1bdf453ee83736e3fb00efe191c8a3c2f6a2942b5d20de847f89dec37d0afe0334ee460f890ed6997dca16d7389040a3c1119cf7d745e60a27b20ea0608c5dfc7019157e25e1e5ec0791400e17dde601c4b423bb991221cbbe0c69caef0d2d566c561f2dd9fb676300f9ac60ef8a9bb22e4b92bb631fda1b0fec95964d0e436606255d9eace7b96ddd48033baca107e0a3350ac1352be48c004e4a93bcc7ab95b0175a99eedd69068efde564c82f85facaf772c2caa406d4b7589602633f9324c049001942f7ad7a20ac4c9cd3690ac7e0359d3ad24e1cd4abee7b61014574c1b61633115c8ae83b6d571d45099e1758b571209e2808eed26389ffc50c1d5409cb37f0b6d21977449903e7244a1993b7e4eeb0665537d04d10a8437560f95c02592ea1715c7ecb5eb9bf3150adad03521d2d4039243f80bb03c751a985a8cd5c4274e10013cf73f84fd8a519aa0243f4387314165571b1ccb43cd114a05b3b56db4e539b91306880328b97f20a19acab9fb6efb4329374019d2fbf8dbd72a928942c57b8fcd9324bec3bc1de58e8e790a81dd5cdaef7037743ce180947c2669a683cde91c1bf650a22aaee03fa01eeab9ba2a74074ad2ce8c11ae3eeec47f629a2efbf6edb943e0976da636f27a0d43bc4eaf7a5a24b0df77e2f722ba05bbd8d79e275bd1ecd6752dac5811a36aa88de55df44dcf5d589baa370f8cccb92b8024e2f6522cbd99c41dccdcb5e5833f9fbca19d5fc60fa2e288bbd2241979ec5b3d34d1a759cc575d7451ea348cc31f21de29561d91355e3a05bec0efac994802c8a3d104d6363a54ef25ad2e0cb9641878f8d017cfbb072e7465653de2da7a3dd47fbd5255069ef6921536e8e6c4174f5d972ff7e721a177d4af667b3c6514bbef3c0c31231896c335e3eb46610914febf27fd14a6fc3c790281edb414c324930957f9fb685cf7aadea594d1b8846ce6c74966ca905689fff511ba29cfb779a910d207011b78da38c68febd006fba53ab2b33f047d12ba9d5a152633dfeccb29fd6f2847ea973c362779682b419895043e08fccbd1d0a8a30bf64ed46e0bbd92944c357cf5143d459b7f9724e42a6db4b2a422ace98c8469a8f2cabdd3b3e537302d0f263967d8784ef9e4ee1dc4b942d7f60c1f0f9994bde1615f1e3532e97c290e4a0faed17e23781d10296eeebe89a7ed35cd80e70ce309c309b95fb916fee779fa7d1be596a86bd3b036577e21f8b4738b05f6d9c4d6ce62d39e1670b59e36150269a5719a506b789a8911e133eb18013279355a0712ac03e10bfad28e7d36e67b0d851174c3c03dd06d7d68392d37d08bbb838f4e205526b97db57b78f3be000696d95a4acf34e5332c6a904fd04ec4524fb7165fc85a81633725c529558bef4b52d3e808bcee5720643472ebe4101ff5d3774dec42f0efe2699878a2b5bfede0eaeb12a76dfa80e16224f3251fbece0f43e0e159aca6cb3b09d7a32c5df5afc8146d2ea5a7fdaad45242c9ee907eb1e235b359ed5b19cb9b5d361fa532ed6a284c0a8e360ff9d1dc418ef4b5fdaf59bd21223badd2a5a0ba1175d36bb61baf71b86c9f64ff2c3333016dbc54345df88f0dd902bf099ab727983d36bd94a1981d4ad51e5afde892c2d2ca75fa37d838cf25236a80f57b896c627889debbf7a94e1d6771300a4bbc56f132586a8e2825d881896dd73de698eecfbb5d6b06113e4ab0cb50211acd183a39e69f6bd6c3d680d5e3f5535f750ac5489b5991eb76a937af2d7035de86472a979c37c98f56730cd118bafc0322716781867caaf9c95e8fe9524f99bdb64bb8a1b22250c126bc0dff18aee166888272141911173da37ab30a964a32a41a5b1b8737d9208d29c7ecb583de8fd6e5236e19dae1daae8bfdeb9c5f94f2bcc326dd75af58825549720dbf4d88aad756852d22d9eea73d92d0e7a0c08a09edfaf96a50baac71f0067cdb004bafc0443671cb84f7afe58b976e4ef1e112647319c33457e1e10275edac62d3e702c530d95a3f274111bffaddaca1d071c95bc78a6e317d8170fa2b89b2789fcbb4a13d843694315e3d0168c2d0834843db773be4aa6a933435bfbd19432645d47a06de91ba31d892a36087e115b5468ac024f009f73a9479f5d556278fb0632dedae337015a7a6c44d3e0c9965195329e97259eb82d7f7ff88e7b283cc6f741aa4e8cfdc7e5549da5d1974c41584d0fef9c78224e507cfdc6a5c456e23fcd4ca126ff855716a7a1f96e52bfdaffc21d93e3955022f75d7146adc8b7c02572e7c56863749da8d3def3b112c03b183cd02689566d4d4a54640fd5e30b5244f0adba4c0c3592a9eb167deef41d81328095d151fe2a902cc838c307afed99a71e21b9d6eed0ddf2b3b563cdaec48e2a76d345fd548680177139838385e6c5c372598eed44f1caf751b33a7fa847a22877d3b0e5c005d19deef1a6fe4bd19f863a6dd75382f50dda0d5903a219d2de60933da2cf03ec67a0356dec0c3953b05d4e3c19f32a0611489eff8032be3f5c6b2f268efb9566ee87d6c0cf68834feb22edd0221147c02f40fc6f7595b481839364bc01b8d2c66e4f475175e298882330b62e0703c99a4715088d52fdf3350ecf49e6f11ec937d32834662ec52b265f173266e4166788cdc33709f98e1f64bdc739d1e1d5783892d4418c55546ca6918632a5487fb4ec55832e91fa60fde5c34a20463f34fa75c5029a1f5815a4ed6d07754295337e06f94dba8d75ecb88d19aa32e83f355584c49906885a0b6bf195263da4ff373e37b3513a3e1f1a8d99c5e2041096fcd0687895cb29b7b4763739f0db48c5fa6ee5d371ed6ff84aef0be864bd626e3cb4cb54dab14a3456efd7cde853cdf0c9ab86e969504b61d5b2ded0d7489219b78c203ee07917bc3dca271d286d618ba82cd1a7a69dff7b8205364eda67d254f20b5d4a2476d11451a06fb520b4f0768d211c06c43df3e230a120977d09eaefdfada5dbee9d26f75d42d5d6e112afda068980b8f0aa067113fe1fc932c521c9b5576ee58adfc9e3a2295b68759996d62630af666738c9af654a8f654a135c624df0084da505f8a127dde6a8b69bcc6701bef91732aec34188a4c9baf111c0e95c697dd29da61efbe60497a7f893a07ab37b1e3dbbe2cfc48be9697006f975399b382e72534d12c7f8c01f9b906a350a61072461fe9a4c8acc5b5c5bc77038e90dc4d8e02235d131a35de3d6dc3272e84c6cde497eba4cd79bdb266a2e1dccdb70f441fbbe8022f5ef304185346370938c8731258d183e1cc1a69f85714f9b51fff1a1c82f68405614590868ef1a147118ab6b5dc61abcf93ccc0495351c6d8efc9f3fe71c21bdff004d52f87fc2bdfebe58ec76f5ce90ecd697b3f7e945d5c4c252c7f489c5e50a79a553d3cb711073679a0954c4936aab3d39c3b4b22bcada4f4a70e3d1569dcc4d4593634431f90152f157b72aaa8516c73b4eac36f022b25cccdacac275b3e52d2d7d036fd22254f1aa2934ff03915c99534249bbb4121d75f320682f46b2f6506e053e812880339cdf0fe516bc1a9cee6a6ef068ffd22f1c1991110ef029f266f7d4f5c96adc41e575f4d72cc23faf64591b79924cb2f7d418561464945ab14ccc9cc6aa2c7ca56023116f5f07bd18a233e02efa252d258fdfb717c4b1f67f7beeab25ba2efbb8aa70b53f41c8fe686552d487d3328c78fa0498c49e872957f77c41b483c1b4e7cb27ac2801d75233335d38ef904acda8de90e4bbc152cb37e119ddf974af645a828f7f9945987208d49915302443c330824b6d3ed2c0858ae6aff2cecbc5f6f5b0447f3205abe13793be4686b9378dfed558bfa90eda824dee2f8eea3bb881f66e543606b819b7c334bb3ab8f132355932ff0aeb853ae27471aca7a80b4470653b1c3a082dc018505b73d74b0af1c05783c9efae1cfe1bf7f53462e5d96958bcf5927f4af1fb42fb0d0be7aa9fb6bf007edbe59a5157eae8acfb6851bb87560036e2335cc56c2272c6ac47b332767809dcea1ac90ec256c3edb65c6591269af008d413ae362df1494f8465999e3bd8d07dcef56167e50a3ebcb457eb921c5af86d3b6559809bc3780c967ab3a8daa2487606149bcdf7cca42b76814f3c7eef406e7e119be5ad9c07ecccb3aa74ec684d3707214fa2ebb113b6ed9bbec705e1bea95878fd6088f9c9ed3c3a840dfb972726eda1ec693dec06582e9c81d29c0531fa558b057edd0d293bad62a31a37c4f5ca828bc2d2977a451727faa765471ceddcc1cbd70ab624b1410d2ac4d998692312d890029fe1688556fe629d66e2eb61c9509303f269ae9f83b4002dab04ca5b6d4cf5edb09ac21dd5738eaf5d336874fd06a64fc27b1ffea289fe82e0194d6e9c7b52bea7aafd4c0f5e0be4b46e95fe8ff70886d80c34179cdeb9614802a67667d828faf21e3ef3463932d7d97826f20cb6736de59bae5cc6c8e00d058540b7a7f93d7f00709590e4f3211a7bcb27f6598a26e036eb628b7ce0735e0a89eaae4854ced5f6e15ab5c75c9dc66f54066983c9c8ec92e2d68c863c3e249d23b32626bcc00f0407c941142c9e08ff48a49881f8faa5aa064c3aeb0d16ff85fd3cdc70c0ba1d68058ec525f4089d3a0511f595552cc8e5ac18028fe8f3dbf9cb30ae4ac3e6bcbce2447dd3c9789c36cc386b5ca7c86a7b4c2aaaa8ff93ccf16d0c8eb1076f40ee0dc120f24487929003c7f5e5c02d647e0ad2fdde76b964d8ef85ab33566ccc58eeed9f1e4ee443422fbbf6add3295353fd7aa135a8dbeb4235b2171c6e3e2b64a21aeb004bb1a449bec39dcd4f711e82cce1135c57d620391cafed1d9837c8f9d7df304aa7cc669f22027be5958389e8ae79921bba5943a7edd814179ad32cb721442f065a97b7caefff9e4db9e6b2011679f23911a4255ec72ff407884e51468ea833cb00c81a4ed0294115d21374a148510c657bef477c2c420cbba44d3fc07988bfbd9a11dc8370ce697fdba7963735d6291922809c9b7adf4cd762bbef6e50eaa6799408579368461599ac0721f1b6202b1da03884466482446e30bbed44d550e837d54aded17f841e55e24523ccdaddef4b851abfc77e2ba70e9e046f682a14c95622c785ce2009b4551ca4f18450b984c7a657b443a77cac7955ef1fa67a87c90d8431011b1f74a7623bf46e994b69a4365069f021dc90a84cb5a899625f4703de4c236bd8c2a96a1314e06846288ba81a428088c76f2cd1c7b14e396accc5dceabca9ae7b854c5f7aa5196deaa667791195263370f7afdde39e80582c5620299a176a461638db5bd2e1caf8da1b70f03315b0eb33173f30275b03f19a3c412c6b9a84bcd5049574792ea39a087f0d3ec87052b1617f05d4e3c55aa37c376857f01c32af7a49baa01f2d671342614d9742d632d4060757783b5e62924d14320f46238eb720fd97233c59f334018ab2db5d3d0537031fc2f0ba974adb8e1ebbb92aa9422ccdf7cf7e8332e919fa43e7073f1f2c6e1a6e580bc06f898f2269b0607d9ab5208945e525154653d6fe2f8191a2bbecc0ceacd8ec38aaf9741317c753f27a47fbef709a2497ba0d3571f54c3f589320b0fbcc1ab842adfd7ee0fc209be2f986371f8cdcb3b6a10b8e325cb27d3682509ea99d2ca793c895053485693c0761587b2f2d29a2d771d4d8c2df6c3977ff24c988859f1b94d979a945b01f9138a43c7ad6664f6402bff2e1afeffa9a2d5bee9fa08b7031772d179d1032501754f629aca86bc1afb8570f9b8d4a5a7d6eb28bf7642361da0daede4bc3b4d51074b082a975f37c5a463639ba597b2fe2cb0379e961a91d320ccef8a344ad64b1950733abd16049b1f4d9dfdf4ed4f2150370feac9a0b2ee37d06f8e5421ff50c443146cecb5ff0332100c959e25758c84386a7509b099f89b76286d9b6112d45dbb92adf309ee8c8fbc4e628556de14d5e5eb4bf72ba7a0e4b9b3438f16db3192f938fb64107a2af042aa0dcb71a4ed43c2398e5a64e287b1cfc16a12c3bc9992e59b8c9138e43a90dd3e67799174d456f7d277307abf3c0846ecc134385a4b0fa18ce7e3781399fa9c0091df974ffc81771597aa398f0ffa3cf347995a83376ce482bcbd16e44f87f2c947356c3399b18cefb7767f3ba50bc4c40af1a436ed55bfd5c36df629057eaccbc9df887b3f87c3249defb75bb38d82a9cd0f774c15da3b72fbb16a97e32e8737e81526cd72d9eefaa618ce2952c893730e2a4f2928dcd361eb903c75ae9c4365751c67db308c2ec9f13d24c1185887938ac502a0383f58d592bd766f351751bb83ac4a240188d334335431af74dcb8d3834d1322ef69eb0604482ff1310697a1f504b9f1de35f83b4ab6a3080b3eb481e378c2e26f91a045831e3d61ed2543e1e60c208e64fec31c3da5a62326b3722caf13e9fe4202a555bbb7448b7979f802938c9f7e490078e96beb507219c6162a7750a45cd134d877ee0cf2aa176eb36c66238176408b2b67c7ca44483ca0d20b440e25c49ca188d981310e646f5415fbeb4b63111f0ad65d38f1dd30615370ee70f5c0b17dc63ac3580e4df87cbb64d3d4b8f62cc83ab3444f55e3219803815f5e4c5e88768c4410d10275aa9426550378c04b31bea6eb0797ba480265528fef7c9730c60e465413c8f12b63a7dbf179b310b0263c3a5bef5364db0844e6721c6c28dc9c509ed1f5de189dfb6e3708464c7d44b4d58cbfcf9d0f1768eae05e72d6dffd5129942e5e399e727b6360305e63c0ffee2084ccdf801b36e6d97ca91b6739071718a4b94cb671c6a422b59bba53bacbbc09db8c97bd1c922c0ad33515b3d667491367be76bd2f50087f40ed3a5865e9291777f37199a42ee8312fcd988d783727380f7fcc11e69b26671890b55cbdff8656f93602835e7d83ef1856f22880d38b7851f846f6e9e577f587115c564a0e06ab2d7689230b6901f036dc24dc2ebfbf066bc38e5ffc673dda02a3330d9ce8ed379efa5cebe70cfda880526837c0d8f3b535fea9c6487ba336cbcb8b889dadcd0568e7328e0d9c25eb6e2c6144c5ffc5e60b74bdb610beb4dd438c7a882e779fdc8d3ec7262ece0e19c4c461baa9e6d591ca1dbfaefd8dd48f580d74331b9f5eccd8a2d6b0a818016d88528dc066eb50e0b2cb06061227a765dac2b42bc7d38b2204296a0b9d6fbc001bc9e987675086a776fc6028c2f8e3fc4ef284ac44977725124096d2426bf416e83bcdc45433657861619e280f7092e58acec50907d8da489ec4bc866119d1b2572d6fc7856fd762c8f6e03ea33ed277fb55a8f254714ab3790aff29124ed2d8277edea5a4eda13282e0b6c71180ddc9b0b408a86ba7d0cb7d3e255099163b9377d5dc130182998898a0aaa521c4ee626028755084097568d88797fde2be030379a3ced21584efd3f727bef895a3ef97f25cf6ecc9e7cc4a3bc1d2b8ace7509cf3e2b7d15fc863ac7fc2c106ff1be16d8d14123a719834c3594513d8d9c26f899bb949119924eee94c5408579f1057ccd3a05919dc8637bc171a7973e20661448eb4ec468dfcf33ffdc0b5e36dfc6e277f888c9d593de160cd11d75cc1f4994dcf0c6c101c5d022b2ba32f9f55531bdab85f18b9c048a6f4a8f13a87913dfe25eb33c661d35b600d31f3a20806b53e5ab44953c3a2a3a25be73e47ba0a53543005272528b690c9307b136b41c12ce24dd1cd73ae82c099d0bb52cf1e015deb4e4ee2276d9ac5aa1f86cff73ead9ff5e04cbd0d18a3f5bce78cb1c54d6a1a32866ffc8b757a62e8fd401b620cecdfa2404e3f4d301de09aea98b637b52980879bc4e7943d0728f1aa130ea32fe4506925feaad1a5a4b575f98f3aaadd36f8d447699583d9c5841d0504704c5b5466b6c136e60414119255ff267a9f4026f05c6e113746ea08578214a8a44123d2a4417d1b60fa4e28a513c5c9cd6171c18cb3d30ad717a11b99a0180344c4bda5d41ec33595e411049f98bb717069c129406c56dc1fd80a76eccde08ce82c1f0095a3b3c7f98c1855becaa820f81f93f5e44fe11ce71ee4acbbe9d210a5fbe04c2a3b22e25eaa474ca16599f96e14c5b43579a1a81287749357f4e71fccec5dee31b6dfdcd84b81076cd0e4ba6495ee2ee595a523ab4af9b318a7771751fef91bcaf9a480dfb44c57570e671d9a2fa6452e8e11cb5f9e8477d9fb13f90c9c1fc0e9bd8ea0ace7beb9dd8600634b8c1a115f423dac54e2b00b5207dbc8af684723dc6cc19a875e95a0c8b52be2f60f8ec8acd348cd9f90bb672121183d9516a07735c93e0f2ec783c272e478bee2445a9698e59214d6af238ad6e19a7c8ecf64e6437d4ba28a99af918f58a91564cd2400659964d154c5cb19943189034c76d47dda3f0fda30763b748fbb612682f9b6642bc4e335539cd3e8cb3f3e034e832360f6e8c3f6a9316ccc38ac34b61a58a1d6314d49a7feadf3896510fd453c3398ff36ff6007caa10063f7e06b96f3d264dbb054c67515395a8b18dc77c20d9cbd0798cfc955bdfdd9a098b46b6b284eb2444ee6348a241fe4dede8d9a1bd6252a642090fecca8b43f02982fb20acaa70840b8912965bf2a45ad3d9a38575d1c4088a128200950a86c87a404dd2e2e9d56cfb616c01edb42ffd54d9134450e570d1f5004b03d428dd2404869189b7f0d462a6877b0ea3615717a6b2ebd2fd95f02313f10870d0ba2c2a99c56c4eb225fdf6e4917826b54c131c4de7a3537f13076438fd0d7ef56af7e86df7ee6c0a5e827e69f06e158a56afb124b37efec0c75a1ec1a4b7db141c04ae9c60e64495fb74d8ffa39fc7d86616a3d7eec22c833f7cee195aa3929369863d304a8e01dde1143b0f1e55c5a82df934dc4f56006382bb8ab67a7088d600d349e887870bc16db0b4a2648385d3bffe98eb5ec8f672fc95d86fff84352b39b32ab08ea97056325518328c7897623bc5998d84d711231eaa77834aa23c1bfad7a6be5e903ea4adf9e218abaf7e5395668f62ed195f925f3b06393a4224c6c350d43dabb2431ee2e84e2fddd827713e9579d72c60d4403fd3772abd05709a2855e63f2f612c95b33684afe62a01333fcc6f16db4627671b2edf49751208701dac2d1713d59abe0e41965169554893038d25dc760202ac84ff1fe698a6a2a2a774cc1a46fff35644510f272a3a6850a35e1e70e423879e6b6d68faa86b1036a74551d3fba019ae0144ebb5d07f8d90c3b2e96024dfc7be23c87c9f31f8e0e7437a9e60e6bf5172f1912e148800324c0356d30798c8f30620ea48bd09b7a3bfce153b4331579e278fdee3796c4a87f9aec5f3d91d7676a63cb804cebf44ea98aa702b4ccb57e8b5f899470e75097c1cd32f57efccc487aa2c5e9f9864b83c53860ce02a74f5799b2ee9a1fca9c03d956d6131569f5c4d588753ba2cf3ff072b848be361509f0414ab97bb2bf760f3272ce4b093a0e586ce16b0641109f7bf5dad5fc2e075f3a54f31a6ca13581545d5d3c229449164ac0135629435fe67b5ff1481bf1f262a22eb866dea77dca64048d048d458633134c4e932b0c7cb0177bcc967eaab803a02e5e6c1969162b0e80a2623d28894cceda254399cd039cb34c55fb271da522dc3ee43f3d1e02d53d3597d8905d811be8716cd9508887fb7e886acf6e1eeaac346c0d52ed82a8034113f218236587d791f204516536f8d7670f4340f692a3cd34b60efdadec004700a5f2582164369edaacb08c5617f30ad59386981e1013e7bb49504dc1d89ac108af058ab55ca646d493fbda1c36663c8d3010db33d09e76f97b5a88324301f43b1c0a0de65a09c65437c34a728dc3ae077c8f9b020bc6f31e774e60f051a525e2f1cb3d6ef50a2e334284284855be0bfc2f70cda2758d3919580bab9b6f4f3797614874c85922ee9cd5137ca298150b4505ff7cecdd579c7ab4b9023d182583288048af6665e279a97f115a69abdd5f5dfaf9baf075e2d872b495b945aa3c823ea59d392641a626f8e4f3b103f66308dd9870e6b6d07acb3894f5b95fa7885ec7676c81d7e646bb3a88238289729f4e8e1dee7d8223a5dfc217c35391411a298d9405ae6dc26ac10b980f3e0483fe6e53927128568a32ed5f7eaa4615a5569b6ff38db6fd7827986cdbcacc93bbd311b474fec63e01162c7a3900a9e3d7abeb4488bf5035b2a78603b85fa266d9a534ebbd2a8c0b4992209d6d8e43fd4a64b213da28d79db5b394fc45ca8f713d3d3681a503a36f480695ba267f8d53bd0c129a275e99ca83b857ab91e444dfc648ebfe0082a4e00533952832a056b00c53c2dc8bf36f99a36ad51f2e6f6c0500b87087ad90615ad26a6bfe528c42132d6b57e1cb98fd86fe20f148ed056ac119b21ccf91cd49cc090c621fbc7367a16bf5954b177c34a7cd43d21a7df40cef19211647bbeffa4c5bc76f973148d5dc592e27b899c53950ae293ee9c95ff2c6463b19fb64c1a9cb406ded5305f2d258f4fd7a412c9f9b1baf5c92af63658a21a7dc4113fe05c815a38e2b4cd22fbeca04236a0aa9e141a0120a2324e9383e769f50699da78ec1bdb7572627e7580acbf3cad72b1c9cdeaf711e922ca04e1ca4684c66211798eb26c35ec37aa71854a33f4ea8222670fd118eac5a66de7da7d61be759cf5c30f53ba52d928d10ce2c366cb49e6f7456ad6bd2bff5b5d4df65929b6e9f7857f72262e991389eed9008ba093efe1ac7f36249ee530b2984924fcceb784e874690ab2f84bea903bc904c07f58ad018521872147fbcd9cec367bef69defb67c5101521c5fa46cbc78c5aaf3ffa3b6682a4277cca76362bc63efea50738593eddabd91b81afc62c605f3fef4b7049335fb444e5ec3942b5ceb75311b03721104b2b9f4f709837610d4347539b6258baa71a7cf7657bdadc05fd7173e4b1208d1db065000b9a930286db8fda891ce956e438468f796f919e75d89c565a7cf70a700793d43050edc0ed2c47f59d0a3e009311286179957d6591ae2e41becbf098a367bc0d9a0006eb3e63f7b86b474d79e03c684933ad53e91a17023d3116c9eca1348bbd2b5e0d80c7c80a29ac4973ac83803eeddfaba4a7f430dfa87035e4c3f39bee14bcbb696a3f40bbb189dd66f52d9ccb022ec1de49fc1ab13416f7b439ff716c30b0f047acfcd24c6234a7ebd852d4081c0dd48cac3d587384f463610f53a4ab8117a01aa6d61a3b5ee0eb24efcc30cd0ca6b17a441abb9b020ad21f8889d159e4a6646211abef41bab9137fe0c52c7edf65df823c486ebb2c7d160305daa614b11c658f3d1b1d0412bc071573dfc95374ffbcc3646a9c3068bc32e459ce47cd8aa14293470efacf07de01b43d3d8374b793ffd42ec4e263b023bead549c6c0f066da15e1cf2bd0bd737368487b929a9405ad20675c68185ae71fd8c0433ff850b3b51c3ca5e487cedcef081f6820d95ea1c4b0665f84ed128c3e9fefe418a3ab0693436da3b5935c89b3eefb1714bc8d19dd9b51988aaf514c7de07c6ddaeab3395647f372e648c66ff4002a6a1d6d800287916446a4c86fa1fb78af483aa17da0bbad13126d1c50a680a26195d4ff6b6c5b5cb6bc02268b946382ee6972be936301bcdba1006d50de3833f8234f8c7c451848f6132d4741f03c85f3ed2ee67480a8f792f8dc2c73ec57b6cfe98461b021892c4543bee899ca1b86c9d3e054522d12ef1cd4f3bc36347ccd53c95b05ae878f9e61a88be0033104818064671d34f93b86159fe5b4fca84779c671675155de13fc7c08baeda66fa1121f6393c0d01819f01f3763eb79ad3e2d59618c6af6817b5510449ceb5316fa2618384423336db574553657378255a66bfdea81d34eb1f8be64fae8f544ac985cbde2025c57e5f03bcc3fc6d951f7610e000439f61dff7407d7b4287ccc01d2f41f7165895e74106b337a446088b056fe683db274a1070dfc819117e021fe456f146c8d526b2e03a4998ecf4767432b77312f40e91933812c9015aca61ce31cacb5f724b21460fb7afeff807c84d729469df39f8b4a21aa982165590a7cca76466ba8cb47e373f4362880c55e34f80ce08d03d1ce9f152a4fc0e893bb4e8c4d90af3249c06894e063b0aa5a84d240b02778cf27df8a68a74d8ae74ab495fd73aabd70a203581559ee88a05d6feed165c2bcea3d89605c18cf53eeec13d15f7a0d0e0beafcbb59372af7128e3060040835c1316cd30f67a0f0c8ebb3cf511c501dde1dcfbbfde8619290020f13d0057f5e55c8e402747058c931e1b218a9fe723cfe5cca5fae7c1441edb9d61f7c6703d5811e6ec3492e8cae1d4b9029b7a333b953e28e029d1827cc6404749597fbbb573fce800e958ed506bc8a470ca7b3a6ab3781c16b68a6ff5dec810b68a1fe1cbccf26b3625c099bb2b3b580d3c22a410cca903425f8a722d630f76df507571affd9a19b78bf5702e00ae3763f5e90561666a9b817a01ac993cc739531771bfa7b4a740f2f25a4923b7588ba3538e8a606d771d3369a3e5df925e3122cb92d2522d502ae3b0b576c5a9ee25e9c2ff06d2a5788e4050d41d914d7caefb224d692861bf74deea8875868a48fef8d333075e0d2bb7a4d3c1d765a188b30043aac02c19a4370ce54be3b588877b17fa929e58925b52d36aae8e8eda135053438a43a99cdef3c81e290ade3144f1db47da49694d3b25bdc22673142cebd790870d01d64dbcaa8d93a4b919396abe36a8757b4080dd9ea45f8c7f921b390ee35c3f572c3aa4b97d68f6a0f930ad500f96191f8e081f1cdba8c72538c22e6230d21f7b482ce8e04435d1e60128eb2a47fd456722650a07f04b36df0f4c1f3d644401480181ef82e58e8658cb3149ee43944acbccf367a3b29bd77ff8553731c9a2f1834450dae7d6f62422b6802f5566edf94ee05e690e95f5a7702e3429cbc83d21e74aa85a19a716f6a20acc34a45ef1ba989bf306050d395d53a35393f0bdefb598fdf32b92744b3ac179ec53d11261305f0f2da4626fc71d54ee70bfd4e3443dd2386568cae0a65ae18c53fd2e6d557c821841a2c9cd72c74fd13dcb56d2a76eeee0942617aee16520c8637b7c3bfd825c146bac46e7191c75699bfe653640a902bb8691252d5474828ae2468e04e1fedbed9a499aea3e5c5ad09745671b69c00e2d23f5da6935f0232531ca3683b00eaa32bb3d258c6ca21e1a369c02905ed1472a97be35e81c19c469c8539545d5dda9d72656088492a65aa19b0fb9c29a69e7a00f89d7afcae67bff9501672dbc77067806a6a26ab7a467f9dc3e14e1749ca08fff250520bffc003e18edfa306db773264f8ae2a2e6c5417146dd82641b5f2a2c6855ba0767585f0a396e67f8d286140f02571b3adcba8b2faa66af0a65b9e5eb3163485eb8600d25553d0a2270b417f4d1b85cead0734ccf4c2e707671c99807a24eec3cb1a0befbf1dd6ea3b7e1d9a328e54da7162d36ca411e217d9591bba1eb84af1644bd70d0c5249ae1aa4eba32fa9c28d62baf73b3674b8e3daa8a7aef4996090d1cd44af93381d5d1c0e953493d8248a5d9a860b825dcb7bead72e8e4934f09ca0007cb0e42746d166789ce8d67bb8e34019dfb6c8b2c318f16faa899c134d3824325986c8d9c95f4ea32078bce6b3071dcf82d1eef8ac13044777d21fc1d1d8d19f5bc4b042cd767b75bda31a7a73a0beba02b6944eed2690863b3465d522650da9b5e9085f9585cad250aadd7208c618496b0f4d3fb4bbc13c6bd3109c6e45f216add6df092ddb02c9352767c9d2cb1a707c2a35ff1f39f8594984910e39051aef8482e5997a586bbe54dae33f7b132fa2aa7884fe0c93862092f1bb475da23199da751b2a7484a0e0f74e40ae6bcb551a1717743368f78f7ee5b48f180dc5517a74c34642498be4b4f4adc055a39a8f1e38c22f39bf9ed8d14e7fdcf43144e971d065d29f7d22d893c2a1a996a0995d9e6b9269b059ffe7fc719988d8714740ec1d52cdc1ab1ad730b17eb5e137730d57556216e4b669622e745f3c833c69c13eb014f91c4bffd5912b03d1b41e960c4bdfc6afe31b1cbfe126d1c752bd9b2d92fcb9b81ef98cb99e245f661fdde5490bbfe6209d834b5dd619e30c819b411c2d2b49eed9c6a3f88a43b4b9fe3bf44bb49ea1b9b79374a09e4312e60c804a5f24ad282bda45684b3c3d246eeb0d57829f7e35730b12b4a2b6fd8274af98d17f922bade1e40bf440b3c03c5465bde4cb0a56363b92f2085ce9b5c2a091a5826f213c8b297e83068c785712a0f288d2f1a6fbdda89f0213abca256ad04a9cea3f692387760c83cfdae697f11ad88b8a41a07cc63aa331e8ea2b15cb084d8e6e07d17eb15314e0d14dcd038d35a5355b3c0b7c67ef23ed6e6776e5484ec8d659ed7cd12845a5934c5fe83344eaf05f266fbefaa8af090e2ad3868f18a81220585e4438694c930147d788286397dd821c850169092c4cbd2087968f6e57a5ffd20276c03cb5cd4b7b6fdf843a751476fe3f823c7f77b87d0706c04235c9338ebbd22994d929243c431803b81fe62ba6881d11819e62c2cee4a9d10156cb9505aceb9d5267ad3881ce575d10595296f21464009a390bd8b49cb70672cc5c1ea4b2edab302c795924fc8373d035972c8fe0192a31ed67810c0c839d952f66f34956746c66416ba2707c753b1d1d8fe4f3ab85990e1d41d27dfaf98c5bf7ba1fe055bd2ad8c2f221bc52f3e0b66cc2fbc9f9feb0657011243262871ff56184a5f73230ca5c5af331d582792b50af37a222374230eec91c48437be8cbc1c42b3763eedd9196b1a163de6f9afcc7647b1f4f6bd91e83dacb0502d5d48fe57000f8b47bbc4edb3398c1fffca3d21fabc76e568a60e08c91d08842d5f68c67332d4255c687e07d1bc5ebc08e9088e6409dbe9e741b40efeed1bb2add98f49b2c1c54866c733d0412c5c00a807f7f0340314dad5165979d2875682a4a0871a58d2539944be5adb6bd2ce778bc1eae3a25e6c9b475239c372bd195252a13d04b07b8718e5fe85ba48c7727ac1f737f0ae9cbbad6f0059539b839f3495ef84426047330a0c620eb50f956adedadc86ef5ec786124b7cea1ad1037ca60b52ced9b81fc4f63d0a72ab70ab64841e32e2811401ed76b1411d700f5f3d16f93389d704fdb80c19a099a4c6e96491e2bdbfdee291bfbadc9c94117af45b9f75b445f9558a613984654e6624182936c35aff8b67a30447629e533bb76ebaf64693e671b21158c19262e280a86f9040f038d7ee86655d441e84e6fe0ebbdf65fd07b0a3e219f63f7ac59d45b2c2b1e4461f806dd9a5c2407a95adafd29f49cd595a22d18f888e086eb18adb513c943f3ee31607303008f2ee819bf4dbed3c2ef1449e1aefd4fde5e6ed07c651f590dcc7549c7aad27a4bc05b2d7ad7d7ede816681c5db8fc58c5687ca6dd5fad6958c3f01d0e9d6f5cfd5e3dd8531194a13bb3c553d54c859a1c6dd9fe5e1bbd4a41f0cf5f6b4d65649bfcc8961c5c70f2027b1a291e14fc20a047479e181f637bbe61087f283a48e1f29896ae59f3e89090eef672d0d7bf3d8c8d9a0fe0ff9311c56f4faab5730b3e9f3a8c27e1e5c67ec029e185461b0250f96c494915564118db505c61970c030d43701092213a1f00714cbd322cab787e5d4e3caf85f7ac8d231f0eb7d3be0d6df1b82c4bf91883d48987336a6d753550a04bd4953ecd8a14655949f85a04b6f6d48c20d7e46c2e51e1bfcecacb61f95ab9b2bc1541d9cd768421698f50a4a450a909656b667efdfb806b1d2531a98d86f0136928930e4d581bb2dd224bca16d13480abf62aee5ba9ddce2bfee470096cf7cad79d83be6f5f808acd2326d417e2dec4ff7d5990a10347d0caed407e5095ddaab1b86b6b89a7312f612acabbc7e72fe6d84b8af19f562ad2a995a9d64ae4228722ca107f3bdba919dcfa860834fd8b95d2bb083d1368600dee9dd87cf5c8f4c6233652890b3c67f6ff18a8ff51010e24d70bae11eda2feee291eeb43c7cbf824f526ba0a9258107a3d367c7832e1f54bc2a7a17966e5fd9ae92cc288b4d07bebc239288ba4faa8785399829a0190b231d26d929053bb387fe705ec6a38cea0544e7839c9faf1224ee50e8d84be726e6a0c16782113a3a5e1ad56f65115fdbcc2c6a616c48c716b96b49acbfe065513d204b03e21772763309f4978a95ee9ae27958f790940f8967d4e2ef69e172c0d75a318166f6a6baa17855786f74e2b4e14f8ac6d0435b7ca8bdcfba549ccdbdcc6aad7596cf49a2c2e8c217d0ba694b38b17638263cfaaf97f2ce42fb914e680b4820839be5930f134c102cad83eb8d21d2a875d091c2f96c3a932d67308edcb2ec09feedac14985b1436d6c7f46aaaf71a7822f152db523f9544a1e37e5696ed930012d27b6786145c879bce74c4f7eacec51b604d43946e7a4fd8c4d3fd1721160c165ec43db65d28409596a30c074add8f6b2e435c9e3f73f6bc41bd2910876cb34e67b980451ea08f4fe74939ceca5523e6199a0f733a8ce3fe6fef113539f5523c1803e6ac3970a56477ee133f431e937c76c8613f0690482b61f9b77089db1218103c4908b4d513d0f13fc230635a50787e25f7c0ef0b1d93a42e119e08e7d5373e89286552ac919c7783cc2b7f0430d85a415513b851e5f822db4fffad6eaeee57f668c21c19f3f70fc27429f65b5cf4562bfec0066fe7f79127a902c673b6969c3dd69cdcb787a4a748707a7c50dcfed73ff969bd5c53ee37b29f3afe4d35af98791d679833ab6a9e39f1d9a43027d02021786aeaf5761f52ccf3f5ae48715058b2f6f23901cdc1d92b80555f77b9d8607331727b53ae48678f5be63334fb7247a816bcfd619fdbce42ba303edc295102fef5994fb315e8c2c4865e149127738e3f7c4f36f97a00c9c032eb8a124c18072e72b7f6ea2cfb9bac3d237704a65142651046b25832366fd797f79353f686b66b791e156c744fa99859d32e137f1747a2b03e77bfa79cf394221535781bd2333a5c5cbc961a0c230ae8ed049f3cb26cce0afaa965675cae2a97dcf8c87d2916405cee52a5709225bf2dfb5452277e091b6f36ee251fc9f3153289d90c873aaf89a564f8c45ead7bf7a8e0f01b561abce20619e202fdb95707df74cb3e0c97e2c9787ff2b6ccbef18c36b695ac859d046e9f854021290c1f92a1eb8a124c18072e72b7f6ea2cfb9bac3d237704a65142651046b25832366fd797be4a890b8cea2df9282c2667826a909b2b09be81029569a9d53408b2686f12552d4f03fc25573765b8e9619eb5cfc25bd8ccf4b3f9d89accc0247f59ac5b4cfd8035c841e4360799f0135deaa0a3c176479cc9d356fb8b3001ee624ba3b4c7c3eb8a124c18072e72b7f6ea2cfb9bac3d237704a65142651046b25832366fd7972d8144189140bb7c3ac457c80db5c4e44a8d4e443e2773311c9fad69917dce60548d57fad66eaecdbd1549e1c678d4ecd8f36b9f614c5dae156d9e07009a983a984a26c08df7589d47ed2e4fa2e5eef6df897c3792e86f50131a9d205a4d641f084ce25d955af5e7253f51a3e1dd66bb4063ccb538451186d48ef93718d443cefee241fbfc7074b1382a7377813c81d4c3d9b0f2972f0513bf1657f852bbdfe86263b83f09a7851f0a38496189cc11f8a9e4f74230ca4aa70e52f32b91593760c285776b6671fe12c3a6708b6781780ba215c5173d044487d23adef2d159f86fc20a7216a6061d30c1fbc1ad6ee32bc9972bc14e453e8ae15f47f126efaaae595d8a7d6a39d2167cd79fc104f33a278fe915a916268cb97c04a156e61ac5739c5f3e2cce3a82933ff08b4e796e24dc38be66139a1e7f0dde0ea3cca8a53cd26e1a721015873916adda0ecc43eb0b04ffddb23b018d8e8d7746660dd78b843972160719bd7e6fe206f88d00fae9c90328e386916513358a3a80332e35785a177ed00e7f1505d3a9d638a065b66495ed45dcdb31da22ffa99299d4045f023dfd1ab09132160bbb1ed5a6d4eb2dbfa5996770554111e9eba8a3b82914d1251f98015e4bef62c49ea757f840576ad4b70877b19d71367951778c8584a2d87a7efde8fa3e1f3a9bc83ec3e56fdf4d164020792ccf9cc7ff62544e6b499095e5e984cca627a0af554b97ca19127b8fd4a395feea57a22e3a481bb74132c30f7a4c4cb36d2973e1df0304274cc0399f5caf98210cab2753bed935c2b59a16c83e8379ec74967cc79b07f116dfb5f0df30993258310ae8c87b698d164248c81428906c1252e32dc1a7139e8ebc5e40ed7381a1fe15f965018367ca56e81eca85ce03673a8ba0c6cafa384c1694312df847dfe7dddfe1e7d3cc77c5e31243d91f64945bb23b6e1ca0f0f11649c4b689b7a563f6cf82ac0d608708175515b1a568c4c52346285841d56c54638db511bff0f0bbc2958b1b0866674b54b99729f756887332ab2b7f0430d85a415513b851e5f822db4fffad6eaeee57f668c21c19f3f70fc27429f65b5cf4562bfec0066fe7f79127a902c673b6969c3dd69cdcb787a4a748707a7c50dcfed73ff969bd5c53ee37b29f3afe4d35af98791d679833ab6a9e39f1d9a43027d02021786aeaf5761f52ccf3f5ae48715058b2f6f23901cdc1d92b80555f77b9d8607331727b53ae48678f5be63334fb7247a816bcfd619fdbce42ba303edc295102fef5994fb315e8c2c4865e149127738e3f7c4f36f97a00c9c032eb8a124c18072e72b7f6ea2cfb9bac3d237704a65142651046b25832366fd797f79353f686b66b791e156c744fa99859d32e137f1747a2b03e77bfa79cf394221535781bd2333a5c5cbc961a0c230ae8ed049f3cb26cce0afaa965675cae2a97dcf8c87d2916405cee52a5709225bf2dfb5452277e091b6f36ee251fc9f3153289d90c873aaf89a564f8c45ead7bf7a8e0f01b561abce20619e202fdb95707df74cb3e0c97e2c9787ff2b6ccbef18c36b695ac859d046e9f854021290c1f92a1eb8a124c18072e72b7f6ea2cfb9bac3d237704a65142651046b25832366fd797be4a890b8cea2df9282c2667826a909b2b09be81029569a9d53408b2686f12552d4f03fc25573765b8e9619eb5cfc25bd8ccf4b3f9d89accc0247f59ac5b4cfd8035c841e4360799f0135deaa0a3c176479cc9d356fb8b3001ee624ba3b4c7c3eb8a124c18072e72b7f6ea2cfb9bac3d237704a65142651046b25832366fd7972d8144189140bb7c3ac457c80db5c4e44a8d4e443e2773311c9fad69917dce60548d57fad66eaecdbd1549e1c678d4ecd8f36b9f614c5dae156d9e07009a983a984a26c08df7589d47ed2e4fa2e5eef6df897c3792e86f50131a9d205a4d641f084ce25d955af5e7253f51a3e1dd66bb4063ccb538451186d48ef93718d443cefee241fbfc7074b1382a7377813c81d4c3d9b0f2972f0513bf1657f852bbdfe86263b83f09a7851f0a38496189cc11f8a9e4f74230ca4aa70e52f32b91593760c285776b6671fe12c3a6708b6781780ba215c5173d044487d23adef2d159f86fe98861d4e7757467dab23f9d15f3c8b80913af910dc5fc82a51ab2c596b1a523ce0519a50e8723de857456d6e7dab51cb622bcb67b28be64bb397b900b5e6f7493cd60c08584cd44a684221ec2d5ff362c9bf30f436edbe7622e54d7ade1715d53aaa9c4cef56cfcdaedfe045faf9c8b86740c9bd16877e80f0f692a36035c8bc62e1deca82fc4afee18f085848e2b7cdacc4ad5baae7ace7b160331b854f87549dc61a1c619905f0ab533951536fef4385d27ea6294991c6240fd1bb2df9717d869b213d8fa004b93da70314ba02e2a40a635326de3f88b4f854c2946ff25ec824818f5ca0980e72a82c7d8705ebb528fb67a0d43ea5ddfb8e3928811a9ce3e78129c59ca7ca2a63c9ad07649d980289ce5e6ef5efc53416b2dd3a1663701bd4a71157d7477219688205cb3789564fc569ff24b38d601a3e896e48960551cfdc6144b1f06485886dfddde03e5a2edbb52f8fee6e709d6bfb321500e30ebcedc7f321654b7cee5e01d1195a3b4efd7a89fce2554d8d4a76c15a75c76f4f634be1ba09ee7f4d3ce4d775e18026bd2994ffe13ff1dee5b8f136a111e3fa8cb1fa939e7b8ec8c1e52594ba5db815251822402e4738392540bce255517ea78214b8871fc21b0d346c44ef21adf6a8e8d0f28c8bb53ab9d43a2d27058bbbe01e86d285660c1adba71c4641fb537ceda2455f6e750481c167c456c77ecfb82b45c226d3711ed41204d562247f35704950516c29494c6f9eac42aa3766137f063311b7a627c2799edfa43860a512a2ef39b5d0bff20e11fc7efb3ea5231d639ab0c7ed9ec84d1bbb9d03c02746b7565028a1cdd974c8b4d2ec3dfa2619803a05cd88c3de9e1cd72bc283097568960d93edf22792c7a10d48d09d4b8f040ed114cfe76659ac66f970ab5de421052077f9d604718be84425e450a9821b8d6cdb517cfb73a366f5e07480e9fc5015cbde9996770a2f0da5aa061fca258a31a647323a35d7e764e4c6d0f76c9cae5aaabf071bde7b5a006414914d01c8c33a0b9df6b699bb963f2019985f34d30d8577db06f1cab3bebdb327ed63d1abe28b78fafebc63bf33568cac332e3e0e89fe95dd1e0de527e621e4fd7037cdf99227954d46035cdc80bb56c4759f57160674ea01f66be094e296a7465cdaba02f6b2a83acaca8f8bc2f61fe9466dd814930b534fc086d43f7fc4b022e5f2d293ab8fcb1f7bcaa150d624634c761e229f67e4ddeea4d9e5d5ffabd36a4b02472b6ec5739effc58544021de62cbbf536a4fa9d73d893c1c36a67ca44bd7a4421a1a732a6bf8cd58a45ad3fdd2e71328f4b73ac9bb00f1f0c6e1a75fd13754c4db29063607974df133d7112161ef4c4e608c600d3a197297eeae93283b8bf731c6f264b41edca313ae689cce87c3e55abb2fdbd80d9eb1059a13c4d29f5e0c35b9522b7341e5132d6be1ae925ae7d5202efb01809d0f86c30c32e6dda07104164296a41ecd101e136f225fc3b1f911ef50b4e506d7b120bda4dc7e2d193dbe9d66f300638721f55b41d8e17948bb4c5db47c0ca75d66af3700c4ebb572ead6942f2e2197b54992075a4ea00a7a16e8505bb6985767faed4e07443a095237899f0e67df4a7f86bb30fa8eadfa7679239bd980dfbb5d5f5371926f8efb81eb25a5cdefe152da8490dafbcd20dd14de8f0042ee7d7374aa23d8af547b6fe2fa1d0b861830ab9b320228ae6602d92c0a306857004026ee6d9d805f705cb15131cd6a85f4fe6c562ee543b0fbc52d4d0a14ee630fc6b388d864e19a485870bf232f52f666ea806882689087943c2fefaa55deb8732b31ba28f0a1ea752c9d13f766d1bb4c3c8a710cae7b435cca516d4d4f048be97c36e4060bb6951c9f496024b2180331d32fc169c57990a2b97722c5922ad128d02651eb3c62ab69854606138b809f322bdb92c23f315d147c1eb10c9fe871d924bbda6b555802aa430c1747151595ad27a44bd4119932c22156928a70ee8cc793489bb12a1850012ddccb526520fe1501462c8189fa65aac21fd05a093bb1be63d6912b9bf7a6932c214b424e7fdcd43fef7a3a151e5a306364cd31b99b180ab34d1e9728a83d87df3439b168b141862e930cc26d50849760dfc039177e47543e37ec2a9ab5a93e0ea84bab0a605ce6317e321507f93f9bd00b8617240ce7bda095637f02d58871f423212e0d796b6decd6adbe4bab301aa2d11c97600d86c93e0855f9c07a485221f37fc0c3441d6bf3e56f584353affacd3c8f45f47b93194eb3147fabc02c6c0b1337f388e33905c00ffadf99fc14861916b8394aeee17fdae10ea5850778826e4012d666f4f2cbc722851947d7d0bfbc859a72813688dbdcf52c414783260301c2a318dea39a9ea3f25803ef8c8b068035e46be52a3a83244c29088980be77fe8b0aea687b3f7790042dd8f8480c49fdb14de7627d5177c959aeaeb29ddf241f9eed96ba4795608b7d162a894f8b5a7456d5828274a7d6618ddd39318f60c4f85586a5256b1a9cc84ade1dee1865926cd9c7d3061ec0c0b9ec2b8a0d4771a80974a24b347d30f44fc7fcd5e2055466c129e4302d8db675a3cf8d04995033544490125719b1f7e0763a9bafa2dacc71cb22f3965d5a370578ad2b921f146995a13b2d24591bb6bdcbfea7e10a880be4b693ef7a90f41ae0685502dcca0f648d2bff6fdd6e552f828ce08336deb8bcb1cf1fa84d4967324f1c81fe728d7a0504dbefbc72807047026861326a03a9b9b26a82944c05b0b11c59041fad395bc5295fc359c1872854f8c0fa60b81cfc6f7c774d18863d6e64d987b20d9d37e037c3858269924b2c1d4527969711e0017971bb0aad53d09ad7fc8fc0147359ded3572029f66dc28931b08f284400fd137a7279a6b277a5c4189dd94986803de173a57c2d0f11bc15e6519a6bfad4c6e62ec784e43bfe68a6cbbf8c1cdc0ea2eee82c4728c8c97dbd0aac6f94bc6776e9f9f46e0b5fb6ddc0e2fab1f3c7b26409304132be3e6632de958cda2522729925a4086f7a64a899500f6fa3684d7ef46dcca573334ba17d784112507ed95f75039293184fc4049e890869b7d4f0bd0ff5357b6fdeb1578a9bfa96b6da17be5853d7326f1f4bcedb8cd6c177614c09eae8b455de22cafc2541ec7a0f9ac1977c732fd454c5c88fa0fa81e7127fab6a6343fad9aef6d411b58c94c4fb03d9cd8913f7763448cbb122360a03706d06cce8eda66b597f43d05f1bb5cff47e49f507bda133354e4aacc7c550ba3a903f0fb87d89d9f1d60c7c213bf9bd59ec00258024b2975ba76434ccfa8a7ecf3eecde2302276b9ba13192932fd60614b6d36e0ffaa00509f06cd61b32d6cd01ecd9768b23fca920e4a01fbc722f579c2116bb99fae13eef835e11383e0fdfece43484736e5258173dac1094f9e4ea2242820fc8896532c75826e2c2418f32c9fdf2f118e43970dd1a4390a421aef2ced7f53f5909388df643fed408230868e5a2fdefc50ed483d57689c5b8e179e5a0c94a27dd49122ff4a5a0ffc39873a79c1d8e34b3a4b03e817c0f78655bb7dee7666922050cafac527e65d2c6248d4069355ae8de32032168e5c8bbc68070d338e008c504ff4341a5579e616b8e6bbfeb5fcd62f77ee2dc3f0e6ea6d1e749357930b4038b97d1dbbed5166eefb743db61e9db0158159dbf93ff3b5589c12e6f8b7895813d4c28511a040aab9ea2d6ada786eacd882b2da8a1058e1ee8574545458a11efe2b5251bed91e7d1d1b286919dfba8f946ede3e5303277167f8ff73d71b46127b20e3430e100bab7658df20a42ae557ef9cc667b216937aa53e4e66c24aa0184dbb7162f833b508c1260e77d8e67ddae57cb5e185840a5523aebc9637b7b16174f07e34e86811a30fd69d4599faf722aa864772d5d47f72b569c3fd6b432aa8fb21914f560952f3eb6caa032f1212ff7a387550dd27a1f69a3eaf5ec9222288260244a03af1571540a588cfa0829f4389cf12d0ace5d14b54de96e1917741b30df35b8669ea50f5506318ee6e82e5606ca3564e52aa7687f8566df28e83f86d6fae873f267331bb61fb70e7333ddbd431dc2a4dbc1b7a142b26748590d1442dbe289a55c3134e84ccdeba88b8c14dbc10c3c5e2083a21b4bc1c1d6648765e41f7b66f9eccba2e36e46db8731bb958f164465653e08e888ed89edb73f93ee2b0715db2e201e0a16f4c41b1115872b85746c220059d68e685e4a251047b3b09c553f1582162bf293d739001240bb3a71407d1b66703061d068ab611facf5aa5cc760536f0c4ff532066fa4d8cf552a660af7ba6c5ea276cd5729f2e409eecde0d5fe532af006465709053ee54fddc78b6b662352bfe02f09bdd3e37a842a98d415a43b61f84651daad11577f514146e9231bf629b1b2f40547761efa7fdfc7cc7dc4cca6e912f64d424d9fec25172e62d880e153364e89fc7cf7a1176ff4d6d2ea6d6601d31988bab00954f4ed2acc32ce1eee06885c6767b30415471d6a2b827d668b9f4c7f7f94ef4eb59498aa3ac96f740039e2c68eb91cfa896378023c0bffbacc6e1833049e6b02f5b4b13eff5acbf5c28f949dce714d44a5517fb92dbea952f933b02b83adb43c03c1285de08b39a3473cd9501a03bc98402a65fb009785b3a1d2852b508432e94e837f2310a94595da24b6b6f11ff60df52ca17542a90af712971b8271f4ba96e2124840757b96bb064cdb9cc075df99b06669c385ae76bdb9607e0a7b61e6ae53dbd36af69047ebacbee712e300f56d826e7b23733c84761aa4b118d67bf80e99a7a2c57dfbc3e105be913ed7d6117eff83c57eb11ee699482600bcfbbafb7635bf9c82ff99fee700a7adf08e44b5dd190ea89e85bbbca44813635f0783f998dd1af450358aebbbee746fc57cc86f369c96869b0e91546c2fdcda7a39dce611d09816e34eb28b8c8a93258ff2a4430621717f0248fe5db2d93855d08acbda3ed65b10a54a1b740b41648c6c635cd6196adca0b5ac72b929d8f2dec61cbe474da96b48c77429ac2ee72b80259b515031a5b43c9c8283e37e3d8aaeff2792218e655bcdda5d82061b18c386fd1fd60ab0ceb44c2462f57a0afa238eb744c964eb99c4c35467158472ee3515e8014fb27bedcab29cbc2f55134284bc5ee12613206dea192d166997f17316243f51400c4381ba2e5c08289ebcb087eae58b93d00a67667d1658edb0fd6477ebdcf75b8f887947d64be8a6d8c96001f2ec6d47c643a80c9b6790a7fd8e1b0a6c34a8d54d1c4cf6d20e2e24e22be5faeba787de176cfbd7b7c01d637e812a5bbacdb9857ef3dace473ff41010351f533472834bbf888d8603cf4321adbea5d8819e4d256a16ea12bf269eae6f5ccd47d6180fc7e5f06e039476b81e1d4ffb213b8f4fafd46089165ae77eb94517593c817f8589cb81988f2b122e773be30562e736a2b451394f0433b0ff7fbdd42c3e4a91f9e874c74bcb87a914057f44a3d7d249a34e21f90cdd3330e0dd9cc1b7a67c2ce600cc128407eca99a7da780fcb3e53d215274512e58c7dac233906b856ba2f1a61652f265f0f3749007cc62c30a21c80e2f7c8ffb3bd9d11caa5e05914fcfd2cfd7c977a225af630960a269eb8523f57568bf7be2db11428dafca80de02dcbc37f3fd5374965f243d104d9eab3f752764ce8464ffe5e25e89d0a04fae437b089c3f49f63917e43273f8d68f777e5d2344570e30a0e2645b5e5f3297318f1b5f097d7124b6a9441d0892b9f05923e2ce81feb46bbde66da2b979dd36fefc4551160e73226bf44f12949d0fe444d6d083d9ff3c0c6e278eb5d75c93bc0152b748a761d5214c03c3eed521eda72a210a8bbd993f5569f1cc8b7bf2ff7b6cc8ecdacbc7b798bd0fc287406befbeb977136872beca40e5680d1b2c0033a6c23c994a9c21c5feb70049981d7c83c60266337281c5bcc2202e068d6771e367ad93859f0ef25e5c23964652957d0a2476c274652e5c635d38367024e5d7e9f8b72e03e06a655be35612c6d7f8d64dbcd3e0b306313602f99c35a75d6169d6a3fdd8247f075503192312689a48d22f30f8b6f44c7b08e2009cd4ca6385228d6f4b5d19a0a616d61d954fb1e7230c7974093571fd513328bfaf3b7fc23676a5502be2431c33d2d18883c39f721f4dd4f618a1adf063b2a9ec768a3238acb51955b8eec3d37833095662ed8d38ae71bbee93ddd5ea5de6d7c4e8f3ef7be902f6584364645d25df52b2b09715870272d9604a4f3327b1e86c9a648d16deffa65c60eb133f6704e29bafa779f8d7a76e95d58950c4d6f866bf611852373975d9a74386893535954c877685917d9dbc52e6bca78046ef4103be357b6e44946ecb8c4d5399b56efa85381be5d79fbeaf94027afeede3b623b17090bc0e6cd5dcf3a94c46066459bfb5ffb3c78c08e8603ad6ca8972cbc80f0263927483a5baced5620690d855ed575fdcc7d97f32853569530df88ba6d6f9ca6b551af2b9f5c04b1cc4d9c86cbdc06892ddfdcdab6d04c13a40b670946f9ccb767b4511233f84080633fe41fcb672c5d22d10e9ba9e02819faa278cbe5040b21ef90cff6c3a0a04d3adffd5dd94539deec185c55dbd370ccc2e057a4e060d04960190361e6cc7b4c24828615ed1d446e90449262e25bca4729d8b41f95e9822368b5a224ab584e509e70df3c8c7378dab3a371805541856ce4286580c17c150fd0f610a0ce6e0a988c8b8643eac7ab9edd9799f2edb1359af1d6f2cbb1d57cd47000d00054e9b7207ed342d6ab6721f72550fe6f083aeea15f36fc8388e2ce7a4f27307bac18a0930cba296346e898252d8246d85447d5ae7134e4516a0bd2647a04c22bc1fa9a51912a620b7cc96e68bd36e807f200c94df8150215eb2885000df0d7ff98fa8d94df7f9d12e35e3505d8b9dbb3898c171a01b54e9fa91c2ba4d529cbcefed08387ff2c2e1e2eff919e726717544612fe567a3782225d52a381e06cd77c0b123e13344e8696ef86259db36efe04e5f99d8b639286faa46273690a8c0bf7d07c36248219c1b57d2f5be7671c63d19d63d0c0dc389f53153f1bd46968224eda6ec970de0bb89eb39d68f6522e05c7ed2777df2ca1fcced0122ccebb3e955c857a6c02fc0c38c2efd04746421de0539591fbd0c83f19a4b03d2eebffc7279faa45ad3a057844753ee3a83cd3db45300eed4e73105740dbd51dbd870568bdd6c13cbd633edc47a61d750279ba4d2e0a518817c552f463934ef7313a413281c840176a5076aac7f6df587fd88674ac330d034a9c4ec63c198549226d745eddd979e3696e085489daf304fccf40c9e696823ea838ad748bc7e36be08239463b157ae332c4bb6a40c727a528a583de6d8b3dc12af8e8c5d03ff3f8cf11d57c79b71ea016ecff965fd66efc2d4c6b64c2218a986fdb61fb46e949b22f6926832a9f86ee5c3976330097d9e790bb4b4d612031598b192533d6477bf55c2df2690fb6a753a5e8a016681a4a0557208256de5411fd9e3460a0ff70bdda38b661682d9ad795f05dc044a4e122ed9e03d34e11daff2aa06355dd3393a7b28806fdc075ac3dca7ebd2ffc130b04ebf6d9d95c7568d4449e9715edc7f895fba113d2739a197709d0bdc5cffffdb123a9e70a705e28178f0cb327073377fb23bb910692f2f8e548d0894b94ac1b935716756000400fca1b6aec1a12906eef663d5959ba700fba4060edfd5f64b26cb1749ec972e60ae84ddc46dadefe6c69f2a158ca9afa6ced8a715b86ad3c1da4afbc4eef16abd8a522bb946d841bd389ba7415ddc54b6ded71d237d28534e64dc638a5eba0c3b8a6cb1cfc202bafc7088497d4754af710ce3792994b395743f0dfdb096a39487a7f7b6e2d13b19a29f14cafbb51c194e98513e9d54c2fffee70d6008271dc535daa1bb9abd5c0594fa46bf17d309c11368f5d80fa5c62d3683613fa85cd98b9887439a8c3d06eea6a6f818ad2b101486ce3133f8b8d9dc73962d224f4c3f91d2aebc1d57bf3a2ed884f82b0bb769124c3c5b142f2593b4b60365ba58b1b75b148fc61cd3ac3a81bef883e81b026c7608b542277fa5fcf9bec54444da72f600cf6c3dcc1029e0e5c8cf54e1bf92ec7a4f58d776063be0671f955a0fe2fc2d19adf491fc4601b335516408994d38f09e4b040e9976dce6442373a92d4a4217c385cadf93f7a35867267f449b058438f08f013293c6ce274f749acd889bd84530c1123f47916a5ae52f74c12992a3dd92d2cc1e09fe09968ed87ef13e4c262b24f955c2645bed493f9385328624b8f4f1d91ffe205042fb7dcf65af99a2b7ff6a41142f83ba4ff0bd4fff6e4f5c8bddca018d55950ecf79a77cd786a98c00ceb925a28444e31b611c47a981bc0620b25f59eeded5d9df591b0d10e19a706dedb11b5a95a5677c60725e63c3d158e2c6220fdf15b5338c95983241ab39e1d076c04f06709aaf8239f6878984599c080fa5758bfe6b1f3b4c0c41996cfa1783f7a825c3728aea244fba31f2b6d979e3bce11b689ac14b29358cb9082b5c72386d0418b837f0c068794f4a29541eb5dc86a4dbb8312fd41b1d0142176b69b2642c16d8c2acb7f3ae18d7e83b695d32a6a9b817eecbbd0b8efd6e42da/usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64buildqcom,dispcc-sm8250.hqcom,dispcc-sm8250.h../../uapi/linux/input-event-codes.h../../../arch/arc/boot/dts../../../arch/arm/boot/dts../../../arch/arm64/boot/dts../../../include/dt-bindings../../../arch/microblaze/boot/dts../../../arch/mips/boot/dts../../../arch/nios2/boot/dts../../../arch/openrisc/boot/dts../../../arch/powerpc/boot/dts../../../arch/riscv/boot/dts../../../arch/sh/boot/dts../../../arch/xtensa/boot/dtsldldrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootkernel-6.6.0-50.0.0.55.oe2403.src.rpmkernel-develkernel-devel(aarch-64)kernel-devel-aarch64kernel-devel-uname-r    /bin/shfindutilsperlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.18.2g+Z@g"g"g@gf@fffͿf@fJfaff@f@fwf|fr@fj@fafafS$@fS$@fP@fH@f?]f?]f - 6.6.0-50.0.0.55jchzhou - 6.6.0-48.0.0.54ZhangPeng - 6.6.0-48.0.0.53ZhangPeng - 6.6.0-47.0.0.52ZhangPeng - 6.6.0-46.0.0.51ZhangPeng - 6.6.0-44.0.0.50ZhangPeng - 6.6.0-42.0.0.49ZhangPeng - 6.6.0-41.0.0.48ZhangPeng - 6.6.0-39.0.0.47Mingzheng Xing - 6.6.0-38.0.0.46ZhangPeng - 6.6.0-38.0.0.45ZhangPeng - 6.6.0-37.0.0.44ZhangPeng - 6.6.0-35.0.0.43ZhangPeng - 6.6.0-34.0.0.42ZhangPeng - 6.6.0-34.0.0.41ZhangPeng - 6.6.0-33.0.0.40ZhangPeng - 6.6.0-31.0.0.39ZhangPeng - 6.6.0-30.0.0.38ZhangPeng - 6.6.0-28.0.0.37Mingzheng Xing - 6.6.0-28.0.0.36ZhangPeng - 6.6.0-28.0.0.35Mingzheng Xing - 6.6.0-28.0.0.34ZhangPeng - 6.6.0-28.0.0.33Mingzheng Xing - 6.6.0-27.0.0.32ZhangPeng - 6.6.0-27.0.0.31ZhangPeng - 6.6.0-26.0.0.30Mingzheng Xing - 6.6.0-25.0.0.29ZhangPeng - 6.6.0-25.0.0.28ZhangPeng - 6.6.0-24.0.0.27ZhangPeng - 6.6.0-23.0.0.26Zheng Zengkai - 6.6.0-22.0.0.25Hongchen Zhang - 6.6.0-21.0.0.24Hongchen Zhang - 6.6.0-21.0.0.23ZhangPeng - 6.6.0-21.0.0.22Zheng Zengkai - 6.6.0-20.0.0.21Jin Lun - 6.6.0-19.0.0.20ZhangPeng - 6.6.0-19.0.0.19Ren Zhijie - 6.6.0-18.0.0.18Zheng Zengkai - 6.6.0-18.0.0.17Zheng Zengkai - 6.6.0-17.0.0.16Zheng Zengkai - 6.6.0-16.0.0.15Jin Lun - 6.6.0-15.0.0.14Liu Jian - 6.6.0-15.0.0.13Zheng Zengkai - 6.6.0-15.0.0.12Bing Xia - 6.6.0-14.0.0.11Zheng Zengkai - 6.6.0-14.0.0.10Zheng Zengkai - 6.6.0-13.0.0.9Zheng Zengkai - 6.6.0-12.0.0.8huangzq6 - 6.6.0-10.0.0.7Zheng Zengkai - 6.6.0-10.0.0.6Zheng Zengkai - 6.6.0-9.0.0.5Jialin Zhang - 6.6.0-6.0.0.4Zheng Zengkai - 6.6.0-6.0.0.3Zheng Zengkai - 6.6.0-2.0.0.2Zheng Zengkai - 6.6.0-1.0.0.1- !12979 ext4: fix timer use-after-free on failed mount - ext4: fix timer use-after-free on failed mount - !12980 ext4: no need to continue when the number of entries is 1 - ext4: no need to continue when the number of entries is 1 - !12983 CVE-2024-49968 - ext4: fix error message when rejecting the default hash - ext4: filesystems without casefold feature cannot be mounted with siphash - !12981 ext4: drop ppath from ext4_ext_replay_update_ex() to avoid double-free - ext4: drop ppath from ext4_ext_replay_update_ex() to avoid double-free - !12982 ext4: fix i_data_sem unlock order in ext4_ind_migrate() - ext4: fix i_data_sem unlock order in ext4_ind_migrate() - !12978 exfat: fix memory leak in exfat_load_bitmap() - exfat: fix memory leak in exfat_load_bitmap() - !12977 ext4: fix access to uninitialised lock in fc replay path - ext4: fix access to uninitialised lock in fc replay path - !13018 nebula-matrix: fix ci build warning when use clang - Net: nebula_matrix: fix ci build warning - !12866 fix CVE-2024-50041 - i40e: Fix macvlan leak by synchronizing access to mac_filter_hash - !12595 scsi: fnic: Move flush_work initialization out of if block - scsi: fnic: Move flush_work initialization out of if block - !13004 CVE-2024-50064 - zram: don't free statically defined names - zram: free secondary algorithms names - !13044 Some patches of RDMA/hns from Linux to OLK-6.6 - RDMA/hns: Fix cpu stuck caused by printings during reset - RDMA/hns: Use dev_* printings in hem code instead of ibdev_* - RDMA/hns: Modify debugfs name - RDMA/hns: Fix flush cqe error when racing with destroy qp - RDMA/hns: Fix an AEQE overflow error caused by untimely update of eq_db_ci - Revert "RDMA/hns: Fix flush cqe error when racing with destroy qp" - Revert "RDMA/hns: Fix missing spin_lock_init() for qp flush lock" - !13049 ext4: some dependencies of CVE-2024-47701 - ext4: explicitly exit when ext4_find_inline_entry returns an error - ext4: ext4_search_dir should return a proper error - !12682 smb: client: fix UAF in async decryption - smb: client: fix UAF in async decryption - !13023 l2tp: prevent possible tunnel refcount underflow - l2tp: prevent possible tunnel refcount underflow - !13025 wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() - wifi: mwifiex: Fix memcpy() field-spanning write warning in mwifiex_cmd_802_11_scan_ext() - !13024 wifi: cfg80211: Set correct chandef when starting CAC - wifi: cfg80211: Set correct chandef when starting CAC - !12993 igb: Do not bring the device up after non-fatal error - igb: Do not bring the device up after non-fatal error - !12988 mm/mremap: fix move_normal_pmd/retract_page_tables race - mm/mremap: fix move_normal_pmd/retract_page_tables race - !12800 cachefiles: fix dentry leak in cachefiles_open_file() - cachefiles: fix dentry leak in cachefiles_open_file() - !12900 ext4: fix double brelse() the buffer of the extents path - ext4: fix double brelse() the buffer of the extents path - !12896 ext4: aovid use-after-free in ext4_ext_insert_extent() - ext4: aovid use-after-free in ext4_ext_insert_extent() - !12960 ext4: update orig_path in ext4_find_extent() - ext4: update orig_path in ext4_find_extent() - !13012 drm/amd/display: Revert "drm/amd/display: Fix potential index out of bounds in color transformation function" - drm/amd/display: Revert "drm/amd/display: Fix potential index out of bounds in color transformation function" - !12909 btrfs: fix uninitialized pointer free on read_alloc_one_name() error - btrfs: fix uninitialized pointer free on read_alloc_one_name() error - !12906 io_uring: fix CVE-2024-50060 - io_uring: check if we need to reschedule during overflow flush - io_uring: always lock __io_cqring_overflow_flush - !12892 ext4: avoid use-after-free in ext4_ext_show_leaf() - ext4: avoid use-after-free in ext4_ext_show_leaf() - !12957 rseq/mm_cid: change the mm_cid macro default status and keep KABI consistent - rseq/mm_cid: change the mm_cid macro default status and keep KABI consistent - !12377 ep93xx: clock: Fix off by one in ep93xx_div_recalc_rate() - ep93xx: clock: Fix off by one in ep93xx_div_recalc_rate() - !12497 drm/stm: Avoid use-after-free issues with crtc and plane - drm/stm: Avoid use-after-free issues with crtc and plane - !12775 vt: prevent kernel-infoleak in con_font_get() - vt: prevent kernel-infoleak in con_font_get() - !12883 CVE-2024-50016 - drm/amd/display: Avoid overflow assignment in link_dp_cts - !12774 net: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test() - net: microchip: vcap api: Fix memory leaks in vcap_api_encode_rule_test() - !12776 drm/amd/display: Check stream before comparing them - drm/amd/display: Check stream before comparing them - !12940 virtCCA feature: GPU supports maximum 1G page table mapping - virtcca feature : GPU supports maximum 1G page table mapping. - !12952 drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream - drm/amd/display: Add null check for top_pipe_to_program in commit_planes_for_stream - !12942 fix CVE-2024-47704 - drm/amd/display: Check link_res->hpo_dp_link_enc before using it - drm/amd/display: Check link_res->hpo_dp_link_enc before using it - !12953 mm: gup: stop abusing try_grab_folio - mm: gup: stop abusing try_grab_folio - !9209 [OLK-6.6] perf/x86/zhaoxin/uncore: update KX-7000 support - perf/x86/zhaoxin/uncore: update KX-7000 support - !9191 [OLK-6.6] x86/cpu: Remove pointless evaluation of x86_coreid_bits - x86/cpu: Remove pointless evaluation of x86_coreid_bits - !9156 [OLK-6.6] USB: Fix kernel NULL pointer when unbind UHCI form vfio-pci - USB:Fix kernel NULL pointer when unbind UHCI form vfio-pci - !7927 [OLK-6.6] fix intel-lkp compilation issues for DMA patch - x86/cpu/zhaoxin: kx-40000: Apply the static modifier to some symbols - x86/cpu/zhaoxin: Encapsulate access to kh40000_dma_direct_ops within function - x86/cpu/zhaoxin: Encapsulate access to global variables within functions - x86/cpu/zhaoxin: Adjust the configuration options for zhaoxin-kx40000.c - x86/cpu/zhaoxin: kx40000: fix bitwise warning issue - !7874 [OLK-6.6] iommu/dma: Move iova_reserve_domain_addr to header dma-iommu.h - iommu/dma: Move iova_reserve_domain_addr to header dma-iommu.h - !12835 Net: nebula-matrix: fix ci build warning - Net: nebula_matrix: fix ci build warning - !12550 fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name - fs/inode: Prevent dump_mapping() accessing invalid dentry.d_name.name - !12871 Fix CVE-2024-47703 - selftests/bpf: Add return value checks for failed tests - bpf: Fix kabi breakage in struct bpf_insn_access_aux - bpf: Fix kabi breakage in struct bpf_func_state - bpf: Fix compare error in function retval_range_within - bpf, lsm: Add check for BPF LSM return value - bpf, lsm: Add disabled BPF LSM hook list - bpf: enforce precise retval range on program exit - bpf: enforce exact retval range on subprog/callback exit - !12712 drm: omapdrm: Add missing check for alloc_ordered_workqueue - drm: omapdrm: Add missing check for alloc_ordered_workqueue - !12838 ocfs2: reserve space for inline xattr before attaching reflink tree - ocfs2: reserve space for inline xattr before attaching reflink tree - !12372 fix CVE-2024-49954 - static_call: Replace pointless WARN_ON() in static_call_module_notify() - !12358 fix CVE-2024-49852 - scsi: elx: libefc: Fix potential use after free in efc_nport_vport_del() - !12822 i3c: master: svc: Fix use after free vulnerability in svc_i3c_master Driver Due to Race Condition - i3c: master: svc: Fix use after free vulnerability in svc_i3c_master Driver Due to Race Condition - !12918 Input: adp5589-keys - fix NULL pointer dereference - Input: adp5589-keys - fix NULL pointer dereference - !12874 tipc: guard against string buffer overrun - tipc: guard against string buffer overrun - !12916 serial: protect uart_port_dtr_rts() in uart_shutdown() too - serial: protect uart_port_dtr_rts() in uart_shutdown() too - !12843 v4 CVE-2024-50063 - selftests/bpf: Add test for lsm tail call - bpf: Fix kabi breakage in struct bpf_map - bpf: Prevent tail call between progs attached to different hooks - !12932 gso: fix udp gso fraglist segmentation after pull from frag_list - gso: fix udp gso fraglist segmentation after pull from frag_list - !12933 tcp: fix mptcp DSS corruption due to large pmtu xmit - tcp: fix mptcp DSS corruption due to large pmtu xmit - !12922 ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate - ocfs2: fix possible null-ptr-deref in ocfs2_set_buffer_uptodate - !12913 drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs - drm/msm/adreno: Assign msm_gpu->pdev earlier to avoid nullptrs - !12888 drm/amd/display: Add NULL check for clk_mgr and clk_mgr->funcs in dcn30_init_hw - drm/amd/display: Add NULL check for clk_mgr and clk_mgr->funcs in dcn30_init_hw - !12769 uprobes: fix kernel info leak via "[uprobes - uprobes: fix kernel info leak via "[uprobes]" vma - !12717 wifi: ath12k: fix array out-of-bound access in SoC stats - wifi: ath12k: fix array out-of-bound access in SoC stats - !12742 net/xen-netback: prevent UAF in xenvif_flush_hash() - net/xen-netback: prevent UAF in xenvif_flush_hash() - !12738 r8169: add tally counter fields added with RTL8125 - r8169: add tally counter fields added with RTL8125 - !12805 ext4: fix slab-use-after-free in ext4_split_extent_at() - ext4: fix slab-use-after-free in ext4_split_extent_at() - !12637 kthread: unpark only parked kthread - kthread: unpark only parked kthread - !12473 scsi: wd33c93: Don't use stale scsi_pointer value - scsi: wd33c93: Don't use stale scsi_pointer value - !12688 security/keys: fix slab-out-of-bounds in key_task_permission - security/keys: fix slab-out-of-bounds in key_task_permission - !12791 slip: make slhc_remember() more robust against malicious packets - slip: make slhc_remember() more robust against malicious packets - !12607 virtcca compile warning clean and coda bugfix - virtcca bugfix: compile warning clean - virtcca bugfix: clear device msi address - virtcca bugfix: compile warning clean - !12773 v4 add vdpa support for x86 and enable vdpa migration. - vdpa: add support for x86 and open vdpa migration build config - virtio_blk: remove the broken zone revalidation support - !12759 CVE-2024-50055 - driver core: bus: Fix double free in driver API bus_register() - !12772 MPTCP Upstream part 16 - selftests: mptcp: diag: avoid extra waiting - configs/debug: add NET debug config - MAINTAINERS: update Geliang's email address - !12771 MPTCP Upstream part 15 - selftests: mptcp: diag: change timeout_poll to 30 - selftests: mptcp: join: change capture/checksum as bool - selftests: mptcp: simult flows: define missing vars - selftests: mptcp: netlink: drop duplicate var ret - !12834 [OLK-6.6] drivers: load Yunsilicon ethernet driver when xsc_pci probing - drivers: load Yunsilicon ethernet driver when xsc_pci probing - !12817 media: venus: fix use after free bug in venus_remove due to race condition - media: venus: fix use after free bug in venus_remove due to race condition - !12599 iommufd: Require drivers to supply the cache_invalidate_user ops - iommufd: Require drivers to supply the cache_invalidate_user ops - !12793 uprobe: avoid out-of-bounds memory access of fetching args - uprobe: avoid out-of-bounds memory access of fetching args - !12821 v4 openeuler_defconfig: Disable CONFIG_DEBUG_INFO_BTF_MODULES - openeuler_defconfig: Disable CONFIG_DEBUG_INFO_BTF_MODULES - !12829 drm/amd/display: Check null-initialized variables - drm/amd/display: Check null-initialized variables - !12826 media: i2c: ar0521: Use cansleep version of gpiod_set_value() - media: i2c: ar0521: Use cansleep version of gpiod_set_value() - !12827 drm/amd/display: Check null pointers before using them - drm/amd/display: Check null pointers before using them - !12767 x86/bugs: Use code segment selector for VERW operand - x86/bugs: Use code segment selector for VERW operand - !12506 ocfs2: cancel dqi_sync_work before freeing oinfo - ocfs2: cancel dqi_sync_work before freeing oinfo - !12482 device-dax: correct pgoff align in dax_set_mapping() - device-dax: correct pgoff align in dax_set_mapping() - !12795 platform/x86: ISST: Fix the KASAN report slab-out-of-bounds bug - platform/x86: ISST: Fix the KASAN report slab-out-of-bounds bug - !12816 v2 bpf lts backport - Fix kabi breakage in struct bpf_map - bpf: Optimize the free of inner map - !12747 parport: Proper fix for array out-of-bounds access - parport: Proper fix for array out-of-bounds access - !12780 drivers: misc: uacce: bugfix for MAX_ORDER - drivers: misc: uacce: bugfix for MAX_ORDER - !12718 thermal: core: Reference count the zone in thermal_zone_get_by_id() - thermal: core: Reference count the zone in thermal_zone_get_by_id() - !12707 drm/amd/display: Add NULL check for function pointer in dcn32_set_output_transfer_func - drm/amd/display: Add NULL check for function pointer in dcn32_set_output_transfer_func - !12768 Bluetooth: hci_conn: Fix UAF in hci_enhanced_setup_sync - Bluetooth: hci_conn: Fix UAF in hci_enhanced_setup_sync - !12674 net/mlx5e: Fix NULL deref in mlx5e_tir_builder_alloc() - net/mlx5e: Fix NULL deref in mlx5e_tir_builder_alloc() - !12736 drm/amd/display: Fix system hang while resume with TBT monitor - drm/amd/display: Fix system hang while resume with TBT monitor - !12604 drm/amd/display: Check null pointer before dereferencing se - drm/amd/display: Check null pointer before dereferencing se - !12591 cpufreq: amd-pstate: add check for cpufreq_cpu_get's return value - cpufreq: amd-pstate: add check for cpufreq_cpu_get's return value - !12465 drm/amd/display: Initialize get_bytes_per_element's default to 1 - drm/amd/display: Initialize get_bytes_per_element's default to 1 - !12755 pinctrl: stm32: check devm_kasprintf() returned value - pinctrl: stm32: check devm_kasprintf() returned value - !12715 MPTCP Upstream part 14 - mptcp: check the protocol in mptcp_sk() with DEBUG_NET - mptcp: check the protocol in tcp_sk() with DEBUG_NET - mptcp: token kunit: set protocol - !12711 btrfs: fix uninitialized pointer free in add_inode_ref() - btrfs: fix uninitialized pointer free in add_inode_ref() - !12728 Backport "ima: Avoid blocking in RCU read-side critical section" - ima: Avoid blocking in RCU read-side critical section - Revert "ima: Avoid blocking in RCU read-side critical section" - !12516 fix CVE-2024-47742 - firmware_loader: Block path traversal - !12710 fix CVE-2024-49924 - fbdev: pxafb: Fix possible use after free in pxafb_task() - !12729 CVE-2024-50059 - ntb: ntb_hw_switchtec: Fix use after free vulnerability in switchtec_ntb_remove due to race condition - !12720 drivers/crypto/ccp: fix a build error - drivers/crypto/ccp: fix a build error - !12666 block: fix integer overflow in BLKSECDISCARD - block: fix integer overflow in BLKSECDISCARD - !12608 blk_iocost: fix more out of bound shifts - blk_iocost: fix more out of bound shifts - !12656 CVE-2024-49955 - ACPI: battery: Fix possible crash when unregistering a battery hook - ACPI: battery: Simplify battery hook locking - !12662 drm/amd/display: fix double free issue during amdgpu module unload - drm/amd/display: fix double free issue during amdgpu module unload - !12698 mm: memcg: don't periodically flush stats when memcg is disabled - mm: writeback: ratelimit stat flush from mem_cgroup_wb_stats - mm: memcg: don't periodically flush stats when memcg is disabled - !12345 [OLK-6.6] drivers: update Yunsilicon driver to version rel_2406_rc16 - drivers: update Yunsilicon driver to version 2406_rc16 - !12617 drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream' - drm/amd/display: Handle null 'stream_status' in 'planes_changed_for_existing_stream' - !12545 Fix TX fifo corruption in patch [3 - serial: sc16is7xx: fix TX fifo corruption - kfifo: add kfifo_out_linear{,_ptr}() - serial: sc16is7xx: refactor FIFO access functions to increase commonality - !12648 net: do not delay dst_entries_add() in dst_release() - net: do not delay dst_entries_add() in dst_release() - !12553 Fix CVE-2024-49996 - cifs: Fix buffer overflow when parsing NFS reparse points - smb: client: fix parsing of device numbers- create & package symvers-kernelver.gz unconditionally to fix ISO installation faliures like in issue #I7MARC- !12565 KEYS: prevent NULL pointer dereference in find_asymmetric_key() - KEYS: prevent NULL pointer dereference in find_asymmetric_key() - !12498 nbd: fix race between timeout and normal completion - nbd: fix race between timeout and normal completion - !10861 [OLK-6.6] perf/x86/uncore: Add support for Hygon family 18h model 4h-7h and 10h DF PMU - perf/x86/uncore: Add DF PMU support for Hygon family 18h model 4h-7h and 10h - !12673 ocfs2: remove unreasonable unlock in ocfs2_read_blocks - ocfs2: remove unreasonable unlock in ocfs2_read_blocks - !12653 usb: typec: tipd: Free IRQ only if it was requested before - usb: typec: tipd: Free IRQ only if it was requested before - !12632 ALSA: asihpi: Fix potential OOB array access - ALSA: asihpi: Fix potential OOB array access - !12635 bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0 - bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0 - !12491 LoongArch: fix some 3C6000&LS7A related problems - LoongArch: Add workaround for 3C6000 about io wr/rd - Loongarch: Dynamic enable writecombine - acpi: mcfg quirk: Increased multi-chip support for the 3C6000 - pci/quirks: LS7A2000 enable msi - !12331 LoongArch: prevent LS7A Bus Master clearing on kexec - LoongArch: prevent LS7A Bus Master clearing on kexec - !12321 LoongArch: backport 3 patches from upstream - LoongArch: Define __ARCH_WANT_NEW_STAT in unistd.h - LoongArch: Add writecombine support for DMW-based ioremap() - LoongArch: Change SHMLBA from SZ_64K to PAGE_SIZE - !12557 ntfs3: Change to non-blocking allocation in ntfs_d_hash - ntfs3: Change to non-blocking allocation in ntfs_d_hash - !12554 NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies() - NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies() - !12444 nilfs2: fix potential oob read in nilfs_btree_check_delete() - nilfs2: fix potential oob read in nilfs_btree_check_delete() - !12631 some bugfixs for khuegpaged - mm: khugepaged: fix the incorrect statistics when collapsing large file folios - mm: khugepaged: fix the arguments order in khugepaged_collapse_file trace point - selftests: mm: support shmem mTHP collapse testing - mm: khugepaged: support shmem mTHP collapse - mm: khugepaged: support shmem mTHP copy - mm: khugepaged: use the number of pages in the folio to check the reference count - mm: khugepaged: expand the is_refcount_suitable() to support file folios - khugepaged: use a folio throughout hpage_collapse_scan_file() - khugepaged: use a folio throughout collapse_file() - khugepaged: remove hpage from collapse_file() - khugepaged: pass a folio to __collapse_huge_page_copy() - khugepaged: remove hpage from collapse_huge_page() - khugepaged: convert alloc_charge_hpage to alloc_charge_folio - khugepaged: inline hpage_collapse_alloc_folio() - !12634 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.53-6.6.54 LTS Patches - Revert: "dm-verity: restart or panic on an I/O error" - spi: atmel-quadspi: Fix wrong register value written to MR - x86/tdx: Fix "in-kernel MMIO" check - thunderbolt: Fix NULL pointer dereference in tb_port_update_credits() - thunderbolt: Fix minimum allocated USB 3.x and PCIe bandwidth - thunderbolt: Send uevent after asymmetric/symmetric switch - wifi: brcmfmac: add linefeed at end of file - iio: magnetometer: ak8975: Fix 'Unexpected device' error - perf/arm-cmn: Fail DTC counter allocation correctly - usb: yurex: Fix inconsistent locking bug in yurex_read() - Documentation: KVM: fix warning in "make htmldocs" - i2c: isch: Add missed 'else' - i2c: aspeed: Update the stop sw state when the bus recovery occurs - mm/damon/vaddr: protect vma traversal in __damon_va_thre_regions() with rcu read lock - module: Fix KCOV-ignored file name - spi: fspi: add support for imx8ulp - mm: only enforce minimum stack gap size if it's sensible - lockdep: fix deadlock issue between lockdep and rcu - dm-verity: restart or panic on an I/O error - bpf: lsm: Set bpf_lsm_blob_sizes.lbs_task to 0 - thunderbolt: Improve DisplayPort tunnel setup process to be more robust - thunderbolt: Configure asymmetric link if needed and bandwidth allows - thunderbolt: Add support for asymmetric link - thunderbolt: Introduce tb_switch_depth() - thunderbolt: Introduce tb_for_each_upstream_port_on_path() - thunderbolt: Introduce tb_port_path_direction_downstream() - thunderbolt: Change bandwidth reservations to comply USB4 v2 - thunderbolt: Make is_gen4_link() available to the rest of the driver - thunderbolt: Use weight constants in tb_usb3_consumed_bandwidth() - thunderbolt: Use constants for path weight and priority - thunderbolt: Create multiple DisplayPort tunnels if there are more DP IN/OUT pairs - thunderbolt: Expose tb_tunnel_xxx() log macros to the rest of the driver - thunderbolt: Use tb_tunnel_dbg() where possible to make logging more consistent - thunderbolt: Fix debug log when DisplayPort adapter not available for pairing - dt-bindings: spi: nxp-fspi: add imx8ulp support - dt-bindings: spi: nxp-fspi: support i.MX93 and i.MX95 - btrfs: reorder btrfs_inode to fill gaps - btrfs: subpage: fix the bitmap dump which can cause bitmap corruption - lib/bitmap: add bitmap_{read,write}() - x86/entry: Remove unwanted instrumentation in common_interrupt() - x86/idtentry: Incorporate definitions/declarations of the FRED entries - serial: don't use uninitialized value in uart_poll_init() - tty: serial: kgdboc: Fix 8250_* kgdb over serial - pps: add an error check in parport_attach - pps: remove usage of the deprecated ida_simple_xx() API - usb: xhci: fix loss of data on Cadence xHC - xhci: Add a quirk for writing ERST in high-low order - USB: misc: yurex: fix race between read and write - usb: yurex: Replace snprintf() with the safer scnprintf() variant - soc: versatile: realview: fix soc_dev leak during device remove - soc: versatile: realview: fix memory leak during device remove - ARM: dts: imx6ul-geam: fix fsl,pins property in tscgrp pinctrl - spi: fspi: involve lut_num for struct nxp_fspi_devtype_data - padata: use integer wrap around to prevent deadlock on seq_nr overflow - cpuidle: riscv-sbi: Use scoped device node handling to fix missing of_node_put - icmp: change the order of rate limits - EDAC/igen6: Fix conversion of system address to physical memory address - fs: Fix file_set_fowner LSM hook inconsistencies - vfs: fix race between evice_inodes() and find_inode()&iput() - arm64: dts: rockchip: Correct the Pinebook Pro battery design capacity - arm64: dts: qcom: sa8775p: Mark APPS and PCIe SMMUs as DMA coherent - arm64: dts: rockchip: Raise Pinebook Pro's panel backlight PWM frequency - arm64: esr: Define ESR_ELx_EC_* constants as UL - hwrng: cctrng - Add missing clk_disable_unprepare in cctrng_resume - hwrng: bcm2835 - Add missing clk_disable_unprepare in bcm2835_rng_init - hwrng: mtk - Use devm_pm_runtime_enable - f2fs: fix to check atomic_file in f2fs ioctl interfaces - f2fs: Require FMODE_WRITE for atomic write ioctls - f2fs: avoid potential int overflow in sanity_check_area_boundary() - f2fs: prevent possible int overflow in dir_block_index() - f2fs: fix several potential integer overflows in file offsets - btrfs: always update fstrim_range on failure in FITRIM ioctl - btrfs: tree-checker: fix the wrong output of data backref objectid - debugobjects: Fix conditions in fill_pool() - wifi: mt76: mt7615: check devm_kasprintf() returned value - wifi: rtw88: 8822c: Fix reported RX band width - wifi: rtw88: 8821cu: Remove VID/PID 0bda:c82c - wifi: mt76: mt7915: check devm_kasprintf() returned value - wifi: mt76: mt7921: Check devm_kasprintf() returned value - perf/x86/intel/pt: Fix sampling synchronization - efistub/tpm: Use ACPI reclaim memory for event log to avoid corruption - ACPI: resource: Add another DMI match for the TongFang GMxXGxx - ACPI: sysfs: validate return type of _STR method - drbd: Add NULL check for net_conf to prevent dereference in state validation - drbd: Fix atomicity violation in drbd_uuid_set_bm() - crypto: ccp - Properly unregister /dev/sev on sev PLATFORM_STATUS failure - serial: qcom-geni: fix fifo polling timeout - xhci: Set quirky xHC PCI hosts to D3 _after_ stopping and freeing them. - tty: rp2: Fix reset with non forgiving PCIe host bridges - firmware_loader: Block path traversal - bus: mhi: host: pci_generic: Fix the name for the Telit FE990A - bus: integrator-lm: fix OF node leak in probe() - usb: dwc2: drd: fix clock gating on USB role switch - usb: cdnsp: Fix incorrect usb_request status - USB: class: CDC-ACM: fix race between get_serial and set_serial - USB: misc: cypress_cy7c63: check for short transfer - USB: appledisplay: close race between probe and completion handler - arm64: dts: mediatek: mt8195-cherry: Mark USB 3.0 on xhci1 as disabled - usbnet: fix cyclical race on disconnect with work queue - wifi: rtw88: Fix USB/SDIO devices not transmitting beacons - can: esd_usb: Remove CAN_CTRLMODE_3_SAMPLES for CAN-USB/3-FD - scsi: mac_scsi: Disallow bus errors during PDMA send - scsi: mac_scsi: Refactor polling loop - scsi: mac_scsi: Revise printk(KERN_DEBUG ...) messages - scsi: ufs: qcom: Update MODE_MAX cfg_bw value - scsi: sd: Fix off-by-one error in sd_read_block_characteristics() - ata: libata-scsi: Fix ata_msense_control() CDL page reporting - ksmbd: handle caseless file creation - ksmbd: allow write with FILE_APPEND_DATA - ksmbd: make __dir_empty() compatible with POSIX - fs: Create a generic is_dot_dotdot() utility - powerpc/atomic: Use YZ constraints for DS-form instructions - KEYS: prevent NULL pointer dereference in find_asymmetric_key() - drm/amd/display: Validate backlight caps are sane - drm/amd/display: Round calculated vtotal - drm/amd/display: Add HDMI DSC native YCbCr422 support - drm/amd/display: Skip Recompute DSC Params if no Stream on Link - KVM: Use dedicated mutex to protect kvm_usage_count to avoid deadlock - KVM: x86: Move x2APIC ICR helper above kvm_apic_write_nodecode() - KVM: x86: Enforce x2APIC's must-be-zero reserved ICR bits - KVM: arm64: Add memory length checks and remove inline in do_ffa_mem_xfer - Input: i8042 - add another board name for TUXEDO Stellaris Gen5 AMD line - Input: i8042 - add TUXEDO Stellaris 15 Slim Gen6 AMD to i8042 quirk table - Input: i8042 - add TUXEDO Stellaris 16 Gen5 AMD to i8042 quirk table - Input: adp5588-keys - fix check on return code - iommufd: Protect against overflow of ALIGN() during iova allocation - Revert "media: tuners: fix error return code of hybrid_tuner_request_state()" - soc: versatile: integrator: fix OF node leak in probe() error path - soc: fsl: cpm1: tsa: Fix tsa_write8() - ASoC: rt5682: Return devm_of_clk_add_hw_provider to transfer the error - Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible" - PCI: xilinx-nwl: Fix off-by-one in INTx IRQ handler - PCI: Use an error code with PCIe failed link retraining - PCI: Correct error reporting with PCIe failed link retraining - PCI: imx6: Fix missing call to phy_power_off() in error handling - PCI: dra7xx: Fix threaded IRQ request for "dra7xx-pcie-main" IRQ - PCI: Clear the LBMS bit after a link retrain - PCI: Revert to the original speed after PCIe failed link retraining - Remove *.orig pattern from .gitignore - io_uring/sqpoll: do not put cpumask on stack - io_uring/sqpoll: retain test for whether the CPU is valid - xen: move checks for e820 conflicts further up - Revert "net: libwx: fix alloc msix vectors failed" - drm/vmwgfx: Prevent unmapping active read buffers - drm/amd/display: Fix Synaptics Cascaded Panamera DSC Determination - mm: call the security_mmap_file() LSM hook in remap_file_pages() - io_uring: check for presence of task_work rather than TIF_NOTIFY_SIGNAL - io_uring/sqpoll: do not allow pinning outside of cpuset - netfilter: nf_tables: use rcu chain hook list iterator from netlink dump path - netfilter: ctnetlink: compile ctnetlink_label_size with CONFIG_NF_CONNTRACK_EVENTS - netfilter: nf_tables: Keep deleted flowtable hooks until after RCU - net: stmmac: set PP_FLAG_DMA_SYNC_DEV only if XDP is enabled - virtio_net: Fix mismatched buf address when unmapping for small packets - bonding: Fix unnecessary warnings and logs from bond_xdp_get_xmit_slave() - net: qrtr: Update packets cloning when broadcasting - tcp: check skb is non-NULL in tcp_rto_delta_us() - net: ipv6: select DST_CACHE from IPV6_RPL_LWTUNNEL - net: seeq: Fix use after free vulnerability in ether3 Driver Due to Race Condition - net: xilinx: axienet: Fix packet counting - net: xilinx: axienet: Schedule NAPI in two steps - Revert "dm: requeue IO if mapping table not yet available" - ep93xx: clock: Fix off by one in ep93xx_div_recalc_rate() - vhost_vdpa: assign irq bypass producer token correctly - cxl/pci: Fix to record only non-zero ranges - interconnect: icc-clk: Add missed num_nodes initialization - coresight: tmc: sg: Do not leak sg_table - serial: 8250: omap: Cleanup on error in request_irq - driver core: Fix a potential null-ptr-deref in module_add_driver() - dt-bindings: iio: asahi-kasei,ak8975: drop incorrect AK09116 compatible - iio: magnetometer: ak8975: drop incorrect AK09116 compatible - iio: magnetometer: ak8975: Convert enum->pointer for data in the match tables - iio: chemical: bme680: Fix read/write ops to device by adding mutexes - ABI: testing: fix admv8818 attr description - driver core: Fix error handling in driver API device_rename() - iio: adc: ad7606: fix standby gpio state to match the documentation - iio: adc: ad7606: fix oversampling gpio array - nvme-multipath: system fails to create generic nvme device - spi: atmel-quadspi: Avoid overwriting delay register settings - spi: spi-fsl-lpspi: Undo runtime PM changes at driver exit time - spi: atmel-quadspi: Undo runtime PM changes at driver exit time - f2fs: get rid of online repaire on corrupted directory - f2fs: clean up w/ dotdot_name - f2fs: prevent atomic file from being dirtied before commit - f2fs: compress: don't redirty sparse cluster during {,de}compress - f2fs: compress: do sanity check on cluster when CONFIG_F2FS_CHECK_FS is on - f2fs: fix to avoid use-after-free in f2fs_stop_gc_thread() - f2fs: support .shutdown in f2fs_sops - f2fs: atomic: fix to truncate pagecache before on-disk metadata truncation - f2fs: fix to wait page writeback before setting gcing flag - f2fs: Create COW inode from parent dentry for atomic write - f2fs: fix to avoid racing in between read and OPU dio write - f2fs: reduce expensive checkpoint trigger frequency - f2fs: atomic: fix to avoid racing w/ GC - crypto: powerpc/p10-aes-gcm - Disable CRYPTO_AES_GCM_P10 - crypto: caam - Pad SG length when allocating hash edesc - ntb: Force physically contiguous allocation of rx ring buffers - ntb_perf: Fix printk format - RDMA/irdma: fix error message in irdma_modify_qp_roce() - RDMA/cxgb4: Added NULL check for lookup_atid - riscv: Fix fp alignment bug in perf_callchain_user() - RDMA/mlx5: Obtain upper net device only when needed - watchdog: imx_sc_wdt: Don't disable WDT in suspend - RDMA/mlx5: Limit usage of over-sized mkeys from the MR cache - RDMA/erdma: Return QP state in erdma_query_qp - PCI: kirin: Fix buffer overflow in kirin_pcie_parse_port() - IB/core: Fix ib_cache_setup_one error flow cleanup - pinctrl: mvebu: Fix devinit_dove_pinctrl_probe function - nfsd: fix refcount leak when file is unhashed after being found - nfsd: remove unneeded EEXIST error check in nfsd_do_file_acquire - clk: rockchip: rk3588: Fix 32k clock name for pmu_24m_32k_100m_src_p - clk: starfive: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage - clk: ti: dra7-atl: Fix leak of of_nodes - RDMA/rtrs-clt: Reset cid to con_num - 1 to stay in bounds - RDMA/rtrs: Reset hb_missed_cnt after receiving other traffic from peer - media: mediatek: vcodec: Fix H264 stateless decoder smatch warning - media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning - media: mediatek: vcodec: Fix H264 multi stateless decoder smatch warning - clk: at91: sama7g5: Allocate only the needed amount of memory for PLLs - pinctrl: single: fix missing error code in pcs_probe() - RDMA/iwcm: Fix WARNING:at_kernel/workqueue.c:#check_flush_dependency - media: platform: rzg2l-cru: rzg2l-csi2: Add missing MODULE_DEVICE_TABLE - PCI: xilinx-nwl: Clean up clock on probe failure/removal - PCI: xilinx-nwl: Fix register misspelling - nvdimm: Fix devs leaks in scan_labels() - x86/PCI: Check pcie_find_root_port() return for NULL - leds: pca995x: Fix device child node usage in pca995x_probe() - leds: pca995x: Use device_for_each_child_node() to access device child nodes - leds: leds-pca995x: Add support for NXP PCA9956B - clk: qcom: dispcc-sm8250: use special function for Lucid 5LPE PLL - clk: qcom: ipq5332: Register gcc_qdss_tsctr_clk_src - PCI: keystone: Fix if-statement expression in ks_pcie_quirk() - firewire: core: correct range of block for case of switch statement - PCI: Wait for Link before restoring Downstream Buses - drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error - Input: ilitek_ts_i2c - add report id message validation - Input: ilitek_ts_i2c - avoid wrong input subsystem sync - pinctrl: ti: ti-iodelay: Fix some error handling paths - pinctrl: ti: iodelay: Use scope based of_node_put() cleanups - pinctrl: Use device_get_match_data() - pinctrl: ti: ti-iodelay: Convert to platform remove callback returning void - leds: bd2606mvv: Fix device child node usage in bd2606mvv_probe() - clk: qcom: dispcc-sm8550: use rcg2_shared_ops for ESC RCGs - clk: qcom: dispcc-sm8650: Update the GDSC flags - clk: qcom: dispcc-sm8550: use rcg2_ops for mdss_dptx1_aux_clk_src - clk: qcom: dispcc-sm8550: fix several supposed typos - clk: rockchip: Set parent rate for DCLK_VOP clock on RK3228 - remoteproc: imx_rproc: Initialize workqueue earlier - remoteproc: imx_rproc: Correct ddr alias for i.MX8M - clk: imx: imx8qxp: Parent should be initialized earlier than the clock - clk: imx: imx8qxp: Register dc0_bypass0_clk before disp clk - clk: imx: imx8mp: fix clock tree update of TF-A managed clocks - clk: imx: fracn-gppll: fix fractional part of PLL getting lost - clk: imx: composite-7ulp: Check the PCC present bit - clk: imx: composite-93: keep root clock on when mcore enabled - clk: imx: composite-8m: Enable gate clk with mcore_booted - clk: imx: composite-8m: Less function calls in __imx8m_clk_hw_composite() after error detection - clk: imx: imx6ul: fix default parent for enet*_ref_sel - clk: imx: clk-audiomix: Correct parent clock for earc_phy and audpll - nilfs2: fix potential oob read in nilfs_btree_check_delete() - nilfs2: determine empty node blocks as corrupted - nilfs2: fix potential null-ptr-deref in nilfs_btree_insert() - ext4: check stripe size compatibility on remount as well - ext4: avoid OOB when system.data xattr changes underneath the filesystem - ext4: return error on ext4_find_inline_entry - ext4: avoid negative min_clusters in find_group_orlov() - ext4: avoid potential buffer_head leak in __ext4_new_inode() - ext4: avoid buffer_head leak in ext4_mark_inode_used() - smackfs: Use rcu_assign_pointer() to ensure safe assignment in smk_set_cipso - ext4: clear EXT4_GROUP_INFO_WAS_TRIMMED_BIT even mount with discard - kthread: fix task state in kthread worker if being frozen - xz: cleanup CRC32 edits from 2018 - bpf: correctly handle malformed BPF_CORE_TYPE_ID_LOCAL relos - samples/bpf: Fix compilation errors with cf-protection option - selftests/bpf: Fix error compiling tc_redirect.c with musl libc - selftests/bpf: Fix compile if backtrace support missing in libc - selftests/bpf: Fix redefinition errors compiling lwt_reroute.c - selftests/bpf: Fix flaky selftest lwt_redirect/lwt_reroute - selftests/bpf: Fix C++ compile error from missing _Bool type - selftests/bpf: Fix error compiling test_lru_map.c - selftests/bpf: Fix arg parsing in veristat, test_progs - selftests/bpf: Fix errors compiling cg_storage_multi.h with musl libc - selftests/bpf: Fix errors compiling decap_sanity.c with musl libc - selftests/bpf: Fix errors compiling lwt_redirect.c with musl libc - selftests/bpf: Fix compiling core_reloc.c with musl-libc - selftests/bpf: Fix compiling tcp_rtt.c with musl-libc - selftests/bpf: Fix compiling flow_dissector.c with musl-libc - selftests/bpf: Fix compiling kfree_skb.c with musl-libc - selftests/bpf: Fix compiling parse_tcp_hdr_opt.c with musl-libc - selftests/bpf: Fix include of - selftests/bpf: Add a cgroup prog bpf_get_ns_current_pid_tgid() test - selftests/bpf: Refactor out some functions in ns_current_pid_tgid test - selftests/bpf: Replace CHECK with ASSERT_* in ns_current_pid_tgid test - selftests/bpf: Fix missing BUILD_BUG_ON() declaration - selftests/bpf: Fix missing UINT_MAX definitions in benchmarks - selftests/bpf: Fix missing ARRAY_SIZE() definition in bench.c - selftests/bpf: Drop unneeded error.h includes - selftests/bpf: Implement get_hw_ring_size function to retrieve current and max interface size - selftests/bpf: Fix error compiling bpf_iter_setsockopt.c with musl libc - selftests/bpf: Fix compile error from rlim_t in sk_storage_map.c - selftests/bpf: Use pid_t consistently in test_progs.c - tools/runqslower: Fix LDFLAGS and add LDLIBS support - selftests/bpf: Fix wrong binary in Makefile log output - selftests/bpf: Add CFLAGS per source file and runner - bpf: Temporarily define BPF_NO_PRESEVE_ACCESS_INDEX for GCC - bpf: Disable some `attribute ignored' warnings in GCC - bpf: Use -Wno-error in certain tests when building with GCC - selftests/bpf: Fix error linking uprobe_multi on mips - selftests/bpf: Workaround strict bpf_lsm return value check. - tpm: Clean up TPM space after command failure - xen/swiotlb: fix allocated size - xen/swiotlb: add alignment check for dma buffers - xen: tolerate ACPI NVS memory overlapping with Xen allocated memory - xen: add capability to remap non-RAM pages to different PFNs - xen: move max_pfn in xen_memory_setup() out of function scope - xen: introduce generic helper checking for memory map conflicts - minmax: avoid overly complex min()/max() macro arguments in xen - ata: libata: Clear DID_TIME_OUT for ATA PT commands with sense data - HID: wacom: Do not warn about dropped packets for first packet - HID: wacom: Support sequence numbers smaller than 16-bit - xen: use correct end address of kernel for conflict checking - drivers:drm:exynos_drm_gsc:Fix wrong assignment in gsc_bind() - drm/msm: fix %s null argument error - drm/msm/dsi: correct programming sequence for SM8350 / SM8450 - ipmi: docs: don't advertise deprecated sysfs entries - drm/msm/a5xx: workaround early ring-buffer emptiness check - drm/msm/a5xx: fix races in preemption evaluation stage - drm/msm/a5xx: properly clear preemption records on resume - drm/msm/a5xx: disable preemption in submits by default - drm/msm: Fix incorrect file name output in adreno_request_fw() - powerpc/vdso: Inconditionally use CFUNC macro - powerpc/8xx: Fix kernel vs user address comparison - powerpc/8xx: Fix initial memory mapping - drm/mediatek: Use spin_lock_irqsave() for CRTC event lock - drm/mediatek: Fix missing configuration flags in mtk_crtc_ddp_config() - jfs: fix out-of-bounds in dbNextAG() and diAlloc() - scsi: elx: libefc: Fix potential use after free in efc_nport_vport_del() - drm/vc4: hdmi: Handle error case of pm_runtime_resume_and_get - drm/bridge: lontium-lt8912b: Validate mode in drm_bridge_funcs::mode_valid() - drm/radeon/evergreen_cs: fix int overflow errors in cs track offsets - drm/rockchip: dw_hdmi: Fix reading EDID when using a forced mode - drm/rockchip: vop: Allow 4096px width scaling - drm/amd/amdgpu: Properly tune the size of struct - scsi: NCR5380: Check for phase match during PDMA fixup - scsi: smartpqi: revert propagate-the-multipath-failure-to-SML-quickly - drm/radeon: properly handle vbios fake edid sizing - drm/amdgpu: properly handle vbios fake edid sizing - drm/stm: ltdc: check memory returned by devm_kzalloc() - drm/stm: Fix an error handling path in stm_drm_platform_probe() - pmdomain: core: Harden inter-column space in debug summary - iommu/arm-smmu-qcom: apply num_context_bank fixes for SDM630 / SDM660 - iommu/arm-smmu-qcom: Work around SDM845 Adreno SMMU w/ 16K pages - iommu/arm-smmu-qcom: hide last LPASS SMMU context bank from linux - mtd: rawnand: mtk: Fix init error path - mtd: rawnand: mtk: Factorize out the logic cleaning mtk chips - mtd: rawnand: mtk: Use for_each_child_of_node_scoped() - rcu/nocb: Fix RT throttling hrtimer armed from offline CPU - mtd: powernv: Add check devm_kasprintf() returned value - iommu/amd: Do not set the D bit on AMD v2 table entries - fbdev: hpfb: Fix an error handling path in hpfb_dio_probe() - power: supply: max17042_battery: Fix SOC threshold calc w/ no current sense - power: supply: axp20x_battery: Remove design from min and max voltage - hwmon: (ntc_thermistor) fix module autoloading - mtd: slram: insert break after errors in parsing the map - hwmon: (max16065) Fix alarm attributes - hwmon: (max16065) Remove use of i2c_match_id() - hwmon: (max16065) Fix overflows seen when writing limits - ASoC: loongson: fix error release - m68k: Fix kernel_clone_args.flags in m68k_clone() - ALSA: hda: cs35l41: fix module autoloading - selftests/ftrace: Add required dependency for kprobe tests - ASoC: tas2781-i2c: Get the right GPIO line - ASoC: tas2781-i2c: Drop weird GPIO code - ASoC: tas2781: Use of_property_read_reg() - ASoC: tas2781: remove unused acpi_subysystem_id - ASoC: rt5682s: Return devm_of_clk_add_hw_provider to transfer the error - x86/mm: Use IPIs to synchronize LAM enablement - arm64: dts: mediatek: mt8195: Correct clock order for dp_intf* - clocksource/drivers/qcom: Add missing iounmap() on errors in msm_dt_timer_init() - reset: k210: fix OF node leak in probe() error path - reset: berlin: fix OF node leak in probe() error path - ARM: versatile: fix OF node leak in CPUs prepare - ARM: dts: imx7d-zii-rmu2: fix Ethernet PHY pinctrl property - ARM: dts: microchip: sama7g5: Fix RTT clock - spi: bcmbca-hsspi: Fix missing pm_runtime_disable() - arm64: dts: ti: k3-j721e-beagleboneai64: Fix reversed C6x carveout locations - arm64: dts: ti: k3-j721e-sk: Fix reversed C6x carveout locations - arm64: dts: rockchip: Correct vendor prefix for Hardkernel ODROID-M1 - ARM: dts: microchip: sam9x60: Fix rtc/rtt clocks - arm64: dts: renesas: r9a07g044: Correct GICD and GICR sizes - arm64: dts: renesas: r9a07g054: Correct GICD and GICR sizes - arm64: dts: renesas: r9a07g043u: Correct GICD and GICR sizes - regulator: Return actual error in of_regulator_bulk_get_all() - spi: ppc4xx: Avoid returning 0 when failed to parse and map IRQ - firmware: arm_scmi: Fix double free in OPTEE transport - arm64: dts: mediatek: mt8186: Fix supported-hw mask for GPU OPPs - arm64: dts: exynos: exynos7885-jackpotlte: Correct RAM amount to 4GB - spi: ppc4xx: handle irq_of_parse_and_map() errors - block: fix potential invalid pointer dereference in blk_add_partition - block: print symbolic error name instead of error code - io_uring/io-wq: inherit cpuset of cgroup in io worker - io_uring/io-wq: do not allow pinning outside of cpuset - block, bfq: fix procress reference leakage for bfqq in merge chain - block, bfq: fix uaf for accessing waker_bfqq after splitting - erofs: fix incorrect symlink detection in fast symlink - cachefiles: Fix non-taking of sb_writers around set/removexattr - block, bfq: don't break merge chain in bfq_split_bfqq() - block, bfq: choose the last bfqq from merge chain in bfq_setup_cooperator() - block, bfq: fix possible UAF for bfqq->bic with merge chain - nbd: fix race between timeout and normal completion - ublk: move zone report data out of request pdu - ipv6: avoid possible NULL deref in rt6_uncached_list_flush_dev() - net: tipc: avoid possible garbage value - net: ipv6: rpl_iptunnel: Fix memory leak in rpl_input - r8169: disable ALDPS per default for RTL8125 - net: enetc: Use IRQF_NO_AUTOEN flag in request_irq() - bareudp: Pull inner IP header on xmit. - bareudp: Pull inner IP header in bareudp_udp_encap_recv(). - Bluetooth: btusb: Fix not handling ZPL/short-transfer - can: m_can: m_can_close(): stop clocks after device has been shut down - can: m_can: enable NAPI before enabling interrupts - sock_map: Add a cond_resched() in sock_hash_free() - Bluetooth: hci_sync: Ignore errors from HCI_OP_REMOTE_NAME_REQ_CANCEL - Bluetooth: hci_core: Fix sending MGMT_EV_CONNECT_FAILED - wifi: wilc1000: fix potential RCU dereference issue in wilc_parse_join_bss_param - wifi: mac80211: use two-phase skb reclamation in ieee80211_do_stop() - wifi: cfg80211: fix two more possible UBSAN-detected off-by-one errors - wifi: mt76: mt7996: fix uninitialized TLV data - wifi: mt76: mt7996: ensure 4-byte alignment for beacon commands - wifi: mt76: mt7915: fix rx filter setting for bfee functionality - wifi: cfg80211: fix UBSAN noise in cfg80211_wext_siwscan() - wifi: mt76: mt7603: fix mixed declarations and code - crypto: hisilicon/qm - inject error before stopping queue - pm:cpupower: Add missing powercap_set_enabled() stub function - x86/sgx: Fix deadlock in SGX NUMA node search - wifi: mt76: mt7996: fix EHT beamforming capability check - wifi: mt76: mt7996: fix HE and EHT beamforming capabilities - wifi: mt76: mt7996: fix wmm set of station interface to 3 - wifi: mt76: mt7996: fix traffic delay when switching back to working channel - wifi: mt76: mt7996: use hweight16 to get correct tx antenna - wifi: mt76: mt7915: fix oops on non-dbdc mt7986 - cpufreq: ti-cpufreq: Introduce quirks to handle syscon fails appropriately - perf/arm-cmn: Ensure dtm_idx is big enough - perf/arm-cmn: Fix CCLA register offset - perf/arm-cmn: Refactor node ID handling. Again. - perf/arm-cmn: Improve debugfs pretty-printing for large configs - perf/arm-cmn: Rework DTC counters (again) - netfilter: nf_tables: remove annotation to access set timeout while holding lock - netfilter: nf_tables: reject expiration higher than timeout - netfilter: nf_tables: reject element expiration with no timeout - netfilter: nf_tables: elements with timeout below CONFIG_HZ never expire - ACPI: CPPC: Fix MASK_VAL() usage - can: j1939: use correct function name in comment - kselftest/arm64: Actually test SME vector length changes via sigreturn - padata: Honor the caller's alignment in case of chunk_size 0 - wifi: iwlwifi: mvm: increase the time between ranging measurements - wifi: iwlwifi: config: label 'gl' devices as discrete - wifi: iwlwifi: remove AX101, AX201 and AX203 support from LNL - wifi: mac80211: don't use rate mask for offchannel TX either - kselftest/arm64: signal: fix/refactor SVE vector length enumeration - powercap: intel_rapl: Fix off by one in get_rpi() - ARM: 9410/1: vfp: Use asm volatile in fmrx/fmxr macros - mount: handle OOM on mnt_warn_timestamp_expiry - RISC-V: KVM: Fix to allow hpmcounter31 from the guest - RISC-V: KVM: Allow legacy PMU access from guest - RISC-V: KVM: Fix sbiret init before forwarding to userspace - wifi: rtw88: remove CPT execution branch never used - arm64: signal: Fix some under-bracketed UAPI macros - wifi: ath12k: fix invalid AMPDU factor calculation in ath12k_peer_assoc_h_he() - wifi: ath12k: match WMI BSS chan info structure with firmware definition - wifi: ath12k: fix BSS chan info request WMI command - wifi: ath9k: Remove error checks when creating debugfs entries - wifi: brcmfmac: introducing fwil query functions - wifi: brcmfmac: export firmware interface functions - ACPI: PMIC: Remove unneeded check in tps68470_pmic_opregion_probe() - crypto: xor - fix template benchmarking - wifi: rtw88: always wait for both firmware loading attempts - EDAC/synopsys: Fix error injection on Zynq UltraScale+ - EDAC/synopsys: Fix ECC status and IRQ control race condition - !12612 Hygon model 4h~fh and 10h ATL issue fix - EDAC/amd64: Don't use the ATL for Hygon model 4h~fh and 10h processors - !12464 f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error() - f2fs: fix to don't set SB_RDONLY in f2fs_handle_critical_error() - !12584 drm/amd/display: Add null check for set_output_gamma in dcn30_set_output_transfer_func - drm/amd/display: Add null check for set_output_gamma in dcn30_set_output_transfer_func - !12461 NFSD: Limit the number of concurrent async COPY operations - NFSD: Limit the number of concurrent async COPY operations - !12559 fix CVE-2024-49900 - jfs: Fix uninit-value access of new_ea in ea_buffer - !12462 drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation - drm/amd/display: Fix index out of bounds in DCN30 degamma hardware format translation - !12455 drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func - drm/amd/display: Add NULL check for function pointer in dcn20_set_output_transfer_func - !12448 drm/amd/display: Add null check for head_pipe in dcn201_acquire_free_pipe_for_layer - drm/amd/display: Add null check for head_pipe in dcn201_acquire_free_pipe_for_layer - !12443 drm/amd/display: Fix index out of bounds in DCN30 color transformation - drm/amd/display: Fix index out of bounds in DCN30 color transformation - !12533 drm/amd/display: Add null check for head_pipe in dcn32_acquire_idle_pipe_for_head_pipe_in_layer - drm/amd/display: Add null check for head_pipe in dcn32_acquire_idle_pipe_for_head_pipe_in_layer - !12065 Fix VMAPP/VMOVP races - irqchip/gic-v4: Fix ordering between vmapp and vpe locks - irqchip/gic-v4: Make sure a VPE is locked when VMAPP is issued - irqchip/gic-v4: Substitute vmovp_lock for a per-VM lock - irqchip/gic-v4: Always configure affinity on VPE activation - !12400 drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error - drivers: media: dvb-frontends/rtl2832: fix an out-of-bounds write error - !12429 jfs: Fix uaf in dbFreeBits - jfs: Fix uaf in dbFreeBits - !12428 jfs: check if leafidx greater than num leaves per dmap tree - jfs: check if leafidx greater than num leaves per dmap tree - !12426 btrfs: fix a NULL pointer dereference when failed to start a new trasacntion - btrfs: fix a NULL pointer dereference when failed to start a new trasacntion - !12427 btrfs: wait for fixup workers before stopping cleaner kthread during umount - btrfs: wait for fixup workers before stopping cleaner kthread during umount - !12524 netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put() - netfilter: nf_reject_ipv6: fix nf_reject_ip6_tcphdr_put() - !12515 drm/amd/display: Validate function returns - drm/amd/display: Validate function returns - !12365 x86/ioapic: Handle allocation failures gracefully - x86/ioapic: Handle allocation failures gracefully - !12361 cpufreq: Avoid a bad reference count on CPU node - cpufreq: Avoid a bad reference count on CPU node - !12476 fix CVE-2024-40965 - i2c: lpi2c: Avoid calling clk_get_rate during transfer - clk: Provide !COMMON_CLK dummy for devm_clk_rate_exclusive_get() - clk: Add a devm variant of clk_rate_exclusive_get() - !12300 [OLK-6.6] AMD Address Translation Library (ATL) patches - RAS/AMD/ATL: Fix MI300 bank hash - RAS/AMD/ATL: Use system settings for MI300 DRAM to normalized address translation - RAS/AMD/ATL: Fix array overflow in get_logical_coh_st_fabric_id_mi300() - RAS/AMD/ATL: Fix bit overflow in denorm_addr_df4_np2() - RAS: Avoid build errors when CONFIG_DEBUG_FS=n - RAS/AMD/FMPM: Use atl internal.h for INVALID_SPA - RAS/AMD/FMPM: Safely handle saved records of various sizes - RAS/AMD/FMPM: Avoid NULL ptr deref in get_saved_records() - RAS/AMD/FMPM: Fix off by one when unwinding on error - RAS/AMD/FMPM: Add debugfs interface to print record entries - RAS/AMD/FMPM: Save SPA values - RAS: Introduce a FRU memory poison manager - RAS/AMD/ATL: Implement DF 4.5 NP2 denormalization - RAS/AMD/ATL: Validate address map when information is gathered - RAS/AMD/ATL: Expand helpers for adding and removing base and hole - RAS/AMD/ATL: Read DRAM hole base early - RAS/AMD/ATL: Add amd_atl pr_fmt() prefix - EDAC/amd64: Use new AMD Address Translation Library - RAS: Export helper to get ras_debugfs_dir - RAS/AMD/ATL: Add MI300 row retirement support - RAS/AMD/ATL: Add MI300 DRAM to normalized address translation support - RAS/AMD/ATL: Add MI300 support - RAS: Introduce AMD Address Translation Library - !12440 CVE-2024-35964 - Bluetooth: ISO: Fix not validating setsockopt user input - !12438 CVE-2024-35949 - btrfs: make sure that WRITTEN is set on all metadata blocks - !12410 iommu/arm-smmu: Use the correct type in nvidia_smmu_context_fault() - iommu/arm-smmu: Use the correct type in nvidia_smmu_context_fault() - !12389 mm/swapfile: skip HugeTLB pages for unuse_vma - mm/swapfile: skip HugeTLB pages for unuse_vma - !12363 md: use RCU lock to protect traversal in md_spares_need_change() - md: use RCU lock to protect traversal in md_spares_need_change() - !12351 i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume - i2c: stm32f7: Do not prepare/unprepare clock during runtime suspend/resume - !12394 tracing/timerlat: Fix a race during cpuhp processing - tracing/timerlat: Fix a race during cpuhp processing - !12397 tracing/timerlat: Drop interface_lock in stop_kthread() - tracing/timerlat: Drop interface_lock in stop_kthread() - !12399 wifi: mt76: mt7996: fix NULL pointer dereference in mt7996_mcu_sta_bfer_he - wifi: mt76: mt7996: fix NULL pointer dereference in mt7996_mcu_sta_bfer_he - !12390 RDMA/hns: Fix missing spin_lock_init() for qp flush lock - RDMA/hns: Fix missing spin_lock_init() for qp flush lock - !12273 drm/amdgpu: fix mc_data out-of-bounds read warning - drm/amdgpu: fix mc_data out-of-bounds read warning - !12263 drm/amd/display: Avoid overflow from uint32_t to uint8_t - drm/amd/display: Avoid overflow from uint32_t to uint8_t - !12288 [OLK-6.6] AMD Turin perf vendor event patches - perf vendor events amd: Add Zen 5 mapping - perf vendor events amd: Add Zen 5 metrics - perf vendor events amd: Add Zen 5 uncore events - perf vendor events amd: Add Zen 5 core events - tracing: Add the ::microcode field to the mce_record tracepoint - tracing: Add the ::ppin field to the mce_record tracepoint - x86/mce: Clean up TP_printk() output line of the 'mce_record' tracepoint - !12322 LoongArch: fix dma-direct.h not found - LoongArch: fix dma-direct.h not found - !12293 nfsd: return -EINVAL when namelen is 0 - nfsd: return -EINVAL when namelen is 0 - !12335 ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir() - ntb: intel: Fix the NULL vs IS_ERR() bug for debugfs_create_dir() - !12338 drm/amd/display: Add NULL pointer check for kzalloc - drm/amd/display: Add NULL pointer check for kzalloc - !12317 nfsd: call cache_put if xdr_reserve_space returns NULL - nfsd: call cache_put if xdr_reserve_space returns NULL - !12066 drm/amd/display: added NULL check at start of dc_validate_stream - drm/amd/display: added NULL check at start of dc_validate_stream- !12168 crypto: stm32/cryp - call finalize with bh disabled - crypto: stm32/cryp - call finalize with bh disabled - !11502 Virtcca feature: modify vfio/msi/iommu driver to enable confidential device assignment - virtcca feature: msi place modify - virtcca feature: fix msi iova map - virtcca feature: extract the function to the virtcca_coda.c file - virtcca feature: read or write msi forwarding to the secure world - virtcca feature: read or write bar space forwarding to the secure world - virtcca feature: read or write config space forwarding to secure world - virtcca feature: activate confidential vm to set security device s_s2ttbr - virtcca feature: set device security properties - virtcca feature: secure device page fault - virtcca feature: vfio driver dma map - virtcca feature: bind the kvm handle of cvm with smmu domain - virtcca feature: vfio attach the device list to secure world - !12304 btrfs: fix race setting file private on concurrent lseek using same fd - btrfs: fix race setting file private on concurrent lseek using same fd - !12314 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.52-6.6.53 LTS Patches - USB: serial: pl2303: add device id for Macrosilicon MS3020 - can: mcp251xfd: move mcp251xfd_timestamp_start()/stop() into mcp251xfd_chip_start/stop() - can: mcp251xfd: properly indent labels - x86/mm: Switch to new Intel CPU model defines - nvme-pci: qdepth 1 quirk - gpiolib: cdev: Ignore reconfiguration without direction - Revert "wifi: cfg80211: check wiphy mutex is held for wdev mutex" - netfilter: nf_tables: missing iterator type in lookup walk - netfilter: nft_set_pipapo: walk over current view on netlink dump - netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in nft_socket_cgroup_subtree_level() - netfilter: nft_socket: make cgroupsv2 matching work with namespaces - powercap/intel_rapl: Add support for AMD family 1Ah - drm: Expand max DRM device number to full MINORBITS - accel: Use XArray instead of IDR for minors - drm: Use XArray instead of IDR for minors - spi: spidev: Add missing spi_device_id for jg10309-01 - block: Fix where bio IO priority gets set - tools: hv: rm .*.cmd when make clean - x86/hyperv: Set X86_FEATURE_TSC_KNOWN_FREQ when Hyper-V provides frequency - smb: client: fix hang in wait_for_response() for negproto - spi: bcm63xx: Enable module autoloading - drm: komeda: Fix an issue related to normalized zpos - ALSA: hda: add HDMI codec ID for Intel PTL - ASoC: amd: yc: Add a quirk for MSI Bravo 17 (D7VEK) - spi: spidev: Add an entry for elgin,jg10309-01 - ASoC: fix module autoloading - ASoC: tda7419: fix module autoloading - ASoC: google: fix module autoloading - ASoC: intel: fix module autoloading - ASoC: Intel: soc-acpi-cht: Make Lenovo Yoga Tab 3 X90F DMI match less strict - can: mcp251xfd: mcp251xfd_ring_init(): check TX-coalescing configuration - wifi: iwlwifi: clear trans->state earlier upon error - wifi: mac80211: free skb on error path in ieee80211_beacon_get_ap() - wifi: iwlwifi: mvm: pause TCM when the firmware is stopped - wifi: iwlwifi: mvm: fix iwl_mvm_max_scan_ie_fw_cmd_room() - wifi: iwlwifi: mvm: fix iwl_mvm_scan_fits() calculation - wifi: iwlwifi: lower message level for FW buffer destination - LoongArch: Define ARCH_IRQ_INIT_FLAGS as IRQ_NOPROBE - net: ftgmac100: Ensure tx descriptor updates are visible - platform/x86: x86-android-tablets: Make Lenovo Yoga Tab 3 X90F DMI match less strict - microblaze: don't treat zero reserved memory regions as error - hwmon: (asus-ec-sensors) remove VRM temp X570-E GAMING - pinctrl: at91: make it work with current gpiolib - scsi: lpfc: Fix overflow build issue - ALSA: hda/realtek - FIxed ALC285 headphone no sound - ALSA: hda/realtek - Fixed ALC256 headphone no sound - ASoC: allow module autoloading for table board_ids - ASoC: allow module autoloading for table db1200_pids - ASoC: mediatek: mt8188: Mark AFE_DAC_CON0 register as volatile - ASoC: SOF: mediatek: Add missing board compatible - !12151 nfc: pn533: Add poll mod list filling check - nfc: pn533: Add poll mod list filling check - !12141 drm/vmwgfx: Fix prime with external buffers - drm/vmwgfx: Fix prime with external buffers - !12129 bpf: Remove tst_run from lwt_seg6local_prog_ops. - bpf: Remove tst_run from lwt_seg6local_prog_ops. - !12296 drivers/perf: Fix ali_drw_pmu driver interrupt status clearing - drivers/perf: Fix ali_drw_pmu driver interrupt status clearing - !12200 CVE-2024-38608 - net/mlx5e: Fix netif state handling - net/mlx5e: Add wrapping for auxiliary_driver ops and remove unused args - !12201 netfilter: nf_tables: use timestamp to check for set element timeout - netfilter: nf_tables: use timestamp to check for set element timeout - !12295 i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup - i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup - !12306 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.51-6.6.52 LTS Patches - riscv: dts: starfive: add assigned-clock* to limit frquency - pinctrl: meteorlake: Add Arrow Lake-H/U ACPI ID - cifs: Fix signature miscalculation - ASoC: codecs: avoid possible garbage value in peb2466_reg_read() - drm/i915/guc: prevent a possible int overflow in wq offsets - spi: geni-qcom: Fix incorrect free_irq() sequence - spi: geni-qcom: Undo runtime PM changes at driver exit time - drm/amd/amdgpu: apply command submission parser for JPEG v1 - drm/amdgpu/atomfirmware: Silence UBSAN warning - drm/nouveau/fb: restore init() for ramgp102 - drm/syncobj: Fix syncobj leak in drm_syncobj_eventfd_ioctl - soundwire: stream: Revert "soundwire: stream: fix programming slave ports for non-continous port maps" - spi: nxp-fspi: fix the KASAN report out-of-bounds bug - tracing/osnoise: Fix build when timerlat is not enabled - net: dsa: felix: ignore pending status of TAS module when it's disabled - selftests: net: csum: Fix checksums for packets with non-zero padding - net: ftgmac100: Enable TX interrupt to avoid TX timeout - octeontx2-af: Modify SMQ flush sequence to drop packets - fou: fix initialization of grc - net/mlx5: Verify support for scheduling element and TSAR type - net/mlx5: Correct TASR typo into TSAR - net/mlx5: Add missing masks and QoS bit masks for scheduling elements - net/mlx5: Explicitly set scheduling element and TSAR type - net/mlx5e: Add missing link mode to ptys2ext_ethtool_map - IB/mlx5: Rename 400G_8X speed to comply to naming convention - net/mlx5e: Add missing link modes to ptys2ethtool_map - net/mlx5: Update the list of the PCI supported devices - igb: Always call igb_xdp_ring_update_tail() under Tx lock - ice: fix VSI lists confusion when adding VLANs - ice: fix accounting for filters shared by multiple VSIs - ice: Fix lldp packets dropping after changing the number of channels - hwmon: (pmbus) Conditionally clear individual status bits for pmbus rev >= 1.2 - selftests/bpf: Support SOCK_STREAM in unix_inet_redir_to_connected() - cxl/core: Fix incorrect vendor debug UUID define - eeprom: digsy_mtc: Fix 93xx46 driver probe failure - drm/amd/display: Fix FEC_READY write on DP LT - drm/amd/display: Disable error correction if it's not supported - arm64: dts: rockchip: fix PMIC interrupt pin in pinctrl for ROCK Pi E - net: xilinx: axienet: Fix race in axienet_stop - mm: avoid leaving partial pfn mappings around in error case - x86/hyperv: fix kexec crash due to VP assist page corruption - dm-integrity: fix a race condition when accessing recalc_sector - net: tighten bad gso csum offset check in virtio_net_hdr - minmax: reduce min/max macro expansion in atomisp driver - arm64: dts: rockchip: override BIOS_DISABLE signal via GPIO hog on RK3399 Puma - arm64: dts: rockchip: fix eMMC/SPI corruption when audio has been used on RK3399 Puma - selftests: mptcp: join: restrict fullmesh endp on 1st sf - platform/x86: panasonic-laptop: Allocate 1 entry extra in the sinf array - NFS: Avoid unnecessary rescanning of the per-server delegation list - NFSv4: Fix clearing of layout segments in layoutreturn - smb/server: fix return value of smb2_open() - Input: i8042 - add Fujitsu Lifebook E756 to i8042 quirk table - drm/msm/adreno: Fix error return if missing firmware-name - platform/surface: aggregator_registry: Add support for Surface Laptop Go 3 - platform/surface: aggregator_registry: Add Support for Surface Pro 10 - scripts: kconfig: merge_config: config files: add a trailing newline - HID: multitouch: Add support for GT7868Q - Input: synaptics - enable SMBus for HP Elitebook 840 G2 - Input: ads7846 - ratelimit the spi_sync error message - btrfs: update target inode's ctime on unlink - wifi: mt76: mt7921: fix NULL pointer access in mt7921_ipv6_addr_change - powerpc/mm: Fix boot warning with hugepages and CONFIG_DEBUG_VIRTUAL - net: phy: vitesse: repair vsc73xx autonegotiation - drm: panel-orientation-quirks: Add quirk for Ayn Loki Max - drm: panel-orientation-quirks: Add quirk for Ayn Loki Zero - net: ethernet: use ip_hdrlen() instead of bit shift - usbnet: ipheth: fix carrier detection in modes 1 and 4 - usbnet: ipheth: do not stop RX on failing RX callback - usbnet: ipheth: drop RX URBs with no payload - usbnet: ipheth: remove extraneous rx URB length check - ksmbd: override fsids for smb2_query_info() - ksmbd: override fsids for share path check - nvmem: u-boot-env: error if NVMEM device is too small - nvmem: u-boot-env: improve coding style - nvmem: u-boot-env: use nvmem device helpers - nvmem: u-boot-env: use nvmem_add_one_cell() nvmem subsystem helper - nvmem: core: add nvmem_dev_size() helper - iio: adc: ad7124: fix DT configuration parsing - iio: adc: ad7124: Switch from of specific to fwnode based property handling - device property: Introduce device_for_each_child_node_scoped() - device property: Add cleanup.h based fwnode_handle_put() scope based cleanup. - !12301 bpf: Fix use-after-free in bpf_uprobe_multi_link_attach() - bpf: Fix use-after-free in bpf_uprobe_multi_link_attach() - !12291 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.50-6.6.51 LTS Patches - Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync - Bluetooth: hci_sync: Fix UAF on create_le_conn_complete - Bluetooth: hci_sync: Fix UAF in hci_acl_create_conn_sync - spi: spi-fsl-lpspi: Fix off-by-one in prescale max - x86/mm: Fix PTI for i386 some more - membarrier: riscv: Add full memory barrier in switch_mm() - ublk_drv: fix NULL pointer dereference in ublk_ctrl_start_recovery() - riscv: Do not restrict memory size because of linear mapping on nommu - riscv: Fix toolchain vector detection - gpio: modepin: Enable module autoloading - gpio: rockchip: fix OF node leak in probe() - drm/i915/fence: Mark debug_fence_free() with __maybe_unused - drm/i915/fence: Mark debug_fence_init_onstack() with __maybe_unused - clk: qcom: gcc-sm8550: Don't park the USB RCG at registration time - clk: qcom: gcc-sm8550: Don't use parking clk_ops for QUPs - ASoC: sunxi: sun4i-i2s: fix LRCLK polarity in i2s mode - ASoc: SOF: topology: Clear SOF link platform name upon unload - nvme-pci: allocate tagset on reset if necessary - ASoC: tegra: Fix CBB error during probe() - powerpc/vdso: Don't discard rela sections - powerpc/64e: Define mmu_pte_psize static - powerpc/64e: split out nohash Book3E 64-bit code - powerpc/64e: remove unused IBM HTW code - clk: qcom: ipq9574: Update the alpha PLL type for GPLLs - crypto: starfive - Fix nent assignment in rsa dec - crypto: starfive - Align rsa input data to 32-bit - ata: libata-scsi: Check ATA_QCFLAG_RTF_FILLED before using result_tf - ata: libata-scsi: Remove redundant sense_buffer memsets - drm/amdgpu: handle gfx12 in amdgpu_display_verify_sizes - drm/amd: Add gfx12 swizzle mode defs - can: mcp251xfd: rx: add workaround for erratum DS80000789E 6 of mcp2518fd - can: mcp251xfd: clarify the meaning of timestamp - can: mcp251xfd: rx: prepare to workaround broken RX FIFO head index erratum - can: mcp251xfd: mcp251xfd_handle_rxif_ring_uinc(): factor out in separate function - ACPI: processor: Fix memory leaks in error paths of processor_add() - ACPI: processor: Return an error if acpi_processor_get_info() fails in processor_add() - workqueue: Improve scalability of workqueue watchdog touch - workqueue: wq_watchdog_touch is always called with valid CPU - Revert "mm: skip CMA pages when they are not available" - mm/vmscan: use folio_migratetype() instead of get_pageblock_migratetype() - uprobes: Use kzalloc to allocate xol area - clocksource/drivers/timer-of: Remove percpu irq related code - clocksource/drivers/imx-tpm: Fix next event not taking effect sometime - clocksource/drivers/imx-tpm: Fix return -ETIME when delta exceeds INT_MAX - Drivers: hv: vmbus: Fix rescind handling in uio_hv_generic - nvmem: Fix return type of devm_nvmem_device_get() in kerneldoc - usb: dwc3: Avoid waking up gadget during startxfer - usb: cdns2: Fix controller reset issue - usb: dwc3: core: update LC timer as per USB Spec V3.2 - iio: adc: ad7124: fix chip ID mismatch - iio: adc: ad7606: remove frstdata check for serial mode - iio: adc: ad7124: fix config comparison - iio: fix scale application in iio_convert_raw_to_processed_unlocked - iio: buffer-dmaengine: fix releasing dma channel on error - staging: iio: frequency: ad9834: Validate frequency parameter value - intel: legacy: Partial revert of field get conversion - tcp: process the 3rd ACK with sk_socket for TFO/MPTCP - cpufreq: amd-pstate: fix the highest frequency issue which limits performance - cpufreq: amd-pstate: Enable amd-pstate preferred core support - ACPI: CPPC: Add helper to get the highest performance value - riscv: Use accessors to page table entries instead of direct dereference - riscv: mm: Only compile pgtable.c if MMU - mm: Introduce pudp/p4dp/pgdp_get() functions - riscv: Use WRITE_ONCE() when setting page table entries - NFSv4: Add missing rescheduling points in nfs_client_return_marked_delegations - ata: pata_macio: Use WARN instead of BUG - spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register - MIPS: cevt-r4k: Don't call get_c0_compare_int if timer irq is installed - lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() - of/irq: Prevent device address out-of-bounds read in interrupt map walk - usbnet: ipheth: race between ipheth_close and error handling - s390/vmlinux.lds.S: Move ro_after_init section behind rodata section - btrfs: initialize location to fix -Wmaybe-uninitialized in btrfs_lookup_dentry() - kselftests: dmabuf-heaps: Ensure the driver name is null-terminated - i3c: mipi-i3c-hci: Error out instead on BUG_ON() in IBI DMA setup - i3c: master: svc: resend target address when get NACK - vfs: Fix potential circular locking through setxattr() and removexattr() - regmap: maple: work around gcc-14.1 false-positive warning - LoongArch: Use correct API to map cmdline in relocate_kernel() - net: dpaa: avoid on-stack arrays of NR_CPUS elements - Bluetooth: btnxpuart: Fix Null pointer dereference in btnxpuart_flush() - tcp: Don't drop SYN+ACK for simultaneous connect(). - riscv: set trap vector earlier - cxl/region: Verify target positions using the ordered target list - btrfs: replace BUG_ON with ASSERT in walk_down_proc() - fs/ntfs3: Check more cases when directory is corrupted - smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu() - drm/amdgpu: reject gang submit on reserved VMIDs - dma-mapping: benchmark: Don't starve others when doing the test - ext4: fix possible tid_t sequence overflows - drm/amdgpu: Set no_hw_access when VF request full GPU fails - libbpf: Add NULL checks to bpf_object__{prev_map,next_map} - ASoc: TAS2781: replace beXX_to_cpup with get_unaligned_beXX for potentially broken alignment - hwmon: (nct6775-core) Fix underflows seen when writing limit attributes - crypto: qat - fix unintentional re-enabling of error interrupts - scsi: pm80xx: Set phy->enable_completion only when we wait for it - virtio_ring: fix KMSAN error for premapped mode - devres: Initialize an uninitialized struct member - cgroup: Protect css->cgroup write under css_set_lock - iommu/vt-d: Handle volatile descriptor status read - dm init: Handle minors larger than 255 - ASoC: topology: Properly initialize soc_enum values - phy: zynqmp: Take the phy mutex in xlate - firmware: cs_dsp: Don't allow writes to read-only controls - xen: privcmd: Fix possible access to a freed kirqfd instance - selftests: net: enable bind tests - net: dsa: vsc73xx: fix possible subblocks range of CAPT block - net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN - r8152: fix the firmware doesn't work - fou: Fix null-ptr-deref in GRO. - bareudp: Fix device stats updates. - bpf, net: Fix a potential race in do_sock_getsockopt() - net/socket: Break down __sys_getsockopt - net/socket: Break down __sys_setsockopt - bpf: Add sockptr support for setsockopt - bpf: Add sockptr support for getsockopt - usbnet: modern method to get random MAC - ice: do not bring the VSI up, if it was down before the XDP setup - ice: protect XDP configuration with a mutex - igc: Unlock on error in igc_io_resume() - Bluetooth: MGMT: Fix not generating command complete for MGMT_OP_DISCONNECT - Bluetooth: hci_sync: Introduce hci_cmd_sync_run/hci_cmd_sync_run_once - Bluetooth: hci_sync: Attempt to dequeue connection attempt - Bluetooth: hci_sync: Add helper functions to manipulate cmd_sync queue - Bluetooth: hci_conn: Fix UAF Write in __hci_acl_create_connection_sync - Bluetooth: Remove pending ACL connection attempts - Bluetooth: hci_conn: Only do ACL connections sequentially - Bluetooth: hci_event: Use HCI error defines instead of magic values - Bluetooth: qca: If memdump doesn't work, re-enable IBS - can: kvaser_pciefd: Use a single write when releasing RX buffers - can: kvaser_pciefd: Move reset of DMA RX buffers to the end of the ISR - can: kvaser_pciefd: Rename board_irq to pci_irq - can: kvaser_pciefd: Remove unnecessary comment - can: kvaser_pciefd: Skip redundant NULL pointer check in ISR - regulator: core: Stub devm_regulator_bulk_get_const() if !CONFIG_REGULATOR - platform/x86: dell-smbios: Fix error path in dell_smbios_init() - ice: Add netif_device_attach/detach into PF reset flow - igb: Fix not clearing TimeSync interrupts for 82580 - cifs: Fix FALLOC_FL_ZERO_RANGE to preflush buffered part of target region - rust: kbuild: fix export of bss symbols - rust: Use awk instead of recent xargs - can: mcp251xfd: fix ring configuration when switching from CAN-CC to CAN-FD mode - can: m_can: Release irq on error in m_can_open - drm/amdgpu: check for LINEAR_ALIGNED correctly in check_tiling_flags_gfx6 - pcmcia: Use resource_size function on resource object - media: qcom: camss: Add check for v4l2_fwnode_endpoint_parse - Input: ili210x - use kvmalloc() to allocate buffer for firmware update - PCI: keystone: Add workaround for Errata #i2037 (AM65x SR 1.0) - ice: Check all ice_vsi_rebuild() errors in function - vfio/spapr: Always clear TCEs before unsetting the window - media: vivid: don't set HDMI TX controls if there are no HDMI outputs - drm/amdgpu: clear RB_OVERFLOW bit when enabling interrupts - drm/amdgpu: Fix smatch static checker warning - drm/amd/display: Check HDCP returned status - usb: uas: set host status byte on data completion error - wifi: brcmsmac: advertise MFP_CAPABLE to enable WPA3 - leds: spi-byte: Call of_node_put() on error path - media: vivid: fix wrong sizeimage value for mplane - riscv: kprobes: Use patch_text_nosync() for insn slots - fs/ntfs3: One more reason to mark inode bad - wifi: iwlwifi: mvm: use IWL_FW_CHECK for link ID check - netfilter: nf_conncount: fix wrong variable type - iommu: sun50i: clear bypass register - x86/kmsan: Fix hook for unaligned accesses - af_unix: Remove put_pid()/put_cred() in copy_peercred(). - irqchip/armada-370-xp: Do not allow mapping IRQ 0 and 1 - accel/habanalabs/gaudi2: unsecure edma max outstanding register - bpf, verifier: Correct tail_call_reachable for bpf prog - smack: unix sockets: fix accept()ed socket label - wifi: ath12k: fix uninitialize symbol error on ath12k_peer_assoc_h_he() - ALSA: hda: Add input value sanity checks to HDMI channel map controls - ALSA: control: Apply sanity check of input values for user elements - drm/i915: Do not attempt to load the GSC multiple times - nilfs2: fix state management in error path of log writing function - sched: sch_cake: fix bulk flow accounting logic for host fairness - ila: call nf_unregister_net_hooks() sooner - tcp_bpf: fix return value of tcp_bpf_sendmsg() - Revert "drm/amdgpu: align pp_power_profile_mode with kernel docs" - x86/apic: Make x2apic_disable() work correctly - x86/fpu: Avoid writing LBR bit to IA32_XSS unless supported - net: mctp-serial: Fix missing escapes on transmit - tracing/timerlat: Add interface_lock around clearing of kthread in stop_kthread() - tracing: Avoid possible softlockup in tracing_iter_reset() - tracing/timerlat: Only clear timer if a kthread exists - mm: vmalloc: ensure vmap_block is initialised before adding to queue - kexec_file: fix elfcorehdr digest exclusion when CONFIG_CRASH_HOTPLUG=y - clk: qcom: clk-alpha-pll: Fix the trion pll postdiv set rate API - clk: qcom: clk-alpha-pll: Fix the pll post div mask - clk: starfive: jh7110-sys: Add notifier for PLL0 clock - fuse: fix memory leak in fuse_create_open - fuse: use unsigned type for getxattr/listxattr size truncation - fuse: update stats for pages in dropped aux writeback list - mmc: cqhci: Fix checking of CQHCI_HALT state - mmc: sdhci-of-aspeed: fix module autoloading - mmc: dw_mmc: Fix IDMAC operation with pages bigger than 4K - mmc: core: apply SD quirks earlier during probe - Bluetooth: MGMT: Ignore keys being loaded with invalid type - Revert "Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE" - rust: macros: provide correct provenance when constructing THIS_MODULE - rust: types: Make Opaque::get const - nvme-pci: Add sleep quirk for Samsung 990 Evo - x86/kaslr: Expose and use the end of the physical memory address space - irqchip/gic-v2m: Fix refcount leak in gicv2m_of_init() - x86/tdx: Fix data leak in mmio_read() - ksmbd: Unlock on in ksmbd_tcp_set_interfaces() - ALSA: hda/realtek: Support mute LED on HP Laptop 14-dq2xxx - ALSA: hda/realtek: add patch for internal mic in Lenovo V145 - ALSA: hda/conexant: Add pincfg quirk to enable top speakers on Sirius devices - KVM: SVM: Don't advertise Bus Lock Detect to guest if SVM support is missing - KVM: SVM: fix emulation of msr reads/writes of MSR_FS_BASE and MSR_GS_BASE - net: microchip: vcap: Fix use-after-free error in kunit test - !12289 CVE-2024-46691 - usb: typec: ucsi: Move unregister out of atomic section - !12223 [sync] PR-11910: ext4: dax: Fix inconsistent isize during writing - ext4: dax: keep orphan list before truncate overflow allocated blocks - ext4: dax: fix overflowing extents beyond inode size when partially writing - !12146 mm: page_cache_ra_order: Restore 'PF_MEMALLOC_NOFS' flag in 'fallback' branch - mm: page_cache_ra_order: Restore 'PF_MEMALLOC_NOFS' flag in 'fallback' branch - !12090 USB: usbtmc: prevent kernel-usb-infoleak - USB: usbtmc: prevent kernel-usb-infoleak - !12286 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.49-6.6.50 LTS Patches - i2c: Use IS_REACHABLE() for substituting empty ACPI functions - virtio_net: Fix napi_skb_cache_put warning - media: uvcvideo: Enforce alignment of frame and interval - drm/amd/display: Check BIOS images before it is used - drm/amd/display: use preferred link settings for dp signal only - drm/amd/display: Correct the defined value for AMDGPU_DMUB_NOTIFICATION_MAX - drm/amd/display: added NULL check at start of dc_validate_stream - drm/amd/display: Don't use fsleep for PSR exit waits on dmub replay - drm/amdgpu: add lock in kfd_process_dequeue_from_device - drm/amdgpu: add lock in amdgpu_gart_invalidate_tlb - drm/amdgpu: add skip_hw_access checks for sriov - block: remove the blk_flush_integrity call in blk_integrity_unregister - f2fs: fix to do sanity check on blocks for inline_data inode - wifi: cfg80211: make hash table duplicates more survivable - dmaengine: altera-msgdma: properly free descriptor in msgdma_free_descriptor - dmaengine: altera-msgdma: use irq variant of spin_lock/unlock while invoking callbacks - gfs2: Revert "Add quota_change type" - crypto: stm32/cryp - call finalize with bh disabled - drm/meson: plane: Add error handling - platform/chrome: cros_ec_lpc: MEC access can use an AML mutex - smack: tcp: ipv4, fix incorrect labeling - regmap: spi: Fix potential off-by-one when calculating reserved size - drm/amdgu: fix Unintentional integer overflow for mall size - net: remove NULL-pointer net parameter in ip_metrics_convert - fsnotify: clear PARENT_WATCHED flags lazily - usb: typec: ucsi: Fix null pointer dereference in trace - usbip: Don't submit special requests twice - media: v4l2-cci: Always assign *val - rcu/nocb: Remove buggy bypass lock contention mitigation - pwm: xilinx: Fix u32 overflow issue in 32-bit width PWM mode. - ionic: fix potential irq name truncation - RDMA/efa: Properly handle unexpected AQ completions - soc: qcom: smem: Add qcom_smem_bust_hwspin_lock_by_host() - hwspinlock: Introduce hwspin_lock_bust() - wifi: mac80211: check ieee80211_bss_info_change_notify() against MLD - PCI: al: Check IORESOURCE_BUS existence during probe - cpufreq: scmi: Avoid overflow of target_freq in fast switch - wifi: iwlwifi: remove fw_running op - drm/amdgpu: update type of buf size to u32 for eeprom functions - drm/kfd: Correct pinned buffer handling at kfd restore and validate process - wifi: rtw89: ser: avoid multiple deinit on same CAM - drm/amd/pm: check negtive return for table entries - drm/amd/pm: check specific index for smu13 - drm/amd/pm: check specific index for aldebaran - drm/amdgpu/pm: Check input value for CUSTOM profile mode setting on legacy SOCs - wifi: ath11k: initialize 'ret' in ath11k_qmi_load_file_target_mem() - wifi: ath12k: initialize 'ret' in ath12k_qmi_load_file_target_mem() - drm/amdkfd: Reconcile the definition and use of oem_id in struct kfd_topology_device - drm/amdgpu: fix mc_data out-of-bounds read warning - drm/amdgpu: Fix out-of-bounds read of df_v1_7_channel_number - drm/amdkfd: Check debug trap enable before write dbg_ev_file - drm/amdgpu: Fix the uninitialized variable warning - drm/amdgpu/pm: Fix uninitialized variable agc_btc_response - drm/amdgpu/pm: Fix uninitialized variable warning for smu10 - drm/amd/pm: fix uninitialized variable warnings for vangogh_ppt - drm/amd/amdgpu: Check tbo resource pointer - drm/amd/display: Fix Coverity INTEGER_OVERFLOW within decide_fallback_link_setting_max_bw_policy - drm/amd/display: Spinlock before reading event - drm/amd/display: Fix Coverity INTEGER_OVERFLOW within dal_gpio_service_create - drm/amd/display: Fix Coverity INTERGER_OVERFLOW within construct_integrated_info - drm/amd/display: Check num_valid_sets before accessing reader_wm_sets[] - drm/amd/display: Stop amdgpu_dm initialize when stream nums greater than 6 - drm/amdgpu: avoid reading vf2pf info size from FB - drm/amd/pm: fix uninitialized variable warnings for vega10_hwmgr - drm/amd/pm: fix warning using uninitialized value of max_vid_step - drm/amd/pm: fix uninitialized variable warning for smu8_hwmgr - drm/amd/pm: fix uninitialized variable warning - drm/amdgpu/pm: Check the return value of smum_send_msg_to_smc - drm/amdgpu: fix overflowed array index read warning - drm/amdgpu: Fix uninitialized variable warning in amdgpu_afmt_acr - selftests: mptcp: join: stop transfer when check is done (part 2.2) - selftests: mptcp: join: disable get and dump addr checks - selftests: mptcp: join: test for flush/re-add endpoints - selftests: mptcp: join: check re-adding init endp with != id - selftests: mptcp: join: check re-using ID of unused ADD_ADDR - selftests: mptcp: add explicit test case for remove/readd - selftests: mptcp: join: cannot rm sf if closed - selftests: mptcp: declare event macros in mptcp_lib - selftests: mptcp: userspace pm get addr tests - selftests: mptcp: dump userspace addrs list - mptcp: pm: fix RM_ADDR ID for the initial subflow - mptcp: make pm_remove_addrs_and_subflows static - ASoC: codecs: ES8326: button detect issue - ASoC: amd: yc: Support mic on Lenovo Thinkpad E14 Gen 6 - net: usb: qmi_wwan: add MeiG Smart SRM825L - dma-debug: avoid deadlock between dma debug vs printk and netconsole - i2c: Fix conditional for substituting empty ACPI functions - ASoC: amd: yc: Support mic on HP 14-em0002la - smb: client: fix FSCTL_GET_REPARSE_POINT against NetApp - net/mlx5: DR, Fix 'stack guard page was hit' error in dr_rule - ALSA: seq: ump: Explicitly reset RPN with Null RPN - ALSA: seq: ump: Transmit RPN/NRPN message at each MSB/LSB data reception - ALSA: seq: ump: Use the common RPN/bank conversion context - ALSA: ump: Explicitly reset RPN with Null RPN - ALSA: ump: Transmit RPN/NRPN message at each MSB/LSB data reception - ALSA: hda/conexant: Mute speakers at suspend / shutdown - ALSA: hda/generic: Add a helper to mute speakers at suspend/shutdown - btrfs: tree-checker: validate dref root and objectid - scsi: ufs: core: Bypass quick recovery if force reset is needed - scsi: ufs: core: Check LSDBS cap when !mcq - drm: panel-orientation-quirks: Add quirk for OrangePi Neo - drm/fb-helper: Don't schedule_work() to flush frame buffer during panic() - !12281 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.48-6.6.49 LTS Patches - apparmor: fix policy_unpack_test on big endian systems - arm64: dts: freescale: imx93-tqma9352-mba93xxla: fix typo - arm64: dts: freescale: imx93-tqma9352: fix CMA alloc-ranges - arm64: dts: imx93: update default value for snps,clk-csr - arm64: dts: imx93: add nvmem property for eqos - arm64: dts: imx93: add nvmem property for fec1 - arm64: dts: imx8mp-beacon-kit: Fix Stereo Audio on WM8962 - ARM: dts: omap3-n900: correct the accelerometer orientation - usb: cdnsp: fix for Link TRB with TC - usb: cdnsp: fix incorrect index in cdnsp_get_hw_deq function - usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() - usb: dwc3: st: add missing depopulate in probe error path - usb: dwc3: core: Prevent USB core invalid event buffer address access - usb: dwc3: omap: add missing depopulate in probe error path - ARM: dts: imx6dl-yapp43: Increase LED current to match the yapp4 HW design - USB: serial: option: add MeiG Smart SRM825L - scsi: sd: Ignore command SYNCHRONIZE CACHE error if format in progress - firmware: qcom: scm: Mark get_wq_ctx() as atomic call - cdc-acm: Add DISABLE_ECHO quirk for GE HealthCare UI Controller - soc: qcom: pmic_glink: Fix race during initialization - soc: qcom: pmic_glink: Actually communicate when remote goes down - soc: qcom: cmd-db: Map shared memory as WC, not WB - nfc: pn533: Add poll mod list filling check - net: busy-poll: use ktime_get_ns() instead of local_clock() - drm/amd/display: avoid using null object of framebuffer - sctp: fix association labeling in the duplicate COOKIE-ECHO case - gtp: fix a potential NULL pointer dereference - bonding: change ipsec_lock from spin lock to mutex - bonding: extract the use of real_device into local variable - bonding: implement xdo_dev_state_free and call it after deletion - selftests: forwarding: local_termination: Down ports on cleanup - selftests: forwarding: no_forwarding: Down ports on cleanup - netfilter: nf_tables_ipv6: consider network offset in netdev/egress validation - wifi: iwlwifi: fw: fix wgds rev 3 exact size - netfilter: nf_tables: restore IP sanity checks for netdev/egress - iommu: Do not return 0 from map_pages if it doesn't do anything - Bluetooth: hci_core: Fix not handling hibernation actions - Bluetooth: btnxpuart: Fix random crash seen while removing driver - Bluetooth: btnxpuart: Handle FW Download Abort scenario - Bluetooth: btnxpuart: Resolve TX timeout error in power save stress test - dmaengine: dw: Add memory bus width verification - dmaengine: dw: Add peripheral bus width verification - phy: xilinx: phy-zynqmp: Fix SGMII linkup failure on resume - dmaengine: dw-edma: Do not enable watermark interrupts for HDMA - dmaengine: dw-edma: Fix unmasking STOP and ABORT interrupts for HDMA - soundwire: stream: fix programming slave ports for non-continous port maps - phy: fsl-imx8mq-usb: fix tuning parameter name - iommufd: Do not allow creating areas without READ or WRITE - cifs: Fix FALLOC_FL_PUNCH_HOLE support - mm: Fix missing folio invalidation calls during truncation - ovl: ovl_parse_param_lowerdir: Add missed ' - pinctrl: starfive: jh7110: Correct the level trigger configuration of iev register - pinctrl: mediatek: common-v2: Fix broken bias-disable for PULL_PU_PD_RSEL_TYPE - ASoC: SOF: amd: Fix for acp init sequence - ASoC: amd: acp: fix module autoloading - thermal: of: Fix OF node leak in of_thermal_zone_find() error paths - thermal: of: Fix OF node leak in thermal_of_trips_init() error path - of: Introduce for_each_*_child_of_node_scoped() to automate of_node_put() handling - usb: typec: fix up incorrectly backported "usb: typec: tcpm: unregister existing source caps before re-registration" - drm/vmwgfx: Fix prime with external buffers - drm/amdgpu/swsmu: always force a state reprogram on init - drm/amdgpu: align pp_power_profile_mode with kernel docs - selftests: mptcp: join: check re-re-adding ID 0 endp - selftests: mptcp: join: no extra msg if no counter - selftests: mptcp: join: check removing ID 0 endpoint - mptcp: pm: ADD_ADDR 0 is not a new address - mptcp: pm: fix ID 0 endp usage after multiple re-creations - mptcp: pm: do not remove already closed subflows - mptcp: pm: send ACK on an active subflow - mptcp: pm: reset MPC endp ID when re-added - mptcp: pm: skip connecting to already established sf - mptcp: pm: reuse ID 0 after delete and re-add - mptcp: sched: check both backup in retrans - mptcp: close subflow when receiving TCP+FIN - net: mana: Fix race of mana_hwc_post_rx_wqe and new hwc response - wifi: mwifiex: duplicate static structs used in driver instances - wifi: wfx: repair open network AP mode - of: Add cleanup.h based auto release via __free(device_node) markings - pinctrl: single: fix potential NULL dereference in pcs_get_function() - pinctrl: rockchip: correct RK3328 iomux width flag for GPIO2-B pins - btrfs: run delayed iputs when flushing delalloc - LoongArch: Remove the unused dma-direct.h - ALSA: seq: Skip event type filtering for UMP events - !12276 mm: mem_reliable: Initialize reliable_nr_page when mm_init() - mm: mem_reliable: Initialize reliable_nr_page when mm_init() - !12178 net: stmmac: move the EST lock to struct stmmac_priv - net: stmmac: move the EST lock to struct stmmac_priv - !12181 net: ena: Add validation for completion descriptors consistency - net: ena: Add validation for completion descriptors consistency - !12255 drm/amd/display: Ensure index calculation will not overflow - drm/amd/display: Ensure index calculation will not overflow - !12214 platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses - platform/x86: panasonic-laptop: Fix SINF array out of bounds accesses - !12147 wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead - wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead - !9955 [OLK-6.6]HYGON: CSV3 patch series part 1 (Secure memory management and initialization for CSV3) - crypto: ccp: Add SET_SMR/SET_SMCR commands for CSV3 - x86/mm: Manage CSV3 guest's private memory by CMA - crypto: ccp: Define CSV3 key management command id - KVM: SEV: Pin SEV guest memory out of CMA area - !12253 RDMA/hns: Fix flush cqe error when racing with destroy qp - RDMA/hns: Fix flush cqe error when racing with destroy qp - !12217 v2 RDMA/hns: Fix new mmaped pages during resetting - RDMA/hns: Fix new mmaped pages during resetting - !12216 ACPI/IORT: Add PMCG platform information for HiSilicon HIP10/11 - ACPI/IORT: Add PMCG platform information for HiSilicon HIP10/11 - !12209 net/hinic3: fix version showed in ethtool - net/hinic3: fix version showed in ethtool - !12218 KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS - KVM: x86: Acquire kvm->srcu when handling KVM_SET_VCPU_EVENTS - !11667 Adds Nebula S1000 series network snic driver - Net:nbl_core: Add nbl_core-driver for nebula-matrix S1055AS series smart NIC. - !12036 KVM: arm64: Add new HiSi CPU type for supporting DVMBM - KVM: arm64: Add new HiSi CPU type for supporting DVMBM - !12112 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.47-6.6.48 LTS Patches - Revert "s390/dasd: Establish DMA alignment" - ksmbd: fix race condition between destroy_previous_session() and smb2 operations() - drm/amdgpu/vcn: not pause dpg for unified queue - drm/amdgpu/vcn: identify unified queue in sw init - selftests/bpf: Add a test to verify previous stacksafe() fix - ALSA: timer: Relax start tick time check for slave timer elements - igc: Fix qbv tx latency by setting gtxoffset - drm/panel: nt36523: Set 120Hz fps for xiaomi,elish panels - drm/msm/mdss: specify cfg bandwidth for SDM670 - hwmon: (ltc2992) Fix memory leak in ltc2992_parse_dt() - Revert "drm/amd/display: Validate hw_points_num before using it" - Revert "usb: gadget: uvc: cleanup request when not in correct state" - selftests: mptcp: join: check re-using ID of closed subflow - selftests: mptcp: join: validate fullmesh endp on 1st sf - mptcp: pm: fullmesh: select the right ID later - mptcp: pm: only in-kernel cannot have entries with ID 0 - mptcp: pm: check add_addr_accept_max before accepting new ADD_ADDR - mptcp: pm: only mark 'subflow' endp as available - mptcp: pm: remove mptcp_pm_remove_subflow() - mptcp: pm: re-using ID of unused flushed subflows - mptcp: pm: re-using ID of unused removed subflows - mptcp: pm: re-using ID of unused removed ADD_ADDR - nouveau/firmware: use dma non-coherent allocator - pmdomain: imx: wait SSAR when i.MX93 power domain on - pmdomain: imx: scu-pd: Remove duplicated clocks - mmc: dw_mmc: allow biu and ciu clocks to defer - mmc: mtk-sd: receive cmd8 data when hs400 tuning fail - KVM: arm64: Make ICC_*SGI*_EL1 undef in the absence of a vGICv3 - cxgb4: add forgotten u64 ivlan cast before shift - Input: i8042 - use new forcenorestore quirk to replace old buggy quirk combination - Input: i8042 - add forcenorestore quirk to leave controller untouched even on s3 - HID: wacom: Defer calculation of resolution until resolution_code is known - MIPS: Loongson64: Set timer mode in cpu-probe - net: dsa: microchip: fix PTP config failure when using multiple ports - drm/amdgpu: Validate TA binary size - ksmbd: the buffer of smb2 query dir response has at least 1 byte - scsi: core: Fix the return value of scsi_logical_block_count() - smb: client: ignore unhandled reparse tags - drm/msm: fix the highest_bank_bit for sc7180 - drm/msm/mdss: Handle the reg bus ICC path - drm/msm/mdss: Rename path references to mdp_path - drm/msm/mdss: switch mdss to use devm_of_icc_get() - drm/msm/dpu: take plane rotation into account for wide planes - drm/msm/dpu: try multirect based on mdp clock limits - drm/msm/dpu: cleanup FB if dpu_format_populate_layout fails - drm/msm/dp: reset the link phy params before link training - drm/msm/dpu: move dpu_encoder's connector assignment to atomic_enable() - drm/msm/dpu: capture snapshot on the first commit_done timeout - drm/msm/dpu: split dpu_encoder_wait_for_event into two functions - drm/msm/dpu: drop MSM_ENC_VBLANK support - drm/msm/dpu: use drmm-managed allocation for dpu_encoder_phys - drm/msm/dp: fix the max supported bpp logic - drm/msm/dpu: don't play tricks with debug macros - net: ovs: fix ovs_drop_reasons error - net: xilinx: axienet: Fix dangling multicast addresses - net: xilinx: axienet: Always disable promiscuous mode - octeontx2-af: Fix CPT AF register offset calculation - netfilter: flowtable: validate vlan header - udp: fix receiving fraglist GSO packets - igb: cope with large MAX_SKB_FRAGS - dpaa2-switch: Fix error checking in dpaa2_switch_seed_bp() - ice: fix truesize operations for PAGE_SIZE >= 8192 - ice: fix ICE_LAST_OFFSET formula - ice: fix page reuse when PAGE_SIZE is over 8k - bonding: fix xfrm state handling when clearing active slave - bonding: fix xfrm real_dev null pointer dereference - bonding: fix null pointer deref in bond_ipsec_offload_ok - bonding: fix bond_ipsec_offload_ok return type - ip6_tunnel: Fix broken GRO - netfilter: nft_counter: Synchronize nft_counter_reset() against reader. - netfilter: nft_counter: Disable BH in nft_counter_offload_stats(). - net: mctp: test: Use correct skb for route input check - selftests: udpgro: report error when receive failed - tc-testing: don't access non-existent variable on exception - net: mscc: ocelot: serialize access to the injection/extraction groups - net: mscc: ocelot: fix QoS class for injected packets with "ocelot-8021q" - net: mscc: ocelot: use ocelot_xmit_get_vlan_info() also for FDMA and register injection - Bluetooth: SMP: Fix assumption of Central always being Initiator - Bluetooth: hci_core: Fix LE quote calculation - drm/amdkfd: reserve the BO before validating it - ALSA: hda/tas2781: Use correct endian conversion - platform/surface: aggregator: Fix warning when controller is destroyed in probe - drm/amd/amdgpu: command submission parser for JPEG - drm/amd/display: fix cursor offset on rotation 180 - drm/amd/display: Enable otg synchronization logic for DCN321 - drm/amd/display: Adjust cursor position - btrfs: send: allow cloning non-aligned extent if it ends at i_size - btrfs: replace sb::s_blocksize by fs_info::sectorsize - mm/vmalloc: fix page mapping if vm_area_alloc_pages() with high order fallback to order 0 - selftests: memfd_secret: don't build memfd_secret test on unsupported arches - selftests/mm: log run_vmtests.sh results in TAP format - tools/testing/selftests/mm/run_vmtests.sh: lower the ptrace permissions - dm suspend: return -ERESTARTSYS instead of -EINTR - riscv: entry: always initialize regs->a0 to -ENOSYS - i2c: stm32f7: Add atomic_xfer method to driver - jfs: define xtree root and page independently - nvme: fix namespace removal list - EDAC/skx_common: Allow decoding of SGX addresses - ionic: check cmd_regs before copying in or out - ionic: use pci_is_enabled not open code - hrtimer: Prevent queuing of hrtimer without a function callback - drm/amdgpu: fix dereference null return value for the function amdgpu_vm_pt_parent - nvme: use srcu for iterating namespace list - selftests/bpf: Fix a few tests for GCC related warnings. - nvmet-rdma: fix possible bad dereference when freeing rsps - irqchip/gic-v3-its: Remove BUG_ON in its_vpe_irq_domain_alloc - usb: dwc3: core: Skip setting event buffers for host only controllers - platform/x86: lg-laptop: fix %s null argument warning - clocksource: Make watchdog and suspend-timing multiplication overflow safe - irqchip/renesas-rzg2l: Do not set TIEN and TINT source at the same time - s390/iucv: fix receive buffer virtual vs physical address confusion - openrisc: Call setup_memory() earlier in the init sequence - NFS: avoid infinite loop in pnfs_update_layout. - nvmet-tcp: do not continue for invalid icreq - rtc: nct3018y: fix possible NULL dereference - firmware: cirrus: cs_dsp: Initialize debugfs_root to invalid - Bluetooth: bnep: Fix out-of-bound access - nvme: clear caller pointer on identify failure - usb: gadget: fsl: Increase size of name buffer for endpoints - f2fs: fix to do sanity check in update_sit_entry - btrfs: delete pointless BUG_ON check on quota root in btrfs_qgroup_account_extent() - btrfs: change BUG_ON to assertion in tree_move_down() - btrfs: send: handle unexpected inode in header process_recorded_refs() - btrfs: send: handle unexpected data in header buffer in begin_cmd() - btrfs: handle invalid root reference found in may_destroy_subvol() - btrfs: push errors up from add_async_extent() - btrfs: tests: allocate dummy fs_info and root in test_find_delalloc() - btrfs: change BUG_ON to assertion when checking for delayed_node root - btrfs: defrag: change BUG_ON to assertion in btrfs_defrag_leaves() - btrfs: delayed-inode: drop pointless BUG_ON in __btrfs_remove_delayed_item() - powerpc/boot: Only free if realloc() succeeds - powerpc/boot: Handle allocation failure in simple_realloc() - f2fs: stop checkpoint when get a out-of-bounds segment - rxrpc: Don't pick values out of the wire header when setting up security - parisc: Use irq_enter_rcu() to fix warning at kernel/context_tracking.c:367 - memory: stm32-fmc2-ebi: check regmap_read return value - x86: Increase brk randomness entropy for 64-bit systems - md: clean up invalid BUG_ON in md_ioctl - netlink: hold nlk->cb_mutex longer in __netlink_dump_start() - tick: Move got_idle_tick away from common flags - clocksource/drivers/arm_global_timer: Guard against division by zero - accel/habanalabs: fix debugfs files permissions - virtiofs: forbid newlines in tags - hrtimer: Select housekeeping CPU during migration - gpio: sysfs: extend the critical section for unregistering sysfs devices - drm/lima: set gp bus_stop bit before hard reset - net/sun3_82586: Avoid reading past buffer in debug output - wifi: iwlwifi: mvm: avoid garbage iPN - media: drivers/media/dvb-core: copy user arrays safely - scsi: lpfc: Initialize status local variable in lpfc_sli4_repost_sgl_list() - fs: binfmt_elf_efpic: don't use missing interpreter's properties - media: pci: cx23885: check cx23885_vdev_init() return - kernfs: fix false-positive WARN(nr_mmapped) in kernfs_drain_open_files - riscv: blacklist assembly symbols for kprobe - quota: Remove BUG_ON from dqget() - wifi: ath12k: Add missing qmi_txn_cancel() calls - fuse: fix UAF in rcu pathwalks - afs: fix __afs_break_callback() / afs_drop_open_mmap() race - btrfs: zlib: fix and simplify the inline extent decompression - ext4: do not trim the group with corrupted block bitmap - nvmet-trace: avoid dereferencing pointer too early - EDAC/skx_common: Filter out the invalid address - gfs2: Refcounting fix in gfs2_thaw_super - Bluetooth: hci_conn: Check non NULL function before calling for HFP offload - evm: don't copy up 'security.evm' xattr - drm/rockchip: vop2: clear afbc en and transform bit for cluster window at linear mode - ionic: no fw read when PCI reset failed - ionic: prevent pci disable of already disabled device - powerpc/pseries/papr-sysparm: Validate buffer object lengths - hwmon: (pc87360) Bounds check data->innr usage - ASoC: SOF: ipc4: check return value of snd_sof_ipc_msg_data - powerpc/xics: Check return value of kasprintf in icp_native_map_one_cpu - memory: tegra: Skip SID programming if SID registers aren't set - drm/msm: Reduce fallout of fence signaling vs reclaim hangs - arm64: Fix KASAN random tag seed initialization - powerpc/topology: Check if a core is online - cpu/SMT: Enable SMT only if a core is online - rust: fix the default format for CONFIG_{RUSTC,BINDGEN}_VERSION_TEXT - rust: suppress error messages from CONFIG_{RUSTC,BINDGEN}_VERSION_TEXT - rust: work around `bindgen` 0.69.0 issue - hwmon: (ltc2992) Avoid division by zero - IB/hfi1: Fix potential deadlock on &irq_src_lock and &dd->uctxt_lock - clk: visconti: Add bounds-checking coverage for struct visconti_pll_provider - wifi: iwlwifi: check for kmemdup() return value in iwl_parse_tlv_firmware() - wifi: iwlwifi: fw: Fix debugfs command sending - wifi: iwlwifi: abort scan when rfkill on but device enabled - gfs2: setattr_chown: Add missing initialization - wifi: mac80211: flush STA queues on unauthorization - scsi: spi: Fix sshdr use - ASoC: SOF: Intel: hda-dsp: Make sure that no irq handler is pending before suspend - iommu/arm-smmu-qcom: Add SDM670 MDSS compatible - media: qcom: venus: fix incorrect return value - drm/tegra: Zero-initialize iosys_map - binfmt_misc: cleanup on filesystem umount - accel/habanalabs: fix bug in timestamp interrupt handling - accel/habanalabs: export dma-buf only if size/offset multiples of PAGE_SIZE - accel/habanalabs/gaudi2: unsecure tpc count registers - media: s5p-mfc: Fix potential deadlock on condlock - staging: ks7010: disable bh on tx_dev_lock - drm/amd/display: Validate hw_points_num before using it - usb: gadget: uvc: cleanup request when not in correct state - wifi: mt76: fix race condition related to checking tx queue fill status - staging: iio: resolver: ad2s1210: fix use before initialization - wifi: ath11k: fix ath11k_mac_op_remain_on_channel() stack usage - media: radio-isa: use dev_name to fill in bus_info - drm/amdkfd: Move dma unmapping after TLB flush - i3c: mipi-i3c-hci: Do not unmap region not mapped for transfer - i3c: mipi-i3c-hci: Remove BUG() when Ring Abort request times out - wifi: ath12k: fix WARN_ON during ath12k_mac_update_vif_chan - drm/bridge: tc358768: Attempt to fix DSI horizontal timings - s390/smp,mcck: fix early IPI handling - RDMA/rtrs: Fix the problem of variable not initialized fully - i2c: riic: avoid potential division by zero - cgroup: Avoid extra dereference in css_populate_dir() - wifi: cw1200: Avoid processing an invalid TIM IE - sched/topology: Handle NUMA_NO_NODE in sched_numa_find_nth_cpu() - net: ethernet: mtk_wed: check update_wo_rx_stats in mtk_wed_update_rx_stats() - rcu: Eliminate rcu_gp_slow_unregister() false positive - rcu: Dump memory object info if callback function is invalid - mm: Remove kmem_valid_obj() - wifi: iwlwifi: mvm: fix recovery flow in CSA - wifi: mac80211: fix BA session teardown race - wifi: cfg80211: check wiphy mutex is held for wdev mutex - wifi: mac80211: lock wiphy in IP address notifier - ASoC: cs35l45: Checks index of cs35l45_irqs[] - ssb: Fix division by zero issue in ssb_calc_clock_rate - drm/amdgpu: access RLC_SPM_MC_CNTL through MMIO in SRIOV runtime - drm/amd/amdgpu/imu_v11_0: Increase buffer size to ensure all possible values can be stored - drm/amd/pm: fix error flow in sensor fetching - ALSA: hda/realtek: Fix noise from speakers on Lenovo IdeaPad 3 15IAU7 - gpio: mlxbf3: Support shutdown() function - netfilter: nf_tables: Add locking for NFT_MSG_GETOBJ_RESET requests - netfilter: nf_tables: Introduce nf_tables_getobj_single - netfilter: nf_tables: Carry reset boolean in nft_obj_dump_ctx - netfilter: nf_tables: nft_obj_filter fits into cb->ctx - netfilter: nf_tables: Carry s_idx in nft_obj_dump_ctx - netfilter: nf_tables: A better name for nft_obj_filter - netfilter: nf_tables: Unconditionally allocate nft_obj_filter - netfilter: nf_tables: Drop pointless memset in nf_tables_dump_obj - netfilter: nf_tables: Audit log dump reset after the fact - netfilter: nf_queue: drop packets with cloned unconfirmed conntracks - netfilter: flowtable: initialise extack before use - netfilter: allow ipv6 fragments to arrive on different devices - tcp: Update window clamping condition - mptcp: correct MPTCP_SUBFLOW_ATTR_SSN_OFFSET reserved size - mlxbf_gige: disable RX filters until RX path initialized - net: ethernet: mtk_wed: fix use-after-free panic in mtk_wed_setup_tc_block_cb() - net: dsa: vsc73xx: check busy flag in MDIO operations - net: dsa: vsc73xx: use read_poll_timeout instead delay loop - net: dsa: vsc73xx: pass value in phy_write operation - net: axienet: Fix register defines comment description - atm: idt77252: prevent use after free in dequeue_rx() - net/mlx5e: Correctly report errors for ethtool rx flows - igc: Fix reset adapter logics when tx mode change - igc: Fix qbv_config_change_errors logics - igc: Fix packet still tx after gate close by reducing i226 MAC retry buffer - bpf: Fix updating attached freplace prog in prog_array map - s390/uv: Panic for set and remove shared access UVC errors - drm/amdgpu/jpeg4: properly set atomics vmid field - drm/amdgpu/jpeg2: properly set atomics vmid field - memcg_write_event_control(): fix a user-triggerable oops - drm/amdgpu: Actually check flags for all context ops. - btrfs: tree-checker: add dev extent item checks - btrfs: zoned: properly take lock to read/update block group's zoned variables - btrfs: tree-checker: reject BTRFS_FT_UNKNOWN dir type - mm/memory-failure: use raw_spinlock_t in struct memory_failure_cpu - selinux: add the processing of the failure of avc_add_xperms_decision() - selinux: fix potential counting error in avc_add_xperms_decision() - wifi: brcmfmac: cfg80211: Handle SSID based pmksa deletion - net: mana: Fix RX buf alloc_size alignment and atomic op panic - i2c: qcom-geni: Add missing geni_icc_disable in geni_i2c_runtime_resume - btrfs: rename bitmap_set_bits() -> btrfs_bitmap_set_bits() - dm persistent data: fix memory allocation failure - dm resume: don't return EINVAL when signalled - arm64: ACPI: NUMA: initialize all values of acpi_early_node_map to NUMA_NO_NODE - ACPI: EC: Evaluate _REG outside the EC scope more carefully - ACPICA: Add a depth argument to acpi_execute_reg_methods() - riscv: change XIP's kernel_map.size to be size of the entire kernel - KVM: s390: fix validity interception issue when gisa is switched off - s390/dasd: fix error recovery leading to data corruption on ESE devices - ALSA: hda/tas2781: fix wrong calibrated data order - thunderbolt: Mark XDomain as unplugged when router is removed - xhci: Fix Panther point NULL pointer deref at full-speed re-enumeration - ALSA: usb-audio: Support Yamaha P-125 quirk entry - ALSA: usb-audio: Add delay quirk for VIVO USB-C-XE710 HEADSET - char: xillybus: Refine workqueue handling - char: xillybus: Don't destroy workqueue from work item running on it - selinux: revert our use of vma_is_initial_heap() - Revert "usb: typec: tcpm: clear pd_event queue in PORT_RESET" - Revert "misc: fastrpc: Restrict untrusted app to attach to privileged PD" - Revert "ACPI: EC: Evaluate orphan _REG under EC device" - tty: atmel_serial: use the correct RTS flag. - !12087 arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry - arm64: acpi: Harden get_cpu_for_acpi_id() against missing CPU entry - !6996 sched/fair: Optimize performance by inlining cpu_util_without() and cpu_util() - sched/fair: Optimize performance by inlining cpu_util_without() and cpu_util() - !12080 btrfs: clean up our handling of refs == 0 in snapshot delete - btrfs: clean up our handling of refs == 0 in snapshot delete - !12052 drm/amdgpu: the warning dereferencing obj for nbio_v7_4 - drm/amdgpu: the warning dereferencing obj for nbio_v7_4 - !12082 userfaultfd: don't BUG_ON() if khugepaged yanks our page table - userfaultfd: don't BUG_ON() if khugepaged yanks our page table - !12077 ELF: fix kernel.randomize_va_space double read - ELF: fix kernel.randomize_va_space double read - !12068 usb: gadget: aspeed_udc: validate endpoint index for ast udc - usb: gadget: aspeed_udc: validate endpoint index for ast udc - !12057 netfilter: nft_socket: fix sk refcount leaks - netfilter: nft_socket: fix sk refcount leaks - !11954 drm/amdgpu: fix the waring dereferencing hive - drm/amdgpu: fix the waring dereferencing hive - !12059 mptcp: pm: Fix uaf in __timer_delete_sync - mptcp: pm: Fix uaf in __timer_delete_sync - !12058 net: dpaa: Pad packets to ETH_ZLEN - net: dpaa: Pad packets to ETH_ZLEN - !12076 drm/bridge: tc358767: Check if fully initialized before signalling HPD event via IRQ - drm/bridge: tc358767: Check if fully initialized before signalling HPD event via IRQ - !11966 drm/amd/pm: Fix negative array index read - drm/amd/pm: Fix negative array index read ' for pr_err- !12061 net/mlx5: Fix bridge mode operations when there are no VFs - net/mlx5: Fix bridge mode operations when there are no VFs - !12074 drm/amd/display: Check index for aux_rd_interval before using - drm/amd/display: Check index for aux_rd_interval before using - !12063 cpufreq: intel_pstate: Revise global turbo disable check - cpufreq: intel_pstate: Revise global turbo disable check - !12051 um: line: always fill *error_out in setup_one_line() - um: line: always fill *error_out in setup_one_line() - !12023 ASoC: meson: axg-card: fix 'use-after-free' - ASoC: meson: axg-card: fix 'use-after-free' - !12022 drm/amd/display: Check gpio_id before used as array index - drm/amd/display: Check gpio_id before used as array index - !12049 drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration - drm/amd/display: Skip inactive planes within ModeSupportAndSystemConfiguration - !11949 mptcp: pm: only decrement add_addr_accepted for MPJ req - mptcp: pm: only decrement add_addr_accepted for MPJ req - !11763 [OLK-6.6] Intel: Backport to support Intel IFS(In Field Scan) SBAF on GNR - platform/x86/intel/ifs: Fix SBAF title underline length - trace: platform/x86/intel/ifs: Add SBAF trace support - platform/x86/intel/ifs: Add SBAF test support - platform/x86/intel/ifs: Add SBAF test image loading support - platform/x86/intel/ifs: Refactor MSR usage in IFS test code - selftests: ifs: verify IFS ARRAY BIST functionality - selftests: ifs: verify IFS scan test functionality - selftests: ifs: verify test image loading functionality - selftests: ifs: verify test interfaces are created by the driver - platform/x86/intel/ifs: Disable irq during one load stage - platform/x86/intel/ifs: trace: display batch num in hex - platform/x86/intel/ifs: Classify error scenarios correctly - platform/x86/intel/ifs: Remove unnecessary initialization of 'ret' - platform/x86/intel/ifs: Add an entry rendezvous for SAF - platform/x86/intel/ifs: Replace the exit rendezvous with an entry rendezvous for ARRAY_BIST - platform/x86/intel/ifs: Add current batch number to trace output - platform/x86/intel/ifs: Trace on all HT threads when executing a test - !12039 drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links - drm/amd/display: Stop amdgpu_dm initialize when link nums greater than max_links - !12033 sysctl: always initialize i_uid/i_gid - sysctl: always initialize i_uid/i_gid - !12014 dma-buf: heaps: Fix off-by-one in CMA heap fault handler - dma-buf: heaps: Fix off-by-one in CMA heap fault handler - !12009 rtmutex: Drop rt_mutex::wait_lock before scheduling - rtmutex: Drop rt_mutex::wait_lock before scheduling - !11617 v2 Fix VSYNC referencing an unmapped VPE on GIC v4.0/v4.1 - irqchip/gic-v3-its: Fix VSYNC referencing an unmapped VPE on GIC v4.0 - irqchip/gic-v3-its: Fix VSYNC referencing an unmapped VPE on GIC v4.1 - !12016 perf/x86/intel: Limit the period on Haswell - perf/x86/intel: Limit the period on Haswell - !12017 cppc_cpufreq: Fix possible null pointer dereference - cppc_cpufreq: Fix possible null pointer dereference - !11995 drm/amd/display: Assign linear_pitch_alignment even for VM - drm/amd/display: Assign linear_pitch_alignment even for VM - !11796 bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro() - bpf: Take return from set_memory_rox() into account with bpf_jit_binary_lock_ro() - !12004 spi: rockchip: Resolve unbalanced runtime PM / system PM handling - spi: rockchip: Resolve unbalanced runtime PM / system PM handling - !12000 nvmet-tcp: fix kernel crash if commands allocation fails - nvmet-tcp: fix kernel crash if commands allocation fails - !11969 drm/amd/display: Run DC_LOG_DC after checking link->link_enc - drm/amd/display: Run DC_LOG_DC after checking link->link_enc - !11963 serial: sc16is7xx: fix invalid FIFO access with special register set - serial: sc16is7xx: fix invalid FIFO access with special register set - !11985 Fix CVE-2024-46845 - tracing/osnoise: Fix build when timerlat is not enabled - tracing/timerlat: Only clear timer if a kthread exists - !11909 ksmbd: unset the binding mark of a reused connection - ksmbd: unset the binding mark of a reused connection - !11983 wifi: ath12k: fix firmware crash due to invalid peer nss - wifi: ath12k: fix firmware crash due to invalid peer nss - !11984 drm/amd/display: Add array index check for hdcp ddc access - drm/amd/display: Add array index check for hdcp ddc access - !11989 drm/amd/display: Fix index may exceed array range within fpu_update_bw_bounding_box - drm/amd/display: Fix index may exceed array range within fpu_update_bw_bounding_box - !11992 scsi: lpfc: Handle mailbox timeouts in lpfc_get_sfp_info - scsi: lpfc: Handle mailbox timeouts in lpfc_get_sfp_info - !11979 CVE-2024-46814 - drm/amd/display: Check msg_id before processing transcation - !11960 scsi: ufs: core: Remove SCSI host only if added - scsi: ufs: core: Remove SCSI host only if added - !11944 drm/amdgpu: Fix the warning division or modulo by zero - drm/amdgpu: Fix the warning division or modulo by zero - !11971 sched: Support to enable/disable dynamic_affinity - sched: Support to enable/disable dynamic_affinity - !11951 net: phy: Fix missing of_node_put() for leds - net: phy: Fix missing of_node_put() for leds - !11956 Fix CVE-2024-44958 6.6 - sched/smt: Fix unbalance sched_smt_present dec/inc - sched/smt: Introduce sched_smt_present_inc/dec() helper - !11945 btrfs: don't BUG_ON on ENOMEM from btrfs_lookup_extent_info() in walk_down_proc() - btrfs: don't BUG_ON on ENOMEM from btrfs_lookup_extent_info() in walk_down_proc() - !11919 btrfs: fix race between direct IO write and fsync when using same fd - btrfs: fix race between direct IO write and fsync when using same fd - !11920 hwmon: (lm95234) Fix underflows seen when writing limit attributes - hwmon: (lm95234) Fix underflows seen when writing limit attributes - !11820 powerpc/qspinlock: Fix deadlock in MCS queue - powerpc/qspinlock: Fix deadlock in MCS queue - !11915 ethtool: check device is present when getting link settings - ethtool: check device is present when getting link settings - !11936 btrfs: remove NULL transaction support for btrfs_lookup_extent_info() - btrfs: remove NULL transaction support for btrfs_lookup_extent_info() - !11929 Merge some hns RoCE patches from the mainline to OLK-6.6 - RDMA/hns: Fix the overflow risk of hem_list_calc_ba_range() - RDMA/hns: Fix Use-After-Free of rsv_qp on HIP08 - Revert "RDMA/hns: Fix Use-After-Free of rsv_qp" - Revert "RDMA/hns: Fix the overflow risk of hem_list_calc_ba_range()" - !11912 smb: client: fix double put of @cfile in smb2_set_path_size() - smb: client: fix double put of @cfile in smb2_set_path_size() - !11908 HID: amd_sfh: free driver_data after destroying hid device - HID: amd_sfh: free driver_data after destroying hid device - !11926 nilfs2: protect references to superblock parameters exposed in sysfs - nilfs2: protect references to superblock parameters exposed in sysfs - !11927 hwmon: (hp-wmi-sensors) Check if WMI event data exists - hwmon: (hp-wmi-sensors) Check if WMI event data exists - !11844 fix CVE-2024-46771 - can: bcm: Clear bo->bcm_proc_read after remove_proc_entry(). - can: bcm: Remove proc entry when dev is unregistered. - !11885 pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv - pci/hotplug/pnv_php: Fix hotplug driver crash on Powernv - !11795 i2c: tegra: Do not mark ACPI devices as irq safe - i2c: tegra: Do not mark ACPI devices as irq safe - !11804 drm/amdgpu: Fix out-of-bounds write warning - drm/amdgpu: Fix out-of-bounds write warning - !11901 scsi: aacraid: Fix double-free on probe failure - scsi: aacraid: Fix double-free on probe failure - !11859 char: xillybus: Check USB endpoints when probing device - char: xillybus: Check USB endpoints when probing device - !11865 pktgen: use cpus_read_lock() in pg_net_init() - pktgen: use cpus_read_lock() in pg_net_init() - !11876 btrfs: handle errors from btrfs_dec_ref() properly - btrfs: handle errors from btrfs_dec_ref() properly - !11893 tracing/osnoise: Use a cpumask to know what threads are kthreads - tracing/osnoise: Use a cpumask to know what threads are kthreads - !11840 userfaultfd: fix checks for huge PMDs - userfaultfd: fix checks for huge PMDs - !11891 wifi: rtw88: usb: schedule rx work after everything is set up - wifi: rtw88: usb: schedule rx work after everything is set up - !11860 VMCI: Fix use-after-free when removing resource in vmci_resource_remove() - VMCI: Fix use-after-free when removing resource in vmci_resource_remove() - !11870 NFSD: Reset cb_seq_status after NFS4ERR_DELAY - NFSD: Reset cb_seq_status after NFS4ERR_DELAY - !11874 fix CVE-2024-46701 - libfs: fix infinite directory reads for offset dir - fs: fix kabi kroken in struct offset_ctx - libfs: Convert simple directory offsets to use a Maple Tree - test_maple_tree: testing the cyclic allocation - maple_tree: Add mtree_alloc_cyclic() - libfs: Add simple_offset_empty() - libfs: Define a minimum directory offset - libfs: Re-arrange locking in offset_iterate_dir() - !11689 smb: client: fix double put of @cfile in smb2_rename_path() - smb: client: fix double put of @cfile in smb2_rename_path() - !11883 usb: dwc3: st: fix probed platform device ref count on probe error path - usb: dwc3: st: fix probed platform device ref count on probe error path - !11884 PCI: Add missing bridge lock to pci_bus_lock() - PCI: Add missing bridge lock to pci_bus_lock() - !11862 hwmon: (w83627ehf) Fix underflows seen when writing limit attributes - hwmon: (w83627ehf) Fix underflows seen when writing limit attributes - !11758 smb/client: avoid dereferencing rdata=NULL in smb2_new_read_req() - smb/client: avoid dereferencing rdata=NULL in smb2_new_read_req() - !11857 arm64/mpam: Fix redefined reference of 'mpam_detect_is_enabled' - arm64/mpam: Fix redefined reference of 'mpam_detect_is_enabled' - !11823 mmc: mmc_test: Fix NULL dereference on allocation failure - mmc: mmc_test: Fix NULL dereference on allocation failure - !11819 uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind - uio_hv_generic: Fix kernel NULL pointer dereference in hv_uio_rescind - !11495 ext4: Fix race in buffer_head read fault injection - ext4: Fix race in buffer_head read fault injection - !11845 bpf: verifier: prevent userspace memory access - bpf: verifier: prevent userspace memory access - !11748 ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object - ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object - !11624 Fix iBMA bug and change version - BMA: Fix edma driver initialization problem and change the version number. - !11850 misc: fastrpc: Fix double free of 'buf' in error path - misc: fastrpc: Fix double free of 'buf' in error path - !11655 drm/amd/display: Check denominator pbn_div before used - drm/amd/display: Check denominator pbn_div before used - !11686 udf: Avoid excessive partition lengths - udf: Avoid excessive partition lengths - !11685 binder: fix UAF caused by offsets overwrite - binder: fix UAF caused by offsets overwrite - !11798 CVE-2024-46784 - net: mana: Fix error handling in mana_create_txq/rxq's NAPI cleanup - net: mana: Fix doorbell out of order violation and avoid unnecessary doorbell rings - !11814 selinux,smack: don't bypass permissions check in inode_setsecctx hook - selinux,smack: don't bypass permissions check in inode_setsecctx hook - !11811 apparmor: fix possible NULL pointer dereference - apparmor: fix possible NULL pointer dereference - !11681 net/mlx5e: SHAMPO, Fix incorrect page release - net/mlx5e: SHAMPO, Fix incorrect page release - !11679 wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() - wifi: mwifiex: Do not return unused priv in mwifiex_get_priv_by_id() - !11672 netem: fix return value if duplicate enqueue fails - netem: fix return value if duplicate enqueue fails - !11783 mm: hwpoison: two more poison recovery - mm: support poison recovery from copy_present_page() - mm: support poison recovery from do_cow_fault() - !11787 nilfs2: fix missing cleanup on rollforward recovery error - nilfs2: fix missing cleanup on rollforward recovery error - !11744 powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas() - powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas() - !11766 drm/amd/display: Check denominator crb_pipes before used - drm/amd/display: Check denominator crb_pipes before used - !11790 efi/libstub: add checking validity of memory regions - efi/libstub: add checking validity of memory regions - !11802 can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open - can: mcp251x: fix deadlock if an interrupt occurs during mcp251x_open - !11747 [OLK 6.6] some bugfixes for hns3 - net: hns3: fix concurrent setting vlan filter issue - net: hns3: fix snprintf() is printing too much problem - net: hns3: make sure ptp clock is unregister and freed if hclge_ptp_get_cycle returns an error - net: hns3: fix spelling mistake "reg_um" -> "reg_num" - net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue - net: hns3:support enable or disable pfc strom prevent - net: hns3: fix wrong use of semaphore up- !11769 tools: move alignment-related macros to new - tools: move alignment-related macros to new - !11753 driver: iio: add missing checks on iio_info's callback access - driver: iio: add missing checks on iio_info's callback access - !11740 hwmon: (adc128d818) Fix underflows seen when writing limit attributes - hwmon: (adc128d818) Fix underflows seen when writing limit attributes - !11733 Input: MT - limit max slots - Input: MT - limit max slots - !11757 arm64/mpam: Check mpam_detect_is_enabled() before accessing MPAM registers - arm64/mpam: Check mpam_detect_is_enabled() before accessing MPAM registers - Revert "arm64: head.S: Initialise MPAM EL2 registers and disable traps" - !11543 Fix CVE-2024-45025 - fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE - bitmap: introduce generic optimized bitmap_size() - fs/ntfs3: add prefix to bitmap_size() and use BITS_TO_U64() - s390/cio: rename bitmap_size() -> idset_bitmap_size() - !11713 btrfs: fix qgroup reserve leaks in cow_file_range - btrfs: fix qgroup reserve leaks in cow_file_range - !11725 Squashfs: sanity check symbolic link size - Squashfs: sanity check symbolic link size - !11715 btrfs: replace BUG_ON() with error handling at update_ref_for_cow() - btrfs: replace BUG_ON() with error handling at update_ref_for_cow() - !11714 CVE-2024-46751 - btrfs: don't BUG_ON() when 0 reference count at btrfs_lookup_extent_info() - btrfs: reduce nesting for extent processing at btrfs_lookup_extent_info() - btrfs: remove superfluous metadata check at btrfs_lookup_extent_info() - !11717 CVE-2024-43904 - drm/amd/display: Add null checks for 'stream' and 'plane' before dereferencing - !11718 CVE-2024-41008 - drm/amdgpu: change vm->task_info handling - !11691 sch/netem: fix use after free in netem_dequeue - sch/netem: fix use after free in netem_dequeue - !11719 rtla/osnoise: Prevent NULL dereference in error handling - rtla/osnoise: Prevent NULL dereference in error handling - !11626 smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open() - smb/server: fix potential null-ptr-deref of lease_ctx_info in smb2_open() - !11651 large folio: Performance and bugfix - mm: remove invalidate_inode_page() - mm: convert isolate_page() to mf_isolate_folio() - mm: convert soft_offline_in_use_page() to use a folio - mm: use mapping_evict_folio() in truncate_error_page() - mm: convert __do_fault() to use a folio - mm: make mapping_evict_folio() the preferred way to evict clean folios - tmpfs: fault in smaller chunks if large folio allocation not allowed - mm,tmpfs: consider end of file write in shmem_is_huge - mm: shmem: move shmem_huge_global_enabled() into shmem_allowable_huge_orders() - mm: shmem: rename shmem_is_huge() to shmem_huge_global_enabled() - mm: shmem: simplify the suitable huge orders validation for tmpfs - !11644 drm/amdgpu: fix dereference after null check - drm/amdgpu: fix dereference after null check - !11675 【OLK 6.6】net: hns3: some bugfixes for hns3 driver - net: hns3: Resolved the issue that the debugfs query result is inconsistent. - net: hns3: fixed reset failure issues caused by the incorrect reset type - net: hns3: fix missing features due to dev->features configuration too early - net: hns3: fix a deadlock problem when config TC during resetting - net: hns3: add sync command to sync io-pgtable - net: hns3: default enable tx bounce buffer when smmu enabled - net: hns3: don't add the len of vlan head if skb_vlan_pop failed - net: hns3: void array out of bound when loop tnl_num - net: hns3: use correct release function during uninitialization - net: hns3: delete redundant enabling actions for Layer 2 fowarding - !11721 v3 mm/migration: do not folio copy in MIGRATE_SYNC_NO_COPY mode - mm/migration: do not folio copy in MIGRATE_SYNC_NO_COPY mode - !8819 Add support for Hygon model 7h processors - perf/x86/uncore: Add L3 PMU support for Hygon family 18h model 7h - EDAC/amd64: Add support for Hygon family 18h model 7h - x86/amd_nb: Add support for Hygon family 18h model 7h - !11157 [OLK-6.6] Support Hygon Trusted Key Management run on CSV Guest - drivers/crypto/ccp: add ioctl API to pin TKM hugepage - driver/crypto/ccp: fix vtkm without C-bit when host SME deactivate - drivers/crypto/ccp: support TKM run on CSV - drivers/crypto/ccp: remove multi-level pointers processing for vpsp - !11669 cgroup-psi-add-PSI_STATE_LAST-for-kabi-reserve - cgroup/psi: add PSI_STATE_LAST for kabi reserve - !11666 drm/amd/pm: fix the Out-of-bounds read warning - drm/amd/pm: fix the Out-of-bounds read warning - !11607 tty: serial: fsl_lpuart: mark last busy before uart_add_one_port - tty: serial: fsl_lpuart: mark last busy before uart_add_one_port - !11646 net: hns3: fix a deadlock problem when config TC during resetting - net: hns3: fix a deadlock problem when config TC during resetting - !11648 vsock: fix recursive ->recvmsg calls - vsock: fix recursive ->recvmsg calls - !11656 fix CVE-2024-46714 - drm/amd/display: Skip wbscl_set_scaler_filter if filter is null - !11631 fix CVE-2024-46723 - drm/amdgpu: fix ucode out-of-bounds read warning - !11642 HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup - HID: cougar: fix slab-out-of-bounds Read in cougar_report_fixup - !11638 Fix CVE-2024-44991 - tcp: do not export tcp_twsk_purge() - tcp: prevent concurrent execution of tcp_sk_exit_batch - tcp/dccp: do not care about families in inet_twsk_purge() - tcp/dccp: bypass empty buckets in inet_twsk_purge() - !11608 v3 arm64: perf: Add support for event counting threshold - perf: arm_pmuv3: Avoid assigning fixed cycle counter with threshold - arm: perf: Fix ARCH=arm build with GCC - Revert "perf/arm_dmc620: Remove duplicate format attribute #defines" - Documentation: arm64: Document the PMU event counting threshold feature - arm64: perf: Add support for event counting threshold - arm: pmu: Move error message and -EOPNOTSUPP to individual PMUs - perf/arm_dmc620: Remove duplicate format attribute #defines - arm: pmu: Share user ABI format mechanism with SPE - arm64: perf: Include threshold control fields in PMEVTYPER mask - arm: perf: Convert remaining fields to use GENMASK - arm: perf: Use GENMASK for PMMIR fields - arm: perf/kvm: Use GENMASK for ARMV8_PMU_PMCR_N - arm: perf: Remove inlines from arm_pmuv3.c - drivers: perf: arm_pmuv3: Add new macro PMUV3_INIT_MAP_EVENT() - KVM: arm64: PMU: Add a helper to read a vCPU's PMCR_EL0 - KVM: arm64: Add PMU event filter bits required if EL3 is implemented - KVM: arm64: Make PMEVTYPER_EL0.NSH RES0 if EL2 isn't advertised - drivers: perf: arm_pmuv3: Drop some unused arguments from armv8_pmu_init() - drivers: perf: arm_pmuv3: Read PMMIR_EL1 unconditionally - !11629 CVE-2024-46785 - eventfs: Use list_del_rcu() for SRCU protected list variable - !11641 mm: set hugepage to false when anon mthp allocation - mm: set hugepage to false when anon mthp allocation - !11559 mm/ksm: fix possible UAF of stable_node - mm/ksm: fix possible UAF of stable_node - !11613 Input: uinput - reject requests with unreasonable number of slots - Input: uinput - reject requests with unreasonable number of slots - !11460 mptcp: pm: avoid possible UaF when selecting endp - mptcp: pm: avoid possible UaF when selecting endp - !11598 net/mlx5e: Take state lock during tx timeout reporter - net/mlx5e: Take state lock during tx timeout reporter - !11618 RDMA/hns: Fix ah error counter in sw stat not increasing - RDMA/hns: Fix ah error counter in sw stat not increasing - !11554 Some patches of RDMA from Linux to openEuler-6.6 - RDMA/hns: Fix restricted __le16 degrades to integer issue - RDMA/hns: Optimize hem allocation performance - RDMA/hns: Fix 1bit-ECC recovery address in non-4K OS - RDMA/hns: Fix VF triggering PF reset in abnormal interrupt handler - RDMA/hns: Fix spin_unlock_irqrestore() called with IRQs enabled - !11566 v2 tracefs: Use generic inode RCU for synchronizing freeing - tracefs: Use generic inode RCU for synchronizing freeing - !11609 fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF - fscache: delete fscache_cookie_lru_timer when fscache exits to avoid UAF - !11474 fs/netfs/fscache_cookie: add missing "n_accesses" check - fs/netfs/fscache_cookie: add missing "n_accesses" check - !11563 iommu: Restore lost return in iommu_report_device_fault() - iommu: Restore lost return in iommu_report_device_fault() - !11569 support poison recover from migrate folio - fs: hugetlbfs: support poisoned recover from hugetlbfs_migrate_folio() - mm: migrate: support poisoned recover from migrate folio - mm: migrate: split folio_migrate_mapping() - mm: add folio_mc_copy() - mm: move memory_failure_queue() into copy_mc_[user]_highpage() - mm: migrate: remove migrate_folio_extra() - mm: migrate_device: unify migrate folio for MIGRATE_SYNC_NO_COPY - mm: migrate: simplify __buffer_migrate_folio() - !8822 Add support for Hygon model 10h processors - ALSA: hda: Add support for Hygon family 18h model 10h HD-Audio - hwmon/k10temp: Add support for Hygon family 18h model 10h - EDAC/amd64: Add support for Hygon family 18h model 10h - x86/amd_nb: Add support for Hygon family 18h model 10h - x86/cpu: Get LLC ID for Hygon family 18h model 10h - !11594 gtp: pull network headers in gtp_dev_xmit() - gtp: pull network headers in gtp_dev_xmit() - !11573 btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk() - btrfs: fix a use-after-free when hitting errors inside btrfs_submit_chunk() - !11585 vfs: Don't evict inode under the inode lru traversing context - vfs: Don't evict inode under the inode lru traversing context - !11461 bnxt_en: Fix double DMA unmapping for XDP_REDIRECT - bnxt_en: Fix double DMA unmapping for XDP_REDIRECT- !11556 bpf: Fix a kernel verifier crash in stacksafe() - bpf: Fix a kernel verifier crash in stacksafe() - !11496 virtcca feature:Fix warnings - virtcca feature: fix warnings - !11531 [OLK-6.6]Some updates for HiSilicon PCIe PMU - drivers/perf: hisi_pcie: Export supported Root Ports [bdf_min, bdf_max] - drivers/perf: hisi_pcie: Fix TLP headers bandwidth counting - drivers/perf: hisi_pcie: Record hardware counts correctly - !11546 ata: libata: Fix memory leak for error path in ata_host_alloc() - ata: libata: Fix memory leak for error path in ata_host_alloc() - !11551 mm/memory_hotplug: prevent accessing by index=-1 - mm/memory_hotplug: prevent accessing by index=-1 - !11522 ipv6: prevent UAF in ip6_send_skb() - ipv6: prevent UAF in ip6_send_skb() - !11518 ipv6: fix possible UAF in ip6_finish_output2() - ipv6: fix possible UAF in ip6_finish_output2() - !11515 net: dsa: mv88e6xxx: Fix out-of-bound access - net: dsa: mv88e6xxx: Fix out-of-bound access - !11513 ipv6: prevent possible UAF in ip6_xmit() - ipv6: prevent possible UAF in ip6_xmit() - !11503 mm: mTHP user controls to pagecache large folio - mm/huge_memory: allow to enable 64K anouymous mapping align alone - mm/huge_memory: mTHP user controls to pagecache large folio - !5453 Add GM Driver Support for Hygon platform(Cryptographic Coprocessor,OLK-6.6) - hct: fix fork issue when use hct in virtual machine - hct: support 1024 processes simutaneously in the hct-mdev mode. - hct: change the maximum number of supported ccps from 16 to 48. - hct: fix build issue when the module mdev is disabled. - hct: supporting memory encryption in host and wb set in vm - hct: add mediated ccp driver support for hygon crypto technology. - crypto: ccp: support sm2 on Hygon generation 4th CPU - crypto: ccp: remove repeated sm4-hs mode - crypto: ccp: Process multiple VQ commands once for SM4/SM4-CTR ccp. - crypto: ccp: Process multiple VQ commands once for SM3 ccp. - crypto: ccp: Modify value of COMMANDS_PER_QUEUE from 16 to 8192. - crypto: ccp: fix bug that SM2 encryption of long data causes kernel crash - crypto: ccp: fix sm2 test failed in testmgr because of missing DER coding - crypto: ccp: Fix a problem that vq thread may stuck when do multi process test. - crypto: ccp: Only handle interrupts by completion. - crypto: ccp: It prompt ILLEGAL_MEM_ADDR when using PSPCCP. - crypto: ccp: fix sm2 not return due to wrong complete callback parameter - crypto: ccp: Support SM4 algorithm for hygon ccp. - crypto: ccp: Support SM3 algorithm for hygon ccp. - crypto: ccp: Support SM2 algorithm for hygon ccp. - !11485 Bugfix introduced when support folio - mm/shmem: replace HPAGE_PMD_ORDER with PMD_ORDER in shmem_alloc_folio() - mm: huge_memory: add memory reliable count in __discard_anon_folio_pmd_locked() - mm: limit order to 0 when allocated from dynamic pool - !11469 OLK-6.6 Revert gpiolib bugfix - gpiolib: acpi: Fix failed in acpi_gpiochip_find() by adding parent node match - Revert "gpiolib: acpi: Fix failed in acpi_gpiochip_find() by adding parent node match" - !11464 mm/ksm: fix ksm_zero_pages accounting - mm_types: Fix kabi breakage in struct mm_struct - mm/ksm: fix ksm_zero_pages accounting - !11411 f2fs: fix null reference error when checking end of zone - f2fs: fix null reference error when checking end of zone - !11465 【olk 6.6】net: hns3: some bugfixes for netdev - net: hns3: fix kernel crash when 1588 is sent on HIP08 devices - net: hns3: initialize reset_timer before hclgevf_misc_irq_init() - net: hns3: don't auto enable misc vector - !11454 nfs: fix memory leak in error path of nfs4_do_reclaim - nfs: fix memory leak in error path of nfs4_do_reclaim - !11421 Some fixes About cpuset partition - cgroup/cpuset: Clear effective_xcpus on cpus_allowed clearing only if cpus.exclusive not set - cgroup/cpuset: fix panic caused by partcmd_update - cgroup/cpuset: Fix remote root partition creation problem - cgroup/cpuset: Optimize isolated partition only generate_sched_domains() calls - !11455 v2 CVE-2024-44972 - btrfs: fix invalid mapping of extent xarray state - btrfs: do not clear page dirty inside extent_write_locked_range()- !11443 v2 drm/amd/display: Fix null pointer deref in dcn20_resource.c - drm/amd/display: Fix null pointer deref in dcn20_resource.c - !11433 ext4: Track data blocks freeing operation in journal - ext4: Track data blocks freeing operation in journal - !11063 virtcca feature: secure smmu init - virtcca feature: secure smmu doc - virtcca feature: secure smmu init - !11206 kprobe support %pd/%pD type - selftests/ftrace: Fix required features for VFS type test case - selftests/ftrace: add fprobe test cases for VFS type "%pd" and "%pD" - selftests/ftrace: add kprobe test cases for VFS type "%pd" and "%pD" - Documentation: tracing: add new type '%pd' and '%pD' for kprobe - tracing/probes: support '%pD' type for print struct file's name - tracing/probes: support '%pd' type for print struct dentry's name - !10875 Incorporate some bonding patches as follows(OLK-6.6) - RDMA/hns: Fix concurrency issue between bond work and bond event - RDMA/hns: Fix UAF in clear bond printing - RDMA/hns: Encapsulate upper event and lowerstate event handlers - RDMA/hns: Register notifier block of bonding events in bond_grp - !11304 iomap: fault in smaller chunks for non-large folio mappings - iomap: fault in smaller chunks for non-large folio mappings - !11397 fuse: Initialize beyond-EOF page contents before setting uptodate - fuse: Initialize beyond-EOF page contents before setting uptodate - !11303 【OLK-6.6】ROH sync patch from OLK-5.10 - roh/core: Avoid null pointer access and optimize code. - Revert "RDMA/hns: Support RDMA_CM in ROH mode" - RDMA/hns: Support getting GRH for UD in RoH mode when NLP = 0 - roh/core: Support macvlan in roh. - roh/hns3: Add ROH client case in hclgevf_init_client_instance. - roh/hns3: Fix IMP reset vlan unusable. - !11363 kcm: Serialise kcm_sendmsg() for the same socket. - kcm: Serialise kcm_sendmsg() for the same socket. - !11381 mm/dynamic_pool: use batch to add free pages to dpool - mm/dynamic_pool: use batch to add free pages to dpool - !11355 ext4: Fix wrong da count caused by concurrent racing on extent tree - ext4: Fix wrong da count caused by concurrent racing on extent tree - !11335 Revert SPI bugfixs - spi: hisi-kunpeng: Add validation for the minimum value of speed_hz - spi: hisi-kunpeng: Add verification for the max_frequency provided by the firmware - Revert "spi: hisi-kunpeng: Add validation for the minimum value of speed_hz" - Revert "spi: Add verification for the max_frequency provided by the firmware" - !11336 nfsd: map the EBADMSG to nfserr_io to avoid warning - nfsd: map the EBADMSG to nfserr_io to avoid warning - !11342 large folios swap-in: handle refault cases first - mm: remove folio_test_anon(folio)==false path in __folio_add_anon_rmap() - mm: use folio_add_new_anon_rmap() if folio_test_anon(folio)==false - mm: extend rmap flags arguments for folio_add_new_anon_rmap - mm: rmap: abstract updating per-node and per-memcg stats - mm: swap: reuse exclusive folio directly instead of wp page faults - mm: swap: entirely map large folios found in swapcache - mm: swap: make should_try_to_free_swap() support large-folio - mm: introduce arch_do_swap_page_nr() which allows restore metadata for nr pages - mm: introduce pte_move_swp_offset() helper which can move offset bidirectionally - mm: remove the implementation of swap_free() and always use swap_free_nr() - mm: swap: introduce swap_free_nr() for batched swap_free() - mm: remove page_add_new_anon_rmap and lru_cache_add_inactive_or_unevictable - mm: userswap: page_add_new_anon_rmap() -> folio_add_new_anon_rmap() - mm: convert collapse_huge_page() to use a folio - mm: convert migrate_vma_insert_page() to use a folio - mm: remove references to page_add_new_anon_rmap in comments - mm: remove stale example from comment - mm: remove some calls to page_add_new_anon_rmap() - mm: convert unuse_pte() to use a folio throughout - mm: convert ksm_might_need_to_copy() to work on folios - mm: memory: use a folio in validate_page_before_insert() - mm: ksm: use more folio api in ksm_might_need_to_copy() - !11328 jbd2: avoid mount failed when commit block is partial submitted - jbd2: avoid mount failed when commit block is partial submitted - !11222 nfs: pass explicit offset/count to trace events - nfs: pass explicit offset/count to trace events - !11321 NFSD: simplify error paths in nfsd_svc() - NFSD: simplify error paths in nfsd_svc() - !11314 nvme-fabrics: use reserved tag for reg read/write command - nvme-fabrics: use reserved tag for reg read/write command - !11119 virtcca compile warning clean - virtcca bugfix: compile warning clean - !10762 CVE-2024-41016 - ocfs2: strict bound check before memcmp in ocfs2_xattr_find_entry() - ocfs2: add bounds checking to ocfs2_xattr_find_entry() - !11300 v3 mm/shmem: mTHP support for anon shmem - mm: shmem: rename mTHP shmem counters - mm: add docs for per-order mTHP split counters - mm: add per-order mTHP split counters - mm: shmem: fix incorrect aligned index when checking conflicts - mm: shmem: avoid allocating huge pages larger than MAX_PAGECACHE_ORDER for shmem - mm: thp: support "THPeligible" semantics for mTHP with anonymous shmem - mm/shmem: fix input and output inconsistencies - mm: shmem: add mTHP counters for anonymous shmem - mm: shmem: add mTHP size alignment in shmem_get_unmapped_area - mm: shmem: add mTHP support for anonymous shmem - mm: shmem: add multi-size THP sysfs interface for anonymous shmem - mm: shmem: add THP validation for PMD-mapped THP related statistics - mm: memory: extend finish_fault() to support large folio - mm: shmem: Merge shmem_alloc_hugefolio() with shmem_alloc_folio() - mm: use update_mmu_tlb_range() to simplify code - mm: implement update_mmu_tlb() using update_mmu_tlb_range() - mm: add update_mmu_tlb_range() - shmem: move the shmem_mapping assert into shmem_get_folio_gfp - shmem: set a_ops earlier in shmem_symlink - shmem,percpu_counter: add _limited_add(fbc, limit, amount) - shmem: _add_to_page_cache() before shmem_inode_acct_blocks() - shmem: move memcg charge out of shmem_add_to_page_cache() - shmem: shmem_acct_blocks() and shmem_inode_acct_blocks() - shmem: trivial tidyups, removing extra blank lines, etc - shmem: factor shmem_falloc_wait() out of shmem_fault() - shmem: remove vma arg from shmem_get_folio_gfp() - shmem: shrink shmem_inode_info: dir_offsets in a union - !11270 nvme: apple: fix device reference counting - nvme: apple: fix device reference counting - !11279 ice: Don't process extts if PTP is disabled - ice: Don't process extts if PTP is disabled - !11280 ice: Fix improper extts handling - ice: Fix improper extts handling - !11233 CVE-2024-43892 - memcg: protect concurrent access to mem_cgroup_idr - !11229 tracing: Have format file honor EVENT_FILE_FL_FREED - tracing: Have format file honor EVENT_FILE_FL_FREED - !11228 Bluetooth: MGMT: Add error handling to pair_device() - Bluetooth: MGMT: Add error handling to pair_device() - !10698 wifi: mac80211: Avoid address calculations via out of bounds array indexing - wifi: mac80211: Avoid address calculations via out of bounds array indexing - !11158 usb: vhci-hcd: Do not drop references before new references are gained - usb: vhci-hcd: Do not drop references before new references are gained - !11040 mm: lazyfree THP support - mm/huge_memory.c: fix used-uninitialized - mm/vmscan: avoid split lazyfree THP during shrink_folio_list() - mm/rmap: integrate PMD-mapped folio splitting into pagewalk loop - mm/rmap: remove duplicated exit code in pagewalk loop - mm: arm64: fix the out-of-bounds issue in contpte_clear_young_dirty_ptes - mm/madvise: optimize lazyfreeing with mTHP in madvise_free - mm/memory: add any_dirty optional pointer to folio_pte_batch() - mm/arm64: override clear_young_dirty_ptes() batch helper - mm/madvise: introduce clear_young_dirty_ptes() batch helper - mm: add pmd_folio() - mm: make HPAGE_PXD_* macros even if !THP - mm/Kconfig: CONFIG_PGTABLE_HAS_HUGE_LEAVES- !11156 v3 Fix CVE-2024-43869 - perf: Fix kabi broken of struct perf_event - perf: Fix event leak upon exec and file release - !11168 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.46-47 LTS Patches - Revert "ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error" - media: Revert "media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control()" - KVM: arm64: Don't pass a TLBI level hint when zapping table entries - KVM: arm64: Don't defer TLB invalidation when zapping table entries - mm/debug_vm_pgtable: drop RANDOM_ORVALUE trick - Revert "Input: bcm5974 - check endpoint type before starting traffic" - Revert "jfs: fix shift-out-of-bounds in dbJoin" - binfmt_flat: Fix corruption when not offsetting data start - ALSA: usb: Fix UBSAN warning in parse_audio_unit() - fs/ntfs3: Do copy_to_user out of run_lock - jfs: Fix shift-out-of-bounds in dbDiscardAG - jfs: fix null ptr deref in dtInsertEntry - fou: remove warn in gue_gro_receive on unsupported protocol - f2fs: fix to cover read extent cache access with lock - f2fs: fix to do sanity check on F2FS_INLINE_DATA flag in inode during GC - bpf, net: Use DEV_STAT_INC() - ext4: sanity check for NULL pointer after ext4_force_shutdown - ext4: convert ext4_da_do_write_end() to take a folio - mm/page_table_check: support userfault wr-protect entries - nfc: llcp: fix nfc_llcp_setsockopt() unsafe copies - net: add copy_safe_from_sockptr() helper - mISDN: fix MISDN_TIME_STAMP handling - fs: Annotate struct file_handle with __counted_by() and use struct_size() - bpf: Avoid kfree_rcu() under lock in bpf_lpm_trie. - bpf: Replace bpf_lpm_trie_key 0-length array with flexible array - pppoe: Fix memory leak in pppoe_sendmsg() - net: sctp: fix skb leak in sctp_inq_free() - net:rds: Fix possible deadlock in rds_message_put - quota: Detect loops in quota tree - Input: bcm5974 - check endpoint type before starting traffic - net: tls, add test to capture error on large splice - erofs: avoid debugging output for (de)compressed data - reiserfs: fix uninit-value in comp_keys - Squashfs: fix variable overflow triggered by sysbot - squashfs: squashfs_read_data need to check if the length is 0 - jfs: fix shift-out-of-bounds in dbJoin - net: don't dump stack on queue timeout - jfs: fix log->bdev_handle null ptr deref in lbmStartIO - wifi: mac80211: fix change_address deadlock during unregister - wifi: mac80211: take wiphy lock for MAC addr change - tcp_metrics: optimize tcp_metrics_flush_all() - genirq/cpuhotplug: Retry with cpu_online_mask when migration fails - genirq/cpuhotplug: Skip suspended interrupts when restoring affinity - nvme/pci: Add APST quirk for Lenovo N60z laptop - nfsd: make svc_stat per-network namespace instead of global - nfsd: remove nfsd_stats, make th_cnt a global counter - nfsd: make all of the nfsd stats per-network namespace - nfsd: expose /proc/net/sunrpc/nfsd in net namespaces - nfsd: rename NFSD_NET_* to NFSD_STATS_* - sunrpc: use the struct net as the svc proc private - sunrpc: remove ->pg_stats from svc_program - sunrpc: pass in the sv_stats struct through svc_create_pooled - nfsd: stop setting ->pg_stats for unused stats - sunrpc: don't change ->sv_stats if it doesn't exist - NFSD: Fix frame size warning in svc_export_parse() - NFSD: Rewrite synopsis of nfsd_percpu_counters_init() - LoongArch: Define __ARCH_WANT_NEW_STAT in unistd.h - btrfs: fix double inode unlock for direct IO sync writes - Revert "selftests: mptcp: simult flows: mark 'unbalanced' tests as flaky" - selftests: mptcp: join: test both signal & subflow - selftests: mptcp: join: ability to invert ADD_ADDR check - mptcp: pm: do not ignore 'subflow' if 'signal' flag is also set - mptcp: pm: don't try to create sf if alloc failed - mptcp: pm: reduce indentation blocks - nouveau: set placement to original placement on uvmm validate. - mm/hugetlb: fix potential race in __update_and_free_hugetlb_folio() - tools headers arm64: Sync arm64's cputype.h with the kernel sources - ipv6: fix source address selection with route leak - btrfs: fix corruption after buffer fault in during direct IO append write - mm: huge_memory: use !CONFIG_64BIT to relax huge page alignment on 32 bit machines - mm: huge_memory: don't force huge page alignment on 32 bit - Revert "drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update" - block: use the right type for stub rq_integrity_vec() - mptcp: pm: deny endp with signal + subflow + port - selftests: mptcp: fix error path - mptcp: fully established after ADD_ADDR echo on MPJ - drm/radeon: Remove __counted_by from StateArray.states[] - drm/mgag200: Bind I2C lifetime to DRM device - drm/mgag200: Set DDC timeout in milliseconds - drm/lima: Mark simple_ondemand governor as softdep - drm/dp_mst: Skip CSN if topology probing is not done yet - drm/bridge: analogix_dp: properly handle zero sized AUX transactions - x86/mtrr: Check if fixed MTRRs exist before saving them - x86/paravirt: Fix incorrect virt spinlock setting on bare metal - selftests: mm: add s390 to ARCH check - eventfs: Use SRCU for freeing eventfs_inodes - eventfs: Don't return NULL in eventfs_create_dir() - smb3: fix setting SecurityFlags when encryption is required - padata: Fix possible divide-by-0 panic in padata_mt_helper() - tracing: Fix overflow in get_free_elt() - power: supply: axp288_charger: Round constant_charge_voltage writes down - power: supply: axp288_charger: Fix constant_charge_voltage writes - power: supply: qcom_battmgr: return EAGAIN when firmware service is not up - LoongArch: Enable general EFI poweroff method - genirq/irqdesc: Honor caller provided affinity in alloc_desc() - irqchip/xilinx: Fix shift out of bounds - kcov: properly check for softirq context - ASoC: amd: yc: Add quirk entry for OMEN by HP Gaming Laptop 16-n0xxx - parisc: fix a possible DMA corruption - parisc: fix unaligned accesses in BPF - serial: core: check uartclk for zero to avoid divide by zero - timekeeping: Fix bogus clock_was_set() invocation in do_adjtimex() - ntp: Safeguard against time_constant overflow - tracefs: Fix inode allocation - driver core: Fix uevent_show() vs driver detach race - clocksource: Fix brown-bag boolean thinko in cs_watchdog_read() - clocksource: Scale the watchdog read retries automatically - vhost-vdpa: switch to use vmf_insert_pfn() in the fault handler - tick/broadcast: Move per CPU pointer access into the atomic section - scsi: ufs: core: Fix hba->last_dme_cmd_tstamp timestamp updating logic - scsi: ufs: core: Do not set link to OFF state while waking up from hibernation - scsi: mpi3mr: Avoid IOMMU page faults on REPORT ZONES - usb: gadget: u_audio: Check return codes from usb_ep_enable and config_ep_by_speed. - usb: gadget: u_serial: Set start_delayed during suspend - usb: gadget: midi2: Fix the response for FB info with block 0xff - usb: gadget: core: Check for unset descriptor - USB: serial: debug: do not echo input by default - usb: vhci-hcd: Do not drop references before new references are gained - ALSA: hda/hdmi: Yet more pin fix for HP EliteDesk 800 G4 - ALSA: hda/realtek: Add Framework Laptop 13 (Intel Core Ultra) to quirks - ALSA: hda: Add HP MP9 G4 Retail System AMS to force connect list - ALSA: line6: Fix racy access to midibuf - drm/client: fix null pointer dereference in drm_client_modeset_probe - drm/i915/gem: Adjust vma offset for framebuffer mmap offset - drm/amdgpu: Forward soft recovery errors to userspace - drm/amd/display: Skip Recompute DSC Params if no Stream on Link - drm/i915/gem: Fix Virtual Memory mapping boundaries calculation - module: make waiting for a concurrent module loader interruptible - module: warn about excessively long module waits - cifs: cifs_inval_name_dfs_link_error: correct the check for fullpath - ASoC: meson: axg-fifo: fix irq scheduling issue with PREEMPT_RT - ALSA: usb-audio: Re-add ScratchAmp quirk entries - spi: spi-fsl-lpspi: Fix scldiv calculation - i2c: qcom-geni: Add missing geni_icc_disable in geni_i2c_runtime_resume - i2c: qcom-geni: Add missing clk_disable_unprepare in geni_i2c_runtime_resume - kprobes: Fix to check symbol prefixes correctly - bpf: kprobe: remove unused declaring of bpf_kprobe_override - i2c: smbus: Send alert notifications to all devices if source not found - ASoC: SOF: Remove libraries from topology lookups - spi: spidev: Add missing spi_device_id for bh2228fv - ASoC: sti: add missing probe entry for player and reader - ASoC: codecs: wsa884x: Correct Soundwire ports mask - ASoC: codecs: wsa884x: parse port-mapping information - ASoC: codecs: wsa883x: Correct Soundwire ports mask - ASoC: codecs: wsa883x: parse port-mapping information - ASoC: codecs: wsa881x: Correct Soundwire ports mask - ASoC: codecs: wcd938x-sdw: Correct Soundwire ports mask - i2c: smbus: Improve handling of stuck alerts - arm64: cputype: Add Cortex-A725 definitions - arm64: cputype: Add Cortex-X1C definitions - arm64: cputype: Add Cortex-X925 definitions - arm64: cputype: Add Cortex-A720 definitions - arm64: cputype: Add Cortex-X3 definitions - arm64: cputype: Add Neoverse-V3 definitions - arm64: cputype: Add Cortex-X4 definitions - arm64: barrier: Restore spec_bar() macro - arm64: Add Neoverse-V2 part - net: drop bad gso csum_start and offset in virtio_net_hdr - irqchip/loongarch-cpu: Fix return value of lpic_gsi_to_irq() - irqchip/meson-gpio: Convert meson_gpio_irq_controller::lock to 'raw_spinlock_t' - scsi: mpt3sas: Avoid IOMMU page faults on REPORT ZONES - SUNRPC: Fix a race to wake a sync task - s390/sclp: Prevent release of buffer in I/O - jbd2: avoid memleak in jbd2_journal_write_metadata_buffer - ext4: fix uninitialized variable in ext4_inlinedir_to_tree - media: xc2028: avoid use-after-free in load_firmware_cb() - media: uvcvideo: Fix the bandwdith quirk on USB 3.x - media: uvcvideo: Ignore empty TS packets - drm/amd/display: Add null checker before passing variables - drm/amd/display: Add NULL check for 'afb' before dereferencing in amdgpu_dm_plane_handle_cursor_update - media: amphion: Remove lock in s_ctrl callback - drm/amd/pm: Fix the null pointer dereference for vega10_hwmgr - drm/amdgpu: Add lock around VF RLCG interface - drm/admgpu: fix dereferencing null pointer context - drm/amdgpu/pm: Fix the null pointer dereference in apply_state_adjust_rules - drm/amdgpu: Fix the null pointer dereference to ras_manager - drm/amdgpu/pm: Fix the null pointer dereference for smu7 - drm/amdgpu/pm: Fix the param type of set_power_profile_mode - drm/amdgpu: fix potential resource leak warning - drm/amd/display: Add delay to improve LTTPR UHBR interop - Bluetooth: btnxpuart: Shutdown timer and prevent rearming when driver unloading - btrfs: fix bitmap leak when loading free space cache on duplicate entry - net: stmmac: qcom-ethqos: enable SGMII loopback during DMA reset on sa8775p-ride-r3 - can: mcp251xfd: tef: update workaround for erratum DS80000789E 6 of mcp2518fd - can: mcp251xfd: tef: prepare to workaround broken TEF FIFO tail index erratum - wifi: nl80211: don't give key data to userspace - udf: prevent integer overflow in udf_bitmap_free_blocks() - PCI: Add Edimax Vendor ID to pci_ids.h - af_unix: Don't retry after unix_state_lock_nested() in unix_stream_connect(). - selftests/bpf: Fix send_signal test with nested CONFIG_PARAVIRT - net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink - wifi: ath12k: fix memory leak in ath12k_dp_rx_peer_frag_setup() - wifi: nl80211: disallow setting special AP channel widths - xen: privcmd: Switch from mutex to spinlock for irqfds - ACPI: SBS: manage alarm sysfs attribute through psy core - ACPI: battery: create alarm sysfs attribute atomically - clocksource/drivers/sh_cmt: Address race condition for clock events - rcu: Fix rcu_barrier() VS post CPUHP_TEARDOWN_CPU invocation - block: change rq_integrity_vec to respect the iterator - md/raid5: avoid BUG_ON() while continue reshape after reassembling - rcutorture: Fix rcu_torture_fwd_cb_cr() data race - hwmon: corsair-psu: add USB id of HX1200i Series 2023 psu - gpio: prevent potential speculation leaks in gpio_device_get_desc() - net: fec: Stop PPS on driver remove - net: bcmgenet: Properly overlay PHY and MAC Wake-on-LAN capabilities - l2tp: fix lockdep splat - net: dsa: bcm_sf2: Fix a possible memory leak in bcm_sf2_mdio_register() - net/smc: add the max value of fallback reason count - Bluetooth: hci_sync: avoid dup filtering when passive scanning with adv monitor - Bluetooth: l2cap: always unlock channel in l2cap_conless_channel() - ice: Fix reset handler - net: linkwatch: use system_unbound_wq - net: bridge: mcast: wait for previous gc cycles when removing port - sctp: Fix null-ptr-deref in reuseport_add_sock(). - wifi: ath12k: fix soft lockup on suspend - wifi: ath12k: add CE and ext IRQ flag to indicate irq_handler - wifi: ath12k: rename the sc naming convention to ab - smb: client: handle lack of FSCTL_GET_REPARSE_POINT support - x86/mm: Fix pti_clone_entry_text() for i386 - x86/mm: Fix pti_clone_pgtable() alignment assumption - jump_label: Fix the fix, brown paper bags galore - platform/x86/intel/ifs: Initialize union ifs_status to zero - !11100 exec: Fix ToCToU between perm check and set-uid/gid usage - exec: Fix ToCToU between perm check and set-uid/gid usage - !11106 CVE-2024-43868 - riscv/purgatory: align riscv_kernel_entry - riscv: Use SYM_*() assembly macros instead of deprecated ones - !11094 v4 Backport bugfix of folio from v6.11 - ext4: Fix WARNON in generic write begin path for iomap mode - mm/huge_memory: fix comment errors of thp_mapping_align - mm/slub: mark racy accesses on slab->slabs - mm/slub: mark racy access on slab->freelist - mm/swapfile: mark racy access on si->highest_bit - mm/mmap: simplify vma link and unlink - mm/readahead: limit page cache size in page_cache_ra_order() - readahead: use ilog2 instead of a while loop in page_cache_ra_order() - filemap: Convert generic_perform_write() to support large folios - mm/huge_memory: avoid PMD-size page cache if needed - mm: simplify folio_migrate_mapping() - mm: refactor folio_undo_large_rmappable() - mm: fix crashes from deferred split racing folio migration - mm: page_alloc: allowing mTHP compaction to capture the freed page directly - mm/migrate: fix deadlock in migrate_pages_batch() on large folios - mm: fix khugepaged activation policy - mm/huge_memory: mark racy access onhuge_anon_orders_always - mm/migrate: putback split folios when numa hint migration fails - mm/migrate: make migrate_pages_batch() stats consistent - !11125 mm/memory-failure: fix handling of dissolved but not taken off from buddy pages - mm/memory-failure: fix handling of dissolved but not taken off from buddy pages - !11077 IMA: Support the measurement extending of TSI TMM - IMA: Support the measurement extending of TSI TMM - !11108 cpufreq: CPPC: Eliminate the impact of cpc_read() latency error - cpufreq: CPPC: Eliminate the impact of cpc_read() latency error - !11081 Backport LTS conflicting patches - ALSA: hda/realtek: Fix conflicting quirk for PCI SSID 17aa:3820 - vfio/pci: Restore zero affected bus reset devices warning - cxl/region: check interleave capability - EDAC/amd64: Convert PCIBIOS_* return codes to errnos - ALSA: hda/realtek: Enable headset mic on IdeaPad 330-17IKB 81DM - vfio/pci: Init the count variable in collecting hot-reset devices - vfio/pci: Collect hot-reset devices to local buffer - platform/chrome: cros_ec: Handle events during suspend after resume completion - !10998 PCI: endpoint: pci-epf-test: Make use of cached 'epc_features' in pci_epf_test_core_init() - PCI: endpoint: pci-epf-test: Make use of cached 'epc_features' in pci_epf_test_core_init() - !10942 add support for arm virtcca attestation - cvm_tsi: add support virtcca attestation - !11043 [OLK-6.6] drivers: add GPU Peer Memory support - drivers: Fix kabi check failure - drivers: Add GDR(GPU Direct RDMA) support - !11044 ext4: some bugfixs for large iomap&folio - iomap: improve iomap_folio_mkwrite_iter and ifs_clear_range_dirty - iomap: optimize setting uptodate bit - iomap: reduce unnecessary state_lock when setting ifs uptodate and dirty bits - iomap: don't mark blocks uptodate after partial zeroing - ext4: ext4_iomap_map_blocks: Fix null pointer deference in nojournal mode - xfs: reserve blocks for truncating large realtime inode - xfs: hoist multi-fsb allocation unit detection to a helper - !11018 net: usb: qmi_wwan: fix memory leak for not ip packets - net: usb: qmi_wwan: fix memory leak for not ip packets - !10927 block: Fix lockdep warning in blk_mq_mark_tag_wait - block: Fix lockdep warning in blk_mq_mark_tag_wait - !11004 kvm: s390: Reject memory region operations for ucontrol VMs - kvm: s390: Reject memory region operations for ucontrol VMs - !10969 bpf, arm64: Fix trampoline for BPF_TRAMP_F_CALL_ORIG - bpf, arm64: Fix trampoline for BPF_TRAMP_F_CALL_ORIG - !10407 Intel: Backport SPR/EMR CXL and HBM perfmon support to kernel 6.6 - perf/x86/intel/uncore: Support HBM and CXL PMON counters - perf/x86/uncore: Cleanup unused unit structure - perf/x86/uncore: Apply the unit control RB tree to PCI uncore units - perf/x86/uncore: Apply the unit control RB tree to MSR uncore units - perf/x86/uncore: Apply the unit control RB tree to MMIO uncore units - perf/x86/uncore: Retrieve the unit ID from the unit control RB tree - perf/x86/uncore: Support per PMU cpumask - perf/x86/uncore: Save the unit control address of all units - !10411 Intel: Backport 3 core PMU bugfixes to kernel 6.6 - perf/x86/intel: Correct incorrect 'or' operation for PMU capabilities - perf/x86/intel: Fix broken fixed event constraints extension - perf/x86/intel: Add a distinct name for Granite Rapids - perf/x86/intel: Hide Topdown metrics events if the feature is not enumerated - perf/x86/intel: Add common intel_pmu_init_hybrid() - perf/x86/intel: Clean up the hybrid CPU type handling code - perf/x86/intel: Apply the common initialization code for ADL - perf/x86/intel: Factor out the initialization code for ADL e-core - perf/x86/intel: Factor out the initialization code for SPR - perf/x86/intel: Use the common uarch name for the shared functions - !10911 Fix CVE-2024-40966 - tty: fix kabi breakage in struct tty_operations - tty: add the option to have a tty reject a new ldisc - !10918 【OLK 6.6】net: hns3: use the user's cfg after reset - net: hns3: use the user's cfg after reset - !10907 v2 perf/x86: Fix smp_processor_id()-in-preemptible warnings - perf/x86: Fix smp_processor_id()-in-preemptible warnings - !10585 Fix the issue that vm can't access to host with virtio-net - vhost: move smp_rmb() into vhost_get_avail_idx() - vhost: correct misleading printing information - !10812 ima: dont disable digest_list if the file is not processed - ima: dont disable digest_list if the file is not processed - !10819 [OLK-6.6] Support Hygon Trusted Key Management virtualization - drivers/crypto/ccp: memmove is used instead of memcpy in overlapped memmory for tkm - drivers/crypto/ccp: Eliminate dependence of the kvm module on the ccp module - drivers/crypto/ccp: Allow VM without a configured vid to use TKM - drivers/crypto/ccp: support tkm key isolation - arch/x86/kvm: Support tkm virtualization - arch/x86/kvm: Support psp virtualization - drivers/crypto/ccp: Add psp mutex enable ioctl support - drivers/crypto/ccp: concurrent psp access support between user and kernel space - !6863 sdei_watchdog: don't update last_check_time when no watchdog_hardlockup_check is performed - sdei_watchdog: do not update last_check_time when no watchdog_hardlockup_check is performed - !10899 selftests/bpf: Add netlink helper library - selftests/bpf: Add netlink helper library - !10690 [OLK-6.6] Support Trusted computing(TC) feature for hygon CPU - crypto: command co-processor: Add config to openeuler_defconfig - linux: tcm: add Hygon TCM2 driver - linux: tpm: add Hygon TPM2 driver - crypto: tdm: Support dynamic protection for SCT and IDT by HYGON TDM - crypto: tdm: Add Hygon TDM driver - crypto: command co-processor: Add another mailbox interrupt support for PSP sending command to X86 - crypto: ccp: Add a new interface for X86 sending command to PSP - !10720 v2 s390/pkey: Wipe copies of clear-key structures on failure - s390/pkey: Wipe copies of clear-key structures on failure- riscv kernel upgrade to 6.6.0-38.0.0 - bugfix for sg2042 accessing kernel page tables - revert sg2042 high memory - revert sg2042 kexec image - add support th1520 modules: pinctrl, eMMC, gpio, usb, pwm, ethernet, th1520 perf, ADC, clock, mailbox, reset, qspi, pvt, gpio, dma, mmc, cpufreq, rtc, dwmac, light-event, rpmsg, i2c, i2s, light-aon, light-aon-pd, codec, gpu. - th1520: riscv: dtb: Add gpu node - riscv: config: Disable RISCV_ISA_V in openEuler - th1520: riscv: config: disable RISCV_ISA_V in th1520_defconfig - riscv: config: Set NVMe driver builtin - th1520: riscv: config: Enable PowerVR GPU - th1520: riscv: Add GPU to th1520_defconfig - th1520: riscv: config: Enable th1520 support - sg2042: riscv: config: Enable sg2042 support - sg2042: riscv: config: Add sg2042_defconfig - riscv: Use accessors to page table entries instead of direct dereference - riscv: mm: Only compile pgtable.c if MMU - mm: Introduce pudp/p4dp/pgdp_get() functions - riscv: Use WRITE_ONCE() when setting page table entries - Merge patch series "membarrier: riscv: Core serializing command" - membarrier: riscv: Add full memory barrier in switch_mm() - stmmac: bitmain: use DWMAC_SOPHGO module config - pcie: whitelist and support mellanox connectx-2 - riscv: input: Fixup input_event - drm: Fix HDMI hot-plug problem - gpu/drm: hdmi: Add hdmi debounce to enhance hdmi plugin/out stable - audio: th1520: fixup compile warning of i2s driver - DPU: fix bugs of DPU and resolve compilation warnings - riscv: binrpm: Add dtbs install - th1520: gpu: Add driver for PowerVR Rogue GPU - dmaengine: dw-axi-dmac: Add support for Xuantie TH1520 DMA - arch:rsicv:select ARCH_HAS_DMA_WRITE_COMBINE - configs: enable rtw88 for 8723ds - drivers: pinctrl: correct th1520 audio i2c1 bit mapping table - driver:padctrl:correct th1520 gpio_1 24/25 cfg - dts: th1520: add adc vref-supply regulator - dts: th1520: add cpu thermal node and device thermal node - drivers: event: add macro definition to control SW_PANIC event - chore: use thead instead of xuantie - chore: use xuantie instead of thead - riscv: ptrace: Fix ptrace using uninitialized riscv_v_vsize - audio: th1520: enable soundcard feature - audio: th1520: support audiosys pinctrl feature - dts: th1520: fix interrupt number config error in dts - th1520: defconfig: add configs to align the functionality and performance of previous related versions - DPU: add DPU driver for Lichee-Pi-4A board - dts: th1520: add npu device node - codec: audio: add codec driver for Lichee-Pi-4A board - drivers: cpufreq: add cpufreq driver. - riscv: dts: Introduce lichee-pi-4a fixed regulator support. - th1520: defconfig: to remove unnecessary configs for th1520 - i2s: remove debug message - riscv:dts: fix the aon gpio range configuration error - riscv:dts: fix spi/qspi1 cs pin duplicate configuration error - riscv:dts: fix the gpio range configuration error - drivers: regulator: add th1520 AON virtual regulator control support. - dt-bindings: add AON resource id headfile - drivers: pmdomain: support th1520 Power domain control. - i2s: add i2s driver for XuanTie TH1520 SoC - configs: xuantie: correct definition of SoC Architecture - configs: enable th1520 xgene rtc and rtc prescale in th1520_defconfig - riscv: mm: update T-Head memory type definitions - i2c: designware: add support for hcnt/lcnt got from dt - add 902 share mem log - th1520_defconfig: add usb config - refine thead,th1520-usb.yaml - drivers: usb: dwc3: add usb_mode usb_speed param for mode speed change when insmod ko - drivers: usb: add dwc3-thead.c - th1520.dtsi: refine usb dts - configs: enable th1520 event and watchdog - riscv:dts:thead: Add TH1520 event and watchdog device node - dt-bindings:wdt: Add Documentation for THEAD TH1520 pmic watchdog - drivers/watchdog: Add THEAD TH1520 pmic watchdog driver - dt-bindings:event: Add Documentation for THEAD TH1520 event driver - drivers/soc/event: Add THEAD TH1520 event driver - Open I2C config - fix rpmsg addr cast warning - fix lp32 compile warnoing for rpmsg - fix proc log warning - fix rpmsg warning - add c906 audio support - Kconfig: Enable APM X-Gene RTC for XuanTie TH1520 - drivers/rtc/rtc-xgene: Add "snps,dw-apb-rtc" into the "compatible" - riscv: dts: thead: Add XuanTie TH1520 RTC device node - dt-bindings: rtc: Add optional property "prescaler" in APM X-Gene RTC Document - drivers/rtc/rtc-xgene: Add prescaler support in APM X-Gene RTC driver - th1520: defconfig: to add th1520_defconfig - net:stmmac: increase timeout for dma reset - stmmac:dwmac-thead: add support for suspend/resume feature - net:dwmac-thead: dd ptp clk set and enable - configs: Enable th1520 mailbox. - drivers:ipc: update th1520 rpc msg version 2 - firmware: thead: c910_aon: add th1520 Aon protocol driver - mmc:sdhci-of-dwcmshc: th1520 add delay line in different mode and sdio rxclk delay - mmc:sdhci-of-dwcmshc: th1520 larger tuning max loop count to 128 - dts: th1520: enable sdio1 for wifi card in lichee-pi-4a - mmc:sdhci-of-dwcmshc: th1520 sdhci add fix io voltage 1v8 - mmc:sdhci-of-dwcmshc: th1520 resolve accss rpmb error in hs400 - drivers/dmac: add pm suspend/resume for dma driver - audio: th1520: add dma chan str for dmaengine - riscv: dts: thead: Add THEAD TH1520 dmac1 and dmac2 device node - STR: fix pca953x resume bug - drivers/iio/adc: add sysfs_remove_file when adc driver removed - drivers/pvt: add mr75203 driver pm feature and correct temperature coefficient - riscv: dts: thead: Add THEAD TH1520 SPI/QSPI device node - dt-bindings: spi/qspi: Add Documentation for THEAD TH1520 SPI/QSPI - drivers/spi: Add THEAD TH1520 QSPI driver - reset: th1520: to support npu/fce reset feature - riscv: dts: Add th1520 reset device tree - dt-bindings: reset: Document th1520 reset control - reset: Add th1520 reset driver support - riscv: dts: thead: Add XuanTie TH1520 Mailbox device node - mailbox: add XuanTie TH1520 Mailbox IPC driver - dt-bindings: mailbox: Add a binding file for XuanTie TH1520 Mailbox - riscv: dts: thead: to add th1520 clk nodes - drivers: clk: to add thead th1520 clk driver - configs: enable th1520 clk - dt-bindings: adc: Add Documentation for THEAD TH1520 ADC - riscv: dts: thead: Add THEAD TH1520 ADC device node - drivers/iio/adc: Add THEAD TH1520 ADC driver - riscv: dts: thead: Enable Lichee Pi 4A USB - riscv: dts: thead: Add Lichee Pi 4A IO expansions - riscv: dts: thead: Add TH1520 USB nodes - riscv: dts: thead: Add TH1520 I2C nodes - usb: dwc3: add T-HEAD TH1520 usb driver - dt-bindings: usb: Add T-HEAD TH1520 USB controller - riscv: dts: thead: Add BeagleV Ahead SDIO0 pins - riscv: dts: thead: Add Lichee Pi 4A SDIO0 pins - riscv: dts: thead: Add TH1520 ethernet nodes - net: stmmac: add glue layer for T-HEAD TH1520 SoC - dt-bindings: net: add T-HEAD dwmac support - dt-bindings: net: snps,dwmac: allow dwmac-3.70a to set pbl properties - gpio: dwapb: Use generic request, free and set_config - riscv: dts: thead: Enable Lichee Pi 4A PWM fan - riscv: dts: thead: Add TH1520 PVT node - riscv: dts: thead: Add TH1520 PWM node - pwm: add T-HEAD PWM driver - dt-bindings: pwm: Add T-HEAD PWM controller - perf vendor events riscv: add T-HEAD C9xx JSON file - riscv: dts: thead: th1520: Add PMU event node - chore: dtb_install in /boot - remove compression for riscv Image - riscv: dts: thead: Enable LicheePi 4A eMMC and microSD - riscv: dts: thead: Enable BeagleV Ahead eMMC and microSD - riscv: dts: thead: Add TH1520 mmc controllers and sdhci clock - riscv: defconfig: Enable mmc and dma drivers for T-Head TH1520 - mmc: sdhci-of-dwcmshc: Add support for T-Head TH1520 - mmc: sdhci: add __sdhci_execute_tuning() to header - dt-bindings: mmc: sdhci-of-dwcmhsc: Add T-Head TH1520 support - fix: remove linux/array_size.h for pinctrl-th1520 - riscv: dtb: thead: Add BeagleV Ahead LEDs - riscv: dts: thead: Add TH1520 pinctrl settings for UART0 - riscv: dts: thead: Add Lichee Pi 4M GPIO line names - riscv: dts: thead: Adjust TH1520 GPIO labels - riscv: dts: thead: Add TH1520 GPIO ranges - riscv: dts: thead: Add TH1520 pin control nodes - pinctrl: Add driver for the T-Head TH1520 SoC - dt-bindings: pinctrl: Add thead,th1520-pinctrl bindings - riscv: Enable TEE driver - sg2042: drivers: rtc: disable BMC RTC device - sg2042: dts: add i2c-rtc ds1307 device node for single chip - sg2042: riscv:dts:modify dw gpio clock name - sg2042: drivers:pci:remove the err log of parsing pci - sg2042: driver: ipmi: support KVM and IPMI SI for BMC - sg2042: perf cpumap: Make counter as unsigned ints - sg2042: kernel: schedule: Fix set_task_cpu() bug - sg2042: mm: Modify __find_max_addr for memory hole - sg2042: riscv: kernel: Optimize apply_relocate_add() - sg2042: riscv: mm: Clear compilation warning about last_cpupid - sg2042: kernel: tick: filter unnecessary printing - sg2042: kernel: Adjust the log level of the tick_switch_to_oneshot function - sg2042: drm/amd/display: Support DRM_AMD_DC_FP on RISC-V - sg2042: riscv: Factor out riscv-march-y to a separate Makefile - sg2042: riscv: Add support for kernel-mode FPU - sg2042: mango pci hack:broadcast when no MSI source known - sg2042: nvidia hda: force msi - sg2042: radeon hack: force 64-bit msi to fit top intc - sg2042: amdgpu: disable rebar - sg2042: ttm: disallow cached mapping - sg2042: driver: soc: Add sophgo sg2042 soc support - sg2042: drivers: pcie: Create msi-x whitelist,turn on msi-x for top intr - sg2042: driver: pcie: Add sophgo sg2042 soc support - sg2042: driver: net: Add sophgo sg2042 soc support - sg2042: driver: mtd: Add sophgo sg2042 soc support - sg2042: driver: mmc: Add sophgo sg2042 soc support - sg2042: driver: reset: Add sophgo sg2042 soc support - sg2042: driver: pinctrl: Add sophgo sg2042 soc support - sg2042: driver: clk: Add sophgo sg2042 soc support - sg2042: riscv: spinlock: Fix deadlock issue - sg2042: riscv: add smp_cond_load_acquire() - sg2042: riscv: add ioremap_wc for gpu - sg2042: riscv: changing T-Head PBMT attributes - sg2042: riscv: errata: thead: Make cache clean to flush - sg2042: riscv: use VA+PA variant of CMO macros for DMA page preparation - sg2042: riscv: use VA+PA variant of CMO macros for DMA synchorization - sg2042: riscv: errata: cmo: add CMO macro variant with both VA and PA - sg2042: riscv: errata: Replace thead cache clean with flush - sg2042: riscv: Kconfig: Set vector as default no - sg2042: riscv: Add sophgo sg2042 soc support- !10843 netfilter: nf_tables: prefer nft_chain_validate - netfilter: nf_tables: prefer nft_chain_validate - !10893 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.45 LTS Patches - selftests: mptcp: join: check backup support in signal endp - selftests: mptcp: join: validate backup in MPJ - selftests: mptcp: always close input's FD if opened - mptcp: fix duplicate data handling - mptcp: pm: only set request_bkup flag when sending MP_PRIO - mptcp: fix bad RCVPRUNED mib accounting - mptcp: mib: count MPJ with backup flag - mptcp: fix NL PM announced address accounting - mptcp: distinguish rcv vs sent backup flag in requests - mptcp: fix user-space PM announced address accounting - r8169: don't increment tx_dropped in case of NETDEV_TX_BUSY - net: usb: sr9700: fix uninitialized variable use in sr_mdio_read - drm/i915: Fix possible int overflow in skl_ddi_calculate_wrpll() - drm/virtio: Fix type of dma-fence context variable - drm/vmwgfx: Fix a deadlock in dma buf fence polling - Revert "ALSA: firewire-lib: operate for period elapse event in process context" - Revert "ALSA: firewire-lib: obsolete workqueue for period update" - ALSA: seq: ump: Optimize conversions from SysEx to UMP - ALSA: hda/realtek: Add quirk for Acer Aspire E5-574G - ALSA: usb-audio: Correct surround channels in UAC1 channel map - mptcp: sched: check both directions for backup - protect the fetch of ->fd[fd] in do_dup2() from mispredictions - btrfs: do not subtract delalloc from avail bytes - btrfs: zoned: fix zone_unusable accounting on making block group read-write again - HID: wacom: Modify pen IDs - platform/chrome: cros_ec_proto: Lock device when updating MKBP version - arm64: jump_label: Ensure patched jump_labels are visible to all CPUs - riscv: Fix linear mapping checks for non-contiguous memory regions - riscv/mm: Add handling for VM_FAULT_SIGSEGV in mm_fault_error() - perf: riscv: Fix selecting counters in legacy mode - riscv: remove unused functions in traps_misaligned.c - ipv6: fix ndisc_is_useropt() handling for PIO - igc: Fix double reset adapter triggered from a single taprio cmd - net/mlx5e: Add a check for the return value from mlx5_port_set_eth_ptys - net/mlx5e: Fix CT entry update leaks of modify header context - net/mlx5e: Require mlx5 tc classifier action support for IPsec prio capability - net/mlx5: Fix missing lock on sync reset reload - net/mlx5: Lag, don't use the hardcoded value of the first port - net/mlx5: Fix error handling in irq_pool_request_irq - net/mlx5: Always drain health in shutdown callback - netfilter: iptables: Fix potential null-ptr-deref in ip6table_nat_table_init(). - netfilter: iptables: Fix null-ptr-deref in iptable_nat_table_init(). - ALSA: hda: Conditionally use snooping for AMD HDMI - net: phy: micrel: Fix the KSZ9131 MDI-X status issue - net: mvpp2: Don't re-use loop iterator - drm/i915/hdcp: Fix HDCP2_STREAM_STATUS macro - net/iucv: fix use after free in iucv_sock_close() - ice: add missing WRITE_ONCE when clearing ice_rx_ring::xdp_prog - ice: replace synchronize_rcu with synchronize_net - ice: don't busy wait for Rx queue disable in ice_qp_dis() - ice: respect netif readiness in AF_XDP ZC related ndo's - i915/perf: Remove code to update PWR_CLK_STATE for gen12 - rtnetlink: Don't ignore IFLA_TARGET_NETNSID when ifname is specified in rtnl_dellink(). - net: axienet: start napi before enabling Rx/Tx - tcp: Adjust clamping window for applications specifying SO_RCVBUF - tcp: annotate data-races around tp->window_clamp - Bluetooth: hci_sync: Fix suspending with wrong filter policy - Bluetooth: btintel: Fail setup on error - ALSA: hda: conexant: Fix headset auto detect fail in the polling mode - net: phy: realtek: add support for RTL8366S Gigabit PHY - wifi: cfg80211: fix reporting failed MLO links status with cfg80211_connect_done - sched: act_ct: take care of padding in struct zones_ht_key - drm/vmwgfx: Trigger a modeset when the screen moves - drm/vmwgfx: Fix overlay when using Screen Targets - drm/nouveau: prime: fix refcount underflow - perf tool: fix dereferencing NULL al->maps - HID: amd_sfh: Move sensor discovery before HID device initialization - ARM: 9406/1: Fix callchain_trace() return value - MIPS: dts: loongson: Fix ls2k1000-rtc interrupt - MIPS: dts: loongson: Fix liointc IRQ polarity - MIPS: Loongson64: DTS: Fix PCIe port nodes for ls7a - perf: imx_perf: fix counter start and config sequence - dmaengine: fsl-edma: change the memory access from local into remote mode in i.MX 8QM - dmaengine: fsl-edma: clean up unused "fsl,imx8qm-adma" compatible string - dmaengine: fsl-edma: add i.MX8ULP edma support - dmaengine: fsl-edma: add address for channel mux register in fsl_edma_chan - f2fs: assign CURSEG_ALL_DATA_ATGC if blkaddr is valid - f2fs: fix to avoid use SSR allocate when do defragment - mm/page_alloc: fix pcp->count race between drain_pages_zone() vs __rmqueue_pcplist() - fbdev: vesafb: Detect VGA compatibility from screen info's VESA attributes - firmware/sysfb: Update screen_info for relocated EFI framebuffers - video: Provide screen_info_get_pci_dev() to find screen_info's PCI device - video: Add helpers for decoding screen_info - fbdev/vesafb: Replace references to global screen_info by local pointer - PCI: Add pci_get_base_class() helper - KVM: nVMX: Check for pending posted interrupts when looking for nested events - KVM: nVMX: Add a helper to get highest pending from Posted Interrupt vector - KVM: VMX: Move posted interrupt descriptor out of VMX code - KVM: VMX: Split off vmx_onhyperv.{ch} from hyperv.{ch} - leds: triggers: Flush pending brightness before activating trigger - leds: trigger: Call synchronize_rcu() before calling trig->activate() - leds: trigger: Store brightness set by led_trigger_event() - leds: trigger: Remove unused function led_trigger_rename_static() - cpufreq: qcom-nvmem: fix memory leaks in probe error paths - cpufreq: qcom-nvmem: Simplify driver data allocation - sysctl: allow to change limits for posix messages queues - sysctl: allow change system v ipc sysctls inside ipc namespace - thermal/drivers/broadcom: Fix race between removal and clock disable - thermal: bcm2835: Convert to platform remove callback returning void - arm64: dts: qcom: sdm845: Disable SS instance in Parkmode for USB - arm64: dts: qcom: sdm845: switch USB QMP PHY to new style of bindings - arm64: dts: qcom: sdm845: switch USB+DP QMP PHY to new style of bindings - arm64: dts: qcom: ipq8074: Disable SS instance in Parkmode for USB - arm64: dts: qcom: msm8998: Disable SS instance in Parkmode for USB - arm64: dts: qcom: msm8998: switch USB QMP PHY to new style of bindings - arm64: dts: qcom: sc7280: Disable SuperSpeed instances in park mode - arm64: dts: qcom: sc7280: switch USB+DP QMP PHY to new style of bindings - arm64: dts: qcom: sc7180: Disable SuperSpeed instances in park mode - arm64: dts: qcom: sc7180: switch USB+DP QMP PHY to new style of bindings - !10823 mm/userfaultfd: reset ptes when close() for wr-protected ones - mm/userfaultfd: reset ptes when close() for wr-protected ones - !10824 dmaengine: idxd: Fix possible Use-After-Free in irq_process_work_list - dmaengine: idxd: Fix possible Use-After-Free in irq_process_work_list - !10855 CVE-2024-36971 - net: fix kabi breakage in struct dst_ops - net: fix __dst_negative_advice() race - !10863 v2 ext4: flexibly control whether to enable dioread_nolock by default - ext4: flexibly control whether to enable dioread_nolock by default - !10796 Revert "ARM: spectre-v2: turn off the mitigation via boot cmdline param" - Revert "ARM: spectre-v2: turn off the mitigation via boot cmdline param" - !10795 Revert "security: restrict init parameters by configuration" - Revert "security: restrict init parameters by configuration" - !10794 revert kaslr arm32 support - Revert "asm-generic: add .data.rel.ro sections to __ro_after_init" - Revert "arm-soc: exynos: replace open coded VA->PA conversions" - Revert "arm-soc: mvebu: replace open coded VA->PA conversion" - Revert "arm-soc: various: replace open coded VA->PA calculation of pen_release" - Revert "ARM: kernel: switch to relative exception tables" - Revert "ARM: kernel: make vmlinux buildable as a PIE executable" - Revert "ARM: kernel: use PC-relative symbol references in MMU switch code" - Revert "ARM: kernel: use PC relative symbol references in suspend/resume code" - Revert "ARM: mm: export default vmalloc base address" - Revert "ARM: kernel: refer to swapper_pg_dir via its symbol" - Revert "arm: vectors: use local symbol names for vector entry points" - Revert "ARM: kernel: implement randomization of the kernel load address" - Revert "ARM: decompressor: explicitly map decompressor binary cacheable" - Revert "ARM: decompressor: add KASLR support" - Revert "No idea why this broke ..." - Revert "arm32: kaslr: When boot with vxboot, we must adjust dtb address before kaslr_early_init, and store dtb address after init." - Revert "arm32: kaslr: pop visibility when compile decompress boot code as we need relocate BSS by GOT." - Revert "arm32: kaslr: print kaslr offset when kernel panic" - Revert "arm32: kaslr: Fix the bug of symbols relocation" - Revert "arm32: kaslr: Fix clock_gettime and gettimeofday performance degradation when configure CONFIG_RANDOMIZE_BASE" - !10615 USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor - USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor - !10834 v2 wifi: cfg80211: restrict NL80211_ATTR_TXQ_QUANTUM values - wifi: cfg80211: restrict NL80211_ATTR_TXQ_QUANTUM values - !10816 sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime - sched/cputime: Fix mul_u64_u64_div_u64() precision for cputime - !10805 dummy_struct_ops selftest failed - Revert "[Backport] selftests/bpf: adjust dummy_st_ops_success to detect additional error" - Revert "[Backport] selftests/bpf: dummy_st_ops should reject 0 for non-nullable params" - !10345 blk-wbt: don't throttle swap writes in direct reclaim - blk-wbt: don't throttle swap writes in direct reclaim - !10772 s390/pkey: Use kfree_sensitive() to fix Coccinelle warnings - s390/pkey: Use kfree_sensitive() to fix Coccinelle warnings - !10722 btrfs: zoned: fix use-after-free in do_zone_finish() - btrfs: zoned: fix use-after-free in do_zone_finish()- !10793 perf util: Add a function for replacing characters in a string - perf util: Add a function for replacing characters in a string - !10635 nvme: avoid double free special payload - nvme: avoid double free special payload - !10757 CVE-2024-41045 - bpf: Defer work in bpf_timer_cancel_and_free - bpf: replace bpf_timer_cancel_and_free with a generic helper - bpf: replace bpf_timer_set_callback with a generic helper - !10729 Backport vmalloc 2 bugfix - mm: vmalloc: fix lockdep warning - mm/vmalloc: eliminated the lock contention from twice to once - !10746 irqchip/mbigen: Fix mbigen node address layout - irqchip/mbigen: Fix mbigen node address layout - !10533 backport mainline patchs - cpufreq: Allow drivers to advertise boost enabled - irqdomain: Fixed unbalanced fwnode get and put - !10518 xfs: add bounds checking to xlog_recover_process_data - xfs: add bounds checking to xlog_recover_process_data - !10622 leds: mlxreg: Use devm_mutex_init() for mutex initialization - leds: mlxreg: Use devm_mutex_init() for mutex initialization - !10677 gve: Account for stopped queues when reading NIC stats - gve: Account for stopped queues when reading NIC stats - !10639 s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception() - s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception() - !10653 virtcca cvm feature patches - gicv3: add lpi support for cvm guest - config: modify arm64 defconfig for virtcca cvm feature - mm: enable swiotlb alloc for cvm share mem - pmu: enable pmu phys irq inject for cvm - kvm: add virtcca cvm host feature - !10658 CVE-2024-35860 - bpf: Fix a potential use-after-free in bpf_link_free() - Fix kabi breakage in struct bpf_link and bpf_link_ops - bpf: support deferring bpf_link dealloc to after RCU grace period - !10649 xfs: don't walk off the end of a directory data block - xfs: don't walk off the end of a directory data block - !10556 smart_grid: introducing rebuild_affinity_domain - smart_grid: introducing rebuild_affinity_domain - !10631 sched/deadline: Fix task_struct reference leak - sched/deadline: Fix task_struct reference leak - !10319 block: propagate partition scanning errors to the BLKRRPART ioctl - block: propagate partition scanning errors to the BLKRRPART ioctl - !10500 fix CVE-2024-42155 - s390/pkey: Wipe copies of protected- and secure-keys - !10657 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.40-6.6.44 LTS Patches - fs: don't allow non-init s_user_ns for filesystems without FS_USERNS_MOUNT - nvme-pci: add missing condition check for existence of mapped data - io_uring: fix io_match_task must_hold - iommu: sprd: Avoid NULL deref in sprd_iommu_hw_en - s390/cpum_cf: Fix endless loop in CF_DIAG event stop - s390/pci: Allow allocation of more than 1 MSI interrupt - s390/pci: Refactor arch_setup_msi_irqs() - ceph: fix incorrect kmalloc size of pagevec mempool - ASoC: Intel: use soc_intel_is_byt_cr() only when IOSF_MBI is reachable - spi: spidev: add correct compatible for Rohm BH2228FV - ASoC: sof: amd: fix for firmware reload failure in Vangogh platform - nvme-pci: Fix the instructions for disabling power management - spi: microchip-core: ensure TX and RX FIFOs are empty at start of a transfer - spi: microchip-core: fix init function not setting the master and motorola modes - spi: microchip-core: switch to use modern name - spi: microchip-core: only disable SPI controller when register value change requires it - spi: microchip-core: defer asserting chip select until just before write to TX FIFO - spi: microchip-core: fix the issues in the isr - ASoC: SOF: imx8m: Fix DSP control regmap retrieval - auxdisplay: ht16k33: Drop reference after LED registration - lirc: rc_dev_get_from_fd(): fix file leak - powerpc: fix a file leak in kvm_vcpu_ioctl_enable_cap() - apparmor: Fix null pointer deref when receiving skb during sock creation - mISDN: Fix a use after free in hfcmulti_tx() - bpf: Fix a segment issue when downgrading gso_size - net: nexthop: Initialize all fields in dumped nexthops - net: stmmac: Correct byte order of perfect_match - tipc: Return non-zero value from tipc_udp_addr2str() on error - netfilter: nft_set_pipapo_avx2: disable softinterrupts - ice: Fix recipe read procedure - net: bonding: correctly annotate RCU in bond_should_notify_peers() - ipv4: Fix incorrect source address in Record Route option - MIPS: SMP-CPS: Fix address for GCR_ACCESS register for CM3 and later - tools/resolve_btfids: Fix comparison of distinct pointer types warning in resolve_btfids - bpf, events: Use prog to emit ksymbol event for main program - dma: fix call order in dmam_free_coherent - af_unix: Disable MSG_OOB handling for sockets in sockmap/sockhash - libbpf: Fix no-args func prototype BTF dumping syntax - selftests/bpf: fexit_sleep: Fix stack allocation for arm64 - kbuild: avoid build error when single DTB is turned into composite DTB - f2fs: fix to update user block counts in block_operations() - watchdog: rzg2l_wdt: Check return status of pm_runtime_put() - watchdog: rzg2l_wdt: Use pm_runtime_resume_and_get() - f2fs: fix start segno of large section - um: time-travel: fix signal blocking race/hang - um: time-travel: fix time-travel-start option - phy: zynqmp: Enable reference clock correctly - phy: cadence-torrent: Check return value on register read - dmaengine: ti: k3-udma: Fix BCHAN count with UHC and HC channels - jfs: Fix array-index-out-of-bounds in diFree - kdb: Use the passed prompt in kdb_position_cursor() - kdb: address -Wformat-security warnings - f2fs: fix to truncate preallocated blocks in f2fs_file_open() - s390/mm: Fix VM_FAULT_HWPOISON handling in do_exception() - PCI/DPC: Fix use-after-free on concurrent DPC and hot-removal - PCI: Introduce cleanup helpers for device reference counts and locks - wifi: mac80211: track capability/opmode NSS separately - mm/mglru: fix ineffective protection calculation - nilfs2: handle inconsistent state in nilfs_btnode_create_block() - minmax: scsi: fix mis-use of 'clamp()' in sr.c - Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x13d3:0x3591 - Bluetooth: btusb: Add RTL8852BE device 0489:e125 to device tables - video: logo: Drop full path of the input filename in generated file - lib/build_OID_registry: don't mention the full path of the script in output - rbd: don't assume RBD_LOCK_STATE_LOCKED for exclusive mappings - rbd: rename RBD_LOCK_STATE_RELEASING and releasing_wait - drm/panfrost: Mark simple_ondemand governor as softdep - drm/etnaviv: don't block scheduler when GPU is still active - MIPS: Loongson64: Test register availability before use - MIPS: Loongson64: reset: Prioritise firmware service - MIPS: Loongson64: Remove memory node for builtin-dtb - MIPS: Loongson64: env: Hook up Loongsson-2K - MIPS: dts: loongson: Fix GMAC phy node - MIPS: ip30: ip30-console: Add missing include - MIPS: dts: loongson: Add ISA node - remoteproc: imx_rproc: Fix refcount mistake in imx_rproc_addr_init - remoteproc: imx_rproc: Skip over memory region when node value is NULL - remoteproc: stm32_rproc: Fix mailbox interrupts queuing - rbd: don't assume rbd_is_lock_owner() for exclusive mappings - dm-verity: fix dm_is_verity_target() when dm-verity is builtin - selftests/sigaltstack: Fix ppc64 GCC build - RDMA/iwcm: Fix a use-after-free related to destroying CM IDs - platform: mips: cpu_hwmon: Disable driver on unsupported hardware - watchdog/perf: properly initialize the turbo mode timestamp and rearm counter - rtc: abx80x: Fix return value of nvmem callback on read - rtc: isl1208: Fix return value of nvmem callbacks - drm/i915/dp: Don't switch the LTTPR mode on an active link - drm/i915/dp: Reset intel_dp->link_trained before retraining the link - drm/amd/amdgpu: Fix uninitialized variable warnings - drm/amdgpu: reset vm state machine after gpu reset(vram lost) - drm/dp_mst: Fix all mstb marked as not probed after suspend/resume - drm/udl: Remove DRM_CONNECTOR_POLL_HPD - drm/amdgpu/sdma5.2: Update wptr registers as well as doorbell - drm/i915/gt: Do not consider preemption during execlists_dequeue for gen8 - perf/x86/intel/pt: Fix a topa_entry base address calculation - perf/x86/intel/pt: Fix topa_entry base length - perf/x86/intel/ds: Fix non 0 retire latency on Raptorlake - perf/x86/intel/uncore: Fix the bits of the CHA extended umask for SPR - perf stat: Fix the hard-coded metrics calculation on the hybrid - perf: Fix event leak upon exit - scsi: qla2xxx: validate nvme_local_port correctly - scsi: qla2xxx: Complete command early within lock - scsi: qla2xxx: Fix flash read failure - scsi: qla2xxx: Reduce fabric scan duplicate code - scsi: qla2xxx: Use QP lock to search for bsg - scsi: qla2xxx: Fix for possible memory corruption - scsi: qla2xxx: Unable to act on RSCN for port online - scsi: qla2xxx: During vport delete send async logout explicitly - scsi: lpfc: Allow DEVICE_RECOVERY mode after RSCN receipt if in PRLI_ISSUE state - rtc: cmos: Fix return value of nvmem callbacks - mm/numa_balancing: teach mpol_to_str about the balancing mode - irqchip/imx-irqsteer: Handle runtime power management correctly - irqdomain: Fixed unbalanced fwnode get and put - devres: Fix memory leakage caused by driver API devm_free_percpu() - devres: Fix devm_krealloc() wasting memory - ice: Add a per-VF limit on number of FDIR filters - gve: Fix an edge case for TSO skb validity check - kobject_uevent: Fix OOB access within zap_modalias_env() - ASoC: amd: yc: Support mic on Lenovo Thinkpad E16 Gen 2 - ASoC: SOF: ipc4-topology: Preserve the DMA Link ID for ChainDMA on unprepare - kbuild: Fix '-S -c' in x86 stack protector scripts - decompress_bunzip2: fix rare decompression failure - mm: fix old/young bit handling in the faulting path - block: fix deadlock between sd_remove & sd_release - ubi: eba: properly rollback inside self_check_eba - clk: davinci: da8xx-cfgchip: Initialize clk_init_data before use - f2fs: use meta inode for GC of COW file - f2fs: use meta inode for GC of atomic file - f2fs: fix return value of f2fs_convert_inline_inode() - f2fs: fix to don't dirty inode for readonly filesystem - f2fs: fix to force buffered IO on inline_data inode - ASoC: fsl: fsl_qmc_audio: Check devm_kasprintf() returned value - scsi: qla2xxx: Return ENOBUFS if sg_cnt is more than one for ELS cmds - fs/ntfs3: Update log->page_{mask,bits} if log->page_size changed - efi/libstub: Zero initialize heap allocated struct screen_info - hostfs: fix dev_t handling - dev/parport: fix the array out-of-bounds risk - binder: fix hang of unregistered readers - PCI: rockchip: Use GPIOD_OUT_LOW flag while requesting ep_gpio - PCI: dw-rockchip: Fix initial PERST# GPIO value - PCI: hv: Return zero, not garbage, when reading PCI_INTERRUPT_PIN - parisc: Fix warning at drivers/pci/msi/msi.h:121 - hwrng: amd - Convert PCIBIOS_* return codes to errnos - tools/memory-model: Fix bug in lock.cat - ALSA: usb-audio: Add a quirk for Sonix HD USB Camera - ALSA: usb-audio: Move HD Webcam quirk to the right place - ALSA: usb-audio: Fix microphone sound on HD webcam. - ALSA: ump: Force 1 Group for MIDI1 FBs - ALSA: ump: Don't update FB name for static blocks - KVM: nVMX: Request immediate exit iff pending nested event needs injection - KVM: VMX: Split out the non-virtualization part of vmx_interrupt_blocked() - media: ivsc: csi: don't count privacy on as error - media: uvcvideo: Fix integer overflow calculating timestamp - jbd2: avoid infinite transaction commit loop - jbd2: precompute number of transaction descriptor blocks - jbd2: make jbd2_journal_get_max_txn_bufs() internal - media: imx-pxp: Fix ERR_PTR dereference in pxp_probe() - media: ivsc: csi: add separate lock for v4l2 control handler - leds: mt6360: Fix memory leak in mt6360_init_isnk_properties() - md/md-bitmap: fix writing non bitmap pages - leds: ss4200: Convert PCIBIOS_* return codes to errnos - drivers: soc: xilinx: check return status of get_api_version() - wifi: rtw88: usb: Fix disconnection after beacon loss - wifi: mwifiex: Fix interface type change - selftests/landlock: Add cred_transfer test - trace/pid_list: Change gfp flags in pid_list_fill_irq() - io_uring: tighten task exit cancellations - ext4: make sure the first directory block is not a hole - ext4: check dot and dotdot of dx_root before making dir indexed - m68k: amiga: Turn off Warp1260 interrupts during boot - udf: Avoid using corrupted block bitmap buffer - task_work: Introduce task_work_cancel() again - task_work: s/task_work_cancel()/task_work_cancel_func()/ - cifs: mount with "unix" mount option for SMB1 incorrectly handled - cifs: fix reconnect with SMB1 UNIX Extensions - cifs: fix potential null pointer use in destroy_workqueue in init_cifs error path - apparmor: use kvfree_sensitive to free data->data - drm/amd/display: Check for NULL pointer - scsi: qla2xxx: Fix optrom version displayed in FDMI - drm/gma500: fix null pointer dereference in psb_intel_lvds_get_modes - drm/gma500: fix null pointer dereference in cdv_intel_lvds_get_modes - io_uring/io-wq: limit retrying worker initialisation - ext2: Verify bitmap and itable block numbers before using them - hfs: fix to initialize fields of hfs_inode_info after hfs_alloc_inode() - ata: libata-scsi: Honor the D_SENSE bit for CK_COND=1 and no error - ata: libata-scsi: Do not overwrite valid sense data when CK_COND=1 - media: venus: fix use after free in vdec_close - char: tpm: Fix possible memory leak in tpm_bios_measurements_open() - ata: libata-scsi: Fix offsets for the fixed format sense data - fuse: verify {g,u}id mount options correctly - sched/fair: set_load_weight() must also call reweight_task() for SCHED_IDLE tasks - NFSD: Support write delegations in LAYOUTGET - ipv6: take care of scope when choosing the src addr - ipv4: fix source address selection with route leak - kernel: rerun task_work while freezing in get_signal() - btrfs: fix extent map use-after-free when adding pages to compressed bio - af_packet: Handle outgoing VLAN packets without hardware offloading - net: netconsole: Disable target before netpoll cleanup - tick/broadcast: Make takeover of broadcast hrtimer reliable - dt-bindings: thermal: correct thermal zone node name limit - exfat: fix potential deadlock on __exfat_get_dentry_set - x86/efistub: Revert to heap allocated boot_params for PE entrypoint - x86/efistub: Avoid returning EFI_SUCCESS on error - mm/mglru: fix overshooting shrinker memory - mm: mmap_lock: replace get_memcg_path_buf() with on-stack buffer - mm/mglru: fix div-by-zero in vmpressure_calc_level() - mm/hugetlb: fix possible recursive locking detected warning - hugetlb: force allocating surplus hugepages on mempolicy allowed nodes - landlock: Don't lose track of restrictions on cred_transfer - LoongArch: Check TIF_LOAD_WATCH to enable user space watchpoint - sbitmap: use READ_ONCE to access map->word - s390/dasd: fix error checks in dasd_copy_pair_store() - powerpc/8xx: fix size given to set_huge_pte_at() - fs/ntfs3: Keep runs for $MFT::$ATTR_DATA and $MFT::$ATTR_BITMAP - fs/ntfs3: Missed error return - fs/ntfs3: Fix the format of the "nocase" mount option - rtc: interface: Add RTC offset to alarm after fix-up - nilfs2: avoid undefined behavior in nilfs_cnt32_ge macro - fs/proc/task_mmu: properly detect PM_MMAP_EXCLUSIVE per page of PMD-mapped THPs - fs/proc/task_mmu: don't indicate PM_MMAP_EXCLUSIVE without PM_PRESENT - fs/proc/task_mmu.c: add_to_pagemap: remove useless parameter addr - fs/proc/task_mmu: indicate PM_FILE for PMD-mapped file THP - pinctrl: renesas: r8a779g0: Fix TPU suffixes - pinctrl: renesas: r8a779g0: Fix TCLK suffixes - pinctrl: renesas: r8a779g0: FIX PWM suffixes - pinctrl: renesas: r8a779g0: Fix IRQ suffixes - pinctrl: renesas: r8a779g0: Fix (H)SCIF3 suffixes - pinctrl: renesas: r8a779g0: Fix (H)SCIF1 suffixes - pinctrl: renesas: r8a779g0: Fix FXR_TXEN[AB] suffixes - pinctrl: renesas: r8a779g0: Fix CANFD5 suffix - fs/ntfs3: Fix field-spanning write in INDEX_HDR - fs/ntfs3: Drop stray '' (backslash) in formatting string - fs/ntfs3: Correct undo if ntfs_create_inode failed - fs/ntfs3: Replace inode_trylock with inode_lock - pinctrl: freescale: mxs: Fix refcount of child - pinctrl: ti: ti-iodelay: fix possible memory leak when pinctrl_enable() fails - pinctrl: ti: ti-iodelay: Drop if block with always false condition - pinctrl: single: fix possible memory leak when pinctrl_enable() fails - pinctrl: core: fix possible memory leak when pinctrl_enable() fails - pinctrl: rockchip: update rk3308 iomux routes - fs/ntfs3: Add missing .dirty_folio in address_space_operations - fs/ntfs3: Fix getting file type - fs/ntfs3: Missed NI_FLAG_UPDATE_PARENT setting - fs/ntfs3: Deny getting attr data block in compressed frame - fs/ntfs3: Fix transform resident to nonresident for compressed files - fs/ntfs3: Merge synonym COMPRESSION_UNIT and NTFS_LZNT_CUNIT - net: dsa: b53: Limit chip-wide jumbo frame config to CPU ports - net: dsa: mv88e6xxx: Limit chip-wide frame size config to CPU ports - ipv4: Fix incorrect TOS in fibmatch route get reply - ipv4: Fix incorrect TOS in route get reply - net: flow_dissector: use DEBUG_NET_WARN_ON_ONCE - gve: Fix XDP TX completion handling when counters overflow - ipvs: properly dereference pe in ip_vs_add_service - netfilter: nf_set_pipapo: fix initial map fill - netfilter: nft_set_pipapo: constify lookup fn args where possible - netfilter: ctnetlink: use helper function to calculate expect ID - bnxt_re: Fix imm_data endianness - RDMA: Fix netdev tracker in ib_device_set_netdev - RDMA/core: Remove NULL check before dev_{put, hold} - iommu/vt-d: Fix identity map bounds in si_domain_init() - macintosh/therm_windtunnel: fix module unload. - powerpc/xmon: Fix disassembly CPU feature checks - PCI: dwc: Fix index 0 incorrectly being interpreted as a free ATU slot - PCI: qcom-ep: Disable resources unconditionally during PERST# assert - MIPS: Octeron: remove source file executable bit - clk: en7523: fix rate divider for slic and spi clocks - clk: qcom: Park shared RCGs upon registration - clk: qcom: kpss-xcc: Return of_clk_add_hw_provider to transfer the error - crypto: qat - extend scope of lock in adf_cfg_add_key_value_param() - nvmem: rockchip-otp: set add_legacy_fixed_of_cells config option - net: missing check virtio - vhost/vsock: always initialize seqpacket_allow - PCI: endpoint: Fix error handling in epf_ntb_epc_cleanup() - PCI: endpoint: Clean up error handling in vpci_scan_bus() - ASoC: amd: Adjust error handling in case of absent codec device - Input: elan_i2c - do not leave interrupt disabled on suspend failure - RDMA/device: Return error earlier if port in not valid - mtd: make mtd_test.c a separate module - ASoC: max98088: Check for clk_prepare_enable() error - powerpc/prom: Add CPU info to hardware description string later - hwrng: core - Fix wrong quality calculation at hw rng registration - scsi: lpfc: Fix a possible null pointer dereference - ASoC: qcom: Adjust issues in case of DT error in asoc_qcom_lpass_cpu_platform_probe() - RDMA/rxe: Don't set BTH_ACK_MASK for UC or UD QPs - RDMA/mlx5: Use sq timestamp as QP timestamp when RoCE is disabled - RDMA/mlx4: Fix truncated output warning in alias_GUID.c - RDMA/mlx4: Fix truncated output warning in mad.c - Input: qt1050 - handle CHIP_ID reading error - interconnect: qcom: qcm2290: Fix mas_snoc_bimc RPM master ID - clk: qcom: gpucc-sa8775p: Update wait_val fields for GPU GDSC's - clk: qcom: gpucc-sa8775p: Park RCG's clk source at XO during disable - clk: qcom: gpucc-sa8775p: Remove the CLK_IS_CRITICAL and ALWAYS_ON flags - clk: qcom: gcc-sa8775p: Update the GDSC wait_val fields and flags - clk: qcom: gpucc-sm8350: Park RCG's clk source at XO during disable - RDMA/cache: Release GID table even if leak is detected - usb: typec-mux: nb7vpq904m: unregister typec switch on probe error and remove - ASoC: cs35l56: Accept values greater than 0 as IRQ numbers - ASoc: tas2781: Enable RCA-based playback without DSP firmware download - RDMA/mlx5: Set mkeys for dmabuf at PAGE_SIZE - coresight: Fix ref leak when of_coresight_parse_endpoint() fails - KVM: PPC: Book3S HV: Fix the get_one_reg of SDAR - KVM: PPC: Book3S HV: Fix the set_one_reg for MMCR3 - iio: frequency: adrf6780: rm clk provider include - clk: qcom: camcc-sc7280: Add parent dependency to all camera GDSCs - clk: qcom: gcc-sc7280: Update force mem core bit for UFS ICE clock - scsi: ufs: mcq: Fix missing argument 'hba' in MCQ_OPR_OFFSET_n - PCI: rcar: Demote WARN() to dev_warn_ratelimited() in rcar_pcie_wakeup() - PCI: keystone: Fix NULL pointer dereference in case of DT error in ks_pcie_setup_rc_app_regs() - PCI: keystone: Don't enable BAR 0 for AM654x - PCI: keystone: Relocate ks_pcie_set/clear_dbi_mode() - PCI: Fix resource double counting on remove & rescan - iio: Fix the sorting functionality in iio_gts_build_avail_time_table - SUNRPC: Fixup gss_status tracepoint error output - sparc64: Fix incorrect function signature and add prototype for prom_cif_init - leds: flash: leds-qcom-flash: Test the correct variable in init - ext4: avoid writing unitialized memory to disk in EA inodes - ext4: don't track ranges in fast_commit if inode has inlined data - NFSv4.1 another fix for EXCHGID4_FLAG_USE_PNFS_DS for DS server - SUNRPC: avoid soft lockup when transmitting UDP to reachable server. - xprtrdma: Fix rpcrdma_reqs_reset() - mfd: omap-usb-tll: Use struct_size to allocate tll - mfd: rsmu: Split core code into separate module - perf intel-pt: Fix exclude_guest setting - perf intel-pt: Fix aux_watermark calculation for 64-bit size - media: venus: flush all buffers in output plane streamoff - drm/mediatek/dp: Fix spurious kfree() - drm/mediatek/dp: switch to ->edid_read callback - ext4: fix infinite loop when replaying fast_commit - drm/mediatek: Remove less-than-zero comparison of an unsigned value - Revert "leds: led-core: Fix refcount leak in of_led_get()" - drm/qxl: Add check for drm_cvt_mode - drm/etnaviv: fix DMA direction handling for cached RW buffers - perf report: Fix condition in sort__sym_cmp() - perf pmus: Fixes always false when compare duplicates aliases - perf test: Make test_arm_callgraph_fp.sh more robust - drm/msm/dpu: drop validity checks for clear_pending_flush() ctl op - drm/msm/dsi: set VIDEO_COMPRESSION_MODE_CTRL_WC - leds: trigger: Unregister sysfs attributes before calling deactivate() - media: imx-jpeg: Drop initial source change event if capture has been setup - drm/mediatek: Add OVL compatible name for MT8195 - drm/mediatek: Turn off the layers with zero width or height - drm/mediatek: Fix destination alpha error in OVL - drm/mediatek: Fix XRGB setting error in Mixer - drm/mediatek: Fix XRGB setting error in OVL - drm/mediatek: Use 8-bit alpha in ETHDR - drm/mediatek: Add missing plane settings when async update - media: renesas: vsp1: Store RPF partition configuration per RPF instance - media: renesas: vsp1: Fix _irqsave and _irq mix - media: rcar-csi2: Cleanup subdevice in remove() - media: rcar-csi2: Disable runtime_pm in probe error - media: rcar-vin: Fix YUYV8_1X16 handling for CSI-2 - drm: zynqmp_kms: Fix AUX bus not getting unregistered - drm: zynqmp_dpsub: Fix an error handling path in zynqmp_dpsub_probe() - media: uvcvideo: Override default flags - media: uvcvideo: Add quirk for invalid dev_sof in Logitech C920 - media: uvcvideo: Quirk for invalid dev_sof in Logitech C922 - media: uvcvideo: Disable autosuspend for Insta360 Link - media: i2c: imx219: fix msr access command sequence - saa7134: Unchecked i2c_transfer function result fixed - ipmi: ssif_bmc: prevent integer overflow on 32bit systems - x86/shstk: Make return uprobe work with shadow stack - media: mediatek: vcodec: Handle invalid decoder vsi - s390/uv: Don't call folio_wait_writeback() without a folio reference - s390/mm: Convert gmap_make_secure to use a folio - s390/mm: Convert make_page_secure to use a folio - media: v4l: async: Fix NULL pointer dereference in adding ancillary links - media: i2c: Fix imx412 exposure control - media: imon: Fix race getting ictx->lock - media: pci: ivtv: Add check for DMA map result - drm/bridge: it6505: fix hibernate to resume no display issue - drm/bridge: Fixed a DP link training bug - drm/panel: boe-tv101wum-nl6: Check for errors on the NOP in prepare() - drm/panel: boe-tv101wum-nl6: If prepare fails, disable GPIO before regulators - drm/panel: himax-hx8394: Handle errors from mipi_dsi_dcs_set_display_on() better - drm/amdgpu: Remove GC HW IP 9.3.0 from noretry=1 - drm/amdgpu: Check if NBIO funcs are NULL in amdgpu_device_baco_exit - drm/amdgpu: Fix memory range calculation - drm/amd/pm: Fix aldebaran pcie speed reporting - drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_generic_write_seq() - drm/mipi-dsi: Fix theoretical int overflow in mipi_dsi_dcs_write_seq() - drm/amdkfd: Fix CU Masking for GFX 9.4.3 - drm/arm/komeda: Fix komeda probe failing if there are no links in the secondary pipeline - drm/rockchip: vop2: Fix the port mux of VP2 - net: bridge: mst: Check vlan state for egress decision - xdp: fix invalid wait context of page_pool_destroy() - Bluetooth: btnxpuart: Add handling for boot-signature timeout errors - Bluetooth: btintel: Refactor btintel_set_ppag() - Bluetooth: hci_bcm4377: Use correct unit for timeouts - selftests: forwarding: devlink_lib: Wait for udev events after reloading - bpf: Eliminate remaining "make W=1" warnings in kernel/bpf/btf.o - bna: adjust 'name' buf size of bna_tcb and bna_ccb structures - bpf: annotate BTF show functions with __printf - selftests/resctrl: Fix closing IMC fds on error and open-code R+W instead of loops - selftests/resctrl: Convert perror() to ksft_perror() or ksft_print_msg() - selftests/resctrl: Move run_benchmark() to a more fitting file - selftests/bpf: Close obj in error path in xdp_adjust_tail - selftests/bpf: Null checks for links in bpf_tcp_ca - selftests/bpf: Close fd in error path in drop_on_reuseport - locking/rwsem: Add __always_inline annotation to __down_write_common() and inlined callers - wifi: virt_wifi: don't use strlen() in const context - gss_krb5: Fix the error handling path for crypto_sync_skcipher_setkey - wifi: virt_wifi: avoid reporting connection success with wrong SSID - xfrm: call xfrm_dev_policy_delete when kill policy - xfrm: fix netdev reference count imbalance - wifi: rtw89: Fix array index mistake in rtw89_sta_info_get_iter() - perf/x86/intel/cstate: Fix Alderlake/Raptorlake/Meteorlake - perf: Fix default aux_watermark calculation - perf: Prevent passing zero nr_pages to rb_alloc_aux() - perf: Fix perf_aux_size() for greater-than 32-bit size - perf/x86/intel/pt: Fix pt_topa_entry_for_page() address calculation - bpftool: Mount bpffs when pinmaps path not under the bpffs - wifi: rtl8xxxu: 8188f: Limit TX power index - wifi: rtw89: 8852b: fix definition of KIP register number - netfilter: nf_tables: rise cap on SELinux secmark context - ipvs: Avoid unnecessary calls to skb_is_gso_sctp - libbpf: Checking the btf_type kind when fixing variable offsets - net: fec: Fix FEC_ECR_EN1588 being cleared on link-down - net: fec: Refactor: #define magic constants - udf: Fix bogus checksum computation in udf_rename() - wifi: cfg80211: handle 2x996 RU allocation in cfg80211_calculate_bitrate_he() - wifi: cfg80211: fix typo in cfg80211_calculate_bitrate_he() - wifi: ath11k: fix wrong handling of CCMP256 and GCMP ciphers - jump_label: Fix concurrency issues in static_key_slow_dec() - perf/x86: Serialize set_attr_rdpmc() - mlxsw: spectrum_acl: Fix ACL scale regression and firmware errors - mlxsw: spectrum_acl_erp: Fix object nesting warning - lib: objagg: Fix general protection fault - udf: Fix lock ordering in udf_evict_inode() - selftests/bpf: Check length of recv in test_sockmap - net/smc: set rmb's SG_MAX_SINGLE_ALLOC limitation only when CONFIG_ARCH_NO_SG_CHAIN is defined - tcp: fix races in tcp_v[46]_err() - tcp: fix race in tcp_write_err() - tcp: add tcp_done_with_error() helper - wifi: ath12k: fix wrong definition of CE ring's base address - wifi: ath11k: fix wrong definition of CE ring's base address - wifi: ath11k: Update Qualcomm Innovation Center, Inc. copyrights - wifi: ath12k: fix firmware crash during reo reinject - wifi: ath12k: fix invalid memory access while processing fragmented packets - wifi: ath12k: change DMA direction while mapping reinjected packets - net: esp: cleanup esp_output_tail_tcp() in case of unsupported ESPINTCP - selftests/bpf: Fix prog numbers in test_sockmap - bpftool: Un-const bpf_func_info to fix it for llvm 17 and newer - wifi: ath12k: Fix tx completion ring (WBM2SW) setup failure - wifi: ath12k: Correct 6 GHz frequency value in rx status - wifi: brcmsmac: LCN PHY code is used for BCM4313 2G-only device - firmware: turris-mox-rwtm: Initialize completion before mailbox - firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout() - firmware: turris-mox-rwtm: Do not complete if there are no waiters - vmlinux.lds.h: catch .bss..L* sections into BSS") - ARM: spitz: fix GPIO assignment for backlight - m68k: cmpxchg: Fix return value for default case in __arch_xchg() - cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems - arm64: dts: qcom: sm6350: Add missing qcom,non-secure-domain property - arm64: dts: rockchip: fixes PHY reset for Lunzn Fastrhino R68S - arm64: dts: rockchip: disable display subsystem for Lunzn Fastrhino R6xS - arm64: dts: rockchip: remove unused usb2 nodes for Lunzn Fastrhino R6xS - arm64: dts: rockchip: fix pmu_io supply for Lunzn Fastrhino R6xS - arm64: dts: rockchip: fix usb regulator for Lunzn Fastrhino R6xS - arm64: dts: rockchip: fix regulator name for Lunzn Fastrhino R6xS - arm64: dts: rockchip: Add missing power-domains for rk356x vop_mmu - x86/xen: Convert comma to semicolon - arm64: dts: imx8mp: Fix pgc vpu locations - arm64: dts: imx8mp: add HDMI power-domains - arm64: dts: imx8mp: Fix pgc_mlmix location - arm64: dts: imx8mp: Add NPU Node - m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt messages - arm64: dts: renesas: r9a07g054: Add missing hypervisor virtual timer IRQ - arm64: dts: renesas: r9a07g044: Add missing hypervisor virtual timer IRQ - arm64: dts: renesas: r9a07g043u: Add missing hypervisor virtual timer IRQ - arm64: dts: renesas: r8a779g0: Add missing hypervisor virtual timer IRQ - arm64: dts: renesas: r8a779f0: Add missing hypervisor virtual timer IRQ - arm64: dts: renesas: r8a779a0: Add missing hypervisor virtual timer IRQ - arm64: dts: rockchip: Fix mic-in-differential usage on rk3568-evb1-v10 - arm64: dts: rockchip: Fix mic-in-differential usage on rk3566-roc-pc - arm64: dts: rockchip: Drop invalid mic-in-differential on rk3568-rock-3a - arm64: dts: amlogic: setup hdmi system clock - arm64: dts: amlogic: add power domain to hdmitx - arm64: dts: amlogic: gx: correct hdmi clocks - arm64: dts: mediatek: mt8183-kukui-jacuzzi: Add ports node for anx7625 - arm64: dts: mediatek: mt8183-kukui: Fix the value of `dlg,jack-det-rate` mismatch - arm64: dts: mediatek: mt7622: fix "emmc" pinctrl mux - arm64: dts: mediatek: mt8192-asurada: Add off-on-delay-us for pp3300_mipibrdg - arm64: dts: mediatek: mt8183-kukui: Drop bogus output-enable property - arm64: dts: mediatek: mt8195: Fix GPU thermal zone name for SVS - ARM: dts: imx6qdl-kontron-samx6i: fix PCIe reset polarity - ARM: dts: imx6qdl-kontron-samx6i: fix SPI0 chip selects - ARM: dts: imx6qdl-kontron-samx6i: fix board reset - ARM: dts: imx6qdl-kontron-samx6i: fix PHY reset - ARM: dts: imx6qdl-kontron-samx6i: fix phy-mode - arm64: dts: amlogic: sm1: fix spdif compatibles - arm64: dts: rockchip: Increase VOP clk rate on RK3328 - soc: qcom: pdr: fix parsing of domains lists - soc: qcom: pdr: protect locator_addr with the main mutex - soc: qcom: icc-bwmon: Fix refcount imbalance seen during bwmon_remove - arm64: dts: qcom: qdu1000: Add secure qfprom node - arm64: dts: qcom: qdu1000-idp: drop unused LLCC multi-ch-bit-off - arm64: dts: ti: k3-am62-verdin: Drop McASP AFIFOs - arm64: dts: ti: k3-am625-beagleplay: Drop McASP AFIFOs - arm64: dts: ti: k3-am62x: Drop McASP AFIFOs - memory: fsl_ifc: Make FSL_IFC config visible and selectable - OPP: ti: Fix ti_opp_supply_probe wrong return values - cpufreq: ti-cpufreq: Handle deferred probe with dev_err_probe() - arm64: dts: qcom: qrb4210-rb2: make L9A always-on - ARM: dts: stm32: Add arm,no-tick-in-suspend to STM32MP15xx STGEN timer - ARM: dts: sunxi: remove duplicated entries in makefile - soc: xilinx: rename cpu_number1 to dummy_cpu_number - arm64: dts: qcom: sa8775p: mark ethernet devices as DMA-coherent - arm64: dts: qcom: msm8996: specify UFS core_clk frequencies - arm64: dts: rockchip: Update WIFi/BT related nodes on rk3308-rock-pi-s - arm64: dts: rockchip: Add mdio and ethernet-phy nodes to rk3308-rock-pi-s - arm64: dts: rockchip: Add pinctrl for UART0 to rk3308-rock-pi-s - arm64: dts: rockchip: Add sdmmc related properties on rk3308-rock-pi-s - soc: qcom: rpmh-rsc: Ensure irqs aren't disabled by rpmh_rsc_send_data() callers - soc: qcom: pmic_glink: Handle the return value of pmic_glink_init - arm64: dts: qcom: msm8998: enable adreno_smmu by default - arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix IPA firmware path - arm64: dts: qcom: msm8996-xiaomi-common: drop excton from the USB PHY - arm64: dts: qcom: sm8450: add power-domain to UFS PHY - arm64: dts: qcom: sm8350: add power-domain to UFS PHY - arm64: dts: qcom: sm8250: add power-domain to UFS PHY - arm64: dts: qcom: sm8250: switch UFS QMP PHY to new style of bindings - arm64: dts: qcom: sm6350: add power-domain to UFS PHY - arm64: dts: qcom: sm6115: add power-domain to UFS PHY - arm64: dts: qcom: sdm845: add power-domain to UFS PHY - arm64: dts: qcom: sc8180x: add power-domain to UFS PHY - arm64: dts: qcom: sc8180x: switch UFS QMP PHY to new style of bindings - arm64: dts: qcom: sc8180x: Correct PCIe slave ports - hwmon: (max6697) Fix swapped temp{1,8} critical alarms - hwmon: (max6697) Fix underflow when writing limit attributes - pwm: atmel-tcb: Fix race condition and convert to guards - drm/meson: fix canvas release in bind function - nvmet-auth: fix nvmet_auth hash error handling - pwm: stm32: Always do lazy disabling - md: Don't wait for MD_RECOVERY_NEEDED for HOT_REMOVE_DISK ioctl - block/mq-deadline: Fix the tag reservation code - block: Call .limit_depth() after .hctx has been set - hwmon: (adt7475) Fix default duty on fan is disabled - x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos - x86/pci/xen: Fix PCIBIOS_* return code handling - x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling - x86/of: Return consistent error type from x86_of_pci_irq_enable() - hfsplus: fix to avoid false alarm of circular locking - x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS - block: initialize integrity buffer to zero before writing it to media - ubd: untagle discard vs write zeroes not support handling - ubd: refactor the interrupt handler - platform/chrome: cros_ec_debugfs: fix wrong EC message version - md: fix deadlock between mddev_suspend and flush bio - rcu/tasks: Fix stale task snaphot for Tasks Trace - EDAC, i10nm: make skx_common.o a separate module - spi: atmel-quadspi: Add missing check for clk_prepare - spi: spi-microchip-core: Fix the number of chip selects supported - powerpc/configs: Update defconfig with now user-visible CONFIG_FSL_IFC - ALSA: seq: ump: Skip useless ports for static blocks - ALSA: pcm_dmaengine: Don't synchronize DMA channel when DMA is paused - arm64: dts: qcom: sdm630: Disable SS instance in Parkmode for USB - arm64: dts: qcom: ipq6018: Disable SS instance in Parkmode for USB - arm64: dts: qcom: sm6350: Disable SS instance in Parkmode for USB - arm64: dts: qcom: msm8996: Disable SS instance in Parkmode for USB - arm64: dts: qcom: qrb4210-rb2: switch I2C2 to i2c-gpio - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 - ALSA: hda/realtek: Enable headset mic on Positivo SU C1400 - usb: gadget: midi2: Fix incorrect default MIDI2 protocol setup - jfs: don't walk off the end of ealist - ocfs2: add bounds checking to ocfs2_check_dir_entry() - cachefiles: fix slab-use-after-free in cachefiles_withdraw_cookie() - cachefiles: fix slab-use-after-free in fscache_withdraw_volume() - netfs, fscache: export fscache_put_volume() and add fscache_try_get_volume() - wifi: iwlwifi: mvm: don't wake up rx_sync_waitq upon RFKILL - wifi: mac80211: disable softirqs for queued frame handling - wifi: cfg80211: wext: set ssids=NULL for passive scans - of/irq: Disable "interrupt-map" parsing for PASEMI Nemo - mm: page_ref: remove folio_try_get_rcu() - ARM: 9324/1: fix get_user() broken with veneer - cifs: fix noisy message on copy_file_range - ALSA: hda: Use imply for suggesting CONFIG_SERIAL_MULTI_INSTANTIATE - spi: mux: set ctlr->bits_per_word_mask - selftests/bpf: Extend tcx tests to cover late tcx_entry release - hfsplus: fix uninit-value in copy_name - selftests/vDSO: fix clang build errors and warnings - selftest/timerns: fix clang build failures for abs() calls - ASoC: SOF: Intel: hda-pcm: Limit the maximum number of periods by MAX_BDL_ENTRIES - ksmbd: return FILE_DEVICE_DISK instead of super magic - spi: imx: Don't expect DMA for i.MX{25,35,50,51,53} cspi devices - riscv: stacktrace: fix usage of ftrace_graph_ret_addr() - drivers/perf: riscv: Reset the counter to hpmevent mapping while starting cpus - wifi: iwlwifi: properly set WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK - fs: better handle deep ancestor chains in is_subdir() - drm/radeon: check bo_va->bo is non-NULL before using it - drm/amd/display: Fix refresh rate range for some panel - drm/amd/display: Account for cursor prefetch BW in DML1 mode support - drm/amd/display: Add refresh rate range check - erofs: ensure m_llen is reset to 0 if metadata is invalid - Bluetooth: btnxpuart: Enable Power Save feature on startup - tee: optee: ffa: Fix missing-field-initializers warning - scsi: libsas: Fix exp-attached device scan after probe failure scanned in again after probe failed - powerpc/pseries: Whitelist dtl slub object for copying to userspace - net: mac802154: Fix racy device stats updates by DEV_STATS_INC() and DEV_STATS_ADD() - net: usb: qmi_wwan: add Telit FN912 compositions - ASoC: amd: yc: Fix non-functional mic on ASUS M5602RA - ALSA: dmaengine_pcm: terminate dmaengine before synchronize - ALSA: hda/relatek: Enable Mute LED on HP Laptop 15-gw0xxx - ALSA: PCM: Allow resume only for suspended streams - ibmvnic: Add tx check to prevent skb leak - btrfs: qgroup: fix quota root leak after quota disable failure - platform/x86: lg-laptop: Use ACPI device handle when evaluating WMAB/WMBB - platform/x86: lg-laptop: Change ACPI device id - platform/x86: lg-laptop: Remove LGEX0815 hotkey handling - platform/x86: wireless-hotkey: Add support for LG Airplane Button - platform/mellanox: nvsw-sn2201: Add check for platform_device_add_resources - s390/sclp: Fix sclp_init() cleanup on failure - octeontx2-pf: Fix coverity and klockwork issues in octeon PF driver - gpio: pca953x: fix pca953x_irq_bus_sync_unlock race - can: kvaser_usb: fix return value for hif_usb_send_regout - Input: ads7846 - use spi_device_id table - nvme: fix NVME_NS_DEAC may incorrectly identifying the disk as EXT_LBA. - ASoC: rt722-sdca-sdw: add debounce time for type detection - ASoC: SOF: sof-audio: Skip unprepare for in-use widgets on error rollback - ASoC: ti: omap-hdmi: Fix too long driver name - ASoC: ti: davinci-mcasp: Set min period size using FIFO config - ALSA: dmaengine: Synchronize dma channel after drop() - bytcr_rt5640 : inverse jack detect for Archos 101 cesium - Input: xpad - add support for ASUS ROG RAIKIRI PRO - ASoC: rt722-sdca-sdw: add silence detection register as volatile - Input: i8042 - add Ayaneo Kun to i8042 quirk table - Input: elantech - fix touchpad state on resume for Lenovo N24 - mips: fix compat_sys_lseek syscall - ALSA: hda: cs35l56: Select SERIAL_MULTI_INSTANTIATE - drm/amdgpu: Indicate CU havest info to CP - selftests: openvswitch: Set value to nla flags. - cpumask: limit FORCE_NR_CPUS to just the UP case - spi: Fix OCTAL mode support - ALSA: hda/realtek: Add more codec ID to no shutup pins list - drm/vmwgfx: Fix missing HYPERVISOR_GUEST dependency - KVM: PPC: Book3S HV: Prevent UAF in kvm_spapr_tce_attach_iommu_group() - ALSA: hda/realtek: Support Lenovo Thinkbook 16P Gen 5 - ALSA: hda: cs35l56: Fix lifecycle of codec pointer - nvmet: always initialize cqe.result - nvme: avoid double free special payload - drm/mediatek: Call drm_atomic_helper_shutdown() at shutdown time - drm: panel-orientation-quirks: Add quirk for Aya Neo KUN - drm/exynos: dp: drop driver owner initialization - iomap: Fix iomap_adjust_read_range for plen calculation - mei: demote client disconnect warning on suspend to debug - fs/file: fix the check in find_next_fd() - nfs: don't invalidate dentries on transient errors - nfs: Avoid flushing many pages with NFS_FILE_SYNC - nfs: propagate readlink errors in nfs_symlink_filler - HID: Ignore battery for ELAN touchscreens 2F2C and 4116 - input: Add support for "Do Not Disturb" - input: Add event code for accessibility key - kconfig: remove wrong expr_trans_bool() - kconfig: gconf: give a proper initial state to the Save button - ila: block BH in ila_output() - net: ipv6: rpl_iptunnel: block BH in rpl_output() and rpl_input() - Input: silead - Always support 10 fingers - of/irq: Factor out parsing of interrupt-map parent phandle+args from of_irq_parse_raw() - selftests/futex: pass _GNU_SOURCE without a value to the compiler - selftests/openat2: Fix build warnings on ppc64 - selftests: cachestat: Fix build warnings on ppc64 - wifi: mac80211: fix UBSAN noise in ieee80211_prep_hw_scan() - wifi: iwlwifi: mvm: Fix scan abort handling with HW rfkill - wifi: iwlwifi: mvm: properly set 6 GHz channel direct probe option - wifi: iwlwifi: mvm: handle BA session teardown in RF-kill - wifi: iwlwifi: mvm: Handle BIGTK cipher in kek_kck cmd - wifi: iwlwifi: mvm: remove stale STA link data during restart - wifi: iwlwifi: mvm: d3: fix WoWLAN command version lookup - wifi: cfg80211: fix 6 GHz scan request building - wifi: mac80211: handle tasklet frames before stopping - wifi: mac80211: apply mcast rate only if interface is up - wifi: mac80211: mesh: init nonpeer_pm to active by default in mesh sdata - tools/power/cpupower: Fix Pstate frequency reporting on AMD Family 1Ah CPUs - ACPI: EC: Avoid returning AE_OK on errors in address space handler - ACPI: EC: Abort address space access upon error - efi/libstub: zboot.lds: Discard .discard sections - scsi: qedf: Set qed_slowpath_params to zero before use - scsi: qedf: Wait for stag work during unload - scsi: qedf: Don't process stag work during unload and recovery - scsi: sr: Fix unintentional arithmetic wraparound - scsi: core: alua: I/O errors for ALUA state transitions - filelock: Remove locks reliably when fcntl/close race is detected - i2c: rcar: fix error code in probe() - kbuild: Make ld-version.sh more robust against version string changes - x86/bhi: Avoid warning in #DB handler due to BHI mitigation - x86/entry/64: Remove obsolete comment on tracing vs. SYSRET - x86/entry: Rename ignore_sysret() - i2c: rcar: clear NO_RXDMA flag after resetting - i2c: testunit: avoid re-issued work after read message - i2c: rcar: ensure Gen3+ reset does not disturb local targets - i2c: rcar: introduce Gen4 devices - i2c: rcar: reset controller is mandatory for Gen3+ - i2c: mark HostNotify target address as used - i2c: rcar: bring hardware to known state when probing - btrfs: tree-checker: add type and sequence check for inline backrefs - ext4: avoid ptr null pointer dereference - nilfs2: fix kernel bug on rename operation of broken directory - selftests/net: fix gro.c compilation failure due to non-existent opt_ipproto_off - mm/damon/core: merge regions aggressively when max_nr_regions is unmet - mm/shmem: disable PMD-sized page cache if needed - misc: fastrpc: Restrict untrusted app to attach to privileged PD - misc: fastrpc: Fix ownership reassignment of remote heap - misc: fastrpc: Fix memory leak in audio daemon attach operation - misc: fastrpc: Copy the complete capability structure to user - misc: fastrpc: Avoid updating PD type for capability request - misc: fastrpc: Fix DSP capabilities request - wireguard: send: annotate intentional data race in checking empty queue - wireguard: queueing: annotate intentional data race in cpu round robin - wireguard: allowedips: avoid unaligned 64-bit memory accesses - wireguard: selftests: use acpi=off instead of -no-acpi for recent QEMU - cpufreq: Allow drivers to advertise boost enabled - cpufreq: ACPI: Mark boost policy as enabled when setting boost - ACPI: processor_idle: Fix invalid comparison with insertion sort for latency - libceph: fix race between delayed_work() and ceph_monc_stop() - pmdomain: qcom: rpmhpd: Skip retention level for Power Domains - Fix userfaultfd_api to return EINVAL as expected - ALSA: hda/realtek: Limit mic boost on VAIO PRO PX - ALSA: hda/realtek: Enable Mute LED on HP 250 G7 - ALSA: hda/realtek: add quirk for Clevo V5[46]0TU - tty: serial: ma35d1: Add a NULL check for of_node - platform/x86: toshiba_acpi: Fix array out-of-bounds access - nvmem: core: only change name to fram for current attribute - nvmem: meson-efuse: Fix return value of nvmem callbacks - nvmem: rmem: Fix return value of rmem_read() - arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on - arm64: dts: qcom: sa8775p: Correct IRQ number of EL2 non-secure physical timer - iio: trigger: Fix condition for own trigger - ksmbd: discard write access to the directory open - mm/filemap: make MAX_PAGECACHE_ORDER acceptable to xarray - mm/filemap: skip to create PMD-sized page cache if needed - mm: vmalloc: check if a hash-index is in cpu_possible_mask - s390/mm: Add NULL pointer check to crst_table_free() base_crst_free() - xhci: always resume roothubs if xHC was reset during resume - hpet: Support 32-bit userspace - misc: microchip: pci1xxxx: Fix return value of nvmem callbacks - USB: core: Fix duplicate endpoint bug by clearing reserved bits in the descriptor - usb: gadget: configfs: Prevent OOB read/write in usb_string_copy() - usb: dwc3: pci: add support for the Intel Panther Lake - USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k - USB: serial: mos7840: fix crash on resume - USB: serial: option: add Rolling RW350-GL variants - USB: serial: option: add Netprisma LCUK54 series modules - USB: serial: option: add support for Foxconn T99W651 - USB: serial: option: add Fibocom FM350-GL - USB: serial: option: add Telit FN912 rmnet compositions - USB: serial: option: add Telit generic core-dump composition - net: ks8851: Fix potential TX stall after interface reopen - net: ks8851: Fix deadlock with the SPI chip variant - Revert "sched/fair: Make sure to try to detach at least one movable task" - cifs: fix setting SecurityFlags to true - octeontx2-af: fix issue with IPv4 match for RSS - octeontx2-af: fix issue with IPv6 ext match for RSS - octeontx2-af: fix detection of IP layer - octeontx2-af: fix a issue with cpt_lf_alloc mailbox - octeontx2-af: replace cpt slot with lf id on reg write - i40e: fix: remove needless retries of NVM update - ARM: davinci: Convert comma to semicolon - ASoC: SOF: Intel: hda: fix null deref on system suspend entry - firmware: cs_dsp: Prevent buffer overrun when processing V2 alg headers - firmware: cs_dsp: Validate payload length before processing block - firmware: cs_dsp: Return error if block header overflows file - arm64: dts: qcom: sc8180x: Fix LLCC reg property again - s390: Mark psw in __load_psw_mask() as __unitialized - net, sunrpc: Remap EPERM in case of connection failure in xs_tcp_setup_socket - ethtool: netlink: do not return SQI value if link is down - net: ethernet: mtk-star-emac: set mac_managed_pm when probing - bpf: Fail bpf_timer_cancel when callback is being cancelled - bpf: replace bpf_timer_init with a generic helper - bpf: make timer data struct more generic - bpf: fix order of args in call to bpf_map_kvcalloc - i40e: Fix XDP program unloading while removing the driver - octeontx2-af: Fix incorrect value output on error path in rvu_check_rsrc_availability() - net: phy: microchip: lan87xx: reinit PHY after cable test - tcp: fix incorrect undo caused by DSACK of TLP retransmit - net: bcmasp: Fix error code in probe() - vfs: don't mod negative dentry count when on shrinker list - fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading - dsa: lan9303: Fix mapping between DSA port number and PHY address - cachefiles: add missing lock protection when polling - cachefiles: cyclic allocation of msg_id to avoid reuse - cachefiles: wait for ondemand_object_worker to finish when dropping object - cachefiles: cancel all requests for the object that is being dropped - cachefiles: stop sending new request when dropping object - cachefiles: propagate errors from vfs_getxattr() to avoid infinite loop - scsi: ufs: core: Fix ufshcd_abort_one racing issue - scsi: ufs: core: Fix ufshcd_clear_cmd racing issue - mm: prevent derefencing NULL ptr in pfn_section_valid() - Compiler Attributes: Add __uninitialized macro - !10610 wifi: cfg80211: wext: add extra SIOCSIWSCAN data check - wifi: cfg80211: wext: add extra SIOCSIWSCAN data check - !10599 ppp: reject claimed-as-LCP but actually malformed packets - ppp: reject claimed-as-LCP but actually malformed packets - !10539 tun: add missing verification for short frame - tun: add missing verification for short frame - !10538 tap: add missing verification for short frame - tap: add missing verification for short frame - !10555 skmsg: Skip zero length skb in sk_msg_recvmsg - skmsg: Skip zero length skb in sk_msg_recvmsg - !10596 net: ethernet: lantiq_etop: fix double free in detach - net: ethernet: lantiq_etop: fix double free in detach - !10517 mm/dynamic_pool: two bugfix about THP and migration - mm/dynamic_pool: check page_from_dynamic_pool() on migration - mm/dynamic_pool: replace task_in_dynamic_pool() with mm_in_dynamic_pool() - !10579 Fix CVE-2024-41062 - Bluetooth: Fix usage of __hci_cmd_sync_status - Bluetooth: L2CAP: Fix deadlock - bluetooth/l2cap: sync sock recv cb and release - !10545 bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro() - bpf: Take return from set_memory_ro() into account with bpf_prog_lock_ro() - !10547 powerpc/eeh: avoid possible crash when edev->pdev changes - powerpc/eeh: avoid possible crash when edev->pdev changes - !10470 Make cpuset.cpus.exclusive independent of cpuset.cpus - cgroup/cpuset: Make cpuset.cpus.exclusive independent of cpuset.cpus - cgroup/cpuset: Delay setting of CS_CPU_EXCLUSIVE until valid partition - cgroup/cpuset: Documentation update for partition - !10443 v2 cxl/mem: Fix no cxl_nvd during pmem region auto-assembling - cxl/mem: Fix no cxl_nvd during pmem region auto-assembling - !10351 bpf: Fix null-pointer-deref in resolve_prog_type() - selftests/bpf: Test for null-pointer-deref bugfix in resolve_prog_type() - bpf: Fix null pointer dereference in resolve_prog_type() for BPF_PROG_TYPE_EXT - !10401 firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files - firmware: cs_dsp: Use strnlen() on name fields in V1 wmfw files - !10512 powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt. - powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt. - !10524 Bluetooth: hci_core: cancel all works upon hci_unregister_dev() - Bluetooth: hci_core: cancel all works upon hci_unregister_dev() - !10486 fix CVE-2024-42086 - iio: chemical: bme680: Fix overflows in compensate() functions - !10466 null_blk: fix validation of block size - null_blk: fix validation of block size - !10480 ALSA: emux: improve patch ioctl data validation - ALSA: emux: improve patch ioctl data validation - !10385 firmware: cs_dsp: Fix overflow checking of wmfw header - firmware: cs_dsp: Fix overflow checking of wmfw header - !10403 Fix CVE-2024-41069 - ASoC: topology: Fix route memory corruption - ASoC: topology: Do not assign fields that are already set - ASoC: topology: Fix references to freed memory - !10474 jffs2: Fix potential illegal address access in jffs2_free_inode - jffs2: Fix potential illegal address access in jffs2_free_inode - !10463 io_uring: fix possible deadlock in io_register_iowq_max_workers() - io_uring: fix possible deadlock in io_register_iowq_max_workers() - !10456 NFSv4: Fix memory leak in nfs4_set_security_label - NFSv4: Fix memory leak in nfs4_set_security_label - !10450 fs/ntfs3: Validate ff offset - fs/ntfs3: Validate ff offset - !10394 filelock: Fix fcntl/close race recovery compat path - filelock: Fix fcntl/close race recovery compat path - !10496 PCI/MSI: Fix UAF in msi_capability_init - PCI/MSI: Fix UAF in msi_capability_init - !10380 filelock: fix potential use-after-free in posix_lock_inode - filelock: fix potential use-after-free in posix_lock_inode - !10378 fs/ntfs3: Add a check for attr_names and oatbl - fs/ntfs3: Add a check for attr_names and oatbl - !10491 Bluetooth: ISO: Check socket flag instead of hcon - Bluetooth: ISO: Check socket flag instead of hcon - !10495 drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc - drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc - !10442 net/sched: Fix UAF when resolving a clash - net/sched: Fix UAF when resolving a clash - !10457 udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port(). - udp: Set SOCK_RCU_FREE earlier in udp_lib_get_port(). - !10371 iommu/arm-smmu-v3: Reducing the CMD_SYNC times - iommu/arm-smmu-v3: Reducing the CMD_SYNC times - !10228 PCI/ROM: Fix PCI ROM header check bug - PCI/ROM: Fix PCI ROM header check bug - !10416 [sync] PR-10408: iommu/arm-smmu-v3: Fix the compile warning - iommu/arm-smmu-v3: Fix the compile warning - !9824 fix CVE-2024-39486 - drm/drm_file: Fix pid refcounting race - !10388 ovl: simplify ovl_parse_param_lowerdir() - ovl: ovl_parse_param_lowerdir: Add missed ' - ovl: fix wrong lowerdir number check for parameter Opt_lowerdir - ovl: pass string to ovl_parse_layer() - !10507 Backport 6.6.35-40 LTS patches from upstream - Revert "usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB" - nilfs2: fix incorrect inode allocation from reserved inodes - null_blk: Do not allow runt zone with zone capacity smaller then zone size - drm/amdgpu: silence UBSAN warning - ALSA: ump: Set default protocol when not given explicitly - spi: cadence: Ensure data lines set to low during dummy-cycle period - nfc/nci: Add the inconsistency check between the input data length and count - kbuild: fix short log for AS in link-vmlinux.sh - nvmet: fix a possible leak when destroy a ctrl during qp establishment - platform/x86: touchscreen_dmi: Add info for the EZpad 6s Pro - platform/x86: touchscreen_dmi: Add info for GlobalSpace SolT IVW 11.6" tablet - regmap-i2c: Subtract reg size from max_write - nvme: adjust multiples of NVME_CTRL_PAGE_SIZE in offset - connector: Fix invalid conversion in cn_proc.h - dma-mapping: benchmark: avoid needless copy_to_user if benchmark fails - nvme-multipath: find NUMA path only for online numa-node - vhost-scsi: Handle vhost_vq_work_queue failures for events - ALSA: hda/realtek: Enable headset mic of JP-IK LEAP W502 with ALC897 - fs/ntfs3: Mark volume as dirty if xattr is broken - i2c: pnx: Fix potential deadlock warning from del_timer_sync() call in isr - clk: mediatek: mt8183: Only enable runtime PM on mt8183-mfgcfg - clk: qcom: clk-alpha-pll: set ALPHA_EN bit for Stromer Plus PLLs - clk: qcom: gcc-sm6350: Fix gpll6* & gpll7 parents - media: dw2102: fix a potential buffer overflow - arm64: dts: rockchip: Fix the DCDC_REG2 minimum voltage on Quartz64 Model B - bnx2x: Fix multiple UBSAN array-index-out-of-bounds - net: stmmac: dwmac-qcom-ethqos: fix error array size - mtd: rawnand: rockchip: ensure NVDDR timings are rejected - mtd: rawnand: Bypass a couple of sanity checks during NAND identification - mtd: rawnand: Fix the nand_read_data_op() early check - mtd: rawnand: Ensure ECC configuration is propagated to upper layers - powerpc/64s: Fix unnecessary copy to 0 when kernel is booted at address 0 - powerpc/pseries: Fix scv instruction crash with kexec - clk: sunxi-ng: common: Don't call hw_to_ccu_common on hw without common - clk: qcom: gcc-ipq9574: Add BRANCH_HALT_VOTED flag - drm: panel-orientation-quirks: Add quirk for Valve Galileo - drm/amdgpu/atomfirmware: silence UBSAN warning - drm/nouveau: fix null pointer dereference in nouveau_connector_get_modes - Revert "mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again" - fsnotify: Do not generate events for O_PATH file descriptors - can: kvaser_usb: Explicitly initialize family in leafimx driver_info struct - Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot - Bluetooth: hci_bcm4377: Fix msgid release - scsi: mpi3mr: Use proper format specifier in mpi3mr_sas_port_add() - f2fs: Add inline to f2fs_build_fault_attr() stub - btrfs: fix adding block group to a reclaim list and the unused list during reclaim - mm: avoid overflows in dirty throttling logic - mm: optimize the redundant loop of mm_update_owner_next() - nilfs2: add missing check for inode numbers on directory entries - nilfs2: fix inode number range checks - Revert "igc: fix a log entry using uninitialized netdev" - platform/x86: toshiba_acpi: Fix quickstart quirk handling - cpu: Fix broken cmdline "nosmp" and "maxcpus=0" - gpiolib: of: add polarity quirk for TSC2005 - mlxsw: core_linecards: Fix double memory deallocation in case of invalid INI file - inet_diag: Initialize pad field in struct inet_diag_req_v2 - selftests: make order checking verbose in msg_zerocopy selftest - selftests: fix OOM in msg_zerocopy selftest - netfilter: nf_tables: unconditionally flush pending work before notifier - riscv: kexec: Avoid deadlock in kexec crash path - wifi: wilc1000: fix ies_len type in connect path - gpio: mmio: do not calculate bgpio_bits via "ngpios" - net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx() - net: txgbe: initialize num_q_vectors for MSI/INTx interrupts - gpiolib: of: fix lookup quirk for MIPS Lantiq - e1000e: Fix S0ix residency on corporate systems - KVM: s390: fix LPSWEY handling - tcp_metrics: validate source addr length - bluetooth/hci: disallow setting handle bigger than HCI_CONN_HANDLE_MAX - Bluetooth: ISO: Check socket flag instead of hcon - Bluetooth: Ignore too large handle values in BIG - Bluetooth: hci_event: Fix setting of unicast qos interval - net/mlx5e: Add mqprio_rl cleanup and free in mlx5e_priv_cleanup() - net/mlx5: E-switch, Create ingress ACL when needed - UPSTREAM: tcp: fix DSACK undo in fast recovery to call tcp_try_to_open() - net: phy: phy_device: Fix PHY LED blinking code comment - mac802154: fix time calculation in ieee802154_configure_durations() - vhost_task: Handle SIGKILL by flushing work and exiting - vhost: Release worker mutex during flushes - vhost: Use virtqueue mutex for swapping worker - tools/power turbostat: Remember global max_die_id - cdrom: rearrange last_media_change check to avoid unintentional overflow - btrfs: scrub: initialize ret in scrub_simple_mirror() to fix compilation warning - s390/pkey: Wipe sensitive data on failure - jffs2: Fix potential illegal address access in jffs2_free_inode - serial: imx: Raise TX trigger level to 8 - scsi: mpi3mr: Sanitise num_phys - f2fs: check validation of fault attrs in f2fs_build_fault_attr() - bpf: Avoid uninitialized value in BPF_CORE_READ_BITFIELD - igc: fix a log entry using uninitialized netdev - selftests/net: fix uninitialized variables - powerpc/xmon: Check cpu id in commands "c#", "dp#" and "dx#" - kunit: Fix timeout message - orangefs: fix out-of-bounds fsid access - powerpc/64: Set _IO_BASE to POISON_POINTER_DELTA not 0 for CONFIG_PCI=n - i2c: i801: Annotate apanel_addr as __ro_after_init - media: dvb-frontends: tda10048: Fix integer overflow - media: s2255: Use refcount_t instead of atomic_t for num_channels - media: dvb-frontends: tda18271c2dd: Remove casting during div - net: dsa: mv88e6xxx: Correct check for empty list - thermal/drivers/mediatek/lvts_thermal: Check NULL ptr on lvts_data - wifi: mt76: mt7996: add sanity checks for background radar trigger - wifi: mt76: replace skb_put with skb_put_zero - usb: xhci: prevent potential failure in handle_tx_event() for Transfer events without TRB - Input: ff-core - prefer struct_size over open coded arithmetic - firmware: dmi: Stop decoding on broken entry - sctp: prefer struct_size over open coded arithmetic - riscv: Apply SiFive CIP-1200 workaround to single-ASID sfence.vma - media: dw2102: Don't translate i2c read into write - drm/amdgpu: fix the warning about the expression (int)size - len - drm/amdgpu: fix uninitialized scalar variable warning - drm/amd/display: Fix uninitialized variables in DM - drm/amd/display: Skip finding free audio for unknown engine_id - drm/amd/display: Check pipe offset before setting vblank - drm/amd/display: Check index msg_id before read or write - drm/amdgpu: Initialize timestamp for some legacy SOCs - drm/amdgpu: Using uninitialized value *size when calling amdgpu_vce_cs_reloc - drm/amdgpu: Fix uninitialized variable warnings - media: mediatek: vcodec: Only free buffer VA that is not NULL - crypto: aead,cipher - zeroize key buffer after use - RISC-V: KVM: Fix the initial sample period value - selftests/bpf: dummy_st_ops should reject 0 for non-nullable params - selftests/bpf: do not pass NULL for non-nullable params in dummy_st_ops - selftests/bpf: adjust dummy_st_ops_success to detect additional error - scsi: qedf: Make qedf_execute_tmf() non-preemptible - IB/core: Implement a limit on UMAD receive List - media: dvb-usb: dib0700_devices: Add missing release_firmware() - media: dvb: as102-fe: Fix as10x_register_addr packing - powerpc: Avoid nmi_enter/nmi_exit in real mode interrupt. - drm/lima: fix shared irq handling on driver remove - leds: an30259a: Use devm_mutex_init() for mutex initialization - locking/mutex: Introduce devm_mutex_init() - Revert "powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data" - Revert "powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free]" - tracing/net_sched: NULL pointer dereference in perf_trace_qdisc_reset() - serial: 8250_omap: Fix Errata i2310 with RX FIFO level check - serial: imx: only set receiver level if it is zero - cxl/region: Avoid null pointer dereference in region lookup - cxl/region: Move cxl_dpa_to_region() work to the region driver - arm64: dts: rockchip: Add sound-dai-cells for RK3368 - arm64: dts: rockchip: fix PMIC interrupt pin on ROCK Pi E - arm64: dts: rockchip: make poweroff(8) work on Radxa ROCK 5A - ARM: dts: rockchip: rk3066a: add #sound-dai-cells to hdmi node - arm64: dts: rockchip: Fix the value of `dlg,jack-det-rate` mismatch on rk3399-gru - arm64: dts: rockchip: Rename LED related pinctrl nodes on rk3308-rock-pi-s - arm64: dts: rockchip: Fix SD NAND and eMMC init on rk3308-rock-pi-s - pwm: stm32: Refuse too small period requests - syscalls: fix sys_fanotify_mark prototype - syscalls: fix compat_sys_io_pgetevents_time64 usage - ftruncate: pass a signed offset - ata: libata-core: Fix double free on error - ata: ahci: Clean up sysfs file on error - can: mcp251xfd: fix infinite loop when xmit fails - batman-adv: Don't accept TT entries for out-of-spec VIDs - drm/amdgpu/atomfirmware: fix parsing of vram_info - drm/amd/display: Send DP_TOTAL_LTTPR_CNT during detection if LTTPR is present - drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_hd_modes - drm/i915/gt: Fix potential UAF by revoke of fence registers - drm/amdgpu: avoid using null object of framebuffer - drm/fbdev-dma: Only set smem_start is enable per module option - drm/nouveau/dispnv04: fix null pointer dereference in nv17_tv_get_ld_modes - drm/drm_file: Fix pid refcounting race - hexagon: fix fadvise64_64 calling conventions - csky, hexagon: fix broken sys_sync_file_range - btrfs: zoned: fix initial free space detection - sh: rework sync_file_range ABI - kbuild: Install dtb files as 0644 in Makefile.dtbinst - cpu/hotplug: Fix dynstate assignment in __cpuhp_setup_state_cpuslocked() - cpufreq: intel_pstate: Use HWP to initialize ITMT if CPPC is missing - PCI/MSI: Fix UAF in msi_capability_init - net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new - net: can: j1939: recover socket queue on CAN bus error during BAM transmission - net: can: j1939: Initialize unused data in j1939_send_one() - tty: mcf: MCF54418 has 10 UARTS - ALSA: hda/realtek: fix mute/micmute LEDs don't work for EliteBook 645/665 G11. - serial: bcm63xx-uart: fix tx after conversion to uart_port_tx_limited() - serial: core: introduce uart_port_tx_limited_flags() - serial: imx: set receiver level before starting uart - serial: 8250_omap: Implementation of Errata i2310 - Revert "serial: core: only stop transmit when HW fifo is empty" - usb: dwc3: core: Workaround for CSR read timeout - usb: dwc3: core: Add DWC31 version 2.00a controller - usb: ucsi: stm32: fix command completion handling - usb: typec: ucsi: glink: fix child node release in probe function - usb: gadget: aspeed_udc: fix device address configuration - usb: dwc3: core: remove lock of otg mode during gadget suspend/resume to avoid deadlock - usb: atm: cxacru: fix endpoint checking in cxacru_bind() - usb: musb: da8xx: fix a resource leak in probe() - usb: gadget: printer: fix races against disable - usb: gadget: printer: SS+ support - net: usb: ax88179_178a: improve link status logs - iio: chemical: bme680: Fix sensor data read operation - iio: chemical: bme680: Fix overflows in compensate() functions - iio: chemical: bme680: Fix calibration data variable - iio: chemical: bme680: Fix pressure value output - iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF - iio: adc: ad7266: Fix variable checking bug - ata,scsi: libata-core: Do not leak memory for ata_port struct members - ata: libata-core: Fix null pointer dereference on error - i2c: testunit: discard write requests while old command is running - i2c: testunit: don't erase registers after STOP - kbuild: Fix build target deb-pkg: ln: failed to create hard link - kbuild: doc: Update default INSTALL_MOD_DIR from extra to updates - counter: ti-eqep: enable clock at probe - iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask - mmc: sdhci: Do not lock spinlock around mmc_gpio_get_ro() - mmc: sdhci: Do not invert write-protect twice - mmc: sdhci-pci: Convert PCIBIOS_* return codes to errnos - mmc: sdhci-brcmstb: check R1_STATUS for erase/trim/discard - mmc: sdhci-pci-o2micro: Convert PCIBIOS_* return codes to errnos - mm: fix incorrect vbq reference in purge_fragmented_block - nfs: drop the incorrect assertion in nfs_swap_rw() - ocfs2: fix DIO failure due to insufficient transaction credits - pinctrl: qcom: spmi-gpio: drop broken pm8008 support - Revert "MIPS: pci: lantiq: restore reset gpio polarity" - parisc: use generic sys_fanotify_mark implementation - x86: stop playing stack games in profile_pc() - randomize_kstack: Remove non-functional per-arch entropy filtering - gpiolib: cdev: Disallow reconfiguration without direction (uAPI v1) - riscv: stacktrace: convert arch_stack_walk() to noinstr - drm/amdgpu: Fix pci state save during mode-1 reset - RISC-V: fix vector insn load/store width mask - gpio: davinci: Validate the obtained number of IRQs - drm/panel: simple: Add missing display timing flags for KOE TX26D202VM0BWA - nvme: fixup comment for nvme RDMA Provider Type - drm/radeon/radeon_display: Decrease the size of allocated memory - gfs2: Fix NULL pointer dereference in gfs2_log_flush - soc: ti: wkup_m3_ipc: Send NULL dummy message instead of pointer message - irqchip/loongson: Select GENERIC_IRQ_EFFECTIVE_AFF_MASK if SMP for IRQ_LOONGARCH_CPU - media: dvbdev: Initialize sbuf - ALSA: emux: improve patch ioctl data validation - crypto: ecdh - explicitly zeroize private_key - net/dpaa2: Avoid explicit cpumask var allocation on stack - net/iucv: Avoid explicit cpumask var allocation on stack - RDMA/restrack: Fix potential invalid address access - bpf: Mark bpf prog stack with kmsan_unposion_memory in interpreter mode - wifi: ieee80211: check for NULL in ieee80211_mle_size_ok() - mtd: partitions: redboot: Added conversion of operands to a larger type - x86/fpu: Fix AMD X86_BUG_FXSAVE_LEAK fixup - vduse: Temporarily fail if control queue feature requested - vduse: validate block features only with block devices - drm/panel: ilitek-ili9881c: Fix warning with GPIO controllers that sleep - powerpc/bpf: use bpf_jit_binary_pack_[alloc|finalize|free] - powerpc/bpf: rename powerpc64_jit_data to powerpc_jit_data - net: mana: Fix possible double free in error handling path - netfilter: nf_tables: fully validate NFT_DATA_VALUE on store to data registers - ALSA: seq: Fix missing MSB in MIDI2 SPP conversion - tcp: fix tcp_rcv_fastopen_synack() to enter TCP_CA_Loss for failed TFO - powerpc: restore some missing spu syscalls - parisc: use correct compat recv/recvfrom syscalls - sparc: fix compat recv/recvfrom syscalls - sparc: fix old compat_sys_select() - net: dsa: microchip: fix wrong register write when masking interrupt - ALSA: seq: Fix missing channel at encoding RPN/NRPN MIDI2 messages - Fix race for duplicate reqsk on identical SYN - btrfs: use NOFS context when getting inodes during logging and log replay - xdp: Remove WARN() from __xdp_reg_mem_model() - ice: Rebuild TC queues on VSI queue reconfiguration - net: dsa: microchip: use collision based back pressure mode - net: phy: micrel: add Microchip KSZ 9477 to the device table - ibmvnic: Free any outstanding tx skbs during scrq reset - mlxsw: spectrum_buffers: Fix memory corruptions on Spectrum-4 systems - openvswitch: get related ct labels from its master if it is not confirmed - net: dsa: microchip: fix initial port flush problem - ASoC: fsl-asoc-card: set priv->pdev before using it - ASoC: amd: acp: remove i2s configuration check in acp_i2s_probe() - ASoC: amd: acp: add a null check for chip_pdev structure - s390/pci: Add missing virt_to_phys() for directed DIBV - bpf: Add missed var_off setting in coerce_subreg_to_size_sx() - bpf: Add missed var_off setting in set_sext32_default_val() - ASoC: q6apm-lpass-dai: close graph on prepare errors - workqueue: Increase worker desc's length to 32 - ASoC: atmel: atmel-classd: Re-add dai_link->platform to fix card init - ASoC: atmel: convert not to use asoc_xxx() - ASoC: mediatek: mt8183-da7219-max98357: Fix kcontrol name collision - ASoC: rockchip: i2s-tdm: Fix trcm mode by setting clock on right mclk - wifi: mac80211: Use flexible array in struct ieee80211_tim_ie - selftests: mptcp: userspace_pm: fixed subtest names - selftests: mptcp: print_test out of verify_listener_events - MIPS: pci: lantiq: restore reset gpio polarity - pinctrl: rockchip: fix pinmux reset in rockchip_pmx_set - pinctrl: rockchip: use dedicated pinctrl type for RK3328 - pinctrl: rockchip: fix pinmux bits for RK3328 GPIO3-B pins - pinctrl: rockchip: fix pinmux bits for RK3328 GPIO2-B pins - pinctrl: fix deadlock in create_pinctrl() when handling -EPROBE_DEFER - Input: ili210x - fix ili251x_read_touch_data() return value - usb: typec: ucsi: Ack also failed Get Error commands - usb: typec: ucsi: Never send a lone connector change ack - iio: pressure: bmp280: Fix BMP580 temperature reading - iio: pressure: fix some word spelling errors - Revert "mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default" - hid: asus: asus_report_fixup: fix potential read out of bounds - kprobe/ftrace: fix build error due to bad function definition - ASoC: Intel: sof-sdw: really remove FOUR_SPEAKER quirk - drm/amd/display: revert Exit idle optimizations before HDCP execution - LoongArch: Fix entry point in kernel image header - efi/loongarch: Directly position the loaded image file - vgacon: rework screen_info #ifdef checks - riscv: force PAGE_SIZE linear mapping if debug_pagealloc is enabled - riscv: Don't use PGD entries for the linear mapping - x86/cpu: Fix x86_match_cpu() to match just X86_VENDOR_INTEL - x86/cpu/vfm: Add new macros to work with (vendor/family/model) values - tracing: Add MODULE_DESCRIPTION() to preemptirq_delay_test - nbd: Fix signal handling - nbd: Improve the documentation of the locking assumptions - ocfs2: update inode fsync transaction id in ocfs2_unlink and ocfs2_link - ocfs2: convert to new timestamp accessors - wifi: rtl8xxxu: enable MFP support with security flag of RX descriptor - perf script: Show also errors for --insn-trace option - perf: script: add raw|disasm arguments to --insn-trace option - spi: stm32: qspi: Clamp stm32_qspi_get_mode() output to CCR_BUSWIDTH_4 - arm64: dts: imx8qm-mek: fix gpio number for reg_usdhc2_vmmc - spi: stm32: qspi: Fix dual flash mode sanity test in stm32_qspi_setup() - dt-bindings: i2c: google,cros-ec-i2c-tunnel: correct path to i2c-controller schema - dt-bindings: i2c: atmel,at91sam: correct path to i2c-controller schema - i2c: ocores: set IACK bit after core is enabled - mm/page_table_check: fix crash on ZONE_DEVICE - tcp: clear tp->retrans_stamp in tcp_rcv_fastopen_synack() - mm: mmap: allow for the maximum number of bits for randomizing mmap_base by default - efi/x86: Free EFI memory map only when installing a new one. - kcov: don't lose track of remote references during softirqs - gcov: add support for GCC 14 - dt-bindings: dma: fsl-edma: fix dma-channels constraints - drm/radeon: fix UBSAN warning in kv_dpm.c - drm/i915/mso: using joiner is not possible with eDP MSO - ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 14AHP9 - ALSA: hda/realtek: Limit mic boost on N14AP7 - ALSA: hda/realtek: fix mute/micmute LEDs don't work for ProBook 445/465 G11. - ovl: fix encoding fid for lower only root - RDMA/mlx5: Follow rb_key.ats when creating new mkeys - RDMA/mlx5: Remove extra unlock on error path - RDMA/rxe: Fix data copy for IB_SEND_INLINE - KVM: x86: Always sync PIR to IRR prior to scanning I/O APIC routes - KVM: arm64: Disassociate vcpus from redistributor region on teardown - LoongArch: Fix multiple hardware watchpoint issues - LoongArch: Trigger user-space watchpoints correctly - LoongArch: Fix watchpoint setting error - cifs: fix typo in module parameter enable_gcm_256 - scsi: ufs: core: Free memory allocated for model before reinit - btrfs: retry block group reclaim without infinite loop - net: do not leave a dangling sk pointer, when socket creation fails - net: usb: ax88179_178a: improve reset check - net: stmmac: Assign configured channel value to EXTTS event - locking/atomic: scripts: fix ${atomic}_sub_and_test() kerneldoc - arm64: defconfig: enable the vf610 gpio driver - ACPI: EC: Evaluate orphan _REG under EC device - RDMA/mana_ib: Ignore optional access flags for MRs - RDMA/mlx5: Fix unwind flow as part of mlx5_ib_stage_init_init - firmware: psci: Fix return value from psci_system_suspend() - io_uring/rsrc: fix incorrect assignment of iter->nr_segs in io_import_fixed - spi: spi-imx: imx51: revert burst length calculation back to bits_per_word - arm64: dts: freescale: imx8mm-verdin: enable hysteresis on slow input pin - arm64: dts: imx93-11x11-evk: Remove the 'no-sdio' property - arm64: dts: freescale: imx8mp-venice-gw73xx-2x: fix BT shutdown GPIO - arm64: dts: imx8mp: Fix TC9595 input clock on DH i.MX8M Plus DHCOM SoM - arm64: dts: imx8mp: Fix TC9595 reset GPIO on DH i.MX8M Plus DHCOM SoM - thermal/drivers/mediatek/lvts_thermal: Return error in case of invalid efuse data - regulator: bd71815: fix ramp values - dmaengine: ioatdma: Fix missing kmem_cache_destroy() - dmaengine: fsl-edma: avoid linking both modules - dmaengine: ioatdma: Fix kmemleak in ioat_pci_probe() - dmaengine: ioatdma: Fix error path in ioat3_dma_probe() - dmaengine: ioatdma: Fix leaking on version mismatch - regulator: core: Fix modpost error "regulator_get_regmap" undefined - RDMA/rxe: Fix responder length checking for UD request packets - spi: cs42l43: Correct SPI root clock speed - RDMA/bnxt_re: Fix the max msix vectors macro - net: usb: rtl8150 fix unintiatilzed variables in rtl8150_get_link_ksettings - bnxt_en: Restore PTP tx_avail count in case of skb_pad() error - ice: Fix VSI list rule with ICE_SW_LKUP_LAST type - octeontx2-pf: Fix linking objects into multiple modules - octeontx2-pf: Add error handling to VLAN unoffload handling - virtio_net: fixing XDP for fully checksummed packets handling - virtio_net: checksum offloading handling fix - net: stmmac: No need to calculate speed divider when offload is disabled - selftests: openvswitch: Use bash as interpreter - ptp: fix integer overflow in max_vclocks_store - sched: act_ct: add netns into the key of tcf_ct_flow_table - net: phy: mxl-gpy: Remove interrupt mask clearing from config_init - net: lan743x: Support WOL at both the PHY and MAC appropriately - net: lan743x: disable WOL upon resume to restore full data path operation - qca_spi: Make interrupt remembering atomic - netns: Make get_net_ns() handle zero refcount net - xfrm6: check ip6_dst_idev() return value in xfrm6_get_saddr() - ipv6: prevent possible NULL deref in fib6_nh_init() - bpf: Avoid splat in pskb_pull_reason - ALSA: hda: tas2781: Component should be unbound before deconstruction - ALSA: hda: cs35l56: Component should be unbound before deconstruction - cipso: fix total option length computation - net: mvpp2: use slab_build_skb for oversized frames - ice: avoid IRQ collision to fix init failure on ACPI S3 resume - ALSA/hda: intel-dsp-config: Document AVS as dsp_driver option - ALSA: hda/realtek: Remove Framework Laptop 16 from quirks - MIPS: Routerboard 532: Fix vendor retry check code - ALSA: seq: ump: Fix missing System Reset message handling - PCI: Do not wait for disconnected devices when resuming - ACPI: EC: Install address space handler at the namespace root - usb: gadget: function: Remove usage of the deprecated ida_simple_xx() API - serial: exar: adding missing CTI and Exar PCI ids - f2fs: don't set RO when shutting down f2fs - PCI/PM: Avoid D3cold for HP Pavilion 17 PC/1972 PCIe Ports - udf: udftime: prevent overflow in udf_disk_stamp_to_time() - usb: typec: ucsi_glink: drop special handling for CCI_BUSY - usb: dwc3: pci: Don't set "linux,phy_charger_detect" property on Lenovo Yoga Tab2 1380 - Avoid hw_desc array overrun in dw-axi-dmac - usb: misc: uss720: check for incompatible versions of the Belkin F5U002 - usb: gadget: uvc: configfs: ensure guid to be valid before set - kprobe/ftrace: bail out if ftrace was killed - power: supply: cros_usbpd: provide ID table for avoiding fallback match - platform/x86: p2sb: Don't init until unassigned resources have been assigned - powerpc/io: Avoid clang null pointer arithmetic warnings - media: mtk-vcodec: potential null pointer deference in SCP - media: intel/ipu6: Fix build with !ACPI - ALSA: hda/realtek: Add quirks for Lenovo 13X - drm/lima: mask irqs in timeout path before hard reset - drm/lima: add mask irq callback to gp and pp - ASoC: Intel: sof_sdw: add quirk for Dell SKU 0C0F - ASoC: Intel: sof_sdw: add JD2 quirk for HP Omen 14 - platform/x86: toshiba_acpi: Add quirk for buttons on Z830 - drm/amd/display: Exit idle optimizations before HDCP execution - Bluetooth: ath3k: Fix multiple issues reported by checkpatch.pl - ACPI: video: Add backlight=native quirk for Lenovo Slim 7 16ARH7 - HID: asus: fix more n-key report descriptors if n-key quirked - HID: Add quirk for Logitech Casa touchpad - net: dsa: realtek: keep default LED state in rtl8366rb - kselftest: arm64: Add a null pointer check - net: sfp: add quirk for ATS SFP-GE-T 1000Base-TX module - scsi: qedi: Fix crash while reading debugfs attribute - ACPI: x86: Add PNP_UART1_SKIP quirk for Lenovo Blade2 tablets - af_packet: avoid a false positive warning in packet_setsockopt() - wifi: ath9k: work around memset overflow warning - selftests/bpf: Fix flaky test btf_map_in_map/lookup_update - selftests/bpf: Prevent client connect before server bind in test_tc_tunnel.sh - block/ioctl: prefer different overflow check - rcutorture: Fix invalid context warning when enable srcu barrier testing - rcutorture: Make stall-tasks directly exit when rcutorture tests end - rcutorture: Fix rcu_torture_one_read() pipe_count overflow comment - io_uring/sqpoll: work around a potential audit memory leak - padata: Disable BH when taking works lock on MT path - zap_pid_ns_processes: clear TIF_NOTIFY_SIGNAL along with TIF_SIGPENDING - i2c: designware: Fix the functionality flags of the slave-only interface - i2c: at91: Fix the functionality flags of the slave-only interface - misc: microchip: pci1xxxx: Fix a memory leak in the error handling of gp_aux_bus_probe() - serial: core: Add UPIO_UNKNOWN constant for unknown port type - device property: Implement device_is_big_endian() - greybus: Fix use-after-free bug in gb_interface_release due to race condition. - remoteproc: k3-r5: Jump to error handling labels in start/stop errors - serial: 8250_pxa: Configure tx_loadsz to match FIFO IRQ level - mm/huge_memory: don't unpoison huge_zero_folio - tick/nohz_full: Don't abuse smp_call_function_single() in tick_setup_device() - nilfs2: fix potential kernel bug due to lack of writeback flag waiting - xfs: allow cross-linking special files without project quota - xfs: allow sunit mount option to repair bad primary sb stripe values - xfs: shrink failure needs to hold AGI buffer - xfs: fix SEEK_HOLE/DATA for regions with active COW extents - xfs: fix scrub stats file permissions - xfs: fix imprecise logic in xchk_btree_check_block_owner - pmdomain: ti-sci: Fix duplicate PD referrals - intel_th: pci: Add Lunar Lake support - intel_th: pci: Add Meteor Lake-S support - intel_th: pci: Add Sapphire Rapids SOC support - intel_th: pci: Add Granite Rapids SOC support - intel_th: pci: Add Granite Rapids support - drm/i915: Fix audio component initialization - drm/i915/dpt: Make DPT object unshrinkable - drm/shmem-helper: Fix BUG_ON() on mmap(PROT_WRITE, MAP_PRIVATE) - drm/i915/gt: Disarm breadcrumbs if engines are already idle - rtla/auto-analysis: Replace with spaces - rtla/timerlat: Simplify "no value" printing on top - iio: invensense: fix interrupt timestamp alignment - iio: adc: axi-adc: make sure AXI clock is enabled - remoteproc: k3-r5: Do not allow core1 to power up before core0 via sysfs - remoteproc: k3-r5: Wait for core0 power-up before powering up core1 - dmaengine: axi-dmac: fix possible race in remove() - PCI: rockchip-ep: Remove wrong mask on subsys_vendor_id - ocfs2: use coarse time for new created files - fs/proc: fix softlockup in __read_vmcore - knfsd: LOOKUP can return an illegal error value - spmi: hisi-spmi-controller: Do not override device identifier - dma-buf: handle testing kthreads creation failure - null_blk: Print correct max open zones limit in null_init_zoned_dev() - kheaders: explicitly define file modes for archived headers - tracing/selftests: Fix kprobe event name test for .isra. functions - riscv: fix overlap of allocated page and PTR_ERR - perf auxtrace: Fix multiple use of --itrace option - perf/core: Fix missing wakeup when waiting for context reference - x86/amd_nb: Check for invalid SMN reads - x86/kexec: Fix bug with call depth tracking - irqchip/gic-v3-its: Fix potential race condition in its_vlpi_prop_update() - mptcp: pm: update add_addr counters after connect - mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID - ACPI: x86: Force StorageD3Enable on more products - drivers: core: synchronize really_probe() and dev_uevent() - iio: imu: inv_icm42600: delete unneeded update watermark call - iio: invensense: fix odr switching to same value - iio: dac: ad5592r: fix temperature channel scaling value - iio: adc: ad9467: fix scan type sign - x86/boot: Don't add the EFI stub to targets, again - ksmbd: fix missing use of get_write in in smb2_set_ea() - bnxt_en: Adjust logging of firmware messages in case of released token in __hwrm_send() - af_unix: Read with MSG_PEEK loops if the first unread byte is OOB - net/ipv6: Fix the RT cache flush via sysctl using a previous delay - nvmet-passthru: propagate status from id override functions - block: fix request.queuelist usage in flush - block: sed-opal: avoid possible wrong address reference in read_sed_opal_key() - net: stmmac: replace priv->speed with the portTransmitRate from the tc-cbs parameters - gve: ignore nonrelevant GSO type bits when processing TSO headers - net: pse-pd: Use EOPNOTSUPP error code instead of ENOTSUPP - scsi: ufs: core: Quiesce request queues before checking pending cmds - x86/uaccess: Fix missed zeroing of ia32 u64 get_user() range checking - x86/asm: Use %c/%n instead of %PATCHoperand - netfilter: nft_inner: validate mandatory meta and payload - Bluetooth: L2CAP: Fix rejecting L2CAP_CONN_PARAM_UPDATE_REQ - net/mlx5e: Fix features validation check for tunneled UDP (non-VXLAN) packets - geneve: Fix incorrect inner network header offset when innerprotoinherit is set - net dsa: qca8k: fix usages of device_get_named_child_node() - tcp: fix race in tcp_v6_syn_recv_sock() - drm/bridge/panel: Fix runtime warning on panel bridge release - net: stmmac: dwmac-qcom-ethqos: Configure host DMA width - net: sfp: Always call `sfp_sm_mod_remove()` on remove - modpost: do not warn about missing MODULE_DESCRIPTION() for vmlinux.o - af_unix: Annotate data-race of sk->sk_state in unix_accept(). - drm/vmwgfx: Don't memcmp equivalent pointers - drm/vmwgfx: Remove STDU logic from generic mode_valid function - drm/vmwgfx: 3D disabled should not effect STDU memory limits - drm/vmwgfx: Filter modes which exceed graphics memory - drm/vmwgfx: Refactor drm connector probing for display modes - io_uring/io-wq: avoid garbage value of 'match' in io_wq_enqueue() - iommu: Return right value in iommu_sva_bind_device() - iommu/amd: Fix sysfs leak in iommu init - HID: core: remove unnecessary WARN_ON() in implement() - gpio: tqmx86: fix broken IRQ_TYPE_EDGE_BOTH interrupt type - gpio: tqmx86: store IRQ trigger type and unmask status separately - gpio: tqmx86: introduce shadow register for GPIO output value - gpio: tqmx86: fix typo in Kconfig label - platform/x86: dell-smbios: Fix wrong token data in sysfs - drm/panel: sitronix-st7789v: Add check for of_drm_get_panel_orientation - nvme: fix nvme_pr_* status code parsing - selftests/tracing: Fix event filter test to retry up to 10 times - NFS: add barriers when testing for NFS_FSDATA_BLOCKED - SUNRPC: return proper error from gss_wrap_req_priv - NFSv4.1 enforce rootpath check in fs_location query - clk: sifive: Do not register clkdevs for PRCI clocks - selftests/ftrace: Fix to check required event file - cxl/test: Add missing vmalloc.h for tools/testing/cxl/test/mem.c - HID: nvidia-shield: Add missing check for input_ff_create_memless - powerpc/uaccess: Fix build errors seen with GCC 13/14 - gve: Clear napi->skb before dev_kfree_skb_any() - scsi: sd: Use READ(16) when reading block zero on large capacity disks - scsi: mpt3sas: Avoid test/set_bit() operating in non-allocated memory - scsi: mpi3mr: Fix ATA NCQ priority support - scsi: core: Disable CDL by default - thunderbolt: debugfs: Fix margin debugfs node creation condition - xhci: Apply broken streams quirk to Etron EJ188 xHCI host - xhci: Handle TD clearing for multiple streams case - xhci: Apply reset resume quirk to Etron EJ188 xHCI host - xhci: Set correct transferred length for cancelled bulk transfers - jfs: xattr: fix buffer overflow for invalid xattr - landlock: Fix d_parent walk - serial: port: Don't block system suspend even if bytes are left to xmit - tty: n_tty: Fix buffer offsets when lookahead is used - mei: me: release irq in mei_me_pci_resume error path - usb: typec: tcpm: Ignore received Hard Reset in TOGGLING state - usb: typec: tcpm: fix use-after-free case in tcpm_register_source_caps - USB: xen-hcd: Traverse host/ when CONFIG_USB_XEN_HCD is selected - USB: class: cdc-wdm: Fix CPU lockup caused by excessive log messages - bpf: fix multi-uprobe PID filtering logic - eventfs: Update all the eventfs_inodes from the events descriptor - irqchip/riscv-intc: Prevent memory leak when riscv_intc_init_common() fails - irqchip/riscv-intc: Introduce Andes hart-level interrupt controller - irqchip/riscv-intc: Allow large non-standard interrupt number - selftests/mm: compaction_test: fix bogus test success on Aarch64 - selftests/mm: log a consistent test name for check_compaction - selftests/mm: conform test to TAP format output - memory-failure: use a folio in me_huge_page() - firmware: qcom_scm: disable clocks if qcom_scm_bw_enable() fails - ksmbd: use rwsem instead of rwlock for lease break - net: ethtool: fix the error condition in ethtool_get_phy_stats_ethtool() - af_unix: Annotate data-race of sk->sk_shutdown in sk_diag_fill(). - af_unix: Use skb_queue_len_lockless() in sk_diag_show_rqlen(). - af_unix: Use skb_queue_empty_lockless() in unix_release_sock(). - af_unix: Use unix_recvq_full_lockless() in unix_stream_connect(). - af_unix: Annotate data-race of net->unx.sysctl_max_dgram_qlen. - af_unix: Annotate data-races around sk->sk_sndbuf. - af_unix: Annotate data-races around sk->sk_state in UNIX_DIAG. - af_unix: Annotate data-race of sk->sk_state in unix_stream_read_skb(). - af_unix: Annotate data-races around sk->sk_state in sendmsg() and recvmsg(). - af_unix: Annotate data-race of sk->sk_state in unix_stream_connect(). - af_unix: Annotate data-races around sk->sk_state in unix_write_space() and poll(). - af_unix: Annotate data-race of sk->sk_state in unix_inq_len(). - af_unix: Annodate data-races around sk->sk_state for writers. - af_unix: Set sk->sk_state under unix_state_lock() for truly disconencted peer. - net: wwan: iosm: Fix tainted pointer delete is case of region creation fail - ice: add flag to distinguish reset from .ndo_bpf in XDP rings config - ice: remove af_xdp_zc_qps bitmap - ice: fix iteration of TLVs in Preserved Fields Area - ptp: Fix error message on failed pin verification - net/mlx5: Fix tainted pointer delete is case of flow rules creation fail - net/mlx5: Stop waiting for PCI if pci channel is offline - mptcp: count CLOSE-WAIT sockets for MPTCP_MIB_CURRESTAB - tcp: count CLOSE-WAIT sockets for TCP_MIB_CURRESTAB - vxlan: Fix regression when dropping packets due to invalid src addresses - net: phy: Micrel KSZ8061: fix errata solution not taking effect problem - net/smc: avoid overwriting when adjusting sock bufsizes - octeontx2-af: Always allocate PF entries from low prioriy zone - net: tls: fix marking packets as decrypted - ipv6: sr: block BH in seg6_output_core() and seg6_input_core() - ipv6: ioam: block BH from ioam6_output() - bpf: Store ref_ctr_offsets values in bpf_uprobe array - net: phy: micrel: fix KSZ9477 PHY issues after suspend/resume - net/ncsi: Fix the multi thread manner of NCSI driver - net/ncsi: Simplify Kconfig/dts control flow - ax25: Replace kfree() in ax25_dev_free() with ax25_dev_put() - ax25: Fix refcount imbalance on inbound connections - RISC-V: KVM: Fix incorrect reg_subtype labels in kvm_riscv_vcpu_set_reg_isa_ext function - RISC-V: KVM: No need to use mask when hart-index-bit is 0 - scsi: ufs: mcq: Fix error output and clean up ufshcd_mcq_abort() - wifi: mac80211: correctly parse Spatial Reuse Parameter Set element - wifi: iwlwifi: dbg_ini: move iwl_dbg_tlv_free outside of debugfs ifdef - wifi: iwlwifi: mvm: set properly mac header - wifi: iwlwifi: mvm: revert gen2 TX A-MPDU size to 64 - wifi: iwlwifi: mvm: don't initialize csa_work twice - wifi: cfg80211: pmsr: use correct nla_get_uX functions - wifi: cfg80211: Lock wiphy in cfg80211_get_station - wifi: cfg80211: fully move wiphy work to unbound workqueue - !10369 Backport 6.6.33-34 LTS patches from upstream - openeuler_defconfig: add new config - selftests: net: more strict check in net_helper - powerpc/bpf: enforce full ordering for ATOMIC operations with BPF_FETCH - ALSA: seq: Fix incorrect UMP type for system messages - btrfs: fix leak of qgroup extent records after transaction abort - tracefs: Clear EVENT_INODE flag in tracefs_drop_inode() - eventfs: Keep the directories from having the same inode number as files - NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS - nfs: fix undefined behavior in nfs_block_bits() - EDAC/igen6: Convert PCIBIOS_* return codes to errnos - ALSA: ump: Don't accept an invalid UMP protocol number - ALSA: ump: Don't clear bank selection after sending a program change - i3c: master: svc: fix invalidate IBI type and miss call client IBI handler - s390/cpacf: Make use of invalid opcode produce a link error - s390/cpacf: Split and rework cpacf query functions - parisc: Define sigset_t in parisc uapi header - parisc: Define HAVE_ARCH_HUGETLB_UNMAPPED_AREA - ARM: dts: samsung: exynos4412-origen: fix keypad no-autorepeat - ARM: dts: samsung: smdk4412: fix keypad no-autorepeat - ARM: dts: samsung: smdkv310: fix keypad no-autorepeat - riscv: dts: starfive: Remove PMIC interrupt info for Visionfive 2 board - drm/amdkfd: handle duplicate BOs in reserve_bo_and_cond_vms - sparc: move struct termio to asm/termios.h - kdb: Use format-specifiers rather than memset() for padding in kdb_read() - kdb: Merge identical case statements in kdb_read() - kdb: Fix console handling when editing and tab-completing commands - kdb: Use format-strings rather than '0' injection in kdb_read() - wifi: ath10k: fix QCOM_RPROC_COMMON dependency - watchdog: rti_wdt: Set min_hw_heartbeat_ms to accommodate a safety margin - selftests/mm: fix build warnings on ppc64 - selftests/mm: compaction_test: fix incorrect write of zero to nr_hugepages - mm/vmalloc: fix vmalloc which may return null if called with __GFP_NOFAIL - mm: /proc/pid/smaps_rollup: avoid skipping vma after getting mmap_lock again - mm/hugetlb: pass correct order_per_bit to cma_declare_contiguous_nid - mm/cma: drop incorrect alignment check in cma_init_reserved_mem - sparc64: Fix number of online CPUs - rtla/timerlat: Fix histogram report when a cpu count is 0 - intel_th: pci: Add Meteor Lake-S CPU support - tpm_tis: Do *not* flush uninitialized work - kmsan: do not wipe out origin when doing partial unpoisoning - mm/ksm: fix ksm_pages_scanned accounting - net/ipv6: Fix route deleting failure when metric equals 0 - scsi: core: Handle devices which return an unusually large VPD page count - HID: i2c-hid: elan: fix reset suspend current leakage - filemap: add helper mapping_max_folio_size() - kbuild: Remove support for Clang's ThinLTO caching - crypto: ecrdsa - Fix module auto-load on add_key - crypto: ecdsa - Fix module auto-load on add-key - clk: qcom: clk-alpha-pll: fix rate setting for Stromer PLLs - LoongArch: Override higher address bits in JUMP_VIRT_ADDR - LoongArch: Add all CPUs enabled by fdt to NUMA node 0 - KVM: arm64: AArch32: Fix spurious trapping of conditional instructions - KVM: arm64: Allow AArch32 PSTATE.M to be restored as System mode - KVM: arm64: Fix AArch32 register narrowing on userspace write - Revert "drm/amdkfd: fix gfx_target_version for certain 11.0.3 devices" - drm/amd: Fix shutdown (again) on some SMU v13.0.4/11 platforms - drm/amdgpu/atomfirmware: add intergrated info v2.3 table - drm/fbdev-generic: Do not set physical framebuffer address - mmc: sdhci-acpi: Add quirk to enable pull-up on the card-detect GPIO on Asus T100TA - mmc: sdhci-acpi: Disable write protect detection on Toshiba WT10-A - mmc: sdhci-acpi: Fix Lenovo Yoga Tablet 2 Pro 1380 sdcard slot not working - mmc: sdhci-acpi: Sort DMI quirks alphabetically - mmc: sdhci: Add support for "Tuning Error" interrupts - mmc: core: Add mmc_gpiod_set_cd_config() function - media: v4l: async: Don't set notifier's V4L2 device if registering fails - media: v4l2-core: hold videodev_lock until dev reg, finishes - media: mxl5xx: Move xpt structures off stack - media: mc: mark the media devnode as registered from the, start - arm64: dts: ti: verdin-am62: Set memory size to 2gb - arm64: dts: hi3798cv200: fix the size of GICR - arm64: dts: qcom: sc8280xp: add missing PCIe minimum OPP - wifi: rtlwifi: rtl8192de: Fix endianness issue in RX path - wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE - wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power - wifi: rtl8xxxu: Fix the TX power of RTL8192CU, RTL8723AU - wifi: rtw89: pci: correct TX resource checking for PCI DMA channel of firmware command - md/raid5: fix deadlock that raid5d() wait for itself to clear MD_SB_CHANGE_PENDING - arm64: dts: qcom: qcs404: fix bluetooth device address - arm64: tegra: Correct Tegra132 I2C alias - ACPI: resource: Do IRQ override on TongFang GXxHRXx and GMxHGxx - soc: qcom: rpmh-rsc: Enhance check for VRM in-flight request - proc: Move fdinfo PTRACE_MODE_READ check into the inode .permission operation - fsverity: use register_sysctl_init() to avoid kmemleak warning - ata: pata_legacy: make legacy_exit() work again - wifi: rtw89: correct aSIFSTime for 6GHz band - bcache: fix variable length array abuse in btree_iter - f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode() - drm/sun4i: hdmi: Move mode_set into enable - drm/sun4i: hdmi: Convert encoder to atomic - selftests: net: List helper scripts in TEST_FILES Makefile variable - selftests: net: included needed helper in the install targets - selftests/net: synchronize udpgro tests' tx and rx connection - vxlan: Fix regression when dropping packets due to invalid src addresses - erofs: avoid allocating DEFLATE streams before mounting - mptcp: fix full TCP keep-alive support - mptcp: cleanup SOL_TCP handling - mptcp: avoid some duplicate code in socket option handling - net: sfp-bus: fix SFP mode detect from bitrate - afs: Don't cross .backup mountpoint from backup volume - mmc: core: Do not force a retune before RPMB switch - riscv: stacktrace: fixed walk_stackframe() - riscv: prevent pt_regs corruption for secondary idle threads - SUNRPC: Fix loop termination condition in gss_free_in_token_pages() - f2fs: use f2fs_{err,info}_ratelimited() for cleanup - f2fs: write missing last sum blk of file pinning section - perf sched timehist: Fix -g/--call-graph option failure - media: vsp1: Remove unbalanced .s_stream(0) calls - nouveau: report byte usage in VRAM usage. - RDMA/bnxt_re: Fix the sparse warnings - perf evlist: Add perf_evlist__go_system_wide() helper - platform/x86/intel-uncore-freq: Don't present root domain on error - platform/x86/intel/tpmi: Handle error from tpmi_process_info() - KVM: x86: Don't advertise guest.MAXPHYADDR as host.MAXPHYADDR in CPUID - x86/pci: Skip early E820 check for ECAM region - x86/efistub: Omit physical KASLR when memory reservations exist - ALSA: seq: ump: Fix swapped song position pointer data - hwmon: (shtc1) Fix property misspelling - hwmon: (intel-m10-bmc-hwmon) Fix multiplier for N6000 board power sensor - drm/panel: sitronix-st7789v: fix display size for jt240mhqs_hwt_ek_e3 panel - drm/panel: sitronix-st7789v: tweak timing for jt240mhqs_hwt_ek_e3 panel - drm/panel: sitronix-st7789v: fix timing for jt240mhqs_hwt_ek_e3 panel - powerpc/pseries/lparcfg: drop error message from guest name lookup - ALSA: seq: Fix yet another spot for system message conversion - ipvlan: Dont Use skb->sk in ipvlan_process_v{4,6}_outbound - net: ena: Fix redundant device NUMA node override - net: ena: Reduce lines with longer column width boundary - net: dsa: microchip: fix RGMII error in KSZ DSA driver - spi: stm32: Don't warn about spurious interrupts - kheaders: use `command -v` to test for existence of `cpio` - drm/i915/gt: Fix CCS id's calculation for CCS mode setting - drm/i915/guc: avoid FIELD_PREP warning - kconfig: fix comparison to constant symbols, 'm', 'n' - net/sched: taprio: extend minimum interval restriction to entire cycle too - net/sched: taprio: make q->picos_per_byte available to fill_sched_entry() - netfilter: nft_fib: allow from forward/input without iif selector - netfilter: tproxy: bail out if IP has been disabled on the device - netfilter: nft_payload: skbuff vlan metadata mangle support - net: ti: icssg-prueth: Fix start counter for ft1 filter - ALSA: seq: Don't clear bank selection at event -> UMP MIDI2 conversion - ALSA: seq: Fix missing bank setup between MIDI1/MIDI2 UMP conversion - selftests: mptcp: join: mark 'fail' tests as flaky - selftests: mptcp: add ms units for tc-netem delay - selftests: mptcp: simult flows: mark 'unbalanced' tests as flaky - ice: fix accounting if a VLAN already exists - net: micrel: Fix lan8841_config_intr after getting out of sleep mode - net:fec: Add fec_enet_deinit() - ASoC: cs42l43: Only restrict 44.1kHz for the ASP - net: usb: smsc95xx: fix changing LED_SEL bit value updated from EEPROM - Octeontx2-pf: Free send queue buffers incase of leaf to inner - af_unix: Read sk->sk_hash under bindlock during bind(). - af_unix: Annotate data-race around unix_sk(sk)->addr. - enic: Validate length of nl attributes in enic_set_vf_port - ALSA: hda/realtek: Adjust G814JZR to use SPI init for amp - ALSA: core: Remove debugfs at disconnection - ALSA: jack: Use guard() for locking - bpf: Fix potential integer overflow in resolve_btfids - net/mlx5e: Fix UDP GSO for encapsulated packets - net/mlx5e: Use rx_missed_errors instead of rx_dropped for reporting buffer exhaustion - net/mlx5e: Fix IPsec tunnel mode offload feature check - net/mlx5: Use mlx5_ipsec_rx_status_destroy to correctly delete status rules - net/mlx5: Fix MTMP register capability offset in MCAM register - net/mlx5: Lag, do bond only if slaves agree on roce state - net: phy: micrel: set soft_reset callback to genphy_soft_reset for KSZ8061 - drm/amd/display: Enable colorspace property for MST connectors - nvmet: fix ns enable/disable possible hang - nvme-multipath: fix io accounting on failover - nvme-tcp: add definitions for TLS cipher suites - dma-mapping: benchmark: handle NUMA_NO_NODE correctly - dma-mapping: benchmark: fix node id validation - dma-mapping: benchmark: fix up kthread-related error handling - kthread: add kthread_stop_put - netfilter: nft_payload: restore vlan q-in-q match support - netfilter: nfnetlink_queue: acquire rcu_read_lock() in instance_destroy_rcu() - kasan, fortify: properly rename memintrinsics - ice: Interpret .set_channels() input differently - drivers/xen: Improve the late XenStore init protocol - nfc: nci: Fix handling of zero-length payload packets in nci_rx_work() - net: relax socket state check at accept time. - net: fec: avoid lock evasion when reading pps_enable - Revert "ixgbe: Manual AN-37 for troublesome link partners for X550 SFI" - i3c: master: svc: change ENXIO to EAGAIN when IBI occurs during start frame - i3c: master: svc: return actual transfer data len - i3c: master: svc: rename read_len as actual_len - i3c: add actual_len in i3c_priv_xfer - net: lan966x: Remove ptp traps in case the ptp is not enabled. - rv: Update rv_en(dis)able_monitor doc to match kernel-doc - openvswitch: Set the skbuff pkt_type for proper pmtud support. - pNFS/filelayout: fixup pNfs allocation modes - regulator: tps6594-regulator: Correct multi-phase configuration - af_unix: Update unix_sk(sk)->oob_skb under sk_receive_queue lock. - regulator: tps6287x: Force writing VSEL bit - regulator: pickable ranges: don't always cache vsel - rpcrdma: fix handling for RDMA_CM_EVENT_DEVICE_REMOVAL - sunrpc: fix NFSACL RPC retry on soft mount - nfs: keep server info for remounts - NFSv4: Fixup smatch warning for ambiguous return - ASoC: tas2552: Add TX path for capturing AUDIO-OUT data - nfc: nci: Fix uninit-value in nci_rx_work - selftests: net: kill smcrouted in the cleanup logic in amt.sh - ipv6: sr: fix missing sk_buff release in seg6_input_core - net: Always descend into dsa/ folder with CONFIG_NET_DSA enabled - x86/kconfig: Select ARCH_WANT_FRAME_POINTERS again when UNWINDER_FRAME_POINTER=y - perf/arm-dmc620: Fix lockdep assert in ->event_init() - xen/x86: add extra pages to unpopulated-alloc if available - regulator: bd71828: Don't overwrite runtime voltages - blk-cgroup: Properly propagate the iostat update up the hierarchy - blk-cgroup: fix list corruption from resetting io stat - drm/nouveau: use tile_mode and pte_kind for VM_BIND bo allocations - nouveau: add an ioctl to report vram usage - nouveau: add an ioctl to return vram bar size. - ASoC: mediatek: mt8192: fix register configuration for tdm - ALSA: hda: cs35l56: Fix lifetime of cs_dsp instance - ALSA: hda: cs35l56: Initialize all ASP1 registers - ASoC: cs35l56: Fix to ensure ASP1 registers match cache - null_blk: Fix the WARNING: modpost: missing MODULE_DESCRIPTION() - ASoC: tas2781: Fix a warning reported by robot kernel test - selftests/powerpc/dexcr: Add -no-pie to hashchk tests - Revert "drm/bridge: ti-sn65dsi83: Fix enable error path" - media: cec: core: avoid confusing "transmit timed out" message - media: cec: core: avoid recursive cec_claim_log_addrs - media: cec: cec-api: add locking in cec_release() - media: cec: cec-adap: always cancel work in cec_transmit_msg_fh - media: sunxi: a83-mips-csi2: also select GENERIC_PHY - cxl/region: Fix cxlr_pmem leaks - cxl/trace: Correct DPA field masks for general_media & dram events - um: Fix the declaration of kasan_map_memory - um: Fix the -Wmissing-prototypes warning for get_thread_reg - um: Fix the -Wmissing-prototypes warning for __switch_mm - powerpc/pseries: Add failure related checks for h_get_mpp and h_get_ppp - media: flexcop-usb: fix sanity check of bNumEndpoints - platform/x86: thinkpad_acpi: Take hotkey_mutex during hotkey_exit() - tools/arch/x86/intel_sdsi: Fix meter_certificate decoding - tools/arch/x86/intel_sdsi: Fix meter_show display - tools/arch/x86/intel_sdsi: Fix maximum meter bundle length - media: mediatek: vcodec: fix possible unbalanced PM counter - media: mediatek: vcodec: add encoder power management helper functions - drm/amdgpu: Fix buffer size in gfx_v9_4_3_init_ cp_compute_microcode() and rlc_microcode() - drm/amdgpu: init microcode chip name from ip versions - Input: cyapa - add missing input core locking to suspend/resume functions - drm/bridge: tc358775: fix support for jeida-18 and jeida-24 - um: vector: fix bpfflash parameter evaluation - um: Add winch to winch_handlers before registering winch IRQ - um: Fix return value in ubd_init() - drm/meson: gate px_clk when setting rate - drm/mediatek: dp: Fix mtk_dp_aux_transfer return value - drm/msm/dpu: Always flush the slave INTF on the CTL - drm/msm/dsi: Print dual-DSI-adjusted pclk instead of original mode pclk - media: ov2680: Do not fail if data-lanes property is absent - media: ov2680: Allow probing if link-frequencies is absent - media: ov2680: Clear the 'ret' variable on success - media: v4l: Don't turn on privacy LED if streamon fails - media: v4l2-subdev: Document and enforce .s_stream() requirements - Input: pm8xxx-vibrator - correct VIB_MAX_LEVELS calculation - mmc: sdhci_am654: Fix ITAPDLY for HS400 timing - mmc: sdhci_am654: Add ITAPDLYSEL in sdhci_j721e_4bit_set_clock - mmc: sdhci_am654: Add OTAP/ITAP delay enable - mmc: sdhci_am654: Drop lookup for deprecated ti,otap-del-sel - mmc: sdhci_am654: Write ITAPDLY for DDR52 timing - mmc: sdhci_am654: Add tuning algorithm for delay chain - Input: ims-pcu - fix printf string overflow - dt-bindings: adc: axi-adc: add clocks property - dt-bindings: adc: axi-adc: update bindings for backend framework - eventfs: Have "events" directory get permissions from its parent - eventfs: Free all of the eventfs_inode after RCU - eventfs/tracing: Add callback for release of an eventfs_inode - eventfs: Create eventfs_root_inode to store dentry - serial: sc16is7xx: fix bug in sc16is7xx_set_baud() when using prescaler - serial: sc16is7xx: replace hardcoded divisor value with BIT() macro - misc/pvpanic-pci: register attributes via pci_driver - misc/pvpanic: deduplicate common code - iio: accel: mxc4005: Reset chip on probe() and resume() - iio: accel: mxc4005: allow module autoloading via OF compatible - eventfs: Do not differentiate the toplevel events directory - drm/amd/display: Revert Remove pixle rate limit for subvp - drm/amd/display: Remove pixle rate limit for subvp - dt-bindings: PCI: rockchip,rk3399-pcie: Add missing maxItems to ep-gpios - s390/boot: Remove alt_stfle_fac_list from decompressor - s390/ipl: Fix incorrect initialization of nvme dump block - s390/ipl: Fix incorrect initialization of len fields in nvme reipl block - s390/vdso: Use standard stack frame layout - s390/vdso: Generate unwind information for C modules - s390/vdso64: filter out munaligned-symbols flag for vdso - LoongArch: Fix callchain parse error with kernel tracepoint events again - perf tools: Add/use PMU reverse lookup from config to name - perf tools: Use pmus to describe type from attribute - perf pmu: "Compat" supports regular expression matching identifiers - perf pmu: Move pmu__find_core_pmu() to pmus.c - perf test: Add a test for strcmp_cpuid_str() expression - perf stat: Don't display metric header for non-leader uncore events - usb: fotg210: Add missing kernel doc description - f2fs: fix to add missing iput() in gc_data_segment() - perf daemon: Fix file leak in daemon_session__control - libsubcmd: Fix parse-options memory leak - serial: sh-sci: protect invalidating RXDMA on shutdown - f2fs: fix to release node block count in error path of f2fs_new_node_page() - f2fs: compress: fix to cover {reserve,release}_compress_blocks() w/ cp_rwsem lock - f2fs: compress: fix error path of inc_valid_block_count() - f2fs: introduce get_available_block_count() for cleanup - f2fs: deprecate io_bits - f2fs: compress: fix to update i_compr_blocks correctly - perf symbols: Fix ownership of string in dso__load_vmlinux() - perf maps: Move symbol maps functions to maps.c - perf thread: Fixes to thread__new() related to initializing comm - perf report: Avoid SEGV in report__setup_sample_type() - perf ui browser: Avoid SEGV on title - f2fs: fix block migration when section is not aligned to pow2 - f2fs: support file pinning for zoned devices - f2fs: kill heap-based allocation - f2fs: separate f2fs_gc_range() to use GC for a range - f2fs: use BLKS_PER_SEG, BLKS_PER_SEC, and SEGS_PER_SEC - f2fs: support printk_ratelimited() in f2fs_printk() - f2fs: Clean up errors in segment.h - PCI/EDR: Align EDR_PORT_LOCATE_DSM with PCI Firmware r3.3 - PCI/EDR: Align EDR_PORT_DPC_ENABLE_DSM with PCI Firmware r3.3 - dt-bindings: spmi: hisilicon,hisi-spmi-controller: fix binding references - extcon: max8997: select IRQ_DOMAIN instead of depending on it - perf ui browser: Don't save pointer to stack memory - perf bench internals inject-build-id: Fix trap divide when collecting just one DSO - i2c: synquacer: Fix an error handling path in synquacer_i2c_probe() - i2c: cadence: Avoid fifo clear after start - ppdev: Add an error check in register_device - ppdev: Remove usage of the deprecated ida_simple_xx() API - stm class: Fix a double free in stm_register_device() - usb: gadget: u_audio: Clear uac pointer when freed. - dt-bindings: phy: qcom,usb-snps-femto-v2: use correct fallback for sc8180x - dt-bindings: phy: qcom,sc8280xp-qmp-ufs-phy: fix msm899[68] power-domains - watchdog: sa1100: Fix PTR_ERR_OR_ZERO() vs NULL check in sa1100dog_probe() - watchdog: bd9576: Drop "always-running" property - pinctrl: qcom: pinctrl-sm7150: Fix sdc1 and ufs special pins regs - dt-bindings: pinctrl: mediatek: mt7622: fix array properties - VMCI: Fix an error handling path in vmci_guest_probe_device() - ovl: remove upper umask handling from ovl_create_upper() - leds: pwm: Disable PWM when going to suspend - pwm: Rename pwm_apply_state() to pwm_apply_might_sleep() - perf intel-pt: Fix unassigned instruction op (discovered by MemorySanitizer) - PCI: Wait for Link Training==0 before starting Link retrain - microblaze: Remove early printk call from cpuinfo-static.c - microblaze: Remove gcc flag for non existing early_printk.c file - udf: Convert udf_expand_file_adinicb() to use a folio - udf: Remove GFP_NOFS allocation in udf_expand_file_adinicb() - i915: make inject_virtual_interrupt() void - coresight: etm4x: Fix access to resource selector registers - coresight: etm4x: Safe access for TRCQCLTR - coresight: etm4x: Do not save/restore Data trace control registers - coresight: etm4x: Do not hardcode IOMEM access for register restore - iio: adc: adi-axi-adc: only error out in major version mismatch - iio: adc: adi-axi-adc: move to backend framework - iio: adc: ad9467: convert to backend framework - iio: add the IIO backend framework - iio: buffer-dmaengine: export buffer alloc and free functions - iio: adc: adi-axi-adc: convert to regmap - iio: adc: ad9467: use chip_info variables instead of array - iio: adc: ad9467: use spi_get_device_match_data() - iio: pressure: dps310: support negative temperature values - perf test shell arm_coresight: Increase buffer size for Coresight basic tests - perf docs: Document bpf event modifier - coresight: etm4x: Fix unbalanced pm_runtime_enable() - riscv: dts: starfive: visionfive 2: Remove non-existing TDM hardware - iio: adc: stm32: Fixing err code to not indicate success - f2fs: fix to check pinfile flag in f2fs_move_file_range() - f2fs: fix to relocate check condition in f2fs_fallocate() - f2fs: compress: fix to relocate check condition in f2fs_ioc_{,de}compress_file() - f2fs: compress: fix to relocate check condition in f2fs_{release,reserve}_compress_blocks() - perf bench uprobe: Remove lib64 from libc.so.6 binary path - dt-bindings: PCI: rcar-pci-host: Add missing IOMMU properties - dt-bindings: PCI: rcar-pci-host: Add optional regulators - perf record: Fix debug message placement for test consumption - perf record: Move setting tracking events before record__init_thread_masks() - perf evlist: Add evlist__findnew_tracking_event() helper - perf tests: Apply attributes to all events in object code reading test - perf tests: Make "test data symbol" more robust on Neoverse N1 - arm64: dts: meson: fix S4 power-controller node - interconnect: qcom: qcm2290: Fix mas_snoc_bimc QoS port assignment - module: don't ignore sysfs_create_link() failures - serial: sc16is7xx: add proper sched.h include for sched_set_fifo() - PCI: tegra194: Fix probe path for Endpoint mode - greybus: arche-ctrl: move device table to its right location - serial: max3100: Fix bitwise types - serial: max3100: Update uart_driver_registered on driver removal - perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline() - perf annotate: Use global annotation_options - perf top: Convert to the global annotation_options - perf report: Convert to the global annotation_options - perf annotate: Introduce global annotation_options - perf annotate: Split branch stack cycles information out of 'struct annotation_line' - perf machine thread: Remove exited threads by default - perf record: Lazy load kernel symbols - firmware: dmi-id: add a release callback function - dmaengine: idma64: Add check for dma_set_max_seg_size - soundwire: cadence: fix invalid PDI offset - perf stat: Do not fail on metrics on s390 z/VM systems - usb: typec: ucsi: simplify partner's PD caps registration - usb: typec: ucsi: always register a link to USB PD device - perf annotate: Get rid of duplicate --group option item - counter: linux/counter.h: fix Excess kernel-doc description warning - f2fs: fix to wait on page writeback in __clone_blkaddrs() - phy: qcom: qmp-combo: fix duplicate return in qmp_v4_configure_dp_phy - iio: core: Leave private pointer NULL when no private data supplied - perf probe: Add missing libgen.h header needed for using basename() - perf record: Delete session after stopping sideband thread - sched/fair: Allow disabling sched_balance_newidle with sched_relax_domain_level - af_packet: do not call packet_read_pending() from tpacket_destruct_skb() - net: qrtr: ns: Fix module refcnt - selftests: net: bridge: increase IGMP/MLD exclude timeout membership interval - tracing/user_events: Fix non-spaced field matching - tracing/user_events: Prepare find/delete for same name events - tracing/user_events: Allow events to persist for perfmon_capable users - RDMA/cma: Fix kmemleak in rdma_core observed during blktests nvme/rdma use siw - RDMA/IPoIB: Fix format truncation compilation errors - selftests/kcmp: remove unused open mode - SUNRPC: Fix gss_free_in_token_pages() - bnxt_re: avoid shift undefined behavior in bnxt_qplib_alloc_init_hwq - RDMA/bnxt_re: Adds MSN table capability for Gen P7 adapters - RDMA/bnxt_re: Update the HW interface definitions - RDMA/bnxt_re: Remove roundup_pow_of_two depth for all hardware queue resources - RDMA/bnxt_re: Refactor the queue index update - ext4: remove the redundant folio_wait_stable() - ext4: fix potential unnitialized variable - sunrpc: removed redundant procp check - ext4: avoid excessive credit estimate in ext4_tmpfile() - x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS - x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map - clk: qcom: mmcc-msm8998: fix venus clock issue - clk: qcom: dispcc-sm8550: fix DisplayPort clocks - clk: qcom: dispcc-sm6350: fix DisplayPort clocks - clk: qcom: dispcc-sm8450: fix DisplayPort clocks - lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure - clk: renesas: r9a07g043: Add clock and reset entry for PLIC - clk: renesas: r8a779a0: Fix CANFD parent clock - IB/mlx5: Use __iowrite64_copy() for write combining stores - RDMA/rxe: Fix incorrect rxe_put in error path - RDMA/rxe: Allow good work requests to be executed - clk: qcom: clk-alpha-pll: remove invalid Stromer register offset - clk: rs9: fix wrong default value for clock amplitude - clk: mediatek: mt8365-mm: fix DPI0 parent - clk: mediatek: pllfh: Don't log error for missing fhctl node - RDMA/mlx5: Adding remote atomic access flag to updatable flags - RDMA/mlx5: Uncacheable mkey has neither rb_key or cache_ent - clk: samsung: exynosautov9: fix wrong pll clock id value - media: cadence: csi2rx: configure DPHY before starting source stream - drm/edid: Parse topology block for all DispID structure v1.x - drm/rockchip: vop2: Do not divide height twice for YUV - media: uvcvideo: Add quirk for Logitech Rally Bar - drm/mipi-dsi: use correct return type for the DSC functions - drm/panel: simple: Add missing Innolux G121X1-L03 format, flags, connector - drm/bridge: anx7625: Update audio status while detecting - drm/panel: novatek-nt35950: Don't log an error when DSI host can't be found - drm/bridge: dpc3433: Don't log an error when DSI host can't be found - drm/bridge: tc358775: Don't log an error when DSI host can't be found - drm/bridge: lt9611uxc: Don't log an error when DSI host can't be found - drm/bridge: lt9611: Don't log an error when DSI host can't be found - drm/bridge: lt8912b: Don't log an error when DSI host can't be found - drm/bridge: icn6211: Don't log an error when DSI host can't be found - drm/bridge: anx7625: Don't log an error when DSI host can't be found - ASoC: tracing: Export SND_SOC_DAPM_DIR_OUT to its value - drm: vc4: Fix possible null pointer dereference - media: atomisp: ssh_css: Fix a null-pointer dereference in load_video_binaries - fbdev: sh7760fb: allow modular build - media: v4l2-subdev: Fix stream handling for crop API - media: i2c: et8ek8: Don't strip remove function when driver is builtin - media: dt-bindings: ovti,ov2680: Fix the power supply names - media: ipu3-cio2: Request IRQ earlier - drm/msm/dp: Avoid a long timeout for AUX transfer if nothing connected - drm/msm/dp: allow voltage swing / pre emphasis of 3 - media: radio-shark2: Avoid led_names truncations - media: rcar-vin: work around -Wenum-compare-conditional warning - media: ngene: Add dvb_ca_en50221_init return value check - ASoC: Intel: avs: Test result of avs_get_module_entry() - ASoC: Intel: avs: Fix potential integer overflow - ASoC: Intel: avs: Fix ASRC module initialization - selftests: cgroup: skip test_cgcore_lesser_ns_open when cgroup2 mounted without nsdelegate - fbdev: sisfb: hide unused variables - ASoC: SOF: Intel: mtl: Implement firmware boot state check - ASoC: SOF: Intel: mtl: Disable interrupts when firmware boot failed - ASoC: SOF: Intel: mtl: call dsp dump when boot retry fails - ASoC: SOF: Intel: lnl: Correct rom_status_reg - ASoC: SOF: Intel: mtl: Correct rom_status_reg - ASoC: SOF: Intel: pci-mtl: fix ARL-S definitions - ASoC: SOF: Intel: pci-mtl: use ARL specific firmware definitions - ASoC: Intel: common: add ACPI matching tables for Arrow Lake - powerpc/fsl-soc: hide unused const variable - drm/meson: vclk: fix calculation of 59.94 fractional rates - ASoC: kirkwood: Fix potential NULL dereference - fbdev: shmobile: fix snprintf truncation - mtd: rawnand: hynix: fixed typo - mtd: core: Report error if first mtd_otp_size() call fails in mtd_otp_nvmem_add() - ASoC: Intel: avs: ssm4567: Do not ignore route checks - ASoC: Intel: Disable route checks for Skylake boards - drm/amd/display: Fix potential index out of bounds in color transformation function - drm/panel: atna33xc20: Fix unbalanced regulator in the case HPD doesn't assert - drm/dp: Don't attempt AUX transfers when eDP panels are not powered - drm/lcdif: Do not disable clocks on already suspended hardware - dev_printk: Add and use dev_no_printk() - printk: Let no_printk() use _printk() - drm/omapdrm: Fix console with deferred ops - fbdev: Provide I/O-memory helpers as module - drm/omapdrm: Fix console by implementing fb_dirty - drm/ci: update device type for volteer devices - drm/ci: add subset-1-gfx to LAVA_TAGS and adjust shards - drm/ci: uprev mesa version: fix container build & crosvm - drm/bridge: Fix improper bridge init order with pre_enable_prev_first - Bluetooth: qca: Fix error code in qca_read_fw_build_info() - Bluetooth: compute LE flow credits based on recvbuf space - net: micrel: Fix receiving the timestamp in the frame for lan8841 - mptcp: SO_KEEPALIVE: fix getsockopt support - riscv, bpf: make some atomic operations fully ordered - s390/bpf: Emit a barrier for BPF_FETCH instructions - net/mlx5: Reload only IB representors upon lag disable/enable - net/mlx5: Enable 4 ports multiport E-switch - ipv6: sr: fix invalid unregister error path - ipv6: sr: fix incorrect unregister order - ipv6: sr: add missing seg6_local_exit - net: usb: smsc95xx: stop lying about skb->truesize - net: ethernet: cortina: Locking fixes - selftests: net: move amt to socat for better compatibility - selftests: net: add missing config for amt.sh - selftests: net: add more missing kernel config - net: ipv6: fix wrong start position when receive hop-by-hop fragment - m68k: mac: Fix reboot hang on Mac IIci - m68k: Fix spinlock race in kernel thread creation - net: usb: sr9700: stop lying about skb->truesize - usb: aqc111: stop lying about skb->truesize - HID: amd_sfh: Handle "no sensors" in PM operations - wifi: mwl8k: initialize cmd->addr[] properly - scsi: qla2xxx: Fix debugfs output for fw_resource_count - scsi: bfa: Ensure the copied buf is NUL terminated - HID: intel-ish-hid: ipc: Add check for pci_alloc_irq_vectors - selftests/bpf: Fix pointer arithmetic in test_xdp_do_redirect - kunit: Fix kthread reference - selftests: default to host arch for LLVM builds - selftests/resctrl: fix clang build failure: use LOCAL_HDRS - selftests/binderfs: use the Makefile's rules, not Make's implicit rules - libbpf: Fix error message in attach_kprobe_multi - wifi: mt76: mt7603: add wpdma tx eof flag for PSE client reset - wifi: mt76: mt7603: fix tx queue of loopback packets - Revert "sh: Handle calling csum_partial with misaligned data" - sh: kprobes: Merge arch_copy_kprobe() into arch_prepare_kprobe() - wifi: ar5523: enable proper endpoint verification - net: give more chances to rcu in netdev_wait_allrefs_any() - pwm: sti: Simplify probe function using devm functions - pwm: sti: Prepare removing pwm_chip from driver data - tcp: avoid premature drops in tcp_add_backlog() - net: dsa: mv88e6xxx: Avoid EEPROM timeout without EEPROM on 88E6250-family switches - net: dsa: mv88e6xxx: Add support for model-specific pre- and post-reset handlers - wifi: ath10k: populate board data for WCN3990 - cpufreq: brcmstb-avs-cpufreq: ISO C90 forbids mixed declarations - scsi: ufs: core: mcq: Fix ufshcd_mcq_sqe_search() - selftests/bpf: Fix a fd leak in error paths in open_netns - gfs2: do_xmote fixes - gfs2: finish_xmote cleanup - gfs2: Rename gfs2_withdrawn to gfs2_withdrawing_or_withdrawn - gfs2: Mark withdraws as unlikely - gfs2: Rename gfs2_lookup_{ simple => meta } - gfs2: Convert gfs2_internal_read to folios - gfs2: Get rid of gfs2_alloc_blocks generation parameter - wifi: ath10k: Fix an error code problem in ath10k_dbg_sta_write_peer_debug_trigger() - dt-bindings: thermal: loongson,ls2k-thermal: Fix incorrect compatible definition - dt-bindings: thermal: loongson,ls2k-thermal: Add Loongson-2K0500 compatible - dt-bindings: thermal: loongson,ls2k-thermal: Fix binding check issues - thermal/drivers/tsens: Fix null pointer dereference - x86/purgatory: Switch to the position-independent small code model - scsi: hpsa: Fix allocation size for Scsi_Host private data - scsi: libsas: Fix the failure of adding phy with zero-address to port - udp: Avoid call to compute_score on multiple sites - x86/pat: Fix W^X violation false-positives when running as Xen PV guest - x86/pat: Restructure _lookup_address_cpa() - x86/pat: Introduce lookup_address_in_pgd_attr() - cpufreq: exit() callback is optional - tcp: increase the default TCP scaling ratio - selftests/bpf: Fix umount cgroup2 error in test_sockmap - x86/boot/64: Clear most of CR4 in startup_64(), except PAE, MCE and LA57 - gfs2: Fix "ignore unlock failures after withdraw" - gfs2: Don't forget to complete delayed withdraw - ACPI: disable -Wstringop-truncation - irqchip/loongson-pch-msi: Fix off-by-one on allocation error path - irqchip/alpine-msi: Fix off-by-one in allocation error path - locking/atomic/x86: Correct the definition of __arch_try_cmpxchg128() - ACPI: LPSS: Advertise number of chip selects via property - scsi: ufs: core: Perform read back after disabling UIC_COMMAND_COMPL - scsi: ufs: core: Perform read back after disabling interrupts - scsi: ufs: core: Perform read back after writing UTP_TASK_REQ_LIST_BASE_H - scsi: ufs: cdns-pltfrm: Perform read back after writing HCLKDIV - scsi: ufs: qcom: Perform read back after writing CGC enable - scsi: ufs: qcom: Perform read back after writing unipro mode - scsi: ufs: qcom: Perform read back after writing REG_UFS_SYS1CLK_1US - scsi: ufs: qcom: Perform read back after writing reset bit - bpf: prevent r10 register from being marked as precise - bpf: Pack struct bpf_fib_lookup - bpftool: Mount bpffs on provided dir instead of parent dir - wifi: carl9170: re-fix fortified-memset warning - dlm: fix user space lock decision to copy lvb - bitops: add missing prototype check - mlx5: stop warning for 64KB pages - mlx5: avoid truncating error message - qed: avoid truncating work queue length - enetc: avoid truncating error message - ACPI: Fix Generic Initiator Affinity _OSC bit - sched/fair: Add EAS checks before updating root_domain::overutilized - wifi: iwlwifi: mvm: fix check in iwl_mvm_sta_fw_id_mask - wifi: iwlwifi: reconfigure TLC during HW restart - wifi: iwlwifi: mvm: select STA mask only for active links - wifi: iwlwifi: mvm: allocate STA links only for active links - wifi: ieee80211: fix ieee80211_mle_basic_sta_prof_size_ok() - x86/boot: Ignore relocations in .notes sections in walk_relocs() too - wifi: mt76: mt7915: workaround too long expansion sparse warnings - wifi: ath12k: use correct flag field for 320 MHz channels - bpftool: Fix missing pids during link show - wifi: ath11k: don't force enable power save on non-running vdevs - wifi: brcmfmac: pcie: handle randbuf allocation failure - wifi: ath10k: poll service ready message before failing - block: fix and simplify blkdevparts= cmdline parsing - lkdtm: Disable CFI checking for perms functions - soc: qcom: pmic_glink: Make client-lock non-sleeping - null_blk: Fix missing mutex_destroy() at module removal - soc: mediatek: cmdq: Fix typo of CMDQ_JUMP_RELATIVE - firmware: qcom: scm: Fix __scm and waitq completion variable initialization - soc: qcom: pmic_glink: notify clients about the current state - soc: qcom: pmic_glink: don't traverse clients list without a lock - s390/mm: Re-enable the shared zeropage for !PV and !skeys KVM guests - mm/userfaultfd: Do not place zeropages when zeropages are disallowed - io-wq: write next_work before dropping acct_lock - ARM: configs: sunxi: Enable DRM_DW_HDMI - io_uring: use the right type for work_llist empty check - s390/cio: fix tracepoint subchannel type field - crypto: x86/sha512-avx2 - add missing vzeroupper - crypto: x86/sha256-avx2 - add missing vzeroupper - crypto: x86/nh-avx2 - add missing vzeroupper - crypto: ccp - drop platform ifdef checks - parisc: add missing export of __cmpxchg_u8() - nilfs2: fix out-of-range warning - firmware: raspberrypi: Use correct device for DMA mappings - mm/slub, kunit: Use inverted data to corrupt kmem cache - openpromfs: finish conversion to the new mount API - nvmet: prevent sprintf() overflow in nvmet_subsys_nsid_exists() - ksmbd: fix uninitialized symbol 'share' in smb2_tree_connect() - epoll: be better about file lifetimes - nvmet: fix nvme status code when namespace is disabled - nvmet-tcp: fix possible memory leak when tearing down a controller - nvme: cancel pending I/O if nvme controller is in terminal state - nvmet-auth: replace pr_debug() with pr_err() to report an error. - nvmet-auth: return the error code to the nvmet_auth_host_hash() callers - nvme: find numa distance only if controller has valid numa id - drm/amdkfd: Flush the process wq before creating a kfd_process - drm/amd/display: Disable seamless boot on 128b/132b encoding - drm/amd/display: Fix DC mode screen flickering on DCN321 - drm/amd/display: Add VCO speed parameter for DCN31 FPU - drm/amd/display: Allocate zero bw after bw alloc enable - drm/amd/display: Add dtbclk access to dcn315 - drm/amdgpu: Fix VRAM memory accounting - ALSA: hda: intel-dsp-config: harden I2C/I2S codec detection - ASoC: da7219-aad: fix usage of device_get_named_child_node() - platform/x86: ISST: Add Grand Ridge to HPM CPU list - softirq: Fix suspicious RCU usage in __do_softirq() - ALSA: emu10k1: make E-MU FPGA writes potentially more reliable - bpf, x86: Fix PROBE_MEM runtime load check - fpga: dfl-pci: add PCI subdevice ID for Intel D5005 card - Input: xpad - add support for ASUS ROG RAIKIRI - KVM: selftests: Add test for uaccesses to non-existent vgic-v2 CPUIF - ASoC: rt715-sdca: volume step modification - ASoC: rt715: add vendor clear control register - ASoC: cs35l41: Update DSP1RX5/6 Sources for DSP config - regulator: vqmmc-ipq4019: fix module autoloading - regulator: qcom-refgen: fix module autoloading - ASoC: rt722-sdca: add headset microphone vrefo setting - ASoC: rt722-sdca: modify channel number to support 4 channels - ASoC: dt-bindings: rt5645: add cbj sleeve gpio property - ASoC: rt5645: Fix the electric noise due to the CBJ contacts floating - ASoC: acp: Support microphone from device Acer 315-24p - ASoC: SOF: pcm: Restrict DSP D0i3 during S0ix to IPC3 - ALSA: hda: cs35l56: Exit cache-only after cs35l56_wait_for_firmware_boot() - regulator: irq_helpers: duplicate IRQ name - ASoC: Intel: bytcr_rt5640: Apply Asus T100TA quirk to Asus T100TAM too - sched/isolation: Fix boot crash when maxcpus < first housekeeping CPU - selftests: sud_test: return correct emulated syscall value on RISC-V - drm/etnaviv: fix tx clock gating on some GC7000 variants - LoongArch: Lately init pmu after smp is online - cpu: Ignore "mitigations" kernel parameter if CPU_MITIGATIONS=n - drm/amdgpu: Fix the ring buffer size for queue VM flush - drm/amdkfd: Add VRAM accounting for SVM migration - drm/amd/pm: Restore config space after reset - drm/amdgpu: Update BO eviction priorities - drm/amd/display: Set color_mgmt_changed to true on unsuspend - net: usb: qmi_wwan: add Telit FN920C04 compositions - HID: mcp-2221: cancel delayed_work only when CONFIG_IIO is enabled - dt-bindings: rockchip: grf: Add missing type to 'pcie-phy' node - wifi: cfg80211: fix the order of arguments for trace events of the tx_rx_evt class - wifi: mac80211: ensure beacon is non-S1G prior to extracting the beacon timestamp field - wifi: mac80211: don't use rate mask for scanning - KEYS: asymmetric: Add missing dependency on CRYPTO_SIG - ALSA: hda/realtek: fix mute/micmute LEDs don't work for ProBook 440/460 G11. - ksmbd: ignore trailing slashes in share paths - ksmbd: avoid to send duplicate oplock break notifications - fs/ntfs3: Break dir enumeration if directory contents error - fs/ntfs3: Fix case when index is reused during tree transformation - fs/ntfs3: Taking DOS names into account during link counting - fs/ntfs3: Remove max link count info display during driver init - net: smc91x: Fix m68k kernel compilation for ColdFire CPU - net: lan966x: remove debugfs directory in probe() error path - net: ti: icssg_prueth: Fix NULL pointer dereference in prueth_probe() - tools/nolibc/stdlib: fix memory error in realloc() - tools/latency-collector: Fix -Wformat-security compile warns - net: mana: Fix the extra HZ in mana_hwc_send_request - Revert "r8169: don't try to disable interrupts if NAPI is, scheduled already" - io_uring: fail NOP if non-zero op flags is passed in - Input: try trimming too long modalias strings - serial: 8520_mtk: Set RTS on shutdown for Rx in-band wakeup - serial: 8250_bcm7271: use default_mux_rate if possible - tty: n_gsm: fix missing receive state reset after mode switch - selftests/ftrace: Fix BTFARG testcase to check fprobe is enabled correctly - x86/tsc: Trust initial offset in architectural TSC-adjust MSRs - !10398 BMA: Fix DMA reset problem and change the version - BMA/kbox_drv: Change the version number. - BMA/veth_drv: Change the version number. - BMA/cdev_drv: Change the version number. - BMA/edma_drv: Fix DMA reset problem and change the version number. - !10358 jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error - jbd2: stop waiting for space when jbd2_cleanup_journal_tail() returns error - !10344 CVE-2024-39471 - drm/amdgpu: Fix signedness bug in sdma_v4_0_process_trap_irq() - drm/amdgpu: add error handle to avoid out-of-bounds - !9904 ext4: improve buffered write with more than one blocks_per_folio - ext4: improve sub-polio check in ext4_iomap_write_begin() - iomap: add iomap_is_fully_dirty() - iomap: correct the dirty length in page mkwrite - iomap: advance the ifs allocation if we have more than one blocks per folio - iomap: support invalidating partial folios - iomap: correct the range of a partial dirty clear - !9533 net/mlx5: Add a timeout to acquire the command queue semaphore - net/mlx5: Add a timeout to acquire the command queue semaphore - !10317 improve dump_page() robustness - mm: improve dumping of mapcount and page_type - mm: add __dump_folio() - fs: improve dump_mapping() robustness - !9361 macintosh/via-macii: Fix "BUG: sleeping function called from invalid context" - macintosh/via-macii: Fix "BUG: sleeping function called from invalid context" - !9892 support for SMC-D loopback_lo feature - net/smc: enable the smc-lo on the x86 and arm64 platforms - net/smc: implement DMB-merged operations of loopback-ism - net/smc: adapt cursor update when sndbuf and peer DMB are merged - net/smc: {at|de}tach sndbuf to peer DMB if supported - net/smc: add operations to merge sndbuf with peer DMB - net/smc: register loopback-ism into SMC-D device list - net/smc: ignore loopback-ism when dumping SMC-D devices - net/smc: mark optional smcd_ops and check for support when called - net/smc: implement DMB-related operations of loopback-ism - net/smc: implement ID-related operations of loopback-ism - net/smc: introduce loopback-ism for SMC intra-OS shortcut - net/smc: decouple ism_client from SMC-D DMB registration - net/smc: change the term virtual ISM to Emulated-ISM - net/smc: fix incorrect SMC-D link group matching logic - net/smc: manage system EID in SMC stack instead of ISM driver - net/smc: support extended GID in SMC-D lgr netlink attribute - net/smc: compatible with 128-bits extended GID of virtual ISM device - net/smc: define a reserved CHID range for virtual ISM devices - net/smc: introduce virtual ISM device support feature - net/smc: support SMCv2.x supplemental features negotiation - net/smc: unify the structs of accept or confirm message for v1 and v2 - net/smc: introduce sub-functions for smc_clc_send_confirm_accept() - net/smc: rename some 'fce' to 'fce_v2x' for clarity - !10171 netrom: Fix a memory leak in nr_heartbeat_expiry() - netrom: Fix a memory leak in nr_heartbeat_expiry() - !10312 bpf: Fix too early release of tcx_entry - bpf: Fix too early release of tcx_entry - !10170 x86: resctrl: Fix illegal access by the chips not having RDT - x86: resctrl: Fix illegal access by the chips not having RDT - !10311 wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects - wifi: mac80211: mesh: Fix leak of mesh_preq_queue objects - !10254 fbdev: savage: Handle err return when savagefb_check_var failed - fbdev: savage: Handle err return when savagefb_check_var failed - !10078 bpf: Set run context for rawtp test_run callback - bpf: Set run context for rawtp test_run callback - !10261 batman-adv: bypass empty buckets in batadv_purge_orig_ref() - batman-adv: bypass empty buckets in batadv_purge_orig_ref() - !10066 serial: imx: Introduce timeout when waiting on transmitter empty - serial: imx: Introduce timeout when waiting on transmitter empty - !9971 KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin() - KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin() ' for pr_err- !9782 usb-storage: alauda: Check whether the media is initialized - usb-storage: alauda: Check whether the media is initialized - !10294 [OLK-6.6] drivers: Fix compile warning "argument used uninitialized" - drivers: Fix compile warning "argument used uninitialized" - !10257 media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control() - media: dvb-usb: Fix unexpected infinite loop in dvb_usb_read_remote_control() - !10287 CVE-2024-36979 - net: bridge: mst: pass vlan group directly to br_mst_vlan_set_state - net: bridge: mst: fix suspicious rcu usage in br_mst_set_state - net: bridge: mst: fix vlan use-after-free - !10018 ocfs2: fix NULL pointer dereference in ocfs2_journal_dirty() - ocfs2: fix NULL pointer dereference in ocfs2_journal_dirty() - !9985 btrfs: zoned: allocate dummy checksums for zoned NODATASUM writes - btrfs: zoned: allocate dummy checksums for zoned NODATASUM writes - !10260 [RoCE]从社区回合patch到openEuler(OLK-6.6) - RDMA/hns: Fix mbx timing out before CMD execution is completed - RDMA/hns: Fix insufficient extend DB for VFs. - RDMA/hns: Fix undifined behavior caused by invalid max_sge - RDMA/hns: Fix shift-out-bounds when max_inline_data is 0 - RDMA/hns: Fix missing pagesize and alignment check in FRMR - RDMA/hns: Fix unmatch exception handling when init eq table fails - RDMA/hns: Check atomic wr length - !10248 ssb: Fix potential NULL pointer dereference in ssb_device_uevent() - ssb: Fix potential NULL pointer dereference in ssb_device_uevent() - !9243 Bluetooth: RFCOMM: Fix not validating setsockopt user input - Bluetooth: RFCOMM: Fix not validating setsockopt user input - !10160 fix CVE-2024-40915 - riscv: rewrite __kernel_map_pages() to fix sleeping in invalid context - !10264 mm: filemap: optimize semantic when thp_exec_enabled is set to 3 - mm: filemap: optimize semantic when thp_exec_enabled is set to 3 - !5264 [OLK-6.6]HYGON: Support CSV Reuse ASID feature on Hygon CPUs - KVM: SVM: Add support for different CSV guests to reuse the same ASID - !10231 fix CVE-2024-41007 - tcp: avoid too many retransmit packets - tcp: use signed arithmetic in tcp_rtx_probe0_timed_out() - !10233 fpga: bridge: add owner module and take its refcount - fpga: bridge: add owner module and take its refcount - !10237 ocfs2: fix NULL pointer dereference in ocfs2_abort_trigger() - ocfs2: fix NULL pointer dereference in ocfs2_abort_trigger() - !9915 powerpc/pseries: Enforce hcall result buffer validity and size - powerpc/pseries: Enforce hcall result buffer validity and size - !10148 fs/9p: fix uninitialized values during inode evict - fs/9p: fix uninitialized values during inode evict - !10056 io_uring/rsrc: don't lock while !TASK_RUNNING - io_uring/rsrc: don't lock while !TASK_RUNNING - !10226 cxl/region: Fix memregion leaks in devm_cxl_add_region() - cxl/region: Fix memregion leaks in devm_cxl_add_region() - !10177 ima: Fix use-after-free on a dentry's dname.name - ima: Fix use-after-free on a dentry's dname.name - !5262 [OLK-6.6]HYGON: Support Hygon DCU passthrough to VMs - x86/config: Set CONFIG_HYDCU_FIXUP_HEADER=y by default - drm/hygon: Add support to passthrough Hygon DCU to virtual machine - !10220 bpf: Fix overrunning reservations in ringbuf - bpf: Fix overrunning reservations in ringbuf - !10219 CVE-2024-35931 - drm/amdgpu: Skip do PCI error slot reset during RAS recovery - drm/amdgpu : Add hive ras recovery check - !10167 CVE-2024-36022 - drm/amdgpu: Init zone device and drm client after mode-1 reset on reload - drm/amdgpu: move the drm client creation behind drm device registration - drm/amdkfd: init drm_client with funcs hook - drm/amdkfd: Export DMABufs from KFD using GEM handles - !9598 fpga: manager: add owner module and take its refcount - fpga: manager: add owner module and take its refcount - !10139 [sync] PR-10095: CVE-2024-40968 - MIPS: Octeon: Add PCIe link status check - !10044 btrfs: fix CVE-2024-39496 - btrfs: zoned: fix use-after-free due to race with dev replace - btrfs: zoned: factor out DUP bg handling from btrfs_load_block_group_zone_info - btrfs: zoned: factor out single bg handling from btrfs_load_block_group_zone_info - btrfs: zoned: factor out per-zone logic from btrfs_load_block_group_zone_info - btrfs: zoned: introduce a zone_info struct in btrfs_load_block_group_zone_info - !10114 v2 ecryptfs: Fix buffer size for tag 66 packet - ecryptfs: Fix buffer size for tag 66 packet - !10133 ALSA: timer: Set lower bound of start tick time - ALSA: timer: Set lower bound of start tick time - !10115 efi/unaccepted: touch soft lockup during memory accept - efi/unaccepted: touch soft lockup during memory accept - !10131 kunit/fortify: Fix mismatched kvalloc()/vfree() usage - kunit/fortify: Fix mismatched kvalloc()/vfree() usage - !10132 wifi: ath12k: fix out-of-bound access of qmi_invoke_handler() - wifi: ath12k: fix out-of-bound access of qmi_invoke_handler() - !10188 Part of "mm: mapcount for large folios + page_mapcount() cleanups" - mm/rmap: add fast-path for small folios when adding/removing/duplicating - mm/rmap: always inline anon/file rmap duplication of a single PTE - mm: allow for detecting underflows with page_mapcount() again - !10001 tty: n_gsm: fix possible out-of-bounds in gsm0_receive() - tty: n_gsm: fix possible out-of-bounds in gsm0_receive() - !10176 f2fs: compress: don't allow unaligned truncation on released compress inode - f2fs: compress: don't allow unaligned truncation on released compress inode - !10106 platform/x86: x86-android-tablets: Unregister devices in reverse order - platform/x86: x86-android-tablets: Unregister devices in reverse order - !10109 tracing: Build event generation tests only as modules - tracing: Build event generation tests only as modules - !10166 drop_monitor: replace spin_lock by raw_spin_lock - drop_monitor: replace spin_lock by raw_spin_lock - !10161 RDMA/mlx5: Add check for srq max_sge attribute - RDMA/mlx5: Add check for srq max_sge attribute - !10111 drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found - drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found - !10155 wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup() - wifi: mac80211: Fix deadlock in ieee80211_sta_ps_deliver_wakeup() - !10149 mips: bmips: BCM6358: make sure CBR is correctly set - mips: bmips: BCM6358: make sure CBR is correctly set - !10103 v2 fpga: region: add owner module and take its refcount - fpga: region: add owner module and take its refcount - !10097 [sync] PR-9741: scsi: qedf: Ensure the copied buf is NUL terminated - scsi: qedf: Ensure the copied buf is NUL terminated - !10021 drm/exynos/vidi: fix memory leak in .get_modes() - drm/exynos/vidi: fix memory leak in .get_modes() - !10127 wifi: iwlwifi: mvm: don't read past the mfuart notifcation - wifi: iwlwifi: mvm: don't read past the mfuart notifcation - !10117 wifi: iwlwifi: mvm: check n_ssids before accessing the ssids - wifi: iwlwifi: mvm: check n_ssids before accessing the ssids - !10116 wifi: mt76: mt7921s: fix potential hung tasks during chip recovery - wifi: mt76: mt7921s: fix potential hung tasks during chip recovery - !10017 liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet - liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet - !10051 tipc: force a dst refcount before doing decryption - tipc: force a dst refcount before doing decryption - !10102 vmxnet3: disable rx data ring on dma allocation failure - vmxnet3: disable rx data ring on dma allocation failure - !10093 drm/arm/malidp: fix a possible null pointer dereference - drm/arm/malidp: fix a possible null pointer dereference - !9989 io_uring/io-wq: Use set_bit() and test_bit() at worker->flags - io_uring/io-wq: Use set_bit() and test_bit() at worker->flags - !10083 CVE-2024-40955 - ext4: clean up s_mb_rb_lock to fix build warnings with C=1 - ext4: set the type of max_zeroout to unsigned int to avoid overflow - ext4: set type of ac_groups_linear_remaining to __u32 to avoid overflow - ext4: add positive int attr pointer to avoid sysfs variables overflow - ext4: add new attr pointer attr_mb_order - ext4: fix slab-out-of-bounds in ext4_mb_find_good_group_avg_frag_lists() - ext4: refactor out ext4_generic_attr_show() - ext4: refactor out ext4_generic_attr_store() - ext4: avoid overflow when setting values via sysfs - !10069 ALSA: Fix deadlocks with kctl removals at disconnection - ALSA: Fix deadlocks with kctl removals at disconnection - !10074 PCI: of_property: Return error for int_map allocation failure - PCI: of_property: Return error for int_map allocation failure - !10087 fix CVE-2024-40995 - net/sched: act_api: fix possible infinite loop in tcf_idr_check_alloc() - net/sched: act_api: rely on rcu in tcf_idr_check_alloc - !10064 net/mlx5: Always stop health timer during driver removal - net/mlx5: Always stop health timer during driver removal - !9240 v2 cachefiles: introduce failover mechanism - cachefiles: make on-demand read killable - cachefiles: flush all requests after setting CACHEFILES_DEAD - cachefiles: Set object to close if ondemand_id < 0 in copen - cachefiles: defer exposing anon_fd until after copy_to_user() succeeds - cachefiles: never get a new anonymous fd if ondemand_id is valid - cachefiles: add spin_lock for cachefiles_ondemand_info - cachefiles: add consistency check for copen/cread - cachefiles: remove err_put_fd label in cachefiles_ondemand_daemon_read() - cachefiles: fix slab-use-after-free in cachefiles_ondemand_daemon_read() - cachefiles: fix slab-use-after-free in cachefiles_ondemand_get_fd() - cachefiles: remove requests from xarray during flushing requests - cachefiles: add output string to cachefiles_obj_[get|put]_ondemand_fd - cachefiles, erofs: Fix NULL deref in when cachefiles is not doing ondemand-mode - cachefiles: add restore command to recover inflight ondemand read requests - cachefiles: narrow the scope of triggering EPOLLIN events in ondemand mode - cachefiles: resend an open request if the read request's object is closed - cachefiles: extract ondemand info field from cachefiles_object - cachefiles: introduce object ondemand state - !9933 nvdimm: Backport some bugfixs - dax: alloc_dax() return ERR_PTR(-EOPNOTSUPP) for CONFIG_DAX=n - nvdimm/pmem: fix leak on dax_add_host() failure - !10038 media: v4l: async: Properly re-initialise notifier entry in unregister - media: v4l: async: Properly re-initialise notifier entry in unregister - !9970 CVE-2024-39503 - netfilter: ipset: Fix suspicious rcu_dereference_protected() - netfilter: ipset: Fix race between namespace cleanup and gc in the list:set type - netfilter: ipset: Add list flush to cancel_gc - !10011 xfs: fix mount hung while sb recover fail - xfs: fix mount hung while sb recover fail - !10050 vmci: prevent speculation leaks by sanitizing event in event_deliver() - vmci: prevent speculation leaks by sanitizing event in event_deliver() - !10006 drm/amdgpu: fix UBSAN warning in kv_dpm.c - drm/amdgpu: fix UBSAN warning in kv_dpm.c - !9959 parisc: Try to fix random segmentation faults in package builds - parisc: Try to fix random segmentation faults in package builds - !10028 ipv6: prevent possible NULL dereference in rt6_probe() - ipv6: prevent possible NULL dereference in rt6_probe() - !10005 seg6: fix parameter passing when calling NF_HOOK() in End.DX4 and End.DX6 behaviors - seg6: fix parameter passing when calling NF_HOOK() in End.DX4 and End.DX6 behaviors- Remove mlx5 related API from kabi whitelist- !10059 nilfs2: fix use-after-free of timer for log writer thread - nilfs2: fix use-after-free of timer for log writer thread - !10025 9p: add missing locking around taking dentry fid list - 9p: add missing locking around taking dentry fid list - !9835 fix CVE-2024-39479 - drm/i915/hwmon: Get rid of devm - !9998 ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup - ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup - !9997 openrisc: traps: Don't send signals to kernel mode threads - openrisc: traps: Don't send signals to kernel mode threads - !9956 drm/komeda: check for error-valued pointer - drm/komeda: check for error-valued pointer - !9914 arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY - arm64: asm-bug: Add .align 2 to the end of __BUG_ENTRY - !9944 f2fs: remove clear SB_INLINECRYPT flag in default_options - f2fs: remove clear SB_INLINECRYPT flag in default_options - !9909 sock_map: avoid race between sock_map_close and sk_psock_put - sock_map: avoid race between sock_map_close and sk_psock_put - !10045 misc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe() - misc: microchip: pci1xxxx: fix double free in the error handling of gp_aux_bus_probe() - !10055 media: v4l: async: Fix notifier list entry init - media: v4l: async: Fix notifier list entry init - !9900 ipv6: fix possible race in __fib6_drop_pcpu_from() - ipv6: fix possible race in __fib6_drop_pcpu_from() - !9979 CVE-2024-40972 - ext4: do not create EA inode under buffer lock - ext4: fold quota accounting into ext4_xattr_inode_lookup_create() - !9988 netpoll: Fix race condition in netpoll_owner_active - netpoll: Fix race condition in netpoll_owner_active - !9945 ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine." - ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine." - !9935 ALSA: hda: cs35l41: Possible null pointer dereference in cs35l41_hda_unbind() - ALSA: hda: cs35l41: Possible null pointer dereference in cs35l41_hda_unbind() - !9962 iommu/arm-smmu-v3: Change the style to identify the the hisi_platform - iommu/arm-smmu-v3: Change the style to identify the the hisi_platform - !9896 bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set() - bonding: Fix out-of-bounds read in bond_option_arp_ip_targets_set() - !9928 ocfs2: fix races between hole punching and AIO+DIO - ocfs2: fix races between hole punching and AIO+DIO - !9938 fix CVE-2024-40934 - HID: logitech-dj: Fix memory leak in logi_dj_recv_switch_to_dj_mode() - !9899 ionic: fix use after netif_napi_del() - ionic: fix use after netif_napi_del() - !9898 cpufreq: amd-pstate: fix memory leak on CPU EPP exit - cpufreq: amd-pstate: fix memory leak on CPU EPP exit - !9903 mptcp: ensure snd_una is properly initialized on connect - mptcp: ensure snd_una is properly initialized on connect - !9878 CVE-2024-39478 - crypto: starfive - Do not free stack buffer - !9888 ipv6: sr: fix memleak in seg6_hmac_init_algo - ipv6: sr: fix memleak in seg6_hmac_init_algo - !5261 [OLK-6.6]Hygon: Some enhancement and bugfixes for HYGON CSV/CSV2 - KVM: SVM: Unmap ghcb pages if they're still mapped when destroy guest - KVM: x86: Fix KVM_GET_MSRS stack info leak - KVM: SEV: Do not intercept accesses to MSR_IA32_XSS for SEV-ES guests - x86/head/64: Flush caches for .bss..decrypted section after CR3 switches to early_top_pgt - KVM: x86: Calls is_64_bit_hypercall() instead of is_64_bit_mode() in complete_hypercall_exit() - x86/csv2: Keep in atomic context when holding ghcb page if the #VC comes from userspace - KVM: SVM: Fix the available ASID range for CSV2 guest - !9861 MPTCP Upstream part 13 - selftests: mptcp: lib: catch duplicated subtest entries - selftests: mptcp: explicitly trigger the listener diag code-path - bpf, btf: Add check_btf_kconfigs helper - bpf, btf: Fix return value of register_btf_id_dtor_kfuncs - !9876 v3 Fix xfs file creation issue - xfs: Avoid races with cnt_btree lastrec updates - Revert "xfs: Fix file creation failure" - !9877 gfs2: Fix potential glock use-after-free on unmount - gfs2: Fix potential glock use-after-free on unmount - !9862 ipvlan: Modify the value of ipvlan modes - ipvlan: Modify the value of ipvlan modes - !5260 [OLK-6.6] Support live migration for CSV/CSV2 guest, and support rebooting CSV/CSV2 guest - KVM: SVM: Force flush caches before reboot CSV guest - KVM: SVM: Add support for rebooting CSV2 guest - KVM: x86: Introduce control_{pre,post}_system_reset ioctl interfaces - KVM: SVM: Export MSR_AMD64_SEV_ES_GHCB to userspace for CSV2 guest - KVM: x86: Restore control registers in __set_sregs() to support CSV2 guest live migration - KVM: SVM: Add KVM_SEV_RECEIVE_UPDATE_VMSA command - KVM: SVM: Add KVM_SEV_SEND_UPDATE_VMSA command - crypto: ccp: Fix definition of struct sev_data_send_update_vmsa - KVM: SVM: Add RECEIVE_UPDATE_DATA command helper to support KVM_CSV_COMMAND_BATCH - KVM: SVM: Add SEND_UPDATE_DATA command helper to support KVM_CSV_COMMAND_BATCH - KVM: SVM: Prepare memory pool to allocate buffers for KVM_CSV_COMMAND_BATCH - KVM: SVM: Add KVM_CSV_COMMAND_BATCH command for applying CSV RING_BUFFER mode - crypto: ccp: Add support for issue commands in CSV RING_BUFFER mode - crypto: ccp: Add support to switch to CSV RING_BUFFER mode - crypto: ccp: Add support for dequeue status in CSV RING_BUFFER mode - crypto: ccp: Add support for enqueue command pointers in CSV RING_BUFFER mode - crypto: ccp: Introduce init and free helpers to manage CSV RING_BUFFER queues - !9294 Compiler: Add clang's PGO support for kernel. - Compiler: Add clang's PGO support for kernel. - !9610 rcu: Fix buffer overflow in print_cpu_stall_info() - rcu: Fix buffer overflow in print_cpu_stall_info() - !9845 xfs: fix log recovery buffer allocation for the legacy h_size fixup - xfs: fix log recovery buffer allocation for the legacy h_size fixup - !9859 block: enable BLK_IO_HUNG_TASK_CHECK by default - block: enable BLK_IO_HUNG_TASK_CHECK by default - !9857 drm/amdgpu/mes: fix use-after-free issue - drm/amdgpu/mes: fix use-after-free issue - !9829 fix CVE-2024-38620 - Bluetooth: fix connection setup in l2cap_connect - Bluetooth: HCI: Remove HCI_AMP support - Bluetooth: hci_event: Remove code to removed CONFIG_BT_HS - Bluetooth: Remove usage of the deprecated ida_simple_xx() API - Bluetooth: ISO: Fix BIS cleanup - !9838 cgroup: Fix AA deadlock caused by cgroup_bpf_release - cgroup: Fix AA deadlock caused by cgroup_bpf_release - !9841 ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension - ASoC: SOF: ipc4-topology: Fix input format query of process modules without base extension - !9834 mmc: davinci: Don't strip remove function when driver is builtin - mmc: davinci: Don't strip remove function when driver is builtin- !9779 CVE-2024-39461 - clk: bcm: rpi: Assign ->num before accessing ->hws - !9801 loongarch平台config配置对kdump的支持 - loongarch: configs: Configure degbuginfo - Fix the kdump second kernel boot failure - loongarch: Cleanup loongson3_defconfig with make savedefconfig - !9811 fix CVE-2024-39481 - media: mc: Fix graph walk in media_pipeline_start - !9810 KVM: SVM: WARN on vNMI + NMI window iff NMIs are outright masked - KVM: SVM: WARN on vNMI + NMI window iff NMIs are outright masked - !9821 kdb: Fix buffer overflow during tab-complete - kdb: Fix buffer overflow during tab-complete - !9788 net: fix wrong return value in bpf_sock_ops_get_uid_gid - net: fix wrong return value in bpf_sock_ops_get_uid_gid - !9816 mm: mem_reliable: Make counting reliable task usage compatible with folio - mm: mem_reliable: Make counting reliable task usage compatible with folio - !9807 drm: zynqmp_dpsub: Always register bridge - drm: zynqmp_dpsub: Always register bridge - !9804 CVE-2024-36478 - null_blk: Fix return value of nullb_device_power_store() - null_blk: fix null-ptr-dereference while configuring 'power' and 'submit_queues' - !9805 md: fix resync softlockup when bitmap size is less than array size - md: fix resync softlockup when bitmap size is less than array size - !9802 ax25: Fix reference count leak issue of net_device - ax25: Fix reference count leak issue of net_device - !9770 Add a switch to enable hungtask check for io - block: disable BLK_IO_HUNG_TASK_CHECK by default - block: add a switch to enable hungtask check for io - !9793 drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference - drm: bridge: cdns-mhdp8546: Fix possible null pointer dereference - !9649 f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode() - f2fs: fix to do sanity check on i_xattr_nid in sanity_check_inode() - !9732 CVE-2024-39469 - nilfs2: fix nilfs_empty_dir() misjudgment and long loop on I/O errors - nilfs2: return the mapped address from nilfs_get_page() - !9775 mm/slub: Reduce memory consumption in extreme scenarios - mm/slub: Reduce memory consumption in extreme scenarios - !9614 v2 wifi: carl9170: add a proper sanity check for endpoints - wifi: carl9170: add a proper sanity check for endpoints - !9709 cgroup: fix uaf when proc_cpuset_show - cgroup: fix uaf when proc_cpuset_show - !9748 cxl/pci: Skip to handle RAS errors if CXL.mem device is detached - cxl/pci: Skip to handle RAS errors if CXL.mem device is detached - !8877 drm/vmwgfx: Fix invalid reads in fence signaled events - drm/vmwgfx: Fix invalid reads in fence signaled events - !9730 efi: libstub: only free priv.runtime_map when allocated - efi: libstub: only free priv.runtime_map when allocated - !9679 cgroup/cpuset: Make cpuset hotplug processing synchronous - cgroup/cpuset: Make cpuset hotplug processing synchronous - !9757 net: openvswitch: fix overwriting ct original tuple for ICMPv6 - net: openvswitch: fix overwriting ct original tuple for ICMPv6 - !9665 CVE-2024-38622 - drm/msm/dpu: make error messages at dpu_core_irq_register_callback() more sensible - drm/msm/dpu: Add callback function pointer check before its call - drm/msm/dpu: stop using raw IRQ indices in the kernel output - drm/msm/dpu: make the irq table size static - drm/msm/dpu: add helper to get IRQ-related data - drm/msm/dpu: extract dpu_core_irq_is_valid() helper - drm/msm/dpu: remove irq_idx argument from IRQ callbacks - !9668 wifi: nl80211: Avoid address calculations via out of bounds array indexing - wifi: nl80211: Avoid address calculations via out of bounds array indexing - !9715 CVE-2024-38602 - ax25: Fix reference count leak issues of ax25_dev - ax25: Use kernel universal linked list to implement ax25_dev_list - !9746 v2 Revert "ACPI: processor: Add support for processors described as container packages" - Revert "ACPI: processor: Add support for processors described as container packages" - !9736 net/9p: fix uninit-value in p9_client_rpc() - net/9p: fix uninit-value in p9_client_rpc() - !9596 iomap: fix warning in iomap_write_delalloc_release() - iomap: fix warning in iomap_write_delalloc_release() - !9703 dma-buf/sw-sync: don't enable IRQ from sync_print_obj() - dma-buf/sw-sync: don't enable IRQ from sync_print_obj() - !9642 CVE-2024-38582 - nilfs2: fix potential hang in nilfs_detach_log_writer() - nilfs2: fix unexpected freezing of nilfs_segctor_sync() - !9687 greybus: lights: check return of get_channel_from_mode - greybus: lights: check return of get_channel_from_mode - !9678 crypto: bcm - Fix pointer arithmetic - crypto: bcm - Fix pointer arithmetic - !7918 [OLK-6.6]drivers: support Yunsilicon's metaScale/metaVisor series NICs - drivers: support Yunsilicon's MS and MV series NICs - !9619 r8169: Fix possible ring buffer corruption on fragmented Tx packets. - r8169: Fix possible ring buffer corruption on fragmented Tx packets. - !9664 tls: fix missing memory barrier in tls_init - tls: fix missing memory barrier in tls_init - !9161 xfs: don't use current->journal_info - xfs: don't use current->journal_info - !9624 CVE-2024-38597 - net: fec: remove .ndo_poll_controller to avoid deadlocks - eth: sungem: remove .ndo_poll_controller to avoid deadlocks - !9631 ACPI: APEI: Skip initialization of GHES_ASSIST structures for Machine Check Architecture - ACPI: APEI: Skip initialization of GHES_ASSIST structures for Machine Check Architecture - !9632 drm/msm/a6xx: Avoid a nullptr dereference when speedbin setting fails - drm/msm/a6xx: Avoid a nullptr dereference when speedbin setting fails - !9399 fix CVE-2024-38544 and CVE-2024-37356 - tcp: Fix shift-out-of-bounds in dctcp_update_alpha(). - RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt - !9341 serial: max3100: Lock port->lock when calling uart_handle_cts_change() - serial: max3100: Lock port->lock when calling uart_handle_cts_change() - !9562 CVE-2024-38385 - genirq/irqdesc: Prevent use-after-free in irq_find_at_or_after() - !9582 v2 eventfs: Fix a possible null pointer dereference in eventfs_find_events() - eventfs: Fix a possible null pointer dereference in eventfs_find_events() - !9588 s390/ap: Fix crash in AP internal function modify_bitmap() - s390/ap: Fix crash in AP internal function modify_bitmap() - !9513 RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt - RDMA/rxe: Fix seg fault in rxe_comp_queue_pkt - !9561 v2 virtio: delete vq in vp_find_vqs_msix() when request_irq() fails - virtio: delete vq in vp_find_vqs_msix() when request_irq() fails - !9578 net/mlx5: Discard command completions in internal error - net/mlx5: Discard command completions in internal error - !9549 btrfs: fix crash on racing fsync and size-extending write into prealloc - btrfs: fix crash on racing fsync and size-extending write into prealloc - !9479 xfs: fix unlink vs cluster buffer instantiation race - xfs: fix unlink vs cluster buffer instantiation race - !9519 MPTCP Upstream part 12 - mptcp: annotate lockless accesses around read-mostly fields - mptcp: annotate lockless access for token - mptcp: annotate lockless access for RX path fields - mptcp: annotate lockless access for the tx path - mptcp: annotate access for msk keys - !9557 i2c: acpi: Unbind mux adapters before delete - i2c: acpi: Unbind mux adapters before delete - !9555 smb: client: fix deadlock in smb2_find_smb_tcon() - smb: client: fix deadlock in smb2_find_smb_tcon() - !9489 fs/ntfs3: Check 'folio' pointer for NULL - fs/ntfs3: Check 'folio' pointer for NULL - !9482 fs/ntfs3: Use 64 bit variable to avoid 32 bit overflow - fs/ntfs3: Use 64 bit variable to avoid 32 bit overflow - !9506 usb: gadget: u_audio: Fix race condition use of controls after free during gadget unbind. - usb: gadget: u_audio: Fix race condition use of controls after free during gadget unbind. - !9528 media: lgdt3306a: Add a check against null-pointer-def - media: lgdt3306a: Add a check against null-pointer-def - !9551 ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find() - ext4: fix mb_cache_entry's e_refcnt leak in ext4_xattr_block_cache_find() - !9478 watchdog: cpu5wdt.c: Fix use-after-free bug caused by cpu5wdt_trigger - watchdog: cpu5wdt.c: Fix use-after-free bug caused by cpu5wdt_trigger - !9536 clk: bcm: dvp: Assign ->num before accessing ->hws - clk: bcm: dvp: Assign ->num before accessing ->hws - !9463 fix CVE-2024-38621 - media: stk1160: fix bounds checking in stk1160_copy_video() - !9457 bpf: Add BPF_PROG_TYPE_CGROUP_SKB attach type enforcement in BPF_LINK_CREATE - bpf: Add BPF_PROG_TYPE_CGROUP_SKB attach type enforcement in BPF_LINK_CREATE - !9459 bpf: Fix verifier assumptions about socket->sk - bpf: Fix verifier assumptions about socket->sk - !9522 bonding: fix oops during rmmod - bonding: fix oops during rmmod - !9502 netrom: fix possible dead-lock in nr_rt_ioctl() - netrom: fix possible dead-lock in nr_rt_ioctl() - !9402 fs/ntfs3: Use variable length array instead of fixed size - fs/ntfs3: Use variable length array instead of fixed size - !9320 drm/amd/display: Fix potential index out of bounds in color transformation function - drm/amd/display: Fix potential index out of bounds in color transformation function - !9493 thermal/drivers/qcom/lmh: Check for SCM availability at probe - thermal/drivers/qcom/lmh: Check for SCM availability at probe - !9398 tracing/probes: fix error check in parse_btf_field() - tracing/probes: fix error check in parse_btf_field() - !9510 ftrace: Fix possible use-after-free issue in ftrace_location() - ftrace: Fix possible use-after-free issue in ftrace_location() - !9509 cifs: fix pagecache leak when do writepages - cifs: fix pagecache leak when do writepages - !9436 v2 ASoC: mediatek: Assign dummy when codec not specified for a DAI link - ASoC: mediatek: Assign dummy when codec not specified for a DAI link - !9486 [OLK-6.6] Fix os crash while enable sriov for rnp - RNPVF: NET: Fix os crash while enable sriov for rnp - !9371 MPTCP Upstream part 11 - selftests: net: ip_local_port_range: define IPPROTO_MPTCP - selftests: mptcp: join: check CURRESTAB counters - selftests/net: add MPTCP coverage for IP_LOCAL_PORT_RANGE - mptcp: sockopt: support IP_LOCAL_PORT_RANGE and IP_BIND_ADDRESS_NO_PORT - mptcp: rename mptcp_setsockopt_sol_ip_set_transparent() - !5258 [OLK-6.6] Support request attestation report from CSV guest - driver/virt/coco: Add HYGON CSV Guest dirver. - KVM: x86: Support VM_ATTESTATION hypercall - !9485 v2 CVE-2024-38610 - drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map() - virt: acrn: stop using follow_pfn - !9380 psi: using cpuacct_cgrp_id under CONFIG_CGROUP_CPUACCT - psi: using cpuacct_cgrp_id under CONFIG_CGROUP_CPUACCT - !8899 block: fix module reference leakage from bdev_open_by_dev error path - block: fix module reference leakage from bdev_open_by_dev error path - !9445 blk-cgroup: fix list corruption from reorder of WRITE ->lqueued - blk-cgroup: fix list corruption from reorder of WRITE ->lqueued - !9466 io_uring: check for non-NULL file pointer in io_file_can_poll() - io_uring: check for non-NULL file pointer in io_file_can_poll() - !9389 block: refine the EOF check in blkdev_iomap_begin - block: refine the EOF check in blkdev_iomap_begin - !9414 vfio/pci: fix potential memory leak in vfio_intx_enable() - vfio/pci: fix potential memory leak in vfio_intx_enable() - !9455 jffs2: prevent xattr node from overflowing the eraseblock - jffs2: prevent xattr node from overflowing the eraseblock - !9465 CVE-2024-38662 - Revert "bpf, sockmap: Prevent lock inversion deadlock in map delete elem" - bpf: Allow delete from sockmap/sockhash only if update is allowed - !9410 Fix CVE-2024-31076 - genirq/cpuhotplug, x86/vector: Prevent vector leak during CPU offline - !9449 rcu-tasks: Fix show_rcu_tasks_trace_gp_kthread buffer overflow - rcu-tasks: Fix show_rcu_tasks_trace_gp_kthread buffer overflow- !9438 【OLK-6.6】RDMA/hns: Fix some mutex UAF - RDMA/hns: Fix some mutex UAF - !9394 CVE-2024-38587 - speakup: Fix sizeof() vs ARRAY_SIZE() bug - !9405 drm/mediatek: Add 0 size check to mtk_drm_gem_obj - drm/mediatek: Add 0 size check to mtk_drm_gem_obj - !9415 mm: drop the 'anon_' prefix for swap-out mTHP counters - mm: drop the 'anon_' prefix for swap-out mTHP counters - !9376 ALSA: core: Fix NULL module pointer assignment at card init - ALSA: core: Fix NULL module pointer assignment at card init - !9295 Port patches from OLK-5.10 - livepatch: Enable CONFIG_LIVEPATCH_ISOLATE_KPROBE in openeuler_defconfig - livepatch: Avoid patching conflicts with kprobes - !9356 tpm_tis_spi: Account for SPI header when allocating TPM SPI xfer buffer - tpm_tis_spi: Account for SPI header when allocating TPM SPI xfer buffer - !9332 net/sched: taprio: always validate TCA_TAPRIO_ATTR_PRIOMAP - net/sched: taprio: always validate TCA_TAPRIO_ATTR_PRIOMAP - !9355 f2fs: multidev: fix to recognize valid zero block address - f2fs: multidev: fix to recognize valid zero block address - !9329 af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg - af_unix: Fix data races in unix_release_sock/unix_stream_sendmsg - !9352 MPTCP Upstream part 10 - MAINTAINERS: add Geliang as reviewer for MPTCP - mailmap: add entries for Geliang Tang - mptcp: fill in missing MODULE_DESCRIPTION() - netlink: fill in missing MODULE_DESCRIPTION() - netlink: specs: mptcp: rename the MPTCP path management spec - !9304 MPTCP Upstream part 9 - selftests: mptcp: add mptcp_lib_wait_local_port_listen - selftests: mptcp: add mptcp_lib_check_transfer - selftests: mptcp: add mptcp_lib_make_file - selftests: mptcp: add missing oflag=append - !9307 of: module: add buffer overflow check in of_modalias() - of: module: add buffer overflow check in of_modalias() - !9331 Some folio bugfix - mm/memory: don't require head page for do_set_pmd() - mm/migrate: fix kernel BUG at mm/compaction.c:2761! - mm: huge_memory: fix misused mapping_large_folio_support() for anon folios - mm: shmem: fix getting incorrect lruvec when replacing a shmem folio - mm: fix possible OOB in numa_rebuild_large_mapping() - mm: support multi-size THP numa balancing - mm/rmap: do not add fully unmapped large folio to deferred split list - !9302 ring-buffer: Fix a race between readers and resize checks - ring-buffer: Fix a race between readers and resize checks - !9345 net: sched: sch_multiq: fix possible OOB write in multiq_tune() - net: sched: sch_multiq: fix possible OOB write in multiq_tune() - !9346 net: bridge: xmit: make sure we have at least eth header len bytes - net: bridge: xmit: make sure we have at least eth header len bytes - !9301 MPTCP Upstream part 8 - selftests: mptcp: userspace pm send RM_ADDR for ID 0 - selftests: mptcp: userspace pm remove initial subflow - mptcp: userspace pm rename remove_err to out - selftests: mptcp: userspace pm create id 0 subflow - mptcp: add mptcpi_subflows_total counter - !9266 MPTCP Upstream part 7 - net: fill in MODULE_DESCRIPTION()s for SOCK_DIAG modules - selftests: mptcp: sockopt: drop mptcp_connect var - mptcp: define more local variables sk - mptcp: move sk assignment statement ahead - !9262 MPTCP Upstream part 6 - mptcp: use mptcp_get_ext helper - mptcp: use mptcp_check_fallback helper - mptcp: drop useless ssk in pm_subflow_check_next - mptcp: ignore notsent_lowat setting at the subflow level - mptcp: consolidate sockopt synchronization - !5257 [OLK-6.6] Support DOWNLOAD_FIRMWARE feature for hygon CSV - crypto: ccp: Implement CSV_DOWNLOAD_FIRMWARE ioctl command - crypto: ccp: Implement CSV_PLATFORM_SHUTDOWN ioctl command - crypto: ccp: Implement CSV_PLATFORM_INIT ioctl command - crypto: ccp: Support DOWNLOAD_FIRMWARE when detect CSV - !8058 Intel: Backport QuickAssist Technology(QAT) live migration support for in-tree driver - Enable QAT_VFIO_PCI as kernel module to support Intel QAT live migration - crypto: qat - Fix ADF_DEV_RESET_SYNC memory leak - crypto: qat - specify firmware files for 402xx - crypto: qat - validate slices count returned by FW - crypto: qat - improve error logging to be consistent across features - crypto: qat - improve error message in adf_get_arbiter_mapping() - crypto: qat - implement dh fallback for primes > 4K - crypto: qat - Fix spelling mistake "Invalide" -> "Invalid" - crypto: qat - Avoid -Wflex-array-member-not-at-end warnings - vfio/qat: Add vfio_pci driver for Intel QAT SR-IOV VF devices - crypto: qat - implement interface for live migration - crypto: qat - add interface for live migration - crypto: qat - add bank save and restore flows - crypto: qat - expand CSR operations for QAT GEN4 devices - crypto: qat - rename get_sla_arr_of_type() - crypto: qat - relocate CSR access code - crypto: qat - move PFVF compat checker to a function - crypto: qat - relocate and rename 4xxx PF2VM definitions - crypto: qat - adf_get_etr_base() helper - !8304 [OLK-6.6] Backport TPMI based RAPL PMU support for next Intel Xeon Granite Rapids (GNR) - powercap: intel_rapl_tpmi: Enable PMU support - powercap: intel_rapl: Introduce APIs for PMU support - powercap: intel_rapl: Sort header files - !9245 MPTCP Upstream part 5 - mptcp: prevent BPF accessing lowat from a subflow socket. - mptcp: use copy_from_iter helpers on transmit - mptcp: give rcvlowat some love - tcp: define initial scaling factor value as a macro - mptcp: use plain bool instead of custom binary enum - mptcp: add a new sysctl for make after break timeout - !8422 [OLK-6.6] Intel IAA Compression Accelerator Crypto Driver (iaa_crypto) - openeuler_defconfig: Add kernel config for Intel IAA crypto driver - dmaengine: idxd: Avoid unnecessary destruction of file_ida - dmaengine: idxd: Check for driver name match before sva user feature - crypto: iaa - Use cpumask_weight() when rebalancing - crypto: iaa - Fix some errors in IAA documentation - crypto: iaa - Change iaa statistics to atomic64_t - crypto: iaa - Add global_stats file and remove individual stat files - crypto: iaa - Remove comp/decomp delay statistics - crypto: iaa - fix decomp_bytes_in stats - crypto: iaa - Fix nr_cpus < nr_iaa case - crypto: iaa - fix the missing CRYPTO_ALG_ASYNC in cra_flags - crypto: iaa - Fix comp/decomp delay statistics - crypto: iaa - Fix async_disable descriptor leak - crypto: iaa - Remove unnecessary debugfs_create_dir() error check in iaa_crypto_debugfs_init() - crypto: iaa - Remove header table code - dmaengine: idxd: constify the struct device_type usage - dmaengine: idxd: make dsa_bus_type const - dmaengine: idxd: Remove usage of the deprecated ida_simple_xx() API - crypto: iaa - Account for cpu-less numa nodes - crypto: iaa - remove unneeded semicolon - crypto: iaa - Remove unneeded newline in update_max_adecomp_delay_ns() - crypto: iaa - Change desc->priv to 0 - dmaengine: idxd: Add support for device/wq defaults - crypto: iaa - Add IAA Compression Accelerator stats - crypto: iaa - Add irq support for the crypto async interface - crypto: iaa - Add support for deflate-iaa compression algorithm - crypto: iaa - Add compression mode management along with fixed mode - crypto: iaa - Add per-cpu workqueue table with rebalancing - crypto: iaa - Add Intel IAA Compression Accelerator crypto driver core - crypto: iaa - Add IAA Compression Accelerator Documentation - dmaengine: idxd: add callback support for iaa crypto - dmaengine: idxd: Add wq private data accessors - dmaengine: idxd: Export wq resource management functions - dmaengine: idxd: Export descriptor management functions - dmaengine: idxd: Rename drv_enable/disable_wq to idxd_drv_enable/disable_wq, and export - dmaengine: idxd: add external module driver support for dsa_bus_type - dmaengine: idxd: Fix incorrect descriptions for GRPCFG register - dmaengine: idxd: add wq driver name support for accel-config user tool - dmaengine: idxd: rate limit printk in misc interrupt thread - !9230 MPTCP Upstream part 4 - net: mptcp: use policy generated by YAML spec - net: mptcp: rename netlink handlers to mptcp_pm_nl__{doit,dumpit} - uapi: mptcp: use header file generated from YAML spec - Documentation: netlink: add a YAML spec for mptcp - net: mptcp: convert netlink from small_ops to ops - !9229 v2 sched: smart_grid: fix potential NULL pointer dereference - sched: smart_grid: fix potential NULL pointer dereference - !9226 MPTCP Upstream part 3 - tools: ynl-gen: add support for exact-len validation - tools: ynl: add uns-admin-perm to genetlink legacy - tools: ynl-gen: support limit names - tools: ynl-gen: support full range of min/max checks for integer values - tools: ynl-gen: track attribute use - !9217 memcg: attach memcg async reclaim worker to curcpu - memcg: attach memcg async reclaim worker to curcpu - !9173 MPTCP Upstream part 2 - inet: implement lockless getsockopt(IP_MULTICAST_IF) - inet: lockless IP_PKTOPTIONS implementation - inet: implement lockless getsockopt(IP_UNICAST_IF) - inet: lockless getsockopt(IP_MTU) - inet: lockless getsockopt(IP_OPTIONS)- !8809 MPTCP Upstream part 1 - net: bpf: Use sockopt_lock_sock() in ip_sock_set_tos() - inet: lock the socket in ip_sock_set_tos() - inet: implement lockless IP_TOS - inet: implement lockless IP_MTU_DISCOVER - inet: implement lockless IP_MULTICAST_TTL - !9141 Fix allmodconfig build frame size error - net/ethernet/huawei/hiroce3: Fix allmodconfig build frame size error - !9101 ext4: Skip moving extents if page writeback failed - ext4: Skip moving extents if page writeback failed - !9126 arm64: armv8_deprecated: Fix warning in isndep cpuhp starting process - arm64: armv8_deprecated: Fix warning in isndep cpuhp starting process - !9010 Backport 6.6.31&6.6.32 LTS patches from upstream - block: add a partscan sysfs attribute for disks - block: add a disk_has_partscan helper - Docs/admin-guide/mm/damon/usage: fix wrong example of DAMOS filter matching sysfs file - docs: kernel_include.py: Cope with docutils 0.21 - admin-guide/hw-vuln/core-scheduling: fix return type of PR_SCHED_CORE_GET - KEYS: trusted: Do not use WARN when encode fails - remoteproc: mediatek: Make sure IPI buffer fits in L2TCM - serial: kgdboc: Fix NMI-safety problems from keyboard reset code - usb: typec: tipd: fix event checking for tps6598x - usb: typec: ucsi: displayport: Fix potential deadlock - net: usb: ax88179_178a: fix link status when link is set to down/up - usb: dwc3: Wait unconditionally after issuing EndXfer command - binder: fix max_thread type inconsistency - drm/amdgpu: Fix possible NULL dereference in amdgpu_ras_query_error_status_helper() - erofs: reliably distinguish block based and fscache mode - erofs: get rid of erofs_fs_context - kselftest: Add a ksft_perror() helper - mmc: core: Add HS400 tuning in HS400es initialization - KEYS: trusted: Fix memory leak in tpm2_key_encode() - Bluetooth: L2CAP: Fix div-by-zero in l2cap_le_flowctl_init() - Bluetooth: L2CAP: Fix slab-use-after-free in l2cap_connect() - ice: remove unnecessary duplicate checks for VF VSI ID - ice: pass VSI pointer into ice_vc_isvalid_q_id - net: ks8851: Fix another TX stall caused by wrong ISR flag handling - drm/amd/display: Fix division by zero in setup_dsc_config - smb: smb2pdu.h: Avoid -Wflex-array-member-not-at-end warnings - ksmbd: add continuous availability share parameter - cifs: Add tracing for the cifs_tcon struct refcounting - smb: client: instantiate when creating SFU files - smb: client: fix NULL ptr deref in cifs_mark_open_handles_for_deleted_file() - smb3: add trace event for mknod - smb311: additional compression flag defined in updated protocol spec - smb311: correct incorrect offset field in compression header - cifs: Move some extern decls from .c files to .h - ksmbd: Fix spelling mistake "connction" -> "connection" - ksmbd: fix possible null-deref in smb_lazy_parent_lease_break_close - cifs: remove redundant variable assignment - cifs: fixes for get_inode_info - cifs: defer close file handles having RH lease - ksmbd: add support for durable handles v1/v2 - ksmbd: mark SMB2_SESSION_EXPIRED to session when destroying previous session - smb: common: simplify compression headers - smb: common: fix fields sizes in compression_pattern_payload_v1 - smb: client: negotiate compression algorithms - smb3: add dynamic trace point for ioctls - smb: client: return reparse type in /proc/mounts - smb: client: set correct d_type for reparse DFS/DFSR and mount point - smb: client: parse uid, gid, mode and dev from WSL reparse points - smb: client: introduce SMB2_OP_QUERY_WSL_EA - smb: client: Fix a NULL vs IS_ERR() check in wsl_set_xattrs() - smb: client: add support for WSL reparse points - smb: client: reduce number of parameters in smb2_compound_op() - smb: client: fix potential broken compound request - smb: client: move most of reparse point handling code to common file - smb: client: introduce reparse mount option - smb: client: retry compound request without reusing lease - smb: client: do not defer close open handles to deleted files - smb: client: reuse file lease key in compound operations - smb: client: get rid of smb311_posix_query_path_info() - smb: client: parse owner/group when creating reparse points - smb3: update allocation size more accurately on write completion - smb: client: handle path separator of created SMB symlinks - cifs: update the same create_guid on replay - ksmbd: Add kernel-doc for ksmbd_extract_sharename() function - cifs: set replay flag for retries of write command - cifs: commands that are retried should have replay flag set - smb: client: delete "true", "false" defines - smb: Fix some kernel-doc comments - cifs: new mount option called retrans - smb: client: don't clobber ->i_rdev from cached reparse points - cifs: new nt status codes from MS-SMB2 - cifs: pick channel for tcon and tdis - cifs: minor comment cleanup - cifs: remove redundant variable tcon_exist - ksmbd: vfs: fix all kernel-doc warnings - ksmbd: auth: fix most kernel-doc warnings - cifs: remove unneeded return statement - cifs: get rid of dup length check in parse_reparse_point() - cifs: Pass unbyteswapped eof value into SMB2_set_eof() - smb3: Improve exception handling in allocate_mr_list() - cifs: fix in logging in cifs_chan_update_iface - smb: client: handle special files and symlinks in SMB3 POSIX - smb: client: cleanup smb2_query_reparse_point() - smb: client: allow creating symlinks via reparse points - smb: client: optimise reparse point querying - smb: client: allow creating special files via reparse points - smb: client: extend smb2_compound_op() to accept more commands - smb: client: Fix minor whitespace errors and warnings - smb: client: introduce cifs_sfu_make_node() - cifs: fix use after free for iface while disabling secondary channels - Missing field not being returned in ioctl CIFS_IOC_GET_MNT_INFO - smb3: minor cleanup of session handling code - smb3: more minor cleanups for session handling routines - smb3: minor RDMA cleanup - cifs: print server capabilities in DebugData - smb: use crypto_shash_digest() in symlink_hash() - Add definition for new smb3.1.1 command type - SMB3: clarify some of the unused CreateOption flags - cifs: Add client version details to NTLM authenticate message - md: fix kmemleak of rdev->serial - Revert "selftests/bpf: Add netkit to tc_redirect selftest" - btrfs: do not wait for short bulk allocation - keys: Fix overwrite of key expiration on instantiation - dmaengine: idxd: add a write() method for applications to submit work - dmaengine: idxd: add a new security check to deal with a hardware erratum - VFIO: Add the SPR_DSA and SPR_IAX devices to the denylist - Bluetooth: qca: fix firmware check error path - Bluetooth: qca: fix info leak when fetching fw build id - Bluetooth: qca: fix info leak when fetching board id - Bluetooth: qca: generalise device address check - Bluetooth: qca: fix NVM configuration parsing - Bluetooth: qca: add missing firmware sanity checks - Bluetooth: qca: fix wcn3991 device address check - Bluetooth: qca: fix invalid device address check - eventfs: Do not treat events directory different than other directories - tracefs: Still use mount point as default permissions for instances - tracefs: Reset permissions on remount if permissions are options - ksmbd: do not grant v2 lease if parent lease key and epoch are not set - ksmbd: avoid to send duplicate lease break notifications - ksmbd: off ipv6only for both ipv4/ipv6 binding - spi: microchip-core-qspi: fix setting spi bus clock rate - regulator: core: fix debugfs creation regression - nvme-pci: Add quirk for broken MSIs - selftests/mm: fix powerpc ARCH check - x86/apic: Don't access the APIC when disabling x2APIC - hwmon: (pmbus/ucd9000) Increase delay from 250 to 500us - net: fix out-of-bounds access in ops_init - arm64: dts: qcom: sa8155p-adp: fix SDHC2 CD pin configuration - drm/amd/display: Fix incorrect DSC instance for MST - drm/amd/display: Handle Y carry-over in VCP X.Y calculation - drm/i915/bios: Fix parsing backlight BDB data - drm/i915/gt: Automate CCS Mode setting during engine resets - drm/i915/audio: Fix audio time stamp programming for DP - drm/vmwgfx: Fix invalid reads in fence signaled events - drm/vmwgfx: Fix Legacy Display Unit - drm/ttm: Print the memory decryption status just once - drm/amdkfd: don't allow mapping the MMIO HDP page with large pages - Revert "drm/nouveau/firmware: Fix SG_DEBUG error with nvkm_firmware_ctor()" - drm/nouveau/firmware: Fix SG_DEBUG error with nvkm_firmware_ctor() - mei: me: add lunar lake point M DID - clk: sunxi-ng: a64: Set minimum and maximum rate for PLL-MIPI - clk: sunxi-ng: common: Support minimum and maximum rate - slimbus: qcom-ngd-ctrl: Add timeout for wait operation - dyndbg: fix old BUG_ON in >control parser - ASoC: ti: davinci-mcasp: Fix race condition during probe - ASoC: tegra: Fix DSPK 16-bit playback - net: bcmgenet: synchronize UMAC_CMD access - net: bcmgenet: synchronize use of bcmgenet_set_rx_mode() - net: bcmgenet: synchronize EXT_RGMII_OOB_CTRL access - xtensa: fix MAKE_PC_FROM_RA second argument - tipc: fix UAF in error path - e1000e: change usleep_range to udelay in PHY mdic access - kmsan: compiler_types: declare __no_sanitize_or_inline - iio: accel: mxc4005: Interrupt handling fixes - iio: pressure: Fixes BME280 SPI driver data - iio:imu: adis16475: Fix sync mode setting - dt-bindings: iio: health: maxim,max30102: fix compatible check - workqueue: Fix selection of wake_cpu in kick_pool() - mptcp: only allow set existing scheduler for net.mptcp.scheduler - mptcp: ensure snd_nxt is properly initialized on connect - mm/slab: make __free(kfree) accept error pointers - maple_tree: fix mas_empty_area_rev() null pointer dereference - btrfs: set correct ram_bytes when splitting ordered extent - btrfs: add missing mutex_unlock in btrfs_relocate_sys_chunks() - firewire: ohci: fulfill timestamp for some local asynchronous transaction - ALSA: hda/realtek: Fix mute led of HP Laptop 15-da3001TU - usb: typec: tcpm: Check for port partner validity before consuming it - usb: typec: tcpm: unregister existing source caps before re-registration - usb: typec: tcpm: clear pd_event queue in PORT_RESET - usb: dwc3: core: Prevent phy suspend during init - usb: xhci-plat: Don't include xhci.h - usb: gadget: f_fs: Fix a race condition when processing setup packets. - usb: gadget: f_fs: Fix race between aio_cancel() and AIO request complete - usb: gadget: uvc: use correct buffer size when parsing configfs lists - usb: gadget: composite: fix OS descriptors w_value logic - USB: core: Fix access violation during port device removal - usb: ohci: Prevent missed ohci interrupts - usb: Fix regression caused by invalid ep0 maxpacket in virtual SuperSpeed device - usb: typec: ucsi: Fix connector check on init - usb: typec: ucsi: Check for notifications after init - Reapply "drm/qxl: simplify qxl_fence_wait" - firewire: nosy: ensure user_length is taken into account when fetching packet contents - btrfs: fix kvcalloc() arguments order in btrfs_ioctl_send() - drm/amdgpu: once more fix the call oder in amdgpu_ttm_move() v2 - drm/amdgpu: Fix comparison in amdgpu_res_cpu_visible - drm/amd/display: Atom Integrated System Info v2_2 for DCN35 - gpiolib: cdev: fix uninitialised kfifo - gpiolib: cdev: relocate debounce_period_us from struct gpio_desc - gpiolib: cdev: Fix use after free in lineinfo_changed_notify - dm/amd/pm: Fix problems with reboot/shutdown for some SMU 13.0.4/13.0.11 users - drm/connector: Add - drm/meson: dw-hdmi: add bandgap setting for g12 - drm/meson: dw-hdmi: power up phy on device init - net: dsa: mv88e6xxx: add phylink_get_caps for the mv88e6320/21 family - net/smc: fix neighbour and rtable leak in smc_ib_find_route() - ipv6: prevent NULL dereference in ip6_output() - ipv6: annotate data-races around cnf.disable_ipv6 - hsr: Simplify code for announcing HSR nodes timer setup - net-sysfs: convert dev->operstate reads to lockless ones - ipv6: fib6_rules: avoid possible NULL dereference in fib6_rule_action() - dt-bindings: net: mediatek: remove wrongly added clocks and SerDes - rxrpc: Only transmit one ACK per jumbo packet received - rxrpc: Fix congestion control algorithm - rxrpc: Fix the names of the fields in the ACK trailer struct - selftests: test_bridge_neigh_suppress.sh: Fix failures due to duplicate MAC - selftests/net: convert test_bridge_neigh_suppress.sh to run it in unique namespace - ipv6: Fix potential uninit-value access in __ip6_make_skb() - net: bridge: fix corrupted ethernet header on multicast-to-unicast - nfc: nci: Fix kcov check in nci_rx_work() - phonet: fix rtm_phonet_notify() skb allocation - hwmon: (corsair-cpro) Protect ccp->wait_input_report with a spinlock - hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event() - hwmon: (corsair-cpro) Use a separate buffer for sending commands - rtnetlink: Correct nested IFLA_VF_VLAN_LIST attribute validation - net: ks8851: Queue RX packets in IRQ handler instead of disabling BHs - Bluetooth: l2cap: fix null-ptr-deref in l2cap_chan_timeout - Bluetooth: HCI: Fix potential null-ptr-deref - Bluetooth: msft: fix slab-use-after-free in msft_do_close() - Bluetooth: Fix use-after-free bugs caused by sco_sock_timeout - tcp: Use refcount_inc_not_zero() in tcp_twsk_unique(). - tcp: defer shutdown(SEND_SHUTDOWN) for TCP_SYN_RECV sockets - ARM: 9381/1: kasan: clear stale stack poison - qibfs: fix dentry leak - SUNRPC: add a missing rpc_stat for TCP TLS - blk-iocost: do not WARN if iocg was already offlined - net:usb:qmi_wwan: support Rolling modules - drm/radeon: silence UBSAN warning (v3) - platform/x86: ISST: Add Granite Rapids-D to HPM CPU list - drm/nouveau/dp: Don't probe eDP ports twice harder - gpio: lpc32xx: fix module autoloading - fs/9p: drop inodes immediately on non-.L too - clk: Don't hold prepare_lock when calling kref_put() - gpio: crystalcove: Use -ENOTSUPP consistently - gpio: wcove: Use -ENOTSUPP consistently - powerpc/crypto/chacha-p10: Fix failure on non Power10 - 9p: explicitly deny setlease attempts - fs/9p: fix the cache always being enabled on files with qid flags - fs/9p: translate O_TRUNC into OTRUNC - fs/9p: only translate RWX permissions for plain 9P2000 - iommu: mtk: fix module autoloading - smb3: fix broken reconnect when password changing on the server by allowing password rotation - Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted - uio_hv_generic: Don't free decrypted memory - hv_netvsc: Don't free decrypted memory - Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl - Drivers: hv: vmbus: Leak pages if set_memory_encrypted() fails - selftests: timers: Fix valid-adjtimex signed left-shift undefined behavior - amd/amdkfd: sync all devices to wait all processes being evicted - drm/amdgpu: Fix VCN allocation in CPX partition - drm/amd/display: Skip on writeback when it's not applicable - drm/amdgpu: implement IRQ_STATE_ENABLE for SDMA v4.4.2 - drm/amdgpu: Refine IB schedule error logging - tools/power/turbostat: Fix uncore frequency file string - MIPS: scall: Save thread_info.syscall unconditionally on entry - gpu: host1x: Do not setup DMA for virtual devices - blk-iocost: avoid out of bounds shift - scsi: target: Fix SELinux error when systemd-modules loads the target module - memblock tests: fix undefined reference to `BIT' - memblock tests: fix undefined reference to `panic' - memblock tests: fix undefined reference to `early_pfn_to_nid' - btrfs: always clear PERTRANS metadata during commit - btrfs: make btrfs_clear_delalloc_extent() free delalloc reserve - tools/power turbostat: Fix warning upon failed /dev/cpu_dma_latency read - tools/power turbostat: Print ucode revision only if valid - tools/power turbostat: Fix Bzy_MHz documentation typo - tools/power turbostat: Increase the limit for fd opened - tools/power turbostat: Fix added raw MSR output - firewire: ohci: mask bus reset interrupts between ISR and bottom half - ata: sata_gemini: Check clk_enable() result - vboxsf: explicitly deny setlease attempts - net: bcmgenet: Reset RBUF on first open - ALSA: line6: Zero-initialize message buffers - scsi: ufs: core: Fix MCQ mode dev command timeout - scsi: ufs: core: WLUN suspend dev/link state error recovery - regulator: tps65132: Add of_match table - ASoC: SOF: Intel: hda-dsp: Skip IMR boot on ACE platforms in case of S3 suspend - kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries - selftests/ftrace: Fix event filter target_func selection - bpf: Check bloom filter map value size - drm/amdkfd: range check cp bad op exception interrupts - drm/amdkfd: Check cgroup when returning DMABuf info - btrfs: return accurate error code on open failure in open_fs_devices() - scsi: bnx2fc: Remove spin_lock_bh while releasing resources after upload - scsi: mpi3mr: Avoid memcpy field-spanning write WARNING - net: mark racy access on sk->sk_rcvbuf - wifi: iwlwifi: mvm: guard against invalid STA ID on removal - wifi: iwlwifi: read txq->read_ptr under lock - wifi: mac80211: fix prep_connection error path - wifi: cfg80211: fix rdev_dump_mpp() arguments order - wifi: mac80211: fix ieee80211_bss_*_flags kernel-doc - gfs2: Fix invalid metadata access in punch_hole - scsi: lpfc: Use a dedicated lock for ras_fwlog state - scsi: lpfc: Release hbalock before calling lpfc_worker_wake_up() - scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port() - scsi: lpfc: Update lpfc_ramp_down_queue_handler() logic - scsi: lpfc: Remove IRQF_ONESHOT flag from threaded IRQ handling - scsi: lpfc: Move NPIV's transport unregistration to after resource clean up - scsi: ufs: core: Fix MCQ MAC configuration - KVM: arm64: vgic-v2: Check for non-NULL vCPU in vgic_v2_parse_attr() - KVM: arm64: vgic-v2: Use cpuid from userspace as vcpu_id - swiotlb: initialise restricted pool list_head when SWIOTLB_DYNAMIC=y - powerpc/pseries/iommu: LPAR panics during boot up with a frozen PE - powerpc/pseries: make max polling consistent for longer H_CALLs - clk: sunxi-ng: h6: Reparent CPUX during PLL CPUX rate change - clk: qcom: smd-rpm: Restore msm8976 num_clk - net: gro: add flush check in udp_gro_receive_segment - net: gro: fix udp bad offset in socket lookup by adding {inner_}network_offset to napi_gro_cb - net: gro: parse ipv6 ext headers without frag0 invalidation - ipv4: Fix uninit-value access in __ip_make_skb() - drm/panel: ili9341: Use predefined error codes - drm/panel: ili9341: Respect deferred probe - drm/panel: ili9341: Correct use of device property APIs - s390/qeth: Fix kernel panic after setting hsuid - vxlan: Pull inner IP header in vxlan_rcv(). - tipc: fix a possible memleak in tipc_buf_append - rxrpc: Clients must accept conn from any address - net: core: reject skb_copy(_expand) for fraglist GSO skbs - net: bridge: fix multicast-to-unicast with fraglist GSO - spi: fix null pointer dereference within spi_sync - drm/amdgpu: fix doorbell regression - net: dsa: mv88e6xxx: Fix number of databases for 88E6141 / 88E6341 - cxgb4: Properly lock TX queue for the selftest. - s390/cio: Ensure the copied buf is NUL terminated - ALSA: hda: intel-sdw-acpi: fix usage of device_get_named_child_node() - ASoC: meson: cards: select SND_DYNAMIC_MINORS - ASoC: meson: axg-tdm-interface: manage formatters in trigger - ASoC: meson: axg-card: make links nonatomic - ASoC: meson: axg-fifo: use threaded irq to check periods - ASoC: meson: axg-fifo: use FIELD helpers - vxlan: Add missing VNI filter counter update in arp_reduce(). - vxlan: Fix racy device stats updates. - net: qede: use return from qede_parse_actions() - net: qede: use return from qede_parse_flow_attr() for flow_spec - net: qede: use return from qede_parse_flow_attr() for flower - net: qede: sanitize 'rc' in qede_add_tc_flower_fltr() - ALSA: emu10k1: fix E-MU dock initialization - ALSA: emu10k1: move the whole GPIO event handling to the workqueue - ALSA: emu10k1: factor out snd_emu1010_load_dock_firmware() - ALSA: emu10k1: fix E-MU card dock presence monitoring - Fix a potential infinite loop in extract_user_to_sg() - s390/vdso: Add CFI for RA register to asm macro vdso_func - net l2tp: drop flow hash on forward - nsh: Restore skb->{protocol,data,mac_header} for outer header in nsh_gso_segment(). - octeontx2-af: avoid off-by-one read from userspace - bna: ensure the copied buf is NUL terminated - xdp: use flags field to disambiguate broadcast redirect - s390/mm: Fix clearing storage keys for huge pages - s390/mm: Fix storage key clearing for guest huge pages - ASoC: codecs: wsa881x: set clk_stop_mode1 flag - ASoC: Intel: avs: Set name of control as in topology - riscv, bpf: Fix incorrect runtime stats - bpf, arm64: Fix incorrect runtime stats - spi: axi-spi-engine: fix version format string - spi: axi-spi-engine: use common AXI macros - spi: axi-spi-engine: move msg state to new struct - spi: axi-spi-engine: use devm_spi_alloc_host() - spi: axi-spi-engine: simplify driver data allocation - spi: spi-axi-spi-engine: Use helper function devm_clk_get_enabled() - bpf: Fix a verifier verbose message - nvme: fix warn output about shared namespaces without CONFIG_NVME_MULTIPATH - ASoC: SOF: Intel: add default firmware library path for LNL - ASoC: SOF: Introduce generic names for IPC types - regmap: Add regmap_read_bypassed() - bpf, skmsg: Fix NULL pointer dereference in sk_psock_skb_ingress_enqueue - bpf, kconfig: Fix DEBUG_INFO_BTF_MODULES Kconfig definition - regulator: change devm_regulator_get_enable_optional() stub to return Ok - regulator: change stubbed devm_regulator_get_enable to return Ok - regulator: mt6360: De-capitalize devicetree regulator subnodes - pinctrl: devicetree: fix refcount leak in pinctrl_dt_to_map() - power: supply: mt6360_charger: Fix of_match for usb-otg-vbus regulator - power: rt9455: hide unused rt9455_boost_voltage_values - pinctrl: baytrail: Fix selecting gpio pinctrl state - nfs: Handle error of rpc_proc_register() in nfs_net_init(). - nfs: make the rpc_stat per net namespace - nfs: expose /proc/net/sunrpc/nfs in net namespaces - sunrpc: add a struct rpc_stats arg to rpc_create_args - pinctrl: mediatek: paris: Rework support for PIN_CONFIG_{INPUT,OUTPUT}_ENABLE - pinctrl: mediatek: paris: Fix PIN_CONFIG_INPUT_SCHMITT_ENABLE readback - pinctrl: core: delete incorrect free in pinctrl_enable() - pinctrl/meson: fix typo in PDM's pin name - pinctrl: pinctrl-aspeed-g6: Fix register offset for pinconf of GPIOR-T - Bluetooth: qca: add support for QCA2066 - eeprom: at24: fix memory corruption race condition - eeprom: at24: Probe for DDR3 thermal sensor in the SPD case - rust: kernel: require `Send` for `Module` implementations - wifi: nl80211: don't free NULL coalescing rule - rust: macros: fix soundness issue in `module!` macro - rust: module: place generated init_module() function in .init.text - mtd: limit OTP NVMEM cell parse to non-NAND devices - nvmem: add explicit config option to read old syntax fixed OF cells - dmaengine: Revert "dmaengine: pl330: issue_pending waits until WFP state" - dmaengine: pl330: issue_pending waits until WFP state - !9104 [OLK-6.6] drm/phytium: Fix make allmodconfig build fail - DRM: Fix Phytium DRM build fail - !9085 [OLK-6.6] openeuler_defconfig: fix checkdefconfig fail - openeuler_defconfig: fix checkdefconfig fail - !8750 ubifs: Check @c->dirty_[n|p - ubifs: Check @c->dirty_[n|p]n_cnt and @c->nroot state under @c->lp_mutex - !8703 v2 IMA: Introduce a config to bypass i_version detection for Overlayfs issue - IMA: Introduce a config to bypass i_version detection for Overlayfs issue - !8621 LoongArch: fix HT RX INT TRANS register not initialized - LoongArch: fix HT RX INT TRANS register not initialized - !8440 arm64: cpufeature: Both the major and the minor version numbers need to be checked - arm64/mpam: skip mpam initialize under kdump kernel - arm64: cpufeature: Both the major and the minor version numbers need to be checked - !8107 [OLK 6.6]net: hns3: fix kernel crash when devlink reload during pf/vf initialization - {topost} net: hns3: fix kernel crash when devlink reload during vf initialization - {topost} net: hns3: fix kernel crash when devlink reload during pf initialization - !8481 Fix vf init and common user permissions issue - net/ethernet/huawei/hiroce3: Fix vf init and common user permissions issue - !8576 【OLK-6.6】backport PCC patches to support shared interrupt for multiple subspaces and platform notification handling - soc: hisilicon: kunpeng_hccs: replace MAILBOX dependency with PCC - soc: hisilicon: kunpeng_hccs: Add the check for obtaining complete port attribute - mailbox: pcc: Support shared interrupt for multiple subspaces - mailbox: pcc: Add support for platform notification handling - !8471 ext4: Fixes len calculation in mpage_journal_page_buffers - ext4: Fixes len calculation in mpage_journal_page_buffers - !8496 mm/mlock: return EINVAL for illegal user memory range in mlock - mm/mlock: return EINVAL for illegal user memory range in mlock - !8435 LoongArch: add GMAC&GNET support - net: stmmac: dwmac-loongson: Add loongson module author - net: stmmac: dwmac-loongson: Move disable_force flag to _gnet_date - net: stmmac: dwmac-loongson: Add Loongson GNET support - net: stmmac: dwmac-loongson: Fixed failure to set network speed to 1000. - net: stmmac: dwmac-loongson: Add loongson_dwmac_config_legacy - net: stmmac: dwmac-loongson: Add full PCI support - net: stmmac: dwmac-loongson: Add phy_interface for Loongson GMAC - net: stmmac: dwmac-loongson: Add phy mask for Loongson GMAC - net: stmmac: dwmac-loongson: Add ref and ptp clocks for Loongson - net: stmmac: dwmac-loongson: Split up the platform data initialization - net: stmmac: dwmac-loongson: Use PCI_DEVICE_DATA() macro for device identification - net: stmmac: dwmac-loongson: Drop useless platform data - net: stmmac: Export dwmac1000_dma_ops - net: stmmac: Add multi-channel support - net: stmmac: Move the atds flag to the stmmac_dma_cfg structure - !7896 backport upstream stmmac related patches. - net: stmmac: Move MAC caps init to phylink MAC caps getter - net: stmmac: Rename phylink_get_caps() callback to update_caps() - net: phylink: provide mac_get_caps() method - !8450 sched/core: Fix incorrect initialization of the 'burst' parameter in cpu_max_write() - sched/core: Fix incorrect initialization of the 'burst' parameter in cpu_max_write() - !7482 v2 perf parse-events: Make legacy events lower priority than sysfs/JSON - perf x86 test: Update hybrid expectations - perf parse-events: Make legacy events lower priority than sysfs/JSON - !8309 xfs: Fix file creation failure - xfs: Fix file creation failure - !8183 perf pmu: Count sys and cpuid JSON events separately - perf pmu: Count sys and cpuid JSON events separately - !7077 v4 block: dicard bugfix - block: check io size before submit discard - block: fix overflow in blk_ioctl_discard() - !8353 mm/dynamic_pool: clear PG_hugetlb when promote hugepages - mm/dynamic_pool: clear PG_hugetlb when promote hugepages - !8151 LoongArch: Fix secondary bridge routing errors - LoongArch: Fix secondary bridge routing errors - !7948 【OLK-6.6】Fix BUILD REGRESSION warnings in bzwx N5/N6 series NIC drivers - drivers: Fix BUILD REGRESSION warnings in bzwx N5/N6 series NIC drivers - !8228 ubifs: ubifs_link: Fix wrong name len calculating when UBIFS is encrypted - ubifs: ubifs_link: Fix wrong name len calculating when UBIFS is encrypted - !6283 fix deadlock in cgroup1_writeback V2 - cgroup_writeback: fix deadlock in cgroup1_writeback - cgroup_writeback: Revert "fix deadlock in cgroup1_writeback" - !8036 fix CVE-2024-27010 - net/sched: fix kabi change in struct Qdisc - net/sched: Fix mirred deadlock on device recursion to message about demoting connector force-probes- Enable kabi check for src and change the check-kabi format to Python3- riscv-kernel patch update to 6.6.0-29.0.0 - Fix QEMU UEFI boot panic - Deal with riscv SoC dtb search path- Add kabi_whitelist_aarch64/x86 and update Module.kabi_aarch64/x86- riscv-kernel patch update to 6.6.0-28.0.0 - fixed a merge conflict from the commit f1e873348141- !8010 mm/mempolicy.c: fix the out-of-bounds access issue in mpol_parse_str - mm/mempolicy.c: fix the out-of-bounds access issue in mpol_parse_str - !7997 mm: some misc bugfix - mm: vmalloc: bail out early in find_vmap_area() if vmap is not init - Revert "mm: support multi-size THP numa balancing" - mm: simplify thp_vma_allowable_order - mm: huge_memory: add the missing folio_test_pmd_mappable() for THP split statistics - mm/huge_memory: skip invalid debugfs new_order input for folio split - mm: prohibit the last subpage from reusing the entire large folio - mm/memory.c: do_numa_page(): remove a redundant page table read - mm: memory: fix shift-out-of-bounds in fault_around_bytes_set - !7966 [OLK-6.6] openeuler_defconfig: Modify openeuler-defconfig - openeuler_defconfig: Modify openeuler-defconfig - !7909 Scheduler load balance fixes - config: Disable COBFIG_ARCH_CUSTOM_NUMA_DISTANCE for arm64 - sched/numa: Fix numa imbalance in load_balance() - !7917 sched: QOS_SCHED_DYNAMIC_AFFINITY depend on FAIR_GROUP_SCHED - sched: QOS_SCHED_DYNAMIC_AFFINITY depend on FAIR_GROUP_SCHED - Revert "sched: QOS_SCHED_DYNAMIC_AFFINITY depend on FAIR_CGROUP_SCHED" - !7902 v3 Revert "ACPI: Rename ACPI_HOTPLUG_CPU to include 'present'" - Revert "ACPI: Rename ACPI_HOTPLUG_CPU to include 'present'" - !7888 v3 mm: add thp anon pmd size mapping align control - mm: add thp anon pmd size mapping align control - !7730 v2 sched: QOS_SCHED_DYNAMIC_AFFINITY depend on FAIR_CGROUP_SCHED - sched: QOS_SCHED_DYNAMIC_AFFINITY depend on FAIR_CGROUP_SCHED - !7808 Bluetooth: L2CAP: Fix not validating setsockopt user input - Bluetooth: L2CAP: Fix not validating setsockopt user input - !7822 LoongArch: limit min pci msi-x/msi vector number when request more than 32 vectors - LoongArch: limit min pci msi-x/msi vector number when request more than 32 vectors - !7823 LoongArch: fix kdump not work when legacy mode disabled - LoongArch: fix efi map page table error - Revert "LoongArch: kdump: Add memory reservation for old kernel" - Revert "LoongArch: Fix kdump failure on v40 interface specification" - Revert "LoongArch: kdump: Add high memory reservation" - !7764 v2 mm: Some bugfix and optimization - mm/dynamic_pool: clear PG_hugetlb when demote hugepages - mm: optimise vmf_anon_prepare() for VMAs without an anon_vma - mm: delay the check for a NULL anon_vma - mm: assert the mmap_lock is held in __anon_vma_prepare() - mm/memory: change vmf_anon_prepare() to be non-static - mm: always initialise folio->_deferred_list - mm: page_alloc: control latency caused by zone PCP draining - mm/hugetlb: fix DEBUG_LOCKS_WARN_ON(1) when dissolve_free_hugetlb_folio() - hugetlb: check for hugetlb folio before vmemmap_restore - hugetlb: set hugetlb page flag before optimizing vmemmap - mm: add alloc_contig_migrate_range allocation statistics - mm: convert free_zone_device_page to free_zone_device_folio - mm: combine __folio_put_small, __folio_put_large and __folio_put - mm: inline destroy_large_folio() into __folio_put_large() - mm: combine free_the_page() and free_unref_page() - mm: free non-hugetlb large folios in a batch - mm: increase folio batch size - mm: fix list corruption in put_pages_list - mm: remove folio from deferred split list before uncharging it - mm: convert free_swap_cache() to take a folio - mm: use a folio in __collapse_huge_page_copy_succeeded() - mm: convert free_pages_and_swap_cache() to use folios_put() - mm: remove lru_to_page() - mm: remove free_unref_page_list() - memcg: remove mem_cgroup_uncharge_list() - mm: free folios directly in move_folios_to_lru() - mm: free folios in a batch in shrink_folio_list() - mm: allow non-hugetlb large folios to be batch processed - mm: handle large folios in free_unref_folios() - mm: use __page_cache_release() in folios_put() - mm: use free_unref_folios() in put_pages_list() - mm: remove use of folio list from folios_put() - memcg: add mem_cgroup_uncharge_folios() - mm: use folios_put() in __folio_batch_release() - mm: add free_unref_folios() - mm: convert free_unref_page_list() to use folios - mm: make folios_put() the basis of release_pages() - !7812 [OLK-6.6] drm/phytium: Replace default efi fb0 with dc fb - drm/phytium: Replace default efi fb0 with dc fb - !7767 irqchip/loongson-eiointc: fix gsi register error - irqchip/loongson-eiointc: fix gsi register error - !7771 ext4: default enable iomap for buffered IO and large folio - ext4: default enable iomap for buffered IO and large folio - !7721 【OLK-6.6】bugfix from upstream v6.9 for AMD EPYC - x86/CPU/AMD: Add models 0x10-0x1f to the Zen5 range - x86/CPU/AMD: Do the common init on future Zens too - !7572 Fix pseudo nmi identifier undeclaration complilation error - arm64/cpufeature: Fix pseudo nmi identifier undeclaration complilation error - !7537 [OLK-6.6] irqchip/gic-v3: Fix one race condition due to NMI withdraw - irqchip/gic-v3: Fix one race condition due to NMI withdraw - !7164 [sync] PR-7143: media: usbtv: Remove useless locks in usbtv_video_free() - media: usbtv: Remove useless locks in usbtv_video_free() - !6386 [OLK-6.6] Fix warnings for RNPVF driver with loongarch-allmodconfig - RNPVF: NET: Fix "'%d' directive output may be truncated" warnings - !5243 [OLK-6.6] Support PSP identification for Hygon 4th CPU and print secure features when running on Hygon CPUs - x86/config: Set CONFIG_HYGON_CSV by default - x86/cpu/hygon: Clear SME feature flag when not in use - x86/cpufeatures: Add CSV3 CPU feature - x86/cpufeatures: Add CPUID_8C86_0000_EDX CPUID leaf - x86/cpu: Detect memory encryption features on Hygon CPUs - KVM: SVM: Print Hygon CSV support info if support is detected - crypto: ccp: Print Hygon CSV API version when CSV support is detected - x86/mm: Print CSV info into the kernel log - x86/mm: Provide a Kconfig entry to build the HYGON memory encryption support into the kernel - Documentation/arch/x86: Add HYGON secure virtualization description - crypto: ccp: Add support to detect CCP devices on Hygon 4th CPUs - !7180 【3snic】 use same string “sssnic" for "Kernel driver in use" and "Kernel modules" - 3snic: use sssnic as kernel driver name - !7607 Fix allmodconfig build error - net/ethernet/huawei/hiroce3: Fix allmodconfig build error - !7583 [OLK-6.6] Fixed display error for ps23xx when using ast and pe2201 bmc card - drm/ast: Fixed display error for ps23xx when using ast bmc card - drm/phytium: Bugfix Xorg startup for ps23xx when using pe2201 bmc card - !7593 memcg_swap_qos: Backport two bugfix - mm/swapfile: fix infinite loop in get_swap_pages after set memory.swapfile - memcg: fix incorrect value of sysctl_memcg_swap_qos_stat - !7595 jbd2: speed up jbd2_transaction_committed() - jbd2: speed up jbd2_transaction_committed() - !5480 [OLK-6.6] Fix DMA RW sequence disorder issue - Add kh40000_iommu_dma_ops for KH-40000 platform - Add kh40000_direct_dma_ops for KH-40000 platform - !3133 [OLK-6.6] iommu/vt-d:Add support for detecting ACPI device in RMRR - iommu/vt-d: Add support for detecting ACPI namespace device in RMRR- Update the riscv-kernel patch for sg2042, rebase 6.6.0-27.0.0 and add features: - SPI Flash driver - kexec file raw image - HIGHMEM - This patch only applies to the RISC-V architecture, the related commit list: - - sg2042: Update sg2042 openeuler_defconfig - th1520: riscv: config: Enable th1520 support - riscv: thead: Use the wback_inv instead of wback_only - riscv: errata: thead: use pa based instructions for CMO - riscv: errata: thead: use riscv_nonstd_cache_ops for CMO - Revert "riscv: use VA+PA variant of CMO macros for DMA page preparation" - Revert "riscv: use VA+PA variant of CMO macros for DMA synchorization" - Revert "riscv: errata: cmo: add CMO macro variant with both VA and PA" - Revert "riscv: errata: Replace thead cache clean with flush" - Revert "riscv: errata: thead: use riscv_nonstd_cache_ops for CMO" - Revert "riscv: errata: thead: use pa based instructions for CMO" - riscv: mm: fix NOCACHE_THEAD does not set bit[61] correctly - riscv: mm: update T-Head memory type definitions - Revert "sg2042: riscv: changing T-Head PBMT attributes" - riscv: remove compression for riscv Image - th1520: cpufreq: correct typo in config name - th1520: riscv: dts: thead: Add Milk-V Meles board - th1520: cpufreq: light-mpw-cpufreq: fix -Wunused-variable in panic_cpufreq_notifier_call - th1520: cpufreq: light-mpw-cpufreq: fix cpu_pll1 already disabled warning - riscv: Add th1520-lichee-cluster-4a dts support (8G/16G) - riscv: dts: th1520-beaglev-ahead: add alias for emmc & sd - riscv: dts: th1520-lichee-pi-4a: add alias for emmc & sd - riscv: dts: lpi4a 16g support - th1520: perf vendor events riscv: add T-HEAD C9xx JSON file - th1520: riscv: dts: thead: Add PMU event node - riscv: pinctrl: th1520: fix build - riscv: dts: th1520: lpi4a: add rpmsg node - riscv: dts: th1520: add mbox client node - riscv: rpmsg: mailbox-client: sync thead sdk 1.4.2 - riscv: panic: add thead sdk quirks - riscv: dts: add watchdog node - th1520: riscv: dts: Add th1520 reset device tree - th1520: reset: Add th1520 reset driver support - th1520: dt-bindings: reset: Document th1520 reset control - riscv: light_wdt: update sdk 1.4.2 - th1520_light_event: update sdk 1.4.2 - th1520_aon: update sdk 1.4.2 - th1520: fix compile th1520-beaglev-ahead error - th1520: add TH1520 cpu frequency driver - th1520: riscv: errata: thead: use pa based instructions for CMO - th1520: riscv: errata: thead: use riscv_nonstd_cache_ops for CMO - riscv: dts: thead: Add TH1520 CPU reset node - th1520: riscv: dts: thead: Enable Lichee Pi 4A USB - th1520: riscv: dts: thead: Add Lichee Pi 4A IO expansions - th1520: riscv: dts: thead: Add TH1520 USB nodes - th1520: riscv: dts: thead: Add TH1520 I2C nodes - th1520: usb: dwc3: add T-HEAD TH1520 usb driver - th1520: dt-bindings: usb: Add T-HEAD TH1520 USB controller - th1520: riscv: dts: thead: Add BeagleV Ahead SDIO0 pins - th1520: riscv: dts: thead: Add Lichee Pi 4A SDIO0 pins - th1520: riscv: dts: thead: Add TH1520 ethernet nodes - th1520: net: stmmac: add glue layer for T-HEAD TH1520 SoC - th1520: dt-bindings: net: add T-HEAD dwmac support - th1520: dt-bindings: net: snps,dwmac: allow dwmac-3.70a to set pbl properties - th1520: riscv: dts: thead: Enable Lichee Pi 4A PWM fan - th1520: riscv: dts: thead: Add TH1520 PVT node - th1520: riscv: dts: thead: Add TH1520 PWM node - th1520: pwm: add T-HEAD PWM driver - th1520: dt-bindings: pwm: Add T-HEAD PWM controller - th1520: gpio: dwapb: Use generic request, free and set_config - riscv: dts: thead: Enable LicheePi 4A eMMC and microSD - riscv: dts: thead: Enable BeagleV Ahead eMMC and microSD - riscv: dts: thead: Add TH1520 mmc controllers and sdhci clock - riscv: defconfig: Enable mmc and dma drivers for T-Head TH1520 - mmc: sdhci-of-dwcmshc: Add support for T-Head TH1520 - mmc: sdhci: add __sdhci_execute_tuning() to header - dt-bindings: mmc: sdhci-of-dwcmhsc: Add T-Head TH1520 support - th1520: riscv: dtb: thead: Add BeagleV Ahead LEDs - th1520: riscv: dts: thead: Add TH1520 pinctrl settings for UART0 - th1520: riscv: dts: thead: Adjust TH1520 GPIO labels - th1520: riscv: dts: thead: Add TH1520 GPIO ranges - th1520: riscv: dts: thead: Add TH1520 pin control nodes - th1520: pinctrl: Add driver for the T-Head TH1520 SoC - th1520: dt-bindings: pinctrl: Add thead,th1520-pinctrl bindings - th1520: dt-bindings: gpio: dwapb: allow gpio-ranges - sg2042: riscv: config: Enable sg2042 support - sg2042: drivers: rtc: disable BMC RTC device - sg2042: dts: add i2c-rtc ds1307 device node for single chip - sg2042: riscv:dts:modify dw gpio clock name - sg2042: drivers:pci:remove the err log of parsing pci - sg2042: driver: ipmi: support KVM and IPMI SI for BMC - sg2042: perf cpumap: Make counter as unsigned ints - sg2042: driver: radeon: deinit device during kexec - sg2042: kernel: schedule: Fix set_task_cpu() bug - sg2042: mm: Modify __find_max_addr for memory hole - sg2042: riscv: kernel: Optimize apply_relocate_add() - sg2042: riscv: mm: Clear compilation warning about last_cpupid - sg2042: kernel: tick: filter unnecessary printing - sg2042: kernel: Adjust the log level of the tick_switch_to_oneshot function - sg2042: driver: clk: Modify the timer clock is turned off defaultly - sg2042: drivers: clock: Add sophgo sg2042 multi-chip clock synchronous support - Revert "riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings" - Revert "riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC" - Revert "riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping" - sg2042: riscv: mm: Add high memory on riscv64 using sv39 - sg2042: riscv/kexec: handle R_RISCV_ADD16 and R_RISCV_SUB16 relocation types - sg2042: riscv: kexec: Add image loader for kexec file - sg2042: drm/amd/display: Support DRM_AMD_DC_FP on RISC-V - sg2042: riscv: Factor out riscv-march-y to a separate Makefile - sg2042: riscv: Add support for kernel-mode FPU - sg2042: mango pci hack:broadcast when no MSI source known - sg2042: nvidia hda: force msi - sg2042: radeon hack: force 64-bit msi to fit top intc - sg2042: amdgpu: disable rebar - sg2042: ttm: disallow cached mapping - sg2042: driver: soc: Add sophgo sg2042 soc support - sg2042: drivers: pcie: Create msi-x whitelist,turn on msi-x for top intr - sg2042: driver: pcie: Add sophgo sg2042 soc support - sg2042: driver: net: Add sophgo sg2042 soc support - sg2042: driver: mtd: Add sophgo sg2042 soc support - sg2042: driver: mmc: Add sophgo sg2042 soc support - sg2042: driver: reset: Add sophgo sg2042 soc support - sg2042: driver: pinctrl: Add sophgo sg2042 soc support - sg2042: driver: clk: Add sophgo sg2042 soc support - sg2042: riscv: spinlock: Fix deadlock issue - sg2042: riscv: add smp_cond_load_acquire() - sg2042: riscv: add ioremap_wc for gpu - sg2042: riscv: changing T-Head PBMT attributes - sg2042: riscv: errata: thead: Make cache clean to flush - sg2042: riscv: use VA+PA variant of CMO macros for DMA page preparation - sg2042: riscv: use VA+PA variant of CMO macros for DMA synchorization - sg2042: riscv: errata: cmo: add CMO macro variant with both VA and PA - sg2042: riscv: errata: Replace thead cache clean with flush - sg2042: riscv: Kconfig: Set vector as default no - sg2042: riscv: Add sophgo sg2042 soc support- !7527 ext4 iomap performance optimize - ext4: fallback to generic_perform_write once iov_iter_count <= PAGE_SIZE - iomap: export __iomap_write_{begin|end} - !7530 mm: more thp control for large folio - mm: correct the docs for thp_fault_alloc and thp_fault_fallback - mm: add docs for per-order mTHP counters and transhuge_page ABI - mm: add per-order mTHP anon_swpout and anon_swpout_fallback counters - mm: add per-order mTHP anon_fault_alloc and anon_fault_fallback counters - mm: add control to allow specified high-order pages stored on PCP list - mm: huge_memory: add thp mapping align control - mm: huge_memory: add folio_get_unmapped_area() - mm: filemap: make mTHP configurable for exec mapping - mm/filemap: Allow arch to request folio size for exec memory - mm/memcontrol: remove __mod_lruvec_page_state() - mm/khugepaged: use a folio more in collapse_file() - mm: remove inc/dec lruvec page state functions - !7521 v2 Avoiding false sharing in field access of tk_core - openeuler_defconfig: Enable CONFIG_ARCH_LLC_128_LINE_SIZE for Hisilicon platforms - timekeeping: Avoiding false sharing in field access of tk_core - !7182 v3 mm: mglru: reuse some legacy trace - mm: multi-gen LRU: reuse some legacy trace events - mm, vmscan: remove ISOLATE_UNMAPPED - trace-vmscan-postprocess: sync with tracepoints updates - !7219 Hygon model 6h L3 PMU event duplicate creating issue fix - perf/x86/uncore: Create L3 event strictly to the CPU vendor - !7474 sched/fair: set burst to zero when cfs bandwidth is cancelled - sched/fair: set burst to zero when set max to cpu.max - sched/fair: limit burst to zero when cfs bandwidth is toggled off - !7475 Makefile.oever: add OPENEULER_RELEASE for version.h - Makefile.oever: add OPENEULER_RELEASE for version.h - !6241 add pmu support for loongarch kvm - LoongArch: KVM: Add PMU support - !5654 [OLK-6.6] USB: UAS: return ENODEV when submit urbs fail with device not attached - USB: UAS: return ENODEV when submit urbs fail with device not attached - !5218 [OLK-6.6] Add HGSC_CERT_IMPORT ioctl interface for Hygon CPUs. - crypto: ccp: Implement CSV_HGSC_CERT_IMPORT ioctl command - crypto: ccp: Move the fixup code for Hygon psp to Hygon specific files - crypto: ccp: Bind specific sp_dev_vdata for Hygon secure processor - crypto: ccp: Introduce hygon specific interface to support driver - !6311 v2 ima: Avoid blocking in RCU read-side critical section - ima: Avoid blocking in RCU read-side critical section - !6837 fs: sysfs: Fix reference leak in sysfs_break_active_protection() - fs: sysfs: Fix reference leak in sysfs_break_active_protection() - !5644 [OLK-6.6] x86/mce: Set bios_cmci_threshold for CMCI threshold - x86/mce: Set bios_cmci_threshold for CMCI threshold - !7454 add new kvm_type for Confidential VMs - kvm: add macro CONFIG_CVM_HOST to defconfig - kvm: add new kvm_type for cvm - !7405 v2 mm: prepare to support weighted interleaving mempolicy - mm: prepare to support weighted interleaving mempolicy - !7370 v2 sched: smart_grid: silence complier error - sched: smart_grid: silence complier error - !7227 arm64: arm_pmuv3: Correctly extract and check the PMUVer - arm64: arm_pmuv3: Correctly extract and check the PMUVer - !5291 [OLK-6.6] iommu/dma: Fix not fully traversing iova reservations issue - iommu/dma: Fix not fully traversing iova reservations issue - !6774 [OLK-6.6] merge upstream 4 wangxun related patches to fix i2c bug - Revert "net: txgbe: fix clk_name exceed MAX_DEV_ID limits" - Revert "net: txgbe: fix i2c dev name cannot match clkdev" - net: wangxun: add ethtool_ops for channel number - clkdev: Update clkdev id usage to allow for longer names - !7206 v2 sched: programmable: Allow set tag for pid 1. - sched: programmable: Allow set tag for pid 1.- !7198 v2 mm: prepare more high-order pages on pcplist - mm: prepare more high-order pages to be stored on the per-cpu lists - mm: page_alloc: use the correct THP order for THP PCP - !7196 v3 Backport folio feature and bugfix - mm: madvise: avoid split during MADV_PAGEOUT and MADV_COLD - mm: vmscan: avoid split during shrink_folio_list() - mm: swap: allow storage of all mTHP orders - mm: swap: update get_swap_pages() to take folio order - mm: swap: simplify struct percpu_cluster - mm: swap: free_swap_and_cache_nr() as batched free_swap_and_cache() - mm: swap: remove CLUSTER_FLAG_HUGE from swap_cluster_info:flags - mm/madvise: don't forget to leave lazy MMU mode in madvise_cold_or_pageout_pte_range() - mm/madvise: add cond_resched() in madvise_cold_or_pageout_pte_range() - mm: support multi-size THP numa balancing - mm: factor out the numa mapping rebuilding into a new helper - mm: alloc_anon_folio: avoid doing vma_thp_gfp_mask in fallback cases - huge_memory.c: document huge page splitting rules more thoroughly - mm: convert folio_estimated_sharers() to folio_likely_mapped_shared() - mm/migrate: split source folio if it is on deferred split list - mm: hold PTL from the first PTE while reclaiming a large folio - madvise:madvise_cold_or_pageout_pte_range(): allow split while folio_estimated_sharers = 0 - mm/filemap: don't decrease mmap_miss when folio has workingset flag - mm/readahead: break read-ahead loop if filemap_add_folio return -ENOMEM - arm64: mm: swap: support THP_SWAP on hardware with MTE - mm: remove PageAnonExclusive assertions in unuse_pte() - mm: remove struct page from get_shadow_from_swap_cache - selftests: mm: fix unused and uninitialized variable warning - XArray: set the marks correctly when splitting an entry - mm/huge_memory: check new folio order when split a folio - mm: huge_memory: enable debugfs to split huge pages to any order - mm: thp: split huge page to any lower order pages - mm: page_owner: add support for splitting to any order in split page_owner - mm: memcg: make memcg huge page split support any order split - mm/page_owner: use order instead of nr in split_page_owner() - mm/memcg: use order instead of nr in split_page_memcg() - mm: support order-1 folios in the page cache - mm/huge_memory: only split PMD mapping when necessary in unmap_folio() - selftests/mm: split_huge_page_test: conform test to TAP format output - mm: huge_memory: use more folio api in __split_huge_page_tail() - mm/vmalloc: fix return value of vb_alloc if size is 0 - mm: use memalloc_nofs_save() in page_cache_ra_order() - mm: madvise: pageout: ignore references rather than clearing young - mm: ratelimit stat flush from workingset shrinker - mm, oom:dump_tasks add rss detailed information printing - arm64/mm: improve comment in contpte_ptep_get_lockless() - arm64/mm: export contpte symbols only to GPL users - mm: page_alloc: enforce minimum zone size to do high atomic reserves - mm: page_alloc: correct high atomic reserve calculations - mm: fix draining remote pageset - !7190 entry: inline syscall enter/exit functions - entry: Move syscall_enter_from_user_mode() to header file - entry: Move enter_from_user_mode() to header file - entry: Move exit to usermode functions to header file - !7130 v2 openeuler_defconfig: update oedefconfig for the minimum set - openeuler_defconfig: update oedefconfig for the minimum set - !7141 spi: hisi-kunpeng: Add validation for the minimum value of speed_hz - spi: hisi-kunpeng: Add validation for the minimum value of speed_hz - spi: Add verification for the max_frequency provided by the firmware - !7136 Fix failed in acpi_gpiochip_find() by adding parent node match - gpiolib: acpi: Fix failed in acpi_gpiochip_find() by adding parent node match - !6778 v2 Fix two soc bugs of hip09 - irqchip: gicv3: Add workaround for hip09 erratum 162200806 - irqchip: gicv3: Add workaround for hip09 erratum 162200803 - !7165 v2 tick/broadcast-hrtimer: Prevent the timer device on broadcast duty CPU from being disabled - tick/broadcast-hrtimer: Prevent the timer device on broadcast duty CPU from being disabled - !7184 v3 md: do not delete safemode_timer in mddev_suspend - md: do not delete safemode_timer in mddev_suspend - !7131 net: hns3: Fix ROH mac address initialization. - net: hns3: Fix ROH mac address initialization. - !7126 net: hns3: some bugfixes for hns3 driver - net: hns3: fix kernel crash when devlink reload during initialization - net: hns3: direct return when receive a unknown mailbox message - net: hns3: release PTP resources if pf initialization failed - net: hns3: change type of numa_node_mask as nodemask_t - net: hns3: using cpumask_copy when set value to cpumask_t - net: hns3: set irq affinity directly - net: hns3: use appropriate barrier function after setting a bit value - net: hns3: don't need to check an unsigned number is less than 0 - net: hns3: add - net: hns3: using user configure after hardware reset - net: hns3: add cond_resched() to hns3 ring buffer init process - net: hns3: fix kernel crash problem in concurrent scenario - net: hns3: fix port vlan filter not disabled issue - net: hns3: revert "net: hns3: fix port vlan filter not disabled problem in dynamic vlan mode" - !7159 【OLK 6.6】 backport some mailist patches for perf - drivers/perf: hisi: hns3: Actually use devm_add_action_or_reset() - drivers/perf: hisi: hns3: Fix out-of-bound access when valid event group - drivers/perf: hisi_pcie: Fix out-of-bound access when valid event group - !7068 kernfs: RCU protect kernfs_nodes and avoid kernfs_idr_lock in kernfs_find_and_get_node_by_id() - kernfs: RCU protect kernfs_nodes and avoid kernfs_idr_lock in kernfs_find_and_get_node_by_id() - !7153 Backports for OLK-6.6 - netfilter: br_netfilter: skip conntrack input hook for promisc packets - netfilter: bridge: confirm multicast packets before passing them up the stack - !7069 ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super() - ext4: fix uninitialized ratelimit_state->lock access in __ext4_fill_super() - !7075 RDMA/hns: Some bugfixes and cleanups - RDMA/hns: Fix soft lockup under heavy CEQE load - RDMA/hns: Fix sleeping in spin_lock critical section - RDMA/hns: Fix Use-After-Free of rsv_qp - RDMA/hns: Fix a missing check of atomic wr length - !3184 [OLK-6.6] add support for Zhaoxin ZXPAUSE instruction - x86/delay: add support for Zhaoxin ZXPAUSE instruction - !7078 v2 Backport four conflict stable patch - mm: turn folio_test_hugetlb into a PageType - mm/hugetlb: fix missing hugetlb_lock for resv uncharge - fork: defer linking file vma until vma is fully initialized - mm, treewide: introduce NR_PAGE_ORDERS - !7067 crypto: hisilicon fix some issues - uacce: fix for cdev memory leak - crypto: hisilicon/qm - adjust the internal processing sequence of the vf enable and disable - crypto: hisilicon/zip - optimize the address offset of the reg query function - !4084 riscv64: initial LIVEPATCH_WO_FTRACE support - riscv64: add initial livepatch support - livepatch: add arch hook before doing klp_resolve_symbols - !6868 irqchip/loongson-pch-pic: Update interrupt registration policy - irqchip/loongson-pch-pic: Update interrupt registration policy - !6004 [OLK-6.6] fix bug:ethtool -S and ethtool -x/X for mucse rnpm drvier - mucse: ethtool -S and ethtool -x/X for mucse rnpm drvier at the end when print msg- Add riscv-kernel patch, which adds support for sg2042 and th1520 RISC-V SoCs. - This patch only applies to the RISC-V architecture, the related commit list: - - th1520: riscv: config: Enable th1520 support - riscv: thead: Use the wback_inv instead of wback_only - riscv: errata: thead: use pa based instructions for CMO - riscv: errata: thead: use riscv_nonstd_cache_ops for CMO - Revert "riscv: errata: thead: use riscv_nonstd_cache_ops for CMO" - Revert "riscv: errata: thead: use pa based instructions for CMO" - riscv: mm: fix NOCACHE_THEAD does not set bit[61] correctly - riscv: mm: update T-Head memory type definitions - Revert "sg2042: riscv: changing T-Head PBMT attributes" - riscv: remove compression for riscv Image - th1520: cpufreq: correct typo in config name - th1520: riscv: dts: thead: Add Milk-V Meles board - th1520: cpufreq: light-mpw-cpufreq: fix -Wunused-variable in panic_cpufreq_notifier_call - th1520: cpufreq: light-mpw-cpufreq: fix cpu_pll1 already disabled warning - riscv: Add th1520-lichee-cluster-4a dts support (8G/16G) - riscv: dts: th1520-beaglev-ahead: add alias for emmc & sd - riscv: dts: th1520-lichee-pi-4a: add alias for emmc & sd - riscv: dts: lpi4a 16g support - th1520: perf vendor events riscv: add T-HEAD C9xx JSON file - th1520: riscv: dts: thead: Add PMU event node - riscv: pinctrl: th1520: fix build - riscv: dts: th1520: lpi4a: add rpmsg node - riscv: dts: th1520: add mbox client node - riscv: rpmsg: mailbox-client: sync thead sdk 1.4.2 - riscv: panic: add thead sdk quirks - riscv: dts: add watchdog node - th1520: riscv: dts: Add th1520 reset device tree - th1520: reset: Add th1520 reset driver support - th1520: dt-bindings: reset: Document th1520 reset control - riscv: light_wdt: update sdk 1.4.2 - th1520_light_event: update sdk 1.4.2 - th1520_aon: update sdk 1.4.2 - th1520: fix compile th1520-beaglev-ahead error - th1520: add TH1520 cpu frequency driver - th1520: riscv: errata: thead: use pa based instructions for CMO - th1520: riscv: errata: thead: use riscv_nonstd_cache_ops for CMO - riscv: dts: thead: Add TH1520 CPU reset node - th1520: riscv: dts: thead: Enable Lichee Pi 4A USB - th1520: riscv: dts: thead: Add Lichee Pi 4A IO expansions - th1520: riscv: dts: thead: Add TH1520 USB nodes - th1520: riscv: dts: thead: Add TH1520 I2C nodes - th1520: usb: dwc3: add T-HEAD TH1520 usb driver - th1520: dt-bindings: usb: Add T-HEAD TH1520 USB controller - th1520: riscv: dts: thead: Add BeagleV Ahead SDIO0 pins - th1520: riscv: dts: thead: Add Lichee Pi 4A SDIO0 pins - th1520: riscv: dts: thead: Add TH1520 ethernet nodes - th1520: net: stmmac: add glue layer for T-HEAD TH1520 SoC - th1520: dt-bindings: net: add T-HEAD dwmac support - th1520: dt-bindings: net: snps,dwmac: allow dwmac-3.70a to set pbl properties - th1520: riscv: dts: thead: Enable Lichee Pi 4A PWM fan - th1520: riscv: dts: thead: Add TH1520 PVT node - th1520: riscv: dts: thead: Add TH1520 PWM node - th1520: pwm: add T-HEAD PWM driver - th1520: dt-bindings: pwm: Add T-HEAD PWM controller - th1520: gpio: dwapb: Use generic request, free and set_config - riscv: dts: thead: Enable LicheePi 4A eMMC and microSD - riscv: dts: thead: Enable BeagleV Ahead eMMC and microSD - riscv: dts: thead: Add TH1520 mmc controllers and sdhci clock - riscv: defconfig: Enable mmc and dma drivers for T-Head TH1520 - mmc: sdhci-of-dwcmshc: Add support for T-Head TH1520 - mmc: sdhci: add __sdhci_execute_tuning() to header - dt-bindings: mmc: sdhci-of-dwcmhsc: Add T-Head TH1520 support - th1520: riscv: dtb: thead: Add BeagleV Ahead LEDs - th1520: riscv: dts: thead: Add TH1520 pinctrl settings for UART0 - th1520: riscv: dts: thead: Adjust TH1520 GPIO labels - th1520: riscv: dts: thead: Add TH1520 GPIO ranges - th1520: riscv: dts: thead: Add TH1520 pin control nodes - th1520: pinctrl: Add driver for the T-Head TH1520 SoC - th1520: dt-bindings: pinctrl: Add thead,th1520-pinctrl bindings - th1520: dt-bindings: gpio: dwapb: allow gpio-ranges - sg2042: riscv: config: Enable sg2042 support - sg2042: riscv: changing T-Head PBMT attributes - sg2042: kconfig: Enable DW_APB_TIMER_OF in ARCH_SOPHGO - sg2042: pcie contronller msi-x whitelist add device_id - sg2042: nvidia hda: force msi - sg2042: radeon hack: force 64-bit msi to fit top intc - sg2042: amdgpu: disable rebar - sg2042: ttm: disallow cached mapping - sg2042: mango pci hack: broadcast when no MSI source known - sg2042: riscv: dts: separate sg2042 mtime and mtimecmp to fit aclint format - sg2042: dt-bindings: timer: thead,c900-aclint-mtimer: separate mtime and mtimecmp regs - sg2042: riscv: dts: modify the PCIe range - sg2042: drivers: clk: turn off non-essential clocks by default - sg2042: drivers: clk: Avoid the problem of serial port garbled characters - sg2042: mm: Modify __find_max_addr for memory hole - sg2042: riscv: dts: Add timer apb clock - sg2042: riscv: dts: Remove cma node - sg2042: riscv: dts: Add uart apb clock and remove sysdma clock - sg2042: riscv: dts: Move memory node from dts to zsbl - sg2042: riscv: dts: Reduce bootargs - sg2042: riscv: dts: Configure external interrupt in m mode - sg2042: rebase: v6.6-rc1: Fix some compile warnings - sg2042: riscv: dts: Remove nvme paremeter in bootargs - sg2042: riscv: dtsi: confirm correspondence between PMU events and IDs - sg2042: driver: pcie: support msix for top intr - sg2042: driver: mmc: add config for MMC_SDHCI_SOPHGO - sg2042: riscv: Kconfig: Set vector as default no - sg2042: driver: soc: Add sophgo sg2042 soc support - sg2042: driver: net: Add sophgo sg2042 soc support - sg2042: driver: mmc: Add sophgo sg2042 soc support - sg2042: driver: pcie: Add sophgo sg2042 soc support - sg2042: driver: reset: Add sophgo sg2042 soc support - sg2042: driver: pinctrl: Add sophgo sg2042 soc support - sg2042: driver: clk: Add sophgo sg2042 soc support - sg2042: riscv: dts: Add sophgo sg2042 soc support - sg2042: riscv: defconfig: enable SOPHGO SoC - sg2042: riscv: dts: sophgo: add Milk-V Pioneer board device tree - sg2042: riscv: dts: add initial Sophgo SG2042 SoC device tree - sg2042: dt-bindings: interrupt-controller: Add Sophgo sg2042 CLINT mswi - sg2042: dt-bindings: timer: Add Sophgo sg2042 CLINT timer - sg2042: dt-bindings: interrupt-controller: Add Sophgo SG2042 PLIC - sg2042: dt-bindings: riscv: Add T-HEAD C920 compatibles - sg2042: dt-bindings: riscv: add sophgo sg2042 bindings - sg2042: dt-bindings: vendor-prefixes: add milkv/sophgo - sg2042: riscv: Add SOPHGO SOC family Kconfig support- !6930 fix general protection fault in update_cpumask - cgroup/cpuset: fix general protection fault in update_cpumask - !6905 v2 arm64: mmap: disable align larger anonymous mappings on THP boundaries - arm64: mmap: disable align larger anonymous mappings on THP boundaries - !7015 Fixes and cleanups to fs-writeback - fs/writeback: remove unnecessary return in writeback_inodes_sb - fs/writeback: correct comment of __wakeup_flusher_threads_bdi - fs/writeback: only calculate dirtied_before when b_io is empty - fs/writeback: remove unused parameter wb of finish_writeback_work - fs/writeback: bail out if there is no more inodes for IO and queued once - fs/writeback: avoid to writeback non-expired inode in kupdate writeback - !6581 LoongArch: fix KASLR can not be disabled by nokaslr when boot from old BPI - LoongArch: fix KASLR can not be disabled by nokaslr when boot from old BPI - !6483 LoongArch: fix boot error caused by ioremap_page_range error - LoongArch: fix boot error caused by ioremap_page_range error - !6759 net: hns3: backport some maillist patches - net: hns3: move constants from hclge_debugfs.h to hclge_debugfs.c - net: hns3: dump more reg info based on ras mod - net: hns3: add command queue trace for hns3 - net: hns3: add support to query scc version by devlink info - net: hns3: revert "net: hns3: dump more reg info based on ras mod" - net: hns3: revert "net: hns3: add command queue trace for hns3" - net: hns3: revert "net: hns3: add support to query scc version by devlink info" - !7011 v3 bugfix patches from OLK-5.10 - x86/quirks: Add parameter to clear MSIs early on boot - x86/PCI: Export find_cap() to be used in early PCI code - !6844 block: fix deadlock between bd_link_disk_holder and partition scan - block: fix deadlock between bd_link_disk_holder and partition scan - !5879 [OLK-6.6] Fix 'duplicate symbol rnp10_netdev_ops' error for RNPGBE driver with x86_64-allyesconfig - RNPGBE: NET: Fix 'duplicate symbol rnp10_netdev_ops' errors - !5836 [OLK-6.6] Fix "'snprintf' output between 10 and 37 bytes into a destination of size 24" warning for RNP driver with loongarch-allmodconfig - RNP: NET: Fix "'snprintf' output between 10 and 37 bytes into a destination of size 24" wanrings- !6824 Introduce CONFIG_ARCH_CUSTOM_NUMA_DISTANCE - config: enable COBFIG_ARCH_CUSTOM_NUMA_DISTANCE for arm64 - arm64/numa: Support node_reclaim_distance adjust for arch - !6877 maple_tree: avoid checking other gaps after getting the largest gap - maple_tree: avoid checking other gaps after getting the largest gap - !6859 [openEuler-24.03-LTS][linux-6.6.y sync] Backport 6.6.23-6.6.30 LTS Patches - x86: update openeuler_defconfig for x86_64 - bounds: Use the right number of bits for power-of-two CONFIG_NR_CPUS - net/mlx5e: Advertise mlx5 ethernet driver updates sk_buff md_dst for MACsec - macsec: Detect if Rx skb is macsec-related for offloading devices that update md_dst - macsec: Enable devices to advertise whether they update sk_buff md_dst during offloads - Revert "riscv: kdump: fix crashkernel reserving problem on RISC-V" - ovl: fix memory leak in ovl_parse_param() - phy: qcom: qmp-combo: fix VCO div offset on v5_5nm and v6 - i2c: smbus: fix NULL function pointer dereference - sched/eevdf: Prevent vlag from going out of bounds in reweight_eevdf() - sched/eevdf: Fix miscalculation in reweight_entity() when se is not curr - sched/eevdf: Always update V if se->on_rq when reweighting - phy: ti: tusb1210: Resolve charger-det crash if charger psy is unregistered - riscv: Fix loading 64-bit NOMMU kernels past the start of RAM - riscv: Fix TASK_SIZE on 64-bit NOMMU - riscv: fix VMALLOC_START definition - dmaengine: idxd: Fix oops during rmmod on single-CPU platforms - dma: xilinx_dpdma: Fix locking - dmaengine: idxd: Convert spinlock to mutex to lock evl workqueue - phy: qcom: m31: match requested regulator name with dt schema - phy: rockchip: naneng-combphy: Fix mux on rk3588 - phy: rockchip-snps-pcie3: fix clearing PHP_GRF_PCIESEL_CON bits - phy: rockchip-snps-pcie3: fix bifurcation on rk3588 - phy: freescale: imx8m-pcie: fix pcie link-up instability - phy: marvell: a3700-comphy: Fix hardcoded array size - phy: marvell: a3700-comphy: Fix out of bounds read - soundwire: amd: fix for wake interrupt handling for clockstop mode - idma64: Don't try to serve interrupts when device is powered off - dmaengine: tegra186: Fix residual calculation - dmaengine: owl: fix register access functions - x86/tdx: Preserve shared bit on mprotect() - phy: qcom: qmp-combo: Fix VCO div offset on v3 - phy: qcom: qmp-combo: Fix register base for QSERDES_DP_PHY_MODE - mtd: diskonchip: work around ubsan link failure - udp: preserve the connected status if only UDP cmsg - fbdev: fix incorrect address computation in deferred IO - stackdepot: respect __GFP_NOLOCKDEP allocation flag - net: b44: set pause params only when interface is up - ethernet: Add helper for assigning packet type when dest address does not match device address - ACPI: CPPC: Fix access width used for PCC registers - ACPI: CPPC: Fix bit_offset shift in MASK_VAL() macro - ACPI: CPPC: Use access_width over bit_width for system memory accesses - irqchip/gic-v3-its: Prevent double free on error - drm/amdgpu: Fix leak when GPU memory allocation fails - drm/amdgpu: Assign correct bits for SDMA HDP flush - drm/amdgpu/sdma5.2: use legacy HDP flush for SDMA2/3 - arm64: dts: rockchip: enable internal pull-up for Q7_THRM# on RK3399 Puma - arm64: dts: qcom: sm8450: Fix the msi-map entries - arm64: dts: qcom: sc8280xp: add missing PCIe minimum OPP - LoongArch: Fix access error when read fault on a write-only VMA - LoongArch: Fix callchain parse error with kernel tracepoint events - cpu: Re-enable CPU mitigations by default for !X86 architectures - btrfs: fix information leak in btrfs_ioctl_logical_to_ino() - btrfs: scrub: run relocation repair when/only needed - btrfs: fix wrong block_start calculation for btrfs_drop_extent_map_range() - btrfs: fallback if compressed IO fails for ENOSPC - HID: i2c-hid: remove I2C_HID_READ_PENDING flag to prevent lock-up - smb3: fix lock ordering potential deadlock in cifs_sync_mid_result - smb3: missing lock when picking channel - smb: client: Fix struct_group() usage in __packed structs - mm: support page_mapcount() on page_has_type() pages - mm: create FOLIO_FLAG_FALSE and FOLIO_TYPE_OPS macros - mmc: sdhci-msm: pervent access to suspended controller - mtd: rawnand: qcom: Fix broken OP_RESET_DEVICE command in qcom_misc_cmd_type_exec() - Bluetooth: qca: fix NULL-deref on non-serdev setup - Bluetooth: qca: fix NULL-deref on non-serdev suspend - Bluetooth: btusb: Add Realtek RTL8852BE support ID 0x0bda:0x4853 - Bluetooth: Fix type of len in {l2cap,sco}_sock_getsockopt_old() - rust: remove `params` from `module` macro example - kbuild: rust: force `alloc` extern to allow "empty" Rust files - kbuild: rust: remove unneeded `@rustc_cfg` to avoid ICE - rust: make mutually exclusive with CFI_CLANG - rust: init: remove impl Zeroable for Infallible - rust: don't select CONSTRUCTORS - x86/cpu: Fix check for RDPKRU in __show_regs() - selftests/seccomp: Handle EINVAL on unshare(CLONE_NEWPID) - selftests/seccomp: Change the syscall used in KILL_THREAD test - selftests/seccomp: user_notification_addfd check nextfd is available - Squashfs: check the inode number is not the invalid value of zero - squashfs: convert to new timestamp accessors - drm/amdgpu: fix visible VRAM handling during faults - drm/amdgpu: add shared fdinfo stats - drm: add drm_gem_object_is_shared_for_memory_stats() helper - mm/madvise: make MADV_POPULATE_(READ|WRITE) handle VM_FAULT_RETRY properly - mm/gup: explicitly define and check internal GUP flags, disallow FOLL_TOUCH - KVM: x86/pmu: Set enable bits for GP counters in PERF_GLOBAL_CTRL at "RESET" - KVM: x86/pmu: Zero out PMU metadata on AMD if PMU is disabled - af_unix: Suppress false-positive lockdep splat for spin_lock() in __unix_gc(). - tls: fix lockless read of strp->msg_ready in ->poll - net: ethernet: ti: am65-cpts: Fix PTPv1 message type on TX packets - ice: fix LAG and VF lock dependency in ice_reset_vf() - iavf: Fix TC config comparison with existing adapter TC config - i40e: Report MFS in decimal base instead of hex - i40e: Do not use WQ_MEM_RECLAIM flag for workqueue - net: ti: icssg-prueth: Fix signedness bug in prueth_init_rx_chns() - net: phy: dp83869: Fix MII mode failure - netfilter: nf_tables: honor table dormant flag from netdev release event path - ARM: dts: imx6ull-tarragon: fix USB over-current polarity - eth: bnxt: fix counting packets discarded due to OOM and netpoll - mlxsw: spectrum_acl_tcam: Fix memory leak when canceling rehash work - mlxsw: spectrum_acl_tcam: Fix incorrect list API usage - mlxsw: spectrum_acl_tcam: Fix warning during rehash - mlxsw: spectrum_acl_tcam: Fix memory leak during rehash - mlxsw: spectrum_acl_tcam: Rate limit error message - mlxsw: spectrum_acl_tcam: Fix possible use-after-free during rehash - mlxsw: spectrum_acl_tcam: Fix possible use-after-free during activity update - mlxsw: spectrum_acl_tcam: Fix race during rehash delayed work - mlxsw: spectrum_acl_tcam: Fix race in region ID allocation - mlxsw: Use refcount_t for reference counting - net: openvswitch: Fix Use-After-Free in ovs_ct_exit - ipvs: Fix checksumming on GSO of SCTP packets - Bluetooth: qca: set power_ctrl_enabled on NULL returned by gpiod_get_optional() - Bluetooth: hci_sync: Using hci_cmd_sync_submit when removing Adv Monitor - Bluetooth: btusb: mediatek: Fix double free of skb in coredump - Bluetooth: MGMT: Fix failing to MGMT_OP_ADD_UUID/MGMT_OP_REMOVE_UUID - Bluetooth: hci_event: Fix sending HCI_OP_READ_ENC_KEY_SIZE - Bluetooth: btusb: Fix triggering coredump implementation for QCA - gpio: tegra186: Fix tegra186_gpio_is_accessible() check - net: phy: mediatek-ge-soc: follow netdev LED trigger semantics - net: gtp: Fix Use-After-Free in gtp_dellink - net: usb: ax88179_178a: stop lying about skb->truesize - ipv4: check for NULL idev in ip_route_use_hint() - net: fix sk_memory_allocated_{add|sub} vs softirqs - net: make SK_MEMORY_PCPU_RESERV tunable - tools: ynl: don't ignore errors in NLMSG_DONE messages - ax25: Fix netdev refcount issue - NFC: trf7970a: disable all regulators on removal - net: dsa: mv88e6xx: fix supported_interfaces setup in mv88e6250_phylink_get_caps() - cxl/core: Fix potential payload size confusion in cxl_mem_get_poison() - bnxt_en: Fix the PCI-AER routines - bnxt_en: refactor reset close code - bridge/br_netlink.c: no need to return void function - icmp: prevent possible NULL dereferences from icmp_build_probe() - ARM: dts: microchip: at91-sama7g5ek: Replace regulator-suspend-voltage with the valid property - mlxsw: core_env: Fix driver initialization with old firmware - mlxsw: core: Unregister EMAD trap using FORWARD action - net: bcmasp: fix memory leak when bringing down interface - vxlan: drop packets from invalid src-address - net: libwx: fix alloc msix vectors failed - wifi: mac80211: fix unaligned le16 access - wifi: mac80211: remove link before AP - wifi: mac80211_hwsim: init peer measurement result - drm/gma500: Remove lid code - wifi: iwlwifi: mvm: return uid from iwl_mvm_build_scan_cmd - wifi: iwlwifi: mvm: remove old PASN station when adding a new one - wifi: mac80211: split mesh fast tx cache into local/proxied/forwarded - wifi: mac80211: clean up assignments to pointer cache. - ARC: [plat-hsdk]: Remove misplaced interrupt-cells property - gpio: tangier: Use correct type for the IRQ chip data - arm64: dts: qcom: sc8180x: Fix ss_phy_irq for secondary USB controller - arm64: dts: rockchip: regulator for sd needs to be always on for BPI-R2Pro - arm64: dts: mediatek: mt2712: fix validation errors - arm64: dts: mediatek: mt7986: prefix BPI-R3 cooling maps with "map-" - arm64: dts: mediatek: mt7986: drop invalid thermal block clock - arm64: dts: mediatek: mt7986: reorder nodes - arm64: dts: mediatek: mt7986: drop "#reset-cells" from Ethernet controller - arm64: dts: mediatek: mt7986: drop invalid properties from ethsys - arm64: dts: mediatek: mt7986: reorder properties - arm64: dts: mediatek: mt7622: drop "reset-names" from thermal block - arm64: dts: mediatek: mt7622: fix ethernet controller "compatible" - arm64: dts: mediatek: mt7622: fix IR nodename - arm64: dts: mediatek: mt7622: fix clock controllers - arm64: dts: mediatek: mt8183-kukui: Use default min voltage for MT6358 - arm64: dts: mediatek: mt8195-cherry: Update min voltage constraint for MT6315 - arm64: dts: mediatek: mt8192-asurada: Update min voltage constraint for MT6315 - arm64: dts: mediatek: cherry: Describe CPU supplies - arm64: dts: mediatek: cherry: Add platform thermal configuration - arm64: dts: mediatek: mt8195: Add missing gce-client-reg to mutex1 - arm64: dts: mediatek: mt8195: Add missing gce-client-reg to mutex - arm64: dts: mediatek: mt8195: Add missing gce-client-reg to vpp/vdosys - arm64: dts: mediatek: mt8192: Add missing gce-client-reg to mutex - arm64: dts: mediatek: mt8183: Add power-domains properity to mfgcfg - arm64: dts: rockchip: Remove unsupported node from the Pinebook Pro dts - arm64: dts: rockchip: enable internal pull-up on PCIE_WAKE# for RK3399 Puma - arm64: dts: rockchip: fix alphabetical ordering RK3399 puma - arm64: dts: rockchip: enable internal pull-up on Q7_USB_ID for RK3399 Puma - arm64: dts: rockchip: set PHY address of MT7531 switch to 0x1f - HID: logitech-dj: allow mice to use all types of reports - HID: intel-ish-hid: ipc: Fix dev_err usage with uninitialized dev->devc - cifs: reinstate original behavior again for forceuid/forcegid - smb: client: fix rename(2) regression against samba - cifs: Fix reacquisition of volume cookie on still-live connection - selftests: kselftest: Fix build failure with NOLIBC - thunderbolt: Reset only non-USB4 host routers in resume - PCI/ASPM: Fix deadlock when enabling ASPM - ksmbd: common: use struct_group_attr instead of struct_group for network_open_info - ksmbd: clear RENAME_NOREPLACE before calling vfs_rename - ksmbd: validate request buffer size in smb2_allocate_rsp_buf() - ksmbd: fix slab-out-of-bounds in smb2_allocate_rsp_buf - powerpc/ftrace: Ignore ftrace locations in exit text sections - virtio_net: Do not send RSS key if it is not supported - net: dsa: mt7530: fix enabling EEE on MT7531 switch on all boards - net: dsa: mt7530: fix improper frames on all 25MHz and 40MHz XTAL MT7530 - nilfs2: fix OOB in nilfs_set_de_type - bootconfig: use memblock_free_late to free xbc memory to buddy - nouveau: fix instmem race condition around ptr stores - drm/vmwgfx: Fix crtc's atomic check conditional - drm/vmwgfx: Sort primary plane formats by order of preference - drm/vmwgfx: Fix prime import/export - drm/amdgpu: remove invalid resource->start check v2 - drm/amdkfd: Fix memory leak in create_process failure - drm/amdgpu: validate the parameters of bo mapping operations more clearly - fuse: fix leaked ENOSYS error on first statx call - mm/shmem: inline shmem_is_huge() for disabled transparent hugepages - mm/memory-failure: fix deadlock when hugetlb_optimize_vmemmap is enabled - mm,swapops: update check in is_pfn_swap_entry for hwpoison entries - mm/userfaultfd: allow hugetlb change protection upon poison entry - init/main.c: Fix potential static_command_line memory overflow - arm64: hibernate: Fix level3 translation fault in swsusp_save() - arm64/head: Disable MMU at EL2 before clearing HCR_EL2.E2H - KVM: x86/mmu: Write-protect L2 SPTEs in TDP MMU when clearing dirty status - KVM: x86/pmu: Do not mask LVTPC when handling a PMI on AMD platforms - KVM: x86/pmu: Disable support for adaptive PEBS - KVM: x86: Snapshot if a vCPU's vendor model is AMD vs. Intel compatible - sched: Add missing memory barrier in switch_mm_cid - fs: sysfs: Fix reference leak in sysfs_break_active_protection() - speakup: Avoid crash on very long word - mei: me: disable RPL-S on SPS and IGN firmwares - usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error - usb: Disable USB3 LPM at shutdown - usb: dwc2: host: Fix dereference issue in DDMA completion flow. - Revert "usb: cdc-wdm: close race between read and workqueue" - USB: serial: option: add Telit FN920C04 rmnet compositions - USB: serial: option: add Rolling RW101-GL and RW135-GL support - USB: serial: option: support Quectel EM060K sub-models - USB: serial: option: add Lonsung U8300/U9300 product - USB: serial: option: add support for Fibocom FM650/FG650 - USB: serial: option: add Fibocom FM135-GL variants - serial: core: Fix missing shutdown and startup for serial base port - serial: core: Clearing the circular buffer before NULLifying it - serial: stm32: Reset .throttled state in .startup() - serial: stm32: Return IRQ_NONE in the ISR if no handling happend - serial/pmac_zilog: Remove flawed mitigation for rx irq flood - serial: mxs-auart: add spinlock around changing cts state - comedi: vmk80xx: fix incomplete endpoint checking - thunderbolt: Fix wake configurations after device unplug - thunderbolt: Avoid notify PM core about runtime PM resume - binder: check offset alignment in binder_get_object() - ALSA: hda/realtek - Enable audio jacks of Haier Boyue G42 with ALC269VC - ALSA: hda/realtek: Add quirks for Huawei Matebook D14 NBLB-WAX9N - ALSA: hda/tas2781: Add new vendor_id and subsystem_id to support ThinkPad ICE-1 - ALSA: hda/tas2781: correct the register for pow calibrated data - ALSA: seq: ump: Fix conversion from MIDI2 to MIDI1 UMP messages - net/mlx5: E-switch, store eswitch pointer before registering devlink_param - x86/cpufeatures: Fix dependencies for GFNI, VAES, and VPCLMULQDQ - x86/bugs: Fix BHI retpoline check - clk: mediatek: Do a runtime PM get on controllers during probe - clk: Get runtime PM before walking tree for clk_summary - clk: Show active consumers of clocks in debugfs - clk: Get runtime PM before walking tree during disable_unused - clk: Initialize struct clk_core kref earlier - clk: Remove prepare_lock hold assertion in __clk_release() - interconnect: Don't access req_list while it's being manipulated - platform/x86/amd/pmc: Extend Framework 13 quirk to more BIOSes - usb: new quirk to reduce the SET_ADDRESS request timeout - usb: xhci: Add timeout argument in address_device USB HCD callback - drm: panel-orientation-quirks: Add quirk for Lenovo Legion Go - ALSA: scarlett2: Rename scarlett_gen2 to scarlett2 - PCI: Simplify pcie_capability_clear_and_set_word() to ..._clear_word() - PCI/DPC: Use FIELD_GET() - ALSA: scarlett2: Add Focusrite Clarett 2Pre and 4Pre USB support - ALSA: scarlett2: Add Focusrite Clarett+ 2Pre and 4Pre support - ALSA: scarlett2: Add correct product series name to messages - ALSA: scarlett2: Default mixer driver to enabled - thunderbolt: Reset topology created by the boot firmware - thunderbolt: Make tb_switch_reset() support Thunderbolt 2, 3 and USB4 routers - thunderbolt: Introduce tb_path_deactivate_hop() - thunderbolt: Introduce tb_port_reset() - ASoC: ti: Convert Pandora ASoC to GPIO descriptors - ALSA: scarlett2: Add support for Clarett 8Pre USB - ALSA: scarlett2: Move USB IDs out from device_info struct - drm/radeon: make -fstrict-flex-arrays=3 happy - drm/panel: visionox-rm69299: don't unregister DSI device - drm: nv04: Fix out of bounds access - s390/cio: fix race condition during online processing - s390/qdio: handle deferred cc1 - perf lock contention: Add a missing NULL check - RDMA/mlx5: Fix port number for counter query in multi-port configuration - RDMA/cm: Print the old state when cm_destroy_id gets timeout - RDMA/rxe: Fix the problem "mutex_destroy missing" - drm/i915/mst: Limit MST+DSC to TGL+ - net: ethernet: ti: am65-cpsw-nuss: cleanup DMA Channels before using them - net: ethernet: mtk_eth_soc: fix WED + wifi reset - gpiolib: swnode: Remove wrong header inclusion - s390/ism: Properly fix receive message buffer allocation - net: dsa: mt7530: fix port mirroring for MT7988 SoC switch - net: dsa: mt7530: fix mirroring frames received on local port - tun: limit printing rate when illegal packet received by tun dev - ice: Fix checking for unsupported keys on non-tunnel device - ice: tc: allow zero flags in parsing tc flower - ice: tc: check src_vsi in case of traffic from VF - net: stmmac: Fix IP-cores specific MAC capabilities - net: stmmac: Fix max-speed being ignored on queue re-init - net: stmmac: Apply half-duplex-less constraint for DW QoS Eth only - octeontx2-pf: fix FLOW_DIS_IS_FRAGMENT implementation - net: change maximum number of UDP segments to 128 - net/mlx5e: Prevent deadlock while disabling aRFS - net/mlx5: Lag, restore buckets number to default after hash LAG deactivation - net: sparx5: flower: fix fragment flags handling - af_unix: Don't peek OOB data without MSG_OOB. - af_unix: Call manage_oob() for every skb in unix_stream_read_generic(). - netfilter: flowtable: incorrect pppoe tuple - netfilter: flowtable: validate pppoe header - netfilter: nft_set_pipapo: do not free live element - netfilter: nf_tables: Fix potential data-race in __nft_obj_type_get() - netfilter: nf_tables: Fix potential data-race in __nft_expr_type_get() - scsi: ufs: qcom: Add missing interconnect bandwidth values for Gear 5 - arm64: tlb: Fix TLBI RANGE operand - arm64/mm: Modify range-based tlbi to decrement scale - net: usb: ax88179_178a: avoid writing the mac address before first reading - scsi: core: Fix handling of SCMD_FAIL_IF_RECOVERING - random: handle creditable entropy from atomic process context - selftests/ftrace: Limit length in subsystem-enable tests - SUNRPC: Fix rpcgss_context trace event acceptor field - drm/i915/vma: Fix UAF on destroy against retire race - io_uring: Fix io_cqring_wait() not restoring sigmask on get_timespec64() failure - media: videobuf2: request more buffers for vb2_read - drm/msm/dpu: populate SSPP scaler block version - selftests: timers: Fix posix_timers ksft_print_msg() warning - ceph: redirty page before returning AOP_WRITEPAGE_ACTIVATE - ceph: rename _to_client() to _to_fs_client() - ceph: pass the mdsc to several helpers - drm/amd/display: Do not recursively call manual trigger programming - selftests/timers/posix_timers: Reimplement check_timer_distribution() - selftests: timers: Convert posix_timers test to generate KTAP output - drm/i915: Disable live M/N updates when using bigjoiner - drm/i915: Adjust seamless_m_n flag behaviour - drm/i915: Enable VRR later during fastsets - drm/i915: Extract intel_crtc_vblank_evade_scanlines() - drm/i915: Change intel_pipe_update_{start,end}() calling convention - drm/i915/cdclk: Fix voltage_level programming edge case - drm/i915/mst: Reject FEC+MST on ICL - drm/i915: Fix FEC pipe A vs. DDI A mixup - smb: client: refresh referral without acquiring refpath_lock - smb: client: guarantee refcounted children from parent session - smb3: show beginning time for per share stats - smb: client: fix UAF in smb2_reconnect_server() - smb: client: remove extra @chan_count check in __cifs_put_smb_ses() - drm/amd/display: fix disable otg wa logic in DCN316 - drm/amd/display: Set VSC SDP Colorimetry same way for MST and SST - drm/amd/display: Program VSC SDP colorimetry for all DP sinks >= 1.4 - drm/amdgpu: fix incorrect number of active RBs for gfx11 - drm/amdgpu: always force full reset for SOC21 - drm/amdgpu: Reset dGPU if suspend got aborted - drm/i915: Disable port sync when bigjoiner is used - drm/i915/cdclk: Fix CDCLK programming order when pipes are active - x86/bugs: Replace CONFIG_SPECTRE_BHI_{ON,OFF} with CONFIG_MITIGATION_SPECTRE_BHI - x86/bugs: Remove CONFIG_BHI_MITIGATION_AUTO and spectre_bhi=auto - x86/bugs: Clarify that syscall hardening isn't a BHI mitigation - x86/bugs: Fix BHI handling of RRSBA - x86/bugs: Rename various 'ia32_cap' variables to 'x86_arch_cap_msr' - x86/bugs: Cache the value of MSR_IA32_ARCH_CAPABILITIES - x86/bugs: Fix BHI documentation - x86/bugs: Fix return type of spectre_bhi_state() - irqflags: Explicitly ignore lockdep_hrtimer_exit() argument - x86/apic: Force native_apic_mem_read() to use the MOV instruction - selftests: timers: Fix abs() warning in posix_timers test - x86/cpu: Actually turn off mitigations by default for SPECULATION_MITIGATIONS=n - perf/x86: Fix out of range data - vhost: Add smp_rmb() in vhost_enable_notify() - vhost: Add smp_rmb() in vhost_vq_avail_empty() - arm64: dts: imx8-ss-dma: fix spi lpcg indices - arm64: dts: imx8-ss-lsio: fix pwm lpcg indices - arm64: dts: imx8-ss-conn: fix usb lpcg indices - arm64: dts: imx8-ss-dma: fix adc lpcg indices - arm64: dts: imx8-ss-dma: fix can lpcg indices - arm64: dts: imx8qm-ss-dma: fix can lpcg indices - drm/client: Fully protect modes[] with dev->mode_config.mutex - drm/panfrost: Fix the error path in panfrost_mmu_map_fault_addr() - drm/ast: Fix soft lockup - drm/amdkfd: Reset GPU on queue preemption failure - drm/i915/vrr: Disable VRR when using bigjoiner - drm/vmwgfx: Enable DMA mappings with SEV - accel/ivpu: Fix deadlock in context_xa - scsi: sg: Avoid race in error handling & drop bogus warn - scsi: sg: Avoid sg device teardown race - kprobes: Fix possible use-after-free issue on kprobe registration - io_uring/net: restore msg_control on sendzc retry - btrfs: qgroup: convert PREALLOC to PERTRANS after record_root_in_trans - btrfs: record delayed inode root in transaction - btrfs: qgroup: fix qgroup prealloc rsv leak in subvolume operations - btrfs: qgroup: correctly model root qgroup rsv in convert - selftests: mptcp: use += operator to append strings - iommu/vt-d: Allocate local memory for page request queue - iommu/vt-d: Fix wrong use of pasid config - tracing: hide unused ftrace_event_id_fops - net: ena: Set tx_info->xdpf value to NULL - net: ena: Use tx_ring instead of xdp_ring for XDP channel TX - net: ena: Pass ena_adapter instead of net_device to ena_xmit_common() - net: ena: Move XDP code to its new files - net: ena: Fix incorrect descriptor free behavior - net: ena: Wrong missing IO completions check order - net: ena: Fix potential sign extension issue - af_unix: Fix garbage collector racing against connect() - af_unix: Do not use atomic ops for unix_sk(sk)->inflight. - net: dsa: mt7530: trap link-local frames regardless of ST Port State - Revert "s390/ism: fix receive message buffer allocation" - net: sparx5: fix wrong config being used when reconfiguring PCS - net/mlx5e: Do not produce metadata freelist entries in Tx port ts WQE xmit - net/mlx5e: HTB, Fix inconsistencies with QoS SQs number - net/mlx5e: Fix mlx5e_priv_init() cleanup flow - net/mlx5: Correctly compare pkt reformat ids - net/mlx5: Properly link new fs rules into the tree - net/mlx5: offset comp irq index in name by one - net/mlx5: Register devlink first under devlink lock - net/mlx5: SF, Stop waiting for FW as teardown was called - netfilter: complete validation of user input - Bluetooth: l2cap: Don't double set the HCI_CONN_MGMT_CONNECTED bit - Bluetooth: SCO: Fix not validating setsockopt user input - Bluetooth: hci_sync: Fix using the same interval and window for Coded PHY - Bluetooth: hci_sync: Use QoS to determine which PHY to scan - Bluetooth: ISO: Don't reject BT_ISO_QOS if parameters are unset - Bluetooth: ISO: Align broadcast sync_timeout with connection timeout - ipv6: fix race condition between ipv6_get_ifaddr and ipv6_del_addr - ipv4/route: avoid unused-but-set-variable warning - ipv6: fib: hide unused 'pn' variable - octeontx2-af: Fix NIX SQ mode and BP config - af_unix: Clear stale u->oob_skb. - net: ks8851: Handle softirqs at the end of IRQ thread to fix hang - net: ks8851: Inline ks8851_rx_skb() - bnxt_en: Reset PTP tx_avail after possible firmware reset - bnxt_en: Fix error recovery for RoCE ulp client - bnxt_en: Fix possible memory leak in bnxt_rdma_aux_device_init() - s390/ism: fix receive message buffer allocation - geneve: fix header validation in geneve[6]_xmit_skb - block: fix q->blkg_list corruption during disk rebind - octeontx2-pf: Fix transmit scheduler resource leak - xsk: validate user input for XDP_{UMEM|COMPLETION}_FILL_RING - u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file - net: openvswitch: fix unwanted error log on timeout policy probing - scsi: qla2xxx: Fix off by one in qla_edif_app_getstats() - nouveau: fix function cast warning - Revert "drm/qxl: simplify qxl_fence_wait" - cxl/core: Fix initialization of mbox_cmd.size_out in get event - arm64: dts: imx8-ss-conn: fix usdhc wrong lpcg clock order - drm/msm/dpu: don't allow overriding data from catalog - cxl/core/regs: Fix usage of map->reg_type in cxl_decode_regblock() before assigned - cxl/mem: Fix for the index of Clear Event Record Handle - firmware: arm_scmi: Make raw debugfs entries non-seekable - ARM: OMAP2+: fix USB regression on Nokia N8x0 - mmc: omap: restore original power up/down steps - mmc: omap: fix deferred probe - mmc: omap: fix broken slot switch lookup - ARM: OMAP2+: fix N810 MMC gpiod table - ARM: OMAP2+: fix bogus MMC GPIO labels on Nokia N8x0 - media: cec: core: remove length check of Timer Status - PM: s2idle: Make sure CPUs will wakeup directly on resume - ACPI: scan: Do not increase dep_unmet for already met dependencies - platform/chrome: cros_ec_uart: properly fix race condition - drm/amd/pm: fixes a random hang in S4 for SMU v13.0.4/11 - Bluetooth: Fix memory leak in hci_req_sync_complete() - ring-buffer: Only update pages_touched when a new page is touched - raid1: fix use-after-free for original bio in raid1_write_request() - ARM: dts: imx7s-warp: Pass OV2680 link-frequencies - batman-adv: Avoid infinite loop trying to resize local TT - ata: libata-scsi: Fix ata_scsi_dev_rescan() error path - ata: libata-core: Allow command duration limits detection for ACS-4 drives - smb3: fix Open files on server counter going negative - drm: Check polling initialized before enabling in drm_helper_probe_single_connector_modes - Revert "drm/amd/amdgpu: Fix potential ioremap() memory leaks in amdgpu_device_init()" - VMCI: Fix possible memcpy() run-time warning in vmci_datagram_invoke_guest_handler() - net: mpls: error out if inner headers are not set - Bluetooth: btintel: Fixe build regression - platform/x86: intel-vbtn: Update tablet mode switch at end of probe - randomize_kstack: Improve entropy diffusion - media: mediatek: vcodec: adding lock to protect encoder context list - media: mediatek: vcodec: adding lock to protect decoder context list - media: mediatek: vcodec: Fix oops when HEVC init fails - selftests: mptcp: display simult in extra_msg - gcc-plugins/stackleak: Avoid .head.text section - ALSA: hda/realtek: Add quirks for some Clevo laptops - fbmon: prevent division by zero in fb_videomode_from_videomode() - drivers/nvme: Add quirks for device 126f:2262 - modpost: fix null pointer dereference - io_uring: clear opcode specific data for an early failure - fbdev: viafb: fix typo in hw_bitblt_1 and hw_bitblt_2 - x86/xen: attempt to inflate the memory balloon on PVH - ASoC: soc-core.c: Skip dummy codec when adding platforms - thermal/of: Assume polling-delay(-passive) 0 when absent - ASoC: amd: yc: Fix non-functional mic on ASUS M7600RE - usb: sl811-hcd: only defined function checkdone if QUIRK2 is defined - usb: typec: tcpci: add generic tcpci fallback compatible - thunderbolt: Keep the domain powered when USB4 port is in redrive mode - usb: typec: ucsi: Limit read size on v1.2 - usb: gadget: uvc: mark incomplete frames with UVC_STREAM_ERR - bus: mhi: host: Add MHI_PM_SYS_ERR_FAIL state - tools: iio: replace seekdir() in iio_generic_buffer - ring-buffer: use READ_ONCE() to read cpu_buffer->commit_page in concurrent environment - Input: xpad - add support for Snakebyte GAMEPADs - ktest: force $buildonly = 1 for 'make_warnings_file' test type - ALSA: hda/realtek: Add quirk for Lenovo Yoga 9 14IMH9 - platform/x86: touchscreen_dmi: Add an extra entry for a variant of the Chuwi Vi8 tablet - Input: allocate keycode for Display refresh rate toggle - Input: imagis - use FIELD_GET where applicable - RDMA/cm: add timeout to cm_destroy_id wait - block: prevent division by zero in blk_rq_stat_sum() - input/touchscreen: imagis: Correct the maximum touch area value - libperf evlist: Avoid out-of-bounds access - Revert "ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default" - PCI: Disable D3cold on Asus B1400 PCI-NVMe bridge - SUNRPC: increase size of rpc_wait_queue.qlen from unsigned short to unsigned int - drm: Check output polling initialized before disabling - drm/amd/amdgpu: Fix potential ioremap() memory leaks in amdgpu_device_init() - HID: input: avoid polling stylus battery on Chromebook Pompom - i2c: designware: Fix RX FIFO depth define on Wangxun 10Gb NIC - accel/habanalabs: increase HL_MAX_STR to 64 bytes to avoid warnings - drm/amd/display: Fix nanosec stat overflow - ext4: forbid commit inconsistent quota data when errors=remount-ro - ext4: add a hint for block bitmap corrupt state in mb_groups - ASoC: Intel: avs: Populate board selection with new I2S entries - ALSA: firewire-lib: handle quirk to calculate payload quadlets as data block counter - media: sta2x11: fix irq handler cast - Julia Lawall reported this null pointer dereference, this should fix it. - rcu-tasks: Repair RCU Tasks Trace quiescence check - rcu/nocb: Fix WARN_ON_ONCE() in the rcu_nocb_bypass_lock() - ASoC: Intel: common: DMI remap for rebranded Intel NUC M15 (LAPRC710) laptops - isofs: handle CDs with bad root inode but good Joliet root directory - scsi: lpfc: Fix possible memory leak in lpfc_rcv_padisc() - sysv: don't call sb_bread() with pointers_lock held - pinctrl: renesas: checker: Limit cfg reg enum checks to provided IDs - drm/ttm: return ENOSPC from ttm_bo_mem_space v3 - ASoC: SOF: amd: Optimize quirk for Valve Galileo - drm: panel-orientation-quirks: Add quirk for GPD Win Mini - Input: synaptics-rmi4 - fail probing if memory allocation for "phys" fails - drm/vc4: don't check if plane->state->fb == state->fb - Bluetooth: Add new quirk for broken read key length on ATS2851 - Bluetooth: btmtk: Add MODULE_FIRMWARE() for MT7922 - Bluetooth: btintel: Fix null ptr deref in btintel_read_version - net/smc: reduce rtnl pressure in smc_pnet_create_pnetids_list() - ice: use relative VSI index for VFs instead of PF VSI number - btrfs: send: handle path ref underflow in header iterate_inode_ref() - btrfs: export: handle invalid inode or root reference in btrfs_get_parent() - btrfs: handle chunk tree lookup error in btrfs_relocate_sys_chunks() - wifi: cfg80211: check A-MSDU format more carefully - wifi: iwlwifi: Add missing MODULE_FIRMWARE() for *.pnvm - overflow: Allow non-type arg to type_max() and type_min() - cpufreq: Don't unregister cpufreq cooling on CPU hotplug - wifi: ath11k: decrease MHI channel buffer length to 8KB - dma-direct: Leak pages on dma_set_decrypted() failure - net: pcs: xpcs: Return EINVAL in the internal methods - tools/power x86_energy_perf_policy: Fix file leak in get_pkg_num() - pstore/zone: Add a null pointer check to the psz_kmsg_read - ACPI: x86: Move acpi_quirk_skip_serdev_enumeration() out of CONFIG_X86_ANDROID_TABLETS - wifi: mt76: mt7996: add locking for accessing mapped registers - wifi: mt76: mt7996: disable AMSDU for non-data frames - wifi: mt76: mt7915: add locking for accessing mapped registers - wifi: brcmfmac: Add DMI nvram filename quirk for ACEPC W5 Pro - firmware: tegra: bpmp: Return directly after a failed kzalloc() in get_filename() - net: skbuff: add overflow debug check to pull/push helpers - ionic: set adminq irq affinity - pmdomain: imx8mp-blk-ctrl: imx8mp_blk: Add fdcc clock to hdmimix domain - pmdomain: ti: Add a null pointer check to the omap_prm_domain_init - net: add netdev_lockdep_set_classes() to virtual drivers - arm64: dts: rockchip: fix rk3399 hdmi ports node - arm64: dts: rockchip: fix rk3328 hdmi ports node - ARM: dts: rockchip: fix rk322x hdmi ports node - ARM: dts: rockchip: fix rk3288 hdmi ports node - cpuidle: Avoid potential overflow in integer multiplication - panic: Flush kernel log buffer at the end - printk: For @suppress_panic_printk check for other CPU in panic - wifi: iwlwifi: pcie: Add the PCI device id for new hardware - VMCI: Fix memcpy() run-time warning in dg_dispatch_as_host() - wifi: rtw89: pci: enlarge RX DMA buffer to consider size of RX descriptor - net: phy: phy_device: Prevent nullptr exceptions on ISR - net: stmmac: dwmac-starfive: Add support for JH7100 SoC - bnx2x: Fix firmware version string character counts - wifi: rtw89: fix null pointer access when abort scan - wifi: ath9k: fix LNA selection in ath_ant_try_scan() - amdkfd: use calloc instead of kzalloc to avoid integer overflow - x86: set SPECTRE_BHI_ON as default - KVM: x86: Add BHI_NO - x86/bhi: Mitigate KVM by default - x86/bhi: Add BHI mitigation knob - x86/bhi: Enumerate Branch History Injection (BHI) bug - x86/bhi: Define SPEC_CTRL_BHI_DIS_S - x86/bhi: Add support for clearing branch history at syscall entry - x86/syscall: Don't force use of indirect calls for system calls - x86/bugs: Change commas to semicolons in 'spectre_v2' sysfs file - x86/boot: Move mem_encrypt= parsing to the decompressor - x86/efistub: Remap kernel text read-only before dropping NX attribute - x86/sev: Move early startup code into .head.text section - x86/sme: Move early SME kernel encryption handling into .head.text - efi/libstub: Add generic support for parsing mem_encrypt= - x86/head/64: Move the __head definition to - bpf: put uprobe link's path and task in release callback - mptcp: don't account accept() of non-MPC client as fallback to TCP - mptcp: don't overwrite sock_ops in mptcp_is_tcpsk() - selftests: mptcp: connect: fix shellcheck warnings - of: module: prevent NULL pointer dereference in vsnprintf() - Revert "x86/mpparse: Register APIC address only once" - drm/i915/gt: Enable only one CCS for compute workload - drm/i915/gt: Do not generate the command streamer for all the CCS - drm/i915/gt: Disable HW load balancing for CCS - smb: client: fix potential UAF in cifs_signal_cifsd_for_reconnect() - smb: client: fix potential UAF in smb2_is_network_name_deleted() - smb: client: fix potential UAF in is_valid_oplock_break() - smb: client: fix potential UAF in smb2_is_valid_lease_break() - smb: client: fix potential UAF in smb2_is_valid_oplock_break() - smb: client: fix potential UAF in cifs_dump_full_key() - smb: client: fix potential UAF in cifs_stats_proc_show() - smb: client: fix potential UAF in cifs_stats_proc_write() - smb: client: fix potential UAF in cifs_debug_files_proc_show() - smb3: retrying on failed server close - smb: client: serialise cifs_construct_tcon() with cifs_mount_mutex - smb: client: handle DFS tcons in cifs_construct_tcon() - riscv: process: Fix kernel gp leakage - riscv: Fix spurious errors from __get/put_kernel_nofault - s390/entry: align system call table on 8 bytes - selftests/mm: include strings.h for ffsl - mm/secretmem: fix GUP-fast succeeding on secretmem folios - arm64/ptrace: Use saved floating point state type to determine SVE layout - perf/x86/intel/ds: Don't clear ->pebs_data_cfg for the last PEBS event - x86/coco: Require seeding RNG with RDRAND on CoCo systems - x86/mce: Make sure to grab mce_sysfs_mutex in set_bank() - x86/mm/pat: fix VM_PAT handling in COW mappings - of: dynamic: Synchronize of_changeset_destroy() with the devlink removals - driver core: Introduce device_link_wait_removal() - io_uring/kbuf: hold io_buffer_list reference over mmap - io_uring: use private workqueue for exit work - io_uring/kbuf: protect io_buffer_list teardown with a reference - io_uring/kbuf: get rid of bl->is_ready - io_uring/kbuf: get rid of lower BGID lists - ALSA: hda/realtek: Update Panasonic CF-SZ6 quirk to support headset with microphone - ALSA: hda/realtek - Fix inactive headset mic jack - ksmbd: do not set SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 - ksmbd: validate payload size in ipc response - ksmbd: don't send oplock break if rename fails - gpio: cdev: fix missed label sanitizing in debounce_setup() - gpio: cdev: check for NULL labels when sanitizing them for irqs - x86/retpoline: Add NOENDBR annotation to the SRSO dummy return thunk - ice: fix typo in assignment - nfsd: hold a lighter-weight client reference over CB_RECALL_ANY - riscv: Disable preemption when using patch_map() - ASoC: SOF: amd: fix for false dsp interrupts - ata: sata_mv: Fix PCI device ID table declaration compilation warning - spi: mchp-pci1xxx: Fix a possible null pointer dereference in pci1xxx_spi_probe - cifs: Fix caching to try to do open O_WRONLY as rdwr on server - Revert "ALSA: emu10k1: fix synthesizer sample playback position and caching" - scsi: mylex: Fix sysfs buffer lengths - ata: sata_sx4: fix pdc20621_get_from_dimm() on 64-bit - regmap: maple: Fix uninitialized symbol 'ret' warnings - ASoC: amd: acp: fix for acp_init function error handling - spi: s3c64xx: Use DMA mode from fifo size - spi: s3c64xx: determine the fifo depth only once - spi: s3c64xx: allow full FIFO masks - spi: s3c64xx: define a magic value - spi: s3c64xx: remove else after return - spi: s3c64xx: explicitly include - spi: s3c64xx: sort headers alphabetically - spi: s3c64xx: Extract FIFO depth calculation to a dedicated macro - ASoC: ops: Fix wraparound for mask in snd_soc_get_volsw - ASoC: rt722-sdca-sdw: fix locking sequence - ASoC: rt712-sdca-sdw: fix locking sequence - ASoC: rt711-sdw: fix locking sequence - ASoC: rt711-sdca: fix locking sequence - ASoC: rt5682-sdw: fix locking sequence - drm/prime: Unbreak virtgpu dma-buf export - nouveau/uvmm: fix addr/range calcs for remap operations - drm/panfrost: fix power transition timeout warnings - ALSA: hda: cs35l56: Add ACPI device match tables - regmap: maple: Fix cache corruption in regcache_maple_drop() - RISC-V: Update AT_VECTOR_SIZE_ARCH for new AT_MINSIGSTKSZ - drivers/perf: riscv: Disable PERF_SAMPLE_BRANCH_* while not supported - ASoC: wm_adsp: Fix missing mutex_lock in wm_adsp_write_ctl() - 9p: Fix read/write debug statements to report server reply - fs/pipe: Fix lockdep false-positive in watchqueue pipe_write() - KVM: SVM: Add support for allowing zero SEV ASIDs - KVM: SVM: Use unsigned integers when dealing with ASIDs - net: ravb: Always update error counters - net: ravb: Always process TX descriptor ring - net: ravb: Let IP-specific receive function to interrogate descriptors - e1000e: move force SMBUS from enable ulp function to avoid PHY loss issue - e1000e: Minor flow correction in e1000_shutdown function - e1000e: Workaround for sporadic MDI error on Meteor Lake systems - intel: legacy: field get conversion - intel: add bit macro includes where needed - i40e: Remove circular header dependencies and fix headers - i40e: Split i40e_osdep.h - i40e: Move memory allocation structures to i40e_alloc.h - i40e: Simplify memory allocation functions - virtchnl: Add header dependencies - i40e: Refactor I40E_MDIO_CLAUSE* macros - i40e: Remove back pointer from i40e_hw structure - i40e: Enforce software interrupt during busy-poll exit - i40e: Remove _t suffix from enum type names - drm/amd: Flush GFXOFF requests in prepare stage - drm/amd: Add concept of running prepare_suspend() sequence for IP blocks - drm/amd: Evict resources during PM ops prepare() callback - drm/amd/display: Prevent crash when disable stream - drm/amd/display: Fix DPSTREAM CLK on and off sequence - usb: typec: ucsi: Fix race between typec_switch and role_switch - i40e: fix vf may be used uninitialized in this function warning - i40e: fix i40e_count_filters() to count only active/new filters - octeontx2-af: Add array index check - octeontx2-pf: check negative error code in otx2_open() - octeontx2-af: Fix issue with loading coalesced KPU profiles - udp: prevent local UDP tunnel packets from being GROed - udp: do not transition UDP GRO fraglist partial checksums to unnecessary - udp: do not accept non-tunnel GSO skbs landing in a tunnel - r8169: skip DASH fw status checks when DASH is disabled - mlxbf_gige: stop interface during shutdown - ipv6: Fix infinite recursion in fib6_dump_done(). - ax25: fix use-after-free bugs caused by ax25_ds_del_timer - tcp: Fix bind() regression for v6-only wildcard and v4(-mapped-v6) non-wildcard addresses. - selftests: reuseaddr_conflict: add missing new line at the end of the output - erspan: make sure erspan_base_hdr is present in skb->head - i40e: Fix VF MAC filter removal - ice: fix enabling RX VLAN filtering - gro: fix ownership transfer - selftests: net: gro fwd: update vxlan GRO test expectations - net: dsa: mv88e6xxx: fix usable ports on 88e6020 - net: phy: micrel: Fix potential null pointer dereference - net: fec: Set mac_managed_pm during probe - net: txgbe: fix i2c dev name cannot match clkdev - net: phy: micrel: lan8814: Fix when enabling/disabling 1-step timestamping - net: stmmac: fix rx queue priority assignment - net/sched: fix lockdep splat in qdisc_tree_reduce_backlog() - net: dsa: sja1105: Fix parameters order in sja1110_pcs_mdio_write_c45() - net/sched: act_skbmod: prevent kernel-infoleak - KVM: arm64: Ensure target address is granule-aligned for range TLBI - x86/retpoline: Do the necessary fixup to the Zen3/4 srso return thunk for !SRSO - bpf, sockmap: Prevent lock inversion deadlock in map delete elem - vboxsf: Avoid an spurious warning if load_nls_xxx() fails - netfilter: validate user input for expected length - netfilter: nf_tables: discard table flag update with pending basechain deletion - netfilter: nf_tables: Fix potential data-race in __nft_flowtable_type_get() - netfilter: nf_tables: flush pending destroy work before exit_net release - netfilter: nf_tables: reject new basechain after table flag update - x86/bugs: Fix the SRSO mitigation on Zen3/4 - x86/nospec: Refactor UNTRAIN_RET[_*] - x86/srso: Disentangle rethunk-dependent options - x86/srso: Improve i-cache locality for alias mitigation - vsock/virtio: fix packet delivery to tap device - net: mana: Fix Rx DMA datasize and skb_over_panic - net: usb: ax88179_178a: avoid the interface always configured as random address - net/rds: fix possible cp null dereference - xen-netfront: Add missing skb_mark_for_recycle - selftests: mptcp: join: fix dev in check_endpoint - netfilter: nf_tables: release mutex after nft_gc_seq_end from abort path - netfilter: nf_tables: release batch on table validation from abort path - Bluetooth: Fix TOCTOU in HCI debugfs implementation - Bluetooth: hci_event: set the conn encrypted before conn establishes - Bluetooth: add quirk for broken address properties - Bluetooth: qca: fix device-address endianness - arm64: dts: qcom: sc7180-trogdor: mark bluetooth address as broken - Revert "Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT" - x86/bpf: Fix IP after emitting call depth accounting - r8169: fix issue caused by buggy BIOS on certain boards with RTL8168d - selinux: avoid dereference of garbage after mount failure - KVM: arm64: Fix host-programmed guest events in nVHE - RISC-V: KVM: Fix APLIC in_clrip[x] read emulation - RISC-V: KVM: Fix APLIC setipnum_le/be write emulation - gpio: cdev: sanitize the label before requesting the interrupt - modpost: do not make find_tosym() return NULL - btrfs: fix race when detecting delalloc ranges during fiemap - btrfs: ensure fiemap doesn't race with writes when FIEMAP_FLAG_SYNC is given - Revert "x86/mm/ident_map: Use gbpages only where full GB page should be mapped." - mm/treewide: replace pud_large() with pud_leaf() - dm integrity: fix out-of-range warning - drm/i915/mtl: Update workaround 14018575942 - drm/i915/xelpg: Extend some workarounds/tuning to gfx version 12.74 - drm/i915/mtl: Update workaround 14016712196 - drm/i915: Replace several IS_METEORLAKE with proper IP version checks - drm/i915: Eliminate IS_MTL_GRAPHICS_STEP - drm/i915/xelpg: Call Xe_LPG workaround functions based on IP version - drm/i915: Consolidate condition for Wa_22011802037 - drm/i915: Tidy workaround definitions - drm/i915/dg2: Drop pre-production GT workarounds - inet: inet_defrag: prevent sk release while still in use - Octeontx2-af: fix pause frame configuration in GMP mode - net: lan743x: Add set RFE read fifo threshold for PCI1x1x chips - net: bcmasp: Bring up unimac after PHY link up - netfilter: nf_tables: skip netdev hook unregistration if table is dormant - netfilter: nf_tables: reject table flag and netdev basechain updates - netfilter: nf_tables: reject destroy command to remove basechain hooks - cifs: Fix duplicate fscache cookie warnings - bpf: Protect against int overflow for stack access size - mlxbf_gige: call request_irq() after NAPI initialized - tls: get psock ref after taking rxlock to avoid leak - tls: adjust recv return with async crypto and failed copy to userspace - tls: recv: process_rx_list shouldn't use an offset with kvec - net: hns3: mark unexcuted loopback test result as UNEXECUTED - net: hns3: fix kernel crash when devlink reload during pf initialization - net: hns3: fix index limit to support all queue stats - ACPICA: debugger: check status of acpi_evaluate_object() in acpi_db_walk_for_fields() - selftests: vxlan_mdb: Fix failures with old libnet - net: wwan: t7xx: Split 64bit accesses to fix alignment issues - tcp: properly terminate timers for kernel sockets - net: hsr: hsr_slave: Fix the promiscuous mode in offload mode - s390/qeth: handle deferred cc1 - igc: Remove stale comment about Tx timestamping - ixgbe: avoid sleeping allocation in ixgbe_ipsec_vf_add_sa() - ice: fix memory corruption bug with suspend and rebuild - ice: realloc VSI stats arrays - ice: Refactor FW data type and fix bitmap casting issue - ALSA: hda: cs35l56: Set the init_done flag before component_add() - wifi: iwlwifi: mvm: include link ID when releasing frames - wifi: iwlwifi: disable multi rx queue for 9000 - wifi: iwlwifi: mvm: rfi: fix potential response leaks - mlxbf_gige: stop PHY during open() error paths - tools: ynl: fix setting presence bits in simple nests - nfc: nci: Fix uninit-value in nci_dev_up and nci_ntf_packet - arm64: bpf: fix 32bit unconditional bswap - dma-buf: Fix NULL pointer dereference in sanitycheck() - bpf, arm64: fix bug in BPF_LDX_MEMSX - s390/bpf: Fix bpf_plt pointer arithmetic - scripts/bpf_doc: Use silent mode when exec make cmd - drm/i915: Pre-populate the cursor physical dma address - drm/i915/display: Use i915_gem_object_get_dma_address to get dma address - Revert "workqueue.c: Increase workqueue name length" - Revert "workqueue: Move pwq->max_active to wq->max_active" - Revert "workqueue: Factor out pwq_is_empty()" - Revert "workqueue: Replace pwq_activate_inactive_work() with [__]pwq_activate_work()" - Revert "workqueue: Move nr_active handling into helpers" - Revert "workqueue: Make wq_adjust_max_active() round-robin pwqs while activating" - Revert "workqueue: Introduce struct wq_node_nr_active" - Revert "workqueue: Shorten events_freezable_power_efficient name" - drm/amdgpu: fix use-after-free bug - tools/resolve_btfids: fix build with musl libc - x86/sev: Skip ROM range scans and validation for SEV-SNP guests - scsi: lpfc: Correct size for wqe for memset() - scsi: lpfc: Correct size for cmdwqe/rspwqe for memset() - usb: dwc3: pci: Drop duplicate ID - Revert "x86/bugs: Use fixed addressing for VERW operand" - x86/bugs: Use fixed addressing for VERW operand - scsi: qla2xxx: Delay I/O Abort on PCI error - scsi: qla2xxx: Change debug message during driver unload - scsi: qla2xxx: Fix double free of fcport - scsi: qla2xxx: Fix double free of the ha->vp_map pointer - scsi: qla2xxx: Fix command flush on cable pull - scsi: qla2xxx: NVME|FCP prefer flag not being honored - scsi: qla2xxx: Update manufacturer detail - scsi: qla2xxx: Split FCE|EFT trace control - scsi: qla2xxx: Fix N2N stuck connection - scsi: qla2xxx: Prevent command send on chip reset - usb: typec: ucsi: Clear UCSI_CCI_RESET_COMPLETE before reset - usb: typec: ucsi_acpi: Refactor and fix DELL quirk - usb: typec: ucsi: Ack unsupported commands - usb: typec: ucsi: Clear EVENT_PENDING under PPM lock - usb: typec: Return size of buffer if pd_set operation succeeds - usb: udc: remove warning when queue disabled ep - usb: dwc2: gadget: LPM flow fix - usb: dwc2: gadget: Fix exiting from clock gating - usb: dwc2: host: Fix ISOC flow in DDMA mode - usb: dwc2: host: Fix hibernation flow - usb: dwc2: host: Fix remote wakeup from hibernation - USB: core: Fix deadlock in port "disable" sysfs attribute - USB: core: Add hub_get() and hub_put() routines - USB: core: Fix deadlock in usb_deauthorize_interface() - usb: dwc3: Properly set system wakeup - staging: vc04_services: fix information leak in create_component() - staging: vc04_services: changen strncpy() to strscpy_pad() - scsi: core: Fix unremoved procfs host directory regression - scsi: sd: Fix TCG OPAL unlock on system resume - vfio/pds: Make sure migration file isn't accessed after reset - drm/amd/display: Clear OPTC mem select on disable - drm/amd/display: Disconnect phantom pipe OPP from OPTC being disabled - drm/amd/display: Fix hang/underflow when transitioning to ODM4:1 - USB: UAS: return ENODEV when submit urbs fail with device not attached - usb: cdc-wdm: close race between read and workqueue - Revert "usb: phy: generic: Get the vbus supply" - mtd: spinand: Add support for 5-byte IDs - Bluetooth: hci_sync: Fix not checking error on hci_cmd_sync_cancel_sync - drm/i915/gt: Reset queue_priority_hint on parking - drm/i915: Do not match JSL in ehl_combo_pll_div_frac_wa_needed() - drm/i915/dsi: Go back to the previous INIT_OTP/DISPLAY_ON order, mostly - drm/i915/bios: Tolerate devdata==NULL in intel_bios_encoder_supports_dp_dual_mode() - drm/i915/hwmon: Fix locking inversion in sysfs getter - drm/amdgpu: fix deadlock while reading mqd from debugfs - drm/amdkfd: fix TLB flush after unmap for GFX9.4.2 - drm/vmwgfx: Create debugfs ttm_resource_manager entry only if needed - net: ll_temac: platform_get_resource replaced by wrong function - nouveau/dmem: handle kcalloc() allocation failure - thermal: devfreq_cooling: Fix perf state when calculate dfc res_util - block: Do not force full zone append completion in req_bio_endio() - sdhci-of-dwcmshc: disable PM runtime in dwcmshc_remove() - mmc: core: Avoid negative index with array access - mmc: core: Initialize mmc_blk_ioc_data - mmc: sdhci-omap: re-tuning is needed after a pm transition to support emmc HS200 mode - selftests/mm: fix ARM related issue with fork after pthread_create - selftests/mm: sigbus-wp test requires UFFD_FEATURE_WP_HUGETLBFS_SHMEM - mm: cachestat: fix two shmem bugs - hexagon: vmlinux.lds.S: handle attributes section - exec: Fix NOMMU linux_binprm::exec in transfer_args_to_stack() - Revert "drm/amd/display: Fix sending VSC (+ colorimetry) packets for DP/eDP displays without PSR" - wifi: iwlwifi: fw: don't always use FW dump trig - wifi: iwlwifi: mvm: disable MLO for the time being - wifi: cfg80211: add a flag to disable wireless extensions - wifi: mac80211: check/clear fast rx for non-4addr sta VLAN changes - btrfs: zoned: use zone aware sb location for scrub - btrfs: zoned: don't skip block groups with 100% zone unusable - btrfs: fix race in read_extent_buffer_pages() - tmpfs: fix race on handling dquot rbtree - ARM: prctl: reject PR_SET_MDWE on pre-ARMv6 - prctl: generalize PR_SET_MDWE support check to be per-arch - x86/efistub: Reinstate soft limit for initrd loading - x86/efistub: Add missing boot_params for mixed mode compat entry - init: open /initrd.image with O_LARGEFILE - ALSA: hda/tas2781: add locks to kcontrols - ALSA: hda/tas2781: remove digital gain kcontrol - perf top: Use evsel's cpus to replace user_requested_cpus - selftests/mm: Fix build with _FORTIFY_SOURCE - selftests/mm: gup_test: conform test to TAP format output - pwm: img: fix pwm clock lookup - efi: fix panic in kdump kernel - x86/fpu: Keep xfd_state in sync with MSR_IA32_XFD - x86/mpparse: Register APIC address only once - kprobes/x86: Use copy_from_kernel_nofault() to read from unsafe address - irqchip/renesas-rzg2l: Prevent spurious interrupts when setting trigger type - irqchip/renesas-rzg2l: Rename rzg2l_irq_eoi() - irqchip/renesas-rzg2l: Rename rzg2l_tint_eoi() - irqchip/renesas-rzg2l: Add macro to retrieve TITSR register offset based on register's index - irqchip/renesas-rzg2l: Flush posted write in irq_eoi() - irqchip/renesas-rzg2l: Implement restriction when writing ISCR register - printk: Update @console_may_schedule in console_trylock_spinning() - iommu/dma: Force swiotlb_max_mapping_size on an untrusted device - swiotlb: Fix alignment checks when both allocation and DMA masks are present - swiotlb: Honour dma_alloc_coherent() alignment in swiotlb_alloc() - swiotlb: Fix double-allocation of slots due to broken alignment handling - entry: Respect changes to system call number by trace_sys_enter() - ARM: 9359/1: flush: check if the folio is reserved for no-mapping addresses - ARM: 9352/1: iwmmxt: Remove support for PJ4/PJ4B cores - clocksource/drivers/arm_global_timer: Fix maximum prescaler value - x86/sev: Fix position dependent variable references in startup code - x86/Kconfig: Remove CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT - vfio/fsl-mc: Block calling interrupt handler without trigger - vfio/platform: Create persistent IRQ handlers - vfio/pci: Create persistent INTx handler - vfio: Introduce interface to flush virqfd inject workqueue - btrfs: fix deadlock with fiemap and extent locking - xfs: remove conditional building of rt geometry validator functions - xfs: reset XFS_ATTR_INCOMPLETE filter on node removal - xfs: update dir3 leaf block metadata after swap - xfs: ensure logflagsp is initialized in xfs_bmap_del_extent_real - xfs: short circuit xfs_growfs_data_private() if delta is zero - xfs: initialise di_crc in xfs_log_dinode - xfs: add missing nrext64 inode flag check to scrub - xfs: force all buffers to be written during btree bulk load - xfs: fix an off-by-one error in xreap_agextent_binval - xfs: recompute growfsrtfree transaction reservation while growing rt volume - xfs: remove unused fields from struct xbtree_ifakeroot - xfs: make xchk_iget safer in the presence of corrupt inode btrees - xfs: don't allow overly small or large realtime volumes - xfs: fix 32-bit truncation in xfs_compute_rextslog - xfs: make rextslog computation consistent with mkfs - xfs: transfer recovered intent item ownership in ->iop_recover - xfs: pass the xfs_defer_pending object to iop_recover - xfs: use xfs_defer_pending objects to recover intent items - xfs: don't leak recovered attri intent items - xfs: consider minlen sized extents in xfs_rtallocate_extent_block - xfs: convert rt bitmap extent lengths to xfs_rtbxlen_t - xfs: move the xfs_rtbitmap.c declarations to xfs_rtbitmap.h - wifi: rtw88: 8821cu: Fix connection failure - wifi: iwlwifi: pcie: fix RB status reading - ASoC: amd: yc: Revert "Fix non-functional mic on Lenovo 21J2" - x86/efistub: Call mixed mode boot services on the firmware's stack - drm/amd/display: handle range offsets in VRR ranges - drm/i915: Don't explode when the dig port we don't have an AUX CH - iio: imu: inv_mpu6050: fix FIFO parsing when empty - iio: imu: inv_mpu6050: fix frequency setting when chip is off - i2c: i801: Avoid potential double call to gpiod_remove_lookup_table - iio: accel: adxl367: fix I2C FIFO data register - iio: accel: adxl367: fix DEVID read after reset - arm64: dts: qcom: sc8280xp-x13s: limit pcie4 link speed - mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations - ARM: imx_v6_v7_defconfig: Restore CONFIG_BACKLIGHT_CLASS_DEVICE - tee: optee: Fix kernel panic caused by incorrect error handling - ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook - ALSA: hda/realtek - Add Headset Mic supported Acer NB platform - fs/aio: Check IOCB_AIO_RW before the struct aio_kiocb conversion - Revert "tty: serial: simplify qcom_geni_serial_send_chunk_fifo()" - vt: fix unicode buffer corruption when deleting characters - mei: me: add arrow lake point H DID - mei: me: add arrow lake point S DID - serial: port: Don't suspend if the port is still busy - misc: fastrpc: Pass proper arguments to scm call - misc: lis3lv02d_i2c: Fix regulators getting en-/dis-abled twice on suspend/resume - tty: serial: fsl_lpuart: avoid idle preamble pending if CTS is enabled - xhci: Fix failure to detect ring expansion need. - usb: port: Don't try to peer unused USB ports based on location - usb: gadget: ncm: Fix handling of zero block length packets - usb: typec: altmodes/displayport: create sysfs nodes as driver's default device attribute group - USB: usb-storage: Prevent divide-by-0 error in isd200_ata_command - ALSA: hda/realtek - Fix headset Mic no show at resume back for Lenovo ALC897 platform - drm/i915: Check before removing mm notifier - tty: serial: imx: Fix broken RS485 - drm/amdgpu/pm: Fix the error of pwm1_enable setting - tracing: Use .flush() call to wake up readers - SEV: disable SEV-ES DebugSwap by default - KVM: SVM: Flush pages under kvm->lock to fix UAF in svm_register_enc_region() - KVM: x86: Mark target gfn of emulated atomic instruction as dirty - firewire: ohci: prevent leak of left-over IRQ on unbind - init/Kconfig: lower GCC version check for -Warray-bounds - Input: xpad - add additional HyperX Controller Identifiers - cgroup/cpuset: Fix retval in update_cpumask() - usb: typec: tpcm: Fix PORT_RESET behavior for self powered devices - selftests: mptcp: diag: return KSFT_FAIL not test_cnt - mm, mmap: fix vma_merge() case 7 with vma_ops->close - xfrm: Avoid clang fortify warning in copy_to_user_tmpl() - crypto: sun8i-ce - Fix use after free in unprepare - crypto: rk3288 - Fix use after free in unprepare - drm/nouveau: fix stale locked mutex in nouveau_gem_ioctl_pushbuf - nouveau: lock the client object tree. - Drivers: hv: vmbus: Calculate ring buffer size for more efficient use of memory - netfilter: nf_tables: reject constant set with timeout - netfilter: nf_tables: disallow anonymous set with timeout flag - netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout - net: fix IPSTATS_MIB_OUTPKGS increment in OutForwDatagrams. - drm/amd/display: Use freesync when `DRM_EDID_FEATURE_CONTINUOUS_FREQ` found - workqueue: Shorten events_freezable_power_efficient name - drm/bridge: lt8912b: do not return negative values from .get_modes() - drm/bridge: lt8912b: clear the EDID property on failures - drm/bridge: lt8912b: use drm_bridge_edid_read() - drm/bridge: add ->edid_read hook and drm_bridge_edid_read() - drm/ttm: Make sure the mapped tt pages are decrypted when needed - wifi: brcmfmac: Demote vendor-specific attach/detach messages to info - wifi: brcmfmac: cfg80211: Use WSEC to set SAE password - wifi: brcmfmac: add per-vendor feature detection callback - x86/pm: Work around false positive kmemleak report in msr_build_context() - dm snapshot: fix lockup in dm_exception_table_exit - drm/amd/display: Fix noise issue on HDMI AV mute - drm/amd/display: Return the correct HDCP error code - drm/amdgpu: amdgpu_ttm_gart_bind set gtt bound flag - ahci: asm1064: asm1166: don't limit reported ports - ahci: asm1064: correct count of reported ports - wireguard: selftests: set RISCV_ISA_FALLBACK on riscv{32,64} - wireguard: netlink: access device through ctx instead of peer - wireguard: netlink: check for dangling peer via is_dead instead of empty list - LoongArch/crypto: Clean up useless assignment operations - LoongArch: Define the __io_aw() hook as mmiowb() - LoongArch: Change __my_cpu_offset definition to avoid mis-optimization - virtio: reenable config if freezing device failed - cxl/trace: Properly initialize cxl_poison region name - net: hns3: tracing: fix hclgevf trace event strings - drm/i915: Add missing ; to __assign_str() macros in tracepoint code - NFSD: Fix nfsd_clid_class use of __string_len() macro - net: esp: fix bad handling of pages from page_pool - x86/CPU/AMD: Update the Zenbleed microcode revisions - cpufreq: dt: always allocate zeroed cpumask - mtd: rawnand: Constrain even more when continuous reads are enabled - mtd: rawnand: Fix and simplify again the continuous read derivations - cifs: open_cached_dir(): add FILE_READ_EA to desired access - cifs: reduce warning log level for server not advertising interfaces - cifs: make cifs_chan_update_iface() a void function - cifs: delete unnecessary NULL checks in cifs_chan_update_iface() - cifs: do not let cifs_chan_update_iface deallocate channels - cifs: make sure server interfaces are requested only for SMB3+ - cifs: add xid to query server interface call - nilfs2: prevent kernel bug at submit_bh_wbc() - nilfs2: fix failure to detect DAT corruption in btree and direct mappings - f2fs: truncate page cache before clearing flags when aborting atomic write - f2fs: mark inode dirty for FI_ATOMIC_COMMITTED flag - Revert "block/mq-deadline: use correct way to throttling write requests" - memtest: use {READ,WRITE}_ONCE in memory scanning - drm/vc4: hdmi: do not return negative values from .get_modes() - drm/imx/ipuv3: do not return negative values from .get_modes() - drm/exynos: do not return negative values from .get_modes() - drm/panel: do not return negative error codes from drm_panel_get_modes() - drm/probe-helper: warn about negative .get_modes() - s390/zcrypt: fix reference counting on zcrypt card objects - soc: fsl: qbman: Use raw spinlock for cgr_lock - soc: fsl: qbman: Always disable interrupts when taking cgr_lock - dlm: fix user space lkb refcounting - ring-buffer: Use wait_event_interruptible() in ring_buffer_wait() - ring-buffer: Fix full_waiters_pending in poll - ring-buffer: Fix resetting of shortest_full - ring-buffer: Do not set shortest_full when full target is hit - ring-buffer: Fix waking up ring buffer readers - io_uring: clean rings on NO_MMAP alloc fail - platform/x86/intel/tpmi: Change vsec offset to u64 - ksmbd: retrieve number of blocks using vfs_getattr in set_file_allocation_info - ksmbd: replace generic_fillattr with vfs_getattr - server: convert to new timestamp accessors - vfio/platform: Disable virqfds on cleanup - vfio/pci: Lock external INTx masking ops - vfio/pci: Disable auto-enable of exclusive INTx IRQ - thermal/drivers/mediatek: Fix control buffer enablement on MT7896 - cifs: allow changing password during remount - cifs: prevent updating file size from server if we have a read/write lease - smb: client: stop revalidating reparse points unnecessarily - PCI: hv: Fix ring buffer size calculation - PCI: dwc: endpoint: Fix advertised resizable BAR size - PCI: qcom: Enable BDF to SID translation properly - kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1 - NFS: Read unlock folio on nfs_page_create_from_folio() error - nfs: fix UAF in direct writes - sparc32: Fix parport build with sparc32 - io_uring: fix mshot io-wq checks - io_uring/net: correctly handle multishot recvmsg retry setup - PCI/AER: Block runtime suspend when handling errors - speakup: Fix 8bit characters from direct synth - usb: gadget: tegra-xudc: Fix USB3 PHY retrieval logic - phy: tegra: xusb: Add API to retrieve the port number of phy - slimbus: core: Remove usage of the deprecated ida_simple_xx() API - nvmem: meson-efuse: fix function pointer type mismatch - ext4: fix corruption during on-line resize - hwmon: (amc6821) add of_match table - landlock: Warn once if a Landlock action is requested while disabled - drm/etnaviv: Restore some id values - leds: trigger: netdev: Fix kernel panic on interface rename trig notify - Bluetooth: btnxpuart: Fix btnxpuart_close - mmc: core: Fix switch on gp3 partition - mm: swap: fix race between free_swap_and_cache() and swapoff() - mac802154: fix llsec key resources release in mac802154_llsec_key_del - block: Fix page refcounts for unaligned buffers in __bio_release_pages() - powerpc: xor_vmx: Add '-mhard-float' to CFLAGS - dm-raid: fix lockdep waring in "pers->hot_add_disk" - PCI/DPC: Quirk PIO log size for Intel Raptor Lake Root Ports - PCI/PM: Drain runtime-idle callbacks before driver removal - wifi: rtw88: Add missing VID/PIDs for 8811CU and 8821CU - btrfs: fix off-by-one chunk length calculation at contains_pending_extent() - btrfs: qgroup: always free reserved space for extent records - serial: Lock console when calling into driver before registration - serial: core: only stop transmit when HW fifo is empty - usb: dwc3-am62: Disable wakeup at remove - usb: dwc3-am62: fix module unload/reload behavior - usb: typec: ucsi: Clean up UCSI_CABLE_PROP macros - fuse: don't unhash root - fuse: fix root lookup with nonzero generation - fuse: replace remaining make_bad_inode() with fuse_make_bad() - mmc: tmio: avoid concurrent runs of mmc_request_done() - PM: sleep: wakeirq: fix wake irq warning in system suspend - USB: serial: cp210x: add pid/vid for TDK NC0110013M and MM0110113M - KVM: x86/xen: inject vCPU upcall vector when local APIC is enabled - USB: serial: option: add MeiG Smart SLM320 product - USB: serial: cp210x: add ID for MGP Instruments PDS100 - USB: serial: add device ID for VeriFone adapter - USB: serial: ftdi_sio: add support for GMC Z216C Adapter IR-USB - powerpc/fsl: Fix mfpmr build errors with newer binutils - usb: xhci: Add error handling in xhci_map_urb_for_dma - clk: qcom: mmcc-msm8974: fix terminating of frequency table arrays - clk: qcom: mmcc-apq8084: fix terminating of frequency table arrays - clk: qcom: gcc-ipq9574: fix terminating of frequency table arrays - clk: qcom: gcc-ipq8074: fix terminating of frequency table arrays - clk: qcom: gcc-ipq6018: fix terminating of frequency table arrays - clk: qcom: gcc-ipq5018: fix terminating of frequency table arrays - vfio/pds: Always clear the save/restore FDs on reset - PM: suspend: Set mem_sleep_current during kernel command line setup - cpufreq: Limit resolving a frequency to policy min/max - docs: Restore "smart quotes" for quotes - iio: adc: rockchip_saradc: use mask for write_enable bitfield - iio: adc: rockchip_saradc: fix bitmask for channels on SARADCv2 - md/raid5: fix atomicity violation in raid5_cache_count - parisc: Strip upper 32 bit of sum in csum_ipv6_magic for 64-bit builds - parisc: Fix csum_ipv6_magic on 64-bit systems - parisc: Fix csum_ipv6_magic on 32-bit systems - parisc: Fix ip_fast_csum - parisc: Avoid clobbering the C/B bits in the PSW with tophys and tovirt macros - parisc/unaligned: Rewrite 64-bit inline assembly of emulate_ldd() - x86/nmi: Fix the inverse "in NMI handler" check - md/md-bitmap: fix incorrect usage for sb_index - mtd: rawnand: meson: fix scrambling mode value in command macro - ubi: correct the calculation of fastmap size - ubifs: Set page uptodate in the correct place - fuse: fix VM_MAYSHARE and direct_io_allow_mmap - fat: fix uninitialized field in nostale filehandles - bounds: support non-power-of-two CONFIG_NR_CPUS - kasan/test: avoid gcc warning for intentional overflow - block: Clear zone limits for a non-zoned stacked queue - ext4: correct best extent lstart adjustment logic - selftests/mqueue: Set timeout to 180 seconds - sparc: vDSO: fix return value of __setup handler - sparc64: NMI watchdog: fix return value of __setup handler - powerpc/smp: Increase nr_cpu_ids to include the boot CPU - powerpc/smp: Adjust nr_cpu_ids to cover all threads of a core - powercap: intel_rapl_tpmi: Fix System Domain probing - powercap: intel_rapl_tpmi: Fix a register bug - powercap: intel_rapl: Fix locking in TPMI RAPL - sched: Simplify tg_set_cfs_bandwidth() - powercap: intel_rapl: Fix a NULL pointer dereference - thermal/intel: Fix intel_tcc_get_temp() to support negative CPU temperature - cpufreq: amd-pstate: Fix min_perf assignment in amd_pstate_adjust_perf() - arm64: dts: qcom: sm8550-mtp: correct WCD9385 TX port mapping - arm64: dts: qcom: sm8550-qrd: correct WCD9385 TX port mapping - KVM: Always flush async #PF workqueue when vCPU is being destroyed - media: nxp: imx8-isi: Mark all crossbar sink pads as MUST_CONNECT - media: mc: Expand MUST_CONNECT flag to always require an enabled link - media: mc: Rename pad variable to clarify intent - media: mc: Add num_links flag to media_pad - media: nxp: imx8-isi: Check whether crossbar pad is non-NULL before access - media: mc: Fix flags handling when creating pad links - media: mc: Add local pad to pipeline regardless of the link state - media: xc4000: Fix atomicity violation in xc4000_get_frequency - pci_iounmap(): Fix MMIO mapping leak - drm/vmwgfx: Fix the lifetime of the bo cursor memory - serial: max310x: fix NULL pointer dereference in I2C instantiation - drm/vmwgfx: Fix possible null pointer derefence with invalid contexts - arm: dts: marvell: Fix maxium->maxim typo in brownstone dts - smack: Handle SMACK64TRANSMUTE in smack_inode_setsecurity() - smack: Set SMACK64TRANSMUTE only for dirs in smack_inode_setxattr() - clk: qcom: gcc-sdm845: Add soft dependency on rpmhpd - remoteproc: virtio: Fix wdg cannot recovery remote processor - arm64: dts: qcom: sc7280: Add additional MSI interrupts - media: staging: ipu3-imgu: Set fields before media_entity_pads_init() - wifi: brcmfmac: avoid invalid list operation when vendor attach fails - wifi: brcmfmac: Fix use-after-free bug in brcmf_cfg80211_detach - drm/vmwgfx: Unmap the surface before resetting it on a plane state - KVM: x86: Use a switch statement and macros in __feature_translate() - KVM: x86: Advertise CPUID.(EAX=7,ECX=2):EDX[5:0] to userspace - x86/efistub: Don't clear BSS twice in mixed mode - x86/efistub: Clear decompressor BSS in native EFI entrypoint - dm-integrity: align the outgoing bio in integrity_recheck - dm io: Support IO priority - selftests: forwarding: Fix ping failure due to short timeout - spi: spi-mt65xx: Fix NULL pointer access in interrupt handler - netfilter: nf_tables: Fix a memory leak in nf_tables_updchain - net: dsa: mt7530: fix handling of all link-local frames - net: dsa: mt7530: fix link-local frames that ingress vlan filtering ports - bpf: report RCU QS in cpumap kthread - net: report RCU QS on threaded NAPI repolling - rcu: add a helper to report consolidated flavor QS - netfilter: nf_tables: do not compare internal table flags on updates - netfilter: nft_set_pipapo: release elements in clone only from destroy path - octeontx2-af: Use separate handlers for interrupts - octeontx2-pf: Send UP messages to VF only when VF is up. - octeontx2-pf: Use default max_active works instead of one - octeontx2-pf: Wait till detach_resources msg is complete - octeontx2: Detect the mbox up or down message via register - devlink: fix port new reply cmd type - net/bnx2x: Prevent access to a freed page in page_pool - dm-integrity: fix a memory leak when rechecking the data - net: phy: fix phy_read_poll_timeout argument type in genphy_loopback - ceph: stop copying to iter at EOF on sync reads - ipv4: raw: Fix sending packets from raw sockets via IPsec tunnels - hsr: Handle failures in module init - rds: introduce acquire/release ordering in acquire/release_in_xmit() - wireguard: receive: annotate data-race around receiving_counter.counter - virtio: packed: fix unmap leak for indirect desc table - vdpa/mlx5: Allow CVQ size changes - vdpa_sim: reset must not run - drm: Fix drm_fixp2int_round() making it add 0.5 - spi: spi-imx: fix off-by-one in mx51 CPU mode burst length - net: dsa: mt7530: prevent possible incorrect XTAL frequency selection - net: veth: do not manipulate GRO when using XDP - xfrm: Allow UDP encapsulation only in offload modes - packet: annotate data-races around ignore_outgoing - xen/events: increment refcnt only if event channel is refcounted - xen/evtchn: avoid WARN() when unbinding an event channel - riscv: Fix compilation error with FAST_GUP and rv32 - io_uring: fix poll_remove stalled req completion - net: ethernet: mtk_eth_soc: fix PPE hanging issue - net: mediatek: mtk_eth_soc: clear MAC_MCR_FORCE_LINK only when MAC is up - nvme: fix reconnection fail due to reserved tag allocation - net: txgbe: fix clk_name exceed MAX_DEV_ID limits - hsr: Fix uninit-value access in hsr_get_node() - vmxnet3: Fix missing reserved tailroom - tcp: Fix refcnt handling in __inet_hash_connect(). - io_uring: Fix release of pinned pages when __io_uaddr_map fails - cpufreq: Fix per-policy boost behavior on SoCs using cpufreq_boost_set_sw() - soc: fsl: dpio: fix kcalloc() argument order - net/sched: taprio: proper TCA_TAPRIO_TC_ENTRY_INDEX check - s390/vtime: fix average steal time calculation - octeontx2-af: Use matching wake_up API variant in CGX command interface - rds: tcp: Fix use-after-free of net in reqsk_timer_handler(). - tcp: Fix NEW_SYN_RECV handling in inet_twsk_purge() - nouveau: reset the bo resource bus info after an eviction - ASoC: rockchip: i2s-tdm: Fix inaccurate sampling rates - spi: lpspi: Avoid potential use-after-free in probe() - io_uring: don't save/restore iowait state - thermal/drivers/qoriq: Fix getting tmu range - thermal/drivers/mediatek/lvts_thermal: Fix a memory leak in an error handling path - ASoC: tlv320adc3xxx: Don't strip remove function when driver is builtin - x86/hyperv: Use per cpu initial stack for vtl context - usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin - staging: greybus: fix get_channel_from_mode() failure path - serial: 8250_exar: Don't remove GPIO device on suspend - rtc: mt6397: select IRQ_DOMAIN instead of depending on it - bus: mhi: ep: check the correct variable in mhi_ep_register_controller() - iio: gts-helper: Fix division loop - kconfig: fix infinite loop when expanding a macro at the end of file - coresight: etm4x: Set skip_power_up in etm4_init_arch_data function - coresight: Fix issue where a source device's helpers aren't disabled - arm64: dts: broadcom: bcmbca: bcm4908: drop invalid switch cells - tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT - serial: max310x: fix syntax error in IRQ error message - tty: vt: fix 20 vs 0x20 typo in EScsiignore - usb: phy: generic: Get the vbus supply - iio: pressure: mprls0025pa fix off-by-one enum - remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef - remoteproc: stm32: Fix incorrect type in assignment for va - mei: gsc_proxy: match component when GSC is on different bus - comedi: comedi_test: Prevent timers rescheduling during deletion - io_uring/net: correct the type of variable - afs: Revert "afs: Hide silly-rename files from userspace" - f2fs: zone: fix to remove pow2 check condition for zoned block device - f2fs: compress: fix reserve_cblocks counting error when out of space - f2fs: compress: relocate some judgments in f2fs_reserve_compress_blocks - NFSv4.1/pnfs: fix NFS with TLS in pnfs - NFS: Fix an off by one in root_nfs_cat() - NFS: Fix nfs_netfs_issue_read() xarray locking for writeback interrupt - Input: iqs7222 - add support for IQS7222D v1.1 and v1.2 - RDMA/mana_ib: Fix bug in creation of dma regions - f2fs: ro: compress: fix to avoid caching unaligned extent - f2fs: fix to use correct segment type in f2fs_allocate_data_block() - watchdog: stm32_iwdg: initialize default timeout - watchdog: starfive: Check pm_runtime_enabled() before decrementing usage counter - f2fs: check number of blocks in a current section - f2fs: compress: fix to check compress flag w/ .i_sem lock - NFSv4.2: fix listxattr maximum XDR buffer size - NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102 - net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() - f2fs: compress: fix to check zstd compress level correctly in mount option - f2fs: fix to create selinux label during whiteout initialization - scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn - RDMA/rtrs-clt: Check strnlen return len in sysfs mpath_policy_store() - RDMA/device: Fix a race between mad_client and cm_client init - i3c: dw: Disable IBI IRQ depends on hot-join and SIR enabling - scsi: csiostor: Avoid function pointer casts - f2fs: fix to avoid potential panic during recovery - f2fs: compress: fix to cover f2fs_disable_compressed_file() w/ i_sem - f2fs: zone: fix to wait completion of last bio in zone correctly - f2fs: fix to remove unnecessary f2fs_bug_on() to avoid panic - f2fs: compress: fix to avoid inconsistence bewteen i_blocks and dnode - f2fs: update blkaddr in __set_data_blkaddr() for cleanup - f2fs: introduce get_dnode_addr() to clean up codes - f2fs: delete obsolete FI_DROP_CACHE - f2fs: delete obsolete FI_FIRST_BLOCK_WRITTEN - f2fs: compress: fix to check unreleased compressed cluster - f2fs: compress: fix to cover normal cluster write with cp_rwsem - f2fs: compress: fix to guarantee persisting compressed blocks by CP - RDMA/srpt: Do not register event handler until srpt device is fully setup - RDMA/irdma: Remove duplicate assignment - ALSA: usb-audio: Stop parsing channels bits when all channels are found. - ALSA: hda/tas2781: restore power state after system_resume - ALSA: hda/tas2781: configure the amp after firmware load - ALSA: hda/tas2781: do not call pm_runtime_force_* in system_resume/suspend - ALSA: hda/tas2781: add ptrs to calibration functions - ALSA: hda/tas2781: do not reset cur_* values in runtime_suspend - ALSA: hda/tas2781: add lock to system_suspend - ALSA: hda/tas2781: use dev_dbg in system_resume - ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops - cifs: Fix writeback data corruption - cifs: Don't use certain unnecessary folio_*() functions - smb: do not test the return value of folio_start_writeback() - PCI: brcmstb: Fix broken brcm_pcie_mdio_write() polling - clk: zynq: Prevent null pointer dereference caused by kmalloc failure - clk: Fix clk_core_get NULL dereference - sparc32: Fix section mismatch in leon_pci_grpci - backlight: lp8788: Fully initialize backlight_properties during probe - backlight: lm3639: Fully initialize backlight_properties during probe - backlight: da9052: Fully initialize backlight_properties during probe - backlight: lm3630a: Don't set bl->props.brightness in get_brightness - backlight: lm3630a: Initialize backlight_properties on init - backlight: ktz8866: Correct the check for of_property_read_u32 - leds: sgm3140: Add missing timer cleanup and flash gpio control - leds: aw2013: Unlock mutex before destroying it - powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc. - mfd: cs42l43: Fix wrong GPIO_FN_SEL and SPI_CLK_CONFIG1 defaults - modules: wait do_free_init correctly - drm/msm/dpu: add division of drm_display_mode's hskew parameter - clk: qcom: gcc-ipq5018: fix register offset for GCC_UBI0_AXI_ARES reset - clk: qcom: gcc-ipq5018: fix 'halt_reg' offset of 'gcc_pcie1_pipe_clk' - clk: qcom: gcc-ipq5018: fix 'enable_reg' offset of 'gcc_gmac0_sys_clk' - powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks - powerpc/pseries: Fix potential memleak in papr_get_attr() - mfd: cs42l43: Fix wrong register defaults - drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip - gpio: nomadik: fix offset bug in nmk_pmx_set() - drm/amd/pm: Fix esm reg mask use to get pcie speed - drm/tests: helpers: Include missing drm_drv header - arm64: ftrace: Don't forbid CALL_OPS+CC_OPTIMIZE_FOR_SIZE with Clang - media: mediatek: vcodec: avoid -Wcast-function-type-strict warning - media: ttpci: fix two memleaks in budget_av_attach - media: go7007: fix a memleak in go7007_load_encoder - media: dvb-frontends: avoid stack overflow warnings with clang - drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int() - HID: amd_sfh: Avoid disabling the interrupt - HID: amd_sfh: Update HPD sensor structure elements - perf pmu: Fix a potential memory leak in perf_pmu__lookup() - ASoC: meson: axg-tdm-interface: add frame rate constraint - ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs - mtd: rawnand: lpc32xx_mlc: fix irq handler prototype - mtd: maps: physmap-core: fix flash size larger than 32-bit - clk: imx: imx8mp: Fix SAI_MCLK_SEL definition - drm/tidss: Fix sync-lost issue with two displays - drm/tidss: Fix initial plane zpos values - crypto: jitter - fix CRYPTO_JITTERENTROPY help text - crypto: ccp - Avoid discarding errors in psp_send_platform_access_msg() - crypto: arm/sha - fix function cast warnings - perf print-events: make is_event_supported() more robust - mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref - mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref - media: i2c: imx290: Fix IMX920 typo - media: ivsc: csi: Swap SINK and SOURCE pads - drm/tegra: put drm_gem_object ref on error in tegra_fb_create - clk: mediatek: mt7981-topckgen: flag SGM_REG_SEL as critical - clk: mediatek: mt8183: Correct parent of CLK_INFRA_SSPM_32K_SELF - clk: mediatek: mt7622-apmixedsys: Fix an error handling path in clk_mt8135_apmixed_probe() - clk: mediatek: mt8135: Fix an error handling path in clk_mt8135_apmixed_probe() - clk: hisilicon: hi3559a: Fix an erroneous devm_kfree() - clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() - pinctrl: renesas: Allow the compiler to optimize away sh_pfc_pm - PCI: Mark 3ware-9650SE Root Port Extended Tags as broken - drm/mediatek: dsi: Fix DSI RGB666 formats and definitions - drm/panel: boe-tv101wum-nl6: make use of prepare_prev_first - drm/amd/display: Add 'replay' NULL check in 'edp_set_replay_allow_active()' - clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times - media: pvrusb2: fix pvr2_stream_callback casts - media: pvrusb2: remove redundant NULL check - media: go7007: add check of return value of go7007_read_addr() - media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak - media: sun8i-di: Fix chroma difference threshold - media: sun8i-di: Fix power on/off sequences - media: sun8i-di: Fix coefficient writes - media: cedrus: h265: Fix configuring bitstream size - NTB: fix possible name leak in ntb_register_device() - drm: ci: use clk_ignore_unused for apq8016 - ASoC: SOF: Add some bounds checking to firmware data - powerpc: Force inlining of arch_vmap_p{u/m}d_supported() - ASoC: meson: t9015: fix function pointer type mismatch - ASoC: meson: aiu: fix function pointer type mismatch - perf metric: Don't remove scale from counts - perf stat: Avoid metric-only segv - perf expr: Fix "has_event" function for metric style events - ALSA: seq: fix function cast warnings - clk: renesas: r8a779f0: Correct PFC/GPIO parent clock - clk: renesas: r8a779g0: Correct PFC/GPIO parent clocks - drm/amd/display: fix NULL checks for adev->dm.dc in amdgpu_dm_fini() - drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode() - drm/msm/dpu: Only enable DSC_MODE_MULTIPLEX if dsc_merge is enabled - drm/msm/dpu: fix the programming of INTF_CFG2_DATA_HCTL_EN - dt-bindings: msm: qcom, mdss: Include ommited fam-b compatible - perf srcline: Add missed addr2line closes - perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str() - drivers/ps3: select VIDEO to provide cmdline functions - crypto: xilinx - call finalize with bh disabled - PCI: switchtec: Fix an error handling path in switchtec_pci_probe() - PCI/P2PDMA: Fix a sleeping issue in a RCU read section - quota: Properly annotate i_dquot arrays with __rcu - quota: Fix rcu annotations of inode dquot pointers - clk: qcom: reset: Ensure write completion on reset de/assertion - clk: qcom: reset: Commonize the de/assert functions - drm/amdgpu: Fix potential out-of-bounds access in 'amdgpu_discovery_reg_base_init()' - pinctrl: mediatek: Drop bogus slew rate register range for MT8192 - pinctrl: mediatek: Drop bogus slew rate register range for MT8186 - media: edia: dvbdev: fix a use-after-free - mtd: spinand: esmt: Extend IDs to 5 bytes - media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity - media: v4l2-tpg: fix some memleaks in tpg_alloc - media: em28xx: annotate unchecked call to media_device_register() - clk: meson: Add missing clocks to axg_clk_regmaps - perf bpf: Clean up the generated/copied vmlinux.h - perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample() - media: v4l2: cci: print leading 0 on error - clk: samsung: exynos850: Propagate SPI IPCLK rate change - pinctrl: renesas: r8a779g0: Add missing SCIF_CLK2 pin group/function - drm/vmwgfx: Fix vmw_du_get_cursor_mob fencing of newly-created MOBs - ASoC: sh: rz-ssi: Fix error message print - drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' - perf pmu: Treat the msr pmu as software - drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()' - HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd - perf record: Check conflict between '--timestamp-filename' option and pipe mode before recording - perf top: Uniform the event name for the hybrid machine - perf record: Fix possible incorrect free in record__switch_output() - PCI/DPC: Print all TLP Prefixes, not just the first - media: cadence: csi2rx: use match fwnode for media link - media: tc358743: register v4l2 async device only after successful setup - dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA - ASoC: SOF: amd: Fix memory leak in amd_sof_acp_probe() - ASoC: amd: acp: Add missing error handling in sof-mach - drm/lima: fix a memleak in lima_heap_alloc - drm/panel-edp: use put_sync in unprepare - drm/rockchip: lvds: do not print scary message when probing defer - drm/rockchip: lvds: do not overwrite error code - drm/vmwgfx: fix a memleak in vmw_gmrid_man_get_node - drm/vkms: Avoid reading beyond LUT array - drm: Don't treat 0 as -1 in drm_fixp2int_ceil - drm/rockchip: inno_hdmi: Fix video timing - drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe() - drm/tegra: rgb: Fix missing clk_put() in the error handling paths of tegra_dc_rgb_probe() - drm/tegra: rgb: Fix some error handling paths in tegra_dc_rgb_probe() - drm/tegra: hdmi: Fix some error handling paths in tegra_hdmi_probe() - drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe() - drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe() - drm/tegra: dpaux: Fix PM disable depth imbalance in tegra_dpaux_probe - drm/tegra: dsi: Add missing check for of_find_device_by_node - dm: call the resume method on internal suspend - dm raid: fix false positive for requeue needed during reshape - bpf: hardcode BPF_PROG_PACK_SIZE to 2MB * num_possible_nodes() - nfp: flower: handle acti_netdevs allocation failure - net/x25: fix incorrect parameter validation in the x25_getsockopt() function - net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function - udp: fix incorrect parameter validation in the udp_lib_getsockopt() function - l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function - ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function - tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function - OPP: debugfs: Fix warning around icc_get_name() - erofs: fix lockdep false positives on initializing erofs_pseudo_mnt - net: phy: dp83822: Fix RGMII TX delay configuration - Bluetooth: Fix eir name length - net: phy: fix phy_get_internal_delay accessing an empty array - net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv() - ipv6: fib6_rules: flush route cache when rule is changed - iommu: Fix compilation without CONFIG_IOMMU_INTEL - bpf: Fix stackmap overflow check on 32-bit arches - bpf: Fix hashtab overflow check on 32-bit arches - bpf: Fix DEVMAP_HASH overflow check on 32-bit arches - s390/cache: prevent rebuild of shared_cpu_list - Bluetooth: fix use-after-free in accessing skb after sending it - Bluetooth: af_bluetooth: Fix deadlock - Bluetooth: btusb: Fix memory leak - Bluetooth: msft: Fix memory leak - Bluetooth: msft: __hci_cmd_sync() doesn't return NULL - Bluetooth: hci_core: Fix possible buffer overflow - Bluetooth: btrtl: fix out of bounds memory access - Bluetooth: hci_h5: Add ability to allocate memory for private data - Bluetooth: hci_sync: Fix overwriting request callback - Bluetooth: hci_core: Cancel request on command timeout - Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() with gpiod_get_optional() - Bluetooth: hci_event: Fix not indicating new connection for BIG Sync - Bluetooth: Remove BT_HS - Bluetooth: Remove superfluous call to hci_conn_check_pending() - Bluetooth: mgmt: Remove leftover queuing of power_off work - Bluetooth: Remove HCI_POWER_OFF_TIMEOUT - ice: fix stats being updated by way too large values - igb: Fix missing time sync events - igc: Fix missing time sync events - iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected - PCI: Make pci_dev_is_disconnected() helper public for other drivers - wifi: brcm80211: handle pmk_op allocation failure - wifi: rtw88: 8821c: Fix false alarm count - wifi: rtw88: 8821c: Fix beacon loss and disconnect - wifi: rtw88: 8821cu: Fix firmware upload fail - ACPI: CPPC: enable AMD CPPC V2 support for family 17h processors - mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function - arm64: dts: qcom: sm8550: Fix SPMI channels size - SUNRPC: fix some memleaks in gssx_dec_option_array - SUNRPC: fix a memleak in gss_import_v2_context - x86, relocs: Ignore relocations in .notes section - objtool: Fix UNWIND_HINT_{SAVE,RESTORE} across basic blocks - arm64: dts: rockchip: drop rockchip,trcm-sync-tx-only from rk3588 i2s - arm64: dts: rockchip: fix reset-names for rk356x i2s2 controller - arm64: dts: rockchip: add missing interrupt-names for rk356x vdpu - ACPI: scan: Fix device check notification handling - ACPI: resource: Add MAIBENBEN X577 to irq1_edge_low_force_override - ACPI: resource: Do IRQ override on Lunnen Ground laptops - ACPI: resource: Add Infinity laptops to irq1_edge_low_force_override - arm64: dts: marvell: reorder crypto interrupts on Armada SoCs - gpiolib: Pass consumer device through to core in devm_fwnode_gpiod_get_index() - regulator: userspace-consumer: add module device table - arm64: dts: imx8mp-evk: Fix hdmi@3d node - arm64: dts: imx8mp: Set SPI NOR to max 40 MHz on Data Modul i.MX8M Plus eDM SBC - ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node - ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address - arm64: dts: allwinner: h6: Add RX DMA channel for SPDIF - pstore: inode: Only d_invalidate() is needed - pstore: inode: Convert mutex usage to guard(mutex) - net: mctp: copy skb ext data when fragmenting - arm64: dts: renesas: r8a779g0: Correct avb[01] reg sizes - arm64: dts: renesas: r8a779a0: Correct avb[01] reg sizes - arm64: dts: renesas: rzg2l: Add missing interrupts to IRQC nodes - wifi: mt76: mt792x: fix a potential loading failure of the 6Ghz channel config from ACPI - wifi: mt76: mt7921e: fix use-after-free in free_irq() - wifi: mt76: mt792x: fix ethtool warning - wifi: mt76: mt7996: fix HIF_TXD_V2_1 value - wifi: mt76: mt7996: fix efuse reading issue - wifi: mt76: mt7996: fix HE beamformer phy cap for station vif - wifi: mt76: mt7996: fix incorrect interpretation of EHT MCS caps - wifi: mt76: mt7996: fix TWT issues - memory: tegra: Correct DLA client names - ARM: dts: arm: realview: Fix development chip ROM compatible value - wifi: wilc1000: revert reset line logic flip - arm64: dts: ti: k3-am62p: Fix memory ranges for DMSS - firmware: arm_scmi: Fix double free in SMC transport cleanup path - arm64: dts: ti: Add common1 register space for AM62x SoC - arm64: dts: ti: Add common1 register space for AM65x SoC - arm64: dts: mt8195-cherry-tomato: change watchdog reset boot flow - arm64: dts: ti: k3-am64-main: Fix ITAP/OTAP values for MMC - arm64: dts: ti: k3-am64: Enable SDHCI nodes at the board level - arm64: dts: ti: k3-am642-sk: Add boot phase tags marking - arm64: dts: ti: k3-am642-evm: Add boot phase tags marking - arm64: dts: ti: k3-j784s4-evm: Remove Pinmux for CTS and RTS in wkup_uart0 - arm64: dts: ti: k3-j721s2-common-proc-board: Remove Pinmux for CTS and RTS in wkup_uart0 - arm64: dts: ti: k3-j7200-common-proc-board: Remove clock-frequency from mcu_uart0 - arm64: dts: ti: k3-j7200-common-proc-board: Modify Pinmux for wkup_uart0 and mcu_uart0 - net: ena: Remove ena_select_queue - powercap: dtpm_cpu: Fix error check against freq_qos_add_request() - arm64: dts: qcom: sm8150: correct PCIe wake-gpios - arm64: dts: qcom: sm8150: use 'gpios' suffix for PCI GPIOs - arm64: dts: qcom: sdm845-db845c: correct PCIe wake-gpios - wifi: brcmsmac: avoid function pointer casts - iommu/amd: Mark interrupt as managed - bus: tegra-aconnect: Update dependency to ARCH_TEGRA - arm64: dts: ti: k3-am62-main: disable usb lpm - wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces - cpufreq: qcom-hw: add CONFIG_COMMON_CLK dependency - arm64: dts: mediatek: mt8186: Add missing xhci clock to usb controllers - arm64: dts: mediatek: mt8186: Add missing clocks to ssusb power domains - ARM: dts: qcom: msm8974: correct qfprom node size - soc: qcom: llcc: Check return value on Broadcast_OR reg read - arm64: dts: qcom: sdm845: Use the Low Power Island CX/MX for SLPI - bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly - wifi: iwlwifi: mvm: Fix the listener MAC filter flags - can: m_can: Start/Cancel polling timer together with interrupts - arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes - arm64: dts: mediatek: mt8186: fix VENC power domain clocks - arm64: dts: mediatek: mt8192: fix vencoder clock name - arm64: dts: mediatek: mt8192-asurada: Remove CrosEC base detection node - arm64: dts: mediatek: mt7986: add "#reset-cells" to infracfg - arm64: dts: mediatek: mt7986: drop "#clock-cells" from PWM - arm64: dts: mediatek: mt7986: fix SPI nodename - arm64: dts: mediatek: mt7986: fix SPI bus width properties - arm64: dts: mediatek: mt7986: drop crypto's unneeded/invalid clock name - arm64: dts: mediatek: mt7986: fix reference to PWM in fan node - arm64: dts: mt8183: Move CrosEC base detection node to kukui-based DTs - ipv6: mcast: remove one synchronize_net() barrier in ipv6_mc_down() - selftests: forwarding: Add missing multicast routing config entries - selftests: forwarding: Add missing config entries - s390/vdso: drop '-fPIC' from LDFLAGS - s390/pai: fix attr_event_free upper limit for pai device drivers - wifi: iwlwifi: mvm: don't set replay counters to 0xff - wifi: iwlwifi: mvm: don't set the MFP flag for the GTK - wifi: iwlwifi: mvm: fix erroneous queue index mask - wifi: iwlwifi: support EHT for WH - tools/resolve_btfids: Fix cross-compilation to non-host endianness - tools/resolve_btfids: Refactor set sorting with types from btf_ids.h - pwm: sti: Fix capture for st,pwm-num-chan < st,capture-num-chan - printk: Disable passing console lock owner completely during panic() - wifi: ath12k: fix incorrect logic of calculating vdev_stats_id - arm64: dts: qcom: sm6115: declare VLS CLAMP register for USB3 PHY - arm64: dts: qcom: qcm2290: declare VLS CLAMP register for USB3 PHY - wifi: wfx: fix memory leak when starting AP - libbpf: Use OPTS_SET() macro in bpf_xdp_query() - wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer() - wifi: ath11k: initialize rx_mcs_80 and rx_mcs_160 before use - arm64: dts: ti: k3-j784s4: Fix power domain for VTM node - arm64: dts: ti: k3-j721s2: Fix power domain for VTM node - net: blackhole_dev: fix build warning for ethh set but not used - pwm: atmel-hlcdc: Fix clock imbalance related to suspend support - arm64: dts: imx8mm-venice-gw71xx: fix USB OTG VBUS - gpio: vf610: allow disabling the vf610 driver - wifi: iwlwifi: read BIOS PNVM only for non-Intel SKU - wifi: iwlwifi: mvm: fix the TLC command after ADD_STA - wifi: iwlwifi: mvm: d3: fix IPN byte order - wifi: iwlwifi: fix EWRD table validity check - wifi: iwlwifi: mvm: initialize rates in FW earlier - wifi: iwlwifi: acpi: fix WPFC reading - wifi: iwlwifi: dbg-tlv: ensure NUL termination - wifi: iwlwifi: mvm: report beacon protection failures - wifi: ath12k: fix fetching MCBC flag for QCN9274 - wifi: ath12k: Update Qualcomm Innovation Center, Inc. copyrights - wifi: ath11k: change to move WMI_VDEV_PARAM_SET_HEMU_MODE before WMI_PEER_ASSOC_CMDID - wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete - libbpf: Add missing LIBBPF_API annotation to libbpf_set_memlock_rlim API - arm64: dts: imx8mm-kontron: Fix interrupt for RTC on OSM-S i.MX8MM module - arm64: dts: imx8mm-kontron: Disable pull resistors for SD card signals on BL board - arm64: dts: imx8mm-kontron: Disable pull resistors for SD card signals on BL OSM-S board - arm64: dts: imx8mm-kontron: Disable pullups for onboard UART signals on BL board - arm64: dts: imx8mm-kontron: Disable pullups for onboard UART signals on BL OSM-S board - arm64: dts: imx8mm-kontron: Disable pullups for I2C signals on SL/BL i.MX8MM - arm64: dts: imx8mm-kontron: Disable pullups for I2C signals on OSM-S i.MX8MM - selftests/bpf: Disable IPv6 for lwt_redirect test - arm64: dts: renesas: r8a779g0: Add missing SCIF_CLK2 - arm64: dts: renesas: r8a779g0: Restore sort order - arm64: dts: qcom: sa8540p: Drop gfx.lvl as power-domain for gpucc - pmdomain: qcom: rpmhpd: Drop SA8540P gfx.lvl - libbpf: Fix faccessat() usage on Android - cpufreq: mediatek-hw: Don't error out if supply is not found - arm64: dts: qcom: sdm845-oneplus-common: improve DAI node naming - soc: qcom: socinfo: rename PM2250 to PM4125 - arm64: dts: qcom: sm8450: Add missing interconnects to serial - af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc(). - selftests/bpf: Wait for the netstamp_needed_key static key to be turned on - selftests/bpf: Fix the flaky tc_redirect_dtime test - selftests/bpf: Add netkit to tc_redirect selftest - selftests/bpf: De-veth-ize the tc_redirect test case - wifi: ath12k: Fix issues in channel list update - selftest/bpf: Add map_in_maps with BPF_MAP_TYPE_PERF_EVENT_ARRAY values - libbpf: Apply map_set_def_max_entries() for inner_maps on creation - selftests/bpf: Fix potential premature unload in bpf_testmod - bpftool: Silence build warning about calloc() - inet_diag: annotate data-races around inet_diag_table[] - sock_diag: annotate data-races around sock_diag_handlers[family] - cpufreq: mediatek-hw: Wait for CPU supplies before probing - cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value - arm64: dts: qcom: sc8180x: Shrink aoss_qmp register space size - arm64: dts: qcom: sc8180x: Require LOW_SVS vote for MMCX if DISPCC is on - arm64: dts: qcom: sc8180x: Don't hold MDP core clock at FMAX - arm64: dts: qcom: sc8180x: Fix eDP PHY power-domains - arm64: dts: qcom: sc8180x: Add missing CPU off state - arm64: dts: qcom: sc8180x: Fix up big CPU idle state entry latency - arm64: dts: qcom: sc8180x: Hook up VDD_CX as GCC parent domain - ARM: dts: renesas: r8a73a4: Fix external clocks and clock rate - wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir() - wifi: wilc1000: fix multi-vif management when deleting a vif - wifi: wilc1000: do not realloc workqueue everytime an interface is added - wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work - wifi: wilc1000: fix RCU usage in connect path - wifi: wilc1000: fix declarations ordering - wifi: b43: Disable QoS for bcm4331 - wifi: b43: Stop correct queue in DMA worker when QoS is disabled - wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled - wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled - wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev() - timekeeping: Fix cross-timestamp interpolation for non-x86 - timekeeping: Fix cross-timestamp interpolation corner case decision - timekeeping: Fix cross-timestamp interpolation on counter wrap - x86/sme: Fix memory encryption setting if enabled by default and not overridden - x86/mm: Ensure input to pfn_to_kaddr() is treated as a 64-bit type - aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts - io_uring/net: fix overflow check in io_recvmsg_mshot_prep() - io_uring/net: move receive multishot out of the generic msghdr path - io_uring/net: unify how recvmsg and sendmsg copy in the msghdr - rtc: test: Fix invalid format specifier. - time: test: Fix incorrect format specifier - lib: memcpy_kunit: Fix an invalid format specifier in an assertion msg - lib/cmdline: Fix an invalid format specifier in an assertion msg - kunit: test: Log the correct filter string in executor_test - ovl: Always reject mounting over case-insensitive directories - ovl: add support for appending lowerdirs one by one - ovl: refactor layer parsing helpers - ovl: store and show the user provided lowerdir mount option - ovl: remove unused code in lowerdir param parsing - md: Don't clear MD_CLOSING when the raid is about to stop - fs/select: rework stack allocation hack for clang - rcu/exp: Handle RCU expedited grace period kworker allocation failure - rcu/exp: Fix RCU expedited parallel grace period kworker allocation failure recovery - s390/dasd: fix double module refcount decrement - s390/dasd: Use dev_*() for device log messages - io_uring: remove unconditional looping in local task_work handling - io_uring: remove looping around handling traditional task_work - fs: Fix rw_hint validation - workqueue: Introduce struct wq_node_nr_active - workqueue: Make wq_adjust_max_active() round-robin pwqs while activating - workqueue: Move nr_active handling into helpers - workqueue: Replace pwq_activate_inactive_work() with [__]pwq_activate_work() - workqueue: Factor out pwq_is_empty() - workqueue: Move pwq->max_active to wq->max_active - workqueue.c: Increase workqueue name length - ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll - ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode - ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC - Input: gpio_keys_polled - suppress deferred probe error for gpio - xfrm: set skb control buffer based on packet offload as well - xfrm: fix xfrm child route lookup for packet offload - ASoC: amd: yc: Add HP Pavilion Aero Laptop 13-be2xxx(8BD6) into DMI quirk table - x86/hyperv: Allow 15-bit APIC IDs for VTL platforms - ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet - arm64: tegra: Set the correct PHY mode for MGBE - perf: RISCV: Fix panic on pmu overflow handler - firewire: core: use long bus reset on gap count error - Bluetooth: mgmt: Fix limited discoverable off timeout - ASoC: amd: yc: Fix non-functional mic on Lenovo 21J2 - drm/amdgpu: Enable gpu reset for S3 abort cases on Raven series - ALSA: hda/realtek - ALC285 reduce pop noise from Headphone port - scsi: mpt3sas: Prevent sending diag_reset when the controller is ready - ASoC: amd: yc: Add Lenovo ThinkBook 21J0 into DMI quirk table - drm/ttm/tests: depend on UML || COMPILE_TEST - wifi: mac80211: only call drv_sta_rc_update for uploaded stations - net: smsc95xx: add support for SYS TEC USB-SPEmodule1 - regulator: max5970: Fix regulator child node name - ARM: dts: renesas: rcar-gen2: Add missing #interrupt-cells to DA9063 nodes - arm64: dts: qcom: Fix interrupt-map cell sizes - arm: dts: Fix dtc interrupt_map warnings - arm64: dts: Fix dtc interrupt_provider warnings - arm: dts: Fix dtc interrupt_provider warnings - dm-verity, dm-crypt: align "struct bvec_iter" correctly - platform/x86: x86-android-tablets: Fix acer_b1_750_goodix_gpios name - perf: CXL: fix CPMU filter value mask length - cxl/region: Allow out of order assembly of autodiscovered regions - cxl/region: Handle endpoint decoders in cxl_region_find_decoder() - block: sed-opal: handle empty atoms when parsing response - parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check - net/iucv: fix the allocation size of iucv_path_table array - x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault() - x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h - riscv: dts: sifive: add missing #interrupt-cells to pmic - ARM: dts: rockchip: Drop interrupts property from pwm-rockchip nodes - RDMA/mlx5: Relax DEVX access upon modify commands - RDMA/mlx5: Fix fortify source warning while accessing Eth segment - arm64: dts: rockchip: mark system power controller on rk3588-evb1 - soc: microchip: Fix POLARFIRE_SOC_SYS_CTRL input prompt - arm64/sve: Lower the maximum allocation for the SVE ptrace regset - gen_compile_commands: fix invalid escape sequence warning - ASoC: SOF: ipc4-pcm: Workaround for crashed firmware on system suspend - HID: multitouch: Add required quirk for Synaptics 0xcddc device - MIPS: Clear Cause.BD in instruction_pointer_set - x86/xen: Add some null pointer checking to smp.c - ASoC: amd: yc: Fix non-functional mic on Lenovo 82UU - regmap: kunit: Ensure that changed bytes are actually different - spi: intel-pci: Add support for Lunar Lake-M SPI serial flash - ASoC: rt5645: Make LattePanda board DMI match more precise - selftests: tls: use exact comparison in recv_partial - selftests: openvswitch: Add validation for the recursion test - perf/arm-cmn: Workaround AmpereOneX errata AC04_MESH_1 (incorrect child count) - wifi: iwlwifi: mvm: use correct address 3 in A-MSDU - ASoC: cs42l43: Handle error from devm_pm_runtime_enable - media: rkisp1: Fix IRQ handling due to shared interrupts - soc: qcom: pmic_glink_altmode: fix drm bridge use-after-free - io_uring: drop any code related to SCM_RIGHTS - io_uring/unix: drop usage of io_uring socket - platform/x86: p2sb: On Goldmont only cache P2SB and SPI devfn BAR - !6730 quota: Fix potential NULL pointer dereference - quota: Fix potential NULL pointer dereference - !6782 i2c: hisi: Add I2C controller reset and initialization proccess in bus recovery action - i2c: hisi: Correct the description comment for PIN_MUX METHOD - i2c: hisi: Add I2C controller reset and initialization proccess in bus recovery action - !6760 spi: hisi-kunpeng: Delete the dump interface of data registers in debugfs - spi: hisi-kunpeng: Delete the dump interface of data registers in debugfs - !3176 [OLK-6.6] Turning off Zhaoxin ahci controller runtime pm - Turning off Zhaoxin ahci controller runtime pm - !6403 iommu/arm-smmu-v3: fix using uninitialized or unchecked symbol - iommu/arm-smmu-v3: fix using uninitialized or unchecked symbol - !6479 do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak - do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak - !6005 [OLK-6.6]Add Yunsilicon eth driver and rdma driver - drivers: support for xsc drivers from Yunsilicon Technology - !6595 A Solution to Re-enable hugetlb vmemmap optimize on ARM64 - arm64: update openeuler_defconfig for HVO enable - arm64: mm: Re-enable OPTIMIZE_HUGETLB_VMEMMAP - arm64: mm: HVO: support BBM of vmemmap pgtable safely - mm: HVO: introduce helper function to update and flush pgtable - !6731 [OLK-6.6] watchdog: Fix call trace when failed to initialize sdei - watchdog: Fix call trace when failed to initialize sdei - !6651 [OLK - 6.6]net: hns3: add support for Hisilicon ptp sync device - net: hns3: add support for Hisilicon ptp sync device - !6385 ipvlan: Fix warning while IPVLAN_L2E disabled - ipvlan: Fix warning while IPVLAN_L2E disabled - !6409 [OLK-6.6] irqchip: gic-v3: Collection table support muti pages - irqchip: gic-v3: Collection table support muti pages - !6735 v2 SUNRPC: Fix a slow server-side memory leak with RPC-over-TCP - SUNRPC: Fix a slow server-side memory leak with RPC-over-TCP - !6590 v6 Introduce BPF_READAHEAD option for optimizing read performance - arch: Add BPF_READAHEAD config options for supported architectures - mm, fs: Add BPF_READAHEAD build option for bpf readhead - !6681 v2 btrfs: fix data races when accessing the reserved amount of block reserves - btrfs: fix data races when accessing the reserved amount of block reserves- !6306 【OLK-6.6】fix compiling problem in bzwx N5/N6 series NIC drivers - drivers: fix compiling problem in bzwx N5/N6 series NIC drivers - !6692 ipvlan: enable CONFIG_IPVLAN_L2E option in openeuler config - ipvlan: enable CONFIG_IPVLAN_L2E option in openeuler config - !6632 ext4: use iomap for regular file's buffered IO path and enable large foilo - ext4: add mount option for buffered IO iomap path - ext4: don't mark IOMAP_F_DIRTY for buffer write - ext4: enable large folio for regular file with iomap buffered IO path - filemap: support disable large folios on active inode - ext4: partial enable iomap for regular file's buffered IO path - ext4: fall back to buffer_head path for defrag - ext4: writeback partial blocks before zeroing out range - ext4: implement zero_range iomap path - ext4: implement mmap iomap path - ext4: implement writeback iomap path - ext4: implement buffered write iomap path - ext4: implement buffered read iomap path - ext4: add a new iomap aops for regular file's buffered IO path - ext4: introduce seq counter for the extent status entry - ext4: factor out ext4_map_create_blocks() to allocate new blocks - ext4: use reserved metadata blocks when splitting extent on endio - ext4: make ext4_da_map_blocks() buffer_head unaware - ext4: make ext4_insert_delayed_block() insert multi-blocks - ext4: factor out check for whether a cluster is allocated - ext4: make ext4_da_reserve_space() reserve multi-clusters - ext4: make ext4_es_insert_delayed_block() insert multi-blocks - ext4: drop iblock parameter - ext4: trim delalloc extent - ext4: check the extent status again before inserting delalloc block - ext4: factor out a common helper to query extent map - ext4: make ext4_set_iomap() recognize IOMAP_DELALLOC map type - ext4: make ext4_map_blocks() distinguish delalloc only extent - ext4: add a hole extent entry in cache after punch - ext4: convert to exclusive lock while inserting delalloc extents - ext4: refactor ext4_da_map_blocks() - iomap: do some small logical cleanup in buffered write - iomap: make iomap_write_end() return a boolean - iomap: use a new variable to handle the written bytes in iomap_write_iter() - iomap: don't increase i_size if it's not a write operation - iomap: drop the write failure handles when unsharing and zeroing - xfs: convert delayed extents to unwritten when zeroing post eof blocks - xfs: make xfs_bmapi_convert_delalloc() to allocate the target offset - xfs: make the seq argument to xfs_bmapi_convert_delalloc() optional - xfs: match lock mode in xfs_buffered_write_iomap_begin() - iomap: add pos and dirty_len into trace_iomap_writepage_map - iomap: pass the length of the dirty region to ->map_blocks - iomap: map multiple blocks at a time - iomap: submit ioends immediately - iomap: factor out a iomap_writepage_map_block helper - iomap: only call mapping_set_error once for each failed bio - iomap: don't chain bios - iomap: move the iomap_sector sector calculation out of iomap_add_to_ioend - iomap: clean up the iomap_alloc_ioend calling convention - iomap: move all remaining per-folio logic into iomap_writepage_map - iomap: factor out a iomap_writepage_handle_eof helper - iomap: move the PF_MEMALLOC check to iomap_writepages - iomap: move the io_folios field out of struct iomap_ioend - iomap: treat inline data in iomap_writepage_map as an I/O error - iomap: clear the per-folio dirty bits on all writeback failures - !6625 v2 perf data convert: Fix segfault when converting to json when cpu_desc isn't set - perf data convert: Fix segfault when converting to json when cpu_desc isn't set - !6647 infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver - infiniband/hw/hiroce3: Add Huawei Intelligent Network Card RDMA Driver - net/ethernet/huawei/hinic3: Add the CQM on which the RDMA depends - !6624 hisi-acc-vfio-pci:add DFX for acc migration driver - hisi_acc_vfio_pci: add exception error handling - hisi-acc-vfio-pci:add DFX for acc migration driver - !6658 sched: disable sched_autogroup by default - sched: disable sched_autogroup by default - !6626 Backport page fault and fork optimization - mm: swapfile: check usable swap device in __folio_throttle_swaprate() - mm/filemap: optimize filemap folio adding - lib/xarray: introduce a new helper xas_get_order - lib/xarray: introduce a new helper xas_get_order - mm/filemap: clean up hugetlb exclusion code - mm/filemap: return early if failed to allocate memory for split - mm: memory: check userfaultfd_wp() in vmf_orig_pte_uffd_wp() - !6179 crypto: hisilicon - fixed some code security review issues - crypto: hisilicon/debugfs - Resolve the problem of applying for redundant space in sq dump - crypto: hisilicon/sec - Fix memory leak for sec resource release - crypto: hisilicon - Adjust debugfs creation and release order - crypto: hisilicon/qm - Add the default processing branch - crypto: hisilicon/debugfs - Fix the processing logic issue in the debugfs creation - crypto: hisilicon/sgl - Delete redundant parameter verification - crypto: hisilicon/debugfs - Fix debugfs uninit process issue - crypto: hisilicon/sec - Add the condition for configuring the sriov function - crypto: hisilicon/zip - fix the missing CRYPTO_ALG_ASYNC in cra_flags - !6400 btrfs: fix data race at btrfs_use_block_rsv() when accessing block reserve - btrfs: fix data race at btrfs_use_block_rsv() when accessing block reserve - !6444 Fix CVE-2024-26869 - f2fs: fix to truncate meta inode pages forcely - f2fs: introduce f2fs_invalidate_internal_cache() for cleanup - !6585 ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit() - ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit() - !6251 ubi: Check for too small LEB size in VTBL code - ubi: Check for too small LEB size in VTBL code - !6418 media: pvrusb2: fix uaf in pvr2_context_set_notify - media: pvrusb2: fix uaf in pvr2_context_set_notify- !6467 RDMA/hns: Some bugfixes and cleanups - RDMA/hns: Fix incorrect variable usage in scc_attr_is_visible() - RDMA/hns: Fix null pointer when alloc_scc_param() fails - RDMA/hns: Fix scc_param delay_work to execute after sysfs shutdown - RDMA/hns: Add mutex_destroy() to destroy the mutex - RDMA/hns: Fix a potential Sleep-in-Atomic-Context - !6468 v2 scsi: fnic: Move fnic_fnic_flush_tx() to a work queue - scsi: fnic: Move fnic_fnic_flush_tx() to a work queue - !6439 v3 m: convert mm's rss stats to use atomic mode - mm: convert mm's rss stats to use atomic mode - percpu_counter: introduce atomic mode for percpu_counter - !6424 mm/migrate: correct nr_failed in migrate_pages_sync() - mm/migrate: add nr_split to trace_mm_migrate_pages stats. - mm/migrate: correct nr_failed in migrate_pages_sync() - !6390 nfs: fix panic when nfs4_ff_layout_prepare_ds() fails - nfs: fix panic when nfs4_ff_layout_prepare_ds() fails - !5482 [OLK-6.6] crypto: update zhaoxin-aes for __pcpu_unique_paes_last_cword - crypto: update zhaoxin-aes for __pcpu_unique_paes_last_cword - !3171 [OLK-6.6] ata: libata: disabling PhyRdy Change Interrupt based on actual LPM capability - ata: libata: disabling PhyRdy Change Interrupt based on actual LPM capability - !6443 f2fs: fix NULL pointer dereference in f2fs_submit_page_write() - f2fs: fix NULL pointer dereference in f2fs_submit_page_write() - !6261 RDMA/hns: Some bugfixes and cleanups - RDMA/hns: Modify the print level of CQE error - RDMA/hns: Add mutex_destroy() - RDMA/hns: Fix GMV table pagesize - RDMA/hns: Fix mismatch exception rollback - RDMA/hns: Fix UAF for cq async event - RDMA/hns: Fix deadlock on SRQ async events. - RDMA/hns: Remove unused parameters and variables - RDMA/hns: Use macro instead of magic number - RDMA/hns: Fix return value in hns_roce_map_mr_sg - !6265 tpm_tis: Avoid warning splat at shutdown - tpm,tpm_tis: Avoid warning splat at shutdown - !6402 bpf: Add missing BPF_LINK_TYPE invocations - bpf: Add missing BPF_LINK_TYPE invocations - !6256 [OLK-6.6] bugfix from upstream v6.9 for AMD EPYC perf - perf/x86/amd/core: Define a proper ref-cycles event for Zen 4 and later - perf/x86/amd/core: Update and fix stalled-cycles-* events for Zen 2 and later - perf/x86/amd/lbr: Use freeze based on availability - !6134 v3 rootfs: Fix support for rootfstype= when root= is given - rootfs: Fix support for rootfstype= when root= is given- add LoongArch support- exclude cpufreq.h and cpuidle.h from kernel-headers package- !6201 v2 mm: some optimization about hugetlb and thp - mm: filemap: try to enable THP for exec mapping - mm/khugepaged: keep mm in mm_slot without MMF_DISABLE_THP check - mm/khugepaged: bypassing unnecessary scans with MMF_DISABLE_THP check - mm: mmap: no need to call khugepaged_enter_vma() for stack - mm: remove VM_EXEC requirement for THP eligibility - mm: thp_get_unmapped_area must honour topdown preference - mm: huge_memory: don't force huge page alignment on 32 bit - mm: mmap: map MAP_STACK to VM_NOHUGEPAGE - mm: align larger anonymous mappings on THP boundaries - fs/hugetlbfs/inode.c: mm/memory-failure.c: fix hugetlbfs hwpoison handling - mm/hugetlb: have CONFIG_HUGETLB_PAGE select CONFIG_XARRAY_MULTI - mm/filemap: remove hugetlb special casing in filemap.c - mm/filemap: clarify filemap_fault() comments for not uptodate case - mm: huge_memory: batch tlb flush when splitting a pte-mapped THP - !6230 xarray: inline xas_descend to improve performance - xarray: inline xas_descend to improve performance - !5891 Fix several compilation warnings for hinic driver - net/hinic: Fix several compilation warnings with aarch64-openEuler-linux toolchain - !6244 arm64: enable CONFIG_ARM64_MPAM in openeuler_defconfig - arm64: enable CONFIG_ARM64_MPAM in openeuler_defconfig - !6105 fix some issues for arm64 machine check safe - ACPI: APEI: handle synchronous exceptions in task work to send correct SIGBUS si_code - mm: memory-failure: move return value documentation to function declaration - ACPI: APEI: send SIGBUS to current task if synchronous memory error not recovered - arm64: add machine check safe sysctl interface - arm64: introduce copy_mc_to_kernel() implementation - arm64: support copy_mc_[user]_highpage() - arm64: Get rid of ARM64_HAS_NO_HW_PREFETCH - mm/hwpoison: return -EFAULT when copy fail in copy_mc_[user]_highpage() - arm64: add support for ARCH_HAS_COPY_MC - Revert "arm64: add support for machine check error safe" - Revert "arm64: add uaccess to machine check safe" - Revert "mm/hwpoison: return -EFAULT when copy fail in copy_mc_[user]_highpage()" - Revert "arm64: support copy_mc_[user]_highpage()" - Revert "arm64: introduce copy_mc_to_kernel() implementation" - Revert "arm64: add machine check safe sysctl interface" - Revert "kasan: fix the compilation error for memcpy_mcs()"- !6048 improve 3SNIC 910/920/930 NIC driver - improve 3SNIC 910/920/930 NIC driver - !5815 v2 Support NMI in the virtual machine - KVM: arm64: vgic-v3: Handle traps of ICV_NMIAR1_EL1 - arm64: Decouple KVM from CONFIG_ARM64_NMI - KVM: arm64: Handle traps of ALLINT - KVM: arm64: Allow GICv3.3 NMI if the host supports it - KVM: arm64: vgic-v3: Don't inject an NMI if the vcpu doesn't have FEAT_NMI - KVM: arm64: Don't trap ALLINT accesses if the vcpu has FEAT_NMI - KVM: arm64: Allow userspace to control ID_AA64PFR1_EL1.NMI - KVM: arm64: vgic-debug: Add the NMI field to the debug output - KVM: arm64: vgic-v3: Add userspace selection for GICv3.3 NMI - KVM: arm64: vgic-v3: Add support for GIC{D,R}_INMIR registers - KVM: arm64: vgic-v3: Use the NMI attribute as part of the AP-list sorting - KVM: arm64: vgic-v4: Propagate the NMI state into the GICv4.1 VSGI configuration - KVM: arm64: vgic-v3: Make NMI priority RES0 - KVM: arm64: vgic-v3: Allow the NMI state to make it into the LRs - KVM: arm64: vgic-v3: Upgrade AP1Rn to 64bit. - !5752 【OLK-6.6】Add Chengdu BeiZhongWangXin Technology N5/N6 Series Network Card Driver - drivers: add Chengdu BeiZhongWangXin Technology N5/N6 Series Network Card Driver - !5730 [OLK-6.6] Fix warnings for RNPGBEVF driver - RNPGBEVF: NET: Fix wanrings - !5726 [OLK-6.6] Fix warnings for RNPVF driver - RNPVF: NET: Fix wanrings - !5854 [OLK-6.6] Make Cluster Scheduling Configurable - scheduler: Disable cluster scheduling by default - scheduler: Add boot time enabling/disabling of cluster scheduling - scheduler: Add runtime knob sysctl_sched_cluster - scheduler: Create SDTL_SKIP flag to skip topology level - !6068 mm: batch mm counter updating in filemap_map_pages() - mm: filemap: batch mm counter updating in filemap_map_pages() - mm: move mm counter updating out of set_pte_range() - !5931 irqchip/gicv3-its: Add workaround for hip09 ITS erratum 162100801 - irqchip/gicv3-its: Add workaround for hip09 ITS erratum 162100801 - !5678 v2 KVM: arm64: Translate logic cluster id to physical cluster id when updating lsudvmbm - KVM: arm64: Translate logic cluster id to physical cluster id when updating lsudvmbm - !5972 Perf-related bugfix - docs: perf: Fix build warning of hisi-pcie-pmu.rst - drivers/perf: hisi_pcie: Merge find_related_event() and get_event_idx() - drivers/perf: hisi_pcie: Relax the check on related events - drivers/perf: hisi_pcie: Check the target filter properly - drivers/perf: hisi_pcie: Add more events for counting TLP bandwidth - drivers/perf: hisi_pcie: Fix incorrect counting under metric mode - drivers/perf: hisi_pcie: Introduce hisi_pcie_pmu_get_event_ctrl_val() - drivers/perf: hisi_pcie: Rename hisi_pcie_pmu_{config,clear}_filter() - drivers/perf: hisi: Enable HiSilicon Erratum 162700402 quirk for HIP09 - docs: perf: Update usage for target filter of hisi-pcie-pmu - !6063 RDMA/hns: Some bugfixes and cleanups - RDMA/hns: Fix long waiting cmd event when reset - RDMA/hns: Fix the overflow risk of hem_list_calc_ba_range() - RDMA/hns: Fix simultaneous reset and resource deregistration - RDMA/hns: Fix cpu stuck by printings during reset - RDMA/hns: Fix missing capacities in query_device() - RDMA/hns: Fix missing resetting notify - RDMA/hns: Remove extra blank line in get_sge_num_from_max_inl_data() - RDMA/hns: Use complete parentheses in macros - RDMA/hns: fix iommu_map_sg() failed when MR bigger than 4G - !6069 RDMA/hns: support roh - RDMA/hns: Support RDMA_CM in ROH mode - RDMA/hns: Support for ROH - RDMA/hns: Add new device ID - !6008 locking/osq_lock: Avoid false sharing in optimistic_spin_node - locking/osq_lock: Avoid false sharing in optimistic_spin_node - !5774 irqdomain: Fix driver re-inserting failures when IRQs not being freed - irqdomain: Fix driver re-inserting failures when IRQs not being freed - !5709 【OLK-6.6】configs: arm64: Enable CONFIG_DLM - configs: arm64: Enable CONFIG_DLM - !5971 RDMA/hns: Support hns roce DCA mode - RDMA/hns: Fix DCA's dependence on ib_uverbs - RDMA/hns: Fixes concurrent ressetting and post_recv in DCA mode - RDMA/hns: Optimize user DCA perfermance by sharing DCA status - RDMA/hns: Add debugfs support for DCA - RDMA/hns: Add DCA support for kernel space - RDMA/hns: Add method to query WQE buffer's address - RDMA/hns: Add method to detach WQE buffer - RDMA/hns: Setup the configuration of WQE addressing to QPC - RDMA/hns: Add method for attaching WQE buffer - RDMA/hns: Configure DCA mode for the userspace QP - RDMA/hns: Add method for shrinking DCA memory pool - RDMA/hns: Introduce DCA for RC QP- Remove PGP certificates. - Optimize the signing process, if the project has no permission to send sign request, use the kernel native signing.- !5877 optimize eevdf scheduler - sched/eevdf: Skip eligibility check for current entity during wakeup preemption - sched/eevdf: O(1) fastpath for task selection - sched/eevdf: Sort the rbtree by virtual deadline - !5922 Some fixes and cleanups for SAS - Revert "scsi: hisi_sas: Disable SATA disk phy for severe I_T nexus reset failure" - scsi: hisi_sas: Add slave_destroy interface for v3 hw - scsi: hisi_sas: Modify the deadline for ata_wait_after_reset() - scsi: libsas: Allocation SMP request is aligned to ARCH_DMA_MINALIGN - scsi: libsas: Add a helper sas_get_sas_addr_and_dev_type() - scsi: libsas: Fix disk not being scanned in after being removed - scsi: hisi_sas: Remove redundant checks for automatic debugfs dump - scsi: hisi_sas: Check usage count only when the runtime PM status is RPM_SUSPENDING - scsi: hisi_sas: Handle the NCQ error returned by D2H frame - scsi: hisi_sas: Remove hisi_hba->timer for v3 hw - scsi: hisi_sas: Check whether debugfs is enabled before removing or releasing it - scsi: hisi_sas: Fix a deadlock issue related to automatic dump - scsi: hisi_sas: Allocate DFX memory during dump trigger - scsi: hisi_sas: Directly call register snapshot instead of using workqueue - !5546 support 3snic NIC - support 3SNIC 910/920/930 NIC - !5869 KVM: arm64: vgic-its: use vgic_get_irq_kref() before vgic_put_irq() - KVM: arm64: vgic-its: use vgic_get_irq_kref() before vgic_put_irq() - !5878 ima:Dont check xattr when loading digest lists - ima:Dont check xattr when loading digest lists - !5800 firmware: arm_sdei: Move sdei_cpuhp_up/down() before lockup_detector_online_cpu() - firmware: arm_sdei: Move sdei_cpuhp_up/down() before lockup_detector_online_cpu() - !3175 [OLK-6.6] x86/tsc: Make cur->adjusted values in package#1 to be the same - x86/tsc: Make cur->adjusted values in package#1 to be the same - !5022 [devel-6.6] perf/x86/zhaoxin/uncore: Add KX-7000 support - perf/x86/zhaoxin/uncore: Add KX-7000 support - !5652 [OLK-6.6] i2c: zhaoxin: update support for Zhaoxin I2C controller - i2c: zhaoxin: update support for Zhaoxin I2C controller - !4475 [OLK-6.6] Update zhaoxin cputemp driver with using the same MSR uniformly - Update zhaoxin cputemp driver with using the same MSR uniformly - !5813 [intel]OLK-tdx-guest-configs-6.6 - Enable Intel TDX guest as kernel module - !5723 vfio/migration: some bugfix - hisi_acc_vfio_pci: obtain the mailbox configuration at one time - vfio/migration: remove unused local variable - vfio/migration: bugfix cache write-back issue - vfio/migration: add eq and aeq interruption restore - vfio/migration: bugfix some driver code - vfio/migration: added map length page alignment - !5707 [OLK-6.6] Fix warnings for RNPGBE driver - RNPGBE: NET: Fix wanrings - !5659 [OLK-6.6] Fix warnings for RNP driver - RNP: Fix warnings- add support for arch ppc64le- !5768 resctrl: fix undefined reference to lockdep_is_cpus_held() - fs/resctrl: Move rdtgroup_setup_default() out of init.text section - resctrl: fix undefined reference to lockdep_is_cpus_held() - !5769 Revert "KVM: arm64: Disable MPAM visibility by default, and handle traps" - Revert "KVM: arm64: Disable MPAM visibility by default, and handle traps" - !5744 Backport maple_tree: iterator state changes - lib/maple_tree.c: fix build error due to hotfix alteration - maple_tree: mtree_range_walk() clean up - maple_tree: don't find node end in mtree_lookup_walk() - maple_tree: use maple state end for write operations - maple_tree: remove mas_searchable() - maple_tree: separate ma_state node from status - maple_tree: clean up inlines for some functions - maple_tree: use cached node end in mas_destroy() - maple_tree: use cached node end in mas_next() - maple_tree: add end of node tracking to the maple state - maple_tree: move debug check to __mas_set_range() - maple_tree: make mas_erase() more robust - maple_tree: remove unnecessary default labels from switch statements - !5725 ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs - ALSA: sh: aica: reorder cleanup operations to avoid UAF bugs- !5695 v2 Disable OLK-6.6 configs - arm64: configs: Disable PROBE_EVENTS_BTF_ARGS - x86: configs: Disable PROBE_EVENTS_BTF_ARGS - x86: configs: Disable X86_KERNEL_IBT - x86: configs: Disable CRASH_HOTPLUG - !5733 fix port vlan filter not disabled problem in dynamic vlan mode - net: hns3: fix port vlan filter not disabled problem in dynamic vlan mode - !5734 arch/mm/fault: accelerate pagefault when badaccess - x86: mm: accelerate pagefault when badaccess - arm64: mm: accelerate pagefault when VM_FAULT_BADACCESS - !5657 Backport slub performance optimization - mm/slub: remove unused parameter in next_freelist_entry() - mm/slub: remove full list manipulation for non-debug slab - mm/slub: directly load freelist from cpu partial slab in the likely case - slub: Update frozen slabs documentations in the source - slub: Rename all *unfreeze_partials* functions to *put_partials* - slub: Optimize deactivate_slab() - slub: Delay freezing of partial slabs - slub: Introduce freeze_slab() - slub: Prepare __slab_free() for unfrozen partial slab out of node partial list - slub: Keep track of whether slub is on the per-node partial list - slub: Change get_partial() interfaces to return slab - slub: Reflow ___slab_alloc() - !5699 sr9800: Add check for usbnet_get_endpoints - sr9800: Add check for usbnet_get_endpoints- !5647 hisilicon - some bugfix and cleanup - crypto: hisilicon/sec2: fix memory use-after-free issue - crypto: hisilicon/qm - hardware error does not reset during binding/unbinding - crypto: hisilicon/qm - check device status before sending mailbox - crypto: hisilicon/qm - mask error bit before flr - crypto: hisilicon/qm - fix the pf2vf timeout when global reset - crypto: hisilicon/qm - obtain the mailbox configuration at one time - crypto: hisilicon/hpre - mask cluster timeout error - crypto: hisilicon/qm - disable same error report before resetting - crypto: hisilicon/qm - modify interrupt processing resource application - crypto: hisilicon/qm - reset device before enabling it - openeuler_defconfig: enable HISI_ACC_VFIO_PCI=m - Revert "openeuler_defconfig: enable HISI_ACC_VFIO_PCI=m" - !5509 ext4: Validate inode pa before using preallocation blocks - ext4: Validate inode pa before using preallocation blocks - !5630 scsi: sd: try more retries of START_STOP when resuming scsi device - scsi: sd: try more retries of START_STOP when resuming scsi device - !5561 roh: backport roh driver feature support - roh/hns3: Fix the processing flow of ROH CMDq during the reset process. - roh/core: Synchronously update the mac address of the vlan device when configuring the vlan device ip - roh/hns3: Fix ROH multi-BD cmdq issue - roh/hns3: Add support for roh dfx(debugfs) - roh/hns3: Add support for roh reset - roh/core: Add support for inetaddr notifier in roh/core - roh/hns3: Add support for roh abnormal interruption - roh/core: Add roh device sysfs node - roh/hns3: Add ROH cmdq interface support - roh/hns3: Add ROH hns3 driver and register a ROH device - roh/core: Add ROH device driver - net: hns3: add support for ROH reset - net: hns3: intercept invalid MAC address setting in ROH - !5703 openeuler_defconfig: Disable CONFIG_PREEMPT_DYNAMIC for x86 - openeuler_defconfig: Disable CONFIG_PREEMPT_DYNAMIC for x86 - !5513 [OLK-6.6] SCSI: SSSRAID: Support 3SNIC 3S5XX serial RAID/HBA controllers - SCSI: SSSRAID: Support 3SNIC 3S5XX serial RAID/HBA controllers - !5582 [OLK-6.6]Open CONFIG_LZ4_COMPRESS option for x86_64 architecture - Open CONFIG_LZ4_COMPRESS option for x86_64 architecture - !5688 v3 Optimize compaction - mm/compaction: optimize >0 order folio compaction with free page split. - mm/compaction: add support for >0 order folio memory compaction. - mm/compaction: enable compacting >0 order folios. - mm/page_alloc: remove unused fpi_flags in free_pages_prepare() - mm/compaction: introduce NR_PAGE_ORDERS and MAX_PAGE_ORDER - mm: compaction: limit the suitable target page order to be less than cc->order - mm: compaction: update the cc->nr_migratepages when allocating or freeing the freepages - mm: compaction: avoid fast_isolate_freepages blindly choose improper pageblock - mm: add page_rmappable_folio() wrapper - mm: page_alloc: check the order of compound page even when the order is zero - mm/compaction: factor out code to test if we should run compaction for target order - mm/compaction: improve comment of is_via_compact_memory - mm/compaction: remove repeat compact_blockskip_flush check in reset_isolation_suitable - mm/compaction: correctly return failure with bogus compound_order in strict mode - mm/compaction: call list_is_{first}/{last} more intuitively in move_freelist_{head}/{tail} - mm/compaction: use correct list in move_freelist_{head}/{tail} - !5655 add steal time software breakpoint pv ipi support for loongarch kvm - LoongArch: Add steal time support in guest side - LoongArch: KVM: Add steal time support in kvm side - irqchip/loongson-eiointc: Add virt extension support - LoongArch: KVM: Add software breakpoint support - Documentation: KVM: Add hypercall for LoongArch - LoongArch: Add pv ipi support on guest kernel side - LoongArch: KVM: Add pv ipi support on kvm side - LoongArch: KVM: Add vcpu search support from physical cpuid - LoongArch: KVM: Add cpucfg area for kvm hypervisor - LoongArch: KVM: Add hypercall instruction emulation support - LoongArch/smp: Refine some ipi functions on LoongArch platform - !5653 arm64: Enable hardware NMI for perf events NMI - arm64: Enable hardware NMI for perf events NMI - !5667 configs: arm64: Enable CONFIG_ACPI_AGDI and CONFIG_ACPI_FFH - configs: arm64: Enable CONFIG_ACPI_AGDI and CONFIG_ACPI_FFH - !5669 disable CONFIG_CMDLINE_FROM_BOOTLOADER CONFIG_INITRAMFS_PRESERVE_MTIME in 6.6 - configs: disable CONFIG_CMDLINE_FROM_BOOTLOADER CONFIG_INITRAMFS_PRESERVE_MTIME in 6.6 - !5663 arm64: transparent contiguous PTEs for user mappings - arm64: configs: enable ARM64_CONTPTE - tools/mm: add thpmaps script to dump THP usage info - mm: make folio_pte_batch available outside of mm/memory.c - arm64/mm: automatically fold contpte mappings - arm64/mm: __always_inline to improve fork() perf - arm64/mm: implement pte_batch_hint() - mm: add pte_batch_hint() to reduce scanning in folio_pte_batch() - arm64/mm: implement new [get_and_]clear_full_ptes() batch APIs - arm64/mm: implement new wrprotect_ptes() batch API - arm64/mm: wire up PTE_CONT for user mappings - arm64/mm: dplit __flush_tlb_range() to elide trailing DSB - arm64/mm: new ptep layer to manage contig bit - arm64/mm: convert ptep_clear() to ptep_get_and_clear() - arm64/mm: convert set_pte_at() to set_ptes(..., 1) - arm64/mm: convert READ_ONCE(*ptep) to ptep_get(ptep) - mm: tidy up pte_next_pfn() definition - x86/mm: convert pte_next_pfn() to pte_advance_pfn() - arm64/mm: convert pte_next_pfn() to pte_advance_pfn() - mm: introduce pte_advance_pfn() and use for pte_next_pfn() - mm: thp: batch-collapse PMD with set_ptes() - mm: clarify the spec for set_ptes() - mm: memory: move mem_cgroup_charge() into alloc_anon_folio() - mm: memory: use folio_prealloc() in wp_page_copy() - mm: memory: use a folio in do_cow_fault() - mm: memory: rename page_copy_prealloc() to folio_prealloc() - !5662 v4 Introduce dynamic pool feature part 2 - mm/dynamic_pool: Wrap some core functions with dpool prefix - mm/dynamic_pool: disable irq for dynamic_pool lock - mm/dynamic_pool: don't set subpool for page from dynamic pool - mm/dynamic_pool: skip unexpected migration - mm/mem_reliable: Fallback to dpool if reliable memory is not enough - mm/mem_reliable: Treat page from dhugetlb pool as unreliable page - mm/dynamic_pool: Stop alloc reliable page from dynamic pool - !5621 irqchip/gic-v3: Fix a system stall when using pseudo NMI with CONFIG_ARM64_NMI closed - irqchip/gic-v3: Fix a system stall when using pseudo NMI with CONFIG_ARM64_NMI closed - !5656 v3 mm: backport fork/unmap/zap optimize - mm/memory: fix missing pte marker for !page on pte zaps - mm/memory: optimize unmap/zap with PTE-mapped THP - mm/mmu_gather: improve cond_resched() handling with large folios and expensive page freeing - mm/mmu_gather: add __tlb_remove_folio_pages() - mm/mmu_gather: add tlb_remove_tlb_entries() - mm/mmu_gather: define ENCODED_PAGE_FLAG_DELAY_RMAP - mm/mmu_gather: pass "delay_rmap" instead of encoded page to __tlb_remove_page_size() - mm/memory: factor out zapping folio pte into zap_present_folio_pte() - mm/memory: further separate anon and pagecache folio handling in zap_present_pte() - mm/memory: handle !page case in zap_present_pte() separately - mm/memory: factor out zapping of present pte into zap_present_pte() - mm/memory: ignore writable bit in folio_pte_batch() - mm/memory: ignore dirty/accessed/soft-dirty bits in folio_pte_batch() - mm/memory: optimize fork() with PTE-mapped THP - mm/memory: pass PTE to copy_present_pte() - mm/memory: factor out copying the actual PTE in copy_present_pte() - powerpc/mm: use pte_next_pfn() in set_ptes() - arm/mm: use pte_next_pfn() in set_ptes() - mm/pgtable: make pte_next_pfn() independent of set_ptes() - sparc/pgtable: define PFN_PTE_SHIFT - s390/pgtable: define PFN_PTE_SHIFT - riscv/pgtable: define PFN_PTE_SHIFT - powerpc/pgtable: define PFN_PTE_SHIFT - nios2/pgtable: define PFN_PTE_SHIFT - arm/pgtable: define PFN_PTE_SHIFT - arm64/mm: make set_ptes() robust when OAs cross 48-bit boundary - arm64: Mark the 'addr' argument to set_ptes() and __set_pte_at() as unused - arm64/mm: Hoist synchronization out of set_ptes() loop - mm: convert mm_counter_file() to take a folio - mm: convert mm_counter() to take a folio - mm: convert to should_zap_page() to should_zap_folio() - mm: use pfn_swap_entry_folio() in copy_nonpresent_pte() - mm: use pfn_swap_entry_to_folio() in zap_huge_pmd() - mm: use pfn_swap_entry_folio() in __split_huge_pmd_locked() - s390: use pfn_swap_entry_folio() in ptep_zap_swap_entry() - mprotect: use pfn_swap_entry_folio - mm: add pfn_swap_entry_folio()- Support generating moudle/kernel signature with openEuler signature platform- And net-acc tool to kernel-tools.- !5470 [OLK-6.6] Add support for Mucse Virtual Function Network Adapter(N500/n210) - drivers: initial support for rnpgbevf drivers from Mucse Technology - !3164 [OLK-6.6] Fix CRC32C instruction low performance issue - crypto: x86/crc32c-intel - Don't match some Zhaoxin CPUs - !5547 Synchronizing upstream patch - LoongArch: KVM: Set reserved bits as zero in CPUCFG - LoongArch: KVM: Do not restart SW timer when it is expired - LoongArch: KVM: Start SW timer only when vcpu is blocking - irqchip/loongson-eiointc: Remove explicit interrupt affinity restore on resume - irqchip/loongson-eiointc: Skip handling if there is no pending irq - !3182 [OLK-6.6] Add support for Zhaoxin GMI SM2 Secure Hash algorithm - configs: add CONFIG_CRYPTO_SM2_ZHAOXIN_GMI to m - Add support for Zhaoxin GMI SM2 Secure Hash algorithm - !5578 SCSI: hisi_raid: support SPxxx serial RAID/HBA controllers - SCSI: hisi_raid: support SPxxx serial RAID/HBA controllers - !5641 userfaultfd: early return in dup_userfaultfd() - userfaultfd: early return in dup_userfaultfd() - !5629 v3 Mitigate a vmap lock contention - mm: vmalloc: refactor vmalloc_dump_obj() function - mm: vmalloc: improve description of vmap node layer - mm: vmalloc: add a shrinker to drain vmap pools - mm: vmalloc: set nr_nodes based on CPUs in a system - mm: vmalloc: support multiple nodes in vmallocinfo - mm: vmalloc: support multiple nodes in vread_iter - mm: vmalloc: add a scan area of VA only once - mm: vmalloc: offload free_vmap_area_lock lock - mm: vmalloc: remove global purge_vmap_area_root rb-tree - mm/vmalloc: remove vmap_area_list - mm: vmalloc: remove global vmap_area_root rb-tree - mm: vmalloc: move vmap_init_free_space() down in vmalloc.c - mm: vmalloc: rename adjust_va_to_fit_type() function - mm: vmalloc: add va_alloc() helper - mm: Introduce vmap_page_range() to map pages in PCI address space - mm: Introduce VM_SPARSE kind and vm_area_[un]map_pages(). - mm: Enforce VM_IOREMAP flag and range in ioremap_page_range. - mm/vmalloc: fix the unchecked dereference warning in vread_iter() - !5609 Adding Huawei BMA driver - configs: add config BMA to config files - Huawei BMA: Adding Huawei BMA driver: cdev_veth_drv - Huawei BMA: Adding Huawei BMA driver: host_kbox_drv - Huawei BMA: Adding Huawei BMA driver: host_veth_drv - Huawei BMA: Adding Huawei BMA driver: host_cdev_drv - Huawei BMA: Adding Huawei BMA driver: host_edma_drv - !5613 mm: backport rmap interface overhaul - mm/memory: fix folio_set_dirty() vs. folio_mark_dirty() in zap_pte_range() - mm/huge_memory: fix folio_set_dirty() vs. folio_mark_dirty() - mm/rmap: silence VM_WARN_ON_FOLIO() in __folio_rmap_sanity_checks() - mm: remove one last reference to page_add_*_rmap() - mm/rmap: rename COMPOUND_MAPPED to ENTIRELY_MAPPED - mm: convert page_try_share_anon_rmap() to folio_try_share_anon_rmap_[pte|pmd]() - mm/rmap: remove page_try_dup_anon_rmap() - mm/memory: page_try_dup_anon_rmap() -> folio_try_dup_anon_rmap_pte() - mm/huge_memory: page_try_dup_anon_rmap() -> folio_try_dup_anon_rmap_pmd() - mm/rmap: introduce folio_try_dup_anon_rmap_[pte|ptes|pmd]() - mm/rmap: convert page_dup_file_rmap() to folio_dup_file_rmap_[pte|ptes|pmd]() - mm/rmap: remove page_remove_rmap() - Documentation: stop referring to page_remove_rmap() - mm: userswap: page_remove_rmap() -> folio_remove_rmap_pte() - mm/rmap: page_remove_rmap() -> folio_remove_rmap_pte() - mm/migrate_device: page_remove_rmap() -> folio_remove_rmap_pte() - mm/memory: page_remove_rmap() -> folio_remove_rmap_pte() - mm/ksm: page_remove_rmap() -> folio_remove_rmap_pte() - mm/khugepaged: page_remove_rmap() -> folio_remove_rmap_pte() - mm/huge_memory: page_remove_rmap() -> folio_remove_rmap_pmd() - kernel/events/uprobes: page_remove_rmap() -> folio_remove_rmap_pte() - mm/rmap: introduce folio_remove_rmap_[pte|ptes|pmd]() - mm/rmap: remove RMAP_COMPOUND - mm/rmap: remove page_add_anon_rmap() - mm/memory: page_add_anon_rmap() -> folio_add_anon_rmap_pte() - mm/swapfile: page_add_anon_rmap() -> folio_add_anon_rmap_pte() - mm/ksm: page_add_anon_rmap() -> folio_add_anon_rmap_pte() - mm/migrate: page_add_anon_rmap() -> folio_add_anon_rmap_pte() - mm/huge_memory: page_add_anon_rmap() -> folio_add_anon_rmap_pmd() - mm/huge_memory: batch rmap operations in __split_huge_pmd_locked() - mm/rmap: introduce folio_add_anon_rmap_[pte|ptes|pmd]() - mm/rmap: factor out adding folio mappings into __folio_add_rmap() - mm/rmap: remove page_add_file_rmap() - mm/userfaultfd: page_add_file_rmap() -> folio_add_file_rmap_pte() - mm/migrate: page_add_file_rmap() -> folio_add_file_rmap_pte() - mm/huge_memory: page_add_file_rmap() -> folio_add_file_rmap_pmd() - mm/memory: page_add_file_rmap() -> folio_add_file_rmap_[pte|pmd]() - mm/rmap: convert folio_add_file_rmap_range() into folio_add_file_rmap_[pte|ptes|pmd]() - mm/rmap: add hugetlb sanity checks for anon rmap handling - mm/rmap: introduce and use hugetlb_try_share_anon_rmap() - mm/rmap: introduce and use hugetlb_try_dup_anon_rmap() - mm/rmap: introduce and use hugetlb_add_file_rmap() - mm/rmap: introduce and use hugetlb_remove_rmap() - mm/rmap: rename hugepage_add* to hugetlb_add* - mm/khugepaged: convert collapse_pte_mapped_thp() to use folios - mm/khugepaged: convert alloc_charge_hpage() to use folios - mm/khugepaged: convert is_refcount_suitable() to use folios - mm/khugepaged: convert hpage_collapse_scan_pmd() to use folios - mm/khugepaged: convert __collapse_huge_page_isolate() to use folios - !5543 v2 locking/qspinlock: Add CNA support for ARM64 - config/arm64: Enable numa aware qspinlock by default - locking/qspinlock: Add CNA support for ARM64 without pvspinlock - !5555 v2 ACPI/arm64: add support for virtual cpu hotplug - arm64/psci: Add undefined error message printing for psci_x_cpu_on - cpumask: Add enabled cpumask for present CPUs that can be brought online - ACPI: Add _OSC bits to advertise OS support for toggling CPU present/enabled - arm64: document virtual CPU hotplug's expectations - ACPI: processor: Only call arch_unregister_cpu() if HOTPLUG_CPU is selected - ACPI: add support to register CPUs based on the _STA enabled bit - arm64: psci: Ignore DENIED CPUs - irqchip/gic-v3: Add support for ACPI's disabled but 'online capable' CPUs - irqchip/gic-v3: Don't return errors from gic_acpi_match_gicc() - ACPICA: Add new MADT GICC flags fields - arm64: acpi: Move get_cpu_for_acpi_id() to a header - ACPI: Warn when the present bit changes but the feature is not enabled - ACPI: Check _STA present bit before making CPUs not present - ACPI: convert acpi_processor_post_eject() to use IS_ENABLED() - ACPI: Add post_eject to struct acpi_scan_handler for cpu hotplug - ACPI: Rename acpi_processor_hotadd_init and remove pre-processor guards - ACPI: Move acpi_bus_trim_one() before acpi_scan_hot_remove() - ACPI: Rename ACPI_HOTPLUG_CPU to include 'present' - ACPI: processor: Register all CPUs from acpi_processor_get_info() - ACPI: processor: Register CPUs that are online, but not described in the DSDT - ACPI: processor: Add support for processors described as container packages - ACPI: Only enumerate enabled (or functional) devices - !5461 [OLK-6.6] Add support for Mucse Virtual Function Network Adapter(N10) - drivers: initial support for rnpvf drivers from Mucse Technology - !5526 Intel: Backport QuickAssist Technology(QAT) in-tree driver - Enable Intel QAT_4XXX as kernel module - crypto: qat - make ring to service map common for QAT GEN4 - crypto: qat - fix ring to service map for dcc in 420xx - crypto: qat - fix ring to service map for dcc in 4xxx - crypto: qat - fix comment structure - crypto: qat - remove unnecessary description from comment - crypto: qat - remove double initialization of value - crypto: qat - avoid division by zero - crypto: qat - removed unused macro in adf_cnv_dbgfs.c - crypto: qat - remove unused macros in qat_comp_alg.c - crypto: qat - uninitialized variable in adf_hb_error_inject_write() - Documentation: qat: fix auto_reset section - crypto: qat - resolve race condition during AER recovery - crypto: qat - change SLAs cleanup flow at shutdown - crypto: qat - improve aer error reset handling - crypto: qat - limit heartbeat notifications - crypto: qat - add auto reset on error - crypto: qat - add fatal error notification - crypto: qat - re-enable sriov after pf reset - crypto: qat - update PFVF protocol for recovery - crypto: qat - disable arbitration before reset - crypto: qat - add fatal error notify method - crypto: qat - add heartbeat error simulator - crypto: qat - use kcalloc_node() instead of kzalloc_node() - crypto: qat - avoid memcpy() overflow warning - crypto: qat - fix arbiter mapping generation algorithm for QAT 402xx - crypto: qat - generate dynamically arbiter mappings - crypto: qat - add support for ring pair level telemetry - crypto: qat - add support for device telemetry - crypto: qat - add admin msgs for telemetry - crypto: qat - include pci.h for GET_DEV() - crypto: qat - add support for 420xx devices - crypto: qat - move fw config related structures - crypto: qat - relocate portions of qat_4xxx code - crypto: qat - change signature of uof_get_num_objs() - crypto: qat - relocate and rename get_service_enabled() - crypto: qat - add NULL pointer check - crypto: qat - fix mutex ordering in adf_rl - crypto: qat - fix error path in add_update_sla() - crypto: qat - add sysfs_added flag for rate limiting - crypto: qat - add sysfs_added flag for ras - crypto: qat - prevent underflow in rp2srv_store() - units: add missing header - seq_file: add helper macro to define attribute for rw file - crypto: qat - move adf_cfg_services - crypto: qat - add num_rps sysfs attribute - crypto: qat - add rp2svc sysfs attribute - crypto: qat - add rate limiting sysfs interface - crypto: qat - add rate limiting feature to qat_4xxx - crypto: qat - add retrieval of fw capabilities - crypto: qat - add bits.h to icp_qat_hw.h - units: Add BYTES_PER_*BIT - crypto: qat - move admin api - crypto: qat - count QAT GEN4 errors - crypto: qat - add error counters - crypto: qat - add handling of errors from ERRSOU3 for QAT GEN4 - crypto: qat - add adf_get_aram_base() helper function - crypto: qat - add handling of compression related errors for QAT GEN4 - crypto: qat - add handling of errors from ERRSOU2 for QAT GEN4 - crypto: qat - add reporting of errors from ERRSOU1 for QAT GEN4 - crypto: qat - add reporting of correctable errors for QAT GEN4 - crypto: qat - add infrastructure for error reporting - crypto: qat - add cnv_errors debugfs file - crypto: qat - add pm_status debugfs file - crypto: qat - refactor included headers - crypto: qat - add namespace to driver - crypto: qat - Remove zlib-deflate - crypto: qat - Annotate struct adf_fw_counters with __counted_by - crypto: qat - do not shadow error code - crypto: qat - refactor deprecated strncpy - crypto: qat - Use list_for_each_entry() helper - Documentation: ABI: debugfs-driver-qat: fix fw_counters path- perf: add CoreSight trace component support on aarch64 platform- !5524 [OLK-6.6] fix 0day bugs reported by CI robot for Mont-TSSE - fix 0 day bugs for Mont-TSSE Driver - !5284 [OLK-6.6] fs/address_space: move i_mmap_rwsem to mitigate a false sharing with i_mmap. - fs/address_space: move i_mmap_rwsem to mitigate a false sharing with i_mmap. - !5280 Add Huawei Intelligent Network Card Driver: hinic3 - net/hinic3: add huawei/hinic3 driver - !5179 Update Huawei Intelligent Network Card Driver: hinic - net/hinic: Update Huawei Intelligent Network Card Driver: hinic - !5523 enable openeuler_defconfig HISI_ACC_VFIO_PCI=m - openeuler_defconfig: enable HISI_ACC_VFIO_PCI=m - !5529 arch/powerpc: open BTF relevant configs in openuler defconfig - arch/powerpc: open BTF relevant configs in openuler defconfig - !5541 RDMA/hns: Backport bugfixes - RDMA/hns: Refactor hns_roce_alloc_ucontext() - RDMA/hns: Fix missing reset notification by user space driver - RDMA/hns: Kernel notify usr space to stop ring db - RDMA/hns: Support flexible wqe buffer page size - !5464 net: hns3: backport some driver feature enhancement - net: hns3: default select PAGE_POOL_STATS - net: hns3: support set/get VxLAN rule of rx flow director by ethtool - net: ethtool: add VxLAN to the NFC API - net: hns3: add support for ROH ras - net: hns3: fix bug for init roh client instance - net: hns3: HNAE3 framework add support for ROH client - net: hns3: add support handling tx dhcp packets for ROH - net: hns3: support arp proxy - net: hns3: add arp proxy switch in ethtool - net: hns3: support tc limit rate - net: hns3: support tc command with max rate parameter - net: hns3: add ROH MAC type definitions and support query MAC type - net: hns3: Add support for some CMIS transceiver modules - net: sfp: Synchronize some CMIS transceiver modules from ethtool - net: hns3: add command queue trace for hns3 - net: hns3: dump more reg info based on ras mod - net: hns3: add support for page_pool_get_stats - net: hns3: add support to query scc version by devlink info - net: hns3: correct the logic of hclge_sync_vf_qb_mode() - net: hns3: add support for FD counter - net: hns3: allocate fd counter for queue bonding - net: hns3: refactor the debugfs for dumping FD tcam - net: hns3: add queue bonding mode support for VF - net: hns3: add support for queue bonding mode of flow director - !5426 BTC's bugfix for openeuler OLK-6.6 - ipmi: Add erratum 162102203 config to enable workaround for SMS message processing timeout - ipmi: Errata workaround to prevent SMS message processing timeout - !5049 [OLK-6.6]Add pcie acs and no-bus-reset quirk for mucse Nics - Add pcie acs and no-bus-reset quirk for mucse Nics - !5354 iommu/arm-smmu-v3: Disable ECMDQ before reset - iommu/arm-smmu-v3: Disable ECMDQ before reset - !5061 [OLK-6.6] riscv: Update openeuler_defconfig to support sg2042 SoC - riscv: Update openeuler_defconfig to support sg2042 SoC - !5427 crypto/trng: Remove the automatic loading of the hisi_trng driver - crypto/trng: Remove the automatic loading of the hisi_trng driver - crypto: hisilicon/trng - use %u to print u32 variables - !5492 Backport Introduce __mt_dup() to improve the performance of fork() - fork: use __mt_dup() to duplicate maple tree in dup_mmap() - maple_tree: preserve the tree attributes when destroying maple tree - maple_tree: update check_forking() and bench_forking() - maple_tree: skip other tests when BENCH is enabled - maple_tree: update the documentation of maple tree - maple_tree: add test for mtree_dup() - radix tree test suite: align kmem_cache_alloc_bulk() with kernel behavior. - maple_tree: introduce interfaces __mt_dup() and mtree_dup() - maple_tree: introduce {mtree,mas}_lock_nested() - maple_tree: add mt_free_one() and mt_attr() helpers - radix tree test suite: fix allocation calculation in kmem_cache_alloc_bulk() - !5334 v4 iommu/iova: avoid softlockup in fq_flush_timeout - iommu/iova: avoid softlockup in fq_flush_timeout - !5412 [OLK-6.6] perf/x86/amd: Miscellaneous fixes - perf vendor events amd: Fix Zen 4 cache latency events - perf/x86/amd/lbr: Discard erroneous branch entries - perf/x86/amd/core: Avoid register reset when CPU is dead - !5376 Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security - Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security- !5424 block: Fix iterating over an empty bio with bio_for_each_folio_all - block: Fix iterating over an empty bio with bio_for_each_folio_all - !5425 nbd: always initialize struct msghdr completely - nbd: always initialize struct msghdr completely - !5255 CVE-2024-26627 - scsi: core: Move scsi_host_busy() out of host lock if it is for per-command - scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler - !5221 powerpc/mm: Fix null-pointer dereference in pgtable_cache_add - powerpc/mm: Fix null-pointer dereference in pgtable_cache_add - !5045 [OLK-6.6] Add support for Mont-TSSE firmware update and fix 0day bugs - add firmware update function for Mont-TSSE - fix 0day bugs for Mont-TSSE in CI test - !5363 [OLK-6.6] ima: Support modsig verify using trusted keys - ima: Enable modsig appraisal by default - ima: Support modsig verify using trusted keys - !5369 Backport 6.6.9-6.6.22 LTS - KVM/x86: Export RFDS_NO and RFDS_CLEAR to guests - x86/rfds: Mitigate Register File Data Sampling (RFDS) - Documentation/hw-vuln: Add documentation for RFDS - x86/mmio: Disable KVM mitigation when X86_FEATURE_CLEAR_CPU_BUF is set - selftests: mptcp: decrease BW in simult flows - readahead: avoid multiple marked readahead pages - KVM: s390: vsie: fix race during shadow creation - KVM: s390: add stat counter for shadow gmap events - net: pds_core: Fix possible double free in error handling path - netrom: Fix data-races around sysctl_net_busy_read - netrom: Fix a data-race around sysctl_netrom_link_fails_count - netrom: Fix a data-race around sysctl_netrom_routing_control - netrom: Fix a data-race around sysctl_netrom_transport_no_activity_timeout - netrom: Fix a data-race around sysctl_netrom_transport_requested_window_size - netrom: Fix a data-race around sysctl_netrom_transport_busy_delay - netrom: Fix a data-race around sysctl_netrom_transport_acknowledge_delay - netrom: Fix a data-race around sysctl_netrom_transport_maximum_tries - netrom: Fix a data-race around sysctl_netrom_transport_timeout - netrom: Fix data-races around sysctl_netrom_network_ttl_initialiser - netrom: Fix a data-race around sysctl_netrom_obsolescence_count_initialiser - netrom: Fix a data-race around sysctl_netrom_default_path_quality - erofs: apply proper VMA alignment for memory mapped files on THP - netfilter: nf_conntrack_h323: Add protection for bmp length out of range - netfilter: nft_ct: fix l3num expectations with inet pseudo family - net/rds: fix WARNING in rds_conn_connect_if_down - net: dsa: microchip: fix register write order in ksz8_ind_write8() - cpumap: Zero-initialise xdp_rxq_info struct before running XDP program - selftests/bpf: Fix up xdp bonding test wrt feature flags - xdp, bonding: Fix feature flags when there are no slave devs anymore - bpf: check bpf_func_state->callback_depth when pruning states - net/ipv6: avoid possible UAF in ip6_route_mpath_notify() - igc: avoid returning frame twice in XDP_REDIRECT - net: ice: Fix potential NULL pointer dereference in ice_bridge_setlink() - ice: virtchnl: stop pretending to support RSS over AQ or registers - net: sparx5: Fix use after free inside sparx5_del_mact_entry - geneve: make sure to pull inner header in geneve_rx() - tracing/net_sched: Fix tracepoints that save qdisc_dev() as a string - net/mlx5e: Switch to using _bh variant of of spinlock API in port timestamping NAPI poll context - net/mlx5e: Use a memory barrier to enforce PTP WQ xmit submission tracking occurs after populating the metadata_map - net/mlx5e: Fix MACsec state loss upon state update in offload path - net/mlx5e: Change the warning when ignore_flow_level is not supported - net/mlx5: Check capability for fw_reset - net/mlx5: E-switch, Change flow rule destination checking - Revert "net/mlx5e: Check the number of elements before walk TC rhashtable" - Revert "net/mlx5: Block entering switchdev mode with ns inconsistency" - ice: reorder disabling IRQ and NAPI in ice_qp_dis - i40e: disable NAPI right after disabling irqs when handling xsk_pool - ixgbe: {dis, en}able irqs in ixgbe_txrx_ring_{dis, en}able - net: lan78xx: fix runtime PM count underflow on link stop - xfrm: Pass UDP encapsulation in TX packet offload - mm/vmscan: fix a bug calling wakeup_kswapd() with a wrong zone index - ceph: switch to corrected encoding of max_xattr_size in mdsmap - dmaengine: fsl-edma: correct max_segment_size setting - dmaengine: fsl-edma: utilize common dt-binding header file - dt-bindings: dma: fsl-edma: Add fsl-edma.h to prevent hardcoding in dts - drm/nouveau: don't fini scheduler before entity flush - selftests: mptcp: rm subflow with v4/v4mapped addr - selftests: mptcp: add mptcp_lib_is_v6 - selftests: mptcp: update userspace pm test helpers - selftests: mptcp: add chk_subflows_total helper - selftests: mptcp: add evts_get_info helper - KVM/VMX: Move VERW closer to VMentry for MDS mitigation - KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH - x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key - x86/entry_32: Add VERW just before userspace transition - x86/entry_64: Add VERW just before userspace transition - block: define bvec_iter as __packed __aligned(4) - gpio: fix resource unwinding order in error path - gpiolib: Fix the error path order in gpiochip_add_data_with_key() - gpio: 74x164: Enable output pins after registers are reset - powerpc/rtas: use correct function name for resetting TCE tables - powerpc/pseries/iommu: IOMMU table is not initialized for kdump over SR-IOV - dmaengine: idxd: Ensure safe user copy of completion record - dmaengine: idxd: Remove shadow Event Log head stored in idxd - phy: freescale: phy-fsl-imx8-mipi-dphy: Fix alias name to use dashes - dmaengine: dw-edma: eDMA: Add sync read before starting the DMA transfer in remote setup - dmaengine: dw-edma: HDMA: Add sync read before starting the DMA transfer in remote setup - dmaengine: dw-edma: Add HDMA remote interrupt configuration - dmaengine: dw-edma: HDMA_V0_REMOTEL_STOP_INT_EN typo fix - dmaengine: dw-edma: Fix wrong interrupt bit set for HDMA - dmaengine: dw-edma: Fix the ch_count hdma callback - ASoC: cs35l56: fix reversed if statement in cs35l56_dspwait_asp1tx_put() - af_unix: Drop oob_skb ref before purging queue in GC. - af_unix: Fix task hung while purging oob_skb in GC. - NFS: Fix data corruption caused by congestion. - mptcp: fix possible deadlock in subflow diag - mptcp: fix double-free on socket dismantle - mptcp: fix potential wake-up event loss - mptcp: fix snd_wnd initialization for passive socket - selftests: mptcp: join: add ss mptcp support check - mptcp: push at DSS boundaries - mptcp: avoid printing warning once on client side - mptcp: map v4 address to v6 when destroying subflow - x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers - x86/e820: Don't reserve SETUP_RNG_SEED in e820 - mm/debug_vm_pgtable: fix BUG_ON with pud advanced test - pmdomain: qcom: rpmhpd: Fix enabled_corner aggregation - efivarfs: Request at most 512 bytes for variable names - kbuild: Add -Wa,--fatal-warnings to as-instr invocation - riscv: add CALLER_ADDRx support - RISC-V: Drop invalid test from CONFIG_AS_HAS_OPTION_ARCH - mmc: sdhci-xenon: fix PHY init clock stability - mmc: sdhci-xenon: add timeout for PHY init complete - mmc: core: Fix eMMC initialization with 1-bit bus connection - mmc: mmci: stm32: fix DMA API overlapping mappings warning - dmaengine: fsl-qdma: init irq after reg initialization - dmaengine: fsl-edma: correct calculation of 'nbytes' in multi-fifo scenario - dmaengine: ptdma: use consistent DMA masks - crypto: arm64/neonbs - fix out-of-bounds access on short input - dmaengine: fsl-qdma: fix SoC may hang on 16 byte unaligned read - soc: qcom: pmic_glink: Fix boot when QRTR=m - drm/amd/display: Add monitor patch for specific eDP - drm/buddy: fix range bias - Revert "drm/amd/pm: resolve reboot exception for si oland" - btrfs: send: don't issue unnecessary zero writes for trailing hole - btrfs: dev-replace: properly validate device names - btrfs: fix double free of anonymous device after snapshot creation failure - wifi: nl80211: reject iftype change with mesh ID change - mtd: rawnand: marvell: fix layouts - gtp: fix use-after-free and null-ptr-deref in gtp_newlink() - landlock: Fix asymmetric private inodes referring - Bluetooth: hci_bcm4377: do not mark valid bd_addr as invalid - ALSA: hda/realtek: Add special fixup for Lenovo 14IRP8 - ALSA: hda/realtek: fix mute/micmute LED For HP mt440 - ALSA: hda/realtek: Enable Mute LED on HP 840 G8 (MB 8AB8) - ALSA: hda/realtek: tas2781: enable subwoofer volume control - ALSA: ump: Fix the discard error code from snd_ump_legacy_open() - ALSA: firewire-lib: fix to check cycle continuity - tomoyo: fix UAF write bug in tomoyo_write_control() - of: property: fw_devlink: Fix stupid bug in remote-endpoint parsing - btrfs: fix race between ordered extent completion and fiemap - riscv: Sparse-Memory/vmemmap out-of-bounds fix - riscv: Fix pte_leaf_size() for NAPOT - Revert "riscv: mm: support Svnapot in huge vmap" - drivers: perf: ctr_get_width function for legacy is not defined - drivers: perf: added capabilities for legacy PMU - afs: Fix endless loop in directory parsing - fbcon: always restore the old font data in fbcon_do_set_font() - drm/tegra: Remove existing framebuffer only if we support display - RISC-V: Ignore V from the riscv,isa DT property on older T-Head CPUs - ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol() - ASoC: cs35l56: Fix deadlock in ASP1 mixer register initialization - ASoC: cs35l56: Fix misuse of wm_adsp 'part' string for silicon revision - ASoC: cs35l56: Fix for initializing ASP1 mixer registers - ASoC: cs35l56: Don't add the same register patch multiple times - ASoC: cs35l56: cs35l56_component_remove() must clean up wm_adsp - ASoC: cs35l56: cs35l56_component_remove() must clear cs35l56->component - riscv: Fix build error if !CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION - ASoC: qcom: Fix uninitialized pointer dmactl - ASoC: qcom: convert not to use asoc_xxx() - ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx() - ALSA: Drop leftover snd-rtctimer stuff from Makefile - ASoC: cs35l56: Must clear HALO_STATE before issuing SYSTEM_RESET - power: supply: bq27xxx-i2c: Do not free non existing IRQ - efi/capsule-loader: fix incorrect allocation size - tls: fix use-after-free on failed backlog decryption - tls: separate no-async decryption request handling from async - tls: fix peeking with sync+async decryption - tls: decrement decrypt_pending if no async completion will be called - net: hsr: Use correct offset for HSR TLV values in supervisory HSR frames - igb: extend PTP timestamp adjustments to i211 - rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back - tools: ynl: fix handling of multiple mcast groups - netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate() - Bluetooth: qca: Fix triggering coredump implementation - Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT - Bluetooth: qca: Fix wrong event type for patch config command - Bluetooth: Enforce validation on max value of connection interval - Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST - Bluetooth: hci_event: Fix wrongly recorded wakeup BD_ADDR - Bluetooth: hci_sync: Fix accept_list when attempting to suspend - Bluetooth: Avoid potential use-after-free in hci_error_reset - Bluetooth: hci_sync: Check the correct flag before starting a scan - stmmac: Clear variable when destroying workqueue - uapi: in6: replace temporary label with rfc9486 - net: lan78xx: fix "softirq work is pending" error - net: usb: dm9601: fix wrong return value in dm9601_mdio_read - veth: try harder when allocating queue memory - lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected - ipv6: fix potential "struct net" leak in inet6_rtm_getaddr() - net: veth: clear GRO when clearing XDP even when down - cpufreq: intel_pstate: fix pstate limits enforcement for adjust_perf call back - tun: Fix xdp_rxq_info's queue_index when detaching - net: dpaa: fman_memac: accept phy-interface-type = "10gbase-r" in the device tree - net: mctp: take ownership of skb in mctp_local_output - net: ip_tunnel: prevent perpetual headroom growth - netlink: add nla be16/32 types to minlen array - netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter - spi: cadence-qspi: fix pointer reference in runtime PM hooks - mtd: spinand: gigadevice: Fix the get ecc status issue - ublk: move ublk_cancel_dev() out of ub->mutex - ksmbd: fix wrong allocation size update in smb2_open() - ASoC: cs35l34: Fix GPIO name and drop legacy include - fs/ntfs3: fix build without CONFIG_NTFS3_LZX_XPRESS - ahci: Extend ASM1061 43-bit DMA address quirk to other ASM106x parts - ata: ahci: add identifiers for ASM2116 series adapters - mptcp: add needs_id for netlink appending addr - mptcp: userspace pm send RM_ADDR for ID 0 - selftests: mptcp: add mptcp_lib_get_counter - selftests: mptcp: join: stop transfer when check is done (part 2) - mm: zswap: fix missing folio cleanup in writeback race path - mm/zswap: invalidate duplicate entry when !zswap_enabled - selftests: mptcp: join: stop transfer when check is done (part 1) - i2c: imx: when being a target, mark the last read as processed - drm/amd/display: Fix memory leak in dm_sw_fini() - drm/syncobj: handle NULL fence in syncobj_eventfd_entry_func - drm/syncobj: call drm_syncobj_fence_add_wait when WAIT_AVAILABLE flag is set - net: phy: realtek: Fix rtl8211f_config_init() for RTL8211F(D)(I)-VD-CG PHY - Fix write to cloned skb in ipv6_hop_ioam() - phonet/pep: fix racy skb_queue_empty() use - phonet: take correct lock to peek at the RX queue - net: sparx5: Add spinlock for frame transmission from CPU - net/sched: flower: Add lock protection when remove filter handle - devlink: fix port dump cmd type - tools: ynl: don't leak mcast_groups on init error - tools: ynl: make sure we always pass yarg to mnl_cb_run - net: mctp: put sock on tag allocation failure - netfilter: nf_tables: use kzalloc for hook allocation - netfilter: nf_tables: register hooks last when adding new chain/flowtable - netfilter: nft_flow_offload: release dst in case direct xmit path is used - netfilter: nft_flow_offload: reset dst in route object after setting up flow - netfilter: nf_tables: set dormant flag on hook register failure - tls: don't skip over different type records from the rx_list - tls: stop recv() if initial process_rx_list gave us non-DATA - tls: break out of main loop when PEEK gets a non-data record - hwmon: (nct6775) Fix access to temperature configuration registers - cache: ax45mp_cache: Align end size to cache boundary in ax45mp_dma_cache_wback() - bpf, sockmap: Fix NULL pointer dereference in sk_psock_verdict_data_ready() - s390: use the correct count for __iowrite64_copy() - net: ipa: don't overrun IPA suspend interrupt registers - octeontx2-af: Consider the action set by PF - drm/i915/tv: Fix TV mode - platform/x86: thinkpad_acpi: Only update profile if successfully converted - arm64/sme: Restore SMCR_EL1.EZT0 on exit from suspend - arm64/sme: Restore SME registers on exit from suspend - arp: Prevent overflow in arp_req_get(). - devlink: fix possible use-after-free and memory leaks in devlink_init() - ipv6: sr: fix possible use-after-free and null-ptr-deref - afs: Increase buffer size in afs_update_volume_status() - parisc: Fix stack unwinder - bpf: Fix racing between bpf_timer_cancel_and_free and bpf_timer_cancel - ata: ahci_ceva: fix error handling for Xilinx GT PHY support - selftests: bonding: set active slave to primary eth1 specifically - powerpc/pseries/iommu: DLPAR add doesn't completely initialize pci_controller - net: bcmasp: Sanity check is off by one - net: bcmasp: Indicate MAC is in charge of PHY PM - ipv6: properly combine dev_base_seq and ipv6.dev_addr_genid - ipv4: properly combine dev_base_seq and ipv4.dev_addr_genid - net: stmmac: Fix incorrect dereference in interrupt handlers - x86/numa: Fix the sort compare func used in numa_fill_memblks() - x86/numa: Fix the address overlap check in numa_fill_memblks() - nouveau: fix function cast warnings - net/sched: act_mirred: don't override retval if we already lost the skb - net/sched: act_mirred: use the backlog for mirred ingress - net/sched: act_mirred: Create function tcf_mirred_to_dev and improve readability - dccp/tcp: Unhash sk from ehash for tb2 alloc failure after check_estalblished(). - net: bridge: switchdev: Ensure deferred event delivery on unoffload - net: bridge: switchdev: Skip MDB replays of deferred events on offload - scsi: jazz_esp: Only build if SCSI core is builtin - scsi: smartpqi: Fix disable_managed_interrupts - bpf, scripts: Correct GPL license name - RDMA/srpt: fix function pointer cast warnings - xsk: Add truesize to skb_add_rx_frag(). - arm64: dts: rockchip: Correct Indiedroid Nova GPIO Names - arm64: dts: rockchip: set num-cs property for spi on px30 - RDMA/qedr: Fix qedr_create_user_qp error flow - bus: imx-weim: fix valid range check - arm64: dts: tqma8mpql: fix audio codec iov-supply - RDMA/srpt: Support specifying the srpt_service_guid parameter - RDMA/irdma: Add AE for too many RNRS - RDMA/irdma: Set the CQ read threshold for GEN 1 - RDMA/irdma: Validate max_send_wr and max_recv_wr - RDMA/irdma: Fix KASAN issue with tasklet - arm64: dts: imx8mp: Disable UART4 by default on Data Modul i.MX8M Plus eDM SBC - IB/mlx5: Don't expose debugfs entries for RRoCE general parameters if not supported - RDMA/bnxt_re: Add a missing check in bnxt_qplib_query_srq - RDMA/bnxt_re: Return error for SRQ resize - IB/hfi1: Fix a memleak in init_credit_return - bpf: Derive source IP addr via bpf_*_fib_lookup() - xen/events: fix error code in xen_bind_pirq_msi_to_irq() - Revert "drm/amd/display: increased min_dcfclk_mhz and min_fclk_mhz" - drm/amd/display: Fix buffer overflow in 'get_host_router_total_dp_tunnel_bw()' - drm/amd/display: Avoid enum conversion warning - smb3: add missing null server pointer check - selftests: mptcp: diag: unique 'cestab' subtest names - selftests: mptcp: diag: unique 'in use' subtest names - selftests: mptcp: diag: fix bash warnings on older kernels - selftests: mptcp: diag: check CURRESTAB counters - selftests: mptcp: pm nl: avoid error msg on older kernels - selftests: mptcp: pm nl: also list skipped tests - selftests: mptcp: simult flows: fix some subtest names - selftests: mptcp: userspace_pm: unique subtest names - mptcp: fix duplicate subflow creation - mptcp: fix data races on remote_id - mptcp: fix data races on local_id - mptcp: fix lockless access in subflow ULP diag - mptcp: add needs_id for userspace appending addr - usb: roles: don't get/set_role() when usb_role_switch is unregistered - usb: roles: fix NULL pointer issue when put module's reference - usb: gadget: omap_udc: fix USB gadget regression on Palm TE - usb: gadget: ncm: Avoid dropping datagrams of properly parsed NTBs - usb: cdns3: fix memory double free when handle zero packet - usb: cdns3: fixed memory use after free at cdns3_gadget_ep_disable() - usb: cdnsp: fixed issue with incorrect detecting CDNSP family controllers - usb: cdnsp: blocked some cdns3 specific code - usb: dwc3: gadget: Don't disconnect if not started - serial: amba-pl011: Fix DMA transmission in RS485 mode - serial: stm32: do not always set SER_RS485_RX_DURING_TX if RS485 is enabled - Revert "usb: typec: tcpm: reset counter when enter into unattached state after try role" - erofs: fix refcount on the metabuf used for inode lookup - dm-integrity, dm-verity: reduce stack usage for recheck - ARM: ep93xx: Add terminator to gpiod_lookup_table - l2tp: pass correct message length to ip6_append_data - PCI/MSI: Prevent MSI hardware interrupt number truncation - irqchip/sifive-plic: Enable interrupt if needed before EOI - irqchip/gic-v3-its: Do not assume vPE tables are preallocated - irqchip/mbigen: Don't use bus_get_dev_root() to find the parent - crypto: virtio/akcipher - Fix stack overflow on memcpy - gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp() - accel/ivpu: Don't enable any tiles by default on VPU40xx - KVM: arm64: vgic-its: Test for valid IRQ in its_sync_lpi_pending_table() - KVM: arm64: vgic-its: Test for valid IRQ in MOVALL handler - md: Fix missing release of 'active_io' for flush - sparc: Fix undefined reference to fb_is_primary_device - platform/x86: touchscreen_dmi: Allow partial (prefix) matches for ACPI names - platform/x86: intel-vbtn: Stop calling "VBDL" from notify_handler - mm/damon/reclaim: fix quota stauts loss due to online tunings - mm: memcontrol: clarify swapaccount=0 deprecation warning - mm/damon/lru_sort: fix quota status loss due to online tunings - mm/swap: fix race when skipping swapcache - selftests/mm: uffd-unit-test check if huge page size is 0 - scsi: core: Consult supported VPD page list prior to fetching page - scsi: target: pscsi: Fix bio_put() for error case - scsi: sd: usb_storage: uas: Access media prior to querying device properties - cxl/acpi: Fix load failures due to single window creation failure - dm-verity: recheck the hash after a failure - dm-crypt: don't modify the data when using authenticated encryption - dm-integrity: recheck the integrity tag after a failure - Revert "parisc: Only list existing CPUs in cpu_possible_mask" - dm-crypt: recheck the integrity tag after a failure - lib/Kconfig.debug: TEST_IOV_ITER depends on MMU - fs/aio: Restrict kiocb_set_cancel_fn() to I/O submitted via libaio - ata: libata-core: Do not try to set sleeping devices to standby - s390/cio: fix invalid -EBUSY on ccw_device_start - drm/amd/display: adjust few initialization order in dm - drm/meson: Don't remove bridges which are created by other drivers - drm/ttm: Fix an invalid freeing on already freed page in error path - btrfs: defrag: avoid unnecessary defrag caused by incorrect extent size - LoongArch: Update cpu_sibling_map when disabling nonboot CPUs - LoongArch: Disable IRQ before init_fn() for nonboot CPUs - LoongArch: Call early_init_fdt_scan_reserved_mem() earlier - docs: Instruct LaTeX to cope with deeper nesting - x86/bugs: Add asm helpers for executing VERW - IB/hfi1: Fix sdma.h tx->num_descs off-by-one error - xen/events: close evtchn after mapping cleanup - xen/events: modify internal [un]bind interfaces - xen/events: drop xen_allocate_irqs_dynamic() - xen/events: remove some simple helpers from events_base.c - xen/events: reduce externally visible helper functions - xen: evtchn: Allow shared registration of IRQ handers - drm/amd/display: fixed integer types and null check locations - drm/amd/display: Request usb4 bw for mst streams - drm/amd/display: Add dpia display mode validation logic - mptcp: corner case locking for rx path fields initialization - mptcp: fix more tx path fields initialization - mptcp: use mptcp_set_state - mptcp: add CurrEstab MIB counter support - smb3: clarify mount warning - cifs: handle cases where multiple sessions share connection - cifs: change tcon status when need_reconnect is set on it - virtio-blk: Ensure no requests in virtqueues before deleting vqs. - smb: client: set correct d_type for reparse points under DFS mounts - drm/amdgpu: Fix HDP flush for VFs on nbio v7.9 - drm/amdgpu: Fix shared buff copy to user - drm/amdgpu: reset gpu for s3 suspend abort case - drm/amdgpu: skip to program GFXDEC registers for suspend abort - libceph: fail sparse-read if the data length doesn't match - firewire: core: send bus reset promptly on gap count error - accel/ivpu/40xx: Stop passing SKU boot parameters to FW - accel/ivpu: Disable d3hot_delay on all NPU generations - accel/ivpu: Force snooping for MMU writes - LoongArch: vDSO: Disable UBSAN instrumentation - LoongArch: Change acpi_core_pic[NR_CPUS] to acpi_core_pic[MAX_CORE_PIC] - LoongArch: Select HAVE_ARCH_SECCOMP to use the common SECCOMP menu - LoongArch: Select ARCH_ENABLE_THP_MIGRATION instead of redefining it - scsi: ufs: core: Remove the ufshcd_release() in ufshcd_err_handling_prepare() - scsi: ufs: core: Fix shift issue in ufshcd_clear_cmd() - scsi: lpfc: Use unsigned type for num_sge - hwmon: (coretemp) Enlarge per package core count limit - efi: Don't add memblocks for soft-reserved memory - efi: runtime: Fix potential overflow of soft-reserved region size - wifi: iwlwifi: do not announce EPCS support - wifi: mac80211: accept broadcast probe responses on 6 GHz - wifi: mac80211: adding missing drv_mgd_complete_tx() call - wifi: mac80211: set station RX-NSS on reconfig - fs/ntfs3: Fix oob in ntfs_listxattr - fs/ntfs3: Update inode->i_size after success write into compressed file - fs/ntfs3: Fixed overflow check in mi_enum_attr() - fs/ntfs3: Correct function is_rst_area_valid - fs/ntfs3: Use i_size_read and i_size_write - fs/ntfs3: Prevent generic message "attempt to access beyond end of device" - fs/ntfs3: use non-movable memory for ntfs3 MFT buffer cache - fs/ntfs3: Use kvfree to free memory allocated by kvmalloc - fs/ntfs3: Disable ATTR_LIST_ENTRY size check - fs/ntfs3: Add NULL ptr dereference checking at the end of attr_allocate_frame() - fs/ntfs3: ntfs3_forced_shutdown use int instead of bool - fs/ntfs3: Implement super_operations::shutdown - fs/ntfs3: Drop suid and sgid bits as a part of fpunch - fs/ntfs3: Add file_modified - fs/ntfs3: Fix detected field-spanning write (size 8) of single field "le->name" - fs/ntfs3: Fix multithreaded stress test - fs/ntfs3: Reduce stack usage - fs/ntfs3: Print warning while fixing hard links count - fs/ntfs3: Correct hard links updating when dealing with DOS names - fs/ntfs3: Improve ntfs_dir_count - fs/ntfs3: Modified fix directory element type detection - fs/ntfs3: Improve alternative boot processing - Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table - ext4: correct the hole length returned by ext4_map_blocks() - smb: client: increase number of PDUs allowed in a compound request - cifs: do not search for channel if server is terminating - nvmet-fc: take ref count on tgtport before delete assoc - nvmet-fc: avoid deadlock on delete association path - nvmet-fc: abort command when there is no binding - nvmet-fc: hold reference on hostport match - nvmet-fc: defer cleanup using RCU properly - nvmet-fc: release reference on target port - nvmet-fcloop: swap the list_add_tail arguments - nvme-fc: do not wait in vain when unloading module - ALSA: usb-audio: Ignore clock selector errors for single connection - ASoC: wm_adsp: Don't overwrite fwf_name with the default - cifs: make sure that channel scaling is done only once - drm/amd/display: increased min_dcfclk_mhz and min_fclk_mhz - drm/amdkfd: Use correct drm device for cgroup permission check - netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new - misc: open-dice: Fix spurious lockdep warning - Input: xpad - add Lenovo Legion Go controllers - spi: sh-msiof: avoid integer overflow in constants - regulator (max5970): Fix IRQ handler - ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616 - ALSA: usb-audio: Check presence of valid altsetting control - usb: ucsi_acpi: Quirk to ack a connector change ack cmd - nvmet-tcp: fix nvme tcp ida memory leak - HID: nvidia-shield: Add missing null pointer checks to LED initialization - ALSA: hda: Increase default bdl_pos_adj for Apollo Lake - ALSA: hda: Replace numeric device IDs with constant values - HID: logitech-hidpp: add support for Logitech G Pro X Superlight 2 - regulator: pwm-regulator: Add validity checks in continuous .get_voltage - ASoC: amd: acp: Add check for cpu dai link initialization - dmaengine: ti: edma: Add some null pointer checks to the edma_probe - Input: goodix - accept ACPI resources with gpio_count == 3 && gpio_int_idx == 0 - ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal() - ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found() - ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt - platform/x86: touchscreen_dmi: Add info for the TECLAST X16 Plus tablet - MIPS: reserve exception vector space ONLY ONCE - ARM: dts: Fix TPM schema violations - ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers - spi: cs42l43: Handle error from devm_pm_runtime_enable - aoe: avoid potential deadlock at set_capacity - ahci: asm1166: correct count of reported ports - cifs: helper function to check replayable error codes - cifs: translate network errors on send to -ECONNABORTED - cifs: cifs_pick_channel should try selecting active channels - smb: Work around Clang __bdos() type confusion - block: Fix WARNING in _copy_from_iter - spi: intel-pci: Add support for Arrow Lake SPI serial flash - platform/mellanox: mlxbf-tmfifo: Drop Tx network packet when Tx TmFIFO is full - fbdev: sis: Error out if pixclock equals zero - fbdev: savage: Error out if pixclock equals zero - wifi: mac80211: fix race condition on enabling fast-xmit - wifi: cfg80211: fix missing interfaces when dumping - dmaengine: dw-edma: increase size of 'name' in debugfs code - dmaengine: fsl-qdma: increase size of 'irq_name' - dmaengine: shdma: increase size of 'dev_id' - cifs: open_cached_dir should not rely on primary channel - scsi: target: core: Add TMF to tmr_list handling - tools: selftests: riscv: Fix compile warnings in mm tests - tools: selftests: riscv: Fix compile warnings in vector tests - scsi: smartpqi: Fix logical volume rescan race condition - scsi: smartpqi: Add new controller PCI IDs - dmaengine: apple-admac: Keep upper bits of REG_BUS_WIDTH - riscv/efistub: Ensure GP-relative addressing is not used - PCI: dwc: Fix a 64bit bug in dw_pcie_ep_raise_msix_irq() - sched/rt: Disallow writing invalid values to sched_rt_period_us - tracing: Fix a NULL vs IS_ERR() bug in event_subsystem_dir() - tracing: Make system_callback() function static - Documentation/arch/ia64/features.rst: fix kernel-feat directive - nilfs2: fix potential bug in end_buffer_async_write - of: property: Add in-ports/out-ports support to of_graph_get_port_parent() - sched/membarrier: reduce the ability to hammer on sys_membarrier - x86/efistub: Use 1:1 file:memory mapping for PE/COFF .compat section - x86/boot: Increase section and file alignment to 4k/512 - x86/boot: Split off PE/COFF .data section - x86/boot: Drop PE/COFF .reloc section - x86/boot: Construct PE/COFF .text section from assembler - x86/boot: Derive file size from _edata symbol - x86/boot: Define setup size in linker script - x86/boot: Set EFI handover offset directly in header asm - x86/boot: Grab kernel_info offset from zoffset header directly - x86/boot: Drop references to startup_64 - x86/boot: Drop redundant code setting the root device - x86/boot: Omit compression buffer from PE/COFF image memory footprint - x86/boot: Remove the 'bugger off' message - x86/efi: Drop alignment flags from PE section headers - x86/efi: Disregard setup header of loaded image - x86/efi: Drop EFI stub .bss from .data section - nfsd: don't take fi_lock in nfsd_break_deleg_cb() - eventfs: Keep all directory links at 1 - eventfs: Remove fsnotify*() functions from lookup() - eventfs: Restructure eventfs_inode structure to be more condensed - eventfs: Warn if an eventfs_inode is freed without is_freed being set - eventfs: Get rid of dentry pointers without refcounts - eventfs: Clean up dentry ops and add revalidate function - eventfs: Remove unused d_parent pointer field - tracefs: dentry lookup crapectomy - tracefs: Avoid using the ei->dentry pointer unnecessarily - eventfs: Initialize the tracefs inode properly - tracefs: Zero out the tracefs_inode when allocating it - tracefs: remove stale update_gid code - eventfs: Save directory inodes in the eventfs_inode structure - eventfs: Use kcalloc() instead of kzalloc() - eventfs: Do not create dentries nor inodes in iterate_shared - eventfs: Have the inodes all for files and directories all be the same - eventfs: Shortcut eventfs_iterate() by skipping entries already read - eventfs: Read ei->entries before ei->children in eventfs_iterate() - eventfs: Do ctx->pos update for all iterations in eventfs_iterate() - eventfs: Have eventfs_iterate() stop immediately if ei->is_freed is set - tracefs/eventfs: Use root and instance inodes as default ownership - eventfs: Stop using dcache_readdir() for getdents() - eventfs: Remove "lookup" parameter from create_dir/file_dentry() - eventfs: Fix bitwise fields for "is_events" - tracefs: Check for dentry->d_inode exists in set_gid() - eventfs: Fix file and directory uid and gid ownership - eventfs: Have event files and directories default to parent uid and gid - eventfs: Fix events beyond NAME_MAX blocking tasks - eventfs: Make sure that parent->d_inode is locked in creating files/dirs - eventfs: Do not allow NULL parent to eventfs_start_creating() - eventfs: Move taking of inode_lock into dcache_dir_open_wrapper() - eventfs: Use GFP_NOFS for allocation when eventfs_mutex is held - eventfs: Do not invalidate dentry in create_file/dir_dentry() - eventfs: Remove expectation that ei->is_freed means ei->dentry == NULL - eventfs: Use simple_recursive_removal() to clean up dentries - eventfs: Remove special processing of dput() of events directory - eventfs: Delete eventfs_inode when the last dentry is freed - eventfs: Hold eventfs_mutex when calling callback functions - eventfs: Save ownership and mode - eventfs: Test for ei->is_freed when accessing ei->dentry - eventfs: Have a free_ei() that just frees the eventfs_inode - eventfs: Remove "is_freed" union with rcu head - eventfs: Fix kerneldoc of eventfs_remove_rec() - eventfs: Remove extra dget() in eventfs_create_events_dir() - eventfs: Fix typo in eventfs_inode union comment - eventfs: Fix WARN_ON() in create_file_dentry() - tracefs/eventfs: Modify mismatched function name - eventfs: Fix failure path in eventfs_create_events_dir() - eventfs: Use ERR_CAST() in eventfs_create_events_dir() - eventfs: Use eventfs_remove_events_dir() - eventfs: Remove eventfs_file and just use eventfs_inode - Revert "eventfs: Remove "is_freed" union with rcu head" - Revert "eventfs: Save ownership and mode" - Revert "eventfs: Delete eventfs_inode when the last dentry is freed" - Revert "eventfs: Use simple_recursive_removal() to clean up dentries" - Revert "eventfs: Check for NULL ef in eventfs_set_attr()" - Revert "eventfs: Do not allow NULL parent to eventfs_start_creating()" - parisc: Fix random data corruption from exception handler - netfilter: ipset: Missing gc cancellations fixed - netfilter: ipset: fix performance regression in swap operation - block: fix partial zone append completion handling in req_bio_endio() - tracing: Inform kmemleak of saved_cmdlines allocation - tracing: Fix HAVE_DYNAMIC_FTRACE_WITH_REGS ifdef - fs/proc: do_task_stat: move thread_group_cputime_adjusted() outside of lock_task_sighand() - pmdomain: core: Move the unused cleanup to a _sync initcall - can: j1939: Fix UAF in j1939_sk_match_filter during setsockopt(SO_J1939_FILTER) - can: j1939: prevent deadlock by changing j1939_socks_lock to rwlock - can: netlink: Fix TDCO calculation using the old data bittiming - of: property: fix typo in io-channels - docs: kernel_feat.py: fix build error for missing files - blk-wbt: Fix detection of dirty-throttled tasks - LoongArch: Fix earlycon parameter if KASAN enabled - mm: hugetlb pages should not be reserved by shmat() if SHM_NORESERVE - ceph: prevent use-after-free in encode_cap_msg() - hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed - net: stmmac: protect updates of 64-bit statistics counters - pmdomain: renesas: r8a77980-sysc: CR7 must be always on - net: ethernet: ti: cpsw_new: enable mac_managed_pm to fix mdio - s390/qeth: Fix potential loss of L3-IP@ in case of network issues - net: ethernet: ti: cpsw: enable mac_managed_pm to fix mdio - fs: relax mount_setattr() permission checks - tools/rtla: Fix Makefile compiler options for clang - tools/rtla: Fix uninitialized bucket/data->bucket_size warning - tools/rtla: Exit with EXIT_SUCCESS when help is invoked - tools/rtla: Fix clang warning about mount_point var size - tools/rtla: Replace setting prio with nice for SCHED_OTHER - tools/rtla: Remove unused sched_getattr() function - tools/rv: Fix Makefile compiler options for clang - tools/rv: Fix curr_reactor uninitialized variable - ASoC: amd: yc: Add DMI quirk for Lenovo Ideapad Pro 5 16ARP8 - ASoC: tas2781: add module parameter to tascodec_init() - ASoC: SOF: IPC3: fix message bounds on ipc ops - arm64: Subscribe Microsoft Azure Cobalt 100 to ARM Neoverse N2 errata - arm64/signal: Don't assume that TIF_SVE means we saved SVE state - mmc: sdhci-pci-o2micro: Fix a warm reboot issue that disk can't be detected by BIOS - zonefs: Improve error handling - KVM: arm64: Fix circular locking dependency - smb: Fix regression in writes when non-standard maximum write size negotiated - smb: client: set correct id, uid and cruid for multiuser automounts - thunderbolt: Fix setting the CNS bit in ROUTER_CS_5 - irqchip/gic-v3-its: Fix GICv4.1 VPE affinity update - irqchip/gic-v3-its: Restore quirk probing for ACPI-based systems - irqchip/irq-brcmstb-l2: Add write memory barrier before exit - wifi: iwlwifi: mvm: fix a crash when we run out of stations - wifi: mac80211: reload info pointer in ieee80211_tx_dequeue() - wifi: cfg80211: fix wiphy delayed work queueing - wifi: iwlwifi: fix double-free bug - nfp: flower: prevent re-adding mac index for bonded port - nfp: enable NETDEV_XDP_ACT_REDIRECT feature flag - nfp: use correct macro for LengthSelect in BAR config - crypto: algif_hash - Remove bogus SGL free on zero-length error path - crypto: ccp - Fix null pointer dereference in __sev_platform_shutdown_locked - nilfs2: fix hang in nilfs_lookup_dirty_data_buffers() - nilfs2: fix data corruption in dsync block recovery for small block sizes - ALSA: hda/realtek: add IDs for Dell dual spk platform - ALSA: hda/conexant: Add quirk for SWS JS201D - ALSA: hda/realtek: fix mute/micmute LED For HP mt645 - mmc: slot-gpio: Allow non-sleeping GPIO ro - io_uring/net: fix multishot accept overflow handling - x86/mm/ident_map: Use gbpages only where full GB page should be mapped. - KVM: x86/pmu: Fix type length error when reading pmu->fixed_ctr_ctrl - KVM: x86: make KVM_REQ_NMI request iff NMI pending for vcpu - x86/Kconfig: Transmeta Crusoe is CPU family 5, not 6 - serial: mxs-auart: fix tx - serial: core: introduce uart_port_tx_flags() - powerpc/pseries: fix accuracy of stolen time - powerpc/cputable: Add missing PPC_FEATURE_BOOKE on PPC64 Book-E - powerpc/64: Set task pt_regs->link to the LR value on scv entry - ftrace: Fix DIRECT_CALLS to use SAVE_REGS by default - serial: max310x: prevent infinite while() loop in port startup - serial: max310x: fail probe if clock crystal is unstable - serial: max310x: improve crystal stable clock detection - serial: max310x: set default value when reading clock ready bit - nfp: flower: fix hardware offload for the transfer layer port - nfp: flower: add hardware offload check for post ct entry - net: dsa: mv88e6xxx: Fix failed probe due to unsupported C45 reads - ring-buffer: Clean ring_buffer_poll_wait() error return - hv_netvsc: Fix race condition between netvsc_probe and netvsc_remove - drm/amd/display: Preserve original aspect ratio in create stream - drm/amd/display: Increase frame-larger-than for all display_mode_vba files - drm/amd/display: Fix MST Null Ptr for RV - drm/amdgpu/soc21: update VCN 4 max HEVC encoding resolution - drm/prime: Support page array >= 4GB - drm/amd/display: Add align done check - drm/msm: Wire up tlb ops - ksmbd: free aux buffer if ksmbd_iov_pin_rsp_read fails - media: rc: bpf attach/detach requires write permission - pmdomain: mediatek: fix race conditions with genpd - iio: pressure: bmp280: Add missing bmp085 to SPI id table - iio: imu: bno055: serdev requires REGMAP - iio: imu: adis: ensure proper DMA alignment - iio: adc: ad_sigma_delta: ensure proper DMA alignment - iio: accel: bma400: Fix a compilation problem - iio: commom: st_sensors: ensure proper DMA alignment - iio: core: fix memleak in iio_device_register_sysfs - iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC - staging: iio: ad5933: fix type mismatch regression - tracing/probes: Fix to search structure fields correctly - tracing/probes: Fix to set arg size and fmt after setting type from BTF - tracing/probes: Fix to show a parse error for bad type for $comm - tracing/synthetic: Fix trace_string() return value - tracing: Fix wasted memory in saved_cmdlines logic - tracing/timerlat: Move hrtimer_init to timerlat_fd open() - ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks() - ext4: fix double-free of blocks due to wrong extents moved_len - misc: fastrpc: Mark all sessions as invalid in cb_remove - binder: signal epoll threads of self-work - ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power - ALSA: hda/cs8409: Suppress vmaster control for Dolphin models - ASoC: codecs: wcd938x: handle deferred probe - ALSA: hda/realtek - Add speaker pin verbtable for Dell dual speaker platform - ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL - usb: typec: tpcm: Fix issues with power being removed during reset - modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS - linux/init: remove __memexit* annotations - um: Fix adding '-no-pie' for clang - xen-netback: properly sync TX responses - parisc: BTLB: Fix crash when setting up BTLB at CPU bringup - net: stmmac: do not clear TBS enable bit on link up/down - net: hsr: remove WARN_ONCE() in send_hsr_supervision_frame() - nfc: nci: free rx_data_reassembly skb on NCI device cleanup - kbuild: Fix changing ELF file type for output of gen_btf for big endian - ALSA: hda/realtek: Apply headset jack quirk for non-bass alc287 thinkpads - firewire: core: correct documentation of fw_csr_string() kernel API - lsm: fix the logic in security_inode_getsecctx() - lsm: fix default return value of the socket_getpeersec_*() hooks - drm/amd: Don't init MEC2 firmware when it fails to load - drm/amdgpu: Reset IH OVERFLOW_CLEAR bit - drm/virtio: Set segment size for virtio_gpu device - connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared" - Revert "drm/msm/gpu: Push gpu lock down past runpm" - Revert "drm/amd: flush any delayed gfxoff on suspend entry" - scsi: Revert "scsi: fcoe: Fix potential deadlock on &fip->ctlr_lock" - media: Revert "media: rkisp1: Drop IRQF_SHARED" - Revert "powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add" - mptcp: really cope with fastopen race - mptcp: check addrs list in userspace_pm_get_local_id - mptcp: fix rcv space initialization - mptcp: drop the push_pending field - selftests: mptcp: add mptcp_lib_kill_wait - selftests: mptcp: allow changing subtests prefix - selftests: mptcp: increase timeout to 30 min - selftests: mptcp: add missing kconfig for NF Mangle - selftests: mptcp: add missing kconfig for NF Filter in v6 - selftests: mptcp: add missing kconfig for NF Filter - mptcp: fix data re-injection from stale subflow - kallsyms: ignore ARMv4 thunks along with others - modpost: trim leading spaces when processing source files list - i2c: i801: Fix block process call transactions - i2c: pasemi: split driver into two separate modules - powerpc/kasan: Limit KASAN thread size increase to 32KB - irqchip/gic-v3-its: Handle non-coherent GICv4 redistributors - i2c: qcom-geni: Correct I2C TRE sequence - cifs: fix underflow in parse_server_interfaces() - iio: adc: ad4130: only set GPIO_CTRL if pin is unused - iio: adc: ad4130: zero-initialize clock init data - PCI: Fix active state requirement in PME polling - Revert "kobject: Remove redundant checks for whether ktype is NULL" - powerpc/kasan: Fix addr error caused by page alignment - powerpc/6xx: set High BAT Enable flag on G2_LE cores - powerpc/pseries/iommu: Fix iommu initialisation during DLPAR add - driver core: fw_devlink: Improve detection of overlapping cycles - media: ir_toy: fix a memleak in irtoy_tx - interconnect: qcom: sm8550: Enable sync_state - interconnect: qcom: sc8180x: Mark CO0 BCM keepalive - usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend - usb: core: Prevent null pointer dereference in update_port_device_state - usb: chipidea: core: handle power lost in workqueue - usb: f_mass_storage: forbid async queue when shutdown happen - USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT - usb: ucsi_acpi: Fix command completion handling - usb: ulpi: Fix debugfs directory leak - usb: ucsi: Add missing ppm_lock - iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP - HID: wacom: Do not register input devices until after hid_hw_start - HID: wacom: generic: Avoid reporting a serial of '0' to userspace - HID: i2c-hid-of: fix NULL-deref on failed power up - HID: bpf: actually free hdev memory after attaching a HID-BPF program - HID: bpf: remove double fdget() - ALSA: hda/realtek: Enable Mute LED on HP Laptop 14-fq0xxx - ALSA: hda/realtek: Fix the external mic not being recognised for Acer Swift 1 SF114-32 - parisc: Prevent hung tasks when printing inventory on serial console - ASoC: amd: yc: Add DMI quirk for MSI Bravo 15 C7VF - dm-crypt, dm-verity: disable tasklets - nouveau: offload fence uevents work to workqueue - scsi: storvsc: Fix ring buffer size calculation - selftests: mm: fix map_hugetlb failure on 64K page size systems - selftests/mm: Update va_high_addr_switch.sh to check CPU for la57 flag - mm/writeback: fix possible divide-by-zero in wb_dirty_limits(), again - selftests/mm: switch to bash from sh - tracing/trigger: Fix to return error if failed to alloc snapshot - scs: add CONFIG_MMU dependency for vfree_atomic() - selftests/mm: ksm_tests should only MADV_HUGEPAGE valid memory - userfaultfd: fix mmap_changing checking in mfill_atomic_hugetlb - i40e: Fix waiting for queues of all VSIs to be disabled - i40e: Do not allow untrusted VF to remove administratively set MAC - mm/memory: Use exception ip to search exception tables - ptrace: Introduce exception_ip arch hook - MIPS: Add 'memory' clobber to csum_ipv6_magic() inline assembler - nouveau/svm: fix kvcalloc() argument order - net: sysfs: Fix /sys/class/net/ path for statistics - ASoC: rt5645: Fix deadlock in rt5645_jack_detect_work() - spi: ppc4xx: Drop write-only variable - net: tls: fix returned read length with async decrypt - net: tls: fix use-after-free with partial reads and async decrypt - net: tls: handle backlogging of crypto requests - tls: fix race between tx work scheduling and socket close - tls: fix race between async notify and socket close - net: tls: factor out tls_*crypt_async_wait() - tls: extract context alloc/initialization out of tls_set_sw_offload - lan966x: Fix crash when adding interface under a lag - net: openvswitch: limit the number of recursions from action sets - selftests: forwarding: Fix bridge locked port test flakiness - selftests: forwarding: Suppress grep warnings - selftests: bridge_mdb: Use MDB get instead of dump - selftests: forwarding: Fix bridge MDB test flakiness - selftests: forwarding: Fix layer 2 miss test flakiness - selftests: net: Fix bridge backup port test flakiness - selftests/net: convert test_bridge_backup_port.sh to run it in unique namespace - perf: CXL: fix mismatched cpmu event opcode - ALSA: hda/cs35l56: select intended config FW_CS_DSP - of: property: Improve finding the supplier of a remote-endpoint property - of: property: Improve finding the consumer of a remote-endpoint property - devlink: Fix command annotation documentation - bonding: do not report NETDEV_XDP_ACT_XSK_ZEROCOPY - net/handshake: Fix handshake_req_destroy_test1 - ASoC: SOF: ipc3-topology: Fix pipeline tear down logic - wifi: iwlwifi: uninitialized variable in iwl_acpi_get_ppag_table() - wifi: iwlwifi: Fix some error codes - KVM: selftests: Fix a semaphore imbalance in the dirty ring logging test - spi: imx: fix the burst length at DMA mode and CPU mode - drm/msm/gem: Fix double resv lock aquire - of: unittest: Fix compile in the non-dynamic case - KVM: selftests: Avoid infinite loop in hyperv_features when invtsc is missing - KVM: selftests: Delete superfluous, unused "stage" variable in AMX test - selftests/landlock: Fix fs_test build with old libc - driver core: Fix device_link_flag_is_sync_state_only() - btrfs: don't drop extent_map for free space inode on write error - btrfs: reject encoded write if inode has nodatasum flag set - btrfs: don't reserve space for checksums when writing to nocow files - btrfs: send: return EOPNOTSUPP on unknown flags - btrfs: forbid deleting live subvol qgroup - btrfs: do not ASSERT() if the newly created subvolume already got read - btrfs: forbid creating subvol qgroups - btrfs: do not delete unused block group if it may be used soon - btrfs: add and use helper to check if block group is used - update workarounds for gcc "asm goto" issue - work around gcc bugs with 'asm goto' with outputs - netfilter: nft_set_rbtree: skip end interval element from gc - net: stmmac: xgmac: fix a typo of register name in DPP safety handling - ALSA: usb-audio: Sort quirk table entries - net: stmmac: xgmac: use #define for string constants - io_uring/net: limit inline multishot retries - io_uring/poll: add requeue return code from poll multishot handling - io_uring/net: un-indent mshot retry path in io_recv_finish() - io_uring/poll: move poll execution helpers higher up - io_uring/net: fix sr->len for IORING_OP_RECV with MSG_WAITALL and buffers - media: solo6x10: replace max(a, min(b, c)) by clamp(b, a, c) - Revert "ASoC: amd: Add new dmi entries for acp5x platform" - Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID - Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU - hrtimer: Report offline hrtimer enqueue - usb: dwc3: pci: add support for the Intel Arrow Lake-H - xhci: handle isoc Babble and Buffer Overrun events properly - xhci: process isoc TD properly when there was a transaction error mid TD. - usb: host: xhci-plat: Add support for XHCI_SG_TRB_CACHE_SIZE_QUIRK - usb: dwc3: host: Set XHCI_SG_TRB_CACHE_SIZE_QUIRK - x86/lib: Revert to _ASM_EXTABLE_UA() for {get,put}_user() fixups - Revert "usb: typec: tcpm: fix cc role at port reset" - USB: serial: cp210x: add ID for IMST iM871A-USB - USB: serial: option: add Fibocom FM101-GL variant - USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e - ALSA: usb-audio: add quirk for RODE NT-USB+ - ALSA: usb-audio: Add a quirk for Yamaha YIT-W12TX transmitter - ALSA: usb-audio: Add delay quirk for MOTU M Series 2nd revision - blk-iocost: Fix an UBSAN shift-out-of-bounds warning - riscv: declare overflow_stack as exported from traps.c - riscv: Fix arch_hugetlb_migration_supported() for NAPOT - libceph: just wait for more data to be available on the socket - libceph: rename read_sparse_msg_*() to read_partial_sparse_msg_*() - riscv: Flush the tlb when a page directory is freed - scsi: core: Move scsi_host_busy() out of host lock if it is for per-command - riscv: Fix hugetlb_mask_last_page() when NAPOT is enabled - riscv: Fix set_huge_pte_at() for NAPOT mapping - riscv: mm: execute local TLB flush after populating vmemmap - mm: Introduce flush_cache_vmap_early() - riscv: Improve flush_tlb_kernel_range() - riscv: Make __flush_tlb_range() loop over pte instead of flushing the whole tlb - riscv: Improve tlb_flush() - fs/ntfs3: Fix an NULL dereference bug - netfilter: nft_set_pipapo: remove scratch_aligned pointer - netfilter: nft_set_pipapo: add helper to release pcpu scratch area - netfilter: nft_set_pipapo: store index in scratch maps - netfilter: nft_ct: reject direction for ct id - drm/amd/display: Implement bounds check for stream encoder creation in DCN301 - drm/amd/display: Add NULL test for 'timing generator' in 'dcn21_set_pipe()' - drm/amd/display: Fix 'panel_cntl' could be null in 'dcn21_set_backlight_level()' - netfilter: nft_compat: restrict match/target protocol to u16 - netfilter: nft_compat: reject unused compat flag - netfilter: nft_compat: narrow down revision to unsigned 8-bits - selftests: cmsg_ipv6: repeat the exact packet - ppp_async: limit MRU to 64K - af_unix: Call kfree_skb() for dead unix_(sk)->oob_skb in GC. - tipc: Check the bearer type before calling tipc_udp_nl_bearer_add() - selftests: net: let big_tcp test cope with slow env - rxrpc: Fix counting of new acks and nacks - rxrpc: Fix response to PING RESPONSE ACKs to a dead call - rxrpc: Fix delayed ACKs to not set the reference serial number - rxrpc: Fix generation of serial numbers to skip zero - drm/i915/gvt: Fix uninitialized variable in handle_mmio() - inet: read sk->sk_family once in inet_recv_error() - hwmon: (coretemp) Fix bogus core_id to attr name mapping - hwmon: (coretemp) Fix out-of-bounds memory access - hwmon: (aspeed-pwm-tacho) mutex for tach reading - octeontx2-pf: Fix a memleak otx2_sq_init - atm: idt77252: fix a memleak in open_card_ubr0 - tunnels: fix out of bounds access when building IPv6 PMTU error - tsnep: Fix mapping for zero copy XDP_TX action - selftests: net: avoid just another constant wait - selftests: net: fix tcp listener handling in pmtu.sh - selftests/net: change shebang to bash to support "source" - selftests/net: convert pmtu.sh to run it in unique namespace - selftests/net: convert unicast_extensions.sh to run it in unique namespace - selftests: net: cut more slack for gro fwd tests. - net: atlantic: Fix DMA mapping for PTP hwts ring - netdevsim: avoid potential loop in nsim_dev_trap_report_work() - wifi: brcmfmac: Adjust n_channels usage for __counted_by - wifi: iwlwifi: exit eSR only after the FW does - wifi: mac80211: fix waiting for beacons logic - wifi: mac80211: fix RCU use in TDLS fast-xmit - net: stmmac: xgmac: fix handling of DPP safety error for DMA channels - x86/efistub: Avoid placing the kernel below LOAD_PHYSICAL_ADDR - x86/efistub: Give up if memory attribute protocol returns an error - drm/msm/dpu: check for valid hw_pp in dpu_encoder_helper_phys_cleanup - drm/msm/dp: return correct Colorimetry for DP_TEST_DYNAMIC_RANGE_CEA case - drm/msms/dp: fixed link clock divider bits be over written in BPC unknown case - xfs: respect the stable writes flag on the RT device - xfs: clean up FS_XFLAG_REALTIME handling in xfs_ioctl_setattr_xflags - xfs: dquot recovery does not validate the recovered dquot - xfs: clean up dqblk extraction - xfs: inode recovery does not validate the recovered inode - xfs: fix again select in kconfig XFS_ONLINE_SCRUB_STATS - xfs: fix internal error from AGFL exhaustion - xfs: up(ic_sema) if flushing data device fails - xfs: only remap the written blocks in xfs_reflink_end_cow_extent - xfs: allow read IO and FICLONE to run concurrently - xfs: handle nimaps=0 from xfs_bmapi_write in xfs_alloc_file_space - xfs: introduce protection for drop nlink - xfs: make sure maxlen is still congruent with prod when rounding down - xfs: fix units conversion error in xfs_bmap_del_extent_delay - xfs: rt stubs should return negative errnos when rt disabled - xfs: prevent rt growfs when quota is enabled - xfs: hoist freeing of rt data fork extent mappings - xfs: bump max fsgeom struct version - MAINTAINERS: add Catherine as xfs maintainer for 6.6.y - rust: upgrade to Rust 1.73.0 - rust: print: use explicit link in documentation - rust: task: remove redundant explicit link - rust: upgrade to Rust 1.72.1 - rust: arc: add explicit `drop()` around `Box::from_raw()` - cifs: failure to add channel on iface should bump up weight - cifs: avoid redundant calls to disable multichannel - phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP - dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV - perf evlist: Fix evlist__new_default() for > 1 core PMU - phy: renesas: rcar-gen3-usb2: Fix returning wrong error code - dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA - dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA - dmaengine: ti: k3-udma: Report short packet errors - dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools - pds_core: Prevent health thread from running during reset/remove - drm/amdgpu: Fix missing error code in 'gmc_v6/7/8/9_0_hw_init()' - ASoC: codecs: wsa883x: fix PA volume control - ASoC: codecs: lpass-wsa-macro: fix compander volume hack - ASoC: codecs: wcd938x: fix headphones volume controls - ASoC: qcom: sc8280xp: limit speaker volumes - bonding: remove print in bond_verify_device_path - selftests/bpf: Remove flaky test_btf_id test - LoongArch/smp: Call rcutree_report_cpu_starting() at tlb_init() - drm/msm/dsi: Enable runtime PM - Revert "drm/amd/display: Disable PSR-SU on Parade 0803 TCON again" - mm, kmsan: fix infinite recursion due to RCU critical section - arm64: irq: set the correct node for shadow call stack - selftests: net: enable some more knobs - selftests: net: add missing config for NF_TARGET_TTL - selftests: bonding: Check initial state - selftests: team: Add missing config options - net: sysfs: Fix /sys/class/net/ path - octeontx2-pf: Remove xdp queues on program detach - selftests: net: don't access /dev/stdout in pmtu.sh - selftests: net: fix available tunnels detection - selftests: net: add missing config for pmtu.sh tests - selftests: net: add missing config for nftables-backed iptables - pds_core: Rework teardown/setup flow to be more common - pds_core: Clear BARs on reset - pds_core: Prevent race issues involving the adminq - pds_core: implement pci reset handlers - pds_core: Use struct pdsc for the pdsc_adminq_isr private data - pds_core: Cancel AQ work on teardown - af_unix: fix lockdep positive in sk_diag_dump_icons() - net: ipv4: fix a memleak in ip_setup_cork - netfilter: nft_ct: sanitize layer 3 and 4 protocol number in custom expectations - netfilter: nf_log: replace BUG_ON by WARN_ON_ONCE when putting logger - netfilter: nf_tables: restrict tunnel object to NFPROTO_NETDEV - netfilter: conntrack: correct window scaling with retransmitted SYN - selftests: net: add missing config for GENEVE - devlink: Fix referring to hw_addr attribute during state validation - bridge: mcast: fix disabled snooping after long uptime - selftests: net: Add missing matchall classifier - llc: call sock_orphan() at release time - ipv6: Ensure natural alignment of const ipv6 loopback and router addresses - net: dsa: qca8k: fix illegal usage of GPIO - ixgbe: Fix an error handling path in ixgbe_read_iosf_sb_reg_x550() - ixgbe: Refactor overtemp event handling - ixgbe: Refactor returning internal error codes - e1000e: correct maximum frequency adjustment values - tcp: add sanity checks to rx zerocopy - net: lan966x: Fix port configuration when using SGMII interface - ipmr: fix kernel panic when forwarding mcast packets - net: dsa: mt7530: fix 10M/100M speed on MT7988 switch - ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv() - selftests: net: give more time for GRO aggregation - selftests: net: add missing required classifier - selftests: net: add missing config for big tcp tests - net: phy: mediatek-ge-soc: sync driver with MediaTek SDK - net: ethernet: mtk_eth_soc: set DMA coherent mask to get PPE working - gve: Fix skb truesize underestimation - selftests: net: explicitly wait for listener ready - selftests: net: remove dependency on ebpf tests - HID: hidraw: fix a problem of memory leak in hidraw_release() - scsi: core: Move scsi_host_busy() out of host lock for waking up EH handler - regulator: ti-abb: don't use devm_platform_ioremap_resource_byname for shared interrupt register - kunit: run test suites only after module initialization completes - scsi: isci: Fix an error code problem in isci_io_request_build() - riscv: Fix build error on rv32 + XIP - drm/amdkfd: only flush mes process context if mes support is there - drm: using mul_u32_u32() requires linux/math64.h - wifi: cfg80211: fix RCU dereference in __cfg80211_bss_update - perf: Fix the nr_addr_filters fix - i2c: rk3x: Adjust mask/value offset for i2c2 on rv1126 - drm/amdkfd: Fix 'node' NULL check in 'svm_range_get_range_boundaries()' - drm/amdgpu: Release 'adev->pm.fw' before return in 'amdgpu_device_need_post()' - drm/amdgpu: Fix with right return code '-EIO' in 'amdgpu_gmc_vram_checking()' - drm/amd/powerplay: Fix kzalloc parameter 'ATOM_Tonga_PPM_Table' in 'get_platform_power_management_table()' - drm/amdgpu: fix avg vs input power reporting on smu7 - ceph: fix invalid pointer access if get_quota_realm return ERR_PTR - ceph: reinitialize mds feature bit even when session in open - virtio_net: Fix "‘%d’ directive writing between 1 and 11 bytes into a region of size 10" warnings - drm/amdkfd: Fix lock dependency warning with srcu - drm/amdkfd: Fix lock dependency warning - libsubcmd: Fix memory leak in uniq() - misc: lis3lv02d_i2c: Add missing setting of the reg_ctrl callback - usb: xhci-plat: fix usb disconnect issue after s4 - 9p: Fix initialisation of netfs_inode for 9p - PCI/AER: Decode Requester ID when no error info found - PCI: Fix 64GT/s effective data rate calculation - spmi: mediatek: Fix UAF on device remove - fs/kernfs/dir: obey S_ISGID - tty: allow TIOCSLCKTRMIOS with CAP_CHECKPOINT_RESTORE - selftests/sgx: Fix linker script asserts - usb: hub: Add quirk to decrease IN-ep poll interval for Microchip USB491x hub - usb: hub: Replace hardcoded quirk value with BIT() macro - extcon: fix possible name leak in extcon_dev_register() - perf cs-etm: Bump minimum OpenCSD version to ensure a bugfix is present - PCI: switchtec: Fix stdev_release() crash after surprise hot remove - PCI: Only override AMD USB controller if required - mailbox: arm_mhuv2: Fix a bug for mhuv2_sender_interrupt - mfd: ti_am335x_tscadc: Fix TI SoC dependencies - xen/gntdev: Fix the abuse of underlying struct page in DMA-buf import - riscv: Make XIP bootable again - i3c: master: cdns: Update maximum prescaler value for i2c clock - um: time-travel: fix time corruption - um: net: Fix return type of uml_net_start_xmit() - um: Don't use vfprintf() for os_info() - um: Fix naming clash between UML and scheduler - leds: trigger: panic: Don't register panic notifier if creating the trigger failed - pinctrl: baytrail: Fix types of config value in byt_pin_config_set() - ALSA: hda/conexant: Fix headset auto detect fail in cx8070 and SN6140 - drm/amdgpu: apply the RV2 system aperture fix to RN/CZN as well - drm/amdkfd: Fix iterator used outside loop in 'kfd_add_peer_prop()' - drm/amdgpu: Drop 'fence' check in 'to_amdgpu_amdkfd_fence()' - drm/amdgpu: Fix '*fw' from request_firmware() not released in 'amdgpu_ucode_request()' - Re-revert "drm/amd/display: Enable Replay for static screen use cases" - drm/amdgpu: Let KFD sync with VM fences - drm/amd/display: Fix minor issues in BW Allocation Phase2 - drm/amdgpu: Fix ecc irq enable/disable unpaired - clk: imx: clk-imx8qxp: fix LVDS bypass, pixel and phy clocks - drm/amd/display: Only clear symclk otg flag for HDMI - drm/amd/display: make flip_timestamp_in_us a 64-bit variable - accel/habanalabs: add support for Gaudi2C device - watchdog: it87_wdt: Keep WDTCTRL bit 3 unmodified for IT8784/IT8786 - watchdog: starfive: add lock annotations to fix context imbalances - clk: mmp: pxa168: Fix memory leak in pxa168_clk_init() - clk: hi3620: Fix memory leak in hi3620_mmc_clk_init() - drm/amdgpu: fix ftrace event amdgpu_bo_move always move on same heap - drm/msm/dpu: fix writeback programming for YUV cases - drm/msm/dpu: Ratelimit framedone timeout msgs - drm/msm/dpu: enable writeback on SM8450 - drm/msm/dpu: enable writeback on SM8350 - drm/amdkfd: fix mes set shader debugger process management - drm/amd/display: Force p-state disallow if leaving no plane config - drm/amd/display: For prefetch mode > 0, extend prefetch if possible - media: i2c: imx335: Fix hblank min/max values - media: ddbridge: fix an error code problem in ddb_probe - media: amphion: remove mutext lock in condition of wait_event - IB/ipoib: Fix mcast list locking - drm/exynos: Call drm_atomic_helper_shutdown() at shutdown/unbind time - hwmon: (hp-wmi-sensors) Fix failure to load on EliteDesk 800 G6 - hwmon: (nct6775) Fix fan speed set failure in automatic mode - media: rkisp1: resizer: Stop manual allocation of v4l2_subdev_state - media: rkisp1: Fix IRQ disable race issue - media: rkisp1: Store IRQ lines - media: rkisp1: Fix IRQ handler return values - media: rkisp1: Drop IRQF_SHARED - media: uvcvideo: Fix power line control for SunplusIT camera - media: uvcvideo: Fix power line control for a Chicony camera - drm/msm/dp: Add DisplayPort controller for SM8650 - ALSA: hda: intel-dspcfg: add filters for ARL-S and ARL - ALSA: hda: Intel: add HDA_ARL PCI ID support - PCI: add INTEL_HDA_ARL to pci_ids.h - media: rockchip: rga: fix swizzling for RGB formats - media: stk1160: Fixed high volume of stk1160_dbg messages - drm/mipi-dsi: Fix detach call without attach - drm/framebuffer: Fix use of uninitialized variable - drm/drm_file: fix use of uninitialized variable - drm/amd/display: Fix MST PBN/X.Y value calculations - ASoC: amd: Add new dmi entries for acp5x platform - f2fs: fix write pointers on zoned device after roll forward - drm/amd/display: Fix tiled display misalignment - drm/bridge: anx7625: Fix Set HPD irq detect window to 2ms - drm/panel-edp: Add override_edid_mode quirk for generic edp - RDMA/IPoIB: Fix error code return in ipoib_mcast_join - reiserfs: Avoid touching renamed directory if parent does not change - fast_dput(): handle underflows gracefully - ASoC: doc: Fix undefined SND_SOC_DAPM_NOPM argument - ALSA: hda: Refer to correct stream index at loops - f2fs: fix to check return value of f2fs_reserve_new_block() - net: dsa: qca8k: put MDIO bus OF node on qca8k_mdio_register() failure - net: kcm: fix direct access to bv_len - octeontx2-af: Fix max NPC MCAM entry check while validating ref_entry - i40e: Fix VF disable behavior to block all traffic - arm64: dts: sprd: Change UMS512 idle-state nodename to match bindings - arm64: dts: sprd: Add clock reference for pll2 on UMS512 - bridge: cfm: fix enum typo in br_cc_ccm_tx_parse - net/smc: disable SEID on non-s390 archs where virtual ISM may be used - Bluetooth: L2CAP: Fix possible multiple reject send - Bluetooth: hci_sync: fix BR/EDR wakeup bug - Bluetooth: ISO: Avoid creating child socket if PA sync is terminating - Bluetooth: qca: Set both WIDEBAND_SPEECH and LE_STATES quirks for QCA2066 - wifi: cfg80211: free beacon_ies when overridden from hidden BSS - wifi: rtlwifi: rtl8723{be,ae}: using calculate_bit_shift() - libbpf: Fix NULL pointer dereference in bpf_object__collect_prog_relos - wifi: rtw89: coex: Fix wrong Wi-Fi role info and FDDT parameter members - wifi: rtl8xxxu: Add additional USB IDs for RTL8192EU devices - arm64: dts: amlogic: fix format for s4 uart node - ice: fix pre-shifted bit usage - arm64: dts: qcom: Fix coresight warnings in in-ports and out-ports - arm64: dts: qcom: msm8998: Fix 'out-ports' is a required property - arm64: dts: qcom: msm8996: Fix 'in-ports' is a required property - block: prevent an integer overflow in bvec_try_merge_hw_page - net: dsa: mv88e6xxx: Fix mv88e6352_serdes_get_stats error path - net: atlantic: eliminate double free in error handling logic - ice: fix ICE_AQ_VSI_Q_OPT_RSS_* register values - scsi: hisi_sas: Set .phy_attached before notifing phyup event HISI_PHYE_PHY_UP_PM - scsi: lpfc: Move determination of vmid_flag after VMID reinitialization completes - scsi: lpfc: Reinitialize an NPIV's VMID data structures after FDISC - ARM: dts: imx23/28: Fix the DMA controller node name - ARM: dts: imx23-sansa: Use preferred i2c-gpios properties - ARM: dts: imx27-apf27dev: Fix LED name - ARM: dts: imx25/27: Pass timing0 - ARM: dts: imx25: Fix the iim compatible string - selftests/bpf: fix compiler warnings in RELEASE=1 mode - arm64: zynqmp: Fix clock node name in kv260 cards - arm64: zynqmp: Move fixed clock to / for kv260 - block/rnbd-srv: Check for unlikely string overflow - ionic: bypass firmware cmds when stuck in reset - ionic: pass opcode to devcmd_wait - net: phy: at803x: fix passing the wrong reference for config_intr - ARM: dts: imx1: Fix sram node - ARM: dts: imx27: Fix sram node - ARM: dts: imx: Use flash@0,0 pattern - ARM: dts: imx25/27-eukrea: Fix RTC node name - ARM: dts: rockchip: fix rk3036 hdmi ports node - wifi: ath12k: fix the issue that the multicast/broadcast indicator is not read correctly for WCN7850 - bpf: Set uattr->batch.count as zero before batched update or deletion - wifi: mt76: mt7996: add PCI IDs for mt7992 - wifi: mt76: connac: fix EHT phy mode check - arm64: dts: qcom: sm8350: Fix remoteproc interrupt type - arm64: dts: qcom: sm8450: fix soundwire controllers node name - arm64: dts: qcom: sm8550: fix soundwire controllers node name - net: mvmdio: Avoid excessive sleeps in polled mode - minmax: relax check to allow comparison between unsigned arguments and signed constants - minmax: allow comparisons of 'int' against 'unsigned char/short' - minmax: fix indentation of __cmp_once() and __clamp_once() - minmax: allow min()/max()/clamp() if the arguments have the same signedness. - minmax: add umin(a, b) and umax(a, b) - minmax: fix header inclusions - minmax: deduplicate __unconst_integer_typeof() - scsi: libfc: Fix up timeout error in fc_fcp_rec_error() - scsi: libfc: Don't schedule abort twice - wifi: ath12k: fix and enable AP mode for WCN7850 - bpf: Set need_defer as false when clearing fd array during map free - bpf: Check rcu_read_lock_trace_held() before calling bpf map helpers - wifi: rtw89: fix misbehavior of TX beacon in concurrent mode - wifi: ath11k: fix race due to setting ATH11K_FLAG_EXT_IRQ_ENABLED too early - wifi: ath9k: Fix potential array-index-out-of-bounds read in ath9k_htc_txstatus() - bpf: Fix a few selftest failures due to llvm18 change - ARM: dts: imx7s: Fix nand-controller #size-cells - ARM: dts: imx7s: Fix lcdif compatible - ARM: dts: imx7d: Fix coresight funnel ports - scsi: arcmsr: Support new PCI device IDs 1883 and 1886 - scsi: mpi3mr: Add PCI checks where SAS5116 diverges from SAS4116 - scsi: mpi3mr: Add support for SAS5116 PCI IDs - net: usb: ax88179_178a: avoid two consecutive device resets - bonding: return -ENOMEM instead of BUG in alb_upper_dev_walk - PCI: Add no PM reset quirk for NVIDIA Spectrum devices - net: phy: micrel: fix ts_info value in case of no phc - ARM: dts: samsung: s5pv210: fix camera unit addresses/ranges - ARM: dts: samsung: exynos4: fix camera unit addresses/ranges - scsi: lpfc: Fix possible file string name overflow when updating firmware - soc: xilinx: fix unhandled SGI warning message - soc: xilinx: Fix for call trace due to the usage of smp_processor_id() - ARM: dts: qcom: msm8660: fix PMIC node labels - ARM: dts: qcom: mdm9615: fix PMIC node labels - ARM: dts: qcom: strip prefix from PMIC files - selftests/bpf: Fix issues in setup_classid_environment() - wifi: rt2x00: correct wrong BBP register in RxDCOC calibration - selftests/bpf: Fix pyperf180 compilation failure with clang18 - libbpf: Fix potential uninitialized tail padding with LIBBPF_OPTS_RESET - selftests/bpf: satisfy compiler by having explicit return in btf test - selftests/bpf: fix RELEASE=1 build for tc_opts - wifi: rt2x00: restart beacon queue when hardware reset - wifi: rtw89: fix timeout calculation in rtw89_roc_end() - ext4: avoid online resizing failures due to oversized flex bg - ext4: remove unnecessary check from alloc_flex_gd() - ext4: unify the type of flexbg_size to unsigned int - ext4: fix inconsistent between segment fstrim and full fstrim - ecryptfs: Reject casefold directory inodes - smb: client: fix hardlinking of reparse points - smb: client: fix renaming of reparse points - ext4: treat end of range as exclusive in ext4_zero_range() - SUNRPC: Fix a suspicious RCU usage warning - sysctl: Fix out of bounds access for empty sysctl registers - KVM: s390: fix setting of fpc register - s390/ptrace: handle setting of fpc register correctly - s390/vfio-ap: fix sysfs status attribute for AP queue devices - arch: consolidate arch_irq_work_raise prototypes - s390/boot: always align vmalloc area on segment boundary - jfs: fix array-index-out-of-bounds in diNewExt - rxrpc_find_service_conn_rcu: fix the usage of read_seqbegin_or_lock() - afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*() - afs: fix the usage of read_seqbegin_or_lock() in afs_lookup_volume_rcu() - crypto: stm32/crc32 - fix parsing list of devices - erofs: fix ztailpacking for subpage compressed blocks - crypto: octeontx2 - Fix cptvf driver cleanup - crypto: starfive - Fix dev_err_probe return error - erofs: fix up compacted indexes for block size < 4096 - pstore/ram: Fix crash when setting number of cpus to an odd number - crypto: p10-aes-gcm - Avoid -Wstringop-overflow warnings - hwrng: starfive - Fix dev_err_probe return error - jfs: fix uaf in jfs_evict_inode - jfs: fix array-index-out-of-bounds in dbAdjTree - jfs: fix slab-out-of-bounds Read in dtSearch - UBSAN: array-index-out-of-bounds in dtSplitRoot - FS:JFS:UBSAN:array-index-out-of-bounds in dbAdjTree - thermal: core: Fix thermal zone suspend-resume synchronization - ACPI: APEI: set memory failure flags as MF_ACTION_REQUIRED on synchronous events - PM / devfreq: Synchronize devfreq_monitor_[start/stop] - kunit: tool: fix parsing of test attributes - ACPI: NUMA: Fix the logic of getting the fake_pxm value - selftests/nolibc: fix testcase status alignment - ACPI: extlog: fix NULL pointer dereference check - PNP: ACPI: fix fortify warning - ACPI: video: Add quirk for the Colorful X15 AT 23 Laptop - audit: Send netlink ACK before setting connection in auditd_set - regulator: core: Only increment use_count when enable_count changes - debugobjects: Stop accessing objects after releasing hash bucket lock - perf/core: Fix narrow startup race when creating the perf nr_addr_filters sysfs file - x86/mce: Mark fatal MCE's page as poison to avoid panic in the kdump kernel - powerpc: pmd_move_must_withdraw() is only needed for CONFIG_TRANSPARENT_HUGEPAGE - x86/boot: Ignore NMIs during very early boot - powerpc/64s: Fix CONFIG_NUMA=n build due to create_section_mapping() - powerpc/mm: Fix build failures due to arch_reserved_kernel_pages() - powerpc: Fix build error due to is_valid_bugaddr() - drivers/perf: pmuv3: don't expose SW_INCR event in sysfs - arm64: irq: set the correct node for VMAP stack - powerpc/mm: Fix null-pointer dereference in pgtable_cache_add - asm-generic: make sparse happy with odd-sized put_unaligned_*() - Documentation/sphinx: fix Python string escapes - thermal: trip: Drop lockdep assertion from thermal_zone_trip_id() - serial: core: fix kernel-doc for uart_port_unlock_irqrestore() - x86/entry/ia32: Ensure s32 is sign extended to s64 - tick/sched: Preserve number of idle sleeps across CPU hotplug events - clocksource: Skip watchdog check for large watchdog intervals - genirq: Initialize resend_node hlist for all interrupt descriptors - mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan - cxl/region:Fix overflow issue in alloc_hpa() - drm: bridge: samsung-dsim: Don't use FORCE_STOP_STATE - MIPS: lantiq: register smp_ops on non-smp platforms - spi: fix finalize message on error return - cifs: fix stray unlock in cifs_chan_skip_or_disable - spi: spi-cadence: Reverse the order of interleaved write and read operations - spi: bcm-qspi: fix SFDP BFPT read by usig mspi read - cpufreq/amd-pstate: Fix setting scaling max/min freq values - drm/bridge: anx7625: Ensure bridge is suspended in disable() - block: Move checking GENHD_FL_NO_PART to bdev_add_partition() - spi: intel-pci: Remove Meteor Lake-S SoC PCI ID from the list - ARM: dts: exynos4212-tab3: add samsung,invert-vclk flag to fimd - gpio: eic-sprd: Clear interrupt after set the interrupt type - firmware: arm_scmi: Use xa_insert() when saving raw queues - firmware: arm_scmi: Use xa_insert() to store opps - drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume - drm/exynos: fix accidental on-stack copy of exynos_drm_plane - memblock: fix crash when reserved memory is not added to memory - drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case - drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable() - drm/bridge: sii902x: Fix audio codec unregistration - drm/bridge: sii902x: Fix probing race issue - drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02 - drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33] - drm/bridge: parade-ps8640: Wait for HPD when doing an AUX transfer - drm/amdgpu/gfx11: set UNORD_DISPATCH in compute MQDs - drm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs - drm/panel-edp: drm/panel-edp: Fix AUO B116XTN02 name - drm/panel-edp: drm/panel-edp: Fix AUO B116XAK01 name and timing - drm/panel-edp: Add AUO B116XTN02, BOE NT116WHM-N21,836X2, NV116WHM-N49 V8.0 - drm/i915/psr: Only allow PSR in LPSP mode on HSW non-ULT - drm/i915/lnl: Remove watchdog timers for PSR - btrfs: zoned: optimize hint byte for zoned allocator - btrfs: zoned: factor out prepare_allocation_zoned() - serial: sc16is7xx: fix unconditional activation of THRI interrupt - serial: sc16is7xx: Use port lock wrappers - serial: core: Provide port lock wrappers - mm: migrate: fix getting incorrect page mapping during page migration - mm: migrate: record the mlocked page status to remove unnecessary lru drain - thermal: gov_power_allocator: avoid inability to reset a cdev - thermal: core: Store trip pointer in struct thermal_instance - thermal: trip: Drop redundant trips check from for_each_thermal_trip() - media: i2c: imx290: Properly encode registers as little-endian - media: v4l2-cci: Add support for little-endian encoded registers - media: v4l: cci: Add macros to obtain register width and address - media: v4l: cci: Include linux/bits.h - pipe: wakeup wr_wait after setting max_usage - fs/pipe: move check to pipe_has_watch_queue() - thermal: intel: hfi: Add syscore callbacks for system-wide PM - thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline - thermal: intel: hfi: Refactor enabling code into helper functions - net/bpf: Avoid unused "sin_addr_len" warning when CONFIG_CGROUP_BPF is not set - drm/amd/display: Fix uninitialized variable usage in core_link_ 'read_dpcd() & write_dpcd()' functions - drm/amdgpu/pm: Fix the power source flag error - drm/amd/display: Fix late derefrence 'dsc' check in 'link_set_dsc_pps_packet()' - drm/amd/display: Align the returned error code with legacy DP - drm/amd/display: Port DENTIST hang and TDR fixes to OTG disable W/A - drm/amd/display: Fix variable deferencing before NULL check in edp_setup_replay() - drm/amdgpu: correct the cu count for gfx v11 - drm/bridge: nxp-ptn3460: simplify some error checking - Revert "drm/amd/display: fix bandwidth validation failure on DCN 2.1" - drm/amd/display: Disable PSR-SU on Parade 0803 TCON again - drm/amd/display: fix bandwidth validation failure on DCN 2.1 - drm: Allow drivers to indicate the damage helpers to ignore damage clips - drm/virtio: Disable damage clipping if FB changed since last page-flip - drm: Disable the cursor plane on atomic contexts with virtualized drivers - drm/tidss: Fix atomic_flush check - drm: Fix TODO list mentioning non-KMS drivers - drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking - drm: Don't unref the same fb many times by mistake due to deadlock handling - Revert "drm/i915/dsi: Do display on sequence later on icl+" - cpufreq: intel_pstate: Refine computation of P-state for given frequency - gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04 - xfs: read only mounts with fsopen mount API are busted - drm/amdgpu: Fix the null pointer when load rlc firmware - Revert "drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync" - firmware: arm_scmi: Check mailbox/SMT channel for consistency - ksmbd: fix global oob in ksmbd_nl_policy - platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe - platform/x86: intel-uncore-freq: Fix types in sysfs callbacks - netfilter: nf_tables: reject QUEUE/DROP verdict parameters - netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain - hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes - nfsd: fix RELEASE_LOCKOWNER - wifi: iwlwifi: fix a memory corruption - exec: Fix error handling in begin_new_exec() - rbd: don't move requests to the running list on errors - btrfs: don't abort filesystem when attempting to snapshot deleted subvolume - btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args - btrfs: don't warn if discard range is not aligned to sector - btrfs: tree-checker: fix inline ref size in error messages - btrfs: ref-verify: free ref cache before clearing mount opt - btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted - btrfs: zoned: fix lock ordering in btrfs_zone_activate() - tsnep: Fix XDP_RING_NEED_WAKEUP for empty fill ring - tsnep: Remove FCS for XDP data path - net: fec: fix the unhandled context fault from smmu - selftests: bonding: do not test arp/ns target with mode balance-alb/tlb - fjes: fix memleaks in fjes_hw_setup - i40e: update xdp_rxq_info::frag_size for ZC enabled Rx queue - i40e: set xdp_rxq_info::frag_size - xdp: reflect tail increase for MEM_TYPE_XSK_BUFF_POOL - ice: update xdp_rxq_info::frag_size for ZC enabled Rx queue - intel: xsk: initialize skb_frag_t::bv_offset in ZC drivers - ice: remove redundant xdp_rxq_info registration - i40e: handle multi-buffer packets that are shrunk by xdp prog - ice: work on pre-XDP prog frag count - xsk: fix usage of multi-buffer BPF helpers for ZC XDP - bpf: Add bpf_sock_addr_set_sun_path() to allow writing unix sockaddr from bpf - bpf: Propagate modified uaddrlen from cgroup sockaddr programs - xsk: make xsk_buff_pool responsible for clearing xdp_buff::flags - xsk: recycle buffer in case Rx queue was full - selftests: netdevsim: fix the udp_tunnel_nic test - selftests: net: fix rps_default_mask with >32 CPUs - net: mvpp2: clear BM pool before initialization - net: stmmac: Wait a bit for the reset to take effect - netfilter: nf_tables: validate NFPROTO_* family - netfilter: nf_tables: restrict anonymous set and map names to 16 bytes - netfilter: nft_limit: reject configurations that cause integer overflow - rcu: Defer RCU kthreads wakeup when CPU is dying - net/mlx5e: fix a potential double-free in fs_any_create_groups - net/mlx5e: fix a double-free in arfs_create_groups - net/mlx5e: Ignore IPsec replay window values on sender side - net/mlx5e: Allow software parsing when IPsec crypto is enabled - net/mlx5: Use mlx5 device constant for selecting CQ period mode for ASO - net/mlx5: DR, Can't go to uplink vport on RX rule - net/mlx5: DR, Use the right GVMI number for drop action - net/mlx5: Bridge, fix multicast packets sent to uplink - net/mlx5: Bridge, Enable mcast in smfs steering mode - net/mlx5: Fix a WARN upon a callback command failure - net/mlx5e: Fix peer flow lists handling - net/mlx5e: Fix operation precedence bug in port timestamping napi_poll context - net/sched: flower: Fix chain template offload - selftests: fill in some missing configs for net - ipv6: init the accept_queue's spinlocks in inet6_create - netlink: fix potential sleeping issue in mqueue_flush_file - selftest: Don't reuse port for SO_INCOMING_CPU test. - tcp: Add memory barrier to tcp_push() - afs: Hide silly-rename files from userspace - tracing: Ensure visibility when inserting an element into tracing_map - netfs, fscache: Prevent Oops in fscache_put_cache() - net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv - net: micrel: Fix PTP frame parsing for lan8814 - tun: add missing rx stats accounting in tun_xdp_act - tun: fix missing dropped counter in tun_xdp_act - net: fix removing a namespace with conflicting altnames - udp: fix busy polling - llc: Drop support for ETH_P_TR_802_2. - llc: make llc_ui_sendmsg() more robust against bonding changes - vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING - bnxt_en: Prevent kernel warning when running offline self test - bnxt_en: Wait for FLR to complete during probe - tcp: make sure init the accept_queue's spinlocks once - selftests: bonding: Increase timeout to 1200s - net/smc: fix illegal rmb_desc access in SMC-D connection dump - wifi: mac80211: fix potential sta-link leak - SUNRPC: use request size to initialize bio_vec in svc_udp_sendto() - cifs: after disabling multichannel, mark tcon for reconnect - cifs: fix a pending undercount of srv_count - cifs: fix lock ordering while disabling multichannel - Revert "drm/amd: Enable PCIe PME from D3" - selftests/bpf: check if max number of bpf_loop iterations is tracked - bpf: keep track of max number of bpf_loop callback iterations - selftests/bpf: test widening for iterating callbacks - bpf: widening for callback iterators - selftests/bpf: tests for iterating callbacks - bpf: verify callbacks as if they are called unknown number of times - bpf: extract setup_func_entry() utility function - bpf: extract __check_reg_arg() utility function - selftests/bpf: track string payload offset as scalar in strobemeta - selftests/bpf: track tcp payload offset as scalar in xdp_synproxy - bpf: print full verifier states on infinite loop detection - selftests/bpf: test if state loops are detected in a tricky case - bpf: correct loop detection for iterators convergence - selftests/bpf: tests with delayed read/precision makrs in loop body - bpf: exact states comparison for iterator convergence checks - bpf: extract same_callsites() as utility function - bpf: move explored_state() closer to the beginning of verifier.c - dt-bindings: net: snps,dwmac: Tx coe unsupported - ksmbd: Add missing set_freezable() for freezable kthread - ksmbd: send lease break notification on FILE_RENAME_INFORMATION - ksmbd: don't increment epoch if current state and request state are same - ksmbd: fix potential circular locking issue in smb2_set_ea() - ksmbd: set v2 lease version on lease upgrade - serial: Do not hold the port lock when setting rx-during-tx GPIO - mm: page_alloc: unreserve highatomic page blocks before oom - LoongArch/smp: Call rcutree_report_cpu_starting() earlier - serial: sc16is7xx: improve do/while loop in sc16is7xx_irq() - serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq() - serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error - serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO - serial: sc16is7xx: change EFR lock to operate on each channels - serial: sc16is7xx: remove unused line structure member - serial: sc16is7xx: remove global regmap from struct sc16is7xx_port - serial: sc16is7xx: remove wasteful static buffer in sc16is7xx_regmap_name() - serial: sc16is7xx: improve regmap debugfs by using one regmap per port - rename(): fix the locking of subdirectories - mm/sparsemem: fix race in accessing memory_section->usage - mm/rmap: fix misplaced parenthesis of a likely() - selftests: mm: hugepage-vmemmap fails on 64K page size systems - kexec: do syscore_shutdown() in kernel_kexec - ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path - nouveau/vmm: don't set addr on the fail path to avoid warning - rtc: Extend timeout for waiting for UIP to clear to 1s - rtc: Add support for configuring the UIP timeout for RTC reads - rtc: mc146818-lib: Adjust failure return code for mc146818_get_time() - rtc: Adjust failure return code for cmos_set_alarm() - rtc: cmos: Use ACPI alarm for non-Intel x86 systems too - arm64: entry: fix ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD - arm64/sme: Always exit sme_alloc() early with existing storage - arm64: errata: Add Cortex-A510 speculative unprivileged load workaround - arm64: Rename ARM64_WORKAROUND_2966298 - riscv: mm: Fixup compat mode boot failure - riscv: mm: Fixup compat arch_get_mmap_end - media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run - media: mtk-jpeg: Fix timeout schedule error in mtk_jpegdec_worker. - media: i2c: st-mipid02: correct format propagation - mmc: mmc_spi: remove custom DMA mapped buffers - mmc: core: Use mrq.sbc in close-ended ffu - media: videobuf2-dma-sg: fix vmap callback - scripts/get_abi: fix source path leak - docs: kernel_abi.py: fix command injection - dlm: use kernel_connect() and kernel_bind() - lsm: new security_file_ioctl_compat() hook - ARM: dts: qcom: sdx55: fix USB SS wakeup - arm64: dts: qcom: sdm670: fix USB SS wakeup - arm64: dts: qcom: sdm670: fix USB DP/DM HS PHY interrupts - arm64: dts: qcom: sc8180x: fix USB SS wakeup - arm64: dts: qcom: sc8180x: fix USB DP/DM HS PHY interrupts - arm64: dts: qcom: sm8150: fix USB SS wakeup - arm64: dts: qcom: sm8150: fix USB DP/DM HS PHY interrupts - arm64: dts: qcom: sdm845: fix USB SS wakeup - arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts - ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts - arm64: dts: qcom: Add missing vio-supply for AW2013 - arm64: dts: qcom: sc7280: fix usb_1 wakeup interrupt types - arm64: dts: qcom: sc8180x: fix USB wakeup interrupt types - arm64: dts: qcom: sm8150: fix USB wakeup interrupt types - arm64: dts: qcom: sdm670: fix USB wakeup interrupt types - arm64: dts: qcom: sdm845: fix USB wakeup interrupt types - arm64: dts: qcom: sc7180: fix USB wakeup interrupt types - arm64: dts: qcom: msm8939: Make blsp_dma controlled-remotely - arm64: dts: qcom: msm8916: Make blsp_dma controlled-remotely - arm64: dts: rockchip: Fix rk3588 USB power-domain clocks - arm64: dts: rockchip: configure eth pad driver strength for orangepi r1 plus lts - arm64: dts: sprd: fix the cpu node for UMS512 - ARM: dts: qcom: sdx55: fix pdc '#interrupt-cells' - ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12 - ARM: dts: qcom: sdx55: fix USB wakeup interrupt types - arm64: dts: qcom: sc8280xp-crd: fix eDP phy compatible - ARM: dts: imx6q-apalis: add can power-up delay on ixora board - parisc/power: Fix power soft-off button emulation on qemu - parisc/firmware: Fix F-extend for PDC addresses - bus: mhi: host: Add spinlock to protect WP access when queueing TREs - bus: mhi: host: Drop chan lock before queuing buffers - bus: mhi: host: Add alignment check for event ring read pointer - mips: Fix max_mapnr being uninitialized on early stages - nbd: always initialize struct msghdr completely - s390/vfio-ap: do not reset queue removed from host config - s390/vfio-ap: reset queues associated with adapter for queue unbound from driver - s390/vfio-ap: reset queues filtered from the guest's AP config - s390/vfio-ap: let on_scan_complete() callback filter matrix and update guest's APCB - s390/vfio-ap: loop over the shadow APCB when filtering guest's AP configuration - soc: fsl: cpm1: qmc: Fix rx channel reset - soc: fsl: cpm1: qmc: Fix __iomem addresses declaration - soc: fsl: cpm1: tsa: Fix __iomem addresses declaration - media: ov01a10: Enable runtime PM before registering async sub-device - media: ov13b10: Enable runtime PM before registering async sub-device - media: ov9734: Enable runtime PM before registering async sub-device - rpmsg: virtio: Free driver_override when rpmsg_remove() - media: imx355: Enable runtime PM before registering async sub-device - soc: qcom: pmic_glink_altmode: fix port sanity check - mtd: rawnand: Clarify conditions to enable continuous reads - mtd: rawnand: Prevent sequential reads with on-die ECC engines - mtd: rawnand: Fix core interference with sequential reads - mtd: rawnand: Prevent crossing LUN boundaries during sequential reads - mtd: maps: vmu-flash: Fix the (mtd core) switch to ref counters - PM / devfreq: Fix buffer overflow in trans_stat_show - s390/vfio-ap: unpin pages on gisc registration failure - crypto: s390/aes - Fix buffer overread in CTR mode - hwrng: core - Fix page fault dead lock on mmap-ed hwrng - PM: hibernate: Enforce ordering during image compression/decompression - crypto: api - Disallow identical driver names - crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init - btrfs: sysfs: validate scrub_speed_max value - OPP: Pass rounded rate to _set_opp() - arm64: properly install vmlinuz.efi - PM: sleep: Fix possible deadlocks in core system-wide PM code - async: Introduce async_schedule_dev_nocall() - async: Split async_schedule_node_domain() - ext4: allow for the last group to be marked as trimmed - powerpc/ps3_defconfig: Disable PPC64_BIG_ENDIAN_ELF_ABI_V2 - cifs: update iface_last_update on each query-and-update - cifs: handle servers that still advertise multichannel after disabling - cifs: reconnect worker should take reference on server struct unconditionally - Revert "cifs: reconnect work should have reference on server struct" - cifs: handle when server stops supporting multichannel - cifs: handle when server starts supporting multichannel - cifs: reconnect work should have reference on server struct - cifs: handle cases where a channel is closed - smb: client: fix parsing of SMB3.1.1 POSIX create context - sh: ecovec24: Rename missed backlight field from fbdev to dev - scsi: core: Kick the requeue list after inserting when flushing - riscv: Fix an off-by-one in get_early_cmdline() - scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan() - dmaengine: idxd: Move dma_free_coherent() out of spinlocked context - dmaengine: fix NULL pointer in channel unregistration function - dmaengine: fsl-edma: fix eDMAv4 channel allocation issue - iio: adc: ad7091r: Enable internal vref if external vref is not supplied - iio: adc: ad7091r: Allow users to configure device events - iio: adc: ad7091r: Set alert bit in config register - net: stmmac: Prevent DSA tags from breaking COE - net: stmmac: Tx coe sw fallback - soundwire: fix initializing sysfs for same devices on different buses - soundwire: bus: introduce controller_id - serial: core: set missing supported flag for RX during TX GPIO - serial: core: Simplify uart_get_rs485_mode() - docs: kernel_feat.py: fix potential command injection - docs: sparse: add sparse.rst to toctree - docs: sparse: move TW sparse.txt to TW dev-tools - Revert "Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d"" - arm64: dts: armada-3720-turris-mox: set irq type for RTC - Revert "KEYS: encrypted: Add check for strsep" - riscv: Fix wrong usage of lm_alias() when splitting a huge linear mapping - i2c: s3c24xx: fix transferring more than one message in polling mode - i2c: s3c24xx: fix read transfers in polling mode - ipv6: mcast: fix data-race in ipv6_mc_down / mld_ifc_work - selftests: mlxsw: qos_pfc: Adjust the test to support 8 lanes - mlxsw: spectrum_router: Register netdevice notifier before nexthop - mlxsw: spectrum_acl_tcam: Fix stack corruption - mlxsw: spectrum_acl_tcam: Fix NULL pointer dereference in error path - mlxsw: spectrum_acl_erp: Fix error flow of pool allocation failure - loop: fix the the direct I/O support check when used on top of block devices - ethtool: netlink: Add missing ethnl_ops_begin/complete - arm64/ptrace: Don't flush ZA/ZT storage when writing ZA via ptrace - kdb: Fix a potential buffer overflow in kdb_local() - io_uring: adjust defer tw counting - ipvs: avoid stat macros calls from preemptible context - netfilter: nf_tables: reject NFT_SET_CONCAT with not field length description - netfilter: nf_tables: skip dead set elements in netlink dump - netfilter: nf_tables: do not allow mismatch field size and set key length - netfilter: bridge: replace physindev with physinif in nf_bridge_info - netfilter: propagate net to nf_bridge_get_physindev - netfilter: nf_queue: remove excess nf_bridge variable - netfilter: nfnetlink_log: use proper helper for fetching physinif - netfilter: nft_limit: do not ignore unsupported flags - netfilter: nf_tables: reject invalid set policy - net: netdevsim: don't try to destroy PHC on VFs - mptcp: relax check on MPC passive fallback - LoongArch: BPF: Prevent out-of-bounds memory access - net: dsa: vsc73xx: Add null pointer check to vsc73xx_gpio_probe - bpf: Reject variable offset alu on PTR_TO_FLOW_KEYS - net: stmmac: ethtool: Fixed calltrace caused by unbalanced disable_irq_wake calls - selftests: bonding: Change script interpreter - drm/amdgpu: fall back to INPUT power for AVG power via INFO IOCTL - drm/amdkfd: fixes for HMM mem allocation - ASoC: SOF: ipc4-loader: remove the CPC check warnings - gpio: mlxbf3: add an error code check in mlxbf3_gpio_probe - dt-bindings: gpio: xilinx: Fix node address in gpio - net: ravb: Fix dma_addr_t truncation in error case - net: tls, fix WARNIING in __sk_msg_free - bpf: Avoid iter->offset making backward progress in bpf_iter_udp - bpf: iter_udp: Retry with a larger batch size without going back to the previous bucket - net: netdev_queue: netdev_txq_completed_mb(): fix wake condition - net: add more sanity check in virtio_net_hdr_to_skb() - udp: annotate data-races around up->pending - net: stmmac: Fix ethool link settings ops for integrated PCS - block: ensure we hold a queue reference when using queue limits - mptcp: refine opt_mp_capable determination - mptcp: use OPTION_MPTCP_MPJ_SYN in subflow_check_req() - mptcp: use OPTION_MPTCP_MPJ_SYNACK in subflow_finish_connect() - mptcp: strict validation before using mp_opt->hmac - mptcp: mptcp_parse_option() fix for MPTCPOPT_MP_JOIN - ALSA: hda: Properly setup HDMI stream - net: phy: micrel: populate .soft_reset for KSZ9131 - net: micrel: Fix PTP frame parsing for lan8841 - amt: do not use overwrapped cb area - net: ethernet: ti: am65-cpsw: Fix max mtu to fit ethernet frames - octeontx2-af: CN10KB: Fix FIFO length calculation for RPM2 - rxrpc: Fix use of Don't Fragment flag - net: qualcomm: rmnet: fix global oob in rmnet_policy - s390/pci: fix max size calculation in zpci_memcpy_toio() - ASoC: mediatek: sof-common: Add NULL check for normal_link string - PCI: mediatek-gen3: Fix translation window size calculation - PCI: keystone: Fix race condition when initializing PHYs - nvmet-tcp: Fix the H2C expected PDU len calculation - nvme: trace: avoid memcpy overflow warning - nvmet: re-fix tracing strncpy() warning - hisi_acc_vfio_pci: Update migration data pointer correctly on saving/resume - spi: coldfire-qspi: Remove an erroneous clk_disable_unprepare() from the remove function - cxl/port: Fix missing target list lock - perf db-export: Fix missing reference count get in call_path_from_sample() - serial: apbuart: fix console prompt on qemu - serial: imx: Correct clock error message in function probe() - usb: xhci-mtk: fix a short packet issue of gen1 isoc-in transfer - apparmor: avoid crash when parsed profile name is empty - apparmor: fix possible memory leak in unpack_trans_table - cxl/region: fix x9 interleave typo - perf stat: Fix hard coded LL miss units - perf env: Avoid recursively taking env->bpf_progs.lock - nvmet-tcp: fix a crash in nvmet_req_complete() - nvmet-tcp: Fix a kernel panic when host sends an invalid H2C PDU length - apparmor: Fix ref count leak in task_kill - vdpa: Fix an error handling path in eni_vdpa_probe() - power: supply: Fix null pointer dereference in smb2_probe - usb: gadget: webcam: Make g_webcam loadable again - spmi: mtk-pmif: Serialize PMIF status check and command submission - usb: cdc-acm: return correct error code on unsupported break - tty: use 'if' in send_break() instead of 'goto' - tty: don't check for signal_pending() in send_break() - tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK - PCI: epf-mhi: Fix the DMA data direction of dma_unmap_single() - bus: mhi: ep: Pass mhi_ep_buf_info struct to read/write APIs - bus: mhi: ep: Use slab allocator where applicable - bus: mhi: ep: Do not allocate event ring element on stack - perf unwind-libunwind: Fix base address for .eh_frame - perf unwind-libdw: Handle JIT-generated DSOs properly - perf genelf: Set ELF program header addresses properly - perf header: Fix one memory leakage in perf_event__fprintf_event_update() - iio: adc: ad9467: fix scale setting - iio: adc: ad9467: add mutex to struct ad9467_state - iio: adc: ad9467: don't ignore error codes - iio: adc: ad9467: fix reset gpio handling - selftests/sgx: Skip non X86_64 platform - selftests/sgx: Include memory clobber for inline asm in test enclave - selftests/sgx: Fix uninitialized pointer dereferences in encl_get_entry - selftests/sgx: Fix uninitialized pointer dereference in error path - serial: imx: fix tx statemachine deadlock - software node: Let args be NULL in software_node_get_reference_args - acpi: property: Let args be NULL in __acpi_node_get_property_reference - base/node.c: initialize the accessor list before registering - perf stat: Exit perf stat if parse groups fails - perf mem: Fix error on hybrid related to availability of mem event in a PMU - perf vendor events arm64 AmpereOne: Rename BPU_FLUSH_MEM_FAULT to GPC_FLUSH_MEM_FAULT - vfio/pds: Fix calculations in pds_vfio_dirty_sync - perf test record user-regs: Fix mask for vg register - libapi: Add missing linux/types.h header to get the __u64 type on io.h - perf header: Fix segfault on build_mem_topology() error path - perf test: Remove atomics from test_loop to avoid test failures - power: supply: bq256xx: fix some problem in bq256xx_hw_init - power: supply: cw2015: correct time_to_empty units in sysfs - MIPS: Alchemy: Fix an out-of-bound access in db1550_dev_setup() - MIPS: Alchemy: Fix an out-of-bound access in db1200_dev_setup() - riscv: Fixed wrong register in XIP_FIXUP_FLASH_OFFSET macro - riscv: Fix set_direct_map_default_noflush() to reset _PAGE_EXEC - riscv: Fix set_memory_XX() and set_direct_map_XX() by splitting huge linear mappings - riscv: Fix module_alloc() that did not reset the linear mapping permissions - riscv: Check if the code to patch lies in the exit section - um: virt-pci: fix platform map offset - mips: Fix incorrect max_low_pfn adjustment - mips: dmi: Fix early remap on MIPS32 - srcu: Use try-lock lockdep annotation for NMI-safe access. - mfd: intel-lpss: Fix the fractional clock divider flags - mfd: tps6594: Add null pointer check to tps6594_device_init() - leds: aw200xx: Fix write to DIM parameter - leds: aw2013: Select missing dependency REGMAP_I2C - mfd: syscon: Fix null pointer dereference in of_syscon_register() - mfd: cs42l43: Correct SoundWire port list - mfd: rk8xx: fixup devices registration with PLATFORM_DEVID_AUTO - ARM: 9330/1: davinci: also select PINCTRL - serial: sc16is7xx: set safe default SPI clock frequency - serial: sc16is7xx: add check for unsupported SPI modes during probe - HID: wacom: Correct behavior when processing some confidence == false touches - HID: sensor-hub: Enable hid core report processing for all devices - iio: adc: ad7091r: Pass iio_dev to event handler - KVM: x86/pmu: Reset the PMU, i.e. stop counters, before refreshing - KVM: x86/pmu: Move PMU reset logic to common x86 code - KVM: arm64: vgic-its: Avoid potential UAF in LPI translation cache - x86/kvm: Do not try to disable kvmclock if it was not enabled - PCI: mediatek: Clear interrupt status before dispatching handler - PCI: dwc: endpoint: Fix dw_pcie_ep_raise_msix_irq() alignment support - x86/pci: Reserve ECAM if BIOS didn't include it in PNP0C02 _CRS - PCI/P2PDMA: Remove reference to pci_p2pdma_map_sg() - cxl/port: Fix decoder initialization when nr_targets > interleave_ways - Revert "nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB" - Revert "net: rtnetlink: Enslave device before bringing it up" - net: stmmac: fix ethtool per-queue statistics - wifi: mwifiex: fix uninitialized firmware_stat - wifi: mwifiex: configure BSSID consistently when starting AP - wifi: mwifiex: add extra delay for firmware ready - wifi: rtlwifi: Convert LNKCTL change to PCIe cap RMW accessors - wifi: rtlwifi: Remove bogus and dangerous ASPM disable/enable code - wifi: mt76: fix broken precal loading from MTD for mt7915 - iommu/arm-smmu-qcom: Add missing GMU entry to match table - bpf: Fix re-attachment branch in bpf_tracing_prog_attach - Bluetooth: Fix atomicity violation in {min,max}_key_size_set - md/raid1: Use blk_opf_t for read and write operations - pwm: Fix out-of-bounds access in of_pwm_single_xlate() - pwm: jz4740: Don't use dev_err_probe() in .request() - netfilter: nf_tables: check if catch-all set element is active in next generation - block: Fix iterating over an empty bio with bio_for_each_folio_all - block: Remove special-casing of compound pages - drm/amd: Enable PCIe PME from D3 - scsi: mpi3mr: Block PEL Enable Command on Controller Reset and Unrecoverable State - scsi: mpi3mr: Clean up block devices post controller reset - scsi: mpi3mr: Refresh sdev queue depth after controller reset - scsi: target: core: add missing file_{start,end}_write() - scsi: ufs: core: Simplify power management during async scan - fbdev: flush deferred IO before closing - fbdev: flush deferred work in fb_deferred_io_fsync() - fbdev/acornfb: Fix name of fb_ops initializer macro - io_uring: ensure local task_work is run on wait timeout - io_uring/rw: ensure io->bytes_done is always initialized - io_uring: don't check iopoll if request completes - LoongArch: Fix and simplify fcsr initialization on execve() - ceph: select FS_ENCRYPTION_ALGS if FS_ENCRYPTION - ksmbd: only v2 leases handle the directory - ksmbd: fix UAF issue in ksmbd_tcp_new_connection() - ksmbd: validate mech token in session setup - ALSA: hda/realtek: Enable headset mic on Lenovo M70 Gen5 - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on HP ZBook - ALSA: hda/relatek: Enable Mute LED on HP Laptop 15s-fq2xxx - ALSA: oxygen: Fix right channel of capture volume mixer - serial: omap: do not override settings for RS485 support - serial: 8250_exar: Set missing rs485_supported flag - serial: imx: Ensure that imx_uart_rs485_config() is called with enabled clock - serial: core, imx: do not set RS485 enabled if it is not supported - serial: 8250_bcm2835aux: Restore clock error handling - serial: core: make sure RS485 cannot be enabled when it is not supported - serial: core: fix sanitizing check for RTS settings - dt-bindings: phy: qcom,sc8280xp-qmp-usb43dp-phy: fix path to header - usb: mon: Fix atomicity violation in mon_bin_vma_fault - usb: typec: class: fix typec_altmode_put_partner to put plugs - Revert "usb: typec: class: fix typec_altmode_put_partner to put plugs" - usb: cdns3: Fix uvc fail when DMA cross 4k boundery since sg enabled - usb: cdns3: fix iso transfer error when mult is not zero - usb: cdns3: fix uvc failure work since sg support enabled - usb: chipidea: wait controller resume finished for wakeup irq - Revert "usb: dwc3: don't reset device side if dwc3 was configured as host-only" - Revert "usb: dwc3: Soft reset phy on probe for host" - usb: dwc3: gadget: Queue PM runtime idle on disconnect event - usb: dwc3: gadget: Handle EP0 request dequeuing properly - usb: dwc: ep0: Update request status in dwc3_ep0_stall_restart - usb: phy: mxs: remove CONFIG_USB_OTG condition for mxs_phy_is_otg_host() - Revert "usb: gadget: f_uvc: change endpoint allocation in uvc_function_bind()" - tick-sched: Fix idle and iowait sleeptime accounting vs CPU hotplug - powerpc/64s: Increase default stack size to 32KB - clocksource/drivers/timer-ti-dm: Fix make W=n kerneldoc warnings - binder: fix race between mmput() and do_exit() - xen-netback: don't produce zero-size SKB frags - Revert "drm/amdkfd: Relocate TBA/TMA to opposite side of VM hole" - rust: Ignore preserve-most functions - Input: atkbd - use ab83 as id when skipping the getid command - mips/smp: Call rcutree_report_cpu_starting() earlier - binder: fix unused alloc->free_async_space - binder: fix async space check for 0-sized buffers - keys, dns: Fix size check of V1 server-list header - selftests/bpf: Add assert for user stacks in test_task_stack - Revert "kernfs: convert kernfs_idr_lock to an irq safe raw spinlock" - kernfs: convert kernfs_idr_lock to an irq safe raw spinlock - class: fix use-after-free in class_register() - of: unittest: Fix of_count_phandle_with_args() expected value message - fbdev: imxfb: fix left margin setting - of: Fix double free in of_parse_phandle_with_args_map - ksmbd: validate the zero field of packet header - kselftest/alsa - conf: Stringify the printed errno in sysfs_get() - kselftest/alsa - mixer-test: Fix the print format specifier warning - kselftest/alsa - mixer-test: fix the number of parameters to ksft_exit_fail_msg() - drm/amd/display: avoid stringop-overflow warnings for dp_decide_lane_settings() - drm/amd/pm/smu7: fix a memleak in smu7_hwmgr_backend_init - drm/amdkfd: Confirm list is non-empty before utilizing list_first_entry in kfd_topology.c - IB/iser: Prevent invalidating wrong MR - gpio: sysfs: drop the mention of gpiochip_find() from sysfs code - gpiolib: provide gpio_device_find() - gpiolib: make gpio_device_get() and gpio_device_put() public - drm/amdkfd: Fix type of 'dbg_flags' in 'struct kfd_process' - mmc: sdhci_omap: Fix TI SoC dependencies - mmc: sdhci_am654: Fix TI SoC dependencies - ALSA: scarlett2: Add clamp() in scarlett2_mixer_ctl_put() - ALSA: scarlett2: Add missing error checks to *_ctl_get() - ALSA: scarlett2: Allow passing any output to line_out_remap() - ALSA: scarlett2: Add missing error check to scarlett2_usb_set_config() - ALSA: scarlett2: Add missing error check to scarlett2_config_save() - ASoC: rt5645: Drop double EF20 entry from dmi_platform_data[] - pwm: stm32: Fix enable count for clk in .probe() - pwm: stm32: Use hweight32 in stm32_pwm_detect_channels - clk: fixed-rate: fix clk_hw_register_fixed_rate_with_accuracy_parent_hw - clk: qcom: dispcc-sm8550: Update disp PLL settings - clk: qcom: gcc-sm8550: Mark RCGs shared where applicable - clk: qcom: gcc-sm8550: use collapse-voting for PCIe GDSCs - clk: qcom: gcc-sm8550: Mark the PCIe GDSCs votable - clk: qcom: gcc-sm8550: Add the missing RETAIN_FF_ENABLE GDSC flag - accel/habanalabs: fix information leak in sec_attest_info() - drm/mediatek: dp: Add phy_mtk_dp module as pre-dependency - ASoC: tas2781: add support for FW version 0x0503 - ASoC: amd: vangogh: Drop conflicting ACPI-based probing - clk: si5341: fix an error code problem in si5341_output_clk_set_rate - clk: rs9: Fix DIF OEn bit placement on 9FGV0241 - watchdog: rti_wdt: Drop runtime pm reference count when watchdog is unused - watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling - watchdog/hpwdt: Only claim UNKNOWN NMI if from iLO - watchdog: set cdev owner before adding - drivers: clk: zynqmp: update divider round rate logic - drivers: clk: zynqmp: calculate closest mux rate - clk: sp7021: fix return value check in sp7021_clk_probe() - clk: qcom: videocc-sm8150: Add missing PLL config property - clk: qcom: videocc-sm8150: Update the videocc resets - dt-bindings: clock: Update the videocc resets for sm8150 - f2fs: fix to check return value of f2fs_recover_xattr_data - drm/amd/pm: fix a double-free in amdgpu_parse_extended_power_table - gpu/drm/radeon: fix two memleaks in radeon_vm_init - drivers/amd/pm: fix a use-after-free in kv_parse_power_table - drm/amd/pm: fix a double-free in si_dpm_init - drm/amdgpu/debugfs: fix error code when smc register accessors are NULL - drm/mediatek: Fix underrun in VDO1 when switches off the layer - drm/mediatek: Remove the redundant driver data for DPI - drm/mediatek: Return error if MDP RDMA failed to enable the clock - drm/msm/dpu: Drop enable and frame_count parameters from dpu_hw_setup_misr() - drm/msm/dpu: Set input_sel bit for INTF - clk: renesas: rzg2l: Check reset monitor registers - clk: renesas: rzg2l-cpg: Reuse code in rzg2l_cpg_reset() - media: dvb-frontends: m88ds3103: Fix a memory leak in an error handling path of m88ds3103_probe() - media: dvbdev: drop refcount on error path in dvb_device_open() - f2fs: fix to update iostat correctly in f2fs_filemap_fault() - f2fs: fix to check compress file in f2fs_move_file_range() - f2fs: fix to wait on block writeback for post_read case - drm/panel: st7701: Fix AVCL calculation - drm/msm/adreno: Fix A680 chip id - media: rkisp1: Fix media device memory leak - media: dt-bindings: media: rkisp1: Fix the port description for the parallel interface - media: imx-mipi-csis: Drop extra clock enable at probe() - media: imx-mipi-csis: Fix clock handling in remove() - media: bttv: add back vbi hack - media: bttv: start_streaming should return a proper error code - clk: qcom: gpucc-sm8150: Update the gpu_cc_pll1 config - media: cx231xx: fix a memleak in cx231xx_init_isoc - drm/bridge: tc358767: Fix return value on error case - drm/bridge: cdns-mhdp8546: Fix use of uninitialized variable - drm/radeon/trinity_dpm: fix a memleak in trinity_parse_power_table - drm/radeon/dpm: fix a memleak in sumo_parse_power_table - drm/msm/dpu: correct clk bit for WB2 block - drm/panfrost: Ignore core_mask for poweroff and disable PWRTRANS irq - ASoC: SOF: topology: Use partial match for disconnecting DAI link and DAI widget - ASoC: Intel: sof_sdw_rt_sdca_jack_common: ctx->headset_codec_dev = NULL - ASoC: Intel: glk_rt5682_max98357a: fix board id mismatch - media: v4l: async: Fix duplicated list deletion - drm/drv: propagate errors from drm_modeset_register_all() - drm/msm/dsi: Use pm_runtime_resume_and_get to prevent refcnt leaks - drm/msm/dpu: Add missing safe_lut_tbl in sc8180x catalog - drm/msm/mdp4: flush vblank event on disable - ASoC: cs35l33: Fix GPIO name and drop legacy include - drm/imx/lcdc: Fix double-free of driver data - drm/tidss: Fix dss reset - drm/tidss: Check for K2G in in dispc_softreset() - drm/tidss: Return error value from from softreset - drm/tidss: Move reset to the end of dispc_init() - drm/radeon: check return value of radeon_ring_lock() - drm/radeon/r100: Fix integer overflow issues in r100_cs_track_check() - drm/radeon/r600_cs: Fix possible int overflows in r600_cs_check_reg() - drm/bridge: Fix typo in post_disable() description - media: amphion: Fix VPU core alias name - media: rkvdec: Hook the (TRY_)DECODER_CMD stateless ioctls - media: verisilicon: Hook the (TRY_)DECODER_CMD stateless ioctls - media: visl: Hook the (TRY_)DECODER_CMD stateless ioctls - media: mtk-jpeg: Remove cancel worker in mtk_jpeg_remove to avoid the crash of multi-core JPEG devices - media: pvrusb2: fix use after free on context disconnection - drm/tilcdc: Fix irq free on unload - drm/bridge: tpd12s015: Drop buggy __exit annotation for remove function - drm/nouveau/fence:: fix warning directly dereferencing a rcu pointer - drm/panel-elida-kd35t133: hold panel in reset for unprepare - drm/panel: nv3051d: Hold panel in reset for unprepare - RDMA/usnic: Silence uninitialized symbol smatch warnings - drm/panfrost: Really power off GPU cores in panfrost_gpu_power_off() - drm/dp_mst: Fix fractional DSC bpp handling - Revert "drm/omapdrm: Annotate dma-fence critical section in commit path" - Revert "drm/tidss: Annotate dma-fence critical section in commit path" - ARM: davinci: always select CONFIG_CPU_ARM926T - ip6_tunnel: fix NEXTHDR_FRAGMENT handling in ip6_tnl_parse_tlv_enc_lim() - rxrpc: Fix skbuff cleanup of call's recvmsg_queue and rx_oos_queue - mlxbf_gige: Enable the GigE port in mlxbf_gige_open - mlxbf_gige: Fix intermittent no ip issue - net/sched: act_ct: fix skb leak and crash on ooo frags - blk-cgroup: fix rcu lockdep warning in blkg_lookup() - sctp: fix busy polling - sctp: support MSG_ERRQUEUE flag in recvmsg() - bpf: sockmap, fix proto update hook to avoid dup calls - wifi: cfg80211: parse all ML elements in an ML probe response - wifi: cfg80211: correct comment about MLD ID - arm64: dts: rockchip: Fix led pinctrl of lubancat 1 - null_blk: don't cap max_hw_sectors to BLK_DEF_MAX_SECTORS - Bluetooth: btmtkuart: fix recv_buf() return value - Bluetooth: btnxpuart: fix recv_buf() return value - Bluetooth: Fix bogus check for re-auth no supported with non-ssp - netfilter: nf_tables: validate chain type update if available - netfilter: nf_tables: mark newset as dead on transaction abort - wifi: iwlwifi: assign phy_ctxt before eSR activation - wifi: iwlwifi: fix out of bound copy_from_user - wifi: iwlwifi: mvm: send TX path flush in rfkill - wifi: iwlwifi: mvm: set siso/mimo chains to 1 in FW SMPS request - wifi: rtlwifi: rtl8192se: using calculate_bit_shift() - wifi: rtlwifi: rtl8192ee: using calculate_bit_shift() - wifi: rtlwifi: rtl8192de: using calculate_bit_shift() - wifi: rtlwifi: rtl8192ce: using calculate_bit_shift() - wifi: rtlwifi: rtl8192cu: using calculate_bit_shift() - wifi: rtlwifi: rtl8192c: using calculate_bit_shift() - wifi: rtlwifi: rtl8188ee: phy: using calculate_bit_shift() - wifi: rtlwifi: add calculate_bit_shift() - bpf: Use c->unit_size to select target cache during free - bpf: Use pcpu_alloc_size() in bpf_mem_free{_rcu}() - bpf: Re-enable unit_size checking for global per-cpu allocator - arm64: dts: qcom: sc8180x: Fix up PCIe nodes - arm64: dts: qcom: sc8180x: switch PCIe QMP PHY to new style of bindings - arm64: dts: qcom: sc8180x: Mark PCIe hosts cache-coherent - arm64: dts: qcom: sm8550: Update idle state time requirements - arm64: dts: qcom: sm8550: Separate out X3 idle state - arm64: dts: qcom: ipq6018: fix clock rates for GCC_USB0_MOCK_UTMI_CLK - arm64: dts: qcom: sc7280: Mark SDHCI hosts as cache-coherent - soc: qcom: llcc: Fix LLCC_TRP_ATTR2_CFGn offset - arm64: dts: qcom: sm8150-hdk: fix SS USB regulators - arm64: dts: qcom: sm8150: make dispcc cast minimal vote on MMCX - arm64: dts: qcom: sm6375: Hook up MPM - arm64: dts: qcom: sm6375: fix USB wakeup interrupt types - soc: qcom: llcc: Fix dis_cap_alloc and retain_on_pc configuration - arm64: dts: qcom: acer-aspire1: Correct audio codec definition - bpf: Limit the number of kprobes when attaching program to multiple kprobes - bpf: Limit the number of uprobes when attaching program to multiple uprobes - dma-mapping: clear dev->dma_mem to NULL after freeing it - virtio/vsock: send credit update during setting SO_RCVLOWAT - virtio/vsock: fix logic which reduces credit update messages - ipmr: support IP_PKTINFO on cache report IGMP msg - selftests/net: fix grep checking for fib_nexthop_multiprefix - bpf: Fix a race condition between btf_put() and map_free() - ARM: dts: stm32: don't mix SCMI and non-SCMI board compatibles - scsi: hisi_sas: Correct the number of global debugfs registers - scsi: hisi_sas: Rollback some operations if FLR failed - scsi: hisi_sas: Check before using pointer variables - scsi: hisi_sas: Replace with standard error code return value - scsi: ufs: qcom: Fix the return value when platform_get_resource_byname() fails - scsi: ufs: qcom: Fix the return value of ufs_qcom_ice_program_key() - arm64: dts: imx8mm: Reduce GPU to nominal speed - arm64: dts: renesas: white-hawk-cpu: Fix missing serial console pin control - arm64: dts: xilinx: Apply overlays to base dtbs - selftests/bpf: Relax time_tai test for equal timestamps in tai_forward - wifi: iwlwifi: don't support triggered EHT CQI feedback - wifi: mt76: mt7921: fix country count limitation for CLC - arm64: dts: mediatek: mt8186: fix address warning for ADSP mailboxes - arm64: dts: mediatek: mt8186: Fix alias prefix for ovl_2l0 - arm64: dts: mediatek: mt8195: revise VDOSYS RDMA node name - arm64: dts: mediatek: mt8183: correct MDP3 DMA-related nodes - dt-bindings: media: mediatek: mdp3: correct RDMA and WROT node with generic names - bpf: Fix accesses to uninit stack slots - bpf: Guard stack limits against 32bit overflow - arm64: dts: hisilicon: hikey970-pmic: fix regulator cells properties - bpf: Fix verification of indirect var-off stack access - wifi: mt76: mt7921s: fix workqueue problem causes STA association fail - wifi: mt76: mt7915: also MT7981 is 3T3R but nss2 on 5 GHz band - wifi: mt76: mt7915: fix EEPROM offset of TSSI flag on MT7981 - wifi: mt76: mt7996: fix rate usage of inband discovery frames - wifi: mt76: mt7996: fix the size of struct bss_rate_tlv - wifi: mt76: mt7915: fallback to non-wed mode if platform_get_resource fails in mt7915_mmio_wed_init() - wifi: mt76: fix typo in mt76_get_of_eeprom_from_nvmem function - arm64: dts: qcom: sm8550: fix USB wakeup interrupt types - arm64: dts: qcom: sc7280: fix usb_2 wakeup interrupt types - arm64: dts: qcom: sa8775p: fix USB wakeup interrupt types - arm64: dts: qcom: sc7280: Mark Adreno SMMU as DMA coherent - arm64: dts: qcom: sc7280: Fix up GPU SIDs - arm64: dts: qcom: sm8350: Fix DMA0 address - arm64: dts: qcom: sm6125: add interrupts to DWC3 USB controller - arm64: dts: qcom: sdm845-db845c: correct LED panic indicator - arm64: dts: qcom: qrb5165-rb5: correct LED panic indicator - arm64: dts: qcom: qrb2210-rb1: use USB host mode - arm64: dts: qcom: qrb2210-rb1: Hook up USB3 - scsi: fnic: Return error if vmalloc() failed - bpf: fix check for attempt to corrupt spilled pointer - selftests/net: specify the interface when do arping - bpf: Defer the free of inner map when necessary - bpf: Add map and need_defer parameters to .map_fd_put_ptr() - arm64: dts: qcom: sm6350: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sc8280xp: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sa8775p: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sm8250: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sm8150: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sdm845: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sc7280: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sc7280: Mark some nodes as 'reserved' - arm64: dts: qcom: sc7180: Make watchdog bark interrupt edge triggered - arm64: dts: qcom: sm8550: correct TX Soundwire clock - arm64: dts: qcom: sm8450: correct TX Soundwire clock - arm64: dts: qcom: sc8180x-primus: Fix HALL_INT polarity - dt-bindings: arm: qcom: Fix html link - ARM: dts: qcom: sdx65: correct SPMI node name - ARM: dts: qcom: sdx65: correct PCIe EP phy-names - bpf: enforce precision of R0 on callback return - selftests/bpf: Fix erroneous bitmask operation - wifi: rtw88: sdio: Honor the host max_req_size in the RX path - arm64: dts: ti: iot2050: Re-add aliases - arm64: dts: ti: k3-am65-main: Fix DSS irq trigger type - arm64: dts: ti: k3-am62a-main: Fix GPIO pin count in DT nodes - wifi: rtlwifi: rtl8821ae: phy: fix an undefined bitwise shift behavior - scsi: bfa: Use the proper data type for BLIST flags - firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create() - net/ncsi: Fix netlink major/minor version numbers - ARM: dts: qcom: apq8064: correct XOADC register address - wifi: libertas: stop selecting wext - wifi: ath11k: Defer on rproc_get failure - bpf: Add crosstask check to __bpf_get_stack - bpf, lpm: Fix check prefixlen before walking trie - wifi: rtw88: fix RX filter in FIF_ALLMULTI flag - wifi: plfxlc: check for allocation failure in plfxlc_usb_wreq_async() - ARM: dts: qcom: msm8226: provide dsi phy clocks to mmcc - arm64: dts: qcom: sc8280xp-x13s: add missing camera LED pin config - arm64: dts: qcom: sc8280xp-x13s: Use the correct DP PHY compatible - arm64: dts: qcom: qrb4210-rb2: don't force usb peripheral mode - asm-generic: Fix 32 bit __generic_cmpxchg_local - pNFS: Fix the pnfs block driver's calculation of layoutget size - SUNRPC: fix _xprt_switch_find_current_entry logic - NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT - NFS: Use parent's objective cred in nfs_access_login_time() - blocklayoutdriver: Fix reference leak of pnfs_device_node - csky: fix arch_jump_label_transform_static override - crypto: scomp - fix req->dst buffer overflow - crypto: sahara - do not resize req->src when doing hash operations - crypto: sahara - fix processing hash requests with req->nbytes < sg->length - crypto: sahara - improve error handling in sahara_sha_process() - crypto: sahara - fix wait_for_completion_timeout() error handling - crypto: sahara - fix ahash reqsize - crypto: sahara - handle zero-length aes requests - crypto: sahara - avoid skcipher fallback code duplication - crypto: virtio - Wait for tasklet to complete on device remove - dlm: fix format seq ops type 4 - gfs2: fix kernel BUG in gfs2_quota_cleanup - fs: indicate request originates from old mount API - erofs: fix memory leak on short-lived bounced pages - pstore: ram_core: fix possible overflow in persistent_ram_init_ecc() - crypto: sahara - fix error handling in sahara_hw_descriptor_create() - crypto: sahara - fix processing requests with cryptlen < sg->length - crypto: sahara - fix ahash selftest failure - crypto: sahara - fix cbc selftest failure - crypto: sahara - remove FLAGS_NEW_KEY logic - crypto: safexcel - Add error handling for dma_map_sg() calls - crypto: af_alg - Disallow multiple in-flight AIO requests - crypto: ccp - fix memleak in ccp_init_dm_workarea - crypto: sa2ul - Return crypto_aead_setkey to transfer the error - crypto: virtio - Handle dataq logic with tasklet - crypto: jh7110 - Correct deferred probe return - crypto: rsa - add a check for allocation failure - selinux: Fix error priority for bind with AF_UNSPEC on PF_INET6 socket - drivers/thermal/loongson2_thermal: Fix incorrect PTR_ERR() judgment - cpuidle: haltpoll: Do not enable interrupts when entering idle - kunit: debugfs: Fix unchecked dereference in debugfs_print_results() - thermal: core: Fix NULL pointer dereference in zone registration error path - ACPI: extlog: Clear Extended Error Log status when RAS_CEC handled the error - ACPI: LPSS: Fix the fractional clock divider flags - spi: sh-msiof: Enforce fixed DTDL for R-Car H3 - efivarfs: Free s_fs_info on unmount - calipso: fix memory leak in netlbl_calipso_add_pass() - cpufreq: scmi: process the result of devm_of_clk_add_hw_provider() - platform/x86/intel/vsec: Fix xa_alloc memory leak - spi: cadence-quadspi: add missing clk_disable_unprepare() in cqspi_probe() - KEYS: encrypted: Add check for strsep - ACPI: LPIT: Avoid u32 multiplication overflow - ACPI: video: check for error while searching for backlight device parent - mtd: rawnand: Increment IFC_TIMEOUT_MSECS for nand controller response - spi: spi-zynqmp-gqspi: fix driver kconfig dependencies - perf/x86/intel/uncore: Fix NULL pointer dereference issue in upi_fill_topology() - sched/fair: Update min_vruntime for reweight_entity() correctly - powerpc/imc-pmu: Add a null pointer check in update_events_in_group() - powerpc/powernv: Add a null pointer check in opal_powercap_init() - powerpc/powernv: Add a null pointer check in opal_event_init() - powerpc/powernv: Add a null pointer check to scom_debug_init_one() - powerpc/rtas: Avoid warning on invalid token argument to sys_rtas() - powerpc/hv-gpci: Add return value check in affinity_domain_via_partition_show function - selftests/powerpc: Fix error handling in FPU/VMX preemption tests - KVM: PPC: Book3S HV: Handle pending exceptions on guest entry with MSR_EE - KVM: PPC: Book3S HV: Introduce low level MSR accessor - KVM: PPC: Book3S HV: Use accessors for VCPU registers - drivers/perf: hisi: Fix some event id for HiSilicon UC pmu - perf/arm-cmn: Fix HN-F class_occup_id events - powerpc/pseries/memhp: Fix access beyond end of drmem array - powerpc/44x: select I2C for CURRITUCK - x86: Fix CPUIDLE_FLAG_IRQ_ENABLE leaking timer reprogram - powerpc: add crtsavres.o to always-y instead of extra-y - EDAC/thunderx: Fix possible out-of-bounds string access - x86/mce/inject: Clear test status value - x86/lib: Fix overflow when counting digits - mm/memory_hotplug: fix memmap_on_memory sysfs value retrieval - scripts/decode_stacktrace.sh: optionally use LLVM utilities - coresight: etm4x: Fix width of CCITMIN field - PCI: Add ACS quirk for more Zhaoxin Root Ports - leds: ledtrig-tty: Free allocated ttyname buffer on deactivate - parport: parport_serial: Add Brainboxes device IDs and geometry - parport: parport_serial: Add Brainboxes BAR details - uio: Fix use-after-free in uio_open - binder: fix comment on binder_alloc_new_buf() return value - binder: fix trivial typo of binder_free_buf_locked() - binder: fix use-after-free in shinker's callback - binder: use EPOLLERR from eventpoll.h - ksmbd: free ppace array on error in parse_dacl - ksmbd: don't allow O_TRUNC open on read-only share - drm/amd/display: Pass pwrseq inst for backlight and ABM - ASoC: SOF: Intel: hda-codec: Delay the codec device registration - bus: moxtet: Add spi device table - bus: moxtet: Mark the irq as shared - ACPI: resource: Add another DMI match for the TongFang GMxXGxx - ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP Envy X360 13-ay0xxx - drm/crtc: fix uninitialized variable use - x86/csum: clean up `csum_partial' further - x86/csum: Remove unnecessary odd handling - ARM: sun9i: smp: fix return code check of of_property_match_string - connector: Fix proc_event_num_listeners count not cleared - net: qrtr: ns: Return 0 if server port is not present - nfc: Do not send datagram if socket state isn't LLCP_BOUND - virtio_blk: fix snprintf truncation compiler warning - ida: Fix crash in ida_free when the bitmap is empty - posix-timers: Get rid of [COMPAT_]SYS_NI() uses - pinctrl: cy8c95x0: Fix get_pincfg - pinctrl: cy8c95x0: Fix regression - pinctrl: cy8c95x0: Fix typo - drm/amd/display: get dprefclk ss info from integration info table - drm/amd/display: Add case for dcn35 to support usb4 dmub hpd event - drm/amdkfd: svm range always mapped flag not working on APU - i2c: rk3x: fix potential spinlock recursion on poll - smb: client: fix potential OOB in smb2_dump_detail() - HID: nintendo: Prevent divide-by-zero on code - dm audit: fix Kconfig so DM_AUDIT depends on BLK_DEV_DM - ALSA: hda/realtek: Add quirks for ASUS Zenbook 2022 Models - ASoC: Intel: bytcr_rt5640: Add new swapped-speakers quirk - ASoC: Intel: bytcr_rt5640: Add quirk for the Medion Lifetab S10346 - platform/x86/amd/pmc: Disable keyboard wakeup on AMD Framework 13 - platform/x86/amd/pmc: Move keyboard wakeup disablement detection to pmc-quirks - platform/x86/amd/pmc: Only run IRQ1 firmware version check on Cezanne - platform/x86/amd/pmc: Move platform defines to header - platform/x86: thinkpad_acpi: fix for incorrect fan reporting on some ThinkPad systems - HID: nintendo: fix initializer element is not constant error - kselftest: alsa: fixed a print formatting warning - driver core: Add a guard() definition for the device_lock() - Input: xpad - add Razer Wolverine V2 support - wifi: iwlwifi: pcie: avoid a NULL pointer dereference - ARC: fix smatch warning - ARC: fix spare error - s390/scm: fix virtual vs physical address confusion - ASoC: cs35l45: Prevents spinning during runtime suspend - ASoC: cs35l45: Prevent IRQ handling when suspending/resuming - ASoC: cs35l45: Use modern pm_ops - pinctrl: amd: Mask non-wake source pins with interrupt enabled at suspend - Input: i8042 - add nomux quirk for Acer P459-G2-M - Input: atkbd - skip ATKBD_CMD_GETID in translated mode - reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning - Input: psmouse - enable Synaptics InterTouch for ThinkPad L14 G1 - ring-buffer: Do not record in NMI if the arch does not support cmpxchg in NMI - tracing: Fix uaf issue when open the hist or hist_debug file - MIPS: dts: loongson: drop incorrect dwmac fallback compatible - stmmac: dwmac-loongson: drop useless check for compatible fallback - tracing: Add size check when printing trace_marker output - tracing: Have large events show up as '[LINE TOO BIG]' instead of nothing - jbd2: fix soft lockup in journal_finish_inode_data_buffers() - efi/loongarch: Use load address to calculate kernel entry address - platform/x86: intel-vbtn: Fix missing tablet-mode-switch events - neighbour: Don't let neigh_forced_gc() disable preemption for long - drm/crtc: Fix uninit-value bug in drm_mode_setcrtc - jbd2: increase the journal IO's priority - jbd2: correct the printing of write_flags in jbd2_write_superblock() - soundwire: intel_ace2x: fix AC timing setting for ACE2.x - clk: rockchip: rk3128: Fix HCLK_OTG gate register - clk: rockchip: rk3568: Add PLL rate for 292.5MHz - LoongArch: Preserve syscall nr across execve() - LoongArch: Set unwind stack type to unknown rather than set error flag - LoongArch: Apply dynamic relocations for LLD - hwmon: (corsair-psu) Fix probe when built-in - ALSA: pcmtest: stop timer before buffer is released - drm/exynos: fix a wrong error checking - drm/exynos: fix a potential error pointer dereference - drm/amdgpu: Add NULL checks for function pointers - drm/amd/display: Add monitor patch for specific eDP - arm64: dts: rockchip: Fix PCI node addresses on rk3399-gru - nvme: fix deadlock between reset and scan - nvme: prevent potential spectre v1 gadget - nvme-ioctl: move capable() admin check to the end - nvme: ensure reset state check ordering - nvme: introduce helper function to get ctrl state - ASoC: da7219: Support low DC impedance headset - net/tg3: fix race condition in tg3_reset_task() - pds_vdpa: set features order - pds_vdpa: clear config callback when status goes to 0 - pds_vdpa: fix up format-truncation complaint - ASoC: SOF: ipc4-topology: Correct data structures for the GAIN module - ASoC: SOF: ipc4-topology: Correct data structures for the SRC module - ASoC: hdac_hda: Conditionally register dais for HDMI and Analog - ASoC: amd: yc: Add DMI entry to support System76 Pangolin 13 - nouveau/tu102: flush all pdbs on vmm flush - ASoC: SOF: sof-audio: Modify logic for enabling/disabling topology cores - ASoC: SOF: ipc4-topology: Add core_mask in struct snd_sof_pipeline - ASoC: Intel: skl_hda_dsp_generic: Drop HDMI routes when HDMI is not available - ASoC: fsl_xcvr: refine the requested phy clock frequency - ASoC: rt5650: add mutex to avoid the jack detection failure - ASoC: fsl_xcvr: Enable 2 * TX bit clock for spdif only case - ASoC: cs43130: Fix incorrect frame delay configuration - ASoC: cs43130: Fix the position of const qualifier - ASoC: Intel: Skylake: mem leak in skl register function - ASoC: SOF: topology: Fix mem leak in sof_dai_load() - ASoC: nau8822: Fix incorrect type in assignment and cast to restricted __be16 - ASoC: Intel: Skylake: Fix mem leak in few functions - arm64: dts: rockchip: fix rk356x pcie msg interrupt name - ASoC: wm8974: Correct boost mixer inputs - ASoC: amd: yc: Add HP 255 G10 into quirk table - nvme-core: check for too small lba shift - blk-mq: don't count completed flush data request as inflight in case of quiesce - smb: client, common: fix fortify warnings - drm/amdgpu: Use another offset for GC 9.4.3 remap - drm/amdkfd: Free gang_ctx_bo and wptr_bo in pqm_uninit - drm/amdgpu: Fix cat debugfs amdgpu_regs_didt causes kernel null pointer - drm/amd/display: update dcn315 lpddr pstate latency - drm/amdkfd: Use common function for IP version check - drm/amdgpu: Do not issue gpu reset from nbio v7_9 bif interrupt - block: warn once for each partition in bio_check_ro() - io_uring: use fget/fput consistently - nvme-core: fix a memory leak in nvme_ns_info_from_identify() - ALSA: hda: intel-nhlt: Ignore vbps when looking for DMIC 32 bps format - debugfs: fix automount d_fsdata usage - wifi: mac80211: handle 320 MHz in ieee80211_ht_cap_ie_to_sta_ht_cap - wifi: avoid offset calculation on NULL pointer - wifi: cfg80211: lock wiphy mutex for rfkill poll - mptcp: fix uninit-value in mptcp_incoming_options - ALSA: hda - Fix speaker and headset mic pin config for CHUWI CoreBook XPro - pinctrl: lochnagar: Don't build on MIPS - pinctrl: s32cc: Avoid possible string truncation - nfsd: drop the nfsd_put helper - media: qcom: camss: Comment CSID dt_id field - cxl/memdev: Hold region_rwsem during inject and clear poison ops - cxl/hdm: Fix a benign lockdep splat - cxl: Add cxl_num_decoders_committed() usage to cxl_test - mmc: sdhci-sprd: Fix eMMC init failure after hw reset - mmc: core: Cancel delayed work before releasing host - mmc: rpmb: fixes pause retune on all RPMB partitions. - mmc: meson-mx-sdhc: Fix initialization frozen issue - drm/amd/display: Fix sending VSC (+ colorimetry) packets for DP/eDP displays without PSR - drm/amd/display: add nv12 bounding box - drm/amdgpu: skip gpu_info fw loading on navi12 - mm: fix unmap_mapping_range high bits shift bug - i2c: core: Fix atomic xfer check for non-preempt config - x86/kprobes: fix incorrect return address calculation in kprobe_emulate_call_indirect - firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards - mm/mglru: skip special VMAs in lru_gen_look_around() - net: constify sk_dst_get() and __sk_dst_get() argument - cxl/pmu: Ensure put_device on pmu devices - net: prevent mss overflow in skb_segment() - powerpc/pseries/vas: Migration suspend waits for no in-progress open windows - RISCV: KVM: update external interrupt atomically for IMSIC swfile - dmaengine: fsl-edma: fix wrong pointer check in fsl_edma3_attach_pd() - dmaengine: idxd: Protect int_handle field in hw descriptor - drm/amd/display: Increase frame warning limit with KASAN or KCSAN in dml - kernel/resource: Increment by align value in get_free_mem_region() - cxl/core: Always hold region_rwsem while reading poison lists - cxl: Add cxl_decoders_committed() helper - drm/amd/display: Increase num voltage states to 40 - drm/i915: Call intel_pre_plane_updates() also for pipes getting enabled - clk: rockchip: rk3128: Fix SCLK_SDMMC's clock name - clk: rockchip: rk3128: Fix aclk_peri_src's parent - phy: sunplus: return negative error code in sp_usb_phy_probe - phy: mediatek: mipi: mt8183: fix minimal supported frequency - iio: imu: adis16475: use bit numbers in assign_bit() - dmaengine: fsl-edma: Add judgment on enabling round robin arbitration - dmaengine: fsl-edma: Do not suspend and resume the masked dma channel when the system is sleeping - dmaengine: ti: k3-psil-am62a: Fix SPI PDMA data - dmaengine: ti: k3-psil-am62: Fix SPI PDMA data - phy: ti: gmii-sel: Fix register offset when parent is not a syscon node - KVM: s390: vsie: fix wrong VIR 37 when MSO is used - riscv: don't probe unaligned access speed if already done - rcu/tasks-trace: Handle new PF_IDLE semantics - rcu/tasks: Handle new PF_IDLE semantics - rcu: Introduce rcu_cpu_online() - rcu: Break rcu_node_0 --> &rq->__lock order - ACPI: thermal: Fix acpi_thermal_unregister_thermal_zone() cleanup - RDMA/mlx5: Fix mkey cache WQ flush - clk: si521xx: Increase stack based print buffer size in probe - vfio/mtty: Overhaul mtty interrupt handling - crypto: qat - fix double free during reset - crypto: xts - use 'spawn' for underlying single-block cipher - bpftool: Align output skeleton ELF code - bpftool: Fix -Wcast-qual warning - tcp: derive delack_max from rto_min - media: qcom: camss: Fix genpd cleanup - media: qcom: camss: Fix V4L2 async notifier error path - xsk: add multi-buffer support for sockets sharing umem - mm/memory-failure: pass the folio and the page to collect_procs() - mm: convert DAX lock/unlock page to lock/unlock folio - net: Implement missing SO_TIMESTAMPING_NEW cmsg support - bnxt_en: Remove mis-applied code from bnxt_cfg_ntp_filters() - net: ravb: Wait for operating mode to be applied - asix: Add check for usbnet_get_endpoints - octeontx2-af: Re-enable MAC TX in otx2_stop processing - octeontx2-af: Always configure NIX TX link credits based on max frame size - net/smc: fix invalid link access in dumping SMC-R connections - net/qla3xxx: fix potential memleak in ql_alloc_buffer_queues - virtio_net: fix missing dma unmap for resize - virtio_net: avoid data-races on dev->stats fields - apparmor: Fix move_mount mediation by detecting if source is detached - igc: Fix hicredit calculation - i40e: Restore VF MSI-X state during PCI reset - ASoC: meson: g12a-tohdmitx: Fix event generation for S/PDIF mux - ASoC: meson: g12a-toacodec: Fix event generation - ASoC: meson: g12a-tohdmitx: Validate written enum values - ASoC: meson: g12a-toacodec: Validate written enum values - i40e: fix use-after-free in i40e_aqc_add_filters() - net: Save and restore msg_namelen in sock_sendmsg - netfilter: nft_immediate: drop chain reference counter on error - netfilter: nf_nat: fix action not being set for all ct states - net: bcmgenet: Fix FCS generation for fragmented skbuffs - sfc: fix a double-free bug in efx_probe_filters - ARM: sun9i: smp: Fix array-index-out-of-bounds read in sunxi_mc_smp_init - selftests: bonding: do not set port down when adding to bond - net: Implement missing getsockopt(SO_TIMESTAMPING_NEW) - r8169: Fix PCI error on system resume - net: sched: em_text: fix possible memory leak in em_text_destroy() - mlxbf_gige: fix receive packet race condition - ASoC: mediatek: mt8186: fix AUD_PAD_TOP register and offset - ASoC: fsl_rpmsg: Fix error handler with pm_runtime_enable - igc: Check VLAN EtherType mask - igc: Check VLAN TCI mask - igc: Report VLAN EtherType matching back to user - i40e: Fix filter input checks to prevent config with invalid values - ice: Shut down VSI with "link-down-on-close" enabled - ice: Fix link_down_on_close message - drm/i915/perf: Update handling of MMIO triggered reports - drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern - octeontx2-af: Fix marking couple of structure as __packed - nfc: llcp_core: Hold a ref to llcp_local->dev when holding a ref to llcp_local - netfilter: nf_tables: set transport offset from mac header for netdev/egress - drm/bridge: ps8640: Fix size mismatch warning w/ len - drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer - drm/bridge: parade-ps8640: Never store more than msg->size bytes in AUX xfer - wifi: iwlwifi: pcie: don't synchronize IRQs from IRQ - accel/qaic: Implement quirk for SOC_HW_VERSION - accel/qaic: Fix GEM import path code - KVM: x86/pmu: fix masking logic for MSR_CORE_PERF_GLOBAL_CTRL - cifs: do not depend on release_iface for maintaining iface_list - cifs: cifs_chan_is_iface_active should be called with chan_lock held - drm/mgag200: Fix gamma lut not initialized for G200ER, G200EV, G200SE - Revert "PCI/ASPM: Remove pcie_aspm_pm_state_change()" - mptcp: prevent tcp diag from closing listener subflows - drm/amd/display: pbn_div need be updated for hotplug event - ALSA: hda/realtek: Fix mute and mic-mute LEDs for HP ProBook 440 G6 - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ZBook - ALSA: hda/realtek: enable SND_PCI_QUIRK for hp pavilion 14-ec1xxx series - ALSA: hda/tas2781: remove sound controls in unbind - ALSA: hda/tas2781: move set_drv_data outside tasdevice_init - ALSA: hda/tas2781: do not use regcache - keys, dns: Fix missing size check of V1 server-list header - Revert "platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe" - netfilter: nf_tables: skip set commit for deleted/destroyed sets - wifi: nl80211: fix deadlock in nl80211_set_cqm_rssi (6.6.x) - wifi: cfg80211: fix CQM for non-range use - tracing: Fix blocked reader of snapshot buffer - ftrace: Fix modification of direct_function hash while in use - ring-buffer: Fix wake ups when buffer_percent is set to 100 - Revert "nvme-fc: fix race between error recovery and creating association" - mm/memory-failure: check the mapcount of the precise page - mm/memory-failure: cast index to loff_t before shifting it - mm: migrate high-order folios in swap cache correctly - mm/filemap: avoid buffered read/write race to read inconsistent data - selftests: secretmem: floor the memory size to the multiple of page_size - maple_tree: do not preallocate nodes for slot stores - platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe - platform/x86/intel/pmc: Move GBE LTR ignore to suspend callback - platform/x86/intel/pmc: Allow reenabling LTRs - platform/x86/intel/pmc: Add suspend callback - block: renumber QUEUE_FLAG_HW_WC - mptcp: fix inconsistent state on fastopen race - mptcp: fix possible NULL pointer dereference on close - mptcp: refactor sndbuf auto-tuning - linux/export: Ensure natural alignment of kcrctab array - linux/export: Fix alignment for 64-bit ksymtab entries - kexec: select CRYPTO from KEXEC_FILE instead of depending on it - kexec: fix KEXEC_FILE dependencies - virtio_ring: fix syncs DMA memory with different direction - fs: cifs: Fix atime update check - client: convert to new timestamp accessors - fs: new accessor methods for atime and mtime - ksmbd: avoid duplicate opinfo_put() call on error of smb21_lease_break_ack() - ksmbd: lazy v2 lease break on smb2_write() - ksmbd: send v2 lease break notification for directory - ksmbd: downgrade RWH lease caching state to RH for directory - ksmbd: set v2 lease capability - ksmbd: set epoch in create context v2 lease - ksmbd: don't update ->op_state as OPLOCK_STATE_NONE on error - ksmbd: move setting SMB2_FLAGS_ASYNC_COMMAND and AsyncId - ksmbd: release interim response after sending status pending response - ksmbd: move oplock handling after unlock parent dir - ksmbd: separately allocate ci per dentry - ksmbd: prevent memory leak on error return - ksmbd: fix kernel-doc comment of ksmbd_vfs_kern_path_locked() - ksmbd: no need to wait for binded connection termination at logoff - ksmbd: add support for surrogate pair conversion - ksmbd: fix missing RDMA-capable flag for IPoIB device in ksmbd_rdma_capable_netdev() - ksmbd: fix kernel-doc comment of ksmbd_vfs_setxattr() - ksmbd: reorganize ksmbd_iov_pin_rsp() - ksmbd: Remove unused field in ksmbd_user struct - spi: cadence: revert "Add SPI transfer delays" - x86/smpboot/64: Handle X2APIC BIOS inconsistency gracefully - x86/alternatives: Disable interrupts and sync when optimizing NOPs in place - x86/alternatives: Sync core before enabling interrupts - KVM: arm64: vgic: Force vcpu vgic teardown on vcpu destroy - KVM: arm64: vgic: Add a non-locking primitive for kvm_vgic_vcpu_destroy() - KVM: arm64: vgic: Simplify kvm_vgic_destroy() - thunderbolt: Fix memory leak in margining_port_remove() - lib/vsprintf: Fix %pfwf when current node refcount == 0 - gpio: dwapb: mask/unmask IRQ when disable/enale it - bus: ti-sysc: Flush posted write only after srst_udelay - pinctrl: starfive: jh7100: ignore disabled device tree nodes - pinctrl: starfive: jh7110: ignore disabled device tree nodes - selftests: mptcp: join: fix subflow_send_ack lookup - dm-integrity: don't modify bio's immutable bio_vec in integrity_metadata() - tracing / synthetic: Disable events after testing in synth_event_gen_test_init() - scsi: core: Always send batch on reset or error handling command - Revert "scsi: aacraid: Reply queue mapping to CPUs based on IRQ affinity" - nvmem: brcm_nvram: store a copy of NVRAM content - spi: atmel: Fix clock issue when using devices with different polarities - spi: atmel: Prevent spi transfers from being killed - spi: atmel: Do not cancel a transfer upon any signal - ring-buffer: Fix slowpath of interrupted event - ring-buffer: Remove useless update to write_stamp in rb_try_to_discard() - ring-buffer: Fix 32-bit rb_time_read() race with rb_time_cmpxchg() - 9p: prevent read overrun in protocol dump tracepoint - drm/i915/dmc: Don't enable any pipe DMC events - drm/i915: Reject async flips with bigjoiner - smb: client: fix OOB in smbCalcSize() - smb: client: fix OOB in SMB2_query_info_init() - smb: client: fix potential OOB in cifs_dump_detail() - smb: client: fix OOB in cifsd when receiving compounded resps - nfsd: call nfsd_last_thread() before final nfsd_put() - dt-bindings: nvmem: mxs-ocotp: Document fsl,ocotp - net: stmmac: fix incorrect flag check in timestamp interrupt - net: avoid build bug in skb extension length calculation - net: ks8851: Fix TX stall caused by TX buffer overrun - net: rfkill: gpio: set GPIO direction - net: 9p: avoid freeing uninit memory in p9pdu_vreadf - Input: soc_button_array - add mapping for airplane mode button - net: usb: ax88179_178a: avoid failed operations when device is disconnected - usb: fotg210-hcd: delete an incorrect bounds test - usb: typec: ucsi: fix gpio-based orientation detection - Bluetooth: Add more enc key size check - Bluetooth: MGMT/SMP: Fix address type when using SMP over BREDR/LE - Bluetooth: L2CAP: Send reject on command corrupted request - Bluetooth: af_bluetooth: Fix Use-After-Free in bt_sock_recvmsg - Bluetooth: hci_event: Fix not checking if HCI_OP_INQUIRY has been sent - ASoC: tas2781: check the validity of prm_no/cfg_no - ALSA: hda/realtek: Add quirk for ASUS ROG GV302XA - ALSA: hda/tas2781: select program 0, conf 0 by default - USB: serial: option: add Quectel RM500Q R13 firmware support - USB: serial: option: add Foxconn T99W265 with new baseline - USB: serial: option: add Quectel EG912Y module support - USB: serial: ftdi_sio: update Actisense PIDs constant names - wifi: cfg80211: fix certs build to not depend on file order - wifi: cfg80211: Add my certificate - wifi: mt76: fix crash with WED rx support enabled - usb-storage: Add quirk for incorrect WP on Kingston DT Ultimate 3.0 G3 - ARM: dts: Fix occasional boot hang for am3 usb - ALSA: usb-audio: Increase delay in MOTU M quirk - iio: triggered-buffer: prevent possible freeing of wrong buffer - iio: tmag5273: fix temperature offset - iio: adc: ti_am335x_adc: Fix return value check of tiadc_request_dma() - iio: imu: adis16475: add spi_device_id table - iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table - iio: adc: imx93: add four channels for imx93 adc - iio: kx022a: Fix acceleration value scaling - scsi: ufs: core: Let the sq_lock protect sq_tail_slot access - scsi: ufs: qcom: Return ufs_qcom_clk_scale_*() errors in ufs_qcom_clk_scale_notify() - scsi: bnx2fc: Fix skb double free in bnx2fc_rcv() - iio: adc: meson: add separate config for axg SoC family - Input: ipaq-micro-keys - add error handling for devm_kmemdup - interconnect: qcom: sm8250: Enable sync_state - iio: imu: inv_mpu6050: fix an error code problem in inv_mpu6050_read_raw - interconnect: Treat xlate() returning NULL node as an error - nvme-pci: fix sleeping function called from interrupt context - gpiolib: cdev: add gpio_device locking wrapper around gpio_ioctl() - pinctrl: at91-pio4: use dedicated lock class for IRQ - x86/xen: add CPU dependencies for 32-bit build - i2c: aspeed: Handle the coalesced stop conditions with the start conditions. - drm/amdgpu: re-create idle bo's PTE during VM state machine reset - i2c: qcom-geni: fix missing clk_disable_unprepare() and geni_se_resources_off() - ASoC: fsl_sai: Fix channel swap issue on i.MX8MP - ASoC: hdmi-codec: fix missing report for jack initial status - drm/i915/mtl: Fix HDMI/DP PLL clock selection - drm/i915/hwmon: Fix static analysis tool reported issues - afs: Fix use-after-free due to get/remove race in volume tree - afs: Fix overwriting of result of DNS query - keys, dns: Allow key types (eg. DNS) to be reclaimed immediately on expiry - net: check dev->gso_max_size in gso_features_check() - net/ipv6: Revert remove expired routes with a separated list of routes - net: ethernet: mtk_wed: fix possible NULL pointer dereference in mtk_wed_wo_queue_tx_clean() - afs: Fix dynamic root lookup DNS check - afs: Fix the dynamic root's d_delete to always delete unused dentries - net: check vlan filter feature in vlan_vids_add_by_dev() and vlan_vids_del_by_dev() - net: mana: select PAGE_POOL - ice: Fix PF with enabled XDP going no-carrier after reset - ice: alter feature support check for SRIOV and LAG - ice: stop trashing VF VSI aggregator node ID information - net: phy: skip LED triggers on PHYs on SFP modules - bnxt_en: do not map packet buffers twice - Bluetooth: hci_core: Fix hci_conn_hash_lookup_cis - Bluetooth: hci_event: shut up a false-positive warning - Bluetooth: Fix deadlock in vhci_send_frame - Bluetooth: Fix not notifying when connection encryption changes - net/rose: fix races in rose_kill_by_device() - ethernet: atheros: fix a memleak in atl1e_setup_ring_resources - net: sched: ife: fix potential use-after-free - net: Return error from sk_stream_wait_connect() if sk_wait_event() fails - octeontx2-pf: Fix graceful exit during PFC configuration failure - net: mscc: ocelot: fix pMAC TX RMON stats for bucket 256-511 and above - net: mscc: ocelot: fix eMAC TX RMON stats for bucket 256-511 and above - net/mlx5e: Correct snprintf truncation handling for fw_version buffer used by representors - net/mlx5e: Correct snprintf truncation handling for fw_version buffer - net/mlx5e: Fix error codes in alloc_branch_attr() - net/mlx5e: Fix error code in mlx5e_tc_action_miss_mapping_get() - net/mlx5: Refactor mlx5_flow_destination->rep pointer to vport num - net/mlx5: Fix fw tracer first block check - net/mlx5e: XDP, Drop fragmented packets larger than MTU size - net/mlx5e: Decrease num_block_tc when unblock tc offload - net/mlx5e: Fix overrun reported by coverity - net/mlx5e: fix a potential double-free in fs_udp_create_groups - net/mlx5e: Fix a race in command alloc flow - net/mlx5e: Fix slab-out-of-bounds in mlx5_query_nic_vport_mac_list() - Revert "net/mlx5e: fix double free of encap_header" - Revert "net/mlx5e: fix double free of encap_header in update funcs" - bpf: syzkaller found null ptr deref in unix_bpf proto add - ice: fix theoretical out-of-bounds access in ethtool link modes - wifi: mac80211: mesh_plink: fix matches_local logic - wifi: mac80211: mesh: check element parsing succeeded - wifi: mac80211: check defragmentation succeeded - wifi: mac80211: don't re-add debugfs during reconfig - wifi: mac80211: check if the existing link config remains unchanged - wifi: iwlwifi: pcie: add another missing bh-disable for rxq->lock - wifi: ieee80211: don't require protected vendor action frames - SUNRPC: Revert 5f7fc5d69f6e92ec0b38774c387f5cf7812c5806 - platform/x86/intel/pmc: Fix hang in pmc_core_send_ltr_ignore() - s390/vx: fix save/restore of fpu kernel context - reset: Fix crash when freeing non-existent optional resets - ARM: OMAP2+: Fix null pointer dereference and memory leak in omap_soc_device_init - ARM: dts: dra7: Fix DRA7 L3 NoC node register size - arm64: dts: allwinner: h616: update emac for Orange Pi Zero 3 - spi: spi-imx: correctly configure burst length when using dma - drm: Fix FD ownership check in drm_master_check_perm() - drm: Update file owner during use - drm/i915/edp: don't write to DP_LINK_BW_SET when using rate select - drm/i915: Introduce crtc_state->enhanced_framing - drm/i915: Fix FEC state dump - drm/amd/display: fix hw rotated modes when PSR-SU is enabled - btrfs: free qgroup pertrans reserve on transaction abort - btrfs: qgroup: use qgroup_iterator in qgroup_convert_meta() - btrfs: qgroup: iterate qgroups without memory allocation for qgroup_reserve() - mm/damon/core: make damon_start() waits until kdamond_fn() starts - mm/damon/core: use number of passed access sampling as a timer - bpf: Fix prog_array_map_poke_run map poke update - !5451 arm64: Delete macro in the scsnp feature - arm64: Delete macro in the scsnp feature - !5037 [OLK-6.6] Add support for Mucse Network Adapter(N500/N210) - drivers: initial support for rnpgbe drivers from Mucse Technology - !4782 [OLK-6.6] Add drivers support for Mucse Network Adapter rnpm (N10/N400) - drivers: initial support for rnpm drivers from Mucse Technology - !5340 CVE-2023-52593 - wifi: wfx: fix possible NULL pointer dereference in wfx_set_mfp_ap() - !5341 powerpc/lib: Validate size for vector operations - powerpc/lib: Validate size for vector operations - !5346 v2 s390/vfio-ap: always filter entire AP matrix - s390/vfio-ap: always filter entire AP matrix - !5248 mm: cachestat: fix folio read-after-free in cache walk - mm: cachestat: fix folio read-after-free in cache walk - !5212 [OLK-6.6] Support PSPCCP/NTBCCP identification for Hygon 2th and 3th CPU - crypto: ccp: Add Hygon CSV support - crypto: ccp: Fixup the capability of Hygon PSP during initialization - !5318 Backport 6.6.8 LTS Patches - RDMA/mlx5: Change the key being sent for MPV device affiliation - x86/speculation, objtool: Use absolute relocations for annotations - ring-buffer: Have rb_time_cmpxchg() set the msb counter too - ring-buffer: Do not try to put back write_stamp - ring-buffer: Fix a race in rb_time_cmpxchg() for 32 bit archs - ring-buffer: Fix writing to the buffer with max_data_size - ring-buffer: Have saved event hold the entire event - ring-buffer: Do not update before stamp when switching sub-buffers - tracing: Update snapshot buffer on resize if it is allocated - ring-buffer: Fix memory leak of free page - smb: client: fix OOB in smb2_query_reparse_point() - smb: client: fix NULL deref in asn1_ber_decoder() - smb: client: fix potential OOBs in smb2_parse_contexts() - drm/i915: Fix remapped stride with CCS on ADL+ - drm/i915: Fix intel_atomic_setup_scalers() plane_state handling - drm/i915: Fix ADL+ tiled plane stride when the POT stride is smaller than the original - drm/amd/display: Disable PSR-SU on Parade 0803 TCON again - drm/amd/display: Restore guard against default backlight value < 1 nit - drm/edid: also call add modes in EDID connector update fallback - drm/amdgpu: fix tear down order in amdgpu_vm_pt_free - btrfs: don't clear qgroup reserved bit in release_folio - btrfs: fix qgroup_free_reserved_data int overflow - btrfs: free qgroup reserve when ORDERED_IOERR is set - kexec: drop dependency on ARCH_SUPPORTS_KEXEC from CRASH_DUMP - mm/shmem: fix race in shmem_undo_range w/THP - mm/mglru: reclaim offlined memcgs harder - mm/mglru: respect min_ttl_ms with memcgs - mm/mglru: try to stop at high watermarks - mm/mglru: fix underprotected page cache - dmaengine: fsl-edma: fix DMA channel leak in eDMAv4 - dmaengine: stm32-dma: avoid bitfield overflow assertion - drm/mediatek: Fix access violation in mtk_drm_crtc_dma_dev_get - drm/amdgpu/sdma5.2: add begin/end_use ring callbacks - team: Fix use-after-free when an option instance allocation fails - arm64: mm: Always make sw-dirty PTEs hw-dirty in pte_modify - Revert "selftests: error out if kernel header files are not yet built" - ext4: prevent the normalized size from exceeding EXT_MAX_BLOCKS - soundwire: stream: fix NULL pointer dereference for multi_link - cxl/hdm: Fix dpa translation locking - btrfs: do not allow non subvolume root targets for snapshot - perf: Fix perf_event_validate_size() lockdep splat - HID: hid-asus: add const to read-only outgoing usb buffer - arm64: add dependency between vmlinuz.efi and Image - smb: client: set correct file type from NFS reparse points - smb: client: introduce ->parse_reparse_point() - smb: client: implement ->query_reparse_point() for SMB1 - net: usb: qmi_wwan: claim interface 4 for ZTE MF290 - eventfs: Do not allow NULL parent to eventfs_start_creating() - asm-generic: qspinlock: fix queued_spin_value_unlocked() implementation - scripts/checkstack.pl: match all stack sizes for s390 - nfc: virtual_ncidev: Add variable to check if ndev is running - HID: multitouch: Add quirk for HONOR GLO-GXXX touchpad - HID: hid-asus: reset the backlight brightness level on resume - HID: add ALWAYS_POLL quirk for Apple kb - HID: glorious: fix Glorious Model I HID report - HID: apple: add Jamesdonkey and A3R to non-apple keyboards list - HID: mcp2221: Allow IO to start during probe - HID: mcp2221: Set driver data before I2C adapter add - platform/x86: intel_telemetry: Fix kernel doc descriptions - LoongArch: Mark {dmw,tlb}_virt_to_page() exports as non-GPL - LoongArch: Silence the boot warning about 'nokaslr' - LoongArch: Record pc instead of offset in la_abs relocation - LoongArch: Add dependency between vmlinuz.efi and vmlinux.efi - selftests/bpf: fix bpf_loop_bench for new callback verification scheme - nvme: catch errors from nvme_configure_metadata() - nvme-auth: set explanation code for failure2 msgs - bcache: avoid NULL checking to c->root in run_cache_set() - bcache: add code comments for bch_btree_node_get() and __bch_btree_node_alloc() - bcache: remove redundant assignment to variable cur_idx - bcache: avoid oversize memory allocation by small stripe_size - blk-throttle: fix lockdep warning of "cgroup_mutex or RCU read lock required!" - rxrpc: Fix some minor issues with bundle tracing - stmmac: dwmac-loongson: Add architecture dependency - usb: aqc111: check packet for fixup for true limit - x86/hyperv: Fix the detection of E820_TYPE_PRAM in a Gen2 VM - selftests/mm: cow: print ksft header before printing anything else - drm/i915: Use internal class when counting engine resets - drm/i915/selftests: Fix engine reset count storage for multi-tile - accel/ivpu/37xx: Fix interrupt_clear_with_0 WA initialization - accel/ivpu: Print information about used workarounds - drm/mediatek: Add spinlock for setting vblank event in atomic_begin - drm/mediatek: fix kernel oops if no crtc is found - PCI: vmd: Fix potential deadlock when enabling ASPM - ksmbd: fix wrong name of SMB2_CREATE_ALLOCATION_SIZE - PCI/ASPM: Add pci_enable_link_state_locked() - PCI: loongson: Limit MRRS to 256 - Revert "PCI: acpiphp: Reassign resources on bridge if necessary" - ALSA: hda/tas2781: reset the amp before component_add - ALSA: hda/tas2781: call cleanup functions only once - ALSA: hda/tas2781: handle missing EFI calibration data - ALSA: hda/tas2781: leave hda_component in usable state - ALSA: hda/realtek: Apply mute LED quirk for HP15-db - ALSA: hda/hdmi: add force-connect quirks for ASUSTeK Z170 variants - ALSA: hda/hdmi: add force-connect quirk for NUC5CPYB - io_uring/cmd: fix breakage in SOCKET_URING_OP_SIOC* implementation - fuse: dax: set fc->dax to NULL in fuse_dax_conn_free() - fuse: disable FOPEN_PARALLEL_DIRECT_WRITES with FUSE_DIRECT_IO_ALLOW_MMAP - fuse: share lookup state between submount and its parent - fuse: Rename DIRECT_IO_RELAX to DIRECT_IO_ALLOW_MMAP - HID: Add quirk for Labtec/ODDOR/aikeec handbrake - HID: i2c-hid: Add IDEA5002 to i2c_hid_acpi_blacklist[] - net: atlantic: fix double free in ring reinit logic - appletalk: Fix Use-After-Free in atalk_ioctl - net: stmmac: Handle disabled MDIO busses from devicetree - net: stmmac: dwmac-qcom-ethqos: Fix drops in 10M SGMII RX - dpaa2-switch: do not ask for MDB, VLAN and FDB replay - dpaa2-switch: fix size of the dma_unmap - vsock/virtio: Fix unsigned integer wrap around in virtio_transport_has_space() - sign-file: Fix incorrect return values check - stmmac: dwmac-loongson: Make sure MDIO is initialized before use - net: ena: Fix XDP redirection error - net: ena: Fix DMA syncing in XDP path when SWIOTLB is on - net: ena: Fix xdp drops handling due to multibuf packets - net: ena: Destroy correct number of xdp queues upon failure - net: Remove acked SYN flag from packet in the transmit queue correctly - qed: Fix a potential use-after-free in qed_cxt_tables_alloc - iavf: Fix iavf_shutdown to call iavf_remove instead iavf_close - iavf: Handle ntuple on/off based on new state machines for flow director - iavf: Introduce new state machines for flow director - net/rose: Fix Use-After-Free in rose_ioctl - atm: Fix Use-After-Free in do_vcc_ioctl - octeontx2-af: Fix pause frame configuration - octeontx2-af: Update RSS algorithm index - octeontx2-pf: Fix promisc mcam entry action - octeon_ep: explicitly test for firmware ready value - net/sched: act_ct: Take per-cb reference to tcf_ct_flow_table - octeontx2-af: fix a use-after-free in rvu_nix_register_reporters - net: fec: correct queue selection - atm: solos-pci: Fix potential deadlock on &tx_queue_lock - atm: solos-pci: Fix potential deadlock on &cli_queue_lock - bnxt_en: Fix HWTSTAMP_FILTER_ALL packet timestamp logic - bnxt_en: Fix wrong return value check in bnxt_close_nic() - bnxt_en: Fix skb recycling logic in bnxt_deliver_skb() - bnxt_en: Clear resource reservation during resume - qca_spi: Fix reset behavior - qca_debug: Fix ethtool -G iface tx behavior - qca_debug: Prevent crash on TX ring changes - net: ipv6: support reporting otherwise unknown prefix flags in RTM_NEWPREFIX - net/mlx5: Fix a NULL vs IS_ERR() check - net/mlx5e: Check netdev pointer before checking its net ns - net/mlx5: Nack sync reset request when HotPlug is enabled - net/mlx5e: TC, Don't offload post action rule if not supported - net/mlx5e: Fix possible deadlock on mlx5e_tx_timeout_work - net/mlx5e: Disable IPsec offload support if not FW steering - RDMA/mlx5: Send events from IB driver about device affiliation state - net/mlx5e: Check the number of elements before walk TC rhashtable - net/mlx5e: Reduce eswitch mode_lock protection context - net/mlx5e: Tidy up IPsec NAT-T SA discovery - net/mlx5e: Unify esw and normal IPsec status table creation/destruction - net/mlx5e: Ensure that IPsec sequence packet number starts from 1 - net/mlx5e: Honor user choice of IPsec replay window size - HID: lenovo: Restrict detection of patched firmware only to USB cptkbd - afs: Fix refcount underflow from error handling race - efi/x86: Avoid physical KASLR on older Dell systems - ksmbd: fix memory leak in smb2_lock() - ext4: fix warning in ext4_dio_write_end_io() - r8152: add vendor/device ID pair for ASUS USB-C2500 - !5239 crypto: hisilicon support no-sva feature - crypto: hisilicon/qm - register to UACCE subsystem in UACCE_MODE_NOIOMMU mode - crypto: hisilicon/qm - get the type of iommu - uacce: support UACCE_MODE_NOIOMMU mode - !5256 net: hns3: some bugfix for the HNS3 ethernet driver - net: hns3: add checking for vf id of mailbox - net: hns3: fix port duplex configure error in IMP reset - net: hns3: fix reset timeout under full functions and queues - net: hns3: fix delete tc fail issue - net: hns3: fix kernel crash when 1588 is received on HIP08 devices - net: hns3: Disable SerDes serial loopback for HiLink H60 - net: hns3: add new 200G link modes for hisilicon device - net: hns3: fix wrong judgment condition issue - !5250 f2fs: fix to tag gcing flag on page during block migration - f2fs: fix to tag gcing flag on page during block migration - !5249 btrfs: scrub: avoid use-after-free when chunk length is not 64K aligned - btrfs: scrub: avoid use-after-free when chunk length is not 64K aligned - !5244 ceph: fix deadlock or deadcode of misusing dget() - ceph: fix deadlock or deadcode of misusing dget() - !5180 RDMA/hns: Support hns RoCE Bonding - RDMA/hns: Fix the concurrency error between bond and reset. - RDMA/hns: Fix the device loss after unbinding RoCE bond resource slave - RDMA/hns: Fix wild pointer error of RoCE bonding when rmmod hns3 - RDMA/hns: Support reset recovery for RoCE bonding - RDMA/hns: Add functions to obtain netdev and bus_num from an hr_dev - RDMA/hns: Support dispatching IB event for RoCE bonding - RDMA/hns: Set IB port state depending on upper device for RoCE bonding - RDMA/hns: Support RoCE bonding- !5174 [OLK-6.6][sync from OLK-5.10] Introduce multiple LPI translation caches - KVM:arm64:vgic update openEuler's config's to enable MULTI_LPI_TRANSLATE_CACHE - KVM: arm64: vgic-its: Do not execute invalidate MSI-LPI translation cache on movi command - KVM: arm64: vgic-its: Introduce multiple LPI translation caches - !5208 Revert “Fix the header file location error and adjust the function and structure version.” - Revert “Fix the header file location error and adjust the function and structure version.” - !5199 v2 mTHP anon support - uprobes: use pagesize-aligned virtual address when replacing pages - selftests/mm/cow: add tests for anonymous multi-size THP - selftests/mm/cow: generalize do_run_with_thp() helper - selftests/mm/khugepaged: enlighten for multi-size THP - selftests/mm: support multi-size THP interface in thp_settings - selftests/mm: factor out thp settings management - selftests/mm/kugepaged: restore thp settings at exit - mm: thp: support allocation of anonymous multi-size THP - mm: thp: introduce multi-size THP sysfs interface - mm: non-pmd-mappable, large folios for folio_add_new_anon_rmap() - mm: allow deferred splitting of arbitrary anon large folios - mm/readahead: do not allow order-1 folio - mm: more ptep_get() conversion - mm/thp: fix "mm: thp: kill __transhuge_page_enabled()" - memory: move exclusivity detection in do_wp_page() into wp_can_reuse_anon_folio() - mm/rmap: convert page_move_anon_rmap() to folio_move_anon_rmap() - mm/rmap: move SetPageAnonExclusive() out of page_move_anon_rmap() - mm/rmap: pass folio to hugepage_add_anon_rmap() - mm/rmap: simplify PageAnonExclusive sanity checks when adding anon rmap - mm/rmap: warn on new PTE-mapped folios in page_add_anon_rmap() - mm/rmap: move folio_test_anon() check out of __folio_set_anon() - mm/rmap: move SetPageAnonExclusive out of __page_set_anon_rmap() - mm/rmap: drop stale comment in page_add_anon_rmap and hugepage_add_anon_rmap() - !4908 cgroup/cpuset: add exclusive and exclusive.effective for v2 - cgroup/cpuset: Fix retval in update_cpumask() - cgroup/cpuset: Fix a memory leak in update_exclusive_cpumask() - cgroup/cpuset: Cleanup signedness issue in cpu_exclusive_check() - cgroup/cpuset: Enable invalid to valid local partition transition - cgroup/cpuset: Check partition conflict with housekeeping setup - cgroup/cpuset: Introduce remote partition - cgroup/cpuset: Add cpuset.cpus.exclusive for v2 - cgroup/cpuset: Add cpuset.cpus.exclusive.effective for v2 - !5159 【OLK-6.6】iommu: reserve KABI for struct iommu_ops - [OLK-6.6] iommu:kabi reserver space for struct iommu_ops - !5149 net: hns3: add support some customized exception handling interfaces - net: hns3: add input parameters checking - net: hns3: add extend interface support for read and write phy register - net: hns3: add support set led - net: hns3: add support set mac state - net: hns3: add support detect port wire type - net: hns3: add support PF provides customized interfaces to detect port faults. - net: hns3: support set pfc pause trans time - net: hns3: add support disable nic clock - net: hns3: add support config and query serdes lane status - net: hns3: add supports configure optical module enable - net: hns3: add support query the presence of optical module - net: hns3: add support modified tx timeout - net: hns3: add support query port ext information - net: hns3: add support configuring function-level interrupt affinity - net: hns3: add support clear mac statistics - net: hns3: add support to get/set 1d torus param - net: hns3: add supports fast reporting of faulty nodes - net: hns3: add supports pfc storm detection and suppression - net: hns3: add support customized exception handling interfaces - !4761 [OLK-6.6] backport 6.7 kernel signal patch - riscv: signal: handle syscall restart before get_signal - !5151 intel-sig: configs: enable TPMI related configs for OLK6.6 - config: update Intel TPMI based driver configs to openeuler_defconfig for x86 - !5150 intel-sig: configs: enable PMT related configs for OLK6.6 - config: x86: Intel: enabled PMT SDSI TPMI configs - !4427 【OLK-6.6】watchdog: Support watchdog_sdei coexist with existing watchdogs - watchdog: Support watchdog_sdei coexist with existing watchdogs - !4776 [OLK-6.6] kabi:reserve space for msi expansion - [OLK-6.6] kabi:reserve space for msi expansion - !5041 [OLK-6.6] support the AMD Zen5 Turin - x86/CPU/AMD: Add more models to X86_FEATURE_ZEN5 - x86/CPU/AMD: Add X86_FEATURE_ZEN5 - x86/CPU/AMD: Add X86_FEATURE_ZEN1 - x86/CPU/AMD: Drop now unused CPU erratum checking function - x86/CPU/AMD: Get rid of amd_erratum_1485[] - x86/CPU/AMD: Get rid of amd_erratum_400[] - x86/CPU/AMD: Get rid of amd_erratum_383[] - x86/CPU/AMD: Get rid of amd_erratum_1054[] - x86/CPU/AMD: Move the DIV0 bug detection to the Zen1 init function - x86/CPU/AMD: Move Zenbleed check to the Zen2 init function - x86/CPU/AMD: Rename init_amd_zn() to init_amd_zen_common() - x86/CPU/AMD: Call the spectral chicken in the Zen2 init function - x86/CPU/AMD: Move erratum 1076 fix into the Zen1 init function - x86/CPU/AMD: Move the Zen3 BTC_NO detection to the Zen3 init function - x86/CPU/AMD: Carve out the erratum 1386 fix - x86/CPU/AMD: Add ZenX generations flags - !5036 [OLK-6.6] Do not serialize MSR accesses on AMD - x86/barrier: Do not serialize MSR accesses on AMD - !5134 modpost: Optimize symbol search from linear to binary search - modpost: Optimize symbol search from linear to binary search - !4826 add sw64 architecture support - drivers: vfio: add sw64 support - drivers: usb: add sw64 support - drivers: tty: add sw64 support - drivers: spi: add sw64 support - drivers: scsi: add sw64 support - drivers: rtc: add sw64 rtc support - drivers: qemu_fw_cfg: add sw64 support - drivers: platform: add sw64 support - drivers: pci: add sw64 support - drivers: misc: add sw64 support - drivers: mfd: add sw64 support - drivers: irqchip: add sw64 support - drivers: iommu: add sw64 support - drivers: i2c: add sw64 support - drivers: hwmon: add sw64 support - drivers: gpio: add sw64 support - drivers: efi: add sw64 support - !4927 ima: digest list new support modsig - ima: digest list new support modsig - !4971 net: hns3: backport some patch from kernel 6.7 - net: hns3: add some link modes for hisilicon device - net: hns3: add vf fault detect support - net: hns3: add hns3 vf fault detect cap bit support - !5040 [OLK-6.6] Add support for Vendor Defined Error Types in Einj Module - ACPI: APEI: EINJ: Add support for vendor defined error types - platform/chrome: cros_ec_debugfs: Fix permissions for panicinfo - fs: debugfs: Add write functionality to debugfs blobs - ACPI: APEI: EINJ: Refactor available_error_type_show() - !5039 [OLK-6.6] Fix disabling memory if DVSEC CXL Range does not match a CFMWS window - cxl/pci: Fix disabling memory if DVSEC CXL Range does not match a CFMWS window - !5047 Backport etmem swapcache recalim feature to OLK 6.6 - etmem: add swapcache reclaim to etmem - etmem: Expose symbol reclaim_folio_list - !4514 [OLK-6.6] kabi: IOMMU subsystem reservation - kabi: IOMMU reservations - kabi: bus_type, device_driver, dev_pm_ops reservation - !5056 erofs: fix handling kern_mount() failure - erofs: fix handling kern_mount() failure - !5059 dm: limit the number of targets and parameter size area - dm: limit the number of targets and parameter size area - !5021 LoongArch: fix some known issue and update defconfig - LoongArch: enable CONFIG_DEBUG_INFO_BTF by default - net: stmmac: fix potential double free of dma descriptor resources - drm/radeon: Workaround radeon driver bug for Loongson - irqchip/loongson-liointc: Set different isr for differnt core - LoongArch: kdump: Add high memory reservation - LoongArch: Fix kdump failure on v40 interface specification - LoongArch: kexec: Add compatibility with old interfaces - LoongArch: kdump: Add memory reservation for old kernel - LoongArch: defconfig: Enable a large number of configurations - irqchip/loongson-pch-pic: 7a1000 int_clear reg must use 64bit write. - LoongArch: Remove generic irq migration - LoongArch: Adapted SECTION_SIZE_BITS with page size - !4689 Remove WQ_FLAG_BOOKMARK flag - sched: remove wait bookmarks - filemap: remove use of wait bookmarks - !5024 v2 vmemmap optimize bugfix - mm: hugetlb_vmemmap: allow alloc vmemmap pages fallback to other nodes - mm: hugetlb_vmemmap: fix hugetlb page number decrease failed on movable nodes - !4653 [OLK-6.6] Add support for Mucse Network Adapter(N10/N400) - drivers: initial support for rnp drivers from Mucse Technology - !4935 RDMA/hns: Support userspace configuring congestion control algorithm with QP granularity - RDMA/hns: Support userspace configuring congestion control algorithm with QP granularity - RDMA/hns: Fix mis-modifying default congestion control algorithm - !4993 v3 kworker: Fix the problem of ipsan performance degradation - Add kernel compilation configuration options - iscsi: use dynamic single thread workqueue to improve performance - workqueue: add member for NUMA aware order workqueue and implement NUMA affinity for single thread workqueue - !4930 erofs: fix lz4 inplace decompression - erofs: fix lz4 inplace decompression - !4082 【OLK-6.6】KVM: arm64: vtimer irq bypass support - mbigen: probe mbigen driver with arch_initcall - mbigen: vtimer: disable vtimer mbigen probe when vtimer_irqbypass disabled - mbigen: Sets the regs related to vtimer irqbypass - KVM: arm64: vgic-v3: Clearing pending status of vtimer on guest reset - mbigen: vtimer: add support for MBIX1_CPPI_NEGEDGE_CLR_EN_SETR(CLRR) - KVM: arm64: arch_timer: Make vtimer_irqbypass a Distributor attr - KVM: arm64: vtimer: Expose HW-based vtimer interrupt in debugfs - KVM: arm64: GICv4.1: Allow non-trapping WFI when using direct vtimer interrupt - KVM: arm64: GICv4.1: Add support for MBIGEN save/restore - KVM: arm64: arch_timer: Rework vcpu init/reset logic - KVM: arm64: arch_timer: Probe vtimer irqbypass capability - KVM: arm64: GICv4.1: Enable vtimer vPPI irqbypass config - KVM: arm64: GICv4.1: Add direct injection capability to PPI registers - KVM: arm64: vgic: Add helper for vtimer vppi info register - KVM: arm64: GICv4.1: Inform the HiSilicon vtimer irqbypass capability - irqchip/gic-v4.1: Probe vtimer irqbypass capability at RD level - irqchip/gic-v4.1: Rework its_alloc_vcpu_sgis() to support vPPI allocation - irqchip/gic-v4.1: Rework get/set_irqchip_state callbacks of GICv4.1-sgi chip - irqchip/gic-v4.1: Extend VSGI command to support the new vPPI - irqchip/gic-v4.1: Detect ITS vtimer interrupt bypass capability - mbigen: vtimer mbigen driver support - mbigen: vtimer: isolate mbigen vtimer funcs with macro - !4875 [OLK-6.6] backport latest v6.8 iommu fixes - iommufd/selftest: Don't check map/unmap pairing with HUGE_PAGES - iommufd: Fix protection fault in iommufd_test_syz_conv_iova - iommufd/selftest: Fix mock_dev_num bug - iommufd: Fix iopt_access_list_id overwrite bug - iommu/sva: Fix SVA handle sharing in multi device case - !4867 ext4: regenerate buddy after block freeing failed if under fc replay - ext4: regenerate buddy after block freeing failed if under fc replay - !4851 cachefiles: fix memory leak in cachefiles_add_cache() - cachefiles: fix memory leak in cachefiles_add_cache() - !4913 RDMA/hns: Support SCC parameter configuration and reporting of the down/up event of the HNS RoCE network port - RDMA/hns: Add support for sending port down event fastly - RDMA/hns: Deliver net device event to ofed - RDMA/hns: Support congestion control algorithm parameter configuration - !4670 crypto HiSilicon round main line code - crypto: hisilicon/qm - change function type to void - crypto: hisilicon/qm - obtain stop queue status - crypto: hisilicon/qm - add stop function by hardware - crypto: hisilicon/sec - remove unused parameter - crypto: hisilicon/sec2 - fix some cleanup issues - crypto: hisilicon/sec2 - modify nested macro call - crypto: hisilicon/sec2 - updates the sec DFX function register - crypto: hisilicon - Fix smp_processor_id() warnings - crypto: hisilicon/qm - dump important registers values before resetting - crypto: hisilicon/qm - support get device state - crypto: hisilicon/sec2 - optimize the error return process - crypto: hisilicon/qm - delete a dbg function - crypto: hisilicon/sec2 - Remove cfb and ofb - crypto: hisilicon/zip - save capability registers in probe process - crypto: hisilicon/sec2 - save capability registers in probe process - crypto: hisilicon/hpre - save capability registers in probe process - crypto: hisilicon/qm - save capability registers in qm init process - crypto: hisilicon/qm - add a function to set qm algs - crypto: hisilicon/qm - add comments and remove redundant array element - crypto: hisilicon/qm - simplify the status of qm - crypto: hisilicon/sgl - small cleanups for sgl.c - crypto: hisilicon/zip - add zip comp high perf mode configuration - crypto: hisilicon/qm - remove incorrect type cast - crypto: hisilicon/qm - print device abnormal information - crypto: hisilicon/trng - Convert to platform remove callback returning void - crypto: hisilicon/sec - Convert to platform remove callback returning void - crypto: hisilicon/qm - fix EQ/AEQ interrupt issue - crypto: hisilicon/qm - alloc buffer to set and get xqc - crypto: hisilicon/qm - check function qp num before alg register - crypto: hisilicon/qm - fix the type value of aeq - crypto: hisilicon/sec - fix for sgl unmmap problem - crypto: hisilicon/zip - remove zlib and gzip - crypto: hisilicon/zip - support deflate algorithm - uacce: make uacce_class constant - !4725 [OLK-6.6] merge upstream net-v6.7 all wangxun patches - net: fill in MODULE_DESCRIPTION()s for wx_lib - wangxun: select CONFIG_PHYLINK where needed - net: wangxun: add ethtool_ops for msglevel - net: wangxun: add coalesce options support - net: wangxun: add ethtool_ops for ring parameters - net: wangxun: add flow control support - net: ngbe: convert phylib to phylink - net: txgbe: use phylink bits added in libwx - net: libwx: add phylink to libwx - net: wangxun: remove redundant kernel log - net: ngbe: add ethtool stats support - net: txgbe: add ethtool stats support - net: wangxun: move MDIO bus implementation to the library - net: libwx: fix memory leak on free page - net: libwx: support hardware statistics - net: wangxun: fix changing mac failed when running - !4841 Intel-sig: intel_idle: add Sierra Forest SoC support on 6.6 - intel_idle: add Sierra Forest SoC support - !4834 ras: fix return type of log_arm_hw_error when not add CONFIG_RAS_ARM_EVENT_INFO config - ras: fix return type of log_arm_hw_error when not add CONFIG_RAS_ARM_EVENT_INFO config - !4845 PCI: Avoid potential out-of-bounds read in pci_dev_for_each_resource() - PCI: Avoid potential out-of-bounds read in pci_dev_for_each_resource() - !4773 Add loongarch kernel kvm support - loongarch/kernel: Fix loongarch compilation error - LoongArch: KVM: Add returns to SIMD stubs - LoongArch: KVM: Streamline kvm_check_cpucfg() and improve comments - LoongArch: KVM: Rename _kvm_get_cpucfg() to _kvm_get_cpucfg_mask() - LoongArch: KVM: Fix input validation of _kvm_get_cpucfg() & kvm_check_cpucfg() - irqchip/loongson-eiointc: Use correct struct type in eiointc_domain_alloc() - LoongArch: KVM: Add LASX (256bit SIMD) support - LoongArch: KVM: Add LSX (128bit SIMD) support - LoongArch: KVM: Fix timer emulation with oneshot mode - LoongArch: KVM: Remove kvm_acquire_timer() before entering guest - LoongArch: KVM: Allow to access HW timer CSR registers always - LoongArch: KVM: Remove SW timer switch when vcpu is halt polling - LoongArch: KVM: Optimization for memslot hugepage checking - LoongArch: Implement constant timer shutdown interface - LoongArch: KVM: Add maintainers for LoongArch KVM - LoongArch: KVM: Supplement kvm document about LoongArch-specific part - LoongArch: KVM: Enable kvm config and add the makefile - LoongArch: KVM: Implement vcpu world switch - LoongArch: KVM: Implement kvm exception vectors - LoongArch: KVM: Implement handle fpu exception - LoongArch: KVM: Implement handle mmio exception - LoongArch: KVM: Implement handle gspr exception - LoongArch: KVM: Implement handle idle exception - LoongArch: KVM: Implement handle iocsr exception - LoongArch: KVM: Implement handle csr exception - LoongArch: KVM: Implement kvm mmu operations - LoongArch: KVM: Implement virtual machine tlb operations - LoongArch: KVM: Implement vcpu timer operations - LoongArch: KVM: Implement misc vcpu related interfaces - LoongArch: KVM: Implement vcpu load and vcpu put operations - LoongArch: KVM: Implement vcpu interrupt operations - LoongArch: KVM: Implement fpu operations for vcpu - LoongArch: KVM: Implement basic vcpu ioctl interfaces - LoongArch: KVM: Implement basic vcpu interfaces - LoongArch: KVM: Add vcpu related header files - LoongArch: KVM: Implement VM related functions - LoongArch: KVM: Implement kvm hardware enable, disable interface - LoongArch: KVM: Implement kvm module related interface - LoongArch: KVM: Add kvm related header files - !3951 【OLK-6.6】KVM/arm64: support virt_dev irqbypass - KVM: arm64: update arm64 openeuler_defconfig for CONFIG_VIRT_PLAT_DEV - KVM: arm64: sdev: Support virq bypass by INT/VSYNC command - KVM: arm64: kire: irq routing entry cached the relevant cache data - KVM: arm64: Introduce shadow device - virt_plat_dev: Register the virt platform device driver - irqchip/gic-v3-its: Add virt platform devices MSI support - irqchip/gic-v3-its: Alloc/Free device id from pools for virtual devices - irqchip/gic-v3-its: Introduce the reserved device ID pools - !4425 【OLK-6.6】arm64/nmi: Support for FEAT_NMI - irqchip/gic-v3: Fix hard LOCKUP caused by NMI being masked - config: enable CONFIG_ARM64_NMI and CONFIG_HARDLOCKUP_DETECTOR_PERF for arm64 - irqchip/gic-v3: Implement FEAT_GICv3_NMI support - arm64/nmi: Add Kconfig for NMI - arm64/nmi: Add handling of superpriority interrupts as NMIs - arm64/irq: Document handling of FEAT_NMI in irqflags.h - arm64/entry: Don't call preempt_schedule_irq() with NMIs masked - arm64/nmi: Manage masking for superpriority interrupts along with DAIF - KVM: arm64: Hide FEAT_NMI from guests - arm64/cpufeature: Detect PE support for FEAT_NMI - arm64/idreg: Add an override for FEAT_NMI - arm64/hyp-stub: Enable access to ALLINT - arm64/asm: Introduce assembly macros for managing ALLINT - arm64/sysreg: Add definitions for immediate versions of MSR ALLINT - arm64/booting: Document boot requirements for FEAT_NMI - !4679 f2fs: fix to avoid dirent corruption - f2fs: fix to avoid dirent corruption - !4730 coresight: trbe: Enable ACPI based devices - coresight: trbe: Enable ACPI based TRBE devices - coresight: trbe: Add a representative coresight_platform_data for TRBE - !4807 [OLK-6.6] Intel: backport KVM LAM from v6.8 to OLK-6.6 - KVM: x86: Use KVM-governed feature framework to track "LAM enabled" - KVM: x86: Advertise and enable LAM (user and supervisor) - KVM: x86: Virtualize LAM for user pointer - KVM: x86: Virtualize LAM for supervisor pointer - KVM: x86: Untag addresses for LAM emulation where applicable - KVM: x86: Introduce get_untagged_addr() in kvm_x86_ops and call it in emulator - KVM: x86: Remove kvm_vcpu_is_illegal_gpa() - KVM: x86: Add & use kvm_vcpu_is_legal_cr3() to check CR3's legality - KVM: x86/mmu: Drop non-PA bits when getting GFN for guest's PGD - KVM: x86: Add X86EMUL_F_INVLPG and pass it in em_invlpg() - KVM: x86: Add an emulation flag for implicit system access - KVM: x86: Consolidate flags for __linearize() - !4700 efivarfs: force RO when remounting if SetVariable is not supported - efivarfs: force RO when remounting if SetVariable is not supported - !4785 Support PV-sched feature - KVM: arm64: Support the vCPU preemption check - KVM: arm64: Add interface to support vCPU preempted check - KVM: arm64: Support pvsched preempted via shared structure - KVM: arm64: Implement PV_SCHED_FEATURES call - KVM: arm64: Document PV-sched interface - !4629 add sw64 architecture support - drivers: cpufreq: add sw64 support - drivers: clocksource: add sw64 support - drivers: acpi: add sw64 support - selftests: fix sw64 support - perf: fix sw64 support - perf: add sw64 support - tools: fix basic sw64 support - tools: add basic sw64 support - sw64: fix ftrace support - sw64: fix audit support - sw64: fix kexec support - sw64: fix PCI support - sw64: fix KVM support - sw64: fix module support - sw64: fix ACPI support - sw64: fix rrk support - sw64: fix ELF support - !4727 RAS: Report ARM processor information to userspace - RAS: Report ARM processor information to userspace - !4769 [sync] PR-4729: serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed - serial: 8250: omap: Don't skip resource freeing if pm_runtime_resume_and_get() failed - !4781 x86/fpu: Stop relying on userspace for info to fault in xsave buffer - x86/fpu: Stop relying on userspace for info to fault in xsave buffer - !4787 v2 gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump - gfs2: Fix kernel NULL pointer dereference in gfs2_rgrp_dump - !4789 v2 fix CVE-2024-26590 - erofs: fix inconsistent per-file compression format - erofs: simplify compression configuration parser - !4736 PCIe and miniIO OLK-5.10 branch partial code round OLK-6.6 branch - xhci:fix USB xhci controller issue - spi: hisi-sfc-v3xx: return IRQ_NONE if no interrupts were detected - Add the verification operation after the bus recovery operation obtains resources through the ACPI - i2c: hisi: Add gpio bus recovery support - gpio: hisi: Fix format specifier - perf hisi-ptt: Fix one memory leakage in hisi_ptt_process_auxtrace_event() - Fix the header file location error and adjust the function and structure version. - hwtracing: hisi_ptt: Don't try to attach a task - hwtracing: hisi_ptt: Optimize the trace data committing - hwtracing: hisi_ptt: Handle the interrupt in hardirq context - hwtracing: hisi_ptt: Disable interrupt after trace end - !4802 Export vcpu stat via debugfs - kvm: debugfs: add EXIT_REASON_PREEMPTION_TIMER to vcpu_stat - kvm: debugfs: add fastpath msr_wr exits to debugfs statistics - kvm: debugfs: Export x86 kvm exits to vcpu_stat - kvm: debugfs: aarch64 export cpu time related items to debugfs - kvm: debugfs: export remaining aarch64 kvm exit reasons to debugfs - kvm: debugfs: Export vcpu stat via debugfs - !4676 [OLK-6.6] kabi/iommu: Backport patches from upstream and maintainer tree - iommu/sva: Restore SVA handle sharing - iommu/arm-smmu-v3: Do not use GFP_KERNEL under as spinlock - Revert "iommu/arm-smmu: Convert to domain_alloc_paging()" - iommu/vt-d: Fix constant-out-of-range warning - iommu/vt-d: Set SSADE when attaching to a parent with dirty tracking - iommu/vt-d: Add missing dirty tracking set for parent domain - iommu/vt-d: Wrap the dirty tracking loop to be a helper - iommu/vt-d: Remove domain parameter for intel_pasid_setup_dirty_tracking() - iommu/vt-d: Add missing device iotlb flush for parent domain - iommu/vt-d: Update iotlb in nested domain attach - iommu/vt-d: Add missing iotlb flush for parent domain - iommu/vt-d: Add __iommu_flush_iotlb_psi() - iommu/vt-d: Track nested domains in parent - iommu: Make iommu_report_device_fault() return void - iommu: Make iopf_group_response() return void - iommu: Track iopf group instead of last fault - iommu: Improve iopf_queue_remove_device() - iommu: Use refcount for fault data access - iommu: Refine locking for per-device fault data management - iommu: Separate SVA and IOPF - iommu: Make iommu_queue_iopf() more generic - iommu: Prepare for separating SVA and IOPF - iommu: Merge iommu_fault_event and iopf_fault - iommu: Remove iommu_[un]register_device_fault_handler() - iommu: Merge iopf_device_param into iommu_fault_param - iommu: Cleanup iopf data structure definitions - iommu: Remove unrecoverable fault data - iommu/arm-smmu-v3: Remove unrecoverable faults reporting - iommu: Move iommu fault data to linux/iommu.h - iommu/iova: use named kmem_cache for iova magazines - iommu/iova: Reorganise some code - iommu/iova: Tidy up iova_cache_get() failure - selftests/iommu: fix the config fragment - iommufd: Reject non-zero data_type if no data_len is provided - iommufd/iova_bitmap: Consider page offset for the pages to be pinned - iommufd/selftest: Add mock IO hugepages tests - iommufd/selftest: Hugepage mock domain support - iommufd/selftest: Refactor mock_domain_read_and_clear_dirty() - iommufd/selftest: Refactor dirty bitmap tests - iommufd/iova_bitmap: Handle recording beyond the mapped pages - iommufd/selftest: Test u64 unaligned bitmaps - iommufd/iova_bitmap: Switch iova_bitmap::bitmap to an u8 array - iommufd/iova_bitmap: Bounds check mapped::pages access - powerpc/iommu: Fix the missing iommu_group_put() during platform domain attach - powerpc: iommu: Bring back table group release_ownership() call - iommu: Allow ops->default_domain to work when !CONFIG_IOMMU_DMA - iommufd/selftest: Check the bus type during probe - iommu/vt-d: Add iotlb flush for nested domain - iommufd: Add data structure for Intel VT-d stage-1 cache invalidation - iommufd/selftest: Add coverage for IOMMU_HWPT_INVALIDATE ioctl - iommufd/selftest: Add IOMMU_TEST_OP_MD_CHECK_IOTLB test op - iommufd/selftest: Add mock_domain_cache_invalidate_user support - iommu: Add iommu_copy_struct_from_user_array helper - iommufd: Add IOMMU_HWPT_INVALIDATE - iommu: Add cache_invalidate_user op - iommu: Don't reserve 0-length IOVA region - iommu/sva: Fix memory leak in iommu_sva_bind_device() - iommu/dma: Trace bounce buffer usage when mapping buffers - iommu/tegra: Use tegra_dev_iommu_get_stream_id() in the remaining places - acpi: Do not return struct iommu_ops from acpi_iommu_configure_id() - iommu: Mark dev_iommu_priv_set() with a lockdep - iommu: Mark dev_iommu_get() with lockdep - iommu/of: Use -ENODEV consistently in of_iommu_configure() - iommmu/of: Do not return struct iommu_ops from of_iommu_configure() - iommu: Remove struct iommu_ops *iommu from arch_setup_dma_ops() - iommu: Set owner token to SVA domain - mm: Deprecate pasid field - iommu: Support mm PASID 1:n with sva domains - mm: Add structure to keep sva information - iommu: Add mm_get_enqcmd_pasid() helper function - iommu/vt-d: Remove mm->pasid in intel_sva_bind_mm() - iommu: Change kconfig around IOMMU_SVA - iommu: Extend LPAE page table format to support custom allocators - iommu: Allow passing custom allocators to pgtable drivers - iommu: Clean up open-coded ownership checks - iommu: Retire bus ops - iommu/arm-smmu: Don't register fwnode for legacy binding - iommu: Decouple iommu_domain_alloc() from bus ops - iommu: Validate that devices match domains - iommu: Decouple iommu_present() from bus ops - iommu: Factor out some helpers - iommu: Map reserved memory as cacheable if device is coherent - iommu/vt-d: Move inline helpers to header files - iommu/vt-d: Remove unused vcmd interfaces - iommu/vt-d: Remove unused parameter of intel_pasid_setup_pass_through() - iommu/vt-d: Refactor device_to_iommu() to retrieve iommu directly - iommu/virtio: Add ops->flush_iotlb_all and enable deferred flush - iommu/virtio: Make use of ops->iotlb_sync_map - iommu/arm-smmu: Convert to domain_alloc_paging() - iommu/arm-smmu: Pass arm_smmu_domain to internal functions - iommu/arm-smmu: Implement IOMMU_DOMAIN_BLOCKED - iommu/arm-smmu: Convert to a global static identity domain - iommu/arm-smmu: Reorganize arm_smmu_domain_add_master() - iommu/arm-smmu-v3: Remove ARM_SMMU_DOMAIN_NESTED - iommu/arm-smmu-v3: Master cannot be NULL in arm_smmu_write_strtab_ent() - iommu/arm-smmu-v3: Add a type for the STE - iommu/apple-dart: Fix spelling mistake "grups" -> "groups" - iommu/apple-dart: Use readl instead of readl_relaxed for consistency - iommu/apple-dart: Add support for t8103 USB4 DART - iommu/apple-dart: Write to all DART_T8020_STREAM_SELECT - dt-bindings: iommu: dart: Add t8103-usb4-dart compatible - iommufd: Do not UAF during iommufd_put_object() - iommufd: Add iommufd_ctx to iommufd_put_object() - iommu/vt-d: Support enforce_cache_coherency only for empty domains - iommu: Flow ERR_PTR out from __iommu_domain_alloc() - iommu/dma: Use a large flush queue and timeout for shadow_on_flush - iommu/dma: Allow a single FQ in addition to per-CPU FQs - iommu/s390: Disable deferred flush for ISM devices - s390/pci: Use dma-iommu layer - s390/pci: prepare is_passed_through() for dma-iommu - iommu: Allow .iotlb_sync_map to fail and handle s390's -ENOMEM return - iommu/dart: Remove the force_bypass variable - iommu/dart: Call apple_dart_finalize_domain() as part of alloc_paging() - iommu/dart: Convert to domain_alloc_paging() - iommu/dart: Move the blocked domain support to a global static - iommu/dart: Use static global identity domains - iommufd: Convert to alloc_domain_paging() - iommu/vt-d: Use ops->blocked_domain - iommu/vt-d: Update the definition of the blocking domain - iommu: Move IOMMU_DOMAIN_BLOCKED global statics to ops->blocked_domain - iommu: change iommu_map_sgtable to return signed values - powerpc/iommu: Do not do platform domain attach atctions after probe - iommu: Fix return code in iommu_group_alloc_default_domain() - iommu: Do not use IOMMU_DOMAIN_DMA if CONFIG_IOMMU_DMA is not enabled - iommu: Remove duplicate include - iommu: Improve map/unmap sanity checks - iommu: Retire map/unmap ops - iommu/tegra-smmu: Update to {map,unmap}_pages - iommu/sun50i: Update to {map,unmap}_pages - iommu/rockchip: Update to {map,unmap}_pages - iommu/omap: Update to {map,unmap}_pages - iommu/exynos: Update to {map,unmap}_pages - iommu/omap: Convert to generic_single_device_group() - iommu/ipmmu-vmsa: Convert to generic_single_device_group() - iommu/rockchip: Convert to generic_single_device_group() - iommu/sprd: Convert to generic_single_device_group() - iommu/sun50i: Convert to generic_single_device_group() - iommu: Add generic_single_device_group() - iommu: Remove useless group refcounting - iommu: Convert remaining simple drivers to domain_alloc_paging() - iommu: Convert simple drivers with DOMAIN_DMA to domain_alloc_paging() - iommu: Add ops->domain_alloc_paging() - iommu: Add __iommu_group_domain_alloc() - iommu: Require a default_domain for all iommu drivers - iommu/sun50i: Add an IOMMU_IDENTITIY_DOMAIN - iommu/mtk_iommu: Add an IOMMU_IDENTITIY_DOMAIN - iommu/ipmmu: Add an IOMMU_IDENTITIY_DOMAIN - iommu/qcom_iommu: Add an IOMMU_IDENTITIY_DOMAIN - iommu: Remove ops->set_platform_dma_ops() - iommu/msm: Implement an IDENTITY domain - iommu/omap: Implement an IDENTITY domain - iommu/tegra-smmu: Support DMA domains in tegra - iommu/tegra-smmu: Implement an IDENTITY domain - iommu/exynos: Implement an IDENTITY domain - iommu: Allow an IDENTITY domain as the default_domain in ARM32 - iommu: Reorganize iommu_get_default_domain_type() to respect def_domain_type() - iommu/mtk_iommu_v1: Implement an IDENTITY domain - iommu/tegra-gart: Remove tegra-gart - iommu/fsl_pamu: Implement a PLATFORM domain - iommu: Add IOMMU_DOMAIN_PLATFORM for S390 - powerpc/iommu: Setup a default domain and remove set_platform_dma_ops - iommu: Add IOMMU_DOMAIN_PLATFORM - iommu: Add iommu_ops->identity_domain - iommu/vt-d: debugfs: Support dumping a specified page table - iommu/vt-d: debugfs: Create/remove debugfs file per {device, pasid} - iommu/vt-d: debugfs: Dump entry pointing to huge page - iommu/virtio: Add __counted_by for struct viommu_request and use struct_size() - iommu/arm-smmu-v3-sva: Remove bond refcount - iommu/arm-smmu-v3-sva: Remove unused iommu_sva handle - iommu/arm-smmu-v3: Rename cdcfg to cd_table - iommu/arm-smmu-v3: Update comment about STE liveness - iommu/arm-smmu-v3: Cleanup arm_smmu_domain_finalise - iommu/arm-smmu-v3: Move CD table to arm_smmu_master - iommu/arm-smmu-v3: Refactor write_ctx_desc - iommu/arm-smmu-v3: move stall_enabled to the cd table - iommu/arm-smmu-v3: Encapsulate ctx_desc_cfg init in alloc_cd_tables - iommu/arm-smmu-v3: Replace s1_cfg with cdtab_cfg - iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg - iommu/tegra-smmu: Drop unnecessary error check for for debugfs_create_dir() - powerpc: Remove extern from function implementations - iommufd: Organize the mock domain alloc functions closer to Joerg's tree - iommu/vt-d: Disallow read-only mappings to nest parent domain - iommu/vt-d: Add nested domain allocation - iommu/vt-d: Set the nested domain to a device - iommu/vt-d: Make domain attach helpers to be extern - iommu/vt-d: Add helper to setup pasid nested translation - iommu/vt-d: Add helper for nested domain allocation - iommu/vt-d: Extend dmar_domain to support nested domain - iommufd: Add data structure for Intel VT-d stage-1 domain allocation - iommufd/selftest: Add coverage for IOMMU_HWPT_ALLOC with nested HWPTs - iommufd/selftest: Add nested domain allocation for mock domain - iommu: Add iommu_copy_struct_from_user helper - iommufd: Add a nested HW pagetable object - iommu: Pass in parent domain with user_data to domain_alloc_user op - iommufd: Share iommufd_hwpt_alloc with IOMMUFD_OBJ_HWPT_NESTED - iommufd: Derive iommufd_hwpt_paging from iommufd_hw_pagetable - iommufd/device: Wrap IOMMUFD_OBJ_HWPT_PAGING-only configurations - iommufd: Rename IOMMUFD_OBJ_HW_PAGETABLE to IOMMUFD_OBJ_HWPT_PAGING - iommu: Add IOMMU_DOMAIN_NESTED - iommufd: Only enforce cache coherency in iommufd_hw_pagetable_alloc - iommufd: Fix spelling errors in comments - !4767 reserve space for arch related structures - kabi: reserve space for struct mfd_cell - kabi: reserve space for struct irq_work - !4709 mtd: Fix gluebi NULL pointer dereference caused by ftl notifier - mtd: Fix gluebi NULL pointer dereference caused by ftl notifier - !4738 blk-mq: fix IO hang from sbitmap wakeup race - blk-mq: fix IO hang from sbitmap wakeup race - !4561 sched: migtate user interface from smart grid to sched bpf - sched: migtate user interface from smart grid to sched bpf - !4026 [OLK-6.6]Add support for Mont-TSSE - add support for Mont-TSSE Driver - !4564 v2 reserve space for arm64 related structures - kabi: reserve space for processor.h - kabi: reserve space for fb.h - kabi: reserve space for efi.h - !4675 v5 Backport vDPA migration support patches - vdpa: add CONFIG_VHOST_VDPA_MIGRATION - vdpa: add vmstate header file - vhost-vdpa: add reset state params to indicate reset level - vhost-vdpa: allow set feature VHOST_F_LOG_ALL when been negotiated. - vhost-vdpa: fix msi irq request err - vhost-vdpa: Allow transparent MSI IOV - vhost: add VHOST feature VHOST_BACKEND_F_BYTEMAPLOG - vhost-vdpa: add uAPI for device migration status - vdpa: add vdpa device migration status ops - vhost-vdpa: add uAPI for device buffer - vdpa: add device state operations - vhost-vdpa: add uAPI for logging - vdpa: add log operations - !4660 Intel: Backport to fix In Field Scan(IFS) SAF for GNR & SRF - platform/x86/intel/ifs: Call release_firmware() when handling errors. - !4652 RDMA/hns: Support SCC context query and DSCP configuration. - RDMA/hns: Support DSCP of userspace - RDMA/hns: Append SCC context to the raw dump of QP Resource - !4628 fs:/dcache.c: fix negative dentry flag warning in dentry_free - fs:/dcache.c: fix negative dentry flag warning in dentry_free - !4654 hisi_ptt: Move type check to the beginning of hisi_ptt_pmu_event_init() - hwtracing: hisi_ptt: Move type check to the beginning of hisi_ptt_pmu_event_init() - !3880 ima: Add IMA digest lists extension - ima: add default INITRAMFS_FILE_METADATA and EVM_DEFAULT_HASH CONFIG - ima: don't allow control characters in policy path - ima: Add max size for IMA digest database - config: add digest list options for arm64 and x86 - evm: Propagate choice of HMAC algorithm in evm_crypto.c - ima: Execute parser to upload digest lists not recognizable by the kernel - evm: Extend evm= with x509. allow_metadata_writes and complete values - ima: Add parser keyword to the policy - ima: Allow direct upload of digest lists to securityfs - ima: Search key in the built-in keyrings - certs: Introduce search_trusted_key() - KEYS: Provide a function to load keys from a PGP keyring blob - KEYS: Introduce load_pgp_public_keyring() - KEYS: Provide PGP key description autogeneration - KEYS: PGP data parser - PGPLIB: Basic packet parser - PGPLIB: PGP definitions (RFC 4880) - rsa: add parser of raw format - mpi: introduce mpi_key_length() - ima: Add Documentation/security/IMA-digest-lists.txt - ima: Introduce appraise_exec_immutable policy - ima: Introduce appraise_exec_tcb policy - ima: Introduce exec_tcb policy - ima: Add meta_immutable appraisal type - evm: Add support for digest lists of metadata - ima: Add support for appraisal with digest lists - ima: Add support for measurement with digest lists - ima: Load all digest lists from a directory at boot time - ima: Introduce new hook DIGEST_LIST_CHECK - ima: Introduce new securityfs files - ima: Prevent usage of digest lists not measured or appraised - ima: Add parser of compact digest list - ima: Use ima_show_htable_value to show violations and hash table data - ima: Generalize policy file operations - ima: Generalize ima_write_policy() and raise uploaded data size limit - ima: Generalize ima_read_policy() - ima: Allow choice of file hash algorithm for measurement and audit - ima: Add enforce-evm and log-evm modes to strictly check EVM status - init: Add kernel option to force usage of tmpfs for rootfs - gen_init_cpio: add support for file metadata - initramfs: read metadata from special file METADATA!!! - initramfs: add file metadata - !4542 Support feature TLBI DVMBM - KVM: arm64: Implement the capability of DVMBM - KVM: arm64: Add kvm_arch::sched_cpus and sched_lock - KVM: arm64: Add kvm_vcpu_arch::sched_cpus and pre_sched_cpus - KVM: arm64: Probe and configure DVMBM capability on HiSi CPUs - KVM: arm64: Support a new HiSi CPU type - KVM: arm64: Only probe Hisi ncsnp feature on Hisi CPUs - KVM: arm64: Add support for probing Hisi ncsnp capability - KVM: arm64: Probe Hisi CPU TYPE from ACPI/DTB - !4661 [OLK-6.6] Fix gic support for Phytium S2500 - Enable CONFIG_ARCH_PHYTIUM - Fix gic support for Phytium S2500 - !4644 f2fs: explicitly null-terminate the xattr list - f2fs: explicitly null-terminate the xattr list - !4637 Using smmu IIDR registers - iommu/arm-smmu-v3: Enable iotlb_sync_map according to SMMU_IIDR - Revert "iommu/arm-smmu-v3: Add a SYNC command to avoid broken page table prefetch" - !4506 ubi: fastmap: Optimize ubi wl algorithm to improve flash service life - ubi: fastmap: Add control in 'UBI_IOCATT' ioctl to reserve PEBs for filling pools - ubi: fastmap: Add module parameter to control reserving filling pool PEBs - ubi: fastmap: Fix lapsed wear leveling for first 64 PEBs - ubi: fastmap: Get wl PEB even ec beyonds the 'max' if free PEBs are run out - ubi: fastmap: may_reserve_for_fm: Don't reserve PEB if fm_anchor exists - ubi: fastmap: Remove unneeded break condition while filling pools - ubi: fastmap: Wait until there are enough free PEBs before filling pools - ubi: fastmap: Use free pebs reserved for bad block handling - ubi: Replace erase_block() with sync_erase() - ubi: fastmap: Allocate memory with GFP_NOFS in ubi_update_fastmap - ubi: fastmap: erase_block: Get erase counter from wl_entry rather than flash - ubi: fastmap: Fix missed ec updating after erasing old fastmap data block - !4624 6.6: i2c: Optimized the value setting of maxwrite limit to fifo depth - 1 - i2c: hisi: Add clearing tx aempty interrupt operation - i2c: hisi: Optimized the value setting of maxwrite limit to fifo depth - 1 - !4631 Add kabi reserve - drm/ttm: Add kabi reserve in ttm_tt.h - drm/ttm: Add kabi reserve in ttm_resource.h - drm/ttm: Add kabi reserve in ttm_bo.h - drm: Add kabi reserve in drm_gpu_scheduler.h - drm: Add kabi reserve in drm_syncobj.h - drm: Add kabi reserve in drm_plane.h - drm: Add kabi reserve in drm_modeset_lock.h - drm: Add kabi reserve in drm_mode_config.h - sbitmap: Add kabi reserve - xarray: Reserve kabi for xa_state - delayacct: Reserve kabi for task_delay_info- add signature for vmlinux- !4598 [OLK-6.6] Add iommu support for Phytium S2500 - Add iommu support for Phytium S2500 - !4596 add sw64 architecture support - sw64: fix build support - sw64: add dynamic turning on/off cores support - sw64: add dynamic frequency scaling support - sw64: add kgdb support - sw64: add jump_label support - sw64: add uprobe support - sw64: add kprobe support - sw64: add kernel relocation support - sw64: add ftrace support - sw64: add hibernation support - sw64: add suspend support - sw64: add eBPF JIT support - sw64: add kdump support - sw64: add kexec support - sw64: add perf events support - sw64: add qspinlock support - sw64: add stacktrace support - !4567 Support feature TWED - KVM: arm64: Make use of TWED feature - arm64: cpufeature: TWED support detection - !4383 [OLK-6.6] kabi: add more x86/cpu reservations in cpu feature bits and bug bits - kabi: reserve x86 cpu bug fields - kabi: reserve x86 cpu capability fields - !3695 x86: Add x86 related kabi reservations - x86: Add x86 related kabi reservations - !4589 fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super - fs,hugetlb: fix NULL pointer dereference in hugetlbs_fill_super - !4451 v5 kabi reserve patches - kabi: reserve space for arm64 cpufeature related structure - kabi: reserve space for power management related structure - energy_model: Add kabi_reserve - pm: pm.h: Add kabi_reserve - pm: pm_domain.h: Add kabi_reserve - drm: drm_gem.h: Add kabi_reserve - drm: drm_fourcc.h: Add kabi_reserve - drm: drm_file.h: Add kabi_reserve - drm: drm_fb_helper.h: Add kabi_reserve - drm: drm_drv.h: Add kabi_reserve - drm: drm_device.h: Add kabi_reserve - drm: drm_crtc.h: Add kabi_reserve - drm: drm_connector.h: Add kabi_reserve - drm: drm_client.h: Add kabi_reserve - drm: drm_atomic.h: Add kabi_reserve - irqdomain: Add kabi_reserve in irqdomain - irq_desc: Add kabi_reserve in irq_desc - irq: Add kabi_reserve in irq - interrupt: Add kabi_reserve in interrupt.h - msi: Add kabi_reserve in msi.h - kabi: reserve space for struct cpu_stop_work - KABI: reserve space for struct input_dev - !4557 Add ZONE_EXTMEM to avoid kabi broken - openeuler_defconfig: enable CONFIG_ZONE_EXTMEM for arm64 - mm: add ZONE_EXTMEM for future extension to avoid kabi broken - !4569 add sw64 architecture support - sw64: add KVM support - sw64: add EFI support - sw64: add DMA support - sw64: add ACPI support - sw64: add device trees - sw64: add MSI support - sw64: add PCI support - sw64: add default configs - sw64: add NUMA support - sw64: add SMP support - sw64: add VDSO support - sw64: add some library functions - sw64: add some other routines - sw64: add some common routines - sw64: add module support - sw64: add basic IO support - sw64: add FPU support - !3498 fuse: reserve space for future expansion - kabi:fuse: reserve space for future expansion - !4435 v2 kabi: reserve space for struct ptp_clock - kabi: reserve space for struct ptp_clock - !4584 v5 kabi reserve - kabi: reserve space for struct clocksource - kabi: reserve space for struct timer_list - kabi: reserve space for struct ptp_clock_info - kabi: reserve space for posix clock related structure - kabi: reserve space for hrtimer related structures - kabi: reserve space for kobject related structures - !4049 openeuler_defconfig: Disable new HW_RANDOM support for arm64 - openeuler_defconfig: Disable new HW_RANDOM support for arm64 - !4582 cgroup/hugetlb: hugetlb accounting - mm: memcg: fix split queue list crash when large folio migration - hugetlb: memcg: account hugetlb-backed memory in memory controller - memcontrol: only transfer the memcg data for migration - memcontrol: add helpers for hugetlb memcg accounting - !4347 【OLK-6.6】AMD: CXL RCH Protocol Error Handling supporting - openeuler_defconfig: Enable CONFIG_PCIEAER_CXL=y - cxl/hdm: Fix && vs || bug - cxl/pci: Change CXL AER support check to use native AER - cxl/core/regs: Rework cxl_map_pmu_regs() to use map->dev for devm - cxl/core/regs: Rename phys_addr in cxl_map_component_regs() - PCI/AER: Unmask RCEC internal errors to enable RCH downstream port error handling - PCI/AER: Forward RCH downstream port-detected errors to the CXL.mem dev handler - cxl/pci: Disable root port interrupts in RCH mode - cxl/pci: Add RCH downstream port error logging - cxl/pci: Map RCH downstream AER registers for logging protocol errors - cxl/pci: Update CXL error logging to use RAS register address - PCI/AER: Refactor cper_print_aer() for use by CXL driver module - cxl/pci: Add RCH downstream port AER register discovery - cxl/port: Remove Component Register base address from struct cxl_port - cxl/pci: Remove Component Register base address from struct cxl_dev_state - cxl/hdm: Use stored Component Register mappings to map HDM decoder capability - cxl/pci: Store the endpoint's Component Register mappings in struct cxl_dev_state - cxl/port: Pre-initialize component register mappings - cxl/port: Rename @comp_map to @reg_map in struct cxl_register_map - !4390 [OLK-6.6] Add kdump support for Phytium S2500 - Add kdump support for Phytium S2500 - !4459 v2 Introduce page eject for arm64 - config: update defconfig for PAGE_EJECT - mm: page_eject: Introuduce page ejection - mm/memory-failure: introduce soft_online_page - mm/hwpoison: Export symbol soft_offline_page - !3699 [OLK-6.6] Enable CONFIG_IOMMUFD and CONFIG_VFIO_DEVICE_CDEV in x86/arm64 defconfig - defconfig: enable CONFIG_IOMMUFD and CONFIG_VFIO_DEVICE_CDEV - !4571 scsi: iscsi: kabi: KABI reservation for iscsi_transport - scsi: iscsi: kabi: KABI reservation for iscsi_transport - !4546 RDMA/hns: Support MR management - RDMA/hns: Simplify 'struct hns_roce_hem' allocation - RDMA/hns: Support adaptive PBL hopnum - RDMA/hns: Support flexible umem page size - RDMA/hns: Alloc MTR memory before alloc_mtt() - RDMA/hns: Refactor mtr_init_buf_cfg() - RDMA/hns: Refactor mtr find - !4576 v6 Add support for ecmdq - iommu/arm-smmu-v3: Allow disabling ECMDQs at boot time - iommu/arm-smmu-v3: Add support for less than one ECMDQ per core - iommu/arm-smmu-v3: Add arm_smmu_ecmdq_issue_cmdlist() for non-shared ECMDQ - iommu/arm-smmu-v3: Ensure that a set of associated commands are inserted in the same ECMDQ - iommu/arm-smmu-v3: Add support for ECMDQ register mode - !3697 enable ARM64/X86 CONFIG_BPF_LSM config - lsm: enable CONFIG_BPF_LSM for use bpf in lsm program - !4537 mainline cgroup bufix - cgroup: use legacy_name for cgroup v1 disable info - blk-cgroup: bypass blkcg_deactivate_policy after destroying - cgroup: Check for ret during cgroup1_base_files cft addition - !4438 kabi: reserve space for workqueue subsystem related structure - kabi: reserve space for workqueue subsystem related structure - !4570 v2 scsi: reserve space for structures in scsi - scsi: reserve space for structures in scsi - !4566 v2 reserve kabi space for some structures - libnvdimm: reserve space for structures in libnvdimm - ata: libata: reserve space for structures in libata - elevator: reserve space for structures in elevator- !4545 add sw64 architecture support - sw64: add signal handling support - sw64: add system call support - sw64: add hugetlb support - sw64: add memory management - sw64: add hardware match support - sw64: add process management - sw64: add exception handling support - sw64: add irq handling support - sw64: add timer support - sw64: add topology setup routine - sw64: add boot and setup routines - sw64: add some other headers - sw64: add ELF support - sw64: add common headers - sw64: add atomic/locking headers - sw64: add CPU definition headers - sw64: add build infrastructure - !4423 kabi: reserve space for pci subsystem and thread_info - kabi: reserve space for pci subsystem related structure - kabi: reserve space for thread_info structure - !3997 [OLK-6.6] openEuler-24.03 Phytium S2500 IPMI adaption - ipmi_si: Phytium S2500 workaround for MMIO-based IPMI - !3841 Add support for Hygon family 18h model 5h HD-Audio - ALSA: hda: Fix single byte writing issue for Hygon family 18h model 5h - ALSA: hda: Add support for Hygon family 18h model 5h HD-Audio - !3835 Add support for Hygon model 6h L3 PMU - perf/x86/uncore: Add L3 PMU support for Hygon family 18h model 6h - !3698 enable ARM64/X86_64 CONFIG_MPTCP/CONFIG_MPTCP_IPV6 config - mptcp: enable config CONFIG_MPTCP and CONFIG_MPTCP_IPV6 - !3696 enable ARM64/X86 CONFIG_XDP_SOCKET、CONFIG_XDP_SOCKETS_DIAG config - xdp: enable config CONFIG_XDP_SOCKETS and CONFIG_XDP_SOCKETS_DIAG - !3183 [OLK-6.6] Add support Zhaoxin GPIO pinctrl - configs: add CONFIG_PINCTRL_ZHAOXIN and KX7000 to m - Add support Zhaoxin GPIO pinctrl - !4539 nvme: kabi: KABI reservation for nvme_ctrl - nvme: kabi: KABI reservation for nvme_ctrl - !4527 v3 block: kabi: KABI reservation for blk-cgroup - block: kabi: KABI reservation for blk-cgroup - !4554 v3 kabi: Reserve KABI slots for fs module - sysfs: kabi: Reserve KABI slots for bin_attribute struct - profs: kabi: Reserve KABI slots for proc_ops struct - dax: kabi: Reserve KABI slots for dax_* struct - fs: kabi: Reserve KABI slots for nameidata struct - xattr: kabi: Reserve KABI slots for xattr_handler struct - kernfs: kabi: Reserve KABI slots for kernfs_* struct - fanotify: kabi: Reserve KABI slots for fsnotify_* struct - fscrypt: kabi: Reserve KABI slots for fscrypt_operations struct - !3932 [OLK-6.6] 同步OLK-5.10 SMMU HTTU补丁 - iommu/arm-smmu-v3: Add Arm SMMU HTTU config - vfio/iommu_type1: Add support for manual dirty log clear - vfio/iommu_type1: Optimize dirty bitmap population based on iommu HWDBM - vfio/iommu_type1: Add HWDBM status maintenance - iommu/arm-smmu-v3: Realize support_dirty_log iommu ops - iommu/arm-smmu-v3: Realize clear_dirty_log iommu ops - iommu/arm-smmu-v3: Realize sync_dirty_log iommu ops - iommu/arm-smmu-v3: Realize switch_dirty_log iommu ops - iommu/arm-smmu-v3: Add feature detection for BBML - iommu/arm-smmu-v3: Enable HTTU for stage1 with io-pgtable mapping - iommu/io-pgtable-arm: Add and realize clear_dirty_log ops - iommu/io-pgtable-arm: Add and realize sync_dirty_log ops - iommu/io-pgtable-arm: Add and realize merge_page ops - iommu/io-pgtable-arm: Add and realize split_block ops - iommu/io-pgtable-arm: Add __arm_lpae_set_pte - iommu/io-pgtable-arm: Add quirk ARM_HD and ARM_BBMLx - iommu: Introduce dirty log tracking framework - iommu/arm-smmu-v3: Add support for Hardware Translation Table Update - !4560 v5 block: reserve kabi space for general block layer structures - block: reserve kabi space for general block layer structures - !4168 Reserve syscall entries for kabi compatibility - kabi: Reserve syscall entries for kabi compatibility - arch: Reserve map_shadow_stack() syscall number for all architectures - !4532 v2 fscache: reserve kabi for fscache structures - fscache: reserve kabi for fscache structures - !4543 v2 fs/dcache: kabi: KABI reservation for dentry - fs/dcache: kabi: KABI reservation for dentry - !4533 quota: kabi: KABI reservation for quota - quota: kabi: KABI reservation for quota - !4528 v3 jbd2: kabi: KABI reservation for jbd2 - jbd2: kabi: KABI reservation for jbd2 - !4483 block: kabi: KABI reservation for iocontext - block: kabi: KABI reservation for iocontext - !4455 scsi: iscsi: kabi: KABI reservation for scsi_transport_iscsi.h - scsi: iscsi: kabi: KABI reservation for scsi_transport_iscsi.h - !4456 scsi: scsi_transport_fc: kabi: KABI reservation for scsi_transport_fc - scsi: scsi_transport_fc: kabi: KABI reservation for scsi_transport_fc - !4472 nvmet-fc: kabi: KABI reservation for nvme_fc_port_template - nvmet-fc: kabi: KABI reservation for nvme_fc_port_template - !4474 scsi: libsas: kabi: KABI reservation for libsas - scsi: libsas: kabi: KABI reservation for libsas - !4463 RDMA/hns: Backport bugfix - RDMA/hns: Fix memory leak in free_mr_init() - RDMA/hns: Remove unnecessary checks for NULL in mtr_alloc_bufs() - RDMA/hns: Add a max length of gid table - RDMA/hns: Response dmac to userspace - RDMA/hns: Rename the interrupts - RDMA/hns: Support SW stats with debugfs - RDMA/hns: Add debugfs to hns RoCE - RDMA/hns: Fix inappropriate err code for unsupported operations - !3838 Add support for Hygon model 4h EDAC - EDAC/amd64: Adjust UMC channel for Hygon family 18h model 6h - EDAC/amd64: Add support for Hygon family 18h model 6h - EDAC/amd64: Add support for Hygon family 18h model 5h - EDAC/mce_amd: Use struct cpuinfo_x86.logical_die_id for Hygon NodeId - EDAC/amd64: Adjust address translation for Hygon family 18h model 4h - EDAC/amd64: Add support for Hygon family 18h model 4h - EDAC/amd64: Get UMC channel from the 6th nibble for Hygon - !4408 v2 kabi: reserve space for struct acpi_device and acpi_scan_handler - kabi: reserve space for struct acpi_device and acpi_scan_handler - !4495 KABI reservation for driver - audit: kabi: Remove extra semicolons - ipmi: kabi: KABI reservation for ipmi - mmc: kabi: KABI reservation for mmc - mtd: kabi: KABI reservation for mtd - tty: kabi: KABI reservation for tty - !3831 Add support for loading Hygon microcode - x86/microcode/hygon: Add microcode loading support for Hygon processors - !4356 【OLK-6.6】AMD: support the UMC Performance Counters for Zen4 - perf vendor events amd: Add Zen 4 memory controller events - perf/x86/amd/uncore: Pass through error code for initialization failures, instead of -ENODEV - perf/x86/amd/uncore: Fix uninitialized return value in amd_uncore_init() - perf/x86/amd/uncore: Add memory controller support - perf/x86/amd/uncore: Add group exclusivity - perf/x86/amd/uncore: Use rdmsr if rdpmc is unavailable - perf/x86/amd/uncore: Move discovery and registration - perf/x86/amd/uncore: Refactor uncore management - !4494 v2 writeback: kabi: KABI reservation for writeback - writeback: kabi: KABI reservation for writeback - !4491 sched/rt: Fix possible warn when push_rt_task - sched/rt: Fix possible warn when push_rt_task - !4396 [OLK-6.6] perf/x86/zhaoxin/uncore: add NULL pointer check after kzalloc - perf/x86/zhaoxin/uncore: add NULL pointer check after kzalloc - !4405 mm: improve performance of accounted kernel memory allocations - mm: kmem: properly initialize local objcg variable in current_obj_cgroup() - mm: kmem: reimplement get_obj_cgroup_from_current() - percpu: scoped objcg protection - mm: kmem: scoped objcg protection - mm: kmem: make memcg keep a reference to the original objcg - mm: kmem: add direct objcg pointer to task_struct - mm: kmem: optimize get_obj_cgroup_from_current() - !4500 fs: kabi: KABI reservation for vfs - fs: kabi: KABI reservation for vfs - !4505 iov_iter: kabi: KABI reservation for iov_iter - iov_iter: kabi: KABI reservation for iov_iter - !4486 v2 openeuler_defconfig: enable CONFIG_PAGE_CACHE_LIMIT - openeuler_defconfig: enable CONFIG_PAGE_CACHE_LIMIT - !4489 【OLK-6.6】AMD: fix brstack event for AMD Zen CPU - perf/x86/amd: Reject branch stack for IBS events - !4376 [OLK-6.6] Add Phytium Display Engine support to the OLK-6.6. - DRM: Phytium display DRM doc - DRM: Phytium display DRM driver - !4385 v2 sched: remove __GENKSYMS__ used - sched: remove __GENKSYMS__ used - !4449 memory tiering: calculate abstract distance based on ACPI HMAT - dax, kmem: calculate abstract distance with general interface - acpi, hmat: calculate abstract distance with HMAT - acpi, hmat: refactor hmat_register_target_initiators() - memory tiering: add abstract distance calculation algorithms management - !4362 ubifs: Queue up space reservation tasks if retrying many times - ubifs: Queue up space reservation tasks if retrying many times - !4450 change zswap's default allocator to zsmalloc - openeuler_defconfig: set ZSWAP_ZPOOL_DEFAULT to ZSMALLOC - zswap: change zswap's default allocator to zsmalloc - !4298 misc for controlling fd - cgroup/misc: support cgroup misc to control fd - filescgroup: add adapter for legacy and misc cgroup - filescgroup: rename filescontrol.c to legacy-filescontrol.c - filescgroup: Add CONFIG_CGROUP_FILES at files_cgroup in files_struct - filescgroup: remove files of dfl_cftypes. - !4173 block: remove precise_iostat - block: remove precise_iostat - !4481 cred: kabi: KABI reservation for cred - cred: kabi: KABI reservation for cred - !4418 KABI: Add reserve space for sched structures - KABI: Reserve space for fwnode.h - KABI: Reserve space for struct module - fork: Allocate a new task_struct_resvd object for fork task - KABI: Add reserve space for sched structures - !4355 v4 kabi reserve for memcg and cgroup_bpf - cgroup_bpf/kabi: reserve space for cgroup_bpf related structures - memcg/kabi: reserve space for memcg related structures - !4476 net/kabi: Reserve space for net structures - net/kabi: Reserve space for net structures - !4440 v2 kabi:dma:add kabi reserve for dma_map_ops structure - kabi:dma:add kabi reserve for dma_map_ops structure - !4479 mm/memcontrol: fix out-of-bound access in mem_cgroup_sysctls_init - mm/memcontrol: fix out-of-bound access in mem_cgroup_sysctls_init - !4429 Remove unnecessary KABI reservation - crypto: kabi: Removed unnecessary KABI reservation - !4211 blk-mq: avoid housekeeping CPUs scheduling a worker on a non-housekeeping CPU - blk-mq: avoid housekeeping CPUs scheduling a worker on a non-housekeeping CPU - !4407 sched/topology: Fix cpus hotplug deadlock in check_node_limit() - sched/topology: Fix cpus hotplug deadlock in check_node_limit() - !4351 kabi: net: reserve space for net subsystem related structure - kabi: net: reserve space for net subsystem related structure - !4453 arm64/ascend: Make enable_oom_killer feature depends on ASCEND_FEATURE - arm64/ascend: Make enable_oom_killer feature depends on ASCEND_FEATURE - !4386 fix static scanning issues - bond: fix static scanning issue with bond_broadcast_arp_or_nd_table_header - tcp: fix static scanning issue with sysctl_local_port_allocation - !4403 v2 kabi: net: reserve space for net related structure - kabi: net: reserve space for net related structure - !4406 v2 net/kabi: reserve space for net related structures - net/kabi: reserve space for net related structures - !4398 v2 vfs: reserve kabi space for vfs related structures - vfs: reserve kabi space for vfs related structures - !4372 kabi: reserve space for struct rate_sample - kabi: reserve space for struct rate_sample - !4322 cgroup_writeback: fix deadlock - cgroup_writeback: fix deadlock in cgroup1_writeback - !4414 Support srq record doorbell and support query srq context - RDMA/hns: Support SRQ record doorbell - RDMA/hns: Support SRQ restrack ops for hns driver - RDMA/core: Add support to dump SRQ resource in RAW format - RDMA/core: Add dedicated SRQ resource tracker function - !4165 tlb: reserve fields for struct mmu_gather - tlb: reserve fields for struct mmu_gather - !4178 OLK-6.6 cred backport for kabi reserve - cred: get rid of CONFIG_DEBUG_CREDENTIALS - groups: Convert group_info.usage to refcount_t - cred: switch to using atomic_long_t - cred: add get_cred_many and put_cred_many - !4343 v3 reserve KABI slots for file system or storage related structures - mtd: kabi: Reserve KABI slots for mtd_device_xxx_register() related structures - pipe: kabi: Reserve KABI slots for pipe_inode_info structure - exportfs: kabi: Reserve KABI slots for export_operations structure - !4200 Expose swapcache stat for memcg v1 - memcg: remove unused do_memsw_account in memcg1_stat_format - memcg: expose swapcache stat for memcg v1 - !4140 backport some patches for kunpeng hccs - soc: hisilicon: kunpeng_hccs: Support the platform with PCC type3 and interrupt ack - doc: kunpeng_hccs: Fix incorrect email domain name - soc: hisilicon: kunpeng_hccs: Remove an unused blank line - soc: hisilicon: kunpeng_hccs: Add failure log for no _CRS method - soc: hisilicon: kunpeng_hccs: Fix some incorrect format strings - soc/hisilicon: kunpeng_hccs: Convert to platform remove callback returning void - soc: kunpeng_hccs: Migrate to use generic PCC shmem related macros - hwmon: (xgene) Migrate to use generic PCC shmem related macros - i2c: xgene-slimpro: Migrate to use generic PCC shmem related macros - ACPI: PCC: Add PCC shared memory region command and status bitfields - !3641 Make the cpuinfo_cur_freq interface read correctly - cpufreq: CPPC: Keep the target core awake when reading its cpufreq rate - arm64: cpufeature: Export cpu_has_amu_feat() - !4410 config: Update openeuler_defconfig base on current - config: x86: Update openeuler_defconfig base on current source code - config: arm64: Update openeuler_defconfig base on current source code - !4400 v2 soc: hisilicon: hisi_hbmdev: Fix compile error - soc: hisilicon: hisi_hbmdev: Fix compile error - !4397 v2 cryptd: kabi: Fixed boot panic - cryptd: kabi: Fixed boot panic - !4393 [OLK-6.6] crypto: sm4: fix the build warning issue of sm4 driver - crypto: sm4: fix the build warning issue of sm4 driver - !4368 cgroup/misc: fix compiling waring - cgroup/misc: fix compiling waring - !4364 [OLK-6.6] crypto: sm3/sm4: fix zhaoxin sm3/sm4 driver file name mismatch issue - crypto: sm3/sm4: fix zhaoxin sm3/sm4 driver file name mismatch issue - !4204 arm64: Turn on CONFIG_IPI_AS_NMI in openeuler_defconfig - arm64: Turn on CONFIG_IPI_AS_NMI in openeuler_defconfig - !4314 tracing: Reserve kabi fields - tracing: Reserve kabi fields - !4301 v3 kabi: reserve space for cpu cgroup and cpuset cgroup related structures - kabi: reserve space for cpu cgroup and cpuset cgroup related structures - !4177 kabi: reserve space for bpf related structures - kabi: reserve space for bpf related structures - !4354 v7 KABI reservation for IMA and crypto - ima: kabi: KABI reservation for IMA - crypto: kabi: KABI reservation for crypto - !4346 v2 pciehp: fix a race between pciehp and removing operations by sysfs - pciehp: fix a race between pciehp and removing operations by sysfs - !4146 tcp: fix compilation issue when CONFIG_SYSCTL is disabled - tcp: fix compilation issue when CONFIG_SYSCTL is disabled - !4066 smb: client: fix OOB in receive_encrypted_standard() - smb: client: fix OOB in receive_encrypted_standard() - !3995 net: config: enable network config - net: config: enable network config - !3745 【OLK-6.6】Support SMT control on arm64 - config: enable CONFIG_HOTPLUG_SMT for arm64 - arm64: Kconfig: Enable HOTPLUG_SMT - arm64: topology: Support SMT control on ACPI based system - arch_topology: Support SMT control for OF based system - arch_topology: Support basic SMT control for the driver - !4000 audit: kabi: KABI reservation for audit - audit: kabi: KABI reservation for audit - !4249 ubifs: fix possible dereference after free - ubifs: fix possible dereference after free - !3178 [OLK-6.6] Driver for Zhaoxin SM3 and SM4 algorithm - configs: Add Zhaoxin SM3 and SM4 algorithm configs - Add support for Zhaoxin GMI SM4 Block Cipher algorithm - Add support for Zhaoxin GMI SM3 Secure Hash algorithm - !4219 Initial cleanups for vCPU hotplug - riscv: convert to use arch_cpu_is_hotpluggable() - riscv: Switch over to GENERIC_CPU_DEVICES - LoongArch: convert to use arch_cpu_is_hotpluggable() - LoongArch: Use the __weak version of arch_unregister_cpu() - LoongArch: Switch over to GENERIC_CPU_DEVICES - x86/topology: convert to use arch_cpu_is_hotpluggable() - x86/topology: use weak version of arch_unregister_cpu() - x86/topology: Switch over to GENERIC_CPU_DEVICES - arm64: convert to arch_cpu_is_hotpluggable() - arm64: setup: Switch over to GENERIC_CPU_DEVICES using arch_register_cpu() - drivers: base: Print a warning instead of panic() when register_cpu() fails - drivers: base: Move cpu_dev_init() after node_dev_init() - drivers: base: add arch_cpu_is_hotpluggable() - drivers: base: Implement weak arch_unregister_cpu() - drivers: base: Allow parts of GENERIC_CPU_DEVICES to be overridden - drivers: base: Use present CPUs in GENERIC_CPU_DEVICES - ACPI: Move ACPI_HOTPLUG_CPU to be disabled on arm64 and riscv - Loongarch: remove arch_*register_cpu() exports - x86/topology: remove arch_*register_cpu() exports - x86: intel_epb: Don't rely on link order - arch_topology: Make register_cpu_capacity_sysctl() tolerant to late CPUs - arm64, irqchip/gic-v3, ACPI: Move MADT GICC enabled check into a helper - ACPI: scan: Rename acpi_scan_device_not_present() to be about enumeration - ACPI: scan: Use the acpi_device_is_present() helper in more places - !4215 pci: Enable acs for QLogic HBA cards - pci: Enable acs for QLogic HBA cards - !4267 ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16() - ksmbd: fix slab-out-of-bounds in smb_strndup_from_utf16() - !4317 [OLK-6.6] cputemp: zhaoxin: fix HWMON_THERMAL namespace not import issue - cputemp: zhaoxin: fix HWMON_THERMAL namespace not import issue. - !3682 cgroup and ns kabi reserve - cgroup/misc: reserve kabi for future misc development - cgroup/psi: reserve kabi for future psi development - namespace: kabi: reserve for future namespace development - cgroup: kabi: reserve space for cgroup frame - !4291 fs:/dcache.c: fix negative dentry limit not complete problem - fs:/dcache.c: fix negative dentry limit not complete problem - !4292 powerpc: Add PVN support for HeXin C2000 processor - powerpc: Add PVN support for HeXin C2000 processor - !3129 [OLK-6.6] Driver for Zhaoxin AES and SHA algorithm - Add Zhaoxin aes/sha items in openeuler_config - Add support for Zhaoxin SHA algorithm - Add support for Zhaoxin AES algorithm - !3959 kabi: mm: add kabi reserve for mm structure - kabi: mm: add kabi reserve for mm structure - !4046 [OLK-6.6] Add gic support for Phytium S2500 - Add gic support for Phytium S2500 - !3126 [OLK-6.6] Driver for Zhaoxin HW Random Number Generator - Add CONFIG_HW_RANDOM_ZHAOXIN in openeuler_defconfig - Add support for Zhaoxin HW Random Number Generator - !3169 [OLK-6.6] x86/perf: Add uncore performance events support for Zhaoxin CPU - x86/perf: Add uncore performance events support for Zhaoxin CPU - !3187 [OLK-6.6] Add support for Zhaoxin I2C controller - configs: add CONFIG_I2C_ZHAOXIN to m - Add support for Zhaoxin I2C controller - !4164 arch/mm/fault: fix major fault accounting when retrying under per-VMA lock - arch/mm/fault: fix major fault accounting when retrying under per-VMA lock - !3903 kabi: Reserve space for perf subsystem related structures - kabi: Reserve space for perf subsystem related structures - !4128 drm/qxl: Fix missing free_irq - drm/qxl: Fix missing free_irq - !4050 kabi: net: reserve space for net - kabi: net: reserve space for net sunrpc subsystem related structure - kabi: net: reserve space for net rdma subsystem related structure - kabi: net: reserve space for net netfilter subsystem related structure - kabi: net: reserve space for net can subsystem related structure - kabi: net: reserve space for net bpf subsystem related structure - kabi: net: reserve space for net base subsystem related structure - !3774 [OLK-6.6] sched/fair: Scan cluster before scanning LLC in wake-up path - sched/fair: Use candidate prev/recent_used CPU if scanning failed for cluster wakeup - sched/fair: Scan cluster before scanning LLC in wake-up path - sched: Add cpus_share_resources API - !3125 [OLK-6.6] Driver for Zhaoxin Serial ATA IDE - configs: enable CONFIG_SATA_ZHAOXIN to y - Add support for Zhaoxin Serial ATA IDE. - !4044 Set CONFIG_NODES_SHIFT to 8 - openeuler_defconfig: set CONFIG_NODES_SHIFT to 8 for both x86_64/ARM64 - x86/Kconfig: allow NODES_SHIFT to be set on MAXSMP - !3840 Remove Hygon SMBus IMC detecting - i2c-piix4: Remove the IMC detecting for Hygon SMBus - !3839 Add support for Hygon model 4h k10temp - hwmon/k10temp: Add support for Hygon family 18h model 5h - hwmon/k10temp: Add support for Hygon family 18h model 4h - !3837 Add support for Hygon model 4h northbridge - x86/amd_nb: Add support for Hygon family 18h model 6h - x86/amd_nb: Add support for Hygon family 18h model 5h - x86/amd_nb: Add northbridge support for Hygon family 18h model 4h - x86/amd_nb: Add Hygon family 18h model 4h PCI IDs - !4199 Support large folio for mlock - mm: mlock: avoid folio_within_range() on KSM pages - mm: mlock: update mlock_pte_range to handle large folio - mm: handle large folio when large folio in VM_LOCKED VMA range - mm: add functions folio_in_range() and folio_within_vma() - !4147 arm64: Add CONFIG_IPI_AS_NMI to IPI as NMI feature - arm64: Add CONFIG_IPI_AS_NMI to IPI as NMI feature - !4159 Backport iommufd dirty tracking from v6.7 - iommu/vt-d: Set variable intel_dirty_ops to static - iommufd/selftest: Fix _test_mock_dirty_bitmaps() - iommufd/selftest: Fix page-size check in iommufd_test_dirty() - iommu/vt-d: Enhance capability check for nested parent domain allocation - iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP_NO_CLEAR flag - iommufd/selftest: Test out_capabilities in IOMMU_GET_HW_INFO - iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP - iommufd/selftest: Test IOMMU_HWPT_SET_DIRTY_TRACKING - iommufd/selftest: Test IOMMU_HWPT_ALLOC_DIRTY_TRACKING - iommufd/selftest: Expand mock_domain with dev_flags - iommu/vt-d: Access/Dirty bit support for SS domains - iommu/amd: Access/Dirty bit support in IOPTEs - iommu/amd: Add domain_alloc_user based domain allocation - iommufd: Add a flag to skip clearing of IOPTE dirty - iommufd: Add capabilities to IOMMU_GET_HW_INFO - iommufd: Add IOMMU_HWPT_GET_DIRTY_BITMAP - iommufd: Add IOMMU_HWPT_SET_DIRTY_TRACKING - iommufd: Add a flag to enforce dirty tracking on attach - iommufd: Correct IOMMU_HWPT_ALLOC_NEST_PARENT description - iommu: Add iommu_domain ops for dirty tracking - iommufd/iova_bitmap: Move symbols to IOMMUFD namespace - vfio: Move iova_bitmap into iommufd - vfio/iova_bitmap: Export more API symbols - iommufd/selftest: Rework TEST_LENGTH to test min_size explicitly - iommu/vt-d: Add domain_alloc_user op - iommufd/selftest: Add domain_alloc_user() support in iommu mock - iommufd/selftest: Iterate idev_ids in mock_domain's alloc_hwpt test - iommufd: Support allocating nested parent domain - iommufd: Flow user flags for domain allocation to domain_alloc_user() - iommufd: Use the domain_alloc_user() op for domain allocation - iommu: Add new iommu op to create domains owned by userspace - !4109 PCI: add a member in 'struct pci_bus' to record the original 'pci_ops' - PCI: add a member in 'struct pci_bus' to record the original 'pci_ops' - !4108 PCI/AER: increments pci bus reference count in aer-inject process - PCI/AER: increments pci bus reference count in aer-inject process - !4114 pci: do not save 'PCI_BRIDGE_CTL_BUS_RESET' - pci: do not save 'PCI_BRIDGE_CTL_BUS_RESET' - !4113 PCI: check BIR before mapping MSI-X Table - PCI: check BIR before mapping MSI-X Table - !4112 PCI: Fail MSI-X mapping if MSI-X Table offset is out of range of BAR space - PCI: Fail MSI-X mapping if MSI-X Table offset is out of range of BAR space - !4110 PCI: Add MCFG quirks for some Hisilicon Chip host controllers - PCI: Add MCFG quirks for some Hisilicon Chip host controllers - !4111 sysrq: avoid concurrently info printing by 'sysrq-trigger' - sysrq: avoid concurrently info printing by 'sysrq-trigger' - !4107 ntp: Avoid undefined behaviour in second_overflow() - ntp: Avoid undefined behaviour in second_overflow() - !4105 PCI/sysfs: Take reference on device to be removed - PCI/sysfs: Take reference on device to be removed - !3836 Add support for Hygon model 4h QoS - x86/resctrl: Add Hygon QoS support - !4154 Add per-node vmstat info and memcg info - mm/vmstat: move pgdemote_* out of CONFIG_NUMA_BALANCING - mm/vmstat: move pgdemote_* to per-node stats - mm: memcg: add THP swap out info for anonymous reclaim - !4170 mm/ksm: generalize ksm_process_profit - mm/ksm: generalize ksm_process_profit - !4120 arm_mpam: support mpam feature in OLK-6.6 - arm_mpam: control memory bandwidth with hard limit flag - fs/resctrl: Remove the limit on the number of CLOSID - arm_mpam: resctrl: Update the rmid reallocation limit - arm_mpam: resctrl: Call resctrl_exit() in the event of errors - arm_mpam: resctrl: Tell resctrl about cpu/domain online/offline - perf/arm-cmn: Stop claiming all the resources - arm64: mpam: Select ARCH_HAS_CPU_RESCTRL - arm_mpam: resctrl: Add dummy definition for free running counters - arm_mpam: resctrl: Add empty definitions for fine-grained enables - arm_mpam: resctrl: Add empty definitions for pseudo lock - untested: arm_mpam: resctrl: Allow monitors to be configured - arm_mpam: resctrl: Add resctrl_arch_rmid_read() and resctrl_arch_reset_rmid() - arm_mpam: resctrl: Allow resctrl to allocate monitors - untested: arm_mpam: resctrl: Add support for mbm counters - untested: arm_mpam: resctrl: Add support for MB resource - arm_mpam: resctrl: Add rmid index helpers - arm64: mpam: Add helpers to change a tasks and cpu mpam partid/pmg values - arm_mpam: resctrl: Add CDP emulation - arm_mpam: resctrl: Implement helpers to update configuration - arm_mpam: resctrl: Add resctrl_arch_get_config() - arm_mpam: resctrl: Implement resctrl_arch_reset_resources() - arm_mpam: resctrl: Pick a value for num_rmid - arm_mpam: resctrl: Pick the caches we will use as resctrl resources - arm_mpam: resctrl: Add boilerplate cpuhp and domain allocation - arm_mpam: Add helper to reset saved mbwu state - arm_mpam: Use long MBWU counters if supported - arm_mpam: Probe for long/lwd mbwu counters - arm_mpam: Track bandwidth counter state for overflow and power management - arm_mpam: Add mpam_msmon_read() to read monitor value - arm_mpam: Add helpers to allocate monitors - arm_mpam: Probe and reset the rest of the features - arm_mpam: Allow configuration to be applied and restored during cpu online - arm_mpam: Use the arch static key to indicate when mpam is enabled - arm_mpam: Register and enable IRQs - arm_mpam: Extend reset logic to allow devices to be reset any time - arm_mpam: Add a helper to touch an MSC from any CPU - arm_mpam: Reset MSC controls from cpu hp callbacks - arm_mpam: Merge supported features during mpam_enable() into mpam_class - arm_mpam: Probe the hardware features resctrl supports - arm_mpam: Probe MSCs to find the supported partid/pmg values - arm_mpam: Add cpuhp callbacks to probe MSC hardware - arm_mpam: Add MPAM MSC register layout definitions - arm_mpam: Add the class and component structures for ris firmware described - arm_mpam: Add probe/remove for mpam msc driver and kbuild boiler plate - dt-bindings: arm: Add MPAM MSC binding - ACPI / MPAM: Parse the MPAM table - drivers: base: cacheinfo: Add helper to find the cache size from cpu+level - cacheinfo: Expose the code to generate a cache-id from a device_node - cacheinfo: Set cache 'id' based on DT data - cacheinfo: Allow for >32-bit cache 'id' - ACPI / PPTT: Add a helper to fill a cpumask from a cache_id - ACPI / PPTT: Add a helper to fill a cpumask from a processor container - ACPI / PPTT: Find PPTT cache level by ID - ACPI / PPTT: Provide a helper to walk processor containers - untested: KVM: arm64: Force guest EL1 to use user-space's partid configuration - arm64: mpam: Context switch the MPAM registers - KVM: arm64: Disable MPAM visibility by default, and handle traps - KVM: arm64: Fix missing traps of guest accesses to the MPAM registers - arm64: cpufeature: discover CPU support for MPAM - arm64: head.S: Initialise MPAM EL2 registers and disable traps - x86/resctrl: Move the filesystem portions of resctrl to live in '/fs/' - x86/resctrl: Move the filesystem bits to headers visible to fs/resctrl - fs/resctrl: Add boiler plate for external resctrl code - x86/resctrl: Drop __init/__exit on assorted symbols - x86/resctrl: Describe resctrl's bitmap size assumptions - x86/resctrl: Claim get_domain_from_cpu() for resctrl - x86/resctrl: Move get_config_index() to a header - x86/resctrl: Move thread_throttle_mode_init() to be managed by resctrl - x86/resctrl: Make resctrl_arch_pseudo_lock_fn() take a plr - x86/resctrl: Make prefetch_disable_bits belong to the arch code - x86/resctrl: Allow an architecture to disable pseudo lock - x86/resctrl: Allow resctrl_arch_mon_event_config_write() to return an error - x86/resctrl: Change mon_event_config_{read,write}() to be arch helpers - x86/resctrl: Add resctrl_arch_is_evt_configurable() to abstract BMEC - x86/resctrl: Export the is_mbm_*_enabled() helpers to asm/resctrl.h - x86/resctrl: Stop using the for_each_*_rdt_resource() walkers - x86/resctrl: Move max_{name,data}_width into resctrl code - x86/resctrl: Move monitor exit work to a restrl exit call - x86/resctrl: Move monitor init work to a resctrl init call - x86/resctrl: Add a resctrl helper to reset all the resources - x86/resctrl: Move resctrl types to a separate header - x86/resctrl: Wrap resctrl_arch_find_domain() around rdt_find_domain() - x86/resctrl: Export resctrl fs's init function - x86/resctrl: Remove rdtgroup from update_cpu_closid_rmid() - x86/resctrl: Add helper for setting CPU default properties - x86/resctrl: Move ctrlval string parsing links away from the arch code - x86/resctrl: Add a helper to avoid reaching into the arch code resource list - x86/resctrl: Separate arch and fs resctrl locks - x86/resctrl: Move domain helper migration into resctrl_offline_cpu() - x86/resctrl: Add CPU offline callback for resctrl work - x86/resctrl: Allow overflow/limbo handlers to be scheduled on any-but cpu - x86/resctrl: Add CPU online callback for resctrl work - x86/resctrl: Add helpers for system wide mon/alloc capable - x86/resctrl: Make rdt_enable_key the arch's decision to switch - x86/resctrl: Move alloc/mon static keys into helpers - x86/resctrl: Make resctrl_mounted checks explicit - x86/resctrl: Allow arch to allocate memory needed in resctrl_arch_rmid_read() - x86/resctrl: Allow resctrl_arch_rmid_read() to sleep - x86/resctrl: Queue mon_event_read() instead of sending an IPI - x86/resctrl: Add cpumask_any_housekeeping() for limbo/overflow - x86/resctrl: Move CLOSID/RMID matching and setting to use helpers - x86/resctrl: Allocate the cleanest CLOSID by searching closid_num_dirty_rmid - x86/resctrl: Use __set_bit()/__clear_bit() instead of open coding - x86/resctrl: Track the number of dirty RMID a CLOSID has - x86/resctrl: Allow RMID allocation to be scoped by CLOSID - x86/resctrl: Access per-rmid structures by index - x86/resctrl: Track the closid with the rmid - x86/resctrl: Move rmid allocation out of mkdir_rdt_prepare() - x86/resctrl: Create helper for RMID allocation and mondata dir creation - x86/resctrl: kfree() rmid_ptrs from resctrl_exit() - tick/nohz: Move tick_nohz_full_mask declaration outside the #ifdef - x86/resctrl: Display RMID of resource group - x86/resctrl: Add support for the files of MON groups only - x86/resctrl: Display CLOSID for resource group - x86/resctrl: Introduce "-o debug" mount option - x86/resctrl: Move default group file creation to mount - x86/resctrl: Unwind properly from rdt_enable_ctx() - x86/resctrl: Rename rftype flags for consistency - x86/resctrl: Simplify rftype flag definitions - x86/resctrl: Add multiple tasks to the resctrl group at once - x86/resctrl: Fix remaining kernel-doc warnings - !3834 Add support for Hygon model 4h IOAPIC - iommu/hygon: Add support for Hygon family 18h model 4h IOAPIC - !3830 Add support for Hygon model 5h CPU cache - x86/cpu: Get LLC ID for Hygon family 18h model 5h - !3311 Add support for Hygon model 4h CPU topology - x86/cpu/hygon: Fix __max_die_per_package for Hygon family 18h model 4h - !3124 [OLK-6.6] Add support for Zhaoxin HDAC and codec - ALSA: hda: Add support of Zhaoxin NB HDAC codec - ALSA: hda: Add support of Zhaoxin NB HDAC - ALSA: hda: Add support of Zhaoxin SB HDAC - !3098 [OLK-6.6] Add support for Zhaoxin Processors - x86/cpu: Add detect extended topology for Zhaoxin CPUs - x86/cpufeatures: Add Zhaoxin feature bits - !3742 arch/powerpc: add ppc little endian openuler defconfig - arch/powerpc: add ppc little endian openuler defconfig - !4099 Intel: Backport SRF LBR branch counter support to kernel v6.6 - perf/x86/intel: Support branch counters logging - perf/x86/intel: Reorganize attrs and is_visible - perf: Add branch_sample_call_stack - perf/x86: Add PERF_X86_EVENT_NEEDS_BRANCH_STACK flag - perf: Add branch stack counters - !3177 [OLK-6.6] Add MWAIT Cx support for Zhaoxin CPUs - Add MWAIT Cx support for Zhaoxin CPUs - !3170 [OLK-6.6] rtc: Fix set RTC time delay 500ms on some Zhaoxin SOCs - rtc: Fix set RTC time delay 500ms on some Zhaoxin SOCs - !3131 [OLK-6.6] Driver for Zhaoxin CPU core temperature monitoring - Add CONFIG_SENSORS_ZHAOXIN_CPUTEMP in openeuler_defconfig - Add support for Zhaoxin core temperature monitoring - !3102 [OLK-6.6] x86/mce: Add Centaur MCA support - x86/mce: Add Centaur MCA support - !4116 Intel: Backport GNR/SRF PMU uncore support to kernel v6.6 - perf/x86/intel/uncore: Support Sierra Forest and Grand Ridge - perf/x86/intel/uncore: Support IIO free-running counters on GNR - perf/x86/intel/uncore: Support Granite Rapids - perf/x86/uncore: Use u64 to replace unsigned for the uncore offsets array - perf/x86/intel/uncore: Generic uncore_get_uncores and MMIO format of SPR - !4115 Intel: Backport In Field Scan(IFS) SAF & Array BIST support for GNR & SRF - platform/x86/intel/ifs: ARRAY BIST for Sierra Forest - platform/x86/intel/ifs: Add new error code - platform/x86/intel/ifs: Add new CPU support - platform/x86/intel/ifs: Metadata validation for start_chunk - platform/x86/intel/ifs: Validate image size - platform/x86/intel/ifs: Gen2 Scan test support - platform/x86/intel/ifs: Gen2 scan image loading - platform/x86/intel/ifs: Refactor image loading code - platform/x86/intel/ifs: Store IFS generation number - !4103 [OLK-6.6] Intel: microcode restructuring backport - x86/setup: Make relocated_ramdisk a local variable of relocate_initrd() - x86/microcode/intel: Add a minimum required revision for late loading - x86/microcode: Prepare for minimal revision check - x86/microcode: Handle "offline" CPUs correctly - x86/apic: Provide apic_force_nmi_on_cpu() - x86/microcode: Protect against instrumentation - x86/microcode: Rendezvous and load in NMI - x86/microcode: Replace the all-in-one rendevous handler - x86/microcode: Provide new control functions - x86/microcode: Add per CPU control field - x86/microcode: Add per CPU result state - x86/microcode: Sanitize __wait_for_cpus() - x86/microcode: Clarify the late load logic - x86/microcode: Handle "nosmt" correctly - x86/microcode: Clean up mc_cpu_down_prep() - x86/microcode: Get rid of the schedule work indirection - x86/microcode: Mop up early loading leftovers - x86/microcode/amd: Use cached microcode for AP load - x86/microcode/amd: Cache builtin/initrd microcode early - x86/microcode/amd: Cache builtin microcode too - x86/microcode/amd: Use correct per CPU ucode_cpu_info - x86/microcode: Remove pointless apply() invocation - x86/microcode/intel: Rework intel_find_matching_signature() - x86/microcode/intel: Reuse intel_cpu_collect_info() - x86/microcode/intel: Rework intel_cpu_collect_info() - x86/microcode/intel: Unify microcode apply() functions - x86/microcode/intel: Switch to kvmalloc() - x86/microcode/intel: Save the microcode only after a successful late-load - x86/microcode/intel: Simplify early loading - x86/microcode/intel: Cleanup code further - x86/microcode/intel: Simplify and rename generic_load_microcode() - x86/microcode/intel: Simplify scan_microcode() - x86/microcode/intel: Rip out mixed stepping support for Intel CPUs - x86/microcode/32: Move early loading after paging enable - x86/boot/32: Temporarily map initrd for microcode loading - x86/microcode: Provide CONFIG_MICROCODE_INITRD32 - x86/boot/32: Restructure mk_early_pgtbl_32() - x86/boot/32: De-uglify the 2/3 level paging difference in mk_early_pgtbl_32() - x86/boot: Use __pa_nodebug() in mk_early_pgtbl_32() - x86/boot/32: Disable stackprotector and tracing for mk_early_pgtbl_32() - x86/microcode/amd: Fix snprintf() format string warning in W=1 build - !4102 Intel: Backport Sierra Forest(SRF) perf cstate support to kernel OLK-6.6 - perf/x86/intel/cstate: Add Grand Ridge support - perf/x86/intel/cstate: Add Sierra Forest support - x86/smp: Export symbol cpu_clustergroup_mask() - perf/x86/intel/cstate: Cleanup duplicate attr_groups - !4104 arm64: Add the arm64.nolse command line option - arm64: Add the arm64.nolse command line option - !4093 introduce smart_grid zone - smart_grid: introduce smart_grid cmdline - smart_grid: cpufreq: introduce smart_grid cpufreq control - smart_grid: introduce smart_grid_strategy_ctrl sysctl - smart_grid: introduce /proc/pid/smart_grid_level - sched: introduce smart grid qos zone - config: enable CONFIG_QOS_SCHED_SMART_GRID by default - sched: smart grid: init sched_grid_qos structure on QOS purpose - sched: Introduce smart grid scheduling strategy for cfs- Module.kabi_aarch64 and Module.kabi_x86_64 v1- !4087 backport two page_owner patchsets: - mm/page_owner: record and dump free_pid and free_tgid - tools/mm: update the usage output to be more organized - tools/mm: fix the default case for page_owner_sort - tools/mm: filter out timestamps for correct collation - tools/mm: remove references to free_ts from page_owner_sort - mm/page_owner: remove free_ts from page_owner output - !4070 Backport etmem feature to OLK 6.6 - etmem: enable etmem configurations - etmem: add original kernel swap enabled options - etmem: add etmem swap feature - mm: Export symbol reclaim_pages - etmem: add etmem scan feature - mm: Export symbol walk_page_range - mm: Export symbol __pud_trans_huge_lock - etmem: add ETMEM scan feature CONFIG to mm/Kconfig - etmem: add ETMEM feature CONFIG to mm/Kconfig - !3444 LoongArch: fix some pci problems - LoongArch: pci root bridige set acpi companion only when not acpi_disabled. - PCI: irq: Add early_param pci_irq_limit to limit pci irq numbers - PCI: fix X server auto probe fail when both ast and etnaviv drm present - PCI: LS7A2000: fix GPU card error - PCI: LS7A2000: fix pm transition of devices under pcie port - LoongArch: fix some PCIE card not scanning properly - PCI: fix kabi error caused by pm_suspend_target_state - PCI: PM: fix pcie mrrs restoring - PCI: Check if the pci controller can use both CFG0 and CFG1 mode to access configuration space - PCI: Check if entry->offset already exist for mem resource - LS7A2000: Add quirk for OHCI device rev 0x02 - !4027 [OLK-6.6] Intel RDT non-contiguous CBM support - Documentation/x86: Document resctrl's new sparse_masks - x86/resctrl: Add sparse_masks file in info - x86/resctrl: Enable non-contiguous CBMs in Intel CAT - x86/resctrl: Rename arch_has_sparse_bitmaps - !4098 sched: programmable: Fix is_cpu_allowed build error - sched: programmable: Fix is_cpu_allowed build error - !4072 cgroup/misc: openeuler_defconfig open misc config by default - cgroup/misc: openeuler_defconfig open misc config by default - !4053 sched: basic infrastructure for scheduler bpf - openeuler_defconfig: enable CONFIG_BPF_SCHED - sched: programmable: Add hook in can_migrate_task() - sched: programmable: Add hook in select_task_rq_fair() - sched: introduce bpf_sched_enable() - sched: basic infrastructure for scheduler bpf - sched: programmable: Add user interface of task tag - sched: programmable: Add user interface of task group tag - sched: programmable: Add a tag for the task group - sched: programmable: Add a tag for the task - sched: programmable: Introduce bpf sched - !4068 mm/oom_kill: fix NULL pointer dereference in memcg_print_bad_task() - mm/oom_kill: fix NULL pointer dereference in memcg_print_bad_task() - !4036 ubi: fix slab-out-of-bounds in ubi_eba_get_ldesc+0xfb/0x130 - ubi: fix slab-out-of-bounds in ubi_eba_get_ldesc+0xfb/0x130 - !3971 optimize inlining - make OPTIMIZE_INLINING config editable - Revert "compiler: remove CONFIG_OPTIMIZE_INLINING entirely" - !3631 drm: fix free illegal pointer when create drm_property_blob failed - drm: fix free illegal pointer when create drm_property_blob failed - !3958 Revert "drm/prime: Unexport helpers for fd/handle conversion" - Revert "drm/prime: Unexport helpers for fd/handle conversion" - !3670 Add initial openeuler_defconfig for riscv64 - config: add initial openeuler_defconfig for riscv64 - !3895 Spark SQL scenario bpf readahead optimization synchronization to OLK-6.6 - selftests/bpf: Update the demo file_read_pattern to run on libbpf 1.0+ - VFS: Rolling Back the fmode macro definition and structure members - selftests/bpf: add demo for file read pattern detection - ext4: add trace for the read and release of regular file - xfs: add trace for read and release of regular file - fs: add helper fs_file_read_do_trace() - vfs: add bare tracepoints for vfs read and release - readahead: introduce FMODE_CTL_WILLNEED to read first 2MB of file - !3964 drivers: hooks: add bonding driver vendor hooks - drivers: hooks: add bonding driver vendor hooks - !3996 hfs: fix null-ptr-deref in hfs_find_init() - hfs: fix null-ptr-deref in hfs_find_init() - !3976 Introduce dynamic pool feature - mm/dynamic_pool: enable CONFIG_DYNAMIC_POOL on x86_64 and arm64 by default - mm/dynamic_pool: add Document for dynamic hugetlb feature - mm/dynamic_pool: compatible with memory hwpoison - mm/dynamic_pool: compatible with HugeTLB Vmemmap - mm/dynamic_pool: compatible with HugeTLB dissolve - mm/dynamic_pool: disable THP for task attached with dpool - mm/dynamic_pool: fill dpool with pagelist - mm/dynamic_pool: add tracepoints for dpool - mm/dynamic_pool: support HugeTLB page allocation from dpool - mm/dynamic_pool: check resv for HugeTLB allocation from dpool - mm/dynamic_pool: speed up allocation by percpu pages pool - mm/dynamic_pool: support page allocation from dpool - mm/dynamic_pool: prevent task attach to another dpool - mm/dynamic_pool: call mem_cgroup_force_empty before restore pool - mm/dynamic_pool: migrate used pages before promote to huge page - mm/dynamic_pool: support to flow pages between 2M and 4K pages pool - mm/dynamic_pool: support to flow pages between 1G and 2M pages pool - mm/dynamic_pool: add restore_pool ops to reclaim memory and restore hugepages - mm/dynamic_pool: add interface to configure the count of hugepages - mm/dynamic_pool: fill dpool with HugeTLB 1G pages - mm/dynamic_pool: create dpool by dhugetlb.nr_pages interface - mm/dynamic_pool: introduce PG_pool to mark pages allocated from dpool - mm/dynamic_pool: introduce PG_dpool to mark free pages in dpool - mm/dynamic_pool: introduce per-memcg memory pool - mm/memcg: introduce memcg_has_children to check memcg - mm/memcg: introduce mem_cgroup_scan_cgroups to scan all memcgs - !3833 xfs: fix block space problems - xfs: longest free extent no need consider postalloc - xfs: fix xfs shutdown since we reserve more blocks in agfl fixup - xfs: set minleft correctly for randomly sparse inode allocations - xfs: account extra freespace btree splits for multiple allocations - !3902 xfs: update the last_sync_lsn with ctx start lsn - xfs: update the last_sync_lsn with ctx start lsn - !3977 Terrace Service Acceleration - bpf, sockmap: Add sk_rmem_alloc check for sockmap - bpf: Add new bpf helper to get SO_ORIGINAL_DST/REPLY_SRC - bpf: Add bpf_get_sockops_uid_gid helper function - net: core: Add a GID field to struct sock. - !3974 Add support for mbigen to generate SPIs - dt-bindings/irqchip/mbigen: add example of MBIGEN generate SPIs - irqchip/mbigen: add support for a MBIGEN generating SPIs - irqchip/mbigen: rename register marcros - !3963 block: Add config to show info about opening a mounted device for write - add config about writing mounted devices in openeuler_defconfig - block: Show info about opening a lower device for write while upper-layers mounted - block: Add config option to show info about opening a mounted device for write - block: Add config option to detect writing to part0 while partitions mounted - block: Expand the meaning of bdev_allow_write_mounted - block: Record writing and mounting regardless of whether bdev_allow_write_mounted is set - !3921 mm: mem_reliable: Introduce memory reliable - config: enable MEMORY_RELIABLE by default - mm: mem_reliable: Show debug info about memory reliable if oom occurs - mm: mem_reliable: Introduce proc interface to disable memory reliable features - proc: mem_reliable: Count reliable memory usage of reliable tasks - mm: mem_reliable: Introduce fallback mechanism for memory reliable - mm: mem_reliable: Add limiting the usage of reliable memory - mm: mem_reliable: Show reliable meminfo - mm: mem_reliable: Count reliable shmem usage - mm: mem_reliable: Count reliable page cache usage - mm: mem_reliable: Add cmdline reliable_debug to enable separate feature - mm/hugetlb: Allocate non-mirrored memory by default - mm/memblock: Introduce ability to alloc memory from specify memory region - mm: mem_reliable: Add memory reliable support during hugepaged collapse - mm: mem_reliable: Alloc pagecache from reliable region - shmem: mem_reliable: Alloc shmem from reliable region - mm: mem_reliable: Alloc task memory from reliable region - mm: mem_reliable: Introduce memory reliable - efi: Disable mirror feature during crashkernel - proc: introduce proc_hide_ents to hide proc files - !3935 pid_ns: Make pid_max per namespace - pid_ns: Make pid_max per namespace - !3913 arm64: Add non nmi ipi backtrace support - arm64: Add non nmi ipi backtrace support - !3785 【OLK-6.6】PSI cgroupv1 and PSI fine grained - sched/psi: enable PSI_CGROUP_V1 and PSI_FINE_GRAINED in openeuler_defconfig - sched/psi: add cpu fine grained stall tracking in pressure.stat - sched/psi: add more memory fine grained stall tracking in pressure.stat - sched/psi: Introduce pressure.stat in psi - sched/psi: Introduce avgs and total calculation for cgroup reclaim - sched/psi: Introduce fine grained stall time collect for cgroup reclaim - sched/psi: introduce tracepoints for psi_memstall_{enter, leave} - sched/psi: update psi irqtime when the irq delta is nozero - sched/psi: Export cgroup psi from cgroupv2 to cgroupv1 - sched/psi: Bail out early from irq time accounting - !3907 cgroup: Support iocost for cgroup v1 - openeuler_defconfig: enable iocost in openeuler_defconfig for x86 and arm64 - cgroup: Support iocost for cgroup v1 - !3897 Some simple extensions of the kfence feature - arm64: kfence: scale sample_interval to support early init for kfence. - kfence: Add a module parameter to adjust kfence objects - !3888 fs/dcache.c: avoid panic while lockref of dentry overflow - fs/dcache.c: avoid panic while lockref of dentry overflow - !3894 Add swap control for memcg - config: enable memcg swap qos for x86_64 and arm64 by default - memcg/swap: add ability to disable memcg swap - mm: swap_slots: add per-type slot cache - mm/swapfile: introduce per-memcg swapfile control - memcg: add restrict to swap to cgroup1 - memcg: introduce per-memcg swapin interface - memcg: introduce memcg swap qos feature - memcg: make sysctl registration more extensible - memcg: add page type to memory.reclaim interface - !3827 backport mainline md patch - dm-raid: delay flushing event_work() after reconfig_mutex is released - md/raid1: support read error check - md: factor out a helper exceed_read_errors() to check read_errors - md: Whenassemble the array, consult the superblock of the freshest device - md/raid1: remove unnecessary null checking - md: split MD_RECOVERY_NEEDED out of mddev_resume - md: fix stopping sync thread - md: fix missing flush of sync_work - md: synchronize flush io with array reconfiguration - md/md-multipath: remove rcu protection to access rdev from conf - md/raid5: remove rcu protection to access rdev from conf - md/raid1: remove rcu protection to access rdev from conf - md/raid10: remove rcu protection to access rdev from conf - md: remove flag RemoveSynchronized - Revert "md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d" - md: bypass block throttle for superblock update - md: cleanup pers->prepare_suspend() - md-cluster: check for timeout while a new disk adding - md: rename __mddev_suspend/resume() back to mddev_suspend/resume() - md: remove old apis to suspend the array - md: suspend array in md_start_sync() if array need reconfiguration - md/raid5: replace suspend with quiesce() callback - md/md-linear: cleanup linear_add() - md: cleanup mddev_create/destroy_serial_pool() - md: use new apis to suspend array before mddev_create/destroy_serial_pool - md: use new apis to suspend array for ioctls involed array reconfiguration - md: use new apis to suspend array for adding/removing rdev from state_store() - md: use new apis to suspend array for sysfs apis - md/raid5: use new apis to suspend array - md/raid5-cache: use new apis to suspend array - md/md-bitmap: use new apis to suspend array for location_store() - md/dm-raid: use new apis to suspend array - md: add new helpers to suspend/resume and lock/unlock array - md: add new helpers to suspend/resume array - md: replace is_md_suspended() with 'mddev->suspended' in md_check_recovery() - md/raid5-cache: use READ_ONCE/WRITE_ONCE for 'conf->log' - md: use READ_ONCE/WRITE_ONCE for 'suspend_lo' and 'suspend_hi' - md/raid1: don't split discard io for write behind - md: do not require mddev_lock() for all options in array_state_store() - md: simplify md_seq_ops - md: factor out a helper from mddev_put() - md: replace deprecated strncpy with memcpy - md: don't check 'mddev->pers' and 'pers->quiesce' from suspend_lo_store() - md: don't check 'mddev->pers' from suspend_hi_store() - md-bitmap: suspend array earlier in location_store() - md-bitmap: remove the checking of 'pers->quiesce' from location_store() - md: initialize 'writes_pending' while allocating mddev - md: initialize 'active_io' while allocating mddev - md: delay remove_and_add_spares() for read only array to md_start_sync() - md: factor out a helper rdev_addable() from remove_and_add_spares() - md: factor out a helper rdev_is_spare() from remove_and_add_spares() - md: factor out a helper rdev_removeable() from remove_and_add_spares() - md: delay choosing sync action to md_start_sync() - md: factor out a helper to choose sync action from md_check_recovery() - md: use separate work_struct for md_start_sync() - !3857 scsi: fix use-after-free problem in scsi_remove_target - scsi: fix use-after-free problem in scsi_remove_target - !3906 sched/core: Change depends of SCHED_CORE - sched/core: Change depends of SCHED_CORE - !3747 Introduce multiple qos level - config: Enable CONFIG_QOS_SCHED_MULTILEVEL - sched/fair: Introduce multiple qos level - !3899 fs/dirty_pages: dump the number of dirty pages for each inode - fs/dirty_pages: dump the number of dirty pages for each inode - !3815 JFFS2: Fix the race issues caused by the GC of jffs2 - jffs2: reset pino_nlink to 0 when inode creation failed - jffs2: make the overwritten xattr invisible after remount - jffs2: handle INO_STATE_CLEARING in jffs2_do_read_inode() - jffs2: protect no-raw-node-ref check of inocache by erase_completion_lock - !3891 block: support to account io_ticks precisely - block: support to account io_ticks precisely - !3881 iommu: set CONFIG_SMMU_BYPASS_DEV=y - iommu: set CONFIG_SMMU_BYPASS_DEV=y - !3819 support ext3/ext4 netlink error report. - Add new config 'CONFIG_EXT4_ERROR_REPORT' to control ext3/4 error reporting - ext4: report error to userspace by netlink - !3720 blk-mq: make fair tag sharing configurable - scsi_lib: disable fair tag sharing by default if total tags is less than 128 - scsi: core: make fair tag sharing configurable via sysfs - blk-mq: add apis to disable fair tag sharing - !3090 fs/dcache.c: avoid softlock since too many negative dentry - fs/dcache.c: avoid softlock since too many negative dentry - !3656 iommu: Enable smmu-v3 when 3408iMR/3416iMRraid card exist - iommu: Enable smmu-v3 when 3408iMR/3416iMRraid card exist - !3843 [OLK-6.6] export cgroup.stat from cgroupv2 to cgroupv1 - cgroup: Export cgroup.stat from cgroupv2 to cgroupv1 - !3828 openeuler_defconfig: enable erofs ondemand for x86 and arm64 - openeuler_defconfig: enable erofs ondemand for x86 and arm64 - !3851 ext4: fix slab-out-of-bounds in ext4_find_extent() - ext4: check magic even the extent block bh is verified - ext4: avoid recheck extent for EXT4_EX_FORCE_CACHE - !3850 aio: add timeout validity check for io_[p - aio: add timeout validity check for io_[p]getevents - !3849 pipe: Fix endless sleep problem due to the out-of-order - pipe: Fix endless sleep problem due to the out-of-order - !3787 scsi: sd: unregister device if device_add_disk() failed in sd_probe() - scsi: sd: unregister device if device_add_disk() failed in sd_probe() - !3450 Backport nbd bugfix patch - nbd: pass nbd_sock to nbd_read_reply() instead of index - nbd: fix null-ptr-dereference while accessing 'nbd->config' - nbd: factor out a helper to get nbd_config without holding 'config_lock' - nbd: fold nbd config initialization into nbd_alloc_config() - !3675 block mainline bugfix backport - block: Set memalloc_noio to false on device_add_disk() error path - block: add check of 'minors' and 'first_minor' in device_add_disk() - block: add check that partition length needs to be aligned with block size - !3786 ubi: block: fix memleak in ubiblock_create() - ubi: block: fix memleak in ubiblock_create() - !3448 ubi: block: Fix use-after-free in ubiblock_cleanup - ubi: block: Fix use-after-free in ubiblock_cleanup - !3760 Add huge page allocation limit - openeuler_defconfig: enable HUGETLB_ALLOC_LIMIT - hugetlb: Add huge page allocation limit - !3818 [sync] PR-1989: support Android vendor hooks - openeuler_defconfig: enable CONFIG_VENDOR_HOOKS for x86 and arm64 - vendor_hooks: make android vendor hooks feature generic. - ANDROID: fixup restricted hooks after tracepont refactoring - ANDROID: simplify vendor hooks for non-GKI builds - ANDROID: vendor_hooks: fix __section macro - ANDROID: use static_call() for restricted hooks - ANDROID: fix redefinition error for restricted vendor hooks - ANDROID: add support for vendor hooks - !3502 ARM: LPAE: Use phys_addr_t instead of unsigned long in outercache hooks - ARM: LPAE: Use phys_addr_t instead of unsigned long in outercache hooks - !3755 livepatch/core: Fix miss disable ro for MOD_RO_AFTER_INIT memory - livepatch/core: Fix miss disable ro for MOD_RO_AFTER_INIT memory - !3813 kernel: add OPENEULER_VERSION_CODE to version.h - kernel: add OPENEULER_VERSION_CODE to version.h - !3744 Add NUMA-awareness to qspinlock - config: Enable CONFIG_NUMA_AWARE_SPINLOCKS on x86 - locking/qspinlock: Disable CNA by default - locking/qspinlock: Introduce the shuffle reduction optimization into CNA - locking/qspinlock: Avoid moving certain threads between waiting queues in CNA - locking/qspinlock: Introduce starvation avoidance into CNA - locking/qspinlock: Introduce CNA into the slow path of qspinlock - locking/qspinlock: Refactor the qspinlock slow path - locking/qspinlock: Rename mcs lock/unlock macros and make them more generic - !3517 support CLOCKSOURCE_VALIDATE_LAST_CYCLE on - config: make CLOCKSOURCE_VALIDATE_LAST_CYCLE not set by default - timekeeping: Make CLOCKSOURCE_VALIDATE_LAST_CYCLE configurable - !3710 Backport 6.6.7 LTS Patches - drm/amdgpu: Restrict extended wait to PSP v13.0.6 - drm/amdgpu: update retry times for psp BL wait - drm/amdgpu: Fix refclk reporting for SMU v13.0.6 - riscv: Kconfig: Add select ARM_AMBA to SOC_STARFIVE - gcc-plugins: randstruct: Update code comment in relayout_struct() - ASoC: qcom: sc8280xp: Limit speaker digital volumes - netfilter: nft_set_pipapo: skip inactive elements during set walk - MIPS: Loongson64: Enable DMA noncoherent support - MIPS: Loongson64: Handle more memory types passed from firmware - MIPS: Loongson64: Reserve vgabios memory on boot - perf metrics: Avoid segv if default metricgroup isn't set - perf list: Fix JSON segfault by setting the used skip_duplicate_pmus callback - KVM: SVM: Update EFER software model on CR0 trap for SEV-ES - KVM: s390/mm: Properly reset no-dat - MIPS: kernel: Clear FPU states when setting up kernel threads - cifs: Fix flushing, invalidation and file size with FICLONE - cifs: Fix flushing, invalidation and file size with copy_file_range() - USB: gadget: core: adjust uevent timing on gadget unbind - powerpc/ftrace: Fix stack teardown in ftrace_no_trace - x86/CPU/AMD: Check vendor in the AMD microcode callback - devcoredump: Send uevent once devcd is ready - serial: 8250_omap: Add earlycon support for the AM654 UART controller - serial: 8250: 8250_omap: Do not start RX DMA on THRI interrupt - serial: 8250: 8250_omap: Clear UART_HAS_RHR_IT_DIS bit - serial: sc16is7xx: address RX timeout interrupt errata - ARM: PL011: Fix DMA support - usb: typec: class: fix typec_altmode_put_partner to put plugs - smb: client: fix potential NULL deref in parse_dfs_referrals() - Revert "xhci: Loosen RPM as default policy to cover for AMD xHC 1.1" - cifs: Fix non-availability of dedup breaking generic/304 - parport: Add support for Brainboxes IX/UC/PX parallel cards - serial: ma35d1: Validate console index before assignment - serial: 8250_dw: Add ACPI ID for Granite Rapids-D UART - nvmem: Do not expect fixed layouts to grab a layout driver - usb: gadget: f_hid: fix report descriptor allocation - kprobes: consistent rcu api usage for kretprobe holder - ASoC: ops: add correct range check for limiting volume - gpiolib: sysfs: Fix error handling on failed export - x86/sev: Fix kernel crash due to late update to read-only ghcb_version - perf: Fix perf_event_validate_size() - drm/amdgpu: disable MCBP by default - arm64: dts: mt8183: kukui: Fix underscores in node names - arm64: dts: mediatek: add missing space before { - parisc: Fix asm operand number out of range build error in bug table - parisc: Reduce size of the bug_table on 64-bit kernel by half - LoongArch: BPF: Don't sign extend function return value - LoongArch: BPF: Don't sign extend memory load operand - perf vendor events arm64: AmpereOne: Add missing DefaultMetricgroupName fields - misc: mei: client.c: fix problem of return '-EOVERFLOW' in mei_cl_write - misc: mei: client.c: return negative error code in mei_cl_write - coresight: ultrasoc-smb: Fix uninitialized before use buf_hw_base - coresight: ultrasoc-smb: Config SMB buffer before register sink - coresight: ultrasoc-smb: Fix sleep while close preempt in enable_smb - hwtracing: hisi_ptt: Add dummy callback pmu::read() - coresight: Fix crash when Perf and sysfs modes are used concurrently - coresight: etm4x: Remove bogous __exit annotation for some functions - arm64: dts: mediatek: mt8186: Change gpu speedbin nvmem cell name - arm64: dts: mediatek: mt8186: fix clock names for power domains - arm64: dts: mediatek: mt8183-evb: Fix unit_address_vs_reg warning on ntc - arm64: dts: mediatek: mt8183: Move thermal-zones to the root node - arm64: dts: mediatek: mt8183: Fix unit address for scp reserved memory - arm64: dts: mediatek: mt8195: Fix PM suspend/resume with venc clocks - arm64: dts: mediatek: mt8173-evb: Fix regulator-fixed node names - arm64: dts: mediatek: cherry: Fix interrupt cells for MT6360 on I2C7 - arm64: dts: mediatek: mt8183-kukui-jacuzzi: fix dsi unnecessary cells properties - arm64: dts: mediatek: mt7622: fix memory node warning check - arm64: dts: mt7986: fix emmc hs400 mode without uboot initialization - arm64: dts: mt7986: define 3W max power to both SFP on BPI-R3 - arm64: dts: mt7986: change cooling trips - drm/i915: Skip some timing checks on BXT/GLK DSI transcoders - drm/i915/mst: Reject modes that require the bigjoiner - drm/i915/mst: Fix .mode_valid_ctx() return values - drm/atomic-helpers: Invoke end_fb_access while owning plane state - md/raid6: use valid sector values to determine if an I/O should wait on the reshape - powercap: DTPM: Fix missing cpufreq_cpu_put() calls - mm/memory_hotplug: fix error handling in add_memory_resource() - mm: fix oops when filemap_map_pmd() without prealloc_pte - mm/memory_hotplug: add missing mem_hotplug_lock - drivers/base/cpu: crash data showing should depends on KEXEC_CORE - hugetlb: fix null-ptr-deref in hugetlb_vma_lock_write - workqueue: Make sure that wq_unbound_cpumask is never empty - platform/surface: aggregator: fix recv_buf() return value - regmap: fix bogus error on regcache_sync success - r8169: fix rtl8125b PAUSE frames blasting when suspended - packet: Move reference count in packet_sock to atomic_long_t - nfp: flower: fix for take a mutex lock in soft irq context and rcu lock - leds: trigger: netdev: fix RTNL handling to prevent potential deadlock - tracing: Fix a possible race when disabling buffered events - tracing: Fix incomplete locking when disabling buffered events - tracing: Disable snapshot buffer when stopping instance tracers - tracing: Stop current tracer when resizing buffer - tracing: Always update snapshot buffer size - checkstack: fix printed address - cgroup_freezer: cgroup_freezing: Check if not frozen - lib/group_cpus.c: avoid acquiring cpu hotplug lock in group_cpus_evenly - nilfs2: prevent WARNING in nilfs_sufile_set_segment_usage() - nilfs2: fix missing error check for sb_set_blocksize call - highmem: fix a memory copy problem in memcpy_from_folio - ring-buffer: Force absolute timestamp on discard of event - ring-buffer: Test last update in 32bit version of __rb_time_read() - ALSA: hda/realtek: Add quirk for Lenovo Yoga Pro 7 - ALSA: hda/realtek: Add Framework laptop 16 to quirks - ALSA: hda/realtek: add new Framework laptop to quirks - ALSA: hda/realtek: Enable headset on Lenovo M90 Gen5 - ALSA: hda/realtek: fix speakers on XPS 9530 (2023) - ALSA: hda/realtek: Apply quirk for ASUS UM3504DA - ALSA: pcm: fix out-of-bounds in snd_pcm_state_names - ALSA: usb-audio: Add Pioneer DJM-450 mixer controls - io_uring: fix mutex_unlock with unreferenced ctx - nvme-pci: Add sleep quirk for Kingston drives - io_uring/af_unix: disable sending io_uring over sockets - ASoC: amd: yc: Fix non-functional mic on ASUS E1504FA - rethook: Use __rcu pointer for rethook::handler - scripts/gdb: fix lx-device-list-bus and lx-device-list-class - kernel/Kconfig.kexec: drop select of KEXEC for CRASH_DUMP - md: don't leave 'MD_RECOVERY_FROZEN' in error path of md_set_readonly() - riscv: errata: andes: Probe for IOCP only once in boot stage - riscv: fix misaligned access handling of C.SWSP and C.SDSP - arm64: dts: rockchip: Fix eMMC Data Strobe PD on rk3588 - ARM: dts: imx28-xea: Pass the 'model' property - ARM: dts: imx7: Declare timers compatible with fsl,imx6dl-gpt - arm64: dts: imx8-apalis: set wifi regulator to always-on - ARM: imx: Check return value of devm_kasprintf in imx_mmdc_perf_init - arm64: dts: imx93: correct mediamix power - arm64: dts: freescale: imx8-ss-lsio: Fix #pwm-cells - arm64: dts: imx8-ss-lsio: Add PWM interrupts - scsi: be2iscsi: Fix a memleak in beiscsi_init_wrb_handle() - tracing: Fix a warning when allocating buffered events fails - io_uring/kbuf: check for buffer list readiness after NULL check - io_uring/kbuf: Fix an NULL vs IS_ERR() bug in io_alloc_pbuf_ring() - ARM: dts: imx6ul-pico: Describe the Ethernet PHY clock - arm64: dts: imx8mp: imx8mq: Add parkmode-disable-ss-quirk on DWC3 - drm/bridge: tc358768: select CONFIG_VIDEOMODE_HELPERS - RDMA/irdma: Avoid free the non-cqp_request scratch - RDMA/irdma: Fix support for 64k pages - RDMA/irdma: Ensure iWarp QP queue memory is OS paged aligned - RDMA/core: Fix umem iterator when PAGE_SIZE is greater then HCA pgsz - ASoC: wm_adsp: fix memleak in wm_adsp_buffer_populate - firmware: arm_scmi: Fix possible frequency truncation when using level indexing mode - firmware: arm_scmi: Simplify error path in scmi_dvfs_device_opps_add() - firmware: arm_scmi: Fix frequency truncation by promoting multiplier type - firmware: arm_scmi: Extend perf protocol ops to get information of a domain - firmware: arm_scmi: Extend perf protocol ops to get number of domains - hwmon: (nzxt-kraken2) Fix error handling path in kraken2_probe() - ASoC: codecs: lpass-tx-macro: set active_decimator correct default value - hwmon: (acpi_power_meter) Fix 4.29 MW bug - ARM: dts: bcm2711-rpi-400: Fix delete-node of led_act - ARM: dts: rockchip: Fix sdmmc_pwren's pinmux setting for RK3128 - ARM: dts: imx6q: skov: fix ethernet clock regression - arm64: dt: imx93: tqma9352-mba93xxla: Fix LPUART2 pad config - RDMA/irdma: Fix UAF in irdma_sc_ccq_get_cqe_info() - RDMA/bnxt_re: Correct module description string - RDMA/rtrs-clt: Remove the warnings for req in_use check - RDMA/rtrs-clt: Fix the max_send_wr setting - RDMA/rtrs-srv: Destroy path files after making sure no IOs in-flight - RDMA/rtrs-srv: Free srv_mr iu only when always_invalidate is true - RDMA/rtrs-srv: Check return values while processing info request - RDMA/rtrs-clt: Start hb after path_up - RDMA/rtrs-srv: Do not unconditionally enable irq - ASoC: fsl_sai: Fix no frame sync clock issue on i.MX8MP - arm64: dts: rockchip: Expand reg size of vdec node for RK3399 - arm64: dts: rockchip: Expand reg size of vdec node for RK3328 - RDMA/irdma: Add wait for suspend on SQD - RDMA/irdma: Do not modify to SQD on error - RDMA/hns: Fix unnecessary err return when using invalid congest control algorithm - RDMA/core: Fix uninit-value access in ib_get_eth_speed() - tee: optee: Fix supplicant based device enumeration - mm/damon/sysfs: eliminate potential uninitialized variable warning - drm/amdkfd: get doorbell's absolute offset based on the db_size - drm/amd/amdgpu/amdgpu_doorbell_mgr: Correct misdocumented param 'doorbell_index' - net/smc: fix missing byte order conversion in CLC handshake - net: dsa: microchip: provide a list of valid protocols for xmit handler - drop_monitor: Require 'CAP_SYS_ADMIN' when joining "events" group - psample: Require 'CAP_NET_ADMIN' when joining "packets" group - bpf: sockmap, updating the sg structure should also update curr - net: tls, update curr on splice as well - net: dsa: mv88e6xxx: Restore USXGMII support for 6393X - tcp: do not accept ACK of bytes we never sent - netfilter: xt_owner: Fix for unsafe access of sk->sk_socket - netfilter: nf_tables: validate family when identifying table via handle - netfilter: nf_tables: bail out on mismatching dynset and set expressions - netfilter: nf_tables: fix 'exist' matching on bigendian arches - netfilter: bpf: fix bad registration on nf_defrag - dt-bindings: interrupt-controller: Allow #power-domain-cells - octeontx2-af: Update Tx link register range - octeontx2-af: Add missing mcs flr handler call - octeontx2-af: Fix mcs stats register address - octeontx2-af: Fix mcs sa cam entries size - octeontx2-af: Adjust Tx credits when MCS external bypass is disabled - net: hns: fix fake link up on xge port - net: hns: fix wrong head when modify the tx feature when sending packets - net: atlantic: Fix NULL dereference of skb pointer in - ipv4: ip_gre: Avoid skb_pull() failure in ipgre_xmit() - ionic: Fix dim work handling in split interrupt mode - ionic: fix snprintf format length warning - tcp: fix mid stream window clamp. - net: bnxt: fix a potential use-after-free in bnxt_init_tc - iavf: validate tx_coalesce_usecs even if rx_coalesce_usecs is zero - i40e: Fix unexpected MFS warning message - ice: Restore fix disabling RX VLAN filtering - octeontx2-af: fix a use-after-free in rvu_npa_register_reporters - xsk: Skip polling event check for unbound socket - net: stmmac: fix FPE events losing - octeontx2-pf: consider both Rx and Tx packet stats for adaptive interrupt coalescing - arcnet: restoring support for multiple Sohard Arcnet cards - platform/mellanox: Check devm_hwmon_device_register_with_groups() return value - platform/mellanox: Add null pointer checks for devm_kasprintf() - mlxbf-bootctl: correctly identify secure boot with development keys - r8152: Add RTL8152_INACCESSIBLE to r8153_aldps_en() - r8152: Add RTL8152_INACCESSIBLE to r8153_pre_firmware_1() - r8152: Add RTL8152_INACCESSIBLE to r8156b_wait_loading_flash() - r8152: Add RTL8152_INACCESSIBLE checks to more loops - r8152: Hold the rtnl_lock for all of reset - hv_netvsc: rndis_filter needs to select NLS - bpf: Fix a verifier bug due to incorrect branch offset comparison with cpu=v4 - octeontx2-af: Check return value of nix_get_nixlf before using nixlf - octeontx2-pf: Add missing mutex lock in otx2_get_pauseparam - ipv6: fix potential NULL deref in fib6_add() - platform/x86: wmi: Skip blocks with zero instances - of: dynamic: Fix of_reconfig_get_state_change() return value documentation - platform/x86: asus-wmi: Move i8042 filter install to shared asus-wmi code - dt: dt-extract-compatibles: Don't follow symlinks when walking tree - dt: dt-extract-compatibles: Handle cfile arguments in generator function - x86/tdx: Allow 32-bit emulation by default - x86/entry: Do not allow external 0x80 interrupts - x86/entry: Convert INT 0x80 emulation to IDTENTRY - x86/coco: Disable 32-bit emulation by default on TDX and SEV - x86: Introduce ia32_enabled() - dm-crypt: start allocating with MAX_ORDER - drm/amdgpu: correct chunk_ptr to a pointer to chunk. - drm/amdgpu: finalizing mem_partitions at the end of GMC v9 sw_fini - drm/amdgpu: Do not program VF copy regs in mmhub v1.8 under SRIOV (v2) - kconfig: fix memory leak from range properties - modpost: fix section mismatch message for RELA - tg3: Increment tx_dropped in tg3_tso_bug() - tg3: Move the [rt]x_dropped counters to tg3_napi - zstd: Fix array-index-out-of-bounds UBSAN warning - nouveau: use an rwlock for the event lock. - netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test - i2c: ocores: Move system PM hooks to the NOIRQ phase - i2c: designware: Fix corrupted memory seen in the ISR - hrtimers: Push pending hrtimers away from outgoing CPU earlier - scsi: sd: Fix sshdr use in sd_suspend_common() - vdpa/mlx5: preserve CVQ vringh index - !3749 support nokaslr and memmap parameter for kaslr collision detection - kaslr: enable CONFIG_SKIP_KASLR_MEM_RANGE in openeuler defconfig - x86/boot: add x86 nokaslr memory regions - efi/libstub: add arm64 nokaslr memory regions - efi/libstub: arm64: Fix KASLR and memmap= collision - efi/libstub: arm64: support strchr function for EFI stub - efi/libstub: add arm64 kaslr memory region avoid support - !3737 arm64: Fix compilation error with ILP32 - config: Disable CONFIG_COMPAT_BINFMT_ELF as default - arm64: Fix compilation error with ILP32 support - Revert "Kconfig: regularize selection of CONFIG_BINFMT_ELF" - !3743 Fix ppc32 build error - powerpc: Fix ppc32 build - !3713 Introduce CPU inspect feature - openeuler_defconfig: enable CPU inspect for arm64 by default - cpuinspect: add ATF inspector - cpuinspect: add CPU-inspect infrastructure - !3730 ARM: spectre-v2: turn off the mitigation via boot cmdline param - ARM: spectre-v2: turn off the mitigation via boot cmdline param - !3732 tcp_comp: implement tcp compression - tcp_comp: implement tcp compression - !3748 jffs2: move jffs2_init_inode_info() just after allocating inode - jffs2: move jffs2_init_inode_info() just after allocating inode - !3542 Support kernel livepatching - livepatch/powerpc: Add arch_klp_module_check_calltrace - livepatch/powerpc: Support breakpoint exception optimization - livepatch/ppc64: Sample testcase fix ppc64 - livepatch/ppc64: Implement livepatch without ftrace for ppc64be - livepatch: Bypass dead thread when check calltrace - livepatch/arm: Add arch_klp_module_check_calltrace - livepatch/arm64: Add arch_klp_module_check_calltrace - livepatch/x86: Add arch_klp_module_check_calltrace - livepatch: Add klp_module_delete_safety_check - livepatch/arm: Support breakpoint exception optimization - livepatch/arm64: Support breakpoint exception optimization - livepatch: Add arch_klp_init - livepatch/x86: Support breakpoint exception optimization - livepatch: Use breakpoint exception to optimize enabling livepatch - livepatch/ppc32: Support livepatch without ftrace - livepatch/arm: Support livepatch without ftrace - livepatch/core: Add support for arm for klp relocation - arm/module: Use plt section indices for relocations - livepatch: Enable livepatch configs in openeuler_defconfig - livepatch/core: Revert module_enable_ro and module_disable_ro - livepatch/arm64: Support livepatch without ftrace - livepatch/core: Avoid conflict with static {call,key} - livepatch: Fix patching functions which have static_call - livepatch: Fix crash when access the global variable in hook - livepatch/core: Support jump_label - livepatch: samples: Adapt livepatch-sample for solution without ftrace - livepatch/core: Support load and unload hooks - livepatch/core: Restrict livepatch patched/unpatched when plant kprobe - livepatch/core: Disable support for replacing - livepatch/x86: Support livepatch without ftrace - Revert "x86/insn: Make insn_complete() static" - livepatch/core: Reuse common codes in the solution without ftrace - livepatch/core: Allow implementation without ftrace - !3678 timer_list: avoid other cpu soft lockup when printing timer list - timer_list: avoid other cpu soft lockup when printing timer list - !3733 drm/radeon: check the alloc_workqueue return value in radeon_crtc_init() - drm/radeon: check the alloc_workqueue return value in radeon_crtc_init() - !3734 Introduce qos smt expeller for co-location - sched/fair: Add cmdline nosmtexpell - sched/fair: Introduce QOS_SMT_EXPELL priority reversion mechanism - sched/fair: Start tracking qos_offline tasks count in cfs_rq - config: Enable CONFIG_QOS_SCHED_SMT_EXPELLER - sched: Add tracepoint for qos smt expeller - sched: Add statistics for qos smt expeller - sched: Implement the function of qos smt expeller - sched: Introduce qos smt expeller for co-location - !3629 x86/kdump: make crash kernel boot faster - x86/kdump: make crash kernel boot faster - !3722 add memmap interface to reserved memory - arm64: Request resources for reserved memory via memmap - arm64: Add support for memmap kernel parameters - !3724 lib/clear_user: ensure loop in __arch_clear_user cache-aligned v2 - config: enable CONFIG_CLEAR_USER_WORKAROUND by default - lib/clear_user: ensure loop in __arch_clear_user cache-aligned v2 - !3688 Support priority load balance for qos scheduler - sched: Introduce priority load balance for qos scheduler - !3712 sched: steal tasks to improve CPU utilization - config: enable CONFIG_SCHED_STEAL by default - sched/fair: introduce SCHED_STEAL - disable stealing by default - sched/fair: Provide idle search schedstats - sched/fair: disable stealing if too many NUMA nodes - sched/fair: Steal work from an overloaded CPU when CPU goes idle - sched/fair: Provide can_migrate_task_llc - sched/fair: Generalize the detach_task interface - sched/fair: Hoist idle_stamp up from idle_balance - sched/fair: Dynamically update cfs_overload_cpus - sched/topology: Provide cfs_overload_cpus bitmap - sched/topology: Provide hooks to allocate data shared per LLC - sched: Provide sparsemask, a reduced contention bitmap - !3701 mm: Add sysctl to clear free list pages - mm: Add sysctl to clear free list pages - !3598 arm64: add config switch and kernel parameter for cpu0 hotplug - config: disable config ARM64_BOOTPARAM_HOTPLUG_CPU0 by default - arm64: Add config switch and kernel parameter for CPU0 hotplug - !3649 x86/kdump: add log before booting crash kernel - x86/kdump: add log before booting crash kernel - !3700 Backport 6.6.6 LTS Patches - Revert "wifi: cfg80211: fix CQM for non-range use" - !3565 blk-throttle: enable hierarchical throttle in cgroup v1 - blk-throttle: enable hierarchical throttle in cgroup v1 - !3608 xfs: fix two corruption problems - xfs: shutdown xfs once inode double free - xfs: shutdown to ensure submits buffers on LSN boundaries - !3674 mm/hugetlb: Introduce alloc_hugetlb_folio_size() - mm/hugetlb: Introduce alloc_hugetlb_folio_size() - !3651 nbd: get config_lock before sock_shutdown - nbd: get config_lock before sock_shutdown - !3573 Support dynamic affinity scheduler - sched/fair: Modify idle cpu judgment in dynamic affinity - sched/fair: Remove invalid cpu selection logic in dynamic affinity - config: enable CONFIG_QOS_SCHED_DYNAMIC_AFFINITY by default - sched: Add cmdline for dynamic affinity - sched: Add statistics for scheduler dynamic affinity - sched: Adjust cpu allowed in load balance dynamicly - sched: Adjust wakeup cpu range according CPU util dynamicly - cpuset: Introduce new interface for scheduler dynamic affinity - sched: Introduce dynamic affinity for cfs scheduler - !3599 arm64: Add framework to turn IPI as NMI - arm64: kgdb: Roundup cpus using IPI as NMI - kgdb: Expose default CPUs roundup fallback mechanism - arm64: ipi_nmi: Add support for NMI backtrace - nmi: backtrace: Allow runtime arch specific override - arm64: smp: Assign and setup an IPI as NMI - irqchip/gic-v3: Enable support for SGIs to act as NMIs - arm64: Add framework to turn IPI as NMI - !3638 memcg: support OOM priority for memcg - memcg: enable CONFIG_MEMCG_OOM_PRIORITY by default - memcg: Add sysctl memcg_qos_enable - memcg: support priority for oom - !3602 xfs: fix attr inactive problems - xfs: atomic drop extent entries when inactiving attr - xfs: factor out __xfs_da3_node_read() - xfs: force shutdown xfs when xfs_attr_inactive fails - !3601 xfs: fix perag leak when growfs fails - xfs: fix perag leak when growfs fails - xfs: add lock protection when remove perag from radix tree - !3575 ubi: Enhance fault injection capability for the UBI driver - mtd: Add several functions to the fail_function list - ubi: Reserve sufficient buffer length for the input mask - ubi: Add six fault injection type for testing - ubi: Split io_failures into write_failure and erase_failure - ubi: Use the fault injection framework to enhance the fault injection capability - !3588 files cgroups - enable CONFIG_CGROUP_FILES in openeuler_defconfig for x86 and arm64 - cgroup/files: support boot parameter to control if disable files cgroup - fs/filescontrol: add a switch to enable / disable accounting of open fds - cgroups: Resource controller for open files - !3605 openeuler_defconfig: enable CONFIG_UNICODE for x86 and arm64 - openeuler_defconfig: enable CONFIG_UNICODE for x86 and arm64 - !3600 iommu/arm-smmu-v3: Add a SYNC command to avoid broken page table prefetch - iommu/arm-smmu-v3: Add a SYNC command to avoid broken page table prefetch - !3397 xfs: fix some growfs problems - xfs: fix dir3 block read verify fail during log recover - xfs: keep growfs sb log item active until ail flush success - xfs: fix mounting failed caused by sequencing problem in the log records - xfs: fix the problem of mount failure caused by not refreshing mp->m_sb - !3582 Add support for memory limit - mm: support pagecache limit - mm: support periodical memory reclaim - !3323 LoongArch: add cpufreq and ls2k500 bmc support - LoongArch: fix ls2k500 bmc not work when installing iso - LoongArch: defconfig: enable CONFIG_FB_LS2K500=m. - ipmi: add ls2k500 bmc ipmi support. - fbdev: add ls2k500sfb driver for ls2k500 bmc. - cpufreq: Add cpufreq driver for LoongArch - !3363 xfs: fix some misc issue - xfs: xfs_trans_cancel() path must check for log shutdown - xfs: don't verify agf length when log recovery - xfs: fix a UAF in xfs_iflush_abort_clean - xfs: fix a UAF when inode item push - !3495 xfs: fix hung and warning - xfs: fix warning in xfs_vm_writepages() - xfs: fix hung when transaction commit fail in xfs_inactive_ifree - xfs: fix dead loop when do mount with IO fault injection - !3525 ARM: support kaslr feature in arm32 platform - arm32: kaslr: Fix clock_gettime and gettimeofday performance degradation when configure CONFIG_RANDOMIZE_BASE - arm32: kaslr: Fix the bug of symbols relocation - arm32: kaslr: print kaslr offset when kernel panic - arm32: kaslr: pop visibility when compile decompress boot code as we need relocate BSS by GOT. - arm32: kaslr: When boot with vxboot, we must adjust dtb address before kaslr_early_init, and store dtb address after init. - No idea why this broke ... - ARM: decompressor: add KASLR support - ARM: decompressor: explicitly map decompressor binary cacheable - ARM: kernel: implement randomization of the kernel load address - arm: vectors: use local symbol names for vector entry points - ARM: kernel: refer to swapper_pg_dir via its symbol - ARM: mm: export default vmalloc base address - ARM: kernel: use PC relative symbol references in suspend/resume code - ARM: kernel: use PC-relative symbol references in MMU switch code - ARM: kernel: make vmlinux buildable as a PIE executable - ARM: kernel: switch to relative exception tables - arm-soc: various: replace open coded VA->PA calculation of pen_release - arm-soc: mvebu: replace open coded VA->PA conversion - arm-soc: exynos: replace open coded VA->PA conversions - asm-generic: add .data.rel.ro sections to __ro_after_init - !3563 memcg: support ksm merge any mode per cgroup - memcg: support ksm merge any mode per cgroup - !3528 Print rootfs and tmpfs files charged by memcg - config: enable CONFIG_MEMCG_MEMFS_INFO by default - mm/memcg_memfs_info: show files that having pages charged in mem_cgroup - fs: move {lock, unlock}_mount_hash to fs/mount.h - !3489 ascend: export interfaces required by ascend drivers - ascend: export interfaces required by ascend drivers - !3381 cgroupv1 cgroup writeback enable - openeuler_defconfig: enable CONFIG_CGROUP_V1_WRITEBACK in openeuler_defconfig for x86 and arm64 - cgroup: support cgroup writeback on cgroupv1 - cgroup: factor out __cgroup_get_from_id() for cgroup v1 - !3537 backport cgroup bugs from olk5.10 - cgroup: disable kernel memory accounting for all memory cgroups by default - cgroup: Return ERSCH when add Z process into task - cgroup: wait for cgroup destruction to complete when umount - cgroup: check if cgroup root is alive in cgroupstats_show() - !3439 security: restrict init parameters by configuration - security: restrict init parameters by configuration - !3475 kaslr: ppc64: Introduce KASLR for PPC64 - powerpc/fsl_booke/kaslr: Fix preserved memory size for int-vectors issue - powerpc/fsl_booke/kaslr: Provide correct r5 value for relocated kernel - powerpc/fsl_booke/kaslr: rename kaslr-booke32.rst to kaslr-booke.rst and add 64bit part - powerpc/fsl_booke/64: clear the original kernel if randomized - powerpc/fsl_booke/64: do not clear the BSS for the second pass - powerpc/fsl_booke/64: implement KASLR for fsl_booke64 - powerpc/fsl_booke/64: introduce reloc_kernel_entry() helper - powerpc/fsl_booke/kaslr: refactor kaslr_legal_offset() and kaslr_early_init() - !3486 sync smmu patches for olk-6.6 - iommu/arm-smmu-v3: disable stall for quiet_cd - iommu/iova: Manage the depot list size - iommu/iova: Make the rcache depot scale better - !3434 arm64/ascend: Add new enable_oom_killer interface for oom contrl - arm64/ascend: Add new enable_oom_killer interface for oom contrl - !3479 cache: Workaround HiSilicon Linxicore DC CVAU - cache: Workaround HiSilicon Linxicore DC CVAU - !3367 ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet - ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet - !3471 add redis sockmap sample code - tools: add sample sockmap code for redis - net: add local_skb parameter to identify local tcp connection - net: let sockops can use bpf_get_current_comm() - !3432 ACPI / APEI: Notify all ras err to driver - ACPI / APEI: Notify all ras err to driver- !3435 iommu/arm-smmu-v3: Add suspend and resume support - !3315 Backport 6.6.5 LTS Patches - !3314 Backport 6.6.4 LTS Patches - !3286 block: Add config option to not allow writing to mounted devices - !3430 Add support for hisi HBM devices - !3431 memcg reclaim and cgroup kill - iommu/arm-smmu-v3: Add suspend and resume support - config: enable CONFIG_MEMCG_V1_RECLAIM and CONFIG_CGROUP_V1_KILL - memcg: introduce per-memcg reclaim interface - memcg: export high_async_ratio to userland - memcg: enable memcg async reclaim - memcg: Export memory.events{local} from cgroupv2 to cgroupv1 - memcg: Export memcg.{min/low/high} from cgroupv2 to cgroupv1 - cgroup: Export cgroup.kill from cgroupv2 to cgroupv1 - soc: hisilicon: hisi_hbmdev: Add hbm acls repair and query methods - soc: hbmcache: Add support for online and offline the hbm cache - soc: hisilicon: hisi_hbmdev: Provide extra memory topology information - ACPI: memhotplug: export the state of each hotplug device - soc: hisilicon: hisi_hbmdev: Add power domain control methods - ACPI: OSL: Export the symbol of acpi_hotplug_schedule - !3391 nbd_genl_status: null check for nla_nest_start - !3352 support userswap feature - !3383 Support Qos Scheduler - nbd_genl_status: null check for nla_nest_start - sched: Enable qos scheduler config - sched: Introduce handle priority reversion mechanism - sched: Support kill boost for offline task - sched: Throttle qos cfs_rq when current cpu is running online task - sched: Introduce qos scheduler for co-location - !3306 improve gettimeofday() performance in user space - !3331 kabi: add kabi helper macros and tools - mm/userswap: openeuler_defconfig: enable userswap - mm/userswap: provide cpu info in userfault msg - mm/userswap: introduce UFFDIO_COPY_MODE_DIRECT_MAP - mm/userswap: support userswap via userfaultfd - mm/userswap: introduce MREMAP_USWAP_SET_PTE - mm/userswap: add enable_userswap boot option - mm/userswap: add VM_USWAP and SWP_USERSWAP_ENTRY - !3326 config: Open CONFIG_AARCH32_EL0 and keep CONFIG_ARM64_ILP32 closed - kabi: add kABI reference checking tool - kabi: add a tool to generate the kabi reference relationship - kabi: add script tools to check kabi symbol - kabi: deduplication friendly structs - kabi: Generalize naming of kabi helper macros - openeuler_defconfig: Enable CONFIG_KABI_RESERVE for x86 and arm64 - KABI: Add CONFIG_KABI_RESERVE to control KABI padding reserve - kabi: enables more stringent kabi checks - kabi: add KABI_SIZE_ALIGN_CHECKS for more stringent kabi checks - kabi: add kabi helper macros - !3298 ARM: Add unwinding annotations to __loop.*delay functions - config: Open CONFIG_AARCH32_EL0 and keep CONFIG_ARM64_ILP32 closed - !3300 Add sharepool support v3 - vfio: Drop vfio_file_iommu_group() stub to fudge around a KVM wart - x86/xen: fix percpu vcpu_info allocation - vfio/pds: Fix possible sleep while in atomic context - vfio/pds: Fix mutex lock->magic != lock warning - drm/amd/display: Fix MPCC 1DLUT programming - drm/amd/display: Simplify brightness initialization - drm/amd/display: Reduce default backlight min from 5 nits to 1 nits - drm/amd/display: refactor ILR to make it work - iommu: Fix printk arg in of_iommu_get_resv_regions() - drm/amd/pm: fix a memleak in aldebaran_tables_init - cpufreq/amd-pstate: Only print supported EPP values for performance governor - cpufreq/amd-pstate: Fix scaling_min_freq and scaling_max_freq update - drm/panel: nt36523: fix return value check in nt36523_probe() - drm/panel: starry-2081101qfh032011-53g: Fine tune the panel power sequence - drm/i915/gsc: Mark internal GSC engine with reserved uabi class - iommu/vt-d: Make context clearing consistent with context mapping - iommu/vt-d: Disable PCI ATS in legacy passthrough mode - iommu/vt-d: Omit devTLB invalidation requests when TES=0 - cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily - drm/amd/display: Remove power sequencing check - drm/amd/display: Refactor edp power control - s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir - powerpc/pseries/iommu: enable_ddw incorrectly returns direct mapping for SR-IOV device - net: ravb: Keep reverse order of operations in ravb_remove() - net: ravb: Stop DMA in case of failures on ravb_open() - net: ravb: Start TX queues after HW initialization succeeded - net: ravb: Make write access to CXR35 first before accessing other EMAC registers - net: ravb: Use pm_runtime_resume_and_get() - net: ravb: Check return value of reset_control_deassert() - ice: Fix VF Reset paths when interface in a failed over aggregate - bpf, sockmap: af_unix stream sockets need to hold ref for pair sock - ethtool: don't propagate EOPNOTSUPP from dumps - ravb: Fix races between ravb_tx_timeout_work() and net related ops - r8169: prevent potential deadlock in rtl8169_close - efi/unaccepted: Fix off-by-one when checking for overlapping ranges - neighbour: Fix __randomize_layout crash in struct neighbour - octeontx2-pf: Restore TC ingress police rules when interface is up - octeontx2-pf: Fix adding mbox work queue entry when num_vfs > 64 - net: stmmac: xgmac: Disable FPE MMC interrupts - octeontx2-af: Fix possible buffer overflow - selftests/net: mptcp: fix uninitialized variable warnings - selftests/net: unix: fix unused variable compiler warning - selftests/net: fix a char signedness issue - selftests/net: ipsec: fix constant out of range - uapi: propagate __struct_group() attributes to the container union - bpf: Add missed allocation hint for bpf_mem_cache_alloc_flags() - dpaa2-eth: recycle the RX buffer only after all processing done - dpaa2-eth: increase the needed headroom to account for alignment - net: dsa: mv88e6xxx: fix marvell 6350 probe crash - net: dsa: mv88e6xxx: fix marvell 6350 switch probing - wifi: mac80211: do not pass AP_VLAN vif pointer to drivers during flush - wifi: iwlwifi: mvm: fix an error code in iwl_mvm_mld_add_sta() - ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet - net: rswitch: Fix missing dev_kfree_skb_any() in error path - net: rswitch: Fix return value in rswitch_start_xmit() - net: rswitch: Fix type of ret in rswitch_start_xmit() - netdevsim: Don't accept device bound programs - media: v4l2-subdev: Fix a 64bit bug - pinctrl: stm32: fix array read out of bound - pinctrl: stm32: Add check for devm_kcalloc - wifi: cfg80211: fix CQM for non-range use - io_uring/kbuf: recycle freed mapped buffer ring entries - io_uring/kbuf: defer release of mapped buffer rings - io_uring: enable io_mem_alloc/free to be used in other parts - btrfs: fix 64bit compat send ioctl arguments not initializing version member - btrfs: free the allocated memory if btrfs_alloc_page_array() fails - btrfs: make error messages more clear when getting a chunk map - btrfs: send: ensure send_fd is writable - btrfs: fix off-by-one when checking chunk map includes logical address - btrfs: ref-verify: fix memory leaks in btrfs_ref_tree_mod() - btrfs: add dmesg output for first mount and last unmount of a filesystem - parisc: Mark altinstructions read-only and 32-bit aligned - parisc: Ensure 32-bit alignment on parisc unwind section - parisc: Mark jump_table naturally aligned - parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes - parisc: Mark lock_aligned variables 16-byte aligned on SMP - parisc: Use natural CPU alignment for bug_table - parisc: Mark ex_table entries 32-bit aligned in uaccess.h - parisc: Mark ex_table entries 32-bit aligned in assembly.h - powerpc: Don't clobber f0/vs0 during fp|altivec register save - KVM: PPC: Book3S HV: Fix KVM_RUN clobbering FP/VEC user registers - iommu/vt-d: Add MTL to quirk list to skip TE disabling - ext2: Fix ki_pos update for DIO buffered-io fallback case - bcache: revert replacing IS_ERR_OR_NULL with IS_ERR - iommu: Avoid more races around device probe - io_uring: don't guard IORING_OFF_PBUF_RING with SETUP_NO_MMAP - dma-buf: fix check in dma_resv_add_fence - cpufreq/amd-pstate: Fix the return value of amd_pstate_fast_switch() - powercap: DTPM: Fix unneeded conversions to micro-Watts - nouveau: find the smallest page allocation to cover a buffer alloc. - io_uring: free io_buffer_list entries via RCU - iommu/vt-d: Fix incorrect cache invalidation for mm notification - io_uring: don't allow discontig pages for IORING_SETUP_NO_MMAP - ACPI: video: Use acpi_video_device for cooling-dev driver data - r8169: fix deadlock on RTL8125 in jumbo mtu mode - nvme: check for valid nvme_identify_ns() before using it - dm verity: don't perform FEC for failed readahead IO - dm verity: initialize fec io before freeing it - drm/amd/display: force toggle rate wa for first link training for a retimer - drm/amd/display: fix ABM disablement - drm/amd/display: Update min Z8 residency time to 2100 for DCN314 - drm/amd/display: Use DRAM speed from validation for dummy p-state - drm/amd/display: Remove min_dst_y_next_start check for Z8 - drm/amd/display: Include udelay when waiting for INBOX0 ACK - drm/amdgpu: Update EEPROM I2C address for smu v13_0_0 - drm/amdgpu: fix memory overflow in the IB test - drm/amdgpu: Force order between a read and write to the same address - drm/amdgpu: correct the amdgpu runtime dereference usage count - drm/amd: Enable PCIe PME from D3 - scsi: ufs: core: Clear cmd if abort succeeds in MCQ mode - scsi: sd: Fix system start for ATA devices - scsi: Change SCSI device boolean fields to single bit flags - dm-verity: align struct dm_verity_fec_io properly - net: libwx: fix memory leak on msix entry - ALSA: hda/realtek: Add supported ALC257 for ChromeOS - ALSA: hda/realtek: Headset Mic VREF to 100% - ALSA: hda: Disable power-save on KONTRON SinglePC - drm/i915: Also check for VGA converter in eDP probe - mmc: block: Be sure to wait while busy in CQE error recovery - mmc: block: Do not lose cache flush during CQE error recovery - mmc: block: Retry commands in CQE error recovery - mmc: cqhci: Fix task clearing in CQE error recovery - mmc: cqhci: Warn of halt or task clear failure - mmc: cqhci: Increase recovery halt timeout - mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled - mmc: sdhci-pci-gli: Disable LPM during initialization - firewire: core: fix possible memory leak in create_units() - pinctrl: avoid reload of p state in list iteration - ksmbd: fix possible deadlock in smb2_open - smb: client: report correct st_size for SMB and NFS symlinks - smb: client: fix missing mode bits for SMB symlinks - cifs: Fix FALLOC_FL_INSERT_RANGE by setting i_size after EOF moved - cifs: Fix FALLOC_FL_ZERO_RANGE by setting i_size if EOF moved - leds: class: Don't expose color sysfs entry - USB: dwc3: qcom: fix wakeup after probe deferral - USB: dwc3: qcom: fix software node leak on probe errors - usb: dwc3: set the dma max_seg_size - usb: dwc3: Fix default mode initialization - USB: dwc2: write HCINT with INTMASK applied - usb: typec: tcpm: Skip hard reset when in error recovery - usb: typec: tcpm: Fix sink caps op current check - USB: serial: option: don't claim interface 4 for ZTE MF290 - USB: serial: option: fix FM101R-GL defines - USB: serial: option: add Fibocom L7xx modules - usb: cdnsp: Fix deadlock issue during using NCM gadget - usb: config: fix iteration issue in 'usb_get_bos_descriptor()' - USB: xhci-plat: fix legacy PHY double init - bcache: fixup lock c->root error - bcache: fixup init dirty data errors - bcache: prevent potential division by zero error - bcache: check return value from btree_node_alloc_replacement() - veth: Use tstats per-CPU traffic counters - dm-delay: fix a race between delay_presuspend and delay_bio - ALSA: hda/realtek: Add quirks for ASUS 2024 Zenbooks - ALSA: hda: ASUS UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus - cifs: fix leak of iface for primary channel - cifs: account for primary channel in the interface list - cifs: distribute channels across interfaces based on speed - Revert "phy: realtek: usb: Add driver for the Realtek SoC USB 2.0 PHY" - Revert "phy: realtek: usb: Add driver for the Realtek SoC USB 3.0 PHY" - Revert "usb: phy: add usb phy notify port status API" - hv_netvsc: Mark VF as slave before exposing it to user-mode - hv_netvsc: Fix race of register_netdevice_notifier and VF register - hv_netvsc: fix race of netvsc and VF register_netdevice - platform/x86: ideapad-laptop: Set max_brightness before using it - platform/x86/amd/pmc: adjust getting DRAM size behavior - USB: serial: option: add Luat Air72*U series products - usb: misc: onboard-hub: add support for Microchip USB5744 - dt-bindings: usb: microchip,usb5744: Add second supply - platform/x86: hp-bioscfg: Fix error handling in hp_add_other_attributes() - platform/x86: hp-bioscfg: move mutex_lock() down in hp_add_other_attributes() - platform/x86: hp-bioscfg: Simplify return check in hp_add_other_attributes() - s390/dasd: protect device queue against concurrent access - io_uring/fs: consider link->flags when getting path for LINKAT - bcache: fixup multi-threaded bch_sectors_dirty_init() wake-up race - md: fix bi_status reporting in md_end_clone_io - bcache: replace a mistaken IS_ERR() by IS_ERR_OR_NULL() in btree_gc_coalesce() - io_uring: fix off-by one bvec index - tls: fix NULL deref on tls_sw_splice_eof() with empty record - swiotlb-xen: provide the "max_mapping_size" method - ACPI: PM: Add acpi_device_fix_up_power_children() function - ACPI: resource: Skip IRQ override on ASUS ExpertBook B1402CVA - ACPI: processor_idle: use raw_safe_halt() in acpi_idle_play_dead() - ACPI: video: Use acpi_device_fix_up_power_children() - thunderbolt: Set lane bonding bit only for downstream port - drm/ast: Disconnect BMC if physical connector is connected - drm/msm/dpu: Add missing safe_lut_tbl in sc8280xp catalog - kselftest/arm64: Fix output formatting for za-fork - prctl: Disable prctl(PR_SET_MDWE) on parisc - mm: add a NO_INHERIT flag to the PR_SET_MDWE prctl - lockdep: Fix block chain corruption - USB: dwc3: qcom: fix ACPI platform device leak - USB: dwc3: qcom: fix resource leaks on probe deferral - nvmet: nul-terminate the NQNs passed in the connect command - nvme: blank out authentication fabrics options if not configured - afs: Fix file locking on R/O volumes to operate in local mode - afs: Return ENOENT if no cell DNS record can be found - net: ipa: fix one GSI register field width - net: axienet: Fix check for partial TX checksum - vsock/test: fix SEQPACKET message bounds test - i40e: Fix adding unsupported cloud filters - amd-xgbe: propagate the correct speed and duplex status - amd-xgbe: handle the corner-case during tx completion - amd-xgbe: handle corner-case during sfp hotplug - net: veth: fix ethtool stats reporting - octeontx2-pf: Fix ntuple rule creation to direct packet to VF with higher Rx queue than its PF - arm/xen: fix xen_vcpu_info allocation alignment - arm64: mm: Fix "rodata=on" when CONFIG_RODATA_FULL_DEFAULT_ENABLED=y - s390/ipl: add missing IPL_TYPE_ECKD_DUMP case to ipl_init() - net/smc: avoid data corruption caused by decline - net: usb: ax88179_178a: fix failed operations during ax88179_reset - drm/panel: boe-tv101wum-nl6: Fine tune Himax83102-j02 panel HFP and HBP - ipv4: Correct/silence an endian warning in __ip_do_redirect - HID: fix HID device resource race between HID core and debugging support - accel/ivpu/37xx: Fix hangs related to MMIO reset - accel/ivpu: Do not initialize parameters on power up - bpf: Fix dev's rx stats for bpf_redirect_peer traffic - net: Move {l,t,d}stats allocation to core and convert veth & vrf - net, vrf: Move dstats structure to core - PM: tools: Fix sleepgraph syntax error - drm/rockchip: vop: Fix color for RGB888/BGR888 format on VOP full - libfs: getdents() should return 0 after reaching EOD - block: update the stable_writes flag in bdev_add - filemap: add a per-mapping stable writes flag - drm/i915: do not clean GT table on error path - ata: pata_isapnp: Add missing error check for devm_ioport_map() - octeontx2-pf: Fix memory leak during interface down - wireguard: use DEV_STATS_INC() - net: wangxun: fix kernel panic due to null pointer - drm/panel: simple: Fix Innolux G101ICE-L01 timings - drm/panel: simple: Fix Innolux G101ICE-L01 bus flags - fs: Pass AT_GETATTR_NOSEC flag to getattr interface function - drm/panel: auo,b101uan08.3: Fine tune the panel power sequence - blk-cgroup: avoid to warn !rcu_read_lock_held() in blkg_lookup() - afs: Make error on cell lookup failure consistent with OpenAFS - afs: Fix afs_server_list to be cleaned up with RCU - rxrpc: Defer the response to a PING ACK until we've parsed it - rxrpc: Fix RTT determination to use any ACK as a source - s390/ism: ism driver implies smc protocol - drm/msm/dsi: use the correct VREG_CTRL_1 value for 4nm cphy - sched/fair: Fix the decision for load balance - sched/eevdf: Fix vruntime adjustment on reweight - hv/hv_kvp_daemon: Some small fixes for handling NM keyfiles - irqchip/gic-v3-its: Flush ITS tables correctly in non-coherent GIC designs - NFSD: Fix checksum mismatches in the duplicate reply cache - NFSD: Fix "start of NFS reply" pointer passed to nfsd_cache_update() - !3310 kasan: fix the compilation error for memcpy_mcs() - kasan: fix the compilation error for memcpy_mcs() - arm64: arch_timer: disable CONFIG_ARM_ARCH_TIMER_WORKAROUND_IN_USERSPACE - vdso: do cntvct workaround in the VDSO - arm64: arch_timer: Disable CNTVCT_EL0 trap if workaround is enabled - mm/sharepool: Protect the va reserved for sharepool - mm/sharepool: support fork() and exit() to handle the mm - mm/sharepool: Add proc interfaces to show sp info - mm/sharepool: Implement mg_sp_config_dvpp_range() - mm/sharepool: Implement mg_sp_id_of_current() - mm/sharepool: Implement mg_sp_group_id_by_pid() - mm/sharepool: Implement mg_sp_group_add_task() - mm/sharepool: Implement mg_sp_make_share_k2u() - mm/sharepool: Implement mg_sp_alloc() - mm/sharepool: Implement mg_sp_free() - mm/sharepool: Implement mg_sp_walk_page_range() - mm/sharepool: Implement mg_sp_unshare_kva - mm/sharepool: Implement mg_sp_make_share_u2k() - mm/sharepool: Reserve the va space for share_pool - mm/sharepool: Add sp_area management code - mm/sharepool: Add base framework for share_pool - mm: Extend mmap assocated functions to accept mm_struct - mm/vmalloc: Extend vmalloc usage about hugepage - mm/hugetlb: Introduce hugetlb_insert_hugepage_pte[_by_pa] - ARM: Add unwinding annotations to __loop.*delay functions - !3285 arm64: errata: add option to disable cache readunique prefetch on HIP08 - !3280 arm64: add machine check safe support - !3036 Added SM3 as module signing algorithm - ext4: Block writes to journal device - xfs: Block writes to log device - fs: Block writes to mounted block devices - btrfs: Do not restrict writes to btrfs devices - block: Add config option to not allow writing to mounted devices - arm64: errata: enable HISILICON_ERRATUM_HIP08_RU_PREFETCH - arm64: errata: add option to disable cache readunique prefetch on HIP08 - arm64: add machine check safe sysctl interface - arm64: introduce copy_mc_to_kernel() implementation - arm64: support copy_mc_[user]_highpage() - mm/hwpoison: return -EFAULT when copy fail in copy_mc_[user]_highpage() - arm64: add uaccess to machine check safe - arm64: add support for machine check error safe - uaccess: add generic fallback version of copy_mc_to_user() - !3275 arm64: kernel: disable CNP on LINXICORE9100 - !3099 block: Make blkdev_get_by_*() return - arm64: kernel: disable CNP on LINXICORE9100 - !3111 openeuler_defconfig: enable some mm new - !3211 Add SDEI Watchdog Support - !3041 Random boot-time optimization - !3026 Backport ARM64-ILP32 patches - !3156 xfs: fix intent item leak during reovery - !3137 LoongArch: add old BPI compatibility - !3218 ipvlan: Introduce l2e mode - !3209 exec: Remove redundant check in do_open_execat/uselib - ipvlan: Introduce local xmit queue for l2e mode - ipvlan: Introduce l2e mode - arm64: kexec: only clear EOI for SDEI in NMI context - stop_machine: mask sdei before running the callback - openeuler_defconfig: Enable SDEI Watchdog - kprobes/arm64: Blacklist sdei watchdog callback functions - init: only move down lockup_detector_init() when sdei_watchdog is enabled - sdei_watchdog: avoid possible false hardlockup - sdei_watchdog: set secure timer period base on 'watchdog_thresh' - sdei_watchdog: clear EOI of the secure timer before kdump - watchdog: add nmi_watchdog support for arm64 based on SDEI - lockup_detector: init lockup detector after all the init_calls - firmware: arm_sdei: make 'sdei_api_event_disable/enable' public - firmware: arm_sdei: add interrupt binding api - exec: Remove redundant check in do_open_execat/uselib - xfs: abort intent items when recovery intents fail - xfs: factor out xfs_defer_pending_abort - !3141 Backport 6.6.3 LTS Patches - drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox - drm/amd/display: Clear dpcd_sink_ext_caps if not set - drm/amd/display: Enable fast plane updates on DCN3.2 and above - drm/amd/display: fix a NULL pointer dereference in amdgpu_dm_i2c_xfer() - drm/amd/display: Fix DSC not Enabled on Direct MST Sink - drm/amd/display: Guard against invalid RPTR/WPTR being set - drm/amdgpu: Fix possible null pointer dereference - drm/amdgpu: lower CS errors to debug severity - drm/amdgpu: fix error handling in amdgpu_bo_list_get() - drm/amdgpu: fix error handling in amdgpu_vm_init - drm/amdgpu: don't use ATRM for external devices - drm/amdgpu: add a retry for IP discovery init - drm/amdgpu: fix GRBM read timeout when do mes_self_test - drm/amdgpu: don't use pci_is_thunderbolt_attached() - drm/amdgpu/smu13: drop compute workload workaround - drm/amd/pm: Fix error of MACO flag setting code - drm/i915: Flush WC GGTT only on required platforms - drm/i915: Fix potential spectre vulnerability - drm/i915: Bump GLK CDCLK frequency when driving multiple pipes - drm/i915/mtl: Support HBR3 rate with C10 phy and eDP in MTL - drm/amd/display: Add Null check for DPP resource - x86/srso: Move retbleed IBPB check into existing 'has_microcode' code block - drm: bridge: it66121: ->get_edid callback must not return err pointers - drm/amd/pm: Handle non-terminated overdrive commands. - ext4: fix racy may inline data check in dio write - ext4: properly sync file size update after O_SYNC direct IO - ext4: add missed brelse in update_backups - ext4: remove gdb backup copy for meta bg in setup_new_flex_group_blocks - ext4: correct the start block of counting reserved clusters - ext4: correct return value of ext4_convert_meta_bg - ext4: mark buffer new if it is unwritten to avoid stale data exposure - ext4: correct offset of gdb backup in non meta_bg group to update_backups - ext4: apply umask if ACL support is disabled - ext4: make sure allocate pending entry not fail - ext4: no need to generate from free list in mballoc - ext4: fix race between writepages and remount - Revert "net: r8169: Disable multicast filter for RTL8168H and RTL8107E" - Revert "HID: logitech-dj: Add support for a new lightspeed receiver iteration" - media: qcom: camss: Fix csid-gen2 for test pattern generator - media: qcom: camss: Fix invalid clock enable bit disjunction - media: qcom: camss: Fix set CSI2_RX_CFG1_VC_MODE when VC is greater than 3 - media: qcom: camss: Fix missing vfe_lite clocks check - media: qcom: camss: Fix VFE-480 vfe_disable_output() - media: qcom: camss: Fix VFE-17x vfe_disable_output() - media: qcom: camss: Fix vfe_get() error jump - media: qcom: camss: Fix pm_domain_on sequence in probe - mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER - r8169: add handling DASH when DASH is disabled - r8169: fix network lost after resume on DASH systems - selftests: mptcp: fix fastclose with csum failure - mptcp: fix setsockopt(IP_TOS) subflow locking - mptcp: add validity check for sending RM_ADDR - mptcp: deal with large GSO size - mm: kmem: drop __GFP_NOFAIL when allocating objcg vectors - mm: fix for negative counter: nr_file_hugepages - mmc: sdhci-pci-gli: A workaround to allow GL9750 to enter ASPM L1.2 - riscv: kprobes: allow writing to x0 - riscv: correct pt_level name via pgtable_l5/4_enabled - riscv: mm: Update the comment of CONFIG_PAGE_OFFSET - riscv: put interrupt entries into .irqentry.text - riscv: Using TOOLCHAIN_HAS_ZIHINTPAUSE marco replace zihintpause - swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC - swiotlb: do not free decrypted pages if dynamic - tracing: fprobe-event: Fix to check tracepoint event and return - LoongArch: Mark __percpu functions as always inline - NFSD: Update nfsd_cache_append() to use xdr_stream - nfsd: fix file memleak on client_opens_release - dm-verity: don't use blocking calls from tasklets - dm-bufio: fix no-sleep mode - drm/mediatek/dp: fix memory leak on ->get_edid callback error path - drm/mediatek/dp: fix memory leak on ->get_edid callback audio detection - media: ccs: Correctly initialise try compose rectangle - media: venus: hfi: add checks to handle capabilities from firmware - media: venus: hfi: fix the check to handle session buffer requirement - media: venus: hfi_parser: Add check to keep the number of codecs within range - media: sharp: fix sharp encoding - media: lirc: drop trailing space from scancode transmit - f2fs: split initial and dynamic conditions for extent_cache - f2fs: avoid format-overflow warning - f2fs: set the default compress_level on ioctl - f2fs: do not return EFSCORRUPTED, but try to run online repair - i2c: i801: fix potential race in i801_block_transaction_byte_by_byte - gfs2: don't withdraw if init_threads() got interrupted - net: phylink: initialize carrier state at creation - net: dsa: lan9303: consequently nested-lock physical MDIO - net: ethtool: Fix documentation of ethtool_sprintf() - s390/ap: fix AP bus crash on early config change callback invocation - i2c: designware: Disable TX_EMPTY irq while waiting for block length byte - sbsa_gwdt: Calculate timeout with 64-bit math - lsm: fix default return value for inode_getsecctx - lsm: fix default return value for vm_enough_memory - Revert "i2c: pxa: move to generic GPIO recovery" - Revert ncsi: Propagate carrier gain/loss events to the NCSI controller - ALSA: hda/realtek: Add quirks for HP Laptops - ALSA: hda/realtek: Enable Mute LED on HP 255 G10 - ALSA: hda/realtek - Enable internal speaker of ASUS K6500ZC - ALSA: hda/realtek - Add Dell ALC295 to pin fall back table - ALSA: hda/realtek: Enable Mute LED on HP 255 G8 - ALSA: info: Fix potential deadlock at disconnection - btrfs: zoned: wait for data BG to be finished on direct IO allocation - xfs: recovery should not clear di_flushiter unconditionally - cifs: Fix encryption of cleared, but unset rq_iter data buffers - cifs: do not pass cifs_sb when trying to add channels - cifs: do not reset chan_max if multichannel is not supported at mount - cifs: force interface update before a fresh session setup - cifs: reconnect helper should set reconnect for the right channel - smb: client: fix mount when dns_resolver key is not available - smb: client: fix potential deadlock when releasing mids - smb: client: fix use-after-free in smb2_query_info_compound() - smb: client: fix use-after-free bug in cifs_debug_data_proc_show() - smb3: fix caching of ctime on setxattr - smb3: allow dumping session and tcon id to improve stats analysis and debugging - smb3: fix touch -h of symlink - smb3: fix creating FIFOs when mounting with "sfu" mount option - xhci: Enable RPM on controllers that support low-power states - parisc: fix mmap_base calculation when stack grows upwards - parisc/power: Fix power soft-off when running on qemu - parisc/pgtable: Do not drop upper 5 address bits of physical address - parisc: Prevent booting 64-bit kernels on PA1.x machines - selftests/resctrl: Extend signal handler coverage to unmount on receiving signal - selftests/resctrl: Make benchmark command const and build it with pointers - selftests/resctrl: Simplify span lifetime - selftests/resctrl: Remove bw_report and bm_type from main() - rcutorture: Fix stuttering races and other issues - torture: Make torture_hrtimeout_ns() take an hrtimer mode parameter - drm/amd/display: enable dsc_clk even if dsc_pg disabled - Bluetooth: btusb: Add 0bda:b85b for Fn-Link RTL8852BE - Bluetooth: btusb: Add RTW8852BE device 13d3:3570 to device tables - apparmor: Fix regression in mount mediation - apparmor: pass cred through to audit info. - apparmor: rename audit_data->label to audit_data->subj_label - apparmor: combine common_audit_data and apparmor_audit_data - apparmor: Fix kernel-doc warnings in apparmor/policy.c - apparmor: Fix kernel-doc warnings in apparmor/resource.c - apparmor: Fix kernel-doc warnings in apparmor/lib.c - apparmor: Fix kernel-doc warnings in apparmor/audit.c - cxl/port: Fix delete_endpoint() vs parent unregistration race - cxl/region: Fix x1 root-decoder granularity calculations - i3c: master: svc: fix random hot join failure since timeout error - i3c: master: svc: fix SDA keep low when polling IBIWON timeout happen - i3c: master: svc: fix check wrong status register in irq handler - i3c: master: svc: fix ibi may not return mandatory data byte - i3c: master: svc: fix wrong data return when IBI happen during start frame - i3c: master: svc: fix race condition in ibi work thread - i3c: master: cdns: Fix reading status register - cxl/region: Do not try to cleanup after cxl_region_setup_targets() fails - mtd: cfi_cmdset_0001: Byte swap OTP info - mm: make PR_MDWE_REFUSE_EXEC_GAIN an unsigned long - mm/memory_hotplug: use pfn math in place of direct struct page manipulation - mm/hugetlb: use nth_page() in place of direct struct page manipulation - mm/cma: use nth_page() in place of direct struct page manipulation - s390/cmma: fix detection of DAT pages - s390/mm: add missing arch_set_page_dat() call to gmap allocations - s390/mm: add missing arch_set_page_dat() call to vmem_crst_alloc() - dmaengine: stm32-mdma: correct desc prep when channel running - mcb: fix error handling for different scenarios when parsing - driver core: Release all resources during unbind before updating device links - tracing: Have the user copy of synthetic event address use correct context - selftests/clone3: Fix broken test under !CONFIG_TIME_NS - i2c: core: Run atomic i2c xfer when !preemptible - mips: use nth_page() in place of direct struct page manipulation - fs: use nth_page() in place of direct struct page manipulation - scripts/gdb/vmalloc: disable on no-MMU - kernel/reboot: emergency_restart: Set correct system_state - quota: explicitly forbid quota files from being encrypted - jbd2: fix potential data lost in recovering journal raced with synchronizing fs bdev - ASoC: codecs: wsa-macro: fix uninitialized stack variables with name prefix - hid: lenovo: Resend all settings on reset_resume for compact keyboards - selftests/resctrl: Reduce failures due to outliers in MBA/MBM tests - selftests/resctrl: Fix feature checks - selftests/resctrl: Refactor feature check to use resource and feature name - selftests/resctrl: Move _GNU_SOURCE define into Makefile - selftests/resctrl: Remove duplicate feature check from CMT test - selftests/resctrl: Fix uninitialized .sa_flags - ASoC: codecs: wsa883x: make use of new mute_unmute_on_trigger flag - ASoC: soc-dai: add flag to mute and unmute stream during trigger - netfilter: nf_tables: split async and sync catchall in two functions - netfilter: nf_tables: remove catchall element in GC sync path - ima: detect changes to the backing overlay file - ima: annotate iint mutex to avoid lockdep false positive warnings - mfd: qcom-spmi-pmic: Fix revid implementation - mfd: qcom-spmi-pmic: Fix reference leaks in revid helper - leds: trigger: netdev: Move size check in set_device_name - arm64: dts: qcom: ipq6018: Fix tcsr_mutex register size - arm64: dts: qcom: ipq9574: Fix hwlock index for SMEM - ACPI: FPDT: properly handle invalid FPDT subtables - firmware: qcom_scm: use 64-bit calling convention only when client is 64-bit - arm64: dts: qcom: ipq8074: Fix hwlock index for SMEM - arm64: dts: qcom: ipq5332: Fix hwlock index for SMEM - thermal: intel: powerclamp: fix mismatch in get function for max_idle - btrfs: don't arbitrarily slow down delalloc if we're committing - rcu: kmemleak: Ignore kmemleak false positives when RCU-freeing objects - PM: hibernate: Clean up sync_read handling in snapshot_write_next() - PM: hibernate: Use __get_safe_page() rather than touching the list - dt-bindings: timer: renesas,rz-mtu3: Fix overflow/underflow interrupt names - arm64: dts: qcom: ipq6018: Fix hwlock index for SMEM - rcu/tree: Defer setting of jiffies during stall reset - svcrdma: Drop connection after an RDMA Read error - wifi: wilc1000: use vmm_table as array in wilc struct - PCI: Lengthen reset delay for VideoPropulsion Torrent QN16e card - PCI: exynos: Don't discard .remove() callback - PCI: kirin: Don't discard .remove() callback - PCI/ASPM: Fix L1 substate handling in aspm_attr_store_common() - PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers - mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A - mmc: sdhci_am654: fix start loop index for TAP value parsing - mmc: vub300: fix an error code - ksmbd: fix slab out of bounds write in smb_inherit_dacl() - ksmbd: handle malformed smb1 message - ksmbd: fix recursive locking in vfs helpers - clk: qcom: ipq6018: drop the CLK_SET_RATE_PARENT flag from PLL clocks - clk: qcom: ipq8074: drop the CLK_SET_RATE_PARENT flag from PLL clocks - integrity: powerpc: Do not select CA_MACHINE_KEYRING - clk: visconti: Fix undefined behavior bug in struct visconti_pll_provider - clk: socfpga: Fix undefined behavior bug in struct stratix10_clock_data - powercap: intel_rapl: Downgrade BIOS locked limits pr_warn() to pr_debug() - cpufreq: stats: Fix buffer overflow detection in trans_stats() - parisc/power: Add power soft-off when running on qemu - parisc/pdc: Add width field to struct pdc_model - parisc/agp: Use 64-bit LE values in SBA IOMMU PDIR table - pmdomain: imx: Make imx pgc power domain also set the fwnode - arm64: module: Fix PLT counting when CONFIG_RANDOMIZE_BASE=n - arm64: Restrict CPU_BIG_ENDIAN to GNU as or LLVM IAS 15.x or newer - pmdomain: amlogic: Fix mask for the second NNA mem PD domain - PCI: keystone: Don't discard .probe() callback - PCI: keystone: Don't discard .remove() callback - KEYS: trusted: Rollback init_trusted() consistently - KEYS: trusted: tee: Refactor register SHM usage - pmdomain: bcm: bcm2835-power: check if the ASB register is equal to enable - sched/core: Fix RQCF_ACT_SKIP leak - genirq/generic_chip: Make irq_remove_generic_chip() irqdomain aware - mmc: meson-gx: Remove setting of CMD_CFG_ERROR - wifi: ath12k: fix dfs-radar and temperature event locking - wifi: ath12k: fix htt mlo-offset event locking - wifi: ath11k: fix gtk offload status event locking - wifi: ath11k: fix htt pktlog locking - wifi: ath11k: fix dfs radar event locking - wifi: ath11k: fix temperature event locking - regmap: Ensure range selector registers are updated after cache sync - ACPI: resource: Do IRQ override on TongFang GMxXGxx - parisc: Add nop instructions after TLB inserts - mm/damon/sysfs: check error from damon_sysfs_update_target() - mm/damon/core.c: avoid unintentional filtering out of schemes - mm/damon/sysfs-schemes: handle tried regions sysfs directory allocation failure - mm/damon/sysfs-schemes: handle tried region directory allocation failure - mm/damon/core: avoid divide-by-zero during monitoring results update - mm/damon: implement a function for max nr_accesses safe calculation - mm/damon/ops-common: avoid divide-by-zero during region hotness calculation - mm/damon/lru_sort: avoid divide-by-zero in hot threshold calculation - dm crypt: account large pages in cc->n_allocated_pages - fbdev: stifb: Make the STI next font pointer a 32-bit signed offset - iommufd: Fix missing update of domains_itree after splitting iopt_area - watchdog: move softlockup_panic back to early_param - mm/damon/sysfs: update monitoring target regions for online input commit - mm/damon/sysfs: remove requested targets when online-commit inputs - PCI/sysfs: Protect driver's D3cold preference from user space - hvc/xen: fix event channel handling for secondary consoles - hvc/xen: fix error path in xen_hvc_init() to always register frontend driver - hvc/xen: fix console unplug - acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0 - tty: serial: meson: fix hard LOCKUP on crtscts mode - tty/sysrq: replace smp_processor_id() with get_cpu() - proc: sysctl: prevent aliased sysctls from getting passed to init - audit: don't WARN_ON_ONCE(!current->mm) in audit_exe_compare() - audit: don't take task_lock() in audit_exe_compare() code path - sched: psi: fix unprivileged polling against cgroups - mmc: sdhci-pci-gli: GL9755: Mask the replay timer timeout of AER - KVM: x86: Fix lapic timer interrupt lost after loading a snapshot. - KVM: x86: Clear bit12 of ICR after APIC-write VM-exit - KVM: x86: Ignore MSR_AMD64_TW_CFG access - KVM: x86: hyper-v: Don't auto-enable stimer on write from user-space - x86/cpu/hygon: Fix the CPU topology evaluation for real - x86/apic/msi: Fix misconfigured non-maskable MSI quirk - x86/PCI: Avoid PME from D3hot/D3cold for AMD Rembrandt and Phoenix USB4 - crypto: x86/sha - load modules based on CPU features - x86/shstk: Delay signal entry SSP write until after user accesses - scsi: ufs: core: Fix racing issue between ufshcd_mcq_abort() and ISR - scsi: qla2xxx: Fix system crash due to bad pointer access - scsi: ufs: qcom: Update PHY settings only when scaling to higher gears - scsi: megaraid_sas: Increase register read retry rount from 3 to 30 for selected registers - scsi: mpt3sas: Fix loop logic - bpf: Fix precision tracking for BPF_ALU | BPF_TO_BE | BPF_END - bpf: Fix check_stack_write_fixed_off() to correctly spill imm - spi: Fix null dereference on suspend - randstruct: Fix gcc-plugin performance mode to stay in group - powerpc/perf: Fix disabling BHRB and instruction sampling - perf intel-pt: Fix async branch flags - media: venus: hfi: add checks to perform sanity on queue pointers - drivers: perf: Check find_first_bit() return value - perf: arm_cspmu: Reject events meant for other PMUs - i915/perf: Fix NULL deref bugs with drm_dbg() calls - perf/core: Fix cpuctx refcounting - cifs: fix check of rc in function generate_smb3signingkey - cifs: spnego: add ';' in HOST_KEY_LEN - scsi: ufs: core: Expand MCQ queue slot to DeviceQueueDepth + 1 - tools/power/turbostat: Enable the C-state Pre-wake printing - tools/power/turbostat: Fix a knl bug - macvlan: Don't propagate promisc change to lower dev in passthru - net: sched: do not offload flows with a helper in act_ct - net/mlx5e: Check return value of snprintf writing to fw_version buffer for representors - net/mlx5e: Check return value of snprintf writing to fw_version buffer - net/mlx5e: Reduce the size of icosq_str - net/mlx5: Increase size of irq name buffer - net/mlx5e: Update doorbell for port timestamping CQ before the software counter - net/mlx5e: Track xmit submission to PTP WQ after populating metadata map - net/mlx5e: Avoid referencing skb after free-ing in drop path of mlx5e_sq_xmit_wqe - net/mlx5e: Don't modify the peer sent-to-vport rules for IPSec offload - net/mlx5e: Fix pedit endianness - net/mlx5e: fix double free of encap_header in update funcs - net/mlx5e: fix double free of encap_header - net/mlx5: Decouple PHC .adjtime and .adjphase implementations - net/mlx5: Free used cpus mask when an IRQ is released - Revert "net/mlx5: DR, Supporting inline WQE when possible" - io_uring/fdinfo: remove need for sqpoll lock for thread/pid retrieval - gve: Fixes for napi_poll when budget is 0 - pds_core: fix up some format-truncation complaints - pds_core: use correct index to mask irq - net: stmmac: avoid rx queue overrun - net: stmmac: fix rx budget limit check - netfilter: nf_tables: bogus ENOENT when destroying element which does not exist - netfilter: nf_tables: fix pointer math issue in nft_byteorder_eval() - netfilter: nf_conntrack_bridge: initialize err to 0 - af_unix: fix use-after-free in unix_stream_read_actor() - net: ethernet: cortina: Fix MTU max setting - net: ethernet: cortina: Handle large frames - net: ethernet: cortina: Fix max RX frame define - bonding: stop the device in bond_setup_by_slave() - ptp: annotate data-race around q->head and q->tail - blk-mq: make sure active queue usage is held for bio_integrity_prep() - xen/events: fix delayed eoi list handling - ppp: limit MRU to 64K - net: mvneta: fix calls to page_pool_get_stats - tipc: Fix kernel-infoleak due to uninitialized TLV value - net: hns3: fix VF wrong speed and duplex issue - net: hns3: fix VF reset fail issue - net: hns3: fix variable may not initialized problem in hns3_init_mac_addr() - net: hns3: fix out-of-bounds access may occur when coalesce info is read via debugfs - net: hns3: fix incorrect capability bit display for copper port - net: hns3: add barrier in vf mailbox reply process - net: hns3: fix add VLAN fail issue - xen/events: avoid using info_for_irq() in xen_send_IPI_one() - net: ti: icssg-prueth: Fix error cleanup on failing pruss_request_mem_region - net: ti: icssg-prueth: Add missing icss_iep_put to error path - tty: Fix uninit-value access in ppp_sync_receive() - ipvlan: add ipvlan_route_v6_outbound() helper - net: set SOCK_RCU_FREE before inserting socket into hashtable - bpf: fix control-flow graph checking in privileged mode - bpf: fix precision backtracking instruction iteration - bpf: handle ldimm64 properly in check_cfg() - gcc-plugins: randstruct: Only warn about true flexible arrays - vhost-vdpa: fix use after free in vhost_vdpa_probe() - vdpa_sim_blk: allocate the buffer zeroed - riscv: split cache ops out of dma-noncoherent.c - drm/i915/tc: Fix -Wformat-truncation in intel_tc_port_init - gfs2: Silence "suspicious RCU usage in gfs2_permission" warning - riscv: provide riscv-specific is_trap_insn() - RISC-V: hwprobe: Fix vDSO SIGSEGV - SUNRPC: Fix RPC client cleaned up the freed pipefs dentries - NFSv4.1: fix SP4_MACH_CRED protection for pnfs IO - SUNRPC: Add an IS_ERR() check back to where it was - NFSv4.1: fix handling NFS4ERR_DELAY when testing for session trunking - drm/i915/mtl: avoid stringop-overflow warning - mtd: rawnand: meson: check return value of devm_kasprintf() - mtd: rawnand: intel: check return value of devm_kasprintf() - SUNRPC: ECONNRESET might require a rebind - dt-bindings: serial: fix regex pattern for matching serial node children - samples/bpf: syscall_tp_user: Fix array out-of-bound access - samples/bpf: syscall_tp_user: Rename num_progs into nr_tests - sched/core: Optimize in_task() and in_interrupt() a bit - wifi: iwlwifi: Use FW rate for non-data frames - mtd: rawnand: tegra: add missing check for platform_get_irq() - pwm: Fix double shift bug - drm/amdgpu: fix software pci_unplug on some chips - ALSA: hda/realtek: Add quirk for ASUS UX7602ZM - drm/qxl: prevent memory leak - ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings - i2c: dev: copy userspace array safely - riscv: VMAP_STACK overflow detection thread-safe - kgdb: Flush console before entering kgdb on panic - gfs2: Fix slab-use-after-free in gfs2_qd_dealloc - drm/amd/display: Avoid NULL dereference of timing generator - media: imon: fix access to invalid resource for the second interface - media: ccs: Fix driver quirk struct documentation - media: cobalt: Use FIELD_GET() to extract Link Width - gfs2: fix an oops in gfs2_permission - gfs2: ignore negated quota changes - media: ipu-bridge: increase sensor_name size - media: vivid: avoid integer overflow - media: gspca: cpia1: shift-out-of-bounds in set_flicker - i3c: master: mipi-i3c-hci: Fix a kernel panic for accessing DAT_data. - virtio-blk: fix implicit overflow on virtio_max_dma_size - i2c: sun6i-p2wi: Prevent potential division by zero - i2c: fix memleak in i2c_new_client_device() - i2c: i801: Add support for Intel Birch Stream SoC - i3c: mipi-i3c-hci: Fix out of bounds access in hci_dma_irq_handler - 9p: v9fs_listxattr: fix %s null argument warning - 9p/trans_fd: Annotate data-racy writes to file::f_flags - usb: gadget: f_ncm: Always set current gadget in ncm_bind() - usb: host: xhci: Avoid XHCI resume delay if SSUSB device is not present - f2fs: fix error handling of __get_node_page - f2fs: fix error path of __f2fs_build_free_nids - soundwire: dmi-quirks: update HP Omen match - usb: ucsi: glink: use the connector orientation GPIO to provide switch events - usb: dwc3: core: configure TX/RX threshold for DWC3_IP - phy: qualcomm: phy-qcom-eusb2-repeater: Zero out untouched tuning regs - phy: qualcomm: phy-qcom-eusb2-repeater: Use regmap_fields - dt-bindings: phy: qcom,snps-eusb2-repeater: Add magic tuning overrides - tty: vcc: Add check for kstrdup() in vcc_probe() - thunderbolt: Apply USB 3.x bandwidth quirk only in software connection manager - iio: adc: stm32-adc: harden against NULL pointer deref in stm32_adc_probe() - mfd: intel-lpss: Add Intel Lunar Lake-M PCI IDs - exfat: support handle zero-size directory - HID: Add quirk for Dell Pro Wireless Keyboard and Mouse KM5221W - crypto: hisilicon/qm - prevent soft lockup in receive loop - ASoC: Intel: soc-acpi-cht: Add Lenovo Yoga Tab 3 Pro YT3-X90 quirk - PCI: Use FIELD_GET() in Sapphire RX 5600 XT Pulse quirk - misc: pci_endpoint_test: Add Device ID for R-Car S4-8 PCIe controller - PCI: dwc: Add missing PCI_EXP_LNKCAP_MLW handling - PCI: dwc: Add dw_pcie_link_set_max_link_width() - PCI: Disable ATS for specific Intel IPU E2000 devices - PCI: Extract ATS disabling to a helper function - PCI: Use FIELD_GET() to extract Link Width - scsi: libfc: Fix potential NULL pointer dereference in fc_lport_ptp_setup() - PCI: Do error check on own line to split long "if" conditions - atm: iphase: Do PCI error checks on own line - PCI: mvebu: Use FIELD_PREP() with Link Width - PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields - gpiolib: of: Add quirk for mt2701-cs42448 ASoC sound - ALSA: hda: Fix possible null-ptr-deref when assigning a stream - ARM: 9320/1: fix stack depot IRQ stack filter - HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround - jfs: fix array-index-out-of-bounds in diAlloc - jfs: fix array-index-out-of-bounds in dbFindLeaf - fs/jfs: Add validity check for db_maxag and db_agpref - fs/jfs: Add check for negative db_l2nbperpage - scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool - scsi: hisi_sas: Set debugfs_dir pointer to NULL after removing debugfs - RDMA/hfi1: Use FIELD_GET() to extract Link Width - ASoC: SOF: ipc4: handle EXCEPTION_CAUGHT notification from firmware - crypto: pcrypt - Fix hungtask for PADATA_RESET - ASoC: cs35l56: Use PCI SSID as the firmware UID - ASoC: Intel: sof_sdw: Copy PCI SSID to struct snd_soc_card - ASoC: SOF: Pass PCI SSID to machine driver - ASoC: soc-card: Add storage for PCI SSID - ASoC: mediatek: mt8188-mt6359: support dynamic pinctrl - selftests/efivarfs: create-read: fix a resource leak - arm64: dts: ls208xa: use a pseudo-bus to constrain usb dma size - arm64: dts: rockchip: Add NanoPC T6 PCIe e-key support - soc: qcom: pmic: Fix resource leaks in a device_for_each_child_node() loop - drm/amd: check num of link levels when update pcie param - drm/amd/display: fix num_ways overflow error - drm/amd: Disable PP_PCIE_DPM_MASK when dynamic speed switching not supported - drm/amdgpu: Fix a null pointer access when the smc_rreg pointer is NULL - drm/amdkfd: Fix shift out-of-bounds issue - drm/panel: st7703: Pick different reset sequence - drm/amdgpu/vkms: fix a possible null pointer dereference - drm/radeon: fix a possible null pointer dereference - drm/panel/panel-tpo-tpg110: fix a possible null pointer dereference - drm/panel: fix a possible null pointer dereference - drm/amdgpu: Fix potential null pointer derefernce - drm/amd: Fix UBSAN array-index-out-of-bounds for Polaris and Tonga - drm/amd: Fix UBSAN array-index-out-of-bounds for SMU7 - drm/msm/dp: skip validity check for DP CTS EDID checksum - drm: vmwgfx_surface.c: copy user-array safely - drm_lease.c: copy user-array safely - kernel: watch_queue: copy user-array safely - kernel: kexec: copy user-array safely - string.h: add array-wrappers for (v)memdup_user() - drm/amd/display: use full update for clip size increase of large plane source - drm/amd: Update `update_pcie_parameters` functions to use uint8_t arguments - drm/amdgpu: update retry times for psp vmbx wait - drm/amdkfd: Fix a race condition of vram buffer unref in svm code - drm/amdgpu: not to save bo in the case of RAS err_event_athub - md: don't rely on 'mddev->pers' to be set in mddev_suspend() - drm/edid: Fixup h/vsync_end instead of h/vtotal - drm/amd/display: add seamless pipe topology transition check - drm/amd/display: Don't lock phantom pipe on disabling - drm/amd/display: Blank phantom OTG before enabling - drm/komeda: drop all currently held locks if deadlock happens - drm/amdkfd: ratelimited SQ interrupt messages - drm/gma500: Fix call trace when psb_gem_mm_init() fails - platform/x86: thinkpad_acpi: Add battery quirk for Thinkpad X120e - of: address: Fix address translation when address-size is greater than 2 - platform/chrome: kunit: initialize lock for fake ec_dev - gpiolib: acpi: Add a ignore interrupt quirk for Peaq C1010 - tsnep: Fix tsnep_request_irq() format-overflow warning - ACPI: EC: Add quirk for HP 250 G7 Notebook PC - Bluetooth: Fix double free in hci_conn_cleanup - Bluetooth: btusb: Add date->evt_skb is NULL check - wifi: iwlwifi: mvm: fix size check for fw_link_id - bpf: Ensure proper register state printing for cond jumps - vsock: read from socket's error queue - net: sfp: add quirk for FS's 2.5G copper SFP - wifi: ath10k: Don't touch the CE interrupt registers after power up - wifi: ath12k: mhi: fix potential memory leak in ath12k_mhi_register() - net: annotate data-races around sk->sk_dst_pending_confirm - net: annotate data-races around sk->sk_tx_queue_mapping - wifi: mt76: fix clang-specific fortify warnings - wifi: mt76: mt7921e: Support MT7992 IP in Xiaomi Redmibook 15 Pro (2023) - net: sfp: add quirk for Fiberstone GPON-ONU-34-20BI - ACPI: APEI: Fix AER info corruption when error status data has multiple sections - wifi: ath12k: fix possible out-of-bound write in ath12k_wmi_ext_hal_reg_caps() - wifi: ath10k: fix clang-specific fortify warning - wifi: ath12k: fix possible out-of-bound read in ath12k_htt_pull_ppdu_stats() - wifi: ath9k: fix clang-specific fortify warnings - bpf: Detect IP == ksym.end as part of BPF program - atl1c: Work around the DMA RX overflow issue - wifi: mac80211: don't return unset power in ieee80211_get_tx_power() - wifi: mac80211_hwsim: fix clang-specific fortify warning - wifi: ath12k: Ignore fragments from uninitialized peer in dp - wifi: plfxlc: fix clang-specific fortify warning - x86/mm: Drop the 4 MB restriction on minimal NUMA node memory size - workqueue: Provide one lock class key per work_on_cpu() callsite - cpu/hotplug: Don't offline the last non-isolated CPU - smp,csd: Throw an error if a CSD lock is stuck for too long - srcu: Only accelerate on enqueue time - clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware - clocksource/drivers/timer-imx-gpt: Fix potential memory leak - selftests/lkdtm: Disable CONFIG_UBSAN_TRAP in test config - srcu: Fix srcu_struct node grpmask overflow on 64-bit systems - perf/core: Bail out early if the request AUX area is out of bound - x86/retpoline: Make sure there are no unconverted return thunks due to KCSAN - lib/generic-radix-tree.c: Don't overflow in peek() - btrfs: abort transaction on generation mismatch when marking eb as dirty - locking/ww_mutex/test: Fix potential workqueue corruption - LoongArch: use arch specific phys_to_dma - LoongArch: Fixed EIOINTC structure members - LoongArch: Fix virtual machine startup error - LoongArch: Old BPI compatibility - LoongArch: add kernel setvirtmap for runtime - arm64: openeuler_defconfig: update for new feature - x86: openeuler_defconfig: update from new feature - erofs: fix NULL dereference of dif->bdev_handle in fscache mode - block: Remove blkdev_get_by_*() functions - bcache: Fixup error handling in register_cache() - xfs: Convert to bdev_open_by_path() - reiserfs: Convert to bdev_open_by_dev/path() - ocfs2: Convert to use bdev_open_by_dev() - nfs/blocklayout: Convert to use bdev_open_by_dev/path() - jfs: Convert to bdev_open_by_dev() - f2fs: Convert to bdev_open_by_dev/path() - ext4: Convert to bdev_open_by_dev() - erofs: Convert to use bdev_open_by_path() - btrfs: Convert to bdev_open_by_path() - fs: Convert to bdev_open_by_dev() - mm/swap: Convert to use bdev_open_by_dev() - PM: hibernate: Drop unused snapshot_test argument - PM: hibernate: Convert to bdev_open_by_dev() - scsi: target: Convert to bdev_open_by_path() - s390/dasd: Convert to bdev_open_by_path() - nvmet: Convert to bdev_open_by_path() - mtd: block2mtd: Convert to bdev_open_by_dev/path() - md: Convert to bdev_open_by_dev() - dm: Convert to bdev_open_by_dev() - bcache: Convert to bdev_open_by_path() - zram: Convert to use bdev_open_by_dev() - xen/blkback: Convert to bdev_open_by_dev() - rnbd-srv: Convert to use bdev_open_by_path() - pktcdvd: Convert to bdev_open_by_dev() - drdb: Convert to use bdev_open_by_path() - block: Use bdev_open_by_dev() in disk_scan_partitions() and blkdev_bszset() - block: Use bdev_open_by_dev() in blkdev_open() - block: Provide bdev_open_* functions - alinux: random: speed up the initialization of module - keys: Allow automatic module signature with SM3 - arm64: fix image size inflation with CONFIG_COMPAT_TASK_SIZE - arm64: set 32-bit compatible TASK_SIZE_MAX to fix U32 libc_write_01 error - arm64: replace is_compat_task() with is_ilp32_compat_task() in TASK_SIZE_MAX - arm64: fix address limit problem with TASK_SIZE_MAX - ilp32: fix compile problem when ARM64_ILP32 and UBSAN are both enabled - arm64: fix abi change caused by ILP32 - arm64: fix AUDIT_ARCH_AARCH64ILP32 bug on audit subsystem - ilp32: skip ARM erratum 1418040 for ilp32 application - ilp32: avoid clearing upper 32 bits of syscall return value for ilp32 - arm64: secomp: fix the secure computing mode 1 syscall check for ilp32 - arm64:ilp32: add ARM64_ILP32 to Kconfig - arm64:ilp32: add vdso-ilp32 and use for signal return - arm64: ptrace: handle ptrace_request differently for aarch32 and ilp32 - arm64: ilp32: introduce ilp32-specific sigframe and ucontext - arm64: signal32: move ilp32 and aarch32 common code to separated file - arm64: signal: share lp64 signal structures and routines to ilp32 - arm64: ilp32: introduce syscall table for ILP32 - arm64: ilp32: share aarch32 syscall handlers - arm64: ilp32: introduce binfmt_ilp32.c - arm64: change compat_elf_hwcap and compat_elf_hwcap2 prefix to a32 - arm64: introduce binfmt_elf32.c - arm64: introduce AUDIT_ARCH_AARCH64ILP32 for ilp32 - arm64: ilp32: add is_ilp32_compat_{task,thread} and TIF_32BIT_AARCH64 - arm64: introduce is_a32_compat_{task,thread} for AArch32 compat - arm64: uapi: set __BITS_PER_LONG correctly for ILP32 and LP64 - arm64: rename functions that reference compat term - arm64: rename COMPAT to AARCH32_EL0 - arm64: ilp32: add documentation on the ILP32 ABI for ARM64 - thread: move thread bits accessors to separated file - ptrace: Add compat PTRACE_{G,S}ETSIGMASK handlers - arm64: signal: Make parse_user_sigframe() independent of rt_sigframe layout- !3058 tcp/dccp: Add another way to allocate local ports in connect() - !3064 mm: PCP high auto-tuning - !2985 hugetlbfs: avoid overflow in hugetlbfs_fallocate - !3059 Handle more faults under the VMA lock - mm, pcp: reduce detecting time of consecutive high order page freeing - mm, pcp: decrease PCP high if free pages < high watermark - mm: tune PCP high automatically - mm: add framework for PCP high auto-tuning - mm, page_alloc: scale the number of pages that are batch allocated - mm: restrict the pcp batch scale factor to avoid too long latency - mm, pcp: reduce lock contention for draining high-order pages - cacheinfo: calculate size of per-CPU data cache slice - mm, pcp: avoid to drain PCP when process exit - mm: handle write faults to RO pages under the VMA lock - mm: handle read faults under the VMA lock - mm: handle COW faults under the VMA lock - mm: handle shared faults under the VMA lock - mm: call wp_page_copy() under the VMA lock - mm: make lock_folio_maybe_drop_mmap() VMA lock aware - tcp/dccp: Add another way to allocate local ports in connect() - !3044 mm: hugetlb: Skip initialization of gigantic tail struct pages if freed by HVO - !2980 io_uring: fix soft lockup in io_submit_sqes() - !3014 anolis: bond: broadcast ARP or ND messages to all slaves - !3018 folio conversions for numa balance - mm: hugetlb: skip initialization of gigantic tail struct pages if freed by HVO - memblock: introduce MEMBLOCK_RSRV_NOINIT flag - memblock: pass memblock_type to memblock_setclr_flag - mm: hugetlb_vmemmap: use nid of the head page to reallocate it - mm: remove page_cpupid_xchg_last() - mm: use folio_xchg_last_cpupid() in wp_page_reuse() - mm: convert wp_page_reuse() and finish_mkwrite_fault() to take a folio - mm: make finish_mkwrite_fault() static - mm: huge_memory: use folio_xchg_last_cpupid() in __split_huge_page_tail() - mm: migrate: use folio_xchg_last_cpupid() in folio_migrate_flags() - sched/fair: use folio_xchg_last_cpupid() in should_numa_migrate_memory() - mm: add folio_xchg_last_cpupid() - mm: remove xchg_page_access_time() - mm: huge_memory: use a folio in change_huge_pmd() - mm: mprotect: use a folio in change_pte_range() - sched/fair: use folio_xchg_access_time() in numa_hint_fault_latency() - mm: add folio_xchg_access_time() - mm: remove page_cpupid_last() - mm: huge_memory: use folio_last_cpupid() in __split_huge_page_tail() - mm: huge_memory: use folio_last_cpupid() in do_huge_pmd_numa_page() - mm: memory: use folio_last_cpupid() in do_numa_page() - mm: add folio_last_cpupid() - mm_types: add virtual and _last_cpupid into struct folio - sched/numa, mm: make numa migrate functions to take a folio - mm: mempolicy: make mpol_misplaced() to take a folio - mm: memory: make numa_migrate_prep() to take a folio - mm: memory: use a folio in do_numa_page() - mm: huge_memory: use a folio in do_huge_pmd_numa_page() - mm: memory: add vm_normal_folio_pmd() - mm: migrate: remove isolated variable in add_page_for_migration() - mm: migrate: remove PageHead() check for HugeTLB in add_page_for_migration() - mm: migrate: use a folio in add_page_for_migration() - mm: migrate: use __folio_test_movable() - mm: migrate: convert migrate_misplaced_page() to migrate_misplaced_folio() - mm: migrate: convert numamigrate_isolate_page() to numamigrate_isolate_folio() - mm: migrate: remove THP mapcount check in numamigrate_isolate_page() - mm: migrate: remove PageTransHuge check in numamigrate_isolate_page() - anolis: bond: broadcast ARP or ND messages to all slaves - hugetlbfs: avoid overflow in hugetlbfs_fallocate - io_uring: fix soft lockup in io_submit_sqes() - !2971 net: sched: sch_qfq: Use non-work-conserving warning handler - !2968 checkpatch: Update link tags to fix ci warning - net: sched: sch_qfq: Use non-work-conserving warning handler - checkpatch: Update check of link tags - !2945 Backport linux 6.6.2 LTS patches - btrfs: make found_logical_ret parameter mandatory for function queue_scrub_stripe() - btrfs: use u64 for buffer sizes in the tree search ioctls - Revert "mmc: core: Capture correct oemid-bits for eMMC cards" - Revert "PCI/ASPM: Disable only ASPM_STATE_L1 when driver, disables L1" - x86/amd_nb: Use Family 19h Models 60h-7Fh Function 4 IDs - io_uring/net: ensure socket is marked connected on connect retry - selftests: mptcp: fix wait_rm_addr/sf parameters - selftests: mptcp: run userspace pm tests slower - eventfs: Check for NULL ef in eventfs_set_attr() - tracing/kprobes: Fix the order of argument descriptions - fbdev: fsl-diu-fb: mark wr_reg_wa() static - ALSA: hda/realtek: Add support dual speaker for Dell - fbdev: imsttfb: fix a resource leak in probe - fbdev: imsttfb: fix double free in probe() - arm64/arm: arm_pmuv3: perf: Don't truncate 64-bit registers - spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies - ASoC: dapm: fix clock get name - ASoC: hdmi-codec: register hpd callback on component probe - ASoC: mediatek: mt8186_mt6366_rt1019_rt5682s: trivial: fix error messages - ASoC: rt712-sdca: fix speaker route missing issue - drm/syncobj: fix DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE - drm/vc4: tests: Fix UAF in the mock helpers - fs: dlm: Simplify buffer size computation in dlm_create_debug_file() - module/decompress: use kvmalloc() consistently - drivers: perf: Do not broadcast to other cpus when starting a counter - net: ti: icss-iep: fix setting counter value - RISC-V: Don't fail in riscv_of_parent_hartid() for disabled HARTs - net/sched: act_ct: Always fill offloading tuple iifidx - netfilter: nat: fix ipv6 nat redirect with mapped and scoped addresses - netfilter: xt_recent: fix (increase) ipv6 literal buffer length - i2c: iproc: handle invalid slave state - net: enetc: shorten enetc_setup_xdp_prog() error message to fit NETLINK_MAX_FMTMSG_LEN - virtio/vsock: Fix uninit-value in virtio_transport_recv_pkt() - r8169: respect userspace disabling IFF_MULTICAST - vsock/virtio: remove socket from connected/bound list on shutdown - blk-core: use pr_warn_ratelimited() in bio_check_ro() - nbd: fix uaf in nbd_open - tg3: power down device only on SYSTEM_POWER_OFF - ice: Fix VF-VF direction matching in drop rule in switchdev - ice: Fix VF-VF filter rules in switchdev mode - ice: lag: in RCU, use atomic allocation - ice: Fix SRIOV LAG disable on non-compliant aggregate - riscv: boot: Fix creation of loader.bin - nvme: fix error-handling for io_uring nvme-passthrough - net/smc: put sk reference if close work was canceled - net/smc: allow cdc msg send rather than drop it with NULL sndbuf_desc - net/smc: fix dangling sock under state SMC_APPFINCLOSEWAIT - octeontx2-pf: Free pending and dropped SQEs - selftests: pmtu.sh: fix result checking - net: stmmac: xgmac: Enable support for multiple Flexible PPS outputs - Fix termination state for idr_for_each_entry_ul() - net: r8169: Disable multicast filter for RTL8168H and RTL8107E - dccp/tcp: Call security_inet_conn_request() after setting IPv6 addresses. - dccp: Call security_inet_conn_request() after setting IPv4 addresses. - net: page_pool: add missing free_percpu when page_pool_init fail - octeontx2-pf: Fix holes in error code - octeontx2-pf: Fix error codes - inet: shrink struct flowi_common - bpf: Check map->usercnt after timer->timer is assigned - rxrpc: Fix two connection reaping bugs - tipc: Change nla_policy for bearer-related names to NLA_NUL_STRING - hsr: Prevent use after free in prp_create_tagged_frame() - llc: verify mac len before reading mac header - watchdog: ixp4xx: Make sure restart always works - watchdog: marvell_gti_wdt: Fix error code in probe() - Input: synaptics-rmi4 - fix use after free in rmi_unregister_function() - pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume - pwm: sti: Reduce number of allocations and drop usage of chip_data - drm/amdgpu: don't put MQDs in VRAM on ARM | ARM64 - drm/amdgpu/gfx10,11: use memcpy_to/fromio for MQDs - regmap: prevent noinc writes from clobbering cache - cpupower: fix reference to nonexistent document - media: cec: meson: always include meson sub-directory in Makefile - media: platform: mtk-mdp3: fix uninitialized variable in mdp_path_config() - media: mediatek: vcodec: using encoder device to alloc/free encoder memory - media: imx-jpeg: notify source chagne event when the first picture parsed - media: mediatek: vcodec: Handle invalid encoder vsi - media: verisilicon: Fixes clock list for rk3588 av1 decoder - media: dvb-usb-v2: af9035: fix missing unlock - media: cadence: csi2rx: Unregister v4l2 async notifier - media: i2c: imx219: Drop IMX219_REG_CSI_LANE_MODE from common regs array - media: i2c: imx219: Replace register addresses with macros - media: i2c: imx219: Convert to CCI register access helpers - media: cedrus: Fix clock/reset sequence - media: vidtv: mux: Add check and kfree for kstrdup - media: vidtv: psi: Add check for kstrdup - media: s3c-camif: Avoid inappropriate kfree() - media: mtk-jpegenc: Fix bug in JPEG encode quality selection - media: amphion: handle firmware debug message - media: bttv: fix use after free error due to btv->timeout timer - media: ov5640: Fix a memory leak when ov5640_probe fails - media: i2c: max9286: Fix some redundant of_node_put() calls - media: ov5640: fix vblank unchange issue when work at dvp mode - media: ov13b10: Fix some error checking in probe - media: verisilicon: Do not enable G2 postproc downscale if source is narrower than destination - media: hantro: Check whether reset op is defined before use - media: imx-jpeg: initiate a drain of the capture queue in dynamic resolution change - pcmcia: ds: fix possible name leak in error path in pcmcia_device_add() - pcmcia: ds: fix refcount leak in pcmcia_device_add() - pcmcia: cs: fix possible hung task and memory leak pccardd() - cxl/hdm: Remove broken error path - cxl/port: Fix @host confusion in cxl_dport_setup_regs() - cxl/core/regs: Rename @dev to @host in struct cxl_register_map - cxl/region: Fix cxl_region_rwsem lock held when returning to user space - cxl/region: Use cxl_calc_interleave_pos() for auto-discovery - cxl/region: Calculate a target position in a region interleave - cxl/region: Prepare the decoder match range helper for reuse - rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call - virt: sevguest: Fix passing a stack buffer as a scatterlist target - cxl/mem: Fix shutdown order - cxl/memdev: Fix sanitize vs decoder setup locking - cxl/pci: Fix sanitize notifier setup - cxl/pci: Clarify devm host for memdev relative setup - cxl/pci: Remove inconsistent usage of dev_err_probe() - cxl/pci: Cleanup 'sanitize' to always poll - cxl/pci: Remove unnecessary device reference management in sanitize work - rtc: brcmstb-waketimer: support level alarm_irq - i3c: Fix potential refcount leak in i3c_master_register_new_i3c_devs - rtla: Fix uninitialized variable found - 9p/net: fix possible memory leak in p9_check_errors() - perf vendor events intel: Add broadwellde two metrics - perf vendor events intel: Fix broadwellde tma_info_system_dram_bw_use metric - perf hist: Add missing puts to hist__account_cycles - libperf rc_check: Make implicit enabling work for GCC - perf machine: Avoid out of bounds LBR memory read - powerpc/vmcore: Add MMU information to vmcoreinfo - usb: host: xhci-plat: fix possible kernel oops while resuming - xhci: Loosen RPM as default policy to cover for AMD xHC 1.1 - perf vendor events: Update PMC used in PM_RUN_INST_CMPL event for power10 platform - powerpc/pseries: fix potential memory leak in init_cpu_associativity() - powerpc/imc-pmu: Use the correct spinlock initializer. - powerpc/vas: Limit open window failure messages in log bufffer - perf trace: Use the right bpf_probe_read(_str) variant for reading user data - powerpc: Hide empty pt_regs at base of the stack - powerpc/xive: Fix endian conversion size - powerpc/40x: Remove stale PTE_ATOMIC_UPDATES macro - perf tools: Do not ignore the default vmlinux.h - modpost: fix ishtp MODULE_DEVICE_TABLE built on big-endian host - modpost: fix tee MODULE_DEVICE_TABLE built on big-endian host - s390/ap: re-init AP queues on config on - perf mem-events: Avoid uninitialized read - perf parse-events: Fix for term values that are raw events - perf build: Add missing comment about NO_LIBTRACEEVENT=1 - interconnect: fix error handling in qnoc_probe() - powerpc: Only define __parse_fpscr() when required - interconnect: qcom: osm-l3: Replace custom implementation of COUNT_ARGS() - interconnect: qcom: sm8350: Set ACV enable_mask - interconnect: qcom: sm8250: Set ACV enable_mask - interconnect: qcom: sm8150: Set ACV enable_mask - interconnect: qcom: sm6350: Set ACV enable_mask - interconnect: qcom: sdm845: Set ACV enable_mask - interconnect: qcom: sdm670: Set ACV enable_mask - interconnect: qcom: sc8280xp: Set ACV enable_mask - interconnect: qcom: sc8180x: Set ACV enable_mask - interconnect: qcom: sc7280: Set ACV enable_mask - interconnect: qcom: sc7180: Set ACV enable_mask - interconnect: qcom: qdu1000: Set ACV enable_mask - f2fs: fix to initialize map.m_pblk in f2fs_precache_extents() - dmaengine: pxa_dma: Remove an erroneous BUG_ON() in pxad_free_desc() - USB: usbip: fix stub_dev hub disconnect - tools: iio: iio_generic_buffer ensure alignment - debugfs: Fix __rcu type comparison warning - misc: st_core: Do not call kfree_skb() under spin_lock_irqsave() - tools/perf: Update call stack check in builtin-lock.c - dmaengine: ti: edma: handle irq_of_parse_and_map() errors - usb: chipidea: Simplify Tegra DMA alignment code - usb: chipidea: Fix DMA overwrite for Tegra - usb: dwc2: fix possible NULL pointer dereference caused by driver concurrency - dmaengine: idxd: Register dsa_bus_type before registering idxd sub-drivers - perf record: Fix BTF type checks in the off-cpu profiling - perf vendor events arm64: Fix for AmpereOne metrics - pinctrl: renesas: rzg2l: Make reverse order of enable() for disable() - livepatch: Fix missing newline character in klp_resolve_symbols() - perf parse-events: Fix tracepoint name memory leak - tty: tty_jobctrl: fix pid memleak in disassociate_ctty() - f2fs: fix to drop meta_inode's page cache in f2fs_put_super() - f2fs: compress: fix to avoid redundant compress extension - f2fs: compress: fix to avoid use-after-free on dic - f2fs: compress: fix deadloop in f2fs_write_cache_pages() - perf kwork: Set ordered_events to true in 'struct perf_tool' - perf kwork: Add the supported subcommands to the document - perf kwork: Fix incorrect and missing free atom in work_push_atom() - pinctrl: baytrail: fix debounce disable case - iio: frequency: adf4350: Use device managed functions and fix power down issue. - perf stat: Fix aggr mode initialization - apparmor: fix invalid reference on profile->disconnected - scripts/gdb: fix usage of MOD_TEXT not defined when CONFIG_MODULES=n - leds: trigger: ledtrig-cpu:: Fix 'output may be truncated' issue for 'cpu' - leds: pwm: Don't disable the PWM when the LED should be off - leds: turris-omnia: Do not use SMBUS calls - mfd: arizona-spi: Set pdata.hpdet_channel for ACPI enumerated devs - dt-bindings: mfd: mt6397: Split out compatible for MediaTek MT6366 PMIC - mfd: dln2: Fix double put in dln2_probe - mfd: core: Ensure disabled devices are skipped without aborting - mfd: core: Un-constify mfd_cell.of_reg - IB/mlx5: Fix init stage error handling to avoid double free of same QP and UAF - erofs: fix erofs_insert_workgroup() lockref usage - ASoC: ams-delta.c: use component after check - crypto: qat - fix deadlock in backlog processing - crypto: qat - fix ring to service map for QAT GEN4 - crypto: qat - use masks for AE groups - crypto: qat - refactor fw config related functions - crypto: qat - enable dc chaining service - crypto: qat - consolidate services structure - certs: Break circular dependency when selftest is modular - padata: Fix refcnt handling in padata_free_shell() - PCI: endpoint: Fix double free in __pci_epc_create() - ASoC: Intel: Skylake: Fix mem leak when parsing UUIDs fails - HID: logitech-hidpp: Move get_wireless_feature_index() check to hidpp_connect_event() - HID: logitech-hidpp: Revert "Don't restart communication if not necessary" - HID: logitech-hidpp: Don't restart IO, instead defer hid_connect() only - sh: bios: Revive earlyprintk support - HID: uclogic: Fix a work->entry not empty bug in __queue_work() - HID: uclogic: Fix user-memory-access bug in uclogic_params_ugee_v2_init_event_hooks() - hid: cp2112: Fix IRQ shutdown stopping polling for all IRQs on chip - RDMA/hfi1: Workaround truncation compilation error - scsi: ufs: core: Leave space for '\0' in utf8 desc string - ASoC: fsl: Fix PM disable depth imbalance in fsl_easrc_probe - ASoC: intel: sof_sdw: Stop processing CODECs when enough are found - ASoC: SOF: core: Ensure sof_ops_free() is still called when probe never ran. - RDMA/hns: Fix init failure of RoCE VF and HIP08 - RDMA/hns: Fix unnecessary port_num transition in HW stats allocation - RDMA/hns: The UD mode can only be configured with DCQCN - RDMA/hns: Add check for SL - RDMA/hns: Fix signed-unsigned mixed comparisons - RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common() - RDMA/hns: Fix printing level of asynchronous events - IB/mlx5: Fix rdma counter binding for RAW QP - dlm: fix no ack after final message - dlm: be sure we reset all nodes at forced shutdown - dlm: fix remove member after close call - dlm: fix creating multiple node structures - fs: dlm: Fix the size of a buffer in dlm_create_debug_file() - ASoC: fsl-asoc-card: Add comment for mclk in the codec_priv - ASoC: Intel: sof_sdw_rt_sdca_jack_common: add rt713 support - backlight: pwm_bl: Disable PWM on shutdown, suspend and remove - ASoC: fsl: mpc5200_dma.c: Fix warning of Function parameter or member not described - kselftest: vm: fix mdwe's mmap_FIXED test case - ext4: move 'ix' sanity check to corrent position - ext4: add missing initialization of call_notify_error in update_super_work() - ARM: 9323/1: mm: Fix ARCH_LOW_ADDRESS_LIMIT when CONFIG_ZONE_DMA - ARM: 9321/1: memset: cast the constant byte to unsigned char - crypto: hisilicon/qm - fix PF queue parameter issue - hid: cp2112: Fix duplicate workqueue initialization - PCI: vmd: Correct PCI Header Type Register's multi-function check - ASoC: SOF: ipc4-topology: Use size_add() in call to struct_size() - crypto: qat - increase size of buffers - crypto: caam/jr - fix Chacha20 + Poly1305 self test failure - crypto: caam/qi2 - fix Chacha20 + Poly1305 self test failure - nd_btt: Make BTT lanes preemptible - libnvdimm/of_pmem: Use devm_kstrdup instead of kstrdup and check its return value - ASoC: soc-pcm.c: Make sure DAI parameters cleared if the DAI becomes inactive - scsi: ibmvfc: Fix erroneous use of rtas_busy_delay with hcall return code - crypto: qat - fix unregistration of compression algorithms - crypto: qat - fix unregistration of crypto algorithms - crypto: qat - ignore subsequent state up commands - crypto: qat - fix state machines cleanup paths - RDMA/core: Use size_{add,sub,mul}() in calls to struct_size() - hwrng: geode - fix accessing registers - hwrng: bcm2835 - Fix hwrng throughput regression - crypto: hisilicon/hpre - Fix a erroneous check after snprintf() - crypto: ccp - Fix some unfused tests - crypto: ccp - Fix sample application signature passing - crypto: ccp - Fix DBC sample application error handling - crypto: ccp - Fix ioctl unit tests - crypto: ccp - Get a free page to use while fetching initial nonce - KEYS: Include linux/errno.h in linux/verification.h - ALSA: hda: cs35l41: Undo runtime PM changes at driver exit time - ALSA: hda: cs35l41: Fix unbalanced pm_runtime_get() - ASoC: cs35l41: Undo runtime PM changes at driver exit time - ASoC: cs35l41: Verify PM runtime resume errors in IRQ handler - ASoC: cs35l41: Fix broken shared boost activation - ASoC: cs35l41: Initialize completion object before requesting IRQ - ASoC: cs35l41: Handle mdsync_up reg write errors - ASoC: cs35l41: Handle mdsync_down reg write errors - module/decompress: use vmalloc() for gzip decompression workspace - iommufd: Add iopt_area_alloc() - ARM: dts: BCM5301X: Explicitly disable unused switch CPU ports - soc: qcom: pmic_glink: fix connector type to be DisplayPort - selftests/resctrl: Ensure the benchmark commands fits to its array - selftests/pidfd: Fix ksft print formats - arm64: tegra: Use correct interrupts for Tegra234 TKE - memory: tegra: Set BPMP msg flags to reset IPC channels - firmware: tegra: Add suspend hook and reset BPMP IPC early on resume - arm64: tegra: Fix P3767 QSPI speed - arm64: tegra: Fix P3767 card detect polarity - arm64: dts: imx8mn: Add sound-dai-cells to micfil node - arm64: dts: imx8mm: Add sound-dai-cells to micfil node - arm64: dts: imx8mp-debix-model-a: Remove USB hub reset-gpios - arm64: dts: imx8qm-ss-img: Fix jpegenc compatible entry - clk: scmi: Free scmi_clk allocated when the clocks with invalid info are skipped - ARM: dts: am3517-evm: Fix LED3/4 pinmux - firmware: arm_ffa: Allow the FF-A drivers to use 32bit mode of messaging - firmware: arm_ffa: Assign the missing IDR allocation ID to the FFA device - arm64: dts: ti: Fix HDMI Audio overlay in Makefile - arm64: dts: ti: k3-am62a7-sk: Drop i2c-1 to 100Khz - arm64: dts: ti: k3-am625-beagleplay: Fix typo in ramoops reg - arm64: dts: ti: verdin-am62: disable MIPI DSI bridge - arm64: dts: ti: k3-j721s2-evm-gesi: Specify base dtb for overlay file - firmware: ti_sci: Mark driver as non removable - ARM: dts: stm32: stm32f7-pinctrl: don't use multiple blank lines - kunit: test: Fix the possible memory leak in executor_test - kunit: Fix possible memory leak in kunit_filter_suites() - kunit: Fix the wrong kfree of copy for kunit_filter_suites() - kunit: Fix missed memory release in kunit_free_suite_set() - soc: qcom: llcc: Handle a second device without data corruption - ARM: dts: qcom: mdm9615: populate vsdcc fixed regulator - ARM: dts: qcom: apq8026-samsung-matisse-wifi: Fix inverted hall sensor - arm64: dts: qcom: apq8016-sbc: Add missing ADV7533 regulators - riscv: dts: allwinner: remove address-cells from intc node - arm64: dts: qcom: msm8939: Fix iommu local address range - arm64: dts: qcom: msm8976: Fix ipc bit shifts - ARM64: dts: marvell: cn9310: Use appropriate label for spi1 pins - arm64: dts: qcom: sdx75-idp: align RPMh regulator nodes with bindings - arm64: dts: qcom: sdm845-mtp: fix WiFi configuration - arm64: dts: qcom: sm8350: fix pinctrl for UART18 - arm64: dts: qcom: sm8150: add ref clock to PCIe PHYs - arm64: dts: qcom: sc7280: drop incorrect EUD port on SoC side - arm64: dts: qcom: sdm670: Fix pdc mapping - arm64: dts: qcom: qrb2210-rb1: Fix regulators - arm64: dts: qcom: qrb2210-rb1: Swap UART index - arm64: dts: qcom: sc7280: Add missing LMH interrupts - arm64: dts: qcom: sm6125: Pad APPS IOMMU address to 8 characters - arm64: dts: qcom: msm8992-libra: drop duplicated reserved memory - arm64: dts: qcom: msm8916: Fix iommu local address range - arm64: dts: qcom: sc7280: link usb3_phy_wrapper_gcc_usb30_pipe_clk - arm64: dts: qcom: sdm845: cheza doesn't support LMh node - arm64: dts: qcom: sdm845: Fix PSCI power domain names - ARM: dts: renesas: blanche: Fix typo in GP_11_2 pin name - perf: hisi: Fix use-after-free when register pmu fails - drivers/perf: hisi_pcie: Check the type first in pmu::event_init() - perf/arm-cmn: Fix DTC domain detection - drm/amd/pm: Fix a memory leak on an error path - drivers/perf: hisi: use cpuhp_state_remove_instance_nocalls() for hisi_hns3_pmu uninit process - drm: mediatek: mtk_dsi: Fix NO_EOT_PACKET settings/handling - clocksource/drivers/arm_arch_timer: limit XGene-1 workaround - drm/msm/dsi: free TX buffer in unbind - drm/msm/dsi: use msm_gem_kernel_put to free TX buffer - xen-pciback: Consider INTx disabled when MSI/MSI-X is enabled - xen: irqfd: Use _IOW instead of the internal _IOC() macro - xen: Make struct privcmd_irqfd's layout architecture independent - xenbus: fix error exit in xenbus_init() - drm/rockchip: Fix type promotion bug in rockchip_gem_iommu_map() - arm64/arm: xen: enlighten: Fix KPTI checks - drm/bridge: lt9611uxc: fix the race in the error path - gpu: host1x: Correct allocated size for contexts - drm/rockchip: cdn-dp: Fix some error handling paths in cdn_dp_probe() - drm/msm/a6xx: Fix unknown speedbin case - drm/msm/adreno: Fix SM6375 GPU ID - accel/habanalabs/gaudi2: Fix incorrect string length computation in gaudi2_psoc_razwi_get_engines() - drm/mediatek: Fix iommu fault during crtc enabling - drm/mediatek: Fix iommu fault by swapping FBs after updating plane state - drm/mediatek: Add mmsys_dev_num to mt8188 vdosys0 driver data - io_uring/kbuf: Allow the full buffer id space for provided buffers - io_uring/kbuf: Fix check of BID wrapping in provided buffers - drm/amd/display: Bail from dm_check_crtc_cursor if no relevant change - drm/amd/display: Refactor dm_get_plane_scale helper - drm/amd/display: Check all enabled planes in dm_check_crtc_cursor - drm/amd/display: Fix null pointer dereference in error message - drm/amdkfd: Handle errors from svm validate and map - drm/amdkfd: Remove svm range validated_once flag - drm/amdkfd: fix some race conditions in vram buffer alloc/free of svm code - drm/amdgpu: Increase IH soft ring size for GFX v9.4.3 dGPU - drm: Call drm_atomic_helper_shutdown() at shutdown/remove time for misc drivers - drm/bridge: tc358768: Fix tc358768_ns_to_cnt() - drm/bridge: tc358768: Clean up clock period code - drm/bridge: tc358768: Rename dsibclk to hsbyteclk - drm/bridge: tc358768: Use dev for dbg prints, not priv->dev - drm/bridge: tc358768: Print logical values, not raw register values - drm/bridge: tc358768: Use struct videomode - drm/bridge: tc358768: Fix bit updates - drm/bridge: tc358768: Fix use of uninitialized variable - x86/tdx: Zero out the missing RSI in TDX_HYPERCALL macro - drm/mediatek: Fix coverity issue with unintentional integer overflow - drm/ssd130x: Fix screen clearing - drm/bridge: lt8912b: Add missing drm_bridge_attach call - drm/bridge: lt8912b: Manually disable HPD only if it was enabled - drm/bridge: lt8912b: Fix crash on bridge detach - drm/bridge: lt8912b: Fix bridge_detach - drm: bridge: it66121: Fix invalid connector dereference - drm/radeon: Remove the references of radeon_gem_ pread & pwrite ioctls - drm/radeon: possible buffer overflow - drm/rockchip: vop2: Add missing call to crtc reset helper - drm/rockchip: vop2: Don't crash for invalid duplicate_state - drm/rockchip: vop: Fix call to crtc reset helper - drm/rockchip: vop: Fix reset of state in duplicate state crtc funcs - drm/loongson: Fix error handling in lsdc_pixel_pll_setup() - drm: bridge: samsung-dsim: Fix waiting for empty cmd transfer FIFO on older Exynos - drm: bridge: for GENERIC_PHY_MIPI_DPHY also select GENERIC_PHY - drm: bridge: samsung-dsim: Initialize ULPS EXIT for i.MX8M DSIM - spi: omap2-mcspi: Fix hardcoded reference clock - spi: omap2-mcspi: switch to use modern name - platform/chrome: cros_ec_lpc: Separate host command and irq disable - hte: tegra: Fix missing error code in tegra_hte_test_probe() - hwmon: (sch5627) Disallow write access if virtual registers are locked - hwmon: (sch5627) Use bit macros when accessing the control register - hwmon: (pmbus/mp2975) Move PGOOD fix - Revert "hwmon: (sch56xx-common) Add automatic module loading on supported devices" - Revert "hwmon: (sch56xx-common) Add DMI override table" - hwmon: (coretemp) Fix potentially truncated sysfs attribute name - hwmon: (axi-fan-control) Fix possible NULL pointer dereference - regulator: qcom-rpmh: Fix smps4 regulator for pm8550ve - platform/x86: wmi: Fix opening of char device - platform/x86: wmi: Fix probe failure when failing to register WMI devices - clk: mediatek: fix double free in mtk_clk_register_pllfh() - clk: qcom: ipq5332: drop the CLK_SET_RATE_PARENT flag from GPLL clocks - clk: qcom: ipq9574: drop the CLK_SET_RATE_PARENT flag from GPLL clocks - clk: qcom: ipq5018: drop the CLK_SET_RATE_PARENT flag from GPLL clocks - clk: qcom: apss-ipq-pll: Fix 'l' value for ipq5332_pll_config - clk: qcom: apss-ipq-pll: Use stromer plus ops for stromer plus pll - clk: qcom: clk-alpha-pll: introduce stromer plus ops - clk: qcom: config IPQ_APSS_6018 should depend on QCOM_SMEM - clk: mediatek: clk-mt2701: Add check for mtk_alloc_clk_data - clk: mediatek: clk-mt7629: Add check for mtk_alloc_clk_data - clk: mediatek: clk-mt7629-eth: Add check for mtk_alloc_clk_data - clk: mediatek: clk-mt6797: Add check for mtk_alloc_clk_data - clk: mediatek: clk-mt6779: Add check for mtk_alloc_clk_data - clk: mediatek: clk-mt6765: Add check for mtk_alloc_clk_data - clk: npcm7xx: Fix incorrect kfree - clk: ti: fix double free in of_ti_divider_clk_setup() - clk: keystone: pll: fix a couple NULL vs IS_ERR() checks - clk: ralink: mtmips: quiet unused variable warning - spi: nxp-fspi: use the correct ioremap function - clk: linux/clk-provider.h: fix kernel-doc warnings and typos - clk: renesas: rzg2l: Fix computation formula - clk: renesas: rzg2l: Use FIELD_GET() for PLL register fields - clk: renesas: rzg2l: Trust value returned by hardware - clk: renesas: rzg2l: Lock around writes to mux register - clk: renesas: rzg2l: Wait for status bit of SD mux before continuing - clk: renesas: rcar-gen3: Extend SDnH divider table - clk: imx: imx8qxp: Fix elcdif_pll clock - clk: imx: imx8mq: correct error handling path - clk: imx: imx8: Fix an error handling path in imx8_acm_clk_probe() - clk: imx: imx8: Fix an error handling path if devm_clk_hw_register_mux_parent_data_table() fails - clk: imx: imx8: Fix an error handling path in clk_imx_acm_attach_pm_domains() - clk: imx: Select MXC_CLK for CLK_IMX8QXP - regulator: mt6358: Fail probe on unknown chip ID - gpio: sim: initialize a managed pointer when declaring it - clk: qcom: gcc-sm8150: Fix gcc_sdcc2_apps_clk_src - clk: qcom: mmcc-msm8998: Fix the SMMU GDSC - clk: qcom: mmcc-msm8998: Don't check halt bit on some branch clks - clk: qcom: clk-rcg2: Fix clock rate overflow for high parent frequencies - clk: qcom: gcc-msm8996: Remove RPM bus clocks - clk: qcom: ipq5332: Drop set rate parent from gpll0 dependent clocks - spi: tegra: Fix missing IRQ check in tegra_slink_probe() - regmap: debugfs: Fix a erroneous check after snprintf() - ipvlan: properly track tx_errors - net: add DEV_STATS_READ() helper - virtio_net: use u64_stats_t infra to avoid data-races - ipv6: avoid atomic fragment on GSO packets - mptcp: properly account fastopen data - ACPI: sysfs: Fix create_pnp_modalias() and create_of_modalias() - bpf: Fix unnecessary -EBUSY from htab_lock_bucket - Bluetooth: hci_sync: Fix Opcode prints in bt_dev_dbg/err - Bluetooth: Make handle of hci_conn be unique - Bluetooth: ISO: Pass BIG encryption info through QoS - wifi: iwlwifi: empty overflow queue during flush - wifi: iwlwifi: mvm: update IGTK in mvmvif upon D3 resume - wifi: iwlwifi: pcie: synchronize IRQs before NAPI - wifi: iwlwifi: mvm: fix netif csum flags - wifi: iwlwifi: increase number of RX buffers for EHT devices - wifi: iwlwifi: mvm: remove TDLS stations from FW - wifi: iwlwifi: mvm: fix iwl_mvm_mac_flush_sta() - wifi: iwlwifi: mvm: change iwl_mvm_flush_sta() API - wifi: iwlwifi: mvm: Don't always bind/link the P2P Device interface - wifi: iwlwifi: mvm: Fix key flags for IGTK on AP interface - wifi: iwlwifi: mvm: Correctly set link configuration - wifi: iwlwifi: yoyo: swap cdb and jacket bits values - wifi: mac80211: Fix setting vif links - wifi: mac80211: don't recreate driver link debugfs in reconfig - wifi: iwlwifi: mvm: use correct sta ID for IGTK/BIGTK - wifi: iwlwifi: mvm: fix removing pasn station for responder - wifi: iwlwifi: mvm: update station's MFP flag after association - tcp: fix cookie_init_timestamp() overflows - chtls: fix tp->rcv_tstamp initialization - thermal: core: Don't update trip points inside the hysteresis range - selftests/bpf: Make linked_list failure test more robust - net: skb_find_text: Ignore patterns extending past 'to' - bpf: Fix missed rcu read lock in bpf_task_under_cgroup() - thermal/drivers/mediatek: Fix probe for THERMAL_V2 - r8169: fix rare issue with broken rx after link-down on RTL8125 - thermal: core: prevent potential string overflow - wifi: rtw88: Remove duplicate NULL check before calling usb_kill/free_urb() - virtio-net: fix the vq coalescing setting for vq resize - virtio-net: fix per queue coalescing parameter setting - virtio-net: consistently save parameters for per-queue - virtio-net: fix mismatch of getting tx-frames - netfilter: nf_tables: Drop pointless memset when dumping rules - wifi: wfx: fix case where rates are out of order - PM / devfreq: rockchip-dfi: Make pmu regmap mandatory - can: dev: can_put_echo_skb(): don't crash kernel if can_priv::echo_skb is accessed out of bounds - can: dev: can_restart(): fix race condition between controller restart and netif_carrier_on() - can: dev: can_restart(): don't crash kernel if carrier is OK - wifi: ath11k: fix Tx power value during active CAC - r8152: break the loop when the budget is exhausted - selftests/bpf: Define SYS_NANOSLEEP_KPROBE_NAME for riscv - selftests/bpf: Define SYS_PREFIX for riscv - libbpf: Fix syscall access arguments on riscv - can: etas_es58x: add missing a blank line after declaration - can: etas_es58x: rework the version check logic to silence -Wformat-truncation - ACPI: video: Add acpi_backlight=vendor quirk for Toshiba Portégé R100 - ACPI: property: Allow _DSD buffer data only for byte accessors - wifi: rtlwifi: fix EDCA limit set by BT coexistence - tcp_metrics: do not create an entry from tcp_init_metrics() - tcp_metrics: properly set tp->snd_ssthresh in tcp_init_metrics() - tcp_metrics: add missing barriers on delete - wifi: ath: dfs_pattern_detector: Fix a memory initialization issue - wifi: mt76: mt7921: fix the wrong rate selected in fw for the chanctx driver - wifi: mt76: mt7921: fix the wrong rate pickup for the chanctx driver - wifi: mt76: move struct ieee80211_chanctx_conf up to struct mt76_vif - wifi: mt76: mt7915: fix beamforming availability check - wifi: mt76: fix per-band IEEE80211_CONF_MONITOR flag comparison - wifi: mt76: get rid of false alamrs of tx emission issues - wifi: mt76: fix potential memory leak of beacon commands - wifi: mt76: update beacon size limitation - wifi: mt76: mt7996: fix TWT command format - wifi: mt76: mt7996: fix rx rate report for CBW320-2 - wifi: mt76: mt7996: fix wmm queue mapping - wifi: mt76: mt7996: fix beamformee ss subfield in EHT PHY cap - wifi: mt76: mt7996: fix beamform mcu cmd configuration - wifi: mt76: mt7996: set correct wcid in txp - wifi: mt76: remove unused error path in mt76_connac_tx_complete_skb - wifi: mt76: mt7603: improve stuck beacon handling - wifi: mt76: mt7603: improve watchdog reset reliablity - wifi: mt76: mt7603: rework/fix rx pse hang check - cpufreq: tegra194: fix warning due to missing opp_put - PM: sleep: Fix symbol export for _SIMPLE_ variants of _PM_OPS() - wifi: mac80211: fix check for unusable RX result - wifi: ath11k: fix boot failure with one MSI vector - wifi: ath12k: fix DMA unmap warning on NULL DMA address - wifi: rtw88: debug: Fix the NULL vs IS_ERR() bug for debugfs_create_file() - net: ethernet: mtk_wed: fix EXT_INT_STATUS_RX_FBUF definitions for MT7986 SoC - ice: fix pin assignment for E810-T without SMA control - net: spider_net: Use size_add() in call to struct_size() - tipc: Use size_add() in calls to struct_size() - tls: Use size_add() in call to struct_size() - mlxsw: Use size_mul() in call to struct_size() - gve: Use size_add() in call to struct_size() - bpf: Fix kfunc callback register type handling - tcp: call tcp_try_undo_recovery when an RTOd TFO SYNACK is ACKed - selftests/bpf: Skip module_fentry_shadow test when bpf_testmod is not available - udplite: fix various data-races - udplite: remove UDPLITE_BIT - udp: annotate data-races around udp->encap_type - udp: lockless UDP_ENCAP_L2TPINUDP / UDP_GRO - udp: move udp->accept_udp_{l4|fraglist} to udp->udp_flags - udp: add missing WRITE_ONCE() around up->encap_rcv - udp: move udp->gro_enabled to udp->udp_flags - udp: move udp->no_check6_rx to udp->udp_flags - udp: move udp->no_check6_tx to udp->udp_flags - udp: introduce udp->udp_flags - wifi: cfg80211: fix kernel-doc for wiphy_delayed_work_flush() - bpf, x64: Fix tailcall infinite loop - selftests/bpf: Correct map_fd to data_fd in tailcalls - iavf: Fix promiscuous mode configuration flow messages - i40e: fix potential memory leaks in i40e_remove() - wifi: iwlwifi: don't use an uninitialized variable - wifi: iwlwifi: honor the enable_ini value - wifi: mac80211: fix # of MSDU in A-MSDU calculation - wifi: cfg80211: fix off-by-one in element defrag - wifi: mac80211: fix RCU usage warning in mesh fast-xmit - wifi: mac80211: move sched-scan stop work to wiphy work - wifi: mac80211: move offchannel works to wiphy work - wifi: mac80211: move scan work to wiphy work - wifi: mac80211: move radar detect work to wiphy work - wifi: cfg80211: add flush functions for wiphy work - wifi: ath12k: fix undefined behavior with __fls in dp - irqchip/sifive-plic: Fix syscore registration for multi-socket systems - genirq/matrix: Exclude managed interrupts in irq_matrix_allocated() - string: Adjust strtomem() logic to allow for smaller sources - PCI/MSI: Provide stubs for IMS functions - selftests/x86/lam: Zero out buffer for readlink() - perf: Optimize perf_cgroup_switch() - pstore/platform: Add check for kstrdup - x86/nmi: Fix out-of-order NMI nesting checks & false positive warning - drivers/clocksource/timer-ti-dm: Don't call clk_get_rate() in stop function - srcu: Fix callbacks acceleration mishandling - x86/apic: Fake primary thread mask for XEN/PV - cpu/SMT: Make SMT control more robust against enumeration failures - x86/boot: Fix incorrect startup_gdt_descr.size - x86/sev-es: Allow copy_from_kernel_nofault() in earlier boot - cgroup/cpuset: Fix load balance state in update_partition_sd_lb() - ACPI/NUMA: Apply SRAT proximity domain to entire CFMWS window - x86/numa: Introduce numa_fill_memblks() - futex: Don't include process MM in futex key on no-MMU - x86/srso: Fix unret validation dependencies - x86/srso: Fix vulnerability reporting for missing microcode - x86/srso: Print mitigation for retbleed IBPB case - x86/srso: Fix SBPB enablement for (possible) future fixed HW - writeback, cgroup: switch inodes with dirty timestamps to release dying cgwbs - vfs: fix readahead(2) on block devices - nfsd: Handle EOPENSTALE correctly in the filecache - sched: Fix stop_one_cpu_nowait() vs hotplug - objtool: Propagate early errors - sched/uclamp: Ignore (util == 0) optimization in feec() when p_util_max = 0 - sched/uclamp: Set max_spare_cap_cpu even if max_spare_cap is 0 - iov_iter, x86: Be consistent about the __user tag on copy_mc_to_user() - sched/fair: Fix cfs_rq_is_decayed() on !SMP - sched/topology: Fix sched_numa_find_nth_cpu() in non-NUMA case - sched/topology: Fix sched_numa_find_nth_cpu() in CPU-less case - numa: Generalize numa_map_to_online_node() - hwmon: (nct6775) Fix incorrect variable reuse in fan_div calculation - !2933 Backport linux 6.6.1 LTS patches - ASoC: SOF: sof-pci-dev: Fix community key quirk detection - ALSA: hda: intel-dsp-config: Fix JSL Chromebook quirk detection - serial: core: Fix runtime PM handling for pending tx - misc: pci_endpoint_test: Add deviceID for J721S2 PCIe EP device support - dt-bindings: serial: rs485: Add rs485-rts-active-high - tty: 8250: Add Brainboxes Oxford Semiconductor-based quirks - tty: 8250: Add support for Intashield IX cards - tty: 8250: Add support for additional Brainboxes PX cards - tty: 8250: Fix up PX-803/PX-857 - tty: 8250: Fix port count of PX-257 - tty: 8250: Add support for Intashield IS-100 - tty: 8250: Add support for Brainboxes UP cards - tty: 8250: Add support for additional Brainboxes UC cards - tty: 8250: Remove UC-257 and UC-431 - tty: n_gsm: fix race condition in status line change on dead connections - Bluetooth: hci_bcm4377: Mark bcm4378/bcm4387 as BROKEN_LE_CODED - usb: raw-gadget: properly handle interrupted requests - usb: typec: tcpm: Fix NULL pointer dereference in tcpm_pd_svdm() - usb: typec: tcpm: Add additional checks for contaminant - usb: storage: set 1.50 as the lower bcdDevice for older "Super Top" compatibility - PCI: Prevent xHCI driver from claiming AMD VanGogh USB3 DRD device - ALSA: usb-audio: add quirk flag to enable native DSD for McIntosh devices - eventfs: Use simple_recursive_removal() to clean up dentries - eventfs: Delete eventfs_inode when the last dentry is freed - eventfs: Save ownership and mode - eventfs: Remove "is_freed" union with rcu head - tracing: Have trace_event_file have ref counters - perf evlist: Avoid frequency mode for the dummy event - power: supply: core: Use blocking_notifier_call_chain to avoid RCU complaint - drm/amd/display: Don't use fsleep for PSR exit waits - !2927 dm ioctl: add DMINFO() to track dm device create/remove - dm ioctl: add DMINFO() to track dm device create/remove - !2900 Add initial openeuler_defconfig for arm64 and x86 - config: add initial openeuler_defconfig for x86 - config: add initial openeuler_defconfig for arm64 - kconfig: Add script to check & update openeuler_defconfig - init from linux v6.6/bin/shdc-64g.compass-ci 1730881195  !"#$%&'()*+,-./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 { | } ~        !"#$%&'()*+,-./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{|}~      !"#$%&'()*+,-./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${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%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){)|)})~)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********** * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*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.{.|.}.~.................................................................................................................................////////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///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/{/|/}/~/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999:::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/: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;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< =?=@=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@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;A<A=A>A?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;B<B=B>B?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;C<C=C>C?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;D<D=D>D?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;E<E=E>E?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;F<F=F>F?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;G<G=G>G?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;H<H=H>H?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;I<I=I>I?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;J<J=J>J?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;K<K=K>K?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK6.6.0-50.0.0.55.oe24036.6.0-50.0.0.55.oe24036.6.0-50.0.0.55.oe24036.6.0-50.0.0.55.oe2403.aarch64          !""#"$"%"&"'"(")"*"+","-"."/"0"1"2"334353637"8"9":";"<"=">"??@?A?B?C?D"E"F"G"H"I"J"K"L"M"N"OOPOQOR"S"T"U"VWWXXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZ\\\\\\\\ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]]]]]ZZZZZZZZZZ^^^^^^^Z_`aabccddeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyzz{{||}}~~            !"#$%&'(()*+,- .....//0.11213.4.5.6 7777788898:7;7<<7==7>>7???@@7AA7BBCBDDEDFDGDHDIDJDKDLDMDNDODPDQDRBS7TTTUTV7W7XX7YYZ7[\[][^[_7``7a7bb7ccd7ee7fffgfh7i7jjjkkljmjn7ooopoqor7ss7t7u7v7w7x7y7zzz{z|7}7~~7777777777              !""#"$"%&&'((())(*(+,,--.-/-0-1-2-3-4,5,67899: ;;;;<;==;>>?;@;A;B;C;D;E;F;G HHHHHIIJHKKLKMKNHOOHPPHQHRHSHTHUHV WWWWWWXXWYYZW[[\[]W^ _________``a_bbc_dd_eefegeh_iiijikil_m_n_oopoqorrsrtrurvrwoxoy_zz_{_|_}}~___________             !!!""#$"%!&''(()))))*******+,,---.../.0.1-2-33-44-5-6-77-88998::8;-<<-=->>-?-@@@A@B@C@D@E-F-GGGHHGIIGJJGKKKLKMKNKOKPKQKRKSKT-UUUVUWUX-YYYZZ-[[-\-]-^^-__-``-aa-bcccdeeefeghhiiijjklllmmnnnoonnpnqqrrnssnttnunvnwwnxxnynzzn{{n||n}}n~~n           !!""##$$%%&&&''&((()&**&++&,,&--..///00/112233444554664778899::9;;9<<9==>>>??>@@>AABBBCCCDEEFFFGGFHHFIIFJJFKKFLLFMMFNNFOOOPPOQQORROSSOTTOUUOVVFWWFXXFYYFZZF[[F\\F]]F^^^__^``^aa^bb^cc^ddFeeFffFggFhhFiiFjjFkkFllFmmFnnFooFppFqqrrrsrttuutvvtwwtxxtyytzzt{{t||t}}t~~ttttttttrr             !! ""###$$#%%#&'''(('))***++*,,*--*..*//*0011122233244255266177888998::8;;8<<8==8>>???@@?A?BB?CC?DD?EFFGGHHIIIJJIKKILLMMMNNMOOPPQQQRRQSSQTTQUUQVVWWXXXYYXZZX[[X\\X]]XX^^__X``XaaXbbbccbddbeeXffXggXhhXiiXjjXkkXllXmmXnnXooXppXqqrrsssttsuuvvvwwvxxyyzz{{|||}}|~~|||||||||||||||||||           ! ""###$%%%&%'((()))*)+),)-).(//(0011222324455565758595:5;5<5=5>5?5@AABBBCBDDBEEEFEGBHHIIJJJKKJLMMMNMOJPPJQQJRRSSTTTUUTVVTWWXXXYZZ[[\\\]\^\_\`\abbbcddeeefgghhhijjkkllmmmnnooppqqqrssstsusvswxxxyxzz{{||}}~~              !!""##$$%%&&&'''(('))'**'++',,&--.//000110220334445566678899::;;;<<<==<>><??;@@@AA;BB;C;DD;EEFFGGGHHIIIJJIKKILLMMMNNMOOMPPMQQMRRMSSMTTMUUMVVMWWMXXMYYMZZM[[M\\M]]M^^M__M``MaaMbbMccMddMeeMffMgghhhiihjjhkkhllhmmhnnhooohpphqqhrrhsshtthuuhvvhwwwhxxhyyhzzh{{h||h}}h~~hhhhhhh          !!!"!##!$$%%&''(())*++,,--..//00112233445567788898:;;<<==>>??@@AABBCCCDDCEECFFCGGCHHHIICJJCKKCLLLMMLNNLOOLPPLQQLRRCSSCTTTUUUVVVWTXXTYZZT[[T\\T]]T^__T``TaaTbbbccbddTeeCfffggfhhfiifjjCkkCllCmmCnnCooCpppqqCrrCssCttCuuCvvCwwwxxwyywzzC{{C||C}}C~~                                                                          ! !  " "  # #  $ $  % %  &  ' '  ( (  ) )  * *  + +  , ,  - -  . .  / /  0 0  1  2 2  3  4  5 5  6 6  7 7  8 8  9 9  :  ; ;  < <  = = = > = ? = @  A  B B  C C  D D  E E E F F E G G E H H  I I  J J  K K K L K M K N  O O  P  Q Q  R R  S S  T T  U U  V V  W W  X  Y Y  Z Z  [ [  \ \ \ ] ] \ ^ \ _ _  ` `  a a  b b  c  d d  e e  f f  g g  h h  i i  j j  k k l m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m n n n n n n n m m m m l o o o o o o o o o o o o o o o o p p p p p p p p p p p p p p p p p p p p p p p p p o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o q o o o o o o l r r r r r r r r r l s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s l t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t u u u u u u u u u u u u u u u u u u u u u u t t t t t t t t t t t t t t t t t t t t t t t t t t t t t t l v v w w w w w v x x x x x x x x x x x x v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v y y y v v v v v v v v v v v z z z z z z z z z z l { | | | { } { ~ ~ {                                                                                                                                                                                                                                                                                                                                                                                                              { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { { l l l l l                                                                                                                                                                                                                                                                                                                                                                       ! "  # # # # # #  $  %  & & &  ' ' ' ' ' ' ' ' ' ' ' ' ' '  ( ( (  ) ) ) )  *  + + + + + + + + + + , , , , , - - - - - - - - - - - - - - - - - - - - - - - - - - . . . . . . . . / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / 0 0 0 1 1 1 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 l 4 4 4 4 4 4 4 4 4 l 5 5 5 5 6 6 5 5 5 7 7 7 7 7 7 7 7 7 7 7 5 5 5 5 5 5 5 5 5 5 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 5 5 5 5 5 5 5 5 5 5 5 5 5 9 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 l : l ; ; ; ; ; ; l < < = = = < < < < < < < < < < < < < < < > > > > > > > > > > > > < < < < < < < ? ? ? ? ? ? ? ? ? ? < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < @ @ < < < < < < < < < < < < < < < < < < < < < < A A A A A < < < < < < < < < < < < < < < < < < < < B B C C C C B D D D D B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B B < < < E E E E E E E E E E E E E E E E E E E E E E < < < < F F F F F F < < < < G G < H H H H < < < < < < < < < < < < < < < < < < < < < < I I I I I I I I I I I I < < < < < < < < < < < < < < J J J J J J J J J J J J J J J J J J J J < < < < < < < < < < < < < < < < < < < < < < < < < < l K K K K K K K l L l M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M l N N N l O P P P P P P O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O l Q R Q S S S Q T T T T T T T Q U Q V Q W W W W W W W X X X X X X X W Q Y Y Y Q Z Q [ Q \ \ \ \ \ \ \ \ \ Q ] ] ] ] ] ] ] ] Q ^ ^ ^ Q _ Q ` Q a Q b b b b b b b b b b b b b l c d d d d c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c e e e e e e e e e e e e e f e e e e e c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c l g h h h g g g l i i i i j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j i k k i l l l l i i m m m m m m m m i i i l n n o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o n p p p p p p p p p p p p p p p p p p p p p p p p p n q q q q q q q q q q q r r q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q s s q q t t q q u u u u u u u u q q q q q q q q q q q q v v q q q q q q q q q q q q q q q q q q q q q q q q q q q q q w w w w w w w w q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q x q q q q q q q q y q q q q q q q z z q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q { { { q q q q q q q q q q q q q q q q q q q q q q q q q q q q | q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q } q q ~ q q q q q q q q q q q q q q q q q q q q q q q q q q q q                                                                                            q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q q n n n n n n n l l l l                                                               ! ! " # # $ $ % % & & ' ' ( ( ( ) ( * + + , , - - . . / / 0 0 1 1 2 2 3 3 4 5 5 5 6 5 7 5 8 5 9 9 5 : 5 ; 5 < 5 = 5 > 5 ? 5 @ @ 5 A 5 B 5 C 5 D 5 E 5 F 5 G 5 H 5 I 5 J 5 K 5 L 5 M 5 N 5 O 5 P P P Q 5 R 5 S 5 T 5 U 5 V 5 W 5 X 5 Y 5 Z 5 [ 5 \ ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ^ ^ ^ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ^ ^ ^ ^ ^ ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ] a a a ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] b b ] ] ] ] c d e e e d d d d d d d d d d d d d d d d d d c f f f f f f f f f c g g g g g c h h h h c i i i i i i i i i i i i i i i i i i i i i i i i c j j j j c k k k k ] ] ] ] ] ] ] ] ] l l l l l l l l l l l l l l l l l l l l l m m m m m m m m m m m m l n n n n n n n n n n n n n l l l l l l l l l l ] o p q o o o o o ] ] ] ] ] ] ] ] ] ] r r r r r r r r r r r r r ] ] ] s s t t t t t t t t t t t t t t t t t t t t t t t t t t s ] ] ] ] ] u u u u u u u u u u ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] v v v v v v v v v v v v v v v v v v w w w w w w w w v v v v v v v v v v v v v v v v v v v x y y y x z z z z z z z z z x { { { { { x x | | | x } } } } } } x ~ ~ ~ ~ x     x x x v ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]                                                           ! " " # # $ $ $ % & & & ' ' & ( ( & ) ) & * * * + * , & - - . . / / 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 : : ; ; < < < = > ? > > > @ > A > B > C C > D > E F F G G H H I I J I K L M L N I O I P P Q R Q P S S P T I U U U U U V U W X I Y I Z I [ \ I ] I ^ I _ I ` I a I b I c I d e I f g I h i h j I k I l m l n l o p o l q l r l s I t I u v v v w v x v y I z I { I | I } I ~  ~ ~ ~ ~ ~ ~ I I I I I                                ! " # $ % & ' ( ( ) ( * ( + ( , ( - ( . ( / ( 0 ( 1 ( 2 ( 3 ( 4 ( 5 5 6 5 7 5 8 ( 9 ( : ( ; ( < ( = ( > ( ? ( @ ( A B C D E F G H I I J I K I L M N O P Q R S T U V V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m I n o n p n q n r I s s t s u I v v w x y w z { v | | } | ~ I   I I   buildsource6.6.0-50.0.0.55.oe2403.aarch64.configDocumentationKconfigMakefiledevicetreebindingsMakefilekbuildKconfig.recursion-issue-01Kconfig.recursion-issue-02Kconfig.select-breaktoolsrtlaMakefilervMakefileuserspace-apimediaMakefileKconfigMakefileMakefile.oeverModule.symversSystem.maparchKconfigalphaKconfigKconfig.debugMakefilebootMakefilekernelMakefilesyscallsMakefilelibMakefilemath-emuMakefilemmMakefilearcKconfigKconfig.debugMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileplat-axs10xKconfigMakefileplat-hsdkKconfigMakefileplat-simMakefileplat-tb10xKconfigMakefilearmKconfigKconfig-nommuKconfig.assemblerKconfig.debugMakefilebootMakefilebootpMakefilecompressedMakefiledtsMakefileactionsMakefileairohaMakefileallwinnerMakefilealphascaleMakefileamazonMakefileamlogicMakefilearmMakefileaspeedMakefileaxisMakefilebroadcomMakefilecalxedaMakefilecirrusMakefilecnxtMakefilegeminiMakefilehisiliconMakefilehpeMakefileintelMakefileaxmMakefileixpMakefilepxaMakefilesocfpgaMakefilemarvellMakefilemediatekMakefilemicrochipMakefilemoxaMakefilenspireMakefilenuvotonMakefilenvidiaMakefilenxpMakefileimxMakefilelpcMakefilelsMakefilemxsMakefilevfMakefileqcomMakefilerealtekMakefilerenesasMakefilerockchipMakefilesamsungMakefilesigmastarMakefilesocionextMakefilestMakefilesunplusMakefilesynapticsMakefiletiMakefiledavinciMakefilekeystoneMakefileomapMakefileunisocMakefilevt8500MakefilexenMakefilexilinxMakefilecommonKconfigMakefilecryptoKconfigMakefileincludeasmKbuildarch_gicv3.harch_timer.harchrandom.harm-cci.harm_pmuv3.hasm-offsets.hassembler.hatomic.hauxvec.hbL_switcher.hbarrier.hbitops.hbitrev.hbug.hbugs.hcache.hcacheflush.hcachetype.hchecksum.hclocksource.hcmpxchg.hcompiler.hcp15.hcpu.hcpufeature.hcpuidle.hcputype.hcti.hcurrent.hdcc.hdelay.hdevice.hdiv64.hdma-iommu.hdma.hdmi.hdomain.hecard.hedac.hefi.helf.hexception.hfb.hfiq.hfirmware.hfixmap.hfloppy.hfncpy.hfpstate.hftrace.hfutex.hglue-cache.hglue-df.hglue-pf.hglue-proc.hglue.hhardirq.hhardwarecache-aurora-l2.hcache-b15-rac.hcache-feroceon-l2.hcache-l2x0.hcache-tauros2.hcache-uniphier.hcp14.hdec21285.hioc.hiomd.hlocomo.hmemc.hsa1111.hscoop.hssp.hhighmem.hhugetlb-3level.hhugetlb.hhw_breakpoint.hhw_irq.hhwcap.hhypervisor.hidmap.hinsn.hio.hirq.hirq_work.hirqflags.hjump_label.hkasan.hkasan_def.hkexec-internal.hkexec.hkfence.hkgdb.hkprobes.hkrait-l2-accessors.hlinkage.hlivepatch.hmacharch.hdma.hflash.hirq.hmap.hpci.hsharpsl_param.htime.hmc146818rtc.hmcpm.hmcs_spinlock.hmemblock.hmemory.hmman.hmmu.hmmu_context.hmodule.hmodule.lds.hmpu.hmtd-xip.hneon.hnwflash.hopcodes-sec.hopcodes-virt.hopcodes.houtercache.hpage-nommu.hpage.hparavirt.hparavirt_api_clock.hpatch.hpci.hpercpu.hperf_event.hpgalloc.hpgtable-2level-hwdef.hpgtable-2level-types.hpgtable-2level.hpgtable-3level-hwdef.hpgtable-3level-types.hpgtable-3level.hpgtable-hwdef.hpgtable-nommu.hpgtable.hprobes.hproc-fns.hprocessor.hprocinfo.hprom.hpsci.hptdump.hptrace.hseccomp.hsections.hsecure_cntvoff.hsemihost.hset_memory.hsetup.hshmparam.hsignal.hsimd.hsmp.hsmp_plat.hsmp_scu.hsmp_twd.hsparsemem.hspectre.hspinlock.hspinlock_types.hstackprotector.hstacktrace.hstring.hsuspend.hswab.hswitch_to.hsync_bitops.hsyscall.hsyscalls.hsystem_info.hsystem_misc.htcm.htherm.hthread_info.hthread_notify.htimex.htlb.htlbflush.htls.htopology.htraps.huaccess-asm.huaccess.hucontext.hunified.hunistd.hunwind.huprobes.huser.hv7m.hvdsovdso.hclocksource.hcp15.hgettimeofday.hprocessor.hvsyscall.hvdso_datapage.hvermagic.hvfp.hvfpmacros.hvga.hvirt.hvmalloc.hvmlinux.lds.hword-at-a-time.hxenevents.hhypercall.hhypervisor.hinterface.hpage.hswiotlb-xen.hxen-ops.hxor.hkernelMakefilelibMakefilemach-actionsKconfigMakefilemach-airohaMakefilemach-alpineKconfigMakefilemach-artpecKconfigMakefilemach-asm9260Kconfigmach-aspeedKconfigMakefilemach-at91KconfigMakefilemach-axxiaKconfigMakefilemach-bcmKconfigMakefilemach-berlinKconfigMakefilemach-clps711xKconfigMakefilemach-davinciKconfigMakefilemach-digicolorKconfigMakefilemach-doveKconfigMakefilemach-ep93xxKconfigMakefilemach-exynosKconfigMakefilemach-footbridgeKconfigMakefilemach-geminiKconfigMakefilemach-highbankKconfigMakefilemach-hisiKconfigMakefilemach-hpeKconfigMakefilemach-imxKconfigMakefilemach-ixp4xxKconfigMakefilemach-keystoneKconfigMakefilemach-lpc18xxMakefilemach-lpc32xxKconfigMakefilemach-mediatekKconfigMakefilemach-mesonKconfigMakefilemach-milbeautKconfigMakefilemach-mmpKconfigMakefilemach-moxartKconfigMakefilemach-mstarKconfigMakefilemach-mv78xx0KconfigMakefilemach-mvebuKconfigMakefilemach-mxsKconfigMakefilemach-nomadikKconfigMakefilemach-npcmKconfigMakefilemach-nspireKconfigMakefilemach-omap1KconfigMakefilemach-omap2KconfigMakefilemach-orion5xKconfigMakefilemach-pxaKconfigMakefilemach-qcomKconfigMakefilemach-rdaKconfigmach-realtekKconfigMakefilemach-rockchipKconfigMakefilemach-rpcKconfigMakefilemach-s3cKconfigKconfig.s3c64xxMakefileMakefile.s3c64xxmach-s5pv210KconfigMakefilemach-sa1100KconfigMakefilemach-shmobileKconfigMakefilemach-socfpgaKconfigMakefilemach-spearKconfigMakefilemach-stiKconfigMakefilemach-stm32KconfigMakefilemach-sunplusKconfigMakefilemach-sunxiKconfigMakefilemach-tegraKconfigMakefilemach-uniphierKconfigmach-ux500KconfigMakefilemach-versatileKconfigMakefilemach-vt8500KconfigMakefilemach-zynqKconfigMakefilemmKconfigMakefilenetMakefilenwfpeMakefileplat-orionMakefileprobesMakefilekprobesMakefileuprobesMakefiletoolsMakefilevdsoMakefilevfpMakefilexenMakefilearm64KconfigKconfig.debugKconfig.platformsMakefilebootMakefiledtsMakefileactionsMakefileallwinnerMakefilealteraMakefileamazonMakefileamdMakefileamlogicMakefileapmMakefileappleMakefilearmMakefilebitmainMakefilebroadcomMakefilebcmbcaMakefilenorthstar2MakefilestingrayMakefilecaviumMakefileexynosMakefilefreescaleMakefilehisiliconMakefileintelMakefilelgMakefilemarvellMakefilemediatekMakefilemicrochipMakefilenuvotonMakefilenvidiaMakefileqcomMakefilerealtekMakefilerenesasMakefilerockchipMakefilesocionextMakefilesprdMakefilestMakefilesynapticsMakefileteslaMakefiletiMakefiletoshibaMakefilexilinxMakefilecryptoKconfigMakefilehypervMakefileincludeasmKbuildacenv.hacpi.halternative-macros.halternative.happle_m1_pmu.harch_gicv3.harch_timer.harchrandom.harm-cci.harm_dsu_pmu.harm_pmuv3.hasm-bug.hasm-extable.hasm-offsets.hasm-prototypes.hasm-uaccess.hasm_pointer_auth.hassembler.hatomic.hatomic_ll_sc.hatomic_lse.hbarrier.hbitops.hbitrev.hboot.hbrk-imm.hbug.hcache.hcacheflush.hchecksum.hclocksource.hcmpxchg.hcompat.hcompiler.hcpu.hcpu_ops.hcpufeature.hcpuidle.hcputype.hcurrent.hdaifflags.hdcc.hdebug-monitors.hdevice.hdmi.hefi.hel2_setup.helf.hesr.hexception.hexec.hextable.hfb.hfixmap.hfpsimd.hfpsimdmacros.hftrace.hfutex.hgpr-num.hhardirq.hhugetlb.hhw_breakpoint.hhwcap.hhyp_image.hhyperv-tlfs.hhypervisor.himage.hinsn-def.hinsn.hio.hirq.hirq_work.hirqflags.his_compat.hjump_label.hkasan.hkernel-pgtable.hkexec.hkfence.hkgdb.hkprobes.hkvm_arm.hkvm_asm.hkvm_emulate.hkvm_host.hkvm_hyp.hkvm_mmu.hkvm_mte.hkvm_nested.hkvm_pgtable.hkvm_pkvm.hkvm_ptrauth.hkvm_ras.hkvm_tmi.hkvm_tmm.hkvm_types.hlinkage.hlivepatch.hlse.hmemory.hmman.hmmu.hmmu_context.hmmzone.hmodule.hmodule.lds.hmpam.hmshyperv.hmte-def.hmte-kasan.hmte.hneon-intrinsics.hneon.hnmi.hnuma.hpage-def.hpage.hparavirt.hparavirt_api_clock.hpatching.hpci.hpercpu.hperf_event.hpgalloc.hpgtable-hwdef.hpgtable-prot.hpgtable-types.hpgtable.hphytium_machine_types.hpointer_auth.hpreempt.hprobes.hproc-fns.hprocessor.hptdump.hptrace.hpvclock-abi.hpvsched-abi.hqspinlock.hresctrl.hrwonce.hscs.hsdei.hseccomp.hsections.hsemihost.hset_memory.hsetup.hshmparam.hsignal.hsignal32.hsignal32_common.hsignal_common.hsignal_ilp32.hsimd.hsmp.hsmp_plat.hsparsemem.hspectre.hspinlock.hspinlock_types.hstack_pointer.hstackprotector.hstacktracestacktrace.hcommon.hnvhe.hstage2_pgtable.hstat.hstring.hsuspend.hsync_bitops.hsyscall.hsyscall_wrapper.hsysreg.hsystem_misc.hthread_info.htimex.htlb.htlbbatch.htlbflush.htopology.htrans_pgd.htraps.huaccess.hunistd.hunistd32.huprobes.hvdsovdso.hclocksource.hcompat_barrier.hcompat_gettimeofday.hgettimeofday.hprocessor.hvsyscall.hvectors.hvermagic.hvirt.hvirtcca_coda.hvirtcca_cvm_guest.hvirtcca_cvm_host.hvirtcca_cvm_smc.hvmalloc.hvmap_stack.hword-at-a-time.hxenevents.hhypercall.hhypervisor.hinterface.hpage.hswiotlb-xen.hxen-ops.hxor.hgeneratedasmbugs.hcpucaps.hdelay.hdiv64.hdma-mapping.hdma.hearly_ioremap.hemergency-restart.hhw_irq.hirq_regs.hkdebug.hkmap_size.hlocal.hlocal64.hmcs_spinlock.hmmiowb.hmsi.hparport.hqrwlock.hserial.hsoftirq_stack.hswitch_to.hsysreg-defs.htrace_clock.hunaligned.huser.hvga.huapiasmerrno.hioctl.hioctls.hipcbuf.hkvm_para.hmsgbuf.hpoll.hresource.hsembuf.hshmbuf.hsiginfo.hsocket.hsockios.hstat.hswab.htermbits.htermios.htypes.huapiasmKbuildauxvec.hbitsperlong.hbpf_perf_event.hbyteorder.hfcntl.hhwcap.hkvm.hmman.hparam.hperf_regs.hposix_types.hptrace.hsetup.hsigcontext.hsignal.hstatfs.hsve_context.hucontext.hunistd.hvirtcca_cvm_tsi.hkernelMakefilepiMakefileprobesMakefilevdsovdso-ilp32MakefileMakefilevdso32MakefilekvmKconfigMakefilehisiliconKconfigMakefilehypMakefilenvheMakefilevheMakefilelibMakefilemmMakefilenetMakefiletoolsMakefilexenMakefilecskyKconfigKconfig.debugKconfig.platformsMakefileabiv1Makefileabiv2MakefilebootMakefiledtsMakefilekernelMakefileprobesMakefilevdsoMakefilelibMakefilemmMakefilehexagonKconfigKconfig.debugMakefilekernelMakefilelibMakefilemmMakefileia64KconfigKconfig.debugMakefilehpcommonMakefilekernelMakefileMakefile.gatesyscallsMakefilelibMakefilemmMakefilepciMakefileuvMakefilekernelMakefileloongarchKconfigKconfig.debugMakefilebootMakefiledtsMakefilecryptoKconfigMakefilekernelMakefilekvmKconfigMakefilelibMakefilemmMakefilenetMakefilepciMakefilepowerMakefilevdsoMakefilem68k68000MakefileKconfigKconfig.busKconfig.cpuKconfig.debugKconfig.devicesKconfig.machineMakefileamigaMakefileapolloMakefileatariMakefilebvme6000MakefilecoldfireMakefileemuMakefilefpsp040Makefilehp300Makefileifpsp060MakefilekernelMakefilesyscallsMakefilelibMakefilemacMakefilemath-emuMakefilemmMakefilemvme147Makefilemvme16xMakefileq40Makefilesun3MakefilepromMakefilesun3xMakefiletoolsamigaMakefilevirtMakefilemicroblazeKconfigKconfig.debugKconfig.platformMakefilebootMakefiledtsMakefilekernelMakefilecpuMakefilesyscallsMakefilelibMakefilemmMakefilepciMakefilemipsKconfigKconfig.debugMakefileMakefile.postlinkalchemyKconfigMakefilecommonMakefiledevboardsMakefilear7Makefileath25KconfigMakefileath79KconfigMakefilebcm47xxKconfigMakefilebcm63xxKconfigMakefileboardsKconfigMakefilebmipsKconfigMakefilebootMakefilecompressedMakefiledtsMakefilebrcmMakefilecavium-octeonMakefileimgMakefileingenicMakefilelantiqMakefileloongsonMakefilemsccMakefilemtiMakefileniMakefilepic32MakefileqcaMakefileralinkMakefilerealtekMakefilexilfpgaMakefiletoolsMakefilecavium-octeonKconfigMakefilecryptoMakefileexecutiveMakefilecobaltMakefilecryptoKconfigMakefiledecMakefilepromMakefilefwarcMakefilecfeMakefilelibMakefilesniMakefilegenericKconfigMakefileingenicKconfigjazzKconfigMakefilekernelMakefilesyscallsMakefilekvmKconfigMakefilelantiqKconfigMakefilefalconMakefilexwayMakefilelibMakefileloongson2efKconfigMakefilecommonMakefilecs5536Makefilefuloong-2eMakefilelemote-2fMakefileloongson32KconfigMakefilecommonMakefilels1bMakefilels1cMakefileloongson64KconfigMakefilemath-emuMakefilemmMakefilemti-maltaMakefilen64MakefilenetMakefilepciMakefilepic32KconfigMakefilecommonMakefilepic32mzdaMakefilepowerMakefileralinkKconfigMakefilerb532Makefilesgi-ip22Makefilesgi-ip27KconfigMakefilesgi-ip30Makefilesgi-ip32MakefilesibyteKconfigMakefilebcm1480MakefilecommonMakefilesb1250MakefileswarmMakefilesniMakefiletoolsMakefiletxx9KconfigMakefilegenericMakefilerbtx4927MakefilevdsoKconfigMakefilenios2KconfigKconfig.debugMakefilebootMakefilecompressedMakefiledtsMakefilekernelMakefilelibMakefilemmMakefileplatformKconfig.platformMakefileopenriscKconfigKconfig.debugMakefilebootMakefiledtsMakefilekernelMakefilelibMakefilemmMakefilepariscKconfigKconfig.debugMakefilebootMakefilecompressedMakefilekernelMakefilesyscallsMakefilevdso32Makefilevdso64MakefilelibMakefilemath-emuMakefilemmMakefilenetMakefilevideoMakefilepowerpcKconfigKconfig.debugMakefileMakefile.postlinkbootMakefiledtsMakefilefslMakefilecryptoKconfigMakefilekernelMakefileptraceMakefilesyscallsMakefiletraceMakefilevdsoMakefilekexecMakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilebook3s32Makefilebook3s64MakefilekasanMakefilenohashMakefileptdumpMakefilenetMakefileperfMakefileplatforms40xKconfigMakefile44xKconfigMakefile4xxMakefile512xKconfigMakefile52xxKconfigMakefile82xxKconfigMakefile83xxKconfigMakefile85xxKconfigMakefile86xxKconfigMakefile8xxKconfigMakefileKconfigKconfig.cputypeMakefileamigaoneKconfigMakefilebook3sKconfigMakefilecellKconfigMakefilespufsMakefilechrpKconfigMakefileembedded6xxKconfigMakefilemapleKconfigMakefilemicrowattKconfigMakefilepasemiKconfigMakefilepowermacKconfigMakefilepowernvKconfigMakefileps3KconfigMakefilepseriesKconfigMakefilepurgatoryMakefilesysdevKconfigMakefilegeMakefilexicsKconfigMakefilexiveKconfigMakefilexmonMakefileriscvKconfigKconfig.debugKconfig.errataKconfig.socsMakefileMakefile.postlinkbootMakefiledtsMakefileallwinnerMakefilecanaanMakefilemicrochipMakefilerenesasMakefilesifiveMakefilestarfiveMakefiletheadMakefileerrataMakefileandesMakefilesifiveMakefiletheadMakefilekernelMakefilecompat_vdsoMakefilepiMakefileprobesMakefilevdsoMakefilekvmKconfigMakefilelibMakefilemmMakefilenetMakefilepurgatoryMakefiles390KconfigKconfig.debugMakefileappldataMakefilebootMakefilecryptoKconfigMakefilehypfsMakefilekernelMakefilesyscallsMakefilevdso32Makefilevdso64MakefilekvmKconfigMakefilelibMakefileexpolineMakefilemmMakefilenetMakefilepciMakefilepurgatoryMakefiletoolsMakefileshKconfigKconfig.cpuKconfig.debugMakefileboardsKconfigMakefilemach-ap325rxaMakefilemach-dreamcastMakefilemach-ecovec24Makefilemach-highlanderKconfigMakefilemach-hp6xxMakefilemach-kfr2r09Makefilemach-landiskMakefilemach-lboxre2Makefilemach-microdevMakefilemach-migorKconfigMakefilemach-r2dKconfigMakefilemach-rskKconfigMakefilemach-sdk7780KconfigMakefilemach-sdk7786Makefilemach-se7206Makefile7343Makefile770xMakefile7721Makefile7722Makefile7724Makefile7751Makefile7780MakefileMakefilemach-sh03Makefilemach-sh7763rdpMakefilemach-x3protoMakefilebootMakefilecompressedMakefiledtsMakefileromimageMakefilecchipsKconfighd6446xMakefiledriversKconfigMakefiledmaKconfigMakefilepciMakefilesuperhywayMakefilekernelMakefilecpuMakefileirqMakefilesh2Makefilesh2aMakefilesh3Makefilesh4Makefilesh4aMakefileshmobileMakefilesyscallsMakefilevsyscallMakefilelibMakefilemath-emuMakefilemmKconfigMakefiletoolsMakefilesparcKconfigKconfig.debugMakefilebootMakefilecryptoKconfigMakefilekernelMakefilesyscallsMakefilelibMakefilemath-emuMakefilemmMakefilenetMakefilepowerMakefilepromMakefilevdsoMakefilevideoMakefilesw_64KconfigKconfig.debugMakefileMakefile.postlinkbootMakefiledtsMakefilekernelMakefilekprobesMakefilesyscallsMakefilevdsoMakefilekvmKconfigMakefilelibKconfigMakefilemath-emuMakefilemmMakefilenetMakefilepciMakefileplatformMakefiletoolsMakefileumKconfigKconfig.debugMakefileMakefile-os-LinuxMakefile-skasdriversKconfigMakefilekernelMakefileskasMakefileos-LinuxMakefiledriversMakefileskasMakefilescriptsMakefile.rulesx86KconfigKconfig.assemblerKconfig.cpuKconfig.debugMakefileMakefile.postlinkMakefile.umMakefile_32.cpubootMakefilecompressedMakefilecocoMakefiletdxMakefilecryptoKconfigMakefileentryMakefilesyscallsMakefilevdsoMakefilevsyscallMakefileeventsKconfigMakefileamdMakefileintelMakefilezhaoxinMakefilehypervMakefileia32MakefilekernelMakefileacpiMakefileapicMakefilecpuMakefilemceMakefilemicrocodeMakefilemtrrMakefileresctrlMakefilesgxMakefilefpuMakefilekprobesMakefilekvmKconfigMakefilelibMakefilemath-emuMakefilemmMakefilepatMakefilenetMakefilepciMakefileplatformMakefileatomMakefilece4100MakefileefiMakefilegeodeMakefileintelintel-midMakefileintel-quarkMakefileMakefileirisMakefileolpcMakefilepvhMakefilescx200Makefilets5500MakefileuvMakefilepowerMakefilepurgatoryMakefilerasKconfigrealmodeMakefilermMakefiletoolsMakefileumKconfigMakefileos-LinuxMakefilevdsoMakefilevideoMakefilexenKconfigMakefilextensaKconfigKconfig.debugMakefilebootMakefileboot-elfMakefileboot-redbootMakefiledtsMakefilelibMakefilekernelMakefilesyscallsMakefilelibMakefilemmMakefileplatformsMakefileissMakefilext2000MakefilextfpgaMakefileblockKconfigKconfig.ioschedMakefilepartitionsKconfigMakefilecertsKconfigMakefilecryptoKconfigMakefileasymmetric_keysKconfigMakefileasync_txKconfigMakefiledriversKconfigMakefileaccelKconfigMakefilehabanalabsKconfigMakefilecommonMakefilemmuMakefilepciMakefilegaudiMakefilegaudi2MakefilegoyaMakefileivpuKconfigMakefileqaicKconfigMakefileaccessibilityKconfigMakefilebrailleMakefilespeakupKconfigMakefileacpiKconfigMakefileacpicaMakefileapeiKconfigMakefilearm64KconfigMakefiledptfKconfigMakefilenfitKconfigMakefilenumaKconfigMakefilepmicKconfigMakefileriscvMakefileambaKconfigMakefileandroidKconfigMakefileataKconfigMakefilepata_parportKconfigMakefileatmKconfigMakefileauxdisplayKconfigMakefilebaseKconfigMakefilefirmware_loaderKconfigMakefilebuiltinMakefilepowerMakefileregmapKconfigMakefiletestKconfigMakefilebcmaKconfigMakefileblockKconfigMakefileaoeMakefiledrbdKconfigMakefilemtip32xxKconfigMakefilenull_blkKconfigMakefilernbdKconfigMakefilexen-blkbackMakefilezramKconfigMakefilebluetoothKconfigMakefilebusKconfigMakefilefsl-mcKconfigMakefilemhiKconfigMakefileepKconfigMakefilehostKconfigMakefilecacheKconfigMakefilecdromMakefilecdxKconfigMakefilecontrollerKconfigMakefilecharKconfigMakefileagpKconfigMakefilehw_randomKconfigMakefileipmiKconfigMakefilemwaveMakefiletpmKconfigMakefilest33zp24KconfigMakefilexilinx_hwicapMakefilexillybusKconfigMakefileclkKconfigMakefileactionsKconfigMakefileanalogbitsKconfigMakefileat91MakefileaxisMakefileaxs10xMakefilebaikal-t1KconfigMakefilebcmKconfigMakefileberlinMakefiledavinciMakefilehisiliconKconfigMakefileimgtecKconfigMakefileimxKconfigMakefileingenicKconfigMakefilekeystoneKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemicrochipKconfigMakefilemmpMakefilemstarKconfigMakefilemvebuKconfigMakefilemxsMakefilenuvotonKconfigMakefilenxpMakefilepistachioKconfigMakefilepxaMakefileqcomKconfigMakefileralinkKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilesifiveKconfigMakefilesocfpgaKconfigMakefilespearMakefilesprdKconfigMakefilestMakefilestarfiveKconfigMakefilestm32Makefilesunxisunxi-ngKconfigMakefileKconfigMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefileux500MakefileversatileKconfigMakefileviscontiKconfigMakefilex86KconfigMakefilexilinxKconfigMakefilezynqMakefilezynqmpKconfigMakefileclocksourceKconfigMakefilecodaKconfigMakefilecomediKconfigMakefiledriversMakefileni_routingtoolsMakefiletestsMakefilekcomedilibMakefileconnectorKconfigMakefilecounterKconfigMakefilecpufreqKconfigKconfig.armKconfig.powerpcKconfig.x86MakefilecpuidleKconfigKconfig.armKconfig.mipsKconfig.powerpcKconfig.riscvMakefilegovernorsMakefilecpuinspectKconfigMakefilecryptoKconfigMakefileallwinnerKconfigMakefilesun4i-ssMakefilesun8i-ceMakefilesun8i-ssMakefileamccMakefileamlogicKconfigMakefileaspeedKconfigMakefileaxisMakefilebcmMakefilecaamKconfigMakefilecaviumMakefilecptKconfigMakefilenitroxKconfigMakefilezipMakefileccpKconfigMakefileccreeMakefilechelsioKconfigMakefilegeminiMakefilehisiliconKconfigMakefilehpreMakefilesecMakefilesec2MakefiletrngMakefilezipMakefileinside-secureMakefileintelKconfigMakefileiaaKconfigMakefileixp4xxKconfigMakefilekeembayKconfigMakefileqatKconfigMakefileqat_420xxMakefileqat_4xxxMakefileqat_c3xxxMakefileqat_c3xxxvfMakefileqat_c62xMakefileqat_c62xvfMakefileqat_commonMakefileqat_dh895xccMakefileqat_dh895xccvfMakefilemarvellKconfigMakefilecesaMakefileocteontxMakefileocteontx2MakefilemontageKconfigMakefiletsseKconfigMakefilenxKconfigMakefileqceMakefilerockchipMakefilestarfiveKconfigMakefilestm32KconfigMakefilevirtioKconfigMakefilevmxKconfigMakefilexilinxMakefilecxlKconfigMakefilecoreMakefiledaxKconfigMakefilehmemMakefilepmemMakefiledcaKconfigMakefiledevfreqKconfigMakefileeventKconfigMakefiledioMakefiledmadma-bufKconfigMakefileheapsKconfigMakefileKconfigMakefilebestcommKconfigMakefiledwdw-axi-dmacMakefiledw-edmaKconfigMakefileKconfigMakefilefsl-dpaa2-qdmaKconfigMakefilehsuKconfigMakefileidxdMakefileioatMakefilelgmKconfigMakefilemediatekKconfigMakefileppc4xxMakefileptdmaKconfigMakefileqcomKconfigMakefilesf-pdmaKconfigMakefileshKconfigMakefiletiKconfigMakefilexilinxMakefileedacKconfigMakefileeisaKconfigMakefileextconKconfigMakefilefirewireKconfigMakefilefirmwareKconfigMakefilearm_ffaKconfigMakefilearm_scmiKconfigMakefilebroadcomKconfigMakefilecirrusKconfigMakefileefiKconfigMakefilelibstubMakefileMakefile.zboottestMakefilegoogleKconfigMakefileimxKconfigMakefilemesonKconfigMakefilepsciKconfigMakefilesmcccKconfigMakefiletegraKconfigMakefilexilinxKconfigMakefilefpgaKconfigMakefiletestsKconfigMakefilefsiKconfigMakefilegnssKconfigMakefilegpioKconfigMakefilegpuMakefiledrmKconfigMakefileamdacpKconfigMakefileamdgpuKconfigMakefileamdkfdKconfigMakefileamdxcpMakefiledisplayKconfigMakefileamdgpu_dmMakefiledcMakefilebasicsMakefilebiosMakefileclk_mgrMakefiledceMakefiledce100Makefiledce110Makefiledce112Makefiledce120Makefiledce60Makefiledce80Makefiledcn10Makefiledcn20Makefiledcn201Makefiledcn21Makefiledcn30Makefiledcn301Makefiledcn302Makefiledcn303Makefiledcn31Makefiledcn314Makefiledcn315Makefiledcn316Makefiledcn32Makefiledcn321MakefiledmlMakefiledscMakefilegpioMakefilehdcpMakefileirqMakefilelinkMakefilevirtualMakefiledmubsrcMakefilemodulescolorMakefilefreesyncMakefilehdcpMakefileinfo_packetMakefilepowerMakefilepmMakefilelegacy-dpmMakefilepowerplayMakefilehwmgrMakefilesmumgrMakefileswsmuMakefilesmu11Makefilesmu12Makefilesmu13MakefilearmKconfigMakefiledisplayKconfigkomedaMakefilearmadaKconfigMakefileaspeedKconfigMakefileastKconfigMakefileatmel-hlcdcKconfigMakefilebridgeKconfigMakefileadv7511KconfigMakefileanalogixKconfigMakefilecadenceKconfigMakefileimxKconfigMakefilesynopsysKconfigMakefiledisplayKconfigMakefileetnavivKconfigMakefileexynosKconfigMakefilefsl-dcuKconfigMakefilegma500KconfigMakefilegudKconfigMakefilehisiliconKconfigMakefilehibmcKconfigMakefilekirinKconfigMakefilehygonhydcu-fixup-headerMakefilehypervMakefilei2cKconfigMakefilei915KconfigKconfig.debugKconfig.profileMakefilegvtMakefileimxKconfigMakefiledcssKconfigMakefileipuv3KconfigMakefilelcdcKconfigMakefileingenicKconfigMakefilekmbKconfigMakefilelimaKconfigMakefilelogicvcKconfigMakefileloongsonKconfigMakefilemcdeKconfigMakefilemediatekKconfigMakefilemesonKconfigMakefilemgag200KconfigMakefilemsmKconfigMakefilemxsfbKconfigMakefilenouveauKconfigomapdrmKconfigMakefilepanelKconfigMakefilepanfrostKconfigMakefilephytiumKconfigMakefilepl111KconfigMakefileqxlKconfigMakefileradeonKconfigMakefilerenesasKconfigMakefilercar-duKconfigMakefileshmobileKconfigMakefilerockchipKconfigMakefileschedulerMakefilesolomonKconfigMakefilesprdKconfigMakefilestiKconfigMakefilestmKconfigMakefilesun4iKconfigMakefiletegraKconfigMakefiletestsMakefiletidssKconfigMakefiletilcdcKconfigMakefiletinyKconfigMakefilettmMakefiletestsMakefiletve200KconfigMakefileudlKconfigMakefilev3dKconfigMakefilevboxvideoKconfigMakefilevc4KconfigMakefilevgemMakefilevirtioKconfigMakefilevkmsMakefilevmwgfxKconfigMakefilexenKconfigMakefilexlnxKconfigMakefilehost1xKconfigMakefileipu-v3KconfigMakefiletraceKconfigMakefilevgaKconfigMakefilegreybusKconfigMakefilehidKconfigMakefileamd-sfh-hidKconfigMakefilebpfKconfigMakefileentrypointsMakefilei2c-hidKconfigMakefileintel-ish-hidKconfigMakefilesurface-hidKconfigMakefileusbhidKconfigMakefilehooksKconfigMakefilehsiKconfigMakefileclientsKconfigMakefilecontrollersKconfigMakefilehteKconfigMakefilehvKconfigMakefilehwmonKconfigMakefileoccKconfigMakefilepeciKconfigMakefilepmbusKconfigMakefilehwspinlockKconfigMakefilehwtracingKconfigcoresightKconfigMakefileintel_thKconfigMakefilepttKconfigMakefilestmKconfigMakefilei2cKconfigMakefilealgosKconfigMakefilebussesKconfigMakefilemuxesKconfigMakefilei3cKconfigMakefilemasterKconfigMakefilemipi-i3c-hciMakefileidleKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileaddacKconfigMakefileafeKconfigMakefileamplifiersKconfigMakefilebufferKconfigMakefilecdcKconfigMakefilechemicalKconfigMakefilecommonKconfigMakefilecros_ec_sensorsKconfigMakefilehid-sensorsKconfigMakefileinv_sensorsKconfigMakefilems_sensorsKconfigMakefilescmi_sensorsKconfigMakefilessp_sensorsKconfigMakefilest_sensorsKconfigMakefiledacKconfigMakefiledummyKconfigMakefilefilterKconfigMakefilefrequencyKconfigMakefilegyroKconfigMakefilehealthKconfigMakefilehumidityKconfigMakefileimuKconfigMakefilebmi160KconfigMakefilebno055KconfigMakefileinv_icm42600KconfigMakefileinv_mpu6050KconfigMakefilest_lsm6dsxKconfigMakefilest_lsm9ds0KconfigMakefilelightKconfigMakefilemagnetometerKconfigMakefilemultiplexerKconfigMakefileorientationKconfigMakefilepositionKconfigMakefilepotentiometerKconfigMakefilepotentiostatKconfigMakefilepressureKconfigMakefileproximityKconfigMakefileresolverKconfigMakefiletemperatureKconfigMakefiletestKconfigMakefiletriggerKconfigMakefileinfinibandKconfigMakefilecoreMakefilehwMakefilebnxt_reKconfigMakefilecxgb4KconfigMakefileefaKconfigMakefileerdmaKconfigMakefilehfi1KconfigMakefilehiroce3KconfigMakefilehnsKconfigMakefileirdmaKconfigMakefilemanaKconfigMakefilemlx4KconfigMakefilemlx5KconfigMakefilemthcaKconfigMakefileocrdmaKconfigMakefileqedrKconfigMakefileqibKconfigMakefileusnicKconfigMakefilevmw_pvrdmaKconfigMakefilexscKconfigMakefileswMakefilerdmavtKconfigMakefilerxeKconfigMakefilesiwKconfigMakefileulpMakefileipoibKconfigMakefileiserKconfigMakefileisertKconfigMakefileopa_vnicKconfigMakefilertrsKconfigMakefilesrpKconfigsrptKconfigMakefileinputKconfigMakefilegameportKconfigMakefilejoystickKconfigMakefileiforceKconfigMakefilekeyboardKconfigMakefilemiscKconfigMakefilemouseKconfigMakefilermi4KconfigMakefileserioKconfigMakefiletabletKconfigMakefiletestsMakefiletouchscreenKconfigMakefileinterconnectKconfigMakefileimxKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefileiommuKconfigMakefileamdKconfigMakefilearmMakefilearm-smmuarm-smmu-v3MakefileMakefileintelKconfigMakefileiommufdKconfigMakefilesw64KconfigMakefileipackKconfigMakefilecarriersKconfigMakefiledevicesKconfigMakefileirqchipKconfigMakefileisdnKconfigMakefilecapiKconfigMakefilehardwareMakefilemISDNKconfigMakefilemISDNKconfigMakefileledsKconfigMakefileblinkKconfigMakefileflashKconfigMakefilergbKconfigMakefilesimpleKconfigMakefiletriggerKconfigMakefilemacintoshKconfigMakefileamsMakefilemailboxKconfigMakefilemcbKconfigMakefilemdKconfigMakefilebcacheKconfigMakefilepersistent-dataKconfigMakefilemediaKconfigMakefilececKconfigMakefilecoreMakefilei2cKconfigMakefileplatformKconfigMakefilecec-gpioMakefilecros-ecMakefilemesonMakefiles5pMakefilesecoMakefilestiMakefilestm32MakefiletegraMakefileusbKconfigMakefilepulse8KconfigMakefilerainshadowKconfigMakefilecommonKconfigMakefileb2c2KconfigMakefilesaa7146KconfigMakefilesianoKconfigMakefilev4l2-tpgKconfigMakefilevideobuf2KconfigMakefiledvb-coreKconfigMakefiledvb-frontendsKconfigMakefilecxd2880KconfigMakefiledrx39xyjKconfigMakefilefirewireKconfigMakefilei2cKconfigMakefileadv748xMakefileccsKconfigMakefilecx25840KconfigMakefileet8ek8KconfigMakefiles5c73m3MakefilemcKconfigMakefilemmcKconfigMakefilesianoKconfigMakefilepciKconfigMakefileb2c2KconfigMakefilebt8xxKconfigMakefilecobaltKconfigMakefilecx18KconfigMakefilecx23885KconfigMakefilecx25821KconfigMakefilecx88KconfigMakefileddbridgeKconfigMakefiledm1105KconfigMakefiledt3155KconfigMakefileintelKconfigMakefileipu3KconfigMakefileivscKconfigMakefileivtvKconfigMakefilemantisKconfigMakefilenetup_unidvbKconfigMakefilengeneKconfigMakefilepluto2KconfigMakefilept1KconfigMakefilept3KconfigMakefilesaa7134KconfigMakefilesaa7146KconfigMakefilesaa7164KconfigMakefilesmipcieKconfigMakefilesolo6x10KconfigMakefilesta2x11KconfigMakefilettpciKconfigMakefiletw5864KconfigMakefiletw68KconfigMakefiletw686xKconfigMakefilezoranKconfigMakefileplatformKconfigMakefileallegro-dvtKconfigMakefileamlogicKconfigMakefilemeson-ge2dKconfigMakefileamphionKconfigMakefileaspeedKconfigMakefileatmelKconfigMakefilecadenceKconfigMakefilechips-mediaKconfigMakefileintelKconfigMakefilemarvellKconfigMakefilemediatekKconfigMakefilejpegKconfigMakefilemdpKconfigMakefilemdp3KconfigMakefilevcodecKconfigMakefilecommonMakefiledecoderMakefileencoderMakefilevpuKconfigMakefilemicrochipKconfigMakefilenvidiaKconfigMakefiletegra-vdeKconfigMakefilenxpKconfigMakefiledw100KconfigMakefileimx-jpegKconfigMakefileimx8-isiKconfigMakefileqcomKconfigMakefilecamssKconfigMakefilevenusKconfigMakefilerenesasKconfigMakefilercar-vinKconfigMakefilerzg2l-cruKconfigMakefilevsp1MakefilerockchipKconfigMakefilergaKconfigMakefilerkisp1KconfigMakefilesamsungKconfigMakefileexynos-gscKconfigMakefileexynos4-isKconfigMakefiles3c-camifKconfigMakefiles5p-g2dKconfigMakefiles5p-jpegKconfigMakefiles5p-mfcKconfigMakefilestKconfigMakefilestiKconfigMakefilebdispKconfigMakefilec8sectpfeKconfigMakefiledeltaKconfigMakefilehvaKconfigMakefilestm32KconfigMakefilesunxiKconfigMakefilesun4i-csiKconfigMakefilesun6i-csiKconfigMakefilesun6i-mipi-csi2KconfigMakefilesun8i-a83t-mipi-csi2KconfigMakefilesun8i-diKconfigMakefilesun8i-rotateKconfigMakefiletiKconfigMakefileam437xKconfigMakefilecalMakefiledavinciKconfigMakefileomapKconfigMakefileomap3ispKconfigMakefilevpeMakefileverisiliconKconfigMakefileviaKconfigMakefilexilinxKconfigMakefileradioKconfigMakefilesi470xKconfigMakefilesi4713KconfigMakefilewl128xKconfigMakefilercKconfigMakefileimg-irKconfigMakefilekeymapsKconfigMakefilespiKconfigMakefiletest-driversKconfigMakefilevicodecKconfigMakefilevidtvKconfigMakefilevimcKconfigMakefilevislKconfigMakefilevividKconfigMakefiletunersKconfigMakefileusbKconfigMakefileairspyKconfigMakefileas102KconfigMakefileau0828KconfigMakefileb2c2KconfigMakefilecx231xxKconfigMakefiledvb-usbdvb-usb-v2KconfigMakefileKconfigMakefileem28xxKconfigMakefilego7007KconfigMakefilegspcaKconfigMakefilegl860KconfigMakefilem5602KconfigMakefilestv06xxKconfigMakefilehackrfKconfigMakefilehdpvrKconfigMakefilemsi2500KconfigMakefilepvrusb2KconfigMakefilepwcKconfigMakefiles2255KconfigMakefilesianoKconfigMakefilestk1160KconfigMakefilettusb-budgetKconfigMakefilettusb-decKconfigMakefileusbtvKconfigMakefileuvcKconfigMakefilev4l2-coreKconfigMakefilememoryKconfigMakefilesamsungKconfigMakefiletegraKconfigMakefilememstickKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemessageMakefilefusionKconfigMakefilemfdKconfigMakefilemiscKconfigMakefilealtera-staplKconfigMakefilebcm-vkKconfigMakefilec2portKconfigMakefilecardreaderKconfigMakefilecb710KconfigMakefilecxlKconfigMakefileechoKconfigMakefileeepromKconfigMakefilegenwqeKconfigMakefileibmasmMakefilelis3lv02dKconfigMakefilelkdtmMakefilemchp_pci1xxxxKconfigMakefilemeiKconfigMakefilegsc_proxyKconfigMakefilehdcpKconfigMakefilepxpKconfigMakefileocxlKconfigMakefilepvpanicKconfigMakefilesgi-gruMakefilesgi-xpMakefileti-stKconfigMakefileuacceKconfigMakefilevmw_vmciKconfigMakefilemmcKconfigMakefilecoreKconfigMakefilehostKconfigMakefilemostKconfigMakefilemtdKconfigMakefilechipsKconfigMakefiledevicesKconfigMakefilehyperbusKconfigMakefilelpddrKconfigMakefilemapsKconfigMakefilenandKconfigMakefileonenandKconfigMakefilerawKconfigMakefileatmelMakefilebcm47xxnflashMakefilebrcmnandKconfigMakefilegpmi-nandMakefileingenicKconfigMakefilespiKconfigMakefileparsersKconfigMakefilespi-norKconfigMakefilecontrollersKconfigMakefiletestsMakefileubiKconfigMakefilemuxKconfigMakefilenetKconfigMakefileappletalkKconfigMakefilearcnetKconfigMakefilebondingMakefilecaifKconfigMakefilecanKconfigMakefilec_canKconfigMakefilecc770KconfigMakefilectucanfdKconfigMakefiledevMakefileflexcanMakefileifi_canfdKconfigMakefilem_canKconfigMakefilemscanKconfigMakefilepeak_canfdKconfigMakefilercarKconfigMakefilesja1000KconfigMakefileslcanMakefilesoftingKconfigMakefilespiKconfigMakefilemcp251xfdKconfigMakefileusbKconfigMakefileetas_es58xMakefilekvaser_usbMakefilepeak_usbMakefiledsaKconfigMakefileb53KconfigMakefilehirschmannKconfigMakefilemicrochipKconfigMakefilemv88e6xxxKconfigMakefileocelotKconfigMakefileqcaKconfigMakefilerealtekKconfigMakefilesja1105KconfigMakefilexrs700xKconfigMakefileethernet3comKconfigMakefile3snicKconfigMakefilesssnicKconfigMakefilenicMakefile8390KconfigMakefileKconfigMakefileactionsKconfigMakefileadaptecKconfigMakefileadiKconfigMakefileaeroflexKconfigMakefileagereKconfigMakefilealacritechKconfigMakefileallwinnerKconfigMakefilealteonKconfigMakefilealteraKconfigMakefileamazonKconfigMakefileenaMakefileamdKconfigMakefilepds_coreMakefilexgbeMakefileapmKconfigMakefilexgenexgene-v2KconfigMakefileKconfigMakefileappleKconfigMakefileaquantiaKconfigMakefileatlanticMakefilearcKconfigMakefileasixKconfigMakefileatherosKconfigMakefilealxMakefileatl1cMakefileatl1eMakefileatlxMakefilebroadcomKconfigMakefileasp2Makefilebnx2xMakefilebnxtMakefilegenetMakefilebrocadeKconfigMakefilebnaKconfigMakefilebzwxKconfigMakefilenceKconfigMakefilecadenceKconfigMakefilecalxedaKconfigMakefilecaviumKconfigMakefilecommonMakefileliquidioMakefileocteonMakefilethunderMakefilechelsioKconfigMakefilecxgbMakefilecxgb3Makefilecxgb4Makefilecxgb4vfMakefileinline_cryptoKconfigMakefilech_ipsecMakefilech_ktlsMakefilechtlsMakefilelibcxgbMakefilecirrusKconfigMakefileciscoKconfigMakefileenicKconfigMakefilecortinaKconfigMakefiledavicomKconfigMakefiledecKconfigMakefiletulipKconfigMakefiledlinkKconfigMakefileemulexKconfigMakefilebenetKconfigMakefileenglederKconfigMakefileezchipKconfigMakefilefaradayKconfigMakefilefreescaleKconfigMakefiledpaaKconfigMakefiledpaa2KconfigMakefileenetcKconfigMakefilefmanKconfigMakefilefs_enetKconfigMakefilefujitsuKconfigMakefilefungibleKconfigMakefilefuncoreMakefilefunethKconfigMakefilegoogleKconfigMakefilegveMakefilehisiliconKconfigMakefilehnsMakefilehns3MakefilehuaweiKconfigMakefilebmaKconfigMakefilecdev_drvMakefilecdev_veth_drvMakefileedma_drvMakefilekbox_drvMakefileveth_drvMakefilehinicKconfigMakefilehinic3KconfigMakefilei825xxKconfigMakefileibmKconfigMakefileeheaMakefileemacKconfigMakefileintelKconfigMakefilee1000Makefilee1000eMakefilefm10kMakefilei40eMakefileiavfMakefileiceMakefileigbMakefileigbvfMakefileigcMakefileixgbeMakefileixgbevfMakefilelitexKconfigMakefilemarvellKconfigMakefilemvpp2Makefileocteon_epKconfigMakefileocteontx2KconfigMakefileafMakefilenicMakefilepresteraKconfigMakefilemediatekKconfigMakefilemellanoxKconfigMakefilemlx4KconfigMakefilemlx5coreKconfigMakefileeswMakefilesteeringMakefilemlxbf_gigeKconfigMakefilemlxfwKconfigMakefilemlxswKconfigMakefilemicrelKconfigMakefilemicrochipKconfigMakefilelan966xKconfigMakefilesparx5KconfigMakefilevcapKconfigMakefilemicrosoftKconfigMakefilemanaMakefilemoxaKconfigMakefilemsccKconfigMakefilemucseKconfigMakefilernpMakefilernpgbeMakefilernpgbevfMakefilernpmMakefilernpvfMakefilemyricomKconfigMakefilemyri10geMakefilenatsemiKconfigMakefilenebula-matrixKconfigMakefilenblMakefileneterionKconfigMakefilenetronomeKconfigMakefilenfpMakefileniKconfigMakefilenvidiaKconfigMakefilenxpKconfigMakefileoki-semiKconfigMakefilepch_gbeKconfigMakefilepacketenginesKconfigMakefilepasemiKconfigMakefilepensandoKconfigMakefileionicMakefileqlogicKconfigMakefilenetxenMakefileqedMakefileqedeMakefileqlcnicMakefilequalcommKconfigMakefileemacMakefilermnetKconfigMakefilerdcKconfigMakefilerealtekKconfigMakefilerenesasKconfigMakefilerockerKconfigMakefilesamsungKconfigMakefilesxgbeMakefileseeqKconfigMakefilesfcKconfigMakefilefalconKconfigMakefilesienaKconfigMakefilesgiKconfigMakefilesilanKconfigMakefilesisKconfigMakefilesmscKconfigMakefilesocionextKconfigMakefilestmicroKconfigMakefilestmmacKconfigMakefilesunKconfigMakefilesunplusKconfigMakefilesynopsysKconfigMakefiletehutiKconfigMakefiletiKconfigMakefiletoshibaKconfigMakefiletundraKconfigMakefilevertexcomKconfigMakefileviaKconfigMakefilewangxunKconfigMakefilelibwxMakefilengbeMakefiletxgbeMakefilewiznetKconfigMakefilexilinxKconfigMakefilexircomKconfigMakefilexscaleKconfigMakefileyunsiliconKconfigMakefilexscnetKconfigMakefilepciKconfigMakefilefddiKconfigMakefileskfpMakefilefjesMakefilehamradioKconfigMakefilehippiKconfigMakefilehypervKconfigMakefileieee802154KconfigMakefileipaKconfigMakefileipvlanMakefilemctpKconfigMakefilemdioKconfigMakefilenetdevsimMakefilepcsKconfigMakefilephyKconfigMakefilemsccMakefileplipKconfigMakefilepppKconfigMakefilepse-pdKconfigMakefileslipKconfigMakefileteamKconfigMakefilethunderboltKconfigMakefileusbKconfigMakefilevmxnet3MakefilevxlanMakefilewanKconfigMakefilewireguardMakefilewirelessKconfigMakefileadmtekKconfigMakefileathKconfigMakefilear5523KconfigMakefileath10kKconfigMakefileath11kKconfigMakefileath12kKconfigMakefileath5kKconfigMakefileath6klKconfigMakefileath9kKconfigMakefilecarl9170KconfigMakefilewcn36xxKconfigMakefilewil6210KconfigMakefileatmelKconfigMakefilebroadcomKconfigMakefileb43KconfigMakefileb43legacyKconfigMakefilebrcm80211KconfigMakefilebrcmfmacKconfigMakefilebcaMakefilecywMakefilewccMakefilebrcmsmacMakefilebrcmutilMakefileciscoKconfigMakefileintelKconfigMakefileipw2x00KconfigMakefileiwlegacyKconfigMakefileiwlwifiKconfigMakefiledvmMakefilemeiMakefilemvmMakefileintersilKconfigMakefilehostapKconfigMakefileorinocoKconfigMakefilep54KconfigMakefilelegacyKconfigMakefilemarvellKconfigMakefilelibertasKconfigMakefilelibertas_tfKconfigMakefilemwifiexKconfigMakefilemediatekKconfigMakefilemt76KconfigMakefilemt7603KconfigMakefilemt7615KconfigMakefilemt76x0KconfigMakefilemt76x2KconfigMakefilemt7915KconfigMakefilemt7921KconfigMakefilemt7996KconfigMakefilemt7601uKconfigMakefilemicrochipKconfigMakefilewilc1000KconfigMakefilepurelifiKconfigMakefileplfxlcKconfigMakefilequantennaKconfigMakefileqtnfmacKconfigMakefileralinkKconfigMakefilert2x00KconfigMakefilerealtekKconfigMakefilertl818xKconfigMakefilertl8180Makefilertl8187Makefilertl8xxxuKconfigMakefilertlwifiKconfigMakefilebtcoexistMakefilertl8188eeMakefilertl8192cMakefilertl8192ceMakefilertl8192cuMakefilertl8192deMakefilertl8192eeMakefilertl8192seMakefilertl8723aeMakefilertl8723beMakefilertl8723comMakefilertl8821aeMakefilertw88KconfigMakefilertw89KconfigMakefilersiKconfigMakefilesilabsKconfigMakefilewfxKconfigMakefilestKconfigMakefilecw1200KconfigMakefiletiKconfigMakefilewl1251KconfigMakefilewl12xxKconfigMakefilewl18xxKconfigMakefilewlcoreKconfigMakefilevirtualKconfigMakefilezydasKconfigMakefilezd1211rwKconfigMakefilewwanKconfigMakefileiosmMakefilet7xxMakefilexen-netbackMakefilenfcKconfigMakefilefdpKconfigMakefilemicroreadKconfigMakefilenfcmrvlKconfigMakefilenxp-nciKconfigMakefilepn533KconfigMakefilepn544KconfigMakefiles3fwrn5KconfigMakefilest-nciKconfigMakefilest21nfcaKconfigMakefilest95hfKconfigMakefilentbKconfigMakefilehwKconfigMakefileamdKconfigMakefileepfKconfigMakefileidtKconfigMakefileintelKconfigMakefilemsccKconfigMakefiletestKconfigMakefilenubusMakefilenvdimmKconfigMakefilenvmeKconfigMakefilecommonKconfigMakefilehostKconfigMakefiletargetKconfigMakefilenvmemKconfigMakefilelayoutsKconfigMakefileofKconfigMakefileunittest-dataMakefileoppKconfigMakefilepariscKconfigMakefileparportKconfigMakefilepciKconfigMakefilecontrollerKconfigMakefilecadenceKconfigMakefiledwcKconfigMakefilemobiveilKconfigMakefileendpointKconfigMakefilefunctionsKconfigMakefilehotplugKconfigMakefilemsiMakefilepcieKconfigMakefileswitchKconfigMakefilepcmciaKconfigMakefilepeciKconfigMakefilecontrollerKconfigMakefileperfKconfigMakefileamlogicKconfigMakefilearm_cspmuKconfigMakefilehisiliconKconfigMakefilephyKconfigMakefileallwinnerKconfigMakefileamlogicKconfigMakefilebroadcomKconfigMakefilecadenceKconfigMakefilefreescaleKconfigMakefilehisiliconKconfigMakefileingenicKconfigMakefileintelKconfigMakefilelantiqKconfigMakefilemarvellKconfigMakefilemediatekKconfigMakefilemicrochipKconfigMakefilemotorolaKconfigMakefilemsccKconfigMakefilequalcommKconfigMakefileralinkKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilesocionextKconfigMakefilestKconfigMakefilestarfiveKconfigMakefilesunplusKconfigMakefiletegraKconfigMakefiletiKconfigMakefilexilinxKconfigMakefilepinctrlKconfigMakefileactionsKconfigMakefileaspeedKconfigMakefilebcmKconfigMakefileberlinKconfigMakefilecirrusKconfigMakefilefreescaleKconfigMakefileintelKconfigKconfig.tngMakefilemediatekKconfigMakefilemesonKconfigMakefilemvebuKconfigMakefilenomadikKconfigMakefilenuvotonKconfigMakefilenxpKconfigMakefilepxaKconfigMakefileqcomKconfigKconfig.msmMakefilerenesasKconfigMakefilesamsungKconfigMakefilespearKconfigMakefilesprdKconfigMakefilestarfiveKconfigMakefilestm32KconfigMakefilesunplusKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefileviscontiKconfigMakefilevt8500KconfigMakefilezhaoxinKconfigMakefileplatformKconfigMakefilechromeKconfigMakefilewilco_ecKconfigMakefilegoldfishKconfigMakefileloongarchKconfigMakefilemellanoxKconfigMakefilemipsKconfigMakefilempamKconfigMakefileolpcKconfigMakefilesurfaceKconfigMakefileaggregatorKconfigMakefilesw64Makefilex86KconfigMakefileamdKconfigMakefilepmcKconfigMakefilepmfKconfigMakefiledellKconfigMakefiledell-wmi-sysmanMakefilehpKconfigMakefilehp-bioscfgMakefileintelKconfigMakefileatomisp2KconfigMakefileifsKconfigMakefileint1092KconfigMakefileint3472KconfigMakefilepmcKconfigMakefilepmtKconfigMakefilespeed_select_ifKconfigMakefiletelemetryKconfigMakefileuncore-frequencyKconfigMakefilewmiKconfigMakefilesiemensKconfigMakefilex86-android-tabletsKconfigMakefilepmdomainMakefileactionsMakefileamlogicMakefileappleMakefilebcmMakefileimxMakefilemediatekMakefileqcomMakefilerenesasMakefilerockchipMakefilesamsungMakefilestMakefilestarfiveMakefilesunxiMakefiletegraMakefiletiMakefilexilinxMakefilepnpKconfigMakefileisapnpKconfigMakefilepnpacpiKconfigMakefilepnpbiosKconfigMakefilepowerKconfigMakefileresetKconfigMakefilesupplyKconfigMakefilepowercapKconfigMakefileppsKconfigMakefileclientsKconfigMakefilegeneratorsKconfigMakefileps3MakefileptpKconfigMakefilepwmKconfigMakefilerapidioKconfigMakefiledevicesKconfigMakefileswitchesKconfigMakefilerasKconfigMakefileamdatlKconfigMakefilehisiliconKconfigMakefileregulatorKconfigMakefileremoteprocKconfigMakefileresetKconfigMakefilehisiliconKconfigMakefilestarfiveKconfigMakefilestiKconfigMakefiletegraKconfigMakefilerohKconfigMakefilecoreMakefilehwMakefilehns3KconfigMakefilerpmsgKconfigMakefilertcKconfigMakefiles390MakefileblockKconfigMakefilecharKconfigMakefilecioMakefilecryptoMakefilenetKconfigMakefilescsiMakefilevirtioMakefilesbusMakefilecharKconfigMakefilescsiKconfigMakefileaacraidMakefileaic7xxxKconfig.aic79xxKconfig.aic7xxxMakefileaicasmMakefileaic94xxKconfigMakefilearcmsrMakefilearmKconfigMakefilebe2iscsiKconfigMakefilebfaMakefilebnx2fcKconfigMakefilebnx2iKconfigMakefilecsiostorKconfigMakefilecxgbiKconfigMakefilecxgb3iKconfigcxgb4iKconfigcxlflashKconfigMakefiledevice_handlerKconfigMakefileelxKconfigMakefileesas2rKconfigMakefilefcoeMakefilefnicMakefilehisi_raidKconfigMakefilehisi_sasKconfigMakefileibmvscsiMakefileibmvscsi_tgtMakefileisciMakefilelibfcMakefilelibsasKconfigMakefilelpfcMakefilemegaraidKconfig.megaraidMakefilempi3mrKconfigMakefilempt3sasKconfigMakefilemvsasKconfigMakefilepcmciaKconfigMakefilepm8001MakefileqedfKconfigMakefileqediKconfigMakefileqla2xxxKconfigMakefileqla4xxxKconfigMakefilesmartpqiKconfigMakefilesnicMakefilesssraidKconfigMakefilesym53c8xx_2MakefileshKconfigMakefileclkMakefileintcKconfigMakefilemapleMakefilesuperhywayMakefilesioxKconfigMakefileslimbusKconfigMakefilesocKconfigMakefileactionsKconfigamlogicKconfigMakefileappleKconfigMakefileaspeedKconfigMakefileatmelKconfigMakefilebcmKconfigMakefilebrcmstbKconfigMakefilepmMakefilecanaanKconfigMakefiledoveMakefilefslKconfigMakefiledpioMakefileqbmanKconfigMakefileqeKconfigMakefilefujitsuKconfigMakefilegeminiMakefilehisiliconKconfigMakefileimxKconfigMakefileixp4xxKconfigMakefilelantiqMakefilelitexKconfigMakefileloongsonKconfigMakefilemediatekKconfigMakefilemicrochipKconfigMakefilenuvotonKconfigMakefilepxaKconfigMakefileqcomKconfigMakefilerenesasKconfigMakefilerockchipKconfigMakefilesamsungKconfigMakefilesifiveKconfigMakefilestarfiveKconfigsunxiKconfigMakefiletegraKconfigMakefilecbbMakefilefuseMakefiletiKconfigMakefileux500KconfigMakefileversatileKconfigMakefilexilinxKconfigMakefilesoundwireKconfigMakefilespiKconfigMakefilespmiKconfigMakefilessbKconfigMakefilestagingKconfigMakefileaxis-fifoKconfigMakefileboardKconfigMakefileemxx_udcKconfigMakefilefbtftKconfigMakefilefieldbusKconfigMakefileanybussKconfigMakefilegdm724xKconfigMakefilegreybusKconfigMakefileiioKconfigMakefileaccelKconfigMakefileadcKconfigMakefileaddacKconfigMakefilefrequencyKconfigMakefileimpedance-analyzerKconfigMakefileresolverKconfigMakefileks7010KconfigMakefilemediaKconfigMakefileatomispKconfigMakefilei2cKconfigMakefileov5693Makefileav7110KconfigMakefiledeprecatedatmelKconfigMakefileimxKconfigMakefileipu3KconfigMakefilemax96712KconfigMakefilemesonvdecKconfigMakefileomap4issKconfigMakefilerkvdecKconfigMakefilesunxiKconfigMakefilecedrusKconfigMakefilesun6i-ispKconfigMakefiletegra-videoKconfigMakefilemostKconfigMakefiledim2KconfigMakefilei2cKconfigMakefilenetKconfigMakefilevideoKconfigMakefilenvecKconfigMakefileocteonKconfigMakefileolpc_dconKconfigMakefilepi433KconfigMakefileqlgeKconfigMakefilertl8192eKconfigMakefilertl8192eKconfigMakefilertl8192uKconfigMakefilertl8712KconfigMakefilertl8723bsKconfigMakefilerts5208KconfigMakefilesm750fbKconfigMakefilevc04_servicesKconfigMakefilebcm2835-audioKconfigMakefilebcm2835-cameraKconfigMakefilevchiq-mmalKconfigMakefilevme_userKconfigMakefilevt6655KconfigMakefilevt6656KconfigMakefilewlan-ngKconfigMakefiletargetKconfigMakefileiscsiKconfigMakefilecxgbitKconfigMakefileloopbackKconfigMakefilesbpKconfigMakefiletcm_fcKconfigMakefiletcm_remoteKconfigMakefiletcMakefileteeKconfigMakefileamdteeKconfigMakefileopteeKconfigMakefilethermalKconfigMakefilebroadcomKconfigMakefileintelKconfigMakefileint340x_thermalKconfigMakefilemediatekKconfigMakefileqcomKconfigMakefilesamsungKconfigMakefilestKconfigMakefiletegraKconfigMakefileti-soc-thermalKconfigMakefilethunderboltKconfigMakefilettyKconfigMakefilehvcKconfigMakefileipwirelessMakefileserdevKconfigMakefileserial8250KconfigMakefileKconfigMakefilejsmMakefilevtMakefileufsKconfigMakefilecoreKconfigMakefilehostKconfigMakefileuioKconfigMakefileusbKconfigMakefileatmKconfigMakefilec67x00Makefilecdns3KconfigMakefilechipideaKconfigMakefileclassKconfigMakefilecommonKconfigMakefilecoreKconfigMakefiledwc2KconfigMakefiledwc3KconfigMakefileearlyMakefilefotg210KconfigMakefilegadgetKconfigMakefilefunctionMakefilelegacyKconfigMakefileudcKconfigMakefileaspeed-vhubKconfigMakefilebdcKconfigMakefilecdns2KconfigMakefilehostKconfigMakefileimageKconfigMakefileisp1760KconfigMakefilemiscKconfigMakefilesisusbvgaKconfigMakefilemonKconfigMakefilemtu3KconfigMakefilemusbKconfigMakefilephyKconfigMakefilerenesas_usbhsKconfigMakefilerolesKconfigMakefileserialKconfigMakefileMakefile-keyspan_pda_fwstorageKconfigMakefiletypecKconfigMakefilealtmodesKconfigMakefilemuxKconfigMakefiletcpmKconfigMakefileqcomMakefiletipdKconfigMakefileucsiKconfigMakefileusbipKconfigMakefilevdpaKconfigMakefilealibabaMakefileifcvfMakefilemlx5MakefilepdsMakefilesolidrunMakefilevdpa_simMakefilevdpa_userMakefilevirtio_pciMakefilevfioKconfigMakefilecdxKconfigMakefilefsl-mcKconfigMakefilemdevKconfigMakefilepciKconfigMakefilehisiliconKconfigMakefilemlx5KconfigMakefilepdsKconfigMakefileqatKconfigMakefileplatformKconfigMakefileresetKconfigMakefilevhostKconfigMakefilevideoKconfigMakefilebacklightKconfigMakefileconsoleKconfigMakefilefbdevKconfigMakefileatyMakefilecoreKconfigMakefilegeodeKconfigMakefilei810MakefileintelfbMakefilekyroMakefilematroxMakefilemb862xxMakefilemmpKconfigMakefilefbKconfigMakefilehwKconfigMakefilepanelKconfigMakefilenvidiaMakefileomapKconfigMakefileomap2KconfigMakefileomapfbKconfigMakefiledisplaysKconfigMakefiledssKconfigMakefilerivaMakefilesavageMakefilesisMakefilevermilionMakefileviaMakefilelogoKconfigMakefilevirtKconfigMakefileacrnKconfigMakefilecococsv-guestKconfigMakefileefi_secretKconfigMakefilesev-guestKconfigMakefiletdx-guestKconfigMakefilenitro_enclavesKconfigMakefilevboxguestKconfigMakefilevirtioKconfigMakefilevlynqKconfigMakefilew1KconfigMakefilemastersKconfigMakefileslavesKconfigMakefilewatchdogKconfigMakefilexenKconfigMakefileeventsMakefilexen-pcibackMakefilexenbusMakefilexenfsMakefilezorroKconfigMakefilefs9pKconfigMakefileKconfigKconfig.binfmtMakefileadfsKconfigMakefileaffsKconfigMakefileafsKconfigMakefileautofsKconfigMakefilebefsKconfigMakefilebfsKconfigMakefilebtrfsKconfigMakefilecachefilesKconfigMakefilecephKconfigMakefilecodaKconfigMakefileconfigfsKconfigMakefilecramfsKconfigMakefilecryptoKconfigMakefiledebugfsMakefiledevptsMakefiledlmKconfigMakefileecryptfsKconfigMakefileefivarfsKconfigMakefileefsKconfigMakefileerofsKconfigMakefileexfatKconfigMakefileexportfsMakefileext2KconfigMakefileext4KconfigMakefilef2fsKconfigMakefilefatKconfigMakefilefreevxfsKconfigMakefilefscacheKconfigMakefilefuseKconfigMakefilegfs2KconfigMakefilehfsKconfigMakefilehfsplusKconfigMakefilehostfsMakefilehpfsKconfigMakefilehugetlbfsMakefileiomapMakefileisofsKconfigMakefilejbd2KconfigMakefilejffs2KconfigMakefilejfsKconfigMakefilekernfsKconfigMakefilelockdMakefileminixKconfigMakefilenetfsKconfigMakefilenfsKconfigMakefileblocklayoutMakefilefilelayoutMakefileflexfilelayoutMakefilenfs_commonMakefilenfsdKconfigMakefilenilfs2KconfigMakefilenlsKconfigMakefilenotifyKconfigMakefilednotifyKconfigMakefilefanotifyKconfigMakefileinotifyKconfigMakefilentfsKconfigMakefilentfs3KconfigMakefileocfs2KconfigMakefileclusterMakefiledlmMakefiledlmfsMakefileomfsKconfigMakefileopenpromfsMakefileorangefsKconfigMakefileoverlayfsKconfigMakefileprocKconfigMakefilepstoreKconfigMakefileqnx4KconfigMakefileqnx6KconfigMakefilequotaKconfigMakefileramfsMakefilereiserfsKconfigMakefileresctrlKconfigMakefileromfsKconfigMakefilesmbKconfigMakefileclientKconfigMakefilecommonMakefileserverKconfigMakefilesquashfsKconfigMakefilesysfsKconfigMakefilesysvKconfigMakefiletracefsMakefileubifsKconfigMakefileudfKconfigMakefileufsKconfigMakefileunicodeKconfigMakefilevboxsfKconfigMakefileverityKconfigMakefilexfsKconfigMakefilezonefsKconfigMakefileincludeacpiacbuffer.hacconfig.hacexcep.hacnames.hacoutput.hacpi.hacpi_bus.hacpi_drivers.hacpi_io.hacpi_lpat.hacpi_numa.hacpiosxf.hacpixf.hacrestyp.hactbl.hactbl1.hactbl2.hactbl3.hactypes.hacuuid.hapei.hbattery.hbutton.hcppc_acpi.hghes.hhed.hnfit.hpcc.hpdc_sw64.hplatformacenv.hacenvex.hacgcc.hacgccex.haclinux.haclinuxex.haczephyr.hproc_cap_intel.hprocessor.hreboot.hvideo.hasm-genericKbuildaccess_ok.hagp.harchrandom.hasm-offsets.hasm-prototypes.hatomic.hatomic64.haudit_change_attr.haudit_dir_write.haudit_read.haudit_signal.haudit_write.hbarrier.hbitopsbitops.h__ffs.h__fls.harch_hweight.hatomic.hbuiltin-__ffs.hbuiltin-__fls.hbuiltin-ffs.hbuiltin-fls.hconst_hweight.hext2-atomic-setbit.hext2-atomic.hffs.hffz.hfls.hfls64.hgeneric-non-atomic.hhweight.hinstrumented-atomic.hinstrumented-lock.hinstrumented-non-atomic.hle.hlock.hnon-atomic.hnon-instrumented-non-atomic.hsched.hbitsperlong.hbug.hcache.hcacheflush.hchecksum.hcmpxchg-local.hcmpxchg.hcompat.hcurrent.hdelay.hdevice.hdiv64.hdma-mapping.hdma.hearly_ioremap.hemergency-restart.herror-injection.hexec.hexport.hextable.hfb.hfixmap.hflat.hftrace.hfutex.hgetorder.hhardirq.hhugetlb.hhw_irq.hhyperv-tlfs.hint-ll64.hio.hioctl.hiomap.hirq.hirq_regs.hirq_work.hirqflags.hkdebug.hkmap_size.hkprobes.hkvm_para.hkvm_types.hlinkage.hlocal.hlocal64.hlogic_io.hmcs_spinlock.hmemory_model.hmm_hooks.hmmiowb.hmmiowb_types.hmmu.hmmu_context.hmodule.hmodule.lds.hmshyperv.hmsi.hnommu_context.hnuma.hpage.hparam.hparport.hpci.hpci_iomap.hpercpu.hpgalloc.hpgtable-nop4d.hpgtable-nopmd.hpgtable-nopud.hpgtable_uffd.hpreempt.hqrwlock.hqrwlock_types.hqspinlock.hqspinlock_types.hresource.hrwonce.hseccomp.hsections.hserial.hset_memory.hshmparam.hsignal.hsimd.hsoftirq_stack.hspinlock.hspinlock_types.hstatfs.hstring.hswitch_to.hsyscall.hsyscalls.htimex.htlb.htlbflush.htopology.htrace_clock.huaccess.hunaligned.huser.hvdsovsyscall.hvermagic.hvga.hvmlinux.lds.hvtime.hword-at-a-time.hxor.hclocksourcearm_arch_timer.hhyperv_timer.hpxa.hsamsung_pwm.htimer-davinci.htimer-goldfish.htimer-riscv.htimer-ti-dm.htimer-xilinx.hconfig64BIT6LOWPAN8139CP8139TOO8139TOO_81299P_FS9P_FSCACHE9P_FS_POSIX_ACL9P_FS_SECURITYAARCH32_EL0ACPIACPI_ACACPI_AGDIACPI_APEIACPI_APEI_EINJACPI_APEI_GHESACPI_APEI_MEMORY_FAILUREACPI_APEI_PCIEAERACPI_APEI_SEAACPI_APMTACPI_BATTERYACPI_BUTTONACPI_CCA_REQUIREDACPI_CONTAINERACPI_CPPC_CPUFREQACPI_CPPC_CPUFREQ_FIEACPI_CPPC_LIBACPI_FANACPI_FFHACPI_GENERIC_GSIACPI_GTDTACPI_HEDACPI_HMATACPI_HOTPLUG_MEMORYACPI_I2C_OPREGIONACPI_IORTACPI_IPMIACPI_MCFGACPI_MDIOACPI_MPAMACPI_NFITACPI_NUMAACPI_PCCACPI_PCI_SLOTACPI_PPTTACPI_PRMTACPI_PROCESSORACPI_PROCESSOR_IDLEACPI_REDUCED_HARDWARE_ONLYACPI_SPCR_TABLEACPI_TABLE_LIBACPI_TABLE_UPGRADEACPI_THERMALACPI_VIDEOADVISE_SYSCALLSAF_UNIX_OOBAHCI_XGENEAIOALIM7101_WDTALTERA_STAPLALXAMD_PHYAMD_XGBEAMIGA_PARTITIONAMPERE_ERRATUM_AC03_CPU_38APDS9802ALSAPERTURE_HELPERSAQUANTIA_PHYARCH_BINFMT_ELF_EXTRA_PHDRSARCH_BINFMT_ELF_STATEARCH_CORRECT_STACKTRACE_ON_KRETPROBEARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIGARCH_DMA_ADDR_T_64BITARCH_ENABLE_HUGEPAGE_MIGRATIONARCH_ENABLE_MEMORY_HOTPLUGARCH_ENABLE_MEMORY_HOTREMOVEARCH_ENABLE_SPLIT_PMD_PTLOCKARCH_ENABLE_THP_MIGRATIONARCH_FORCE_MAX_ORDERARCH_HAS_ACPI_TABLE_UPGRADEARCH_HAS_CACHE_LINE_SIZEARCH_HAS_COPY_MCARCH_HAS_CPU_RESCTRLARCH_HAS_CURRENT_STACK_POINTERARCH_HAS_DEBUG_VIRTUALARCH_HAS_DEBUG_VM_PGTABLEARCH_HAS_DEBUG_WXARCH_HAS_DMA_PREP_COHERENTARCH_HAS_ELF_RANDOMIZEARCH_HAS_FAST_MULTIPLIERARCH_HAS_FORTIFY_SOURCEARCH_HAS_GCOV_PROFILE_ALLARCH_HAS_GIGANTIC_PAGEARCH_HAS_KCOVARCH_HAS_KEEPINITRDARCH_HAS_MEMBARRIER_SYNC_COREARCH_HAS_NMI_SAFE_THIS_CPU_OPSARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACEARCH_HAS_PMEM_APIARCH_HAS_PTE_DEVMAPARCH_HAS_PTE_SPECIALARCH_HAS_RELRARCH_HAS_SETUP_DMA_OPSARCH_HAS_SET_DIRECT_MAPARCH_HAS_SET_MEMORYARCH_HAS_STRICT_KERNEL_RWXARCH_HAS_STRICT_MODULE_RWXARCH_HAS_SYNC_DMA_FOR_CPUARCH_HAS_SYNC_DMA_FOR_DEVICEARCH_HAS_SYSCALL_WRAPPERARCH_HAS_TEARDOWN_DMA_OPSARCH_HAS_TICK_BROADCASTARCH_HAS_UACCESS_FLUSHCACHEARCH_HAS_UBSAN_SANITIZE_ALLARCH_HAS_ZONE_DMA_SETARCH_HAVE_ELF_PROTARCH_HAVE_NMI_SAFE_CMPXCHGARCH_HAVE_TRACE_MMIO_ACCESSARCH_HIBERNATION_HEADERARCH_HIBERNATION_POSSIBLEARCH_HISIARCH_INLINE_READ_LOCKARCH_INLINE_READ_LOCK_BHARCH_INLINE_READ_LOCK_IRQARCH_INLINE_READ_LOCK_IRQSAVEARCH_INLINE_READ_UNLOCKARCH_INLINE_READ_UNLOCK_BHARCH_INLINE_READ_UNLOCK_IRQARCH_INLINE_READ_UNLOCK_IRQRESTOREARCH_INLINE_SPIN_LOCKARCH_INLINE_SPIN_LOCK_BHARCH_INLINE_SPIN_LOCK_IRQARCH_INLINE_SPIN_LOCK_IRQSAVEARCH_INLINE_SPIN_TRYLOCKARCH_INLINE_SPIN_TRYLOCK_BHARCH_INLINE_SPIN_UNLOCKARCH_INLINE_SPIN_UNLOCK_BHARCH_INLINE_SPIN_UNLOCK_IRQARCH_INLINE_SPIN_UNLOCK_IRQRESTOREARCH_INLINE_WRITE_LOCKARCH_INLINE_WRITE_LOCK_BHARCH_INLINE_WRITE_LOCK_IRQARCH_INLINE_WRITE_LOCK_IRQSAVEARCH_INLINE_WRITE_UNLOCKARCH_INLINE_WRITE_UNLOCK_BHARCH_INLINE_WRITE_UNLOCK_IRQARCH_INLINE_WRITE_UNLOCK_IRQRESTOREARCH_KEEP_MEMBLOCKARCH_LLC_128_LINE_SIZEARCH_MHP_MEMMAP_ON_MEMORY_ENABLEARCH_MMAP_RND_BITSARCH_MMAP_RND_BITS_MAXARCH_MMAP_RND_BITS_MINARCH_MMAP_RND_COMPAT_BITSARCH_MMAP_RND_COMPAT_BITS_MAXARCH_MMAP_RND_COMPAT_BITS_MINARCH_PHYTIUMARCH_PROC_KCORE_TEXTARCH_QCOMARCH_SEATTLEARCH_SELECTS_KEXEC_FILEARCH_SPARSEMEM_ENABLEARCH_STACKWALKARCH_SUPPORTS_ACPIARCH_SUPPORTS_ATOMIC_RMWARCH_SUPPORTS_CFI_CLANGARCH_SUPPORTS_CRASH_DUMPARCH_SUPPORTS_DEBUG_PAGEALLOCARCH_SUPPORTS_HUGETLBFSARCH_SUPPORTS_INT128ARCH_SUPPORTS_KEXECARCH_SUPPORTS_KEXEC_FILEARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIGARCH_SUPPORTS_KEXEC_SIGARCH_SUPPORTS_LTO_CLANGARCH_SUPPORTS_LTO_CLANG_THINARCH_SUPPORTS_MEMORY_FAILUREARCH_SUPPORTS_NUMA_BALANCINGARCH_SUPPORTS_PAGE_TABLE_CHECKARCH_SUPPORTS_PER_VMA_LOCKARCH_SUPPORTS_PGO_CLANGARCH_SUPPORTS_SHADOW_CALL_STACKARCH_SUPPORTS_UPROBESARCH_SUSPEND_POSSIBLEARCH_THUNDERARCH_THUNDER2ARCH_USE_CMPXCHG_LOCKREFARCH_USE_GNU_PROPERTYARCH_USE_MEMREMAP_PROTARCH_USE_MEMTESTARCH_USE_QUEUED_RWLOCKSARCH_USE_QUEUED_SPINLOCKSARCH_USE_SYM_ANNOTATIONSARCH_VCPU_STATARCH_VEXPRESSARCH_WANTS_NO_INSTRARCH_WANTS_THP_SWAPARCH_WANT_BATCHED_UNMAP_TLB_FLUSHARCH_WANT_COMPAT_IPC_PARSE_VERSIONARCH_WANT_DEFAULT_BPF_JITARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUTARCH_WANT_FRAME_POINTERSARCH_WANT_HUGE_PMD_SHAREARCH_WANT_LD_ORPHAN_WARNARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAPARCH_WANT_PMD_MKWRITEARCH_XGENEARM64ARM64_4K_PAGESARM64_ACPI_PARKING_PROTOCOLARM64_AMU_EXTNARM64_AS_HAS_MTEARM64_CNPARM64_CONTPTEARM64_CONT_PMD_SHIFTARM64_CONT_PTE_SHIFTARM64_E0PDARM64_EPANARM64_ERRATUM_1024718ARM64_ERRATUM_1165522ARM64_ERRATUM_1286807ARM64_ERRATUM_1319367ARM64_ERRATUM_1418040ARM64_ERRATUM_1463225ARM64_ERRATUM_1508412ARM64_ERRATUM_1530923ARM64_ERRATUM_1542419ARM64_ERRATUM_1742098ARM64_ERRATUM_1902691ARM64_ERRATUM_2038923ARM64_ERRATUM_2051678ARM64_ERRATUM_2054223ARM64_ERRATUM_2064142ARM64_ERRATUM_2067961ARM64_ERRATUM_2077057ARM64_ERRATUM_2119858ARM64_ERRATUM_2139208ARM64_ERRATUM_2224489ARM64_ERRATUM_2253138ARM64_ERRATUM_2441007ARM64_ERRATUM_2441009ARM64_ERRATUM_2457168ARM64_ERRATUM_2645198ARM64_ERRATUM_2658417ARM64_ERRATUM_2966298ARM64_ERRATUM_3117295ARM64_ERRATUM_819472ARM64_ERRATUM_824069ARM64_ERRATUM_826319ARM64_ERRATUM_827319ARM64_ERRATUM_832075ARM64_ERRATUM_834220ARM64_ERRATUM_843419ARM64_ERRATUM_845719ARM64_ERRATUM_858921ARM64_HW_AFDBMARM64_LD_HAS_FIX_ERRATUM_843419ARM64_LSE_ATOMICSARM64_MPAMARM64_NMIARM64_PAGE_SHIFTARM64_PANARM64_PA_BITSARM64_PA_BITS_48ARM64_PMEMARM64_PSEUDO_NMIARM64_PTR_AUTHARM64_PTR_AUTH_KERNELARM64_RAS_EXTNARM64_SMEARM64_SVEARM64_TAGGED_ADDR_ABIARM64_TLB_RANGEARM64_TWEDARM64_USE_LSE_ATOMICSARM64_VA_BITSARM64_VA_BITS_48ARM64_WORKAROUND_CLEAN_CACHEARM64_WORKAROUND_REPEAT_TLBIARM64_WORKAROUND_SPECULATIVE_ATARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOADARM64_WORKAROUND_TRBE_OVERWRITE_FILL_MODEARM64_WORKAROUND_TRBE_WRITE_OUT_OF_RANGEARM64_WORKAROUND_TSB_FLUSH_FAILUREARMV8_DEPRECATEDARM_AMBAARM_ARCH_TIMERARM_ARCH_TIMER_EVTSTREAMARM_ARCH_TIMER_OOL_WORKAROUNDARM_CCNARM_CPU_RESCTRLARM_GICARM_GIC_MAX_NRARM_GIC_PHYTIUM_2500ARM_GIC_V2MARM_GIC_V3ARM_GIC_V3_ITSARM_GIC_V3_ITS_PCIARM_MHUARM_PMUARM_PMUV3ARM_PMU_ACPIARM_PSCI_FWARM_SBSA_WATCHDOGARM_SCPI_CPUFREQARM_SCPI_POWER_DOMAINARM_SCPI_PROTOCOLARM_SDE_INTERFACEARM_SMCCC_SOC_IDARM_SMMUARM_SMMU_DISABLE_BYPASS_BY_DEFAULTARM_SMMU_QCOMARM_SMMU_V3ARM_SMMU_V3_ECMDQARM_SMMU_V3_HTTUARM_SMMU_V3_PMUARM_SMMU_V3_SVAARM_SP805_WATCHDOGARM_SPE_PMUARM_TIMER_SP804ASM_MODVERSIONSASN1ASN1_ENCODERASSOCIATIVE_ARRAYASYMMETRIC_KEY_TYPEASYMMETRIC_PUBLIC_KEY_SUBTYPEASYNC_COREASYNC_MEMCPYASYNC_PQASYNC_RAID6_RECOVASYNC_TX_DMAASYNC_XORAS_HAS_ARMV8_2AS_HAS_ARMV8_3AS_HAS_ARMV8_4AS_HAS_ARMV8_5AS_HAS_CFI_NEGATE_RA_STATEAS_HAS_LDAPRAS_HAS_LSE_ATOMICSAS_HAS_NON_CONST_LEB128AS_HAS_SHA3AS_IS_GNUAS_VERSIONAT803X_PHYATAATA_ACPIATA_BMDMAATA_FORCEATA_GENERICATA_OVER_ETHATA_PIIXATA_SFFATA_VERBOSE_ERRORATH10KATH10K_CEATH10K_PCIATH_COMMONATL1ATL1CATL1EATMATM_BR2684ATM_CLIPATM_LANEAUDITAUDITSYSCALLAUDIT_ARCH_COMPAT_GENERICAUDIT_COMPAT_GENERICAUDIT_GENERICAUTOFS_FSAUXDISPLAYAUXILIARY_BUSAX88796B_PHYBACKLIGHT_CLASS_DEVICEBACKLIGHT_GPIOBACKLIGHT_LP855XBACKLIGHT_PWMBALLOON_COMPACTIONBASE_FULLBASE_SMALLBCACHEBCM87XX_PHYBCMABCMA_DRIVER_GMAC_CMNBCMA_DRIVER_GPIOBCMA_DRIVER_PCIBCMA_HOST_PCIBCMA_HOST_PCI_POSSIBLEBCMA_POSSIBLEBCM_NET_PHYLIBBCM_NET_PHYPTPBE2ISCSIBFQ_GROUP_IOSCHEDBINARY_PRINTFBINFMT_ELFBINFMT_MISCBINFMT_SCRIPTBITREVERSEBLK_CGROUPBLK_CGROUP_IOCOSTBLK_CGROUP_LEGACY_IOCOSTBLK_CGROUP_PUNT_BIOBLK_CGROUP_RWSTATBLK_DEBUG_FSBLK_DEBUG_FS_ZONEDBLK_DEVBLK_DEV_BSGBLK_DEV_BSGLIBBLK_DEV_BSG_COMMONBLK_DEV_DETECT_WRITING_PART0BLK_DEV_DMBLK_DEV_DM_BUILTINBLK_DEV_DRBDBLK_DEV_INITRDBLK_DEV_INTEGRITYBLK_DEV_INTEGRITY_T10BLK_DEV_IO_TRACEBLK_DEV_LOOPBLK_DEV_LOOP_MIN_COUNTBLK_DEV_MDBLK_DEV_NBDBLK_DEV_NULL_BLKBLK_DEV_NVMEBLK_DEV_PMEMBLK_DEV_RAMBLK_DEV_RAM_COUNTBLK_DEV_RAM_SIZEBLK_DEV_RBDBLK_DEV_SDBLK_DEV_SRBLK_DEV_SUPPORT_LEGACY_GLOBAL_LIMITBLK_DEV_THROTTLINGBLK_DEV_WRITE_MOUNTEDBLK_DEV_WRITE_MOUNTED_DUMPBLK_DEV_ZONEDBLK_ICQBLK_IO_HUNG_TASK_CHECKBLK_MQ_PCIBLK_MQ_STACKINGBLK_MQ_VIRTIOBLK_PMBLK_RQ_ALLOC_TIMEBLK_WBTBLK_WBT_MQBLOCKBLOCK_HOLDER_DEPRECATEDBLOCK_LEGACY_AUTOLOADBMABNX2BNX2XBNX2X_SRIOVBNXTBNXT_DCBBNXT_FLOWER_OFFLOADBNXT_SRIOVBONDINGBOOTPARAM_HARDLOCKUP_PANICBOOTTIME_TRACINGBOOT_CONFIGBOOT_PRINTK_DELAYBPFBPF_EVENTSBPF_JITBPF_JIT_ALWAYS_ONBPF_JIT_DEFAULT_ONBPF_LSMBPF_SCHEDBPF_STREAM_PARSERBPF_SYSCALLBQLBRANCH_PROFILE_NONEBRIDGEBRIDGE_EBT_802_3BRIDGE_EBT_AMONGBRIDGE_EBT_ARPBRIDGE_EBT_ARPREPLYBRIDGE_EBT_BROUTEBRIDGE_EBT_DNATBRIDGE_EBT_IPBRIDGE_EBT_IP6BRIDGE_EBT_LIMITBRIDGE_EBT_LOGBRIDGE_EBT_MARKBRIDGE_EBT_MARK_TBRIDGE_EBT_NFLOGBRIDGE_EBT_PKTTYPEBRIDGE_EBT_REDIRECTBRIDGE_EBT_SNATBRIDGE_EBT_STPBRIDGE_EBT_T_FILTERBRIDGE_EBT_T_NATBRIDGE_EBT_VLANBRIDGE_IGMP_SNOOPINGBRIDGE_NETFILTERBRIDGE_NF_EBTABLESBRIDGE_VLAN_FILTERINGBROADCOM_PHYBSD_DISKLABELBSD_PROCESS_ACCTBSD_PROCESS_ACCT_V3BTREEBTRFS_FSBTRFS_FS_POSIX_ACLBTTBUFFER_HEADBUGBUILDTIME_TABLE_SORTBUILD_SALTBUILTIN_RETURN_ADDRESS_STRIPS_PACCACHEFILESCACHEFILES_ONDEMANDCACHESTAT_SYSCALLCANCAN_8DEV_USBCAN_BCMCAN_CALC_BITTIMINGCAN_CC770CAN_CC770_PLATFORMCAN_C_CANCAN_C_CAN_PCICAN_C_CAN_PLATFORMCAN_DEVCAN_EMS_PCICAN_EMS_USBCAN_GWCAN_KVASER_PCICAN_KVASER_USBCAN_NETLINKCAN_PEAK_PCICAN_PEAK_PCIECCAN_PEAK_USBCAN_PLX_PCICAN_RAWCAN_SJA1000CAN_SJA1000_PLATFORMCAN_SLCANCAN_SOFTINGCAN_VCANCAVIUM_CPTCAVIUM_ERRATUM_22375CAVIUM_ERRATUM_23144CAVIUM_ERRATUM_23154CAVIUM_ERRATUM_27456CAVIUM_ERRATUM_30115CAVIUM_PTPCAVIUM_TX2_ERRATUM_219CB710_CORECB710_DEBUG_ASSUMPTIONSCC_CAN_LINKCC_CAN_LINK_STATICCC_HAS_ASM_GOTO_OUTPUTCC_HAS_ASM_GOTO_TIED_OUTPUTCC_HAS_ASM_INLINECC_HAS_AUTO_VAR_INIT_PATTERNCC_HAS_AUTO_VAR_INIT_ZEROCC_HAS_AUTO_VAR_INIT_ZERO_BARECC_HAS_BRANCH_PROT_PAC_RETCC_HAS_BRANCH_PROT_PAC_RET_BTICC_HAS_INT128CC_HAS_KASAN_GENERICCC_HAS_KASAN_SW_TAGSCC_HAS_NO_PROFILE_FN_ATTRCC_HAS_SANCOV_TRACE_PCCC_HAS_SIGN_RETURN_ADDRESSCC_HAS_WORKING_NOSANITIZE_ADDRESSCC_HAS_ZERO_CALL_USED_REGSCC_HAVE_SHADOW_CALL_STACKCC_HAVE_STACKPROTECTOR_SYSREGCC_IMPLICIT_FALLTHROUGHCC_IS_GCCCC_NO_ARRAY_BOUNDSCC_OPTIMIZE_FOR_PERFORMANCECC_VERSION_TEXTCDROMCDROM_PKTCDVDCDROM_PKTCDVD_BUFFERSCEPH_FSCEPH_FS_POSIX_ACLCEPH_LIBCEPH_LIB_USE_DNS_RESOLVERCFG80211CFG80211_CRDA_SUPPORTCFG80211_DEFAULT_PSCFG80211_REQUIRE_SIGNED_REGDBCFG80211_USE_KERNEL_REGDB_KEYSCFG80211_WEXTCFS_BANDWIDTHCGROUPSCGROUP_BPFCGROUP_CPUACCTCGROUP_DEVICECGROUP_FILESCGROUP_FREEZERCGROUP_HUGETLBCGROUP_MISCCGROUP_NET_CLASSIDCGROUP_NET_PRIOCGROUP_PERFCGROUP_PIDSCGROUP_RDMACGROUP_SCHEDCGROUP_V1_KILLCGROUP_V1_STATCGROUP_V1_WRITEBACKCGROUP_WRITEBACKCHARGER_SMB347CHARLCD_BL_FLASHCHECKPOINT_RESTORECHECK_SIGNATURECHELSIO_INLINE_CRYPTOCHELSIO_IPSEC_INLINECHELSIO_LIBCHELSIO_T4CHELSIO_T4VFCHELSIO_TLS_DEVICECHROME_PLATFORMSCHR_DEV_SCHCHR_DEV_SGCHR_DEV_STCICADA_PHYCIFSCIFS_ALLOW_INSECURE_LEGACYCIFS_DEBUGCIFS_DFS_UPCALLCIFS_POSIXCIFS_UPCALLCIFS_XATTRCLANG_VERSIONCLEAR_USER_WORKAROUNDCLKSRC_MMIOCLK_SP810CLK_VEXPRESS_OSCCLONE_BACKWARDSCLS_U32_MARKCLS_U32_PERFCLZ_TABCMACMA_ALIGNMENTCMA_AREASCMA_SIZE_MBYTESCMA_SIZE_SEL_MBYTESCMDLINECMDLINE_FROM_BOOTLOADERCNICCOMMON_CLKCOMMON_CLK_HI3516CV300COMMON_CLK_HI3519COMMON_CLK_HI3559ACOMMON_CLK_HI3660COMMON_CLK_HI3670COMMON_CLK_HI3798CV200COMMON_CLK_SCPICOMMON_CLK_XGENECOMMON_RESET_HI3660COMMON_RESET_HI6220COMPACTIONCOMPACT_UNEVICTABLE_DEFAULTCOMPATCOMPAT_32BIT_TIMECOMPAT_NETLINK_MESSAGESCOMPAT_OLD_SIGACTIONCONFIGFS_FSCONNECTORCONSOLE_LOGLEVEL_DEFAULTCONSOLE_LOGLEVEL_QUIETCONSOLE_POLLCONSOLE_TRANSLATIONSCONTEXT_SWITCH_TRACERCONTEXT_TRACKINGCONTEXT_TRACKING_IDLECONTEXT_TRACKING_USERCONTIG_ALLOCCORDICCOREDUMPCORESIGHTCORESIGHT_LINKS_AND_SINKSCORESIGHT_LINK_AND_SINK_TMCCORESIGHT_SOURCE_ETM4XCORESIGHT_TRBECORE_DUMP_DEFAULT_ELF_HEADERSCP15_BARRIER_EMULATIONCPUSETSCPU_FREQCPU_FREQ_DEFAULT_GOV_PERFORMANCECPU_FREQ_GOV_ATTR_SETCPU_FREQ_GOV_COMMONCPU_FREQ_GOV_CONSERVATIVECPU_FREQ_GOV_ONDEMANDCPU_FREQ_GOV_PERFORMANCECPU_FREQ_GOV_POWERSAVECPU_FREQ_GOV_SCHEDUTILCPU_FREQ_GOV_USERSPACECPU_FREQ_STATCPU_FREQ_THERMALCPU_IDLECPU_IDLE_GOV_MENUCPU_IDLE_GOV_TEOCPU_INSPECTCPU_INSPECTOR_ATFCPU_ISOLATIONCPU_LITTLE_ENDIANCPU_MITIGATIONSCPU_PMCPU_RMAPCPU_THERMALCRAMFSCRAMFS_BLOCKDEVCRASH_CORECRASH_DUMPCRC16CRC32CRC32_SLICEBY8CRC64CRC64_ROCKSOFTCRC7CRC8CRC_CCITTCRC_ITU_TCRC_T10DIFCROSS_MEMORY_ATTACHCRYPTOCRYPTO_ACOMP2CRYPTO_AEADCRYPTO_AEAD2CRYPTO_AESCRYPTO_AES_ARM64CRYPTO_AES_ARM64_BSCRYPTO_AES_ARM64_CECRYPTO_AES_ARM64_CE_BLKCRYPTO_AES_ARM64_CE_CCMCRYPTO_AES_ARM64_NEON_BLKCRYPTO_AKCIPHERCRYPTO_AKCIPHER2CRYPTO_ALGAPICRYPTO_ALGAPI2CRYPTO_ANSI_CPRNGCRYPTO_ANUBISCRYPTO_ARC4CRYPTO_ARCH_HAVE_LIB_CHACHACRYPTO_ARCH_HAVE_LIB_POLY1305CRYPTO_AUTHENCCRYPTO_BLAKE2BCRYPTO_BLOWFISHCRYPTO_BLOWFISH_COMMONCRYPTO_CAMELLIACRYPTO_CAST5CRYPTO_CAST6CRYPTO_CAST_COMMONCRYPTO_CBCCRYPTO_CCMCRYPTO_CHACHA20CRYPTO_CHACHA20POLY1305CRYPTO_CHACHA20_NEONCRYPTO_CMACCRYPTO_CRC32CRYPTO_CRC32CCRYPTO_CRC64_ROCKSOFTCRYPTO_CRCT10DIFCRYPTO_CRCT10DIF_ARM64_CECRYPTO_CRYPTDCRYPTO_CTRCRYPTO_CTSCRYPTO_CURVE25519CRYPTO_DEFLATECRYPTO_DESCRYPTO_DEV_CAVIUM_ZIPCRYPTO_DEV_CCPCRYPTO_DEV_CCP_CRYPTOCRYPTO_DEV_CCP_DDCRYPTO_DEV_CHELSIOCRYPTO_DEV_CPTCRYPTO_DEV_HISI_HPRECRYPTO_DEV_HISI_QMCRYPTO_DEV_HISI_SECCRYPTO_DEV_HISI_SEC2CRYPTO_DEV_HISI_TRNGCRYPTO_DEV_HISI_ZIPCRYPTO_DEV_SP_CCPCRYPTO_DEV_VIRTIOCRYPTO_DHCRYPTO_DRBGCRYPTO_DRBG_CTRCRYPTO_DRBG_HASHCRYPTO_DRBG_HMACCRYPTO_DRBG_MENUCRYPTO_ECBCRYPTO_ECCCRYPTO_ECDHCRYPTO_ECHAINIVCRYPTO_ENGINECRYPTO_ESSIVCRYPTO_FCRYPTCRYPTO_FIPSCRYPTO_FIPS_NAMECRYPTO_GCMCRYPTO_GENIVCRYPTO_GHASHCRYPTO_GHASH_ARM64_CECRYPTO_HASHCRYPTO_HASH2CRYPTO_HASH_INFOCRYPTO_HMACCRYPTO_HWCRYPTO_JITTERENTROPYCRYPTO_KHAZADCRYPTO_KPPCRYPTO_KPP2CRYPTO_LIB_AESCRYPTO_LIB_ARC4CRYPTO_LIB_BLAKE2S_GENERICCRYPTO_LIB_CHACHA_GENERICCRYPTO_LIB_CURVE25519_GENERICCRYPTO_LIB_DESCRYPTO_LIB_GF128MULCRYPTO_LIB_POLY1305_GENERICCRYPTO_LIB_POLY1305_RSIZECRYPTO_LIB_SHA1CRYPTO_LIB_SHA256CRYPTO_LIB_UTILSCRYPTO_LRWCRYPTO_LZ4CRYPTO_LZ4HCCRYPTO_LZOCRYPTO_MANAGERCRYPTO_MANAGER2CRYPTO_MD4CRYPTO_MD5CRYPTO_MICHAEL_MICCRYPTO_NHPOLY1305CRYPTO_NHPOLY1305_NEONCRYPTO_NULLCRYPTO_NULL2CRYPTO_PCBCCRYPTO_PCRYPTCRYPTO_POLY1305CRYPTO_POLY1305_NEONCRYPTO_RMD160CRYPTO_RNGCRYPTO_RNG2CRYPTO_RNG_DEFAULTCRYPTO_RSACRYPTO_SEEDCRYPTO_SEQIVCRYPTO_SERPENTCRYPTO_SHA1CRYPTO_SHA1_ARM64_CECRYPTO_SHA256CRYPTO_SHA256_ARM64CRYPTO_SHA2_ARM64_CECRYPTO_SHA3CRYPTO_SHA3_ARM64CRYPTO_SHA512CRYPTO_SHA512_ARM64CRYPTO_SHA512_ARM64_CECRYPTO_SIGCRYPTO_SIG2CRYPTO_SKCIPHERCRYPTO_SKCIPHER2CRYPTO_SM2CRYPTO_SM3CRYPTO_SM3_ARM64_CECRYPTO_SM3_GENERICCRYPTO_SM4CRYPTO_SM4_ARM64_CECRYPTO_SM4_ARM64_CE_BLKCRYPTO_SM4_ARM64_NEON_BLKCRYPTO_SM4_GENERICCRYPTO_TEACRYPTO_TESTCRYPTO_TWOFISHCRYPTO_TWOFISH_COMMONCRYPTO_USERCRYPTO_USER_APICRYPTO_USER_API_AEADCRYPTO_USER_API_ENABLE_OBSOLETECRYPTO_USER_API_HASHCRYPTO_USER_API_RNGCRYPTO_USER_API_SKCIPHERCRYPTO_VMACCRYPTO_WP512CRYPTO_XCBCCRYPTO_XTSCRYPTO_XXHASHCRYPTO_ZSTDCUSECXD2880_SPI_DRVCXL_ACPICXL_BUSCXL_MEMCXL_PCICXL_PMEMCXL_PMUCXL_PORTCXL_REGIONCXL_SUSPENDDAMONDAMON_LRU_SORTDAMON_PADDRDAMON_RECLAIMDAMON_SYSFSDAMON_VADDRDAVICOM_PHYDAXDCACHE_WORD_ACCESSDCBDEBUG_BUGVERBOSEDEBUG_FSDEBUG_FS_ALLOW_ALLDEBUG_INFODEBUG_INFO_BTFDEBUG_INFO_COMPRESSED_NONEDEBUG_INFO_DWARF4DEBUG_KERNELDEBUG_LISTDEBUG_MEMORY_INITDEBUG_MISCDEBUG_PERF_USE_VMALLOCDEBUG_SECTION_MISMATCHDECOMPRESS_BZIP2DECOMPRESS_GZIPDECOMPRESS_LZ4DECOMPRESS_LZMADECOMPRESS_LZODECOMPRESS_XZDECOMPRESS_ZSTDDEFAULT_CUBICDEFAULT_FQ_CODELDEFAULT_HOSTNAMEDEFAULT_HUNG_TASK_TIMEOUTDEFAULT_INITDEFAULT_MMAP_MIN_ADDRDEFAULT_NET_SCHDEFAULT_SECURITY_SELINUXDEFAULT_TCP_CONGDETECT_HUNG_TASKDEVICE_MIGRATIONDEVICE_PRIVATEDEVMEMDEVTMPFSDEVTMPFS_MOUNTDEV_DAXDEV_DAX_CXLDEV_DAX_HMEMDEV_DAX_HMEM_DEVICESDEV_DAX_KMEMDEV_DAX_PMEMDIMLIBDIRTY_PAGESDLMDMADEVICESDMA_ACPIDMA_BOUNCE_UNALIGNED_KMALLOCDMA_CMADMA_COHERENT_POOLDMA_DECLARE_COHERENTDMA_DIRECT_REMAPDMA_ENGINEDMA_MAP_BENCHMARKDMA_NONCOHERENT_MMAPDMA_OFDMA_OPSDMA_RESTRICTED_POOLDMA_SHARED_BUFFERDMIDMIIDDMI_SYSFSDM_AUDITDM_BIO_PRISONDM_BUFIODM_CACHEDM_CACHE_SMQDM_CRYPTDM_DEBUGDM_DELAYDM_ERADM_FLAKEYDM_INTEGRITYDM_LOG_USERSPACEDM_LOG_WRITESDM_MIRRORDM_MULTIPATHDM_MULTIPATH_QLDM_MULTIPATH_STDM_PERSISTENT_DATADM_RAIDDM_SNAPSHOTDM_SWITCHDM_THIN_PROVISIONINGDM_UEVENTDM_VERITYDM_ZERODNETDNOTIFYDNS_RESOLVERDP83640_PHYDP83848_PHYDP83867_PHYDQLDRMDRM_AMDGPUDRM_AMDGPU_CIKDRM_AMDGPU_USERPTRDRM_AMD_DCDRM_AMD_DC_FPDRM_ASTDRM_BOCHSDRM_BRIDGEDRM_BUDDYDRM_CIRRUS_QEMUDRM_DISPLAY_DP_HELPERDRM_DISPLAY_HDCP_HELPERDRM_DISPLAY_HDMI_HELPERDRM_DISPLAY_HELPERDRM_DP_AUX_CHARDEVDRM_EXECDRM_FBDEV_EMULATIONDRM_FBDEV_OVERALLOCDRM_GEM_SHMEM_HELPERDRM_HISI_HIBMCDRM_I2C_CH7006DRM_I2C_NXP_TDA998XDRM_KMS_HELPERDRM_LOAD_EDID_FIRMWAREDRM_MGAG200DRM_NOUVEAUDRM_NOUVEAU_BACKLIGHTDRM_PANELDRM_PANEL_BRIDGEDRM_PANEL_ORIENTATION_QUIRKSDRM_PHYTIUMDRM_QXLDRM_RADEONDRM_RADEON_USERPTRDRM_SCHEDDRM_SUBALLOC_HELPERDRM_TTMDRM_TTM_HELPERDRM_UDLDRM_VIRTIO_GPUDRM_VIRTIO_GPU_KMSDRM_VRAM_HELPERDST_CACHEDTCDUMMYDUMMY_CONSOLEDUMMY_CONSOLE_COLUMNSDUMMY_CONSOLE_ROWSDVB_A8293DVB_AF9013DVB_AF9033DVB_ASCOT2EDVB_ATBM8830DVB_AU8522DVB_AU8522_DTVDVB_AU8522_V4LDVB_BCM3510DVB_COREDVB_CX22700DVB_CX22702DVB_CX24110DVB_CX24116DVB_CX24117DVB_CX24120DVB_CX24123DVB_CXD2099DVB_CXD2820RDVB_CXD2841ERDVB_CXD2880DVB_DIB3000MBDVB_DIB3000MCDVB_DIB7000MDVB_DIB7000PDVB_DIB8000DVB_DIB9000DVB_DRX39XYJDVB_DRXDDVB_DRXKDVB_DS3000DVB_EC100DVB_HELENEDVB_HORUS3ADVB_ISL6405DVB_ISL6421DVB_ISL6423DVB_IX2505VDVB_L64781DVB_LG2160DVB_LGDT3305DVB_LGDT3306ADVB_LGDT330XDVB_LGS8GL5DVB_LGS8GXXDVB_LNBH25DVB_LNBH29DVB_LNBP21DVB_LNBP22DVB_M88DS3103DVB_M88RS2000DVB_MAX_ADAPTERSDVB_MB86A16DVB_MB86A20SDVB_MN88443XDVB_MN88472DVB_MN88473DVB_MT312DVB_MT352DVB_MXL5XXDVB_MXL692DVB_NXT200XDVB_NXT6000DVB_OR51132DVB_OR51211DVB_PLLDVB_RTL2830DVB_RTL2832DVB_RTL2832_SDRDVB_S5H1409DVB_S5H1411DVB_S5H1420DVB_S5H1432DVB_S921DVB_SI2165DVB_SI2168DVB_SI21XXDVB_SP2DVB_SP887XDVB_STB0899DVB_STB6000DVB_STB6100DVB_STV0288DVB_STV0297DVB_STV0299DVB_STV0367DVB_STV0900DVB_STV090xDVB_STV0910DVB_STV6110DVB_STV6110xDVB_STV6111DVB_TC90522DVB_TDA10021DVB_TDA10023DVB_TDA10048DVB_TDA1004XDVB_TDA10071DVB_TDA10086DVB_TDA18271C2DDDVB_TDA665xDVB_TDA8083DVB_TDA8261DVB_TDA826XDVB_TS2020DVB_TUA6100DVB_TUNER_CX24113DVB_TUNER_DIB0070DVB_TUNER_DIB0090DVB_TUNER_ITD1000DVB_VES1820DVB_VES1X93DVB_ZD1301_DEMODDVB_ZL10036DVB_ZL10039DVB_ZL10353DW_DMACDW_DMAC_COREDW_DMAC_PCIDYNAMIC_DEBUGDYNAMIC_DEBUG_COREDYNAMIC_EVENTSDYNAMIC_FTRACEDYNAMIC_FTRACE_WITH_ARGSDYNAMIC_FTRACE_WITH_CALL_OPSDYNAMIC_FTRACE_WITH_DIRECT_CALLSDYNAMIC_POOLE1000E1000EEDACEDAC_GHESEDAC_LEGACY_SYSFSEDAC_SUPPORTEDAC_THUNDERXEDAC_XGENEEEPROM_93CX6EEPROM_LEGACYEEPROM_MAX6875EFIEFIVAR_FSEFI_ARMSTUB_DTB_LOADEREFI_CUSTOM_SSDT_OVERLAYSEFI_EARLYCONEFI_ESRTEFI_GENERIC_STUBEFI_PARAMS_FROM_FDTEFI_PARTITIONEFI_RUNTIME_WRAPPERSEFI_SOFT_RESERVEEFI_STUBEFI_VARS_PSTOREEFI_VARS_PSTORE_DEFAULT_DISABLEELFCOREELF_COREENA_ETHERNETENCLOSURE_SERVICESENCRYPTED_KEYSEPIC100EPOLLEROFS_FSEROFS_FS_ONDEMANDEROFS_FS_POSIX_ACLEROFS_FS_SECURITYEROFS_FS_XATTRETHERNETETHOCETHTOOL_NETLINKETM4X_IMPDEF_FEATUREETMEMETMEM_SCANETMEM_SWAPEVENTFDEVENT_TRACINGEVMEVM_ATTR_FSUUIDEVM_DEFAULT_HASHEVM_DEFAULT_HASH_SHA256EVM_LOAD_X509EVM_X509_PATHEXCLUSIVE_SYSTEM_RAMEXFAT_DEFAULT_IOCHARSETEXFAT_FSEXPERTEXPORTFSEXPORTFS_BLOCK_OPSEXT3_FSEXT4_ERROR_REPORTEXT4_FSEXT4_FS_POSIX_ACLEXT4_FS_SECURITYEXT4_USE_FOR_EXT2EXTCONEXTCON_GPIOEXTRA_FIRMWAREFAILOVERFAIR_GROUP_SCHEDFANOTIFYFANOTIFY_ACCESS_PERMISSIONSFAT_DEFAULT_CODEPAGEFAT_DEFAULT_IOCHARSETFAT_FSFBFB_BACKLIGHTFB_CFB_COPYAREAFB_CFB_FILLRECTFB_CFB_IMAGEBLITFB_COREFB_DEFERRED_IOFB_DEVICEFB_EFIFB_IOMEM_FOPSFB_IOMEM_HELPERSFB_MODE_HELPERSFB_NOTIFYFB_SIMPLEFB_SSD1307FB_SYSMEM_HELPERSFB_SYSMEM_HELPERS_DEFERREDFB_SYS_COPYAREAFB_SYS_FILLRECTFB_SYS_FOPSFB_SYS_IMAGEBLITFB_TILEBLITTINGFCOEFHANDLEFIB_RULESFILE_LOCKINGFIXED_PHYFIX_EARLYCON_MEMFM10KFONT_8x16FONT_8x8FONT_SUPPORTFORTIFY_SOURCEFRAMEBUFFER_CONSOLEFRAMEBUFFER_CONSOLE_DETECT_PRIMARYFRAMEBUFFER_CONSOLE_ROTATIONFRAME_POINTERFRAME_WARNFREEZERFSCACHEFSCACHE_STATSFSL_ERRATUM_A008585FSNOTIFYFS_DAXFS_DAX_PMDFS_IOMAPFS_MBCACHEFS_POSIX_ACLFTRACEFTRACE_MCOUNT_RECORDFTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRYFTRACE_SYSCALLSFUJITSU_ERRATUM_010001FUNCTION_ALIGNMENTFUNCTION_ALIGNMENT_4BFUNCTION_ALIGNMENT_8BFUNCTION_ERROR_INJECTIONFUNCTION_GRAPH_TRACERFUNCTION_PROFILERFUNCTION_TRACERFUSE_DAXFUSE_FSFUTEXFUTEX_PIFWNODE_MDIOFW_CACHEFW_CFG_SYSFSFW_LOADERFW_LOADER_DEBUGFW_LOADER_PAGED_BUFFW_LOADER_SYSFSFW_UPLOADGACT_PROBGARPGCC10_NO_ARRAY_BOUNDSGCC_ASM_GOTO_OUTPUT_WORKAROUNDGCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGSGCC_VERSIONGENERIC_ALLOCATORGENERIC_ARCH_NUMAGENERIC_ARCH_TOPOLOGYGENERIC_BUGGENERIC_BUG_RELATIVE_POINTERSGENERIC_CALIBRATE_DELAYGENERIC_CLOCKEVENTSGENERIC_CLOCKEVENTS_BROADCASTGENERIC_CPU_AUTOPROBEGENERIC_CPU_DEVICESGENERIC_CPU_VULNERABILITIESGENERIC_CSUMGENERIC_EARLY_IOREMAPGENERIC_GETTIMEOFDAYGENERIC_HWEIGHTGENERIC_IDLE_POLL_SETUPGENERIC_IOREMAPGENERIC_IRQ_EFFECTIVE_AFF_MASKGENERIC_IRQ_INJECTIONGENERIC_IRQ_IPIGENERIC_IRQ_MIGRATIONGENERIC_IRQ_PROBEGENERIC_IRQ_SHOWGENERIC_IRQ_SHOW_LEVELGENERIC_LIB_DEVMEM_IS_ALLOWEDGENERIC_MSI_IRQGENERIC_NET_UTILSGENERIC_PCI_IOMAPGENERIC_PHYGENERIC_PINCONFGENERIC_PTDUMPGENERIC_SCHED_CLOCKGENERIC_SMP_IDLE_THREADGENERIC_STRNCPY_FROM_USERGENERIC_STRNLEN_USERGENERIC_TIME_VSYSCALLGENERIC_TRACERGENERIC_VDSO_TIME_NSGENEVEGET_FREE_REGIONGLOBGPIOLIBGPIOLIB_FASTPATH_LIMITGPIOLIB_IRQCHIPGPIO_ACPIGPIO_AMDPTGPIO_CDEVGPIO_CDEV_V1GPIO_DWAPBGPIO_GENERICGPIO_GENERIC_PLATFORMGPIO_HISIGPIO_PL061GPIO_SYSFSGPIO_WATCHDOGGPIO_XGENEGPIO_XGENE_SBGPIO_XLPGRACE_PERIODGRO_CELLSGUEST_PERF_EVENTSHARDENED_USERCOPYHARDIRQS_SW_RESENDHARDLOCKUP_DETECTORHARDLOCKUP_DETECTOR_COUNTS_HRTIMERHARDLOCKUP_DETECTOR_PERFHAS_DMAHAS_IOMEMHAS_IOPORTHAS_IOPORT_MAPHAVE_ACPI_APEIHAVE_ALIGNED_STRUCT_PAGEHAVE_ARCH_AUDITSYSCALLHAVE_ARCH_BITREVERSEHAVE_ARCH_COMPILER_HHAVE_ARCH_HUGE_VMALLOCHAVE_ARCH_HUGE_VMAPHAVE_ARCH_JUMP_LABELHAVE_ARCH_JUMP_LABEL_RELATIVEHAVE_ARCH_KASANHAVE_ARCH_KASAN_SW_TAGSHAVE_ARCH_KASAN_VMALLOCHAVE_ARCH_KCSANHAVE_ARCH_KFENCEHAVE_ARCH_KGDBHAVE_ARCH_MMAP_RND_BITSHAVE_ARCH_MMAP_RND_COMPAT_BITSHAVE_ARCH_PREL32_RELOCATIONSHAVE_ARCH_RANDOMIZE_KSTACK_OFFSETHAVE_ARCH_SECCOMPHAVE_ARCH_SECCOMP_FILTERHAVE_ARCH_STACKLEAKHAVE_ARCH_THREAD_STRUCT_WHITELISTHAVE_ARCH_TRACEHOOKHAVE_ARCH_TRANSPARENT_HUGEPAGEHAVE_ARCH_USERFAULTFD_MINORHAVE_ARCH_VMAP_STACKHAVE_ARM_SMCCCHAVE_ARM_SMCCC_DISCOVERYHAVE_ASM_MODVERSIONSHAVE_CLKHAVE_CLK_PREPAREHAVE_CMPXCHG_DOUBLEHAVE_CMPXCHG_LOCALHAVE_CONTEXT_TRACKING_USERHAVE_C_RECORDMCOUNTHAVE_DEBUG_KMEMLEAKHAVE_DMA_CONTIGUOUSHAVE_DYNAMIC_FTRACEHAVE_DYNAMIC_FTRACE_WITH_ARGSHAVE_DYNAMIC_FTRACE_WITH_CALL_OPSHAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLSHAVE_EBPF_JITHAVE_EFFICIENT_UNALIGNED_ACCESSHAVE_FAST_GUPHAVE_FTRACE_MCOUNT_RECORDHAVE_FUNCTION_ARG_ACCESS_APIHAVE_FUNCTION_ERROR_INJECTIONHAVE_FUNCTION_GRAPH_RETVALHAVE_FUNCTION_GRAPH_TRACERHAVE_FUNCTION_TRACERHAVE_GCC_PLUGINSHAVE_GENERIC_VDSOHAVE_HARDLOCKUP_DETECTOR_BUDDYHAVE_HARDLOCKUP_DETECTOR_PERFHAVE_HW_BREAKPOINTHAVE_IMA_KEXECHAVE_IOREMAP_PROTHAVE_IRQ_TIME_ACCOUNTINGHAVE_KCSAN_COMPILERHAVE_KPROBESHAVE_KRETPROBESHAVE_KVMHAVE_KVM_CPU_RELAX_INTERCEPTHAVE_KVM_DIRTY_RINGHAVE_KVM_DIRTY_RING_ACQ_RELHAVE_KVM_EVENTFDHAVE_KVM_IRQCHIPHAVE_KVM_IRQFDHAVE_KVM_IRQ_BYPASSHAVE_KVM_IRQ_ROUTINGHAVE_KVM_MSIHAVE_KVM_VCPU_RUN_PID_CHANGEHAVE_LIVEPATCH_WO_FTRACEHAVE_MOD_ARCH_SPECIFICHAVE_MOVE_PMDHAVE_MOVE_PUDHAVE_NMIHAVE_PCIHAVE_PERF_EVENTSHAVE_PERF_EVENTS_NMIHAVE_PERF_REGSHAVE_PERF_USER_STACK_DUMPHAVE_POSIX_CPU_TIMERS_TASK_WORKHAVE_PREEMPT_DYNAMICHAVE_PREEMPT_DYNAMIC_KEYHAVE_REGS_AND_STACK_ACCESS_APIHAVE_RSEQHAVE_SAMPLE_FTRACE_DIRECTHAVE_SAMPLE_FTRACE_DIRECT_MULTIHAVE_SCHED_AVG_IRQHAVE_SETUP_PER_CPU_AREAHAVE_SOFTIRQ_ON_OWN_STACKHAVE_STACKPROTECTORHAVE_SYSCALL_TRACEPOINTSHAVE_UID16HAVE_VIRT_CPU_ACCOUNTING_GENHDLCHDLC_CISCOHDLC_FRHDLC_PPPHDLC_RAWHDMIHI3660_MBOXHI6220_MBOXHIBERNATE_CALLBACKSHIBERNATIONHIBERNATION_SNAPSHOT_DEVHIDHIDRAWHID_A4TECHHID_ACRUXHID_APPLEHID_APPLEIRHID_AUREALHID_BATTERY_STRENGTHHID_BELKINHID_BETOP_FFHID_CHERRYHID_CHICONYHID_CORSAIRHID_CYPRESSHID_DRAGONRISEHID_ELECOMHID_ELOHID_EZKEYHID_GEMBIRDHID_GENERICHID_GFRMHID_GREENASIAHID_GT683RHID_GYRATIONHID_HOLTEKHID_ICADEHID_ITEHID_KENSINGTONHID_KEYTOUCHHID_KYEHID_LCPOWERHID_LEDHID_LENOVOHID_LOGITECHHID_LOGITECH_DJHID_LOGITECH_HIDPPHID_MAGICMOUSEHID_MICROSOFTHID_MONTEREYHID_MULTITOUCHHID_NTRIGHID_ORTEKHID_PANTHERLORDHID_PENMOUNTHID_PETALYNXHID_PICOLCDHID_PICOLCD_BACKLIGHTHID_PICOLCD_FBHID_PICOLCD_LCDHID_PICOLCD_LEDSHID_PIDHID_PLANTRONICSHID_PRIMAXHID_RMIHID_ROCCATHID_SAITEKHID_SAMSUNGHID_SENSOR_HUBHID_SMARTJOYPLUSHID_SONYHID_SPEEDLINKHID_STEELSERIESHID_SUNPLUSHID_SUPPORTHID_THINGMHID_THRUSTMASTERHID_TIVOHID_TOPSEEDHID_TWINHANHID_UCLOGICHID_WACOMHID_WALTOPHID_WIIMOTEHID_XINMOHID_ZEROPLUSHID_ZYDACRONHIGH_RES_TIMERSHINICHINIC3HIROCE3HISILICON_ERRATUM_161010101HISILICON_ERRATUM_161600802HISILICON_ERRATUM_162100125HISILICON_ERRATUM_162100602HISILICON_ERRATUM_162100801HISILICON_ERRATUM_162102203HISILICON_ERRATUM_HIP08_RU_PREFETCHHISILICON_IRQ_MBIGENHISILICON_LPCHISI_ACC_VFIO_PCIHISI_PCIE_PMUHISI_PMUHISI_PTTHISI_THERMALHISI_VIRTCCA_CODAHISI_VIRTCCA_GUESTHISI_VIRTCCA_HOSTHIST_TRIGGERSHMEM_REPORTINGHMM_MIRRORHNSHNS3HNS3_DCBHNS3_ENETHNS3_HCLGEHNS3_HCLGEVFHNS3_PMUHNS_DSAFHNS_ENETHNS_MDIOHOTPLUG_CORE_SYNCHOTPLUG_CORE_SYNC_DEADHOTPLUG_CPUHOTPLUG_PCIHOTPLUG_PCI_ACPIHOTPLUG_PCI_ACPI_IBMHOTPLUG_PCI_PCIEHOTPLUG_PCI_SHPCHOTPLUG_SMTHUGETLBFSHUGETLB_ALLOC_LIMITHUGETLB_PAGEHUGETLB_PAGE_OPTIMIZE_VMEMMAPHVC_DRIVERHWLAT_TRACERHWMONHWMON_VIDHWPOISON_INJECTHWSPINLOCKHW_CONSOLEHW_PERF_EVENTSHW_RANDOMHW_RANDOM_CAVIUMHW_RANDOM_HISIHW_RANDOM_TIMERIOMEMHW_RANDOM_TPMHW_RANDOM_VIRTIOHW_RANDOM_XGENEHZHZ_250I2CI2C_ALGOBITI2C_ALGOPCAI2C_ARB_GPIO_CHALLENGEI2C_BOARDINFOI2C_CHARDEVI2C_COMPATI2C_DESIGNWARE_COREI2C_DESIGNWARE_PLATFORMI2C_DIOLAN_U2CI2C_GPIOI2C_HIDI2C_HISII2C_MUXI2C_MUX_GPIOI2C_MUX_MLXCPLDI2C_MUX_PCA9541I2C_MUX_PCA954xI2C_MUX_PINCTRLI2C_NFORCE2I2C_PCA_PLATFORMI2C_QUPI2C_SIMTECI2C_SLAVEI2C_SLAVE_EEPROMI2C_SMBUSI2C_STUBI2C_THUNDERXI2C_TINY_USBI2C_VERSATILEI2C_XGENE_SLIMPROI2C_XLP9XXI40EI40EVFI6300ESB_WDTIAVFICEICE_SWITCHDEVICPLUS_PHYIDLE_PAGE_TRACKINGIEEE802154IEEE802154_SOCKETIFBIGBIGBVFIGB_HWMONIKCONFIGIKCONFIG_PROCILLEGAL_POINTER_VALUEIMAIMA_APPRAISEIMA_APPRAISE_BOOTPARAMIMA_APPRAISE_MODSIGIMA_DEFAULT_HASHIMA_DEFAULT_HASH_SHA256IMA_DEFAULT_TEMPLATEIMA_DIGEST_DB_MEGABYTESIMA_DIGEST_LISTIMA_DIGEST_LISTS_DIRIMA_LOAD_X509IMA_LSM_RULESIMA_MEASURE_ASYMMETRIC_KEYSIMA_MEASURE_PCR_IDXIMA_NG_TEMPLATEIMA_PARSER_BINARY_PATHIMA_QUEUE_EARLY_BOOT_KEYSIMA_READ_POLICYIMA_STANDARD_DIGEST_DB_SIZEIMA_X509_PATHINDIRECT_PIOINETINET6_AHINET6_ESPINET6_ESP_OFFLOADINET6_IPCOMPINET6_TUNNELINET6_XFRM_TUNNELINET_AHINET_DIAGINET_ESPINET_ESP_OFFLOADINET_IPCOMPINET_MPTCP_DIAGINET_RAW_DIAGINET_SCTP_DIAGINET_TABLE_PERTURB_ORDERINET_TCP_DIAGINET_TUNNELINET_UDP_DIAGINET_XFRM_TUNNELINFINIBANDINFINIBAND_ADDR_TRANSINFINIBAND_ADDR_TRANS_CONFIGFSINFINIBAND_BNXT_REINFINIBAND_CXGB4INFINIBAND_HNSINFINIBAND_HNS_HIP08INFINIBAND_IPOIBINFINIBAND_IPOIB_CMINFINIBAND_ISERINFINIBAND_ISERTINFINIBAND_ON_DEMAND_PAGINGINFINIBAND_PEER_MEMORYINFINIBAND_QEDRINFINIBAND_SRPINFINIBAND_SRPTINFINIBAND_USER_ACCESSINFINIBAND_USER_MADINFINIBAND_USER_MEMINFINIBAND_VIRT_DMAINFINIBAND_XSCINITRAMFS_FILE_METADATAINITRAMFS_SOURCEINIT_ENV_ARG_LIMITINIT_STACK_NONEINLINE_READ_LOCKINLINE_READ_LOCK_BHINLINE_READ_LOCK_IRQINLINE_READ_LOCK_IRQSAVEINLINE_READ_UNLOCKINLINE_READ_UNLOCK_BHINLINE_READ_UNLOCK_IRQINLINE_READ_UNLOCK_IRQRESTOREINLINE_SPIN_LOCKINLINE_SPIN_LOCK_BHINLINE_SPIN_LOCK_IRQINLINE_SPIN_LOCK_IRQSAVEINLINE_SPIN_TRYLOCKINLINE_SPIN_TRYLOCK_BHINLINE_SPIN_UNLOCK_BHINLINE_SPIN_UNLOCK_IRQINLINE_SPIN_UNLOCK_IRQRESTOREINLINE_WRITE_LOCKINLINE_WRITE_LOCK_BHINLINE_WRITE_LOCK_IRQINLINE_WRITE_LOCK_IRQSAVEINLINE_WRITE_UNLOCKINLINE_WRITE_UNLOCK_BHINLINE_WRITE_UNLOCK_IRQINLINE_WRITE_UNLOCK_IRQRESTOREINOTIFY_USERINPUTINPUT_EVDEVINPUT_FF_MEMLESSINPUT_KEYBOARDINPUT_LEDSINPUT_MISCINPUT_MOUSEINPUT_MOUSEDEVINPUT_MOUSEDEV_SCREEN_XINPUT_MOUSEDEV_SCREEN_YINPUT_SPARSEKMAPINPUT_UINPUTINPUT_VIVALDIFMAPINTEGRITYINTEGRITY_ASYMMETRIC_KEYSINTEGRITY_AUDITINTEGRITY_PLATFORM_KEYRINGINTEGRITY_SIGNATUREINTEGRITY_TRUSTED_KEYRINGINTERVAL_TREEINTERVAL_TREE_SPAN_ITERIOMMUFDIOMMU_APIIOMMU_DEFAULT_DMA_STRICTIOMMU_DMAIOMMU_IOPFIOMMU_IOVAIOMMU_IO_PGTABLEIOMMU_IO_PGTABLE_LPAEIOMMU_MM_DATAIOMMU_SUPPORTIOMMU_SVAIOSCHED_BFQIO_STRICT_DEVMEMIO_URINGIO_WQIP6_NF_FILTERIP6_NF_IPTABLESIP6_NF_MANGLEIP6_NF_MATCH_AHIP6_NF_MATCH_EUI64IP6_NF_MATCH_FRAGIP6_NF_MATCH_HLIP6_NF_MATCH_IPV6HEADERIP6_NF_MATCH_MHIP6_NF_MATCH_OPTSIP6_NF_MATCH_RPFILTERIP6_NF_MATCH_RTIP6_NF_NATIP6_NF_RAWIP6_NF_SECURITYIP6_NF_TARGET_MASQUERADEIP6_NF_TARGET_NPTIP6_NF_TARGET_REJECTIP6_NF_TARGET_SYNPROXYIPC_NSIPI_AS_NMIIPMI_DEVICE_INTERFACEIPMI_DMI_DECODEIPMI_HANDLERIPMI_PLAT_DATAIPMI_POWEROFFIPMI_SIIPMI_SSIFIPMI_WATCHDOGIPV6IPV6_GREIPV6_MIP6IPV6_MROUTEIPV6_MROUTE_MULTIPLE_TABLESIPV6_MULTIPLE_TABLESIPV6_NDISC_NODETYPEIPV6_OPTIMISTIC_DADIPV6_PIMSM_V2IPV6_ROUTER_PREFIPV6_ROUTE_INFOIPV6_SITIPV6_SIT_6RDIPV6_TUNNELIPV6_VTIIPVLANIPVLAN_L2EIPVLAN_L3SIPVTAPIP_ADVANCED_ROUTERIP_FIB_TRIE_STATSIP_MROUTEIP_MROUTE_COMMONIP_MROUTE_MULTIPLE_TABLESIP_MULTICASTIP_MULTIPLE_TABLESIP_NF_ARPFILTERIP_NF_ARPTABLESIP_NF_ARP_MANGLEIP_NF_FILTERIP_NF_IPTABLESIP_NF_MANGLEIP_NF_MATCH_AHIP_NF_MATCH_ECNIP_NF_MATCH_RPFILTERIP_NF_MATCH_TTLIP_NF_NATIP_NF_RAWIP_NF_SECURITYIP_NF_TARGET_ECNIP_NF_TARGET_MASQUERADEIP_NF_TARGET_NETMAPIP_NF_TARGET_REDIRECTIP_NF_TARGET_REJECTIP_NF_TARGET_SYNPROXYIP_NF_TARGET_TTLIP_PIMSM_V1IP_PIMSM_V2IP_ROUTE_CLASSIDIP_ROUTE_MULTIPATHIP_ROUTE_VERBOSEIP_SCTPIP_SETIP_SET_BITMAP_IPIP_SET_BITMAP_IPMACIP_SET_BITMAP_PORTIP_SET_HASH_IPIP_SET_HASH_IPMARKIP_SET_HASH_IPPORTIP_SET_HASH_IPPORTIPIP_SET_HASH_IPPORTNETIP_SET_HASH_MACIP_SET_HASH_NETIP_SET_HASH_NETIFACEIP_SET_HASH_NETNETIP_SET_HASH_NETPORTIP_SET_HASH_NETPORTNETIP_SET_LIST_SETIP_SET_MAXIP_VSIP_VS_DHIP_VS_FOIP_VS_FTPIP_VS_IPV6IP_VS_LBLCIP_VS_LBLCRIP_VS_LCIP_VS_MH_TAB_INDEXIP_VS_NFCTIP_VS_NQIP_VS_OVFIP_VS_PE_SIPIP_VS_PROTO_AHIP_VS_PROTO_AH_ESPIP_VS_PROTO_ESPIP_VS_PROTO_SCTPIP_VS_PROTO_TCPIP_VS_PROTO_UDPIP_VS_RRIP_VS_SEDIP_VS_SHIP_VS_SH_TAB_BITSIP_VS_TAB_BITSIP_VS_WLCIP_VS_WRRIRQCHIPIRQ_BYPASS_MANAGERIRQ_DOMAINIRQ_DOMAIN_HIERARCHYIRQ_FASTEOI_HIERARCHY_HANDLERSIRQ_FORCED_THREADINGIRQ_MBIGEN_ENABLE_SPIIRQ_MSI_IOMMUIRQ_POLLIRQ_TIME_ACCOUNTINGIRQ_WORKISCSI_BOOT_SYSFSISCSI_TARGETISCSI_TARGET_CXGB4ISCSI_TCPISL29003ISL29020ISO9660_FSIXGBEIXGBEVFIXGBEVF_IPSECIXGBE_DCBIXGBE_HWMONIXGBE_IPSECJBD2JOLIETJUMP_LABELKABI_RESERVEKABI_SIZE_ALIGN_CHECKSKALLSYMSKALLSYMS_ALLKALLSYMS_BASE_RELATIVEKARMA_PARTITIONKASLR_SKIP_MEM_RANGEKCMPKDB_CONTINUE_CATASTROPHICKDB_DEFAULT_ENABLEKDB_KEYBOARDKERNEL_MODE_NEONKERNFSKEXECKEXEC_COREKEXEC_FILEKEXEC_IMAGE_VERIFY_SIGKEXEC_SIGKEYBOARD_ATKBDKEYSKGDBKGDB_HONOUR_BLOCKLISTKGDB_KDBKGDB_SERIAL_CONSOLEKGDB_TESTSKPROBESKPROBE_EVENTSKRETPROBESKSMKUNPENG_HCCSKVMKVM_ARM_MULTI_LPI_TRANSLATE_CACHEKVM_GENERIC_DIRTYLOG_READ_PROTECTKVM_GENERIC_HARDWARE_ENABLINGKVM_HISI_VIRTKVM_MMIOKVM_VFIOKVM_XFER_TO_GUEST_WORKKWORKER_NUMA_AFFINITYL2TPL2TP_DEBUGFSL2TP_ETHL2TP_IPL2TP_V3LCD_CLASS_DEVICELCD_PLATFORMLDISC_AUTOLOADLD_IS_BFDLD_ORPHAN_WARNLD_ORPHAN_WARN_LEVELLD_VERSIONLEDS_BLINKMLEDS_CLASSLEDS_CLASS_FLASHLEDS_LM3530LEDS_LP3944LEDS_LT3593LEDS_TRIGGERSLEDS_TRIGGER_BACKLIGHTLEDS_TRIGGER_CAMERALEDS_TRIGGER_DEFAULT_ONLEDS_TRIGGER_HEARTBEATLEDS_TRIGGER_ONESHOTLEDS_TRIGGER_TIMERLEDS_TRIGGER_TRANSIENTLEGACY_DIRECT_IOLEGACY_TIOCSTILIBCRC32CLIBFCLIBFCOELIBFDTLIBNVDIMMLIBWXLINEAR_RANGESLIQUIDIOLIQUIDIO_CORELIQUIDIO_VFLIST_HARDENEDLIVEPATCHLIVEPATCH_ISOLATE_KPROBELIVEPATCH_RESTRICT_KPROBELIVEPATCH_STOP_MACHINE_CONSISTENCYLIVEPATCH_WO_FTRACELLCLLD_VERSIONLOAD_UEFI_KEYSLOCALVERSIONLOCKDLOCKDEP_SUPPORTLOCKD_V4LOCKUP_DETECTORLOCK_DEBUGGING_SUPPORTLOCK_DOWN_KERNEL_FORCE_NONELOCK_MM_AND_FIND_VMALOCK_SPIN_ON_OWNERLOGOLOGO_LINUX_CLUT224LOG_BUF_SHIFTLOG_CPU_MAX_BUF_SHIFTLOOPBACK_TARGETLRU_CACHELRU_GENLSI_ET1011C_PHYLSMLSM_MMAP_MIN_ADDRLTO_NONELWTUNNELLWTUNNEL_BPFLXT_PHYLZ4HC_COMPRESSLZ4_COMPRESSLZ4_DECOMPRESSLZO_COMPRESSLZO_DECOMPRESSMAC80211MAC80211_DEBUGFSMAC80211_HAS_RCMAC80211_LEDSMAC80211_RC_DEFAULTMAC80211_RC_DEFAULT_MINSTRELMAC80211_RC_MINSTRELMAC80211_STA_HASH_MAX_SIZEMAC802154MACSECMACVLANMACVTAPMAC_PARTITIONMAGIC_SYSRQMAGIC_SYSRQ_DEFAULT_ENABLEMAGIC_SYSRQ_SERIALMAGIC_SYSRQ_SERIAL_SEQUENCEMAILBOXMARVELL_10G_PHYMARVELL_GTI_WDTMARVELL_PHYMAX_SKB_FRAGSMDMDIOMDIO_BCM_UNIMACMDIO_BITBANGMDIO_BUSMDIO_CAVIUMMDIO_DEVICEMDIO_DEVRESMDIO_GPIOMDIO_I2CMDIO_OCTEONMDIO_THUNDERMDIO_XGENEMD_AUTODETECTMD_BITMAP_FILEMD_FAULTYMD_LINEARMD_MULTIPATHMD_RAID0MD_RAID1MD_RAID10MD_RAID456MEDIA_ANALOG_TV_SUPPORTMEDIA_ATTACHMEDIA_CAMERA_SUPPORTMEDIA_CONTROLLERMEDIA_DIGITAL_TV_SUPPORTMEDIA_PLATFORM_DRIVERSMEDIA_PLATFORM_SUPPORTMEDIA_RADIO_SUPPORTMEDIA_SDR_SUPPORTMEDIA_SUPPORTMEDIA_TEST_SUPPORTMEDIA_TUNERMEDIA_TUNER_E4000MEDIA_TUNER_FC0011MEDIA_TUNER_FC0012MEDIA_TUNER_FC0013MEDIA_TUNER_FC2580MEDIA_TUNER_IT913XMEDIA_TUNER_M88RS6000TMEDIA_TUNER_MAX2165MEDIA_TUNER_MC44S803MEDIA_TUNER_MSI001MEDIA_TUNER_MT2060MEDIA_TUNER_MT2063MEDIA_TUNER_MT20XXMEDIA_TUNER_MT2131MEDIA_TUNER_MT2266MEDIA_TUNER_MXL301RFMEDIA_TUNER_MXL5005SMEDIA_TUNER_MXL5007TMEDIA_TUNER_QM1D1B0004MEDIA_TUNER_QM1D1C0042MEDIA_TUNER_QT1010MEDIA_TUNER_R820TMEDIA_TUNER_SI2157MEDIA_TUNER_SIMPLEMEDIA_TUNER_TDA18212MEDIA_TUNER_TDA18218MEDIA_TUNER_TDA18250MEDIA_TUNER_TDA18271MEDIA_TUNER_TDA827XMEDIA_TUNER_TDA8290MEDIA_TUNER_TDA9887MEDIA_TUNER_TEA5761MEDIA_TUNER_TEA5767MEDIA_TUNER_TUA9001MEDIA_TUNER_XC2028MEDIA_TUNER_XC4000MEDIA_TUNER_XC5000MEDIA_USB_SUPPORTMEGARAID_SASMEMBARRIERMEMCGMEMCG_KMEMMEMCG_MEMFS_INFOMEMCG_OOM_PRIORITYMEMCG_SWAP_QOSMEMCG_V1_RECLAIMMEMFD_CREATEMEMORY_BALLOONMEMORY_FAILUREMEMORY_HOTPLUGMEMORY_HOTPLUG_DEFAULT_ONLINEMEMORY_HOTREMOVEMEMORY_ISOLATIONMEMORY_RELIABLEMEMREGIONMEMSTICKMEMSTICK_JMICRON_38XMEMSTICK_R592MEMSTICK_TIFM_MSMESSAGE_LOGLEVEL_DEFAULTMFD_COREMFD_SYSCONMGBEMGBEVFMGBE_MSIX_COUNTMHP_MEMMAP_ON_MEMORYMICREL_PHYMICROCHIP_PHYMIGRATIONMIIMINIX_SUBPARTITIONMISC_FILESYSTEMSMISC_RTSXMISC_RTSX_PCIMISC_RTSX_USBMITIGATE_SPECTRE_BRANCH_HISTORYMLX4_COREMLX4_DEBUGMLX4_ENMLX4_EN_DCBMLX4_INFINIBANDMLX5_BRIDGEMLX5_COREMLX5_CORE_ENMLX5_CORE_EN_DCBMLX5_CORE_IPOIBMLX5_EN_ARFSMLX5_EN_RXNFCMLX5_ESWITCHMLX5_INFINIBANDMLX5_MPFSMLX5_SW_STEERINGMLXFWMLXSW_COREMLXSW_CORE_HWMONMLXSW_CORE_THERMALMLXSW_I2CMLXSW_MINIMALMLXSW_PCIMMCMMC_ARMMMCIMMC_BLOCKMMC_BLOCK_MINORSMMC_CB710MMC_CQHCIMMC_DWMMC_DW_BLUEFIELDMMC_DW_PLTFMMMC_MTKMMC_RICOH_MMCMMC_SDHCIMMC_SDHCI_ACPIMMC_SDHCI_CADENCEMMC_SDHCI_IO_ACCESSORSMMC_SDHCI_PCIMMC_SDHCI_PLTFMMMC_SDHCI_XENONMMC_SPIMMC_STM32_SDMMCMMC_TIFM_SDMMC_TOSHIBA_PCIMMC_USHCMMC_VIA_SDMMCMMC_VUB300MMUMMU_GATHER_RCU_TABLE_FREEMMU_GATHER_TABLE_FREEMMU_LAZY_TLB_REFCOUNTMMU_NOTIFIERMODPROBE_PATHMODULESMODULES_TREE_LOOKUPMODULES_USE_ELF_RELAMODULE_COMPRESS_NONEMODULE_FORCE_LOADMODULE_SIGMODULE_SIG_ALLMODULE_SIG_FORMATMODULE_SIG_HASHMODULE_SIG_KEYMODULE_SIG_KEY_TYPE_RSAMODULE_SIG_SHA256MODULE_SRCVERSION_ALLMODULE_UNLOADMODVERSIONSMOUSE_APPLETOUCHMOUSE_BCM5974MOUSE_CYAPAMOUSE_PS2MOUSE_PS2_ALPSMOUSE_PS2_BYDMOUSE_PS2_CYPRESSMOUSE_PS2_ELANTECHMOUSE_PS2_ELANTECH_SMBUSMOUSE_PS2_FOCALTECHMOUSE_PS2_LOGIPS2PPMOUSE_PS2_SENTELICMOUSE_PS2_SMBUSMOUSE_PS2_SYNAPTICSMOUSE_PS2_SYNAPTICS_SMBUSMOUSE_PS2_TRACKPOINTMOUSE_SERIALMOUSE_SYNAPTICS_I2CMOUSE_SYNAPTICS_USBMOUSE_VSXXXAAMPILIBMPLSMPTCPMPTCP_IPV6MQ_IOSCHED_DEADLINEMQ_IOSCHED_KYBERMRPMSDOS_FSMSDOS_PARTITIONMSPRO_BLOCKMTDMTD_BLKDEVSMTD_BLOCKMTD_BLOCK2MTDMTD_CFIMTD_CFI_ADV_OPTIONSMTD_CFI_AMDSTDMTD_CFI_GEOMETRYMTD_CFI_I1MTD_CFI_I2MTD_CFI_INTELEXTMTD_CFI_NOSWAPMTD_CFI_STAAMTD_CFI_UTILMTD_CMDLINE_PARTSMTD_GEN_PROBEMTD_MAP_BANK_WIDTH_1MTD_MAP_BANK_WIDTH_2MTD_MAP_BANK_WIDTH_4MTD_MAP_BANK_WIDTH_8MTD_OF_PARTSMTD_PHYSMAPMTD_PHYSMAP_OFMTD_SPI_NORMTD_SPI_NOR_SWP_DISABLE_ON_VOLATILEMTD_SPI_NOR_USE_4K_SECTORSMTD_UBIMTD_UBI_BEB_LIMITMTD_UBI_GLUEBIMTD_UBI_WL_THRESHOLDMULTIUSERMUTEX_SPIN_ON_OWNERMXGBEMXGBEMMXGBEM_FIX_MAC_PADDINGMXGBEVFMXGBEVF_FIX_MAC_PADDINGMXGBEVF_FIX_VF_QUEUEMXGBE_DCBMXGBE_FIX_MAC_PADDINGMXGBE_FIX_VF_QUEUEMXGBE_MSIX_COUNTNAMESPACESNATIONAL_PHYNBL_CORENCEND_BTTND_CLAIMND_PFNNE6XNE6XVFNEED_DMA_MAP_STATENEED_KVM_DIRTY_RING_WITH_BITMAPNEED_PER_CPU_EMBED_FIRST_CHUNKNEED_PER_CPU_PAGE_FIRST_CHUNKNEED_SG_DMA_FLAGSNEED_SG_DMA_LENGTHNETNETACC_BPFNETACC_TERRACENETCONSOLENETCONSOLE_DYNAMICNETDEVICESNETFILTERNETFILTER_ADVANCEDNETFILTER_BPF_LINKNETFILTER_CONNCOUNTNETFILTER_EGRESSNETFILTER_FAMILY_ARPNETFILTER_FAMILY_BRIDGENETFILTER_INGRESSNETFILTER_NETLINKNETFILTER_NETLINK_ACCTNETFILTER_NETLINK_GLUE_CTNETFILTER_NETLINK_LOGNETFILTER_NETLINK_OSFNETFILTER_NETLINK_QUEUENETFILTER_SKIP_EGRESSNETFILTER_SYNPROXYNETFILTER_XTABLESNETFILTER_XTABLES_COMPATNETFILTER_XT_CONNMARKNETFILTER_XT_MARKNETFILTER_XT_MATCH_ADDRTYPENETFILTER_XT_MATCH_BPFNETFILTER_XT_MATCH_CGROUPNETFILTER_XT_MATCH_CLUSTERNETFILTER_XT_MATCH_COMMENTNETFILTER_XT_MATCH_CONNBYTESNETFILTER_XT_MATCH_CONNLABELNETFILTER_XT_MATCH_CONNLIMITNETFILTER_XT_MATCH_CONNMARKNETFILTER_XT_MATCH_CONNTRACKNETFILTER_XT_MATCH_CPUNETFILTER_XT_MATCH_DCCPNETFILTER_XT_MATCH_DEVGROUPNETFILTER_XT_MATCH_DSCPNETFILTER_XT_MATCH_ECNNETFILTER_XT_MATCH_ESPNETFILTER_XT_MATCH_HASHLIMITNETFILTER_XT_MATCH_HELPERNETFILTER_XT_MATCH_HLNETFILTER_XT_MATCH_IPCOMPNETFILTER_XT_MATCH_IPRANGENETFILTER_XT_MATCH_IPVSNETFILTER_XT_MATCH_L2TPNETFILTER_XT_MATCH_LENGTHNETFILTER_XT_MATCH_LIMITNETFILTER_XT_MATCH_MACNETFILTER_XT_MATCH_MARKNETFILTER_XT_MATCH_MULTIPORTNETFILTER_XT_MATCH_NFACCTNETFILTER_XT_MATCH_OSFNETFILTER_XT_MATCH_OWNERNETFILTER_XT_MATCH_PHYSDEVNETFILTER_XT_MATCH_PKTTYPENETFILTER_XT_MATCH_POLICYNETFILTER_XT_MATCH_QUOTANETFILTER_XT_MATCH_RATEESTNETFILTER_XT_MATCH_REALMNETFILTER_XT_MATCH_RECENTNETFILTER_XT_MATCH_SCTPNETFILTER_XT_MATCH_SOCKETNETFILTER_XT_MATCH_STATENETFILTER_XT_MATCH_STATISTICNETFILTER_XT_MATCH_STRINGNETFILTER_XT_MATCH_TCPMSSNETFILTER_XT_MATCH_TIMENETFILTER_XT_MATCH_U32NETFILTER_XT_NATNETFILTER_XT_SETNETFILTER_XT_TARGET_AUDITNETFILTER_XT_TARGET_CHECKSUMNETFILTER_XT_TARGET_CLASSIFYNETFILTER_XT_TARGET_CONNMARKNETFILTER_XT_TARGET_CONNSECMARKNETFILTER_XT_TARGET_CTNETFILTER_XT_TARGET_DSCPNETFILTER_XT_TARGET_HLNETFILTER_XT_TARGET_HMARKNETFILTER_XT_TARGET_IDLETIMERNETFILTER_XT_TARGET_LEDNETFILTER_XT_TARGET_LOGNETFILTER_XT_TARGET_MARKNETFILTER_XT_TARGET_MASQUERADENETFILTER_XT_TARGET_NETMAPNETFILTER_XT_TARGET_NFLOGNETFILTER_XT_TARGET_NFQUEUENETFILTER_XT_TARGET_NOTRACKNETFILTER_XT_TARGET_RATEESTNETFILTER_XT_TARGET_REDIRECTNETFILTER_XT_TARGET_SECMARKNETFILTER_XT_TARGET_TCPMSSNETFILTER_XT_TARGET_TCPOPTSTRIPNETFILTER_XT_TARGET_TEENETFILTER_XT_TARGET_TPROXYNETFILTER_XT_TARGET_TRACENETFS_STATSNETFS_SUPPORTNETLABELNETLINK_DIAGNETPOLLNETWORK_FILESYSTEMSNETWORK_PHY_TIMESTAMPINGNETWORK_SECMARKNETXEN_NICNET_9PNET_9P_FDNET_9P_VIRTIONET_ACT_BPFNET_ACT_CSUMNET_ACT_GACTNET_ACT_MIRREDNET_ACT_NATNET_ACT_PEDITNET_ACT_POLICENET_ACT_SAMPLENET_ACT_SIMPNET_ACT_SKBEDITNET_ACT_SKBMODNET_ACT_TUNNEL_KEYNET_ACT_VLANNET_CLSNET_CLS_ACTNET_CLS_BASICNET_CLS_BPFNET_CLS_CGROUPNET_CLS_FLOWNET_CLS_FLOWERNET_CLS_FWNET_CLS_MATCHALLNET_CLS_ROUTE4NET_CLS_U32NET_CORENET_DEVLINKNET_DROP_MONITORNET_EGRESSNET_EMATCHNET_EMATCH_CMPNET_EMATCH_IPSETNET_EMATCH_METANET_EMATCH_NBYTENET_EMATCH_STACKNET_EMATCH_TEXTNET_EMATCH_U32NET_FAILOVERNET_FCNET_FLOW_LIMITNET_HANDSHAKENET_INGRESSNET_IPGRENET_IPGRE_BROADCASTNET_IPGRE_DEMUXNET_IPIPNET_IPVTINET_IP_TUNNELNET_KEYNET_KEY_MIGRATENET_L3_MASTER_DEVNET_MPLS_GSONET_NSNET_NSHNET_PKTGENNET_POLL_CONTROLLERNET_PTP_CLASSIFYNET_REDIRECTNET_RX_BUSY_POLLNET_SCHEDNET_SCH_CHOKENET_SCH_CODELNET_SCH_DEFAULTNET_SCH_DRRNET_SCH_FIFONET_SCH_FQNET_SCH_FQ_CODELNET_SCH_GREDNET_SCH_HFSCNET_SCH_HHFNET_SCH_HTBNET_SCH_INGRESSNET_SCH_MQPRIONET_SCH_MQPRIO_LIBNET_SCH_MULTIQNET_SCH_NETEMNET_SCH_PIENET_SCH_PLUGNET_SCH_PRIONET_SCH_QFQNET_SCH_REDNET_SCH_SFBNET_SCH_SFQNET_SCH_TBFNET_SCH_TEQLNET_SELFTESTSNET_SOCK_MSGNET_SWITCHDEVNET_TEAMNET_TEAM_MODE_ACTIVEBACKUPNET_TEAM_MODE_BROADCASTNET_TEAM_MODE_LOADBALANCENET_TEAM_MODE_RANDOMNET_TEAM_MODE_ROUNDROBINNET_UDP_TUNNELNET_VENDOR_3SNICNET_VENDOR_ADINET_VENDOR_ALACRITECHNET_VENDOR_AMAZONNET_VENDOR_AMDNET_VENDOR_AQUANTIANET_VENDOR_ARCNET_VENDOR_ASIXNET_VENDOR_ATHEROSNET_VENDOR_BROADCOMNET_VENDOR_BZWXNET_VENDOR_CAVIUMNET_VENDOR_CHELSIONET_VENDOR_DAVICOMNET_VENDOR_ENGLEDERNET_VENDOR_FUNGIBLENET_VENDOR_GOOGLENET_VENDOR_HISILICONNET_VENDOR_HUAWEINET_VENDOR_INTELNET_VENDOR_LITEXNET_VENDOR_MELLANOXNET_VENDOR_MICROSEMINET_VENDOR_MICROSOFTNET_VENDOR_MUCSENET_VENDOR_MYRINET_VENDOR_NEBULA_MATRIXNET_VENDOR_NETRONOMENET_VENDOR_OKINET_VENDOR_PENSANDONET_VENDOR_QLOGICNET_VENDOR_QUALCOMMNET_VENDOR_REALTEKNET_VENDOR_ROCKERNET_VENDOR_SMSCNET_VENDOR_SOLARFLARENET_VENDOR_VERTEXCOMNET_VENDOR_WANGXUNNET_VENDOR_YUNSILICONNET_VRFNET_XGENENET_XGENE_V2NET_XGRESSNEW_LEDSNFPNFP_APP_ABM_NICNFP_APP_FLOWERNFP_NET_IPSECNFSDNFSD_BLOCKLAYOUTNFSD_FLEXFILELAYOUTNFSD_PNFSNFSD_SCSILAYOUTNFSD_V3_ACLNFSD_V4NFSD_V4_2_INTER_SSCNFSD_V4_SECURITY_LABELNFS_ACL_SUPPORTNFS_COMMONNFS_DEBUGNFS_FSNFS_FSCACHENFS_USE_KERNEL_DNSNFS_V2NFS_V3NFS_V3_ACLNFS_V4NFS_V4_1NFS_V4_1_IMPLEMENTATION_ID_DOMAINNFS_V4_2NFS_V4_2_SSC_HELPERNFS_V4_SECURITY_LABELNFT_BRIDGE_REJECTNFT_COMPATNFT_CTNFT_DUP_IPV4NFT_DUP_IPV6NFT_DUP_NETDEVNFT_FIBNFT_FIB_INETNFT_FIB_IPV4NFT_FIB_IPV6NFT_FIB_NETDEVNFT_FWD_NETDEVNFT_HASHNFT_LIMITNFT_LOGNFT_MASQNFT_NATNFT_NUMGENNFT_QUEUENFT_QUOTANFT_REDIRNFT_REJECTNFT_REJECT_INETNFT_REJECT_IPV4NFT_REJECT_IPV6NF_CONNTRACKNF_CONNTRACK_AMANDANF_CONNTRACK_BROADCASTNF_CONNTRACK_EVENTSNF_CONNTRACK_FTPNF_CONNTRACK_H323NF_CONNTRACK_IRCNF_CONNTRACK_LABELSNF_CONNTRACK_MARKNF_CONNTRACK_NETBIOS_NSNF_CONNTRACK_OVSNF_CONNTRACK_PPTPNF_CONNTRACK_PROCFSNF_CONNTRACK_SANENF_CONNTRACK_SECMARKNF_CONNTRACK_SIPNF_CONNTRACK_SNMPNF_CONNTRACK_TFTPNF_CONNTRACK_TIMEOUTNF_CONNTRACK_TIMESTAMPNF_CONNTRACK_ZONESNF_CT_NETLINKNF_CT_NETLINK_HELPERNF_CT_NETLINK_TIMEOUTNF_CT_PROTO_DCCPNF_CT_PROTO_GRENF_CT_PROTO_SCTPNF_CT_PROTO_UDPLITENF_DEFRAG_IPV4NF_DEFRAG_IPV6NF_DUP_IPV4NF_DUP_IPV6NF_DUP_NETDEVNF_LOG_ARPNF_LOG_IPV4NF_LOG_IPV6NF_LOG_SYSLOGNF_NATNF_NAT_AMANDANF_NAT_FTPNF_NAT_H323NF_NAT_IRCNF_NAT_MASQUERADENF_NAT_OVSNF_NAT_PPTPNF_NAT_REDIRECTNF_NAT_SIPNF_NAT_SNMP_BASICNF_NAT_TFTPNF_REJECT_IPV4NF_REJECT_IPV6NF_SOCKET_IPV4NF_SOCKET_IPV6NF_TABLESNF_TABLES_ARPNF_TABLES_BRIDGENF_TABLES_INETNF_TABLES_IPV4NF_TABLES_IPV6NF_TABLES_NETDEVNF_TPROXY_IPV4NF_TPROXY_IPV6NGBENLATTRNLMONNLSNLS_ASCIINLS_CODEPAGE_1250NLS_CODEPAGE_1251NLS_CODEPAGE_437NLS_CODEPAGE_737NLS_CODEPAGE_775NLS_CODEPAGE_850NLS_CODEPAGE_852NLS_CODEPAGE_855NLS_CODEPAGE_857NLS_CODEPAGE_860NLS_CODEPAGE_861NLS_CODEPAGE_862NLS_CODEPAGE_863NLS_CODEPAGE_864NLS_CODEPAGE_865NLS_CODEPAGE_866NLS_CODEPAGE_869NLS_CODEPAGE_874NLS_CODEPAGE_932NLS_CODEPAGE_936NLS_CODEPAGE_949NLS_CODEPAGE_950NLS_DEFAULTNLS_ISO8859_1NLS_ISO8859_13NLS_ISO8859_14NLS_ISO8859_15NLS_ISO8859_2NLS_ISO8859_3NLS_ISO8859_4NLS_ISO8859_5NLS_ISO8859_6NLS_ISO8859_7NLS_ISO8859_8NLS_ISO8859_9NLS_KOI8_RNLS_KOI8_UNLS_MAC_CELTICNLS_MAC_CENTEURONLS_MAC_CROATIANNLS_MAC_CYRILLICNLS_MAC_GAELICNLS_MAC_GREEKNLS_MAC_ICELANDNLS_MAC_INUITNLS_MAC_ROMANNLS_MAC_ROMANIANNLS_MAC_TURKISHNLS_UCS2_UTILSNLS_UTF8NODES_SHIFTNON_NMI_IPI_BACKTRACENOP_TRACERNOUVEAU_DEBUGNOUVEAU_DEBUG_DEFAULTNO_HZNO_HZ_COMMONNO_HZ_FULLNR_CPUSNTBNTFS3_FSNTFS3_FS_POSIX_ACLNTFS3_LZX_XPRESSNTFS_FSNUMANUMA_AWARE_SPINLOCKSNUMA_BALANCINGNUMA_BALANCING_DEFAULT_ENABLEDNUMA_KEEP_MEMINFONVDIMM_DAXNVDIMM_KEYSNVDIMM_PFNNVIDIA_CARMEL_CNP_ERRATUMNVMEMNVMEM_SYSFSNVME_CORENVME_FABRICSNVME_FCNVME_MULTIPATHNVME_RDMANVME_TARGETNVME_TARGET_FCNVME_TARGET_FCLOOPNVME_TARGET_LOOPNVME_TARGET_RDMANVME_TARGET_TCPNVME_TCPN_GSMN_HDLCOCFS2_FSOCFS2_FS_O2CBOCFS2_FS_USERSPACE_CLUSTEROFOF_ADDRESSOF_DYNAMICOF_EARLY_FLATTREEOF_FLATTREEOF_GPIOOF_IOMMUOF_IRQOF_KOBJOF_MDIOOF_NUMAOF_OVERLAYOF_PMEMOF_RESERVED_MEMOF_RESOLVEOID_REGISTRYOLD_SIGSUSPEND3OPENVSWITCHOPENVSWITCH_GENEVEOPENVSWITCH_GREOPENVSWITCH_VXLANOSF_PARTITIONOSNOISE_TRACEROVERLAY_FSOVERLAY_FS_REDIRECT_ALWAYS_FOLLOWPACKETPACKET_DIAGPADATAPAGE_CACHE_LIMITPAGE_COUNTERPAGE_EJECTPAGE_IDLE_FLAGPAGE_POOLPAGE_POOL_STATSPAGE_REPORTINGPAGE_SIZE_LESS_THAN_256KBPAGE_SIZE_LESS_THAN_64KBPAHOLE_HAS_LANG_EXCLUDEPAHOLE_HAS_SPLIT_BTFPAHOLE_VERSIONPANIC_ON_OOPSPANIC_ON_OOPS_VALUEPANIC_TIMEOUTPARAVIRTPARAVIRT_SCHEDPARAVIRT_TIME_ACCOUNTINGPARTITION_ADVANCEDPARTITION_PERCPUPATA_TIMINGSPCCPCIPCIEAERPCIEAER_CXLPCIEAER_INJECTPCIEASPMPCIEASPM_DEFAULTPCIEPORTBUSPCIE_BUS_DEFAULTPCIE_DPCPCIE_DWPCIE_DW_HOSTPCIE_ECRCPCIE_EDRPCIE_PMEPCIPCWATCHDOGPCI_ATSPCI_DOEPCI_DOMAINSPCI_DOMAINS_GENERICPCI_ECAMPCI_HISIPCI_HOST_COMMONPCI_HOST_GENERICPCI_HOST_THUNDER_ECAMPCI_HOST_THUNDER_PEMPCI_IOVPCI_LABELPCI_MSIPCI_P2PDMAPCI_PASIDPCI_PRIPCI_QUIRKSPCI_STUBPCI_SYSCALLPCI_XGENEPCI_XGENE_MSIPCPU_DEV_REFCNTPCP_BATCH_SCALE_MAXPCS_XPCSPERF_EVENTSPERF_USE_VMALLOCPERSISTENT_KEYRINGSPER_VMA_LOCKPGP_KEY_PARSERPGP_LIBRARYPGP_PRELOADPGP_PRELOAD_PUBLIC_KEYSPGTABLE_HAS_HUGE_LEAVESPGTABLE_LEVELSPHYLIBPHYLIB_LEDSPHYLINKPHYS_ADDR_T_64BITPHY_HI6220_USBPHY_XGENEPID_IN_CONTEXTIDRPID_MAX_PER_NAMESPACEPID_NSPINCONFPINCTRLPINCTRL_MSMPINCTRL_QDF2XXXPINMUXPKCS7_MESSAGE_PARSERPLDMFWPMPMBUSPM_CLKPM_DEBUGPM_GENERIC_DOMAINSPM_GENERIC_DOMAINS_OFPM_GENERIC_DOMAINS_SLEEPPM_SLEEPPM_SLEEP_DEBUGPM_SLEEP_SMPPM_STD_PARTITIONPNFS_BLOCKPNFS_FILE_LAYOUTPNFS_FLEXFILE_LAYOUTPNPPNPACPIPNP_DEBUG_MESSAGESPOSIX_CPU_TIMERS_TASK_WORKPOSIX_MQUEUEPOSIX_MQUEUE_SYSCTLPOSIX_TIMERSPOWER_RESETPOWER_RESET_GPIOPOWER_RESET_GPIO_RESTARTPOWER_RESET_HISIPOWER_RESET_RESTARTPOWER_RESET_SYSCONPOWER_RESET_VEXPRESSPOWER_SUPPLYPOWER_SUPPLY_HWMONPPPPPPOATMPPPOEPPPOE_HASH_BITSPPPOE_HASH_BITS_4PPPOL2TPPPP_ASYNCPPP_BSDCOMPPPP_DEFLATEPPP_FILTERPPP_MPPEPPP_MULTILINKPPP_SYNC_TTYPPSPPS_CLIENT_GPIOPPS_CLIENT_LDISCPPTPPREEMPT_NONEPREEMPT_NONE_BUILDPREEMPT_NOTIFIERSPREVENT_FIRMWARE_BUILDPRINTKPRINTK_CALLERPRINTK_TIMEPROBE_EVENTSPROC_CHILDRENPROC_CPU_RESCTRLPROC_EVENTSPROC_FSPROC_KCOREPROC_PAGE_MONITORPROC_PID_CPUSETPROC_SYSCTLPROC_VMCOREPROFILINGPSAMPLEPSIPSI_CGROUP_V1PSI_DEFAULT_DISABLEDPSI_FINE_GRAINEDPSTOREPSTORE_COMPRESSPSTORE_DEFAULT_KMSG_BYTESPSTORE_RAMPTP_1588_CLOCKPTP_1588_CLOCK_KVMPTP_1588_CLOCK_OPTIONALPTP_HISIPVPANICPVPANIC_MMIOPWMPWM_SYSFSPWRSEQ_EMMCPWRSEQ_SIMPLEQCOM_EBI2QCOM_EMACQCOM_FALKOR_ERRATUM_1003QCOM_FALKOR_ERRATUM_1009QCOM_FALKOR_ERRATUM_E1041QCOM_HIDMAQCOM_HIDMA_MGMTQCOM_IRQ_COMBINERQCOM_KRYO_L2_ACCESSORSQCOM_L2_PMUQCOM_L3_PMUQCOM_QDF2400_ERRATUM_0065QCOM_SCMQEDQEDEQEDFQEDIQED_FCOEQED_ISCSIQED_LL2QED_OOOQED_RDMAQED_SRIOVQFMT_V2QLA3XXXQOS_SCHEDQOS_SCHED_DYNAMIC_AFFINITYQOS_SCHED_MULTILEVELQOS_SCHED_PRIO_LBQOS_SCHED_SMART_GRIDQOS_SCHED_SMT_EXPELLERQSEMI_PHYQUEUED_RWLOCKSQUEUED_SPINLOCKSQUOTAQUOTACTLQUOTA_NETLINK_INTERFACEQUOTA_TREER8169RADIO_ADAPTERSRAID6_PQRAID6_PQ_BENCHMARKRAID_ATTRSRANDOMIZE_BASERANDOMIZE_KSTACK_OFFSETRANDOMIZE_MODULE_REGION_FULLRANDSTRUCT_NONERASRAS_ARM_EVENT_INFORATIONALRCU_CPU_STALL_TIMEOUTRCU_EXP_CPU_STALL_TIMEOUTRCU_NEED_SEGCBLISTRCU_NOCB_CPURCU_STALL_COMMONRDMA_RXERD_BZIP2RD_GZIPRD_LZ4RD_LZMARD_LZORD_XZRD_ZSTDREAD_ONLY_THP_FOR_FSREALTEK_AUTOPMREALTEK_PHYREED_SOLOMONREED_SOLOMON_DEC8REED_SOLOMON_ENC8REGMAPREGMAP_I2CREGMAP_MMIOREGMAP_SPIREGULATORRELAYRELOCATABLERESCTRL_FSRESCTRL_RMID_DEPENDS_ON_CLOSIDRESET_CONTROLLERRESET_HISIRFKILLRFKILL_GPIORFKILL_INPUTRFKILL_LEDSRFS_ACCELRING_BUFFERRING_BUFFER_BENCHMARKRMI4_2D_SENSORRMI4_CORERMI4_F03RMI4_F03_SERIORMI4_F11RMI4_F12RMI4_F30RMI4_I2CRMI4_SMBRMI4_SPIROCKCHIP_ERRATUM_3588001ROCKERROHROH_HNSRPCSEC_GSS_KRB5RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1RPSRSEQRT2800USBRT2800USB_RT33XXRT2800USB_RT35XXRT2800USB_RT53XXRT2800_LIBRT2X00RT2X00_LIBRT2X00_LIB_CRYPTORT2X00_LIB_FIRMWARERT2X00_LIB_LEDSRT2X00_LIB_USBRTC_CLASSRTC_DRV_ABB5ZES3RTC_DRV_ABX80XRTC_DRV_BQ32KRTC_DRV_DS1286RTC_DRV_DS1305RTC_DRV_DS1307RTC_DRV_DS1343RTC_DRV_DS1347RTC_DRV_DS1374RTC_DRV_DS1374_WDTRTC_DRV_DS1390RTC_DRV_DS1511RTC_DRV_DS1553RTC_DRV_DS1672RTC_DRV_DS1685RTC_DRV_DS1685_FAMILYRTC_DRV_DS1742RTC_DRV_DS2404RTC_DRV_DS3232RTC_DRV_DS3232_HWMONRTC_DRV_EFIRTC_DRV_EM3027RTC_DRV_FM3130RTC_DRV_ISL12022RTC_DRV_ISL1208RTC_DRV_M41T80RTC_DRV_M41T80_WDTRTC_DRV_M41T93RTC_DRV_M41T94RTC_DRV_M48T35RTC_DRV_M48T59RTC_DRV_MAX6900RTC_DRV_MAX6902RTC_DRV_MCP795RTC_DRV_MSM6242RTC_DRV_PCF2123RTC_DRV_PCF2127RTC_DRV_PCF85063RTC_DRV_PCF8523RTC_DRV_PCF8563RTC_DRV_PCF8583RTC_DRV_PL031RTC_DRV_R9701RTC_DRV_RP5C01RTC_DRV_RS5C348RTC_DRV_RS5C372RTC_DRV_RV3029C2RTC_DRV_RV8803RTC_DRV_RX4581RTC_DRV_RX8010RTC_DRV_RX8025RTC_DRV_RX8581RTC_DRV_STK17TA8RTC_DRV_X1205RTC_HCTOSYSRTC_HCTOSYS_DEVICERTC_I2C_AND_SPIRTC_INTF_DEVRTC_INTF_PROCRTC_INTF_SYSFSRTC_LIBRTC_NVMEMRTC_SYSTOHCRTC_SYSTOHC_DEVICERT_GROUP_SCHEDRT_MUTEXESRWSEM_SPIN_ON_OWNERSATA_AHCISATA_AHCI_PLATFORMSATA_AHCI_SEATTLESATA_HOSTSATA_MOBILE_LPM_POLICYSATA_PMPSBITMAPSCHEDSTATSSCHED_AUTOGROUPSCHED_CLUSTERSCHED_DEBUGSCHED_HRTICKSCHED_INFOSCHED_MCSCHED_SMTSCHED_STEALSCHED_THERMAL_PRESSURESCHED_TRACERSCREEN_INFOSCSISCSI_3SNIC_SSSRAIDSCSI_AACRAIDSCSI_BNX2X_FCOESCSI_BNX2_ISCSISCSI_CHELSIO_FCOESCSI_COMMONSCSI_CONSTANTSSCSI_CXGB4_ISCSISCSI_DEBUGSCSI_DHSCSI_DH_ALUASCSI_DH_EMCSCSI_DH_HP_SWSCSI_DH_RDACSCSI_DMASCSI_ENCLOSURESCSI_FC_ATTRSSCSI_HISI_RAIDSCSI_HISI_SASSCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLESCSI_HISI_SAS_PCISCSI_HPSASCSI_IPRSCSI_IPR_DUMPSCSI_IPR_TRACESCSI_ISCSI_ATTRSSCSI_LOGGINGSCSI_LOWLEVELSCSI_LPFCSCSI_MODSCSI_MPT2SASSCSI_MPT2SAS_MAX_SGESCSI_MPT3SASSCSI_MPT3SAS_MAX_SGESCSI_NETLINKSCSI_PROC_FSSCSI_QLA_FCSCSI_QLA_ISCSISCSI_SAS_ATASCSI_SAS_ATTRSSCSI_SAS_HOST_SMPSCSI_SAS_LIBSASSCSI_SCAN_ASYNCSCSI_SMARTPQISCSI_SPI_ATTRSSCSI_SRP_ATTRSSCSI_VIRTIOSCTP_COOKIE_HMAC_MD5SCTP_COOKIE_HMAC_SHA1SCTP_DEFAULT_COOKIE_HMAC_SHA1SDEI_WATCHDOGSDIO_UARTSECCOMPSECCOMP_FILTERSECONDARY_TRUSTED_KEYRINGSECRETMEMSECTION_MISMATCH_WARN_ONLYSECURITYSECURITYFSSECURITY_APPARMORSECURITY_APPARMOR_EXPORT_BINARYSECURITY_APPARMOR_HASHSECURITY_APPARMOR_HASH_DEFAULTSECURITY_APPARMOR_INTROSPECT_POLICYSECURITY_APPARMOR_PARANOID_LOADSECURITY_INFINIBANDSECURITY_LOCKDOWN_LSMSECURITY_LOCKDOWN_LSM_EARLYSECURITY_NETWORKSECURITY_NETWORK_XFRMSECURITY_PATHSECURITY_SELINUXSECURITY_SELINUX_AVC_STATSSECURITY_SELINUX_BOOTPARAMSECURITY_SELINUX_DEVELOPSECURITY_SELINUX_SID2STR_CACHE_SIZESECURITY_SELINUX_SIDTAB_HASH_BITSSECURITY_YAMASENSORS_ACPI_POWERSENSORS_AD7314SENSORS_AD7414SENSORS_AD7418SENSORS_ADC128D818SENSORS_ADCXXSENSORS_ADM1025SENSORS_ADM1026SENSORS_ADM1029SENSORS_ADM1031SENSORS_ADM1275SENSORS_ADM9240SENSORS_ADS7828SENSORS_ADS7871SENSORS_ADT7310SENSORS_ADT7410SENSORS_ADT7411SENSORS_ADT7462SENSORS_ADT7470SENSORS_ADT7475SENSORS_ADT7X10SENSORS_AMC6821SENSORS_APDS990XSENSORS_ARM_SCPISENSORS_ASC7621SENSORS_ATXP1SENSORS_BH1770SENSORS_DME1737SENSORS_DS1621SENSORS_DS620SENSORS_EMC1403SENSORS_EMC6W201SENSORS_F71805FSENSORS_F71882FGSENSORS_F75375SSENSORS_G760ASENSORS_G762SENSORS_GL518SMSENSORS_GL520SMSENSORS_IBMAEMSENSORS_IBMPEXSENSORS_INA209SENSORS_INA2XXSENSORS_IT87SENSORS_JC42SENSORS_LINEAGESENSORS_LIS3LV02DSENSORS_LIS3_I2CSENSORS_LM25066SENSORS_LM63SENSORS_LM70SENSORS_LM73SENSORS_LM75SENSORS_LM77SENSORS_LM78SENSORS_LM80SENSORS_LM83SENSORS_LM85SENSORS_LM87SENSORS_LM90SENSORS_LM92SENSORS_LM93SENSORS_LM95234SENSORS_LM95241SENSORS_LM95245SENSORS_LTC2945SENSORS_LTC2978SENSORS_LTC3815SENSORS_LTC4151SENSORS_LTC4215SENSORS_LTC4222SENSORS_LTC4245SENSORS_LTC4260SENSORS_LTC4261SENSORS_MAX1111SENSORS_MAX16064SENSORS_MAX16065SENSORS_MAX1619SENSORS_MAX1668SENSORS_MAX197SENSORS_MAX20751SENSORS_MAX31790SENSORS_MAX34440SENSORS_MAX6639SENSORS_MAX6650SENSORS_MAX6697SENSORS_MAX8688SENSORS_MCP3021SENSORS_NCT6683SENSORS_NCT6775SENSORS_NCT6775_CORESENSORS_NCT7802SENSORS_NCT7904SENSORS_PC87360SENSORS_PC87427SENSORS_PCF8591SENSORS_PMBUSSENSORS_POWR1220SENSORS_PWM_FANSENSORS_SCH5627SENSORS_SCH5636SENSORS_SCH56XX_COMMONSENSORS_SHT15SENSORS_SHT21SENSORS_SHTC1SENSORS_SIS5595SENSORS_SMSC47B397SENSORS_SMSC47M1SENSORS_SMSC47M192SENSORS_TC74SENSORS_THMC50SENSORS_TMP102SENSORS_TMP103SENSORS_TMP401SENSORS_TMP421SENSORS_TPS40422SENSORS_TSL2550SENSORS_UCD9000SENSORS_UCD9200SENSORS_VEXPRESSSENSORS_VIA686ASENSORS_VT1211SENSORS_VT8231SENSORS_W83627EHFSENSORS_W83627HFSENSORS_W83781DSENSORS_W83791DSENSORS_W83792DSENSORS_W83793SENSORS_W83795SENSORS_W83L785TSSENSORS_W83L786NGSENSORS_XGENESENSORS_ZL6100SERIAL_8250SERIAL_8250_16550A_VARIANTSSERIAL_8250_CONSOLESERIAL_8250_DMASERIAL_8250_DWSERIAL_8250_DWLIBSERIAL_8250_EXARSERIAL_8250_EXTENDEDSERIAL_8250_FSLSERIAL_8250_MANY_PORTSSERIAL_8250_NR_UARTSSERIAL_8250_PCISERIAL_8250_PCILIBSERIAL_8250_PERICOMSERIAL_8250_PNPSERIAL_8250_RSASERIAL_8250_RT288XSERIAL_8250_RUNTIME_UARTSSERIAL_8250_SHARE_IRQSERIAL_AMBA_PL011SERIAL_AMBA_PL011_CONSOLESERIAL_CORESERIAL_CORE_CONSOLESERIAL_EARLYCONSERIAL_MCTRL_GPIOSERIAL_NONSTANDARDSERIAL_OF_PLATFORMSERIOSERIO_ALTERA_PS2SERIO_AMBAKMISERIO_ARC_PS2SERIO_LIBPS2SERIO_RAWSERIO_SERPORTSETEND_EMULATIONSFCSFC_MCDI_LOGGINGSFC_MCDI_MONSFC_MTDSFC_SRIOVSFPSGI_PARTITIONSGL_ALLOCSG_POOLSG_SPLITSHMEMSHUFFLE_PAGE_ALLOCATORSIGNALFDSIGNATURESIGNED_PE_FILE_VERIFICATIONSKB_EXTENSIONSSLAB_FREELIST_RANDOMSLAB_MERGE_DEFAULTSLHCSLIPSLIP_COMPRESSEDSLIP_SMARTSLUBSLUB_CPU_PARTIALSLUB_DEBUGSMBFSSMCSMC91XSMC_DIAGSMC_LOSMMU_BYPASS_DEVSMPSMSC911XSMSC9420SMSC_PHYSOCIONEXT_SYNQUACER_PREITSSOCK_CGROUP_DATASOCK_RX_QUEUE_MAPPINGSOCK_VALIDATE_XMITSOC_BUSSOFTIRQ_ON_OWN_STACKSOFTLOCKUP_DETECTORSOFT_WATCHDOGSOLARIS_X86_PARTITIONSONY_FFSOUNDSPARSEMEMSPARSEMEM_EXTREMESPARSEMEM_VMEMMAPSPARSEMEM_VMEMMAP_ENABLESPARSE_IRQSPISPI_CADENCESPI_DESIGNWARESPI_DW_MMIOSPI_DW_PCISPI_DYNAMICSPI_HISI_KUNPENGSPI_HISI_SFCSPI_HISI_SFC_V3XXSPI_MASTERSPI_MEMSPI_PL022SPI_QUPSPI_XLPSPLIT_PTLOCK_CPUSSQUASHFSSQUASHFS_COMPILE_DECOMP_SINGLESQUASHFS_DECOMP_SINGLESQUASHFS_FILE_CACHESQUASHFS_FRAGMENT_CACHE_SIZESQUASHFS_LZ4SQUASHFS_LZOSQUASHFS_XATTRSQUASHFS_XZSQUASHFS_ZLIBSSB_POSSIBLESSSNICSTACKDEPOTSTACKPROTECTORSTACKPROTECTOR_PER_TASKSTACKPROTECTOR_STRONGSTACKTRACESTACKTRACE_SUPPORTSTACK_TRACERSTANDALONESTE10XPSTPSTREAM_PARSERSTRICT_DEVMEMSTRICT_KERNEL_RWXSTRICT_MODULE_RWXSTRIP_ASM_SYMSSTUB_CLK_HI3660SUNRPCSUNRPC_BACKCHANNELSUNRPC_DEBUGSUNRPC_GSSSUNRPC_XPRT_RDMASUN_PARTITIONSURFACE_PLATFORMSSUSPENDSUSPEND_FREEZERSWAPSWIOTLBSWPHYSWP_EMULATIONSYMBOLIC_ERRNAMESYNC_FILESYNTH_EVENTSSYN_COOKIESSYSCTLSYSCTL_EXCEPTION_TRACESYSFBSYSFSSYSFS_SYSCALLSYSTEM_BLACKLIST_HASH_LISTSYSTEM_BLACKLIST_KEYRINGSYSTEM_DATA_VERIFICATIONSYSTEM_REVOCATION_KEYSSYSTEM_REVOCATION_LISTSYSTEM_TRUSTED_KEYRINGSYSTEM_TRUSTED_KEYSSYSVIPCSYSVIPC_COMPATSYSVIPC_SYSCTLTAPTARGET_CORETASKSTATSTASKS_RCU_GENERICTASKS_RUDE_RCUTASKS_TRACE_RCUTASK_DELAY_ACCTTASK_IO_ACCOUNTINGTASK_XACCTTCG_ATMELTCG_CRBTCG_INFINEONTCG_TISTCG_TIS_CORETCG_TIS_I2C_ATMELTCG_TIS_I2C_INFINEONTCG_TIS_I2C_NUVOTONTCG_TIS_SPITCG_TIS_ST33ZP24TCG_TIS_ST33ZP24_I2CTCG_TIS_ST33ZP24_SPITCG_TPMTCM_FCTCM_FILEIOTCM_IBLOCKTCM_PSCSITCM_USER2TCP_COMPTCP_CONG_ADVANCEDTCP_CONG_BBRTCP_CONG_BICTCP_CONG_CUBICTCP_CONG_DCTCPTCP_CONG_HSTCPTCP_CONG_HTCPTCP_CONG_HYBLATCP_CONG_ILLINOISTCP_CONG_LPTCP_CONG_NVTCP_CONG_SCALABLETCP_CONG_VEGASTCP_CONG_VENOTCP_CONG_WESTWOODTCP_CONG_YEAHTCP_MD5SIGTEETERANETICS_PHYTEXTSEARCHTEXTSEARCH_BMTEXTSEARCH_FSMTEXTSEARCH_KMPTHERMALTHERMAL_DEFAULT_GOV_STEP_WISETHERMAL_EMERGENCY_POWEROFF_DELAY_MSTHERMAL_EMULATIONTHERMAL_GOV_FAIR_SHARETHERMAL_GOV_STEP_WISETHERMAL_GOV_USER_SPACETHERMAL_HWMONTHERMAL_OFTHP_SWAPTHREAD_INFO_IN_TASKTHUNDERX2_PMUTHUNDER_NIC_BGXTHUNDER_NIC_PFTHUNDER_NIC_RGXTHUNDER_NIC_VFTICK_ONESHOTTIFM_7XX1TIFM_CORETIGON3TIGON3_HWMONTIMERFDTIMERLAT_TRACERTIMER_ACPITIMER_OFTIMER_PROBETIME_NSTIPCTIPC_CRYPTOTIPC_DIAGTIPC_MEDIA_IBTIPC_MEDIA_UDPTLSTLS_DEVICETMPFSTMPFS_POSIX_ACLTMPFS_XATTRTRACEPOINTSTRACER_MAX_TRACETRACER_SNAPSHOTTRACE_CLOCKTRACE_IRQFLAGS_NMI_SUPPORTTRACE_IRQFLAGS_SUPPORTTRACINGTRACING_MAPTRACING_SUPPORTTRANSPARENT_HUGEPAGETRANSPARENT_HUGEPAGE_ALWAYSTRANS_TABLETREE_RCUTREE_SRCUTRUSTED_KEYSTRUSTED_KEYS_TPMTTYTUNTXGBETYPECTYPEC_DP_ALTMODETYPEC_TCPCITYPEC_TCPMTYPEC_UCSIUACCEUCS2_STRINGUCSI_ACPIUDF_FSUEFI_CPERUEFI_CPER_ARMUHIDUID16UIOUIO_AECUIO_CIFUIO_PCI_GENERICUIO_PDRV_GENIRQUIO_SERCOS3ULTRASOC_SMBUNICODEUNIXUNIX98_PTYSUNIXWARE_DISKLABELUNIX_DIAGUNIX_SCMUNMAP_KERNEL_AT_EL0UPROBESUPROBE_EVENTSUSBUSB4USB4_NETUSBPCWATCHDOGUSB_ACMUSB_ADUTUXUSB_ALI_M5632USB_AN2720USB_ANNOUNCE_NEW_DEVICESUSB_APPLEDISPLAYUSB_ARCH_HAS_HCDUSB_ARMLINUXUSB_ATMUSB_AUTOSUSPEND_DELAYUSB_BELKINUSB_CATCUSB_CHAOSKEYUSB_COMMONUSB_CXACRUUSB_DEFAULT_PERSISTUSB_EHCI_HCDUSB_EHCI_HCD_PLATFORMUSB_EHCI_PCIUSB_EHCI_ROOT_HUB_TTUSB_EHCI_TT_NEWSCHEDUSB_EMI26USB_EMI62USB_EPSON2888USB_EZUSB_FX2USB_HIDUSB_HIDDEVUSB_HSIC_USB3503USB_HSOUSB_IDMOUSEUSB_IOWARRIORUSB_IPHETHUSB_ISIGHTFWUSB_KAWETHUSB_KC2190USB_LAN78XXUSB_LCDUSB_LDUSB_LEDS_TRIGGER_USBPORTUSB_LED_TRIGUSB_LEGOTOWERUSB_MDC800USB_MICROTEKUSB_MONUSB_NET_AX88179_178AUSB_NET_AX8817XUSB_NET_CDCETHERUSB_NET_CDC_EEMUSB_NET_CDC_MBIMUSB_NET_CDC_NCMUSB_NET_CDC_SUBSETUSB_NET_CDC_SUBSET_ENABLEUSB_NET_CH9200USB_NET_CX82310_ETHUSB_NET_DM9601USB_NET_DRIVERSUSB_NET_GL620AUSB_NET_HUAWEI_CDC_NCMUSB_NET_INT51X1USB_NET_KALMIAUSB_NET_MCS7830USB_NET_NET1080USB_NET_PLUSBUSB_NET_QMI_WWANUSB_NET_RNDIS_HOSTUSB_NET_SMSC75XXUSB_NET_SMSC95XXUSB_NET_SR9700USB_NET_ZAURUSUSB_OHCI_HCDUSB_OHCI_HCD_PCIUSB_OHCI_LITTLE_ENDIANUSB_PCIUSB_PEGASUSUSB_PRINTERUSB_ROLE_SWITCHUSB_RTL8150USB_RTL8152USB_RTL8153_ECMUSB_SERIALUSB_SERIAL_AIRCABLEUSB_SERIAL_ARK3116USB_SERIAL_BELKINUSB_SERIAL_CH341USB_SERIAL_CP210XUSB_SERIAL_CYBERJACKUSB_SERIAL_CYPRESS_M8USB_SERIAL_DEBUGUSB_SERIAL_DIGI_ACCELEPORTUSB_SERIAL_EDGEPORTUSB_SERIAL_EDGEPORT_TIUSB_SERIAL_EMPEGUSB_SERIAL_FTDI_SIOUSB_SERIAL_GARMINUSB_SERIAL_GENERICUSB_SERIAL_IPAQUSB_SERIAL_IPWUSB_SERIAL_IRUSB_SERIAL_IUUUSB_SERIAL_KEYSPANUSB_SERIAL_KEYSPAN_PDAUSB_SERIAL_KLSIUSB_SERIAL_KOBIL_SCTUSB_SERIAL_MCT_U232USB_SERIAL_MOS7720USB_SERIAL_MOS7840USB_SERIAL_NAVMANUSB_SERIAL_OMNINETUSB_SERIAL_OPTICONUSB_SERIAL_OPTIONUSB_SERIAL_OTI6858USB_SERIAL_PL2303USB_SERIAL_QCAUXUSB_SERIAL_QT2USB_SERIAL_QUALCOMMUSB_SERIAL_SAFEUSB_SERIAL_SAFE_PADDEDUSB_SERIAL_SIERRAWIRELESSUSB_SERIAL_SIMPLEUSB_SERIAL_SPCP8X5USB_SERIAL_SSU100USB_SERIAL_SYMBOLUSB_SERIAL_TIUSB_SERIAL_VISORUSB_SERIAL_WHITEHEATUSB_SERIAL_WWANUSB_SERIAL_XSENS_MTUSB_SEVSEGUSB_SIERRA_NETUSB_SISUSBVGAUSB_STORAGEUSB_STORAGE_ALAUDAUSB_STORAGE_CYPRESS_ATACBUSB_STORAGE_DATAFABUSB_STORAGE_ENE_UB6250USB_STORAGE_FREECOMUSB_STORAGE_ISD200USB_STORAGE_JUMPSHOTUSB_STORAGE_KARMAUSB_STORAGE_ONETOUCHUSB_STORAGE_REALTEKUSB_STORAGE_SDDR09USB_STORAGE_SDDR55USB_STORAGE_USBATUSB_SUPPORTUSB_TMCUSB_UASUSB_UEAGLEATMUSB_UHCI_HCDUSB_ULPI_BUSUSB_USBNETUSB_VIDEO_CLASSUSB_VIDEO_CLASS_INPUT_EVDEVUSB_VL600USB_WDMUSB_XHCI_HCDUSB_XHCI_PCIUSB_XHCI_PLATFORMUSB_XUSBATMUSERFAULTFDUSERSWAPUSER_NSUSE_PERCPU_NUMA_NODE_IDUTS_NSUVC_COMMONV4L2_ASYNCV4L2_FWNODEVDPAVENDOR_BOND_HOOKSVENDOR_HOOKSVETHVEXPRESS_CONFIGVFAT_FSVFIOVFIO_CONTAINERVFIO_DEVICE_CDEVVFIO_GROUPVFIO_IOMMU_TYPE1VFIO_NOIOMMUVFIO_PCIVFIO_PCI_COREVFIO_PCI_INTXVFIO_PCI_MMAPVFIO_PLATFORMVFIO_PLATFORM_BASEVFIO_VIRQFDVGA_ARBVGA_ARB_MAX_GPUSVHOSTVHOST_IOTLBVHOST_MENUVHOST_NETVHOST_SCSIVHOST_TASKVHOST_VDPAVHOST_VDPA_MIGRATIONVHOST_VSOCKVIDEOBUF2_COREVIDEOBUF2_MEMOPSVIDEOBUF2_V4L2VIDEOBUF2_VMALLOCVIDEO_CAMERA_SENSORVIDEO_CMDLINEVIDEO_DEVVIDEO_FIXED_MINOR_RANGESVIDEO_NOMODESETVIDEO_V4L2_I2CVIDEO_V4L2_SUBDEV_APIVIRTIOVIRTIO_ANCHORVIRTIO_BALLOONVIRTIO_BLKVIRTIO_CONSOLEVIRTIO_DMA_SHARED_BUFFERVIRTIO_FSVIRTIO_INPUTVIRTIO_MEMVIRTIO_MENUVIRTIO_MMIOVIRTIO_NETVIRTIO_PCIVIRTIO_PCI_LEGACYVIRTIO_PCI_LIBVIRTIO_PCI_LIB_LEGACYVIRTIO_VSOCKETSVIRTIO_VSOCKETS_COMMONVIRTUALIZATIONVIRT_CPU_ACCOUNTINGVIRT_CPU_ACCOUNTING_GENVIRT_PLAT_DEVVIRT_VTIMER_IRQ_BYPASSVITESSE_PHYVLAN_8021QVLAN_8021Q_GVRPVLAN_8021Q_MVRPVMAP_STACKVM_EVENT_COUNTERSVSOCKETSVSOCKETS_DIAGVSOCKETS_LOOPBACKVSOCKMONVTVT_CONSOLEVT_CONSOLE_SLEEPVT_HW_CONSOLE_BINDINGVXLANWANWANT_DEV_COREDUMPWATCHDOGWATCHDOG_COREWATCHDOG_HANDLE_BOOT_ENABLEDWATCHDOG_OPEN_TIMEOUTWATCHDOG_SYSFSWDTPCIWEXT_COREWEXT_PROCWIRELESSWLANWLAN_VENDOR_ATHWLAN_VENDOR_MICROCHIPWLAN_VENDOR_PURELIFIWLAN_VENDOR_RALINKWLAN_VENDOR_SILABSX509_CERTIFICATE_PARSERXARRAY_MULTIXDP_SOCKETSXDP_SOCKETS_DIAGXFRMXFRM_AHXFRM_ALGOXFRM_ESPXFRM_IPCOMPXFRM_MIGRATEXFRM_OFFLOADXFRM_STATISTICSXFRM_SUB_POLICYXFRM_USERXFS_FSXFS_POSIX_ACLXFS_QUOTAXFS_SUPPORT_ASCII_CIXFS_SUPPORT_V4XGENE_PMUXGENE_SLIMPRO_MBOXXOR_BLOCKSXPSXXHASHXZ_DECXZ_DEC_ARMXZ_DEC_ARMTHUMBXZ_DEC_BCJXZ_DEC_IA64XZ_DEC_POWERPCXZ_DEC_SPARCXZ_DEC_X86YUNSILICON_XSC_ETHYUNSILICON_XSC_PCIZBUDZISOFSZLIB_DEFLATEZLIB_INFLATEZONE_DEVICEZONE_DMAZONE_DMA32ZONE_EXTMEMZPOOLZRAMZRAM_DEF_COMPZRAM_DEF_COMP_LZORLEZRAM_MULTI_COMPZRAM_WRITEBACKZSMALLOCZSMALLOC_CHAIN_SIZEZSMALLOC_STATZSTD_COMMONZSTD_COMPRESSZSTD_DECOMPRESSZSWAPZSWAP_COMPRESSOR_DEFAULTZSWAP_COMPRESSOR_DEFAULT_LZOZSWAP_ZPOOL_DEFAULTZSWAP_ZPOOL_DEFAULT_ZSMALLOCauto.confauto.conf.cmdkernel.releasecryptoacompress.haead.haes.hakcipher.halgapi.harc4.haria.hauthenc.hb128ops.hblake2b.hblake2s.hblowfish.hcast5.hcast6.hcast_common.hchacha.hchacha20poly1305.hcryptd.hctr.hcurve25519.hdes.hdh.hdrbg.hecc_curve.hecdh.hengine.hgcm.hgf128mul.hghash.hhash.hhash_info.hhmac.hif_alg.hinternalacompress.haead.hakcipher.hblake2b.hblake2s.hchacha.hcipher.hcryptouser.hdes.hecc.hengine.hgeniv.hhash.hkdf_selftest.hkpp.hpoly1305.hrng.hrsa.hscompress.hsig.hsimd.hskcipher.hkdf_sp800108.hkpp.hmd5.hnhpoly1305.hnull.hpadlock.hpcrypt.hpkcs7.hpoly1305.hpolyval.hpublic_key.hrng.hscatterwalk.hserpent.hsha1.hsha1_base.hsha2.hsha256_base.hsha3.hsha512_base.hsig.hskcipher.hsm2.hsm3.hsm3_base.hsm4.hstreebog.htwofish.hutils.hxts.hdrmamd_asic_type.hbridgeanalogix_dp.hdw_hdmi.hdw_mipi_dsi.hmhl.hsamsung-dsim.hdisplaydrm_dp.hdrm_dp_aux_bus.hdrm_dp_dual_mode_helper.hdrm_dp_helper.hdrm_dp_mst_helper.hdrm_dsc.hdrm_dsc_helper.hdrm_hdcp.hdrm_hdcp_helper.hdrm_hdmi_helper.hdrm_scdc.hdrm_scdc_helper.hdrm_accel.hdrm_aperture.hdrm_atomic.hdrm_atomic_helper.hdrm_atomic_state_helper.hdrm_atomic_uapi.hdrm_audio_component.hdrm_auth.hdrm_blend.hdrm_bridge.hdrm_bridge_connector.hdrm_buddy.hdrm_cache.hdrm_client.hdrm_color_mgmt.hdrm_connector.hdrm_crtc.hdrm_crtc_helper.hdrm_damage_helper.hdrm_debugfs.hdrm_debugfs_crc.hdrm_device.hdrm_displayid.hdrm_drv.hdrm_edid.hdrm_encoder.hdrm_encoder_slave.hdrm_exec.hdrm_fb_dma_helper.hdrm_fb_helper.hdrm_fbdev_dma.hdrm_fbdev_generic.hdrm_file.hdrm_fixed.hdrm_flip_work.hdrm_format_helper.hdrm_fourcc.hdrm_framebuffer.hdrm_gem.hdrm_gem_atomic_helper.hdrm_gem_dma_helper.hdrm_gem_framebuffer_helper.hdrm_gem_shmem_helper.hdrm_gem_ttm_helper.hdrm_gem_vram_helper.hdrm_gpuva_mgr.hdrm_ioctl.hdrm_kunit_helpers.hdrm_lease.hdrm_legacy.hdrm_managed.hdrm_mipi_dbi.hdrm_mipi_dsi.hdrm_mm.hdrm_mode_config.hdrm_mode_object.hdrm_modes.hdrm_modeset_helper.hdrm_modeset_helper_vtables.hdrm_modeset_lock.hdrm_module.hdrm_of.hdrm_panel.hdrm_pciids.hdrm_plane.hdrm_plane_helper.hdrm_prime.hdrm_print.hdrm_privacy_screen_consumer.hdrm_privacy_screen_driver.hdrm_privacy_screen_machine.hdrm_probe_helper.hdrm_property.hdrm_rect.hdrm_self_refresh_helper.hdrm_simple_kms_helper.hdrm_suballoc.hdrm_syncobj.hdrm_sysfs.hdrm_util.hdrm_utils.hdrm_vblank.hdrm_vblank_work.hdrm_vma_manager.hdrm_writeback.hgma_drm.hgpu_scheduler.hgud.hi2cch7006.hsil164.htda998x.hi915_component.hi915_drm.hi915_gsc_proxy_mei_interface.hi915_hdcp_interface.hi915_pciids.hi915_pxp_tee_interface.hintel-gtt.hintel_lpe_audio.hspsc_queue.htask_barrier.httmttm_bo.httm_caching.httm_device.httm_execbuf_util.httm_kmap_iter.httm_placement.httm_pool.httm_range_manager.httm_resource.httm_tt.hdt-bindingsarmcoresight-cti-dt.hqcom,ids.hux500_pm_domains.hataahci.hbusmoxtet.hti-sysc.hclockactions,s500-cmu.hactions,s700-cmu.hactions,s900-cmu.hagilex-clock.halphascale,asm9260.ham3.ham4.hamlogic,a1-peripherals-clkc.hamlogic,a1-pll-clkc.haspeed-clock.hast2600-clock.hat91.hath79-clk.haxg-aoclkc.haxg-audio-clkc.haxg-clkc.haxis,artpec6-clkctrl.hbcm-cygnus.hbcm-ns2.hbcm-nsp.hbcm-sr.hbcm21664.hbcm281xx.hbcm2835-aux.hbcm2835.hbcm3368-clock.hbcm6318-clock.hbcm63268-clock.hbcm6328-clock.hbcm6358-clock.hbcm6362-clock.hbcm6368-clock.hberlin2.hberlin2q.hbm1880-clock.hboston-clock.hbt1-ccu.hcirrus,cs2000-cp.hclps711x-clock.hcortina,gemini-clock.hdm814.hdm816.hdra7.hen7523-clk.hexynos-audss-clk.hexynos3250.hexynos4.hexynos5250.hexynos5260-clk.hexynos5410.hexynos5420.hexynos5433.hexynos7-clk.hexynos7885.hexynos850.hfsd-clk.hfsl,qoriq-clockgen.hg12a-aoclkc.hg12a-clkc.hgxbb-aoclkc.hgxbb-clkc.hhi3516cv300-clock.hhi3519-clock.hhi3559av100-clock.hhi3620-clock.hhi3660-clock.hhi3670-clock.hhi6220-clock.hhip04-clock.hhistb-clock.hhix5hd2-clock.himx1-clock.himx21-clock.himx27-clock.himx5-clock.himx6qdl-clock.himx6sl-clock.himx6sll-clock.himx6sx-clock.himx6ul-clock.himx7d-clock.himx7ulp-clock.himx8-clock.himx8-lpcg.himx8mm-clock.himx8mn-clock.himx8mp-clock.himx8mq-clock.himx8ulp-clock.himx93-clock.himxrt1050-clock.hingenic,jz4725b-cgu.hingenic,jz4740-cgu.hingenic,jz4755-cgu.hingenic,jz4760-cgu.hingenic,jz4770-cgu.hingenic,jz4780-cgu.hingenic,sysost.hingenic,tcu.hingenic,x1000-cgu.hingenic,x1830-cgu.hintel,agilex5-clkmgr.hintel,lgm-clk.hk210-clk.hlochnagar.hloongson,ls1x-clk.hloongson,ls2k-clk.hlpc18xx-ccu.hlpc18xx-cgu.hlpc32xx-clock.hlsi,axm5516-clks.hmarvell,mmp2-audio.hmarvell,mmp2.hmarvell,pxa168.hmarvell,pxa1928.hmarvell,pxa910.hmaxim,max77620.hmaxim,max77686.hmaxim,max77802.hmaxim,max9485.hmediatek,mt6795-clk.hmediatek,mt7981-clk.hmediatek,mt8188-clk.hmediatek,mt8365-clk.hmeson8-ddr-clkc.hmeson8b-clkc.hmicrochip,lan966x.hmicrochip,mpfs-clock.hmicrochip,pic32-clock.hmicrochip,sparx5.hmpc512x-clock.hmstar-msc313-mpll.hmt2701-clk.hmt2712-clk.hmt6765-clk.hmt6779-clk.hmt6797-clk.hmt7621-clk.hmt7622-clk.hmt7629-clk.hmt7986-clk.hmt8135-clk.hmt8167-clk.hmt8173-clk.hmt8183-clk.hmt8186-clk.hmt8192-clk.hmt8195-clk.hmt8516-clk.hnuvoton,ma35d1-clk.hnuvoton,npcm7xx-clock.hnuvoton,npcm845-clk.homap4.homap5.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-clk.hpx30-cru.hpxa-clock.hqcom,apss-ipq.hqcom,camcc-sc7180.hqcom,camcc-sc7280.hqcom,camcc-sdm845.hqcom,camcc-sm8250.hqcom,dispcc-qcm2290.hqcom,dispcc-sc7180.hqcom,dispcc-sc7280.hqcom,dispcc-sc8280xp.hqcom,dispcc-sdm845.hqcom,dispcc-sm6125.hqcom,dispcc-sm6350.hqcom,dispcc-sm8150.hqcom,dispcc-sm8250.hqcom,dispcc-sm8350.hqcom,gcc-apq8084.hqcom,gcc-ipq4019.hqcom,gcc-ipq5018.hqcom,gcc-ipq6018.hqcom,gcc-ipq806x.hqcom,gcc-ipq8074.hqcom,gcc-mdm9607.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8909.hqcom,gcc-msm8916.hqcom,gcc-msm8917.hqcom,gcc-msm8939.hqcom,gcc-msm8953.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,gcc-msm8976.hqcom,gcc-msm8994.hqcom,gcc-msm8996.hqcom,gcc-msm8998.hqcom,gcc-qcm2290.hqcom,gcc-qcs404.hqcom,gcc-sc7180.hqcom,gcc-sc7280.hqcom,gcc-sc8180x.hqcom,gcc-sc8280xp.hqcom,gcc-sdm660.hqcom,gcc-sdm845.hqcom,gcc-sdx55.hqcom,gcc-sdx65.hqcom,gcc-sm6115.hqcom,gcc-sm6125.hqcom,gcc-sm6350.hqcom,gcc-sm8150.hqcom,gcc-sm8250.hqcom,gcc-sm8350.hqcom,gcc-sm8450.hqcom,gpucc-msm8998.hqcom,gpucc-sc7180.hqcom,gpucc-sc7280.hqcom,gpucc-sc8280xp.hqcom,gpucc-sdm660.hqcom,gpucc-sdm845.hqcom,gpucc-sm6350.hqcom,gpucc-sm8150.hqcom,gpucc-sm8250.hqcom,gpucc-sm8350.hqcom,ipq5332-gcc.hqcom,ipq9574-gcc.hqcom,lcc-ipq806x.hqcom,lcc-msm8960.hqcom,lpass-sc7280.hqcom,lpass-sdm845.hqcom,lpassaudiocc-sc7280.hqcom,lpasscorecc-sc7180.hqcom,lpasscorecc-sc7280.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hqcom,mmcc-msm8994.hqcom,mmcc-msm8996.hqcom,mmcc-msm8998.hqcom,mmcc-sdm660.hqcom,mss-sc7180.hqcom,q6sstopcc-qcs404.hqcom,qdu1000-gcc.hqcom,rpmcc.hqcom,rpmh.hqcom,sa8775p-gcc.hqcom,sa8775p-gpucc.hqcom,sc8280xp-lpasscc.hqcom,sdx75-gcc.hqcom,sm6115-dispcc.hqcom,sm6115-gpucc.hqcom,sm6125-gpucc.hqcom,sm6350-camcc.hqcom,sm6375-dispcc.hqcom,sm6375-gcc.hqcom,sm6375-gpucc.hqcom,sm7150-gcc.hqcom,sm8250-lpass-aoncc.hqcom,sm8250-lpass-audiocc.hqcom,sm8350-videocc.hqcom,sm8450-camcc.hqcom,sm8450-dispcc.hqcom,sm8450-gpucc.hqcom,sm8450-videocc.hqcom,sm8550-dispcc.hqcom,sm8550-gcc.hqcom,sm8550-gpucc.hqcom,sm8550-tcsr.hqcom,turingcc-qcs404.hqcom,videocc-sc7180.hqcom,videocc-sc7280.hqcom,videocc-sdm845.hqcom,videocc-sm8150.hqcom,videocc-sm8250.hr7s72100-clock.hr7s9210-cpg-mssr.hr8a73a4-clock.hr8a7740-clock.hr8a7742-cpg-mssr.hr8a7743-cpg-mssr.hr8a7744-cpg-mssr.hr8a7745-cpg-mssr.hr8a77470-cpg-mssr.hr8a774a1-cpg-mssr.hr8a774b1-cpg-mssr.hr8a774c0-cpg-mssr.hr8a774e1-cpg-mssr.hr8a7778-clock.hr8a7779-clock.hr8a7790-clock.hr8a7790-cpg-mssr.hr8a7791-clock.hr8a7791-cpg-mssr.hr8a7792-clock.hr8a7792-cpg-mssr.hr8a7793-clock.hr8a7793-cpg-mssr.hr8a7794-clock.hr8a7794-cpg-mssr.hr8a7795-cpg-mssr.hr8a7796-cpg-mssr.hr8a77961-cpg-mssr.hr8a77965-cpg-mssr.hr8a77970-cpg-mssr.hr8a77980-cpg-mssr.hr8a77990-cpg-mssr.hr8a77995-cpg-mssr.hr8a779a0-cpg-mssr.hr8a779f0-cpg-mssr.hr8a779g0-cpg-mssr.hr9a06g032-sysctrl.hr9a07g043-cpg.hr9a07g044-cpg.hr9a07g054-cpg.hr9a09g011-cpg.hrenesas-cpg-mssr.hrk3036-cru.hrk3066a-cru.hrk3128-cru.hrk3188-cru-common.hrk3188-cru.hrk3228-cru.hrk3288-cru.hrk3308-cru.hrk3328-cru.hrk3368-cru.hrk3399-cru.hrk3399-ddr.hrk3568-cru.hrockchip,rk3588-cru.hrockchip,rk808.hrockchip,rv1126-cru.hrv1108-cru.hs5pv210-audss.hs5pv210.hsamsung,exynosautov9.hsamsung,s2mps11.hsamsung,s3c64xx-clock.hsh73a0-clock.hsifive-fu540-prci.hsifive-fu740-prci.hsprd,sc9860-clk.hsprd,sc9863a-clk.hsprd,ums512-clk.hstarfive,jh7110-crg.hstarfive-jh7100-audio.hstarfive-jh7100.hste-ab8500.hste-db8500-clkout.hstih407-clks.hstih410-clks.hstih418-clks.hstm32fx-clock.hstm32h7-clks.hstm32mp1-clks.hstm32mp13-clks.hstratix10-clock.hsun20i-d1-ccu.hsun20i-d1-r-ccu.hsun4i-a10-ccu.hsun4i-a10-pll2.hsun50i-a100-ccu.hsun50i-a100-r-ccu.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun50i-h616-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun6i-rtc.hsun7i-a20-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-tcon-top.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.hsuniv-ccu-f1c100s.hsunplus,sp7021-clkc.htegra114-car.htegra124-car-common.htegra124-car.htegra186-clock.htegra194-clock.htegra20-car.htegra210-car.htegra234-clock.htegra30-car.hti-dra7-atl.htoshiba,tmpv770x.hversaclock.hvf610-clock.hxlnx-vcu.hxlnx-versal-clk.hxlnx-zynqmp-clk.hdisplaysdtv-standards.htda998x.hdmaat91.haxi-dmac.hdw-dmac.hfsl-edma.hjz4775-dma.hjz4780-dma.hnbpfaxi.hqcom-gpi.hsun4i-a10.hx1000-dma.hx1830-dma.hx2000-dma.hxlnx-zynqmp-dpdma.hfirmwareimxrsrc.hqcom,scm.hgcemediatek,mt6795-gce.hmt6779-gce.hmt8173-gce.hmt8183-gce.hmt8186-gce.hmt8192-gce.hmt8195-gce.hgpioamlogic-c3-gpio.haspeed-gpio.hgpio.hmeson-a1-gpio.hmeson-axg-gpio.hmeson-g12a-gpio.hmeson-gxbb-gpio.hmeson-gxl-gpio.hmeson-s4-gpio.hmeson8-gpio.hmeson8b-gpio.hmsc313-gpio.htegra-gpio.htegra186-gpio.htegra194-gpio.htegra234-gpio.htegra241-gpio.huniphier-gpio.hi2ci2c.hiioadcat91-sama5d2_adc.hfsl-imx25-gcq.hingenic,adc.hmediatek,mt6370_adc.haddacadi,ad74413r.hadi,ad5592r.hqcom,spmi-adc7-pm8350.hqcom,spmi-adc7-pm8350b.hqcom,spmi-adc7-pmk8350.hqcom,spmi-adc7-pmr735a.hqcom,spmi-adc7-pmr735b.hqcom,spmi-vadc.htemperaturethermocouple.hinputatmel-maxtouch.hcros-ec-keyboard.hgpio-keys.hinput.hlinux-event-codes.hti-drv260x.hinterconnectfsl,imx8mp.himx8mm.himx8mn.himx8mq.hqcom,icc.hqcom,msm8916.hqcom,msm8939.hqcom,msm8974.hqcom,msm8996-cbf.hqcom,msm8996.hqcom,osm-l3.hqcom,qcm2290.hqcom,qcs404.hqcom,qdu1000-rpmh.hqcom,rpm-icc.hqcom,sa8775p-rpmh.hqcom,sc7180.hqcom,sc7280.hqcom,sc8180x.hqcom,sc8280xp.hqcom,sdm660.hqcom,sdm670-rpmh.hqcom,sdm845.hqcom,sdx55.hqcom,sdx65.hqcom,sm6350.hqcom,sm8150.hqcom,sm8250.hqcom,sm8350.hqcom,sm8450.hqcom,sm8550-rpmh.hinterrupt-controlleramlogic,meson-g12a-gpio-intc.happle-aic.harm-gic.haspeed-scu-ic.hirq-st.hirq.hirqc-rzg2l.hmips-gic.hmvebu-icu.hledscommon.hleds-lp55xx.hleds-netxbig.hleds-ns2.hleds-pca9532.hleds-pca955x.hrt4831-backlight.hmailboxmediatek,mt8188-gce.hqcom-ipcc.htegra186-hsp.hmediac8sectpfe.homap3-isp.htda1997x.htvp5150.hvideo-interfaces.hxilinx-vip.hmemorymediatek,mt8188-memory-port.hmediatek,mt8365-larb-port.hmt2701-larb-port.hmt2712-larb-port.hmt6779-larb-port.hmt6795-larb-port.hmt8167-larb-port.hmt8173-larb-port.hmt8183-larb-port.hmt8186-memory-port.hmt8192-larb-port.hmt8195-memory-port.hmtk-memory-port.htegra114-mc.htegra124-mc.htegra186-mc.htegra194-mc.htegra20-mc.htegra210-mc.htegra234-mc.htegra30-mc.hmfdarizona.has3722.hat91-usart.hatmel-flexcom.hcros_ec.hdbx500-prcmu.hmax77620.hpalmas.hqcom-pm8008.hqcom-rpm.hst,stpmic1.hst-lpc.hstm32f4-rcc.hstm32f7-rcc.hstm32h7-rcc.hmipslantiq_rcu_gphy.hmuxmux.hti-serdes.hnetmicrochip-lan78xx.hmscc-phy-vsc8531.hpcs-rzn1-miic.hqca-ar803x.hti-dp83867.hti-dp83869.hnvmemmicrochip,sama7g5-otpc.hphyphy-am654-serdes.hphy-cadence.hphy-imx8-pcie.hphy-lan966x-serdes.hphy-lantiq-vrx200-pcie.hphy-ocelot-serdes.hphy-pistachio-usb.hphy-qcom-qmp.hphy-qcom-qusb2.hphy-ti.hphy.hpinctrlam33xx.ham43xx.happle.hat91.hbcm2835.hbrcm,pinctrl-stingray.hdm814x.hdra.hhisi.hk210-fpioa.hkeystone.hlochnagar.hmediatek,mt8188-pinfunc.hmt6397-pinfunc.hmt65xx.hmt6779-pinfunc.hmt6795-pinfunc.hmt6797-pinfunc.hmt7623-pinfunc.hmt8135-pinfunc.hmt8183-pinfunc.hmt8186-pinfunc.hmt8192-pinfunc.hmt8195-pinfunc.hmt8365-pinfunc.hnomadik.homap.hpads-imx8dxl.hpads-imx8qm.hpads-imx8qxp.hpinctrl-starfive-jh7100.hpinctrl-tegra-io-pad.hpinctrl-tegra-xusb.hpinctrl-tegra.hpinctrl-zynq.hpinctrl-zynqmp.hqcom,pmic-gpio.hqcom,pmic-mpp.hr7s72100-pinctrl.hr7s9210-pinctrl.hrockchip.hrzg2l-pinctrl.hrzn1-pinctrl.hrzv2m-pinctrl.hsamsung.hsppctl-sp7021.hsppctl.hstarfive,jh7110-pinctrl.hstm32-pinfunc.hsun4i-a10.hpmuexynos_ppmu.hpowerallwinner,sun20i-d1-ppu.hamlogic,c3-pwrc.hfsl,imx93-power.himx7-power.himx8mm-power.himx8mn-power.himx8mp-power.himx8mq-power.himx8ulp-power.hmarvell,mmp2.hmediatek,mt8188-power.hmeson-a1-power.hmeson-axg-power.hmeson-g12a-power.hmeson-gxbb-power.hmeson-s4-power.hmeson-sm1-power.hmeson8-power.hmt2701-power.hmt2712-power.hmt6765-power.hmt6795-power.hmt6797-power.hmt7622-power.hmt7623a-power.hmt8167-power.hmt8173-power.hmt8183-power.hmt8186-power.hmt8192-power.hmt8195-power.howl-s500-powergate.howl-s700-powergate.howl-s900-powergate.hpx30-power.hqcom,rpmhpd.hqcom-rpmpd.hr8a7742-sysc.hr8a7743-sysc.hr8a7744-sysc.hr8a7745-sysc.hr8a77470-sysc.hr8a774a1-sysc.hr8a774b1-sysc.hr8a774c0-sysc.hr8a774e1-sysc.hr8a7779-sysc.hr8a7790-sysc.hr8a7791-sysc.hr8a7792-sysc.hr8a7793-sysc.hr8a7794-sysc.hr8a7795-sysc.hr8a7796-sysc.hr8a77961-sysc.hr8a77965-sysc.hr8a77970-sysc.hr8a77980-sysc.hr8a77990-sysc.hr8a77995-sysc.hr8a779a0-sysc.hr8a779f0-sysc.hr8a779g0-sysc.hraspberrypi-power.hrk3036-power.hrk3066-power.hrk3128-power.hrk3188-power.hrk3228-power.hrk3288-power.hrk3328-power.hrk3366-power.hrk3368-power.hrk3399-power.hrk3568-power.hrk3588-power.hrockchip,rv1126-power.hstarfive,jh7110-pmu.hsummit,smb347-charger.htegra186-powergate.htegra194-powergate.htegra234-powergate.hxlnx-zynqmp-power.hpwmpwm.hraspberrypi,firmware-poe-pwm.hregulatoractive-semi,8865-regulator.hactive-semi,8945a-regulator.hdlg,da9063-regulator.hdlg,da9121-regulator.hdlg,da9211-regulator.hmaxim,max77802.hmediatek,mt6360-regulator.hmediatek,mt6397-regulator.hqcom,rpmh-regulator.hrichtek,rt5190a-regulator.hst,stm32mp13-regulator.hti,tps62864.hresetactions,s500-reset.hactions,s700-reset.hactions,s900-reset.haltr,rst-mgr-a10.haltr,rst-mgr-a10sr.haltr,rst-mgr-s10.haltr,rst-mgr.hamlogic,meson-a1-reset.hamlogic,meson-axg-audio-arb.hamlogic,meson-axg-reset.hamlogic,meson-g12a-audio-reset.hamlogic,meson-g12a-reset.hamlogic,meson-gxbb-reset.hamlogic,meson-s4-reset.hamlogic,meson8b-clkc-reset.hamlogic,meson8b-reset.haxg-aoclkc.hbcm6318-reset.hbcm63268-reset.hbcm6328-reset.hbcm6358-reset.hbcm6362-reset.hbcm6368-reset.hbitmain,bm1880-reset.hbt1-ccu.hcortina,gemini-reset.hdelta,tn48m-reset.hg12a-aoclkc.hgxbb-aoclkc.hhisi,hi6220-resets.himx7-reset.himx8mp-reset.himx8mq-reset.himx8ulp-pcc-reset.hk210-rst.hmediatek,mt6735-wdt.hmediatek,mt6795-resets.hmt2701-resets.hmt2712-resets.hmt7621-reset.hmt7622-reset.hmt7629-resets.hmt7986-resets.hmt8135-resets.hmt8173-resets.hmt8183-resets.hmt8186-resets.hmt8188-resets.hmt8192-resets.hmt8195-resets.hnuvoton,ma35d1-reset.hnuvoton,npcm7xx-reset.hoxsemi,ox810se.hoxsemi,ox820.hpistachio-resets.hqcom,gcc-apq8084.hqcom,gcc-ipq5018.hqcom,gcc-ipq6018.hqcom,gcc-ipq806x.hqcom,gcc-mdm9615.hqcom,gcc-msm8660.hqcom,gcc-msm8916.hqcom,gcc-msm8939.hqcom,gcc-msm8960.hqcom,gcc-msm8974.hqcom,ipq9574-gcc.hqcom,mmcc-apq8084.hqcom,mmcc-msm8960.hqcom,mmcc-msm8974.hqcom,sdm845-aoss.hqcom,sdm845-pdc.hqcom,sm8350-videocc.hqcom,sm8450-gpucc.hraspberrypi,firmware-reset.hrealtek,rtd1195.hrealtek,rtd1295.hrockchip,rk3588-cru.hsama7g5-reset.hsnps,hsdk-reset.hstarfive,jh7110-crg.hstarfive-jh7100.hstericsson,db8500-prcc-reset.hstih407-resets.hstm32mp1-resets.hstm32mp13-resets.hsun20i-d1-ccu.hsun20i-d1-r-ccu.hsun4i-a10-ccu.hsun50i-a100-ccu.hsun50i-a100-r-ccu.hsun50i-a64-ccu.hsun50i-h6-ccu.hsun50i-h6-r-ccu.hsun50i-h616-ccu.hsun5i-ccu.hsun6i-a31-ccu.hsun8i-a23-a33-ccu.hsun8i-a83t-ccu.hsun8i-de2.hsun8i-h3-ccu.hsun8i-r-ccu.hsun8i-r40-ccu.hsun8i-v3s-ccu.hsun9i-a80-ccu.hsun9i-a80-de.hsun9i-a80-usb.hsuniv-ccu-f1c100s.hsunplus,sp7021-reset.htegra124-car.htegra186-reset.htegra194-reset.htegra210-car.htegra234-reset.hti-syscon.htoshiba,tmpv770x.hxlnx-versal-resets.hxlnx-zynqmp-resets.hsocbcm-pmb.hbcm2835-pm.hbcm6318-pm.hbcm63268-pm.hbcm6328-pm.hbcm6362-pm.hcpm1-fsl,tsa.hqcom,apr.hqcom,gpr.hqcom,gsbi.hqcom,rpmh-rsc.hrockchip,boot-mode.hrockchip,vop2.hsamsung,boot-mode.hsamsung,exynos-usi.htegra-pmc.hti,sci_pm_domain.hsoundadi,adau1977.hapq8016-lpass.haudio-jack-events.hcs35l32.hcs35l45.hcs42l42.hfsl-imx-audmux.hmadera.hmeson-aiu.hmeson-g12a-toacodec.hmeson-g12a-tohdmitx.hmicrochip,pdmc.hqcom,lpass.hqcom,q6afe.hqcom,q6asm.hqcom,q6dsp-lpass-ports.hqcom,wcd9335.hrt5640.hrt5651.hsamsung-i2s.hsc7180-lpass.htas2552.htlv320adc3xxx.htlv320aic31xx.hspmispmi.hthermallm90.hmediatek,lvts-thermal.htegra124-soctherm.htegra186-bpmp-thermal.htegra194-bpmp-thermal.htegra234-bpmp-thermal.hthermal.hthermal_exynos.husbpd.hgeneratedasm-offsets.hautoconf.hbounds.hcompile.hrustc_cfgtimeconst.huapilinuxversion.hutsrelease.hutsversion.hvdso-offsets.hkeysasymmetric-parser.hasymmetric-subtype.hasymmetric-type.hbig_key-type.hceph-type.hdns_resolver-type.hencrypted-type.hkeyring-type.hrequest_key_auth-type.hrxrpc-type.hsystem_keyring.htrusted-type.htrusted_caam.htrusted_tee.htrusted_tpm.huser-type.hkunitassert.hattributes.hresource.hstatic_stub.htest-bug.htest.htry-catch.hvisibility.hkvmarm_arch_timer.harm_hypercalls.harm_pmu.harm_psci.harm_vgic.hiodev.hlinux8250_pci.hacct.hacpi.hacpi_dma.hacpi_iort.hacpi_mdio.hacpi_pmtmr.hacpi_viot.hadb.hadfs_fs.hadreno-smmu-priv.hadxl.haer.hagp_backend.hagpgart.hahci-remap.hahci_platform.haio.halarmtimer.halcor_pci.halign.haltera_jtaguart.haltera_uart.hambabus.hclcd-regs.hclcd.hkmi.hmmci.hpl022.hpl080.hpl08x.hserial.hsp810.hamd-iommu.hamd-pstate.hanon_inodes.haperture.hapm-emulation.hapm_bios.happle-gmux.happle-mailbox.harch_topology.hargs.harm-cci.harm-smccc.harm_ffa.harm_mpam.harm_sdei.harmada-37xx-rwtm-mailbox.hascii85.hasn1.hasn1_ber_bytecode.hasn1_decoder.hasn1_encoder.hassoc_array.hassoc_array_priv.hasync.hasync_tx.hata.hata_platform.hatalk.hath9k_platform.hatm.hatm_tcp.hatmdev.hatmel-isc-media.hatmel-ssc.hatmel_pdc.hatomicatomic.hatomic-arch-fallback.hatomic-instrumented.hatomic-long.hattribute_container.haudit.haudit_arch.hauto_dev-ioctl.hauto_fs.hauxiliary_bus.hauxvec.haverage.havfvirtchnl.hbacking-dev-defs.hbacking-dev.hbacklight.hbadblocks.hballoon_compaction.hbase64.hbcd.hbch.hbcm47xx_nvram.hbcm47xx_sprom.hbcm47xx_wdt.hbcm963xx_nvram.hbcm963xx_tag.hbcmabcma.hbcma_driver_arm_c9.hbcma_driver_chipcommon.hbcma_driver_gmac_cmn.hbcma_driver_mips.hbcma_driver_pci.hbcma_driver_pcie2.hbcma_regs.hbcma_soc.hbinfmts.hbio.hbit_spinlock.hbitfield.hbitmap.hbitops.hbitrev.hbits.hblk-cgroup.hblk-crypto-profile.hblk-crypto.hblk-integrity.hblk-mq-pci.hblk-mq-virtio.hblk-mq.hblk-pm.hblk_types.hblkdev.hblkpg.hblktrace_api.hblockgroup_lock.hbma150.hbootconfig.hbootmem_info.hbottom_half.hbpf-cgroup-defs.hbpf-cgroup.hbpf-netns.hbpf.hbpf_lirc.hbpf_local_storage.hbpf_lsm.hbpf_mem_alloc.hbpf_mprog.hbpf_sched.hbpf_trace.hbpf_types.hbpf_verifier.hbpfilter.hbpfptr.hbrcmphy.hbsearch.hbsg-lib.hbsg.hbtf.hbtf_ids.hbtree-128.hbtree-type.hbtree.hbtrfs.hbuffer_head.hbug.hbuild-salt.hbuild_bug.hbuildid.hbvec.hbyteorderbig_endian.hgeneric.hlittle_endian.hc2port.hcache.hcacheflush.hcacheinfo.hcanbittiming.hcan-ml.hcore.hdevdev.hpeak_canfd.hlength.hplatformcc770.hflexcan.hsja1000.hrx-offload.hskb.hcapability.hcb710.hcc_platform.hcciss_ioctl.hccp.hcdev.hcdrom.hcdxcdx_bus.hcephauth.hbuffer.hceph_debug.hceph_features.hceph_frag.hceph_fs.hceph_hash.hcls_lock_client.hdebugfs.hdecode.hlibceph.hmdsmap.hmessenger.hmon_client.hmsgpool.hmsgr.hosd_client.hosdmap.hpagelist.hrados.hstring_table.hstriper.htypes.hcfag12864b.hcfi.hcfi_types.hcgroup-defs.hcgroup.hcgroup_api.hcgroup_rdma.hcgroup_refcnt.hcgroup_subsys.hcirc_buf.hcleanup.hclkclk-provider.hclk.hanalogbits-wrpll-cln28hpc.hat91_pmc.hclk-conf.hdavinci.himx.hmxs.hpxa.hrenesas.hsamsung.hspear.hsunxi-ng.htegra.hti.hzynq.hclkdev.hclockchips.hclocksource.hclocksource_ids.hcma.hcn_proc.hcnt32_to_63.hcoda.hcomedicomedi_8254.hcomedi_8255.hcomedi_isadma.hcomedi_pci.hcomedi_pcmcia.hcomedi_usb.hcomedidev.hcomedilib.hcompaction.hcompat.hcompiler-clang.hcompiler-gcc.hcompiler-version.hcompiler.hcompiler_attributes.hcompiler_types.hcompletion.hcomponent.hconfigfs.hconnector.hconsole.hconsole_struct.hconsolemap.hconst.hcontainer.hcontainer_of.hcontext_tracking.hcontext_tracking_irq.hcontext_tracking_state.hcookie.hcordic.hcoredump.hcoresight-pmu.hcoresight-stm.hcoresight.hcount_zeros.hcounter.hcper.hcpu.hcpu_cooling.hcpu_pm.hcpu_rmap.hcpu_smt.hcpufeature.hcpufreq.hcpuhotplug.hcpuidle.hcpuidle_haltpoll.hcpuinspect.hcpumask.hcpumask_api.hcpuset.hcrash_core.hcrash_dump.hcrc-ccitt.hcrc-itu-t.hcrc-t10dif.hcrc16.hcrc32.hcrc32c.hcrc32poly.hcrc4.hcrc64.hcrc7.hcrc8.hcred.hcrushcrush.hhash.hmapper.hcrypto.hcs5535.hctype.hcuda.hdamon.hdasd_mod.hdavinci_emac.hdax.hdca.hdcache.hdccp.hdebug_locks.hdebugfs.hdebugobjects.hdecompressbunzip2.hgeneric.hinflate.hmm.hunlz4.hunlzma.hunlzo.hunxz.hunzstd.hdelay.hdelayacct.hdelayed_call.hdev_printk.hdevcoredump.hdevfreq-event.hdevfreq.hdevfreq_cooling.hdevicedevice-mapper.hdevice.hbus.hclass.hdriver.hdevice_cgroup.hdevm-helpers.hdevpts_fs.hdfl.hdigsig.hdim.hdio.hdirent.hdlm.hdlm_plock.hdm-bufio.hdm-dirty-log.hdm-io.hdm-kcopyd.hdm-region-hash.hdm-verity-loadpin.hdm9000.hdmadma-buf.hdma-direct.hdma-direction.hdma-fence-array.hdma-fence-chain.hdma-fence-unwrap.hdma-fence.hdma-heap.hdma-map-ops.hdma-mapping.hdma-resv.hamd_xdma.hdw.hedma.hhsu.hidma64.himx-dma.hipu-dma.hk3-event-router.hk3-psil.hk3-udma-glue.hmxs-dma.hpxa-dma.hqcom-gpi-dma.hqcom_adm.hqcom_bam_dma.hsprd-dma.hti-cppi5.hxilinx_dma.hxilinx_dpdma.hdmaengine.hdmapool.hdmar.hdmi.hdnotify.hdns_resolver.hdqblk_qtree.hdqblk_v1.hdqblk_v2.hdrbd.hdrbd_config.hdrbd_genl.hdrbd_genl_api.hdrbd_limits.hds2782_battery.hdsa8021q.hbrcm.hksz_common.hlan9303.hloop.hmv88e6xxx.hocelot.hsja1105.htag_qca.hdtlk.hdtpm.hdw_apb_timer.hdynamic_debug.hdynamic_pool.hdynamic_queue_limits.hearlycpio.hecryptfs.hedac.hedd.heeprom_93cx6.heeprom_93xx46.hefi-bgrt.hefi.hefi_embedded_fw.hefs_vh.heisa.helf-fdpic.helf-randomize.helf.helfcore-compat.helfcore.helfnote-lto.helfnote.henclosure.henergy_model.hentry-common.hentry-kvm.herr.herrname.herrno.herror-injection.herrqueue.herrseq.hetherdevice.hethtool.hethtool_netlink.hetmem.heventfd.heventpoll.hevm.hexport-internal.hexport.hexportfs.hext2_fs.hextable.hextconextcon-provider.hextcon.hextcon-adc-jack.hf2fs_fs.hf75375s.hfalloc.hfanotify.hfault-inject-usercopy.hfault-inject.hfb.hfbcon.hfcdevice.hfcntl.hfd.hfddidevice.hfdtable.hfec.hfiemap.hfile.hfileattr.hfilelock.hfilescontrol.hfilter.hfind.hfips.hfirewire.hfirmwarefirmware-map.hfirmware.hbroadcomtee_bnxt_fw.hcirruscs_dsp.hwmfw.himxdsp.hipc.hs4.hsci.hsvcmisc.hpm.hrm.hintelstratix10-smc.hstratix10-svc-client.hmediatekmtk-adsp-ipc.hmesonmeson_sm.hqcomqcom_scm.htrusted_foundations.hxlnx-event-manager.hxlnx-zynqmp.hfixp-arith.hflat.hflex_proportions.hfont.hfortify-string.hfpgaadi-axi-common.haltera-pr-ip-core.hfpga-bridge.hfpga-mgr.hfpga-region.hfprobe.hfreelist.hfreezer.hfs.hfs_api.hfs_context.hfs_parser.hfs_pin.hfs_stack.hfs_struct.hfs_types.hfscache-cache.hfscache.hfscrypt.hfsi-occ.hfsi-sbefifo.hfsi.hfslfsl-diu-fb.hbestcommata.hbestcomm.hbestcomm_priv.hfec.hgen_bd.hsram.hedac.henetc_mdio.hftm.hguts.hmc.hptp_qoriq.hfsl_devices.hfsl_hypervisor.hfsl_ifc.hfsldma.hfsnotify.hfsnotify_backend.hfsverity.hftrace.hftrace_irq.hfutex.hfwnode.hfwnode_mdio.hgameport.hgcd.hgenalloc.hgeneric-radix-tree.hgenetlink.hgenl_magic_func.hgenl_magic_struct.hgetcpu.hgfp.hgfp_api.hgfp_types.hglob.hgnss.hgoldfish.hgpiogpio-pxa.hgpio.haspeed.hconsumer.hdriver.hgpio-reg.hlegacy-of-mm-gpiochip.hmachine.hproperty.hregmap.hgpio_keys.hgreybusgreybus.hbundle.hconnection.hcontrol.hgreybus_id.hgreybus_manifest.hgreybus_protocols.hhd.hinterface.hmanifest.hmodule.hoperation.hsvc.hgroup_cpus.hhardirq.hhash.hhashtable.hhashtable_api.hhdlc.hhdlcdrv.hhdmi.hhex.hhid-debug.hhid-roccat.hhid-sensor-hub.hhid-sensor-ids.hhid.hhid_bpf.hhidden.hhiddev.hhidraw.hhighmem-internal.hhighmem.hhighuid.hhil.hhil_mlc.hhippidevice.hhisi_acc_qm.hhmm.hhost1x.hhost1x_context_bus.hhp_sdc.hhpet.hhrtimer.hhrtimer_api.hhrtimer_defs.hhsihsi.hssi_protocol.hhte.hhuge_mm.hhugetlb.hhugetlb_cgroup.hhugetlb_inline.hhw_breakpoint.hhw_random.hhwmon-sysfs.hhwmon-vid.hhwmon.hhwspinlock.hhyperv.hhypervisor.hi2c-algo-bit.hi2c-algo-pca.hi2c-algo-pcf.hi2c-atr.hi2c-dev.hi2c-mux.hi2c-smbus.hi2c.hi3cccc.hdevice.hmaster.hi8042.hi8253.hi8254.hicmp.hicmpv6.hidle_inject.hidr.hieee80211.hieee802154.hif_arp.hif_bridge.hif_eql.hif_ether.hif_fddi.hif_hsr.hif_link.hif_ltalk.hif_macvlan.hif_phonet.hif_pppol2tp.hif_pppox.hif_rmnet.hif_tap.hif_team.hif_tun.hif_tunnel.hif_vlan.higmp.hihex.hiioaccelkxcjk_1013.hadcad_sigma_delta.hqcom-vadc-common.hstm32-dfsdm-adc.haferescale.hbackend.hbuffer-dma.hbuffer-dmaengine.hbuffer.hbuffer_impl.hcommoncros_ec_sensors_core.hinv_sensors_timestamp.hssp_sensors.hst_sensors.hst_sensors_i2c.hst_sensors_spi.hconfigfs.hconsumer.hdacad5421.had5504.had5791.hmax517.hmcp4725.hdriver.hevents.hfrequencyad9523.hadf4350.hgyroitg3200.hhw-consumer.hiio-gts-helper.hiio-opaque.hiio.himuadis.hkfifo_buf.hmachine.hsw_device.hsw_trigger.hsysfs.htimerstm32-lptim-trigger.hstm32-timer-trigger.htrigger.htrigger_consumer.htriggered_buffer.htriggered_event.htypes.hima.himx-media.hin.hin6.hindirect_call_wrapper.hinet.hinet_diag.hinetdevice.hinit.hinit_ohci1394_dma.hinit_syscalls.hinit_task.hinitramfs.hinitrd.hinotify.hinputinput.had714x.hadp5589.hadxl34x.has5011.hcma3000.helan-i2c-ids.hkxtj9.hlm8333.hmatrix_keypad.hmt.hnavpoint.hsamsung-keypad.hsh_keysc.hsparse-keymap.htouchscreen.htps6507x-ts.hvivaldi-fmap.hinstruction_pointer.hinstrumentation.hinstrumented.hint_log.hintegrity.hintel-ish-client-if.hintel_rapl.hintel_tcc.hintel_th.hintel_tpmi.hinterconnect-clk.hinterconnect-provider.hinterconnect.hinterrupt.hinterval_tree.hinterval_tree_generic.hio-64-nonatomic-hi-lo.hio-64-nonatomic-lo-hi.hio-mapping.hio-pgtable.hio.hio_uring.hio_uring_types.hioam6.hioam6_genl.hioam6_iptunnel.hiocontext.hiomap.hiommu-helper.hiommu.hiommufd.hiopoll.hioport.hioprio.hioremap.hiosys-map.hiova.hiova_bitmap.hip.hipack.hipc.hipc_namespace.hipmi.hipmi_smi.hipv6.hipv6_route.hirq.hirq_poll.hirq_sim.hirq_work.hirqbypass.hirqchipirqchip.harm-gic-common.harm-gic-phytium-2500.harm-gic-v3.harm-gic-v4.harm-gic.harm-vgic-info.harm-vic.hchained_irq.hirq-bcm2836.hirq-davinci-aintc.hirq-davinci-cp-intc.hirq-madera.hirq-omap-intc.hirq-partition-percpu.hirq-sa11x0.hxtensa-mx.hxtensa-pic.hirqdesc.hirqdomain.hirqdomain_defs.hirqflags.hirqhandler.hirqnr.hirqreturn.hisa-dma.hisa.hisapnp.hiscsi_boot_sysfs.hiscsi_ibft.hisdncapilli.hcapiutil.hism.hiversion.hjbd2.hjhash.hjiffies.hjournal-head.hjoystick.hjump_label.hjump_label_ratelimit.hjz4740-adc.hjz4780-nemc.hkabi.hkallsyms.hkasan-checks.hkasan-enabled.hkasan-tags.hkasan.hkbd_diacr.hkbd_kern.hkbuild.hkconfig.hkcore.hkcov.hkcsan-checks.hkcsan.hkdb.hkdebug.hkdev_t.hkern_levels.hkernel-page-flags.hkernel.hkernel_read_file.hkernel_stat.hkernelcapi.hkernfs.hkexec.hkey-type.hkey.hkeyboard.hkeyctl.hkfence.hkfifo.hkgdb.hkhugepaged.hklist.hkmemleak.hkmod.hkmsan-checks.hkmsan.hkmsan_string.hkmsan_types.hkmsg_dump.hkobj_map.hkobject.hkobject_api.hkobject_ns.hkprobes.hkref.hkref_api.hks0108.hks8842.hks8851_mll.hksm.hkstrtox.hkthread.hktime.hktime_api.hkvm_dirty_ring.hkvm_host.hkvm_irqfd.hkvm_para.hkvm_types.hl2tp.hlantiq.hlapb.hlatencytop.hlcd.hlcm.hled-class-flash.hled-class-multicolor.hled-lm3530.hleds-bd2802.hleds-lp3944.hleds-lp3952.hleds-pca9532.hleds-regulator.hleds-ti-lmu-common.hleds.hlegacy-filescontrol.hlibata.hlibfdt.hlibfdt_env.hlibgcc.hlibnvdimm.hlibps2.hlicense.hlimits.hlinear_range.hlinkage.hlinkmode.hlinux_logo.hlis3lv02d.hlist.hlist_bl.hlist_lru.hlist_nulls.hlist_sort.hlitex.hlivepatch.hlivepatch_sched.hllc.hllist.hllist_api.hlocal_lock.hlocal_lock_internal.hlockdbind.hdebug.hlockd.hnlm.hshare.hxdr.hxdr4.hlockdep.hlockdep_api.hlockdep_types.hlockref.hlog2.hlogic_iomem.hlogic_pio.hlp.hlru_cache.hlsm_audit.hlsm_hook_defs.hlsm_hooks.hlz4.hlzo.hmISDNdsp.hmISDNhw.hmISDNif.hmailboxarm_mhuv2_message.hbrcm-message.hmtk-cmdq-mailbox.hzynqmp-ipi-message.hmailbox_client.hmailbox_controller.hmap_benchmark.hmaple.hmaple_tree.hmarvell_phy.hmath.hmath64.hmbcache.hmbus.hmc146818rtc.hmc6821.hmcb.hmdev.hmdiomdio-bitbang.hmdio-gpio.hmdio-mux.hmdio.hmdio-i2c.hmdio-mscc-miim.hmdio-regmap.hmdio-xgene.hmei_aux.hmei_cl_bus.hmem_encrypt.hmem_reliable.hmemblock.hmemcg_memfs_info.hmemcontrol.hmemfd.hmemory-tiers.hmemory.hmemory_hotplug.hmempolicy.hmempool.hmemregion.hmemremap.hmemstick.hmfd88pm80x.h88pm860x.haat2870.habx500abx500.hab8500-codec.hab8500-sysctrl.hab8500.hac100.hadp5520.haltera-a10sr.haltera-sysmgr.harizonacore.hpdata.hregisters.has3711.has3722.hatc260xatc2603c.hatc2609a.hcore.hatmel-hlcdc.haxp20x.hbcm2835-pm.hbcm590xx.hbd9571mwv.hcore.hcs42l43-regs.hcs42l43.hda8xx-cfgchip.hda903x.hda9052da9052.hpdata.hreg.hda9055core.hpdata.hreg.hda9062core.hregisters.hda9063core.hregisters.hda9150core.hregisters.hdavinci_voicecodec.hdb8500-prcmu.hdbx500-prcmu.hdln2.hds1wm.hezx-pcap.hgsc.hhi6421-pmic.hhi655x-pmic.hidt82p33_reg.hidt8a340_reg.himx25-tsadc.hingenic-tcu.hintel-m10-bmc.hintel_pmc_bxt.hintel_soc_pmic.hintel_soc_pmic_bxtwc.hintel_soc_pmic_mrfld.hipaq-micro.hiqs62x.hjanz.hkempld.hkhadas-mcu.hlm3533.hlochnagar.hlochnagar1_regs.hlochnagar2_regs.hlp3943.hlp873x.hlp87565.hlp8788-isink.hlp8788.hlpc_ich.hmaderacore.hpdata.hregisters.hmax14577-private.hmax14577.hmax5970.hmax77541.hmax77620.hmax77650.hmax77686-private.hmax77686.hmax77693-common.hmax77693-private.hmax77693.hmax77714.hmax77843-private.hmax8907.hmax8925.hmax8997-private.hmax8997.hmax8998-private.hmax8998.hmc13783.hmc13892.hmc13xxx.hmcp.hmenelaus.hmotorola-cpcap.hmp2629.hmt6323core.hregisters.hmt6331core.hregisters.hmt6332core.hregisters.hmt6357core.hregisters.hmt6358core.hregisters.hmt6359core.hregisters.hmt6359pregisters.hmt6397core.hregisters.hrtc.hmxs-lradc.hntxec.hocelot.hpalmas.hpcf50633adc.hbacklight.hcore.hgpio.hmbc.hpmic.hqcom_rpm.hrave-sp.hrc5t583.hrdc321x.hretu.hrk808.hrn5t618.hrohm-bd71815.hrohm-bd71828.hrohm-bd718x7.hrohm-bd957x.hrohm-generic.hrohm-shared.hrsmu.hrt5033-private.hrt5033.hrz-mtu3.hsamsungcore.hirq.hrtc.hs2mpa01.hs2mps11.hs2mps13.hs2mps14.hs2mps15.hs2mpu02.hs5m8767.hsc27xx-pmic.hsi476x-core.hsi476x-platform.hsi476x-reports.hsky81452.hsta2x11-mfd.hstm32-lptimer.hstm32-timers.hstmfx.hstmpe.hstpmic1.hstw481x.hsun4i-gpadc.hsy7636a.hsysconsyscon.hatmel-matrix.hatmel-mc.hatmel-smc.hatmel-st.hclps711x.himx6q-iomuxc-gpr.himx7-iomuxc-gpr.hxlnx-vcu.htc3589x.hti-lmu-register.hti-lmu.hti_am335x_tscadc.htmio.htps6105x.htps65010.htps6507x.htps65086.htps65090.htps65217.htps65218.htps65219.htps6586x.htps65910.htps65912.htps6594.htps68470.htwl.htwl4030-audio.htwl6040.hucb1x00.hviperboard.hwcd934xregisters.hwcd934x.hwl1273-core.hwm831xauxadc.hcore.hgpio.hirq.hotp.hpdata.hpmu.hregulator.hstatus.hwatchdog.hwm8350audio.hcomparator.hcore.hgpio.hpmic.hrtc.hsupply.hwdt.hwm8400-audio.hwm8400-private.hwm8400.hwm8994core.hgpio.hpdata.hregisters.hwm97xx.hmhi.hmhi_ep.hmicrel_phy.hmicrochipphy.hmigrate.hmigrate_mode.hmii.hmii_timestamper.hmin_heap.hminmax.hmisc-filescontrol.hmisc_cgroup.hmiscdevice.hmlx4cmd.hcq.hdevice.hdoorbell.hdriver.hqp.hsrq.hmlx5cq.hdevice.hdoorbell.hdriver.heq.heswitch.hfs.hfs_helpers.hmacsec.hmlx5_ifc.hmlx5_ifc_fpga.hmlx5_ifc_vdpa.hmpfs.hport.hqp.hrsc_dump.htransobj.hvport.hmm.hmm_api.hmm_inline.hmm_types.hmm_types_task.hmman.hmmap_lock.hmmccard.hcore.hhost.hmmc.hpm.hsd.hsdio.hsdio_func.hsdio_ids.hslot-gpio.hmmdebug.hmmiotrace.hmmu_context.hmmu_notifier.hmmzone.hmnt_idmapping.hmnt_namespace.hmod_devicetable.hmodule.hmodule_signature.hmodule_symbol.hmoduleloader.hmoduleparam.hmost.hmount.hmoxtet.hmpage.hmpi.hmpls.hmpls_iptunnel.hmroute.hmroute6.hmroute_base.hmsdos_fs.hmsdos_partition.hmsg.hmsi.hmsi_api.hmtdbbm.hblktrans.hcfi.hcfi_endian.hconcat.hdoc2000.hflashchip.hftl.hgen_probe.hhyperbus.hinftl.hjedec.hlpc32xx_mlc.hlpc32xx_slc.hmap.hmtd.hmtdram.hnand-ecc-mtk.hnand-ecc-mxic.hnand-ecc-sw-bch.hnand-ecc-sw-hamming.hnand-gpio.hnand.hndfc.hnftl.honenand.honenand_regs.honfi.hpartitions.hpfow.hphysmap.hpismo.hplat-ram.hplatnand.hqinfo.hrawnand.hsh_flctl.hsharpsl.hspear_smi.hspi-nor.hspinand.hsuper.hubi.hxip.hmtio.hmutex.hmutex_api.hmuxconsumer.hdriver.hmv643xx.hmv643xx_eth.hmv643xx_i2c.hmvebu-pmsu.hmxm-wmi.hnamei.hnd.hndctl.hnetnet.hinteli40e_client.hiidc.hnet_tstamp.hnetdev_features.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_getport.hip_set_hash.hip_set_list.hpfxlen.hnf_conntrack_amanda.hnf_conntrack_common.hnf_conntrack_dccp.hnf_conntrack_ftp.hnf_conntrack_h323.hnf_conntrack_h323_asn1.hnf_conntrack_h323_types.hnf_conntrack_irc.hnf_conntrack_pptp.hnf_conntrack_proto_gre.hnf_conntrack_sane.hnf_conntrack_sctp.hnf_conntrack_sip.hnf_conntrack_snmp.hnf_conntrack_tcp.hnf_conntrack_tftp.hnf_conntrack_zones_common.hnfnetlink.hnfnetlink_acct.hnfnetlink_osf.hx_tables.hnetfilter_arparp_tables.hnetfilter_bridgenetfilter_bridge.hebtables.hnetfilter_defs.hnetfilter_ipv4netfilter_ipv4.hip_tables.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hnetfilter_netdev.hnetfs.hnetlink.hnetpoll.hnfs.hnfs3.hnfs4.hnfs_fs.hnfs_fs_i.hnfs_fs_sb.hnfs_iostat.hnfs_page.hnfs_ssc.hnfs_xdr.hnfsacl.hnitro_enclaves.hnl802154.hnls.hnmi.hnode.hnodemask.hnospec.hnotifier.hns_common.hnsc_gpio.hnsproxy.hntb.hntb_transport.hnubus.hnuma.hnvme-auth.hnvme-fc-driver.hnvme-fc.hnvme-rdma.hnvme-tcp.hnvme.hnvmem-consumer.hnvmem-provider.hnvram.hobjagg.hobjtool.hobjtool_types.hof.hof_address.hof_clk.hof_device.hof_dma.hof_fdt.hof_gpio.hof_graph.hof_iommu.hof_irq.hof_mdio.hof_net.hof_pci.hof_pdt.hof_platform.hof_reserved_mem.hoid_registry.holpc-ec.homap-dma.homap-gpmc.homap-iommu.homap-mailbox.homapfb.honce.honce_lite.hoom.hopenvswitch.hosq_lock.hoverflow.hpacking.hpadata.hpage-flags-layout.hpage-flags.hpage-isolation.hpage_counter.hpage_ext.hpage_idle.hpage_owner.hpage_ref.hpage_reporting.hpage_table_check.hpageblock-flags.hpagemap.hpagevec.hpagewalk.hpanic.hpanic_notifier.hparman.hparport.hparport_pc.hparser.hpart_stat.hpata_arasan_cf_data.hpatchkey.hpath.hpch_dma.hpci-acpi.hpci-ats.hpci-doe.hpci-ecam.hpci-ep-cfs.hpci-epc.hpci-epf.hpci-p2pdma.hpci.hpci_hotplug.hpci_ids.hpcspcs-lynx.hpcs-rzn1-miic.hpcs-mtk-lynxi.hpcs-xpcs.hpdspds_adminq.hpds_auxbus.hpds_common.hpds_core_if.hpds_intr.hpe.hpeci-cpu.hpeci.hpercpu-defs.hpercpu-refcount.hpercpu-rwsem.hpercpu.hpercpu_counter.hperfarm_pmu.harm_pmuv3.hriscv_pmu.hperf_event.hperf_event_api.hperf_regs.hpersonality.hpfn.hpfn_t.hpgp.hpgplib.hpgtable.hpgtable_api.hphonet.hphyphy.homap_control_phy.homap_usb.hpcie.hphy-dp.hphy-lvds.hphy-mipi-dphy.hphy-sun4i-usb.hphy.htegraxusb.hulpi_phy.hphy_fixed.hphy_led_triggers.hphylib_stubs.hphylink.hpid.hpid_namespace.hpim.hpinctrlconsumer.hdevinfo.hmachine.hpinconf-generic.hpinconf.hpinctrl-state.hpinctrl.hpinmux.hpipe_fs_i.hpkeys.hpktcdvd.hpl320-ipc.hplatform_dataad5449.had5761.had7266.had7791.had7793.had7887.hadau17x1.hadp8860.hadp8870.hads7828.hamd_xdma.hams-delta-fiq.hapds990x.harm-ux500-pm.hasoc-imx-ssi.hasoc-kirkwood.hasoc-pxa.hasoc-s3c.hasoc-ti-mcbsp.hata-pxa.hatmel.hb53.hbcm7038_wdt.hbcmgenet.hbd6107.hbh1770glc.hbrcmfmac.hbrcmnand.hclk-da8xx-cfgchip.hclk-davinci-pll.hclk-fch.hcpuidle-exynos.hcros_ec_chardev.hcros_ec_commands.hcros_ec_proto.hcros_ec_sensorhub.hcros_usbpd_notify.hcrypto-ux500.hcyttsp4.hdavinci-cpufreq.hdavinci_asp.hdma-dw.hdma-ep93xx.hdma-hsu.hdma-iop32x.hdma-mcf-edma.hdma-mv_xor.hdmtimer-omap.hds620.hdsa.hedma.helm.hemc2305.hemif_plat.heth-ep93xx.hg762.hgpiogpio-ath79.hgpio-davinci.hgpio-htc-egpio.hgpio-omap.hgpio-sunway.hgpio-amd-fch.hgpio_backlight.hgpmc-omap.hgsc_hwmon.hhirschmann-hellcreek.hhsmmc-omap.hhwmon-s3c.hi2c-davinci.hi2c-gpio.hi2c-imx.hi2c-mux-gpio.hi2c-mux-reg.hi2c-ocores.hi2c-omap.hi2c-pca-platform.hi2c-pxa.hi2c-s3c2410.hi2c-xiic.hina2xx.hintel-mid_wdt.hinvensense_mpu6050.hiommu-omap.hisl9305.hitco_wdt.hkeyboard-spear.hkeypad-ep93xx.hkeypad-nomadik-ske.hkeypad-omap.hkeypad-pxa27x.hkeyscan-davinci.hlcd-mipid.hleds-lm355x.hleds-lm3642.hleds-lp55xx.hlm3630a_bl.hlm3639_bl.hlm8323.hlp855x.hlp8727.hlp8755.hltc4245.hlv5207lp.hmax197.hmax3421-hcd.hmax6639.hmax6697.hmax732x.hmcs.hmdio-bcm-unimac.hmdio-gpio.hmediacamera-pxa.hmmp-camera.homap4iss.hsi4713.htimb_radio.htimb_video.hmfd-mcp-sa11x0.hmicrochip-ksz.hmlxcpld.hmlxreg.hmmc-davinci.hmmc-esdhc-mcf.hmmc-mxcmmc.hmmc-omap.hmmc-pxamci.hmmc-sdhci-s3c.hmmp_dma.hmtd-davinci-aemif.hmtd-davinci.hmtd-nand-omap2.hmtd-nand-pxa3xx.hmtd-nand-s3c2410.hmtd-orion_nand.hmv88e6xxx.hmv_usb.hnet-cw1200.homap-twl4030.homap-wd-timer.homap1_bl.homapdss.hpca953x.hphy-da8xx-usb.hpinctrl-single.hpm33xx.hpxa2xx_udc.hpxa_sdhci.hregulator-haptic.hs3c-hsotg.hsa11x0-serial.hsc18is602.hsdhci-pic32.hserial-omap.hserial-sccnxp.hsgi-w1.hsh_mmcif.hshmob_drm.hshtc1.hsi5351.hsimplefb.hspi-davinci.hspi-ep93xx.hspi-mt65xx.hspi-omap2-mcspi.hspi-s3c64xx.hst_sensors_pdata.hsyscon.htda9950.hti-aemif.hti-prm.hti-sysc.htouchscreen-s3c2410.htps68470.htsc2007.htsl2772.htxx9ndfmc.huio_dmem_genirq.huio_pruss.husb-davinci.husb-ehci-orion.husb-musb-ux500.husb-ohci-pxa27x.husb-ohci-s3c2410.husb-omap.husb-omap1.husb3503.hvideo-ep93xx.hvideo-pxafb.hvideo_s3c.hvoltage-omap.hwilco-ec.hwiznet.hwkup_m3.hx86apple.hasus-wmi.hclk-lpss.hclk-pmc-atom.hnvidia-wmi-ec-backlight.hp2sb.hpmc_atom.hpwm-lpss.hsimatic-ipc-base.hsimatic-ipc.hsoc.hspi-intel.hxilinx-ll-temac.hxtalk-bridge.hzforce_ts.hplatform_device.hplatform_profile.hpldmfw.hplist.hpm-trace.hpm.hpm_clock.hpm_domain.hpm_opp.hpm_qos.hpm_runtime.hpm_wakeirq.hpm_wakeup.hpmbus.hpmu.hpnp.hpoison.hpoll.hpolynomial.hposix-clock.hposix-timers.hposix_acl.hposix_acl_xattr.hpowerbq2415x_charger.hbq24190_charger.hbq24735-charger.hbq25890_charger.hbq27xxx_battery.hcharger-manager.hgpio-charger.hjz4740-battery.hmax17042_battery.hpower_on_reason.hsbs-battery.hsmartreflex.htwl4030_madc_battery.hpower_supply.hpowercap.hppp-comp.hppp_channel.hppp_defs.hpps_kernel.hpr.hprandom.hpreempt.hprefetch.hprime_numbers.hprintk.hprmt.hproc_fs.hproc_ns.hprocessor.hprofile.hprojid.hproperty.hpruss_driver.hpsci.hpse-pdpse.hpseudo_fs.hpsi.hpsi_types.hpsp-hygon.hpsp-platform-access.hpsp-sev.hpsp-tee.hpsp.hpstore.hpstore_blk.hpstore_ram.hpstore_zone.hptdump.hpti.hptp_classify.hptp_clock_kernel.hptp_kvm.hptp_mock.hptp_pch.hptr_ring.hptrace.hptrace_api.hpurgatory.hpvclock_gtod.hpwm.hpwm_backlight.hpxa168_eth.hpxa2xx_ssp.hqatqat_mig_dev.hqedcommon_hsi.heth_common.hfcoe_common.hiscsi_common.hiwarp_common.hnvmetcp_common.hqed_chain.hqed_eth_if.hqed_fcoe_if.hqed_if.hqed_iov_if.hqed_iscsi_if.hqed_ll2_if.hqed_nvmetcp_if.hqed_rdma_if.hqede_rdma.hrdma_common.hroce_common.hstorage_common.htcp_common.hqnx6_fs.hquota.hquotaops.hradix-tree.hraiddetect.hpq.hxor.hraid_class.hramfs.hrandom.hrandomize_kstack.hrange.hras.hratelimit.hratelimit_types.hrational.hrbtree.hrbtree_augmented.hrbtree_latch.hrbtree_types.hrcu_node_tree.hrcu_segcblist.hrcu_sync.hrculist.hrculist_bl.hrculist_nulls.hrcupdate.hrcupdate_trace.hrcupdate_wait.hrcuref.hrcutiny.hrcutree.hrcuwait.hrcuwait_api.hreboot-mode.hreboot.hreciprocal_div.href_tracker.hrefcount.hrefcount_api.hregmap.hregset.hregulatoract8865.harizona-ldo1.harizona-micsupp.hconsumer.hcoupler.hda9121.hda9211.hdb8500-prcmu.hdriver.hfan53555.hfixed.hgpio-regulator.hlp3971.hlp3972.hlp872x.hmachine.hmax1586.hmax8649.hmax8660.hmax8952.hmax8973-regulator.hmt6311.hmt6315-regulator.hmt6323-regulator.hmt6331-regulator.hmt6332-regulator.hmt6357-regulator.hmt6358-regulator.hmt6359-regulator.hmt6380-regulator.hmt6397-regulator.hof_regulator.hpca9450.hpfuze100.htps51632-regulator.htps62360.htps6507x.huserspace-consumer.hrelay.hremoteprocremoteproc.hmtk_scp.hpruss.hqcom_rproc.hst_slim_rproc.hresctrl.hresctrl_types.hresetreset-controller.hreset.hbcm63xx_pmb.hreset-simple.hsocfpga.hsunxi.hresource.hresource_ext.hrestart_block.hresume_user_mode.hrethook.hrfkill.hrhashtable-types.hrhashtable.hring_buffer.hrio.hrio_drv.hrio_ids.hrio_regs.hrmap.hrmi.hrndis.hrodata_test.hroot_dev.hrpmsgrpmsg.hbyteorder.hmtk_rpmsg.hns.hqcom_glink.hqcom_smd.hrslib.hrtcrtc.hds1286.hds1307.hds1685.hm48t59.hrtc-omap.hrtmutex.hrtnetlink.hrtsx_common.hrtsx_pci.hrtsx_usb.hrv.hrwbase_rt.hrwlock.hrwlock_api_smp.hrwlock_rt.hrwlock_types.hrwsem.hsbitmap.hscatterlist.hscc.hschedsched.haffinity.hautogroup.hclock.hcond_resched.hcoredump.hcpufreq.hcputime.hdeadline.hdebug.hgrid_qos.hhotplug.hidle.hinit.hisolation.hjobctl.hloadavg.hmm.hnohz.hnuma_balancing.hposix-timers.hprio.hrseq_api.hrt.hsd_flags.hsignal.hsmt.hstat.hsysctl.htask.htask_flags.htask_stack.hthread_info_api.htopology.htypes.huser.hvhost_task.hwake_q.hxacct.hsched_clock.hsched_hook_defs.hscmi_protocol.hscpi_protocol.hscreen_info.hscs.hsctp.hscx200.hscx200_gpio.hseccomp.hsecretmem.hsecurebits.hsecurity.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselection.hsem.hsemaphore.hseq_buf.hseq_file.hseq_file_net.hseqlock.hseqlock_api.hserdev.hserial.hserial_8250.hserial_bcm63xx.hserial_core.hserial_max3100.hserial_s3c.hserial_sci.hserio.hset_memory.hsfp.hsh_clk.hsh_dma.hsh_eth.hsh_intc.hsh_timer.hshare_pool.hshdma-base.hshm.hshmem_fs.hshrinker.hsignal.hsignal_types.hsignalfd.hsiox.hsiphash.hsizes.hskb_array.hskbuff.hskmsg.hslab.hslab_def.hslimbus.hslub_def.hsm501-regs.hsm501.hsmc91x.hsmp.hsmp_types.hsmpboot.hsmsc911x.hsmscphy.hsocactionsowl-sps.hamlogicmeson-canvas.handesirq.happlertkit.hsart.hbrcmstbbrcmstb.hcirrusep93xx.hdovepmu.hixp4xxcpu.hnpe.hqmgr.hmarvellocteontx2asm.hmediatekinfracfg.hmtk-cmdq.hmtk-mmsys.hmtk-mutex.hmtk_sip_svc.hmtk_wed.hmmpcputype.hnxplpc32xx-misc.hpxacpu.hmfp.hsmemc.hqcomapr.hgeni-se.hirq.hllcc-qcom.hmdt_loader.hpdr.hpmic_glink.hqcom_aoss.hqmi.hsmd-rpm.hsmem.hsmem_state.hsocinfo.hwcnss_ctrl.hrenesasr9a06g032-sysctrl.hrcar-rst.hrcar-sysc.hsamsungexynos-chipid.hexynos-pmu.hexynos-regs-pmu.hs3c-pm.hsunxisunxi_sram.htik3-ringacc.hknav_dma.hknav_qmss.homap1-io.homap1-mux.homap1-soc.homap1-usb.hti-msgmgr.hti_sci_inta_msi.hti_sci_protocol.hsock_diag.hsocket.hsockptr.hsoftirq.hsonet.hsony-laptop.hsonypi.hsort.hsound.hsoundcard.hsoundwiresdw.hsdw_amd.hsdw_intel.hsdw_registers.hsdw_type.hspiad7877.hads7846.haltera.hat73c213.hcorgi_lcd.hds1305.heeprom.hflash.hlibertas_spi.hmax7301.hmc33880.hmmc_spi.hmxs-spi.hpxa2xx_spi.hrspi.hsh_hspi.hsh_msiof.hspi-fsl-dspi.hspi-mem.hspi.hspi_bitbang.hspi_gpio.hspi_oc_tiny.htdo24m.htle62x0.hxilinx_spi.hspinlock.hspinlock_api.hspinlock_api_smp.hspinlock_api_up.hspinlock_rt.hspinlock_types.hspinlock_types_raw.hspinlock_types_up.hspinlock_up.hsplice.hspmi.hsprintf.hsram.hsrcu.hsrcutiny.hsrcutree.hssbssb.hssb_driver_chipcommon.hssb_driver_extif.hssb_driver_gige.hssb_driver_mips.hssb_driver_pci.hssb_embedded.hssb_regs.hssbi.hstackdepot.hstackleak.hstackprotector.hstacktrace.hstart_kernel.hstat.hstatfs.hstatic_call.hstatic_call_types.hstatic_key.hstdarg.hstddef.hstm.hstmmac.hstmp3xxx_rtc_wdt.hstmp_device.hstop_machine.hstring.hstring_choices.hstring_helpers.hstringhash.hstringify.hsungem_phy.hsunrpcaddr.hauth.hauth_gss.hbc_xprt.hcache.hclnt.hdebug.hgss_api.hgss_asn1.hgss_err.hgss_krb5.hmetrics.hmsg_prot.hrpc_pipe_fs.hrpc_rdma.hrpc_rdma_cid.hsched.hstats.hsvc.hsvc_rdma.hsvc_rdma_pcl.hsvc_xprt.hsvcauth.hsvcauth_gss.hsvcsock.htimer.htypes.hxdr.hxprt.hxprtmultipath.hxprtrdma.hxprtsock.hsunserialcore.hsunxi-rsb.hsuperhyway.hsurface_acpi_notify.hsurface_aggregatorcontroller.hdevice.hserial_hub.hsuspend.hsvga.hsw842.hswab.hswait.hswait_api.hswap.hswap_cgroup.hswap_slots.hswapfile.hswapops.hswiotlb.hswitchtec.hsxgbe_platform.hsync_core.hsync_file.hsynclink.hsys.hsys_soc.hsyscall_user_dispatch.hsyscalls.hsyscalls_api.hsyscore_ops.hsysctl.hsysfb.hsysfs.hsyslog.hsysrq.hsysv_fs.ht10-pi.htask_io_accounting.htask_io_accounting_ops.htask_work.htaskstats_kern.htboot.htc.htca6416_keypad.htcp.htee_drv.htegra-icc.htermios_internal.htextsearch.htextsearch_fsm.htfrc.hthermal.hthread_bits.hthread_info.hthreads.hthunderbolt.hti-emif-sram.hti_wilink_st.htick.htifm.htimb_dma.htimb_gpio.htime.htime32.htime64.htime_namespace.htimecounter.htimekeeper_internal.htimekeeping.htimer.htimerfd.htimeriomem-rng.htimerqueue.htimex.htnum.htopology.htorture.htoshiba.htpm.htpm_command.htpm_eventlog.htrace.htrace_clock.htrace_events.htrace_recursion.htrace_seq.htracefs.htracepoint-defs.htracepoint.htransport_class.hts-nbus.htsacct_kern.htty.htty_buffer.htty_driver.htty_flip.htty_ldisc.htty_port.htypecheck.htypes.hu64_stats_sync.hu64_stats_sync_api.huacce.huaccess.hubsan.hucs2_string.hudp.huidgid.huio.huio_driver.hulpidriver.hinterface.hregs.humh.hunalignedpacked_struct.hunicode.hunits.huprobes.husbusb.haudio-v2.haudio-v3.haudio.hc67x00.hccid.hcdc-wdm.hcdc.hcdc_ncm.hch9.hchipidea.hcomposite.hehci-dbgp.hehci_def.hehci_pdriver.hezusb.hfunctionfs.hg_hid.hgadget.hgadget_configfs.hhcd.hinput.hiowarrior.hirda.hisp116x.hisp1301.hisp1362.hm66592.hmidi-v2.hmusb-ux500.hmusb.hnet2280.hof.hohci_pdriver.honboard_hub.hotg-fsm.hotg.hpd.hpd_ado.hpd_bdo.hpd_ext_sdb.hpd_vdo.hphy.hphy_companion.hquirks.hr8152.hr8a66597.hrenesas_usbhs.hrndis_host.hrole.hrzv2m_usb3drd.hserial.hsl811.hstorage.htcpci.htcpm.htegra_usb_phy.htypec.htypec_altmode.htypec_dp.htypec_mux.htypec_retimer.htypec_tbt.huas.hulpi.husb338x.husb_phy_generic.husbnet.huvc.hwebusb.hxhci-dbgp.husb_usual.husbdevice_fs.huser-return-notifier.huser.huser_events.huser_namespace.huserfaultfd_k.husermode_driver.huserswap.hutil_macros.huts.hutsname.huuid.hvbox_utils.hvdpa.hvdpa_vmstate.hverification.hvermagic.hvexpress.hvfio.hvfio_pci_core.hvfs.hvga_switcheroo.hvgaarb.hvhost_iotlb.hvia-core.hvia.hvia_i2c.hvideodev2.hvirtio.hvirtio_anchor.hvirtio_byteorder.hvirtio_caif.hvirtio_config.hvirtio_console.hvirtio_dma_buf.hvirtio_net.hvirtio_pci_legacy.hvirtio_pci_modern.hvirtio_ring.hvirtio_vsock.hvlynq.hvm_event_item.hvmalloc.hvmpressure.hvmstat.hvmw_vmci_api.hvmw_vmci_defs.hvringh.hvt.hvt_buffer.hvt_kern.hvtime.hw1-gpio.hw1.hwait.hwait_api.hwait_bit.hwatch_queue.hwatchdog.hwin_minmax.hwireless.hwkup_m3_ipc.hwm97xx.hwmi.hworkqueue.hworkqueue_api.hwriteback.hww_mutex.hwwan.hxarray.hxattr.hxxhash.hxz.hyam.hzconf.hzlib.hzorro.hzpool.hzsmalloc.hzstd.hzstd_errors.hzstd_lib.hzswap.hzutil.hmath-emudouble.hop-1.hop-2.hop-4.hop-8.hop-common.hquad.hsingle.hsoft-fp.hmediacec-notifier.hcec-pin.hcec.hdavincivpfe_types.hvpif_types.hdemux.hdmxdev.hdrv-intfcx2341x.hcx25840.hexynos-fimc.hmsp3400.hrenesas-ceu.hs3c_camif.hsaa7146.hsaa7146_vv.hsh_vou.hsi476x.htea575x.hdvb-usb-ids.hdvb_ca_en50221.hdvb_demux.hdvb_frontend.hdvb_net.hdvb_ringbuffer.hdvb_vb2.hdvbdev.hframe_vector.hi2cadp1653.hadv7183.hadv7343.hadv7393.hadv7511.hadv7604.hadv7842.hak881x.hbt819.hcs5345.hcs53l32a.hds90ub9xx.hir-kbd-i2c.hlm3560.hlm3646.hm52790.hmt9p031.hmt9t112.hmt9v011.hmt9v022.hmt9v032.hov2659.hov7670.hov772x.hrj54n1cb0c.hsaa6588.hsaa7115.hsaa7127.htc358743.htda1997x.hths7303.htvaudio.htvp514x.htvp7002.htw9910.huda1342.hupd64031a.hupd64083.hwm8775.himx.hipu-bridge.hjpeg.hmedia-dev-allocator.hmedia-device.hmedia-devnode.hmedia-entity.hmedia-request.hmipi-csi2.hrc-core.hrc-map.hrcar-fcp.htpgv4l2-tpg.htuner-types.htuner.htveeprom.hv4l2-async.hv4l2-cci.hv4l2-common.hv4l2-ctrls.hv4l2-dev.hv4l2-device.hv4l2-dv-timings.hv4l2-event.hv4l2-fh.hv4l2-flash-led-class.hv4l2-fwnode.hv4l2-h264.hv4l2-image-sizes.hv4l2-ioctl.hv4l2-jpeg.hv4l2-mc.hv4l2-mediabus.hv4l2-mem2mem.hv4l2-rect.hv4l2-subdev.hv4l2-vp9.hvideobuf-core.hvideobuf-dma-contig.hvideobuf-dma-sg.hvideobuf-vmalloc.hvideobuf2-core.hvideobuf2-dma-contig.hvideobuf2-dma-sg.hvideobuf2-dvb.hvideobuf2-memops.hvideobuf2-v4l2.hvideobuf2-vmalloc.hvsp1.hmemoryrenesas-rpc-if.hmiscaltera.hcxl-base.hcxl.hcxllib.hocxl-config.hocxl.hnet6lowpan.h9p9p.hclient.htransport.hSpace.hact_api.haddrconf.haf_ieee802154.haf_rxrpc.haf_unix.haf_vsock.hah.hamt.harp.hatmclip.hax25.hax88796.hbareudp.hbluetoothbluetooth.hcoredump.hhci.hhci_core.hhci_mon.hhci_sock.hhci_sync.hiso.hl2cap.hmgmt.hrfcomm.hsco.hbond_3ad.hbond_alb.hbond_options.hbonding.hbpf_sk_storage.hbusy_poll.hcaifcaif_dev.hcaif_device.hcaif_layer.hcfcnfg.hcfctrl.hcffrml.hcfmuxl.hcfpkt.hcfserl.hcfsrvl.hcalipso.hcfg80211-wext.hcfg80211.hcfg802154.hchecksum.hcipso_ipv4.hcls_cgroup.hcodel.hcodel_impl.hcodel_qdisc.hcompat.hdatalink.hdcbevent.hdcbnl.hdevlink.hdropreason-core.hdropreason.hdsa.hdsa_stubs.hdsfield.hdst.hdst_cache.hdst_metadata.hdst_ops.herspan.hesp.hespintcp.hethoc.hfailover.hfib_notifier.hfib_rules.hfirewire.hflow.hflow_dissector.hflow_offload.hfou.hfq.hfq_impl.hgarp.hgen_stats.hgenetlink.hgeneve.hgre.hgro.hgro_cells.hgso.hgtp.hgue.hhandshake.hhwbm.hicmp.hieee80211_radiotap.hieee802154_netdev.hif_inet6.hife.hinet6_connection_sock.hinet6_hashtables.hinet_common.hinet_connection_sock.hinet_dscp.hinet_ecn.hinet_frag.hinet_hashtables.hinet_sock.hinet_timewait_sock.hinetpeer.hioam6.hip.hip6_checksum.hip6_fib.hip6_route.hip6_tunnel.hip_fib.hip_tunnels.hip_vs.hipcomp.hipconfig.hipv6.hipv6_frag.hipv6_stubs.hiucvaf_iucv.hiucv.hiw_handler.hkcm.hl3mdev.hlag.hlapb.hlib80211.hllc.hllc_c_ac.hllc_c_ev.hllc_c_st.hllc_conn.hllc_if.hllc_pdu.hllc_s_ac.hllc_s_ev.hllc_s_st.hllc_sap.hlwtunnel.hmac80211.hmac802154.hmacsec.hmanagdma.hhw_channel.hmana.hmana_auxiliary.hshm_channel.hmctp.hmctpdevice.hmip6.hmld.hmpls.hmpls_iptunnel.hmptcp.hmrp.hncsi.hndisc.hneighbour.hnet_debug.hnet_failover.hnet_namespace.hnet_ratelimit.hnet_trackers.hnetdev_queues.hnetdev_rx_queue.hnetevent.hnetfilterbr_netfilter.hipv4nf_conntrack_ipv4.hnf_defrag_ipv4.hnf_dup_ipv4.hnf_reject.hipv6nf_conntrack_ipv6.hnf_defrag_ipv6.hnf_dup_ipv6.hnf_reject.hnf_bpf_link.hnf_conntrack.hnf_conntrack_acct.hnf_conntrack_act_ct.hnf_conntrack_bpf.hnf_conntrack_bridge.hnf_conntrack_core.hnf_conntrack_count.hnf_conntrack_ecache.hnf_conntrack_expect.hnf_conntrack_extend.hnf_conntrack_helper.hnf_conntrack_l4proto.hnf_conntrack_labels.hnf_conntrack_seqadj.hnf_conntrack_synproxy.hnf_conntrack_timeout.hnf_conntrack_timestamp.hnf_conntrack_tuple.hnf_conntrack_zones.hnf_dup_netdev.hnf_flow_table.hnf_hooks_lwtunnel.hnf_log.hnf_nat.hnf_nat_helper.hnf_nat_masquerade.hnf_nat_redirect.hnf_queue.hnf_reject.hnf_socket.hnf_synproxy.hnf_tables.hnf_tables_core.hnf_tables_ipv4.hnf_tables_ipv6.hnf_tables_offload.hnf_tproxy.hnft_fib.hnft_meta.hnft_reject.hxt_rateest.hnetlabel.hnetlink.hnetnsbpf.hcan.hconntrack.hcore.hflow_table.hgeneric.hhash.hieee802154_6lowpan.hipv4.hipv6.hmctp.hmib.hmpls.hnetfilter.hnexthop.hnftables.hpacket.hsctp.hsmc.hunix.hxdp.hxfrm.hnetprio_cgroup.hnetrom.hnexthop.hnfcdigital.hhci.hllc.hnci.hnci_core.hnfc.hnl802154.hnsh.hp8022.hpage_poolhelpers.htypes.hphonetgprs.hpep.hphonet.hpn_dev.hpie.hping.hpkt_cls.hpkt_sched.hpptp.hprotocol.hpsample.hpsnap.hraw.hrawv6.hred.hregulatory.hrequest_sock.hrose.hroute.hrpl.hrsi_91x.hrtnetlink.hrtnh.hsch_generic.hscm.hsctpauth.hchecksum.hcommand.hconstants.hsctp.hsm.hstream_interleave.hstream_sched.hstructs.htsnmap.hulpevent.hulpqueue.hsecure_seq.hseg6.hseg6_hmac.hseg6_local.hselftests.hslhc_vj.hsmc.hsnmp.hsock.hsock_reuseport.hstp.hstrparser.hswitchdev.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_police.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_wrapper.htcp.htcp_states.htcx.htimewait_sock.htipc.htls.htls_prot.htls_toe.htransp_v6.htso.htun_proto.hudp.hudp_tunnel.hudplite.hvsock_addr.hvxlan.hwext.hx25.hx25device.hxdp.hxdp_priv.hxdp_sock.hxdp_sock_drv.hxfrm.hxsk_buff_pool.hpcmciaciscode.hcisreg.hcistpl.hdevice_id.hds.hsoc_common.hss.hrasras_event.hrdmaib.hib_addr.hib_cache.hib_cm.hib_hdrs.hib_mad.hib_marshall.hib_pack.hib_pma.hib_sa.hib_smi.hib_sysfs.hib_umem.hib_umem_odp.hib_verbs.hiba.hibta_vol1_c12.hiw_cm.hiw_portmap.hlag.hmr_pool.hopa_addr.hopa_port_info.hopa_smi.hopa_vnic.hpeer_mem.hrdma_cm.hrdma_cm_ib.hrdma_counter.hrdma_netlink.hrdma_vt.hrdmavt_cq.hrdmavt_mr.hrdmavt_qp.hrestrack.hrw.hsignature.htid_rdma_defs.huverbs_ioctl.huverbs_named_ioctl.huverbs_std_types.huverbs_types.hrvautomata.hda_monitor.hinstrumentation.hscsifcfc_encaps.hfc_fc2.hfc_fcoe.hfc_fcp.hfc_fip.hfc_ms.hfc_frame.hfcoe_sysfs.hiscsi_if.hiscsi_proto.hiser.hlibfc.hlibfcoe.hlibiscsi.hlibiscsi_tcp.hlibsas.hsas.hsas_ata.hscsi.hscsi_bsg_iscsi.hscsi_cmnd.hscsi_common.hscsi_dbg.hscsi_device.hscsi_devinfo.hscsi_dh.hscsi_driver.hscsi_eh.hscsi_host.hscsi_ioctl.hscsi_proto.hscsi_status.hscsi_tcq.hscsi_transport.hscsi_transport_fc.hscsi_transport_iscsi.hscsi_transport_sas.hscsi_transport_spi.hscsi_transport_srp.hscsicam.hsg.hsrp.hviosrp.hsocamlogicmeson_ddr_pmu.harcaux.hmcip.htimers.hat91at91sam9_ddrsdr.hat91sam9_sdramc.hatmel-secumod.hatmel-sfr.hatmel_tcb.hsama7-ddr.hsama7-sfrbu.hbcm2835raspberrypi-firmware.hcanaank210-sysctl.hfslbman.hcaam-blob.hcpm.hdpaa2-fd.hdpaa2-global.hdpaa2-io.hqeimmap_qe.hqe.hqe_tdm.hqmc.hucc.hucc_fast.hucc_slow.hqman.himxcpu.hcpuidle.hrevision.hmediateksmi.hmicrochipmpfs.hmsccocelot.hocelot_ana.hocelot_dev.hocelot_hsio.hocelot_ptp.hocelot_qsys.hocelot_sys.hocelot_vcap.hvsc7514_regs.hqcomcmd-db.hice.hkryo-l2-accessors.hocmem.hqcom-spmi-pmic.hrpmh.hspm.htcs.hrockchippm_domains.hrk3399_grf.hrockchip_sip.hsa1100pwer.hsifivesifive_ccache.hstarfivereset-starfive-jh71x0.htegraahb.hbpmp-abi.hbpmp.hcommon.hcpuidle.hflowctrl.hfuse.hirq.hivc.hmc.hpm.hpmc.htegra-cbb.hsoundac97codec.hcompat.hcontroller.hregs.hac97_codec.haci.hacp63_chip_offset_byte.had1816a.had1843.hadau1373.hak4113.hak4114.hak4117.hak4531_codec.hak4641.hak4xxx-adda.halc5623.hasequencer.hasound.hasoundef.hcompress_driver.hcontrol.hcore.hcs35l33.hcs35l34.hcs35l35.hcs35l36.hcs35l41.hcs35l56.hcs4231-regs.hcs4271.hcs42l42.hcs42l43.hcs42l52.hcs42l56.hcs42l73.hcs8403.hcs8427.hda7213.hda7218.hda7219-aad.hda7219.hda9055.hdesignware_i2s.hdmaengine_pcm.hemu10k1.hemu10k1_synth.hemu8000.hemu8000_reg.hemux_legacy.hemux_synth.hes1688.hgraph_card.hgus.hhda-mlink.hhda_chmap.hhda_codec.hhda_component.hhda_hwdep.hhda_i915.hhda_register.hhda_regmap.hhda_verbs.hhdaudio.hhdaudio_ext.hhdmi-codec.hhwdep.hi2c.hinfo.hinitval.hintel-dsp-config.hintel-nhlt.hjack.hmadera-pdata.hmax9768.hmax98088.hmax98090.hmax98095.hmemalloc.hminors.hmixer_oss.hmpu401.homap-hdmi-audio.hopl3.hopl4.hpcm-indirect.hpcm.hpcm_drm_eld.hpcm_iec958.hpcm_oss.hpcm_params.hpt2258.hpxa2xx-lib.hrawmidi.hrt1015.hrt286.hrt298.hrt5514.hrt5659.hrt5660.hrt5663.hrt5665.hrt5668.hrt5682.hrt5682s.hsb.hsb16_csp.hsdw.hseq_device.hseq_kernel.hseq_midi_emul.hseq_midi_event.hseq_oss.hseq_oss_legacy.hseq_virmidi.hsh_dac_audio.hsh_fsi.hsimple_card.hsimple_card_utils.hsnd_wavefront.hsoc-acpi-intel-match.hsoc-acpi.hsoc-card.hsoc-component.hsoc-dai.hsoc-dapm.hsoc-dpcm.hsoc-jack.hsoc-link.hsoc-topology.hsoc.hsofsof.hchannel_map.hcontrol.hdai-amd.hdai-imx.hdai-intel.hdai-mediatek.hdai.hdebug.hext_manifest.hext_manifest4.hheader.hinfo.hipc4header.hpm.hstream.htopology.htrace.hxtensa.hsoundfont.hspear_dma.hspear_spdif.hsta32x.hsta350.htas2552-plat.htas2781-dsp.htas2781-tlv.htas2781.htas5086.htea6330t.htimer.htlv.htlv320aic32x4.htlv320dac33-plat.htpa6130a2-plat.huda1380.hump.hump_convert.hump_msg.hutil_mem.hvx_core.hwavefront.hwm0010.hwm1250-ev1.hwm2000.hwm2200.hwm5100.hwm8903.hwm8904.hwm8955.hwm8960.hwm8962.hwm8993.hwm8996.hwm9081.hwm9090.hwss.htargetiscsiiscsi_target_core.hiscsi_target_stat.hiscsi_transport.htarget_core_backend.htarget_core_base.htarget_core_fabric.htracebpf_probe.hdefine_custom_trace.hdefine_trace.hevents9p.hafs.halarmtimer.hasoc.havc.hbcache.hblock.hbpf_test_run.hbridge.hbtrfs.hcachefiles.hcgroup.hclk.hcma.hcompaction.hcontext_tracking.hcpuhp.hcsd.hdamon.hdevfreq.hdevlink.hdlm.hdma_fence.hdynamic_pool.herofs.herror_report.hext4.hf2fs.hfib.hfib6.hfilelock.hfilemap.hfs.hfs_dax.hfscache.hfsi.hfsi_master_aspeed.hfsi_master_ast_cf.hfsi_master_gpio.hfsi_master_i2cr.hgpio.hgpu_mem.hhabanalabs.hhandshake.hhost1x.hhuge_memory.hhwmon.hi2c.hi2c_slave.hib_mad.hib_umad.hinitcall.hintel-sst.hintel_ifs.hintel_ish.hio_uring.hiocost.hiommu.hipi.hirq.hirq_matrix.hiscsi.hjbd2.hkmem.hksm.hkvm.hkyber.hlibata.hlock.hmaple_tree.hmce.hmctp.hmdio.hmigrate.hmlxsw.hmmap.hmmap_lock.hmmc.hmmflags.hmodule.hmptcp.hnapi.hnbd.hneigh.hnet.hnet_probe_common.hnetfs.hnetlink.hnilfs2.hnmi.hnotifier.hobjagg.hoom.hosnoise.hpage_isolation.hpage_pool.hpage_ref.hpagemap.hpercpu.hpower.hpower_cpu_migrate.hpreemptirq.hprintk.hpwc.hpwm.hqdisc.hqla.hqrtr.hrcu.hrdma_core.hregulator.hrpcgss.hrpcrdma.hrpm.hrseq.hrtc.hrv.hrwmmio.hrxrpc.hsched.hscmi.hscsi.hsctp.hsignal.hsiox.hskb.hsmbus.hsock.hsof.hsof_intel.hspi.hspmi.hsunrpc.hsunvnet.hswiotlb.hsyscalls.htarget.htask.htcp.htegra_apb_dma.hthermal_pressure.hthp.htimer.htlb.hudp.hufs.hv4l2.hvb2.hvmalloc.hvmscan.hvsock_virtio_transport_common.hwatchdog.hwbt.hworkqueue.hwriteback.hxdp.hxen.hhooksbonding.hvendor_hooks.hmiscfs.hnfs.hrdma.hsunrpc.hperf.hstagesinit.hstage1_struct_define.hstage2_data_offsets.hstage3_trace_output.hstage4_event_fields.hstage5_get_offsets.hstage6_event_callback.hstage7_class_define.hsyscall.htrace_custom_events.htrace_events.huapiKbuildasm-genericKbuildauxvec.hbitsperlong.hbpf_perf_event.herrno-base.herrno.hfcntl.hhugetlb_encode.hint-l64.hint-ll64.hioctl.hioctls.hipcbuf.hkvm_para.hmman-common.hmman.hmsgbuf.hparam.hpoll.hposix_types.hresource.hsembuf.hsetup.hshmbuf.hsiginfo.hsignal-defs.hsignal.hsocket.hsockios.hstat.hstatfs.hswab.htermbits-common.htermbits.htermios.htypes.hucontext.hunistd.hdrmamdgpu_drm.harmada_drm.hdrm.hdrm_fourcc.hdrm_mode.hdrm_sarea.hetnaviv_drm.hexynos_drm.hhabanalabs_accel.hi915_drm.hivpu_accel.hlima_drm.hmsm_drm.hnouveau_drm.homap_drm.hpanfrost_drm.hqaic_accel.hqxl_drm.hradeon_drm.htegra_drm.hv3d_drm.hvc4_drm.hvgem_drm.hvirtgpu_drm.hvmwgfx_drm.hlinuxa.out.hacct.hacrn.hadb.hadfs_fs.haffs_hardblocks.hagpgart.haio_abi.ham437x-vpfe.hamt.handroidbinder.hbinderfs.hapm_bios.harcfb.harm_sdei.haspeed-lpc-ctrl.haspeed-p2a-ctrl.haspeed-video.hatalk.hatm.hatm_eni.hatm_he.hatm_idt77105.hatm_nicstar.hatm_tcp.hatm_zatm.hatmapi.hatmarp.hatmbr2684.hatmclip.hatmdev.hatmioc.hatmlec.hatmmpc.hatmppp.hatmsap.hatmsvc.haudit.hauto_dev-ioctl.hauto_fs.hauto_fs4.hauxvec.hax25.hbatadv_packet.hbatman_adv.hbaycom.hbcm933xx_hcs.hbfs_fs.hbinfmts.hblkpg.hblktrace_api.hblkzoned.hbpf.hbpf_common.hbpf_perf_event.hbpfilter.hbpqether.hbsg.hbt-bmc.hbtf.hbtrfs.hbtrfs_tree.hbyteorderbig_endian.hlittle_endian.hcachefiles.hcaifcaif_socket.hif_caif.hcancan.hbcm.herror.hgw.hisotp.hj1939.hnetlink.hraw.hvxcan.hcapability.hcapi.hcciss_defs.hcciss_ioctl.hccs.hcdrom.hcec-funcs.hcec.hcfm_bridge.hcgroupstats.hchio.hcifscifs_mount.hcifs_netlink.hclose_range.hcn_proc.hcoda.hcoff.hcomedi.hconnector.hconst.hcoresight-stm.hcounter.hcramfs_fs.hcryptouser.hcuda.hcxl_mem.hcyclades.hcycx_cfm.hdcbnl.hdccp.hdevlink.hdlm.hdlm_device.hdlm_plock.hdlmconstants.hdm-ioctl.hdm-log-userspace.hdma-buf.hdma-heap.hdns_resolver.hdqblk_xfs.hdvbaudio.hca.hdmx.hfrontend.hnet.hosd.hversion.hvideo.hdw100.hedd.hefs_fs_sb.helf-em.helf-fdpic.helf.herrno.herrqueue.herspan.hethtool.hethtool_netlink.heventfd.heventpoll.hext4.hf2fs.hfadvise.hfalloc.hfanotify.hfb.hfcntl.hfd.hfdreg.hfib_rules.hfiemap.hfilter.hfirewire-cdev.hfirewire-constants.hfou.hfpga-dfl.hfs.hfscrypt.hfsi.hfsl_hypervisor.hfsl_mc.hfsmap.hfsverity.hfuse.hfutex.hgameport.hgen_stats.hgenetlink.hgenwqegenwqe_card.hgfs2_ondisk.hgpio.hgsmmux.hgtp.hhandshake.hhash_info.hhdlchdlc.hioctl.hhdlcdrv.hhdreg.hhid.hhiddev.hhidraw.hhpet.hhsics-protocol.hhsi_char.hhsr_netlink.hhw_breakpoint.hhyperv.hi2c-dev.hi2c.hi2o-dev.hi8k.hicmp.hicmpv6.hidxd.hif.hif_addr.hif_addrlabel.hif_alg.hif_arcnet.hif_arp.hif_bonding.hif_bridge.hif_cablemodem.hif_eql.hif_ether.hif_fc.hif_fddi.hif_hippi.hif_infiniband.hif_link.hif_ltalk.hif_macsec.hif_packet.hif_phonet.hif_plip.hif_ppp.hif_pppol2tp.hif_pppox.hif_slip.hif_team.hif_tun.hif_tunnel.hif_vlan.hif_x25.hif_xdp.hife.higmp.hiiobuffer.hevents.htypes.hila.hin.hin6.hin_route.hinet_diag.hinotify.hinput-event-codes.hinput.hio_uring.hioam6.hioam6_genl.hioam6_iptunnel.hioctl.hiommufd.hioprio.hip.hip6_tunnel.hip_vs.hipc.hipmi.hipmi_bmc.hipmi_msgdefs.hipmi_ssif_bmc.hipsec.hipv6.hipv6_route.hirqnr.hisdncapicmd.hiso_fs.hisst_if.hivtv.hivtvfb.hjffs2.hjoystick.hkcm.hkcmp.hkcov.hkd.hkdev_t.hkernel-page-flags.hkernel.hkernelcapi.hkexec.hkeyboard.hkeyctl.hkfd_ioctl.hkfd_sysfs.hkvm.hkvm_para.hl2tp.hlandlock.hlibc-compat.hlimits.hlirc.hllc.hloadpin.hloop.hlp.hlwtunnel.hmagic.hmajor.hmap_to_14segment.hmap_to_7segment.hmatroxfb.hmax2175.hmctp.hmdio.hmedia-bus-format.hmedia.hmei.hmei_uuid.hmembarrier.hmemfd.hmempolicy.hmii.hminix_fs.hmiscbcm_vk.hmman.hmmcioctl.hmmtimer.hmodule.hmount.hmpls.hmpls_iptunnel.hmptcp.hmptcp_pm.hmqueue.hmroute.hmroute6.hmrp_bridge.hmsdos_fs.hmsg.hmtio.hnbd-netlink.hnbd.hncsi.hndctl.hneighbour.hnet.hnet_dropmon.hnet_namespace.hnet_tstamp.hnetconf.hnetdev.hnetdevice.hnetfilternetfilter.hipsetip_set.hip_set_bitmap.hip_set_hash.hip_set_list.hnf_conntrack_common.hnf_conntrack_ftp.hnf_conntrack_sctp.hnf_conntrack_tcp.hnf_conntrack_tuple_common.hnf_log.hnf_nat.hnf_synproxy.hnf_tables.hnf_tables_compat.hnfnetlink.hnfnetlink_acct.hnfnetlink_compat.hnfnetlink_conntrack.hnfnetlink_cthelper.hnfnetlink_cttimeout.hnfnetlink_hook.hnfnetlink_log.hnfnetlink_osf.hnfnetlink_queue.hx_tables.hxt_AUDIT.hxt_CHECKSUM.hxt_CLASSIFY.hxt_CONNMARK.hxt_CONNSECMARK.hxt_CT.hxt_DSCP.hxt_HMARK.hxt_IDLETIMER.hxt_LED.hxt_LOG.hxt_MARK.hxt_NFLOG.hxt_NFQUEUE.hxt_RATEEST.hxt_SECMARK.hxt_SYNPROXY.hxt_TCPMSS.hxt_TCPOPTSTRIP.hxt_TEE.hxt_TPROXY.hxt_addrtype.hxt_bpf.hxt_cgroup.hxt_cluster.hxt_comment.hxt_connbytes.hxt_connlabel.hxt_connlimit.hxt_connmark.hxt_conntrack.hxt_cpu.hxt_dccp.hxt_devgroup.hxt_dscp.hxt_ecn.hxt_esp.hxt_hashlimit.hxt_helper.hxt_ipcomp.hxt_iprange.hxt_ipvs.hxt_l2tp.hxt_length.hxt_limit.hxt_mac.hxt_mark.hxt_multiport.hxt_nfacct.hxt_osf.hxt_owner.hxt_physdev.hxt_pkttype.hxt_policy.hxt_quota.hxt_rateest.hxt_realm.hxt_recent.hxt_rpfilter.hxt_sctp.hxt_set.hxt_socket.hxt_state.hxt_statistic.hxt_string.hxt_tcpmss.hxt_tcpudp.hxt_time.hxt_u32.hnetfilter_arpnetfilter_arp.harp_tables.harpt_mangle.hnetfilter_bridgenetfilter_bridge.hebt_802_3.hebt_among.hebt_arp.hebt_arpreply.hebt_ip.hebt_ip6.hebt_limit.hebt_log.hebt_mark_m.hebt_mark_t.hebt_nat.hebt_nflog.hebt_pkttype.hebt_redirect.hebt_stp.hebt_vlan.hebtables.hnetfilter_ipv4netfilter_ipv4.hip_tables.hipt_CLUSTERIP.hipt_ECN.hipt_LOG.hipt_REJECT.hipt_TTL.hipt_ah.hipt_ecn.hipt_ttl.hnetfilter_ipv6netfilter_ipv6.hip6_tables.hip6t_HL.hip6t_LOG.hip6t_NPT.hip6t_REJECT.hip6t_ah.hip6t_frag.hip6t_hl.hip6t_ipv6header.hip6t_mh.hip6t_opts.hip6t_rt.hip6t_srh.hnetlink.hnetlink_diag.hnetrom.hnexthop.hnfc.hnfs.hnfs2.hnfs3.hnfs4.hnfs4_mount.hnfs_fs.hnfs_idmap.hnfs_mount.hnfsacl.hnfsdcld.hdebug.hexport.hstats.hnilfs2_api.hnilfs2_ondisk.hnitro_enclaves.hnl80211-vnd-intel.hnl80211.hnsfs.hnubus.hnvme_ioctl.hnvram.homap3isp.homapfb.hoom.hopenat2.hopenvswitch.hpacket_diag.hparam.hparport.hpatchkey.hpci.hpci_regs.hpcitest.hperf_event.hpersonality.hpfkeyv2.hpfrut.hpg.hphantom.hphonet.hpidfd.hpkt_cls.hpkt_sched.hpktcdvd.hpmu.hpoll.hposix_acl.hposix_acl_xattr.hposix_types.hppdev.hppp-comp.hppp-ioctl.hppp_defs.hpps.hpr.hprctl.hpsample.hpsci.hpsp-dbc.hpsp-hygon.hpsp-sev.hptp_clock.hptrace.hqemu_fw_cfg.hqnx4_fs.hqnxtypes.hqrtr.hquota.hradeonfb.hraidmd_p.hmd_u.hrandom.hrds.hreboot.hreiserfs_fs.hreiserfs_xattr.hremoteproc_cdev.hresource.hrfkill.hrio_cm_cdev.hrio_mport_cdev.hrkisp1-config.hromfs_fs.hrose.hroute.hrpl.hrpl_iptunnel.hrpmsg.hrpmsg_types.hrseq.hrtc.hrtnetlink.hrxrpc.hscc.hschedsched.htypes.hscif_ioctl.hscreen_info.hsctp.hseccomp.hsecurebits.hsed-opal.hseg6.hseg6_genl.hseg6_hmac.hseg6_iptunnel.hseg6_local.hselinux_netlink.hsem.hserial.hserial_core.hserial_reg.hserio.hsev-guest.hshm.hsignal.hsignalfd.hsmc.hsmc_diag.hsmiapp.hsnmp.hsock_diag.hsocket.hsockios.hsonet.hsonypi.hsound.hsoundcard.hspispi.hspidev.hstat.hstddef.hstm.hstring.hsunrpcdebug.hsurface_aggregatorcdev.hdtx.hsuspend_ioctls.hswab.hswitchtec_ioctl.hsync_file.hsynclink.hsysctl.hsysinfo.htarget_core_user.htaskstats.htc_acttc_bpf.htc_connmark.htc_csum.htc_ct.htc_ctinfo.htc_defact.htc_gact.htc_gate.htc_ife.htc_ipt.htc_mirred.htc_mpls.htc_nat.htc_pedit.htc_sample.htc_skbedit.htc_skbmod.htc_tunnel_key.htc_vlan.htc_ematchtc_em_cmp.htc_em_ipt.htc_em_meta.htc_em_nbyte.htc_em_text.htcp.htcp_metrics.htdx-guest.htee.htermios.hthermal.htime.htime_types.htimerfd.htimes.htimex.htiocl.htipc.htipc_config.htipc_netlink.htipc_sockets_diag.htls.htoshiba.htps6594_pfsm.htty.htty_flags.htypes.hublk_cmd.hudf_fs_i.hudmabuf.hudp.huhid.huinput.huio.huleds.hultrasound.hum_timetravel.hun.hunistd.hunix_diag.husbaudio.hcdc-wdm.hcdc.hch11.hch9.hcharger.hfunctionfs.hg_printer.hg_uvc.hgadgetfs.hmidi.hraw_gadget.htmc.hvideo.husbdevice_fs.husbip.huser_events.huserfaultfd.huserio.hutime.hutsname.huuid.huvcvideo.hv4l2-common.hv4l2-controls.hv4l2-dv-timings.hv4l2-mediabus.hv4l2-subdev.hvbox_err.hvbox_vmmdev_types.hvboxguest.hvdpa.hvduse.hveth.hvfio.hvfio_ccw.hvfio_zdev.hvhost.hvhost_types.hvideodev2.hvirtio_9p.hvirtio_balloon.hvirtio_blk.hvirtio_bt.hvirtio_config.hvirtio_console.hvirtio_crypto.hvirtio_fs.hvirtio_gpio.hvirtio_gpu.hvirtio_i2c.hvirtio_ids.hvirtio_input.hvirtio_iommu.hvirtio_mem.hvirtio_mmio.hvirtio_net.hvirtio_pci.hvirtio_pcidev.hvirtio_pmem.hvirtio_ring.hvirtio_rng.hvirtio_scmi.hvirtio_scsi.hvirtio_snd.hvirtio_types.hvirtio_vsock.hvm_sockets.hvm_sockets_diag.hvmcore.hvsockmon.hvt.hvtpm_proxy.hwait.hwatch_queue.hwatchdog.hwireguard.hwireless.hwmi.hwwan.hx25.hxattr.hxdp_diag.hxfrm.hxilinx-v4l2-controls.hzorro.hzorro_ids.hmisccxl.hfastrpc.hocxl.hpvpanic.huaccehisi_qm.huacce.hxilinx_sdfec.hmtdinftl-user.hmtd-abi.hmtd-user.hnftl-user.hubi-user.hrdmabnxt_re-abi.hcxgb4-abi.hefa-abi.herdma-abi.hhfihfi1_ioctl.hhfi1_user.hhns-abi.hib_user_ioctl_cmds.hib_user_ioctl_verbs.hib_user_mad.hib_user_sa.hib_user_verbs.hirdma-abi.hmana-abi.hmlx4-abi.hmlx5-abi.hmlx5_user_ioctl_cmds.hmlx5_user_ioctl_verbs.hmthca-abi.hocrdma-abi.hqedr-abi.hrdma_netlink.hrdma_user_cm.hrdma_user_ioctl.hrdma_user_ioctl_cmds.hrdma_user_rxe.hrvt-abi.hsiw-abi.hvmw_pvrdma-abi.hscsicxlflash_ioctl.hfcfc_els.hfc_fs.hfc_gs.hfc_ns.hscsi_bsg_fc.hscsi_bsg_mpi3mr.hscsi_bsg_ufs.hscsi_netlink.hscsi_netlink_fc.hsoundasequencer.hasoc.hasound.hasound_fm.hcompress_offload.hcompress_params.hemu10k1.hfirewire.hhdsp.hhdspm.hintelavstokens.hsb16_csp.hsfnt_info.hskl-tplg-interface.hsnd_ar_tokens.hsnd_sst_tokens.hsofabi.hfw.hheader.htokens.htlv.husb_stream.hvideoedid.hsisfb.huvesafb.hxenevtchn.hgntalloc.hgntdev.hprivcmd.hufsufs.hufs_quirks.hufshcd.hufshci.hunipro.hvdsobits.hclocksource.hconst.hdatapage.hhelpers.hjiffies.hktime.hlimits.hmath64.hprocessor.htime.htime32.htime64.hvsyscall.hvideoatmel_lcdc.haty128.hbroadsheetfb.hcirrus.hcmdline.hcvisionppc.hda8xx-fb.hdisplay_timing.hedid.hgbe.hhecubafb.hili9320.himx-ipu-image-convert.himx-ipu-v3.hkyro.hmach64.hmaxinefb.hmetronomefb.hmipi_display.hmmp_disp.hneomagic.hnewport.hnomodeset.hof_display_timing.hof_videomode.homapfb_dss.homapvrfb.hpermedia2.hplatform_lcd.hpm3fb.hpmag-ba-fb.hpmagb-b-fb.hpxa168fb.hradeon.hs1d13xxxfb.hsa1100fb.hsamsung_fimd.hsh_mobile_lcdc.hsisfb.hsstfb.hsticore.htdfx.htgafb.htrident.hudlfb.huvesafb.hvga.hvideomode.hxenacpi.harmhypercall.hhypervisor.hinterface.hpage.hswiotlb-xen.hxen-ops.hballoon.hevents.hfeatures.hgrant_table.hhvc-console.hhvm.hinterfacecallback.helfnote.hevent_channel.hfeatures.hgrant_table.hhvmdm_op.hhvm_op.hhvm_vcpu.hparams.hstart_info.hio9pfs.hblkif.hconsole.hdisplif.hfbif.hkbdif.hnetif.hpciif.hprotocols.hpvcalls.hring.hsndif.htpmif.husbif.hvscsiif.hxenbus.hxs_wire.hmemory.hnmi.hphysdev.hplatform.hsched.hvcpu.hversion.hxen-mca.hxen.hxenpmu.hmem-reservation.hpage.hpci.hplatform_pci.hswiotlb-xen.hxen-front-pgdir-shbuf.hxen-ops.hxen.hxenbus.hxenbus_dev.hinitKconfigMakefileio_uringMakefileipcMakefilekernelKconfig.freezerKconfig.hzKconfig.kexecKconfig.locksKconfig.preemptMakefilebpfKconfigMakefilepreloadKconfigMakefileiteratorsMakefilecgroupMakefiledebugMakefilekdbMakefiledmaKconfigMakefileentryMakefileeventsMakefilefutexMakefilegcovKconfigMakefileirqKconfigMakefilekcsanMakefilelivepatchKconfigMakefilelockingMakefilemoduleKconfigMakefilepgoKconfigMakefilepowerKconfigMakefileprintkMakefilercuKconfigKconfig.debugMakefileschedMakefilegridMakefiletimeKconfigMakefiletraceKconfigMakefilervKconfigMakefilelib842MakefileKconfigKconfig.debugKconfig.kasanKconfig.kcsanKconfig.kfenceKconfig.kgdbKconfig.kmsanKconfig.openeulerKconfig.ubsanMakefilecryptoKconfigMakefilempiMakefiledimMakefilefontsKconfigMakefilekunitKconfigMakefilelivepatchMakefilelz4MakefilelzoMakefilemathKconfigMakefilepldmfwMakefileraid6MakefiletestMakefilereed_solomonMakefilevdsoKconfigMakefilexzKconfigMakefilezlib_deflateMakefilezlib_dfltccMakefilezlib_inflateMakefilezstdMakefilemmKconfigKconfig.debugMakefiledamonKconfigMakefilekasanMakefilekfenceMakefilekmsanMakefilenet6lowpanKconfigMakefile802KconfigMakefile8021qKconfigMakefile9pKconfigMakefileKconfigKconfig.debugMakefileappletalkMakefileatmKconfigMakefileax25KconfigMakefilebatman-advKconfigMakefilebluetoothKconfigMakefilebnepKconfigMakefilecmtpKconfigMakefilehidpKconfigMakefilerfcommKconfigMakefilebpfMakefilebpfilterKconfigMakefilebridgeKconfigMakefilenetfilterKconfigMakefilecaifKconfigMakefilecanKconfigMakefilej1939KconfigMakefilecephKconfigMakefilecoreMakefiledcbKconfigMakefiledccpKconfigMakefileccidsKconfigdevlinkMakefiledns_resolverKconfigMakefiledsaKconfigMakefileethernetMakefileethtoolMakefilehandshakeMakefilehsrKconfigMakefileieee8021546lowpanKconfigMakefileKconfigMakefileifeKconfigMakefileipv4KconfigMakefilebpfilterMakefilenetfilterKconfigMakefileipv6KconfigMakefileilaMakefilenetfilterKconfigMakefileiucvKconfigMakefilekcmKconfigMakefilekeyMakefilel2tpKconfigMakefilel3mdevKconfigMakefilelapbKconfigMakefilellcKconfigMakefilemac80211KconfigMakefilemac802154KconfigMakefilemctpKconfigMakefilemplsKconfigMakefilemptcpKconfigMakefilencsiKconfigMakefilenetfilterKconfigMakefileipsetKconfigMakefileipvsKconfigMakefilenetlabelKconfigMakefilenetlinkKconfigMakefilenetromMakefilenfcKconfigMakefilehciKconfigMakefilenciKconfigMakefilenshKconfigMakefileopenvswitchKconfigMakefilepacketKconfigMakefilephonetKconfigMakefilepsampleKconfigMakefileqrtrKconfigMakefilerdsKconfigMakefilerfkillKconfigMakefileroseMakefilerxrpcKconfigMakefileschedKconfigMakefilesctpKconfigMakefilesmcKconfigMakefilestrparserKconfigMakefilesunrpcKconfigMakefileauth_gssMakefilexprtrdmaMakefileswitchdevKconfigMakefiletipcKconfigMakefiletlsKconfigMakefileunixKconfigMakefilevmw_vsockKconfigMakefilewirelessKconfigMakefilex25KconfigMakefilexdpKconfigMakefilexfrmKconfigMakefilerustMakefilesamplesKconfigMakefileacrnMakefileauxdisplayMakefilebinderfsMakefilebpfMakefileMakefile.targetconfigfsMakefileconnectorMakefilecoresightMakefilefanotifyMakefilefprobeMakefileftraceMakefilehidMakefileMakefile.targethidrawMakefilehw_breakpointMakefilekdbMakefilekfifoMakefilekmemleakMakefilekobjectMakefilekprobesMakefilelandlockMakefilelivepatchMakefilemeiMakefilenitro_enclavesMakefilepfsmMakefilepidfdMakefileqmiMakefilerpmsgMakefilerustKconfigMakefilehostprogsMakefileseccompMakefiletimersMakefiletrace_eventsMakefiletrace_printkMakefileuhidMakefileuser_eventsMakefilev4lMakefilevfio-mdevMakefilevfsMakefilewatch_queueMakefilewatchdogMakefilescriptsKbuild.includeKconfig.includeLindentMakefileMakefile.asm-genericMakefile.buildMakefile.clangMakefile.cleanMakefile.compilerMakefile.debugMakefile.defconfMakefile.dtbinstMakefile.extrawarnMakefile.gcc-pluginsMakefile.headersinstMakefile.hostMakefile.kasanMakefile.kcovMakefile.kcsanMakefile.kmsanMakefile.libMakefile.modfinalMakefile.modinstMakefile.modpostMakefile.packageMakefile.randstructMakefile.ubsanMakefile.userprogsMakefile.vmlinuxMakefile.vmlinux_oas-version.shasn1_compilerasn1_compiler.catomicatomic-tbl.shatomics.tblfallbacksacquireadd_negativeadd_unlessandnotcmpxchgdecdec_and_testdec_if_positivedec_unless_positivefencefetch_add_unlessincinc_and_testinc_not_zeroinc_unless_negativeread_acquirereleaseset_releasesub_and_testtry_cmpxchgxchggen-atomic-fallback.shgen-atomic-instrumented.shgen-atomic-long.shgen-atomics.shkerneldocaddadd_negativeadd_unlessandandnotcmpxchgdecdec_and_testdec_if_positivedec_unless_positiveincinc_and_testinc_not_zeroinc_unless_negativeorreadsetsubsub_and_testtry_cmpxchgxchgxorbasicMakefilefixdepfixdep.cbloat-o-meterbootgraph.plbpf_doc.pycc-can-link.shcc-version.shcheck-gitcheck-kabicheck-sysctl-docscheck_extable.shcheckdeclares.plcheckincludes.plcheckkconfigsymbols.pycheckpatch.plcheckstack.plchecksyscalls.shcheckversion.plclang-toolsgen_compile_commands.pyrun-clang-tools.pycleanfilecleanpatchcoccicheckcoccinelleapiallocalloc_cast.coccipool_zalloc-simple.coccizalloc-simple.cocciatomic_as_refcounter.coccicheck_bq27xxx_data.coccid_find_alias.coccidevice_attr_show.coccierr_cast.coccikfree_mismatch.coccikfree_sensitive.coccikstrdup.coccikvmalloc.coccimemdup.coccimemdup_user.cocciplatform_get_irq.cocciplatform_no_drv_owner.coccipm_runtime.cocciresource_size.coccisimple_open.coccistream_open.coccivma_pages.coccifreeclk_put.coccidevm_free.cocciifnulldev_put.cocciifnullfree.cocciiounmap.coccikfree.coccikfreeaddr.coccipci_free_consistent.cocciput_device.cocciiteratorsdevice_node_continue.coccifor_each_child.cocciitnull.coccilist_entry_update.cocciuse_after_iter.coccilockscall_kern.coccidouble_lock.cocciflags.coccimini_lock.coccimiscadd_namespace.cocciarray_size.cocciarray_size_dup.coccibadty.cocciboolconv.coccicond_no_effect.coccicstptr.coccido_div.coccidoubleinit.cocciexcluded_middle.cocciflexible_array.cocciifcol.cocciirqf_oneshot.cocciminmax.coccinewline_in_nl_msg.coccinoderef.cocciof_table.cocciorplus.coccireturnvar.coccisemicolon.cocciswap.coccitest_addr.cocciuninitialized_var.cocciwarn.coccinullbadzero.coccideref_null.coccieno.coccikmerr.coccitestsdoublebitand.coccidoubletest.cocciodd_ptr_err.cocciunsigned_lesser_than_zero.cocciconfigconst_structs.checkpatchdecode_stacktrace.shdecodecodedepmod.shdev-needs.shdiffconfigdocumentation-file-ref-checkdtcMakefilechecks.cdata.cdt-extract-compatiblesdt_to_configdtcdtc-lexer.ldtc-lexer.lex.cdtc-parser.tab.cdtc-parser.tab.hdtc-parser.ydtc.cdtc.hdtx_difffdtget.cfdtoverlayfdtoverlay.cfdtput.cflattree.cfstree.cinclude-prefixesarcarmarm64dt-bindingsmicroblazemipsnios2openriscpowerpcriscvshxtensalibfdtfdt.cfdt.hfdt_addresses.cfdt_empty_tree.cfdt_overlay.cfdt_ro.cfdt_rw.cfdt_strerror.cfdt_sw.cfdt_wip.clibfdt.hlibfdt_env.hlibfdt_internal.hlivetree.cof_unittest_expectsrcpos.csrcpos.htreesource.cupdate-dtc-source.shutil.cutil.hversion_gen.hyamltree.cdummy-toolsdummy-plugin-dirincludeplugin-version.hgccldnmobjcopypaholeexport_report.plextract-ikconfigextract-module-sig.plextract-sys-certs.plextract-vmlinuxextract_xc3028.plfaddr2linefile-size.shfind-unused-docs.shgcc-pluginsKconfigMakefilearm_ssp_per_task_plugin.cgcc-common.hgcc-generate-gimple-pass.hgcc-generate-ipa-pass.hgcc-generate-rtl-pass.hgcc-generate-simple_ipa-pass.hlatent_entropy_plugin.crandomize_layout_plugin.csancov_plugin.cstackleak_plugin.cstructleak_plugin.cgcc-x86_32-has-stack-protector.shgcc-x86_64-has-stack-protector.shgdbMakefilelinuxMakefile__init__.pyclk.pyconfig.pyconstants.py.incpus.pydevice.pydmesg.pygenpd.pyinterrupts.pylists.pymm.pymodules.pypage_owner.pypgtable.pyproc.pyradixtree.pyrbtree.pyslab.pystackdepot.pysymbols.pytasks.pytimerlist.pyutils.pyvfs.pyvmalloc.pyvmlinux-gdb.pygen-randstruct-seed.shgenerate_initcall_order.plgenerate_rust_analyzer.pygenerate_rust_target.rsgenksymsMakefilegenksymsgenksyms.cgenksyms.hkeywords.clex.llex.lex.cparse.tab.cparse.tab.hparse.yget_abi.plget_dvb_firmwareget_feat.plget_maintainer.plgfp-translatehead-object-list.txtheaderdep.plheaders_install.shinsert-sys-cert.cinstall.shjobserver-execkabidepskabisymskallsymskallsyms.ckconfigMakefileconfconf.cconfdata.cexpr.cexpr.hgconf-cfg.shgconf.cgconf.gladeimages.cimages.hinternal.hlexer.llexer.lex.clist.hlkc.hlkc_proto.hlxdialogBIG.FAT.WARNINGchecklist.cdialog.hinputbox.cmenubox.ctextbox.cutil.cyesno.cmakeconfig.shmconf-cfg.shmconf.cmenu.cmerge_config.shnconf-cfg.shnconf.cnconf.gui.cnconf.hparser.tab.cparser.tab.hparser.ypreprocess.cqconf-cfg.shqconf.ccqconf.hstreamline_config.plsymbol.ctestsauto_submenuKconfig__init__.pyexpected_stdoutchoiceKconfig__init__.pyalldef_expected_configallmod_expected_configallno_expected_configallyes_expected_configoldask0_expected_stdoutoldask1_configoldask1_expected_stdoutchoice_value_with_m_depKconfig__init__.pyconfigexpected_configexpected_stdoutconftest.pyerr_recursive_depKconfig__init__.pyexpected_stderrerr_recursive_incKconfigKconfig.inc1Kconfig.inc2Kconfig.inc3__init__.pyexpected_stderrinter_choiceKconfig__init__.pydefconfigexpected_confignew_choice_with_depKconfig__init__.pyconfigexpected_stdoutno_write_if_dep_unmetKconfig__init__.pyconfigexpected_configpreprocessbuiltin_funcKconfig__init__.pyexpected_stderrexpected_stdoutcircular_expansionKconfig__init__.pyexpected_stderrescapeKconfig__init__.pyexpected_stderrvariableKconfig__init__.pyexpected_stderrpytest.iniutil.ckernel-docksymoopsREADMEld-version.shleaking_addresses.pllink-vmlinux.shmakelstmarkup_oops.plmin-tool-version.shmisc-checkmkcompile_hmksysmapmkuboot.shmodMakefiledevicetable-offsets.cdevicetable-offsets.hdevicetable-offsets.selfconfig.hempty.cfile2alias.clist.hmk_elfconfigmk_elfconfig.cmodpostmodpost.cmodpost.hsumversion.csymsearch.cmodule.ldsmodule.lds.Smodules-check.shnsdepsobjdiffobjdump-funcorc_hash.shpackagebuilddebbuildtardeb-build-optiondebianrulesgen-diff-patchinstall-extmod-buildkernel.specmkdebianmkspecsnapcraft.templatepahole-flags.shpahole-version.shparse-maintainers.plpatch-kernelprofile2linkerlist.plprune-kernelrecordmcount.crecordmcount.hrecordmcount.plrelocs_check.shremove-stale-filesrust_is_available.shrust_is_available_bindgen_libclang.hrust_is_available_test.pyrustdoc_test_builder.rsrustdoc_test_gen.rsselinuxMakefileREADMEgenheadersMakefilegenheadersgenheaders.cinstall_policy.shmdpMakefiledbus_contextsmdpmdp.csetlocalversionshow_deltasign-filesign-file.csorttablesorttable.csorttable.hspdxcheck-test.shspdxcheck.pyspdxexcludespelling.txtsphinx-pre-installsplit-man.plstackdeltastackusagesubarch.includesyscallhdr.shsyscallnr.shsyscalltbl.shtags.shtest_fortify.shtools-support-relr.shtracingdraw_functrace.pyftrace-bisect.shunifdefunifdef.cver_linuxxen-hypercalls.shxz_wrap.shsecurityKconfigKconfig.hardeningMakefileapparmorKconfigMakefilebpfMakefileintegrityKconfigMakefileevmKconfigMakefileimaKconfigMakefilekeysKconfigMakefileencrypted-keysMakefiletrusted-keysKconfigMakefilelandlockKconfigMakefileloadpinKconfigMakefilelockdownKconfigMakefilesafesetidKconfigMakefileselinuxKconfigMakefilesmackKconfigMakefiletomoyoKconfigMakefileyamaKconfigMakefilesoundKconfigMakefileac97KconfigMakefileaoaKconfigMakefilecodecsKconfigMakefilecoreMakefilefabricsKconfigMakefilesoundbusKconfigMakefilei2sbusMakefilearmKconfigMakefileatmelKconfigMakefilecoreKconfigMakefileossMakefileseqKconfigMakefileossMakefiledriversKconfigMakefilempu401Makefileopl3Makefileopl4MakefilepcspMakefilevxMakefilefirewireKconfigMakefilebebobMakefilediceMakefiledigi00xMakefilefirefaceMakefilefireworksMakefilemotuMakefileoxfwMakefiletascamMakefilehdaKconfigMakefileextMakefilei2cMakefileotherMakefileisaKconfigMakefilead1816aMakefilead1848Makefilecs423xMakefilees1688MakefilegalaxyMakefilegusMakefilemsndMakefileopti9xxMakefilesbMakefilewavefrontMakefilewssMakefilemipsKconfigMakefileossdmasoundKconfigMakefilepariscKconfigMakefilepciKconfigMakefileac97Makefileali5451MakefileasihpiMakefileau88x0Makefileaw2Makefileca0106Makefilecs46xxMakefilecs5535audioMakefilectxfiMakefileechoaudioMakefileemu10k1MakefilehdaKconfigMakefileice1712Makefilekorg1212MakefilelolaMakefilelx6464esMakefilemixartMakefilenm256MakefileoxygenMakefilepcxhrMakefileriptideMakefilerme9652MakefiletridentMakefilevx222MakefileymfpciMakefilepcmciaKconfigMakefilepdaudiocfMakefilevxMakefileppcKconfigMakefileshKconfigMakefilesocKconfigMakefileadiKconfigMakefileamdKconfigMakefileacpKconfigMakefilepsMakefileravenMakefilerenoirMakefilerplMakefilevangoghMakefileycMakefileappleKconfigMakefileatmelKconfigMakefileau1xKconfigMakefilebcmKconfigMakefilecirrusKconfigMakefilecodecsKconfigMakefiledwcKconfigMakefilefslKconfigMakefilegenericKconfigMakefilegoogleKconfigMakefilehisiliconKconfigMakefileimgKconfigMakefileintelKconfigMakefileatomMakefilesstMakefileavsMakefileboardsKconfigMakefileboardsKconfigMakefilecatptMakefilecommonMakefilekeembayMakefileskylakeMakefilejz4740KconfigMakefilekirkwoodKconfigMakefileloongsonKconfigMakefilemediatekKconfigMakefilecommonMakefilemt2701Makefilemt6797Makefilemt7986Makefilemt8173Makefilemt8183Makefilemt8186Makefilemt8188Makefilemt8192Makefilemt8195MakefilemesonKconfigMakefilemxsKconfigMakefilepxaKconfigMakefileqcomKconfigMakefileqdsp6MakefilerockchipKconfigMakefilesamsungKconfigMakefileshKconfigMakefilercarMakefilesofKconfigMakefileamdKconfigMakefileimxKconfigMakefileintelKconfigMakefilemediatekKconfigMakefilemt8186Makefilemt8195MakefilextensaKconfigMakefilespearKconfigMakefilesprdKconfigMakefilestarfiveKconfigMakefilestiKconfigMakefilestmKconfigMakefilesunxiKconfigMakefiletegraKconfigMakefiletiKconfigMakefileuniphierKconfigMakefileux500KconfigMakefilexilinxKconfigMakefilextensaKconfigMakefilesparcKconfigMakefilespiKconfigMakefilesynthKconfigMakefileemuxMakefileusb6fireMakefileKconfigMakefilebcd2000MakefilecaiaqMakefilehifaceMakefileline6KconfigMakefilemiscMakefileusx2yMakefilevirtioKconfigMakefilex86KconfigMakefilexenKconfigMakefiletoolsMakefileaccountingMakefilearchx86intel_sdsiMakefilekcpuidMakefilebootconfigMakefilebpfMakefilebpftoolDocumentationMakefileMakefileresolve_btfidsMakefileresolve_btfidsrunqslowerMakefilebuildMakefileMakefile.buildMakefile.featureMakefile.includefeatureMakefiletestsexMakefilecgroupMakefilecounterMakefilecryptoccpMakefiledebuggingMakefileedidMakefilefirewireMakefilefirmwareMakefilegpioMakefilehvMakefileiioMakefileincludenolibcMakefilekvmkvm_statMakefilelaptopdslmMakefilefreefallMakefileledsMakefilelibapiMakefilebpfMakefileperfDocumentationMakefileMakefilesubcmdMakefilesymbolMakefilethermalMakefilemmMakefilenetynlMakefileMakefile.depsgeneratedMakefilelibMakefilesamplesMakefilenetaccMakefileobjtoolMakefilepciMakefilepcmciaMakefileperfDocumentationMakefileMakefileMakefile.configMakefile.perfarcharmMakefilearm64MakefilecskyMakefileloongarchMakefilemipsMakefilepowerpcMakefileriscvMakefiles390MakefileshMakefilesparcMakefilesw_64Makefilex86MakefilextensaMakefilescriptsperlPerf-Trace-UtilMakefile.PLtestsshellcoresightMakefileMakefile.miniconfigasm_pure_loopMakefilememcpy_threadMakefilethread_loopMakefileunroll_loop_threadMakefilepoweracpiMakefileMakefile.configMakefile.rulestoolsacpidbgMakefileacpidumpMakefileecMakefilepfrutMakefilecpupowerMakefilebenchMakefiledebugi386MakefilekernelMakefilex86_64Makefilepm-graphMakefilex86intel-speed-selectMakefileturbostatMakefilex86_energy_perf_policyMakefilepython3-perfDocumentationMakefileMakefileMakefile.configMakefile.perfarcharmMakefilearm64MakefilecskyMakefileloongarchMakefilemipsMakefilepowerpcMakefileriscvMakefiles390MakefileshMakefilesparcMakefilesw_64Makefilex86MakefilextensaMakefilescriptsperlPerf-Trace-UtilMakefile.PLtestsshellcoresightMakefileMakefile.miniconfigasm_pure_loopMakefilememcpy_threadMakefilethread_loopMakefileunroll_loop_threadMakefilescriptsMakefile.archMakefile.includespiMakefiletestingcryptochacha20-s390MakefilememblockMakefilescriptsMakefile.includenvdimmMakefileradix-treeMakefilescatterlistMakefileselftestsMakefilealsaMakefileamd-pstateMakefilearm64MakefileabiMakefilebtiMakefilefpMakefilemteMakefilepauthMakefilesignalMakefiletagsMakefilebpfMakefileMakefile.docsbpf_testmodMakefilebreakpointsMakefilecachestatMakefilecapabilitiesMakefilecgroupMakefileclone3MakefileconnectorMakefilecoreMakefilecpu-hotplugMakefilecpufreqMakefiledamonMakefiledmaMakefiledmabuf-heapsMakefiledriversdma-bufMakefilenetbondingMakefiledsaMakefileteamMakefileplatformx86intelifsMakefiles390xuvdeviceMakefileefivarfsMakefileexecMakefilefchmodat2MakefilefilelockMakefilefilesystemsMakefilebinderfsMakefileepollMakefilefatMakefilefirmwareMakefilefpuMakefileftraceMakefilefutexMakefilefunctionalMakefilegpioMakefilehidMakefileia64Makefileintel_pstateMakefileiommuMakefileipcMakefileirMakefilekcmpMakefilekexecMakefilekmodMakefilekvmMakefilelandlockMakefilelibMakefilelivepatchMakefilelkdtmMakefilelockingMakefilemedia_testsMakefilemembarrierMakefilememfdMakefilememory-hotplugMakefilemincoreMakefilemmMakefilemountMakefilemount_setattrMakefilemove_mount_set_groupMakefilemqueueMakefilenciMakefilenetMakefileaf_unixMakefileforwardingMakefilehsrMakefilemptcpMakefileopenvswitchMakefilenetfilterMakefilenolibcMakefilensfsMakefileopenat2Makefileperf_eventsMakefilepid_namespaceMakefilepidfdMakefilepowerpcMakefilealignmentMakefilebenchmarksMakefilecache_shapeMakefilecopyloopsMakefiledexcrMakefiledscrMakefileeehMakefilemathMakefilemceMakefilemmMakefilenx-gzipMakefilepapr_attributesMakefilepmuMakefileebbMakefileevent_code_testsMakefilesampling_testsMakefileprimitivesMakefileptraceMakefilesecurityMakefilesignalMakefilestringloopsMakefileswitch_endianMakefilesyscallsMakefiletmMakefilevphnMakefileprctlMakefileprocMakefilepstoreMakefileptpMakefileptraceMakefilercutortureMakefileresctrlMakefileriscvMakefilehwprobeMakefilemmMakefilevectorMakefilerlimitsMakefilerseqMakefilertcMakefilesafesetidMakefileschedMakefileseccompMakefilesgxMakefilesigaltstackMakefilesizeMakefilesparc64MakefiledriversMakefilespliceMakefilestatic_keysMakefilesyncMakefilesyscall_user_dispatchMakefilesysctlMakefiletc-testingMakefiletdxMakefiletimensMakefiletimersMakefiletmpfsMakefiletpm2MakefilettyMakefileueventMakefileuserMakefileuser_eventsMakefilevDSOMakefilewatchdogMakefilewireguardqemuMakefilex86MakefilezramMakefilevsockMakefilethermallibMakefilethermal-engineMakefilethermometerMakefiletmonMakefiletracingMakefilelatencyMakefilertlaMakefileusbMakefileffs-aio-examplemultibuffhost_appMakefilesimplehost_appMakefileusbipMakefile.amlibsrcMakefile.amsrcMakefile.amverificationdot2MakefilervMakefilevirtioMakefileringtestMakefilevhost_testMakefilevirtio-traceMakefilewmiMakefileusrKconfigMakefileincludeMakefilevirtMakefilekvmKconfigMakefile.kvmlibKconfigMakefile/lib/modules/6.6.0-50.0.0.55.oe2403.aarch64//usr/src/kernels//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/devicetree//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/devicetree/bindings//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/kbuild//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/tools/rtla//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/tools/rv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/userspace-api//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/Documentation/userspace-api/media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/alpha/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/plat-axs10x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/plat-hsdk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/plat-sim//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arc/plat-tb10x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/bootp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/compressed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/airoha//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/allwinner//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/alphascale//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/amazon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/axis//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/calxeda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/cnxt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/gemini//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/hpe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/intel/axm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/intel/ixp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/intel/pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/intel/socfpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/moxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nspire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nuvoton//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nvidia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nxp/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nxp/lpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nxp/ls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nxp/mxs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/nxp/vf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/sigmastar//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/socionext//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/sunplus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/synaptics//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/ti/davinci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/ti/keystone//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/ti/omap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/unisoc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/vt8500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/boot/dts/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/include//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/include/asm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/include/asm/hardware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/include/asm/mach//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/include/asm/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/include/asm/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-airoha//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-alpine//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-artpec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-asm9260//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-at91//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-axxia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-berlin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-clps711x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-davinci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-digicolor//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-dove//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-ep93xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-exynos//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-footbridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-gemini//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-highbank//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-hisi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-hpe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-ixp4xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-keystone//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-lpc18xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-lpc32xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-milbeaut//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-mmp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-moxart//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-mstar//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-mv78xx0//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-mvebu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-mxs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-nomadik//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-npcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-nspire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-omap1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-omap2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-orion5x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-rda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-rpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-s3c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-s5pv210//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-sa1100//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-shmobile//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-socfpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-spear//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-sti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-stm32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-sunplus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-uniphier//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-ux500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-versatile//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-vt8500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mach-zynq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/nwfpe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/plat-orion//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/probes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/probes/kprobes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/probes/uprobes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/vfp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/allwinner//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/altera//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/amazon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/apm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/apple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/bitmain//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/broadcom/bcmbca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/broadcom/northstar2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/broadcom/stingray//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/cavium//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/exynos//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/freescale//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/lg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/nuvoton//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/nvidia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/socionext//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/sprd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/synaptics//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/tesla//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/toshiba//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/boot/dts/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/hyperv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/asm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/asm/stacktrace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/asm/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/asm/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/generated//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/generated/asm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/generated/uapi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/generated/uapi/asm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/uapi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/include/uapi/asm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kernel/pi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kernel/probes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kernel/vdso-ilp32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kernel/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kernel/vdso32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kvm/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kvm/hyp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kvm/hyp/nvhe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/kvm/hyp/vhe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/arm64/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/abiv1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/abiv2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/kernel/probes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/kernel/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/csky/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/hexagon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/hexagon/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/hexagon/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/hexagon/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/hp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/hp/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/uv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/ia64/uv/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/loongarch/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/68000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/amiga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/apollo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/atari//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/bvme6000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/coldfire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/fpsp040//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/hp300//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/ifpsp060//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/mac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/mvme147//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/mvme16x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/q40//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/sun3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/sun3/prom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/sun3x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/tools/amiga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/m68k/virt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/kernel/cpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/microblaze/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/alchemy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/alchemy/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/alchemy/devboards//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/ar7//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/ath25//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/ath79//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/bcm47xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/bcm63xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/bcm63xx/boards//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/bmips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/compressed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/brcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/cavium-octeon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/img//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/ingenic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/lantiq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/loongson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/mscc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/mti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/ni//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/pic32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/qca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/ralink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/dts/xilfpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/boot/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/cavium-octeon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/cavium-octeon/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/cavium-octeon/executive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/cobalt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/dec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/dec/prom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/fw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/fw/arc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/fw/cfe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/fw/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/fw/sni//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/generic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/ingenic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/jazz//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/lantiq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/lantiq/falcon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/lantiq/xway//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson2ef//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson2ef/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson2ef/common/cs5536//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson2ef/fuloong-2e//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson2ef/lemote-2f//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson32/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson32/ls1b//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson32/ls1c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/loongson64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/mti-malta//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/n64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/pic32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/pic32/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/pic32/pic32mzda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/ralink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/rb532//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sgi-ip22//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sgi-ip27//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sgi-ip30//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sgi-ip32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sibyte//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sibyte/bcm1480//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sibyte/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sibyte/sb1250//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sibyte/swarm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/sni//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/txx9//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/txx9/generic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/txx9/rbtx4927//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/mips/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/boot/compressed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/nios2/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/openrisc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/openrisc/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/openrisc/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/openrisc/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/openrisc/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/openrisc/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/boot/compressed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/kernel/vdso32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/kernel/vdso64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/parisc/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/boot/dts/fsl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kernel/ptrace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kernel/trace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kernel/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kexec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/mm/book3s32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/mm/book3s64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/mm/kasan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/mm/nohash//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/mm/ptdump//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/perf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/40x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/44x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/4xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/512x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/52xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/82xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/83xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/85xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/86xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/8xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/amigaone//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/book3s//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/cell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/cell/spufs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/chrp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/embedded6xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/maple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/microwatt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/pasemi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/powermac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/powernv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/ps3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/platforms/pseries//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/purgatory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/sysdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/sysdev/ge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/sysdev/xics//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/sysdev/xive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/powerpc/xmon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/allwinner//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/canaan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/sifive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/boot/dts/thead//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/errata//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/errata/andes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/errata/sifive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/errata/thead//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/kernel/compat_vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/kernel/pi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/kernel/probes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/kernel/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/riscv/purgatory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/appldata//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/hypfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/kernel/vdso32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/kernel/vdso64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/lib/expoline//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/purgatory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/s390/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-ap325rxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-dreamcast//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-ecovec24//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-highlander//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-hp6xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-kfr2r09//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-landisk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-lboxre2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-microdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-migor//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-r2d//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-rsk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-sdk7780//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-sdk7786//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7206//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7343//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/770x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7721//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7722//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7724//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7751//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-se/7780//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-sh03//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-sh7763rdp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boards/mach-x3proto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boot/compressed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/boot/romimage//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/cchips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/cchips/hd6446x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/drivers/dma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/drivers/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/drivers/superhyway//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/irq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/sh2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/sh2a//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/sh3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/sh4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/sh4a//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/cpu/shmobile//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/kernel/vsyscall//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sh/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/prom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sparc/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/kernel/kprobes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/kernel/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/sw_64/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/kernel/skas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/os-Linux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/os-Linux/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/os-Linux/skas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/um/scripts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/boot/compressed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/coco//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/coco/tdx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/entry//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/entry/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/entry/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/entry/vsyscall//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/events/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/events/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/events/zhaoxin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/hyperv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/ia32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/acpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/apic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/cpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/cpu/mce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/cpu/microcode//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/cpu/mtrr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/cpu/resctrl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/cpu/sgx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/fpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kernel/kprobes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/mm/pat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/atom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/ce4100//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/efi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/geode//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/intel-mid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/intel-quark//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/iris//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/olpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/pvh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/scx200//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/ts5500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/platform/uv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/purgatory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/ras//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/realmode//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/realmode/rm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/um//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/um/os-Linux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/um/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/x86/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/boot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/boot/boot-elf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/boot/boot-redboot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/boot/dts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/boot/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/kernel/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/platforms//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/platforms/iss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/platforms/xt2000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/arch/xtensa/platforms/xtfpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/block//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/block/partitions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/certs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/crypto/asymmetric_keys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/crypto/async_tx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs/common/mmu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs/common/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs/gaudi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs/gaudi2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/habanalabs/goya//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/ivpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accel/qaic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accessibility//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accessibility/braille//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/accessibility/speakup//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/acpica//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/apei//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/arm64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/dptf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/nfit//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/numa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/pmic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/acpi/riscv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/amba//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/android//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ata//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ata/pata_parport//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/atm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/auxdisplay//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/base//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/base/firmware_loader//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/base/firmware_loader/builtin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/base/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/base/regmap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/base/test//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bcma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/aoe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/drbd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/mtip32xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/null_blk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/rnbd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/xen-blkback//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/block/zram//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bluetooth//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bus/fsl-mc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bus/mhi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bus/mhi/ep//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/bus/mhi/host//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cache//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cdrom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cdx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cdx/controller//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/agp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/hw_random//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/ipmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/mwave//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/tpm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/tpm/st33zp24//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/xilinx_hwicap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/char/xillybus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/analogbits//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/at91//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/axis//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/axs10x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/baikal-t1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/berlin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/davinci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/imgtec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/ingenic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/keystone//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/mmp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/mstar//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/mvebu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/mxs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/nuvoton//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/nxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/pistachio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/ralink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/sifive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/socfpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/spear//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/sprd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/stm32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/sunxi-ng//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/uniphier//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/ux500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/versatile//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/visconti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/zynq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clk/zynqmp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/clocksource//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/coda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/comedi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/comedi/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/comedi/drivers/ni_routing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/comedi/drivers/ni_routing/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/comedi/drivers/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/comedi/kcomedilib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/connector//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/counter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cpufreq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cpuidle//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cpuidle/governors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cpuinspect//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/allwinner//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/allwinner/sun4i-ss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/allwinner/sun8i-ce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/allwinner/sun8i-ss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/amcc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/axis//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/caam//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/cavium//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/cavium/cpt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/cavium/nitrox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/cavium/zip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/ccp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/ccree//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/chelsio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/gemini//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/hisilicon/hpre//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/hisilicon/sec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/hisilicon/sec2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/hisilicon/trng//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/hisilicon/zip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/inside-secure//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/iaa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/ixp4xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/keembay//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_420xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_4xxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_c3xxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_c3xxxvf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_c62x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_c62xvf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_dh895xcc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/intel/qat/qat_dh895xccvf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/marvell/cesa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/marvell/octeontx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/marvell/octeontx2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/montage//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/montage/tsse//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/nx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/qce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/stm32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/virtio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/vmx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/crypto/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cxl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/cxl/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dax//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dax/hmem//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dax/pmem//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/devfreq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/devfreq/event//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma-buf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma-buf/heaps//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/bestcomm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/dw-axi-dmac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/dw-edma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/dw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/fsl-dpaa2-qdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/hsu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/idxd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/ioat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/lgm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/ppc4xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/ptdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/sf-pdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/dma/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/edac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/eisa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/extcon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firewire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/arm_ffa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/arm_scmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/efi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/efi/libstub//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/efi/test//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/google//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/psci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/smccc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/firmware/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/fpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/fpga/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/fsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gnss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/acp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/amdgpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/amdkfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/amdxcp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/amdgpu_dm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/basics//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/bios//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/clk_mgr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce100//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce110//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce112//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce120//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce60//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dce80//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn10//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn20//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn201//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn21//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn30//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn301//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn302//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn303//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn31//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn314//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn315//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn316//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dcn321//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dml//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/dsc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/hdcp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/irq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/link//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dc/virtual//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dmub//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/dmub/src//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/modules//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/modules/color//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/modules/freesync//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/modules/hdcp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/modules/info_packet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/display/modules/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/legacy-dpm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/powerplay//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/powerplay/hwmgr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/powerplay/smumgr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/swsmu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/swsmu/smu11//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/swsmu/smu12//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/amd/pm/swsmu/smu13//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/arm/display//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/arm/display/komeda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/armada//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/ast//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/atmel-hlcdc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/bridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/bridge/adv7511//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/bridge/analogix//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/bridge/cadence//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/bridge/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/bridge/synopsys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/display//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/etnaviv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/exynos//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/fsl-dcu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/gma500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/gud//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/hisilicon/hibmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/hisilicon/kirin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/hygon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/hygon/hydcu-fixup-header//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/hyperv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/i915//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/i915/gvt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/imx/dcss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/imx/ipuv3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/imx/lcdc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/ingenic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/kmb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/lima//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/logicvc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/loongson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/mcde//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/mgag200//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/msm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/mxsfb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/nouveau//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/omapdrm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/panel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/panfrost//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/phytium//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/pl111//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/qxl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/radeon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/renesas/rcar-du//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/renesas/shmobile//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/scheduler//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/solomon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/sprd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/sti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/stm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/sun4i//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/tidss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/tilcdc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/tiny//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/ttm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/ttm/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/tve200//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/udl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/v3d//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/vboxvideo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/vc4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/vgem//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/virtio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/vkms//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/vmwgfx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/drm/xlnx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/host1x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/ipu-v3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/trace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/gpu/vga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/greybus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/amd-sfh-hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/bpf/entrypoints//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/i2c-hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/intel-ish-hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/surface-hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hid/usbhid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hooks//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hsi/clients//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hsi/controllers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hte//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwmon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwmon/occ//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwmon/peci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwmon/pmbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwspinlock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwtracing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwtracing/coresight//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwtracing/intel_th//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwtracing/ptt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/hwtracing/stm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i2c/algos//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i2c/busses//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i2c/muxes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i3c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i3c/master//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/i3c/master/mipi-i3c-hci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/idle//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/accel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/adc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/addac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/afe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/amplifiers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/buffer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/cdc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/chemical//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/cros_ec_sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/hid-sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/inv_sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/ms_sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/scmi_sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/ssp_sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/common/st_sensors//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/dac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/dummy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/filter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/frequency//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/gyro//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/health//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/humidity//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu/bmi160//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu/bno055//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu/inv_icm42600//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu/inv_mpu6050//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu/st_lsm6dsx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/imu/st_lsm9ds0//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/light//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/magnetometer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/multiplexer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/orientation//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/position//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/potentiometer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/potentiostat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/pressure//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/proximity//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/resolver//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/temperature//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/test//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iio/trigger//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/bnxt_re//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/cxgb4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/efa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/erdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/hfi1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/hiroce3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/hns//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/irdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/mana//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/mlx4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/mlx5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/mthca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/ocrdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/qedr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/qib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/usnic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/vmw_pvrdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/hw/xsc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/sw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/sw/rdmavt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/sw/rxe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/sw/siw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/ipoib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/iser//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/isert//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/opa_vnic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/rtrs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/srp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/infiniband/ulp/srpt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/gameport//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/joystick//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/joystick/iforce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/keyboard//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/mouse//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/rmi4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/serio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/tablet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/input/touchscreen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/interconnect//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/interconnect/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/interconnect/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/interconnect/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/arm/arm-smmu-v3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/arm/arm-smmu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/iommufd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/iommu/sw64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ipack//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ipack/carriers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ipack/devices//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/irqchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/isdn//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/isdn/capi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/isdn/hardware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/isdn/hardware/mISDN//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/isdn/mISDN//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/leds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/leds/blink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/leds/flash//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/leds/rgb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/leds/simple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/leds/trigger//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/macintosh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/macintosh/ams//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mailbox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mcb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/md//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/md/bcache//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/md/persistent-data//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/cec-gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/cros-ec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/s5p//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/seco//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/sti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/stm32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/platform/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/usb/pulse8//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/cec/usb/rainshadow//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/common/b2c2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/common/saa7146//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/common/siano//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/common/v4l2-tpg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/common/videobuf2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/dvb-core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/dvb-frontends//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/dvb-frontends/cxd2880//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/dvb-frontends/drx39xyj//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/firewire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/i2c/adv748x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/i2c/ccs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/i2c/cx25840//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/i2c/et8ek8//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/i2c/s5c73m3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/mc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/mmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/mmc/siano//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/b2c2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/bt8xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/cobalt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/cx18//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/cx23885//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/cx25821//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/cx88//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/ddbridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/dm1105//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/dt3155//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/intel/ipu3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/intel/ivsc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/ivtv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/mantis//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/netup_unidvb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/ngene//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/pluto2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/pt1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/pt3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/saa7134//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/saa7146//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/saa7164//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/smipcie//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/solo6x10//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/sta2x11//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/ttpci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/tw5864//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/tw68//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/tw686x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/pci/zoran//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/allegro-dvt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/amlogic/meson-ge2d//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/amphion//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/cadence//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/chips-media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/jpeg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/mdp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/mdp3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/vcodec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/vcodec/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/vcodec/decoder//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/vcodec/encoder//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/mediatek/vpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/nvidia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/nvidia/tegra-vde//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/nxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/nxp/dw100//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/nxp/imx-jpeg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/nxp/imx8-isi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/qcom/camss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/qcom/venus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/renesas/rcar-vin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/renesas/rzg2l-cru//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/renesas/vsp1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/rockchip/rga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/rockchip/rkisp1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung/exynos-gsc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung/exynos4-is//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung/s3c-camif//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung/s5p-g2d//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung/s5p-jpeg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/samsung/s5p-mfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st/sti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st/sti/bdisp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st/sti/c8sectpfe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st/sti/delta//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st/sti/hva//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/st/stm32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi/sun4i-csi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi/sun6i-csi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi/sun6i-mipi-csi2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi/sun8i-a83t-mipi-csi2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi/sun8i-di//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/sunxi/sun8i-rotate//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti/am437x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti/cal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti/davinci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti/omap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti/omap3isp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/ti/vpe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/verisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/via//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/platform/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/radio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/radio/si470x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/radio/si4713//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/radio/wl128x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/rc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/rc/img-ir//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/rc/keymaps//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/test-drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/test-drivers/vicodec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/test-drivers/vidtv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/test-drivers/vimc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/test-drivers/visl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/test-drivers/vivid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/tuners//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/airspy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/as102//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/au0828//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/b2c2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/cx231xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/dvb-usb-v2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/dvb-usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/em28xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/go7007//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/gspca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/gspca/gl860//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/gspca/m5602//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/gspca/stv06xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/hackrf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/hdpvr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/msi2500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/pvrusb2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/pwc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/s2255//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/siano//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/stk1160//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/ttusb-budget//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/ttusb-dec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/usbtv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/usb/uvc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/media/v4l2-core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/memory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/memory/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/memory/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/memstick//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/memstick/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/memstick/host//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/message//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/message/fusion//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/altera-stapl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/bcm-vk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/c2port//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/cardreader//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/cb710//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/cxl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/echo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/eeprom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/genwqe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/ibmasm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/lis3lv02d//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/lkdtm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/mchp_pci1xxxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/mei//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/mei/gsc_proxy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/mei/hdcp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/mei/pxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/ocxl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/pvpanic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/sgi-gru//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/sgi-xp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/ti-st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/uacce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/misc/vmw_vmci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mmc/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mmc/host//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/most//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/chips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/devices//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/hyperbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/lpddr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/maps//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/onenand//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/raw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/raw/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/raw/bcm47xxnflash//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/raw/brcmnand//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/raw/gpmi-nand//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/raw/ingenic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/nand/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/parsers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/spi-nor//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/spi-nor/controllers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mtd/ubi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/mux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/appletalk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/arcnet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/bonding//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/caif//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/c_can//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/cc770//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/ctucanfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/dev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/flexcan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/ifi_canfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/m_can//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/mscan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/peak_canfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/rcar//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/sja1000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/slcan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/softing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/spi/mcp251xfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/usb/etas_es58x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/usb/kvaser_usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/can/usb/peak_usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/b53//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/hirschmann//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/mv88e6xxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/ocelot//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/qca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/sja1105//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/dsa/xrs700x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/3com//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/3snic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/3snic/sssnic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/3snic/sssnic/nic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/8390//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/adaptec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/adi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/aeroflex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/agere//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/alacritech//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/allwinner//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/alteon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/altera//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/amazon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/amazon/ena//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/amd/pds_core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/amd/xgbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/apm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/apm/xgene-v2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/apm/xgene//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/apple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/aquantia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/aquantia/atlantic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/arc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/asix//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/atheros//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/atheros/alx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/atheros/atl1c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/atheros/atl1e//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/atheros/atlx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/broadcom/asp2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/broadcom/bnx2x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/broadcom/bnxt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/broadcom/genet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/brocade//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/brocade/bna//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/bzwx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/bzwx/nce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cadence//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/calxeda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cavium//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cavium/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cavium/liquidio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cavium/octeon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cavium/thunder//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/cxgb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/cxgb3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/cxgb4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/cxgb4vf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/inline_crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/inline_crypto/chtls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/chelsio/libcxgb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cisco//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cisco/enic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/cortina//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/davicom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/dec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/dec/tulip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/dlink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/emulex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/emulex/benet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/engleder//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/ezchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/faraday//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/freescale//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/freescale/dpaa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/freescale/dpaa2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/freescale/enetc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/freescale/fman//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/freescale/fs_enet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/fujitsu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/fungible//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/fungible/funcore//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/fungible/funeth//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/google//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/google/gve//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/hisilicon/hns//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/hisilicon/hns3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/bma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/bma/cdev_drv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/bma/cdev_veth_drv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/bma/edma_drv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/bma/kbox_drv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/bma/veth_drv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/hinic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/huawei/hinic3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/i825xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/ibm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/ibm/ehea//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/ibm/emac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/e1000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/e1000e//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/fm10k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/i40e//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/iavf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/ice//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/igb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/igbvf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/igc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/ixgbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/intel/ixgbevf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/litex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell/mvpp2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell/octeon_ep//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell/octeontx2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell/octeontx2/af//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell/octeontx2/nic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/marvell/prestera//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlx4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlx5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlx5/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlx5/core/esw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlx5/core/steering//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlxbf_gige//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlxfw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mellanox/mlxsw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/micrel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/microchip/lan966x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/microchip/sparx5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/microchip/vcap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/microsoft//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/microsoft/mana//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/moxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mscc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mucse//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mucse/rnp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mucse/rnpgbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mucse/rnpgbevf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mucse/rnpm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/mucse/rnpvf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/myricom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/myricom/myri10ge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/natsemi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/nebula-matrix//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/nebula-matrix/nbl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/neterion//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/netronome//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/netronome/nfp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/ni//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/nvidia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/nxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/oki-semi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/oki-semi/pch_gbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/packetengines//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/pasemi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/pensando//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/pensando/ionic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qlogic/netxen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qlogic/qed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qlogic/qede//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qlogic/qlcnic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qualcomm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qualcomm/emac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/qualcomm/rmnet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/rdc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/rocker//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/samsung/sxgbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/seeq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sfc/falcon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sfc/siena//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sgi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/silan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sis//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/smsc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/socionext//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/stmicro//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/stmicro/stmmac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sun//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/sunplus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/synopsys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/tehuti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/toshiba//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/tundra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/vertexcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/via//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/wangxun//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/wangxun/libwx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/wangxun/ngbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/wangxun/txgbe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/wiznet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/xircom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/xscale//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/yunsilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/yunsilicon/xsc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/yunsilicon/xsc/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ethernet/yunsilicon/xsc/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/fddi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/fddi/skfp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/fjes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/hamradio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/hippi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/hyperv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ieee802154//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ipa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ipvlan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/mctp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/mdio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/netdevsim//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/pcs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/phy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/phy/mscc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/plip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/ppp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/pse-pd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/slip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/team//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/thunderbolt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/vmxnet3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/vxlan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireguard//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/admtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ar5523//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ath10k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ath11k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ath12k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ath5k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ath6kl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/ath9k//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/carl9170//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/wcn36xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ath/wil6210//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/b43//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/b43legacy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211/brcmfmac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211/brcmsmac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/broadcom/brcm80211/brcmutil//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/cisco//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel/ipw2x00//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel/iwlegacy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel/iwlwifi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel/iwlwifi/dvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel/iwlwifi/mei//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intel/iwlwifi/mvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intersil//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intersil/hostap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intersil/orinoco//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/intersil/p54//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/legacy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/marvell/libertas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/marvell/libertas_tf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/marvell/mwifiex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt7603//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt7615//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt76x0//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt76x2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt7915//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt7921//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt76/mt7996//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/mediatek/mt7601u//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/microchip/wilc1000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/purelifi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/purelifi/plfxlc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/quantenna//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/quantenna/qtnfmac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ralink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ralink/rt2x00//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtl818x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtl818x/rtl8180//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtl818x/rtl8187//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtl8xxxu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/btcoexist//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8188ee//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8192c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8192ce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8192cu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8192de//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8192ee//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8192se//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8723ae//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8723be//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8723com//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtlwifi/rtl8821ae//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtw88//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/realtek/rtw89//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/rsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/silabs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/silabs/wfx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/st/cw1200//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ti/wl1251//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ti/wl12xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ti/wl18xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/ti/wlcore//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/virtual//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/zydas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wireless/zydas/zd1211rw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wwan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wwan/iosm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/wwan/t7xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/net/xen-netback//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/fdp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/microread//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/nfcmrvl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/nxp-nci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/pn533//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/pn544//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/s3fwrn5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/st-nci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/st21nfca//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nfc/st95hf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/hw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/hw/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/hw/epf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/hw/idt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/hw/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/hw/mscc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ntb/test//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nubus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvdimm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvme//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvme/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvme/host//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvme/target//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvmem//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/nvmem/layouts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/of//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/of/unittest-data//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/opp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/parisc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/parport//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/controller//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/controller/cadence//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/controller/dwc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/controller/mobiveil//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/endpoint//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/endpoint/functions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/hotplug//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/msi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/pcie//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pci/switch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pcmcia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/peci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/peci/controller//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/perf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/perf/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/perf/arm_cspmu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/perf/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/allwinner//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/cadence//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/freescale//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/ingenic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/lantiq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/motorola//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/mscc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/qualcomm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/ralink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/socionext//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/sunplus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/phy/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/berlin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/freescale//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/mvebu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/nomadik//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/nuvoton//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/nxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/spear//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/sprd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/stm32//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/sunplus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/uniphier//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/visconti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/vt8500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pinctrl/zhaoxin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/chrome//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/chrome/wilco_ec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/goldfish//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/loongarch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/mellanox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/mips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/mpam//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/olpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/surface//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/surface/aggregator//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/sw64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/amd/pmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/amd/pmf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/dell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/dell/dell-wmi-sysman//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/hp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/hp/hp-bioscfg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/atomisp2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/ifs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/int1092//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/int3472//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/pmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/pmt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/speed_select_if//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/telemetry//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/uncore-frequency//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/intel/wmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/siemens//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/platform/x86/x86-android-tablets//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/apple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pmdomain/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pnp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pnp/isapnp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pnp/pnpacpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pnp/pnpbios//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/power/reset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/power/supply//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/powercap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pps//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pps/clients//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pps/generators//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ps3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ptp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/pwm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/rapidio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/rapidio/devices//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/rapidio/switches//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ras//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ras/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ras/amd/atl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ras/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/regulator//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/remoteproc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/reset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/reset/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/reset/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/reset/sti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/reset/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/roh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/roh/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/roh/hw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/roh/hw/hns3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/rpmsg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/rtc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/block//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/char//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/cio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/scsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/s390/virtio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sbus/char//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/aacraid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/aic7xxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/aic7xxx/aicasm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/aic94xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/arcmsr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/be2iscsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/bfa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/bnx2fc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/bnx2i//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/csiostor//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/cxgbi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/cxgbi/cxgb3i//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/cxgbi/cxgb4i//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/cxlflash//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/device_handler//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/elx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/esas2r//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/fcoe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/fnic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/hisi_raid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/hisi_sas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/ibmvscsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/ibmvscsi_tgt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/isci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/libfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/libsas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/lpfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/megaraid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/mpi3mr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/mpt3sas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/mvsas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/pcmcia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/pm8001//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/qedf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/qedi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/qla2xxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/qla4xxx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/smartpqi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/snic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/sssraid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/scsi/sym53c8xx_2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sh/clk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sh/intc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sh/maple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/sh/superhyway//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/siox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/slimbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/apple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/aspeed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/bcm/brcmstb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/bcm/brcmstb/pm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/canaan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/dove//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/fsl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/fsl/dpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/fsl/qbman//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/fsl/qe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/fujitsu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/gemini//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/ixp4xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/lantiq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/litex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/loongson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/nuvoton//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/sifive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/tegra/cbb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/tegra/fuse//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/ux500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/versatile//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soc/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/soundwire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/spmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ssb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/axis-fifo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/board//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/emxx_udc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/fbtft//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/fieldbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/fieldbus/anybuss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/gdm724x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/greybus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio/accel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio/adc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio/addac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio/frequency//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio/impedance-analyzer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/iio/resolver//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/ks7010//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/atomisp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/atomisp/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/atomisp/i2c/ov5693//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/av7110//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/deprecated//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/deprecated/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/ipu3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/max96712//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/meson/vdec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/omap4iss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/rkvdec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/sunxi/cedrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/sunxi/sun6i-isp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/media/tegra-video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/most//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/most/dim2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/most/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/most/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/most/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/nvec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/octeon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/olpc_dcon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/pi433//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/qlge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/rtl8192e//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/rtl8192e/rtl8192e//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/rtl8192u//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/rtl8712//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/rtl8723bs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/rts5208//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/sm750fb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vc04_services//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vc04_services/bcm2835-audio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vc04_services/bcm2835-camera//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vc04_services/vchiq-mmal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vme_user//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vt6655//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/vt6656//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/staging/wlan-ng//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target/iscsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target/iscsi/cxgbit//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target/loopback//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target/sbp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target/tcm_fc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/target/tcm_remote//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tee//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tee/amdtee//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tee/optee//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/intel/int340x_thermal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/st//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thermal/ti-soc-thermal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/thunderbolt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/hvc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/ipwireless//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/serdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/serial//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/serial/8250//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/serial/jsm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/tty/vt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ufs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ufs/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/ufs/host//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/uio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/atm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/c67x00//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/cdns3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/chipidea//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/class//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/dwc2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/dwc3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/early//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/fotg210//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget/function//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget/legacy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget/udc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget/udc/aspeed-vhub//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget/udc/bdc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/gadget/udc/cdns2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/host//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/image//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/isp1760//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/misc/sisusbvga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/mon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/mtu3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/musb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/phy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/renesas_usbhs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/roles//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/serial//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/storage//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec/altmodes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec/mux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec/tcpm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec/tcpm/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec/tipd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/typec/ucsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/usb/usbip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/alibaba//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/ifcvf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/mlx5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/pds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/solidrun//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/vdpa_sim//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/vdpa_user//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vdpa/virtio_pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/cdx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/fsl-mc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/mdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/pci/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/pci/mlx5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/pci/pds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/pci/qat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vfio/platform/reset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vhost//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/backlight//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/console//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/aty//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/geode//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/i810//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/intelfb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/kyro//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/matrox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/mb862xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/mmp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/mmp/fb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/mmp/hw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/mmp/panel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/nvidia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/omap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/omap2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/omap2/omapfb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/omap2/omapfb/displays//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/omap2/omapfb/dss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/riva//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/savage//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/sis//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/vermilion//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/fbdev/via//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/video/logo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/acrn//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/coco//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/coco/csv-guest//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/coco/efi_secret//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/coco/sev-guest//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/coco/tdx-guest//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/nitro_enclaves//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virt/vboxguest//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/virtio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/vlynq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/w1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/w1/masters//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/w1/slaves//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/watchdog//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/xen/events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/xen/xen-pciback//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/xen/xenbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/xen/xenfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/drivers/zorro//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/9p//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/adfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/affs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/afs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/autofs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/befs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/bfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/btrfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/cachefiles//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ceph//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/coda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/configfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/cramfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/debugfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/devpts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/dlm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ecryptfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/efivarfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/efs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/erofs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/exfat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/exportfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ext2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ext4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/f2fs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/fat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/freevxfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/fscache//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/fuse//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/gfs2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/hfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/hfsplus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/hostfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/hpfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/hugetlbfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/iomap//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/isofs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/jbd2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/jffs2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/jfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/kernfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/lockd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/minix//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/netfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nfs/blocklayout//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nfs/filelayout//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nfs/flexfilelayout//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nfs_common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nfsd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nilfs2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/nls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/notify//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/notify/dnotify//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/notify/fanotify//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/notify/inotify//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ntfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ntfs3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ocfs2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ocfs2/cluster//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ocfs2/dlm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ocfs2/dlmfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/omfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/openpromfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/orangefs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/overlayfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/proc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/pstore//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/qnx4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/qnx6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/quota//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ramfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/reiserfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/resctrl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/romfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/smb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/smb/client//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/smb/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/smb/server//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/squashfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/sysfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/sysv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/tracefs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ubifs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/udf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/ufs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/unicode//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/vboxsf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/verity//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/xfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/fs/zonefs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/acpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/acpi/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/asm-generic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/asm-generic/bitops//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/asm-generic/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/clocksource//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/config//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/crypto/internal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/drm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/drm/bridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/drm/display//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/drm/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/drm/ttm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/ata//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/bus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/clock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/display//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/dma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/firmware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/firmware/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/gce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/iio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/iio/adc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/iio/addac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/iio/temperature//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/input//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/interconnect//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/interrupt-controller//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/leds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/mailbox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/memory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/mfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/mips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/mux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/nvmem//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/phy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/pinctrl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/pmu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/pwm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/regulator//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/reset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/soc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/sound//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/spmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/thermal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/dt-bindings/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/generated//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/generated/uapi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/generated/uapi/linux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/keys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/kunit//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/amba//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/atomic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/avf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/bcma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/byteorder//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/can//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/can/dev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/can/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/cdx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/ceph//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/clk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/comedi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/crush//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/decompress//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/device//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/dma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/dsa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/extcon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/broadcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/imx/svc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/firmware/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/fpga//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/fsl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/fsl/bestcomm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/greybus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/hsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/i3c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/accel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/adc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/afe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/dac//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/frequency//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/gyro//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/imu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/iio/timer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/input//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/irqchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/isdn//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/lockd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mailbox//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mdio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/abx500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/arizona//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/atc260x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/da9052//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/da9055//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/da9062//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/da9063//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/da9150//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/madera//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6323//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6331//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6332//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6357//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6358//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6359//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6359p//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/mt6397//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/pcf50633//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/syscon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/wcd934x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/wm831x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/wm8350//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mfd/wm8994//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mlx4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mlx5//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mtd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/mux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/net/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/netfilter/ipset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/netfilter_arp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/netfilter_bridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/netfilter_ipv4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/netfilter_ipv6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/pcs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/pds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/perf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/phy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/phy/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/pinctrl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/platform_data//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/platform_data/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/platform_data/media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/platform_data/txx9//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/platform_data/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/pse-pd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/qat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/qed//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/raid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/regulator//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/remoteproc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/reset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/rpmsg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/rtc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/sched//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/actions//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/andes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/apple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/brcmstb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/dove//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/ixp4xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/marvell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/marvell/octeontx2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/mmp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/nxp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/renesas//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soc/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/soundwire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/ssb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/sunrpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/surface_aggregator//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/ulpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/unaligned//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/linux/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/math-emu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/media//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/media/davinci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/media/drv-intf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/media/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/media/tpg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/memory//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/9p//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/bluetooth//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/caif//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/iucv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/mana//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/netfilter/ipv4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/netfilter/ipv6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/netns//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/nfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/page_pool//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/phonet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/sctp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/net/tc_act//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/pcmcia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/ras//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/rdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/rv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/scsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/scsi/fc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/amlogic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/arc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/at91//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/bcm2835//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/canaan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/fsl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/fsl/qe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/microchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/mscc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/sa1100//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/sifive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/soc/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/sound//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/sound/ac97//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/sound/sof//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/sound/sof/ipc4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/target//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/target/iscsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/trace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/trace/events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/trace/hooks//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/trace/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/trace/stages//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/asm-generic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/drm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/android//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/byteorder//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/caif//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/can//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/cifs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/dvb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/genwqe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/hdlc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/hsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/iio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/isdn//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/mmc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/netfilter/ipset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/netfilter_arp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/netfilter_bridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/netfilter_ipv4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/netfilter_ipv6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/nfsd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/raid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/sched//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/sunrpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/surface_aggregator//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/tc_act//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/tc_ematch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/linux/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/misc/uacce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/mtd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/rdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/rdma/hfi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/scsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/scsi/fc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/sound//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/sound/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/sound/intel/avs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/sound/sof//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/uapi/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/ufs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/video//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/xen/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/xen/interface//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/xen/interface/hvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/include/xen/interface/io//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/init//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/io_uring//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/ipc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/bpf/preload//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/bpf/preload/iterators//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/cgroup//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/debug//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/debug/kdb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/dma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/entry//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/futex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/gcov//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/irq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/kcsan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/livepatch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/locking//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/module//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/pgo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/printk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/rcu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/sched//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/sched/grid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/time//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/trace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/kernel/trace/rv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/842//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/crypto/mpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/dim//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/fonts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/kunit//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/livepatch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/lz4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/lzo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/math//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/pldmfw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/raid6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/raid6/test//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/reed_solomon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/vdso//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/xz//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/zlib_deflate//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/zlib_dfltcc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/zlib_inflate//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/lib/zstd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/mm/damon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/mm/kasan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/mm/kfence//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/mm/kmsan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/6lowpan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/802//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/8021q//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/9p//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/appletalk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/atm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ax25//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/batman-adv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bluetooth//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bluetooth/bnep//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bluetooth/cmtp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bluetooth/hidp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bluetooth/rfcomm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bpfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bridge//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/bridge/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/caif//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/can//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/can/j1939//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ceph//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/dcb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/dccp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/dccp/ccids//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/devlink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/dns_resolver//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/dsa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ethernet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ethtool//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/handshake//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/hsr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ieee802154//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ieee802154/6lowpan//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ife//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ipv4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ipv4/bpfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ipv4/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ipv6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ipv6/ila//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ipv6/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/iucv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/kcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/key//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/l2tp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/l3mdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/lapb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/llc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/mac80211//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/mac802154//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/mctp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/mpls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/mptcp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/ncsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/netfilter/ipset//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/netfilter/ipvs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/netlabel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/netlink//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/netrom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/nfc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/nfc/hci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/nfc/nci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/nsh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/openvswitch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/packet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/phonet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/psample//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/qrtr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/rds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/rfkill//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/rose//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/rxrpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/sched//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/sctp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/smc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/strparser//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/sunrpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/sunrpc/auth_gss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/sunrpc/xprtrdma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/switchdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/tipc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/tls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/unix//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/vmw_vsock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/wireless//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/x25//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/xdp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/net/xfrm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/rust//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/acrn//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/auxdisplay//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/binderfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/configfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/connector//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/coresight//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/fanotify//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/fprobe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/ftrace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/hidraw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/hw_breakpoint//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/kdb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/kfifo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/kmemleak//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/kobject//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/kprobes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/landlock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/livepatch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/mei//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/nitro_enclaves//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/pfsm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/pidfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/qmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/rpmsg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/rust//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/rust/hostprogs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/seccomp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/timers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/trace_events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/trace_printk//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/uhid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/user_events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/v4l//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/vfio-mdev//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/vfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/watch_queue//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/samples/watchdog//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/atomic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/atomic/fallbacks//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/atomic/kerneldoc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/basic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/clang-tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/api//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/api/alloc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/free//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/iterators//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/locks//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/null//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/coccinelle/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/dtc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/dtc/include-prefixes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/dtc/libfdt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/dummy-tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/dummy-tools/dummy-plugin-dir//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/dummy-tools/dummy-plugin-dir/include//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/gcc-plugins//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/gdb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/gdb/linux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/genksyms//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/lxdialog//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/auto_submenu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/choice//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/choice_value_with_m_dep//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/err_recursive_dep//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/err_recursive_inc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/inter_choice//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/new_choice_with_dep//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/no_write_if_dep_unmet//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/preprocess//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/preprocess/builtin_func//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/preprocess/circular_expansion//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/preprocess/escape//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/kconfig/tests/preprocess/variable//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/ksymoops//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/mod//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/package//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/package/debian//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/selinux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/selinux/genheaders//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/selinux/mdp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/scripts/tracing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/apparmor//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/integrity//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/integrity/evm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/integrity/ima//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/keys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/keys/encrypted-keys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/keys/trusted-keys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/landlock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/loadpin//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/lockdown//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/safesetid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/selinux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/smack//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/tomoyo//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/security/yama//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/ac97//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/aoa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/aoa/codecs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/aoa/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/aoa/fabrics//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/aoa/soundbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/aoa/soundbus/i2sbus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/core/oss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/core/seq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/core/seq/oss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/drivers/mpu401//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/drivers/opl3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/drivers/opl4//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/drivers/pcsp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/drivers/vx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/bebob//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/dice//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/digi00x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/fireface//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/fireworks//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/motu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/oxfw//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/firewire/tascam//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/hda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/hda/ext//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/i2c//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/i2c/other//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/ad1816a//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/ad1848//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/cs423x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/es1688//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/galaxy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/gus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/msnd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/opti9xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/sb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/wavefront//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/isa/wss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/mips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/oss//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/oss/dmasound//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/parisc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/ac97//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/ali5451//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/asihpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/au88x0//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/aw2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/ca0106//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/cs46xx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/cs5535audio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/ctxfi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/echoaudio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/emu10k1//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/hda//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/ice1712//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/korg1212//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/lola//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/lx6464es//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/mixart//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/nm256//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/oxygen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/pcxhr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/riptide//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/rme9652//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/trident//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/vx222//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pci/ymfpci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pcmcia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pcmcia/pdaudiocf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/pcmcia/vx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/ppc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/adi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/acp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/ps//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/raven//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/renoir//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/rpl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/vangogh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/amd/yc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/apple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/atmel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/au1x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/bcm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/cirrus//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/codecs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/dwc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/fsl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/generic//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/google//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/hisilicon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/img//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/atom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/atom/sst//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/avs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/avs/boards//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/boards//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/catpt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/keembay//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/intel/skylake//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/jz4740//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/kirkwood//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/loongson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/common//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt2701//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt6797//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt7986//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt8173//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt8183//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt8186//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt8188//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt8192//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mediatek/mt8195//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/meson//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/mxs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/pxa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/qcom//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/qcom/qdsp6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/rockchip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/samsung//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sh/rcar//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/amd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/imx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/mediatek//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/mediatek/mt8186//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/mediatek/mt8195//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sof/xtensa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/spear//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sprd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/starfive//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/stm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/sunxi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/tegra//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/ti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/uniphier//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/ux500//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/xilinx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/soc/xtensa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/sparc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/synth//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/synth/emux//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/6fire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/bcd2000//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/caiaq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/hiface//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/line6//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/misc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/usb/usx2y//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/virtio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/sound/xen//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/accounting//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/arch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/arch/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/arch/x86/intel_sdsi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/arch/x86/kcpuid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/bootconfig//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/bpf/bpftool//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/bpf/bpftool/Documentation//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/bpf/resolve_btfids//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/bpf/runqslower//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/build//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/build/feature//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/build/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/build/tests/ex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/cgroup//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/counter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/crypto/ccp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/debugging//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/edid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/firewire//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/firmware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/hv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/iio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/include//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/include/nolibc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/kvm/kvm_stat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/laptop//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/laptop/dslm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/laptop/freefall//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/leds//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/api//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/perf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/perf/Documentation//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/subcmd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/symbol//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/lib/thermal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/net/ynl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/net/ynl/generated//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/net/ynl/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/net/ynl/samples//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/netacc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/objtool//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/pci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/pcmcia//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/Documentation//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/arm64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/csky//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/loongarch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/mips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/powerpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/riscv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/s390//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/sparc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/sw_64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/arch/xtensa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/scripts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/scripts/perl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/scripts/perl/Perf-Trace-Util//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests/shell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests/shell/coresight//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests/shell/coresight/asm_pure_loop//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests/shell/coresight/memcpy_thread//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests/shell/coresight/thread_loop//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/perf/tests/shell/coresight/unroll_loop_thread//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/acpi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/acpi/tools//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/acpi/tools/acpidbg//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/acpi/tools/acpidump//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/acpi/tools/ec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/acpi/tools/pfrut//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/cpupower//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/cpupower/bench//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/cpupower/debug//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/cpupower/debug/i386//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/cpupower/debug/kernel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/cpupower/debug/x86_64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/pm-graph//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/x86/intel-speed-select//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/x86/turbostat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/power/x86/x86_energy_perf_policy//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/Documentation//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/arm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/arm64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/csky//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/loongarch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/mips//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/powerpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/riscv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/s390//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/sh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/sparc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/sw_64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/arch/xtensa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/scripts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/scripts/perl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/scripts/perl/Perf-Trace-Util//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests/shell//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests/shell/coresight//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests/shell/coresight/asm_pure_loop//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests/shell/coresight/memcpy_thread//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests/shell/coresight/thread_loop//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/python3-perf/tests/shell/coresight/unroll_loop_thread//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/scripts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/spi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/crypto//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/crypto/chacha20-s390//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/memblock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/memblock/scripts//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/nvdimm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/radix-tree//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/scatterlist//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/alsa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/amd-pstate//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/abi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/bti//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/fp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/mte//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/pauth//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/signal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/arm64/tags//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/bpf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/bpf/bpf_testmod//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/breakpoints//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/cachestat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/capabilities//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/cgroup//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/clone3//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/connector//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/core//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/cpu-hotplug//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/cpufreq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/damon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/dma//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/dmabuf-heaps//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/dma-buf//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/net/bonding//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/net/dsa//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/net/team//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/platform//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/platform/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/platform/x86/intel//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/platform/x86/intel/ifs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/s390x//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/drivers/s390x/uvdevice//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/efivarfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/exec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/fchmodat2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/filelock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/filesystems//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/filesystems/binderfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/filesystems/epoll//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/filesystems/fat//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/firmware//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/fpu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/ftrace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/futex//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/futex/functional//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/gpio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/hid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/ia64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/intel_pstate//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/iommu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/ipc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/ir//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/kcmp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/kexec//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/kmod//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/landlock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/livepatch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/lkdtm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/locking//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/media_tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/membarrier//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/memfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/memory-hotplug//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/mincore//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/mount//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/mount_setattr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/move_mount_set_group//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/mqueue//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/nci//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/net//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/net/af_unix//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/net/forwarding//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/net/hsr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/net/mptcp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/net/openvswitch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/netfilter//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/nolibc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/nsfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/openat2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/perf_events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/pid_namespace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/pidfd//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/alignment//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/benchmarks//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/cache_shape//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/copyloops//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/dexcr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/dscr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/eeh//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/math//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/mce//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/nx-gzip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/papr_attributes//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/pmu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/pmu/ebb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/pmu/event_code_tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/pmu/sampling_tests//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/primitives//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/ptrace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/security//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/signal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/stringloops//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/switch_endian//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/syscalls//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/tm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/powerpc/vphn//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/prctl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/proc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/pstore//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/ptp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/ptrace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/rcutorture//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/resctrl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/riscv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/riscv/hwprobe//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/riscv/mm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/riscv/vector//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/rlimits//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/rseq//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/rtc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/safesetid//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sched//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/seccomp//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sgx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sigaltstack//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/size//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sparc64//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sparc64/drivers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/splice//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/static_keys//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sync//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/syscall_user_dispatch//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/sysctl//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/tc-testing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/tdx//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/timens//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/timers//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/tmpfs//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/tpm2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/tty//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/uevent//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/user//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/user_events//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/vDSO//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/watchdog//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/wireguard//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/wireguard/qemu//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/x86//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/selftests/zram//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/testing/vsock//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/thermal//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/thermal/lib//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/thermal/thermal-engine//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/thermal/thermometer//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/thermal/tmon//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/tracing//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/tracing/latency//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/tracing/rtla//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/ffs-aio-example//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/ffs-aio-example/multibuff//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/ffs-aio-example/multibuff/host_app//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/ffs-aio-example/simple//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/ffs-aio-example/simple/host_app//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/usbip//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/usbip/libsrc//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/usb/usbip/src//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/verification//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/verification/dot2//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/verification/rv//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/virtio//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/virtio/ringtest//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/virtio/vhost_test//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/virtio/virtio-trace//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/tools/wmi//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/usr//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/usr/include//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/virt//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/virt/kvm//usr/src/kernels/6.6.0-50.0.0.55.oe2403.aarch64/virt/lib/-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2aarch64-openEuler-linux-gnu                                             ! " #$    %& '()*directoryLinux make config build file, ASCII textASCII textmakefile script, ASCII textUnicode text, UTF-8 textemptyOS/2 REXX batch file, ASCII textmagic text fragment for file(1) cmd, 1st line "#------------------------------------------------------------------------------", 2nd line "# Copyright (c) 2004-2011 Atheros Communications Inc."OS/2 REXX batch file, Unicode text, UTF-8 textNim source code, ASCII textC source, ASCII textPOSIX shell script, ASCII text executableELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=85af4ad05911fd91f53334c5cbfd77b7381dca86, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=6c52f01281ee051d3a621a18edf3fddd0c9c9e98, for GNU/Linux 3.7.0, strippedPython script, ASCII text executablePerl script text executableGNU awk script, ASCII text executableBourne-Again shell script, ASCII text executablePython script text executable Python script, ASCII text executableELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=28745d5d70c334feff925d52ef1367a108c66471, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=af64a63f32c1f56da1e9f8021cb54f8541d83118, for GNU/Linux 3.7.0, strippedexported SGML document, ASCII textELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ac0317ef8d53dc569c8d8a025051db3849b50fc6, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=896698239b82a3af3b46c95ad75dafac3da62e2c, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=dcc4eb2a83336ceb1c51adae231d4de27be3869e, for GNU/Linux 3.7.0, strippedXML 1.0 document, ASCII textassembler source, ASCII text, with very long lines (554)ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=85af1a8abc6932e3081e66655dc1dfe1d8ad21db, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=5f28124267a891b36c2c262be89befd2e3c8d16f, for GNU/Linux 3.7.0, strippedassembler source, ASCII texta /usr/bin/make -f script, ASCII text executablePOSIX shell script, Unicode text, UTF-8 text executableELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=ac9465436041937b3beacdd34c3e59fb626eceed, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=a629df8c0e9307c120e028770b71b6a0beac3f60, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=cb1a9cc47a1b6e73904a6a57a39c93a878ade11d, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=c512e766bef7adf459a4e9adc9034fedec937e88, for GNU/Linux 3.7.0, strippedELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=0b85d1242a482d02e73bf806eff77a615a62f539, for GNU/Linux 3.7.0, strippedawk script, ASCII text executableELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=4100d3018b05dec7b883df04cdf8d7696db98cec, for GNU/Linux 3.7.0, strippedASCII text, with very long lines (340)makefile script, ASCII text, with very long lines (348)makefile script, ASCII text, with very long lines (355)X''(utf-80627f7d66c27575197ade6f6c2e4c0841e06d8995a34142d8c92736a9246deac14a8736cdeaf0611b1c3ee2f39088119549ea4a53849b3b6ad54b5a71dea5ec6?@7zXZ !#,R] b2u B0RŔG O3 厥ЈJ?̸s vV{() 2jn-ܨ `E[M:q{^"ĐY1* ,VmD^$1r0F@j)KycQ>"wpz{$D<J\RӮKrH}3>ZNpHT/FMOm+ o#=Uw1,Hg(C")0!;`2BgL|ł4}"r:(1<;2xɶ:Ǯeβ|!dLirW3!`Eݨh>9&fbJxqFevAfY;Xx5ڐ]n ዎV:e CʟۿV1ѼvMq:)>fJT a,6sh9jaOjZ%NHts 9A(\a3 s!Vޭ3s]>A3>"i |/+ }$݄͸j>%+-.@뛪Ljr(pHW05rw%>&ft[ص^%,vc0|v[E؛zxW^i #[S2x77Fc^Ώ z4]ĺj,ʬd?k /[ [͡p*Y0Kz{MA3} ݶ^j[ dT+'{KK L0gr_6OMɗ쵅lb9GJ16y:1|b{'Q*FBjL[Nxty*;@=_UV~ Zyb0{lDK.0K=MAzwxzXR0L:sXT'UeXłSE[V#ک4g!Xߐ:9a>S'J덃"H)ЁJ7d|H\N ?;S3EaQ{iZWѫ% qo!B% ~kROgn9"v$'ީ=CRk#$|=܀]&@j`|)n~435 T1wȨۨB)8ЃapB6bQ뙗1'@ q`Ցn'^ׇJekFX7cDbgSJ6旨CpYKHw)75ʒ'?vVX d! 3?')s:֞1;)LVxdt`,s<9\P}zrVa$VXQgođ #;/`ߖ2jrϱϨߓՋ71aN,Bd@ =Y)pcx9Ȗ4o>MΩD{x =:WFI2Xj 8ڭLZ\QjaS14H9?όXyoV7LRhł?_7dQУ89f sȪluhtI$,kGD/Q3ow1r` zwӟODQ+WK/`l/t){yHꄪ5ScW䜲>jFPċK+IQ+땆NKOA:^{;a[OfRE v&i[12*6 Gv7^?4?2ZP&ꙸ/nk:&a AAgD_A$` 5P$c+eK<Ծb sծ-{>f׮!>_nZzWMa0[C7jkV*gk# ^@~O_Gջĉ:u;ۄZȅ_>~ Qlp CCdlzZϟ6]We/K9yc^Y>SE,  yE'؟_I{*^ymƥ;*]/#t6EO`efڵd-kA&b]MhmTKY&dr.7)7;>JU:A ZVQ0a ԪEhcZ94SgP@֜bF+-[[!8DdլO!JвnǔN{ i3}_pרīXώXK\Q5Cj鵹a> PҭUPE%X 7A.n,D;Hǧ-R::&IǼ\/;Zg4]y`b2R\CCtu>87..Hl]Ps߁ W,Z7`A24Ot&l5h|L7uTmθ}{ӢwJ 5?9tT?HI4Q i x~mѤiQK7Ux$0 {Z*^H|;Jt9\Ȅ6;~qI"\1B:; )bũl8Oųm/||M jrhLq؃L>&mEAJ-7 |AtQ}3ׇ &-|‰R{\9ֽn>ш`2Z?EPpշmSӘVǽrP 4Qn]>fxN?ot $sz1:`lif@"QëtzN=נoShf<`XEꅠ//{yFj])MֳDeE7uTa`_c|(6$X'<$ \/XDvbºCq̯ 9n hGRXwfWHbLJXU1]e[ ,4=0=]x)k;:݋ჇSLk$Ҧ%MX&{#7/ۃ \T8)%UYrh3IC8%]bdgVp y.75)= 6IM1=- BKZ k|O9HUeY6]gvatrA%6RQȌtꎯ<w ma7BVu}}JɆ#`u[92C À.Y}S`k&*U5Xd^Iڎ#["%")t `$Δ(鳢{fn*L/7 Q}JJN%l~q% Wf2⠵><2 imIuCuăaa+>˲;*D ; P$ z7(ick6QRhӮ{Z^INP8jeOiHUPgusVsd~)y$y*Ꝗ8.l r*byˢFvew4o TA2gFZ;(-$>R[cT@W %r%={v3ٙM &dr2}P϶Ұ-&:a7PGb7E䜯9*Y6̡I͆eL7] qO徟ע(NK5.]6u+?"/uUc(,ƔGP\p./Y#p)`y 1G3Eh:> P8V9cE%_a(e1DžkYhH7ld; P2w [Nz5Q{Ĩ^+ ⒁1/D];>4eӧ[Y[0qG'$Yw4DCqsA0Kg8Ǭb?]k.Go#Hc#\1Pk=wWkK.TMQ3֯>d@&ߺ;Mֱ ߞƍ$d !3R$[!`f!*FSqdIdRN@X)!Fk9۷ BA,~% |lL*hyU (N5S@o Ġ:f~6v)30x{؊W?RDâ$ShOzColiItz3YJ 5qz]iyyIa&k+/v'x9Snh1Cz8#V?ғa\ OS*)_b@Dk>oq64,uyVPvs1UR2UI8`r.>ފw *1J>HGIPS!a?Rҙh/G# UMO?&z1PmObjm~!.)9pGw¢࢝/v?|gH3M۴~Y+}.ȘbZѺ%aFڅsȱBqe!WSX#MSX DKd{XYx_h}^%_VLKe!fӡ+[~z9Z bà;剀ќtu> ILXc؀ ]{ ժ?p3Cgfh&lQMO^?LZwLLKg]X:y|RO\dJ;b/p⬦z`}X.}T HuAa9dd8ARb!p;%47B?z>g`lk Dd[ jv}iV9?.d󐅰 TjoNFRC^Kj8!@ƿ"W-썯`7UOlSHHL(!/[_ l`Nj_Ct"A{˧C]tI㰆0i1^nSh c,pVlgHEFSARba/Yd1tSW$hFqD?fC8nƟ_?bSKN kn%*s.ߺH22fW2XVc 7_1'<d×y$NF-nF44[mHl2K-PTupe1fs$,͡Ӧ \,q4٣/d*!Hwz<\p߶enBv7JqC› 2 SZe3 i0(L_H}6S'_ vI<]b U@ub"E/@oDU)9(D܎ m-3\+/J:kjc6 M|5yZ"gM 6`&@j1̖=k >/:$6֣9Ӧ +yNo=?IAM-'o&:14rU@ӛ4wI!UGH/ݰ L~`:' ĄD&jTyb;WL"z!!;Mg-܏&G83yx́F#+Dc̉eo@\p[&q7s52q\E"}`k'0u|3,X`K|So.Xč- :OZ792ϾD>hE﮵ A/]P y,N ]mSx9B2BcN:t%ܘ^"e!NCB >^^hIU/ZL"56/kz6(M6X aB}JUHөilyXgepE t:MJ&|̨kX?n%7Hkп*O^9R)Id0mHV͘ ۛRCB |zCs} aaܫڄC&ǹl˵\a,qK]%KTP_" ?~33YW{ KG^= Rr:^) 9@Gǧh|HTuqވ.bv6FߦA3Ċ ӌefqGcۥe(i<oqK4mn*oxM7❀ xhbX`W3'KFH@H;H?z$V(" {xU`s$Sh n8mU/~coU}=e6♊٫˺6Fᵱ{Eꨛ%UvM$FP׉1/´<_F!}UO Mjs믖y / ĬT8FDBm8K·ZbSQC;hccm`#ѶhѨg/<յ sc+p-a_ۦ^0iS0}0.-~Ҕ+yY֎q0Dńj]t<7Oo\BV p2 N`y,VT:?%|l SZDfI/B'sG1e;oh  Y A+?Tkg)οa/r˛y{ׂO j"殩μ# z0: pSlR$iDn-|6U =TҡS P;"u^/a|8V̕F C?_#p_9>xx4.;dfT5's ۑ&yMp}=(petچdZ7ţS^RZY [R9e  ʥ2lG/hqv}|E~cǍE g78KP${ݥ{5ExˇD&"e˶s`r3KVm/&\QJzf xai/lw*ʍ)!.e<*u?6Ua;c.ڋ{l]W(n8v"frՆ 6 9/ÂkޱYT#،VmihI8Ӣ R $\cLA@Jӡ泛a/5d'4)n?^ve֤x.MF]?h+PJ?#hhJvcA+\l],P 6A)09I-u[ K?윭I@M6DPvK3+7iZxTmU,7nֽ7vh]ymYܕrөh.}䲢QD]5psjڕ]|l: ܬaӐU2HfţOr!cl\e,D| W)l&'ﭐWjTkR@6+zKI zijLk~>A zI7Y7TYon4|[9p .+ ?cuɿYmlSr0RwB~1 #1s4z wr.qT YTKĨ kN$|]4PwQot~͜(DJԑϒ*R}2L5_.0<8Pj3\hֆgBa*R ՛HRpǜZ7eW?%s k:_)UƋ$ ;˰%GDPVUvS;D\}8V0:duiYA/l_@$_-v*^{^n9mP!,Ni$V6ӶT=G(Æ(mymKwQ,7|ʐ]p-FVC3S0mj(/Ԯ-{/w~2SSo6.q@46F㺋9D'Β2bp\S73[/]Aiuns_&.iݣQ]&Yyu:A:(-b }+48n(dPъVX%ldIN( [jPI#gnJ j9Y^Gzk噹yE)A8ZQbn:FtjPLe XvƪvX `?3߽.iթ/J6tyV9B5P$ZR>9k8ֺ,CKS7sP:%R ^wB)8}\,Lk#ӳ-M˚qZ:O3aN[5HdIZ`yLs٢^׃UG9sdl`^r,8mRzV-^=#20kIOc$Vw;Okdt(RCW0&f ;C B'=/siNa䐅û:e㰙4T74ut n[g@+ᬒ:hUM0UE.p,PrLAY+>jb4ߎޱ@C4d9zso-@/ dd奱Rq)/ю4(hLt.vٯtF|qu4yޓ\V UO+&帓)E<-=: ̕VɼY7tDµqsƊ{LV/Me_Pl^O/#82+X&)& kēOFkR'mx!*EަOhzl#1aw҃Dd|cMw2 Pj>pjtīR-M/K퐪= z G)veR*x'aJ3dR܇&!hver6dpWK)x7mə"x~kxneOWED+v/σ HWǰ‰$'L*5MҘ* H jQp3!8٥iYF2s{4[tmMHƌb?!? o[(nn|-jjq0h/ZTY^S0vRf`4yo{W`jQ{YQUru:FʻTRVL9 i[B8k*`w,̦ۑN 2͢vPEt2 #uӅM0,g0j)o}\0g֒0B-&-mY$cV+NVlGG(2ZS< P 9 5:'JhJb )wz)鏘Nso8>Է>y7xvT rg+h~&3 Ժ qHy2aX%L͍FiwRÃU(>2#? g 5knAv N9;suYJp$#v>X_F:gxh#8B^-f&;֙WVK }kv- eKp7F6z3MvjDmΩ|Z!Ї+Uo2 t^EKp_9^[ခFђ`E#L)rHF^CςqZqT~qEJy9d?58U)vK?' k*mҵ[ yы@fW;6z'T!Ix N"W&y8#x Btw4΂Bwxo7QT,%`ipU&ܫΫȠޡr zcP(>=tѐ.%Raca0<E`x$@27z:= hoK`EBzj[MT,."w%zܒ8)QN%w~3b-k(#7qk9h 2-UM(tkVeuDmC7#5-[f}תG.Wh}J߬m8M)_v@H.0؀e_&֘GfȩJ-=άIh70j IYѐH&nݗdm$>dZ`%Dz;+=Bqi__y8Hu{AΕ9ۛύQ>?9DܧLExL$/\9 8#DPӓ}$aP\U*׆&.@cZQrBOCkHks*WR r¤?;9̇Y?:Ԓ=#p)ab@`9k '=gԕj@Pt1ٕu?lYjI%h;GʮI뎢`Ni1޹R]0Z+\F8tbcj^cJ$>$ /+ mZmOr"-mz*?a58Lj1Bu;zb Ǘ:r}պ^{hGq*Iw# NG/uE a7s pʈОYv(uӉxj4xh)QbLn> d IVŕpN͛&8WU!)}k!EhKOSdv:˯rjl:|iʀtgP*fMs-(839%+Q߆w۳|7#-'h7.9ƃB( ek~(C֞W9=4`p NPH{%| ](ʇuձK_BZǘH e$ w=IJvQivq) 7$AX;"lFXĺӟZ#ݖ\Zز_Qwme[|rh;QH=T=/%,\͜ 3J780|դ])HlY\RK*ov?f?,vߤ:Hd!ga3IX٬qGrE*SS1E}!.~,V7qj%K?ngi0b(yK@l-QN묓Qݍk9VZdWE (~NfqB;]hɜj rήI@~mPS^\je+vi,\>٦ݹj [:f(Q?wU!~ =~,$ pE%dk'BfPۣ:㸰V\nnH:mx mym`cF++H>ͩ2XcƩL_Xw]5hJ:( b0P5kj0Y ,gZj+=*n ɾgfކ>b,5'ͰuK6~2m⪼`TOdMBWF6<4e 7Q#Q5t? q8OSю& @+ʒMĤ/a@q(>_ ܗkh%#?pc{ü=ðqn|g9wXp/b qСPm2 i=h/ʺ<(QL6 >Cԑ SdN=ٸxGpK4V~?N{17!2]i@H[``.87CExwļR+W@'\Jxl]ũ8 ǯ,:W pӔiX4!g%p7yBcPa?zz'&eSS'jA "t( eɓٸZ$ +-4w@$6^?WnUdr'.PS_q(HB'H{4j/Ɏ/cᅯURUECE:"lu6/9 &"(H3&?ۨvvo}_x]0:8{j {;VAaʹKA/&;8yƟ2DڜK2q,"ҷwO2jkSpb G5r\"je4hOz)EXl,)QLw2 1pbR *b )հS|e%2&ߐڡ!grqrsk,'/ X_%l)"c˱m9V i|\Q8 FN1rE`1؜T5! C\dohOwΈ+;(w/D *r۽ )K˫}<&{KI H~N*t5"S{c&#_`˄<o"VOKI]9Qĵ^D + #=[ɠYC0@e+f#ՂЋ/F3\n߀NhRItXEz[K"\L!YW.jr%< MU"9|O]ЙʷE `Cz&+ڰk)S ;Gu]q;Ei (^NטZibm0IsqM 3}^RMX;C[YE/;x)$%g#(gUx,daʾyHhŢ1dYJ#tCn]c34d@8PmLF:њˑ C##EM2Yğx1vaS ٙy]β,;z?N "x8kC 5ӡ=*ϫ*AGKYu M$_(."nDO}_k1c}:}0sjLXjeD{%],)96E{zN"9ǐF~10!`hr/`wcD0:RF (_X= =Whdy 7v9S5!([U?+3O"RsG!%rs+󴆀}!F.%Z2{wK@*`|‡PUYMBLtflݗqQf ] R s J 'XNYZ #;TX!e`pf,mGv Z{);.[DžhJ^/oqtޗ"#W HDvh2]/kT*5+=_GW(@R$D̆_$|MG-`NZ#*X>[{"qOu+iHj'4|61h_vxNkU`F1ùo|xї% V[l'ޑtHW8NlVBTv6E[ Rƽ]@DqMYI( 7&s[ [J ?]ۆc<1E#8цd屐W.Lb,+B6θe}:4Qp9SvJ2LN&ainW.0/ ɐʏN@ _ם NV+@~yRe0ZKar؞繡LNAn(]ę~SX޲ժ |'u %p)0yqi}m}V7 VT[v9C;xTFC0g;ۭiǶo= Os08|JI^Fc"|@-: %h2Z+$Ň)˚;8H_ BnΖ??U"ۍAZxBdژ qVnΝu\,r}!3]#|ƾkڴq#UʃE;'Mabہ^ԇc%;:ZI`~TQ@CN{>Cf% m~`DWXF%tT 2S7s}a?gfLy7=7:#˾TPg@eJ+t Dj Zmsc1ʣS?ehCJNî0➿*nu+z}ZQkieP0B؄{'|U("Kdtb#+WծR,7-@O^ؑ~|[)Cx7GE1|<46Mj%!. H\龨:驥/ȩ5[FBIqya%f r?oSFr ż {kH;x?<30znhy2Q)4:&t2ݼpMG& cEw=@=hMͮ\ P1s<%I+O zmdAXErKn?RM6rmKbuIsF0SCCSp}D(̌kG,Nȣh4o˝Y m^Lv5ik. ̓b#ͽhRh> j|s5ody) ͋CRb mM%QrTI;oR7gh__Snsa]m_PV> ?@]JT@rh\0p4tpmϫpϰ|-wUδϹjI-PR^/C^j,^37gM0] lm9Ft4oWF[ ,[MD(-D_^ѣB]Q\ƴw aN4-c*(wepFAN9q }BѱaA6mejS+;h3FK\h HG&e`Ī#6\4n(v# 2vzQ 7jkZ_t|JS#~}5 &" UGMuOmJ55)"H[hC4!hR1x{~*P Fd *ҭ;35 =_*`;x5ϙ䠋_WNWjfW./ʤr, qUi0_ U Q; _|w@Y TRA׹Cdg J:'E2o"eP+T9{"L8W;%6E5] z+_^G_OIR2`I8W \Y`ٕy4x@g } i Ik;V`mhi$eP3Âob&s-)Qϥ?#l7R4' @ uz("d:JCO-M(j=Hl]u!|%QLG# NB6D,UK>@Z԰nl _k&$db@*URN&biB/ p1,IGN9*i+㥀gX˕Hw1ʋ F0J xS䳚|M珕RܱbDGX(9|r; UuH%7>/7Nu*Ӏ=SZ*D$s (ـ@;π_Nˋk.xҼaBR mw-G%}(&!0q.X_<Üe[|G;+#0^Gbd^o!}]Ez]k_Ep{X_ YEatU8[z'E\nm. ~: D3,&z ` lr^`e0 eXcBu$UBl( ٧soIh617]/.As9:uU}ކpgyFpJ3) (D\3a\u;=RO=6)Q[/LDŽJ{L[8#h,it_NOtX=ldʍ.3MV\q_0,gE:鋄|-BN⽹<ŸehĿK>aI6g~yP ϘӪs@ͪh:5xK`hQ i.oާ[EX5{[>," "`NK<\, !g$"29$rGNvqN ?FFHO=$HP^Ȃ34(Zs~y2IN¦Eh +zwW"=xy+^ y!l-inc<עaF9̴gīEh|T&Ry=bken^3U?$n(;gG:})ozo\u$Y+똧Bvic~P$Ra{*~ iEn',q+hD݃xV0).aZ[Ψ5ͼ΍o.zFYIG>$a87j f+ Eb!)vJzbz٘ I I`!g,ވ}ܑ_wYk ֓.e4275 %>W!>n5ܜjo`e-%QXZ4ʹaqϿNIC٭%HN Iܞg8j̈́MU\!Nx qXqVj_j<졩n`MPֈ qu=o-@qX7jl]\Dh Ȁe1'DegҡHsEPfS.ibɡ99,MѢ8B`J`sqKw,jKFxra޼QeeϴlPwV݁XEk (4Tc1t<y~ÜNɸ>RX,޷"HZ޳]^00FN2L Bun}%ȩX*DUq7d+Kv`! G[LV :WV7GOKsVݘ!)<)pREso!5Ft MY- \Lfťb#J Egnr.r" #d:-LDf'Йxj-hwJl]tGTL}ڂ])*ťo7jD~̦xz̟z{n'RzV MvRŁyڰi~j"nIuJuo)vk9}PZ$RSu:hti̜p~VBm=n2}\$'eӣa^% D8FI[0_!0I;[X`Fet>/L{W8R@3Txf^+ hQ 4gْ@}gѴ]_qrs~37@0읥:gZD9+6]qpCV+q{Ig6utcy?(}˻Gd z}P pirR]Fq .?ƅlr[AP@^܌J'%Jޓ>2PVR(:[1X/] f5^m<6߸ xnq- e:{c%U@zBEX;ʴq)>yř@(ۊGe gp/>^H*bըٛNJ0_b"SkU3 \#0 heqSͦt-"Zyr{1p2郯2}k֩&3t~T_f:?Pν<<4+9r)0VMBFжOba1wϵK0uL]QZ le~S%-Q_nH솄ܑͶ :7ȢœGK8Pu ޮCXF2{՛8F:0ajc4/sғ.,%R>dk;)BPdjvW@@igswOF#Eo0r$CHZ7cF7?KUoEBƑl!SO3scd$f]"BjMSХDv~FPbP[3Z$WU25ބǪ:-#嘁w# 8ԦNmu6m j"=UyS3&%p,i=nKV/~߁C7ݓDuSk:B: 8? ,OV?rZL'2ep="DU&ZhՀ܃:o^d_U&~M;y.};^l % ,+,M3XsgQxCWfZrJ]-+ȳHY2kN'1qn$->Sgd1DeAK1%w5.5qdψQˆl$z7gwsNVT⮐AԬ>ZM!C VyeeeJAy.}-f.[ *LNrrr}5(YfDᡞ(Xs=%ҳa/o+f;ZZ]0.HM`lv}<,#!8gVk I!a]7 !e0{F- ߷p/${=% ]}?V\Iׅ8\Jtf QKWY_a? XkD ` B~9Dx.y+gnNؕ>1K~S1"Uo{e2y\2v} NT yrV9sd> y9N_/[Ԟ)8$F5vN>?\|Rotx+VaYr3\|np..Ğg,f*δĩOKuPM0?lʺAZ\RXвb,pɈ9.w3 sFv5ZFk :Q>=U(yK@#buR7kGFP\83hӴHܺ λz#eģeK 5~GpJ)b\`! D OZyI)2\{=qW(c6Y\qR85%סQpY OKMuf=4b1BNbp0+ tIgBRI_-0厰3(c =;O-[*8QgaCGI%Peap\=)4׏mi#oթ3 `PZkxH52e*\^%6u<tvs~rvGGt4hjʭnh|迸opHR*pa5K1*cBm׎#W޵U@4%e b3dl12>(\\N6[p<K^p$X:7GzpvȃܟZYeuV\,Rzh6:I=k~:ŤsNugcb],s]94|, hw߼cRK13)`UR/ U3kNQ"oqbEI^TЧ"16`6Y+ׯ+Ż9lg*eз`{^=b@G>w]Ⱦ_)T2+7a WU -toh(ʉu!\3 0&Ň>pӽ6<{6s)L#1K6֫n|^2.Y@K < &&U]^2AxJqC`Lk`E #\KǴU=x#Y_xf `=": %)hT ;7H "ҁ@f^qDD.@2],Fdot8k%xTA*xIXNÀMb՞ !ǣ *u`Ϋ G+Q"\-WFyw4ET0 6=Sg٠n:(u11nМ+:b~8we`3ŊX{R@272T |FΏ`j08e(7eyM-S&3OxSڇAb!I$0z=4&vjlJf]ܤ$+#FŠ\(Z~t9 ''S)x_pKzB5mbAN;e߯d@B#REU6rWM),u;ωjguyZ0]mJnP֕Q2 ^\3 [15e +2p>wؙ0AE #jE-F?^CoIO/͌`y-N0ґ0_ $*𘋨;ޝa^|ȟsvXQgCo. *o\0Q樄(`s?k0ՙ .~Zx3t(:M7}RA3mTr9k<~2O/$j/g)q&0ѹ9;f J;4U) B=U|_x:ޜCԎ`k IJ{삖CLT/h*T$o?U}#+=uJE>*<$1Eb;*2La!MP%k [hp_pR9Oyv raeWd'Meu% J]Y+cUuhK0H]pXr(c O?S,]>0RwKsOcb!Aa-jwdA2ftO):G%=9E/jsbt'#MfR.0oMGSt^f{zeuI?+[2h耙sQmB8+B+(5=XERh+D. ӻ[ )z-`9,hIr2^8S䐆V]d K̝9)+)gk!'ʢ›pR1=\kAzwVTRh( K05IM\‘fܒvᣛ2yiMӈvGpj֏f8~8J֎DЉ= ȂٝT2-xnuHee8sM^Lj6bl'%5^-SfK] T*NVyݧ+k._ZP,#`|*`e鷯̟řcg)< 3Tmڰ-"䶋;nxK$&a!L~񓷞)i8H5?(34pS rуJ8 ꜒ kD .7 ߤ@v6{DhN],&67<,P3a0Q/5U:S)&֥hRH+˛ nXNۥ0C iDjŶVLJn TڍZ-"T3Vu&-y{W9&U7֚fsr]0'4)?aG 3 c")zlW0(kǀ̢=B-K,?ei_6bҕo (_#7: B̖It9ZXWI?qG]wl|wSz@Z\,Z&nS~)af O=./]0RHP3,N{Pn8/u~ zW*AO@I!UPiøf!?z z)`TDBN *%G##|rU.~Əm83=C LȌCrX91aC:E* lN,KZla]b&!z_ ^<_]g?{x$ -8E?3xregډD\CY99)5{q_Jy g RY6 K[Z٠]kԛ[Z0$v-9d\ nZziB@؝JėdGӨA˅vImgs/"^[#I P6U1uh01oZ/g܉qr8r`Jޥ'_~-aS8 4O,?i!0mĆ9v }or!rS~haأ67v?j#jLУhs~"?y'E{Օzo%}J=ٞНyҐwvj*"8&O#*udy"'{nc Mokq!"*@Q ͷ눆dF ]2Zb~yW!C2Sno㊎Kf{ gPɱ?oWlaL$wbcq}-yWvsWCm$'fZa7dRȱ\ awͣ^{j%VVl1r\ lJv*Ǹ"tbJp;uAX-]7Ą{Z ݏf|G\[=5gA^hWC*ffEsgD#ʾBc}@ XxIz,U:`Rx' |_!#9^bP/2Ti<"45ȱ0f Ei0tgp;ȉH9<ҭô?\\X˹GEmBGyiD"=Wpl؈.r=.VŗSq"ص':uς7ߍ{<7˻r|;d PlQs-kWegR8Q+䄷".=*[E 4DCg4dgyj<ОuJxGyBˉѩcXW; m;w)9Z\ T {Fm癓ٵ2 L4v;Fqh@D߾8#aG@Cȍ.Nk凊JVmS h(8K`nȤZq(BK VTHo RHyݛ,OsoO|3mٵ;S{ h;׶eQ.a(0>t]GUt]AH1J,6FE!u[q`/_ƽxCV?2т %|c[oTdƣn][M84(dwC_O;haL::2lpܒI{zV{s,G_yyUJXoFi;7y5͓͒yuisM^ԻWe )|#־~G@cymgV3jxr!;٪1r8ep;YIMmJq>!|>w ?}z`C wϽzSxU6hɾ* H׺ @s[>ѳKg&XΪ5 hC 4#<ɿV|rVc".yu. D }p%dC_*˭grSXFeC *؏vc^p.+wCdRs y0+fї)T9[Ğ4l]mCȜ@f,ZQ c,(S ipL/?#CooAHIx {Y`yz$3z`io#'ƠpX0ZSXmGr OO;\Hardi>ba0G][{8REO;원,`3:;hQ.cy攷2cxeR+Dʹ AE>2P:kR1&Ya-`и8t1w=-?;ʵZAu]@ gogEY91D"*;t$ܩ= ̄X'8SUi{-3,=d@fC0ZN_TFGspgDhzb Iwr ؘZt4j3B/lW$E[´Gݦeцc&IO .tYcُ%7!'˚"@z0𔩯\j0>U?:bB3[Sn|P)u):Q^߻uq_<`~O z"llЙ}sCF6R dq]0 В ‹FOm&Nϫܤ,/̱ɜix*QVX}Xpw"Nd.%Wg'yh= U/?$Ȅl"n'ǯE%1: Mݥ8Y٥RI hCs4r4pkN\e+7@^S!Z [keFnodːQ?@AeO9^ tB34tx ogq[#Q2ʛ_^я%t ™ֿ/"B uO*pRX:Afdr4CC{p_];=N64vhgy:4b"tGT't,G'?4UtvODxcx9s` /#~2r]v\E D#X.#4FI8\ $Cd#-)!^Đ1}tȲ?_& e1&`lΡHLy@*n4Ik57 CFci;@u\+gOR[eױNaA!(#uQO! ZkA(; ӷҩBxB rdr)ȷRB>dX[H^r7'5if  CȺ™KP~0ilUbzALͱ.%XwfqI#YE0ZX8$Jry}@Lz`J(, mV_Df-8Rٹec;a+7GtT^Wivmyc6ś^;}-+j^D֋RMmQ=j+WY\ hfq%u,\t|:Ǵ{=Ǽe725P6QT>w=;&Qpgb,wővF3SRfW\G|B'WqFYQx x#}*! ky#UR!!f~?RK ϗ߭O-;z%[3Iȱ?AK!|K> 2웯|,pLk",6gOR}yN^=  y($ /[d 2~R?e7!س_C/KsEٳCT9mHⱬh##zy iً}y;D(^CtR4 dG lS[AV٣ S<.%O9ao8i B V4'iS0.aW1 ijwTt!@} Hᧇ{X殨Ȳ[ƏNA29'a44@zn~0O[?%K/TY nYRK( Z QP=th1].e1/mrrl 0~]9y94;[A'oHWָJT.dn{fb=/tAUȼ mŴ]cc^#i!.oUoV&;'𦺏 MV cSz=;.ֳ7d0vUlEC)1OTMLNvlXz7,o]FU \&.Kj T }͛2AyǴ.pUbJb>̋腏ctT>:A o QǷHJ\9Na:*ʽ.[AdVoAr k,:!RީaL>C0uSFOK5asޔ G1բ#2냧&2ueN2tO;su"V&B^#8Gj@ g3o&M^.զ5B g2W˖YTM+@}W=߀cN"du'gfĺJ7A*n(ЃKaeݵ'738 fV{ n.s,[LeayT\>q F/T܎|]ܱ1 9=ѣ*gBgv+ߨᐅxa$mJh&}[E ֫Qۊֲt:NDN'>U #F{eQ"AXwKg}:$xV, t )eB,~I[<0ɫ$kk㦗gsL G¢z%^M!VKLf 6Y͝(;{]bv-,)οOA'Q6QW6>둭7>6-^rg+UmXθ[?˫y}\j^9kއC!/fi^#7)j;!" /gv:'+詓Y. zbҬ,?ƣ(ۼ f* ɻiC*0Lٓ:umPޞhT q]R,a q,au+Mcpz@뛆1p(7@>q\[[7R-Xk#Ni_6[I[:cm w\6 %S2,M[Ec(5|z؟!=sus)lͰum/'vu,4\֮f04P)+odMsɀvAkc&O4;fH8+40*=H]410WJvq-T}ӛ|Ӵ,6Fg2ra#+$R,>4|҈*t6i`繀@36[> $ 5^I^'lkY%߾P}YÑ} `g;oS!Hɕ5pUI%J~'@?51~MsgbGW?"C0S> lcrNyZ˨~$8]3R}]XU٩8b?SYL\Oo`B Y<'( M8yN.;z)9/D˼ /ux@"FYWh+M8/P(aOe K$68׻,fWw951CQ C\+'qLLjtm&|&\?FU- ~_e}̮p1qmN/*4q!fh=rx'F2{ 4(e`bFoO.d tji%͍焆 p ¦֝5%*?fw>đj|ӿۓwbRrRƎkV']C,R l\v'pdz`ڳܔ!KF=kRv`wYFF^eæZPF≓`Sʭ03Kpvzꫬִ\~ڎp(^$ʹO(=ݸ}G*f+8g6`}3xV4-"ߗ{"Ǎ @s2i t@4@.#aRAW$Y% o^Lz!F4ߵ>WUY L_[[`4o1Y$yk stH7U!"Z[T ]:#Nk>1% ̰ܰDt߈_Qi ]ߖ^6bY`qUjEd W!nao`X!'r/4xX"<%of``)J-"dLu6n{K34`S߮ռŇ35AS&L nl:tOW L_e:(h k D / w3Mb$[P(f| â[qYI޴9Hn~#E+# v֬P2' \~* )Zl$@n#M"71"@ >(G@N-z0 56 S."."j2jQzN\0yr}f 9[]0 :aDpݒqkKrã"5}nn-cA5o~v3\RiP1n&;:΂Ms|*1nǷmS8 `8]KkC̏M e}'@:렲f߃(R:`r۷tl7efpt00o<[ySA2q4h5p7֨s-hj\ @-Md=TSesKUU~ Ȫo%?ex}Cs 'tdk9Ua+g5.yAE؁n(Yt<>?üLJƄpz@{ ϶z=asIq-N'B'XGҌA(ٚC3)k\N25k؝9PlggozdԶ̎$"i_zmRɽHhw"L 5D| (e&}es;/]2EMhU uB2e7IzpO󱠙XoX@lq]nPAcWVS>~">W̴= p9<[B)~Hθ7,>V%SϪmYLh` ,,ɺ/&Z\l&KfI=,L{;ByJÃ՝àUM ƑL١3ͤ pn +3C9U'i4%U֧{'=Xl)F}anP* ,U78nMk*e#EDbdc Y+UX[c,>SKK B`S7 a@,'"_"_Uҏ^!dZxz6ӞKk\|opqSWKb~T7@*r嶨ƓE0"CM7i ;L2&0L*Н10gWswEi}2!adc<?w~&??gcXB z+ _'^/Y#?nLP+On,wPK8F@^[7:$M&UL7->Ү٤TM0HN)sM䐲v (M)!eeAN?H;86kIRKAYcFNPB<;EQ8 {!c1hQ_p)-SAM"1%D&}z\Ѧ0KA ]+R=ty "e][}碤B:^".@ﱻ GMAzX1?[» 9/=*"{.; 9q?=ov4;&Nx6|^*#}=DUwQ?u37kF VXF7O?sҤŽݾ!$0i2uBDyEݾ*s,K؜ʻcP r12<(6.WiÔ$^Da(cPP߲l|pқD IJ͆`5C o{u֊4`{A^S:p߀f@,ӏs%3,S$r"ƕr~wG #֖u)ܷt+Vj+|^RHyaD- eq7ICN+jIm-yi@hQEG!v]@#MD/0uexv^*W9j 0 7Bp&SqH|u@ 0\x50Y#뚼hULu/{T.%3;Q\}Q'<{ }X*opGO7UNQ:N2F)V1Pl-y̚/;(Z_;uu?9j]Mw)ԅm"syʓǷ6lRM%\ r]_ h=/꾼BrhNrDŽ5"VQԵ?ꍒ&d7h!Q2D.4æ0喩 bxCbǪ%+G%X^LG8y7\Y/6pf&|AmV>m*>m2jױQM!'tf{9Xx^tM! D 5 SOLbx1WNqc=tYr;dF&®vVP %/zhd&`r Mԍ{4d39ֵ3̛w OM3~:<< rJ$۶ eR_]1h1 mt.w;S4RhF0]*b%2 A!4db/`^2d yZب8D[4Mc][ΌRܻqo=b\v;FecH^LX%}گV7P3]e"E~06E)겞TQr1<oZzɥ]GkP=#i2qu|T`CsQWUV%a +e+P-X xf^zH !VK-ڴp;'&)oE5=uw5P -2C:`Vw%:6W}ansOL2n)ǞZ}a\y%'/|ZzⱹY]L886jd6뮞3<󚛣p B=JH+ n1h<5/YW#'6)l> iDH2~D9+$ў Vyq6keP HD`?:0?NbkUw֑̔mRx8eh j (UL1uSn&GCQ]Sy}4˻~ ʁY{|ְeQC"Ӑ'9kX%U6_ ^Py2k6ϪIQA3M._"Ȯkzlӫ}̀T3 ;PC&(gvM|~Xp OwmQm^9*-G 4E i-ɾVf9F%{d-B4=u\~G6?0MRpZSǕR0})O܂IY`q5vrY(:ss}cq+ S:oDmԵ^e g͔_@EÉj'ra^ZM܆;#:' R_FsVF~|0#sb#:lض2Wfhֹ$ι8bqç0HP`"R75Jc#69sh2l9@Qxb$|XNeV?$|RjA*k8y0{jmia#Ֆg g!g|!DBBr2C%sSG O+{_SgRV$u4JU~]nprR GУGk:/F{@c; :a C%3mJpq_3T$(Aҧs\p)@ϔ>ǯTP&Z&4`us!s]M 5S}EbZ&ama?,D!%a:-1?JGã0Ԧ~zEK1Ů \`-#m Q/n^0 X?]:w'p eT7{hKq+7dH9#V`@t# 8($Q4N)UlmǸPt'R(خ)a^X 䭓J|c-&\_(69Ljy&6T8gJұ >ޗld6YN-lZ1L.C={kEB޹ q/i8R 2{T"*ߪm֝WVJ%KOx>$-kȺL},ğf^C~,9PJ*LX^ʳ>P9T(e,. B~jjV ‘dQ3h%b8VL^=lfs}O. F+H) m4j"kZ,rtJd? R| 0MRqL([/?[!Ok#@ v>F Jx7.>:㳀}bk:v+䵧a-!|dmR%n4k:;Xnb~[7Vzlkꪍf.dk3a^KhJ|wXk~e`JN&3ҮCEWr`;Q2^ }wk7ULn+乏 <[B\4p(ؔ#b)+3 })[vT42 .c rQuX3ÐĘ['{!9L7(kF` B= gv@B Ъx`Oߌ)?*',2Uq@"\ R3 d*Ư{ݘ-Y c`g^W_`ܣ7R]0{H}qo#j{ q[f!Nb":1Ԍo ٰ, P.R#.@؛N`hrw/z:g9$c[3B䌩.qbIW*j%r}MXCYHw.ƊzC5 Kz6+Bo}wX1kH ;Sȵnӵ;mn/nxK'͓zLԐM<L mM@62v!Ů& ^p $ڪ%$7,qySv/LC `R ){Ȋ!^6lPp8R(pe}McU%A,f< ,eتW0ˍ &=@eG@vAp!N9mor;'򊕁TL0DSefF:WrJǼ _f)DtW8Z%(0`HihGޓڦs5|rPVt?қ"Ɯ(xg.9o[g{K_#TLVk-pi _kq:oc3Bl`d{_di=@/QiN4Q-q~iXh=#Dh`7j]|[b|V #1X)ť6|R64P 48,8&Jq" fBy,fJ8_IjL>6 wylc<&nkEg&;ysW@ն]ٺtx~#\Js;HQlZr=t= HRZbiuG]y;uZ*勸f\b81[pwKdnCf73q2kRS!}}jh\CVtf@. ^!QE/uEpk,DAj|.q? ܐzw?'Ʒ,cɍ^fh׽իbB:j"p]@mS矏Ixv=`<1!˪Rc--;5oka hL #fAP)چ4#lk-nU h ;#xu ƫ͉RApiXQfގK >I 'M9&_A7DwǕFAɁʚt^+_ qkĈfbˮ3b PrD`N8F9@>@FM-kOM(hQ ժ-mZY]Ћ/r^yGmIgVd̳A86mZ؋YN]薰J!&2{l1 OD8OE+ؽ́?BM×ۆM_;H8k{Sg{(gfJ(η`łh(O&HezrBU PR3y "xeo !Zծj&u.=?6uV )'o~qc&z,`_V%q,?5Ԕ|7{@+m-F3YJB@!S.p`;a$V!Lx^YG N'bEf4&/K(@~9 (}h·F]\{?<t$@6!G+{!JJ N!3X@Ds&=G3/~zW'EdrPzc ij8!gn.脙_f/Yt֌|| m&͇Mљ1AI#}̡f/ !ԧt.CS_1*A*):ZВͬ)ѝQޝ+Ɉ̢4:Eq̻]逃CAϞ^AVi78Lơ#!6 SJcG+s=a: 7%iDĭG"@ToW,Qug'A|q^;*>q炅W 6B[KPKO ?z|=f-p;%#@R| 7Gog<z3'^$Ó@XKYC5jz )/w1KP2ӎ ̮Śyjs]OwܖnH5Kg =K'6z\7%z>ȓ^idUK^Gڶp'jMQ@,z$[5JKzlt&hD=,[Rs2ה}>B{ 5ʒM#OfC]uf`zA)̡E.:p;FnlXHTuz9suBY!L}X{)SΨE;\Lܛȯ+|hƜ( \΃U!ZURM=K(urJĕ냚WJȯoE1s6 ]+9M E^eϐsK/BVMtyރȜObn<S~pcW?5!pV4xbNϴV")}c'K`Fe"%Pq3EҳRN*пu3wGX7>W+|.0XjiftA!O<4S$< +0&`ʓtZ-!e%sxrDcgl6>=${?y JDUD{p+~픨B\hK">>/TMB*<45^y)bwrj|~.l7ҒtpXtT@~ď/$ 1JvL8:9zhp#(![KmC\W_=G u,&&9b !=:.!ܕѹe)}1;:aLr&'$(U8A[?<0Z@GjųA GO) jo)MA˲6lSsqFkKL9^B;>g]Tiy~>CzA ,ƫ*{rjt$ǯ/AH<yg*)VzKK[L.p-NdowXG+$/T8@IYv^INvDQCAg3jd+FR3-`kdKqDdXL7Ezo /Q@zx \QVtA3`d C+| ɑfHTvϥg ~XgX' ?$ H/F~+B"U }M͎F"}G ƺ|$ 2QŎPR;u ;I`-z!r[(K25/!ҊgdfτnMxYߡ3TM~0Z@_#_{7Q7 d+'fⳌE&#):Vqa]VCx3ۭ{bijVDH8t"pyI/^L&1 &⢜1iJA%6>7ߚRg{BaG+dۨTXU+ӻ!S Ěx{„?S|)8k@ Wu˵XO˶qbyup}Ɨ;~uqqJY?V@ ¯2}֊7\ +,6vb U/ׁs]Ipuv_RpRYX]%e)(V!ЯpՆW.&a@]R#k80Ckk )r45J$r0\4lv M_t:}0}6D$ :,yԐѭ)$@@yFQU8L;ﰉ .c)&aweL"Ns3 ,ZT44 >! =ICt~IT&aI7 pgx_?sؤ_w Ĺm@=2ʏdx8 "2 s}RȎĩ$N+؜j8*&7 c&Wʣtwq-YDM2zY ~ jj.6WLa̠3)O4,#d"+alkԹLXϨ.mևw]j4%)]L]rպZ \`y#R[;-!WpZ;w >KnX^);[`Ax "][~q 98-ShړO5wkGx4~tmD~O\m^vUXŔZKض; JƤkwe%s0SDj+=3C=t:'xJ"fKPi]o| Na;5J+d"ĭ]=ri 8 ER*a%(4ZK0&XJ]u\$s][@qkzeuvߕ*DE~\/.`59 .{B*aRU'q! 8*J]qc{БXE=h2 ?R 4T2%PsAwruKxj[ BȲ@cʩ,lh3PS-S&5OZr^M AVP;e[}0'~!F*,$Ch6M;mfnKz 7&hv>'4US[@@F9"5#J~ؕbu,*>I͉ Ӗ4ޣ&_u=[з48&WGLXow޺iϓO{(Ɨ!'!u#Le1(GR}害[ F*u4@w|AVY*ǗO8|24tx\ _*_F_{>}~3Li衺 01w+"7!FV}~Qpid-4"3 .G%JlrHEջbN?nyz<":ZcqEmGe[iq&.&uYe52*ZN'7+;/9%{ɖmfZ9~&)Sp]6m>^J%?0EUW?&^.e?Ov}߿m<=3$ӔFȍY.]:\hKw[ ', 0˔*8AoTܯuf1qcG'kvs}SmR:apӀ %;oacIĐVRXXAXu_ki}^_.GNN|:}K<D8>GC06)b:d eegn"Ǻo@ϼ rDzjZ\a--"P?Vbd_NWc͡񙧫s&Qn*#G8dfkʱ[;pևj՞;-)?LհWaw;N$4ۡ1_1%N?Me+[8!i@{oYeX2 CØ-k(qh@Qg7du;gm//" >X=ȑ⋨+]#W[nF/͇"f)# Sn Hwk lQpXMxt66nV(ZTp|=MC-3krڒFTjo7zg9w1.Q޽Z ͢ ɥ9gwgҗپl4{xݔ@tA;$-EVZ_v1E٩w(ͩ'W1_OM3׊‡ 4্/)!AtD'#0V. g 3=S1bdHk\y"8R8b< 8cT]У۬2&Д0 {}蝇̑P=+Вf 埛ڻCKSuq(v;ҚVEuo]ES#/q.WP3d^=FT]&U2QɾaDGTvLˎ :M iZ<lpgDR霅2]հՂu߹!Ӳ9^kf|r"IikOXqN]k*[jfگi؞ϓ.${Xٽ֍lk=䐟 ԹJZ#o 6 &4yk}Vl݀dnv.6=vjӦq*}'o]ྜྷCy+O\v3Z2½,^3: Q6 'nIRkpaɹ鐀W/Srt\Z?.Qa = ܞ l]ƢCLBtltWI>\\fkuAШW{+?~Q*E[nE|h{&c^QLA#U镩sI͐I3>3D?Wܽ//e`VMkq<Ѽ F\e:'g|ӵ܃|=\0E$k!Z2dG,_*Ckˢ# aBdj6?9! zk)L.a ȚP$ljX,?;k5-[#ͻ`aݱ))z%MsaVn:ﳲͥbӣSi5lQ:KMN3 U-a2pܴ*+ւ7M m8 ]!Jj ()kx8a&?}#o`/DB63%QuѢf"[Py/!6o:Q|$#d+#^ ;<&E{s!윚jk*[+ gɂw|2:犈? \@u&!6xH)b%Ր xvN)8ՙ?UJDobf˓@Vi=E(GjرǦysd(cgxڟpE,] 3v'ƋT{+t ķ_­) F@,b>xݳD? _rF}Q4s_Lܘ_xR5ߣe̝yUqy-霈WkydQqn!½#qju;H(,[tqJ]/^%j5YCOυo]=)I{KipJ=NKdw>I/zۡ 4(ʬC 1=C)mT!5ub49fM{/@>Z$ /M]ZRxoٍFfT0fYBh¨[1IVy a˚ٜ,ְ I}kVq'"U1L7nŹϫiAK ?-9T$L{!&~f/-HON9zQ,Oă!6̚/n"1E /r(. kQ3N "H2egRXA-i2k.' y-Y!Ljh8A;6cMߧnMR *xڊfX<ϪTmsP)*{>fetF *Wbw+[B8.St1<,h}Pü]A<3HHbiΦushSA]mݳ,h kF5TMi+)3A]GBysrn 75Et7';U7=}i-4ػ#2ɝY-*^3n4BDOO쯟{ T T@[hK@ɿUW\?`,sn!gu/WVH fΝ'*HD;*c/| ݆H2!=R[C}O!F!ޣ*[3Vj[3T ҡk6]G/uF##WMKY,,A{X/[+-/zݙQd'Dbу Ɍ ׹ꋋŚވdA}.\Ya f=vL&LkBX}V.5|We\"@H5(Zc2F5}: SlNOKM$I,#u^JvMx"Qh t; jFb ] ?{9 a]kV\lP:ĹkeK/^<g&>zFʢh_G%rήPk%ܡ{ĉ WF1NB\+6mдcgAŇ Eao.m۫+)~&VzhYuydJ}~ N%;[їM@kKʡu"|HNg|FJAR3 RL߇ ylE؟&ԗHf19c1bֽBod0Z \h~)ſ&Q 9CkO)6p'CFx791NsK5UlXn?|DIB&96zTw(mנ9GK!/g֍߇uZ.=A5SD!BF&$!P:'aw25ti~=`)4~fXҫpu,JiWl Clms|Lo宙QA0<]ޣH%i<9Fu%䓧NZC}&6iTiL^B8>k- qR@ N-vC`QYu>{HFv$/ STx@/2%[n'=zz%Pi(Uw&tF<ylI'oCzWwr7~̿~ ·Y+[^0h\*Ǿ׼ EBFN T#d{rH!w{{ zm!a|+"ፙ v_Fԡ.,c˪?Π'!Ѐa%{y!Ap>wM5vZ XmD{I3*SH%ϥ8<цҀ4ӳsznUUP}RME37j#uIzEn{3]m1VE;`%,=_}9@S=e67*p2zoPi)8JJF(4K+|yU{DEo(/[›32#Ie_\FadI?ݪwߵnaxꁸN{@G@`瑦ۜuX01NacdC<>nL]ԬXb暊N!BH0o9y7?5Fֲ9j=[C(Bgx2a+ 9{r,~qs+aTsє&0g|]z\طX7Tz[ B@J󽙤IΈ01.2"OL^ p mnK$O̺xC|ͧ{$0[c$g"tQ`NYp˭ @>ӤPݨQgZrN`LqD13*|(K\^_ɕPpgZ `X7&@H߶# |<;4P GB$cnٵ}NO0o~8%e\ &dtq"KK',K={Z}?ԅ# 2xT: "F/P{>&/[m(m [ IJ'V  X_éָh6L?SVU#)Q񜀽l$`mP(-ݨʗQx8qv0ɻnEds(bcr}2MXkS 76ἱuxc/ÂU[:pGB48<{cR3 / Z-`,g̩qָt`n8g$;u=(z^*X׿p?@&ڑ{Git굗2ȀS٪|phF~K3TFh'8V2xs(C1t1L"E5#\?LB.3Wkuz$$򥲕2'oLѪX2'eSl45Rj p9vR5=)&S@ST}o5m, "Q-P{nPbq&"),̰޵]tdGs"^ B# 2NIG%N]D0]~ru{8ojm}A畻yd1j\I;(.h >+[RLPT9.J8 H˄oJseۋ!wI>y ?݄ |+~#ʤH> <{Ffl7}_]#bfNiaJcb⾃|7Gũ#H6k4/ۣ}_@= b4l‚kR(m$j1Χo 8o2Ϝݡhm=]VIJ^ELHs!#}k.P]7ף.-ׁiڧ(Ď!2KOOvGi2RǹaY;"<13Wb^;5{?Oolɽ3U%,pkVQ_u`2YWb߽6,pmsۼϞHO 9r+u)+Dj'Zm i>[8[c 0!+\;-@ UAձom4%HID֭$(`|FN~l+:K *'|u']^,~e|O:8bW(Bc-[aXY G>8i# }cVlo>~(`a syQR|H)&K61@WvZ;Ջ-pIZ3l i,Ѕψ'Vr`섓2$!Ov,SJd(gJ{9"wS{}o14zfmat27q_Y?kcHAQ2..[6\O=JРRu0cu*OL(yf1zCpTF)="z%MTY mE{\9:lL0dpO%]X " ڵ<ygfwl{Pr߅fi_@Y#w\q\͋9w4g8G{]TY|Ex}dZ0aK[LԓNjEeB9 <圶isy-[)KD5mcDtk%[y}WסȒf<(~WMZhPޗ`HJV z G:ߙb (e%bVgk͔ 5|}qx⥮/~_@n)16 Vzr*=?~X V77Зot'z߾t!v:b &!6儥?cP I; Ç;r3*|A:QB , a7_7ڼη_s,']"bK{R*6LM?ӆ/JəѼj-V)Z|Sy?=@J ̅3X[H:#^2ʬ}\>:[#adg*rS! .Hwcnd3 .1:.ˆ 꽮SFnRß$DǕI]#ybYK`[|3U#*UΏ.Xx1[5.%[1:[tfFj֘gPdւ?_C'#k:%=[[g)5c/8i*IoPLMJT?.p1˷UØ"80gEJ2@F趲ZkfZ$1vu 6dʀ];VzZ, `%*(R(l>0 EG eKgZvN\u-3QNFc:C_R8dݯC̪҂:Lf$|&+!;rn©n荛-U}#FJ0-fr9 Bڿy`E))CȽZX%៧P!c9NW"|  ίLpA71|׎aQm&#["ZxRC;.vVSw6Cd=' aoU}y}0iUIqЌ}^9>Tׁf5UtP 8;M,9k%kkWF-7jE'u ) /]r}Ecޗ߀f滿d$54Tq$։b )o݄EuAAr's!͖tP!{xd 8w*u}kAp{ݰu =$uAhg gǯGO$lf]{#H; ;5d.1Yf -ୱ0.O2e[0`WvHڑK=N. At96hZUc5Rɪ?D>ٛ_=P'޳%=@ꗽﯤdS}Q{4Z1*כuK+y[bQ)ObEtI~81~94|ҨY~W,%$0f7!x7#p&}.L4}H~Y\xw<4ໃf]H\!rۘ@ssfx0\[97M^:/]`+ { -M*cktэz)qrq D]4&$^̝ ?kqF '橒O#buevT ]nԤ l,b*%1߂Hz1y<[c/ q_> 3B9oQ#LqShDu3*g?8=24Ba@[`<D Y^G~ .v`}v7'p@0v`ic8$9)gVGV'] uL)W3if ́~PK)8zY1AE%3L毡ʤASղj|H^bNnRB"iɔEUZQ~'n=Ь_w)j¢gNJ<$JPxsFȖ.4E30-UJ 5)KZ;>Be$beB R*hB{$>'%ƖL=FLV: +2m sHߙr:ә,؞; YX:ٻ -o=sQe}?z\iG "SUw`JxBax,EJEǯM*vBU6lW×JgJ>j] @vcD44kb->3Z2FOYR{j>ٗ"TSR%Leu(N`Ce$آKٯGI{ZgU 8x&D!1+nYA P 8!x^,󋀭=Wv\[}WnD0If⥢sǐ܉*:CΊ*굶1M9].vxt)J+Q6(Ӎ[gVS7 v: YuڪLD.])͖Hs$1`1c8%OdXfbY<}rx>cb.` ynO캹7NQGE:j0yJA,B'3c'=] Us25 oiw\d Z1G6|r]0V_,35\5 Og N^LgM㝘L>u3y✔JPaԭ:0΋PcfeW}VP;&&&Kp-88݄Tn53x=Q\\pej 6[P=bx9G UR^^g#*;:?N[]#6bmU^PNS}A|)y!$QIa,Ə0uz}*\j.{7wW/aOQIҵŘ=x}VU1 4LBύ㲇=VY]H zZ#D4Hoj6L6y?sn%*^Y6O˖9@N_W Y‡erڻ|mCVW@eSvk~iM̸.Sv"qRijTA^7KDO:r$)4ċ[m6*ap(|}B֝㸓cQ -Qbb* |bƳ(V_MHX50*)n%sߝQJ=)[E/|3W41~oph/_mK1BGP.`uMerq#yQ$  O9RYM,^o0s< )LEmqHtGI~ͦ94DnOmz-wZP '!,MpNxapޕZy>0uY@[&Ǥ5qئϭ'/7(M-{+=J/"ʇ{=b'bm{eFM y/VW΋=YFPDeT7,J={DM+}ToT M_7}Q5{YP6̣buJ_@B [h~1Nic.2{5f>x{ qέs>)a@{+Jˣ%` IȾC}$DV)H2"끠R7/(pBś\UCTE8]!AkW,5毼p\%ze_yPùT2==a3e ⫱/x2›Ar:(}2nKq& ?(B?R<$9R%؉[<v){=u!Ht+S'cv6-dOK”P.L,lzr42iZ@ An|ý&k$/Q͘TQ!°ʼnsT)0k#r`I٣e%|LZo8*D+ǃռte4I@{`k *2CN2lZhwV . j`"ߪ-)ZAxN usrɦSǦo2N/;zW7Bo4s>1Eb_SV1 Yģ&\"y@=%Fb}Î f@ ސGJ 7 0<4X18Wo-^!XKRIΨEe+^'tJGb _z1Ӝ+T:G  D1-[)X| nTX7Ho'rV]Q};s^Pn#۠JL4IAvހ])rG3Y̊x/jmJl\<ȷ0 y)}P`%J`E0eY(y>^쟈D9L!n E' zn:GLC: *+_$瞩BzX\O[)Zr\}KIP} %9g}#&IDS!s8y&&bE3Q"O?/rCO濟 e-`Hyۉ6E5R|"G/9=rFө"ms6FA\Nޑc|o/T2j`5hG[}t DNxhUUBmחhe2ev &j6\V0ɬĉ(x8V2:Sfy 9ڤ|e u@o$0q -}dU>d=?j6_;6N;ju-X_p cE%km07Qz/`,"ݲ8UO[MhgRG後hU[Cl>jW8 8w' =āܝj$7w_8`;mڈ~@iL'֮ kQ5$-'ϖ6$Zز^#)@ ˥\^L6%J,L>ny Y0BӦD黶tsFvɐs.Y)EǸGEȠ:o $i#.]c*ţ02 I8`\;eM %&cBhmUvY;KG(3SY\j2tEL VxU9կN:uE2&=2mUcqQ*"\v֭B3q >$8CJ-N%-cDäk~7Dr*ӧ j ؂qDTz%"gwR\'{iYkHme;ݚIe~^ɼap>E;0_}, &HL=pЉúh{'tUkXLdg nm,?"x`ZrP2VA; b\6im@(Vqa;I@֐n@ eu}Z|7՟ ZBbtE+Fv5[C ˆћ)%.~ug?pZTa8% :Wtx 3Da]Sc%/LHnSj[@Kc6nkd{gH | 0ɐGy<,5[h jqig\Tѹ.+G;k^gT'*_c@So B4%3w/* 'xؠF0(>R~:d`gt…l([ƀ2 l 䎅hƷF s_wپMԯ]PM F\ʓbx Yu8t {۱{ě7e^+LJ_BYWdw߮kp+c6݀`w.׋(};KGuɓy wNX2.F[/ZW\` i+@wt\u}DFo6L6 &xS"l`r":!t5Z\L@ruzLt0žTg\6xXǯ{U;֔s-Idj<ۘpu߸R=nZg-E4KoEAETCK4#+{2R"|jbƽX;= o9QYb/¤ULj ^) t&jNn)ul\-[_90P*QV3M4+T.85ܬ*`e·kfNQ#:/UF,kL%SjJEݐI;:C@W=I8Ҳhdhǯ+cj9"SLR~ED[YX>/3@YHגjܩu k|Z4L"N1UX:.tP. d[m7APe|%?:gbWi@!NH ~R1Łql,.27rfY&Y\7LpJWYf!J=C0ap|]RXEb @r/ J9\2L"< )afEVv)9zi7f$97!\8DF20DS7`r" o-l|R_DWsjbgˢmgy ᴄ#LЯ.ulH1$;͡0ba>ѵ.J9:PIb*{f\pO4ԙk I{({"翵iȓX= 3/K֩0qK}-L}a&dGeKR[rirV"wAo\>$TO ,*3cHU #c J" iZtK[&^{ɣ HZM{;R/08xYZ/|+`py9z|v>:Z϶5x5i|Ũ.]uV*x"hhBp_M\ MVPoΣn^#}ܑF<g|0r~)+$ Q$+El} @VR 9>( (Cymjq"HdFy(C2O3 0MxpzXPQ&> jY%?;;aK ?ja3;D=: (#OA>ܒbNQR!o^A!B)EQpX @(+̻ɀ-X$%[ P`͑SB  ˢ:zwOɣN^=?~f%|Z L|V2kAE?_W_VǣH"AC}i:9c@M4wOgqhi~&!dRGM3Søȫ',xXCw{ai6N}̉;.:mHE;4G]&uO;Fe~RiI.uП6Esv"2:+{|'':s|vhKn1ѣ"NΎNF5>YN%5v/k~M*pD[Pxq͌+drTQRp X>.p!CT Qvբa'=E 6~YS $iÐ ZF6MEaA"yN WWvF*EaPinbUj`M P QLɡL?V~Tom9288/?m}0; cڤn>ԋ*!B-f#`C,l|9QW//e%xG1IO h%@o}gQuU/iIHs": }9T'sMU6Z8(ɸfZTk;:zF5|fd ױ[69M ՇC5!9Q 8akW̵޻rEt Hb8M۰,VcC@7#R$7!Y j'O&6-aX4dSqy+&*-Fk+u_Y0-.Y*.L#k+ pD  ƃnW(9'Iv6ZI(SW("z9r~p#/Sxxla|Cjs@y04S۟0 tظ%pۃ(T%ʊQXќ38k)yO ۴ \qV&KTD=/a#rT3)N#SVcUvŎ1$(r\7e3>;!0z59k@o5+DVO cv553n}ҁ*{ISmo;, Şۿ*\fS%9,W٩f ȞϱQ!ׯ%g\Ar8c ,=&gnQ{V^fyjwG G!XwTX*,1 &z6H] p}_^:*d&3E.1_ q*,,#>w<V.\#5G* JX0^w.ո1#7KF{E1\pY)֧zԻҁwp{.ZN?<0Ój)D 5 w#wjjP!8pL&NF <8Oe:a븡 bbTܞ y;hx+a%?E]QvMq{KC᠓ԺT y E>4Uh4R 0xPƯ7Ln$giopݲnL.5a3NZgҠcPh2ő{?as#se V4'`Y2':XZ?XUW?H˜5hƬ^yճT(zxt9L\Ѹ]BN;{HoJX&Jo4؇Z2LMW=lV8@*: {nVͨy;=I/[zh륲dg/OL<{aAż븒 ahn\N-P%4K1%TO3ơl1p53P c7_&cUD9Uz:Yz2lCg8rmWm  l¡5lݜ4hR^cE@}*4.=d, ~ E,=gJ.-b/uvfn@噵{HԎjfS3n'q0 Xk lVtN@lSE03])& @l&@:k%sRDy`_]̰I150n"5~ Cdѥj[Z ۗɧ@NDblS?' ܜ =Q§GV>wnL/QRƢ 9}VRZ9+N'ϕ+tu86쌘߫גּs)_ZorU*1D8t="B&;&_::M^D3+mmASps }+ڵ/ZTdx 'sЈfxs$^fTwñ\'J9 yJDMGwTQn յZ-GW=R-3 voA0,v_rC7jOv дg<]qY1^qfĠ Wzͩ-aa+WmJ-yx"澞n'bl6 T ,Fʿ+\[q|E>/el+A*Xb;iĞ)K~--bԾveEqˌ?A&}>{=U4og[sQ `s%SDf65|;Fn uFP+DЏ;5 QQE~-DK>ÁM@DXKo8/T!L5 FPZB~Anm[7SإvG:.Kp]/@+7clh-`Hm3;m۱! } '^R w_;"'h0,}gKWC[HJwK,oS LV;TK^:4NƇCg"9sA#TC tKE|`毀&՜}9)a@ڎVbUDHd5i<{KءaQ |U(= F{s<"k*H\Σûk ]gie q Q%SdREnt}R&1U4Q xy 2whƒ ɴsypB*^R7_UiN$6cg-R5hx4"G.B6xI7>]r|,0pִO|S&)wlŢk */>]ls`x-1-BM+f7.,q}qpI*"~Pi'}3@sZԘ[ݻ!ʢ4Y|AEN]E?$7ej|-&Nۑ`ug-UifєY$}XhX&C ͭࢰ5Sy8λvX8?^Ut0,8@AZv)q@K3\|"B> 0rya *@Ug&Jٸ/EnRM2n01:by,Q:oBJnN5') [fUq3KFWz0T_=iH):qF\Y8;XyUئi+kR%͖fχ%7*n{U h c 5 E'9LA]}9A.먟: ]Ynt{:✪ M[ )X 2 Rf^ZFZSlEx ΫϚ?V%u|_$(2#V~Uԁ<_tAYhs\)7F+L4;܍βE|o#esW x~d2|SmqBiwfU;d5A=(=/ BJCB&.2?hBan|Jg͕)t(dw ap7A10'XX3A&A2+$* $.AT3rW/#Rȕ[A9FA\aM oGn9tZe]ۙ^ƒ~Gl`O3 dCiT f73һtd.nC گwl<7ZzHA*'RZp~קi1g3TJHw\|8m@JH9 ]x0SdFc`Q؈BvKbxyNGBKdFW m|G諟iedHF[UD\[d *-Q߫Zfj_uɄ;19ږ(L* ?w7J0J>4V? ;a݅Hx:ĠSڹN`&}MDOhi>: VHs_ML#]Lx%" AM\@J~kA#B1g InuCN)+Y7Oȳ9ua|^@O /$|'29dT%lkc)o;(Zmj<Ap$5(ѓ|{TSF4C_Q27$cu UP;)Gk3-{ k;=gqsLmIWcjl3H{.W6SU5`f1{[Mψ#д y%=W^fRr{iȊ3qAYE$_t^RXPU$3Ͳ8k_JwodJkd ds N",H?_- Оc~N/"9z8 zep45O)hk!m"ӿx ;ITzōyF#ն({‚O.BM7F zI%g]=` &kG&@TOaǟhSَnG΀wksM5 Ew[( Qg +D>KXfRYUs ] $T"p@ $G*ۺZzG$QhO6&ճ_oFцj֝Q4'nٻY=6YGipCB\+LmCc{?$Q G>Ky;<Q<ǚO pB&n.)4讻m,o=EKIkRK7C80#av[=_`ȟ1rATpLZJxX,DDhy"AK/ڙxۂ㤵A;&8k")MTZ~[ ;-_+)fN@44ep/| !dw{f- xCaVb4 E(<uY (FR]Ga06$K|3ad\=܍|(9u?rDO uvxXd.b95Ijm9Ll/p 6DDzƭ`ՒXk\Oo+Gֱ?y;Cz^ڮ,6:1 [>;m7>֟kӀ 8EѮs Ҝ9ݚ)E܏u E<"TqڗƮW1k_EmTޛ!N.yw1|,@g9/ /HhB>Bqsyw_M:9MS>dxyaNJS9j)\t4:.؀]_XNbnZVmb/橞Džad Ӟœ{Њ V_\a";I6W?!xh\ȴ퐬bW{?9#dP&S-=ۧybgBqA/$mM)&#z}Ln-r7PTCX%Au#g|ù|ҽ4}ZZ?gcZnϪw붨0 20}K~R3.akc<_ziMq 3I{-y8|%bԄoCi`X֔K}(ÂDJ+aWJ6+ЏbRp8m>3٩icث5\@83nyIcn,@膍͟)q)TZE2Q~$u+:|YR`8>fj)4KC#~h[ARxݼn+o@<twa.FW(~4I3X FYY̿Ev] >=ً*!1yoxZ 29i3VV'Ca2ES4O~Yth;.4zXpGTg" <ʧH+_ՍVŦ '1{ FNBUK[{ۧl`=.ʮ))[|+x BwQ}nR :z :v^+Tz1?G0jG*ғG2[itθy\T+mZ$=e/AܶYrA/X 1W |NȌDNjؼK /}gSWNDF_cq$0wc+|)KߌBkY:s LRrV*׀ƿ:3]X?cDY3k.6j#Fב- {J@Z TKh0T SyTwtFYMB";<5+}uΡ#՚c="{Xj#j =a搃'ʎ٨.ϊϻ "4"/ݻHq SjwKb~]]o^$dzKô u1+aLZ![x\|HxQ{ڳڎ߳!o~vhe(fjAuέ̜jqLfdJsai/u eXv~.4[f܇qP# ɱ.;w!qеr-ya ޟ/PםXtDӍr0g+a-+rѢ8Q#Kd%m+3!JEœrz}A1X_HN(%(-qfk>HglW >~ ƗQBe-EofB w.;2Q;!dshB Ep%ImrԬʔgw>/iNetJ.B;0y7sͥ!tZ'5k8Xoi3-NZ6UYYonHŏEW?Sц%.%r˯YV Ge7B#t:m12P$sPOw;˰kYy u}*"]#,!@uh3I k)9 tcsL>2 ϶9B'ZU7 (& [pwPoIn}"5ui!a:Hʃ⑝};lLy>&Fc=JZfa Ϻo٭af/O'0|΀?cdr1SL:9Y,Q &44=zx*{՜@$Lb)B|ojEN%a3&Δ/]5)SzwU@ig*PQ٬yiz7ڈ#'rFIG8 ]؛_A[u H {-F&ޣFy1uv e`^5zfLAIux  HǶ>K|`~܌o4eo2$Wk; ؼI~)luÒoKk\붖N5OwrRgV?P^vĂ*d-k(h7!Jz_9ޒ 1*dx?zp]8>Q^xUxuN@pZϒ NXxa S:UDvFT=کCx~Ld5z K{(_rAEHݲkp~_?܍rpZ'(nt&aL3Z[l&pbLu,Ȥ93#ތ$񁗏C툄Ѫ)KTsK;y;a_ű\p\Iǁu6t-pǶ / 7 m0{Ҥ*\+-֔~ Gqݐt!?A C/;M[\t_Oe/z\3RX۲4c4RĜX<}=mXtarBA< fLssE%ng:T/nM(_Gd)O{?=uW3b=z(@̉(&NթuИ%n*cwR99'~e%%te򨉰Km(Bhwc<0ֲ[T^)2?Lsٱe.k7]l#cBQ]P X V.\wG6Hrn/!k!ts,m)N-lnC\tD\X q?LQL8"f2J_W78\7#v ϧEe_v$vC;4X2*L9,V.AeVS*0F`,^.:dHOTy4;IO$D6Z c%1r5qAm̓!ř1{rī6,:+6%:'`N o'3\98C佉!@@*ڿ$"v fê P5vF=mkلχBjY, Miv]l3z&)"Xu"ɗ/BxL>۝XĞjK=aIRM8;>~n6l|!?-q:F(uPScC7f$->=.~|luaw;s`o]#GN>Lb,Mt\.zu <4Q¢9v.A0m@|V" O}!Qҋ{7LFrpVWt~mVB:A]iZt3t "<6 R1t‹ҫL;BQ)kX%)]:!Xa?)w9,4*""P]t&%_~&Z3w$BJ7I-\w@#:̤Rٯ2ALS]bk95?`Wc͕z-w qbLbd `~(1Txldܑ{e%9,1~BwϮV7E+NӠԲf~l] z*Y#ԓ- 8[_;I:[J•heZB z hb"KZP+:Uvo,}v$eU# ϡHZj2ٛ,3J̲2sQҙy2Q00S~%X:8KR 92{`]P caK!p7o=6"<Gg" /.%X3N9z*Ŷd?mBՀĐPꨞ;xnL ~[SEw3BFe s|[ }?sIɂWRǀn*F\beg"GARIuH(^E.W K+f'?fp8.7`2ܣ|ฅ"4ddӺk~y ߭E 4*!lB`#J o"3o/EQ.llJw36̜b|0^& :5ާhp͢'I/(~jD(]Moax0+UBdNAvfS~7Wg&;O_n~e$ϫ"@3x}kG9؊9a!m{i_, Y0\*h%b>"ă7%AX?% E~||$~%ihyNHʶOI[`9 XwC^]=| 3 gpl +'#KpxOt!MV/ݼyUPfמe;rxxP7C `)c1^Y`P&A*gsr6cZ'5kdizp 5EX ж] x8FpϘI@ZuF󰭊^?cYt$L_5 xi 7[m}D*F>7 q5%![%-w4]3)넫[_3ɧ|: 7V!PB#Z{^ݝ-ڏIj?ȿ*lѵ8IfqFpp8! gQ2 !k(컌kǐjDw\^vѨۋ1` PPcŃѤJZhAB hf6.@QsetwJ&@Jϩ^rM MQAUzxOMY)mӉ1(X eȷ\G36TO4rΞ. "b|¤,OjLY2l wܣy<}fSl=>4cx7$'E0uNP*2㮸'j{%I6sSpu -t+3Ѥ? %g2aTDZIRLoBRUVzl[v$ٯ65|Gb8h.~U[.#U=W6J蔟?h*ϰ``5:c5TJ w k[r<]_c0Yސ”3ݒt`Qw!b)Df> ,9@e {f`t͋4Qm~Kڠz=.sBNTokż͋Ԅ!ХY!AVMpc\v+/g%-}0 Cl]Fdz,f+ 94)bB2]@xf<别d 3#ui|dseHZ} P*FiU(㩁C=G<:4۲Q{GwD'ݿ}8j|񥰼=~vI1#3PV+^,Q؋ 8(\!X9j*HO^ `'yT;H‘Ix*EKm:RH!3? -i/L jDׯK(+Br*wA:2r]w`?,DºR>m =aL̰#/R$2e$:B4g퓾*ȸ_ MJ%t*@-)(h_$t:W?v}WeB$qHz)wt! jI@~ivk~kr7(-0<8.(aE#)a"sВի*i-d* 2ib E.EϤk; ᗋc)EO@HB!3"Mv`P X[Ё>ǝ1sP3ɳ>P{djg8Q@ &t21nw7"8ſm^mDGY\o%,qY,OJOC(?03zZ\ڒMj7C|c:[bp1d9MhÄ9$[xd8Z}x(1EwpJ i3Bݷ;r'X^ -YF#D4ǵnMz1Uҝr<t ѱ$%>VZD`(B}eħ,]<muRa!{*2^ ]}!Cnj|[p‡Z&$*%P{5mOԁ ]y_h}PtRr?B/lPP^Fܢ0F<9҂um}Šjł7bX,?Ov*%L` Ⱥ @6CRwOC1V4Y+EODF+Uʹ=LȻeG&NzEbI<+ f(.ZGa3*NmzF U>οl O> Pm./JlFM91- )|K[tX,Cuۊ]|LkzemOyUɗ㵐Ю"f/a{PVo ^C*ō13BYw;~b3AGN=BΆuqjv%@Vh֥sJI0WHǪRVA$S}">D،IXmKyZgnUr>[t >9q6=Yႉlҹ͠wlHP%o?%|mgCԡ Xw;5q c=Z3QLޝ zd^l[J{Yȉ[2XPSp[>AW eߔ߁`x 6Pz_ z|ȁal`y圠ꕏr״+ƅwQ@,/սA$TA Rj;.N7)%BŽ%Cq3hwg+?H0y%J jRqlx= X ZCv/D6#4O1>e] ʆµLo=oD] D@☙سoiYQ4AXUl(Ѻ> ֥à4Ur,4yqۻk;╬~~maְPgj떙_fɡ#[N.\>Hk^_ Tf`CGh]UD*[RsSN!ȂvJB%hGJ8ȫ[+#]̖ mC>"Ԗ]37:l j(oE=Gʜ"8!|ùyXHP*6'!mw 8JvucCZ e.i$:k)y!J\8. +EuW `H#UJ\u $~P?ߢzFN:BV e\%Zmjkޒ0ghʖ;U]>9Z}_{ zaY=!s^-Kۨ 1hͥ5h+-U#"*b3,*1{ARHps)nc3x.#L#Y](;@taC`FTNJgDyMlcS0rĽ^>䇷8Ot3Cv= _+?e}:2X7>JБX%+@b`FeieXkE{B9cO8mC)w+L$3e"f;9X0i(m%]+d;tT_̄Chx"X 6LC[7_Bӌ =f3peyI9[vC!Z^6=Ba䢚8<%G!vUQ GnKxdbIYӃ`B4o2^+0G?7K)Ix"#Aں G2gʰrg(xO&J{M< ! 4cmϲ)Sk[5w[\{Vg-N'v/qGiB9,cr>~€;lԚ]S63K}OKvሀRvAئIyp2BN:qX>JY8Sً%Zp-ĤQbbPo֣9vY9Y;;ě7NT^afgZ^jeh2/^A1 RK8"š'B-v@n(L[|oNuCl*4Y1{%;]Xa *ai:!b5q#|9jhRvlvGgf.DweɈx&s3uo\2-7a*H/]6\3DSOv{^r?wEQ52E⍺f#-͜Uʐyz/xow A:=<>w1sЛ4=%;45^ cp7-ati%yq@[ˊ"D܀ɩË{Q|bF_+x7hy۳fC]FGD+ŎMK[?Ǝqy~5B/8{Oh|ecWQLxI#[ʉ6/$ O\E z8ow 2J>2e72(60Y3 ;QҾIwڂBס:R1P %'(}`E?nT;a9]nbQwz $͠:gMLFjul؉ݠ=@d_h;!br "nף$cx_R^n `~]N$?'ӝ_i':]^3A+/#X?R3i~.RΌ 'ڰ|ubsb_3MƵ{aX&q.i3r-`,䆌U?i `Լ~}lժ`aS\nG-lg+l[iR-joW>P( 퉮kn5N%RGsx+ Ct Kp0 -,̺ͦ{t 7Vwz<*44N89x&<4r$OTFu,ONqHr<.$gUp~   #w)\(MRs;.rp;n18fe1D$XTcc.rY c#@G}78/NE U"n}a޴Ha0Nk8kLN8FQ7椪vߋ oєiw@V'}gu1kHs_k葧ֺO8fdY}5?9;&vgs-µbZͥi-Z =yխ úZCQiX~U[٫zՙP죸ޯғlnĸ̊pu*nerD`{*iAY[EvƗ D鉈-AO G`Vl" c9+TeGDSot1oJ1leܠٖmtt|>]H\"gAM[ކNxGд2ݳgI#um2 {{H)nvqWjлRf1na֪SwW}QlqxLov"AqgvePTH~Ñ~Rg[,3 Ul 5k%\ɃɞT{x-5n'!7:+h~yX҅SkO9aA"/mx,:\`&:XWیC9kQ<_kU$* 1RtX|g\֮*y-XSY C$v<~@Lпim&Ȕ~;`~f*MC@?Yftʹu~A$_}]Hk&6 -)JyMG&Ⱦ1B#19NvK%~ݗpL`|9Kpen[|=7:~ywQ+v;;-&"]̎\1odMp֏Yqջ9Xݕ14 O=FRHLBUJhRs/Gٯ`pwxN$E;ogvV$g.[Tz2T/He52l^ߠiBIev'^nsiI _T?N䅝f+tYH\oJb]_=x"{a ڵ^*O[Zir(pbEp86K*Ō 5Gv5^08:X0psK!iªIkz'Jchb>nJLQlo8H ?):wKH "4dCmx(MD:+#S>cLJqJ6Wҙ2O)BڤHƔN'At>^|2(U(#YHaP y"Ϋ;&~{N})yGu&|) čgb2䤰0>W &?`6QmPWtى]{1-☶蠴Xfo=7dq#Qf4 ٲ^Ȝqe *W$:Or55 0H&bN(hɆqvSQ( +蘼 ?CЭcBCN4#1j7dR =%9hBHz ig<>DS~ ,4\@7zUU:i\mq-i ó眶);|LLd1rm$l;.mZ1L So.1ݗ_nh&p+Peu DaWq2^dP^8SB`S|p. (,و; "*EA3 /us`rk ~Si>xnOUi/IjWTLz9r`G6mFZO>=N}{dzD!3#^i|Vդv3S3}FCcqecV.}c3X٧VsqwW~ "v_H=. m׎ܥ#D[H*_ ՊfAStn$z @_b $TJژs$(<;,[ZpΟ5h#)3Xk. An cN暰xPE"?d{(Yw|\6nSlU+jh\}C%}JC>"vyx~?c+(3FUr8l3Eeeh%fF7 GفwLLw%;O鵽;kk?([( ~BÈye(u"`xPAhx.7Vߡ.+#E@]ioZmqfnC22 \VR;n Dn9' _V/ccaЂ,m"TBMOa8%Iئ?bk;8 5Iǧ?/LzV@+dh 7g_ f;FC8"'.x9Fbp( ©YwlGc~ޭ㸪:X,MO#в$~ v) ݘ Na@μtwEGb_3dE$ҍ QӫOk&BxĜ~Q7$yH&72v<|IH ]J1q]߭ygX"|EcYꔉ`7~z#U)K6'# +냰MW'0 2| LIG3w i8KHoQP&=i1"_ɭP@+9{L-L+GP|<5nކf?ʊèvFG+lH;dnQ46#[!Du>qKj9/^ޏtc{3]Q*?!^SB`p>Wʚ;}^my8$i/33T: >훼؄ `Zo7 Q'+w±f5#giNݍ6O"C95úS|ǵL {9xuKWhaNg_kàN(AxVSc>&N2^Q/w#WK'd1!' V0u椅w <*_l{TPv+UɧFc2\BQS/ax|ŮZi|2J5>IJ?@(FTIcȭ[-fӎ"OP%ES Mz)>Sc M{o@wG4; ڰ%8C5)eσ- ?-EBH\˕K C9re ~($ ;dԋ\3r$1޷@oF}keKj?QՊǟ*JSW j}1 E$&A"KSL T>1/ZX(aczL2n/U2]xV{~$-OXĘ29=@:7l}$eţ|-[Ypzu8Qm7CD@m\Se*u_wVfs}6Z+?JcL ŻEA5ߟ\/tai8"ͭRe?i5Qʃ #A 6L?gp`e߽š&(A/!a;bNn(jp2/'=!x{+_* GYc=m9G1lwޕ6! =5\187UH5yuu꾺 V;kdysY$DZR hs/KQ D _̒Z 60TFGĽqUaHO 7J\#vDɤ8fxj VB"o @e+3l-O}(cwӺx]Xϛ(;O\G,y*˒_|1|ώl(ٽR."yqLW²,cH">}=zMro q oE{AIvf'jɂ0D6F-_x߾٦kKXSwڰDs9sLJ7gci')|Pqͧn`]bkO;|ޡļG?/1Dפ }G~Z?Be~qF&I:PEIF&Ѯۼ 5ϱյwrq曚̉,[IF 5'?@BRBftMQMC dDd6DU"cݙ;;O :PC"/swG*iҵ7m"",/lsgn޻QT?{M9Y"1v!6P; F%r=4FЃPZ@srOA;/F>c5^.vx^!;cxH>/}*)^c7 :֠l E@#wZk}9l!+v 䟩lH~ Ê%2:in&&Ťuiboy d)YE[77xW0ΜeUڞ 22=?cv5] uɻꙭx[@S{ئB 8wlN>ZD%*7ATRi,jİ|kӦ#u[ֶ?{F>*VٕQ$-bq9]+;f-N=G.{/$/F( ~'!] T2M!g2 Z }:;d[&-gzZa@/bA(!`1S#5Nޥt -"gմa=ߵd _{LHXceiJi%RSK-5p<~sV8u. MYagY7d0ZYi𫇢~KA/ĩ&*,;9d>gOb-K A\qO Ю͍eeZ)L2&08DwTEr(Zd ]f3KΛ&<ɩ^-ۇ~V`C9歷9բ_ {y,fYDc0pd;2YHϊMYd\HpEko~G ?fJ>jy> f7 9{Wzӯ!*ǁ/A̧/EM~"2DLvD/$g6aENw,'{5ǖUl@"A&'OSh#UCIi4xbW=s-ʃnC8Ȯ B bu_Wp)2K_q$>7>$ nB"ٚe``Ek}7FI${2BmmBݼMBşXsѕ1`X`6T;ck.zKd'*\U7i{MWq׷5Y p*nZ=eS ZghPl _ul\ kr飀T 'miu.^@%]+bL$(6O#DSOI>-b︱!ʐ2FjZ=~1}H ՛%?߯3Z [D hNyMjM `Tc:v>ƅˤu3tc!d=U':>TO2qFq1M!ʯٓ!ތ횆= xb< .g/ɏ8cInQc:(؉Jώ>[Vg"Ȃǖ(ȞrUFˑ D$։O-ת)3S[>^˜ _2g%j`]ܗZOIJDz1)cƚ~X{N̿P Z'&j;_x 'BǧI1?^Ջ07]3.Q4kCGE7 `z2uh @$RW\ E7X} * y0I*UaAıE;Z3af27\zLNy`{SF,7b &﹢0k9wf[web+D?#fc'YFYc-yBȺrҡ0[{ǞR+ރ hZ.+LQ#Zg r~T 4-MAmH:#K]3|U캟tjep\m%:lbJ4jWSZQhbs+.esyh/ٶ!)6#Х^`TGpJ9PNN  y+*70Gba%E~:bqeK؃zp!3B* SL>B-yЛ %~߳xO* _y`zGtH߉ kK <  ԡ+-/da`v15r^cNnNJi ~UV??@Rdxp+%ue~R&gI9 <Ȋ :Q2X.¶,g]}<4<ܤ~N_gDϜeDנ#l_J 9]M!3Dw d<ϓi"GtX%8tj H̓P`^_űkxMRG"yɹp摮К0"Ry/?7M>lWqo%1Q|aFf:J;/Bh+k"?3 _w/sB1Wڇ  @Ej@H\hgm,HIVl3|b :lvIt&CŪh#V^h&/8srG0&-BqfO7OE>fuRG -c:tr#UdF+S*aP+3qǢɫ"N!HD||< KFoyBbI~ޓ!HEs02#N:M.38s]^{u1k Lq躬w~-%?qnA>  "4^/Ó @Sv䜟ւEfc[ʽ91Q?c%oW9/m k9kVNqyPYtU1I{՟Ps҈<lI󇁏#&(׿qgY6J06%jJIkNScޖl6X늶"p*7m/9L$$7sː7[ʎ.?=Kƒ R:r IM!o2OVQq^(M,ݪAN*'efBp#t\@LA1.< A[Ꮰ:C۞9?m=E$Us{2 fFƅHV yڊ}5 4Cx+~>㮉+3w,*쳨hmrƻ.Ԑk% ӏifߩݪ9jkc3p[ -HO`}E8PJB֤$qhٞ iFgÌW !/Q~j9q~ Gzxsf"`UcXtd~)@ t3#9,7=xeW\:Θ^no:OƀՊ!Ven6P \C,ȇK3;n^CVf]' ݑ3H=r7 ctdҲ"֥L=(KvЭWmvg>Z;2D@^č/6Rmn09v`B6UkKwӧBh>.$!1;l @Av%$# q+t zUwSC̀Ȱ}~X.^ܺ2,"aB5PŁ|yuo3'98<8 * ]9*'3`9Hm_~|wPP(w׮'OK@N#2N45g6es P V~}22˞`JjX nm'*ܿ U~#beru3ND݃?C ޗf$Bv,5з_A?gV :v#YQ*L|,?4W:}Mën 9(HX+denK%x4b+-3 EʞnrL 1qn Y&b4l<'7Z6M>2KN 5(iDP@ôYؿvEu~^q3{{ sűTס+L~5Oː/sZv! h- @l]aJe\{lC7Y'`sbmI2]_)m#<Lcp%^ Ã0Ҡ7?SC2l! #Y0)^inyys#P4}hCKk}o \3hEyYfxr{5K+ ưaXZPg{ʕs;m ko\Ix:b=|(f$`ȗ'2YjGGę I>d'uՓv%2,-s/::pA`Ӭ6DW=65`*ߟm;邴8wZP }"&EP#-_JT5)Ȋ9sw i[ZYK.k{arn/K^C_B-s2&M>+Jp…?&jΗ4bJ,39SBtC8SEOmM@HVYrt4=^cm1d*}/߻)V1o d׳=Xvz9N'ĊGMa=i 10 .yf3i^,W8Bt86r!vm}r=Y9Ӭn6y֔9O]G# ]*ovW0q tЕ4LY5sV}I=&Iǁ&+>UXc .|O[ 5g[$[یbQkt)MsD v~Uwz_1,sʐ]N4l]s$Vb:+2ʆe]GxԳ]j%fpkmy/ m8#a釲m`C_x߸-Ͳ3Gxb)Pm jo4eeK6,[ܳ(7A{MG&ilF=H苧 jצ=RaJ#m\ěr P,C_KDScpwĿ{A\ң N1t]}ppw)cMRL8B0G%rKsM46Fg;piP8v> bf]oa%:jTY<ڐA?%"Q__xbEgx9{ˎ?pfQa~ #%ډ?bWJ\>îݜRGb6 e:fj1N-{TknFn;^wA`,v=q5~c|R @}uQݺr\LɴemH7q{r؞n0)?~(bhI.2T)s xa$'h7ƣ ll%K[`]X萯ae݇ BvC;œ nmҐB#Ʃ˙~EncX߀n-B65ӊME4M|Fѵ27cOѓ+gQKhG˚'2ݹ$ wVi!W<\F67oKg][Nl*`!,.$Rp=NB.ƯUL˾)g҃tEC='g{+a6:P٧0YPq6H,[ݳܚ"Lϛrʹ} ?Ge\ʷ@E.<|Ѐ&_z8[f!Sh#5N䩂/]nugR3;zWnNdbk{/<5J[m_Ym9o9r.\ՂQ)?|a 1_Yfйjf⑍;L;^W7q-*PgUr/+WcгɒkFé(SڐӜ|:ǡ i%{p %E_gT$/,BҽL% *RkYbv6 d=l[Rګ0ApѢ?&7Kc"\obС? "/EY(9%Z05Hw9b>؞Hʡ<;ղj+̗<%'>*_VfK ( ʑ)W-S +0V rp=Ho՘bx#]I8 ŸJu:l9KbC!?SG66q3>}dap[=n"at'N$.뻙3_BÃ@o #zҚ0i|,sf.lA˘Y2r(Bzr·ɋF~EПpz rDmi=qf liUnD2z'}=?? /Q|* eE{ſh/jXCɲyBF6j?NEFґ) DJ5]FIo#'ۅ_L[tYqMA]kDZ)mT Eρ% s&UZ9Le,ff!&&~qF~! `#LsE7% 1o*vҔ,-b]243"@Ylo g'wrQL7' tTeca5CaƊ KAbwSSCL͡5耇 >j9Ԁ{`>xfΩ&V85-8H쟔쿒BR")& p׬R]txq xAl$zzg{>,.5g;eMÅ4jP6+5Dю DGH0+Ь$uaa]L/Gzܴs\,吐"'FSEzGdjgCftv>}c!vb8CE~ 5U0:4ְ݇x߭=!JXHJ Z&u\ːyH L|p2g~_zts.qNHt;r7ω!KAWcl3AudNo:krVQ#W !z\_Sm>nVKg6~eud*8trKd%s0kr_| N[ 9ckZ^p7##"n*IH4:` ?HT+}DB)R:⇫L #` EP(Vө)5ߤBmetԦr~DװaYN x#,bxs(M=W$R[S.7rg?q6^@5.J'&Ba5h &xQM`Ԃ_Q'K8lfx:T5[yѩm(*ڙőjjBv0') ޠo+r=Tj|Qh f,ɼs>CSN]5W>kJknY=oc }Ly)$k@H6E5&,ȉ?$@s }-AVo]"koŌkz{~Yp$r@] v$gYݬȪIG.EԁrPX|]y՚7p47WH>.kƬO >7mjh \ސN7 pwAK&w0*^ic &(N&M08&}}!b; gHR(~cEte4CR|[%z<7Tꑞ>ҕjopTKQ 3!ck(\aO}o#٫| JVA,kpA\(,UH`׭^YO⩇4Mhhgo! V!WÜY5S933f"`3h{{|Y=y%H$бCd-"9+x+J"Q>Ewh`oy[XbZb +Oa NuH6QZ'9XAG~~) }gd6[O)89h`(ߓȵ{E.5DnA f!gNPeua.齻s(ui&mbP,R". P ؙ+f#,%TwEGpUKL+!KS4ENF6bS[DFkpșx1Ouy "?ěRty13xulvRn;®vO=KƏpmu }0Md. tepDw^8Xe7"_8wnwDʯ $ƚ+H3?\IXwu=:͊ :d<|V ׃' \PIΑ}~ TےJ6b4u&'?u` 貭 ͜Z ,nsѾkL;EQT07H<줝{7` L@Pܣ΄fmk'j@1k`~Q>Ȉc:k'|zXÁExRU7&N=Nխ;knNi^]IDC{VDM("A~IOCl?BY p(" 7:8Xz جq;u3l=l;ײoԌ^ƥ]u r<&^p#0ѫY`' <˛VeUe{( 3&FMO $c=M!ngo#0RKW&{6;x$gs=YŢ/o+!#O TW2R}C|(Hg1nOE)6)P7f`yٻ3*KE 1V}gFԯ^)O+L=WO `8·-F|o$KFd0*ZֹXB FlK6xj6qQN^|.Rp;U_fQꇬ.^Ƃ`']]z[Ⱬ.1Bq*boq+vHu"9+Rnw4јҿ %n*[ir=ҏz_5$|ӈW˽s[ݺ]V ^wE817Eѭ%P&A"x3_u~dat2_VRBO- cA"T}LǢ-K;qɦ*rRݦ1o o` (Qy=@K7F0>BG\ܰ$<"#-7>ُfd_x:bSԊ6siEG!.~/c/.쟰+ U"\ǜnQ|ѬDd,.uz>O ]ճWXp9_4#w\Wȁ]a11NzQir{[QenGN{{M\@|MSm,L!-ٺuUc3s*O:U)x~܇QIl•-0y;rӂ2PP4~:qk19^vS9} j|geSWK#D t$HF:r햴Er/¢7M֔!M躔8N "v*urZ<^Y,a~EkQ$Vm )FeHt+$!E-+Ś@604({xDXr;~Ru!ڛ aazJ-L71)ܕ+f S6\\:ܣ5Y3/IBHʟ]}E6:[2IPA}"EPʥQ@EM @5nBlOR;foi;{rG?+DqD`R0//)(mrE[_r\ܯkrW^2ϴ'/V!ˉ㲬Ƈuf"p/)h4w~bv"Jÿ#vUQ-Y&3CKEt^j'vV#JG_ FkJÞB7t FI" W)\ w !$m2ٽS'\0 B2;Zhu<8LsCsK܈pkiSձsnP!eTHra¬3w+qFEԣ[;' \JqēuNS^R]%1nYm q uv$4ͣU*Y<{'lꕜi(G2}7JG֧]/]!{ A83Eec^Wu,"\TdT)QFhƈ!Tɟkթ@òySSQ_5arG,4 @7 kPh KR<͏+x"QD\ʹƒbC8 @> S.7,kMfᏐڵ"nOc_ BRl+Q?Zx#ja<`m r!ý3(&.,!cp59, wN-D PR1c40ӫu-ehXkeAC3Ȥ]MxK/iʘ8X (N=tt![SR~@tG@vz_f$oQzv %?e-^Z%)AGc<,hFZLj%ݯ:ԥ3Pq$i1)k7B|*D 2 mU6`*9]= J*Tfqg*R)U|bZ-uS ݥ ٨ {)߶B9xTYU)o ^sTGgSIQXscV ،uE}iTR &3ȗkE>4_uvV& > 'v l@׿[톷,VG#0 o/1^8$ e&i\ᲡZH3l<\Tx;i:$]AS 1!;|#d@3^-'BJ vB,K3Qg$G\JEcU,TL.FsOVMk~WAy$ ߴ&)8)ށ fϼx8}UGo:JgtW< ,d *K18Us6(>tkdž<8dkKJR9ǝ %^,FV˱4V +Yrb&>- $Q 3B]Y@v)9NKn;60"3j:|*B]!R4F&xK%/}~mòTZwLдsa4t= k8\{*NoDgE^};L0JCl*5RYH Om'F;w^(]R>X!m/g RoE& R_lz!X5&2Hqa!6T{j ZPgMTrl|P^s3J)NfEX^}Ƥ"PA_˸u'\ `8J#F>՞c_FXy}㕹zI-O KIևkqy+*=׉dv">JqӶzFpx 󩓅vD)3WJI}jѼY{leIoQ 'ťō;|ej,\|+*ܑhhm<+ ܠ"RzG0tCAb$Jl+|7Ph3&wsb5όe4+w;Ws:_GV7=pwuXba-GEn|%Y9LyMa߆9իS#忄_O "=S^8ֻb3P?Y a YO[Ё8kҭ iO HzMog/  L^m"i~BZg\s&֌'XKW Ih@`/ɺ TP[ɜ4.`'I 0t dw2ǜ0 *Q=В=J$8}nyqO]A7蔨PM7$Bn wa50T<$ba?.#&6lpI~ӀcIpx itpEt-M,"8KL.[I+V߈@︙ȳ)v?+ĚϞYy1䳜aJxRZn$Z;HGr@M@0ن0O .'ePv*Fb_mywHpPB5pndo%*(xtw+®ס0Jp\&3T%daVj;nģp81#Hguӗ]R>`Z0#NEZIioHFx0nz(GAqX/bnAE@GVߘ@}#j\zhaBcMkoѨqo`t$E:DY-j`梅6A1yU1u/ z?us9 G0Jza4ESr1=: { ( HT,'wla1_J3ɬxzϣm_C8i%Sv6MAq78MC1,0 I`P5E>_zrz3_@[3c&2v:䭥8*a\!v,^1^|>Iu'v}=j&Z63 C]7/m\utxS7`K15kC~z85A"co ê6Uo2g 9i١U]/(sA_NA?Y^hx<ڐP7LԘ"ȂebCu8#Fo~(a\!U:܆ 8#vBtpE9zt%0 Q^J oX}AAv=TߺQrˤH|HqqD 8+4͖ydk jWbJ1ȱ=QF3Q~jAW@|#L'Ǖ)[`1!vs||~o1L`Tj8ҘY_ұC˒ q^U R#$mlcIdFM2{9%bnCv=_kK`RE BJB7fK9^13[mj5yC+hc]cQMFW2 RuhimMvO"Z'n: J~!>ijml>_)M9+nDmQ-01e;^uV@pu޷ϭ˘aV/ŁXˢ|uO7^s&T˅L$*HztJFPcZ_]pÜE\AÆ쭍_0ġ7zՑn!yQy_Gey5)X6ז(o<[!rպX:ئWJ{+F=b䆉cioa0C,KIp(AeHjϥrɠcE;v?CaM\vႚ]8`[yI`rIǭR0\! Kw^md u;; GY a5vpm)T13W {2`{ $Ք39I/Ƃ\Y 'cNGt!F={\zhO^)v}'Heɑ_I`83 x;bӧIMyWv:=\#1gm]ۈM(:^-fm V\rhJdgІ7XDitMzt 3r HY^u~`7$ѣ ,K.Y"" ' Zsq"0hl]LQ*YUM֝8~+?31q:Ϛ+E2L}{1{t5;D*RB*8n`"B39~kGLmw7)C¿zI޹OOL)wN50ʼc S<4+)B6dWWJFm(s 3 (:Hw{SSK:-)C(y@>FgOjlOjJ*qJ?BftPVEaͽ t)=|#B)^DcjJ7n;g{{/5Ҙu9jet>i6)1ى ;B_[6xje`ĸ*y^T5#YBBiCfzd7.S0 CIp(8.7AFhz#^`ڗŕY}7m_=e2]RU0C`R)al7鸺U#\$ 1J $gNbq:CZwxhz/DY%䮙w`fwga[ -Ax`v:e~2r.F1.D%Nsۜ%6]{Րx&& G@аy繷gE '14y z5h  N;X3]ӁvF -b~Qbn$(j%l}E#;ȇnF:`#wruX5?wMZ\ϕ1I>=]|z_߄7 4[JěH]B\S_cx|8}a? Pn}Ow[QLVIs/h+{DϨ\^cbYtjYPo8`ӦxiKߨ G9gcvɀR 2\EVKtD=󶂸 A/x$2>RyJO3hBiF9Oz,{6 %Kᘜ_5b n|e23v*٬.VcG??i((I/KY8%͙4j.}&_3eHL[=0Je+dV S/lbHT 8ے{FsU |_4W[XFuvz_x{!;e߂8?8\Jؑi} =Uq4(LbLu$bm'ѕ13`St9ӦK|ϼoۥkyz A Hu9/W2r#\P'Rl=~)A,W%V|$WNd5N~!u-.Ffw#i( n@2\b"z^lfSs3f-*٭;MfGjS77(&ݟ(e$2J~3gI*ĿC"jI洭{ »dWI|棆O[;ą@ q>Pfr/b.#x83@ V(qv +>@U$nzFEa29AݫTH%%n.O4&Zv'{[ 0k`,MXwt[ywBYc SyJO;d;CP&yiB2酙=a5de[?[F#$ ̯uֱF j}ȗk]3dr% O.)b(aYJtǿTA_?=8FXž %:ޱcs&j>xS6zI oE,l@σouTmJmLѭ*/foxmf^kW~slRJxoLЅh сԓqI.Wʙ5ɸHZ`0NZl{$x! 9R\IoE55,;{楔Wdn3"$)9jNuϘE_z֤p3xOZ~8͗s뗈g O<,|䕞9Ŕ։*71^w/~#bR<%%%dgޮ`=AQu_2 k~!L|-,52WKF Kg"nN?|ҞZ5 I̵qmަ6_KY4<$!| $eB0ٰ%:=7,uUF:uXOK0 cO nll,Fxkswҡ64Y>W]xa0yE$LnMS3DT6l7pr+">czt0H!1Aڸ:|Ā/}x :˶{h&ZC5(c+x.NJ^t4ggtmD%LQoJ_.T`gexWVt0>5NcCsɯZ1@7>"ssֱl,Ǡ S!e3[D1BUBSXDAMr4#|Lx / 8oAq<9'TXE&w20:Um/>lجJKw]B7~&IAz.kTl&ӳ(C6J{Xa ':"$4C;Ȑ6Ģ? X@JR;hj냂*yg+靼hd'/g|6Zt?Tt I"L14Wd2k^!5JP_DìxR&S!Viufj_8 *@ Y˱4GO\fReJ -)qB\MX`Q)Zؗl6tiã8,Qڱ=AS.!̚"HΨ%~Μ@butAdHӘC̵]DAÄ@lgo樣}[{XXjإq%>Z]cс )>vܵ/}6,^v CoLJ-RZv'5X| Ml?&bdN #[4*;8U=}0)##9{ (Ø秢(,W}j`Ytf8,'@u/j{K+\y>FXʄSAf_V $$`DsJ*( &TԟEt=vilLCJ m}fۢ6̣=WOQޑjq OS}`ccC!ԣu1ˋs%)l{Iszh& 9Y(ʲxZ[eѿ}s{d6L 0a˸rT*>:DyЇ/ M]M\R .1Nmd\űKo>[n80 .ɅG߉vN#{AܺM"y9cX5ʓ&8f'J3#$:Pr҆5!:;mB:RFiXU46]H x@H/w9K4Z=B\~+Ñ]I0o }5"9o//=3.:NԬT7ۇsQЖh*K@P1mF\ 4igxgOƦ/Y(bmK7t$v5@aT^=ҥ.`. Bz;bXPk\`mZ ɳqrޙX)((7-7;5+uVb }uYE !M\ҢE´Q?ǿ.z. U+R %\ַ2>Zg(a/xDU:~NdS`ǵ}oC 2,14񥛻& OO 'Sb49\ I (J5sR:ǐt4b$J@hpTpܜUc#u ȸp cyP2"~*|% ɺ8V]׈}[|#0S |הNC3xD6.~?2hSvXvak<ǫzq$UDHmNikHQu[avw^CmHk1r:ˌ`SX&SJJ`CICrQyD[o@h'Eіt>p^KI8OlU-<ww@= rt|(ӛޟ2h5_HcYŦ V1"GAG0ƪ9JAW ![X IPJ5[5F%#$^@%PtK(&,GՀg YޝB}!tgkB[o?3z򿅴P\{L(x3塡 |OI3é^1zB8eaf!Mэq}BΫLܳUoE\U#@OCs)ƉeByO1`n}t.5;ф-X-$e{";4Mĭ3mΪfJ ǔsrcOʛnאE⾅xN^KFMUþ;137 +!w_}p/\ݕ=ٜh17B86Vev¢].*Qk*r%$iiI*<3<[*]2@$¦9+$qRD"\B⻶6GuyXnӊ`xߒE$rƍ9g@|7 $[鮄D4k(IyiD1y~ 1衲t~?[ĦQtWI}Е"هwn@R5 T!׌,CI;ںQfi` L^+DM?_ ZZj_t_j)S ӂ 5SYaZ;ghG,!]fhMt!K<[cTXgZfpuVpG(W00d,|*82kk; ]"Q;NX+WQa[ݓDd}TMC ޾S!0u; ֹ BQeE3Ca#Ʃb+;`c bC\(iY.[stp^OAMb~)r6'oλwkKxn>~Mjml=ZkcIg' [7^q M*d&MGڍ{_ d_]ezƝ8y FWνIÎC}pK.|gOͮ-HK/֮,oۅSp 0rh圾;ųv%}ebWV)2C̮Ɖ[-I <|THtdCp Oo-c]h 1qHXsCH4Sԋvq]qd O%x>bH[ qXu|qҜhVvd;?6=x.m8s5Z6/ҨL|&"U*|!vyEWZͳ[qڃMU7G0Mo%vu7&z%q<եH k,"KQ Mۖ Jp31i0(4Pj#%/YuR!RFbNa~~rZ%O9.-3jl%`y|$p[i*BݒZ'E4J8WG:.2eܯ‡YmP3ZZQs G>rΆ~ģ_RS]_Yx9Uia+&uk2%!tw]$] ]Dg1|jv*5%JgB$2u8 b\?t[%qc[WN(ԕl̻|RF<1 ؏=;ݗqW+;~1[v$7$MA$+qAk6\7]]fu>:_Z-sBo-<8x#sA[=ʋCep0=/~/8^5  =?lL+>uic" N?-soEFBUt/^i/[v tz,@s3I\` bVP3AphXsxZdk Hwm2ԁYzE˱kuL&Yj^(,ϴʓ~4!2ӣ߉t,`)&2P[q6Z nh[bfTv~J2TیD{H@w)8ǤGb7G}+r?8h#(BI<%gݡB!yǧP@‘ALT4Mzx \i":CbϸA5վZ` #k0vZ.sT|qSun 48>,*qPJ $zQB紽{8ٺk@WFMw(`%$J>IPH5!aͳa'd M0K-y76_?ۅ'q{Yy*Zo (aUkz*M6>PԦ)@(kަrJ)#ǷzΚKqKI) |kUM.O~IIZCj|z/aϙ= "!ܙw7~5?XYp,>:fa7tyPHQg`IN-l!N)&M&IjLp"x э(P#޲>*U[sXPlPyi B|8(F(nd~Qϫ,ٚ:VBЁ5&~FdBB-#k5 ܛΥ=^aS$o(FA 쾭ĝŧi<8yrw9Dn&Jʨ՛v5*+Yvs9fOEW65{BYk{vD̿"Z *){,^-UDk86hpxy" Q!%<glʞ"c|!h0z!o [v\]ێ>Uor]4[e+YƖg.XQ=Չ=d>u 2XGВ A4[> ~v&L84bi92b/{4H;03ZP#P-iYǽ}J0 aA07 C¬-W%;crIi]Cʰr?=;2 |o6X8&fc"򔩹y0 BMId> _ q&Sz30Jeƅc*SZ9RmW'Txi}S o(GvWvQnFtioÖ,4@Lz D`0~iR5<-hoY1E_r6o=a.DF*G@g> sh׋\yOnqf佑2)[k=DYCu_J͵S/Z2%:0,ޟլJ8YZqUtvg6!ET)d :qQ]IRp5J+/؏6F8λHz|gP4A"¨hc&T'L/ɰ!"n|M p6M`pefʄ:Y* Դ{l5goiWLY)KaQ@>y'pN۪͚MC<`cq!c pބxv*QbP+ǕIj/JºTE8{!RaP4a%[m f3T\ja;9f>G)VJ79Do7z%(d]Mx< :bt|1v׬#Oc _ºSS? =*F.!lݫl..<>M4"-uF؏|$-vc1Vg_~& /w(nc;Ld2Ż)#ExWCM:}I(>duO!SDaP0zFHVC eE+Q9h4H}nOr̎ǗFJrp%NZ*T [0e:ɯ.&vQy2_3*h f+.;i~ N|.,p(9 W{Y,0v Yf"WPMf{:caR#JDobd<,^ˈ-Ԫ~`V:c!rɮ7A1:e罦r$S+Y 1d22dYMkq~16^msg;7[ne`\%xb EUUyABYT E;McfzDY_epJ/'Njb{1}JSTn+algL@ sP`NesA5NC BGEpy˄[?MXQ@/{X:R2+ LO13?>Qٍe/u;`Wti"14bnZ*QaFC<}:AQ=юIb,Ѝ3P />da*'14:@cm&c:xD FpqK,< f玎<jJ4ѧXBmɂi-$ml;ܤ:Z&Sj47{3#?"Mʚ~*;a٥ڔh"zb{7P1-{"i ߃פ 3L"e'6B!媞 "; x%oCF[Mycq{\PÊIV{ _w\p[fRP$T%% ^`J¹&6 Q|کFDEQ|'I%ZH:U䇃mwDa2[qjoUgo18, ذ?*))[oECmI74=ξ94}-Yy"Yw\zT<r}}*ed7ˍ?AJOk^gM@S n=4YZ +`'+a.sbXԪ7UKw xg%t+ȿÆ 'Rdq ܸ&5 @ɳF BF9DT;&'Bs@:74ܧ9F Iˆ0L[g\= .Hg\w&F|}ѷC :E❎OרVXOI=Uu|6R%fO@$ˎnE'nJLKyc.!"G﷓Cq]zrK'0ާÞF\`Q6nfRu`4/-`k%q_sK׫7@>Tcs Kr)bͤ#_%L/cV9~h jF'A܁ "ؚ -~`ءDM0- f8aZT9#bi綁md#_l%rZrQ6^fށIs%Pl5J8]AR8YUc].1[ ": >bƒVg(X$˖ԯSTGsdc`gZ$='.YٗܗT'"-@ӁρJ%#G0~:NN3BRq.m` %58yD8Ƈ,B0s$Z u{,AK298n0=ECHU[!'uCaoq?dhy2e/`{4?:3ZTF3j"ܿ@RWǿf'IxԐwD);I^>ЮEcZiX?]oՆu ob1A^:匴,h{=* 'ěʓ-l2=%jfǶbBz989J*7$qh4,\(cGބvSR.;}:_fA9@noSAPIQұ#sVxzJFXT`]D?l44!tܝZA0q}2dPA4op`dt =CLE9ḓ:g Hݭpp,k;XГ]|Zpw 7ݣ5Ez vL@F)O\T;4U\dZ+]muczP.FP [rN(W(T|*'(y=T &~%*^JjeJ9FUq329#`]3`>@wxwNXq0˙kAkS|q58b{:EF>iR$*A.W]8pgo6ϥ"WFyPY 8C>rNvpO6q\!Z}"Rx@ceD0hqrM=9T kNs?BTO\zAd3 cθj؊ |0 cW˩8-B''S55e _l Fas߯z!oDftBd`߳ODd+&4(^MDzUgnNv*L'H 8~;%oAq,-вa=S =H' ,Fp)y< f(ia!q(U(O[5k$Y^^ǻi'̫Gѵ6L[ !`=62P0 bZp䬂x}c 92gcuպ2DttӥYPm=3{{m@~#4C/?}0[c\+ f14-Xfݸx%|Cr屎4AfTRwW@r$ \|utpD9ڨQGH%Y[{az* 9ueQd@l&- ?t8`g50Y%DuFҿpj =!2u͝8D .lQ sY'.((YB͹nJds8IGyã%Kv!,5S[ƨAv>̻Efxoˬ?͙e>7X;ẗ́UGh&xOK^l[\~zpқi Z+3A}v^X4k")*U\q?_zNl79}ukw :ljO/Bq83[T=-aj9#¸MB%?_p wJ]>xJӄe7_(W#k}Ya5*$!s<@F&jA|T8U^k/E&jWezzb%Z@n8ީ JZ}kPDUA;R8R%"+"<[؀׈ [/G?w/e]OYz.sN0$Sߢ-m̹G$Y+~Ý5e9fCh:ޖ1W0w8'~ۜ#: xX۽SU4 ~#ЩVg\C_d'(HL?"auW{X@[[X}SĿIʞqe҈Xŋq"ߏ]`؇"GS EkmV'B-2.UIG]R"9;t'd}F@l:¦7}L]2!/O{-m'z6.RW tm40`մS:Vrw^!?cD;[Ox;#g]Դ¼)@BS}B|Dv\ MDQPkIJe<#\U؛Cs "m&\i`C%Y%+3S] XLU -NcIBX)?'4Gb_UȘW̭] Mmp88Uםb!y97n+,Mزt}1D4.V{b|d_e7Zؙf(q>UAL44dr3Zə ϶ )}^Y.ʍWpZsȕފA.DۯᑀCl=.f O?U"-9g^ݺT/(MpNo's:<|޿ZF-/Qb]lx/FH!CS UvP哑#7OA͉%cE4Տ/}@~`lv;[ll<6K >3ƍ(|fc`fU o:Pf=}Jy㢹L^hN/K+Tݭf]IWK}TmwJ^9_G{`9!:>Wc3#q52rO؀Ew+ ;19&yj4#Nߪr;^顓̤ 7ߔ a~tJXhrJq?z7C6 45Jf 7ax[̡qPwSnehI4v0XsS+-cY%}_t}yLwʣ03wƵۃ4g\ f Rple;ׇܺfJHqM^^;ld1YTs+PKl:9ՇDQrI]JR4K3.BE.v WllJ.Eɱ~0Ks'SD/S,r9H&}>;v"wN1E%i} q?d {Hzݩa#OxԘ1WHqQ S;8̞:d۵ Nry`k#TR4?X-Qr'Wi0&V 9RRWX@y)k9 Zthac!BZB1@@.850Tm jvD6Z!C x㧴uM!ϼTT&#8lO<f/{7Ǜ^YGWd#{ӧgL}h }OEZV5_zsh1HuĚ!n92ߨkI6$kd 3 RD-i/)-A%M̩r3x:6啁4: kxi,%/S#%Qd#n*R8 ^Im 0ql5\[K:Rya&vp(ݹ"j e7VNvs(1!f% =ӤfCʜ1hND=a?Q)3se_㻯 kyjB_( 4O9Svp'2Nxӓ8ݹʏ]`+ţp-ެ*=<t:d[jH劾qQ0Xt:?!f;Vj "AwAܙi{\ u[f RO{dV:bZ̿ɁO0*of;яh:$khjăjt.:{ԋ~o5]y3C>%Ƴym(th'i Fߐ^zEȊ6"G*tUݧDu\ py9}GbjKBiPܗ 7Շ+!8^%\G ;T݀jr۪c Xh,"$hp| \o1y]U:HI O`1}Û!m&2(hl7Lt\,w~(1@MmTUȐ< *hs$>$HIw)P GLoncG85A_; OEW'`# ECaH %]zC& p8QuqjT:ftThqy'u2eIhAr o$V`y2қFϾF +au\Eo}6Tނ}gXQCSb ՛%rEKYa~ {-R cmz M'qi=$qړ02tX=@V2 HcMr@2홺P"֏ڮI{^\2d 9s%.=P[f5$_6+Y9zp'so:OtIGku71cEU΢H40kdjoy^5W)N3 4RW!9_fj2ms/LV,┏H}éYLR(I?+ ۤEu6 2Yц!^h_.>P^;(عXOdRTl  ;`6"o!B[~D1#iڜX([7J;_y3*fZ"V:1DSFK?`sc V("v w71|[T o4IaL.jU̳Yf>Aq#V={GowO?(v a7t(B}){⏨n>ɖYa^15|Ëق1D_rz4~OێD4WDžph*rx'چIñl`,d{2HV;1k# [E˾ j󾏻Xnw! JAS.HDƱ MVb5m7}G0P>}M5cN&6)71á=SN 56c8nRʘqb8UENM QpxN&)ҝ7byO;674X!c׮na5vvQfҽm%xΙļ|oq/ݷ+81PO` f~׸{=M/TqӀ?* t2<@GÂޝ3.fS)cQ =3sϖQ=#q{/r m(,_f r#FI XlٽH6 >5S 2do .)(sj* baIjzsb]GAkC`ԏk%cD}^V^JwC]JzyjA hZ$ P훈jxARʻ7E8udB :+dldYl'[=W7=CSqicTHzB~M^M4T}pޥJ7Obֻ( Dl63~|Rj'$Ǟ22]c1?ӺWxv~ /lͭMRnf9ߴStJ'%u!/ٴ xO75+ |U|է[™R*IĐW Lr鮹) Wq"e!voYaԧ6Ƈ^1 v_'*NNY*Iu.pNU>`hY&Rwj2GJ!BҰoD*שSC*s#Z!J[n{hUY& 4!W!*& (@׶n "y5^w^\SWnJw}"7007j'R{@ } cX22OC[9^PE [eMD7 eX#J0)4f`PZp5C $/8%km,ٞ &UG_ [QqIbmĢRY*)_9ȷ9ص Di6ݰNTgv6{dD8B}\ )ܘ9'M,dunGmCx;#8=|T vpPb*_'nkKU+Mު^rri\VCCU܋GiP5Hת]{}`})R/*DX9WAXW 0 n PNh!G3(DY#EzձvpQ1@uy'bj#4L9o&w2ȕ?GޒT#T$k8DT 6m11{΄[BɾDj鈘8 S))d M,[`EEߪ6$X3Jhx\tvwk1}9]JbR.%΅ebnsůÇgayNF)cz\/\s\׊>+ 3 Tuk"AcXGCY{wc2ɡ_ uY3fء0':"%{TN(V%I[@dġAO?}9m/ՏcxPؑC~sڦܴs \` Q'},ue6g\"`{LC.vn@ ; +T(,Rbx^Db,~{X!^<ʑa"\Kl JGS ;H1S08;I2 M>c"Cw, O)҆'7O8ϫ)TçD 8zCIEW %Qph@=uVxS>G*!M}6!y@pթP~=@M n|NNSa'T8Tj2l" D07_F reqti=o%O]]= 1HKtƓ,ȼ1x>mbG&8?wC19*}' cQ|]Z[oY(haGc#6O:y@܎4И28OHVT`>7*†OW1Jlv2.I [ʞPFkg{clX)?4ug)blu6Zssdә n$m:y0+H5{2b"qr#OTc t>%ȟ*va9qJgqWѰZN1r(a7*.7,kcuw0r$aQǏ,GcP^- ם_!bsRNAHC -Wa`^&aqee'gd&&1tj741T2>`m`dJFtKڎbĬ#7@m{@xQݗd9` x1Qa>W}iI:1! t!d0|DĚ.M~Rۛ<j=<KfH :w<*<ы} 易4 n  bf/D #AP Ի-lDbiJ Խ>ҫY#x%i(}$ G#B:^vyAh?p):?^ 6Z-5^)_q#'Rij?L#82jrT~V@,tTi4= 4iR^+lq/c8_#' : )>9X!"R+s`uۻh@Mxf_OtT`ljt}Q8qa/5$] :J9- F8^IyBtqܙS;`y yO;[nYB7:w2Rרf]Λ>X0Dca*ž*z_V;esɣnȳL >Qw&[-u3aK*h',BA2,T2njW?rPt>H:֩_xxul1&>}[bqc\BH`4$ ˽091Zh8?/ZJj/CPq+xPD5Kwb\%E[8n AC|dr# 6_O(6ʰm&Tub> YUG4U}5;CkL5i6w,F a0P7 " 1=&/l|_ D[0DBl_`E3NBQ闚0i޿l쮗mZщChη4y墀!ҽf'э%=챋.͔#bV.3[?g5-H|Cy6v4$1H11ӱțpA>p:*?~[\ArڢiLP~NUȋۈ r$$Cc?DU~&zǿ* >aqc|j|kB.ksNZI>HIS0-I_* 2eiHx9a9@ |^x'R%U#Kn%g q9"Ƒ r؝50RzBP)RB~ahm7Sw;g"SsͳIxC^FTHgĚ,-!CI~/x3܊i@ aŽSxꇗd;5Z&2a~%/ 6R(d7LuW*si jpN (AԀ{;DaF {i#h!<8n_[^z;7x~I&Ҙ Ka3T6s1cV/CN5>nYoK4!s-uMI}*j~z'F0f1@J#nLQg:->/>M. )"Ԍuv'bu PM~us@p&َģ֓ȱHSɲnF73; L UPVhe)-BYXD8F="OY+B6EH X|R>s8VbBQE!k!w%mٶ ?cT*d\uJnu4$ K 9q0Eٱ| #߹;V7x],JZ C7>f66ϟ;1W,9o/5~b'UXIGf6;Q~~ֿ?> x2 0NJ{ޅ`xvT@P.Dx 9Iβ#> ~>ae8B&%є`4OR*COK}ZŒ#41ܕ5ݓܣ?ae-<Χ,52a1˅2CjO/AǟY4\pk Yy*wrνBX5=*l˱ )NGħ΅WCmJ8W ~& o76l.y@>.K2ǩ"\uTBR`{cI(7LCMB~`چлV޸wYxIA?KוAci;ArvC_ߏy5%JT C:fo\YDiW&K)䄍_I[蜬 !:@ @;™M'S݌5ĹfTg΢"u^[9aA lEq<0*KCo8'b2OH)뽽p[C2hӤ(DĿ~\'f}krk rN%&IFڧH=MZ!Z1(Y ͪSDYr XYt^v=m\lP^.NJsV91r@*iTpT=85ŧCp?.\g6$)IAz`e/'w%0!R@3^snckGE8o8q Ga>E>Hb`~[Q*&i_}0lL)W׊L8TNLT5" ܡ6RB%yC@&OȇAs8? z1kxA#22~ .q: ʮӊ1wHГ \DzI9h=w7Jfh }(_+sbݨDC.2q8}@g YnTJLN%1itI*+T9@2P!sqKzbEi,H}'b́r+7 /g VuX~aـe"׊>pw5! H .ux<*L1,Y9J_ <5$8kR1Gp3'DjN 6zEfŜ٨G!s򄼟0x~$z{񪫥V?rc ULѰ*N2~8[-[p`=D@J [=hӇ&6##ʫ"uq{!Q~]džc4%,aFĭYn%rUK!xt;k_-4*nɗAUÌwPRcLv:\ H`r&FOs{Hd@;Y2 C#$p&I8:֨P6ɓi7&)W쥉Ԥ!lI4 Q`Vg:bZ%v 80Nu 0ӴH8"W V{Yܼ!O#-!\obxdC~~@-cXܑt [) >BOu|}pvBM@?NMyu r4ĖX@ܵ =3ЮOKx7̀0QX{l0L dz3Ex]ͫ"- pi2UmiasΗW"+4gtIpMhsʶKjA eRoPL[+ˌF$ 2$תyTL|slYpwzeՉM' $z5O(K"7[WڕEsYLR-g*ZxXU6 `jp^$hКg᲼?~: o4x,1DN8_è:X7[O?4kޞ3Q^D~+vaDM"(RptO֦Ũ^|s^)[?jS'}"0,#8AZ2-/):c{`Ղ2t.Fj<!-qQ>gXz(S#6C, ,6Lܗٰ K:I*$r[گx@8O>W6ZRZ`Ɲ3#,{?O9Z6zU/)˻.İ+Nu" `Yr Oia@O8v'[ x"gJs>O_I*o_[B9[u xnL_`8XB&Gnliʊ﷿."M,mӗ C俹7,SDž0xvQR P$\e `!ՋfYMEjDzBt b.-I g+BffUjW8&T20 _!sݪk5z,p9ugq(:ZE/tjZ|VENOT"ڵ u>=gi>MW'gKTB|4X$ 5u ҟ9,2n3a5W(gQFnV\Qb٧7@`!vNL%0QtE؟Wc ׃7)5ϱ]~&DYQéJ]wFˆ$s>;:Eh9rP(꿌 l\R: ֧097{h-uc]L v Im#ΐ !{#"fq8#nEf_qRv$bqi#壴wBΓH%cFK:sF* 0&Ļ,;OA@!%]_w%.2+6ϪE6|F\dǥhL15؟;ck׻x?6 Q9C3f@&#Ԕ׍I[fnU2rNxkmV9% xcjPDzVRf%olsPOyee,Ȗu(xEy1g.|[®.moR7l4Q8iĤ *ש'Q.@1 T ]y!H?@2N*`:D-ok_Wk;lHWoHM6`9|o>Ar<]9,"jƝkgMjA%@Dm?oj-/YGJFCŵ%pl88M&OZoG'V84h5r4ҼlaneU<*ij0`knC14'>:mK\usن?I5@Sr_ c.OW\>/QQ΋u?S)Fѿs@^Aկȱ4ÚXb42$T Gԇ;.r45w  O8w\nimԻʭ|6P>] Oyݳi,;c-xC4g|-&ܻ˽$8rS߆n+%:t'Ig jCJU2ڟhu!F϶S|5@Y܁'uT<č+B sy}%4y'l3wsQA<2fxx:G?Ҵ!L<T .uQ2gZ|,¦Ki 9Z89<IP<]0,M^؞jF6]С[Ϗ+^yf4o-5=j!>݈L"o("DS!fhӆUl_}?wVZEదʚU<-. (<:̲ŌYʨs )E/Fg24ʓCڗݺ-kmn3]=D=xhonEiM®WTY& [^]Rkth轞^$ e\4Ť\$Zg*τ@& [Fy|2E֤ @1ˊQ+ @ KvT7EF3ixYuw 6ؕ3.jE?D5aܖަ pQ0H= mM$:'XϤb("08Ɇ@CU9֭ >ʣFu?Y:S-ZXKv*D[ U5ٰU8A ʫږ ',&ߗO%0,kkӌ5y%Ã~NK%s G-ԺG7^׸-h3kmp>J6Z3q8%hyYA& Jr A]wŻ/>KwLWNFD+Ґ%wwW"G\4ݺ;h"Rb;#BUL:ԋǔzW]xWVD)|~vSjg,ʗA8qr<s11# 2IF;Jjr l/.9aBפ` z[]Rv̐`?!A R7M.+n=k.9vߣeӅ9.e.ֻ9Ĩ!uԲSs=Γ 7||T&{P4 SҥQ#GEk@M:~-Obx@H^<E!⦿Q-C'zBJ]kNetwOՍЂ=܀?:EQkZ˖:Y99#p&g!;8B0cv6 =?Ri+)r 7EeqEU#.ݯV9_:>`oRbzC{+-/ %!m̀bo[I_ayD_^$Yh|BF..nMotp>bQrMd [2 FlBM Ͷ4A8jM( j֤U}%^q9nSBl$9rgīO5O68L%y Ĭ!ЅC/J+9ȫ+rȹ;,m2[ !JV¨ nVjԻZ5Ry4Kg7i-(b >}hW-Qiq%%%&V_<&5=:C W,39fVzKV|RXiܮ=ʢqq+UφJg6i͠8ػ E TUs6b(O]A{M@\z% ͭ?5*v2NjmjeCF|T>8F.^Ve-BbV&K1[k)@u9 Ԙrn O<|>$?RVkM=alBk] Ht ѥEgYʻw-_#yv''Ug%`4(swjuآ~Ι9Rq٦FLG~{jWћ!KИ*8?A@pNv(}Ap4?/h[,56R8te Ǐ rDhQ/l`䎁]3awVNʣ]=& %ݳF@w̭Um1f%8m@gU4 6V XZDZA}ߕXSٰk(KZczpouLM9w'1KƂN.:oZWʳ\ ؜g ༅Ԣ ͎Vv3"т&*PUAmjK\Je﨏@EN|(>z @zFJ~iE&/xZ5Ƅ^gY0ǂ/l8* 7D&>(ԉ7xLL.I8&= >^r+dP0|Lw@PYlAǖOGcrFSq#Abⵠ,."M$No1A !2{/~B!F+`{E<͙*5F>zo)/[UnIDt, s3oAt}BRPe90C܇ϴEf :?>H- Ӧ͌3[\f,տvVhvt^mש؁; 1O&y>@]w0B[GC&Wx;n0# ءwL`c [e }S!{m#ݴKŸֶj" t W['nX_tH,%ȯꔴ )е4ifcӵEGYH07N0,jF<8lǡ_-g|i^7EkmS3<<4x~qq![USo*g 2>5ۋ\X 5 7 5&)p6ƺ;󬕠V %uV l~qKD" Z[zt[ )R'LŴ_aw9$jҭwYvkMD*MvU}1\E2F3m$.H+5jic)Qx%w>(R)b+0Df9W[0R=}"n7LUBXڀc2J(s'*'$0Kʾ.m{^gRCdG F;*NNq_+`&C`g|moHR 8컋1:(q|X=Fh:Ue0G<0ҫei-M`/uK: i{"skm!zaHV)ߐ\Zp}A #|u\SNyrg] f@X;Lp6+z#l5U??fCb]0keHg2]mew>H$)T9{,'?#걧ϷR*Тn] =B+t jש=PVp9=:5R X\m8{@惆>fP ||G`5b8Lt|R(.˂c.^ ԣ`X/M*xc7G̍<)& ص8X жf>m* 89ks 6ks=Pt<Ʌ/aGwbQ0 [TlJer9V3e;޸ L: ?E/ ;?i-^-wkk'C9qFp?tC#0v?NѝilhdTRGTWUQi+>׳npJrZv4gQ{_E $.ЁyfZ,JAǠ78yK֭)1C|!sluc8+ީư`$IbFKo]K]8f2ݿSQz#D.GS|MkEno@3Ⱥ'i"\΄[F%m7Q^&5[6%ͮE[9UQ׼' n@m`g5a!*ATZ=Įj\PHIC2Ί(qT\/ dċ%nLU#j<3zxb=5eq4١G #C[zV4D0X.ڣVqܨa1fn`j8= Ir ʮ-. |~uZJ)F`/ʞTʖ`_p(p@uSZWzL'gY(K2uIdc Axs.BGTVDdZ4zOJ:dF "6X?…eUXDf\\Kt0 I3d$4Hz(=pݽ|-wο(}@3;?0$? HMEQNǒP\^dTJԪgs\v)@^Q'L_.6 I zd Q*(fMˊqxg4.•V|W1NVȈzU/6wTjRE9<8|6ѢxXb]DK ) /2b b_<͵/S\%ۙrz=PO~!s˧ Y2ѽ2$Biťu'K{!S?p)NU sӇݳ=1*uN <۞Xlnk;˛%0E8u1n/8H'DSɫ-ʅ@X;QbDheɘ|Ӝ,a`A(s,xP716N^ζ@حg5M@X90f] wrtw;//ϐq5PDaQQb]|z=IfK#!e”YqJ)vYj"ȵq`YD*ݧ?pRA U.{.$ H;w**3ߤ*.ocDyѿ`wk3q%"uX VqnfPՕ\s6_9_̈́):g* R98L469[$p^;d{,v0"}~1̭|a6cz\/cbFĶdEl[! H} ƣ>r|!90J&^Fv^a hRlMu$nңF25лͥOZ81ī4@;7K8CGp6M- >C)؄QJ&1}lK\,KÔumPýH %)F*urG`)2.%IM#3YpU0(ewy;;u#mOP3U l Ćr~` Q}k;10Jѱ(!a4N<5i/vg,[>P4‹>C_ O3LIpBm}BŊě/CsڈQK0obADFdZ݀sv\x5v#?[_\~:e[+i-}:̣#"y:{aXE^SF߾ˢ}ϋBp%r{ˤ{-h> 6<׋3G^(Ju؋\222_A BA+K5ճrNJ39z;[U롽.R&*h,U|~9Ek''z"|'8\%4Tluxj,R[!jp.`8^; KϧF9z9z2<QaB&8`Sq2muaY;c6daz=E:g`|Zv`PV/ռDhCkAMU;JfɍQY~A@8Ok_2nBVU7>) "\!>hb? S_"nw>oth6qbCҌo A !jKc i &jKҺ$<:Ad.|r}uv/7 n,ejQWLS,n?1wkEL+bq-nY.1ئof|X$9rip$3 5ʥ=թ3iEji3:+ cV [4疡R ?ZGVM"6~Ɋ'Ё[8(ZR|mRxti5RfI翻c~2 .3vG#'Al![3jQ 0?:-omTCgAsyYڿT,>?2WgWeI"<+k}v_逼Z&5Wo4 gWw 3QIlhb:g.b1jRj]_"}N{h,!i VA>ޑTGcbd?Ky, )c#O)'?>,t ?P9R׼:ζӱOk 83"n;oikʗ?^S?REmp%@Rk` v;EӓR*tx$8G 31";ˀ-R_0x3M5#9$2$7rNlT-8jL :zn2o:U͠Aae_I7xNʼr >g찏*[I33j;DL n6n6/}?xz-%4a![/nlh5j/ K#rʻ։ !X>yߔdkDJ)kaQw[ "IB%e; mXf“Qk9rl8jx_ݍd/bM1/v20KB@0W*Z)5Bmg{<=CtK7}'E{_ͺ}jZæZ&ɇ~BBLaEy[kޝ5 #n`yZ e9 ajS^Ǿӌ%#j!xҵ5Hi'aHO;+2/67+XA3[rǛuUڸJ4=% D5Ǐ}Yۊ!EJ<>1%2k9։V-Tۗ#CTtgֈTn57V:э#ĢTqR,|w&,bv!c wb&2+ɐ rg,Zs`' TIWLbC gs!Ǭ-*E܅+Pl̵x /"bVO-@)u.粥 rVttoP$0r~+ k=`Qi2Xś@/ !榝}aK=ޑ ۏj0ft(fjKY1,lQ; U=oaF,5^>$HҒT"Dl==CB*ʫ oI Z k AQ\0+́Z]БZh{?t +Nb}jq[?K~Vpepe(\>?þyW~|Q͓}!\2y=Q.D44,D:x;Vt kDMz֥H=D\TYd-**jf0XEpt!ܚ]5Fac ~Fz]](,:aKhB3dϳEu=ϋ@ &ߪON8OI ae)M{3^r]8vz@Д 叡O|ΣUq}.αVw!%rUG^ՙ\j?& $BE U^ԁYY#L ^-La9ʦmc/[ZWJK\ChDbDwdJI p{N#Ps;M=@`ӶHA5%(k&X\8 {]]xkI6}oOAW"mxhaK(P=cn( NDaQ&WJS]p`O~k ["G}QHE?f0 A@Ji=6&8b#kBt#go[ Xw(m҅4xXM1h>0$(@F2> Xӽ4l35tS vPyhz蛠[+P'أ^Rv$ t3'6Uނ#.d}Bv؅g򵺩WjCȧb]zP [IU{XK٦8B/!t<2 S7R1N k׃dB"Dk;s.q/SI$_LN3`]zڛ9^-_gibcm];&%CERZn58KIOMlүNxIC xYT08@-e&U|Dp(c\~aw;qmaeqbK5 iRYF(m7@^` OK\d dɲp& $wTiI X- Hku@$g6! "A?zsK`[C/lÓW^|qgo1EITEsҪ2W3z?!3߰K3@4%窿rRa m.6.pK7qHaetIKpL!t1ph_qo$s]2vV ӱ^g>Kr\$Ճ71@޷ʖjYȇhcK}㐑{9$r˺@߈$N=OZ-,>9[n55jPRNgDR!"1)7ă+p+ּYO_8%fMhzoЅcG.#[)?>|N5Y8X^]֑RP(ue5>774Y NSяj8B1'QxߤVZJ$|X8N\,Md#AWmLjiBO[};bVbcXq@ [#TKw// G 1Ry(#XoE)ԙ&k(fC i͗i( i`Hr+c,i48A@l% >~4ÇF ynvB lZ։s5y%zs;}6wAw? OaXI[1 5Zeh `w-웙ZTYڨ`7v3S"˷Lt]0C.6ըGazYWw3LeQHi) @f}5cN4/,Aq~7ݕ<S'XS r!2+z~re" u$e)~Cч| j681{o%ʃ̓\3ѧ߂>; b$n@IMRg#,xx}/]/MraO#+\9U׆&stoz!#v#It|ɚX j;^F=;OM9^UW8L3wRa~ =o+Wx漋"乴-@v7(E5lVX}!C/6p/FJQ姎oj$п=˷郒Q[ #](v%vG?jk`A?Ţ25zOViQeK<9;s\y 6 90wRF7{_xwN0so &Sę+5(/}F%܉'gm:$w0"gf @7bc{5f'!.b\>7BDA4G(QJX wZ+UƝ,ugIrO:dMi5 8S;#dKr@\Fg {La4h,WoұG!jcѩ4y-l"'F=-z?n08m1zD`HQ٭ m>OO ӗ#"GNOént뙏Vĝg@IgF'lu m{~Ks&Vֿ̕q))zhak5R_:Li='F@rq qUe\ I2N]㡧 jҩw!8zOWD EI)r`D&^ib4KJvr]ݘ0;InZ\Q UQK?Gޔ*vOӦq#ө4ЌޮAAԮ7,BƞžΫ-dB<**̍۳uQ}3l+fG!e?wVR 9{DOJ;\}.\dۖ>v p'&k!7=H`nQiiD@E8 ~ 84E%_В.|w a"tC!+w¡ @:PҕIA7SA:Hj&% kUkd/9Ro8Iجz3kZ6 RLPbfX Mh?;;%ؤ-OM=57EPT CYev9(LyҴW r7+f *H4d^Q9 EW_tq˓3غ?Qm[aW8/"C5ݽ蔖VG̔yZ>o7L'Tcٜg/"Ŏ8^&ʝRʜ0tFLFK8x [؊ (0aؘ/9X=0]fRm%t[\ԕb;DCF]Kbr^vK{vC*OΠhxs,g4 Bq;p϶K jaЄ&Qw`KтmhPPFiqIC##6S 'l,T6F/3u3@7Bw1m$.! L+wv RGsӳMv (hklS=Lmx?7bV]GZ/ n 9&@|¶ww5{Q5h7ehZT""ޏ!Hf*iǤ"HVxZu>&3G"/@u+XqԮᯫf8f#ϲ+8;Љ>_󌤩 <sE-3u4EY+u+_`0CQYe̿rClʞISsvu [yG}Ø' VtٟkdhX) *&#c$P^ |99 7 `N9i0WbsFy:xT aH8]g?G&#cB֎\~kQyG"@[ToNJCOjVВ>`}-4բe@W? 0S7l@Bǰ8ii~?NE5i-JrH)0tb?Y1`+0 T=w8Ru u}u]p_\]Q&EPi(|ɧ_H\"t+g]o*#/}{xPqW;9@ldU%e꼮 @G7?i&XE~ \>g/)X;3m\E̾`X G*ãч iNJ,0#`q%5) ff:wQp fjcaqA]D[%ܶMW}nOt&o_[oUD`/UVnrkA.Wؤå qjOxH^p]~'wLC|s|;IP 0- 1W2g)PMfr&k^ ٱMkV/V}gu' (FI!V2{9%W#Ev"ˏ ,y j?8&|/]wΕ * s_']z|I]'p&kqAcf`X`\j PktI!jTXFgkf$#.?0Q+fE8!W Udke VSQ@KU cuƅNI)߰:,n0*GM҇b__A_ g!jGPopedjWrr4Gd>/ r5*Ɩ8ml+ K!yXю/_`iE';UX! 8=NAŻ[CNs%tj!TԻzKz <b~n&D: e{:kumPEQZepr'0{ã=o}*Tz/j/G["Wy ӞuPE(~YtмEtV9UN`W&lp4=lҵMJVJ( &aba$i)QH ;rsx^<60Xm |=AR5F@X,MDst0790Q=5%h!=2sqԗ@wW8U$I_Y# ` e/2z'lXA)7?0:8K?w({q]Gt!n-q6G~^N\l*7i~ݡ*cܙeۇ;}WW~?|SKЦQgp4z 9=_$'Mː]4A26M4dx lj9^b)xK d&7\G>Tjj*0%pm̿߹SL}C\_{? "2bCk3EVmvĦmA(trEvnirU! agRH.iMn-(v?ɨB1VLezN5$Y"J\> E<-NOSLwڡs_Lƛ5YW_ ?~]Qώr{ vy,H Xl_kK X%oa{!8njA_aT?!:#F> qRy1Gr`Le#aIRG/̼AK~1޾h2 -qJbpzӦGlM#32~ܿ7%XsԲ&뮋}e:7iy`b:l/_d|xD\=2g;F$Le"ej 6M?o"11>G=(cjʡB$&"/4Z]5ܸߒ p۫߬|G5PZ\sRhJ ɩr}x e<ͯU8bk_1pcv:s129K)٣mWqMP:[91RZX# 4[Y= 9ِ맜uwOۧ[h=J9ٹپo=u9!n VG(<#R~QS%=c4*0E?Gadž%Ƭ.)b(A`*i",MC7kojv;,PyGW/qO KCI 1>ө.D@LkҔ˻_> OF z~evZ(6CJwSpT~rO_Hէu \QDu74yb;i8nw."Gf~>W0b1VT08:x}]nmb'lPn]a;]rNR nzd d;/EUƞqr|ā!)s U2L\D{5xA)vXiAs`ͺA}Hr1uSQpִ>k& ;QW{=Qʩ;[ޏsrwi=E%iBՐxtLЭ9_Bmrev=A?6_z+FH34@y8&Kp`d@NP@[D\VDOͿ3ۨzZ YECN^^8'ᖅw$4,vA mdTƓ+?X(38լE<jG,p'h%7TA?Z\s\wV [iS{]6ʷ/|&\vPo8-4Bq@O8yIN=̯ KurW])f=BQ*hi%q#O1 yԒv7J{)a*MkZt Dx.D׹է ؾcQfk5 Ռx`.m%I,ϼ_[|*d?_D f#gG&1ݐ G 2q9CM c0G8 {Xx ݧWbf{{ gœ~Oǥ}IFWʻ6u!u5\ގ-A &p4͠5S^6jMs!7ݟ{Nrp*)Ѥx4 RtElXy`~߅!qꑋ&7#/u?".4(-8U³oڟi]GJ@[9"V{LZK%qiPrC@K> AOԻ uEBGtO@PVk䎏RSI8c8F^Xea1@šrʀI}n6ʽ/[Z^s4DP.X㓧6jPp~!SDMC#)l'ZmteeĀ)F0J4˳%$ձw, Z2s=6LHo[ ^'_4'GH(2ۼR0¦uSN7J7'pfXӄn&?BNeCA4kBo`0sP$R_ n Ձ;7(&G tMLOFyHV=sG(Xx~$p!'B2ݩynʉS][I4 هE'R0"Ɛȁv]-:/kIw"vPq{&K̎<(竃\`kP6^r/.}ăGXP+vuNCݺQ RR rɋ4n&ayE8<LytxG5gYF&oNN?A u00 (v:b%'Ll(Jps2s([P$ʿIާCwq[)ix!G Ňgق04<~_ CKּnoZǩTk"{Vu{}dg-3030'RijF3px|z*ם\-  6v{Iy Lc[15 My֚OyekEfbF#nFlUq+Y/;Ԇpp%ظ-o]%~BlGPcpcb+Ctj`=/͠di62#\~t 6oFJi+o!ӷзtu5ޥ(Gu}.h$ȆJ ]9sulA#%sPs!YEMjqI_U;KB{K vgx CYF*WM6C-Sĩꭥ*jlͫ4t9ͺҒ q絩c]eN3ŧ4a|t28DsF9z@^,5ِ&o[whEuLW^C̝X(WXFAP0U[v%'!ص2!xb=)9i"-y=sqX˙Mx~2m2O?oV7ZFPo{8t'5|SDѴj WB"k4ѳ YVE +8:!;8oQ2d[˃t$`jF\]E yl= r%ruc w<~O5HqԒ0Vt,Q MK5wˬ= ` Iq<F`nUd{0RQj7m (UA ׏W$mtM`2{ /_¯dcKڔT V·GTdl;l̥5vin +}V_Ju k"Ut[U%7;py z099"en*AzJt~wTY(U%۴3,1n&0Iq]|* Uohm1N=-~rf(R-gњdrYPd޻!\8N ~csq#潪sX;Ъj08gi k^{lua?[7mdX.},cYZn-a:-B|:痚ryE쏌iE;?ai-hX?Ou]eHkTR%^B6iJ@^AXqC853? c]sfc)QMs?K]輳V/\)Y #=eQ k]Z#78ĸ~hE^N#\4T\fDǑ CHmM@DQҝ~rF"ڢjq?Zv2m8W`׮L ,Ǘa$!|FIMq0B~5ka+U*:7lIt`e fP\y:2bSz гyivW3wa? ڻ ^aKt^9<o*[*(f3CPQYQd}Z8tž@W7]3, ֽ5s|ӭ타#:FKDgbCȍcoR=Ǒɗ=Ȁʧb00o"u=g/\N 69e38)F^Jøa;`w898K*("  uWx(&)t@Hpd˩v4b"EP$}TϸR^\>!-k u@ \Oo1ԢՙiO %f׽Sb09ei5ן>f6'#Zjɪa>pr(׵\Џ?_*)?ϸ 0.?epyVXf/]@8w1ƤZrÐQ:UjH?3iDpL2Fp%ѵA抽o=!UE!Q'{y^KvV[S ,Hz ^Ɯ @\z{$$ DTP"SpF ؀OϋpJe:I2Q"tj'F %}ٗX 8Y<xgZcIr@Jj[OU샰?EQ"8=An_M`@rD ivjN,gQOê #GXU)a[>Zig83hGV;]nrqSlI)b95z(zY'%'"]`n kUE3׃ro\||t4ŢRs-r{ wCܽ'x 7np/نj|c\n~_ˣŴ`o-ZGDG4zX ʛyA^ΐ<<:mz((5 lj~ iASd˸ŵo )hyK9dTގ.ޞ]ѭL/1snB.ܼ/챑k% J|P2ìC|i?/5Y! jw Ff@h;zz~VS^C*V : L20qQ ܾVPqR>ڇ1ڎ.C!Wa;yל>Q"PQ0, CI*{DOmC/J x׳Xx,Ժ~li#]|z˘v`Nǩ&l ;? SF\7>;"Dzis4>[iѱWBe*R3ejBLLCČO5 mz;jdxA9Ӣ7~g7~YS#jC¸ĝ! IO-)Wf-5M+E`L{"|f;omBTeȪW!#_[h3\3ԹNk2]l%0J{CU-0%P?mwR.Y= ِCHH UHC}ȡX "B3jE.ҰpgOI @[XdX+$#w9X%>[5k~#=AA]'u @&8FS "uP5|T3D7g͑!Hܷg3=q0RkenE1zz+OLh;ǁ0^4A5^Jyn(-Ab̉AaXCGF[@PIـYET4y#Y7ͱC"[S[v|.}ri[b5Q9QI~цXLB.8n(s=-opۛuAo<&r B/aRe2T+m6WǨ@ݬ8C gt:@ѐȏW-U_=tks邳YfJ #} T,6ithqƩ0(l/`c ۿN~H5 H ⩟};nHTLLE=Y1YO^i$Y!0YO4ms".$K?2Kҧ)"6O^ VmI1'p1;ã`#t8  kzۏT] 6i42r$2 l=3#шm`aDE&EECr G&&ok^TsxiEF&x.ӱ$R-~0GO;VW%]̌-O+ǫb`6QTA1e.YC=ڦ*̘h~kk%ZNE+s!3hk]3STH[#cf[čާ iI9ͺ KAi" ׬I~Ô+w+4PD$UJ⵺~M)+2$}yV`tsHHͽ" ^Jm3I^e1iTujϟY-cMJ|}䲙Uܙ}f4'N> \&A".t6>}bp#H\4Ac+gG jΡT)nSgxc[|njL}[K*C)ÔԶ`)jz߄?kSu2r"\BfFQUi!􊾽5|]m&qDn۽,62(U,Qpa7U]y W!Q8C0 xC6~g# CsE:51qq_t^"wrD{ٿZA!RD7Lba1 ,FzÇb= ~bK!lZRB3~V$l:1n?M}y'=8Us{Eo߼u/iL&`Ƃ^ũx ?GW@6N>G5ߋ4If\-\AO}l̄4 yk;52G)ߴ-@pzcH\I@$ j%!bPse^\ ؂cVQ,d _  {A"Xw[|fCP~DCU"mt{]Oqn2\XB.E$۰Rp525SX'}saVfK*l5(A4|4F]EpMR'{%fy? 6T+BOV(񝘒j']STl%8rhO]b7|Nr܅ȵ+IR$$.K%b$<1 R->- ,LfT'R *+S\n3㜮XWSk`t_kVv$}d!O{Џ+کneTd@Z̉hkF(2 w2o a)]٤˯FkF,~(H@exnT"-;)'א FevƎ4DV89 G_XԾax/u%F"l9cofS鉄N`NpS],\ҧ\,YS-$ GR:`eF9\4Դѭ$)H*;-6<V%8NѬmj%Z͐ @'y'Bdew.هW#XH ֪cq41&|q%>_ł)p(ѝ- d!AC)*L Y0x+x ܥ;VS!R_[$?ᾱq ZnEDޒ;6E:3[ 5fv݇{' hCCWCĉ)U,ҌvE_eD =MDOɁ|Â& ޷gicwR%7n&XDIbȻA6y=dULjPL~sЫ^xefH.NjJ?/FGrk6 xN m8rWTOcp+ăiW&-{&52q~ [9*[pbkYJ_\CfDMmC>R[-h|([T=Խ̮M1>~qrv=L7уp^bd2! ! TP{;޹˨?6V׷RKm-y jy`qh\4"f* ȫhTVО0S>YC~"njf ڽk2J篋@3/Zfr26ҥv\00KOh-hP}`1MpD{tZ o_ t3QzY┆ggtFX"OH΂YV nV$),[iP*n=?7"ZFI`f~fnmw/3 1T'Ue ]r !p Dc~6s&P-zCSĨKv#uDf_ S5U;TXv#"ʩ$TgZ.YAu4v0;u@6=)>4~^femx6AL8ͫogAy)[;J1C2d-8vZK@B*m8wfG'U挰|/kݎf ZN1eL"~ ]p7*q& eK!Ԗ;;>ͣ|<24?SuHx*r_V\?]EoY  6e $ BY8pR˕k]@ۮIQq؞'/l+grٵ1PpaJjqBd,!ƕ0I SapnRo J Jy&OttVhbRM8-TkY˗Lx9 Z@Hk[*ı$gkDGz셼п?k#qU8-ɤE D!Mu7b2:~ 9gpj%@:@hǠaZjЪlZN؊(\*l;7wꐣ/ѿ'Z4*6Pi3f\?ҡrWe?[~6[>8B'_2VNBјcRWcǼt x->:Qƻa.W۹I9Թ1&^o{E|cb0Q9X:_|맏\WQzELX CK'޷DQD $>&onr1M..G`]LI-Vߑjz<7-?U-S4/Zؙ,E.he_`^P>0^@R['htѰPF*"'ϣ\?9XaZPC͈{-P+zXSqqj0Ȧ h} 2іeݦMC VS:Jܔ`ag+4]yO9Ss9Ŧz:;dDaHj%Ԉl~z!nL>%ښVPCb[>iDu\UcbU܄s4y^cm0x>_XmHy@'ȾnL%%Ya-;laMקnD ."Ò%?!lD.h >tpFAKT fLpD?13_TPIv s;"\"JLQL\oN"9 K"@Uڳiy.z^=ȭMvا H s8cϺ{ѻ'WjU.cg,SdIͩ:<Ė~(Fs]]ib)b-v6r 0ŶzÎ-j$;>x/^MrS yJ6Z֟7U+XMO ۜ}vrb:g03, 57,SC(iZdHt_i;wF%UB?: >3 \:keфlo+XU9M+Gn6+Vዕ#-[Y8E.)T(Pǫk Q.yFГ:s]g!<4c+MN@҄[s7tGi"x-dO@v1<曋ߍm"8X$CYu6Sq%F 2fmGZ $¢RD{=}"R+ G8l'-{ ;-uA taǎ1|O!F3k9Yvz)C ?|M]x.j>plFJ4n-Uj\ɕgraŋqBR%}uaeU> 6߾փ}MQ`lCSpKx{J$2d{dRAXYc (;bw;;}Sؔ3+BdɆ{2:"8W&H,uthDڣ8?5O0u/ 5 )x{RG f._r\;.I_iD9%ܬ@(h z\4.ʀT邠 y&dߕG%.i1xhO/N,zR?#N¼s},+Vl+g5M`w_;uݮ?uY_Uv 8|klEP #!A/ ^0oG0VxpK#1|EJ4>Bfz)HѠ=mﺯ&`nxܭt|a|Z3bL>M(KNR`s.k&os=w`i~F>(ަY4j!tf{ inA 9-IKF|6*BBU=*S Ѣ#>>GH 6S^WV9-&k?äoS*uЁ*0f2)|]iG[vG`l"2v*a#L4>e- r"EaT?rNY# C\f4JW i2攵Uw+ĶP,fp@tc-OK众YH᭝~SԏRe|- L2w&3٪µK'T,v5ԩtƋǑidТP nqJeП\}/ex<3=p3#d?Q6fր#-H\Uv-ss MW? 2$ps3,K\ iJ 2ioVܪжe"Nݲ͌ nEәeQ wEK듰-)YR5eK`u&l4Q 'DԤfLn =LJt=ҹFb7;>{ӤsXF X)h Ao 0!uTZJݯ&~{3B.VQxWZ~* >Osm kOچG{FB5-QqNn|5x?#xS`hIe"`"% o:2Z x"1 O:t,P~sݭ! $nG@ sT,e+tVFXgD|2QEmkGL ;wcT` 7dʰKU:4QW;Mg,S[)]}n&ScIS;tG^\:?=N/E )/ @FhC m>G(wEqC@l 6Tae~>nx2ʘ&’֍&J6y-HD(htB/j}o4Sp7T#n"aM#)-f-uif$@O/~<+!!uԽnW  JҢIìmDRF+;' b%1 Rd#DKR8˱o[K{$=-b!inldϋA6}cRxJcb>Ċ;_<"ȂN#ύœ+|r"KK8 S GO^%2._| l%,jv7A-dUMT[jxnP YDK+dU ga0JUjAiehD.FU~|e}cW6\@u$>VXOJ`]u(vJ2ѓ_/W1`g+_x]" %^t O_N$9*VB̲/P@K7V3SOLX+ٻ+ィj~>esW*Lɉ(v 1+6>qlEHQ g@Ⱥk++*kkAH2oJ(En򳹐[B "5GmүB346WT/Н wa䪠&@O;ܠב`_xbpԳn]jfV.@@fTlи8s4T׻T\ 39:1UiGK5eh5ZQz Bus&ZH)uvӱV %()؜w8*}LZ%[$sa M_3Qܚ]>C2& b2?CNF1b7f3 g-vθd~eP5pDƣ l)N9黃2,V;mZZ̰JP#"6CUnZv_,߼ d439dli_y|YwQ,L8$'{Z8CTָm?3ѫ J7tDzg0:AtnHp9RzS*\Ԉy5a 0U߬~0q{M&3hFvo͑Hɫ朵aj5\ўM`#Zcm &HiGWQMuoL>(j*V3+槯ψa!J_{H9[ņ'jPR2ٛdJ8B77|%~vVC_')!x|wNIe4P5^Bj"1d~S0GOVh$bޕ=9/o"7nOqGIvxa1jL#E>MzI0 h~ B!SfFPXٽ6w@< P9XzdNj#bMWM(τʟsEԜgF:ܦQ8u &Q[vAǢ67NwS[:CSNOfju&4-]uE@܅p [#FQ> |9t6J׬wwぢ9fuSE5sG!'N5~x ? '¸$"7ULJ]´2\̀0 Y@]Ăˈ6X\_wd'-nXRwP& /A,-%1P[lwaV%(B$];!:L>]YZgPz}|AP]lb#(sk@RCZ[H)jšok6&,ݫn9æiN>:ՋPE9s<fIP;;f#QBՀGN.|h$2V gZٛA'3C>Q\>M. h[#;K+'ϨӾnMIdap Q3b*5!yɀ .y &R6йv1JZ.ۧvO!=IO Flڂϗ+5\גD.]+Cfuw^h)\\B!;/fK6&?2 u>n.mp UcFdJuᴐgqȌ&cH=To-aJ~y*[3?>k&Lx1glt. E8luUDS:EJ6W F分u`TuojBUPVD,Q hYq~}cH.3;;+@y(K(w+mXP&0u^V{ dvz9k7;"^Z!زyK@QaC{pۿڑMPQvim׶RgGC8k5rl MoH.IW4 MC 2L&1顩z)R$9%Vr/2} ul$z˚%Rf:*z0>TU|Ʒ#L@|fa4w plc;kXܷ$dfV2lWb v XX%H-m_>Pc|"u>lyp,N_=Rs0ǚe^bϢO5{ta R%D5M?(b5m}h^ڬN^F2OW1:j}qgC]}>}d(Xur]!T_hr9 '{UHoSƌQЦ"HqRy'h ΟAEC,oD1An/QDμnbUp<+Ms^ܲ1sP }~xh>.7G@f4q\x'X?ڗ}dZ}<MdI[BˈiU;Ax:Y:.&JVG%byF,З~N-@gwNgnmh ^oe{͜jӺ#;XnAݝă&eRIoGZ_9<(0sIa* ygkUi/7:NS@zۖtMв,+Cj+K.CC Y0LӅ*N7b*p"\ iRyu;kI.hFN.d&UèF='o Q_́Cr":#ZS z*p-p]ⵉ4`WVftNw;xTLu&uy-IO3%Z_:vO {)*E=h )_n˥i gpץxX @RCD2#!; Ec?v]!)Pm݅&4]ubX$K)2;%u9q G*T ,#y>0ş[:BLxkJW~zY`i+Qy!eP@S&  ApoJ>cNw'o(7Z.8x 4uVLdkO90)b"QĦ ;**6Q6e*]2`v\<0ӐD%nKXv);FWN+5-XCV*mGنYlD0s /k>ljo9b:s4ǟV2ݝRӽ\zKвQynVkŖ/`L~PSi9bp'jM T5u$}|)|!& ŝzt v*?հi倏=Zca=qxٚ Z:p7d\TEoh+Z x 4?-,Azux {q-y*#yj}xs)dj6AA'leܴH`-_KX 8y`"vV6$4TC l \?N>ZS3 ~lDqVE 9ia+b?& a/g=wf? -Wj-5 L9s'T>ЄO43r`TR3+|RtB\Bb;:QTfʹԪRcj|lxCU5 Zΐ*}lgd%8"jLZ~ :> hDy?x+ Ÿ ᝖jT!=D`rS dP|L{. >1Hi䰫^ fD-h04X%r$[g8>4*N2?HŽcQKfL>րypŮC0aF>&49@~;Ȭl'ցp)]QD\w4 hĵ%A%k0gVP\ sUFȃTAߡ_߃~~}ѝ"EK*zpkR 'GIZW%q=!3oQAJ Ӯ{[盳<3RTƈԦiCr(*O A@]ExwSaOQdYe/bg>cc1zӘZ @K3g(6 aԎkGLsqU ={i>pev<{_ޡQ.z-:bߍ4++@6žau|xÿi0Ca^@' ճ<7z7Ä\J Z p߀vC$P;#Nnh=x΃GkV6oh&2/qQ5KB _*u/ tC`Hb=LHѤ`S.'RH[jr0XY0ǣkU}m&joCމ@Y+iq7[دD3W .֪>Æ+rIڪHDLdi<4SbԲ@9 z;""G 5*DX9|fPrS47&Fʑ\G%pe(IwZ4$oڭT$hfU~, 4UʫWf﨨h;sp" q~d>O#f;cfyp'( 1|-6I_7(Sbvum,AA8jvUc,a 1wO>,Mg]qhOeɃ2 }~%=8ywh4V:RHWV%ZrwP#1*g(](Dڊ^,iñZ*0JߴW8g̶[J\--C/sRcibj:p| sEQ}v%tYӽ j絲;JB uwYv+4b&nMU'b U Nڮ o>^XW%PįuEr& +ΞK^X&~<Ͻw`YT{O˝c&Ft|M"hqn>1wJQ2`v'M^pl5K9LXo6eC~]~EAXЖ.7nx/q mwZTc[x]xf cNR?hf}ppAq OB VևpR5<7\SP/-X`5BKkBW9<@I1@znB{MAކ3'vh_P%2wlPT!Gom%ԉРgѰﱉh3q+JXMLb2BWOS/M L+^7--d&ߜq^J(FifVR+p] vQ:;Ow[|%#n= Ofߒՙ[@S a'Ƭ5k~,Jbt?8vb4HAQ%CGZ`p!/wʂ.=zXa b]/Ř[W žz}~EebdkrtSf(ܿR i;Ŷw"1.8Bݽl.(:4r&V['cƗD x-SmFaj!/Pј\@G1‘-wP4vW t) h,J!>ʹ6@#+^5N8OX9al=-{ 3@{`En)̙3~HU_`e3yømQ6sHՍw 6QI8ނX|:x:GL\b7,LP -e*Q*S8)(k&=a8kHFZSɕ*&М=^:$@Xgƈ\8(?1Z& Հr'N4ad=#J˫pɴע+^V<96YYbJ!pL9_ txrp"wDv>@):tK䝨iӄ$M&MKm.T;CD^QWNxtgLYY"BC W?z@\+'ҲmZJz$EY.dȆ:QqeuYUnܛEX'/K?  d "W8LqYs_K=^6ܭ]s, X?IG1vH2ǽ(e+ӁMo,YGT*Ɇ(E34yo_}srj ]vrAb+w=5q6sf;`J.7^yУ~i'XfwOc o+yOM‡^AF?낟`(>2v9 kɊv,d3> NM3?m3)^v+%&gFؐ@@ QgID+Kwo]h]3O(h`)^nN\', 3xͿa_1ׁr ܼd0OIcMV`ٓ^kfg>tu?\-g_A쨭DIɓ3^3T8N jb8:u_ps;`:ňZH#\HR@2|u nW2}qk_.YIsHǬ9Ռkg8Ub_P1UV{1X[PᇈZLYHγ5: r&V01J5 uwndWy&0i϶}wgJstd K 3wED-Pǹ2J@_~E2͡UΞs['|0TʫMXjHVS;O_QM˽Hx n{.z aՈ^S+ qlyW; ̀)I1`\SC#VğVIY~Gzly1lcPPőL:6Ŧ9w0Ț/ڡ f¯UA|.c޷Wh< 7C e*ʼn: !4V]iʐ԰ô[>S0cJ)n8X5rO0 u7Bu= n!{B՜QI֣y)-͹c:q:%@x)B/$/H6عaM^2ZOfB壕cPmm(_$/zE5JQM:XWmK4ZHX~us*M9>>p &ѮFǬ|aMx8qL-B]7UX\CG1˩i iԴ;E6+ 3ZZIC%U 4MB4c#ҫDh/o/vҢ18DmgWj {B5<bˀ7 ^9Ȁ poweln . Ӹr%Z >̏nh +&y505Wu4 %)Kwq&8/zT8lү:9ٰ%Ld>>jEEӷG~ԀIL7M}jڟ_ I]T% Sf#5*9K-O ߡ:<xwa2CX|ŷb 9}8R?$V;U>-@Ԫ(&w4~."+!of,[BGf^ɥ* 8'ɒ5 fu_g3بEǤv>FN;4>xٞ qCJx\:O rT^l&y&e~JO>q |wL<3_ٺW]I1z${c\=+yZ;:S=!8|DhhT;w M s9=4"W*gr|lt.8UIߘ %èQkΧ%Y#P*>6G&<"btۜ R6ռNLA q(p3h5n6Sڲ~ [Hi|(<~u9˷}_!@pe!(8X%NД+l][A7LrMpN/r.E? dyISelT< aIQ |kBdxuu@h@t>U7(jjVsS M9㑋1m|̋1!T8 'ntܖ(iܚm=lCιr:1F5߄^F,DB|lo ^\86F"%;pSy 'D %j斠UXq~~}/Prid+@RV3Nܟ^ݭQjGq JtHF(yvY%/\a8Ov1 0P*ҹA4]'kC03 ")Ǎi%(܉#󩉁Hz:vC]5> sv9@5q'v>Zob1oc?v ky;ssNpQդa3B{ R$ &%QݗtE\ A`VFNI)(P|.$} x?K`tIz&Rj_HqxO"~JbOf\Gʸ4m)"1KWMhW[刔 ٯVߏͲ hE|9˒B7$ĺ-<$8X#!P vz{uJwE:[|)՘R&M6dma4݌8*뙛sI,Agk"~&L1E}RN<b ط#2yTb)a˞uE=%F+Q=h AWmUV:}0$ =DH& tb,v8lGBQӟ]gZeJ-H1DK€@ʩxr.Ike+CJHD oڈégݸz#F7ՃH:9:Ü Ⱦs|$gƫ `[t|ySTL״a\1(yG?p:oWY␶ۉyn'W˱ЦbK pWIBiC*ySAVLßnG5Fa;CCQ-K -JtyH e<Bڽ"^lCu-n z\QA&$wepGE s!?Γ=1{ҫ:L-X~n6,mbfaHJ(dW4Pʹq2]4:3=e!}O?M7>K=gF|-y RN$S  t-W|#~P;#L1hM뛴IuiWlu/k<*HϻVOsy3Ж ~(%X0#!Ǭo "Fs3hI:k|q6GY1s/ڹrh9h <|$bf ގcks`]O0L6- zɍUĽK]x\1LNGJm}|h]$rU\:Gjo0^?7va@]Ä l1@kxE[NA-qFuS @!2rSe L͏~]˯szL:|4$~̕ O`ސQS7m<9-ռxHB߁Z0YZ&4bq ຫ:"Uq nλUzU r70Y4E:w ! 0ud(*p#ښ;9^6=k16̪,AkBMkCA>OE T.M|hѹjYGBuyy8FIc*k!]'a 8vpW AE;So VD.C;(0ʱ(%(0,^OuDpy5 bׄ;0G`\~^<˕kZ١4'7[~ 8Ɩ;5-G2譗sHF2& !RƠ|׸QA+YMڭ1DSLZ=]},dhj}}kOBr7%?8@rs@1>H?1+:!C[o'Xʿ^|J\į<6[ g{WC/ ?Z`qWQg:(bQ0^|[>VJ|rEuŚɁXF/+:<3$\+HXIZ󬒮(rKۉk9!XI>k\C:ɛMca _erD0ˀvyI̬<]ij,%ɠ  >Һb 2@%Ħf;"EʒT,r \">nŠfڸ.G]UPk;6F.Q /y+in-}n[=!_\(yp%$K , 6S8O2 L:rm7,&a < 86XN4ǂ3Gn\wZl4sB|;X?(ˆg {G%tZYPĒXь|?!euEsD*@>ЕԣB Uͩc)s jeʴ w&`.Sq^i]?{͠1w>bI' ouw Z1ʈ 7s#hDi6p׸Vqwmk=M-0s()pq+oS~csJ93k?-O&^[Q8lQpWq кsjhsrH ґ]Z'}ng1MQ*b"KTZ~Ƒkd"I)'_+| ,+cKK䐐+U{3&w~ z!cF}t=Ŀ!6{2‰GZcCǺg|.ŲʋV2eXtxޞ馌kWftgґS/N: ve"8%("6 ,LVxG0"?q>*6c*vŻEax uu%[&QDZ?սM9ʯVTO6D[p*8#RR=O};@jcPJ,{vU].#cq)gob-$7<@"lMȲH8d#)p\jB33<1XY{WaHnW~H"g]"&?rS$-1 $լ6G@ĽX{ųH7/ Jys d<ΑF p2[g? ]dU[i͹Hg TVMpU~ʁ;(&e}#%@ ȀuX-Ǿ!hi{p(/*u RJj!U]CN-Jr#H9qXoQHVP(ZP -&3M@ q< $KeewTQy׃yPSzomj_NȒAE[VKC=m{NiߟSVY ͝Ơ8z 48;CfݹҔ>H~ڕ1%Θ}4%O}h01B'RFiQW*yy*FV} 5oe)SΟ :Ð6Dbd{8ۋU9cS "h lv,ͲLFVI>(ls5aR0e|-D̓":]>_t"Ai_Ovn҄mH:'+S% EA`N,6(+kd q)X{DVE^w}֪m뭑h̄H9*eE UN/ 5UݽF]QT<~x ɴ=tJ42 [ϣқM{0VIG ^&E_ݓ67 PSXs<>-&k6JA3W An>߸oq y+ڎqwTG:a+3!1`I?8Q`$?1:' (N=αj|z0?]VRRRiD+;"認p"(G lBȷ7zjo*>u"ђ,ѳ\>'a.,Rb|]`^5qUV}; S} 40 M(h($™Nڊ`m0,=k5L%?2 娸@>jI+)jDv1 {70%mw(=?[J<6Y'(fJ,p2u{+ !govܳӔ=Q L!rYU l:h'܎f<[\X?nQN, G!?S 唗],}E@6FnVب if\ ݳd2Aھtw* !HX)؛1`Ǡ\GM5 #ȩt,:~dV#3]GV BWŰ$+rxWErK0IċIpDD\A@N *M-ֿMA@.nt}IQ2c{̥9rrp NPl 0NOOBg̝yHLwjqphsV 0w,oo~'[S$+,n1SX}W?: j)νj&NW}m8ǂ]"fbĀ5s"W4tO|Nux:D 1P/:/-Swf6bLDb JQx۬Նino<VxMzEFE8ȁ:z,a|CNa{}~󭪢i}f]\\u\SjӼe[orpntȮgE^لt+ dVM#8:4bbRZGƗT k:qh?oOgZvH3 2,:B@2u'A37L77'5.Eѥ݋ȶ'ީCW+9{ 4@¯0+*=)ÂV87~ǃ yMf2n3f֨XxvԎQ>,Dђ{婢;~1% f9>I1i uQ*teeA:ƪAZh=,( ɾi5.u Q+aNQR붵6G$g9NDTv6AI5v{tD`oPqV3<iy\u?Ѝ=̅eͧ9;P D!-6KeY;S/Ȅp!Okީ;XAf+y$L 7׎hoCm0 fMRXĝ pYBKZ6K|'_vKSF߾s{tvy'IjRY1soIԮp k,jie̥lt;m'qyesY-E9R}rl&XVk0)]n|E dxR[nO,|&  xɑp/+{bF:g ;ţ ˌqg hVEf7Lao%p||)gj Q,%jw vDR~^&樢 ǡ}~gFO k-ucHil`a`O[ V m9_ r>#BslAR&ex\7JS@z ICU=xP A(_n=(]-I:R1Z> b35%D 5#WtaU8 4lAV<'fPph) aw988+f?(<1*^}*q1y_6Bdc./2A3o@2Jb1vW+}")d6(582O60Cq:;imV?mGWo_$ U4Q*z{qU{3ˊqLU0XEfxNJnӄR3 ?BTod"HwL|a}>Oު*i hv=Blk5!FB1ZB*>Ɩ,BZ4Fb|4/տٔ@Ycf( VD h=$T2ʂƊ򡦿߽u\S?ڐ:o<)w+Xq& px,{aחRげUz=: \S|3V W }U2@bG&|_c݆MePWjwuUFvۛ'4T6| e)R5,a/"D57R c,tZIGR;C\DM~*ɸDzYWk)eʳx X@gƾvi+B4{Wx~r}P*9+3Y5BsgB`ɳA#~hn܆(Fk+-gYI cA9"IՆxW/`B׋Ӿ ֜#vICãxʞo~]*]h{Im0!jgrɇ!dǭ-Qn]`}`v4e&dew. %or_Nw>sS4oacCH;_a}-OxX΃m"+<5#VP^.aWwJˑF,{DG$e뵫dg c(NAPG.ٔvd=s fdo N|Cn7 Ojگ") >"M}mjbi,r+C*,m ,S=A4NcQW w9Of'&=~݋'4uE jVh؊ťt؄ҡ ;@jyϳJ\;Y_0e"&'>?bHK駻3olF'XTU"oK'H K2莣 55Zr4#aEDn̝0v4wt) 0m})EΒ&OjCe)3HD|ʞgu쫷?!0Q׆]% K~z8]_5װn­ꩶqy#2'HBvoَ@\Elr~Z nGX["s2\H,Pzş`/~z|4eJwGae x`Vk4_qʻh1TEPqI~ܔu0ΰ& n=ʹnU W&ydϽ>5:"f) 򾫪1k[rgWB60&4ױ!ÇP!L -WDHNvԟ3='Br qexR^_B}>xiH prni;5m[ rR^7Ėl=8F/hqDJ k|:A=Y,Zd8uGNΝqLc؊ޡj "~>ѥW׬Hb|_dG rZ&V`0ZMN(7^dZ % lF`pBv:K(&wi0n-z<kAaoUNPk]_C@qN"Z8,7L܏/rpeM$׈ʵpcj ;۷g&f'"ݡ9i (fꉆ/ f3ଡ଼F0l,#~9-4G/*y&9c2KW-B&!IF@=MgcA v׊V'AfZ2:sAeT3'u_Oq6}eE${!7^#uwoGrDE_Q`A8C&e\أnDpPH7s㧷̙ۗ?Ż[MG`Ll٫TOp֢ B@O o/Ό AFU::8z˟5][k?bR731qq;R6qjf-\euKxƁQubM"f1ģB76N - 5D-,LaG/ Ĭg[o16SF/1{Zl Ζ.-K:IHLr)0.rY 9V`T@p,{PYujIz.؅dHfJHgmK?ɷg%$=k^yugr3n/5^+:SwCo0#oF'b*eoFk$%Mg-l^u0tex򬒿Gd:n/c0숿jTԘw#fFS…JKbES|}L*ɪTxaNP ّ0ɖ~I gͺg3W!53\`I8mnwH}^i37M"r[TSF+)q&:@•_`mn\iDbN3X0vP|9úI!o`-Iۅ7wH[2srO4,XLP$5#M* ]h< 8E><̠ٔ$\^baH'h(^%iXDIl ((e>ih#gM_.=I񺃆bO%tǜk<='co8!g/ X1enYE9h>E?oKw~K 8azO~Ga }k"#=KfIl(2_6gB|~G_ȱ*}D$aDGŸ"eO2&[:N- _7]xo^,/F^@wzM5yxSaU9q"Z>ޡ",c%pB8DxǙ`qlb[/w40\ܸ ͣ^wT$R&,/O˝yI{3N !:e->?@F%QB+ؗq=Zs0iÄO WW8WRI4N/kЮ. @2nxyHFeR,/F7Y]3SG95#E4Iw611+;@l6p;oB;݊/X5zeyxn?kc$cm5s>K@ 9ElFyx\-&`5O9܈fٰj),4 Sz͌eREv90/vWi< EZW͝Ra=|tsyP}Y6p秒J~sHVI4'%]_OJz<&ҾHI17xF:|}t_b<{ HƤqj81؛v ( z!·W ?^X{\?uL^Ko757TQݝ "&-v"e>nW7-/ SdF(ݣ_EM2 clD*?EZW`ƅIMy{2 Qxaց׷-{*Mr+O#΀lp{%꿨lo/RUCA#Yp鱟zUNV쵁HHrKzukJdeI":DHvwbHQ〕f;Ekz9y~٘.$C3iqpxj^ ݫ Kgؿ9F@&RKyx1zP#1w!74FawI~ 1:3". d'- ,l3hNӳ2]t`KH=mArf?X+qOإ5Ve ͨ<>jе-g_2ֱ۠$LlPLppc(=%͡*En(mqsg憼~go7L o/6{$$NM?IןlM̧`9K`Gi\c+%bTv)˖4ǞpblȸhǙ xJ#?QPno6z3I`P{+YpS Q4'49TߪYλWVLNz8(͊x!0jz~75{GDpl3E1%P !ګX'}ɉڵp[ UpXnY$4z o:*d]iW°bE p@6hi{~ӗCo. rm]<0fRn(Y!ZdVyRd 'e=$sK pXX}$I%5V/8=I:*gm֖O-\VCIOpT.>XhII/WqQ'Ym'A/7Q^`41ĺ7Ā+r,D.L._W9`O3t{{LRhL ^k%*F*;I˶qU܄$,׭9AWkhtUHqnb)rvK>*pOQlf|8?`YCbKzYXʴ7Dc)#a:5溣8/^-'qQ{U A D{8HѧKrvǺ[xF6zV=-\6i:p0Tb#Ȍ_5T ӷF8qX (˺/CU+` 0fn(ᩫtW%i;E]xzإKF+`ݮ ]i,$Qb+0|Η.꯼(`oYJKM? NQq)sLH ʯel3U~@KxUsR38ZGGy 0ٽm;ƗkD {]^~hIŮ/{Rb*}y^/;h Q2^/4a0RtgZ7s:6Zp-pб6"{hSQ[:|X0,O !Le+Pzv "GC=LCe1H;A@HL C 9,UT2W%c#P5G]o_7l?dO#!@[lipCbp-WDDF:Az5LCrݥ_%N:fѩRLmeRalsyIZЭ R(heBh8ʬ@IM cvK! # n tD3Pѓ'EvWIto-\<ى[\s]R@'{B)qyi8Q Ih~ X?g(Kx HL *oƱp"Ȕ#mT8ܔ[I hsF.he!B1nVW\2{% [5ZXG H7QtHw^kvA}qp6vB AK~p\kI] 'xVhVSY)T +1Kjp<>4_-IDƭ;PYPb93A>7eN˨ԯ !V=qMP$w?@YG2ZvL|_aBc>gVрKnio'0mğ#""9`Agb |݅=iPmsE|hi*K=ir_Elbbaa?!c:dp_~/ֲbv@}S#!I͵8d;uBw_M'lٙxؤ}Pǘ/\A\8g8ܜ$rir]eVN(6UΉɕ^=vgPYl1?dP%&Ru,I2NҾDW=Fd.WX61N8hl1 V-Ƅ1 l^h$L9?~FWjA!S,` jTn9VK7J1D("l~<(s,dOtRTPmJޤn:5\rW[ Ll|#vq%þڤkX\Ҧ﹂r!/Km`~yV6{;[/BӄS#E#gjj9cy]GƔ"H6C)ep &khkRJŖ|Q~vꌗ^οA=l=vP&G V~z͠>uTѧQ͔~0upՌ1}rG:@K.-̋@o:ɇQF }-Lڸ2 v~jt( {?!ȐXN`# lutϳ)ɼ=kn5*ޥ;ib"Vr01pkB &]Jԡ(ertVv;1w1>`4HD' ڲ>Jҡ*zG5,BTE^"rE} ʍKM&l.ohwK&Q-)7G~3gOњ\T0du\w[_q:tG2pmdÓ;/YI[(:Yá*҈%oǣ[hVCֺ42"2Y5;w<ˮ#Kffrlvf0'GcDp/ @ZWtMG<`%.peR}J}9&oIAtliT[iѻӗ^hrt,`zH}Wun|8L&B8!?< O%̲\N&LaR,m[q'jqRD#y>R$|GCxZ1vz/ZXFWAYv*={PCܯ U i% mLΟG%L?H26#N*JxJ0i Ƅ~O&zw=rb593JϞ#cjGӹ뢂-k[dWIQ{,CDDV)akRNe0 f:f#Ը"vPYxt^7Wd+Pc!x=}%76inIN'qߐހOU]˔i^ұعT2 3|2aㆭdw@S~{_[!A l2Ou>EiX?xm^9$Ȣ3zC4tڇ辁`#J5T<ңH3*GkG- F rILk$7دMfHvcllHA$6IWuNTuo9+_[ʜ4 m W8$W00Oe.c1= P `K /NkQ TCR-7MrzةL[e ?~SI#a2?Z*˨؎%n}]C%4UKeE=3M Lg?"۽czrۜPF8H91rK񲐾>gS ѷn.v:fۜ;3UP ȋy V 4J#jߒO<:&k؀L>'; 7rT[~uhD[d#K >1-UL.f\Jd!6;sʨG"X䛛>K2)n{YFDM(##rb֮L,džo\UibZdY#:dç+g4;C ;28YIeҋ\U+І dWPڧ3M4XC)a2p}y$j2r ?zjJ_֥aVdT3:1WB91qgoǧľEoy)faL] §zq;΅Nݤ2G ACnV˾`1S&ǙkiypǞgÏmnE6nGÙ\)ͬj+تH\-^m̊G$hT잳׵C9M7Mh zJ7_5Tfhkh>@s]~O+h׮~h ?BJ4&ƑߕN{P#@5eL*܃:.6Ys?Z 6c1Vwc\Bc' m<\ڔ$K#0ɢJߖΫ*_Zm'L(h9Rh@|t^'0 `W:QQj'Y!l2`$ S:w/ $J'x-GvU=ˡ,}Ō^,3s7~v!ܰwXw3V$Z=$ABV~LF݊&QA#KX+̪/Rf \$Sq^b5R#0!Ueת*L۶Z(]UY=K;?ڏp#s.?&x>F5ٮɋriA(هnyL]&8hӺ F`dW2I7DHƏ_% 7ěM{ay `͆ L[3$%cjva?,!{uj&CGRix:)O̷ !H:K lGț3e淫dб4(v>d>&Rxu??9'f(V&SO+A͍f1cQc_kg8q--UI PDvGb4~g0Ӌeiqs]r eLeM=5KN?-Mv*7~W6JϢ#c]V렆}Oq솭!OI'myˊuێ%d2v!u Cxd3\$:ZǵSWφ/nr=D?>]ڜ'p}dL%Z{6A~!N,K?D6>DK J}ŒLAv~b0 _6"uɝ.aqPQM-#:HI-ᑃxeMIt.S(V z DYM4iocd#놑v7yߥLZ"FM堵e;[OHH, l2=#L!8`;&l,Ԋ;s{  [{/LvoT]D9s{} ukMaHh Zϩ!3flwg2TOr7mpy)Q@5݆*L+|sO&6P2`U0&Sha)%l xǤm0t15ɚMEv{ծ }LY ޘsP)]S09huaEdF_^<3Eho殇ѦL2*N?3j*+cb;~JJ;tqZ\6ԬnFN||0R< 23Ϋ;FF|/ݢo(^W )%6Nϒ?&p׭dCz(w{w@J3Vj^0-8nFWďqP=K{cF}hSv> iyf8vԛst''CGF|(^}Į5ۯ336 [; iUp[ooc̽5iޝ_`9jzf nIHԣ{Uj@vWS^_ͅc^B"F=k UƺT *jڍlM v4ie}3 6nH}HH!'ػq`#QA_u/C4a^o"ίfŨD[Gva:lJW$/ "4HxXp!9Ĭ+2OF2UtϑP EG\1;\"]Bbo֗I.QЃ%RfIQQa XtAYs+xG6|q_3?]^FTp"b]I7+BZupvJ#ޛbB)y ɟ_>GDQv[r^{٫OՄ(sܚ7q@ƬU\ȋPMc5DxTQo V647:;z=!\bd|͗>Abx6t `~DU7(8Mk!^¦sT#`~x!LVM3t[E e 5{,n@9'+$N٘'_4VL!53/slc]{x5sy2ܦ3@/f' p) (4f\`%>|hBrz+SLmP4X&3M,\߅tIAx}}XN#ǜl3D&plwٌ鉘 = CX܋^)\PfRZhcn>YaP]%F5eA_7f25Dfs-~^UR'M_Q׽9V\3~`ĈۃgZoGOUDsHv.Jdxf,$tG%9G@oo/K]MD#aKRuPLn߉6Pת.{Mh<'<=Q?C-G@̧Z޶m$NT{4/|:4g!xͳvPi""Z(ߡkcAddzH-~A >wDJ9rJ!&8-k,O~s'<њ5zB}"uro栗ٯƏ |rƮeO+?d`jnaZ0@tXj]$ d"+'T?Hj@MHGd4} u|м0a :LϘO 5_Himnd$ OPB"eľ^=ⅳ?jF"`{^p T] B~" DuaꁺW3ώPV9BEr^<>aY}CGd@Sƥè(0 ^ +唸Βפp`s"_Fo3DIfY#),# VkDhyj ORʘ-٢"?k<+׶4替|@Ł-09w3åZ u` 0#㘮1Y1՜d<ooS-*x/|}?Q=?P={l@a%D2Sv5`͗?񮅠] ]4MoȽ.wDŹCElg\ \|ۈ\Lv9}}"GG` c#(x\ll d%[į|;W\Sɢiҙ 5[Z$V{7w+Xc] i'X\)\>J|#e2Ef~<7WDi:ۻ ?J{ҕrչʃi[~5V臉6L'\GB(Nɋ} zB8lGϞ$PQ2+y%o/,El_3O/k# 1BRZ`HqU Ŷ F1<@O@L> 4/\9{? ZA( ;5xL ۲*b>CI¨ Ei㶟zģ> [P?ۓ)q*r!gDIQwPO# sJ%d `^ߤ +`b>k6Z-Z{zw1G:+l'n=EX<6߭?];PX1 >&Y Bx·3ҩ".(ÂtW rYrlC:%\2=QSu5btitS٪mefV#D?[%Xc;u [,3 qHdƒ˛PKjNYeTSXD$J^i@Qn66eP"Y4 kޭL#n 9nri 0|NWC g8۝፲qx",aX$5ӏ Z15 W_}!:Ȱ;U9џ׃j.U:cPfzwQr 3}*NeޥH2_R(iU}ߊm +h̯/}g:7qQx=ʁZ(gYvXL-nL4iKܭLJ4WUv??RP}0n;Mnڂ<^t}5k":@lj:ڳRמn⎕>:l;9,M&bJNSOg=][xvZCsb4@h rŊq?Jm)X;e8{&gWWKt;''Ozghs'}ryW%@2PڇKa6ƅm&O9 /{F/#LG~-g#xf4|qN 7og V&[A.$T! ]HȆ}y07]r/k٫!1n:R]*b?YWZL\Jn;'''.yIfsD3v 8RR%\PC1w>L ;vi> * k2i.9&YWIb>Aؔhᕱ$=9Ӽ1]ŕڝ>)>~f/zf{AS]@:YX ztTAh cDR}} QyF8NyQD wxFnD!,RP8ٿ\IR/6טִ$'",7t@ö7^3x.ws5 N_2TPrBc F[&$+ȬO gO[1|]/VGQa_>^ȕ<5XwS-])"jN&h#:sI~.]ݰt.Mƍ]Ńkyfek4NvIrVx“@U)93gEw\w Q!:mt`ef(N-?qO<e2)X+ȾڄiT캂igJ!,3WvZ*RiW3@bBYN2p#Cϫ{2(O\չF?Ūql@ޱ~q&i#߲CQNbs∏ICy,x 0eݼl2 6"'i˜"t$ŋiXTAJ3.:٭̡ڈ,ޫ6I."je8"F"MM 0z6Q|Ɋ' B8*!C>mXT_<`QC,= x|8%tqLTp`5Nђ# :0Κ!6d;!>Japp]= oq9 vJetOFM!zk."1~g "ﯾS~ @&DT2+c H%OT|Z?":"UyԱݷtnɞ6 kg'壉RjΖԢ[׵Qy@,Iͬ@*K7ۻVgp|dV'/3HΑ'l˳'YfU$~Xc9* +t|2(Z9Ч4)AQY.n:3Z,o*j'Ok--"h %BƬ By`xLm X=tjzF0 GsfWTCcUYEM@8wvѓ3?P@OM9&yLdzkϨ u͐?O~g6 ^I_Bj]k[}l}e__ DnXJKޮY}"&c4Rͬ3;jPU{)Y&~Wtĸ 5)O&&Kx2wK\}h]J*e.HܕjPx(PP ŇqdY$4<%- !ǨLz \vt1/YU,jqߌPAof_w.ZNzL"Gӌf咭Ad1iR^Lɓq}(z ̝pX八a/>m>Gv'!E$HepU[膶ad/fS9U^\ΘoԃZ57Ql2ςb h)74z tL$opBaO%SA!P\QvN\n/ژqgO:x;:W v|9,F[}[aUЎݦhٮP](+fdD98cza~>!>$p:(&bp2ݾTzpL7l=?+istW%vDm :O6e?,Ȳ5Zw%~ir; O䷪2 Hp[xIT?{o5YYr;lnîh)(? D΋pfF@ -tqi I[i,ȈjX:LS)43eMN+ǥ&ǼW!8\'ndHa ]eB'olbG|r פWf1쿹,0ʍBzIZ !gﵧaC`kGFjɠY3NaD8+ 3}b |E͐>;$'# Z.#Bmp=w'@kA):|q[a0;ϱ oEir~[ZCY 56^A%'1RJp+fsX3[B$kjU<컄N+1/i (ō&=$WH\rSS9Ev3-{I`PS_ۊ| ևiE'y#))@칣zOkZ{TH%A]1 ҹ9/>a iMJ:e ;{UNWL6 g VlZ]jtKRV(n[$!<:yAF.]m ґKB'وwO0} l4q"L,W[^cQ(P9gJ'\JɜSX"ΥV `&n!ÔP.-WšȐrCsTDecmbe#C8 ,JNVFoW g\m;Ts)CfV6Do }Yzmz6|-ӁD)E]aF%p ,Ba+JI㷴kCPvѓƋTe3W2F; @*t_hbMxhl~  2;&AjzȌ0n/Pmƀ>ھ\aF2*+^6]3M]_6L''^_0#0Oگ)a;Ew.:0KX‹.T^Q^YcrS ♗~%P8Rpz&Wf:eY1W2dJol`fD}~tUEC'r.&rΚ~L,l|(M%Cކ[ڤ s~+IVsn4+L?LYQi~]jUĀ 4 [P5zڶ XN"6#{L[gf<|K2N4`kjMn5;j<^\NTpN< jA J5׼ pr~㶋N+YqTPh1W(I$w%_}m Bq_cM v*9!*~*T:1l-7 17Ϊh/hBcnF?p=o4M2ZS O +l9p E۽DjS(9ߣho۔m`Osރ J G̸EWAQUAż.X ]g񮀖s"uruhHA͠5x"#e٭.x Ҽz 'he]Pf/"Ck zxӌɰWk2#FM%GEԚiZ5y#)wy$1EAvs&Towv$o~p@{UExn{@I'yrYlO#[FDJ ˼ΒSF<Տz)H9 uj>[0$>fښK!T7B?No,@ &6U{ߌ dbݿ|:q3[:U"1y~2b 9Z+g]RܷSfl )h|ן-@ bi×U.ZZA񙡫?[X&B82沕fM-a'f6J:~xɆP̓ʚXW%W?si0U6-<;vw|PV<#S}~>cT,k9މ)IYѮA#ik!}TХ78X#VaRVVOm؂ME6{^ Ŋa(weFS} Yjݏ ?<]b .hzAUճVfoc~cE–e#q|7_v;0rH–z~R7+z+@K.̩vgҡCvܠW",^~a`DXa3NN\3ʍx2V~T8 % oyC'hؕ\CyAB+̆KtSr fYMt/=Q5EkgQwY/;uPAQn FA_?{ƚM.[gZP)!vg RTP-E 1Pl[.T^I*m#it9;{HC*3𦣀!kF.q1K::_W F({B0~$%8͌a߷^|8gOIܢ@IqnPYI8 BC),!(3D[ C ĉ1aLW-ǒfWwS23#w2! ; T|mGȆWxT?db\CjOt6K|,Tǧ2څ{zڡaA0ׄ xwo1ˆx*3jLIilvc^$b*ᇈ k Γ!_)L>RIIP[T"g6O7y!=$f)K.x7g 3Ӓ)?hPX݈ Voqr$J\`M!vBMsyN?k9븆44LVظʎV>rdMB䉔Vן~mUp1?C` eRЎr]y0Q;g+R60p5mtefTƖH3ąҲ~t-71x߄Hʼ U8A:E۪Ń6i4+2a@0!s3r0 òeKN,ϻ"[t P&;ÌGrcѩ9m*rk!YKj{6bhÛO`{$V6uE|L赞zеKҖdFQͪhˆToE+p8wXdS+⥈l>G0kOC5!+YĹ2 ]B{ZXgdsŲ[S XעSb+f-JH !ʄ˩!,KPIdʒU̗3<Ҍ oa s4D;#DU3߳0n3@-8u$=fm)nJ]0_ssTg۱66HIz0s Owۦ kХyn8Gﳞgߗ(/MuRڄ2%BE.uqОxZ$>ڀM8FPs`Vy(bJ' dw<aJK-@7O'F>Y,@YoV"/lN*v\]Rx:^.$anCR1@`ZjU!I&!ҽsEz>:;IJVE*_bɟӷTP R]t^Rp Yja,+f:k?,LYcݵM:(؝Xa0O-3@&s#h'ك*8EUCCYm'~;go6)*]2ƄNU2C &;O0A:vr(}7ճlSMƠ.>b,Z,xU wX\9>Dgx~80^xlڌěxx끉v/xOGԷꦶÝ-TcƂj<Jɾ?!^Uo&׷ H%X=ZdS;zC W`HF4?M[$ֺ9O/R6Ų-|fŒRS$2fF#CO9݁Lt3^bb,3l@a\@3l@![> ޙ#J @VL ՑT^_Plݖ'Q7.YoE^0PY}Ԭڿ=Y=| lI]:Lbh=쿵B@0%O6Ul_ 'SM_5该%1X} քk`\C!9T3JJXVQZta.0$LyQ?&d@.S~TY6ِ,HB8؁#;@s ڰ1;bAvkί lSRiap#&*\*VcI oX3 mqI*-&@DısXsy{Y ئMp;8Kj(cUK`kò*GUP]|"AQƧ1ۿ, v_%jArx6?y[ 6jxؤu-^:(PgZ  @c! 1#;%Hp-ܼJ1P#WYO'|_ 6ɬ%p _&;q2\IKy]3Cmlۦӏhig|b^ZQ^@ S {G4Otdɯxi})ۖ~> 2d9}]z+zD|&H=[i)ԯog-[7GQ5:/tEe/ezaڇ o"UB'QNu\+_/ OG"\8//5 <44{Y?"eJ؃OUObϫ%]pHlsF??h?N)wʷ]*6P֙lu D߼=;@҇JkV2kjxQ -*}O2 ҇i'{+jx)G4; RnTᒙO )GSm4s*bc>VHElFSi)SMl jO1]Ӭs`XN>CQ D|SsvC": 9ͲҜhMHe,`Ʋad& Sls,Q`m\=dMjK][EyclzpnG F0*Ӊʉf)ؒ`/ U]1$ )BR1NceAMm8@">w ÌNmX)c/hzۺں0cg> vqtI,8{B'LU!xC)RoMh{@-vͲvG ׉{ǫČ?Ť4ŴyוiPs ӘUNw>+AӰ˹CJ^aT`3h1ҥz) y qGOb[EG0Ru讷کܛ&-0`'NABM&Β.1AJ8PwJU"Jq?8ʥf~IԥH^ y-9O?ۑhP] ^NS7ԣURyTZwy^x&G!N'B*f2=srUu:F2gs(g ;(J6'p H-NIvOJucw/k+H%gM=2ֆ LB-c)pMn%\s7[¡5)/eD`j*ynaîFu;MSʓ=bܔn%ޱTFڝ~=46;i B[3Tc6VQ 4pS;Wz?Dݸ}qt[S6 ɸ߃$ȵ{e{I==5;1Exx!!`\ ~?CYXmЙ*צy-,s 6o]Լ7ZP`W+37P[*Ȱ'^Z}-s|t)Pju|c~=\ Xq41"4J8hd3 QIeܝ~^=My =`o[Ǟe6i,Th5a~"IͫD 2RgxSO-S_3..NouJ\UޣwZ58M WL,Y D8b֞(@!&'-k4_,/ ,̠G]fDgZ:D+?OO)Փ.KQ+Ŭ[2_oIsՊuO*LܭP9aBiR 9%xݑzx ˁa-Ł^gssݛ/L -.(޶1l8XZuGݎE |l:(W3c3D&oy./yڣ&,] Z>"1c{%zn:syadh6LN?UM* ?JqBv(+)͟xKs Ƙxfn8B-? @9gꦻvQso69 .cANN9C"ؗp#+ p1Y:JSɽ+W_K5Ǭ6&UџĖ`g1qHhb"V?8\7IK "МB?5%gB0HfYWQi&CYPR˄l?3I%ҋXc܌+x\ ԸHʫ,q%rMIs;$TMUJsaY}ma5:0M>gtҾŒ@nxk΄pi- Ʒap J@)2k*fk|<&0g'whQ6s„BYE-*AeƮ9@C`$2we 9D]o*, uvdzy:MT Z! ˇڐIeދ. L&#oSNfm1m*:7:] 0MrPĸN:;`L[ZZEI3Rt_N`%TFrO9h7+P{\ =JltwV/-P@w*_YpԠ)Ǜ'=`ll=20 XMGcJirƒ \|ASEg*#t2RTxK\EkGsg5rK[=&Ѳҁpw>f&z:h8lk$hd邻su9Wܲh:]fĄP%D-M *mYTbLA1zZ꡻ŕ9򃯢A>rh]@K~^Ѓ$S5ӽT™w[)+rd|U>(65ia{?+*X# B54 ]fV;)2*#4) KaON>i3$Buko HeShkyo@/1Kjaaoqк= Kn>E :Ūc%ϏΝ#6lI%'S_˼XQ^TԷϷeϖdZvNn=Ɣ؝ ߗ3kʇU3[#\՚0~A9IiT/1.&\oOSa<ǒKGfyP~pXcU WIrsvFy:WswN/Exݞ8j Kl.ɬĬUv4$~ZJ@<yh4©4߃F%M4>VҒ5ᚳD?}փMj!瑱5}%r0s[sEf\P:eL.i=fX]D,Wf۠S˹ԧ2 B cN1%p;S_;8AթB&G#k0WcÀI2U!~]M,X5s''<[m8XSa[QXq) c*Wb zVI%eb=*u 5ro Aid`"4ϕP?Ԃ|:F!(EDLͻVQd3}PЏ]A-ɲRtU|k|xc=B!d+bj O-k?Wt>"C &FݲzQmg⁅LeO{jXAj4~ s] /ܠ`J͐9KeU4 @E~ހ}':ՠȥlo8Uȥm, 1X_ፘ~MWqrgjSc{MkTVH6Ǔb`Nh}<)Dr"O@o~2:;n̪!A S=P͓O,6{nVPjT^) 5=v S}?IRd2HdX@gDV)~P铱>ٴfPA C~tz#kܮP?g([AkW=^S>M[-Uu[tA6%`̮Ё>GsiU7):<jTjDSq:15vpY.^1+!ҷʒ)wB@&ݦ ,ݰrҭJ$]s7/(\p+iU,'Һũ\'g2{ꦀ>!+Xi#0A| 6wx(253^X 3%DiqaJ'27ã:PKܶ0m{$'Kkn`7v];UCv_tU ;DX긎<\7+$35TY }wF K"qRp{1:,q'^ߤg8i_{{]8quk鶊p8*o:73OkJ`vgy~W/Jֱ{y \饧@diӄWV4ݧT(I% 'ݥ矑r7W&)&+ €Y/$qraS!ت F$\zF"VbMujCSq*v^UC SD,fC 0O2s/fO8~"q ϭpe6M>#8S ~0<\֠(v~+c=N!r wv}O'VW}$#˫W(,Yѳ)}Մn ej:~_ b 0pL8& /9|S gڨ#x*Sױ=-hs7[AT߂ ӽ{:;V,_y\@h t+Uj 첉u|S#sD&ܘ+/Ma뭈r bj d3")@:42C-W⧚5> A'Eԛ%%7ImqG lԧfչݼɶU.Wit 2դ4ӖAY2,q ]eHMF|ynci;U>J^a+v$\łJf,#Jk 07Ѱg[e]!riWֈ G6G_;k3=Ձ ƏdvAxrDOE‰"sL3F"ч sDxԦ.Az~l $e߯^RpHrA>M&fNl0@:"S{΁`&΋0ķJ l&B CL_5gy,EYE3/sPT |T*ҫ4 ,ȶOm";>fF:S62ƚ]ȂL Хh>@n>CLFA"Bz!z|u5F4_F%mYsZ}N1TQJ [PT6L,.DĬJZi/}2$2.86'np=EUMsSTK}*r,Aseֺ=Gk۪@"0TC*`]Zt~ ƈL s U1DufIrhIYD Ixd͛O_Dz{=Y;7|/ T*L JkoxK򀰳PS'?kluO%{z5k) :z~t/Sn7`sv !S" 賓zO Vh0e|F=pV~(;9v3 ?COҙKofCKSqE-)MZuO4mNKCe|8v+K.H i..6_W 3{BʔpB6dSl4hHco`I r\v1 uX6tz$ٻOLCTuUN5=flA";P-HȤ:7ya @L_!ҐRsC q:Z򮏈֚Ua f'cI/jK(bzCKU؞fgp ,d3ZNMhJ)=t+V>6cF^͠k%:|+:y술h5MQmOU,[I뎒K}"M$tp|z nuw?rtV;LSd\Pl~{K{hضL*Ӱ*- Rv׶󹮀;=π$Dó1ٓd%j+'́3. $oL裁#tM+XeiQe+ _Riɢ2ccpx^#BrQFhg,I,K $Po I@p8_ 1ߔm} f7 <8&<Գ$NQc|[Z+i.Dm%e\岭 xK@aû@Y(kҭRj26QŌӳzfV߳/GՐ"&qɊ.xzr]\J(7n/VZg4Ȍ52!z\iv``M"87/] /1IUdc]g+Ψ+ e֋wc_|̀ D5Nž#pؐbD `$+JTnxk\p,^WEGxi7r59@h23侭Z}m{AyGs^l@RZ<x؈3TccAv}z2|d_^qyGqRWۤ`%_mwiK{B˂ZZ Ny3Hf[ ka[Z95aՍ|btg 5N=LWOQ!%\:[sM0{s(eDN ^'e1pS{2yȡKLiu 1eB,ȗS[H)faH9R`;b5z;׆> QpuI46h'hJ=>rIɤ];|\D}l!ρ~Ö-]n ⸼Z޲z*!_o +QY FL !3VoȀb[մ^Ѿ[qb#Ot2ųIeǧ(j/<S$kI6B\aDi95 ,:tWv9ՙeŸ*_guiJ9kH. Ьt{nmДv͚kB!ק[l6w cEOp4* E7n|W$kxDLr\ԋ(><A b]!N%bwa9j<*R*[dEv_ay+j[c$n f 4[M9KykMva;ⲳowvLӦ'4bo0PV=)8 D m;mYT Yއc;>ɲڪ}9*x+mB޼  kȱzbb|`iꯍp'^2?㰍e )G)T8#ttG~UӠD1 ȜOw␆3ru7rR%ZifBl"w3HD\j3SQvyKauvG<UP3R]e -14L $ q*@@u2;W oU~1Q,~E)5r!%{KOm &„,):ДVbKX (A$f6 81]IE3)oO9$6p d1/<#|%ѻTf} Y|)^laaE8JBȋXڃݦ݆2ͫ _C˾nu>]]c5:.Ɩ[Uu~Y ā4Dۢ\鏔QHt F_p3bwĶH~;`!vEID7 =mpިTu a]8ߧ<ߍ*~gW^pDXa--O)^q@#E0xV說,1T&]3'#u$%Cո$\pMkiE;Wټ~ax{ߏ؁ZvJ" ${V>0E aq zy븘(qf[VGn itֽv{L?gh!3v p!Xژ,0sku1cxO}ӷ4˩bKCuGV| [5Ш%P.[a@Nϓ úu,M{ny",(F_3)t"3efet׀4彩mNYLG%"S,Is ;zT`j[1G_ұǍg\e`۔۾?BX "\h"tń&ۦ8G\Mcp+_OxtNqVEʓ\AW'J!25E*ۚ3γj$B H{XI)h{y8 gdݝW0VF+~-Wr z`Ey;엸 9yh[S %V)`A]CE&̠+:Bu jB.NysHQHݱؐp5_RSd6 )S]AZ/̇7P6LRk UGSdzWy),ZK2P)й56/u`hT7hR29t@t:K n 9liG'tQ Q{fΤvV?MQ$g >Gm7L㎹͗0b,AbA*w@N1F5\˱CޔɧH ԼU#X]&6E [jla g\?CixQD9KR8W˂M(xW>`~bytڐ?y<^s,D*8D젻jAº$yAX6>m *ayN^([TPⱏw2Py'xd4 Fk䶖GLPjs .&ǯy%]a3lkگ4[W n(zޢFCS"Z^^!n`teo3ۀ:혵ȫbŦA5^[ECI LG՟/$Xr Ӹ淦d.\hO'9k 88F+ iHNA Y3DuyhYa[gqc8ldA(舝PuE~$V=`QT#F< HS6@<)PtH/)V].Ԏnma{H_?ulQ~B|UM޵X$1ҴՈYYNuyFx(D;m $[`c&~[XlnA&|Dxd) P/> ؟߳kYq"1'JrE#Ä7=g,z !uU儀O[zBWu9gPkx)DʶFmU#Lx85Yd**??ɚ=94.SQF\v!1FGD[[ᵓ 4HFcaSLIod66.@', UUu^@me&#bc9VH->duLU:(=b͋ DdZpP;/z"=xqspCXoݝG?,?L=/b\<4,G> 4Loh^jo`FG"g0'tݐ)lrĔs)8Kx2 ̈́Hl멊ʯ> CJHy;d|dBNyDw bДWiզ ߦޥ2,y!^A`3OQL?I8zhxV,C TbV0(t/|+…DTn!E9=c]Kib=Eduب|? &&;aʄ4^ŲHzv6>aQTܼLVS78ȃA͟ .'Ws;og=_x1QSbt.mu 'K#b#U8a]4O\gރ۾;+t+7wh *HPZ -Cq밴8Hn/ ::76#9j哼ROBQ٫m;$ :`.r8'=Z/VXց+ %ǰvqcހW/oLOE&X u~Kf6^[N jz./r VT`you^8aF !UYL.~A^:|7[H[uDXEfI--d+ F]p%Jg$-$">ܵahR6;3ĬTSZFӒX ߌc$r<,p-cnߏub8o#&AJNB禗`gtr~yN~Aﺣ> Nn~9-juyTO:210c@v`ȩoT!/ZY:uA U^R.o;P޶ VD|B;14FVR7ʪXsGbΈ?VkU\]\PPj<Uv+(+4eQi̒2oa Z; 5J=hkL{EӍIJISS^{A=p]k?^q/$ݐw5O îL-]O!`'A8Ӧ8rogX}J>7(W;n+SϮV037]hM.kF&쉐,ɨ!ns$k*@% ,D95a'\lk'F[EܳI W]1p²;8+*Oۍ6cD qi 6?\aRuevp6j5Dc"H5!̆ҡqO@V}2r xqa-zݪ8ڈ(ށu[HqUL&{'X?>hoP[VU͇mx FhCƢ˔{,X} mQ]ͱ4RN eD3u A^]7ۘ"zUdwsDJ;# K"qyŜnZD;X󲝇FC!.KqrroiC .aH6cX :Ƀt` fuCdͥʈNP}j}|p#bv*Ku\\s<sXcSAg>3ǎ:#[?C2k4xgAV W$ >|j0AE.BgDxPvt>ҙP3kC3N%I߹;MPg T RK*%U܍J@EcN k`ŞD 0|nl[C%"WVy:+ SI@a⮏)=xiHEJ>ÕOLoo˗CGZ]+~`KO*GƒX$ԌXV{%lg& EdB{p":2ȣ.ȣQuz JA 0T ,T0A v#,)n=Zsp{==UֿOZ#{n= kj8'qЙ0$V?!@ `kP;banbI{pW#ڃ>STQ>rWsEuƵ6 _U:3.W>+:˿e/||Б4/FQDK3B0hS6Zjlt'c|R˖Vq/ ` bpZv#Wrp3 WASt i9"jv,^ ~z|)nRl“H!o{k hlӱAh3L1ߚN8a)]?HP =,p~ͦPV!4 $f ~[p{ַZkb< EfA˄w3ȩ}dp3%\>!"+9ve=~ExfGpDqIۛz˸ :ԅ6ey _x#NvЛo&zxAXUl-]z3|PdRbYqvK^BrLC{7O&9&`ɗ;CU ^/:AS-DqMp3mz*2tw#L.HUo,,$Nxq%Vr[Hă`ywfT|Mgds,d6`-B*=G蟑֭('~r^@ N4K%?M&@Itc-eHv֫'QYceX$0u|WcR~-s%5xJ9SF65v K>oǣH/UD6v`]rQT0ǃŘ =Ws-iu)>\EMm[R-PR'+Fٟ64Qj2Kcn H/(|sΑTE'ԋ4};6  ݎELr"ʐ7p| P͇W*?(˙g8lDޔl@쿦mm |–!yIRۧylXRr{ $R]qk{FҝX,ZO*ae$_f^'VS j&# 3Dqߚ r[~u g=ԅc6c {Wl#[foQ,6)NzA{eN7'h[Evl "d!YBKE]JAy_xLU>қU+gqip2{W0n9G%P* b$ pK 7,R%/WA+A>/9[g>_kCynFRO$'>WIR{:$DCB-|I:lGQ Prd4qxݸH+ac5lS:5Be5;kxm/^XіUFj +Md+^cZ$ø9 q#=_d]E IgK&#pG89("՘S`4e5a=Zy2N2'\{tcY7! X㉹"Z9_0*wenCZi B)e6y+Ot7bj8h8W0^<(5j)HR>'!*Ņ h޷a fWaSϯ+ 3OX- BW,_̌I&ժ&nؘf)uڊJfѠD_ZEx~j& dVw</VGW;el?woVkwT@fϣ͜w]ܬ)%*[ 'N0!XqOQzD>MPKٜ\$1GgIޛPaDC=y۾׋O#oJJ'-ŵa%( -pQ<ϧq&rg(}r%V#)LW#fPY.Px"!OX٪bwV)8d;F6A{g QNQ9Ye_E@Y4{PElJeo:KN9%gQuC( ִk!7#0nM5)~;ˉEf\Ѕ͂nc 颜$/Ttp##5;qLAZN9 A˄6'Ml|3۳nFeG̴(Ѱ$ xDŽ署:UyNEJ; bhr}?͊V*$4&V-; uKɂm7MY P ɔ]'҉`^d8y:')qŽ}*aKdM_ e}tkV !2kcm dF\ }#h'E8iL6+ %Wo-fyy&EpлR;B&EHM4XV(:u2gث4rX|jDP 4-` Fj\p1$U%RwoeVEKl`:MTഺSF-# ϢA0'~|32NެR*`GG C"#"ڔC.Mȍ Y3l߂WSy aH(y4iS&#Q`&uI狌QYo\9:oNl.i=J7D^YԢ8] IXEyнcg{+^t;9yBUp̈m-R]a<cD3=oB"][i`#H":+I9|))6Ӡخ3 rH dܳ 7Ϝ;`oj[ճ@Xhc h|2}ŕ-`KR( h)#eK/~\ 䍂{#0cuYQ!:oo{q…O5׹_0㩆<`j:8#d8{7a| eV^t!&*rMC_Ʊl#:9! t%^Iqcə3):rI ԓu`k1D 37i{]R74qqVqڽجQ1R&.If5,UqoݱTn@GۖNܝr^ oF͠eY([o`)}#)/&{)u#c1A5 bHki(JѰ;RHʜTἮɃ/CmE2]>5441x Et sBd)ӒeĹ?1>J }tf햍掼:ÃҎEЗZºȯ2NuǼxKTzDruꯄч6ȠJ P lJ`9X)CH49yegwTQ]oؙ9&'ޭ*`!3]ؑNcTANVBJjGhc"l!-.R8?|t>j@vOE=4 >9dXcd(xT%.#T҆c6`yin8H$ mp 04 "lbhWY$MP-Q? -QZ7W[]KP\G^;qq976<]+b/8 &=: + aϠ^6kq>jbd bqwWMtB{I9,ql,dvFU6e k%M*YKۧl6w_4܃$`4#ŠnxVp{IdQv_$~c|1&;5Jri6g[! 9U/"y?9{Vױ-ZEIW5Hd2]H(BlCEGp v 0<pZ50@9GD_=-Tо-`v,~q{-躑ҤӇjcsތ!W8#M,ڣ⦨@aܓ9K't+7a;:2mc=̿(0itQ1[ckz>OJ=Um=8 O`YR+#wa7)'~69t#9I4a\4SR"N;J n>DƮɔ"$f񐂺"aK]~R$LxQadևKդǴ{DqAڋO](vubvKguȪ ϑ ZK* 7)*`̽ʸ A;7khFi()wd>7}:j8.-?\:3"Z]|ZyT '09LQNm<w MWI:=>,L=uJ%$n$PI3s$װ+pvA92gz_*iQenynm%sY'o#AMd[*:EWB[h%QW)p ў4"ޅpo`qH Y#n8~;-r-{fsP}&zRepa$ [p)" i}7+zw@߂d2콧4\mqy[yo"ߞAPIWTljqqtWLGp vz:$~ *MI,Zpj:-܍Hwsi < f8@>^$hxùHa[F ;Ml+͒< b`iX,SM,n1Ĉel܃KaxaѽH;/kNB>"3*Oz[fx#DFt-’? 8sd5aX#3#Zx<訏%5W@轼H`*ue iKpil`dD4pH`TC+PA]p]hKw;bGv 0mӼLJx`Ve억\;XBPFI:0А)@CK/}#(6(? f xuy-?6m4r(C{DߗeQz*v[ v\W+=$AHh:WI;*zΓUR2'Qޗ59u_EViBS^ӄ},09-z?JJKb! WO%]9xnOK2џZ㏜2kFppRjp(jx9YMݶX2] iZsk%)0J؛/Vh)TGY<2Jk~tttkeYe;Zy?n<)>MB3.aeqCޫF@^7G6EbK5M{ueDAc#у`VMSTĒDTa!997<aW1P.=A…eߺnO[638ۥIm 2K#quԌ2e};qx-JT9 >cV0.̺d3IK?+?Q‘fi1wƋ},??9?bgB0 D}7KpJ1mVa'uȔ_)P&] 0bS32sPtNg>ouv7;2[\.e gG@Չ7r[B|V;"ߵ`ڣxr6tk)(WYjj+l#^a0T CʽYKWy~%- fYJ#RE"1@mN'^8kT9QYR5vBxQ:1]rcX07v2 +aұ+pL̻t*eW| +K' 鮪9Za?5MI^[A yQqE5G4"&N2`:$Ok,̛nb<-^A;f_ȯ7DUf>!Gǀf':ff^dja?;EFSB*>-Bgr-Sb[->T~BD[7=)J;z,?wOp&;_Ӽ?BŎA?|#Y]V#^N#L*6*ܴѼk.ac,߿+s&SDUP_~ǿ2F! ԁMzN- % sqcyQWYQ_^_{F-%yj8_+ݨ#e)Ut 'קFGe~/jҾ[؋oة5v #I(B&xT2ƛԇ!p{irqĮ6r}ϯA7OZ|CFйm]­ z"k+ǻ~κ_s5fa1P,ai#7s Hgss|B= W7|rYM'9 +X'ߛ~<ςJD|"xҟh8޹ t0@A}5 B\n_x-FΐX!Ѥ@>J7d*h3# - (yEnnc#SUR&Z(g(ƛbC0nR۠HXt!Q92`_qdvf=aXW`KH !Dx.2_Csmpo/7-'x1@Uލm+ąC4m])YC$>ԨI[}y1m)zŽVLՇ:}:~i$3W3VQ%!4ӳxX?죄) `XX9yOIc"qCU]eѣ*wkKv.$2-SN7n {:"q=Ԋ Y_=&Dk#!-Q>u(8<<0 ĺ*5[?`t<~y =W2. Z/H5n{fk³WLHUx͋GLUA_4A^61P d<@y0=c¸5w;sgcG@4U^tAvrjAfj>|{?? ||:3ȣÇQs9ʖ|_e6z 0xC$@b$.9_'F/m;=JCu*'rGpej$ؿi/˖_JK>m*6sU 1񥥜<8> T/hŬ67;/U2N1zncG*'佋֬"RsaG9?nY5$ ,G_\%! `{XXqYbA]}1Y௥ZhReϺ.`m RϦsR]&W+\gͺ > y>(USY`4p,깔|k)̔p4ZۄKC"-YãRh'@i~2ۋ|.q 0q+jcï?[@DZ.ՎLt*N5{4bYߓ+ZM扣I߬ȦԲD2 ׵gww2QLQcÅBHI Cأ16\VѦFF/kOd{O`X%-!n>51Ԝ[H\~!uiqVh._Uyk=r² oN[G Zs@&,"()p5<qìDuX:n>WjJ5sR>"\\Zn?fn?0J_#0-VG9Jz& ]RY,+@eT;HVR&'i*Q[v2ƌy#̓"{YQ4^Y#P]Ov2a9Pd UPZ-xBtڰJn򞭚2m\aXO$ Tb *2UPiT̋-Pܒ,g%a7?a"YQ50Bi§~S ouȈ#NDN./ c~+{emiǶhy԰:YIp:ױ@wۢ 5]#¨o-qWEfÌ8|ʘfhhn3Ma[8P-t֓f ޤps{2= ΃I$' < X[9yaFZ ;*d3.{Qͤ`[y_=e2 'b܉{ Jxޮd2\ȼ~f@f : ۿ![u[DSPp-9vP S(̬ǔ g7#o#~_{9/lρ{0@uV& 2&i;<]O`?{Zͯ\A*J QS&QP TF69q.?\DJqxG$][Lm{1>9Zt-xݖHK0ߗR ]` 3Ts9p:t/}Fs'g Xþ dN]jO4cD~Oۧr3ԚkkO&!+H|C [p)|j[ vvT&k4 /SyHQ-GR <^ d!:?u`  H}CϹTV#_(]0~8kGK!w%Ozh IcĻn0 B8OZ̦'oY Ih(Qrc%mvnWx Ւgx=vs+11b9srХV6ȡ&&7%}l@,\hk]*a;J&E祘i=?ҮXOZ>/z=O0FŚޏWSɑAęƷHDyt X\RQvct'tTu%2?W!ncdIlUi h76?X%Я}LY51W3m/CX6z!rv (f+Re!>p3;Fܴ uh~{m{Ld'w S)RC9L03v!/= ٕ1>wNY@1}g+pnM_;it8 Bejnzur%j2SCVQn) 9pG`(:g3L1ID_ڀc'"gdء!!G3cH<Z ƾNCCk\եVUт$DQ NpB$Z3m #K̪:em -X-878wYr7~9:M&-d1gDd(fqRfxE0`ˊFΔx9 I {T `z@]Eᆸv.uA *iAr@>w2KC&C@v\ UV @ (#;|Di6{/3nQ̓= `4A7yc"E8(Vk"T{俍`&n$آP?b$W.oC7I _=cʤ5Eqk v&X_'`U?@s7K+zcҸLQ8eӭT5k!\I*5~SSَHH;AV\4K_C3d2? [s g5c wybunjɵ:8Zܦ/|3ڗdu(8Nx9OB03r-m"5|!,Âpj/ۤWv5~ؑD}6UuPQۂ3eIt!6]rP[g X?:,8t|[<Ӣ[g}q 8\`i'guzWK$mJkbU_7,9{z|gǾwzq%~%5,+H rzn) ")sjD̢P:'^!R X0.6h9xu,3ckm|njy:MG<(n~DK᭒f8K/\&h( pĿe,X*O@Q gv(OpCoy~Bʞ\aDmҧX|Q|?2QMp|$~n7ĦaXh8>B_,`vTX@H ?N&K畷){Ya^œpe)A!vU3Ap?*]÷nBro1ۃSbQ2|Lӱa+˯<"s['txsa_̶F(Ӎʾuȑi%9-EuW9SQ):۬Q;tкD?GSz<JhHt!@RS-}ן?V:W n[#5; &@o3%g1KH[u^6{cIxq3XS4.v]}5pXLCmFvnvk&vE$l!RdQ׷;k& ]3&t/7koٛ`5ݘ*DSfVвvq/3&"' Vp2"B!TSJɳRO}U,ڌnɋm},.k)i?P\} ِEz!emQZd@ȇvYAVN a|MF'x<q=@/P|bu>ݳ<45˥-,ae9֘IF$ ǴGKnYyp{mːL?5^oTmΗd|en%=ʭViğFGn d<v OΝIpWldygoz{9Ću>"Z mK]7[%ѦojTb v,L DK7ZI[u@qP2s>ɚ%NϯXTb^>w>avÄ#TYtF_Kҳյ.Kt\cCcEq$di¸yM@7ar /)T3>,}?j+Yq۶>94aN#~(֋25W Z?n=Ij F{{E!J:ԁZQߔ-jeb"|թ?(F6v:X#&UKUHY| S_fas$ft@YTK"T>n)lVz@XRG(]r+y,fVrU N*fRAud+`ܚj%ca.vV{j9܁[]?Gگ=.t3wz@.`Pݐ^d1k?=P>…wA,M\T;|&A!P\00,!(Cvw:=uZ]C[U(]J=:c]m0"NoOn`mDp˜DtчV}MQVC,K h:઴w׍dY dAڤ-2i4!}tnMNfJT0&Eģh~JIԖ"֟ @aA 4B˨Elp^#@0_&{ 9=G@C>|_*wWe!%"f ցa+`P2i֤ Gl!}pG]`YG=~F4U* ZÐMD4 Fph;Vλ!$=j@Q`d&q" f]l۶85 .8q7y_TT dEP܏[@6g}m\.Y>ߦj7 X$ǺdR㓘F.:IS"Ky7V7 &Lmghv4aD̏S[H]~Vy.PO 1P( 3fFlNg\" EAT!\Ezs)%a 6"Țb^ ˴+AEQQ} qi{:I, fSE0Ėp}''fN[So*L6ooXCb* KD78]̤x%xVe 6P  1s(u\ k) %͛>/$qPZ#jR$&+x΁Fkmf¢!Y Z{Hpߎe`/6D+a5${b\UM<+Ͼ߇Ý#p8Ϡ~vӝU(>XN̈&ե),?iB -\/YcAm٬{EQ)i[QZ?i9-?aymdG.?o<y荲.U.tei+̈́`ߕHX٬mH3UEeuwOڮ1:E&B+킄;a#6ģ۫knäo d^f](a, $묢Vmb|VY|H.C֎%h%.eP!NS*OwxJqh:ͦ<1cg/g9}\o+yRLUmZi Tɜ5K>3Eۺr^K5f-3{@]sg0^(ChÂAz^*e"wujBvfs{%*J~_݀}p)FW'~BciLU9CݖHh^ߠGXGq>lyc#M Y})p0-i8!DFڊ&5͂<.Q9fwNdϖu#6!$G\OW,[;OCFj^n,7 Uz<넺B6,B1"3!…V TL|,X {RB-kBU+f(GOJj(<Cgp:dw$Mo$rK8-G6IsEmXdB,\ ? mWgP +S%j+yte%uw@~R jI6g>daEODWVs;%IbдGFhEHGЅϴ&2hDM}{fĒVP&QEw!a߽Kj=<:Ceg~cA n#_ HX6-ߥɦ(vb58C8;\*rJԘrEX2Jo̝xj>t }`735oGNVOaڻ+"2' 5c?J>ѭɳrܽqg^BpqTi*4|Dst8Wt-~˅NԚ&JZY_2ť!a3v2RJti|Zo*OKjcZ6ʨ_&% ;@{MTx+3>Q\oҗV3u:~e6=J uboxS$_֣=t0l7j3vfUZVi*QDžFmƱʱ?*EX|RY!%h$Tau8{ǶS459J\}nB͏ M`yBYKX. i6̤M̤6qflM;t +UM`X]7Z*oUF r1| /,+Id/F0a&bcjr|ޖX(qvYP=nBQ]& 59KVa:;*~E2 D#eM0/5݌l4ZY$ ,v'=ڑ2 JuE. 7Xs|uOA"4 %bhH#)4|f2i5_ 3L3v 5 Z8y&s/5u'E;QeljP;L- $_ ƥ{ jkoUXiEcs[A"0 ?B֛* ܽ-1\}IЎ/]zp\ 3XܻqXaTj5%uT?x0@5Ձ;m: [RR]yq0l]ѓʤ%T{n]V] L}7w 3k!}81mN0c-ew3,U]rN*-'*Ejz1ϑ;ANGcŐௗ@r9;(ad|l+5@DI5KA ~_UƀF2/gD(b}.򸗵ZJ%.lvd69TW]: +GԠ?th@AŘ]brW_YLj/ ?`*Z;wnTjw@ q;:E?[-3=_-;tX13&MIeFۄyp;"Z^BkN+O#_Z~ z(xαP[v]N 0!)>f ._yTZ #.;Ӻl+!q.?vQ/uYf)^Zj I"{sGWgA͢5xa(5LuLhaƧ?ݻ<]"z&ͻj z 9Y}'кEZGf{@C)S25Fx]6hm)Ch7d[! EŸ=WR7K6uBd>0-!f"8̭1i~iO ɫkVʳ6ֲ'?,&OM]!PIG4O{ RBoyGЀt/x^,ز5Tvq+`ֽ{m] 8~n,(.}^ͅ·<+҈Ϩ$:xqaɒDEWBeP U["GLgfZ!sIl~8B'.` 戯S74t;A×֬6r!maoI[ 5Z ݓJrHK;)Qnebz~,luD*'IB`0,l?'gA 6[j̵Y}*gs;,5#I<χPشD'dq_r16I8tsM`xLK_# $e+ =s+d3EdYԚ rlu'0Hl!2FAe~!w`rQT~[;υǷ#];`ݣOE96d] Mk$I;M܈ӿqW(]z:*Q,1[KF "YM9nE8/Q그e PX~6eRg Z~©Y`tDHU݄|ޡ)C Xځx*ĸ#lm/)В[KfdBLupcGX ,<6Z3@%R8xiȕr0? PWl;vwxjP+~[7=U2| iXLv\UZdg~+&g}+ H$0,/N#Ye?0,[*!=rT6F)di)[/r_uDg$-O!d+u!q\FVD-4/.z^&Th-4iH^%`\(8(Gw;o`ᛮi;DW}9ۚGh $SCyY&-cS* ܽ/H67Zu0r5 O'Xj7k%)Qdro*g18AKՏO~cس=U&}㷁0( ^&5wt^>oO,_$L̝덢i4%E+СtCw?ZsXjf83X=jqDfʖRE^l( Nu!a45%[}!L_0CkV5K6$=x5Ekpzj\2'Ωоr0'c̪[)+6Q-~}KWMBiIU)ID3մJraXg4Iw+*u+02f԰) x bwmq(t].FT5/xi*"j:r JY#ZhAHcq 42++gٍٟA,ӄPvs(^fKפØo_WT1yR.TB: 7l83UqJjFarݤl`Hl̀@W]5L%"5=6s6icܳfO/ʙCӁO#ߠo}U8;u8 I&E m|%>t デU[gQ^kВfݜ ]dk/T*+e󵻇]A̡x(sNA-r~txˠ1 TcFDËs@L)㒌!,,NdI=j;~Ah"|&#OӅk )$8i1M1݊},lD07a*4sR* ?ӝ $jRWmLoCS. Y &d`mҦ>2,`')NWz#7)uiCw1Utlxl*t2S~)`O n Io 6jW/5h^(ĻxC`B1/)÷Kb "Y]ٞ׺+{l )CU+h ID+VU4Ta dpbeiZQ?z<##oȧD<26(iɨw|V{Pr0o2|a-~kJ٫lj U?-$Z>oWo0RauJaḐݭ?hf>rD"ò2S0=4ROʛ"<䘙Ux1~hbg$qa}5Qb3->[ߴZ/=Oٴ V>ҰuVS0tٙ"wӤ Cy&Z\k:n4c f7%I4^O3'OjN?l/y1QwVԏF׬A3L1=JcHQMjjZ;֧)&=B7Ԥ%2_TlD+ e;Q0t*5Jr[cTSV#? ڭDx4}` h/W_jX)4Wב vBNsפv2|?Ugwq@0SIۚ]!@n~ BB yù(3S pKo}& F.\7j˾bk$$_3Z oMoE`˿W %m{qjjIK1U- S؜ʶΑ^p C-Ie?1Anّ!|ȑRCg=(\oI]rI4ߊ;*nXTSKu:{uA KژQK'gN#orK6mߍ5sTg­mtcZw}v-^7/k`@Rmggx~kﰙVfe PM\/z`Sj"|U! V>/Y뵽$ !A"mc3G n{`h Z=Eh9*pUs3m G bJ:!WY7e"O.IDwqc#_쿥bR`3 oȃe^:f6"]0)ִ+K_S]m+hL+lA VGjv̷BlGY}N ~dIkwUCեH/0K<#[( ƾr QF:A4igeA̛;m~O |~JgcGOEO~] E#lu9EVe{D]b)*:٘&|FLl 03goGҀ¹2yW+txS -HY|k>luEDljq6,7[A_d}wVD|tR{zhZ!`QB6\?vȤĴf--NGTtB@&m߶vȣMi ӭzO ah:Y "49vu|H블>[V1PTҧ wYgBXj߾@|QrQ~͝:?+ :凶FR,5_Mš7%㺬|nMH8,"ܾyLU/ -TbӋDJ+`AsfJ6M=f;nVb ij]G'n15Q8Rj:Y}޿'mnE$p8PŃ*Km У G-kWQɏ\8˩мeQmoI0zGODj꤬?z"RocQsxrrkۜ@@ӭ;>UBNVukjij ćnP~Nm74;OA8[x!y9I}Ѝǫj4<Z.N9UDFy,# g3k^~aM@`&0sWYά Sw, U:Fb#7Vsr ߦHWVM⿿f-5_D {qj9oR/p!:lvzn 5xf>6>yet)5<˨f 0+㌲JyO~Ed'% -9B"I0],g9]4! 2J:j-Ĥ(_/~}OwdaG7B63:^Cĵb:Sɸׯ>rW^5ffIV.$MiiP*XB~ ){*{73-h.aE*zJξznz S*zn%.}B q%՟\01vS},썣3,پdG#R$:,CQrT R?36j.2ómaqMHx^N=tm4:ʇLxğŠn0"NG+ +-t.ܩoi[Zi'݇Oi SZ:[f(SlԷDS]WoLaS} v((+R6*ZLvCx4κ_+vV-񳑎|=%\%/گpCv_/EDҀt(3?3y^A|oT[HPY8;ѩoxz{]uυ%fvZ_>vm8XiG .%<ҝRn cT^IfwT͞b~7ULDVٺ =L0k/r" Beͳ7Eg1Jw|UC:LeYPǷ$`BMYL2L&+{8[vYz'܀D5̨sߒG/s{(7a vW64d Ы$3QPYy~F:EY?i~rEYdcL/4ڂ׃UPZ '|AVX(Z nn jiŜlN E pdM#ߋB؊U+*9jTR~Jz͆Y'bv6|L ar%"~Pc OG3ku ]xZe3jv\\ mak3舜n(t| B^ٴΣOQQ݀05Iߪ.7b'xx1,ba=CSt%AxA!T+ e=HX%kfEI`˝PFnj![ 1H7Flg-J4W{YւM{vl$zgrfIo\SqX˲ƕa@bHQ&tހWMpHvͯѓfM"5Eȵ8c`}RSoC y;cj *:t!ۤwRsuT zM>ƸA`Þ!jVu KcH"wБB:D!GUXEXd<'~uz$V2ד$|X/zETkm h-m"{RnZ႕P5#wK?qX'*? @WmFo4|rU:$}YOyQXf>5' r%\ 6\c⭪㶔)^Z9Bơb1p[}7`]ܒwPFb'=aU3Y}e:-aB߳b{Q؜UW$9 2 `xރO=zhHXH0c"ӪkWWc_ td}[+vNA$?`+Nz\Jx ψ 9?yw'oӳuWa6ّ,{Tn[), ሔz{O|,blcL)Z`e!%!qAK %%bcBpU k_9=*$sZ 䃬΢:77}7M>Ji9>Kn mAo4 ^t̋+ =N*%kO_IvRLƵOkfΚg$v5fgΣ܇rS%'}JMҋrčjzjUly5(&$ c!#:yOQ|a/eXe.VuBi˷'uwxU)Uqh5腭`̱bA2Wt:Y>E\vB"J$^h|Nriv:z+u S\(v) C6vW5TOIe<<#(U" J~+QWgzv6i3>`k#z,da(wUOߌg%ӯ~l|l˗e9rQK!S*R*zͦx7ޓ'Nw~\c w}?% $&$cdeh^9Vs-zl*iī0EBj!##~VhscSEt22Ո3DŽcR֦&I+B 蜊+P`蟶0P;R%1U϶!&,bG}U,1U %q'ݱI ^U'~1(-i 8ox^Rpx$=a:3[ -`LL̵5IAx&xѳ 4=EU()fm%,|C_e? [PU;x3{Z@CK4-V.Rw.ќLC6.y""Z} 3nwC5R-Jkή޴AJ#s ^ Bo_^ed;[GBtAr~:}0wZ+גQgd"p4] FIpx4Ɨ{>'@ҳYY !N?@gً\R[iE5vVطuc/ ,Bs߶h^.˱,?k;C; ut [y:s) :O XC]>P%Vtc>z=t>2&& phkCNʼ2ݫ4_5*|"KH|n`{oF8"y(h Mnӧ1G=-j>!!pj "9t7alL2.j7zʮ{VKI9ؒ4Hh%Q>j_p9p~+O- XJK:"Ѳ I۞2Zgsv!2 XK|j~" фꆜvl֋ai!RvΎhc5o<[\|:HS^,޴ۙ~w-z^/цl* FUX dC8ȥkRRZx9ēąȺ&j b>(jtIMGD+#3"n< 8Yk& x`$jw2!Q%97eRz6s6KH:Xd{f ;wB-sB*UT u:heU90xnl-Xl[~J4y#!T?}bχFqES,X" N OR)飳ǧn9H-jǛFPݔ[L2h!W;@ų,U ؄栛D\n |;$;>zܫ^*5P.C;E\奿zˏL{M3d tÆ@'"{[XUV3!kGJx13 ӁVikn*dd9Ϊth#@9Į_dNaMQ[:Tu>v# w_~,5f.sB!GKFە%L4~ed5ݘ6+>5*Q"raХ%g0ZdEJ&Rt{AtLm(՗9Gۭ =kϷ"%Y|y@%B "\`Sqr9j."CKIKcj7jI'F0y@)Eb&ŕ)IGFcL2-ߙ,&z( Q#:_WhDuWdPDčhu>/-;;zCp4Վc%O wh th< -9NҮ23Fǣ]m2 Sĺ/C¯ Ҽt֦( _oVμQ}5+D x4FzR;VqUi@80!T7{Wv vbĝxqϙ>ٛx`!x5D#;uMs\2S!+[Մ@mzlAlftVe渍9 N d~:# A!3:Y8Yuߧ9DO+?,x,ڙlBђpY+ -(*.ċڎ΅RC ЅcQzH2/!Gf_*#SY݇09Nsɷ_5.Q◍,*Xj@&77V;7 Fo~>O:=cl\GyI |654 z+ׁPJ u5x)D5%Gܣ 6sVuX] Y溊2$=@PrWwdLM~v*$'CϢ4V] KjaEL:ubu7W`?URk@gJgoq~8]YɤC^ OKȍx}^{U/;SVts4jl ;D h2trxE.ҭ IM'vd?~iCY f⼿S'; U-"5&FCm~1#NBqb8̌]C.xu|=Vm<:"/m|xϙE;fFYu(imΎ* x䢆 ޶p|jj~Ȭ ,FM G ?#?e#(YqDZQl %,- PReR u˫9R[.6Fȣrd~v/e0P wer몀"\lhs^e1/,xe9MjzV!c\Hhѷh3_Қ-m"r^,MEe\<ee[2;BvDԈLF>`^fx'ZCɯD{қmoK.(oZ5&zLG3g kQ&0ނrZZ*d<UF#IP/K H2й" nhdWőC~р0np sJ'Db0f~t>j!4%"2;9h݇!L p$Yo2]#VorŁ7CwuҮR*hM br26ȅ㏱Nu͜>^t\{PPj^B%|>$|9+J'Gӕ\ '{ϡ% q$BB̭nՍ6o ܂V{+9Ga"H>3(#3bMHe2„7YiA1>ʅc($:_%-ܫՎ/r>Gq w/<&nQ|B$V0Cާ׭fr{Zy|e{ֹQ+p @qaِo]0.B50Sd ht-cW’E?';URQ3ؘdS{n?;@dp/+>OŃfB&+ E.mFk"(+__ 뜄dR(`' b{˭tG+6 0&yE^ 4J.HêEҨ䦡z*)lp\'o[-MB1"6LU e+Ҍg.LTጋ|Д>oLTS_hN"Tpuew䁃C2f!{Rx]{)2 ƭhصPEֿkH1y Pų+b:<119Eueiπ-AZ*$+vD1tP ,l^؍w}F9=a<=zbI_%;L:(K­?ۣ8ȽL@t1H qz6ZXZDjt&9|iy}pP v| 8i>(<{b\Tαz5{996Dѹě=K@"ص\ m*tZ~ustX]P|uj1 f .xӬp\"lњ"F˺)oA*V^:dKsFFũ&M`zFw_ƑKst篟z|Z'茠/^S]!ˉn2T//72 Ei;{`~+yc\$̅+ˑc2[e0kq}ԕ4&yolJN~Es1dfo jda_Da;x̪=>C*O;ҿ0xf@ nB„%QeE rjI쉠dX=O @=dcx]1ΩhI`9GȽ'H7]b rJ TCyx}Ym0CĭXCx!f^ɭYh&GQ;*[heQ6`bO3#'zciǾ8 ^8k^<~͍K\Ik wT2%x?ыLħ] .Gl Br[ Au$oSUs U=Qv"d1x>z=* r|m-GE&M^!*+AF&MG|!WlSd\}\JkO$K[EI|ߞrxesЊէjKƀ44kc]h4',V"'~ܫIEQEXθ8M7Y泿^@s% *3ϖU߆ t|*4ϕ^13-5@Nx,sDq=:PvwF`edN C`rcb>yeߌ11OAW\B4TOZʟw{dIw5SkOp_^'^HqF`~HȳOj_%;gR=`9!||fݲDpHQlTR#zAR-"ˏ\>$Ni,(\%/ݘ58zQ䬈}o܍iqTlV}\8I6`Sث5nmZ'sYFINWGX}KP<%>m461lcW2<3WBlKĮ^"X+(V&vvONl~F .wNI"\GLrWmZz[ðnht <1Rt{^ PZo{J-ؠ1JիF )c[`w{,`I 0gO^B] .Tr\!7kQ(')o"miSP70WZ߆yқƿ% Baq dHC`<u\5`xU|m>Cꊋ%IiFIz,^"w_#=zQ(jJ;m4S2^nctMɅ!ɫ'_Lk9j $w粬 3 `'^/u )wlI+mW?jOZDɋ<1+:R)S4WST?kR=hm+Bs4'?LhFP^ڐ([u[~t0cpعMOUZ]~\a^=PWe?uE7v]j=la(wq4 (5Փun.|3N #J gLg.oVj!r$~j: O@o0M%gSORES2b0MUh70/' Ro.Gl>dyu{{/sTʜb+]X١!u˳aUn@tgJ(rĒNWڇjpEϷN_{53N~\#ПBn@} qjY_.5z^Cq֪bVMk*B̓=ˬ  P(>Vc*,#9aG7fU}j&䦗wm c-n0cB0z[pPIfXFS8[ _HQ9wI>RwY"|UP 2؉"` Ce'IQ=Ꞹ!齁!_]&kv?=:0& A2us(-+{lE"Ku/Cš_օ-Xҧ釬$$lGՃ*:PM g6Wrh<&S+@r8lҍ <ED聵mqr[^6冷]Nu٢Jhs>V-u7Q@n(V9 qJ)<\PI)ЀЇ,wplu?g\g>uVxWv7MD> F9inߴ7}~…Vf~0 fu+`KHgmqE)k} M+k\@l,K h@nH;%=#[0=Fʰ ,AFЫMrQO/vGr1=8OZhmhUMˇcȦ\lVuSxdv3Bj1QxrKCf$6O&jYs1`8 Sw&-.!ߪ|A6v-7t%ZȣfCXh(8yFyD*jɶA0،5@jT-JGVjxdmD2$"EC ǯPE$U1c | T6R?<{A Sp%[CvBi&#ec\xy a,mZx)}X+Amn^pa'qlA>Bj ȂU iT 78 TvjX:Xײ&m8:Vg1s& -C1Rz׵tD}p'e4mq0&€t~0']4b\2ojX |1]y4'4oױyo {߷8CU"\jf=J]R3|A}0QS\?'I쥒Yw@;TCN{>~ {=?20:/%LYx~:RXڔLԅBnN\Z׻,X 2=>|. }^fK07B"p5+92IyRehF̛$Oje-Og;r,xݐ")WVoc Ȉk-_f|_®IEQ bac`xNi*(*e68 Ӭ#ꕄÒm22:nbnJ+qr߆`C"2bChCwv x5(ϴ3:CiZvĵŨ(Zqܚ}'Ҵ\4ZP8xq UJo|$`]p%R:躪nbUCXJy',5 V!YnϹvv\,fImi@<*CAA kO6x2,meÀrzrr̽GQ9Ȁ>=M: ,NAԓNK'G\5NIHYA@q:La8NhZrQیfJ\u2+#sb-)YrN)$ b~7YǠgC#64:Rz2hi|QC`^ fj |9p651Ꞌ{PyO}P6(5WCK,\8v}qE][@¼4;/pm_byxDz%h>E F;՗ڢBLp uZwwNu 76wfy"t*'NxP\la> Wo]y} tujOG @)MBHU/5ti?=g:܂ػ YOA.y2iؑ;pM$67Cw t3=6Fp.j$YixV*]5g:X (}>O[ba!]+J\[FKs*d'9)_FJZ.6I3ZP1-ys(deN02vmO+Y\=+};.X4١aSa3 Z1 A;޴Yd&s~n[l#OW\Cu,'yƼ^݉ns)|f4\;K&ˮ:+]ԕY8b;6 ؿXLGM*+֙cX;eMEޙa,vT7lX/nc՗J<>(<]6$<ꌛyۑT;[X~{2fuKqu2:Zkgo_R1@hOf]մMPZD>T`{ <ol! sW7|}"ig(~-X/>VvxbŠd .YŴU-Vov?M5CrP8UtmN61*iչL`ZEn 0Z3?Ha)𲛬%`%Gz 40JF}0%ϔ>i4^ EU.ɉ4ԕB#v"RdJzSO&0p,q,)@3FZC15Ǩͫ1;_FlE( TnW ?T>|*Qh7~V0d.3:om?g!5:Pāt^H=1C _[^-i\g+Cj$O1+|vg8LpO@nN'2&7\ish>(AE!7ĄDno-k6UCj$H$g0ԇꏛn(H u.RQܠy2`#*܆lHh`dVmM BH!MUC LᖦhZ(91)N(Z,&|>5Fk![Wİ}3uDub G1srzgC!>_w$E ;|*5RQLj T"Um_u-_#.! )vEP0zKmu4hz(k"[]ʈ<"r;\~ rCd/l>/9 ISN;(~CZǝ%GoO=@oY L+(fP')d \ 8aV`(9raW);WAngD[z5%O>vxU芞v+|pdz Є<rKM̅LgN5˞ sh7w"]4[|ۏ>sP.KIĐmοpW$+2cGiu7='顋&CsM$~)1Gw0/eF2C`!38ŃgD{b.Jg'N_p#,U?.j &4n9$dz_.da45]9QW|pm?f6JqO1j3ñR2q{/l;gM?PW|5Bvܘ0 O"P .qD˱l^+ORrPtm͗MBp+\ 3qN_ W!e >I )@\s^DNFxcאSimF>Y֘lOR9 &Uz[2T.hBtt19ApPN-cĔe`D{UGD Kկ4oQev4S 1E{hk!&WO&2 r!Q'TmBg;A2Z}I 4G_wkцA}FU UP}]62U⋴_r+YI#KT(Z. \CenB __ZD[ä];gSjKymW՚@ ^bU@pMR&dǟA*UiC&-ռ"8̏* SJ6v&߷7RUJ\q%:4o)Ԡ T R!FͅJ1iM$ԕ L@0:">IT_t(Q~ &>+\yHkLKv*V?b˜uw vr]40I7 :zvJ {M oq5'[şǃzcklynaa#ҘSz(*bq cPYӖl@| 8# !6P'#M.NT[ؕ w E)sQf19"QE#'KpI}Hor 0oa1FLgYk'i0{G5Xygl+]78OD3$m8#Ƕ=Ք:oj%OܲC5L߁vݙ~l%QZ # qDJe`.[6 -q$%?Ny˦_7Q$q2 ,{ᣮsԬ9Hxx,$*G6XO_kU Kf ӛ+'KeflClNL+ ,ԇ'48)6̢ u2ug0tL,#8>G-U7'̨h%5n!5WӺQ?ތspGY7!wNEAXVsnW?|P̪'m4Ruj}EqL\!ف͖j1Rtȇֈ'ErMeǀ RFO40-+V9 V#cFD?zH6࠹.]mҟAw x2fuH*$&]q)fZц|n27rrROMe:r*?,z=7 @͝iL?h^`q4?G$A7YH]:HU__i")MS7{'+ôaLtTKя"?ZH wEUm<@suRP&hpp&d4 IKrJ0Kx⌃@uC)G9??U.KWIZk ՞mK sPdM$+5Qre [~ȁP Hk[yLHY(EhAUA9v)I(9f{f4 KYc$J{3Z|Q'|p0^a6c4s0,y-ߍ+<_@Mtl ! }b9hWO[-qzU+>V`f-Y~E^Gfա /?!ŌCz^z92#>E`5ڝL;}BT/t6FmRkg||]7-x ܁%N`"gX˞M^m?E"K cBOɼ5uap2޺Gx::7!QADL Dx~ aV0%Zݰ Ѽ(>C_9ȴ]0HxGqck cElk30矐4X5ͨRkC',s?Ga:E4,?ƚZ0^{*BsKZv*8E+uknIs(‡=o`[hR-;1ٟ&v*NQ9ɚT ?6R?16[G $5ԎyRw {ǶYEvzPk~VV`,  C }W qX."_uLk2uIY?uʥy9۝vj]q t֒X:=]Ɂ!7";Q^r-~Geu1έF̛)UWO4LOYq2(dde3#1S[KU0kk(PJ׻<߆fX:^0䗜g '>D\8#dP<-K ElbA ;us#%54FDW*%#$UH9hxwTt!^ABG'pwyp_'Td y#s]kkz! .G,ĒNҿ&l]IJFeb #uA h/"6* #hk"YOEO%4\؝@3<\hu#3`g$BT>fn1£llaD~ y; H ɗ- TqQ d]wG.Pg}mK3 rW+l1K'skO\DP"~)i d1AhMdO5ԸPX8&%+dTB>`LQ8sZ%;F$_ A9 !l[`RJ9c/3T7ŸN8ݗ s/^M&Y&g o#5a_*("{.C%xS#20()4C亸 ">M,&"#'Ҕ2)IPٌ H3OOS >;EZ")o\aϚ+mU"5߯1F+rڄz#z#Sm|ǎ}X7j'[lJɡ@5B3qr hFˆO &q31Z z9mc\ż@^HinRaOӉdQx1P !znUL1gXÿɽP[x N=Qx/T@nR#Um֕۫A##RUB!]QV2n|qAkױ wv q57??RB<{`ʯ;a^VC7DoZ+-0]%]GO|ZbMï4D7Iݢ^Xb睞)QʄLjPu8]2G9=kY?vQ$IwUݍ. _ 5,ox ]J 6&[T 3}ւY7߇X=AÒ}s;K̪UsRi*lZkcER-4$60 :"B&"^{{OAJՓ.}nI x(XZvcc z>V|߄iev8 .xd>zoN?B |ͅJ|]Ù7oOn$|n2Z `AH)sDi{ zֈ5_7(u`g.M<8+,j0( ]wjB)R)lc'gLXg}@I/le&ylydY㷎-:Wyt#HܷT| Asxa!yy -ÊsR5'!qƘ%HMOB\1'H'&ya&l>u;a@>$U>&K5_t]͵%@?'`j.vyUlـ]IvO_mQ8t:wGׅ!#yvh~Fӽ{&8 Ru?jdb%,]1K rrq|[ݫBⷅ-mF,xl7=lȉ\jW=ر"PΣ٬p ([^ 95i= &PD ^%v sLZI̎tEg4񵃑Rz=ga!+٩[h}Q%58 =mxWϿnaͻnYAB>}t}m0D z3B9JKZWTտ+ԮߐVѱ?ZNJ+;;)6I%YF5#tf6t{qvStR2+^Y!7<]4x2e)GmYmF|::%! [ BiXC5tpb b'S r) ISdB9UO)vlFEYukf*wA:nX쎜e՗픭\kCG9!z(Usx gC]IMj@B0(j2N A*L;yc禍>>z?$mw5DC7NN8*`=ޭPk.>Ӟ@|֪_6HV#4GOsՍ!:㢋7]7R`ÐijoE>D e2Z3J]wXqyx n^YװHRzMw@ZAzmud -Ra":mv|Q'qAl|it7cr X9NkR;*%vH`CDhdͿ9A:Wۂ%y +#4` s$ Tw T~-M_g%{p70ؖnPQ @o*GY4@fۥW{cj^6luJ!C83_LH=t[C7U )% ;gzTB|FzXgTMaurO"o[xu,C{Z|#ԗ3FlU?3MSTŚ1ۘW. _5 ҮC< ޻Os}!؎FױC^FC}C_>l-as߁GQz0Wb_.a7(hpȲ?9<ԑp)hDhv 8Frʞ|Šf?'5w\M K1H `0(=U!\Rcrnධ~+yyȃJFQ}Ujg+&rGI2j{9ڵ+跍+' <drbWߔH-<~**lWg-X]xO XO ؖ΄֒$r!ۿsҔW.)h\ADjR"-Zs=O||rH'phg#,@+*G 3x: 6Oܿ"[1 rܚ~6$*6ء^.LY~{w֧TjkdU!VXlX捗Dlu-~H\<#) E# |y, SWQԐؼȑ/H#1 F'\ @Q"1kɁ`ucGƺ}"ݘѐPi Т;UN%ٻ 6>W URk$q hۼ;6dI9%R3:>AJ OF 3U^hНvFlg}`!G6 3 *P.Afwtӆŀ{akhZ'PǸO3LxfǻO3c2p}n57V@1Ӝ6O+ABL: jq {bYE|$O3,tQmBOl8 (ӪL}d[]W :lcΖcee$°ecC `T4ֻx:DD Rp,VU2Nr]Xm: HR?SM17‹vYuMy"wQ\g{;ۖI,+a]WUCc&xXz{+|z!d"?1 ?VY Rh*qP7ЋbddN5&܋A51t]eI- 1Ib@U6Yz1u:%#`jvAH+j84ȶSfXCr/HkwAt]JLPo9 ut_:3.T^Vnsߧ(g9 m_oG\οPgBMݙ|2<{U͂ } 1WPsm̺rii[@fcM-7OM1EG%}me9Knlܕâ+jD%><,\5RKv=,"#ֹ0푈08@Siry5f=e},l&ZU Xo]ǿ@~n U+x|(48DE{`l(QpCwK ƩQ><]moxe0PWrc7k7e"nfJ/A"ٵ<ħSپoU~fhM i)*C;.u/1En.pm4jmqTt%Bt$o~+o\j n\5ESC:M̸yB \Xs,85U\.'Ag@kT$'w0nN=ur)/eOx0IYsOvS d5Y)gy c͟W'Ey:Ǐς>T?樅Mm@H85_rMsŒJ] hJ9Qw+.X4q%HaQ@+.r4:S7_K [Lɽ+MkGd0gW)q3dPFj4=E;#~GFѻQ!Ҕ  <ɞ7 X:˰ʼn26d v5dˠd*leh~Ar^&C֋N7b#s8{k,p]sah0Pgk>;#t7?ʤHڂȢרX. ƹP_{hφVoԑAқv9\2.7N~XENDYϽdYF^ 3%do~ŒW PșkJy1z<ZrYeOlA QclSTSJ}قoP`f{`MEsg#,vBdKs"Kʌj(cq:PμXF4"9~ڞ按ȥkEԟ{ ѳjL3}?kSu\`(`;Z+EF":T2KR3l8dN 3d|Fh];9S j2<7x&L%K~mSn3ݙ`ɚ/_'/+N.DZ[XX<_9ꠋ3C2kL듿ܿJ*c~Xy mߕFAB;TQ@//#bN/V&Top9A+&w1`XQV <5hdg3MD9 OoSfLhHPӁ:2|Pu t1@b+3 U""menK!< ;O`v4'xKz jԛm>7)9óhi;8^ޮڴuI ?AAG1CC<}U ATxYp6E-5p':lnכ@Wlb/l^ؒb; W? CW0z-wWl-XN ż8<RYV)sCkb゗g8JlX~S0!H-v__"ef}/~4]:iw3{ `i`m\WJhF!Q!)>6vV՗IJ ~܊^eb@Ӄk(r w֖|Lz 导)yC7W\y;∿\i`$)G^*誙;a+jHPӏEi|fHS^hu,34qRbQ9\jROQ%G/UsKX W^I(whC#d |MO (r&/_!A`=6 (wKn6x);}o(4ywhyJRsr,V ZҧFV$@9}/hHpY  B_kk+k癢VlYbF5WfE#Y71@ǪFc>#R@)jnR>j1exx纲1/߿W0(R g$1 r쥴vO+fD4ⱈ(h2Bro[ @qi071qR<(4* 2 FTE΄_|WzĤK<.6Q $@Yp4t$VMwi 2:F]i;κau|Yk65OݰCl $SdY #~cK"f7yk;Oa׸%=Vb8zѓ g6t9 #Z,Խoȣß2g^&z߆z!7̓D c ;N~ 4+J&Vl?<A.tR?워'跽t? lU~(btDָ2+D*M@"ad G-,9tONcg)׷C8SOs{ K&南"ʷ]k^cP'U@MW|[@MX7ͣeaf; r$s%qu$FyGgN^F@Qez>1?u׻x':Q5_;~&E Pr 6$E NA=6g]KQw?zl\ u GEWitvs#_ߞ!s0Jxb~?nW!Lz$?,ˇPaS~eb%C:5ڟHkWhdM$D6egzk8lMUr{r<+: 6<4.@}Z:=g&aTRqF 8]w6l'E 5T\? 5f'u@!3Q}-@k%uFX #SsD$2,Z1˛ MIy1߳{EKu'4>5HÙڂ;AMXoog{V x_J1 V4/VZ=YKvZ̮]sU]y)TXMP>Yc.4Ϣq;R;_ L|I+ ωnk  I̐2ڮ0I܀i8TU=A3_z9.l:\‰869cjL`rIIp,f{b풡b,} ^_}'^ >*{9i??&5V<|vo 600S{ٯo rA uNHyf.U X&kGe U.\ GZgl&{Z ᗯxL#J4ٓQ dP>:߬>! RtJ-uR}K1#KXoI>r~JogEjP@Rif7M'Y./B坃IƐ۲oG6GܠփqvND?ॵVENFQ4]SKQH,_Ycy&FhZ/vѷZG_>,Pt ڧ)Q=Ou{ZqH=Ai|(p\|.y lULA ;-ȭ"R|EigTZ@NF0HJAE?CD#WW9+ӡ9ePn fj8Dlωc LSIfOtQ9"=Iӏ.Oi|0կ?jO'G ?ί}n] H]"ތ,A0\Pj*WS!é`Q ѧb 9N%H?\]޽@tA"%zW-7o44Yaeq­Mx8c;Iw\f#}hƭDPNVUU=<#r0đXTqsCh:.eHzpi?VxB38`(`u]<޻l C0_HIbk.M [& ,#ۭgŕ%%4#mپ) ʵ9-_ uF} *[!> 3/1r L"dei\6 O9 ElgݓnGtw\@3d(b*>cL E~d?By UY뎢NyP6i;O0Pr{g?5ef M}gQץצpo7*FˡBpk/j`ҳ9Q<`bƑE~G'T9yAAD]oŪ "֜Cή}]ҏfd"dfzM5t Kq{V3q+g:R`AXtz6 &\dKiel=aY1ms7ᠢ߲mrCy-Y|~h 'p"CA @8 + &r"ԫ~&}RW:_:VlC``Yfp(D-i$;p < x2e&v}aLU7~hԯ0cJŬ mkVbl`bҪ]t )AT\J\Ėgc~Hd-pĞbxNBkl ɛ0uޡnDt¥~4NrNb;26NO@p~bxU^^;_;%EE5Q :c휘gk(YenjG^ ir3yɋmlYxUk7QP!_?'@~qhwШ哻]͘q6&'f e!/r2F>/d7lĊh'HWzQ=a>"Mty颔~D\gSv-/=K~ԓ lA*Kxżuѿ1A*G9z-A`CÄ3A\ B{(V͹!8BYGDQ%J:^A߁gp&b #åD\*3j8YI ~9H`G 7:J'A`%dlTyq+pP6cS H^Nva4okBf)^<뗋e悇3_cr ^98TsWI- ;o⒈<B~Qgl'LmD+`~p&KglR^ SJ@QAb_f*햙W(^ 8EeXβ)G6|%l NS_ng/:f3Pw)@ǗyRj#򔕣zA'uKf*}ڛ{xݯm:R;Wc/P [W$g=F4ʚ7u' #jj[} ,dY1<%="B ]N!@pI#gQQ#CF)Z2ܝ_Y9m6:,#n)X  cOK' +|z6A;׮ I[oE1M!I/]5tcf(_TNoŤԃsV#L/L۬/SEq4؟vbr,Xմ`r7l#&;҄DɤG4s˥頬%t# O [~!"^]^񤮏S1+S.VAu@͊NnCTdOXhY P}G-c4Z XkND1QL[#X}:J3; `/W٦-q)~a /aM@!c@Wnq6[r}fHh3S._QKJaɅ Mc3;xAxJtl<[M1x2ln7ؠP sg*Y_iz<[_)[%#@}^q(}=p~DʀƬ{5Wooڬ \ҾA Lپzm1l!nKx<]葋'<ͳWw1C\f9rߎf;Ʋ< sţ6XC'TN%ڽ-cBN՛Ċ q, =6ɤ'>kh3Qk u]E%q6O%C7˒6i/"Y/OGIGVAP;02D_*Ű"ci}7<`H-s~*F7~x   s(>4{]M@`wSJ;,,fԹ ,ßk΢PL IʼnCv㿨d@(PPc`٫m?9(TpZE λ>K,$W*'BE[67 /w}z(Y7xFz6]$m'T4[Q\R@~kkhpb-Gd*/ rF \DPVpOƵ(?WY|5:E"72\B?o}<ÐV5.Q:|/ +@LA-I>,R܅&'Ʈ^P`D3vPm}T&z _DX\ h`gUhfdhaxJn_w3̳Ԉ_͞'H} I0eY{%12TY"MLdo p^<J;0ZWrU8'?u{'@v@a!/nO1fƔ-]sڴ͋Ư ӘJ˶PǀH!T"RwzןԎr6+nrG6(xf~ W1:'vV|*XKD_~&"2cnt/KH^.} *Bx@㢺zVnnQ)L*YXMG֡fŮ@@XMPNo4N"vϷ)Hzr8ݍ{9G 79nšnqr:\+^w~z#Nl"*x?axAD~Ne\X x|S;1Z"T e&8`R#5JX/SIEnr N~ uHun%dE{^n.h筚9[wV4| ܬy'b(] #̯t*bYO`VOgyیwjECmybdm`EݻX3P %߫-PjDzrb=Pr&ٔVzza$":20N~[|P%%R✼n1wMb=OJГَ'ʿ}RFY>Il'=?,q5ⴺV a ^wH|O PtUjRU+b8(LB )int2Oم6B8?`0cC8u&"ySb0Qk h2$†ܖO;j!b*W"0ui٭D+>/K`TUl)5 ab/.QCl.F95 hЇ,OX,!I/ԜiJ:'T&Zv'5)ɂ0C$-.@75<5o7Ap9s䫃">P~wi0Wn an7#*R؟ߎB*v Kw > ^}0]UrF5Y5g~TMV\#Zn ҍ}W"#|s0#tXT47z'V A֠$QkWd:)+pKߨ,HG*<'➼7ֽVK6rët&Wz\lf!hi|ݥi;j`&߾){ nT ]hxر[Iʰ@CpU@(`0j^@n&33ev;Ոʸ!'x&֤.t7i Va<O{׾lpsz t:jߧNE՚E᭧H|~9I e FxwALShtؖ}doΐˮ>n ؾl6}BV&kT9x҃#RIߊ_FĂ<Ζ']N<,1ltO< @ Xko |֥Y/vtmgg@pv0Taizcb\ͧ8\Wj RfKWs6|Rx'R`|2Lf2Z/+浽BI=_$%bRDf(K%so1\8O N~H;XI# p~"lYcA 6B\}M#cjd};hUWr'IG[,5 S8Įí%+w}Sl` M4+ֳE172E7!6++S˥s9YƲ9(6VQb}/D%.clrWN'ii;ʼB,> e\w>ǿ_?SpSp:a^bFDXS@Ư7$ {* 1B_%NxIy qc$_'"N"t"vJ۝~s&# -@r6,⣛D=1?bw4swa4[1$E 44˾ Dۂՙc: 7T<_B_Drh*Jhr@MV-@7ũ3hǹ5|@!˘V" J ZZ+j_;Ó^!V.`@L!n'$)aI\)W =RQkAmJh#E 1;B+r5u#ǠCz殨k*7^/@]pf7Sea)mـ gXB`+efL=T*`w4IYƁDMN̂1 )NojVT-œš"Ǹ!(^q~b?/)NdFkq3Hqu^y\9,L ‛_r݁e zlBI]5~E5Iv VʕvW0/(Hf;Ke4(A]]Tqv=YH~e|@(xe^5Lǧ!yz}} RLrBKʲdה*P G'9@]\I.Ԍ2?zD)P= 0]H^Z Ni?==S̯W'p+-WL2'6hfPƝ]$]RNICx4g[LS ,I }5 =˔>T9ǝ"~n#~Kg3wW&|$}EB`3.=uA.mшX(e?D<׊ge8+$f" .ӎmF>Mٟװ?( Mu{Z }%7wB(/+ q|lm]4ʍ&y@v"(J |+'+Y&J4R\L35?]&պ/O_| _A~6ŕ9l|K9`_:;$ i5n*#.kGNw/6T6K. U5CRi^q# f-qǃ&:Iȅk8S"-ԠnY_a/kA#T4\LJU$)&A%BxױH՘[sZm H#G2"?̭J\<=ߢ"i k9BXή= Ns Aykf!`_D +cP IJGZ1J~~s Sf7D7.#RL l(gr/tiX_g2to2朕oIcr*rX\TwZ&n>0]R\ kvZtnT 7ܣOTҦ}q!dRiF48x:}ڄ5A352El?~߄l1#Q(JG){SdsW{r&z:I\ j1\hq`Qe?);&6W"/BY͙yx^H`nTM(6 WI!FG4I0`p[JUUzM>TC*A6 Apnpσ5]HdEd=ӊRa/(/eZ;Id I64"&$@^XR&; tfM%d%}WWRVpb{ Ğd\7;ߟ6PT~Qϑ Ma]AJ)GlPS-1`sqG l.t ĊxzzP;Y8ʆqu?SNÉdlN+,Zz+9ڦh%iRmA_AZJMHՉa&rc8+Vã4{ <KufӳuxSf&k M'z/8֚qH U_6dذo;F[?sʪ& [xp޿4{햵} OvaUe(@Q2uG YaY6T %tKT1 _>c^am'[So)k!lۘXS AҨ͈Eў6IG{*~ *&A6ʇwMZl oȧ x?H`ڛLH s|0dDݕbRR2 {GqSZyi'8*fs_VZvzI[rZGDW[d]Nj[-GQ! R@f."1:Yl!#P:7[^Y@QVl4eu"C"w%+ LфhEϷZsVihc "ڔ9ϣ)um 2SWfɞ=u9r$ǎ}ȭSD?hzt\i dNp^TА8gsVVF٫+,=Njk @ 1=i$o\UL~5~dj6_4x۵q2c)66|bv[Wtj+!.~za >I @pT$]ZɥąʀUKHi..X#j_ϡE(,pW4$YZ1#VJ&?@1 JGNL9cOɖ@ -9?QjRo!Im6B.QJG3Q eX$(qYv2zq< gMĴS*T_lwH䥣$Xe _u 6O%\m]y0&MÖTsӃe84vMl<7ϥۣQ:}j'Yޗ2,YGc,I? dԸc`|}G8noL3]BOL ˃\ݶ? kr@r"c#瑻ǰH )Z8J@MrV@ }{LñrexfÙ`nL Cg?a=tne]yd ɩZHᢵPŶXOwW?YCUw}\lhc fU"@Jn8 Vzexdg{X!9Ŗ~{>վAƹoxj~Ax)!3Uxuj~LPxCv@.i^2嚋TF?`h ,z#CH8T/v7ry 8RyW%ry  !~0,28??P[gh:,屺LFQI^w觛bPc n+tGh*e1jʏdVuc5;^u!St$^9rg18P巤lUa5[f`3Vziё3xOaj!2oM]q6uy8_I.HYXP]hHRM':qڄu0١BʟWql+M`\kIUz'xd9`/mtGDC#wclU,/fϮBP|1)Qf/vJޟ_3-&3;ƵO+nqKzpA*m)@Eer*&uq2 T o$G%2~:ugZ-8ͤQNp@/9IG]| ]j;CBn 9UG ^a37Q։fv /r  J51xхxmm%_-piǰ!@ 痻_!Br[^fL,*,v#T~2_8OJXɖ^.H7>N6|D飢L?yF'(-J{ǀ;@v0=Af鯖֠SV-񱡴 <.qȂpm/@:!+d6 Jc}澗N+_G57d۠H6uS0{蚌i-O` Īӭƶ ʙґVPIEcBoh\.@#*B @[Ksf_UpƐN`ɯ|cbɴ3P[F"cc?M+ |2歨~cE°w!NMTQ|]yH]t)&"ޜ}֐D5p,%>g 2oRM G+Dah}[v@qX(hd\C:QR-K{1Nb]ٵZtx@6NRSEld~ڛ8~,6;c+a˵O(]>jANLKM/xL& ʫntTB,AAl׊zkJ_1bF9=C7? Ӝwi*Wi^P xD] c\[6TP#R|@:ZQ˻^Cl5kn3Rfo'#NOJfՑrv˂GQ0&݌z~Z5y8Ä ʖhxPHJC5Vau_69bs-F#>usn= ]P$LDUȝ>k\[P4~rP-=;j%I>,gi⿿@*j"CD/|B*:<[mȞgr QLOsWQ+^lNTa?|I uy(H*ٯ"0f1l0skH>3RSjJ53Tyr5;ZEr嬻N1EыhլBG{iQgZ_K< %!4C/a0pKRSÊ4tFv/%Z]' v,6ȟ#=MAwLbC5[=害8zztWo(7!!y (EN0Ew,qM}y&M ? A0zm[  {ZiK=62I٨,F๬ M׫iC) qol?@X`AVIE;XCZ)"eS^@䝥ӵpΌ s 9l^+gW=_ ›3.jD n+%v\>8F~FOFT4T}avܕckFǧz`)o`#D߾JoJ.F}V#y6PȝKLP%zNf0.NtqIm <؋H(\VJnX'zmRj}kn]6nx֣Sp9s)ƽ yڭM( N)OZ幮jϸLh9Mͻq#. EyQĨxkw_羷;Iٌ|A-1%_3 ~ݭI}߬"ps deqwK(ET}k}1HF0;_ 3ϳ*:` Wzaeư /%a9$%X{uϖ$1NuVfi}ɓ6*aK@waa5_,Ω[SgN0t{N\7Y 5O'bS6+}3⊇ ՞~&IB%퍬&EJ7GK#K8-/;4\_{'H5Z(AvZZtn]$/ *-W^N)U4U L[sA+DUk!{(z=Phr,L|¦g0\r 6?0"C*5&m*Z/sLUveB>}=IyC[>&u(}kt5qws"vF}G*'(jIi" 6+[U*!,: ن8)uK?\LV)Zqjq\{ɨ:K:J=̛ԍ5" !~jUՈ~Ħ"Z4AQ,M)hHR/XUñBǒהj%W%9׿:˗[DuĠzHjNL)~2osc@xiKf<18.#mǬډ0rz/Ӓ=`](ݲnǡ ,α&W4RؿPBs"j:ڢў&@Yʟ,uזPdc>xkt?m.{Mdv{C@x?]m`ɇG{)PZZ`=m IYՌbnc}K% <RJL Wʆd 2톋Ju1|XzIFI}ԾS7; WN[P(C`TQs XiV a`,\zuJ$~l>-,\,(_(΢"Ħj)1Soi$$ӤӲe+m"YFAm ۥCd+_[!gLZ55v HHVL!t\Q'jw&!\.rv8WYRf|dU_,ڤx\2} (ȺByB*9,ծ-u LUZ73H8,;QF*.p%?BGaڎП**"`;3ߓBc8:3P}FV3-cS43s̍5;M{!k~<E;.|瓷T2cnAy.(]֌#Y8UD%Bz5 {b9p>%{ks 5zz/p?1'<1JL;v- %y$vֶ:U31Nav}H97G@x T%S|ZSu'98u857b}^'1 Br0J, jlr8Pc $`W.<zlsjui R%7a#ڬTʵD35h=kuzSѓ`AX юuN0Av % C9}  7Y(:[h8B⻱5!{?[NB=ܟI)! LD>dEDkrꏿcߧ3ڄ⒃Ձ$WAG(Pe.n/a_97U$0e+,l*1c5eORLw|Ollɂ.~ǨuB(kxE;zEv=XEp٣q~mmF [VC%(_"%4`+obFk'QqqS":V}эy?V"Nޢ&*_:c|?O8cF[ιd\YrM2n]6SsҫGn“11FСR.(* 97vOЌ˳j"6 [e*x|!/{m i/нHql+~q>t/>R@ۮXx#0J]'R{[]sYAY+H"!W:[^FD.2ba^@\# -'%H^N<)XGx{[Ub;Q$ʼn{ ɐE&T?) C<`LvuD(YV8M6t7HbS{T(:Ա?_GCKњYqT|)#~aK흨M :d%5G%/e1*7ϱ~cAu&Q2sނ3 w.6SҫoR#ڤuV?o.Z|/_Z(͢7EOkvc_#"8RQlJ" (2NN`G@nkpmr.6RӏCz@Y)=m{FkhƎx&!ciϧ*8'1=_c~mjeeǜ-2yCNG-ϐe@6"'}DGbskyhuhwcb`\gōC`A/Z*(8\{vy+VDT%=3ct0t@ń)D9m^C޸&C6_^f}!%zcWiwOũ԰;PUHw 9)t'GJV@8]#{#PW @'Z_O 2PkCsS.Kݦxa5)W ΀odI'ҿp j?닉js%w=Ӝo_.VbC?wn.gD(*g LQ,@8m9_-!`T:\ځ*u'`SY);b=Ǧa.5bƭ to6eB+Z8nqr>$h]l2G p(r,׮긣 Byhd`~<&ڢgNk8sP) +U_,_h-0lZG;i _1L&G 3Wn.< <2. s'm(K '3د'D+4q YX=lOcVm K[O܎g1$67FD9tEb'QàEN󅿃4RM}Σ]SVn 7A6B~ B'vTQz<7bIS=!?1,tPu](0= Ƈ0Ҥ$ з tswŹ +2_P"+#| 54ZsuOGN:Qȟތ{'J'"gt1b<[Esxʭ-hxI٤"7G Rwشl 8iIWG$?sJ+z| !%)B+]1 n6xh?PN2gߵK;8< 1T2BmO+!Ǣxr(Cц ?Q_g`/>VVOU>)4pa>ʼ:%v'kY*S9V[ysK]%emg[* D]fͲOg\pzp#c:基 @hYLwh60;m@ ruR|y"_>uGƓfՉzeҎZ4[CCK&iBgK>L~:^7)G|($J Ժ !sZE ~3Cݢ=OAnǼO'!Hf,6R#=ofǩ(l╶GWP~!ܻ~x1 ja5ގUr6}) 62)_cXj?Rz}mU3t$ %qyE,731rNdYwzKEr ~t1F]Ssq爢FbX,Ϣ^"R:HܭkUjmk؈LŪ#SrI ^O (uj8I9'=1e+XuYsV.]&N#rA?gAŚ?b 2Q-2-4:Ľ3}U?] xʪY* 8yCk⦩m&WU)iʗ!qp 9K8t*NXD&Od^q߱L]S)"bZ<-G Ք)r\H4cls 7,qrע# 5?кbR2LJ]5Iŕw ;_ ly,(5` BنnXߚ ZMkҝ1F⓱{+%In) ;\E`.\JGu4 *o).T(٥H+jS D/-Fi9v&/x\$EʛJ d="jĹ% Y ONV`|ZR_v韎Y,FϨ9cx~*TȜe{Y{Be>1<|]qi*SPGu J;fwK|isxLǨϕse͢Xa9,YV*r+3#v.^MsXsHRŽ!Nhz^"sD aw5|K3aͯX9fH.F9WK{1?y~~7#ј#B.)Khw0)a0ts1a~YmS]B{&QBg(:Je)t@gUG͡pу]8vz:X.K?ö nE7 yvo6#*uIoi-[KAn/~@Mݺ 캅"{v:k]ԮxL פֿ8QQ 9gtE]}* b,@lW0P}C>ޙXRٙ>4A'F\FV-FCܮ* Dߙ:y=у-(Wke%qΝOw-`H{ZAϢu ]VsP^KQly}L{·8M{~7vE〽W^\x=&@l_n(9)D"T" Z7DV􌵅*(GLF5/ o8 φoMElo: kyXt}9j{*jśzN/%!.*zR 4i{8 (fuf=d$ݜ>Am=]hjG~({"k꽪>VQcfJ0e_ȸI*$$#6{jZ[m2 (~˽?=A&hԩ%qu5O'3bl+'YȚ%z3/43sAm/V /G׌8cnb1a<{QOWgijNir}MX ̓JٍJHkR{NCdF)z&Ytb(qwcŐ2Bì9v6X&V#QX բXH*gN! 5~|;/?|A̕'rtN,P> S?fQz5w{hof/JpXvns:4{ikSA$=S,YymEUM7 K<;|<9BcΗIXĢ{'Uw}D\PތE h:I]"4xX0@o"ݶȯK 1N;=r(MwĦ*d~w5EۍA%mBi{`+ɺϞz""|}܅"Hi\<~1ѤslC3FSyڊxY'>ߴxx5?z{Ԅy sӟ/,(-gvLǷd!';!۳Bh.f|nWٚz#epB0S0SNVPƹbR60Uk3@+{TqeJZcd M,s@ ]ur;T<硹9@pf_bU{JYp9É9TgaN0+! ji%eHGWZQ˦"68𔱃c+]O۫BY790A70gz4ScaC{+m("IQScx Ob':Q)ypon_i,"NpْL}?Ii?PDV\kG>FC 75EKTX[q&$sHFw ދ9OX#>\C4%/d9<6(™cJa5~%t2;# I*O6r+}[p , }j_#{z8aVܷŲ-2u}\sL5KkL3҈4ۖWP͈& PZff^(jGi(Ea mըpLuL=Rdu]W'F(Nʑ\m.`Fd~EݍØdL*Z̟C t@KBZ(Jb?`u֖}$ ŵO*c4!)c޾r%& @t Iir?d /&ĘiMEYĢk~@f;l õ(ƒd~T[&|rz˨cxKɆQyMVYד\rsS%ˉG;FoZ0 \8vf1q+-d[Z]_ȿ' dm7ȓ=r@| &T~?>,HQYV$yRujYo*((ڎQmğ!Kle").>H.ˋG_kg Up'0I_h|}[͉Hd'p6mAꂞ@^aklNso]+)DŽ'B`Vs{Ѿܷ̏'2}fWča*W1-+>![o/m~cJ5<A. nG%y5Bg^2_!ƪX9.wIkZF1ᗴ/uCWs)/+d8 K0z:pƏEɆUUix"!ECD "ɤPDEQoLʤc];6 6n%Qo Eݝ.uE >D + Mw|F,SP֥tMm?T Sl+]P”;Ԥef.-~: cyFRD@o|0phAiU_:u{a n3B_^fe&aJpO785H>AQzGZ>Ҁq>r袥I XbA@_%9ihǬ1>/JatY*Ltœ ~LNOŎd_ʓ^a$Mk*`,4^Mj @c+x/"L19pEm%ăFϳ9<:G%y*EG0W.dbA֪o fTט*p 0}ِ"gȍRKMXG yarc;VcgOFqH~ܦMMq[%N|==O&Q{i (b'*!SPڻ`K0g`J_.wQDr\%ȳK;ÝQEmt~a`Ά Ԑ\c_dYB7 ͜ou=”zYr,zۡ2`]>Sg ǟ"^{ܴڅ{V_^tjJr...1\^mBǹp ̆ [utKrJS#KPcx? "dL7E߀13*ػ21QdxB?c^4a~UaFLXtNn 2D BI7{LXn|$dbG~0y3Ex)4ɝB6&=,Ul2.^G?]FgM;E\^B*^"ҽcSEpj科AčITe] hp Ѥ"Hh))/T=L9~E좽Kw1ϊ[+k;HNod` JU@sz=82GڒZU_:9 WȂ̙:h-˨9?L*&/l2^Hpq*8߈3lSAź:uCGm` dƲL[-,wm]n'N7Qܦz{] XE(KLu%I>4r6&΅σ&ő{~^6Oc>蒊֕Q%؊&p_G?m}UP=o[=1o:oX3/]n͔ϗBkY+-r)2]WF+Z g b N|Eޒ&N/;٫фz M6 >ʽ/cu_ͼ"Hօsęo( 7ebo1:?6̋)Lw0UYQ-I0&7JڶGi=?z{Dw9?1)rNSe 8ڀu*V?M?@BTRⰤkGYp&y@vsě=*k)hɞOzDH`EVUMsWh묖*\͎>m~Ӧh:x`Tm*hbȘgj+jʰGRyf=49>vv)B)8bJ ?Fr-*,A)ɻI™PW%A){jY= ~S'ol7lU̙/.?9 7`jmLهn JGy˜t* mPD*UDS|=n4z4ʿTO!]وztl6נexy`ƛhUcSd]&Pջ~U1rd4MQ/Nc0R7IK(0&g &8\y;5 (zZs_cן2SluclTm^lI&4 (XIo7Gp3Iǁ͔yx6Lp_s#urIJnu/KCVL b,zۂLi!(a_$#UZh?h;=X:v&g%E8ߛ9 uqtC /!py WQ+B"nL{Z7dRSV8{jaNhbm=ky|3a-5ae yAƐ&].WXpGvwoKZ]L,)Pf} 7QP]_@C vY4o}AV m2F2HϐZsN{ǯaLuWlT{d.j- d |SWBq8HS_qp=.߲_cxF'*r272 .qW-5L-Yo]5}۸s8hC'&]X^8I fi=.`" xo"Ko n2MP#)PºQҵtec4N,D(D>6ן^%XKan\e _εq|n~omd L-Y-yTTa*^C-7MV/OƗ](.</y)oSm+ƕ[TIGb2Y6nj?$~U=g)6p/ a2(q7}Ge6,^ϰvo@mTX}U+Z}㠥yjrVckF?dKsm Q<6hV Ԟc3dj:@ 2&W-!޿?'|ζ`Is YL]+J6.* Uǎ]R)uL=SI?rOb876YrnEU+Ky'ʹ`-KTmjM}$;pCڐHg]Hx@ l^\A_e |C+X'ȭ=1l{GFTruJ|f νӾѠӶbKnR|.MU,=C &)"&͓: v`Q$̠%%S$ƹ u5}=[*ao ]uƖ؆qY ͡$8EwH&h]/#V<6@er-+n=- <@7 HN?-;W28)p/)Wxr5y 9L﫼WX)QBȞpk﷓Gr¸oP)e@MZH_!\j☣8JKp`p4ϥ{ēcrO3AD/ֱk2`6b|}uDiB̟.v!ɀ7I*ΓL+ ^;QVhU7'جR.`@#;v, H# `2R&F3o%,  UIuۃUp u5$\'W3P 걠e  V uB uILLQyfDp*݆jA觸fy [ާP)C#4'EnWqs2wE綇SD-NVh;= V *km[`ŀ|oPՙs\5M#zlFWr0POcFeJ?(!J`)r,R?eG XGc| ϵ3h^bXt/z+ oZMϚG3@OP/3oǸ_f_S4hpgXWÙRTp`[Aa 6"r55|ۿsJ2LV[Ne`sHGO$>^U)TBmIkT\3a,}$/pQ33ޠBq HϑʲX\Iq>2HWTsǼuw^,S!3s^}c8RpFEJhdbAxi{[]p@Opf$Ǎʝ0shb^/frb]>bZ0P̿*8)7Q3mMWЮ6\P6Ditٸ%7zU< u;`{zA\ʦ@~r ,~ D4!/hǢ(PŹ"|Hl&}|YMfDb8G ?u W⨝*If+ +|Mokc]rYc ɚF^Pn˖G^ < #~]V 2N {&=Qhb&Zʖm f)=C+CDBֻ^QVr? aD&A"S~o`dgQW21d)joe/zC 1R/ZL:hUy1eB,njoʢOʥtw0= f>$>_8 PfbL`-_NRaNm`e;us.b1:9dJ9i':[T5 ^$-C`ݽ3?Ik5@⯟bVƀ%Ha-c*FLπ.oqr$dW}=Y E)#y cMmS#e`aDM+qvwfZNx j⡤awI9ָ twۜpRd%`ٲB$iˌi }"w{ L$l;G?{@&~& S9n_gx$y LAbUD/4PQڀ%/倯r#?$hD O ,\[LLG14%p+8#EaZbav+LOs #jB#Ӫ?Scw>z]Ё+~> ހVBR3/!EO2ɴs'?2|GueE>#􈓵V\brY.,?QO[0XDk_JluBA7I' / 8ؐ^O.,l N.*އvdt2S'?"˅b.bТH"$gF}@vrK6$SyG>ptε{4 4{`Sx5 ;2P JFiwDN]%z<P%4jh3-7AqPgb#LrcEE8 TSuTk p&6OdJGʡΈRik n&@ K,rF5Ӌnuכ#yܪ`(M[g ܜ+h'pK|}HP9Z6_>#WN,N>)d3Cx 3iv+`T C7V7/YI$ZldM4$WsdȨ/6dd*1XgـmS'8%z=qc#0SIܤ?BȲUMj_$c ȀaRA f ^*ZkbfP%'dl"QU8UЅX,њm -vŐ4 %|#!M )4o">F^p.>EC.dX,bzr^봶Oe\W Wk8 s,U}C7l b(; ?0&W9iΎӀ*neq7VI֐\6P\/iHi`ȗ(a,;6=`R?ӅQ&i@H 6ѢG50P k B>EO K>~Ґ8_ZR27Roֵx]Q^Wkc%?9g5w} yq/6|g47%8u"Z`)n\(= 9~ l: cClu7Qq >Q¸ jER+ަ|ZAX\lZ4kc(R3{j|J,t@yI4IHiŜP,Á)8~ps ZhrLx$2C>6"b,jbOY d?jGJӉ?k\Ax/+u.E$~Dt8&GiL8eeCk6' ?&;CE=0d;IjP"<1 p}gnuCoq eyAOgsgDpQޕqV< c+-T J%!t⮹`<. y{X_㇔i'֬,Vi̎rk~wA/UbɺEլr-`A布/QjN.Lj,`eyLǕ oS[Pt㷳ǡQVWmHA9cS%*=!g6Y/x39Jd?ӎ_̪X9oD>[$Y%r`VZ _3hS7HEA@q,2#$Xj+)OJ8O'9g[r=p7&#ՠ7u<]<Hz>(fcdLZ^ ?GAӔSީ? Mw $]jznHS|f+C%퟇'Stnc~&:#cE+=M` iX4XJ`yj"3.jVg$ V /h$s7t lCqyc>>:רH`Gn2$=%;Ik]^P *A,[J ;us*Ť] uq J:<7Un?\g*O>C39φ%{kЇ`L\ >8ۃ{`QKrHppѾMZ涧tMjyJ™wAmUb.'KXDiQj>(E\-ga`v a0VxW9 4xqӍq|R@|4`3ꐾvu|F;k_HڡpaZ GlZ2lN,ah7B%SqZ?ޡ';@gjD=|ؼBx )J9o_P_Ŕ_gk}lh&4jX'1 ၼ屸ՈTV]e=ߓZ{~u;5~J$kwٰy4s$*n%i޳J?buxq#`vAf , NPLetD <> %MFa >˱0@mWm~Hn\c>6y."F;=qr^Ûe!ôOWi\׃?M+^74|ar kCCFiU荲c+OR)ZHv_BV4NZ ,#Ȗ6!|!P.E#ja9`#WD֙`/``VracnP+=ӴNt \3$w]SD.,8-P5PL[^/O|\+iC .n(aFæȐ;RH{yaq437b((}Y  1`R׭}k9HPo(rV=EIcOD~=:$ :вVԙGQC #-k Pz 2 Zӌӳ~|z'/z`"mjG{cAQ`- ~O%dy<2luEZUxyț ltHM.|[gt{Ϫ/ kKrAoK ̥8\`/H/a(5{PDyŘמ$M @aS)2W;?ǃ 8q[9'UGϞGK*U$o, ކjh&l^ס]- ?YbVDKVoF4قS]#墵C咛PI1_$yd1p{wC:Y =/*@sYvVܼy:Y2xeuG{I8EEL4W2#be`U[3BEr-! 9b҃\%SL,] ҘS799L|)`grpZd%@oįVkx>TU!'0Uqc.dy}l":*2<$]i"kZ#}DGkdYuYx Z0n,˦N8‚qϭ…bkS$ʸldD]D&3#ךF "vO:Bp4Ixve{#.O2^)тnfԶHVM Ed8Le"V|Wkc {}Йq"kܱn +>ͬˁF)e /1HY8)чk['? 8:R4J`No03((5_l$k'i#yp: ʹ] ESP^^ ՞ks`Ml#. Z,K+'޸z2j*(a>VT#|H/5O4Ģ0 -l-paTu$XMŪ \ist3 wA!=%(M]F" W}~!6{#NĦ\T#][q#0)5I7|a[(m8wbz5t]Mum %: /OVMoBdـ7ˑMlΐ2^bHqZ~IofVWBt'BY>PA@/ /A;1~ƙj;O&~$ʤ[:I5m}f ~cŮy[CL#rjY`Q!*՞^/ىƒQ  h2ݐ}VPY&> L29q|/{Π_y46Gqcޭ,pU5f@8Rw9Ӭ`Jui6?%ͷU>Fܓ;ջ-,eXiSF}ؔK~-w ؓd#|k{q ʌ Q {80?Ƞ򣻤d;䪐E!=]p a)7OU_g$yoԎ̈I+-%h %'R3&T2bK8y#.kS/s"069b4|~H ߊAŮR`IYz 3{@ 1~% P ШʲjEavؔ0XF6dں`3p~+b/&_HZ)Q #/stF `څ.ԍ/Ʋd}=elǦĘ8I>WWӽ.5l%pS\TsCZ/F u `ӽ>i9¹Fo+ J?"HUߦa`DLj~!Lޯ&@=~fN㩀ش[VZK{EM{2sx24MΉ(CćƁI]fALgHL}9ʇ1=Nخtتfwy=ȈjC_TDDp -9*"y`X Mtlpp0˽՟Ҋke NeDI?נZ}'?AS;o2t@rn%R!1Y˃gK {F+%;a9!FM8zF .Qv _H+*0;gLF_j|65ʡE%M^k)av.1 qEї 4czQ|72`Yr 3Rrc&[27X9ϒo.7nWk>O9* S8G˗\sovpG#½c^Syx:t|[>O Qv)+Z uoTwn}ʨ(P9Vrj" T zKpS$gǻz,wx ]O\|)< ?C#`U-FV3 ÓDH2Fxx8fiNS^>KjG~=4R,1}W J&&1YXޝbڂ#'l<iET2X.&U6~yti֓ǮOy48fΆmݴ6 &8S5" ҿ|Z}.HC!eAn_;%bW&p@9%Af%VnBV/, uLbV9u@'<~ISxL]dA ᾧ+`B8਍GIb§xS#1]L4MĒB_2HHܪm9`d&n9NjwKŢƢ<c nUN1P?W¡8|*slhS:"6@In-*+5 ]$=9?d?˒3g >PP[!WBXwRvlNvV b ![aⱄ$uC!  \|<.IOzx/,nH|$ j41(hkK`S kuH4ݬ& UZt7@K 6V@U1ÐِՈQbcqHL @"w2Qg̏K>l"|BE6u9o8+\< A O?L:TTt рLX7Bj![_4R.ŘoXi}v2vdQ8|oAՏbhq|'2fmDj̮ [2"$/E`xĪWssf}1yL튂F:Y_XNw QE׌,^-4Ph[cxh`z9c R䭊ZR`ԁX ; QD4@NQ e:n$֭< +[ݤ0}25k*)yIC%m&7>[I(҄LR!f{У;@Rsh,{X‰ï$wN"݃a5gN t99QQ lJxnIz2˪_`o.0+ `>`Pr]>e3*BV4blvDe1w$x㺚1Ǯ`FepLU'u#CvgCWBi鸽lg I™6/Yc@,^=ԥpxEr hCmf 3ih wײF)M(..v3wRp)4atлU=܇()ZVևGAM͊V6c$6`+N:mUnN-(eg^H`H}0&Y=)O%@#d% D:Pfg;Cd.C$}OJ&T3o>l;D2|hi̱tz-ztX'uR(B9.ڌLd lꕂ ϯǬ[q#6wj:@:+s+1ʭo9fº<J{T`Jˢ2ap0uw J!NPLn%4 qE1|̘QݲP0aHc:o9pWmvD2zrXsnyJbA4C`Bd %Ѡ<_p)Bm =A4XURQpOzTj% ';]gkz}PDDԶ`b)eV>TXCgVG%-,0^b&$QաQđ,x{(}ьpf)f3=<9N_kK\$t쀚}dMe&#lh^2)y\Io/uen`s4f`<<##A°t";[um:V&_6FKC/|޹.eڊ怭L:Ix kv.1.nK[d0vF Xrs?S M۵\ fgD18Vo]XSihC0idGͰYcG_Aڣx( <׽B|a=x6_cx&4B´ۦz^%~תGJzkziD p2%Ů>ۭИ8"cn/`2xO=d .\9hrYY#'s곐, YjM?Kc{J&?(TU3{ sҧaxі4w*a9hunQ;Ї:eg[F n(So*KPKY v\({03JGŰf|ZRHǩ|h]UE!ʤ6D>c3/$!K p%mv!Ȯv:0xڃ/@Y*i8 w(M%H߸P%vqCI/D[O]Y7~ QH_q7y?i$݄|3^T8]d^:oN "P䬻Vac5 5/Ԯ /_!UkƪJ!p|RƩ!mRQt3bT˓%3*⁺,;'QN%^KkzNcjڂk{Wวw0#h7vG C؛z8oLK>ؤh.XO,3 Wa&4JhuREVV߆E EfU&FPo&|&Ql[re:{V79wl3BQ<.'=.>~/[s"2vjL^m?8ܬiKRLzєY#Nͨ72u )TvdĚ_ m*bI1TK~хXEdu- i˯f3 ze~:6K`7Tv,k[zX*H: #Ħ[^@jc`r %zQ!zqT|Uc KV6c:JT{>Yb"R_Ǵ?YoGB4qE_(Oc%}UoAw7;s(#{lZkߠ~UN+X1qkjCك$R }x,R3n; |DhTs'Je}b.&*`4[DM|^0O7Ft=)]i_Nٖ6#]#qxh4垬3̔mbVo;j|nRmtt;?JL$'ď3B%;ww?5<ČV ;3#i\d !:XݗM)`R%%;әn~a)3`o{r9z\)_q۩%noRÐD]䖸e![1'#WJx/GE0Hl bgt_!DB9J&l;=sJ^'w,to'|Wڎ5øy=yAn9Sy]yVesچ7t $=8}R.h?x2kDQL$5{#?I΁c~=}-6M{p>T2:'8`$p $A,փ0|7Xp〺>7fB9wlBe]^g4;!X;&0FwVAF=^#{(6&! p!'!) .A0U8ߦԟ.Ha׀Hm~Ʌ j;~Qzeyv@d~ 0F1#<Ϭ&"}'{iI/r֨s$29Oo1M.}6(4tA1xޫb_䔺9=L%y3cnBy~K@^jIwDbߊc~)IV]ϩδhto1s/4?2yʟ%ϥ1bW$kZ F|ss=,UcSA+& 92BSBi@ϫwò^:c<b3<'}^Y!eQzs/gnJk SN KA+›2ʳPG-u|XQ>M5|8MOO7өd)Hy)cc>>>J UhKt²k!\nf}0th:*##fW&GUk_Wm .a \\y^΂JLV#0&QX@,Ρnkt\MZ`pf9,#&\qf Y)1T eF.+&m/Kfic9s\&Ma5˜`\SmDxW{7ln;ygUZ}5N=f.\vT VXcمwB] ?/2C3)hC1˥ġCq]t}\9 /t,f8H/b5/~> 5Zl^H,D8KRBRhӔH{Q]um!m>whM&-o4[ɰlT\&L1A0ySPS,P S#gA 5DRޚmV겷s捕:dnGhC ߞƽ? ail@cZ]hLtz:WSLc8VkXe?byjCVvE-]˂Yd59I3r?q 75 v ɏݪ;wS8^-HлFI'c(zsBZRZwN3vǀW]O|0N3M>/ :N5_nȕGG91G8 *:(EXV@;`0R'"[%3 FpIByyHZ^7/Ò345VC!88@յH ۜpo} vPR `vR1G⣛+!o(ٿLꛆO&.X[?c[XnZS75԰; +\  3_jՉ x[z8Ռ@z&[2ȘݞᔢG-di"4 w+uaSs{~T/-lR.7}4tc+v^V!Eބ2XB2|w'|'Jbv~nN4 q u7`23.U5n5aKcQsLa imBE/dߒ^cwrkJtf:T$DMsj9Bfp%_P\& ҙBviwB&F &Ryym '6LF:Kem-OAh.gf0=R=_<|ڕ<$}R*/&Cv6K0\dzb9:n[]iHu1I('|"N9PĤ WET݁kyQ%~R10[E!R/]4x.,.O{c\D(t ^EwVHS(+$[ Wim %hC3 {40!>?J_愹= >F;5ƅH۟_n2Vbr0G q]v6G ?o P w*!i'lu޲\{)r6\ }):|v~+۾yݲ %+/BP?$G!l˚Ў0O7hF< [N%]$~8?Dn y+VOHT^5z G:ͻj{v6Q=9{qWA،A=6P22\̨IhǕHPV10Ujx9;d͝`4-QNx 5#]\=TX2 N}ԌN'nֶF ^RK@qΈJ=R^rN嘪Zj/]<vhNs :֞h]EkU,Dk]Jd[ UMΙOWDw1d-ݚH;JJŀLC @ȦPPJڀR~uél9:}q*ϠӎTO䋊pa@e"s\o<$vE40r ) O1'Ù6`j#nR@. Wj'Vi /E)6#C?"Uh"r-s/LfY5F (K}ܺ S<geJ㟙,EijM%2wP˅$ghoD#|Q#y3xƊT0-LƮrb\}T[gHodq{ ;Th"g{APgz1„J\Rcs3 >ƃ1{:maWN@mNu"Bհ6o4 ޚnro n, np5/gsz(I,}zn׊sS>.a &\` 'myL];ћ!'#Ip7(u~l1\4:k3Xp- 䗅=SfӥpvU3-;{(6Ua˓I+|Xs5o4X'\(]{  q9bTZ:! 0ng!=ll\t/ԜWC\\{{Òmu`XQ#P\F;b= " C9BT%v^^@=+5O!ܻSb  n灼Qz"cvi5ٛvZ,[n_=58"ibULL;dfO WT7u( O5!+6C!gs}Q+)3ҍ}M~A>g-lQgGrۛ:Q~,}@u-:9R"VaZb_ضΊ8?쮲m3[+5h5 qoוJZyXHdŘ@ǘsnO:<Υ.S;D'[ LUti_R)Rr9Fխ"Qox n-y x4k?HN J爳o ໌4XT(?OjH_ftP_ Y_Y o:4A_7J7ݔfYS#*\ɭ3 `tb֞y%9`K1 u_/;FXzyg: DTqt(A; M˕VKN\I9-C&&L$.k-rmvhr8wXQ|&`Wj|liw9$7.N.e zV5Fw=IUVW>:.3pX'tᓚQ[TGXg"+[\ʋt]ه'6̻CGý?a $aLcjn+`k͑gK"4cv?/S4+"^24Sx%]Բʾ1AD;aAGdio1|tr(9`! E2lG=~ꪽ#y;m}H*3B)LYPVk`)v dEP:ZGjѭUlt&s.#-&ĩ} }55f+vn}`&d&^+w9nrv:!voU!61\o!Es.5<!WgۯwvXQWlpjRN!܋"8 }tr_[Q4R3z?avj́Fä?9;ϑ{ޢ gKh $ֹ &0<.;m,`cwGڠXF>5LڭrgR!ٵ:KEMu- 5asT؝O@ƕgȦ2<;fYY&D1'[QaGJG=K܄T t0-Gv˻Sr'ɕ#!Aiа\[C.rk޵(["״E 2WgjYDnB#I".פZt3Dv^=nf= qv{ g]޴Ku#;@휃_=>0) WZi^la&-:y½%mi5׻ u}z8z$>o Sx=R_:k_cΙL'!A5V~mzЅ3^U=|83_-R`:gDQLlOB4fBrdfBn>^yvMHsB& ,T:Nͺ԰L>9k_-oN^V^JDUQ*&2Ô:3ZE4P n1 E};=e3 Pdw 9 Όț2mVC^2iI)1kWUbIZaf&S1!&>=MsHk^nөjY}z:,4_;3 gܟ!u~!T j$B*ϵ%C!a6X"1^ հ25In*8ʫ4]cEFDv'x0QG`:J)/N !lݴ:%kQgƓٗ =@m"d_绺'q]{A"mjBT>yϲl<<r|.7煷'o{*yp0|r'u+ X ?pB~cdt(L+(Nj,s@繸AܙPh)a}iha D$J\ e#: ƀ$ՇjN9 &bحne5IC)L4J}W3Y5Iެl ȞC둳-OkYfCtu&Hy3@söI|a#yc`rr! wlvς#e&n2[[bsBa->K(;%gi:5U=өjvy]V_+@֘]%ü*7 A61M"bN$X6qI  IۮRq5No GfTRHDVmz ~ͮ'MfE |6x,JYx'[D1瀺.-( 5{RشhCh8R/=sU-+Oqkcl5^!×y)fN?v[y6&e~iFi[dML}Dk ?@i ?9]J } Y&!Sai̺͛igcNǬV%>u?8 K$'،\!7k^ )䓜*_[Dadn ZFHu P1: /ʑ cL2ӝqX1^X\>t g+SζoQkЎl \G x3Jp%>Łds>zϐi,+q0^ GWM(ҿX;/6'񂺻H b_PېGϩ >+]3^chg4!hkc7waV`z(YaB';xY|Ԧ )_ @7lWȹ}gxkegbJ4a$K([4?ߩ;Z' '_ջ>DXeu ZC ~xO8&V|ȉ£+_$+'J<sgKHV6"LBXtH3)13N䔑`">B+JgU2{JDǦT!G gX+m 4y|JۉX"D fw[pE0>Жul]3Q;UK@]VC>Kf"zA}RHB: :4߆g"܂ .mWцo^$iEn=[!њ鱡m6ܿ$G3'}tݖ1z+ԚohCfQ;@iw񴦰~ȉb1TI@7,7Aru8{ʅ+uMdi 2/8Hk]|>0KL:7B?Sg\/F fMS,=l"u' Tx .\MPhΤ'KCsW5لXZL''"1*@MU@m;-qo#,d^/1ͫi#շUЮ = &hڙ5,Yg^+mmq%KAzcaqdQ s2ʯ|O+FۘfӲ],?NW]>k\\qGtM,|b 7l C*p66kFVPi% {?C=nCqhphv/ྶM[[%HX;JCMhYG~Lk#❷<\jؙA(t ACn2YC }D[6߿6Ʊy.? t YY6P]k* A0J z#I`XW}{n; '7J2uf6fZ[ToP:U{13{ Wv,!D<8&폃C1'ƀں-OC@,fʰeH-y@lȟ 'P*XVP@Fr /ڝ{X\&܍LtscX w.ۮ̨pCWH1$Ah`MAО]v8]3,˧#tVA4!oR`e A(Rv|/,19Xw|.$&&>jdq) 16X8 ũMFΘR8-9 "<smx6_Ƴs2)תPݻ/q`:^\Oq @|I?r>˚|,%)kjN|ȓ=GfLHBP ZYٜ@zPO 'Ϝ.bh0 5ӌ~5UŤwy9 c^FS>DG]Yb( ⭚pyH:{R ׇAi:Yi \ӑ](Ue@Lޞ)\0>;(uȮ\@o6Շmϔ? u->ٵD,tT¨scO9_4b#@sEj)kZ6@JDq;=`v;fzS Z侄"HՓv0^ktCJr;P3<(ʠ$oRj1Ŀ١x-ې?vrP=bzT):A8gXs9Sğ:M3j!-|HkPIz|z ~ Kl(#UC/`Sq :.:IcT3,pƒ5JgvI4e1nFKʍe~Wf%JjFn_\؅q#M0C.dAt/ <@&Yz7w¹/*XUwW{anm.y#W+.Ҩ'9VU֯c T1`Mt~oQBd aI amۓbNvԑK `"$+}C3'2m~7qOoQxBaBuɜ䎼 PAyS Dᢁ7f"DVAdcXM퀀N0=D:zLduԡ|4$*U9vL7*6-] ![$aVyK18!N'ߠɞFrE`}Ҍ_f3 ÊI4 TuXJaWxUf {8}M\oy/*7t}e䊯~PQ=U\a[l]wYD8H/~u| +-hbpwxBwWC _~BLVۿ&Aw&RM>>+Oe=SOk1lLR7sqvث34sYEhG=FH+Kԫ>V'JאSeU۩/61wdҜ (Hn hRJy#>#A  E-ӜoHy{}h, ‰Ѽ]I1$ >8]R-TEԞUhAw=} ea:~.?Q!s/{!&w ֖}~(;}lQI=D̟W+l57 4lC7 xnA¬!V`R_(բQ|oXHhq͖枼M0VJVAD6/%&R)?JRa埪^n,ya]rԛ:/+ kXz$xӃ ^oF$DPf=m?ѝ ͍BJ/ a`ޣXG(k\gζT,tq:b&' b5 \ckGą䣁jh5)TņrH7 OR˹`ǎ#VOOtC٪3=G\_ʷbU'[1C I(Q3ƂNr\(_7$moH7s@J>( βP3Xm&1TE<|n/%]}VWŷg %q!7(y^h`"jU2^yym:Li !ofk\d65lTRâA_A#N+s;"Ja}p B&&S,VՇ"s^O4&ާ7x9*P<"g#h|c$tzuƴ`)gCar%eCyY? ᡀr)N Nގ`2hDUqPtA0Gm=9ŶA|ac 9GX 9 Emy1BNelwόHr Mv XT-Pj _eTHVTN~JO5݂4ŽV=UKA-θM3t0.Y#T{(vбA@VEa;:I*p]WF V2_8ap DisX6/yEU[2e.)c=K' pRL7?mtά y7H{ D{b&Q>{?2V-.]x '6?/+:ғFYMKib!u ~a¸(%8ت4s1ZJ:hӈœvxDls,+m8au D5f8=FG)sa꺀DiǡȴfL`.7v}tfC>Y5C9I R\ )"?CM"c@4֗)wRtv0؋%i_XsZVV a$ԯqX\k6EWx}S$Tn1'ZG?LLs[2M7XB 䤶 m𰁮򈬬MCN4 蛝W֭ojޔMސŝ\K%«5T gol/vJ4.3ؖ-E&s &І}i뽅67[p ᄎ׀a?Uty$Mٜ/ pX@|+r?P؟vZ:}rJXrwō5ch.hH^oO>ibG ./n/,l*R㗗&qn̹k~pzq`k+2!!BVb,c7T.s,lVJVI>#I)x. _lh,"T$3OS>O6}…ulZoQ>Q# <&+e~tݚ E:^1s/( oʫ Em$6c(QP"ZnU֔c*Mr{yo2P* uA 0Z-DAm:PV]2f~Fz:BoĪFc @U ߤibRWAҢu:c{u~qYEE/xM(%Q *Eb;H.;9Q~W@<0ч4̙3.>rD4ΕgJ/,v5 PM A<0Ke ٣E7'~\sS1AdqH0:cr/,vwĤ-$$ytfoߖc%Q紤]DRMZ+nP646]kw Vq{C L9jobKF !Ư-AJq한xzBǢYGG1sn\d4=SI } O::OkT8FjmA4Ǐ &j> UWbsxDa-v(SOsCɪ<*5i {e߿Dgu:`Ӽ3g舄 {(}/O|Esplr;2}PhBس-3= rɊdIXO{Q˿{N t3mӧ̈́g9 ]Ni`6@09jh@P<%K \g1Tʢ3dYcN.cM YI%3+Q@~Bm ?]TNEk8QA^P{rParaE4t銓 hMKoadҭiuV;3q;/9!U%YV6 ZN'_qewAdX}d*3~0meio|`2SNFhSrh}/LVDm\qadD|<M+)I }4 x'A⹊%nXZld VpsZu"DZel;ҙt^Ǖ%6w^"dԱ4g2hIpAgdhB|gByzIBTJ:BOLÆA"lRf/7=ʵ~;' )ُOm=ҋf[Bbp2}L p=ǹי{j"l#tZrqBpdIbx2]֔ /Ԍg?}PNS5BU{(!4FGVeϾgGk<&\R9yl!,j}q:vI8/EhIVm.K Xi1-y|e\ -=d>[3`snO]%fT?LfH RS=x[|! BrZI$ ߬*+ Z:G +QۙMnwx]Ja=dlσ ..eU hXڛgGWWGb:%zkKBfoXY5&r ;L5Mpntm^/dDfϩ:;O;^_\J?wX.ֆku*7>i}J4}EԀCxLx咢y,lsB;d'B[ݮ#.ᮎ 0!;BuPrP~>mТ]3O 3zk eNw 6#V:qÅ-Gj|6%MW?qv N7_3b@TDk!#i5~4}2xKXqܮ ~5w%عe i̟z>sc{6d]B4>~0`Yˉ,:O(ԛ5AYeD%^b8za{Yْ1񙚺NA0RҊlc&1t3£N}gwG3vp\u3Tpvr7.H١4;qO9i$Oߏ1CiXr|]3nd I, -[C0zYcZKU0/3WPhgBhe|Ү{ϓoFP܈ЌtWIyVDF}.&㷴~֮Fh>-E ա-wvfjɏt?BR{{hIu1o<)wm F4C?n2^Y^P*3@(Bʹ+>oR%m3J}l7M_:) "`kb˾Z^xO!OG):,Aq':=߰?@1ELRvCHs)&(ObJ07 AEז73r:*VOx 꾪ۼ@b9׃*Dnx݉Lf +JBQYkǕج^i={bS,"Ξ' X");HltfdO7G z/pXr6VTkZ&ֶQfn%W,#q8 ?ݼMlH{!g?f:^i\F)~JEgFO!?^iOf$kzK,d"`+Ku.`̽f"&Lu ͥORx;ti0Q",^\zqʍ bBj6 +uWe2hNK[ʣӍJ; [LeuGt^%N3(lX R k&ѦV9 6P8ZK>w(U,0vϮ_u4j>Ük?rʎގm@ۉF#u3,h.j?PLd]T@И櫪Vro쏘_Ѐo,|A~u~r`#O&jKk~ٗv$V򝪘ד+%ZN_x.2#1)ǽ=uxUHoD*.̔?J@/t2wvaƠM| |Q₌Ke8Cc>V ۄ ̰ }ׂWm%zl6Hy+H}KI|~42n,*4WʸZW`2vb\9غ1ı¿b2ڲ>w mz?Kyb.6i&MZ = Q |cݵ9 Yax\O~VWQ3ӻ-Tjy[|òQj.]4]vH䫓Ֆ61. =,QÜ/'jܕ2`9!2`lvzD Aj<>yžzDߕ'*Pm0lPO{h._ڱ:sl~l3y Ѽ(}iq_>h< 'bZeV ז En8ܹM!>e`F6b?a\(}ø(CC`jRpeBxm]ucsdpTgDSX-7@X$Y&Osf1RUFtOb|po'U67FfZ#9ŧJWR t>րΰIk+acmN;p}M:@ )rvytX(9.3}iW>'  dgR Jaar"AКɠGa3p>'c5;06u/2h+S'GCG>ţB*>=_)H^ bTx1ul]&fx7f8qm4_Ta $icmHuF8byA?WQkrljecO6a 94! x=lM ƃ2Pj'C~<&Ok[@)AձʐĠ=WŠDLS\BW rk`e݋_O-ae"*β/s'Y͛XZM]2#ӚG~TVk5P>ny01qcc>6gɨ^@բiFZ~jV-s6P'4RGO+ P&hݵ7yYݣBip$l%=NjX,/UฅO9^'W :ݳPg**e+K_ MGg<^{\]R1~d 4Œ|H57Z*͓:f-0O#]!,{K&wKtMٓwDt SqD=R m#Ջ!LeL [9'7]g؀T uvΔ}H ,_86Xkab=UN.&O[DŽB i} ytB3/h-I ;s3(Z.|JԵe_Igc\udf_>O+)rIV&mCw`xϛ{C!ݗe Yz@~HCdwW{rvm16f1|aY$*çTlq=-bOk&m Ku}?Tkb`=xyOdl $9:7V6 3Y1v-6*:+Ecgu^M˞"?`8,,=^p ĉ(+ܪVVo2ĬKhjT)HJ9ly=/DIIN3&34ŀ4znCC{z_F@\/\ݢ,ܗ@<\ߎўMeV4i~j^j|W)xwc.IKRgR\L2i+sxQ\=-.RgJO3-;@E׽cAcb *8X~=zT5ytqb̬Tn/ I֠фDSS;:d%?dY; Hjbيx^bdmYb#^@ JbUyXXS}H-&W^kɐSMUR>i!ψ ޻=+@hɆ2.GtL|E5O.'h  f3DTm_Xevp|;J;41/$ <=52?6"qTYs&`Rd/TЈp-V[OdmҔC PL?cY<1vᇣMF{R|+A,EdSN@2 .14&4+}DNcg* ,#J1;AԶ#o0L8a/)DA%gZ텢Q cFezd^j! sCu *iHE=lPq%OdԱ12AMLPK\B>-7O0|g|BBI6-wd9Ħ@я!_yI߁pHGKŐH{i@v3dW.]t*2:boOU ( #2\#v%gѠKBcnYE.na%&/!ݭG__=nn`#،NtУ׼j,[I)ޫrgwb5r8 _x@mg 9> A 6I]hRuO=T4 \y"/!TlN߭⢫I'=G$9nQpZ.=1{:eSTT3̨ذCLycv-[Y_|ҭȶUV.]w;fnqR-`JcwCwwv($cӜJHtZŹe|.F2wJ2}0rxDS|qiG}|s0%v:W-4kT)@]E /{MM_\K hqp(`ugX+E|-`&/ƇBMHGc%ͮ~D&t.*5tW).To熰];beQqLRd2vd3Z4JaWUL< UpYL%=: g0 4ςGXvCYJIZZry>c!{כrҫl8#l07H/z t)VĩH+}zC5~!kk$Y<,>9 xR(0"~6!GCR4~tɦ/Áθ[^ސj+)bEx 難GvW;I u&^}]NN2s{n:76Rc)*'Yډއ,QGLK5Et䑊Yf5#%=l"=Xgkmٽ6ޓ0v #HZN( t!=v 5k+S'Ӏ#ߠԓTb4*u/jBr,\L»TrUsZ"_7DlqcTNHGcR/,1׫h\jX~;XN>ql:~;xײAog_W dkeNd>Z?-Q  +t{}~ӳtfV3Ƃ+IA iA\&uU_V/`rp Zs|iF~J4ӻAN ACsVmN+b,h$ȅV㝴El\I0c7ұ A<itvM>]+Gnjw@u/x+8} ,-.O]$WxE֓CвU\ Ր hJ8s~uT֋UY >D@|ji՛C!l;=<ͦEh04sT@3\9-(BttVԤ<2~9+/0dxʹ赤 oVbOOb>HwD07m#VÀ1Ef5`'ǽDrq/`-啛#*|YEt +R<Ӗ,l+Tv`jhg>S>{a Ϻwq8@}`r!9xYA# x)۠ J>;s%#6;gdl:L>x4P4EXRK;0Î5J ڡt 52(W eW~_qƾj7$7qTBMQaS8[0)Ġ\EB> RBclFfyy?Ew@'kx%2 F6U M9lBR`1Q}nUJMf8L6]c+_N( ؂m&PX&B@Ȇ08arA$%'42~-0to ^Va9Z5ƥރ)!$. q6G*Y1B<Ʌoz;* Yu][U#hE@B)A^Fpw ؉rz# 4>(Sq[zJB`1guTHf5-ͼg}tfH+ o IIzA\T9-~1d~fv"UYn*w8B,ޑsm3"LۊvoO+aym] 5aZ3Y`W/*ZyR:I2vFۛ wEyf;Я0Eq)u/ <8gt9q7`S-tԌczN#rᵜAh+)*ҴJ{Ih/ m9o\y9`pλ+)vZ3R_GNѵO2c =178M@}m>hq!pu7'7l,5`x.oT)"_ydGF@01vh!o ZU3S409z!1@6p>}*j皼y Rz0;92ߤB9·GiÌa%idαxm!묚Eo J.kd6!!R$Pbf~?ϝy1ux^԰y1U8GsDvZtN%zUg!Iw*|RhA_9DŴm;8=XR1сc\0`mnUSt] ր! v(*΂qy+i p (J,xZkW3&kHɚ[=8" }Uˊ~r &r,GE8tpu=$^..hSruAM=@j"XQ`4DWתZ1 LeM R>Zj|)Q4#lIG ^gs Xз㘖des DHB+]*o^?4A$*)6MX?Y?pxJ%e \ZBp|:sz~_.Sq>ևT6@%84|хވ~\ıix^}o0zI~jnG(@!uՙ^oHzaJU5t [ +MɝkyL }y#O@b=6+)\S*E-/t3W8ԛw8vdžOsz6ᰦazfΑF ϒVw9K|Ii_SCƥTFX}G^qBm Ct cqUBe+64MF b[y\@$! |1N6]B ZҎ.J*s&u?Dh;ڥЉϙ?`%3dS+ڰ0 @!zC^$Q{зw *kG@GO:$ǟd畎/_<[n\Li؂k|l=r2u̦dU5r<ˣ7EVtٜ#o+V(7ʘsYѴ솟tcn Eݢ?cc-f`5_& pjz(sgu4u WDòR)1|z l+O#7716Cy&i ),~gQ'VwؐK7Ϝ]]{;[ $_o` 6>$X?O VM%Mq57G>fOؖMI?_7E>V*cˤJOŧX ~U(pi=U8Ў'2v S@SN-U YH`pE'E8 1 $zRxXHtFb:(]? W䳞4`6 uٖܝJ9l Fd8b980Ȍ[-J:3,:(m]@.HWNcs Fej+p-B;ihNSF76w^LKA^e`HB^#Vo`rYzAMƙNm [=&}K*X oB)ѹe^EKB+bbU8ABo[Hv\ hSÿq@?J/QѿA7zZROWx\l(R`v?g_߁R5]gqau~yx.Kxxaa?5Rjذ}@B^hx #2F}=<@49[؅'{CR}>s(XeAWi ]y`(s02,9eMR2PJ +4h~M0_+ ?'73c0$%/ȦGPՃg>,^9h>b!uKoחFGp 7`7ȭ' ,gOCn_Mq#qS]%J+ lz^PK/k٢r0V՞.ŠU\ƃs\?A)z.d Rvnm!F 5 5,Te>QcNopI'6Ԗi+ IWZim\`?f>yY XϢӨ`sw+7^ tp&!yUd r޽WxW +{ձ"󟣈So>*]lQi>8A^Z)C1!+1< ~1Ӷ]k; !~5 A, 𶼲1Y; vl +wW핧g)WY* p:%lT@j|$CZ^I]q:V['q\ 8)sg+JXK2ǵPua>S}VKNKV;>>PW 1ŒqxcV-6玒vQ#(b 7%’`@J\uP1:8BSߖ.CSrs^1-mr–w`! I]g_eXTG7dgz g4%qcCM0X=?bbxW~ d#/ )A}B24_cdh;G"fyH)\gT3niK7 ~`GOMp3Q\)\Љߕ)W{gɰZl| \8td< uߐuI2%!pMb#ť{e@<}Pq׊A+˵4 x-"2t^$DNq>3Bbpٝ:tiFތ9Do/V!y $|5:]*=@iPgp*15 (90{Z[6he8xI_[h ,㋰l kLn/#cI H6F؅N~Ta[[tem]k[d9&-G`&``ꩢ>!]<ڎl5t(O[LǕ$߆;[O"{a&o޷a5 [0` S0}yF>H3bO߇ *^ig9d-*rYь9J%5{%6K0aso[A'ppZLԽCn@! t6F#+ү <,޺p7WMlwXӑ.8d9+ sЁ&3M,wFMa+MP-=B4Ր~+?:ʄ)9PQ/X%Wo n{È>$ gG̨HzX4D!gz6 B {tF#fҢMVCTˎXr% an܉Ubc\ .P&Guc &x)yD $,@}`{te$nR`|HyIAG{u&V k-l ibMq k*SB?'S?1^:upXL{-K.L ϸjyy /UZի|%x3 +X9[sJZk)QpkfRao#PpҒE )@OOfR䄁"q+(Y&`3 .m~ѰФ}=i;8cgK 6V` KY?|֖r73\x6F$OP3w|sVGř0&V));j9/e "| ̪MGR tj8b 'C{Ŭ ŢT:x ъ@h۸qqy?$0Pnp![RK˝Mʡ {3 ASu"љ",`~cs3wo.,G^Gn_VgxxBW> 1‚FlM؜JIؙAKzBĺTxoީUO054sF ۻI̅Z4&x2DUJ4ܖY>o]#rW-ƀ$;:2%v(o=c:g~A|FSvAZq-f>1-:JptKlゖph NbEՕKza9dO[ֹcI_p$IcG;ɓv&dMVK+Zs 6B_wkdnԑT i˕H6/!ʍ0ﲷ VjHQMoH2P]Ȋ@܆BAXSTrqRgAS -g{S`{_dQ3{UOo'4pdFDkrEy}yb[TO~C%8n10l*/Ni8!Y319l / eU[ɧ dJJn+J,>\EbXtqc\s^zih˭%h" 8b(niP.N9'&pϴחoFqH)4R\k訫=hCfΘbc$hк=/O%TV+0|MJ;jľG&yٻ! u% B.#Pc)vkA3haYi-Tv}EWON[ W)Q05$.3Xsd+}LTcdـ[dw'a AU D`O ;C:^W K|01cmK]-|5W[9kQs꫻LS*q,W "lj.i8<8zTLOg1ӳi[rA|;Z>D5ۡ{s7ލB-!oeN|NoE`wc",3x52u#-.I,bT`(ΐHW^O0'*,IY0D|HP%&Qˏ - RiLpLє=ntѩ?qOY+kx6hY8% "mXɾKXF މhJ~M^NPYㆡqlEBs\Ǫ<[RrxY03w$[UFdǍ.SPAWmtͥu Dxf!`.wC!h@V:{!B s/R(&[cB09W$=#VVk䝌q)J0t:4ysWb[/NS26D:7Q6riEmZa&`waP-H~]D %m$ ٝ=dT{ul“q& (T7$5աZM$8OϢ˾̅,KwGIJtxɾz=A}3g}d#@]c9MS E<P=W i44I/Y~Iy_,=+I+T[ ֌R`u:*O OnINc%MӉkPd``՞< Ȥ9³H+psѢcȒ43~.@yE]*b;uDQ0 ^zmG5"xp;̋ 2,>\;n '>f_𗖞_BHg&nH ֔^Rh!_0[! vP%gϥTG ]7DMho=a#& ڼf:[ h~ѶG'WTPON_p775llzեS+Ṵ3f1]G"nN#RGe+&b\/~.ۡLu5,0P`snסTRMLĵ!WVbnڻqI4XF $=e2*bcXvڭMGnXC{&i7%=xfU5@ R\b~h?*Mߣ>.i#,+`Ĩ…%ӳT#R׋)-*2J 0x}q+Q> I&јdQP9ꁸnR4ǰTGliIe}5y }+O]Ay@hQg .|w#~ir8FrY3z0⪥ (st_T=SU6}Bv::DfM7WQv;&%Nx}Zpl+bt: `ٚ75Nh8 )?e_uJ㦱+hxrQ)OUB`g:4-sb^?[wes7.O xtW9nDf =R7W/eХ)yEpr,Sѹ>;Ty~v{R2bn7[dLؒ4Xhfھ?[At% = Kߜ O,0e:$ϝe12d^_68_\,ZCi *c$/ußʋp_Q2Y}"}[ͶUlBߺ탳h ʯpbJx)s0#|fxR.F(i;*iIm<m.0qHT H |+0? EhӗS 5%}+CuDg*eÂc?…NXQhgW;^~i9ͪ>{O ( ~e 3ng >8ZA ❶(Uql6{r\v; u (96]f1i-E2BJoS )K/%(zQ^9#qLu`bࣤa߷XІwew`gl$\##wBXuҺXgd$f_ZV۸O519̮7me%׬W2t6g.hgSfgQa} ]+jU=ְM/ƂbSAl}JᔚGJX%u |iWOřXFcl\Am䒗~< (8no}),.0){tBR< KLP՗]'呞10:qGXu4D[qP[V)m9(|oJb{CM w` Iɽ䠏5W>w2!Rj%~}oRX圲nd(x!1 cT s^V' -܍YW K2/2 7;stuH<= K"OP'nYb!0uE,gS3MW!|l00;'B$w%x9!Jª:K@3z̄4qOl _ uwY%g0V0I lE}8g [0*9 [~#Bܽ-\Q瘍X?ӯ%5tDҠofzNyVYХH78WdK_q(fy0}Q S3YXǸi:|gNg΢Y{"u?jSeHbsm+uIi٪SǼ $ͺ~BRU Px bq5z""3}~YqѰVE NS׵-%BE*㕋I+%@N@pAM-ǫtDN."ڬ:.q$ktIE~h"آk;1~SH_6WPnʞxx+g/`I72#&p'1% FӋҰP~'T!Эj*6״t{YdF|>u$r$Sz"7~ ?"{(ZE颬V󂙐L(R4c w:ywZ9R )e3ݓ *>8!>oT:Q Px5kJTcQB+3ZIj|z̒,zX$Դ (e6׿7=Y$4k!`ɪp;'!"HrS(|T=wMYxw!Ibd1F@k߾(iaoQr՝>p2"{Kfg8B3yz&!\ ч kx%d׍[@R'<^ W}'pPB#jr<ż": 0o,3zFӥ~x \k&RA; DDǀE"+2W'1-) 3,%Ҁe>6c0Z0:~rOGXFv=u3q<)H_5z8t:=,<ʶ+xlyh S s[*_?xSUM+ ׃Fz9\6)oR `tr^3 ZZxk,Xˇҥu=,~*eQFB}灄Pt@hBErNFj#phOGm ^)b+'i( I|QDo4N1dPxȚzl!ՀJa ӭLr#-M`C(%0ٙ[~ =䪯;7.z2 h Yw۸y ga]ԪGhϛLY-FhP{!MIņ&e4-_Fn9yYT/|kZj„7 i gt.evBǢI0 &:(dw-QPrh"#NrH]b GАiOzoVj-/Ed^%dW<"ӦrSt 9hp+4]V=I? pڃS6>r3n.^4& ?X"'@,Ԡ(F]~\?lpi]2{q$E\;[$E &P }/,7y9*0NQu?LhEAC ƔiXaSaU-Ѹb~[`gL׆Y_. xͯ?t+U~]F8B0с)hb+.[ic$;uH>wtPxyUAo?F-VE}W ?oUD//y8 UP'L 76O0TN1ltp/G)j;A.w $DB0&t2k,+^ ]^Y ͒Xֹgg8&RBސ u?*:|RIĵv 6?/U~@ǀ 9iey;Pѷk Qgؐ nTP\,zti!)QˤuZeU]8T(0,Un2q?!tOvX2 *܎1,k.g%b)Gd>uϙì|J$ɐ+!i>it*ٔ4fZ[gv{XsEqn:}mie-S{)v=IԼh&\V ^lc4ɱ{0pbb"#I`HF7E DXw|oZ JM͵iVtSmG%*-%NϤt\f!7EMKc53Bza60*P;qaXu~ aI(9fGw|VdbƦ'9;9fw{:YyXYN=1uYvL3oZǤTI-[N>/WWjEkC҆'=ic%}-?H a5b7lf8QKLg#Y֖ߔ#{e4А&4K^Pw`uBM(#Q80r1^-(1M(TXoc`?ΌbaC2 )sxs44CbQ<&qKn e^<~qL2q܎sV~2Swsַ%Mz9 폎fN?!>:ϩ sqfPݳuE[aǗI{Xhwe.LdI)U5sbjGFp+Oq-6IS2zjoʭf܋)t-F֗ 7T@Wf#(uSa=xI<ɏMuOO5tP_G]6HESvP[JN}b0iqQU)fVFWj/Mi($*koˇSǎ$tXKW=y\ip=4I|f| g>X1^ #/'M@ x{1f$RX9XLj;a, zI=ܞ0+U&>Ԕ/h=eraG]RufN"8cJ4t6@6r| E1b/-J6Uq1Qjz?ˇinE+'q~bi 5^,ڙ'2r5.|4 47^!`jc]h3qH_jnڵBۛL&|5C9֖ ȵ5G/SD_V8z FY4s*fS, K 喲ꂜxOy1SZT]*.Zr_\BK9y@6{ns1r훃svr/лUORρt(bc,(5Bk`}e,nS)"X;g>&P\GVWrXV>ߟe"ix!(lkD;CGk#Z/trZ(O;"P+8 OHc* :vfY+ƋϾjxAD)ZdO3sxM`Ȱv T(?:H/5(aئQ*V4g4>$wBp3tg@f"t5 E8X3֩dMH--Mx#G9-y '8qxmwS:H~, )Ņ;+o2)啃5F1O͐eK+褟sV7m{oMpN9Ó3+Qw|]⻛h&;vTxK]D Q.jl-n굈 |ΰU+?efe5imK[@E%yH:|)k$lMcU\e-.{l4DC]cS'C㣏Ɂ^ £mOUcǝ%9P]lNM_!$I HܒOիGhd sd&Z LnuNrR+LUȁwHC3C Ms)_֒!;y;3YN.KAI3xCI}4X̋ط,lS\r׆Z/\PJ񻵣3T-j9aI`sYƃkg(JEUB=:YvLn爂 _[a6ߗ 4gv[ 'x,tNqu ͤ%jƈgl/ |Ol6$m ԧ@?07ky.T̛c[Kȋ}$k3d['.ﰧо\]q=FQ]]Qv_{h.ZjLP"鄶Vdm-PMhRaf5<%jWR[z,chd,RJT& z"_ˇkTD% X𑾩b ̲5:j$lady9F[}_O絴sևG> *0M6%y?81y0䑴Wc\bj8׍7Sy+&~& XE\sf|^< "9MUt7)\fywukrf^v3((vI Ɍh\*Xitx62ݚR[ 2Ռ\@EMt6edR~:nuL9g_&pj?vEuT'=CQE*%ve% LB֚#!F.c(p^YUSz'&^^BHy]{N|%5oUe۶8r^4N͟='twTWyNm_ݛ%uU%J>]b0Qٕ[X7kM|K-v;*3 GNӬ~ӡ(eh_dzc;S3E;ʴE L îP ;A%u 1*I~D=GzǏv9>Zʗ"X?w-ܚٴn0|11jvpmHo)~}gIszWa dG\O_t\F& #A"%F: o<9m(p$Zq{;T.O \SKre$@zkqacQP#-JyG|&TfBdr]Vj,Ga wfW6jl];K')YPQNt2'<<@>C.&y#z4'w9(`W'~0ķ)&W5;.5@GFGGǜ=R qo8| DfӖ q$T&:|3i0K@=/|v8,0:js*rdJi=}0F]0}0ZVD-I T#R˖Gw0cHaKn9nu){u-)2A-y!|AVqo~l A-™T=8ҝĎ2:{ǐ6ҷ4d{4k>R}-&v؇h@e}w{ǧ ļ5ʗ#!7 7j|K >dOa%$/i(և"Dam>ynl+lʾc&WK8|x2ҵONmztQ k|\*lybӓOLQҫ ?dwDpVkP+^μ*b_ QCP',lRr\kϦ0*Px"[HC?UCP; Kw[.L]E.:"#N\< ۛmVIqp:p3>C?2T_弜=PiQ*h 2 ?E[d_9uBʪNN 鎧Wft9Dj?A ^/߃Re Q3bG]s@ ژg8(y_g^.wHU4J4[-#xZv >Rø>uܱsl,ge!U?(e^^a2y&߁ H[8puv)SxKJUhb^< FC_0TXLn9 ~ 95r''8F~g7>Sâ>Wφ5)@vr~ԁ4 B+AQM\ShɊƝgL{t4ec4XcóYγ}E&#2]H֞76SG ˘#n% ۪1-iaܜ` _u՘+~(QK ‚P5.$U -(Y{\%0 +ѨڅK,~7i}kB'Q䫎KՂ)@a(ͫ2=>/>ÝO ̥vESvS_1뀶 Ljc<E<4t#qDc s tL\UB/sp\:龇y<۹]|C)`vBV>bjdce%1 v8.e2V~T:%1ӐԼѓ(06ɪ T4e|͢oَ;jaUϸ'5-hga0( ܩt*mQ.9fП,I;)VnnA]N"\Q:R5Î>k)Ak"4Oɣ]lOk5o8N`  gQ&y[v,J%?)|RZTtkq!9RZM6p2]7J;U0߀}úᷫ껭&6#;b8%zsψ{] 9Ery .(v/Vlbԑ;n XIlxe1'h4hv4Nȓ I΄Wu\C iJ2bP=G1ήD"Nu./QbO |rҡy35>2S'K<2ōX#K^Joz9fCAVXM|A,PqaH{ʩ+SPneESB2`ԝ <ƃ4{b^w?Mz쌟F^c>fgZ.|}X_'I#f(PHiBDlxrϙ!(bLDez)ƏOsz$m{hYޡk`KoAqNa L}?~I>QŊWSehAә֎!O裾Ӟ,{kh wl/yvP/zb~31y5 Hj_Ì~U*gj>Jd:GJ&" gcѲq&-xuCY%[Ƨ6RO)-oєk{ l`y ;şጡpV: 1-G298,̝BsX=,Օ'e->N&VNy[Jc}!j_j%^}姊G":S+Vs %qQ#0/`kqό'震OQshr.F 3&sJL486#6^S4c%4hXܜ#ҡRa&I L 7.s|{\fΙը >gd_]jw+kUJfKw j"0v0z &Db@A`P&0XXm 29qҽ?t߫E]?y6h4GONmަc](:"5J3"$QGOB#GfE*?60P7I0&5|dl!CM{Juy N`pT0W>f-ݙɅ!Y/,Y?LR>. @oq3U7㺫,ɝER(4AqzUm.T]{|*_{U}_ݓD!&/Z9By] ^$}zXϸI0[Uq `AX9e::H{aݲ 0;CeLr' I òwlr?do6$cXA6_kXl&\a/Rܺ!M2I;䥾ew"w"U_*>(3 8y6-h۾)YZɟ.y ;E Bo- C5 CeM(rB{ ƍ^91Il}p*A' -[p;/ItcE4 ?Z_ޛe S}2#ku/&$?U^@!Vֲ+%M!,_e"FRZ@8/OsKڡݓګ& Txa迂y$R!7pX !g{ቷk+:xHZrhMw_hB/9|Cg=4N( 0[阹ƴ^PUMΥp00}~/d4-2zO,FGn\X9slitx3>h{W՛z<RgoLk+yw+yY.Nij 'yR?F@/}nzx},<a_JqU9]SC`O)@܂3HHC1~{l@ q:W4*QFԣ.x3U̡$b V{_ɉחʴP"jȑ?5097p]6,oetAƖwM2$v'SH(z#]F$.ں\U rs܅![ApskTwl~ ~4R)CU {N+$h& \w(Qv&~R=HjqtH2<-@DC2 h\խWX0Z|\~gMeӴ*G TcKBe&B(9:i>nӫzl9k*C;pt8lޠ͜pzzeva * gE܎|oFMaMY )]gCBN y߮m_oXaX&܇Gp!ڦG\iAkY?>f&?(͢WWog?g]w]i yyj ZJW*n*!3͙;tsIx`_-"Q?~ v$>UeK}fAn Md94Y{5rQgQRݜ@Hr+IJS"@*)fmңZ_wY;gos`:prP4vNTMޥWsW1El"j7iƬ +7 ^`|w)y]Iу;, =zqvps0I\4À+Ƈi+?)`]2*s{js+Wzj 0IN5+#s6b[U3 ΣFoE[v{<&O1d̔V¢l56(JFt; #NჃ57*o[6$X\"NR>7Vb.7k:) gۑ `H?˷v[S{|"ZDgP2E 8=b9ͻƀd\CgA=FӔmۥ+6jKWi,w 5w0 y􈍚T<\X{(U5o%QXaXI! Cw)LFؐүwBP`hqh>6ѯ(j O&wM3Obi*R >C7 ÑX9Pt'^FqU")WIj_9= 2pqhDX<`s9GVx(gQ6ws#Ir-,b(t*V58«M\ v8NN `V\ H&6ET58o.9 Ƌ͓f|d[xFy'nWƧ=pʐ}zx*Od^w̳gs JJɦ:rB~8vwpL?̼ZFdy #Pcԇk]O/W|!Xd1Su;Jӂ ,f1[\+=j{ju]N#)@[1##Y:ؾM~Xny *G BY7|ne6ȨU=C#r)@)j yGtin%EMui*Dy,Kl,i]DR*oѯIؘ&qEc}¦X{m MPe- {Abߘv)͙0±9NU8 'qerul%rW6N' 5 Hb])Ⱦx.SB7|2> L1+v5a@b;E޿莡az1X$2o~cnS|տc(9ߵP$CB8~tG|G-3c{-yF:AD6LNN9EΠbyg"yEBHm|(T}͖;]I@)|"wHFfVCR8a١9>#~KyIpːă,<(݀]:G! _S=nYj7tZ{ѹ&\ •MkԶD&>^L2Ry)c)wo!$nlbl.fP)VӠbsZةI#a]&F :3G1 ,0($='kN?2A/@>2[PL)s CFLiq >Y/k) dI8O<e$AY tR=5I\?E-M!q6=@|6F8QUC[M%*7vQNO5sfsI7*_H?q"OM$O CfxfOBI\@ %ћd #yЍ=xk0TȌCXCG[Ӗo|h_zGR\Տ_ (ML[V=LbrF}yim|Hρ; f\s_~rz:<>xI _KVMg N@=sR(cLJO5d7)ꈜ>;iPj/rjb ]b^`r.+YWPT* imb݊0wCDou ZZ>'\:G=ֻPuNF?X0|^}n=uz[1 r`/tgTuL] 0Hdi)f/৸&?oMpsc$ӓU;)'b[MY7oq>Q[rZZ#BI_%k-sit`M܎<~B7VPbҖ ve(([#ҿ}3Ṣ&b-W' -HH>j_ƏGOxҸƙ~zB;clYI*$@5>}K807ts^ 8(0!bpM+CQEYwBp7pbʸNjλ3Ȫ߷7@Z^6~0nRjtK/q^f%c{9| KF_.XHSth(!(z&$&Dž6Q-}A*or(}3Oav!#Lf3_Mw&H>R)02Hᕿ{KVWQ~Pp'ZH 0^jrRٌ;(|P.c/ [Y ߢ2rG UrtY`B=&Bk3})tB+L]ϲ!5qlKpcC0wy"MpƿwɄM=D){!qK5״]OŝuJWެ G˜kJSS$pQ6lf7KW%PHD #n{Ȱ}vg>9[0ٖ+6ŝ+?30呼7c>ͷ`QxM7ѷd^I1e+~NOXθ$#ޫtN /NTӹ[M!.K({f5(KdA5 1fs8mH /&^_:7 svX5;R+2U+}). C(VQEm+OoO"#ݗ/&B+=m̘gHHD \!=g{,S655/;Gvw"gx0{즜60)5"bΉkYv\J2}rLBk e+0FxXL]4XVDKx_ʤ?29l?3rCvxDtLacniޜά Mh$^sN{"}A{WUi]ED*8<{iUp2B~VT b:jd9s, VA+MeBNŲSzA? ͤPA5z'֖c,MM\ "n ZyMey)7G(kAm`S鿚ҥJ؅yuct%yzVtD)fe$!o9՛6fa5C>5`/Zo36}lņӸ$C=F:&}[)ahKGcORG z׃ל#װ) 14lh=\u?38]Ւ:Ih@zEpب:C W5}0Xjf}rpzș^9६4v͕qUclĥ܉G}W)U% m oXgR-ɞm6Wl'LͱP dSͯ͘z`c;O4?⌕T5Xpp WG+T+ߍ>|p{O_Ad+n.{QM"hhe~ĩ佧Z:kU4v3ec\G#׭c,2tN_mЊRm[AIY=o0,,8iJF-֘|V6r,I>]x xQ#:DjDR$ʇl0;/D .qa.C.iV^ `jqu_ӛ1 _̼-XD#edžf_/wǚ9#3;h",`7Mj;zMZWFdé)ۤuJ:4IB_Y?V\Y?vf,|Ѫi_[n{/:b1no/FQN7HYe{n0+7BBIGՍUJnSFy%UWr$ ^{1SYDNn1V!:1=*<8?_mJ΢r$4؎\;ޙ"o#^nS(mѓ. Οwߩ AG`?v‚iJ 8u=sҩjr aDn4[d3~NSqqM-!>A>'8IB+Nmü0]dEF`22C;æϕ9Q/yqr}Q-sE&!&3O J CPx.X>J 5uމn!N~"ۋM{Zm{kߓ3wLR-ГE戻t8)FM4`Lq4|0@{.u[r0*}VC:Xݐ^ttR#4qj`u:M;UCMꅅ$;o`PCFZ^BYE< Ӓ1L엧w)pY}+qi9?^[:#(#P_r`sfbwzjx ?[%]ix" sף{[6DcSIT8=9x r7z8KzPLK̴2i ˆk8[ɿYw$~}n9"HF{5j](X7XOlvV[^X|p Q-'iXW>N?cxBÌj.CjAQC)lQ"Jw-GPIJLW3XO]F2ߍn4[} }\|MALG=\j6^k15 zp/;,7EG|@Р,,U%!2\xpe2*ޘO >W|#N z|jX+CGDč紏7Ɍ6i;#>(~A 4!9 CNj+(O B_ )9UΜ>@\vP8+!F'#ԤVciRpbH\sRj%ex|,L;e?Ob0Cc $(2JWJ?&Nc Hx޸4:{]Kef(!:21ɜDr-]ĤQەVfk(f7J:d3V9tH;Mt^a>dD\JjҲS^&%Ǐ6 <" 㯼><8YOu$NO+TNevbѵDi/\R(NK_h v @dLE+*ؖ6[˦{M!R"&=ˇ8.ik:If37Wp wr}rĕu"a.זVOV l}@AΓ XR&dFP]Q#e/"]c; _Y~&Ws쨼{˓m]5|NpE`0HˇHR\m]9&_jOY8~ ,awITxIr퓃r`&m%.1/Rf`K(yQʜz&y'k> sR{tbRr~j Pt{`xqms/Lδ8Үڜ͎PMJOa M[ϻOkjXkdo ~ xY(t%`Eg+|AHW@?HM%`j#D0Y a̱HvI )/q{*Y}Y?1ԙ#rX']óm"SXiU/א?…Ss  ə MudXsn@˜mS6#՘%L^ Y,gGRHTHJ:F@\L-d VP';B k%>єȃȻqp׈E`u`iw6)&4|TÓ:A˹ <טt44L7|1^{ "qL7g_`ctS=0mTWM)yyC却n81]7e˯~FE1}>追`ҜNR|y0o/:_r_dY;g+6|1]ZIjJ5JؽbBI&SRՇۧ|qƎ:I?=nw V?ۈPKւd A/xhL;=ׄ]GaΝu2o#:'7L&Z!Ա=#yxWe =D^CK;q hӻX煭+=+'2>E_mf_X9{: &&?JT1#Tsy bo{..(yԴh|ck:hh)rddVE(/.][A#0&ލ:;{|Hcn#3q:oU}HMX4`,!CyghsYf^ 9N`SC0';_V|c Q":ܞ$\5G;ļI HE]SbԘL|2шH'##g27R)HauÓn_pèCS6 ? $k>\_8c³jnlF2Hs2Ϧ t K)/MZVnfmqmn?Cbz ̎^OguKuP0,'X-Y57K)kMrLZr_gܤ~l~ūpדne- R&S{oqKO#!ω_/d k!YBN+ 5[۫ HZcփl^kۛ>!A:"5򳜎Fv)vC"W-t=vsy丰W<D_ }Hτk'ED= ;+zIb\cUQfIMЫ2U&?Bf`'0Irʍтv*YA,@tV$| J44ec%ϲ)Wh j~ 5^4ܳxEJ"|K>] IȑyS%H|DLB^;(4nx>'])*liydM 0R|aqW<@I7SϽk) B 3e1~"0c| ĥګwFC)dY -Hc2+ {ک0e lB–ͪz# ͅHK.%N|_>݈R<`T]ik<q-6ɿtlUk45#6Ί{]j/ڥf٤$;Sբ6|qVOS#JEn|dnN nxsEZuϢ!r +kСDhr{k<ڛ'J5)ٜ`,^Q/( ~d ( {/mDh_zlfRag>RKŌs< aV#Baq]esN"x˒C:M-;3Ɯ ~j:ǫBnPb"rKJOQ%8 jQTJwKzUʜhiߛ-zvD o9 J+JM}-spWJ 1kC@/vѺΒ)paZvaxQb"\54Dd{z?ֱgݔr^(!=gcs6R[^B$rSoq#Hg *g^>_p &x:=Vz|TDOebCymi$?`"!=܋COweRDUI-2y])PK>x3꾝Q̺{Ĭ\Z]ՙ:|#G uzm{97vGէ7YB1hO2D(jOzUz%Vk8-,֑}SD@uתU`˕18/H&_M>]t7_sУ>SS /MW%ȶDHc;x#He|O:H,wKOpݴw Wۤ.z]EMvO2aׯ;oE]QI{䟉Cicq3Fڻ}>7(e^KsS@wIӹ>f6`_HI*]-\WWV ЕQ0Pn E:^}&e 뇸ޫhw1gY$;Q T"hٯ|U.3K0,i)hY{ ߪ:1?6Όvԅ萧&δvTP\/`_}yJ蕰nBfƨ>Ī$Y NjYݢY>$7ե򮛉e5,8<-ĎǨ؟fi mx]+1%W6/ύ٫a|_^yR7?iӃoشt8hlug{!E؃t{Mk2*r4/Ʃ%OI|Lj_ROB0U\~y66g Vް|L+;tȰۦ-D+&C5x=XQ%l>#4&y~mKcyT=Ю..if8K"LGҍOW>bWi?3+~vt\/ PkM~yi" r1ɉÐ ;P@0Xa&=Nw6\C_)5q_fPt h:9lfW[َqt0b  i;#PȔX.=r/tz"^w)Z֊aӯIt&Њ+F-٩j0P⪌Bc(.OJfnogC%_sӣtCom GtGa\"7%+t6%&vhX?qҚ )9Sgv~L6UY}!Knd%%mϱ;ϒ Wٮ3}wI':xi׎ؐ$x*c1=[H dge(J/b0pN[%ԯz`hD TZN7k?(UKYG}H۬-l*vb(bՂ~#C22uu^-[x?nY]+1\(Qd >Seh+ @bDG_!UA}n[O8X^}kIe'*DV5#CBn(»$b<sj|qpT'^ Q6E gzPOHN$M#oE#dD[ @_<PTw{xZkkKpU ?2CHmN \2U8|X3\0lB܂IEIh Dꬆ_*qz;(,2\=3u%Wj!#^=R7?[*NၪnI2LNK"*\ uB:2 JDspDM,,tJ#~ъ)VMwvntbӥ:_!GSJWOQ|~8|vSbQl3|. aRObA[YU6PiS `H$ %X2D^4j+]T 99:$!eeuUT;va)սE7=$@yZ>۾o)^Yn.wK^-UC ;AAE.,:zW-]Xv-c c>ۡ{Ę|{,2ↄ?ʹN"75exT[En{M>VH(w ŶIπJVVMCU,2vϚKo[JMF<( F:F2JgXQ1)߁+U8G@{w2T!dyJE\{ZE"PW$*S_f +wy+ɪ*8V/eSܳ*6!6uY,8o2}0ҹҋ݈0 J2>|1}^HsTx.'<ݔ:֓ŏo/EZ yw\DE<6hC={ܥ^`sG7pxj[z銦pu9ZfFi͑!ϴA : D LxZ4mAw,0{e|O|V`u*HxreqBSä_ ,xZ\ !?/ad=hW A.GQ3_،*NI_HK%Pc?cd&IeFs%:䭛0g~.`P-ܿ-'M%0ZlU~wP): Ͳ\NN>뛊{V [ɉƞDw{MDl7Oꗇ54< HRAG=۹1RWO*{JI|:!a腄GF X[p|bppռ|rvEyIclO )@Z 9H`\κp4.w;(^vxD k~|;v{vzv-^ys0 ɰMŀ$0k31<뢺mD u c'#%~?CBCr? :sϛd qp3_cZ?!u xUjIGND/ȗQ:Gdه}:|rTЏznqkS-'=/T5߹)")Y}/瀹]4>IQ>Ur-U>. ?^KK"{L *AY'GjPV`N$o2m&ii:x+A3k;pfO}!ԥ;Op.`d m[|.nCuj\CZ"r~k%I#W=xmlTQlw4|}D hxrў+DyrjcGYR[u A\Lhk^LHKI$GkCȹ q zea\?P;]&`tFSzqs&}„R#/ۂ+?ԇMa ;A//10>M?g &w6qURQ6TēaVj?JCrKu&M"EtIbVVa=1 b\x+A䶂59Ot?9}:eܓMbdIIA29j oMɢ~hS*7IQ)! ޗ8 !ȰDZ"T1ec.%=)}YFLp|3^b(,g;ϙ|z.F{ M>^@`IVCkԫMbxV Y(9z5n;a/!_VS8XJ͙uu s1 7~&"O#;I CGH$[*rQs-G_ݢ5@Ϡ`Oc7_Xγt=y^4%M[VXtHQxɂYwbM#2}pK|ږcJ2\JNڏç#T;:fm#(W=GKji.FFr΂D`Wov]",/f3 ToD(,&iMiCWoFM6w Ԙ_IߍUh6vFeNn=7T3܂t42$TtKlk9 3 JU/%3fɩe|<@,MrF #V!qq%%`n gc)Lk0U#MCC}8Aͨh0SyQ`/?#JU@N7D_lvpak5eL J$yBOO5v7=/l0]P R>9 C +Rc_S k0dDɭWsXF& Ǥ(R%Vocx8hP/Z\ Z.Bnxۿaz<ʧ0(T8 d֘y4lɮt\juʻP/%" Y‘hT'RH4- ~ߪW*+X~b~rW0V:JGP.=CJ`'6{H:]O0F@5XI_1jΡg\cVEM-pTo49MdظF[Ĭ V G,@msI4xkZiV">K 4<=Z/[-MpApθo¶? 㞅Еӿ=oV'ߩ+/sH)?}{8rMyxvB{{=`.oy:mxnM]J߈3ƜIlʏ!l>_  Tgq a󀜘2^']@#Q%EImϧ.(bӆr B_jµ%I{RT*R~"p,GA ^ߐ[~,ԛf:h `:"oV"0K= pj琹]=}`nWfӫ@X|kP{m]^zP7'=_ft΁x>Om\er \$G'&7 Ro[tM'=)}1w=ũU<v :maWJ7Sp,g?Thۂ'Z^k'/YT'@yAֽJ :/BIyN!yeXJM@szLY.6w>5hh (omJd֕Bt?- 2JjI{aھc&h5beB7iwk0/꠿Hs Y+ U8e_<8^~39s49\|f/ˏUuBmP&nə/= e(%?-x-eM.xl*@!zPm.O\VU!N6ahyUy5"E Y][uÿ;bIY(\+i _LeDRw噶dɆŸwd>Jݡe n߉Jr_ItJ)sGe3y 57D"4/qNѓ&B9pFүQ8#O{LN7O37>\+b24-_tg(lvBHY~:6 RJ29ԀO[䏥"0I~bRQ\E;睝 jb}]qXcKxdv o$?~l?jr/)ݱ;Nx4=gkJTF Y{yTno%y@Ā f/90RZk4>ϮgG8FXC#|%8%N:,{{Ui 41!QRqHA=wQ? w2BrH%Oy `53k{K„$"xD1>9˹+޽yܨYu{cW* Qw h6@|st}k tꬒO g `n*Mèw⢏'#h\~i*iSIzHȞZ;؝Ҹ8c뺹o3{$eʻ2Ji Lr M{QSB i;lLoǡ K(A^:Ã/:WX^쾹Ia+M^Ob]ӆ0%̂D NdO`N6!xBmut`#EةoײVA ٝ4@JB AvtgzZ|gGXd+txB?,"%cINL?L ?/$:ۊ~EdHeGg ņѬB&/~[>w[Zo ;EE&SLc2g`5DQZpz)ƌ|L  V"EhtKZ'SE u R@vdS ]X~Ю7NljZ (M_Y}Q1,( Wi#};dkҥ gm8t`]I;uRA?,DDd[4 w}.oʭJ%mn`[J /$H,̅n;Նy1*ĨL y5Xcd{CFPj˛Ǝz'E / kɭ#o-&a:7A֖uނ9VX"P` S󗘹5=PbCm!_AXBD;Xq.u#wSrB1ܼҝѮީ2RVU5@Wɠu8ɫ8H/佭PŃ1f?x >1V1q G<&ɰpy.kFg/*9zca}6Ēk?-~fY^A}pacHWJ=0ltAHCXss(~5{}$x`tq"4Sk>)?BlE2Uί N4AI4 VS39ӳ !67nM? '.nOpT',/Ot-];ldej75vYYfWey-!THÃvݢ椔mfn qp`nr|WDZZZ%e K 2]&olt,<"d[Quhasm-p&Vz)_dJ+L 7Wg|p`N n_T_VKe%ZII].fE^k9H9\x:Wk]oK N"=lu`ϔ 4 _ꫵIb>Ѫ+RW,빕 D!0v) MJ.Ht ϒttMȵ[͡ jHTwR߽784YHZYAEJA%:2yƌ|t!/Ɏ(oTW&&nѦH%"?bËQqݸ8W<N qQm ͆/d9 h|O&7Dt# -DM}34`ʕHQgPܡu*7 ^"8j:ҹ}aJ}F&Q:Ȏnc|Qa@lr2PN,<ڵqK+N*ٞg;At"qU䜼Z\e1ӞFf# [@`e>hC)3$dIޑ EJi85#.߃=ytkJ;QCEW.[=J$FބV΂1GNxyꛤgt~zO?|%)^θqҫi06[lhAؿ7PE>\t o](qؠ-J; ؙU++Kjqa!K{RQP]v@pr&nQ*=bX"D6B3ڴZn׺Ak>¾gp@$6:&)էh$TZy̑L.H\tLOeg%: 9򑨳ӭG9&؎ݡFzBzli'BPJZDb+gF !qh~Q"U0U,C:]d]_vSwhK:_ t÷kWj*\R[n=E_{?^%=b[&G@F|Z u5HBpa5BȮ']V^*1 C8u ??hFn=Vl6p'21L,O60q/$]h9:^A~CB ZX9Ab8"fL*W$ 6 ߷+_d Iض+m#ׄLt9t8[oޘHO2䅞PL$>މrǢ[kutj[ϣ&τJ :"ʅ| k?wX7OIaFQXqEq@cYÆiS`JEo?PR&4-/wW6iy"V{)$N2fO?M=l!>3set9-2[S\+dPf QiSߦ%1!JG1~nB)S[Ee-}c/XDPEjk @yl3p#V0y`&at%/Qנ,V1Z9VVe/p7?7v=6\_|-:ۉ1j(ǬZ q/OJIq`і}zv̐'ß|R@ǪzDzK6)U=?:IJ2ŎR N9:6BǾ!bG2K-Y̩7S]l[k6ȐOHSugm~R]Ғe; p"Qge.jnpFؒ<{7K m邼G5zbe2'E·Z(xG7N"ʖȗa0Bϙ'?=)O5tdila a س.zob.?5Pxz`2G5W;AWQW{=(bt?E)$v/mPCI)+C/U1/6a6uK[vܾp-[E֍sk]_Y18 s1P3Bxos 09ǤJZu养qJ1%%z7o0j~nm݂gu}c[ e[4B$ps^E\F 2y6{{ XK-#ݪPUg4fmP4yc(jɪ TǙA@de9m\.ؿ;m*#&5'b"dTu~!e͚̪QJיCZ` 쐂87kxF]c+29< 4[5O~G~=Oz%ve{7:Ϫ[|3fMR]<1y 2Oĵ6 UwG AZ30R k6$(uNך~#9GƋ<-=Yls vM)`5J!"&r][܉]J+[ -=qW>>6JVnq| XY%ȧx&>w~[NFl$rYLAjL-j:Kt[Ũ7H.Hëئĺc FmJk59/l2ֹ?<}Ij~ f:;ouUd h~Q &w qw+"q ixt"RمS%q/N7SMeC.FWo/U/Aݎ0WmIe"? [*b!|Mg_H<&CI!" .0 *޿uOV}9`Z#tf&Ű|k{xJ@{[ !g|hxyHwT| }ME5g[?r {o@frBlLF?bF'k>P T.2 @G"<P\ǶփNu]"FNB"wlBafA[axoW"Y؁Eꃧ Ӯs8*1|LwDT\|"$;=-5y s.[a1#'~_<U3}a|qI8#\B/B ^\'L!(2\g$?`<ŗNFE8+2^ԯTSr**n9Ƕ)W g&…Mr25N"'?`*F" K>hش JL~:L |yy`7l9җ[3oi]f1`xI}7(H#וXޞ꼾V}|hC:?w?x<ʋTArxr"N-[_bTck-+gx蝳?p&VS( ޚL? at~E:5E'D8/)І^+pqE$o@)caU| l*:SwDsAtLb['i1l8Nk+9]Ydx~Z9/T 'Csł"js/I r &co~amL$K*0x}M"Ba}ךP 38`2uދMXJȇ3n+]k'/AtplBwr&jX#%۰u}xy-$Ph.ƫN1LFZΣW"C_?[yAl1 p,'g>7ٿsq@3^[85&u Dl6,}!I7u[?,"K1Ӆd7tnlZ3ng3ӏ]IkVdf \6MMBWJ\,̟po y=`CQf/>gfZIA/R9 C{T3 ړEL褱y&nhtWPL_⸏#EUkaxn.4+KY뙝oSS\,4^C bڦqi sr\S Wta"T4~㩭a :?BÏyתZ `g aK?"9Z˞"#jk|a5΅\S@t &|<Ƥ({vu}S;/ԀPV&iK _op'}EBH06/0uwO(*j}d࢔1q`*}}"W+tº,[M gQ47ǧ@* J }oNC|p~IE:䈸btiI9xN3L.tCʈ<#jmdO^}qQ2$"t"pT)\+ElQ&6u2*x(ҥb=|WQ8 y1QO Ͷuxvxݲ@{ kr(_uֳ{lZoPg]EAm,wHG?/Wm/Y3x1Medq W03 |YV_!Gt 7"GdhI_DJ~ !7x6h)97*8@MM ( LN$*Hz\n(f.m3߾f#>sl*s5K&YHӔ jJSQ,h=ꯥW-`1$+fwά)}?8eĩHRF%ƺV<&؊K{7l|w`iįw|wBM4_QBuB3/`ݷP1˺ߴN̅ȥ3Z+Ƌ5!zlzxcA`Hl73ɵ!P2'Ucqm}|K|+P7VU8qS'VOGBЧT SY+dUɧ ̦2Im; .5I!*i>ѢzA5g@)t7[)\-šWG7эonk~qs+X:Ɗh||*d2U' `6 o7GUuI~+̤:c֍4J>pدSa9zdڐNqE:QdH;D DK`,n:]j" ֚L+葝9=Jip :,w&tw\rFԕޤ^ϣ0^)+(y˳MdvasXՂ,_sN`<1fkeYu4-9rjZ~o7ZvRSJ[sPƵi@|Vm`xqOesa#0s MƯ"Un#=x e$ZM'=rP6p-=J䓭ÿ(4 E)a02Ab^)xg@y ԫųznr J[J:oS|#?&?֞:ȐaruUyٓ*0=)I:ko4?:ZHδQ?-ccp;mN"nbo:B_ ( cE6 ~334ٰT*3`A*!Plp\RY9z8^z-F@꿨)'_6$40z; FCz<(q+RU7lukp:ñrxz-S V{>p62y4MNBI͙uY7r x<ׇ&9iMW™`pjxcW A*$'_4aJŹ4cq+*ޮހԋ,ANr\(X4 n-YY@ߵ_$ pR-V]0A {Xz`z=fx2( ;Yj W߿; Qצmr  dcIQ,$;B'C%Pt<&_]`U/ś"uΝt.y-W]G&^eXȋ/ܐ7S[hН헇d8n!Vg%ރx1º%ړ/ ɼ@][!T4o#,46'|X6H\ iaohu%U? G\~C(d` {!1nl#xgX'`6jWiX⤁(%q~cp;qX+6[jɰp.^ 8|B m9f>g恧mL-ÍgoH;d=h$:&5\)(w9:],gaP'd3O6>J&v,v1lMjOkkK]Ywt)UzIO$^2<+q=y9e#Q_ס1sJ6*IO-H8TՔ]%M?I 遧 K7&ÀWڨ"- A }3À-yRF^]~V+8yl#hBtqv|S^[ށ, d)i+l,R*iiӷQuvm{ĨOdUUYBa!*[5coFYR$o#Jϸ@1tLҧ30t‰g۴uJ??r5G1X Z]0<~-8>&&{bi,iq=_ӷHΕWhbF=d#9dkb*tHAnXql'm=9ABB!;.8l?EZ@qѯAo@!cZ;< a)r{ n?>8QU.b2Ns@}EEitџ6'=0+ ul+v(SKt~54nݴtYEG oc2alXrJTU1A#H\kE^R]w3K+:N+8!ܫe߂JEBzEPqRDM.ZKcZ ֟?sa$/٪aT|r#dvOXjlڋ?mfcrmHy(F *.{i&c:MlGI40\)/*QQh0!9_D~NvMM=X!F/h'ja2RdGqϝ{ 9I7` #gVYq9fRdEBWmIֶf /K }n6241|k SPxew'\"%k}%X0.5b:"_V'>}췗˯sxٮSZT~_UՓr\w3/*d@]9]\3 x~rzO#cuݛy9^QרkFOˆV.),.Q,՚Ι+̬=;$ߔT`mp0Z{k5~z(AqW/ !*J|dP3gX;gT ڧZ6vNמ7Wv WzGXIjÄD r)%EԶFU@zP._XH(%rrTrQOg(3s2.Ѣ1HӮe6vyQ n"|UD$xa3J+⑧%g?qx^)c*m'/g=. -Դ )lQ ;%;t©rZtYU]%,3M9!i[+ݐrhcF͡ ~ Oeg}g<$gFfM7еy]AW{ PmT>h4Vd.x4>.n:kQ@csރ,6#=?|Z-.7y*<@ u3]dck'_) Zg-𳲩Ja?zBIBWi֭i*8ÚEEbPK4h uZ^J*jHmHt1B&?,/aؑH[#z- 6(8H7xPcº%F9H䌘ʤ4<.=s0l!QU‰Y?PdI;ǥd\zV} 4!ؚzH.1CE 11taVl=ho`s_:F:¿Z)}9Ҥl` ˇ?fW((Q5lv,'7M' Ղ(20j_P#Ѝ^Y?k `(*1tqGYgmw =_9{iÒ^& 9Nhc̙A%E^[㵟"kO_d11q"ƷT>m?]\*#K@OmY&wca{9mjQ4*J ~>Fm&ol҂λzC%Th !69c(l>\$`+T,~iYfhBW-7|1M-{0* <SA+xμa'2Ѫ̲lF=_!{Q]0H4I1MvpJ>+L!D `o&æ.OmXwADw{#?i?xلC7 QI*&)~ƵܼH, 32-A.۲ۗ{LP_ZD2i?].DMEPwESϩsZ6֮eՃAZ y1f/=:@k^XJtu܆L\bv8btJUI>Bi w\ףjS #^~^1K9խmSyz +imZ\=nWn<_%*g$y&rA##H VRc@55-'/r3A{ }Pd26Sgqԩ_8Gf_"nc,|;cpܚeWdw6eXoNזn@\DuY6HD"OTT{oўQjaEv3,< :șPS+sq-J Jt@̔RЄ4865,$,v=0 Kϻ1õwE}RyZ$VZ%?Gio13Dbu٩0ϕOZƌ[K>ɏ>?G3 +S{늿/gMsF_itm f&iZl[PF Tkc)f~Wᬰ"Ė;,ؙr/Je܉6)ŸH<4Z%HH/X Pwg' 3!ïQ\u,41 ;,ԇ.<&k}l?r`od&l=ץC*dSSZ|#,r3q(D^+4M,}k.a o80DF;>]ВxVo9{7az$|d;^}5DC\ºw}a A.mQ[W!xjhB {vknnVS Qe1WҊ~̈́ ⛁}0C/Vʯy:$T|kM#7]@ O fO=I?wgjAK06O"rfxϓ=qbO2MSPsݖ6#5y J|k[Dj ĺWLKRS)޳ qZO$)/(V^I~瀆cY [)\~Āͷ&$E|)%999n\1;Q?FܘM+ F3z(8[ 'J햄eضh7A1r̼J8(z&aW ?ensGx[㞽3dX'jJ}L\L+Ʀ>x{;G#v3GI>JY>}o:"|q; I:yp]{G'It ܝaj̖,;@Ʃq5V}&*!uV!^.__RhY2]-[kB:lҲ崔XWvcJѤ4Y5cMb]M0~ (CpEQ&{d&{R lQ젬W!>ŏHrC^+g_eˊ'6R(X:0Ylp+U OL_$clb׆Y`gjS7>X8@ES}5PبO$qt(DP+@ xC况&IE. ,uݭv?mQa{lu/QVT[?gk㮑!)yDYʚa 9*ܵ^z#nF[/Bf:1꺲1v]Zw>}q<qHC${j `@J4 KB#Q.|ݒz:QNkiBMN^ÜmX{CZ:(@Ul#6: z1xY{LgRiɘkBzwN<#h& z:[CzUZ<a=C ԋxPDBA x-CGEG!Fr=H6Hq7Ytv9pwP(];'bx%t"%b+][3MjW^GFm24l1OreSl$A]3d )kW45{Lƀ%iԱq?Y'DV/<9Ornfj7:J'T4%niDo*fW7eA $KV\L_MJMn3iyMƼ@61rUwPCtN3yPBDEg|Te ڈˊ Y CL)jt8l-U+qMA.&=U C?[R40D\i\!Q>dG}*$'?&s(MIc}"&gB( E@RjŗY½@- }[`*MIsa Ga24''gS+^_nc]b\IL-is!$0Z,k;|-J,0Kɗm{&U.A+2o5a|RǾYP4X9rl"]|ՒoSt=8-6?#`IQ&vW+jLc'dzt!|JPnϕKX p5}nq.ca墀1_ߢs=أw hW\w˙NBTDuRu<8ȟ=$GĚoK+B@o;_/Z7MOeEL y2K%z@T]/ U_z—-ܛ9DϥݳaQV)~ѰD" V'v"97Cx߶%nW.fQ* 20^B&(?ct*nZW /-u8p*jqLژOu{͆`3fSkZnZp;ūnŢɖ%9?DE_ؙ):’ӱ a~֗>=G{ZS6sJRh1\/Kj̱qZιsR6_g K/C7IenEN?6X~".'\i_SadspTNwvNe&"C [v[髊, 7/9JpJS5bWq[0]{wXWUur~<Kj<K! X{*طi/ ^lY=6.$tMufɴjjC߈% ^1 .10 I P2C OmVxn@2];{I|g2lU07cdQ8#;o8{6eB-PXnrj$'y{"ļ /7":ϗ\*%!9um/G%^^^[=uyBWNL1KE3ᣧ?18ur,5bXDM6U% F~ײ (ւ:c_Cs‚_aNY kst$ }F?oW, #M$}HGڸ6t8b;)Ȥ&k3M^qJ$>ػ5f1IT'ps֨##m JL6bu- fjy UODJEvG,f3XnB)G{EZOy$},U qQ%Tko׹p/I7T(KfK*oJ q!1V/J¥ͤvttZ\!vt,@g򭷸x: l3f9_Wi렌rY=x/c̓%Lr 1~N/0~z|6zx՛}T ;@WzC6 l/h{]@ċBN(5d_'{rz8钂;E ̊2lY:uf:ϖ)g˅{jw18QOtoEH7x9^REF^*a ټpT!Z k5d7 d\[4CdC&](.XFjRֵy ?m|TZ=D@YgK?oj&u<3=ҀƥgdZZ7!ʙfk(n/f- ٨Mã+=vߩ${A^p捳.x5A6d4ӳTbea])3nX ӹqUB[/qtUH2Ui(~ UAL ,mp|2xIx-{W 3 2Bq;Ҋ8-aN6nBrO̵AFz/D.VĎOc+drmI(,K.[ ɼ2d6__/V9FpE.ӹqqR=ĉov'c[5V17e  Փqa[E->žl M&y8s TYF-?њ`4>>N[ C݂`GU7c\sB/(X"l!?5!v?Oŋ/(}%R|C'ߕRwDvpX뾒19} {eJ~R[S<,gAX]c^= X!8s4zs5-d<.H̊lae%.tAR]be$W9~Ǎ͛*&VDlJCtffuOʵ?\%nږLd &ޥ-.Ò~ ([_7Sfeh_%)>9i[ݐBN+ ۨ=B:3h\2 ՂwsR)37O z*"u*v0odʮn4]d_ȠdXzȉS)yy!V PϤ=g>R~0ܳ^MegNdt|ӿ]O-31)#%KXHkt t3*i *OcA $޸Zx (ʴp73,=V(ڏ, KQ,F=g&%SU==b=3{|je,XJqDX{5V |գ96 fr<5%UN*gmgPtgEismTJ?*|pghDzq.BU?g=5?%1u8 ,4Ł5zڠx\gԂ[12J/Ӄ꽖QPM@]ogFri)Oou.W*J>(r}@/œ!_]93sOkMv */S߽Q lC{sj&(ܢR5I{CF1]&v73eAP&z`hM1R:fEBjHwE)iߺ(IL> "/d=y'Je吨a"2}5nݷ(Vg.:!.uQ79*@z(f^Nf/X@G̵^u}{>'W 8 ~:owJX\9P:& ]ddA+Rl^?W˖Z H&"4YPp,)u Mx`EA5P8V st =p'DqBg.@t׍3u;T:IbSisHWn+u!:H!diF"B acԊ*aL-Ak]dywJᎄ"81ɑ0BcQ-ǤIqDhxBVDD c΍:~C$k#jI4M_-t;^ eZԛ%7E;=#i:,T |Bd0xTk3߮ ӢGp+a,W\P Qv\~WKz+U殫?)gVR寇Iq3" !S#˪[|樞0lmSgm_tv+fr: ev39cj_jȊwXIJ]l<8>r$F?WrnEUquW :"y[ [XA\l5ႅ Dzlݱװ<ZW8xf@fG[ b1hOo׷s3 31e\)5pEM gYf˰Zh|aMϕ7o<(PՒP5wqfyK @;rŏQܫPӸijJǙfzļS`u(tSvCYw0kۥNpl Uq0jxDfP;ht!ͳEx_'\P~R}[(|Cd?m RdS-^j[kj+gpo&0s҉"y=|t{ۆMjQjić)V$m\8st0fBc h1'P>Łb;Ijow)M38 A>GY1 :xŤ RҠ%[`.'UKoLxScr"!߅ؓ^ϭps z;{oe $"0 3XKG<IUpvB#֕N.j%S1FAXP[U 0ǯ4sBꧏUK .#,<9uޚ]7#N ԄcZg.T ;Ex4!Ba@5+&& JB?ڴ|[S/̳"h)( Z>V{"N0DcH^Fn)2MH*Ņ+-tKWc)^:t +VaQLNBocrmUe->)Rx!T-oO[ &K|[M}$rdCO.9St)A!Jl=5ےjt*W'ZLۇyL&ȸ>riOM icY_?7]pqMQf`To%A,a [#Z Ԝ#RAc@^5=2 e`îMy,=5-L'Il;Y2,t/R 5%4֋ql^,7[*_-\,]H܌:ŽuqTT۪h肓/ZGe g%E R!Ee򏿖;Au}4ض ID0#=\#xI=TW"*v!Cu'H֟* `8*Z.[s֏Bn2}ggj$c kH ?n@d|JD_h-Alȷ[vUqetL4sM$6iBrg\UV cDbFV0_59sXWDmW*fjbWT|=O0ZȔ *(m#ҹ fr^|N(3`Ѩ}@oq}޹< ^:9$$SlPRm)G!bS Zy*f'>zzB'e]/΍ Y(YY2{bVQ}ͽǙ<..VxjWk9(t'#^D6=}n@AYE,94d)Q:?T~d~!%26%vvY~cw `Fa˓z,2RKU}~scΨ@0|18p^:K6QvZ߳nPJ@)yv9W. 2t ϕɀLk a sB (NqA|U2~{b i r@Z&KC:pZ#0*{^t #DmtC+"T+UѳrtF ~=Mjy%hQWQ:Ko8KTJT힄0a!eM&7,k=aF8,SY̘=T#o<ĦqFo uضRIl4PxD@DY(Q&bxTK_<ӹGHN!ZiAsHHkDe:r=- GgG) x Ho&RƢQH[˂SfQ׼c=?3xqq)"/׆|\$#Hxr%ߋ$`zJN D$-kr/_KOf{vG^WQĮ)9trrC]fvL/d"i|cut EjtX(f~'hQN_~ B{6T@yaTU|S1``V`Cx-ewQaN<F O'IbtC4cRA:/@[Uɲ5boߘkb:[<@D?|e&XjstA7$d}~.=p1%)%qSFzΩ)(ieK>5MK;N[)BL5;%Tˉ AH!?Z՟YKb4^H,+D4 Iި96]'dV3k1I\T3"NdC3۶Ó6y?ЍLNCGK Oɓ3C#2-2NKCK;[cI*;\he/5D*muZi#G:V{fC#׉/ .Le>YHP)z}Tj} :LnXM1OڶE՚/D!<$ 4V^*i×gzm?hڲV,4=zClo 98,Qŧz`K:iP wzxdn8)efo? %zp*@: [-:ަQ6w7To|!Xy"[l9qLb=QSG Ti{zPXM6h9LZqˍȃ Y%K:s0aۀb5R +ku|Mxߎja` r9nq X&YBH_tK7N1ru|w"j0Wŀ÷)H 4)0pP#(TNJEHsgJ_`έN IgcDqo̤\ϱƶsӐ .ۣ3Pf8)4я! TmU=Yҝ:¨d9' NxNRQxU\sydG]*h:y'wtHtEaEϭᕋvq{]l^,l`x(oz+F_GLqUYзcfM T]vKqw?TX'+m~Gݔ ; O9͕_w=b&m>)l\/=:ߦQbqnPd!e[pCxb/vƊLYh36Ci%ࣿ볥ixE):/)XFw( .&`;j~?/N ?e+@3JqRDžvЬ_O7s,m/>KϏ(2D֏p$nñ>nZqMnOQ1gXNSh}#zeXwqbzϬ³3&9F_ (G%)^O`X>η̎ IFKv`L'-\Ϩ8>Zo!>5嚷 =ÆV0oV*zN|\USٚb7fqh .[l>1x|V.GII;`7Ɩ+yӝu7z#Ŧ YY>[%4qM*rR"^"]ff!&IԑIe3RLSݕO˩sj4SLo'Ҡ3WgC7` sɵD=s*# &lx2Ae!cxZ/tJ\-ΤAK尅[ף SGJ2`j|_m`z=øMsIJ[5|Ș{38Rl.}o3z#ϲ1Od8z٬6ֱd1*Z#:G=gT-Qpݸo +$zѤJ70H.OP]~4g)9.Ŏbُađ7nK"͵ d>۟ O_@D~G#!8MY_7A^c[g&=%I=?IZ@[%c]U)BZd&"Iy\,lxS/,+|Bv/)@0i.[&nƁ&nH_"wR;|w X^봿u*ņ݉R Y;45y͋Ⱏ3nݡ(;[y`jH ڿڹ4"5?"}< /i8{I,~@,ԾCrxml[|^Yct[|x4}GPh, b)9D䄀y4Z zп_{b.P[VQƏ\5goB\OOzi`Xq}K- jxڗgld :jjc%X}# _0?ElvU1tbp}D𗉪~ߎ?^r#*8yY@ ;m -mOM2]`6hz#F".cPR)>y^UtOM?H:TR MH:} A/4>(Q ,ޣ'}DeuqjRRx+hQFgҳ rXz]ko9 r:,M)cDR+%My@l/LHcll@l$ÈA.bi5P">HCU2ogQ3vE[ߠ1yBEu njYTG ~צ0ݎffauDhmMz7ݬ8<d4780n'yyc} Jѹ{5uy1d׸*ǭ`*+V)R_,',o+ -tWہbeLCKU466]rk68DsA͝vq*[D|v:6q;|x]}xsCY=cS\SQ1j[ pgm}7r\ӑvl#-IuA/+bUX Lozh4UEiq[:*(\5"4Ά'Ʋ{NSzSԶNY}{i i=P&QR׬j!Eb_a#uP\ dVwSƓEZݐáC-@ma]_|RYў|j/s6hI}~?EǙwCC㓕Hi2"CvQu ]3CwE]4JxCﶡYiaD 8/fSom3xt: j&f2)Z_H*uBX0߈a0ɪ?5Fݰ8!`8x2;x m\N#xeMFc2maCj?BQQ*5Ə;֭'Fۨ콢YcN߉, Z'r~[o3R'Tc5t@O <ݬNr-{@FnN SۭF]LO; &9fNxwf9 87S`рp`Y3^O@#{6e7Zb՟7(%?,O9U=LT,͇ 0㭥`.fDRc _2#?*5=2Szˉ̠$MW63햣G5+:et>*N&SR9yX-Wa ;OiU(HjT%* TNfM2@;t`WZ(k;](LD'Y8(Sd <>|{vʴ%)8? /n}tzB?2I}pX\9^] >F:㽍h eWm&+?>Z A)v&:OFlՠDEge5 0TrHJQAQSM"gZ(s-lZ\=LF|ܩ>G$<-9r,UIaiRP S&6i(EkM&OF*3q),!~z^3uѫ f,00kIL8N -jRUZ/š5 2hߥM;w #x']&XG p R&U(qn@/[d.6`R<&PU!uM!^䞕_l3ډm~Wr4aj~E҇I8A^QbukcUoi~L ω*xCbnicv[#2 ϳb ӣ 8m6{FzEȉQug|NC*G$r $4p&luECYqh yYkdK]2ykv,L {I*H́D/\Iޚ3<"ȎoGwf^DGdnWl > EU̯$'D_HgQpH\dH[p2j>_Qow8n/9޿.?&+zfasO4go= 5I@~Zi2AiҽcXiq[DBsPlS ,_#oEMr32+QW9a*J'?_6-v;iCQmX?qlvkC~*dG[ ut0V[丠o M SnnQBts[Y[ւ{|0EB/I%cf=&ilOn!Юzc|S͏1k[rku [^HYD#m{~21{(["ݯ-NMun{7!ciخJ,F0Q.iu~g@?RPs/?ꉆ V?v#7R5ڕ$DQ:!m$1 {Le?$ezLQDt |rr%L-{.8e阚to^2  (!@4k }}Roؑ'w:sc~ k Tj+y?*S!=110Ľ֨ǶjnoCE|<0ްI+R'SP7RPRsi  {HlC6VzaϷ㙯TfSl/CE3NA}[ӫr ( Hƺnz@ja-H> j@SyI갯d*U.]TEcڗ H,_%(k{F%\dXK=\h+gx!0u99eaIm11Xc"cVז} tǤX ISٽb)R@ ֫|%u-qљ ]v$WS>gYW&~ \z§߃{ܫ*;p gн*t [ #BUiT5cV*) sP|[SAWKRaT3̔8T\^C.ZT*6k7ìۥtIY;]Cqz۪=xR+=̕=lX⧢u7!Nwf 2)YC:yC0%=S&YD9EOO*7IܫWx- ؉|O|Nވ1 $'TcΉLx=@˘D:I33d`jYsZնaQF PXTy}(kĘK2_Qea$JK,v1XuC_joZ8~jT$hBk5틗ܖ,K؈XFq}% }p-N0 D`s(tgDn޴Y?c͒ yvI-\IvQ8`-I7͐8O~3f>%e@7)0ι)@H 30v\_\ $M_\?)toXQ%ek^Ly 2sPzД9U֊VcP < S$ ZOYl:vVM%`xY˓>ap# cy_/;.+߄ %r52ԥhHwhTzdՙZdPvbcяygbzyJ38Ruhrmj^3鴴Qk*NVK7 IT/(-bI-><T[dvo( Wpu3!^ X[=NfZyWO eo,w/}9Ḯj;|g8:U/8(dhl[مGh!^U`WJ6h޷_k5ufZ|t0O>yXЭj1o 4912Al7 A,Ig~ǠG4Sg˴vH;MvPPaUbGJm`un5ǞDuYgy_ ss#;DȈkqF@u&-^cWf_Z<*4k =WծyuJ8ʎ8& iQz)Q DwP3 o|4B*,k G]ȚG~WHHoFK`ب"`@k3;M/gH@a؋ XyC3/ 419T jT?Z+#b3cW&/@9Rم Պ)aJNg%ۇz3)$oT3j w"Wu1C"`*kTLfh_Ů4o8nc'MȧFK̹M2P=;d*TGp5FKDM&SbdI:ͱ+I<8iOY2%r@H21]zijD,zEm B!1 D#3,]%dL&z)9;dASKY ˆB8-/4;{rg#ѿmàh`!yr<~UI:҄=*ޱNa=vn蚛vomE< NZP;r@}V˝JeaGp l#gʯq8:bNt$$q 5̳9YLJUYuʮz ^d('+":iw07#PƊ"'j8eM"4xd2-x1({ d2n/kx阆>̺9o&;:-Lxྥ^ "!x3r+@xW=JI:ʛdsCNH)7h/!8Jp ce1RIZ7Tfҙd5mxBpJ??[-+[Ff;3/hCpF6^(h!2:/MO;FPڣQ7Ӽ蚿Ɠp,ԾE#\RZ7!j9cylMQu"~qkqqc+=y_}2R!GcVX$wY&+-]Qʻ XwnIC'\ ܤ@[ԱT,?iG"HiXyY.-e1I_#,cጶ?-XhB 3R?BށFJePP-o&<& T棴;2TP-Ӵ%Ba"\8f߬RrEL(jW&wV9*XV³Pisu&-'Zh0 NN4xb2zkcڼi^>u/IN@ۓk;2qsژ"W\z_yx ZHQ2+75P]N4 E'ldpLEIb,FjW pqu pk> fb`A|LgeBGJ㘸8o lX.-B1FQO:鱗h֋)|Bgw 𾍿2B7**_jk*`Tt87 a!QxaoH&<7:'-nn͖*2*yw!=0f=v)k8ψw:y- 3q ;SqNC )G4V}!1z;Nz 2 mVե2=K]}w巙xgEn@rv ɺo:Y`e`[ۡkDk pj&|hM`7aFOQ'~6&j JM@^M?w(j8{7= Gy~6沱BHNo:_ﻎ䦧K>۔D@*FE)k{Gz? ?[}+EKW^>ܱ,\vF[z纻AAu1U<{}A3xXѨ7tO@/s)lD{mEX( &_5̓h @e7O("D@Ǧ_v'-XWD墽 clѯY(tknBbP_z?*H(CXK Z"' uHo@mtA8M3=|pl]8;dEs28wq_cÙQlfb0&{3_dgq 1[YٷG {:Q;29NКkIqcc;OXKTqpɬr:*J jϩYoxŠ]/Kz. Qg;O!yèԟ/ͣ)96Vē݊\/ű^lLj¹o_7oڹ$W )UF ( Nc9J"5GA^gB]҃Ii;a vj5GyCH_cc.os D?TI/OK}VAޞ$ 5 険[22>x]̾@3yP# }紇Ounŗ?3jր@kOnտmd2D )S%cn4[X+)R*XZ>'R xO1ψFȷS)ed H\E) _ -ZE`)X) {7uiz 6g?2+yit\Ci 4!Yc!}סwTl'q..7JbrK1cTo(]bb}%kpO4zefV_RBHGOui\<)E_ˁ8ħgYf`(gk`ԁQ!Va̻sйn BUfWdJvVpPzh^vq1 Zz^I88C$_36tU_10xV˽̭B 9d<2t2; 9zQ(A" ̩bނD9JPCжtF:ųq,T`xsy^ nc2W~ x}y; Ur M,0TuK@ r/ҰӖ׷ 'HqA%\7eWRbIr MȃDljʵOs+k$Sy}l* ) I]jSCYQW=e~U,8iw\\X:liKq IcׇJ ?%Q>mAJ'ayPx,pdAji6>'hSsL#輠"r#v!~Οw>260Ӓ*B Cy[X]H}nF@\,An/ZF5H ͿejT.FZf: zz ̋W|9!|c!\xӇphnqzYzgvߓ^)]j6͜ڍ g bXg\0>tNXǣe&c">oreFJIwK) =MJ3lTVcuk}.ح(ދ::³}pw'if|fT!:=0'FG j/{tt]hh=(⦀,ZJH# 7T^:r0\s~PY@F?ُ}abGClCCMi[1 ޾o$fni _VLGD"˺IЍ·4& n,L0 9גYnԩJfR_06K=(}Y#+-HށVli]PfQDAmR"M?Բ "pDޣH,o"X1N?QV&`ׅNTj\,9rHK+$h?8&K !W"%kE]fɰ9Ђ10ah'hВ?WFBT}ΥI $FwՂh6Q4OArژ=L:p+ z\ YG1`u6J.cN&z)(r۬u 'hiNi|^%n-QpܞYTL{>kBl_#yQ ǻ"7zTO!dAȼLz;A?_=c>w-qi݋~Vm٪ss~t|ZȇfE{r%ypD-YΌPlvIPZwϛbx&EoqnڕՉ =D$\2١p*:w祈œnDoMIlvTq 8:$M/9x@x{p \196funaNxW( y9WU9k\!gmƾ8(e\H66^ UVy6?m98IΗuaBu/{pTZl#5ϥvl޺(<}B)pDA 2 Lj,,Uk nwÚԖԓm8<̙'V&,'Gi?.Mu ǒL0&SNSL`v N~^)Z2#2 hCҕ, AMIB[؉}q SY㉷sgr|KYn(ŧjɭp$ƒ}Tkv ;1O=v-D-$yhV-ufy}d$a-HDD8QըWȇNC맫xj-Ö"'1קȱr(poH΢xDs qo=`fbG[zdWLxn`P%񟂗fO^D'USȄ}VgA"M.* Nu*/j}NvG+Yero`Oߏafdb*W"hdAi {!sDV&Z:pmZ(ŞORcV_337ތǢ"\QGN2pT#ya;s 2JLuǕFb,.'Qyi J)G `"TCdl<ɦRgdLyFRD7΂=惯RqL8Mk%w;`総s;202|g" vGHrvyovznؓ"CN)]O g^a/.XhsG3.O+3# *+٣N 0a+v=27FɲE`Gfnڿ^A'Eu}^!@n2haa籥y:|yG7Өh"crTy [6~k* 䁰t)=ӎsW``gdZL n0sR ڛdwsZmD$DlۑdfuveIiV33gԈQ[W`3X#HEBd%T4 88>2KTvxOehA֕" aAfW}Y/GJ\1 cQ<JI4uԝt&_1x)6Cɧ뗟35S0=>ߩO bBJU0nׁ[j/:,?(ybћ"FOLF^E_ Ulkq7Ya>Kv|Ag&;k ].WJrڵ~:f܍|2)3@|=h`LptP]XUBDm^J}م^'4V|Z?S{1 gP.,Bhsz|EcrNGnӬ-J=MFMg2 ld}:JδSܝ.w+/JU'?XӔzqI\O*0K{9?0hA')&LjkxkSS3~g,_}9ޱ|J! g'>a Ŵ i8KVg>JP j[~"ȣw]4BoD/$FS\Կa*c"[M|S2_<79 B"_LC,jsMj|TEfvUij1 )ي(_  <"IWzytqN3Gt~iV|B# >' 6B|c]TQIX, Rs;ߜ9'!\(we)עBD3mx?c/ch2q]{3Nl};J~+ot@ ].R2a@jc uOAdYєa!NZdX5V5<ËZ9Bov|ι_CjSVEڋ@lߍZF"JaH35ݠJdI,I vNzb($ocv]t98ͳjsa=K3~9)Ғ~F*&0\?&JP ,#ًW'3 =tَ H1`ӇgYm_rU* l 윙N؂ULG!̦/Te7qt]9"l[anR\`pX67+'5wB"Xy ԡ13)*,̗JGo`y֎)}*B1E̻"rcwhd=oHM=\.YF:ZY#X/ۏ"ȹj/v69?bvX a7N3D2S=D6(8FWЄ_,ʆsc+g(8%ًײB.w8}>ˑٞin̫5~LϽC8*c12@'a{Z G=1 ^B ѣ)OW/L_Yw|x7]Es-BbCp`es7ϋW0X$Zq;)%IR^s'*tAc{8wF+Kܽ>V񠗝BZɻ(74st*!.Tΰ T >fJHHOKaL<^g$ ŋ>opDW4ZGs$A,3Ͽ/ڠnwQ,!|H(?7j1;8/ . 6DACC5v1׿& twP#H0q:WI00m#hT`2PM̃vKBB?r9Z|i` )@ت>F lj.[LmxjZ)>On!ݫhVToDU\$_,r\aC*LIa[b @C*#%@bg_DlEk:TCNl&/ yEϊaɹA +O ej$2v=W['"[Y~_=Aw"Ӏ]^/ɞŒ9 ݚEPi4wx3"f:T?ЦBi M84%'<(aVhQ=xT r@P[cxb8~USI VݐN)}ss _봃 ecsY%C5Zex_F}eҬZAwH E.q# : @PurGݰJDmF.5\1DeL׉\v0h)yQfu[)jwmzD!l 2Wi\XPy5 }v}!Mr' -WMHtY#(USEIMJw<1Z~ډ5RC.egt_ k7'n#a$5&f❆jr] _N t[ F<|,qM% O0s#/ՌZ_SDN<8f+q٦*˪pBhvsYDmӱCQ̏lՂy5Y][ِ1P]LQ=:(; GI=;߻\@Y AJ^sy4BU \ǽ1P1*:U1zMQ'/phE0O# *y. C:2a-Jq;! {΃mJi/HUšHyh~PW OX- 2i7- .a+Z.qOq,>Z[[ĜIS/l5F[e%?Tλ+gż=u$hd [,)ْH}XJ)B%iJc1S:U7ZߋQvz&2ijB}Xz,NoQ&eQ_y$B_:\`ճ;S(#}KI͂VqX83C/Ai Rq I*6^K+e$c' 3S9QJ(q `EdJ΅uTQt~H+$ QrⲴ~92"Z4TBol7EogW Xcz! 43ӌl%ki vsC\Rs[MRE=M]#04_d (7$=my3Cfh^NNN&ukYOMEvHy_}V/xp[&l;;~&Q3g\rd\Ng:0NZ=hϴh@ ]0)P8X|ݧy }vts{@2 LJ6,ơ'd/a>BkR?,rnPӘ4}!ڠ;d|:xLFNWxBI[ 5&ssKW@[mu{ۭsMxCC?)hڂ:e{ ǯZD%?f,vwp`+1FmݑC/,8^eӦZĻ*t%e ZNK @ c=⹵1' Ib2W oNZN4܌UAt~#5(3cфic{?mEB&?B[^e#%m5*IءbpBb}M> 5h<'CBVâ~¶ חm6dO=R΄žq5<fb쁚OrvetNoyհ<X KցM }0<ʿݢyY+Զ\oj?c::#Y{|8Xq4pӃbS{иM?[`2|%g2_\ Yˎ#'riLK9ju|E V(VP>W32v Ikuq_ǻgf832ևusd <4I0;/Z@HՃk-ؠ>l}HڊZm*jF adJ~IeT?fUyB-,2E|K<@iH6^'6T0iZc.)EsI ݪLv9'G:~Pd= [Sնsq]{Y\ d.5U'h0|}\41,M7aVS6-UwH+ V uɚ4mSopJ(NɗW_pܭ1~G}t5SֲWg~ٿ碯6png5ܘJ_Uk̈́xۀDxPbPC@#U`/yYs?D YY(jgJ4\(\`[fQbϱ5t2Q|> =Cd*!DdGVX2DDۀl*7;oX7 \oOSD߱M%pk)4^b 3tQs|nKY /a ӳr=yۢdDEgyB Ʒ̹BR ܦ8tlŧ̍S !FP¡ŠޅZ.l y{b#En99=&AadߺoQHڨ5oDZ5kp1Gach(s%_W<+GbHj+%ò5{3A.z B,Jzd`:JȡO,d#ʟ:`f/DJ\ ,t-\K?f:&;%kW вjIXȔ_ w<J| ;E+\o(+A#1a:,]nib7*=X&/%yˌOʬige@!#NdQK2"L]v^׷ptg1 A,̃+{MܜUۯcر`hB޼*4Ĉ/&K0+ݍ#c*,ʓM!P#鸖deyNbNGB U.OG |ztƻ}4;̠TO5A|Bf>gE_׌ɵBXHHzuPvLnpފ峏봞#*5&sgN"G|$luPfeߴ' _ZbRF ُ~ z(ϸ'ue%A \w3Fd oW^eA0lݥ)YQOQ,/:zI[X-|׺T<9C3bȠ|rOsVtwIN&< R|Tʃx*x(>%ٴyL8tms͆H@LFjm͘.-*={gwI0*\Yd[c#Q)$~w\ү5g ΛQNj﹏U,{W1szߗُS0%1uޱ`'<$7uܨ0Eʯ~[tD 23]~2l VaĝR!5N)}4U`A,MLw N{R,%9u<Bx}jP*k|$H!V~^Gu$[.ʧ`uXofP)4 `^z G*Nd1;(~xx 9^tUԚBs[X90ĆGIa7JjKt'`d\Mrp bsZGpXNf->=]90&^P:;v(nZ,"@z b]akM1"OE71yjWbmX,KO' ep!Qv2Eģb&G0g@=Duȍf?PsU5`F-ګw`Z0wX=V[ Y,s2G{Q\4iBRD ijHkhqj{ob91tΙpԉnJ.Zrٷ">@Cʅ^ԏc˘k_藭ϴˆ~vP jVB3lqg0}N'/8s_V!m OefNM 5l9 dQ5s@,@AE:R]mε _ 2IR4hm#M+|y .΃v`A\Z·m ۇAcr;F2 yHxznG_L耸lsΐw!؁v3aᛏq ^ ,ޜZT"HSq2:QBˋ5 2PA#o~E䜌 SĐXC/C:uN3\/Glң 4K%dB^vzj0ubZw$(䞎RvS9 0oDnƔ~;Ů%1m<#?" k¢/`񴺔ì,ӞK˧X3dGe$F #o=Tܱa9E?ZRYiU7airĜ)J5qN3ƗxubX 0!\ v|".fgK…] וCAl{8kn2?*=A*ҚFIYjW}OC ߃ᲨohM1M2V lW.rī.̞VAӣv Y@"u=x aOތ@oEL|rzVA-[07t]'@M#tr("ɸr/O} ΑmBٴ4H;y~i:×r.%{p3׭GGf_%=xS&l-ue3=0 ov3$>i"Ǽ% m>,w}Yxi࿌(|&`Wn pK D7ĔU'_H{wC䀔) ]ɴ">`!#)mHlEef4p;5#=Z77" 1IJz9כ ލ&0V w H#Nu,Du9f V_S)y%OiPSy2,<5F1̮O %F8=q«2˰Ræ| MwT_:?R?$D b;k3u߂|>;$m11ޥ[#^nBL˰rwH M_^w bYMemF5;%1Ɇ.kYAaT)(l3rA)ĬaeĜ=̢͒% En Fin !v+Adi!Yݸmx,\~SK,{vh  O M V^+EMʫy;lKR8:m!j]c4֐Z+&#VWIA!j閲*W{=v TgByIo)uS̒QȚ$ 37SbH )E[ݸ]w{Eg=F,f$Rb >@toW1ܰ 'I؃eK}Ȥ"cT[(}C'&toa?[3DR`h,$ $u =4;o+lCAP\h BAK~ G G6G%V=aR^OUB.SV@e9N$}&b zeVMӐdI ZhaXQxmldw~5p'vtb {eWw x+J4ˇS$`H9`#MG'i ցBὼDl$AzpsiDL%H5,Rו'^VL8O^3ai#O_߯`A3N{5 6C TӊgzYŨ,EiZrn;Ts7׀u,#7 r?@N:+HT'ՌP: ù 'h"h Na^=&AF{(']_}K|±%keT,ʍ 9V79mցʦrrAJс_ҪJRsu3)7.SCg.q<9E}\Ylҳ8?H xw(.;SfA<2*z'q2F! @•CG:ҊƔIB0PE~[i^LAz:|SGEytCʐ=}Հņh0RSCJ7]jU{Pݴإ{{J@^ [%!\{7 ƃ˂0ŧJ+_#W$tERfY39pt2nX y[`__nLODŬ *Bm{Qc|} T; "s)nt >$or0Cx^InէiDhE¬@ PʜaDKksˌ-;*=_bw(N/SGfxܝZ-) LAۭ bp -Z=2T~4HQkX9RLFpfzY kOEIJ=b\3w>tJ%Ԫ,Q1 QS-6FY̎Ƽ^fq#lfE$fKZ/$K >Ql>XD|>aꨦtv0Π8RZ}*$ ^S6웓!~@K`Q]y`?(1%CԘv0 (N(L(9C=ZJ +kOe G!K?5H悔HY49xGFdCQ삄e,bMDQIjrlg!p7Dn#7/mr[D} /<6 :m6ܧzWǖ kj_yV1L~GΡiu8Vjud,{9l{:ֱ6FV[}w<]dY+`K'P]-pK'9}Pm򊓖csɬa_ ,Tqi'36Nڲy+.XBn$ !xlap.4I(pZ0Gn+j$(yVkAOR|0͖(h*nYX Wmv'G?m=~9O[P `8*92'. 7:aÓEo9y],|sYP̝0x:!ƶCT\?G`ܥ; BN4QaCJG-?)yuiX|TJڏ픥&I\$eɈCmNVMC1Iʬ>2%HYk?S `Rn]`5mJ SU'uY7.yr))+#BUu[ *jZq }eIP"ơ#5z<$1omTV%vZ[o\ŧ@h&2B][Q@F#T #z&bGƵ@V!Wwͮ]:w;pZ 1 AN5=zzRZZ T%fOfDG/D\اuCN6T+W6 :WOs+·Uu&I68adP`;g|KݕYqVB#+)q}=Zh=GÁ^~YB<ɹ0{A3،'4=JnU/6w5Է6(. &  VTObxsQ= +llQ !ϑ %/=<F8kzqY7>qQ_c=oa8ob(עn.1"!׆A4! Et!A9=Yz׉=,/wHwu`T|d_k-(LrWS8:oN n-쥒|\BlXe4w͹E(i{zcaU)vѽ*yP[!/n1t^H 0ybCd?E̪aq xAmZheCԚ=d)+_nD ڕ'QByPWJ,cXLT]L:M@a=3/7ġMDjZyNK[,UN3f?k$I1 諒YBk{*|>O+J/Dx;N!ro52SYo3r݈%9PEDP{CM/ecK0%=!Sq~|"ZƩ66dZ&xU>=qc i4gRue| wb~h각ps $wrKox2)ta${߷LZ$ 6:Y3+{oyGQw k?@ %#v.6#*i%K^Tq AxkigͰ/?_d6psiTpSL꼨eENѝcޙ81 ܲQhF C&o^jxa0l3[sY$.9޶)T&-zh_q5J?P b{ͅ,F*7?'ȋY^qA~HI p+/ρΏG)jbS%_l.1r1$ ] c$CAؒ/b}p5%4cVVhNbW詧]&-M~)\r:F2˝DauJ(a"gt^^̀Mtd  gI=bЗJ;ę'-nzZj\$mvͥ'b{'j}6$Jbܝ\#3bG*ӳ khZAr($߹S + $MgoK@XeK{r;#sDñmdڈ,)mSŀ|, .),lr}5RH G"o ƒ]AhR}Nė\b5ey5XWNa8}[VYrfe]ْjMFBm2va&;Km͠o,|)%vChIa樴h1 *znh* &6`=t}Lw$cK3W@zS͛~)#v*f X?'E(Ƀ{ `gzu Du22ʱ9 +U[LH;&֛,_{Ww?YhGʿ'7f'ɔ! |y!m[x&[Ua¤LW>VX+a˩ n&Iݶ뮓],(;6 4^Uk26 x-s@a!+Uiw Y%/)9=ՠG =kL2zSCoSxoҲڃY??RS6nBb1 svqޗ^n\ٙvPxkMkƨО0T$. &cȌ͈bIE7~-U-f;'mJ$`{^2uXc~V2FB$TbRI(&`PС=Z){ɔ|ћIvx([ҢUm!aK]?2W PWcjUKJ7"O0 vᣳL#FS@i>!wKƊ 80@P181D^.ۮr]ؕ^l[6\v({f q M?(FZe5%;~x#@2EIe:a=zɞxfVzҝQ fyPDe["6Gï=ZEUy^ ^ ٠`ý+7_`_v&D3˃9(W{݊sS )W;y]`:Jb8/lNLD\N^9G{<`W)MFa͑1 @1!l~Ztxb/rI!E!$?ԨFjQ_6"NE:TsO`dږ =F>jG!kg.x,d#qm1R&Xmj|'ljוRo'SzUhN24œU^-{\J3$zïh#+UI|a\~ Ư&tU)\(b㵲G./ B`-8Ίo~6`҆*bT_/K|ӔzцK~W$l]KCWyQE(.ѽTŢOaoP-}?جɋwR*H2sb)s Zx̖|;v{6Kc x(NĶS2+ش>_E#v$zmRtvQ2e 8upm6D*?;|6u #K)=)O`n,@_v *? @%M!ͽ#QC7=+3K.tw&FU KyŏPꕒ l^g;JmJ@F!CB~ o;\Q{n}?wc-l P8DqeYim yjA)* (-&_pf|DڠL$#G!u^G'IwETN酕c  2O^xڶe6qP`Hue=NZ|`PU/먫TȮt:P3 !`ۀxʒn,!|2<\t7 GzADXp PZ{z*59ix~@.% AW0tDh&FF|2uuǫP>f,6Jm n@#=8f`(k dqW0ϼ/5BB'Ҁ0e@Ĵ' y:trQ]#ΫK4 wN` [h߲^Ub=m0)(yJxe; MF=D❼>Kz{NAsUZZO3c[iWOspsNS8䅌[󡧔!R"|u eG\Hު`0s+԰uxV;b"E B3\Z95ȅd\}ZY%8|tQ4鏲Jn omlpbҼox4ceYR_yR}VE %յZDҋFTW +lWԎTuM/wܔh۴c:gzGf+25 9؄R0/&eC#Nd[p뢐bp 3 {#BdWz)oQT-NϹ:Є활^]N |jv 2Oa?&Ǯ uma.hluR:7 n'wڬNN>R*Qn ͽJNϲG/%BmvDzOAS^ru[?Y/<>#j) )$3K۫N=kM5[$hv˨ΙЧw_9@N% |:ri?Qu%YSׅYI󶾼&2]jO Ǘ휮'}hTVɭEG^=q-޺hshD$MҺ~v6XlMӤNwɓ+jOL9t P_ kT#Qల.Tc]f(ҞM5y0[-JvV(˸ ypW֟{Dp_hx2^ނEbKUeP> WF+S6 ϤEdnc@ 0$p"&I`>CAu!+p8 ~K{CX:꿲(s}θwaM~` ׄ\{ oll] yjgAH= Let ?b1[:yTӤػ+myIi7$QҚevڋ\,0֘bMp`HOβAo ^Ģ:4!VwQN,!WztP+3Ȇ(2c6kj~>wHܔBDcMȞM'#:Y09)@V +U:yku&R* [.ϲ5Y5n.kK*ϥ#:vs.[Qn'*wLPD{ 5Еv-Ufs2l1ws D#Izi[QetS\1l^B[0,yS~~1vtG;jBTdRǍ/Kǒ,( f A>Fu1IQ='4ms؊E-x8MH"6T`l6y)^ -Ai9̵%g2ED[ߑF{-ew4/TNM_aΉ}fZ k9i~ y Ё^"Jީ,+ TUxܫŖ΢^ j?;#?NLîۛ3-+Cb_2IY8,Q 7SS!tv@eC k_xv"Aj Ecm,isnoLy-Rc)VL*8~)eBMav}g6" fQYiRT? V]hP p9!`9|qZy[|!_͞({<,G$Xe4 w^Nص`Dߑ`X4 zIde8Ʀ5'\{NF0+hyCyCS*yt@9}y%B-Mf+iZSD{p)c]RX!"a9[jC:+^H)% \\Q~;;S'vFn7QWM#e0ffײ5„B2k<$~J&L;AvB @\nwrpI•>u"f!w: #@z5=~bBq5urC <`P zG]eypUɿl;;VOZ&a&h8oJ`{}JQ>mXA;c cO<^IaR#4;,\i 627}d\ k}a txcl@HR&Vh Ss-y*:Tzm`R X$gz9̽Y6\*ҒCtTTBqM|Fg_kK.=WQ3:@>*=`G@(-Ey-+Q4)S%-PY* :I 5޼ ̳EM ]wtRم^a_o;|C\LI;ar|zH[j]t`V#M.G-u%un`{!VDQ%Riz|y r(-W󿤮YL;u5pmLeĭAU<Ac<`+U. F$Ry̻7tfIHٌ\^,-gu _ĀE2q`ٸM ţ#e]zN͇VwJgVi(` ŎqnN>pMLgꠤE#()(Qm W ?I(WE!+ E[_Us49pGw=m@UdI%W-[e'~1c6`%Q C5kf.EDP?[ȟx[ SWNz/*&"0ESzwwkU-~RugbG iR/W.o5mvꘪ4k4i > )SM6ʹXtNE6_.\^tz7+H@IInd\;P*zK V^| ڝ^ڕx;ΆU;*rB#.}]ͪfIaƲkRnps["bCpnJE T|vxw~Tc]SSEs.چfR!6jyluð+vfqhM vזA̒CRNI7"țR=\;ݘ* 8 pR Kö\|aLb ,Db1ܤxs$kevDE?#8~-HjuͰ^ F˓*!%5W}e\uUM=ɟ _`O_(ƪԂ#y+~]Cr/^uͫӾ`Ur9^,,hKdJo+MK.yU-GG:G8 ,#z~9!Xpv,њq6O/Lg;lwǮp.U73MΥrr%1>vPmB-_r~{FmΌջ1/|ƊF>|&dʤ)%_]Cg&E2q K?bX+s͐cNd\΢$?C1kgE[L SUҬ"ێ3xbLL7!=dFũK =`@O\.ռdhB(}f>Kt#D8+cLܭB6fMka7w(mCTH~l"/m<_}Z)6)&9s/ۇM+aP6 f*2L,k̒?b1tYp % v֛9wވtGm_w%/қO h\uaNj£o)6+)P_̑gVAhllǙ:BH|EdzrݾZOX]䢈 RYg dGAF2+k1Qಜ0:#H[1OP݄h^bD?P '$hVUBBȚHNfeUFh/B\v^uBz}_e!'o6>U-2)="*73cV@~7n~Q@ ])yNr}+*~ ۆp~jqV#'6~4 !4_^Mtdc+Yn@DR3Nkqg%ЦxlR-Q9#\H̽Uw 0fUރhu:/_dcz ATIQ[BGf^ي-}̱ڑ,& ڣ93S>.cOb%(·)1yG %nNCfc8رnПtqmTzތŔʵ7xGHΞ$ÐŅZET3W츒:ၰUQiI>r߸7xqK!uAbuMkIpbF*zf#/"3IjnM?'--XQaJiM>eO#iUycLjG"*GyUh-R?_t?b(f9fl 0*]("=BE1US+ZN>9Q)Za 2(f9un(hMVۺs{v4.Ӹ KNXnG鴌̈́Mtrw1![lmh~%rqAi90iDžAH^]ʺFmU $dGweo}s/ۧu֏BqEsөPd e \+ۍc(R;΂&W3j괾JGyfeu1a#p"^xGבbIWe7+~%iQӑluҭ|U$)DHwf2MhXH m?xlڑΥ0WULtcH N /OPb#kʌi'ƌ%0ܯDt56B )5 SN( ·᭠y1* _28hk;Q~:;O'=/ﷴes}[0^NkT;h~?{FQuo4s侳%}­bLﶫRDŽ̷ԆĨNW+cKڞ՟!^Bvkj\M# !A1l i ;G0=`|8 3Y ZҀdB l=ej@"#%K8763' xs+y GZn~z ᤛzCm\&ZӠ֏cf{O =u䩸_ Gmp v1O!9;1ۨJz_ Y[sjwNuiQK'|_=026CKKiҘ}0/'cEv I{[vk1#eSq\TƎԃ$ǞLԽmA:Z1Zcb GKYAէ;EIR;9>fCr?Yӗv<-9#[iqgqi&Pk(m->'1Һ8;h6 +U5n`%dX=,H}ڰ!~@<{gjA$f5|#|ߴܣ,F8z3Ĝ^|4q8h3ԀZY.ڄoWր$J=L?xlRĖi}Yq#HsM#jT=ːF_WGy*% bsqaPӤC`wv{0ƺĩ0qwv9K@<,CY B,hv KMc} Z$@GgE;eO+#X=( z.o U+i]ˆMe1Iwݟ U^(=RE=0 qRtl|gBy+Oj<&:g$&vH ڭStdQf XW VCmgdh !ڛmU}n+x0J6ițCՍg@C)Ň-Դ?/WТ!h}ņ@թ>x0uP 25*Z { /ST(@ X';NPړj^z:Tֳ_|zAmC`;:ϳ2VUkm@Js`z8HMS[dR&UQ+?[O0q Bǝ׸O:2 VȴO:"5C%2\1|F1G< CȰ @T(wqU05(8<7ąΧcOl %ȮZߚWSAy^An2\#1)UvY`HjH x>b۽G,c QQ]䶵p/+.8t?BH] 2 " 3Z"GN-c,m~uK= q܂lP{z ) %1z6 ' ߚoOdN1VAM&7X.mWL2/`} )&~aKt,ozL>A(,(K.Mʪn0GUqFPU'yyJsoTʎ&"aJp8Mdz+yvCZT8̾776w)yvj7'ΓSa=B`]iTH"cos$?i l:mkprW5gj~cbX:yDU<γLʟK Q +B9E4 E2|-j P?ëRFʫ:|.yH.({m 9 \*LΩUE#A- C& -I`}⃕ӈ':Ƃ;-rbq篭4'^FB;P$Ԓ:x*R (|L`AU)} Nv<*@yzg/dLX2 P\2ߠMs7st*d@ ɵkdǣ'd]k@_`lBЎXv {~Eb j# 1vk%9KL e4Ϩ ]r# Qew`0fݺ4"Lbwk*03N#tPaeĹ6NhBrj^+RܖVcqkQXoEQu]_~Ҁ}xu-\t e1zƤX6]fiDqrDѝ$jިv喾 <,wb|02V1y?@gϙ?$B7VΓe:d_C=n d jR#k8Pڃ+=w0M8uK)}h9 ORP+o\K,"PtɜI)tu6[aM0(:F .VI!}iݲ M0.gS>7iߒ :h\LPZ3&I 1it D3#,s56*ПA^{ІJD.nUH\Ss}I17s 2U,J D(k {emIn4&L`}9IW|`{bC:p$;^ӭg<֙?ƥw?M^fݣZ-h+ %Ci5|Hjaђ?"ijhu.;tV] }v`DtPߌ^h\2UjC͇(Rx,fS05Nc'BQ U" WHS;mdQG<TE׹kT hN ؔjV0Al`W'D*Vr@"f[ln1\. IagϚ+ }=jjfu)U~ p?0fЊʢȄAm7f͌| 9ut . P ^"Syg [%2_HUDu" 01 Hpo<2̗ghuʡ-kNNnuV{7^ϛO:?*?GE?\?Oz!!Ɉ kOnȧa@ n_:sZduvZ:9~ңW!^(T2YG譞Br{+T|4OҨ'#ڒ27 [aZ0F|%0+ #lhl]&Ɔ" M -Tc6\0msgy |w~'=dp%.=u)lj<\TAE+u?oT w9z7<8e4B9\F~^reԇqa vߐzԚ)1琂yq&^- K H|7-ZP}eɤ"U n*sͧ>lJQ5;ޑLN?20&vvTOjuV׋# Zz{ bj]6}I5 >cAZtϘrUN4}%.,kxuX4q=nG6}L"O3o7wH vsᇁZbH-0Zu΀*JT]#v fƷL~!Щ.keKYYOxo-xӤQiiB)iBU}< /h3ؘ}?RXB@yk|,5M '3/($%* =%y; 5d*rx,,-:Y֠j Ėwʬ4VLt8~0DSc!ΐEy ?fCR7u?4_h9Vo?~ǰFf֐Iɥ)#ݼN+yCpƵE eӦ$4Tν"׊X֧Z"|s.[5u-%?}}%GQ|suE1(t>G 䦇wHԉi-P~Ee+$U+@*S&ಔҿPAQ)Xq^ѨV$Bbݢ/Lq=zڢI @ҏl{u,OlamUXvBTGac/LR!O!6a,>/,:Lʴb F6E.orst$Ud ݯdf QMRqa?!vTsLr" o@EBO5y^PUZck9Xx7*DpOoRIT* R?Kf l (B@O[JpNǬrG \͋15dO&5p;d:G#jpdV4x~z|yu¤zDsMQxmC~9;B_mZք)1vl$Tz/C.4.P+Rӫ בkw_2s;\-UCXБ@B.A'e8"[\(jZT|5pY%uw`;2W2in큈=4Ut[M"¿[ zڌZ"Hi0s@@Ql Nmޑ7}P N7^y+\;i \Q XL7aSn1};[AÌ4YM `F I@&'F֢lf٤'X:?|z3G*4'}UrTsO)ΒJXaoDz U*Y0.Kp@S\#̘3/ƒؤsz> jko$::Q;@"-<|uJ}@ "FW/i,9X/B< 6JZljs4ɰ!M~S4e peǭu1t; aM2@lZ=ҹMP KQQ&<#P٫u&brʵL |[*J$c1c KBבUsfCM4sNnEa]~dX{uc{v% wj,/r-ڷK=cJ5VjE$f u 9^"z f7 k2~@Dz{LqNՠ.6\!O\[j+k z.^Z \{u[vCzA`-s=엝nn˜2q̨$e eՓ?&> l Kb E\)Xk6ǷY¨Rj49Z誈2 P#iSxTkL/{EH@=>G,yluq7xڂ/a_𶪜mad`!J!*ڞG_loEQQ^FpCi\Z 'PUPi!cD&VrcR֘(ŻS JWMkJ RkE)56d~8\);{,qy] ؚ&PFՓQE]n sqcvF河A4VgHC)TY)K׬2I.39ژ?\F,4=ii(Qs W "i{n97 ށyH7&Mvqa}%,vgDJAIXVCh U͝*;Cc!yIz Nޢ:>Sm7r?':RΘqB;>MN­ Smdp&Rw4&+!lEE:U?B*jyC{>@mAY[z#._HOFTCi4y0 P,w'gוNMv\g S~8DHW0}fO-șN`rNHu7 /h~5S""+ \IFY YhkIئwDK) Z6xۈo6|K`$?AR EjФڞS7V2Y!v={+phZh"qQҢ'iOQg[v1O#28.Tcx\+d#̀mE~0C$w^uv ɻܨ`x +-q+fRj!V`ūw0QϱT:M ֛ͧBG4cf8#)v6zn /yL)5Fn"e*]ōKfsk_]ϙ ]{ ´ %4;:]ے%5ڱ'X/%6m5{[Ȏ)X'K㴭^yf}1P`hQjZ'zz bxLqux {σ`অ$-L@a;*g:ɼC;8r(,u"'7^ٌ/r f⹯4bF}-H TW7TwV5NgYVS-jj^aӱ4:.,rF%G 7<Ǝ a](?eA#dh`{Q{{1n/|_-RCߦ`ն{ D ]*rc'ooW5 ʕ`0ND15T$2g5_CSP@N?D-p ",H 8jL*1ь@^ x"Y˪&(("ׅ2wR:v pPl ؃o."*= 7SuGh/o+<(ߊugAtyD(盇3x'p -W)؍ a/?o*ZEz3(%|}`u9kF9'$ $-[ q#XO8`Iu2|OKi"&T#?7 V" yEaXDg=n^|iYp۰- : YGB^% &kG;҃CzLG,Ǔw;ۛdͦdN5F>uT^0%OD9@m$lS|ֺv("DYy8t9C/UiOue%}(3H ,ϖzR6iNjN1'Girז˅vNm>p(:A*0@6H;O]IugoPѿ_Hk^c#YtHIYq$VgLFNL%YpZ22iD lWڶؼ?Wsix@j"5jQZP f){F#5W~PTوGk㿌a9'Pj*Vqxe5w<}xg`_pA| i/MnQYN %F9G fűZQ9pM-LZ4q)- #m+,C1%4Tlo`s4o [!\sJ'! '̍ 8hlZ:Ԡ%ODMX@J|(J^ށ3:_`N&yl?pUcYzgρ4؛A Η㌸uQi6 &S|ĺΫMB%>'.}ͥz6њ4c25)$(oݘ a,GEd u]’RC>O։[)!l' v%̛DIex m}&>)$VɵpW6D}CA\[w7).$r0vKmp^OAέF.:aaw7`?[Q]BRc˒`ET}44{2AKqn wEA~Í_UhS(h@qnPx1;Mm PgH@!w%h1X'`O!(wMKD _Pm#5mHzrϼ\gOZ@l@XuXj*Cӆ gZ-+&p—w9{ 8j|)g#o*Q| Not[ —&׬u+Ca-۟|pCbj`<ѥ!Zh  V37lx&76(t7ad؞A˰w3fU}x3/#_|MvY#-۵XU.C'oRU[$n`ܴs3c;9*v40MR(kaj/|sO Bjq.FƆ<&Hl- 9U;,xRz& G?0'k3^%SJ}-&I2:G2a 0HbxBM35!]v#&u wwK"þݯg`|[?C{ቝ"dW>9@V DY5KgF *:=n{D [gh-Mrʐdn=If@/=TJ;}N:t@-z(?ݪt <ݖOg\@^B."]YQO4UgQ->_veNjO=UF %r`cLAQY泃O$ODpFcA1"@l?("jcTJ&Kpx*~vb})Mx+YǰS'X/ˍ%)`ؖFrRAjRT|i[2!@? ZsbZ'ĉ elZ!8s!򘺇i=Qꚹ&&u kIϳDzpU`[&ڠ $O0{h^ЙYW X4CMOw>_w1HӏH6<x'3"27kk*?0U؍ζm.QV2aN(#Rg1CpZ5%zS8-kVty.뮻3pFBHo8DkyW+{ok K-ހ};T#I l̥ME7Es1X`.*T3=;JhDTd+>}x8yx.֓ \y^FHGn/UD:{p'\̢Y?d+F!y9/c̩)aYZpYGs6סM?Q$QAv=n0`*UQ5!~ʿA]L( ^[)p# 9a];Ш]we @ԘGwZd0)J gK4} 4G *:ǰj `U SMU ǫ^XrIm  FhRF f'ZYyםe s$36s[V ܡ ?8|h(7)1KUZ_J8;~e.yޓs.o)T$K`ReUCvjO(bS gEUƱ, B֍Cx9BfܠP2ɎN9UyѦӓ WPeN;֑Uzm$Uz_.XlR,x54pە4k8j wƑd xqͲYېq9Lk(IL8ͲLݝ/.Gxwv}m7ZZ kbKny$X&ÝijV^R@%g[ 8c^.FoW+{8L I6-Q`ye Lg>ЭѿTUvEx2k mTN% 2ͭs+[,ZcU&ߺ*_ C~) 51߈坝]VjzWOjISJ*=JLV?Û\ b'<-gA8 jzJ6k~?db,3Pyr~L_,W\p:F)eF &P  tF$Xwep"æ jB |lii$?4isUa*2GljÇq1XIDMnT/($n/TN+^acw+c ͳho %Ye-[r?2Vl1DMSQB%P | w MģUu4K0U aEGѵf_ַ7QZwJZʰQpM/]e=/?t8 l5[3&&snE3]W{6MI^h (iJIMskjѲ07뎯%tc8\G]AGzN*'Rk88x,rB@|J"/iV9K:Ǫ-;=P[mjgdN! TJ L}(:"VgANC#.iy_JUrI qCO)/_&KU 2zkTܠ+>0bAn7+Rt3z:[q8Av6( sK1W%+2@G ct'gVU'wVח#V Up~5{^ծ4t VKCa@+:I^3psI/dI3ǩӉ!"Y6$񆯠2e)KdFT˔Olh0ʥ9M.6گSV101ЪmT<bi0A< Y`e()MXG!Uӵ_l)j3-4c3rv h1cY?z7w?)YpaoL{)v a.*&?!4tL:4+ -NmIS\m6;.M 5x';ӎ-~LB Y  !, *vREѐGZLĤ(Tc*)|Cuy6H#U\LKkR_p,Lߓe`U{5M zk[/j͔C) 6M/ݘENԝ5ilWwnf2)^=(/#ymP lya|~`Vgvȱ4R?J߻6 (6c{{t ֑jzu H?0vo''=5nf1' 'KTFQl`%+p!8j$Q7$l'lʉy A=uی ̃)"Έxj 1좩8;=m& !-dfg`ޖ*|gM9U^V/ KcC;:"ѾT1=qWЯExHۘ: 4uQW z @uXڸ>9g?"B 8K7mCW#_Sz]V;vjFm8\As&ZEp+3\ʡ?p(]dwr!' %fh[ѧ@O4juv.?z _OQ*ɏ^KU -Wh$*hm &7-dllSl+R}?>w݂ mm9oxq $=/KO'z,QãDU^2W *lx]XĎf2I*E,p-F x!D ^8opif?(4h4d.$̫UTU3r!v gHhi\˳ oe~ʰZŽ.gCNF &|G9epЬf.+NѣziV+ɭ|{]czWąPD }QtzwScd:μMP2.MHnw4F8@kMcdVM0f0 7w2#|ʸNI(eUJ+egBR(KGt(}月+J'.F!)p!*ްQfgށsip ,?†e(\0 (+~/|c&S˓n %%i-c׮TSk ~ۢԊ@z>ocg_3hh%*@BwLB_hUgL^&Rh #Dojeޠ,"QvOm!(gT[..Uʶj]"@Z gob6<|2*Gyr AojvL蘁PT *W_[fN`= %hʾ_@7U7~}A!&xp3YwA I,n ֖='KF?y!Rrqc[SS@2}n]:Q0WLAT,kT+tk6AqupW1g&'2 4KGyOzDyryRwQqwttǧ I[YDŽ u;v'^1@޳Fx(o~g,[ms qduߦܒ_95\{g4*(ԍKdyC/L-5h'?P-S` &[%))ܢ=Tp*5|WDͮTK1ڒOP ^ n֍QhYrKDBnɭ hWMO-=l +og ۲ 8ZC#~d|xCֿfȏ±z%IL/ 5_6W<䭬)xBc:φ "7h]e4,!Eq]:ަ o9׍S/n'opG2Z0H[ EC]LYkE$PW0nu2F!8䢴h~Qor!%co e m]-i:@ϑYJy]BKjUMq>-c[eCiX./eW~Q*+\O LЗ)8 Bo'kӴ;5 n8@I6 8t*ʢ@`Xπi6!lV%Eځ>9'oUֲOI.==5 |zj̺~' 0HUr!$R<jN`S^FYV/ 6Ա W{*@C=\&ה ^ewT6=4lo[Rlz_[jhs(r Í j^ÆnTF/{IH Λع!$z..$.i#~Asٌbf0];9EVC=o }=mۑeB1uhSGjT?DP` a%(\J 1:<{h9{j=[ͷj5j֌ih4(o^m>_'ԉ=y? Se|`g4m5s[':\Bw}'3~"lBpC+X`7d6^ax죕FFh l6ŖiH~u[}6\M +Ks >hYZY-O 5\.CJ3,.3ƪxؽk{)rH!=QfHih~K^Omʯ̂6ti&.*"|,>QxVJ $%O'^a{ps^o nǑ ~[H \ڠ$M;!rԹ|sGv,$mZWHDGEF$vnt+!H O2% ouC]5BLJ-twh%~ ?ia5$qK J!t1խev1-Kzm$ +UP0x:/H!r|>1J.M roM):k66fu}~XKMnUٹ[ޗ)C4^.#xVKy3#&S2HDW˾$!_^Ph')/B_dVc-KdC|4%su;&T%绢3k" Aq@x@>6M3Y#Y.{jw3?8mC)Q2-.68D^cҋ}r֔[<k) u/-j}Rԅ/a8B2\붋i`5B5,5.FMq ,G9LrsHfw{o]X%f Ϭhp}).5FH%8 7QTC"q=Bq% Z>9>1=D0 @R@fgrlkxaGdEIi5;&ѦyQC +ت/F.- ~2J{lU*и[vzĔpwJ"R_Ǘ2eܠ|Yg+=#  i\- 3=,g%!RDI xl>P̲-1v`_K6$/?gL0'LDx^̘K*/pXI,6zp1'=v"rsث4la&1+h1:( Vxю}cA~ G ^lef r5!)RHHYb8~nk/լdG#}Zs z\G {4yD}ye偱p3EÒjS^FV9' 3)≠yȢP\IF| YL*x$@!ݭl==u)ps#OUҵZQN{?e2ciz@H~\WCl0@Z;/h^%(cׄ yhcȕ" [9=b0tZ!;|yag(uZfrf'0TόD<~ 16Z02J@]~(O,[d7!EYW}m~Q  ZQ-Wϳ4jm'oyX*;"Aa(t;􆳂H|Lխ&# -ԮIm"P^!Yxi\O\R>'@ˍLҒ0,[ d..w4 t=fiG;e;Rgf,GQoM]O\ =0I]=\*NF p%2,V3 >x">) i)tuҎh8`G~DIDh]L`ꎑs0VNxWu7u(bjh_]X"]́C%zX H+uI=TKxn|K5\><oJ G)|~*=θł!@kwɧbC*Q%:翛v >9`#k0GjCH{zQ. ͓* {~@ 9"Skgt$;kZc<.ϋ(͒wuu^yb]υ~GGK"I `0zp nܤm ȄߟRhG:idz|Q_3qsWg"j}pJߪ l_%roYÌtf :!>}k$uASq)H}hyYͩN}~㋡oE[Hw@=Y\~QA JۆeձͽLP7"þV18FF-"4lX2>>fЕ~($B B(O rMnԈᤠ'3ͨvOL(L}~k%_FŃ|.lz&)"qs:3|Ge/ 5y3kZ,@SSWjp brx^>miصPFBaI;}d X/ X^&ßWΎ{WW,bP8]KĥI?N̨ ʧzsWB%G0['=%"C&7zR샳$#Zb&S<=yڒB\!{ue3o=J&r1XѯԦzdQAq}K+U).վ3(\9{v^ٰOKd#@ Y3sfbb榁-BΰЙ[S`\l&y$6 >(_^줂oBFJ2U%0 M(ruO+mr~gӬѫLL؈Aj"]8 si.DrE*>ˈ (ҧW8%D)j@hXf5ly)A<۩&Ou][@ֽ=;NU.9,FzU,GV%Ik 3@zXKO7ۡ沞0 ?:b4˫-$ 5GչVqID4qK18gBGf#;*@/UqRFgajd[i+Wvdn!q/t$,W<ШFTgJC,+ўӔxOY1!4Uٚ"gs۹q|T'^-*{bAiG?͹gLchli qa)b' OEEa5[V|~O@:,<EKr$q!J*4;H jgIzgW1ͣf5ޱD"ih/_OEw ,Q^3(K\.~cLɄ=W] 򃿢PůGqk)zə5/ykxs@*e$J?xV^*|@|Yl1 C:씾/rB$LYp//Nvså秀\Z9@[C |Ѵ3 U¸>=YNjG(c8[zA<S <%gjKUGN d>ͤjY:ۥpF)_fu-(PE M{ X<'ߩ9g<܆{EaN<FW=jQ2L{.rXVPy3;2WM $(h5F1t%.Jqmy$[^JB`'0p&lP4C¨P +D3Iض廓d߀?9`M#_ÇSbL!'rCև%Qh u+\,<(x °*tJJ>(he7vES}+LHL CnavW;D+RZ9͞Ge휵V!Dkwcm0S~ Y]&N͎c6 4SDdd'Y@y[VxgvP)pXzpբ\xK eqQBDaZo!7S{q>]":*LXqDCT}h3~Cb .ũ^Zry$O ŚJfv8\sAz'3ڞ)|kC_ik|Sc(4o .J3S6ApaװT.ű9|梲gA~TEls"\X!oOFg$/ޞْP`@Tf+ b1eOf,[Y`tT&#ɚM,v3n9pOFp{6T]-KQ-6'f6gdކ$hVO6RS֗0/+-xz=gOˌw(;)C\%)fWYHNYa^x3 #z,/YA e$^/0N_=,|}Mh]0`{u SlQR-zQPAa-.*GtW+}348+X\ycZ8'&{3.zp.*L}B.FPpY/Ǥ? ɒ)DvҼzF#RW"{)!t&w rnM  gz3Dt3d`tV.?И]HZӢ9'j_ٵ]l$wRAv尓fdǠFD#Sy7 x-.XB}۔h]m*ȆGm/yҾb'I)8f|$4D0y|kn<Ńg0tiUy!pQҠi-i5`QNs6.eZ Ǻ(h?hJ1"D&wbnݧolA6 K61vo+*0[6~ ˎFZg+ֽ Ѡb@@<$BQ܄qh`4 ۀX/RK(1YYqJL`ƞǸ:E&=qMxH0HOx4*X%>} M0.,1Qt&#2Ptmny OGEk\'_~ϣS7#Ȍg5y&SW~*3݄MTv*jXڎBN.m2n:)q+a~ACk9x+' :V;M&i(gƸIԂXowec+*8)M`qBn4Rpr*~X< wR>O!Pfd^+7#A 4>@_QrGqp}/n=Rd9⯑|͕@[Uh1GYP?7A2kG`1[)JEN"L.rŮ.Q Ʋ_ >H8kn7$"$$_q`])gi~LW5h<n@6}X)g/NB52Xze,VD6+eĊK˄rSwѓz<GF<+>+tExWd4,8~HAK5إ v8Z^pxC-I1&=+`gVYoNSЕ*tFWY2J>PEHrk_>S;Ai6bc@2oh2L;X9RLʘ?[\d)`PffT " m2>S*(M ^Q$x1!bAyW;ֆBP0a PwQ֓g˙ZShOIuw*\Xc޳4VYDCPqAxC*K :5T\JvFNzpruSq4gR>YʖV -)>nSo,I*[2dvEK{(jVt+bLQo7? '!.T.9tx|W*e'r~?X>T{1P.5PJ 8 )UB-)68D huTr,lk+$^':!nͽo~;&f&eotd(|^Ķ?1OΫ~ ߨ&{7{!mQB%u3D'/!nȽ7ׂڰ,篭O4bķ.S=fC5w44f\U04N66_WȤCT:G}|+~Vݎ`nf1o+ !D^ 'i1?@ppd6SɊ*n> \%)t?xQ VM0pS"Y+"1FB[t W4(~hir,>ҝr8#v/ﯲ6&B[id^R;4܂m]coOTtMtM,ɬqrb~~&MtQ摝/⩵B?LO򈌐Q:BoʣV17'\@f7Vh&޾+Jle>gIf1Zw;Y M'7hF34пlwYy ݕqTW0 W*BUVJ ߓh%a-Λ*4Yߝc k/zf0mq;_^a~J ezVbPjhyźP0:xgp湋@%(_a=vŒjؘF j:,A|Oش tP I"ݐ)} c:c!^ԍ^"$iҷ1H\Y*/0hH3^S6vT;mERYPs_$kA%LV7`V5!MM<+|KW9:53K \;ilne9%eyK:e*CwM:ʓKG&z ͣdjp[ =cvyd BlMP7Bٗ]JHЧS8p-lj]Ct;>?o?܏snQNWǚ$a74$bbpKTSlI C?YF_o),,\LF?S:FWMcbC/\oV԰{Bx5wˇkD L+X5IKzjT2]3oX#TXD^hpJzg;7R+- Qc,:5Ţ{o]s-cP[˜[3gk2XYdy˯읕b 5y[iCRf //<>E_+=ˇg*/Ck!k .2?>;=Ȃ{ |[psJfb{k$&lby:lEIU2(O[ۢwQ P <I4]W?$DW}%md,\V쵮t-UGxX U| Eە>Hfmv֐ip/"vR6+d%"8ab8f>4˫;-b0k94/#Qm `g(VWBіUUjYnuH#e]THPGP/1b'7С&{N(_UR$:wϞg:^R)إ'cLcf/ZXksNĵnՄ2_#57+h7 }~R9[0I]Npxl[<3 |؜BcWj}%Cy !Uz-Fm0dz~%ފ$y@0C6PѾ?O3|"eI5;xe0xV%cZ]AY񵥉X{B6zD>Hn$ތT.7n[K;rBB~6IָtBauq]$ Gk 7>iʤ:\Zdrm}#i3´jJ}GLTG-.fT tš9;)7F= D^jT@c-<_R/,ʐpc2t1Z5DSeo-ީpSDZN%)klǖj>P}m9>XBg8HxYɽOKxoZo.nq~\.)q+U~ H5uNd҈X: .TQV%<$(Ќ ԦzAZsN({2僽>*E7X`a9U.t6p("l@~&w󗗪Lmwm 7{:~mĘv@Fk(w,!K\;c+I-N;2.TtvHmۺ C8C%ݸpO'g[0ˡg(K;+6d~Vd|MN 1Ibu$xU(s9I7y@XZؠ@h`h!8S1|IA]sť bIu;P! I9VޔTcO ߦj a4>Z[]4`Ԁ|vQ c`T>N=فǗwBB7%Ktx]&}H}Z`b}c,BZkk26wMޒKu|L?wb*w'Gwoi K0[Ukm鲟U/}\UmCUMHJ;2P9ZdK{Ft!fū>ڭ^OL53;ճz)h^ӊeBԻ8%!9lQ%/B{ᤏ 6-Ui‰tv+1s-:0Tk$49Aך /|s5 ߞQbudZw"v$J3Mb킐^ ><]ѬGN5RF^${9k*,q|~`w>>MFkfXJ7eByS WV/4AE ;u]9l U)HD\ώu;dYFLb};,):WL&@e u>qG :3\x65ROim3:ǚT1=baPKܹ4B2'ޞ T*\90˳{ Y´5kc`f J|4mh7Z8ii07`DTDAڥ8e((EM|e-Qō1q+~IĐbW̼(ިb Uwڊ9WLu=~f+* 9>2jUWX`)Pm"FMP>Qr50Bf`$Sj7/StRzP.~MXo֟{n\e͚@e8zXsPڍK3NX_*9G'~9ns_MAV%ںaS =VX ཥm>^R]o$ M(vh)ttF`i-l7y!tYV<5P,0FȫTt lWf`A bè5:U.WY4[sO Mҷ=et6-yyx٫YJ̐9>fDa}/u; a@Q=Q`ګ?TY )WH {ȶ ُkaQH3A1mBN}7s?ղgY+SUzoJ狘gEY:=}70oL!뱪zIcݶ :mRV4Ե9>zlܳ!/Kv\q\y`تwqqpbz4ӎC֩= *jæ0LH$-l0{N.Sw?[[P޽/m󕧜Y(sL9׾ ՒgY:?%(bwK .Lyu܇qQE\ʡprn ˏDOD @p}q3ydX͆Es`Am= bF;}[xX4E(DphM^I$P:C7yF*c|'W MElAXƶKT›YbLb y۲QcM"pkdUPU ZɓTY 9̮ ֥|v_4;!}n ;Mi[勽ak;.x.hvt 2`h;V$qˈ,Od~NwFKWRlQdP qfԝZ*N[5 ȪRt:SU9\p| $BLz[ƮI' 4#LRs+پY-.x~{bJn]U y N"k^[hfJV Ѿ82ka om b@-UOieWO/dV:A{CLFo\;X$MX')Qe9vKd^Ȇ[f(Drl, GLoǧp4D>z{= i6bPʷC|q4zxV"g"c?I;_$/s/ǨhuaK.`9`huVM#['s*6 +XfCPlK:#2BpN6rv"!vbD$4ٍ}0AO{/ĉ_EZ_>[dia-Tz{ھ=e 9^C-v$WŖ6PJ%!+/`rOk"-bp8mUU,fE hW)Q$s:­WSM@L xǶ פ+hB4^0:k$GKQ&ǎmdw䂹kjqW1Ne8ָ0 Bi{kH,CD>كZ` }Sxr:q{ʸ@M_.+Dz%~0Q ՠT9Z7e;ՃE {y05Ǎe5)  䒨/1A,5Dr@coT_ ٠%ls,K-S¸~ёFM)RJ5[ܼl eٔgcERNdsEf~ociC )6"رH rN T]ҐoVD/p|k^gCk3݂X5DҗCL'|M Qƺ`|^9ocArV'Bx,SD*D_o|%K. k.܏Bݻ,B3yg].!Ƞo pj Un|HؖxetL?M]U YQi-8*ꦈZf<o%v?GKj> O'JS)E0£(9,t%6ppKV#6vnŢLX| p 9Ev݀!w8UͯPK}xȬ`7~b{+$ 5V:=z ۫Ψ=Gr>BZ#B / Fr={CxQ(fwYҙ{Y*@8%7@ P:{+/X}saNm66qy0TuwSsR0@<&pJ 0""2mLZp! %@LX$kC_ ç2sR30]ԄTת#K;W 'MQwMjޅ!L=lV]y%lU~[lPV }Ǒ%!Bׂa7 . V jĭ׼O񎊓S*]PkE]`76g,؞E36: ` "wJYkHDC!s& 7"k xofק~p~C!=r\2|h WF10Gw|^ƆjR­9btBQ0}Âz P.Q!.My;tn·:ǯ41dxu6A]$ǀN;,10h[s`A%ϱY%JC۶hj<~o(?g:GXFTT}YM.Tg(f.R@Pr9SPkTPi3{AZ l1RZ).2Oc# 8< IN[WPY+;8ϴr3L⌼848'k%gBck&j9X@>Dj5x\z>`SLdpw.%,E:ܩ94rP|ʥ6T7fʢ&8p&mдׅ tl 9 ?8đ`8/pĘ}Ex$ kL&?9Woo~P+[!cTg\ܓ "\o`' [XbV/ۡ?ȻSFc s2 G&-Pn0_Aӫ%!s"1:JE EٓVoY42nh*`RxX/6<B 5,זFW5U ϯ+{ݥgsF%=M{Ğ̉z}T M!>s'"[Oȇ+?ЖbS8:O#f֕g-먄P~:ɇV^ !,t,  Z~v]hME84_;XN2uiJlSk8~xH'H^t*BVP6OIdp;/1x 4z ZVpS6N ˓8BG^W1EV($8NW#S<#U^2uWO 9,NK|t_Y֔vlu^ pm [Л4VEr)sa!M/0d=pC/OܱNy<4\M7|s7h=xL |H8]?um{XVS|u0pn|=*h*t,(^pGJa2t3t؊Z+}4Sm]WQ nzI@f~G<@p*' tGS #P2@BwYQ~a}CBI笓?=}Ω&|ӧﻋuNҀ1Dq]uʛ5zC?*-oc{>gHgxL0*PuKw^BL^[!:86Ewo`m}@3w ؐ;C;|!7+/,xp]pi휈$kE LV տ+2ˣt|>??.Mmn[2>=cI(I:p5Z=(^Z<ƭ7*wf*&}7*"Y7݄emsv T8“6Z],r34K݌cs]oncٰ¶Y=yY'-ģ`Ӣ']>k'g$´5?&SR=A" ?9ѓ8~tD1f^;~e`%L~(-y .?⤷ ۈ%H#Uº*Ef@ 1] ~<E/. Eq_1An˷~GHMgk/xb;a"!pu lN=Ihr1{;.Wr@L(QoD mBNc] N#xQzW2Fӆø~]_Fs>V8TaxK v.M]O"eGGșo~ ^I.:H'YMSD>>sw%*5-AS! oFf%jf2 (0ְg|(egE"-t6=^('#r^ O="AdQЛ௴Bi>Ȭa<VEQW'K>e4lV2o߳' Ϝ_$b ?Tc$(:q zd<Gn2U/zSk8ɸ0Ղי΃홥Ƞ{cj?XO+N4SYuQ E;T|tc@*-qjwtPYac`z!R =(Y^xvu@s0kt&4@Wf*1m0fIpNon{硄~7\4g®M@52)4Hѩ2JTkbhI]VC/iiQWNu›-WEݮ!d@|>|ia}0Q@6Ec VdyktIt1Q%NܑLmh!}71t|qWcMIPjͱ.ż־m.s%Sl@nQ׶ $d{v9. 8#3!R=f ArmA!X!~N]L(nLjp-81-gN@ l}b?yg]V#ԽY}6vF#$ &.\6-Dߝ*<2 t2OTz Ύ,rf\eX+ڲ.;9Ŷ/NG aB;86l6:vD:+`uMz/W'fPd P_6a1cpqpUl ;xٰ5w+"L\8"n}(SDlԗL\7;lf)U#^cSTpdRMTOQ"5ㄧeY.qlRs%!tpq c6LE/!y>؉ud ȭk;9T:ty[Ґ `ku*9g!\!gG`\FEUؘ~;'@ -k1):)O)r/@dgLMCN r19C} zE[ۚUV|"]AΡ`HЃFsh?@c6:2EPQcHdn%xa* LvZ)Ƽiǥ-j\EOcZ/%:xhZ@_eSxmSNv2{d/߁ 9:BcȽb/Ӈ*HS<{綄=W а-)}Ç`ujF z3ϻԊ7c*3 .*_UN79D e#|'!כ ÜHqF} 7:k^.Ըz6%3~6hH; 3cNjy]_/.)yM*^@V\K`#6+?-2RȞJ2Q PKdo+a6ִmjDž2VRKQ.ܝ>kn򤿄h%(]Se#\2JC蓾xY2FT=m9f\1EF&[+BƦo%`6 qAyFHa@n`z(4BO!ă};d(ќ1S/Q-ؑNCA͟§Sɻށ]c&%4{a;9b&VPC$?~[\;9@0_2ėDb x͚%v=ʕH`mCaG#ҒGYrnr zH'n[B-2F3{LO?XT&7O++"p 9]v'I?%wQ>F~d5B 9,`G|=Wa[$Rk65#:B?{Ui1q5P(hL,R*su$R _XRx^Ix?>lrӼb}|2 ,`|L'd/P[b6&V$ cX=;*if%Z^{}܁xNj\WK *x9%cY3Vfq^`Gvp8mZZ\¡'aV3l|,7⽳AVM] H$ 1y摘KU/I^zW'{7IS{GyU|?#t2MXBoPz+j< p ȼ"*1hX ̞uM޹hoP;T|S0GOPQk=!yb.@+c uֿ]CiNtt&g`mNS]X>u?\;yѳWscx+V5ځzV/Q\{*IR#&(nȺoFr1K05o1f1*NCApfN:ZvzژqjO2k$:V!Rhoih|,VM8Ba=WƬ+ܝAG%3;H2ۓwͥnU*oRmeg?YlgdWDR|1v̓Ila@{§T(w[M\:"{N}ZM4}]8pvHp01?}8exd٥IF}-T+r'+[CM}K J0ry-[#$n>$lJ3,ey<.}NP6zLA+v)^*1[~cTgy ~uNP: Dק{;sm#) kK.վN풅TiF}FW E;hOH%3䧬(+ +-IUL&r4Gg0ɰtưyBpG|xxoFvHڄ))*S3"Y;ԖhHN_Tb (y͂±:³I&zAEBsDsڞqm>曮9=X]3;**1FXhW}DX1EɿrS{ՉIxv4{1%t dUB [xr{dl1J&2]{ĉ"rkhJ|+um &sL@|Q aW>dJC?n9Ħ[L1|C#yenmC*G_u> `N\AMy!6ɸ|C(Wo÷ު Iit~!L2Euu=0kEWN]WbJO 3L,cuw`v}dj>U_?>W (˃g +ȯ{\{[r E#J<2v TuclɲLdNPhCsYMD )m:Ynx`^;Ib/Uyt!WxЈAc{̞4b_D}@'7tSY_h‚! EX#6p GȂ,KyXIM'VJ,;Օ<%U>_Wz/q9 DZU+V2jyt}ϟe+{<vKd+q YFWQk>,T|4!j*?|5 'X청c?QI]SfM6ɮ3B,IY 8{j7ւ|@l鏝`S r17GhlF٘P!Od(G ؽZ{s;l(5D[S()$4uSq67Y% zfl5>-'`Rs;EaxƂHp:{~<{N%qlRHd H%" Apbn|@+NX{c#!N7.mNwzRML| @yP;i 1 CKoLxM?9Җ%PrmUaYDcm=d_0A}0k-V2+%w?`8W,aɯ DӶ{yX^ `&JT-Lك騅ܙ$tfNdi a4XC[u\꺰wy\dL_J] &vBQ^vute"(z|"(Jƫw)HfOI 6'Eġ$n_pVyNrWW޵yj&@w,/*?A ²̢9XL;q<7L^yXlI;jq['=Djagjp4=.`KlzS3Ő$>zxBMUgGvrJW f󘧨ܓi:>ׇT*Wk*tZsumq-Ɍ977bĿ}Ҟ'.څWG U\.J'G} tS&.GSxEέTmGMaظ5M0L&{Jo S5na+:W@T|=,g]l7^& !hTpn?47ytSH_W^%Piz|k;ǿxE}Nt/S"J:ܮM\ vfiȀH'#-p8#*nE$2(ՑFD+q, ՎƦ-7vT+m!i[EqbN?x8.;soU 9XܻF@[78a ɽx,sdL_i ?CW-H˱.u%y1\fxU EmwX7Խ3|z$D7 -ϒ"wҮHXUBX#O`+f[\3p{Dhpq?],ϗ{Ż#Qfٰȿ`c LnfZݶVC|JY5_q@z! -YlC긯D]2'Xe+5HeB~@c(]P4`a͓}4Ul-?=m< XD]Tjbmژqzo}4ۚK=@&:#4HxuG[0+,TUJWA޴)読ZsDDbtVD8&7Խz2jĕK>E~ɚXDۀv$Ny,ɢqwr9U{-΅iJ<`}UwF=x{8\3wCU QI֤qB(f.ύBѽб R^GcA+LQX`Ga.T'9p@Ya>B]j O'\oDڸ(~.B7R`{ilP&J*hD-+w6cl_]ԭ;tf9c~x J#]gFSV3%?<]0^#ߖ I "\_u:N:lG|T>@Z Ħ /B%2Gcl+D' y AXm^"2wT$(«5#yď ?DB0$-z~}q[ }#7hۼ!Lh)lLCR $j"4(?H#*?@5qgdS:wq|\67::WxEfz;[#;:0-CZuZٌw,ERAV4i!/psѯ8R wKdr6iσ졺qT|iS=o'd+;KqiJ ` 8Ar,ʅzB~d|0Ru!F`qoD3 !K0/Xs;0|e\p"AMXЦל*ۖkvmE0$fT7LH⊙j 4uZ0Gs=UCB O(Eea-<xʆj:7+fm6x fօE>SX49C㤔L5(֧pqn]iuj>E:b-UlDuKnjTYehBvYrV\<<cʅq֏{S[5AZ~R\ƴF(|ĬN׵ŋϜLصWuy۽yT ʨu߃cل /W΁,+ l8*/<CWN&SM&5I;F?ې4IȶBC OšޫֳCXQ:Qu]Eb9#ÞGtN29F5b> @ R|j֌g"ۙ$F&J{ً :8A'T7c> ]>UzѰyT2YΥSB69*qΡѵD2 贕9 3:oe,#.b8dR+O c;J?=GG+M1Los6mr(HejLǍ ZR)-|agoM bBP7$YzXT#jBWo Yz_v =]TT)G6Ahd('"M6/b"w& >|c 0*_LKyA`3"麧#U HZYECm2B|(ߓ=C]/2EF鬇vM̮x-C:qG>'qL PtÊoW3c\CVloKpdM]Dnp I?v>' r魖p;aķey/ t;)IFSmc[Vہ;@VHpy,"!腗Ga\:Ehw M4::΅0P=Uj &r[HZ8+rLCO.;,[:f!=˩J{7TgiQYq=lI'A=bZ~q؆x-$ ||GpÁ%ZЏGqF~\oy\++@NIUsxƉ @RDSBnBk^(UcO?gF/羥;Y&Ĥ,t4e~qQDmE^G"{LЛ!Qt?ZG }{|F:|aFGr8$dYSy,N[G2Sd~L=]J1EG#?rn$? tbE98yP;8OfZ7D٢b"P!%$>~&J/u;)ayQpI/]9ge}p=[pCa{at2 Qo ,)x{ŶFܨ`ĘⰊ9TBNE]IPν-*/wO$KZ,w# {rt0:btRJ|S1rM0!;tw;fr<1pXJt^ T%0ِ[%a9E@JW_<  +lQ(Lqh7]([⃡d=s¹dv(UI֤ лS0PT!ޤa L,BQ ^P*T+~^OpA|'9^v,М]Gġ2'[niY#\0֜XwQ%N,Nof r.?k]\,}.D G<ݶD3g D$5IĤRQȅdm 72S(yOo@<΀y[cw)tć]H I ތ&\Ң9W!ie'w&8d d-tqgŖ9[|3}jvf:E^ȵs!j#?|gw(lCY\;GoyDo!ҚZ)ymt4{XCG%'B-PcGǕ\[MSCGp¿|S2Iҳβ_Tb^G4ڞfv#œ?E[LByE٥ډMLO-iI%+(Ɍs`u?'4 vi0ִFH1SZMQKoPtS[N g$gkthUӜSHUc/_<5znk4qt* p ^`|#p =!OaL79@_L*Ɖ§Y2T@u썄By*c>~v븦%(z Oh&JA,{MMǷtZ$dr PF=#JAyP|iѤa1Q;R @(xM&C:4τԕ2Qk_/aV> Md9}aeu]CBj)F67wo1BǑ.ZyL7Эrp~Šڅo+K=2} I ;kdpk=6lFl4H{9Ӿ S P>}{.Y[ty19̞\~=aF~X3ո8QuHV&ީ9W952TMԨ6ߊ z$b:m@Hgӂ"VXėL2yzN ܓLJH_:m_[b@oZB`K^ÙO&8wb&ҘTHn!5*N 40&R`AZn 8Okvc2 Zs OғBmd"T"Oh2HWs-s$w%oj"x,=I)|'p{k2*{\[Kq} p]/z1xjCm[sWl1!} zy({C 1UIfj??}_%!U M'cJ=3QUvGS+6uTE>1FROOg^(^NH1:[I^gV=6uTJƺ뒬2GfKȇ,6WCmMx?ޡ )Diaxl ԱR&:fjR a&s*6roIROouAy|FlƅBaӲNH,C pCP( XёңP.)>̑ik]2+^ M-.1*o sPYBcP=F!xPjL[lO6wl!r"DtjiLr V:^yC'];5S?iz|sNtiA} ú"%zR-!Ut$Љ/Q_sYunYHCV9AAse,0x"hPxzUu)m@Lp[s'SUGCjguuK>.L4~նls0C)܏ź4P^#9;ұvq'OnNN[!BP`-QMO CfGQ E ZrL9$Ol -jiVpNLD0T*t/ǂ2~۰ 7Qp3Z_SCfZ}o3tC'UO:;t:vMNS "pcd1vύŏ{;4; Y3 9L.O P J_VX 0cG2 7KQЭƬΈAMĀ)[gݡrb >|9Bj[=M* gCĽg;tL^ҭӅFT!0{9_ !w6mhS NCr@sst Pbh?D҉ df{M5" ̈́EDP}^#ھps0.IVF:֊@3kiֺT L C2,ԟ*,я}բ @P doڻj0L=kxn0u" rlg+0ɩ+#t3\>RoU=c`mY+3zTT! 1(X됗ОKdkEZ0Wa/ܝ[&W?4oJy"L,/JV۩i1 Y6RbkH8s[dX2p})Oթv*B Ŧf ]|18^ ԃz3u;ǮcS-ԁ_(/#+ԩ^"hWN\ںQ٦ۧrrkV>GZ5Z(BWoj5H9G[3e!m)hѴꦩ[t.Uv BzhCYiKQ&Pr\ဲvS29pp.wYB DŽfU3cŮ)UB\bHƔ$e1SAeMpݰ#; ^/@{ł '3 _nHWk@ <.t.mvE)ie T-feI/Z;L[X;P>^ 84s(_>`ˆ`k-Я%w%?S0Z/sER]Hr7 uLЃM1y5.F1~ D!aW۹'Wv@ӹ7F} ɱ1SjM>6h2R {Tzv(Y8uN++59UہEj: =d9K_cI+HoNPYW)I=O H S myhTy:*QDĘM&2J+np#Ѯ`}.R苏R̵ۜS̚)EF Cv$rb<^0C ބ? 5Z Luй1y 7Ac6oٳ6$ük$FXoJ*/gi}׼9}-["1/p,b."ܡ@5[VXE S]Y^n:/"xq)3G"_Rۤ+ϫxXLK`&>VF?lt`ЧDCI m㿺D\m ei/]'tC6KkGTwwY8?XFlݸV8MAwײD6n+DN\ܭ]O;P069uh%PYB[H]q" J߆KۣrW8$ u 5Xu Z&ȒΜ6GP\dETyGEe ی=ќ luÅ@8 Ćc.F ux(t:Ԧq51s{[#)4m Jj˩4O\B1D ~69m[~zTd()|YUEpr0A"iK|F`n_K@XURM(KhZ.1O4IY5SqqkI/y$Bq/_!`&)VU@\y ob8\;@T$#aqJ/0 6'$dX9 M=fXr'hJRj 1SE"V%I#iJiZ ?` :画p6˃ݽynI0ݚ?EsZ*z]fD _h^6_Fyݽam f8bqĦ8T-ge3GQJ J3 mO!*cڇO N=!if04?:1K+Y |MqP Fd,[ h4#{#5g;GI>s~#JW' dx-5uBAKG[{RHgkoN#Xw'lб[=\Ͳ&t/@A@)g>5CyGkpE;;X !<Oz#_᭺Մ$o\L]OѼxNIX#4u /Tވ׶M~'M)>iɁ^'E^-oO_MbVyPT Bu$Z˹@1!lxQLD|>\$*8_1ᆩrAc];K7;a I \[2~(Er_WҁdGDhItsbxiX@&ۢ+t &mϊ>0{-cYj[)q@e,?|AGO_v|YbfCy)3$Bͣ`[qq& )@* "F5{q -4 KU:w~;h0iG2 l@:O Ì4Od&-=ی { yiNBf;x oԷģ-N`T+/QꚄn uE;>{G"I.KX }^sh.>=\6PO#4*ؘ.cRUs2#"sdP~#^e6jFh/#ҷjćV46J ۭ?/bZo^ ytݛW"<=rzT?sŰ/Idpե"}ihq}Zsi$)j2)@z[*PyAIߝ&g)u-lZq :M]Vwsڂy'Z0GU,Ass9iF]7wVDZ\_`rJ.x?aنqz[ZoASf0S>,w*M/$(I??JX`Pŕ)Y+A[L;[=0:sI?)CbZhɃhgeiX]{Fu$SU3C/o9eG'Pwr@P KV6apRp8i>}ȱaE cCT_ŋ0 UhilF9H6=1`x- G4C07d9E*ݎ% Jt1߾4P5AZO LssG@Aۈ2pꚻNwrJ5pFL9J줉NBx7hQ]l8/nk~BHU FDP[.b3m!=`a{_.*T9%"_eY,rta3[V5| xsV}=/" 3Crfl{_7#v`_ \r/ή;"P<ËL&ک;8IvnSEWﶳ 9+W#k7GramB5o7^ЦH.y $ƣĶ؋ђZmzfPabۻcy N!)2ȩrHٝ'ݸL.,|Mt~Хu߂`)g3$hCKW^OLfaAtl ;NY™]o1qdcn%%7#C :…FtesW#p:~YDY(ЗmQeL >D] 1oEiIT!h!m'I"JbyE=++FاC Lo 4M͈KZ`+을 $VjHg^"^(~!M._H8&9LKu;*'p^M[2cA:Էkyu7P*^qV[\y8Y]Mt {.\㥮(s7rL)c.` vw>؏r$0viɇ^G!YVE5N3{.^sCX/WUU}%VI'Uz\%.\i(<=eBcO񩌠- L3NDVZ&Ƈ ǖt_n,?etL[`bZkH?iFԭAfId[yhCQCO@L#Nx Qo}D鳐0 xr 5bHjrf!*P緿SkdԀ+&=F g 0I*[τzdӺt?l˯뒛Auv2v~]~u2 'XK9AW z:e(ΪGwmǁ[VRua2Pה~H݀k(k[o)(d`3 rC Џ@k`86~HSD$>۔V2do XQABy@j MAWӎ+ eɮkNEC1ӧ|:32ópGwpzAAMgί&|u(bzWnYp]a.'Q3~5:~dZ5ZpudNW?$324Q o!^ŮZ;-Z|ɜ4n^&\حdWGV9$6L ]}]QΑC<[{LX'1TQix"XknN׌2-/.wD:TXt@"_4(BꗭO\:@ٟV< Gl Vne>ok'r4KU"`1A !mcvׯgF23u@ X)rϬEjL0)#- Lxؘ~܋쒹^R09&^,>Z) [i/E.M?X&.fJcl`üpJk4BqyxįYqս{؛&9ux2Hs װd=TB!M F.٠orhP#0~f\wX@|F1X-oO…9$(H[t=T\P|9ۨ?t)7b741΍bi6es<~ jG% #of>[AO÷;j U9Z&˳#PɃ`k.XJJ;H}g5Ϲ{O5[5c)՝>w[.}/1A 7"NwӒReN&AZ N65B;[@XҾ?6 9A !cͽtBFmdn .--"SQ?W+d"\x<`Dw!`В&RqnяgFhųC3P(Et1+3WH=şmWN +x?8CbpM;8.ϨV=1&Q/:ܦ:e 2RE̸m% ÞK z(Ow&gY!H.WNA USY3>Xf(%sC$i]/QX;e^q`*W5*?d/L$ݫ%J~0ɫՀW^>` /Lztā1|[@=)kgOqHbR`rn~AS3Lq)k?)+Br9/2#ЋQi>;`.s&ɛvUIxF~pK!yH׆^9;)V O>i{>W.C%q0hsN/Bj:V$-eQbV螈`:m%9 pgN_{γ8Weluq q7&e_9^&[^@8_8P0;[wB8퓍G N9)M`VGFr_l(ܞ>(#@`RkY4~&b5~:,D&4L(Tv)Mo(}\:V1,Ӯ?h$1*Y&'JuTA/Z u2Xږ`ܲ=> |ϕRA# a[WT ~+WBԛ@F 5d-<7xNTQn:QPYgM);yݬ(uFvO<C7JW2>79H^њDZ`X1x`[". [mAY" OB%Z<Šc JM*A'_)1DCe¦լ+/mx-'8TLy-iXAw*I"fUooVZM?Y |m̱F]<|j\R==DbH<̶AdVvXӽVI78[!HM~wƜd%/y|˂s+Hz3-$x3VԒo4Oڶ99qg3)1k7BS|Q= ~VKH0kLWZa J~6;oKpN lim"H'T=Lze' C*U097zg04olnՔp>{u+4|]j/pڝAH_]ǥLHŀꋮz&,3}}$1nu_~Y}@izner:YKzS^XmbjTX?cX=^A-'/_?$ecgu)IWvf~ҟ{Lc#zBL^BҰ{d-ErOL8,1z=mJ@nQn[aǼk\z(js#H ʶc-RF(f*SO DBI `V4 ]]pH SԊ`8c>bS!LOقSvOtvqm/b3a0V!!l#*w1pAh-p96NM,Laޕf'}T=x7v}eJ,b- %-bTl/e_qRr:V2}bgBq082̛Q-)Z'T)Blh?^(a`Am[{Q'sːCrIAY̛6Հn4A0n_>L %sa<.5i{B7-\ ƭbqL9h|IʯCɵM#7MSJ:Dz/=j!yA7|Vn 5~&,Ӕ|3S5EeW 6j%5Cϊ$&fl,pPJj.?MƼ$r&Ϋ^\&nµ߰D#4-Ζ0wgm@1֗ ͠KNvE`ZM*;Ë@[#f|\2%Z ׄje4&_ ^ʙ"E2RZ1̚¡N2z^ә&0kڥX ;?0vDȲS^D;mZ=ځm`V(&׹ [B`>>imsc4RߘF rVwOPܡBpSBBh8 |,Fvȭ׿*bi:C@ӲcX rEao` /X40rtlOJ~.Xb^<1(`x'^i;ݹ@ჃKtC)t$ 9$; 3<ml4 Y6_$vc }RBv٪h|7:4w$?nw^Ǡ×OQ:9ΤPxnGe}*fmHR3'kKrqKzSI"ZچS8ύ r!ke:|LOhM )ߗ9G($1;lB\f.7ݸ #,X=%Q4(џ}0[ח~Yo;!$v0u:Gv;pPE> MyWG!AA9siѷh2Z;Kyt0i9 @2WmTB-0/ {nVN~qF+AXq{` X 7dN,*k%Ob4'tQֹ?跬|? (yqʫ2!MPcJkADLurK%"u{uwMQ lDi_v8)$gin:LXPWE4z=H Bw_~-~h٣K\kEŤqpk 9q}k:DelvNn \I-KdR8TKEVBhmWtL}GѸ$.#Q2ft:*-2W=0~OfDk4]N;tz4bh[,S2wQ5eu&\UᠹLmUs 7ZȐED१(K-,P>Įo"ӕO-~%4ҍ =>}I 7/'eqVS_Ȭ(LZ{80e,B= Q_0ͺ@.K1NH 113B;1ǁ&7٬;Q;͎sʄvMx_E)PN]I?]Xr\8?V(A;)4stI.6g geVlM@",Ya[lHL?si˸d[sl/ّeeZOWw 8r5GnzO ]e@w訠wvSbRnKhA8|d?Rh. `M0]At4P[*"{b4+PARJWxvi6u>Tyqc ٩m҂|6A ${+c_UxR%$4+!ÊZO:}$nû̫X $gR*1}KLw8YHӴW>-ĹTr*[ Ė2 Ejl&m턘;o:!$Adۆz`C`N!ݞHDo&EB]SC_:+Zn7]8 xD,>(y[&`GDkeX#6sǬz[Knrϓ\':'ҝVhvH$S- 1x$4dX;`L7bԾG`v(dsFNV4>Eob$ ej_* %|Bq[:r_ۚ7?J!!4{vJy1j*԰\YZ}kv< TѕkcR.Ӈ|d<}q3g_vv3~,!%cr5𐙧ڴp݆ 0aIxm-٫NybyUR73PD|4 `)׳Fx >?-aېx=D:0#3{.w7ZhJ >1a(~EagC`)ʉ#Fs>MQ2TK<LY48{j;vUrFN=1y}bN|-5" O\G'{{ VJ[kda[\uFu3C 0|o""I"`xM4 K̮{ԌB=(ZK{ހx&1XEHAL ռXw?gt7;ٖj464#:{ï6G?'&%ݿwOlqPoallNp/ "GUXlc='GJa$iB`筽v7$EA!A:)Vvx5/Ⓦ#*< }"jWN7πRb^ʁb'Y/l?蝟^vMs[:U葸Qy#yO˒+E>읗*MU|ݞ,!*m׋@Q75/bx&cj?'¸8bS,_AlrbtSW@stۏ7!m k ݼUJ/uT\/$.F392z\囯}WqZYr dZ,pN/$@bHX\gqr;#x AF: v" q/SJk) A\k!l-C@,@EEw*E Ȑ7qCGb { /λG:>b4?0íP-,}Z)#b(&CǪEW i㊩[)o)~~n/m껽5}Z|M$pl݅ 6r#B\8 +OzK;έmAyjȓ ꑔ!B8-:^_MٙwbMnsl.%vjA!gFEO9ĬYlqZV*֪emڜb"$Ź$g˯7_5=i.24]2!ٝ: c6aw@2+у3$Ii$0"fVû~ [ٔ Z(/%?XI/*q'LA>:4j]&D[Vgĉ[gčv^ qjHf +;7G>@by} ,qCZRbXk&ZuLTCF̻9earqbPC6VvJ-BzW2j4]峳2N-~Lãew3i|Q(eVK/P%mؾ[ >\'a;j8`]He`~XKlH;$Z^"l$4UR5av2 $*u@[wUՆcwG5]#:NƟ8^ {"uoB!#__f/l8\Χx9ѶI3rKEKݬ\DOFAlCۨ!8}ĔfL^#Lqk'׼8E<13U[HSO Z:&3$E/-W~@o!V\MtW~5=<ܲ$<g(%`LwiLMODoVe:ͩw{n1's;N%)h+KsMV8Gf;#M]LJptV~RLwIY#Q)`/V>40~T :P&\,m'^KtHbR3aeLJSR=GxXU;ib !o~FJ%M>wCLa8Ȫ`Gzf ϛ[Z5_ԐNQFD l%2' +"qNBE!&M­4'6R,Ϊ>\zO9Ã:wJ@HTK7i} ă~JױiͰ$.X%+3@g\FBz>v8T)KY:\twi Plq@!zD#IGE@̸8bѬϲb`!}ښ{@^ e 7q`?+1I&]!}`V.+;E[$~ ɔ C4nBLӔiqR),3&].Itwݰs0KѥEkpu" h'H}b'YeE60f]]&ˉfx56ԝ᧫E َI3Ҝ/蝛$*%Xvw]_4^Cx=p6Qfw;)T[BN`tKը쀴8 dvƥZ|qr^-Y,0/+ 7{铸ʢFL q!”m0OK;},ZJL)p1{iv3@uO. ,0=nųwd4lrN{:]3#H ѽS`QNKJ΀t.=濳cfCbQu}=M.A"ܷʑƙՁk3~|bL#CsLlLg2hk&f[k'۾.4 2q1V&Redw&kRQY*Z^8Hc4!։^KG עR5'YXzN .mcrTbm<<#HHl`S޴F>Jtd!]<` Υ9? A85eǹ 1Ұ "4_}3`IvG-Co_ ܥ+iN>D.}eʋt(MB3x ] 数Rb~0ۛ+`:3{RIUJ|YX<^'V6r_1#!z%. %r׳kI?dTe5vQw;͆ckOCZh}3w x+!|)A?p4ܳ3fOI@ܒ= ZBؐո!: M\z'$by2D%B3+nZ&a(kxfXhTC>OsxZpbNG2ǔ -5K"~ r?RZQ@ҾL'DﺀjUQȪ(!VG]QJFټpҳf鴍Kz1m`L̒VQQ8"n<#:`[ڬqZ%@H3l* gm_yw~41V\ǹ$h==,MR(`.lM}6i5mR8@?+D1fMù.?}QdF36Oo E_C> K*rE霢?.%nz0^?AO0K+t?B2hN§&vOn`6^ 1!LX +;qҔvZ: T ¥t,CWbØ?HRP=Z@m8(v.MNq[EG]#=ܺڸ`MӦ:/ ,12Hz ?! oMM+8_ZYch@\u薫8 n)ߓ `O5tDЧ UXTVڨ?uL$ѿ@9PZwDGo7pf=As!# sXVuiѕ뀺CqȳK?fL\ +C(Fpp BTg .ד+s7N7-2 p=dr :f4<9"_V<j*yGuL!^TDv-iE:ͭ'zK^/Um +~q$ziq}{/NJ~Ϳ]냕9+ځXl|U.&pauxOC 4CJT}{=uI`]4iv'+TE0WWk=c{nV+6e"%TW,-ԍOtb:crxǎ  De 'il =F2!f'Yqpz_/%" R}LKl.~DxCPoBF@yf+kNH" aSyW_(;%T>tu ۃ:Nπ627A%VJޱ03B4ț enFfyeM6g#ꀵ~2 ۷ZPOb6o$óKڎ!~  qk`~tck&."Z/{Lm5AubF5!wf?ƗpC -щ% 'MZOF}7/X5y$wW OeD)ȩ߶,p =/a?K@#\byti؂x mrXSy(l3VLp';Q+l6mW|{uz߯YN( ,7,@s*uQcn8ajQ]T0WH$|`>7KN*@0V=vb'ƈ*"G^@!"gg,Ch$0Obɲ #_JL%~5r D2y<*'%S7@@ LQͤ`R=<-o~=8R׎lߓ kFxrF2O|Ksn= 't8]\v8MeH?Қ봵MA +ൃ:X8z;ЯJC2m[zLl,knd~D/[<bi 8LE褨`2Cu: 8~gDLpyЅJH /i2y1f >ZpX$pجIa$I\SiÎq{JCi{XafgWM{LKbAyʣ^̊T'c=]$ E=BCo$lte]. |es~ >,r73 Zw6pR$R]^7[6̍^jz Cj3iH=BiIt|&0NrJ?ҝ] WRB ūӆ6}s!74 ̗` 4<@c%&s[BtT0 .w}^td0{sEJ!dpaC4]8,Ir׷)1%N@ck~ PΒJU9Iښa1UU&9cę2ʁ/=6?w8Dx,Ws: ?o1+FAEW^7pwBCX :6DeCv1`i=I_^)/~ũ)q}•t(*Zɽ}k7 ]nJ,J GŌG|0H=@ASwjˍN S׌K-¡Qn FW-IXQ}q7zUW |k0|J$/Wx 9Uk&` mu H#@KhRs(.pr 5#w;dRLS3S\|6j'íT=Gsm:XÃ$Ag$Iy=fej@Ԡ&?;!f*Lj7~O)֧{wǞ_w7bɨHVbSh?)SяzwkUNpX-13jbANj`{#Kk~uYeGW ;Fw5STX?k)` |.oKOri8..e0y9\BЈ:앭o Ldnkr$-t`=+L&6/>Q[f/M*tmMұgj_}~ }tBQhgБD_q rשdI]0rƭҀE*#&Sq Rc&ע+O= GONZ%x^iψ 66*iaɝv2Up%p?y٪;50ݵuU磟sϮѐP" ]׉!Cu@=Iˋ|O4,^GOc$2`N'z kMC(;y~ik|op)ƵFTM2jŃI|nSfEet l 'w.ZZ%9_.cq&}Z&f`d^w@$-)Nl!Gr^cI@gd杚RsUwu38<$BW 9\zMŃ~5*$*^!ENꂚjD:hh6tH8/a5ilǟdZ?9/#Mϗ.7."@#aޓ+֔ #3uAg({GIxwD_4K#pg03 WR5\' 6ӺA 8d"C)uWs$u5|/ʀ+YsLF5Ԗ+r5%(Eom_UJ?+BvhZ^kmKp)'sHK%^+m< >wRf#& m]uR3'X#Z!A6&)j]Z|4Rl?"BZervFEqiHj"?{ӹ iVhc̟li_>1"L AWe7XaWf9jh!hJ#2aF+B prIJc>(lT3MduYh;pς&E< kޒ)3.2+kЇӥBݴ8rl8oYa T9B|6h!.-]&@7pAƑy-yEz^XReogKTntCEΙ2WLjG]u]CEi0\i)0zL6bN]z{iz9i1_3YOCʠ@&0nDJXƀkAf&'M^ ?0Y0"RC6{C1(%3pOO(ɽbptʰ UѶ=H*Y== u%ix욮"#U^`*Ld0Mx b;ԊK'Nkb#f7q=P4iѰ\БCw8zX4CIh1}k7=sH ?j3΍O i |m罣NoIX_! XE;0t6Dw 'BV['~ m6z2SiKҁqx&|ʝ&"F,gm9n{㬰c w/qJ;5kތ%$ֲH#,XVe)W|lWΌN5`G}pz"e6;q6CHk\H}˭=ʟ)*@ߖZe{J1%oh!Y()y7:Ǫ>՝@R(B*Ϫ9h>`QUQzJXDu:^zUKR&S[ғyրTIA{*rވ^z Xb4~F 䬟PލӔLHĐE17Op]~G٩f d_@>Wog,@\=%N צpJQ9ybsu ¢#Ix*56<5!aԖ3,[1dr OaNj" hOmSעE_WIj~AS7 $u{KT:sL{lY!Σmߘ*NV(8̻1% |8ETd7E?$iGXe.d|Ő 8݁ Ag% :GʉoTJ9X_ xϵzpM^,b1jV'Bӏ!U^%n`Vm|0vV|q/3tDF܌?|oKΡH WH7ɩcF7iIuTK~sZ[8P n>ni|乭@4ay%$hn}i(= u^gYjˋҺ rLٜ=^Q@|Z| [bv^o:0B\."Įb' nY*~Yڊo5ae V mWA?ոpO7j`:ޣӯIIGfDؕ!>='= %Vش`@}tK*0N4U,Z 5dDW_.cxZJƜ!M w=LXPHǹsqbƒeY+xZ"Lp{t7^+W=])4FI8%#ÊnR-KwQ;fo|:-e=w|!eY_YJޣgn.K&B[*8~ѻ~0546~/>]0ThI&¹R%DWlA?%vl֎1=Zϩpҁ]:Zi/:3u'' C(3TSh:{ t)je+ˣo zW)uŹ-U zUBz#xѕ<>wfk#n}BdpޤۻW\D8í<6\&8l%] A쌥]Wr8^Mϵ3NL2++Q,f?K]RvZy8 _e. f)YWE{v@Yv;^-JD_YZ$pȈUm/WV = 8=MUW]$&.:Nlm_εr`_nhb;&*yU`%)}ͫq1|L]CQ;)怾(\y:rpA3usbCKN9O}!%`?aݬX|cL_¾O#')yK&|V޿e=ll?K:PB%(9N~|T64e q-X^\] ̃;g $7x`9)< +=&7qGX~2/̑fkhDt&F G 6>ǡ8T=%+L5KWAfv MeH?yTr0"F=*GpB_Ց5% d%FԿ3;ry߇Xmqk sV&3{S.cu9 tsE:¾$!/ $O{P &u4O#\l-l휔}~+ǐ@uNuV21oޥUP]RVhk/<&kQK('mV 9hJhЫ5Ѓ-7Bs-Z*/A)FtV)nU-ע]9֕X|*+\˕).y쑏ԟq^5X!Ķ* I/!d~] U5уrsRj!x:a%4 W t-A=7 ;  gSm@(ӫ5ӄŧ 1zΉ~~D.8i2tCCI[PdF@9z g7cV``檞=E VVL9kBu[D؜#\}`C1[5CZߊ?$wW9&I5!X?@ឹTi+0Ŗu̳Kq 52pLEReAH^$eZy6bsܞQХ/Z;߷'.Ξ؀.:ctƮP >B}du$3h6ݔQTXS).sorg3HighO+5!'R%K4fŏ1]xIV[vK׿w ٱ%t7}i=nƶqJnDS;_cr@Y.4Lz9C~W8V>Ŭߨf(qY@o'2 !f^B7g /кA>+Dm-J,Hݔ`3ʦힴד: 5+gfGt;|r @ &)Dr1nvc" qjn ~;,J[iZld'Zk}oS횥KoѠL`ϱ_|R ߄R2:,& ʛ(|{O{JHDꊒ)Ao"}DAbjf`ZDOK;-F!78˸xH oWw{s 4i[c/n_O3ٕR3li:95ۑM/}(nJ->Vo$$l@~*AY,3 -?6|GI?F/iG#I7 !.WlJIyK%}VOu ($vm[{@g#.D|?"XշMfohF]6h|**I&Ha4w1 CyWHoj ɷie=Kۋ(zv r,z906/lտěHy> kqTX:_&z@ cxuqexyZUTe+@oG%*ty{rApӈS?#hǹn,,Ek13OѳXRKz_I`t(ZܹG^k-2XXX[Y5[e"ѪwdJ^w~࿿XdYRG\X r uc. qYקϔ/v<jSJWPw{RǶ4ADRAqGB]ɡ G8c<+2l'EDكur;^; ZtAB8+ڨ48E פ Y?T)jeXFnA4?m^ne|K|X5,a\&n`/seU l6:iN#O‘bFdJ\,`aY?i[񌎖,ybyC#FڻMVJQO^hU[=vɣY-Q%.:z1_nd XV L~;B~xM(k}fR]/9!U?-g;7yHR=mmn}h>mTZ`LOsK8y9N.6l\< QXźM@K\]: Yvc`CD!0-hS^n7A#ד=pA~Wװx;!;%Ьofԅfmh[Pn،;V1LPchtVpt߷HLm#N|M!ro 23_z0_B^ xU4tx%_л>P;РIl9HҔ8(o r EUO>$h) t7M]@{ SY&8p3'Zch(:ْD "^B5w&^qDnL ?wP 4IyV^~)yJ?oT猥"ֶb3@{ u]׎%^u]xry6# @J-$^N2UN8a㲮풔8%q=Iϸwzrיqƥ 51ߵx+fLŻXɄ`Xj“C;Kh$۵#;)$f6"dgөD_ID摏dDV$M! [7/Kv˵)PbH}l[}@1`^1a[i4Tɽ/\ޘhS@MmU $n7wռq}9oV J Wbu МIތ۔E#C$Yj7OE~IhphJTCL*I9;hprPx,P{t{loa9nKzb9^wu쮉{0ឫZdp_NiԾ(:1xy+6ixeČ`󐍪T)*B)dirLv̉Ƹg}~_2U`ZxL;0+4& nb,ϓj5{o pw߹8=ڢ>3Z I:lnQ/e=%]eBb][A˝X*sf+OC&AzJ _ ^_<kYﷅ93fQ\"k}jvv(AhU=Euv "X'` vtCw\̶|l^`vtԂheAtLjZM㳙fU9zQ.W[!6z{M@ }؝ΦddƚP4:Ls]&{qln@L45(sg>by^ |h@zbbVFa2z3FѵU<7I gcv|yLRʒc#Hߍ1<.f 2&Bzgp:K[lZ)!Zgr>@5SJ )H7e~Iga,Gdb 凓,Qƅ* NDXb9=lb k|Z Wפ\7|k96grP̎vLh`N`ܪ4., K s#ľ dbz)f=H׋<ƞ>T"_UĹOҹ OUSN@B} +mK!]V765[y150s(C&P UXW֝1a4 ZLJR~dnv.㴄FXJ3aA ʶ(UmߙD)ؗʢ(Q2qqiA5M(ñtۘcc)=)ЯmuvY &߂1C"iA_Y)艏I\D IqdC~rMRʂLeFƫ5ح#3`U`?C#PODMkCQּ_b 1Pr,B`tN" -QmgTit(_PD2 Hv$5F4DnW0枑,䶑BbЯv~w ^M&u= Dtte>&CSBr)?pk)_ߵ\@n#8%)ӊ(b3ToԤlLtɪxFnDPƓ8Q@WFv ?# اxcÔy//:hJ;T+fx'}3'ot4lVk7&UoWi!(.fu\GD7`7'LgЎ`Pٿk*u_-*<ʆry_R6!Zm =84 5.-^'/L@n6Uni&,'-rJzab"Bz)F*zdwόPv&GyBOFсG *+@~mܒIJ ..)8Ǽ$CW y 0I*VU9*v>2~paM}|lΖrSuq#Q О#CEMmPSF:XW/.f|VMY,15QR2j͡V(Uas}o"]9oРi`R1F 3HDd*a#FENab<|j#srM`LJ2Q㡵5lpW}Gz}O*^|j#Fڅې K,n9Ū7Grhֱ6!@ gMM8$u(kZj$s2zܖ(wa[Ef/Uh\V:$&;=WQ+ՠ363r2Fc9QRط')(聩۶6^oU%hHЕ,Q\7g}. D uent:>*ޑ,:8Y|0*Z!w$]#_ʎ{ڵ+ O!񖽒/xm7ԩe ";KQ m*/"!Rߪgp K+?qNm=Lˎȧ`Ȟ= r mi:}/::QriN1y>!{F!&!L KrLi)(܇V뷔+59Џ AҴҐQ9ow'Sk];GCʹ_t73]|`7\)HT9Yh]47@c~)4WC+>G B@wFm:*ԃzdv%0?L k$P7s-RޯwM#T&BVUVЃt2!_*Cw#1G%Ձ@"Xu *u^y?r/ i"D#oJ\xOPdvfjNP (5oHy \> | O +s+\0c}k_$|fW@\@YK^3 jWOpeUu|~8/t:H, q'G1 ss%7S %$ a$H;ճ2j:)8:vt9j21T X7B_JPX~@Ga`^Jvf"ا(?IEӄ=X"O1K Ș(U'^LiM鷅A6LᮢX|RtOpAP푚PFk-ic"pL146wYz9 ł9v%aATj;]<eh ?Bpx?: f٧f"Q>%ҧÛqԼ뙺@99ZhT!("J؏u0=ac@d/-Yp%G-) @>5~r|tIY+ ac!~Uޤc) Wx"sf'{P80`e3nU'}T\oxoZ ;=y.4BNK X'%.)ΜWO[>xc,fCмqj;8 vGm;7]\GVdpXoticTYAچTRzZ]P500 LQmcqCI!Z@Jo{XήouwJ* 肫nHb/;ꡮF3J !?Qz4αCrJIʫ1iA˾eiר!=&c~@w"soCqh Y \uGѭY>$>{uSK[i 6COS iEF:LyxZEш;4AϏ&yJkmuWYu \ؔuvbo Ukpk ~}ګ-Vy&EX7[[70~>{%= X5*s*:6os rU>u1%[;666̏Ud8_kTRGEY%N¡[+!1&^ uLKY7kt-T^6T|3vo7>ˠiUQy^qLLSRnjݫăJEF)gz$XSt|m ';YMbtzRvqj%O8v6aZ|X.BMf_8qdLL*F[vzjh$!'˟K~gB^.;14n) ~DwIߣ@\q0̜|p?s'|`\bwJ1*!/uHo-=pﭏAutG[L6*hT 1;NK~+ƫ;iEr'l2VfCu)c”NX+"CwF& Ck],܆r5K t?#'}0g `i1V؀ضiRߩwn/q; I2!6W?߫)2iL #_sC8Lb~{e]3nHe,1@c3#Pc$xPr;Ec&s v'=>( 3aPz6bI^iǫ!i83.G ~ZK'{`<n <>tZlU-&ͰUSQNx;rt$N@F!'#zAiOΑk$>;01 *ىIcdR >zy(:A gu3bG|n?!hT="02k4m\FG|/HZLfNMJkP%,eZD!{)(EZD>d9o^sScrk;D%FpH*[>tR7v5QyK ۣ$a־e[ n,SxfKH0R{+ؐu\I֪puIEivE/ړZh~pE ;I™l\.N Vwuj͙1χSIcO7v?:/KXz8N@]~ZxԱd"ʆǂJ7u$־_KSJKTzr*IY_8 Fd}uq aqq\X)k(QJ.>չn|@ȍЙi j*7"ډf\dC tcz߷ ѮxDx#PQ&Oچ1 `8&,kgmޣ xXTYruoP 1nN揥)Q4_kD-8Ѣq%>^w_4Uþ`(QZ D b_cb.X"+PIYnVUG]U\d_ܱeo0!ڊ(=nct6u>-JAOB *ͥT͝,k g%K+Cƒ|fy5%0c !.)&Imx)mV\1k-RHC#џ;zOyW{WBk`%f;e듾 ބ:c}fq ^v)Vj~.9]Zv$܈s=>=7|[293DhB8aչy)l29  / p}*vt1vJ|xɃpIf+ZN?zѰ~h8VƒB嚟~TYGb!ghs@s&ra=y^Š-X>! R{t0?tmq^n")̸v &T ;7Ɲ!jLW 4NOU8Ʀ~J[T0>7tԪˡz*ڰ8;oUC*ƣqP:L9lœRQ(x2Y xqFϞTܸ lGpAKF)J)%OL6 bh~^O]5%gaHCN( ʫPαb?g$UZ(YԒ|m<G\ũה#n;efM":$٨#;`63-`@:YM?g7Z(nkff߬MӐ}b1\ 痢cOS.0}$3Kʛa M!?GgJw}ג~e|[!D)i?N`i.y3G# Op*CÈ`5LDШHqۺJ̈́e҉Te~QTKO9CVH%)ۀN;2'McɧזM*lMZ/V2$O_ke74St)RW(²lRQ_M-'X3ٷcSS 24م@~*p;-圬Tc=WOQ3<) GU]a)Zȉ=gU7?Sk;`h%m_⨌;&\P%d,N){LwZҸ.D.#;BCIԣ1'5:ɞVh  $wGi^\hDP?c?d:*8>?ǰW1gإ qU/!@?pϴ%F? _RC4X=uڧR"E<:%Ak5âo&Ҿ4Iu7XVיޥ۽h3zfz+_uu2+c>$$KA)^,C2 ͟kB:2vZ~~OHָ3AYҨ#G <.R3Ʌ61D̵Ɓ4;<Iͻ(&uA#/%t`,hTAb3nkG'{r;1`V͊: $dF U֕gЬW\S_V i=‚d<2Fwe  \? J$YbeYSI{DE)JQՙ0#4팰 AXPj~PS6H-C脔fMMnKȏ]>% \Zu:Nּo!l~Y~qXD~Ҭav fj#WR. g K8s+/Njy2-͍4AhK0'azDc!VD>aIwS-/ɖ\,$L O S041 U3Y8MKLbGa{(sHZ,dW5G7nI)zij S|z(6$Xm_EB^8xYlj1: K~˶wLJچK^tء!r WWnQ4-$=w`zZg l]l ƥ&Cu_sab<`~qAȌЀ;ư"@5~ʵP-*69^pIѶsT$1VGBc yj ;F;r $xTl)P5}0ug3` :Oq=v< E.׬p">z>jGT?PU(+`J*XXuR^ԼrW;TiFy}~K굷AdiЏIL4u@M[xxzEܓ4CTx ې )pgG.֓5P),_u DԲg:,*G>UdL+ 3B6Tz`/)=|:[m3l31Di+vA$߾Zsq{xmA{+@4v<&傇lt Ҳ:iyճ+]™ U=\iHfS-X/e/8+Io!&6UųӨW0b}GZ5׸4K0x¹$N- 2%pms)\xtS[B:HSiFiu1 Rkz^ΜH8Z8sb+̯ς | z8Gas|Z3!rºʰ>ɔ!szچ槲Ah;Ka惡ށ baOv(Z 8U`Zk,7$aZw PiͻI;#(K[tq`}ȇ ޑ)PYEe=#½.8C*s=c3N Zhrpgr :BCSr}h.NcȃRqaT OONl\COH2?ͻcW>\!&IWݤ9c/CZ·wE.Mm߽ *u95kN/fꖕh\ wRc!H215'^5.얯讘mg4\ ?eN3NqBZޣov1y6lG'+dKD !>.ܭTƻ|5|NC<^YY6$dc]:'QͿ$RUiwLLFqZ͙t H4ٔpeL蜸Ĉ_IS{`& Wz-6߆`omd[ZG;MIw` G>}A P EԊ-%3H(QTJ[W2Ph%  .0V(}.CUuEatS]ç>H3K2}ˀ`QH L4TykX|DEk)DFUG` g +-?{&@.^H8T֦s8w[cJn͕ۖ"z$eKyS=Mט r锸{1:*Rb\wU n|g]]IV-Om;V\6]7~~{Q2z0-웑/xqӳN6 'Km\)tcF%_ODhcM <  6$* 'ubJZ3 \iG}1TLN Y>̀pLj_G\p~8֌8cOfw׺Ny<, !0Z<ؤ(bG>ɴ MhJ"-NB"7]a1Hz=fe;ܷ"J,O-`Ċ]鋣r$֤yo@(-3a] NѰPÆ*o,AOCflEX^"2q:Ac`+JC\x 'v5$8΀QLf&T}sY$]Qn^.AUĢS4 $y q m60l:g:4a6I 1eUA#!Xp{on '֫=z-'w`,6bŸΌ'̷@BM.!Ǎ7+8fo_F^Dd/j`'7:@>Q|UOTw~l-,;RhnKa:@  j5rC +%PDCء?QՍCS$ˋljpbו`εM>ִ%6rIfbfҒ;g2സ&>n@j efwg<3& 6lkͮ,P B~UT8)&j^^(? k>5{`ܫأp룣 YN)c~[ŏtJ d87 ՝EKq'kW}mXd9 İ9(Rp9uF5gφtJs{!zg$ @:$:R6=a@=[$imd]"7Q{T7Yl3P44g0@Nmu:rc^bRvaRdt/YVY3ia, uD$&3R5bn9 *QzfhS?G$ңf%+'4YA-]×1*}eGX@CRJi L[ytl1& V8%ǮW"2#S-+G<ͅ`3|UՀOy؟w !+d *4RLѧsM nX/ әH"Z9O&cMQm34P>W]$;.mx#Bp3 ).>IRg9ÑtjRAL`$jp1wstxh@8r3~)˓*e^ATqЍU Щ訇jEiy!@1^?7 <7\9y pS gęK7%YrICeq麲q}IV_l.:h-32pHpj7Ώa'f+V-;K "C_lv98+]Mۡ\2le_{eJ~?7O'_,NAr[B؇ 'Na{;4Wc%Ą!Q5jzQOa;0t;dg ىXh/DG[J:$f(6gږcμ\fJ?|m-m'mXMibPĢry7;xy]a*fo bSJKR̚OaEҨ} .8ɔX"&s<)W0'z}"u!+5.ŏDR\P/ ,Ƈ_%޲kF>1C`zbDJzzȋPn?y^W#lѺG+[ .[ ᳳ;yI9g|)"oӓ$D?5=UP_h|z}{MK o9GkaZ=x=אAaO20v!m L %E@.WCں),G2T-Pk +]@T&"byulL:Ve.r\/uDAHD@ȹ99'ùXէuﮝ)Y?Qo$4B$^0J^hSx؉Ƚ\IʕP#K\KX88d(:;Х7¶QpJJ=bq!IU~简 JbTX5`0=Tkg=BN4”e]`Ӎ/RQey Hm½F]pBG=0SH E[1%‰-mdW=c<͒#lef4uNg6P$ch.7/t:э7x2nջ48kg!SKbb"Jr4BaR,*bѓ)9 ( z\'<vרX涙\;}^{JOig#TtܵĹܯ"⣅**׻ Pt/`lx]%+vF QLpiGm$@8׉y_2H4?BymKieiU :hύ%ÿBi |=*0yZp$g)+w (6U|\"-T҄O儃7zi-w\q7ai/;?ۧO[83-~V%>ut 04mu5J%6&@V(&X07XVN{bGD$p"~N#"b9ٸop'Mm#x3B-ъ| yQv[K[i⠻~qtGF*,v"Y Tł 5͑ ٫TtZ0)-'E'oA+.7]k`FvU 0hǵ,NhCH_ dB]@1fXX*O 2n t &[RhSf3J hK믻\ >Ǽ^`S.TQ4fP&1FhvƟU6N0a<7ud.T 5L‰+D p 8x $u.(yu YKaۨ@vιṳͪ Ƅvqzޥ9Щ0w̼@(WݜI.].͓<R&OL"ykHHDLBfcFNeR&%(g{,[)Ow > c](œSs:$n~X!Moƨ]>n U O@KwI#-M_'2z %O'6ZB~͌Mf9 Z^MhkoE:'X8OkP5=]XD[*?kGxC bNrfWd~~At+Du{(asp&_/LƀD8!K^ñ$үL{, gE bp&e`Q)T-猜mnIvӝU,Tbkw4tIX2=l H7k |]OZchnXa̘務X%|GR+cQ $ʆSQ `L29mH~sË3Eخ,g4R;n+)2;>AŏMʢz9oyhKti{:v |RY%񵌚u yF@4 ?Ƃ y?/*!$%@æ$jwjGgkohuKYMu@K:#uu۰d"_(\A~Ee!45ƨO X=peAh‰f}" -`1B85-,8ۋ7IJmà!HCCFIzx6Vk1W'"^ . X2  oЂWg%dA+m1'=v#jGv {8V:9 }cСT ѷ*@} T q('U|r>.yۊc^mqH<:.sHŃ&YJĩ>MOJJǠETx6>ӧ= zW!J9/CԨ]D'.剿?i)rbsǟ>m֤J:B\@#uwt/&Vuos$t\ZlAOf7Z5~[s>%DyqŰ%V\|J'&IΧ&7o!mX `svJZî#-wpl_@̗EBvGKίdɈ#ƓɛwWDIku3xEo RAR4y`Ұ1@z^#2O,?.qضǺp]`$u:T=yrndfɲُH#q.Eu{!Ubqx/>0P pBxnZ[ltٰhw*$G .cT, F":>,iZvs$ 3|Y*3' 2( &km It_]%Kpz& wQRKTp]N msl 2hib[4Ea(Ob/)? ˓iro2y> 4,JZp0FO2P]4L gظbjI$.-(E[*E%OyԪJcjK;1Tʔ3q U/w'+/5tpRSJgkm8tBYus<>m آH[Ƽ4kYUsT_Kf 6 pcV}aV+; ƣ O$gPO/;p `1nu8/B[ w*_n)1&@;O~YE rVkT5 ׆<]p9_fn:3g:ZȒ>}Ydɠ-FtyRBڠu3/'`^A܃aP^_Im"FDM-],MK\ #օo 6˷G tۮ)oW ώ!uFw|fK!Z&V&(n5~S4  Bp*mgPH`}l9d5yHUӹ{YV@aCk1!#/:q'kE+ȒI]U}lԐ #K. Pew:m3:61[)0hlOکFՓǽlW ۀUpQ&-mv2z_T|Z؛B1:/r '$A2L <70jԗ avө0sh3eq V@|e7C-95m6Gp.TJyO/K2l3V N(K9;]וijM묂>匶i[ZțbC?>0g浴2~Qހ0U#8lh٬8.su,%l)9 Mn8(`vJwpalEdns= #,<n%_Ýpms؃^P//G41_HLC?) 6t5WCLJ\l-=N?}.tZpQY:fh mk;A;) 8yA-386ͨ.97Ȗ 6V+Oa:Y{.3gOa,V3k3:%OI,SN Wn*R5˜~)r;"чo)Rz $3Ѻ7<y巼%N+F 'Ő>dpMۄ'= ȅ}e٤lNtӄ=W4?)vK 4JkRQ\ﲖUC|poyeMrR1<)Cݬgu Zʖ(qRjRwoy%EBd]I+U^17^&Jz{vcCX%ؗ[_[R!i-<&wf;*tϓ4i; 繓`DRq}{;$ A :{T=^Ṝ,~HcLPbDc-G=9չT1G}@ICJP!˨5mr}|ӳ.*ǽ4l/UDe>\:eFF/=vII>ߏ1 *'t.Ju:߆mcF5h!LӍi^?eͩO'#q"sO ն(^ 6@R.3 xC$T3C] dK6L@ũRH#ߣ_'oȫ.8-OR#僇@*{6Jٽwm5L`E 4!ݮ'CtBM}`4/&&2FX! jwx,[*U:Zx6N1a<˃J*5s/|I#6},Q}8e@#NA>E8^[3nY\ ȋPa }Vf3u } M;-vSzJm#ݭ ֵLOǢ$`2b"8wS@}+z H%!5P@03oa5ϲP\U{pI.xuCogF% F&"Yy8aL TOF/1 Us30EfzdAna"ҭ'&纜PneL?.|+2KAWwLENH'v1j&}oc$s{.Fi1I8ײ<`d?2xRJE9`iQ׬ć/,P{6ր-Z;!qQ@2~Thn=iu"7hie"uf7zF9%,q,az9bX2>E zXXg^gi90uܧ`J]iP΄fkpՑ ?rOȒbةwyXC  ~A=\.&\&xx@V8^;X"]!MPJl GIfY<eL {x.m<'"gs.#.jvLlTdbxq lca^ ֈB%-B"(/(tmM?]Ks&XicLK!*|ɥðM𮚍e  IN??\ W<|vD $>V0f'h{ ubU[Dz / Mnpf]ݧxjsΑ ߣT)kOͰ~>YHX>%FctW-Ј DVDB JFRXHS>dd]:Z 8#P7izAiwe!Lw:$IDpjˀhŊW/-_A"hܿwr`PӖ_}o6cRnOtٮ?P0@-RA;ќ;t9#ҭpyW^ͅ%b}[?1'g\%P/9}ݜS*sXp"~:gDGm2ifGA0 y"ժuOnJcFz OjZ?տֳmA^6!ޮ 햿{ު 5C>q5¾WnɎlV9ĉ_*f hؖHOZFa3,`2hU͹X:+U*Mu>5κB$wZ\ЙaEQJ,]Z(u9Wwօ)`&2v;4=4N!gb71ie﮹a?|YQ ~j݋]`C:ȋl{o}% npMh%<Ai]R -l %4ޤ,HOmxcvXlY" ng1XO߂Rz_E+ڄto=tDpFȶ%x+oŇ0BakT0 Rm-~d̟8M;8ZvLoQɍ6[&7Y5CIyV:P[b^UyGP$}Jg2tjh:!oR0@=Yx, pzMY;QS19&CHB^{(!1Ek8 ꇄTZJXyB܇gE+{,1r@Lj|'+e$% q"B%!Ԗ]C 6Y hL~[=ƶbcg/;`P]@x߿%?jݪH$*mJ] -#O`~0*l(JT<37D/H<څٞZ)w?v}:-e&eG[6gIH`%-k>XF&^6SPœ2Uّ `7~A#=Lvuoyd\h[aO>Gi@;7 EdBݖ?ѯ*rK]6+8|$&m/k#)`6,=Z玙d9BI|m#,묿^,u<[~6f˷9!>ƱڇB!ɮa\6> =mU,̣k$r?YHSڅt#oLGYxǝw{KSWkn/<2([[p7];q*+-*V'IF+N-AE/>Q@B0k&9:6IE3)-{dP{+Si}oH'𬕩o@kGRtA+6 rHVf`eapNϲd}(ef+i\xE0i=?3^6`**ç lxEN7:xt堕Ws*q+&qհ[Lx0ŋą-4A (fL!Lc?D{5+`ݲեb]Wn+=?`.RƇf&/ &=\%-~\L1aFYunx"Q%fJ&}+7j,xs!71,7_Y=˩]-t"td^d#iqTȘȘM.Sc'^VTd*E%4S6f#WU>ӹ*o{u Y!` s&`occLVoNAʹT?N ]IQ[& i|!ƌ*LLnzt/>i~M)8{,oMI-b`=H.7rՆ jEBX=ۼ'"s:coO%cNs.CaΡ(Dzul m~\PP1T J"0go~ݫٜ1, ATxM.Ġ}/˖ !!YDdin ZDS1tАd!)9z/ɥkg">Z+٨Ց!K r6 .ppLv$C\N XJi7rlf8דs{@<o֫]qi=Zt? H}8b*6){E扸v=ơΦ~\u.i10" k>V /nT , "KbB%W ßP@-ȩ 5A\S a 1ULI[6cjb˓w.{[L[ xHy>˾aP=R-4HdfwewX<JiPv@R+/+OwyB!@s`{(>d }N_WT9 򯈀}#bӁW>9<8]~{$|]zL ,Ǖ(6,%؎I4nݹCL$_|}㛒,!pBtP  O6v&*w[]O+v:I?F$ >,O|rqH #,/1Cj-Pd&K/gBGe@~a *?"l1W]]M*h0*\P0]}F@dgW=l=i ܽl@)b2wjf*$!h_٨^pvIwIf3&CV;wXA4] c9}n•3wkt޻Od9pϯ#O~g.qc @wVx^f2 GSSTt>KY#Eg˙j4e~#j(Fm|$]KN"Ro#G>XSdcsc9|uz6k2*se^=0`1Z=21@[vr%?ߍ&bհdI)u9yQf % Vǘbi) KÑ<9TNMb`q_d6#р(`̐~xd~˛Q<fhIE0`G)6LJ<=+5"H mȡp #iqIV>L8L;tw{E' LlDz^%#~9oAr&*1@y$;vs0Tpx^4*eLk&z> QmED&u 6y[aߧ.ь(`O9Pho-DC/ xDpk㴧P7! r/_/1PV Qrlzƭ*qko eP*[}jh؇\d'GxP0eFO4$qnI)^`1E1'W.R^R4ȩdس$tP}}2D7ӟAd=@0 <:TBcGhOzvg~Yĵ%]ԍ qK$eIPM@j"Wmpc)аZŵ(fqbg K]D=_s8A^@fսԿ)~|~i&c6Q^"ȷ}R 7g * vּmYlRt2PPr/fs:gGM>{& 6 qQ0c1A0u[b΃G,afiXY"ߎGUfy w%I0*7kb]6u ѝ .K/A =1#;|t)#+VT4-ΑP@X&3J9?9a#;!T%<`kZ>ꝺ'uxSDFfnWq044FXEY[]Bz}hԀF| =ӝlI&NMa=8% }BI>1Gz,!fpHT?8Wc}`F'ۉCN'Y dsK X9$92}5uTVs[v9QM1n*lp?>V4WF Avo(''8tiV<֬O}(\+ͩt&ǭsaN0min"+ !R*$$I%-뀮:9y\FV\DN}8iwf\u! {K6׎7^☡ T+B04PYӕu 1{ٚ-^;ϵaDU@Oe"-ll.w'2yh7!`'tŀt;³6ENsNiº)z[n4 q{\55c7T=4^W N]bB%݌ޛݑDADUC"n.\3%`ރp.vyxزѠڝD^ []v}*c `V4_S]a3ӗ[ Ws sK@C7N'DcC`yC7ˇm0 H`qx~Jaxq-5.2I~|w3kŽsHP6 9oB\mzneNg)^-iCkAl0#zr m rr &:Œ2^ 7. S2lNP4w\{9+$`,^/cO)ʀ(Iga۳:Hwz ^QWBMÃ; 4g3:0L\)zYA]?W.?S}m.?E$|LKeLDe܈)QnVlQ5b] gn(Bm0TziTSOgZ8xͭY.\-mnO+lݙs@D GdT߼4ɂ0Bw^1TVW,ib8)En>SQ 4A-[}{7v"4R"g /Ѿ0(yTVjO zY-6`_hh}LY+  5ic0=\Jښ?;yσ2TcVnN+;"%R+Ibhr gZ7&^wA?PnE#"ثEdD=1'?2iT̍Tsq}"2}IŐVxF=ZYpm2PD^pB53mǭd­6R֢ W=,V*N<=~.rTps53<&Kd[TL.:"฾<5V|D')*b~?y,n0{Я(_{& aљ2J0·1C"Q> d$;puئL?; B Y6>!׶;ea!l6 xzL%ve A 4IM[J~&\7s*nn^brG(3(H IPjnpW;?+S^~j7 .LZN NkTwsCg'漢o_Bn &?p{-eg-'qjMZ!18) |{~z;rwmcKQD']p5"N:Zz$9:J o\A8X\5o40W6\bh,˫d4?:?З& KX>qmQxsUO+􈅹Tz}?#J ƬIn-ʒ 0ޑyls/y Agެd糨z9D4 IF+Nb{y }Ktv`9л ԅ* Fג_H jsk?;W%7?gK 0~qv$J{7d"h+9 Y05wk݉pdq;XatxF´. 1x_mGWگlPNX"5^FއC7J/[ίZL܏n.i!VCR}Dqig'ɠWØ">λuo1'T'4˕Y&-? + V3O\|[ߑ5KwT)_hFVˢ=4ظdEIJI*z"C;*w糉J&>|h/?'?R3rYFyyPfu XāUsD;-^X keXthijC6ɏ!0"3^J-%: k"Va"&N[kq3ʽT@CνPaSn1ˈgir!EL:,=9I17ϭJd~SZ^]ΗX?k UmI m.?4QޓX4KkA|g}qEzz>S4|l6ÈODe+%Q5 IrTPbU8c 8ȥ8F1ZwQY(Ti㓢92Sњ-Vv GچzN  U[ӦhD㖵a[pƮM^Οd Z6WwC6f[WuR!jBAXȓM`r|4 FgrU^]HCAnRfT?; *-2ʷѷplaGVcى$~ct/c;- D{:PLZ7U N䷢:|)o`}x挧~mih K Kt.sbhbM+&P*~|.9ew%R6Zl10vtEߵn%iznpԹ@GP5+a/*1j'R-sw0U-.1O~+:JR|1%".1lqΜRIJқK7&7ҝ|QE8Mi:#aG-\I|$)oYz]M`ڹ85")?&1^Bf8W 5KWpGӽ;)I\Ə"sޣⲋ.}Ы 5h + p*e=jDaCəmު˃J>%t1U LTAZH ,DmM:h,c!9=RU6*Oˌ/ؐEJo҂γr{FO \}q!0܅@÷oJb?PM=/[IZ@m—ƛ#IC8V`aȰy& 1||(8Z!9+5?7xk[JD0|=G۞9?dV(->#(+{Λ>c:yC׿&VA&n{qEߦNvlGyg lxѮ05;͈J!+[܎y >r<=q ,() ^BЪپt 繏qo%=;B% }>.~Y! >GCVv5Crpǒ[]/ohCP5#]SH\.:pإx8O ͉UrLgzI:'2T^pVv!@4 dAǒ>v,Z qrj_:Op?er' k'q9#K1ֳcPuՋLn.D\GU,A}Tt*Xi ŧw!'9ΎLEvATfogɒ: P>GD!d~Gz=D '@aQ\DSr"" 7{+, ;M4$Tuj"CoX/3gJ_\q[ ǢLXp0H8klRZ>;t|uL6ªRXmDgOG$Z\h̒ъsxc2l"Qi_ #<+}H6j""ttsqNg{فQe5N-;Fl X4w. t^Q@QuԋM N܂$JSI5yKWb9oٓ ٔ<6'ƪR'aOXrAcg<_4!=AJHs_/MΏv8y 84AV}zWDzzݑ?,IZTĠhgY v*Wlx.r%6Rufbr& 3ZͳDLTT$zv&:bli,U ..\4'=S#=VTTg G*AѩeMZ)$@ \r<ˠq?jFrK"*'ipvjԧ\G21)`Shnvz=n=L˻h(УПu'L@@!fkbW9@M{g ^UDW7Șǔ_[U-≝g cPPCJ74SAțe1SSA?8H^K!ka$R&r=S//=C8JYavqڜ'5) f12 Ky;#DyGEP N-$y#6/[zRUO׸"fS[ 7e8f|BKY/M7Ml9iTpXm;}_cB\UMf̈킵): n# fn4,D3(I`sR7p+Gf;aCP(<,*AV'D,v|bTr${z"xQ>H/Wg*&-V- JgB;:h>QkMq=kqv/E^b})<4L[$:j!MEfjſKZz} }>2O{_K`N^ǒe[=uv+:& \ŇTYۛ|+G!wZ:5 MJuzCN'N ;๞Rц51 C*.Ga7޶ȼAyG&RY)a`֙H̗Gd-XB3Dʶ [9s_’| l?pQ"tz7E=GSYh~!|h_Ć`;k/Fҽ9__ UZ(=y3\7,v5igS94u85;s0m@yC̍isyѰi6nn1Q6MPϭxn"V!|э89.$/)I÷F.XtԂc4ؑ& : v<mA\E0ENXrf@mgJkN[mݍ#mւF,x CMN8S2ʹWt8(H "֌ZJR*\*َ3X\4=],a]-Ȧ8DŽ"mCI|, V&6&QH$BkY9lQ{:>ᇰ)IYdZIwzykhZR}2jl'Opb,~B𒫗j9DG)G\Tuբ Pfڈ<ӫ #F֋ޟ0K^Oj R?v!zᏞ|OW=I1Be潩ٍxcƵa# ji14BNS \W)]a تnUTMdC>ꮻ73&8I8FJA"g&PjB@LSB9eOe2/L{DŽ(B]03l iUY8f Ae~P4Ԡb{#w~s Кx<)J]1OTmq ;%:ȸki7}"䛛D >ŀ=¢i_,{]d4/ZV=G=WM`Ne;|v' 5_ T̝3a3PjxP] Ri=mbx3y/W) k. R`Y]\n +~`k`V+W=ѷc(i f2.̕H$݈@ᬠcY,=j=p^<_" Eʎd&BzpQe6oƲ /fq&Ϟ"eQucE9`a47mB 1\lX3uI. \sYs1.}u juupdH:l$SVƅ;;ΫI-)ƍDgݿ~9-ouEv]ǪݱTr{XxI`OR%P.ci68ATJZcKR|ס7D8|#LjoUszvmIy8} .\٠<o7QB*ȠB.!h'[KL2)W(X{Qb! .3+K!+bҺ=ꚧy[[#$Qp?-ino 6} ^EoG߂d:nʮ4쥳8Q @Lн+@kn63[Nboy~;m(;;}>ʦ*d~2dAX)LE7 zZ" @fWJ 6٥R4Ւވ0\zVBFfc./gpXȹ^!p!>dhXZh#ױգ Wvv) ?D F87 l/^յD5Jч#7`% )0d ].D|j/gE큊٭}0 EdѶ>PzjW櫈ԶGp\{Ġ‰[o],p/-"!i(#tf5~eWѤYAGHSQCTwhb5|:N%35('TBÐQh-M8j4* Ҩ(XOG" bBBSGAw`! !PŇ;hkG L;*U3 a|] `C߼K2iء*znG YfUfJA)lYrw>!DB(v'$m&d0v@Ck#;[k{5haE+_6ÁVmtc-?%I>Äa3 sݢYv :E4&VFl[6H5UqUɢ _r2 {ZEB ,[oLo@:?($ yzL~v91|EZpɢ6`Ɗ>ola411K!#nY\#l9lI񿵝aS  じ{)|r5ͺƊpbmN|ʜC!gR]@ =`(w9r ?|:kVgdtv})2&wE*2W'Qo f- BLuHz?99X!PQq@H ^*Gb.i%'.MqhѮA څC@.O%%ɟo^#wNgޱBDd%.O~ZЧ ___}izߟċ=0&*UhH'Xc23X[K*yI} `;cY {9Hk*WPr=M.`vk\h1.B+x=] ^3rprLl3~sۻT,+ Q>Z͗븤ٛ_|u4?)Z+^$*%}ijVa<[W0m;q8(r6PVf{`{S$KL披_b}1-&$cb4?eUsWIYc8 ,4+. Rqf|CCzɺnzvDL3!'|J 5}eve-3pMeZ,&Q9KB3*%E' I//WWgi:J>̎'F8A/_ 7e7`ԂY96RG~޿Nm+A*ߗG}т1kO=вjoe/&NKLψƚ[%E[1V<Ί@)]E_E(SXSJ=!~7UDJ x\pAoK:F]]I;ӞM0sG-_^tlӬ ӿ,tMvH19i^Bfu ؼ}Q Sbк&nև5.4%,E}'_Hn &hg=p4<7G) Vq']q  0_w){A?9WDLƷ'L%ZK#78Sxdw\:D.M\"&mf; \,[q ~ hUEa_>ѕf.3wr[O!; V>T0A4fnFxJuj5ǥ98.~?֜{E&>'ꆣ<{fnR$EL[dv.cʤywphP>2CuẔi.Ҵ]j 6߁FSɞtj]nxb-583TUӁ"ːYN9\%\ڟ7Ek(>BZѕ|aDes$O/(LݹRSiܔw-zqxԾ.%^ C'\,?Fǫ:5&].]Bc,tx uVdF~Y,Z՗ңښ{gvA2mDޞ'͆Ϥ65~ƪ$+ܐ]5Z@PFr6DTìNRPj2gX2FLF'YƟݝtS^E(aLV~l&k %  Dy?ʇ^E,#fB`_3s Ke)HV Ug*ՁK!I}~E$f3%*A6vˬy(i-,\3W)i}hNmza\9ZI.uPW&]qtf UL`#`6X(E yϨ*guB&R]9T<2o;*"&N2r*Py3'eu;n/@%NvhJ䄳!"ĽaED_YjܣM:^ ׅ}Js^8 yQ1)FmptKh-(#'?q dz(X;$- `[R{u\d$mL-H+ >Ze% m)(]OrL%Du>2: t8/Kj@PKο/)@p_:߫pIh@v58FNS1Y7/?_r+ uqs16. 'Tu_Uk~sU KΐJpmyo~bGOŜ#o$ | YN(`gr43q {A뭈4e3z4X4ͷm}ҙÖ6_$Filq^wnImC ӪL.3@j) o.eM̫|ś0ԑו5#?"N.k:Jv8oI/oVaL5 5P8$5-eǀ]G.ēisfNTm@6ey'=Bڃ$+=ZʓP[,YS Q# ~ؕp6_.V].]du#[_W-NgC=#UYY5@0屝n=~kwrOp Ϲyi1Ww"Wc >Slj8QO ,ir[}Q;yEbWPj:c2dJ9@|y6jg</ܑKՒ~/¶{:. @W eQi_;-泞&ݬ{L31Tco+da;di^:KL/DeLCoLh W&z⤧3fmdžh'iSzlv|de"" R+|xkm=,twddLX^R=bOva8}f冰}ۜ s,\MŤuEac 2bn̊&ǎAgV :.+Z6a'k9 #o!WG2͆#üqfRsfO%4*پ트5uB<9bʩSzߕ[G$qa[El?yMo¹QuUx[}y,)"m|uP!Ͳ~M##1)cBW í@h4CNwCPgL߮q11Y=WL;V&A,5֜某#3b a_5,}/3*m_Pk=\ &by<)c/~вVJq4lKxʡ $/z^~|&7<̤JthZ:Rт&]al>jfG+x HyO>A ]F_F"YʝlƄWXU[pe$8o$%Q O{lA#^}p5.*zE芜2m7pJUsNؘ+ˑ[ &S[{UIM :X"?Iҧj } ^4dAcaIa)+Ye UsHP0Ϗ39q Gt7i5o2H?4.pU-2sR<'ʣS!#LBT.&Xh;vaht){q(f=3AJz%b!\ex( XOPX_ru"YV*n S:Z!1Op޼:'iJM-I՗t(FuV}(zorS 1}L./K=_V%v?u#7M83q 7״A!O2~q4i + 5=eJHI f+_|wbeb\b=t'gYXXgYjfe=>Ug(?-P?k ȶ 6D=68!@[1:e<|$J[21}Zc*6S*J\An߄~-73]^M*~Wض)Va 43RGVj|,UsvRe~G|a s&V.)s"{8RKqbܨ &#qd8rkFD=C0ɐlBZA_e[ ٚ7҈kJ}T-pg6'P[Ke=(c=z*ey欋J ^1}3c s*YINs+^H,P[/ N0{Qk#û< ˦SN| 4,Wguso!2t.rƺf5]HK:h8Z>ۭ鵼`/*ỹNb/8KD:o ް@Γٙ@0|}SV9 !F?Cz5K^ĪkG[$ 7@cL>jG*[iGٌ} IM.՞Y}LV?/ktA Œ*h5\s &dA^**>Bnyz@O"`a_Q?u|TEY>H`gSOF 1GM %v5#lbI5_/γ r/ʗŀXoV4*}ٱfDikLL4VZB㋘1%|h),lS:R WWrxI5usdw/ƑF#[tT1;/Q&^i L(;4\HDž= ~-+I 7*IQÀ V:"wI4\e-ވ1uܙW/{.l EKAP*\YN;څw94S>]>y RRu%gXBvjgHOf6313.R1.}AXtͿЎW;^2<yQAA֥GN2l6m%~X Ndh5<^1qy1(_@,h ꁹh+a 8x."N.ɤQ?첫jU7=dvmPmvjcTVl3kJ~9ǃ8g$KBP@@ U}^vK[ {\XOa}Pyy_E?N]2XϤe?/ygh!pz\3@,qc: ?+W%&oU#gWKCR 6Oᡡ?=` +`STQ͐jD\@]& Κ>T&fYB.rA 0*?&|i?ش|`&癄4kAU̢@:8$S}an9m+4@zۆni%tCvCiF-M-}D#+!7m!t,?jQ7w4jSm3C<ޓ]\XYH"?k 8k@G1U͵8)<(x,  sJ$KpR7` :<Wsp!Sl5ه{xɵ)=owȗ'?HF֦k~U}:U-i{}.'^ H[3 E%֓^KT4EMXhh%SNĠ'0 iFnuUEz;zm.vLxSe L(}.܏jNLo+FG+_,I_5yb'ɦr6Ck]/;*06㷐L@Ĉ/QhK8ԥ"yB _qR۬'֣z$]z-FNa=Pq%nykcEڽO-؋wX?]صm*{cxy6H>mI0S+X7wHN'>|5f0 b7`0mCEVh¹.POrӎ*N҆M+\710ءF>j\:Lm%ii_XZJ5""TQx"²uXnCt@bRdЮ#8e8Z|3pモ|ٓc86w K;mÊpdtmr+0B(S!Of 'sY(+d1rV[13?_%I-Hn{Od]:gFGՊ2njFck qwwb= +zK8x5bE$Lu"&fYV heG _=Y VCf+Ȕp)쿣$MWp> haO . .ڭכ"s.5gc#Hh#J4h<@tHj#`X+Z\aɯeԳ#̽N&\o^L{3KN6#E>)yImeƟ9Px9ыw}2Ap_ Ͼkނ!ѫYg#Rc'bkM@q@nd̠iJ9]!(q 7tOWåUz6<ږ*qg䥋ir|G%?{O!v%Bim4={3@AT:G L[Xκ}򹠅2E <*I'fD=hO[򢷍Px),NߕC PPϬb*Ωa4!CfDY顣9pP2會Ԥ]*3nfѨFp&ioJwUyHdUW^P00Ya7 Nxdw-:'-NZu;;*AHy#X~rH^//D ]ic龽]Cfie#G5FꄲCהҀ:hfIj."eSTqV ?ؚ~b(_ɞϝYUސsy ן6.,Hrbq({DKʾs!lͅ˪MxdUZNJ7v:J&.3o3$󥆖lӁ[H%ZS+v7`wԓVCOUSfأ. GMe:)a{s֥M׍7Ā@f`.)<[xhMc&N>4h BIo:~*)RR ; "z =O-}OnT|wgӲiN<_؀aa 7)1"0=a.dk֨KaAґc. MWwaRF>4\7ըHdu7}K}JwpBC~Fj\_o9K}6Jexq3k y5S~;΍PS6l:-<%^̬l!ouw$*g؁rڜ~ !-q(^t@s@YN}C)38p վ}dn*Z;u)-3/}i_ሬ"Cwv ADz9]5Lk㮣>seU> O!U$N()@F/h= ۷I8-S~3eLe'ޮ𤢹\<0f^_{+5vK\V=R4ԷGlema ThD6ۨi8"?o`_X_%@Egx S+=I0[0@syp-VMeSp bzg2p2>\ 멱hCߨA9.11k7YMj}xMz f2wAԅ1ߕ N^~'sZݭaV8ڡԗ[s'\U]ė T-,wMd.AFD\\G$NSsdP|Z~NaJa_4]سw< \Q$b!8$Q1'I]ϊZ  ,LX@qgk$wLDvl)p?66iewxQ B@6 XRk i-=I%x$TmαHKeq@ɧ8RGB^ 6cip *!Ƌz„wy}1WKӑ^nX cl}(< ;t/!C@GVЭ"\\V3?YnFmgSt4 *qCJ7Y48DYӭ2@S~Qn3]Yw¤lFzxag͙g6<)6d b#NJ..bh/06:r40sl[q4c,/uQz`i=ď_7R3,=cɘB/4w ӱ6låHa_ ~ g?ZچJ!%$ױZ1@MP7!j LAKf:=Z 5}yјo 1ˑ֩9YAU~dd:^WŨFxG` u\fW/WMj'MPd~A!7~i8#@^2dž?v[A;IھAry1?4_Vrbֆ꠯GWZ}I:I?!hD T$ZBn0Y5$-)ǿ^ 5} 0Li% "4f sc?eu^JgJK=Fwawl|ɪ *䟳%"xp~H[svPXJmWeB0 ](䃖`Km&p+&Qyُ ^6RכhRl#{F2PYt֕blje,V^u7D8užY= [c[`Hp>顬"W|_k*Uep[!#~QjX&g`fkw?dl8rTW=kPYct^_pC+ @guo^W6KmoyxLEuJvh$ߛcA=I. -.ţaw\-ZujŬO*Zn#\ ge)^oSÉ.SD0F" +%e1q:QHK"ʯ(Osǫi( 0Z`z_*?;f+nME(|iU_,a4u=)+zi?8-қR Uljvh܊ɀS7}nkNpB"-#JyT\I("`LBBե[RaOpH8^#5.ؓNu9r*~JOur'/L0~T\h]O[hSMIr g = w.s=ЖDVk[yo`-o/ȍFӦF(w`*Ѯh^l&:.D_z]ptb26HP > b (Z"g@?fЩf!{̶ Gf102+ O~0<fCҵ#+Nls (ݿTXհӮ+zPֻ珫Z}/;4>3[S 簾ڀwS @"\n?|śU}a9=͐4hg.#`~SEzMPiUc?9TOG)n`0BvVM[E^t9~A<0PP_n@MU_8y eʛU"X7tȾ)w,];Z 467bB^V:xצjAȳ=)Dպp` ARhjms޾o> 0 }XxhxM\ml jVA>[#1xЮ= g̵Al?,rak&;*\jaXqrk4 ydrsz5t~&p.#ljrևW/ Ve ڤ#?GnopHG7qhNv=q=%V WTN9\#CoƣKg{k%C }txrׯo=Ыfnbf rNI\?5Ƕr,<>t졼wщ vj_qݖQV'җuKNO0 V08t^=*dg[5 Mvg is7fl!"I(?HeU@K4E:6ѧJ4߳at6=9Ͳuo8Oނd~'M,;WH!]%~d:{,oO!WMV̧߾OFVZč %ҩpAƸZb8aL-:([)\t3 OFMJ2 |:P֨K,45M]jf jm:nX']i8'Zgnfuuee=Mpr<ʳp|wTYiJVD̒r^)+C Sz DJx i@=+ %m*?b[R)/{jl }q@K )gޞd}@2Fz ϴ(#ssOpyGF5vȴ(9^duScq6qx?y[:#.2}Аfws@E%AID;f@$>>ݐf.:..Yϻ''O 6j1)b4$v^5*99V;uKL2έ ZO)q@\PʬalVVX/ߣ;1tC^D>1bgNohc:#v'm12ǜ~枞b(oE{u('tdWƚ6;R'OY3tik@Q &A*S+4:X37QQY@:d̈́t,|GֲI̱]D9$5Kqq-B; _Cy^RwDbtoLМBu;khJ?O $jQQY-cLt.5)=v{ 隊p˾ ߛ psSöDG6 Ξ}Ƅݿoy9k ߘwvlj-SX:]?r$fR@O`7 u5nza!r# v ͊?I1Ena[8&.\#ۄM J-lqlcאX$('ji - \V,F;'5;)KL>6nqnu%HD!AG:PԷ;*Ys}Nzw_ VyMV`l{ =fCdŬMݒxP#2gWZ[lv_X[D%` pC,T3׎9޷sr՜CLJ5y ?=Cjel 閩Y\L3}4&rމfZ)ɡ(!`}ZBD#>&X ~b= _?2KVj!( qnЊ]Iz2#f&o,Izem/8;C||4* WK [kOla[Wkq=CtB16&u!="h-”nuv"km밫_ ott]/ aDῡ 'oQe[ t  )V\y)/*^vEJzj'6q1KA˴Qv߬z̬9i̦z@Uya1ۈV5,#ZC<*d}s`΍2(*psZ5&H@tƉ įW!̠Xrsa!M~&CZg p?]v|ؼs28CHh9.J ZȀ@VNoISiqU[M T]Nrn`^8#Vv3hoȖo̥fדk0S׸$5MQ_1Mwi}hy 2Hb,(9@,Q]҅hBtNG֌jvt͍_/WesOd]% {$TA^yfn(a*~"dS:U>B66 ׍3V<))ZMqK]J>~)u 4KI2W!}[fז6i*}Pϥ>Uo 8gO$!$`5hGZ~@p&HuJ"lEiFݴW5['x9B(bUAUخ&\@f>m F1xDt@QhS.WޓBn.Wb7iI֝YbU H ]_u%|nnL2ȑRsf~181`n_Bӣ4_y-6f5]^"ڽ @6zmb';:;=c*#s1O}TN|xЉ)Gj9~[-<߼mi'rϕ_%Kc̳ig`/rCiݩ.2l%ո<0m'L шt://= ݀SvY{ʚ lVgk9 p> "Q<"tVu= k==SUPmiNgq+qӀ 褴2zO0)=SA4 țH<;z$6^Ri!7C# kF bOl|J ̈ӜUOY[$"<( w5d䉹2Jd+7/PN;O{`q%a<;aarI%p 9hƷ5iw1_ [L2A $G[8uf/-{P;?O 4鄁oќd~QXO=&vXr jX9@wx.=QJ!1َS|Rh WaEB"uֆdvQ.yjܳ):ت? .'e9QG(@JS]b ai 'HU@_Y #dQh)/G8l:`'UbYƑB- B Nh|/ԙl'u;K?\JSzEs~`{TMecMb>WKS#tR9|ޫӸϝɫ9v2XS` 1,o\'bE_N2*d]$P#|ʦk5v5q/w i}BD&_l^qqjoLi7W@׊JxL4?E7PGշ:#b i_hlpKϛN&5+Xټi,f=&>æYm ldC4*\ 4ANX9^M619ir&$@jpL q X*%>lɹrܕ_6"8bJ)xeG0HE'm1u6TpU $37}](|'syMyކDyWTmf%ORjR3×摓{@űψ?A@k#!m9E[]Mqي>d|~ύCU0ëW(}qv)F^6qgD{-3QuS/HҞE`\i5 `u~=p:`s(,/@r}o?AP: q?p?h=-#}W,: ^]VR SSWBS].:7O=%@ И\5K_#;07ҼnU рӹBKY{(B4T#I{JezۙYM3Ʒߐ6E G`KvhFV_5T'ϳq3Uz.+k~>``^v >G GaFBAWGIq]Gp=k7fP[~GcKR;3G^tUa׵DK ɬd?͟A@[SG?z#u7^7mE4 7: ylYԕ dR\f^TݽGqbSrNHSk*o%6krL,RT,^0t9]3T{[ba^x4~U> ^dUYZѩ~0S^ 74[[ Ex9Un=!y="tGo$y w`b Wm ygVV "=bl|ѿh ^} r12xE/m4 b'Ih:j02Ǚյ@n^Hq4C!B>d'W3:@+d>eQCSJZN>F32jay[R|M/P^b(sE@fc0?ŢO &HTwضU8ŽkI\ۡÞ9s2(d@kb @BdAi`~|LJlLT-5/5t'1ep>aEJM->?\P% V-'cKUOQ0_jjzcp}yoQevH>\%DXLDVNu($E6.ZZq`v]#Uw08aL/؞YL-Q ApA1W2%z󣘶]s% L(ƳvUm0j<}ӕR~9F\ vѩKÍ,\&W,Do 簤Cu G}fiU _Dc4aFXѩ`T*X}jr F(q cӘ^+4ZS 5ESώ3oN!5?! b1T%Iک|Bv&4j=/Znמ{չVʺTeenIϺ"Mkөվ`y|]ju 0^Gob0m+-NI 4% 5c\ܺ\[Ts5ߺyM9ς/3Y~(G݂x8 _'y -o;k/d64s/Un}' lk9TQ\3!AL aQms\Tk|ms-æbZ00!_iP(rDs ~E\/[%cJ/r 1E)ͳqu.Xrt'.)A,Mh?? 4V Q;\q$5۾u7o D+vzxCNC(ҫ<8֤ MKajsmy5+e*v1k*hh 9GRkWd.͎,5/gQ-;fA1KV߫MZސ1gH0[,6'әxܴgkj1tW%7)YGW)uU{:L(_8T~Dxf&9^xVXw:~]:~]jE{v:7N۽>_~fAS>Ĺ]q\"h`˵7 K?$ztWVGg e;>ab@vf ĕ}AncHa!rޣךҠ/}FSSD]oNYa5!Xlb?GEU1ړo4Jo#g!*ߧ +]x33Voώ`6][cn6 >!b=;76mxپ'`*%tK%x =iSg\PkeG5]oƋ5gn%-DJ1, ~3N: m?^p\pmuM$%wd{ѓ5yTL &}}>r'j65֘P%$'C&0, zehuhL$\O&Kxq * ̪~nGZߩk\ 6U :9 D,N y`m{+<FҰy4[Ӗ#g#[397ĖisU4XbP) p$}E,C{epj^a :s5,mSy|:W&޹bw^n śL tIS_)"qm"cYn$%C`*"'$[Ȇdu$! 1- l72ͬ@EµcCCII5a%g_8>4wn[<O3\685&ŷe`Kŀ 05phOϚ&vYDéYxcѱFmcfK-¬:HoF'QMpdQҜݬ!_&qjc_ (h 3|<<{XhxhrCb6]w 狕.!c J ˖4(e@ g?X@ Mv9t &5KVP*T*>sd]=l׽>F='#s&N7o[uKXT4X)FWa܂f;*R@GB +o2bI}n~j[y:)#AǿZ4oѕ-NtbA= /Ssd"yҗ)0~D~ $ER/"~H,M>A3_< O(U%@y36%&ٹ ٓCr^lNo PT JO%d$&XK8zٴ]aπ!!_Q$DQnbxQgVv1$hxK=[n5TC@Ńֶ }7#0]ih6c8Q$EfH_Rd+c\PbRa^LX?=(S}QiS v!+ ̋)Y^eHtF?ujT}l3Wkn do7,_M;k=h'[? W%taUcH$.%*|c7 5e 6:S\o7PS[nVhxjD+u%j#RW{$;׶_&><T%fGj{lYJW4}N>3ʷxȢM\v4GiiF˱D O&x:,J2e8ΘZuz'<0s)2eKQ}kӋOt;2X0΁'vfkӧ`eL`EChIx{퉄~h,$IJ (mj+(q9c@<4cQvdb:ECVۊk8wY]-IJDK?gAB#nl!Sue!?Iqw(Bɿ ~JFe&<ϝݞV.O/R)f{_0He)-a+u>PKkAk߬u, Zt} VL`l {c'2t; ^'s R2}k9ݧIĩ+m5X[r+'OL(V)yŽ^/Q ps|[Ob cde"YhA{xC>Tg8.1#Oe(Cf\Vt{J~$@X|xmL!IYO> }FICȿ&j!v)mgM㫊"ҿ3^m!Y?x2q uMx.*UuBtP+f0Gx0PCUP lkG}<41%4fmIsQI(2pa(eB›2&ᐧ/tb3hCE~|b8Gʹ*)"zJ^-?I#rx9lU?Fsbv 02B!) e@:=[ .e"A1YP.Gu^_5R9!mbd9⇊$3X{c-ׯ?j)$g٦;l}>5IVi@z =5~$ I"p2 (Ѳ5h|_r<g9 'Jxvd7 _i]lMR`KblWFc H {m Va;7 c⻵*A\D N*V":VpQe+a*U.MLȠf0s}Lw2-|W#?;ºAQ=d0 #Uufcս, jN-" I,Aϝ;#KMx6^9z!5xP8ȥuPHWu&\űXFB`$a5S[źDGy|Zըn_fH#${#։t`st;rI\:R 08J^w=Ѳ=d% uhz^SԑQ eZZ.8r~b-q6}\P830Vv#&#FYZGrn}Q97hUTG/ a&}VҵDzJt3 1Z>ܑS ZCVV{^‹ϖzTtZ8֚z+%٠%i`v1M7Ihtk>4HP?`L1ل(31(7 ^7U%a}A8\f 8@ܵ(І@zT& -Εry9闓tVZY{nP*LJm&ߦ~ZczKT/N]| #ɣCX* eۂ3sZ' !f`۷A`He-`m=sU =).(tnP\y7&~yʢ~q6a6`OvQ` T]p}{@_X5w#3c+ɻ +<;_ɷ!buS{&)GBx蓛j1lwy'IEi\f%K3LJ) YyϩlEb"<ÁE.1_ʹG-,;@/4f Be2F iO吨- U Ty# {tnA`Y(?U^Ry[8.je[(QqM(.dI03*g 8vkv:a(NT $O-'s@EށB emj==#d#GZIol2[@ t{D !WhxZ[O11^MObUs;i)%1D@@տ!B4G-tbJ+b^WkM~F*{H)h T/\t͙ &*L/J. PW4'7;m> % t>RVk NU/=^} ol7[ 6ɺp~P{sfs궩_7Jh@R*Fr9##@72az&m 'DZpxjY^Mf|uP/{2A -F wja:5ʘJ!0zSz HJi7dKtWЮd2W2M8G&sW=WLU;Y8I/գ(8h[=7^@&(EqL= Cˆc̹m0njgW:l+52XX>–iFCwSHƵŁ9D OX<8;,S\\} Fϼy\.lI[B[m<ieTxPrp:2 ̽9 ]uowpOR8Kv<|Wi;pmPDkK# -sj{6Y<KǹS-<$AS s]BtVNd'8)V8Fl݉CQBl6vy #k|&?dhޘCqɇ۞Q o'B[# <;vnЩZ/s갇ʱMwa4]CeJPyLoȌiM&%w2p񁚰I'8 =H{k~3A{IS ]^"=!_%)ܱ٦4>OQp wz fgކ+l5Kj>KxAb{Q=|'KjZ']m'CۡR ,ulR»qApbjrm&138{R) ǣaW#=5gQ^5aw4eO"77l;ܳu+u7ѹ5hOzҊFLh{jT2?';)+ҲP@Em=չ+Cf~Pv6]b/7㞹@@|͠3 ɖ |jfDo*3xtE%܃PLy< Ѩ/ȗԢ\2\88F_KZN҃ 61p4N A[fx@BMBeZ~Vhq#z䆐!`Jt䛋nMs2@d.%N8ڛ : шIPHMs p)X rkOe=8G\ $h {Iq>t#zR`hjveK "N_/ft|%qT̵S\۾L6"ø/NOP=3z2ݗnaC:p$ue-h\/53D_xaD Kft@IIiVʼn"]!vu 72Z|Be%Dr2Vsg~^ 5ԅ TNv^I#B8NVql 8SZL U t{ɴ G*NMIg:0ȁYnT *_C_-ޝR?a]| MlA+Cy6 +Y6y ]p |uڢ/TNJ@ʟ~辙SԻ]1< `^b d~e(MECGӐHmeK=sipa௬/cR7UXhnR "XB[!nziΜ$=<>TV}1D攩ـmة&l>9"xxJjxUB6yEPwF-ȃ&˝|ڍYSFRa@ȣy<`ָ_txK_E z6t^xZ>:Z2~m j= *@XEJYy}h{Ieat\n՞,#4^ޕD[*@K( )NEqul+,&CпǵN *'("B;YNe^֭_,s)82k&N)CNY Ůoc hb%*LAx_i" '<3s}KmO 'tR~'5G!AK]lT qw7>Ώ1 gG7SHB@B o"BqB')Ov3lmFZ+"=| TpL $*7nlc5ll) ONZD? &Z{˴/#]/9&A<zL M&ykH}盲 \kN|Q{YVx-<)`3ZAV.`t +Dsݣ鸜 $F]1A9 5I7J#Pn<&y}^{)҇\]7;2Ȇ"џ2xUЙ?8SZ.ȔHcⶀmpІxx@Od~|"Wd,M-Q|Y!_@wt 4İS$IVx ~'q9]Q46D#ڭR)89ܓ,gbhK>QTQxeӜ}=mEti3EI1թB=v-/5vS7zgapa+>C9줖7n{4P倭nOtV.mBZ-bJ)۫NzٱB=c- !k˷s$q6sB^h:!>=7CL@|aEsқYK^f"άmjW^ #|TV^#cB[|0y0I"0 ;G\`hB &: }RI`".H5s@`mQ1|AWkzEA I5Gnm7C >X'VRpArM3(^ud޾8FY/ꆏE:i1fȞImrBTKbfu{ԞN:x |ySy%)!OKn@v)\o%WiWE Fբjbi{y ~_wnu1E6m=":.yZ''Z;,  C?܆E{Ks8DK$8!zBB?S'TFVX.`V,/]6 <,5\ڿL.#.xUo_jeIxXd7'#j]f ޅ\[4aA:H8rv'H$ǂGӸ3p-\^'Q ٌ̩a؊,n2ȒvP/*r2t%0;fef{X`*g?OoS,x Ӗo~5LGH黧jWQ4F6YcSރdwQcf#i [')l}FTd oao6o; D` }<{nq$B"vũ~F7Pj;:¹/ LQ(dȫFeN|O5]1!'S.^2`~ssq{VJCH Ǝ $wUY+Gm _q#2@ $"i`=M=OSK| 㥏9`U6u{T9MѸ{ t 淙3CCkJ93fr$`i_CTZ@wM ,:/d(TiPc}pS/ B1Z aP-n#c}. C˵N2]߆XktR|%pj Am 09G"J=iiUzPdH+XGk2$u:.LL%(;&ːܧN>VR?\(Y+D7ш}{Qņ׫O:+7T^UIi)ԳJmOʔ1aH]:՚-l}fJ(eU6ģ=t&QKm&1uZ2&%]wioFN1$Eg`y `(OpZ>RdñB|ss wrC8>+a{nEJ֝Fm1s bjx|$oqEzd};ڌ3!ǣAKLm ˭FBP`F74++]¤?}2+Or JbsD ɍ—.*sZ{.NDǛўBL> S7h'(&|G3hV9$ìF+yR _L26&c?ja@ ֝cAٽ6XG&qJxItvd S *S+q=C>U*B7Ie7]*h"77nVhn!{2pҷM˗F쵱O|《16E!xq$2XjYGudRbBMnzz Sqͻ$|ZA(cI,Fr/1hܹ>k*qE@판=i :~h^mZ^&Zl  PtfvYX;W4݃{5Jft)m?aw564-Q5a'@d ߰oBvR,824: KJ6 Td bWzV.AQKv٘r]+ƺ#'t3GKJe)4B|07h e> KFڍe_Z}_-hk)Biq[$Ka<s4}EVzo Qۯjhfg0ã U1z掏f\'K9Padolf "L'-#ШC4y^A-3u#C\z*oH 7}4ȒEKzQ4XaU=~Kc^谴j Mwbm9 %w6K=֙m-z0͈7 3"dnbxq+O\&ﱂ TcQH[0GXgy;#+f |v e哯_zŀ)#'rI)Xz|$Fek44@AB&lof.jʙN`͚GDXG1ݱ 8d`!1s=o SSpKqrr+dA?2aOxKblnJjzV9iy+oS*QG4BQ6pR\itFX<&wB0!ޙO/Cm9RmN:$?ތ@I!xV3Tj7)u-8SL}Go!^#W2լWI̞ʩimŵ yAx z]YIba@ʃ 3iËu=ɖ~oѐ>5㫟ɥAg eu?VzQvlBCY.ŞX _9NF{H5VЖɿL3vw%aj!N'R`5L_冨GCw=3sx@Xd덣O _3}bl}GDg6f4)Iڭ ы4~ <4ikٛwL! ?lUBd Sv2jc^ XڒqH"#3']ӠAc,3 3&7VpGKH%hڗ' Lwl6{meVN=qX^3 (-GXz]60e/bdkoь!(*/T/Xۀ PAѱPO}oO>ւjh{&p3 7%+ZB1Q۳xF4}LcyrDuVqB%sQ^2ܥ&y8AO-U ߾Ẁ@YRiTW &@U_1 3u7K#s&?X]5[q<N~<>}4. <.8jWÇ ;e4 UX.' .CQuVe@B=ĭ=o0*MӢd9:qXᓢWfvX=̐LJQ&`y"ʺ@=wwcțK' e"FG7 /s)Jn«Z656j2U αA xRZKMNoiF65+ X (b`n1_wԵDAW6Wt.vgCc0(%?r6,`LyQ9"|H޳ /Pu|;!!щ+i-/Ddu{suCs\ S:r-CE,iܔQ|Fv J D20InJD%tU)%gS-rM<8U"i]RoxywӒ}0i;ւmȬ-aKuWF* E whځ%!Ayoo5bSDy7%bpx*LĶVWQŹuT%_@77':f[,,P@}گRraH`"D+Br@0?s:c^+$?EjjL#tAg8 ?@ 2w9EX^P11~O=A3wֲLZ]E2ؘ .}FM\2_Gz|sk-~өT_蝱Ղ7Z< ShdUv{FLA+X aUm߾?cV.搱dδC*ko$yXH_{q17hp˥_K{\#ܝF/ԝ5~h|7mKYoaT0?Aτ*@+8#hClƋ%@wM 1S>{~5knjА!$V~nMu %FwXXGtsg4ݮ!ʄf0uiT.n2Kn@NX H]V3~7إw"_gF87iD&0.{-=$|2<3dO0^M~H~GMp}Qi 1Gw5ј I)uZ 2DݛqSMO+W{Nr T?1\Ȟ֦}LMK敇u 5+Œv-{&\;_w ӀSZ*N\8YJ܌MRQ/dĴ>.3ԧ3pՈp [XNb^iA 2ȜDPaSe$\`s4J ZTqFO3)R:k'fhNno5 HRA%ՕnMAR2z8p#C%J5_s+]}\O; 1h&aʍ Ti^DCAD?}PCl&q;I`D]RL:"^ք̫GOW, ;Yx^ąd^Y`'(I1a{R"Vd% 0UbM aK*ܥ ,;YUuN_'5L5SН&x \1?ZثlD 8Y(I?EM'XEF}\fn6ӲW]Mb:+W;a^5dZ=S دpw~{Z&!9"ڎ~UIh~@PR<*`6ɉ=_踢kJB{]F,k(;{̦6]|EτHe>~5 qRaJ]K8c_%zϰ#eI&Avu @N ;Vlvdl]>V|)D:%NMj0n"n表y5R}r@f+Vva/[NyPsSa s}8[lz^+]M;saʳ8p@y|j[lH(LB4.<-Cx=)hEYv>|ߪlCQwDZ?s@?tΓő1~O5\r~bg-s㏙pEܴͳp}X>dޙDCyʮyj%PÿμI܏'JV)q7@y]EŮaݖ EƁB \2Ĵr0F*Nl>[#xS*2nQ7kUHfpNdyXgUlHZo F=+a7HkC%Σ")v]ާEo v{DXJpFKBt;@Ů*Þ̉iOSR}iicgN}ULRÖ$ŊA:DeKE K|@lQ p*890XmjZHp7;ZtY&gK2V! /Q3|3f 6Wa*Ët PS4uN;P+Az8!a& LvFppύH іI;`T-GD+SmYvHH6)%JܜV'co:F)H@^{rgP;'4ez|+5(EI ݨS(4aEs )Y H𛒺8FrTqUc@> ЧD̈A޶#t@.չTp0^F~ou1 4?zԓQ52%!3vK y c?,>i%`bWTefuɠ.8ھb`+x?l|s#QA[n'rBGkH؎l^=K%ՁdNӶEL_=K|0[B\YJt/np\zYis!51lYAt P'*k]AinT_N8? vPc|U ikÆg$+H)%>YIb.<*:WAt[)0vR!g,\wLl M0ΐ;a+^SI| u?|{%BV vF2N=w#C"0JRNy?WtOʂ\̹de6]u]xyy6p%ZЦ`8 PmI:Dd'yI dReodm/o?g+P{_]ġyjcHz#1kS3-YV5^7nﻛۨ=MY:8PvMXv>C2."s:kBI8 6?'<,w.GZDݲZô/'5sqvGbs^tƤ3e=Y=y*5; U3Uow:vTTNBS(=$2QP~^^?\e_ whQe:1nLrkr-Y$ "l%2+~ZCz?'CU jn-aH߳7H4jqCE/-eڶ-K7jC1`j>cJW 9aHh%NuKzWWOuh= -tQ784F%ȴ"Gvi֥Kr,L)g@CРO{.ܳDE집gq.>J6&(}мTy߰TW75Et_ʼIh`)No@tll#ו)"^׹~`S;dfaț+A K@фlEՒ#5r>]RuG<>gٙ`U$2Q)b_~'UڐZn 0~[`6 %ܣ) ]~ )N4DFfѫMdu%j~3勌9$^46r~X0X6RM0+opfԙ ㄟ)lE:c:3/!,Ay\Q(.ɣTv'o/iH$ 40~'f^ݏoNcM&iٍ^s.ZHϰ+fHs ԽH4;jc[EJ?㰾Ѿ! \68b2fhC:M9CJӈ~FrrEBLړ=BWނ?9a4i%`G7$`)57s6LJЄӡ)+V;w@TPGLn2^YvGաr|!>wΏQll"%.ާn pQsp~'_< bwLdLՑz#샪Ž/,߸9!RL]j)J1Xm&C8!D+9ՕUA`! ұӻh~ ã!xnf ^l';:i2WgԻ&}:7?V$qk./+r޲*IQ:axD G%rY jhW4ZH OāSc] T)$ ΣP@{rrGvI]|3bNtrtre$S W`~^]W3h_@M'2Ki_vi~s`_LW"R k>ˌ~}*EPSְ;ZGc =oNWя=Y$u^bQͣSTs`JЗ0{KF%y/n+]J4JNiq\m.j|";gucrآ Wje0Jo3l]1(aqZ~s J3GΣ DpYl Õؖʱ'+mEدY K,Yם "PqPڊ,!3B <6!ßWLl2⠀#ŌyQ3C/NkX%Gt4NusJJvZZz+ʂ(z;{jEFXF:ڶA^d;=^@svy0̨xU0Buݶ/5Syjޣ# h46RF:m|&kެ}4Iwz4kk0׭V F w0 I6xW6jWgӲfbf@$c-ɱmc9e"ܥ \Jjdy وj\O%tmhŖe7'\=+L8"^8,@rE6ǷhHUfZ^zʡz_dZ#>4TdrCOJ븥 nҲ1З+v6lD WB;s3P˜s'P| ,٩#{q뒬@OEaX>vY/ޔÁF80Ky]~Zq6Xd\C}xF9`Bk|]7}+GEPs>匳uKK 9  $V%d:u2~@:8 ]%:FsS2̌"I=5%MǔDۄBj%+4g|2&GSDp Re]T7$JLgs'4ݦa1k tz&_ui5vt9,Ji]da|D`d] [fZ#Nwy?-nM:^[se'AKK8!NS/biT<??I2aJ%v̈́06Ųd, `rmU f0 e.|ۂ+.zy\'ƵTW 3;8aJѤ(T3(Ar'c2G5/|q,xyT@(𮥮8tM 1ɴ Htt{sekiy4[aĝ+|p,~m9;'+a1bEK-Y[f'9_$9y%\x }`#ff첺ᕙmgR+`:o)1M?' >?w_ O<2 N`[ Q`wP/״L~)Eo۬K)quwlnro7Z+\aˇ+x('se/2ix(}Zö4,%Й=c\oӗ\K/߽j(l݂{~b"pu*nqV;#U;Ά+diؑfE|ˠK,XNY^1EF_QUmM<k]6ӏ2KU*hD`NlGUa?QϜnR5bb6)Q{ч:'&4_eFSHkghZ="56%àjF\]hZ0H tyb>Gj7cƚbN>BLxm(r:(5,~Z޹mhVmR3pG͸Ar=TL"'ic{#/zVL(5֮'[d"tWa;).z@3'i/ċ{eh4~olZXTVap"(jy sN:8/*}q4NG>rm͕B];֒ Fپ-8pI(#0<+D"9&hmZbnܴAI=Ysǵ0S^nY_3]^xMeTvm^c~Ԙ,0ŴTk<6@oG*oM8QA~r* b<XZ1hw+0<]ۂՑt2Q>gT]UNEqOiPH+|+\1"$J">. lTmoug 74d};ҧHK9enMiL\{ )m=\7q_>*WaH+.Dj(:8cKƎڶׁį"C"Ru05|F=cFsڈ{bgol®ۆn%D.֝)1R_FJ hP/=[_,,]e_՝|6yI;5چ)&CWMB'7V?BhL_c՗wE#bIȕ(a/ }~%xf3Ksǜ%EJ/WvheJ`+Jo# zD^rv #4`*c8~bL^lE {+t19KK99èh S>d_AF鍒U&b.(;`'HJ6gč5/M5B (rQ~~ܑ\~Qm+F⩙z gzEvlg[mm9,?ݪpK_+ v z (G|J*F&uK"Q _l]s7VQV=iW)۱GQ{mE0z-hzq`g@'2I ꐃ28]K)Wz _F")*{O&yTy=ߣ9b NNɮ٧=I"ܑ:7BjBLSkׯ4Q<1z? =If_cŮuq\ /emjf]/˵ʖ*Mn3 ^p@bg/[˷4<6vJׂb@q qZXo(gj!s!^"Jlq0˔O-b׽T\(_ԮAgwp{nC{(iECo9}Y/oaD8+W| ˳愒 3*j?dx/n0 R|*}ifL5DV+z_/ pɭ95 {G-@+Pl=\.,;`zi ʧ:#VDB_E6Vx$P}0BtAOU=hU Y =v{α H{28e֥[yÁW ׯ-M:nK{G^8̱D4,`geOVA\b!{RfP~SKOFjȑ &٣z?of_\&gN5Dßgp(#FExsF0ok6GddNb:M@0|*4 Yt_H FivlY(*SFV}2U;:훫~-gigܣC( ^QP fA#84@9ML50|[Zj~<˱?`#V6sp !W%Y8]&U@T9pd8hdFTv744 >( {4eD:>=W)瑗`= UzMrv 2W /wؽ fi=s{,:]+r ΍2?aMB<&܊  3oxF՚WPIc*#Cy5IJ%Y5q|T7DI<թ}Ѩwg|YCȤ[av|Ϟ}PλڃUIG#Eve"9x:3N1Lɧ(r PnC^ -PFX l]h&4K~?D.\8(JgjM&+3DY?Һ7QfBDWO0MO^OsYz~b d)v~Ahf-+kwA3HKŒo _X'zX*zkSt.TDSd>c6Y٧ PJY/ cVI=z'I)Z21TJs~kT|yz3zx N4IU\=F3"nZ*lʡ 2@۠E{+(`bE\3ph (Or`׆bV7n3D86Nю+<{EM@ !}9 ش D2R}uT'3\?#9D&=ѡ2Ň[&{KKJϫDh%re8Ę7b<%"JGE'-9|,!-F75Xϱ&v60EP)]F7Gs#O/MWA6XQ]9!:F(0X|\@'_鲁% QO|ʰ6ߦVwcGr5F'i\[6 .KO\Vx&X6(}KfRӆ\RdF_x^`{V, E` ߳2Ut.i1ل㸱HdkP-|~j $jL6GڽW䫀Pu2q:blU4CQWl1 Q W{mB" %*a@}m{D&:60аmwNQ ݏTIv5q@1f"uH`N4@T3X[Dm/sxE">WLx:ks ;Urb|psdHUX~l%g8]ھ7 ߗf ?aB8ݤvOvsQ³w/ BdhcĠZf Evҡz4s5 uY x5"bRL7H` "&TF,Y#S! ]hC#-8leYzZ7|ک:}X3C"Ȏ9˷%2'bq)Uy=ϚG# d̸H[(Ċ\j%A[﷗f"N@OiԌ T*ֿ^\;6|Nqc8Yp\D1\Rx/n$iL?UY*'n1QƑ#O: ˓Zlbtnz( \`ݦC`Df#c}Z#*UP5n=U tgqg1r4(편*k,fWϊ!P)l=;T Bf5w:>RnS ^K绮*BD}f篺jF xEvcL,'W_pDzți>zkXGC? >Ji^KDj;VWHQ1TcnhR gd+\{A3&8t7 ֥tTu.86 p/?2p>!Y)kd dxr{{*JHpӕQĝW[(tÎqG7yZ!94?^MT+/{ P$&/vy`<ȁpj@,CSaЩT{$"u@K灒*s|Tc!X*0>G׮ &q9ǐ W2x%$8x#]!X~ED4DeL i9:Ȳ;(lh,t Nr Q}*+- CP)ᝧjߔbׅ5I(^hɧ|ϟpMCv<$V|$Z”TCĘt]:Ym%GӞbN<0Էw,q!_Wa'+[ʅ)9IuFӝYYzǷ/%JxM ι}ȥ cs ciFy{ 5&Id5ق;?b&#|Z})M-{ED޿|'rW=vC ~-%.ࣜC}^|kdS .y, |<ښ],qT CWꏮb*} Qn5(1[zhꐢƜd8r$c܏O5lʱ2#_6?.pe knk/#Sܽ7[ɿ"-Q^0kCj0 rR3gmrUoVdETfSf "ZRp;c O~`ˠ(1ռ׽yK sJL.MUvcrBWt]M=P3L((3=:ۤ 01^6dBp@hh&Q|\$Ӓ(<dc[uVoOQ6Wv n=n|6jGf?`QщSV`$aA6SxD6 =,}N 9ψaX'-㝲]7qe CmJS?"--7 O\XN?߂t̊St9" R9Dt/*MKh{90 x)<Ū̔O'b4|bF>T~Cxl4jlqJRf&.+WbvIYճ 8춈N)'/u< g ӨDIС@ QrB6떵_Vܷg@aD0`m29"Asυ!%#׿@ʒh ՠ+-!NQ۽@ysw,Ѕ@ 11J 񆘉2׫uؓ5߄Knɿ2lsLoٌ8(8GIݷƠ:KlN <:v 2v.\2V8!Mpbdy%0q/ӞS֊[";TuϮH6g4 ͺ W_h4IiV  *`;ɕ_@+w\n r I~!CRh|W ح@"q ]!&#whM{6=u%79xD{ڲ Ǻ }V DBe1&VW+eo{i.,D+txs]Zӯ|ukaypY{d겐+J`}Ψ࣒Pz l^l۱flYO/\kOZpmqإ Rn-4EL!ntD{ޤ~η+_+i ]}؁i]X=*'MF Bۄw~V DX&{KAQ>ߖGy >#$` /YSIJ"4L'?M` nx4 Q*HlH!PSL^yc6n=.gI$өY2n'u};F/_TBHfUyG; 6$ɶe/dWa#hvB^O"ʝwS`•ljozkQ?Kql+SŔrJ3- ÀMU."qj>!$ʚOY]|Ǘ`$EK2"^Iiӝ(aǷugQ~ɩ"PŸ49M34/>#f8j7>G2VX+̾6{n4t84*MY6D'EDkSqQ"=5v15cTI{&#^Ti aqqk]䈑fCNQ,axSoe'OڋKty`%lL{}?ہÍlmG;U@\)b<Ԍ }T>䅱7>e(F y39"|@XåD?@%_x_ ( Cӝ=[x+"~O53MR'? Χo\uGƥLm-n,\ˆł.3k7LX:Zoz;_%q9E3r%؍uv{$ƅF{iyt5@[ԍc!nڭ;_0.!~s$FM MpKF7s,R*x&8],pJa4q߅(K>|ĒiK. EZcu5?bI ͵zcָ=n/yCv44}Prn7GI@gjyhʻ̠o#%C_-Jsdo̤ejWG3bi%ue I–> QO{޿{ܪ6EbAYsW5 f3:W( t#[QGN'֋z2{|ʔ3\~zDT}賷Us= ZAﲊsN/to71P'@_0*>Z-{ \kXsiv\! MAl8TrUKoӜ#^/,</3yٻpU)M* /jU?2Y+9_At+`P>}h؜mS (9k[Rk]^{#1ű e,#Jk,Pb$Z>NE}jWOy?liPpNj/iv}bUι@S]n XLkb4P hl?FUf1-8^^h0FhRYTV.%ͬUU;Fv\ʊ RD>B,t*z}msS+m,<+nx@3@="l탯:s =WkT†1.NaSV φq)<  ݶXc-d;q7 =Ta_+WM*GZuTO~ \6`*#54,q,ζҋMS,*byXz1Ϲ*B!ɮۈAo\~]y4a@rO&e6.)UzQ1Z3=sIeπמJC sV!讻IX\q's l>'MtY5O&i,%n4Ŋ%V eK#*JZ.0jSBzg T'iTf̜:\ 9ͪ,N^䎚%Ȧ{L(n%‭|$<n\9[U i$A;Īu_wy*# wRCUP~=ѷE(TwðpQ/=dXtak")zd/VlBt ȯ :#=E=9eMhPnԔ1O~+({0Y%- C|{%۵BglkO^k1KofrS!ItӨp@;މ7 r@v۱QۍuxSW%^LHw7Q_Mj[k&c*:Ï~Yޭa0ۯiBPjqY0D`zHj%2{K}"`)ykJę:c>x+,īur%$ WG/vEmvA#vuxdg񃬙HYUi.B(z:E")i碵K4V\I="冏?ŋG>Q{ COU= S-(cPk1G*GJztχ[>yInh*,x{t-&!Sخbm|"db r!,S͘%_ J)nQ\QF AKP҈\xB fGK)vڭY"o!𞶶"扻1XM4tOO1L/̅N8<~MN%^HnqзU+#$5Te38S-J/Ϯ_yW['332O nu+/bʐ8x.Gbފ`QZA@83S$%+"A疙,\ФUqsЏT#7':! B_hfbyVC7Jh#yWg +nDQ*_.vVᘶڐ5-"*tmuO |6g}?72En$ܘyq›fؾBőqwjW G ){fJP< nJ /TT/Bm5sL_uG=/{ G\J>4ﰜ;%l{' ;~m p' B7el* @+R ZQM L^A5vJb{c/?rfyI\%!,ҼR)^x˻hhr#qgӵS l(oHCŞ ;Z\SM5fÆ׷$تq+%Zɺ4L$n]ʳpg 崛[a&^@ $PA`M8o4OkPQX@p׬ r3):"pB_4,jA?kZCR协u%{T,qaY=Gcocm?~_WTkA*!Fk-c&$-+4,f.}zy叔0}e{=|sU7OyIr$DWz!\:cXf Q&خr% {ACK>7gfK0Ob-Ao9 3,{'fsɝ./`lp<#KE~ G[Xhk]!Ȏ'bK%X:ٟ,K%ǭy`LYV֐(Eƭ%nV6F/eqwu+Mk]ZЊ=9e fN>{7>+ 2RENQ F"GQgl֓@ (;}bL);~< خ^C?BCU*2O:l FԆc QT->~6@eU4gѓ,KH0)Q}݁)1M&W-Q [ L2'G\FS<ž*2ļb%UZ'U;@)3p}DW*fT/H۞78v G!_QΠY|1YSoA'45#7ރ<:X߭dyeUx$%CcS#Oa?lgG^/'B k,q3Um}@9ԁZY`/Ե5Σd)֊I&?ƐVy|F7g[!ԟ"+7#b^H{[;FBۀu7ꨨuވfՄav]j'Ϻ_ ?Ϛ=7^+V>o=.Si&+iO2v*7_8 yމ?7l侐Uʰyo 0nbҒ],i:ٻz }9.!kyDIUH@~- ,t Û$oè7[~V虈d2 daGsQ2 nȲu )bY+FKp̷_ep9( ]!(N BّVp_ŨhCr'JiMf|]L+M {gUE!6_@<+IK46C=HF*W@`!zDLNv )Q4=Ju]~1\NζiX9L&} ]<]|9G#tٲ$q]F@ba*VY/T6BG8GT]4>lĚ[[>}·jhD" 29Ir-,j|퐖SL΄)1ae5Z6;j1ƿѼA>viovYn^.H9vpcu$ 4PJ&fG+.y$@]ԙgWE٣yx 6HՏm$iv#ts1OOF~,D>!rX9mா w%%2"xM'IF`'kڮNcagMk^=)P mۅ&fr|bk1nptnJŀ@rJ; }3|,T;֢`ae ;@ xmIsG" jQUȳ0|STJM8F`]@};.y! Ie[ZvаynuRcG'pv Ha--D|FAyۤ1answiX:3c魕"!Lrz>r6C@ -aj㈷?3'B kPpF2wT\XEhH hUci%3Nj0kO YY(-@P 9ՌS*M(zbkꪊ4wUo|CDbzճ1)T#+BPЙX!JH}N&YMj=I[Z7XSCС $SqN(>yn9`jODmZ|z,{8iI&}V2-?&!9d6Gd*棔RjiNۏUB*w"ցW`ٕ:Lq'VMqz@$iـxyi-GzO}W,&9clt6SUa %o~KLNNTdfŕI4U7SKD@_5*mOH$##Zny6&4Hjyo[ B =E,m('q6 59J L`꨸0)t2rDu'ai>Pbw^Vp} f{TZA[l%ho@N-)=ڍbRUA*7d<èV >+_[ތط WݝƴgECMһ 't]j}nZ;TMH5zб@?mQ7VӍl CRF sz[p@]ujnk˂<% p4ELkş~ `zg_no;Q ɣƞt_)_q2y4Gzۀ21ܕY<й3O, &Z2a$?~ɐ P %h{YkOb\aLv )_AtȈ@ Mq܆7;Žn|-N_uXT-}O=AӼPDblm}q4k2%glYEeS=0KoERlvU- yè"W)#CTdg?/p1\la W:G|Hu݈C2kfd6Ϗo<zM#gH!Dq@ ڶVڻ@ jgJk_*,TW{Y}նӳ Xɝфiu$#3]otYfx8dBw,:K&8jBhFM*ط؄*-"V?T8nv؟&pd` y ZjWwO :4*dPh$T1.葶,50vmb}<{6UAڌĂB$[\=m,GrbYVNj֡"DMn5]iB3㴞kpkúxwDO%D0AB&]ش嘙3^HZ3 Z=/IN8U flK.%氙Xis4p_mlf(DǹY<zq)Qً2GG#[3ηbLJ3 %tM6宄~wbo;vZ44üSo3'`GS=}r{ꖁ{du&O sjusL(pT٪eHLr\Ok2D:A^t"F1(7 ~>J[>R"Rň(8ߑB=[?DMGJ0_dD22 WڟC-([$++i#VjV֋4T'$pwvZHymf2tjMd~ -vқeueV仐"̌?5M&(y!Q4X)_ʴf+9L%|Pa`|;L(mPfa;QDWy0~_PK0 ip$<{o?sbΐxxDZcy\;ǰ<+8[gd J?L<؞dxl~Wjb,1ֳڃX`+'@֩;#ZfCQRrը5nm^ _F3Jgb ybF(/ʤns;d,s:8 g]lID욤5 (5 4ߎ=e_ڑ0rާ($'ZُfC Tn"aBH8ab笟^ Xb 腘zjzqx`l,m6odX65,1Fָ D:%:gÆWNNT +Ɵ: acxjÓ-WQqP?9:^FcQجH138*gniS!o@>; n5矄)@"e$2&aئ"7;[ֵ5F)loT&5U3Hlv= Bp/>ekxK"(u3I!&fd5USg|a ɅH%}̴F?#|Y. ⠅yа;"(H&O(:r詓.sלPTHu>[ls 20/Ƶ).0b96lnԿzק XQP7e[^kDd3ģ&Hmԩ?#~l5|+ ,V銡à6AA :67222p2Vډ6ģ$`#=VUO_eZ=)Ymf8J`Fw #]cP"%-܌_GzGa*=p6/FXO*u͵&82}%x_$,Q2_kH[HNCd14^vQ\-)G- %]&I&}B<6G])4ոSh #WjQ bqFJ לhtf! ϔ Fy)('WP P6n&k^E5"З1=QbbM2G)cCKKF?-JMg0fh䌉xݛ* ʵVb~ oб jTˌq&t$H12+:EMm͚lsJ‚ `OK>|^h:Uoog:oq7(oĖ,_@?MCܺ Ѯrt`ջZ1 &=95R@< n*rQ8Qj-NUdӐ@,.ӈ߼K5-8sଈM[*v{nQ"ШFћ0 hBBx썬HҔ5Ms@ԗ"d[S ƯydX  N,^x=й{iG;G0ºxvZ`zӤN+͸yUBwL2?R;9-h2me7K2ԟ뢓07rr_,Ҵd6z~)(!S kd]](IXD &.2/QY7_ahSO:?i+1ɣu%D'_h1wv@RUv5adp\FLﱳY}΄_:xb s#ZH|PbLӝ?PjmNJL :$NeT%rgYM< wi@9YݞīѸv#B8[2itM.-!xӒn0I%$ſ§E#fO׈2DkzؼI+1RGR / =yq2zi[+lǸ>n[,7%x|oԡ*7'p5I#_|35p\ \c0Ψkm?K>ʒ#]!'v `D߬ږIx4"c+1::0J|>ü*v9TH;YKmm| mjѦ[ȳT s0nobe]//N5emACRsVL1L|VAPa*K;SE:A5}5%0d[w4(h%_Itv1n ;"xmE3[Bi9]m uIW+zq6Ԋi$=tZX сn/)씉 V{C&Gtצr1+ażRvDrm-ˍVvl @ZsR:TLAr A=3o T*?`+k VzTP'Ĉٞai9`+eGIܛ#)u)c fiRAs~-,β}4&ү3N҂LQ"/m2g3'ƱXqG;^Ԛs0@ ƴk=0x"'ݽKYA/AuAQ.GtOldi-tg5 ag{Yt H"J, !eJpϝU3\ZxSh ڢawꧡcP dVNrWP*DpqL$ge J؇C`w5i,XXS(3W?q{"\SsC lg`s :^T%aڀ:yLO4lxVKs=*Xy aaOGK JіG`.ܬY<`Y;,96Cf3_W֔kqlybO.cX%g䱯BEo-d>0H:-.55sW FLuVd, | v31;gI<=v쭏 eÜ3@!J!#>*43C&6I,#+UYaf-8⛀IYGDUʦ !8W>ڃ@VXr:J1ӪMh$sQE˫VF/F쁽% |]RSHCX4Li;zK&m8d-߯n+ޣ'[q$MUnIҗ ʛPRIbS[Hvn(o2A מ>Z3r ˇ[tF;1rW`K`JDvY!th2LV]:Zݹc@:ߥa wH'Ÿ諠VJ|-@4#lpZâFo9Owo9|穲];{r.~~y!/4V[!ը*>8T! &a&{nme[ɽyꛫN j0^-[2W {s^_>l`pOH!RT0@KR!^bzv' _%ȉ+||?sd3|gkHGz/ '6bc:.X<0gWhlu|Z13 5.}%?"I; aDZ%ţYיC=d= ]a$6fO( ~:\AqK6܂zBZY`5ǟXI+YHwʓ9rHbF#Wi*XַB5^z;$ݖT03Pf! n~ itE2k5%VȗrDj(p-Z^ \_ٴ8MHͿW~[a(, l݌:ZhSHq/y1uIMmr_/5\ϝs6.Z!fHﴱ81Zz4kE~H -sw~+x:E?{"Wx%DZ@3NYM"2ՐrX-Oa+f&~*T ZCY򳻊"38tqm'rRxqITt,~slͶ9<#]ZM-~tuLoDf]UA,}{xf Xm0Ft?F TVvTDzg#b T7?thj7:Q9Ni ˘ͣe- dђXh3r֟D f  $&`?5{7R>R1ad}^MJh~;)-lm?o$p&#ʈR|-oO9E}fR\H=sGGg2銸=A{K o \i6f5?Cbbn*~?Ue¢)e>KSeIXQre9 h's_yI/I1 PcSE6A5ZΐHzjwQ20bie–2p)Gq 0cB3h!VdHJzolD+vzKl/:'$EeI\0f\:h"a~1^!uxnWh+JԚ7[P"EEypuN#W0'{*CۃM4Jx]u^'nD-%g~(4:[R/yc-__x[oV QR)us{dIkO7?m) 7 圂ED7*9rTos)+!bM)O{9uiK(wq] gDVIw RU(߶j3}vňLVJ3:DNez ’5rSޝpЇ[`DT#CO1Rx񓗶!wC$Ma^*Qd+ֽ3^f8|-+~@?-X/\$іoW@Dl8\jAbˌW[uYWrJb ;2?)s.Xzߎvw#TaH$aQ0P-/؍`zBzLbR&] ^~L!B 5pQ1,q/2v;$%#>r+3o4j@bJvb E@]W-Xޓv-`kBUu <}qm o [:&' ա|*mrsU(|Q8]xט⺇ ٴr"m@KR"/;a1~c4c%b m FӢnX+ϙB=h=J^eL,;4ItOW&}D B=jTɻ&Xc{LJ;B0ZmJ#1fiZ?t9/3 b4ü#{gZF<.mFBp[mo]wVx{cnʄ/L\:dv0lfFWY]8%~ș;utgaDKmJ-Lb;pJrNlK.ަLW~L;(d  bft8/]sjE {qmM`\%z0-` SFAخ {6~ ky+:.w3:O7$| {YסzE횱{L|Y]buhµYZ yv+̽ˆlFk-1hhf]t%+yxoHrl*T;]DTl 37 ne blP| s4Mo("Wa *`??ۅ_`1MAlCċxcTU@ F\|55Ì@pE7S#IY5*ZOQu8eܘVMIGoojoHer# v[P8?G|Fʶ%ހoa%D}챃o= H7 (L2(V1rgpM3b?GjIhk>ڍb_!}B2FX/\cund[~5-rg(׀6Ҏ-h: fU!O^=,oK6*vKn" ̨FQpXވsA"qb|,W%n/ zGΉWכ B.H*{y˜a-FZo̲4`rHOI%[uI&>)ϴ`jŤҡ.:HJW{-0 $ OfKN[ˋ#.4P%^8Ȅ.;lUy=,0gKglxXc@CY/3#|]G}\ry!B-rќ*)ZC&>#5hDž#ֺ='e ?n>jmi)y# %v$츽}&,̶ʅd~6f$z2!f mQ FH:^nyPg%rf$nQ=ߟ;VsM ,: dPL.^n?jF mv{/()f`jGo+L2&[-#NcY{ t˶j{7AHRvpN)#>,_&m,P;B&fɟ+{qF(GbO%nI,F0Y`$ůTږ^Njʻ|$W[PK".kAjˍAf Z^[X,ΰvrc=+S {~:\7/mॷBqfʒEWW Q,Y:a(QxAK-1$̼Af?! c.ah~UDʠXl -mo/Ξf-1&h-mD-\$0ڪk_K0b*llѺI 6$Emx[ NC\!5_.SӯL'!ccn~ ӕ%'g),H`07E(f;&Id oX5=u[vcxZBwVOx ?.>RKA$U3mFX/ 5OwD*a88BȠuGl;a@i¸4U# ƍ/[nj3C4pA+*]aE8˷Ca~m en>„^yӠi0WRH0axb_ wʌ[4)HSQ`bG%g ܣ[`)iPSazSKTҧ-[iHU'HJ1$!4 zU`E/;~Pҭ8v_YƔF}yUXI9h'nI16q8f km~Jxƙ-y“p kTޑ'սpt;`ʱXD !C7^@`;IzQ&M.BZM\"d sVطk\M\7Fzj~NL?N4(bK8ӂ 4rkU]_Bkv- gՊCGT3[-Kh 8Tyս? ۏ2\VR1]Cy,rYxۭT5Ӫ=^0??F~sVZn7qX&ڪ89M$;XGNh(i n_hMRbl֠p[LZ~OClȇ]=KB)Xط"з*Hdo3٪tEOC&#hG\e.D2%Ր@o`ɧʑҘD4Hmp)x)i2]+8Sf}J $TcM`j(&7Hɂ<4kPNpWsn);6Pۄ)ӿQ_m`4 yTfb"TIHbn?έ!s}Kɇlxn&b>s׃/n9&(Hն D-ם6-s5 Jr *^&(+ħB~jEJA;3P0@6iՍ}wKi6ҷ&5zEL3+5b<ſL4\b4 g56t@T)l{W|3lhfvWD oyL9uqKr,^Zq_?˿<<F+B{H bT$n&xS|/OCG}ɨdꛝǺ_n o04}> a4K`^qA?" |SUXAJOM"t Xҝ~ ;ۦ+^Kr}InBgKq6+cFQ ҟw& :Wo,Tؾ[ռf\n}>tf 7BZ]kyu;Pf TS:v_tӁH{E. .C2HG-@Yh{Vot ݟjav0"I5!2=쥴x>4}GkJc%?1Aa6u7Xcb{̡ FR adZc!Օvgﱡ^1>9M Sf&Aז+~/h"k׾go!_ vk3\4D0*ι̢j UDfǺ= ?p 2ocJض<\ksv0(t>v ˧FTs!Ի Z*aq;Rs\CLn!w Kq\vI&Yv;?a0PQ, Z1r?xi" ugj ohYr?*G_CbxTj~lҐ&P7(Bp .UBRqS{2?s-6х+Tͫ,1dETtF0\) vm&_` 1ŭd^Uq8{=Ɔ%*(7V`v@ [J?oo f#Ʃizk9n [i2*mR%حa in`^?lI-yw/5qAPb5K*)ј/ꭳfj6r07+SbBczR6TwߢsK5UyAHd'-19+$[2 ;W«_Մdn{*G@Nw&wMɄ3EPڋoʇ68A$DgE.HCuqojv٨ޙ^*&_na.Ϋ65k >"v{A KNU5Y$& Ab9Ǥ),Eה@BkXS(hܞ50$jH!^ҧ e9.F';?+>H>[[QRVB>{ެ7/;`C@qE$ ɑA;o^]T#>kf-ݶ}ɐN (zHp8ĚVJ]^pIf_7"s ՋQub^!Oeb$Fm_i4 , 4X9ZHGq2Q.DM *¿qcTځBWM 9u\q>xVN'Ä23 XʏOzEN%J~i[i2ԉIIa( DU N(o%HYQH_*ȲM`|1UxОrMo~KYpDn\Zj]V8/vfuXj:I" #A??Vиƥ)de~Vؓcw@Q !)M֦^F5N΋6F8u{D-0t=ď7}t?!%SāBR$ރ@}ZHϻ m-/-ooe6A>^R7~ճז4#+[L`uvsvYl"7~xNhdFӍrUF}`Lxy?QfQT-*4yV&ƭs+Jo%\yNRIq4ifYRAdY(.Te \e: R3f[nECcj^&*6f;\;˰ӝRv)oղWFIֲ'#ŬtZqZ4d!B|c^5Yqݡ/F[I^ZSL]/مo &w[M9gTd$CriĊ;~(w)R}Ƈ: ' ^1zO Jے[#"**Tw,t;nU qU@>βߪd/@qP[ = 1e&aOQFE$Y-֠hy˩I=3 s2a&]%kx]"= OoOr"d3-%[p"83$#j/`@emr +f({w?Weɱom9]4_]Jkr?]e lQlZI %ŷN8нŮ'9-AT,'^ƫq#~) +NnP](GfX䏶E)~E)RU=pK``4̰.4 :bG"|e# i!&IԼgY\Q10UWw%-rD} 5OhԷ .~{mP9rpm`51Sk a"*=Q: k/<:I|-dv}HH.Yk%h@ήn(F*i0đfٱN߂48*mN Ơ]B Ka?UTXW*AEh W-#ǩ3CmxbH׌ɷnI.-HvԞt$&sֽ1j,(ARqy&txu2i1yWTĩ#m8(S,Ipݻ@%ޮp\n"|ivxVo6P9ic \VO1id;>3^eo7!z_&wVwV gZFxFː1q jz} HLp"Pp*;Tdž|NbMaaNŴ[}Q*heIwJ2|焈v%W(72郮[{O(SN2J^q00He2TrxCX-eک~VEӿDo~ sX1tNnƇ64;Xd8=n7<["zP>M!V KgCLb 1~$z$*ՆSg# n'^F6mF8#A}W%v޲08;J.7) Ė!{J=C;k! p{Pu7CZSe5 `NXWB!|K&FH^M&',=6юI۩*@9d^2Qqb$a3Тr~(][$tXUp<,ٲp4Kň]Kq:큲xՙhxEOQ~}aXQ:HTdN%KeL=JN* h5&feow!"Ǡ+߱!5̨D"U_8}]>aUJ܃o%d==vj]dk LO+9M+nВHS/1#w=lզkCxZ뒘7sMs[z+6Tpμ zzZrQ.ϬxD-Y4?ЩT'~ߣi%ny_6#n]V ]^\X4vzHQ~"\/q$2C9;G'&LMW^}H#zWnb :|SH圻M%Ga WՇrM8b6l*&S~`nm!)ynoL?msS0rcLo"Jf`0 lC-$(=BZ9 ј_^RvNj uT!gMk wSHL(="١ a#'Z&܌\Ja) jIwyzݣ(OXq< a@E$ucL"A.<N7v(*fښi @]?HU zG@ 2G$RZXUe ޯZ'kZ_= k9b7(rWPdug)( {Aw9|P;p }}uyeC^r XX(Mi \D\YҮsa앓x uڱ FO_G TF-%&;&\w##.AV{ X~~``'2Q0^qP+`P %؅>'mUMÃx x ^oj =Qث.CTHa?Ϋ33RDR"^9dS̏Y.yݗ]"#?G Q"[]W}~9 Dݖl i1 <^=Fs!djy siȉZ;/RpIg)tHfkx<^iRz˪׼=F;fl/ݏxCT_LcrLx:/ܗGëOKY_pQYaliFLuG97ar^6 wH:aceKv5+6k{Lo<ěuK/:w\MoW Ĵ Vç}pyiscIzlS9~m˘yʨBqÆ3~")Q|\+hH -[f{ Xq\#z{sCgY 'W>*G$,njCZ"e|>-UeDD{7``E^t3Eqrq."V6yF풏tvFr(d$v[*ȃG%4|AubݔƁrn8NI~0Q^~! 1wU>|a4!k=+"7% VWuN{TbBh{2ݱ-[8ڕbE=UJ8o>[lȺ[B$(nܗYFT+@@kcɄuA0L?DZHu~|ꖏŢ|ABFV![#9N*"]O㊸IU+Vs|Qf[f:($ )1KKq/](# _ʻ, EU&{7y<@ʷ*9?+@r^Hj{ X'H*oE7n֯0%g-ro?Y [_^7>S% 'YEnc+H*r5wɑMR{ew$/7  $"a޽ vϒ.C ֢'͞ڛCNlB#=BY|g=֬Ӳ\% 0IE0E~*ʜ`؟ݎVOusQVtɸhMxRZ4Zcژ9x+V.)/ƻ{@elO!3,%~D9ɰEm2~a®*UkL mIݫFdY2Lyr5F2xN<%K"ПiSgo>_||j 4A*6Oj0˪X 5 dR x)r8N`ok=;TaPyoYRލ2 UJ%biߚ3|$@KђэI`n/x H820Kf~rND.P ⷏;ui\~ bn!yn |D8©vCH,]\/{΋+(>dMi֡'` Zϱ0G,{ON:5$EŅBsmǩ#4X| t 2:_x\SCpmxAw6+ 5k79Xa\-!7[/-wETa>;!;S [@BNّ\NGX18)ؼsgQ.E8L9{d!DOUjV8V|3+u^*CuFr:V%zՂ#KK+tYt,Y" U9WK4(SbzP6V#AFbW<8\^SsehuY8>䋝b| G?[f&]a-ϱT0Kyz0m#G7uRFVT5+A825)H4n@ǢYVߎx=l .&quCfEYkϼfTʫF5]8f{A1N`a\f%)zwx;'=mce6m UmmbL3N:6 "I3 6 !D#O!N[\1liF`1WxO=7]G'm3% Cl+xTjBwt-TZ1,[ 0R|u D5sZYv9ɧџĵC gbwS@(n?f īC6Xq&3 }IQo&QN.3^mD֐R>Tʳ[6kAn:D?H|ԃgW\@d; twv4o("TLNj rX|Uʁ3V&S"`U5lw}vu.KIdGhI )-i_aT510ZE;qyD~8&ǯ _a7GKLJ>S~>z(u8AOpiB0Ly-֞[IMj=3XHGr]`wn;~AP9;%%$LKRLz0[[O˃r, ˃ !pcQw)1`OutJnj%?9I:@+YU ڂGN'LDߣc% f+Y@ Qو_7*/h=/L%W$okf2h܏OgBʕwOwedJܺ+-@Pyl{%`h+!VB<#6@(+}:Gر~Bq]ww2G9H *pxze3"2[Gyyl<]&g#PdWBCn}|I>{wr8|5MKafȹ}ԲS6\. ՌİB֬r>UD3 #[iVD9r7b@ۍaT? I`<(∵`|=Gv3oFIէEc~ƀ>lLZCRJrBX_jm&ِ<<:ՇC1ILAM3WD&Ź֐O(\'\0ԁͳKD~u6a\V|3)??w,aW,`J|l%|'H'aݸcZ2ii9|_q_oRTv]M@Q햒_<-BƫM}jl-n*TӤ;HթB٦0OYc3CD%T5{- 47U]5 'mZfHJ%K:3CPh}OE?s!,t`Bvq5b"b,$}(rv#v'j8W0q1g"(0'K&|9AK>S6H>ϞS 풉4RE~z4g.OJG"d! sFRq2طؿܭQD$[?ƿr XAאAm,>iTlDI-fMt+2ėCĆ9%+ji3u<6hVJnkIM#quDl1:lz}NyͶf#zxQKr( !Te ;Aex;1  MK, $øsD%kpV8LR]K@&o9Q٨ s>'\$j<`NЎH`Ѳ [†R˜єz;U0N$KD!A]s1-p6-BN-q4z; =TףWbDumn>Vص ӝfWVo^EaPyrW[_9] Cj6))\nedg ,_Qt~i*+6u!224t`/K^글"&ЖⰆ]<=]4qӖ>a-8zT)~*KsҌy(r3#0Ƴ40P^g4߽:%4M!r{k~(n絿_JeaJKP%pO';[ ~˒eFy>DNDvnbɋ |=ɠF|>ιiwDr.[Y8\.%)!U } $~NЊnRYL0:5v<2ݾ{MdY6-s} V]iAk_[b)PĂ=i]{ w4kN"#3f W-o3Woa?<89+{{B $Q*C:5_V51z `d7V`~5ץ*d3w_|LY~ :b7mc3 23}pރ8n🣗U*;y-ZZ3<BFq:.'vfܜ[zA,V5*]<=0|*8+uT#rcZ'RK; YAvHʶCJӰ JXHo, XK"/A#=39j-s!'9ӆ=/TG1sqy@Dc/5<[_F0QiȮlEВ*Εh&z=yH3<˺^@,1.+;Gڗ}m`DM{=+Bp5zE9^{ޭ*H zoV*b"Sj%q&Z94/[a|N_ g4Q WwLC`޽͇(Ed-`@ A榶V$9l~So;LMT $&Vx4aմ"4%ع_$/lpk sh6O7ږ#ct!-ZGe-u#A1\5sb鸯 DtR M|zvV@/vgVgͭ6T:`@Qó6M &p3WQNGS(je) i1K0YE&d~X6)7F`FO`S} ZFg+=ʼndˆJ!Z"v7fV~v5mRcNk ZX8sG6ƒi+)}ǴzQ=v*Z~S}5r>JfH}럵rrl8Cq#P2rE2A+*uL8~e^<}ߎOmGN4a#1-ğuRjC+Py0Ŷ}k_\Th~0SМ g&۬O2 v/ɰ>Z|PZo4IО7DU D]oxK6$ :H1^g Cw Ii[ # !MVx \+8a:`¤q~Pi֗/}6h3t( iXP?,|/=cq9n a0+hz_E.aIι߂%i[~c9Ldx F$ap.\ZWeh.~_`ޔ/Tir3nby+.◝taW\D[vF?osXj]TFJ]υo۹hUrS-+# .E#{I" ~f Wʶ:UxYqW)U7.{#L`,'rU^ǵy-,1/UG¬0s1CY %Pj_[ ѕJnw`sp]ǩ;'L(F^ ޺E^U+U6/8ޏ}3"%'첂 N2eę:_e_ry}8wF7z|TCL:L`H;yeU_̪{Z.@R S"q -EmOv5lGoZ##p v%Dy M@-oߎvBV㋅˶)}R6Tb!$8{SC VԬI,\gQc[nrkmϔH& fC)W9puvk7D~^Qq~Q%:ѺHӡF A(6a"aN^V;MߪV p`:O-lnEQ;rzUiv-t˴c[KU u!x9Nca[ycTţM%19T#'yD`̎K§Ю ,*t3\Z++_T) JO?,@=&$ZnKɯVç3߱8P1|㇑xpj!>2KĢ7*Oto4fD_m<}@;rZ?ap ~= Si@GNU/d"ٞs`tn9Z3];{ ։8QcvVrnkGElYuk|4q&/ 3 76b BߢW1(j~:EX~܂FW(mKCm^FFժ52ãy\Q)2Y)ef@㔥 R(}t2 uŒțG{د6ˌ' _Iyz\DуDcRo +WΚ 0ueZX9g~Ck>bO~;o䏖?B|P:O{T7_#%>+{)p3kUSC+IYZ TWV)p14[u/mtjIǝRGͷ =/=6f*w5''@ZvH"褆օE >CUdnmR9M%MERX]"i]b;fx$Gdt\Yit~|ąpZ :?$xyTWX3匣Oel6vv8n䇏ö"&ǎŘB+gwp~v~PY,WK HqbK6_YtaDe LׁaϠo;,@8&}2)YmXVbùq:w 5|3^Z%WeG b6w:~Tk2v]&1|+5{2zҴRz*,Vr=&~,Ptk I|O ++2s9L7~tL/'Ɲ $d$=ol;J/A9=I5Ka&̸(O7۱G?b-ΰjmVQ3Ax8IaPu9m nsJ+vN$xNUBZQ'q u״-G0qZdY[)ĥ3v0Bas}r[UOXPb52o<ENr)f-wk61 8Kk ~픱s6zgeNfn!!/6!.ۅ!1;%TBѰr:{y. G8@ikv/' th̻k,!`CR "z&"֗S;4{`4EW/l[u+$wxy?b}f}=(m|_ FYCjrCs1ģ`k@@܋VZJ:*gмq()C+ddО3fR5ʝjId vn(X:6Df1'!}U$>Em*ujN4Zm/ѴK6e'$S'`F*TͶ؈n4fe>.ڄ0읾l=:Vʦzj1UތgKS"Ai~lOۂcefh\=@C”K=@oᄁX뛭na* 㦓 |%k dO~.*R%h9 ;K[.S߲1He{bp<hC@֎́B~'6n\w~|t7-7ԙ+a;N|.5ͭ.e80n8E9y|Oܛ[o/ب+xʍ=lA'8*i>j&@niܵ=oW4V_lSnZ'_pW_q&Ka[X@T A71ur zUoNc8 Kj( 3A9L>' @lTZ6Q1| l,i-G jPVH>[~wTqP[uG NzV7h+Hv֠r":[6ēRݣ$A(PW{q8D -D@IEe5*,6E2iS;1h[m#194ꁹψa6&8Z|Q-ّHZ M:d+en Ո /Y[L9M`TMMuEQ N9Y}15}jUFsڢ9JOWI  ć|l^lq],KEg#la񒪬YNVPɇ7%Ӱ,FSRIũwZVuG"h'zU"NKԪV/|Ω`2uO4"^ڋCE}z ,ܓSңrkn"Ґݝ'Z=x->ۑܮCJT=]x_c=)0mAvDvWC;U29+ ={[bSS'Gļ-lC[}?Bǡ/ɡL紥XxlπZMZ9ijV_'XOM@ 9W{6=M8"`05ܾdt Nmu&6$7hRރ{6 :|؆]=ooiZWMYIۓ|ų:'L?QONb0 x^+YT /&cC.ob`&`qbg#k9Cc1f@p_9WzYk5~4(7{@?B L gCwsy8Xn0tPa;6"XW?1+1'UmdY2dfrF6i m%fP.|]fe)//2ɾL+Y%$b᪏+G{HNV>!X#B\Δt :f?p`uR񆝕 }PhvE 7VtI+[8cgXf8C?-*nu[{|!VNY·U.~Q%x.%I7Ź櫦d&k'gه 3H E@ (f YjM/ ['7'/UAu.c-jj--I||Ou+l[eRsVBETU1p1/w e[M"YBĴھͦ"@s WS(Z7]5oj(˭бIfQTo5#Q#^1G<=4 YeIOD9#3 xF귴TW]i\ЭQ3A>Ns)!A->Ƕ9A nB՜XvO(z] O5uRWm9CKʩ!,7Qp]#"߫:x!3#1;JYOƈ8RҊզ #A|vKEb%ү IJT~T"էG`9%'f -ޢi8ACwlׯF p#tUv@#12yԄCie@͟HۄjM>sW|A?I ?G)bGʲ|+ xMuB8Y[DV^gz&u \iZyA(M6f"7p@?(7 ;u =&@+!ҸAx WpM7,Qaɷ^n]}(Ąa\Dey~Q#[?k5T'.= LvUQbiͬ|' eYٔ'NOf|ME1| :0ۄ9T(M^PAE),$r֩fm-*|65@ՐWz| C1Zxwђry䌽;PWO ]jz|\|O 1&n҂Zz密HerWmJ .Y]?G[?Ev0|[a\nԮd΀|!ȁ_܀C{Vz%`_' 4"0"_iu训jUS<.tLbEbuY,.oWzgsi"veѪ1S? ѡJkBZu(E6#oö%gAشf5C!408U{Ϥ- }"`i HX35)ɍrk/*pJ@Yb=_[ukXp$񕔊A@:KDT0" {x̸Më:3uT]JX6897XC JZ<-ry|/tr+e;J;~1Bv*x/~iOg+,{ !9JVց# |P=Z!؛dnxŧukoK+ѿB)` [WV38Ğ_S'šWv =f)yNjGהqd]TH-8H C9轓7ar ,XZ*Y7Sdj&2gcV:jAC9RpNtU"CU3_ɯRUNu܃r 5w5I'ͺn!\vi= +bUQ%7zUT695p:W"yW2{{+w.\6<X&M<`3GC'#U7SdrI&W9MtNfZlp)VމXt|lѺ9@-)Ls! TmtS}dGk-pʹ$a7jN'H%nѻmڋ;q}ƯC\y!SH/:6a\ }4_o\Y.lfLF(&F&;BgvQG":,,fI 2W2Q4VZP#{wJjݲF%@v,yqGR8h7߸.LZ @h|uv2h.>o@;bVA-E'R˜`)_ɖSRY\IE339 gyG\^*\ 6n8 mZAE'u|oAc@ E:rQ_tKa-j}rig p^ ^1(U<`eʭHG4ҞӲ/.G[M!P풎kDV1a}&ߢ\ X^ ww5/ࡺNa2W'bYLr/9㗸W/);j$*b}0`'aa>!܊}cÐijQ3s1!洛ܺ8ԫFܢE-U>P:)&F잪jUq0*JCH{FOiOF,|IYG5y2]ٝ+eZ <\ :4dXwҹQt%-jB9ױV  :h1L]frGHe#@[qI\oN])\"![FֵQù&MtitnU~AM.K;n!+.g@$P 8 '\]KS8:!TB}6qKhIE dW)g!D0*7RՙE4URi-~yBm"-C{p;[lݴÚk.Ä.t|1HfyQbi&Ҳ7!Iv6tB<179HIHU.#cj@QPzh<:'=_L B?g.-ocۡӖ@m (3%BZ׵Tɚ'C? .9JEflV|Cm נ6w'6vt I5 a~ܕ Je%mRB\2*/V2R^+cEyYxCb`OXKa4-R=pȈZY q˟e4v9ebq(70/Ԋ|A=6GuVuL>M ]ݑpkO+_$S7-'pLmR7Czx:n]~2Y8 `14F6f\$T!ިWgerGy[$3*dݲBSto 76x>bO6vaH0 )lZ/J^2Qqzbsm$%k{&Y ;%Zp~RÉ<펗tALPPI ЏYR %($#*0mjcEӪ68A5Ef)Kğ&2ܕ NF K[uӉ O QBoM:i_7̨F[1f log;9tkH^^̟?p׾pf۔SwSWXwv.hB&$ A?CQ&k3-ZoT{x1=[r#2(Ș1[FT#V#B \5÷b-xy ]b\4A!tYlc?-^I4I,A 𖜿钓L똄T,6i̾ܣ&'ڡIHdi=H֡gHjY&']3y1l6W޿=Br* _j!KLWW,;Pf&i=eױ; +'0|z`33Ꮑs$ p=IM`'et*("k24ۇ_ʠ3g7$_Q'yu/UM0ѯ?Cz&XU +l=`3kG,2lcrZP7o}f662^^z֠ )Ld#jo7Y·rE),#Lb!g$jXO^_/ʍą$ZŽu+|اbIy^wEtGId֍D8aMϸʔAB[#jY;bp6൰ElV铫7DEe[CJJ ,Q@C(͍2lxt  a<}_WzE4^r g ZN߆9n0?:hɘ{*|}3E ֊IvzҞ~EEj7TE5g R/HT܂@JL{Ac,ygBtcI0e КUX͍Gv7-6Y&q쭥&ocϜ Y5viͲ"r@13kh׭K6VN^_K /KI]jbz01kʸ)?0 ssf ^v^0E#+X+[Kp_p\qQ!''q[f}hvhw]ޡ K]h_$:TpjLf!6YOX2Ѫbm}URq$yLo 1}Qpǻw^*S"{mcwKk il0WhrR7C 2<=+8cސJ 2 {tQA1fOa[bg7ɃͼlR ba0qY"8}N:3ATj̯D. 㻭;w^x;Ȇ؊}X |jo+9%0@rJ|tOQVaP y!8(_ZC뫻y2vdIq} MnƊFBj*L]uh4C;u!߹[]{5!Ġ_J'50\b{#y>k6xNʸ+4봉rPcƃcD)p2؛+[Y6Ι"L|l쵒l`-84b!+T鄨,D8hdՙ Sq4Ǭyff` Bv$(R+1*vzkȹ/rr_@'{JekMc#eJu #Ǯ?9B^QZm D 7{=HhY |0!zZҔ{l+'5^hirGw yJR& rE'E*ì[n.!*濽f֭O:'[Ⱦg~6vJo> vDZ+jtj]w?7@%"Y3 ޘikhbBXҠc$io-/ 5]$ho.?gNbZ`E-KaZ"x 䖪 :.N@UlYt-Yj?hiY:) jUҸa ւEQh M+7@\ф Q~5RC%pVk,!\0y3;c۝Y wf ."qЫ~)PUZ'0 |#V1ޡV,pZ_+1` s-=ڶSOT}y@o'n Wq b{v~=N +(\|Ͳcv)FT,b oW\.wA1KuѴɚSf)Ay%C* tY.:aCȻJl|Uڔ#`_|M'mפQE~$S]űJH٘ω0=2N\tu̺T$”  j/ Ӻ`4Zhzrs՞UBmZx!Ԫ۠ [kxJ` !@¸vs XIVkb/S*?% ~^Q~«&Ζ~\UCX9Rޛ`ڌcZ %t֭e?PKӔpf3**@uQ>y+o;|nH c4`kBO$m!Ar} 0_◫ULg{k[3a]"c"c!lv@=tԺ 9#w}d6Џl(D_>"oi2D7,]>zلlxdi"NrFa=km%pom{o/ 0$ ^H`QSo6>]G*J Bj2bK0ië%.bg6/^gaz 'f<1|idO-ZH^GTT!~ NcW:{{ &>~5^V#i|5}v%G{G5R{auFF%nZ (*Q^_6dFGp zn(tBbWjќ_X{4߉ \@~ߵPwh*&)>6"];"|/~nl}l<@:Cm[䶅)w:7?¹&es#6CYN עoQDz[an# 0U[> ݷ{t_[$4r z2V%7bЋ\e10'оgEX|1x z4] G eQUS:{"|!Za/G , nAX 9Y t.I Y8>$)[1 –n*wNw.FIK .O~;fCw;_C(I*?Ccm ٌ+[:?.&Ǣ8<Ϥ8/0 ,o4;COqAH $$u:s'5}orN!o#w3d~3B}۰r(.9g$LXLJA, >͞yLp6Ȋa/V۳!@cl(sꍈCщ*sn{4 ݬLIx1 ۤZf>2,1q[Y0+-LuXPw7Pc 6540-8ReÓ)/)7b!'ODkۆ 7AYץV^X3Hp *tQ%ToqɄppdC(Yl7Fz~58PtBpiCtb)߶h%bېX `*_b[!]պ-Glc(C6$oU <_Ku5LZn/DxDWŅ|"2ҽ9 -0ϟ?zkn_1W$iU8 pBÇssÃ&1]WDp+neÏ8);8*c6`iGyXr:FdXdw!ȷvnz8%`% NDC" ]#fP;8lJ;@ηKQoTЁ"zjۆ[%eJ|=Y<}ANJ&|DRۼ)<V^OnLdD#audMkx?!4 3ŋwa}ѱkΩM4,UGDDcH8U4[Lu1,tLh!MRSS yh :@^ƙjw6~خ xEi*e}ިdP)d]ź,^͖ƃ'a| Q .~)~ 6~gZJq;N{<a6B{F*B5/)%G,+ݵx=[~X9o.iO8McwW"F;ڔn}y4|Z'ĥKF 3+R㢣jV!L#,S"驿-S Lm8z- 0aY|;FfY@ў FbkQLm(K r4~۾aLXt OV&0fe<#%m( FYh%;RrD~8p xm +K0O4+15iaTj2R//.UZ<vC{W K97g`%`AfAO΁#͠AZ*iG&VE'c8VG%KĹш%bJ/|'"bXc',.޲'" Wco J/a2p0.ɧ 3n( ~ JvQ6+p-< PcⷨHV4} KȱPAq3p?>S@nj:t#KE ~=1éN3n/~ J11 Vq j" N̰xơ't]Mҷ{visPhm~ p[w4:Lhug+X$򯲥_y hY8*#`uzsMRf{3q~m>J@!׼Y= i >|o!":KN%Z& ynCyG.IS~Ar,˛!)KW "`(_};'?hmOA<:=,6Q9KxӬYCݼ 9ֵZ5lCŴZ:pf#J*uc?ERwP!+ٕP)^Z5zZ!A_IXDtvr#\b[h> H܃ GQp]*7^j|Sn'qpޭ"l crںs\g` 0 U+d;QNѯtNS!#r[4/)KL}e{JraRs3T:d\JS*љ4+}mYmUJf}FXeqaۭb\.BCdȁCbNQ ]GSai#P/1Kc_uV0L:tt{ A$`:LjMPMJh2%uDsPcxn]' RX3Uzgml1$_mALOMzao~]`4oU2řAN`tM 93w0j?ПM0AcJ16lF΁DYH[cV-gLN0MTb[<[x.I])ZbP+s0ʸjd逹]UjtVˊH,sRux sŸ 3=)7T\Cx! Cz) x5 s,(O v%`AZ!+H YiOv4 |zK)σG)q0^s/L<PHIiuo?@<# \`nEJ( dm!?m{uԴ_⸎(rލhFB?f}dzc|L:%2v>1A5򁳉x ̒lRGzҏ[[@ j͍RBS7Ph nn񯿠6-^eQS 1cF4xIdΏ?t{+t \S_&*rЪ9=D "Uuk MCACe_|D2%|vTe ouԗ$$cxcC)uL[ѭ d)ujpP}Qu}`j)7̒`rKR&+ myJ\MN[$9VJY_'= RN Zw0;{SAȸyDoh~NPVu!wܫH^Yelf5Ml$PߜQVə$+r78$͵b+J+QP%ß-E.)Zj:lٱ,Årf3?wgTZí6Q8ߣZģ20hex qP陒'6ۘc_+nc}YE!d׺$ĺE*HWꪨrҞ3A18)8NpQC%SݬixmH}8k[KZT6ιPiv^ TP AH udd3?A2cc{X}9>[IaqKh4H"Qp0\R D.X/\J$鲿.yN>gw OsY&17[B극gY]Gi)6(Ɣz4jV$R"Ŭ`Sa`R~yk+vlD)  \YҜ$|B: 6g}NY9BYE~#)a(KW1r߻bɧ`w|_x%L>+͞_Xã?@h0/w 4!A?FN1Y~V 5fm|NQ'x|hmv5P/QgQ Smw-GPQޟ4S I^fEÇ1=- nVA+)Bxo[wƩyXbv21ffheGGǚH{A>kmڸGgގvA!"z¯0A3C[ pi6DLaPkI. 9a7')ONӘ{:=2G[mTڢoKmD?-ٵcGWe ^8:ΟX썮<^ +-0' GΦ9>sLh,M\aqBC cP ث0Ry20^ 2S3(Ǹ^ۤy&J:q4/tq_in=+nP+Λ{H@qùd hŠua%N Osz J=5xtMrDjh(Zr&ZorOŹN H^8+~(yVV'@7y;=k2D OgTh8R J ayC:yQ]) 1Q,)Cc9eD%|Vb{:gAhˍrCo4#B`HƐg5%|m/iߔ屖bO aUNz$DAz&0(uGs/XrM\K#8I09L&*`ƶWdCv^ S*X,NYS2puɹM^~e5^X>6JXiMȏf{*(,IW)ݞ_W`ց\!FO@}VgCS $4x*O~Vw+r 9ɐd-ֹ<pݯZU!a Ibr!")x -if(PdV.։Zgi[|dCZ 0\80˞b_?E^hM Q9ikטȥI]ESJKJ~JJ~jlML̕C3#m'&IjCR(we^KTtICL2Uįz| ȍ" k (~F.4O16䉢`qKLme30 _Ʒ89he2cGUL4 e7iVT# [u5 ܀Wg`݅<c4*/ $^Tc&7I*-廦[yՀD0-?dG-srlEa J qfq~rD3?R'mJJ#JY~JQu @yG¼f+p,D|] d{م9S !ݕ-k4F٨ ,Jn/F:%($>b䂏ڮHF-;3K5rK1P6c:F-G Q_5D Y^D]lh*gu߀Df~s1}'c/dO y 'e Č/IYYg~nAkz'UY$NT $xeކS+M_T` _j!ǿuL{\2o`7-[\L/?C7n%͆i \(_](*z69.%aH[لD( ۳~U*+V͟fd%_Og3\Ͼ"J/~XROI2/a]!09Z&\͹PUbNr$q239d*j`$|eA\MdMu72We]t< zӃQnZj抺ytQ.摰ꣃz0iPf6QjuchċC ISt3$] G -B nie9Em =K*Y]ƈ@#`qs"w !w,갮-/{W6Q8J !`' VrCx3G-,*p.Ôs %cNh?c̐CBy.kjA5n1d!+9!8P9xA8uj`Pq2`up'+믍%`9pdI d4p ;8,g˗k{Io[~U{4FBݼvGhÕw"!̻jú<Gvlxre@I6(黱1S'LJZ2иָG[8ey8(pP`oSbbRg7" zq;+pFȥE4-~^*uVr".3UA!/agD>Mh\3*%;hx{wgZe :M7wp` oƂSv3~.nallE1O wJMm\Z3>?lt)7/ 5rs74uQ f_<^Hmc!9 Yr֛|""8&MO;Z.r\&][Fjya}=''SW CG"֕3nG*ڠ9d$u"Sm٨ڟ2;lZd3 4S}o-ؒ} B g`t;bd?gh.OWT@Vcl:p{1F,RM+CޮG*hmCͲ^L>W$DAh‘2.%#)MEd @.ڰ >t'EnJ,dBhXOe9+IXSS1oм ;G zA?A&&ھ%&.G $G8|XnFvҊZkP`w-5`X͸kRm؟ z8RQ|dAa_G"62eQi;|mr=f[d"+3 _zЃ7m"_Wݮi0KڶgG`WrChi5cJ`Ը~0+yU'Փ΁S`<t`٦aSt|Zzd3Rp˥ĪYaX;Wy:?WBy"5*~ciD&|LJ̓[sୁ֘\a bp5RrX)|b, 9rLxt]ƪxdj DfkVYrTTS94olw5F3e"q^}.]rLN9WR6ڋGMhl?W|]bZ6 QFs:b̉U_!B$=3~c+!Rx Hd~ N,AjA|ÒU4GaY՜9:;;9ʽK6k]O }5HpŻ~$nuWcwElgܴK?'d~UeD}f@²5;9:L \?Nr*$:2p,5RXTEa>o![Ѽ8=ʼ0jV7Н|pf4lo&#/t^|N\AhnNP8dibюa<;*~̦Eҡ~3`IwYcvN8m0,@L@u) D l =ŝq$. 5B'CPu]q| G%b]~Z]A( ;uaP!8Sov_G^Y8spoX요XSS%),J6$:khY*$|`AXExW( AZ[F53#dZyV L&moF;}{i QLrMD2ElKϻGNnFy.$ǎqK6lvŪX' dwZHC:^XK0܏\'Q:?R_M.ȏD2.΍ T,Bxs䎝s[Tx]pOįߟG ڏ@Ùф|1H&2~E{D@+z|󗧔 #=&?VsCp +`g Ui-/읣^Yd(+g,E%(R c(hL F?Fc`7bZZ8xe}DL['8K}4໸ߑ݈.h|$V0 yF-"A.$ì[`-u!;^lÒ GvV'D14w9ydl[/3ΦqªNFSaZZW~J%G( 掌;2pIR ZQPA b|xuZ^A*qeʌ._:(S擳z.EꖴkQləl42huR@8p76vʿ"fdV+{v{)RXO}I\gJ,@rR̋"Jsx~ h\/;(2d.Uz:Ls][HS%]|şn%'R5ȸEQB_ hu)jo|֔Xc\ˊy\ .iVwmR\/egG;d 9U*fXzqUvxYR\NF`{NjӊJH.zKQC >[g_vX>jʄriQM}ݸNԫswB]Q :;j[b&*nMݝg7an܉'F>kh,/)Bש D4f4w@`[=ܗv|g9Ed7_ yxV 55jp9HB!4 L;Q#ӤC]{8aP GhtuUnH<ȶ9vݞGf9 F"<z0Z+kj.^ibZ3ڗ3{Ed;g;B 9݋`C\lU#7+_GwMzMbv~~+S.n^-p⮦x0ZQ'f; "@#}IjsY9e&[9)&8+U0:|X^6 1 BQ~#޼ΙSKPRf ۔ /t ŲgI$U.{O3;dXvEݍ3h9~W6< ";Kg8+0s*l* ۾2W$ hգb+ܗK]o̽!Suv=q5$[tqtpe$ `.}0axQ nFK&vAX#{/'!ȇ )ٜshN#]ꬾۭz9 izj"@r-ST} [M(G ;@#PjAU (e]Zq?TPJBȸwE]JGBȼBS5lޛ.{,T y `7L3 +\P6H soo~˞464!_ "7oTXC2~ Ϧs ,'u wy*`Z9pSOv`r@LH%^Vech>&<ź4V |ٔp |6 y4uxmfwosEL8p9Pۆ-)VXBҺpE<ם[8QT^Hx@ nkgV*Z4T,HUXY#`_y tf)r?0V?(q?FDa IIiB)T>{d:~_d -I)k,d?ݫNb/T/sN1)Rj4荱2a%4|iR ubpE ZP.u[[.o$=τURD5e>Pn!+{6,5nI̸N+nSRlG/4&'ϕ2}>~^/V(Qh }*Xt$mA $)onh`c8g > NF*xYwo2|8\Ւ<9$̮ LMꬿάN P2gMsXTTxB̪|eOԌF&ӏkc>+ ЪXz1]yyi௱@im:쟜Rp^5+e:h$Ud3MWӨӷx@Z-(y)` o"g@Lw}ηZGFh1v=d&xyta_cهD/t&p"[P%H!C>v/[ziTͰ'x6#4BW!g*2v+loK6L4^