summaryrefslogtreecommitdiff
path: root/Kbuild
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-17 17:45:29 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-17 17:45:29 -0800
commit09bd7c75e55cbaa6c731b0c3a5512ad89159f26f (patch)
treea73bd9f94d7661d6ff82f3374d4efea81925f7c8 /Kbuild
parentfa7f578076a8814caa5371e9f4949e408140766d (diff)
parent7f855fc805cd9c29867aed56cc20f818b36a7b7b (diff)
downloadlinux-09bd7c75e55cbaa6c731b0c3a5512ad89159f26f.tar.gz
linux-09bd7c75e55cbaa6c731b0c3a5512ad89159f26f.tar.bz2
linux-09bd7c75e55cbaa6c731b0c3a5512ad89159f26f.zip
Merge tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
Pull Kbuild updates from Masahiro Yamada: "One of the most remarkable improvements in this cycle is, Kbuild is now able to cache the result of shell commands. Some variables are expensive to compute, for example, $(call cc-option,...) invokes the compiler. It is not efficient to redo this computation every time, even when we are not actually building anything. Kbuild creates a hidden file ".cache.mk" that contains invoked shell commands and their results. The speed-up should be noticeable. Summary: - Fix arch build issues (hexagon, sh) - Clean up various Makefiles and scripts - Fix wrong usage of {CFLAGS,LDFLAGS}_MODULE in arch Makefiles - Cache variables that are expensive to compute - Improve cc-ldopton and ld-option for Clang - Optimize output directory creation" * tag 'kbuild-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits) kbuild: move coccicheck help from scripts/Makefile.help to top Makefile sh: decompressor: add shipped files to .gitignore frv: .gitignore: ignore vmlinux.lds selinux: remove unnecessary assignment to subdir- kbuild: specify FORCE in Makefile.headersinst as .PHONY target kbuild: remove redundant mkdir from ./Kbuild kbuild: optimize object directory creation for incremental build kbuild: create object directories simpler and faster kbuild: filter-out PHONY targets from "targets" kbuild: remove redundant $(wildcard ...) for cmd_files calculation kbuild: create directory for make cache only when necessary sh: select KBUILD_DEFCONFIG depending on ARCH kbuild: fix linker feature test macros when cross compiling with Clang kbuild: shrink .cache.mk when it exceeds 1000 lines kbuild: do not call cc-option before KBUILD_CFLAGS initialization kbuild: Cache a few more calls to the compiler kbuild: Add a cache for generated variables kbuild: add forward declaration of default target to Makefile.asm-generic kbuild: remove KBUILD_SUBDIR_ASFLAGS and KBUILD_SUBDIR_CCFLAGS hexagon/kbuild: replace CFLAGS_MODULE with KBUILD_CFLAGS_MODULE ...
Diffstat (limited to 'Kbuild')
-rw-r--r--Kbuild2
1 files changed, 0 insertions, 2 deletions
diff --git a/Kbuild b/Kbuild
index af161aa1facd..005304205482 100644
--- a/Kbuild
+++ b/Kbuild
@@ -18,7 +18,6 @@ targets := kernel/bounds.s
# We use internal kbuild rules to avoid the "is up to date" message from make
kernel/bounds.s: kernel/bounds.c FORCE
- $(Q)mkdir -p $(dir $@)
$(call if_changed_dep,cc_s_c)
$(obj)/$(bounds-file): kernel/bounds.s FORCE
@@ -54,7 +53,6 @@ targets += arch/$(SRCARCH)/kernel/asm-offsets.s
# We use internal kbuild rules to avoid the "is up to date" message from make
arch/$(SRCARCH)/kernel/asm-offsets.s: arch/$(SRCARCH)/kernel/asm-offsets.c \
$(obj)/$(timeconst-file) $(obj)/$(bounds-file) FORCE
- $(Q)mkdir -p $(dir $@)
$(call if_changed_dep,cc_s_c)
$(obj)/$(offsets-file): arch/$(SRCARCH)/kernel/asm-offsets.s FORCE
gvn"e'֤UU/$nI` tU4'-U@HyQFKpMM@heb-}I18GuYNZ iݒz4t\VXm`byzh4f``;\ 'iۑ]P¿o]t5+p z==L_𾛚j_LXZy䵴Hj~lwFdơ%Z$1!0gӳ8(^C;Nk=c-%,|KzV)YBo +Eg l"CyGlA9 =U'RG|ƕ1F/ҳ4 $+T*d˒ ҁ‡UpA_1z}q:=lOG);oK yQu@kjꌌH=A`=8t'uT+jU7<1W2L.*ڰt׋3_V&caif jPmу<ޮgue1o9JՒ 4SraY3ON"BRw[*@Zim#".1TP(hȺk$ա =N9Aot/6mvрͺFoȎj.%ʿŃM\4%y^̋bF:SrTa%p2IpPuy"ۉkYM6h4h:hoUBPʹz箿- ~ )+{s0jަߒ6'mEܳofDSD5D:huLVj 2k~נ69XH]N5;b[d:Wo;Sx6t#ؒ"3 ,5˃" /V^R| ƜS:TcR8؀VW}}T4wZM RNtDI6ǫQ>DhP.# gIEي5.ď4+{H`82y37qjU62vuIO-ިZ^<: i?; 6ٵ]Ryl@`zzf:8 ϛҫֶJk[ٰ:b]&CGO( =O4G{k!y͠0UUI h؉:2fC jU$aF|!63~D\c?gA3#S%jH/I Y%w߽O2N 2#o3WuZ[(19>J1uG=|T[%]VՏ 9jRqh) @6IMљlb5<쎝{eK~$\jhuլ28 ]e="})-h% l o4k_ \elH\ݒN[v߳mB؞Pw?i?}_ޞ ׇ>AqQikE^};= =}:+Տ zdMB~D< I-B/25؈f*7bzKjk.))a7wc2&dZ+aNr0L`g M.& 4;+ͼy/*pڨ`z Ja/sCHx1G^nk)+27½W̕J'UY+4A PgaR*NeyS#yp'E!UP4 ;j+G:KRl5 F&=+?w6 L0ɚL?3wE88NUw}imѸ,<9-;<p+P==Hq 5 dIrmD$1t][fwծ5hȯd6 iIQRحNSp5CLHI`!}XOF] a/d£dn>!rA_Ɋj4M'tlĖ`Ab/SF4/9@3y% fUTI0TjxTNѼګۦ; N+7PD#Gّ`GPn,È:%`zo"j7w;g0pvɼQLfP"E??ҒZ[T V'SN*i1VzvJ{WYdܕ%sى'wXTK4xO^9D%/~,k߂e|t,F:>FԼUyKPȊT!(I[W$k#6ʸ(7uw@ࣃ*-QQ-:t+[|zVIځB܄6b|Mύgvo\*E<x2Ч.RT(IEcR 2A1j2vI<494F NpQD91{19aI d6 iGM$0o&O~p x昇f AQ.Kwo<%CJ w֛ +ǒw#U [#׿J+z;۟U=Fhmp͚4~uuz =i\m}K͉H^)bW^JޑyPxwt/ZxmsO'0 ԧx):}d}+{ل~_rf;A9`јo+ j'Z%.DX\jsǮ*t/(&YQ=v]!+6]qb&d ⭠3зT|CzT=Nz=ca]?=u={8+ q!&Q/U fk <7Q͖kY骋1ԸW#%}̡qF_J^| ߶D3ŽҜw|;K i+LO3dE:FV~9vS߾2ֹYjX~ (K$sXCԑ%8>|/=cWB0̆FI+^e+dS+{>xq-ܫ|?JxI8{%f \( :ġ"hMIy +,׌WATnpz:0pGT(`?IITp<0l^s>l7#ߧUr<5e,i޾ь9t~:R0 89k+,y6FT.#tyF=DH𛒰⇬1p:aO0I'\4TL=hl2K/R3TZRuCe Tkʀ=zfoD_M7aLϯSH|R/0o=Ä@ּyho7ͥh 1C熟/Xz Ɛ$:MU2ΩJ)y8]+f0&[M-h#QfIyЯ"E|Y^A;DQ>hIG$ -X%$b#ɋUUp MsYhHwpbd^E|/ٓ#hd;'t4gIp xtb@lϲ}a'[`A,wzT<8= g,xJm/2KX]$7O4RqFtPWc^*0:n#)rtdyi6I='苬|ĩW 1 뱺gH^2y>V:GpM>a;$?.p}a hkJsXe@iqw Q۪EKiCjQ.q͎f\FO=Y񻷳ZQaUPdC\зs,.njC g-q Y1rh 2wb 7+R N&Mi՚œ˷7u?7zMڑ 8G% 0vW$n-Mޣ}gMli}GφxTLԔ햦ِb٨pm=Y\ ޑ%GHB!RgSMQꎛ52QIٸV:sA,X .C(c݁SU~t"$>˂T>ܐik jlW\]7T %jǀE-o>iМ'^n[81=9 _|'njjIMO s#>WYb9Ni9zsHk'ľrluN#,ۼ'45ē"[Ƌ];. .zf,) (0ljtx0cbR)8Ҏ<%9EԞp q+eu1 kȏn>$H7hE,{=o*5nh'.yY Y%P~tHl4|q,Mu-qPM絩xϿ1үV9N*.cͭ{3RAUg,^O/U7굊V]j "ŭ{,$ٴa-ʪwj£}:oyUQWHu!8MΏw'>Y|il8g.tו*k.)#4\P$xLRgQ$~-xS|wd7oˋ۳4'p3iwy.LBzZgcX};VA_: fr΢\~}2<-kY?{+ZfZ]]Hȧ1[}VrܵL%J > t9eA L,9TUE=.IJ׍ jp'^ږX!  (ol%_ԪEF Ang蠆$XeX nH#C";w +*J3h*2ߣ!-`76ic}6f:f(煢ݩ+Zܬ}wCzho 6zMHZTS9{B^$m.y%όQ@ L@Ywi+VPF< eyΎ,Pj1Y1`Ҡ m7RiԫyRoC,{qK$ߥ˥ B Fjnmyk[6X"2)a7`2+<Ώ':.7CQv8坆>@dՕ Djrc'1$;wX\K%fg(UߑAaJʩLNil4|Rk[1wgVqg;?ƛ;M6P!Ur@CC77UC M̚b1#`u( hB<4XQՆjH{3ifcV8ӌ;q@]ȣ9k9X*)d$2H_ڳ&mGp:$)LqvKprn}Zub4N GeWf&$ԖMF^[yByvz-_mAY.B/4fjBvl,t0:!%V#8x$aB[6{]^hD"xΧZ ^W 8Xr;6 YwaY'[>Dsu+ݰ\W2։=ދS/4+}_yU> hh&My+ҷ-]|{,hd{sdvRztbEvX:3<42n5ۃASJ@^W* (tA0Pf\t.I e"5^jdNti vq $Mf q HDΙ[#RReͩJ ]wIM.ggsR)c0f6ߺPr) Ckܙ?w"STg%C4|xau/\5pFsٰ@55v:G18gCDs[b# enx"9\n))NQ-xy>J!,B ִ Pwo{X!Jˊ$AC~$W7`NةNqU5jFoyѨ-hu՝ )y0yk!3|89H,I:1WǒI2Mhel)d-`r9GY0[^. ?/h&K{)B)А OjvXYb OuG4}I#mlQJM #.M8w)R}'$×% ¼_ 9,x=hO:VURLTA ql@=pdPWg.dC_d0=kKV2]"f-|Ճv<8,N 5Iou ʻ'X]cI@Sɔrgem`DŽ&h0cV&d3+@.m,#Oh:w)x.WӒ(_ԍ>L.Ġ-ØsJ4v͙YyI%l&]ۋҊGdteX+ڑ.8[J!KO3O\+oRx;s^tjSǟ&Ԯ`2B5E.w^X($z"$Mj^*3523 lG?4ӔEis:Ǿ;4r_X>+pI{U,1ͻz-}?7r_!p3Zjd(8HXǸWIoiDd$ XKnb'Azh܈ߚ?Nk'gj"sZт95+L$ZiW# 'ԯbrzNɿh)Jm/Ej!thZOr Тpb<.w2$sI~(3vc\2p" Aj~/-Ȭ<3pÌtsUѿsN3%nHȑJcF@Յ|I8w*RkmUuhEk* F9neU$xyνƘG+s`j _Ԓ#w l'nL9˘8V/|_Ԭճ"oI=}N  颰 3h"OD&/˚Jm%L7߂BilyQƠJфlz JUU@nDva=Б6 BᒃL~7٭psfDr'm -)!Ǒ*+0 F5 +󳷷~zLITTboXiDxlrc "TȡFk'4x~dgl_|QƸ NI;0|B8$Ϙ&db4ѸQ5LEkXdlBϣr ȟXdm!M`E`-I$_\G6X>Fb `AO,kz?i:*Vؒ,кݛ.zTk IǧwQItݲBezdFGb%XLQew*a^b`2i=Bcq#D 4;A{]dP&p];ג B s` ķz7wxɀN2sؚGM+MО`x\'8= xnt:.Oݩf_o1Kcnk+ik$%?'ĉ˝7tWbN Gb4+쳻QO0R4joSV_F V=ZIK>Ȱ=fXșZV;n|ո <~JWUmU+)K]nnUVi7͏Kv:Iqś=抽"+o S>%"#R0NvQ`=|%B>J9Blt`Yq܇nouX,2u}f(Ed{Ҽ·'3ޭ[ޔqQ?ur @X_0cF}eL;YVokg qɘzz&BRsl*I٤j[1giPQkWԙ ϖ8p?5z*c°kեQQQHg.4 * dhhK+ bKdFf̆iOl,ͨ&)ֶyfUM2QSGvdz=}k*j-Nֽe௶X~oMhaHK($9@2J."D.B&({*maW7$DkkIh<= MՖ5f XϵkYDV)=U˓x|A?Q:B:X{t."irJPoeG5,˿DtHvr1'iFZdTB!16Vr*..gh[aLl?)^Qq45@.ZS[k[F}UEJjuuWnt՗H#^yR7ÿC-ƯG㤱ܼyepQ_l% S*yLʳ̅Ǡ]f'mkI$Q1P: w'\vp*} cZ m{Ԙ MU*:"j4UZi+lMz\p {;kЪM >O߀5~d:yz8a`|q:W XpQJ4I8KS,3{BsyE"LP2hҬR 5@0[sb.HwEnl%De˪!S ogWO tg]Y hh+ r=P$&+IV'k Rα?35욭#8ޙe_JհLo58vn>_d0Y"ckT+ш"M2>(5fG lGiOV> f|=p[kw.y+,6P0^08'}!S{f ĎBjMAL' msKuaE뎞 =ttv$FF+o:iI4 YoK'Oc3xj43;qDm=uѣ},9UPi5ii>rcK::0k)c,JEhΥ'1fz,N(\8iC@ g lmZj% D+Nm匱4y b7(uu7=Ÿ Ls5_UϑٰuRψ=˫z?ef@Y(8]ҭ?`u 6{# `z>YurgQg0r$g{fEڊRrB۵lKu8#mWGm8ogn tg; 7|#:y nK3Rm!9eEdȉFQ1ݲ?hx;:=gi~NX]I9,s89Z63-UYl'lHк2Pd.{(uG2 Gx0/*8%QV So!*k|BKD}Q2;z=?;pOf`njٯ#ہ:^樥Ԡ`QB^̒*9X>'4sD_nd,?ч3΍Y[t>dA)L޳ b2I IfZ3oiF`6;0t!a#ƍ\ck/בVF*6[yY~šGO1֖wq^uLd=Rj)q_JE[ǫGdxz-8dGnJFVs}Y#c‘7b2Y.=.$0uMA}qooN{t%-9/|?g¡NփE m(Svˇ{^L<&CږvUzH]¸d?sF}d,,:N+WVj"u~A]PIKysZב/ANy{DsIYT,٬r8uyZNӛ)Ǚ\>WCGWHv83^]_VҼcPW =^ZvYH &tOϕ%\ հEzI'ȪZV4أEFnqC-ɹGO27NAGY{Nu~'Kk%` N6Ա+~qiBԁI8 l; QWW\9(mH:$sQ 0Iy-UxDӒf3nD}%KֆlޗKq\ c9Mei{–CZgwnæjUP]GArU[D.m|VG8k8[ӳ˂γ:|+[DZV77 w$툺pᐶNxITbfmWȌMWҐ>]#^>iYo;xڴࢹ[25ԀoUUMi<G N/pݹ񪄢3|#IpFAU[_j [j4ה pF?Ɍ+.$Ei*]0sKǏĚFv&OR:֎,pk@#S}9#Cl2=vhT-?Hrֶ^r4f}Vp B`(ME'O83ae%9VZ |.84vUK)JLAWChk{AY(]ћkvia2tIf4cTXu}٩tItjЦ+.9̛ᕺ#kݿ|liE]s]PLW\(]`"c x a& CcБs])M. ݚ|:`CI:G1DՅApVN3& γ#ERNz#E5?:ң"a(چ,ݶZ`1/u8L 92ٱBMom:+RܽyMG~@qn+ͅOG!+Y5piTot;z*(6`65RZҌXT3]$:}&Q E4&֜r85q_ۑd7Pٷ[dn)i[G_H彰5n>a):wkQ%%[(B3N,(1).=u'F4,)&UfI򨂆NdcSP?缲w;d@zމf* uWnl>g:fMY9'L9I N+{T(|GSrG3^&d[0PK 4sY-)p{L@2l7*yAa9$bRӵml`ʕ#A ['LV}}CH>TG ֠fn΁9Sc@F =%'IHf',I"] /!9Z`Zz+B{/>=-gDԗFp9a&KBZl)6cmkLME)=Ia_oQ1mQʊ"TCn"!L ֡B AuJ*- X'qijWoY<*d9ނ".A-i- E-ן.%#+)Ɲق:fY!? b{ .Wn,a2g^eP g1S>Iql]Uh'&ڿq4IhfE j'Eb6T+?!},ɔvWC*?hqDN)䎴PUs(cI YkW5*KUM$ƒO\V-f/8EE~DaґS*C0vFNSES*2q*VԨH՜4QC ݈tV.#ldTeU՚}p&%Zg%֕Dfhn*$$F#γ{{˵C]$dd 0jFֽx3E-W;  QpKv_ ?%X$޵ZMnl>Sɤ龌I*Ֆ0ށV'{<.O QĿ>VJrmOhFg ',i>V/6|݊v^o!t/|wy` Fpe xB,@i +"y-,ѻͲ&kXWJ*@A`vܟ9'׬tU<}xHRߣ޳*[}WOu 7>VWI>W7b:d&#K!TJI` j~5%[^Z .2h h]ClY*ebգBҝBYJA]k@S#E=ĞU xN ԏR06H%`H,p xZOfxdѪ4JfMظ$1+Mo8c34ħu߀6G"aB-GO9_Z8a{n;[rVH67{Q7cMnhQ왲Lr'\o^_oWPng|SZZՔTCҠe70.Hi i3IV`Gf, EVRoW۩ [:R<8At4.v߆jXj1}g$Zmפ`f}| ^ C1ۛZo)@04Yfҷ'7c-|I1=rZv/*٧pI:rol.Փ9aq`ށcЉQvnDn[>xf_6 שz.xMϟF djaC_b~"W zy8*P[9(Z&F2s'"l"<"'IjyC+~Cr=(!1ѭv&[I 0xVhNHr(\.1tnrfGnb8 2Es2JNGSK0@ -#m}o,KUiJ;7#JF;LMKbJIk_,P:fl<+)xj 7$=e:bSW/WkG^{r,x8@p_L;2慮WZ6C(hpC[™?˕,<3l u? JZscZJ0t;HTk#51qo J>0f!x1w݌"Tsuw$ RvQEx3b֤iYo* -[R~]2,Οz :yEkE)"oKWhB4F| $N^A~"K ( B{d`{k1ق!U,ܤ!$= 5Ͷ6b[k,=LD~ |Ҟoի=RVTIٶ{>#Ӯ+ &V蕸՘o*O_]yW<ojt ꉪ0V*5Í p ~@B̲IfGK}غa/ g=DAv~`. #D͹8+6kՖzq ' 1A!zfIP-\0PfӅ¸ֶSo1Bޔ֛ jz5ڞL8P,F8OßL_z xw\ٙ:MjX~'4l9̡ՐӼQLJtYɫN4g+nP('|gVԌ|^?A`pZ+dFuF 8}S0gEkda& W4e@g&,=w>R(pqi#Z'3j\#WJ :_ hLTwQD?^/UcB@܈6gwvR]yыt:Ӱ|v>UmRF(@ٽzA%ۤgTyEw+^M8l]xdϐ=noq6n^eޅކ[[7W Cǎ6{ ׬i i?g." AF^ aR)T땁 u(9SI+8r7CtW;3ryWmiܖixJa3̓+;zRN*bt#q>Y [Jyk1Q ieh[4* 2=jjuCH3[P̀:|3RbU s|^![ (ZcK[nlrd~r{4 y'ǤөJs~(n]]u繺i{imƱ9EQ6R[U~$0[^NkgAaۢWF\ REMZ xhX4a`.r؁W^ҧTsf1p8(̕%Z=6ph:?5/Y^z#J0~hoz L[1HTw4+u2yWa}qs?ñ{$d\܏[RՇk$O;Jm %G:sNQIҬ~6ɯl#]vt4GK"h㣶i)v{L6 MQ r;-Fh4;t(`>Oͩ ` f25hQl|1Bi`b~Nz(;Iq$]_ Xۏ@2- +1Q2I4&ěcYGdf"-.6k_UkBVX~BJtKIP"B uJikl:Rj UkNIBFAp6ZZ&r^H[*dL٥?67U}L85iPdf‰X[ 2NqU&QI5m]3F]. NzVŒZg'!˝MKϰ1B`I#M#mo9Tx@w%9  jQi#nX0,D)\ox C3Rv,G>>Y]E?JRz!} T>_2¥9pMʳ2`D_B=Za֒N%3kHQϷGXs.g@*Ck>YHW|Cd/BSQpԏH=AeHPVa&]ZZZ )^kj+78JplH(FTT)X/A+dը!.bnԟe=D ?{3gȴ)B*{oI[jL]ٮCC:wU?T_5;2hMT^(\p 8-W&*z㗴2?i ynt{hto m:;bpʈc:ĺFmdJ328Ý W4e(3[4h6 rmzU8ajCv SBeVm6$ZGG$'kXQ6j%j=GW(\sL.Ԋ^4"%@ótz:jt&6NHB#Xr9NΪ;V9uQ޷u̎qdְe`?r8y#Paig]0B%b'!3KScn %bUqIvV=~6<-O$61> S@`,ˤMXLZi?]2˩B '=-g{ BDO19CܑȂnN*U5j&j\}Q!mM:4UQA?PVZC +ggÂYFVם[oVJPfVWۜہ. -=qgL 9.b"VR-UqgRz9h\C$I_iD)Z{ڣL\Ss \gɮ<]R˘YuEHt.O8 %ZNz FSqPd_fAJ G Z0ۻYWg}^ҵ\6}렍 Ҷml7hV,U A{1LrzbZR J5CExĖjO@PV'> }l<iMc1a`9+|{AV85qIzTU[^.zUv0I@gx7^"2i߶GB"#'Wu?(h\] !s+YĦU +Npp(FtS20){^m{vz"5`T:&?z;cjWtam1ʹrq)A*1'_mfdw?uZoD$2ZT,׾QRݤO* Cn%#(ʝmHI6I8ƶ `1]]ƍ3Z[ x̿ufj>afT{SV0`utT&D%5\5Ŗ{=͏Hr.fYDWg\,]Cw[qqZ S OڪE101]c+\%$cY"u}|!:tt&Pk$v$gQqwԎ\v \l"Z;O3Qzx%,cI$n8`6pfג^h%ҡɷkWZ擸g:]y+۽UZG0ٝJvwYVY`AB[:l,e1Ks'OJZʁLbdE&Wߒ%0: dݧWYWɽ0 A#zss.ɂ4Xb4*-ZbC2]-I~@8(ssgo=(.Ghg%s~î7bnO@!W贿ORM?Q$)صbRlП:)"5' DjNX~R$'qȖz~HSٵChIJ9I>(1u ǽiM3a!Dm~T] 4h4Ooc4Kl[-VIv7nQSDV^5 @f Z5+ ~qlfo?ͬ*bɲ1}T0@_)n?8(3k3r:>$j8L|ľ-o`sFt{'5ՔyR~uAr(YDP];^ƞ .hd*#NQ}]zj-1褥-7(%7R*iyX@cIdlT 5DtPYSRS2#CPǣjo-žP9äXNi>9dOy$Bֺvapu==g؝aI7fe,M X-QN+kIмzݭl cbw脊Gn@a:ZZj4Rv7/jryC&YP/i/㤬Y8 fwd5$&M/dJ껛fYeGʘ҇uxӠ)ww,;v;M-Uv߉Jf> `tzyKK d-J[܇K )wByFSU.~.CP5Du2D5qt (liu!l9yV@wˁBAv YQ3Z&**[ptàs2o=pᇇEDlk-" lVoE4`2?.I{㿇rچa߳KpQ+zp0C6eܨ- 8ЩIZ77\d]]~ֿ)ݠq;Y%54S%Rzf4n5" Slk.*W*۩x2R͓GqMպRqMak ^I vk[i`R{aol)'(T-/̓ww,=PAMt(qܨd㱪U}'CԤFC.Y|wIޏ0;Jျ\T EUP-K8~,XhIl u*L&H1%ņ9~Y+@TP ( !dۭv>$vz$hЯ<:< %sPԫJ#֝_y_J-d? ]_pMeJo`g\. (8ܗ G'<)͝.gcOբsY`m]1-i']^$͓Bm!HK9A.C/"*}drl|Y}Au냏{k(&KGz>[߁-͂Wr+un=KIJsH:MύGϢ Kݎht%>IvEpR9@p0—gY9\vCO V+PK4oqlC8Jb^ t:"5[<n^~{m'+8:!@O NH=uY7qH &C`)L*e%u>ȍ\GA;Wh8_L޿__O { WI+T5>$"1ipP*Gwe3[1$a{aݹ)m%@wFL9^zP_Y3PƷ8Q™>MXV:5_Zjj$W4,yGKiV#a9K=ӿ׷ &26@@v|fE'ji[۝jIǑ%4@%k:]{; ַD'7ೞ*dv:iYKr&=u\i~Ԏ6 Jj^:DX~c{ t#uvxg鰟vO7ye!,;8dwbIJzUY)RHS_iIZ'aRFu ɲB`ںIрjkzY1ayvr:[P¥[*4/rօE&ѩG>JW_Oza 4D`mBemiv(疝2vDr}HzYUڝ9* G0%ufT`PAk`Ӹlxg;bTLQ;#A\bMc̤9Bc |CӮsjf$lϣ^hwGH G`G?d1o{FZ1ޒhE N¡Fv:z FIEba@NIa>Ҟa rcT1TBޟ m(j.v8TH yH#C~B`!גOVn<f1R$(iXh5,gXm-54 odf?5%wݭ,mS(9}sSD]_]̹Sr%5rQq# y=ZNy 3y n: wd۴P+Z ZPҽZ[.M<מɾv :ⰴ;4axQB=ū ,Xݕ\TDf!<ӣRǵMtR⻰}wE@18 90ni(&R$t6(O]# ڑ!mPtEsF,e[&\>vddY+aUI*NWu;j0YizVб݅[Tގ)xF= 5+ê1/ɨrIВGS.Š,J[vҬmOCcyw !oYI<lS>ت)%f 1mr f65[7FF]UtlODUA]0T|6sQX˥!vF𑬅FD\o@Xմ_ɎPc]Z$B[s q>u Pu}ViXRj;V﹵ϑc[nA5g#d++0lx0x ~h֛ԱRfЖ]li% nh0hUm[2UA8=`T KO֞ AG At&O3[(MQĦI-\XdRI1|F-R6+ho ~3rf? 2]HJNJ-'ܻВQoRaBCKGvIz#Mt,s0?ШpL!8ӟeBJO%iHU/z^:K?tY'sހkmCmQK*sM}5* :iC']Y7N@NԨ+< k(:GNٯ>wFE]˫*rhJKf;h}Əw5w[Ffϥ/n[ɔHtj3ufU=(g~_#Sb婎6\<^kC"ӄlV}',^ŵ%:|$x,a.z:@L⥠Zº'рj7+QkgÌ׎@(կCD(VP᝵+o켷L8`-s9guHMiSWĊufqK%R qY+l,j g{-",Ӹ0LG24\Q_mi6\ NZƊbT_҃*dW1Y!f']$$-< X9gelkORFf2?,Blxw)=T s|f~ɘUolfܮ5!͸mvjXsT+\p YA]p^^_wĥEZEwX=95aK=zU}Wm 5?:)j‘Ü`#Wa4{xUj|dB$P8u?tqM@6z1`-`;(}r.ÍJ4:S&y-i,*F,-j4=%)?zOS-`c|xzeXo2ERDbHY78eb,=KB:ӌKҨxLgv ПH@OaPZ Z[&0)TIQXzX[^XLhK.aHV{zP~xjԯl<-߃U`[le­}f^ڏkB= yk %=s̲-mhc?ȵM܂M2/ 4:m20Nw[ZTm*Eԝ^`9-'T?hr-\\5ZUeЛ[ެd1;O:MI]]z;&b$ ^#5VVA^4É=쀬L<ʡŻ,%)Ȑ/SJ.wiՀȜ+Ϗjӻ%4Igxu& s {{KE*&{dx3NyZ[㡘sUļ˚ө9pi\ί.:h &}ˆ\-\O'GSۑSi*=?32%GEJ!ohMzN̉v //?oKÓqiZ= \yr2Py;JK} jSBH *Ξ`P3}/ ϱJWnrsv/ByYd\C4q>Guz.$wI ZWM{Ǵ4fQtAAD[$&DRiߑ XJcE?ar0 ɞe!ך~#cgjb_||@< -DP jj^-/ӂ[^(AA-,1ҨT/+hl:z#Zƭ -y֋7{;׾iҬRFXot5a%}P~vzyUPﮞˀ.\QXH 5uYNgI~Uri cJLegjL)K%%m_;Gr5g~ M$XPhw-:h5닑 {;X][XGF.E\ƥ%h&_(0WxkYPآqL$#V6SeָEڛ ɟhk^iHn[Gcbs$x';pZO7 j,b.]Eo|{,B\i0i{] o;("Po_Sp'iλ3gxHS#U(`OKXPH93]Pz4{trd6%#*Vc궻{uGjkyT=c&c%Y˻b #ۍ`QRf3DAR $LkQw-`dxќ\\S~g˩:^UQ@T$ߒ<;`"t:EsNȂVK{\W┡JtHQ¶\[;'p=P,{`Qw 7>SFuP(Dʆl4q&eŽ_^՗O[n=[=< mI#,am);JTU3mm,j8f ȕ*L>RYƸF=KZ0I44"BYn`p\!©KVUWaGOf\Qƕءygw#zqt e"QR(x}y.AMv!kVM[8@yUC;MJr+q4]%Aek\8^jh'aWmV:MU `J*>X}H>%fGVj~jj52QgkU!F[\tp~B}}~l:L~q9^9Qdϧʕԝk-6B!%FK7Un(0YFncAm̟zM"п;47_ Jw}5,`_:s (w%Vrm@UZK GAqRN~ Cd+0H Cvi)ԒSv`,V/^%cYٍtM}!k/ɏEGk/֥Cyo WjiDef!@9`9wbjVKddF/yV9l衎`h)C>c=mg\$%=$M:;A3gW1yr@ %~[|Ϋ*NvmNf'ӑgzޕɠN[ҿyC+JK$Uݮr-Z|ߑ- dxU`ӷ,?#JI$sDn%u. E#:mL$d!4qҮioqNIwH<_yY-IK`&a?U+4Zf*lM@'N˒,cМ̑ I8ܝV;7ßz Þӳ1nlmM3"Ai`uFgcVz3p0tNBغ2A j⣒5K+* ՓIa̰ @C ر'@_5R_L2%/rTU t *V;oL0=̈[8LvMdﶺ`U~qK~|&YF P tiM%,3,)keZ0Nx ҩLkk[{¶2A(“ύyXvoN;)3M"̻}Ft`I ߤ =)C;50o/"Y=ĚԻ;e^ ɰ[aBT譵@0B!:~¢WUMrPϬUm#i_GVe.@:K?{^zyE憈|̎ޭ*JⱯ3JyLĻ˹1l3ӱK2T-tNbvGtLwW]Cypf?мta3ִQ1ʢgNٳ{ UH-eR:99(<EEI|jT5epC0/&0X&~^"ŋgiWXp !IEG[""!N?Vj瓒,lwbhsx> uԩxy;$azAA IdeI8Tr346N Gϳ*v-TЗ$h$$V\9A:RhEaTuZ˪7\YԈ3D+IơBΘOHTVEvnl>, KQi>VG_"E/Kẇ?ijHmN2ik7;cj\Uc@'f*Qhp%:P,`R>=@p؀>2ۗXKtN"2̸~Ix% 7  ws\JT*;~y:b$ )[|EV+x>?^#VK{cco֢WI]#ѳwQQ,G@<)c=Vg064ՏzmH~WD7LӒPZs'bDHIT,a\Jbӎ^8_N*.8zx^0 g6MlShiy6To.TRx5>U#yWZ7輻2ChZu M`9@,Zv+'qoֶ}~+߼B r\4M? jKey/!5_$ )`>fHvqI %=IM_\J:EEI*ZCա1= Scef@7ڧ]cu-l(Gcqx[%"t(-lZbtXcGnWL ͙w&QΕP4Rohn|p)Uj?Rt~LU)0PG@7T9̒'zivPD0e;(Z(nz!g)[dC'3~ Ə@e+՘D=ȵTrrUCǽ^YRPZkqg\E4m.cHed?f Ht9%} UkH8 (^6^fc#QMn b'4fH(qz^Ym%xȊv9Ҥ*F$dB,&^>ЬLpmK;'up`a0VQC܃I>oeHQ=PB;/׻\JCf)tvJ@g_B)05+aŋ8}E\:PU*^_p(]o9S 9˻y y:U\M˯l98}-{ًbo>)sAmcTO!nLK=lO6%y?A_B]0DK uڏcEr}j4,(<ƧMNҴnY[08p&S|:]l1-AҲ`rmG3yLv+n"/l {@k߾ {{) @͔8;8fvϏ˩^T`X4dfٶ;Uloivn9P8_+.a7=:+)ru5,O Vg8# wVd0oxA=2 ]dhp+\pה,.F{}1^MM^)$2[h!#M-̭uc5wީ h8PpORUgѝ:ơBma/1N=8L>v|!IELRQac`ù"^J|ȠH|cwB;l?3DH?V~e_`B.gr.efZo*=dWDkN*WxHyߏ u}^l?,M*+ ME<9i:@ ,w|oI+]>$ Vo|jK3S& )ѤwF fXv6JfQ5M|`qo|w#h_=KOX/Lk૧. mFɖk*>͋>J`&\}R8\U)8uo I=dWԂb )EVr0 \z}RfӢkoxػC`<"Rvq+}^K!Ymyg-J}W=$6xV5x^ EQ >QoH'j`SvڍtG 0naM6CV._Ezgsk%ߍ5sDΦ-A%Q##Xl/AO! O}x¤"wV`qv hvO[%oza͹bPᰰ.g Lז?̃{w*hd2VzLwwe8yJݶ[)eTjڿ6Lk7͂oo* h1M(Д"DyIH덳/9|#lF-ڡDKXLʵŴAץF+Zԯs}}z6\p V̽F^{_'{YnO=ڵQrL l4ToQ(fE6|^*6a=Ǫ2!žo7Ԥm.(՘ 56Dl)\pH^Vqʑ4Y^qVp@~1Ż"Evom7`U3bo~}fsa򽰷%1UKu,A|7)(L)bµ8$hg;r2it mu5鐅72D#2-q%QbHv ^E$3i)zqB9勂/ jDƇtss?en/+҇#Іm81lU;[)[eZ…W|椢c9$ g)(ql- P(/StJ˦pMh9=Sj[i8SP0f>'Ԛ٦3{XNs!|G:˂ 2Rv/5V3/.ڷj iE{zw(<ɓO=,]kł]Ƴ^JG5Ghx IpC-m$iEl"P9DĽg V@ k"r['=kXLui$d\̈́$+x&ˊcQ5}k%u$Z7w\4TqknGR6S[~4,Ȥz23~JSRׄb/!=j2}D;xϋ/}29 2zw&22LGcP,V€M;0(\yM{=Ԇ!WAtct[vPՀ[|ĿuEWDavFLmѝ)Ro0d;؏49m#$*4[iUP'\,tqFCD;۾K0NMJW3Q;ۧSZr2dHs*1Q/ |}]71>\HɊw3T&tTfgz y)}z!<cr6·I.|?ܔ[duw+k>+Ŀ 2<\=֪PiKt o p+6iQ G^)ZH&G-⫫RT3#!7$gbJi&qfΐU< uT^@YB} ?|]-Q9νz#8ϥk3+@cx2 m``6T/b:ge)j1J).FLO6hF @`w9m6䑻Dw w=kR)u)< {NXAGNs$_qM|=*d f5oC`8ї/,Gz I^ۖ{lQX6.(Xs Z8/NSI/_]y0tt#(7͇Kꗙ"}@P뵁cJLgd38Ӫ/_/3=9~yc0!؁:n[Gb ?eJV[k5t!J2MTF&j6P^x]p$ lG,p*[ %~vawe!ZjV7\Dk:TD7<FiеGis3HRw PGd m^ .i2&;]246)}.s3jоpGs]yQyuvzŏfNDҦ&2 u87>_'n j᥺A;*XJdb` 7f﫪:6L$.moZC 9RU2QXBc5$PtLjԨ*Ì11 R>wNkC`Iul>;jV:͍l]C^ם^@=lMjYѬL4 P@MO-Ji!3*R;gArw#5W,9'wl.QH̀2#oTb6duD%ج9f8LΖ,;{uTEu2|4!#>?arcy~E-t^ω̆^ibTlwn'Yuh3# #a -\<9MZi=EI}6|\:%, EK=`:ߓ 3\̣W6!?x6{DC ySg|TQt:_yWg%w鉅/Υ7pz 3t,M=fto{[EˠdG$l@kdfL/ 2(<׀DҺ: N{L{++kvNs 5!qF)8fkZ$p3q$j)xJr*[U+Y}Zv+;9!%&c?!܋_ĽJJ=#nN^:5y/~yYJkfygnRuyYvN\Ve/ vK:IFBv$1Op~O?ɿK++V>j5j%xqbV?\OY__/K>OvH۵ HjXi;!@0[Y&4CFjeIhfӎ ux:,tF (uQ*g1|w^8')[;s哰 :i ~.?۫US=w[2P]q #=*b;Iiȑó<<tudܘvvL̛%Y4}魵W ~$#MbeZ؀7$̭_xk`DQs2 =G~^!n,+-}ǍkH</ =j>,v(9frdFP| C&@\mKK˖5F,o G?>4+yLUI,XK%J8 ^Ē{e;#NyXno{XtG^FHJzR=tz Sqq_e֫e bJ| mC4Zze|2YIV^lE4AI܍@MΜC6RR˅_w+;)~rU E\sF>T⧥zM{b ,ݚdK=nH|m8aaXEܯs=YH;vy(];3OrV&"_}#s ^$}2hnNޜ<С$դ5i4+]57fNr Ι$8صsK83/QB XV2Ss[mh ل>j.7Jڲ#ծ]blO~e|c!iЂ;IG. ,(:u̼r@7%ԶO(KoSw _ ?3_ը~nq8 _ o׫_?s5&2b9RT}PfmR&́_+Jj]aI/xTs ;)zcԠf0;\|ʼѸ+zE\}+^o}cő _}Ż=_xAzEBF>]r&"; ikNmax>PU7HWd%/;jT89Ic̡.[;q \4F1;\'Ĩre*.V^Fte)5FI%;4?DG"pQ 5xnO  XRPSTaU1vn6֙a;I qsd(ia#t9$̀4-!<5^=ƄDX02wҊݨ<0< <.?gIvUuyƑz$c%ZѰąF$F²Et|jjZȒGZVWRT/Q .2W&H#_se@ #*}tm\F|7#,L >r¹9E{c@Gū?ogڿ y=j F[ JN[:4KŁMv:Mԙoۅ ^C5 =w>="LC-4g"g1gf'{vs!`"K»;/f [7f=Ki4VWk7Qfa& :!L hM?GIP;L5)T$ŖgFR$uZx.1Fx--HohRxKc>ޡox;6MNq(Z!+K|Q+Μb #rb w\l{j,"%kgQ 9-EKlV_ZoMy??^"6_`(~Cim.3_D3le ڿH}iyV^ƱK ɲ_hB<}{^&Pd՘҇OcjSnV0f.'~9cwF4^.ʻ@W9{-xQa)@0 Lvn!)ƚ^|<~*|?v!_mlfS2S~*+p@D}2@>2@LHF(omtH?Q0~{CsZЈ԰!m w Ke"`|ͯ<88%!E{NfNRLw> ^bB]P{s~LWr;%&&„竿[^f{MJR'_U)AMs/D]!.YpֺWJE8Q;j]6|{FO$1K %~L~m|#14]#-uZ5{WAߋ~%S$zg3P*:{ҩ@댢!^3P! :YqV|vizIS":4Tߩ2:P0IIVdÐd+Ջ9aȘk8lw e{ӑb06[KR./ii?2c>:c̚di%*lfN&Ƨ3s xA \Ԋo\w1t/ 49xHX(C;1 %o/4@?y&E_$om6?RX9f߻ wxrEH&gY&, "?EI}zEW((ƞ#P2xx@O%7~EYFELnHܟdz޲sks_Bړ̤+$z)G(Gv욅ע:3 ;L d&Bs.lN6dQEY -A*W\>|u{gk>g8*Y3ȸ>-U+j܃ozC]HUCBM(tWzP p?0Hܦ%ZI7@}O G:QW_h࢟mk#Jjv Vas9a 'V~,-ь'? 5i/o}y}z~?y, l+D[+E)y%O2G~ Ucݒ*>%Vy1`Ei 6j#y/[0NYo"]G@;GI焤JB$a(WRK5ƶwXdEٷ vY}7?e~ca 0ӹ7ʇq ~(q.LO(cƿ jQ S2p&_3<2<~x*3 /?c֛u3[9 G5wh<Lo D>9͖Y_MK}$WZO?}ˏĿl:eJyM~@Oٞ_Ҥcj%w;ȈȤ~)9tѲ"R' (BDxD8>GX>o}} OGjbl鹁ͧ??;i$0tfG'؝(ȁ"x$Ds,BGS{Vz-,#襯7c5:*6K;j~}|~ɑutT% 3S4OQb?bƬߨ ua~]TW/ajxrx8X~DKUv'_>ȗLAO/8ow} P~b~I?iFˉ1{g=sMߢ_B3y2e&I|<$ꣂn{jyܯR|~:oy(OZ(_*_Ɩ|Q1Ū?!TI=u}U{uF=Z(#]UwIĀ41gKjį+?"sK+v#ax=0;Bxk1*Yyx'Wk̓n0Ja%5{(9J<~""O!LJRscC /c#Z] aC 2( !U.~dnBןo?,7 QJ Ηbp1oIe<9FH! 7Haဈښݿ۹JJmO&8}{DY# eQtHp@92XoA $O|!B>΅7M) ֺr;SXEO_F׷-ȯ;r u7x\wu*ú?{GR?jbu 5'4@JfZ5W4O֍>}TW=\k+;;(ba緁Z8˥AIicG5¾h724gv-KKC !h]wK3'cl= Y3,ms=?v׬A[zc䃌s$f ٴ$5UqmX2,z'~z( Ld@_r~E r`̳ R%- ȴO}N[*mJ8 rW+Gh~K]|hܮYv2]~Oq'FAo}u˯Mi/r$ES9 ) Z~C1_{e?gUt1-+݊&ͯږ!e;z\Z67EYmFҳNkkiٮzYRo?8/*}(ɞ[>uPgᨙ k.3/AcA/ٝs3BpjK ̞[,W$;hBF^r #.Ws?❸fm pmρ虉b>#ZKY5rNKo>x]k_//;e``!t~e_JR-3h--zA*mGSkXH_i ?-[gu iZnHk5Dp6=xޑQR|hZ :$*`Dtoh&7kBw\ɻLDښӘbO7%`cr[QK?(Km<iǫ6| 97Hr0m rEJhдqM!2z)fizHۯxS4T:yG1m)b[!`ҐAWe=R^lf^ZKM{l31Rzrz/:ϻS~EB|.5Ӌq>t 5 E5W`i+.+;k/JYA5!/!|/őt87w tL0)Mng]be.d{Iӏ'h[cvv-bvZkm5}f ieς\ HӠЇivQf`x68Ԛ|FxWֿ \STak$62H (wVHоeġZ.KckлK?H זџ?.m>W+[h4YO0}kڇl?Z;TYZ6l]=§Kjkfil̰wzuRR e#e2S }w=kEDF$$0nw2cXgU]b艡w58zOĨ zwI]~ ׍FaGXqP:ÚI,I~;ߋ<"Np?,I98aD,S|mn1]-.x(!.v?D3}c0;F"kD+M$T(s,?7cڄN'aNE&Fhi3{N3G e=]ƌ_o9z$T*^E-|=,}UUD[gן*5ъ5Gr˴>$(q469%68Y~qA[l>GtcNߕE,j;B8[S+R4UvT'>X﴿R`@oӿgLU I+G0J R@ѡ;R?h /-YfM`Ak> H󆬵$F~I+F4Yf(L2%Öw-Z N~6^5G<MFgEfcUM~^lTlSH:S;w$RGDXMbL{syKig^ o:^O@$;*k CRiR>6!qmɠ۰#Ŷʻ^?OviŚĜFcm}lGû+%Ġzp6q2{$!7HԻO7zV0`ba ;d {S2E6.:r=w0凗$;eFl8lGl\$0HIp Ѩ3iZ#DQDЬRu}O.|5ڭ)mc_ϞOqXB:ܼ^<@& -EIB8E7ct+*kάx!w{Y0Sa8J8J@YJ,@d@TQ{Q.DݔGu} -}I4W? lˉ:dS'8@fjd_˜ژ^7:n>G3;?Y $]gn} s>3 Q>)[  `ǡ>6Ѝ'~{#Pt/JR;\-؛Gt"@JqWm4"sK%}'=ԕ"rSؽBjy'j)gCk]\P~;@M]s sI9*%(HX\^d_ܿnVħv7*ֳQMaNJȀjؗN0hJ_CMT ]9;YUZt\hZ;<:R l )Nн+K]b޳PY4>ئqk=6@MF#CsvVv:58gvTt(coN&Ј4t[tL`}:D} ${E[!%"r2+mZ'?^_<'&$dyX?/C77ޝGO3.OO2P lBeVp>ЄH&~ * zYY d[-Զq^cd*zL4Y0[7kE>+O_]fOf+Q=$j(Daur;qBpQNIxx^ <:͚gq0'[ulNx5,SYdoKͲ\H0d'H]73*:W|',&(o__T;6WK| .Z^u_~.ӓoj{w.>@mJ4}[b7DܰA b_jfD>u. QGai\lM1J{ AF-t[(ˆ D%IX>8;{0&}, (+rb؏^_AĨBbmF 5k,:1I3:+-1ǶEޥڋŸ܎ˊX8&؋ŏwHɑyATN^ǁw F8C> \ZJ٢ή0׳*CBYwBpZ=,I#;CYLRڈpl|&J봽$wO?&o樿JiQyW`n/Utުc}x6yuY+! 2%7 ]2 Sb~+XURSgn?.LN%QoS t]!5jf^$l4;6_Iy d]bv,N``"?e@1k߂Ltey‰?K==2JTj= 9Ĕ&}~d-Y5;b]/Грg zҡ#S䨞֥㭌 ss׃'S D%Fj]QQߋ b-8z?iK#r ~tyg\XDqCq/C9ٺQ}BЇQ1¢ZEY.|hGt`<PQ_uޥ=i| <3+XqsÛ8&qXRԊ8NYkX>k |%KsjXte"Wb ˨ä[9KLjnB \O?6o_ʃ,[ASZ=V:3s(uCcO lR݀NHR!Q9'AUh>}qNٴp9U|,OJ<5A+ H҂^< Y,kD'vIH?A;agu@F^h ` 5b=ˮEʲj~bCtxC&?`Te75Lգ,j՜ Pu j5FsYyvy^B:s kM?&y#I3XYܩk„/fiiIpSc!zrzvrN GáA_>V(}T<\%AE9^ {]M{to" ku kX^b\JkE(,SaZ$beŸf ŅL*nTa-cfi4Խ<S3Jwl}2W [36BL7pY:l}ؿ2S:/p}.ؔbqș\zj"nFt{!e~H}@_bᥒZ;*DREY(`?=^W"LPM4}8:<Ť6fͭƸ5%>_dH(z%3{As/A