# Authors: Karl MacMillan # # Copyright (C) 2007 Red Hat # see file 'COPYING' for use and warranty information # # 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # import time from ipapython.ipa_log_manager import * import os import sys import ldap from ipaserver import ipaldap from ipapython import services as ipaservices import installutils from ldap import modlist from ipalib import api, util, errors from ipapython import ipautil from ipalib.dn import DN DIRMAN_CN = "cn=directory manager" CACERT = "/etc/ipa/ca.crt" # the default container used by AD for user entries WIN_USER_CONTAINER = "cn=Users" # the default container used by IPA for user entries IPA_USER_CONTAINER = "cn=users,cn=accounts" PORT = 636 TIMEOUT = 120 REPL_MAN_DN = "cn=replication manager,cn=config" IPA_REPLICA = 1 WINSYNC = 2 def replica_conn_check(master_host, host_name, realm, check_ca, admin_password=None): """ Check the ports used by the replica both locally and remotely to be sure that replication will work. Does not return a value, will sys.exit() on failure. """ print "Run connection check to master" args = ["/usr/sbin/ipa-replica-conncheck", "--master", master_host, "--auto-master-check", "--realm", realm, "--principal", "admin", "--hostname", host_name] nolog=tuple() if admin_password: args.extend(["--password", admin_password]) nolog=(admin_password,) if check_ca: args.append('--check-ca') (stdin, stderr, returncode) = ipautil.run(args,raiseonerr=False,capture_output=False, nolog=nolog) if returncode != 0: sys.exit("Connection check failed!" + "\nPlease fix your network settings according to error messages above." + "\nIf the check results are not valid it can be skipped with --skip-conncheck parameter.") else: print "Connection check OK" def enable_replication_version_checking(hostname, realm, dirman_passwd): """ Check the replication version checking plugin. If it is not enabled then enable it and restart 389-ds. If it is enabled the do nothing. """ conn = ipaldap.IPAdmin(hostname, realm=realm, ldapi=True) if dirman_passwd: conn.do_simple_bind(bindpw=dirman_passwd) else: conn.do_sasl_gssapi_bind() entry = conn.search_s('cn=IPA Version Replication,cn=plugins,cn=config', ldap.SCOPE_BASE, 'objectclass=*') if entry[0].getValue('nsslapd-pluginenabled') == 'off': conn.modify_s(entry[0].dn, [(ldap.MOD_REPLACE, 'nsslapd-pluginenabled', 'on')]) conn.unbind() serverid = "-".join(realm.split(".")) ipaservices.knownservices.dirsrv.restart(instance_name=serverid) installutils.wait_for_open_ports('localhost', [389, 636], 300) else: conn.unbind() class ReplicationManager(object): """Manage replication agreements between DS servers, and sync agreements with Windows servers""" def __init__(self, realm, hostname, dirman_passwd, port=PORT, starttls=False, conn=None): self.hostname = hostname self.port = port self.dirman_passwd = dirman_passwd self.realm = realm self.starttls = starttls tmp = ipautil.realm_to_suffix(realm) self.suffix = str(DN(tmp)).lower() self.need_memberof_fixup = False # The caller is allowed to pass in an existing IPAdmin connection. # Open a new one if not provided if conn is None: # If we are passed a password we'll use it as the DM password # otherwise we'll do a GSSAPI bind. if starttls: self.conn = ipaldap.IPAdmin(hostname, port=port) ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, CACERT) self.conn.start_tls_s() else: self.conn = ipaldap.IPAdmin(hostname, port=port, cacert=CACERT) if dirman_passwd: self.conn.do_simple_bind(bindpw=dirman_passwd) else: self.conn.do_sasl_gssapi_bind() else: self.conn = conn self.repl_man_passwd = dirman_passwd # these are likely constant, but you could change them # at runtime if you really want self.repl_man_dn = REPL_MAN_DN self.repl_man_cn = "replication manager" def _get_replica_id(self, conn, master_conn): """ Returns the replica ID which is unique for each backend. conn is the connection we are trying to get the replica ID for. master_conn is the master we are going to replicate with. """ # First see if there is already one set dn = self.replica_dn() try: replica = conn.search_s(dn, ldap.SCOPE_BASE, "objectclass=*")[0] if replica.getValue('nsDS5ReplicaId'): return int(replica.getValue('nsDS5ReplicaId')) except ldap.NO_SUCH_OBJECT: pass # Ok, either the entry doesn't exist or the attribute isn't set # so get it from the other master retval = -1 dn = str(DN(('cn','replication'),('cn','etc'), self.suffix)) try: replica = master_conn.search_s(dn, ldap.SCOPE_BASE, "objectclass=*")[0] if not replica.getValue('nsDS5ReplicaId'): root_logger.debug("Unable to retrieve nsDS5ReplicaId from remote server") raise RuntimeError("Unable to retrieve nsDS5ReplicaId from remote server") except ldap.NO_SUCH_OBJECT: root_logger.debug("Unable to retrieve nsDS5ReplicaId from remote server") raise # Now update the value on the master retval = int(replica.getValue('nsDS5ReplicaId')) mod = [(ldap.MOD_REPLACE, 'nsDS5ReplicaId', str(retval + 1))] try: master_conn.modify_s(dn, mod) except Exception, e: root_logger.debug("Problem updating nsDS5ReplicaID %s" % e) raise return retval def find_replication_agreements(self): """ The replication agreements are stored in cn="$SUFFIX",cn=mapping tree,cn=config FIXME: Rather than failing with a read error if a user tries to read this it simply returns zero entries. We need to use GER to determine if we are allowed to read this to return a proper response. For now just return "No entries" even if the user may not be allowed to see them. """ filt = "(|(objectclass=nsDSWindowsReplicationAgreement)(objectclass=nsds5ReplicationAgreement))" try: ents = self.conn.search_s("cn=mapping tree,cn=config", ldap.SCOPE_SUBTREE, filt) except ldap.NO_SUCH_OBJECT: ents = [] return ents def find_ipa_replication_agreements(self): """ The replication agreements are stored in cn="$SUFFIX",cn=mapping tree,cn=config Return the list of hosts we have replication agreements. """ res = [] filt = "(objectclass=nsds5ReplicationAgreement)" try: ents = self.conn.search_s("cn=mapping tree,cn=config", ldap.SCOPE_SUBTREE, filt) except ldap.NO_SUCH_OBJECT: return res for ent in ents: res.append(ent.nsds5replicahost) return res def get_replication_agreement(self, hostname): """ The replication agreements are stored in cn="$SUFFIX",cn=mapping tree,cn=config Get the replication agreement for a specific host. Returns None if not found. """ filt = "(&(|(objectclass=nsds5ReplicationAgreement)(objectclass=nsDSWindowsReplicationAgreement))(nsDS5ReplicaHost=%s))" % hostname try: entry = self.conn.search_s("cn=mapping tree,cn=config", ldap.SCOPE_SUBTREE, filt) except ldap.NO_SUCH_OBJECT: return None if len(entry) == 0: return None else: return entry[0] # There can be only one def add_replication_manager(self, conn, dn, pw): """ Create a pseudo user to use for replication. """ edn = ldap.dn.str2dn(dn) rdn_attr = edn[0][0][0] rdn_val = edn[0][0][1] ent = ipaldap.Entry(dn) ent.setValues("objectclass", "top", "person") ent.setValues(rdn_attr, rdn_val) ent.setValues("userpassword", pw) ent.setValues("sn", "replication manager pseudo user") try: conn.addEntry(ent) except errors.DuplicateEntry: conn.modify_s(dn, [(ldap.MOD_REPLACE, "userpassword", pw)]) pass def delete_replication_manager(self, conn, dn=REPL_MAN_DN): try: conn.delete_s(dn) except ldap.NO_SUCH_OBJECT: pass def get_replica_type(self, master=True): if master: return "3" else: return "2" def replica_dn(self): return str(DN(('cn','replica'),('cn',self.suffix),('cn','mapping tree'),('cn','config'))) def replica_config(self, conn, replica_id, replica_binddn): dn = self.replica_dn() try: entry = conn.getEntry(dn, ldap.SCOPE_BASE) managers = entry.getValues('nsDS5ReplicaBindDN') for m in managers: if DN(replica_binddn) == DN(m): return # Add the new replication manager mod = [(ldap.MOD_ADD, 'nsDS5ReplicaBindDN', replica_binddn)] conn.modify_s(dn, mod) # replication is already configured return except errors.NotFound: pass replica_type = self.get_replica_type() entry = ipaldap.Entry(dn) entry.setValues('objectclass', "top", "nsds5replica", "extensibleobject") entry.setValues('cn', "replica") entry.setValues('nsds5replicaroot', self.suffix) entry.setValues('nsds5replicaid', str(replica_id)) entry.setValues('nsds5replicatype', replica_type) entry.setValues('nsds5flags', "1") entry.setValues('nsds5replicabinddn', [replica_binddn]) entry.setValues('nsds5replicalegacyconsumer', "off") conn.addEntry(entry) def setup_changelog(self, conn): dn = "cn=changelog5, cn=config" dirpath = conn.dbdir + "/cldb" entry = ipaldap.Entry(dn) entry.setValues('objectclass', "top", "extensibleobject") entry.setValues('cn', "changelog5") entry.setValues('nsslapd-changelogdir', dirpath) try: conn.addEntry(entry) except errors.DuplicateEntry: return def setup_chaining_backend(self, conn): chaindn = "cn=chaining database, cn=plugins, cn=config" benamebase = "chaindb" urls = [self.to_ldap_url(conn)] cn = "" benum = 1 done = False while not done: try: cn = benamebase + str(benum) # e.g. localdb1 dn = "cn=" + cn + ", " + chaindn entry = ipaldap.Entry(dn) entry.setValues('objectclass', 'top', 'extensibleObject', 'nsBackendInstance') entry.setValues('cn', cn) entry.setValues('nsslapd-suffix', self.suffix) entry.setValues('nsfarmserverurl', urls) entry.setValues('nsmultiplexorbinddn', self.repl_man_dn) entry.setValues('nsmultiplexorcredentials', self.repl_man_passwd) self.conn.addEntry(entry) done = True except errors.DuplicateEntry: benum += 1 except errors.ExecutionError, e: print "Could not add backend entry " + dn, e raise return cn def to_ldap_url(self, conn): return "ldap://%s/" % ipautil.format_netloc(conn.host, conn.port) def setup_chaining_farm(self, conn): try: conn.modify_s(self.suffix, [(ldap.MOD_ADD, 'aci', [ "(targetattr = \"*\")(version 3.0; acl \"Proxied authorization for database links\"; allow (proxy) userdn = \"ldap:///%s\";)" % self.repl_man_dn ])]) except ldap.TYPE_OR_VALUE_EXISTS: root_logger.debug("proxy aci already exists in suffix %s on %s" % (self.suffix, conn.host)) def get_mapping_tree_entry(self): try: entry = self.conn.getEntry("cn=mapping tree,cn=config", ldap.SCOPE_ONELEVEL, "(cn=\"%s\")" % (self.suffix)) except errors.NotFound, e: root_logger.debug("failed to find mappting tree entry for %s" % self.suffix) raise e return entry def enable_chain_on_update(self, bename): mtent = self.get_mapping_tree_entry() dn = mtent.dn plgent = self.conn.getEntry("cn=Multimaster Replication Plugin,cn=plugins,cn=config", ldap.SCOPE_BASE, "(objectclass=*)", ['nsslapd-pluginPath']) path = plgent.getValue('nsslapd-pluginPath') mod = [(ldap.MOD_REPLACE, 'nsslapd-state', 'backend'), (ldap.MOD_ADD, 'nsslapd-backend', bename), (ldap.MOD_ADD, 'nsslapd-distribution-plugin', path), (ldap.MOD_ADD, 'nsslapd-distribution-funct', 'repl_chain_on_update')] try: self.conn.modify_s(dn, mod) except ldap.TYPE_OR_VALUE_EXISTS: root_logger.debug("chainOnUpdate already enabled for %s" % self.suffix) def setup_chain_on_update(self, other_conn): chainbe = self.setup_chaining_backend(other_conn) self.enable_chain_on_update(chainbe) def add_passsync_user(self, conn, password): pass_dn = "uid=passsync,cn=sysaccounts,cn=etc,%s" % self.suffix print "The user for the Windows PassSync service is %s" % pass_dn try: conn.getEntry(pass_dn, ldap.SCOPE_BASE) print "Windows PassSync entry exists, not resetting password" return except errors.NotFound: pass # The user doesn't exist, add it entry = ipaldap.Entry(pass_dn) entry.setValues("objectclass", ["account", "simplesecurityobject"]) entry.setValues("uid", "passsync") entry.setValues("userPassword", password) conn.addEntry(entry) # Add it to the list of users allowed to bypass password policy extop_dn = "cn=ipa_pwd_extop,cn=plugins,cn=config" entry = conn.getEntry(extop_dn, ldap.SCOPE_BASE) pass_mgrs = entry.getValues('passSyncManagersDNs') if not pass_mgrs: pass_mgrs = [] if not isinstance(pass_mgrs, list): pass_mgrs = [pass_mgrs] pass_mgrs.append(pass_dn) mod = [(ldap.MOD_REPLACE, 'passSyncManagersDNs', pass_mgrs)] conn.modify_s(extop_dn, mod) # And finally grant it permission to write passwords mod = [(ldap.MOD_ADD, 'aci', ['(targetattr = "userPassword || krbPrincipalKey || sambaLMPassword || sambaNTPassword || passwordHistory")(version 3.0; acl "Windows PassSync service can write passwords"; allow (write) userdn="ldap:///%s";)' % pass_dn])] try: conn.modify_s(self.suffix, mod) except ldap.TYPE_OR_VALUE_EXISTS: root_logger.debug("passsync aci already exists in suffix %s on %s" % (self.suffix, conn.host)) def setup_winsync_agmt(self, entry, win_subtree=None): if win_subtree is None: win_subtree = WIN_USER_CONTAINER + "," + self.ad_suffix ds_subtree = IPA_USER_CONTAINER + "," + self.suffix windomain = '.'.join(ldap.explode_dn(self.suffix, 1)) entry.setValues("objectclass", "nsDSWindowsReplicationAgreement") entry.setValues("nsds7WindowsReplicaSubtree", win_subtree) entry.setValues("nsds7DirectoryReplicaSubtree", ds_subtree) # for now, just sync users and ignore groups entry.setValues("nsds7NewWinUserSyncEnabled", 'true') entry.setValues("nsds7NewWinGroupSyncEnabled", 'false') entry.setValues("nsds7WindowsDomain", windomain) def agreement_dn(self, hostname, master=None): """ IPA agreement use the same dn on both sides, dogtag does not. master is not used for IPA agreements but for dogtag it will tell which side we want. """ cn = "meTo%s" % (hostname) dn = "cn=%s, %s" % (cn, self.replica_dn()) return (cn, dn) def setup_agreement(self, a_conn, b_hostname, port=389, repl_man_dn=None, repl_man_passwd=None, iswinsync=False, win_subtree=None, isgssapi=False, master=None): """ master is used to determine which side of the agreement we are creating. This is only needed for dogtag replication agreements which use a different name on each side. If master is None then isn't a dogtag replication agreement. """ cn, dn = self.agreement_dn(b_hostname, master=master) try: a_conn.getEntry(dn, ldap.SCOPE_BASE) return except errors.NotFound: pass # List of attributes that need to be excluded from replication initialization. totalexcludes = ('entryusn', 'krblastsuccessfulauth', 'krblastfailedauth', 'krbloginfailedcount') # List of attributes that need to be excluded from normal replication. excludes = ('memberof', ) + totalexcludes entry = ipaldap.Entry(dn) entry.setValues('objectclass', "nsds5replicationagreement") entry.setValues('cn', cn) entry.setValues('nsds5replicahost', b_hostname) entry.setValues('nsds5replicaport', str(port)) entry.setValues('nsds5replicatimeout', str(TIMEOUT)) entry.setValues('nsds5replicaroot', self.suffix) if master is None: entry.setValues('nsDS5ReplicatedAttributeList', '(objectclass=*) $ EXCLUDE %s' % " ".join(excludes)) entry.setValues('description', "me to %s" % b_hostname) if isgssapi: entry.setValues('nsds5replicatransportinfo', 'LDAP') entry.setValues('nsds5replicabindmethod', 'SASL/GSSAPI') else: entry.setValues('nsds5replicabinddn', repl_man_dn) entry.setValues('nsds5replicacredentials', repl_man_passwd) entry.setValues('nsds5replicatransportinfo', 'TLS') entry.setValues('nsds5replicabindmethod', 'simple') if iswinsync: self.setup_winsync_agmt(entry, win_subtree) a_conn.addEntry(entry) try: mod = [(ldap.MOD_ADD, 'nsDS5ReplicatedAttributeListTotal', '(objectclass=*) $ EXCLUDE %s' % " ".join(totalexcludes))] a_conn.modify_s(dn, mod) except ldap.LDAPError, e: # Apparently there are problems set the total list # Probably the master is an old 389-ds server, tell the caller # that we will have to set the memberof fixup task self.need_memberof_fixup = True entry = a_conn.waitForEntry(entry) def needs_memberof_fixup(self): return self.need_memberof_fixup def get_replica_principal_dns(self, a, b, retries): """ Get the DNs of the ldap principals we are going to convert to using GSSAPI replication. Arguments a and b are LDAP connections. retries is the number of attempts that should be made to find the entries. It could be that replication is slow. If successful this returns a tuple (dn_a, dn_b). If either of the DNs doesn't exist after the retries are exhausted an exception is raised. """ filter_a = '(krbprincipalname=ldap/%s@%s)' % (a.host, self.realm) filter_b = '(krbprincipalname=ldap/%s@%s)' % (b.host, self.realm) a_entry = None b_entry = None while (retries > 0 ): root_logger.info('Getting ldap service principals for conversion: %s and %s' % (filter_a, filter_b)) a_entry = b.search_s(self.suffix, ldap.SCOPE_SUBTREE, filterstr=filter_a) b_entry = a.search_s(self.suffix, ldap.SCOPE_SUBTREE, filterstr=filter_b) if a_entry and b_entry: root_logger.debug('Found both principals.') break # One or both is missing, force sync again if not a_entry: root_logger.debug('Unable to find entry for %s on %s' % (filter_a, str(b))) self.force_sync(a, b.host) cn, dn = self.agreement_dn(b.host) self.wait_for_repl_update(a, dn, 30) if not b_entry: root_logger.debug('Unable to find entry for %s on %s' % (filter_b, str(a))) self.force_sync(b, a.host) cn, dn = self.agreement_dn(a.host) self.wait_for_repl_update(b, dn, 30) retries -= 1 if not a_entry or not b_entry: raise RuntimeError('One of the ldap service principals is missing. Replication agreement cannot be converted') return (a_entry[0].dn, b_entry[0].dn) def setup_krb_princs_as_replica_binddns(self, a, b): """ Search the appropriate principal names so we can get the correct DNs to store in the replication agreements. Then modify the replica object to allow these DNs to act as replication agents. """ rep_dn = self.replica_dn() (a_dn, b_dn) = self.get_replica_principal_dns(a, b, retries=10) # Add kerberos principal DNs as valid bindDNs for replication try: mod = [(ldap.MOD_ADD, "nsds5replicabinddn", b_dn)] a.modify_s(rep_dn, mod) except ldap.TYPE_OR_VALUE_EXISTS: pass try: mod = [(ldap.MOD_ADD, "nsds5replicabinddn", a_dn)] b.modify_s(rep_dn, mod) except ldap.TYPE_OR_VALUE_EXISTS: pass def gssapi_update_agreements(self, a, b): self.setup_krb_princs_as_replica_binddns(a, b) #change replication agreements to connect to other host using GSSAPI mod = [(ldap.MOD_REPLACE, "nsds5replicatransportinfo", "LDAP"), (ldap.MOD_REPLACE, "nsds5replicabindmethod", "SASL/GSSAPI"), (ldap.MOD_DELETE, "nsds5replicabinddn", None), (ldap.MOD_DELETE, "nsds5replicacredentials", None)] cn, a_ag_dn = self.agreement_dn(b.host) a.modify_s(a_ag_dn, mod) cn, b_ag_dn = self.agreement_dn(a.host) b.modify_s(b_ag_dn, mod) # Finally remove the temporary replication manager user try: a.delete_s(self.repl_man_dn) except ldap.NO_SUCH_OBJECT: pass try: b.delete_s(self.repl_man_dn) except ldap.NO_SUCH_OBJECT: pass def delete_agreement(self, hostname): cn, dn = self.agreement_dn(hostname) return self.conn.deleteEntry(dn) def delete_referral(self, hostname): esc1_suffix = self.suffix.replace('=', '\\3D').replace(',', '\\2C') esc2_suffix = self.suffix.replace('=', '%3D').replace(',', '%2C') dn = 'cn=%s,cn=mapping tree,cn=config' % esc1_suffix # TODO: should we detect proto/port somehow ? mod = [(ldap.MOD_DELETE, 'nsslapd-referral', 'ldap://%s/%s' % (ipautil.format_netloc(hostname, 389), esc2_suffix))] try: self.conn.modify_s(dn, mod) except Exception, e: root_logger.debug("Failed to remove referral value: %s" % str(e)) def check_repl_init(self, conn, agmtdn): done = False hasError = 0 attrlist = ['cn', 'nsds5BeginReplicaRefresh', 'nsds5replicaUpdateInProgress', 'nsds5ReplicaLastInitStatus', 'nsds5ReplicaLastInitStart', 'nsds5ReplicaLastInitEnd'] entry = conn.getEntry(agmtdn, ldap.SCOPE_BASE, "(objectclass=*)", attrlist) if not entry: print "Error reading status from agreement", agmtdn hasError = 1 else: refresh = entry.nsds5BeginReplicaRefresh inprogress = entry.nsds5replicaUpdateInProgress status = entry.nsds5ReplicaLastInitStatus if not refresh: # done - check status if not status: print "No status yet" elif status.find("replica busy") > -1: print "[%s] reports: Replica Busy! Status: [%s]" % (conn.host, status) done = True hasError = 2 elif status.find("Total update succeeded") > -1: print "Update succeeded" done = True elif inprogress.lower() == 'true': print "Update in progress yet not in progress" else: print "[%s] reports: Update failed! Status: [%s]" % (conn.host, status) hasError = 1 done = True else: print "Update in progress" return done, hasError def check_repl_update(self, conn, agmtdn): done = False hasError = 0 attrlist = ['cn', 'nsds5replicaUpdateInProgress', 'nsds5ReplicaLastUpdateStatus', 'nsds5ReplicaLastUpdateStart', 'nsds5ReplicaLastUpdateEnd'] entry = conn.getEntry(agmtdn, ldap.SCOPE_BASE, "(objectclass=*)", attrlist) if not entry: print "Error reading status from agreement", agmtdn hasError = 1 else: inprogress = entry.nsds5replicaUpdateInProgress status = entry.nsds5ReplicaLastUpdateStatus start = entry.nsds5ReplicaLastUpdateStart end = entry.nsds5ReplicaLastUpdateEnd # incremental update is done if inprogress is false and end >= start done = inprogress and inprogress.lower() == 'false' and start and end and (start <= end) root_logger.info("Replication Update in progress: %s: status: %s: start: %s: end: %s" % (inprogress, status, start, end)) if not done and status: # check for errors # status will usually be a number followed by a string # number != 0 means error rc, msg = status.split(' ', 1) if rc != '0': hasError = 1 done = True return done, hasError def wait_for_repl_init(self, conn, agmtdn): done = False haserror = 0 while not done and not haserror: time.sleep(1) # give it a few seconds to get going done, haserror = self.check_repl_init(conn, agmtdn) return haserror def wait_for_repl_update(self, conn, agmtdn, maxtries=600): done = False haserror = 0 while not done and not haserror and maxtries > 0: time.sleep(1) # give it a few seconds to get going done, haserror = self.check_repl_update(conn, agmtdn) maxtries -= 1 if maxtries == 0: # too many tries print "Error: timeout: could not determine agreement status: please check your directory server logs for possible errors" haserror = 1 return haserror def start_replication(self, conn, hostname=None, master=None): print "Starting replication, please wait until this has completed." if hostname == None: hostname = self.conn.host cn, dn = self.agreement_dn(hostname, master) mod = [(ldap.MOD_ADD, 'nsds5BeginReplicaRefresh', 'start')] conn.modify_s(dn, mod) return self.wait_for_repl_init(conn, dn) def basic_replication_setup(self, conn, replica_id, repldn, replpw): if replpw is not None: self.add_replication_manager(conn, repldn, replpw) self.replica_config(conn, replica_id, repldn) self.setup_changelog(conn) def setup_replication(self, r_hostname, r_port=389, r_sslport=636, r_binddn=None, r_bindpw=None, starttls=False, is_cs_replica=False): # note - there appears to be a bug in python-ldap - it does not # allow connections using two different CA certs if starttls: r_conn = ipaldap.IPAdmin(r_hostname, port=r_port) ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, CACERT) r_conn.start_tls_s() else: r_conn = ipaldap.IPAdmin(r_hostname, port=r_sslport, cacert=CACERT) if r_bindpw: r_conn.do_simple_bind(binddn=r_binddn, bindpw=r_bindpw) else: r_conn.do_sasl_gssapi_bind() #Setup the first half l_id = self._get_replica_id(self.conn, r_conn) self.basic_replication_setup(self.conn, l_id, self.repl_man_dn, self.repl_man_passwd) # Now setup the other half r_id = self._get_replica_id(r_conn, r_conn) self.basic_replication_setup(r_conn, r_id, self.repl_man_dn, self.repl_man_passwd) if is_cs_replica: self.setup_agreement(r_conn, self.conn.host, port=r_port, repl_man_dn=self.repl_man_dn, repl_man_passwd=self.repl_man_passwd, master=True) self.setup_agreement(self.conn, r_hostname, port=r_port, repl_man_dn=self.repl_man_dn, repl_man_passwd=self.repl_man_passwd, master=False) else: self.setup_agreement(r_conn, self.conn.host, port=r_port, repl_man_dn=self.repl_man_dn, repl_man_passwd=self.repl_man_passwd) self.setup_agreement(self.conn, r_hostname, port=r_port, repl_man_dn=self.repl_man_dn, repl_man_passwd=self.repl_man_passwd) #Finally start replication ret = self.start_replication(r_conn, master=True) if ret != 0: raise RuntimeError("Failed to start replication") def setup_winsync_replication(self, ad_dc_name, ad_binddn, ad_pwd, passsync_pw, ad_subtree, cacert=CACERT): self.ad_suffix = "" try: # Validate AD connection ad_conn = ldap.initialize('ldap://%s' % ipautil.format_netloc(ad_dc_name)) # the next one is to workaround bugs arounf opendalp libs+NSS db # we need to first specify the OPT_X_TLS_CACERTFILE and _after_ # that initialize the context to prevent TLS connection errors: # https://bugzilla.redhat.com/show_bug.cgi?id=800787 ad_conn.set_option(ldap.OPT_X_TLS_CACERTFILE, cacert) ad_conn.set_option(ldap.OPT_X_TLS_NEWCTX, 0) ad_conn.start_tls_s() ad_conn.simple_bind_s(ad_binddn, ad_pwd) res = ad_conn.search_s("", ldap.SCOPE_BASE, '(objectClass=*)', ['defaultNamingContext']) for dn,entry in res: if dn == "": self.ad_suffix = entry['defaultNamingContext'][0] root_logger.info("AD Suffix is: %s" % self.ad_suffix) if self.ad_suffix == "": raise RuntimeError("Failed to lookup AD's Ldap suffix") ad_conn.unbind_s() del ad_conn except Exception, e: root_logger.info("Failed to connect to AD server %s" % ad_dc_name) root_logger.info("The error was: %s" % e) raise RuntimeError("Failed to setup winsync replication") # Setup the only half. # there is no other side to get a replica ID from # So we generate one locally replica_id = self._get_replica_id(self.conn, self.conn) self.basic_replication_setup(self.conn, replica_id, self.repl_man_dn, self.repl_man_passwd) #now add a passync user allowed to access the AD server self.add_passsync_user(self.conn, passsync_pw) self.setup_agreement(self.conn, ad_dc_name, repl_man_dn=ad_binddn, repl_man_passwd=ad_pwd, iswinsync=True, win_subtree=ad_subtree) root_logger.info("Added new sync agreement, waiting for it to become ready . . .") cn, dn = self.agreement_dn(ad_dc_name) self.wait_for_repl_update(self.conn, dn, 300) root_logger.info("Agreement is ready, starting replication . . .") # Add winsync replica to the public DIT dn = str(DN(('cn',ad_dc_name),('cn','replicas'),('cn','ipa'),('cn','etc'), self.suffix)) entry = ipaldap.Entry(dn) entry.setValues("objectclass", ["nsContainer", "ipaConfigObject"]) entry.setValues("cn", ad_dc_name) entry.setValues("ipaConfigString", "winsync:%s" % self.hostname) try: self.conn.addEntry(entry) except Exception, e: root_logger.info("Failed to create public entry for winsync replica") #Finally start replication ret = self.start_replication(self.conn, ad_dc_name) if ret != 0: raise RuntimeError("Failed to start replication") def convert_to_gssapi_replication(self, r_hostname, r_binddn, r_bindpw): r_conn = ipaldap.IPAdmin(r_hostname, port=PORT, cacert=CACERT) if r_bindpw: r_conn.do_simple_bind(binddn=r_binddn, bindpw=r_bindpw) else: r_conn.do_sasl_gssapi_bind() # First off make sure servers are in sync so that both KDCs # have all principals and their passwords and can release # the right tickets. We do this by force pushing all our changes self.force_sync(self.conn, r_hostname) cn, dn = self.agreement_dn(r_hostname) self.wait_for_repl_update(self.conn, dn, 300) # now in the opposite direction self.force_sync(r_conn, self.hostname) cn, dn = self.agreement_dn(self.hostname) self.wait_for_repl_update(r_conn, dn, 300) # now that directories are in sync, # change the agreements to use GSSAPI self.gssapi_update_agreements(self.conn, r_conn) def setup_gssapi_replication(self, r_hostname, r_binddn=None, r_bindpw=None): """ Directly sets up GSSAPI replication. Only usable to connect 2 existing replicas (needs existing kerberos principals) """ # note - there appears to be a bug in python-ldap - it does not # allow connections using two different CA certs r_conn = ipaldap.IPAdmin(r_hostname, port=PORT, cacert=CACERT) if r_bindpw: r_conn.do_simple_bind(binddn=r_binddn, bindpw=r_bindpw) else: r_conn.do_sasl_gssapi_bind() # Allow krb principals to act as replicas self.setup_krb_princs_as_replica_binddns(self.conn, r_conn) # Create mutual replication agreementsausiung SASL/GSSAPI self.setup_agreement(self.conn, r_hostname, isgssapi=True) self.setup_agreement(r_conn, self.conn.host, isgssapi=True) def initialize_replication(self, dn, conn): mod = [(ldap.MOD_ADD, 'nsds5BeginReplicaRefresh', 'start')] try: conn.modify_s(dn, mod) except ldap.ALREADY_EXISTS: return def force_sync(self, conn, hostname): newschedule = '2358-2359 0' filter = '(&(nsDS5ReplicaHost=%s)' \ '(|(objectclass=nsDSWindowsReplicationAgreement)' \ '(objectclass=nsds5ReplicationAgreement)))' % hostname entry = conn.search_s("cn=config", ldap.SCOPE_SUBTREE, filter) if len(entry) == 0: root_logger.error("Unable to find replication agreement for %s" % (hostname)) raise RuntimeError("Unable to proceed") if len(entry) > 1: root_logger.error("Found multiple agreements for %s" % hostname) root_logger.error("Using the first one only (%s)" % entry[0].dn) dn = entry[0].dn schedule = entry[0].nsds5replicaupdateschedule # On the remote chance of a match. We force a synch to happen right # now by setting the schedule to something and quickly removing it. if schedule is not None: if newschedule == schedule: newschedule = '2358-2359 1' root_logger.info("Setting agreement %s schedule to %s to force synch" % (dn, newschedule)) mod = [(ldap.MOD_REPLACE, 'nsDS5ReplicaUpdateSchedule', [ newschedule ])] conn.modify_s(dn, mod) time.sleep(1) root_logger.info("Deleting schedule %s from agreement %s" % (newschedule, dn)) mod = [(ldap.MOD_DELETE, 'nsDS5ReplicaUpdateSchedule', None)] conn.modify_s(dn, mod) def get_agreement_type(self, hostname): cn, dn = self.agreement_dn(hostname) entry = self.conn.getEntry(dn, ldap.SCOPE_BASE) objectclass = entry.getValues("objectclass") for o in objectclass: if o.lower() == "nsdswindowsreplicationagreement": return WINSYNC return IPA_REPLICA def replica_cleanup(self, replica, realm, force=False): """ This function removes information about the replica in parts of the shared tree that expose it, so clients stop trying to use this replica. """ err = None if replica == self.hostname: raise RuntimeError("Can't cleanup self") # delete master kerberos key and all its svc principals try: filter='(krbprincipalname=*/%s@%s)' % (replica, realm) entries = self.conn.search_s(self.suffix, ldap.SCOPE_SUBTREE, filterstr=filter) if len(entries) != 0: dnset = self.conn.get_dns_sorted_by_length(entries, reverse=True) for dns in dnset: for dn in dns: self.conn.deleteEntry(dn) except ldap.NO_SUCH_OBJECT: pass except errors.NotFound: pass except Exception, e: if not force: raise e else: err = e # remove replica memberPrincipal from s4u2proxy configuration dn1 = DN(u'cn=ipa-http-delegation', api.env.container_s4u2proxy, self.suffix) member_principal1 = "HTTP/%(fqdn)s@%(realm)s" % dict(fqdn=replica, realm=realm) dn2 = DN(u'cn=ipa-ldap-delegation-targets', api.env.container_s4u2proxy, self.suffix) member_principal2 = "ldap/%(fqdn)s@%(realm)s" % dict(fqdn=replica, realm=realm) dn3 = DN(u'cn=ipa-cifs-delegation-targets', api.env.container_s4u2proxy, self.suffix) member_principal3 = "cifs/%(fqdn)s@%(realm)s" % dict(fqdn=replica, realm=realm) for (dn, member_principal) in ((str(dn1), member_principal1), (str(dn2), member_principal2), (str(dn3), member_principal3)): try: mod = [(ldap.MOD_DELETE, 'memberPrincipal', member_principal)] self.conn.modify_s(dn, mod) except (ldap.NO_SUCH_OBJECT, ldap.NO_SUCH_ATTRIBUTE): root_logger.debug("Replica (%s) memberPrincipal (%s) not found in %s" % \ (replica, member_principal, dn)) except Exception, e: if not force: raise e elif not err: err = e # delete master entry with all active services try: dn = 'cn=%s,cn=masters,cn=ipa,cn=etc,%s' % (replica, self.suffix) entries = self.conn.search_s(dn, ldap.SCOPE_SUBTREE) if len(entries) != 0: dnset = self.conn.get_dns_sorted_by_length(entries, reverse=True) for dns in dnset: for dn in dns: self.conn.deleteEntry(dn) except ldap.NO_SUCH_OBJECT: pass except errors.NotFound: pass except Exception, e: if not force: raise e elif not err: err = e try: basedn = 'cn=etc,%s' % self.suffix filter = '(dnaHostname=%s)' % replica entries = self.conn.search_s(basedn, ldap.SCOPE_SUBTREE, filterstr=filter) if len(entries) != 0: for e in entries: self.conn.deleteEntry(e.dn) except ldap.NO_SUCH_OBJECT: pass except errors.NotFound: pass except Exception, e: if not force: raise e elif not err: err = e try: dn = 'cn=default,ou=profile,%s' % self.suffix ret = self.conn.search_s(dn, ldap.SCOPE_BASE, '(objectclass=*)')[0] srvlist = ret.data.get('defaultServerList') if len(srvlist) > 0: srvlist = srvlist[0].split() if replica in srvlist: srvlist.remove(replica) attr = ' '.join(srvlist) mod = [(ldap.MOD_REPLACE, 'defaultServerList', attr)] self.conn.modify_s(dn, mod) except ldap.NO_SUCH_OBJECT: pass except ldap.NO_SUCH_ATTRIBUTE: pass except ldap.TYPE_OR_VALUE_EXISTS: pass except Exception, e: if force and err: raise err #pylint: disable=E0702 else: raise e if err: raise err #pylint: disable=E0702 >ᢱ ų^" zB&OX$.wo?b>xҬF@~!P2qPlڱc v%ò=M15:j+UoBkzC2')e ~hD WKNЫKt>}'dt΄H0Р+ `3yaxk0Gڈ9^2$}__O|cwNY2eԪd+ G!+倫B+~AƎs5k sܩ H-Ņk$V="bmMII();k@? r~¹BqscR}~~93>K9uO{@m nlII*lQrQbl-쵢%Wf*<Mvc*xu TU>;+jSA حZvPmt*ny f G/|@P-e;)໰ݗ6B^XJі|v^ 0hNB)+s/vԛVXA]D*52lЅr%$id2V6Bm2ќf{d@e/3Ϳ㜟 l:|N[ *L/K5t[d~QRG6؍:p"hWR ?攬],[2Jgzg2Roa]c"tg3 ۉq HaGA1q-r@U'dr /"S S.bF^lMw׉Fb][P\N(:_CwCz\>@"cT>"ȑWs&re:C3V5RcFEdZf ޕ&Brg+VtQwv^ꓗ]á(kS;$ B֒;ZQj͗ xcGҎcCܢ[^-SYN;&2l!P=0 KgAW1 H|<(`Tˢ)g0]]鬖 ҏT2[6e۷"5kAy,jNF!qc VRP?y>ǠkwzcSPn!`\JTnRuom+b!Jbwe|+"^׌>WP53y.L+5$oGO_S*6& twdd(w/oŌ63*,3DkX[s~V&u7/UQv ӸS֬cӁokqbꌣ>RCj8D? Vw:Ok襅7fKDEk%@L 󃦈z)~rFD5Ӫ7QC%,0o 'J#fRަr+eKXBF xJIۏDΝEJ!ስq?6)X<*WLLQ2-cYQS%h"m<9t&O+8BĘ9f"N7kXvTRrxX}Aw gcE}ɒ{zَ5aGm0PhƋӚdF.XpgT~;(-4is<)&ؒaQAT_RaqTZQSҞb˘$. }3 " )];2fN>)3EB=CCz{ߟzɻaχw?MoŸ5Ư O"q&SA [ OB 1v@Y)cM OEf(<6Kw̧Cn6#ڹ"swlbd_E7std)P_d!\Tb&;gXH[:>=:StE]gg)9ׅdTGM A,!H慥߃qo$M l9u] yr"5ۤ$1r;F5D*y;ب6~zCFJ?Hg4gwCX2R9_OAb;1##T"ez>oZFW9Deu%5I!`bH8ˏcѨ*Oe-EܳS Kۨ? an+N :X+fV㡷`vÉc!:g.7_v+G?8TTAS׋BIfP!J~%>g{$(ze. .Də:Vx įm|%Nϥ(F&7^P7Wɝ#;ҽt*t A=]g eޒT9Zi;tq.oL7c?hDMA'Ok0M X>niR< tI2 i͕TN1UfM}ZRIAF2TKFʗ|hG ~NL}Bq^gS8w$YRgMv9qXijF(b6)SC udeAXcem*g5篐pD6*iO/sCUQ hj'|_'pi\>"6QyM3~6ȩbNX.cj%}BVLYwAJ6'V=nSt{Pٿ}̈́=֟wI"6]sҝ!d*dL;fGQk[䃂(5;\g p[ Ch /x^$|w88]s8C텗&6_j%p3F0/gi%>0l 'K;oP4BQU5KYNicc|I֗ (Pxln ӛ5]A "kn~ŷŔWK 5O=|RW5xoa6)"x 3.ɼnY(JE@3V Sf9~oz%v߀RFWx |+3/0OVAZy֣[5Xg#Ha"v2R uP䅘! 3Flw+pIfqـ-WuՔ͢pG5@.*R4nÚnM\tŇ^Bg!Q>(k(]EL? n {ٹ~Dn|&#8n g8ϱ[Z&?8ekC lj;xPWfuǧ.]?І;T:g5>gYzuQAk6E:X*'D'|k)7/ ŶP'2fU\XĴ7#uOA(BU8gIlq-[|) 7aj26?xtmk\.oqkQU'yPWA$5nP?Y Պ8`ruyy2YT/s3KL78-#aˬ-Z&Uf_'=fw|KjQ=ߛm25v3bk)_BK\}(vR| l6pA %=A>\MogEk;!T:&júr2^l,tOh{lUc&q~Eu. < QR.8[׃&28 #iw4X֮s1`]mO8܊ 4#mv״Pf]H6P[ÏŃ0گtz<P*K0ƬBʷT#4#CFc Y!2.윝t~pkPZزgaZ~nsCM?:Ěu-; L/h2h6Fyxzre!'ُ =Tk4jQwrɍ Q$|0T\×H5KMMJM9,js35HZu1&KCEGΫ9nB maQ"!be96vկg"+ٌsA"kurC=d9i0PZʻP3}IM5 )o@f $f #C9bRF;WVvK*}dW*xM!!>F@ȁT(zυJp.]v'gU۔` ˳bSRtHCY !=ʊC hdIAf-`Argo}DҖ)g+q?"aypC2DO9M;%5dO݋yW_+3-8 bZW绔pz27ҏ(=~ \B2!fq?jB )D3^B 710̬u1gH{2 >CAgejd6rݵg)3sh:eڨ$5PAp5"C`ȇ% C* 2ɯ'aي4=KL|ս=rI7n843-WJfyRfWz`R1% l8.ROЍ$#&P2dٕ4e\\suZgƣ+_P/uUGn6JY6 s<kO:Vv0m`0V7n_ކV?xQe坟%.RX'V9H:M cMuQqŠ7UgSMW4v2u8g/-Y|^B7hf︵@e ]?WIbpwk?jMѓZ' 0r*PˬZD L&fy :O䐀wI '7;[@_/9`Khx5LdHbҟ%Yl9iqȳT zQԾQ_[ݻ'NR 45Q]Tvi .&evhpp\FXG kK _c8îH}t{VVg`g@^)Jؼ})-XlL&S'@=X` |kC℈^ciW>8T㨲a(nvD/I$fy]~$kjW~Ry;_y?ÅM3yNwsZ( ?6Ķt)HL\"ײ%Ŭ=k2]0ci-řf@-`#,]%‴ө_嘌JTNt} Ȗ?DO0m5;ۆV.<ٛNږ| ͑0UOټHю*ԾB@`9ŧ?OccJ*O!⣩Gq&{zH>ܡM{GG[ٳt>!%'{/Va!!/w)Y/n{OZPӲN?Un^rL)ô<*UC[N%ͥW5~CׁNIW^3j)/>k6Lf'Y j;vDĐ*NBv;3Yjv(q!6Ʉ>ʼ `c ˤQ^wDT]E'Z_*=9l,gfҫnd?Kok[(Z{.|T SjzY+p-3ZS[S~5/Axo4ٷtw"*ջ5hRMd^8 ީ8׳6 IХ4=oÚ+SÓ?k"5O_*mk)(X->mnx`K-. ?E!u3e.#gJ0\-0T~˳rJ69ޮO.E T9Mi"kX׺{ɰ]*w-RIФ s#/\#Ǣ+SͫҾzGm8̲ 3 }*6I)2bʞ%F87RUc.b.u0:aC|\P nYb:oe!g/c9}/!ZYX6Pnijwo$2p*ȉn>2r3z7׈`f+['unu-M \C(w^R.M4Xv*C]X`PY4+EEjkո0gҰxc17w% Vq,Ɏ8\ zV 靫ZnYe$p4d퐆hIIG8eHV'*M2Pс߮EWt"'VR]3br-TYDʇ)+E5_0nzѼʳLCƇnL7ύҢ]o2q% RCC>(ҍSD*(, y/<_ q^?`((vvyoaIk9"Zʶ_=/" ȊBe4K'.Qoê@Rk%ې` %=Jo, (ꆂwJk|W8$8htn,]K1S0R-!Ft$O8"jWӦڢ2c89 Aj{g/iF?fㄩ=\rR5^X~LL%gJZhPਆѮը`Pq{7!dy<kT8:š8 >eƿC0:e C~o7;ߤ f6v"GbGhDꜜYw3@,-WH>+l)EW3LH ^?|~Rf͊*q\3A:m*/5~PIkɗ9E$@@iMX z33D*@r:"Swl4ץFrgȦ!zz},E0}zAamӴ/ rۿD,ˇcsۑu} vTpe0A~z2|-iWLhZ({w`& K+PNJ-kF&.ŬKFSSΠIZ.$8 -%[R yknڗʳ[ 1P>hJ-Q]BA^VC6SjNN4 " 8\g$,V(iY$x&X6M՘Xo ̶$g:M@70y-Z6D3¸ ؞d!Oo<ן=[ cmĀ_R--mTDn(;Ff3.PZ΢pR@(jWZ7l}q/Sy:< pm,B m]f" oţ5AgrJEngQdu!Y:zՋN/eߊא$ZzEiWA:/TǷr&h0 wl\ >s =!<+/gni!gj Gί >z̧=(YiA!˘|9gXRNR#0x//g+&V.خ6埰I};K= gW46l3ۜ1}3$y;2yfCdTXL0vR )R786*eҤarA!-Xab4WRA zK6C$^L%޻CKZ?Ѱb+t$I;+OM`I&;g8z`'{E}7Рl =4O+OM0uЁ6oT/S#hMɎtL`QvDʛdZWN)4f4or!HF۟_:6܇E{H zTCm8L1CR,`Z*LXsfW!] $[{j:z]"zM 9SLQ F`B-6ӝHji/D8hx f3Mb5B'9)q=FSe>3YjmZlR{%zN'4=D' Od'gFf0| yCb4+5ۙN{Qk֙'5ʇ[y[{ ;f6. nռot⤸Lgy9"av=.)&xBz+`)z`c*a7ЌyLr+ 7U{blYV6k0r:A!ȃ6|jvYmvj+'+P[Y$F"O(,r5B 8 ¨Sgfܫ t ]ql o {5q1;Q&d>v={oQvi~gv}y~Mpc!q+2fXP?C)*'ViNqcό,iX'ræY-%?.WH)ںU;ژ +{#fO.2S ~T".nh u2&O 짡~D-PyT`m U:yF3g\ 002 uCY8|؏ lTJUK$tf'Qƹ&w{Fnr`G[ Z)*MLt9|oU/bZu-wͺLc YV`ViZX =296?VevB&2R( VM^.cgxXaĸWƅC#l}d bY㔶+E rr3nZqt4o|M; d'3gpxDfR{WvǁL2T ]PrJI! Geb>I#M#-<-RT+$q(+|`'>l0-Ya [/?-peJà Z0kc=\WNcԞznX ^BrU~ͤw.BgB˓s\EF<0.NUhI=3Q#cؿJ]=aT5TO6pr7̙:9yuEJ|Q͐v 3>-\,c=j[z -%]Z:샤d2Sv .1<ާ]2mA+5קK[no_rJoBQԲ#}Aj4ٝлNn*CV͂l]5E.n e}Y2 د˲ ų1Ĥ8e3s,%bFJ=Շ}!c88NN4+Qg0c7,ǯZǪ^~&`(x_C)*UW'sh/5+tGg\sh$0܎CJ^a;~v{^H X}Jhw)àD ;WYX;pi4m3{Jl61BV/Pq169 CgoƂ`VnEm#O32gD'nc!>vF6R}kODe:ǣբEɭ*ZpizA{MgT=_j[>?0}P>?!r Akx~xD MsP -"]%c_6^%^xf".qr˒˗q0~Bg}i`KյTT6o6{ E3jT(NF GȚ/i9ZEq ׀2H,hSR6*(6ˠbkY'I[2 uZ){;RA3n{Q\o;еxn V6*Z }A3ӥ)K0"]vH@JiSppqucôGD?HSvJZEva#l/!N3.m/ڙM fg nh5yR koD-y݄7jmȅeam&ĶR yWwA%o.] Zi5h;M,6s*!g*4qytFE,HwZ_Ӹ@]C~˔S[f'Yf^;8@aCY_;9PvML֓䔳L#(|(F1h5vyGeR]2I4'(ۚ8 040j;,c"`ylvN{ۘ}$* EЭQ.SP:u\+d '7^.{44hʇڤw1^]Z]@g $ϹcCdhCnm+_Z}c r 5|Q9{RGpaG<];Օ&9K;5!o#G_JYc5 07}ddπCY ="ĒRfD[-2VtGV u,B.)!ț#6ihEU'\ug[K7N{7dc :Pukqj(#cOaMATCMЀ?CRBeQU. ro_*q D1,b͵MP~J!fԬPf / 6rNOl bNt*HN@CD'+OTSoiGm)|ސ,R-aP9$/=(M\W`=U$)bQx{|%~iocu͉t7PX35B.$ҋkz:_5\7;~?~hDK݂xpEDڋB(*RnWdÿh+`L1$N]S1d<{G}ڂ'I3Gzoj|Űl7?Miw8҈op [CF2xB(w2BMS^U y7H2x#ϺRn3{H'wJr# kJmyߵu 8)־6+qsB,etn5f<s]]TϒhG+f]hoOy_Wtt1-)r46Yϖu=֐ٌզ₁\ưE>y/bOj t&H:6'#Cz[3N OxiEՄ)bG 0L D[iqwzwQ( BH~h0$SYn{Eqa{b_P(Ѿ%'i6@UhmT<8:_U{Ƞb;/h]jLzdFۀ r|(ab50Q?qDcx\2zhqW-U205bU E~tR䩜 ThX=݅_‹aРNBoL! Y@abORo,ɂֈ(/YH;Cc&mL2!tjcHZݩ؇qlz_= 0 ︴^lYuhPx{oqJ`pVJumĆ8^M^%h.78ծ|(^'(SYt'Aט.wxX傇x*2G|o3~&9,)"?G֋n3qM,hyOvh3YvsDb :{o |u?̟_T.r NlZ?farPV 1*/p ~ lw҆!L{}rd) 3!cCx|kؖ-bat=uҽYg_ Υ[∱J^ j ڕ6\6MIlANŢ1K #H"7Sw'G =/¢[K0OIb%4XU+79j~֟.>.VqG޵kѣXd8gg'Q)MEXor?㦪-Kzﲎ!0Lp%,}l,Dv1M2-A[̤oi;2?_KC(Ys7ADpOs6i0BKssI&a$Na=fMDsN*hWcnEXr͂w}ķ- EX0#Lz_׃@- xO]frƪ7>!k6`C:hVڦ_)"]fW\PB^+Za*MTʿ2*Rri %?JY*Z^<] Y*PA 338 iͶVw%b]S_]&*'Gì̥b5ChֳC O` ﴸ^Fr`*JFmx3Cl6N'¡T1ly|a!̎#<13YE#s@S2p4Lrfwy1 ~-(_nx32~NE bV%~!8>f=Jk#lQIPۊmeahd0̆D2,\~X5Q.,vD.xoRс-®HUf҃3Y}L<2:M&^Rnf]'*4he1#'0$7ՌunU^]I dY+lG8\;d-J VzA~j$sJs~Yv8=S9Af2\۴_NaHIl:d=#eRC_Dۣ`@,|9:&Ŧy§:[B!) 䚚6٘}ʙm|?C:=Z|;TkUn+Sd;a> =ѹ~< uЗu7hh T<M/o:h 7벳\{ z%"ֶZM l%XZ}m)CbC0P螴@@:u-CCF%4w|2i쒞2T1|lk0df%{5YZ04-0j>ֿ|GU> nٝ|H'SnD_R5CG}= C܂pTsv,j5qEyLF| ]'|JOXrlએwӖ$0%+?S~Jw7d*+M>fǻjus Oƛ9?A썠kd. kt[6 b߸}YgL=I2_GqXYj܉ZdBQ}6q͖:M#aEDC;Ӣ=pXulK1⎱{i(ID KWrJGY,5i S OgU2u׉Z,y5 G;Pn כx,]qJ0PVezIJK;]K;17֤Ijür|VlmQz㝃IKz5Y`&1SF!V^}(XO1PDZ & TKdt㖻3E rQF/26hYջ^Gɖƺ> H{Q8fhH #i?29 ̽wז3Gշ~.1tir'] Sdq&uJ\on\) cXW=0^~mpr$UJxZ9Ef#O4RCjhӈګF&$UĐzKM0d%h3K4][xx X"ERIƬML $ޏ, ~ǘ._vqJwpZ'ڣaO|N{"ڧ/bV0 0ҹYm|ȕ"Cc稇nعS7e2+}d6{|(hT=: SI p1Ph\r$p2/.DT`"sN2{UZ=Flĥ{ R؜36U(Gmlhx;Y\k)*AtkV C"GLjQYjc:u>ywQ}M9^oY7bACÅKlX"ZbWu hDm㟾\.cbc|5<=ao~JE<耵rbf)컆KgXPxRA!sVQq(c<z+ 0ex;͂kl|@(4l}0㝝ſ87]ŏflElZzΕ7󪳶ao+pafoAqf{?Ѭڭ^abf9Bp<#X r/מت$qybD;l夒L#,i'h'Ƃɉ[Fk |'b};$l=1:]c#dU(u 6<w E[N} D0;BN1+^:T:G|ő'ʥ"jz LK8 ̲h yJ%<+Yir:(W& .WdGȄ 䳙dGj !C2хBHKVsbeZ5jϠ4L }FCa凷 ^ ѣ~ZgTڪQ:kjŧ=rJ O<=WPp>tj( zӗ |9F{o-+U$49,܂^-[C,j POӕ:^,< tg%9HPc,C2pFA3NYa;-a;'Oɝ?*9֘qzN)0Pc/A.uD?1Cq~*V/CEK\e]Y(ܸK~%YhdYʖ+0Oo O BNf3 k` efZ\9D-aքA[wK ַ-:{<đJ>^lEJC(ZNrEʵCVEfN 4'YoW8|EYctJKEˉWΒ2p/Ҝly&|&>9EÞc6#X:H)Ϣѓj:+ FE9իn6,rc@,oָNY̙aNp8Q6m/|[W6ub*[-hʓ.88F+siyHBiRSl`vǒXZZf<%X#VgF8uq|]6Ʒh린kЎӮz{Q;,o]|)#>+C{tұc~ҴiLd AS7bmwD|̃DJk8鞒Xdp1*<hZR jΈ 54=zW3^*+ ]Zy^Yoi,?o迌d9+>;,P3*ΆH+bϲzT0X9ԼDZGD laM5.yH_WCc'%w۠Ƭ7N |+Ə:ʎ0"2ua\0 ܫbP-dCa[y7ȍyjr\k @Y^.Д6zJD_Z T~9< DUz>&~a W4[PB!!FBɤo.|]B)'E4'ͤg+=/h..BRRNAJ/W#wZ'oquϾ]Ѧm֚Gs!n|t; RN/)Phx*mM_/pX:jfQSSs XCXݔWobR~k^ u|A2ʀLܳ/Z%a!ARq5V>$9ɽlcVG7#S)iAh[~ut#Ju.-HGҴ#,\ئa6@=(oyґ)ms:sZ31_a(Z WA}wД!-IJUyub'.s*4vYt?)}>$An!v*|}H>>v[F"z.ѡ{26Zx4mO,O6xoU9­bS|KX)O?`ta |qZ;?> [n:B!B3 es;?{6[K/TХk镟 { ݮ~1")Yt|UrxUxU}v ߨ,_i4p,8#Īݯ?󒥳e F@,vҋxtR 9f'0q3E%"ٰ{91x[-Rڊ+- 3e:n9j}6_8\*Iѷ7}rfFKF #Pw`;U\+5B #!(̮U* K|$d(+P*@[ `#Q)vXZ )ѐe 58q;6{ȕgN]|Aї(3ff6p$. ;y~X8AU)? e\g89{Q3y8]{)M$<)VD-8=uJ,m)\_ޣ-bDP%/-[Aȁ Q XVZk+3vza.M{IDSv󸏷#mAM@?[6x+\KYNoC Ņ3wK}EAz|PGz[z NZб5v\IZ`&u?jhOureKtһ W8F^ mK)MthK'4252>?*- e_:3ц٣Ic_TŪG'$: d\`<F:4= c@N5#eFW3(7VbDE8ejWmTA#hnCX$MJמE>K ^!Bwu;#S \1cJGp!4bGoXZ+׿X8k }j;k84otۨuZg7l䴎x=U| Wd,E?-Eَ0.߄#QYuAs>䤛98I[EUF")4=O;_Pσ>+vێm:ѓ K m ryAg5yf` JʞE%M۷[8`8o.B7_%טCK2at1=skXėc}@Qa\P@ esmEԭ9^{BxI^x-b`U;՚Mdj?U5^ X`T/M>fv=0&0h}~!- :Fb{[R$j.T $L3a-3}>nZþ1 !CS𦎆- ηz^6[X/&7,/%8/Zffn1 ̾zw=ćO( b0p8USuGV3 $\k쪋G6gQ ~'8 dZ=.QJ ,;,o՘<@*0jD(zKmR~\?O<8$x~tO5#3^\ʺǥ0q]smk=+kba ssX!+#>?Ӟ̂A/;ߨcd&lGjwL׀` tMd< K[3;4ND¸f{`R?dd'tIYF/ęHHKA$ FɟkTv1aWt>S>{*lur-LQ;02ٞkn^\C$딪LuB=9k?|1QgWYT ee c v*qkk?i7خǑSH\s`fib[Hx%FwMF%P9G%Q U ~o-ߵv 4a$U<̺@K;x_¯ be;{7@W'G=׈/8kF썾pُliYs iGear$n6C Q1Fҝ}\QN;*ӵSޅCN'-y/P͐q.#4Pxr^YR=~*K3r/_Ȥtp9Ͳ9A dB!o+> #5W1^69,m0P_+ "- LF_/Ri aDei'lvE͑Mmf-A@'퇮ݍz|m=Bs[cAKp} EHܰ+VD7aE jX/&5T%xE:O~iT\kk_n\?+pS; ! Չu|6.()=6^CĖ !?'tnU,{ʞt'B45VX܋鐖sꚹB2Ğ9NM]\n-8jFBz'6 rzz(UCD|'TβPпk.2'Zyh &$Mt>ċhUyйJ to'`| lp."]A?(e+瑡],%:K(͐ Hlld6HܶhԐ6!z׸Iوo@%}>[Uy]!}+ k5]7G:Z #Ĺ᲏_|oa{S.4cew2@tŸ數c7h-N-{p.rřfW9IX?Xpk7.Ho@JQ65u E>mTo%01^]7R^`8e9T^ȰCmg9&dNCCb^YJUDo=Iov;pGqVbO%MAsrވg٣<n&y3Q#"mJ b}m%E(ޘ@fX/nʃͅEH2#=ݾ=!~sCy\n~e~Y,秪[ۤBcYqq6`FLd^۔ Xx󢏞-3c%Fy6$]v,+>N)lvRPoxˑZ3S-BF ,ܿ[s i5쪇4>)8ejHKf/q*V#bv W1V}^eS)R1r+,zx \e{V(>\RE+F"oe0TĠd +G$󾋿W0: =^bNL 9B@-Ϛ?Є)a k},:VU.!hyʓ6ζad ӈw8\EƷ(OSBZiWC"s(FO\=bT93G  2wE*uyh_癕i(։ ;7WHQ'P D\TѦؕ]t/ڃO!wROٞ+v-Ff= 9Νm$PL/ej<G`>w- $Mɺ+zHq\Y^W}u]xAm Vy MLmkO 撔Np?sZ+HYY\~X TGGZijkΎs,9 ~.]RaV}5q|wT$A{CUݔ3Y5ݶz[u o'5\H|%kq)7=d'+R'IcX،q!V@=o`{}dU&=VN"V{ecKu"(QN }`J Yx\qm Ǻyh'G[QI1}}d@K0 P?}ؾrd %C}Gid6W͂R KsvvmX(tc &f:5);g:d.O~KŜ(*׽nUw]̬ I?$,Pȝ]$; V;'NHH䲊4[`1KnUa1[1>>L8wp [10zΕֺ֣{mV L怹` W0gP6-zX B_s,ЋkrPRȪGmʇb_9reZ8w20;P(~[b;A~7`[ec \߷_ ,P<6N-Ч`O%{BǺI ⁼&g.j |"u5 wб%GC΍VONp\Yd'!y_3A SL;K2 L잳2/ా zi1ecOD-[N+7N3i[B$i0C,~ 2ج|YaEV@(H@.}*p|KeHUx=6أa|&KqHwńi#ʾړF)9 P0j|VZ?g##^@̜{Re-["it>1A͍6@8ٞm =&]@se@[۹B0AcP/2% lk = aq8D?^xŢq #֬$zѧώiDIm%OA!BpH60"$\_|( 'mm8ޭ]dٓό(ҷS8z2 {D_ΤiͿG;%k;$>ʜ+w(HV}Zq02 t[,?qڇү֬(}*xF HE$>A -j5Kx  =!jZ dȗBݥ EieQ>(.M X qgj4x%p Թ\n)*Ć[Fм>P"#c/D'Isfu8({4ipFY}lLaw+yR}@%{  't]efQѫ*ąeN[sI4g>xc4C 鄭!_Xk.jщap{^]u!@b?dCl\6f`g\rݨy>-}!.XBeFCbavշnj!p2ps6I,v0h<}N gcy#ȉN:E\!7+q_86'ZqH6גUlU F/$Ǝx|1m%,i/z'ࢷsVHe#9ۏ(IdzoEdMφb) maJTVY.ѴɨD7sêCvKyJɏFw}e5VsQH95Hx^#ZVAg^8r0VdV=XeBX|⼸%;":CŦS}g8ʾIf<$ߓH׏l7SD?tEyh{00?D?HQ+HM`srvEʮ~KvRb\#H:P b+ͽ򈀋Fe1QG!c2F3/rx=LR4V\$)5ޫosSF奒HIg܄zB?lS)tއSʧv} G,0FkO/tΪu5cV[%֡l$@}u}ςt$% ;+cœ }}\ciDkjB+cB#peZi- N=sUaDVɆd 6?+Đ2njd3sXn))WzMqgxa +7r)>!w9EG9m3̸nO WSM[i/o2ر4'+NȂODzZ@rVN Vѫ6P nyT^=$Ʌ :0y{ony޺qS>?ڨjcxt(}-(L[L̒_ YMi(ZEkE!'i`Y'vwѮJY6ClsGK N#oq1֡;t)냅wWŶ=}7QΦ$מPnh&МƒL.QVO/RP͂m+B5ȉE67*?HsRI#~i XtaGWj.'lzPtԅU2᢬) ~`CsB]Y49ꗘt gQޗemߢEDp ƓN/ M{8D7 8Ju)֛&N:9AMgTy@^m@,8QQ~J_!ܜZSn=36ߙP J(շhl/Z{=8݃eP_v^&xv@|39dG}PTdDwT[DI0G f/t-jQ1t|q#4ܔJG iO\2fK.( $ZeYݽ}ԃWtWZ֦?RϋBǚLmDڀ`GmS7?yEm3Nf4A_۠2#zHKm7Le+ s `Xr 7k}U!F6cY1 ǧ0vPVE^2~rj`#>P[~"(p-ԃJFs`LpԎĉo]\3 #\mpN1_SJ<8b{Dhj$ \tb%hz%Ry۸QQ_3r>sx=`[̀[͜N)kF?՝aˆCw"w!4vύfx[ʄ6n74]gstPp q|yb&p(ݛ[֖Jd$Ϙ17mFXIP:yͬ{6ҿu2UoecXth?rXd˚Ձ+k',y7QU[wC]jD.AeEī#X+l=3EKpf,%)+ĉ"iN*T0|^)dԝr g ,=ʮ iw5Ap.|S0CrL^(/YTơHN9![E"}' [h~8#h&ea8[WMŐra\h ct)O93=<+`ZΈ)cQjoz* xUV8#w#'{ZIPWu y/^qht3*izc\ 0>.}48Ǟp72|-8VIYI|]Z,9/ߵ`LIbs|ZP0.3]6ғ(ow(k[sV uj'aK裆ǡW`>R{{צ=!a@޾ȽX%_Ծc$nCxmfjhaoEp{SHyv,.q^fEt .E\G/.03ٶ,fo0@8ūoT9lPC9w *xL_P绥20dn^2NjVu]\-5 ]4!/L7b+Ig _02w:-n&׍>b0$ T#lT5?K`VN۳vp} \Dӵ  XoƊ;hEH9M˽.`X[S]c*5Idc,ȇr Nt[cfI5+_]eca[d6!GŘuK>C{v]~diZAR?jiq':/d1c:ԇq\mv]n?0$ P >~8Tʂ|1W!7įh` c\5i/(PP#u!(RaMX=mQ3Z(zH=,iKɒcCѰb|NJ]50>D&(RӋՌ }oB; 7wNZL:{bS1?/42߭Z3kbL{2&=ڭɅ(@r?Fz|Y/x˒: Y$ԅ˵>& Ǚ J\iW[أF.K o5q影YU4" X=m6l d9vLBRLM6Mh+ordsbz&f0S}߈((~vC>l=RϣSykSkE>@$zv)Y(5a ũWwPsMp>:~):r&𮫆TU rfHhP"g="$5"g+=y*}^:i7L#{Sً#)‚<ЉBޭgb /TB0U_*!VB%2d C./ >!^L: 04 ;OwHj͎8}}냆(ԇ!2֖֕o`$?BX];)7yөC%).Yr vvViYK^Irv痝"J"%EQDcAzq8gE Ō!rF&4->߲T|[Ať}Ka&5$e5<:\2CZ("݃:૊b(j9!l#ǰBI-FK WG!+uI _'8/ԲT(ݥN [our|ɉo/޿/a mY'/4fu;v~+\$ijH֏QRBxSohbVEIB$gża#el,@^+HO[+ۯL:\ '! fؔ/qNĮO<S+z`Z ׈4I(7>7 E =lWR2QuT$gx-EK 0MO.DTCEX5T5@SM^b;-jOQ.f1X#Y~=/ZMΖ5<,T8;PgQP~ (1C4+$_ 4g8Ih:25e%\mhH@3+p̵Y HTH홷ݐ!zC#pqsbT&"\EAˆW,3\~LW[a$ x4y󯡨uipD*/Q,P$K]WH2O + ^ Eg#B,! @L!N`SegXn$Sx4|t Av/- 3UcVO3 l`WW%͒\2uyF6%4}P.oٖ@?^Zt$bL"Uy,C1YrOͫ[Rm16A䛭/?LcDڗ֓NQ-QpٗŝN.4{ˤhvln `1wvg+I+iW%A={\]_q ׾Tt4z^xiɁ WyJ;,ڢC#sπS>I];>岃̧%@컌5H^|qċt:b*g z|$ #} /nwM;5⚪؇25 _.'~_cJ39i#Ne!k!hdk_,RՔ,7z2s[k+/~CYb.iXS41) Ѓ>p#*Jޢ(ȭp-Mp\j-e [A~dz=iXdOptOz0kh[ڇPNJԁ贵٭EgjxG_ Gllm$h B&Z2 %$"_t#iKߪI^>wgF|5 d=vadZJT0W\XbXeAg|l`/ӵg~R]|˽gr/zݼ6G;ne~$oX;ʙG ~s/}v(rQq >zzi5;{p;Dї+f'♘AIm)4z%- o$0Li(͔!q#<׳k.{*Un,g饤14K7,ߑ 6mv~&O#ŃQj|##y>$I8FTРsatb:#ItܩfϋYJ"p6b1k\2"lh:p;5i{3:u?wXI}*S|g~~euu gs"#ة 8"Lh~Ir̈́r H+#QF?֦vRUq6k@RM 6өF7h]~}kn>2'XFBjR+ZeyfꠁlpFChD}G_rn b{g\ Q.G.Y\fjQwf6dUVV'I{ I'.:s@Kru5i獲hutcPU=^:SYx *L,2iDر)c>}!f$w1I7nvYL@ kCaY86[kl?$vw@C55XI[7WaeBiaYlt{P%u> *lOdEJ]Rk( ٍA(ےs~{N QgKhQCm)V Nw+Ãu dZx0zT,-k1Bh'vz`i @q \3lY:Ϭn2Z8ch bl?m^̮?ʬgj#jAc"Xgcyj݅uψtY1py8.E :3z/1ke((y|@o0"u>UiYOPC\涮ɔ1L>A"RYMǎX&ўgz8k-';2\'ut寃XfӈjWoTk cjO3M嗓32,:XTtǍRDz;1) 3tD|xM M3S$ dArArT(, mAw !%Hʻu?PL&|!'͔pN \;9mA67Mk "ZDl8R3 XhOȉ" l@j׿Cw\_,jD8]˄>IYbx3D-UE 2=։dHIM<N;R JFق9M;HuHo1V Ryyds}~`}PҥkW 3~p0 $E2h>%IOiBf4+d@/cAD0lGNF[Ϗ[y/iCwB*u,g`0LWNc£N&^+;: w7 Gwbjq4Y!A'taz(oHߏCXV8Y= TMUp=%d>mvLI|R Mm׶F+$^yPE0L* C:{h ó'+(xS7;t䑞5ݶQ%k$^Z \ŪD8EG. km=ΉQca.|cn b5T@FĦI<ZMG5r<BTF.?}+nMD =Wbw:o0S/_ܲ*C谂g$\ߎXbNGKjvJ>ƭ:;SXQ>U_^gRZC\#4%?1\7D. QS%WDSh^֜Y#swk&]iSzX½4}#֢'v[e5*{ZQC̢ۛM$`RJtDTP9 Sr&Kݦ}݇/g(/] ]?i,E:1xEצݖ`'jmBL|oOHҧuVD s@"WïXJե8[iNOJ {/gj(grx!?aؚ6ޯ vdl<`F'N(a $1&(S2-1мdZWwKs[7{u60 ƥ Lo*mc)$]A Qc=4KMdT_7.顴7_5K+r+Az_ξM}䮽a9s$<VU\d]6v Z@kǪީ- $ Ѯ+uL>c٬]ݿ't,?MK]n؄C>6$9[sG1KV$D\45= *XI5\DEkrt|[@b<a7uO(LZ'P$Wyba:Vbx=`.U.41y5 x} ฺEM]6)MNpXHs<> dNS>HMl+,^ -c2+_U+MGeРMvp{x&"!*bx|4J羚M&q!h]*$921{D#7uy!%3gX1`u6۷bD%%fιx XgÖu^ 5%Sx`?u2[i/EB[0| #a[qk90Έ[i>ES94y>.qkAN*6r|)GM[kdJ,SR.}Tx0@Ndu&MYͦ};'[XHךq43r `\a7 XnꝚW}z2l "G\T`YSjJs|d$ <ր8@Lָ ~1 6GeWϥJ>G/ }D1!d ;5nVɴzA=VCh]^g;_"cϵҙïG4J `s=5bt?!{-'R?NL#.f), 㰜`#0@Hj2}(pOѼ] ^PbYVTFXG7."-rnuu$RqڹqN;ӭp/C÷w O |v`|beۨXԁRi26$L҆79x8д/C:JiG됐i^YGsˆCqik/|OWAAfb 0ֳ;1 loHSۻwzIELYf{ =J2;o"HwQ`-?Hgc.k#Q1Z%L]_s߰C_Tr/'~5IH %i{+JQGq 1'fh-7yFRX)#0U'V]4MJ7OjQ6N9Q\e  `tsk)XzdBu6~NWxx6seb=+o$PKXQΎiMLXbђ[?:WЖ;QliO:`[n } n:1ׄc_63^ Z1NSCDNz|a C[6J~.c 9Hb)=Yׯ_4peTpmvkkNIpf{g3[c}6J8wv櫸&/,j;.yt_ 8[>:?F=e_O/%='l\ ͿgM&́ d$A@I|-\X!6NDf bTT3,77^Qc%,Y\@&;`4Vde}[Lq@oK_&BkXN&z/[upm<yƻ/ DЉ&Q_H+w;U%,i;6)3T'𧩑yK7Ite w>5W+{'mp/|K?w|U$ ;Jg`o?u1cc7TlQZ ʖguY>HS/oCr6 nƒx7u_GaSz;C'U-xP&ZJ{QUzOSέ Nk fT5Þר4|Q2@z#"8_\ƏV7VA*4O7;\qIFLbdH!DMf\-\x7iO±ZrIh׃Z+!q'JSQkckK"/>rDt`hNyJvxJlFԽ)vVV9PTRN3*4^أ xu([!0Âj]n !{ *3&J,|c,XW(xRu-yDdň nÜ\Cr_;ɪsi2 ;=0iݶߙ"#m2"tG/K{p& ؉WW$Of3h~Z f9=ʔ09C_pNQc]gw}{ojM3cM_]^v"}Ւm K@1QjK-v˝+PGSTpz>lI%dمcn*d qX*f;;m;b  fչ#<"[Ѧ-c%-Ɠ=m9 _93)lNe۔gx,?yhKV@^(=XX`57IjZI! .Yui"}ӛI9s >(җ *ejeq z޾E0u A8\ yT2wd z5e[Jsjw=.}EaY8QƏWn%yeopFD9 ,:+[pK4ު@H=Y +J/Ư\;8y\mm൑#X1w{&w"B7ʵ`|pW34cuw9Phm([xGW?e!mKPZ\Ԕ(l9/E*VQ3 -sjf8LϡOjvQg{J%t[=H̆f?{}ĘńJXtC9fd+ʈBp`Pg:o=xt''B{CPYzN$hEOqbL}fo&Sz!\6\ݗ%2\oA: 8l.*'<%yw=|҆Tݍd`ϒb4_Uook;}"nxBn&PIxk1퉩fnlO(*Uؕs_#}%/l[Dƀ6.L.Ol]@GҞ+*tU+s#ŇBzT9U@^%`QN$Ct>[`.<ͧ@$㊹H[Eޕi3}sТӭ/^WG T&:Mx~90 CGJ$„ث"s.ܫ@xw)f]Da>`;Ā؃dd4QR5;*EIker5d> apqTǙxkR\*ͰtA{ZZӞiY`5àU2xGgQYGp1>ռ 1zɖ֖݋3 0aoa+En66Lҫ+An6cY0(U7XpНF1*]t,ݭH # ΁˥Ur]̗KwMS$i1*Sr-ӹi+.$%,cr4ٷR] p" m=]!pao#XG/=^_JKxVVq7EzphQqO3]CHSyiR5f+#Տ- 䨏==LN áv=%cqo>AzӪʫ c@m&&0# )Lp-@+;Bc0؏ҷ\t+-jB"}J2ϒڶ_R3(췃 Vyq^w"ම7$u[@$8BWmLU׃Z`݃třHxjR𴤺QO*O;ͅ8`b3CC [+t1OZe)h6i-=Q}՜yxKMK'؀=?sk%GT\.ū_Ug&/HFŭa^m<Njş"|kCi-Y"7Gù>uGG1iI .1ry @ing֣+!ԽXo.nIߜU}Bg1,ۢ^]4~Eղ@i#'̝`^>?U2qVTS V4[5u˱vNTzPwf Ј\Ip J E_հ6]™-ێ[ q|().p>/B+|ކO5xG LcKד<אΓjЌ8 <3)/8PX"aR.$ЙRqh}U^c- lm1byaH;/\J.Mc,c\fդ_0K7NJ|d Cçm+, Fd{>,'ܿoP< VlG AҞӶ:צςaX=lFC-bK`7r&jXʍ8w֖.wELp+.D2X 7c,,'eIe; }=K4"8p!K`&$%vGHp=OJ#ƻ :z黎_?&A0A=Y "# `N4Ќqm6FL;Hjnz;Z 1s.4OU{cPzu 0鏌CgA {*C2q̱H zzϭ=4 >RŶCUn1rt%v6DO-{o}01$iX$tF8" frCNfJz#6F+zP}]w\$S&D.eO(?Ke:>%&H?XA!7DNg(l?0GJ&QUPAnR"'-Dԥcjx'Es#H~xC5gJn RH(-bqzmzC j] 9IW\bV]UBMX⠷^z6 @ۓxBt|4|>xiȄɽ"H2y^>= ; o#rx^{1.toTT#X; 6֐!lކ0o݆gNTaX3a'dyM*ݵ0v0Jfwt_T[@%UREŸaư00d,`GaiKYDCGڢqۆ4_J+n e7q?/7"<2  y&>bBÛ P@x_t1k7}Ha9 $ls컗@dD7&1`*6Qs`=c`)t[y'9hC"m~;vh"|{~\eB䳵 MH$l!ѥ?q'|Ľ?kaC./^)ov+irGVDaBw?W SpPӹ\;B?ut~Voo-֣Ɉjr{|o95p֋t\KO|hl1n&]{DŽo xphhdDy˦F4u88x` 1'ItaB~ާH㚅hv5)(](jd1 Ȉ8#~'ӕI^N`i@ p]htMW>hC]It#1U WqZpsuAr 6Q* Fģo\'ř3ޞf 1fą5Sgҧ(ʴ:Gjts0N>ُ% Čߋէ*-K8hC-Ù .&hjC\&29yȑhpԑf;w)0Yv0bZQW!$'1H^M<\okLle2h!j{qPqZ5# p=ħ| sk@ps"/*0d*MhS9ٙ1r+o|vaR|.25V"05k<6jz^O)O^Bh.s35qί*}3@M%{O_zJ35?Cػi.].C* Ht@Zَ ѳ 8E˵- X\\%x1o NVP^d%Y?Qp0h J\,9QFppaNLCbYȉ0XLR7Mo<?0w:7b11q@HT>bL3=˸FeܣLP\I ?y.H N1$Z%ͭșĉ.;?*pF ʠ,gKU;ŝx+fF.7D%4Nq$?\A4UL)|sDOE6hզHl sS%A!n3pF"qPrG?g˧ S%8j  Ccֆpt):绉vqY_ q:V <(ngV& /rtDJ$'A+vdһHdxP8Z; =%hHR$ y*=[ ڷE~1Qf'\R}xW*?xV$ANC-j&}qxx'Ұ'c_IQ.%X'E zx+-SC؛rSSnxfLdb^\ M0*99,MQ&.-j(Uuh F8 |55֑J}uWbk}5KFB5 ^e\ޟyi$߫'Qhpp(`KVl Y*yŦqvK NA9UlVXx#0)9}u WJbx8H"|uyVZ ^2&s{T}ES}4=X,/k,ag[m$&~-mDSaFiYoDbٗ΃,7(LJ؁w߁TE1R5Fj}zHw5kQjZZڴpa_#COd0R>: L?4t>/a̧|4Ur.V:a_u9QvY&> sx,Jx`xYίXdH8?~Y9&/ƨ|%)XyfXJ|| |lf5@KLFB>eWۭ yy. b gGv (1!6aLK6L FyHM'"JDFDc&ͣz;8>X:Rܟ|\N_ S,}\lP&;w% q> NQ\nѓaݐjE8 yA%|mTCS $դ i#+d]l႟u8̌TʟFdDy T FLI~5 v< G;4ޥe`^^)F$[<|EUg"mSχ6ux oS *Ɇ)473Y iuHc'aU 6D ]: A8PtSN3wB]]^8:FlčTXʙ.ĜeES0MُH/ӑ"PEi6 IkXXkF׺zƊDu*:RBu( STG<' ":CYvEg:Y?R{CTeT(X˜* 0hf `SoxZwt2 CdZ (:6 zۺ,;u /Ww}>GW9pJ#QTkӴ D*}|f="sn(:w }z+noa9>ǁlA 2g432o'1X~iB.զX*,=nU\qv1 blv'o ?xύ112YRE,{; '5Ķc$ד5G$0/)F*-+sOfnĉ =%Іy'9SJ9KH158t80Zr}_|ͻq#`FGuCo~_VӇq?ۧ! SA/? 7xOLIIw9E:].XɜZ;jC7'1مhQ2eT>$3!!M6CGP)r CAߣx;meBLnl[,*0K0Ct^!$3O7s~G1j0{Fw^= NW1q5mBGAsE\jҕ[Qą:q #+&ɾj.lj|SaL~s1Kl6׊@,#z\Gz{L5U>چ}ቷ0L1 vn-/1#0?~3rDߜvX"4i 6]\Yky@!S€׺DŐ5o~;.6RDbäDuUw[u)$ $L(TZ{aPͫ ȋ\h O Or~)]n)VʣDaR/v?,ཁtk/$\%[e%IFۘXy;M4;z@]$Ԝ RS/ORΎ1̶# B rEi~JؗIt 5Mhzz6}2^ގ {U, VK0D){_H#y>M5u~Dvt$Y&@?u_QzWe͌M}ľ3TEkq?X)đT4ouQxݜK85H0zQCkMOTj& q+l7PoB6W`r vU "+ȵ` dPJ('ߪ/["UCCD$u"JRk,ɩ~ya*jz8M5$HۙMcuiM+E%zObf~b)s:%_M+wIRqؠ2ď5y#_dR>a1y35^)W>U|eOUNFZxUئ?: E}]`ZٛV :* ,P+*o Z:4Sj`9c뵰E g{W]O¿خ[ѽҳWd?GAU1g4}gH8=ӷߣ%|c*Z'PݤTG%d&n%@B Jr@dBdͅc"J o2}ykM[>׏-q_t'E/Wcήt`H\Zh@ʟf:HOiu|yB -~_+ 5֓IuXܘܓn֬@XܲFs;_ltg:D7G"jfbÎqu 6 ye#J* zޔ8E$ͅ99$5Ojn%)Ő+L! 3<=S㆜k6ίY|,"Yu1s/CvU}Q\c@=f.u] A Sedz;cpF.=li5w¥ P{d!6IޠSA0,~rSJ-.V/colie׃ʿżYہAuş57w(y@\fuz_\5 4oYU%Az5MY*gn}: 0 fpQ'wE%%=: 3U7>9Jd% FtWi=#(hTBȭ@!r*ld9vd9PV'7< .%rY^g Lx=q!p1hBZ׉Q뢀#[ֱS<(0$r&J)PM'hO:%1~T!;w sL@l]%0ŠYT%D ۫Ր2iԚ}:`Vtˡ,`w$Oldڇnu@èjJ#wmr ` `{!s8t@! s;P<x;w,%"/00" b]M3&j@KLvʌN[3> E2ip(jŜ/q f_ 'ȊE>7@|l"A!cX9hs/Nrd -٬osSՎ)%T&w Xl yV2iYw'pYזl٩KNg} &2)"VJͨ;׌j8,V^f힨:y]:FG0޾r L*~Ր& YLx_,A2]H+ڜ} sۭ!6 (ٌX)F\$2N|wjZQAVT6΃Phgp~jr0)AD 9JfY5@EM}Uڝ茑Y!>0϶oQ (0R{k 35Ei=)6+!RVXytn]#Aͺ;}Z*>$J0շ8Xu:?MV8!&;"ǘ W{)O-1e2?"15>Xy_! &q]^J{C/vlgB*@x~S_ucgR%߉ȝ Πdl=/⪁;uuQQL*!#q 2ntCkw/y0ܦar+,2QDwQgtH0 ąo`^{)G"^6PDYc%t3;Wlxά 0Oԉyi:K#evYPJY8mX[뱗2x)BNV6x^nӤS{ B-2@ЛmzFGiFǷ`|Y$ː'[9{% 3M sql]@TZTѴtm:&YUd[v[k'*e }02͸CԄ13H&4++[FX9Xj UV5yX0 I(Qًc8|"e(~}`Wf"ëSJ?i"<&lEY ϷL96|9Ww#{E_6(e|)8i{ηH'xN.ep` JVLLtj8G%ɇTT69Z1^#X&P+:$':pԬ",N`87/{ァCE}~C\;zK&S1ΥogO._G1 UnE" _T+<5qt!hRTz9xESiCbbhcFaR>h"e[)&>%6En̙eYb#;\00KVb+7#URי6a.{ 6H$zYb-xZLT;fȤ  &?j=*r,"ݵodՆ c`됴&Zs JzƾWpy!wQ+bqrR~Ko$X-}Ƃk^'y@ӕ>ӪϮ Ll=Ѱz!vcd"AJ$_+nY,!քah|$e;iH߰p:tpqgj=^Q#_yUɷ+L(@&/u30Ol9Xct[/?nb{dD#U_6`ar (H)ޯᤖ6*6Z^'r3 Z//Kˡ[ҿ2jf]OxhٳR$hecQtxC1%$7S0+Fvs %+#!o`t NsO7&[PrLf#دNtȅw2[OB|U~$0!bU=>6+ѵx$ܕrԔO7zT#`򣌴35ƻ8KJuGe(V],+K'3m}L ϬκŴj]nG Nt!F˷O>"j$|'g(UmP 4p4=f@(ؼ{kXSd!j0R}J\חƄJ%4jz*%$\VC0QnZK VB2{L*0:LKQ u籨8*TLꘉK͉)3sKj]PR]gvuŊ+skZek.Ȩh&Q[q@=R] z0xxR88*c!*>}Zr6e,oA͑C-Az- sEE_: ߀^LC`*IuUX-|Cs6X.Fvc-6;BgOx> 1!x|p03W83cS"zpٰ7XHFgTi/q8kxٻ慶g4J3,7ybbD?Rs=4t3ͨ!0c=KgX5d-,dr~SClb&UU1F9iPKrp(_loaF8sV)B1_.YQ6& άV;Զ<X`bxA7gTϬAQP7<×Q>Q_;:}A&|Y)'r@\^/mr֨""J60꽴_R_&ml#V%~d<0^9'KJiũRɯďW'!cnf[":"hlUV#8`O˲ե]80F/sq&Wce ˋrPΥ԰X )MG+"Z1 "%DhA+`"v8L3 ڶ)Y (y'}x2K7NR'[1jZGЄ)6Qzۍŭ=촸,X(^RRY)w癫q#wn'M9!tO ceyIu]jx*SjK'xԵa"ZFF@^yH#+[쪦U`@9};moхR;gfbG1Z>Q%v/H 'k]{Ԕm#K^k-;S(?Ս63.휨N_UF9/9`wU|A4ĥ\:w-b C [Օ`RfZi66 &&vo:!ѳAUXIQsTͼi?sT!0OaX+6؎8xWr-ɐl +[àShhJ]c j:ƏWkBxx,wEM# 10eͬ;Y- 0SP>]Xlq˩_ !vFO>yОJ-+OL£( N̎.6>i5Ⱦ+ :::o N|I`0V2:WkǝR񼽪?@^8TQwbs`+Rmsȧv0t=KWXH5 +`41S09eD?ȜC})7NAQ(LI7/Yⶽ@ݑ%4|/T(${˄aHr&#/$q |Oa\yX׷cgL1wO9>߬&I-"F"`Ăl?5g3O_-7UcsG z4$0 rOgǷã5֐)71ǟlO&5 k0UP=,6u'59@9 CQ ,*Kg-{T.)A7F sHvqE)j Fo-:gƂG~&[+!|tZUBңbP`ądV듦$I=,PTͱx'c838wC"ZT+1{ ŗ'YH.S%2<7C&1ͪ=3O餔sݎE5 6kRafɁ̳!O{1[tUHE =ޛGLVdJE?QdD= 1hKth׈_I]1^knvRLۅM2 BM_akq3-/C_*-CHZ g{;+T \m-b?NQ7up#+DQ NF ±|7VՂQp; # #E dS/KPSx˵  $#EvR/zѧ չߝh s#7ȗ}ًċ':>q[u>7\ CQ"H\z2`_2l(sRTZĨ\f2;AlG&Dܞu6]"OyoGMP9Bɨ{MFQm46'd[raxRP@kuY.lks ޻;n]({f;r:N'1U;:! NZw!+￱Y %GRup3ly<$-IvBN\!4R׿^TRvTU !(H%ˎ \Q_%/_:T.X,{aHcLu\8zMӭ8Q客d8MrԹVMi]\U'Y\S! z#$R s{,0 i[;0#rxzɑ#t< `ZGR̴*EhDj_db'υE,(~f]oWW:G޻7/hmc(l9?"'ᾎv^ϵ\1-j@2 pP".Ύj`s8 MSuX6f>Xm@N8vaoZM߀^*{@zc5fv< LТݶd9aK j<`o`Lkߝ<"]9ƴVCn[Wl0؈4B9F3`gmצ$RXβ{$SԳ+*|h!QX} *e-*YI Ċ DH1T9p 9M[ HG> 2}uiN_NP tt+Ol2VD@(wYhi֥Z6r>ژ w 7p4cӗ<ϙ?k#k]!. S$k;1 YJS,I]\G'\W?^VD}58JKkf 4aAG9QL\ja;ZO N˓c>dny#di~a QDz[Yv)/f+DM~CېI7!}Šn$X⟜Zۙ Ղgrnaey6ܷJP9[3GeVMUvHWUiIfeye=,5t[pȚsgl!?x乤g $1\-q6Ϸ?q PV`7&}RF(d$4Q*`"}q{0Bܞ/UJYHJJNA~gbBoU>e%G(1_ʬ}Y]N6WvZytϹvw;bNe~: o"Qb5u64A;9Y%'P͗92KGscblKd/gue.{.û˷Y Epb"4"yfƍ)~mucXce?!|hřRx]#1)a'_0aWOG\}'.h,&O3׻& n8ʩ:^єzfgb#F>`aa8iZDL;xbV嚄҆uB\RMXQQ.U eBǀ_wM'!0>W67v@M:jݠq=˙JHR L'QP۹HvԚ\u\t8t& t>cz a Ɯg6;{1*feJ{f0R,6Eϼ$ 3p3$QK00|sMj7N,;3 B0HUS@^4?83)%sAWǙE)I-nk+[ŵ )q9K6C8ma394 JMʘV<[ 1.GlPl,tT8h~;x!AOqL q)imL@q2^23U fȴ<=`ޫf$>JƑLu&~7\#)U!ٚPx;7),)dQ1sw~ ᭎lۊ2?"uI6nyKܠ1"8&\f*&;"G?oe9P#LGf#T?<>9FS* 3`!>}BLLUX-$<ߣZjYcy>Üz7X음PLu>(W +v0y)`6럙+'lXbZ)ۘD4Ȉbr]c)+6IC/ <ʧ5gk WiCdpICAcsk|m߆mU&…Žxճ H Ws`ymyf?mhEw'rH+Uv0rJȴ9.+YCw8 {柇!Z/9$\_pŠjcBZO%KKRt15h4(tw7گiYiqcؚCNM0 @t:im֋ыLn.[J)>vVY( :ݏ77P9K?}wb#) ApvxcuR{!Ҟ9r06lOH)jҒ)axx#WŶe-٩ ;vG)Mܥ[ [cJ=8¬wLNhU">^;V&@N[ Q\C&²3Suo&4iDd)i+nrmڦ9oP,=^>9CKio ;k BӨyv<: @Mk"PSCvkxf>*r=uQ?WR|'nD|ȦKi1?"a*AJkO1R#eJ{~p`S ?l#µ88eم[/n,Cajxĺ S>vCPM܇2x%"BSAJ*[L\v9fPS0lm[i9AHÀ_jrjЙCmKsEx&Y`sD?%N/h c5c7R6E{kZSA:su ySZ #x7nNIOD4o:BRM,KE@_Nwe},Kag-S6yWI)uZ|9>Ga'2W4u v:EmZ;),T5 WsC{n>X ؇ WYvR(M& 8!NufRX ƨX% )Aڡ zeQP.%m<_+ζ5@4fTֿAYP&>ɒ_BoxHp ,ƹM G3JsFGt=>C<-*RW%Uo8VvM9W9AW5^ջ|2lS6'5 ԫhd.i}'(>ܫ0FSC 4ICݪ]9:lavl\N{uݐ[?d0NIC‹'lQ@_DRu(1"^N0;]؋G1I$5) ^)tl 0_ 4N+}ڝZ=`K-9DPih֧Qyv8^fuū}'ĻPM 8e ]6] S㢥nZALB1@F;o[7V&vE'ғ6Zyh˟r>2EbnVDhHt J2T0՝E/<3ث%DT8ʾtxN,v AB{wmRHͿTq,jd jB%vxQCwǹd ]BHP:~#xdj0 x^K\HrzTI&=9* !LSx]ŪӎISF['VaԃkF!ij%v7m"?&!_J4ngu*2F(ٚ(Ѽ;mB8uij1rlzDc~1G:q\b,p͡@ 49S?}ˈQQغge8Ya|6~:;c{>YL-CusWgKЫGփz0,z }u1>IRlc<4&$ Ktz}FVY:J(PWC?a!hg6G9*dm~,`[C3[0+Q0'áLh@c:A=sXqLoPPq>sLyMN!Hh-xW$ 4_s]ć)#ԝ NYeS#Ɏ3s).,e: 6?9|Pͱ2}Cډrw4WQ7B#>&kT@Tp=ZԊM\@P1zyFLEAȜmnM<|Uy{z Y2 @;TnA}jFfS&֍TYʫ[Y֐T;'pRNXÖܞ8!>$UP̦L7jhS=1r jg1d%s}V\K7k ʷ`|A@3 <~b;>9IJ_%jaDYecʝ$E}V%1WV/Z4$`?B(Mlͨ3z([񻻣v꡽:م^9DFƴJ1.\oFRF˪l{.*w!`vdb.bJ7ə *gtM?A2h퐈`[ !LL|,}Ǎ/M 0j짒s$xdW  T;i;Z] 1E~b|4;9P//<ٱDYYwEInٵ g{546=~H27p!ze.^ ;8Ƙ7CvT@ݧOwMʎvp &Y%`:w#IyȂqK2]Z$ y_BЕ pVC;d$@:81k:3_)zɐ&R7y3 =+Wy5ѩZd,1b4Fwi-P^Bb@b@m% A0qR}}玌[.* ~a2s%d[E@]LC?<' 9UL{n?M +_ (jҴ\*/SىR;GnoQ̈w)ݒ&ܮp\}3pKF_pfLZY>QNoueÝ=vUBGw df?;"y NSRrvUCj#2 X ҂mIGe:Gb %@ްUђ'wVOU=JO8M%+5#{Zc^8 i{ն W8 KTLT]:g^\ާRZB*dW}wEy3^ NҊC8B).CWޞ+U(p/,@M2ˆ4s$zC@z0׶ U8ǤZm?Umq(6rbUys"-D0 R~HU-ŸZxE)픖NjJ3Wk il HSK1@0 >A e;[T_ 4]"(~⑊YLt|$Z!iX+0j iˢ?!Jʸyp[o:cc˯|ީu2lUfD"kk1C; )nn6S1- gG4ÿ"aa- '@\ .i)`V XCl}5$ e TaFk\[6z;D Ίe;HLE>c_j`VҕAtiEH Ķ|;4(7G#AUgu6@JW&PRG*h"R6ׯ&^~A9iC0wxD1D-*Uww~,>|ڍqMۺ4 Y ji[ :a$v{mUTRrc x ~㺼y 2ȚebJL0H_%vn\8~;xA3So/q}pwHl3BL_ӭ iל9,2/`BpW 5rX<ˈWsD#@ïZHmiYV*lU-,n@&n7ȐW W'$BUrae/<4NkNrHVۛR'(3!rS9OwVCZ;*{vvCgm>if]mJl hL2қ +C7}gO>Ai [ECm^Y4%ޢyFLG8]Vl O'Pa[L 9Q[7/=0W6t"Q 'p('=|W 92{"~E_ՃeqμMdMC}yRȴ½knZNǒVKiRH2^Q 1JTQq>754'REWv w}HL.$O+M)/ch- ۨC^̊ M_  S P M %}7SGMmjSpz50>͕I~Eg)d&Pd hβ ZKlg;2KO.9̦3[x>~A^2 ͻ<W oR[S}Cw4ݡbbKIzd&p=gcYʹ$>m}k:h-8 ]ƉĨ)ծFpPkuoOc׻zhd~*mhp#-qU4H1!,Ǩaf\qoe~|G,*0r~RNdR1c,]3jB^lLEn׿0ū#C3d2Uv'oޙcJ~XL-蹧_5|t~ A]{9pH'}ZL*:-_6ͻjt| Y (t^&П B?MCͼKvv۸v*68ʡ'sߍ_=gҠY)\m8 #ACu>X(uGbkhbZ+ KJxm^)٩­ |ܰ)1@/D)T)Q!)u)~~/]=4}@䝩)ʹ~05ﶂRWOLNtfl|ٌL)p$3XkAm65Y(OQO !}$:4RfW BY)g>LI |S_dzN\2 u"X'^EQM&vL?uda8x;^Ĭ&١xC6:8#ŷW`hf ^++99J93~|Xdqϸ.Icg=.;\pZI N)rl2JmH' mbnY&97_]&qI51խALd[O7eU39dO XV^la6@ 0']][=ثvzG߿!Ԅ:Ity*^*_%8Ν{1;F+Qell26>0)d(_ia >֭5evSdͳTlZ)P+oWK]Q3 u/Ķdη2DNɐhgiYe%e ryle9L> H3mjH؝Wn)DN‡P5,+ MȈ"Yq5T v`Հqnt\RIi>qlj`3񽹪JŁ|7U" gO75(Iwμ&ڥ.e,lillSz=Y* 6ylS %Z+MU_+k(hχZ˫]@~ez[?1c ЄA:1`Zo̵G.Mݖes';w8;u~,KE󽓻#=e*LJBN?q$<=_#@8׭|i@W U79 oQ+^ Q938ЯOj0JSw~ 0ꕝfϏ7ӛf%ҵ@zٚwTopLϷn菛35dCw{F@P{˗d6ډw5TRz$ǧ@I}AJLf#qoa۱Us ^o(Mk[a\?-YvUuE YئNB/" i)]2{%N WcTņKIɅ~|bʉ~N^KX%V*|aTp?2 J%H\tL3|Y#[J;[!˝7-zH~P%y]мR[!o×V"96 {e.`^/]kW@xA1rۚ(Hsgx|K; fh1CM~}h:Ev<0_,U=Q#q^6b4J>w?߲*8g[37u# uiwr ј_7޾I!Ȃ-q");K0 Vm3f:ژVےC<ٌNJɗ5pJ5 l{t"7OiJE04@K ZKF~nxGtBÔ*UTQ;au`Wv+$kдJ63;6 0eG壱duØ*sndE51yqR?N{˙-, J15voӫh`em$EPBȵxU[ eL(v`XM7(UEyUL~gjO2Hpb|\JtGNKLtь"G]gk* @Ѻ|>8rklj'm$d%_K_ cpvk4/UV^:Ň={ y5;uwzSZVC/%FZtwFb%$O犱~ey{GM)#Kx'@^jzv4SxADP2]d )bra\~EgjGȡVc d/7$TrF̐Ru?bGԂi3cUxvs=G2_l=sJ1 [@Ixi%*}Ovofzr+56>,pR^/E/T^ XW$1GiM~Zg g{okc׃G< wVRķRʼ]au'bһ'qVј&J0{1lzFN([YNb#^A_RE#` 7&E &j !,3A(?UěR)J@Og$~w,b~|]k1%5A:;6& dܭa'өCqDu d`sNyhil^&-3| K/կ s]PX`:m J̹d/Oa^hy^ij%.p9Z 3E–sf)B/Mudp&R1?=#K<>r>㿆/2߅ 0fm^ rR^ߖp6%oko{9c?ZiUAҷXoA ʂ1w^ZWH#-FE k9@#u] z0qO0BJ `"ZÙ- (W+F ;ڮ}Pvp !xyAvW=unrNǎWnjR8,~VQ0uMRAs\̶G^xeuРAåXEASږL<RT}(,na0 S! ׈!1X o-]ufhGovCE]~_ñuyvS}_9Njށ$ O8|>TC@H7Tife1GID$%Q8ٴ(A1ލw%ZWD ;=֗ Xoߟg)uX8QL:E73T5U>Wv 8Oš N"s~MwT~3,!c bQ=_6% hgZ:0ZC!.h V³JI/źJfɄUTWƬM~'+@GY*nD()t٥5kݕwAs HѴmӕT;d@**Z 'dkf(=HU`C+?\|r::*wg"34)*uYvbn] [ݔ >[hj\Fx )<@WW@)c$Oy&+UXIvب%&1D8GEFճOii&T `ߍsy~a?5nƞTŶc)J;%q?ϰxV d<6&bhZ%Γ(=5dopkCx8^dsD;.`qpR|S$5qٕyq]mV<ݴFPwAdmoV;DzVI?K=7*Gف:n?43t5oC0-a#-75c?S㼄SHFS ~V<.G ږI;<l>A=4猝r-I^ og wBg<'7?Ʀtc`Ri\km`W :4yxb=§l?"2oc;F2g/`{y_2e[r!>ێrXdڞiοʵ.jWg[6]MeeɑT?Bkr犐:K\Մ}s}N08_Ʀ$DG mgkr I@6pgq\AVzڔ,UG6ÕhǴ^N#OsLXG;VK H٠%BĥpA#4g{K4b53߳4xq:)W^:_USmE`=Rkxn{j–o7f(gΜ=CG^o&"bY4Q&º@J:Ak{|N侫6*cXTY$;`|ZC˄c jrhsů2J-i [h?*gJ%HB]a+^ G|b:2a&5?fVl G+$nٲ-/h){7yzT$\[PKr^><)W-EOI_|eO"FZVgz=2>9bh.Mj }]ǒ94$Dl[#FRAs'-2k9žW6CmC!1Xԯ;p/5+h^qʆ׮`Ӈe8r$F>Fw@Ț' AwrߺwY66ܶ#[t}=90PO E҉up$mn@v)ĢxpM2!?ylK,p4QVTE ̲rBf[9'{ŕR "VaJ0M&(9u' >@SGE}ot);uiϜ/ Y!"ETCU2gAKY N%+'q9jq .έqr*P- Q1*ZxkJzI9mW?yevr;k$m_6vۍW61~(uT| qa>-Apcn})U[W.:F ( __s^1/m36R0/tԏJsfΜڋ UVy0(b% d^br#fO7+$Ύ9"sth= 1s>S7gwm5Ά c} *+*FoX'|9&eZe6>Rp076m)u YzZ'$Ly֦8o~<)$-2VyXBSWHT% 'roD=*q0^k;ҒGRV#S#p0Ry:jp[\dӯfD )7끃̼*X沙#{ vЀtsVF4\TU/w{Jhɷ~ש68\?͝;۬}]h{W' #>8B1g w9(_*(2)ĂQOD/ UdM\>pAJqvbStD&75=&Θ5LgŷN8 czã~x}Zy|O>BԵ4Q} Y!# M[mRi89Ub#ĤM*I~>MׄL@K)gU \wJ޵> ky@ wcZFJ_AEjR\Zz#; k=5=̪GVh ӡ.\1^)0Da#oUl?T#>b %/d ;]G2Kg@/5A!r 7e[wR@ zlVpVmNd'gd @'}'f^FBGw@g8BdF30S@': g+Uج'܆懦ԩ&X9 cXf|/GA$^Rvu!l@ 1 Li۬CG֜;6﷐z,h\I#YϠRP`)ItPzOvOtQŜ*fڒ p֘B JגJ `%H%_OډNgV6uDc zZSXu* ŁHe#"3hֿ*,[hzBKf#U|ŊT.OK9iӰ5s/f!$R%/tc #qqK&bb Eq^E x/tw!": n4q-1Ӿc:%G ܲnuseR_v)F9gRJPQb5y Lh VOHΥA Clȴqvvmr;A(Ztq,f.> ~M8ms<dj;uW.ީMD,q׳j%hvEz k06B,6E2 hQ46ʕWUm.&d-: RL7h}Z:۸%%+ i;W0CyCMJ?0bjcҿɄ7b`K1˲Dg-\&yltWȋ;}:1cTNK Ũ$ 7#Mhgk|[8Z6wytS%_$cߚ#7LvPA u.Ej`Qjz/fU1Q_؃<K_GY |gd?m! ܇>ʔ[sxM"iV,(JWԓ6aA "C'V%G6w hf:]5 j7jIĽ^"cy 2+i7}1<1`|NF-{=(yc~&ΫPn t ]|UEo쑆geZ*XOںc ' `ӶJw\M'ݎ :0#/8y=FdT+忘ʇ:t"n5޼ػo#;ft{Oo8 R_hm᦯,8{2LTg&9&sFjAmN3?|\, E nYA쓃'f2Gkv_ 4l$4]U910n7oulBMŎ<P ѡ1KWe= Hop/G&6Oo0}8$Ս7kw mEl%[{A^?Y|SʝƮ$sA ZTSlJkٲ _jNGKM2f(qp,b+-ܴ9SgS=ö݊$n ޘn zM|3(,ap07WtT Kf' KV-ϝKp?ɡ; PP.] _"ץ޷)Q9?(_Q$%@{kWfg˃p6tXczi)ܼVsEm?RpМ4PDWutY:{G6ʰ\ }CoFn!b_)boY"0l[D l&_kވB5lǼXѲ;Z]>)nˣb?ag$4~tWg8mMÖDʊ,Ę.r@۔h C8$t]4@c6&C'{OrwϖSu3GF#Q6t7MBo~g~!yz9Z[0h-t!8K綸?`c|G@0 $=$;AGךGJ's bq-?e?m!;x{l_b(rշ5N|?G84'ũQ[&zNj_D>e!ì+W-e&>xK|ԇG\5if71tĬ3pqS_/y~Ae Mm(2> tZā L23JZ"B61h-N'40}PVz;`S"*϶RrrѰkwbUDf3}jb6ZYn9-N|. Dw:]=y0o<9u=z%=qNtQ.m{lAU:X}eYG:-GxZĮ2홈dؗQn6$ÅKbSHsV3Ppz)VAhv0Iq(Ʃ5*2&۪d߃ &\ܽ`tJz,14uT}//|w`ŞG*:Q-shŭV綝}[SA=!i5oJO\E91>NC<~;YZ\BH' g Qv>|M_UN[,p,S &oh/" 2^AnsK`TO7;8C~Da^6<#4E3k΀6)|#6yH&كmMZW+ydN,~o:!a]UՉbi(%X<mc85 }8|;uTٳmtnf8Q 3^CεwAOh@s=A5"'f|>F5~Am}beBmٞ c"ɍl`r 0ok5u>J>HkTΏ1E3XÍt7fm= _Y/MBSQ [Jt _Js]" 4%Iel0(R?(w칃WJӷpxxhbU -$9!uǬ eWDN1j4ed 汃Ct7J]QF-UhA1 }38@i:T|'w 8koy(!1\I rd\?ީ[ќ[(A`I$U "<:G=QJ 1g('<9CCݖUy<8pq"ْkٛU|t^zY:mNu$LrDbSAҦ.)WtiTJ>PD& V) $ZN[DON3NuUwW=S\=T1jj3+aȲsy-/B߈ŀ**OqFM\#<:|VlĔT!fÅʩ47Mr=dS݇LDu`Xb턕owjƳh瑋2) z͗yƲwء(Sր%PЗp`"%jVL' 9+1mj> Qcc@XY ҏw"Gh-3}(DۉBpSdR gd@*sϜvqy_=2c4-.V?%w4(${A%#lIpN#U&E3Аቊ(_ MUmxd r\j7ti&qp3DdAMzN|&rki,(Tqb 2ˎ?uJ]\X*,kOkHq8C6dK:UFJ`mX7.ːhv$Y8Q}mOsTXO2nڏJld?%q b :݊sR ۛ8Pv;XSX;1_lVʆY}]A#U6`31!yK\^aܟ@ , o9g_ G&ëAx 8Tpѩ'VbwDtI|Ft$.z 'q'HcLޗTZ\ p439E F7pÊ\*6~J` NAX3@ەgOriGK#dio$~ǧqhm-&E"H.JU{qG CDg =yg^ &,ZstÛ"UxU]&  {VELdKJbkx6U/Pf`dVЌH4$"I@ay ,NtKf!r, 7h͎=I\S#ZGAĕO5"  <Y^c(c(_ٌP1(Cqe Q'Z}=bK/P޿^>F%)^\Z)ܐsPpz/E)A$fniҺG62CDU?DF UEXZCE8āZ_U RƧxiro8*<>%N qڿuŷnk[-md<;ZAEd2A?k݉zR%cj&Cz$&Ъ2^z7֦M"͇MUQY6~Btvi _v"u\lY8zwRZ (~% u6m҆NN"fKwY'yj0Z.$Xy dz\3`QA As9+-G3o8 /(Psh0@ʌM49pME8TZW[9Cz\I%񁛗ڏ@qyS Ԙb08둋.esnEK`.fț@&6B}qG-)DسΌ&)ll-4)+y5 ExQl٬oP va>-~&L(o֢t ~Y|"%C}%3fcbIN2.SZwR>6 h*'V`P1 t(,HHZPmb^'>EG- xqRmbg $,!Fbrh&X.:77nk>~I m7(Z.Zc;Dt-A_Kzt ?1 Ƙ`p]8/y% 3&l"-nvN "b+[$Bg=-wE&"JA ٱ:=,4zH:l>tRϺ9J~(+9Z? SBo0@2េؽ"_qyKG;"f,3O5_+rM(gcEC=COUGPgd%sN/:wz1s0 L:̟br* /utrSz>O坍qE.6Y\&$5<7D%iUuU~Me4~lIT+K3I[5ƹw6`W! UsI{M~'c!cYLWVqI!TȈ_e,tFJ "7lcl U+c|䚙.Ť,vJ 1(o]2*i .AUO?dz 9aszJyt}$ !;0>vIIl؎ףH@sONw<(s%`Ofh?˰ !RgL_bA6# 9s3 FQ  ='2|BNu_ғ7[QXB<.5TR#SB`"#J:ӺC/~D>xShOʈ6h#CwP_杂 !18!O@6Q*" ,c! z>=@-8͏;zܖIoy`GFuȲ?IA՘w@冩Cpņ"n|6]OSt.re/?<^͟0v3`Fg<H8Vk$dJO\7;;#='F,OL%UR1B8Cj۔ ]Nw6PX V=g']ZVCaqŠ! ;Zx_MI&'_?d&x;+4H(q,:[QO.<t;.sW=a@D md.:Nwʬ"zDÖAWC߶UmCd ۇk繚yOt|kP9L5?Rn*:u|oGL|?19_R"6?;AdO%5үڑyZ1:7Vb.*>ZoB-0 >m;m?X W ~1TfMr{KIzK.$L&ivD}BT4^OևP;UY*7 ^jw[a«KVB'9٧`he gJ:0G9قV]H'KԁDH݁C٢PE=7*K^"I U:%|J^}+~d^}[3Kh@8#$`nh$'{M줟VB>+&rFlw yBddy"8sQw`SLPik y $1ev_1Ea\OX,Lm)(A \FȋOo pL(WEkPd6ҲYYA{rDbކ3=oo:o.AK*/kn0\߮0or'Mʴhݼ_~RAgEi6/ΑwP㢜sN[įIw#:wnQ#No^jA(͍VL\]M\,P$$^H#|$7ek𽗓kg>ky"cq0mx0 +լPGBQY0EK H ;@Lm."ϖ,^:G/b#.FrOtxn7y~)[.X8-lZ4,'wdm|y̹֜59YdSUUڔ:9d[ձzfGSF/vf[C~o+Ѽ? 8]0iKGjV Y]HoW s+Šm|͋~#T)uT$6!ȑ*揭=ۼZL yIF~sC|k#}Pt69Yw%iZS%E$rTXXTi}jb!=0*͉gdCM# /WFa/Z(ö-^"&n>r}fЬ/bwyM "ݘIfi3zÚvq-sI5VW> P\E`REz$=y 2v]R+TRZeM ]q_CS m&6F 5߁[[:Wݿk/=u#fRȟu3íb'Hm3IW.Ia[d~5tp. R.dU'\ꢄ-lfJ`;h-9 A&e|ӡ$}ďEqpݛf2 @1=8!w QnIqdCjn3rF',.,Dž@,{IdiRVЭ^۞igIᗤ/H|[T|ö mkwx^򑓀Wl c\jr$9iiU%{*o0F@{6;]߲O猩iہ<59Us̼ЌcQ:2y! N"=a4#˶P<Yw$K_8sj0c)Ue BlOaS0^_pH|+VCА$(`VnxF Ktd_RR"h1E@8.!cyfYe`7rXU^b oNLg:ַWEn*xhZk,?]9 @@gE&/Sը0gQ"[D줢9=0z;r'h(S L38\ eWl"U5ƨ2|ޡ A;3C B&M 65y)pT 9[\ON͈z͌zWi[]#/VD<]-vd:^F*Ʃ"d6,X6F'{,J.^^1T~Sڷ=׏dz5,Uk%GZ6* `*U6Gmw*c aۅC Y…Ii,"^ETB9t\Z[~Mz{J֙ vb@N8t;&`v"8߹Y@vf'jPցTsҥܦH,ԺIc-{B|waO:ÓwCOyؗ\;+i|wi. Ax&tBbꁃ(˜&mټ 3 FYL(lB_G8U%J'Gx@5@؟vҽ6{M&wyԝշsqfצtَXht֞>|pcI S`Sdx; oxU\&p%u0"O$\'re"^YLm!僶Q>أW(^G _Y t"9A*Wjʳr&SO)~fxf{^tI聐0*P"R7ŨޯZ^.t#*|\62v-`kN ԬyR۟gW5+;R,E156 ^8#bo1GgbdqD}( owrRvvi 2H}<1ЊX{l) s3( @jUSp`)ŕϭ \?Wp&s-*?+`|[dh홑㻡vx5D%꡸;VM ,m:#"OB1n>XGa^Ǹt#)٥PxIV0"nDXq?(/~6CbV,tƛ-}KRM#pQGIrۆIvr }+m#@8> sb a'WTsJQ?|<6!#2A"U K?%Ayr}A吮CJ't\EqaA8%!fx pSw&>ѝ KNLVG? [N8aY6;:fAt%Sx;ז`±aؓqS3μ.!SD­pDx+#vwu~fiQ>\~YVqixdj(e@&45ѯO#Mc NA&0ʽq멡`6n8!vĤ,`@摂 lw/Asʆi XӲ",'*rP{:h<Xb?r`yJgJ! (UꊚK$Lb{nfŵDռq(N͈Ʊ;Ȅ;TtC,aHxDri\_ݛ8 ŊߌquuFlc~˙w,|VOE5u9+D]9:LS9kƕ ܡfe=\H߂= i<[L_P3.b౧,tq3[ݿAKHl5A/,]M~Tʧǣl6ʇCq w &EatMgHjCngQ 41-BLBӑ$: {S|I{m44)ũ+|K.'OуԤfPy|82r"b;$.S 8U%7+/tJisVA:5oR$ʥ*`*|:^`߫Bd fMC+~UycOئ.U1i>Q`O }_3KX%7PugGx6}19\Xn?@E56yK'+RG~ItO]-[EDᳫDtd%`due3zs2p SՂ;X(V%[I$E#렪Q#X|ՔkD*5J8ФHҿ R|lz_Vj3 .F&mVƣy>  oI nO:-e51I[/\^Œb14 )LDD= 9P.p%Ys&SK(]|T@sI?G+!&,VL5B=kmgso,bT:,M &YsQc@9N01kUSl#qE^(d6{ xvno5L8uX&QIxE΃Px'*q9~YXQa ~_S3ϾZN<"s p3=dӆcG/ '`aWG tL@El gGX;#[\?#9Cv 3OB.=X~ #-M,a-hExZpU>`yӎyy٧2%.H!9\tiX?*BFY-3n.bua[e3g5! A@22gy)AY|<[9! Z/^He%5޽)F82CLy#Ѣ7lK 5'Z V=@3!b>m|2l 9͞0ʱ t$;^M–Qgև:Lܗgi ʓQpE夞bdYd́&ҷ'WB,9{br$|. -55 aݑ9zG&mNб(aȯQ)=B 7䃫9>XpmjlrrVuFw]=[)gãΚ` ?t rP0y>' gx.A @nO:җof G?*!խ=G..d[@ubwC LUȼF} ES5-ւ)m hi`?Cȝ1.Yxo@meR__V0-Fh^&?M†rV?i1` Yubb%Y]ڮjA_CeEҺ f럸 -M 3alwO&m%gQ²NW(e tߍ1a$9!:SRCHRk=!? ?F%#EWԀ/ ees[#HR*G}-MBLg E,96ހ (~p žj#IVA"~gד~KF6qu`qTP0bf\FL72!HVʻEnU Y*WңHB,&8_BoRcf} JEir}ii%{M^PS,\Zj .C (3ӷLm;B8r>ߛ/vp|{fE*6o2 ~IIEh^Vt* v#\voW ɌbC(RnKN#AϑT0v*X(\̈́|ƻn2dVfd^㋫F8>-䣠; @5o)*ɨ3;@[3c=tC2TLgZV(41ʊ/$bj1ֱ(R2<  (G6JtI>XjƄ?KE^Lz4APfnM4Fxx5Ȭ]1D #p\M\q:h@\ '>+\%ńpJ:ŽO~:<4ƲW䔩axcE)Ԋk wUsC5ᅰx7{}oYGe1chqA03Y.cÚhwj¾O,A4$ +!cRу "9=;hϏ@/f"2{axFG a_Iњu믑.A'Ŝ6gu$~v\LkvW6ejK.91r)ֈB:6E5'Ÿ'V8H]iMQ!nTy )#IhoB~%I-Fp0xwë9.\PzNTc9Ԗ珻*J0aBn m[v;R W#8>y6Xu6_Y ΍v!I Q}j{v-i,l^v?@eK?-rSJj(Ģsg1傇[y9׻uR΋ޥ+nK: [ǝ^@|ayWMF~JN PȂKS'"fb*n^%L0S(f)ЌtE߆3qmH6S3#&hӇ ­|=(Qs ]L7FL黔)K.8xMCf4vD t,CȦ0E<-BQXXTYfS'#>XCN19JHlv~tq`>~2f6BnH%.O~-V 9ȖΌiv 0l (jCw-K'7G8/SڠYX~e^ Avte j/F_#MUeLhLRQ+q"&?G`?K?]%_\pPy]F4^lZҗ xy*6֬N8L`Wixsoa`T%AI=h,J]1RoyNU>? #)ș4P!2I 2\0fJ+󿌳sﶪ]\Per΄q0{M"¬oa82Ҷ%GS䞷&7Fʗ$B,ې#t z47J!8/ iBlH6P?D/ċ 2{[%8WJK)2 MX^I J"FwTDymQ؝>cM4C,_źM}Gx F\7lW!kD"qX# /b (M*G`jHߗnqYrI7u WSbB'KE넠ZP_"e&d3zbkic&_2 hOͩX ;Fu 50qP"k4Fchп]f /SmνD>1g:Z2HQ%Uk8 t\ N(݊+9G')`om=W>`ّg:3)r>{.ڞA[\kC6^9{MթA;;{641vp`HT q]AѺ5PRQd/E^X IVUmλ6VTHQu:3LgaUO6(,ץLʹb36qoPΦ"w-l6Lz p $f{>WkJjƎ oAZKEP.)ҥ0gu"ecbV0}y%<|@ t,@z@h̥%cl*%|nMζ7 H|[c29DE ŚP_Ŗ-w~~4 2trSJY`1qG&uFol)"BSw}LB4|ѿ}e{BǶ[.g$J ya,])zDҀp}'( }آ1b9 7m/1{t`/F@jlӫ3 .ļ{Ugt֛KFu|^WP^@RIJbl[[;<@8H5"aPr>~y;vUI/#2O{ wg՜X邫৓s q,_2^_E7\'*؏1$~/Lv>ۋb\Ŀ{ɠORsvY9%k;6Ka?%~lMdjr\z\3B]dMƨ8!+:+*;\Yb0;+;1F~ĖC|%-L=KkaWOUSkYP]o=JzKmUܩ29Mfn>)] k(>A Pc@nE&v_~KǗK:̡HbFCV804cp3>׾oxZ2{\trcOg؜e>V@mfPˢ kQ+bR)/-ki&_JraJaKõ;ȅ偣pf|S,&*Q>珿K9SʖN7@6e-Ҩ`Hf DSo^q3)iXbѓ҇o0H8h!8e?7UrePFZ~` <>4d"e͞v&`5OW0HFiP,殙YYIy:ij%BfTGLi0IDY+ݛ_pԦ5:%`{}#w!tlg䫬,='ڿxȱ J)i{/!Dvzv,?7;Ug/+ l>|ʳ}:.Dg(3ǔ\xjOzOZҀ@iԾ81k3@To%@5TA'ߦEBeXe.l{"EJ7Aos h#u\=)otII/+!Hrs6 +<+)bYZ{wB?͚&V3'CGT-囀pȝ-7!3 Q x9LxDaj0GԻl-"ό[O&<"8$miP)++:f_IR >:I/Q"T}iFַHC6:]9 D/)pyu-d)/S듒94[L?Hr`׋?,0r {̎Sw:z!ࡵLO}WY 6-ʷ^xEY{ dr ˑRvIqa!)y{~']Dɮ=B~E>D߆ \>bPxe*QZ*:ܲQ2ҾcP8p\3ό96 $-eh;q߭{ؑr}W 4dm8vYEE77ЊR?\ic_N5>/'QshNV%5˾Rƻoչm@289+w7N DFFMkiI 3&>cҶbu2ڷL V\R'"[rH߸;ణf֦*c4&SZUB'W| lh* hILA@ QqD:aQ,*^mdyAdjB4Sy,Q#,JB \*j*ӄYbǜN VpuC =&xbqȦ1qRm-ܢ;_ע%&<۵>~mi Y Q\&BΤC#.^%UbUAxC9~$a" }oKkp':f1PVe~w"(UwXDwAssKS@x#3QV8iA,%'VQćgA{dLO#v)zUjvz~] f{_"l&OeF81HxIH 4ՠb`2`%h`fTxeSO&1"E ->@{Up)Bwq<dY3WST?~aHFagr NFZGaSwb"2ybv.E8Iy%p>"2iR2k/־u٬X)]\xP*]T@.Kߣ ]COYŒYfvoR;$[1},<6O4ljt7m@͘M[@/b:z1b3|ӛ#|E( =1(hŌ)<[J^#QC^HYߥ_6&J텸g}iQ~tc?E5Oc][ p51"9S)(+V6)Rp> Z"^Êĥa\,x`o#(3֨"g!snVRA[eEPdY ]b;q&t%| QB-SLȾѨuy6ʵ'^Y͈ʹǽ6cram(*SBc6x/?;5Y OaPf$kbڇYk!Ѡ6s#9l"F."2 Ddq;(nc>Qv]ad#:oAdhA9]VbAҳ'ȌjӣLJڟ t){!Y/yt]7nWz]6N\+5qahܶ[)O· MRri#ЈAҧP_MUA]no=ٚx z(z¢*R朮 蜲̉/:$䊑kҞ 68\2l^5xiA@}CCn|U'r TH&m PQh!Y! gTCyr}9z6~(3,&f(AdIc\XTfE5aYB87!4Yћy6&]!; UMRR9; ;+=1=f,C}4"-|,HFfZ*x ARZM# ϗ~tSܨ}uQu %dxyfv _=dfw,fZr. ?nt:%ȳ*P83_ 'm7gBÑ{[zRw͍:۫TV ;/tW[%HIZ5&N|Ui]K.ot&%P$<%X"NC50d_#7n>~qya0 ^p!V ghdqQBχyMLozWpBw8n$zb xI-,{Z @YΉ~Z|.m j8*_\VG->=?k9!T9ʺ7 +~> x4V٪"frC2V qn]y7+Bs"gfjii45(n{bj[m=Z 0?edX>P@:@!Im`YAIĩxa' 5'DC !b+0ӔM, B{ Nʳ>=-@}Z_ޕ3h$xbmN$垣lt rCG+3\Zr J7u7lGK"":F*IDWNăenb"qy A@kgFS"zlYڪL.tuq|7-RԜݤ&hIc|*3w̗kZ#Eۤo*+6;$8hqM~29IeORZ+$.å׀] #X5m!Xr{F DMYkgfh4MJT_G+)PD]_l*Vu6i?- _~\\õ֥5 Z,章m/0/}(܃F~Bp+ 5.q2Rz BGtCH(\F 񫡖)O BF9>]$ex~7?īnL ssêy #3 FVt^ygtm}1=GK n_W[[9i7gkzZ f))_'\լkUx%$D+3wϫ 80{{ w.+@L([,rGS#䱐h2!G!U߷Nc}FDzaWĝH i-h 5e懫̧Go &puPva<Ѓ2. -Un17~Nkmj]-8fnUvq8c>T _fwH#<:v၊882fyzR1ÞΓman|= @6VJvq*m!fRJ!@'1p5J˛tOWɉ4u,*'~0 ~lCzG`C|5dR6ބMijBg-U%J`5 1rzn"Z\ۂ]S5g C.sȷqb!6K*2SB܏܇ xeΔ[Ɗ?,<Ц;qfQ`q xNm#[t $Qm8=gm B1*jcknOt/n(V1@YKsQ4_Bc[(ےKH.[[ <H<Y=-տ^}-#_. B/s|$!V`)3Xok./YuJXuɉ, 萣d+;:D K|8x.Ēqτ!ZMXjhR_eidRzx7O>hF,S\]X_JʜA|;/vc}Fkqg;HPcP|E]6KkEb"p^AUg ;?aC΁¤Em+t 3h})SHܭ*q r;s"`KymA^y.̿wxiLNd%nk3SapE~ K 2nuu|]$ [,& }M]K<ҔZFmP< +[>ʬw#0}gNd\1GTz(c9WOy/vUR= 2O`?z*8dԍOW*lZDE.Uw8 7q|/?jVIϺ!0rR w܃ɂ F d<Tx1c,(I :GW~s`G*<-s-~*R9Z0%e͆Ȫ5QqP)'U0x^BlE&h') r ŝ@Ԫ>lu<UEcv^HOȂf/WM:;{@hHͽomSVVwb:Grzzim,ʗypՊzgjy%ܥ8I.'t?_=gGJlk6F 4X*%\y4H(˺< 쩘W0eLDKv$nFvjsk!F'ȅa19?&>@?lo"ZP([Hw)]қ!1[s/6/w4A!jJCz goAmY4Im@|b?XcB)䝀#ӃL;WBgF[@E2:@d*X$>0&ό6( 83E3AuWP/=!j8im^ycASW(Jd q*B?~kV?$c{3u `ВyZf_hNΤj0@'d:Ev}Jf$QrDgV\x[tdZ/bEʟ/,ڊWߥ-k4!K |QW?{,G;[uMvV-jUƷ. ~*eЯsLlbou]Z~#}=|"\tt5'y*|C^JH52ɥIؚgqxƾس04xeOF#IBAL*qfEDlfvc֮gQ2S/<u_|f177HRI;x'`,h3v]>R/lˣ"x(!n $jrdmts96B֥Ü`BF+VZKR)KRUx {'6twχ< ݨ3n-}. Q@C d H6iJĜi25F:кF(* 1ې^8;w[Dz ]tq~ v9n JXT3ȬND O-I$z0Oâ>_32fx"O.;5@ÒKՆx,+ Y|O /zBr^8O3bq"U*KI\{HƇf<LnBqg 8C?|,%Ut%`:NͅpR$mE Nh}y[/aB'РlGO]MǦ"h^QH)Rd;YȒ!~xhDZ;P䭍ӓka46F!Z:EhnMBEEUOvU B%׻kqkgpz X h$a3O%̤Z){5&l.?!g2\ֺ.uc s3MVު=q5Ӳ ,b&#VGEzI҄x5RmQ * (nH~8"}cXi=\~y gj&P"iSKTq)ωҜ}-}w b4jׯo X{\^ _@I!f8e/ZQaewaq-,tAU@p،(_Ub- 7~I=I,.zc@;܍єr~HɑH\TY*T6^hhE b>5y CVBo Cv-ӾhfH2\wqd{}ŶzQzpc:v yh&ʂH?R0@JQh%H}H8;{_FbUm͟^(Ww( rc=ᄇ_N"XΒFDE}i9߮z`cF+ˆܫ\QS2khg6)WrjMcM`9wPp Ǥ zK+}DR1HX菋XcM͋5[q0o8gOG& *^9x&3GŻ"d_Y蛸 uHJpwHR?1GtmĆ+<7jQ!J+.KEpsOFNTþ{\4zƾ%deNYRNUŀq`0!ب8C]a~`kQ^Z@<ǭ{_o9Գ)V٭w@2B[8)eq Pt[nQq2z9PWWTP! 5ǽ>)K,1L?a2?$@3tQ*ܭsX+R7M>kFCۉe=;1lJ3H;\ũ Ͻ\+[4:mx})|et΄$߇L.*xl ij8&J '^dM?O9<ӤYCd~9h߅͎bχVog33"XLMi13cD&u'LLvު2fubtB%eec",a5߉י8{rsp牨BPs7U7_px(W+ {KZ4v9L E)U2W+|(9Ll@|*m1vFqkZ~} Շ`vW/a;!]߸k+ʔdghh"0uI¤P[q G,,z 4nɞ-$qzBr @=I%PFN $b2 r:+LW;ho+q|s2&Eի-7A8"K_8Y~4_/])624La` @][^"a#&`ɳDG3!zx1*n2 -8K*gFv\@l iO՜g7~! 'e%ikk09 ?^FٽĠTvi:J@N#rv#rAI)$0L;˜y޷n-ҌF 1+g^8IԘ }F8>=Fe]%Zd-M-^JO'їfD;/*5;^E:Y#Q/ 0$ ʓSTp92fgy-@(`mlBrY_k&3Sp ?6nFz( '5KLKg(60Y?pr/B⤾56X;6.RSr0R<˿GPsRLAHP/2l3qLnKLiFr|C F!< {J+M0k17Vgʞ9M>7;rŒoe3UJ~5+wY$Bߗ}-q|rH@H6,̗}J[BotGTWcf N͖y77 kC@d[kdv7OY?0VsR-l"FY4FIGW&oYeT{'}'6®H`%C8dExc]/=WOѡv=x♝ᡢ0DYȝ`T'?C3CmM (|s:,:s/9zM mNy˰ *6bM~0z جbA[Wa+ uOw\xWRx?c 8u{.Z[}=:-3[ՄؒsB9~PNMئFZCaBp3pJ9ϋŊFc>h5/6p6a.\v=/si] uҥAX g/3tawaOHc{`_$m {@’?vmHh06Ҵ-56Dr|>GZߠd쳝Q(VʗpӐWNB,6 ١FE`X!kMHofsWtK&U9BO3]H 6(V P:YG;mZ,Mfރ96`ѕ0T`ܖN`0?>LPUU#"!}mmhseƣb-?{U[?[<pѶmzPG̭7f1{y lfc31{K;2?ML܏۟l0ȅkp>_=vk];,RAeZJ D%EwdP>I7#wJ?Ϛ7/O[\S#k~mX{{xƚd?"I|X^M#`lc,UE +'8[Ox=l1Rb\?znXVU-8gX6j(Ia5P̄0?@ؐ&[ cjS.U|dRLRpT*̸FGp( m+0?[B@PN9XXOs@C,ߞlxoIpj XM9yKl8ɂ(0 a[i(Ce.7 w՚Jܻ*K?,&ej 0Gg`hۉ F-.; h FiAge )5Gn=ěԁz !|ƜCyz1(tO&6C]F.*zh&j7t%Q[> TJWo#jyɲ/53K?8<8 u40RO(̆=5ܑTX%6/,zUVou[GsҪXg+LCmm䜷Q~b+WKI Hf%fJK{FTW 57PzQ5 >Fˋؿ 읨Ӟr"z3K<}/:>2ܗ23/" Jr.!kurNo06C.'7/n-?Qp +ƙ~PjF׼)\`H@H]u.ZѬhZy wi)AFO!ux ŋM`M} PLh7҄} W?FI4D '@W,oxiY MRs d>Cd2TIb5&:':?@5#O*͐Ϭ!k|2S^?2 \ASg;?м&. x%G)=}+6YE,o;YcxPGŶЈ#?O6QaMDCT4f{~g|r%r -ˏG4j(nOtK~5wXv !fp\X#D0 *];ȯqNՁv/ܦ w<; R˜~!TZL13jA2fH>l71#q\oFV3;T4Շ0H4{ZYDÔqŽ-d.2FOov6Y?ʚRۅG+ Dr3˩\'ae`f/*q[ç5HMc)Qlӵs4R#a)^(QYk`#*B8T+v.7QiutY!cGdLi3C)SГ oMa(Y$)<ڋXaNCХږsiE ~6Vkga;^zKDp Y2D@#7u(8^eg"`K<<]}DѡG1&$3 X5>b K "NSU(ه6BG)z j>ϊ"$٦a7 PQ^w【j[~1‹#)Sn49}}f4\@˚~"c(D.1^Q%סYfk'OM܍I:#l5^G?`ĺo#R I>7vpɿF _xde\1Af4ܞ/Tnb)=S͑N/=~< "B[8w wNBȶ{^jB y*L6U`5!f.L4%FV3^zT @ #9>LhU`PMa 뇱"7'f[/tFTm}\CZdT >0lM+s oU44|JK<8J3ѵ$T~+5 ?&T򲃴Ƨe-#7A9G},\{DWD>YY RcR +ͱrO-i|+-֭>:aAiFfeuU)Lqb\ϋm-7Ĩ@wǙ |Ѝ|aT˕ip1E';JOkUz KĒ RP) y >YQ>v0^i>7ebQlZwIqR+ws)N.D8@g'NM:?#KeFa\& AoO8cgV2?3N_oRZ@IljϹQA 3R:Oez=n5IBEKWs uX*NAˏ\Z :6ɠ_7xGg6<),)o9qීgo9*;t 蚑#M c&Z3+:lN^w/ZmqJu]w%- 7WA|.x-Y1O7^kyh9~t ~ MM:slm1 XjIH\ UPTaIIs1zw5Uiw.nM[.q:LR.mS2G|*h] m'55<Y>6spG.VhF^84C)wN* EƷBu^8+cEIN#G41zX48MN/MЃ/bd֪%DO6EY/oKA1Ja{s*~j4ejL7faMk'\@UpG }s#:P*^OU ?CE}I1[e_ZM>Op@LH?L3}>`&`/_1i sn5rڬ' ieM4 nfn%ntU^j ֱx$ OGAħX|w[IL68N)>?[nR8@s pW܏l֙ Q^w2Va7La\pn])7I[pIN[̪J |Al@:0ݐ+ Ib5ډCư=NJ1Z Ao(vEi{@.QZئN2A7`u#CK[)i뺬1ɴ2lŤpB7a[Km?'W]v-vsY?-=h{iG6vvQc]hu:$uc|BmY" X!hB?wHEsD>KeURB |n@is9|Ҩˤ&MLIG_zWl`AyATBKD7ܴޫdRF5BnUrP9tM6Fqr~QLcU' G'fBb?I^|/Yz<_!qRor}=h'H9A]l RXXq !Ɲ%7+9`(3v2&{V7x+l5;JAŽ^941X}S4%*o ž.whZs8QMPh*7,)Vy9̳A݆.E|߫&)Ҝ)byg%J|J0,X b_})fułЂz(rŮ$POҙz,r sN^k<7gtחò{%)"F_K* 5\\  L6hS #iZM-@Ӹqzf ZT ގW3K 8{N35 Ӄ7=WL]H_B;~ӵ_:6j1!m)#Rn4΃kUsFny oѕ2IoT2N7 : !-vwA*<]V 5o9{68AQ0UNHȺhUtfx"5}l*g fR;wX F6C%Ѐ0"%]8'F?)G,QC:`{`s,z 7Ծ$& =DX4͊LU؟H߰ ν7͔YH%v:ljȡU DV^h51y|N ѨD2$#rLKd|*7ޯeppU4k'l*}tl۴]☉GCn5Mc}IN\br9h$]tsx@tfU$LPSw'>Vym$.7im]lz஘I`):۽BTG;yjcQ8«#͖cDDzxqg>qfYEWx&N tib J,1\T="Iiol# D!Y<8cb ~.,$b{QhhAwqڄtQVJ 54Nqx#dSiV`@5' q̿/$ ٹ╚dskG5U7q]y/B%4Ʌ~1U&8v m.t8@!!oOΔZ ;?>lDB^Q_=uJYj3*hcR9,}o͔!d$`dv?y4OBS9ddV^1vYuTn:LaW=XE!Z.Ax h @슩alnŠ A}6yw7@rRx/V` BmeRJ.KbfT>!Ϊ‚F^\tSVIÌ⒁#x\*-ܣtښY~H C"!! Hi\w_yp(N!w8_לoIWc;Y0;Nb8puRPV ki5f@Ā\-"Be&t:,.1Q`~o`{ΰnD/:4dN =裊65&P|uZډDPM zF`qDF ƿhJ8QN 5iWxhz{ @E*kQAݚT@S0ڠyv&Lb3T͗n\˶|i9w#q-L rm4@,.a{ }:fQ/3[HG ;W1HȂ`}x_AUR>~p؈` ΧkS*"Xi'&ї9h.f@F΍Yt[a `* =FPQ:_bg9~xzKt7YOaw; Hkl:١YoB6x'=RS-\xLyI3Pt=&Zl Ե4LnS/ɾ'Scrm/_jȯHGoVoG?t޵&ɩ]| H/c-ʞ +6(_2b܂<^a1s8ZYɸ> ^KP,P92S椆ɰ D?x!/ < e(7SԠeL |m8wi;t6 wm 0#ς j{9C9\CN')e i!?>Ycߨcw U>;2hMGl%0TEJG/ڼtň`ZyxEX]-0lsonBtM:7ǁe=I"}%L. wMNANv_̻p!.3462v'R )[M9GH'ҵ$ϿHփv$=z٩Zddn˻యlx``{hL Va~g NOޥ8z S"k>W dUpN_/|P*:dcXbnvA[neJ("AɃlܙmE쬪֞y ]y~/ٗ08HDѐRlZxOm)Ν_p"+}l1 r/=qYOߘq-lUa}- cF:06jh) E6ݱ$aptL F96dq$z[0F5m %9`^dH7ifX_|Uj(K7W#V9" `V.Ti~XFg%ko1I(*#ͺTJ%{ϾA!k'QsnU& [M6횶 *{^E|$6iq:LgZY}a4toGV55> 6Zy2T vbQ~tƏ7}^%i>$|7(}?EkG("d,D{ϫQ:DwLy)^o:+y~4طF=Sn׵[aꊳj_{R&ʣP|2УXۉz7, 3]K 02=ff+E[f7GN(Ah{2(iav{=6NmTTU]9`IN?*Ɵ$)ƻ-cՅ]YV~q7lO,,}Rq8;N Ezar.F,vF&?#rɅ̍L+ꚥo&dh*YKVI+GɄXaZ\~t9'W8,"'RW=#m|GhnBPsIb2K2(ԟV.j eӽ܃w$wu3zҳ.1jF< Pw$|;@1^T& ŻT4Lma5I,7T8:DmJgyOL0 OO$W7PE`ĩF7 ƼsƓ"H&aЫJ-F GZvDc Udñn[3ၙ."2\We\dI, lϜB)i&J0?.r:}S, 燛#Js6A* |Jˁ4c8)\k_4QҒ4Mzk.rpoQU&ˋ->%Q,`^$3HW2Z#_7ӽSǐ7U )O\絀=llፂe"㿔 5ggeH-C<N FYR|˥zZ@s -l'YҸ^mEo7pnIV\n)E8V:AcjGqedƳ2$Пn Oq_,uUy[W]b=mцABg; `0pk-{5@6۰7wEU0,k%%hdQŷp:+SJX^DWvf"`]af<-> 6y9=oW?BOi?+Fah6G1p.ͳܺjcF>;Hӌ2΋ZaJpx0#,'AZ^:z4?JݰkA>OP).=BPIԼf呚@ք; >a :(tn6q፯ۻ>"RjE[0V3*pdw&ƶ+Cq+<;M7uG8h=/.g ~8fӈ$oS@\Z>Ԣ*,|Wݩ ʚ.Z?"e+ɕvժT9jrnURǘaqt<ڞܷ0,n0FcTy4M<'duȫayyko*z_0:_n7 S/ +bX0HJ+'&g{viB(B~)kg2(an;s3Ze-`](Rd$+sxiH/)UX}kU'3! tqzADZD*Zf¿֦QggŝoQ@pZ8qY*% ;\ ![Mkgm3(clV1'3xynEB=3N-̰?,\ofl\zMeS,\r lGߡXHgx~,h7Fn':F_6`-lY=2vا1l4o"@Y ^3'% @37+5 0m_T1e G CxY&%UdI釁YY&whfӿIDftZ+(کϖfXc;3ߙ>ʈ'Ҵ^`rSs#yX=հ]IǗ.1 d,H-j $ dtd!LJyJ̱WKwc~"> pҳ=! &pS,sL?LRޠҋOk;Y `#^>E49\LRMC&)ζV}l+QN tzG2ߏw[fk4~!E۲#TAW\ߘIu)eBRDL1wl#~.l'4;ON.6cs\^@2oW@J]$=lXZqU\D`z0[֋9Ec,OƨaB7\ !VUMil\#H@"?R'aK+5PcU/f2R߀[mm[;R9ZajMbO$Mu7J#Ze637^֟E>*H֪m&*]>زG$"8KC"J>$γ}S6&ޝ 9Do4pHaQM,Mz2*[SK}: kx)7Q"fV[&]n:^>PXEඁ-j(NI_XHHdRx|Ӧx<0fi'uQ͆ŨCi܌8F^GP4.\FKA/7h 0!ʇ ;:^b]qPI%Qle(*<8G/OEJkӅbQ=ldN$vן8LpZHtURg4/_]_x8{HTEs

