# # Unix SMB/CIFS implementation. # backend code for provisioning a Samba4 server # Copyright (C) Jelmer Vernooij 2007-2008 # Copyright (C) Andrew Bartlett 2008-2009 # Copyright (C) Oliver Liebel 2008-2009 # # Based on the original in EJS: # Copyright (C) Andrew Tridgell 2005 # # 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 . # """Functions for setting up a Samba configuration (LDB and LDAP backends).""" from base64 import b64encode import errno import ldb import os import sys import uuid import time import shutil import subprocess import urllib from ldb import SCOPE_BASE, SCOPE_ONELEVEL, LdbError, timestring from samba import Ldb, read_and_sub_file, setup_file from samba.credentials import Credentials, DONT_USE_KERBEROS from samba.schema import Schema class SlapdAlreadyRunning(Exception): def __init__(self, uri): self.ldapi_uri = uri super(SlapdAlreadyRunning, self).__init__("Another slapd Instance " "seems already running on this host, listening to %s." % self.ldapi_uri) class BackendResult(object): def report_logger(self, logger): """Rerport this result to a particular logger. """ raise NotImplementedError(self.report_logger) class LDAPBackendResult(BackendResult): def __init__(self, credentials, slapd_command_escaped, ldapdir): self.credentials = credentials self.slapd_command_escaped = slapd_command_escaped self.ldapdir = ldapdir def report_logger(self, logger): if self.credentials.get_bind_dn() is not None: logger.info("LDAP Backend Admin DN: %s" % self.credentials.get_bind_dn()) else: logger.info("LDAP Admin User: %s" % self.credentials.get_username()) if self.slapd_command_escaped is not None: # now display slapd_command_file.txt to show how slapd must be # started next time logger.info( "Use later the following commandline to start slapd, then Samba:") logger.info(self.slapd_command_escaped) logger.info( "This slapd-Commandline is also stored under: %s/ldap_backend_startup.sh", self.ldapdir) class ProvisionBackend(object): def __init__(self, backend_type, paths=None, lp=None, credentials=None, names=None, logger=None): """Provision a backend for samba4""" self.paths = paths self.lp = lp self.credentials = credentials self.names = names self.logger = logger self.type = backend_type # Set a default - the code for "existing" below replaces this self.ldap_backend_type = backend_type def init(self): """Initialize the backend.""" raise NotImplementedError(self.init) def start(self): """Start the backend.""" raise NotImplementedError(self.start) def shutdown(self): """Shutdown the backend.""" raise NotImplementedError(self.shutdown) def post_setup(self): """Post setup. :return: A BackendResult or None """ raise NotImplementedError(self.post_setup) class LDBBackend(ProvisionBackend): def init(self): self.credentials = None self.secrets_credentials = None # Wipe the old sam.ldb databases away shutil.rmtree(self.paths.samdb + ".d", True) def start(self): pass def shutdown(self): pass def post_setup(self): pass class ExistingBackend(ProvisionBackend): def __init__(self, backend_type, paths=None, lp=None, credentials=None, names=None, logger=None, ldapi_uri=None): super(ExistingBackend, self).__init__(backend_type=backend_type, paths=paths, lp=lp, credentials=credentials, names=names, logger=logger, ldap_backend_forced_uri=ldapi_uri) def init(self): # Check to see that this 'existing' LDAP backend in fact exists ldapi_db = Ldb(self.ldapi_uri, credentials=self.credentials) ldapi_db.search(base="", scope=SCOPE_BASE, expression="(objectClass=OpenLDAProotDSE)") # If we have got here, then we must have a valid connection to the LDAP # server, with valid credentials supplied This caused them to be set # into the long-term database later in the script. self.secrets_credentials = self.credentials # For now, assume existing backends at least emulate OpenLDAP self.ldap_backend_type = "openldap" class LDAPBackend(ProvisionBackend): def __init__(self, backend_type, paths=None, lp=None, credentials=None, names=None, logger=None, domainsid=None, schema=None, hostname=None, ldapadminpass=None, slapd_path=None, ldap_backend_extra_port=None, ldap_backend_forced_uri=None, ldap_dryrun_mode=True): super(LDAPBackend, self).__init__(backend_type=backend_type, paths=paths, lp=lp, credentials=credentials, names=names, logger=logger) self.domainsid = domainsid self.schema = schema self.hostname = hostname self.ldapdir = os.path.join(paths.private_dir, "ldap") self.ldapadminpass = ldapadminpass self.slapd_path = slapd_path self.slapd_command = None self.slapd_command_escaped = None self.slapd_pid = os.path.join(self.ldapdir, "slapd.pid") self.ldap_backend_extra_port = ldap_backend_extra_port self.ldap_dryrun_mode = ldap_dryrun_mode if ldap_backend_forced_uri is not None: self.ldap_uri = ldap_backend_forced_uri else: self.ldap_uri = "ldapi://%s" % urllib.quote( os.path.join(self.ldapdir, "ldapi"), safe="") if not os.path.exists(self.ldapdir): os.mkdir(self.ldapdir) def init(self): from samba.provision import ProvisioningError # we will shortly start slapd with ldapi for final provisioning. first # check with ldapsearch -> rootDSE via self.ldap_uri if another # instance of slapd is already running try: ldapi_db = Ldb(self.ldap_uri) ldapi_db.search(base="", scope=SCOPE_BASE, expression="(objectClass=OpenLDAProotDSE)") try: f = open(self.slapd_pid, "r") except IOError, err: if err != errno.ENOENT: raise else: try: p = f.read() finally: f.close() self.logger.info("Check for slapd process with PID: %s and terminate it manually." % p) raise SlapdAlreadyRunning(self.ldap_uri) except LdbError: # XXX: We should never be catching all Ldb errors pass # Try to print helpful messages when the user has not specified the # path to slapd if self.slapd_path is None: raise ProvisioningError("Warning: LDAP-Backend must be setup with path to slapd, e.g. --slapd-path=\"/usr/local/libexec/slapd\"!") if not os.path.exists(self.slapd_path): self.logger.warning("Path (%s) to slapd does not exist!", self.slapd_path) if not os.path.isdir(self.ldapdir): os.makedirs(self.ldapdir, 0700) # Put the LDIF of the schema into a database so we can search on # it to generate schema-dependent configurations in Fedora DS and # OpenLDAP schemadb_path = os.path.join(self.ldapdir, "schema-tmp.ldb") try: os.unlink(schemadb_path) except OSError: pass self.schema.write_to_tmp_ldb(schemadb_path) self.credentials = Credentials() self.credentials.guess(self.lp) # Kerberos to an ldapi:// backend makes no sense self.credentials.set_kerberos_state(DONT_USE_KERBEROS) self.credentials.set_password(self.ldapadminpass) self.secrets_credentials = Credentials() self.secrets_credentials.guess(self.lp) # Kerberos to an ldapi:// backend makes no sense self.secrets_credentials.set_kerberos_state(DONT_USE_KERBEROS) self.secrets_credentials.set_username("samba-admin") self.secrets_credentials.set_password(self.ldapadminpass) self.provision() def provision(self): pass def start(self): from samba.provision import ProvisioningError self.slapd_command_escaped = "\'" + "\' \'".join(self.slapd_command) + "\'" f = open(os.path.join(self.ldapdir, "ldap_backend_startup.sh"), 'w') try: f.write("#!/bin/sh\n" + self.slapd_command_escaped + "\n") finally: f.close() # Now start the slapd, so we can provision onto it. We keep the # subprocess context around, to kill this off at the successful # end of the script self.slapd = subprocess.Popen(self.slapd_provision_command, close_fds=True, shell=False) count = 0 while self.slapd.poll() is None: # Wait until the socket appears try: ldapi_db = Ldb(self.ldap_uri, lp=self.lp, credentials=self.credentials) ldapi_db.search(base="", scope=SCOPE_BASE, expression="(objectClass=OpenLDAProotDSE)") # If we have got here, then we must have a valid connection to # the LDAP server! return except LdbError: time.sleep(1) count = count + 1 if count > 15: self.logger.error("Could not connect to slapd started with: %s" % "\'" + "\' \'".join(self.slapd_provision_command) + "\'") raise ProvisioningError("slapd never accepted a connection within 15 seconds of starting") self.logger.error("Could not start slapd with: %s" % "\'" + "\' \'".join(self.slapd_provision_command) + "\'") raise ProvisioningError("slapd died before we could make a connection to it") def shutdown(self): # if an LDAP backend is in use, terminate slapd after final provision # and check its proper termination if self.slapd.poll() is None: # Kill the slapd if getattr(self.slapd, "terminate", None) is not None: self.slapd.terminate() else: # Older python versions don't have .terminate() import signal os.kill(self.slapd.pid, signal.SIGTERM) # and now wait for it to die self.slapd.communicate() def post_setup(self): return LDAPBackendResult(self.credentials, self.slapd_command_escaped, self.ldapdir) class OpenLDAPBackend(LDAPBackend): def __init__(self, backend_type, paths=None, lp=None, credentials=None, names=None, logger=None, domainsid=None, schema=None, hostname=None, ldapadminpass=None, slapd_path=None, ldap_backend_extra_port=None, ldap_dryrun_mode=True, ol_mmr_urls=None, nosync=False, ldap_backend_forced_uri=None): from samba.provision import setup_path super(OpenLDAPBackend, self).__init__( backend_type=backend_type, paths=paths, lp=lp, credentials=credentials, names=names, logger=logger, domainsid=domainsid, schema=schema, hostname=hostname, ldapadminpass=ldapadminpass, slapd_path=slapd_path, ldap_backend_extra_port=ldap_backend_extra_port, ldap_backend_forced_uri=ldap_backend_forced_uri, ldap_dryrun_mode=ldap_dryrun_mode) self.ol_mmr_urls = ol_mmr_urls self.nosync = nosync self.slapdconf = os.path.join(self.ldapdir, "slapd.conf") self.modulesconf = os.path.join(self.ldapdir, "modules.conf") self.memberofconf = os.path.join(self.ldapdir, "memberof.conf") self.olmmrserveridsconf = os.path.join(self.ldapdir, "mmr_serverids.conf") self.olmmrsyncreplconf = os.path.join(self.ldapdir, "mmr_syncrepl.conf") self.olcdir = os.path.join(self.ldapdir, "slapd.d") self.olcseedldif = os.path.join(self.ldapdir, "olc_seed.ldif") self.schema = Schema(self.domainsid, schemadn=self.names.schemadn, files=[ setup_path("schema_samba4.ldif")]) def setup_db_config(self, dbdir): """Setup a Berkeley database. :param dbdir: Database directory. """ from samba.provision import setup_path if not os.path.isdir(os.path.join(dbdir, "bdb-logs")): os.makedirs(os.path.join(dbdir, "bdb-logs"), 0700) if not os.path.isdir(os.path.join(dbdir, "tmp")): os.makedirs(os.path.join(dbdir, "tmp"), 0700) setup_file(setup_path("DB_CONFIG"), os.path.join(dbdir, "DB_CONFIG"), {"LDAPDBDIR": dbdir}) def provision(self): from samba.provision import ProvisioningError, setup_path # Wipe the directories so we can start shutil.rmtree(os.path.join(self.ldapdir, "db"), True) # Allow the test scripts to turn off fsync() for OpenLDAP as for TDB # and LDB nosync_config = "" if self.nosync: nosync_config = "dbnosync" lnkattr = self.schema.linked_attributes() refint_attributes = "" memberof_config = "# Generated from Samba4 schema\n" for att in lnkattr.keys(): if lnkattr[att] is not None: refint_attributes = refint_attributes + " " + att memberof_config += read_and_sub_file( setup_path("memberof.conf"), { "MEMBER_ATTR": att, "MEMBEROF_ATTR" : lnkattr[att] }) refint_config = read_and_sub_file(setup_path("refint.conf"), { "LINK_ATTRS" : refint_attributes}) attrs = ["linkID", "lDAPDisplayName"] res = self.schema.ldb.search(expression="(&(objectclass=attributeSchema)(searchFlags:1.2.840.113556.1.4.803:=1))", base=self.names.schemadn, scope=SCOPE_ONELEVEL, attrs=attrs) index_config = "" for i in range (0, len(res)): index_attr = res[i]["lDAPDisplayName"][0] if index_attr == "objectGUID": index_attr = "entryUUID" index_config += "index " + index_attr + " eq\n" # generate serverids, ldap-urls and syncrepl-blocks for mmr hosts mmr_on_config = "" mmr_replicator_acl = "" mmr_serverids_config = "" mmr_syncrepl_schema_config = "" mmr_syncrepl_config_config = "" mmr_syncrepl_user_config = "" if self.ol_mmr_urls is not None: # For now, make these equal mmr_pass = self.ldapadminpass url_list = filter(None,self.ol_mmr_urls.split(',')) for url in url_list: self.logger.info("Using LDAP-URL: "+url) if len(url_list) == 1: raise ProvisioningError("At least 2 LDAP-URLs needed for MMR!") mmr_on_config = "MirrorMode On" mmr_replicator_acl = " by dn=cn=replicator,cn=samba read" serverid = 0 for url in url_list: serverid = serverid + 1 mmr_serverids_config += read_and_sub_file( setup_path("mmr_serverids.conf"), { "SERVERID": str(serverid), "LDAPSERVER": url }) rid = serverid * 10 rid = rid + 1 mmr_syncrepl_schema_config += read_and_sub_file( setup_path("mmr_syncrepl.conf"), { "RID" : str(rid), "MMRDN": self.names.schemadn, "LDAPSERVER" : url, "MMR_PASSWORD": mmr_pass}) rid = rid + 1 mmr_syncrepl_config_config += read_and_sub_file( setup_path("mmr_syncrepl.conf"), { "RID" : str(rid), "MMRDN": self.names.configdn, "LDAPSERVER" : url, "MMR_PASSWORD": mmr_pass}) rid = rid + 1 mmr_syncrepl_user_config += read_and_sub_file( setup_path("mmr_syncrepl.conf"), { "RID" : str(rid), "MMRDN": self.names.domaindn, "LDAPSERVER" : url, "MMR_PASSWORD": mmr_pass }) # OpenLDAP cn=config initialisation olc_syncrepl_config = "" olc_mmr_config = "" # if mmr = yes, generate cn=config-replication directives # and olc_seed.lif for the other mmr-servers if self.ol_mmr_urls is not None: serverid = 0 olc_serverids_config = "" olc_syncrepl_seed_config = "" olc_mmr_config += read_and_sub_file( setup_path("olc_mmr.conf"), {}) rid = 500 for url in url_list: serverid = serverid + 1 olc_serverids_config += read_and_sub_file( setup_path("olc_serverid.conf"), { "SERVERID" : str(serverid), "LDAPSERVER" : url }) rid = rid + 1 olc_syncrepl_config += read_and_sub_file( setup_path("olc_syncrepl.conf"), { "RID" : str(rid), "LDAPSERVER" : url, "MMR_PASSWORD": mmr_pass}) olc_syncrepl_seed_config += read_and_sub_file( setup_path("olc_syncrepl_seed.conf"), { "RID" : str(rid), "LDAPSERVER" : url}) setup_file(setup_path("olc_seed.ldif"), self.olcseedldif, {"OLC_SERVER_ID_CONF": olc_serverids_config, "OLC_PW": self.ldapadminpass, "OLC_SYNCREPL_CONF": olc_syncrepl_seed_config}) # end olc setup_file(setup_path("slapd.conf"), self.slapdconf, {"DNSDOMAIN": self.names.dnsdomain, "LDAPDIR": self.ldapdir, "DOMAINDN": self.names.domaindn, "CONFIGDN": self.names.configdn, "SCHEMADN": self.names.schemadn, "MEMBEROF_CONFIG": memberof_config, "MIRRORMODE": mmr_on_config, "REPLICATOR_ACL": mmr_replicator_acl, "MMR_SERVERIDS_CONFIG": mmr_serverids_config, "MMR_SYNCREPL_SCHEMA_CONFIG": mmr_syncrepl_schema_config, "MMR_SYNCREPL_CONFIG_CONFIG": mmr_syncrepl_config_config, "MMR_SYNCREPL_USER_CONFIG": mmr_syncrepl_user_config, "OLC_SYNCREPL_CONFIG": olc_syncrepl_config, "OLC_MMR_CONFIG": olc_mmr_config, "REFINT_CONFIG": refint_config, "INDEX_CONFIG": index_config, "NOSYNC": nosync_config}) self.setup_db_config(os.path.join(self.ldapdir, "db", "user")) self.setup_db_config(os.path.join(self.ldapdir, "db", "config")) self.setup_db_config(os.path.join(self.ldapdir, "db", "schema")) if not os.path.exists(os.path.join(self.ldapdir, "db", "samba", "cn=samba")): os.makedirs(os.path.join(self.ldapdir, "db", "samba", "cn=samba"), 0700) setup_file(setup_path("cn=samba.ldif"), os.path.join(self.ldapdir, "db", "samba", "cn=samba.ldif"), { "UUID": str(uuid.uuid4()), "LDAPTIME": timestring(int(time.time()))} ) setup_file(setup_path("cn=samba-admin.ldif"), os.path.join(self.ldapdir, "db", "samba", "cn=samba", "cn=samba-admin.ldif"), {"LDAPADMINPASS_B64": b64encode(self.ldapadminpass), "UUID": str(uuid.uuid4()), "LDAPTIME": timestring(int(time.time()))} ) if self.ol_mmr_urls is not None: setup_file(setup_path("cn=replicator.ldif"), os.path.join(self.ldapdir, "db", "samba", "cn=samba", "cn=replicator.ldif"), {"MMR_PASSWORD_B64": b64encode(mmr_pass), "UUID": str(uuid.uuid4()), "LDAPTIME": timestring(int(time.time()))} ) mapping = "schema-map-openldap-2.3" backend_schema = "backend-schema.schema" f = open(setup_path(mapping), 'r') try: backend_schema_data = self.schema.convert_to_openldap( "openldap", f.read()) finally: f.close() assert backend_schema_data is not None f = open(os.path.join(self.ldapdir, backend_schema), 'w') try: f.write(backend_schema_data) finally: f.close() # now we generate the needed strings to start slapd automatically, if self.ldap_backend_extra_port is not None: # When we use MMR, we can't use 0.0.0.0 as it uses the name # specified there as part of it's clue as to it's own name, # and not to replicate to itself if self.ol_mmr_urls is None: server_port_string = "ldap://0.0.0.0:%d" % self.ldap_backend_extra_port else: server_port_string = "ldap://%s.%s:%d" (self.names.hostname, self.names.dnsdomain, self.ldap_backend_extra_port) else: server_port_string = "" # Prepare the 'result' information - the commands to return in # particular self.slapd_provision_command = [self.slapd_path, "-F" + self.olcdir, "-h"] # copy this command so we have two version, one with -d0 and only # ldapi (or the forced ldap_uri), and one with all the listen commands self.slapd_command = list(self.slapd_provision_command) self.slapd_provision_command.extend([self.ldap_uri, "-d0"]) uris = self.ldap_uri if server_port_string is not "": uris = uris + " " + server_port_string self.slapd_command.append(uris) # Set the username - done here because Fedora DS still uses the admin # DN and simple bind self.credentials.set_username("samba-admin") # Wipe the old sam.ldb databases away shutil.rmtree(self.olcdir, True) os.makedirs(self.olcdir, 0770) # If we were just looking for crashes up to this point, it's a # good time to exit before we realise we don't have OpenLDAP on # this system if self.ldap_dryrun_mode: sys.exit(0) slapd_cmd = [self.slapd_path, "-Ttest", "-n", "0", "-f", self.slapdconf, "-F", self.olcdir] retcode = subprocess.call(slapd_cmd, close_fds=True, shell=False) if retcode != 0: self.logger.error("conversion from slapd.conf to cn=config failed slapd started with: %s" % "\'" + "\' \'".join(slapd_cmd) + "\'") raise ProvisioningError("conversion from slapd.conf to cn=config failed") if not os.path.exists(os.path.join(self.olcdir, "cn=config.ldif")): raise ProvisioningError("conversion from slapd.conf to cn=config failed") # Don't confuse the admin by leaving the slapd.conf around os.remove(self.slapdconf) class FDSBackend(LDAPBackend): def __init__(self, backend_type, paths=None, lp=None, credentials=None, names=None, logger=None, domainsid=None, schema=None, hostname=None, ldapadminpass=None, slapd_path=None, ldap_backend_extra_port=None, ldap_dryrun_mode=True, root=None, setup_ds_path=None): from samba.provision import setup_path super(FDSBackend, self).__init__(backend_type=backend_type, paths=paths, lp=lp, credentials=credentials, names=names, logger=logger, domainsid=domainsid, schema=schema, hostname=hostname, ldapadminpass=ldapadminpass, slapd_path=slapd_path, ldap_backend_extra_port=ldap_backend_extra_port, ldap_backend_forced_uri=ldap_backend_forced_uri, ldap_dryrun_mode=ldap_dryrun_mode) self.root = root self.setup_ds_path = setup_ds_path self.ldap_instance = self.names.netbiosname.lower() self.sambadn = "CN=Samba" self.fedoradsinf = os.path.join(self.ldapdir, "fedorads.inf") self.partitions_ldif = os.path.join(self.ldapdir, "fedorads-partitions.ldif") self.sasl_ldif = os.path.join(self.ldapdir, "fedorads-sasl.ldif") self.dna_ldif = os.path.join(self.ldapdir, "fedorads-dna.ldif") self.pam_ldif = os.path.join(self.ldapdir, "fedorads-pam.ldif") self.refint_ldif = os.path.join(self.ldapdir, "fedorads-refint.ldif") self.linked_attrs_ldif = os.path.join(self.ldapdir, "fedorads-linked-attributes.ldif") self.index_ldif = os.path.join(self.ldapdir, "fedorads-index.ldif") self.samba_ldif = os.path.join(self.ldapdir, "fedorads-samba.ldif") self.samba3_schema = setup_path( "../../examples/LDAP/samba.schema") self.samba3_ldif = os.path.join(self.ldapdir, "samba3.ldif") self.retcode = subprocess.call(["bin/oLschema2ldif", "-I", self.samba3_schema, "-O", self.samba3_ldif, "-b", self.names.domaindn], close_fds=True, shell=False) if self.retcode != 0: raise Exception("Unable to convert Samba 3 schema.") self.schema = Schema( self.domainsid, schemadn=self.names.schemadn, files=[setup_path("schema_samba4.ldif"), self.samba3_ldif], additional_prefixmap=["1000:1.3.6.1.4.1.7165.2.1", "1001:1.3.6.1.4.1.7165.2.2"]) def provision(self): from samba.provision import ProvisioningError, setup_path if self.ldap_backend_extra_port is not None: serverport = "ServerPort=%d" % self.ldap_backend_extra_port else: serverport = "" setup_file(setup_path("fedorads.inf"), self.fedoradsinf, {"ROOT": self.root, "HOSTNAME": self.hostname, "DNSDOMAIN": self.names.dnsdomain, "LDAPDIR": self.ldapdir, "DOMAINDN": self.names.domaindn, "LDAP_INSTANCE": self.ldap_instance, "LDAPMANAGERDN": self.names.ldapmanagerdn, "LDAPMANAGERPASS": self.ldapadminpass, "SERVERPORT": serverport}) setup_file(setup_path("fedorads-partitions.ldif"), self.partitions_ldif, {"CONFIGDN": self.names.configdn, "SCHEMADN": self.names.schemadn, "SAMBADN": self.sambadn, }) setup_file(setup_path("fedorads-sasl.ldif"), self.sasl_ldif, {"SAMBADN": self.sambadn, }) setup_file(setup_path("fedorads-dna.ldif"), self.dna_ldif, {"DOMAINDN": self.names.domaindn, "SAMBADN": self.sambadn, "DOMAINSID": str(self.domainsid), }) setup_file(setup_path("fedorads-pam.ldif"), self.pam_ldif) lnkattr = self.schema.linked_attributes() f = open(setup_path("fedorads-refint-delete.ldif"), 'r') try: refint_config = f.read() finally: f.close() memberof_config = "" index_config = "" argnum = 3 for attr in lnkattr.keys(): if lnkattr[attr] is not None: refint_config += read_and_sub_file( setup_path("fedorads-refint-add.ldif"), { "ARG_NUMBER" : str(argnum), "LINK_ATTR" : attr }) memberof_config += read_and_sub_file( setup_path("fedorads-linked-attributes.ldif"), { "MEMBER_ATTR" : attr, "MEMBEROF_ATTR" : lnkattr[attr] }) index_config += read_and_sub_file( setup_path("fedorads-index.ldif"), { "ATTR" : attr }) argnum += 1 f = open(self.refint_ldif, 'w') try: f.write(refint_config) finally: f.close() f = open(self.linked_attrs_ldif, 'w') try: f.write(memberof_config) finally: f.close() attrs = ["lDAPDisplayName"] res = self.schema.ldb.search(expression="(&(objectclass=attributeSchema)(searchFlags:1.2.840.113556.1.4.803:=1))", base=self.names.schemadn, scope=SCOPE_ONELEVEL, attrs=attrs) for i in range (0, len(res)): attr = res[i]["lDAPDisplayName"][0] if attr == "objectGUID": attr = "nsUniqueId" index_config += read_and_sub_file( setup_path("fedorads-index.ldif"), { "ATTR" : attr }) f = open(self.index_ldif, 'w') try: f.write(index_config) finally: f.close() setup_file(setup_path("fedorads-samba.ldif"), self.samba_ldif, { "SAMBADN": self.sambadn, "LDAPADMINPASS": self.ldapadminpass }) mapping = "schema-map-fedora-ds-1.0" backend_schema = "99_ad.ldif" # Build a schema file in Fedora DS format f = open(setup_path(mapping), 'r') try: backend_schema_data = self.schema.convert_to_openldap("fedora-ds", f.read()) finally: f.close() assert backend_schema_data is not None f = open(os.path.join(self.ldapdir, backend_schema), 'w') try: f.write(backend_schema_data) finally: f.close() self.credentials.set_bind_dn(self.names.ldapmanagerdn) # Destory the target directory, or else setup-ds.pl will complain fedora_ds_dir = os.path.join(self.ldapdir, "slapd-" + self.ldap_instance) shutil.rmtree(fedora_ds_dir, True) self.slapd_provision_command = [self.slapd_path, "-D", fedora_ds_dir, "-i", self.slapd_pid] # In the 'provision' command line, stay in the foreground so we can # easily kill it self.slapd_provision_command.append("-d0") #the command for the final run is the normal script self.slapd_command = [os.path.join(self.ldapdir, "slapd-" + self.ldap_instance, "start-slapd")] # If we were just looking for crashes up to this point, it's a # good time to exit before we realise we don't have Fedora DS on if self.ldap_dryrun_mode: sys.exit(0) # Try to print helpful messages when the user has not specified the # path to the setup-ds tool if self.setup_ds_path is None: raise ProvisioningError("Fedora DS LDAP-Backend must be setup with path to setup-ds, e.g. --setup-ds-path=\"/usr/sbin/setup-ds.pl\"!") if not os.path.exists(self.setup_ds_path): self.logger.warning("Path (%s) to slapd does not exist!", self.setup_ds_path) # Run the Fedora DS setup utility retcode = subprocess.call([self.setup_ds_path, "--silent", "--file", self.fedoradsinf], close_fds=True, shell=False) if retcode != 0: raise ProvisioningError("setup-ds failed") # Load samba-admin retcode = subprocess.call([ os.path.join(self.ldapdir, "slapd-" + self.ldap_instance, "ldif2db"), "-s", self.sambadn, "-i", self.samba_ldif], close_fds=True, shell=False) if retcode != 0: raise ProvisioningError("ldif2db failed") def post_setup(self): ldapi_db = Ldb(self.ldap_uri, credentials=self.credentials) # configure in-directory access control on Fedora DS via the aci # attribute (over a direct ldapi:// socket) aci = """(targetattr = "*") (version 3.0;acl "full access to all by samba-admin";allow (all)(userdn = "ldap:///CN=samba-admin,%s");)""" % self.sambadn m = ldb.Message() m["aci"] = ldb.MessageElement([aci], ldb.FLAG_MOD_REPLACE, "aci") for dnstring in (self.names.domaindn, self.names.configdn, self.names.schemadn): m.dn = ldb.Dn(ldapi_db, dnstring) ldapi_db.modify(m) return LDAPBackendResult(self.credentials, self.slapd_command_escaped, self.ldapdir) suv,4 Ik'}˅Ku\#K>("C*BČ= \58e#+F/JsG6Dla0?[@[$Jv['-KM:=.qhA#yʆH6y3DV]/N*~\NEr}I eaejm$"P+AqɜVJ՟FUWqt'WH^ rgC~G 5nBW.i2!6wx"^-(VQ~(Ҫc"[t8S$45.b wwiM؍mȵGYR,CUw_ٱ̣oU@6uS2UH^LF1&DQ9 lye9(_[OX>-AHN0pfZmTf,5۴/j{d@LzО(sH{8Mb^^H[[i vҤҠ5M5ݽHR36ÅF4c^X?,& gxާ/c{_fBR. Pa䐍Rނ&Ց'±G͇zfTMk;s dx9[ȭ-`K>Ŭ66~QV` e+;H5~ȿ/} =5$ z!c20T)jr:iXp4S8," C|U4{1-F&Sxůe\2I i7P{ r ],FUxh?%)γ832e &y.zG,(K|b X0<gEP ŧb0e,PV?}fx!H[`'6tefu;p@ cBhgu¼֍/1[%ޑ@O/:znlB,}]Mg\O7b4YK vHlCSr\.BGDiF"7NmfǶE*Tb_xFK="j+M\(;1< srPQ>E:Jf̧yhWP.^wܰX}{oC5I ݛ[e;K.ȾlG; &]p'7 -+K.,z*\4ۤSeV~3LJ$ j/aVLړA԰{) 㰸f RT|7ҽ[ٻm11b(Zx9}ALi7<1vEJ5N;bީ$g*hi"vq'ӌ8PY -RgN8ʓjLFH+h5[/: ooĦa,r+6w~6r?b}P(T0mN"گ.yNWuk\h|-b^\FQh8{Xɇ> !;"{4n_zMNqr{ 'zF = M#XG)O,'*KZ#c!ku#jf7YRN/&;N~ zؔc"Q&!^ۿd9B˅m`2_$CyQ(̮%j1zg,S_~oB?+W%g{ﺰSi̙w 40d ?kB8\ZVG,#B;H6e(}5D4A\[+,U"Lpݘ()Hȸ=4qI0mu;"wq4/$GoD [bBP[m6lȏMg Q"Uzn   jLT:owcgDK{\0%yNnb퇥s$zsN(l;"Pc*0}SVIp$n/<ԇ_⥺,#UeBkoWvk%Gڠ0C__"OAe&㚹us]Vw_=4@h,lAڨz[wUY1\kanN3S8e ^^Pr8y. dF t.%Hpn+@ktK˺O+2Ș1½ RĴooHTb3U YJ"0쁰!23#^ؓDz+#l0_6*ʐu4D2] T'0 8:;aYqvL;/yP$l)tܱ'fo?vM[3?pzфYb\vfb*[4˧ "`rDxm[n.'ŒU Fؐ#8WEÔ2_o;ܗs#YR%BO{=fLo D/:;8ōOjR;p)I >6AҔcR.+sTy#)1Q%5tMm;\эtdI/4tãaF5W]*eaѯ2|p=(4nŖfHj m?Z @G_. bh 66i_X#X=Wݽ/z5ٽతzbi10 Zl@bȑK1Y}9o7U0eh"Ck_&KF2,%lE+u8'9 (y$r;uK9v=p](3oB PFpy+K>~VՏm8fg!`ϟ?5]mC`)K Zo£}RM> lg#Ï h/yӍ]S6T񴮑EL֓[K}4ubQ|w*$NH '6nr/S$ 8p?SIcn Lko>9ZS$O'o㴕X']L~!āW~HC9Py0 &K,^ޝ!nCeB3)UQGa4q]{V8)ޣ󼱴ZH$-0Dד; .`F Ks"R>u5b!ףdB%Kjd%[wfظbw}L9AV,~f`Kxsu| `ae^Kwz@ -$|G 6FXƣEꅡJ+t4n b? jI2q/8O.oLDSͮlV.wftzu`+) bi ͝mIex6tV4ITvPZU >9vn]h%Gx*s7 e3T%Tg}Jj5lSCr ֲlm}(t8{ل36K7fMH;u#'x/.<@4wQɼ6!H{Xڍ"7)2bP7 -qk$!P.c _X-k)G' nTr`lAQ`4k8͐cfGxģj RtS:݂ErQ xӧyŧ=\3!-f5qIg̈굼 6nqBew&BNJeK;63p6!)b߲DfUJeqʲ$dx[XyWʌ] aa-odpktlzIיLŚ\7| }O &Q=+xf~7G#73BŔg_[Xr<6 DQRDp1-R1 Wh*ar e asm3*VxLrmXDs"ŀȭ>]}_f@!K+=C!Kq G&]~U Ў!E}A=G0;[czJcN$f*Q,370.hv5^%h}8& :Ygokѓ=2I9qteH }U!&Փzl$g'xCH-ɜ&$iv?lTƹ,'m'경w$y }L޶\=ӚK#4r}LQ.,12]Ќ%{bnrQ: . 8=a0 S2dnyÞm*6qWBhL`/ȶP0DK bnR2Q?'=s 4VP,-++׼[VI`y`X 2H\*aaAL ?ћ(i3 4ӒhX_>Rcc5_gB籔IL 慅,=vT˂~XkVhw2N/񖗎_;kΝGxU*P!>_"%pOY=w,<ڇ^ 겇Zk"D uJ|6[3:5ٝQ^M6/5DITMx?g%-"QﱵHf wc$gq/b=z|Ob6}{weq Rsګ˴ Ad~(w86 [xRx(U|aD&)(x-ED)!uG&5e6_N_,rtn͵(x@ ڔNR%ǥ,U1 .v Q{a0:39}L]Eݞ/&s%R^PݵбPfΩv.-1vF!aj@45 - jc p5;[ĸEmޫG8si~fVTFEKwM*L%)Kp3O%'3Mnm(qӟERzid P 8.Jw׃cM{3j2ў>gGH2|BdKT<0Vm3s-P>.x6aEB{arЩ@ ѹ - J{s!ȰV/^4]$98 =)arJA0ز915үrO* "쮚FVv2Kb ߥ[SnjJlc@dR2bަ I^/R&[bKwԿe.Q@х?a&^6!dUNhd&-?eΫLhXT+ p~8Q,Xefv !+;4dI@D7["fI|d޶.̍aE^d7hvCހV 3hYMW%">'ĸbΏd` V=9\9PJէrE[zJ~sV& `B2P#>]/\"ľ3q|.|l,W+;߫m}PpNThDžah'.ṁ)^ vo䛮,+)luK=<>-6?@JʹR" rVڅz3V2<7?ͷ1ީ@u$?R(x7e]$O)3 ),*qt} n(BohSV:NOodB&(ulVJM ~`sD/g&=sM@p)!${f^A"H/8;+*bj"@OAt8CBh^‘6T(#o2 NI Uv*GeX<ֳ 8ǛƄʰjHdzj3VP*!syaұvjBTa ude߸.gnuLL HG<ܑj p6u҈%$f 0$yiMGici縉QO#0z-_ 6}b/ UlLv]7Bգc絠G3rR/k5j"_܍]RKgj,]TRAXo_J'%j56 A@D.|$^VnwgNo o5T߼@{\j;FEӧ]!x.$bjvjdZ'eARS!DMt|9GzJAJrӷ#6I"I֪@*vE*:p&^*@͏*|ՠ`0DF f?s*Fn#v } e'Eh-4o-Cv{R͝%޶- uiMKɊeUG=pq9Ylyguym Rٕ-#(2˚"(PI0[TJtT?}UY.&4Z@G>&q&WIn.[z,I8#p )hs%Hh)?q/_ T$U 4Gŋ"\~,vVKu'/t >@}hbϭ^]*YA a神ĝ$}X#Ez  ձՠr^,6qČ3RGA@ S 8 m =_ɝI:Bz[n$ciPYr4}H3X%/(r!47DKNfI428)1 \,RđWy4Iy r`IL"qW_a߶XwCeq &Ʈ*k`t:'bю,;WԒNa5/N, -w9%0[Mʝќmo1@kZN)LԴR"Սʚ北AitRVr^ €H9⸛{8OW`Dza7W[:v->]O6$͛"^×]w_,2qԆO1 zȪ̬-+_v>8ǫa\t<*EhʲĊ¦B5U|sr{ffV_V5I~TK}3ܧx,@ RL*~:@yI ZՀjQ:<{T"P{N w+// +J3v@Pd[3]>%tS0hfd٪D"< 5{=!깏 [`ñVx} 9ɻxT|q,oo"txY[j'~gLS$ǹ|ShV7mP a9̫+'}oN hš#’%潢|}˶25?GK5)@ʧTQp-́o5C2ȪgI*67Z6kE f'fa!E/Nn޶-9 cm6A2GXER4I('Kg(a=EE4Rw)ʝb!R1,~&ZW='MwB\׬Px7^>B6-4 n갪b)&]x">WӕT`'R}J"DsK_=MJ]mNy{]p(1 euاUK_Z;+pPz 4UUooD YzTH7#ğrsR]\0CZsVTA4dNlD8df=2vJ0h{ Q 3Ēu%e]۾*>~sE&q6{bg\rژȓ$t:*XE"/)}[01#=OP(zJ15 yC$&'杮@)2Wih:SNfX~ !.-YtvИ s/ȁł90nsK zN/ZVH!\ %PnǤ; !湅`b=Oi}²q9D jOonO5Ʉ2۷c-17>~CJUR9$eQm/,jAX|ehWQg[W-V[RL@>0ǭwĹ$xz&T=k k F%bCCU-GA~ojS.b4OoUz'xѤكhN4o D  Xt0ueyoisDanE>CÜy:7;e.3ߍ0(`/Z6rvKX!\ 0MHlZ9V^k& uS d>|M_ o{"%)n ï`MÀ >+U@b:SgCM:zb·o|+de4;ޣ|pNك>!? d 'g:> SCN JEua>ܳZ`uOJkյj~wl`RrOwM:Ǝ HtI[R]'#Ϡ]0eYFV;rw>?dzߟglvvNSX -|??/ 8S. p[Y$sҜ$CdH"לmhLw$NMn5&oa$mĺާuaɇ~Jx4ʋފ_0 -5x|_2} dOk)@3R5.s-yKk^FvHtb+[L!}hdaZx<7aSƗΡc};vP09pcC C}}&wJ' C.@[>$TN0F<*~诚*H%Q/$ATަ{yOghµP6fgR*x#]No*ʢ\w c mᴣ)VAVպQF!V\* OhCTXɲ34S,S)@5(!`~浘4e&s75V䶧*|vd,Q ķ{ʝwR#!y{=RF9%E ?)+"oyj+#f/cv֪B[/IJoJ)OBvj*YMqk"Jev=8DK6=L{rf0#_jh)ȓ[l)(# C/ wBNow+&lrڢV"r0?J^vG0lt^G]'XP'9Y#ݪV wᨎ6H mhJbY8Gj6(@Tv']EyNڝ]t(T:GE. y ZðkoSÑeo О~Wă4:=6jȬ7ugMѩ!oA6p%묔ud~\LMmB޷9doKk6.ݑmξ>aZ]A=-mR,?D|ij89)|QKlYsO_=g>s'./ݩK2^wjl뭩y묒#TnpepHHҙ1 TVwc.SLyfLAڍ/]?ZQJxӛTq)yx؅WB_PR @.(A[&X#' M1ԁB 421tY=7|@!Vմ_d*?US H7yLZ0b]>w#Lv7)[0yRrPdp!C-)b߫I ? C6:- ٭DNS;>N%{St"o%Wn ǿ ʊdD>6s\iTK[5~{ Ghcm鵮;p^ pQ +v:@(I g 1&t)!w8qVlA}MEt˕Q˨ 7^Xev{'t&KAEcJv294ԓ GԿ#;AComZw!bߡ(Wop7C9ZX|)GI/;HfjrDep}A9yip(Ɨ]~C!2`]|sF=|7?⚱j#U> ž[º_lcDZ/-[4Z28(¶"@O79.o[72h@ۮ= QP)@*y0-,%-Yrisy`܊MĿŬ*G֓Tq}f'ҳdh:кBpt~\ v~)  3ȟ"o;1 'lP!V`" ;N_)ɿp6 $DF (ǩn]nf`6L^ḩ(e :k5kOBYHǙ8Ǜۏrf&JyaSRñIbZ.SX#@<ߤtƇ;~5K ̊G`nNLU)ui'OOq |Xax}.Ӯ/C @v⬎"UÉ gr5D!ndYsVJ.ʑ a4SZN*e*8dtB/SGV#oU!06OŎWv8axE[<hސҾ4AX0tyyW/`g,/JCn +Aj^wHP2Qon_mF `gK([Qr'`y:W놷9?s.}5 Rr7cu!׵LY]L]S8FڳWl p={|:`r3-aik =Æff86leL~# }1ﺮoNuCWhF)UmrWDo$a9b&`KMﱈ-2Ȑ:f(Jwu\%Pg_pb~j?Rt`S=\óUn1&J"-5< ZWϲ+>R;S CH}af$PFsc60FhҊzC u^]mg.LnHySSųp|QKs&?kƞѐHJ1M5]ȩXmB9 u8]ʥ+h::N hcl*v)}vt#`?̊ C{9%SVc7?pnyvpF P b2Ɋɒc< ) GnTyho bIwvB\~W6,je[岲IZ_H-L+k.i8dcȼr#%Tܧk4'Gf?K'}gǓ:}Ѡx x呺),Yr wZE0^vfK"׼DO$[6u%3MD< VU8P_(+[ &K0b|7Mf?.P׀̊Kb< <^6u+g'C ]gŢzbX#EnMtK[bC?<5U9zaB5lIUH_Q#T;X)&@XΛa:Q5ld98?+̋?\L1.p߳`2JГ#mTNv>&!;NѴ? pdI@wwU̚›ߔ1f,c )^hP#9"*-qe(節$R>BH^>kPva]QY)&xe%0f6{{b_1L;tUo&/Zoوx`TLA! {ll$Hŀ`ST؈q0@)}ZBiSOWy 4Yk>/{Q>@>.mEL{B|~2ȝ%;d솝1O1H4p䲡د(#GGv7{iYv48YBj$هJ>\;,9N,]{Mt$}~ϴˠ]u/\5J١GKHo|W#`|& pz6=T &=3| ]F77i>\O]޷_[,^0[ .Z(#dYHU;&\Φ.+a $e wj'4l6_ ~(  W鐱,giϻTKM &FjۇgY^W{ #PVOG Ϫ`a5[C,5)oOU'y_z]x#͕8R^}A 9Aת{*MlR 'wLC; S1zKL,ՙ'MQQX=lKP͖M!M?+f`JyQuk@di{p6j3)1 Y;+B|&-M˿ wQL_(.7I&3M:6@ [$DiRkf0 TCȢV% \e(dn>Ds9J- 1.]vyOYlCd[ B=kIzeۡ?grFXCЙL8wR&m5EZ?oŞyu}.L2˴;-V![Y<A';<daƼrv'jS100W#6ˌ*?9M+i?[yԚm޵RTfPֳKZ̓O[-;^N3NܿD !+L'pTԶmtRx>;zG@8Y`ؐSAŜ'~tMk큹&['.ŨC*sN49>-SFHԞt>m0~ha9 ;恮@M0 F^̸[ǘ',\* ]0MTGP u"˕cCz2WDu d\RNQPxǫ̼r> I:eZD|t__,}F.lG4ˏ[$^i?nh4N).Z$#IG\}N*hހ51)^ⰳR>ҜpNB7&-,PH 7dMJp$ PA eEy%I &/C8&RKdA>K+q &#(*RGCŠ;i>:I0d'yqGu G;&̋x {b&'|"PP`:(U~I(> ֍ |%KyQ8$n\ylLlD-rK֕aPL3u^rņ2]'S7ItKXd*$AM| n.-; HuEśXVOyfM 8tZT%"yC럊Tx9,Eo53) o Ntng8ID3 HjPmGSPQf>Dk*E^mIS::v #z h Tډl[t}TRPsJѡ({;W7_x'% ƑKݡ;~ʿ*eCyZuaAq72T~1ٙ?KX'C؞p)qseS?ra_0.n[nG&u_>OMl=r ~j_+]'͑}ѳL; Sr/`PJ_s嗻Q06P@Kq0Po{y8:?4^>p1iV'\(๰Zܑ/>4-,5U _jBhLFqFv90֬k7QG HmQos{-;)7P!idS Ķ |~:noA(^@m~# ƗY% KGӭ@E$cW>Bf"qlHK)Jo{R s¯w]ɞtfԹK![4Uc},vBhT+=NMwV>g/&ԸIfHSnK8nt8%RY:˹|f#&7#` od^G2!q,%s='!751\Uή-5uibh sN[g:$HJKl.lX-Җ&D9ҘvǴ;?E9ԵS2a8ϫeۻ]ZI{?]iYY"c~mY'f4AjOl,p4 c< mv*+tx(ùESk]{P3 ^MѸ4w k]7zUzSnx @3\F/*TĆhO7o [6H~N GBn$]a=0a]W,̕XbID^q@pyJY$,e#ڗ5;+#]h n%"kI9&ݡ3V48KX3z㩅 lXG^MKn+5+4PdލU?O,.<;-A yD\*8}8(C|I[YZ fnX~gp9Tp=-BY7s̷j׷ő~܄#ǒW xگrĔ`0i, aj'fΝ!dYRiDT, M`MU݂U" vVVT75E^ݢ,Uy͚dOw=Zx&N cf8B^]Ng ;3wng!_Kg'wN BD1g L6 _DCRtjC0 MᲞeD:NL-hHUAܥ11LRQ9.rW XKjq0v<~ۤN%))TgB=7 ''קL<<0_3 w]ڮfY=0|dg(GǾt!}Fzri0!qy ߮A.ϗê픓B OzjV`uF"3#K4:̓64T;8`/;Ъ#*s؋iFΓ'Z\ˉ6M1HG\9d`l s8٧"u5d3~% n6Fa\`WE^ivQָt{*IKKMQ6xAI9bQ(V_[Q|i|4E9{,-P5B.\((\I\C@)IfɊhl{ܹ暌|-h^[ݵ`ORKk8ˉTP{ZgiDHe9e|-oO9wsU렀!1r]LaH9:K J_q {i= ,!%93#<UD@3h(W0(v}vsXRDG } Q!w`! ,AN ܗ̘~W F>\.ɴ 7T{صF%ULvr[F%0ɍ% B,qYŝ *ˑV (pgM֕ yK1+":w~IB(n3Z9`-w2b5]J1O!)=r&wG~K)}䍾UpjGoPbd̩~Ahm52> qy8; jGnn@% :god$r.2ݶ4Saځ0D̝F .|?^2O#ASm?p_vZv*>:m҅Do%ܛn2 M6$&9f1 EaKeBLo=v oGZ#BgQʕ DJe;0(пOV6rٖ_nNrQ2RŮRN1ܐ,ro) zVĤ̈́k휕Ѯdp(ҠƬy._ k+@"'Hi7G :걷ؗS8ђ^=sꍐu! ;TBϬ=G xAmY 3,jDZzO7?oኒWG(kӶA6u<,](ٔN@ߡ2%A܃ i= ;:;]i}ϯ})yzb;*ypnO]"^Wsl~*ztzˉcY(`tS`.;Oc oBȜ_y9q`Ӥ{%kBIk94*;;[gxtX;;R 8ي\Mp(M) >sļHkδ^ZV ,0]ڛWz'f03>Z*"XĆcY iKۤ`@7*ޒߦ)3bz &fnQ'5LRzҙ.RQs \v*(0[KHBs$!#O X0a2E8 U*Psx}Uʚg1|J?gʊhUD_§j"˲Mv1 /='1j\'sd߀ U@~-@xZX5"Up,ZqV哢ri8]",=%+myϥZ@(Yzĩen8S̓mfFkX^ 2?`ysvM4}^ &b2|US1^;d_ufDTV/L_bPŲW9˧EY5tCyCm۪QnzgK WGzL[s~%j y4c1-RSŚ\G#^){gέ ]@(v2IpU|g60-<ɼ!Gei RB :( Ho}j~7N ȲF ^^.l#G!q wX5vZ "=Rsfy"( 8c$͗) K}(|IOnǤdM˦Zsw{7<7߽x1)6'*P+čK ",P/a&&'ۋ (Ss t7ۅIr9zmSxC@L{O)}7Dtm_aОxG8ߺ妲[f5RYp0R5/5Kvu7wJ@` l՝^r 塻-B&!|=~E:̄ƤϸXq x!qt6k}[>HpUb|Q Z/+(Vń(W{ɯFiQPOՆL)AjrgX߾q"?H:Nݽt&Hv4cW鍚='S]Y~1ґ{jDV0ZOFJ=CJG\u aX.rx*wY7r{&O).+o_+JRZj*s8X}b^\ "9Ph_Gd_,лU(Nu~`Ib(`/.zX3L@>U3}+v8]k`ޠ`r QU{ԓXL^OW=&U.3\i+lf2f-ltjS]E0 ahAЗ+4,ȕQ?'ݕ}%' X\W YO`V 0c=/% }xamtyO+>rĪ'hRߣ`>tY_̈́{-M<2Wӥ{4'd^cي[𓹛#O33ԨhpP[pq'!qטwDM%PrQay$vzFqxfD}y0e8wkwt)XkߗԔҷ2=N/ kSuBѲn'xxjuk&p!WWE}{1rXs r=Nq {7 TՂ;zUgBDŽKYά%^(MLyX z p4,䍈An5xt]s'$  ~ʸ4,BWs ~kOHν<ќ3t+d{/ SeֺZU{kT2\ 6+2?Y\e %O(B!F{i au.ƃ0&Y=\l \+g2Ȇ\xqq}6\x/'Q~ P>E__8QU2 .$3N&>( U]aW5NV>%*f+tِqD}WVT%Na éb()aL|̤-GMxt!QS/җzч"h(^;j, _ /^th#"_4aI,AE-(f`]e ى  gv/J1J"u^`0JЅZÝ^#u9qWYArf<0.f#dy *#ͧJ^ tѽ9?NO'X:7ݘ3pT%ؖ~NnӚibM*Pg< 1z1wڰVUʨ Be] \cwf|{Ό^jB*y&=ǯ|Zr)'K'B:|G-{GmpejgiJxc=6ȍ䷅KFR`AN6)%?ڌDBclp&zbJ:$f<[Ŏ'66צcތCh, <%*25_Y:ul{qsxuRBLp}͌V"Oc/"&XU#2IJVo9[w O ,H5;(&p15@:<,R4/L7X REWX& 7_G3C;KXd>ަ U FLm1J!5eݻX"*uk0E7ƒ(ΰbQt]Gc0#SSzs'0M% %w{%^VRlC:s TC{kDeI۩EKm4P͉% qFscʧI!=p`϶$>DhʃڌvZ˃Xs " 457ZrKn.|n-5la ˚kn~ %H{; ;X;aV:ey/Z [ #srhZui <b z/|G.66c^>6.` WڦNh/t6՘t{Nc Y0.?²[TD8щ|IEug„zEľ! T=*&Bkq29*N>Sj7PL"&AƟ*o@Yʂ;T C>Y#\yVj4Ik>ElHe7MyiN^]8Z?6H&K9V@*fc!ƳQ;,Pc\ @ޚAXd-jg~tʊax~Yl{ԒLdV.zf =Z#(H-VK %K&x .Q:ZDoD6UAi$Fۅ.Vlii^ fKcq:p*oh++2WMc17W ba}, Y-ϰd*YX4r#xGCM>N.%8Tނ?W!a!M"+iŚH%<]E>5پH/P&, , }{[,]΃CTgދ{2ye0f]g bILbӤ~l$62?:0Aۗ'9%؅,Eq@H W+X9S \HƳpqſ{x%ROXnRˣ d`*=A΢)KdU# IΞP8$$xrWVIZ#Iߔ^9բ="e#|[:-#3ʠ$ 10- :a;`c2[tj*<K;׀oBzHRY.D%{npKt `IrX6" Զw٧;w˭8Wv#zJ5rr`fjGt*;b}n޻A y)W \.%%S(=Mz .u0B/z!{PvM]̼](QcH3Aܑ4W.l=w#?-}\|]]^{"_+>g1ggv)~rgPtjH?}f bjޫ܆mӿ@lTz>#'^߮)&]"}0b̐CO tUQ:`o9Bp\(uaIG-]Fr{h hs_Mq=C.DEejAQ%@{HV(yiWj# 5rq١>Tx[K!72$wb$̽A@ >XXjJ'|\ ; M[#!PgW`>PRԉ+mqjGYy2$P l{F#9679+P2t>:nV+KPA .mhs唅F+5e3 JS{C>R7iq ehs $ |u+geUu'sz1tf zGl92gtrK-h•M;tĐ#,t0G4 ϡwLI-$ùab}u{c4f|Y?Bҟ`y`ƒڳ e^NAz:aG+jQGV5=dWzWq0ʭ28׵ߢ,/iWh/8bvuץNc޸\JY1&9BR:*lM>ȳ@ i3B-1:s0]\j6\5TЫP4ѝtaqJV^<&$!;2dkO˜)*ۏs&fh;SүlgKM`e\_Gʝ)v)(v>, %4V}Ep7`'L7rhQE#qtGǔ/`qoݴCz8xsΘ XsAaWHXK[KDlr38<}XP?r(SW2{ivJczSz2:$‡$do܁ bpL4hL1I4-q_+̯dϑw芚ͽVt|C'VRӇhݘs=Ww5,8 F3,mo=)NK5񰩷&!/Z%g4Fꮭ`q ;z.۟'G#PƉ6]৕$2ymS[: dF~`Q0HG3a9Wʓ)as{O ք?9wT_Wy3k8󇄂 [NHE@*Fa $mV(%CK؛+l1yAf*f?(2M@}y׉X$!T\^=&Y4,y`㧅1G]V޴_֫L asyO#Ο^vcn9[Z^ڿv\ˇM 8{-.}S;_d](܃NzIS1}bQe8#_<;*SrUZdhJ "z=N2KS 5FMOvfL˚W o?{Ci9,-2]q#BV@9lM  r|_$1iD'Ab3s 7&\1/%391ݪ69凅,|gS>tp⽷pҾ{=I:TH6l*T4e67)@Z ĕNOɇ9o´=o|^Ylhmu%`P`sLi|4,AJO3R ̛us=/?0h+H-D.VsxX =-#(1thߺGj518;!}JeYq”z}R$D;ܞ_q[M)!6qz##WǧR\Em2*\V=z ނ[dx:C_ۅ#tVZ婰(Q8\psfv~ҒIkŶKb` %IUJDwXScXڥpnWS_n}§zEu[8i9H"NsB%rvA &JLXXEs]!AyoG9gDEH]zh|!4/ D͐Zx'(e7V=V6dj4`IR6GE2&>W#fO:'?vNbPm2wB8tjvRFKG&_Gmy4GX54ӪcǨ$>5`v{_x5CNTx6c.%DtAd%jo/ hvBAlP,Y{ۋ+&lJ'*ƿ#sN01j{N] *.+ɺܴd 720Z @Cm ƒrhX" w¯U5& WW#!sa"%H@7zX!LC*nي^t,feo\XyC}ͥ@{bͶ+BMڹ#WS>xAXA|}q4[Mm|7_{d GūHK8} 2F睌T_g)\1[敷DY*HaG3[ >-WYPv'3-w8%~2Xnջgz>wmxo-+aq""L`r ^9RM[eîkf˗@;quSB *dacJkI dpJw`^k]dC{bY K`Rb^x c=EÒxE"佑%ɰ8A5%BnG?L66t~*K`,$zqEq\te.KY/{Ũ *Xۿx /uLgFYk.|L%,f]򋏉]]ʏ7NO=3z"Cu-=?U8 yw{b޹nsIV>ʱǚ0tz&+h]Tǽ4q;|"4 .Rֈ|AReE˄2(|@߫)\&ךKqZ;{,P,7IZ+_F<+[j;Io i _Wof̆:p͡ȶlì1th{y~;;e_^5ЅIwHɄ 03DK+]lj:Ec4i5(ZZn.W"2luA%l;B2 CYN0=cB^KIS`ڡ|,gvk]x)z,"p{R͙QgNj濕{[ yS=jJ"ܬNG?kA45]'YYTwixɄ N(MMwMJ0+K)Ȉ(V]]ecL|mso_0y5AOz6:🫈6eR@+Y:wcz&Py?:=@ʽ>ONDGImYT~=ŞU5=86h۪Rpo|aP?KV"]>%2(OZa5L7Gz|.ȀcҳiwP~FwSwàlF._dh@P"db?Q`J1q" oBcr é۩1gj3G[BĻt<7Èzvl6ɱLj]N覃r|Yk֫|N=7ulHl>aځIsHA+`6A$2@w)S=C lBƿ7Vmm*'P1 =,<Dn!rRB.KDy9@0aML<Q4P 0̓λ40t.EH C t 3J+?.؀[ډ4+' b7Km>i H]8 /ͦaS*s V8M Cf[1'qZ1r Zdm'(CB˥i-(Ҕ*l_a $,u374k-ErÕ mM%B Lc\#WMjK!bl2R™iRLe&c1qq۲O-^c>!bX݄ݑ3+pJe_|0wyȃK(N-"eQHơՠ\:@ΊY9 ]9$ r-:kHmϟ^c荣 w_F *}=5ul ,8*S˜oT~j6"}YВι\a:\sQ9WȽFRC?Q@ #T ~]n,[UHw4϶gE!~cY4BXC8٢&}է?9/k(Cfn@ɨcoBسXEACqc" HEBUyajhj=*-C;6JQ5-iL$⍳0#/q7FE ZRd .Yf%W3 2Q_#+'Ŭ*b.*XdY-'6`[},B4}d? . (Q}S}EߔG璫\T"DWHyjl}}J c/]!i.E@FN,#>HO i~V ܞJ!٭߽C宪uc/y]ڃ\0ɗOit,H8hUVcXb3J0/`,mc'd` <#\AhW>0)@)_ʈg/ޙ́]ȍe8|lɊr#nQN BNb' T1Y5HeFVor8OMds 5Yn0 1M g/ٵxkbZM&pnj;rP#b?̞J`*&'w9| CϮqɁ ow C2CJJ莶Ҙ9ѰTK3VoY`,@o YF~ uH@}AQt^&*{\6{N jEZU7" %֎S{,@{?64uѪ2iH9Ѱ"C"^aMr۽õ\ LW^U83 Boi{/1鄑|@V1I\Uy8`,F3Q=lΕ_!Y{pkER/*b&wLJ83֧gQ4L{[?2*cGWTLLPF nP@)2i[}0菝Db=f_@Ը6ZzPƒohx]Y`*$Eh2?$ːY)bsͬ"eg*Vnĭ+o֊ ЌR-rħHNAQ%v6wv/~Le9U$h[Kfq_8/+kR$wZZ I1Ԯvįv(j&%+Q;h%> ۼL(z',.ƚ,L0B7y62;;fQTWޛG>SԩJ<&X 1 ;&Nxon`X5RYTX{ `VpʟAz=7}!mEBbv4k9P §4Ǜi@i˅~;R2mGZ8@1N<9"4M]*0׹dlQM]WiOVKb*ݪEcFZA$i3Јyb68.e U~"E68\o;yp+Z;Ffabe?67y66JA8 zڸ '+i9pt@`%s({8=7 2A#}u)r!@m/,}7MωM\:b75@50RUG +D[Aݰd+^WpVзqяO7Bqò^Р2Ƞ^l z+/r+36RDHfP#CPr_wvhNՑB E9Il5;lъN=A,y1 gugd"g~c{r`wR1lߐZJgQnS]iNr-?\͞ )$%PceS43B/t;)I4V%HM֌Xj`S@pgPxW[4t9Xdj*M-4g9D9El^ݔViE.Maf4Dmj4^,Łٽ)湗DjxgX<y5[]DPU Ǿ g QPJ~ۡo,o )(oft҈2ଅ#3tmb~osnVRKk6$Da*}A}h~8@ B@o?TuD ,[=V8 @[~qf^.Rx Ql&Zf^i174LHw\|} NmWd"}K5֢b:.طc{9W' Q}4ǰi^֖yMMр$Lɽz&kHuYF0_TO@t#ץjKx'2?C|ZO.LN l*DU:` a | ʈ~`FGXM^3m6\E?FT*1(0ؚ]uSYTg6! tWY|Xm3BC{&x#CKQcPx3P]'m22 _ڠ{ QlnZ-pYF"GS&C rZOa١Ϛ $Gi(LxKvgv oF#\uzs>\d”(D#撣—K^n \|HUրɰz-)6J Ֆ<(+fNvRzo'i4fx6FY LE%R9($.~IsC\KY/z 09`f=rY4cyHI@#OU&m5OHO+dI .]HxT$'sq[xzyFUͻ:XU 䂐 ˣNs 3VɷgJ/1Ib%2?hW.?qڻA,x6x3/V ]1/Q6QVRQ f!QO)D$9ߏCz2==nhFޜyjV7ں<Ltahsih6-Bg .Ym:O0SbЩG2ޞMVnq->X[KRM,Ƽ&.tX +f`-M/pX+nL%Sɿ6?@0Bc5RM ?cX.IpjM<)-|kKpAGR`-Ysjs5ffk#6X }|yLʴ$D0-`BkM=ڭ$hYF4W7Jh0ZOʢ=J~iz31~X D7ۗ,J=n\`֖7.KGm|(oZ$&Vp[ki}>z)VZ f"<#7L7><UPCMTp\DH"@F^O8rǻcڂv}\67t?ASJ5е\-`c$}dznY 8Y@M>-%Za7 _w+r= "is噄Y{Ax+F#!35fk]Rg4*{LL_z%O'*c-9֥ 1ϸ+ء5A n1c5i^8!ڈ 2khj:_j)NQgqApi7<},mKKf|GNpX(8x׎܂5 Z=]E:YHcJO,8%']DBk:LPg&K|t܅H}oB yWg4p3ӝ2} }eLD-K R|ƨZ3K8e03/Xst}J5,z'5șS]jf1cIpa] vmq' eN`. J}L30.Q3b'8d?kgG0&>ϛo+-ET!9q-IgIds C%'i;Fx-`[Dl(?.@#J?ׂ*lGD=FujZQڛ`į-ۑ=CԐw^E`&) b)`/WbcWO9Us=Gfk 0j?ʢ.*V'<O>~ch_ҩZ$d_KXIfbu>U~ cv;N쬴h>Lj<~m8׮E片3wDM:Vz^\]J!5:q"u}Ћi-)2J*j_W(47Qkצb5 8LPٝP< hs7;ͧA f*O ڽ}]y\68E#VGќ?UdvFx9 :xK+UxVANo*Xʒ6Te;x) sMz.N]JLؔ29'y̝}}qow Kk&LF:% }S,݂.7}e*1d" z()^aHh0P߇`d?>َA`F/>e6CQNj|Ph 捤 +q0*h%Ѓ 8::S5?76z'* OK=jdk׹_3 'eo(sBfRWQ,d߱ZZ.?"^5Q(o^W,/ Iw⡦bƅ FuHs챰90.r<u [jλٟ^BMS A6$qqUZ8WgCR{{Xa{g3R@,0c#ȬWjHr Ed<'Ad(W`}R.Fu ,g3 !ҏ DwD-V)p>?fL^I&ӈ6)=ޝ@Oxxw- dN.;=PF鴽C$XD82/-U,ldudqCMsD8ƹ0wN̚1Xt]KS__mtanz/h+A5O*KIDA{{yP]/X6(u AA!M  MВۯU u'KԋRF ]IU?k,s$iS R@qFx콶'N-ZRAmO:a#``X9fH;mP5)P x|ȱKIV3˻TFt8~.T sLHѲ*d.{뵹lo ,Į77,v ^3*x=H% srCVUOaȂa VVXwS%Tb;Yq%Vl)wqQXeG=~4'R={3Z?!cX%o{m{4ұʜ8/|:LA P6ɧx(o_9/҉1+#ӂϖ֑EZf13%z%'daE"_oYHMwfS}/,$#8-}ʢv>Z1&, r+%]#<R ˕d-z>] Hg6o^9x7f/*s߲keg3ZX0xe:N(bA$W<+ۤ5eI=̘s=9өM]3ߓuGε<H`u",(0 .ظyva/wՏE&PQe $ D* Ѣ3Hm9!p=8T}}dAASqqo|fzDۣ;_U"L_RɅZDw欁G<9p0&`FP½#gRgs?tV)+Y,?>$3?T(SVg 5FtrP>pL|_"_d\ڞ->USJ5jεxxH Ol-O9ڃH~Y*3ì;}bHKLVWrD`y)669+Ȱ+T"$"pGik?e{&Fxfx \+q&i+\BO 0s׹!|+.{/~,Eg!Q12⃖-̤e[H0EoA[M||q=a{\vA%K yP aNh̄dpWn>ɥM6<MmH_ ]s&fpZDXD@e 8Q-(ɇovY, XxoR0ِbk2n^/0,wAmזLHn*mi}I,>Cn+aKNd ATݤ}OXoz$ c̃าJ1sReX,MؽXγHf @!y!tX_)) N3j8k2xKa#L ]@U>a OzUsƌL#Ź̲VzpAc2U:j]@?r|X9>1Mc_+: u=/f$Įh4hZIcH_Y@J&0LKmZD~ub#&wQ+ 2$o| ?GDM%aeͬ M&>f"e$JR~W-S8 L:Rdr*UqOcf@4`c7 viTTBR}IGEKϷ::F(:&oS ] ]UoF>xrd啒~ek],W1~-q IS@ 5١`dޥs`+pV6,yMǬxNU"Ã"|tJM1^|լBTL${F},2 4SUk0r6?$J5s{mS=^;5"1Na!Ŕ9~Tr*w^1nMvJ#{6%DJdQA&ΘNq1* {(R J~>ּ&_f|@uݩ@ gWx8X^WÈ$(F븵LuKsd <qj"8`Z+F H'O)0W4|/Y,KG| lpB(h6*BszXKE%Qf8g">&+=˛ƹzY/dO?1|Jݒߣ,6%6%~SWs |g9;3x|9~u`e`Tچhn|\CQAxjti?+:!b\@#$@4u1x5n [zHL &H hmۊL9x,e[?d$T"ʲMª랶J;$SQI%7dmC#59tjTO?PgXaܴdGK7Bhsa_`DIFi;k2bE*rq$bY3 kITTHo }*EecqI#!@Lf{N0d9OƵGP $'b>ƛYYσ~.8`f ` w 5!)x~q kћygKoAKN~:`}RyKR?3dBɲc(Q紐EF!Bޝ!B]F[?Gyz`A$9/Z _\R-'D|!HEړ:^ KVw#0͢j |\J=s !ݝ8 Nm -Q⪿RhD G5[bzQxZ`^z{NuOUȔ(^lpۨ΂|p B507TԈԶֻ9`6A4\9H3qjm`O; π֏a}*6s䭕X*6%@iysM?]i\˱7_8!Щqڂ3\XyGUƮZ{hHwvˤ>,a:kO~\mnKsÎ0%"j'i,ZƬ?;Qu,'rⷺXSyQS>_[i ~s!s;T`eOd.&XNϳ)l{e'Lˆ@rB>}| K298 -ˢm5f4 צΩil`F<i-iNEgָWZ &h8$Hmv315H*)dl;IOhq`pq4M`T^N*r=4k.k7Gf*VFg\vcKt![O&!F[S4մV}PA;9?-ڕb}71)BĪ=o & LkA?؝t-K25yjsPdPQiEը)AkUߚO|?Eўs-@*p#;j p ;arrg\c7D fLSnאբIbZHZYoE Wf\9MWhsҰ[=3@=PE"3 lJ ^@υ ʀ(g?b lKYQ:ȭDn?2+RV2;,H@xA%? LpGߟ~J%RZ6h &PrvY(9!H뫺{2A9jšessU=ޗnD:?bJ~mm94j87;9Ʒ~#=yuyqtdD 5oaiN4@$NZ}K_6G]DX:+ ]Z%T^ ~I\CsksD4I>xcjfC<`FszV伉x7ݸd.Ak \,:ǫ@=kIO4DN'cip =9s]W?yI >}O%j]EMT tDZ}E)-M6Y?H&1j*/WRjcD~tSHqqs~~ԟNO?C\Rr5t#^E:g* H_swNꙗa}j5yn8r;-#F<bcԿO@wZ@H]o~L'p {љFqm:wV;wz Ng$)] _3*KWr1!e}7Y[zMOǁݦ'#CH>26:mG OE68¥ KZut:~o赯26d/Z۲XL/ x~XQbbAcM s4jq*H 9{WF{n,*4A\ etԸQlG؅RƔ錯DIӈZ)!+L^[4-B/$>CL2A)lq\E1exQSAaY3"- }0 >(Lf@>0e;]&vb,B ) hKB-\ظ(ԣ;ʄ=j?pIAx(>qNVYp& gZ3 }!yS*w7MSBR}5WO]>Ytҩ!{Y"x ~H +k*nVt)[?;T&lCv\O*^Uk"xu-+HLc#7޳;Gd/TLa]`X&ݷ87PMdhY#Jʛ4zqI ѫ34X 2L(@VT =* =ۀbye8j,V1ʒt#btK!CtU9reL!X]%>̕&JTVp׺}H)lNm͏JMn(Q?|웻r-Sa47{U[av3< =c0!`I)h?|Z doylIߙ f妻M&c.Hrr +EgWBO\;C` O,乬 Sc^;Vk$J&Y`L|y_ZFwՆC$c-]y<{ji5ή#[{pچ`bC ~xWM+<1xnW\(z/L{܅\A-qQ@FKcti^𻦺_*N|rSpajmՐT (\($n’- I pMyI 8ћlKK[ 4^h\Qr-:'@?^O].Y Izs~VjXZU"`\HHIW/&_8j'Q[zt*NJ>j%Koz-82Uh/"P4mAʢ.wt 3nNnC|Xx(!C`8z%OGD=?QBϯt1>`OSv8ImX'\[91v2n#V ْ{ڽ2U;F'vXD֚"ΐX*챆Deb~gفz?,fWҪݲ ̈́XZ5jghi< ? J.ۭmn*YCЋhORIf0m%41T9(FM;y};b 7Ti\R-6Ͽ,k>J5>;l$f݊ж%M Ur@X^-~GYY$we$>m/%iϟp&3 > }6 |K0r=PTLڗB&,lL %CϸU>GiI١/vۓi/D[h+JyN`6#RYpהWURKr4f6W'܂i H/Y4L`֍o Qck闶ĮGft`="U{EDZwi5*E#q_Bpj걬Kej/yg)##:ZPVnF}0BTh@keuȘRm;fUIOڜK7RӉ&yH͖FoHh^[49zIgAIH 1f]^>#)}ʁ̊:"1-O[ݡ}k|^a,G2-;JɵYʚ x a`7]eq>EM3'rkX|w&@ r ĵ`ֳOx<Ϙi1]wT;2ǝ= )Ww"s6[U42/;KkCq5/o>ps&*58&f#E_0  ""Bq9gΙ`u-1!0r+7(>=BWDm*ÒTM˄F5'ZB2ݧͿ#8n $܇wmO>c7e;{GW}7'FY+:Աw{o*t3\.A$W=^ ŝBtXbo }l}O.:%VM.o&LuUuneW˜s>c K.G?ةpDKRn !y\>gȸ. Vr߲ۮ[}>AН)C7&W<.xټt&pMSU݌ .[r詈,Mi'{Ѽi'lQ\7/.b3Xzvܹc%ll_AY)YG]Jr;;C0w\/Wafn>9ө^M=jZwvEuQ,/\a$p9&mJ,aeg!1TYƑrіXVOV@hZJ9žs3muwJ-v$.gY p7M `>)MAc/oD#hː aIO =(ʶBcm `L31{1>#:sǣq˫f+ʖ z!-z_U@;X#SiKt2^Lw7i׏ `|HGVp&6, -rr9gՅn7kU!ukQ8b!Ȩ쨝G^&EV: )ǰ))*Sa,WSIќHvˤ?7|k<-xKƿtN=d>#h:3K'X)4"7aC\?wFjsl:ZE&n~.W|?1pbGsaoh][DI`a\ W8l*`fJ<A~iW/Ccb~ZO-+z*v#Fop.DwVp~Oe%02 Zq1,zMQ'öG^Zq4zMKKB ,G/<rn_~I\2RWY3rovO,wWI4ϝ˛V%s)ySlѢ J2m/]RzCn«.*-O !EiٿޙԲH'ah]hİکH(ro-/jsrlB=IHG] @z—&$K4K`:DIQ^ ¼qb<(A~#z ˸&)HN.S/)}0|8,H)S& aWsK2W'+iD#)Jtlr9w!t&&z=Rc B.UAQv9fs5#)Dj^hTOBaBJ6/q.[j&f:ڮkŴ ̯@,a DKgaͽdjR/sX #ޚbki 8 =I X?~rqt/qjI_\XO| !#ʦ]fctɵxNcj }FqLgs`*$0NBn. y1qx#5M58wKuA, G?` }4hˬםjօEiRhwNÏ"#5×(t໺J#C jxvx5W>k ,6#r&{aUenJb%Xl+Jo"F&kK2bӎ07 +BKs!W ұ1]'0T!tp)NjkV$@ (^íߒsEX{˭dDa\o<#%rO>5JgFBAx)p*y/s#|8B{^JsKkߎN fawvIUWBfO  @DafvifzL79MhE3MH\9#R|m6[e?e@-i shQ&leqJ;7Oඞ~} Y>bzVJ A6vzȷ@5hpJm/,R5vc̔9,- pU2n&ƅسkEi_̺`~]b( lON;) 3^R@8V9+^ +Ƚvz!r:V(56k8kNCSCQӆV bHq1M^iN/4V%o >IN)rf<ԣȳٞ񔅺 Ph~\IQ-ůӝ 9b%E>t&%.;oM+U ¨=M4?ǫLg5luc[Հ%"ǺGTs(CSO!֊C]?na?OB_p~GT|sjlx2^vD5wLTMO[4DR$Do({Ht1F/zUfkDGL3tZ+ax}U *7nTK%3H$!tn4RjFf FZGP6RQ ?KHMF$>s g=%`)zͅ34`iuJ+zCQpͣR!x">  j0P.8\未=$%lMzm6:r$Q/ _Sؿ3"5C~M֟1G; )ҋXX3 2q8%wG 'Qɴ=?4B>n ":|y1sP#{< 6N,ZWm0tʥZX@aPר>,^)y+hWG4 Fw"t\E<4wJaA-*21<|A[Kd*A j/c唸4s׷.[BZk`['rp Sn hs4\m|гk#5 ƛ6iN Վ!pji˻Og$ 0pEi)Lehiyњ; .|~W^RуK6}"hz˾#11JQ_W>W?k{'t^_m.ζxae%/W;[ΌRcOɔ#|Md uY~buEhG$ص[# @"›cbXDx5зZ4e*ŷ/ =|>:?6֡ʹ#*njMз`U?p)Q  %ת534(oSa>bj>|ڪ6][|[_ʵ'˛\QzrqH^W[NZ39m_h7$=*|3E.(mΦ,6g=#u[K VNm/VB,viu: 4c57NiKw9UȻ, vfדv+412=Ձ)z| DymJH͢zmtk(4fV~dzɀٵq{>O<*I AVIJfς]&:=WYF77:2CyF`NSUu'gqJ!K]V! Z&L r!R{Sq7sR 7.zJl7l;Dd9*;g9Vttw%*]~͡n Vq6QaDo1;w\d% ~w8P>o/#p$G> K{s_ݞ$G|*p,\cEUu1 CY%w%6آi;:|fSO(ԅjkP&#Z")펹ApS*Z.\lj?סDʃ;%nAB(2 t>mjP\ns^%iƒ4)zV:DZ뀅4oti g5F8/tb3HxT;ޕw ?'vEX(/"rz["@V׉S>-vsM8v3( 1 qQojs\1:3kd>WGbN̦k?&^bF|t\>G,7Tq=aˉ9 [<3_9}]Iky @usC1zB2 WVimηij[ &N&Em 5&;Wyl .š? 5{;57쬀X L隉rf"uLOIf΍yNnb-QȬO'i-$*y^BώTyHG Pd$d8%,slo (Z=b?F&5 0`d=ŢB]̔Kz۞|C&&h\W1ij #;_\B2 It*=.L+'xw;Ao}J4 1n=O֚itAOO_7[^U*2}σڢ`žyB(6"fhHBV=ǝ<L`S ~G`7 <&J%8unkc up()?]Z [!^w'^_/}k9GY%/ܼfcʱL*Pڣݑ%V&nH>ŕMu~aw,Ux Mp`f/um!P h-Xùtz+z]ib`*9oh՜yDC-3Qb@g} +\"{i?F_0iyV+͹ * x%K-*+!~ѐt_xy 0(jmG>Ue.5Jⵚw \XSO>}BܡuՃd FfCLS&sqLO7yTJ;zN6Q)/çKc7i'SS7d"rW?(Ʒ&`k@5.3FұǎW@66IGy4QS1ܹGAZTn.3zkOYcAŻl)}+y/!q0H< "`ɲɏ<%#*aDpCJ=Hq{Zp#;l8C5+OpǙm5Lz'Ե^0c Hְ޴NA vKZek*31Bz(j$%} Jq@ JP Ї9FhUVɑ0#H[/)㓣⬪RP (ߛ9Sg̓\4ƉHT::vs~ODs+g& v쌦k4i_@1x=]uGPos?r r26SЊrX'@dNXh{eFhU=3T4L(AǪ^m.f~w#B؆qAmQp9Lډz 7]nq;O.Ӳ]7R4ߋI'ɞBFCȩ,Bjo h?4'Sff軛p8eC5!B7P!D~xB;xh@|Nm0{{""dDLo*Bw?Gheԝ';jn"[)&̄)Zc=xji)o7>QXJϚ5? ( +xS&9A6֒sNR\tϥ\DbX:z]уN0Pu]:})ǴzO%%v ) z2W-k@6n?A5moР׳Pҋ ͸娨08}v%E aJMu|FW3{͸&:hV́\;[@wSBU !i p>$-΄@/о̵ o=[`偬ʧlLŇ.Ϳ 2,kx-|/IEp[RڵEd[JQ1nc{e+fށ3N/wjT'dVGdN$:4RAN(25@pfW *bBWo*̮` +'P82&=O&5i58h]g-ݭ \\ː{ D#K?`#f 56_/(4r|fB#v(dIs6 Q47Dؙۨ 3I;@7biӠwj|upD!`mu"ڠ01wb3AW1Jdh&'EY*&|H%k\fQ>$c][3Vz?) ҕS_Ym^BN*u4м}A"IT)@ANЄͼ2KVZ% zK8˦~Pil<"dvg;E߾ߙE?,h$1ئ6jbjǂW9sC:7h2-t w/SU4ݝ^hT[U*YڥIZKʉ&ELSou2^72]6@H %R45/@vHj \,G1:z4Rj-\GMsIt( osmy#Ӛ$;ivt@hSPD@[1e拒kkytڎKvCUQr\{r;[\p`B_='|\ST-]u iU;sS|X%m~^%|㳭KGm hc%:B4|'nU(慑n7̹dΞTRj 3ZݠՂ a6*|M=N!k9H=F|#YpS>KfZȗqzalY;1 (?"4, /`RǗ-i=NpoTa>N**^x zqqv #H"+wS2ϣqQ>.`kėQ QeCVaVΠspY֤P b"i;N̅\vy[4<}>M bGP2R9!=/ YJPiR<b곱45# 9s\ϱ!] ;Jw;HB-[ؚc\) mSFL)T$Hi + Mh%ev gE.;vqُ$Wc/ynb.ؘG*Yޮ8%U!(ę?z1|Gg؜qĭXy\HQt]~}K! j+@m<`JYV<{r:Ǧjam ӥW eM7Z;2uP @*Pp\"C'g5oKep2`e>i=X'c1a1n@ߐf8y06<[tkS^} z^Nߣ.PI*zY5rHjW_R_aiP: _X}&;xu4#;Ao\ w$8TML>QWDj G7kR^Ή,g7F&imA#93`Q' :%HFU_ .buM,;[Lf]¶ڵؖv~o=4[KQ9u_7nL4b I]tks iV*IHgWV /ۏ4h|N^ `,{zqJ?%&PuJ]N- :VIB?!;Z@ 5su=/G~bΘnGn3@;M|pA;D+Ep 6^[`.g8f )\8 N َ%GD#.Y 51@OR# , [OI4bƐzm m]eryhĔ109)D9ܭ!̂F1F]{ :r\c2*٠SGgUC GjY\R.zOFb7f&eSpA"X0߅<)*K7a[BAL2#[S@ ludI헔W~6|8ZvN?r ]bu(c%hͬhl΅"52./wC}$x\eӽubiCCyj)pbKgY>3S@Uס|!xQqjXQ R WD []2ZTȔsό"~9\#0ʸ3D+iu24 ?>+"=C%*7W־G:-5nuGRU郛Vswg$ <}G}anr",YJ'H5vqlv=- !Zon*I_ )&[1[41gED"wE`Y)tі>\C0ݹFO[m`s.->+ }gz%;nN:LB5?Lw4R"t FEx:xbT|VSrͺzeN`MX;M8Pez&A ""j0uFc5WtUxE735tRcjsPϻ[IRC܍|/ĕNF@ ɿnٲJ 7q틘6R}ZYֶ g o+sEq3[(h1Gy֩`ډ=MףL)BH#4Ӻc@| cB'gHtZ> w>́z1a@h2OaV y]$"+5caq4zPM[ a.[e ewtbX1r t?%fh{q?aɌ1ASI}D;^XSȖ8u]CF>&5MDIiHuT:,M9rqO@5~Ԓ|3ql ,90[8,=Y>fT0SlTWjr&.}>zb/0Hq؆~ 0xX{Vnh*9 W8챖`Y3'qcO|6 d7VWOh7(Eލ/8O,Xؒa~.c6[Gidt(z=[hF৓_Y*1#L2Ny '^J- faăod*6UJB3)eO=nu >U|nrV7T-݌/.#MĮ`Xom}QZ' "FWBPغGXD)ɝ+6Fl/e|lͻ b5h5晆[qg_ Kn[d3Ԑ&<.-oLֿf0dۄ.K ~sOyCRRA]CVdaPΫH.hOmtcDuLD'XcA}=z )3$'LcPkTOVTkka"6cݲy?2he *;K><\v.54ۘ3vb1 X)& wH=@Md~MpCDm M Y؅|7?!!0>G7gou1$r~ƟO?Ts){-)j S⑆=f-9OzzJ 3 k9ŽE -hbokRsghT1UuzƵLO+Y͏ _ףK;aK*0,Ms@zlNf2t*Bl^F6w&"!]3j"I WX ʫ{%8$<3j,oKW:ަ-߹jAa-诃Fy(Zv+9M6C`ծX2k!`t*TzXGC@ZZz oceRORϜ'Oaꇆ/)<8|)3XSi\!s=}#l՞;.Ieug.[2`MDԯ+mNLmgNu~M\*"_*qՋpfP.8@fִTr I5ǯ%zWa}u؂?=JݮftXsJ/+~y4R2uDǽ$.(oVN&[ O5ͅI=:?gZ jʟ`@J9)tg1kˣKgYzƨqoB:>IZv|$2jAϯK3T [\Qnin݂dAdUJiîV|.Z7XvZoh+ԃΒ +d\ tKe|ju;}mpAZoC@-vf(zP4 g$ ֓ 7TAG22/<6ƷY%Ēj|23YB#SloߺѭUaY_|}0іLI%\,W 5*RQR9!-.x: J< rΙRu(vG%Fsw|%FpQ+Z5Cas?Vl ƚoѡ"/EyŵZ`ڌr4@NY3 nRWl$#p7/RZ;hU /W<+(>mܖcޞԐYB6_AMJ+, /*".׃(vO@oMgg:PT<>@9A9=BhxQ[TA9xD>FWSDY[8|:yݡ_E_!Q%i,IIlt|;PA6#o8i|(ғft3MB"\ާ}J 2B z&SC܁7: 3U}hT-GRlX͎D˪#nA҃35N{8ͤjz|=h|Ai T_ ݑSdO9q2=@3d١)c\:rnz\Y  b*^|Ig"{TQ<+>X[R96SƏwu MG 퀅?6}058;aoDŽJ%R4|VOZ~5Xe0|=& 4u˶' $;x}3:M;\սB,{LXu3/4WOV-vrU(I5[id]\fJ /Qp9np指B״[25݄#)sWTC&XK递NmM斧$,bw9xnʾuC…j yJ_}2iV!@+fd Ib;{֗bbº+ nB:!1Z1/  E$p`]XTbxYvo,uv*yn8s͵b Plx?G sh[*DhVbp E :I4 g}$B`ZL=]b"Sgf:$|́5^F>VWY9Ω sbIrX Shͽ$#E ^ lm\fԈL:¥v#!I҉fȡ4:̱ xǵ"Wc|].(e k췐V:M|XFuOjxSkK 0DmWޯ7B6dȅ GY{Kp=ˣ;2]e~e5-Na,͆W\"-_C6Ȁ I4$ʹu5F[jbq-K)o&gL :0B-p#Sh' "fD_hxr++|(J7"?^!_ 0oh|93j+BjIK08ԏv3^  zO?:Z"e_|`! KDrO|~VA7ޖR1xEQ.-ud['ރO$ lq%%woh{Y_m6~#=4Z;v꧟]-`$ &zlO!XVYUxe._4Y]ʁ>%6Yw4pҰn\aҫw,2Na~1`j"h{9`9<U-*9ʅʔ&`3ӰjKx_R RĿLn1a|c+ ԏO6 ^,jUZ$+1ٚ8.0j:(]>$"',7dQ%t _ً$Z1u4C5rZ`?&"ꏢ-4Tm/f[x=h9RG@.l;MNdxw h9r\]J@kx~V7Z/u)kc/p\hV7|DzFܵ"éK쵩JEr'$uX|=,f\,MpSfE FoB\Ǽv|vwVJAي=lt)XI J~X%v|9D3I:7!ýQvvrA>dwC×%)=P ^H0BBFM;5wvقs'KJp`#%7$=Мx{Pcf?rТLC8D(Cs;ϽҼQ?HJϖFev\YsM u,˭W4y]]X%i@tN{ңiNW`G5oWC[?]m ˊ*UC8){CKM-P\gǨ#P}J,>ña?/уwϭ2hSk-T=G6*0sY(CdxJ .?0*.t "o JT]p2mE? yS\Ul<-'$o@+9׽~Rceabt4@@U7 T~!vlXfȓ]a<pήNZiQ&<ӡiL4/>D%ڨ TI0!S d3Ox߯HUp)]JH{,Uq^&rثlgS~RpJ~ Ǩ\ʽSO'?זPߡEˋ,Ù~baz]vuG5CC}`%dZSUo2?#!F+y-`Omqx1]).5l1-08}(B^?$-s,EFԬ8<Ia.Τ4{(a€cz{[]a:'#G5'=\)c܂A`Ewxʓu.nvՃTPSw99X1+ #rO-RnEƯӐiGv;۲tDi)Ē:򶵓WuD_L ufgM.IŠ)>[*za"ZB5h G!e9,Y β./U0[?J7\k,41SN2jfCߎN:-TG(4,7HT&S+!(iˑYn*>%XY[/ؼEN@֌^3ހp+@tG~Y)Nr#b9g1"AjQeKRXw"N˜]T)oOT#D"r_Q%!ߥClŠА\q>4(&Z6cD]alJ^.:OB%癬zkgN<_:>Rj~PEsfÊ0G:2TJymeH[R^Ľӡ,Tm%'Xt\~Yr4p,UWqU=x%7)+Sd(w/  ǚq\Hj! q-Nm hG)$Ъ˛0T994.0r Nj‰oBѕ&-a"5BZtм$֞RRf?$0 ʦNG,'/g9*:=gED|; Ə,p0&֝$ %8*ހDeD>4BMP/<4e$.HBNH V~Hw'mK*9;=-<#ò-`n-Oh]lF=P[eT?]6T䈱ߔ'Tw\ُ(хxhzy>}?q%8ݴmCA:tT(%)T1R\űj!)6}V$:G,0~G w*a!`zG(_d$?OEs#^Ydn H{FE`G0g|5l ң9BX1Dg& ZEPP0^}6,RnJĖԏR}X{su(NwxDg>J~g|S%KkWtUh}F}\6K\ϸͦ#}"!W0kC 9DV#\l̋ܽpܽD&󴾮G7rm"F7aT䛖ͼ~H  GdZP\9wMP8ng u1Xhjz[~XǑ,;jOF |N%I 3x7&Rr+)3lyќȫ8PY S\FNP34{)TfG![5 (񘊵$?4TYEڂi ghQtauxe.:A쩸:N|8ٮ ʙc̖C+өĜ_;OQRq%h wV E8E[Eɳ{]]WV>e?a_IDk4j!2DQ?y30W_v\}GӂPஔK%=O_<(*|{@S.ô-gY8@vz|(@NFmKC`j} ZwUꢣoG ZN r_=%+82Dۉbõ47 Y<%-Hz%їCy"4Y"jM#!ImSu '^}~Os;DU:2O\(Q*цz K2g?1iht"pRi3o?"Ԫav֗,)v!G}p=$z$Z(qY2O<6ncv4lic]HI䪍uŸ2?2D[{%\mq'`J!rr]"q~"N؟;;"6'|F3WL.'6u ;unYmb@ 4n g^!G]?C>̧VJ* Jeu 9b~C6\q//`bҵ6A''jR 'T e-.e*9Г;ΡW:VkT1/"!f:ȷ(pWCSx:k\XQK2~Z5YP<uZHUS *Q$.7W_3J`iuS__HgGX<3$EJ[&вmyU9/Ϗ ܃Ђv^3?tk tTR@F].10QVǁ^|L ۗ` iA! 6&CqE%,X`^iBjȚ56'dp:p9y[f>BjG ,(i d'Vx#<~Y[D3)Q̈́_Uf7Yn~-S8o@KjV>pe򢄻C$ym~ [H} K~ 4=\^INѿ @S^%׃n x 7~#gY!z4ῢ-3Ȳ֭0q-^+raP^ms w3oz&ڽYY+Mй7~M9 L}ؚH9kg' 5􃴸<K!iLY;t쏈⺳IHjU]zwE%/8(Z72)u1ti5;h{<`aϛ75#N#``漽$t^j0d2ۿ\W.c.!uJtyAn$c6` Ցҁ;Ic2 ʲegz /]k8_eTE88]`r#t\r7j'tss.oG *vѬ%^IY_IӠl:.q!{ך׈]ˀHkJ@skXj}ɫ2%k+!1n 9gO/&F.7҉^lS#G*@@ #ACFgx2thUGS1V:OELhfǾ(&Ҫf04?B^Lj0&A92Pkqlc3$8<&^T]4dR1ٵ ~wڈI=MSC v;l >|k:I:_ьY !g+stCL̖[ z y eW{p*b<]lf=iP{ 1XP\sMUGT@h{M`B6EaxnFO7=aEʾ)XLڕ(9d%'훬tG*!?j@U2RP/eS;D4P|䡅+e_=wS>Pת8_NeMB: ߐK0 0ʊ+J3_Y7b3P?.FCYV 8RӼS>q,EG z{T P`CqNp~jc +Dԇ=}/$ /jUbI ^")NE&bwpV[T910teg@p?H׾J3d0Wu#Fαxe%L`RXH w=8D GыG|߂SˊhJr+%L蚜߯{D3lѿ&vc96-y?vNvY!I-#m 8c3[d @aQZ{ʹ8pIm6o,8+q-.g~;l?x9?i9`HWl ³U+L+xCW ~̶QKSu,mpu-G)MqҪ3X+ Lq'o50,1Q{_F1Os\U%UfiDImZƁtO˫kZi}NlY)bDM#^lrJc\;+:: Kz6IF[$/`4H߄Z׾7QD2T!"] 'M^$ ptwqdm](ݨ\-udKrtmYy"۞ nu+WB/\kJ73 )kZ6^1Ⲡ g%1(Ba0@oprx)S-bV YĨhwO.5/wɊ1 9J CJ !(]!½ϰaBy]%܊jt}[=&nPa(+ja@h Iꟍ`# AھRFįTN*;Y?͊ìD3 _0-* vfC͘HQ;qyWB:p@@,(g1k޾;av6I7{2|R٪5t` DTBa^mh޹um'/poIIfQG2%bRZQ jr â9zB41lJH L:6pacE9?T kyzݏFh$ T6RTZ1.&)ncKqF6s!K){I=K6W=,YIvW! H`lѾq_`$$_D~>CνSqj.ܲaK%JRA;CgK^ua{|ot~ j=ӵLͺ f ]cE#!;}}+[TOۺ@G؟\f'f^tm .ԩu6{zW1X dCK8J%PYx6|l#+Q`9b+D>J?))|ťɽ: LT:MH?89 :NEd!6 |<]ЄX\T5 kX/R JՅNڸśHʅ|UsZ"J hsV@vYg 0 "3(#ĭn'w,r1iQ]"WMCwdn-qYk y)_dkB<9a)"FgG|f F8UBCjYpԩFu}gpEH ɐԿg >Ɗp8bVtG}x_%HP.-jp^;P4.rII@KZi<  M ֒@v⌽=vlICs˘6 Y2X˥ӄK?'IcSA3ȕ@ioܾF'F=X^SNp"&TYf|pqR-$/$E;N -:B:/6WTy/sV' P3_xadO_D!,d|< ·ߖ ĕt+@,)mojIj0ɦ޶k_m<wPXJ 3ԕiϬ^(-?{L6rپ>Xn]c/*mn-'@&tQ'˨[ɮYl5]Y﬷b$oÌ'L3eQ:/ْ&!( v c? k)h+{dmV}3a8gb3D`Z-F$)Ɋz-YCtxydvnwf<-M/%<(.J3zEW Ӎm: ʳ'Ohc.eY5o' Oە:=? @Pw j"ɁW y yn_s*)曂/4o/[(e؟I&uKP lr9EPLu/F dE f &$/aJPF2n@k*mK?ۼu]na,\_ @΄>Ai)ﳗZ)0%H890ׄHN Q  FUeXCyCv&_sL~( zP#Z}2quƪ5_ ouXLRG :B*VGrӍ1VtԼlBO*0#} ja;'zQ|ǍewJ`u@E "ʕIknWBNlI@/u=1wOlbT9 GiOǫKbka-_D^w~sFfK z$ ZEq1.»PM,$.8-+hi7NI 'Fv|We0+h :ؘ. %u g)RG +zH܋z b OIhv}累gP}&XWfY!ir;\>%XĶoNQyV[/00js1J֋T鳏a;֏6@Qԓ>̍8 9wN߉ui^ -( ٬=O` ^U.:G -{[k3Xr6$Y!OI!msw +w*w1)"X]igƖHoO")ȋ1=m?DQ48yfס`R1|V]f!#R/lS[cQw[Y%֥٤K8ݠ.Xw1[111_~I&s19wbrZ*:`!%q۵O"bTПy6*'@!1f57k:+ZkW؞a8aҿޓY-DH~B+nSD¶M}'Şc@7DJaj}(.fihamH SU1j?e|ÑffhJ\5ڭx⅋VP_NV Fu\kC5"]CR?8W`<9}ib EkCp#pu02ԞOVLaF 9@kֲ,vKܡDWθN5&;>w4{>[NZ)e4:T1{Wvn[L,.u(pSbј : C.e>F나G95+r}J =RyB(:R(; Ć=[0ηn%ಀ nwW|i6Cw6!*Q4(iF851UG&chz}[K6BB<(q(b❇a#E"G=(? 7w~F mb'X7I(֧2?@g${q & !b,@ض*v{Ͷ&H-Q :A{ˣ*U0eM\fMYPePFpZ J^eU`톑ʜGNzxW#Irj[Sts{JaX@2X Y iI7e0v6):Or%q g`%:BZn<+#L+Ͽ>s}$ ~_q*6Ot׫w{B9Jd i UR,pvp[M&acٞʣmDSZvȁ6q꿾vA/3emFjx]"⪓wis )}we)!~:dv^H+G$ᜀD6cȧwn)R{Δsv_<iS1 A*&`g~OjNR7J삓O_E}d~@+XEJ+E jM$1j4r=(D;XS2p?YN3F^|r_ 0d!d阀5)^:8ژd\5= OogNixD"[C) c3IkyI[k>]U߭m,B W`(-;oPXȹVGȮĸq})9^b M C|'Ĩ{:[ZJ[1)X 27=?/+JWJ X5j9=LXOrP%sg*4xW՚B7VRi6b?E2 sj\:)-Um+/C-huk䳵V/_ Ci߁_qC&>͜Лb1̓AQǖ 36L=If$+_FTϴ}܆ 3{$c㠚b HH5`rxꁝSS 39YEfS{yB]ϡqϓRrhR ,۵䦋seY9a ULv|aGLnʦ&!.2]cSJͰZ\_x`KTFq$7֡'pt\bwu "g+|QH~&]y-ajwjo9;ϝH5*HQ/w| ut2爭+k^L(4Y"r_P)%p Ϗ<2F/cZiϦam{hy(gV1(`NOQM 9@b91""U@TdVпkAcp=e/ؽuŒ Mzy36 F M (J:ښ7[j0 qt32炉TI2>ʤy? śBA% L wH?g<(_սîd^O`iPxY V`fѷ ΅WjLFц%ZmШj dz?$8֢҈CnNIF#i՞.I1q|i9GIm_~n`SY.&qփ~&r!PH hD\b[kU e4يƗlr)c[%\ȑX €=Gxˡ~L)uiEƨ[0:&_ĸbPq.a#qRew ^vէ2!ejcS8x],ƣWF>t`~]=V[ILaɘa4Ҙ ?=yP5k xߙ83)X^Q WbVO4^ZSSGiڵ OgC++#/q2f1NpDZ& ҇of;j}"FR֤-HZ#>!ܸqPk8Wd%29k(opqc0|Ésԩuĭ6XYjfZۑP;Rpq$*f`r+ B;#1UM!\#|M^"~2п(uE)hA}>VbEN2Eګ^Yd_<_4^"K[("ׄ:D,0aWظ^wFV.=㿧,,QmnXޤSc򘮠ۯ趎q Kj\-dcMa.lS `ЍWVYz9p_o @zs Κcpg9<6/dqWt~Ww=m2\ $| ]9߃;[ C{D^T,LR5'Uٽgqxvf g⦱‘0ӜY+z>3}pd͟'T ne;{ uiU/[cpkmq_H2ۂ,=j^dGֺk 1UVpPۥ7,`qF@g6΄EQRTeX*WS;= Tx=5i[y=Ha!!.5_O-矵ʵ^4_IkY`O'a?K\b,G-4{%r)rU:Yƛ) 43m,L3wx^JOK y3n'[u& 8 ]qf|UN$Ȗ䜗] 8JAn6yUV(8`0KC?xF ^<*V(45ס!2FTC{~c êш ~ᘒMb nڬK Pj;.+3kSQ[)exudyh$T0KϠ?mrda:) YRY+& l2^7twN];]ؽYFCa]距ݗ1ʳ!|0U_Oo"A닚jF=q$E#~KʽR3  tS^ǮM6BZZgכ]s$ᄶ76sFqf}]T [Zt S9SOpgtAcS$;ŝ1Np]SMVmdS#Bo7"D}!ߋ&@8!m xxϤS 8E˫Ǽ_'m"X%ieG3i!"k=OC_CCj/5p%WT )_4&a+c+^ b]iJtЫ8 VFELmN6ll T A/>$$`t3зZ$\ބ]r}{- ،¸6=TDhpؤF ?A `ӺAyLUkdJ+I+p~dѦ;B;L̝vM,הuyʚMpCI GUZ>R8F$Pƕ*^.Ǩ#[R)3^7eqٮs8?.ibxq-'ӵkqMTUQ)gW+WwFM`3 h2xSEZ3]XdcI(b¼ نwŵc I1ht$'qC۳W9t^-00 u 1@y={BgミjeAqy)*P  0[z32>NEs|Kx($w}ie5K+nyPk#PO82⃞yxX8Ŭ G쐉"Ot|u1D SFF%?b5|(^(3Am q c:Q*ք>aӹ0΋}ze8E:vXwDŽ36 0ZADԬQ7w';HCo#mɑ<9ƙgEϧRHߊ^mtl-/-C41^pOκRYO.~BΧȅkH9先έrb-QGCC*:o8aG.B54yIPKخmӕZ_WRY!BU!u2V'c4+ǸkPVT]Fq N3/$akQ1% TE lVΧrYI+)束cԧ[/ՍܡU1w6NVtHm~+=_4g 3 Hтp~?EZ O}ç#A,pfHX+8 87kS`g3]ւO˄G~@"ВаQtPe͛JҩHy7ӧj3ش^i5ŗsC lU o^UY>+"FVc%/\iXa.c5Y)Q-gH=q2f﫡dy?kT 0loyY_@Lʌإ-5^mvڑsF$oz,ҕې򍤽+ӽO ΏK #IX LRzdzVɡ܉*0!9ܱz+oD,wgYlOԬj-t4]}m;Q&֮['`uш z/WRnjTLSf"0 /h0 {&bO_@P"F!Q+o$<,~;x|%2Y)I2.,89IhtMKUj09>wɟ<_(^["I,$ِNZ"JHYVӦ{\&̮gMLʢ|+.SMp>!SH*B&:nDf|w,ŲQKd/RX[zCR Xl58JN`6IDE1ՎxqROg D-]x?>쮥'oCGNdΦ Q1X SX;a A(50 ~윉uT#7ѨnsQyob=G 3Q4g4HߐT~Jf0|(`69`0xّ2x3'Ɋդ'Ut)a̧G#Ng_zn \PQm&H;X1 q;%zZ|}XۧV <-"T6?}Ȋ 磮4h4h0a\y";~Zc[LkNZɚN'1qBI<*8=E[8ESZ4v'QkR@QݠPCέ8f'7_f*ë'T. 0(QOqoT=yL>eD"d8.hf^rg*X^heEDDmc3(]= :%Q3h>=gp29MST#9lOSD&vXKx6nE rY`Ն[tqMV(# jb{@ZMMtp/9i:QSYUL;,k ڞ6AX`:ZvncI -[a:C9cA ۵f_ة>sӶ96D[NLsM [m"zOI.ٖmF{G%t}Z#WT-j~[a >yw?k^sh7P>Jfg"NrĊ{QzZ^.DGv5˺WE1 APT[':_X6հ6Q/Rӭ]QK?31GꓬM Dnb[ ېfoK@!k6~P[!wVg'gq^.kSI C^=64:t|9ΛFUR/?hH(>eƱ1NjUjo2̤ ٹ%fVϪpC.23BKT!БB+4Тid]JP5h C%m6xyb{>dVB?1jپ5aqo0*Gt]E_fʉy<|0(P`U| zaRrA5_wUXfi&EkKQѷ [␧m6?nGC[:IT% kJ]ް$F.O\1N&qӱcnG"g-Jٕ/W4 ޓ$2#,V俺JrDuVik:+s'cwC: P*u k` so+ε\[DqF/HÐďZp> p.WFОQ'-*A= ̹LV^sjuCށameѧDȘW_2l{Q$wl[i$ J9Mj`8dcķbd9Ƹ qD 1}ń ɵZu&I<"QbVĠbU&`0 3Qt"SI9'(eECKT ]g֛$pWwǚ|f$9SC f l2%`6iԓWTn6[oDS]%dQ j\lF k?`S> Ω.,`Ƈ3NwV @)cD:F `_ ( \G.eL .ux!RAB*t:9cn rC< 28`E]0V%`9 Um>OZ)lDGZ*zVݒFݣ;`L/N71!iю:E!"S[44n2S)vpiMQ cS"i؂ }&3cϰQU_9 rBY*VA,5 !2<B͗`9,OyʓCpQFg!!F)dOp="]^/]_U>=]n9K@}6p6Bz!*5d ,I3J㵀ugY =5~H]hRzcV _ 'pgKB/G4N&\Mϒ%-St4K^i(ꚝ!׍[s |Җ+G.m?jj39j e`R9"mlB$=p#2s V) GXK12#G>r_+7໣ĮIDnLsrD诃zc35'ӢP8 QQ ZQŏr1` Bпqt Xy Z!kȀd7̴$brU=Jއ3w:'߱շ+T|8nXezyZJA%-Oi& Fmu8=Z}>Co$2(IlsQB%ꡒI@oYVN+TC=HH"rX D{''\ޯǒ<`MMK 0<#LV㺏;%_)o~Хiא%~b|hP6Q,F(4Sj.١7Kʅ*oaX#D5_N_*e:E K^G?qkJ` ])w!- }x7{n1lEw\ҧBIL?vLz Xn@i'o(P> fĐݫH13ՙ[#ZC3H'X.p Fޕ6擁P\R8`x]'blN4+`*4=57| gc>35[{xy"rs2kNh8yk!:zh'yW<^wBe?SGXek3|#s=C-w cYMKv-#K΋ޖdKz m;Lӵyg\ 1tW<>4ز;u..Bl :|$ M)M j MU@w'LU3_ZB=lHAb $ uYh+pptHviљE2 =Q'$"Ώ$jv(9ǸH ej#GwP X$L-ʾu⛰@*gel->ĴM𗤨AAgl]4*; ZYH%YRM9F 7"^〓oW=^TK1׊=רMuFbm/ ZQqiNό4UtFZ \ EQz+qъH|9Ň?%u7w2 fEj@ۋӄ)1_MpU)knClyq~Ys]3>n8omF"L)YkO8 ,Gs^ڦXQt΁4.HSv 1| ׇ$o uGq9ۡx,|i3 8immڱ h[iwL)o v?Qz8Q2)7F- "[$ $&zkx#|^Հ;7֊zbZBv!%E=l"N;1g֛v:F|QY;-ԦqX^^DcWAQ=<-./ ݦѼYbGL@f@t-cy#|eՇ*;p^aFM qDu.=\KWz0Rjx.vϮ5BZm:IٱVcKCo)&5[$V8|Vj82.ӜYk$Iջ% -vλ5I{4Hs bC{sΤԀW~V+6栊Za6׻8[VBh{{̨4'|"_kC# LTW~:X$7A I0$_AG ޢk#P5U-9 j{VI\=]SiL꫸ ˙Q!8*1 n@ESd^:Iur|0;5} Zr?O"'<Ԝht teծ[XB ASa~qW81'[ C+=QȸL8squ& f"#t'ƻU|Mř@ݗLRD _yD*.9K?KĹ=Jk *PF^꭯N{|gM) @%V{s}G7}cľEO"ť~z޿pg X˔nNKQ#1KO-ʍXXSG YEKx0۳W +oC?bpJ| ) *U`fG+-)CSz`x)GG|xꄪ'FBdς[U}L>b<>f"BN YvcI/|720Sj9vڞvjScQjTeo`l$9"Vh`Mhr֪O)#VpMn@(a}?V̈ƒ)!35S"VhAZf/i6 Z؂k9  B,9|P&}`>$ۣBشqnGHlUD7hk)pٍG(2^l)Y|•MyVgB:ҥ2LthoZ'HP<\_I1p)CۭS=בlts^qVNܑiTbI-P6{8|{ {:IJ)\nbGhvQ)ø읊Թ~$ k{(Ԓo6Łgq(NLhhzW!Dy=t:9TF5r Fn=;lRTo_^>iixD!')WvO8YڳI}A7l{iUM)u #8o)ay$7BHӜ%5wD)ρkClZ@NLq4'"D}SNW.'p|X7b.F PY ci_8ULEV:}KjInLQ": YK& phtPVzYBm|m@ ,.f[֨eWq:B !Vf*$ b\h ڞ@Mܪݽ5u WbV,A@[&3)k3` b'Ucz4bׄꇣ?%Ŝ d3ipr.?u~Ei+G_f]D>aIxse+Ϩ`%brL Lո+'iX0u563%T#Yέ KզZߔu[:8v<EmM}CcX{#vC٧NQ Ut3[|;qMwG _m5&p*PΙ4eTxD?eRh^:$, / 5UJՑ9U=yr*Zu(to0|7M"I5L;iJƊ _M2sDH8׆d0@Β\.bm$sJh˹ye#a?XA @|% .}ЩP귻޳ BUFjN>mrt pbͪD9k[ Sq^V}-oiV\"7u㺧fh^S9RjE` YQhog9FzCo;FNr+h6U 8 6 %2X'^Ghf!-#!x:(T%q=P=`fD c t` Io\L@k0mϯ)ukrI<9B*2m pSUtK.tZHAT@ xi6"+S>*9#+C}#2IS|jiyV&STc/YmI $o/$ B_ZM}?D3D@aS: E6-&Pz3'Abe>E=. T(X3r#F?2,OE=Ł3邟r)(d֍3 õ"^ZOueIP D*D;ì^7 ~(TMїvazc_NZ"@H#ǑWtГW/hMTK V:VS0,1UYdN@mYN$ [h}ډ϶X ƹE,٠适PϷ nNlʠG>6??RO }\x[ޒ&  :q!lCaYWCtF۬nlu#RYMK*8YxV@j9\`f(+cHVE_s ߛ';Dks}vm'FЭF5Nͽdu]4kNA=qy{ CɆVC[C#JGP]9o< Q{(c%"a0h*9Tzc#'?-ʁA aGhfbH_Ds&!FQïf"oMPxeg>D5#nj9Wwp ATz0L u6n`K'KHD5|^{%)\CnyKxJ31yu'ղlTd\`X$]K;ZOdTBЭc?%D= Cf (f2#)}u&֬夐-%SD<[bH&U6p fZro?>Үw !{1vJ-kP=CV+Ԗ4pςz=L]V/ |B˟IA2jEBN Y_i6ݾ;3L9^E\/&-bi|ScToY;P#ӹ=UͼPMV0N3d0ػɁ5b}l85 mAZl6-/c@}+E>8wsKgA? vTv-r1CH癣/jؼa_P]TAm7[i!a \%X -b?.My;臦9Z U:(FX"c ʾ5C8v\!R5NOnRhMI] 4pc`Rfr)>bw5Rb(0d1(MuvߕF C^MWSZ0_7+6p+& <64 )䞳Zlz@eP=g=dA;pHu#c̃9-޴rE=JlJMHvE4w]R*BDg<}z$B`u6DOݶS,4#ɝ`uEjC `];&y\rܙ&z©"?Kx,K{Ixy6Ȋ>yI (t/Z G@I^! ~NJgwܘNHlAC@"YgҙEA IQ atkv4w *i*S0: h*w,qpPaHˆXI$ܺe͚ I[âH`WK=V8F75nlǸ(rNh4B: ƤU6\p:yn9rb &yxDDXwMp^$8)d\hwp 3rb~ȻMr}r@:M${ I: Ia2'Nt N9 B1AʖB1B l M]II^ }ѥ3q7 }uuYg. 'L=H]\!sr׃AA8n}am M9psY8 wtKSR<.VO*BS֣J_aR+˩@j)ZJe!z5bx'J BCjY*_ ʚC3/,\b:Ў O`>pж@.8 4!`N~ mݸ;dK`N_zjw>}^6EQ8Aaod$3P9NT_aSI&m~ eu {U%dlqUC J 18gZ%QR^1=[q+p-|GMu=tZ?h^ [U:%O'TG|{0pKtP*{͘Y"0bBcBc ty0^;9ABvFwlȰsWFw5~2J\iyOJ;C{AC ~ ޡBy1Ei_)b{,=aO>k;7[N31yZބ>7p?4/q#HkMw@yQ_y+|W'P8<+ \~k(FLO/σ(.(r1Zq s]^*D7$~:໙X{xb.SXa; B k.}>l,B*1seAe5"tSI!'.|V3]EsOqcV_G5wͺv]|Eү3 PlCrQt7~ih"_x;p||T]XNͦKf#h//7(AF9PJB,}>+[31^Tw:pXA!<䗟^Y\lSݚD'0+"8iWGU!]D ln;OGSKQ) *Y6!Kfhm9{Jm7\O檏=EWlhN<y',n79J|(拾pf~G]R$ C^޼%էysdK"9ʌ# (T]]^5}zSYۤxvG,B@'IF,+"ӮO(jEQ\&1Dڧ WEZW1Zbnm[\~tuPxJt B!0Hٗ64ccgsn:h\O}3v[{'= ,j dqvΛ=xaJdR"s'__C0vG1YUpMxTSunuoj}:psKPM*@cYB$o\RζM7 ԦR20aA FҡKXMҜvXHg sUk+/?Px=T;Rp۟4> /ewM)jhii p=c3TNa?&ma?L Gʟ1uzl?A*uhb)5"KHyds!M2? Ϣ~BL> "¡aQtm1Ou!%5;,6̫3uX^Ҡ *JNJM٥6Y$RY?Ӣ,~ X_ȼ'T:A"|)}skޮM5-F:N ([Y*oi%^-<#Tip(.qr{43@μe#d&J:$$Q\aR(Gj6Ձ|۟gGo~?!q=[Ce6Ϯŀz .(EGRF}j{O8G?Z]'j}.[0]{|.J4-k/n/v TQ[p܏TNuvwh/ À0N}D2-'FcFJ)槩4R+w~ Rg4M rACFvjQU!K!9 @XI-#'gжF z !_95~c|Omʼ:8$]c^ǔ*B~.F7`(𕕢&̺]Yi5jM^+ ,d> @ZYaivD쨺* f_u웢 P]|(PBibw@nG;,q(Ba,054վ56؞Hh=gTߑv*}TG8cSOLCHF圩]ͭ%-?6n| '" B`)~@:G+Veq1_qZv4ǠXWZo՜}9G290!8i4 z͒/;C9D 8hgf@JS >iv!ǐ/R[w_1 ݣۭGwOmDn5܆*2ܟI<7Eˮ. 5]Ä@ڙil2VmhIG%KEF4\ց"c;{ͻF2V ',B/1j^ow1e;CeDZhSH'~ rli}kn^P]%\ClyyRwSvf5V˩ŚU5-l HnS,#: #3yKz7]ă'Ey˘/䳪'kL„`'LS"^a^0U٘y;eXQ$Tf݈]qS`JWT4|^Uܶ(@1ܬU(҇[ grҺv ; lu ,2-pb~ r9^Z'  !`e?krw싪Ws U!}UQDaW͉l.S 2|-foxvSs">7E(<>$OzЬY7Qchʁ{y0qC8 h6&;rQ%W^Ucƽ\Wkhb2iTSfiđJb>OH|Q'dJ|*hE4Շ<?O2Iw:ҍG.ғo;E2–>N@wO퉁Ƅ~JWpX57%XOzR #{.r/ӗ-]8=~eDWSȨo%}5hͲBx b:*+-"=_amnGJK 1s=4I!}H7BE*҉(rLZ}i@<}dZ nP8^4xJHtec1+PnӸ7pI [,L;Cn;!q Px)uuhHD[ TvRe@ XBH"^ wD[ytTȐn(|3Bדػ%208ku7ѾmG⸛>Ϡ ?`PT8q H%wc 0ުBMI2tySbǎDǍ)dT_6!?d 6xG%m;bV2N)R8mYK UHMbXS _Xܼvs+et^qYyUK68;K=pH@"Vֻ?$1IY +Γr/( /Z*ro>B^ ?S-bɕ֋{ p+{RUf :W(~厝D"Քp ;} 6TZ%2FΛa}z'Wݩ.ZG b8T>)g\tAHq9&2Hm<]RgRgy~̀Zb-;P1puS\;}-wk v?glÂyP쾜/X@ G %&D[5/v&bpMBG2e]ʿGn^lTWύh 4 w05TEp3 l>cq`0ʺZϑTD\O=9\Lc_@0!M<伝^+*1gK&|ZS"nv?hBnљathwW&Eg^#PVv믥.J0d/e08fpO[x']} \* a ;TdΨO3 k{5a?JivR,.@x{Wח /'4UZQH5&q"eJ;自`$x;]0"Ew~ii0t+w:dWZ^%b鸽(Et(7RHOb*&\c~𥛾Ebڎ-7Ə&/ln\rcB_̦U~A Ď-À[ڃ5magM 4;e(*{^|{* *N2 u1=@@"0-ؾ\ѫCA#)xEӻ_ B{{ayJ̦.E\qJ({Šy,c 7~v6 ƃgj^R bJL:RC︨4; B^XPzgҘל%6LLn$\;E$\{.t4SH-*|gey|&jxn֙˂x:sSV'`;1%sȗn/4xչ[ 6xw,}]WRߔϘfkT 7(r'vgIF{; @F_~Ip_%*0-3j<;(p MېWW|kx,[6iMTWBٯ(So,,4dQ:5gJ~?Okĕ7xTGp{:fVb4:y8k8d> "#Uh{[XlqBr◁YMy>fElibFECbUV +;UƔf*C yq)K 75)?BJs?HJ잨[5kDc㻝)nw,5 fZg-2ԕ9|+!.7:3'vոʅ&`9W 768He&f|MrEP CwcH nbS~\tQ}_qa.8Ӥ3lw+?c9͆UkZ+hDIì^$wN뫶֏, n,mW.ȏmPĜȰ* ije"w;.h9"kVt<^V#pSq1˱v_+C(aNFi7ϟPhZx#~I-G? oޠÏF,V\ XeP&ey lWJwT [8XdWq [xE^=:gE%5lևSs0L?SЛ -8៸8Oi^$1qɱS=M.POl~d -+ ^lO +~rUL sލDbS/-W 'g\]c[31yD =`Od*9jeh eCz'Rɘr-T9X6/vںaO7TQ/ۤI` DG79NIޫCaK78}@ #ߟ BhOfFFp~S$z#!+}9]nwX1㵜PpDgtyD%O sK CCQ5֮ l/lm,AeBQ/F=V]@p VNyQkkͅwgvN(उ{h4ahI&t\ >sI%F#\9jU D\ޘ :~}ȫd6?peµ$&_{U?3Zx uW{'>Z7 UN5M(~8->SB}{1p F>`1M9DȊ3S!˓R8[:zqSwu4r&+](䁻9iu·97(юkra=DJF#PXy>ܯ2W7wsOFh7>/r{})w;lFQ 2w@Et; Z5 Sz"(\RݏMapW SVΩ!ˡ3Evu"KXo7[B(Q9 mxs$ШR׊6SzjI; -/+dHmޯ qgDpTt^H&7;~Oγ={WlXyYBY RX΃u|mjx`kնqu,Ѥ<~[eVYuXn;(xI;AۓMALa+3կt%1o-u"G,pjL1憦 ?>@HӾOx R`Fqydl;+_۔4eYR'-r"^ś`pǗ1/]=BiķX~NJYt]%; LȮ}ߡo_u]q.am~*(Jr4@cK8R֚2/q>Isτ~MJ.dRamQ#G,W*eoio.@~Ϯs6y|57;Z64pе |EFV: GK PUBSSf:p!ԓZ6E4Ft(C3R`ۙ@n3UF{`GZrBDthܴ%7T˽Ÿ۷XTCX=yxGjR$tTԾY1$+q]Q+yNNj閼X@6ڃEy#c6gP%Q$nY8d>%MqGN&|͵Ӈ{B*btj`_;iŦDe'e/DPy@^!]d0 #{}Fuf:!K-p?{;%K`()q(BrebtN)5(xe5ɋkbK0L9H~5aMTG<m۞|cP8hTh&F?$ 2Ks/!:~'G~,!Tdh\fcjx"K4MXXQe5k+ 'S:v /֠R<ԀƩWtzgمN4eN.2Dk[ o`m w,jtAvB^jQÂы tY L8~_b뱖e"n b9%!ar͊R<5נӀ, gT8wo X1[(~!gX6(Rk<f:P:@qtD,a) ;A9rn`,$bkaFn\- TGZm+tXEmyF4RL{DYraO c[sRVh^شO݌i&宐feaXҤ~$#XuM @1n Id1'_X ! A>}vLNHb QWX5Nu]r5:`8U=}#H= `E-I. E+R]:WibG_G"ˀt|ab6K񋐁=W+眍ȑ<| G7I(y{K*fZ:p>l~ ,BhPHfDyb .cڮ&5Y| W]9 k52DXrk>Tq풩57%hZUF6QwR)V:̶+yx:N~"x6/ jH7lCnΉ@L7?uoQCU0`Վ/d@Clmc '8跓~yKbVE甫5]N)b5PQY/\kex%d&3vRjK` kŖyp,  DP3 AЫ nmy)6 ʥLF'=OY2MGsD\ ~> Gn^P;o3/OKdi}*|L5i*;Q7JG~,q#(6VD'E|bO?Vbac4՟j=~#+S*v =rŠWgP5у~m,`?$ĉIa;Mks ȹL=pIa_").nV_I#Rdg3FzqNiHx-r +oDmJmwjH eg)w;~QxUSCCIvqfщjP>Rgl }9,D/Ƶ,)ᢪw`h˒8XanPIເ5`CZ;Jkd2Y*|^X\~;oHff v2g4h`aD2,i <ȠTJ $tP){K2F&|Fbnh3G+VuZ+Ԃi(kV7n&We>0Dcg ky"!PvrsB,٠=i v6>}e`tLum va}Kd*J@|>Wu;2[ ѾWrm?Q76yNgL1Q'&SDҧ|F5.HM)#g&m5 _T,k؄JRoZW=e_Ml6yyf9Bnzm eBuT fqs($f4R3`Gφk@'q:B/0rp"-N DѺ 2˼O`|#;V@%$WX"$#m;}OŏK*la8~Tn!n+» 5O鎤u1O-E q=~ xfo.%?%|Π Ը5):t! h\ON|GRrSkZu-l8rv޸Y[7=7;Ƈ4FL ׮%Z&|bVebPc+$_G`/C1= mKW[%}O):{8@,vv* $ z>I-djД!]%ku<)ETnat҆K$hmzUI $UY>μl1H&mN?aǝu]TŲrMd Sz;GҴp"]>P1TV"'\\ivDa|P^jUx"rZ gN j $?7p[{. 叀0r(&b܈7x>CS{K-̲'BW)3xee79K=Gخnk@-2M#cC€ ϸ W]bZ#^."+Xik0)$GaY-TzɊJхI0phTG5*ծ$)lpl7q7)Z '@H=OοkbRވdƩ&ft^uіrem!uK JvױQ2'HĤ%PZMj:mW2E@XWM(w%NEM-KMHx;K&#>:|&w⊘IS)aW F628ջ®e^¨ p'5) 1xcHN" =Lz$h%hRM5KMO)&Sż.H2S/D9EU0,:-4qW˥+Oi.C@sˁp ܷXc+ha 4dk~H6e"P!Bdf),|j<4qul4~*a!@YM@L/Q F P.ݾ n|lDWAfX{Q܈!1Bg.j],:Y^{ޭW f`j\[yhSnrMyIG']} 6#0 gms~=]b& ",k a/sA]ASf''1MBsh%eyCٯNߌB2p/r|_ui΍YJ} M%ٍ_3k]:-evt̡5{KLpytPe=g!<( uQd™9PI]} 㠝/9lFtW31U)n|kPE\UmlOMr#ЬdpwAMǭ*aK'g}*FW[7խyr@)9PkPt?&@^Or …e\p6pL_~Oru/j c H.JKp@e@mru*^#Dv0/{,{K,d OYYF' t.Xds.yǁ<mbB6ڕg:7Kk%̬8-u7NVQ :&@yy,|͗_9ڀQL7e|X1@p|A$n ԍga?cN5#Izk~x\BzVAL߻ ޮ]bHxsukmcQ~0 Ց{KITa[q3\B9ЙY[X򕇎5 (k>n <˧7L(wDNf! +j r[iGNkf$s ,r ژ^탃HnS6,Tܙ;{&f]Zv3OԲaDB!!<>A?A 4 H=@[Cߟ=I: dut6i$TY*b4kZN.ʤ#@մR4X('oWI;pG@o'+REAʙ8n  w7'ֲ˹r|l}]^-\.%M( %G}9eۭ׶4pLm = |Go HXiND\뱀U se6K‚_بM2GyE~?$DhᤠOW[uGng0R5˝'ӗ^GGrJߝ7|6ۖ=sO#prRp cC3--5"6 <6?OϻȷT[). 4K)y%SUSPҼ]X#ʼn̮Jda1zלN]$TfS8W#ř6yI215aN\Z(eJ{4|5V7,-tdd+y|}i \?WxXa2EW8ȇM& f,ǫkXRX]䀲KM)ZW `(_ʺVkSH5rX(͍"4# _ӷ2^%PA#//]H4AV+^c;Rۨ6s0!'N=&.ZԿ4m$ z X̕^g1>2N‡^`-^qER8xT(F}]nHm#}H:NV0"ਤE'_|c-X{fZC7Z ̀i>.}eq kNQgAh iAeZ0iFc;u\X%axŧz9˞R,}Xn˾kzy6򌮘W;9Z,JwDZJ* EiM4&G+WZ1O],LڞNJQ&LeRsne-!reٱliUE8 }`shU|T ȫkt.]S6f~hV ;o݅Wv頇R%0,E&QF;.] mI2 BIN`ϜS9J+ڱ;N=VՐsWQ߱@[ߝB~~v~X?f 1rg 3ݫD6w({9]ߌ27x>Z~4&l9[yF `+Pٖ&Ȏ;ΒОRchn0pFiFH*> 6\˃e(!}T9b@qVj ʎ=^P`af3ؔI܃[&Щ:)isu͠&$W\+?3qj'eUG),ZK f(':"P6a_J'+pE 20iz Cq=ըTrvZaܾKΑ!Fܪ:8EDw ~2H9h+i)C,ff&^d@ pJLopfX5Sv{c}Βi/r۳,'Y~WE͙-7С]SoNd59!_JD УNevM{J׾G^Eߐ+'`w=6D)1ŢS`F[W NL̴mswrEx|*9 պi>}; J<rp{ (L2Yͼ09q#creK*0,y;fZ@qc wHt2kB3^M7O?djX6 o9GK!]KqʨVfŽY7 6'^F3SҺRA}t]hōT^ c@-CD`/5M~iwR߱Ƕ mRlU"Vo[9l*᧤:P}ꅉfk̟Ce.M3eQf49$@̈́ٱn!ZwZDp grMa N[3)& O3LU&Bhuy_{j|&$$'bB\SaGrT Gv9o> K(R?g2q 1GW--.m g>XL*#-OJ5[<#%%b tN5}KW9`A%c]ln!WGkAWL\%9 0@WM΅g]Qe fSIŝIe3mqh^1FƝx?z8(ksjIۇ#T67(2ѓqxEDxϱ/kc|DϮ!=ci;.=[D`sƟ%pܠ{ŰI5] ]5TYZ \asLoqA+&̗u`gl $`%r7>Oޓj{+}:weE)-ZLdF=(M=!M[uvha:s'/½8AaEqeHgT38zT ':wSj?D"g9L=ܢsd2"0P/:/@LDbmV۾tj~Zo_ϝ_jE gq#!e6p­3e,!6"VMHcPBqkg:c0f똊mY9|+8ji]IJ9=+ X:QlǁƼcy^;BQz: 'Ҁ .eqLosOLeOYTAB([0ȹ7FG}"!Uo``K!2 dc Փ<~hӻ\v!Opk_ީ3n=2{)2{l9S:`r KBV6^|fl6O rNhNq/Γ1p/)L4&rs$n0Dz&e7l@~=ɁHޜyM&.4|Ž<*WjQV Sܳu^-ܠ̑|t*6NWs ̢ CF|a @?`cKV{dͪg@yʓh#=vHL)ݥ8DE~7Ή wO;'´ZM7BAa۲"\#Pzֈu`_D/떶=Zn(]a_:eIk&.ذꚯew kUcPrpN2(U*.*Sm;Rt>"֠I h u W;0~<WVӠ9EC|ORn lC?]IA#td Y+f(-fV}8¯T(9fۃ8EEa40 }9|z uNzݼ=yExӶIdN|P-R#"?[MHw2I=vB?Tn 2fW&%[:-PwkdR;,,N H"C2ފJJS#`>7E(*(>Տ])ۨ*lqʙߎ֨o\hL; | \ inZ^(9u(O6/'.eChpA^ Obl>Ӄ5!7O"uWl /0Ի 7i=!= 2dlp /[O/%%yړ0xO1a[kjU*DWmNe r v%?ۤD\щ vezl뼘a 5reݙ 50hg3s}(8#X8oYmX)O[T(=dTҳ+fq?-;I2ρK'$ -NbN$ƢkX'O04>;`I+wKmI pqeztTAu3.Fcbx SԚZģ̵a3" `KxiA<_It^cP_ ueί5Tb*>09ɻs0r"Jr]Pz8X%KX1:@z [ Eenf_/!'줘dH F{;A^;ٹPBMq>hCln|Bi4jłྜྷS-D#,gu)~BY2 Ӻ!\6emŗ81 w-wEdnQBrw Rf\0^ᗊ襫+P,*hԣ \DOJ_BC?n1uqFtrɳ{t1{@.JB,66[ClcF_gIxK8_ۢ 572Mb5'ǮW82?CwP\lbT.Lly MPъskh Ӆ@Wċ`)-,jA;dgԎ-\UV)2iLrANјO_vS%ja.20iwd4ڇg`36L*s`iJ'y}!D?h,^Bl=JY++ 蕉 چ w!)8s@74%Uf$qL9l_b jJMbd㲆;W;`cy[XƤeg֚YA|.ͤvmd`*;xDkA_ YM5 n$bVVs?j}'NUZ='זs°|H҈eBk.+̦%3LKN{T;*oOSUK6kDZmpc` X=ڨUuh{.`06 i@P=h\$n(RN!ko73|IمD Hu:nt|[#y?i,dCM17A Mte\En0NAWQfuXp ]f A`cC+{j})4A~׮i @(MӓoW"b1[xኹЯǓ 9X@ K)*Ju=/B_L;$cL#2hl#5*{[Bc"ֽԋb7PHg[Cm|PBoiկm}y 96b='02¨ŧ0O} ~hD : yYWnoB4ܹ9)k]fA ;Q7)z4àYh*-4HO0Æihރk|¯fQ=E5+MČG9.?rT8_$Q q(=>c3S.;/3I<<xL,El#kfu.]9E6N1j@m4G (?*6J{>1J8q,U>r'Uα~o2rBqsu3 Z\U8!">EB˻,OL221:+^D u{qkq֛>wI1)s{O3p'Iy)v[{(JP«(0>9s mj_;@*kky8i. m^rY/FT8OKL{_2BE@En9pW>\g=Y[/DcAP+{RC#mЧs@>oXsx a:¶F,eZ$o#cU+!IP~k(H H/V_4R3/)Z z+ L\a]ٚ>~ڔ`yBJ_#prl\;;~% OpG(8yV_k#ѡ @0۸Kg)P ,J;f&YktHCMR%-j !0tUgպ8>MF̈́j&w+XZ_!\4&5HY@T}^2Y(%"{`00ԋ,N~UZkR+5iJ"i(䋏E ^zosGŐط]~Y9j١,w6Qz[z:OAr/u]y=A4V,}߮D^q;$V:zzOl%79r>2|>d=m T 'E=;]#/e)n)e#I0U L1[ d*KE}Ll S7a,!Ƭ]syr:\=kv/Hε XVIBjG{no*"|H[$/b :Op&sG@3E|r&Ly/fbPZVgo"# ?,+2)gdQˠj'[o/:a:"АtCZ!l*ni҆ɏU< pB8 ,3{0þjhp@ƍQM9uU6Mtk |ZS3BfH} CgLn[]hIPƿZy.9uՆ#LځStҝ|"}{َ ˋ?ĺY5[Qbc}u }@UE '@ $v>L̴;ɼ`,oSlNmTZxX?HBT4OӶSě_bC/HA#SI6DaSpDU]C9&mn6}DZcZX?]uogbCD1b9B&aHvl P#S$jdVժ+]WSe*+}ovTHc㛗[:M&98m*qu}U©9IF\ 6 c_A?ykPUC:CϿm=L rzDkɱhx)CyF1?QCO h3)DLmzVgi#uRT zA3Nsmȍnr Cq'\bmv[ΰ)w-ԛ7AO}:1C,''(bD')~v9p`2:.f5yWڣ9݊kLZq_튪hg ʢ4$"ΤH{HgD_YmP x|/&2,xa3e&y1,P4nRh{"ck $ ¥qK9L`S#K 8J)G it zJ&0AUNp9߿Yu=K4%P,Q)w-\ؖW4\My-ꂐg}`~oݑPguJGA%A(8e'$],˶|# Zls6t͟6Ƿdžլ3%v|kwQfaXcFKUpHiKnלCz<&c8 ,ƾߕb$( @­af6xyFK8KYlCë+A- ϼ#6K٢x>|H]ZspqE#]aGŌA!}4n'\2X w攑8<юQ:oM==x\騁mS"aL~NPҐ_" :(}:']D2J5Յ=y ] Hmy֎ضQ< ґR%iY"o-r2/ 3ԓ <ŪdTxAȖY }JYg >m2x&-2 [ˈRTŠ9 w)a#18%B]]. >/Y.ZjpT.pBQ3Wbw^_td]"3ςMױFRCPH y ʚ0!5QݻIzrLmlxފQ%~gD MdXRNu;1"A2qX |YV%M: zI Lbÿ?)CKjql ebՁIuͷW6Qf5fp?Sҝ<ۇk7<]ݠDs=_#=|4\K?;`O)Y 87p7*mNbfg.U|PB5I#jW4 /Y#MKdH~{)B1/m .Ҁ| $!18H]Hj ݂)9FhV~zIssyQQfVM."ױJ[S[j/AcUus?13$4RE(DA&pwAކ3&0SqŚ´ONy*@#|tSNyJ> HETvd{63hoK=rٸF͉1~7M+H@{&\ݸ᱅CHqN?k!O}[TI`wP,JV}|x\$к* to{DN.&Ջ;y! |l^ӯ.iM:6LRyS0Qi!dw:GC;)%wK) ޑBxt/XH\Y[P;qKO)~C8ywUn{vZрַ凇ms#cq ШaMG[$y[ף.U2~S{S|v,vQMKTa7sOR/gQY9o0YʄȿWkpb)'>XzS3r:Vi[@@]QkIճ?iP6B90lۯ-v}uX j}!"2Cwڧ,e915Íƕ*۩k $_(M.2໤M)ZɈ 7۟$}Z1h&.W|׽(?VIQkRH GF!v1!x{֚ QRĈCTKWvPlRc2mmjR{? Smf]H6x|bcی{Z}{7[g=I˒-G$W=I0564qZKVaֵ'Cz^ /| H(r5ZxW-O>Pޠf*{C?馰AO`riWwC% x<R׋o8ٻ#Ž=^s*M/hW Pb5AԦgh.^VH$H 8$YȵY 5 9.WЪ5_DĤh #ԣu`;Dۯ:~;W\)IZ/en/%c>n[j-YSSKoHz3N=NJ\|&}s`ͯzEoF[yaUq_Nn@yPğgJNGQP^ZIh>G.5\ؘEʇj%% ^^ִ8念vׇʐ{܆r.gUuUfU+Hu?o2%LȐac'BgO0_8!:(mCEŶ{9%Զ47{ lU _3CD+-H)!7nP#T aNx7;*r^) G}e%7a8蓢A'{rʨĈpʓI-M{tpT =X 'soImQU7%>;q}-ܨK_ޝanz='{ }GXZ:$ni[m2;XZ? KxtI9NH"Gja<iFGBUCK#f .^5j} 4 HH꣔W-_k?Xe}#ni} gh+]W.W@9@|xcnBqfbPh?S0gg:b9l/9PA{-il#;^c"*9TMIXͰ8Y`'^wΏC@֟Sj{oGkB[zE8L T&:E-4yTT]UY $3+J_m٬͉l_xPTsfΕEc3RXhl1J^5IaV lj_0@VJh LE>ǵs_ˆl9XRUi# 8TE|%T_%Y] 쳹c0hgMv>pC۠ ^Z7Uu4nIkM8b*|:igL2Ǐ!CϘk:d®:)2̸>TvEBgjoz Ac$., hʗF\s ;u }TOjjo%K$V[/ZH*ӕ/yŸu찣\xNW9mN%-w|w":m=m25ԳxW-O4>u<' i:=)% ɱV3znuKPj:w`lϟnz%~k JVN=ߣyBX‹Oč" ԷU2]AI'HU>'rU[ )=-GSe4ic. L ~6!>(l98d4%΢`Ur3pG=kŵFɍ,d.5<7v;qAg>-rE;.vvv3Q%XXA>;0Nϓ^+3APE-R2ص|j_mcb]bZsnNet"CD8^J+RQcwƀkMOO U}GUTM/{9OHViP/AԖjT@%T3R 6MF㑯 ĨT@GcH&.҇lVoMroVQAvT#F5).^Qa԰_/[ame4u$N Yg@\MBcn.m!]\hCI#2L@nhk"-#V\^mJupM5R_&^P*GԳiqV^Ap:S?{~lßV|l@JMPᐇ琄f$Pzգ,ȉn8L8e}0s\,z%B$ 7Zcq@4 Olm"DO(lWXL^ŏ;h׋ISw .zB{W<͔_w(jyRxV Tp\9eV]Ǡ\O PZm9?}fZFt6H 4/BVJ y-$ >ZRT*U=`nĿ:Jj&Ngbs3QbXRh Z}B $ag^oWx-QMo8%#BqcE!d}7BFTgV&v.K*ӼET$:շkXr?U`e V >I<o|EV,h 0sF}FJbRF;Hx0芲QOx : ֍E:O`ů| wPNp;k?h!EzWzfx%2®)2n]?))s`Sh+6DJٜU  y ;DNɭ5-3LkF R;L |+86ckY$^iAl}y9>G#@BQ`K^=^Kōxd?`? 0cm@74,D>$^(&T1zaxYǶ&̴Ѣ xOi=acV!Vōuߚp?/h`~{~~{6zHpI0`P[@_A'H"WeҋQ$ys˿bEF3(wAq%?b՚_˫G%D;' 'Nge^<MyUMiIgeI1/ )+^ J}j&AonUR86Eȴk/7uȾ !"آ@3{:LdK[,tqaYƗ}ѽbgC+B\y .&c%.#hC(%;AY~-5 wGgn|#}֥'Gy9LK {{\-uuWڅU%l-c%=Z$MbF/Q~_Uϰ6FdD\ `9("PccoĊ7uz3}4P`V%S;D}LxMcabRaXofMZYy-c͇Q&6P*j)4i1`- a RfzSO)5SO޻zg c)"W`\iFlNBi,~NӿtR Xp/Q…$ѫIUC)bT#6>k=2cC1(^$İq9 Nƌ<6I6)RQ&L(a0+jjImCRwZٿ__ͰiJ6VĴj;y€QЪ]Yӽ% aRڻzVm.xç4J2Z(ydW ijdtú1)A+Uigio`\;1s H-l݄tIxjnK Li a8V a8˙pf1g"V{`FϽ94=tO0ђv䒺6%ڞ]N a0%A@QHfO`DXNoQ]lc=J. f4U tX(Kgax<0nvd\0J/ 6w8{ʲ˦RS̥/XԀ%<lw!Έ`/jr2Y/H`ЅCsKf2dI?}%RPPfeTΧGnbR;X. MKp/ơJZ p9_h0'5*g(%8(+uh}a{բ\UBk(zX2:^'eӖʳb`!+`%;♟Ql&ISy:'RJ&b_T*sѮ7#of{5 9$>}7RQwXo};FCK 9lc֍CٻҘbvRS^\<]Crg6cfI`N Kd~WÕ]HlͻX:=wܛY`D@D(p9b=]~D['r<;r&5̭-Z⾅ Wc6:Įh{Xp+қn.h :vNOlOtZ`?77O(q d9a>osSY"s9m|K/hkKxBZ%#̤P`\Vb-C{.^T;p l˓dՕ_sȒRqi CvߞD&r6yS~өK&|&;ԲA?50U5|{P;N8ccRq-}xҷX) ^M5ܹAymfNږ?9r冨HCj"L]u>qbNtLƨ?.QlPتX5&d‘g+蘥xm$0͑ݽZLqg4#ՁQ ]S&S)Qq:E#,%X4#OKHջ4^RoxXWiD_DEtkQ Ǵ ~SDab)ټxuI!ilC vÞAuV[=o7~to|ܼwZ.s*?IۃpAw׷#L6J5Ǹ.BWW`.Y ӉM—\6_4^/e2\ֆaCp5XRRRyi=ިD8޸b ^(n 1Zt \,<ɴ`joiM'!UaYYZ._Fƈ n?ؗg`CaΝu \ڮa>/zq> a-Է3BjA*3j峴77b4EZ_~xL}7B &hS[rabt-}7ziLc`N6up|DB*NUt|Q@56h7gRj19&+\NQ")k@(3վ]戮jn3$8GtY4 ?G:N>m{հ ʟgkWp.8AŪZO!%/H쳔FT`ok:aV""H)M쬧%3޵"ox[1ݰwPl$;)bAzNLl$g>s3o^(khMw<_>;YyAݦ\W5\q";RKO8 Zz-; >Y_ƙ}. K=3GB'AoqMz>Qŭ#f֥DW)2buynJQΦ"쯻ݸ3 KVWzE>uJ="z ֻ̆4#[w&i~ҍ #}"2Q v6?F?4DJzvS7h[Ridp}!oU:$@pUOd 6{T1DAEh.LO`sHga f,Bgx!ٺrW^*NgfuQޕyӡJaVv궫S{ɃLE! lKkw^h1 d:V5A3@!6sY<Ǖn2 nzt 9*wj>N[x 6 ْx0JI`W;e,H$HGYQ,9$'.wS.2RDȫV]h~,-eD#-OpsܹZ Dp "kPv(`~r2S4CP=jz!21h`2]t?К]ɉG2n|_$boۈ̴ \Gϊr#E6%|V)p֥4\\#wLT!QQ3Lsۻm~@QV4@1yV yOVMݱUX PIϕ}I+$vTVý h ^o}T{]( ]J%ZW;j#]%Sɺ>ɞ3av pnK<4C$;?ѽ*`ܲϚQіE b% dUHY WL z[:Ċ=YMA//x[~pS1Ӷ%G_bOnp4zZH%Ɇv?bfG'm wzCM&.}[O,!U5En uwGUHVD¨51$j 3Eݡd$A)y`+ţ~I}xuZ–o2UiP8L9"5v%]I>cگQ:TZ@"Mp2:'X/ :D;{pCƻ0BOp*"ە !D VXj MOפSUd:L- >0=Yc*ΕLiPgREGT|2r2 @_yDq[[Ցl&\՚mh6)e.e5E\^'ŮJF?eVT3Dm *h ،,qI [J+g܄Rt~_U*Q\]Q^H(5w.^|utpŌVH%;xᇒS+W+s؊HMxYͫ1 _2bk7B<҇v̖d,`#`*\b`}'wR7r2W_bz0u'@Ge@cln[XyRMYǕd%B1r+D== ش/dUNF6%tGêoMmDnReDuZ+Į }K7iz^jd`4Z92ކP6^C{n >cGM3lu+h.. w}ߘo5Ys82w;U ^b RՐ4 /`@О*+ መgoVF9Q_10[Շ)eh%I1;a)_DdWh 3+/}a/FbuBYmyhce i hu%eK/\8d~?Xxё>:^ t>)pN'@BBVd(ms_ʓÓ0IrK_ -|ǂTk`ci;m&muhdN)E? ;X!b6Eku@A>ZF6R "Ù88yAI, [\^rXU >pr݀c]ەpkE>$~q /FI$6|_W 1UZ<ElƽNNF8~|l{r4.e̵\ dYLd,S$8XeZB㭑xb(z_p{,BSCQ%kz*ꙌvaB-cM%" zrdԒWI0"\~?$YcvЖ*v0ӓ0Y;`YzؖD+@m~t\~{OWlײݜSω'MrHn4=Ddk䪝ֶ\$jMQKCĻ\)T[r~O79Q ad0+~D0+_^ByZhEN>޽IJ%hX%og2o+htVl MC"cO:73D {Nw5 ?$rWQլU7 2u O!`NEn|%)*J+m65kq&) #wPX9ZZrҿ0ǭa+|f:b9t+IK4'|=Y'8JZʨPGwaA |н"y1 Cf! :)-na}Ӯw,wb/a/?Bߟ"p@1hȬ q_逩- fZ< C2ɎH=U1o9gd fІ |:\s" kOu8(] lD*ñfRuЏHĻnl ۷F|!)x|O&Xo؀p7pb \鳎İGjgȤ-Q}(oB͖qwOfyW}'5 q^~%o%3"V&Z'oǿ7GXCR;Js6x9bsO$j9)cW^x㙜'S^2 >YzF\(*͗Âp-KJ3bBrي1ͻ~LVY8eإM{A5Zh(u+Z{wMGZM=c ,C ˔4ċp hM]ebQ, p4IҖչ`1J,t%&їZ'y%I-kI`h&cDSPTTqY XQ"w??]cSy4!gzhuZC^ 땘l=xW/S"rS94rQ꽙%H):  Ν#uUr|zq ;,%e 5M|w"2$"!Ӝ:>о쇐Xιt{념,/Zd,ZJq8iFSS ^Yke+$ZjU9vpgAz\ mkӡHx,XU3>?z&DZvsVFn*JÔX,G̃C-v ė\Y 1 FoD #-[3=<3ptޡˠD.^v1nl#߿wDhf:ÒO2Oc͏doG ݩp n淘O;%v/BZsM`!`,Ft{!;r n5^qt#"ho&X8*y8РBC/] }?Yj9" vB2olX'p>9'zZpU Ȏb Щ+d:5 ]_=hpGm9^w<)&Y^2y)x3YT}AGnj"`dw'aѣ,&m&[MfGJ^dJS=n\y]CKh%:96f,MQ{ȺZ-,(CM$ ^,uM-$+A` i#2}@'_-d2C.*$MkLOH 5) jnਝm?B:T3#^I 0P *@ӶJV2vNjt@f>ٿͤJ,ub&YI)c))?{ޏ <2򭩡nδ <>O4‰N)^ypP{}`mNOgTvb%''\̿)IÊFڅʸ6;[kCfA'e|QXS-a@Klp4]TN1/p.!:^6K ˞b/ʗo&wZ9@gnN{8%Pmfn4h-5UќvU*ɇڞtHkS]T' M\P \RIF#PRuB Q[G[Wb #MU@ĸ XWlI-KyfĠ[u\'@]xK^lB$+ =~jSz!TW,ǎ.7t{w#GH #m/]=fGR`: mQl&o.(d;X65j%%wo,| ocא52|*I,d/_TM(cG-‚\7BG"MqH/~#.ѩ]@JVE3`%Pwzև1d(El!Fh`;)eM/\(%;KUNLf3 b,M N,. {{bLBK-rJCuG Tp5Xd7q 0to@%fEf8  ذSHY: ,K$z/"BmIm0gH> Q|UM@LeX]h/Y;nfp#UMX EYig&oZFޭU6-]5?d[_ 6\ugswX"-R {zjuCzNS8wf|;?v[>C@4"2$7Z׹C~+)߶@dn3Z[&/ƾOInPZusΣQ%Z%A8t@ T(Y;k#8۟)":6!'uaFN߈]iro6x.%e!K{%POpBUʛLBmmN(O=xiaCY%ĩB:\WBb$JKzh4IJ| )_ Vw'$Tgz(ܹ)IJ`N TbK,0cM(IRCگI,p_eL "Hu ۿGq(WrzW{U&,b3yt%Ud{|E{gqEIޓ%8OX|/P@^|o_[U]tLRWh@5~p m "R*ɘ@1s HxwA֏aEKARG_^mEsևS-Cx5} OH# ٹty`V\s{=ɀ~MɹӊZ-r*e1Xngop?6O]??UGG~[}О5rk=W)zBh`=HLJqBKQ* aDu7 kRӬV3 %aXv>9u&QTf:Q麌,L~ ru+^#\{N}>ORF6%*B4 ڛ&J'(7Slsp|燵|2YR1p9NA❑Q=zx=bQNlF6IVɍ[jeq\ ߷?LSp8VVaGhg`/;#dQXUSyg[E?  @u[͇n_>#[|1p}/5%s5urSJK-dt":Y>06T*sx+k0uBǂ">sT/m:3b^k6~)@8LR:C<Sx@ϼPZ HsͅA;>4˰jOS߫S=F^ LBMUV;2xe&-7g(%:BhƕҧP(P\Q44Fj}}"0 ?R|Ys|V#>҃. ~ sD+ +5^S ]P5|ScIe 7!.}ofGU *rGՀc8?xSQk0[uT)q32p@my_] Κuʒ?DKʖ1; ~%y@5Ʒ ǸE i eE^dڻhƿ14~]d,:Z!kG"Zq;G#6p݋5u}MB~vDMx.Vjr9P`-+GH⬅uKRg3DI9W]i.޺ c@1c91[s7yji%T(aj_pIjyT\W*fEvLSw#MV|GF)Q%i 38;>$._+:a)i/+]CCʦ L륣K"bbxN{R1CFIZxꪼ4 k6sa_T,/E_~_ws̬7 A37/|L3٢1 Q]_/ V-01jZ)O>+LBVfmY+wKa*\>ɢ~X!Jw}(cԀ mO`:#?YyPE.iaY@F6?MY9BsM3j=H9XY 1ޕ4OC,bsL}M߿ -?sk5WL*_|,:{kR Eo/Xmz';g?Ө> %-zCK+W?ȌÊ,1睄 •㪖~.FO``7_u2 6j'lf;rzeixS?Zbq_Ɣ]OS.fz:wI\tG:sCqHQ?)wzt1Bfu]i[ݬ7C|i Ue=c'b@&K~,$D{SL/GnO/J_L~c BfRx}0L`!I?jty6:CYXT֖cUk}'E_t!K{vݫۘx2&qɇmlLb:a3&xFؑwEò:$ 7nCB5*ۈu2:mp_~$\gvnuv4A[$ -7S6_k{>[JO~#dx92_~=ͩ D/v|.ګĴ83Sx" m?$wq/y!DGCΪX[8G'-D݀ /s['ڄRfp0 ԏ ?Aͅ+/eKekƛJi%+Қ ВŞ 2ECZFLݯ23u'~Cvm &z!~`w=Y8;˖bhAxNeODsS;Oz=m>F( Yʄ&4iy~Q%+3:˛5 BS,mx߆(Uz)tj+"r% %%N.p+D@m&,$W5?=ejd79zÚrz84{Y3BB*򓐭^*BYMUֱpDYEeׂ*Ԩ0%G{2FRNp{ g̙Ńmr iKO5G0ySӔ^(Rꌡ̘ `)Av]κ)y)i#ȁy;>LRt 4>`=)I$27> F2\zwˏ! ͉G(MpqUGV,,<inӞ-L:{0LYH${'GQHi,;V|?:WAi(7|MoݜDYN$/(BX;*گ.gF߭nBT08HCd K7ukߩY[--S-aUW9iSKZIeķllvS켴0🤤>l8)}\8:y]:$5'e J㮫 Gʖ2.y*Xem$D>c5qMd.HU+h$ eQ34{w=^<ns J7w{ TU 3'd/mZU3_c%+h#Z3O98o*kaѿ wVa#bʋC0po| xnޮV@|p7M(Ԟ=_9$ո['`^J0 hkу<+z 6'zC |<"?ָO5"{' ڢ!T13YzZK}m*űvT<~5Fw,&ITvh٫fiHFjRU's7m.zi\V"dNaaUU}]_H l@Mh OǷg]W=,@?Ϣ £lH:w{<|ۻ{0j!m.͂6 F&ia)IW3eߖ@ 18K;9{vI8$A[M,T',믟d: (>`.Okߦx sJF~Ж<~W ј\?#n6aU+,yE l:pk8柫,jIʳĖn_ 텪 y9TӠy +j lxQ:aQ~_xSfy4,r{eR~qMlAS`A9n%`>ɉ<@BTEѱ]$ yei!E2ddbW_ݽ4"qn6iO{| Dxi83-7W#`P']-hkӣ V),(micYby}CUB}Us``sӼvy!$;%bq*Z fDiu٥!(U|&Q=M5ȴM/*{ަci 9\JxB)~B,U@mfBĻ<;OX zs$g&r(U4pgZN}pF2W7}dƌݷ ~i&YtLէ׈,㮇xF ,yjĜ*B8$=\Q }d.ٺgLZ jf) nHRn%;L<ұz>42aOOmzU8jLOn8UE!(2nl`%L~e5m<+n;ϱƓ֏}@I冥6"l)ªo\ դJmdF9Igg '"]5ʪO4T+wd=S-kw]{,h:h'NՌC!`0ݍٕGsP-K.",?`&bxe)AVD/GxCw%#yWML7tL 8FZ5 8rnʶ|NC7LLL#QfWA@on <r_( nO8jbnѷAWM5*?jؠA ^;X4W؇):\y Q;xXV16<]w:60EEN9)\9ϑe=!Ǣ{1e@Htgd)o3hVPuL,춀+OՆt 'S($7a%&Ȱ+@k9D1c҅pn8;&oSp%~:xFc;~_z^ᗾ^=&i PI1UKFhPߤ5-a ͓G.fJ䇧/aS9Z5A'zT+D>K?|sqՠȿvZ%ܾxeudmtVI~`Pm֮Bsӂ >,NS ``̼b slRQIDqpJx,:[<81qx|3'wjQE4RǩWsG?= <8E}P`>pO;Nut#ɚhzM#r9]ď*%Qꌷ`9Cw=l/āQz|RZ%4/@&]ԧLJ& 1c_ǬlkzvuBt9^ua 'B>]Bfg`A ~}ؖa)d$FhP+G Ӡ-HqC\( -Rvs 'ݪk~v}g 3ݰax(~R=,~V䀆{ Jf$] 箐8!#.]G@ D>Y/o>BQFxY~O}v[yjW <~$4=A!APɍnuG /eZ!f6}_1ɥ1tôH8HO4: JҋJzEȃ"E "? hXHuKNN4\P@]B}/ CuTBM0s%޷*3C71Ǹdln*۵`BF2?"r 7e^b* ZӉKŧ kƍn b]~pP$Q0Íۊ\ʳ$ 6N^,)5r+L;eHM7=ιܹ%Bϡ K_U(@q:6`k%gblW8ΚFh@TNČT0r q`f}KioY ̗ +"Fc{oc08v!8Ӣ M7_ڍp,$.gћ[&{F*5%[Ƭ#.%1Ugm*EKYvy:!.nO` 嵊f1J# 4#լT5,37$,{˲ w΅@ ]yդx#B`FYf!23k"̧L:Ka+0~y?Y7C^T_Vc\-{EKfZU$ 2z',1y?g1l$ofXc k4jKlSŷP:">1bBM) Td-'41߭L {N+ϐ4J R=چzڔ\>wq,;B4tRܝV/O'WpC}p=_Mz/m|`"|*Ƴ<+&%@gH?$vYt1_% f;WLA( R hp#hyIwg o5$|&ʚ)204wEZL1 x^iذkG ~S6Sxf aNEC"~I酐\ϯ Q3fr§0;sNyʖ8"LϘ e;f lՂ2>҅Ui'Òn5gO2tZYW4 Քmg Y_۫_riʻUQ>ju а&gp@`%ğ>:CA8oT3=bhiCdYq# Oy(cq|3|FiiN~Ec5|L3y+ puT(0RCȗ'@<<W (Њf\pdw\עۂgw?lIiS kRr|a Jdxf Lȝ rMN~0gctēX Wa/CM /FFH5H; N bE a QG{ NO*vq*_i[2{|ilE>UZAgp+2;d7_Pi=Sone;iV0Dљ^mݝ|(u'VG0r|buR񧵁6Iᮆ0kɊ)Ro;9:_ƟH[IKx`8wG?* @P[Q^}i< +1FR^A_{s|PT:mP_ﷄqwPL+ƪD+1!  (؉eqǤHBN0~bi pqk$ɟ|7f1tZE {^3β$i@&v5[DqwDĬ3وt`M=FTAr w1>&n͛&}[ T&+Y v;fl ,+ rYTL:MQ ["RpQ/y$=(uMzeN}$&U.e-bMt784ՍKޢ\S7\.CdCX8x?Mۃ'W6Τ'Ȯz2 j>o+9~nruF_|o?ꚃ5zZMfYqEhp>Aj#c -GITga_kyQn#.TG0Rp#hjpr_lSXN%VE| HTш0O JMxi{1 uZ-WuR_+SQק*a1Ϧ5rUIdoPxf)֊Ki'h/gRgKG*HG0 *}ѩ &he2b:e1|RĦUiTw`'{>zguaRm"5h`/(K>Qԁ)'nn/X4uM0̲C|7R 7 % X8~̭_wYqipv'I'bX-s4:0}М?gaɎSAVwUh x5-&@N&=<F9nZ-C\#%hпT5Vf19d_*!xzVKùB?O5S97B -~mf>=dA}޷+*kFg@@!Ň˖ۿuk ?"G骍5݀U%fr1G06NgЀLZ:J t6Bμ¦+RBdMɤ&{PD*#T!OY!n'[{/O ,P~̞rhN4!aڡo$\F3 paY^ 4Vhj;3I;=Zg*AqY>3^.~ "YuOzt rˈ^|?[M#Q; >mjR?"7]׵ض;w mUj\JelR)k4k ja*Ĥ|="K5': Ȱ3/Fd3hhQj1AU9 ] RO3+^J.#򺖞 ѿ]'Zed-MH~TXeI/[0N97'dٽyp9à/X͍ $Zy1X5Jޭ{F9lL=7Os9couw*JJiR}Mع= JaaiLW yQ j D_G6~(u^?mcߪ4#nSB8 [Gì~90ZmYxNC klV0i2Ǧ Z('U V%f.EuvK3 AwM>rETZs`wԃM^!hL5%I1DC!JTj8r͕E -^b50Ժx=zg/nE h ]v AljvF|}})褘p A҅^Q YQℓWG}y$Ա/j21i$ ь:TyH=97^ b-#9R:2UzrimXd͊dF3 kQ-ܪ+6ӌ!MC: .oif#c>kW%{P(4 5=o2B-<߇XNm8bVr$G )20NuHS`i@,ψ|y'BԠ[.M+gt}`71`#&T)D )68X;ŴWmN|KT/ ,soJOܡ,4 Ta-o(Dnv-7'e;,-@^Btb{.> 8 6Wݨtҥ8JF0I@4&ݨND*rlЇl z?1vNxΝXl^olxLۼGp;`$R $ 5)٧(p@rp1 GT +e !Y/b7KIk4A+4lC]*=, =l?7O@'n$d~UFI75ZǸ敌!)׷1MA3nvj GbJ-2oTPҖMa<ÙȍM[X9cѨ;5fd3iY]VUhZ}}^J=pP11R9 -a|kqJutqpJm= PEk"j G3șůrYϐ+V૬f(F t g\ykv8ߤ{@:u/0sMY7wF eHns o"I`0:z`ПdɵA,ꆁ?#]ܸo6H_exXʳx$.ZxZ behH^O( `&zZ! 1#MjZ4Ҹ^FvY'@răV-Q5#eU((?턟qUMФTnp _x%_eE ݺ9!DJBVh@e#$1Бʪ.hI"O-x&~LN7ۓv)TNNbbM™9}!a54ÏHnJa :>, ނ粴V9<uN[aAų&ˀ9I襖wͮJv1h`X\J@Y9"`kk@AdfESP`ʊG[(Px}BK@%[nGOͺ~ i^.VrmAJ0N2Ni5jR߆ޣ|-5o`yzg"DJ歆 Zeɥl?7715FW˺7{RVIt'#Obu((.[!5nN-Ь3,_$+xv'ٯ(#76@GUڄ9-#Nfr]o&97Dtj{rFqs+ !3$~Ut/TQ<dzNHx˲CSe4owCN|896%l„rx֤EHKeM)q(Fکe:6]>y}jf%ɪUȢ{fIUN*uZE ܯ5GGiS-έ5ԂkyAYչ;"<|f7%\ k .KǔIc[8=|Ǟ czC >=}tw ݅pB)Fds}K FptErvc\"_IÎ[PMHNM_M۝2&cS8Yhs3GeY+^YޮSP/;4mx#v2d ܂_ON3G W/y9m[|} Zˍk{ He+6J$nKAݹP"sZM3oFä^ ն/i}NЅ7YWKH%)\NZ Uj]xXvRkR5,Cҗ; :%)D>s㳹 |M3†٪Qf*& GI^L8ox)*/wҒiX仁a#dQOEaQ>1߿P ^\.MIƹ R}39R.$R8/-Q ЩgDgzliUmYTy;ߒꬻe, pig C` vtOI9Qdfk@װRsd3x>:G 飽lI &MޜY/ّdFpܥy+[Y)"UZ -5]s ڧmtkMe}_5dC_5ض _خ#4g(皣DR-c1׈9U $?=)[Xɧg͊K$l+nf*?د{?a9@<}&E1QMH yZ?Z8I ҅'}֮Կ)m <\@Òx Q*pR^##@KǤN2* bڜ|@$$Vl׎m&` ևgB5hײ$ "(w.YKW_XW-z>#9!~2ĆTPo-6v/ߝշr;қEb!R,8Ul@bBpnvB2ܨ 7dS- W>IRGlw[HtsWR%UE*.R()I ,G;e8㫛GX\1oˀ k`&퐨-dl ]~?P 2[K* * CF^! Ghl1Op3rLa*S1HgQ-q84C6GPFfR^;*l&4K5X KI(,A+r=ER_bՖKob!S;Ĵ{N;)r2ۯPi04ߜr*~x6$*67X)QTL7G-,Y,=9X)߈WAWKQ`U۴ @P>SZ܆+CfV4@ݪjb1C!w6%Y 9Fz+فP\9(2[6L p(eלS$3K;7!ZKsNf&j7Ri|I/2bI=#WෆX 1`jmPͿJv]aX%m>f5'JzӀʬ/5rl QMmD *ĞJhw%Bgǁ-lgxb鉎Mg AI&Y$~e*9aN6N菪2tGMcvJϥw}~g00ȡL< QC]ցA{Hk؍XLA=ɇO4m!"[j;ΓKv٧.&#߼RNsoq"Ty)r|8l~Z= @+\(ʮbR=+"$L;(D|njg!{(Y2 nk% {ʮO =%}\,yU# GeXo7$6l3ɹ9 u0Nm9J>I#pěqD[jAo^w<٥{!N7[VBjL`CD%ΈB|@s{폃gj f r b%TQ~Xr9>}BmwFFɳnj7ܹ 嵐Ȣop˿9Ԕa6K,M e m]If`;GWn@+3ox3Z%V/j8 BBהx[FJ4DGkfWyekYKĞ՘^KJԫ8\YÅb*UI94nBUecZ SFΈ^ D囙J<\LW7Űsq^˭CMn>q[dY!8İ7[/a+4Ǩ,t&>r~$S#ϯR0}7k΂KWw S;+.Qg-pQN]Ì3F~R9lpwa$shBg" \f"K8et?6oRwJf@=uեE&Ixll8+˵s]~ b` mXY$+;3⣈sXKa$VQl) 3H(ye 򭍨o 8䭎=?IBMJ[V-3t`_C-zs\T3cf8iF9tC݄8bE<Ts@l >PEOt+s9Q",Oiz멩VBž]ŽUe9c<ȝϠ\݅%r[1W78EnHXX@#r 2IQA4,keڮ0]|vWTqLTtW{MbVRu+R41w2m6R𸖱USBC7jWW(EA2~?UZq5 Ǿ( C" ʃqըʩ*sjlLɊ!i6GLCmGJGmU^| Wiu,32 RӘjY3 vRK{8v[xڅ2FrsG"mpKUg("`,\xa5Eg[,&։IAz: UfQO[(DU2NS{M)wF$5Ƙȕ>Pukܛ{[boM&_%, A\䮄}% m i;:4qv31?G] xDyXoF 8Ǐ?t/fΨ[FGȌ;4'!ٿnI\XRr20ʐD0l,jlk驼il$__(/FLt䙦N2zNwd PIzu]J6J hcYջA ~8, @ZiH2!B_?ʗJ)>'0C؞j\$bV%K"k11KkA5|a r5-_OkPKk`y;|%踃 T*82 )0@E쏒0t!CkΈ-JoYG2C o$\X M {2zb;\t2P" siP@ln]j)]>ݪ T2ȇ=#vEf-T}RǚkZRCiF}uϧ@`48EƾНz 5ƐX;F8Rb8^G:=UWɲÕ575,Ť?)v4LсP`A-O*->a~sd<j\:% ASw6U{^0M>傚 q^tH8.wţ)&>o!AnF#t_4֚kFHȐUdyyRz Enu94S@D[.|sob>0u?jeH% #[y#!0EBSHApedԽ"*;Y 6|`*LBiI#h[h%=v/biݤ=t*A|ԁ3fZqGI+jGaHk#mrݓVr({/RmՕ Ƞ*N\t0?D93l&:lt>XCq'ـ1,VH!DTjXGJuyPscbFP 8iBK>` BvPG5$fKXu4D^r`YMKc8eh>Xai'cJU9[Gc :e!H\ f 48r_Vub>&>H W a*2)Xj v@|)Wq́i LҬ'tT@]].2@ .i/8AiفcGqlRꧦ\H0AzϘwb7DudӫNk18hDCƗ\Nj|-:ۛ6tmEƣ7b9nrʽ1 󈅱8X%]N=:; y\A^KWżM85*+ޥ=S]F/W?5^Wh~m_y,\"P}Ίh0QwF[#% %erᢘAZh !b.^"<M95G^-(w2&қdyLgMn2zĥ.l21?t."/t"q ޫ(Rf0^Ifαge'O4]sCTNO ie'CꚆ#%F{GpJZf NY6+,݅4ـɏ5 Jf O%pSvȊShL>OfSlFڭ'L)W5+Y:ԠYbNuMCf.})%֢[r(֦BObB?)r1V^k˼|Z4[%/lw|;z8?p%'2/ՅBYJ r{pOڞSy̍ 0bʰqH;^i$mcOss4nC6,׸QBCi')">t5'r|T;3KWJ [:- Ewm6C!Up7.( JNhM?G@LnyCF܍:o)5~yCÚ=9P\ 1رQɱ:9DBQQoV`j-17V!ckGA뀭)JS~Qـq5}QgNn>+pݑdꩶfQMXc–i;`cԅN}Yvpl;*W%48Sw7 r]ٹ@ |#U} k8Ka®ݕhTX42hs7j!+{>B4Kgq.|0F[J6/hKdx,yh"tf+j~;0mu}9ٜV~9zk0 _pЋYDM~V5?T(:W 3zѹ_k?:VQSq[^ %vYi_JC퍋0rQK[(E wst"l5w ).4?Z `AReK-$ 5~*}'e*^:1FsNTf#\}2!`aۚ) ,'Vk05%Q D&9@;a^iѻXhF0\/V^@ =gE/έ$Hf-I "ug\WRb7;R;#b)\#S";Shf̸OkuzP_jL౧ɡ'R2@C__llpR3Ԋ1I&qYn!E1lb$ W+H(Ymtv71lʫp=*cfT_$Z66/ cG}EI]=HfŕB7fEU˳h}i z/hEko7):ru B /Se}Z43Ndږ`)P3d)V'T}G97ꏄjR (m%DHۤI/('kN_47UHb2 މJsX=qDzY⾅SQ yjc &ƎkIIE"LV8vrX^x$zowǮ'6'^ߧB؅8=SxLJg }`8iX|'W,@~P»@2kN!$Z@sB 7kp5Zw<#ϱ= ;.硧a7@rlFܤ+fAMG 9*RYbOB߿r)O-#PFڌ+V,˃;Ir&bG{dB'/EL*^9٣o"vT/c1Gm?z k Fp0rxa} P *BT.X2WYtoSE f2)|unЦtʡPgV9) >5,wJxͭ\`N }H4¥~rd)-+!^h11ўȗdt5 Ak;|43'ߵyJ (۠>Zmd뷷.CP>kم 7niv !D`tZ&*z% Z"d1txhZ iUȪo`5q< ê/+T\s  q>z;$7ØIvǔy8Hhp(f2`k4lk^ *ЖQf]H W7h )S` mFjgqCŶ$u P94+-d^ۦ02gV^zWZGhN dƗZ)_g˿naIv %bw7 s?πy;G\3"L`fX;hNv"h5\s}2ZC>Rxr)}G;3+z՗.h*W6lBUxP~+c3d+#jځ嘸Zx4GŽ}#b eV!MdQ8z}EjNӛFanchÏN^{3?`xbMp-HSKDnI;)d< -ls"#A4Q_Ynal-sFSo6灛Ef]$> jV eLhyEG/ZGqG﮳2[(ЁwauR*xRܠ6$r;Ŭf\[|KiDcg)4Sz x ™Po7r4{K@~H -4S-.LA>Ӝo2% kn36Ai`}߉KG/3܌<k%gD\{'bpɼ1qœLTkN@@."GW=p@!;ej`yuSZ5bSVh~iWeRrט]-C1i࡬HH辵r^9vk٧6;7ei$rBǘ'M3Ⓦ=)J#oԛVyxX3+HPj>m7Y I!8"2$_k _L.Sy:N?iW9ݝ6F<%d2՚QRaiwluZᵬ4!84ԑ?fjlqWfl]O씡A|Dz;-󆬝YlW}}&*%م{9 sE# Ն.0RG:=-/ { ;-4…*LH !k+iXQlhTwނ]WwQO@gVLs+F@g]0o"'$j䷳rS=lå; r kKI@s86O37,FD?V O滯Ue;Āda $gC1hN>0IH%DjVO0rԋf456;khvJ^`1MŢdv2vF wDhoOy`Isqp쀰P$ߛ@cYotS= EMsl˧>~Ht_+޶CiنbbNa44<0o;ZynQ զPT<{9vm6SGߘ-VE& {vsNYp\8UG%/5`)X$|ܡ|FK#yQ@!&0Gor$RW m>ׇp_0˳߷O82pWXan;xMBmS; ]ٰ/Z B);- rs`fH߁@z&>Ebp;>.gaAqo.|ђC9)=vH7pX(L,\)GMO;,.:CJ_(gGk}I0x oYzյpȐG#2]3&&*]?/{XE4 87v j]~,u$r?0 s.f 0ZY,kA܃}/Gf剔RDvhÁƄEwke $}~ d #0 yGZPYopɃghFz+{?im_gA\uΐ}2ȋ"LQLyU!xrI^zy9V8E3V͔W4Sܛ%9]ojrv歺Je([`"$V-ZM}q H]7%R= >FC3R)*f%nh=*0tHgB7ҕ#TVv0csIA3JYH-/7 kK!Ebm oo>:}$tyl,F+ KF^3Ob}ռq,jpUYU͡KMaJ*)m0+Jl}!4[BazM.ԁ'e>#<WƲi9,n[Geܼx[THNm1V5Z y^^S8hTy6jh cS6wJRG2[wYZBK୕ d0s>OmE= U:pV%w^0&JG,(de]\relyM݅:|nfjb/KB0gAf$!1GՇm~,B ЊqCyI_Qœտ9_&!_];} EApw %r-#3K\>lI9a ?B J33"W?2(0 "UL$ ͫ*l^g,)$9b\.=TXM/Sj:lT3Z+sRF$Ead;9~mC oTF$ֈPu^:YD@csA/K&(W }?=x> |/N1Q]ŕ;Mk$jdT\ e XZy8TiJKWZ %1.N* }'׏(^EzG@yAӽ#mu.mDQ$9q4R=-U0,)g)5TZdVNhzłg mA~:ǶXK\S14V<Γ}_=QO27<LĠMFNRd ȖɷZ!Oy]nYQN4#l/vN*Z_X ^_e,LIV{7Ӭ^bLtTt fٹm|N~=GBс'z1`YOQ- 6rBB|6Br@7!.6vxLZؓ&n[?t.uT]f"Q#0%"._ ?E!MWy1 ]\'vM}B Rf>I+7K*+_RY51Pe_Ngi,f4N TfݙL_+,8)VSɒe S@VtWS ;(M9vV̦'՘/>(̫Yl8nI88(LSw2R/\JjQk&yz(76IuFpf h'==I7 =ouzY>B͏ d `OMj2Ы rO5%ĂD'heXHy4]7g0:w"RhqEq Q.VG*47KXPۋzN+?8u]/ic><؜2vwA-pKY{cV%>n)[$,~f% ׊^H.Y6(kvhb{ z_ LTU }%3 ۵0^7{ tSlG5W|Up!z07kW%5`T&䩳)6|" >?9=<+D 4eٮg B`n,fYWCIm=uAjχB=s9|P.ENG ;6{;_ٸHEQ=Qjjf$17!ܡ#|v(Fa̦3PJSC "Y0B-ٗkXW݉˪܇&uD[\D'nNeE1YcSЕBXCå9/ Ҧ*a ;uzj(f>BvJn.e"K^Y'A#j%wf?L]>w I<`KeρMA@6X nߏn~:]WJxLjT2eC7[!NPe ס2 huʵҚ[EGd&ÉdgH~A/v\ĚYBHV0jyhGļs 6ltΨV*z.hQQ/ P0H|0ғd} jGj obIz&wN0[g* Ġ6Pqam;};Z*;`*8ٺMwx،rB$CQlRVDs^ ֋vSP&vc@f5t+^8C*n'2&`}GISZE&o Wptge(/aeM}aV%lĹh%p\`-g6nլ.' v5>|U5wc) 3 Oh"kO=W]l Jj,4Pbi|'շ,\7-5| XMX_3d͔V.'$J`QWr=C![ |[ˣ $ue-ǥ6^mYhÿڄ%&-SVcC84h M2]N5umm`g-3Yc_q -a'p2dOofv+M^M=I{!}r= ]OZ"SsS۵>bOP@m7 pLLVKCZ]SE>+cMgF|$nn=ƍB |2KǣƧ L;!⶘V4 V7uf$w{diqr_,7mGnLIJЫp c-OY# )jV?k 1r/wUG=FYW~oc)Smc~?x=ݺjSD>US=d۶\ s"X|1̃۩gd{~ V1'olmMOƁ\6hor<~m5鬔L<[4JC [F (P#uҐ-8TrG_p7]?Tԗ5! "c}^R?-$@pXoCA獨k}ŹKF9W嶣3d MnjjfC[Ba ?ll6Qy5Ij=b7{|$-bFbʔ"`r(wI )BZ'`sFK_QײލWTg yNUf)}͚m?:JKz#am<"zz 함̓6%RnfnU5ͫa%Z=TZ 8q1N:f a]?mLBl^Jk7=I6v?IXM2&1|zLrƷr ibtœ lb+nɊXj[BNzctjy?c ! hH$0p.R쓹ӪS][Gt֧nJ%@^w@;ޥ4O염Q-yK$ʹr;ɷ {"+1* ˗i? R ӇkgM5peKvovĎ%c v5t Ϛ/j۾)PJ1Q[|aN× ZBv48viHTk, FuȒ sf` {ߛ~9CvحN{C3(aCNnP>3=lGxÕ!L$j%bxVZИufL|"1h<[;vԴ*#9`WW6c {́|`]hvP Gl-$V=dߴAr'VB_I<;eRCoԸ#6(dս&mHw-8)t{Zk ;,խm}'؇oNg' '"舘x;[͍RZS" cXȉPCk蘹DLDG3hKesAjgSo8(OkR *s]=2pBH/"&8+^Azto|\VȽ=Ƕ1X&Lz@+Iv0qW>#VOʽDZĠUjh2%*S@D#8maS(vKYި_ߦ[7  iHyuq.Jgt VPiFmqԇp]:CʙOBϤE[4=Roʔ[uwT[ڎ؄˯ʟvI-utZ0mA@o;K{P})I BqUz!$h߉Q.(٫6ZDb״*(ۯh{1M^ʤ )Jt3άL!\&a`1[xbNk_ UMO}VR::toH}@;[9RtJ-Ggg9W5D&c{+Zu*U 9n KtJRl&R 󴌰/$׿M+ᝋ;crR/+#]OOC6V2jE˯EUBOUBzT%ר3}hd7nԝR!^\͵+e͡naܔy&@,YbC=>mesEo(%u&n#+ygN6ºP}}[U63)"jGNkt,! 4L s0DWI9ioxB.敽1l6>5&%FGx:d'y!ݜf}FYLek4ME]2{JE@j8K``(47tuT›w-F$9_@ݹ":v et}p7O vf>.nRW$}ŮRK)&ׯCc᡺hxiE Jݙss`z; چչ1jrN{,lw0]ܠ|Ѿ0BMb>Qbj:b6_u"Lpvqs2hzj18>6 (v_Y%r7!Nmݿj2GQқbiy|>d 'Ka;T]ܠ,E677Yvʖ M,mb\zĊ.-LG9ؿ_ectU<]+#QƇJ %~pPȓ 7 f[Na-`\j !&`n{"Gd (pFRvFk^>=jF9R%go^xP"2ǺsSiTA}%p5 \] K^L3nX9k]isMv#Mi6SVoqb-]\|ln4Vr;r>&OFf{B^n\[k \@BɥKy`P>JNtD!;]3N8hn2689! r|L_Gּ!y/Siئ+a/oGz]џJn Yf>>W9s1 B^M̙{~Iݛ/M wugn;m0u:暯HAD0Kȳ^Նդrp][qZ}^/|R1*doApzWg27l0W.%ެFv0eUbKYHN¸u}%>yPoV8jPA,)\NMwxN2MGP͞_:S0˯3fO[w$G*1H^K@^@pOfsćU\bv,7Z îu v;l%Ѥ9#T /0DyBpv'Tw^  BAwk[p)Xsru?LB32čp}d3c1Lla2 Ǎ-|R3g|@?L޻,·8sZ^yi'D8`>_SU,5r+!&ߑ~yX/, P~ӴSPPEYC[+,Y_,v'q H FvvoEwocɩqk=?Q_J$7 u\*C,Q$Sl.iA+ ,a7 s-A$\?iuA+Z_ ,V`6u︃QSʴx[F U $1 M=Pr8>B 4Dpz9AԿg_CGU.W?.T(fؓ7!:{(_yt6 ^Os\S?Ɠm=hABjaR?@>u08ƺ>aHr6,A5^ ^(TMJ 嬩F@̐|Cv<"<6*de3V7T<> tb"+f[A.=i2WNVBbKE4)%)>tS1RЁ~dfMCWT 6yOb5>{Afk{e&!4 Rύ 'n3#ÝnuQ%q)+Tğlm~2bTTSl U'r1] c`d\.&$)_yg m)ۭxRDd!6Dȸwfb*\./ d])etQc4ƛMwW]Nb7Q 6X~_G_g.T[y=d0 `[~lO(Iƞe:t v`E"CO0:ǵ_2|hZkͥvi*㱢!|U~@j/MN~xa:hĽ/B #4y0=-`3sO?aMMN9O^uS\S[ڢٜu,mbgY(>?{Y[t@~,ǴJ'$$_{]hrc&AG$.x)ɻ: CN4;K:*=u% `[=EC*ڗ鸷w^C}E^oubnhuxHsBfEqxg`m4>jCK 2?F DZ8Opƌ֜J {v/?ӥON$pd.o*O]$űu3_{ґoc"FMfXښ΀Tt{. i(ucU}7^,؃S} Jt h\v47TJة3?LM!/]N0m0IDa*ZuL.vHkqȘr/?#Y7|!??*d ;Bp|3stDFp]]HeIҗ% 8r,8*rhGAܳO$%jO!D|3kPp)jjF'5_4A+&vBJ"b11Px`*T74q"HXˢK; nrfksm?&tqY~Vz+`{QZ f"ن< ~*OӐFMspi9D)7]䑾͠@14?4if%ɜFBn~**[$ ABu 3[aBFW^\!6QU^h}w~1)DIdzSfE,b#jkYN߄ ]]+c(SgAC޳V_9,My3W["4~kUVjo#ԈKZR1(pqUA4Y]"%_ P+b2sĭ?qms,#z)DYw_k7ؑz=jeߦ[2%,-(Ry!)&ZÏ+]~^wgN2ogT S#q!5Tnp{6ECz@?r7oEɐyihrWGǸ8ٱea=  bLũ0B|fo,12O`>D8ސ=p"e 8OÆLu~7I(0ْ=h[H ~`Thj3qؙvjj^[^J߇6VƀYLDO46%wNG8EuFlf,]ޏ VcЮfă}Vc lrZ@s-e*qIܽ*)pp)^ I -ۜx83k6FoUS7>|W<-dA.qW}dعOsJvo?ѭ6Xrk tio`L7daewBMjBGQ@{LL1uMpgi Fx|?dA[GJ^^UVGC^ZZ'qq>]M}tII*%n2Uv0c/41`kÎ8|04'=םS B!\I6@xr7ߕreoi_n[Ջfr":DkKbǶ3ې:?N‘ł<_PwG<# Y(Ug*@l2ֶBՁ<!¶W?,ϖ0'g@]{ЮE;rnNt.&7#!x!B'II_VFH5i&-3n =V@O,U>y+yS +Iq $rE-ȅVš5D}=TU_x8OםI䘀?L}fWZl"y$#[cg)'ŕ/ |M -LW:Z{Qm UӐ`A$; a /\Q9O'EnSv^+²Kӝki&[@ vEK} O %ɏa?\zI|_&aK6k/=1gqRo$q+g?/o[TLgJ7sk 8G*`m/?M" lbE tuPP*=K:z&W~&Ja]m[7&:vDƳzMzVmma*;#`:pc6  zekoi>+-'6Ц͊KnkA0J^l%g*rtqc'dcڑtw/,JooꞼI/$qɭ u>C VP&yE`.lTTZݼ K)oWS\`+%ˠBZC *xkuLF_c]h=mPhA7FtJN<^:F?&_L8R  GI5? +C=iR+߱p QJ>b_]Uw.l]Gډ9` @~~v= :ezֲcT|?۾gXfzEME0Zy6Nz+oL!Cy`2BѨ!r,*Oc;m2H9VsJ愪 */|ޮJh.G -*S0|KfkAɳCɯӪ \Hԡ_ȐMf}Tlk.IY^H]~+d?LmѸ9uџsJ'5'&kkdGa@ ԢC@zc{h|$XIyt 8˝* (KWKX6Leh/hU!+"LmHtgԒyУx03YYl>\j*NK$MU?[իVj35<$ػ+,5q7M!?Z2*-"X1!l̀CY? ,Dn&,@jrp5P{GPNRlYD?`U~ <)9ATwn8941'š#Pn = ǚ,9|qӐϾ/aƫ+b`x"b VEy'Vo5 gm&kO9@Q/[';ˈᡣի<ʗ~rF[Bl!tsc>簾p3Æսg󗪝4s bvOZC6[W"3\Iﳘ(W" 4M9}9*[¸z Jd1 lgT)jbR"Ҷɞߑf$ϫ S# D)DrVWt:X|Y#ip)F;ew4kMNMġS靕amAJDX&=+>\G8qkP!C;kw_L Z-!ζ@3dk'\Fd0hI ;h94= LI @*:GjIY]EP䡂qkY8%C&AyTJ"D¨Aj1eydWp?@fqY3 iY`s[Gt Gɧ;BUo$!)K}8@J9pA\3mm7ºAi| tjQ~HC9 #z=fve9x61.1cJRNណKr-ANU7(і҃@RZ#ɓfojăJ:c){I68y=UƱ.Ëfyj-ȣd~8'F?nׯO ȥD L(oB^:!)[SM5[4GpbH=<񾢓}59/b.2KhE`poC=o0 * |Oe\)9=@d~I1eWFlXc3?;11B*ܴ@T^FٖƝY\a4)ݸƕyF,󹤴`&|4M4pPw1|ÀqHj R, Gr)TJ:^61Ԩ.?dMׁQ{5;#k̓R3JΟ'^w+.JҧD~HmZۧnIJ%رˢ6kFp1#2Ƥ1JYwp|ϩ66N^R5l/P֧oԵ!~WNX* pV0eCT9}JĘ,tHbn JdQspVX3fEݱYчL9aW|i5Jrj3Sd: אhpe'JƔ՘>nL$#Ÿ$eW0KI +>-3ƚa3j:B)@S-@)zVU+8/EJx)4d,K#+Z!;N4$e`[2gbk/T;Uܓ-KvyjǼ^9`bѧӾM_r\#Xé#}V"_bYj۶N& f6ݦRq6ZyP{dl3r9a}Z0 z9lI+>l ک52Ҝ ^AM~5ֻc"js{'3a>M&H<?}Pjjۓe!Cxw}{>Bw8iVM&gY蹵㪚C$\LI[I9\ e3wDốo bLA b9榳GGж u+nij8x+a3P4A9$Muy7D aVlkЁ6kE&Gl8ϋI)NۚkVU\?+b*v6.|sVD \'vK>%<%@LΟ41੧9ھLw1zzؑBiDIo-P{6e<*iiQr~}Q h^eaW^\;̚mpѲѾW>^\0NIB$E^2WLDsCOFjBGs- (r_C#H0PN-sF>BTsO_͇Uwy/`Zi=AA:1LjskJ -ꄋ nUQQG)!vErU-2[r,ߎIr!g~~~PO"QG b3ClI*=mH]NiIMW9l̺QjH$-?F{u:I GQ*|,`@M'^:,@(2`_,LS|#1k9k"fýU6i @t Q]f!ji2g^8P~j#\7xJVW@T97ɻD[J1=bvXrR4+4X;2Od]rbny=TnjoTY?7Eg nxvz1ZAr@N~L\bߡZC*wzF&,Us}yB/kjCy~ uH -0FX ǘ%fq& IHa3xk {e%ڎ=oH^C3$n,2umu6eieA}?H1pZZq{/r;(EZ̴O":U'=u5DoHM.:{{;rwl$+O!"7{_D x ט.q4aHrH TtK޷4鶪Bp௢-$9e;UQ&=*ڑ ɡnuꑙpwҿ!HX)r]/l-@RFG{Lʉ4+}bJnm '"An\(w/ $(uUYDcW0)g'ęVG0θ81ːSAipK6@ %óUh1xIEF38l[g={U\%xt={:؀R 6ِ*vbĮsn*mƾ&[tJdzݳװ]N/{SXHL| V6rILD~>|.n{gOФ8?Pe>L9v 8Ҙkɳ2fIr;@ZG%Z .落 yNI ׉Idt](SbT̫{n[7jmthWʿH9`>WqY &auu/+s뷦@@GstBTjqHYe~e=%80mzvu'>qa#[}s _ *@]؄3^qZB+T*0(6k3s["u$w5: zb%=Cc$e] ?zU@D5cLУ.Ei&lwʀ!9lVa+J (60UDIk,F]YH{C;WHFa;nKP%iO~~%8 -Ѯ:Gq6"tF|HSf'(`"d!ȮT/OٵhR,/trRȁgPwأl2Ҷ3ѿ'|; tUWokͯ89Cv-p̵y@逡pPG`RwMG^f-z=W;rkQ•s#aPLsys, _ai\O08*pK6%i\W N o5aJSDvhsqDJ̆!NkK ;# 1C(ioʜJ$)^4} ) KM5@MkOpp>XOVU[XahG<<3~cyݫ'MǾW 5>:H&>v|X*zK'Z) X(e"H>خIBVY]YQD|3*x`Yg0XI\opձZ9M̌zػl@iǒJ#']!Çͽ,d6l7_ݺ#N~6,nR6p Y#U-DE%1 !q) 3$cBӝV)SDH%Hp= ׈r]A p`.FXf!ʼnHc!F*'C7 ftL_zեy<~#DKsYЪH' {ȓTh&>w^]J8g jhܘ0 %*{|eh] RuTs:6ӰgcuqK%ܲЈ ~tt=Jzb&$Eqo,~"؇b?oe(OG!W:zG1S1$^r<25KɃ2 D%Uƅ`W ME E=gȱ'r&z&\Kk-KE|`UAOyelM!]jM=ڼ(xM$z^YIqZA=-pxU ۱t5bX~KxBj) ?DJ4PnN> Dqa݀ cjmf]גWkuTBW?bt^}ȼ˖[ \z >O۱}tY]^xt"BY[,ݾ1gQf)ZD۳( vq"۪֥/x&nL4[q[a9|Z>;w U{ʄ!pؒTl |ןLz:7*)x>df{Q-խuvW!T'>+##4bCkc{~IJ㯓'= cl6HLGk3OOBFb(j7\y#|UhZ^}c:AqCG×L2?y[ Vw~8&QFѓX Tc|26Mxv֠Bh׌eayf_z =m㮘yi7Er]umkF@̠#=:{g% n8lfuiW$yru=CIoF’4-V utTCOf{"iMf/.9An}K$E]4yQY-Pt3^#VOPuo?5 +%Wܽu+DQF}]%5g2C)J ֙=i3"ֈ,9l$ڥHY{jI68pIjq: ?긻2B3!B ,p? ɫg4EZ;7ρ=YOe vֹԛ03D\RDҨ#K L1ET[9nɯL"( WF6-_~#:)7;MkkyQgJ#Zi)Ẇ&(`uWN)UɄY,RzZ_7V$J!6Yb$ /{98.k#$;8QS6$zDu8VGu&эN"|N"0o-^ti+͏8tώz}@Ƭ `xlC0@uڶ {jՁ_VP@[ qac{_a {R Q8]5b մl}ć7Rk ŗ'AA ) y_ ^sc®G=eLJm00b  wv9Tw]~E:z1>;$y7If[hzmz)>^T F#6 QlbrHK''VJ o߾*Lf pqk"@I~}YuL.T'Zd6!bJ =*,,([v\(g0hcG?9WtvtåRjh/\BNN-%EŷOs-X~ "֒w\n^+E?0˖;ǟa"a}OJgq2u`Ő% 2Y:|1,~.$GX&l;:K{< ;KN<$Կ$MnYh2Cob[ȱc{]ijGـe8q\@NZWZ{ S_]|cw.Kz+kOkX8;A.6T]v^c߲;׺~DɴZE8r0! b(mGoN\Wp!d= O< ;OmtY4!N]lKh#ak'?0Wl40l}Zzf`tiwxPS&+h",Dv\v'ǵ]!ua}GDž:}sduKY1T?0qX E%GԧS袖5/IQ4Hظȅ|3˟H7ksݪ'rP½ A'G h|'N pɉK+TG`n&Jeug[19çHp+5\ImEOC"FWvoZ%O99d& %V':8Y߹茇MA8QvFEu_O2[,TE VO#kLbz/wzͻp9WH\ ?!E̽E+YTR^WcN7)9NBn93SE[CE>>ML:-*z駜+'~Wui]titLU;UhNWrㅀk~jP8*"7* xՌ Tr"5+U9Ǧ,2/ :}fO8e6&24c|ZINC=t16 d C2a' D U!0:Yc\('@)U :GA{_ݸz!Wo隀x0`Ccũ/+nE)]7,{؇hqpgFW㋧{&w?aB~~6BBU3J?ij./ U&Iط[ \QU=).#L0ŹLC./-2aˆUUAk])U%V+$zE0IKP3-)eϺ(Le_ &%ʢDm~ϧuҫ -GO v`S.<'w\Qe*,%CWY%tF4&6SJ@.U`b1<? y%ҘokeC ,LQڰDwp[ LLMF#kLѱ J1>|x6xR V.7`p/ȬNmER*֘nT;njR֑w|}e)w@< $˚y'IQ<頿~ %f6JRAVV6x cT_ >Av Öf%C-h_y{LH +F!iޯJm8!Zݽ8e+&NG̑Xivf X$ g ё]wyKpBưLSb9u+a鈫oPw}7an~Э|]bmf,.mFB-@qedڜWkPjkRԃ^T߳_tEe+e3<pmx&"B8eB7,X˖FOߎ]8_Ԫ<ͶJ`ɍ6ȝK@!akp\F;[#W3aHCtuD|$me(!eϡ,(" 18ȷ8AKgk%6$* R58"t0`OyҋoVNJ`S/w CvOý -mDf9?jy9aLJdOe7K# 5Hic2TDbd-|rObM֕eodMZ]]FD SVF DIϒ 9 ig XCHCdaJ {:i֠Ep4,ߏCidxU '~ė"rΨwɮbFVϞAԞ潐l_oBre$p*dPY1?j!D$xݤ=/1VG>`y)=کOL8o2j 4u{|B0txqR~t#`Fz(!q1ܵiQ@CE$]rũty>{,?m ϧjw:a͢Zwa" >7K yt?&ퟣOc=nvdIY6KQηvn؂~ƴqὬf%ng$8ݧ8ѠzTvaמ@;v%x"!3 A]JΑf7.],͝fb]f+ޝO[M<0?\GX:Ex=dhw,.+dOcB|iti>'e rnng"jwI i"~v3$.!k#4g&LG >9 5JIzy~/?^ ⌮̖{zxVۻW~!{RO