summaryrefslogtreecommitdiff
path: root/mm/swapfile.c
diff options
context:
space:
mode:
authorJean-Philippe Brucker <jean-philippe@linaro.org>2023-05-18 11:09:16 +0100
committerMarc Zyngier <maz@kernel.org>2023-05-19 10:20:00 +0100
commit9cf2f840c439b6b23bd99f584f2917ca425ae406 (patch)
tree67bd3171f5cd00d29e2d917bc506d63662e83338 /mm/swapfile.c
parent59112e9c390be595224e427827475a6cd3726021 (diff)
downloadlinux-9cf2f840c439b6b23bd99f584f2917ca425ae406.tar.gz
linux-9cf2f840c439b6b23bd99f584f2917ca425ae406.tar.bz2
linux-9cf2f840c439b6b23bd99f584f2917ca425ae406.zip
KVM: arm64: vgic: Wrap vgic_its_create() with config_lock
vgic_its_create() changes the vgic state without holding the config_lock, which triggers a lockdep warning in vgic_v4_init(): [ 358.667941] WARNING: CPU: 3 PID: 178 at arch/arm64/kvm/vgic/vgic-v4.c:245 vgic_v4_init+0x15c/0x7a8 ... [ 358.707410] vgic_v4_init+0x15c/0x7a8 [ 358.708550] vgic_its_create+0x37c/0x4a4 [ 358.709640] kvm_vm_ioctl+0x1518/0x2d80 [ 358.710688] __arm64_sys_ioctl+0x7ac/0x1ba8 [ 358.711960] invoke_syscall.constprop.0+0x70/0x1e0 [ 358.713245] do_el0_svc+0xe4/0x2d4 [ 358.714289] el0_svc+0x44/0x8c [ 358.715329] el0t_64_sync_handler+0xf4/0x120 [ 358.716615] el0t_64_sync+0x190/0x194 Wrap the whole of vgic_its_create() with config_lock since, in addition to calling vgic_v4_init(), it also modifies the global kvm->arch.vgic state. Fixes: f00327731131 ("KVM: arm64: Use config_lock to protect vgic state") Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org> Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230518100914.2837292-3-jean-philippe@linaro.org
Diffstat (limited to 'mm/swapfile.c')
0 files changed, 0 insertions, 0 deletions
7M_,9Ү]:9iqS&60).ph_Gp-z xAMؔu3r##?.gNɽ#;'u bЃ*x.wԉ8fc秗TuQC~#Jx0qMjZ_Q喋U@gL\DfF#)Ǔ@%6ŒH j)'ީ0"7=QK`DfY3 1)Po(eph߉UK:5!з~&Jm/JQz#0X"WWW :XAZw)lG*qI Dٗ 0Jw9qܓrUG6{1i.b|U+,[fo7/YSUZ ԙKŚ{#\9bS!eBKaK+ e;pKK_Gͼ)yYSVQ68!mm|FR \ -X [Ex\-xRυa+jkҌ6 *0:o~ #쫮̆"+Y{1wo&P*D hvR@U5P)Ʌ;MSsmT7I.wr($ P2I`81hO \BnYv:W%q.\֡w 'ށFDwѶ̱:2RsX/+$JIC2?`B4fp(IP!$MROmt1vd ]T[V[}xry&|膚O\$ckH U4}0 wj_?S23tӜtITyK`cѽz>=*)ʼFͮdt%Vo2'̻k|:h:PBs"-6Ol5eXbW"#p"YuޟʆOZ&Ͽ,|)5˄ΏcxDˡ} }82[bcY Wלf/Ɍ(.ԣX{Hg/nT*瘟c>"}E(rN$aM) ,^X%X^Z%uE:AX 1ť]Y`jG(2ztܶGI.zsys[+?w ΞQ_5*VHnUDK0Ϲ_FcVCt}*Qxt[lx<7]镢#b}!XN4ڻ#fI+9pا l髆O"rz fUMs`Qu^qSeFÄvi^qijzyr-E唣Ja>64Ia"Ŋ4a҂ V}ȐW'40%oeIJc6"?ڃ#T҅&@^žg>]넔"8 D :h-~f_k{ń^E74 q}v8Ca-0+tUFLd*i.0Md#"=z|5<zUSXQ$)D/m /;GRҷ@Jzǟ{e*eL2X^^ Qv5;HUtàۃ9h m.W\LVʤTgb a}/H*%*άF+ŏ!O .AvHq0ZԜH 1cRb:^ I:flвW'.й$l5Y.7RM2U[`*>DYGm;)L[ eˋYRеVWq0|2)",{i4S j*4ӗ] oW|ԆxJg.`䀘e>bE'}Ai0, _~Xi'o˛M&Stm;čl"Є<0JRIy1dȔVϊp>=,Ra# [qtv(3#(n]Dt0KfkE4Π/9/\ ;mKttM0VY/}2Gy{NJzs8\%)psܼ{>WRjb0l{. R;yp%@#&wC#.L<{MYY߷>V/*EJ FFkn~J3ɾBXhupE=8]YLF+~dyW3IBǕѻ d回ޥy̳nl)TR4%» *H#|~4ISB nǩO,dUZay4@9-:X_j8?j? E󘽨U#!Ɛxiw'YYb|=1/ra:ʷdKJأNHNRAE5HRɲqԹcJL+|C{ =oȘϭtLC?sǔ݆Frߤ"@ɰsb:Ss,}Z<6)J: w;kv;$R~feAj? [A,>x\"CO1v^DxRT{O al캨ԺѼxXM|t*C|\ DL̦+i*`Zl~T0EALDP4a:lf$G _ʵsDl;t̉ml=$1[Nbd9iÇ>N{rZ9. Ɛ~K0!_:@bF9t^S7@"{/FDT::~Li4]YvlK*YƹV';F-{&   uNdmU`PH/Utvy}=@ԩlEBz$}%iAbM65}>''6(Mcԡ"WBx%c:Z QHH@wq +<U8oI`_Yj92»lT;eE2"1!lhhKrSM`#d9jLP\Mmlшc|_KihGnxRq~#oN!DEI Gy9|@t_K Ad-{52p!7"T٧o(}[j, FN#y`I.c7M? ,8 DJniDX:Dprœ>r딟%{עq*Х7k*Dz$SȒhRxR5I`=OSd}lV:+ܯsXޚ'Y fH4#4i漞M~ZwqǖDL^C9G*Z}cm4'~#6T45w7& WW`xczo69 fWQz՝Wjň˷E~r?lPNCEGm7ޜuqնPSG'm o uJonm%._)G:ಛ/eULrMHQ@1S@.zO>ϑ|YB ~+^v3FDd 檹Z?' (t)ra/x^&B,o ZD!mK-[8sr?4Nn[#KÃh飪-"]U~̢2BlESBR!5&+ e 2jq^y;8mOz7 aM3W#t|޳(itY˹f7n- ~sb>hE*lMk_ζmJ(aqXI8 ]E#'~$^*dE F[ }ble0+^J^IzE$9yhXש} osj$GBC(W/g& /⭩JsIT8=H)UN{mrȱzK>Y_ۏf_qfu-[|5qvJXFOB"2tk";зtnjI3< I׳adl&05X`nīeˣ:az6ya*S^_az?X,+U:%%Ƙ8yQɮ,ľ%}sN&2xXmphmCf6Jaտr[ ch>M?[쥭t$]+9ow}~BRߏ^#i-_ jsض|Mo0^F2K03wԫ) $@+Z 9. x342,K_'W=3cX5%pǞ$N89F+֕ܔzTO39.~#r63صCx#w[U4SdpwqlM 4kZ,Eɮ9¦ᐲ~w'P1'fΖ>@UC9U6.n:9[܃W$L^b \BʡaɍД4İj8%zECS]Wq`js.? ɶB_a(9wP~M?-vV̀y'I5T-C3BW;uְ}C 5[c+]dwzX{kNDȘj3#C1_Evao՛3L3/0k=w'P'Yoq eg PU32܄0G:y\2aŜU VX.ec03<ô_c<;IW'ӆEc#W5>Trϫ~U Y^o F^[p9Spqge7d MF6IeRdsKWwLu;"wx.›ߐHyh^}mVf+wx0@|: YZ$O"˯wd5M DIe_M{~=ys?=#)D"Bδu|{~M։/񯞀j=粧*F仃 /x9>|<`>?';0HmRL-cMpӪ$)Kc$'% q8(®O6uj>7bFmK"zªٞʽِ;ج8s]m ¯I"|#0麗5(7k/|$mTTRc?tfL^P9y#V=COʔeT<,QJofwrkX 5/:$Ma cW8V=N=W# ]Z-NXLdd}_d^ Ǫ mc帠t%'3a[ 2wWR!?*zwMo>ܜ=H tƔPXMzcDRVl9:鼏^lfS%T:<" M @ȍGxV9#,Jc<^Z_~l"f ,1VV=vٷB[$fFX$dȷM|JW~ #|S^jOH"}{¨!"sw?ߦ†uU",Ș`lj=O5CX!!a[V9&W+\@>|yƴ?ST_}00?QRN1E }DOk!N$L>NҬ̿kpN' 7ӑLq켻,}μkP r<آL!=l!QâYtOLV8Rtښ^c]P=k M`ⳏnN7N]ěxkļu*p+#e-r[أ,0jƺo92 gSD؅9ltEؑw}yg6ے5)=bU,Rԏ~}}/n#RUa/IBg'*YmG0 Mǒou5S 1W/ #9goP* bhy*'4q:Q,(l;܈Kc(d9\HKN< C>ǻK3G=+8q]ݘ+;8v5|>Rea/ ~T?ԡZ9.w$kԱ\?rY}KʯӳmmfPmp6)ms^YHx uAHLy8ňSwV{N5{c}:n6U&b)TgODRxz26i$o(b'rK}.*.C؍#tHYI7KKvDKӳ}IgQgf0^tF ˜pfIf/ٌ,?TžޏUU=5ʫ]>F,4EF?h˦X[8\CH?Au:e9_{fYmx z  ͔bc]}5༲ |Y$VlFyakyu:G> J |Y>Hخϩ".M:0ym:VMTHJ뾽ܹG/Mk?Q"~/ 큸e#D.6<} –k? wm-Դ3Ē m~%E6p…Ƀ4;6 &^zZ  [Oǝ -*Oƹ,B|@gbA9|՟Зކi~ܝz`rc"8G` Fn\ܢ԰xC8<ب58 i+8F_!p&wq^D_+ŀx vLO \ht'~3k%k%n6@N7#)3?҄ȹg܃Ӧ26*RS|rO'{MjV+UVQ6 UJrўz^ 36bJFMRQSJfJ\ˁg?rak'QOST)ޔx*XLwp0SE"bS r7da _Sa[g"biLKjvRqOsĿV3r?s pKVO,, YCW0/Sug*<: }4EUG\xt萔}9vbhT e->Zrgu=g?_ǷoQ:RT~n+'D ^˕M 6rµc)?R 3up\*FƳw X+ArKETͶYV8v;?ױ(mrB99 mԵst=oiq*kXceX=mR'S H<K4yF4ɴS՝Dnٸ{&bs" ,EŴp!L\ar, [ŬhEF.γZCz _~^@#ekL&ש,gN@9`ٍ 6J}sr\tBL Bh4l ww ^.;e6Laac pW:8!tIP]<)(t5ǝaCܫLNXx M,&dc&n+0@\eAMk#dc-3z%sO.w붮N!Os PݬLJ,2v5*Oɶ!Ԃ&= ArErEqX_fȌ"'e = #`tG ]ZXI'^#q.qWSI!ԍ3կ8B$v R 4Wf++(Ti `.7͛bqf8BQMgF"NAj:5hPtlF i/r19bvm̐&"$l](;zqw$_EtuLK8$t25~캠n/Oǽhl2R7)2e=G!. "g=q9*?$*O7]bnsM]'tdglJ7ҜhJ7OH>+(O? 3ڹ_2!Lp&;N80ǝOpMk,5[1}Gvd,&A; mc\ţ>z]wOHe3͜Y Qf}ib2{*B`M~;21 +& At=؂2c8GcnM;E DM)m:K$j;xr;:?pt68>w>]=D'OJ"WO(24zfމ} [xqaZQ!eG1I-^xNי!ܫ0XVܛĚ  1`gv$ƽv<Ϯ`k{ ylrl Fy]`dp2ŗ4.Dw䘕2<{)nT ׊ љM0^+bu/QMh`D&шW]Ԧaj5ꕀl[[/ȚdN+fA]7רҬUxl: k!2QߪP}QVJ`$/RT\)к?(|pe֝sL bF`ZmDlА5٘a]lUk4ʜ!v^0[f:&Q}8>}<0F{tC gM)ShRk+*}Jޱͦ#[Gq1;{=H6}oO&R5nQjcA>km_o@TGCjA:)?C}"dg`ldO/d k"!>f>P[68% %0Scc957=+jL$s!^:< Kz>[fPZ%IفaߧsDhM2/`XfGQWp$VժTԪTiGTkU쳸`Q0,3Z 5 *X7VSD24QnD-ųX~uxb1: w6>h'HqZkYI/ r';XP&bԽlpݰg\SSeN^*!|AzH[\ T:󙑰θ4=kWZܰ=U)3X2PX֗܏0cTI]K8CW@󐨬Қ/kO: Nj{5 im[ _%}b aYzOtn3;&#U`ܪQ7J,K6fI3zӕ8'l=gKAie[l21?G,n幻V\x"|ßo;1ڞ}m쒂LR*3tdo?[rJ҄% SQ-;;{Gtx,dMI00@[UZJ俘)㋍~Gdf4ngѣ˧g/ݜzO!M*YaY M-|hZ>S*W) y|؛M d/װS+W#%WdW7ۧR.WjM֨~AG4ӯ g?NĕkBSmt\1tr6EMFժa,Gad!b.֎bkE2jHC#P/02&q=ιs d6ܐ܄O==$ P`ElU&gߙQK4F(PNұG&WIث 0s?pog.R̂ 21 '^,! ڢEv$K!Cb VP}teoң%tzAtf.fEﰜEŎ~X_0E"|&`e҂̈́ZE/Z:[׹ 7jTE,bwVq4R\hysO2x"1Bi۬ӕ~'nR36ZՎj mWAjL~CG Mje2H׶H0m; ADX^a7W=jUZT{v޳4s(=w+:JY%bE+s-z_#^zwoS \t[ ,6j^sPחo%@̖0QUbiAyrw6)a`;q;}GN>=A8^PTXW/zozZ2C4XuOYѺhC[iךYhēPP&sgJ3;s`p @ADfGb!s|Un ,N%D<{~@q*Of+T;޽V^If$uwP{>#3{$d?T>:pgJQg.rC Kt(-uWJ5r5;-2c5liVSu:j:tDC֝#a#1xM"dwK~ɜp<p쑎?o^>u8;9ibgT0Q_2Z|ogQ#1zkhvSLkaXjv[{K<=wu%WRyV+Z =9lխiGwwNLqឤ6f:'qhqNIZxrv#X?D,C3٤Ew&54k\-ܥewg' -`$[<ua0I E,bPKKStWx%a&rlxжzE-j?֧ sD2ßٻַ-,[V`aYl^MmڥVGj@CۙIb韤ѯ*7 [=蚤9\o=ꨡZeHz~~]R!WPh4RZC&xy9X%+g2883ɬ= 0LspϽJu/[0F!{hLL\FG꭬ީT#¢\$qOQuGVRꂵ ,mKpj0RhRC>5ը0CDF=$!.5-h)  o4?p of}aDjh zcbؙ9XɾO݁] O3?D*$VDZԙۛEޓȦJzt8pV. =:25 &>'ˆXHeabg_>>U)4:q.wzRd6s/Ƌ/:vJ H@F\:OO~& r푒BOn+U#:ف4>X" ̯n>8adϟBmUD vF!~eo ڧl7s~&&k O&AiuGޗd<[1s G>p #j]Xj\J!\;6O3RCwx >*(cB6*R2tj4/5Xz6.)+.T#B)DLUvZ/Z38!CSq ]^ 0{BfSxhUnC{&"|-VL-Kǰq#T&CBUO{Gn|ը 9.z` -rq ;a6^,ii# G~ /(8Y<eV-ܰ=o=,JYThQ4#d<843Q&~01e. 5}C3.kmVpT3 K @L}X货 5>۾PegO*)t|Rd]'fת6֠hدZd8 h͡HUR&֠FSp5Gvq`v8?Gk@_nU4QzK:V,|҃]!B/B>1~5vh?֎\O-R'BS>0-~ LOz`?곢v\1|5jBҧVvF} [6^-рpZq%:]c*LUlBazOKFom%c~$ 6 <2sJ#-,ł+ HpgԳSD#ޛd/rWqj3>;ՑavNs kI@WJ> q/A]n=X Z>IԼyKp8jVv yAzWuQ$E_ZVI,mWm:6hSu]ΈѼ l8PcOEAmJ稂ĩ=&okp>ͩMι қԢ[Eq_dȖ*9E<EQ+,Rk.n nJRcV*i#ZXxTh4Tc)ծ^p5 @1cI%TgH ìCmYT>vmݕly5~u9K&Y"ṶrԼ[Li&W˲\:LC?DnpHVw0>^TʆDQݍ-û76)Bam T6yA A&`d6^kRSXd2I4h!FqH*'yu~}B!gՕEo{ȋ7O~_Q4NݙG>H #-(}#<=~ ~XAoB;ȡFdOtԿ$ſ!s q/=:}眺W!n{AqVxfe agկ0tFi$Ze8[o^,vКEebs\λxg-moyb 8!ѴEfxؐ4sw'yыvKMϱ8 F?.#VW98Hdv%*E Ymgf]\vA;F^nj0K8;N|5* yi:.nvtZLvjϐ 8M#Gfm03Y$R6`vTܡ܊Czn#֘"F.u!NHs~tuDGՓWlC"sYnTvbL3l[sVg'z"F]t(a>>VRos@^Kh*uGKJ#JB,.N_7~PCe)Ƃz/ֆyuo{d>Cl'&w1/2[2xW( /(6 {Q|>m:gd,姅-9dMm543|p#Ҩ-@#V=QI[+2`c(wՈl*SQ7s`F2Wz`7(!.W8wN޸CJRְ**aqGiaT^p%C`Jog3A tIĮu3sWdpզ555nǪZ հYVBӪq t%َH0i<+McY^11XqJs@xm^6!b,]f>,{n\"ԧ7F7Gg$02hغq(57{*@ZܡY9F\DGHHG!HGng ?Iqo<njrs>d2}/v"ߧ}<5(5 XՆ̎ɇJ%py _quHd^NT/H|=P㽔ˌ]~X܅ͥh>0BFۗ*/Hz d ҫ2Z:LHWy8.^.f>?Z'zaD7`pVIѯ"a%-c B8v\,:@d& QK> '5HDqĝ{|8å)٪ˍAedq fV5j&)u5q[ :+6ڂCSX2$m:0)$F7؜(&>-] ǫ1 V1%w]ye=6*Zo,QoFAIyB]udȺWLrMM0돍t-32>%"U~={q2̤p619+Q7s&0$9K|@&'WTw?럓iojί݆WߩJ^!49XfE '1 x˓i`%UqigʊhYX 960X&H0zے}ڊǢ&A5U.̝t؆ LiaDݐ*S:]MR&>#m75"3݇KXUU`qLC8\^|aǢ-yn=jg' K8'MV^\+PHל 3v-;t[t~4[7Z NqtLt;D 65lx e ]b6lɅgfހX^:DI;;`34琬T^?ȺR_Xo8< 0 w%K2=;BS-FL{Lk͟ХXTnx%j3)w^ m,w t&1g )HޅPY\ bϖ@FLlo*W=;P:3_jj7#߭\nm<"4e#Z1"B"UcK$O>@6lrni0s])2z\)Jg-F"7U#n-:#'wىl,8SazK- lGȒUV Ԏ>Oow}Zy5X3/-٦}EOBFk8PKjRr80z4har9i:c<f|i +!^<"e hVrLłкJ psl}c;>̺QA({ΑhnbrYC?^i .ígN3GD~&ꌱ E.Ea 7)rڞGc,(25T+3I=߈c|5'!>䏖~8~iUU* ˸*uvl6GxS}ozW5 zo{AE[LowܱF֮"qi>w=L\diƤou~L<-gѴB%+0ƐȦt6l{jCZM|#*cSf3zu:0$-xSPŃn75`)Iqv&{.܀u'%Ҩ0b%u4o߃.^HP9v hg3t(XHh,IE2VFL.%}FKzd8Ewl٫EHl6S@ϗ H?c`x<<=g3%8SΡY >!9te) L +9TH] jTLў[9`MY*Mqst}GɿWՊj~x4*lc;M*Yvvx8g=V/.u3RPb&=Կ->.K*M,֎7: ،>(JxǢϫH]n7#lY:mt`BMGqf I1*~2]Àv"hGwik]TM%=ӡry`{5f9{˲^W˵.y{4stf¢pez\{GڑM@Ȋtg OA,sq7?Otm]9M Ph,F%#HY>`k (fBOfZp+2%0*慱*ɬl-"h&j;;0T XkxGɃ>#R6svW&=se?\ڇ c)\ 3i //}& 6Ⱥx4!h(Y+jL {3y=fc8\'{BK]ȣ,9*s"_U:S#KD\6&?@~Qz+T\]cAj!\ӯuc*С}͢X6HᶅU|qtIx=Q巡G9tt }KiF]"nFFo07jL}A*#Oք Ӊ49BD&*-q̮O ;/b5t[>v1KD"sS34iQΒzZ䢺 Haq1)]I3`3YUBP6[ɃAIō%F<#d pQA|%>͟&T)1/χP5x_ЛP28ߑ$rBϾ714dy7BqFvgOKR7Lx]dh*%4AQ8;*mWꨢo!=jmXW&4S5?FEPZ=|qx9c,+1]$H3Sqel)d`DҲP_zҌ }R6Q+_=A2_;+1t= *cluqMZ7n5Av^@xw)/('rL3yEx˗q-߳iYq!Mni:>~$@Rf;_3{kqhⲠ0-X<=QXݗKlvvQ>oNiZcj}EfO3XD碑)c&K$hhlj `;32E<︇/}45FI~,9p*&6 Zih}/ J{? if9( C[Иﹻg3J#mؖQBM M8w9H|7TcM-_["!`):p%wC;ۭfE*LVFQԨ^O5H TIg#3)PupET-iA==Vʂ _M.]-VOl8<-&XR I;d^irm|G ZvTC{zqLn0d]T{N;h&Z<ߠ8ܻigф8N1\ZMޙp$j`a5G>cAߧ,*Y_M-࿱ԭt\!N2/+P"8;iT] $+{6伿l2b$w6kwiGz׍-c:U֪Ev@X2y IIv,zn% ]ş4@--RH +W6 * &32gN{i{!b 5<%ׯe7݊73K.4vWٝ^HR$PիVCs؟OWGeTS_( +E=[|EZuhZ/=.ʳ [v0@n)1}8\9" BJ]yyg2݌UJ5%;݃õ\bNLaU(U?!QmM ja4Q?TQ g%+quF9E#Ưzջ%/X=OQ>sVnIYkv[yA6[ e2.Z7.Oqm\Hoc a]-pjbJR[H7iɮ09ah厕rn dyj4\wԮm3<82kq }w~JbVi(@Axq=x3}~;8{EZN iɏIZ)4)R|1ي60fe)Q弻tTݢ k$ioiws_uOg]KeV60U)wǠ| EᗙLwAg4L5*笰ܤhh̭ ˌ%8n#s3.$Bb$?ڨ54uh4J{BrB\ Z_2W[,'aw(HX)$G;?%}3D-{-h8ٖϋT/b}dHAO&xaIQ͖` #r<tTiʫ1i`֭y; |?RmGS#ݳګy3j4’=eG8x8ΐ׵qS7GخNuWNT:~ɹ%*JMҺ9IHy#h%e NaD]'ړŊ )y؏q.7Ypm {5rwdhA,h=.ކH~U4j&/"uKVZ-^kzax(x7>xzų֨RW)pw\np>]̲%ȣRƓT=s@bG0=ȆD]v>$I-B~9ɛ [I-NtS18EŠ5i@e+[!ϐR\.5ZM=mF[nOt 桍 R;o{D^)!Y`+ f^\/uj.e8(4A~v? ^5.Wt(ը @PkԠ=DP2m xkX:}5n 2UeHp4ZRQI#Bg慡rF}xA{chyz8|u6'8(FVͰ4%>33R >g$\9#"`{,/´a!$C8fӊv 3c._G 2T%.#Qj50=[%Ӣ[T]0+b̂xIܿ,JgΖ&N 6ks1ȔBE"g ::!.5\ؕf>P9pf;QGrI[)i dm]{ϜSLiIҝL%N]KZZ¨'lnK]ԫ\{7r4MoSg#Oy 7!e?PR3ˡPV6Q9>pQep]چ"¾Iny2t:3[pgN$Dz4"N2Ӟg0[#̊D-^tpz:AR tQjg@ˍҺt\=D56?l)0h9ҏ ] RAAʄ7ϛ{nL{K]U\UW@ e f`J+[!ކ<-hưTW^\#E|VB^Β:ùZ80Z~\1cy1R9/:emmd2{/^$4JXf"U M |va!tBF 'zmm{FZrh扸Q=h\[š)ѓ9L JԤ4[ ?6CvWg0#ULR&m2?hKOKc&C/ {Z2D:Fwtٿ(waaܙ ~F9S~$aB$fh BFtKU:V~Z'Lz)mRdJo?n3T>f ^0E+1Lp 8unY.aѪH8;' j ^bNldVUd}Ƀz0|P^> SS] RHP*']VV=OpiA_k?rBq Ln#?XvlC2FHC:)7%5g+1>NkڗrORby7&.dV*}j5fp:Ke,160_ӗ;wJGhnmZj):xBT:\>,bY6P$]ٽsg&n{QY_gQsS*8ր$OTIޞH;v^#TtUxOzVT9(+>Jsx\ :??WZlgq$[>Ŵ@c2ͰM'u-MϕЌ/8us_UՂVdD#Gu_B:\_ԹwrwNN-;i2>ZX.g]2Otz{2MT>3.G ' yi: oJu.j;,'FeXFPI ސݫwٝh{@DMP=eW|%qjn juUjUjGpr5ijI K&d/ȠDYr";Ѕ3Gpp}E7ϤW.۹+>l1i~hʡ _CAxIF?~ѯV3A3 <#J+\ѰpYÍ8S'2n^Պ. K6 oޭRxE٭xQWbD:;5)tPbaAZk(ِMZ>1!RU镱FӒգM5ɚ@[4\p%Gy;lIV͜tlTG}^|}t <eR痍[;bs"q4B86fB+[]@t؛ (I^R)cAAmp֮| íto[=Dz^]5[` w标8Qdžo!%f褗:T𣍬G|"9e'7zzV[0]h!H7% {u^z^ zzvL+TzFiP ݬd@ckˢheHxc e9 M/6i4?uf,\ҹ'2G4d.aa{R+3`^f:S/M Yh)څ[Րt]I 4S* 5pڍ lL2ޣw\i|7p|Njs& | тibV(n kj\%mڇ?TJV'Q5G1@$%ñ.KK|kjZGx$){ge rbI~(7Ҿ DaV8^67W&Y92b1;bq(\H}dM[M׎$Ea&i8 nߓ}4O{u\!׀JwI)YYi}<H52iJd3 ޽cIf6ʍ\M8s%G ~+ptI;<'h<VŗcNs"%l`ӯ6UfNgh=~ s&v|GFx2蛘aR1&EJ.Q^:!)CZ0sR˙aӃ0D8䂍xZn=k7AF‡3Աa0Ϙ9hoS7vD0U3!zU$U|~O {I;޵6+o.Z Xj&rՋ7.Yd3݂9"q]Z?0Z ۞?OJ4}|kV7Yo/{)^3U7s'uip6*(ςx O/V7ZF8™}yO\P2 FEH%&?c i͊8ZG:nKab =P(nXE1vo d~ȁ-5%|kI.&Ҳ+!hKrζ%`[ڔ|~۵fߦ{̄~;G!r6`EqqAse+uD* `QLZ@G~G8\I=A{n7Վ"L@Y +̋q]AQE&ԤCw9́5fZm0X9BkvaMKg<˓3A9dh:N^޷+xN涺'IVh/erh!dmFr<n؏=7c jE4ІZyjV_ӷbn`Kנl6L![uLrZ44:;YtՖg$H"%,5;,$W`[Mƥ7;bZ{YPҟ%h! "TSުjM_Oi-3,[%x4<"\iqA \ȷ7mBesxEz?YeپSjRTVRęH*գ r{'zXƱ6KӍn::؝$~r"oACIBLC(`3ɏlooMIlyR#f־X:C~ev?L|̺9?j>{i=Owam_Zufj!&lum/B6nf4ASC>gGSCPMEG4\&ubZu7kҲg>Q sf^ fHiE)ItΕAC?ev˓/2وFf^0)'e\9<.Ic2'sK O#M%Eg(fh+kpME֋'zk(.4M^L/4}Z@hAH|C NSJƍ)I(}^~'PA UhUdb,, MeMO/!I^oa{y"TR jS4'$rUטu:~o +rfȕ_ :dl0]uA;'9oCDka6u~ex%}3E,l..M^Rڋˬ1z~!^3,t@]nHxKbj^-J'.8_מ> E6BX,!mP3{B7Σ#1 OQv3"?0xiQk( mSJ4~]mm9- )M6YϤ 2y;鼡kAkR#N=)(vmN:y ovH ) OSmg['2q z+S1Y-~ !)~(uj6 MAQc@=>2;S\o$.!y >I2_yrgVPLO8b<1cOMv@5IQEHS/W8!xܡPY$mB{>u4Q=.Que˴5uhWFT&۰xFJʰ靲){ g%sc ۤlY_mdx֛?M!2r4LBlSq"ȶ{ #z q$AEz3 dP (Bh2`SV2a)7uWA9[=N5=6#/Ȟpb ;^jVZI߅1q4̓t`^MƩ!vX)d+l6{B='{X%riqw$5dKBd;H GSۮW9s4ևl*!cf(~S)o^`t>V>8St'P˥j 7-0iFHIe֭tQW봬lm:Boﳳg]럠\95Gb>RVvik$t3.Ixښ*U$0"3?x#&49XXGL{7||@*I\tGЙu?^izVkKlY#XOEF;Ww^w#]f< Կ"YDfw.k+i*+)! %bgXn/%cwx ;x04U}kh4VNî>VԠ,0$mW(\"e+8xO$<5ޠvajƭ8\x˂=;-Tn2q㛰š=/2RB=YJ(Z#V-Ht.wf%06e9l$A G`ͺFHGs~i6NJmQ5*9 <*GYz]$Ewcg3ڏHE!͹IDˁ~ ˟ύ(a]򻻁GT'kɆ-tVg鷅uޓ_Eͺ@Ds52g`ŧ9z}aH͹8DDv'HCu`po(D^u[èƿA %I5"$K3{*l[Ԡ3h 1:ZU %JQ 6qý:y[YE i39?e';R,NR;S"YZetZ LU1929p}U 'q],7.eֳt h*:)?b$SzBbz5f2r7{@5nZFMZe}U6vEW(\¢C_iiZTND̋Wwhj\Q5R$&92aI]t[ m'?kvݨ%KXIJ"o`MDK=#=D?T't2*oHh*Y$Cc A3AUV^ dAoF72)pQrY#H~Gl+BS ԏHC >eHФxuDZzr#-D'j+;8Lr(\ڐ(GL+ ">Af ) 3ak_ٝ%Ӥ )=o-u|S3fkV F7P~~Yd0QV~sZX K4^I# /V'u)evn cXDjӬ{*mqg=y'=ЩLӵ1}5#;=i^`0;8DےY-FǦ2(B A4gNJڲR4#Zj[ЌȤiqjGZ>P^f`BUA=j],b&tz>4:C5"I߁{ ,XsdْI;;E1rT')}kPm;q"x9hc S;u2g["_i>L';F^t5秇ǡSV-球oPLdqPk3@(ߨGmIV4s Y8NidJ-vv?Y< Cg m.EߣOQl,jl2H#/A%~<ܗЎVʢu(-f=o4ei{\1lat:~W1u)"^qH9]pU*_\0v֖N/M|rN5l jT̠{CJO7T |o  bPвg~Wf|jr#K̂ƖdK'%=>-6\mU[YfT7G1砊N֌!GŒTވƹ55147GzW3EkjvnZp!]'ޮ-R0FSz]Q8$瘈##ks^+{v&=^gR_UF>wEDLx*htj8Hƌ:VƀR^ͦdkv3fWg> +f9 h$4ӪjMSA`+|(mHpwWC-OUI=ewE{2w~ѧ|s*"m$#›t6xVUMȕb "ʬǤ'v CřC @rqዢA ju`XT6?X}guAu?K*1KbPQ;@1g,XbBG-fcf]|reP ύG9g!<ƥ 781KF!nC96zkQBuW]Exqe5VsV[:|?? J?K8&Y1)B^\w`\ !Sqqه={SL[mҬt~ؘ1}{.;ըU4:cJ(iۚl"jBeBRF,pv־kv!ď"0Os[7v L)p Xpuz B+1-MqKօZYm|2E&H\ aJ(l Pk֡v>,|m H;}h+i`G2 gˎ+CI,r{wP)&!jED'Y6υY?ndbO4XbMZ5]mI>N\sc?4]jD|l W3[:f'3M'u͍N8@%WD%LN?QWw')D]ZuS#sdll~B.e2RDC6my뇋D]{YMؐ)*,4E8r- , I%R.c# Iy98+O8&9~vW)BCR߄| [.]ЫH)eB!fOL,=j{%󧲣m˛9w47.rٴb&VBQȀŮS1꣣⢿gNGW]Xؑ.ѐNr`,P3O=)qnה?B_D-!%i{^;`\Ъ'Ƣ=\xk cͷ.["e*r煎Jn_ 2vm-U71%숎j06j9J-=Qd{xV>E/)MSPdӒ515Gͅ+j"@d{{&|(n;erA&}Vc[t`ɆT%{+I2w7Vf$ F ;; bCq@L}Lĩ:l+_?>-kDO/}pyl;[[B D5~C}h> i;8 z\O.jiZ0[g(Ey$liz0k.QW62V:q⪌=4\lX 6 'ڞ&=g#>/j̖&\OaܸxtEDښ]!b׷v;^v!`lvAXkX:iEtCQ܍cH8((g9(RQ(̳XE M+jD˜{ȄE{G7 0;:%`3gOlÅWp`@/Kd*pXU܅Iib*g7chC6kd?;ڇZ]uip +aྐྵA:<)BPVj5+7A_q")%AE՟5hWjhdK*pTWFn@"1{E',;ޢ~pH*5NzL\>60,tMJc?Y-RJ5պPNN@AzZ3XUio5/{WʮvŴd349>>=[m'ܹ\>Jp~+T `X4>sᄁEľQbj;M?#=j͂Wr+}o?͙IdU EKNlwv5v5S>Ivp*.9Ao,ZB8Y"O\vKOV!HA,2oƠRIq % |kf9ǩ!˼|3|!;Ic|9A_(%BFޣ٘ڎVj ;ΟÉ!=7N!'#qNq]Om tPI#{.~3"1RI];-un׍\F$pĈdƓoF7W NYg鴖JʑHiLF|ͲN}W˘NN] PaF1#\)iT,Ungdd*GLњr"{~|NT/O(p>u8L|tC2Bv/j$_ʛ}%4MӱpƇJ.D 7\/g?Ŝq>h5yKR"Cq~ GGw=|1r1>y6MF/ew;YCVD I h˘'ٛk7kJ-p-~WJn=c}u^:`<7˨Ǯ-.ຈVvu!lOU OdJeX6+VuRO`LfHU5ڪSmR;DJhQ}:ma栏yA۬;ޓ;'˜?>n`sŤ|@ouR+w3zqv>?{~oY ESY5Z6x/C4|p@obvZk7XD. ,oH3`}:rGJ?ҙ܉–n AѫX`kScASQiרC"Mb8{jd@GQ9iIʵ˅Bƃ{\`M˙\XJ'VWo#CSrH[ZNA##$Hnvx YNx-hmUFF:YVǩ;^QkT r/Ccjy[7 k;{ +d{I+$:K^ ˤ; _O %_vwGBQwڇZm[G'SY4!ӁJ' d!.=6ϗm 7=RU6XUJ&A21,Pω4: ;W7<R( Dܡ'G44#F{>j[_ ڴËZY;zZLRL3)A Ḓ̻EG`m Wu v'7߫H`Zj2-u=P.3Fy@8B7{&߳J?^@?[0!ȣ"袭226˾v Z4ex_&Y `YΉ*hUx=/ssơW:.l}w, N,d 2lD Q;&ERE%ҷl4IJ[T &CZUZ4d= ҞPM|]ɨ,u2Rl;A IGuڪBWnZ*ՁP8*Gzg0,\_&bL.Lݪ3'}C-vv '{7PS9ApQ+ sзoñRQVk>A jTY\>kPd@S#&),u9QXG=ova%bp}F$I" ,NFY 57KgMR]; ˹ʱI\ݥ?"֠ZϴW)6z6P:C/WSG^T241Oy-8i\64 z52' b9 $ڙcRpۧAc‘Y]9x8;ifwjĆ[!:F.l{lu M/shi:Lލ)p$gt X=zQ((PD;-JbQ8_#2aHE, g˫S)7icY>WWvuãd^vI!\e(A"aW/5hh30/k|gV 苫9UgP)vErjB|m QmT~5js\-%Pr%+K"TfV+%;Cr4@=N{#r #͞@6)Р-h; A9؝Y!N.d Ky"ՏI|[8#;>(+lyE ˒cU-hch:1LJR"=Dk1%I'iF%^<3Lo(uEOax RljK&0 WIIcz! YۻT9 }Ȓu6 V-IN )KV#Xp! /j2[|+MhW8B'$-7&w.A)Ͳ=mhy?ʵm܂mdh[d]ZaVVbJ3uWX}yI " \wd06Zevtnfq*઎fakA'vh0BHJu* IA`GЉ}I88d;UM:wIL AnA(TƺEj~D J Ʈz[NdSPk'/*dKSNϡ4'5vY<ɸ#˾U&%,|cCr*rdxdevqzggqi0$`Eh(!aEҰ#0рv u&_ua;1\+7v{ka@d&tKg=ʇpFUǡr_ "z ^>oՌ_q]PmZA3zӿM`ύgV߻\wv4jBǹ׹\dOa+ӦNla`%B;?gON7ԧo _tw{R,>5K,3. t51t?-G Kz;L)|Vh|xw/ƞ K KE: k'{d 3eZ彻fIB|4 U{AKbuvNIϻNPXBzluÕku>JZmU ~sKߡ$7JGi-܏ Tf{'ojK0BZuj  DŴeEnqboW产anSKdH > Ie2je}gPhvεȞx$y}Kyo FzsC8\!hPO>+4BG8j:U o{CexFҾfX}<ҷYye,'Ld\}QPM ёeS s+KhV}R2q Qbϋ0Y3g^C+.CRɬaxdַ>d2SRt]A+'ED&DRm~/9Hއ2,͡{K{W^DvT}QDasS=woٔ]=]wI j*CSlSul}]<=պLND*TժXjaC~z ,l9f)ф ¦ ʵ&oP9eл?:3yGH2C3V6TA!]A7]v?wWp@v8`'Ts^_O 4.EyDB3q}񺓥&;ibg[yIܺlM $5VFO>C&:[N\B@eK A="TqAiQf]]rNTYM,|^@ѵiKX 9C1n %vkYPqL%#V%$EҝֆS|O =fGd8I ^dNUj BJKbȒBub;9 50 B1Rf0>.Ȅg %|}[`PGqOtj24罙H[ӈBhβU.%qZH`OGTtygn oQM3p p!On]I-̉,ٯs[dϴ_wuC+k9s(`&ֹ"9T#sbos1GmB;~o iTgd1;qGKӃp Ӂ&EM]3/Iufϯ? D0YؓBmdC;+HsN`Ǘ&trSuN4FӼ)|ZK١No N=f19*:N Hyh.hz35O߯9*樨8]\J<g=Yt39xxRcŔ9' fB s/.zAqP cGX% HfPSw ޻hk9[Sţ^W5MW'UMRJ`G"떡 ]_d*8;NKp}7\0]Rv@fw`K8.+պPI=k˺(E|wݕCw6X&ɣ*{q9Zmީewm7/?ZU|w9Nj?%Y^jxcf[V@3wd7= z4tzf]d@W ոzU`cPCX56d pI]._moVj(^kY8)hmu]( ͢:°i%G] @,eUj^+QS7xCi.OrP!kLJ.-MG8orqvG5Wl)=`[m"^Y3 :{W(13 O9wT.PF]V4P&I 58-f:A4툨+8_}AO@uQQDf}ϕl7`(ח?G #Ow7j~4,|S+zb#wA(JV%.]u JD5v:[ --CH 5~R3-dPηt=`Xm$xXPDfn Ϲt>jf?ӄtCd oBl8GuFG[]v.&t#p^r~Mlf8MRn.)p{^eP}\ ˼ߖyeq,ƾcYt2ebmt$\dʉ0qҪhbl@Cf>;Ҙ & 텽oN( /-:<'9i4Mb .=Mc"a_ JNTnNlHeH=™CXGWJbRӋm# QygJf]"8LVw'B/^ Lf+Ju/ gC[|V&~iG%Y3YG >vLzh ̇ӪJXTV9-A9Y]?,x>.WUd"-{[ҷةO'lsڭxm;Y 11En-c3չd8^)zfc\pG\׹Ԟj{'6Ljj!Qd6ԱMڕNFI9'G1#!VRę]?;6hnh6PoԨ7[cQ:l5 dM 2U5+.y2TGyL亍XjR8'/9iKU%>3'#\rw ҪL{gʱ3]Oz؇A6Jdq-^5w ^#ҿI+t7햿$׮|/7n-FL o%G J ˬ#a du3=U1tcG1IPH%mq1蟮}*jVsF)Β% x V(DdA`md1 aDk`1\%}&>.Dz$յ۽ݢhKQR>Z+͖*ñ h,I)4vg>EWg'\&'jf?d`Mx#OPw=ɗE$ "!1<6@u I[4a {DV*>zu}s\lT ".O(32G-}zx;Z6$޾B^9Ie-i =w# Yؠn˭d >P~%ɋ l֨`4m5RW_\JͷYq2:W7CyW\]@T`!B :ŲZ!=iil^٪9{v[Cд)/Q|)|,V*]-xe-ĔZ?A Yː;܎S]Bgūd B"J-rzRϝSc%g|@Ƨ]#`5-(Icix[4#85lZbtDXeGcT w!Ì%8`FهF-'w-MmΣJV^ijTr٫VW4FC5wm:I2$/ZjjXE Qlş#-/$ǘL Խg9,;h P4?<6udul3p[1PHC\YgZW>Fj5/뒝Z'k.כ=C]SdI4m>dImD?.f 3 H <%} 5H: ^m|Kz!A,vOoDouޯ;V<ˡ1G5# b1[`H*»^˕^MGXD}0/$v+{FZЂB}P nRok.3=m(){tGg[`Src@~^:WMU: 5kˠ4D4J=l[ R6ezI~nAy\L'.մ11.Y !/N'!}5-JS~1gϘiPțP$,Ѷq_ t͡N 뻱\ڡ!0A1 χ&5^B3^`4XE8W:J `ʘG!q1C<&;z: @k߹ {)H˔ ;fNϏKZ]ozP7ѸHfJSըohvNW8_+.aG=ۺ+4 J VgG>ǕqE@w3?y/< p;>6ԹG.lT$>:qW\}.+3fZH5}pC k|-SYD$߱n{l>q/{s騂c!ͫ7W 1ebxir'j{Wz᷅ * jAՔ"[ɹ>OfǫvJv : *%N僽`CzF\Xz UT&K͉z#N[#Mx p~ /{GߺLN%xd-,+ɰ ?YrΔ Ճ3~Xc&@{6 . )F]zz ٜvԇ0|=)@]chnQL >ۃP #9B0"]9T2]G8n z\5=R?H7bۯ} 5>ZP/FA=6V^4ʘfkh:a!~Դ܀u%`/#w۝`{#! B{TYHv*uTZ~fUo/kqMzݨ)>1;0,N.krMn9+ 5NU!ޣ8ZC" ܊\ezk#KTyL|תqSWjXTB]zҏOD{xɒv_Jb^Dq93QػxT`H>I: &~w;jtPx\%d~@* ɈKr5]E@[ Ysܷׯ j4*!Y+]vt\);ُްVSG ?:'inxVvwElJ ;+vSv7'5+h.i8Y(2H`P5 6MX8\rԉ WYiWs'߀ tTjP=tZ'/_kN3CKi w=S;bZў[Xľ`H`bpy~u!㔷TQA((C_m|AFCRRrkM[ۉ3PÄK^L T]|:jPb& 4F^;u*mVL] E`uYY÷Lyh߰z߮Tjkh@Žӝ7=Ğ ԋ؈+#Dθ8MQY]l pQO dwt~X| wLCUi6Qi"yrl+oiN/5bԆ!!tk$dUm6]ҵ4{(8Qh9h=9EZUv7uDsPޘx- Wuh`s1;4=k!7ޤ}s߹Q!y"r[&3iTnVˣQOu*i#jvUJ6!-5nw W(\ŠBi|;c228y=q#?k'ƴ,Wo;DR+@Dk2 sE+E~hyj>T]Km=+>C1e_Ĩ;d?lXS<kdgk#ug.l~aGwG|f~H$WӦ6O2cٸNi7Q|z7ku4U)fI!;m^7_U0Xv0ØP{NNreU#iCFj@[SH3L&cUoaOyscE*!8}25 ݧ؂}eؖGk47v Գ9kzwu6fds$f5[98NT쫼E"vr-?bCn_s8#V%t}g-{'sTr/9mw8mtV9ќr厕%xeq= ėC\*1,qXgms~ƒhd.Q4D h(N 덽K׈b.Ji!{L-K \ ZVU#MeA~cqax.‚B:K Yc1_zfVp"ПW>m