<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/include/crypto/acompress.h, branch v5.16.1</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>crypto: api - check for ERR pointers in crypto_destroy_tfm()</title>
<updated>2021-03-12T13:04:01+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ardb@kernel.org</email>
</author>
<published>2021-03-02T20:33:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=83681f2bebb34dbb3f03fecd8f570308ab8b7c2c'/>
<id>83681f2bebb34dbb3f03fecd8f570308ab8b7c2c</id>
<content type='text'>
Given that crypto_alloc_tfm() may return ERR pointers, and to avoid
crashes on obscure error paths where such pointers are presented to
crypto_destroy_tfm() (such as [0]), add an ERR_PTR check there
before dereferencing the second argument as a struct crypto_tfm
pointer.

[0] https://lore.kernel.org/linux-crypto/000000000000de949705bc59e0f6@google.com/

Reported-by: syzbot+12cf5fbfdeba210a89dd@syzkaller.appspotmail.com
Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Given that crypto_alloc_tfm() may return ERR pointers, and to avoid
crashes on obscure error paths where such pointers are presented to
crypto_destroy_tfm() (such as [0]), add an ERR_PTR check there
before dereferencing the second argument as a struct crypto_tfm
pointer.

[0] https://lore.kernel.org/linux-crypto/000000000000de949705bc59e0f6@google.com/

Reported-by: syzbot+12cf5fbfdeba210a89dd@syzkaller.appspotmail.com
Reviewed-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Ard Biesheuvel &lt;ardb@kernel.org&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: api - permit users to specify numa node of acomp hardware</title>
<updated>2020-07-09T08:25:23+00:00</updated>
<author>
<name>Barry Song</name>
<email>song.bao.hua@hisilicon.com</email>
</author>
<published>2020-07-05T09:18:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=7bc13b5b60e9412a7ddef300ce2c661eecd1fd5d'/>
<id>7bc13b5b60e9412a7ddef300ce2c661eecd1fd5d</id>
<content type='text'>
For a Linux server with NUMA, there are possibly multiple (de)compressors
which are either local or remote to some NUMA node. Some drivers will
automatically use the (de)compressor near the CPU calling acomp_alloc().
However, it is not necessarily correct because users who send acomp_req
could be from different NUMA node with the CPU which allocates acomp.

Just like kernel has kmalloc() and kmalloc_node(), here crypto can have
same support.

Cc: Seth Jennings &lt;sjenning@redhat.com&gt;
Cc: Dan Streetman &lt;ddstreet@ieee.org&gt;
Cc: Vitaly Wool &lt;vitaly.wool@konsulko.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Signed-off-by: Barry Song &lt;song.bao.hua@hisilicon.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For a Linux server with NUMA, there are possibly multiple (de)compressors
which are either local or remote to some NUMA node. Some drivers will
automatically use the (de)compressor near the CPU calling acomp_alloc().
However, it is not necessarily correct because users who send acomp_req
could be from different NUMA node with the CPU which allocates acomp.

Just like kernel has kmalloc() and kmalloc_node(), here crypto can have
same support.

Cc: Seth Jennings &lt;sjenning@redhat.com&gt;
Cc: Dan Streetman &lt;ddstreet@ieee.org&gt;
Cc: Vitaly Wool &lt;vitaly.wool@konsulko.com&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Jonathan Cameron &lt;Jonathan.Cameron@huawei.com&gt;
Signed-off-by: Barry Song &lt;song.bao.hua@hisilicon.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: acomp - search acomp with scomp backend in crypto_has_acomp</title>
<updated>2020-05-08T05:30:41+00:00</updated>
<author>
<name>Barry Song</name>
<email>song.bao.hua@hisilicon.com</email>
</author>
<published>2020-04-30T05:10:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=c549226926ce9352dc6415931f4e96445759215d'/>
<id>c549226926ce9352dc6415931f4e96445759215d</id>
<content type='text'>
users may call crypto_has_acomp to confirm the existence of acomp before using
crypto_acomp APIs. Right now, many acomp have scomp backend, for example, lz4,
lzo, deflate etc. crypto_has_acomp will return false for them even though they
support acomp APIs.

Signed-off-by: Barry Song &lt;song.bao.hua@hisilicon.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
users may call crypto_has_acomp to confirm the existence of acomp before using
crypto_acomp APIs. Right now, many acomp have scomp backend, for example, lz4,
lzo, deflate etc. crypto_has_acomp will return false for them even though they
support acomp APIs.

Signed-off-by: Barry Song &lt;song.bao.hua@hisilicon.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152</title>
<updated>2019-05-30T18:26:32+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-05-27T06:55:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=2874c5fd284268364ece81a7bd936f3c8168e567'/>
<id>2874c5fd284268364ece81a7bd936f3c8168e567</id>
<content type='text'>
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Based on 1 normalized pattern(s):

  this program is free software you can redistribute it and or modify
  it under the terms of the gnu general public license as published by
  the free software foundation either version 2 of the license or at
  your option any later version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has been chosen to replace the boilerplate/reference in 3029 file(s).

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;
Cc: linux-spdx@vger.kernel.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: user - fix use_after_free of struct xxx_request</title>
<updated>2018-12-07T06:15:00+00:00</updated>
<author>
<name>Corentin Labbe</name>
<email>clabbe@baylibre.com</email>
</author>
<published>2018-11-29T14:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=f7d76e05d058b832b373237566cc1af8251371b5'/>
<id>f7d76e05d058b832b373237566cc1af8251371b5</id>
<content type='text'>
All crypto_stats functions use the struct xxx_request for feeding stats,
but in some case this structure could already be freed.

For fixing this, the needed parameters (len and alg) will be stored
before the request being executed.
Fixes: cac5818c25d0 ("crypto: user - Implement a generic crypto statistics")
Reported-by: syzbot &lt;syzbot+6939a606a5305e9e9799@syzkaller.appspotmail.com&gt;

Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All crypto_stats functions use the struct xxx_request for feeding stats,
but in some case this structure could already be freed.

For fixing this, the needed parameters (len and alg) will be stored
before the request being executed.
Fixes: cac5818c25d0 ("crypto: user - Implement a generic crypto statistics")
Reported-by: syzbot &lt;syzbot+6939a606a5305e9e9799@syzkaller.appspotmail.com&gt;

Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: user - convert all stats from u32 to u64</title>
<updated>2018-12-07T06:15:00+00:00</updated>
<author>
<name>Corentin Labbe</name>
<email>clabbe@baylibre.com</email>
</author>
<published>2018-11-29T14:42:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=6e8e72cd206e2ba68801e4f2490f639d41808c8d'/>
<id>6e8e72cd206e2ba68801e4f2490f639d41808c8d</id>
<content type='text'>
All the 32-bit fields need to be 64-bit.  In some cases, UINT32_MAX crypto
operations can be done in seconds.

Reported-by: Eric Biggers &lt;ebiggers@kernel.org&gt;
Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All the 32-bit fields need to be 64-bit.  In some cases, UINT32_MAX crypto
operations can be done in seconds.

Reported-by: Eric Biggers &lt;ebiggers@kernel.org&gt;
Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: user - Implement a generic crypto statistics</title>
<updated>2018-09-28T04:46:25+00:00</updated>
<author>
<name>Corentin Labbe</name>
<email>clabbe@baylibre.com</email>
</author>
<published>2018-09-19T10:10:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=cac5818c25d0423bda73e2b6997404ed0a7ed9e3'/>
<id>cac5818c25d0423bda73e2b6997404ed0a7ed9e3</id>
<content type='text'>
This patch implement a generic way to get statistics about all crypto
usages.

Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch implement a generic way to get statistics about all crypto
usages.

Signed-off-by: Corentin Labbe &lt;clabbe@baylibre.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: acomp - add driver-side scomp interface</title>
<updated>2016-10-25T03:08:31+00:00</updated>
<author>
<name>Giovanni Cabiddu</name>
<email>giovanni.cabiddu@intel.com</email>
</author>
<published>2016-10-21T12:19:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=1ab53a77b772bf7369464a0e4fa6fd6499acf8f1'/>
<id>1ab53a77b772bf7369464a0e4fa6fd6499acf8f1</id>
<content type='text'>
Add a synchronous back-end (scomp) to acomp. This allows to easily
expose the already present compression algorithms in LKCF via acomp.

Signed-off-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a synchronous back-end (scomp) to acomp. This allows to easily
expose the already present compression algorithms in LKCF via acomp.

