summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/spi-stm32.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/spi/spi-stm32.c b/drivers/spi/spi-stm32.c
index 4a68abcdcc35..e4e7ddb7524a 100644
--- a/drivers/spi/spi-stm32.c
+++ b/drivers/spi/spi-stm32.c
@@ -1016,8 +1016,10 @@ end_irq:
static irqreturn_t stm32fx_spi_irq_thread(int irq, void *dev_id)
{
struct spi_controller *ctrl = dev_id;
+ struct stm32_spi *spi = spi_controller_get_devdata(ctrl);
spi_finalize_current_transfer(ctrl);
+ stm32fx_spi_disable(spi);
return IRQ_HANDLED;
}
@@ -1185,8 +1187,6 @@ static int stm32_spi_prepare_msg(struct spi_controller *ctrl,
~clrb) | setb,
spi->base + spi->cfg->regs->cpol.reg);
- stm32_spi_enable(spi);
-
spin_unlock_irqrestore(&spi->lock, flags);
return 0;
@@ -1204,6 +1204,7 @@ static void stm32fx_spi_dma_tx_cb(void *data)
if (spi->cur_comm == SPI_SIMPLEX_TX || spi->cur_comm == SPI_3WIRE_TX) {
spi_finalize_current_transfer(spi->ctrl);
+ stm32fx_spi_disable(spi);
}
}
@@ -1218,6 +1219,7 @@ static void stm32_spi_dma_rx_cb(void *data)
struct stm32_spi *spi = data;
spi_finalize_current_transfer(spi->ctrl);
+ spi->cfg->disable(spi);
}
/**
@@ -1305,6 +1307,8 @@ static int stm32fx_spi_transfer_one_irq(struct stm32_spi *spi)
stm32_spi_set_bits(spi, STM32FX_SPI_CR2, cr2);
+ stm32_spi_enable(spi);
+
/* starting data transfer when buffer is loaded */
if (spi->tx_buf)
spi->cfg->write_tx(spi);
@@ -1341,6 +1345,8 @@ static int stm32h7_spi_transfer_one_irq(struct stm32_spi *spi)
spin_lock_irqsave(&spi->lock, flags);
+ stm32_spi_enable(spi);
+
/* Be sure to have data in fifo before starting data transfer */
if (spi->tx_buf)
stm32h7_spi_write_txfifo(spi);
@@ -1372,6 +1378,8 @@ static void stm32fx_spi_transfer_one_dma_start(struct stm32_spi *spi)
*/
stm32_spi_set_bits(spi, STM32FX_SPI_CR2, STM32FX_SPI_CR2_ERRIE);
}
+
+ stm32_spi_enable(spi);
}
/**
@@ -1405,6 +1413,8 @@ static void stm32h7_spi_transfer_one_dma_start(struct stm32_spi *spi)
stm32_spi_set_bits(spi, STM32H7_SPI_IER, ier);
+ stm32_spi_enable(spi);
+
if (STM32_SPI_HOST_MODE(spi))
stm32_spi_set_bits(spi, STM32H7_SPI_CR1, STM32H7_SPI_CR1_CSTART);
}
eFYN_diNo1ǝɲvo=j2QG4CǿsgHZ;"mhYiioSηEeXZ |]F!#j]Pk42YO%֐Xws]|gFV}r[BzYk>[}=Sڴ5~;zTzwN>H5L௡^-v_wJIζ tp~$y=obVbAcu-Hv-Yp7EcBL] դϺt3rv8͹F5~{1<*nVκ7S'ۄ F7,d[-|Osk݄P޻kdݵWX-xbwCg\ Pra]4R74{ˋHagUj$ ag o$^v[&@لDSb qFDhghI{,n'wޏM)2]x8Z9Epyi_Lѧخ7?{0\)k)-y,Q bRfȅ,ȧ]|_,2tIr)ܝlu(3s686c!b'٩Fŕk, fċ4 R)7ٝ)}0&Lxc@آdMM4\" !U&۶Y.ܰ@` DlR[sFTɤ'w&ĹctX.7$^] qsv&ή=S.n\[F32 %5QTF?A&8BxOôA9S$eڑ/>LgxS4kNckkuecZҐܓ,uXE* 8Et$["[ ΌIBUխD2V*'RQ; 2@*6ЩjC*w3ds48>v5F"v1RsH5)ը)Z:d3D gea#ZG {L,0~Z٬?;v pLlI'BG&xQk,hF^',YZ9[MX0PlFC!#xX+v=T"AYm9#;/vë3=x$A2,$Е~^c53 ō(L/<`3f:=qVS4p79B(1DMSQGdJ*_uP`MFo_ŅDEɒ2T2JvhP*M/ e}uj((lJpg8̼Xqr4Sdݼb;${ 78&"lEWEQ8+-#V3̷s~9Y}xXqcbv4*dﵮ~6jIBkouq.V2>y8.ɷatTy(~j":&|c}G3OL2.##>;P6*}_ Hf|{q 0+b~`>c"%@]ujׯ1SNa1{P%YtC3d?&`\Su o _ 6xŔ4;ƾhf+ ܰpUբۣ[n4䒲:{*WB,É˃ 2h($Mj ,!l{t^SB|f;ÙB/Zq!Ҽ tLY-|@ N( Xf/P h tM|-Þ>H\XILړoDvѶ+ O{砈غ}P4S5VϻE!L*nɸ:;pl[Zݿ : 2ό$G^qW۟uf:ٮ2B[ Gv6n}x}nͬ}">Knkrv^]-Fwiy4kjWcԡu㠺cõ,suo4seh|OuLz3mqˌ3C8kZqnR.%pvWf1ܷ8^ʨ,Rm  sN/n {8] zm䚨9}DeCmv[Z]ד-_/<|堶UB:δ"Q_Sِ/WO2AR7Tj]nw(M`Κ9`J˅`iXw>O5w~0 LFq W=8]eFy)X~Fu^YQnƓ{V%[7f0e/~d{Ɨ}>? 1V\¾2r%7 ZDe??oNưk ~k]<٫ޱ\u^Z[[ruNVydn2iO}?v;>|_]SͻkNgXs8q.2:mJt-txSz+F9ll$qT~kxji:ƋG/Gkw;_7z[ QGS쪳/qV慔d lic!͟f2?K'"ol fkUdT@Bvgۓ abzzdwZ¬(wss SR_OήpUzʑ$u /OW8>>dz\O6U F(WmVSQ^UάaHsZUUCdn\ ҎrO*wSQ[/ JNUQ{sVHr6yξw}ʥ!!dќ6+_»|JI$tO5'-QlWҸ)ڬW;"~LOSDP~}* og~ 2*:?VIQ T641aX$ o/: u@$ЗCfll?5wOphA<$@ T G˶߻DOP :PIeaH )#3bQ!;|GYǹCow.r"{缢rU|{s 7 )Uῃ' Xʌp߿mMo`-'D˷"Dmd;mRa'REq~G _{>YQU?v52[P'|ݐyB.[gwZe@G` r@HxL"!Е  _鐡z$ )#]ylUsHm ݶe|"ϵ #"M3>l[bb"o$R Cklgt'O N:^gKz2P߲ԝ-.VL Lv[f#)ͽOe$vZ>z@yT &' (dҚg;i |KxxR7Z8є;l=z{FApM̒[vTp1߾{٬#Ug-kbc[ 6dX,Hŗ ,al-|a@;H-|iYְAG>"]iNM(Aa >}؂@岶ݟɯ1S]gToNɬ_gd +4﯄l57wlsa2ZIv $FAw! ^ڌPh;2Q^tqPc5.XP$H07_5v`ps7>o;}Ou< :.?([J~۴]CqKT_ &K?V~%O)˃G\?_~i1Anֽ6/Y䱥%0=itE‡IjHk\MDx3 z\ގ7.uwi+'\Uªl}.J:gະܬ gMi=`zC.Pe$=.)ΜH`y;d92,AK^~N>,`z1ݖ&H7 thM:D пPigv./˓rg =c߳ϟnޯ>;2]ˈ3O@Oqso#bRqj0ǯ!ݦc12=c`լXLDLx手 OdJq饻\T%٣ڶAƚͻ'vDS'7ƪ"90}D hNFDz˂Lz{Oy%x3 O2ͣfͪvC$E@RvR_H)OJm pR3 FFQ.>7-߱ `=n`~6UB?D<[`p>@x>x+/To1C)eVOf\߱޿9ju]}nϕYa]YhZK >٘ި`w2[ AZC_ou 6Oz^V1(Rr}ҙ }Vїt,!y{?6u(!DCf?v hْ` -3},>vW*o9p]%ǧ "ݢ.5nQ%U;:,CϻA 2Za=9MF_s{k@ >s}YRzS.@pPŬ}zlfz?7u{+{EQ,N~Kkڋ[?oO|8^}!NѺN52 F:K]-N[~pX,c`i te3BDƯ,&9o7D!b@tt8Ae#pDQ Xgja!b8ARʉAxFh/||M~|O1US £mT1m CktXCi: -h!ODŽpH 1c?wL"+Lm~L⵹|1,h`X͌``ġCrA5AH*0ĐruB[]{=# gc{6#MpϺ 9=ܔG2 8ʖA01mód(RR2Kar5=1? @PG.~eG *PR};Lg*69݇X;ʁ9_H@\88|+>9_v~yohXo< G?B|a:D]跋<*^ŧ\c EK8\[Gxcd>23km۫GcXÀˇ?a\>{IesVm'eǗ<A~X >gBY.n} O2Fpǽ~hn@ ۘ]"Kf>~H.nQz2rHj ]Spрޥ;5j=if3%N]tV fuwa24 :w Zc' qÇ6Ɇ燁DvɁHgwn~/wKY]u|FiPiɰ`f 8OTie4d7.k6־Nv[G&`.A̿}J-Y"t^Zuj0B/KmE8Z?%:}pt:T qs(G'Ha`Ñރ?7i$uvxA.s0r]xuz2g`p›N_W,>uNoz 醥BޤeG(x@ K /XV;C >uoDv~4GgheíT|%^@K!r( ܏#%<~Ze.9];1mԴ rA݆㎆>SC8׫1oN;q \m /1hf!pKA18H~n#KZ%݅>k ƍ%bDϤWkF;랍`[2.'Hܓu@˪kЈԀ68+a7Aؓ v[QvG >ҴqousotO|f+~uupwbcntx@QeykZx%L8=w9ٝ'Z %M&rcB?IW4:2`KR6d3ϳy|?V Oڀvaկ3 # {*c^^ûo+|_e*@އ]Z_]_|m%omM`zI=0Q|4^Ưs^rnR4 <e_[N~p0^ݑ慃DS6^ [F){DHqmPUˉ/|UCGJ0RӅy߽%b;YoHX/LC:D:ng!tiUqJdx_3 ;j '_("EPmp>>wa% |<<ir HC6p |U3 ܛȕͫ+#0!B:Ѱl=ҭtFL-q_~4VÎq:F=J(eI,Ǔ>[(pn;>c\Ls BQT$NdV3R܂Oμ(yOYl`!nx\mj4B9[чݻ2U#!?H\D㋦Q'N=>mY;1||Hz/ ؠ8!paHHtXGooW "XoQ!T. *ܺL  ~[:n2'IWa6 E+s sga n|O_;I;Y~έs!D=jWW;.99j9Q\\>m. &xq/nu謓&Laml w=^A,,8\dT?9igYJKwApl?cɻ2_ /aW'۴dD:z9Lw0qZ3dᢞnidG=ft2,h=9lSz8vZ 4LFdicS˛SjTP}Fd^9uD UP0=stc|v&*L͒><1LYlJBdT$%BjA/PA.`ZS™8<M@KXKmr8n!lr045k>{~aA0zq)|SτEYS 騷`}v2<ۂ!E`1F Lu?:y֨2)#"$ ;mýzP 9ƴCsFTuCz|+6|tE8 ylUYI 7S&a&~*9jL%4{Tk@N>[apqCm jDzcXǠa! JA &N zs DwAPb7{60JM[ q$'nl6lGT{Bs-tqHg rtwz DvJTU⮊E.B')ED:XZoǧLB/{y xGDp }my;rĂQ.O.G(v^PD\=2엞ՆQ|:xڈa8od#?tk $.. }ܾr @-|]Elޚ STWEpw, A/Mbϓ_lSh6]_,t[ '狴ސ sRD:^mEh#$;kOfԴ]4>  @%YH)D"ὠH`9w2^RÚI'FB'x<}f;%鋾^B:Cɂ O32VFtLz b,'>/}Ï]8Ge2s+6oǿam%_pIQc1pYPz̘mYZ9i$hr7BW$v5X:Bn>KmvU'-5]v4{㐖3w\ &A. @6ryȳiK3y*&Z6zчE~}&%OIn C fj΢iTΨ;vp.[BR=>qۥM}edd3M6 q7"QUUR9d}h9E7>sB۔R,c?QX@\4(JRӱg1qE9bybj xn݇zw-lw9O&61$حsE$]?I,QCIW;/щhq. RȠY1Ƥjm(̸0%R9-a2PݩNWBX_ܣ3Oz ,.la32߭CnƮqEt;UuYxG&ÉkOx2:f$;Քz56W-A>Zv(:W긤1#[oڈ S?w;hrO}_R1{jÇkf om)h4q!d^vX# ~tP8Q{v=;V3"$Vf(GB!d&7AZ{.cyŁ wixI~5X*LmWTQtH{o?~7ȫyBCzX|<\r x~og ޾w=t0=NeֶZiӞqhȀ>/c >m_FmHkx2ٝFusDl}EOaB͊ (,UD$۸H{ wdH?^0xZ+n𞬷ban|-rN -58@l^o}DoSQfJr}xOf3Fٿ9UqskD}vױ7.Tpw2S_7*qvoNoο/ۿdB^}4}мpxu QFriRBŘc4+3L1W 5\^r 'DKUlyC2fPUZygmfgc]1f &٠J}JRwq&45Pf.&19R\Łm^;p,h}~pKS~`UD8Wfy.Ʌ71V7Zn"g3"Kr)$0]=,B&hHhkcU[8 #9߳e; eęs8fx8d'htY׬X8胒sÁ$t,g5-ٓen$AS̈2(3Bه`:x: 0TW8\AFkEqA&xҋ8_]G# u-\D_ }eI*k\ gA_z:.=%"y9+N Bx`CAEI`dBsR_n8pwkUqT^#<p1|Hm:U,L˔^|hf0iL*%,KSWwe105:F(wȦi?9u2'xJǹ{|TI+QkQڧ/ |Pokqh8Uċm#ZXX`$J kF#D<(RyFc»Ā}^k~_.ᆘxs_|s24cWُ^ٕq km_[߶~:uQXZ;t޲::8.>`aȽ2no-}[e{àa MM1H(`ԬtIλ0H\{ݳF3l k׺ۘ1װlQ@Ό*+2Vs.'mgҡ2󑿛JJ;ep-B,B$#|aR'Z\A5TQhܖ>uIC(kŔaV kZ37~e7ks| =ˆ9\bW<>-x 'P3OEQFVp磨P0^(#W|rDyfkA>ô ~io֎%%Uwc91w F4aw"@u389kc.Ahf%f0(WLl 22E-Ϋk(tʄd3, CyG ^V*ãc?o'[VeQâv84M/3Ve>p_Z\@լWXp5HG+i ~Y4BxᕎZaddp=0P$NϚĵE9Sp!qxCƲ.uC듁įDP8shSOi/]^)Ռ_3ϪY.SSӺDctp/Asp@ݿlALՆSe鈏B>>Xvn=_8MVAzny\"D;4OԸ3+OoVO8sk(ͮA^ZS"x9[9A㐶$+|f\1+\ڒzg%^?ϊcz4g`]Â%H_6HytƔ2K =5u`MjYÜ P2-0 CkuCvnlB9*YFJL .ۤv[sǗ*bCT'*:/۵n#l,NRmq$ZW3" )࣋psn$Lw 2ӂ~-~WW0:1ֻ|F99A5iSx >`x4- cα+ ie`O&vS:5+*mpQ6MԚ" iY1Syl[3Z^m+1S-TǍSoc cfɰSw&"15Ta7ٹTL 2஗BH|i~E30ĭC0섽MGB(bR~ΏiK,`Lv(X-t83e3wqk4tczv2`+㔷#X$N`hKH໸$w!2n$x[k[Һ'hXF͌/sn̛VbwڞiQ!G3 vQKL'p!zqaec6c;Cv<3(\ǣ$faVR dQE SIz3ɮd a*9ukʹ%7k0ih]Mir-\4MГy.{wJV3 1QgxDA:rzwcN2^%C|l3~;4$\BRS]*( AӼa٥a?F&F]ۄJKW݊ڬ?Yh{ m`|>s!/U6hi ?>ׯtnMQWN"?D>Ip\㙖cWoNY$].\ɟpVy>Zӂ7]﹐t?iL: j*X`X^3ǰ h}Weq,l% J+IK3ySIg%b> @ U~v|!OҒx#/ ! 4%=Khlě]CqIu^]/<(f3O|=#-b6Iِs2vXb8̢ m5JJ5ѩ1T[Ӈ\Ҫ,Kګj_b9Sk0,oaV%78e4mBG,۲UFsyB(3)õ::gնi%~Ly?7Co_(|4mG?{  /&d?b. LJЈz}uꯔ<;cP731|jPan=zqdk'v}$in2s&|SZqiAw˻~ r @()z^C`m!6Czo39 $ B@W">Q|!K\^ "Su#WI,CSKUTbzN?iH feT_^2=O@s3ҡ$=+tHbF,#A,b]_ok+ C[Vŵ?ȾHzz "[ $yu(E/9Om0@|b'1wgla˺_گovb+%oPL}&L~yO\ŧY;sވ%|P {(k0to`1X=􁚐AfjPɿ ›bReNH*뮘L|~ vx/?|egɤb5in9m1_?Ybܽ`pl? jk DDz \!巓[4Mb+#M7C3{TdEb9CV>yM~[\&< nzn(x ݯUv~3TuTzTO={0vunu\A>*9OjDF<ߧR#h,3Qc&t‚Dȼj;#^N3l<ίҠ<Nx7FNN֣\NnXjAA/ S.ovd_|/x ^Oar?1Kɣ bzR`G3uʭJ9(¡D@W'4%z!c=CMb`\xKs~iNi `v4%֦> H@5>߯s?ai :߹a>9U&E? Vs=LI}P$@\Kb 1K -/og~u`MQ:,ך† a}e#?Z f^jϤ^a'%k/vX*{6$Os[(:y\o+7މ/ Q0*d^Sa( xev)u0\u9$X*B#ӿVqs~adf;KBecWsJC[g$ m3}ofe-VN>( %r~ҘN>vIblG⨐3Q*3qs +/dF~^>$E1 7֢`6dQEf8ʐZw‚tdk qg#$&/Ra, ?Kc-eSˇ2gYzh1 f0 f u4)9bܭ~4,d U[N;3-MILܘrCX7TE; kzH۲1j*F8\\ʼnxt*LU>D/J@_qp'3r\i+Thg95VBlmΑ[i=.gccݲoyE&6BxϔӜΛP}]0?q/׃]7TIwpqG/K7qn[, T,BC/P טkչ :w&`HV4j?#?Ui`o䚓~BW6v(ٗޑ{;&hP:zfk%48#gS-4;4b+GLs-`vY<b(u\>lXWCWk^yTQu4 W{oo _bNq\\0ཏJ-S{}>SBߟ}hΏiǹNjK_!+?%JۀHH?n?mrڇ?+"'a3QOG =+.+Yuux9elvRSұ]~zoc5ZVw侕UlnM:;n%}A&|phG:]\zjTbz @ _jPրh.Hsd^Goʚϙhwg6{vP,%д" 2`y{!wVNq=&w]]xԚx=I%|"Vsݱ Ө՘3A%mOv<5 \㑈@_!$%dL]^$>~ds0PIJbC}#K*d?U)A̩~k Z7%жRb;%J?FAeoВbUx{X)#{(5=e&z8&ˆL1wR&э(npqP撺5a '[8(]~;>S#,!rKqt]̞"Ճsyۚ^f3}*QC-ٶB{Կ ;MMFID\w~eU֦NLux.EJ^#,_ 鵐ϯhN3Ɉ+C8PK 029V#b@~^H }XыNS./s絩pZ~cOxvX`^=ӷfH M@eVs~.^چEe{3%OSQ= AFa7p{&-ӢAj$AhwB_ 4X]bFD'6T7׈ p*@8z,X8 k3A" )ufv񞱄窈Qt4Ző-#W tr R5y/cVy.QFm1y gvOJEwm6uw'lF?uhKubAgXȜ%ʗv4LZ'9t\MzɈfSt+3ҠU)/|{k7DdV2HF1i|?l5'BGI[N'P(.ʇ_;1 DJ9`+mrz#[gx`ZX#;àCzYAf~H y 4Yc%Yaa'b- Rm\#ͣģ- RŇkY{c#U2ܕ4B=1-95tȾrJcI͒D꛸sIԙA>]v K@mژ"1!GK=ìA>ܿٽe}ҌP;ICu;EAPm8/g* xWÎ!J$檙1#:[:x#pxGv}~D^\wkvDH=$5/i)ÓJo vaqݲ9?^cGq%FPOۇԙDgoJiM'ٝZ$~-ʂ?:F,f5N4R/l ]^rG&G-*\gYcbJK aX8aPЅum@)>l ;l0s ;D"_{H5X:|0il Cp"6uV VbGv"bS4fDyM?l(Nyݎv8CU%9ZO*>A.8 X2H[dxC1p.tF\4!Ύwcc 2YGڷIBAb Kk ;/_Dfi|ι4FgS3ࢦ.`ZCF9k->SX&^3SoIcSN&}xy*Z=pVKף[(魿/l^ RY*9Ll_4L2Pfr}Z \ Lx_ wӸM+|p~J-&J2 =׆4*p@V@RA+Ƕ"b1&Lhtw#ͺ`؇h0_zz\VZxl8YӌW#R Ux0P{$P-Dh^UY2{0GUHlj^yyq3@ڗOVV*OCM#IU9pZ\UN =NVF4[m"8GdEbNL9RSaI.q=BB6;HMÛLjun3[y >ܟnÛ/?Y1A-_i F5U*ҋ:QhCĎ;qΦsA*Bۘv(ǢXt?i ˣgk:"=Dc0?`AF(u(Lþߨp ;_;#2U)]&0?%^]`)]h D{p:(g¸8Ft:pOOGIXj 9LeҐiqΎ̥ic"cNBTimm@m`Qp9ܚ{ǁR +˼Gig^՜$ Yj/5lޙseˍ@yB$z|BzDtʡu `Jn7?Վ}HJUf.VrŽP ̇g<&nUevIE#~',ȑ 4#2 uY A7c TRAСYWWH`{ ΆG% ê݄#xs5ɪ'![cKhz9.;.:93"x4nzjG" (@BPP=sfZMd%=5*UG(d2!;M@ݲA*`PNpgRYnN|Gw*;uM(ɾKX5 ]Mܣ1Faa? /MjQygk_mzZ?e?$$Bb'Ǭ1@a' K\b#W:-$ڻPa[héT};ܬ-4 `-oxfLk(e$ntQsaLBoMzbӻus6lE}qňw{LL!PD)= A"|rAܭBO)i "멞IoVW}@;FI.yݜВL@pt,+GWFvkn !pVS =j~A­E݁ٛގ bQ3^czǛ7qJK)_ugh5w8V!a%Jf3.[ _J?ZKɳG9$Ӳ?džM[MKDKGa:8HFHt}DLȂ$%+;TXQ'{1p]}_cffY˒՛ofX[Aɰre]l@PK[{a4ȫ{,,pxI?AXl D !bOowg>;\mO~d}~LM3>iB(ICo/?r0&(υdxh 4x~`6 v N?:Syv4ɫǡÊW|Yg]e:(s!PـnRD]䰉9eɱZc ~YdCZ]oJXf<7-#Bc Pq٢"*j.aWQ.(ب#H]Z?,Rm@Ƀ\ާZldP$T{fD1{gi G@`=q>ugpA/nG6]; rY=G2[ X ("0,aH+֘,*t?Pw*lBcma0z:A >zF'%%g̷>QϚy)vHIPM[ܞCu& W ,:Hvpo#8&Ġ6D``ZIf3Rp3p2Q62an!5fS'Ic1⤇=ףFnGECG%fYH";"ۊu!!P$U:a#&tMд%s*u~P?O199y]`o{OH (5N:M ߗ]sMLh!Í*G0U*!j?\7{_HԹ%x8/T;q`?Ssh8OĞ}4W1j J/$on^򋊆{O# uccSnz(/PgtO8iKYiZ?Kc^PUXYQ]F:/c]λH`F\YNJąIw1q/4@~Jzgv!^XcUHĚkcU&痜JHSH&4n zxFD%'XE&}7-!:Z`!'nƪ9NCh; dw3 z#ZlRa}MEFXt|7vCմE;*̹ψ oN$Ų'ʑݕ;ϫ/W[t4;tZ]Kl-8m$p 9Am5Q0}L*:-zO 䚺 ө7ԇc:|5W w М<#Ļܨ$P讇dwbĭCϤ<9yGOwNfּ3s¾ͅjGw#; Vu/Nѹݽ =N]dsF~'tL~ۣ٠([S;W8} @֦n2aka|5kKPfGf^W 7g(~g 6#3B%e;_N!aCEʩqGNv+%^"y8w>צGZVnt/<4*eq7W:\W>u195Yds{={]}1gG ]r,,Ʃȯ )h{L\Nppxs\ȠC& e7de&+_LVxV`(jdv*WɟNdzM̙8}}ԐQ󨛯х_:YNsB!d\B rdclӳ( ߐOXbՁBdhQ# iҽxnQb#mAsVQ1u;Dur[uy_R"1}Sayj?y?|#!Oyngk̎n'MGMe"54p[o&7GZ"@(c{ʻ-ɂwtE`HWZB[ܸ ooF;Zkv5E856E-!}@+Oj}+R'XsUݢ>%cqrnڋ{[ko!TrPEhRӪ qpg*+Uf܅^$bhcri`Q߼X~K<z'h_N֨$UȒox )("4|7`Pㅏ!^^uQFF*>Rw:^gwI's"x"]̒#KiLN?PPCNwJ1fdfsGީn/"@7N:LB)]sYxȿ <μ>c~YX(NV- BM']H %ԋlruJ5'*/P #VII JHy;6"nxol-` .z yjOF̠ٞRLJ1AN1Bt*I rٜz wǒ:>|px۽$~eE P&$!|Jnveu\+0_Cn=|x\:׃) Dv&6}zŽѦCz?_sr՞|eT[kB23!w'OH@ xp]Wtv`)!RUy *X9`WL6}u;rfm *uɗH@๋l%nA2^--V`oBnC'5aqPth7dys?| _[ѰMn?X`,^33rF5M4@U\Щ[3^x=1D~>71i)t̞[{;x"5`K}x37~VW[ c~q4MV2dX KzER9t|2y%T_[2K(&v9LF P*Sͧxg׵OKǎ1튠4@训&WvƄ|#}'}{e29q6ÞQ!{ j*=:Ts| $:.>uc8;SDCtY3s@ی;f(s0/3y als.Hw gښ,WOV}\kIђ5sωnnEQOg}cWaHB9S6IfhrLbs7iIJt{!O{oo(5~Sxκ԰3krHQĈT&+'аѢ)0肑BNUϞOHj9G 3KvcO82?hB'(`B.ktED| DFT^7>/QFu۰=*RD<_ka9sAÅ 262;"~9 |uGb|bpIhm808%u˭V sr VRASopkrq?KⲿomvZ\y#PDZ4{q,ci!<',С$G Tgt0iaۄ@ ؓ?AbsC/na={{KIH0St{g3UH䛷a(҉7fAh~ ؋ UOүdFX;; qS@]{ ,!l<ætz hUm:o2 tUŤZS.49+g:Ygfu  CFm7#X\{?gyYv9O&4Ǖt N8RH'?4ckFgS;I ne h9P ux2oSckb8Do igWqS%d'Pž}k.2HA̘GKwkYۅ$Zsi}Tc, ע.wRAIu\u_k tCa?,:DPlm~?s+w CWzc4`ldO-5;Z&h|\!sX/b>p]z < tt*vKz}{oşg!8}FwǨBeVJ5e,Nք"]IA@uP! B:ީYgw35nR6H~XHFCu2l8^:L+X x %Wu{Efw!ץLlp1qD6T4ǖ]A[c?˃򆮩E5́^^1Q)k_ce?,] M oWc:4fv>J0v~oʒ<]^ QU9'݂QmB"I{=xl˟ oW #8x8ݛI&SS~Tk7,CAF.zʅN$t4;@ǔ+NH-W:y{:.8U,<*+NEHMmpߝ˯;cGHKDp9\u拟J=SAGXv2ܨׄ:a.$n}h9uu?Z>{ᩨP/o\̧/6C}s[1nlܼs G`:yx~y,08cbݩnlkOej|#L10\bc.Vf ҘL2C].8_ƩUf\V\rNn8NfߌٌT'ShiwmgKc#k͡n5=89'ʸ+6CvN,.qgFȣYUԧa^~l,y1Oms .0["߼.F [Oϳ zvh_x;LXAĒݸV"ɬ=(.JP;f`!e_zq޿UT Gn]qo* Ex&|>8zjN݂^HɗNCynzaqLƆ<ٷ_1avFV /j bN,mK@.q/=E՝L1I^$G7dUmvpJqyvr!2S :bKيz׵luo+"ېAXj= bH('y{S.XeB+kDuY1e7X;<ijM 7df^#Ym*\0× Ulh[eB"[ cG|ARiD30TO̮Nq}a8éLW;d=4]U'qYǞ Fȷ\g 6i9١h+v|0ڸ+'[,ooI\0ʯR>zՊGމ]g(fIcpN`v9/Ά"AOxYl`<z}7bcsyre[7m˖w.{?csr x %1+RZ*43fAfrOTs;=_gon\-K?=p_Z1 3Tw8uD%ͦq;Kz\?6TK 4>9ԥ{8<ч)iFq w;:1ا׽vᣑ#qE<'ų5f[,^6sz1N?C0CNw}:gX]xLc ƅcNMΐ>o[_d͝ i5l3gBXlwa%185Ęx:XN9.; >L|%qڂp D"L7MgؘX;&ͶT\ZƱ5 @!5jZM.;h( RBią*K K)f쪅;wnyɍwv u86婝cp]vePw̛8;x0ꜗk [8)$R]'`g/lp~MEHѭy^(#[]aǴVxCN"}fw gRģ~r &hTљ7-liaxT0C_p5? i1 \:  fnh-+}\zM3i/f4@I#ZGDgHoXq &^o)ٖnk*NuK?6ݩ2/98͸ޜu+ÒrS;Xdmr$w>?~ ,=HM^|T9N[! bV̀D1GWLbW0^ &%l!H>-)!?UJKپpaP)k;'+BB4s6tm]s|v P2l;چğ f2p2G?޲["4'/0&Ibsq3%.2`ńkZƶXSe1oi0N"0 GVΥ͡ T]Bܹ˕,a;:kV>BH\i\0=yof 2?L- k aT~I(:{M"M,N _8P HD#d:x L|ӎZK?aS;=-V u(V_!Fyg=J2rkP)2wNGz2ML ?CYEE6Q =_/90 kj\m3tO\S0y? oXvD$.AtLWbdIմ6?h+}_eVu$J;ÈqåsL (@l[+ LZ.)OQV")rQS|hP"ød,ٞ@QnR\`NlA@2A_!B(%u- . Y4r~>1\\ [[r41$h5l|E&ǏH[+G ?K_EMqϙYV5^17gP;x{|DGel I~>b'cۏNϞ=J$xraMK̭~E\_z3,I󪒝,/E*A;ꒄ>g1eۛz&,aR0gXb_g8mhx"X2uŕR(P,nA q K nSR'iJ(-`GOBcH11H%?7'±t[G|"(<0a}\p\Mnce˼|wxFP[fWg50ݜh5!>"0^5Q.݄#I$BtgP_|ٞsRӺv[k[qhaw#zGJ 3뼘)$I[GMp哫N[|2a9i5bFQslٌ9Ld^ٜysI qE #hLp5l_bQz{nؾ=њjr ƚ,`]dQDV;9U33rnVQc>^G_\ :i32!eN/r`@Y []_գ%PIbN)9l APBDVbn"suN&vXl0`sRZ0` {𨽶N 0ǎRrJm,и^賂'q޳9Ê!2uQ3p]MCPwNl r%*e:ZWBG61)_BVǽc״Q#vWD=?\!n qezTW혣YG:B %Rggd{0\qnZgsKaB@ BC~Ϳ!>)DSL]4 \]h.t"*-,]Rxs0+.{ϑ18~.ᤅ$/rڪ)4ߥ9F9gD]LYYSb_-Mj ʴzÆi~[BN<˿j&z4Qb@!J;4;(  yWʺd `58RU)OIkxH~ MERb KfWpZl#HB I5dAhIOgxM2#:g?-axo:ԑ>{ilf"s7_ [$^^91ı5~6gj5Y37vs_<(Z~J%%xgPwu}Db[T]ʀTvs}Ѕ::~!;\1"61S_ u>>4}^#L\PW L.Αs4a|" 鷫\wgĄ5"I~\/xN6u\SβCX+lDϫ{E#ӵG. t$uD};~DeH rBffyx}f:k6:gYW&rB;ЕɬICQB~c E 줤 CBSM=24݃11C'rhJ6DRORs5O6L"KOaԈ﹜ֶm@X?'`zjO?_9Gr̽ϧJdY"]PmDcq_2}( (kRX -IƲir>Q޺9D -j0RQOUxB\c&Ï*zc~vǙo5}k|HfIjV]-#俯] >ӔE$?qP鱤\Oqg"tbѝ p?OjfBOlGÍˍ}R>DD5~hFf4Fќ!/AyxOX)>RN _<}͊ W/%QDZy~ldAe."- Hak|o~}ŒBB ӕd$AGѺw٭lU'wB9G"i'OƥAHb7G§z3=}\zG;_߿ʣ{,fh"j'ĕ?,; K!&D !R C}q-R_ΐ i(eSO 5%q70 s g2%T-oF/-_= D]%[=a߅.wxgvkX3.{|mj8ݗ:%iLGWc[|g. 0@l{޿K3n_٧*`Ô=e~_T#}8xrص8Ӫ'Dv0vZe&Os$':`99$y.gDxz{N)f3laB}/L$->4#e]ީHo?yMuI:'^bb~>N=~sZ} RϱǛ ~06}Vaqa!-|s]o17](w-vFUU`x'ytG?GC;+ y _1c,o BF}Wz?O-78⾼[r0u/~dAJ;X[ fzN|O?Ъ ٱv6_.om8qKS006N.o<#Jp^捗YSuf\~'9,f_`Ɵb?^|=hLJ+vΪ>k@P}n?S۷Ѓs(ȗPzʧ0 ި/[:Cy[ZSџCC0}ͷ5PtS0c6yz <EA1g?/7R}=_vQTr"ą+x 5wz}?Ow7~+hfQLRb$ ܡdߥV\HbQգ0XM. ,t6/mP2 3E].`>Ց&қ>C4wQW?FŖ+~\+T7gd{E-#-?(XZ߲tX{7Uz>_J@3[x ᮾcN(;Zyuz>FP| v{ll<43x2vg Qdy]ӷ-Ppnl+"lgJkۃJ>daw5GŐ>f?mm`#}]VyYcwyˊ'<6L2ؼoOt}gb*hܛrsh&6A4|`tW=~XVMެD JO}v;D惎ITq1~ bQ"ZZrYs+C[zAJ\{L<46JcYpq )L`#6-&~alۯu<+d&eRq3>면 Rzq$`}WffbPQhWO+T"dG Mg3gݎOW˫mu =B0th9^mnh鞧Lj e,\u|`"GJYDhX9mwOƔκޙ/|%"c':RJ׊D3 yf6ѿEɢm"δLOAP4DZ:'{e7ffH"(o#:c2_ҺXw @%[B?95%3??{t+kno:LCĴ']/vs7X:nAq'u zyYN : a nqea5 44{Ad=a1(p:rWf ۯh)*!m2k(; a6 H?P'f bI[6}yDg "2}( /È=_ ~{x5}4I=pPS~T?XE܉#A㞛u<_ j_@Ju閸D 1Z!iTݓ^D%@;%P%^:XJޡXld =VBG5&QS,RcK"(* IuKG_zoe_B<vǕr?mվ꭯4+1v).7Aa$+|,l&oٯ|"a` mX E Nb AMk679ˑE܂oA1|ڷgQckKp]vcMS;AW?hI`-t㊍,Qwdk<^pI~v5vӥ^9 ؍n܂ \u  * Y6Mq-CDD""cw*~f\ P $Q/շnA`X03.Lؒ0A9u_L[`"#ㆷA:C;= vqW^}ڞ ฒ=c %gUni΋38掼2#Y_F6pMcwJzw}p^ε<+|DRi47'p_:}Ep]Wn}u Fhܳ @Y9E@ ȝld yDYWef6A.]! Y\:.[ŷ\Rg4_5X[l6.Ph)ZC@Յ_oϛ 'ݔd"xm}G0=/ ήݓM-o.'<+ߢkk[7,EPeFg񨼗&vdGᎭ[ 9*!Ȕ˒L T>WD5ܰz7kJXeG:`V_('u[*\̾r!51υ{+螖aRAGwCb.  rqNӯBەw2N~#N<].ɠ<ک#xwl.`-Y]KK:qA{z(-g^ч5^5QmJ~YdP4 `!NJuMrWz!6m!%";"Rf7$Ţ |SvopNqo^jkW:YlQUU=V*#c4ure]KٹF9=wW=ՎN`_9i:H9ʍ; Z'qۏl_(.FUJ1arLFk{%^ͪbmI붺~ބ ù>1/;׼yʙug9TQRjv~LJfksr-.t;,P/Yk=zRG(uWq#OJ'ݏ5~svvv$y`l&Lt98Q bz;W %x0hMZ{kvJq[U%uyMrU%1}-Q W8_YtD tfƯԻz=ћ+rn烮i#uj=4R_;EtHOWo.s^U1jrA\UAg~u7Vtg8#Vd~/O}M(N^=T^{tN/e$z'k9ڦQ ǷcDD#8OKs:q?S_-> ۂ AP۹D6$T?@9cHdAd~DD&%I""yĽ2Je !pȊpWAa`}{Ew|A:6HJ, q (AU$ E;)&qc)c_OE:ؗTBIaGQzwSśŒٻ5*AvΣ0&!/ˮ8Is-Zql3؂ q(D*@?J6\չ0lyBM0fsWh}h Q|TlC_ihߝs&>JC TK/;w>OOO_9?Ny9AZ~0?)oe+^8lx w D |&S!"8\>[<ǛO1![ޅ"6@ž[P5O#'ME%EMZ{r< PralWm7Q1]fp~=`\>?^ "Z "G"T‹/s]FZkd?}buNݶ5uȾSt?spAߛublupz6=MA!o#a6RnwUBtG Cdz][B SUDJZTInPE'<{z:, _:}|݄0$qoƜyb<\=i _m?:h-td(㝎Q~`I]j1j[kiwP\" HAH[I#XCmvU-%\1nppP!8 Ä6Cuh0MsJ`\'4z/ 6s\t(y\GDx0q=M|1.0m"Bu<5SD O츾ٽ L+MW/+O[j׮xSzq# < vgj| 1KOsξ u3{`gHԕ#ұP8ڙgtQ!C uqmY6;N=P^(؁Jj F D4IQ=/=M"B!d];|^-{eu'ubԤ(؋.c94;}Nj'1ꁼ'ocP#"(lr40R\㜃p *X残 .)sۈfa ۄ6NЙyKHdizZjWC$x9\DTpa`QRy1l7=s> G`<<Dv1:hF22G놻sso~<ĝgss/p~07qݢGy"$Amk 1+~?]}R96>G9]8ׇ?N7Cb&M6:/ą_,DY-L!=S^ Kesžt88DN Ս C#oaۈt8 MqÁ%t- 9 6+8Tfh-Ԋ֒?Nt‡zksGNEf{N53=%W,-ҍϴ)HD*OuoG AњęhZ,ٶMj>;~|KmFuzWZB~*A}lyg{/~L^ϧ%;Ou3=X2NrKl.8bSģр# @ `z '{wҋ>K cUOH\vE꟮/_6Axe>nu!\Q8Ī!<?G?i[0PO÷0 رbŶՍO=(8/#OLd\ ,6#1?EA/ qd! T T meՃ=s,=-')|~#xa A`|@m Tf\yAt|p:yD=ïN#le@nSX8rgB{"')!h  ɼCqA!O/vLz C!`B-65Hf8Ͳš}-`{SSƦSn08v` v5 tf6B0/G[ _ur3UL0nIh@E5,c+1HUPI-{TGp{O^'攱]6&=s=4wg!4!WpArvxlـ檦o4 I1l[ q\ۇcspy Ʊeg5X@<|I-$v/0:T]ʯ$g#X*zdks{y>d_Z!AIs =v;;tuRCy4yVle<]\ټ|@2Cov  @y P+ zkdj*&P Ҝ!%ꑈ\Pe pn@ piO\wu tĞ<2Z*0.`Dۻd,}PCP4N\XCM yq) &s+S΃T@'td,(a^d4PITQDTQDTQHQE QE QE!@PPR5M5E5M5EQE-RUUTT//N̝f!NAݎm= 7zq5n<[~lOa䯼w3營J qx<4ݳ|MAeݖD:WI DS$׾̐ zւw"S }&|}<;ү%3/$"H T4UJ23IPUUAB4UR0BU AI@#_o3Ƣ$"I&I"I Z&"b"VI`E-"pD!@Rd IDI@C%Q!@R!@RVBVgdtTLDM@LPDDDodnM$ vRT]u۵x8x5^ iƺt@7Ԅ)P%լŧt阌Un|zs}ubsc~Uo$K7ogi w%ܥ#u9i }KЦ*!kXrWa|%A@)yhb,Ir!T"*MіN6Mvdarx*oe:멀N TץP9:J96r}/\N@J'Y񮅑{xdBw8! qf3l,d7ҴԪ pt\W7s5gmE@ A5KSS%hΏzL0 ER\ ״%O]J6Xuo//> >.9< HBc|X!z5" ,s [:R1w&J n#V<8ʇz`@@5M'"Qt#= 68 K2C]34q}p̒Nw22 A%ul8[D ޥmЁvTǚZn;_t X`ʁJ%\GT&Ji((U&@0P3(@&` @ $&_(PB)*Ȕ?\kQWUUDQWЀvT К J,@J!0UH t]*A%S{=GByfʄi^~8w@ԎJ!Ie0@Aی?$";sRKZoe*:̨.r. C"ك)<*bv25#2n`?pWܶ#k]e5}sl3}++k;A]VLF"qtlq!?(KWH9\PbǵhoIo_>"컢;;f:OۆqifG?s[t\#M ~~S8~%UEM'q@f3=R@$ |s&5cWkQa T&*DWO???qflqp_8nahWoGŤ~slUOe-?,nkʼeW_G;a#¯ۅlt>|EWu:Zlkd]o.i迯}ݪ+W}v^n+mS:oVɬ)иzy?zsY]\wgzg?/?J|>_hQP"!AC(agc+5|Cɚ$%,Sp"L38S! lM_EPIHmS\_3o̯7s@Ute%3(K>2}EYV +ԒCF$5f],m?$' F[P hcWI!>\*;`ۿ"^(L?j7oOu sC1{=! ,o ;.Y ynh] 2 ~^d(*bamsh7CpfOC>OZ9zqPd᳨! >}T(AO}0;!29JtO0쒟 LqUxq7Z-Y\&.QϜD ٱoY[< mmCb7-]b҈ۿHF?읳=339It4uzJ0KFbB'F@:.@GUqht(Qcg@(kڍ uD2 O b0!?\cc"WIs/ODe@'i~: +@t \+ ;!yzdYDPW9-w_V99Xt\321Pmޮ> .&L Gngz2!~8:=gS G@^h HCLcQ ==>xpFDJ D`,o:)+̸IiJ>W읖+S tԐ+7R7FcvFRR?ֶ2>Sv#fS|]c͚);&/ Vn=etKVLƀA,Sjnv׊&αz8`ml"(O zF_&j-%'+_AӇ)݂le8uM]PRK?~okX'^ߊQP~ 9TV7>7RD:wzGTKyS &Ta^iÓO W6vbGgw_g}7td" Dy}eEq4GW yKŋ@:ȸ2ctua*NL=WHGO5CB? #ց n4RQ0+6Kw6ٽ Ff?!;yb`dB OwO:<Mէ^͞lG!6DZ"l\ޓ^ @ϻ?ss{6_Ѵxϧ;xwH / > /{IcxQc`&d~`/ [/fr6?9Ju2MG }x>x/^s HPن*1 9uYv'Qif>j%Q1$YDuɝى~}~;a3 $C)Q fӸݮQ\?qt|-Љ]^lCU`Zfm#{b&@zi H(&A=4=eO>wQDw'JXwkw>pԶ5]&,=sQ6:hu\} E7G9su.i#"b6A*"FFJ ʍ +M6nUT/"=~S"H`|(6)#w2T2a3C?&ik?7[R#K-_^o7kie5 llF_᝴{]Euaa;ߜmՆ5a%-Auox\ (Q.o oJÉX,ܞv~k-8Fdr /~ՔO۷;OK;tqacϺzL4[ZV2 ~`?bOAdt$}Ҙ75 eb)G 1c'A*C81,!Mw?9ͱ2=##gWy|8YC  #j?K6n?T\X1:ъ2ߝc׌@N@$Λ1EFqQPJ R@L* 6pss*:ϟPKm}EKⷜ'ƒ6'ͦzefŧaz 2{jSc!S戗'ndUe`^Wi3ݩx?W)NфN?CFU%*L=ǢO9H0_-7)`wIG2@Tud3Y'dnp.Jl<%^jR̚kyH"+˹5 P뇴y>!Ő@iޭ(QQ j}X p}h`vQR?o|BoѸ#zD%_|#M6jcCؼ})"" b2 $%y#o5=?$BrIS1rv<*hQ\ի_IPfx2.uߗ}͔Cp?:!l-j18fsN 1G̋g[c>VCU\#rx~6[ZvBX0v>s3WJW>a\6sƲ9\>pCu9:|énU @eRE_ҕqwh =I@̰EAH ZpTK-DH Jh|Ğfx@*¬OP6 r"y|F1-(FP% &7rԣ@$r__?.L:U:B w ZEz885%GybS\24>!ryT(,)w۱ȏ'~\WZcnԉscT/% )nᯁ\\'toLH IʂNQuiEXqDB^pUĂstV 0egmu4ϩ]$Ո!K]9,h,5Y B MlPY̺|WLaZF 5ۅK-6ގ#C`x6]>F""iwg 03 6 #טv`'gh4ŕ@B@o:_$0bmaHʺj܁,MQ&^&U@sZ"T\7:=?4!B~>SNaW ܱ"&!=[68-yǤ7}/ 4OG lwׄ2 R"ŅbhH({2eUȈS nej1ury%ۚ~[ۡBT *DTeZ)!*壿|u3d,G*[e:Qvy=Ѿ8 C% S8_9XFZJvS̔5\oL%u6,7"ؕX%te18;eKe_\z6:g<\?<:A$.y=?_n-^eZ-=qF]6`mh77bθg1\ :g $4 `m)+.pĔ$:I`|w˞(sST&)_E5Aٻ0S$s4M'1gb