oncn-bwm-1.1-8.oe24090>    foK ;G|`u` kM $yᔄ;ne5bY' N!i8Z("RR mi#K*PG\*07N՞( ض,g ?e6w~VD5?E6]i@zi҆w5»+J靍s4w9\ƒk6ͺ$tPvYQd5h8/bOjp/c ה~d5ALcu) B´!jJuw<̈ A䩋[*jBX7aѨxi:8+9pb1ƅ b*/aDp܂QOs96aؓB8]1090a45c0d072c0b6b64e4ab9ad4bdb5a6d7b2bc7ce2631461392cc54cda96def53e347a94f8a081053b9a463b06c32c0b107c9f~ o+5R%tl>CQ?Ad   n  28?.    h p < {( 8 9 : >E?M@UF]G|HIXY\]^b#d%e*f-l/tLulvw0xPyp zConcn-bwm1.18.oe2409Pod bandwidth management in mixed deployment scenarios of online and offline servicesPod bandwidth management in mixed deployment scenarios of online and offline servicesfoEdc-64g.compass-ciGPL-2.0http://openeuler.orgUnspecifiedhttps://gitee.com/src-openeuler/oncn-bwmlinuxx86_64ln -sf /lib/modules/bwm/bwm.ko /lib/modules/`uname -r` depmod -a DisableAllDevices() { local CGROUP2PATH local CGROUP2ID local tempfile for NETPID in $(lsns -t net | grep net -w | awk '{print $4}'); do nsenter -n -t${NETPID} bwmcli -d >/dev/null done mount |grep "type cgroup2" >/dev/null if [ $? -ne 0 ]; then tempfile=`mktemp -d`; mount none -t cgroup2 $tempfile; fi for CGROUP2VAL in $(bpftool cgroup tree |grep _bwm_out_cg -B 1 | awk '{print $1}'); do if [[ $CGROUP2VAL = /* ]]; then CGROUP2PATH=$CGROUP2VAL >/dev/null else CGROUP2ID=$CGROUP2VAL bpftool cgroup detach $CGROUP2PATH egress id $CGROUP2ID >/dev/null fi done if [ -n "$tempfile" ]; then umount $tempfile rm -rf $tempfile fi rm -f /sys/fs/bpf/tc/globals/throttle_map >/dev/null rm -f /sys/fs/bpf/tc/globals/throttle_cfg >/dev/null } if [ $1 -eq 0 ]; then DisableAllDevices fiif [ "$1" -ne "1" ]; then rm -rf /lib/modules/`uname -r`/bwm.ko fi depmod -a @#H0Ah @A@@@foHfoHfoHfoHfoHfoHfoHfoH61b17a004e79001bac7ea2a9fc44b1d5978a5415dc431f8edff9a8f0304d03e8d6a34add2d606ef06d099b50548aafb23c8ba368684b0e07b77a5e3508e73133aa04dd70726a5859b75e329177f6cdb5d210bf9807a1b8cd102241e73d88d92ec368a40df0ad27b5967a1cb5507673d32484c2c768839ddd252de525e9b53822535d43839d8c0f46742ca0ee1320e62c706c15b7f6d7f4783b0806a714292e654034bb0a2a1e5f53da9650d7553fb835f188a08c5710490243150c745cb1210crootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootoncn-bwm-1.1-8.oe2409.src.rpmoncn-bwmoncn-bwm(x86-64) @@@@@@@@@@@    @/bin/sh/bin/sh/bin/shbpftooliproutelibboundschecklibboundscheck.so()(64bit)libbpflibbpf.so.1()(64bit)libbpf.so.1(LIBBPF_0.0.1)(64bit)libbpf.so.1(LIBBPF_0.6.0)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)3.0.4-14.6.0-14.0-15.2-14.18.2f(@e/ev@e@dh@dgdd=4c@cccs@b@b@JofDiamonds - 1.1-8JofDiamonds - 1.1-7cf-zhao - 1.1-6JofDiamonds - 1.1-5JofDiamonds - 1.1-4JofDiamonds - 1.1-3JofDiamonds - 1.1-2JofDiamonds - 1.1-1JofDiamonds - 1.0-5JofDiamonds - 1.0-4JofDiamonds - 1.0-3wo_cow - 1.0-2wo_cow - 1.0-1- adapt map define for libbpf-1.2.2- fix net_qos_stats warning when qos not enable- fix input options unused warning to fix clang built error- fix some review issues: 1.fix segment fault triggered by unsupported command operations 2.fix incorrect use of securec function parameters 3.remove redundant cmd option 'V'- fix offline packets block- adapt libbpf-0.8.1: prog_load_xattr will deprecated and use another way to load bpf prog- add proc file interface- clean code and use securec function- update oncn-bwm.yaml- add oncn-bwm.yaml- adapt libbpf-0.8.1- add permission to dir- init oncn-bwm/bin/sh/bin/sh/bin/shdc-64g.compass-ci 17274263731.1-8.oe24091.1-8.oe24090-metadata_list-compact_tlv-oncn-bwm-1.1-8.oe2409.x86_640-metadata_list-compact-oncn-bwm-1.1-8.oe2409.x86_64bwmbwm.kobwmclibwmclibwm_prio_kern.obwm_tc.o/etc/ima/digest_lists.tlv//etc/ima/digest_lists//lib/modules//lib/modules/bwm//usr/bin//usr/share//usr/share/bwmcli/-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 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection cpioxz2x86_64-openEuler-linux-gnudirectoryELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), BuildID[sha1]=65156767815bee5b5b17b290805b46d4c6cae660, not strippedELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e27daa83f13865ede482913f55f0b84b4b6f8710, for GNU/Linux 3.2.0, strippedELF 64-bit LSB relocatable, eBPF, version 1 (SYSV), with debug_info, not stripped R RRRR RR R RRR RtYKf.'жutf-8524664a2287067c0ba1b1d1cf594a5d7561d6de5dfb3555b8441e122af7fe83aea2b83a0eae51796d14577e6ef2ec5f9c6932ce4c5f612f79c6a390a24fb0d05?7zXZ !#,d] b2u Q{LY]97ks ݊5bSfXdDzM'Ȳh K6W }byy@@.c8'e,#b]%t/COL[Ⱦ=u0v"sf_ 2t Q^bo8IcG:{ϲsÿ}c!DN[Y/Ma{|2 } bk ^{,|}Ͷ{rGv7$E2L!3\o^guP?+:$iy_hEj˗QܪI+6k͚]t@bvV|vSf%qΕthx~!ӕW_":زiNVzk^Sg'\{Z%S٢`[99%~@bY*zD0+ك>E4=}~oV jז:- y(g~ :%ƽ}ttu6Vh G:Lo[crH.(MV(hw=*,]{htSH$ah6^0 xp~cH׷tAL̽Ի4E#͹ܞ称6Jbt64aN 4> K ]irkvx[h M#6I[~|n'!M’Y\w \G1e퍵0CL[@@\7(Y0_j?ܞ:HF"W`>AEf/d#`tE]YcvDa6[; :{Q#PPhG8tpb@ \<J*L); ׯ?bV6:JmoI<6JZs-A$o[ut# ?/2@!xk.+7b"^ )Ny⺏:K4GI6Ph2 \PIvvvJ(0V/7n/ɍ8٨I67ݔ E(];guV`sֻ?W~❌^9K/h^"^Ow~Ҧ^Uk`;xnS.ݮq6u Z+otKOJ vwē@)Ɔ̥ .'..ώ |$6,8"11K5oѕksdQdwnF_bU-84VoGnw)4-6^XUox:p;QP+%v')gu1S?g1k lh6Յ6aIWz3+1'Ϻ$$pN /,O41qrka?<^C&2Iw蟌-BFꗲO2i!84'=3 -/#R{V)]P>jb. ] dڐ#ȿɗ1Ťl1V! %/+fJw`W P?UOM-ؔ߅ZoU*|ݔU[7{fFi gBz Ɨ5&ȎۢIʓZ]zD 0f,ӴTUTK^ JB2R(6,]HZ׿LJvVlK pƸ?y vOm$ _T` QA@K+25c-<CÓ5hswŸoV2ӱSOY XHu06*Lq7S69ANI?\HA: j*[~rʬVlɒ2ennhvKgyv߻|ߕa/ b-8n-13UHOF R\y>2d2 .d<+.tJTfnoL+H;}y@4,@9bbtƄHuG 2lmM:DHZCV=VMT='7h!I2uC# *v -xT))eЍ302Ȝ[nE\x`&Uy<2Ƭ*80T PW38TB2}cl?휜׬6"v3sk?.V6f6(3?c!>;hOF1zv߄ ̱ʀ- <"fgYnC kA5{w*Gd'Gix{銶=KD.Y6UORAl&#t,;uabb!" 1x̖iU =0&v@t!D| tqjmODF YņYoz|TCshRAV`@0eF.k.VkT2%4:-@J:KcM)L,U8J9MR`o% P(hu+Oomv!ǡAY;;]M " ,ОT<6^9[6kXtS1'}"вx)LL7Ꮜ5%6iN}qY G/2pl,G^ͨiA"W:WQ?MJa_x(=q HG=t{.M{-5Fg<9+-4'^|#a`'ieoo7շl0s3o=d͞.1>Ls a /! *8"0NԚ0vk_ȅHKrW6&Uѽ n*B4h8IwR`~Z)Vv5;0pWE]2~=4&- :tNϿ 7S{Qp *; xʴV>xewK;P OɪlZF *0.p3D^lҁ"{f .%'gmRj8}5۳/]$ !~_^<$UGɳLiM<9wsN38d^Q=PBX6/%cNZ.5*27[rjB+Yʨ 2yj*kR7bM$c,s9/9dݜx({vdۥ9d7'%đ ׺t]e8> "浻=Tq6c..[7M|CEhyX_/ab!vM,QWY!Gz{Z,ښ ! kԾ4i]dpqS #b&Te?V@ SQ({Z<{g+igA$0fX90V vK:bnTt<_AHrHnʿv盄4FOC~3[,%8e)=7ms|D_>`Ԡ۽>r!?đ ԑ=zl Ah:n =2t+4)w pV5ON[N0ιzUXo2 9/CT9$; V1)w*wnR O{j (Wb:]d2([\"{3͜fOl]4qy0a_nj@FvȻvb0FS!/ƵhC&IlVC=esI (Iia;1yBkAI[.q<|L rm_";X%q/سrÀ Ds>]zM1wlڷ<-:ݲZ ]]xѡ&J`JqKQ*&)FόIq+-;pkc{׃ǂ`@;n9U=x{.5UqzwT6W]O|qRZkF3is:H_V\*i7 yi ,I?k g#.-hx3% aǹow-;iVY'y D qF=τ3jy$ GSƞRFW3},RX@_L?"]06 جksZN8I xh$ouNkBCFP:lX[ ?:QЗUIMڥNcXpcooxzFdў!E/f HKK -6`K"W6rN7p9|d'*8WV)rv[Ɂ(^^rJKWJw kN<N%vy=&}BjTf_Jog |ΜĂJCb oas>iho9%\OK!G7| 7Wyo}]\oۊe!v`̩(#{+n+! 2ȇ/M\ʔ}Z#M պ{JZpO|c]ʻ m)oژ K0jO|2-˳QSy0l!dX>c;i Y^5{ UbqzH   #[!v9QlC(fzbk!N+thXka;g:ivA VzXs\iBv07… A($̫""jIC'۠s-J1!m o=TBS]^46]&KwZt242ĭh"}U9/5-NbGUN﮸x5YΌ *C|y p.3RA$#3]/'.9n h5z4D;My'4V^_gl-`sİ1!BKlwdcc cvre5 s3:QaXJWlzeԖǷs'y.L:puİ+i{[izߠ^]V@(JiQ&:f-dVubIK^y>V5 7pPRf(Ĉ2(m7btev$JÐKS٘"rϊ7X@"#CE:zcOţ5|d&]ݲ4c! Dm",poS@>Tj`/L&(cqz21Q%lZ` VY_OA#4@{@^D=nڽ]som-WX=%wj|%ޖ" xW^묣|RQ ~6sI^3;=m{[8iHNlT:N|-~fHBߝT`mət|t žʙ3F ZK{LnTo!#o iԜuxEn_djrĠ$vcxXJ׈+`sͅq9YE,!fzW#ǂ pM#any; 巟^?$pv1 'tr"$6~ì)eTK{hoq9/dJ|'#w2i}hDXܝ| BsEL.F."kE{)"@A5LHT?$Z8^3ȧ#(ŞUu/ _i ZAvn#i8P' sƓE? YSd:1}2^nܡaƄ+ R|'1E?@EheX*Cw )0dvX4T3`dX0[Pp]SVn)a怽C1ޤNOQ,>q!e5'Z%Կ]%f3x9oƎ'EzI(^BbeZ'I?h4]2yTSo0vsדQJ ^ ᶊ{WڮrƉ~ |K͵(2Ǿ"M!:T 8݊c5L̏2(̡MĽĺ+ThY.l䩷oͮ^qÑBПIvб0lqE J-$;ﻒa)~RCYQ6oɍ^ ey 5-50^Q.N^Q q/Py͞a~|)Ĩc&+p">aq+dйڷ$>4W e,Cc7C?d^iՉ KUNkMyvY8"{ H^/A*.D'^é[Fr<" 2M%`Mպ]ת/C۷WZijƐݍ k_t"_'"B;$ɹok( מZP30%6fz]a%(gCޫ#UkS8^jZHV<0{P(+*t CaΜ椤@$R?gu?tT'frmw($%kaBOSn&k6ndMDw^ Hq@?xQC1?2-}Mi#8*<G1Z#аKz9w(@음{=vrϕAzeTaCsYa6} -|3tV!v+H@%:<@qUxcF6ҿ|ܿ vl؝v"l4w P-}uTd&AxbYWG]S-J+5*jHkOYMӿ٫ϗX#h+<ɝ' M)!IPvrfPDgPr `tF&sIQUKGLõzA 2p4!/[s:dJtbopnKȇf@PkVYuuVx)ҙ~O1GsW,/Qv:;UiF]MQBj_Baظk|J؊oIm / 8 Є& Y sNz@r/! /Xo݇t bo0hĄ? h0 4Aջgg5Pԃ'9~Xdǂc6Ye >'Yb,o)!9leo6Ӡ@:O;!)-k 8 a[Ѻsg DcYjʼ|Xޞt4^Qß>|G)P&2aƲ4;ǽP9O4</=}1M!,&-6bo-L:1|q .ݹAj옱4B{ ɼ2ڮ,P'<WȢ es;+?i$ՐV"տ[r)L3؇^rڹE#Gµ#vNP6TY|4/g.oX7^{=lEx*¤r׈F9G9fưpEŬo:T/ĉ!~NOb22u{Z"Rl`$' LA ӛ2) cby}^<7Ly Yl n b"|OF FӗR :;.=$Za:مmbS)DR^[q#Y1VWŅz8Qoਹ;jN>2l2[' ȿ+b vn;:!d LNJgVch .+ǀ~,Zx)sYկVi̥F4iT= VeD:鵘,F($㒪W"P: DT8MYmmN^>Nf!Pz!uAx@J—E)6n$,-$Ƴ$nx7E*o^(nud`^V9ᮜ ײΖ;:v!3V,$4=̝Q?[n{2MoE6A=ٯ,* 2`Qi|vly} EL,NWF=q:K^mSE8ָc֯k0~{j#~ZLK: 7ts&j<R5Hu|Tf/IDHEm/G |h+{e˱(cd(_/tw?6%f?Kz-y1\w uSay$i@_Y~kjDq|f#CO$/ QhoTmEf"2<6o9?1aA`LaȌB3  `g~3R׋%j~- zcpH㡲4|r͊ɖws/r82P>џ7ǨsJb$X Io羮(i$50-2*zGjX UA>Gg^uG}8[jPWPچk#4BY&)w}qB}ʦO3Qt<_O'NaQX $3KL,8`v2joX]( ȯak֝Y}r43}fN.|WɕN&U[l dZd2JvI;:MG9ەo]\ԑ!9d(KjF=qջytMQR ]J(\i6qh@)^9V)kX]a !hA/uTGW+Ըթ"N@rx69[H +dڒ G`xD5'Z]Ĉ\%_ TcKNN 0GdjcPBWџso{sWJci{#OQ1+f%7Z!isW dYb`Ec/GM *kMn X T4#= KkԻHHɋ33(>.97 {|$Y U~9~=(rCyiE/<'O31qvGH{- nX|T cާr~G?0ׅMRĊϸ$Ӹ_I_pN/VE r ).g ύy|sIk&"7qg@cR%J(H:9LMtf1!ǫA;V/^};(B(9\=! B9abO[/y=f!1]m42)AѦf1@,(%pꐢ 0~e Lv{lbnB0[:^Fܯ%dlFIacFzl_FZzlbKDAFJ DUD Ѭfkt f>C tkN;NT9CXzBdt/Q25 |%s?L0sa$&O|$*vݪfRikƛ%rñ:E+5ue_`d1oF৓kq" n.vZYX.:ty˙J=CJآtHS[s  DlCo08af0ɔLC\ﳤZG%iHJno[ig`guS^,NHj ݖe)RC?G}axo_uٰdc|ΛxǃvC֝9)Y}1X^f Hx#Kl9250'ҵz+{q=P|%̰>NMk3(FeёW美7]FAhWL~yʸKVnEPb)94W#ٿ{+#eOZ㾊X uTQ=!|(6{G!S&]}rEc 'EuP$1q{lʉ0̶zL>ܱ9ˇjmHnM*y6XdMdࡵǦ ȐjE|p˺WՁ\|v|l DUEiyx:/狖nXۨmIR_T`Qm&FOdhp3ruI)Qbx:ժp]z3!7e]*ǔ~yJ+1F.>p|;rf@^jnۭ6Δ8|yB"Ah fVr=ANf[wPѶ4P,uֻ&#b[:Ӥ6J[ddߌdHzLgF),#v<.pz|Q~Hȱ-s 4jT_rOZ)V׊n9ыj5O$<I@E>ved]RSSިBIGˮ9QtZ}ڂ҅`!S‹\Qw,.%Xq/5Z,׌^GguBM'/=TOzQZ}cn-98VqZs"|GʍJ f'~]'*<Փ6ʽnK^bfj믑m[ QPLWRn%^hՇ_(nA߷iFB[O Dd)fP,2j&)uF3K*Ǭ E^eKa&4$!*PWe2/T3w Koe4I%T#'ª*S\R%qiDDc̑ 9|9L3 >hH_x|dYMG$P Ϙޛ++\#$Ӌ,9ʌR Wj\1o- ܨM?`X[WFo->_"@N6ȹ(.k&C"b׾FQ|n֓|W7׸UzH=v'hQ<=>fo='3+G<+Wfz?+Ay27 .N%b+'56~|U Gȉv;ɮ{>6msG,3 t?81PV9~#τ)ZJkKڹ&7>y?b<i\gouO=iM)L-+`8Ś~R8dBRܛV}_xx 10xfi9 C|2`ُn4SaoGѽITǎǽI[W>jlq M|Bhy/7pvFH 1glNcg:-~SAHq3y gS$avtܺ8M' je&RP_-9}' ʨ!r3Zȁ*7ݕ"G OZ4_pWױ1J"~jtYqN)!_liّn# D0q__E@]72tq0Ts{5>֖poe( Q'ɻS<;vT>#d8Y*4}?Gtg)#S˚{?M8GWlV4 4n17#".hmhL@}AԥqR- (% zŊE\Q 1fVlk UJUKFkw)r=b#[z v \o|Ƴ)Z](H3G^PB"t + ͎xj#uggJ8ϦP8WH1P]; ֕7TLH+7yP)<_LN3 C\lq1ymxDw iS߾}_1ØyZ;F=3)EYz44aP~R~4t̵$n`141@kZ6)=A?p=ݺ|we55܁tKq<c∐4`"2y%9za\y(,>0k lƛ>q.@$%g.{<-b>9RFN܍~!|#%.Uye#)K}Qbmo2a)ԋ1Oeu'ֵ 6@eU(|=:+]ٴl=IThؽG'EGʗŊH]0;L[WMe+B,Yod dOHu_Qp֖Qb*?a'URuAQs4$_}NTr'T$;Q݆%!hg!2>Ii"r"@]DqDZ3G ev -ar^4'Ն}FqM'@T1[^[/ta{ CX 1%.4/mRcO|Uijt]m H9HK0;tiB7m> 6!]V>w;Q?^R(@sRŮ~pCH"v\ZUYUω,E`F직yݦ^jymZ|-iz^.=Mj3P6u_"j>,N(aS\% U [8svh%EhZbzԡV6QxZnf$4^lx5Sci5.!*{HJPi*I̶;ȯ=7 UZjsyRgm eu :un /Y13d I6WATg}]^4iHAbE·A/YT ̃A|Lu:Szi__%`>NcB8V֖k!'q䍖3=A z>ӞŲC3f>p,8[ F WRZ=է_6CDўW/"sa/xc&iH+3۶՗+ ͎m_y ^EIHU*QԚʄA?{Фߌ'yk {MøjCon{WjgIf ɬlY:n@;*E;a t֚jW0ŽMK2r76kMH1`iz-#)h(⃪>u0:<8Fa &'G 4Q j2f"#w_q9:~E8x/]DxDB[Ӟtb/>ڢ>_B+nw^ Yt(px0 9ю/#~>%cxQȬ̽Z!#b;]bWiOnA"QU" $NѮjj泌pOCv 2I mv3K0bvխF-{yM% R~r|Ou^ )dl1f*Oq;aӑ;MҸFi?Җ;UG_z1+bW'dPͱ -!NC+N( / >eMqM+!l^(rl XZGT~^2r)^~~J(Y=m /BJU&NrYeWՏя[%&Gn6Y µyR#ޜַFqwo@-\*dNHwJWg G' QUocψ0?y]D`#@A'mj;GiIg@5|Q|lbpёc0Ɋ^="#oƩq <H i%Gk}u{ɛL~C-!ۇo&A?:<>uzK#۾|7G ]K5iFf7_Yzv=T^3o_8W\)jm.PD];^z/e`#U:RΚ&/\vز/E!>К 1T#)ϻN~]eaJ.rT5>hsgc.<868MّvTRyr|^g{ '~lPlpdUwn_kJ7CBpOҷE Բs h\v FXE.l\SMtR!kceFAkN@~>I=,]K*tۤx֮Z xizq|8; .!łTkiy0-ԏ;fF[pw 4,^Uf^XP\ag$7V~c[2 t״r[P#!@Kikg*fflہ.{Z@5SYeNat&B`?@F A1QECTX5M`&e6jdGv _*/ytW O$( v.M^f=@qZ׈|H8+vjԆ" @ XQ3|8ݽ$ҩ|ۭVk?쪬@g|ՂHvbV9)E,b1S>l`P&_H*SlY$rO#_bSҌv4)pcb ^͌cn`hJ-UPfSʼnX1X{ W4ow d 8̦;(A:Yo(H.HwO<%u dl9‡׀(UWل@ >՞$;3Ũ_D}W>H hsw*BֺJU# ~s+G.G>}0s5h u讛OLvwPMHꤘEȿ(w m'щ(T͡<$bJUkpfIP;q ^JjJHԜtRKb%x35%nufKVNlH(k5 >dKu>ǽp_%S ]es0Pp{G*"!l>d"egFhˤI'&=&?+*lfN1( ',dō,VYIH 3)D?\㽼Ml}p+*s(W.ɒqΰx .Ko$Ut $d]-Zz^ⷈ6n*mrV3ۿ J^8@5 &HHb1msG VY,UP bYCմ x/%/S[ŧi$z}m{069'p^Ao*pU֨dNћ1i<- >12,K'R8Ly5!P(zGENC*yA9qJH8rAhY}~hT<#8"_E]hZ'4nT|*^4QS}y  'fJch}@sM")qj r[g#jOJE:UGu2YlJ`y=p!c6SzRt-Br8|RdZR{,:Mz<¨+C=s[oWB YI+jKa ;l "ᎪŧiW1c˧WܘsM+w 2ǽ+`*,l%ӵ~~%/-K1ן~mnZBNa8eE9>Ju燷0p>umlIȊ 4>c(*e27'L,|<'ȁ`ۑ:Pҏ'k3PQr-˜72d*u-nB~Փ5&+'e{*H>[avq #P?7Y|'RB%u;'AitU*4HXj!SR>#7_qs*C`xkS [0P{Q `