Signed-off-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>crypto: acomp - add asynchronous compression api</title>
<updated>2016-10-25T03:08:30+00:00</updated>
<author>
<name>Giovanni Cabiddu</name>
<email>giovanni.cabiddu@intel.com</email>
</author>
<published>2016-10-21T12:19:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=2ebda74fd6c9d3fc3b9f0234fc519795e23025a5'/>
<id>2ebda74fd6c9d3fc3b9f0234fc519795e23025a5</id>
<content type='text'>
Add acomp, an asynchronous compression api that uses scatterlist
buffers.

Signed-off-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add acomp, an asynchronous compression api that uses scatterlist
buffers.

Signed-off-by: Giovanni Cabiddu &lt;giovanni.cabiddu@intel.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</pre>
</div>
</content>
</entry>
</feed>
ѤNyedY\VjS${/XCܒ4ޑa!ڥeRܪ B
.ܭ89H'/y8@Mow>oMk˳FHğ=DhfϤ?:xnx}I <4'[Wu/wfIsiϼX;z7~F_;rA8񲜝8F]IY,/DdJdmSffTg&+	ו'E@T[q^M%d/7ߒwK Wk8`~n*bI&Us|{Nļ\/]jK7M߮SSt!@j1dۊ)!Rʆ/X눓ȃBh0tjMY,ݹѕ	DGĭi3w9t~^ļ	c̯+߾7uƜO-$?E6T7񳕝iK}YkjV/9n	mv^vdjPm=5_D
E$.o~#6^:sVK,nE1G$#I q	2cI:>)Z]/7b10ae",E HKv%$ɿv%N<1"4ڼ:KV&VI8&}s"?%8eb8K0(!I=Z5J*d9#Z&@hDRNǢCB#3ƕ374 M,L|ՋNΈtg?N}`^LJ>Vqar#UVwcTX7Fg=q0F%rG9&mT*	596^||N'5}jjѮ4Z"Y17&vNWҬVnE$]/NIHZǰE3y`?@+eYدU\шCrq32"	%'RUܻ8+9) ADanȜ5uusƔ!P{kjt:Rஏ= ?
mlG|'SGEQ`ܓ)4dYDK%D8].}B-laJӪx*/!>%i1hDU2\6Kvsߢ08]?T{:δtT	HB~\zB|r@葟DP)b!wQ83k=>3AWjZnz}õ	G.3Wi swC9};ƨv6i4kI6넍M(> zjl$\m=[V]DpqhQbDi}]}\9xl̐FġxņNLJq8~>Z5ASV`S?7{TMdը*bP*C+AJ4.x,6}fǸQFxN <O| 3=zUYx"=PսO-०85?.<ߜy<٣HDRB+vTSwbF77wB*l`#!GX \7}"vqˊDyrmmO:n%ST٬Vnpsya:Co(aB$֢Y}6geN+
p,p??ل<?^g60yO0Qf_r)唾XL6bGKM\G
	 N#)hA^vˆV̛,3\:^^S.⠸'j[,GQU1l\Ys'	͋Emc91w2;;hdk[I0zWjvՕE؋| n,XV]%
