/* select - Module containing unix select(2) call. Under Unix, the file descriptors are small integers. Under Win32, select only exists for sockets, and sockets may have any value except INVALID_SOCKET. */ #include "Python.h" #include #ifdef __APPLE__ /* Perform runtime testing for a broken poll on OSX to make it easier * to use the same binary on multiple releases of the OS. */ #undef HAVE_BROKEN_POLL #endif /* Windows #defines FD_SETSIZE to 64 if FD_SETSIZE isn't already defined. 64 is too small (too many people have bumped into that limit). Here we boost it. Users who want even more than the boosted limit should #define FD_SETSIZE higher before this; e.g., via compiler /D switch. */ #if defined(MS_WINDOWS) && !defined(FD_SETSIZE) #define FD_SETSIZE 512 #endif #if defined(HAVE_POLL_H) #include #elif defined(HAVE_SYS_POLL_H) #include #endif #ifdef __sgi /* This is missing from unistd.h */ extern void bzero(void *, int); #endif #ifdef HAVE_SYS_TYPES_H #include #endif #if defined(PYOS_OS2) && !defined(PYCC_GCC) #include #include #endif #ifdef MS_WINDOWS # define WIN32_LEAN_AND_MEAN # include #else # define SOCKET int # if defined(__VMS) # include # endif #endif static PyObject *SelectError; /* list of Python objects and their file descriptor */ typedef struct { PyObject *obj; /* owned reference */ SOCKET fd; int sentinel; /* -1 == sentinel */ } pylist; static void reap_obj(pylist fd2obj[FD_SETSIZE + 1]) { int i; for (i = 0; i < FD_SETSIZE + 1 && fd2obj[i].sentinel >= 0; i++) { Py_XDECREF(fd2obj[i].obj); fd2obj[i].obj = NULL; } fd2obj[0].sentinel = -1; } /* returns -1 and sets the Python exception if an error occurred, otherwise returns a number >= 0 */ static int seq2set(PyObject *seq, fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) { int i; int max = -1; int index = 0; int len = -1; PyObject* fast_seq = NULL; PyObject* o = NULL; fd2obj[0].obj = (PyObject*)0; /* set list to zero size */ FD_ZERO(set); fast_seq=PySequence_Fast(seq, "arguments 1-3 must be sequences"); if (!fast_seq) return -1; len = PySequence_Fast_GET_SIZE(fast_seq); for (i = 0; i < len; i++) { SOCKET v; /* any intervening fileno() calls could decr this refcnt */ if (!(o = PySequence_Fast_GET_ITEM(fast_seq, i))) return -1; Py_INCREF(o); v = PyObject_AsFileDescriptor( o ); if (v == -1) goto finally; #if defined(_MSC_VER) max = 0; /* not used for Win32 */ #else /* !_MSC_VER */ if (v < 0 || v >= FD_SETSIZE) { PyErr_SetString(PyExc_ValueError, "filedescriptor out of range in select()"); goto finally; } if (v > max) max = v; #endif /* _MSC_VER */ FD_SET(v, set); /* add object and its file descriptor to the list */ if (index >= FD_SETSIZE) { PyErr_SetString(PyExc_ValueError, "too many file descriptors in select()"); goto finally; } fd2obj[index].obj = o; fd2obj[index].fd = v; fd2obj[index].sentinel = 0; fd2obj[++index].sentinel = -1; } Py_DECREF(fast_seq); return max+1; finally: Py_XDECREF(o); Py_DECREF(fast_seq); return -1; } /* returns NULL and sets the Python exception if an error occurred */ static PyObject * set2list(fd_set *set, pylist fd2obj[FD_SETSIZE + 1]) { int i, j, count=0; PyObject *list, *o; SOCKET fd; for (j = 0; fd2obj[j].sentinel >= 0; j++) { if (FD_ISSET(fd2obj[j].fd, set)) count++; } list = PyList_New(count); if (!list) return NULL; i = 0; for (j = 0; fd2obj[j].sentinel >= 0; j++) { fd = fd2obj[j].fd; if (FD_ISSET(fd, set)) { #ifndef _MSC_VER if (fd > FD_SETSIZE) { PyErr_SetString(PyExc_SystemError, "filedescriptor out of range returned in select()"); goto finally; } #endif o = fd2obj[j].obj; fd2obj[j].obj = NULL; /* transfer ownership */ if (PyList_SetItem(list, i, o) < 0) goto finally; i++; } } return list; finally: Py_DECREF(list); return NULL; } #undef SELECT_USES_HEAP #if FD_SETSIZE > 1024 #define SELECT_USES_HEAP #endif /* FD_SETSIZE > 1024 */ static PyObject * select_select(PyObject *self, PyObject *args) { #ifdef SELECT_USES_HEAP pylist *rfd2obj, *wfd2obj, *efd2obj; #else /* !SELECT_USES_HEAP */ /* XXX: All this should probably be implemented as follows: * - find the highest descriptor we're interested in * - add one * - that's the size * See: Stevens, APitUE, $12.5.1 */ pylist rfd2obj[FD_SETSIZE + 1]; pylist wfd2obj[FD_SETSIZE + 1]; pylist efd2obj[FD_SETSIZE + 1]; #endif /* SELECT_USES_HEAP */ PyObject *ifdlist, *ofdlist, *efdlist; PyObject *ret = NULL; PyObject *tout = Py_None; fd_set ifdset, ofdset, efdset; double timeout; struct timeval tv, *tvp; long seconds; int imax, omax, emax, max; int n; /* convert arguments */ if (!PyArg_UnpackTuple(args, "select", 3, 4, &ifdlist, &ofdlist, &efdlist, &tout)) return NULL; if (tout == Py_None) tvp = (struct timeval *)0; else if (!PyNumber_Check(tout)) { PyErr_SetString(PyExc_TypeError, "timeout must be a float or None"); return NULL; } else { timeout = PyFloat_AsDouble(tout); if (timeout == -1 && PyErr_Occurred()) return NULL; if (timeout > (double)LONG_MAX) { PyErr_SetString(PyExc_OverflowError, "timeout period too long"); return NULL; } seconds = (long)timeout; timeout = timeout - (double)seconds; tv.tv_sec = seconds; tv.tv_usec = (long)(timeout * 1E6); tvp = &tv; } #ifdef SELECT_USES_HEAP /* Allocate memory for the lists */ rfd2obj = PyMem_NEW(pylist, FD_SETSIZE + 1); wfd2obj = PyMem_NEW(pylist, FD_SETSIZE + 1); efd2obj = PyMem_NEW(pylist, FD_SETSIZE + 1); if (rfd2obj == NULL || wfd2obj == NULL || efd2obj == NULL) { if (rfd2obj) PyMem_DEL(rfd2obj); if (wfd2obj) PyMem_DEL(wfd2obj); if (efd2obj) PyMem_DEL(efd2obj); return PyErr_NoMemory(); } #endif /* SELECT_USES_HEAP */ /* Convert sequences to fd_sets, and get maximum fd number * propagates the Python exception set in seq2set() */ rfd2obj[0].sentinel = -1; wfd2obj[0].sentinel = -1; efd2obj[0].sentinel = -1; if ((imax=seq2set(ifdlist, &ifdset, rfd2obj)) < 0) goto finally; if ((omax=seq2set(ofdlist, &ofdset, wfd2obj)) < 0) goto finally; if ((emax=seq2set(efdlist, &efdset, efd2obj)) < 0) goto finally; max = imax; if (omax > max) max = omax; if (emax > max) max = emax; Py_BEGIN_ALLOW_THREADS n = select(max, &ifdset, &ofdset, &efdset, tvp); Py_END_ALLOW_THREADS #ifdef MS_WINDOWS if (n == SOCKET_ERROR) { PyErr_SetExcFromWindowsErr(SelectError, WSAGetLastError()); } #else if (n < 0) { PyErr_SetFromErrno(SelectError); } #endif else { /* any of these three calls can raise an exception. it's more convenient to test for this after all three calls... but is that acceptable? */ ifdlist = set2list(&ifdset, rfd2obj); ofdlist = set2list(&ofdset, wfd2obj); efdlist = set2list(&efdset, efd2obj); if (PyErr_Occurred()) ret = NULL; else ret = PyTuple_Pack(3, ifdlist, ofdlist, efdlist); Py_DECREF(ifdlist); Py_DECREF(ofdlist); Py_DECREF(efdlist); } finally: reap_obj(rfd2obj); reap_obj(wfd2obj); reap_obj(efd2obj); #ifdef SELECT_USES_HEAP PyMem_DEL(rfd2obj); PyMem_DEL(wfd2obj); PyMem_DEL(efd2obj); #endif /* SELECT_USES_HEAP */ return ret; } #if defined(HAVE_POLL) && !defined(HAVE_BROKEN_POLL) /* * poll() support */ typedef struct { PyObject_HEAD PyObject *dict; int ufd_uptodate; int ufd_len; struct pollfd *ufds; } pollObject; static PyTypeObject poll_Type; /* Update the malloc'ed array of pollfds to match the dictionary contained within a pollObject. Return 1 on success, 0 on an error. */ static int update_ufd_array(pollObject *self) { Py_ssize_t i, pos; PyObject *key, *value; struct pollfd *old_ufds = self->ufds; self->ufd_len = PyDict_Size(self->dict); PyMem_RESIZE(self->ufds, struct pollfd, self->ufd_len); if (self->ufds == NULL) { self->ufds = old_ufds; PyErr_NoMemory(); return 0; } i = pos = 0; while (PyDict_Next(self->dict, &pos, &key, &value)) { self->ufds[i].fd = PyLong_AsLong(key); self->ufds[i].events = (short)PyLong_AsLong(value); i++; } self->ufd_uptodate = 1; return 1; } PyDoc_STRVAR(poll_register_doc, "register(fd [, eventmask] ) -> None\n\n\ Register a file descriptor with the polling object.\n\ fd -- either an integer, or an object with a fileno() method returning an\n\ int.\n\ events -- an optional bitmask describing the type of events to check for"); static PyObject * poll_register(pollObject *self, PyObject *args) { PyObject *o, *key, *value; int fd, events = POLLIN | POLLPRI | POLLOUT; int err; if (!PyArg_ParseTuple(args, "O|i:register", &o, &events)) { return NULL; } fd = PyObject_AsFileDescriptor(o); if (fd == -1) return NULL; /* Add entry to the internal dictionary: the key is the file descriptor, and the value is the event mask. */ key = PyLong_FromLong(fd); if (key == NULL) return NULL; value = PyLong_FromLong(events); if (value == NULL) { Py_DECREF(key); return NULL; } err = PyDict_SetItem(self->dict, key, value); Py_DECREF(key); Py_DECREF(value); if (err < 0) return NULL; self->ufd_uptodate = 0; Py_INCREF(Py_None); return Py_None; } PyDoc_STRVAR(poll_modify_doc, "modify(fd, eventmask) -> None\n\n\ Modify an already registered file descriptor.\n\ fd -- either an integer, or an object with a fileno() method returning an\n\ int.\n\ events -- an optional bitmask describing the type of events to check for"); static PyObject * poll_modify(pollObject *self, PyObject *args) { PyObject *o, *key, *value; int fd, events; int err; if (!PyArg_ParseTuple(args, "Oi:modify", &o, &events)) { return NULL; } fd = PyObject_AsFileDescriptor(o); if (fd == -1) return NULL; /* Modify registered fd */ key = PyLong_FromLong(fd); if (key == NULL) return NULL; if (PyDict_GetItem(self->dict, key) == NULL) { errno = ENOENT; PyErr_SetFromErrno(PyExc_IOError); return NULL; } value = PyLong_FromLong(events); if (value == NULL) { Py_DECREF(key); return NULL; } err = PyDict_SetItem(self->dict, key, value); Py_DECREF(key); Py_DECREF(value); if (err < 0) return NULL; self->ufd_uptodate = 0; Py_INCREF(Py_None); return Py_None; } PyDoc_STRVAR(poll_unregister_doc, "unregister(fd) -> None\n\n\ Remove a file descriptor being tracked by the polling object."); static PyObject * poll_unregister(pollObject *self, PyObject *o) { PyObject *key; int fd; fd = PyObject_AsFileDescriptor( o ); if (fd == -1) return NULL; /* Check whether the fd is already in the array */ key = PyLong_FromLong(fd); if (key == NULL) return NULL; if (PyDict_DelItem(self->dict, key) == -1) { Py_DECREF(key); /* This will simply raise the KeyError set by PyDict_DelItem if the file descriptor isn't registered. */ return NULL; } Py_DECREF(key); self->ufd_uptodate = 0; Py_INCREF(Py_None); return Py_None; } PyDoc_STRVAR(poll_poll_doc, "poll( [timeout] ) -> list of (fd, event) 2-tuples\n\n\ Polls the set of registered file descriptors, returning a list containing \n\ any descriptors that have events or errors to report."); static PyObject * poll_poll(pollObject *self, PyObject *args) { PyObject *result_list = NULL, *tout = NULL; int timeout = 0, poll_result, i, j; PyObject *value = NULL, *num = NULL; if (!PyArg_UnpackTuple(args, "poll", 0, 1, &tout)) { return NULL; } /* Check values for timeout */ if (tout == NULL || tout == Py_None) timeout = -1; else if (!PyNumber_Check(tout)) { PyErr_SetString(PyExc_TypeError, "timeout must be an integer or None"); return NULL; } else { tout = PyNumber_Long(tout); if (!tout) return NULL; timeout = PyLong_AsLong(tout); Py_DECREF(tout); if (timeout == -1 && PyErr_Occurred()) return NULL; } /* Ensure the ufd array is up to date */ if (!self->ufd_uptodate) if (update_ufd_array(self) == 0) return NULL; /* call poll() */ Py_BEGIN_ALLOW_THREADS poll_result = poll(self->ufds, self->ufd_len, timeout); Py_END_ALLOW_THREADS if (poll_result < 0) { PyErr_SetFromErrno(SelectError); return NULL; } /* build the result list */ result_list = PyList_New(poll_result); if (!result_list) return NULL; else { for (i = 0, j = 0; j < poll_result; j++) { /* skip to the next fired descriptor */ while (!self->ufds[i].revents) { i++; } /* if we hit a NULL return, set value to NULL and break out of loop; code at end will clean up result_list */ value = PyTuple_New(2); if (value == NULL) goto error; num = PyLong_FromLong(self->ufds[i].fd); if (num == NULL) { Py_DECREF(value); goto error; } PyTuple_SET_ITEM(value, 0, num); /* The &0xffff is a workaround for AIX. 'revents' is a 16-bit short, and IBM assigned POLLNVAL to be 0x8000, so the conversion to int results in a negative number. See SF bug #923315. */ num = PyLong_FromLong(self->ufds[i].revents & 0xffff); if (num == NULL) { Py_DECREF(value); goto error; } PyTuple_SET_ITEM(value, 1, num); if ((PyList_SetItem(result_list, j, value)) == -1) { Py_DECREF(value); goto error; } i++; } } return result_list; error: Py_DECREF(result_list); return NULL; } static PyMethodDef poll_methods[] = { {"register", (PyCFunction)poll_register, METH_VARARGS, poll_register_doc}, {"modify", (PyCFunction)poll_modify, METH_VARARGS, poll_modify_doc}, {"unregister", (PyCFunction)poll_unregister, METH_O, poll_unregister_doc}, {"poll", (PyCFunction)poll_poll, METH_VARARGS, poll_poll_doc}, {NULL, NULL} /* sentinel */ }; static pollObject * newPollObject(void) { pollObject *self; self = PyObject_New(pollObject, &poll_Type); if (self == NULL) return NULL; /* ufd_uptodate is a Boolean, denoting whether the array pointed to by ufds matches the contents of the dictionary. */ self->ufd_uptodate = 0; self->ufds = NULL; self->dict = PyDict_New(); if (self->dict == NULL) { Py_DECREF(self); return NULL; } return self; } static void poll_dealloc(pollObject *self) { if (self->ufds != NULL) PyMem_DEL(self->ufds); Py_XDECREF(self->dict); PyObject_Del(self); } static PyTypeObject poll_Type = { /* The ob_type field must be initialized in the module init function * to be portable to Windows without using C++. */ PyVarObject_HEAD_INIT(NULL, 0) "select.poll", /*tp_name*/ sizeof(pollObject), /*tp_basicsize*/ 0, /*tp_itemsize*/ /* methods */ (destructor)poll_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ 0, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_reserved*/ 0, /*tp_repr*/ 0, /*tp_as_number*/ 0, /*tp_as_sequence*/ 0, /*tp_as_mapping*/ 0, /*tp_hash*/ 0, /*tp_call*/ 0, /*tp_str*/ 0, /*tp_getattro*/ 0, /*tp_setattro*/ 0, /*tp_as_buffer*/ Py_TPFLAGS_DEFAULT, /*tp_flags*/ 0, /*tp_doc*/ 0, /*tp_traverse*/ 0, /*tp_clear*/ 0, /*tp_richcompare*/ 0, /*tp_weaklistoffset*/ 0, /*tp_iter*/ 0, /*tp_iternext*/ poll_methods, /*tp_methods*/ }; PyDoc_STRVAR(poll_doc, "Returns a polling object, which supports registering and\n\ unregistering file descriptors, and then polling them for I/O events."); static PyObject * select_poll(PyObject *self, PyObject *unused) { return (PyObject *)newPollObject(); } #ifdef __APPLE__ /* * On some systems poll() sets errno on invalid file descriptors. We test * for this at runtime because this bug may be fixed or introduced between * OS releases. */ static int select_have_broken_poll(void) { int poll_test; int filedes[2]; struct pollfd poll_struct = { 0, POLLIN|POLLPRI|POLLOUT, 0 }; /* Create a file descriptor to make invalid */ if (pipe(filedes) < 0) { return 1; } poll_struct.fd = filedes[0]; close(filedes[0]); close(filedes[1]); poll_test = poll(&poll_struct, 1, 0); if (poll_test < 0) { return 1; } else if (poll_test == 0 && poll_struct.revents != POLLNVAL) { return 1; } return 0; } #endif /* __APPLE__ */ #endif /* HAVE_POLL */ #ifdef HAVE_EPOLL /* ************************************************************************** * epoll interface for Linux 2.6 * * Written by Christian Heimes * Inspired by Twisted's _epoll.pyx and select.poll() */ #ifdef HAVE_SYS_EPOLL_H #include #endif typedef struct { PyObject_HEAD SOCKET epfd; /* epoll control file descriptor */ } pyEpoll_Object; static PyTypeObject pyEpoll_Type; #define pyepoll_CHECK(op) (PyObject_TypeCheck((op), &pyEpoll_Type)) static PyObject * pyepoll_err_closed(void) { PyErr_SetString(PyExc_ValueError, "I/O operation on closed epoll fd"); return NULL; } static int pyepoll_internal_close(pyEpoll_Object *self) { int save_errno = 0; if (self->epfd >= 0) { int epfd = self->epfd; self->epfd = -1; Py_BEGIN_ALLOW_THREADS if (close(epfd) < 0) save_errno = errno; Py_END_ALLOW_THREADS } return save_errno; } static PyObject * newPyEpoll_Object(PyTypeObject *type, int sizehint, SOCKET fd) { pyEpoll_Object *self; if (sizehint == -1) { sizehint = FD_SETSIZE-1; } else if (sizehint < 1) { PyErr_Format(PyExc_ValueError, "sizehint must be greater zero, got %d", sizehint); return NULL; } assert(type != NULL && type->tp_alloc != NULL); self = (pyEpoll_Object *) type->tp_alloc(type, 0); if (self == NULL) return NULL; if (fd == -1) { Py_BEGIN_ALLOW_THREADS self->epfd = epoll_create(sizehint); Py_END_ALLOW_THREADS } else { self->epfd = fd; } if (self->epfd < 0) { Py_DECREF(self); PyErr_SetFromErrno(PyExc_IOError); return NULL; } return (PyObject *)self; } static PyObject * pyepoll_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { int sizehint = -1; static char *kwlist[] = {"sizehint", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "|i:epoll", kwlist, &sizehint)) return NULL; return newPyEpoll_Object(type, sizehint, -1); } static void pyepoll_dealloc(pyEpoll_Object *self) { (void)pyepoll_internal_close(self); Py_TYPE(self)->tp_free(self); } static PyObject* pyepoll_close(pyEpoll_Object *self) { errno = pyepoll_internal_close(self); if (errno < 0) { PyErr_SetFromErrno(PyExc_IOError); return NULL; } Py_RETURN_NONE; } PyDoc_STRVAR(pyepoll_close_doc, "close() -> None\n\ \n\ Close the epoll control file descriptor. Further operations on the epoll\n\ object will raise an exception."); static PyObject* pyepoll_get_closed(pyEpoll_Object *self) { if (self->epfd < 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; } static PyObject* pyepoll_fileno(pyEpoll_Object *self) { if (self->epfd < 0) return pyepoll_err_closed(); return PyLong_FromLong(self->epfd); } PyDoc_STRVAR(pyepoll_fileno_doc, "fileno() -> int\n\ \n\ Return the epoll control file descriptor."); static PyObject* pyepoll_fromfd(PyObject *cls, PyObject *args) { SOCKET fd; if (!PyArg_ParseTuple(args, "i:fromfd", &fd)) return NULL; return newPyEpoll_Object((PyTypeObject*)cls, -1, fd); } PyDoc_STRVAR(pyepoll_fromfd_doc, "fromfd(fd) -> epoll\n\ \n\ Create an epoll object from a given control fd."); static PyObject * pyepoll_internal_ctl(int epfd, int op, PyObject *pfd, unsigned int events) { struct epoll_event ev; int result; int fd; if (epfd < 0) return pyepoll_err_closed(); fd = PyObject_AsFileDescriptor(pfd); if (fd == -1) { return NULL; } switch(op) { case EPOLL_CTL_ADD: case EPOLL_CTL_MOD: ev.events = events; ev.data.fd = fd; Py_BEGIN_ALLOW_THREADS result = epoll_ctl(epfd, op, fd, &ev); Py_END_ALLOW_THREADS break; case EPOLL_CTL_DEL: /* In kernel versions before 2.6.9, the EPOLL_CTL_DEL * operation required a non-NULL pointer in event, even * though this argument is ignored. */ Py_BEGIN_ALLOW_THREADS result = epoll_ctl(epfd, op, fd, &ev); if (errno == EBADF) { /* fd already closed */ result = 0; errno = 0; } Py_END_ALLOW_THREADS break; default: result = -1; errno = EINVAL; } if (result < 0) { PyErr_SetFromErrno(PyExc_IOError); return NULL; } Py_RETURN_NONE; } static PyObject * pyepoll_register(pyEpoll_Object *self, PyObject *args, PyObject *kwds) { PyObject *pfd; unsigned int events = EPOLLIN | EPOLLOUT | EPOLLPRI; static char *kwlist[] = {"fd", "eventmask", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|I:register", kwlist, &pfd, &events)) { return NULL; } return pyepoll_internal_ctl(self->epfd, EPOLL_CTL_ADD, pfd, events); } PyDoc_STRVAR(pyepoll_register_doc, "register(fd[, eventmask]) -> None\n\ \n\ Registers a new fd or modifies an already registered fd.\n\ fd is the target file descriptor of the operation.\n\ events is a bit set composed of the various EPOLL constants; the default\n\ is EPOLL_IN | EPOLL_OUT | EPOLL_PRI.\n\ \n\ The epoll interface supports all file descriptors that support poll."); static PyObject * pyepoll_modify(pyEpoll_Object *self, PyObject *args, PyObject *kwds) { PyObject *pfd; unsigned int events; static char *kwlist[] = {"fd", "eventmask", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "OI:modify", kwlist, &pfd, &events)) { return NULL; } return pyepoll_internal_ctl(self->epfd, EPOLL_CTL_MOD, pfd, events); } PyDoc_STRVAR(pyepoll_modify_doc, "modify(fd, eventmask) -> None\n\ \n\ fd is the target file descriptor of the operation\n\ events is a bit set composed of the various EPOLL constants"); static PyObject * pyepoll_unregister(pyEpoll_Object *self, PyObject *args, PyObject *kwds) { PyObject *pfd; static char *kwlist[] = {"fd", NULL}; if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:unregister", kwlist, &pfd)) { return NULL; } return pyepoll_internal_ctl(self->epfd, EPOLL_CTL_DEL, pfd, 0); } PyDoc_STRVAR(pyepoll_unregister_doc, "unregister(fd) -> None\n\ \n\ fd is the target file descriptor of the operation."); static PyObject * pyepoll_poll(pyEpoll_Object *self, PyObject *args, PyObject *kwds) { double dtimeout = -1.; int timeout; int maxevents = -1; int nfds, i; PyObject *elist = NULL, *etuple = NULL; struct epoll_event *evs = NULL; static char *kwlist[] = {"timeout", "maxevents", NULL}; if (self->epfd < 0) return pyepoll_err_closed(); if (!PyArg_ParseTupleAndKeywords(args, kwds, "|di:poll", kwlist, &dtimeout, &maxevents)) { return NULL; } if (dtimeout < 0) { timeout = -1; } else if (dtimeout * 1000.0 > INT_MAX) { PyErr_SetString(PyExc_OverflowError, "timeout is too large"); return NULL; } else { timeout = (int)(dtimeout * 1000.0); } if (maxevents == -1) { maxevents = FD_SETSIZE-1; } else if (maxevents < 1) { PyErr_Format(PyExc_ValueError, "maxevents must be greater than 0, got %d", maxevents); return NULL; } evs = PyMem_New(struct epoll_event, maxevents); if (evs == NULL) { Py_DECREF(self); PyErr_NoMemory(); return NULL; } Py_BEGIN_ALLOW_THREADS nfds = epoll_wait(self->epfd, evs, maxevents, timeout); Py_END_ALLOW_THREADS if (nfds < 0) { PyErr_SetFromErrno(PyExc_IOError); goto error; } elist = PyList_New(nfds); if (elist == NULL) { goto error; } for (i = 0; i < nfds; i++) { etuple = Py_BuildValue("iI", evs[i].data.fd, evs[i].events); if (etuple == NULL) { Py_CLEAR(elist); goto error; } PyList_SET_ITEM(elist, i, etuple); } error: PyMem_Free(evs); return elist; } PyDoc_STRVAR(pyepoll_poll_doc, "poll([timeout=-1[, maxevents=-1]]) -> [(fd, events), (...)]\n\ \n\ Wait for events on the epoll file descriptor for a maximum time of timeout\n\ in seconds (as float). -1 makes poll wait indefinitely.\n\ Up to maxevents are returned to the caller."); static PyMethodDef pyepoll_methods[] = { {"fromfd", (PyCFunction)pyepoll_fromfd, METH_VARARGS | METH_CLASS, pyepoll_fromfd_doc}, {"close", (PyCFunction)pyepoll_close, METH_NOARGS, pyepoll_close_doc}, {"fileno", (PyCFunction)pyepoll_fileno, METH_NOARGS, pyepoll_fileno_doc}, {"modify", (PyCFunction)pyepoll_modify, METH_VARARGS | METH_KEYWORDS, pyepoll_modify_doc}, {"register", (PyCFunction)pyepoll_register, METH_VARARGS | METH_KEYWORDS, pyepoll_register_doc}, {"unregister", (PyCFunction)pyepoll_unregister, METH_VARARGS | METH_KEYWORDS, pyepoll_unregister_doc}, {"poll", (PyCFunction)pyepoll_poll, METH_VARARGS | METH_KEYWORDS, pyepoll_poll_doc}, {NULL, NULL}, }; static PyGetSetDef pyepoll_getsetlist[] = { {"closed", (getter)pyepoll_get_closed, NULL, "True if the epoll handler is closed"}, {0}, }; PyDoc_STRVAR(pyepoll_doc, "select.epoll([sizehint=-1])\n\ \n\ Returns an epolling object\n\ \n\ sizehint must be a positive integer or -1 for the default size. The\n\ sizehint is used to optimize internal data structures. It doesn't limit\n\ the maximum number of monitored events."); static PyTypeObject pyEpoll_Type = { PyVarObject_HEAD_INIT(NULL, 0) "select.epoll", /* tp_name */ sizeof(pyEpoll_Object), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)pyepoll_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_reserved */ 0, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ 0, /* tp_hash */ 0, /* tp_call */ 0, /* tp_str */ PyObject_GenericGetAttr, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT, /* tp_flags */ pyepoll_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ pyepoll_methods, /* tp_methods */ 0, /* tp_members */ pyepoll_getsetlist, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ pyepoll_new, /* tp_new */ 0, /* tp_free */ }; #endif /* HAVE_EPOLL */ #ifdef HAVE_KQUEUE /* ************************************************************************** * kqueue interface for BSD * * Copyright (c) 2000 Doug White, 2006 James Knight, 2007 Christian Heimes * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #ifdef HAVE_SYS_EVENT_H #include #endif PyDoc_STRVAR(kqueue_event_doc, "kevent(ident, filter=KQ_FILTER_READ, flags=KQ_EV_ADD, fflags=0, data=0, udata=0)\n\ \n\ This object is the equivalent of the struct kevent for the C API.\n\ \n\ See the kqueue manpage for more detailed information about the meaning\n\ of the arguments.\n\ \n\ One minor note: while you might hope that udata could store a\n\ reference to a python object, it cannot, because it is impossible to\n\ keep a proper reference count of the object once it's passed into the\n\ kernel. Therefore, I have restricted it to only storing an integer. I\n\ recommend ignoring it and simply using the 'ident' field to key off\n\ of. You could also set up a dictionary on the python side to store a\n\ udata->object mapping."); typedef struct { PyObject_HEAD struct kevent e; } kqueue_event_Object; static PyTypeObject kqueue_event_Type; #define kqueue_event_Check(op) (PyObject_TypeCheck((op), &kqueue_event_Type)) typedef struct { PyObject_HEAD SOCKET kqfd; /* kqueue control fd */ } kqueue_queue_Object; static PyTypeObject kqueue_queue_Type; #define kqueue_queue_Check(op) (PyObject_TypeCheck((op), &kqueue_queue_Type)) /* Unfortunately, we can't store python objects in udata, because * kevents in the kernel can be removed without warning, which would * forever lose the refcount on the object stored with it. */ #define KQ_OFF(x) offsetof(kqueue_event_Object, x) static struct PyMemberDef kqueue_event_members[] = { {"ident", T_UINT, KQ_OFF(e.ident)}, {"filter", T_SHORT, KQ_OFF(e.filter)}, {"flags", T_USHORT, KQ_OFF(e.flags)}, {"fflags", T_UINT, KQ_OFF(e.fflags)}, {"data", T_INT, KQ_OFF(e.data)}, {"udata", T_INT, KQ_OFF(e.udata)}, {NULL} /* Sentinel */ }; #undef KQ_OFF static PyObject * kqueue_event_repr(kqueue_event_Object *s) { char buf[1024]; PyOS_snprintf( buf, sizeof(buf), "", (unsigned long)(s->e.ident), s->e.filter, s->e.flags, s->e.fflags, (long)(s->e.data), s->e.udata); return PyBytes_FromString(buf); } static int kqueue_event_init(kqueue_event_Object *self, PyObject *args, PyObject *kwds) { PyObject *pfd; static char *kwlist[] = {"ident", "filter", "flags", "fflags", "data", "udata", NULL}; EV_SET(&(self->e), 0, EVFILT_READ, EV_ADD, 0, 0, 0); /* defaults */ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|hhiii:kevent", kwlist, &pfd, &(self->e.filter), &(self->e.flags), &(self->e.fflags), &(self->e.data), &(self->e.udata))) { return -1; } self->e.ident = PyObject_AsFileDescriptor(pfd); if (self->e.ident == -1) { return -1; } return 0; } static PyObject * kqueue_event_richcompare(kqueue_event_Object *s, kqueue_event_Object *o, int op) { int result = 0; if (!kqueue_event_Check(o)) { if (op == Py_EQ || op == Py_NE) { PyObject *res = op == Py_EQ ? Py_False : Py_True; Py_INCREF(res); return res; } PyErr_Format(PyExc_TypeError, "can't compare %.200s to %.200s", Py_TYPE(s)->tp_name, Py_TYPE(o)->tp_name); return NULL; } if (((result = s->e.ident - o->e.ident) == 0) && ((result = s->e.filter - o->e.filter) == 0) && ((result = s->e.flags - o->e.flags) == 0) && ((result = s->e.fflags - o->e.fflags) == 0) && ((result = s->e.data - o->e.data) == 0) && ((result = s->e.udata - o->e.udata) == 0) ) { result = 0; } switch (op) { case Py_EQ: result = (result == 0); break; case Py_NE: result = (result != 0); break; case Py_LE: result = (result <= 0); break; case Py_GE: result = (result >= 0); break; case Py_LT: result = (result < 0); break; case Py_GT: result = (result > 0); break; } return PyBool_FromLong(result); } static PyTypeObject kqueue_event_Type = { PyVarObject_HEAD_INIT(NULL, 0) "select.kevent", /* tp_name */ sizeof(kqueue_event_Object), /* tp_basicsize */ 0, /* tp_itemsize */ 0, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_reserved */ (reprfunc)kqueue_event_repr, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ 0, /* tp_hash */ 0, /* tp_call */ 0, /* tp_str */ 0, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT, /* tp_flags */ kqueue_event_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ (richcmpfunc)kqueue_event_richcompare, /* tp_richcompare */ 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ 0, /* tp_methods */ kqueue_event_members, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ (initproc)kqueue_event_init, /* tp_init */ 0, /* tp_alloc */ 0, /* tp_new */ 0, /* tp_free */ }; static PyObject * kqueue_queue_err_closed(void) { PyErr_SetString(PyExc_ValueError, "I/O operation on closed kqueue fd"); return NULL; } static int kqueue_queue_internal_close(kqueue_queue_Object *self) { int save_errno = 0; if (self->kqfd >= 0) { int kqfd = self->kqfd; self->kqfd = -1; Py_BEGIN_ALLOW_THREADS if (close(kqfd) < 0) save_errno = errno; Py_END_ALLOW_THREADS } return save_errno; } static PyObject * newKqueue_Object(PyTypeObject *type, SOCKET fd) { kqueue_queue_Object *self; assert(type != NULL && type->tp_alloc != NULL); self = (kqueue_queue_Object *) type->tp_alloc(type, 0); if (self == NULL) { return NULL; } if (fd == -1) { Py_BEGIN_ALLOW_THREADS self->kqfd = kqueue(); Py_END_ALLOW_THREADS } else { self->kqfd = fd; } if (self->kqfd < 0) { Py_DECREF(self); PyErr_SetFromErrno(PyExc_IOError); return NULL; } return (PyObject *)self; } static PyObject * kqueue_queue_new(PyTypeObject *type, PyObject *args, PyObject *kwds) { if ((args != NULL && PyObject_Size(args)) || (kwds != NULL && PyObject_Size(kwds))) { PyErr_SetString(PyExc_ValueError, "select.kqueue doesn't accept arguments"); return NULL; } return newKqueue_Object(type, -1); } static void kqueue_queue_dealloc(kqueue_queue_Object *self) { kqueue_queue_internal_close(self); Py_TYPE(self)->tp_free(self); } static PyObject* kqueue_queue_close(kqueue_queue_Object *self) { errno = kqueue_queue_internal_close(self); if (errno < 0) { PyErr_SetFromErrno(PyExc_IOError); return NULL; } Py_RETURN_NONE; } PyDoc_STRVAR(kqueue_queue_close_doc, "close() -> None\n\ \n\ Close the kqueue control file descriptor. Further operations on the kqueue\n\ object will raise an exception."); static PyObject* kqueue_queue_get_closed(kqueue_queue_Object *self) { if (self->kqfd < 0) Py_RETURN_TRUE; else Py_RETURN_FALSE; } static PyObject* kqueue_queue_fileno(kqueue_queue_Object *self) { if (self->kqfd < 0) return kqueue_queue_err_closed(); return PyLong_FromLong(self->kqfd); } PyDoc_STRVAR(kqueue_queue_fileno_doc, "fileno() -> int\n\ \n\ Return the kqueue control file descriptor."); static PyObject* kqueue_queue_fromfd(PyObject *cls, PyObject *args) { SOCKET fd; if (!PyArg_ParseTuple(args, "i:fromfd", &fd)) return NULL; return newKqueue_Object((PyTypeObject*)cls, fd); } PyDoc_STRVAR(kqueue_queue_fromfd_doc, "fromfd(fd) -> kqueue\n\ \n\ Create a kqueue object from a given control fd."); static PyObject * kqueue_queue_control(kqueue_queue_Object *self, PyObject *args) { int nevents = 0; int gotevents = 0; int nchanges = 0; int i = 0; PyObject *otimeout = NULL; PyObject *ch = NULL; PyObject *it = NULL, *ei = NULL; PyObject *result = NULL; struct kevent *evl = NULL; struct kevent *chl = NULL; struct timespec timeoutspec; struct timespec *ptimeoutspec; if (self->kqfd < 0) return kqueue_queue_err_closed(); if (!PyArg_ParseTuple(args, "Oi|O:control", &ch, &nevents, &otimeout)) return NULL; if (nevents < 0) { PyErr_Format(PyExc_ValueError, "Length of eventlist must be 0 or positive, got %d", nevents); return NULL; } if (ch != NULL && ch != Py_None) { it = PyObject_GetIter(ch); if (it == NULL) { PyErr_SetString(PyExc_TypeError, "changelist is not iterable"); return NULL; } nchanges = PyObject_Size(ch); if (nchanges < 0) { return NULL; } } if (otimeout == Py_None || otimeout == NULL) { ptimeoutspec = NULL; } else if (PyNumber_Check(otimeout)) { double timeout; long seconds; timeout = PyFloat_AsDouble(otimeout); if (timeout == -1 && PyErr_Occurred()) return NULL; if (timeout > (double)LONG_MAX) { PyErr_SetString(PyExc_OverflowError, "timeout period too long"); return NULL; } if (timeout < 0) { PyErr_SetString(PyExc_ValueError, "timeout must be positive or None"); return NULL; } seconds = (long)timeout; timeout = timeout - (double)seconds; timeoutspec.tv_sec = seconds; timeoutspec.tv_nsec = (long)(timeout * 1E9); ptimeoutspec = &timeoutspec; } else { PyErr_Format(PyExc_TypeError, "timeout argument must be an number " "or None, got %.200s", Py_TYPE(otimeout)->tp_name); return NULL; } if (nchanges) { chl = PyMem_New(struct kevent, nchanges); if (chl == NULL) { PyErr_NoMemory(); return NULL; } i = 0; while ((ei = PyIter_Next(it)) != NULL) { if (!kqueue_event_Check(ei)) { Py_DECREF(ei); PyErr_SetString(PyExc_TypeError, "changelist must be an iterable of " "select.kevent objects"); goto error; } else { chl[i++] = ((kqueue_event_Object *)ei)->e; } Py_DECREF(ei); } } Py_CLEAR(it); /* event list */ if (nevents) { evl = PyMem_New(struct kevent, nevents); if (evl == NULL) { PyErr_NoMemory(); return NULL; } } Py_BEGIN_ALLOW_THREADS gotevents = kevent(self->kqfd, chl, nchanges, evl, nevents, ptimeoutspec); Py_END_ALLOW_THREADS if (gotevents == -1) { PyErr_SetFromErrno(PyExc_OSError); goto error; } result = PyList_New(gotevents); if (result == NULL) { goto error; } for (i = 0; i < gotevents; i++) { kqueue_event_Object *ch; ch = PyObject_New(kqueue_event_Object, &kqueue_event_Type); if (ch == NULL) { goto error; } ch->e = evl[i]; PyList_SET_ITEM(result, i, (PyObject *)ch); } PyMem_Free(chl); PyMem_Free(evl); return result; error: PyMem_Free(chl); PyMem_Free(evl); Py_XDECREF(result); Py_XDECREF(it); return NULL; } PyDoc_STRVAR(kqueue_queue_control_doc, "control(changelist, max_events[, timeout=None]) -> eventlist\n\ \n\ Calls the kernel kevent function.\n\ - changelist must be a list of kevent objects describing the changes\n\ to be made to the kernel's watch list or None.\n\ - max_events lets you specify the maximum number of events that the\n\ kernel will return.\n\ - timeout is the maximum time to wait in seconds, or else None,\n\ to wait forever. timeout accepts floats for smaller timeouts, too."); static PyMethodDef kqueue_queue_methods[] = { {"fromfd", (PyCFunction)kqueue_queue_fromfd, METH_VARARGS | METH_CLASS, kqueue_queue_fromfd_doc}, {"close", (PyCFunction)kqueue_queue_close, METH_NOARGS, kqueue_queue_close_doc}, {"fileno", (PyCFunction)kqueue_queue_fileno, METH_NOARGS, kqueue_queue_fileno_doc}, {"control", (PyCFunction)kqueue_queue_control, METH_VARARGS , kqueue_queue_control_doc}, {NULL, NULL}, }; static PyGetSetDef kqueue_queue_getsetlist[] = { {"closed", (getter)kqueue_queue_get_closed, NULL, "True if the kqueue handler is closed"}, {0}, }; PyDoc_STRVAR(kqueue_queue_doc, "Kqueue syscall wrapper.\n\ \n\ For example, to start watching a socket for input:\n\ >>> kq = kqueue()\n\ >>> sock = socket()\n\ >>> sock.connect((host, port))\n\ >>> kq.control([kevent(sock, KQ_FILTER_WRITE, KQ_EV_ADD)], 0)\n\ \n\ To wait one second for it to become writeable:\n\ >>> kq.control(None, 1, 1000)\n\ \n\ To stop listening:\n\ >>> kq.control([kevent(sock, KQ_FILTER_WRITE, KQ_EV_DELETE)], 0)"); static PyTypeObject kqueue_queue_Type = { PyVarObject_HEAD_INIT(NULL, 0) "select.kqueue", /* tp_name */ sizeof(kqueue_queue_Object), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)kqueue_queue_dealloc, /* tp_dealloc */ 0, /* tp_print */ 0, /* tp_getattr */ 0, /* tp_setattr */ 0, /* tp_reserved */ 0, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ 0, /* tp_hash */ 0, /* tp_call */ 0, /* tp_str */ 0, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT, /* tp_flags */ kqueue_queue_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ 0, /* tp_iter */ 0, /* tp_iternext */ kqueue_queue_methods, /* tp_methods */ 0, /* tp_members */ kqueue_queue_getsetlist, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ kqueue_queue_new, /* tp_new */ 0, /* tp_free */ }; #endif /* HAVE_KQUEUE */ /* ************************************************************************ */ PyDoc_STRVAR(select_doc, "select(rlist, wlist, xlist[, timeout]) -> (rlist, wlist, xlist)\n\ \n\ Wait until one or more file descriptors are ready for some kind of I/O.\n\ The first three arguments are sequences of file descriptors to be waited for:\n\ rlist -- wait until ready for reading\n\ wlist -- wait until ready for writing\n\ xlist -- wait for an ``exceptional condition''\n\ If only one kind of condition is required, pass [] for the other lists.\n\ A file descriptor is either a socket or file object, or a small integer\n\ gotten from a fileno() method call on one of those.\n\ \n\ The optional 4th argument specifies a timeout in seconds; it may be\n\ a floating point number to specify fractions of seconds. If it is absent\n\ or None, the call will never time out.\n\ \n\ The return value is a tuple of three lists corresponding to the first three\n\ arguments; each contains the subset of the corresponding file descriptors\n\ that are ready.\n\ \n\ *** IMPORTANT NOTICE ***\n\ On Windows and OpenVMS, only sockets are supported; on Unix, all file\n\ descriptors can be used."); static PyMethodDef select_methods[] = { {"select", select_select, METH_VARARGS, select_doc}, #ifdef HAVE_POLL {"poll", select_poll, METH_NOARGS, poll_doc}, #endif /* HAVE_POLL */ {0, 0}, /* sentinel */ }; PyDoc_STRVAR(module_doc, "This module supports asynchronous I/O on multiple file descriptors.\n\ \n\ *** IMPORTANT NOTICE ***\n\ On Windows and OpenVMS, only sockets are supported; on Unix, all file descriptors."); static struct PyModuleDef selectmodule = { PyModuleDef_HEAD_INIT, "select", module_doc, -1, select_methods, NULL, NULL, NULL, NULL }; PyMODINIT_FUNC PyInit_select(void) { PyObject *m; m = PyModule_Create(&selectmodule); if (m == NULL) return NULL; SelectError = PyErr_NewException("select.error", NULL, NULL); Py_INCREF(SelectError); PyModule_AddObject(m, "error", SelectError); #if defined(HAVE_POLL) #ifdef __APPLE__ if (select_have_broken_poll()) { if (PyObject_DelAttrString(m, "poll") == -1) { PyErr_Clear(); } } else { #else { #endif if (PyType_Ready(&poll_Type) < 0) return NULL; PyModule_AddIntConstant(m, "POLLIN", POLLIN); PyModule_AddIntConstant(m, "POLLPRI", POLLPRI); PyModule_AddIntConstant(m, "POLLOUT", POLLOUT); PyModule_AddIntConstant(m, "POLLERR", POLLERR); PyModule_AddIntConstant(m, "POLLHUP", POLLHUP); PyModule_AddIntConstant(m, "POLLNVAL", POLLNVAL); #ifdef POLLRDNORM PyModule_AddIntConstant(m, "POLLRDNORM", POLLRDNORM); #endif #ifdef POLLRDBAND PyModule_AddIntConstant(m, "POLLRDBAND", POLLRDBAND); #endif #ifdef POLLWRNORM PyModule_AddIntConstant(m, "POLLWRNORM", POLLWRNORM); #endif #ifdef POLLWRBAND PyModule_AddIntConstant(m, "POLLWRBAND", POLLWRBAND); #endif #ifdef POLLMSG PyModule_AddIntConstant(m, "POLLMSG", POLLMSG); #endif } #endif /* HAVE_POLL */ #ifdef HAVE_EPOLL Py_TYPE(&pyEpoll_Type) = &PyType_Type; if (PyType_Ready(&pyEpoll_Type) < 0) return NULL; Py_INCREF(&pyEpoll_Type); PyModule_AddObject(m, "epoll", (PyObject *) &pyEpoll_Type); PyModule_AddIntConstant(m, "EPOLLIN", EPOLLIN); PyModule_AddIntConstant(m, "EPOLLOUT", EPOLLOUT); PyModule_AddIntConstant(m, "EPOLLPRI", EPOLLPRI); PyModule_AddIntConstant(m, "EPOLLERR", EPOLLERR); PyModule_AddIntConstant(m, "EPOLLHUP", EPOLLHUP); PyModule_AddIntConstant(m, "EPOLLET", EPOLLET); #ifdef EPOLLONESHOT /* Kernel 2.6.2+ */ PyModule_AddIntConstant(m, "EPOLLONESHOT", EPOLLONESHOT); #endif /* PyModule_AddIntConstant(m, "EPOLL_RDHUP", EPOLLRDHUP); */ PyModule_AddIntConstant(m, "EPOLLRDNORM", EPOLLRDNORM); PyModule_AddIntConstant(m, "EPOLLRDBAND", EPOLLRDBAND); PyModule_AddIntConstant(m, "EPOLLWRNORM", EPOLLWRNORM); PyModule_AddIntConstant(m, "EPOLLWRBAND", EPOLLWRBAND); PyModule_AddIntConstant(m, "EPOLLMSG", EPOLLMSG); #endif /* HAVE_EPOLL */ #ifdef HAVE_KQUEUE kqueue_event_Type.tp_new = PyType_GenericNew; Py_TYPE(&kqueue_event_Type) = &PyType_Type; if(PyType_Ready(&kqueue_event_Type) < 0) return NULL; Py_INCREF(&kqueue_event_Type); PyModule_AddObject(m, "kevent", (PyObject *)&kqueue_event_Type); Py_TYPE(&kqueue_queue_Type) = &PyType_Type; if(PyType_Ready(&kqueue_queue_Type) < 0) return NULL; Py_INCREF(&kqueue_queue_Type); PyModule_AddObject(m, "kqueue", (PyObject *)&kqueue_queue_Type); /* event filters */ PyModule_AddIntConstant(m, "KQ_FILTER_READ", EVFILT_READ); PyModule_AddIntConstant(m, "KQ_FILTER_WRITE", EVFILT_WRITE); PyModule_AddIntConstant(m, "KQ_FILTER_AIO", EVFILT_AIO); PyModule_AddIntConstant(m, "KQ_FILTER_VNODE", EVFILT_VNODE); PyModule_AddIntConstant(m, "KQ_FILTER_PROC", EVFILT_PROC); #ifdef EVFILT_NETDEV PyModule_AddIntConstant(m, "KQ_FILTER_NETDEV", EVFILT_NETDEV); #endif PyModule_AddIntConstant(m, "KQ_FILTER_SIGNAL", EVFILT_SIGNAL); PyModule_AddIntConstant(m, "KQ_FILTER_TIMER", EVFILT_TIMER); /* event flags */ PyModule_AddIntConstant(m, "KQ_EV_ADD", EV_ADD); PyModule_AddIntConstant(m, "KQ_EV_DELETE", EV_DELETE); PyModule_AddIntConstant(m, "KQ_EV_ENABLE", EV_ENABLE); PyModule_AddIntConstant(m, "KQ_EV_DISABLE", EV_DISABLE); PyModule_AddIntConstant(m, "KQ_EV_ONESHOT", EV_ONESHOT); PyModule_AddIntConstant(m, "KQ_EV_CLEAR", EV_CLEAR); PyModule_AddIntConstant(m, "KQ_EV_SYSFLAGS", EV_SYSFLAGS); PyModule_AddIntConstant(m, "KQ_EV_FLAG1", EV_FLAG1); PyModule_AddIntConstant(m, "KQ_EV_EOF", EV_EOF); PyModule_AddIntConstant(m, "KQ_EV_ERROR", EV_ERROR); /* READ WRITE filter flag */ PyModule_AddIntConstant(m, "KQ_NOTE_LOWAT", NOTE_LOWAT); /* VNODE filter flags */ PyModule_AddIntConstant(m, "KQ_NOTE_DELETE", NOTE_DELETE); PyModule_AddIntConstant(m, "KQ_NOTE_WRITE", NOTE_WRITE); PyModule_AddIntConstant(m, "KQ_NOTE_EXTEND", NOTE_EXTEND); PyModule_AddIntConstant(m, "KQ_NOTE_ATTRIB", NOTE_ATTRIB); PyModule_AddIntConstant(m, "KQ_NOTE_LINK", NOTE_LINK); PyModule_AddIntConstant(m, "KQ_NOTE_RENAME", NOTE_RENAME); PyModule_AddIntConstant(m, "KQ_NOTE_REVOKE", NOTE_REVOKE); /* PROC filter flags */ PyModule_AddIntConstant(m, "KQ_NOTE_EXIT", NOTE_EXIT); PyModule_AddIntConstant(m, "KQ_NOTE_FORK", NOTE_FORK); PyModule_AddIntConstant(m, "KQ_NOTE_EXEC", NOTE_EXEC); PyModule_AddIntConstant(m, "KQ_NOTE_PCTRLMASK", NOTE_PCTRLMASK); PyModule_AddIntConstant(m, "KQ_NOTE_PDATAMASK", NOTE_PDATAMASK); PyModule_AddIntConstant(m, "KQ_NOTE_TRACK", NOTE_TRACK); PyModule_AddIntConstant(m, "KQ_NOTE_CHILD", NOTE_CHILD); PyModule_AddIntConstant(m, "KQ_NOTE_TRACKERR", NOTE_TRACKERR); /* NETDEV filter flags */ #ifdef EVFILT_NETDEV PyModule_AddIntConstant(m, "KQ_NOTE_LINKUP", NOTE_LINKUP); PyModule_AddIntConstant(m, "KQ_NOTE_LINKDOWN", NOTE_LINKDOWN); PyModule_AddIntConstant(m, "KQ_NOTE_LINKINV", NOTE_LINKINV); #endif #endif /* HAVE_KQUEUE */ return m; } C蝵@O x=ZܠU>I[S`L佞vA1D qĝxy LwUVG(E' +Ǝs"^hDؗ xv@op{ƼHAdUQ Hf#@fz3)+gCHFi}y18:< c qhn_̀R I}lֿJCDw} 4btז ;4н&NA8@'g;8[-K~9b؏|_XspW-WTreO%{7w\nR}F+U_=wJޒm>"!u6Սkγkbc`SrxD 6rGO6@@o1"giw)b2>3:^dgx$"Ϭ3 ErݯL{:.-kbbx)$tK n u?Z`^VvX~W<9w!=<㫹 Y͡slN}DJ{O5s.+]v,[.Ij ]"]ęӨbC7Qf.~VȨ줙o/ EKwx%vFE=@V6F9B9'W'o;*"J 6mK ]U ӌ2/_J,ބ=t9G]!/c[*<ౠK1}l Gqc[d+QEg tvc#M c1E88ƾ$3@Ky<UrFm18'8,<[ad(rTYx9զmԦ=)%{>3/Zq*;>ϜWdv6/|o^$7Cu<0]QOp/⓿O<9V;M87QHSQ_ط}^ad4ހ!Kf J8H&#SpoYH} &YiZT~wPC7u B|KUhӿp(qQ<ӳ5-9 `F۟Gj,ug7 /=Ypgϙ53 {=Zxw|ىZD&^g8ѥW;J[>R=TsTmVA/.tI4[͕)unjx{$F?3m΃jq*?yՓ˙9A -l{gv b 3nswkQ{S-JZq{{rZS)*b B"T)sbPu+z<{z+zt<{rMM74:йx<haOy(4TD ͭZѺp*'wBTy[Huf@X1B)O]-rJZG>*AպI:f%nEP>'{x*D5{:u,Y˻t c>d;쇬d|M|OF;Rp0[V'1kfWiA?t=΢h41=K( Y"jvW7у$UA,&zOt>^á_~2%7wO7v> U#6w^7vO]wj,! 21K:+O/iA|ՏEPжk:͓h˩F%5};~CaP0tAw?:wM;  ge"<3PCqCN:U-'Nl8R[vO٘<;ș+KjXyí\TZl=QchuĐFlP󍪞q&CUQ5@(<ҧqBۙӇEɨ׭4b jZ<ނ1֤2-"A2z)҈qN魣0fe)2UЖVa [ } H'bl&yiE✎Y) HȲ"7tU8Pm L;bEا:LdeL 2KH\f 72,xD3԰ԤβrXV4+/\{2v"XL Y]=~nYO9SBWOA_iC^ȝ+LէctO><ԧ'D_>vPZagUn 7xMsmׇ~>X1y!o^^o6^ۨmֶX%`7<<-sJ>%kÜi9O'PLbi{O{qw0IGD_E< ?N#B픒KY5Uy E2^7# ɞ}C_fM=*\%LkPM'nio>NoO YW5Q!ÂEїI8E0 /6yhd % OPkB2g8b4bPQyStFr5d*bW2ҥx/hv ~IP~0r+bSgWOT<4ٓ^ 67pko&cgJj 6ew%D>i|#(~XҬ!#_(qt_75]s:']":4s0| $ٰs$2 Ks-K$wg͗aaeӧ3^G#?N@Z w(K Q٥櫆|=Q̫锦"bujy-xq1cąR. ІGNf1՟ɉN{̅-z-^?k-"yM:,k2;M_z:A]Íى 5i9: O:7L '{< }[9ON$?JO~!ZЩ>12R lܹbiK$g\Zpgʕeve<xH|ofɌ6#ݩLڋI{C("0~tp'w* >w-DeXl,c&ɒ8J2 fٲG{貛J#5\SZfO Ϗ1{qQ&OYd<^e(5Ġ3T |s.$b^",SF/??\~|7p&f% I"9FD;MwL坴&L.o1$YGV %m3c)O_0CX8,I!ʲdfsB_O/\:b\s"d(3nR*̯a5F]k}?|4cu'9VׂњTV!U848Zt6y0i ;<Ԃ%eRc# x-6h=hwt*!AYxDQ)1cE7v8Dyb2*LG" ۵]Tɇ+3Q&>Cd"c/9Aԍp(N,e?PŅ(Ìݵ!>h=48X:zoHʼnYFapͻ_!?ïmzO5Y+(E?qff[lܹ⯽wð115URwQM<酈&W'i52|!S՟DSvoPFIP^v|ij8xmOYsήS(\%48[};\\ gO `f[ (8 Qo6 Ҽ\d^(fR-~Sn>sD48Qn Shz>4x)sΟ6;?G~]]>;9'`\ }kX{=A;?>j=?Gc_5õhm6ֶv;0z]lA}jmVsk{yFk}{=Sd<;k_#ÇD*e:Z5FiH"[UE!WI~2b0Nw닋e?o|hAN5Al\q,:[H^:2W9Uiɿ&Y͆eg&sL.27n3jp5dz,,-Ѳ-Qi&z1rYKBx͔Y.j'syL|qod/ρ|GiVtd*$+ϱx˩˵EM`bW{K +G͝vkc"|7 d(:(2Dl/igۻM;Jgx˫%yxygDϵ':>"d7#/baH7{LQ8L9ETNsҜ*>_=w B4 C!jë&cߨj?gf+p/dt&O[kFkyuI*"*D4x3s6'?LU]p_^E#r/]'0Q50b+ w!ML} N]29ҭ"Dǝ]3ԙEd^wELcE~ S07l{ec #-+u5p{Y =Lb9"bFIGN2/*Km"24QH>9+4$=ykAZaZ4c877F&;҈?/.8g%gJ7gc|}iPNm$W(H&Y vQ$% ܲwHY0Ew}昗 (RUηV$y1/cBGf%%>c}ɤ4S)MR $lǓ&ɬ{PB֦Ana2Ʌlz^wg;jas_lLqdfy b!c;v9m6(}vZ'Heq"I2TL2qO2^L5~//vq[X_}hA PftfT!y}AfkR~D?>^A'YVȮd:D)P!o%0[ۭ]~nݏhR.I}m6r#ĠOK,^8R'Ò,LϦȷD41A,IC -͉b3EX[4ĘbQ8RTKMҞ`&6:~ 7Zq֛Pȁm7K>bKhE'. ÓìOs-Up <=ŒZ~mQY=X'ɚA*o'G[Z{N+O.rRn™hrI_`봷"i]yls'׃_z(2mtB-}* [DA ;sCrFWRgNwBV~X!I3 (R"ʷIMT1 /YC$Ӭ܃S:|^XwhB'WaHGX81(Zn4̥şdb|*la &&7>^⢥/ Lot]yG@r_KYǕ'%gpq?gZxh{Q .en?+~;.1H-$![#fɅ_>6m<>Q]'j3 ei>nU¦*6ґuJȃ8wJs.7g+_36'\g)>0e^!ƽDk!SDLi mw;l:Γ>wzW@Ϩ dž |SL3ȕY.JyepGZc>Uց,=+5t ^wQ EQg>&,pm3^c]Z[+ʔ7LKIRH_OI $%6IS ;n=9Sq#,H1zEj]pUp4t2_BGӓ_v%9F޿.'bVͅhЂwvuNMkƒ(Zwdf̻\Iu%S]]N%E/Ca8idkκVLpؿړ:5%ŹsG{D ,:[rO>[-{bp׋uՅpfڃ51C̕߃wlz9‚QJ^c.5,M䊳mQ_! >et(oGOW:CJ\JXG{JnNWt6J|&$$ 9sk_ :AM!\TԊ?@}6'+sz]2Y*]>>CQ4W[#\R_I(86{`V, t=_SwCNj m3Iԫr"S|c6Zq$cmb5g~Lu|w?ʦٻ6sr ΰi[O*_1``Lo^]LsdneZ4pz ^ 3S 7KR C +6aO aZj3'yG6kx8w30|/fHx|AhW+mM6F_ppr->O q |f,Ĭu@׀ߣO>=í+t5)ykQo6xZj,έ݈=Y:\`X?Q\lUEZ#+0Ը7qvUQ g\{.uŜ:D;JcnȕX3;ћ݋P 3/6 {KCK+ɽ2xH\cCٓ<%:pCew)#klfizKx}% ONO~M4S1 XVdӛddSA3[;ZE) Y<ֱLH8m}%V+Š gC5ϓtG[EbK ~Zޝ*1Y~̖D"O~#q_+t;yW'?dML.G$1-6mڛq'ٴg +~Ft.wɈVqw 1YƊlɾ,Iδ/,5*\3KKis|,rYOkfi bJrY} !3dwCTy9YΏ(Ɔ\Z<|)aTi^M5i07s4I?Oc $,.˛u\I9U;$8rj [ỷ D&W(oii*_GeyԺO73{'Ev p \ƿž!Tޝ W3z[Ml:/eJfXې+հɃ' &K/Xx^9=?=;߽؍%zL66BłqsZeQaA̹ک+pT` ֤ee徿x.Ms#ViR$>[r1)[<-O  wɉz1otP42i[~ xR7Fj5lfr؇Ѱ.z{wp<ҡi55݋wȸaȽ-tvBߣiegDOb[` u-NqHyk4ޟ3RSΦx ZPbƢeluvh}W[66Cd7=; ~y Fpm2w؝ rh^\ +˛H(!!|3^8'R6rC[1#fĦ֒-4@UNfoŷG{ ^t}Zrz4L~9CަNYhDߚN_4 pXWp4+YPBNK,v9QIO>2< ˳8 e*S)HqJmא(z6i3&"q(rp5dш!ʹe?aweGڹ]@ls}M \Nk5QewWw|` !\:Őw2nf$Mĸ踤Aǥ+3,T kkX2Y3 H" SSF-HiL1q9:k᫐q4`ī呓nx(03. afi} w-4Ev1ٷ*9<6#8s`X\H) WpқD #xKL8E? duUom|l9Õs 2[ɐ8R9\;e ~-O @ @5)`.4S⺇39LD27sUʣ1 T\%z|V<^flLf /w^L> 97 `B3UDa]i`%n'6i5a$mSI5b,grì:a<ī|NgJRtHܩVC zC\4{Vy-\Axktה>/+*s[T K !uIu*lc!` W8 Fzo'AK/v*/VJ_4c"wdOiq~&,==Z cf׷>"iz^`.PI"-c= TuB\pwhj#; Jom(`IOriyb*#rwB+xx}[v|#6bnT5F~qB`Oa,ln7~Y_iF\VU9 h'e"r ;lxNW2`P<w@.hVSnK0ȣWrL]ˏQguBoIYZabTABU%kbJ}n0|k'̀r/2'*|`xA ct\tUYJc_2Ph==.[rSNFɮ(VqlftEnP^O5ya+T^ 8)r gܕY?7h0Bjx\CnFZŁ´'qD{g.H4 }sʅ҂e|A7[{:AWRwvi;jvFRxNDiۮ6XJm )dg~a%a#:|o6zrEN{+&k&nn"\.zP`/\,nǺq*Fͬ\GR 'J0ʻZ̚۹**L](Tn7[rupi=^,PjALb](ir3Q2LzBָLja!4ѣoMy6rBxlY] ,-q$>y0=?dsd1Az^FK!&F%ͼ_x. "$GB_mw\t`*E[py xa} J9%~E| 4'%8kЎrhxv+> V̜Яm@Uړ 3^4`d g].J]a+4 lH'.?r/SYYa*\$KP$p6L(Id\|.QESېn _6eziks5yXXΐ kٲbvgkczr<64*4w7иl'm=l![6Bc oTJGJbU d5E4@7D:yG>Qd!Zt(vLᙳ ؝ tRjxdg9}es0a^tr'*|t_^8 лkEzWz3ϐK"[I?ŷH&SNbt9 @^0{"t3X^j ?7Ԇz@^cUb΅hY ڰ$A52*hWui$- /Vn ,NZS9N<:G.+H.ONeuu}sHDXoY3nxICviҋ\AfFKw!7]f|b]%ܐ1 I$A/|;taԎvX4pQ wه2ெp_t㰥Pxr)@*p'2?>. j>VrҺiEf>斍c7c3»:x! X7YG3˽=q ) tՎfDxgr7p}6#*39Ibo0N۝V \XewhRZ Auqs;/ˏ"fQp+N| ;xĕITJ !HcW54IɳoU]VHF]Ych<'3|hJS$XXWFKXkD+Oѐ@/Q whBDRNaʉB8Qﳘq`FA՝`>}pc<4xvh-3j:^+e?Tў:"ZڈlßVk sI('XWs8+&L#VWV4xns9VTtwe8UA,GA+XDVJJ6$ywh/u2rr|l^坅BZ,(~Sh>=+PbH(ʅ`7,e8=ܙ8!drbn:[XI͑om{sƩ%ꋅ 9kxӜ*öS)c+@# 4eCL,EìJwf/ybԷ=/,P-^6$AK&˻&뮦K3K୴[Fm!7JOZWփp',~KF:T2P`M~G &DPM㤗BD>`SYK>s☣Y.|.U;V'Yn͋ {%Q49Q&K6E)"H9C. tTx#_J|FV 9q!'hkZ\pw0_rS}xpp@ 4ԡ)a$I%kbAS8aez#1\-l[_dWR1L>e(.^fq#$ߗm7 E>S0J8eg^Ñ3ƆpT,+NB5& xy9<</nxG6OUlIdIɪ-юޗqLȐ]Jlb%8SRjrʾ&bOLw1klV.VZE8R8'_Pćk'+h0Y~rIi&O'nzEb f? EKP9K{37J.G붛im"BQ"p}UKVF=!N!|z15Ve9^"ZPNWL92pl.P:yM5*16A1"6wuKC}d pv )90oējw:_~bbĥ.Pa ]|}0hBPVZC$PH4ƾ8T%EUv79g &c YZ:#,BqqulvD>ٽ*`ksłC{W\\F Od\3{@/r1FM-a"AYŒ!XyyITFU Ry4Dn8Ke@dR?%kNWW"$Igq쮻})탁@+OΓe>&kԑ亘ۭvmە9hC=,YC mSdaٲ9>Sat-Xy"lxLa':tvEg)mJW $+)'1ա7N&d^hq X3Ɩ2-3paIV-.0haKr1P?f$1Fami_T:|Y~}==9J@K#uz*'9R{ ׈ARSlT0 wI=[HzOﮭhȌ~Bkn$. .]0o.vE8?jq,\_ `#4"+^*S͸7ID{FGd̮Zq]jYO@X[]O NDL7sLC_@tw{{rzwD47URKv%-nЗ:kN;]q4jgHv][P"Da;cV3Gr}"4,q|$C;8JF7[9AX$LF- ?2Q6GUQ&F~`s}"K1 V3+!ڈFD=2Jǹ"t_sƹsfjD[s܃9~ów/m9h"=\#CDTrN Zt,gn"b/? )t<Գ\*9/1$MT$Y]ՇlbeZ% }Bdp?(A4 ۞V.F3쾊DFP+Pm&0鿎PbȈ)u\c9 ֖~&ѭtF8B[_A|dg_+U3"%~:Kv8$V>.T|aaā,>K# ڞ*%!+;P$]leSAfNyZEO.Cbj_\-ݟ(ب}<ަ==*3Az44+\C_(~8%@3Ș{4{K|kɞ63 O1+EdW[2<[_'^sQ&,U}/9XEX ]lk4z{^ Y')RQBE PHPLJv6DzV($vu!%A={ñsYmᶸřm5 rFx7OP'ЛPb0Zՙ&IC08ǧ^"O\.b\aN?z.ԫ9?n0a"*_0C˞̛uh-?fuctSl.:5UPiXcUcn"RYj;QmXiT+T_xRo2y9F z&f-dc 娉:s#mZ6{JiBMZzJDYSU =( V$ @:pk,)qUrD xARz0zV4E)^5+& tV-h#'S}*lvji^{ګà +zˇ$R7 ht|1A2v [7``8V&Xhm{7[ej:Jvq\FF)3N OVj))i#B1 97]W( 3OʢVlnyPh4>`@H nMAN͑}7xr;b˺./qUeupp0TĪ%j8h*] sә 6ct!#^p}ޫ*d֒Oh0&H1^siǀL1Ecv& LRY+@:y/#ד\^)Ij#T">I08WοT'ՐCQQ`*Uc\ .'| HG6Ȇ~|NK:(~nƨne 'eq\D]R01imFu @Md5q2@Bnq1 73bFF/dPa @ J*b> q`.b*;)w=V'JTP@30&H"8 3x:wֵg wm+alb9 egy5ǰҐ)`*L 'gNpzM+F ?d8Zv,e ݩSH\ ]'lg]Hlf"6s>ih?,$%f "@n? :c#efŶ tӎoy3bE>dߘdsz٨"4`07[8vN=pG'o_]Udߗ~5T=~%Qt0g/*y)=WݖcL3Fr$pRB8d?pro_6_ rmg5x< 8mzh `fR2~?бomj0”"9K(12\pN~G]~ЇX}"PIQZ5/Z&kJTgtRd"Az-e>X,bݝF#>^Ckzi1 }JcRTOެSȴ9וk>\B럦Dp(j}/S~[p._y!w%h9W b9 MaƤPLO]8:`bKn>@O RL8D4X8 e#32S"KñPJ摊=K87gfCJ%<kWmbʱ9"RF@1njY. q yvVxFb9P&Cg9“ĥ'=B)uVBӰmo|+&P*isOf`, $W`plB$g*Tb#ӑ $ @; $.!X7'zo~9TS}ʧѨDAR)K˜P8{h]Hs$"Rbv~k;ah՞GӏK&h6,Cс/Q]`f`Mm閮L=Oisg^y5wN/(O՟*myNZ 904GKt Oh"]xr,>Cwt|CQs6$s' :;$bAlg4ޕk4r3FK;U4,Z\ !.R`<4X5`9"3bi'10i<"r" 9H)D#(){q|/'l]`9 LYk|kп?"CY9&\Df2>>`<CFU8u?WJJp"6cO^ʫ+),9{pqrI2hYZHPɩwt{!I&ue!_ ɩ*d'AF nrOsNZ!xip%sGzTC))y%Ms6B&hh סK$X R*vvk :?TYL--vm]2#ּRu:@*I9]@$'y6:R'OUe`1`jmքGhl,xh 58^>~3fxU+Έ}_ewI?/6 ʹlޥD?q&mJkDSf8Xn^@2|u]ʕ,A砯x?(K+7k.>W$sW&{4E/t9iѿ_-;ty L/ Xځ]|Up? aBS^_n֧:qo.yM|̋/\pڊuUЙ @|Hr) (^m~% B+Sr{cBS}=? }yOa\})#I 8,K/8v009gLz eme3Vp:e@.l' +TF{0~q{G(@u;2.NAƒp_2P)53`6&:_'xciPF&YCktv0,#}i U%D|6JZX7+̈f}ZXTAkK1 a zCU1nOtQv/g[jkdŃ38eB ա0'p' yr. N#joWYӬ:YQF8>]sX{ΐp(8x&%ڜNq_ԁnl 2w< k1^w_v7ך2,@Gd^ɏ5M[kGl1-&0ԉ# 4 :Gt<H7Jng D5l$J_^].HZKAœ>|c Ysո}P&%]qs!X?4IWZIKrBx/,=TKZ*KGb# rLēF..yI[5sA<xGULj9_);E5MXRC+ͨr)+=ۓVʲ1HZjMʣf9T)QXr;=#6S ۥ(YPER2m-ھc䫣dT)pb`4ç۸K#Jrtw(gRlIƿH qPD0rv,G*l{ 2'3bMxȣfI2@|ɋUҍD;ٕ2䔎pmml0xE!Sp"v%ѥh6\୬ HUx60 .&7O<{-O_ @[ Z))*ꂄLSv~@30:U6N8s9XR;oRw~tΙ[Nn}nZ?U\źDdD?'?ᚒ8eWb$@ǃ"":i 5|s!&b #*4ff)ثkcYN\FJ~?..zv5v\cb0`10UmOWJ5(^:؋ tom=G ތոÓA[~ĽCZj\DaRk̪7V:}oR`Q-@ g?]2wfWs$Ds-N?,$ZK&y);i;[kHTw|w= ^xyJ٪|S}{]Tk &B4bV1l0fI^!FqN>RU[Y"}Zۘ%kߜM''EY̋ȸxu3(Jν׭'l\N(u6B+EUV抓v?C˥KX9},fg1*eƹۈZ%./O˟/|fkyeŤHٔ떜Bprۮi_N@':QyD^+YYN/ML&SMMsT&W#p+?߲"Bz54R:ՅW6`[{S%..=|GzJ\IWHLӋmӺs\ۏ3a>i*%g5lB&;It2o/l *٘)GJ ±|;*f0_f  Uh $.x{<ٍ1O!c,V<, d(*^Гd>|w"#G3,qYADⴜp # C~eHo\ 9JR1Ĵ 3ĸSxjN )S A"`XOE͖fuȟ"]I| |L z]Rypb5 hgWFk˦h:4wc ,0Yàloms{, 8 U<(P9`X<e#"79y*'o~Ƌ<`=˽VOi/9&SNަ5`> R.Q,Ӂ>`h\IKP /VrsSqeH҈ƚ4WAt'?%2b)3W P߇bi|ё'h>Υ(Вz>Cu\ #\Y ^aqy]^^YUkH"ZvL~XJNņ<+PVԷ#C:-blc52Gf(ݣ,@O(6pNTzeUԥ.-sڼc%!kAHs qC7n?@>I0 m CܒO<>zemai qNX1WF>*v1* 蟆!z'ԴuSe'cF S$1O,?EJ冼4sM!.w+*;Fry~;ڝ"8Y{7'ccŝ˛5B(\JڑM}/'F]W ;VćEtW] [uʚzys%~J/=ɪHu{v!gm_C':>\Ho.{{{9$̌Qn-Q ,\PoS/-}M0fG]#A1ac=gorAމmIˍz17`xoŤEUg ½z_0A$"DQBi%kPMXKh 3(d@+- KMh&se{?N? s66(\Z?jͺ`U$_'̞lQU%4'Z-R%ɌKt̏QJ*Cg'*|=]n*25ޒ8KL' #h7#,/$TYsޒ~fzI}{~BEJnr9 ]c8Hnc|bewɗ,m*%P鉿@6URxyYm1\ #!}#ZLhr"S`bĕ͉jk4s򃜦:4AOrlܠCn>,L΢1,\;h&JU]˱Giw"BJ:fRP2x&eLUsIb @0UTxp}x@x[ ϊ x~ZDutʐmҠ⊅u _e*w#~ǨHє~ !?85PڊJBhKhb!A{Yؽ ųI͍46[652Lg{ћc-V]἞eyf~lt#'%<>uKisJڧM.\fI6ıAOMyKP-R{p o.GI'g{]dj8@<,ǬD  J)K݊RfYsCC>Y54-":5 ԉ,ڤQE%!ifj`Pm L w(nYR0MrsU/O>c U9$&fS+V9jX?+BՇ7CA>[5 JZ 2Y=I'dlJSAnR:_*aէm[=e9DYP& BɆ۳\٪iכ۳p)o'̥l6d 5D8g C ȆTHuR,/+Z̫RHH[#0A;Wh!TZ;W} Oiښ+5y'?1$x(LIRx؄־+c_]-l7}$hN1D!;FGಐjx<}¼k=ia6:<58+0;Gdqhli•Q>J$~:Gvd:` FAρnskxrZGڀ"٩4st0K~NfbTuZ"Wtϵ$ɻ͎-Ej4s'l4xc&iAzh8^9 p L+z:95g>Djx5Ћ;pqy&e^@|g>E: #S1P1@;na>&;Hkwe>{Aw}GIxzrhUkD9r ev ;/sJ*vF~l`?}bV #̡,1t*m0+ȣ>Z?oNNb9%go$SӇ wZMa/F19edN$Zw{ F aYݫc{j^UCz764J7<:[f6<֩Vz=223͠H"3b]c@#V+12snY] 2oG/F'ҙ`c36//Dit+ 81k;fgkÓ@qx:IKUpx~Sڈ)W΂l_E3[;8%a'IJ./_r~ZU!hRؙ^6~nkOfAQF8W,O%Cګ*R3f%Cm)Ө%_%/TZr!6{{WL`#hXLc30J+;|ut׵R\#r9*&Q@8鲄V.@(;Kʃqe@3QTprz}/Lu&>E2h$D:%ckm8 SCRhLQ2aE&TӔ㝥 d#h$@A[ 4g ><Ҍ9D~QoȦ^*> f(+5q*'!{|%C k^^"E*d&皍f _+HhkzHAS .F>\a@B o)1,4m\z-w#rw8~ SEr/WZDȍ؊xo(bHBZjQYV&7 v4C! $G@Qr}J/BWn_֏S糡y(bY07l ёxi\) 5;c"kc`\ |8)7ȢƳ]tj|6G!T ~^9=?=;߽ؕh|t?3 O%/|$(@ŻV-;"ws"i:e7-YZōg!3 g 1ܐ9Q&E|y[,a;Vhπ%HNODG4Tfk;FRe䀮JȈP3ҋG+( ]B]f]%; pxydM>>>F!38=Z1M˫ N"ekED[Ϗބ't;vaWx zww۳.G-ni-+\7BkC$ᝣWqhԤ%*dRA)_LSi )Ky>2_w E|Uоg_DcD_|:Fİm{/w\ (VV-#0GV7)#Rt5TLMUU̴cGO|LӠmءIOmGFu~cO ?iPZl˵sL-\kp"$qHX6=c @XOq;%jS:F9 XYE~`]/ w]{]=7KVR&;AO} vu,`:zQmwBL[m0bI;I\W 2k^$Wt[p@ƌjC3c93-H ]nU BYτg^k0nR#Y6۲>d{]uæϜLޟ LQ_pz{qxtPkdpo^<@.0N6Cx6IP3^E < ݀mH~:cy)wr*!!?qҀjIBՏ.1[*M.q*8nzyňRnѶą\'̶G!+«GaĀU T}jZS};3C_ź p\ ޱ EMZ:w!lP)t̨6qY84*G#zbdVG|~XN.U%'~l@ƲMDA$RD*/sW2kzh5sI<*=S\Lh MPQUl=5)C AE:^Sڈd1G ﱆ>R {E4W0L4E!:QZ}d pSv4Cwok;"`پ\B[+nU]edi]6%cI0ȉa4xSlRB ^SA9a;KMjPF 1ύ3K\L#m1 ChԎX=E"¾k dػ!3dm2D^l)D)`lptw)&KF6O·-+J?G 'r^ \ z<\JXy4")T% 1)%=4Wtu{\P6\hJuMjmg׎W6Nc[_\Y_ǽx{}'W/% sݴ:Ovussq?;[]V6;ͭvWvaKNl}^$#(TDi#o#31V-AcAh2$V(*FISȺ,|O٨QB(~'I("Y&c^'SߞId{SMkx%\)-D?ҟ#˽r A(`?!v3c;խNC0QV 77RV aۊ\}?M=|Y8Xr>\s'xءEZ kju5Ӊd)wIǮg8}3vUE4ϞSfR@fjH-w2 h2.=Q;Z~ôO1fz#(6ѐUbЕ1m~@zMXf2?ofWW9ͬ/߳CrONFe"%B/Nf4eb DRnE;ԵIjDiGc캄M&A @2`P d%@~77>j%% RWTj]GwWY*ptek*?۽xwӅk3m Ȋew#Qc͐xS&󑉵Sl՝,Ca;ʎ2s_C]ܺ`ԯ 1qPg=8+:DŽö3^ -#o ϿiD,ogS1VS`rtGC;.]-6o+ TMJj\!0 Yߤdp[_+:~@7%Énz=τ P߳i0\]&:W\VV9:&{T[lqp ֓ L(Em1KK{{G݃ӓ%\W*0tID,BǛ0}1DQS7^!04}C9lh)ףX湕e@$-RɌA _Xp-hd•2xcӧVl{dL^ 0C;JIK/"AQF)זq-Dy,:?p4!t%3owp_di r~iy0f&/LOpq!d=F=u2y3{d.t0"k ;,d u&z2TS괭[,z";)ViLT‰;͠(-ڣgzN^!Vg] > W?˿,o@ I!2fp;y(d򌴎'BwX ݘcY>gWew@U;gΠW[]ӦG ;A'==XY+4XI ͂F8)Y) }' 4r_SRsH>Q6aEdLE߶@mtOx{ұ 9Wa(0`$Jq?$ujÜ YVA΀i-<]0ߜp!nbb|0zV;}0bg_rhk~`6 Vg'x$8α1)m%J!]gt"\p"uђIxHƽqF1Yqф;GrJ- AG j^l2,Eu `E64@ԸxE9x )V'2}}24[ )fOB p360>aVp)U{e0tMZ;+0\l@z%^D(c,,@tdY_=sZaX|fXVEy7wVBhۖpuLRqn?k K]R |=%l&po+0T=OaYNއl:Ιݟk>+-3}e^[]|&S1uTPhKllnQN?Z {V6;Wh$wCKA ggnbaVM\ꢯJ /FgVbqbd@0ϑHkHŊl|$ŮIM\=:_KRI/j$_>$nCŭ tQ}g7MYԥbָRN2=nZW %ٽa. t&aQ<`q.0tVʞ %0 pBfanE3Cd=[+B-L vfqFR9-a Q{'ۭvj%:/Oj~T?J_X\zc|I(Ζb4k'B^%vfO!S%]VY5}SEB?A\̟1Gd9<;F‹OT{LaLc$wV)q3Ø3o fni]T ޛ;Kmr>.{E4i~E@p$q)6:;f5=&w^73kcZ t]M]W99h5`Qw΄7C ߅큉.ڲڍ?M"$8]Sۦ,2bApʢtcMXlM8 6e%(a7 yUꋽ26O6xej?s?&K+<@J{Е#Pr8xQH#4D ]DhR2dќBri\J=Trⶆ\_nZ4jkwbj+`+Fk WEoEmlry9xh47ˆ$'2i!d1:Lj x-獆&DrDbr,%*K.rZ;;oRtrd >G-Q2>kb\G0So^k5f7(*Q%V*ȓ?iÛ :BXV:%Ks`@G#l\~C4շNpbe?Ǘ>k%ޟD,?[$ݦ+dLv?f%fxղݻ60_x_ߔGcEq2K(^:h[>-vD[iUWHsq0ɮHoxZ lOWpuLamzMze&M46/UNgI}졖o ++`Y{1+4OXcӆ , F0o^xq2Xar=998{xzrىvKچRn  Lz(-"ɴPȞRRQ w!xΩ8b>(7\kklm2L}7Y#%^lC{XΠ*0NKWb~py\S|pflXKO0x)/c+;ytL&Ѐ9FĢiKZmq]ݺh7KQn1=`5yO)!v"Q :JK1|&{$٠ 3I[rq:k~h']c L/ \ .__a|qEbv1wFĤ7Y\Mm!|&egf-o[:֙gqU(BU 4w9ZՍ>U+ԘovC[WԔc~X^٠ v%\)4WgzYSyp8% Lq|1m7e-A$Ҷ$c IKi3^ 4mG^wb0oP*@9,@PJhwGHX$k,dX e0UD 'LrH?/RqlP>)e\ ~UT}zaۛ!nB`Βrpl=☈'VB2\E|:zAr\t ¬^/~E d66NqX;ZyNg-(oerZr U%ȣld!Vr͟׃!/4$g﷣Amګ=IZQSh\W`,M\p~)8W&+Wd8o<҇NMJF7 B"A0HnrpGb&ɀ ieXKYN.'r=z3 `*TWܮ5ض DB>t82^_Do_OޝFϚghYGʕHkxOZ"Ig0y_?pʞSJz_"jsb^E^鵹 JL ȋBF/`v`+ a7:5n=>3c/rGb#LE|qHA_p3.)x^d.n*PE$"󟰨cf @n\q᧝LJ CT*&]͇AYrL[}!E3j ɓXXv|]촯UZ_[חd]:p k%}Ph݂iDVr(ҨfoD vNsldrН`G7ׯ5 LJbZ9ǾOr$&X`mk}[O~%I'/ㄦsK,o2%gψ=VHpiʶ[>6͋|׫lon-]k=`9!*b@z el+śp[=]$2I(MwHrʾiBs6Mo v_77iT.p> ŕ!vBM1CJ: w<>$cJ]nҬwv}/—c{sid1t',5U2.̀lч) >\C# D?ɜJCuI_vJ`yIwMʸ@ygpw?yY4'EGi-*a^"R>qϧaPVo?$ wr&1SZбmIOզmhT4Wwd =7gWI#sl5nb,tKW %קhɳ*z{&9Y,$6Qg#{h`Ku .!Ӈ ްΫpDsQw1glmܓUV!S] _9T5܆s7Lr#qpy_6Bᬔ45ަg] MjiYuڲQ? m}J- ZMF(F9<h2ދ{cK?\%۶_-?2GQ7^J`eЧN [c+_ fs?Sg|!cp42B XHޣ8S BJr@". n'vTk@>\OY7٤WpDgz(1hS a^䊝1GaGϘCNyyzn+l]:B]_-u%c #`MѼU,a*5wzLLk A͋y( |%V/# -5GnOL7ޗr)m<8DoI}ճЈb}% KZ={N] ˛Q<_%ʤ'񬗪p3v?& FRB9Nh[6E#*5#F&/>uߛj#%DIFkM>d2nFLiJF7[5*6E # ˗8\JAKx \of4k-V%Q fǣxڊ&ވfP:s/|(HWq8zY;~(VQ'6zogd8&<(, Gλhc"Ѐ0^br Fvy*9E9O(6Я?LHقsILJa L`ApNa7_BOlE YJ;8(20>8},f5QKWI?LVٙުzoi(t/.bO~KҫklZ!dNţngGt݋i$^$:go`o3W߫&yL{z4L>B;s 7{?/X`X>[R`L ^d^.TXďq>-ܗ[݉!e!iiF%aN6^ L ^-vhj]\w%cƹcʋV3U.RԆx%D{͵nVXɘ< xo=}46Y7;k>LktUcq*%c؛B|Rp ӭd4&ߨ[`ÅAմTJH:/m7ҭxi|Ə:Pɗ'ͮ_?mͿ*xUoYh-Yi^z{&QȲovu'lv%q^otVҹW E>oC%D~*e r`hʔ}jkϒ^}"f~*YYVSܺR J!-cSvFbI$ł\=wo0>vT'(Ĉ!N_wޟD߿Ȫٱ}O-IJFiGevo3Q* `G .i_ ýSXI0D{3>%zY 5D212sw6sl5ՙ*2Eh@ᐇ53ur5<N_!H yJ2G7x|˚0H3/.w*t# ,= FtjX'6Fh10НҖr"on| UJg]WhT?jŕ #iJ:B[ηJ׻y啂ZZKltRZP=żXEm)ץ&!TQ\IvR%ޗj5k̢d$C"2T'\bxXNǯ^UUjy?֡ `I .!l`kzzQ_/`7PGpH޽?lf37S[O|=3*LnulnlWWunTO'+q;x@Ak?4Y?2CPh^ X9/53i\RIw4bp6M>/L|1>-16`. 'ZR kϜH|˜4&tm~r2NnNnHVݵO1%)B&gJ$EM1U;`h:ʮ~ECֶK[LE5އܽxm`>HS|1'~OB6܋P9xZvVeO~ah=-i?&C=DRlr6bWcH((+ ߑf cw?£ O}MFlLFwF"FQON=;ZL'lpI+JϤцJ,g\^1lkDZo%QIt{n1/Cb5Z7S%-Ru&\GP2"F,IA9 5XE Vhn,x_7S4DS#tmI $Osj^;rX_U!>̍޾LI7k@DԤ;[5#8(ʝ[Ls@d aIY>W'txGȒ`tCntV_fA|ik[drHo9$D!I0AgA:=ßL9hѺX'`s{Ҩ2G }H<{!]ͮ?z_4!hg\Wkog4u:JQĽP` C[ES:.y^$7Kڪ† (^I4 CQ,<>~iGlq6 Đ~OKh)]`i Di.%!߂#?{h=;+^+9&2 F|dЙ] ??5 D"9ŏ4rpNu`Hܚ8?Rw51"SmX 'R:bP-rQ?7V(6_VB$CW0E2v5ind Z!)_G֚'/wJ;k ':,}_Ay v3#,+mK܌`kw QIlN$)j.qOF#:~^t:U_턞\q4bj]>>zLI͟Gp?}~L?hc~m0̄EAj{屬AW n?Mi& _ыc9ZuhҔ5.ÍpPБ^_8{qnd`e&d(7p<)P.I)ҷh䙪 7(`9@gf4`.{Wc'j>c!60v f&s~ r ~jU>q=_j~ d W]`1I= ёe3bd9Z.}$x;TBqZA8LZEwˁŹ |oooHwlzD0)"6KSJOlۮ x-"IO?oƇñ8VZOv!3SMg+'Ml˽=4⿞* \䫬ǶրͻkMgM!>. b c[$/S +'l v~'W8 h>a{ W|)I#K m! 4L,PRKn'ZKe3oXA'&ԍCz562'R0jC̈,62wŽ͹ 9޴g=mY#./1ffl @j).^7CdzY.|0Lύ =} a@F6 }NX電ݽCư=YXVa )û]fʷ(H='f?@eY׵N?}][5 MU4ry}=>\XZ%]["ԤSX5qt1sv]&U]p\MLdpp)+_~cTFc`ް Xd U4GA 2/&<$y 9iQpCX8ޣ^Qԋ271Fm5ٳÕ~}3oc6EBUQUa?fէ)0W>P}3 yȨ$OZSh=ʙ|f6U]gШGVߠ(&Zfs1d lp l'XIB4a@3t1SK^*j50G!Hcqgmnu:\d^6^6SX=s͋bGnĦUW2.ĵ:{Izk<`kzy?DаͮMEq{]jI2.!Ewrh%i2)QNkMV^Hll匙ٮg 7 llN݁!&\z$&F~zmgZ?=鍷؋ჯcF𕁷 Ɉ5<[5{OQPn)zʐ+~,BW=p|6ҹe%4G40hy:)j e~B_RxbX. AerTXqZW,ߏF$?k(e#pCM#7"[EY^Ǔ/3K9Qa/LIec:<}?MjQK6 I /ӒuGS/@H퍰}(h3ҵ;^-3VtxTе_w:1x2#Tm JFЇ8D=hh`Ŭ r'wy%v۽(1`(k񏙿ݙ;Y#5^,ǻg;ۃ-'s zX#pua1+-*~!66Dܖfw'dy(Lw>/t󙄽nv8R. j wx/7SyY)sV3iV3k!ٝ(EƊX\ǡV$(Ɓ3.b4DMM|ZN:p9%QKe,YbFO9V*)3LyAgW vg+VɑX0034N_k:U;UN52R&9"N@4t5<U04ϥshZLBww! 2zUe-K. ڔD}%<4)NE?{*֟%Uꉦ t pңB&6ьމn2oEM&\0 '}B7oNf#7uH<(ir1ł4 F),'kY~&?͑7d[,˥$]gLA}݊[\jML% >JRtZ B$!ߛr"V/\_Y_; 39}s[Dr!%m=`qyJuy?K)&߳śeE2H*/6hM-eBj49Bl$EkA%tAJ:tӋkm0n̶jC}aHE9=KqnX897=~Gs|y&iG;HiJR'p"+2f}];@9 O9'Y֒`C%Q7R%s_a(Ÿ"rZ/4jQ+!tTO_豗 TU8e cGҢ[F )F}QF:!<0^&~S=w68#9^YvE谒s+ֽ¡#5i-^w5=HEMC봮}9"3uJlUìan:\k?D7`AF6pmgZ${su>[5_=6|rO.RGƍ@屿L_8!x>fуloѳ7Лr|@p9,(ZjDKtлs*?$K[vio6 Ō<\V%T&5sܯZ1ӎ 40Zr)ɇ<,Ut/^>v6Sb(soM%Ù @O:I O"cFoeQ4@XlDxކγ1g##&-mφe󌧖{g=5Y )^-kϤ"?,,]B+w5j=ʟ`ʻ&8U?H^>9(jj/NuOz⬑:- <"I}n_R@{tv&d6HB 8f3ƹ.#Gme(Չ%%?j¬5ߒR5R\qnF8]hJR$9\|!S@ѻT\k8x:a]WNka\$V0GTj婥Wa<Tv61$om+p)Jfjsu4cOֱw"CRPl ȓ|b&+.grݹ' {쮽M)'!D`;%l}J(%>g^ V?9mV;i =q<N(/Y \ܑJu"Gt9j|mNdQW7綌Jo e2E}l<Ǘ߿Ů)j6J?{soP)Wz%& Y)sZW&XG'mPae4#X]j=ֱwv.wxQFVد'Ib=k:P\N<:6$hrAKLܪOguI)?#sku颭֜BwM622Ib`.w=ٻ;=99ػ#=FZC:ӽD~4R<@Ta;I9eRH흅˧SX>sVO-Ug{BZ1/Bޏcd 2(xÛj?߻ +LGڈ[n5BO0mtjd(NVj6k ڴ3k*vXIAfxeb ڷiZdur3*ˍ# tTWBJuC!I& 0?ZE_W:G\9n/~Q:9NG•OS\N[:[_]gJbS6-rnҩ[軋3BR,O1HًHʝ nY-}T:J&A{2ȊRqЦ^|sG8]miֈƲvciC oa!{p5U \y3Rxl=6CpTD{!3͢U^ #d2`Q Ra( r ,n/Ni#f_Le&;V?H{+ .?.NYxxd=A(LΙ|.A}hV}_'jR-A= "1] Z3}#hKH|U88S̰D|l 7ޗ9!z o4N! . jLw t;>9i~1@\h\K 742Cl:@@7)ÿX۹E9aM +cQ48{J#t<1g&;kTtITʳ`2ԄKi ]Ci|J>~<6;J$ Uإi?6߶ rjLYϡGI385\jآVL dZ1|3 Ed6H͓iP勺jգuDvCo"`usGaqk}d5VF""vqð p~~z- ;ZZD-yoE׷ʟ#pFZ!푰 ӹ0Wi܈۫m]ܟ, ଢ଼/zR Cpm{[n&vh9uw ֡E9bP^=H&bUzse"!;@1Y-_^>KXwv-]ZJw7A!ӣ 4Q{mc?tXh[XHr,D83mb7y*spmf97I:|/$mGyΤhEoj*uU^nܹA Td֊Ljk7`RCQv84e{XV|emo2:H?Wyb>UzN<4m#@k(SzQptuRSxg!P_?->ivcMe9a0.W(Ґd-whLB W8#<Ġk wcu=OGM(h`=ŐKQGvLTB"mx/frS j!SJ.z/Œn?&&SdO0s}\cI!}׋[\>o8Җ{@WBl(_3oH{c#(5~tVOĥ~+`6g"fr8q.[zoR2zٽ49…Uk@."LN= 6*)=JA3 !͵;,\m8܋I)#?Y=+0 H P\?!CA@#ʎUhhOlNCP6 Aۗ-*I@f-XXNq_IoԪ}ѐAp#^{ ڟhth}}s8&'.Jhyfi0dYQ%Ap ^ r1J(L0ޮxl#u4QYgd0 kȈNG,a mЩ.7b)2~^ᵪK{}dx a*qFDV7MF wޛQ~UԍSMe["aIr6&kkB' ݛ/ c_%ws5->2J1x=iP9O\ȽQa T\8y3a8<ݺFRTdԍ-F*j/-nɡ ̌2 Mt>iReV~ 0@ O篫ᤠ6֬KrBMV&t("i{M}|Ru1q dF͎ HnWzG-Hɽ.JuDKc)zv9xs3@MG1*}/'H&G)S{:PQat'8P/DGv3; FLͩFM rU:l/1E x!I}5iɭJ8xgP>싕T#$r0ē}B ݣ%ЛA~0U[4$eM;%y&nLuR~Wt6lev@Յ|5R&ګ_yMQr|EY%L@" "/^7W|C2D YxcNKMIhNhU]}N\϶At~v\L%> , .w V lQ`)s'FMQTFY)v])zrO[P,!:@O2x3[8Ca^Ebl}UDle%&)ZTyyoAf~,WG'o}/@l *?/=?9/7RE0$KQ7oGeBIS\_E~w5XY0xbMpRD͕Vq /<6U e.燻G%kLQ^.|՛̮8A y۝SZ ^18v_d Xt/uQ_Tuаۼm^Uz QՇT >Rbh)E5b.nRF5۸/yJ7f폥׷sYXl5XDs\m@Z]"#2<r)s# 'b񄥲Avl2j%:B1+iohSߐ(\O/.EsNS0z?-D܆~{F> o |L%"Ϣ>n 买 U)!DL1à$yFh\_VE=f:Hr{8rHzg+L&0nJz^AH5[ӫW ĺT:(\֐ }|T,wSt\{:0*f &0B%ssEnAUh/eyЄ)}'?Eʢn$M+ZqӁ%Ž㒙g:]P:gkwe ^+A-7~I(NkbODt]4-=⟓(E]bǜy%O`$Qq'|&pfZ= -Z##YDq|gTM ca∱U{b݀Ю]Mi!HؾxM=|V0Șv= W頯slhWm)k<5ƚcf ߮l5BApNKLq7Fa~J6sE`#Vp\\sk݂RifZѰ8jyfiEѫ X iX[W6-C<8[wg.7Wtl|z~Jn}-ap>DN:oWpԟ'd&gL~8UHN)g\Hy}n ßo$@X'Mg^th0zɸ_;#Y~muk: r6(9;gJ&֠4W! [2?vqkE\x%'Ye)l}̩-07?%#!ZDW+LjLn-ǍUy!̴ h4lw6hy? z9ux zY֞hJ1:1XJ[̘ĪSM.2 =\vy^V,kno |a(kt 2|FiaxAOSnT_T))Fx:_lmQ2yK'+U h;=v;87S >7y2]Xal8PgS?g)G4ع4v[Q{}m-۫w@.@ B"ٵ< W>ryOW0<.^Y\(2q{2t fDkSS-a̟^ HawL-*|8k ޺? 5QӴҷ8s#,)׵ y'smyOJk.`.8)o]UK@+_l(Ӱp3 5&ni`; urG?\0) t6[ɭY4Olk tțӫ.[2wvE7閠0L%M HБo`Oh֭i !ti$恇AecWIX[kЭ4\!ٯfZ-<s˳b6/g n'_yb )Hi`[⌦_hAL@{5?r=krCBА-ы߮oXJ@U y{;7eκY=[7XIҰG@ }z{@1^U*P XQ LIDE!FN)$y=}끬4|rRAY2 hU|^:\G@<]0dax5',W'V*R`TCхy 0O) )E h H4nw%![xﮰaP5-H*VfEr(M&/%f/iگgR <&3 {mc^8ձFhoOG*?{ __tkd ]:W(\9_]?~hfMzw\2bð2$jGl{ԝ9~͆Bt x M/ȁyOY~ʝcZnk$$ʹїqJupCvXzO(`#Ww`hY+wre2cpPG6qew|;[0 Uy T:LeW7+g-)X46UfN m,΀q8%w*DW$6~%-'?cWmS8V;-kCtK̄o64G/&FkyHE4N¶wKs{hK ;g_gΊ) SzAb}f=W݅C:ioȒMNd <_QRQKHP~uHJߥPk0[_g&H,<=! 4 [T#pbq,:J0pz!=3©r[lonW!"$Т6>9y,bqʯu Eal v`}P+k6.F^6lCZ=# a^>Ji!hI\}iZn@i:[A} .fk/GwTr_g|lpwi]/$0< S[җ4^Xe5a 4g]:Z&H6j\hx ):'uw F|6cK$=s%_v{}kL_<>nߏ7}b]{w|Wǯ, HNWI@--n3(dw `6LR:W m׫VW='?ҲN|Εi N${ƒ4f"Ld̙& սvOwLǽFoi^;^L:vo}usugN\=nZ4~'_M&흫?[[ionm]oo"]re~")`iaq. $3AؕP]f=-I ɴ|cr(ЬNz ?(KFN?3`zL}`cp,*A%оs#H4=j7QYq˵=Zޢtt8NG-JZsZtnv? OY|tntsWrcZ{JƉbMBEBz,_*ѻ 34}4PI苲"?I=V@mOZWLmɸȮdsH*a#$.mb4'ksbyEYk6څ y5w4_$Me\zс'֖VҒKk"+s%ޭrTqjGōgOf寬2y{nyÊKa䮠sӣ*vw+cܑ9ֆ{99+ !^Sԋ/ ,`{.V'i~!~لoN-םԂ A*FlV{g.#~r֧}wthOKE\j$7 -ckW确9ܹݣ3\^ŞѾ'1 %&wn ^KhC cx&vgc!IQtq]e0dԹY;;?z#QZJ}ng:vևG;Vw)ŁG3Xw :͵WnW%7X:ijrnڋ%>Lf#Wtx`+Bn@k#Csp\ P#eaRY̾%dvTtQ" 6 ]Q X7xH(I^A07+=]+{-s6BG=ׁӭ'0M/F̫Ub%O󅭡XEdY``}]H|9ʳwo+QZeY/Hy #j_>Ҋ$B}w-[^kvW {=rf%vgT!zՄTW w:"sjڇ N~(}fk!<ɋc:0*>}<)LPB`@4@q;e *)y< *M򖷪ww|rixE$Z 5^yFvwި;oPeTeSz,kzeI,%‹y6C f1Ξ}o'LJ{طɱ=I흏2?hWP+K ?L3wڴ9LE6Ul(l yTv[96Q '}d{ܡlt\r9;7^WUt ekJclT +8NXGv]rG87 hE9wN"xz=z$w2hm!ovܰ#Qg)Ivc8W\Lv`$[V~Yxm{6,kjT5\=1vUSIk19)a]u׺5k(ʌywwgȯX^u)G<ҀWS(M,"hrt *HXI:mW+{T Q;FmFath\:)clA, mzEO$b8=߽k6%:$FvyY`n8cu@3 N#=N//fG uk%+ <']wwc}o\:AXXߧY3 aM|AQ{POd؊2L?%f`(*YPnXXYG#^ʄ0C^f(@80GNrη:\ApJ*Ťt;Ng}!8U>zFF5-փ\qs=5NTyᘿC<Í@4|eOdBTFUK%Nݰ3(at4,9E޵|e[4/\RCK [{5}/n/wQO1#Clf?E'|6.ܻĦ .7?ep 0,AQ*LI0PW>dW䣈@eYwILfXCGY%}+K"׽_GO ϕNcԞȜMS<8˷2q*DRZ| M[l$|phqC|(Z*R0Y;kk JADWZtVO!?he83N4#hp"Ꞽ55}_h!<r˫=m5u}N\r;8Q+~h!Vk}n OԗZIj׷J֞P@ڹ$xzi/sՎR;Lu6RF.7ҋ41XaeMAtLXU¯lOP8yz<?לbnt~V`MK/]ǂuV]<#S<Rza5G FWeDY냳? =a/x&纏 A5?ΩxLNr8|2I\?]ߦ|YN M7yowlcO_^ݝj|a?:g72b\u?OAQ<{Bs$3LȊ L K a{n6,q&9kS⟲a$/ KԬ>V[AwB'#/-.йJ>4v߮/'M{pR#od"lvm?;30ͧ/jȵOy%O,zJ`XKX>+&\ +xi:d4uV_=;|\طx`w6a櫠k+lyH|#uAb<5#mZpu@$I/* wB1 ,PÉ1K( -gդ&yGrKU1:$*ZWқ : 4i7^BˮP2;Dx1{].G">=1$n2#*B/,.\ݡpnП~]3T35wUZ.|RljUAIp%kR:͝wB B6^ U$OP08uqR >`tU{^Wcc8ƙ,.٘8,+|3_Ŏ7 yxV7'g<>O\'ƪ}/%#f)-ȴ' ېR'*ٴܺጅu[iC yjl2߀~@iXuPF.6JJ@QTOwvoE%]zH$w,:O-lr \`>c%rZxŔ]uYE]Jw/Z3L0(rf!GnX1Ϸ( īgo./VV}#GקGo ԰T;wi=ƴo=BsYEA2b_rtK\X:Sf/״%_P]<[g4?kIl<ZE'J&Ꭰ 2fsNjlpqʸQ5-,nCɚWPxŹ{zrzwv#u YNemƤGp5Օ2z&2.b`qA,囓WG{E-#v:m>/=e<`"96.ݥgݠ T .,m^GBL{uUAw"D'xB6O#T}gS\F+[g7B?%o-WOEf"gRy0i57mj;[Ur<~/RWXټ?O>jR@OglQj{D z]lUoXq]~J\UOލn]&W|L@w3a== #hߗ)fɏ( ` Dv:]NUUrxoSeEappp!M"!΋ړ`sZ%5 DLl8&hug=m 4yv#[E֘h F [V\7&޺LvOny;OГ n6tiTޣ[Slt7m0,*>M`:ׄ8r޺tȺ)o{A.8R>*o?M!:hefTȍx=ޠQl2u$Wld1rȔ={/3HS!ЖO{&b#30.ц]RBCir'P}N%\2S(K^.Φ($+RZ31< itKu{.VagJ L{)@o Q[k pB %MbV$$Nq)-Yxxa|gblҕQ+!Uz/{ \DT̄7PNT_-n=x#U(zf8d$T}+R|o,M $KZvE; mБ /dJ%I^`; I[$!Qx/jc#b:pws.6J^b}J FR+ήVpfλENt#ge]锬8oP7΍/MNs~0CbX$,aI闧/r0UVkݏa,eJ@X6%yrm('SɍӃs+ : YQ `cSZiCwǟQ`ET^Et]ܾSE%ƐYX7cCO\kw57 _w9-:yM'ݻk}H2%+]fv&t}ݼۖɛwg{NuS=mʇMnLG=xVwç rngMǃ_uĺ>8g7޽}^}x)X׬ o]WGY">3hߑg|\(-=+ںIܡt<%I"bpc}n1Yt=qB:W35"JSbr8Yws;4ےF|eq t@ԉRwA(\(Qm'Rd`}y79Uߊmcaz*k~PJH Xk%q?/HG_JSBlVYN{{rAm]1wބ빁@z'!'$UFUzXqSzn|$1{&/Y 1/v6+[dPlLN_,Զ˦c]K~x~DBe ⬋R78odBʾQuQ6ETڐƷ\{%l=/1c#ar>f,nEh);"BϞVHm/\5v^ ׌dl6&WrbU$>QY$xV=WfąYz$*^^pTb,-o+LrƁeBG˸sACjV Poz¡߼>X,cڞ|V-Iwc y- v9cK73ăDxԫ9 "EBzYp%YfM w08Г@Q!Pkh/،"۟7ܞ$7žͶԓsYxi7(R.#^(D΄ESxQ4;S.5[dM/]_Lk!1Oȓa9!KOY`-t MgyȒQ5L:L>泗)Zݳ.^/2!l=:$݋qTwnC6_'i$qe_?ʾ!˰ў[-$ .ѬY($%ACe+ׅ]ٟ("EQ1@l= Q6Ҵc5J=WI_׬>FW9>e(_} fcFH-zK5_} ];{'ؽNծx d;MHuQSP8 '~Kf7g*5XQE(젒K/R=gVZF:ȍDo jPY1*ؘ<kº͇G7˺3JsHrH ev?-昍u@|EmXTҡo^=<:PI[*_GGqRD}M՜i]ت*wQ \]Ii?+bPq&c6.V /o":+#{R>=|IYAX?ݭ/0IB!gfひH*NH* C $(eȺtr\=R * cH_`/yqxDQ:C,/;;S{ZGƭd6%@؁zr Ų9+W9i$F eS%G{ǯq-Y>$tmXa(ˇ^ӽ`|U|/,Z.3OX{'ylVGVHH n& G>?I񗁫g|~1R5[

