summaryrefslogtreecommitdiff
path: root/include/linux/cgroupstats.h
blob: 3753c33160d116ada0b86b74d786bd04db119039 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/* cgroupstats.h - exporting per-cgroup statistics
 *
 * Copyright IBM Corporation, 2007
 * Author Balbir Singh <balbir@linux.vnet.ibm.com>
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2.1 of the GNU Lesser General Public License
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it would be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 */

#ifndef _LINUX_CGROUPSTATS_H
#define _LINUX_CGROUPSTATS_H

#include <linux/types.h>
#include <linux/taskstats.h>

/*
 * Data shared between user space and kernel space on a per cgroup
 * basis. This data is shared using taskstats.
 *
 * Most of these states are derived by looking at the task->state value
 * For the nr_io_wait state, a flag in the delay accounting structure
 * indicates that the task is waiting on IO
 *
 * Each member is aligned to a 8 byte boundary.
 */
struct cgroupstats {
	__u64	nr_sleeping;		/* Number of tasks sleeping */
	__u64	nr_running;		/* Number of tasks running */
	__u64	nr_stopped;		/* Number of tasks in stopped state */
	__u64	nr_uninterruptible;	/* Number of tasks in uninterruptible */
					/* state */
	__u64	nr_io_wait;		/* Number of tasks waiting on IO */
};

/*
 * Commands sent from userspace
 * Not versioned. New commands should only be inserted at the enum's end
 * prior to __CGROUPSTATS_CMD_MAX
 */

enum {
	CGROUPSTATS_CMD_UNSPEC = __TASKSTATS_CMD_MAX,	/* Reserved */
	CGROUPSTATS_CMD_GET,		/* user->kernel request/get-response */
	CGROUPSTATS_CMD_NEW,		/* kernel->user event */
	__CGROUPSTATS_CMD_MAX,
};

#define CGROUPSTATS_CMD_MAX (__CGROUPSTATS_CMD_MAX - 1)

enum {
	CGROUPSTATS_TYPE_UNSPEC = 0,	/* Reserved */
	CGROUPSTATS_TYPE_CGROUP_STATS,	/* contains name + stats */
	__CGROUPSTATS_TYPE_MAX,
};

#define CGROUPSTATS_TYPE_MAX (__CGROUPSTATS_TYPE_MAX - 1)

enum {
	CGROUPSTATS_CMD_ATTR_UNSPEC = 0,
	CGROUPSTATS_CMD_ATTR_FD,
	__CGROUPSTATS_CMD_ATTR_MAX,
};

#define CGROUPSTATS_CMD_ATTR_MAX (__CGROUPSTATS_CMD_ATTR_MAX - 1)

