summaryrefslogtreecommitdiff
path: root/ipc/msgutil.c
AgeCommit message (Expand)AuthorFilesLines
2015-11-06ipc,msg: drop dst nil validation in copy_msgDavidlohr Bueso1-1/+0
2015-09-10ipc: convert invalid scenarios to use WARN_ONDavidlohr Bueso1-1/+1
2014-12-04copy address of proc_ns_ops into ns_commonAl Viro1-0/+3
2014-12-04common object embedded into various struct ....nsAl Viro1-1/+1
2013-11-13ipc, msg: fix message length check for negative valuesMathias Krause1-10/+10
2013-05-01Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vir...Linus Torvalds1-1/+1
2013-05-01proc: Split the namespace stuff out into linux/proc_ns.hDavid Howells1-1/+1
2013-05-01ipc/msgutil.c: use linux/uaccess.hHoSung Jung1-2/+2
2013-05-01ipc: set EFAULT as default error in load_msg()Peter Hurley1-7/+3
2013-05-01ipc: tighten msg copy loopsPeter Hurley1-21/+11
2013-05-01ipc: separate msg allocation from userspace copyPeter Hurley1-14/+38
2013-05-01ipc: clamp with min()Peter Hurley1-22/+8
2013-03-08ipc: fix potential oops when src msg > 4k w/ MSG_COPYPeter Hurley1-3/+0
2013-01-04ipc: simplify message copyingStanislav Kinsbursky1-0/+5
2013-01-04ipc: introduce message queue copy featureStanislav Kinsbursky1-0/+38
2012-11-20proc: Usable inode numbers for the namespace file descriptors.Eric W. Biederman1-0/+2
2012-02-14security: trim security.hAl Viro1-0/+2
2011-12-09... and the same kind of leak for mqueueAl Viro1-5/+0
2011-03-23userns: add a user namespace owner of ipc nsSerge E. Hallyn1-0/+1
2009-04-07namespaces: ipc namespaces: implement support for posix msqueuesSerge E. Hallyn1-6/+3
2009-04-07namespaces: mqueue ns: move mqueue_mnt into struct ipc_namespaceSerge E. Hallyn1-0/+22
2006-12-13[PATCH] getting rid of all casts of k[cmz]alloc() callsRobert P. J. Day1-2/+2
2006-10-03fix file specification in commentsUwe Zeisberger1-1/+1
2005-04-16Linux-2.6.12-rc2v2.6.12-rc2Linus Torvalds1-0/+127
o>3WWϚU\s{V9Qzv 8QH}O[z~;|{T׹ߡ/hVg49^Kvo(^Qa:Qt%'3{T~1|V2~ $#p|n9*7cߒ5~Fu&:<{k_Oߜq֤X_'x* unLu\I|*ll&^bjgӏ})Dx㪍eybCͅ-=tw@(\B#%ag9Gl*:9/i@'NJ"H P8gD\XRȐ) (YH`$hl55>5}Đ5#O嬭ƫϊ|tN?G mWVMyznos9?KvI2e |X]ul4(ZiYv`^Dč6PV  $!=L<<4k^0W)#H"힊:L>*dj)θu٧S }MP!( jQjD _Y?|t6ߪ%2gt?60 ]Y^|oϢQ}zc)3Χflu=>{ױoL}eq;H}\[O 碷* flM?5jٝk7]:v}Wm)#Bݖ6n]u+VTYj x;0+oI_>l5q˄3RSۭƠ>8/[+:j#pa߶U~43,5?c>ѫ\o=>I=$V#^4:mQx|W5G2O|3J%PMI`!󪡳S]ޮʁB#pl/ ?>|)~2BJ,BEQ_K{xk6茄&f FPUv#كͿ3UwTj6ru:0awDgW+Um4^~uU^k\542ȏep=|8[:[s{< ռ-aW|-+!KoW{^':2vC 0#k:K9qP]wTrgª@q2n4Ίo=.$`/A=К(W1io$*^9M(|$9B<3nz×neS"*Q9-o.y[pW ֤&_jeoͣS@qTBgI2^BϣڵЊeT=0PiV;EBKp@08i:k]/T^[+{hD;J_|M֋]2{[(v[$^sMŪGqat<=|jh}Se;: _F3ЏQOGOҡИAׅϧNW'@ƫ[k+Żﱵbb+uqϨIeb㘮  p|lY0Z?hשׁA(H W6rۨ ^R g0H ڿ W8ZԴHOG;&:qféFO L t(9Y␨8)q<.Amx#p9dnǬ-rG=lbQy >">+ZȜvP{_Fc3C \EA~8k2jwC 3.!+yG; [g(.e`CA* _0H`:}[DB s"B U7D~=#My(1U@U2Pl #&p5#L !0 Qibh7;"!'A(EDٌp9Ϯ'eI"(({_ٱLɘU5,]??U>T B%d`|Aǿ:`eo.?Np2 XD#D^ ⾧ G7lPEd@ w*:Žv} U^2y0TwQ-J'D0/Ayt6*ir1_ٌoȁɀ}MW H[.2 D* u}m6G #y@I<׺{mߗWF^:@Rツ S1Wt^M~^|~M<E+ZGB&^S\tS:!_ _Tӿ#SBy5dR 5);^] f`LD2`ڐ>M{43H]%3.Ԇ􁡍`m3Ն֦ݠy':C&<$47=hiD  \)l'-I.G㞗 jc-fBs4OϷV^mỶ e)9fnaݽ09jG$l݁MHFOJ R  d?}k] PC';, G $SX!Z0UZ?a1?ڻ%~O'#W[s 2__f@gH? uV˕_1h*uQ= 9Fr2x]MS3cXG?u4s_~{0,l~P peČg\kBjg+ƺ&*qs10wV!z'|me+i{$`?Mt?kIt(G ˇOӆnS:gwOdKUy-#}k.2o<`[O yaÝc~cb'A柧LZ;s"U+9D>hj2KPj8لKZ?<*S3.!M8E'9cv9C:)8*#977N*GD?.Z`+\CBNJtICCX9E;&4|Q`#ÖM:3p+L0-썕]tGp)nMB5 KU^<aT SϷQspgWZ؎yo7Nk`84J&*tEqw8]wS5nUn:_q G[F@Y*`;>Q#9B)UIݞNe%[Z3n".qZfp:8ςYohB0! ffﹼi$ufOƨHAD[Jg]h#/O]]HpGz}[E|^>29xܑ[+`z3^TAlT _`;G? 4wQ.zobV 7I㠙 "na d}HL%3DV6N­; Ow}\NW{+g:;b{@H+c<@YNh:w5C1jXL?#gG/? ѫpkvp]x'tK5bܣ zgK@솛G }МkU_^yhht{u>?]d[ynmlpwgߏ$x$s/ƞ~x hwyH' %~6>}R9U~oa}I }S&zT@/n~ʿ(loS;s[zpeNKr ϵW`=k h2$'L5frec;́"uIɣZZ`9ݩB輍%JbwXi|mʶXHZ;@E$D\ RisԶhSZ0@gBLmzni_?7dsO4+o@زz U2XM֣ڇgc|"C3αo+DW%_|%N/E Fɗnp7|UWCRJV؟u ~Pu5o2h#t~pxƜ]^;d^ſH)vm`=~NWlzG}t$RLHg3Z:ؠƐ&]$囅5ȇ52"`.!Fgȡ!m\'tv~ż< ?UEG8nl"L/K]$6@;XclpJ,r3q&243躬"_du']^/'ZRί PT5ŸOӏ7˶޻*49}NG`u%0}eb;jbΑnCzj4a#[&(8mn}3avWw~_ǿ8tjVGJz<σ-ϧ-yç{(ƔJcس>r OT>Db ijysR[Э!1q5^e"ŜߺC/\Y@vN@0n p'm-$pXnSb0 LB 7ZF2RA1+_a\v9R ((MA#lHܭdc <5MxKȊrQr@h@L\̆rv$htvKr@.hjd'JA5곙7eNfQE6s~QsDD,rDG8dTBDC?~<9:fO A#2>0fDs/;q{ 3~9.:CULl"VDCw=$sӹ1v^Y)^۵i~c7OUea}YtBRyY]/w7l#= |=$tS~x 5(:==L?=\_vV TgKÇVy|h|S|T>Z*,ݞf5SF(cZf]!ܻZ-sj.SXi٬#UUۡӄj;I=W頺ɱUcKSZoU.j4unG@#ϻnw*!/˧{GHɽ]CU0av$jfo Aw. [[;ƌa Ϣed:EߦZ}[ 7hQwvu;>)%ۥJI8iϣtx]Lwh苭n`9U& wSp}LO;dlfj~K4jcѳ*DrlDfwO"6t;6j 'ԢQȤ[c-S:tumKh:N[N ?5t3$Qg%tփp>rvBmٸ]~sͯW}Ⱦno^o>Wcџ0AQB/_s߆3VwD%{k?C=uPmeen 05[5X5$^jТHnࣴXwMڹ쭆ה׌<E qPejDCO2ڱWvπŹ kXd\byeџ9"{Z<||G;9oN+c;isc(זR9q$:tΔ< zA`DՊT؃>jzEB Z(/z2,k@ЂDAhwDߧE- (&#QF͆\z-~yɠB$@Peأ`kInsށ5 U\F(<[v5[D >v|>AVmx, C1'ᅶk e)'BJ)MR!U` -vsmP?,#?߆0S~lFv >'YF%xhP`BUR#&݃7ڶ]qﰊ9(uߞ}N AGW?(xh>ZsƝL,^ DHbLhv8Q޾n4=کǛ֊\7iK!o;ז}(Z_W _ӳ&E.aR\Z/sfa UƫcBa[8 \+tg&A9AyS~7n"z>R@O3PϐTF0,1G X~j{iIt\2x FHpp(V+> =.Z\_ݡ>?O_ ,|=+7f#9CxQ 2ѷpßGv{)Co 9ڻs8nk5zzq1V0 AXa7>0(* 1nC~qFE|-@I;5:,ؽvL<DxArT:J1pw;è(y#]{r cN;@<4>]kS{@ڷqSJ.q k2_Q [w}T*ӾT\ ܺ-uFzܳ8gE[qg`6Wvpy#v73@=G`_m:u6ab*g?.1^ojt:"@Ryt%EQ!24/ YaT$~0P9՜gV1(Pa{Qw(@:\vKe}ZTx ^KnnFj۷uPӦ b/KX` `!_mZ5+ lb]^Hٶ7)繆 +.z{%*zmLŘe9*")RBNs]6y,Ǩ_ؠ~bŴTܗgP>8t-uN],áu.a6HYa*ߗjFrb@URz_=ݏuҸ%a[$B.PLT{-ׇ\hݾ; L$^\zbtsqHq\%ьӸhe\λ! -_у_uJual8Tťp|oUag[ I6r{\=-FJ61ċMV|*?y|RQ^'ތXucxP&^1 ӆv_ $k_Yud=~wOW'}~(NZ)=Z2C ;4C~7L6+I[SmXl#*y뷣(F"M>ꀏ0M GDmmZ7?]8H;#ʯÞ@# I#R{zp st(0NBư BH/2#Z{TB|5sU{'6*GOOaoFR?%v?^QLrbOY$1N<-"X" C^gQO5}5g[~hGJ=^|5Y1B>hDqRE9j2>mW42XkwNPz\W=[AdD%(u:XopfĠB:m{>XX)U >~xX %^潡Vms  FcZKRaA9Pʰ(9,J 3b4^@!+H /Tᅱ?gE[ 4^9JE!^ r|] JCپ;݊{UE7(%VlNSb-oK8AJ5hfuDATFu (GTTyVƢqJM{*"*mc%U-GO^0)(%4xM![\B=3%!q2pf?}I/RifA1ƺMύc|DHĀ?u A %R< .V0XG1@Q h#24CV 8ħ:5PYm)'6^k.@Uuc)s^SwjژwCR@0~OqTz@S`():Xmנּ0#ZK@-* Py]iK+wkwcc '^pkl_߯tFj+7OQ JC<זDYzl*놯+ap!awq;*7A?#~LhOv͞? Nqz]|-QB4/(ߣt,\"Z^ܩ7}FH(r]o+MfmgO}d~4@*@u|!' :XSߔ3N&$S(X" 8P1t3qDA*ͥڭ%bSWE~6uOrB tGd=o>ƿգ >{F)dv/0uhvްEI(ۂ_CW8[ͧ55 `vS 2ַp&!݁Ը$0B ќ~v[Çqq@0_>_LϿq΁9kK^DDJ t/BPU+od' ! Jq" AlBJVu<܃rAD\{$pGz(kah\bˈuG|$y~5rVW t狟Q}OhPLE:/y[y9h4W2IVMȤ/?Ȑ~=4~ΞVk!̨Pyu- ~+jX%^ʿ.y8Fw+ >I$ A;3uQ]?&ͣ*p6 e;XWQf77L<Mi|>~A~&0caAƈE=Zx 3QltVx:P#tt:֐%lAK.pd/Tzy.툠MBB1OF۔qp 7Dx ;@M9Ֆ6AN{lmFZ'Ղ*ۆ8WX9Nw3ޢg7aV6Սo "~#QpXg:Q0{g_v*S)!8jqWo)JjP}c(9^U{]EaS `Q7n3ӯ4 `>k= R*$- [XPDOZ#璥}71h]jWW{JXr4M@Z*'Bp|m4n-A؀퍨pFnQc{ .DrbJʇ}CbT8^ihA9.<= GޔT9o0m _UԨݾj/Ul9/ aL..+JH!ne<? yƆ)cyXA\C֥y1Ec`AiWU>(HX㻵C_ :AuU/@DZԈODQUSGF[^&q%j~.*,|Pn=n:"a)~qU;Ϙ33Ƶ;a*_4SSa7= (GBCܤs燦п_X9b'SG)~!CA8c8|o߄weoL,ʽ$ӯ0C/١|! >h9 Ӧcz.[ Tj`3TukW܁16]0\lՇF;+U 8 &ކIVSU+A[̭,4plm%"$zoZkDeK`=+LlkVDݣ;o˞nNW߱e`ۃ]b%v\N`&TjYNU##ȋz.F8LJ^V}_ Hs7&w_6䫎֙ݿkVH׽l/u|mN ~嵀9\MShGCgls_U:U)QCCHxh)w$Y/JbmFb981/w: @p`2s0v3UW-`pk{L#Ӱ4q8y!wbo7͎p.Ix;ĕJ`XV_7w;ߑcU_|fI"Ccu(?:3[ƈj! >DN/18V:3=t 8֣dJվBrjXuӓJ (!Գ:L0*H:B] 8K+Im FHe+(H/RӅӄۼFkLDƣyyԈyv3L2Xܧ?ը)Ctޝ7njl.K!z~xT&6x#12+I>qKjȱB_T(\Cڡs)-# ,Y,$ur%*HEXCmS`?|6a#pY Fy甸_W`wϡN|@BdD@2k¾BjUKXBꐃQ-DId0; ?1uRmۖ!Pߊh2a(ө) ;&l]G>\AWtG\E!jͤ mgћCQ ͖,V c)g$YA0ćpW/ yX>Gu&ƏuGU7O@ⓑRQqȆ#1 ㄴ6x?x=G>x܃VS|l=XvG8{l>yz pBА)Tp;X'HZ`e$OC4QL*2lޟzNn"1hb+ D8N߷BTi5㈌qbw:.DN&>@<ځxCN1? -$Y2ہ " (tJ+g%a˞ִYKLx$@* cS9eCgܳs' h:tK{jyXA@Ou|ps ' CGAj.Iw_rh: cf288.C1Ij:M* 6l W^bl6?Yx{6oWZ^ Ru L#CO[&(r~Krp3x>~ÐG)e6\kպmڵUh]SU[f6 ,>.몃+XO609x+^M,9DŽ,(1̶k}]r\r֮87\ =FP?4R2A8 Ow6 j1o.$t8m27G bf 3餬\(6n`wn߰z>h5WYÀ!CVjaK/j?.s툮4"ެo=NhPsNzK-*UMx|,VzՑ!_^h>,k|릻IԷ כ>'hKMI܈U.>#FlܼM:M _tڵMpSsTyPf/LmmSO; lc횴"v 4SD E4 7Vk,Tw>pG(iNr Me}j`s>5oA{+zAu-" C}u.ޅZn۽̳3n G=sÉ*)4 NelBKԥv쨜 'z?-XGv«XER'P @ɮoVLh|4y Q .K^1uB+} p~}$EEl_e#>JKԎoBOkdXsXDh˸Z}7:Y$KzikBcq9; ^hLh ,2a"թeJ% ;xBvEGhd@'F $·a=b]§CNƳV3Z{w#ȩìJBgϕ}Ɂ&UMR~ҷ]?2H6ӭV]qlco{xѮђ.2foW7ay+"!61ǗDȠZz]8i jgoFWDlRe,3hۊku.Yy3_08^:a!#ߣ_4L fM,s3Ed.3{ 9`H z} adS3 S:_%B4 8V(3ŋq^0X_&5K&*yǩ҄"1-/@W{ƬZ76* 3RN*b60V@s࿾~[4aLh$ᡅ ..D:x&4a$g13~k#+GFZ؁|ߨoweR>^L5+߄LbG`BG<G^^i/A@ scVŇ'` JJb\G2?@4;{51<<'ǝKR./X+!QPG?\f [u1NUx? h[ F7p.<)&9Sv0hu-Z3lVUe`x 济iG]dWk7 @$`Bw7OJG`f-͠\} q&  `Tɥ@jhc՚$+ǦWr]5&cgpY28z;-qMbZc,[; f7՚d aG2̖XW!nMkZT3Ucccr2'uxY&ËM )!53qDiQZL\)jL{̘C6t7ulthmL2 bvjq1 ۬1x=W;IF2H.6Ĵϫ1B2)΀EVxVK, Uc)b0 HiH|N٥1o(iG m%'9.ϲ-03DD¥Wvlw4V u}6zY_PdpkrP痞:շ[{XPU ~E*?_#MKۣkLuǰ׏FK<wR0~ ˇ7.3;+o;ƙpr^:o}ux}Z0QЂl/у4Z6&ʜo&|D ԯ֫W%hWNg}el|w{ä/rkNd&`_qXӖ WB7̡鐙gj}ԇ  ?daFY8(p,tf{_KNãS Yl`14$bE#F\[v,8hQfp' CwFv-X֢&]ËJ̯*,ep_Ym-'9GMX`P_V«pZv8-P]ONΩyNlr((yut=@& 4 zB[a7T-ڔ1H{tҫt;Lu݂Їo a&.TY..teݘaa,YJO VYiZe }l2OC.5@Պ}{lK'U*-aoW6I'#>iׅAv!- L9DoB QR H,dp>ǘ2uS!cf݋F?>"!fuPUQV٩WϏ주 )V4dCUVgTx(كGs(ٯ,nJC'ڻq3Hٛ\fZJgOkϼ%FT;7+몚臑\8n\GTG\VoW~[U߂zsW4rmra[+)"lń) ^S6 +sU`rq#7"Q qU#Sqx:ZN~px1B8&=Jn親X 3URv'ԊRYԄJ[>ϕZ?c% @qm|UO!l,܍#qUhFMH%K,!_[>NC0"%pU}E;'&0?;كij{Ah5 #'j-W 3As7;Dlr>ov+)UTg ;\:#sz9C{^HTf 6UPH|r1:W׮'Wfzia&H.;ZQei0e VWPQh>:~E5F`[tT_-e diM XG@hkVg2S̕OF79_ct3:a[oIh1cKswU9=ja GڟF m '9'RB`Dg7 nΆȉ~*)Bit`i爒Db[D =,>\>A|u3tMP]! W<<1|`>E>4% X@_+D#Ogk Di$$"1A+b }Z -V9;C\3Yr*x.LAt Ds}'n2T.2SKfe@`j#N-O! "{`ۅ =}Ox);7fo,/վ>UWKJʼn 7np-f 'V>m)7Tܡl6lvz5h@(w|d,[e2>iLYEd|QbPБ*^0, \v{zxaG5#ɥ묷t@=hzlV`C92f a*6`Hߛ".RF4v\Z%n]|CEd@ƛ!R<0H@% N`YUPecGjr>p@ߗ2,}DQq mDoЫPv[^@{UiOLf q®XY^l}SPj8R]\ !:BB xSce縯&icqʲɻ-+(Lߝ!QGPV09!UH)Axl;িH⾤Knlw4KJU^^ʱ5뺱#{4V>+d/e.esڢ9"e=Zbm[0:) JaY?p'P*E l)8xM|qb*uª$ "X̵*{1ri]{D A`Ƭ?E ~ /RTXsYzѩ" iMMf5  ^gy.'3pГ?|G4Fp)Od~pT^$5ݵk5qv6/@m5mKKfZaRl,Dq%j"tT@/dKf%Ub[hW>oeTDIvp̀X$$~}+', `BYz UN9NE(T-# H2N:/vkCC˝-1n)ka D20yUN02e%Q1+dds?]H*.pbۆ<_>N ]mVZ躙=@,h+F[gǓHw Kh?D\w?u|=;B~ OkƸWUB m=)"Tl8^*`R{ ['e./c7#yC96KiW#\#%Ԁzee"ƅl&v0P `P [c[ wKd0R{+Qȯ *Gws5U[dѬ @ %zgss ΙqE"EPp>OIYedCPm&e"jŪ6ﲏ{nYOKcDW TLq^V+:  le+ NgؿNIsus J|wMwa C<.@)rBH!!͘[.6u.&T3$k[63@ pks 60Rz {Mq^p4[="?TGW%X&jT\4[̗khofRsD3!$ʥ:-ډutCI]eyW #ţh:'*@뤸: +G&*JuP|"9t4T 8?VG.oqWX]/1}+\ޭ=C#4HU"ӭOeԝfvl=(=_quX";V. V(xᢪJ*Jz1h_}#9:˜\s5j:4­6W]}ouuia;8Ch[l%*26O͹=.*8_Ʈz/V.Bt*<:v3Xg9zP]]ҜzZrʡ|hHp }wgl8X?z<1̠oKE"P~ Ee5U񻚗_V`!_][.W('DI⼡ i~\zXN3.Zu]橭K}zͣ%L{>{6J""ME@I]Kc bmd8Wn^j:VK+`uIL FmYqd|roG9/˲σ|"vY9B< RWX3ԩ&E6fZ Ps:`m;r$'t}FK5J.2 n8鐐!d]E6"!yV V7;i-e!U*`@^!?=!8KⲶijQ$DA9Go6sKƅv?ڊviUGГ"d+0dVɤ?@ztφqyC5"U6( ^jm"z.gNgPV^ 4.D0Z a-f1x (@Ҙ8=tȋ#ͱ=otm `)MԿHadp;^[> pk9gYtoX9%N`,yxFCdC<{,²(.Q=/r8NѲgt剹%42_j|޲(J](Du xԾKL]mvDzV!xrph6F` [Q^U*ըiV+L-mγ=X+aEؕw2={I7VbowWie˝eic5Q׀ B~ lq}yq73uY "!ede V:M/& 8r0hW:Y$'35eix[-Hp|$fn;|ʔBQlp4Kܻvf|+K`BԀ/plQrNl1acA=,d+NƲ(ɻNt*w,, Q6rNCۄ[H[\;i*Ë<0NqH>- W+[PedG/d`IAz=4>hDb5|R#BX2"LPV*9˝LI}Oc?[+7) yP+KX8ת{¡›[l$.)*e<>;.a'`/w>xa|7ޞbDW(3ɑ9T# P pV]ɪ(HU7qY@dP(5R~1dIN9Ma }|' o[wq̥cVVK&[3S&ae L/tA'%׷a`qw5)ʛDC6Ի1xīWdEEq *{\oj?Dס`BWZUWeָ=T g*/ o)8HA|`tY,l3Gz5j#9| eBg_3^'˩>f$2n@M2.K;LMb*vnT:^{9SbN=+pg*kj}nBe훼c2 WR%<}M ezA·t^z/"|A^8Rݕå09h"P&<0wr6f\A]*{~duB r?sې@?Xp}PRe]b->x#Wb[_ A0/\O|͸B#Rg[6JlWҵimBZu=h{_1ځV+S@J~/XEY $8f~a.>9"j$Owtek''<QJ,|e:d[_#O{Ҁ=t#E1?s_,E0ҩ7 TX$JDm0p2ZzZ.e >J #`[؏N 7k܉8? H$p@{,l ۃ٘0kdMQe^˕l%܃U,7 *q=*kQDY:tpizLrw`Mcumm!C{|Rz A?ž xsZ!_L$4.>"[4aA!4s>5p)gp&񈎺-hJdC9DYWMӐGW!p9ڎͫu"X56Έtd۔˛.yx7/\dz?'=U~mt){兖|ȔN`ySe:G+=wU}S{sسHW{ފ$+6ս/q}&p t/½g/Wuw|.e]Tqodg*7R10ŗvΧJPh]OJ<-dQ1 GS`d![lHI!J}xX 9OI KE'׮/NJGC(%c.,:]it;:.#sr" %(Y1,i`1潴@y>g*5{k.QP8=lZI>jnGsuUI~(x@:_=D<{?M&ԑCޏO^ V=\eOn*]tZ: ͋1X.R6T?׭??Fމ ˑ;N*=Z +@bwVd> zCSϏD-Uy{K)?ȿ*EymYՌw' # Oq{(U(4ưCꐖ7šdqYk9坘飞]/LT2M{T᠎G׏EEMSa#@WVQK[(_ JTX$Q G@,lƓHQdu}Wxqcn<Czyg&޽YѐOsm|`7EJ?g91+&HY%J.|;6U!͟>1H4uNa =?P<~_b AqDDat>IW!ӎiXhLKl)*nt\#>97Rx|k1y ؍JouijW e6HTlwno4mrZR+/L/_'֩{\j b*ӭi9k%|^n]bSdN|d1#g!~^*9fճY3X1'0@lq3XS(Ut;UR 4\f{T\Wך2 #Gon;zɬbIE^c̽=&~1ڠDn6˳gRm~q ^ff i MAE§E|C?PSPgZY3&ez:ĘWUBUh>̟Zk8!P`H0x{x<SOɆ)$ cCl'xz:3ܷ5F 8t|,(hք1zSN7p&{2`HIiyK?S[03]sGKcƫ*FR)Hq͉.2؄=C >ELŧ˺vC s]9 /{dv<_tϾl04݄%?#τ+8^81эwn,se)o ' :lR6`p]H^cG.y,[ DYE05@;E_8)MkX5MD kjP>Q:b"#0CpF7>wkF\Sksrp3#Ck^NG0NNQV4\ #Qc}MB qJQxK^/$Xxɱ0Pտ3˭i;/?^Ba[ (TAGS,`G)ZdNW Om !z%UuU& (ԻG~{((  vE˲_E\G! 8>g1_'gm7T_K{ZFOz=I\S-_@y%@<<:J t x(`;D!Pg_ BpgK9EF`EIq+x.4^θǖMa~v-"/5XyQ2 d|1mNH56%xְ27KâPy̶Jɻ^ީ`uۘcr L"B_qOC?JvpH"'!`93CV#<$3T22k>*8#RˎniF_ p`R㏑r#+e Vl"H..Z\#)3{|%X̙F~0Y0rJKsIJ0Hj˂s'd4J!J"QLɒd`0ebH\,s„ :8Ts Y<Ռ9|߽Ea$AmZ~}Mg[0Ef##ӝȈ(sP !Y;3~MN~ô2nvyj6BM'a~/|,Tɂk-"V:<tGdk5Ͱl|ɋV_횛ȋsQ@"}-H O!i!1: A^mk4[Kf=2̎a3\=o\)M}kڬA_~|ކf{ EQ?4y(i@C +SMX/ƑiqSK+]R.Z!t"I 񹦪=lKWqpa0o + DC6k4C)qZCiq*Oja5 3 `Uʏֱ$8ŀo&^iC}Ft Ot)5}*~VL~F_YDs±\aa r#:R3$2sothꕖKT.Ë5s =@XP#Z]чL_@F6 > No+ԯƺ832tVHh}nrڕ/"G&[#,Z^:U @I3$||͒qiьSK8:#,2I!~,)~?Ad#ó ;%1o~(Nw ɢ2nJoxj2U,Y\g0(!Ö!>:<Fg"FB(f!VTЁuJf& [ s&629[O'pW˸=xfmj`J1 :y&T`5 Г%Bl[10@លGĘjb`|NogM=W3\y1qׯ95N,-—*:˴0lCCkˑqNdԙO{MOPr f!D}β*L'3!D%)G3aT|BKp0\oxTrDxD:E zQ=wקX{v0oL4n44DTAӌڢ:8uC0"&8QE]6Oܗqf ϻJ!̨m pTAQNQyLA76㟵k-gf4]D~\︯BuG4p'F#淪o]MZ ..NbՂ]l9e]T*pXVפȋdA?<`׬8~GS$O#V1hkKjHU2շiᯕpD2enALjr5xruـsqǭe߇Wp&(3qe/A:3O.{t9O^pNaE6TN21-J5&88$e!N1G1?#D Xx LP{7?Ⱦkah!\CqHD/*Q̔~fsUwVLqn*.#\$Fx0 dSg a;08$|"+N6s?V*BjfA "?ux&"uA/xKFjjJy7^q~X3y&LC"S§~#SU>^~I, *ai5+3Gf?; 1k<~/tt"#۲;+xTBeKrZCrpnDa]K "'H~E^\' )F%>n6:T\=|y<ʟU^/gpp!H/.wC380훨 shQcvNRG|hp—#A{@1GD©'쏉Di*dEQ1X|=pzEVgcPCZM]p2rg]s J]e2$L' ^Gn7R$jq!CP#.yrzׄ- u7=:f< `o7P9`bGR1`&7s֛TZ}q[Abu"NoŪ*ld;2C$m?E>(8#L2<#uAdġx:~*DF} $}~oոUmsb( 5xq0f !!F_W/Eijr8O=2TQ*jIs薒3Wvӿ3;? ӇuS98}s |N,~O8d~.vY߹kⷨ׍Ő9I0!P5NLqox ̵>pq\^.yfVoCPɸBz|,>J~Ta ZЂ, !'ˣ,;XIm dl7yCW7LJթOۓݩtPjRC`q?~a3o Kϔɏ`R q?L4:ytEl{st<r<Зd#0">_6_ޣ1$ + &$>_vUrӈk>vZv 3M [/|d~f+Ɨ1\Luqxm<n]W]o5tlV5<\S$Tc&G_NKC_$@qY .!$ "hy폌ZFrUƑ`jzkur 'ct{1D Y~1x `E_ͷY&5{3c"kBhܯP%Ë/Ǣnta~b#m̥2k"0jNeȐMkt/2D@/C?Y0ܦ}@7̎G~ۍbDq,5OuYcE~_! @ ?nqhHl@xg,EI7^QT%yy·NBptqY"w-1.[Zרwl Ja BLPRX_m-pχWy5q,2*:0y?IDGZjgS9,Ҝٻd͋Ly aa LXC27@D`U%<Cu9a:dkUDVGh-A볊 F(@CL7 6ܘr"2β,XS'Zv@ NS)]U2]0e{HAH<ioC k%w1W\*_O~ N7iz&Y:p dS3ЍKoHG\;7J:5o~>:;mgc1-_ >iuN㟠IVմ /e"1[EkUbY<*x0!:xXP0ypo y?.ܩXc5T怴X/.^>ccB9 Fq o.A1 $X\-o5YuOŃxw+~CZ\>Ƴ.{j`ϪUp[溦D͸F/Y A J@O fݯ/%,Aul%^F-XHЀ̠ی/C>U.H_q2 (PGG )%W~)Đh r2-3h#I >'FJ-sqU:FN;[?wMzY!O0)9R#|0]sI2<=;L_4Ytq/FF>lTy) `_ZPgپ"fs>@g`^!{b(f|lGrD B,坏pk8YG;| Epm_S|gRzFnrϛ1rR/dJpO'9Cy 9զχgݞzqo e7'Ϸ0n}`)ʁp:fWV12e%{g L%m_`]cV^iT !v3h(.<$L}aLM*{x=^}EK9@i mIƭ/=BI`9AԹ3j@yP;v0mg05,"d(%vkBW v(DbFwgwMY{xOTSzxצxɭsyJB>W8 wSN'}u9mrK"]ա,as*Qu`LHPg[;]2_O|5^U\ T?8":3 6,_B8'eD$V*aQl4U "eTPH#(zšrB_o0 OQ4sa+4FHCn3,/CUxqt PEH8 #A$WT4EF4dwcS^U ޽lp"ھXe e%f"sY瞨q|=.&CL&z<)9(wzn$FPV2o-6maP̟jơrG(\쁕44w ,å}wG=q8Qh|xLCվA!-כ;u[9zwsd6C [_SZkGc'd`L7sA+^+z+h̲$F D2C\9(t4_:tJ#A ܨy4'<{DB|Z=Yk3+j} h0ux vpo"Iό4E0uMauHr8w噈ksH6j! 惍/ڮ;yٻrynb1r/N-'$>N~J'ѣ鯱!(Dl?T Y{t0|.:7A6!C`51V5Ƶ,3ޣOu8 .ӥQ&o4FJ ϫEf6ON$r|gɘ2'#; i&|vkD̊@?c>.DpAȄbBخN̘|jG̋$0X=gX6Aod#:^2S^&&-UzRy;Iw%챀t|}X^?sƷg+N7.|ߜXMp'{zMqؙ(RCtE4B¡>(a;E58;q @SKC~}O ֩F+bjImb̵rl$^p?a'.Ho1,& $;W&w/ÓDuroz|M񟆪>!!hþQu{s%ʰgr7 ꞇ2Y &u0B*!xqÑeBf r˳L*~˫B(Г?VY%́=06!GQSFnk?gK[TozpuC1ъ5En\O ([/\*W0btρky˩[3Kи7A _30耍X|4<ta` CѺc`OrH9R'`"kqmk|)O/ n:$2It؞uYJ1IFE ]bqG ǷUz/f@cǠD<<bvˇB [B:gxCι4=^K#Wy!h7 9AR\0U=`\8>@:@gc85qrsA_>u\a'Ҁ(O3X4B/\גw+Hn`EB» G;Ӫt* 8 ,&C7qO$,a`A)kSOXGHI 0M1lo;tkK.*w21qc*5p7pF43d&120^yoMp{k:~ߍ39[-gކCB>ۆ1s O/r\2\$ Kx<ѽW#L4ނgV$|3 0N٪yv `[z X<fÔ&*6^cnqZ0SAd|zT*xd4 A)ΓzkC+ ]) 9xG>u@88V1FiA=Lj7ߥ:|j9{51z;nN81ָa9bӉHO7 lV?w ̞{YR{U&dGg`Y$ CSo6'Zd2CSyƺNokw%tqu楍w?ˇه88 /+԰Ɍ>a7pklG35iƏ-522EKz]U`8$"e!UsO R1m$VٳϚ[G A(~V=m4.e\96t%ߞgn4":rK8 , ~cuNҀ*8;ue;eT1Df@.ٕ[޲zP3OC1kfX,m:/&'rFi Gn뮖\@ȝra//<(y\kҎNW5B/uw[jA'9SqRVjm4\ }vi@GuzEs]0#}jޗO\˺=fpӻnA>6K q^+8Nc$A7D-$~㟔yO8Mn xY}q|ぃ<(݁k7猄c@#֐M "A`R ,^Lps dG[ s97$͞k\nb\oD2,4]O UO#EI ,/YY$c3eK>*?}u[f$ZәSxa k,PӠ3)19 |,:4Ƚ,eQSxDA0:„^` )|׏mzQ!O-X&#V`Jd/@}vV#Tb"ۀgx"V*hV t /WV^Þs]];pP0I˷bz9K`AGKWGd ]kqݫM4˔ y;Ĕ /}s !\>b J/8oR"%hOp3aʑnAe/?WrDz R_OOoJG._I}DQqXw~:wgPa]MEjx37uf6 I3 :7A5@797f`043GJ}OL`ELhiI 8(LJQuc! `X("׫7JF#'R4o]#n,C+< WF{欂aۿuG""s2doo lČI\" e ΢GZ_e̺#Ǭbb6}}>bY/I20~?'J)CV03'Iʢ[{wŬPF*dsfIWy )MMAx]\H! 3/*@fF )\ |xiM'Ot+7dTӝb4:tjBuK01oڬl<;$I?H5,bʬɖb[ s~]Lx PQ"0p2Cr4{j䄌F]oXyb2qQNE y~WB>Gn Yvg1Ԣ~VxVMFp2Sk ss5K&:(9oUOg`Y> p  2!FFh*KJà3k`Y:FI"̄xk T9]L7V*\ТN+O Ay*aIOD5_Ϧ[p`K`S ˷1'^Ju龨FaT|Hh%+GU^DW"/CLmf5:]͚{}z 9dT<ϹHw-\^ >~>A#c?v^e.t(8p #,th\-R0!ڸAjT|# 18p,3YWԹ!o teŹLp/`SLS탑_ģ88>>oa`nUDgYDƂ*T+L>Dc:tR.@@]X㢎@J_徯7_3@ ExŕE8@A>8#EE{|Ң.BmP9`F>O W73OŇ\Q {-8RBD #@L>" $p\pR<7.D*hPH/ ȂLs\uoo֑Gl3Pĝ(nexz鍤W#|:x-SSyBh7n!dC^R6<% r,Saf7+]mǭa DF99 oL a,KiymehWFJat*Zo^l׿G\~H׫ˢZj=u*50=~XP[g3\I j?>5;篖*VERw5|A4Z-[5 HN<#U (-:&J.\$Dq޲5}KɽلcxBݍ^Օ*x|t*S}l(.%›aQ)MxA.o*FDF^898W *I]{?sա jnwń@ON擣Nѹ!oTTm_>%.L:p[݌/x8fI.,AO{!drް=r׬AO<+禽'!Y gD{ q4šFO:y-?WV1GZK9Ftwrx!zG  L3_0&I6ފF]A00^zcVuFs?N#prگ~l윬}'{!LmT{ @&ܪ_PGG}21r9 0s1Qѳ'TFTzVvu=1{ #3fq9(S05c sS%H=ip⨑o@X'U<ҏJ5gDan,ћlDۇ0x-m}qn~:!HA);\p$ֻ׭Mzꓑ5P)W@ ibql7J#\\ Gojj- k =w(Ff?)kka365c[(X]q_Q/7+\}huvTG U!=>WٛKG2RطT3|A W_݈/z~$H6SWg1񮵋 LZSh֓):{a|F#IغXtfӡ't8WHƹȆ-|xC{֝ȎDb3f}r,*dA"1wPU oKGMH~dR J t.%i!z|Dn8P+Q~Q{7دKK*сbS}A puh #8YiAS]R; ~&KJ+s0I.'=}Rx͟B2!07uf"TtMA7A+8įD/xp|p!T+x=M_*vD)?O髀+,] PC,Xq0h8\cD:w ]o tV"DNܚwvnm}Sj A|dğQד URKܩt;&&lO~$WXɬďP^܁mvW #ߤ;,~;m6x>RDDmWC/UHiPj(:`ޘ**( ]k2Ufsg uw(B$hiT=bWH@cvƬw'`4 Kv{^zH)J>zI*\]1aTz#6U-N`?EDDΚT "Y,0̓.W|SP$S8`%F8ޫZ[&~6+͵7avăKn"A>B 0贸X3(C朱=a7 4hC*B `cHqm?U hwױ%/\ f\@mIF[mo(zjyG|Ağ<4<6{ch$34 H>tٯWnޱo?_}HUorQ?goseN}pqyD# o[%/`]`ϳpj9]sES{.ݿ61orK=:z7WvlT)1ΩSٟ4W=ZG^`;3hp)}g2tj^Kwl8q{Y-0!jy酨^%'-̵- QeZ.~Cb~]~}z{)M#)-(c|ׯ_gk"+/IF? dv@s&xznM[O=63O69 -+@]DG{*'tdW88׬eW.p;tSV՛6'jVz aH9_;,wYO=$4$Nt;6N{ }3N'~/O3M=(Z!np'u󍁪}co/SFǪ'j,z5!ی$6U[CˉZ~v竻j_oIR'x=t#!@77녣mC4ͣ۬f7פ=OHBee(wL[sQ; /SvzSu뛢K8v,d,6{=ϗ!~:R]o %O}gU.غ'_;j %>7Ǻ;I8t^mgz_c@g3mBmC "F>H W.ӡfmvYO#rdx\Cw?OF3Lt?|.tU,Gs^8Q9ѣh,{Ao(fEA$.^]^/` 7PÁ_vsT_ikA[KJǿ9P>*ձ1H95>|N8VzzWؐJՒGWIwvWSή,ޔ=O+r05gF^*p>9[ɛ4^v{nF[(|OHd.x ZVq35 iF`&(İrn0mI815=Dx[p' `ML}?:\:;#BIT`i $iboX]Gy*o _hh{v_5?dAWNލ.Ts޿g,oğ偊I~Oϖ/j믠·_,{B" ۺ%zJOezOC-/J/|,k??_Dn 2LB>IƸMȵ~wY+;@ ogY&"Ya޾U^J5q=?ݏ9þ@sZ2Go"ߢw> TjU4L\ 3j 1MciǮXW*~_Ĕz=?cN*88' ]$A+7xۢ0Y:C?P^{NU\?'YqmhJ 9,{!gy *u}QGsHsx*&&,[יiDx}CMdk7W_a!9V7#B3a_@T 9yN p$JoA-7j;EOGuWV"#7o\ Gu8 ]}_4\*c['wCYz5 )捌91-ս(6Gx_ɫ1@7|넢__#(??^^#*#IZb+IhO(N5 @,[bw*$w; ^#YE  5IL=͕ZzCo0udNlmZoFqg?T컥K@p'*=bξjndA 6m0D9Jbwp}쬏R3xv,+'n{ل,#Z7?>2nG_:}'x*hKm'&kYzlƸO4sج(>P>cHF\'ͩ/?~ Pk)y˝S=hwC=1#;j{6bc _w~EUņiX8̿q;{YɘKtA0"CXU("jlk"uL~;)v>ǡs^.ޓv<`E##\vQHEC!:*eZf=޶ѳtQ^&lWhhsl۲ QBWʦuj] Rv9FBX/V|%GDz̉ȧϳ Rc#^ꀨf?$+C?!j#G䋆Vp~-`{cO;Oד.9Ϝ5RD s™N>_ZG՝2'pd fex].(9L<:[8'og 77FT`־.Uv;mՅ-1IP REs?/atpR;Uz؁]=פ/y6~z6^ |vNv$ګZ]lݪv & C@Y`|maE-e ƕ[&0截j Bswg)0.oѨ (#W*l;8[Q?*4Sh4,c uWr3z?zG AQG,h!0e9j;1 ;A Pě`JUcA? jWܞV:#a0QHC 07tym7N>: T 'AHaTRO(@о?f9E?[\1GS?~&~T~۾+GѪ;3o}|357U*ߋ?}[ڗpݧ-b\Gc|RcC5ީw0UV&3HX9vU>(d* `Ed'f)F{?ן< O{aE1XO^s-cɡ!q;әd/>o=_zw_Zݱ@s۪0vWc oOg㎁r'_|9!c:bw`M&9ow sPHgT#t%Ȕ'3 ²uR=OHGD TF  W2hF:PEpKGH$k(TO\R=kE4Z2D2,-kH7l{D{@(Kr@ "{4WlarT=^5Kv@KbC ]@ l)c%x t$^0CPumX0DϐB??@y9!Gvgn'ǹW Cix;ziaєc Bs 5_GW+z<їE | ݢ`tl4,s 8|  z^8Bkz@ֱoQmbjMf Ī,'kwOdk?.%UWer 6xX0yIy=gg?v .coo}1Ƀ9ʢ9vzNhA ]G@ZA}#oJav[m`:McnUd.r(Y* ެX)_³?Iw6D~@[qlf$Tœn˩ej