p >fSwt*K}ԯ&W8-]tN?ywnx^wDiOzF|'_ȅCc9(= e!jՆrLj86(ӕ]^s)(TDd!jDk,t |-D˙qr~Vi}?m&zj+!5OXsn[7+62[<ͭ!NAA7t"grnFXЗJWO(*+zK\J"KX?W=Ͳ/Mֆ3YTd^P(oLrc֨R4CU[9{Ɲ]i})bܗT Q@Ly(s2 ?~do6|WXSHJ-($ ׾݊!c!TrJ9j*18.J"1 FNHx~$_Da E|]cV:R> B|d <>PP|]on\ G0JeI#s>2}e$!T.ICDH~b>yRXEHV5gzӝvSm75$'P y}|Zڧ}]y2E#+>_(OG \~5).%M=c.˂ V ](cNi^z1ڕN9zQ5±RnMUw\>Xܢy:%E0=`!5J "Ze#ö x6~^ ,]m,kt}pW<}x. `MdILP%>d 4) rV:nXx}H-3y8YПtϭ,u"jm'L^XM6,1gLZڴ"ա$ak8Tنy_ }q+2&?! ՛?P{unc-4Y =/H-{h.naQ]z>bNMSUZ"QK1f#lM_ߝƳA0a|B: t)/9Ce..33Bϡh~>i&zujQs>ُ_]wnL VNjF[5nK , 0EݎZڌki`\PUѪ,T-_`ͿV偞xDVqB `^9aa$~7'/((e\,>=|-"͕7 %ɕ!SUuF1zr \_ŵ\d# ^R13e+n@2^TiP3˸4VV`:/.K"\QVҊnR-nR(N1F#$8pqӸFl6 fXHISy=&iH# S[JnW L cbniDZx0:ElO')WdeI+Q%k̕jaǹ'X2lhE 7 ;Uk `S7%VgE*@R4_ I)4?۝>hN54%IGVZpƜa_q%°ЛI zXe_pSb$DGtO =y g=Sb.035ZT9=>'VKlzXO䚿JG䈫ɭ{nEOA9_ₙ0מQrd"O*M޽>! -h- 4vtL3[]l[せyLy,_@W>V  m%=7{աe$T7l| ~p @D ;jiny**q20(,5@#MTR6vwpz9ݢ@E eQ)NQ/;Spr_? Ĉ=i^Ik۪ǦT 5(@ѳ6RJ tatde+՝$nh丩l{@T"[vU] I7Kt\22DaܴSRgO(H ׄ<;迧#8&v6L!:;={r%0_o`XۭvǙ]?Q7*er{has;FHi0S5nxFY~_a(9ƪ\a:&&@cU4%zbYgwk~Ey,NY;dY˜$Έ_< 8n̠ |]c<9PA@9w~5~9#uEs3Xp;Jv(AIhm:-kv7'dP0'l~:0 &S!a<øm_)To%={É##SȝS_o$] xyO O![δn׹rsF+t$_\fs~@8IBCXia3mo{T`L=D*!a>M350Y'5Ԙ"TR0 4XCOԬiȆa/WKi3m",O%, xO5iY &z}ԜxۗDSeCꜗlh0Gp iPwS0gB]**iIUWvU>dX6N7ך;?s=Mtzb*$7ӗ-J8[oGیy9DxRȈ8,5B2uv6YU?+oʾZ*g2 6nاn6r3"2 %sDZE;Biv罦a>:w})La:8Jnw\/Μ[ Ecq=k>qvwǣA:YllRb]ahm\74 6F_"O .9(Ai;DK֦&nsWo/G1iiL7PMבIY .Ր\j&$¢#j-,5%.U e`Jo]$T: -0&*p<&HV>dM'S8Al.̕=̭Eeѭ\MǫT)Z&-.ɯ77ڳZ}n؟ݶ̿Ot7u%2FʍOq( 9'gs6}FJojor߷O~䷝O~䷛vn۝DY/?$ a>{߅?GgN3B;l3?6c';{8iLˇ[Ne"t)-@!#gXPAJ7B="-ںm:unTRd )F#^tQ"-`ɒ%YE"Q1P3`ț}]]Fk:q[i*Mp_m֓+Ve޷ "Yx>;y`ԑpka)@y wau׌Ѡo5BFYɝ* J b3]>)_-u#[-]!Db#pI.f XQTq: DGTG<[clѫBbvV79}CrߊɠWtS~۵,9s|耪IS=ggoGmPnhﶺXQ"/Z%lB[JEFh9c+UȀZ֞w(MgHT b/6J<;Z_YZ!E$̐Uj"q+x-֘pZBZ6<ei^4ӨLI:!ѥ1Uxuʛ(}s) :$VjwMMZ"V??B5]__bwV((i4J6&mg ʂPx"@nEaTzh=Nߔ}":E(a562󂳀"F3GzLYhD)LR nmn#Jog䶷<'sm .)_ F*GǎZgt_{WXϪbVV Ӣ_1Z9O!W9*y y l!,k6wVigqC-{e.q OGHE!{p>uuRev,轗Ǩz}抱l IT0#mhwRI!^ r!ggШ7/?=Mެڋd׼ŀ?&.©>)n^oenf;o;]ƍI7^X{А~[;EPR )0e MN4<ٕ’a qjOƒZc7H?t1lSrDw{'/Q&$U1|ڟ\T>{rHDdKD2t}Dld.%YDl+ Pq8 ?ET}:ܑwt=zԾdM18.0‹BĐjMRvK2:c`jFuFnw[<~>,c* ?)c;l}_K@&!.?4R&ٵw͜ɉlY~VYV|lJPt4Zpz  mԊ7>YOP|obT*|B!Q pfb.4oqMA, MZ7<꿙<Gv+>}#*3èsbO| ܻ=_a cœ5Vͮ+ɼY}E;rt3v.2M,d-9ퟤ1%h,mr ag6 *eq Mp?hy pqxp/`<οoGN \7%fu~u-LhX3ԱEu89y춏%Ȏ'PK9i|$K{eC"^Zu=F^F°r&Ṗ %Oө?_ۿ T#Gxt n~ӳoʥWӴ( . Mț w$n# r>ΦUzz$Y`O#*`H# DVZr۬\kei?Rmq՛\Rz浿0,q ;x7DO@mJgt?\OۉYɁs9n\ԑʇw7%ab:t33w}"]/l8o߸㺰92צ?VכTCJjE+;mH{"۽a6UY|R3WS{<0mZ{e{XO{^_{ИXK-d{ [F1>Ys ܃XFjj"E$[9ɴmɦ7q#{6/2`qm7neaGYђO'6埳 <\قP0͈3x}TB,)YWI$~:<W85ǽ# _!ڵ0/m2obOfHbm %}c ~b/db)$bˬzl0Z*w񓨆c=W[ E8z!0=|xY9'ܪ*EF;WWSE2:$pU/R WVx9nmayGo.<ҘFAh9{Ƚˊq(u'f{&LHGYw?Ȅt,}\tgV9%Lim(29 \0GB<4: fnA6Θr/S 1bYb=^PȴhDү|PSB]YDVe16ODZ- w9yڣi'r쌎SSv3Aޝl$-T̢ioA@Ij(7m2%#+ؽH5Z8L>gzt0I#ko&UkiJ!AM68pzʒ\ [_|rf(c!Twvg9kʟY&=6ڛ[fy8㗇 ÛQr릧^@F`[ʳߺAq۔!|Zy}v7vv[}]C*ܽ<ћ%]NT*SKViϡrBెحSh{!vB=^Yq; 5/A"*o{= ]x/0 y#B(KHD//X%F8ľBIjyY D_& OAI֠4$߱ u뷇GZʔmIHAH$ fkgs'Kx&n*>3}ߓ;tTYi2X!д$}Pai+auv k(J6  6f"3^ 6{sD?`Kt4Mfr7ܒ0Z%(JS-_[yJxb_V(X~ "Q,ʐ\dS]Fg*y`hQɪi<:|ҩPHaA(]7"6bw;oWԎs57JjfCDlJ@B9Prk[FgKmf뽭wCb"$lnQdٍϫXWyO%>=,ɴ _I+h~]V$MM'2}Rk)\V8w}"o-+_Y(f_u39K椌{4#N VSr/}p"@U_jI}Reh^e4ܙc9ʒH\藯]ʔ(J/6twZvAv7dhl 'm@0Q>y$iư:X3#̿΅s).$Ϗv}F^rMh/׭c8R0(|I3' LG6ۛ'nfC iu2U@G6ݧh_'K2&s?HJ,I&Eg ;P;ӽgsc'֌H/4uXL؞xHxyxs}_a>;d]0Qn:*_ɳ1Y V#us g >kXi\Ԟ<_$g=RWp[,`5ҺV5X'ON|fU:מ|p \K;q`.L:uG^Lȱͭ9m5`CY1|:1M1Ow& N%{b{ l+R/Z~-zO6D5wO5 У#C&V^ϧEYk֟[!ǻ rR]Նz &Knlĕf`ɘ[A*W`ric\{e6Ӡkpmfu̪)<^ )қx )b:̲*ZNҫT²y|}M=ٛ СYM 'wC%i\h 1` x%Δh(2[Rf -ft7vˏTZʾEdn*G#FKu ,,6WuDH=`\Oj0Dj,VOQ%bvE+" O{+$u0RvU&Vr p뺏nSY)MJ+A@7Zx-9 U,!k~ÎpCfKSt]m&k:q0ڼ6 gd܎ٗ)aqv=6Gfb~"^0@*clG^7'/ާS;mƊ? 6p{"5Z!+/Vwc=aIʵ_rEp|x?|bU SU(MZmwkjݭΝyi:&ѼClg ؽPP,q0W^y-bUѨ JQP%}/n$ET`YcZKAJ$&d{-{_,Si,? E%p+~gO6ݴνɲ 7W;QU:J%≠7KQ:I5Jj{AI ɫ1߰ q^(yi~\*Խr* xq"0 ?gH5>!ǦDADtb#@@u/@[2;iK>fd ~ѝRp ~2 %#/Ԃ~‹&lm#;.4n<$we#0:~.!7v$6U6ЇFa5R_7T{Md7ɻ"M *1*G˰on]!;0u` t(0[*c1%"ɚ}ltë0yJRH@V (Sy׉pf!)k.dW QQ4," Z/n >?Q6Ű v[ǛfnpԿHc[g57.ZߐQg 7}bgyU4V%@Go[#-17G!iqM^CP)'vT$Y޺A}EșU^7A6WP(N`kޏLJuH1F>=%lw[cy%6KxLۻvxQ?2 f G۶Is}20ymaT531,haRQ&PDlQ! "75tu&Etwxpzݬأi9g|hi + qMI݅hHV2>^X\ˣX@^7g.[X*v+9Gkbq?![@f`-Do|MZQ?oTHG\o[v-jO4{#5V2&tþ"9YsK1b!1V \7n]ZP2ogϾO7tsXVp؈A*a #-A)`~1s!/rlٕkƷܜb`,Mb>$&5\ qgr\+zE1OwKgGj# L|#SrMQ`/55=N&} K,,Z@+kTr[8+0N>vinv8*@Tݹİt/|gHzɱdiεGbDv qujx}ٟ6?9?朐`ޔh%͸E ^-b;.>^矟pm\+28z{[xc:8tl#ɕj٘d c Q@f]2,0T2?QlrDHP|YR 8^hZIrD/ZGk0GIlMpzX8' lBrWnU fq_t"ء{Ϡ E_;ZLcE () &]"ɐnmGx*NМ'/JPsdʇX2IaGa9UХv劢1(Hr/}2b7;3̅> 8F/+D-t".I0N2xhscl#n5|఑k8})"YAKfãYưq8Dڪut榸ئA?- 1*ds=9iK0.?$[<-f7uH+DP⎭"ӸfZD,SCuЧ*'YeTЫz,bZXX'QRbJL̙V1K+ J*\?{o]C<"?,<<TU ځF!/x g2^Q@5">s"x| #/ͻ _eRg戲 pc}3ro ŜkUWn.*qåqlj9Z#w #UJAAh~,jx YRmʨz"w(UTATE%%Zr#O$+/-+U0:y(ě]]jNhc6 .-Pκn\]LsTX#~>Uק?lg{ZAIL| YS{'^zdu'疻A:6;]njI#7?K\ݡKf%KZ/y'{/NpN(椩5AsfdL b# i.̥}y=,nyv/TGu[5HVsҾ!xMKE,!V(|׫ȅ!!aՐz8, 006t}%'#3B5繞pU;N+Xm)PeykZof5RP_ɐx,z(5PBi1c2 kFMzSDiBG$ mjO̶nSaQT]lԙ D+Tϓg-}ɓU3lnecs oG Tդ<|[{?M"n3'ˍzLN;3N|ohOݭtWq= pT(e/. H,zrvSq=y}^(/E9|dT}tHuf{T),ec3/Y` PzglD&8|_\rON104VPLlɼM9KxO`|H{`tuǶ }UOSw=kO+e fe$  ZwpKq^;!'R&UI~LTӽo!'Ɗ4.E.WOÕeTAid`U=a?=a :'!Cߢm/6|~Wj&#SKP8O;:2 Eqnb" DG>2MY+Mb2ޱnW\|eUN'KӨBh cFRC%*(>h:h?urn+G$ LL_Dzxh-ȧF!z,h4ͮRH߫s(K\b~U ( tME l~ e3$pn%^.%Πc]赳>?ΩW茔PS+ͩz:)vm+2}Xy ҝݟeΞ /;;}aB7|5#:Ghg5#|&ҚaZĆd23+mKWE="14qf}CscYFZY<[)Y:m"Y>th+jewƬ r*ղݶownߑ˽5NY0!1Kov Odic}7}.}np쀥N Bδ0/Si7 |~P J{wԠzh"ly']g~ (بo>TE\RYy 2U ֌fIhٔv)#07 +M&Z,*ߌ(m_-8SSn!Y6qja E U1GS{S|KoE۱uVAf;Մ1-~Xjߣy)t>;.㌐i/G}]gnɽa84+Lz“P@5AwoNt((/h6"jO,J<ou%y.4e@;xcB]"cѽR>uw*EqӅgBpӄ"%'X]/:V=DC:JȠ9 2b7u,}=d NJ֒Pk#_.o'/VHE({Z,^Y츸\7`. ]!z+5*Hӑ()€1NxS!= |[?\*0) t%*5r"\'Ǯ2R.at~J@`H,%5hm$8i-z-땠r9CV 3^֞Hޛn3-ݾn&f:v /T vً,Qs%nȻ{1NyЙ=]W^."/vtc]騼S7ρMFOmؚʿc}7ٝ`ĀKZneX"hD; XOJ,yϔ1D#8>NK3ckOخfDudm0[r=E`Rx,pz[u@"Z20>LhkJGws <>WD$<9-DT K=|O.[=ؖo$bѽ7g&<+C Z wѼΙe`ޤ[ON3ׇw u Yq> ̝51LwYZ uWہ|ȏgojg:֑T1V*l>*Yds.IRC.0Y 0Z6^N-=[-1M۷ocD|}+CdEx; bb~׭0K/NE.%Ϡ nocC1ʧ8@QŜ ie]^V : zg66F\(sWjc$KTWSI[[F Zɽ:mI2ݒERQolbi m;cvV:~9/)mI#?*ðlLl۬w0d ɽהipao,BvO,*w\2V[,$>A*'=P:pu76#6s[i^^&J۷_ψ54-2D@' ҁ,D6ƪ_aSʠke{i}}db&["7_zx1:TS-c,#24qIxp2E?6ٖdA :Fkp OuF}iVbFpXy<Ҕ2r̢8'=4.\@MS- 7%H2ͥu)d]up޽(xfr{e4`W|ډ y<380~2JIlC߮txd]oTѡ^795dv4w67-b]t7:F_#9UK^d3_|~|pzvx۳cB@-i >]ܦ^:lzk&A5 )yAav'o^C(-b$xl:sW :  6X28z5J%p n*zs}<L+-:98:;=f$<c6~gKғWz%B\h'!ZswKpNF݁$Ld-Ĝ HD%Ⲩ(U  w*^g'׵3H+M8CmtAL3PoqQX0vB'_IzƏ~((xTsQF=WߝXOwbzv|3LGp-)Vv7X6p? w'G RS|BK5Oƴ?u{4SfC܇v.wI,Yv 'm~),#in,G$A>\k*1`H^h\56[]>o"``2Z]4黗/"M{W?'S"ԃ=qPT^1 p7 `M4NL+*dЇ;~{zY<(ʣ[?p4{g(Zv4ƃ/Lxዹ-/wpX::RYGfs&3"Fh|j XXMQ}oz!+?ힵ'8:Δ.YZN)#ڔFKRь"m1_g MB&|}3XVQN`!_`,-3z>a}=ʪ) wbzQ &q6H.'eeFq.J.:?;>|y(S#{©bk]I(S"IɸCu jE8n{,@-g/C旉"K4_8[É7=wS h.+ve5+ǎX`vE3Ɔk;VrjCR> Rnx1zwzh הգPYp!2^7fªW'/.גTmykLМTzhdgc-'KG{edTS5ECf&4@@6c@-sM4dSIb]lp~rRALU^!@`(U>P~uƻx:ůw;Atxik|ϯ!w ׇǯ~Zr^Fك̸$=>5A,so2ݨʀp{`DNjRHG*'tui=&v=+_nmC+!oR מP+/ (v|f~3=_{$g1Wl+npy5(E~WLVFN-ojGPmMĎnS-y8:NLZGt^ ܈K!^Ogw ADEk%D)yxnqQUobwAth,Pԓ^I n7T"nnvyQ8Uy~Qɟ1ۛAoLiSlu~oI*ʱ\\Ijt;XL*|CD/dWo_JIE^BӇc5hI6Hՠ6JYz۲gA[V"9VeϞg3_TqmQy2IWDrvW)+n֌&ŀ Qe,ˉveKE (!wb 08&qȶ{? 'Os49;v8eNJa7Y;?sˣWjYk{3_{⛠L{'4d0p saiN k}I-il蘐]ՋAEhYNF&Ɉd(n5٬Β ݿwfh'ҚyP&~[ަn7) n-"Jbk ۦLNjPab mPU rFh>$o/v'?c1QJo}>7eotl#Du +5߿}sB AaJyXT lD FKLoN^uq:?Gy j,VN.7@e >E . ztH,Tq2XQ Swa$߸W]W#8/K*ȅ`KL:Pj#cXwWY%t=!a,βa8T7\އ68ַ91d.-@[-Sc87׀ֳXOC>úOAC{gߟA~ܰŝvCo'ab9_a}Yո]@3XDFA2LLN҉[S?`Z(z:ŠsNJd-uJoS f'uUBfXmmtvPM^  m֪\eBxvp.:~pWIERdn)tb W%Lb۬pٔ!"&S~0C )3t+CTbo`;'y*o.=4є[h-4~ XRGr̿H%U~s8Z+SQ&r;jOtuo_y?j GVit~nQvCFge =q+ "iś{G{'-0sl.M+HFl>~aU "FIw@F 7ƘpY}WX?kz4<3aWolo$ ʱ&y z0Npn{914Gؐ¨ehjJG&T?#0}VQmn-hn~< oMFOG$jĶETlOR1\.jE=W9re*mœN?T+)F"c$, Aǯ}1GJ8,N#NH%jbHQE^);"B<SଽaVjo=ivx6NE( lH w Mc$l|.RBP-"f_X9(:gj'oߝԩX<|jO9F)V"4IJPR ɖ!,Se"|3zLl4SӛqӘ7g{9<:I Q\vۻ٥n,iq]ZN/(sP5Cp^pT.*=m2eZ ^)Ww%C52n jQeTIR,&L޳)>^3n^uET#;c>+TԶV)#I/M66[;[3KV\L7D7CF ͕.< ta5V`OknoM}`(wa. f v^T,b&#y{R%f# 3gE V#Pz˒b!dB"x R(*r)Ls}tD|xG{x"#C?A:N3PL8G /gc2J*iiXCrqgO_+?K'/^HؠnH>dW4</8v} dg>v<Ak= ܡBEA {()5˳a=N!.,~CWϦ4wvg\*%}P* /W4LY.<00i/"k ŇtK1v{M 2J!NcU ~Y/"G&ώW/^^$ۚ~{wt' wыpl8+ۡ7o_Aj0oӻ|k6YXs Sk`:QQ+n>*7FȕSJg/+֞T:^CUp):x_?stj]RFLԷ7AI,7xYax`*#&ײ YIeAd?rzpXoؖ ]YZobv*m$DŽު#8҄WS2F\D j_9S_ մ* 7/swC$εU"TLھ %,i '`1o3C(LYkцdXPc|Ƣ,l^}Omh+5c w}19*%K(uHߵ_=cЗ#Mht'-h_@HW"rz5"õֽvh\&֘s!=Ҩ!{tc.pwWGG y,ƆbSQ:rT]$RdPKIٵqQw,e wus`Ua߬G%p`9yJ 4nkf$~3oB+^A\~3z$OLGp^J*s%ʼnW }F8~I\ "V{z|%BKa)卐liI)l'" w a~?k^c4R UCVϘ/V0]ĥp9s:xs-܃ZMZ V۟ﻟ~3o}|w?Ѽl6>;S>;w=ϜyLib\в{DpO}zWOz^KE!d0$,n,@SbCBM kA b U,SIC5̲xWx`+'7%t!S i*L ?QUσyV=o?מ4oVTekKR!`5ϱ%XƭŻIt_KNil E$.uRU'TL$FuST!kN~!xlم!>CܺOe%jv6'?V4p:m,SDPوFN}7J^ g Q(֚ Qwv32x˞+#NkQP uQjy+ڡײ _$kE<qm +*R>#_&`m(χa~! qzptXr8Y{CxFb5W; }iKtLIa͊iz5?pτH@`%I977FD|tLrԷMJ">>5] I A11zW_(IY]H!H0C :~ǃ7m[&N%,#J4ZҟJB-AXMA =bQdXw¨bA-$~tU^X!0ni ݫ=g-H9+l»%* uʘIoSZnyD0qv0 J:/+ !i~1IrYg7ȸr ,#=0T]n[f^zF'Qi&U8Uf#cH@Վ9 Tq+#uzYd\@̧=LL/Jj]M5hF,e:;x޴1uX$ =ǚpDzC ⚓s/oBe(sآ35j#ڭfDQZ4P?\ 07z;#wzާ(JQ$/#?f6x.ŁtgmQb&D[qp%Z 8'_rLEYG'!n _,]~>~F'?7MͫG>Q.)Ry`K-qt$(`ya^VCr֖BSZKZ゙Xq>Н{aƓ45XQ8jIۇW>Emwu}3aAIG:bVGY%Fv{{=ӍK(iui\NP؏/!U6 zh7fk{!6).zPYDUW U )jD~>HHSe#ӣK!@6L03hm8Vi,!@dφ]2=<ﱭO̯TۙvJ0| lNN&@vp-+1QHܵdjUã"}-{Az,>{}(A{wuO&31^P"r -t7G%M#>?9p3dx?L1qx&%S/ؿgOn8;Yë&bl7 ^ܑMQ7jBE;vS/Ls1?% ,Ǧ\SbmWc6D؝|ܪUA\8KAr$n(R؍9n28 q(SL$*@~deӟ;#:>qȼ+%Fek@N6ʜ s{32ح'~v1|6f캨w^%: Hb=Qpƕt}{EDId N)Er[~XL|_+! yga~rϓKg a%XFo2}4}D֪n>ve3v;õE_7@-oNTۡmE|C w .}b1ȍoYlUjϞ1.z{X K!}MUjS03? *%r:Ŀhr{g7,o +L ÍwOΪ;=8 eRސnr[ŠP+EЬf=! R޵0xr bcMЛ 0~ܗo|L"\p{DřD{<~zu!x"Tpi/ Rï>R iTG䡵l!mFN&wǨIB_./#/#Gr6yxn~2?[oGy=9yt7rs%uAoCdik:W!txvi0tI`D~3) pahOy[~v$K+uO%o3wrCc0+r!-N=kZC ݶvK;#*炫\\{7,fC faeBT%/\6e{#"_ K(E b- n]bjVV_sD[FJE/n\ F" LYP3!<\;0=t}Xq}S25RQh8~xr.k`t7Ah_̇1}@%ñ7W'ƆISmI&U!z *ᅛO"&, ~0p˸IPCT;%+>;vW7I$#,YoQ+1 n:l`Y>L3v6mQ8?$ H ^ IE OMOZ~JCx*"n݉n"wIHye*ӑJ?c@[M7; h0Tv7tGWN}E A~AMrN8 ZEȽWp_(%&(I=? Kݯ8{kOJKo937&O$k@X ӠQػQçxY@k {T\V} z,͒vg`VS9Si@Z" gzx5lQc2~jJ+QV:|k#VC/\j {Wh>;HkL yO@WME*Ǽq+pkcs&f7q]+9ƽj SXWmXޏJL )R jzj. 蕇"#79uMVXğn/M>M77$^7㇜>(h:/ 9,ב9qvn-n7] JVNH%-[l1iw#2\~K)Q' x_{$ըȪEr :Sg0$X>*4S(80 8?L0UBMn V~1],fBO+kWg!CZD$)meX&pl8 {YMn1 #;<9#FÖu7A^\wl[H@|ZC%Ū9H?g?ɮ2m " 'QF|9GƩK6>>>-)T[C񭏺KZwI]VGMj:kr3.ƥn Y-CIt"jaNUOn%&C83*_3A5n{s3q`dh6GScBpeRt%Z:P3U×?2d)r-mƟ\ ES7/ϒ*GFu$X=d"p)qGk|̇+uIEq1&kxX~ki 3.|Ykg]6vޛܳړZM'W14 ΥhΆ^;}'SUBq8GO eInJ'bJ2^xj?Db[*f%"[vid>~tN/+AQWhR!3ЃyF8,aaŸ LzL@,DcW^Ia;*Ԥd^ 1qr mmy[wVB(ȒoEۤCM)1];aPo3*dta왘 Dlt5jĔm!'X˃Qn$sdmd}]eLC8E*H8 f7dhg\]ώRN#sƪ5lN6S6Xn(Zއb:2L-U*$!_7k:ʺ mw<zqQԘxE@Q :<ت=\ s%fD>N`:`Ok263Mcgk^as6n,_C!F l{wUQe/lΰ{9˽XJd"Kg|t $jm tKB;@W \'LGT5ga"J V9%)}SƜnT!ST }P[10̬z-V.ui=1',DϪwPpӾo5fƍ/Sc<׍>_%saT<3,4e}?*0c Νf2Z̲ۘ)Ony'41gO:Dꧼҟs]n,#JeaUܞW2Q+}wrgɟ־YO~{uw0O[O[[ BJ!tqVw[#⊵{ɡ7 X(R󛂄.͹!_ GD&|p&<%ea;!!I_4תqýwɩy*yy rVjC7p_D>[az4ad]MoHHagEr_V:[(aPDEeK9Q sRel߰oYC9B]p˴Ǩݦw m o][``-' wNLt X7f OO){b>;j-cR2@ߝ{l KRnHg=42 {Y;xʓ^b?}z]nÍ5l,4pS=JXhMXcgLgsjn5}c,8gp$j),&pc- 2YW[oLg"+B*k7=iIK9֊>]""E 4K|iq8͌N0B_J1V*dO,VuZk{"싋?VC TauMѦKO-Xp=hmvk/{ն.}|)!]atԖ9 Io2Xu/Ty!wvRbo|~8)0*޼y0rʐde4̌G>tyéɰDQxg:E&8,v+hk;YD_"ٯy|'ߎV|'f/ B y蚧xw2q˝|*\c[똨 ^w&BZ!Fj*{h0S/cBI^GMM$4*D'\~sx@g 3$x%Dذwj/Fb-qeh+~e,<\a;ȋa/q)hz_g -k` <>gj*Y|fWĹE0jPצS ௜]4c[Yuw>ggQ)Ѕ{kkҪzT}UלjZH] ,Jͷ,aZdJͲ }$2[j@``6~j—Uui_N\boPł466R4ֵo떷ٸ2`E)2+ڥMY5\!!=I4Wb1=cV^W(ZP0ҿZ~*[_xEʳ^;r|6Iiy$G :j4dc٭e=3]6q븰\8񪯧Y{]mO( JS.T }&Ӄ3z7ĎR52p|)S&R-]e,ōF3_E?86~xt7D[~v}g˽LV..X?7~͏uoî+aH)&|U9 ZrPD_ }'w#Y*&Y;?'4:;'GJ{{͋r8we^h7Qol춘b]נen '0@ǕnCý6XJxs_'(D\P9ν,sۖW_W[`+$GmCf9H)a)P=qFѵ\ld^MpGZ*ǣgr[N VtUkP1 "3pNlN5ݴA@hhya AifwB0Ұ Nj#dfMo`pzfz:δfC pݍT KࢮwOݟ@O ,0,ƳwѭER=<#qʱ*{1Q"f>F -LԉFl<OKf$0ys7Yת}a=f YLrMߕٺfk;֔Tڍvzf6v"nOC$Lr9&f6 G[68#峒G*':R%Wq^[sgmVyv1ш@Ȟϫ#ս-&'Ql3 b^rc~iokr:da\@b))`g chh'Ż(K0ci#% <$訁 VZ!Z;ksgɤ'WEsTES ' cq& +x-C(KF LNIj[m 6bخiM|I^\& l 0/R(e*ލ6XtAMʧ#1ZMj?KL!9 H2X2}|7 pYrY!:nFdJV {ioG'RHDɀl{y^\{HZc Y Cª&ĥV- )zDdZ*`\&É^jnx,LcX\ _jX%Z%~WVO_/ʹ^\_Z+%+ߴV'֛ح?ݧZjr=^!`Ëj.1qrzlRJ+ SWL͑{-zqIeB\ G~[(G@RwqC'ط0ZaZ͑)aDvA{lX^Yn. .7a'kxv2Qc) nE8G:,R MeId*9cIJ b;lnWOR2zNvDV5+V"Qo0.1UFC}c }B{ϊHjnQZkɐZPãvzW4~LBȣD +-k'ьSj 0|D;.1ij^kVvc~&J9i0$ 5⹉2Tπ[>Ut}nyچ1HH_~79WZ&Vrqz\x;o1^AXpޔ Ԫ8[|J~4\dAh0av=7%wHEbgj{ʅⲰ=,cʦnG#ZpEi=7xٶDa/~B؄$z njY6݌(C>*mL6[,%y0(JQ7 vZ|N褰_)#Lq!ykfٸ899?<>{)b4j.@nCU7[-q ع:VV1:]sϒ$wx߬0gr!]HcYF#Q5DE .jTlz,('XG7/<*ЧXX:Zc-ޘB}?lru>|+ƙe.[L.& X=B!#kX.n GYۅ="ȕ ɀ)YAbH/q]xKzO[۸w<:ᘙ9qx;NT?ui:]-u[V B]Vю_S \Ho0`dq'XNH n*2vM ,h>yjn%QDün{YJB`bb)*Iι_YE X5>nRq@ʳ!BJDA@Mx?Re^s] 1`Dd"b?Z}xS֯_=Qofۛ_HJ>Wnl%s>.b,U8SE(I/5RtI1ꐨkãt&yPgl)v˝!Պ/+5M A_@$-RȪmなFv Wp?f$/`t,u`henGQz&䨽tVvC-x"v+lsg L و#wNnj,VLJA4$xJ$T4*<`#+f/[GC^ӊXMTaO ,=Zs5m=mqMzmn}C7@%AhyR $U#O륢}g@J,DnfK+T.l!!i>gLabw\5De~s jQ~̶g)N55}.wMSU8Kcjon[LE'ۊ7(*^;< Jak\Rkdɫdo`ْE^s486;UII[zj^,mcď+L^zaztlW0Ht (;@bx>1uŁ^#k.Ҧ[ k~kZ=Q ^[ X`~R+KXpHH +IkEQL>+Y6ѽlIrŸb6Nrf"}S$,^KN}:@zM77gv, +=(W_XD@w;Fxxjt{uYQf<߶-< WJ'1U4J׊F lI͌4.~/]7Tީ~Pu?M_[It\?qmit Ql `a81 uͬDfkB*ĵ[ CƗ)Mჾzo}'P `K|Ӊ(ju?ɋuc~"jлf Lqr;k.RJW3Օg "$7,5ҿ#k4X9ݖ=6JH:2eYmsjJ>0GS[дsCʏF\b*Xf[,T)iTW#]4]b'?H?ݶyb {_o8Gc"M]̶.r=\ L*E0pSԆ&NMyadfóDZl&Js[oupaKb*JE&K,nkds톋13lL9͇/^y `fc2@lڕ+I|Q4|]r qx#.zVm_FR urhc+ 8({9#_IQ6 tрSM%tQ?5'!yVˎvKq02SB.-W_"^0IVɯ^ܳ,׊+`򸥦 Ƀ&z.Zj]hT5GfL#2z؎]JJtȕTklDCWHrɟm=F?̝h{S(^._EsY"zu&ڻ"xr$x\[b)Gس; 9k_wk, wIb !s/ e 49Fa Z Nj\aD4J&_8@MX]dȳ3+hYvJc7U*E]xL)R6rw@߹1;AQ>r!>V& dÆ)hݟ>p[p^{։geI7<;%kk/2Ыi%MM?nJ[1@9! ݫĊ* +6)ndxgoԦSlH>lc#$BJF@[s!5l/,z.1*żӠ+KH&#@vZL;wF3|'ZJHo٭[K/KE+8IvjOt(DyAEslPMTM1\GsMv Lݕ <+2UԄŷRPKhuNdUgtYAL+Kwؒ8 ivgERޑ+undtZ:(gf6IJs T-U$R$mV^xp&5înx)V)ꓠj)bo1ܨYu]Gу'i[MͥD d6~/C`ˏ\ǝaxtavvBpމvf UHݶ$y`=#twTphMMvK(Zŵ6:sx>Ekx)ҟ'Ej6+d+v҈Ј2oI1"zݣ&0DqMr)|-=YjVvxgY ̆޺yn7:ݿt,gp󵵒k5n52sIvU$)w.[Z1HCnC;8'cO8o葕3˯jmmnEOQeEۂqKJu#^V!-ABI_"-y1erk4{"j<_f9*[$۾Z KR(&)nn3X݉B2Ss/Ax% cHM^$b.k}f:xpWhN)?Y(mķJPRzo%z][||a.O&9"d&q)(۷AI?7Oc֒n8}*+V7fٶh^@D)e˸fb~ z g|{b jkb`v6 $_r{ҫںN|iX2rI>BhmtQi+>"暺ODN4/>(X`IVclUWj',k SJD=(j3*>6q "Sv^ Po]z1 ζ5Қ0RJfFyp` lMJEf hcbٖhџOwە)]YAvSm 7/B_W+ 2۳]i|?BSdFt6 6/(2^N?ywћjx]"/r> 9I8%ig ΥX?Bgθ+̦˹LJ[6f`v1Blp&=fI))ThgrֵZǩv ++b* ,qszwxv~CȨ/u;O[[!ա‘Y^ (Oqxg5sZiۺ@3κf-Jr /նB:y#L/x&[1$Wd_)&h9R61?(̭Y df1Z>|t=YB%^ȩ VƲ P~/Q*8ree5ro7xΒhHnb=_.?۷ %Y+!RFچҬEEge\`OkOnN$1,kJC<4#> Я&/Пq$5E]ׂ!d΋Xp!vos;%[w޾wIj a6As"-\Iz ujrH)[ZKQJ#[Vv"We(Z'BVTR> !$,) ,u^0!#eSs iӗm@J̿/4/y䑌"uS^>_찙S ;@CL8-.> XS0VJkHbWL> @U(Rx2QsJX!a(;Oߒߺ?h( Uwj:OE 9QO{)0G~ͨd"#M*ϩR͑zPmR7Б̟ImJ~evV` {74hD Voܨzigq6gfHlH8!Ah(P^A63Q{ideV0}5SӬaEbϙJH$I`So2MAaӴ/ @ܜxwK'!-SlHt;^_W&$ "4 Ue`I(.|ǭ$٪duEz 'ч|: cj _7SpoDZfѕ,ך_QƥCX*NpD} y!tjf )w0J\5cЃhE8}#"l Mz!u HH-aZU < ǰ>b!&&%A,A4Y*WYg&gt>׉ ʺIө.wKV uFowRWt %.ݑj@ j_\;4O7@'%Җ@P@/irIYuwp \\\@_^LUqO:u:Q%gڅX<4C=4j恄KAoK)n;8Xt՛Qkɰ[:w{%q@*:9ƿұb$rf,4OW&^v_,oMIޱmFf͝QalcTHN@ lZֽE`0ﻖ.zNUO[MX$:3Kf:jGBrnc-ט5pV|MGgG gvC @ܽų9;vHp8iX3nhW;ա=эgq+eaTd%8/_^YJg?.=[6dw "u0p+C/T2{gvc0*76B>n/-d+x1plI: (U^Q˓2oDW+G(N~_FqxAd]?>MBBԜJ aGNUXoٚ+eߔ.]snܽ 1Ho(8ޢ[n4"ZrEHN,PA 3u]No( F@FTNBMK&G(HI4mV E&ǙTmM\`,%lZt^A*t=,yjA NJEMUne$&M1hs.5plE5"e済?kfjҰ1݋pL9GS$Fʖw]֬' JAavQ?֓??Oß"S%mIx=&٨'K/,f_cScJk_8vE+\/Vf&'Ht{Ǒ5dS ʃoy|{vWgyn8s@Cr"3̒l9T7OV9e4< 21~<)!-GU;]:Kj EBW^NtUC7-99R~m1w3CŠj=Y 9H2-OWlpُAU9SUPTqzmDjE )- \+ #5)pfSV<7 } VǤK%S1b+Ǯ qh&V厽7&ض7Ү}}z3w7{\km(y"a=FA.rU.REDȝ1*zvB?EžO~}7C ˵˅8tCIb5 p^s^S|cY ApH 4Z*V0F4;Xi6co1IhG67?4upr$v7ВFVv $E;a/v",izѽ:Q{F8jX *.ϐbYiN` TCflEzI/ (.>LHnWAZkqS*%Kj~ؽڼײ7ՑiEKOJ#|ڎZ;1 eC xG~0rSl33E?qM5kBrO:-JF>W`d].},#xf# c.W&5v>ռZDet]%d+%# eH4Z9AǠmw{,]>W U-Mx.+e=3+c\xoSp3/ӽXoWGKOq-#~)\P8..efYT[dGvL>s"lN:VmD9y P0fdݿ5E:Kր#[rS"ed &՟YgK+8ʗ@ [M,!,Iv, ։V&BȱZyO~<ĹR1j%# X6p ܎Rmc#Lj ZǹD#sI!|"xLKyl|^v.3jaya `Lj(Wj&>U+3Vu Bxspg\د"+ B[s5"bP03IЀ9?.J`^4+/r}\D)@é*7.5G/"rkmW'KV,n!U!Ysb⒬_KFBV>DxXoAPטT! %2Je4 II4k+zGD_cQY[bH$ZZ̾Y#@niW # 7NږkQ^ZY4&1ߔ\RgoCȨllq4K&/*nq ۉrc4j[1@pfܕbD:]1)$2I5BSq4r{ W,$aH-\ɤ]yJ4<}H]k|BNE56UjASjo1Պr#ft< z餐kƣX$.oCS֑*h&.fGn3%V[(ún77,MZu퍖}tŤ"*XA'j䚖`V'TLOeǶCK~Ⱦ.\ M|@3e97'"i AeJzЏQpHM s!  mhkYdwgiovs,n_ ~WS &%ttVƚ{ɤD^P2BLI0Ȣ_m+Af*GcSD\pY*#A%X7 ㆊ3ٳZ\߽'{!F˒DC0LڦsT3ڏ>~K{^"o7(L$+[0윆0,9 /2MjA0V8@]J zmsKʈl+;6OUb͹s-J뉬-Bz.ivw{ Ϻ7 _k:=JB@vkzxd(n3Y_h!!AwŚ҂n!~[ԒR?#}t & `X`88JqK ZyKv?wʜmuv\&Wu>ptL̃_LXk~YYp#l^YSϢ%SX82կQ=[Q/:Ym̊Eeh a% % Ԝ;?MoG +#e1kp&u`Kg~w(bkU*ϱ6oA5Sy{K.c1LJ$zE% QF&D]]Xv*̢&1JhxQucaZ+j+C`)zN^`$pb# 6ݽvM,SqWCB)MLj٧\K%{lbgV&3_Izi 2Z[?J2ͽYʈQD(-[7Th@0lMѲNI1QR} *.ҏ8?kwG-~UE٬Hm]죑dD5#"2]|qN+c9)?֪Ho̥zcx~vcck;B@xtDs0 HEɴSx1Y+r]^HH'^ ap*>`oV3 ڴO4<Ń IWJPv|o,=eLqKSˮKm"d?\~ <3e*y!5$-ߪCY`x"%/ýZ.uL0Ǟl 5'*;>L*e"(8ʵdPB5iGe1(i(},F9 2KŒ\{il}p.("m{U<=wQ$/bV>;/o oB+F_kPUc_:0] ֽ1euJң&<7pIК%dמ4$`8Rhi#{5ļ) reY@ǃK?h6.=k-^;@1w5OT?e:X j+!^=0\QsA?^]2S{"|8prY$CC}fCd.c5'h1c: %~+ W FKGL6:Rs2mMOt#f&7@e V]')USB!= y?$9UIPhR^XAوȧuׄblV' Q5t&CW 0CR[iS"JBס`,JG ;7OРW7T/~z3gBy@ Exu.ʘ'CGGؽȟ;^ R@ց(y=O+,1͍҃jx`V!D^T}9D_#[q%IE"i%X ;k/>JnCFQd j"( je"q48 {dkAd: nӐ0x&U͊tj_fP}n(V t"+p&Df=ZgI7Ƀ?n#E%F8Q^nI\cq(~𐚳ٓ`e{79q p~YLB_RbiY6cټ!q"0||_zh(ԫo_DYAwf{"9Q4P[zo{fp~a 7'_p:%2Q%cQ\SmtQ_gefVm h{yOBqu&n.*hix_.bP@j,Ү:8D(KZnNHyZ0a%Z4n ^j 7FڒI .R l4't'$!# rJ2`d.xYee?}¾\m߾9}ipOpqa8b->hfgSzBX>(XLv/B\Վ2W0OjSTώ*Bt&}Q@*ɱ'boZM[lT2jx M,Us|j3Lk8IӋ(ή;5״ٺщWWĒ~5Q'%lQLxo^׀/'FՅy j ѿ=>4냿%@G CZC2j hܯ(sg_)ĄY*G;zg-b*B| sW7I$ B}dZe5,28f_MwSp6Q.q:Y%K0"Ŀ曙bZe0D!!rr+ E4cb[| ėƪRh[sbzuGOՏj{rwx =bGvۣ^|-c[gdǔ@8rd6I~|iYx8 г5-=;̼-&[.8D@?Vi쭛Qi[swԱ 7\=|s@NHӆ[A7J V D|s9ØAZx˖ER1+ M0ܔvZdl} &;q˯q?TI1R[7zB7w_d{-E_UH`g>y֊xT\`)4bM+/!k|ENLiv# `Bo^*n"?ٴ:gBqG75ENEsC|9:Uc*CyֹwD I!^=\IΚL-K+*gNG(IC;E{ vw76-o>/U}raT,%)^qpin &% pNRdAg8IɗzLk<,Mt7/C'u줎3:b\b;M>ijn5Y`XuJjwP*08[.?!;yfvLQlvCǾĘvh+qQ@LFN'BtjLTfr.^!诇ƟO7UeϥzYaP{!fYLh量:6 *gp«+姚)ίMχw)yDL,ruq)7\,/gB X~ aD6 'r-kGD~2bUZ)!Co`υ^tp;lUF=:: 19%9/_֑뙰ŕ+S%uL{#Lם\BIEPY/A$c\XuVؙ1+ǐ뿬\25Ypc}43`&5Mi b]c2Gq}m: f4OPs|SbFpa>XƂL$cyX y츞>s9]ΊjqS8qH~2T |);`VR p^XcJ@W~%d8}`ɓ"^wtGbq6?E5Qov"-' Z :޼)%rK%9ƽs8*?!_n$:6(?h95+ LTI F~F-J5fdN?Ekz ]HR.|nF}Ley*\g1%cVEb\\$O@O&e^@9Ia r@IΔPɯ[_r^#̀;'k@+cC/n)^'oxoeuuE+noGjRR_"?Fŗv1fɃy.l$K{2#i4o.D.Ľ RSqp)}}k4m:.bJ" GwUv`="Au [܉>j]P?s,7ZGj9(1zl|D83Ոn]5@9SYM8:hjN[.{F>"c,syxgj>'[R% |\Ӏ [ Q$1HYIOjv+8O:_?kf$Qwo\N-JEǫDq|@&u#jfKZau%O% h,o3HHE|D xGuom+8#F&(E*n" tP;<{Z@K ԡhA$xsB"G0޹)wt }r8aځь](R:w2 H$ 0 !?R(ďd   RaOO!Ytz[Wۿkr+T Jqq%ҥhR]B5)a״󬣪L'N/Q*9¿%stjD@II<t1C#+7TO[[|g%V=M,4ukգdW6Q읖vd_S܄|]& ħ1>Ob.O$opNL }˅~?J_zw;x2=GFh'nKRN^@,\ s=5_?y|zIP}K߫b%/!P|]-yC~ bf||UP| ؓ..\S.4k1]؅wsQ7BZ' -LP.z&h!EȚ $aZbEɎ4=$;}&jv? ʵ*chSj`ƚou/!wgqA\ s+Lj9:}1ɛ#AbE'k>q^=VB" @Xp˸%DBuF{MZC<>2$[@Lr.dB|U&,qSP/|k3nҭ/(?o\Ceq34ט7AkFΙf̌"D(6N'~CQp}n{<&Ă6q.MBY{ CM ;[EzM`mX) i>Tش|׋я?:è]I:Q[k"iAtD ũdk sH0LZ3/<pGU_%3*$g-DL`4d"oj( ?GHT(?u PlB6YH-6E#OG/apn <;S$4CH.~Fla]YtȚCӦ1λr,M2`y|3TyZ{xN="sKLɑu R V9GcS c$8L[`uP7%`dQijbnBǩV:QE\Xn\ɳu |'oܼVq!u5_nf|8vjje`Uc Ohd*"U E㮡^.;iPעXjRb9jAB(fd^ʍz#yQۊ63ƌnt)fSwV ]pu')ޤ4s#ؖ4PL?K =Q@shTh#b%HXI&1F9 !&F\_zE(Rj"5@x?bL Ofw d}ZKT5Ω4b7H2":I~$|Qr D_d_G:/."R~"5;FF$JuÎY'ndw\';X׮ B~߱7Q/oKZTg%߶am0QLujd<%&J&+nBFF}vJ*0ӗ&(胤ֺf<}q {S4֐dqˠJQQgAǪUKF;IIi7_ob"~~pw!~###Ҕ& 7D I}f ,ӭ4H DlkKÙi9&6Yr[1$7 &2(^/߳(ĦQEkH%q3Db$Ǵ8AۿL?c-6 pȫڶϭ)peBu9Ŭ,,9'*ctI"TVt~wrmXlmj;y'L 񴕙@3K Ik}'`aQnk#ݭg]#{5f`s^ǵj n*KwM^G`hOi9Pw u; +c^q'=)cG KT2dcd $?fЇӚUC3 d++:Pms{ʥKY5= EHgrGXѷ:˂#DJg̷@IS^/) LROuDS26;s3SZxp2)X5_}v"&QYfs"mfqce(A״t l34I8 $AYT .@̸zY"ě>uWSGEm^^ W^QnFyW"]GXfP<] ¥ !Xcƙiµl$n^Uآ3ƞ6m̝8OHzDd9@21.4{(A7ֿh7|QXrV+EI$WJcb%Er6¢H1ѱlj \$[#O a*QrH_HjYiNnh#^a{:\!f{~#8G]'J՛7xn|p aقEsӛkn>yF_',qWEHw/#KQMJrI =5z Mcm8j\ %Zp]Yd֍M.:17붺pq`{>7@|N|@*aSH|X@vGl8B_i Eq&Zk\'J+^qוi8)_1VL6Zs|n׺k1a/RLk@`r۰*g9?~Sg˸ҡ|6$$jSY-Tng89j!E-g8uZ U@5%^GWP̌{ .WT2 &W:oѷdUtMśKwR.Ǝ–$TV ͕.Y r,KΦX)QC9*r_I#m5_B5 FsY%mR DqZ6a*.al\LWe>/\!S99/hШWEvthryZ$"գa`Vz!v=⦴乚5/sZ""٦ u8)/_qn\.%\8@ƥZٷ*4U t By*mm]5滒Vj>x !fMf8(BZЉqWIJZڊ5Nl .e`\%/zϮ4>KǬX4*7Z jğ\ClC#s(8ٳc4:|'cP):69!zAIVTA. Y%5ȳM vA?i@ =Tp^7Ảl] |,m\Da3TN_R5Z٧~\Sc[֖YІuX˔'TLYVFZU?ʱՁ-r{U MT]6ŕ33a(Ac7e J" ŒsaFk&aj^ECֶ =2frVܱe!6n%g6>$}\noVø?ο{sÛWHz?LMj@h8!/Ix"<Rdm%!"EıK<=y@p(TwwE9I-%eL>|C_N\b(Ͳj4JG9bm=+׉dc}y0/p,r,.`" ;u,J?aX\̲Oټʾ{K@$\wi D%gSzetEoAh技hSAC7? 9e:$$WM.K "AlZ#Dqeql] o_5hP'P\t_# bzk%/.FQ_Qg$Ƿw^ŭ{7a!NCrp(D6]Xtb%%N~j%s4Ԕ=p]t0MS7f#Q`LS'Jzf?{=|5Q=x4sW,TKZ])3 "%Q/mTwt+T^4L -VȠNFL2_>s'/˩L>)JO1SQJuE׫K!x6)AcNUJ T'@ͦbP' QpNuWE-].y\:(p5rvd ]iҷt'vIEjh<2)!M@33,)%r~SZ Crی6ɝ6|TNВ&Ƹ9G̅ڭf3 W/gDwENܱi [M P9fS%৛BCj]Bnh#Z ϿA@XSB]JvJHZaLgV* / 4L\4#y._úڔ~<{9 3=T(%\fpp 2BYe-`Y-g#MKWimM" NU.*~2Ɋgx]PUr)i{Nsu ~N| %spx'V x' Yf|WrݬU4Mg'H|w]K*S˯'S9v.]`(0Fmgݕg"3D0&StL~s} qn:Da‹O7g^b 9QGFHlU[;MNN|@ѫRb5^װ:L}vUk _ЫrQf<^_)"]KK?Cٶ1@Ȋ?GrrQk-iE G2q0l3L0E܁P\7o5Z6hM ʢHcfJ3Ѽ[Ƚ>LF8O>$pK΀%L[p</6ahԪN.`GS?-16|{p||EQBqq"! q">õRo -Z6UZnb`0Iai~&v#[UPDc$eA EM_ 4DA<)_ ygX$EZE4?#Ԙ- Zoxf=t9PGv&h.pj"`⋡'%; u?< l9N_]\Tem^?,C>8motz[ۗqq/XyB+}w_ 2n|JN]sdؚ7E$6!=\X~k3"Ռ;h_j!P_Zq&Rc(HI#}o?f\NjZ_"L2 fF4; 33\?pVbŨ+?Ý!IVf]ѼVȾg:1`:q+^w#7fJ䖔0a-hPH8f ǐ_S.+mB5mNp&Sp-7Ȭd)S=c:^8qN? 4$qni5mpI>VEU9EH++c5XઝU)tTjCYHv|<_A=d΅>Q^huG Z#B3'MIL0j=Zғf\.'YHB )%ȋ]?GuvC wfIG_r;'g`G.^dғB rz!FHxwJMkHԗ19Wzܘ_(Mi?Zt;5_Ť@,gt(-:-y4VMvŬ~BBvq;Y@>jKN0#6SX6Gȅ#}o\lۤ<n"2!r kyV%G8>&:|Ѩuwj\7r\⤸Yʴ>,lz1EbLV"y]BWnʇiX+0Jit;7oBzKxz. xH䘛L8fH|C]3ls.M<֕Q5>%H&gxx=' 2Ij2@b c=4?T-9'InL:_(G 4o q WlI#B&.ր ^`-3=ZnV0d9>9%)= ]҆wKZ~',"Id_?=Cz_!Qߚ=hR+.4cuWZLڕEjDd̮dIj} Z_TM?SrM#k-HL0gqK{RpXD(r#HYi&3|-0++8#8 Vlo lUڏrB6d2+8Tާ0+7nyVbuey\$o$Մ+/j-gǼJ N_ŝ5'i aba:*,7$$)uv[fizDq4GRq|%.f F=)^]Y:T;vF#]IHNfr;mX%."%](61 hED4h~F w_']4ґQSp s@݊?7ܥ-erׄFhzM6bvׄԆg̪bԢUkNh ( ,0R5) ogd=xR̮ .(rd̈bUB;`Рv9Zs~W7zj4P3)wJŚE-y-,2+SCJѽ#N\Ǣgeqר74(Md,PdžɹgGۗ ja)wF%u%GCdLbv 54I /Tb ]=\VVmyriϦ@~*b"B~5Q+B:Q@;m>^)=OW7SDJ z] s*}Aҏ-wfEaQY+Jw}1h"9!n\2aY!;y}.U1F;8lN 2.F3R4ܱޮ鎇?(2 :-dPf~;H&$R"ͭ/57qO wg&6ZBx*xq , 4 }.,GBkz!qJ}ė"'B,=k9pS&D(Bɖ>ipD[_BF;js^;O-{Ib&sC3ڂEn:Z1%!/);DM|?k񚰳SӼ$>XV^[(\^ N9!xoNjEIOrd4WN*I$NueZ.Y\15xPqA~Wafoci\CUv={MdK_!Cbzuv?Nt&2:0fCfC#y`U\y27X O Z#h +"dñbyQwWAG) \7,hb536!BQj}U6rO@~,q&$rpt ӂ! Wbo4 ro1+»bf8En͹*/Zؓ\΅sOPQC y:*&~7h뮦%J% 8a3-jB/g5srvj  hJO)d֌QUV"*M6i^*f'{®Z0Mkwᔾ7E莔k\BGez(?tO'rl48#߭~z)}+B=$$`Ji3*"bʓq DQ|sd8?͆WABDmG)>ϛ;͸<`0.kǬ+vc = N72]"]~[?@:;x`4fĭFlf6-gV" ΤzȚ#;n@Wx7J:&hh/m^WЯ^Ҩ. 4\f-E|*06h99dlI$[#|txzrrvt~t!,F<̒D UYQCBr2IcH_q΂f9( T]k<3GJ\Rm@6 HӒRco[yP%آ h\>n{iK;'#(X t>>=y_W\gK M!p8iJ  tDPk\̀Dԩ"wZ &^C着Q&?o [WgעCOq5L` /. /mP*p4!jUm!pUs4/sa,33R~&E]$ghJBmH: ^ fmL]^-.Jiq,4GGwkpAkŭ22# D3, 4ހV}g`A7cr.'jp> ^ hB/ kj>*eJNe!Kir~Haf3q̇|S9\l9ގ ̗lF\Q1rLH:qm{O=nd%2' Y:yތ#%ŧ\]97DGŘ_Tw$:h[%)FRUsܬ7'3U/)ãwLAsT"NLҔKN$^|aE*1 iPRh#(^]5*iG n,1Ųr $Ʋ& mBQ~v%>Y(7NF'SB*ϷZSpLik6︡iO7&d ^7E#b0™ | Mp7HeDsVe #v;t?gVjaՉea:SF(7b8j4PP  罾?`ء@gnrc;Ð3k9Œ:V'6 RTա{L>U"O.OŎ%.C[ ppx'8+ŵ!KTh6 :L:t0nϖW>M,0Ѳ! W_@C[7)=Z9e0C_&B?1;`@@@ jkSA^;Bj"zE;.R&: "ՉB9}€X}|0( j~qٌIJ%hAvN8+i ck'R&?jG`JY @~[fD١[2Ko1ۯ$$3^B>%DS.ƳԘ9oyJϋv2X>oM6@p4Ḣ%l|ׯ>9=?;qシQ"UWhnL pºl%Md5YCwriR|NPX?B}*", vx=4ʃo^* 2x!S;(豠;erQg¯ȧ79Ex)'E1ke ~Yi@늽EM}DcDLp/fN J,^xڈMi}j,w#HYxBj(oojfqM4@=c$}b뀡vn x. 'һN{q/!#2 ;?KԝĉrZJI|Jd\t┵gPw?[}<͜J ="5+_p>&kZ^k!Ӽkv= ]gnf{6BWmޱ|m :W;初|i.qCyC LJWvMa^Oj~篏ul|b x\j͂w?hdgDSy^ث:yq7C T~R*[ifH+niq8EyIK6~T,%4Y!mHjDZD=QWN2u8_Qi7 )A͵@~6/H60B_i0K)$N#3̱fU$zƻoFk*o3-a˹C$V""fH$0_J۱r+Xn?DV@侙EHžZd)0AX C zWV` "z-67^BVm}ad3ING%)oZ8L:=DK܎ }&<ЎYt4 wbJ SN/mKV>^ =}qB Ueto?y3mfNhN)@A]D XR䐫pU5ܱ4VL!qeue5_6qo[Qh˻lF~#ob%/fGCV dϲI< x `^)\N BB*%OH }l(ޡzQD1NoU 9uDʬ, y{ûÿ|{wNK>!!|n )91%֣t<`Z|S뮮X}yurѳSN9To\<#("_x\x^]z?wX*ڣϣVaYo^HZO1k%^M4ktNrvvYi1nܼ7t9մG] %m ~sJJ|LnRѝw2؟mV\2vF(_f5U`L|Î=]pP>~嗇r+[C~Tjb[-KxU]hKa #X~P\2#ra$?D!en uS %=MnzT^y+%b#7(ŧ$D;§KCZQZD/{EV7K "C1.?KG݊FH?ڎQ45g6JFf z x1H%g\a* Dm죇\;'Kq >Rǫc#\]) &^T/Ui-*q_d{ ~\j:P=aGϖΰ8OSG.4>+>"uOwYw5/z$BoRU!yM{CFLG~J;s<V+vv6\BVE  X~A !` c0y?1ŊSA8d)?oEHZoIq&_ntUX}20K#q\EbhKQ+JHdu\Iű5;euOΠwDr(W9#Dg@'?$36nt"C\|$n5C%I0,h&, ed}&:C3_ͺV)F(C=#bAA~(~FNF7϶OMXL]M6!`Zw'"]ø"EY0Ǝ3 x1EkX5nљI2eNӮ^[_z[׺vLm9~|HOB i.8|H`2Ƌ|YUu$vI2tAUGiweKYkW%WA:v hCڪeS"gHtuA?T2juتDW U&ELS7*=n 5.jטbzEO,3pI^ V-cܼ-]zBhG{ʺdFzH}p$qyDuKye2}5QEF}mgזnH-pSdx"V͵BJz% ZbuG;yʻ \gFHyQxT?$/K0W])g~8ȤÓb\0?sjkW6z0v(}lسV78"Iv7ai!/BJ;WXo2Z=)ֱ͛X2F-YQadTg۳L'mYact7MC5ԲqhpUnB4g(^;AFBq;lD4(bnArɴ8gr&3PY$H \Eȸmwtxy;ծw7ǃIE (ʝmL*]iR8h)Zc7o &lKwpC0ȇ ۰!beQSRk#LreHbI&" gډ* uAӈo,Nol޿&bDykm/* ٝw%FԽczi/CN;°x2]h6=yWJ!M9rkcH~,sB93?3Ol=rWe)rBX3VC+B,9vx{Ow{c6]oLFqvl|}΋mwRLYCDo:.ÞMZk^q5WvU TfW#9Gj/]u}oQ̼Б %~&|e)~¹i޾{:#+@=Ť7Qb՞ ?e="DX-t$뵲Q0qSň/y`nVjߐ6 p:ޤ{ C_V--8s1&o&Eh_eŭ47)7CyыUf(I]Cm.M*+@*Hooe CivCMH&7JdG=$#rB<.-%rlaF9,@#IqR@7w&I$atnV#M5 }KoѝNq >u3;+%]S<}ZG聶owu6 =3렩]X=:?+Y=YqJy 8{>";`q>e nVHشg Pw/ )ZК  TM)u>) Xp>!iqIKsV- nF.] -)i UDa޺6ξ+sM>eˍEmRUm.k;Tܵ4bk %0͍G.gkK\ q JN]*p% Vx#-91I=@~%0tB%?\/=}Ns6r"|tG̸-&#ԃVT, ·j2 Z~$2q694C꿸(f@N/b)y?ҿb3Ϋ%!8tW%=z߲+X8$aԇW%vu zyE̮CW*ۿ]o\- j3e_@9LDr-;ϼo} ,\`=.(h'W8HV̚oe73X;CH1wTз;E" S[K˩2S>X )KPG u\L(3 aJ_ػ#4P(d#cVFJ*s CBl1לU R}#)?:<<6/1 b vTuLrV@ﰘuJVG3.sVősJd̛DQPq(+"Z ߕs1W֢|= 45:P 킶rst.i7 (G~?Ls uQL墺nfAʦ!} f<<N v?(;?not>eJC9{d/_Jb&7mҗ,]~h?ytPfpUAAE .bie5o=sK%X!uqkIVZxXrΠ0[kѓGʫ)-|J.QHШ. ]#wE5v1`~D&g|Jb;#D Ҫ>dv?G'n$F-zfĄi  #iJ277{7ҫɼZ|I{Λۣ]ܤ!::HRIq'Y-Elɪ>nu Oru;䬠*{d]A&φQh 8dCWADtd3_P&>@ѣ?՚hxS㔊i ([^Vͤ%:a`O l eI~)t$Ey̺U'8N18u(R13aqRv6MI+@g.YubW2Q($BX=Q^xc(mF-Z}V[BgԂLB{Q . ޲Fw^rv(j9okQ+OP<3&s'36ҹՇVK vwv) C}4M<˜+3.}>&g=L ј ݓLϢ"'*:d 'L"LTr߷o/4 4'y$E{p^ J~}7#yJvi7贈~Q Af.;[ˣƒ0t'UNn\]x Jebܳ=YB8C'*wt(.&[PX)'5<t\?VvTۀy^;d 9A4bϐGX8'ХxK*g]Sd.-nA|WA PS%e?*"2x{L)FSJX#N|Q&=:ѷסጂ3 `klO;3D [Zex,̵əFʏR}; ehEn3x/%r&1 `<^a- w.,pP03 bG^b<^yiq㭇so18Q.v>^bߝ$~\\:եYTj`ZdZ콏rȧW8'Sl4[sJjKdz kבNHB) Fk|"ղVg=5#*_-BN$/"'Kv}p&?7j}۝BמI%4+uKyD:XeٜiiεHsm-xlENZOoce@yJI0"@$FQ\xT1(J:͑DTAf<%@ l) GB#VV;.o3z'e&] W4duÇh`H݈t0R+nPr/1+-E"q ==1k(g'U\ƢfX'Ȇy8Fۡ{׋~z&VuKXj sD^Ӗ!RmңImUt1脖c15BUHQZr u̕Rq6!bH#!y%94Gh@ܞ;Om72Wvx}#M3&g!$9ߴyrHSe9îM9ԂN!¦}"Cqڛӓo?=>цҤοdBqrg P86o|ilmkƜ/K7~˗T)kԬ,J]?|JNf)+W,nT'G8F6W^#=e"z@!!tl#uzv!j4M&@WrBՏv?M#P4 kh2q`&ך\0`|tS|bt6.}* H CZdY-ܛսTFI2P ; O%Qg9p??\Tyq"w#_nsي/(T= eB?}_,x0.+YLƖX[`Cߓ/RuLug#?'MKk U'q0o7h7x*MjD## RWp c&;[{<D ~.mD?|1RDR1XMTdvXwU5qj=%57p\:WwSF_r.sI^QPn aւ/>Olg m!1>A`hBk|4]k(KґP.jN^KtۤA'X!mLbZÔ%LsG:y}Md>vc$ȒwI*wl|m阪~sj{¶GviެF`.F7jR]ceDW1s>WK I+rSqV[a̍8%*?  F!<\vaX[`wRqHB.K;alX_|&i1SnRH_'fui ewfpTr&ZC"p nX..ap&gPKt"O9^\g3ˢRoaĩ7$^_Ey4 ş?ͩ\ t)z2|)ͳ7_X]|2K\, L7k~N -!G{Ʉx_-΄^˶'e9q(/QdB 2l<(#kH4 ߾fB#vŘ˂lthQ1U>DW)4}҅N:#W̼eI": 8b') 9U)/M6+Fj[LK+wf 9ۨZ7cups* @ #F~8l y> !wVB)J)uޗK𣫩DJMI+LPh+OLݍ&1v& L2xA|s0.d> PZ_N)GX7_jh فKfn#un<(4)P>cxY3j4AUTfQV]',U'Ҿ+.|IF< "jt7 Ym*AOB"V k/r=gФ1uDy+C{A-Kʭf P<D'yV-QZDMf3b@Anߎyҙeڻ/73r)3&2{6?UpYi;ܒ a)u/2,hILsm>JtɂgOM/AĿ#ǔZYQ[M7te-Cu=EKk&I0d#Ϛ\ί"p@/d9XV@=/#!$!/m`E` K 1)όȰEpPiC[ onJ{əTrvut5k>+A,ȡˆ'h6?,v#<{YN2hrFQp6`d9sJGLyLYLU\tb<*]PͶ*A~%;o 7E4hro^2[0v ~4HR]YaTR&؉Hx4 ᗜ_Q. z(&ejxdyn&n[/C w# X̬F}ka՚Q2ݸmq=~E;VQ;wBX]p5w}kN/dt0aΠa&@KcLn增 L^-G?wXJ|+Mj= 9 ukǸ#OwƓwD*CnCFrj_;s{Ck4KU~5~Jz!SmHYL'a6K8v 6iq))p$^Pnx%C\ -0$F4K"`̈85L3Y56"kPԎ?q917-V;Mб!)+W*@ix@\^ըLXo/; T@EIb)/GR13{*1Cj6͡{KΪĨEzR e @@ iA/ Ҕ+"To1H1P{XҔq'E3$z3'Ѓ/?LlT|DUCp ŷƷOsQ02PV"j9BGg}89=9ŽjF4,ivk4Qc 8$NF*zD9 y T^1 k.OU>a,;4~ %o{ӛ+HUZu( RfM+%"ن1wE{ٳ^mZgbDB`ZA>ZR v#]ij52 0 ~>liw69j=Vj%dM[5Wn&`jQ{d\ʽ#!Lg #)2(<<|ՇδS C4&_J 80КA"P-R*W_9Žt:e)KLY5o[pd\8Ŕ2\lBf@1o.~b [jCaI'!={5cxdtjvz=@p2 oO8֡3excg_6D<[S'ehi4aAf$!MϚ>Ew%rr*x5gg^G]Λq:F:9H;S%QUGRւiP+P3Fj|VEG@K_ ڂCQRC`7I_Q8~zBO2sD’yc8Xuoͩ@{6"e#q-ѻG$([D'd%鬥nH6r8(qZ~U~Sd쵊ե~/`u9Ί!4̵w0 7v&rMD}[)),'K<'&z+ <[Cp֖Hg+ƘYe1µx>nj z-TMDJh) G@ͧoo ZK()% Fv`U&,@BK e$Rn/T;5dxM7x%nŇư: ,*N)rW_^[oE/XδrZ'Ӏdq*9zI)EztGeAR'xX{ji;Pt7[r(jyd@v@[vE FD2줞K*ꈍMy[y Æ$:o?qǒ5k 'i}&T2؀0N9˒4i^nZ|7=:5K&Eiw?9uI]5bD%8ŽE* ''!uY4־ epvG>">ޙr!__p7ZA[9n4foQ,[!wփIw(ca"JGԭdO)\ 6 `1wr!4.7oz H^?ca7= ӯ~ Vy ۝sXq1u>,$\zX'7k9(IAXЗTæI;~s0F) b c$SEe5g$~i2IjԆi#3#yK'HW lv"q'U.xf 9̄Äv19Wd`e?d?4XL>QKp:S+(|q'4:XSWrÍMF" I/R>D3)nphknYvM'j/`2Kf*r*]|#>QB]l>^SjA~ow F+T`VikT#{W3myU.r4-9Ȭ*-P`JȉHsT! wwDb !Lrh\p],[>ms8!bחsC_#/~žN%dBGWu h#=uI2nS֘dWj!g u믺c3-L_bG:|*\X.R7T ILiKzBWPDQKnM ~ˬ7jܥDx*Kn+dVxRHP'I}s@6u*2 xqj]z ӡu+p)=[/{U@. G%$"DZik⭈|SC_b ?ȟ3\@HgOx޽ᛐw=%`ωjNjc3+YE~{5k?ڱ㺡Zulo||zaJ#\ZfY\wDhr` Q0.=-;L00S!%&.>+QPV8L|%3fxkng. #z-GJC/ ͩs\ةwlM Cڜtfeg)΀$r63zA9럃NΖ⣏=$ c޴olqi-ϛ9bT3OPS9]MK `@A`11|(Ii&o-1dpDͣ@GFmvJҰhC^.ߕ"]6v kϝ 0MyLZ{K^,z<.|f[‚?ZXHZ6N%9S% фZ(w gMlmF%d 0f TH2Z; %!:e[dyS2kSzds/ }B+UϟWIX;|j67L4é5w 0$!G[JC0DvuU[ p}6Spxu55D=yG>p%g >2-Xp~Ö"-1O.+)N u,,iƉ260V|IwV!HV*-Yy1= ڈ@'=p=4(4WWY[..9 FiZ{ h.knY,~&k͏"hp*z.8(Qo 7d=~4=vdvAFGTr8Ws 1*ªTVϋZLUȦNКJ}j'R xV1? Y=:nв* y =w VK^8 $,g7fL1VT9y_KP?fKŪ+*&Fi#ZjKP^ I^>Sh(^'!s%&qs Um{w=6 owjP>!F~8J 1zT`nf)TdZgs}#@ &ȃq~mX ~XLp@t,ij>sF> i';\WlĚf7.޾DpQ 6@ʃL֡=AE$ۊ:XnSHQHf %)PV!C!QMugj+SƦ(Twh#<'[pwsm =N#Kh^9R^#pHu0p+jDiVPR8PjsD,\Pg'ĄF7PR ŲD.kНv/{I-b/-AGjJ=,|4UU_4˘vGj%a",UӚy3\nV_x >yb9]yow8N86UkD^Z9<-CL|%0p6l!‹ \Di 8tܪ&=z\0iuK5S\q=}< 8?h.T25UXT{Ht`1Pζu,dN 0# Yb z57{N+b^Bl- Dzk)ۛ Prd5O&u֙ub지_-_o)( ZSBJM"1'mޝQNT(> M^/nU Dڥle3ȩ? znЫ 0{ @<|**GJn^&WT{ë￵1UD-;׌IcO [j*!)FÉ0_BWEͦwRWT+}mz …G0Rnnz:SwÜPP ,.9tJ?̠,lێT'= ;{0Eqnx-cf@9F8;Iupڢ~FU!졽4?Ы@Z -?P6ׄTXRě%D+\Q$BQΉkTwvpJT~rQd<Ͱ\M/U{t ީ\OFfb=YJ +Ϭ]H. _ޢT@d8B%荏i½G-KMs^zl IAW^tcf BpPG ?-g޼_:I/V ԗ}"PZNvhšjIЖx$MY(f{@C ]pčxsu% #!q1Բ;kjkYVT#{4%+?R,S Bk},ӆ)%JKNdCä+5`+3F3 ,YjBh$tBԊⷀz]kJ{Ä(ב/Qa:):>3g32b#16(YgQ[\-@V?SpP(L'4,ei 7 LLUq)u?|Zr`k*rÝ_|7tuo~:G??7E/M3\ L?/;K|]'Y82xw{}^L?f膑y8X}zEǢ?^ugv1XK븬oY̝3JQ .UԂ$ {(7bi6n" yK KS3<;HYf@JƅRH_"=IGRu2boFAn}nIɈ"1²hl%Q^_IJf2ݯ&O_Ρ/}V|}e$}ۂN Eh5j1E"A\Q'ÛEY6e3Hqkks@/.l5* {'0ѧre:zsy[V!mIcuc'9?gh@Q6'ӡoV .-)Wb*Q:BaI8%ڣ}փ3rѢ$D'rpdbo9wάޜ㓣Ϋ%eH:Wǟ&!I&~q~! E٩Z".G2h8Nv )|Tb&Z{tڒӔyY|w`llL} !co>b@~=Nh|Uq*q/c`*;OzK rog)UN}koph@VQ k}}&QEN4 \Zu\VWn$.ܶ+i}{rqNY00}&Lͥ܎cONѢk ^3ά^V~͛dk:ED?aUCz0Eo չ`k7!ے .AJV$#:^70,!I9a:JEea?1q6l @* }Nd>Fj8ZRb.gJ$ߙ^v~-CDZ3\:2 DG@RiqQE }bn1*\C"V7N::Cay"6oreR9EBƧ߷ivjpv,!Kfs[& 7Gs%IPYp\vV7Dc(/:PBS\t0s^T.V\.6+9nէw/MK5qH"yeQ2a\DTQ/ME^[(]~'z>!q TNL HTDŽ[n'bx5}_87.ṀmŻ|U J/ fڡ!Tq\Fsq"Eb="mX|aޏ'cɪs˪m)@9!>]|Dz2j,LfGXFGQ7R&ϭ]MMѱlN}V@$]9/n#M8:-cX--ȭJ(E! ݂xNTr5,U@o=='ʝOg9u;6g=/.ڟ޷ߟѷm$k YM_NYU uR⠚a%UX8P!806YBM.a.1X3Py$L0{)A=;/$[5y8iT_1p*Bo 1Cg& ^ .H=b<R ^f5E* HҬ<+4Qtr_7? GD4&_nR[PYG?FT'#x*-pג"L)nR]J9'$tyh =D٬ц~E5qify9U@q2hFKVwNei9n>C8V,' K 1jS!^CBAN so4"!sX-MG"~SFrwMKI{-&EDn!1Wnop#K3y1-_ c؀u2DAav4~`%.$E\ Lj,4GL 9y~ ȎRq/kEᆡ S嬸2wC7bS%MYu}`Gۓ0lXɿQD  mHxзrQ [ƷoB j{2>\Tt6mJjDS3a9m=h^Iqob>`cYwpz72-|$8F[,ϗI:M{plط_$XBOoG;y⍃ՙ35+Ȏ~8;p!Lrg^1~?YsFtra*(N@*M=~@STg-%VjPЖtKUd)0I7z.Pwva__,,;$Swﴓq4ǣtqd#J󹰢1̇vuc= xO%j6#̲.+4g^#sVC4ɴ8Sf97H MT*}wtчW ;I" 'w=:98G;;+RJ7ľоdR7EH2ĉ 1p;Ql~ 8஄8;Oup 81CɛRl:KMx0-2Ja1J}۶WW'ʙ:=f$Q?01` _vQxW|}Ar|(Jh@ZM\׎#%!I7s1Oy' Kg; ioo>noۻ5`L vELۘ!ѹ_ZOo^˯( 6ؖl}qWN4!fGz,mHQo3܅FhXXn g[#M*^5@Vi'O6 F|YCW)1' 9ah7K6<}7:;lط|O|"͜Y\N,t&WI9XV<GxtRaEX/9-=@̠ KBSlU[£#\2yLYD˛"Wc̈, JdAL(.kXk0&jڮTku=F?W9_뉥aˑܺVŸA(ٸc$QQϽy$^ħM!Y4:.HG‹Xsiq)F1{WkЌd?ZIOjNUDzZ%!yHVL4Ғ w6tvzǀy.B`( -R?ĘQF7u*k0§QWޖ)zajbR/t5&c&XMՒ qܵ^i<~)N+fK Hy^uJρy|e $Tr4 |Q`\ȴDf)Y7_jHPc|sU`X@b0[R xh:'Ru%cT%śݚ[UsR3BQT+9',%x+w -#0w+kt0||=+d/+d%y9Y C]y#ّG_K_6pHף|QI ZޛO|Bsfb٥CwV\At|TěU`bBdo2tk.x5ᖙN FQxSfa`tBkxs<5{Tc2*z Nr K2 AjAYU$(#c}d=]{=IL]@4h$߆Px/;yw)6/xZ-i_Jbl"9~ !VZ&B4zzWF5j8Yb (s\HoPi G푵'4uI.b*2>Dq"y5W?h>S9U/6Q  d;9H"f] pRH7L:zEZãZ/9 +d03~o,;lI\"!d:'3t> _ 1l%)_#a{'_0ױ~=^@05X^ϪG񔟷o]')K7) b.b)2;38JI&/7rm l!ŹZdvxwy.zىKrlʁr)Ψf&#rur~L/D>:l;Ӡ=g$vY$.m^56 LE]8n^1JtAHjՌe G@K#LN^\]3&j\ N>nEÊq(JB\ؐo6ɉ%}Dn߆ '%9-Hj`eT2x@7% b44݋8tu@_z9c>{tmĝ]Gj = bJeE:GW66_aZL&[BM Z1@6F Tfɢ{&jQ/֪ 093|!G S7.|0`o'[$5𼄫*jMa,"C*kv.:˔JA%8 .= ]F@_3xqz]wصZ&"h#%FhH}qNԈE-+.$7>R\7|=!* 3KxFvϢ-;V%N{11WTU&Uu"ݵח7SVeW~cWj Ώ/vyXnk)3۫Ԛk}M|IXQSlRFֶ];/1w(<3R D9$WDkyYj1$dS *S92ukE+%aL2sȓa>)}Q@-\0a%m4\7"if& *F*xK,W܆psMQw'@btęˆ|TGɄao;^z<,|=vޔ"u0s!B@,F?^QD1,M 3{ 2@VsĆDYo*=CPsT_Cd1. DžҘZ3.oΤ_N[|u dDZ)_Pik41|_{^ޓфG jn4cq'|3BWY* [L<Z@`ݫhk!brCFN.ʤbY$&>`闾9Ns骰0k~En;Qm)QOmI$hiR(fxC` 'pDTl G 0hU!VGz pOIX.eM]Q8cBqLTKM Wʾf^u(-ש8V`BA.z?_L0i}›Ng*EHVMIY 1#ńLlS>]ѸyGl*ff͖8"UU':R xct!6$gC3^+$X`rij g#g~//.Ĉ¨ч/聑?F=#3wC7bbaQEAHφþV\>O7ydt\}$ [|p;s9cd7ɼt<FK+mD4=Z9pPKLi0ݚ;pՓ*g uqe;*>jm1-P-u>^F]?Q+{epL#F}5J-,$uBF bm L4%n-U0䌧s&tg- }ܹsT G0dxۤT~laH@ {V@_guqΠs璓3/P$r(X+(.cR^VI‚:Bo@gq@G6z%vʹ*$cY;ݍVGH[rG$e: 8a Fq#[Wwy:NB- :Zff*VϺӜ@iӮxE-?b+p!{/F4t6<{M7 %pE![Se{>kJ[϶Aۋ]0HFZ(y{ޓCcj_y.[ .ր(;s 5kh#um6].pI =9~W0hW]s+n>{h4W$*ͽ 0RI?_" |I jC|Cuphqs7҄-Џم֌FB,(->V~ʢe`$D*郸߲Ϛ}X}YfN\9~;D=oLV2e F6=&_ Ɍ%]xH!M`yE19|G5fO7Yal*H:ֿr5%e nYs54{%Tz*̹C ֟K"6k`l,.inL"ѱ[{=&Nx7&1^R~ߤfV2wJ{{t?_gzZ&⭟g%5z6Jf,Y3b$.ZT'$: ۽'rɭUR]\>._Y-4t ?o [io V*x-B+Nɭ_!_>l\?IS;Є$-w %_/X0G/MMgۤ/f }!  9X TA!0tkq1+ "DnOi}H x;^iXmjV^HDq.7%kT mrNmtOY/"t?pHje?қa"Tf&8b%1tS5*dɌEfLoC9pS ?uj`l=wVIH΀frOQ!)r6Z]!7^zۨW j?x-B4m d'VN+qشJuSplv|O[+N_bY&0^& wiB=9rpYgUiF^r6_Q31/i:._&/\4% {Qv•QtUMO}jw)dѕz]x' ً7_K/`u^7U-M(~cջ-L"Bn%}B}I}nE Vع'㶁oz QYkt#,ٍF.JSW /+#s:E9 P^6\XVC{%ɺ4g:Qln~[K8g-qtgsFHKMȑf$"=QFYxe_$rU!.> g.FџS+X /M~B l0\D& YNwy]gNZTQ[.⎫1U_{\*kg V3e(CW(JN&ɤRxk.d>ayL&yOq"y 7'ru6u TZm@L|Ҙ"~Uxѝx-hdLəL<$mqLD@*PŎ_EaQZOp?XASVK伍9) קZZ{ڟF\s9^q"쀫̸kE@> {MOkE}!6oboYE>M냉9[o"9ˍ߂عQ-]!/𑓏.5%c oի##ڬɁOΓ@E9/ Ѫ!R$4 N# o53K{ժ?!;={E_V/IBq$ik6 i,oІ}{Ѹӆ_g˥"J2;,Mj2:~q^,7e1pq5?}Zpqris,̳-:Bk,CC5o8T&"7w~Ø+8\)qkm" q2O:M&3p>גփ?UQ'cyl" M!2UTƥΑx&G|QNF7뾲 >;7TyET@ %- T{8Ȅ$zpqW SѪ @J8;3+Ld,ԨS\9&Eͣd2V8*2/) 27Ói[u䌔2WC՘ڒ"ğrq0@T7ˆ"vg^;e$N_ϜxNi7bJkTɊ'KGU~wf\$/)+Ĉ, 0ɫ2dI""qi&u$$m4(q9 7ޣs ԏA_M& xBO!7aLH4$3?(-hj0JS ⪓[RӆK5&t!3"_~ Ÿ IELϱ-Vߘ}&DU?Xd~!wύʹ߽,+@/-!H+x "nH毓q%]L'>C.0XRAӔ\ \V#.JI9B&4#?n?N1[+0qw?򧝵p3]h~^Sau)<Fy~Tddv?ق>sYI8m،z f)Q*.K4|G4FQ*GҌDC? &7Ģhlr^ dB@t(NpG avv;,sӔ:O麪1[I)#M5Vk߆ IZmelnϜ]$ Pqu ];!CEP|x~tvrhb1 Ky=CL4Vs!=A5HLnJc!%4YtUGL<臐_ZY!EnWP`Db B,#MIRkA%N'LYN"z|[%Gv%d@tO"{ӷ7qoxkGW tiӠ4(iʝIiM؏v!31$P tᇃ7o2*+.aR5n➐۴O餟NAGUa}Wď; |Y<驃ՁSFR;ۃ{b&KX?0aE>Z1Yu6!Q,#SlEH/ܔt#/ǍNxjeQ  QβJ73"e:JDK&zRX۴I>r+%ɉ"W3.kRx?ƞ#Ym◚Li`wy9s|J׊q o 5 q>du QMQ֩?Y |oOꮷ2.g{@2)zmSmMlwkΐ 0LĉIpGOObD&g\]H Xolg'noI&Jmz}b[5H;OR iws X O3Q5a MrU'fjLyy";O(.5N  NFh[ m2{OwkS& ltNy"{Lu77OK`*EB9;:/dUgߞwS|`q Z6,Ή-i6(\[ wYPN}2EYh|7Q2QP 'ÆoBb'N$뉞 ǶRU8;'D4u=4ac(]UA#w8ƈ" f'8&O^u1C ZDtB0j|uy s?hHn;:맏yO?w+ʝxօ"N4k| UxZ0Ab XҽȟR.ҐA}A50\EdElC dxΎ_MYQH3&qtzܘTk?θIB]LN'`R"s+!55\b$D OnGÑ:9pGO埴/on^S>'ӌ[mZ[X. n~ס>$\)+噡zC{f_ +$^ {!Ik5s[CcZ"9KVgS3 g; }`(Fi1#mEԍP-SrL}Z >UZǫ\#Gz"|zDrY!"VA3u:mu$mu&w3Guvz_m\Uf/*3iZAOQqs^Tc@Z(f߬Fkߋ~q~qzz.}PSßGMjܔVcAJk7&LZ#ReXẌ́?.C E ׋|i8 س\,h3_Vs\YO$8f*3V/|Pm"1R+DT:FaٲH_ӵ#xp\ɗJg鵛^rkD-EC,17 N|iX4r_eT-Kb TA"GWQ|{p !qv CaݳVlJ&%Wr}o7 ~KUp3{;iDH 3+o˜ YZg]\dB4m jK|Pt㟝TѻL h^Qքәwѡʯw'3Zy( `IecX{}‫& _6[HSg-8螪F4-I%/K%"?eA.U$U;k IqLզ\rEy 2|yaYr>9OId>l6'U'-"1'kTf/c=h,XM(R/&.u%RIO__h2MttJ,3vy=,dE]*BAm#Oͩ?g'ƍki-B ;Մ PΌϢ$&wvy͋BXq!Ju{Ap7XXӏweDz}?Yw&Z NΏȰSvY!Cbd#=MWyd\Rp_@Û8숽G_[kH6@›/QڝY \d } ;qt$rfaNbVU: E%% :c1gEe)ˏroaT~s@7. b!H>!Yw놥_ Zƪ= 6ͣn /,$|ϕN4!4oR;Hw2-eB[-͈3ro}i&κ2sk0 )(\8Bj[%]%Ge}n*o g8B)퇣pO?G:_?M~%đ`M](Fv`}aЛ7iDCXWhqV\]ydן*̲|sooSqWroB4/5ߧynߤ‚kJk)kۏihQ80lA{uC}<i\z-[< B~pkE:hG)c.X6"MWi'//e;+ܖrE4FT[@h*4 IzĚ$~DyșPs% Zc"~$B+%]]^ɑC{1JL(#'4H $ȫ+ql=o/#JVUR]v~{z؈ȍ2AٳSngҟp/pS|b̫1TRpEa>'o~N5[i.-Yp"g%HPŌ^w˺\ tk>y/0"SIw> qMrXTtNN|k[ԯz:oG}(Kw[9=KX}RPnDQⰂ,ZŋHt5*bn،ҘwqI.a.\6f<} GX*!TL>1?Ts;# &L%L0HK2'3d_ ?ix:ތvYCkT8yX[ Bx܍V36(["AUVQmR't凞:&ۘ~yzR,.C p/B׀{}`\#~@iGJrND (( J F^GMT?olu5inEH*~"ZA޹.?TyXYD=yI~.ο̟aKxga$8VJ/짛jţ/kr`6%9[vχ'C ߎ; OFFc; j=1}B/ޜgo6 |@$u^X6O`$/i'w|4{^{?Bkqǐ@Vo׮cONr_tgmL w~+-b/Nv|Ns$ҹ@{CS/*9 @# H 7i#Oo_6Ƣ'=&k/0cOKO'#˅NRq&XR t-E$yzr\1i~:K^hdLreit,RRT!ε>$]F)7`.ά&#Z {pdl?F>[?vPoDJt$qq؃ 6o|xy_ƙ2ͦ q0֓mȺLNjnANJ@v|GhgҲW0NF`ȿZA1Keg{?Mpa4 O~S"& B[y$F~80݇>nM)gH?"߻²RDd !ߥó{ՏB7^ov/G+g{]Wł^AE#8? nÎ.ϒI___%w{kP5dZVf%e:F|8u:~= E[$'dj]?swYW,hh@;= =)hs#.˥KY:0lw R>, Ub6pu]zQ%09褵]̥.,.I|#xm0hk?qaumOK+џ$gpN޿=:;>KpCAeU!no'})4~&,xN>b?P!P1w݉^/ tҟ3R@<9gjdb?%{߶;O/;R 8M#Q?xfW1뼵Vf+_XNȉ٠10hw=cbw6JcQU/iKW3w|~?FkG#7"%~=L}[n~OUP|k"蘸*PY\_ Ɲv1?<8 %U6av2? ˛5ԇ]o1w -|X=}}|b?~SN1gPczBQVZZ̳UQx/~]TX@(7/~}7򅾋D1m9ʹCn7c+|0ayC6MU\xX{-MN Ub1V[`iFp*W#?; RlBFB8fZ{o??ji{7muNzQkߏ-µv+5;oK?IJ-jW e59c]wHUx"Z|);Z= x}vC9>poe>@ZȠh~$#T휶}>tvlJemccYwy}t-OVEN:lzR>RC$ޝ#BL)r0Xrc^_H#Vَ03_~pgqoF',TELEcBpGRj \* v{fHo&ý`6svuU((aZrEDCIDeEL7O*..|4l֣a/26sܺAsB/8!훛}$2e>%cjW0F%CՊm:@ {I3*}3f7p0"< ᨎr> r9fa}v>85L#XIwO G-m,/GG?B?|z"|Jx\^mOz4",]٠ښʷ-"ٻ{N{LK'S(Ag_W{wF{% Z$!EV@M@ }ߌbL{Qa!^ȿs@ DAtdVMBEGx&t j;cYsdqc$<i)ʥʠjB`Gm#Rh$o yOGSd<eRDQgt8QWO4=ml4HSsk Gxy/dQgv\ (JsMZώ@?'Scflm;Gjr9m'beG+>2.K˭@e, ^[KF  EhBZhYd'(U(9YM`/ſ=KOߝ'ڿIzYM"\ J,s.H cӿaX&KSh?FF+QaIXP @?fs1UUϱ'jmI&,KsLW#0gNXY}^k]Oy=Bz$g_ gZOr5Qz(ol.GT#wbl{fg+eVS [SKV#B,UwfqEh\Yַ6ABuE֖߰,Dp6o MkObqSۮ ѷ!ͣcsT<̢b ދDLf/KH.WR3lƢ<#| Kps` kMzդ'Eqe0]}ugeumC I%%y#5H:^p}-pD^/1'ySiqA+ t~k: C֨WQ Jޫ׀l¦RJOq@F143{dq'NU4G>s0x7_2R ww;Iуф^I=aQ Ups Hxp ᆄG}OB}?1&(5־K_Y衟5vsZ+ h-% ܻ>6~ݤWvts$"z}t; a(.l I"zAC)?޻qey/Qn#${00\ N-/ɨS @~lVጤЖHLݦ8PBQ~8}aBb2*C2BQqE%zېO6v#V-v N탸c$)&ܪz!$XP\f\0Z7;76f(TB X<׆9PMI"T(6- {uӖE'yROĕ *l{F ~zp1>lWDA+~+ NJ.Fn=QcOnt+IFpuT*6@aE#G1<4@?UAІin5:UuSli8lN/txQ0t [K!>դ86gD9I413 I/@Fzn :Fl?#h| 2heaNd=?K7?;_phbp65&8rQT2 áxK`ȝ\qtPQsfjR%(c%%L=d6$Tv ٤E-P o ?Pr cjEptŒŻ?EM{)Z:)kBѸ?q \9"C8TEFwle  > %3J$}*UR=X;3^TsB"a<7r544mʁQ qU`ݵjq|rA"KHRdY)8VCc91\Qԣlb0"n-oܲ0`Wzz{~*|G&q\;R! nCޱ$֞oASUVq w0[e~PDvvvNP)|bKRgm}L[6pٔr}}]re{ ի;`/LAn*"ps]~Ft ĈV1jռfK1BV# `~ {?sȹň 7ظV%Al֚k۫(R#{l>,;3DiX 8׆;C<mPc0br5MOzjm7[r>%((Z_?_RCq\^U8m(7L=˺I B/TDK܌oE?\n]f#m"a)ĝtB'&R|LEz96H4Mm(MZgOiaB0ē,NE3;&kɈiHR(udDZ$_J7uwV˒pڴ?#/2 ̊jF)5 o_>zroKN=5PlÀ>&}rִ]ⲇ؈8j5amxPF;Lٌ%8Mӭinәt ][kmlȺ$\LŻhoCEloR ؤ ~q]"KB|]4ގGVSYL$8|85P#hnZWrH(l?XuHDQ_-4x(GRH[b~no_)"^<}Ƿ )RwoߒEFz @Rp߅ n7ƼN% PhQݴIS)ѐZ1HpF[oM7*#[IN<9R_ Q`l@Mk}a? H-3-XErcF&ȖK"W6750›58e@F</{dxbԧ- h/2JO!J*m*͉,|*2'Gz?ș&$^B^D2 8h6LV"%e`͓zji3^pd4 (LL{7a$͒$0,VQxس^hpPp}|r-[ rltguĈ'ppEDs2iR1'p*Zq5Y ]qIG 呚(EY2Qain0E޲sIo|C5V']tyʷz|FcJR`xo7ּhOj$+wGI=jaֺ`:(KuXP|M`mW`f1wU<(Un#U dfE$5-m3͵-~v(A`|@$/OM@z'(7N8,6ಊ); \# Y"@iXЀ5Ӭo0]7{;t/Mq IqidƓ#gP+揘HeƪjT->jֶz2'd(WDADSoh$Q5gp}\[kLK79-?HV[ h 9!sP3O 4d0Xa@B@6C GvxtA"( 36=ϋU v-`w塁vjc&XcH;dy|ekz 06=M*RJo u1[EXx!PgKw Š83&B{LjC\Q+6\ Ģwi-81;&]u&he7̇Tuj|?Wy&-/ބO_K%0NKcک*=~^6:`k3o'H׷j CuU$>Ƅd)36I'W\ܛvwNۚA/8DW:2X1$cSN*.Tq\T2F+!u 0(c-=ڑo1e(5ÜWZCw-Lz|HA8WrT qY|lףC4%$#hs84̥ lK$~MtݏsƼ!׫CILSlZs#)FYX!4ayb)덍 KYߒ"b.EtzIXKgH z`^ jcdI`Vi_o ʣk5W4(܀l 4k[+ޱAI R[dXQV&Vzob+y !DcD7&RͪȿVmSgd(mIrM!ūWZYY5!0 5w\%uL9gK-bSˏ$sL(ѦS1LiȞ =p\pvVɵ<+*pUXI7BݳԄ+,v/-ꗼZ"pPDZʾ|BfWa>< ʔ_2o4ޙʾqI)q5-cS09 %O)ϼgԂp[$"?XjtLV=Y"OTz nj= h2!tIX Bt-t4/85<ѶīhFZ{g5נӓ&!׷ŠSWpܯ0 &{yôlCF԰[XS8^ Ϸ _Fm@ XFf]oַE})}dJTA.ŜXZ7G볃'M$i:u`)ozlE/n"PP&"(bBEkΤʳlĀQk\ҋ4nP"n,Ck[5,F/Ss{V[k7vjIn pcD (vu"HtrLBAA6Ɣk:1i\c9]cUӍ@nLpEa>`sj(d0tBw䶀pR c'vNފZ3aN JdEWQV[jc{Y4Jx~F`gn .%SYGt 9czxl6$.:YnYŲ nonXZqW"n@yW."qذքU]Bw+WlE-MWPg6Q)[>I1rsC_{Սd'][׫ fHnHb@,6־ Gn +Jsђ6SkI%|3PX,ĝD /&FY11\NBXI߮Va*;-(Wy3(tRCcY??,wQR3eO0r:::\D%`omvAa``kuA i}lKQT{'GE.bXq/twߟ>?8BRa2pٓJ T]TJk\d d*1Ct=/{_zGz&T Q$2icjE2NYBq:7u)ySi!tτ֑g堒:T^4fE۫ {f$|+g{ w%V={zc}uM&ju͠79'㠡sgmuz[jQTdP.AapQ,4nBX[M*(m\=Wl~20q@<`φA8ƕ&k]LA$il@]_\k䯵f * ]MĬ ~Okk۰E'>?:yRÆlX`0f&JU {UE> ǡL  b*u;_XpOOT@<w lJw;U0 ^hpY#XoZ(7q޷jM$V]T~vV̡u}5^%W1qv- аbC 54[(HrLx:ɘP//sM%M kΨJ$JنlpDJU^NFSڐcc,$Nc,:_.n8B 7H^2s?E [O%24 fL^dkh[2gY7jB޻Ҿ2qLrnj߹!TKIolo<($&sZlzr%_L'Z@"ʾKFHD(qMߜ] B$'B &"(iBЂf> I%rW.gl**ڲ1dBf my')5l(JqͭՍUt| |/tmAT ߲t,9AuP ֛ Zkwl@.M(UG-3E tk,`n/wkI꽼{=S0)1'0h{!# [,Xc+W3 _%;l4 8ɾ  eJm:5VQ[.&V2A`l%ӎ 0cdG22JWZFZu9;).u)Юd{Sۖx't+7HsTXk'Píۆ\F* 1R՞*4Zp7 뜤8+K 0vs"jnyP3D93?< Y:3$T|Qllwx-~4W bEf#>šs4`!{˶m4[[xw;pd3W+}G#0 +1sk!U#Qi/zoj_:M[Y'V :r w={96LC=c@a"ͦc]A(6Q꠪3-rkŤtV޿NB͏Aylj1.i[maEe2.FjO T{[_7ܿ2L, m "{#\t>zQ=u2qR]D}!lpFI4Rxd&yE{cg7vEM{l_öV[C5X6 >K>fB wbuzLR|Þ[R݌3:I^[YכA]WSc LFuoz ֘̕@kHdN,r$f -F F*UaY14@Gr \IQntjU^sey*(ѐrQGwyqwBGz}幾Ey5>')%$kj&^P/>{/ޜ=(^һK^&Zw(ubcf:A<p1aИ$ 5၏x⭭bSsU֩<܈L{Zo54ՑLRYr4{snoIcss#luַFc&dkm+lL\k \O_}sl6VcoĄß BC<zN~ F>kSi&o_d?)H08o;8 9QdFRn lzUڈ=C9e8ӛajMM:"eq S XJ,l;TdFZ?xF=cDb6M$T$A@A(h̆zv|BLj&\KvvCtJc{D??>5|Wqo66) ◔ CFv2?Ֆi?etPu_h~d%˰*.Hƶh|Có×x(~wz#` sJ{tn)Hߑs$l8)nD>~m}?/[kYZ??VMF6)1ak%ڐ YƗE"(fƿ_Gׇ9{1!䗈B>h@r^M>$)ٯ0NZe0y:y,gŤ֐Ļ'$N886XrRutma"hhc8{OҮ>O-,$>O#}~3ս^=__]l?͇ -kJ V<?fa п}@䍎cļh034|l`T?WqǤիbµ1s1`%TTc~Hnd]VS*))AQH|1$?&=d@g<Ҫ?:QĐpUbJ-6ey1@_|MjQQD`=B;E$\$wG)"ìj$5AتR^ |H5%&d|bQ8uݣx0lDdp A `8Fa Ȥxc-$0å>h6WJZLwFf} 5Ym{}Zz M'!+0tF%=8:<9+zho&5H|=Vt>S7)z=/3$WBa%'&@t|fd>( MBS9 *eXGgcAL?tB4X(N=ey [0ۄrT}IbEک!=3ZX'ڒ/g7(b#=A;9|r o/9f k$ab*p4P-vǗo ´ʱ#mz,J'KVβxe~#uO\ޞVl<_G?gK xi<Xj>yj"CHjP=excސĠ`g?k8ʏ4'&0?4>T l]MBƴ?d9'ءAc!+_~3hXpk>}(Ua1` RZd%qv~랶'w!5o'YE UXD务o“'nĶ i]L븺MnE$룣O[~/q[zO҅t/)sOo6eOΤ߿|n.z k fSxKzg'כX )q,W ;#{LW%!)tx O[r&//7c<<>ޤ/Ū7Ͼ==w =6>g[R&=/#n-~q:Jη|g@ugmkg}.ؿ`gdoX#s4D'X0ǂݏNEA #6R1pqX4;T#/sӇHk `ș] k'z 1I#z[QÈ|Y4`6i)+Z"E%R?3ފڀc^ҝafyss?۾2E@\1RҀ.>I|sY3H>*TJ?ݸJ F=azO`Гn*,BWǻ`y-_}3+L>,smkڷ+t MZԚ.N)@f`F!OB^KbfB(9fc^-݃d [1 >v'-Z#PMK`K![nV3 $%ϥ_Q|#k8߼}"V/\h߈0#WG,`&=KB%ȋy ChaPG!.yz?K \4 Fq~=^uN"$F"(S\k-7Cϗ*OLfuLRiٳxf" p`Mk =lrN9B4*̈́ a ܜ*$,58)eK, N C=c`/]<@QA4WZ(5wVռ [w-@&0HGlzocɅ@4\d@QOjO,5hE1B8hlcr7h@<ѡ*40VfZ : :]vkDk*zс<;v E,iI 'i+\^ D7Y64hru3ʸ脰*V= t2%7L6b%IQ;)p &)գqI0d^  ds$6iyۯ¶t ,)x-19޹@?:Z79I12s$d@Y|vT~uz᳃g˃P=?=|,_Ǐ+ ?߿:=8;ON×5ʯ9:?_?Pf5ck^R[dK0,g''ΰ)hVA :9ߣX.~Ó% L:y+݃"ӜaNNvq=hjoS\SZ=\3XslyznuF[>}wδLs2vVV_貮-09\AwEvG::#̦sզ03.Q}vYl /pwa RG[4-~Z"0n6҈bݸhE'ynʹϓ~>xlU|5~[M}?)OptaێhS ,ʋݓJ`B'BK Я0%X&F^/1x/K y[k}u8Kcڼ)K:ZhTV (]ˡ^+zy[,,udaz)FP? uu/~X-<: I I;}>߳dT5EӣZ/o@!B+46EhS>>Cd?O/d/z?qG_N.t9i?Gϳ]DeCW+,ݥς+YJ\PzW| Cqį_x$ENowrgxWY[1+G<44ߟƟcɨ^2Ƥ݇]罅=6}D17VQ1v Ua)\;Mq^{4*[-0<[mFO>SdQCakNar0v B(wنomr?>{H>c40Ȕ>X`+rpB.Nљ~V珍Nfxq \W]UrZm.#*n.I*RA sh~6Au73K+͵5pE E 0ǐ!X.$~ A, -PgT^1--/#sE:&k8ƈ :RbbX?%j8(+H݋5ڣ {Cm/Tٟt,hɗ}܄~ 5|ěKm'\NM; SOA{sx2{DWnoЫX+߈tsЛQ Q05 d_ mo ސD_zeFD"0.>yX4Q‘??gVDd2- PWڨ'bRN |yټJ_îyr<㳛uo"EFþ7(V-UoȒ_|dXglO+Ɔ ?&n634TSL+ſ_cd-Ff^+xCU7۳7䏎wĜ-u,xqϻpv{׷~ܹ˿MRZz6?̳,wXY*w Bw\>kI~uH+üƕT2J^W-#yi&WZDo珝xg.|G9$h4AJ?'U^?d5~V's,,ϋ08 s_%7EbrCYOclaꬹd :SV!\x/hØG",|+ :;}aF?4$|pN%鏠$A6S7D|#(mz}<dHM-:+tg⾞MsӲ"k k@ՔgB|)0^ōNkM0$[+fvmv/3Mg<{}tN~qO()ݚK(&3yђFi~Zϓm<mJHZC`"7;Ɨ?~)\7O:x-ZƝWɗ)ۓ{mCi5~].Os7}džL2ObIom?ܱZv}kbaC0xqS)܎^ӟ8%?Nv@=G3s{|lrc/՛j}}iƵ7IV([pNҫcU8~c@mgĦ6莋EW(g7 $u=Hq[L4ύb0\in!Hsc#?%FWdihOkA;M"S[쇬Nj$!C&7fbz^Ap.\#DQVe- ˵zhdy|. ATci{_'5;Qy=oPun.̒>/fNYLWjķ9 B,6+t5Uu|˗'zt1 |s-NU ;p&'_nkT4Z޲QB{ǭ,Q{JՔ'B"—o|Sif)h6P s'_E:Y3 _TTգ ݞK"JLap*I?XU;QKaoCvZ^>|nߡsH x߽,&8P/+˹(+̕:[o6ZCvKov xk3Ik߮T[aaד(AJ= ([OÔ~  t K-˔RxjI3AVɐv:36wx =cx!Th;;D@O&ۢW5wݠ7kM&ۦ;oJv&Ӥ~OiR?MI4M?MI4&Ӥ~Oi~ZOiQ?-E2Ӣ~ZOiQ?-eY~VUgY~VUgJR?*JR?Ϫg٠~6 g٠~6 AlP?AlP?Mg٤~6Mg٤~6M?&IS?:N~6~W٤~6Mg4lQ?[ElQ?[e٢~-g٢~-gMlS?6MlS?϶g٦~mg٦~mOB$OB$OB$OB$IIIIL?sA\P?sA\~. ~. 0II6R?'~R'~R'~R'~ROR?]Kt.ӥ~.ӥ~OP?CtL?t.ӥ~OiO/|~+àdve3 G@[#*)6U)xYm)~e)ORY̪8)8 ,8MF 3X- _S_}'i_;]%L?k8AGPKCܨ>ֿf{jYďіn}yﳂ.@2jLs7;Nc+\KmkIǺZ#Rcئ0$6. `@rՠhޥDՄ "("?M1 20ql;D0|/Fiz+ V! 'sc5f^$E&҃봓Q${E,D狺֥T_k)'pMdHGT^F†a\ֆ=$k@+- AͦJ&@^llNyLY6dЈP- IdЉ)  '6D}'OWLkēvē #9! 4%\XȦy6T8* 5&_}݉XP'qmwsO-յ2o }+і.ca4 $ [+iB pn?F4}jkM󽣳x 2p aqA',H/ i_o6Ip8JFxfʳp nԨ=|OʟҒH3uiԗQA#NQTwq/hѭ(\X/$[$s./:FԇY\]t vH =2WsH.M*vHLI 0foWNc}1/t0^#\.s@u`͋FV3n_Ֆ}yr^@~1* EA@2n"!`Ce֋ NӖ. Ti4:KEX α 5r8P>$ɦOwzT1 V=T6 Iw,PŽSҾ$d4vެ\/FLFce~!'ө)Oȇ|{xgm3v ~='JHݏT)<>TeVMR3Y^84ΊԜ](B/}c% el%VU%'8oBGdPݾxhVdcW)z"_I,a9,=5Û {@S`Q70 ?B G#?])^DtamʱaҀ6|1*2hb =WmV.snO3?YBw.zp;n 2\"Q\ăZܵTdࣃ$AOXarC@xG5x٨=cL q`U%H;sC 񲻒-_y}R7[d`517ԯxŮ?; ^fHl@z4}7ѷMJ\:vZ3Z=4!Sh:,x6̳ ރrLt+|YR`Azcl|1[c-YDr[d&bjWY O-_ t[P} HLwBJt'7 \+T 2E:oo,;O>Gjv%C%㥦=`xtGr E:HGxcMSI>5tQ3u!6Ǣ҈w(y]a7p^k6-5ޜ[[U[[Pвmz9ꅷ9pۛMΧhDN_xng9$bdXvx9E"L#5 Sܰ'iפ̤-Vת..<ւAceK 5=F kt:,k~-տoXY{|ӛӻ'5ZimLuXE~1}ύcf5~\@x}tw+lT8f9·/i7sp%8cOQ#\$%gy1΃/es'PVZi{@!":0(cs\wզ˷P?ƨ&K7jM q>2:e]yOߐ Utןb-ЧDq; )Y03X_^o0MP Lhc] Z9N%sPvGO~ Вy{݌O1ɮ`Ua&B)߭P]`6ۖXV*3@|24,HhZf(/p#ނ̾4M;Io֛2Cϗy p~ PEu+ō:3>G>;8<>r{Vuk #{~\Z/)@>Hj$UB{vxF,Z?!dBRy?ӡY[ʂ.'קYUDW3L6RPӰ5|_dW6ID ^UtS{Fp4;m16;̕Vv0_Yx[|.\+qɜA[T jn쬶·?|1&\hMr_&Mz"%%TqI|[!VbѠBwD%>._MR!ZQrm[xFB.`9~ɒNq̞d}Aޯ5&tQmzE>C>C>CȾP}mΣ@>C=COh%A&Ɓ5LA忧o+і4=Jg+`dx;h.g_dPc )eI፝M}nA5L@FG`*8Y>L'#mDS4uA*} }h'?{PlL:WL-౮9UW%C<H2q qǖ@C6uD4KO6Ψd$Z÷wfM4y+h>5oI&/@QԨtL1"Y>0AY=3qV!ID,fT{u8&g}F5ZcoW]!.H-FEsHCu7|jv  GH aiƟ.Uth,o-*LI"}OSI1*UЯvsS\E9{z4ú/Fk53Xr;_ǫMoe`M-DOgz;<2/Y$M(s%G"9zu QV0%H#,Dl!ՠASչum8x?4jU/}|^ݹ+^;Ywn-z9{}`?wn/`~0 9/i~0 F2wE0vl<`Iٖd/2NF& N{gZl5`Ϗv/.jnBe*+X`m6fZS!8lYXe#x1 }MKh 5HhjJW,gڥyVj[elvњmYh_X\EkSvwmȿ: Ͽ;OB ݟr"a)5_`၁U^bji`F_x}:=XP-p2vƫ3&KL OGk,miv|}bolVW #6j|RįNO)N 묐fB:+G\ڎⰎ4ڪȍ GGA& CKoLJOuBt ÿ?,?oثG،[;덝V)=8KE겗_NEq## /:8}$8!"8SpŊ`yBlsŃ;(msF7o pc kd ADdHebib}?~=םL> ͥxt(\ዅM,]NTv99=`aa!,0T޳ luҢ=ʆo4dWY+k`_aھӴ`/`A/o9Z`ȌĖfl3{/ټ<@BOL`O󴱯V B賈,X{fk:?Ю>wxnj_[g?^L aǛ\PX~?;].Q,Kl!"?]>,d ~0g@-V=>.g ma1v7$J^IکsdBV̇+1s_{)M{-9lGKd22Gb]ο?`,Oc>|NGew$8{Gͭq/Kjg_,iO{=+zh}w9jYYi%6Cr^|:??g'p(WW=\fV U}t:y#F\΀ R+'=2v`'cQѳG'VsqMt}}uzlau#HZɀR(ށ3xpr " Ҷex)Uu*൐\ ^nFȈׅ_L \A b3k2ʒ{NooXٷe6X/C ɸ}p_pz[nQwJ((N^/l4Dl]laYZ.m0[~L{'_0;x%N6V=HS'gDŸ9 qL+|-Ѓ@F`Tp׍oB6tracӛrx T= 8 z}%Yю> 4tf#"Xg,s\rK!<ߜG#Q[2_)JM+0'mZ|9,>/A rg 135}/꺽Jo.օ_nM7g؂ex,@4XBaI.y9yf,7 Qd€N/RȤNĠq{C8k X-l??i!wz"(}İ& sMZdBCV )8(p(,92JKa׺FS1K7̉;F-T.l.|T Kl5%#gFqJ6;sB;…w=©ak Rgөd6$&_,hi14Pq4d0f#M:V+͵cy1d%p5(+^McoSzOǝ,w♱r U`GV&?p=( \M~I6N._q07NqŃG$9:놩_U_l#L$KFF?;y}r|xO ;>;|w"Ֆ}m8Z61HvPk\=4+g[zgxKo~ÃXpI\0lǪ4n'x3{[S luS6z^Zzc}{oNA@Xuޯ䒏QcΡz0C".yI˗}o@2Hߏ?ΫBp8:3;''a=8pޑ6p}8܎-1 mAW<,ICEE+uVlt^ST,/"IݕNj$NQ"XXgR+ogj9{Qӯl.Uy 䏽=$Z^бytK[qquمGETw' ҲrtԎAVœoE Tsa$2תhyzT~$ 8 E/ʟwB}/?NXXA09w,dҧdx}6fǗlik]i҃#ѿ;K8i))lu3 b*&*01VWð|Hc3^&&e+ F/ɨ \$P]ߊNb7V͕f3nv($8/.!TRN"Y lNϏW.t(ޘX r9&PYKUW9A3M7k9HcΙ~kl#"`pҎ"N|h8d?$y)$lZi\pdnxoP`XK@4^ix EQ6x=ҙ$+ Pgq8V5N.7@rG_F$V3) CZ{L,9^nVA,7]pR1W8EOdqϐ;XL0Q:pڊ9}_lOnJO2kO7@A##R90#,eO<ĩIVP۲"zɐ1ؿZؙ7'"iӽg -p(.O0 ,7'ڴM\ju؅zGh| < M2}+>k(R@&4|Ev5|)s*^+HqOYMraк*;?a2;bߖ y"y +!j"*feIJ[_Ҋdsիgq5Oi$uDLmK.ʬͣZ!致aNɁlwJDF'Q/R# e2d:6!3n0pe(ve,n$Cv2tm 9!f$J|tB]F @H)dÓH</:V1BE61EqݭJM1w? .T(?O#k[esTC~; {zY+s](dȟ!W{ss1 EАR4tPwã>Q)pPgnܦd*ZQ,# ه͍ޒ1G'I:lp "Do B0GY mEY6̘r'6tzY$&콧I Nq\2`E;XPm.Gs5^O,>,>,C)=/Ze)n|E4O]OQX1pVjD {Ɍw9S<_NN^Gh\ſ_l϶G);qK~%~(m[v|FxY'FKh}YM'n+q{K.6WM UknK \}ZTScT?p>x5ު7s$4Ws ͏S0B:|m/~;FK 8߀읾xƲwFxhŧ1cOMrֽY:nˤbD!!7ʺ裺?K-~C~Ң>_@7)}-<ҍR3>' 2P@-b>)Cu7m(ҁs ~07IEdTᖺ(wx4r3);Had<=h:?<9^E{("EoHgؗ갈L"ˏX'.8G_rc(^NqCt[6j #ԗzn5F&R+YzR' hl4$lfCU^7٠_HEp'8ݔr1,TC錢jD8ŨSΖFF9S+=xHwY,xaFm0/E׈gk6/S',e^OT.gw;`Jʠ#kSƔ+f ":\l~ہ/JPdG*[z{S47-x^v{}GJ_øˆ!!rb9S.e#ehv䫹Q"DFz\ckPn7ҀQy>RԜ >s7LYl2D#Ţ2J/P21;Nnd%\e GGh(ܷZQp{bݶ"5;`DbԞtPP+7CP75!QIΕ;­< ɩu5%x0_M!uh97C{oNN&3 #FhD[dVj=ic*5lhsZAt(3ibNmNٸN\ʹQ+*f:鲐g|FY})}_}K#VkN*m݌5MIa˷,OM7ʯԷXw~x)z f5^d2DyǍvy/w0fZ2#1ߒ09k^`9Z~ϟ-RGTݱ"HVJ1(|Ԏbbiľ3PY]F!, S2u:"܄TSҍunjSڿH;W4VduP1L@P@^fX1=R>rπC{[+< \Z½`DW]7H4 D}QP6/"Q7GfbER8ǒӽLFq@< $H˥,9YIA>wK] #@AE{Rtc{}Gޥ(4ŬlÑ|twJg{dE!iԒ>Ae'hV㏃yӉŵP!~97'Eꟿϖ*:oI$MTAY}0D1*7tlEMkHanH< Ə , b+Q6I4V.J2EāYyo5Z#Y"p=_.! PG1tD&J⿨ hI&|RH5s@$CJ]M`BhfQW1,=:,5$e6j&a4λo2eF6%ADU4aQā^5kJ^H:LjHγ,}1;T+vHE`lHE@tR8q6pq#mt*w&QҙP $(`Z&kP SZ=:H.`K&ڀ E{bFHVЪw".=FHOȒD61-ci_y|/R Naӿd=Ѵ(+jh$|6Vt"k¸D"$fdRd1x#:~V:U$̘fS''Gy.Ez# ݽ!cK$qoD7U;Z Ear]Ds 'lwD,\ [R;JPL*& hZh#"+g*cLa8giDҌ]]d M U  :mFh=ȷyj9Es Qd '6`aU -D98==9?=e% H0݌`,AG==]:uܒ,̘uZMeKO× " ʠ8IGWdޙ3tNq!5oB`cK!mq]N"!~ۊ'QxBS20SIZ>4bGN`~YBԺzKMB#݂Z1 3&XH潸qšep5юox9N]|uIuiwr4OhV &M1=|ޥ.J v1\7t3MLG/GF7h:$Y/}:m2-0"[-4ikuL=,;iȆ`O3$PYyF)4 W@=:dC0;ny@\qiW⩄Ǜ_:f~B ^K|/=>;1Ƥw+rIg C_EȰĨ$KZ%]\ Ǧe* K /yO9yXucᄄb]=Mo _(p&r#1C_4t:^4̖#8OQ梲.DT&': {빋ƤKW swA4֩deyplDN nQalۦRÉnpt^ӔK#NrAJsz{2d2GE6hfz ,1e؅:)\d ؓTn'OÞʚ|!Gt*q }ZtQVKTubGiDF.kd.W FB0S" K 1>X'5mZgT!XVT%!Vx?rD1(0f V++3V!fkzt1Z[21 8{%] 8Z>O<)$KpdĢ0$8s%98_`!(y;# H(;hbe6†.FU7WĽBa0J[p|@C(O7/7|E.?:;8NY}RjJ+^`=] bY䔱4CQcCrI5{8~0_?Ov[?6?JSeӉxo')I_FHKY[(SnVCy?ބF,#Zh֌'oIfj)O V}w!K9kb3e6`==p/EHA xw[$-)E9Hȍr"b#ɑޟ}R f9FM8y(*wEZI4 F 0U6D; (⁷Y 5Nx/y.b1+x%ء>gc/9*j}.fx4,6%&߿ Ov_i%w^cpS:`v^_r񓶓Ӏ ڈ-An" . R!N Ozlo܄XըI10.Ld8JQm׉c7fحUf18MHvtl5|1ЂQ%DDdPx} 2z#󸍥.4ƂAOMMͤb,?FƒjIu9)2(+v[v=Z^ e _ymM_h FonhnfnK ~i9Y<"^%3RRDKLh![DTЅ!FFk?˃<}C,+q ,ie;IbryIv!K cn `p _ۈ'S3Nq'giHTB3\Y7l Y2G-?pA8 9Ɠa䨊:QO6/X$b rRӕUEyNAnslNk^4!tT͹Q\X1YXr%0JoL+3J&LmY DywdF+O8ow,E;tF;ZkL䜓 ֔`"cJSHl|urL0iMԜLa#݈Sqd5uR=66W9h!S>V_l!ir6 riy(i&Y:»+@ՓҘŌ4<$N25LacӣAG> ta0suE1: pfڵi65~ ?+̵UyxGI>Lbc2eFcax ZuS.n6K($իsƉt хB[,i5jjR=Z#{L&۔n830X{a_x@KzV=-8]h}=3$.Xeǎ(50,f'1c'W,xI.^# '%"s7w 3q{ wܚ۰Ss"{Vqн+1J$TwY]Re64cS&!#F>k7ԤôՋiy{PNeJAtLcL4,SW ԞyPFw Ԇpa\YO |$R!۩]D0 D CҷIL\h'ͬmcAܮBQU(xQRpb11J %6hG^yhH1GO_ac6̩d^fC 4fGkEax$uOFn0B- z;&(7!J㣻J=QI4]Eol(Bd/m"iSCDRtjE wF9$P&nqUeZє%twΐ @aN7iIV?*ELЁ-LKm<(S1O1TtUe7f31ɾTC).B ^a\,o >s r/OʠvEG{n(=+E^#&R=-MG 6%E`͏z]^/Gh`݈%!0UU(j2Yd/\2o.qK2 ;=><~]ִRs7/P줉.U\Z0ۢVnAk%IEt夅J+n> vFi)r.FGCA~Ai(%Шl'ϕ\` bA%@"_5j^4{bs9ށ[shmOCДxM% >CGtqj#ׯVYek7)8vMHUV$ytxn V %&Yꎢ;`z9gȔ8:@~VѬo0G`L0lipΪ#艍\R 9WmT (LJy,)Mw]+PSˍ5 eB47ؑ-c]g6.3LV`RPE;H0<`[(o \N'7")D8!h_Nkq`{a!!vB.fRIRٗ_S}6\-_!s._(0ь[;5,&tpˊ9UjG[{>A%#0rvzFMh_0f)E!R$ztCSqV!liBDF'wS$2I,ui+Zl v0oB8I};X`ۊa2D92mz=/ԭC X@="e֊z-O 2RG$0N9BU,&7QEհyDD+Zo"]sV/3bYlSBP۷@n;՝_Xh K2֝vkۂ~ ?za>z>ÿdCʱ;.H9,JYEö+p\JT۾_rrkJ RwFS(.Վy*^<ו /{Xl*vs7>ٰ95.A3*VrC%^Ў`]~Sf3Xtɶ;e!Fl*r+0P4ex=5Qd5gn#E(?J5u yDi6C;k*KTLa {XUէωH* ӿyp#ƏMzɻp_y#[T7vDD=fWS&p`:X+J&#em22[Թ2)X2HG(zh]ڴ-.O秫կ3NFnoCx|ZwhjX;͝V#}sɍ08mX@·r'>J$Fc4Mp H 8bٱ+_4~eA4S*/geKSlVOL:᳼2 L3<,ϋBuM^۔4a9w3ExcE8g%- uUج!lijŝH%̚,ZK,BA!k⣴ԳϤ)|V=xH̊UcbԸnޕQe䖇'qYd«Cm`D!1QFAuJ&FK]Dcxs?9FF K[[@ p$fJM!륌҉sUn  =.%Z)I"3\"x,p5aN3iQXM[֟ e,OCB9SbFFC\9SXPBV-rh]\ui,;n3ON[FCy 7~v<}l_QKzԬ!a zgۘ1)iixI-{ΔtM\Z@0ng6ᑧ UE*r4em:yKVKhm"Onݑ61ÍJ6 RCuF⩴R G.-*bo:{9G*\J4pQ '^]uIġ 1Mo H, $2\s֛E9!C>jExy sk=hؠDS)~zG:3 bBrDp+mAE+*Ys\ek ZƈW[qa14oz%l"gYkW7~ Ɋ9m41񳹵APcVDl f \}6BY(le]y t&PZ /Tĝ[S^,T$zgsWTV|&'xS8Id8[i* NTeVXkNY+N]2_ڋH*ZWVuU%~ˈrmrgyD&W B|Jk5n5wZv2JpگU2=.ȎqåBWܦ2}}콗_%kP>#SRPjw Ys2WBS%\kce`Fq(^-5؆.yMAd^ŀJ%M])U+#9ZzS>C9@ "_ڈ,l6n1QSE7xt[7Kt\I$GePIމON.zAI޳GԈ9=<ό_? uTE?" t}5UklY \9Gx1B 8,:Rܭߛ{{PNYBLGq/6rX˰cN1ܪ5G7!UųT͠WP2#V3EC:@uPnn`^LYgSWVJ>k >:2 -r)-*,4WXa(AG9ЊYa:h=zɯ|;#ͩ:v:ew||p3 -Je* )(kI+,\z%\|\H;~{0q*gs/nBhPb20dU҈+(99bI 1BSi%ڃ+IS׳`by$쫬'JƦQphR6;ýH&rxP}Hqy (e H3vޝ'Բ )$(\ ʹ*3 1IiC1O(~k*%eo[^FwdKM9l5ES2T.E+V}kZcQ  A:^=t!T ]1C z8_|Pza~ b;$_nxwzFp). Ԛ(}g n5}:d^b\ddiGBr(?qOQ-6i*LQw҂xO ;V@NGF[Ifz7S^HU#('2~*=h>=ǺKwđ~gX[?F\u}K<6"IǍUڎ;y<,)죻McVlŇ; dT{[H;x[KЫ2i- ݇Y#,~"SdZƍ В̈w Q.d"^#ݲ ܉>)Åw?`6Ťl`y,5k{Qqf 9ϗ]n?W7/p~ {!˫pٷt%e%odɽ%dwʻ^+c$?Qo߱'AB%_yr5 Ñ펨Y:d 󙆘I kX hN͜ϞDž}CO[HuJK(}&뤕_J߼U=R9zJ#ac"sK+Ygy@&#EFsvRX/uݘdlj#;:nq9LMpZGE8*7R|:g]QxږJok5\Ԉ6[j~uk+z/1nɽK_VP;6|1wjHi7)UږlJonmÑJ8Mۢ'Dcm)yG-'칡ܘ2&e%$a4/'Γ6&WρMDǤ9%lA3[%z%Cl;C#11m6fk,Dm`ΗxJ4v[:bq9J8#)b)*]㴜hv7r h'&N7 *r4c% 3ϝG4; MvF+g$ՑBuGgb*}Il[M~bjp^^w?Eə*HEFHR֊5A^Hc+VP;TAeCžWe1DShPUSɅbBlRyeF>g< xBYV%Pb3YI*ca|LIcȿo*] Sxh)d*Qj}LtFÄH 11,fc{|+8dF۽Dc5c̎MvAާ+@#fϧ-բPWX0%eg.o?f7P8 !S]kV*&wj-eG%sCS4+\ԞP]1s(,9%"2j"^2EQo7@>eq2~&e+2*9O0" *ʯ9^,(UbYA7A``}İNLa'~6#~%[rC\D| Rf8-.em(haOGQj@k< ϼ[r*M Qd3f*"Ψ@xga>XcgmB\z3#3s( \oJDOZ ]>{Rvq>^0z JV(-cfwƊ Z猩CyU,dQހ͐lg֓[jjƠIg^\O L{d)^JEd>ƹMڈ]ZEUD:\{A_*V#9Z/Rp&{!t–8[恑B՛P5Iygnnkir P58`2$oHlp2AbQ|nL79@ոhG>RG$6^'4]psIesc7I ޘO;mEg)+KŋdD>e\j#)P Z#Ad(>60X[f.ɲ -/ŗl\H&)>_RH4΍o0q $ (u7cMˑ&.dE, :,W l9C~alg2UQRUH/Ґȍ}hZ! ?/?8Nǚp뺏CӚ֨Ǎ#L&Z2WP1CA@y GugYQM"G'yyv.RMx6r?UZDoԸ& Ķg*һܫ)g}\&SR[mDzkd"+**L&&|Ql >SQ1Ps/;;Oɱ-LK_EbFnl>oTlP)ݲ KO:9;^xuD׻T; :N$L9 y^wo YHX|ôe Gѐ)HVnrxdm>QNK&wxѴR NIk9idV~1[Z}ĽbY2rT3b_1%W |N(pVFQbe~O2Qc ;JH!?,z}ݼ?gn~Ee7SXHKy\5Wa:шXn>IrD&#N&~v&OлJB9;d n R.SuW- _Hj1Er(LavG 3.qg ic!F `e[YT?N$UJXžhӐ&\96?.v=p1zs -mc(tw"ʀb҈{ܐrG*7]OU0r5nxSy-?oۛw*nqՒM?墷=AZ2ѳ=&=4l3:[ 3F}?gMXs-Vʷ|zDZQ.4ouhidfB7%]pIZ!RG^f1P#XI&]R(0#VAZ b^zwyM.|tԈz7-U7mqCm)pvpxs@?Ng}0ߦCC'M6&;* Ht"aJܷ6ǝ)Q0v }.u!ۡA?e_ /mRD6X/~Q|loz<9=CiKJP-7TU)ˋ5raLZ]tD`w `faƎ Ÿ%2vakB.Sb1 5bބ{B3qex'E'Kd.\$9hx|1M !:&Z {⩵h M&n NzL" =PPdGY\΄b%f*}Kx)qY3NYWz'zhȚyUyXљPhrs$<ǹ"kb|TyTҴJfPM3:e;"R:D v͡'MŠ'n ph~亮~2oZ!%4$8H^'R${jU`PA `88IO}r~$EۚN@2B쪱STQd$8(DL*\4>$#PiI6 ?Qa8>Rąȓ מ`rѾJqBݵSF8P  /࣠>@:B;R˽|g۽gGD)ⳉjVR plYrF.g{ˢV|[;nA@x=AȀ4̴֜]\ЗAoPV5yձl^)c> Lژ$xBb+#ZxU2lnU.$Kd&XMfq!j:;#d+: wZϏ^DG]UV8x> JwȮ&3/"=|cxܝGmp..=aTE>`„Ŗ3_,d<*N9Iw$&翄T|YuLsZDs&q)\Sy>A"uP1Mө7t`.8՝HW•EGecM2ɒ_U Bf+℄O[%Y:^yaSY+q!MFCLe+:wjZ Yb, mݤ !BtTROH@䦘rpfɨU툽ذL.T_ JI)WU8O#& bUx'Ṏ> K8׊{Ѓ'|,3ETT}F,)ui2$3FrWVUo`+tW#G/) ^uH LB Za<^ XBHH,| !Nܴ{pħ<Γ[emhP'Ei4;/ֵʡ|<OVrquWhթi>6] E|coNNׇ3j8Yѿ?voykYj7Fo7kvJҋN^o;Q}u>𳱱F𿛫ֿ567Z͍fkZe?d@<zN~(dӫq^dڣZ|8h#}C#qA|P<M"fX+k gҽ1#U<8O>읞١/qى=}hk\[;;k:| 7rT?6.L]ƫf}\O#)nJ @Ohl8݉1ԓs Tr Euf}X BH yѳq78K[3&u* >%MSt'ϢKn٠ݛ8g`oHu/:+2 xnGSFk46~$RsU c03:[ϾdC҂PoSs M4O)y| S1R Q0os4;h>z<Ž^M0h[9PsTT h ![+/Vp8Gs LU+GO1mbS(X˪S"2 lBQ]R2i0J^%Y\NR&Yb~+{Aֆi0 ,v1yCi~k qB!aWh+HUv_lmƅw=dLѪFt!drd"LaTWlW#{~Xƙd>MkQiN"4WOlY֍\!(q}}&B iNtjiqKn_o@BU k_]`< O ןƴnġ>sd}w=sM g:Jǎ2|TSĔ@>x<4ڀ!Ԧ[y=:9yY@ɭaG Qw GST,n%Lk΋)Wqګa ?wa3 wۣ3.`Dda'vӶDgk!}͎8Gc- 7txg!jaA=Bac-snkg0.klΝIyRxߥ4$bY?ULiKX cm%9MTSYZb|+o!  c)R\1sicI@E]aVpg%s]j3+TkS/\>2ϴ|N`>݂"уJR~MGYL꿼_^4tguZ5?_ggmot: y'+5kۀAx wp?.:j9Feݬ=Nsg*mK[1φ4FAȏ~_5Y,&O<֗%Sf* >}ݢ^*ɣ"3׾JvT /.iEu,AQ/w"I֥RE(S4;yˠ#d*qW,@( j,ѴDe^Io^9͵ՍD/:sy*忭mV|^j$ D28},$7dw'OK##L)rС[P}PМ5x.l푅mx?ѓ8At, M_;Cǝ+JMȎw>9Rg"6ƛ3|-M0VFrL~Qͭɐ bll˦8m[5T-&g27_3+"&kp'$$c +v"Z`U:dDdgu#"5kpev\QKEQ&oYN.L6Pz\_H N+O:pkyRd msBYGA@=ygoޛ_&hڞPUaP>Y7) H23.#Z)tVd ډԭjO!уJQP!فR=O,ؒ@P)<43βzENB%)8{h,.LtoQr',Q4cS"\/V?NT6Yg2> S`!lK. &iT6u7ЃR2gN PaMw:U֣7c:Eu:u S#:Tf#kpv 9 hNhJߒ2m5-;gra 0gp 1IXNY1NI s8(HLÜah>~2 JY*?~K: g]eVe/aޫp:EcQJ+qE;'7\pMVweDo"|9hc9٩LՔo pe+ ȸ|_|/޾қnJ5&bP} -·-w{v[ )7W~ F`ls'MuKӒ6ͲpGN5gpj|Lu\dIGt`xΝW]N/T :B,IWMis7>gg!cak@E8(k̀R2X*{_$9P(](ƌ7rn*WX/vW0mF+87hlA70IjiFR>=vyzzOk*3V #@TrEkDghe^0"fLŽ 5~eB7FW a%#baF~]7 y\-l[̡m7fB;iDrj0>!w~9)nx]_ L ڻ*C?B$+-+.^d(`~0Fb!4!=4 E=zbb!UKbBgaFQ1Ƥ %.!}Ԡ_BZK =s:53lTt9 6T JEx\m) Oa )7c@ʸ>5W"!GI&u¡JX Ӎ/MgTŬ4"z&1c_FlRe+C+ޠD2%mAu{GB,0Q#̴00,&r JEi2@4[W\Q"$e(T3.sV;>x7rvK,l) !Ve(^8]geQbv`.*\s@;o>g_cYx}_ tۭ=g)~@۝Ԩ &۪7 tZqٯ8NPބ\6 K;A}Dgw8c'bsk 'TObX_4iinNKS$Ӕ|. &s[֌sט%%/(n$% QS*|H 3htvq݉&aL}U_B+se#J3e3~+l9[=1yM_bՔ9 l1NY`'=ObOfYV))(K: ȀI^TY[raш>ǭq_Cu* z  +cI.&7"YۮP@ gbs ƥ9[f Jd bOd6#"cÉWZݦƒΈ=>2Qfej.Qg}`F`c}o_B彩G_:2qX(ѓ 문ux=9qٔ.1Hx1zeXCWN#QB!I O_R{ԑс4‰ڨy%f?k s}0&1Яͪ$sqgL"0WR%CH1)4=B NٗJ=-(b[CTj>}qBe׹KUڻ(\w`Rk:x-:V&`x7K7Ug8.hoS0eSm_>I92 *s֑#kd}u: pDsb.2ǔe@ϱ{?_<9!~wٱR9\lFEC|TQw4KvY(OcT* v,R{Ek22Q T :̪3mݹȄJiZԅBh5 IV\_#Zv=:i?xVtWʤ__4d^q)HMh"7rD"_LSl@exs`|ՕV76͇/c(4W+X;s{=P(w^m$N6+4:d N0 WVǢK?! ~& ƫÐ#&@(@fHpjj`M@] baUdb>y(R5欁 -ĉ0M1P-lY]9C;ȥ*NdcbSF&K^e!5@y~yv_cۃSNȑZp256G$Tt{=ځ(Tf ck*"t{9EgT#w?=Te9$$.I NÿGD\+/O(Џ>s~̽>E4FKZCW&h꫘aA]:8R5ϢL>j΁Myڄݝ.NC R a=K)3)CBJζE{o셗*Д׉-$Wiq!JUO~A84 2e\`0%bz: ؃1'" c{ (AN1Niʥܥt1|md'~]0ha7.k{9ĵDR)KY . *gcR%.MhEEBR$#>F~ %gV|F ̏XPEWPRr܏ O? -T\Z(Q@JQL8F17 ׼0 ][S7S2Qr {[YLY "QcD 8:KÄjO!!^Wu.xMF2[Z4#nPUks%A%HmJL !_qz[tr7tVs/pgfc~mQBvWqY_.^hW?e,# BtpZg UX[g^ⲟ=zC#.U)<{B8Fo},cX>+]ݮ "/4P枫j?Z=Hc2#s%ӗ/y,kի5B_@p%r[1f{:Ucqƫ [(ԯPA,UPtVdi&L-ph@Ass22bB*'4N|@+^u r5$rb=9W_aϭ~*P Ϫ UW$sZ< 1UL|J2T=ܔ9Dl,-^״&)Tӊsh\UA? @zû[^kS=EPXW@táX,aDӫYYTEqT޹B)A՘2"`':3YdUUq Dȶ."[';s^ô:v<8S]Bxْ{V.[;SsKKv בּRGGM R *:PAlw幠{ky!= ݑe& HSbAfES#N/PW؈֜X20-Q5ᚲtOwE,YN2_e>e9JQ I~bߦC/ۚd pYΎV # 9>f,kvI =Ōv|:j8T ,0CEG+JSBLK_~1z9؞nh^n=*D^$ 8&PKB\X 2LK7GͅpI^ w.%Cq*Dk!H)Ӊ3k %FbSb$2K66F˼[<Mt.,{+Q6NAB.U슕S]N[L`| A@{n:dӌƮbNIǀe5 VvV}O"!!-h e#\-{E㫏,+집 NQ4_s1ݨ*#֌`FpXZr<ƢWm5bc6vZ'RmONqy{e`oZZOoQA6@kn#?b Q!r$$.ݷuA5 B!W=:9`)7~H4#\ky( $K"}11gsq[B^B#Q95tvͻwc/dfHr뷓m)dqo{ОTo`I iNߌfOiūhā5RUf~Y@ºG춪]KdS7vsQMp.ɇ|jU ~p.܊0Mt5q4"+S.A3"ǣT)H"2E /EÅJy ccJ4P5pCXc#;{cCw}JjC9ǑMlw6tpu3DWgFվ m;E, WjLI$Y"膡4`0_W n5mD߆z:{8J{$΅:Ab֪ԧ1W'3/O%,tݭ eM~>_g=8ݒZmnl6Z_gjl*mIJc=nvVp/j*6m18K-oӲIzI2'Q_%+^a'/5,@^[eX% 0X [d2:Ը"^o+ZG':Li͚m/:Ao@Ao#F&>ʛk}ߏU]`)+]Hmi^ #r]dS漣th_Sf :) ^c?V=u<^GcךKpRa) 0$Ԣ) u) oݻH3S䑽?@@\YP7պ;J GEUJ~{x#2(===f2~yσ|?"j0e39|D>h6 2c=><$ @d3{"5,"Eq& ^Б[6x 7kc s e8,V[mYvl3sMŶ-WmA4y5s.ӫB䮕X<, K1Nx"Ck@؃9G j*M(g'ˣj/ۢD!g $–ѳiJ .N A1Yn btG*:1rxS";c\Doa .o(P倰y}sAWgX-mI-97d^,T͢mMچ{-ʓ!}ѐJhj-@=dM  oƑX@g(^]+*P{1V^Q_0}"Qa. ڗz=l 㐅jm3S_IX'5o_qiH!?(%F"eqaVOּmhˠͯ5^D2K 9|X["tWyVLu`!**.,%fmq͹=O֔8u#Zhta%֥~(8냤*yL+eVʼn:q|&֮t2; Iܚ!)R8%˂&3llSB_$[I)ڭlz_E'~F7H%<&P"xC̄(t6yFtJD}Eh5EkbN]Ne,^fr{ǚ80P) 7YYt{-f<'gOM35{8&r>ђR76!ƝQs=ZA܍Rx1-K'I{pƣIvEEzrɵ:xb+ bಉH ʶ筰=(Uyu8LKn_%w2sDB*ߗpd {;-;_?_),v#Ǝ=ybɳ#hm[6K /Xڀ|6ճƨ{BS!!lJn*#L1=ZT~s7MY=#gʔ|}ݪ>Yt\WA!hL{^Qb<c?;Kj& }ɨᲈP|Q70%0n!WON/<\ n.ۤb䟸ƫkŔ1J,^m>no~]ߓJ` 8\Gŋ e4-WOx(cHʼnTh|8%o`>3QpKQpB><%~!a@cGQګ|i_0u24q)v&umIZ ծ-[eaLZCF;xOKb_?`da%$oƭ"ƄU P@{@nI2װ;1::08g2jǃ:Ej`bm<~čMmBWF:̴p_/p94t5G[Odq-3{Ӧ+iǯ)a㠐OQ.b%,pPx6/- ~zYiPg62 zODb %(@fL *F@ vX*RQ}70ʅP/ ղc#~t U>lzX/Ӈф<-|Jg0+}|kb2Cޖ9!*¯w3yѕx8ؕ߮U;SSLDՕ$;ZPKTN%vnu\U|0[1Oc.]T 6 KȚcg[e/om(WX~afds)ePRoCY=S#,WJ >M #gr]\ ZPRJf@sdPD6 rMٜtSL  cyAq좤%'y W|ڹj9Y0#3lЙCc"$L)Y\)UIa(e ;&<@T6ǻCxc.YM՘D7)BlBI 8c Cʅit⦼%-4W\)]P Taڜ[ڸJL4̓H<%;ɖܫBO A>hT8cQa*o Hˉ!3#n0.Nq^7`a%߻JrԀQnZ_qY,JM8+abɆ o8GTҒK緳J_x/Ie5 3 H;rgvE8^x8 2jTO޽,|4ʎy= cIj<9ڟU's:~Oowe~ |.(ȅ[Fm( O[2Z~AX]tx(p( !aF[SUkά!UJvXj);#ǘڝj@Nz3N7h*ᜮh=Q;"0]sn wEW8t9j kY~S{Xz"$ofEˋ2znࡠYOyo<>0m8DpUveQI&E aȗ2Nn㍥O < co%VoNFwUU0iԂI ɵ7Q;I ̼/c!rGy>F5F';΋_D.kB@[=T.&,>x#G =_t0dP&P3{\SX<c`>-uM4aX9žmCbH ."}z*qy+f;5->B#)/@HdD+oPP8\BȍXʛ&(6 %54lH u# 厴;){?$;E< )6?^2rGJ\ ۑwGD舍 7g!Xhu5TqąVsg}jZ/Zj[%\q5+'H503h, 3<'Ry_"WL+=QƏ>lP]~h֗h_ q_AzV-ihZ_dctov !٣3qZ6/x~ Bpz,flõtFvB'0 2#jQ'BKRc@=Q MTaP'l`͇ LvB+T.ZiRM2h hWSB R-+ /`N=m*n!j? FqJ#%"3S(>Kry6DD @ eJIl/C"> rւXg2@&m1GHYcwYLBЈ4 -SMj |E1Hȯ%8H~9'9jgO:1縐rQOr\V01<ϿZ{,6$.Nhė}2f)g`>o2zhVgUMe@9_9UB"PI@?Е#90挓>,E * lWc p-i\1Ȑg2?cRPH9/0O o=7x=7QDN#W^ۗHV!oJIMZaDe00b9hz^,M1 s}3y2+"9*^p PEKnB ָ*$܊\3ڋ]ڄQE 54[_wVop4ɈpPKb|їw!t/ /ʹk;Z0T|רW؈ ӣ1SZ I E.hgKU*M`rLV"+=+qfo3zQ/嶢jK/H k .!VV}I^0&F]s-EV9Mބ|eJAusEx)ήP&j-ފBAAD3SC0/7dS+3Bs^QJU98 - :;EzJ]!9ESmjʸ JA 6WowwO~m=|hszlw]d槏M K|_VrŸU,"Xֳweq_Áp\N +%b8ͯ]z1Z\nxUKPZ q̪9ѐ]Ⱥ8kenYlV\ "B i)9Q"E{f3L Do f C/`(_/|o ҧW'Z`e}3Yt5OIY[56qt뗆ǚߩK1b۰7o;xmLn!+ piG}KZqghƬ!bV&b#G\\Vj36"$noB| AP+Mx/J:eܗ# h& ";AX׆Ns zQJA÷$=SJYI? +q1 cetz] ՠBw*t(&Pήl$T_)* ar*qسCP,V1;| pKL( Ȯ ,d+zPC}͑Xe7^njEY/:ё qXx.gKõ_լ#byCG2z|r>h 40T?31FfKi؅Qr,2'rA2\e ׳9L jGG(k" +nJ!;Jh_]֒UB'?Mt|7+urGnqC< 'K̎ch!39"tٞ*kߞ^QN(_pQmoV|'{@ۼJcE_ &iKۈX쁰 +H".8oO9g>OX/ET C>+ ?yǟ~fWǯ?8U}r2yև{D%@8NێmD[os}Nz) ̧.w"RD>aqU `DFo$;"yKIb,kIފu^p%!}’ye7e%+E7T)!fJc^*A *WU`f:a&Stbz ^bkm \gn1AF~0qcMY}= q3>+"2o_%:.kזnja|V\Ѯ<1 yi}6|bJC$Bj fh]FY9 Wb;* כhFYMn- vqްu'}5{T5 "qѤzCǟj&ɛخTNlӠ s5T}C.`'MO|Ce>qE̩''j7<_^WJ3jƥD Qnfӈ9zJ% n5,F]P(At$1N!d@z|ggU䡛i0 0UqƏU@jP f)U(2ًߞ@pˌh kʋJoȶ̰ F)Smn6r~55Ԅb 3To3RvCf=Z^ؖ7漚mn=6|b[x|?3GC}[PwBTw)4'T7OYɷɫ+а*p1S:߮q/#Vl#EEߚr4bnN-RvC{KL>|uL~fa&O}K<!sۯxp)Հ [jf4 ٽDmo q7xqL@`#3oON;pqɘۋE`jS5_V p1SY:.c!p0Q0v=KnL)?=!3n|.uaY&(R 'S*=d=n㶒b$j)LLZ]{1]7 Sf6` ֖ڴQ}t =,lu/ tŐH O]GU{~`Z:]ix(`H|l,?+ 4?)B&g-͑9iX&hc)pY:W5*-jF ' ٹ`‡4ϭ_x^ YE|-xR5J]%ul`)2!ܹFl|pzt"*Fyqe՟T{rB"鸝uco䠏&j[{9!A6O?Spjt^rxYWJ_߆?'x*_86|jJNUHeGOg;{v~@GRRMJsٿ:f2f㋳6iBZ~H!>RRAՖErIbR)*K&= =a5 #3=dis3A4#r(/ߪ\֍yE\('c3*F3B^=qk97>G$~Z_N-aDi |q_+qd!eHep?yG}&ԊDыߒJ3}'\'N=Ah=Dł$$kd>SJRȽM.Rc rzc턚 F>W$W5nXs3Hk &~7 GY*;mDigS[H5`%.LKN;HtJ(dLdI*S醴yC^{ x>l>xۙ8MO)rIyv KY{Vl9ſ (DV ѿC"5:k 63?S 813ys7tzvpr& :dKjc֫5Xdmz]1/* C6Bc 9V3,*I$j5~ EEc-Zm2,EێћQ(5nA(3`yh : F ٟc 0e`|Rb) A!̟' UFM %R.LrN4ͬy[׊܌*PiDF}Y) "=";+"q[lcTs;X#ǻ|k0d%kAfZfвhKľZ脔t94a21P/Z8i|q(9]".)F{Hܟd@ 7@9,4@,zģ+n!C4 z!e"ܣ3$P0 Ir!d ơ˂_R\_ϯNLi_HKx8c:3x=$ t&k3>(_/x}E^ԘQhnJ!|,LZrGsŲpAȞM~Tc,c88=<>&zBqp aj(Aq|FM %$Iթ-l#f'q^^q$ka6-G͐\4I䁉X4a?QHc#' b +6)0hRN"gJj4VdI:#}0_Fغ;MeG4 bq@94c+]SMKb>YMbHE2$T9lw?%SD'NXFV2QBR37$y$\2vX'/5$%~XQ2u<"q7oOI&B!p7\ſ#c[thJvdhB K, Hˇˍw~\& ZP-;~3Hj]T7MJV~ĸ VX B 9v$*z\Jѷ%”NK0CHm$-("]{0!(&y8Ra?m&m9㛳5󒜝, 3)8Oͬyp}K4'q97% D$A@D4A)IEDX"hRLuBD%/ \j"toEAs`qK%"O`@4SqCD{N44m&P5R5A h2ղ c}\ѫdl-L gXSwRi8ȄPys?28$1dl]1bC/į3b;mRJC6cfLaLY)J̻cSO hK!Zכt*dZcR;H;tj2SOvMJISu@BWIo֊tOi9ƃ,CϋV&{5܌?((|_B. vp ?-!@Рsppw`"jBb(âpz4Ὠ #E8-TV{3|,ΌspPͦg%vH XΉ V~T*v3 -[^Ԩ%cT 8ʖ9Y b|>-w.S*a2 *7iKqe2L*+E\(0bȩq`e0 01H[EE"GzF7LCΘ ^ ]l>XC*p3eZYS;yOe$;oYw+Q,(g]9,$0n(^7@BmuT˼J/z*fE۳QG@cIe|j ΠF}-v_x Sѭ*L8A<L WD~UgO f &fx˺uc $V$21'2!&L?FRBf\@{o]S_rj(S66*u?8:2'x~ǘA"c O̚o&$1*j5/5hZH!ї}Ȓ'ӀS 眐r;'Sd)F5! eum88M [xݼ; {6`[#5a㝜Jx=:FD˳dnD\Txw<.n2H`Z\`>Ӽ(JB f );3>za7SA#leRdH:v0%`-BEg݈ͅLBV LJ=qnɏ(Q8sZF]]AYyhǓ$3g:XjϸWQC;ofWWGS0\{qk$vʹ:lr_4nI:I͝ y vQMr^[}~I|dLEh"9klw*>Ȍi)MxT]ɺ{=ޭݵǩgwչgޭ0i՟ 3ۚ3R߼0ޮWqXܚ ; 0 G>Cfsv4Ȗ,XuO} K<@ {xQ)9X~jFҀO 8\i:AF> ģupkrlE ~obm>\F-r*J2Ar , ,U +kK.U~]Ϸnys4i[=E& C/Vj5ef.j|Ș!JP-|WNg e9B/ݐ:sxoA>d~""83{i)o9ē^Di0 1w݌<}Ej|弼Tj鶴4RT.Y9Ynh%jJW5%ʈmG-&v&$ŭK(BQWAD=]?T?2mx8G@$)HĒM뽋qs`MӪΪ!y<ĔMs>v&w1(}+` %#@ "xQ"n>uߺl#.ѻZ)dfg%5\7Pڙp+XnЧ -^{,ooN wi~ <y?~w ؂-(` ؂-(` ؂-(` {s ؆m(` ؆m(` ؆m(` V@;P@;P@;P@;G8 x `&7a6v6_mm_g{4#0;G`w^K/^~ }zD˗;|NVpL h~f 6>~nwn6ͧ,Z[ve; h.~n~-mA7//G}D^n9 1:gwo=?/߁|gr.փm~p\ڄAS`ރ ~g~@_6te x?pc@{n?~l% 7+8T[/5M+ -uN-?9{8E_gxvs0/50s%\kdUT5d2: a{mTRb3p&bEtI[1&8+Uij#lK8I7*=JP b|I^R! =5\1"fi*HH.-I z>m֢"ÁLG`X)yرER|*7i2=B,yq 2Ʋgd؃_Vˆ8:ZN@UB%c{>NڬpOR?gSQ3.4J }X/ݓ1GB݊p/ni5RNb((KBͩD '[{;]ha ^'&yQcuHi}y2b]bt$`h r.GyF]KV+*xiVD1.XR} v*q]&3UItޱ{=u#x"2]#8oQ[-P]3{n-\A߷X\N-@f0ӟcn9[VO?vwGd /Gd}+I["<+[Kwy~p>6}P6;FYp~=D0RlU;iQ'0/@@@-$XL}AL$:ʧ$ʥ(؅c0 ywb`\l4ϳ=Zt^ӏ}M;qZM\.NkOX4a(`VVZ7ד٭ ô Zχ$ S|&8So8cQ²%j,ڸ؀q+MjygalP ȑe z *`R4՘?A鮷D6=f]#@eK/TO#t,KGԁS흽//f2 En>/l?ۢDiU6?}O/nO{_y9&8!nTOR HPNhZ1J.6!LtPhvD#3'o<;Kw=?C3 U,LUFsx߱ N+0 5uF J )^YVD=8F&?_$ '_/4Ď6DW+LqL#H}aԋ< ܏F]LG"f(ޞTD~nވS8DêoC ~8xӷ߾8xm'Gg_]YJ1r~|Ý;G;˘%SX@'f[& z&eslA_D% [A\Uyn.nsla78.&BɊqy3=U:= M<*~h %Cm+\UIƋ662.Vx)fa:*bxSzx9ebTDtrʯ&6IdUF#upp)S}P*>Aqdg{甫wPP+p0. {boBsrY9AVMFlY؅py"#EH7 O9nąMKs-"z5ZdPi,w]_[&-( ^KF$U,&A/BiuRBQV'c=2|VOO ^Wc񆉈5O؞UEd7nZ\؏ K"K4>plk{@70>yqrt@go}PgzG@Yiy'FP*#7M[ &ȑtYh@"Ttn(f^RhY",ˈt+2o@̗0u!hvW5͆ %z\¢Ll>q!Z ۠&Ա377ʕl^EEy4}Ց# Q?|ʆB֡ [tc.!Xc)8b[: -G9}W`dK'+{n5:͚Yclf Vм E1ts ք3!n_HaHd\@q+2}/*.ʳ/ Ϊg7108[lz>Bs 6Lf|@^XЀi0rq pA\X5i&1=4r; (ux)TɟQ絁-sFc &VddaȞHŘS6Zka`/hb#<ո1ؔB#脱,1*"o`ƞhər\R; _fMyId3hVqEhCst%in6@j[+ܱ,ٵhvŊ*hzrc6`HyBDQ$åZUmYy0e 5Y3Owe6k#hdp̠)!kc͚TLG/J\vf~ 2ڙ fmI~ņG=KQ6bMWt4S_>xq|vyE*7 ŪI]fܵfw3qމL{ހhc6_e=K[IAJuIfGf?snp wII*ǀ3[gG,ˋSi, ^%!-wOXmfը>`^%9]$/@sHy*,̮? ]4i#i#9 jE ]Eᖾ0̅aBvǧG_9zxytvpv+/SO=ǜҳauY9#bG~ۓ|>.aضiHzؘB' q9K\bDtgc^F%0F%Z+܉4dYc:%U0`ɧtO S)"&0, -m (cd,v/xV 2xy`Nw6gA[1"+A8 Bβ6Żtp"f~ow(fJu8,FY| $OϞL=FuA[\/+lm?y _g.-B@ThsbsγO"pL0e8"Gɼ#hw.2_2[c mqY3.?(%HI%!* Lfvo%ԨUA꜇hy@;E_K$Ͼ% #T{ãV^mٸ|>ԀU^Qf7/\(}V'C{tWI86JKRk#&ŏ p-O+I«f-UIf5.0qP.j֑'ős '!" &;xH26=o4FqEHJC# hZVTikIo|mvG+ S`t'RF;PA\$'5yY w!/O$z)vto7qqe %ІD5?1|s.GMWQ:R-B!ytL&LjXLCOք]bfhõo{~DJ`N<ǝLUtH37JgRjzI_]ONפcF3: U %UՃnF(H 6^7!GU:M %]j %G؆{;C"244N?pZ\O Ca<?ŭ u3fT!qj% WJŒu=ɣ#[[Py-VO{!;T)$ GB B&rã!CZ4Fda4+Xh+w!|\đ nYSx ~Eޔlߦ`cDO2aZ דXeΪy)ěuƗ% kH1hnk O_]""?`Ő#≸bv߆?I{;"(">tfwCeKT`{3Dlr3SndzCL)+N7.OpH#!D\\Y  ЩaA O5խy$!Gi YJ0fwF]? _8uK'ODă ͽƕ]Fs`̥2B `0Tg<;YE%q1[2lM3ofN11gHR:Baj)M-+N1 ~ۋXAr7>G @gȩ_6/g!Xw1k]v^9U-S8|)e"3 e&q ԕM'UEdyۂrO8= qĕO@1h1^8;*hH\g|.Gou:"ّ~#'h(çDuv 5+嫪|>f9=z*X gbO ;w5Bm/c5;;tœ3a$JQNyo_E$OdL_(aBhmʇ|J(B )VMnvǻ md}v6t0 't܄pJcbY,tE-xE(M eZ BeCd)v$>w OtF6:k!k񡟺{p/ڸIY0 iі,c*Zlp&<|ʐha}(bİK XT]`^L0n'=_`d"Lڔg:R#bNa!A({E/2;\_Dɔ?!]U}+d)~Ɣj 񰂆5'H8zHCлl^\r+V BepFi֚:[dIXdxM5 ro递x5?#aԉ5nr1Gϟaaؙ@*lVQʜd@郘wppWp!&Pϫ,. CPM*OLm.ҁq-̸Δ.\H:Kz¼Bz;n##&!JIȰJf%~K$%fCa+]Ve+@?(fDZ~J͒#;VY}?=n\#"7rBw$ݷ(*t2M[7aij p n_8j'#.bԡjЩoFaGcLŤht]'KkFB1=)09i:;gnfuӚ#DuߔW<_zO/Z5Yg;lp-׈ӣ#2O>p(pGA \u(z!BobWnn:?mhfG_>)6>ylw|10K7_r&n<8ݯ/k.n[N|IŐby2*;yh0c)i DU B}_M=6D_5\m)MA L-IґZ(42W+ "b'Wu>"I^"iF~sEۑ? ғa%q%t j+M<ɉ|"lLK ) "2(UzR]"GDZƥqd˿Oo#炏L' Kxk-޾h6_ƮrmApS,?pP ۿ]l!ʟGۏ6g{϶g,S2vW'}*GP߿s9$=2t dm3gJ?¹ KRucYoPu `$"V#r`G_ףw@t0MoYg|ƝrHпނP/r?)WO!Ni _@LSu:347 [GZN?q, '|z6m _ٯT7o)yaXş >E(f薑f/k '+.cݖ^lH5 HfAaT E[:L;_ 2O''[ peP#rƆpQls~JuЛ,wzȃEݣ}Eoӯ+_gmўԪH6 LAtf0>Ja}Dn*`6f|v@I:YɀwNƌ3[)4(b7f*owvTiC!_>zÂ1 Iuq2b\xT% !\0Luϧ}1ֈ1"(gRQHX'ULq&X[.e2ӭוd"}~%HY#8ftP=$qh%]uL+^}h!ba 1[Bn15Fq|œЯxg}LS]趬)dY20# 2~Gsϒv-6\!Aq`$xkD5[(U9ddU} ֈXTO)6fJGޙ﹟ՀRήUCF0rfH YG({נ9^F;C41SHG(M@o.Πp,D6kCgkň/*0lDq4t9l/SN]*s$c⍈=[SO/<%D5ڰڃ& l9bkX[DYO͊/ O(BSUd'C[.rRB|\li J8~ex+zN=^C1ZDg&+ @k}zڃ?Y")^ 4#qXЅ3՞QYP,֧%4UD=Qh-M̯IjHղQaY$ת7;pP|wgc#s%°P0r3(P*Șp{[2 R=ϯ1;(9hJqqiT_u/xY.$wm=k*1 ZGMZxᅗpjFFEF\YyQ R## qÄSN> G= ڸ,f`ܜAGSr WrEF&iXFV~.aM X VϝNZ\x(B2!I'7ӱb\rz >³Ns~(ZFKF`cUBVѮd9QˏO'j{t4<\0"x&e[H9[1џGp#8EU|t.Uhz2`R˱ WAOžwW ZH1B} NĽuX~A46[MNM }Uxv*hTRMؕ}yÊ[Z r}9b@ #gS=XSd~u: 1牾)NH5ߐ=(.)8Ǽ-iQ5F[^Bhʺ@̿ƠHIwJ\46>0j{eTѵ 4{5*#-9  ƻ[b[wn++}Xq,bHiG, Jߗb5 q 7ŎRvz=Q쫆Y_HmX1  6nL2D7ZDq1-tDIi=Y4;= ܛ,}Q;ht@+ZU絏3 0ThI*`=ۋeC]^7>X7ޠҍ@CO^s?O>ܱlPz{66SQLAH10QU µ1l+R <%5il|)e|9=G"x2c\;X>9:8;߿xo8R|Kb֢5>Ngހ3mU!Q[̾ }B 13h\?E`8냏OxW=ZN~i X㩛B=^\}܉?!BQe$&TQ{N7_@-H+%-_E 5zEIJY,`O^FBq:0(iP}4辚[^["$ {ѵ 3e>NU+D'(_d|> 7WyLgQ1g G6\K6Yfd6$*gWGzetk43L_Yd)8WNXWd"(v(i..$G5:X4yS}4زߑWS@Fdy~˅ArMJɑG9Х.)S0-)QR%4fb=Wl_f }'>7QسhG5v!WNsG&tXE ʥ?5ϊZz̥usàoh6VNrԤgŅfF<6Ȣ˗C ӮQRUawlUXZeL< vP*EI1 69F5b@p-O=*}L;K|4q£$sxo-=V833B5\Ad7 ,|uH:,?n: ٭ Hn>:>^9Ԓz9+ksp_` HBQuD8J&&Os$C9ʍhAt[p HV35e??x.[zD'}ޢ?D#ЬwbW1.rD?bZMKkS3X% I &xkË9~;'!ZiEt^)5{TsPbL 孽GHunFX0>tE$1T| J>Ѥ"\r~ 1j)%\3YddAJw\-7L.NӃO?'/k^*LVcՠ1҈霽gӆ:'VJmg6iZz z`uR'nGi^lƢ-J[>$S+56dCKj\2ưk.g! 춱i\#}~1EIN"RyюrlS1C|ݞ_Ve?I}iM}^FDMHÝ~}v(A/eWǐ:KxP *߀!Ѯ<0Uˌ"uހRXPv8ͱ^5=иrf߳{pd0*sh5rtl:RR-:ep-go7 ,bhшܡOl$B06w"i֯ QftDL} Û}b< 3ԨyF:/U8O zM`q<)N?ylh[5mS;v-2&Mbdfrb_o_3#F꺏[6QPywpO/N߾~v >8;|<4A_.ñ!hcH@䮪rVR׃s>"k|?1*Zdy%O"p}~s’Hhו,:~Em2Ny=¡}ugG޲/y3Ko6!0(/Ts @i\\K 4: !%nq~iz*yu ې1Zpo+,9O>쪺 y%\)SDm[$UǍ'rAyB>fܯ-X, (^ Rܻq *@~oFȜzQdxpf U]@Z,{HxI@FV̶ a VW0tLW^8#J&Z#UD#3^a4Ҍ\2ҥ`찘PYcQΚhT蚢HqEQ'IL(| 32s,(_rj熯14o5YEHX&b yFޚf8@#Zl@pˍ@Hyf>5~i; L[Üv0AaO۟^82ለ>ʽRt(i̐^}m4i?8?zڶBЈJpuTƨ%ZKX_qN2IXUH F쫔'c\ sV%~+ݨ x+`k}y)(#r3TFy˴4s[^EeRq%Sǫ+yMi-DF i[R7ڌ}3vGD,y %,g !-/5U.AQu A 6`^Azmel0bgUE {Z&%= . K(,:#.Jb7@~ǰ8Uϊ`fnSt̬fMS"U!$=0N"#\?&Q 㻏3%%rG7s|1٥Ib9 Ԧ}T E2#cSP=F1_:Bs x1OKH:d`<{ -xdzЂJAI-&TPViFű &0S@~R x@% ΃Y/4/V7ظG'o?\4y}oOɀ7t:<-O__19聦x^S!Ơ4#r\KҰ).d.J`ϭS4ԥ4ʝ #jYh;_BN-zo xktUUG2am<;KCur Ӕ3H"e0`<޽޵t N/(ZBYP%  _x k=)MrosHyLR*x;0$˵Ə^KMLX2D5N vbћڽX+ ͇ulJ|ipq 0!$Ǎa?<{rT>zwl9\aL<_A  8. pV`b* !h]kҷOLGqX8o7NmbzZܕsye MN/ҍIVl"KIvh#HcA ]R?N0ɦ<<p`hd;9Y_r+S\M&|7xB@QԬ!OY8BSȚz\AQ\Ft3lm)[Ea3 pWOVցF4I8#~!ZQ"B@ 9$ !o`zlJecS+G$z Dw5'EiF}ƀ Ra6e'A)E}%wpl6>t;AV7z;D7 ozX y޿;~svt;1skԜVW}|4# m= %<ޮ;N $(8g 4M#n˃ n4:9:JGUE)y;[' Ro%Ut)+BMnZu"HlĐ^А 4NN훷'>~i2moH2(2axAc66)AkДsJ׆%Srfauvf&A *=z6ln .FJMx11WČޢ)ќt@N\ {aek2_V”ӌɍ57b|;'i• ˁeUE7˸&>'4ihWVa bW貒x]] g|C+ $e鎅ԵR%4,5u J{_n9d/1 tS?QVYQˤ% $Vt:LB8DnQPbqF!Up߾;:9@`-H}U Hu97wr kN!&r:ԎyT-3/r'Rk#'!Ibxk 3G%6e0.Z|7#ш[2bc嶕%y0:ÔeRObx:$jsBzYCP"Sj^35%9n?4e`G6d :K8{`iZfD=m,*D,o[aZYهK6b ⵋV&2B5U=r1<GO+3W]ecLHKgG:.8˨E('N99ⶌ)ZpH=ɮ4AyFp߷uQdX`A'E!HC9bx $Eу{lОLG-U"Ck7jF[&vJ2v1쯼A֣S@ҟke|:f'uEs4k.d!K^[tkd-lتEI_W"RdԱK%x.t+^iOFr ejϢuiC/4pMV͜#_$q' htduT`EhX6>hNѪ_V-֞z1X5 Ah hu;͛KߵIJn̵xWD$՜h '򐖾b| I@yiiwKwffKaݩ_,2ӎ]7K]9Sjvj:k.kvfўR8J/s ۟N^}=. h-1) [xZ@h/ m*v,049܉Łv%SN, gyy|rt3̱#F>DbCFɅ|N. @7B'[ozJpVʼn fuET.+:쮼蚏''ihڏv kY~.I-X$f-bYl"#د79s:%{JHYa@6˩ N@_p!@Cnʈ:~%W d#U%c1#@le7ZP-hL[%-&hT|bKŋmUԇD%fwT!Oy1#XW&e%MQ|pYUw΂Q\w/yOr&cNt1ݓ, 3&jvgY΄Jϙ6*B b$+w˔f-RUA(/ lM4І[[/AAC/? $yC6qCS{Gg"\ ˛b_({[˅g-g.[n뉤ڦ*v,퐅kiB>ɂzQ0HiGGt;'!䘋ܗnK߼0M0\ 3XL W$Xfq ':)0:;›^'K`Ye4'YC/[iޫs q2P,[p-HA8}Єkӄg1Ir qћ?>*k^z\e& csob^G(3hT|(Mi>wΫ L@mȢm1:TE z s<8yWhsD aZBXG?|, jk;g{tvKyIdqJp ųp%3h(Xa']  'qP]zᩌ>R^ #NU !fBG`6ɶL$J4IkL+WA=FikM1kX iKqe7]fʞ aHj #)g4|>6:X֝xz=\tU:PkK.='xU[KbRۀ51 ;]HjJ̇gcFՠoI4PڀK4ϴxE_(,[wߋrR/B9˚e3. mҢ6V(k['' b _Z8oO^2{ɋYdwsI߫O76n.~:4csYM n-|n{kwwlaPt<-z[O?!but>*ӱ'<7v*د$?Xj/A {gN S y+l;N~<899xsv|tJM)NO{֊<<+B}*6vͭGOm?)m?}\\7 8d>O6m\iqpist)llP5'zTnn d"HY4e3^?zE=;72'##wМ ^&@ÍfPj ۶*&Mt!:x&'߾4T^"~q.Nd | k\9kaufVUGN|ɧ'bt|ߍ>'ED3#3Rf!CҴ<#3af9$:ۢQϑ,*1מ_nM`h<)cח7h Yk=R;Ux['RlQX$9i̮s%TV#n#H P}$ݯ)cQ}T3B<6 BVA`Yg}BG GC`Ð|ڊEn+n` ƍmXmġB9YB6ct0z, V#7\,L%]B-2ǢnӒQ&5}i=!M*?]A~~r}ǯ @* kPѺ/%0W6c#*7 {Fy O ~%Q&'}$YWDZA X("ޮTrn )] h<1XӐ+pS y11-)cN39>> ja)"C*=@NEXBJrÈR-fc:>1h֩ V%uv)L㘡.rMvVAKKp/uӄԲe{-n{i t*t5ԯ`R#N,~5VSGcQAuTjVhm