#endif /* _LINUX_CGROUPSTATS_H */
wŢ¿!RmI;C7O{u8ǿ 1/,ƽƺ4HuN-wh~?ῢ/Nx}Za>v1V! _ (+kr6b9ZBBtj2p`q"{iQ%u/ huϐAUP~*h%ˤL=aԵ@dLF(D2ՐA P+7`itUO1z憥@Wo$U.D\h-Ϻsg@0y @@DS%o#Ktx tȲ8C ao~1t')l&[.Y,ym$ [ke*H6f'|;%8@q^pLƋiѷrnvj US[hhXu ^+i#U6.L#N1qa֛/iӅg0`H'2r+/o/RJ5Z28Z6,:ÌijiVe )Ƌ(*VD\dz6f\ ZΌLlkB-p,tM*cU>Kn ('3E$E EͅzP\|1sBu+ k9ǸZqk$KqRN 9ыѭWB2b]%ƦdDsH!te6ې|0-co?U-?jګf"7%tۼ9y3V$:?8 9ٌCN'Bŝu{.6fE uU`Ƭ-Շ-K[= ϖwʩZbq} =_=5L௡^-uߟJIζ tlp~$y=o/o.Ͷ7^:;]L8+L] դϺt3ruMxF5~{1<fޫ.BS'ۄ F7,d[-tgO׻ ?vVYn@̫,Vu5k꧶aqh=b/ޣXWM3r raR#}cc{`~( 4%FGhp?ڀf $6ҾynY?Uk6,tSvܷ@' y'^>%I{,^'oޏM)2Z8 {59EP [ BG.鯦/HwwFbrR0ԭ9&lYpK#>YXḓ%袛$Tt{6' XŮ%{lu?|Wl&a75b_lʩcÊ\V߮$<;깅Xk+<l.J):2YhEhVHR)=?\Y[MS6"A}}N :nS ^5Wk-{ҥ9؁<_@@Km>_ݾd6}C93rX/1h<,ts`#2ļ3G/⌯ԇﭐ|gH [z2*ءu+GBHqs* JHb#Mws=a eGBs #:ɕ }GJq &9$kTӚT78֤ʱi '(L0g8B)]`z  Y4Tv-:b0iͼ֦t/.k`ou @])Ϝ))cY`ystFv. UZ2g t@nP>Yks{Dтm;Zl08Zo\cdVњshܢ>1se1q#gӇ,l2{]o澊%v; kH!@1`P\HLeAXUX"3 H=&@_ |󚨠j*" ($heIM#uگ7=`E_Γ111T7&Hdb`y1$"oA1yt̒ Vf8׷Ʀ%X s M 2^F< =LA8ﳴI#л4 b?ۜ6dvxA7#2 )j-A1]brxM1 mXsoIyCD&8,OGu;}?O_yMKazy^4n2|_oG(g%&GXg~/Xzc"9.q=f, p^j56׉hscO{Z&o?j_u޹4e>:sڱ|ۭCǾ󉯫nտ(_Ƿ98붤X_xJ!G)F+gM׾X[mX*تݲM ʙ9{kejoaZ{^!x Qf6z-V'F]ߑڧx{sۻzP6*}oxq2faN~n8Hc􂟃@:`=TI ۳U݊r<~_G#g {7aȿ.4a7b vX gj7haım?`aw׿V j漢"0k21WtH+ĩh́eJrif 2' Hԩ$2|bXC?tݳm/zޚHuwN2Cdx$M k5Yx3%[(Rxb B s"kn>@F{ZBRғ!AF1 <_=cKI)njeJ5knrR;q/. ;A^l :1ڦ|>}^2WX~vu׺}.,xh.v,\lb {++$WgCugLzu3KP68e֮u>[Vֱd#ۖ UejW}͡;Y~3ߧxۃ^Bދh&fItv| Rkꖯ?h-|Ўws-%LWd6u>o;̲hTE0#yK \P, \Yp ՇkQqwx);av'_jkWrlo4c=K'3 ppmN4ݗB.پț1/] ( l!{#`;W_t{0[D.%^.oz'd)ۍa9O`5cRqל9=? :>q_3cnu{),p74[z_qE[6/ܮ)c5tSyKLHex]; \BnZUo|a?=Y**h+|G UҎ/_>ǯ:ކqTg.^f*Uae 9 -m>(t0 C7"^N3O vK^[z~/.l9 a>VL7 `~~L~=Cr3A;ID~ԃp`ɇBKi">3Qg0 $<.I&ѕ O%E Kw@%w8yOlLIb E?1&8$bٻmmn ǢF* qVX#"ƬEX#xpcDb*]/ݳtQyWmUUmjcm8E%-:~[^VN+#.l<wRg)V$c9PS~l$ۍ]ӺfLVRum0B}W_Tz-/VCQ^dž~)߁YUUIv"&u%?I#g~CRbV48)?O Uh靝/ K  Neu南&g2YIq+@̆BA9~D՟ᲇ9t퓬͍u{7"""ߊ2?t/x]`w?|;9uO U׵9q I?OOBlmP| e~"|A) -yN7H@ j1.[Iԙ쉖ww}9Im7|HٴFN).Gj~o_WGk[HUU?~6IM^.|ǥN9!E+A&zjxHHŋi4eރ3H=23^]ï3)!Ũsds @*b,O׀!Op@+!@H?Scz1C-6=AO^˜IvHFF9t yʒ[ݎ)wpb)RQ+JZ.'ȡD R| 6I/`&$$ 6F!ȀAA;岳k8ńd)a ҿĸhu0?yf6 pV'SPHz]!!E{q]TG7Ӝfs`>M <LzrrgEL TD(ʿow2K_`Oe,?ocw ]gKHF>x|gfQ~]}"4bRqCe7xub;sݻ]zrO<\>:֤&2c51aWo * <@oK0yܿcsL$L,ݛbNז7ܕ!LwT5B@AG2[{h&~֘ &~dr'> Cc||yxGx܈lƱ-- }I3!NA20.ojVd<[`Pö>DA }PV^ObRʬf_rvwV?zgP?рMt]heaXafrw*& \N?q0FO_$/6X5j:HsS,\/.n麌;ټ<*{!/Xd JmB"N rq&A鰣f!k  kxS7ݢ;?!m^V1jGo'N3Qݔ_ `3zP}~Îc*ߏM*o0%ڨP{N5J8/M?4oCǣ\gJnoR05Chޞqn!NѾN52 F:M\8[TKxwx X,c`i ted3y<* |`WrZBHxg9 1|.kqAB\g`H|q=vb\ d}m]IqȂ)}`=o'ΩmlWoGG40 VO?)w|*暀$;-R2i1{"V)*c(QQH;BXK2]\^8MlzA7X15 uٳg04v;AٶL@ X %b=GDu!9ı4zP?~vĹ ɸfy!xGv@PGb=~=kys,aE~3FQƎ>5_yivRбR'% hz+9pI^oYv{>}1NZ]%l1-T(XNb}dsX ;5+.cBV0԰5]wtK+ew_?A|!=c)<裷PqΑwCuu{<`Xy)Tll{[Z;ƃ,-{7vΜX)F; \D#{Q㝹J>~2L|LWgOItis'&+VD9tYOmsScԶSJ--$aNtv}\xpCL"{R%|$P9BO6^)0MGx`4DMxtöm5uiuٔ< ͯl`۩X5v9Ӭ)+p;| > l߳\97'w7<ÙzE'>BqǓva_ǯ^eױ@䝼9ubW8C:\rGR̎՞rwڢ[.9mXxxOGn`gp_qǢMwo<Ó˭#.nvZh-mj@r6 ]$OTigiիczvui kk;-DZ9WOE6Nk\έ[]sfBI`u-H _qggC<.rG;sj Og1m!̄wHscX||mY[K:{0]M}/lPdo@`6E_h' _qLcjy}Р^2xDg,ɋB'ZCbM& OH 1@rLxwY 5a}^=0=x\jZ ¶X5 YiC 8|];pvHZZ^426\.yxCa}wHIg :CrttW/y\ ]R (̻ R2!4@3oL58HYo"USb8;÷䋷`r?o2W {ۡnH9⨁܈{T ޤdOO-`@jB4y4-oaa=A|A$D79õ*hu${=^z~Ըam`.8\#ΣV_P<ȶ6u^o?*ٯ!Qmu䯩>~847ՒtW4mǑ!Dz$yz|]m><~-QW:uo=,.Vͩ ^<=~ywBuyN=s^raB$}a:[6`lk+i.K۲@I\ڹ\"9 #aQ~{Z茘[03}#h:m3͖)cҠ"Z%Gf_ըtx$72 a`ؚ,%Mc*z~j +:b:?@3\0U@ޑ HB9l aCt,Uqgïh8 +ZÛ@ 09Q7_ cj7# .(V\z^B=r5]e=lHQ'bl4W%ոl|1fϬX(7;_R>Ύyyc!m?..'it4JWͦERyLG#W>w YPB/nsFK *'@Ar pۻ痃ਗ k2~(̶.j~_!@Of@09Ds2vPYًdGЪH@e t?{׳( 2RQ؎,].>,&{sfO1/ >1eYg>TY {ߌc6s^U_gKdsBHy@v =z"C0'Eco +n=H!9f UB茮M=#d;w<#v(DwC-KH- 4y;<@Q?_Pժ\a{=|e={nz18yh ]{;)PH/VY޶0FYk8{ci$¸aˎߖǘP!i:6KH^bX_]еa`y>̖ mey6||ЦOl:z.P" רQ3*C(#ݝ-<\nvoAI'ֆџn_Ndw[gٝI0+l茤mqH食EO|d!o~>XG~ޝ:mxP] '?Ey? j$h[UIse0THlU3A)qVWLh87.Cu_ |i,rUclP!J\7&+f>x0@u2BSXRnh~Q!D9rg7YVͩP6 5 NuNk,Y'/;6X>@LVX2t;fteX;:ԍw@G׼;#!0<)*cD6+vW(9gUEHDfWl:LPr#DB jnTE?&ilz>Oul #^ BЀ@Qs<`N:'K ^WKGD玦@fw>CU26vi/ŶEF"e(c^:u7{U_K&N([m@Z^ Gtԋv8&3* 0m!cf^ ~9}9olr;@#i:fﱱahz}aR.i-!9V Y|-~A@ =:&u$5r/7Cj cꛘ6or0cxndLT[,HZII2U{l_uZ Myl bsZU_5TI+N=(訷6K!ҫlv6a+&LDX-0Oei`bS2FJ~\T:m4 / p퍢u,oaS(dU(|ÜP ӟ,,Q^Z}~灶q02Us.>ua,ì{U* @^R̴yl!JMmpޠKր'> -6HK̯><%YU$װ%vuD>kxpY>XYǧ}&FalL@I`RJio \sy99$ +@iV/@Ȃ_w>?e,mf!->BGL"ꕒz5yO(}3Q &I?D6X̯ӊB7 kM nA=kW@l98tS' ]m"سRߟXݾ7X_ jW̦O.|rVhy4Nwϡ׫㇫eV0`2Q{Ԕe p\<ʤ~0xAėu2^3ÒI# D`p~ݡuG}}LCr ǦeCu+v*D>ݒ$c{pAMT,1zQj1 sxU^]e08x%]gO8,"97 Ksۛ G;C؁D>Zs9I7"J" v^ &pl,G>(^RH*p"DP@7F"7Ǧ*0_O&A#1hWrIc5UR8s40<`2sC7@Xz+g~ii3>$|7qn`=\HbPs {e()hʝ{-k#1G˲xT/M6?7cTCl>v7'r`{/ݺ^_|Ip,|},&Sx~cdU﫿b p>^|NOW+9m|uDRZ dR3-@| ,6l|pD/&]i:禈)%,s^C5fVԝr<ˉh'wet#kg+͜E("k}ţ]**,̕J#_.Vw/\2EZӖ-tMB)(Av;/A ʟbJ6nV*}U~؍6D/ Ge p8@d{κg# F `t]4jHȧߧ݆Z#$#;W\nC%2?'_LSnZe~ߏ/ְ3 .ہ\p;;!gH_(GF  w )ȑ5ޘO;fÙЪ4l|`n611 B@0:ZLT:D^z(xLʼnq/80oTvJy ټZD$[ z3,#H $#uVMPun׷E;. t.q(g Utye 1x/YAOC`br%8PmvKVJg- {G('~M)!Xw>=2{όÕ1D[:|<@R /n+2/(ePD][Dt2u8ta=Nvy_);[H SQXp翞Seؔl/0;` ' ǃ3<@DSO_uň@K0g>Ȋ>Ӫ7Jz?ቃ)X7@tŝj#Ɂ'.jr54 *q\V?_%0&45awR:U4 |/~9m&3K0))vlX? (| Yj{]`i'8\.bv‰R:?B}q* c##~ *;ÈEvt7`N] A7}^W|>wMLnAy8]_y||%@%LxƯ9Oϴ~Xf=w?-x {{V/vpQXZ;++z3`f܋&< zuס)>VSI$OYaX0x?D hrJ QZ/gj?c8ƪݻpk}_۰#1ާpE\uY3cY<5YEܺJ%.<J!ߐR+gK\ZA5 5OmϪx9]en Q!5 чբQct/7ネ8\W96gsҀ;栬'گlJYjPN''&N~{ם(Ҿ\< .tUTiR3_& eGbF4"@FYcn8m"%_59puX;: KQw[ %6Jˮm8al"/ ws1tƌ3SC X/V3cwR Tvgw:~9w^ 8!Hp?n8`w!13L4Ɉgdk)~kp:R\~{ƦYû,n8DoZ~_Q1H-c{9v $C`fŦk-!%N#j ~k@MЛlm AdqKwg$^Cy>PMi9# 1VPC]1(2X*PػdPτdI{wĘ`}CH}/ B}[&x"5O oYrAf:Bj W{#kF)L1zIE&QeDƃ%gʡp#1 41/;6jx󹉀3S@'!r gKHv'l }bZTa9Q~ݬx9E`fx#Ӕ x @q8tp?CZz05rlOM_K_Ļ#N|u9 HyӛORP?@˿ *L\r^'t wSd0 5ن#) ۀk@+M~ߪ=~l289E3Y52qJd i :+B7Y\֍#ͻ1 f.=8e֦N fv4q41sF”+a[+CYZӺM C[!#udX=B"cfol[ZV][of<25tL\n"A-ji#My#R=HLkN3TҬ 5|ցʽәF6vhbTzPAb(Ո xALern/5/iFp{9acZ. rAGfEUQ,pIQB*0eQ]Ɨ ":˲.X l%hBeDz8`qr fÆ(Ք*3~83,*}l7pT6 \. X11˽"1 G6);K}p!Wf o۠5Y9U5RFר7(ujI;G2j}.βS\8*xk[`vgvw̛vݗ57{ܷx_, Q"G./j  i FCgz! >AcI< $l~iB.JoWUY* H֠-mMETfU=mU,{r#AG%M%˚rW*_x~e FV> Z\ͲMs: þ{FQLBFeͥ A:Q(C*c)yW<+n;A9">MPkIL}҅&nZܼey#&7Z64dArZO 3`4`et ObJz4JZUʒd'%~?ӟev{+8Q> ̤|:^Ryk &z6`eNT~q+f svHZvHrN*K5KLeNk7-e'Ykءz. E1w 3n;EQ۬5.T壈n R.b  ?RB!XVN7IܘϮ ]P7}e~0&샰sHPr0zDoL3>9XdT zz(~@"CJ90?%n~ 7Y@N]("/Q!OpW Qz:hti9@I !z'l)_sAc)qt P y+GҪlaF m++AmZI~B 龁a~ 4UP]-h c =b  :]|?t\VvR0WGBƱJ|>oEI! tG-c1nvU=96YM3 ]u^Ik|ۭ|aJyη9\ jJPL*O{b=  1)v$>g`2sԙNHsjD$h^<@ Vb?$ԸOpyƳ# e%r;+;Mvv)(L58L|~I/P}?`=:22~PŜ[ԕOrĘ(=pׇȷ*@ǰ(u E]b!Ort-DJS ہ6`#ם[$LBHMg&F֋G`li@=^ ^+60@$|R=\pr(Fo`:baArb^X4`v#^TWw_T&C܆@***A]aWb/0?tSKenVCaT/\37<p@OxȌ$}kSUD?Ju3=~?~Elݵ qNC{QvG Q*^ղ U6IƎpu. O  @u~ ( f 8qBiq' gy=Xt鞼Tގ]1Ogg͓@4}w+?Af8N[qa} íBm+Y 26X@q3&hW 50M/Y8RK|PIK~˾h@ eH. %w † }2EQڂ*בkޛmJd}P(ޕrsa}BP6QpYpo%$ 0ф {8.lVS59'Ye,Teo+cT aΙYXn f0 hJ4hl,uC0>i>&@vxB|l%gqśXZAHbw5Tw,Jin+ï0LQj2.%ӡ&b2:5 BP}-PNq ZDup.cvJǍGfa6SAE/[αcݲJRq~,ܻ9[ _&,xλAIs4܃THGQpًAPs&Pq^y#"r@WO:u |Єx,b <)ɣ-u&ܗ: 8KRXҏ> *(:@'up/;SCHmE =6hPMVËFPvj\5@WEb~#%0pgĕ ߮XfYx,+!+W ʤꋩ\"uﮪ;xv·֐yKdD2?vlJ"a*Na0bX>`̬0"fgDg*M'W W82P8D$ba:jFAuTƒS"a5(΢G|x\ǛOY4h\iJO&sח{՝yAV{.ҕwmM:mv4E]H[FYNU8G6.ױׯ1eR^Nv P2>GHvC";86T5ŖѡtHԧcGskt|{dP9Y"XLˑVgzsU_J݋q+GK:tH?+}Z>G}PxlU4V8J^튤Jq/jߗ<r7U@E0}" YyL}rO#_N4WC{&ҹ檨n5d7P~9P0*Q7e.Acț!"<7`˵*+b-  !=oA[ 6GIHul5Hv_eԷnaჇjF Ts ̶YK"m.]ò=^Y"9~R`3Zn6o5#}r AEi-~ܰA[nZlxEw_MwO^dxU|Mk. t'l\CZ\$5#ߪ}Ը|5>F+Ȍg<=:a G"\h>Ww6 N<^D?#\H!$)QʏW8߰_'{6!=pL"|z606vp%O|~}}ogR3`h 9KU. XBj?x^!9sӺ^S mq=Pc(Me"0W!T?C*lPKP7=HK8̫hb$6΋C%m&IDsvY,l}Lߵͣh%^41.&`.;0rX|(`#'~iy͂mצ2:ӟKHhc+[k YC8PƿaFG=vj v/ll{(}!;HCy }v!yO9> 幩pX?Gk\><;f7.5T쭿$K|w՘ }L,:}&2~R/3(dj eMmH`-ۏ̚>wgoNZ(PEmo \+7#2ƒCE$볔q[ ez/X$A" )Qn۹cH4:-Q 6ЗqE< X5jʝF̺}BZ5 uc_>KD >gssd> 9(]ζ| tEEZ fo Nң;AH͜k@Fn f/2;jd{:8b\_tլ0?'+{MԂ H|E_{Y4Ճ̾td]VsZy?Od쭙II({\{4?J~Ym7O6yGn?#L ?:4D{JnAJj\Nuc˒Tw܁y!ޮNɘ pb"fƝ>ke!>"-TFl%-w Nj~g\<],x;|ic+(qi]g]U<|jB:sY0` k'*X@ 0"pw9ju@pb`S85ۭX}atE:;@h=)qNXQNTT#Jl!cC xv/nA%(s%(w!M .y`gj`Zaf}XvVo\c<{7Z=쒠 {FwT zPl^@S U3mnݿl =Y^`.{h/_T1*Ġ9qazOё>10PP &DgD_oxn_:pŪj$BP}hfӐ jq~2aI10I3xwC)D`6PŞx3DdIKṽIqeKrhawt`Zn>Q<_a7(yN2Ͽdm .ZPgK *bU`_NI Hqhާ-w0ɗs:RX|)]ݏ?ۃ\0PǦYݩ(魿?\^ RX~O̓w/A SWl:X2:VO[: m*dB^f^<%5f4t1"i&&T`Jbߚ1&ݣ{DcꥲB(EIM+ĄGRѿvĀ P"+QjZd;Vʁ0 @K#L]% ]<$C.*v1V>MS6 C<~I^1jm$C RP,,PdGrCJOkgGY%p ݒC ^;%vw0`V:g<{xƧ>4 5W7w Oc Qj<^KFXc xnYeq\+2=򭥄 7 uhx~oZS<,v #;nc:]szPmBjjBи-;qKA \ *b? {r'n<L{MU Q0|&b#˂r]P *tt 2{fLL9$|q7O!Gm~J~4ȋӀѤ˸Ӿ#$#D~6zHDFM0 YD5  ǂPvs&kq/61`avt2IDwt,2?! / Z\X4<= qW?n 5?Bj/R 0b ӻtO#"`Ϳ7Bəc3XcXK Dpor4gh2?xμ~':9 643tv0ێՁQh@3nb0"Sps5PTD u o`HuLK8!/ hֆX)&T-pKsQ@%;˳+:襾X |\@^e, @R֪A 2~N G>luҨ{ |_(^2#GN^i+tb@[w۸ yep]nnƣ`9Vz7զPD &BWQ4B4(>qWЄ/ /+X¹~7Oq”NQ9/,.|XoԒPz!:EX0 .8h ґR#zdW.Gq|) 4Z!-q#Jwt+'uX [^۔ nfvsEE"rahw3YVum˩|>hKH(ܫ=y[b8&xrb[Y ,Oőxo K__K(CjD)v.0?E}v9}&@zv@Ur-}ikp_3X*;,q6H6a²b׏o.USc{k1myؑ#Kl553'Xw%s}E8)7|+s0ﯺiu5ɿw i!'_4N{60@fǘx9Px-6GBPDzX^ .q,ѻ&8Cq_9*:{NcB3 `_ߦ"̘d#PH"F> ^nu*yrBjsY5luoŞMem/?$w"|*D9sՄ40>_>zգ́kuL? zUkkxX>K~n B9QZ]BXaH Vo#F(lQ9xy3f!JхfqHYcqZ=DDR \bM]­E͎n ZUazK$CĎ\{~qt1y4%~Fu\/[3`9#RN7lw("Y[cFm9 V>ĈKu ~X`Ҁ~l.B0F܀2`"s?9@őM #ԭ _J%O93!Q#qM(Χ; 'q)u(\?E)%E/5>Id oBY0@|t/.?!H6H`mP EDgK?c[\~T"/,K͢#Cܛ,xohҚsw]o}uB~rDH狩 ƿou YU,~ `dE¹w¤9]GͅT(7ߍ$IZ+aodssr(=A.jfԃ$0?ԁD dL8`U܀)ʵ\4;%\h-;u]L7xѩX.?/踯2U3qdN/@=oX UڤRC?l(Q=s9|)K=bI 9KkKfu7ǖu:V{v`GJp+va`弰ݠp!̠07!|0C8qCBsgg?J~,kbޢ"ls|ˠu{u8c!(`@`4~ro]^PM:* + nf(]XRtvDqF|d+lf麟6?p5 4oJ0ɫR yIZkANkJ_-4hP4\NC^a!'ftAa5 A`E}ǺD-4Ņ[=1) m X~lhCtkKj4Ob%u%?b(bX0^gC <"!`\K`Fgu_)4v|}03NV_{#M|^0=bw~ݰXyi.Uңz/ث>޶Jm$i\/P N%'рw%Ldm.(Vi?^4msrc67~]|7}Y2gjl~njZ"Q}OhyxPNh_?I 19jpDj2"S#y3p2٨ܲ Dx빽o șRYƢ?7ˏ8 Gd|V.K/# ¢@֧1.%,#'ФЬV ;pLjdֵ!s֎9ts!PXMJyFpւH[MR|I]EҌ4IEv(k\;#\Ù.32(ˈ5N[ND@֭LUgtŸ?z3`'%4?w@ZdoP6H,@g?nG,ڍ:E:Ĵ8U1x]v^SxLM ~zPx}e(@ZDֶ`DܓlY+,l|TkSLXvw$q%| JKTh~2jfY eBAfMCoy{$MlMQK[s+M^xoX0f~:jބ"wP[cwALԇNNLb CH| |Y"U[. ?oRΣgœίngw幸U.tvC|>6G'tt,,*=1co/,;y4@a 4dUƒV?.)ilL}o3H"n#(H2x 4~ʘK` ž PɀE_Cmsu۴ZaFi͠j\B>F$oXlHP~"Ήt =ՑDTx!GĮ`%åzCYSŸ*"#Ũ3/NxPDsw/n[ulmc,Xp;2g7F6Wԑ1 'k lFU؆{{/~D O<Ϊ)@ɡ1`2uGbdՁ#aiQn4S+F:9"XoPvmaED0Sz{͠ssX\^cSxP U}r $D9nkX)Zb Q8{IϮN*RX[ D )(\>Bf'VΏ.}dފQ34w[| :}_") a }(&UmPˈox 8Mf,ȬD8M%kDgxʳjy_~&B R'7 X`GAwU00DRk' U[`ua^,*1Is\z,e3a}ĥ` i=v_R'%s`< 68+ƘʚD%=t {WN!jPxLO>K py4gm$e h7fraT bHo^9$t6'6 m : v8+ &aP3P?ByILVa>-\.kB濦Eo_l7xDD Wzū^ލ74=pnC'mSի^USw9qۨo*6%K4W1GԎ0R,XT7z+ޡⶉq_N>FϹVEU 9 /3V<#N)힛'503a^ٻ6̑}nz>yB {;<.*ꀅ1pŽv _ҷ4l&j.=Md^@=yy%lHzOBR}!-4, Y%6-C(~3B%ܯg]Gq%U*/{ HvW(Cg '4`]K!$PNv5,2MK"OG/gŘAwc|yJ&[ EuO7]j҃ZXPy巂,#E9, I Z"U<5pG/Ӑ݂OxBuH(sڐBpgUUwH=xw27K nk@Pxb$~l(ď2PG۷,?;Æt۷ *ZYxs]/&F$U?蚇`:=}!pַ 1xyNJ>|[W*݅iؙ/#8D^/eh 4=l0e_+VB׹<>dy|t DA~_eF?C:8T̈|g.g GhMggAo{٫4fKP ,B. 4١:.uQ &R#gc`D̗z7)<|&՘s, x8Kl,+;U໪*& 0} M%Ms l1-E?2Vz_xv gy=PbѵOS6M5{~{zF];U ЁOigw tuC)B/4y[pC./v6F\Mc-`N/!Q)t7G3ots P^ңqV?|,4e{sxiiH#Յ҃# tI'a]; [d.`dղ.+-Պ 1꬐|3@r?"u09s9afJA$Vb.B1g =np;~M(Rw~Tp} X1edkwwJx>ܲb}M Ӡ7h0|HAV$NL1Cn)S\=2ĆEğuxokʾ a2"/6Ddh A) 9@`@tCܾki I$aSdˆt"CZNBsuVhpʤ*9~g"Qf C+৿@MsK_&d>CW0 w6b*PcߓaAQu~)vҡ6%A]aic#-[,w.(q#2kr=2̳Ūlԙ?io~`)` ,#{!>L.9ˡ%NC|m|V/Oj[*:_ G$ ~Yu_(FɌb9vt ˄՞xTY$}.5[A$C Wx!AЁq X/sӆ¸B,|CN吝ZʋNcmwtT tκ~_0nמGs,t 6pܯ oܩ{ӂvLl LQy%v9RZ,ع{`nE|[H_P'Cmz!Clii҄a,pA۠#.7(#o_[X{s40 kȺ8X Oae-UÄ+>;Z ;0xpOU˳k3rVOkEYf16D`6B.AiQZ6kdQ[ }<Ō䪮}X8Iegxܡuip 3ݛƯ,tyM0U"l)x&iK8g_و8 IRS7Mvw!Pg9}c*(jjfKd}'<(E48m'E\ۯ5qwH?8l(mEa78e 5=Mm!~ ZB+̓Ȟٺ0ޮK;Ak/' Gry88 %4]/TuÒ/cOf.scXmqBz/ľ[:f=ң}~CcǻnkP\8-XbygT>3u@щN=XMY @D#\=_W=cx+ˊ6vpPv UGP;j] jΜq3e݈6YqBU5˹6"Ę` #jFqÂ"^@BC<<I@ }:U(zI1/psR8Tώpt+hQ"tWxw 7jbƶZȇ-ڃor∠c#(8]yC e Ch,xaɘLzgX 6@NMW%璓oP3t;F[]e<6 ` "lr'؁<wDm?WQ}3:#=d-2Piz-︄,b<#k(k֟b7!LtO\ ܒq:*@`S.Dh)(L2ÂMft2 k\f_)-L;!Xw }5p@1 ,0g -FLC{ dadi8v7LskXO5@R$@%ʀDdO#w]o`5#rHO#wbHNKAJ#}^qC:[36%E8\ 135A  zl,W"U9O/$lD@ӮfE[J tY8YHq&z" EkۉϚnH<GlX~(w{*rsgHǓP7azlP]wGp5EFs8`C\Ζl@Dt6;_(s~_`8jË$ Acw'!" 5ht p!iGW8W8kq+g{Cԛ麁:_GC\K1 Kֽ*.#xͦz6k7=!<< :<#_NYwoC=x=)gB(hqA}idUxjc!)w٤$bv1Saha L<.^ơ\}IL{#e<0wq< 4Ӈ Q mo<65ᢶ0TsTZͶL,b ˸Ëewp QfDJ  l4m[Zd ҨdE"mjK>$St*cQmKXksP*PPx-ZƚS;澴{l@/pv\g!JziYЌ"/2!K~}ӋoppO:Y<8HNC` nJTM$ecsw*<S 9G{y]vSz\N!TWJ?_7yqqXV̟ b:<;;=uɕi o[ 1x}UY@ޔ(':4`owZ);ɠo5c|䔻|Wu(QU8H[,TmdW!:Hg#|ۘ $Q ?>M| ]bHhH#-vsFD짡ooˈϭ#I&ﻣa GZ'17!c,u"y^v0著B9Ax{8˿f-%PvZI*FѯaW}pԣƧ廄q})~xuFJ \Z xuX_]z؀ }KІ(+?h "}Ɨs*Ht1qdqf^t$Lяiʢ)q)#6"9?~a~TnYҽj%i9*c-|9,QZ@$oA,޷p=Ț•grMh;>SzyuN. M|&.6BvߤI V ڙ=*qd?Kos%F{s{lYZl($9F/Z'iYC_ @~S{^чH0} !@c>w8i/>/vSiIt?<$d5<CF׫B@_aM-ĭ4lbu4NV&Ii{y bcUd#ْ9v冈o% [Bҩ`BT% T^eڔJUh:}c㸡>n/OխLԶü1,OQ{i-K#r?}ܜ@A_PEqgrղo 0|{^2wDq{.P_-YtCR)j9Au7 ~Mk#!0iw}/f &m56 IפN7.bmK_<5F-+41#\s %ώD8Z@2@YQ Ƣ;#[8?H<^=a|`Exyyb֡j*K\65W&r`@+ xt(I\N~)ɰs"̈TP! Dp٪9 ژ=G"KWa+s:`m]]%u}rJo1s̡}N eB<PwxXG)1IzxnOC'F`ɪQv߉[M+c 5J(<]5>9F0~  9`A ? e|,~bcN]  XHY>l=@c,789Gx8eCNr $pcu`0ʸJBbǤj鄬"0\C (a)ؔrcp"k3BW 1 G8׫ZMdFVa?!;!Cͷ9p}/ "\hPG @v% ,rD[je *o2sűI_O̞#gXj| {޹ xz=Sd{8m 1ADV!U6-pY߻?f<9M/`WX)v4|Nv6lꌱ\mTV\V"NXm'@:rLܱg{//C2 +J`b>w^" '. l$uDlR[u/D}eGcnºo~0.+un 9`y5}/el&oݲxb]Ǜ\?^5{|3?+d dUWoߴ;Û ?T)@E)E74 BWMbjI?X1Jh '̓*f5sTDz /}m%Gp`Mde C#"]]HW3T+mɵ$K;d iXY&uᯘ<ݭ7ϧwuv @vNs{6V} Db.9z*Lq_LǼ1j\rF#gҟg*Y 7fOm~ψ Y^fQ~sq v,Q_K{y9m[o|}?>d  ם43d Y'ڒ?J?;)<۰ &+`I )y39caAYSgle\hL%#l/w?!PntZ檅Q'p^{ȸQɡQa# *%~>kìتOf.d_gPi-Ҕ0~剙r:},Ut4+i0΁E8H}"R7v ÐBE@T |LʆA.@]FR\blgyk4,a!1„v dheS1 d0|sMZGe K]gΏ©˺`_z5]'aämzOcդ}{y5ݿ*9ea.D Rw ͘KdrsX<CyWvaW:Pw4߻.ut ( K1}~[w/ Æt/Y72\l|_@~FQocXrk'raOo_J@Avn}Y枕tyo% Nޫz.ºSd_4} Cr啷 vsMu_4Y!g 橲WA!7qÓHJGuw*)ѩvso=}3Nf,vGXwn9b?^zW[?IDvEugǓ}9B_@(]>fFw}~ X:ʅi`6+j:'^p[ĎLe@@)@A~]/fOyǞn'( )J[|=}h/r`WMh|I+O]ZT5),HR'7tOPASwamDk:hfn93?gQZԷçu5Crc`)kҮ`LC^)kbR?ATÄ^s,w-X&R>CE_~hAk!}E P q z3]}sƢm A`-Tj( KX _녎\4ư&$L;ӿ#CL!3$)ȈO~ǵwx;%pk?:~ S&?^uupqmt/c~Sl=3FM/rsVmƫtpQe,38Ǔξn:{N;vxMF#snr3ˇw`og_ΑigmGNDnͧK{};~Gt]FrRit/ZzZޗ 6y ӣ[}y;_;E%ԙxA^5=2}X;;sZW]9_l-#φnoA˘9a>oYXajp3 ܚt/q@aٺ? .rR?+*Wk>@ qx9Y 3ۭ~2ErֶhRDIjG!.G7zY6ROCAug/FQ錵tkDy??#2P@mIe9L9^,0uF "9LEYgz'܅\}tE׹oΌdH#n?{lKLՃE38L3`EZ+Ñ<}a8sN@B;;d++H<8~>|Bus.zgOL0ZO;/֭HR.xA'-1)fvo?<bf |_K{ =hov5> ;Qu}o jl{,sq>r)Ԃ_5*qLO]QOo">^>x xr]zXxkD4 РbNF L~~lb_f CP[[a.*b>>Qd0]]|]NPXbm!aУn}4NPYtHA&P*??w6?C>b}Ҹyۣ] vsu ]8X{*YQ ?Hԯ8QǑٰ5i$gc2bMZ܎S^opyd~'⺼?G5&Qo‹7)id+JvS` ؗP 02 5]ij2 cP;k_}ԔˬUȀH3@dQPDHDDHAHDg ڲ@;we}6&P 8pe΁$6ZYݻDc䂟4 2N[u 4:{/wjMݚGa]PnLL;we6p?q-F ec5d 3GS J0ݥ&Xj T/@hRCBNU2FBMm݋l +g8LcEBDu8631!!AiAr":M (nQ,_j" Maebe< fX/oۇ3_@[ڀ3 0r!\c#?2sNpĂ@FNŴݠDua8-5.Rt(c:[%o^]R[ڣr`!o1Vb7GpG"W]Wtf}]} FK_'2C;$k9#aR?LKxi+~'Sua 6>u{͒.m˙t]0]SL*׮/C{v \C Tz}U{l`~p^-ȅȆ-۹nzQ_~"/c]G=!j+A}bȁu93]O+^Q|w}4:9*3?z^C8%h]Q+`u(}ph&aC2AK|8=rI@C El1r/uPꀿQz֝ᐵH.D~vż"͌-3l}uh+QEdِr]kjjxP@xQ"[zî@pAH 1 {5#蕴p&v;˱h%8l9S|Ĺ^ XUu-/荸Q=7ؙqz/:C MCYd\qlŬ`|SHS2  0wMZw]B0njtekJN8HBD%[ _VZJC~FE!]H<[W?%F۶(n[vq%y;,B726h;_-"fݔ8Oedic(|p5Ix.q ֫oϭ2f 3J}υ*^K>t~XIx;W%ogUݫ;Mj+m{C/Ć9 ge|8+E *-oX 99l1W||J4P;S}{1%`imXDrM/W@0^I 䕴s)X$֞]%v맺ET7r8V2ed[ŕlkƆS:?1u@81^[qfAH^]ʄ'HYAGœ pEwϜ][V~8k#븆{,~WB@pQx,*CIEO~ wq]`}į+ :Jt>ed_PaW%)+4OA@v J*w=!Ƨ˥ c @^4|AYơOFA!5㹷D#t\>CjB՘]n|Ѳ[d5~ ~NR`T>NE@YXy+3;}u&N~axߓOB/ey4L֐v詾{˷ H~7ѺH+юp$=q'??o^ii>b2H҄\ X4D9ڏe>qI$1 -kkBͱ$Lgگ#PtgB-Z8Gt kg^^ô}u 4@$A0pI/R "2KoޯnydWY?czppk A?|,;P" K~;[!è?>|=l^<ąl^. J?z #S\v y{ `@bd1@ͺlS ^;`Kl;Kpe6후C)j"IN ݆ā8ؗC)[m~ǵ>csnVSu8<`H\\q\ Sέb9ǷZ}z/xvY2>;~\yr .J 6hOq&(QAicnt'$az^jqQ>Z-X>ҟ)A!I):|2 wiB kfmNQ փcƖdF5 90 0X-De[:͈Xk '(,X`<30]ٱsg=?WX=Z\oJ Ҭё{RDcy\N v&*<Gb6ORV찃1ĈxF}u7&gP#&}=a_f ӚP]T7q=V՘ZU<; g(1Y$ڈ@ dJP[ FVVEڊL3hSjNw&8&[?aI?O?=ahm$*  D]2=[w.煵Wtyal Ӝ&؊4ri{@Vcr0nc9yϊ垻D8ex]>U_ZxˁN玷iV bf,I[{@ĘLf^* 5Q0M^i&iK=vάqlz^ :Aa4$(Yz{=8tPzu JĉDanT̋cQZܜ|=2[arY  -;~Zme} :cp6p c;; BC)̢A$ 4ZlQ}>+`'xm@At/Uݴd1;w9aOrRne3hp.ut6_)C#oa׈t8<~rz!呿yNdỖie84kEKkIRU宫賞>8D{5tu֜j1;{֌ loM6IbHj[:_f"u5R??"-SUhpf6vժ<͔]ŖeX 02ޓ`G<|5`f&5՞:3=ؾ0:Tp$^q#tY[ҁ˖FBiUZ`PU?AN5Q|'/P\P}^*>+wdS}s lsCA,CksgXʨ\ZXaL>('⿤ϬݾwOjR* IW HL>+F)">)B}`p?n(&ܧ} E!kƼ=,3T +R2%a[vҧ~Ve~ Nx:y@{_ȝN#oM<7&o?Wq*wA:T'k709Jr ֕g]K+>[VnD}xʉJ]1fʐ2~f}0n+%@A`@B-66 1|@jucH?._Nvϩ lr>Z< h\fWy~ߞT"/!kw>5K H]?eDvQ\ՇFG|:IBLgAJZ9yQq$n <#O YL^eH {psb3~n?à#z> 0ͼȚ@ iy L ww{ŹcNVE>zk=*E ṠW= ;߿AV\BC0cb,ߦv> x&B." _LFMaD!le<]\y W^^QT1BCh @oJ7s ;恹zpy( $ ass=1}TI aZN$xNA(d$<wnunw`9bp6ثhqc: L=ߗ%<(ݶ:ELELEUPPPQE QE QE#TCTQCTCTQ@UR%RN޹w 6п30WqI=̽0̛p\ wIIvʐ>> >Z'PtGʎd&=ZqXn71'/ ]9b2D296[0}gDG)n"Szٔ@˾ep?2N v>⻃Xu6iWΣL̢HA<%B ( TfJ**F ` a@|;x5!L2LL44401E+(b+"h7$@RHD/((hB) B)h$%a`hb1DEpLoS2Hװʗaс@ ?ˏpdIpP 0(ٛjӕm%f,pgZ@ {Ym-b@~·yZj" pѓ̎:s}pR؍ g6Wg\;`{9)/Ke#thk>ܵfT:xswHp_G&e^sJhtqRs$ԥ-z筯fߋ .<&a`[l ?y): `zG7P(`T\; X2˷n'~& 2ي "Aq6:߫z7mP1=^]puWʩݤ,L5[r XJ !Q_m%X$ :(k^2Y8m0,!9(xI@'/du'n h*p 7V>YI=~Iq>Aa73|LlX黶 HcШ"@۵8؝,B3 0l;օ*@ n;ybzgkͼ;\R}$!};Gi~vdG6X G/9(WVR@;ny"%D)XrC:R/gb:9"΃Z;Ҝ#_m@a=@Ku2x(nQuANٴeIq y)M\|䭙O>RW%5B""P4-҅*$4 `x!MvT&_5+OA舁tR)IUUUTETD*ڪ(*i-0@J] ۹xݏYob*>j` dH{ݲy٬]KP[ُfi]"@'D P&私`~厾22I6f@zL:`:t^{JWӺ_w[~\ã( :Բeb$[h8k!PBo/'j#8b9hac L)(\ɱT{zFtUG?|H>V($3h?7+@ w{"e1zF.jS Eɵ/4.8T` IwFفsD3Ȱy\Ol+F3Z D VIY M! aP(C8~r};^HK53hA-}~5)!L!TֈMڡ@}|AޡEq `C r35"-`?`W#k]e+(\!EJ-BiIBVWav.]'~ =o38 8G;xefd ߳"*?Isx~J$qEz%sWH@cP}qs:`9f~P/¢EE["],7KZ>kσ&iבn;7i@Iղ6PXt3z7(ԠXD#rIн^ /^)6Es=hvȈ rCVDݠ kw' ر.9j|hv$?JF Uڟaʨ<[ (*b)!|ӂ"vZF꒸>Qf!i|ݸ(+7hp#eNw:!djr7@o\bZjbp#Qjk?;)Gv+ !1&gҤeTo_w VZȥُئtq;Gk+cM岻im۲G_94mN\ٕKPϻ.avB7[ [#_-5NYt[9|7>AaI".0pΗco{S){&ciU9mz Ш'Q@ 5v3z $z:7`9b;)^wl{wKp p3g^ (!h#l#Dh-zz&zdHH OS=/Y;NǷǏ{!g,ⳎC{0P hï{vA$kC!D5CH{A RBOlj 壾;N)@_U0̜sCoIqcr*1@ӿN|}?Ï΍um ԁta }{gŪ"BxK5 a&d ryؾ=9ssu퀎0Gi+|*1KﵠQ"4B KMBu[qT܎_wS )~3V0%lQ: kQ=P;0YPB/GMT+k?@3L[-uz"L^4&땗NEQHTD |~P4GI\,Z0eTX<(kE ᶣ7 C.@TSOԿ,5 2Xdoǚg$%tĄ2^*Wl /`Kh X"oJbdf&@s|quh>tIBJxhC*dW.i\+_n??Kɰ{$GlT` ?$N`yiʠWz-_jE4G*<+uBRWoҕ7TUu4g(P ٷ򗡱43wD7iƟBMkc(n|8ʷaIB6e7;IND`i:k3WDi,h 1u6{8En~x3.Zy|\?hLDU]HJfS TV$Hb;^ ~`i.3>:3Vy}l'~~g Ʀ{<_=LjÞE(ǁWʂT7$ãw B=X\~rar=ցeө&M/w?#EY|4[5-'nQr:v\[O `ix6n+.Sĥ"b XY3dϽءo+۟Qpmɘj Er6g!sau@%?7DGcvn=9QITEp]_rlq/{u9*^{?mbt.rJO:1)28 Ya5yJDM(nWVn0mb `I G_S0fbːop0GDFx^H&HbE Ą!lk^V9kp !!@PH&y5gY kxR4*p:"FAT|ĥ!P*5o!RC` ;w Z>o>a_`BHTY֜گ!su:Í-!o^J+=XyRʊr( z%wG|ˋ&Ôj"b 5 llF_ޝ{]Euaa5;ݜmՆ5a%-A}csG:T‚m*CZ!oE_" /K ʂggmӂ] AeǗ:OI߳hע@PpsC0kNco*v,8lhJV`aB :MhFͱ+c1 !3lu*1ːr?l(ŵȎl1 ?^ඐ-&&o&ȶVLE?ghw}2=2*)@ WݻX Z8Ȫ{4"B +Aᡴew\LP-