summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/openvpn/crypto_polarssl.c35
-rw-r--r--src/openvpn/ssl_polarssl.c89
-rw-r--r--src/openvpn/ssl_verify_polarssl.c26
3 files changed, 64 insertions, 86 deletions
diff --git a/src/openvpn/crypto_polarssl.c b/src/openvpn/crypto_polarssl.c
index 263b4dc..c038f8e 100644
--- a/src/openvpn/crypto_polarssl.c
+++ b/src/openvpn/crypto_polarssl.c
@@ -261,7 +261,8 @@ ctr_drbg_context * rand_ctx_get()
/* Initialise PolarSSL RNG, and built-in entropy sources */
entropy_init(&ec);
- if (0 != ctr_drbg_init(&cd_ctx, entropy_func, &ec, BPTR(&pers_string), BLEN(&pers_string)))
+ if (!polar_ok(ctr_drbg_init(&cd_ctx, entropy_func, &ec,
+ BPTR(&pers_string), BLEN(&pers_string))))
msg (M_FATAL, "Failed to initialize random generator");
gc_free(&gc);
@@ -472,10 +473,10 @@ cipher_ctx_init (cipher_context_t *ctx, uint8_t *key, int key_len,
CLEAR (*ctx);
- if (0 != cipher_init_ctx(ctx, kt))
+ if (!polar_ok(cipher_init_ctx(ctx, kt)))
msg (M_FATAL, "PolarSSL cipher context init #1");
- if (0 != cipher_setkey(ctx, key, key_len*8, enc))
+ if (!polar_ok(cipher_setkey(ctx, key, key_len*8, enc)))
msg (M_FATAL, "PolarSSL cipher set key");
/* make sure we used a big enough key */
@@ -484,7 +485,7 @@ cipher_ctx_init (cipher_context_t *ctx, uint8_t *key, int key_len,
void cipher_ctx_cleanup (cipher_context_t *ctx)
{
- cipher_free_ctx(ctx);
+ ASSERT (polar_ok(cipher_free_ctx(ctx)));
}
int cipher_ctx_iv_length (const cipher_context_t *ctx)
@@ -514,36 +515,38 @@ cipher_ctx_get_cipher_kt (const cipher_ctx_t *ctx)
int cipher_ctx_reset (cipher_context_t *ctx, uint8_t *iv_buf)
{
- int retval = cipher_reset(ctx);
+ if (!polar_ok(cipher_reset(ctx)))
+ return 0;
- if (0 == retval)
- retval = cipher_set_iv(ctx, iv_buf, ctx->cipher_info->iv_size);
+ if (!polar_ok(cipher_set_iv(ctx, iv_buf, ctx->cipher_info->iv_size)))
+ return 0;
- return 0 == retval;
+ return 1;
}
int cipher_ctx_update (cipher_context_t *ctx, uint8_t *dst, int *dst_len,
uint8_t *src, int src_len)
{
- int retval = 0;
size_t s_dst_len = *dst_len;
- retval = cipher_update(ctx, src, (size_t)src_len, dst, &s_dst_len);
+ if (!polar_ok(cipher_update(ctx, src, (size_t)src_len, dst, &s_dst_len)))
+ return 0;
*dst_len = s_dst_len;
- return 0 == retval;
+ return 1;
}
int cipher_ctx_final (cipher_context_t *ctx, uint8_t *dst, int *dst_len)
{
- int retval = 0;
size_t s_dst_len = *dst_len;
- retval = cipher_finish(ctx, dst, &s_dst_len);
+ if (!polar_ok(cipher_finish(ctx, dst, &s_dst_len)))
+ return 0;
+
*dst_len = s_dst_len;
- return 0 == retval;
+ return 1;
}
void
@@ -553,8 +556,8 @@ cipher_des_encrypt_ecb (const unsigned char key[DES_KEY_LENGTH],
{
des_context ctx;
- des_setkey_enc(&ctx, key);
- des_crypt_ecb(&ctx, src, dst);
+ ASSERT (polar_ok(des_setkey_enc(&ctx, key)));
+ ASSERT (polar_ok(des_crypt_ecb(&ctx, src, dst)));
}
diff --git a/src/openvpn/ssl_polarssl.c b/src/openvpn/ssl_polarssl.c
index 11c9ffb..2056735 100644
--- a/src/openvpn/ssl_polarssl.c
+++ b/src/openvpn/ssl_polarssl.c
@@ -218,13 +218,13 @@ tls_ctx_load_dh_params (struct tls_root_ctx *ctx, const char *dh_file,
{
if (!strcmp (dh_file, INLINE_FILE_TAG) && dh_inline)
{
- if (0 != dhm_parse_dhm(ctx->dhm_ctx, (const unsigned char *) dh_inline,
- strlen(dh_inline)))
+ if (!polar_ok(dhm_parse_dhm(ctx->dhm_ctx,
+ (const unsigned char *) dh_inline, strlen(dh_inline))))
msg (M_FATAL, "Cannot read inline DH parameters");
}
else
{
- if (0 != dhm_parse_dhmfile(ctx->dhm_ctx, dh_file))
+ if (!polar_ok(dhm_parse_dhmfile(ctx->dhm_ctx, dh_file)))
msg (M_FATAL, "Cannot read DH parameters from file %s", dh_file);
}
@@ -268,18 +268,15 @@ tls_ctx_load_cert_file (struct tls_root_ctx *ctx, const char *cert_file,
if (!strcmp (cert_file, INLINE_FILE_TAG) && cert_inline)
{
- if (0 != x509_crt_parse(ctx->crt_chain,
- (const unsigned char *) cert_inline, strlen(cert_inline)))
+ if (!polar_ok(x509_crt_parse(ctx->crt_chain,
+ (const unsigned char *) cert_inline, strlen(cert_inline))))
msg (M_FATAL, "Cannot load inline certificate file");
}
else
{
- int retval = x509_crt_parse_file(ctx->crt_chain, cert_file);
- if (0 != retval)
+ if (!polar_ok(x509_crt_parse_file(ctx->crt_chain, cert_file)))
{
- char errstr[128];
- polarssl_strerror(retval, errstr, sizeof(errstr));
- msg (M_FATAL, "Cannot load certificate file %s (%s)", cert_file, errstr);
+ msg (M_FATAL, "Cannot load certificate file %s", cert_file);
}
}
}
@@ -317,7 +314,7 @@ tls_ctx_load_priv_file (struct tls_root_ctx *ctx, const char *priv_key_file,
status = pk_parse_keyfile(ctx->priv_key, priv_key_file, passbuf);
}
}
- if (0 != status)
+ if (!polar_ok(status))
{
#ifdef ENABLE_MANAGEMENT
if (management && (POLARSSL_ERR_PK_PASSWORD_MISMATCH == status))
@@ -412,7 +409,7 @@ static inline int external_pkcs1_sign( void *ctx_voidptr,
if( md_info == NULL )
return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
- if( oid_get_oid_by_md( md_alg, &oid, &oid_size ) != 0 )
+ if (!polar_ok(oid_get_oid_by_md( md_alg, &oid, &oid_size )))
return( POLARSSL_ERR_RSA_BAD_INPUT_DATA );
hashlen = md_get_size( md_info );
@@ -497,49 +494,43 @@ static inline size_t external_key_len(void *vctx)
#endif
void tls_ctx_load_ca (struct tls_root_ctx *ctx, const char *ca_file,
- const char *ca_file_inline,
- const char *ca_path, bool tls_server
+ const char *ca_inline, const char *ca_path, bool tls_server
)
{
if (ca_path)
msg(M_FATAL, "ERROR: PolarSSL cannot handle the capath directive");
- if (ca_file && !strcmp (ca_file, INLINE_FILE_TAG) && ca_file_inline)
+ if (ca_file && !strcmp (ca_file, INLINE_FILE_TAG) && ca_inline)
{
- if (0 != x509_crt_parse(ctx->ca_chain, (unsigned char *) ca_file_inline,
- strlen(ca_file_inline)))
+ if (!polar_ok(x509_crt_parse(ctx->ca_chain,
+ (const unsigned char *) ca_inline, strlen(ca_inline))))
msg (M_FATAL, "Cannot load inline CA certificates");
}
else
{
/* Load CA file for verifying peer supplied certificate */
- int retval = x509_crt_parse_file(ctx->ca_chain, ca_file);
- if (0 != retval)
- {
- char errstr[128];
- polarssl_strerror(retval, errstr, sizeof(errstr));
- msg (M_FATAL, "Cannot load CA certificate file %s (%s)", ca_file, errstr);
- }
+ if (!polar_ok(x509_crt_parse_file(ctx->ca_chain, ca_file)))
+ msg (M_FATAL, "Cannot load CA certificate file %s", ca_file);
}
}
void
tls_ctx_load_extra_certs (struct tls_root_ctx *ctx, const char *extra_certs_file,
- const char *extra_certs_file_inline
+ const char *extra_certs_inline
)
{
ASSERT(NULL != ctx);
- if (!strcmp (extra_certs_file, INLINE_FILE_TAG) && extra_certs_file_inline)
+ if (!strcmp (extra_certs_file, INLINE_FILE_TAG) && extra_certs_inline)
{
- if (0 != x509_crt_parse(ctx->crt_chain,
- (unsigned char *) extra_certs_file_inline,
- strlen(extra_certs_file_inline)))
+ if (!polar_ok(x509_crt_parse(ctx->crt_chain,
+ (const unsigned char *) extra_certs_inline,
+ strlen(extra_certs_inline))))
msg (M_FATAL, "Cannot load inline extra-certs file");
}
else
{
- if (0 != x509_crt_parse_file(ctx->crt_chain, extra_certs_file))
+ if (!polar_ok(x509_crt_parse_file(ctx->crt_chain, extra_certs_file)))
msg (M_FATAL, "Cannot load extra-certs file: %s", extra_certs_file);
}
}
@@ -645,10 +636,8 @@ static int endless_buf_write( void *ctx, const unsigned char *in, size_t len )
static void my_debug( void *ctx, int level, const char *str )
{
- if (level == 1)
- {
- dmsg (D_HANDSHAKE_VERBOSE, "PolarSSL alert: %s", str);
- }
+ int my_loglevel = (level < 2) ? D_TLS_DEBUG_MED : D_TLS_DEBUG;
+ msg (my_loglevel, "PolarSSL alert: %s", str);
}
/*
@@ -727,7 +716,7 @@ void key_state_ssl_init(struct key_state_ssl *ks_ssl,
CLEAR(*ks_ssl);
ALLOC_OBJ_CLEAR(ks_ssl->ctx, ssl_context);
- if (0 == ssl_init(ks_ssl->ctx))
+ if (polar_ok(ssl_init(ks_ssl->ctx)))
{
/* Initialise SSL context */
ssl_set_dbg (ks_ssl->ctx, my_debug, NULL);
@@ -748,22 +737,23 @@ void key_state_ssl_init(struct key_state_ssl *ks_ssl,
/* Initialise authentication information */
if (is_server)
- ssl_set_dh_param_ctx (ks_ssl->ctx, ssl_ctx->dhm_ctx );
+ polar_ok(ssl_set_dh_param_ctx(ks_ssl->ctx, ssl_ctx->dhm_ctx));
#if defined(ENABLE_PKCS11)
if (ssl_ctx->priv_key_pkcs11 != NULL)
- ssl_set_own_cert_alt( ks_ssl->ctx, ssl_ctx->crt_chain,
+ polar_ok(ssl_set_own_cert_alt(ks_ssl->ctx, ssl_ctx->crt_chain,
ssl_ctx->priv_key_pkcs11, ssl_pkcs11_decrypt, ssl_pkcs11_sign,
- ssl_pkcs11_key_len );
+ ssl_pkcs11_key_len));
else
#endif
#if defined(MANAGMENT_EXTERNAL_KEY)
if (ssl_ctx->external_key != NULL)
- ssl_set_own_cert_alt( ks_ssl->ctx, ssl_ctx->crt_chain,
+ polar_ok(ssl_set_own_cert_alt(ks_ssl->ctx, ssl_ctx->crt_chain,
ssl_ctx->external_key, NULL, external_pkcs1_sign,
- external_key_len );
+ external_key_len));
else
#endif
- ssl_set_own_cert( ks_ssl->ctx, ssl_ctx->crt_chain, ssl_ctx->priv_key );
+ polar_ok(ssl_set_own_cert(ks_ssl->ctx, ssl_ctx->crt_chain,
+ ssl_ctx->priv_key));
/* Initialise SSL verification */
#if P2MP_SERVER
@@ -884,7 +874,8 @@ key_state_write_plaintext_const (struct key_state_ssl *ks, const uint8_t *data,
perf_pop ();
if (POLARSSL_ERR_NET_WANT_WRITE == retval || POLARSSL_ERR_NET_WANT_READ == retval)
return 0;
- msg (D_TLS_ERRORS, "TLS ERROR: write tls_write_plaintext_const error");
+ polar_log_err (D_TLS_ERRORS, retval,
+ "TLS ERROR: write tls_write_plaintext_const error");
return -1;
}
@@ -910,7 +901,6 @@ key_state_read_ciphertext (struct key_state_ssl *ks, struct buffer *buf,
{
int retval = 0;
int len = 0;
- char error_message[1024];
perf_push (PERF_BIO_READ_CIPHERTEXT);
@@ -936,8 +926,7 @@ key_state_read_ciphertext (struct key_state_ssl *ks, struct buffer *buf,
perf_pop ();
if (POLARSSL_ERR_NET_WANT_WRITE == retval || POLARSSL_ERR_NET_WANT_READ == retval)
return 0;
- error_strerror(retval, error_message, sizeof(error_message));
- msg (D_TLS_ERRORS, "TLS_ERROR: read tls_read_ciphertext error: %d %s", retval, error_message);
+ polar_log_err (D_TLS_ERRORS, retval, "TLS_ERROR: read tls_read_ciphertext error");
buf->len = 0;
return -1;
}
@@ -980,14 +969,14 @@ key_state_write_ciphertext (struct key_state_ssl *ks, struct buffer *buf)
if (POLARSSL_ERR_NET_WANT_WRITE == retval || POLARSSL_ERR_NET_WANT_READ == retval)
return 0;
- msg (D_TLS_ERRORS, "TLS ERROR: write tls_write_ciphertext error");
+ polar_log_err (D_TLS_ERRORS, retval,
+ "TLS ERROR: write tls_write_ciphertext error");
return -1;
}
if (retval != buf->len)
{
- msg (D_TLS_ERRORS,
- "TLS ERROR: write tls_write_ciphertext incomplete %d/%d",
+ msg (D_TLS_ERRORS, "TLS ERROR: write tls_write_ciphertext incomplete %d/%d",
retval, buf->len);
perf_pop ();
return -1;
@@ -1009,7 +998,6 @@ key_state_read_plaintext (struct key_state_ssl *ks, struct buffer *buf,
{
int retval = 0;
int len = 0;
- char error_message[1024];
perf_push (PERF_BIO_READ_PLAINTEXT);
@@ -1034,8 +1022,7 @@ key_state_read_plaintext (struct key_state_ssl *ks, struct buffer *buf,
{
if (POLARSSL_ERR_NET_WANT_WRITE == retval || POLARSSL_ERR_NET_WANT_READ == retval)
return 0;
- error_strerror(retval, error_message, sizeof(error_message));
- msg (D_TLS_ERRORS, "TLS_ERROR: read tls_read_plaintext error: %d %s", retval, error_message);
+ polar_log_err (D_TLS_ERRORS, retval, "TLS_ERROR: read tls_read_plaintext error");
buf->len = 0;
perf_pop ();
return -1;
diff --git a/src/openvpn/ssl_verify_polarssl.c b/src/openvpn/ssl_verify_polarssl.c
index 4852243..fa313ac 100644
--- a/src/openvpn/ssl_verify_polarssl.c
+++ b/src/openvpn/ssl_verify_polarssl.c
@@ -134,17 +134,12 @@ backend_x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc)
char *buf = NULL;
size_t buflen = 0;
mpi serial_mpi = { 0 };
- int retval = 0;
/* Transform asn1 integer serial into PolarSSL MPI */
mpi_init(&serial_mpi);
- retval = mpi_read_binary(&serial_mpi, cert->serial.p, cert->serial.len);
- if (retval < 0)
+ if (!polar_ok(mpi_read_binary(&serial_mpi, cert->serial.p, cert->serial.len)))
{
- char errbuf[128];
- polarssl_strerror(retval, errbuf, sizeof(errbuf));
-
- msg(M_WARN, "Failed to retrieve serial from certificate: %s.", errbuf);
+ msg(M_WARN, "Failed to retrieve serial from certificate.");
return NULL;
}
@@ -153,13 +148,9 @@ backend_x509_get_serial (openvpn_x509_cert_t *cert, struct gc_arena *gc)
buf = gc_malloc(buflen, true, gc);
/* Write MPI serial as decimal string into buffer */
- retval = mpi_write_string(&serial_mpi, 10, buf, &buflen);
- if (retval < 0)
+ if (!polar_ok(mpi_write_string(&serial_mpi, 10, buf, &buflen)))
{
- char errbuf[128];
- polarssl_strerror(retval, errbuf, sizeof(errbuf));
-
- msg(M_WARN, "Failed to write serial to string: %s.", errbuf);
+ msg(M_WARN, "Failed to write serial to string.");
return NULL;
}
@@ -376,12 +367,9 @@ x509_verify_crl(const char *crl_file, x509_crt *cert, const char *subject)
struct gc_arena gc = gc_new();
char *serial;
- int polar_retval = x509_crl_parse_file(&crl, crl_file);
- if (polar_retval != 0)
+ if (!polar_ok(x509_crl_parse_file(&crl, crl_file)))
{
- char errstr[128];
- polarssl_strerror(polar_retval, errstr, sizeof(errstr));
- msg (M_WARN, "CRL: cannot read CRL from file %s (%s)", crl_file, errstr);
+ msg (M_WARN, "CRL: cannot read CRL from file %s", crl_file);
goto end;
}
@@ -394,7 +382,7 @@ x509_verify_crl(const char *crl_file, x509_crt *cert, const char *subject)
goto end;
}
- if (0 != x509_crt_revoked(cert, &crl))
+ if (!polar_ok(x509_crt_revoked(cert, &crl)))
{
serial = backend_x509_get_serial_hex(cert, &gc);
msg (D_HANDSHAKE, "CRL CHECK FAILED: %s (serial %s) is REVOKED", subject, (serial ? serial : "NOT AVAILABLE"));
Vw0i)V}@["D[(3CW4WL9z) Pqz0IrW_qܷd>.Ujx[~DoʚD~&P֓tg ,_7i5_?ؼ!P( Ś_Dx>]qi-9\=5%)Z7$щoĝ+hhFL閦Ԣ0t=GgFb,g$bh*⭦= w/ e}& #\\g> NX!PG{OhXA3T}rQå'Eyo "|9#VtJ|l5.L-9tv*DYy04\=yu_4=R>¥7R+1Kq$y\뭲s)&ֱ1eSl 1 pK& Ȝit:lMdĂ[ {.f!3D6~`n !\q f7_TR&-ߧsO-l !)1vn9^kQ\s3A:,£gcdRhGz%'vIP)Jy:yRQD~K @O_&!]9e 'JTz|QmDL܌?7E_m[K'5juBĖKkw'^~Jvc`[? G"S\V[Gr2pel^|216]")|i6輻fdIP\ax-փ[fRd>EצtA{,8"Bv?ZйW(ɹW~YdAKhn%#3#j;"zVqmܢK_7ldWRdm6d\"X5~H}k5ɘjˆE!ISxmVP0гXPfne"hBm)ɛV(Iҹ\b q- dT|'h `UTEߘ@5s/(\߿:c;+ w=  5P&Gp + 3n3,Tc}Zbo%%r@DzMo{65O=i""Y~Py Dj!Z!p9. {EIj\]bIsA>dp"`ȯ48ף0Ťka,F~պZL8M pxs&XMm!=yvw:1m'e`9XjUb, ]:^3BޢBK[_[$Vg*`8u} 3-Vyݶ't (%.\~d1lx8XZ-;>2T4t8!adoR4C /oF[LҢXwh5 BNM%c m*p7Dr3֞]VB+uW 8<Y]2xrۧo2jx>7XA=qk,Vȕ$8hM͛Z^p+:K^ S6B RӒ_%x$|x4< J`Bɾ7E%tW}ټ* rvW qlN1-_lo݋V~%]%vOVnq P;L%+˯I 'T_Jǐp :MҲغC573_J o]aj)$fTVyObk3p2e9&25 9BP]ѯwzJ>dp ,emA!C\}e2,tqc3j{Ni)}cn3@T2z$ˑYz=,~+S|H{&IxPi†[ɬq-t;0 =!bG1CU߾6?1dov & rT-DAilgc9m&aUEWojCTK=(X\}U"bP`LU&lh)yZPr(_PnAZ9+ mY%A ~-vۣ" OuhY$D^W$. i߷m)6MK#av)?N1eMs #}th|pꀓFqREF /]? bxű, a@4u#Hl"c:~htvNb'k.&4z=\j6faN2Us?x_Mtx#)W3#":a=7n;@)4N'J;Ydl왙#sgIn'G]]XN}^ z5lV;OXfm=K-vbܵkanGg&yBuTQ7Te/mN*M(9\TsP6mONU 8@3Ha:AQZb*ߑ) \ }(ɗ7Y<6(¼՗< H ]MR6֚S!TpvlIyGwyf+t Gl2 Z֢ d0X9E.FX UKSO^x%Qm ;ucz<~>V);V/$@v >1Oj p易VvHN"@zULqDhaɴ9 `vKi2MڪE xA}p%aye6[L2(7Ѝs6҈K,g`)c2>qX~əEF Dg plP9?z;{2bQCoݒy/@H%5' 5+q]P12kWF"jݍ-je}4^"{]N8/Egt_"X.+QoY&ώ@O; :.V%$ 0 S JM%IKf}rٔZ}'s-Ʌ;n6-SCGa&YpNk*|[ ;8/4TE"I"9W R\;<1:f+o9}y}P}vVL-X+.执ʙw4L+s#i/Fwny||`4-`:/Ez iNA# 5؃|8mL0uz-QjUpf@xZM뜦}Ѯnx%Gbê.W $%GeH> y`$zýs]St8I@Z:Gb$91;R,1{;waS,WpLMd-[֭Qȓm`4Gй+WGG_<Ҿ"FLR|&ukƈ!Zxkl':{[_7Ӊ1ǡO 0$AM7/ofՆG_W+OZ(+\lzltHTuI:/q":@«͌ %N!gθ֛d$Vb{OT8=@\81ȽO[*pf Y1){ʆ* ":[><"U hߖITE|XXڗqB%/fM]S|z8KRc}MߺNRʄO>Ӄ"Nb6b-Ws 13=B9XU[:uԣ,j^C39"X[Gu'*deī;o&%)|y` 9NN?إF\6ʔ1LU<ӥAP&kVİsl-d[DVcoq/kg:Uki1 gVD-.[j1)Yjww^ c4s?E_XPk,Y-5blv,nąځ0{\ fU* 쇈_TGdڅF8]&Ks5xlSXD5Xԙ z; 2 O3z O*hnA!t M8<%-+5D@oLŪIbLf~vz,w6D" jo#zoysTU +Fk%[k\}5сOeh'Wm$٪>@wXNs>9~,}S2aY?K{lcHrZ -P /o޿^_+h#a:V NϗTd j7노eSXVByz^ ĭzeU~tL>kKK>-Uf<ϥS#I ckx hdy!O@ i92O` ,wYKOBx6,)WCQ#ٵ.. ' ~d]X3,vzO&6IBm$Bc, M!\rOoߴr,m2s ed xR#l8N>\<3c5LV :%PY_X9DK:Ә%ftS&Ex#H( 7t5F_zTW(^ъCar]Z]1'6y|50vcbZڌqcL=7(0 $ qsxv(K''{].!#(1^D]#Y &|gWqAّGYQtfA4ڇm6ѕyA}{z\4/aW o-1jUdVj<`4%Ewk,)X`@r+ݝ3mcG㮺u=qv@Mp咎);|Vii Gd{k`^/1F4 u>l.B–~X#0l#uY~LߚzYGflyj%|w˥W;_Iiĭ؎R0'yDZٵi |><^YJ1m[RQ:ad6LhO6o H4ŝz]0`鬝_IOԐW-]I@kAf5&b*=-@ =?mR-̲b :܄ȜrȄNUMy;BjNQ|) s"489Ћө ŀM*IR/g:Tt @^HYSS[u:]$0M文X"!EvE^a>PPBBjȔpXg.Nu"H:gLfeu q{؛g,#|Gmj.=2$d>qCHg/OnLLU^ilsQQZָҪg :CRWͻm{tz^AgoTMI* ';oc=LDˁl˨k'^+p&/˝\ <gzB!"YY":mRXL cFvy-Oர7457Z tDrԀUG12pFms6)qGyi?<ѢH_8CgAPhXl5;Ȉ^67-3H‘^bQZeZf킨ʃD牍0it1\p >m>lK-P5LG6B93 4C)UFYFX}1owβUۊ"d=9S BimCn5wE:Мv:RX⃋ibKcz6i1v7GsC+`EVbU:XނKOG~X43' m5G7nrVVIڦ}v `&#* |vqDwHc]qMdphX{`C2yP1Ӆ؎I#GQ)|.:]v!0zɬ iz fV[F8BڏjqM\% <%_r'Gr0ĨOoY`3ĽMru)qRHDT$2-ߦy9xc Y4,AG5#vJcb?9ٱRmYZIu,{fO釧|fAG`Oi`:CkӲ[$>61)u,A !BTήʫKE)T4޷?|gD!vtGłP5A?7@z΄\8,Ӛi"]mЗk=J_,}8#pZ^y}Y+ԙa ?LgfrLM~tsRK Nmst)} M3} wrOS7 6bdB` \Z;$_ʛf8L}+4kO8\2&PNkEƊû-1ސhbzxF" R5?}̘o~Bk V :-bG9#G)gEfyk$xN*vPu=@W~esEΌFY;f%+UB7s;K7xSm *)RBb b+!1}ՠVWpCM4V`IFbg+D^EkTU'ٺeUh/@6{08愥'KJĚ=ƣ=ԩ!ZdXad?> ֖i=)G,#_OJe.e'|?Y}>ɴ%.˴3 oEQ}3=@Z+Irn50M+/䔜,;0*cgê|^rerckա w =k (l#_cI^}!Dw+Fa>lLiUDܬQbduq{t;_S>j4 %/Ww]mvm`x`dDNbI]VblZ ް;RwLUիS؆{9 g4$̓tej \6L'44mܚEmkhtk@HqRgx>?0t!~{hRb ,y5^ @G&81l2iwi:dLt W8^Cցn ;ood8#owzX\3KLh\iR>~Kۄ.mЈ,~T9;@A1WTSIɶxR*"VI'qwU."ma} 7M$$(Sl?e2a&.ˢ,`m=1[6/ '5=d{gq}ju@aɭe N`k 38 `<-::?#,g!3\?(.s5%:_kD B<+A#rønG3sA>ZI8AݵpS .NSm:t__$m| Yo$)|64?)Y0V,eSh9Ø\QÊ[UfЦ^tƪsȌ~W-D3M99͠^TuI)$q}jxȏt O> ;T{Ywv!UgWž8~B:U!bGowUKײ@K-6~SOX1WީmCCə~, K^OxӫCcH7`h 1?0K?Ή*<&cn=|nM튁`@\b7]j~9V}AHc 'kCsZs+z=6\ŰJ3O×w}UC?o&5P(IbfhFaf:;i֩GpvKG_\<˧f&_U?E" !} qf?m% W'k/xq&/$w[-?0wEbfڡ㕂Z/<{-Axm&-.|^>$K'>]޻J4w} p(E2U&>HeHI`7l. aB4I[&!/F%lK"Eku2ܼ%4C ¢?wFu%U;8 jIW } 3k׬XDU`[=TN_v?f(\!LќͯavhNJ}=]גSyؚ%g"٠%!A&CxF}¼tsM48 !-a+Es/:M_ [c{:'KyjL@qt/OA-zGzz-j7@'T[nb:T§ Dp 50TH,~l0T}yOp`"KQ*üc5~;AlT od:/1/"o;gDq0UTE5#Fa.D]Oav)̥VR@yNE"&x!ո[/Rn)ZD]p.F0d+a t-w1soRM7**rg[Q+Ԙ/WJ*f1J#U');u{ަFxM2+-Ai@ 1mdCS f8Y[}>=.HnI LU()"~3tt`>ox䤣>xYƛ L6<o(N\{_ N襇 /];ZT"W.y! ~9fЃoB,ǿzhlo./@&xFW۳`*Ҟ)AFF[zXb]kF0ڃR'`9.H! KSFah 9r&җ_L=P`+Ղ8wrZ&/ [)`NƐ7#ŷ.s I=n(@M» 93#2))ۺ&30fi #' .T8=?{|ɥH!EJM2#X|ͱ&C0(g5Ł& y2g͖g>݆ݤ+ec T9ume 9}dZ~\Hz3nCe5GP&]$k6V7=m# dO- \'$U$E#}/ZP*mΪLTctG7' Xh_?9<Uc/oS5?%MorBsUv¾4r7!RzzЉ*7/3!LO77`"TZg<[YHh\.9=s;OMw{<=0ڲ޸Ĺ h-XW7`=',2JpM>yBL%uN½m zwuJ-f׬E!eӫ咶FJ>u԰y8{ y&geXwK6wp* ۣIYLT%LON(mWg-ͨ%d8)-+Uh3[u[nԈVYi% 4 =iY5w $c3P\l~i?Jkܧh@@Knkju&+99`_WoX;`ywsհ( 婢$ ^ӧxK 7!+z+, znF7vo[J9QAS4;7$zj 6(ހN7pq]`b~adnp(5Ƃ .OSYGȫ*|_w _![u!^;'%9@s.K/9mB6:?lONn}w,n%Y{%RbU[4wW^, V5ox &ř|E6B^>e/οI"#E\{U H2¾і4_ ו|[Q:` p`}5c 嬳V@V/ֽ^ҜmaO- 7|Zo̞gu }׵՜]m"~fo$Rucd'$>KÎϤڒOHⱯ{|{nvٜ 9鏜A$l#g+Ot7ɿZ$q+Hcyo;_xy:;dU2gP@w)-ʁV#x-AiN5ElU{S/RπON,czeU;l z_ڲ (&ʗmVkSۼ@y1Vߜ{H1U+ >k{Tn1O`J#~gx0cʴ!m-! Mx!K{{AỪ{joWXB@:AO<%n5戾9޻K$cdbC jR̃QBrabjd wM eL!*a3Xj9ҝ>:7)v7@y@c8'*ӧ[ n"[} ^V؊~N:*"ӮyetYA]iQVp%cY^N Rdg[D"AENI _]uE # ˁ#-d)LP;p?1$odSFDpxBc\XGB.ĸutLIj7j-uNMpFf{؞OTw_}RJPԵ bh oa=Rf2]F2źHa59T 2rp̦\3Б~OuȥF[i-Kicz?ROmob/4!PYgQi oU>{XgH% fbv""wBāIP;C};> 2-ʑhN4z\)t&޹ Sp* 0(+(aWZLQa3Y#u3P r&Dݨ5{kf/øwRSԊT~S{غ<ΰ~zܑuGTud`${ɮ{ǂ}<\Dte6AZ59 nsw^r4ԸwHHD (=НAygqsqn>4F5C&.?B?Iw/93"7"sO^i8cmvWyfo64hW_ܭDddeS%ȕUQtK . 3݉ʺzt8ުd>Od `PhF'T ﺲNY39w̅ {*QSH+ڬ-#|}v&:v'cuuDjVTӱLgq$ 14^;){?J]VIIߚI,f.18R^TqTT?O*6NUE&>of[r$Ǩe.'Y݁T5r}{!Z2SRvw;%rY!.6C$On<)+suRt2r6(tunO+>_1mG,vs6AyyCcEVc>|M@8־T<^UHa5SrN6e4 AhXFT}|)ȦS?g4%=q\¶ {ʐo%}:6:%ŋV+ơ}WwK*4ɟB Zi%>JNJIH2j.PǜC&7-429 l~d+aO)^̔Ģ=+>0I+IcY~Gl2YSWXaNye+{O *f:ǴA{GMi*wW #p`rݱ@;O]:e6)q:a1/@=^RTY/5I1%w/ǟ|6 k^7RygkVW_ǀ**.)z/}&n^_~Pp4uOQM'cz0MX)@ag,@{/. 4{jݦ~KiRJKnbLlP=oJ`]4nHs=ʙͺ?b'598 Yhe.-C!"I5p?oQ6uuI餩8şsrGW[LZVQ"y#@fPinGmf `Զ])ucd I Ye^rNa1S& C}-T@5)XʎlGW?ʞ$u~62pxZC'Q(\#$m @Za =!v{My\'SXIm @Xb|HP`[fBd17k[+;}J>rgҋ'HPwn=: r;lH|>3dt<c#bm}vy t,I};vY2n_ČPjtrdzk8DvN ԐP4%m 沶7844MJe:e̿Ҋ|bI,+@ryl:ayFTÍW;iWxuQao+ppr)63ev4L:%:#n;G\:;o«$¦+pS`Y\ "s;BPV5,D}8\g6{oc֦R;{#k Y6c-cP_y?YK|~0X]с`G@|$&\H܄ :6 > ,{T82$F sQ H8oўJfh>glBϬA9H#Q@?F̣6 L>֡}`kӑ Ql|r6B Z~nΎ,uc >`` _ןUXR Jdm.XT.RADfxk>zeܧ#'=)\H쑋bKAPh\*-f D"l#Tq [$?Ö&2{'T8`naH9j(,] q*\V‹1eN( E*'.I锧E77}G('s;%iZN(VǎzH+^r3 r=1g*kZ+~ܺ1 ݭGXBb1 1?5c4`;aIJ8Zҕm)# HJ xs  Yhv3Xˤ_ Hyhj +iJg[4"_o/3A .sP5{q }7wMŰ팴e=sf"e J ^ܸ7@w:)y0i| - yJs,\L˞!:ii̱i>6[g (r̲RÝT8BKidqˆ>Wa8x1 y1y1L7%Q K?'QNG[A/AQMoG n9g7K[Z?vuO&CQ ! .: 32.V]E7:sJ GgZ炿Cբ85mt/uЯbh1X7 ~}+ !LxYC쾽5;GZ?Pƙ/qqJf-.nr_sDKr*)P_5XDnч;Sw0AL"?WN?2EU/Wlkd^(NWh=RoR~T 䞄2t֋W {_q)Bl~]crFo@܁g,$s g=-C5yl{4')\_{}ģ&1UKX+_n)BDқ1<'bj oѾ.X_4B:U^>}g"ӛ11\gc#JůHIraG'Y9(Cl$Γ;(i4ǩp"7$mٵ(.o<_ԏ8A!=a.Snt/3uKϹ[l`AJClNրR@s݅a}.Oۡ.zr_aQAmR6)h٧)k?AgBnoGcx67@+HOۣ /q *1Lμ;b #~g&&c58`)V!({`ΦmBV9 M|l+B$c m(~c\:xF{gid:-b?ĕ[0yBD C|6oݠ khKWeJƛ!P1.㲬Fv#+܋QhMXUYu(X*%'wRx]G2C5 Mm-WbP4hj{;;iq_qw>WE)j0U]J9չfAɕ[F9aU_?[Ržt#'%oC?̨BVa`5ʴtw3@\j;o^ǜ"OY B' C޻e\ȋ8|=+`MX%7>_7}\2~KM5knUXAy3!JH߅]g Պ}eV1W6?௩7ޡ7:,Řr7dktP?2aԥ"`qIW>~{ g1ZLmKk!ݑ 4')cLVlU'(s,qgA.4It6 ^$Pc 1w$&$SAB@X5(X=]o@&`+%xS.,,f!8wXv B|sHÏI\]jPpF-N#J ',G|c^eA=2E;_bSN:+Ɵի]0W]֟[$zT@5>yzrQ1e7߁YP%4αam֖70*4)1Xٲ&*_g - w:V#+.֛Z8+FU"*̱M"-uOvluqޤ:nHkq5Rˏ0J {κ-0t|:U Ν>(]Ѥd%MBIFt80깫ɜdߨօx$@{ 0y0Ts(tIPoXȱJ 39ZU}2fG5$y^ )o@`Bic5<4҉\X{FRf%ShG&:KZ#[ρ%y.#H(V pQ6sC.p=$9}ML{zI2hԁ)[WVٟޣ$~ÚD *na-w̤Idv;0JXϺ/$^.煼*kh:o_5e-GU|3bRǶe[h/m9TY`v67*"iuqQdu׈MQYQObAkjLU7ph@ T^5ȳ -74q |[ƞs_!?5_LPsb_q?`}h^,FYKJxê0Rs~)uƠ>of r i~?'!΅+*M*:OA`Th}_n8r8V/Lͫ p6eml3Mؑa{[ͰVDR.?v㘶sut9"H&(Iat>vyObfM:@sܐPrrӖIM%/ň"_@zդ/GA q C z97VFۚ.U)@3~.wGIa-U%0kL*o ijTE]@F,"­&y,baUW =1 G&r%#C_P(P{-Ne G*(X(fPDǠ6x94<ױM%nQ \ (ʁ@,i,#2^AN2ޅĩT`>TLD^<& W%a`]" 2oyeEV|ρ f&Ȳ( 徍Dc#]xqZ!YTM)U->h[0px?4 2>P/q6m}?ѪMoGisJ~J2'_PL1勘 Q$b1hz>vqF@bx r@.DcKmг"3PUXyVj5 0OX.-M.&`V_j79a'Vf`> Swhv^@gF߇>3[s;A1 Zu!1Vo*xQ}I=P^8*KvlR{GMus&lZM zaA ȤV_kd;İ&8m}vM>ԈLDV~*i;\l s􃊨k޳0 kYMLA${AlCYGjfCoԍz 81?V/ VXm{y-;R./c)P.2ۨ7$K5`X ECIk7ϢCZrᨛd>/F$N"Ds%Nq)Aa9Rr&UHb{DԽ4O~c[&_"]2ۀ n$hW J0Թ8HŚL/?3Nڑ+̉k(LD(Fm5 a]8xR[FЈX+E2SgRMR4H*{:Q]oH^p|\1."o=Y, p|3 a>Z'ٓ]tT{.2KBm,+F/.v#Z KVؙy"-TH/XX'on'yAs4@Jjr41) Ar%ʥl e) 9DNȇ*KFDʆ q /O+=jf*WHwƊsɣ-?sfe#*ڒ/!D1x$NKb@7nM=VGH-hFPw}.<~S22NgH6p+a =rlAr_2b-s 1+aƯ=]m.Ofљ{!E v@cHCЧ|OjfĿ}pik s|-ɴty^;%(!-9~ Qfp@,mHw z]"O)ޜZxs'#-elF&bQnJy]Tk}i+?)K}ԏDh)Aў =s\IarrU8]M8e<}ӎeO  =Dҿqˊ*UޣuY:?P[NH?|2۶"pb3~>ўqR a)ЊBP JyPAK;Fi(8ޝ]Pfx,0NC?ȺAc$? |( J1[zAYP3^y rH`C!8In o<X;1ːU('P?ɽ/Ci7.]9o dݫEWqIΨJ0q1[(vV4ҷ ,!=(/5ԯ-L{փ?.?+YӠd8t:^$fw#fKiF6){xkӴf<`17f6@S߫I?uwBdYa@qƿ]aDk]yIk$ 76ZW6Y``xHoXoK_{ e Gs"ٰؒ@&nگ}|:@'V h`p#f[j`m,2)>m8K}FW<=⶞)xYxr`r 1vLIF8: 7E>Z)Tnc+/?Fv/̒f,lЛFrT'tt ң97 ?㐭rZ4x tSo%*\1o H ]^n8W#\,M1; +Nz .Va[: o~ɧIX$(Mg&++zۤ(9{MeHlʽ( 0*D +3 16/|c `ZW%a39`hs]Mkyވ$/s4Rk=xU['|`x\H%-QSˎ m"50c+xM d2:@cU;`%j/RN,\;H R|mcM6,r[nOBn=ggS.X N{  _`ȿJ<ãyQ:|mh>'2e88W2h~𱔂QskMn}qbߡ.]g-cNX|  PiÙu)$Oߩ%w=L[͝',Wc$2QsːB`x d&)VػSDNy>$FCI. _u0A:)LU PAݝCsSA;ײ£u4^s]xjҒ_IDX3 SB/hYNzO)2;O[#9-(">X*ESp)՟(t BqvQ76\Ta0-734Jz, jtEY/,Q;&6 C;dǠFiuX*KoK:as\#P1@|ӓљgh=h*,jMaU&' N>^vmkBɅaxX9E֏G Nnv OoXv6X ȇi_n4JX; 5Ta2lIۿӬ^YWa;%+&qlUk?1Ƣpm,pnYNM5f4 D}[$88Qe:*8`GOF"21?Hj.8tÂUfwGH_փD eƺf~e݀u7p5p$E &:qq9rY [R*$K45o*qJF%銏tNɹJL#D;zS/LLA PG p䶒%7xz3cXE< @-$w9N2Tl1pipĉfEDOnG;륎6Qr,ݡM=+?y_;Vk &}qEԠf4m=\fwO1OWčwƬ3 2$]zNGM!8x5G}?zH Sp$e?tG61dtȾ@^.PjQ~;BOlVښ!VS%)\P{Rؖ}6C4)Y<$;Kir@" 7vĊrNRM|[IOf@{/ 5b b+5rCϯz  hg[GWe.y݆zTMZ̟eL5yR~8g2GQ:K="sS[ ۥAaMBPh_hw4?^KYI=>ixe[ `A04dnMޒM+#s=W?d^zQF-*SKS~9سr4 vpȠ*ǤvR-.ӗ<8>*ZNs 2 P{ԗԓ ȫ%폥!^RXJx;Pdk% {Fڅdp%L^&oڳBN@aJӎMMQ$C3o-ʞs1ۍ( xa5=S(&Yw*f„ؽvĻ^Tdp]}4<~N 6&lAg<1( nO!#ez2.3Ce9qb䶕ء~ gF\^,]`%vq~!k%ǐPV[A)w?֢ߡ"Pixt)b*;7 P+9V:TI[D=P9:'wOFDr2zEki}F@`c˲4(WƯM!R+aqgzEhvm%zpWSȹ`=zU gLvl&D4jڦ?2u4@V׏}6D̦|t*ir0jvo֔fȿB?kF;-ᄬ}*$P9r@oւZoygFPm@FDPDGEd&+mN?/\!N*z,hhh~w.&"5vؿ\MfF89]}Q췶%b܀*']=n T~-Mf5i) :0Nx{j &ʤ2t+^BA[w0.βQ0Q Qa lGi)"*VRcJIH&>ңdzL uNt@NKY))v?-Bהw=2'~zg縬;y5!q-IQq@%W'<1LDd"-r:0T.&ƋUr sO}"[wzTg&voG0ζy98l܃So.ޗȦ.uBH3yZ%䗶%)n;dSJ.$_k9vJ@*?nbMP$3ܥ9J1O()61DM786mPҸ:y*vZj|67=JmViNiNЀ4mc^kˀтȱIB>I1l Ǿ2qpQeQZ-b\ҭa@D6wPoWO >42)Z D!hc)FX{g buGU szr8Pn4=0Av!w>:dۃ0& Z-; w#dCQ;; VoaI~)MzнB|ӧ4{֥{˷ZL!~1UVƾafz{tlma?WR`Q>uq4|;,WNlƭX)3BߴB{qcdnkDSD$z}TPϽ)9`*<Mf=wb'3F4rsr_qVί'iP Y!HdS B 3)!_cMXQ2 l*:r1347 J*7dZ2Y7ڍps!fy=a@] * -R= ^ 3BE42\r5ڗnR%in˛>.Il޼a)j %SC`DS3*sNQssn_V]& 4 J8n YfОH r*]- @^jX΍?SdkދlUPR\ļ P"$Yap*3Q{BD;׼v45swM33c4 gsfXd#j8y7A7 AG4CڝڇQ":0xHN̛_ :(ݕ1j(& 9.<Tq3ixNޜ Ȼ"GqɓA3,ٵ̼\r >=R'LPFx՜TT~ Feu .<f_T]_` ȃa:-J`˛@n޵苍&h9V K ;%3., ,+Zaf=4A=f}i.hc-ltVhhEY_ nMg,(X UM3ԍl,B>YC9>]7)Mٟc_-#bn笍eI$R>O%7aDI$$ qF@~Y=N|!sM֦pVhdD#׍yAm[GN#=_ڱTb|Yv5FS$I e}ػMd>c=uv{('1b BvfkBբ(p9ŖU2c~ȱLQD1guѴ|qH 6un4-MA :dÕ0>G C$NM  w>+ԷP_y/&Y3^arev#o.$qI4[ĤgfzIlţ=,LR]֋K:3IHSge/;p-g >VSH5OȯG(N1j"3u>3n?oYP+:/.uizY@l'-,67n1ީذe({So+l}EQc!ZJmo!a;E$`V[ ! i3 E [|h3 Th6WɅW5RQ'Q :"E&"ߕ0/r3UYCT~[?*n~z!]0l;y2әĠ.xGa!Dg00h-[eރ.PzaӀdlmaUP:݁*Fn2F_q_/8W$0E&})TTة}IM=h+$ʄ!2hnyLU?f(n觮8tS6 )}֕*-v$ANl??xÃzV@'+}ݡ?[(2 pG=F-kIYdLQu8&mLB۞Tmw"pK`)= ;)zQb><, ,׫}+CBRgӅuVP IEUls 4qj>9B=k`mA {j8@{T4{{ .Ī0^5usPZaMJd\ȤX۲NQ!꧌oЪ˽,( p EF:y6x4ZVܭe07̮:i_|PlN6tmL`23ZGs33}kUlcp̪ \<ղă]C6AC>}#Av`nݖOݍ|*G'w0Tf6B z5vbʿ˜%rl3U?N'Jr穒 %\S L)_ClCr'BhTj.ű __wŲ8e͂]P?^J3OR^1D"0z*ɻ3;[(9tH-!Lr }Je8VˆP+瓜dv9T $ cL*K0#vy׉N7VhˡnSg,$^(Ncu2W",,|PBM޻49?܌M)2o箉4 7TQ8ڦV ;a0o?ƿW)?\_{.&ۙX]bS&?D#ܷS\`G\Z$j}]P&oG^r],%LEm5Lڶ>%97* ٕJ w'KL,nh!7O6$l>JS&2s Cxi4HÄ\5g;梀M@ cy$ Asx<=b0PG|+Ǚ‡!?kk{*o˃ X8b%'g~nie pkOUٸ:Vm=sDad6g^»8Ug4ykS^xU|蝛nND &8E{xh_ [9ARCVX:@njSI^5ZD~-z>"iJ!V _=x|Yݣ͸߲>qFEye6v?~H UJu^ª<ً*Wq~_#FlUOBiXaqY - H@Wڢ[!ЖXJ`X1gڡǴvޓ+k N^;go/31}Ӹ<ָȻs⥐Zǚr#|t\CVhMCQ.JceTUik) am[hG)Mkw0˸N/T*OuI`oڅ0@{|vf01J?RvC6Ƶ u|$-ܻ d2hW:XhӬˆTe m7Q:|}kXxqgGc; ##yVY? !vQQt׷wl]&^]k'q (7>IULQMzeU4Қ#}{v5.ctSø|N?e>DÔ5ꬩxfכX;TwK=J_LΥ=4"jP"es,R9n^bAUO_yn.);#g^I[:LOg0 D@=s#;?)_"]4 Y*JnPYqW!|hgs<Q!>")P)iq#"ן4ꕽʞ v*K? ?~֍`6E++j%Lp6uViƻ)Т%*kr}P'/ۖMfeCV luĀڛ d @Pp;7MYp* Φ HWSH`6Y͇Vl{ljҞA(e;9(s9b=9Emuhsl5[fGabC.B"_iN]F-A0@'v!@ RC.40TDYT5[!.f=\ssl$x,Q6264!y!tpc~ cqֲ! Hm㫋o:.(R~SS;|˙a+Ca ,P2U3` eܷpMOwҏ{U'q1gC=IX@zMm$=ht"eQEW|f5C0^5fd+`|۾ %VJE`I<׃`L5?ؠI Q ,~ћ=dAi ?b]%STM+5On'F{̓<#P=S.x̎S$A cFMo5#n٧n{.oP}-,˒lIR5$#6m?Ph9Iyta,nwZLk: :` Dؤ<-ʉV[dV=ꭻEO]v*hbD6ԏeG-sѹ#B<+_ i`ڶ9Ϧe`Vi壬9UJ\Ń g7 TjFEY(9}@6 ?6z5s lRz̐9 }ԌcK32^RKZœPS܏I^;,)4el%'XWR;IHE`S$8AjV3tao"!:ۂ֥%ufkl =No߾/_l4zt?!L1~4l {W2K0[\{7\zJ]?KW:aț`,|n:D\ <uH]9Grytc黒jO  [1oor>񖙲S߇V&\An%z$8Y';C0{8%ʱ tv'+ ee#jp)$.8d- {/` B pLMlIځFvQtlg? fّ!|$\o^_Ag,﬙W& 5e/ 8dqQ q(YmLR\jH>>ҪJT뗫4WЭ$[8 %)6 PG.QOV+Xr UF9({ڟUa 81<4ޡ6>A]v(}؏Y p\<}T" .>^#fgx3L-ῑqU@ʦA\4K<[-F)99Mt] \xpOd,#,Z'a1i?f(~~K qb8EA+y#c𑋬`ڞ{9K|ϑFt_VBb`!@u3HϑwCr^Wкh0.g(b\iͤ%\+ψkv}࿮"J2 or%^a_M`+}X'q RknrsDet0@tOS=&!*RUBIּg4貯׵SB1ȔDZK>2e15D!WԱ?v¹lHa#Qu uG5hKM]BKզb舾P&R"b( @ϞLq(’0õ/>-4B@_YpKDz/D%ŒeQG˱H_*\d5WOrIx*R/ 4&aѺJ.yߩ\ ]g)IO8?tT:t!oЃzt! T898aϔ@g)ivd%'s?jD %"͊u &z;;Bvq`/9nԘ8 ئ~1!wCi:Зx>&ع,`iDRq[|H)}!daH01I# Sd(㾟rd;oVl}D*OXɃ]%=֒II R!8u*z\<+r?;eD37G+b]׼ݱt0Z7Hu-X:-~FЩL ފ6ր>aI :E'1y.-3+9.462V|jzZ ᭜8k[$ObpAE28F\z/"~@Q \wE Ry,}Òf9j>r>V̯ٷw}1h E[م.rMCS5[ x6C``ܓ1 Y',#DȩhP$E5؁*WqKSfG3}T'sA`}URvНɲv=^Zg` WX~oOu|#7R&8.gslk `MČ~9~J\nx8HYPM`'Hln2,-(R X8yC93@TX+R~8$-$QN DU67̝y !eHsAÐ݅RϷ 'óCWOmb5Emiۑ>1Ɣ9|iv׍ݽNޖRMGP]m%d @;}_LݍI8vO=pN+ePp;Ỿ)*R15W))2FKo*$۷=<GChl W琘 Gp{7n/?*sڏޯUsU7_.q?eH_sIkgQ t /a$vaeBR4LvOGTPё[s4uSPoZI9,ۈ\nmH)7;̓G#:ħP7U.]U]aτit*z)HiZʩrkXDF0<Ǭo_PکWEٺWՐEY-'|2_m~Yc{q!D_haAlFӳ=l:3zڊhG'm}h/iy8_{[Ptas躹v37Z8`$]ԇ,MPciY=YxqNg`~p l93'=FG{eM_dbTsxe*~F`?g*+j8[J'x*!Ƚ>JVZ~zA)_S|e H/*Bk!e 0~jXjRZ$>W1$2X_#'ԧ{Y!whw#0vY~h ,U>9,q+v1^4p~*q&OAH<^ak< ׹7}Ѥ"uB d~1Q,Fko8vy񗐚sz7S%5QLIKkj*kҐ<5]^fmP8ɮ%uTE >;rܶ{"jTkabF> uq,Y iyጕ*y\ErXʴ.7Jo*t:&-0 5ڈŗxOE,ʌ}Zz&,#xmV [N%Up/L W*n3 F3)i2QvЙA<59F6.\AeꁹU|gg4$۠hBs;}K)N>^̧u9dp{5]o Akτ{w=3K# U' &plkh0ӊF|tSM#e`7Z:U uU"/q r=yf1Vyeɢ=Iy^k)bڂߪ'q"kPBL Vbpnm$U=<\&@~4jn|':H$0 &tYax|1I^ UKK!F`h@o>&.6s \; p.A(CU~Qzs>J9>ٻ.3X P>Kک~5dW6oxdɀ#%]x)~ ifszd4>|ވ~|%mE'mկJv0|@8_ eS-ztbR:FBts$+?$ڒ}(+«ՠOyFLQ:be8N1d݀eQ4<t6a:J,@u^5Ȕ3vl k֖שn1`!F`iڠ?PóD^SpBS8bCšXܫqaN676wSE} \T L_o4[.Z(КŲk|S5;8Hvt'U?%a?@M;,H$hx7x c~ PoE:Z Ej$R\}Os4;o(28wK2`؋̈́I d/|P.On?M= )wq=O."`1ma!MaWU>U{R>X"Go"򪻨8\\3ov=n :éIȱ?. 2h6Pl~pl<{. 7832^[Zl-M5@/">:m+Ϻ5xO; Wgo1մj .}`Rȟ<;ԛx_/c>fztjA൰?GbrPsv&q_ 1SelֺTk9_7Bƾ(8c-(e i=I[+^_^E{gbɝ8$ѲkGm[NܓTgz5yxZHY@}@b4ظcU}Kw;iT:p##R5֛F3þF(Y+!% $i.Joؘ&ۢdSbv֭'JNa~D`=v>\T2KD9rg{,x uP_q1HԎ(4 Ǻ6;`fqٟC_76F|[czOO'[9v%[Oe8B¡4X5*5_ԆQEdt[U!=Gs,"N'x2x,یsf\f!TX5yi,F.H[̛8T9uԢ˹cϬ{} %n$p^SJ*l1?V@a)Mp)xW֬{?l9 0X7 F%n,=8F+i7弶C={^i4hUƱ/˨lr[>r3`*!n(]Ѓmyl7[スٟԡznl1*]q}AI*;shGhv-&:G{\DC˂CLcHtPDd|{6{<`I!.}S-U:G-%4 O"愈Xc5n;?ZN.) 0>Ov>a9 4(|3K|)]$5.kGzBf]=i`0J&1,.R[Lм4jˡ`4 HvJ_9\hqqSZ̭"qXTb{u^gw'R1'wfUn!i }"qP)(|icܜ x.KsU%?7] dP. ř)|^OC"xyۉnݟNdW\NioS }3z!ˋY4T[߽תjʲ)V3cclࣧrgLC uX?9;wߤ0eoub<0r=l%k~cUoښw2Ėt ⥣/,FPkZDksQDŽpe"Թ#JG&2fx`"e/ i_ZM |rXaiv' g(a+`O,, h]o#Q@J`;.1(g=OOTRؙI^k,W^#F :X8fH)׎^U}pvaI$7(Vl[6!/@_׆ Fǯ3pI8=MPNS޵<҆F==|S!dX9e'< ꒖Fאd K%W+k@c,[R!T :+Sf4ك=2G-.W[7pYVK|6sV |_? OA aFfPMuΟ,Fsu6|ŴU⬩7׋qZ椿k[A!2PC Ca SNVЎ0@I7iCg?-[hNhChl®r p5p'EgGzd6 !IRu|+gc#iP S ȝt ^8 ,BQш obb gFBG^zod3Fboht B]cQ1LŃ(J"^{"G(Qud [ӄuY)R%h!7_`* -]O {}w{$#֋A g+!aDFDLg눂cUF.r Ҳ ֛]涯uG)Dյ#s*Eʂ1F7^Z|| 6CNSO^Q%|M)ԟnq@ə `ߛTdۋ_(fm].S;u\_:a? Jcb_ ha#۠ `$8m:p%h$ݪn JjkK1:SGʊwmSPHږHr~d^+Z2 P;؏^K&""n}6$&(/xxߨ^_2nQ FHya[N{Q|JSNJƵwHu m[ b)jB rG\,uAJQOqoF:ZDm1瀖fsN{ݤ͑@ Q;>}XkօE>.1,y~ D3cBet@ 03kOʦ=2s#硶6uAx;Oi7G,)q5g r1k~x\894YaDѤ{6.i7 X!*TcI Cub |=?}KV%ABx)'?zp[)W5Z^_xhep3T֜߄bZy<4JlU}]"2V bnf4U(ڳn\i籣 x`̦M-a臄E'-`%0q(RE6EzbJNks.㪋_ sB=x$bQ1}i,Y[#dA֪k]Z|J~%7gyͻCɎ`t3o$Ny5ч:zA')EdScAIAV u 6.x7.7FF.LAgi3xX.4IgOTj@Il/owő!aSO?E ЉU@o!€f/Y}$h~mLT!$@]%P} lx+Q9I$]#E+[i?F)e2V P}WdgrbK'<-avΖP iZˮڪYy jLT_9Eh\amkq,Y7Y[1DHx(֌~g IyJmWb2m@!:|¾`9͵lTN)aWs=?.P`=G1^- 7*,:ȻinhށbҠKD%fW`lT5H7ld S{*/$]x.(-|`bc励S#0t~KHɋC"d![Y=qI[2}t+jӴYFVPW-9C%?p8 J 2`pw,I%IpBB?20%X.] Jc+b I<׎~!3;jԯr!K!hlzԼDANbsC/lKLoT T!#5h{I( 3feU박WE Co;No1J1K#8cӶcf?">Ōg5e]LᮽPtЀ0 qPw%A&g]Юy xZð›i\41C* 򢄰}-4[`-6iboZ"[4PW"vb*KZGj(ժ ioCR 9)݊OxQz"|[7OxÉG {Ft $ 5 Y:XMB~ .3rTH;e8(8(9*%||rs h'g@<^FθYK鷹ND|G&CpkQuEvK֯`}pFgOMxa6Q eyb7CQY4I[452!eF)Ac>zd5(W9vHMKx-T=^0˷\83gDɚ bO cqJs8(|u'L~Ą0 b*=:p*(nza~ Os 6h%7ӯSekUJfuόd. ̋xփk0Km㰚[_ו"-˜Z~fؼqsH݁C4RP7r`|6ړ~e9&u{`-[S lSIn <9NT^ |Zf=@ڭ7"j m ϑiW R"lunp.** h|g7>OdjȤ3^jF8k80kᅥ(@:N s/w.^Yp\8l0IJ4vph:n\";䝣~=NȞjmĝU4dwڡN5l[g#y'`W6J5b¤ȕ9j훞d߈܌HvvXlQ+a$r4*OgJ|C54$e[Ī8nxн5a *bA/`hPּ՞I7^^*x N,r=:ۃOq;#>0_3uIc'[Ϊ{sHVY3.0L!&O6wmF\[YfKf_p ߔ0RjO_@TY4i2 _  K\W sL l@+Qө/Fo\ЁvREC"ET:l5"{\#)DuJֶwrK75'1['Ǩeg> XWe0ķY:;>z"w]B H9 UT;{j1Bq@א> Fu"k$~9=¢B0@V|]@H?GQRq^Ə="}`HCjHY҂%q\X5I\aMhj_"WsDe>Uvf,VR҄Yo[byV_R# Bv(J)&QC: )4P1RlsD T$-yd.\'nAHјJj:Շ)-;k9vp$rM3p50F"R[uN[=7a)]ZJDOtrey6Bxo`5D)+B֣mu?-T!؋i(;uF)gSSªVd`cHqȥH .?sQquoI/)zGu: J'o?u.[S%J+o|O/r0 5hӴ2 RvIOZR_Au0 m&+3$l+Je"֓4߲J/e>gHI޵ hXeg]Z$= EC8vE_Ku̚PmեgX{&PӄK #D#8>ozTxֽs]B ;Pµ㵿}-B ܩnWԛͥ]L+~gxqvw#[5ZI#9П dтh=̽p1`&n3&h@jHVGaHwK' uB l&Mܟx|Lv66C#Pm*±ޘkydK38+Y\sύ ȟ(D;)XWqCC#l$Ǿ.:y_8A Z{"%cLF` Aytuy9EP bN_'BŹ1z@1(~-1%D] , LN?PB<R*"YV>g P<E=[jFNs>`U3gg<+,wۑ>.y攼@C纚-B#RCi.QU^ANC|{qVdd"4kMTySl&N=#@'/R؍/!9ZM5NUp]Xy T*0e~{L+,8(`F3Oǘ4۶|Fi}XeD1%]E c{1Y/Y=f$dA@_Ľ9YxZf\|\);Rz' ꋹ&&0"t2&]ҵ? "b`v/tq 7>Q$ 2(I;nXny,#q5ݜ 8C!33b̑?V=PL ;g~&6@@%1 :zaMW.$okGWHhK!nI2u4| veWoēdjtOfs3oC $0ưeuQ]5+JTLCZQSpqD2:R7{*~ P@ h 7)hTr¶lGx[@ Atf9<å|; rnSAR\RAPN`՘˄X^J/Bhr&7+ =ʻcwOk=(h :K>ЬL~5WXQk˷?h!mG|i)aAL,<1.b:ꌻM@6Ի hVA#ٓŚd 2[ [X 4B~gly=3;PayTESs Jבbf66qq{& am|< gZ,Z`i@J<\wۯUE@#?jϔ߷bf>n$՚G68 [|M a,L" ^hg͸>ٰ"уT| Q^:}-u(=vsM 9o:n߇ ,'hYޥYO@Mrl~;pZ45W <ЅFfnx &T o՗'>ԄgA[KW}t"O)]µ?e,IBAP',DfoNl21h85~ehHxEJFo}Hn!ZpcW-;ݕ86zVI8GkRZE_`u1< (xF&Ѣ3F?c:3hE zR]GX@ +>B8>CAuX@P]"ss#?؊5*#_8 t.Iў|ލHBM&fED&G vnW<|G|q6.e#u*`eU04Nc^K@ƿt1,UJt(c9072T(VL9 T6 ^%0n mu_?r @bN1)XQK6Ey-4.iH"ϘtfXv=޺$ϏSV|!g( ˅ \#ZD-ͪ?Mǐ̦tsZ/[_ufAª7թ/9nb75Ao_FV) ceKJ__^hú@xu+jzBX1}soTAwiC~\F?6_~SoiU׮ig ؘ4S/q@Zv! #o!&KѫuJLj,'.G"d2ӣ^c@Űo6*~Rb X8-%!egwf".{w'?"ݙH}M /nGIػ\O;c#SO)-Co' C1bY="+8oͨ'0GQ1Zr(})Tl+oC(Ie4vW"7d͆,)&oy+k- 7b7- d5-|,f,8NF 'o`ѕpU|>?}PAĢ<t1ocW{y=_waʋ: ̾! U(p9/1Mw%~ Stw'8{ڇ[c㢪,]o26]f]7s[bE@շ.uRKF6HItΛUĎkotjT|3+lc aZ?䕍 wR(n}ۻ0T׳Pv2&,,jz#H{K,i]lTs]u1pIM5e }dSϘ0\4U.jd]ܤ. :; 3ɺh=7 0_~5Sh^fQ'Nq"D֫ircĞ`.OCT3־0Q ӈWgl/% Q)1u{L9A"(J }cyH*L8{[`@sXE=ɹNq2ևRUzRhJs%$di]v'Dz!i&z(=ŇiI~ N0rvo;y># }찧eڿO($$Lߚ?R% id!x}# vY UEN& X<9v'@PtjDbG^6qL*w-J9Lߊ~D\D?|ZId%})~|ORTXAzd*Pp5rA5hGw7q\-+/ౝBݝY0 l2Ku@MTrj5gUAh@Ok6,=UcRFOv[nlAqԿ0C+}&GfϼkIz4[C!#ЕF$[ 7R&lEW[ǵclgf;F^X<1\{8J6)v{{Sfc8,~C{V~Pm| OqxQ53GZ=_gFPs$g<)WGŽo`AA+4?ہ"bms*W5gI8͡$cĹL<c E.(Ȇta7]Liq0ʛ=оU|1<.PPHKs@UH手4#P+ ]֊ #vYYp5+eu GA (TDv_K.Ygj1`~`F#5p]?y8;)4R]hm ƣy,}6`1uK[-n8X=_v*Ε' _0KHQ()H̝,GW ̖'oEÀM\oTPi lxPOUyTVPZLIeD,;Xڷof!iW7{W)LE%LPzs𰻞/&ʉ@;jX=iXN2FxLס0y,u6??GTNx=<,`IBQ(ҋ"rc{9t=Σx%3Nt6ĉY(@bXCݺcm!_A;5EKCR8飺k ],Y A4q+dxC9ϔc,xPy7҄m!IFL/R!k6I8R& ̀ѭ2'[.Is j}ք] +DZ< JWo槟R?zy6 (ۗXudq_¾i"(§|X-1&S ޓO(兂gHN?ѥI')>CUz)Y5/-%6?,[5 a)J1{d苠dyhii 7q#`ʶ=dJ?aaFs^xq{P#X$`8;Y׼1(tOiAQA%.;w"pvuׁqV(- OXAW1j>jz ֔6U"\ZI_K,Gޗsr@陃qt#-󖟑>oRjTE(pY~vc >Pj(Fus,ꞲzX#ٜ/q0 >-MhtA`YAC<"E|V]B 1+@B DfF^ Oc_sфf7i֞@`D,ѧ T\BّaTR{>GUq/'DvZDQ`n;9`HTڝmLhջT#YU>@Gd4!D۹/jvj5:8EQ5QTDڸ_ (KArg(F|?@˿C_̡xH6x4;@߶㈼PRMJya}9Bޜ{`Di+zSnR<n2{Cpk?nQ2x8kA؆zodU蠾pxϾkCu* 80k +V*|Jm|-&tcl؍:ž>8'*u9 ;\_sW\SNpfgvJE mܴ 2?Ex+B@h>#DPƂWE4*<Ԡqn'oa5i:ː߲ߙΏ=C'G}B|At#N f#\q]!98pO㶁<*tuwpwӓ-RH6 >Dž9dpL+Ph7|-ByУ3+i?FԦ!yQvgx7:*؀gZİXwotZ6˶ܝN TPdG3je4 P3aQE0K=- jHAf*ڟ~LazĎ5z/(왯wzAuK}0KG=ǜ ^O>LS݈Y.]㽾}c;Nw&[L8~H4+#7?k¦)+ӎ?OZ=k '3<=X+_?I*'k&Y=Tc>2|2Y9d*T>iT #Kth>-WP/|T\NΏZ~I6XG xgXx˰uu{Zm}A3n C2roQ9yhtIf`K9Sq~}*(rFުd{N" 8pk1PXhlQq*`2.fDHλz7+5 rVƉj[nM\~*fRfh&:nf '^Xe1 ʴw@VŒҖ/+BlNv@LĿ'+YP/ͱ~Sh}7V[>#-C9.c9.`9AAPOP]// 1/o]̳õEiHJC?9 vyV͔J+[=4}ls/8*4oppbOclsV^Ƣc1z|#b^-SqĜ><ʴj T<릝k.,Q#'8t7da F ́1 rRNƫWu-QjOfUi[PC;"d f-퀯ƀ'lt<&9=:*Np/<me7cQɵC0]`\DݪedW3ÌL RnM@ 䖵jw࢐=)G>7 ^gd"R @DLa)?lE W{{bL 0\]>EPW\_WTMī0&,R.!cce I3ڈeZ"I_TgzC#<?bܩ5V5!TVWiD|\*JMґea<jOF.@RWѿ(3ނLu?&Eʄ>Pp5)!T,n Hc!B?R6j7ukB,Dˢ֨_֝|xN#_kfc&pD1x#O1/X;4-Y3Zv9'8 Qv8LP̿=DToRTB'(k l V-3#yao)y]NDc˞} `G`{_C/$E1RD)3@5iG]Ē+B ir%׋_ZUb@@i hq cj3܀ Yu[ʺqA^@4lOMwvpf9%MM]œ'f|\ 68{5M;zWZ:AUZ9WU]*>+.IP_.1+2Fvuп&7wz mu4YWL(:HSmsXу"&UxoNkX~H | A蕤bv{ +!T}jpxғe_bx=*a( :$VNGH>)DJ6)nqpcw(Ϭʋ>VO\OYlzczٙXܮjPO̭N/<4?M!QÌ(D]Ex.րK0S#^BAFן얓?J1ͤfU3r{!G-?Hpk-eE8 g)o=d׉) XdN9Y1@y${G>T_S^*6$ 5)W%}ahH j0)r&خ[h4\X5"|gy1T9mX$GQm& J9',X°j+ƹ/v_W8GGȾI(yاya5tqD w=o 7aK?v7 tG&<_Zv+5k&Hgv۴2"48$K˧Xo/  PxleJEIGͪ4>^\/GҎw(v;e!]{\UmAAoJbFN7+~R3awP>?k(ƊL"}P`CLTPJӛKzjM><çͭLfe4u.T şM}t1>AɊ7\j>Ӝ+>s}ıG]J(LZ7 7R%ÿ1V뾔"{mısU"wY/]@y|:?D:Rlf~KGaP~$MOY6_=`*_W6|F2t gwlb2YL#=L&kW0 oH7^^aZ%ݵ8:)pjne%wH0%6<,cKk; u]NM#1A`ZIԭn˘?K;š 橷zIq,YyjD,/6XՀ0hW"_nP".T%o.¦Ρ>u4wpcz-2c;Nxu- Q"T<Ӏ(2,.nB2Ŷ< mG?ze2\c\yD*(DIΎ6^oZ@~avF2}Г^Ė NjYAPT륈rM[9=|;Mi8RF49Lc$R#kL_q{(JʘljVTt$fkV@e+_|I#_Z,g 77ØqW8ߌϟ ߎaF(<cx@V? 9ָB p4C$c NB/CK6)f.Lcy曲ndyV@!f W5MUMSA'*#h'ZQKG#JgVO;!f86t]sgѰ ܝçRb] E |Wujb*}R@dži#B9Wl0mz#eIɏ>se;Q1 {qwGP%^t9=jdZ̻nҩ jVy$|~0ejZcז{Ֆ]M͚i+>How ^AXOæUv,#l%b8Vu2 ږCbUn\mrJnd^(XC3{M t;/|zS=b(m>5V3l"T["3[G}\+t6hQ(Â@۬= R=:^LU<oZb `DnNDp ";հI;;JI93;l6ȊuEWA{7;HgBnK -IEffx'EFR TV޶m?P駇c ᚬPjix#UB\iز5(…Z\J%@R9oeI4㓇h %i? yELmx L /8";~?xN_rc9H?3p 25H.,씣? 7NM}'O:i /\:H86_0Ro Jez~;/L6̧Q 4F蚡Cw0CW`y3a9maz`1Nq$3-TsKt 󽚶V>Ayx,!-z,.H3`3` wDg]rx+r`G[] 1,8\C$Nieϲ1۲m:˦R2 $O9DURdm 2=B|Pq PY=5g+P6؋#j-sfz OW{gPc<:Uwls*Űݽۜ^PaUKԛKb]k-6ɠP,Ҵw;|" f7q5sVd(0q ]H;^A1xZ ,yhB# ?ndb8F\6GH$ǟnA|tVBfyAyYvDNZ5ZjUQ'-CݛD.։wK@@p>AˮCm-WyXrtV!&8X{?*"sk@cB#GY~:HqYnNͱ1j+p6侏L&6Z| oF9w 0;e=xw?+H*)cv9ޘt[hHCrl' TC8~ s͹-|i)Ⱥ\?Z ;O(\Z}_>ٱm+'lm+@8Wsѭ钦*ׄC*l^rYnj%(" cAM!ZN~[IHߌgxMƠG^֢xk'paBIQ*븅Hkt ued(njg14G4(Gc03s(bo޽͛x>?Mݬ0}~Ejc#c5.Zv-iMv9ob'|"bUAfl%y{gp4 sb!ܷMRbòc^yu(r-(gTI~ug9YrN8 Oac#7@{VKv}2Z <>ahj ^O"Z|fXB]j\2¹`zEĻ/|0VsiGJi8qP5\ȮVǴ藈6" $!ȇ4-Bg51o}py ۜڭno"~Jli[GAՋfCP[MoG7I+0\Qt]ּkĂ<[`/-(g9.v߱Woh';Fn|V1_e|NJ نYi;I²._4s% A2,Sz>lW:1AYюqn B UIs z<6Vʯ16ZޕQ+Q<#uB(;bip}u<-;svM/oX\~;-FuFNkuԡ(Z/բg E|w_cLy"X$1.n>|eh'n ?dʍq14ZIKIr93;n_L|#Lʺ`j&Naq׶5&k}AZB3{$+/wٴP0+/<?ܕ>쪹ɓ#v΃[qi!ļπ!ӳ;|S2eD̿%rѵq[[ت{L0yrx/XoHn$ L޷c! 55 s!۝%Aڿ-qq(y-~'9 8tZ`3Y0ӖqXl ~y #+kdޔZаCx,;e;6͞¼3]%ZS&4̮3ƣ{eӾ3eǛ-%ZIiW36NߞD0 dl ^6bX^ۖnmծfb4OlcV%k,$[ޙ)111EMڢm ?L "=* Nm7&4͏3\bՙ̂,C ~;2-DOd7Di1" rK4%m(}yQUM[y4`5>jqKSbWe?iU>{ @ş=I[18`Y-RELpݴw"+GHeJȵ=&҃)$Du/jLA0Li[XDL,;jt@J&$)k ]#h zm95G2T\(RpB ,^Ȼ=*0ľtm=(A/D[ G%{9ըjSXZ{9rb71\vcԗ IDw+כI"nS[89苂tM[92gtۗ $D)UdL][]w9p5a|F/9:$V:C-Ju:5I>¢է|'Hh^ېKgBp R!Z_@48.lgRHV3闭 /;`xWMm病tVu)@ iZx*l5e˔lch؋uYqsy(d壎e^Ǫ3Rz RB$z:YLIl(3O@7x2V !BLWֈj9t67$ZÄCB5oUV@:#Bߣ52w{ɺ%-@Ϣ(9ݾD]fMEC 넭6R"% GQ';Ũl2خ`"9MYG N҉16eMI>ͺ~u}2+1)rHQX)ZBtB9QHR/m2!_xKd^ #jhVPQTrZGt K-jo'7\^uNetU+v'FqdØtjyU6V-tGϘGO~͖{m E\]R(]=v Ϗi쀋ĝ"x.?{A/8ZIjYD@njcifM? A3T3;wVڹ~w L9C91b#O?w@[3pzξdR- pJ=Pz<2M{ >p?g5}jG qȚ+Mi6 *U?-3Sz 4y.?rqۼpl!wadB~PNUdS8X.ngb(C҅#hBȌJR҄=!jCL7YPFO)jž3@H޹KN';e7U?y2!>[bv"טu cʋu~s'[*\z'ypzk+Ÿ^׈)wxp{Jz]WvUկ_5pѾ+<?ZyQ(Ϸ| ku# DiwZ#er3dIo 2{s{ Lu /2P..Ñ@1m(%YpPdMg~x JNsVkQSV י&Oi7xM8> P`X:)FYJG ЏFëj;{r B}PZoIG0X>~ W `G0ϲ{P?7:g$p]DÅM-~׋r_ǘA3 jIi%NLI$`0*i-hsɗa> C|f:z^+rg;>ak_k햤B6ƍ6 qR>$QBz`A(~GdV$"N{дQxyXqv wbP/ƞO[ f{*lJsbǂ6͂ahȌA/?AiJ"@cH{|;(Q)QƏiҀ25Oٌ'T=KVQ¾1r Y{E\P!aډegYC-)DQ Ǻy/ ro&/|~CŚ vK? lQ'=N}w3rF s91ebT/H |s͋zmۯ\4 > I(FCb l' o?};%?iS\s *o!e/ ʻ Dhhif `SbLvbâ㫠hO-#=MFACΦ@{35Sp"fD3fx/AwٶD1~Jr%cq-Aۈ {/]%Tۋ9Hڻ.X@Sts=q U8g8"V9ZMwG+YG|[= 9rL. 7NkQtI86 ' M*ȟܢj!5̺8Yk3]2E&' 7t,d\nDא/FyirNFepJAk>U:A7t9F01r^JbܤZȒ{Ke1ļLo>$bENĹMu1ZPO@6S*vSh(♜Z":1f8ҠN ~ ;}VBVTbąW&b؜`SuH%seFݣ.^}SJɊ(bG<'ftkj2l%B'7VtNޥ -FQP/1q@&-w HX_f=& ^$y}aZ' \uD5׍Rydm%rCr`y[PV}IV%FGME`g6 SYHk7RRZ)wLQ{]ZZd) .Ofo*xj\CYEʟL[sLL9NkH/9.eQxsяClR0`ݑuՠ>2Pc<ñy[?_퐧,ҁB$PveZZh{Gv`D$з?[i6ifz"L%GL31Upr.\h|z0$|ӠW)6sRz}36\S~ T-,*7#). W!^g>ܽ6a÷]_ΫZsG6KJJs8 C?ޒ]/>01Qmp?oɐkmsnuqdJ;]Gu8!mΕy ljf>Nmk+Sdќ uX-TQX`m(hB|G#j\v L"0ĸ lkBu .:&UU&!ѼLJnb=ZAZ- ]uB37}i r)I%ӡdy/3$g,xwC`NzHs{()v e -\&Qh `Ʒ xc. &.xwCC@Y>$lhC1E0d~n Jrjf;vqrh5A=$\Jh &Tx!ch[y<>`g !B@ri 3ȖYp0'c[U9;H*8\f&$`,'TzބRJ}CwBP +lqr*=$4t,Z>ζz5A]څʗ% @o\W߽LcNmC!ˊb_1)`_% "NY!$;d[%!t츧w v>l^xr)+qoqp>G2 -UBWqWvQ2gX6}>elҀwf4WR EFeI0~I.td^m!~!3uZ,wY4Ǹyz_UݽsmzR{1@[N7W! Qcy(Lk-=n@~M~wQ 8op![ J{fp'nDj[5(daS x$'fHЦwqlz" 4N- Зt[ԍܘbs8_s/DXQ)U7/HNC { T5ߊpNEܴ֭Xҁ=4K2zenc[c}yo ؤ2[q7Ư'' (on1Ȫ^au1W:Zn^i%8ԃ<Ұ7N0CT-NەsdÄsf+lhvGtȚfA`<{4mߌQAu!:V'4c]E4ҍ7,s*VOq8{38wtagՋV-ץVl:`Bc-`RvdEo@alBL!œD!*M)q{CgZ@k(bp@&^٠}Y6$fe0m*@”<嚲C՞!(ʪY6l;QwzS螑?5-̷GҹQ)Gqes*O`b%PF1l+UAXӌ3ȃyq8X."d]xK$V~ =QӽDX8l$˲2k-yrh}ՠ5f8"?n=ywz;n C/0Ū$|"TI1-&' $$J7c! ?]yh+i˨0We Nj5j [q%a #]"7}Ǐhw]mbk0B;={lkW켂"8uJn­ "?Y&S GެTo^BGrhLI?j ̬Wb0UO("]1h[I+u>E-Y=ג :`H"C0+ʃ+TrBLl'M+H<,hL`FUktvp[yOV#ex> hLY 'SA$ćdRPk {4 coȾbGa,kfz6BKq3߽A\T7taEx0h RIG!!(,y; |S{lvjR*L?:SvȌT&Q18v/Ǫtع\`#/qI"vg^7SC,"Ǔ.q) '4,Y\ќue <}TCBE|Ky۹]_ ێ!a qb6!Ɣscb=KJ5_@70۶)=]=^.@|T̈WZ R8^8@;< 8pёسmOWwۇB]#M0䄖`2tDq``j!BLj;&γF}"̃gu}7ҧ `*nOȫTyJѮGUR9:9ZKc ze.!ikvT;WG =xfÀDI[;;24|@>M I8?'>]D[GkȈOa/5c8Ŋ$~fOB)i/=O ˇW:!~19WeOGtTeY Zᓎ[^xxC3+nL?{2ejNbCwDSO @qG;%kkGb#n]6xgv}<3(lѧ#tU4u>Bd![V=G$$ 2?xՋWY^&υNNP"a\q' ?.K\~i2߰gaCx:POzlZ#7:Cm_nw=HϖkgpP #`JNm:swQEm5nL1.pr_e &<5 ђs>~\˔#%c y-A\m1M,uLZ ngn0ـYSk^BDPE}NY[(+ѫDo"'Ѿ*KI#ZZ 婻 ," wy`(Gq(m=$?zoRu8+ls#@Z p%| SL~c73,rb1:`5#[&3o^-4Wbe򠶶$87SB՜F;+MWx&;r[uP<"Es,rs)rN&p9C9~sԨ"@IQ[Y5t_䔣h;$vƔBa$K"TZD5b X~s͑eVDGOGr?b*vTא?XkJYH JaO$* qQ@Kw ',7A*wioGOMo_E79ʎ@A*˕sopr[AަJOy \8J ݬ𔨶̞t[QIMv8.ZwCmzeY_u:ʓHVc {3TO H+Aʼ`]W)r rs%;JtnVDnx=?ʿ0n,n[D7aۅ|߉rXҎV#%`^O6R jY3U-3ȂEG-%ߢzEIZ0/x8`\Db3 *z&QV_oT8uFxg!;%^%D]ɦEe!V AKygW:W2Q"feM3*3$0щtќ%Ez]Хi^JS')rfEm"~ b\E6ب3'Pu Y5NL%IFqmApV"v`yE^y1v(0#n ͊d+% $_Qځ]]UFGyܦ%:Jo|kOѨUA/#nrfwWJl{,OP1",l"k'"ZK߽>+JRp}Mt `Yz ]l#Qqx㷋& 9+7?p?9Vǖo&:C+}Gyt\:0}gπ[M{6[0 6,4mWPv_ڸZK"['g @A+=2o1o8~m[ ͦ΢F j&pJ`'>Wc0|"^^t6&<ޚ1btODF $sxR''@;_lP11AC!z#pc}ҊoT͸^LɐkБn9mst=nz7_)if!%0-#g%/kU7h(yDiȯfB?P7yPTWR8MuL2U&a`0)lsy&L~Y{EMwfWFޣaa[ PBw/Nݭ$Be 舃5:4ܥn/qZ}2^?"c-ÎhlE|yK=+IC%(вB];s *Rb"I0s[ wgjlQ=Ii_ qᲑ+};WNaHsas`rUN7i6mi Fc5>];_k Y6Փ!$UdI>'L*R9> O<{70(X3'Q{z5{`j×u~ 96xtfq^X+Z%ɂ=tZ I h2f&7аFVl_ԻBI(<1K: :@Ԇ=GcohobP_~x8&/ RD&(*р:Xl耔@UΎ,*}o.YHxycB$"Vȝ'-Te7<yrf3')*`r _ &̚o͚{ Mǽ eX7Pɤ5L_@D EΝR {`6,JM5*QU^L_v6p4Vf z'dw.UMm;Κm$$Z&_{qZWyu^LT4H6B e+M#S!x@j 0Xr#]YB~-N;DPyF*?YI.2)XWzLJo5OroB9z"3)Rn5thx>?t$R2gCbF,Y>)P/A-/D-B6 DH;7C%}2 Ȋ,y~]x̾Tjl щ)0,#D>LME*_VWln7-lxqU/7T4t:e|Ÿ0t2(7HO \á}_IQIG+~z]p( ~0=4XoDEHB3p3a2s\/с9Fӊ#8X1+ڍ b+ aYy^;%o>2;w {KBe-QCQ-,ɞjS.WRLEy7>7Ӡ*γ+&kX 2"W%NufAڏ xּe:Eg{n$?4qXŎ/n *!=8ƛ} g?_{DO:?t>OV[bJ,X5C<q>eZRN!2z "E-R~LB*n~hNbq (^sV] Vu4~Cɪ\l+^⛬xbЀwƍB;1@VU^AB٨R{Hwgkc<`aWԖV< qs_'y vd@5Ӯf.Ւ[N(a! ܻ'qC j *I6ehX^.2 2Pk?bk)zAfjta"H7ЀB4LyegcRPTqfia]5u *UN;$5𡀇L:fEp)ʮcBdO4}\%<,sXB\7CxaZ5`cS5RsO0D*M>~=A%Ze$KmXG[b_Q$nU3hyV_XW|ة5eO5ӷ1flrL*L0Hqi(;W.Ͷ x#=ycW 7֜ BфC2Neuld51MCa+NeJP%u=7}>%Q.oJ,Nj_̕bUyp-2YWFip/MD0MgO[JϬddz"m e~2]$-rd;!; 4X*>[6p5p{V:}5=UV('r|}E޿Ϩ-n EH動 F%[ZͭcpޭPGO,Tu"Mt-[ a L>5KAf ɧ Pk p_ҡew?aTx򼝒#FvGY~-˵DNt*pOJ!ZB()-<E$IT @F0d~? 22 (-h £b{&CX :%=7׼4!&-~9u%:7FXEx0[y$+uHIܒ+ YՒG?Kŝkb2J 曀 W~/`V>ODQI5ӚdU68~* ^?9;,!1WC\`X5 =BlVsq}T1v}[۲89W۸`rR!֛ݱ~=nk,g#nb-󴼂`S.㛇cӖ[$ۉ<¯5]*wsqxb_gԲU \$qSx1^϶v]l섰GU3]El$/"Sv1U %8n3O6{>JB Jw^(z)=fJZEq O7[] *.OĮǍ0*) QnH-V$J\ZPwTl!cúWpe>ߩC5Q*V \}~/8$TWb`#{ĵ5! 8rۋ:jp^DHSk/YCpe{Vrs)}<Džg2 P10@A f:y<m)Td7(bu s"[V|1xgݧ"@Qc}ZlK0`8$ɫ,8@G$|A>cK)qw2-\nz7qw MfO81 <>VRD~ٙdQ 20x!A鱻635uvDasNug6dGcbxy̢s1v\WKZ DujvtpzyRȠy-tUOE.Fх|EsP )5 TVHͷmK54ci2jna#Vo}uG2.pJOl[WtCl]$yΚACv^>/EulT{&Q,Pm]-24׶8 #k̴฀4:: h=JT=y;g&EW a; vb.a|aoAQ ܿ % (Xb=V|ng…vZ@dc"73ex2p/˨&M i'Xx>yԽw8O "3$`zQI>Œj MĠ;ouH !BC箙!8BɭF H1\Gf8Z'{'ZcT,&]J M~K ꐵsf4 3~+[OY$_+rԸlo^ +7\gJOG\ P~g.TD`5njKI'*eŃ^,Sc}uNj+W/FCusЗ{hIm΀oH/Vots&FRԯ爋~y 5q %d3<L*ad!v߭SPBr\Dv"oq>h6q@xtݧ?lZq; SSӾS6΋HaΟۋǎ`Je5 ߬58z-aM U'[t1[w{A]c@18Wm|_'ڧ;3Z֜b[͠²/gߌоiKt$oeu,^G- \ǖ@~%< τCb.qdSb$IʳQ ; W[/Z ٽg]ˆBX/m팊 gFf]{v&^18;{*u1;=9^)"g[ -ܢx.$ȞPoe!&TT/#ĞZ8luϗe j w"">QO*oHB@ E} /Xe>,;59ɍ! 5 :&k"I}k )ʫ{Tm}):IF51MЁ$umV\ 1bc4[~j\6={N PmOrL>JQ0T0-P\ǒbuAt\n|lizMIdG+gz:s[п^Zje34.1JBP{w<-#ШX' ,[bUOZ"Ihn3,^Z"-' L;IXnY,edm.KCqݶ%CsM5]y{,kFȱ&&eYmm(@o>n ?1\ {nV֠^5y~Qm*fQ9ǀ1,PbL"t^o8ЈId.zMA JƬ7*%0209hxNthocѶ8W6C-~?,?0HkWܸ&~pg(;a]lSϩ/CS$bDJ q墧p;1/I2gcw}DbEw>9!Z82M}K( jV4~ٹߑ7U̇ZhSG;Ι  ?q@0 0bǛ˻H2nS)H2ʛ/m4yI&fs\0 Y뜩V/ 0"+~;HMzik)(tQd--_4oo*rH ti%Bh_s$t9+=nb , OclI웖 #gn ZSR3GքV MsW9#)4յ\ Ō4ՅTsAM0YTLHJ#sn/SZw:~vnaZ X9wr -0EWwDrj'ӳN|lnd3$IM!*VtmMFfi~/XNk'T+zpڼ b3KǗ&8>#F'.g VuW]",H ƲcC+Ayw&:F껋&X of)tӰg3t(t7͂x442u9AtD(?c6f Zaj3~8n:"7<AB 59 &zܲL\̿ @Hm y/MrBd.&|k.IVolm\CmKcXii(RH7Bgyri{+H ٙO(ۺ^!GbИ]-XI |Z7׍P+CEP{a$`3W(T2ҳong[l ["۠BZvʫj_mKG$~>q"Ojvc. xx;ɃdK41K`M24߯oض:kN:VIF-s"8FjYSG,cǧ{F=n **{?"e‰9ő\|K8@'Y  wi׏q2Tצߡyԝ'x4S{sQцi:/EQ췭I鴼rn}jLX u0yM{.CicqK_٩:C&[̉*jtFN֪ ?ge9(P,)0㍸9,Mg߾@ xkvH07DbK0T Җ@&I{12/N-7M0!)2T <=DaX}'?,y窍'i_ 3_O˫t3eB V\"꫱H]@gLS- r褌J8ށviZ-dSFTnpq 5Y4CY:W}NG K 4gwlhNokJ+cYP"/1]d6ZטJ/J{Ǎ=Sd;4Uc6 jG͖Bm6XHԯc)q̝ZXˡ`Hbc?xEK|s9 `9޳㩩XwwMhi8Z k+}Tao!>2 ַ@FI3it1flxwzcmˎɒAIrЎe*ƲLyTO^rRM? bG~|oz38*ߙ){ADM'k<ށbP7%2>~$N[3M5R`9A"2{e.faR;hK#b= dۙVw}t(D~\d[=pwPk_cB= r>(;v.u,[A*3[fyq9EI-T1 A[؈ 9k!ad%MYR?O(pk}|D!(2Q_z*7m WccIr|ʞn4j(RE5.;ϛM2-equݚ3.oތn`)«m~Q, _)WZDj's-Xs~n3%vH;}3Ћ~mc  :ʒ= )b\zU]P4tjW) }piJ+{BUJoҢ A <#4 5|X'sIK( 9K飕bu3p<{5X5Zl!/~`6/f 3-rGxDC L$Ta*}LDqN"ġo \X3"D-[˃y,>JUUI !k?#CA\;%"a-)~ylsD%r3!.Ϛ2+)$Xx7 O ;xX;~I`j4-ZmN!e.vhz/>7QlG ޑ t0EPkS-2SfM^)A0I!zvއ'Z7L[Zc`(ۆfJP<9?"tPL/s#>`]hIR%j~[s v_ʸ{Sփa-˕~g(@ V# fTG\M->]=EZ*~,Gy3b^vt:0vG{LJd]]h43`4E'4)ljoAq,U3Ҷ=(aof{I$.K7q& j 9{^C;ixy9ՑD^7ͯ4&nK}3bȨͫD9҃Rdpl0^R@vqH}Wx1na 53\0 l>fi>/Hn7;zk'Qs߼J*J;}_UV "O"՞]=.8q0$r0Fkn~plT[C]fNMܥ{N> 9u ¡?+˘H)fr{Q{H|MpR7ۂ.#r͜p_޳nUiz9J\Khg(rzŚf]3c2}ȷq%% ޑHG{P['HdOCԉ~nI$[š|qR!'ݹ;UOB΄Fd[S3ۣ+˄;! T W4)ҨNP =ߣ(w}iY.ӧTj˜ :lG؍g'qSXVh>(}!c>r)Sش950Qvbu'CQ]!nR) 7p €v;aGAFH)h夸`==L+ӹEU)ɜWaBLd/iUs|`@0N =dN񞇦ǤBnS -HĆ86ȩR t~B"%`4mw II L6?F;Ta.^bPVYg9bMV@Gx€(]g՜wQJ3&UHL_ P!bx(ȭ(e%K%M?e{WЩnOf0G|jW]caf%) L積Ji4P3hӀ?wWdFNVT 'NsS$<-YkɀT >D`ձD^gu]2Kan64^-JT:4C-z5Bѽ#@?ejMJ̯B݊~eΟO6[Ś$ cXm3IM|rDnf i0(UqԆZh5Rl*t>PCkN]ΆgZ9WYsB-Dax@\`XI) ЕqS=+x\##!#=8863|0THc/i>e e+.MU8!j@f/WP jb`7p7°RiD˄+/ۭ !R4Qt6ZNߤ!\s(|N2_-' o[@Vϒ}I & I&^|p4Α ^c d<)3黺 4&@"BE| ncᵿE4t6D\bCKX37{KMJz֧x^Ppma&a(EXPV|\%DWQ}mSm(к*J kd1BG֒x)FLNj6_Pi]^ Itma40N7 q)5g\Gd}oGӀ&rba~/dcԈat>g5+XLLQRd(0I&L6 5P͡_yatWxO`ʈ'*3EvJwpM %հVk2DzY$nbKMT^ kJ[C4ujKR`,ixMׁfOaBJgvRĖ-ߡ]<)F[9\*0MF}q(e1 fY!N2=A܊x1{¹GeugxA%> [AʃN2 2p83]aKHkLhiG<@f̊f;?mS=i]1/c3aMQ,mj NSǮY{ǽ\cǝX