4]ΠU%Rv@5jw &Rݪ*"6h7y/W*qvnQp%Գ`Za"tV%%ixj?`Rh6QKٝ`*Rgj[6q.d7v;?fnw>M:ol"9P"^i_ꀮM%2Ѳ(WX]=]XG+^>Ã@O>ޑ6 ;p#Lu|2)f&$ed:?M0XU]auGh(`׎.-qJ	bB`P }]zj,[UUߖT*NcAútX\~;yre<>H t-JPb(jb.S6?OuY&	G_/vL
<ė	WOW9qis]7nGkQTI+̴O$av<g~lRJCAfOnd[-)]^^l/~ls5V!V@w?|)TMB$cFĺ
[a]24aqHP/5UG}aʑ}R
M*I©}NaHaF?Q_Np++({=HPar^6m:RӐ([D,$_c57Om^ȄICVv8([Q|1וy&ة[Sl֚>((YZ,ݮ+
p8TFGM~q}T=GN`p1t]w&/W=xx"Z*FdZ]`U$Mم><ݰ"uEA"elPu}X:0CtBK5ZaZWԡB{+NtkU,a$co7=8{]ˣTׯIm=;a=.H M*O^_yϤt;r7צe5K½V> >:B:L^Ԫ䞥oj#Zݚ
tԪj6S)[NN,V{"Mi{X+d~,ǮkoyCOEIk_T}H'A}Za=㲅uOn[6:#X+"
x8}>^x$D?UeOT.V$.VM2G$<y[p#+]Đؿ@fw&b0δY>bF a>];F⭳ydV?Ԇn䲏bUT*	h&KI:C^ d֬buڄkP'OpJDR2Aʙy䬥uBF%wz~U8 IPglR^t\3ǙEN 2èk\@^R6{t^vS@bNW^w>p=]!d(!XڧpG%(ؚ;qٓK^H@'/BEB'opW23Ϥ<O+,qN+
[r5^DsARP7U&D(w<gb\.du^o+b ưCnSXkʀPA,vou+ϐY ٟ]Fvn2 6p|]Ǝ'Es2<XAw}!sA#LĢ:.W	Z庭8T-xlrKO=d|
*XǋZvF#ջÞB٧wk]2a,8Yn9Ɏ2[Rև]uZvKOBpP[[pkpqz˕kD`[^+#^ClrAPAF9)J>s {bn#Y&
	d<3NKCFuHIf$QW9(\]z}kmEyDUA@f^㷾](tB'TZPa۰cr!SőK&9`kC!JqZZ0H/4YBiB7uLB^0PƩFY$&KgNGHh9-.@LWW:3TmAL/Y<{؎ı_݌ȼW>ҼGDeAh/hܐz']6Ô]*jm 5DǤ d\h6Us+i۝~p9	<,"HE'z81]xߎ(R|]@¼ɛA #o`#ڜؐ{=pHR}dsZpVF %	nK/pIc~G+H5;گ1[|FZfKsXfi(\s6=1C)"Y;s83,7B ױ&PՁEL!f1dN'f!.g&;+'	;{D|)	^@+(#?k"BHGӷ^PGmpN'qo- 	ꙅ$-c3ݬ5k -1 5C8pQĽ#ն^WZ[ i1	{ upMK8^
vA%Y	*ppmsO:m5\Z{TzY@zb5CIւ$MxKיPqfl}ݔG<A 
uܚtRqj_6r<ɘBnmmhG4;j'3}3(y}*[kh5+
@f2yo!j4Fyí-~!Tt/\KqO4c0]k,3}mO
TU4{:(ꢉto9cAv;$IrAwgkaX[SvpQDBEo´My?O{Es3s*!4#Sc!FcKn%({$>Ɛ3qJX[A=gm4ңh6y=>'Ŷ&7[42A/]|i\G_L$OP/UDfuC	%Xȝ V;6D<-_dw뜇k?Ƨoιi͢>&^}Ϩ{E&&Pg\4țvkmiL
Sju3Na{EK]-p%XS+W4tc1m&7Av.5b-u3P&&	MD|,Bϸ4V@`G!ah~5=e,y]`Ue ⰺmKl(qK2;ʼk|f2U&CȊ߲pD.AZXWYc} cMϧqK>XKlūȞ"%0[%A*l0>}kop0=Jդ8XXb]%HꝦ*>Nv_ځL5W
#&/my{4J.c\JGzڐfNCleia^bٵ@8H%=q/{G%VpPI4OQHuBxJPKIۥCH}q$^hr$|`X)C/Y܈PoW=x#tgQPP?II'yG*hJ{-&KʲiIHn{'ޟD2W(/\AҌѰRk~sXWVgjHZj׀j$)횚4PLg(}ѡsd(Gb[!urAp
$-pTCE$'߰`%%a_F1]Q`,.wN?$'^w^QJmm	-؎|t%"!wy" M%Ts3:9wfͶh LIDOw
>}tXf^%+sN{FK}Wy? Df@\hƟO;QORp,r+VjA=SUPoZS&[( vZ|E:|ob3HḐ3ԅ4f%0Z:/싳ܹ5ZBOh0)41x<:e1~4VX
:*YS !}btd#|Â "/}:IpYɢ_ȎHlGߵۑtO%}3!M-Ht'H.y_}g=*C
 9"rѠ.2$-2?KKsM #KvkPm} X8(6Bax_4m_e4XC$2ojcFt_(rr:;!J=0f PJ6'i^kH!%gލlGL}y OKFfa{ONI"u
R9A]{jFʙ
h`\U4bCjQ. k͎ 0`+\w&I,wHg

5&+^Ok[Kj~U\KO̚"L㯔ai=QBuj)JGAO#kf:˹)P	 "΁'f'yfQ\;[[lh3Hjx<M@Zb?5p_Suhl'j<]c?ThRHz܆@WG"A蒦Q~ǲx2R|tÉ64&ٜcqtqWE%..{@h5Sdr3^p+0CFlxPjW4OGR#`=	̬F[*)j['/uAVo!Ӟb6+Hv|F|=S)5'mM85*@YjOEGd%!|>av80jX`ʉ	JN0TT&)YvU୊eN!: Ar$94*ʗku9zM g4A>aC3	'H{'

s`<))DL%KAM &Fl (ce<x#HKøztZ9K*?;l&=ʿ!@[i"qRad/|	|&
F!{I:8_K] T)^EāRySF~(,^·S>vV`X. ?}~$Ro7}Xy`)RU$M) ck3$ٹ2_l5DM1{DT	CXO'iFiU@2;۹ϽTNcqY\ޖedLCE1O6MvߗJɻ]ZLIA+YdRFlɱy"4>52ۨX'l3q3`#/	{hZl;pdgYʇ{2:mm]ZϘ5T*"ǀE#|3Xʗnn_8k1rJL6B}Di$5_,JVBӂt̍6YbH
d8C͵c` :;DUƱՔf49,-ē"[ƫ;$MAn$8Wpwfu#):ݙq]btE%jWjfJ: 
!x8*q8,zE2%`Va
W=c}߸e}Mĵ­Y[A"b	O|[U;-aY|'tm
iUiJd|x>:68\4~<X^"{@U7굊6] #/ţ?H$[ǫe22RNm,yyGþ6*\
'KISc,`N473feFyk.#R.TY :9KR7]2!=Ffoۛ{LY_C8,Fʉ5ށ^֨rE0܎GbB'	+OIc}EW36FR
.^5[Y/lAt&ά]k@WcdN~V_˱tL*1Ҋ-G;U,Hr09V?^ qq{\ QGMoUc[IK 
c;[wjU!#g kgɈ>=9|l[Ya~^^eF7iI)"sR	(DmȂ-qLPϊݩէ6Y}\"jX^Rl:/L:: %fM]6;"hCoyF#ۻlX54#9 CEͽK+T*,Z*6ĲG/D]Z_+\?7zK:%cKz$RIbA<< t`B=cSS۳iiPr{[ncv~q)]ۥ96Zv`XG.{ NwOlP!{oπk8mCFX4xH9I|95b1^hK>lԼX6TA:hޚۻEB$jkqK]C@vB!dU> 9^fj=>H&ccޗE^dYڋfymG0!$SҪILenRvب*W4>0_t3`fYnINӖe
6(^'\ܹ.&uHScnKhQ&%DNMH.c^\<|j|L`:^?[>-1[K[-H͠atEZ,z%'L`ER"ʑEز팵*[z`V'&>D\)(Hr!l}_>}d.u`@4`i16ſsP>k]p󲠁B$1n5ۃASG^W*(tQ4_d\R.܌(eJ5T9|HK3au\SPx6R|jp 8=H6ssbuZ4KH%/W+	q%KC2y/<S2&,yM{ri6%F.dDawg@G!fHȘgDeh=?70l'\J3̚fF\uPJc9;z'I}G`QXm=%$G<fT.to0XJ@Y&g0%#fsI^(	})=:3z ƽNu2QU6RgyFo,{ 5	[cvH͗a-`9W1C%԰&5A]|&3@M>8[ݜΞ9\O_|D/ZzX8Cۿi|]LoJBI|WJ 'NAzl7˿qIuxځc|ףּ>:dhr{mGH恾OW}lrn[$5lE|qY!HWL;qgz=g_5J?v.ȃ@ eK2<\Ew4本CehxOQ07O^$,cV*QYH#*7w\|u@j6<z-ŬVx}-V%g] O`f$]{E
02U4eozSA]<wBroOtX	Q'ekꢓ&.ٝޱnUʴ6%wMIo5'Jn'\D-eY օh+ޏΞjT:wpx},(;e DgBD"ҋ5\a5a壎}{
&11>? $=m qs '-%*Y^t&KMV|$+sURfhaԯ0,Q__K|WR>0UqK㞀b=\+E.ga(pL0.?X@WimJzԧ$f66	&!#k[wvVA5VCTOS]i#휔u
wi\62mA:5OfWDW0iw>7/,$;rM8Hb3"2+`EvܽҒucR 6~:AW9Vpa3<=|h=K&Zph>Cf`"kq8,?TK7㉓^Doc`0O8w25;|.s[4(39hS$wzկVZSF[No(5pDۥF^+5`|ts+-!)BZ偷6fۚd.ٜ:Iel4&AB]8!Wm7r)YFM&QxX/=xS\m?Gqϸ0hsgJo
¼feZ[UFh҂m`6s]S<kuq&xӿ5'K 8k6O26Q+|Y&V/+2޶)FKzAd˳v{I-)>}$]p@LrRbp BU_p,vHݦ$\aK7LRt[bvh(.Bq&Zȕ8 Ĵ${5<3ZAx״tk|(acP%hBZN_ުIx6"UhOpʉ*흈9ߢW*cP/I]ei4JF+cHnq*nMB| S}woJ_9MM_9,!Bg/ZٹXfO~.>[	';!C:'yl-!./Vk7yad,C #cWfcR'+d9ǀSilH"u\z8p.b7`N,kyE-W:·|z|<W*2թ RG<be,f PN=fkڱQvɤ6M00ڋ<ADkR>[Fupek_BZ:fAuxYNN4Lz&)oƆ˰e;,\WU,wn`w{߮Z9}jGEg?3%8;}sxl,a3fL:,LٴΆ&nxgktrvi~xm i;@NXIؿY+'%/^{ xAV|w;oZ/cT%mjN㳮`f[Qeoa:ǆ)>0h#1'Ƽހ ?JE>^-I)wz\`3Au=!S%T{Y~V(\s1pI_fojS0zhb#{{ߦ;U<@=p04^i&oqܴ41C)UJ[8𯺅	vhp,!#I1{IVKUH]%`##MZ:lFF5k,/g̲rmܩud&ЛU]i㸦X5MUoZ]ITz}7ڵJ_^Os#mcOG*XE	4GTCw4FKX}O( _bq0nEDK[blQ˹z
ٞ4Wf1{{lo	:.yC20сWLMXѻҜ0%]ZlSoozBu/&Bzko}RP4hvBRۨ+pfOOT84 )c~Kk>%H.E\7f%<Jb3,3|c0:$mE1?^YoUhn6Py%QYz^Ed+Xӷmon<~6a_H
<?2K\(LVDojՅLR$(e@I|-VCגMp :qFZ?*cmsiUJĬ'!Wt?!7*4 i!M·N0ʈ]d+e66Q.sͯ:=9^-IDe9qͨ2FgG,K0]#sj:0
'mEW5v|`v
 =	z#rVm2@
^nޭw^9t&~>Z#Y[[p9GPCO&o[>ĩ,m
%2/Q`Yɝvj(:)Byo3=[҆|SѻU&#*]$8}kj|h)hM~J*0Ҫ/nGHr7{_=,ԗ`yfpZ|JFZN,`!]f'6RmW`qλn:Pj8P>zFTa=jLækU}5^j6H_g(Nڻ6,bSR|aP0Gf|^A75	J(ds#62Kٛ"KOr
+R0mTȠȲfA(j@0G>H !,'%ifeՐt+ ^`7/td [YhhY)&r;P$&IV'뗓I\``{ !L~o2^p6νM-Z<H2*F
I^$ЖDaLD$99AESnHɋIfI927i]IFEWrZR{7Xd2x,?U}'G)T+XL!U6]t4"e%59&K+9į.Q$S|^".!NILXV[.?/2DE ]d\12voqϥuN̙e5Br/qnЄF$w.C_X2_gl?Jd:fCL98l Ɨߣg-jgrwuѯЊE!d׶rzEϘno#ΞcKa'1NZEIxvh[tKjf<wZCu"V~kE)ҴD7^k$~+{)f5.((wBp.Ea=<}^Eàx=VڲHNU%F.,|[X)hpoĉ|L5t;1I /?|d9Uͼm[xmhh5䣎I'*D\FȊ|["cNf%;-_y+QW'`7{"LөaClMQ$tۙ`fBfTc$ceMR~cXp)my96X|hZ㈔xdzOW2˼m@g
3[G:4j-D}):;,BRv*lg=-z~A}4ZV|
c6<]sM5j)adq=߭ϠsA?<{(i!ʣje]&WsgcMb?rê$jj=s_
IK6&OK-=jYU	Ö&ET3XXז\`v:UYn!eoZ	 b0<FԥпÇ
*C>CZ[/ZJM/(g˧uVQ8=`I_&9)?!iK$ V,z-7[rڰ_qLA xMj1j==GM_YhRt+&'d}h6ai,F1Yғ<U+\ ;/-QR*KkrqZv>c쒬EɶQ<Jt(yXV7:r{d%ѱa5a.#Yf:PXlxCi(3{uuu&w9l7TOPj_C(u#iqa͘
QȿL_Z6&~:v}#>B)IXk|a`\nmtG;?\"Ë
wo,|w%c;uTo]&vRL)΍iWlLbgRs\P?K\g>KTtKu~֏PWK"ῐ5G=/&uӴ}<g>բ)94w+
ge~,K_U[Պ SpA&7^(WB6C["<C#7AygdVI|~j{e9\VŅļ,'fe*@m3ր3 GԵ8/I+T2hjU~l;H&u 
VE!EZV(+%2uv6ffC64cKrC9FB
,Eb.kk%`3q qiΉK8+| ,cn"'zMM}i5>$8CKn>Iٌ)'#QgRo$U?Z;y?.-y!SV2!k:ijaS5D_}ծ4T(6J[ɨj\њmLˬo>F=DZV,	Lgꌹp㐵HT|nP+D١zIi8S֞O%*j o{`}th[hj}5v1m5IiG۔j=[UըRmřl6R'%]5b_p){tR(|.VYY	࿪C~Up]0ZYjT%ݼJ|/!4zȨ$G&/W}r f@zAwgo+rNU5RuE{> _yrؗˋa`ߧd&`ShG?\TޓoJhBT&AkTTUEe{85:1'Oh1SpIoZXEVep7ǜxSw).-EJd<Op~?P:d_$sh0F1rfC.N"m"#m@sg|Ѐ-/Yói:` Be0{~HsWU^yId{[uqka}6WdRv/kvk)N{˵+AdF6F_Uw0!')JdIgm+8Cᔓy?''5cX''۝CZZr{-O\[R=&ӽ11_0x [	ˎ?"b0ҭ{]ѱu[h:Gv_PO[R GtB-dGP|-,٪{llIxAu*ǵv73fE*!ilHxͿ3c+n9[
V\>p.5Mw2Oka{\Pht;C5Z`
EFFz4]CR	g(,(K}lIP
v~y5[[+6[є7Ges1!]SI); c%p5zhfuΗN&TB7؏,5Syxvo=wBAfxD;)]zM;Dϼn,:CO;ՔT$d'vU
?lhLKvJ{=8_p9bAƁáDHu^rU>VMgxN%
FiH`679_S9ʿspGZ_+E0qwS!aK0ݝ #mhs_v嚺	ZZ}v鱾6A8>:km7d$~{Ehfsү:~Axy0cLʳ
cWK*:pӷ`hL3>FL2ȯ۩LbuKܓT	b`[Nci3Q%'@oxlznǑhhjGznSJef~
8(Oa.v.Hutm۠5+<cL*)HX}J=Z7_3@}4Y/͒C0$S{kǌ-l["{	j$([RxŐ&NB
QZG|=iD@&,|t
aS>:;2w8AKƯ_|2ezgbydȔkjwHa&Q,'~_,% '~JǓ8L.lAHsN٬_*:'7,ç^+#$P66E5a.s+
е9i9Ԥaɪ.F(EݎDV@	E߮׈ yPUd-ԤUs~i)?yBx)s[Կ]/Xl,2Q\\BX*6x!YK^(N;9sHΨi*2k]E~lUYZ5T\GQF[N0MሡVVk25F"Bp]%R=\:W0H̐t\x=_HbG]Z$bd[6	gcv{fH}A-ZI~.INRto{ oi<h8idyaOCpڭ<lA\wי{.`NƬFǇH|E}E`OF4XKmwdM"jnz51`]I ;,AMm2~J^O%G4<zvBN޳nW$g	S1V )U/b䘡f!Ji",~ ƒO^F.	_	H!Pbuv~EάdRc OH5@1&.:Q!e$5CMđC4
xMSP +f/BY6{\@,\2%gv<Ë@ڍVQ6kR=&! ibڿA눈ٌ%G]2ZiWܥemc64E/%~G.QM2SIAzv4嬐<b>z ۟b33׍L)g7R׈|[0ZZ']fz٩!w2&lj-5Rn^BQBJv#	"+Ax>;a[5FiKfâϫ{TƑnm(XKvjXe=ӏ<sd&C!
tL&A1.!MM,Alp9˫1>ɔtl**4cab}'!w<#ߚ|Fsʰ,DP_G7HJ>8ز&N]sӷq*:/Ϲ @lfJ<>TUS~>>b8]e0B0؆/E(zzCDMlXBɎM4\pΟIN|GDgE+DMޟ߻Վkb%ֆI"-VT[ʁ_/`t[,'VAgs ~ Sr_HQOh7Yfeno ؓ:4 ZYEZFb>+)x^]}m	`I{
w$=e1;bSWV2NOO5N#fUc15n1 7F+ȟgnK͒[m	|]mC~P>GgnBXVU˲|lԎ[.7((kH[stNE}&;lA!tGK$:w4_Z8p.ft=>LwfrTԽBԜ'1Rf,7nI;v#@}孄l%2D,$-Py 	ei4A"{
%{;zT2-PnтZS!iR{٬ν֞U
Lg
rM]\b{|է#R6Tض{lF4g Am2Qb?龎7yxTGWnN[w688eRڋ{R>|}҇@l*gJ6BXM̜bVm3KX$dXs2z|!6D\kߩF<Jk&ٮKH>"aŘNӴYrBz~{lL#&6I
Bfx6URv&!; B?=zфhڊךe+OpF`мi~`'VzJR{VEyR^\ۚCAiF=jHj)TFtT*	ј ֹz;o/4]]})|=酢1,_OjUZjBȈVӈ$U+A>*zӜ\lZk_;E(Kv;$"0'l" \ӫ|{xoaa~5-g:MEgcDȮ C33!qhś]>lT*j2%W.Gt*IscͰ5jNNRM8\C#౴^Ki;]폮nYnЃX=sr;Yngmz&ہ-hufL@7}¥m|&ֻ%g.Ksiܴ	t$u ^kg\Kw/4'"lIѽ$G3n WeW43|N07F-鮞&Eo.Z"#'04v%0#rJ=:đڒ/XD8̅sa9 5X{|	ܖZԭY0]WB#aAP	L5gM6>zJ f	ֻK.9>`XwőǠ%`l}ɴ%,^x8}Md4.ӓ:ނj5Koz(fGwW.ukJGEAq\Ym=W+jDLc<c?eטM5wk[{iL$DhC?[v{ד3'cq[Ҝ&W/4x>̆y**вdE/^zgdO#y43ckA<sl}R<ľNQl9?"w6h9[quTl=DṲuH
M-m8c/>`x\9߬rIPۙ~CϠOߪ1 ڰw}3qBgUZfA"͏Rk{J-U-{cK;8]B0Dld^3_vZ$9D
N!=|7L&BΤU%Doʷcm^E׬bw3!rMV.Sw"ڀ+˂t۽!vf5u-Oefe"Z̳^e|ZnoYdC/(,"XC/Hck"Â{rsfo&ô-!Nfμ=34pz"EGogMt'8f,658l4jZvU] ՝t$ٰyW;"gZ]IjQT(:c6M,zj[I>fs~};)M%޻4=&W9gE6Jqoq *&Y\dbtP;UUc]SUX.Z^)SK"S\2
;W0cCBߴǬ.VR֊mLKrP-4{$2)'?u^$MmX/__u1Qf	̗/!ݳ[Nra?R s^|3йPL-B2E&qZ:aXPނ5F^:HP]0opJȍqN׬YrLEea߁KeP𒎿\a0?ZoK }#ġ)@&qCϲ;qW(i9s(?W(Pgw&n
'ʝ}u3Y,3M5]NF#,(j#%ÇFz嵼5Dâgy(]<Mͤ{ʿ+?q«;{Gx:(#{YZܪ7|+}|s׿ƾKďgTޠgҏt_oYxGUv?j44m(M-!@
t=bT]
jvlɫ56zIi܀vqH2I2c̊GF䢽SXI192ԿTc3
$ڜ:mgrIqks7Ѐ^wD
#Qb'i=#lm<AIczE(3mW2!FZdVsyJ$m@2*[_UkV }%=IjOAtϺϴhFk~]5@]tx &PWˠﺝVDq)qKuǵ
9jv鏪MU8FMDg(]ʐi5{D*<(8{Tؐ^δﱖKbh
sx,bMtYIxZQꂒZk'!WEkН$&e˛v0=>}s~G"}o45@O %9\5$٨40D5uL\	D
7
A-mKFw7cbnݷ+\Jw0!̎liӒjHnTEv$)WUe!vƾX˽AJcC[ezu[x9XȸBr/B,SQ{܏_,uʰ]Hô
-_NF .rza~j^78JpjȞAu%ƀcF$pjԐ0ʄT  r"rY~dBVGo坢8NwGLaUٮCC:wU?Rj<7hMT^(p
;%Z0)<IhQ*0Sc#F@{r彸thm!FodJÃV3ZëQ]=9t?uȚ/*&G)*!G*!aNƲZ6cj#ޓ	ӵI`hDC5jFg(ZF	E/f2`u>|-^xl2ZNHU}9G̦;D*{2OəaAx
2?Ffѵ`	E=#DLF ؓT0/֜-Va7~=*O$  >+ O,P"ˢ\Zi]!5kw4	&={s +1dbnOu\O<?`Z%\Zտ$F5eɔep(Bd	ʬSEc!І^]bS"؛UYOE5φ/a719b~ 11rR\1E/) sbB!Ҟ6>,SS-C,eDqF'5G5@;=>M:4wUQA?PVp)VPÂoFړ[oVQ^O43J%E(S;mIZd% k+9Cl1E	JmAkܙDl:RK#6+uN%1M>Ej=ʤ5]#/M`~lJIMu\w0T<RҎP2dlkT;՚z/ -H-to-eϺ,U+zlYmFFaVmsa`:D8b%S+$0LZYH:$<WAnY@g'㱐]k=3l/bri,$k2ڢzfl8MbtOQhaRBg/mDҶ}I;>~209}6b1K+rqi
 <'4KJL]h	W[A (Z,;;Qyb?]8f3X|qPzMƅ3+<~{1>}ɺz;%Md-2(VJ-O-oa:]3+Xnl;_P$7y:xE~11㽵 -g@ybY,47?l(0Q[_}?OKUMRjT+L=<cN;ʿ˹|fpk.[mYx;kU#AaNcz!$Yu=P?)t1q-$;hQ9+8p/GiF)t]XS<	\%){NZ!-9
|H$iTĵE+ZMd2X"GK'nci]	cӻRq0,YQ$-LɄ՗d9IpNp{)l-BPA>?7}JjMBu"EZ&秷xY'8fqX%VSh9(.Kátw̸anq@ g?$E`P; ~T׊JAdY[;^&fOHA:b"wJ
x9E{ÕLT⺹IṙU6~x4__Y8;K_ⅴ!yi@޷qOuە/@`Edv)W$ɦjcԆ\1Kdgt!,LU-o P^t1ԽLѳ=-xdq22כ!Q.w^=!)kkarB,fBLz gf]cUtsIv-ɕLhCpr{@9'<VKB?ZR?JiVS!I2dBh.-tcO74jإ(N0vO,됼1da-(%RҊs*Eoݱ$ToI?:Ҭ9NCP˫j_-žkdi9h&1&CuMGsÕl]TcsR%e1-(v		e6~lsHK3 !
ԢL:^BE`x0/Z[ i"Rv7/YprC|'Ҍױk^k󩞏W$-cᮁfYegʸ=?(?֯O'D~al_Η 70])I+2t\;Η>-YfSo}K<6&o&sF{,ɭVp+ ܆.͍ 2|4+st~xt{խzB+odx*t+ewE?X|B`.By@@w؃K6=R,6lc&Õ6,fBj]60`LE	Įs{'WvY:m1{v"Ǌ)
h)Cwcr4@z&]	B4^sCg5?ܠyӌEb$4j?%,Jd4n q'`<r\0RGN]Ǔjh@7jkꎻmrZU'pJףּ4~᜶UQd%}>rLoH6rĔߞ>Ao\dGw96-j&ǪVjU܃R)]a&&2t+.j-NE7	BT/%]%MzdH~J;"ff@PP)֙+Pdحv7vFhhНE^ft ġezYi$3g]iR5dÝt7k]E)j(dFȞXzY=2/Lwv9Ș[0Njb-ͮnOIg,J$&'/x@z6 KfHX>npdcnvY4"{߁--Vr)@8m=h꒽}N䈤)Tj]ttrX?cEgZ	΄)7fbi(pv/uX@v-YD!{_l2.ǗzAk9?<g:CκN\
m >G`]W= oAjw](	]}3y7)J ^2RURW?IHh?O㻛IutA[^C'"qb"m3Irr/Hrt{e!T1 grHR/`9(/G섨.T+ZMi5RÙ|eg<8b4L|xR[^8oKlFFl@nqz|j]t٥Ԍ"o1dJJRn<(|yh 2tIQφ8$F98n.xg^j4.pˀr`;Jd} &u5.&L=^s_`#;l||3\,e[QoVW(A+H.u\&yX8JX2j<8W<¹rr_I#qL(}XhT.;@@s!:صB}fi/zVX37aIA:'UUUm{8!Y]5b+)~9~zCQ-[0~՞YГ?ʖ,G,^
hItvjXuq˫BST	kTҒef[_<y ̬?~7fqe~?i҅!2C}iuC+'@;rR;*UpHwL8l;Ԩ_$ qcɶ0{8Y g$Fvfd<@յ#)"@9bR]	M#f瑞*vG]t<?[ݜ'*I&F:~2
cҀrB~t\j!5ZC1MW3]jsKX-7lg.Fo3YæwqyِKNol[%!
K{8ICA/Aر:vI: Qq,
kxKc(m&jC?7ȓg@p#ky39!3T+K#w\KB?$]3H1bN%!nѢRSa4gˢ<c!=\t6(`H\d 7z>Yڧ)=s;U9:F ?MBKj0%t G{N&	1	hۤlfem@OkGm|Vq0[ >z~w>7TZsE֐u!;AI+3l\LUui g@S`:^?,|-S.K|
H<g
3;Fv*uq["`+]ٝd<Ơrv+2]#MW4GyfȢER	`JfOjVը+5@wV!:Vu_UQw{p\e8+4:$$y6e1(6>`;RP?rek{
q{]344TvPF`dVM!үכ78	>1@@{ڹ1z^'WfV{"
9}.cse^i:KOhZXN$iYpnLTU OJ]o4"Z]k8̧Cխe[>5[I[}ўƶ܂{l/5Ofz[]9?Brլ7G{C
"6k&
h0hUm[2UA<Ydз'~BdvdSJ@Zvb2D`~)OG>,'·+OiU9B%=GSS@Z_4,dn-hglaW(u27INC.Ch-9 88!soD_{ao$\|!JYEws5G;ӭ(aI 2wG\SyTۭmmLu1(\n{{\[/;6puf#e?";1&ݑqasi||==qh.Zu.j<fBVOϽ]:)͜OOv&=Zt ק%H&WP>>JMnԁy[EM*2m?oU̯Ig>YC#@h[:̓gS2ycNڿSc9*O`.oL\Εp҈<'aqId,lc$X4)Q-ۏ14#o3ūeI4TY)`+A^OW}H[5	i[K/OPǽqoj"R4jُ7qHڡ;kմp­߉-J},86vT~Gv+qXڿ4"m"KZwZXoVLCaŴ[j[0<$wC)6XGʝxd #Oϑ	=lb )>sLU1}h{8<\@	#yك[Fi vMh&וB\l4-&HIٴ`4ːG〨5!K(M-4ՉNxtB!QoA#s`앥%m	P݃i3dA*LpQp4.g[txg3;<ًmk?y>Ow@׌Ghb61!->[]$\Ӭ PA#j{,-]D#ʆO.HRudW)]gOz_!DSw3qٰm-~կ9Htj𝚹L:=8rJxIw,O>xwʖ,8s8Ӊp>XBtN4jZB_'"hA}j,۝cj;G0v4Gdk9Tr!9.ۑ[7>Y~qz+`	6V+g<[ 0Η)W=7TFU&mVjRF$WRVDu+~T-HH$d^3{hI`,lB~Wh;+r4*3xY
ؖ	 ,xV/׈,n<GtYQLΜK-NO19)'_Ӌu8K{:yB@єE}5өTiѩG̿r/1J3V9>	dpܪ7In\6;J5Gꂳ9P8o:Ѡp>8;l (E
x|}r-{;VVЎ=a|ߪ~6Ԛ?JF
įHWf3^YpF̖m" ey\Ovn\b/aiq OM7ǝ~6FDY O<#,˛\~Mc)y3K9aV̰dzvQ.ln/z	$_osWd<lX%^&Hǭ2F,`妒jdts[CnG^/4$e齲zR8vؓ5;Nkw~q/ͻW:fmP{{2<'t"<wDC]}e6r(s,ɗ:8&miS)IR c)FVbb`]nmAV:--oQcLd4=۝Ji\EXJu v@"GЎCy̒z_ި}J.YriLq%i؜hPAokYOTxϙV
-$@ACs
	EkKY6.$<w䛷+dw\d4{pJH=INExCV3)Z2[{LJoǋ34%Ii2yƾyrV	7k%?lC%<ynSmH/hwBf%MutGL`-4eԚ{ m>K^_
B)Gz!~iF^ɸ
;8VA,29|ւA7^hzzGXi|78ݸDP@bSLL٦nCi6K	!|Y{3|5:-=]3/)Sˆ%8AVrKÜrD&QBRAJ1n	}Q~!nĵux/poMd8d4m&~=M
:	%&0\Kfbx@MҠOHYif[J*A&+	ncOGWW/kay,xK
ew	Q=h|D*I28QyV9k9\IYVf~6؍bZ5Q춯+U`vS߷lȼM>N"dy|Ը6z+C s{tȝx)IAͷ4ƟՅ7ڔ>.s-8MYBq۩TZf6
xf2g18u{FIuıJgdnKP>"t\$5jvJS7@uYBt|tlNXW%~L*[ȆPK&:CG|+CH3>ޏI5faQt9@A?KaٰI]X,	sZ V<'}uFTP$H/~\9;sGObNzXy nT
M\U+UKje|/ݳ>xE@, ~oWR[8|]OވԸ{\z!?pU5Q^VKA7<,z_3զW&F˄!\TdhH	]&.NkIVUri"J7egn\K%0%Ο;Gsid|uRlrh{UK-E9Zuf$2^vǗVp[:BZڹ$̤2brB[og瘛Gf&R|<+#ãǫj\6J;?#ֲ(;Q I$7\iMZHo%ɰv7)fZt;no%R 8&"m/u1!)كF@El497DEEZO3RYP)D	p$ǥiq.`$ͅ^7Ndd1㈣&CCH-f{aF^QMa{#n"ZuI~nmU4ztaɯ'+z떾a\cJ9PV>
%|m#s"m7mT-:$N( *N`w~iަqlX3:16}úΝ=|ĭuprR7œ@9EW%hzH2Aڨ77zdhІoi'2?	A9x+Y:yNò1,oU(861n|	nA(YzfB9 8pLD[]8d|Zn=Y]V{޿2ȎY(m䱔%`Z=jF<v/[tBp`ԤFtaT#-i'an4Op1\krJ[zf~d+\UrNG7nέnnC$<)b@t,/]	kJkDiOc]5ThF{4zK/۲.8
\&a/mV:}UP[JϪݙZ$ nʫ]޹{VҢkvRQ
-
LS@XP'o>7,`F_u`F\Oz٤׻Pkǽ~ /Pb-	*DoJ,
ޒ6t!! 4w-iB0:	gCSv(s0`&ħ^DKLPڳC_/%򮙁G!`4d6sNjeagM)Ԛœ<aׂ5[ ')[Vi?pr9A?ꆆ>8#ut1La{9I 2M>v3];9=r%ϰL4@^~4Tb2{oriV4TBGԽszIݒ6- 5̼r:Ek"쨚94%<`[w<~}	n̜ӹ7k5AINͼ&8"nKiƴ*|kGi%9JL2\6րW7>$<S>*v-W6Hy~ Z(d:}:gYMFOH֞K+fu5}a ,wD<iWۤF8 [h[2=ŏ'|VVУ9GAUγ<)BlZ9FjAb|+^qS(mF}Ñ\]>c_CddpB2%#;%99jt1檇i6&<iYk{N{7`7>n:{[wQ"Ar[|ՙqmEe:2e]74k}b>uK8G$KN |TUt_
	|*V;O=GYݘJ65Adﶺ`Unq*SC%ɰFM 3K:ἦ5un$0@&dz cO+}i,pܱ'{t$Wgʅm+Q׽eY[F|x˴ܕ]l+c43YXniI]ٜPAmt:]bԔCls
p*:I2-4-Ƞөv4K*9q?AF{{'ʋ|]1ٙakV{
&z.}jt'o[C&9C
U=B[}2ejgv5C2Oߌ_`BL+96@̛|pVdSbwT[mehsk&_UrX}#hKIv
.ȀěF5ї{Gm9$|V\>Fq/p~O
snԠhϏ?_ǪU&cU3ԅMU2Y_]:(3wNGv6-|L.6f;Gf`~[H>JI˅KϱkfT-Nb\<^B}:8ư2e kp?y=cO`{Ű1λ$3'.)$2Y\kt]Z
@~ܯV57-*AlRYa-P+R&/"GCov){DMZa# Qc{b04qS0AAk/dH_#t$nB.,ɲciw Is)z#E2T#LR'	َdh#bo||
k4IwzqPyvkUײ=k3ϙrH m!B$'6KZK%n4_ە;QpßHo4:nO&6v3V,n[5$!}Hnڪ2uIh&
g(ϒv?Aiv80!G&E	Փ?ow<=?ĔB|x35/C?/ S[Ծ?ڊsLu+PLt:ihs^=d;HH0/EOP0:B^ Ό[8WTcOW##awxv{_0>kZQk-%R}TlқȥDqqNOR[|޴.$W$dSb7<yor~HPQVKCZn˫l|Fr~:J|7T<4֨) y,0o4UۭĽ
6}<1
TMsô$>UCA.K~- h]߳[hqOY6ÛۅGƮC,I=KlH'QHtD?ՙE:T0C\?1eWֆl&su|4Q92qlӨj:r
#
nMU&d$mæ7jNXjrtgD,;7A{Zۺ6\FJfFqezCd#~Iv
VɈn4qhQMIᆐ|`IП
3ЮE%3x`H2&v2J㔙\Qk4W -Aj1z[5U^ʧ<eoRRZo[qD,}!!O'ed?'čKgHe%{S9g	3gTi3]zac[I~;xb4/٫	_IbGc9!$pH3Diy{kAf<~I}>l5fbc%}<ޙKǣf9lY`^DV
m]ƊT+`gl
律iIPעrX93zX`ާS5/M&d/+K.o#-dl.ݵ#7#HqRٴt~UfɋtA)i-\5,=ӡ9+Kz_yRzdA(,\|tS9S&T uƽZ9٭4շ}1>l}QUlY3QPj-2Njw-5lVGުUe@B1VԠn*ӬxLӸ:+p
'ٰ<DLa;x+3MZ~<Iϕ,=x5CGn<H>jbKs|ddNߐK$S,$ƛ"l2 շpb,Lҁ_8X(#>boqۙK~͖ͬtMD!󖇵P'X$)tXdQPm/z1#CE,Mc\z##_!GIUW5nmI򛖃a55
g("R5%RcHbܔIu1:Ҥ8ZQ컘0WPZ훚(FqkbDon ѥvm䤈`;f4~A74?_@%e-%zaMktx؈	H0t~}'IaFOIZ	a|#{_~rM\'!2k=7_L2{{A,ehvs{
O)E)~CRҒ*^ګ2;k6$_NVkr}hzS/n.ťG铒`Chһ&\zIi0%(x&y2[L;/0U%΂'|f4s6WdtICLJSMr;]IWf-	΀_BE&pj[Q䄒bd?5[	~' v{C`,"R6y(y6JW'k\!.Ў.1-F+nG}!Sxo+>ځOBOv5xlcl5?4~9UT;'{YZ3Ll]25@P]5͆+5Nia4_I'CvgOjs5HZ =RʹNo%w)6ee|kŮ<Oµ߯LaitOTf	ԟd-8Y;Qٯ;&nsU)5`3`@ӌ	~F&{a7?==I,`GHveCh̢{$œZLxKmTmEUG[xhk&KH`yϡqmSSZ{[WU9":9	W4*j]d=k,{tHѰlcU*PnQTc2,Ԩͯp)'s"zwNTΤkXd}oZ1NMLb&>tmˋ	o=C5In(S&6<GSr,y6bzi-Xj]ܟՅi>w\9Mͭ 5(:L^fI.I4XZ̉ҩ2'}{Ny*+of[䦒I&_[@	_LtZ%YD[SFy i2y"=P訯_ƾ1N?D11(37'y7:/!)~\g"hR'Mi:EQAzlPgTW&`2Qn:zUuw]5 9"aj6P8%3+7^.`vw16O4\98!xCA75"CNFDy2MaO҉5~Kզԓ!{FWzd}9$')%Zqe-O/.SS pKlH\]VSi ,LnzZU^mЌOt=~Wxӹ,J>! eYcV0sl 6xR_.4hڵ6,W7W2םO
O=8F~%[HҊve[ȥE4s\HW/dgj-LasZpX:rɷД{K7#G[=OtqL6L~7sE5:/V0 ޱiީNJ[0;h0ã[nw a2L_јAfE&o'k84uO" /Wy-2ɖj'7)!a{y|2	d-;(|Y]eܮLځ_dghC/1Okgl䍓3$L&#wm%2Ek BG섻b?ҴL
tnZ'p.}Z:睆6<YصD--1%<#ƻE|bO+$+2dHp*.<ӱ.S瘛;\Iǆ7tZy:h)3[演B]䈼ϡϤ6G6=5]Tz55wƹqgZaB%x1]&)P@Z7Wmt_q,Ok.6>Z*ц~nF2);ofsiبf=2k"qI3\\*On7=yV:Dd1 'i͓'*"yV_DbN\(ǎ[ &o1[4x	^@J@)5ޓ\_B!v+ٞDL2hzY3 !O5ޡs躻q465ڤRS|~2A)cc܃S
k22I e*i9*W7r<<ZDru%k;kOT?	F-aKb1[8dZ_w\a$ *t
o=螭h[PjVgrQ!i^z#It'el6Zb^ 2*Deb+K7p wH8:+c~aXbKf>`-3"M090[2}T:zkkWrH`hUI(}&(ĖZ=j'tch'`3m'D+\DLbBHڌy~uŢyYu9A݅0YP󛺪qiL>	TKF?h$b'+4|9	~.,$`'ْ
9y{ml[lǈ bO%r={u\XR ) I~?yFi&MWC#ek{f-$F}6뒐yA5ot{0g1W*tQЁR]yJN^S4812+IIN8g9E\UZ#哶I#j@Y7vXރcyۮ.~*́
pF'_Y:'f{-pRE&> 3-NSɕ^WniHo?
Œ0+0^ND`xX/ktBȢGqϣqfT?Y	nf~y5;>c#؀X[gRʿeJVp[k54t!zcYLTF&t3NaŋL)xnr1pU
Db|$ю1fJ'
1(k*PEA]<9NqМQ`]+u7$a\D[z0͟^(-kz~%iǚG)iwgQF!Ws,l8[Æ> B,͒|J6n=}!d*!tpҠBNi w[ur*U-vUpz]Ĵ~諪61b@L=$9|/ZC9R2Q85c5$U<jԨ*Ìw}ȏ=Eq4`ݧsXUncK?imd-W_=i-g}Ҭt~ffWm j>V45Nǵ3S[1D:+;iJr*`eEg<}es
8E6ñQ)ېU9l^W1uC3Yn쭷QdT._KDV-2pW-l&bTl9;Ȋ_A^)̈́Ef+!,(u=tߴtk>oJx"  U~I`}P.aϲ}S^%Ʋup^Ad0)PWz==;<Ϣy Lnok];Po3$,9;jto{qUdg$oH`4C3uf~`7#@=NfUqߕ$ӹw88Bg gHͰ{st]MJ5±>]zՃTΚve_pQ/Z%.利ܹ~xPrhO Y<vVbhٶn5Zjwi]6:U^κvNz YNk5'Ũ:DGӇ?]R)^݌70Vߨ6Z_oa?!Z]Q0%J!➶V=2sI]YXC[x|#`לH.+E
*+TFS(d?ytk`˦n&ߡ<aE=KU`.9һ?u]EHPznb'(puV BIz__;c^bpC{qU.P1I
tR+)ry:p({g仟)|V# _jZM|P|su\&o:-i]BM(yإPPxbf[)];I[G4t<"O<3ƗIRϡ=<S룄pWz7U)zp-
;w||4!/H$*C4&5LtNRz64_⁸hF@-+],Bs>T'Ʊ $t0]3h'{
"n`%Y@=߈ޥȚ; 28i_z7]]L%')0K-g{j~.~<RcN4&yG&wowWi͍W"s-)JV.^Hw/Z5ΎV4idp"|3.b]F\=0nSxt,>(:YwJوzx8H@v:lXX!]~A	rM[äljl#\!mtW)41D.qCY_.}Ӻ0F^ׂPPw?	/h2H?<DFo96+Us$'4b>)d1NXZLZ:?  g^m˓\ g9OktbDí!LnH+GIYj/tf^hY쉛,&n7sb4_>P4"!e"^% 5=Hf )K!2Or3vO<Y:pɩ\ۚVާW>פޓm$^#=m}c%Ǌ9	O:]4ؿ\GzViiO^|Vʦ])%yՍʻ\ ̕sQC2h01_"ۤ]f'{oĖ0@4'D:N&rmmN(]XV:$EGb+ʜkIWeH\}dǡud;g^Ot핺Oqw$ܿ-'2_C^'KȩvNe5W~L*E`9w joI>oD.g$Dꉌ2f̨"]}x/?gyʧOw}1}/V`QdOIBy̼fS]/;ɩ^D߸ΞLB*_پ}q!;ҕ{z<cavD֬sVh_oM ,/3y;=_&G=EmL0&p 'Bӧ4)x^F"/A2kZ1@|Vp91>1/wӟڶ Q*+ 'd2hZAQzÓړ3J;v yоtwV!0h<4û\98~+I	b
")>	t"CsHT&Kj6MA+Ewbis-Wkn-Tq/%p֏`E53NzxX\IlN+Ǎ0GH8Xb,#{ŗrVz2Ojt=.[	Mk}%	%Ы	МJ܍9P~aGst`Y%ʉCWonfu-qNXCHd&([-W4߲Sd 'Meƣ pe]4xc|8 a:3"T+J KM$\7\!'*%xHr=Xg& i2-pgGzf镄&zQ̝2$_	 xwƽ7"Ixv𣗩cS>МMT>VL#ĆNɅ؋_[*	ioY5gklw+g:Fnd8-XO>T}[PE]SiϞ@d\W\"&i8>e(	m"~n//1mO-RmT	t"'4W?a4be>+V+&gGuԎTuؼ7FK1Q0Mɽ#D]ɜ_,F+V13ڭW2A)DQva'FeƓ+ic8r<>} ncu2
Զ'J]ִ.,Jv+J`m.OPi &"dS6XÖD؍h<(K&'@pJ% pWy/HG9:lY.2W:4<!'9>k7-ҵ(=m$y>-?~F{9"Yd4G*V≳<2~Y>hO,Ȼu $~ KM_ qd?bxpNgcژ($
2(f?+g0C/q(^2Y?>$ c݅mPMz
aZMq	#W[aGQYS^hld.Whԣc?!O!y[0`lndJTrSpw@՜ɈHnԒg=]s*qq2MLP eRmhJ&~S[.y{Y|a::mZ:cQjNϟ4~%Dv?Ó(e<dE:~n0-G3s:qidSͻ̅z|		V3Z''W
Voh~DȘԂeMNFy@_g2	cp}>q=kӬ?K&V:\cc!7	Gs$r-];33esH+By /(ZqX,5םqK_3;,_B'wx=tr*"ytXSԶ#H3+r6EA`.11]RE`===d3R#tgn`L yGv{I*Ν?Pdk?PsYó<?^?<,eg\&1Yôٕ8ڬ=Mo>2G4NmYtP N7)5	k5}.-3}2Ǥ`xCe.M˚mC+*ϢҒAko Gp0ttwnv}1?3=]'1ytO!aIL&4^gNe$ԋ)|D1frm!PVoftZHIITL
ѷUҵduɮ8a+zj3]u=ToOa
!5<##z +쮮~ j҂T $?=r0j&P|{74ٲ46dbtp5ѭ.hL﹨gsX?HWfJ4A1,\,1z/@\zKaʳHq!ğ1jmLYፇ}t8H)
*7j,,'rlM>%Syq5PW2B&^`H1[.(VV
#PQv܂|w'VO^&'ǚD}s8ʌ\S!Oi}ٓɥ|0RJbFe;&$bN6bL24<{:(OO8JrELB3q8lޫVʟ8O{=Bge,\$wv<H,PPG~Q 3>ܾN6;Q'Qr%^o^LߧWaR8^{ut+=Tξ>5Ϻi#iQ)?CB֧G@NTffE4:ӃA~>N␦V!VuCǀrY2lYOL'=MQ,1׍|9K,RsXs]IޟDwiFus"Sv.X胔IiT]w_:֫؝<A䨃";}_d(("NVdṂM1?RH79f1X#p&NAB.
^cL,DgW7f"T	;qDyl8
hNwqL^|S2:IވdgwD$}c'̀R[=A5'҇gf+,&Lnqx[C6R4=Dge	\cUmv:jv?.-OB/EW@_j贆&Ix9'3ZV>FO8%,D98+;ru֫kk0jD=y(P<KtEp4YzCGh@gBPpxҦ{z5l`sWkV>q&v9Q_a$¤\x`x0u=[F?W2d0/؃YAmC:ۤ&XdȩvI۹ݷmz#it2hP@:,qTjtk<jihCl@/RϧΤT$BFFZd27VE7Nsz]ϻ+
.L4))m% y$܇ҮV3FфpQt4~&1r2#N]6K/Y-[`Ce_HBcq5`&FV84[fj泫;c$A{Bmm>mʧ	*gaN2 I./{YY `|є	<U%oq6%,Cv+VT 3.<ctLqQx\0ř!a@DLpTu CF{Hi0V'-^'l-(/oī7<|p8'Lj-S0*>(Nr6^|	Ejao4مsKTX3Ct),]g9<L.-qӍ`BbzgQlVG {+CW0>|;oggmM%G%J9BZdɪr\%
KMA2@q4%xIdeRׯ S&Zpb<( :	
`Di\ >PbU (n
AB/qt0zX)YZZE3#IGￔTy9=a0aJb(߮9ҏ{=5 ilFe:fXЛɪ{q-Me#V;?cf5_tl]pn,~W3x&Zq_#)@kD#D{cv%o=9{w-)|5mdxc&f tĘi{w|	:s9cOG+{T?.޴[cpZkbh\nSUr{oJ2¤0Y`s/Ûs5G3tslF$UT0$C'A_vH%o7k?/u?TF7??INFL\="=Z3wIC!B<F0,ŶΙCm!uŊ+J+s`%,eJ1Τ/7	"]Hqy>Ihhz{GgL7h4i;fIڊTBOKn7=}2X[\*H|}ҳ'3"^ʌkieb~Zkf7=,=׃\6!Ezu?e~{/hS6;#rӐ]Eu(`Pt<})BXR_nrЂn>!*aPu]FtDyPl7ʍ_.&un6^QN:l/N14?g_3,L9 ?KMزLf{$dlNE%~`IGSڒ}v)(]H+T$w|T{m0:N
t3tK=`N hyf~FWrHXv7E)|p|#W<Mktk^jydy/@;Wm6ҥz	/V>{whtDbD)OEqA?[!ɝG #ED> oJpxcgt> *tBumП_K$J}wj|'^批'|7fnS 8fqd?Q]Ɠ%U~o?4쏆݈?$_`?_~(  EDP?ЅAF7ߟ#AǤsrJr80vҤ$޿$:goe=YpY|>#e	sl~	CO@XWd$"Pɻƌ9V?Clt_޿q$J>E̏ Mb=Hf[Dvoo j/>s̻{Gdfe@7X-Uy{,]6KK9P1&MV%fO(
uh!/LcήA{tJ6"=?5ԳЖ\ĥڃꚽxzt'47J&_dLYmã
C|I9ۃ'VWLhQvVN%L],qk9Y.h N݌j0?ENU1u`V+Y<4PRЎMEDZ^;+SE'g-NHJM1|u,#[NqgXGr7c˥O_-((́X+>Ʋvvί-Mm+In2jm掬VT['ɸUh)){!N2]}$8A;EPV,#G܌QhQ-=)Le&;a/,ͪ_ʊYc4 `he6[/iY3aP3DюarākטQr:<XcYǸoEj]fґa3_}}=z?kx`Xi͜QŋD[ob(U=j瑟Ղ 5/$EG G|nΔ%|uԿED4cDSQZlPv>GVLA>Ѩ76lǜIb{t_FVNX󿙟?9%ď?JIZW,렝CiF*~r,LlAZw8zpdH'RdFq45jVrl$|S,:CԷxǺ3x SĮWtbTݺ"JAܺ%dcu,CҸ ΀+w_3([Rw'l.5Z+dp
(:>"*c(i"9ӕZq-` Uű}CO2Ov?;vJb5g/JNOfiL2Ck=(J 7 =ËRņM)$$%>"c&e!ݴc޾
?ϗ__LݎI⭘=~cM=9m2i}b[R{$57kĔN_ZO`p[ء{{¥4{Ǜ
QdqTqwgAfNS|UN+Z~lCGq`K'KNaW
A8)6".6zVn8ý8ޭ{ȵ$&\8EEby4 Pіq!ua޴'Ăߣ{/`bQ޼2.mw>ޭI.h` ~^qr2@=N2>PWIfT_O0o\)<xJ߀FϻƷd?N+3);0]:L0/1Fs#Y6,fC06Pc۬!UDF1'0s_<lhݙ"1b4مIyMy=ǉ&
E|yt(va)Fsǧ@GH^39jښaoC8YoPhȯݐh	㟷I|򵾗Zzq~6OxQ,Ox\~"bOTM\"iG a)_XB݈{$C'5KG)T#n2peZ(YOCԪ/x<dV$S3sg<dBבQ΁E0=Yp#Sp$u	FekrZl917.ذ*B}]9iaAЮfzC@?,wQ"iƳΆ|y!ܛњ$+`Y.lv\JBȂkЄ I	 `͐@=֚h:#u&+otcDIJq+6bFDhlVٍ?j}x&	dQR=&gm83`ˊSbDJb[o~qufM+0XH;$sI2i?W%c_nn_9|dTu,T+e<,W 6S6\8'Y*	RD~W__ltʸ?GauX8gqMܾ1oO&qrZtJYse-47'|@4(F1GbJr%ˡ<r1/KZc7\?CKiPssv;0Z'_vN>zOu﬒%Q֫^wN/6J|x}'+Ø"*J9aXhqSTP^,0=n7w&[#=	Ek xNVz3\V.0CohY̭=(OC
&'ތMyS~2>-ں [?VCY%,~1_o?'oL_/7[&PzF7NAJ^\|[kgE;Ȇ+O^4w'I,%"S8iuTtyϾ/Sc(jSeY:xI)UIw0ޔ_qeBKvBĖHe	d1t)8e43fi]$LwDrϲΚދ2JvEZdGE3Pa#Dt:$^dV -PhD =Ԉ\3җ-dF\Jy)7;]S':2]R=7	5g+47>gvQ3wBJ9jQ&g4Ne\ 2q4+avc{9}[F5ҳ9>;EY:~Zh>Ξ]j5C8*O%Fl6#3u:$D+%bovqSqc2%KTr+1$7J'<_h+YõøYHS"8	[G<|D%`btiT(ETDSI]5::8=&ҍRQ2@(iBo.UW+޿VꭰQ"2\@D,5H'c͖S:/HF5Ɣ_$m^k%pK!9E!O%Xҟv.9@zE{R[=NRLm͖/;ˌn9R%NGvid(Wİz~m}āGF-1+yoXdofYMҷqYa¼t\YV5,]mJ-FY$/by['AG?Y#uQJ[o)}22Sdæ\[0Sc:N	y`UtUz܄^ILMHcAn@/A/E܀ l%xn!=Q㖬5 =?Y5_PX8?7`ی/LFKmГ#ǼwR	c:Y)yM 2rc(w&=zgw>!.τQj/ܙ]k&l	$_9qoز:Rx;,#-ެ5O@;q揑