Xs=srv֔Z &),Mm8>T\y\ o2i]8̰PGww8EI8~wQt=rNBm3ہ)s5TɝܽHEV~2ڧ4`:^snClpKxI!s+$nш) l2'r\Iu{`CO}1_ɑw ITOYN3y*-bMނaNJ6Rҿ~2Qy luXŢ X܇UQLɂMuXIͦJ qb0ybZZC~wpʹ@j 韎H S3c5Jj76ڣ^Cb\a4.װ i2DQwD bjHZoH/$ы1K%SSO-7k~X\${7d6"ey^YQ.}Ak5||I]orɉ%)H拑0@.{łovMӯhi|,xŹ=B1A|a+}ngnbMȸVbQ0xoLYRUcgJX%"BNP&G*uN;H0JmٗI7dpP!uGh1u X׌ V@{$|~4)RQm="KV01ZA싥;?NҚtt 9|S >0[%E,TɰvHB?s}@~tOƾtVQy  e7n8}vǥlX0Ɇ.H])!7FmtQyD>b ^R!]"}[E.z<~ԛf)`cZI(8L(b0 +_{#`l:ci]Vt vMrq~7a%l:14Y8WK y❣DQ g4D-ImY&w;ܗ? hMGmNT?"вDYt=I.]_\+x?Nę/KO;@Z P=EfZ5{~nl<`4G3Uܶsgo<]CW-*$~sXCiDJyjj'UY}w6鍋(שBl Jo'3&L X[eJd^߅%M 9Z C˞٤7'ժtbuH7㝐*ݮ1OH0` vɆ  CYH&%F9iTG[bZ C dtfHm-!O.֔dx6OChT%A0:`V+\ O"Ճ7GOӷ,Gwy?O,&:GD#D-_{h@I"riQS~nctqT'E(W(6 tț?P3gzōAhyC:[vlB{a:|c"e'DHin8wл,ZO Z&<f7":Lkڤ Nq/4)^C-t}|{j[rh=HbG0JN> z<[Wr |9>$.;?O݉dpױK6ݚ][+_tgEb'ᾐyvlxOj+KRJ;4!N363HJ q~>ۨ/R,5߮KRtK k*D@1SRd>jnD q>~hl6]s=Lyx?quU2TYM=! UH> `ZRHl)&M4V_~cU(euOGEJ %S\h3/B.~& gl $΢ebJ1֊~$CU#?fFxE#=$^&ǎ4f~.*j~q=%͐+X@TWf_ 7UCm=:#SH[΂(xbEՆOŝJt*R2f)zl ⽐.iJo*?rrvtm{j2eFW :*oIs[vqHRÄWH lЬAB{~c8TN|A\i)euMЕafS蛅R=#b+@$u!(>.oO\&0;.` t /1׳a(U&uZFP ym\oZ2FΏK~zZ!@2ɇ{~3oD!3swk. Ad\Y0mUW) S=騢l[@kLR%w.ߊ2W8Kg({/TE APkD|r4CTcy(0P}ͽyVV,u9Y1+!@RB},}Ħ\Ks1[Wȇ-2` {T(-ֹ/h~70e= d&w@U'-lUT"]rt/C\o`,@&Uo$n@U2.ڪЯ%=c~RiŠk:}__u^9?K',Y*Ou9웙C3rQ mkj5唀u4r]H)`fiXCD:mBì'%"^ф0i @ߝf5kj/.I,”L%I8)sXJr=%wFy].Nur!L 03bH ,5nޭؼ,PcuXn+yKj{u,O5XBD ) O\XhRybQ̬ؗN䇢`&E1uq`ofխPܴYus`OsR]n2,8\0d$2#mȕ] rnӬ?_uV8Z2eej3\D:Bdc8lOj5E4SZB."TBp[oSn[8l)YwhR՘W֜5J*wƆBQ5lwx XE Tg~ݕivuYً)L ]Sd >c ڼ7ty샵t<ȧ}axXr}d{n+a<΄<1I41p&$kKUʅuD S){2>kVOYf#f[h= ̣x|d û3mb= TQN)v/p;az@jt|+$~:RRQ;Jo`5ǿZx n9^v}&>lw {FHy#Mo[빬ÿ/a<`%QW Bij qW[XdWѲ]bRwדL]AVU5-ޮSsV`r@9޽'1 Aae%Uf1*$i7Sۃ=.g=|{h)v /i\TXgg"7 r9훍) H eDMLq~.H|[ڦIZ:):Qu pH 1ε'_'I- ͶD%diV}4ʘRO&իnf159Ej]0pQ% pDN`9>N|魟2 6&qrzwdԋ& z&#F}G?bPMkw"! Tq?d^)JS%474e%7TZ }q73'bm߬X8]'ܿ ]}np+v"؎ ψjOGMdH1D cD$J5.-쬙r C^+\Pn,> AzenCym*Qy`Jɕ1Fik;r1o\pCylY \ryЭq 4LŇJtL݊P}Vr!VbCӒtPҝjDkbU:7_^.H]V4qxCV Ce;d\8km>KڡCC,:7{tO!λ'eX%K| 0ئ&<ngC \uo (N@im+3c]zW֫V:VQ&Xf*U {jo2ef`Jͧ?׺9baA~\}!ŏ(t7 Yԉ@QzoB?s҇( jVxm񖵛2yָԈ؂h)OcgeO@ʏ.:B @l;F/. _6))ʸ 'с6Bóg:#:KVw/(vm"͵ fSjzoxig }i}#sF)9MXV+TP~?eʛm (B_%`3^lbApJ;Fmxl[#P/? Tz=%%`b>&Ʒ*o]HKɒB8Qz5'8/3ʳ83oİ5Me^v3Ѕş%+kBTܬXV F)4OHM(2\E 4=i7wu]FR[ֳ( KI+VQ eݦw/T :w`ZY:xDMlURLgcsr^ZI쳚0y']G,Psڕ8!$eZ˂N+yX7rJ| "Bç-7 2_%m2E4lǞ1xLBTkǩ6Vb''<3ܣrD.p[/T~y.F3:G<4p@ꏠSko2t_0r>|KWu[a<"ND89.=BD"3kVF!xYVJjVݨmmBHv p/|khjr}ܬ6eis]%ld_9x veLJ8dz1RX:pξ7GxY+E/:vQSJgbb,{NlpIJ$$vѮ 7N4.f|=/EkN\n垣u 9_\_c 4G6hc2#8uDm8؇s#KY2"4kl@Eu5n= { _,kīZ6H3 JcYn7( bW tnW:;J>N~al9߽t߾וJ f pN~(7!;?,/5j+&u%Sح χѪj0-QCf4$>INfXS UpY>]LZ݆/$$vVErĤ;hZ%1@9T&sYn)&$D6Sod.LTˆRB)Z8ȗ:oD7PI( 8Cey*~w7%Sc8:lM, {?z@fjbr9J=NTO>/2^5hT&T;b4]@mE1u.yt2#v"Eyi4ϜfVʘK7a*HIdw1DB0d!Q;/S^ԌM=t~&#Z@ݐ gb-d Ț]ީqـpr/x`!4<dk yj66T'¬j,'S|:+ts]/BEu+! -q v(P4V< 6ŋpz_:8ľav"08{mCmq[_<;~~,Gp1 V7ƌ)% &db{˓'|BdJH$-[Zf \շ`}hu-doյ :@ 4:MFL鮡g_*,= ';`e\|ӰTt3 .u+xIƫcPo¿6`Rj $虀r?$ Ì -i'Ղzn :Vx;40# c/6gX^DAuʿqxYx֏.1J]`laHt-NxQ I-"kkW0 5~y:\aT22t<ѼcFH*L{$$ڙ poe^ c%EF4S՗Lxɠ_Wp|0p'L'`~1fLvcu7TqŴO[88l e7ks&i?ڙ|%c(+?Nov Xr9.YMJ&BŪC> &ntV;a登(*k,0)APdf W-_ˆRQnGɗmS=0 B4=ĢMN{b$4QVdSrؼ˖@ /FFɠPD}Z5 6'"VԬJt%SOvuGȻ@|9A),tNv?`|{v?/p$`@ R}h;u68>Sبͬd"<{XpHf?h`r~8 $wuٛJތm΍3W$8͕פkop4B-5]ڇEښ8eP}M"÷o,d[ݷ8e;Y!@=щ eߴ<~iZ'2D҉X4 }~Ѱ.17lbYtUNP%zg}f-0]kըR2s\3F럺 ŁO0HB>Jm]}΃t&PCo(z$:c_ ո"-a0zmHmPm>ah؍F (ҥ>O5hY֏h" 4ûѥ5wkY8Ov+5x-Q:~a"|!?E/3mJ :Wp*=ӂXy.um',6K)m kl'Y ZQ8ARBfT" cWH)p]$iPgv4Gy| Ÿ2c::B_+CVՁOQP3k$oqN)ZӚ?%^}yM()yԡ H< U*R6Q0wTR*ρ69ElhG)u&rˤILjB5UtLSVTB19R/ܡ=ǜ)aR-ӥ{PEOZݜY&'$!i$=yPAl"m91g@i_%)SWx=5]M3thQ($5K2GtM&*^:<jr8nJ+* 0]/@M3'46n 7 /ON׉MђWTn ʮH*k3|T\'"Sg`#'x9۪rhJDHm,9C >Ғ]88(Q/ gAjYҒ׳ n?(r'9#{qYA؊t|xkHӯ|ALPRa)"U"&PeVWƄU ui؆Y,(: 3 r0BE@i$2D&\Sk=&Hmz_'50 9r#{ϒ0ɰ>'Q+>bЃۙgE?5el;|?d/ߊ5\4 5=cAg% 3dΥ~ \^>VzM_Pr-?+ǘVXR;`}tW%uqWuG5B~:Llʬu%k\frCmGIKP%Y: 2[Vu7΋-Q)dGQfc K7XVYMKB[ч9TOR5R1W8uǁ94J -uQ"RvO[u/7Kؕ{E8:}=kE@V<cߟuk:SehJlfQ,#J:=VL8tk1mj"(•; 4 .x\C#VFQ$@=o'K=g$\Q%| F{i^f> JY|,"#?@)QmV]2=oBRGM^ l#}an}1pVIJHN[AwG!T#LG{¾C)CqRVOmǪQCՐċc`IhoM&7P+2y_v.SW|˲gfAjiB0k>oIj$tHQnxQCOOREP`\-(Qj\$d2%{(X.cN zLE52c}m2sq֨59zUؐ 8TCzQ9[~! b$3h1k2hopFN ??sϲP`e69Gխp;&ˀܑ.Յ4]̚ ̣7`G7&n-0^gјӻvy3{)j:ƕ{H%"zS(e:_Z&m ).;P K}1mzhGVygSsC3WۈAJ'bkè*gK|Js l.oB^'K F߃Jh-IwA /3ji@dq$ƚRZb(3[hF3(A:R4x6`!Wd @ދÎ I933VGafRleQ?{'3&,HF…c[%7>남XDB7@F: Bw埢AL(;^o!R:mf ^| Gˊ"~}W,(^XjuUUEoɕ +:5iIb1υ2zǭ;]l]-7FuWV~Շ C &ꄭϼO?K{{_$S>2 ܔ BilUnrOg9*joC>"e4=731|Oꅸ2AhyEad6w\O\[1zOO lqa}Eq4A B|.B_!^d뺉ѷ<R2Ê;>0VoÀ z24e!m/;cH(/n ÔC8{׿XO(h􃯀 <^F{2`i1}6Ъ.4ʋo}Fy W(Z3 n;=ZZ/Y퇨Oo`%1SKU`4楆'H&s>23>DUqQ5c F:(F5!<}/@p 8XKZXG1 ;EG<[ͧ3Su55V1G6G2Pa^H֑}gF1H *X9C3%㥖6Tnۿ0v1w%z> b'E'ؤ7]䏇4\{gg7K'.9 ?@%8 :6 %tjCJѪ$=ZWdu?`*ĩAUoQ"O#Љ@BMDy X`rVHK\Onkنj$Ba)?Ÿl+TX>A: ]=|En`. @t `ylH7')Ye*ha_TtJ<l^|JwTq'%B׭ﭸ$:t*OfNppyPj[tt/)f[B(ZsD~2|F{wmtji0K[>E#[P` r^qebsЗ?wJ68:~ysnL ̩u#`j<͢_$2t{zdi}!ޥ'JVzJ閍E b}!ܐj2m 򻯙ѡM"w ˒BN8[qxU{Ӵ+_Z΄nXs\7|d &]$" "L|ox~Njd:VN@-z)`7^xBa\xJF!Q ُ?{A s_).I%*TgNkAzQۖ1mµSccd55Q2ҾQo;%O \(t}lׇуs 8a:)@O'\ o hm[îUD%yÉ=;iwU |r۟,#MǼ"eS4[ٞ/.oqe.kneB Ry,~h4Bs,sPR}m.ot#!_ a[ٕ)}JR И]XM$~JMv} eC `VKm):X.@.p !VRh ׃{a ڗpzvS/_QF"u"Oi7SO 0BVS} hpbB0Jdct,ҟǻ2v3tAсmsMLH|>"XFhHu~)oϽkk_!~ {np'm@jf(;U.)Hϋ|$lџ|q٣LSS܎ȈRS=a7PTueeº_=-3rSmsg"O 6nB:m"-qc1yLQK L0_q}8h^I[g=ouiy*nl7ұ4 .+7[S*- MqDOWBC{%ay/=LrL`Qh` IW;ZZ?U|QaIY}5cȰ&H1_r].o3n`z7G`ץo e2Bp/],abϊsFʕ툺\ۨ =9WwMO1_O!$x}\0ϭ#f Q 0RKVO1)-qobB!T9G:f3Ź Gyr( q3Bg~'>ϗ9o'Τ c??Rsm&hUZ 3؎Aa^#Q"~RƱQ,^?׆Vt6!xK˚l`ؤOKS.%ϕ)ŻbNLfENUnPvqv>>E:\q?6 HQ\GVjiXz"@5-HѶꃶyT9$Z{શ%hzQʾVc2X. zv#Xl^ŲU5I^C'۩G޼Ԏy:W-"Yad]Hf.tBRBPAqj)nȅB5.w:ĄDž#Ԩ+ g*RԬ>E~KYC ҁ0HRG=SĖ٦w#Ŕc+/S8xgK12(zhFAO3:0 aTMQln(Bea?Ř͂N,[<ƔH`Nt?u'2!ɨ߶{o<v2؎34F$o n  PX0]ƂuŕZaڕV\&Mp5"MOSr&[X%4Gޒagݼ蚣T6`|$>eTCvy?^Ōxt&^7=ql ;ܶ6;~ rl\BhvǸIM<1&cXaY}VP6GY/@HO4_/(#W3cXS;6ڕwr zB %ꟼ$k\F!f.wi6iCwke9746eUY3^f/E/Kdt@μƟaEv7w"*Cv;` >/ ށZOCfLвg%3IxIq_O.9-^aGڋs~JMozj+g$Wi^Я30ؼG7fW0&G^L]b<(0q=^bq]/>1'5ۑokl\ %zx{2HcbK1w)jr VvU8|m_GR*G:ዂSl?D [jGeӔ:>Mv @:ZI;,ٻd_',Y(`rO؈H)cE17šArѾ?CnT/rEI;@̡p1H(=ކ|gex(֝f.'Fަ[Sz3e72z~0lC w`3y>sn-]Z=etU::F)AUqex6~c}&cX 끄ڡhv`b_kĂGqtlU5'ICX'u+'Hm&u%qHRЖK{4ZF2QVih oW-\5ʮPL̘aAwچ @V0`Wj|Ċʺq?4DXY+֟͐>Fc]a5""ڱ̍{ߜLo8kVߴMB;9Z:Cߴl;xX-h#̞N"xͼIsFi@jˍf[ DV~kys(Gu>&.(vY丠w*WM 7Ja~[̠ ~e(I")n*wlܪe-8c*@/QWܜ†4WeK>fª,4  ԽJ,bV<{j #4,)@ó"k66D.]\)١2-=}IzE} +Q:^#/+L>Nh#[JnG4:H [NȡW#)yxকkADPb AUxUXǹ aO Qѻiz)440HkDm r>ζ9zf)ё.VS?| g3 ܣM/-0mحpOל.(/5 g{X:/̏B1 8k).r 90G%_|[L \O\Fa233/^g(Mx>zud|(}$ϯIIP~$ 7v, ]%Mv_ XwP(ĞM3kndzߙhB6tt+ 3҈rjV*lCӰΓ'}Ub-px v] ` 8f싂<1TkcZ._S%v2dFE])]̽D.rK׏_/l˿0W=F$kH8˨jQ7B1+gE\pׁKq9G nm?nd ڄ`Ô=/bOUOUiӎ.'ln0#ح S\ Ot/W~c}69DHljmkF cce{FVjVSJH}瘍Tl-ӨW^y=t"Zb:k_ 3wʸ~R\2cP(xWI.N04Jf~Z MK?Xg MkG FψxOoLCqeԿAMv(4 sW$/lGNtsácNݶ8LJUD-4-z >E\nQ`A[z^&9pX)oyn1ѧJe=r:j?]]l`ĪUo*W '¥)QYAqX7dxF\ AR8>cXƒ&PX_BTua߮F}"bH_XO:@x8DZ> TURٻ#I0Xn@ v+RL8$~+~w?cW543[Qڞ͋)їxpec[3-Z6kP䍝18򶄠nhK{E213PYTVzqjvyLՖn*_kvIYx#Rό(Bݒ;z68B2In6^D\ڏ`t;WgN x4dq6HO0qNu;R)\e$C-,4[rJ)Lh3 b4Ҟs?[<Ěb8f~%K[;Fv-@/"$j1 57 G2?$xCڻqzOljb?eBݳz{j0;ϢoQq2*. u_8TwM54HjNBĶy{Mg+d7;?i7LhR>>0mTss~y+)6 I> (cGkzC&5DlcZq.?{(UPi $ň+=ăEPmCB9$54=wP& kZѠ} E?j.^ӧpi4_@#xV@'H;{̯z7"#^N!. }CbΫM (qd8d@^˶4BAtfkI~cOQH4ǖiwZx5sf0vK\fڬhcuLv|+X^} =n!4q@Yڢ%akæ0'syQVFTB=TYYGd+7$K 3iफ़RYGA(%p~|~HLY~ymM]%/ˆi4)kܜ*ʅ6GR>#eƒ~\BMu?Aw 2z|Q#c,s\B=xGfldA*F^Ye^  h{l:$u.$1"D@>k([HzL_KkQ1.Sn~} i9-_AbkZ( L>*9㘍'C4赑gzDi}<;aNBٵ0}zG;ڊdUJaVH6D!LFNP0 NlSN v|wH[w. utL5 /xӂ2DC[E6n9YQ $Gu#0%m!DPZL!.IrVkx MehA]%i9$lќQ>ͽ,bs`r#Yo/[- mݯRet#kT gGilLjTOm!oM:*žG-N>p' &=f<3?^)f`Nޱ뼖1ܚШD6,+LQ#du[&)\"k3lW - 34{+P=qh@۠]Iөy*ˮ;{<_R /0%9ڄAwaL ^u΋] kF[AS}e, Rdh,vG.^j|s`&! #f1Pp9~y9yWW1Ilro2nJ/ɳ!&e1EŪ>[r6K,OƊM]mu3ɡ3&IFkApϸffG=t'9όY_ٚq+~ gƐEE^ a2-2I'^|PUs Q{E)ETYgyakd&sy|ٳ)GuLU,Y1I5_s?BG@SQs W* .>~Y_AG .}O: lm7X5fc?jz6:ZShO MPn5k+έ,H?*>ye} 6cͺ-X/;P?_+#D@_:nn/[k,[Rjg!Wîuhtg@,?!NG\aMX 8eB7~ T\rHz #PS5&O`zV$y @&a |[ñ7"{L^ Z"7KsC.<곅w6,f/t ^zΧ"ee}0!z}L<:FHpIS8{Z}Q?Ygf XQf0³jj7"Tpu3yCmlLr%-&BD5kM2Lʚ쾔rM\х: L_+:FA I !6<B@>;5dG*cD܏Ź-:^? V#!ϣs~$'$1Kx t-LS6:Y͉w~s{Aa l5u&1JOeYֳ'(PYԟ0yQ#nq-K53̼`[MtTO;EFlEx2'ȯ fA[QB8"k3bSׯk"(P]͢r*|,GQl![Hel_ȶHZ="μ`CƐv9JreҿZWǻLEN~0wHls A%BN`FS,*{dcB(.rXY-tIS?{ 481 ;*_綗ը|&#Y` H?oIuuKcU)`vy_be%zҼ|/`-: ТF<&N( ׀9"z_Y鼏6=t VIe s[*ȃX%''U9Y+y{%F; 绩lEO 9Ӛ/`fMv%^М ;K)WWKOi 67<\*\pz5OK_е~j.V[%xZU oL6[ ^s%)$ېK-ςJeҥav18q}9uComah輝b5};)Ԫ8ǿ`х 9eԕڬf 1&d"7v>M`x=9U}CW藞"P6ܾIt[^l#e>hɰt"0OuA\Kp))NũkwBX{u@2eŜbt|JmPGIXM>Noo䑂?1 wP7:Dmh/sf)WFY+?/5>LJ+Y/Yyh;T#xL Ev :V[`+ fe sewޡmOҴkJ/qfaLf65YxS*01;>w'\l܅kDvor6 %~p!R4`NLb. ɟGY/g:HTo&i(Xx!lPw֯bn%j;CY}lydvJaF#==ba,<żBOhbpXԧ;N{ֈH7XNAApA%&VیZAͅEJCУ1pP#LVV&gƊ6R7#', r-qQ7z Q8\y5'N:PVuHò7Eszqlvt@)-Hx F _']bXadj{ECeAwkoy;. `A P[I)jF‚% vuO{ςCALN-]VbMF5b4d|$յd_?@Q@ԉ%.ڒ]q<:z0vA[R!$@j[u,Q˨|fs?O曄ysF(9Rr8ۣ<>6SzyCg*E-mrn_rݠًX3CKUj_+nÚx>5D?. Gnx+is[c#q.yKكNh54[2szӓm,جDGBi PK+kU F$eSiVl |)rܝ`Iy1_%ܬ-OxZ/TۯERx[XRVu(f#箥 F3 o&WW{ߐe탍* !`Nzٺ/9[YUi);kadž6#]x0"s] X[lek-Pj*DW ^p;./lH0tTAr(FyPf,%*7쾕 hį( ~^ (n9A5}<[.;yQ UcYx'~8U|G!f/_m91G]͵V??)D ig d7=#P`l@ yZfBZ|(f ,_YHԑ ;@J: 7=g4Jٴ*9RWgۘ Kluo0s^>*4ڮKl{9ۢ:vSH]yJ׿@jGwV{B; .;ub#4c?]lf(Emd0+7.2 }"SY&bsגgRUV0 >#j1uW_9 ŢP CWal&7;+2z4^i 9R(ӼO)ki72(U`*L%_f0w~ \o\anu 9ו T2r/هtk!k:T]}4-{/_mBZ) FQ|Ljg#Ռz q)Iܼ'cGB&qn,A`b_̕-vd9 > Vļ}D~u@&KJOK!׵ c'CGWcizqNoׁ. "AMG P2vg&YKn7'#bܱ\!Ȱ aW}toi/ ̴j#3Zœh3ZZ+Zt1\_۵_?zvMHj5U~W{Éz`h32{&'MQLrq/VBF/YսG.({ۧOb9ꚨa\jS?m}YO-tJX-iq٪/~^Mk P^!4B͠>ܐ7A¯'*jͭ*HŃ"l/h ;k} y`]n);_*!)3XA teRHR2K"LhfjfGlj+Sa{g;{[d@zxA:nBG ƨy4 406[/AN! !֑^{ ;"0#@V2 @|>V4`H d_8:Dw@X6"9ϯG2X=8 x &_)ʛ!d՜! -͸P:>>H=J{ E}&ab7d7LZA*e_ӵ="B+R}*w8&hV D <qtx 0v@ 0N ;bM zfx +/+Gn\`)z"1a}(*T݁ގ 5`g(H}U41xywE9 ~FI2lq=q4V& ޯ͢mK<&2:.h;km-B uُrkTU?LͣEs2 lp׍!4]l~bqmG|T{7ƑNC4kW4yy@fHҸC\dϠ?7&|ؾi;f;\夢PO BȌ%YLz$Yjt~Dq$0{9^{=fh݌ nJ v! 3F ߛ?MkװAPEoP<0T+Tl-c?(goqH7"SR3Fr֔G}$ʼnd.#_?gof+\@,:Yb RwqN6-ځc \^؋c+g|i0swC}EJDact9`-_ *lemкb)6:Z g1a{»ASQ@|1pWI'd{Grh}PCmSD&)KUjmT>OҥvڄR.ڐx:F&$F#im;P3jɇ(ٺU4s3("wT9Uax^KP J?!1<=Wa9h=9;dNba5#zT(.g+.$+eSG,\އj[́C Ē24:~N;<^n/4{VҰgl5bus9tk8[)zk wIBسVnK5RK?nYR =ل2܊xH"Ӕ4ވ#l3R ʴ׆Ħ`M"i'jC\H^_i?.7ӣWݵ8 Akqز^u`*x̤gnGly]@^i|ku"8|닚acCO77h.lk'+qDJM;B썃0NQ.6l"NNz KDL]؛!/=HA}ѫ2bJL{S -7O!x4e$\Sܪ@w^^Zq.[G^2T ސ: 0jga^SZ{q"R iXW13`% P! D1V EN%CCEaXeL*6bP&MQѐ p3$Y@-Ї/An-accTF}-!zJk6Ҷav#|Y!eT/a6~^k 髵C3Ţ{8G҅*ςZPv j`[[ A-) ]c 9u|i4[NӂY]3VlU7䛨M̮?t_:DT,=/;֝{byT,5ح: ~|#K*:bcLĉECΆY0`Ҿj⿊^4mȍb7=\<<(ޛ[sr&ו~c B 8.U&a`px^I&J9Px6h>D* )[";736Z"TD6'&2 5&)|d] Do?=Fc.lL]yXW^'j6?sE>.;g0)d?;A3jbQmQO]nէlNg&9_ fը7#r򶨿#>{:#U-sHYrns,}a zDLnpuS_HFP2o0=rRUur)JBGuIӐ#sg#g AIj+wdMթT( <|9.!+0vWeI!}K/CF DM)c3  /J" )xh.h߯V+'P2<a+" t;?ƠY}ü^q:(UDqE@!z\+ zE(*Y 1+!Ro( (̼)m *(, hcd} O Xnj,~sf]#g}s7bX5b&\+tsƾd ]sgh+O*D1G1]h`ھZӪU+1/FEH.c:F6NՂ[>6t,ݶ#/ :h:꽑fe<3]rܻ T#ODU|8]жjwwG$6J ]xq=oNԫc䖡z"?^gnDYBҗv 4"2T 8, loa!vPITbiZu&4?3C7 wƃ2Jg(ǣxwA4|oL'5dulDž:_FL:PB!g_ .,,N\V4~( |Xtvo_~/@90[$XJiXac1+76q~tP_z.v;%*YfVPʐWӷwjszz 0OӸrCSIm뒛D.4<+ᎄ8) Av5\96+Za Lǒ+H4pp{DsξD5Eϛ =0Nw3Փ5#ITs ,{xApdC4Rׯ " 쬿dJkZOi#ѩiȲu4!,bqCP4}ƷݝNWU oV2E/$α1F&TaO]%[=΃I&sP){վ2a@ee 1:e.d[wZ\-87aGdlWs o&cIP WgלQD+OI?#zUF⮰YTXYb7ۇ{#Id-}i@a\z;t` Pzvv/_B_ K@N'Zs#V&&/_T4TB" mjԓ3:s=DN:,`AO,d%:/-ÏW|Q&ֲ:e5kbdbۗkɒSp'Ep݇^_8 rRHf 55mc3  cqXU"<.O?8=m$z?3.cH/_sb~E9ɼlwv?d䍍S07r%e 9oѝ Qt * #aKj@ A2CC1x7nT@ {D"iT!kPt/8-b9iQ(uIC0g5cOmO uU'I9n;ЫF\:l [t1sm/C8&m Se'!F%#f?%$'/ }2:r+;rR;J`Y+%1[튭E*5Z!QX;NA@$!~IIXk6 Ruq{їa7WК?+Z4$/:.i꓂x14Z>mq4HCDFM8܂eDmHO.TrQ!fQ ^><]\䤜fH 5@,>nmN`]/\V[AP!~8s2h@{%^?O%n]SK2 b|ImǓm.{UaCR ALt4N1h/y<# ..T&XRC&|A]Lc:\{y.׊nuA猁ݘ5UtYhFѭK}|5 rG$-O?Dk|a*qf _i;Kܭ;]@AsxmGȠ3s1 Bo`PkhhWZz˿!t>) _ౝb+0rzNrvArL[DL~eQՆ@JM%Sm3%}S♖5@1\ϻe8{CO6 2۳K# &6Lɇ;Gh]j1 ~*ڶ<=s*|u4/"O7C4cDŽ\HyK)_-t8?FCwve1Ay\>x Ts00 jR23SQn?TD,/;#_`t ,b~ά\(+TJW[虑eAĆ;iA'\Tk홺⩏UvĞ]ߍnQwrh2ek^ڀ,\|ScPRFj( uUDN8j|)VVwl}XUBm᾵ÀUŶSF[ 0BD~tI4H37$4<>g&-dTrt.}a#m>5^/*J%N2Uoaljäj^D6G]*VI4@Ts%L &~{iTr}ŒɒUBucՋL YTBi)Iy,e,1;lYޛ9j7䫒%Y<-q֚۫GQ|C˳ [lQ]PwMbiZ82gX;ktshLCf+eP <0u)OKG'ZJ0cB^M)Q4Շl*f_((&4Z,??vss6nCE,{B1OQ%аZE{NN jڡ~7o:D\_׾s{c=)rjݳb)-GGpfP4gzCm(x*F#^St|i' D`H;f<593% *s!+xGW8 h<ؚ[?9gZyXWd4T7G]*+bVh;ky@.< {^̬U{8zmM %J9jb؀8@GCj_$}tyEL0u DYcL* Lf.P M UϜ3r+Nr|ެdքܵĎ$^i.T: ><5*t'ONE?TQ^Mwm]ߵUx; "ݲGĄ o~*JL$r F#bξTmy+re}l6eNc\<-}C cSV|}9HcE if:nL3R(җJg2{ !ߥTM-B~l.lCL-L}3\VS#Q&KGG4~9E4-:Fb~Lcm|ĸRa*1y"b)d#2yc)O!0!s9tN1}7A,`jؘ;g|ӕ~bF4"xTk#ݵu,9xr0dĪ~sUDPcJӵF#ܯt_cdtahfG`ׁ>J6џ-W:l`_kǠPhRWs]7ߞLn[m#S! gҗ ll3͏C@UmfHl6L !0Cb*69"R {rc2psuN-VYqtBQ8}xvɡa\`2(TjOԯ8O7qVqt~Qߊmnis9BڌV y?Zޅg}O_t´Ku=#&AIEp(rr(WS] :M£獳 &Հӻx4ӵ~ob - C \끏v(.guc6d MVaE<c4QZJV1 Z(0}l]T7XPX㆑XR|rU0 5RQ0O;CYO|=FƧ1\Lyu F wqf _݄ǵEQ9ǒP/HG3AcU.H-K07:(~6C{|uCtjԣX 5D`Jf8a]*[_Tӏ.$$F\7v@gg!PUJ!,i8痟GMR/ n5f@_iNj"y[RݲД~x)!<>H :eSSČ*[:6Q9|N #vĝR3޼įI/#E}// G{Qޗ%)kF;cQL/4i -aOG Gᮖ?ob1K稜Ɗ:⎡9fEY$m@0rhay4hzM{G,禽l=m)SD.D褱-{iՆ7밷 林0~ oiiڭd,lFgčŝ@bUQ$yAc̈ J ۇb3Ety`S3t^ZEd`h: 7O)`#zJQf"ɂG)\MH+I #Zrי2wC+ }h>"L_YJu^ ךdK3tDmw+<'L}ZaHLAm {J>l1@ܵAnvIIuJHcY5_ʨQݥG`(ab$eAi4d@z6uylTc8dĪąaQLrUA2 //+!+%7o6DNjwZ%ɻ,5ǤYS0F~] %%'rv<F;0cptL5.J{YZ*ԱqUq:vOr3FSHhgE0eܻȒ_=L0AmwIvŵ8Ca+]]2RaS>^\TY/aڂ 1]3vB|Sm[SP:ޑu;i}e]"IQc{žsL t}ItX(P o1u!/zm-|s}L+ 6"Kʁ#}%t`VMFMbޗ.bϼM l3 TG(CY%Յ^tP+%BajO@8)S:<m-<F rojg5zv~QƚVs2ZFM[Yve'1mEKfr__a.nt^BꚌ:њN݋-piԏE:]tdW`x 9i<DuNr].ym V!&}MR#UpY/c=+*H_њ?U.p/-1 y=­{|^M36 T1{uxĕAE1TߡEV,Sm[O[. uwFxUpu)ڭ=xdEaVjFp+sK#11b5d7uMnOƬi+ꤝ{8{Z/yO(5}`㞔XQr¬rh;/-vGE=ߚ4}*8ز]oq{[r3wm`a5p2gYPNr?QIZ=Jivp'G9}%sz{_Gϗw QkuQn@S)sL |h+afud49TJge '^>U?8Hq4}CEocd EȘS7^ZɏYAse{g09SމKYI8FKU5eWWϹ䗩 rq,rZ?mjᙿA<J?9LY!c[\$"+w+r\ j!{9N0ZL]e0SC:{z024{Ff[U+#.S؟.-1ڲip]hS-Ip&&;7 yl{pzt/_:R=V@{[_E᷐ZiY@"B,U9Lczw.GWh|<1f(Oynrz{ ^ƾIr]xa/+VS6V*xr)$IsqS)}wsB I@7ڍnBobYkWHKq~>'h^z%]ʐ/5Q-N~$>+BGPjkAS#/h- 3>u~DS]~z}t%dT^\9q'By)&9D'(f_j̾6KOl@P5̬NY +r8%4G#Z|z r x%ƶr&$(d\oL IkW6 N0 沴jP_JaDJMhVGvqB=zAC%>oidt:yTL/O~vR&Ks!`PE~_48LEd=3eӊl':>2_m^ئH 9,Ånghmy[Ao [kh hGxafǞ*xIzL,a`DhC2=\Aeza]fk![;f>g̢mA ,FJYjCRTa:?X"Х/;M^$LN]@eW5% W|`r]($ֆ=GpQhF˱HWa1kgD(i9a\lϡdqg h!kĸ*Y0 "RGD{ELq`Wz([Z n ^ IV9?OgЪccǣ𹂺=Qlڶ7`v.7S[/qDz#6R7DCQ%y0k[eȶH ( !_'f*]^:18*W`҃LF.9 iFT@rGN۶͇]ٱ9p0e$#Y٧)4 ֑g&;81N! pDŽnX?{ 3.gS:Ν:=wGXw:p-S}TDž]WOtvJ$hKpޕ$!{AArPl a?ep]`?bLɩ;KvGf4y,S"&"_ȳ^߿!VP,~m3F1BǘK%*!ȞdkFE:jJ,%z C6=J I3fo#WP9!J 8!F?qQt.A@m*@"vlv!ܨ^๟͏[zo.]2cxSiEo0갨 1X4?n 칾H\8Ycl,֑.Eꖠj0iACLJ~.rM}G`Pzp\^Ĕ̍[;y\+Nz?೧sݛ۸d捷go+TPպH=RĐ">f$FBN%_TW'X>ۢkkiN3~k[,lD(aH(2/_V|/%q IcOSyךU *E(u;&UMޠzCJpz\q*X> vHN< W͒YvᗀWI 5)_?obL1t2\3\{b]b|{k[c#siYw)Ep|8gy*8h+>MnEE܊ bNeU< }7R›mדp+[(uϔa@(dɈl:}O*xQ8Qyӕe0&%uVK4I(6eo8 U]XAoySE#6l L-j>BW-|JGhr_I_;x:GYYLD߰dOQwF3v_KWKVg0˼RE .Q/o ҽJu⪬A 9H~;g2 "%L=E$ƕLɰ;I0X]Эm2ӱvre6ܦE 땞[Yw9᩿^N,@-:R`  Cd1}~*3>V,Y3-t!)dJCM?"55#ˡ%7k@*>(Rrp&9ҧRJ~NrH9tWȬBd<Ȧ5ajb*.IDC9]Д^ׅTJ N̡ϦGw%Sܩˆ5Gۜ^lp90݌ͩ?KP"̔t{3pZBtd[BLgrlxkX'-OIʸ}E: VZ[d= 2 j&E =D0IJ!{z*XQFqK8W¡0@_  rlS4݅hXRU_ATJzT8*FY0xpQNR?JpJ .#`a0* ,Lf=-N6ބ28oP?#I&iUWڷ?-MH]b84qnI*3ԻǴߺPjQS#6CHU)5`P'M)g:ބ Ǥ`{_aV+uwgz-\һB=bDެڭl$U[dEq`LĀu3ZlA,$l%cA+Mŀ60fnj𹶠ܵ]oMu.cY>'8יvX5 MĞ@Bۯ|f˥{w!6݁'Xyմ^ ?rk[oB -E7f(OxN?]@1ZOZ*QM u!>ˁЪIu MeaR1Zzү==tnalNL@9!jmKsPσ*mVaRćT<%\z30|ϵ5yM!FiKFU갪!+(\&5@mETʫOǶWN0d~`[λ-{$.\{ %`:B.nuR>,E%z8 }TF>'s]p.[C`,S` H w0~wd9~FS F5Qi PϧHS/.$bhp~x!$Am ba.䈐s=EC 46W\P与 Ԇ ԡV9+uȪdJuTssiG]#xwOa?In= fax*wi-(t4\Ď)AU !$&Ոo znl?JJUpbw(k`n8OQѠꨃKܓKKMz%))E?nn!2}KfE3Pӿ&,GSPW QzS/JkS8K|{SdD d3R^CY3 9Gtu?P&+~}Pr/!B0rra ;{DZ $H5 9dO{WC{OIO_v̠&# -*8Ps#M@f0rC :RVn ph% Y<&F]nڳ5-O_ d|E t=83)-{Ȇ-۝.KQ?TR[1Cy~\*h\H:aןpwNd.P,AXң^rΞ큘r0*~~OH#,A(nzp7S+EyB3"ko}4X4D%`mK_q2(N(ω 2SN%5cp~ 5(T>wT;Vq=#uF cv7<1y=O|Xj15Xob'I8S#׫ymǀ#ry1sz/AƬ .JYv}~6NG8O&Θg|`6\ϒi5IK"r(viklQ^@K?n( FkD966I+mx, vP.$MB :Z| ;AH!8p~Gw@-}+ Q8qwC0½9u)|~ •Y ۯQͱf{/) M߿ ׳@rl&<;q@> kQDB1V( _Rm(w٭ IsvfM4 wLB͆C]68hF*o'O$=1`EE2g1+}|\B4휆v-B|tCLאSgϠۏZ ݽ[w"Bמ<H ,y-%,O ^!yg=QTK4|-!f ug*iW^՘v Kwt#K4䑻;1^ԔYGUuZ]7`tƧϙK{ c#x Aw@7l[ǂƒw 'g5(\Ar _L3Zť13K`(@4vy0we/bV|s-kp㸸,ODFuE0ċ˜vA=ipk{UnCJBAYH_=o Mِvl!{l25&kQk^Jޘh8)_u]x-ɷ¼7mS ]l EH)'˭ٯF!RX6XT(6\}I?tȥZ*<@셶H %hoo(t4ҐVb SqWG EK~ƥ=3)d i?2vKe뎀j Eyڽ_{X2Wvi^Hq"'Gȝ;RJ2f vG&nvK2zvقlOr^NOkDz{t{w̍?$t|}qgw_qE%S|"T>\\(XkM\k&ADY2%fpnmd<,cTIǻ4$jљd:} ݩ(MpEOn=ŶZ7ې}R^i<^^x@|ߐ'{ӤyL.r~׼ヵkB&`SFp](VB"pGMum8L򏔾j5Ť +b./WDIqJ LE!Bct'#.s= H,-SF|zK**R4fNnns; f1 {s^ zOovb¼QJ^q8K99֮OZ4a!.TP=-Ia~/E+osNT~13%k*|$kk?[IFk׌+*З>~JpQh{Y*ߥFəwj1C0D\ i۔L2$-3}=DBpqkN;ѧ1} $Ξ= 6d˛#ƭ(hSKLD1s8Zq,ZrzH #{Uou!&&zLiOnIDW _+HFlJ ~Yvg_3}g7kmxȜW͑nԚ;2"*z dԱBH`{kOv_ N M[!>[?b\1TwdaxMWd6`f98mA쓶@yaJHk$(gܿhIی,5в?@l,+1EygJ Gq#sQ< pg5򷤿"3Ǡ^$F O:\ɬG&(?ϔC+$8??~Hf1c=S̓hR'߃vޣԋ?l9 0/R&Ȅd)A1Ս`1+ж0/D(4#Haw9*L؞DzuRr& !zc,<36 GhFnrgfΦ3Eǖ[L^>զwJK]R?D%2kţr&}N~r+Yf<૳ĄU- pi%(krBpf==90JUIw?R̴ÖbJ9.OlJ7(Bw97Fhyx)eC~% gwL-c\"J4) =xYFu!aN]=X0ox~,U3Gx9$QѶEJDVFm;/)e[ױݞeJ2iXnL}`" SwepS$`L1ӭ\|􏺪 h6 (p"&qf饳\CD%.rB~F?LfG;ԑlBVTcş$T,*m-,݉<}#!!+T SLmһegdcq/9H ~Ez[\\$fJjp)Inq)QKX%oHه`feY#{ªe߈|*^LxQ,~4SIN W.`dX,̖Xh3\~51KvPSݭEjǥ5Eaꙑmc8l @ޭI)aeƼ^} #$l$H" .5<EeC"2Ć&3cϵĀ"t̘yF@[FؙJxF2bvo}>u1f נּ|غGZ6$4q_(rD xϮqd/h9["+avrj)j2uvU Vk.$J&p^2JA~vv))eJ=Fwm毪aW ~pdCK$ ak/{lYj-@Ҭw../H"bٕ8DNK?IV2'Bp8깅->ԵʁIa;iO VBn%oar UV@&M+y/![3rLβK6F7(Ϗ| kk# `ŀK4<.ةd?Y^˰ԢN B89lRǑ׷z{(]6w`1C]Iy &KP~j_(oO_I# >1{8m!Xnul, L3&ܯu"=,v1g:ꀧ-#_2ڡ"@Pnav1h:QIw6tigBH`8VRZoW;n>M߸Ep[*Ly`Gc$ޡ.BL/~z-R|a5ܨNM >3rQ^J Q] /7\Sc~bUk.MzxEȭ&4oj;-3201]HQ .m.',U[+pm>|MF)S!n_d ʨf@:C"sItq (Zy=lFHfܞ$Z51 `9UIk6@ )trvhnȫ= rxCKth>q"ZR-ROeL!:b6񢧴In.iF|0N, Q\|C&CF'Nǎgٳ͚l^]pVID+p(l/tj tD O2xUsp+5]K8X=b67*QxrE9WY@s`qlR㴵UxLI "z:uVZJ|F9S[$nó^H-Vn/|ˡ]#T% #Ι])JDz 2'>dXiU] , RAמ0?7x3Tg82rw=\ktxօc!ym˵e/E]g^ \ڞ-@ SStm723~ ;O |= _KAAќ7ds2ZAY̿heշz@T(7 f)]6\z7ڎhY~ H#Ɋ`T(D T-){!Fm z7`ZXA>PtY9bHzn΍̻G+c/*pFx 3 5i2'!GFC?dxO&En˰Dx5)4K)ė3MvKe\ۭzY7h~TDjr5-'|&)pk<0u|-]W҇ T_d" ;\̞_nқaг xlPvidc;5&ȋُbٸ[kş_5%T="tvIPJ%̯jX3۴w+}ZiIgN%{7 %[q6@.E 7t-|T@($ IcZm0FauCDр/N6RGc.>&3N9BQ;gr1_n! ItE빐;sM2=+N`sVV:2ir{%,*5qwX!sH+#ۋ/' f7ݛcNIXo$@q^AQW39|T43A(_a)>d;=_ cxluP!QXa)oFwj?PZ?C-@ sx|seL2mO9>5fR(^]nJYʊ-9̖˰ K*K!o>ǝcӆٍ2?z+&.q4F8f:L@`YJI8q):\񊟸'3BXy3RFd]=T,$]6cw, 3Go3ڒ//䚿,y|bboNzēutќL)Nc> YVDaT< )V4X/7>s]H= 9(n2>Bcʷ䚫RyI8{BӐ_?D M10y% Bm3iR\BfT;\i8Φ@qYyPfx:Ȅ >\LtpU1d][*9et^DS.^D-PLWl7f2zV{\^wK+o+}";<֡H6}Dl}!sv,Ҟ'$|9EmFI[WdBbpNhPViP B$hA.g3IHjw2v7#Bn19b. yJVm@D=ra8m}Rv$g6~~kbig6,\ĩ4٫llNZ^Yao]0JDY|1i`*.~xd-6g&0?djqo;E0˗}*?VW5ruTP#魇nd.9*cّVOmWV ѿXѐQ+θI cߞ$'0Ec xOřbme.#kdTPcRGq)5~,,sO^~p+pI$% u,9H]*3TYk!GHt|wS-;k^lD\1-|Z)(37cT#3uPwQuT}"5={ͨGmoTdDu0 t wGrq Ua~/ eG'2g(;K}b%r=2(d! 5VZ7#5&XF&-8Tcrȟ&p=]j~k5?Z?#R4YV&E,]ʩwPjpvc7!aN˞RQ> ww* ːݥ6*nO=A*MP;ëᬣ٦ Fg^8T;dwҾmPSj ^IwڛXԈ :7䉱<=e:*8[At7XE!pMGsYw;_3ċ'#I宱1v.r[FK_V,jЏ_3kZDGL}J{;V:&O*RZq vT@i*xrqϞ15 '@fѼͨ|c+R˞yU-6QuUQI8\r@vwZOAV՟G['+Rb8%ik灓B{s꼐%4$y<-IVӈ/=/ }W+}CYWDUӺT-D8ū Wo' &2c1dĜf;b, ,VoGO(sfZs} mw)#gZ 2Ky"m\XigonY2FazlڃCNB&St/F,[y Ƞ-ED#: ZFArm|ٚ@zI7ycjvfXvL' ^SQݙN"^$z z/zد6 7R~"gFs)"D>X0~yMYpdʃECV&FJׯYxAjEsN{ͷ^dv[gKmsFwm>X0Z!P_qO" rZƺ("D7JlҼoXSJK{nj Zӂ[%҈N]+ s&[SN]iM]+Pw_pFjC>g,#N5YǼ9@p~ BU"DpOPYCz]ڗ.֗SBsݜ`[:'fݍFv]sҝlwRwOu6iMB1w3 6>]\._^*hDʄ9 E+`ˢe|$4SuY! 3ם*|Sm@l٬OIPGw\I`4չ +W!"1 W$O{sY_LcEA҃en4̖7F{k-3> yc1=fޚD'StKc◵A%Q8!v(nU>R¬J7+ -DJLph`ڑvSk9!8XShf8!r.|ktF,'ֲ!^t|BLA*w]3Kx&Cw}!xiZ/T9S= jȲ)6ЂU|cDugl]Ľ:qelqbެ:C^.U"t!M9AS?trȄh:52FzsFX@@Ma7fW?-%w(%V|]D3;$hzu$%[W A~ >c!FwNl6gء_5 ;p O`!4Nty} Im$S-$y;(jMƻ^ܓqVVIL0Bj 9It %Z "'K议ҥNVh)RSפU|PS˓m I;$O|eMl?AiH*R/bsJ$@it^?Yr,7B::gㅰMcn&N' HJc! cK8msq[*'#ԧ3HZ)7ad@OdI55Nh9y88}Fg;7e^v^7}?-]S|ܵB$ޒ_NTlh9 `" YՔX;$I PIW< 6ɇ"LnnL*r/  =]c))knA i4dlQNU3AX]7E@pCEʄ Kuh\. ~gl͛QdxJZ2@? m:4UubD&0;t(e!8lǢ-6YrkL<"áf`c]^׵TSq2xR-6>_1; opvMu8 5I3 I pKa7Ҟ$,&lBW$} !m9ud܍ŏ8%MRw0{#݌$.:ĝYWa0rKJ:CŽq_u+ c$FB G1I̦t$ Ԍ'C}'ƷboJД =+ˋ~EU65\Xh@Q[z [=yss*n-=јgreIEW+tڐ,RK`!&lp+ZhwueRJ}2Wea5bXSq_K~XDVzaao)XIh|pcSdB'tQgu?`{;)Fj=xh] `nTdὫGKʊUFס:T0WҬj}Ù;L!c%hL?M|Y5p:An/̮?w"\vb#:9??hKbA踖MBSf vpD%3BkXZP2فq)r٢KpSY[KEwɱa{p$p3hN7~'hlf,[ISuL于/;{vאr6U/}{/N"9oA|e818P6wgk]j%ˎPI)|lAqVkVG,3իy@3SIJ=K@~4f"bĐ)䪋7mb^@4VhY~.S :oΧޣ]*~:}8SSGԨvV"i:`&jXW* Y?IxMqi)$Ăy&)֙\W̅F*+pϪys ۔'Ew1zHP?0g?yqKǖ9wGdN"鬭zf]rK-aL-zWt{? kC2U35r{;>Э2Z𧺁"RS@ ͈ -58ni5)&,Tˢm&pmd(|JD,Ȥ8'E GaiD-j$o=wcxMCEkAvznSem5G>5Zt%: 8eҩ8oOOk8ڢjK^]b%PĆǥmLʜ")hҞE#@~aa{^@=3Z4KKcvųoEO]i $7y߇~y\,Ib%VY jctvRaүi}#41&BJ84!FD!r%mTUl9iG%Gt׏.wV!TM$g=ӅM=zZ5?egT.' G1{JjZ4$8 $V-B MfN_R#K<;e&5Vo؛Ni xJboGUļ skNSC)y*nc};Q:(`2N؀[6L75|d|7 v_$rŷ-wK ʾɉ zVL^$NΞ]L0> "fRY%t<ثHP{@QlkXA_T0a'h<{K=*N)92@ʫ,WD(L״*'9!D.{U0aK b-oy= \@d渮5\KcΦv7 @ge VʢD (^3a4X/'KGO0\ (kb&NLtsĉ># BO>&#:5jt)&Cvp3+Of_^u'9Lpۦ䶾{4ts2Sc>RPXyQȦLոܩ6- a$4`,j5YTxXE6Ss9&>\"ZF|/Q@zR&w"s8N;f@ tw,E^fM ړ- -}I(u. 1X E>ra!ko$7gF L{ioGɖImB־EE'_Ɨi[uL&5QYO3Eo@Q46@]٫ FiSj䘢^|a*4Qāѵ_RB'O-Q3$vьڝVқ'u뾄TҒְN46ˏ] fD@O>Y3lm9%iTf2e)(X[aٔP;3趼i];c-bE HW:Қ^RB$eP淗cU7-3;6 QlVSA&Vn=28u[?t]Z& 6OZdA;< W{0!Zj-ꥉ:3*ntRިLƫX5ٛ ȡ:fGIPzdʯ:@1A"&Dky}\/5l유`[W|4-YZ/5Bm%|ѱo@YG`Q]N{IuG mW;%$Rq,GrA@a]{K}&q2A%(_&zcgE K1 %EC1Y@8If4lhlW>(.Kєzb#({P{ j%}}J}+QZ7"pӫCK%i˺+=Dh4)HQRJ2y NZ8H:|+P\jnV@Ϻ9uFlANm롩+krZyrP)a(߄ ӅYv?CCRÍ9>9l9))f!^~pq7l^%CRfS-+l4rZ4$%Ñ-sm9:A;>XsPCt>,_6f+s=̘JhӴ_DBy'%3[HP_4 5F2,yeFC8R/Y<1 8jL †hfbNs-,g8Cwu6{' |P⋄p1(|7HW`СMt+2~/C.HiON ~z,'kAcyU'nT+L[ckߏoMLX s 'rWsrj><^oҋD1ʼdmh = s4YSK`js`+ДrUSߓx\[#,=Wx2T$]~"p+޿_Fppx}+XrLSZ{bx ?iIOP`2b5%ZzZ\.YӇC'vTU""W$,HQ)kB)g+},ٽrAo @]&_g4 'K餙0S!NvNY!Vói*7"6tzfI'0u~f[7ehtR2jƆ;0syIw@B}B6N^W˔K/cbiO{gp=:[MUiOx 9 ^PU_z5 kG⎯k=QrU +8Kc"`?JY1n& uk9O&nTGCOŌmDz"+aq9VOB8.K0tya[vXc'}Ҍ6"jOoiv ǦbI x֢55/0/{6{* 7%vXPrr&h Zj~Fն\ $oͪ[y{7l:(T3'쁰S}e7ڦ@(8嬯hNiP7E+S|V g,򳂯ӮI j!5@'d I{,Fy1D'J `םO#Ɠ Ƴ\ ,=&eF.ԨfJ";0!L.I-rW52.fo# :y.t˕fލ :=7վSmiBv2GzDśQwPcY`!L.]dHĚ2(e?X|1oсkXS]UYҠIHO h>nJi[U"C)X;;=C[X90r?ȝJv" 6CiҮ.Z*{5ʚADx++p#.#,]J4RJ 莴D:-K!SMOgVVݹ (qZ`ٔ?eٔ<#\ ZE'uӥå H7l۪Y6P3i8>Qg V9JբP޸DpϽ|+FVkǼI,DD֙JJYKaE<3ۍpH޸굪d\}U1oh%b@NgF5r0oP6ԁM2ȁ}ܴ3/d4= LwQԔU$R㜵#/^n>{ #DN,IZ-%e6U@yESr],v2h(v]TXl\`i)ܟS!93E8;gE Wuw#ok]4N Oy<H6h\]hD/b‡`qrwsw!5>ĴC1^߿j #xH9_M5DcDf &uͅ2땹Dv*4ʯX1Y.GD].+Am .,mjSf L`i$j*T Jݰʃ8"4 J5,׍!Z6-J)a!i}1e@cKl" a DFx΀RJv=hofFR쟙P6$S㣛XIBLO4OV RVCo,f-hg%xewأ?A}5[.xe坘7oV ]d-.%.oaly>5fY4,Bo\0 H.%afaDR+Ȉ~yHJ1y77 >JId'lB Bkpo N6#Ę/Kh3ׁ:)>l+RA^rflP8QFf$7Lja\ |"8[Bλ]/eǕOJ~:)q*{'_Dq w*װ/6&1Vx?_㻈WAx#c/c%O['SI%bS gJЎ84݆[+&1˛BmeJ(=y<<濪00ݷXÈbi-HSY^/28^LǕ>'ݝe[gB<[dR oQ`߁Wt|$c$/kb*Ke1 lK}=!!$xKSQ @rp;׎ O9ǜtSP!j KC^vx>`H s^2Hr38B;c)72Ysz*8TvDpCd3+u1.0}hiR.xrGD+^*/O:?Ve܋ B0 [ bѱLf#5 ݶu37>PfEQYn ۻ`YƝ+M՞Z❠8EI -N8ۙ&Bm?jx93+!#~VLMb<ȝHj{cL|A>M;G6}5=[TwY^3!J@ț=yJUr1hѝHu/-V咢!HGxs2X!(4W&F桰&-}(apzA R ȝ O|\Ve>m?)k%N/Ӽ;4[P ?- mO"@Bq>iCοIGJ1]E c߃'/ҔO`!ZB)|#x`b\S$XCTUx)~'o)QZ; tӞOΠM~ykQ6 R i:M%)ױ@tb/~Xxt$@xzvsRLYhMlc%*41L4"f؟^j ķyc!鬉spd]H< ^OףYxfC Kڵ\1D8}}pٗ@aa*gڢ9a^X-P}jRa9<5q\d8::Շ8k7"C{DkcNv\c1뮗޻cᷥ.P[VUSMU0 "51R(JN&t ŏ5]A}4-kq}s&lm X[+Fpu ;ueW49,ѴQ~a׃U kSCpK2c.TQUpw/+ʛqxSοĄAGx/2q% ?TF Cҧ>l2!Tisǀ"1l#H[ OݞoMTZ+4jpRk"Sa[FiAMDwf3Cyc\jhFHy ?jNtwZT èsgNDz6{NxA€3-"MiVZeblD>Kf>ve{ 2^ǨuK&Q݉xYUGv:v.k32] ؖB.:3yc1ޝf2>XE'[=[. ]}(LQ}= ^M!^O-B$ʴd[XYf \8-ymE5}J";*0^*t!פGiI+I<2ů!ɓ"Dd_2T&'e8ѝ̿Ļ=uXZ+5ӷ*g;]UV9t>e7<}c,LZq?AVX>XdH%D}OlK;Mcĉh}Em g2nN'G%$ܘ665HD4^Oy`f͢Y;~ EXr9(TZ烍&A1Y,ߕ dOй !~o 5yi -.R}I6ZO/?W{.p< ޙdʫo1݇7`~}q{.x5UώFCNqi|,'y)%?zủMʛ:,.C-)AЌ,0*3%HOC._7EZrܺTZl{ cXRy{"=)ѴӉg0Ne#Dsk 2qY2PbI,Pfz*2E~D|qvXd `l54Dޡ_bvV~C^f^ 1vsy=6Iv$d <-AY Վj͠X$59XHIl;8w'g|T18)]<NFܺSkhn:8<5O|-+.QZs4l{ Q'7o6bvEp: jA.y&qpA2;gLoV}np,>͈v%܃jJNX~Lr}jo*d5 [h/ZH_9T/Yz̒7R@),HXi~U&dƺY