summaryrefslogtreecommitdiff
path: root/scripts/Makefile
blob: b5418ec587fbd2cd6ca6896b8868b93f12e59ef3 (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
# SPDX-License-Identifier: GPL-2.0
###
# scripts contains sources for various helper programs used throughout
# the kernel for the build process.

hostprogs-always-$(CONFIG_BUILD_BIN2C)			+= bin2c
hostprogs-always-$(CONFIG_KALLSYMS)			+= kallsyms
hostprogs-always-$(BUILD_C_RECORDMCOUNT)		+= recordmcount
hostprogs-always-$(CONFIG_BUILDTIME_TABLE_SORT)		+= sorttable
hostprogs-always-$(CONFIG_ASN1)				+= asn1_compiler
hostprogs-always-$(CONFIG_MODULE_SIG_FORMAT)		+= sign-file
hostprogs-always-$(CONFIG_SYSTEM_TRUSTED_KEYRING)	+= extract-cert
hostprogs-always-$(CONFIG_SYSTEM_EXTRA_CERTIFICATE)	+= insert-sys-cert

HOSTCFLAGS_sorttable.o = -I$(srctree)/tools/include
HOSTCFLAGS_asn1_compiler.o = -I$(srctree)/include
HOSTLDLIBS_sign-file = -lcrypto
HOSTLDLIBS_extract-cert = -lcrypto

ifdef CONFIG_UNWINDER_ORC
ifeq ($(ARCH),x86_64)
ARCH := x86
endif
HOSTCFLAGS_sorttable.o += -I$(srctree)/tools/arch/x86/include
HOSTCFLAGS_sorttable.o += -DUNWINDER_ORC_ENABLED
HOSTLDLIBS_sorttable = -lpthread
endif

# The following programs are only built on demand
hostprogs += unifdef

# The module linker script is preprocessed on demand
targets += module.lds

subdir-$(CONFIG_GCC_PLUGINS) += gcc-plugins
subdir-$(CONFIG_MODVERSIONS) += genksyms
subdir-$(CONFIG_SECURITY_SELINUX) += selinux

# Let clean descend into subdirs
subdir-	+= basic dtc gdb kconfig mod
B6yy"`\j J)I]6?JFOG$Җ~'k 6YP~w'ڡأeHHCڮLE6mA9.99M7/=LM3~!'QGrEdwN0BO^a8~`)aeOV=<"Kv,4  ƳzC"@i% ~pbe>oR.\0-?#p7,/l.*I广wȂq-f'UQCeUi,I,YP+nxd $j/F&~%ԚPw&|8Y5iʐ8(~}8=k'qN<;oh0z#ىh[&v(ir |eLj Qef+Htѩ9KȮWnKtТqAui(&z21I L;ʟ+pΞ@C*q/ɩ-5#i#E@"s&ӏseKb$̻PtA_Γ[<” +ˉǛٲŃIޅpgn:7`غ 3X ) thy,p? (%́m6M ⫈7;ݐ}$s>͝ ŇX&?#!2Ӛo *`4y&7 HdBr?e^pjtxiBCxnNd;ߜݜR2ƣfV o'E:['F4c9yp10SOZHԫ{oK8E^>HaxePb<àGS~ kxu ̴DN,p^:? &Sᓫ+;?Q#؆% FSn<ԴN}n~_T4}HM>ndfPC5X zGw?k#uGFj:<oWۋ;\ۄg [~0~A]]G-ѯjڻft_'CЛmM<$7>On5Fߧ=]{rCw̿/迸` D3@,a.;Qg Wā^#O-hJlfq{V8NT䐮'Il{3zrV?~'l럲v_yNv3׮>hTw0'+qŏ9q+|{HjKr^gw+N\H{8<"KBJ&;;Pt[k}Lbѐx0v%T C12Dtڥ{O|PR\p=tώT323Ii?k^i #*>T-~wNtPzB`h.3G1H1Pi `0$F?&W.fÑVׂShuJ3HuIEOrl"SP$I +lhj&HB48(wB]_r/nBH" Hu/ɠ33g..s] moM_+fm_V^y_nU+hKlK:5+.)I9I#_aʑP~ƣ'v%'<—<LoOfrW-9-߀Iyru_728U[ґ!ĊrJ~rAp<E\>X4d4"K[uZW`*AʽE FweLdLy!XiQZ;˓&l9a;n 'zDK`Q>Ϣ fq}αxa`PۮYŷMR*=??[v0M_M=h,JOaXd,ga ['vH[2d%Vޒ-O]ۋw{Z8-&'pGv&5@)il#ELzN>wٞ~1L:+ds{%h4P. -r_b{ottdwTߜ#Yqц]@mleT Kzxo8(JF 2y+;d+t![*,]|"uH{7( ݶ $ߨm!%b<ϞML~YUxf }{.o<' "-d=JwAf=b$FlYo.!mO_Bx9K M ApODہ&-B l,ӿиVv7 AY;Vjp-$mS*wԨu/cT_:mu`Mo"#^t/*-UD#?$Hs쑟xI[Z%+Fc&֟s*2J湇ZyX-UڪW 5Gá]UqH S d%9 upU`XIf Co:F؎D炊U^̉22,>7@.K90+}ôcsN︠+֙ŸF4oa._P/b9;Rdj7Ee*/5}uփ]/n(3\]ގt:r곥Yi5j輴ΞӼ6f`ho]UTf'o;v ps'&[ZyPQԠ $mz-(4GR{TbSKud:SfȦf{QW6.Xa~l6:Z \wŴdn6?dt. 7MRoL:AjV}U@] ӺHG+[U)Ў- <3b\9If"x6o_hF+Q1V#\&ܑJo"$µ J/UϼA&>9 ͠+XZG:i:+U͠g}Fڟ [K!wgg;Ld~?ks>i2|h*dn`:'gdB8zuM|[p&2Sޛpݻ=E`MSfcѠ|$nw9ۮ]&ߣuy85Ǖ氢:ME%HfǦ=Y㎢5YkIff_ {o56k`4ueYGsa ]Z!,kdKS$,ix$N+UjF[ꄈpBIu2^4UWv!/it8E~]k{^z:g椩=P?nxCUn,䶴HB/"jˮ0/H7hhd_p,!">nإ{B΍d%׫JI.ט~ 8s*cTd(oHC)$?</ME䡜-0d+nU_h^K4`0+> %X{N2~qGPy7c4&la' ;/ѳN\izl_]{&Wדש-?=>rRkZFELkOId0baa`zqkT@r; H@[lz6[ Pл^]>qgh|߳2}hSauƈaC]^,qEFτ ma[>ɺmLqK 0ɑ %vȋtm m$C?OZŠe5fyX 608-O7iW~mT4jE^ S&y5kujv[{K <-h"vPP ݹpr%C9ILhSG+lkzG셔B]g TY]0ݠ==Ai(Jȭw 3@oWf*ڢQ&jQueYlcǂj!e]"Gg O("1rs=@%œkB ^H#yڄ!<|h)k|gn_PJy:]},4{FIp뮸}엿[As"kc"IRFKn'ۧ?2M3A r!&Gk[;\ ^_$$N-_ii?$hhzESOjzl7x#)bpjXU.G ]`VX9yx 7X iM tjIV:$TD,cH# MSdηV Pz%8 i=6I-̤IC5vs'M2x!mdd2SYY VuP2fRWQIJ_W$EI3U*d FRԁ:s8L4ba&K:D IG.b^}9 Cs"Z➷";ٻb{[jfI$}=t]~btC1[$C!p~xT`#*5$SCa UdLȇ 2! hVGġ-:V枭v4(|K1o7=;hؙ;Ͼ_HWo+ɾ׹A  ;C֑ςEbMu}qN$QɋJܳ8 ѩHws0UUVͿRmaɉ9>tQ4Bx6Ri ș ya,nccf^?}P1ɎdA=-Qalnu #|S};ZfdE/\ZD,2TKG2#< l/ gC~ wp8ˊ!ھ,=eFF.oZx)]x,FZjUFNU@>eeZ`Aciuy^L^%jKA FiZ] PHcμ<JpSr7£%+v.4(H^#dntK8\ܙ<:& ,`6Qd3:{0| [2/Viy{!޵8dY0w@E`lpc^)ޑ3Ū=;43ic$pGCܥhm63JrrȾKrK|Yyi[Tٜ=~5h*zu4gk9<~s!&fkP#Rn+pLWM-`3C]k Tiڍgs'Eg`%!X*hCK$0=~=}0>-HO٬++}jgWVa<\cLib{I S4|}HSOK$B=.)•ûK9 d2vGb e!/gNŒ`¥tD#nBp_LRs^tr. >_=r̮Cԯ\!@m50X~cr!*/9~B5O!ЭF#F\d皿lU^&!v'A|(R(՚F8¹s/Qe>2Z1aDgb"vg- ;BIi29hf; bzɂۆ'.hr;'A-s'D^=y3%H?`gNЕ N<m﷩L+>WɆjSQC2PAT>NgL{) $/c`=i08λ{$Tvh1~,s׶kEPN~xdp9) .*I d$?zY$׬OQ !$,-%A}f#hKPBg;DH<gc ٰ/iJ|:N zh.cvɢ`ۊdzrw/ ^\eCCn-] GE6Qtw;10E?DfkrorVP~G3z,O)W5[;(=N,[@S78#)Ca]QmT &9 #UH;ٿx+NswqQW1!IZtZi - X pCK8^ ШE] nps=sO\oW-5=^;;(2w^(BQ>YQ=\)6RshLPc 9a|6KF r24$.aXӗսY#7u;"}lx՟*d <ŧ`أŽikoa bOfc-^N}=19ڣZWUuH~oSmvk"'JfxQjX)7Uׯ)p _=[Mv6k8 z UHrF>VVg{@zg,sy0M(G@wy k ~8ԈtV=r1g<`,~2=Ge,]P+dB|lb f@QާXkê#}$E4\l{qRqgt}H ,o$JHIuE* 8S!{f Lcڇ鈔=jUTɏvMS;;'}vkG>jh/OELU38q4JåF\'zڐ,z稣l+-E.]Lֳww㼐aq/;137GҀh7S@,@mR/!i H!xtfko&#E">Z([ۑ{jV岴rڲV gK J09}8adʓd[L*d%M :Zǻ@T 39Mk jjlUaFD}};LrPRsfԑ-]npk 1*힁*/HN'l{K}c8?%k؉|g&ǦCEiE}-ܩs/1s"8@xh5?(D\tMaٌBm5׬ty1sE|1c`mOlS8H( '(8Ҽm Ÿ+Ze$q:ynU2a' @%_s`x-֙LS~~?H2e"{lNܒcusykw (SΧ쓮,ݨU>kN gD3ȮFRJɩ@>)8|} :GpQ]ȎHBs^Soz –b|RQaow ]$ Oܱ/3XǮaI!ٰQIE _Wŀ8RBI;ÔFA=9< ú,3jvM:'";\\n[=3`_(ާEJ6t!yVY3xGj:!><,\l᧱=؆F\kI WA=:iǻc]M"T8\FPkցNSj2Q]jlX,IЗxEEIbؗqoMrXlm.x"nT<h3T#Ԉ Ln֏LypAIRs.Coz0,]TJhq7, v,aS!@dE9kS iewd6<1P, P͠s2<g glXvei"7Fz ~V nVWCC&eld1D㲋govn4)gDANs(S5K8ͧ.nz aiL Lo׆q䒿tk6e[K6A_ꡯ~M8)p?kZ t"EF!)ꂄH_"οr+HB~[I%g_>WnUgvް P#>tv`뽈H.D>W}yPk5C< YM)$:ҝJk$O)냯.)f6 X!sɧev%WlEM1ydTf fВOYN'iFmUeÿ !G}D+j7'F_poγp! '5}&K˻uEf?8s=wp pgokFn@"d: ִfx,Bzjp;=?v_PN3]O( Lv7,1_\[[/tMHoa/|i9=Dξ6N( s(Xrl;c5f,H`jdćȀ~JܦH^qX[Wㄉ:2]m!\>:qͤ^š5c\x ԷO"r9i}$IVP=ؑTjr] ;qWF U?Ia1$"F gSUir(ǁ-#̦UK,1ӊTb!k'\X6R D-aȭ:dqh@'|rv6{W.͞YBԈK[=EM ߸Q\uh,R3By֛//e/ 'c.Ѫd$oZō8|‡lf^BfP4_r{dplfPyx2LO0S%#fKJQES1L]WT$ڨ a]0k3Fg -v%|<,*]1&us$TԄ@8;_g21SH-H3o T®#P7UXiT_N7gMa?;"Hf[o$,vys2n6~8-!whpmU#>]~[wM^CM^z%_ʼc~Vuwec_9 FFzk(_j6+"dY^ =#,O6[Fl;su}^ςR8vi!zK+XP8 3.P8muee̳,w;3WqլHlYUA F zAmUMgIvn DD esXÅhn*O_j$#z+Pz8},%{e@?ޑ 0Ez.8&СWZ8q+L'i tGXu%,cbE}v TMIjq~teAϑэZJ쾺k{0#0H*ZJ}>:Zyǰ)lm~N_YܠYBL{oM)!ӇJ@E1"<; GcA8@"Y45_?*s'EjߊPYڭ|g[蓏6Ȉ}M%78l?D܇Z^KixѤn06:'8r=8^]=cC 4ta~]}ї]v PCզ: -K\+9^ uIUv20)UDZ>vw%pO!8|,3ht>~#;`YK`Uؘϛz,z}mW4̞>vFPl8 UFj5Td6=nUG^"']m+~d$vK:Ks(NsC˫Ҫ'bH)H"sFs͋Y |kn3Y-- uY_*Z&9ol:Ɗ&*;6.ȧ"$Y6M3UZ-`L7$H6uD#ֳqk>,]fLV: L޳h\&ts84eapіfaɗ{Z)OL+(/kgeM70ރ5RlT=?)ГJ9ϺtۣnN3[8!|)'?6HK>ʓE|/oD؃kA{+Ccɸ'98NsTK"y'?nw羿e(ƇTEF[\L}ns͸X$ГN=41 mEpt(CI߲\p̟Ki1RJsn({T"%$鷿.l:w9B{ѦO)?zlՏdP5p4uC [?81JQکUVMmBq)ERA[:&)ԩW[eu'* ro<$eMva 8sCIdXGt0QWmԚe$t l%==Fv!9Vr\:R0m][j=Q)v!k, {#=R"Y55N&ȹSp(W$kgKGgud+Q*ZB?4)DmsSm{S͓ԛWy?64 i0>GN`]cKSJ ڮIvuNTwͅ+!MVHf"!ӈ>w@ A[ i9VxWqnYam4I`_F~ޯR*>o8mI;} 4 RQY@WiXqZ51? =RM;{bg(8q9+w-AV'c"d6ó^J;{sr)SK oxMEnqJEX|HvIqJ+TMHRYsfRO:! G? fvv(ђd) Z 3׽X$kWuq Qa3}}U!9F! d;[x;hʠZV!HѠjrKFW'sn{p)4kC+5;7Z'}e@;|h:E;ax%Xnۈ1JA4+L)!0z.b\ҨH.ôKN!h' R4*RC4n#vvwV4)!]vSZpT]2V&$A&L7oO_9]8CKMyXU6)쐆"1i6YZ- U%Sr1 )ȨH(z 9s[@WN*<:1[7Tg~єkz[cpj9AEpOJm I+i+LK)`;,***%.],Ӱ[xn)L7KtRrnrϊQbPW(a)<~+LF%ntnAL\=T7REE =$\=/vopυ}̙%Br˒7l靉mH'\.fH*9GʿY< i'gz\q0F֙LKG:F Q9IԒN.=*5J#e+t ID=y~)3yR#pc46XfCp놂$Xۙ4+FLvG}Z,W 2ZæR^}z}p),a9GvܓcBz1|NQ/:g:exyf^ sWI:M͞FSљt@c1EXH;pqaԫkB//Qz,6yVG_Fhla+5kx᰼+w*3\Pgd=@Ӵ:Q5 ϝm z)#Ω*ELHDu 4GsFׁ}Ф(FkUu<|xbZus)ԯ&4dBRETF/D a:zD \\0TM>k:)_lP:,,&O4 0iv4uLlmn =Σwt&(̶AMCᛵ'dXbUѼYbtWCe.;OalQsLHk`ő_DAyUa#4L譌,R2U|M _VT9GZDz#c ֆ7d`wj2=)Y"= r'{ fj+H]N`3BmX4B0S|Pd#kOhde,99C~َp?pz~(ÕW{GzgGtЏPJ%(/rǻt"&Y klڻЫE'Fr Zco<8Ҧ^4U+eY/[PqMH?K@X)wjHl~C $:e n?Rݽ]U^v@|@BhnS2 z{hu b kTF ?~lw=m<'[tyCw2xZ:TcxqjVkjT2@UCNK2[uDÖrc3-]AY^}~;tZe5,SjS^lFVBʣ|ܝevْ440ߨ5{PU{jݪƘ6E@{I^j͊L4LL1N_Ear.|:)KR+RG u4*Ac K`I*aҰFTVR/ە|D2'\"sJj{ӆY! QƯϵ${$U]hTEsg(r2SL,&Sd{PgIk"ZlN篹CFu`G {A_ ǖ?"~[ɖO]@@P:̂mtɒNj\Z/#QP[/ {ŹHK(j\GvU7V']9L3t| a⦃>tgoIK`ct9q|ؐ` |kXizV\Xp:]C.@=dlnX ZMp@fAӇqya$[UjzmJ8C(pot|>NJߐ fW~O w"q+j*ѳK&.`JHnirY L϶COLY1b?5W:bWMٽ1-r&LR{mu 4|{5!R޻i/E@>?Я7XQ~rGZ(ݕk O+w^iv?%3z,*<ceUX1SiXwZ|` U2* [P|PI&|jN(F /a\DUq{#^#NcwtLsnm];a_o=ַӮBc?ǧVB&gPfF~ E9 ѨUU0ԕ{Z"U<^2}yJe矝c$4ʹ"/kb3O}>OpmNkR!m' "/|; q?IO[v\хߦ(CpH8OX {IJdަQnYb/TMqIJr10 aպl.τI顱jNLdH{e-S@&6 J~glϟÝwR_@ɗ^ʕ L]HvѨٟM$Ѧ^,iwOh#es$~P2KMFo3-Y(6TLȤۅa-F5dve0cmV+/n٥g&ʖ*ќ\Hs[ԿDζYΏ(..i }r ^IҾ=ZKtt|'JNKR9=ljdհ԰qĘ1[5$w5%t)Z`[Jσ~maL9ok#x7xt~$a5$umu8;nTYh՗ng>I>t^ ߚ Bf5'NhCz #yIj5IϾޖ?a`YCA VKJ$/N)4.jM$Ä2]&Ok-͓ MȋlMhҗlK1r^d:{g$r : i僺箧5ʝZ?v_mW(*SO_L^pԥZS)ۄ^WʝK[잏~ږOnbl m`O[?_lygև1i$ o^L \<7*q$:b8-""o:8G7ICat:eV~RRF~b_bAnqƪ#0 UoVQnpcG %ܷ-#6f7ff3c>JWI|LƸ|2D0, ]V׵{rXIjnwGS#(V˶k f)X)![Fzv‡" /-Zk%6-D%_.ZHnaj@&蝌I ŔAYKq֠aOd'moޏf3]4;5nRpT0=~ tPsY}7 +rMe X-BrlnEvb#3L-G1\H_lTvi\;g ]MF$H7={8))t`b= Sِ;}N>\9eu'ʏ^un @R N]g3Fz ^^n>'8q3st vt'PZ{O]D+Ow;/ "_+PA…+5/r~E#IZjN}ވ?p~ a[U5QfhH2hWt-v.*ayu%g,X2IoU-0ųc:z _IQϮh7{ ݝkk@Ƥ;$ Mûd(/h@P^|J ܶ[J9ܒPovM}\B'3=>` Ɏ-rVqtøP-Gߎ9?$o5il $z( pdp&-JrY{+Ŷ,% =g#\yN./dGt[5mo fe[sZۅ׌#羺0Ѵ5 ~e<YQk( m[R]l0OK!L:& f$+GF}&/*$Fr̰| ٹ*xMz@%&`>IHfgyfs72` Ք2 $J׳<j銰RȈ*W8uCֽO퓸@8Q/a&WJEO A]jRw-6Obp^Ur?NՏa4ggd~tClx]kr=pZ[& YH&7ba&Řޤ%_R~uLlL#& 5K@Bfh:2ER*.pulA3{Rc um+M E_%Ħ"~I=1ݠyCFV%e,T|~:L\=@OqhN ڭa}HrfS 3creTzUӎXu6-4GX짙i"O?;Ie7Yד^L-vrS-H!g5dj ZFQa SkS|Kxk{*^p!퓞vͩ99ff^$ޓ;GxnVrP(:L*XrtAA\.=Tj徐qoPrrD$8' iI7)@dRk*SB'kY : '@67c} ")ٱA@mwt7CZu7jjD>3`~p> |_ ;q> +;Tr"Q+;lhĸtMC5uM r${uyt\1O6tGwAY=hjL74MtďNhv?!t;5da,Ar,hu]=# M<"s#0@-t) K;GD=K:đڐU>Oľ8-E"su8/@.:閈`KwZHu L>6长1MlX8=yoQYEi]ZnO,YI(q ΗSy }/B;JGˍѶ16f 퇚u\|#MtM} F CgQQfjThBBՒ3~::8d@9fr] ory U?wy4goY *]>Zm&`N tvX y̙]D~8 :=]  xvQbr7㧝bV04O 0^!@\S03”3(N@ ŷir#^Q@a磫R>KkNN\qXo~Z8 [u|M/@A4ΟW9I;dȐd)#\7;I} U1 fF5 ǻI鮟TptEc>5r-\ j1l'!m x Y2넀B@\ +U_'zMZ)[vo=D&1-0E5=Pΰ::9`t)WotQr@F[8fO+M2C5тwLxR89:\6ݡpxߑՕQ}RM ZF6#'Hn02  (*nfqmI I}~RӇLJ0Gkhur8į,moqa=n]9_210@7D ']SmB'C͍JZ>Doi.Q4s2e1Jd).PNd2ߍhCw'|mmg~]_äѨ Ƨee-K)iqRuOG}IQzC/p&Bhi֎6>lBҮ 2SrE ñU@m]Tz]Q8Ci/AAqQ%٫5ʕ_PO4]m)qsjǟdE޶X&S*Q{ d0'jpOH- \. :?dZF40LXׁ3u)fin$yX+'CɄ.^iWj=yAV+q=eZ)*FIoh?4 J 뤠 n!i߀ Pi]ݟ 4! h+-을z4YU¹| 5U,C@; qnE& }wtG@O7i@)j!LТO>ŹgHWڶ<zM~Lgi#῰cx W),&h_@QiO&ZY{EY&~='_hҍɫ)Fxsуc<:=JZ˷b\;UΟZH7?N3 T6UZՠG"S$"x r]zg5o8Ŏ/CrSמW~3ًү;?bAsPG9Y()V{vW`n$޵BeG$V_$yY!zTM6hI4B@_95g+- ^r"ƚxe Iט.޸GAyt|Xo㻏o V5:dw@Ѕl,'v bȲ6LRO3b,wJx/;å 9Z\I<0 R]ojwKrV %G .5WV9/Fs;[y6YxJjCp~X,˜%KSJY*x jnEw0 Saql 8f5-hCHKiM[7b玗!!b&drfz%X)1GWdג\ɤn|hYc2d'J|t|N(;GR>(EI/F-Ĥ_u_tf'(5,%pFEd0i4ɯ#.+mzkusq J3oZؐΈBԹg@"qA{rq dYK0ymlstVV'/DpcC|'kҬrVgFnz]+zՂT^DL)[.wyS??42O>sVƕ=m7~~a?$^wsbY9(m͵,F<eo{c?8C%W8?#;n=:_k~i̦Z[{6 o3ӉD,^.s*bˀ܅Э { 4#ՙ)pn+ͿCE/ `@iS ݚa.ӰH 0X8&lch¥f8D J~ׁæ dMm-l^Uvٻ>m "oU{RG3]ehǁ.LCXL^|ݛšlNFg6c  Gg1Uqg"K=dD;m>^.kNjPNCFUUJuFeͱP8%w;rvZ*(.OPSF՜^0%O]spb3QMM ajbY䯣T=#CԸn%VE]qޛ_Kp… zԡ:X5G9?)1?ǔIyA=55m|9MN(\|?n -u4.@ Izbe ZCuU( wln>Mꣶ4/J6pIwW?tݢ5Zݵ﯎x gfφo&^7λ 8& 4ܝ$=k~FuGwqB.z9|ܦZ r)X6o~$-b?9^&kIf".$^f5JZɥZl@ 5Z/; #"%Z{4lwLqbi?kFgSS bshMpwZKf-)Hevggyp]N@ onA2daߑKd? rT -fX_>ǐ㬞,CzݏHj@0߮KY7뒑F#?%&?-/`W2eN”Re GrҞ~~(|3 ϣѵItV@hY"ҩr.!8FYJôq|qtGgi#踄1is9R$x]zW$vBTqdm$}+vA-VRm7sL2QދKw1҈< r&k{ +p\~d8*I+wYLt S@>uuҝi2D%@LPf{Kj i}]US(D` ,'Z({A%{bf}8*%;Wԇ%zS*7{}uncsulBPg96.JeX6`+VuRG!`LiU5hz&#]l3A=u5%+"Oq z"9=- S y8=2{Zk76T3)]H타wZ';Jсɰ)5a̼WA{rQZ#RB~CGdմă[@/x9_c ] b]N*RΞ^v}o) do7shL!KÛR:I-ǽuަ((F:ԨJgw~GczaOM\T[Lr5HT~nHp%d>ӁJװ&"qseD3  T~I\bT%mТP3;מ_ɦll{p0[Bs+n{MwT ߺ<^iܷpwoͤ+ imgjmLxSx6AP ?%3N1Zf;CX`( ";tW ;0]$>3ܙC+;iwz8`_ u \ {>A=K]Vi A0dxTJhHUѫ01īq̞T'w=aGvGuڪ߇n-7TMvjjuj6C2خi& C DrWٖ_ڑ9eb|@~(+@38Y?CCů%N #VZQ{mDM]s n14$ QVPo se%ޯ,J'08Hc8\@Hbv#} s?XoԬW<9h F+EUf:AD+0*[t*/<7(nql;s$33)H"[9;ŲQkЋ5"}-5jyC:l3e_(_4US~RoVTQu; Ec]!3"wg(87M̳IaKP-%Ui/|(Ͱvw C~Y)h-Q.XG,FC$7:z.K[$ڙe4͝%̾KIouyl뀫hz+NM}~T]b)a~#Y7>vH"'8S!:Ȣ}9Xt,ݛ9 I*M2P94]H>ѝ}uAU:Z TC'i +εiYRnS2cq/˵;z;z^&ԫSܕFC*ȳ({|sbS$O9?(Nij Z{%OK9TU|=Qz\X<3`ZKȁ9PeڅyЫ]Κ~z'饫s|:3io9Bj|5S2DC7󐗄X֋/ٷUWz' ע[Zb: ij_g KDRR &=u |k(Z֦AQ( R/= uuNh^Fbp%ub,>+ډ ts_`(*niڇi7;aZ5&I%kS[Hз)WZ ` ;ݺhنOr&xo3a-_;VI OW wAhs 8<3A=#yFӢ݁ Eih^m­%oғV1\l4 TDjH;` 48˖׏_n "ɑh4J=lA8LG1[4Iyl79A |%|MÅa&pL2!o&4a>#y2lÉ>ЗH tr4>]3֦ctTǔNא{^evf".Ha<{ط{ސmW}(S M0:WF)=Dw+]4q}sr3x0jjG$OjdZjɴu7n1P8묝mO4}0ʅ-@f듫ٳgAB{rhyCҐrRmTk4pv,.A{d$G>9WJl܅('/ N\'Egt]eO#mυi 9l-f;Xq'ϔ=YHWqL7dk9wY@fY.ϠilZ?/:mPLo-fc؉h65D" "=v!{{ W$_*qY3WdElDa^& @~Xf*E-YD%2gy06װPO[!!OHScNW^ٲ_fIFd:1;|7\ nz%?RGJm ~wGލw1Rx>O䆺"w&羵s Cǽ="P#n;9hkkۥ].HRR'hqމ|0ڀͳU@^~nq̑ HNVn2VAv!B0ZWhjTkj}E~6`=DAܥ@}JŇ<%/Q~N.4ӛLmm$X(Dk4?rk,:7x@LM"M}b]ve-4>섢< ;uC{wMŌ-Gr789$"_Z&+l.rP$4A`1ɼ\R,= 7u%+CO(P3/o݉X_%m .;aFaS5gT4 mW>;UZesY`3~0\jN.jנWt9Yt=ABu6O]r, 4Nąa(+s7%@VbSK#XCt511 l (V}7(UBG -]]2|) ˆ%ޑyqfrVņAg˜UofICcbf`CwW^1`rL>|9Md2o{4ޤ=:O49ax@ ҠHi/ZGGPK ]c_f;հ8iyBPwP =A?JGi-_B1'S&'7O(3cM5'){]Z4Y!AG bڊ&"Lfz%;dO"I*fE{q>\ʊZEKY_!р=:`K:}w-r'^-ik{|ޥY5.58۷\cV9SϤT3ZRTL,FC꾙 )0[*tzQK(hӻQu&`h ԯ4zOkM2?$'cHҽ8R c9/'fTaP] [>X|zr1h\N5> R%r F@A$w .yK=|.d 1$cȣn̸! >-X Ο;PF1^0D˞S~.Q>2TOq/Yf]]H_IRM-<y:FH^y%Ȝ2ºA׈_21XS pT'.Jw[[šk\f;W-3;lYW'6jZR:?aɛBxvb]G9\3c!GqX)3MD"^0`㋨+0"ԟG/qoi`rfx`潹BfBkf8{pC!n3Ź` r:ʛ6fݓVk  [9?{7C54 < x#̚uEnȿ?}!(z ׳lmC0{&l9RyX4 f0#O F7& q^ǣp]t2%A$䐍r4~^GYu5sTCW?K/RO'Κ{YWnk(-yr+䛏A(p}+CXwlJ/.p[AmwΎ,B+ߐH ɂq=i^~:(@\AZ8erWߔ $%]p}gJ7i6ҿh|ahuɄ+:MXf`yO݈zX`M|%2޷E0|Z?lL<<FX?X3 GNUH$s2[AU SɥoCZOQQЏF}r$)FD#-!*rN`A/]ᙀCAf0ArrJn,s;zb AϰJ؞Ys"|Y~6d<8(B@1ti:B/'#s WKOR^r9$5 I]vTU|\40ߗ{~AVf{ SwҲ̜b73UkT jy e[Mn']>͘f&prs*g}P@o2Lm2zon|@}`A}BQ[j&Lka-heuw,>QZfW5.\C(?" y*-R#F\n-2`*{O^KsbRe $=K/s2~O2̓flv;ں7}"}I-y!n~=F%b#޴"WaJf„rx&<Qώٵ7~7rH(4z3Y|)*) xt~ntȓDz!ʎJ?c]34k}b>J8G$-ej>9_,vl[ƌ)g<"duc.vsx(٘Vq3P*kGuv5 `%ծc w}~LJ/XRV`JdSMGocgL#_Op_ aPWtEMf͉k/nǏ$|\:FJ}1tIu:ev5~I*D ~tU_v]G*_gxե+ V2YO' FƁYSQz`<[$* Y@GfCs6g ҟGRx$:y3ҒZZ^k2 `x.RIj/j. ]+\,vgY3%3ngVضr{T1l. u‰ f ID#W̎ [ SہzE|{FYƮa-Q&)"GCov)}B5U7Aޠ~Q{GDahJէ^7.J<;|%U06]#9w jonK&/G3 J? g Rd t^h8g W_@ ]>Ln#4:ת2fn*fğ3l+AAiBHNl)tc/@wh ,W4ڕ;QpإnͶ?UZfcQaBqPUQ؆lwd՛ g(¨L\c/L+N0g٤;D&K $\?$f@Hqej1,~&K_@Lgc7(p~r>7u(pv;g٪(!D.Q~)z.o6>Yo(P7oOfKrG);ICTh9 Sp#.X(wm0.Is6tŊ$tkmfzD>>d I ?iJ]|}*ͦfWt4QCW4]?><`p][TP:g?tX*fN>l !Q&4aZ4|S _U Ocoy΍_ %=[dnnbh{,Nu oEџK=_@:Lj/ERuI,R4TdS}%mf6uӦx] Ag;UPM>@P`d:^1) =%Qr*%֑^6s/$s`8IFk>^Qx$uRu;%>>NfjjШ UYrt})Yj hTs4i\P8#j]KtP\t_GLs)/ō3_tbK,=xԽ 6CdFM}y.ʒ|5!^Alo̅1rW[j5j͑]L,JrJ_}o+yQqo]- ', '$4-dtEcݯL GSqOIe.Տ^c!i]rJ#hwGx+sP W@p>fyjI:v_ȃ4lt2%$ճd?{nF/nL~w7&CnA 9O^jV_j{ONnumS ^~=Â!~{4~ggwYR5L^@lLC4lN:4~rt{s"ݷa 3OvOrCH No7(vd(lcse<h-MIiӳtO,܄FI9t؀ţ5jֻ7IXQ]4ZziTo"|֘}f2 49fts5H.+IbE8 FBj8cAS#%NfΒ4Piސz2$5Q6;{Lb `Z&R{[w]׺j-W;#ʐvCOFEߵ +1d[e`~>jUrjD:X +͚ g(r2'ҫ~_+$FLpvT3l9(͠WcC"7Ro \k܅[x8O >ui |%W p9MvmJ# D58xsdD9¾<|x픷`w)r';1 $X^۴?H ύ6; { 7dah)sßZ[M>[kWy9`s?D>kXVE=4J)b۳8T*j'٩TU]Nv\6da dfzC Ez$?S$2s뻏5ԐlsZ:9qlG KDd:F >ٟ֦ґr7g)?wtY:.V~A֬W͜3N =Ѐz^I0o (j8Nf752mwMfrv5i.,@o`a}"6Xզ˯y8 !Ϗ%s:u'd|Vƪf 11#5m>`9 ?h]5 {&v}IYI3 ^>/c_e|Aܑ]6riMh"[]s#;' >Z؜6կrOnqnf yk(f [#ǺdP k F4c 8g˪ֹncZ}@b.Cz˦yR=)TBK nISONw9st=e!GLo8AL$ϴqS#KاD_d6,~a.iJB<>w_MQP9"r,i\>LvcCOM$C~Νqnܿx٨7\OO3JrIfy,^{`Qd[#!GGCPݒd[4ޒ NgdGQpgF{9jc>.h9u,b]P*c5#x9(7ᰜ_<97#uƻfN+'.1+=8s RVrP]0̢wGer;+ήFwȣI$=I|cp(K^H=36%^:MP.UM_zV,[:L?TN4tXi֓ZZPj;g譸^20K!]vz#OxGgf}Jr5MגWbV,ǩ9"䲈>`F oYwo+HH-!)cvp`tBܵ90Z>MŖJTVMr8h5a9\07+/" 1`B|;0ebg-wՓVܧ1v]0әxxa##q}9r4lҖE~NS]wj'GBnkrѧk&-y6&z?ܥt62:Nyh!i^f(%OѳeK^cLfe@׵vԯ#:Dҋ>[JqjKIlg1wˌ3dƻk^Yk?.'֫ qcJ6T\h׮IQ=\`rG2 0i$=o#EI;aRLkZnOvOt$e+M@K_]uk]#v$N(1dp^|i:~ԟpla=<5Ϥ%r~WhGf ALlhFVV+.۪&M6nw g(J4RM ¡4'o$gOB njX}JZ\[D1g[U\l˝<F\բYGp3AO$(ҥXfd`oo0-L~ rYKcj[?~M. 2(<*9_u)lcCwgz2͂,ԕϊhov |4 68N=IUb,;r1-G{UE ý,H~"x߭SYi j\V5rlj< EkS5:TWSf9VTyw1:= Rm(!Dݜ9ւ5!1|kA}e'\}kwϪQl׮C_wIcC!98QERGloh<_bZߦ:m2=bv$wTPɂĀrJ~]+PbQax_)8bntZGw+bZ"GWg$̶oz#`4C3f~@.Df#7'#RxLD/vU$΅stVPhI7p?!Is#4|9Ώw1W.+M*nC#kYJ] "S7s7Ejr_t>bE+D08MU'uQ]8ri9Ey>βiVy)ߺ Nm/w/TZVVaF۫Fjw}r_IJ踿UZj]Ɇx4w?e^o#?KK?хg"@Cow!Ԅ~!9ȋ]iQnvNț_V\Go7֨6?࿋M?[G\dF&5,H'w`w=o肎=r9 ؂i# d#NC~͍/fᑒQJ<ŖLt- {bںNsĎ 9!RY!Lv53uOzmEJѺ왍ZBydًP_B߾}ŅRr_f`-a 87Npu2>Kf9^S1^R&n$*F[Aׂ8\rxar+҉6>6w`94؛GZzzYiΎgs`NV踪B1P>곈E\b?P}`iV,iOֺȄ6ۧզ?Kg. 2bx++zpi >Lf!1M!ɹ` #]κ ps+[v%xt J' Bc.6|ޥ"8 d2oBn l$ ?KhV1f5vKg{Efhh7."zOGKh#cQcgQwKg\c nc}Z8'?I1PHwn48-$/QRX0sKC]2ilb acO{|mcI @OKODMvTn˒lҲYr6H$R$@ g}7oD%[%Vk+V o@,J0֑h*]dZ.ك5vzY:KFrYy)5ku]Ȏ^̘ZXZB$}j&]LVu$^׋Ѫqe༛+:ϻgNf %]=b_Tl{@T:wxo>~6ZFalFAN5 8>0>9'0F}XqFP " H2)"Gc'qc߁WD"ݗ'nQiM%2ƜEa 8ũ>4H* <$' @){‡<:\fZ5A<:&' Y>RG\>^ 7˪KS< C{vloVUAѢNgjbt fWW{+vJ2/1Lȧ#ɓc2 *1g4;9l*ax\K0n'ě~)ާ>v*3]0߳W|Y鶦RpBP^*ϯ|nǽZUȵt:$>#?'o$fu?sR ?FS4ktoP9(_Ju^*?rr@ h 'w:2F]찘PlHS`Ϛ8SվuQUi@mzi :Xz('cUR]ȏbH5C+B'*U=NU3@d$= uQF`> ˿ԏ 6oUwp1 ̍,nA(.SI)bXjFH]Uy-%A)ʧ `q%YCYOZtfX+hE~'&JP}{[!3r8w+jAg}`_V7s͔YQij,QjMDb( "˽$jqbbh<$6zK#l$&_NǗZA&ЬRc%z NS}Aox [HKHa2$PY TTJvYP1 |nZa{o*$F~»Nޫ{':xfvq t$EUOɖ1''ZS}}.)\L=MC0;%8q\؀,*=2 a\qbVzxI$6.eІ~'x>q}E]07GͣÓ=,KdAxΕ`W90Nj{A%edx64:ƇaB2%812h6/`4=<:D ${0U7= qn) K}di]k G c+Xl11)^'qyezVBfTk1BzǨyjC)*p^P[q/ DU˱Ed*wLm_ `2!G |@"\Cv*z6uܪyLJ0O~.|kE"wIf=I6;QGG7^#c4U0K/951bD9>;Qq˛PC6GI?Me ?Þ\ϒdpʅ!$ƎTZ0!}?0p!=8j`U'AƆ0cTtN}|S-qkfBׇa8炲_NQVuf=0Q񴸭ϭ*>JtF}:2$,l4ɬ*Jǽc;ytǵ[*>NV}3֛Q& go[<8GNwyDտ*:U}Mh~17 7Rho~.uJ{a-ۛPC(F6y-iqO"[q2BM?1H,KڿnJՋcH|xjq #6G /7Lߥ|F%nBHWKöT=<\mtA>?E=?HKo7ewtapɨuΨ~|P} Ga3e a_ u1 :(kpHT\DVh_kK"kOMk*0=Ej9aԐlp] S8G@= KYJgyZ>$Tzr~jlV*YGmozK8˲j'&ؓrQE%GFm">!Wm|AF{WD_ƌ͉g֞?9TT\ՠβgH2Vހ[ϙacIl^=o jND`5HlCҬNq3 < d%tW?.]|BūD2T3L3UypFZ8J tF8ZDm3&8q)Hu8(nOH~te/^d ls> #vr z[ eFk0f ?`{h{kzZZǂH'/䋹V\$C]R%9bN3Y @z/0^JlSIȎ2mBFkAfq\bE' %id=L~´$<9AssU$䛗(2#Į56o=ְj6,;Xir 04;NSA9S*L bA82\7?HcΎA-L]:9կ*}/Έj1vP@HC8ss #2E|NQbrȱ|Iӓ_:4/+d4pGޜ!F S_I H=Ʒa?ƣ̈XS- wVlRM\MSS;,.R~"cfFbSHPc3pi٫yyEV(oOSx}^wEFaæ=ocg־Ϟmo<%vh^;2Xo*E|WӞx Iq12%n}l"][~B]d}";pO, Xg?]0i ]EE䞬W7*^(0|"X%w0?Grr#!`/\F$Bԛ c>T!s)CP~e|x_Z3q;4E:h)dP_i'cYQw4i /F}T17K/ ](ys(!+ƈ6&-MCƑOfn.T`_x+^} !agr Zd 1%UEœ'PNGBu;:Fz26UTăQ=,]g`F _#RIA#2 XXX[`5ӕ32V_:[#}XxP?YXm G'8m#vxs{Nd blW|%)#\4k>۾tD^p/t5]B؁g`Snt3) cazzO7ONwO'ߜ6_> nAzHw8 *=(JFqfn7Nxi0@r8K˅Gi15d7-%/mM%CG$L'64qߡ3_]!C9LWCwr&>|=F\'CGULJ?hhkUh|al=Iiᓌ.KwOo'H? ^ֶ.tgzYf+j{XgYۛjuaw^pDgꊓ7u.U뢾AICaYwB=k11S;bGpnB,r]b qJ#4AV5"]4Ӭj!}L;U~-@Sd`^ݸ Mk?kdם?)ŒYc"ck /=yIKw+%{wX^9 AM|;j;,[}&L_x"xƳ&'`jlx1 \lNVE^Љ@*({6mEB$Ԡ6$hpa:UY۔a.-l8i f hqF\C D HK9O v *{5+֬ngЍҳFF`uiV98^Ý(cl vmFa?Xug?^o1Som={r?XB/"oG7ʮuG 麲8ERj=$" /o8CW>]@c)m&@񰷂P82Hh`bcv~:wa;6JauMͰ%M=if?@BjsΣw=<[p p0L߯3SCt @ eo^Y񅸁LphcͩQ:bR3C`y[t x4 4vUX\9-3ld+N?nB 4Wg,;Cs KO #P}rn< \\Akّjm\w/NAg;G\'n@xH}Rs<'^w7&vc߮^I_Io]jM \ G$qHgIqRՏ{̧Mq=y F6T'/./rcmE|-أ8% LϳI@]yiJ%5n6xu9˚"EmUTqi;q֐]q`鴟Εy}5Wܠ;-xcDu>%̧ yˣg'=;XESDGQ< wGzrzn.K.~}!~$'N'vT3։90tFO9x9:6%H bfS I.X]#Aі)Hjd67DqP6+/f$ʊ1v< ִ VNuE 1No|vϕHO5p';/G(l^ma]bgȽ hJ?1$~W#,0\%O8/җj4hbgAv%R:dw{W06J{_[rՍ;YӰ;`?Un'笄J6(3b=@c_3_"0NGe/ Xp{ٍuq8Z~.9k7DZzPو6 nPl~  XvO"ߋ۱hN-tZ)ڟ q녱0_Yرj9 ksN t gtd?Ȕ'˫Q0Bn xcC'}t+ߡ9_ڜnu ^YA,l~p:M>Q2AWv (60DM0յXz|t S .Z3696?yY|zA@H30`X@LHfM'n `Ɍ!OLk!2DZoW/ rlg+^l'ԬV*sZxu$0'(&.h I܄4&;l^!>zAfa๋h[A30_B>UޢwēΡ!B6V5 RmXXq&,x'^]Py%G3^h6h9Ɓa ANMVІ%v̳wFzD%D~Kͩ(!B20-c$Yvˮ^L [8 ZaAKM4]XUsjJ'z@1\I|QT6 ?re{>BF#wʖ,lេrDYהd6dF~e #Ula?}SEv'v?wDnQ"n V*Vh؈_jējfGK<=>*Ո"T&5ԺSrF

𯒾4nF$սi8,#LIP<}9WxQ\\ҁ=yqWV5"/ NW}0/kY9kr\Z N0,PԽӀWz)+5_7z=RץUo -em|Aۻ}t\ȜܢUՒ~WnZۣ6jЮicoOXz:3@ Q[:ڇV~Q@GA-3Pwwv1͸oQ : 'sr_{K3Y6^O 9=7`sd?OE,B72Q`aU hIOyp0|cݪބA gS֣-I\w߄;NbdIi5uZԶ c̚ס5b&'7 |FixGqK7ܼy;E-9N>柷]`ղ} gߓ}3R|<];uF՘1?.txU1gA`Sx#TaK.]56"ju)u@@[{5 |x惡gu:TwMaLSVvBdп1J0%ol~M9qՂCLossH&CՈu;)٤߾ .qqƛ,Ba0hM$90|aqP #9=9 ZJv_申E%#_h PMq13Igњۘ =Nq dϢTIiim0S!Xyl'fm{;ʒ{xPPO\AY…~#l<{C(8Mq0 2p8IN/'aIPIGwXHivM $#fuKTQOJ\%r9}E xyucwA&d߈0kW!G{l/U]گ; pN,o|hR>$`8dL1rvw nu 6pZs˶9Tvus}&҂QXa \NKǭ0u|^0*. H󖆸a &+if_7c_J6_>Yp,q^M[uW!`jbBe(AؼFėԨMܬ╛_*ONZA<( ;@ݪCn/ϩngYǵuxr((BhNvjz7=/]P]QdЩ]p\?&#'YJ'rg`ͼsf\I|[ X,pIq"/aq5d+90{Y"$]ZDo>jl{?P 8R]B톗p4_^@:zm!Pb2BukG0e ‘~P1+I@Q_{ lLZ"rc ӳU-$o K?AT Ymcgf9zdWXqVϑKlG>:~ g]rv g >+tCP%7[Eo#+,]-yEul>yVO DT$qf~ $yyi~}V;1W?|lVOԠ2szD~XRM( @H_%: Z6'u *+!s¦4~/~lLN%+`"!?Fg "K"iibHF$$<4|84Gopa| bB  dq