summaryrefslogtreecommitdiffstats
path: root/kernel/stacktrace.c
blob: eb212f8f8bc801dab1ee7622936ba8caaec4369f (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
/*
 * kernel/stacktrace.c
 *
 * Stack trace management functions
 *
 *  Copyright (C) 2006 Red Hat, Inc., Ingo Molnar <mingo@redhat.com>
 */
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/kallsyms.h>
#include <linux/stacktrace.h>

void print_stack_trace(struct stack_trace *trace, int spaces)
{
	int i;

	if (WARN_ON(!trace->entries))
		return;

	for (i = 0; i < trace->nr_entries; i++) {
		printk("%*c", 1 + spaces, ' ');
		print_ip_sym(trace->entries[i]);
	}
}
EXPORT_SYMBOL_GPL(print_stack_trace);

/*
 * Architectures that do not implement save_stack_trace_tsk get this
 * weak alias and a once-per-bootup warning (whenever this facility
 * is utilized - for example by procfs):
 */
__weak void
save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace)
{
	WARN_ONCE(1, KERN_INFO "save_stack_trace_tsk() not implemented yet.\n");
}
޺I9G |DRQӔȑҾX6N\ 9%s^*?e7^`)=4V ~,g01o~3!O-/o|(oFABpʾ\}€xC_ Uv^+&Ն<.sri# 5W">Ǧ[xg"o (N | m/ Mz L֓>0//ib!{* O"ID%n`W#6kh;#x -Ue#VP֥L}!ZN'hQG÷I}魰܂Rkp4wp ī5tjKZP~-O5F[ \K8 !;cxY_uP/Zf ic^$+h:;X1VMN zb6?^L?x<tTLbaNś.%@ǩ*"Ib.%vÅɑ&C i/XU9d4zl&Mɶ1E+FT0.LaIi^mmV{XW{]8=[nPK;M/IAnnkg_7Dgo3.,zd?A(3͌eЭʉ…()Snzi7mȸM@Ϸn:1'eUC$7"Gy-Bf-V;bou_2D]A-#߲4ugNdVnхA3{Vv5/ NٽC}V`y b4^2^M"M;i^@89$ 츴YwD}o!H$%w3f?4BVf8!6' qDR2wdP`E0jc,^u-h`>Hu_L0>ش6*px ԏs+_+YC*cUc7'GGːX̹q4]db# xl`EŴзJ&g?D-d@J}̒Cq5?EK(@S"v ]yDŽR2MH:l!j `d=$`5^E/;%{ "|-.Me-cNn[ !!AeRx KJ?3h;SW0HU9ɉ@ r4,9ZxI"&۳ N@ނvS^X eeD{2+I$E}- HayѢ,I1V| xLDT80!wN:^]XE.Mu;b&2v.:rd`q=%io]ϒ7L{bٖ  ldo'.6RS@)+X Xeү:eJxѭu(ݵ%, =PN^FhRwagq`B>x˂a?o./8=^sX2`GI?Pď~maE>Rq矚^/T̨N@-8d9YgQѨ|ZoC-Q:m6ftw'*Li瑂_Z@N1Ғf"LV7'0MTցW/d臉Qv<%f߅Ǥ (T+%3XPnn'`H0[@OҪ.9RNpk#*w4w0HG}ԙr{mSLdRq}RݶI g}x }ֳ `ҬgL= #$ EsΞ]+$t9D.rh"=mlX'tD) k;?:9 #[HgCb]AoOSvjM3Fr:Ć]G?ehVmE Ӯ+9w{sx6z\gf[$)ImELXH=%j1΋2 e>z]gb'b% A7~\PQ`RD*GX-pSӬ:|l =|6NZ J2W#9H* CƎ)_//-e~FBn#yW@S!~H$ Et@F/N2n`-iCC/j$ 87y( $^8hY1HuI_K$$OA`mI2 ?W{\{!31-]sT"煲/NnUI%=ћ͵ӶWBQD0Fqp1yiv\p BϷK\rni\`ދ A W$5]ƨ U]FsΛѪ bUbJfQU"N^j5?@^BpiQBFxvs߮'^F(. S~Q&ȳuf 󩈯yeBz%"|^xyZB#$5&??9+an*S$kx) uyN&G N/qG.r#$4t^#!2|=Mg#6ҏe.2Zq^֋kAݵzgmO߿|%oOjW CM3~ϨMCҲi-hNJV/ږf+Wm9C]؏bX=Cݑ{k3gG ^-Ai č0MzC?rЍgpC$LJV*:C/%1>Mq C,,U+IV? ɋAȼM!uyFw2_2lcl3," &!s۝c~nڎ;ʞuoZQ' ]OV>N!l^R10aZ%^|ScBb*O/]mM:HTߴvprL"6み1+RUQ 'V\$[ڴB曫 ɮrB]o(BDpJ؋8-,u՗eR!Nv!mBjZj$O'11̾ {z..6N =k"@$}Fr޾tTɂ' a31M(^$XUzrEG 2 ;'8QbfV,4rY}{J52S:zVB1vf765J;4${\ᠼg*amvgjTحܜ!#w#*T $/ cŷGV!+P1a_M; bFvĤSz Y洋BRLJi}%,j }{ςȇ$X\_wLH9AH`)f%|";MU![$!Lww 3]8%BE sߨDTK)¾Ij ˹vʵ~?Ȼ0u6’'~ S2v󇦸vym%;;b=wOwO ?c;]Ŧkp](1G4Ji@-}S, ,vn~YS'҆D Sqd%;Yj5VxHT@A'emFb,173{)DCNTڟԮP?Êݿge,541kN\cQ+<9#kw_W:h&@jj?~y\6`[YHlK*U#Q!vn{?v`懥U b KY$ZR3 B G,/W|[R>΁j- nyZ8S|z6fLac'lmwgi-8gw }8~#j2jZb6#{"vܞ=se&8Z=w9G@ZdzF22lyS;:=a>@dO< ͭY\i/A\ke.Ba&:Lh0ajҢa )'ԝJtS2ꫢ Mkf\/zWD>`Uf{E8NFNǘɐmձ0`8Dz,43bc+‰v0EMc]Ek'@DWBT'0M@!~Svզc_|rݘyRӅ#BoMq(6/qr?#%laˌ%у+g+m77ΐo໎ڍ5Pj^;GP:fd)}צ[$)-eUbbiv5 w=o' 5Vw\[F :yx1,fzW^յ-= ܴPa4Yb|ﳿHAIKI1~` <^>A?G G֨/bZqSGgOZm!vlftrȪx3G!\b SR9{R,TEs9PL=9`#^zޗKw|S-tΓB`:s.3şD4~c[ utVJgL.e ,/b@}?)Kv<_{W?a'& WT1/ߝ> !a,">A^d2gohF@V)N)º_|~4WjCK7 /!S$Ʀ>e}!!T7[ȀL?-@T_'nA"6Yu;YJV#yZV%.}rKZ(Ɠa7?uK?4WO}d.yW,QB/(2LTxHL&}}-k]_o`pN!h|dBZB4Wxcd PkK)[Rpb~f2eHOÿΨJ5+_*){H^3#`LE6sF+s8 %5U$?D햶5 jWU7eNmv׫$9$+=%(k'mL;ɰ+p(t]?il9T1dgV9,qor66j6Ybzyt~HoSZ5hܓRO>8q^Ok㢂0:Q$ȢA4y6A! #O -i| )4E2KhR,yIa/N{-*P@LzZ[,NWxn#|)C*@t5u{ _%H\lpW yO!A~m{}q?^q!跤 JڰM|Ↄ\M6H`iUP_@,)@uO -8`;;VIuf;'0,SÿfvQ^WRwiOŠR/pxDW|NYyMGJ{IH}x4Zy[.5!ݦ V^tB!4.g@PJN D+R) l3wm~_Q_qOk=eulj_;Bs Zu!‹Evz~Ґ%'0w5 =.1buS@^rՏ:hoY-mn|D`dړܣ)3(VC cؑ\:f1µ]T`/oCp_/ڛFobWkA࿙ci奰lMI{qm?!U~ǧ͢^W-&FI\=RIԾ4DYBJ-Y1qim*{Mxa4NFFg_W6ۺ %B4H3y^N:&^CfVq~[VYF;`=16IQ6iF׶ '˞vGW<{U璋p]IO9S&6*imEb.8wPimPrG'2o jY/:ߜɵ\$ %QO īm1Ɣ 2U~M*$oi KC!¬"Q)!A80r4W^9Ч|Voքgx ^̉P+[cz럧7[v{S!WXKqϣ{UE^6JGEYv]AoI k0gE:K[怖9ȫ~,M7eUZL[:NLq˫)0>( AFː3tZh0!/&Zݞ⭬Godu0Dsu2Pܨ RuQ%C&o8;7 2RD7ROkVsQyC[n^T0ʳeI 29SI҉U-l%-=iԉ8/N|m @s9gR oa@%,QFK_m]zӠNީîmH[⋝xQ?*wj׮^DbhPT}pch\^="C?g2ɡYA=$Ck[WBs{E)@z #nH0h$$]KEDvt!&}Մ6:gF MN-P0&wݢ9+|>G(sS4$kH{@3¹ :p[S֪'ƍi]Юf8qԾxP&~gNV,N[9>1R;gu I?fQ)M7z^+ QAT_ !޴hݓHa̵l KMr!R2ӻjґzoR.m[,n`%Qz&2 >hxY FB+JҒ<)Zlh 3qpw韨<ΫaE@ jwFsdj[D!!zwPcQS i9f?\[ί6xC9Snޚ|eOk[>sGuBw;8w*vJʈyȰ}B^.iHMǭ&dvopIf#4x Uaz׎U9^أzv(d& b(y!v7؞Ĭ!P&XI~XTWS͕5i43~5 Z{=v-^/gs 7JђD1 iP2ʀp1#+X@E/OTs93MBbt# CErEd2gI cJZ$ X֑M_*u9<&(-ӧ|cQeՀCg03qokVҘZ s'Y;r=g 9.dl}t4}l9l~տ'\-ɏ`X98$>q@'MDWS ^|TkS5] 'f.k`;tUK'x|Ps)ٌnďA*#ѺpK\La&԰kU"m60 hr;Zi[S2.uߍMc;=𞃹a,Q GAȏ$ۺO u*&Mei?"ɫ1FhA^fNE"d[ bI@t(REXieU@ԞP#Óoc,T>T1]%MjS- "1`o~OJ`ڻJUQ=f"YZ <_(׎K:$bh\7n׎r_D.i -ȏ jR`@]š_Ya? ]Lz 4|Ōk#V3M<<֥ov/eXT[*®X=FYϥAVƗb fr[ug,"}Ju׌撌ߚK!AZpp&'zX.-}O?8 H-å!ʆ='L)laY+֧L穦zci&B&z҆9nB.jl0׳Z(}_U-V^LQW0=}c0TThUXڻ%w= rFlt/ [O\ 6I q"/>=:~ڳ TdrY.plY1=c3 kW|`8sG+M7a _,%hB(F8  Z:l#ErGa8U_wbѴ!t9pVvP%x$`!FmA Kȑ5^ '=/+W^AO 蹎Ip ~YIiFv8_l"{HZqH*wYtn%d1%* 嘌ln}׹2VcPfV``HSD/w6!hEp8U3_4-2~g EDY B,Ȭ3a٭XG-ldwl#Ӱ=RWfFj%Js `j!d{\>h#X˯$xӣ6͉([(q/krlVb(b t{H(Ѷw['6O?&9)9'B#?.Wb9/(^hli?0>tG"c ho.klw"e%0E ?|Of6'KG+4bR'CyGcCDcze9fcgZ]U:cmavlVD9 U;f3FQO/pr‚Uug}YkHa^Ic`ieHj!23j MJP9BwRljCK"{ CY4|ޅ`T "h2QMcVh*+WZ"̤v G hTsG-p'aR8Jzs.x5ؗ`W|$^(S:Sz$A&PeQYRΥo'@c0rKsJ!҆HwD!xοdP հ* Ȇ"?M.hKITAWW#liGɺ*Vϥ%?i{ŧ͚aFcrYCVһD(n2L_cf2`ŷUw܌P L [PrJ`cd[m0a̮y4ֽ KOa)i4. m$ u37^ܢ䊹9?b}pf }!Fb87^I;߰g.Zy?TBV2nQZ;mp!9PU%y*,Bf?s.>J_59!K|쁔k86UYc\E,8 QT9Zd}y`vbBZ#ay|jv:@hj:80DQ!<9`;:s%]vCJ*S _\,+qJAM!Q;Ypml+H,.,"R٢✳/Ը&CUBFҹ)1ԊnDԠRV8)nL%y< @FAEX|ZZ;sbn3,@Ns14 ػ:g-62HfӲeZT%e{Ek/nL.2Z,/q7 yU[: vhk <$3 m2,!@ aVo?#w X뤙HJ ĽȀ9e/]aCKn`m9Z~2Nc%eWUKo*Qbhl+4r:ρЕ*{W#.g)ฝ0g͚iQxg8Emڅ u wf:Hi"?},iBUxT| q~$4~YUJ6bS8P&?FwyY4s5bs>YʜCJ%ξ%۝x暻nH\6! h9u )lEL8=#B5?Tu$e#cNr76I|* qM5}*'Zz;S>SюY zl@`M[nYmnBdhɂ!}wϝw+<}tޏk伏\h{-Xͳz2 aOշkWf[ }B3eJ6aȲԘ~$e(j'bVr{ZV 3j = Ps dWEd Iߧ>6ϴ/܃mt(]Xm-gƕfRC9T"~Zm6S` {Qf" MbbY`]{Q@Ƃf2 C5f GP1ywAʫ=J|l4T s E1޴q^ [럷(aQ~յի9 HbZ_׼iDn -+e}wu*CwZ:D0SD`|YGq-r H-Ǵ͆odR҉ kD7Ž413e_ES`>SN;0[XHda [:aZmrvP.ȕ- YY2/* nK"ֿ?`՚?MuӋ^8yO#)@)F܂esh BJq2GAfȶCEf'%_g@#t7 즘=Z)#?ki\z2 0NEz) c6s^29_?%,}b YckBsV q ̺S*h3Vo7SP5H?Ȕ=Vʏ[O c+&LGL ~Jrr!cAQVޟfOr;| ,񼯺&FqQѓG{Uo#28 E81ؚm'%kX@`$`9o9R+Bk z,jd53dva8[%rdlk|fV{4P]M">& 3{C &oAbS:٨uiZ ڀtt73!bo*:F{%-opxys•5x"q<"[L}vcHh^G1Oo=s\N@2H7{-4._{XcKyv;#s2}9\0*DOm1j8*4-QA0h/U`IfĝH"O}_9 @5cC3Xaap<i`lqH)J!=Qj]c]{] jĊ#& M/[4ۃ9:U+k\ւ:x9{Q*`H3lmõ;8x}ЯQ5a6\@̃z ΦCA<%5 ;_ izI+ɿXsX"A#׌L0FkP7y=+%du 1<Q' +Xvin!P6Ju q IХGXJEqo}yG}vr΍ʔB0GH[?PL!mDs^iWԡ'2>lK)Պ/'te,Z)wB_z/Z]'?r^/˧qYo`ϱ,t;|cqf*`F^;{,Ge`+* __|g2S*.@9&(ezK#P"\yc(V7+v@-p-F-J._&GI 5L hgf'&Su'N\XͶל$ӒqhYkGM@;](Ԍ>3<yBa~"S▴kM+O[9j]&VCW!_bzv|c=?\]zEQiS[l~J n|&\xae9ӻA:Cr G';A򵧦וF:(|_ُ>Էrǯ ܈y+t/Gx!q] ۮ|ڦnA*w)ahܔcJ|-wBUn%g5*X'k1 TC c7AK~sl\}e8r2VH3v큷KkIԆsV&sg%jL!Vl~09RsMKzǹSyjr\C^f7Fxz/īxh\gESh`|̃a\PdI}!ʉg#]=+ǻ >i-dSdJvӺPA*߅~H?8Osh129O3 $iHѶU ꢇw@}{fPųx㌡w#V9k ӷ_p4=Vog8;4sN<f"$>* g\>Z;uI>&0KVS1 1hCB@a|޳1^CO#7/cleaǝ_N )B|iDʸVt޸ mgKv|4{U kٔ[!uK8 ї{Hh7*ZZς-B6SY%.;URTEw`[B]"cK+-]Lm wh9 "& B)l _K:}X"TTF @,|T.Oƀ*/cpjLg-AN7&LGU63v=]k"\+PJ"bztaS*Xf'6QCy"{Fn耲4!{y& \YF$R 3AZn2٣$0x;1iŸ.UO,k-;B#J <^&,}aYꡮ5B)Asx@}x݆|KZ2Euˏsi27snajAɫ:)͠U!nܒ1/H$j?陑-> jaEՍҪbT KzˠtYXz׽]eW8oxI+z{K9r&ϴ.5lPx !$txvc ^&₍I4 {IoϐbGo3D@5.VnzP+]E[ڦ5,A>Wkm_Z구i&y`W0Ip w0OQE;٢!5/)9 ҂]//1BX)m3"HTyA$~hS|+O\Bܫ{MM.og)휑YY@-X:O%ֆL0ZY)TM\jH @Gt4<Xٮe;vc8i-Y"Lk "xӟ!&VV6y]qvpbL(V2=f/_s,ѣEEY4 bZD7ː*泙"P,:jcl4;vqMvz.j \7& n xD LJjXivVk8"i'R,kII|DBȖ? ˌ) *+ £d|'=8|;d*_.b#w.ۡkN \l+!bzÎ_& >`|#v5x>ULV^oq|ʖlr `xQ̆)xM=xv E,uԲ_Չ<1Jq,ҙCCRc: #Gs9iQgF55`wЊ-gpݞp(YFت'OzBZȏOQEZ vn,ۃuKE!x..}QH#L7Cdh HD'rё4G8~!G&ԇ N]e[T 9@!kp":=  :JN ҠL\ RBZ޸xjZstbJ&/ SuMǓ T/pI9!IDڬQg\ĈIجˢY)guoCQ͠2Vur &bFCDbfM {^G|F&CAfӥ3U` @Z7\Aea˥M0^Vp*o&玑OCj<!H1CLK;f˔#\HgW/`365 6URT0j\}"23jGORYk+]ټCǖh)ӑcRTzT)@Eo9IFjyk3HF f#!Vt} $}K` 睊V +GUl~MaBXs6tslv4agƾLZo#yXJV|#\fJ>'Pc WtlN/h>1_z -KW/pwj",/ǝWJ|,_reQ<+ JArN Y괙 \>-j8VkY1%R !l]{E.0eWs`lD RުeVN3]gAra!l4}Izl}0[R^X,cv;TdoBK'qO!2p6Hx$dY3xQd;Eyʹ '*s˃6HOd52-J^-[(ٹUƟy/EP4yPhIϗWs滒TYIenpy2j<ۚ@['u%c=W4DDo+p vvҺ*Qzgd~GHe,oC@?.2E$. C7k@_zҭ"d=h8._wu2 Xr1]C/%ayV]i:NxlYc@υEdT MSRCu~HM]KwƐKϧyhmYHY;JmaQ_L-z9ݯk۴/N> P\*%DM&Lͽϙu%uOx#YrnaZ֮4 2&:zG\F(zCva3d?ZúOcpZ6< d-_CjZBӽ<2rʽW#+L.Q^wrXȈMQD{qG4K\mQ)-Oͦ6az]x`}-G4@OQ1 %)xER<I*S66CNڿQ ^ u<0;^YY, E&| ׂ\_DjFU6Ppe-o *c_& w|KY q&0o-bN;GrϽԁ2)S_+ {>IznxAFg7x'IZuMf$iR`8}QCAuJ21f5泫[۴;)`)W i- {D oU/|$ޘvP gh&B UPҎ auA/wg <z}}^RMaz#j=,<@/߷^Km!i<eDr{X6e7Jj(,cH#qhBRŽzG(~(A 2g"IW+?&`uNAI:^"%3dxɏW+OYgG8xg'j\!,iӜ|=~1(ILCC\IK_:\102e|r_ݜ5_~IG3w%Eo6ujf4q ^kԥ499Ŀ!(^g1<,4<]SK6růBO F\)4= -]i5q1hXN#͑kt$G(Yxx1}v+8-6.v|bnM<+@Gbpok؀}XYu7hk5ȟSQdQhs7Pa*=wspx(X1`Q^b_7)XvFvKƹu5dYOuT. X%ۮH ~]Ojm"4y:>k:"ItX5,"fk!Pi̖IZ hFT7LcHCS<}pӁmʯ.ť+(a&8:z;OmF$* <*o:w4}pK8gx.N*?I_r-;lA*+Mc;<}y9hoS8#iK4v4%F"Ew`=f.>dz%$|f6sM>rJږC{|T1'О '\OֳYۭCJ'=ǖ\+efO ɻIh4xN?_fPQKãalD)]z0I5_f?KX O;Tw95*u D=e,EsU:->`jez)vkRC[U?ȥYZxErYϠE MDqMJ85zYu񯓝`G6WDe%V VK EJRõXpT*Ysw/VM(|xB.!~tD4Kn҈ 2(rfl緆1`kV0KlJ FfRuwHr"x 6 Iŏ< ^ MX fF~8 86kN.,Qcf Rh]ˆX JoRВ{$(9v=||_s8T9  Û)~P/b.]RAqH5BJM?](ާ6@}CvNyZh /oQP! knԑUۯ"~&opm}Qˇv4s>?ZfD-}&F$ r]EޓfNQqPN2pWcX`,m@p/e6X-tͅ>+ Zԏ**ZScn3P6{4/c "+snnÁ>c vX09'x ˒bF=^ о$k>PءRz]-w/DIsPR/it"R aw}.(uVHnHI,`%a&B^{rtk7 9;\"ej=;5,eۅQG"Q|yZ:(^dqqbq?&R3;s| ;.Ԇ #5vݮZhހ)'w ྯ+3eYK=4 lRx*v1}4%Ȇ}΃>lLc&ʒM8IqF$\MvuIrmZ)@ . |b2uLQs*QиXR>nV,taCB.?es%L%.z]D8c9?u veԨ"#=w0A%2'rn#[J@kĐîa DRQAZa?8]/zeHXoq"Ao :@k9d~&Y౨"W]8jf܆}- x Ce_bHTP,4A@_9SЌ aes!Mчm Qkpk nJ$Y:D5Jn":yF"w>5~e M) Y}ئ2y#J`Z]<罭TE礜`& %$qA# /'[胡&aw> zs߹CJR?&GJg0gvJ5T6؛w[.?]8k:KкTԨ֒Z2L\_5_Cz q4a"},we?ٟh3]_F~t +<) ,W)#KEvlŘ$]צ)Pyhpd3XG ']/kh!!䢭a{4FV۹ \qW`*޻v`F[AkK8u{jf-[t-87룿6#36xixԌgel@njjQUXPʴ?²Qh|F/C_a^i薒76m|`x+fRkm]@~M5Tjv d0ҠA#x2~r}yUr&Q$Zw5=frҵ=s:}Z3$fjNۆ95POAT=c6-JXnYyx7'9DC [fh櫸LyxID˗! lCJ.{d` bb={?gK'i6?-䣿 c&A r'\f=w]j4hR\)#a Z \2OwJK wV"%jsa#V< B:nm}0Ԗ2©F8R V[wzO>M'!Y/}[Z9" &C%5&,ښQ@5z`h);Bͦm9 ?"ߚmMn nrww 4 eMZv1!sO{8Rs_ 78ѺZIbE˘NN]aqf|&9α[-ɹ+[&?AڙPe)^ Ĉ:|rZz؝jE{u2ܧsb"< !v{,˰#TET`/Ƣ\ɞ`ʼi*Xz1`Avr42=r? ڳN- + +i'&8|0Z20[}ҐՇ(0=8@}g" jY&adi/~`| ׵Zn ;?.گ}zeX{&JˎRCkc2& l{UYi9@Jw% P&Lz~c0vӠ""񁘭-I0K&iTWa&HXX3Wz?=;: rDM8Դ)7+J*hZ'Qw#`4gD& `$(49E)4Q _Իu9>kfo-S*;gaIIG׀=4z<^{ ?*eK]4n_,4GTg/$JB |oM? ۤoǜ1re)Y=V#$@ i SRǔa䜧^3l?:ss:ܡ+@E7W!΂n_9{52'U8h/ Afcu$DE*WNX_(q$s,"μ~eZ_7w\.,)vLmW*l% ju]@w{E]R8;Z}8K:ɬA}"Z4|ʨo/DZ4B W9.< wz"尒#7R#ƸҢq#"KgB*, 㿻$X@勺ؚG:/&}̏͵2w7QߜnG'E].L(HƔ+yZC}mI!ˊ\ 2-t}J b0.B} lI8~nqj5/"RfK'7l<ÜoSzrP}#%hJ5QHc~Y]#ˡֺNPZ҃Eq 5w ɬZA_Xk付_Qe/W=憶d}~B=O:T5/DЂ&C Ib:E[!d*HUA]/3Cui;/U:9!>a5ޘ%_ f}ބ#}PR59w?Zrzo!rXDU@ء O$#OC+eDw-mkr'7T Y6B< K.VLO6%α+م?&Kjjͨyk&;-i,p11YG+FL=(w2g]&3cU1.0!%  jw4#!+>zY(X? %2+lD/fMSXD8ƊEغ=?guMUj0^H/:gA⟺NdK9s_NiL[VV7:q^jyG9T%i9ju Ϝl Ϗ?eɩ`()6U_gZE6⦥*` P`K1[3/Sw6~‰;/pq}K27i 2JrPmjj2D5sȊ˷ `|Jw{w`Me_MSt$b+&Б3{}j'Gܽw0G(<:E*ts05Vg߯Tw}c'/ `y%)s2fcX-҆By:pyԾ>ެ-7z?8cѥ.M\5H bۡ(#K oO'<)5e ׾9+~'`lV F T&T"EPV Tl %$0#N>/)%g9pP X(M/$ĝ 0]co9#(ѼZ\%DH=Nò؎{Xǔt;W:h|;A^Eۿ92H ;#)U$dIZJ*Lt%vgpJ:Dh>@;uu> ѦP lRēB>dSHΧ|U5ԙ)_U%=[ (YY *h~DV^|sbֆEaZ #j~UEqc!p5M Z#2PX* H:**-_O1CڱQL{Xqm~3ewGnΎ@@a(d'諾? avs =x%kYo p;Q1-減;Z^qIGP_عUTU@>>sn*i|rB 61m„#zMK[VUH:EA$·zX\y[[SVۣ02TrLˣJuf[ڹÅJ-r@bD߲ۻU5L}kǒ-KᑈmM%`J Mw+]׿ր9S[resg*.8I7Z-H1( =o?w{a%l^$8QR$.6Ղm'Ϭ8b9ow, qoVT1TT 'Bē=}}B!)>΋`'nUUC@\'E}'%DjlT]$ x81%//IeOt.M*}T@).ͤ6`$'+# wd˹{(cX-͗њ~7(8)c1SO 'W_RG&,QT%~;_]nY篭> a33&賂."b[䏔:OgFX7Rևv~'|V|9+yiI(HKe9?=8緫v񏥾0*4lzd/:zQU+jSy翅N6sbbjКoOurIxU!Z.K^_h$ȉ`6U$:d!ä\UQXyā㉬ap3ӽ*z]B/Hx6H-4^GSpMzHOIJN%fFO(A7Wz[zy[Uxӵ@uy_)t|4c1 ui'o*^K^'c(*`/RkbMJt-mp2u)Pu ZҚl֐Td !NpX ea8=]hWb< V :wK_bTA#[d4A *)'z7ٰ'hGpѡ>I!u k-{v[@̻ͮ;mt>öe+%uG<& IHKAt_KB!1bv41wSYۂj.ͬÐ4hNku3;OŨ~R5C0l PWe1𒿪6U "uc_>u64evH?lũT]/pf)g懎U\6K_D:f %ihu{9)qD-ad % <;47'ɔ ^>m[{!~_pǥU&ll{H{M 4U `Ia9Î~6y%h]SmQTAi%&6]+ OUU)JؼQWZ.2XRݭhp&_ }ZBsp&nP~hpz @rJQ`~3V@X@a$ʳqr0\ + 5^!zx=Z՛sSO="W8sdJ,[rGwa.b^sP`Mkǒ٣1X`B] kRp;O}N3 ?b9\+-Mk&F(~MQ6$%q_ZcxlQ5ov(H6mu( O`BP`@?"K)ńQWؙriJ~Y'#ai?Vڞn]kKo*l= 9O:Qx`Kc\ۄKXگQn@7dFbqЖχ'*߼:N'ZWic ]B@ir?ffrۡi/ jjs,@D)!M +8,kw)ogУȡvyZ GM[Ǿoj]T\ԑ $zZީvy#u]]0HNk t/GL,# ?Ym5Ѱ-4ZK>p+?WQ:?IB?-f? _b` pޟH_TͦL(YTXAkx:~&k/L4m2USu"M"(Z0V^u-]GJ Z5*trwI#Id:8#fqM( rB?A~3P\"F;3h&eq&%Jx"l'0ȃ_݋jSp%Io"zJ{<5XZB^ z*+lB͏vVUAePj'YY>q5k"J:?>si;'ۇJ =XMƵLe }!%n%i6f;_Մm%bbp9WndN BV\l¶ H0^>pÜbV 0EJ5xaHs#^qНf>iV{8A-mBܻmGj;^\ =imV]@~ӔjφV66ۯ<ʻju3&N`ÝˍS` {2o[=o# HJ?h׋!X~>jwX{[f8! E֫Lx E޳]GT 5s +fGk"l.#&]AYC wTj" WiB<8KPwDזX'6eS5S2E[ueL U>K߰42jvjLQUiQF/{]<&|:+l()r= ݒ+|'EWroF@]4㼰D [u׭h _~˩ w_ZuWV};RV<`Ytqs`k\3ӐD\{|SBwT9sFqˉ(Lc'9TM\Jnӫv*3 xPJX mͯ60cxb-R{a*R+OwH5OCI <iv,t NK3Jϧ)ْs^GɿEdF<-P+AChx)su'AwAU20~QrnXi*:9޽/ԩåd]g7=E3ǰVp<"HF&.~쌚P%e#=|CY Osmm\fVX r+E=`Y$@otE/PTnd匩Kg 1_"U 7m*iSxNXYC`9: t=ws !4dGB+H=Ȩ陻G]@mnc!v|hCFDĐcfABO@LOa_[b/Rk' a)̨v#Wm6ƨRwL-h&4 ɔ fr~Gs][N㤐fT;GRCK6lWn՚k9*Bg[?`/~!,EOR d%  МX!Ő.[[\ᚔ{ΌXl&ցG‹Ϗ#h_rҵ^ 5K/lj :4P@rO ްF-=4^l> @TUkZ(Tʎ$* ZK?ȈB? Oy67- WD.NM-9kͱtCxg+N4r-p8 f"ۻ!uTս %Kw-~H_ $V<ıbrRA=/mvέ$,,y Fnܬo0m4t>Ie͝˵V,Kf^$g]JK K'>7SfѢ {O\r2<^{580j* f) {{kr( C0RkV"z |r*s"}oZpyj{Lfygs_}DCuVAi^ws^2!{m!?QpǷ"\_ӎޔi]4 NfIP.ڤ0N˄Md?bDuhb55?L)}CoMM1JEm/)xd| ~+N2X44GJ҅K/ecV% ?f}? ŗq}^׆wLn鞕oYTH~qNݻ 2ґ<57UE~CiKE9z28}"SN}ɳ^himhP s+υ2Rם)sY5p֕=ύ׳ Ybww_д=gFe&"5kk^b@'ͤM3d<iKH)5[驎p>3Xc$nU9,-u`tv*`qlWdqYikm Ʊi≠ݔL؋9fKFY_H4sxCJ*[+'j4si+:t(Q5 ͏0}G''IaF(:Tbe&fosehn3R^tۥj<{Z~#qqDO j4KK3 7OIA_(6؊ zm`Rjܒ1y!p {|@%rPv@,}CJaX&;]Dg5_5uS(U.Dv<ȝ8 < $_g!TYw^'ie"JXΎsy ꘚ/$?5ZпsE੃wh5Mqa-הB<=w ǡ2eԏ,jP1 92Ad'VIyOL郏7tK3@3+x ܑ*#䝡W~0KZQ< Rj}@Xla#ƮV[*uLm?7ޒA.YAm 9xݸ*@׷,R>>~Ӣ|BӇ' 93 TS_7Z8Xzj]PE7 QL$pQS*pv%!VےN!d[Sևqw)P ߭XK3^@A'EH) z6+}nN~ìxc|L&d9m꤉T; WeA~867rr 3 h%I-rO~XǗ L3#&Z,L(IR)p H<9F^ M[&AnB2nLl;iҙ~\*cMnf .'ȓ_)T4e$Te=a_ȼ컪ђ.{~Wd[Ȉ3rgdZyQd[mAj^@__}/m D:^BEP-W ccjcOsx~ҳZ3w-ԕ}o ͯʧsE.ԟH"''Cb#R2 Y㡚+5M|UAlb&&2O+<}GδfڳOq8sI: Q|fZ27D&^TGdGSud04U܂ L "c<-׈FW,') G~Fg~L 0&]2?m^\\ڵaƕ MwD)L3[͖)4XVn*F1RVge0.2AzʂU_%2 #DW+\XE5s|}J/&jvsoAz\Lg>"x ~ թȐ\C)#g@[YY}x?9|=юz-KqiMGƜw&p>PTG+ݓؽ9}˭z|[2(=^ 3r-[ϊUzfl:,}gxn ҳsmIkTXufZq!U|F Tᨖ38tPeEܺ[^=@یC{k(u.嬠Kǟa#KIfZۏEIz׸+[F2% EVFb^ooxnK^;KWB\ :^1/Z<󖍬m/p@#C\F{t2]+6mBfͼGӹ:ʢ,א^:]|>$*X>O"'< @Uzn4Adm~v6/Z7gmP]6M-/z?^EM? p)fso˺ꭦ`Iy~/=ypj^<;v.LdlE'gcKqU.l)hM!lFNG/8B@.Uj/fCοz13a-T%=e:R {t 76kOn$M9`mX^O.cȸ4vqpDF>0悕H;m2 nV'[AW=8T>HXԭ^ p7X cSt^Ơ2N6 -FW+,/h(EYGsF0:*!i*HΖޮ~E;f8BLCiqu(xXm r IM'9 FWԹEk#p'eW.X/mN^GmkkfCUS+n 4^24R]}V]v }=⊚ܜ211xKf>}S= mM²vWdfk81*:ePĵXG6̍^䷽ҳy\i@5J{։g ] W6Lٻh0 dV⟕_'ck?5<`GZYtgq! f4`D'`qKͻZR^ H7Ƈw,k!=BlI. 6#'>96g_$Kzl/ ˾u:EWxO Ԑd'_!Blޖ4GΠM]h&St8k2FڨioGn  9չo aZWu(Iy^m,[JHf؟v(Jřd XrB"!C9QDuԉ2jSVa34R$(L;o}En7S$ƪ4XC0ǯ((PD`J-T_m1^z?>{F<0^&N?O,N-c#]bb2` [$2cHV: ;5NxzD.|o2Kɹhmy. ;Q򺂑|Im(Fn` xsU/2܏#CN ;H\AX9LA_HӬb9HZڑ"|{fG'ʬe؟_J:4%IW` fQӅR_Պ4{[9204cp_hWLނi9weչ` Bپ5N'. _}̙,'&YAܤ >*=.: 70Y&5 |Np4[{e^1E21CoNZ1ZDuKT5iX h1H(Djo%6{jyI962TPۛQz\mG,F._ ^2ĩl'xgqj#4зo_AH|r [Kn3%̳mq,("b/Ƌ!(};%E&󽂕 ",:CتNq̘u*NixM8y8n?-*LiWZyd<^]Pc6$a~MU<;^.=&Bt2yx`c!|9E*= CV`CͤKYT!{;q׻yj[,lc:Ʌ\{6vHv~VCPo0|*$TД50/P%(srɈ%UQ%;3*_%bsl&x:nŀ -C0n.ɂͽFgt:tՑjj%}B9V0ZfGY#AyU'[od8! jZFԏb !~H/6 NôsDpG4HǙW8((ј#~q%dpP=\Ѽ0RS&<SMf*1 'Q`vj^QX:F w8*UoPi3wNlvCJF˭s!-:nZ_o!\pg+)!-9D@𧮵޸DߝR$'ځ̦ _!{p 744&ve߹{֨h8Mk-gDۡ*0K]WZBu@Vyᕥl"3Vb]4͂K 2 8`xH)-rRk!R֭M"34m9ϞHq%SFR%ٿ򆀤Y8W<2I(/0Itvre rA^6rAR4^k(;ҷZ|%j `9))œ-ͭ `WT5$H|FgA4ĥ08Op;p,>#ǔto/kXp:ޒa{9}egoEѽ\ZXfQ@}!x\ QFoJ%C_AR;{S<[ENnkK# 8-Zr6w¼K/%mp(4> }Ӎ `Zn|Bv;nHS؃$Zf쮔P!jRO[%J-Dx=\u_9&/F1kVf]%16>Lijhc6ӠɐҚ"1얳*c?rзSMAݫ᳒$$q#3hT) i @YŊ7'O>ZsORkS?`k[ V>#phǹɪiڏU;'[s䂬S+1"McG4H2rkFoVqe"gB1[Z঺&<51&s~æP_%Oh+>o!I3[,2i?y5ַuabh0٢V?ۉ(=jb]A$ข