From 6deca76e4c5228589ddbf9ad036768ca5423b115 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Wed, 27 Mar 2002 05:33:19 +0000 Subject: Broke out stuff into other files. (This used to be commit 9eb3eb8513e82ec11cb8db671cfb5be45619d3fd) --- source3/python/py_spoolss.c | 762 ++------------------------------------------ 1 file changed, 19 insertions(+), 743 deletions(-) (limited to 'source3/python') diff --git a/source3/python/py_spoolss.c b/source3/python/py_spoolss.c index 4d64ab0a76..fd05c7e302 100644 --- a/source3/python/py_spoolss.c +++ b/source3/python/py_spoolss.c @@ -24,8 +24,6 @@ #include "python/py_common.h" #include "python/py_conv.h" #include "python/py_spoolss.h" -#include "python/py_spoolss_forms.h" -#include "python/py_spoolss_ports.h" /* Exceptions this module can raise */ @@ -35,182 +33,6 @@ PyObject *spoolss_error, *spoolss_werror; * Routines to convert from python hashes to Samba structures */ -struct pyconv py_PRINTER_INFO_0[] = { - { "printer_name", PY_UNISTR, offsetof(PRINTER_INFO_0, printername) }, - { "server_name", PY_UNISTR, offsetof(PRINTER_INFO_0, servername) }, - - { "cjobs", PY_UINT32, offsetof(PRINTER_INFO_0, cjobs) }, - { "total_jobs", PY_UINT32, offsetof(PRINTER_INFO_0, total_jobs) }, - { "total_bytes", PY_UINT32, offsetof(PRINTER_INFO_0, total_bytes) }, - - { "year", PY_UINT16, offsetof(PRINTER_INFO_0, year) }, - { "month", PY_UINT16, offsetof(PRINTER_INFO_0, month) }, - { "day_of_week", PY_UINT16, offsetof(PRINTER_INFO_0, dayofweek) }, - { "day", PY_UINT16, offsetof(PRINTER_INFO_0, day) }, - { "hour", PY_UINT16, offsetof(PRINTER_INFO_0, hour) }, - { "minute", PY_UINT16, offsetof(PRINTER_INFO_0, minute) }, - { "second", PY_UINT16, offsetof(PRINTER_INFO_0, second) }, - { "milliseconds", PY_UINT16, offsetof(PRINTER_INFO_0, milliseconds) }, - - { "global_counter", PY_UINT32, offsetof(PRINTER_INFO_0, global_counter) }, - { "total_pages", PY_UINT32, offsetof(PRINTER_INFO_0, total_pages) }, - - { "major_version", PY_UINT16, offsetof(PRINTER_INFO_0, major_version) }, - { "build_version", PY_UINT16, offsetof(PRINTER_INFO_0, build_version) }, - - { "unknown7", PY_UINT32, offsetof(PRINTER_INFO_0, unknown7) }, - { "unknown8", PY_UINT32, offsetof(PRINTER_INFO_0, unknown8) }, - { "unknown9", PY_UINT32, offsetof(PRINTER_INFO_0, unknown9) }, - { "session_counter", PY_UINT32, offsetof(PRINTER_INFO_0, session_counter)}, - { "unknown11", PY_UINT32, offsetof(PRINTER_INFO_0, unknown11) }, - { "printer_errors", PY_UINT32, offsetof(PRINTER_INFO_0, printer_errors) }, - { "unknown13", PY_UINT32, offsetof(PRINTER_INFO_0, unknown13) }, - { "unknown14", PY_UINT32, offsetof(PRINTER_INFO_0, unknown14) }, - { "unknown15", PY_UINT32, offsetof(PRINTER_INFO_0, unknown15) }, - { "unknown16", PY_UINT32, offsetof(PRINTER_INFO_0, unknown16) }, - { "change_id", PY_UINT32, offsetof(PRINTER_INFO_0, change_id) }, - { "unknown18", PY_UINT32, offsetof(PRINTER_INFO_0, unknown18) }, - { "status", PY_UINT32, offsetof(PRINTER_INFO_0, status) }, - { "unknown20", PY_UINT32, offsetof(PRINTER_INFO_0, unknown20) }, - { "c_setprinter", PY_UINT32, offsetof(PRINTER_INFO_0, c_setprinter) }, - { "unknown22", PY_UINT32, offsetof(PRINTER_INFO_0, unknown22) }, - { "unknown23", PY_UINT32, offsetof(PRINTER_INFO_0, unknown23) }, - { "unknown24", PY_UINT32, offsetof(PRINTER_INFO_0, unknown24) }, - { "unknown25", PY_UINT32, offsetof(PRINTER_INFO_0, unknown25) }, - { "unknown26", PY_UINT32, offsetof(PRINTER_INFO_0, unknown26) }, - { "unknown27", PY_UINT32, offsetof(PRINTER_INFO_0, unknown27) }, - { "unknown28", PY_UINT32, offsetof(PRINTER_INFO_0, unknown28) }, - { "unknown29", PY_UINT32, offsetof(PRINTER_INFO_0, unknown29) }, - - { NULL } -}; - -struct pyconv py_PRINTER_INFO_1[] = { - { "printer_name", PY_UNISTR, offsetof(PRINTER_INFO_1, name) }, - { "description", PY_UNISTR, offsetof(PRINTER_INFO_1, description) }, - { "comment", PY_UNISTR, offsetof(PRINTER_INFO_1, comment) }, - { "flags", PY_UINT32, offsetof(PRINTER_INFO_1, flags) }, - { NULL } -}; - -struct pyconv py_PRINTER_INFO_2[] = { - { "server_name", PY_UNISTR, offsetof(PRINTER_INFO_2, servername) }, - { "printer_name", PY_UNISTR, offsetof(PRINTER_INFO_2, printername) }, - { "share_name", PY_UNISTR, offsetof(PRINTER_INFO_2, sharename) }, - { "port_name", PY_UNISTR, offsetof(PRINTER_INFO_2, portname) }, - { "driver_name", PY_UNISTR, offsetof(PRINTER_INFO_2, drivername) }, - { "comment", PY_UNISTR, offsetof(PRINTER_INFO_2, comment) }, - { "location", PY_UNISTR, offsetof(PRINTER_INFO_2, location) }, - { "datatype", PY_UNISTR, offsetof(PRINTER_INFO_2, datatype) }, - { "sepfile", PY_UNISTR, offsetof(PRINTER_INFO_2, sepfile) }, - { "print_processor", PY_UNISTR, offsetof(PRINTER_INFO_2, printprocessor) }, - { "parameters", PY_UNISTR, offsetof(PRINTER_INFO_2, parameters) }, - { "attributes", PY_UINT32, offsetof(PRINTER_INFO_2, attributes) }, - { "default_priority", PY_UINT32, offsetof(PRINTER_INFO_2, defaultpriority) }, - { "priority", PY_UINT32, offsetof(PRINTER_INFO_2, priority) }, - { "start_time", PY_UINT32, offsetof(PRINTER_INFO_2, starttime) }, - { "until_time", PY_UINT32, offsetof(PRINTER_INFO_2, untiltime) }, - { "status", PY_UINT32, offsetof(PRINTER_INFO_2, status) }, - { "cjobs", PY_UINT32, offsetof(PRINTER_INFO_2, cjobs) }, - { "average_ppm", PY_UINT32, offsetof(PRINTER_INFO_2, averageppm) }, - { NULL } -}; - -struct pyconv py_PRINTER_INFO_3[] = { - { "flags", PY_UINT32, offsetof(PRINTER_INFO_3, flags) }, - { NULL } -}; - -struct pyconv py_DEVICEMODE[] = { - { "device_name", PY_UNISTR, offsetof(DEVICEMODE, devicename) }, - { "spec_version", PY_UINT16, offsetof(DEVICEMODE, specversion) }, - { "driver_version", PY_UINT16, offsetof(DEVICEMODE, driverversion) }, - { "size", PY_UINT16, offsetof(DEVICEMODE, size) }, - { "fields", PY_UINT16, offsetof(DEVICEMODE, fields) }, - { "orientation", PY_UINT16, offsetof(DEVICEMODE, orientation) }, - { "paper_size", PY_UINT16, offsetof(DEVICEMODE, papersize) }, - { "paper_width", PY_UINT16, offsetof(DEVICEMODE, paperwidth) }, - { "paper_length", PY_UINT16, offsetof(DEVICEMODE, paperlength) }, - { "scale", PY_UINT16, offsetof(DEVICEMODE, scale) }, - { "copies", PY_UINT16, offsetof(DEVICEMODE, copies) }, - { "default_source", PY_UINT16, offsetof(DEVICEMODE, defaultsource) }, - { "print_quality", PY_UINT16, offsetof(DEVICEMODE, printquality) }, - { "color", PY_UINT16, offsetof(DEVICEMODE, color) }, - { "duplex", PY_UINT16, offsetof(DEVICEMODE, duplex) }, - { "y_resolution", PY_UINT16, offsetof(DEVICEMODE, yresolution) }, - { "tt_option", PY_UINT16, offsetof(DEVICEMODE, ttoption) }, - { "collate", PY_UINT16, offsetof(DEVICEMODE, collate) }, - { "form_name", PY_UNISTR, offsetof(DEVICEMODE, formname) }, - { "log_pixels", PY_UINT16, offsetof(DEVICEMODE, logpixels) }, - { "bits_per_pel", PY_UINT32, offsetof(DEVICEMODE, bitsperpel) }, - { "pels_width", PY_UINT32, offsetof(DEVICEMODE, pelswidth) }, - { "pels_height", PY_UINT32, offsetof(DEVICEMODE, pelsheight) }, - { "display_flags", PY_UINT32, offsetof(DEVICEMODE, displayflags) }, - { "display_frequency", PY_UINT32, offsetof(DEVICEMODE, displayfrequency) }, - { "icm_method", PY_UINT32, offsetof(DEVICEMODE, icmmethod) }, - { "icm_intent", PY_UINT32, offsetof(DEVICEMODE, icmintent) }, - { "media_type", PY_UINT32, offsetof(DEVICEMODE, mediatype) }, - { "dither_type", PY_UINT32, offsetof(DEVICEMODE, dithertype) }, - { "reserved1", PY_UINT32, offsetof(DEVICEMODE, reserved1) }, - { "reserved2", PY_UINT32, offsetof(DEVICEMODE, reserved2) }, - { "panning_width", PY_UINT32, offsetof(DEVICEMODE, panningwidth) }, - { "panning_height", PY_UINT32, offsetof(DEVICEMODE, panningheight) }, - { NULL } -}; - -struct pyconv py_DRIVER_INFO_1[] = { - { "name", PY_UNISTR, offsetof(DRIVER_INFO_1, name) }, - { NULL } -}; - -struct pyconv py_DRIVER_INFO_2[] = { - { "version", PY_UINT32, offsetof(DRIVER_INFO_2, version) }, - { "name", PY_UNISTR, offsetof(DRIVER_INFO_2, name) }, - { "architecture", PY_UNISTR, offsetof(DRIVER_INFO_2, architecture) }, - { "driver_path", PY_UNISTR, offsetof(DRIVER_INFO_2, driverpath) }, - { "data_file", PY_UNISTR, offsetof(DRIVER_INFO_2, datafile) }, - { "config_file", PY_UNISTR, offsetof(DRIVER_INFO_2, configfile) }, - { NULL } -}; - -struct pyconv py_DRIVER_INFO_3[] = { - { "version", PY_UINT32, offsetof(DRIVER_INFO_3, version) }, - { "name", PY_UNISTR, offsetof(DRIVER_INFO_3, name) }, - { "architecture", PY_UNISTR, offsetof(DRIVER_INFO_3, architecture) }, - { "driver_path", PY_UNISTR, offsetof(DRIVER_INFO_3, driverpath) }, - { "data_file", PY_UNISTR, offsetof(DRIVER_INFO_3, datafile) }, - { "config_file", PY_UNISTR, offsetof(DRIVER_INFO_3, configfile) }, - { "help_file", PY_UNISTR, offsetof(DRIVER_INFO_3, helpfile) }, - /* dependentfiles */ - { "monitor_name", PY_UNISTR, offsetof(DRIVER_INFO_3, monitorname) }, - { "default_datatype", PY_UNISTR, offsetof(DRIVER_INFO_3, defaultdatatype) }, - { NULL } -}; - -struct pyconv py_DRIVER_INFO_6[] = { - { "version", PY_UINT32, offsetof(DRIVER_INFO_6, version) }, - { "name", PY_UNISTR, offsetof(DRIVER_INFO_6, name) }, - { "architecture", PY_UNISTR, offsetof(DRIVER_INFO_6, architecture) }, - { "driver_path", PY_UNISTR, offsetof(DRIVER_INFO_6, driverpath) }, - { "data_file", PY_UNISTR, offsetof(DRIVER_INFO_6, datafile) }, - { "config_file", PY_UNISTR, offsetof(DRIVER_INFO_6, configfile) }, - { "help_file", PY_UNISTR, offsetof(DRIVER_INFO_6, helpfile) }, - /* dependentfiles */ - { "monitor_name", PY_UNISTR, offsetof(DRIVER_INFO_6, monitorname) }, - { "default_datatype", PY_UNISTR, offsetof(DRIVER_INFO_6, defaultdatatype) }, - /* driver_date */ - - { "padding", PY_UINT32, offsetof(DRIVER_INFO_6, padding) }, - { "driver_version_low", PY_UINT32, offsetof(DRIVER_INFO_6, driver_version_low) }, - { "driver_version_high", PY_UINT32, offsetof(DRIVER_INFO_6, driver_version_high) }, - { "mfg_name", PY_UNISTR, offsetof(DRIVER_INFO_6, mfgname) }, - { "oem_url", PY_UNISTR, offsetof(DRIVER_INFO_6, oem_url) }, - { "hardware_id", PY_UNISTR, offsetof(DRIVER_INFO_6, hardware_id) }, - { "provider", PY_UNISTR, offsetof(DRIVER_INFO_6, provider) }, - - { NULL } -}; - /* Return a cli_state struct opened on the SPOOLSS pipe. If credentials are passed use them. */ @@ -218,9 +40,9 @@ typedef struct cli_state *(cli_pipe_fn)( struct cli_state *cli, char *system_name, struct ntuser_creds *creds); -static struct cli_state *open_pipe_creds(char *system_name, PyObject *creds, - cli_pipe_fn *connect_fn, - struct cli_state *cli) +struct cli_state *open_pipe_creds(char *system_name, PyObject *creds, + cli_pipe_fn *connect_fn, + struct cli_state *cli) { struct ntuser_creds nt_creds; @@ -302,564 +124,15 @@ static PyObject *new_policy_hnd_object(struct cli_state *cli, return (PyObject*)o; } -/* Open a printer */ - -static PyObject *spoolss_openprinter(PyObject *self, PyObject *args, - PyObject *kw) -{ - char *full_name, *computer_name = NULL; - TALLOC_CTX *mem_ctx; - POLICY_HND hnd; - WERROR werror; - PyObject *result = NULL, *creds = NULL; - static char *kwlist[] = { "printername", "creds", "access", NULL }; - uint32 desired_access = MAXIMUM_ALLOWED_ACCESS; - struct cli_state *cli; - - if (!PyArg_ParseTupleAndKeywords( - args, kw, "s|O!i", kwlist, &full_name, &PyDict_Type, &creds, - &desired_access)) { - - goto done; - } - - /* FIXME: Return name format exception for names without a UNC - prefix */ - - computer_name = strdup(full_name + 2); - - if (strchr(computer_name, '\\')) { - char *c = strchr(computer_name, '\\'); - *c = 0; - } - - if (!(cli = open_pipe_creds(computer_name, creds, - cli_spoolss_initialise, NULL))) { - fprintf(stderr, "could not initialise cli state\n"); - goto done; - } - - if (!(mem_ctx = talloc_init())) { - fprintf(stderr, "unable to initialise talloc context\n"); - goto done; - } - - werror = cli_spoolss_open_printer_ex( - cli, mem_ctx, full_name, "", desired_access, computer_name, - "", &hnd); - - if (!W_ERROR_IS_OK(werror)) { - cli_shutdown(cli); - SAFE_FREE(cli); - PyErr_SetObject(spoolss_werror, - PyInt_FromLong(W_ERROR_V(werror))); - goto done; - } - - result = new_policy_hnd_object(cli, mem_ctx, &hnd); - - done: - SAFE_FREE(computer_name); - - return result; -} - -/* Close a printer */ - -static PyObject *spoolss_closeprinter(PyObject *self, PyObject *args) -{ - PyObject *po; - spoolss_policy_hnd_object *hnd; - WERROR result; - - /* Parse parameters */ - - if (!PyArg_ParseTuple(args, "O!", &spoolss_policy_hnd_type, &po)) - return NULL; - - hnd = (spoolss_policy_hnd_object *)po; - - /* Call rpc function */ - - result = cli_spoolss_close_printer(hnd->cli, hnd->mem_ctx, &hnd->pol); - - /* Cleanup samba stuf */ - - cli_shutdown(hnd->cli); - talloc_destroy(hnd->mem_ctx); - - /* Return value */ - - Py_INCREF(Py_None); - return Py_None; -} - -/* Fetch printer driver */ - -static PyObject *spoolss_getprinterdriver(PyObject *self, PyObject *args, - PyObject *kw) -{ - spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; - WERROR werror; - PyObject *result; - PRINTER_DRIVER_CTR ctr; - int level = 1; - uint32 needed; - char *arch = "Windows NT x86"; - static char *kwlist[] = {"level", "arch", NULL}; - - /* Parse parameters */ - - if (!PyArg_ParseTupleAndKeywords(args, kw, "|is", kwlist, - &level, &arch)) - return NULL; - - /* Call rpc function */ - - werror = cli_spoolss_getprinterdriver( - hnd->cli, hnd->mem_ctx, 0, &needed, &hnd->pol, level, - arch, &ctr); - - if (W_ERROR_V(werror) == ERRinsufficientbuffer) - werror = cli_spoolss_getprinterdriver( - hnd->cli, hnd->mem_ctx, needed, NULL, &hnd->pol, - level, arch, &ctr); - - /* Return value */ - - result = Py_None; - - if (W_ERROR_IS_OK(werror)) { - switch (level) { - case 1: - result = from_struct(&ctr.info1, py_DRIVER_INFO_1); - break; - case 2: - result = from_struct(&ctr.info2, py_DRIVER_INFO_2); - break; - case 6: - result = from_struct(&ctr.info6, py_DRIVER_INFO_6); - break; - default: - result = Py_None; - break; - } - } - - Py_INCREF(result); - return result; -} - -/* Enumerate printer drivers */ - -static PyObject *spoolss_enumprinterdrivers(PyObject *self, PyObject *args, - PyObject *kw) -{ - spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; - WERROR werror; - PyObject *result; - PRINTER_DRIVER_CTR ctr; - int level = 1, i; - uint32 needed, num_drivers; - char *arch = "Windows NT x86"; - static char *kwlist[] = {"level", "arch", NULL}; - - /* Parse parameters */ - - if (!PyArg_ParseTupleAndKeywords(args, kw, "|is", kwlist, - &level, &arch)) - return NULL; - - /* Call rpc function */ - - werror = cli_spoolss_enumprinterdrivers( - hnd->cli, hnd->mem_ctx, 0, &needed, level, arch, - &num_drivers, &ctr); - - if (W_ERROR_V(werror) == ERRinsufficientbuffer) - werror = cli_spoolss_enumprinterdrivers( - hnd->cli, hnd->mem_ctx, needed, NULL, level, arch, - &num_drivers, &ctr); - - /* Return value */ - - result = Py_None; - - if (!W_ERROR_IS_OK(werror)) - goto done; - - switch (level) { - case 1: - result = PyList_New(num_drivers); - - for (i = 0; i < num_drivers; i++) { - PyObject *value; - - value = from_struct(&ctr.info1, py_DRIVER_INFO_1); - PyList_SetItem(result, i, value); - } - - break; - case 2: - result = PyList_New(num_drivers); - - for(i = 0; i < num_drivers; i++) { - PyObject *value; - - value = from_struct(&ctr.info2, py_DRIVER_INFO_2); - PyList_SetItem(result, i, value); - } - - break; - case 6: - result = PyList_New(num_drivers); - - for(i = 0; i < num_drivers; i++) { - PyObject *value; - - value = from_struct(&ctr.info2, py_DRIVER_INFO_6); - PyList_SetItem(result, i, value); - } - - break; - default: - result = Py_None; - break; - } - - done: - Py_INCREF(result); - return result; -} - -/* Convert a security descriptor to a Python dict */ - -static PyObject *PySID_FromSID(DOM_SID *sid) -{ - fstring sidstr; - - if (!sid) { - Py_INCREF(Py_None); - return Py_None; - } - - if (sid_to_string(sidstr, sid)) - return PyString_FromString(sidstr); - - Py_INCREF(Py_None); - return Py_None; -} - -static PyObject *PyACE_FromACE(SEC_ACE *ace) -{ - PyObject *obj; - - if (!ace) { - Py_INCREF(Py_None); - return Py_None; - } - - obj = PyDict_New(); - - PyDict_SetItemString(obj, "type", PyInt_FromLong(ace->type)); - PyDict_SetItemString(obj, "flags", PyInt_FromLong(ace->flags)); - PyDict_SetItemString(obj, "mask", PyInt_FromLong(ace->info.mask)); - - PyDict_SetItemString(obj, "trustee", PySID_FromSID(&ace->trustee)); - - return obj; -} - -static PyObject *PyACL_FromACL(SEC_ACL *acl) -{ - PyObject *obj, *ace_list; - int i; - - if (!acl) { - Py_INCREF(Py_None); - return Py_None; - } - - obj = PyDict_New(); - - PyDict_SetItemString(obj, "revision", PyInt_FromLong(acl->revision)); - - ace_list = PyList_New(acl->num_aces); - - for (i = 0; i < acl->num_aces; i++) - PyList_SetItem(ace_list, i, PyACE_FromACE(&acl->ace[i])); - - PyDict_SetItemString(obj, "ace_list", ace_list); - - return obj; -} - -static PyObject *PySECDESC_FromSECDESC(SEC_DESC *sd) -{ - PyObject *obj = PyDict_New(); - - PyDict_SetItemString(obj, "revision", PyInt_FromLong(sd->revision)); - PyDict_SetItemString(obj, "type", PyInt_FromLong(sd->type)); - - PyDict_SetItemString(obj, "owner_sid", PySID_FromSID(sd->owner_sid)); - PyDict_SetItemString(obj, "group_sid", PySID_FromSID(sd->grp_sid)); - - PyDict_SetItemString(obj, "dacl", PyACL_FromACL(sd->dacl)); - PyDict_SetItemString(obj, "sacl", PyACL_FromACL(sd->sacl)); - - return obj; -} - -PyObject *PyDEVICEMODE_FromDEVICEMODE(DEVICEMODE *devmode) -{ - PyObject *obj; - - obj = from_struct(devmode, py_DEVICEMODE); - - PyDict_SetItemString(obj, "private", - PyString_FromStringAndSize(devmode->private, - devmode->driverextra)); - - return obj; -} - -/* Fetch printer information */ - -static PyObject *spoolss_getprinter(PyObject *self, PyObject *args, - PyObject *kw) -{ - spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; - WERROR werror; - PyObject *result; - PRINTER_INFO_CTR ctr; - int level = 1; - uint32 needed; - static char *kwlist[] = {"level", NULL}; - - /* Parse parameters */ - - if (!PyArg_ParseTupleAndKeywords(args, kw, "|i", kwlist, &level)) - return NULL; - - /* Call rpc function */ - - werror = cli_spoolss_getprinter( - hnd->cli, hnd->mem_ctx, 0, &needed, &hnd->pol, level, &ctr); - - if (W_ERROR_V(werror) == ERRinsufficientbuffer) - werror = cli_spoolss_getprinter( - hnd->cli, hnd->mem_ctx, needed, NULL, &hnd->pol, - level, &ctr); - - /* Return value */ - - result = Py_None; - - if (!W_ERROR_IS_OK(werror)) - goto done; - - switch (level) { - - case 0: - result = from_struct(ctr.printers_0, py_PRINTER_INFO_0); - - break; - - case 1: - result = from_struct(ctr.printers_1, py_PRINTER_INFO_1); - - break; - - case 2: - result = from_struct(ctr.printers_2, py_PRINTER_INFO_2); - - PyDict_SetItemString(result, "security_descriptor", - PySECDESC_FromSECDESC( - ctr.printers_2->secdesc)); - - PyDict_SetItemString(result, "device_mode", - PyDEVICEMODE_FromDEVICEMODE( - ctr.printers_2->devmode)); - - break; - - case 3: - result = from_struct(ctr.printers_3, py_PRINTER_INFO_3); - - PyDict_SetItemString(result, "security_descriptor", - PySECDESC_FromSECDESC( - ctr.printers_3->secdesc)); - break; - - default: - result = Py_None; - break; - } - done: - Py_INCREF(result); - return result; -} - -/* Set printer information */ - -static PyObject *spoolss_setprinter(PyObject *self, PyObject *args, - PyObject *kw) -{ - spoolss_policy_hnd_object *hnd = (spoolss_policy_hnd_object *)self; - WERROR werror; - PyObject *result, *info; - PRINTER_INFO_CTR ctr; - int level = 1; - static char *kwlist[] = {"dict", "level", NULL}; - union { - PRINTER_INFO_0 printers_0; - PRINTER_INFO_1 printers_1; - PRINTER_INFO_2 printers_2; - PRINTER_INFO_3 printers_3; - PRINTER_INFO_4 printers_4; - PRINTER_INFO_5 printers_5; - } pinfo; - - /* Parse parameters */ - - if (!PyArg_ParseTupleAndKeywords(args, kw, "O!|i", kwlist, - &PyDict_Type, &info, &level)) - return NULL; - - /* Fill in printer info */ - - ZERO_STRUCT(ctr); - - switch (level) { - case 1: - ctr.printers_1 = &pinfo.printers_1; - to_struct(&pinfo.printers_1, info, py_PRINTER_INFO_1); - break; - default: - } - - /* Call rpc function */ - - werror = cli_spoolss_setprinter(hnd->cli, hnd->mem_ctx, &hnd->pol, - level, &ctr, 0); - - /* Return value */ - - result = Py_None; - - if (!W_ERROR_IS_OK(werror)) - goto done; - - done: - Py_INCREF(result); - return result; -} - -/* Enumerate printers */ - -static PyObject *spoolss_enumprinters(PyObject *self, PyObject *args, - PyObject *kw) -{ - WERROR werror; - PyObject *result, *creds = NULL; - PRINTER_INFO_CTR ctr; - int level = 1, flags = PRINTER_ENUM_LOCAL, i; - uint32 needed, num_printers; - static char *kwlist[] = {"server", "name", "level", "flags", - "creds", NULL}; - TALLOC_CTX *mem_ctx = NULL; - struct cli_state *cli = NULL; - char *server, *name = NULL; - - /* Parse parameters */ - - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|siiO!", kwlist, - &server, &name, &level, &flags, - &PyDict_Type, &creds)) - return NULL; - - if (server[0] == '\\' && server[1] == '\\') - server += 2; - - mem_ctx = talloc_init(); - cli = open_pipe_creds(server, creds, cli_spoolss_initialise, NULL); - - /* Call rpc function */ - - werror = cli_spoolss_enum_printers( - cli, mem_ctx, 0, &needed, flags, level, - &num_printers, &ctr); - - if (W_ERROR_V(werror) == ERRinsufficientbuffer) - werror = cli_spoolss_enum_printers( - cli, mem_ctx, needed, NULL, flags, level, - &num_printers, &ctr); - - /* Return value */ - - result = Py_None; - - if (!W_ERROR_IS_OK(werror)) - goto done; - - result = PyList_New(num_printers); - - switch (level) { - case 0: - for (i = 0; i < num_printers; i++) { - PyObject *value; - - value = from_struct ( - &ctr.printers_0[i], py_PRINTER_INFO_0); - - PyList_SetItem(result, i, value); - } - - break; - case 1: - for(i = 0; i < num_printers; i++) { - PyObject *value; - - value = from_struct( - &ctr.printers_1[i], py_PRINTER_INFO_1); - - PyList_SetItem(result, i, value); - } - - break; - case 2: - for(i = 0; i < num_printers; i++) { - PyObject *value; - - value = from_struct( - &ctr.printers_2[i], py_PRINTER_INFO_2); - - PyList_SetItem(result, i, value); - } - - break; - case 3: - for(i = 0; i < num_printers; i++) { - PyObject *value; - - value = from_struct( - &ctr.printers_3[i], py_PRINTER_INFO_3); - - PyList_SetItem(result, i, value); - } - - break; - } - - done: - Py_INCREF(result); - return result; -} - /* * Method dispatch table */ +#include "py_spoolss_printers.c" +#include "py_spoolss_drivers.c" +#include "py_spoolss_ports.c" +#include "py_spoolss_forms.c" + static PyMethodDef spoolss_methods[] = { /* Open/close printer handles */ @@ -870,16 +143,22 @@ static PyMethodDef spoolss_methods[] = { { "closeprinter", spoolss_closeprinter, METH_VARARGS, "Close printer" }, - /* Enumerate printers */ + /* Server enumeratation functions */ { "enumprinters", spoolss_enumprinters, METH_VARARGS | METH_KEYWORDS, "Enumerate printers" }, - /* Ports */ - - { "enumports", spoolss_enumports, METH_VARARGS, + { "enumports", spoolss_enumports, METH_VARARGS | METH_KEYWORDS, "Enumerate ports" }, + { "enumprinterdrivers", spoolss_enumprinterdrivers, METH_VARARGS | + METH_KEYWORDS, "Enumerate printer drivers" }, + + /* Miscellaneous other commands */ + + { "getprinterdriverdir", spoolss_getprinterdriverdir, METH_VARARGS | + METH_KEYWORDS, "Get printer driver directory" }, + { NULL } }; @@ -900,9 +179,6 @@ static PyMethodDef spoolss_hnd_methods[] = { { "getprinterdriver", spoolss_getprinterdriver, METH_VARARGS | METH_KEYWORDS, "Fetch printer driver" }, - { "enumprinterdrivers", spoolss_enumprinterdrivers, - METH_VARARGS | METH_KEYWORDS, "Enumerate printer drivers" }, - /* Forms */ { "enumforms", spoolss_enumforms, METH_VARARGS | METH_KEYWORDS, @@ -937,7 +213,7 @@ static PyObject *py_policy_hnd_getattr(PyObject *self, char *attrname) PyTypeObject spoolss_policy_hnd_type = { PyObject_HEAD_INIT(NULL) 0, - "Policy Handle", + "Spoolss Policy Handle", sizeof(spoolss_policy_hnd_object), 0, py_policy_hnd_dealloc, /*tp_dealloc*/ -- cgit W6qؗBwb7L!;XӴo>6yf^8lo *wO*r5*$)I\;hՊ>Gu&+OK3iW1Rs IwSؚ548}F鲞'4Z/@p(W:H0a,(2b<:O`3I;(]=d*.E['Й5)**(]:cY}:"2FB~BQSgfSfkGYa-"]|)JGF(S|\"^[WK`wwQD3p*1Ni^ʀ=|ֈ m|l ]?:5{P3C}p:T MZb`I9-5[٧R[eʎ)B؈Ua-9rS!,vB]2P d4δp;&ȋ*]G2BGLq~0SBp*VxuN@m}4-۹|[.BrMZRVg&&ED\gfK[׏E8=rz{;P׊. fVx)9p)2o}uITo)p=5#/ʤKIrpfԻ([&ݓ"-/~ rYKCw_K-"s̲BV~ y-o.ΥNrN!-F\S:'li]юYOJ Cl_ǃx~18p*V TN3GBǐ~vMh9h4R+x^{9xmQz3t=QWA&fF@t@ȿ-/=HԂ|[̻Dw'*/q֏Mqu5aݥZJ*KFc uTPV`#ne LN)#NF ߅SQCw=fM{_[,_냀'\nzWGڀKa+n(Z{Ja4ؽ1Mқc{m/yU;3,1(tHz}̥Ւ z#KC˓/xU(dd_qtNG}6%ܺ,9 4xNGv732Ǎ'~upG ,u^28I:>A7֡Ú{n3@E]8O*-Y;m m)d 4 %ʾxLγu?(g7)?ЏNp5eCAP3nJFo>B6,+k;:n,8bjq3Drst^rQw;,BuNbT8ymz y;X/1Zƫ"qyOJcP"oi1{n.nXʲ/ 5ZOVo7Ps1]kh}#T‹{ QX5 .9tQ n߳<%+6|`N߶A^P{}8/e*2z'?Zl@js6Aq,(rNLzHR&Gb jdP*"f>!GM DM/FW8î,6vW'9쿂YʙI_>vfr:u<kʝF ԘO P Y8 i֍#ũt |{$Pc"ִ*ҽ&T>o4y|ETֻoҖگ8,9 9h{0bi;\{8AuXtslFd,7l%;~zB}.DV/f(r=1np [jnBD*&%]*p6hVs|B*(2թ#DI F>>`pa/NFE}u"$v%Y|I2u|cxv`F ݋a3WSY\bRSCN ¡?RQLv1$_rzQ}v@*զE[Eb`J$ϐ6⺸wn))-т50vUetKߢUޠ0,[p=[+:A,f7az;;zi*Q54<s3t92E.jT`#Vף]YQǕ菅a]FNV;VM6@s9pG{ƚژnpHm,lAw#yE Dn2ٔqޯ`,.֡ϳ 5,ndۮw+P̒g;1y]= v^)+YI6^y: XJyZ]r /Q\gjcgqb)Ҋ/KX{7 /ŧYĵڹY͗ʈ[Qƫ|D֔AP c"maLh+w&^&~Jh2^>B~ՅAlv8z]BB)Nc%U7V.s~33)S#7om>/}dLOfNHh Y/h{i|)H8SnB'Cɖ37,D޳3hM`mdGf&Jkd9WK\`U|1*>=m·sq.T=UaA&GKδ6 e;vlf4 Z&c85SG7y9F _0m.ž"ֹXD=eիѪBfF6GcHs:}`6vk&nQ$=bX[TVAAEq`ql ˛ ?bM-a00nϙ1Q=ﺁ@Ċ0dW;ӟ:$AIJ!ht#*o;r0QD, 5%w!.w0:3{_M- SJZyїs%}/7?mB)3JEhbhtBV[v&|QΈ* #Z;5JI?Ni鍴f7酂 -Cϸ=!0]ѨZFɭaCi꡽E&_Zχ}/&(~=MkiTl/Д(w: H1)<N] y:V+h `c*Nb662.@|FF8>Gh( QЮkjߢ.5D-5(UX為|02\`!޵MEr%3kAJ2?'C{u J^>?l:%zܦx,Fh׳_7 pWk$ J'>, ּu8Vmzzf*qjC3exDREypS4=f ] APR5vys~oggi7(:px&f CExxq*5>1}kS/| GIJlUL`"'`.#FU0jf1]X%PuP=rLՒ+Թ6]_#eNDJJeɳ1ûŲ@Pko'hk~b~'/I\HSwܫD!B5ClK|-}m59H{=a5Qagڬgx*9JRX/Z矌[a[3LE#/S? 3B.牬cē&7e_X |C??Ր9Ɔs*g8SȧO^E L[[nmJrbMn=ϓ}tFю_I -LC>3 |y jđ6Sp 2 %mXF1x+\9L7vïJbN6 Bg*#WUO~1 _Gҙ,A6fsDsQ_鋵wMx#O#薇3Lˢi^ZmpaFCJFpC-usq<26/;^)2:u t;(ށe(^{$w۸Q2<ى@1!J*L:ҵì$ ǘd3Y3=֑% Db m\ Y$EW-fps-O3$g؀ԕ2 I FĩSL٫~5%Mw;UC@Ze"nNJۖtfI -NXL-V] "]p*O zR55zj@sY>[ I65t{0>{x2֍ JI:ܲ[}k,|"U E8 K e4'+Q%E );Rۮb/׃)1b}iޑO{qfݓ4LJɞl}]x]Jn-* H뢡%(eU6'1(+hn,a2'.Jdt0x6Utr0\ gXCwP$&X(8Ui re4I4ʺN&uuzōu"a'$H-Գc!^m^\ hհdtn3:N(\M %9M2;+φ)A/mINYoX!$N dMYHe"?Bl4ܹŁ%i0R@ Kt4"ӯ]7WLɮER"R!kZU%COue0z$R J+ ՗: $oEhfb8Wt~X2,$)i`~f`,fƘ_i4I gn Ap g3ID_pd>?Ht.EO/yVZ E~!=A6!a "lY? &.sxoľK03F0mhzhhԹŁ70.14|ѩpZȴt| :"ϿB629nc]yY G,]n|WG1DZP3s[Jl׭4@Ժ >r̀ %"1Tz-kQPo7Q:FCY47}XRv ~:,fE-*LHmjеPuKοql>LI jm(k_ &(p2deZʺTSo.. u7RF*sQud?BӑJ j4g6=Ο3yR-n)]v,xq gjfVC6~Z; J8Iq&R, cULX`Y0TW#`ޜOd2BI!a/旳9DmNgؓ6>Rʱ@Sʎp xe}X$HH4q6\v:y\~¶mQ3Hݾ8Ɋh] 9P/5Sy՛ذ#Xݖ ?:Lƭ̧lYf .QluU|ey߻[oD&BF֐e~8 ]4EYH!ylFoAgEG:W"΁zCC38[P-Kah g_H7 1[cmA/ܼM'%nhHA37׹3!Pq(F:2)w$H N"sFyCj5양Iˡ͚ne!nc`.k==KguݎoR? w) aAK?fC! !1Qs,^AeabUAxN!jTRM\ Gȗk L*'Jg@W U%|ya/PnHMZMR>E3֝Z:37I H__X藼Kw7*q8r,K0w5~הr/`;ST L՘oʪθG(dؙ'#"_Ž[x ܧ+bd~K:[l.OgVppC]MW0^]8;3եp=vpno 35W("gݒ5UP#flZ7PEa_f4MXit27.Pk1l[A ͊6wX6McK~&wY0P0rXݭs˼tgOsBՀNj%?pfa?b\CBdRf܃&YyR<,$^1jUWq଄y_(h#r1k#x=?G yN; =lO͘_-s$P/Wd ^^1`O% Ek>>L;춘L<)$ |5{ṟ|ܛ}xؤ&V]] X贞n`pع`eK2*e „L2k}j!jkRz:\;ut/@^\3C6hH/(IV`Lm,W,P6`Lu3S8 ܝj_ӐÐ3$N[ i0n1^pdn'Dc O4ba>N'=!Jn ɗ6?uzQ0̞`ZDch 4b훔1vvPU.4>˹aV6#%] pc6w˞PށN[ᢤ3tՃOލ0dVj9ɩӟDqf@r3ERF]va6n~]DeܯS Jt:T,PJ+F&hyÉxU~ ({ 4D'9n5ɿ.3JLsiU##le`lBNe/uAoFk~Zl H\ݼyV ! 3*W 4EP&*Yg⺁gNLVgIzJ^+lw˚c=M@ I6|p}KW[\M;䈕l6I)wB~ˌ|34=(Aٮ+{I!逫kb͟HfD$" Iލq#V]Z Bxc=e e .grG8tGNnAk9W$RnUޠȃ飘|MV$3=E{{cϢbA;;q`RxAom r=AZ4=?;{4JfzQ%';ow2'`4t[ܿ4$:$̘7u8@M)/r}E6 #|_ O͚UWؠfx 6V,+X brW7h:"¤Կr#;#-P Ij^5{!)=)NbHp(xU:<,E3U*\-FsG/y{%Dr~YC/MX$v& wJCa*#;JƆziqF\9l*RCOw!`0^@a4JY݉_Nґ;0˲Z Z쯛+$ $!([/I7倠gaBh4 }R#=k. (w2!3+lx'JAmKjgE7'߼u1b[\kqwRn7+:ԙ։0! lxšC!lbJ.!^SIc)o=z'd0TGi3<=%ߪKK/Ef"R2t MZw~it\%s\tQ7%xjkg tإ5şX*3dy'dSkTr==Ͳ+*F!Y㥄S/ho6E=s+N 8xRul>!]?626>J/?F PC$۲<~ 'ti=oxei?~k6Z4Yp ۛ ZT&P:V?:L 4ĽLG*~2҄ 8o\%2HO'@ݻ',i}Y9b>Ii(|YDFG3|c/ʹ* oT>/ k\tvi.Z d`V.y1/C M# D'$X8g7ƕHܚ*Qnvm@!su|Lpe΃*$6c:ɮ64![JW ]CG%NOw%%n g$ˈC`%2)Dt- T.ZVꄡ MT$_s cy? Ns(0}u:׋,2؋jI|LS3͝/n`׻UY]lpkF3" tڌ|nl#"oxu k?z~im G UP\,e"=N ܺߝOyۤ7ɨ.ā58h)1xyWQbpg sm$4cjR}2q'D,r߅B|}4-RY\pjFpu~qn[xsÅ,ӳoQT"a5FqC%pMjUq˷^(g[~5ĀkiͱJX;Z"0W_n^\SӲ0lͥ'FQ+Y6eK4L!Vsb^k,g: yd2\uѫۄ]ò:-kr4]S0|e'dF&l;(-:԰Jr;di ޵PLe@AF)2* } 3Hp7(yU $D_*|dZN1>̛9Ź |e]B!:1wI|޷!\B2֝,$U ! v5Slc9_!dFѽ67͂q>=K5}@X!#zrXsQb,y%(ُxy3V#甼 M:Yw #PyeGkYoᓗ@϶_ RXhԣemERNjYҁAyԞX_1Y8ƒ*hHA+QA&0ojtS`"&^K߅TʭQ]>tz3rqkoS5^!c$Ury0N`} K&dH'S1S~a zP_B1~,Sy}AMYq&<{}=j&\Gm~Ey{Ga»{$$La쾎"sY(oxr!zXp''כtphTZ5W6m@³ Wr}1M$}!g ~RYmM0=_R{ &nt(c*ᚁsGU2sRy6bz{&WcMPB"63iUkȻcTm yI+9LPʶ*?tQ9%S 4qEDgԭ"5ۻ w p?{{g˲FE~HaFt#[X'F18&sUҠ\yֱ',CӪ;"%"$(6yޕykuix<'uG Xw^+'Aʘҗ@T{R J2.eԢ<;l: zJtKdv$#eVA0(JE'^"~4'r8p Ujɏ[,x+r>QVXYFb?U:Y1FȬS<%AJon=Iw}r/Oq/(ʫMj<0."_({>1~Iʴ@A!ۨE!< !SeaPݷ!1c8`1m[nVI/Cn{d4%ܓ$`( 9U ˞.ihF^캶kOs = 4 lUbc fR N`iT~yҰT`k2bIC\sp(a2g<t$6OKA;lfϺggfA|\ʍѩr+i%&!C7 isB6*b׬W2rO]T_^LH3P鸭kL$?'ę#dO$ uT)Sr8?1*yTJlߢISD=mT :2qM{i$oodmԄ":Wa/})UbQvF9oI#VҺzWD,9<;gkdեrBQg>V0P)VqϑOfkRJR+7P=9'Zt-V==zyTJ"0Bd{!q\UMTr"XWHGK͓Qn)$󳠜W,r Ӄ+#wD"J f>z 7p# CcU,4Ġz sc :WѲz[K$* 2[Ɔvf$T0BkRLeq@ݞ[Y%]ʻw-_ (@"*:s*}[L ez2 ]H́Db6%9F[vbTR9>|Fi1*߹mSdTibc-^!UJ6L2j x%?s/hwˋj޿}[f}F\{Us#951Ld 9C.uHXmUIsi` d|V2wd%X!ңb;,?i͕ 3_^xCb9~G`uVP, 7@/H5,6RL~3--:}N51ek(p B̗7Ҳi+xoq}WL:@ba#`sC}Tw[4GY is`lI+x\)YP4C x?dq_ְc6>•)|h_׆h+8,*'9ߔ0>ZN mB;bե[SZkU0s`@l: 33d ?CR1lѸAGk(IE28!LM B6{WGx0+'v7pqY}* @%f,0] 3 ai};!tz *y#GF@;Qiee*+F98:[yf ɉTT~|dtPOcwLpv*5 sW/N~u5z#"=5BK>=;4 ZEr]ׇx#|EX!B/}믫ʬR[ #ccP9ԋSr34mԯยʝMVkX<`Y3oұ)26.0[#h M_ة'|dbgOdՓS0ƕ΅gXYu*ѫ>[C |5I=厚2P\0;0*6Lal88ybӛT)ȕdk>rS+y5A6hF@*4)VDȼ|>]utBcwŎw"bSy"WCK.BwB]? A5Uq41F1k56W8k['8^ {,bbxݰw,s1 g%9kF ϔ#gbޜd| X՛EwP:F6t?C.f'gSj8kMlf@ۡ b38輯[z1Vlqx_C+piWHaC밗EYNԾݢy "9XpjL^&+߮k%6%0!IS/C W͔?_ V$+1x bUrg5BսSq9S7pviAksl*:l_<פf4.Eo.,zc(iw|Cִ ZMErPN0JBQTE:0r42},?Rڴʹx>,yGw^PI~ס/D7\"kB:}̜o+FM&A u͝0֚rNB85J/ rL'EW:v/K@zIsI ԛƐ84J^y,Bxb!iquELg4 C~yʇcd <٧sŲPPhT`L|釹iSfk+X'zZ.c5G/C ܢ]I*9 sb _~Te8Uֺ_TZ gFC.ѫæVus' ,x5+/E%?+ŚBʿ-@"M:PwM!hCK%~W٭h ) U#RcWյmtB<3}4Q=UX!Rlٸ3S9s?9ěo m Z~ʴ{by3WҥVԩsϾ0L/ gOr93v^jK `N(vTͿq{ f^U3 gчݗ\IUYK5?␸Wv Cr<+j $XsTqX0 kVgb'ӻX.ӛ{p2) vܙ͏'~*'@촆G ŕI5[݁0e|>rP RS㍾_cRI' F\r?HwY9{RWۢP.z닏ZF4uxM/Ge=ceY; JM {է9`„pP#gJ+UtP 0Q+;.f~/BL|RJJ[qȲWQ[Fsg7Lw,9lQ\0a\i0(P,hnzLj/ :bjJۃ3V OG0΢8c!\6壞bf'7WK1u_^_K%pd|~U1!nUxAy1 jMARW*sTMv32zm1NI7Ѱa勀(=sMfӋ.ҧf`oPIWvI\ J]b,twm>rx&$hN<[~JOC1y5xuW."<%E$IATꁿ1Vwm%v pɔ $ CD:)|A[ XF)e9E:U][ /pX,qg?6Jar &[d#lf"<6sȤxr:EPgs!p5ZMѐXG޳Ŋ-N`;YM"K5Oen2̏&`jm#-J!جۤ Gs(~ҒKSF6xlB6GX2"=@y+2"V{! AQqtAKQR,dDvK|ƛ)HNy-yq_;cɺ-ƏYPϢa~|*i) cs5z [Q2ʌE׶Pp 왊XCg&jɫRq ՞Ҕ0P5i%;$7Wq䘈i;!au4Ygv'W*n)dqXɚ EܯWRo۰iv;M]#u^H{}l}[S>X7yfwaAhL|i IQ&Zf#܎J̀tOV~ \ByGj%Dhׄ_\I8JZPa),HIrؑfgLpc*ɳ4KVkc9MUnqm/Ӂe?|Kc5*ox3x f*1}o񞶓1^ysNc{IZ9jDF{ր FF0%'ylئ@K\?}LR ˖ PEBHuz(mؙq$ @:㶲):o]) 8QZ`5m RJ;2E08Lp2+;C.%ﴖ2ʧ)f FClw֊F#[9bO|`l)&Nr"uaoݾj|T/[~Oj}"ZǛM,ZT/F.e3dl1B 5fsLzg&u R;2>K{QUlл +RSh~?FuAkoPꅱ q2\$h4VZS`,d=܉~w@p'e.X@T>CRv}ߒ&|ޭK:Y]n&4e?NvhGt7)/.rx W DZMCZ1m<%}ic1o)}cP8OAc,[Y?VKKFd.}үs/ T:\bF\b.K@37cz<poVH\T ~!JHlǪ W.nZz6Vk %Z&&iq@QZ(.$ MZ5R:ҼV.9L7߿Q`๦#ʼn9%&)0"tjWGcdfmArIճ-~U8wW}p 4 XȧM\♕?sGI4'KKG>Ν d5at7ۃ ݀jLT">_~emЂ|N]31iJme`\W#+& 3la/twx~4Ř䐞+A5صKsz^U(TL99nRlk[f zfB/e݌KT*&M}ޅиϟ?M Q-7}nvmNi+65ֿjԖIW&W) 0?Ү|;0HϷ@e= ,Y5C j~sSAD_VXNDKQ;Nj$Evu[D$U,?Z-Ԁ!}^$8~{ZnA2_r8>|ҩ\d'݅g%e}ߤ2_5HG6 EdEPgaYH jU#{?gtX}'KVZ*~tfD)- =křjb=kVHXu~͎5~ 3BM٢iCMl+nj<ȃ=;@τ3̝۴$ޤ겠P/F:ęo;+! uomWm+D`4^ B}b4|jQ*{$7zlԫxCPKG tkjӥh}z,? UP;{RKMz>NVofQmі6 "~$Mii1G׃=q0ab$gzxܸPuFNfvQP{ a=>}54,A +.@!Zf`iEdo# ޛ ꡵ 9|a*4P>2 *VD݇ ڢ .<2$54$k. U8ҚDqJ@qԝHf{NMôWoWx/k J&_RfIݓTxL'0VDt08BYDR#)wi5";N00 N2b4v4*eƍXZJmKKLH$Q~׺8ny3bg &ì3[;'qQ{ !wBZǸ[feu<ђO+$/b%Yh&|0+ ^ߕ,|AE}JT9XKeAK;6!9ᶥnV kA5^OCH퀬qU-N@4 kfވRV: Ό, ̩zFDt 54{ +n*Feh[zr\x!SX ^M$b(3i GDgOl* [V2O?bD71*e66{3cG2k[̫ r8fF3@;<1̝- $.Q^@40Mi!+N& ip%i'|-:f6@+ w'q#YXKS<ҨKXP ٘4!{*5X[ͷRL,מַGm6IN"(1ЦǸ.Ֆ7ڄ>]-9HH' rZtLM/[ 2ȅkw7*^Dg([w955zg|\~čf k9oWtZIgQԦzRn?w?dJO¸x/FmJB<\@w-֎XۡxIxQe&cC: NW8&n2,_#!/A&:5h[=CjeF5}-)í@I*Rc;k󊆽ҟYXD"y;Q$&Xx뾈EejYX+&8,LH^b!xߞcc 7?J٢Q ͻ/"U3t'I|$r6'1ffW!VF:e + k446nXW[C?;ңפ3t!Ls*.gX]ga]Vt@ˤ84uk1;s6Iٴ0Z~ܑ!Z~F?mݝS1QF̐ͦb=`~5)*x14g&<J3C XbRvݿD"Ȯ|:D %֨m=C2kjP݊80.zȫV)$`߽sX_CzO%s/4;@–륢3.pQȍhH}X ,ؑ,ߋGsFi3(e|T}(Jh6hV&`s@Q҄U^↳m=8?͑KF>=al 7)|3Sŕ޺X|dP٦*x-Q'paIj/=9\;'R2%1 Sg_A#FQ ,$ 3W3QDC߲VqvW)SkxKfw櫲69 hI{ULDHJm :#iRˆSOd>пi2|axgik?^2Z5׳hVq^!ۥ&ACО|4C@ .0 ңm}є'Ɨ|f-&6/a8|jib #"R |S d̪˦ʂ/ DBFIN@9e}=e[4X\cLR%3&=VS;Zx0z;Bpl7)AK̈́>w 2}pZ+¯NE:'jW:ʩ@Cm% '/*kaA_7i0&3Z:[|9HBuB_yo X.?z@C$(o:Nctȶ;' 4BM[*OYM?f+_42{cV])i_Q a'_Rx=~$OqiY|#ڵ0]aq[TS3JXX*ԩRthezs3}yv1̉k&Ej9+XcK9#cTzvzU޶5Vnxbh'yi.C"ְD'cj_/b^ۗuW k3Fr~>!R`L;3p!~'YĘdipi/_z.IqKfJt޳qU*"'^0vyVk9 AcE+>?Ӵ'O9;EM?v2:[֨a!.Vq>~cH8 G8#!}(!]cpoa@ϋoDW[25f1/p))Z iJÖt!|1?Xb5ɣm("nV2<Z #n-Gay^P{A~-}޲-(5FgH9,,i &\P{2D`[dl~/sbџ7ˤdŶ@~K DB6D~EY\M\ArM")l# '2}䁌Q״I?;xW7V&$ed=9\Yq&ӏg=hd.IєG* JrYݏg]S3ģy.!?%c 敯}/b%:siw:+T*M$V4m&WϨôs>&Cy3. q>?rM£):+:~J_*o4Kcp0K99:23Tpl! c!&a Ej2STu(7Z,tFJ f0{@$Ճ4eINW\N$uάGQpd$9zX LvWUCeg;A]D X۞C6 GhE+TGΞi=\q?CSu'|ņjv3sHLUpҪz8 ^wIٱ0cv"(`r\b[,2<=љ{߃0Ha=*rWGf9Vcܬ&e֔=9F5.m:1ze޺CJLM_]CwB0B'}хUDp/$UD.1[圑ϐBB82#~bY(d'HyB`^Sݓ@̏DS]_D'-|HNdf2̞˜T-e#E+z"D3Q2b*!tc:P4u0"KmTu˦oj۴VL--AM%qocV.u\j,؊r4Ԣ=+ë [>OKDAm.a SŎ?K@ νYV1լi^]sii( 55:?ͩ7[Fy$f8=.`c9\'`@>}/%2+N\U Op4<*R%UqJ2l=㘤)> Lwe%X"'&`+i0_j7f̎@Mr5|LCo%8 Jҕ}((a g@.IqW?`K8t0I4R,LШlR{u هI$-Ei`]&ƦP糖(f*DGUUo`:t%um:e( u N僰 bu 6*rc/<puoLYbqnh$J۫Ff0Ε;"u4;v!Mƴ'zҊI5:j 1ᅖ,OGU.u-">e%(v7Sc$3n$EIH8K7bw_$U1I^(󟡹ܘӆq񚮊Ȇm>w()RG>4[&)Q(!}:V]'ukr%#Ge?#'L̶.PT?Z9u94 $GH4w=d#6K{a[% :ZB;^35s|Hź9HҹPxIB24=ɉ# Rk5[7* }^$xf6%5)g"Oc QQ<11XzCFs\WR45cЉ_C/ް)YJu{ma3/kV^lH3d\ {cak;w`7 (_n).ŬPtY8 T h yt-C6QA6WsV —m~Q/ufm.&%-?"K) T8}B kHN* G1yI|* ceL5Q~ [VÑ_Y5tk`y[pk' amդ؊/:ħXJډ).>M$؎`^(==- ø yv _ q〔Iy.@qm9xsLs#8$5qitHQ(J" svB(ڭg4ngV\`xg>I`-2T9$eR_ MTQ5ؔ Vv`*`4K< Q\:;M95=s?g̽v l!=r#u^QtmF?]9-WUȣ@ZxN e>ު][󸼴,X}2Sr`?6Ixa$P`.xTDSA&)֔cT*ыN37˦H.p-6 Vyty#1*ápSpss)֏ a^?G *.@2=={֛+& v(#d%F]nA XkBaTA6C{D"j3[9Q`{Zȟ٠bӋ`݌lZ罷zy66үT˺Ir k{<{@W!Ď\I) x%Nެfx{kOrvЌaB5߸z-|j=¡&,s;[wǝG"02=jdACɁVD66<~ɵ{Y zj`+k Zc2m puAK!Ͱ9 b4,#Yr4]aM~ iEXm_" %Z\[Uf,^My1mpO 9PRe4 $u직3(gwhg?\Z3:M'wJQ$UNT Y͠#ttp`]E!_ IB%PF~U?i`~Oq `Uʟ!EZ,õe)qgM8cT _<ƁŰ;Syec6BH*0F1V ܡ7\k] YT2JEn ֯k^ Dsj* ]Tۑ8Ó<2кRnf=8-1g!#+P`X3zZFj7Grnts9!*Vf*Xz$ޞ7} @ݒ g /(4%awe14_@EY6L''9WE) }F!%@4j)Q5?Ξw)K}Wgpp(?U7Dhd@ Y) g@FĶ:cAr0K WڟHONrXM{6s'hSDm;67Gcmu$"I_tņ8}nG $gq&I6DS_(:MAm+|k9d2ADŽGHSd~qE |-n!GW`x)!SyP)RJEjmiXkDϙDDꘫF9&9<5]?(#tM:Ht]O1OAj Hw,EbGi% 'pG,h#1b#>2;0qX͉s6Q}f6$me.'xm'$ĦDѦj`fO #zBE7AA0>?]^G5G^.Enl/7bß8""RE ('_=v4~~`b%R E' Cj*C@VQپd$vⅈ'{̥p8mE .Mo$Mw7c.C QLLç* ST]5UiBO74u=^)Qqf1_7 ,IF׈<)/U="MuvStA&<'FlyQe[Ηa-Gx%8g'a0,hMU7rWB`qLרK7|F{DeWgةV>O8aؽ)x)j篎h%*R\!cnu#* ?aݥ 6 F4Ӯ@m\0G"A]\ 2K=K5YD\AUA廟;D8-Uቀ|EW>8š.Z*)S_ޅqAw!VА=59ESs ٟY{{?e"HsHwz.ZU8= @jOB'D`%EPek3=&nj0S@,]B/eMs#՛n?P,O>bw`>'[heI2ƷB[2y_>.`U,J:?ORd=ķtg0D=3F320;A;VkԼnCWInS|85{,d^z$3yxbO|S2o3{%y,!?a(fY10*CPZ`FhV=ZF0pht;E%>suӄ؆K99%1jxʌgn41, b< ;\ӈ3JwҦtSG nI|ZI0;Jב 7#0q=mV,KA9uMA?58D"VU髽, ɘ'Ya\[8k`h}հ{?H+_c E5uQtUM+>8v. zc{a䛍-:m "GEO8u@[و5댘*DO4k}ϣ4-+Xq*lx(V90 rUQoh$3(1#lNIe;ev'F{oI:Sz'V^D Exv•# M6$6Z@w32-sP@+A%}˷DI4:v=|·GVy5%c֓Ip+\w6\D 欽{2CzHcrJ+.8vQmu_*j]n.;Hl*iX7r~3J@+Jl?R}87'S;=O]Gaݚl_'샖(YΤcoMbUPlkFE)gTYruMe;Bw1V$qZuzGϑy7A79+t %P=V7GNQ PvG[?|dA/DaԉI+N C֛d<)fpa2P5,瘄Ȅ>}N$$=!җBwmO@fI?("f}#9mا(Q>%ʱ3=|nȅ8={O,l,bLi3H? rItyUcl%Tm%JV[-҈g8AmR+C:eP[ dmxrO(@B粰l%3IF63ohкS:̳h2PI3xxiBߺ[kR01y̧uF+?RDaҽagHmӦ͙%oX+ JPP>i,$ Hk_ Wהt˱u'ZM[.#D7Hۓ 9'RNi`*٣G RhĶ᪟ZDAR#O-?L Qyvk,l8B@Ko?DP[+ aa&v;q ov=k*I|UPc}m i/L[9iB@}0G7e ^׎+tmףʆ7$Tg$yu |,~g[x=닊as`+2%&k5:dk&4Jv ];6ڱsMe9]N##ŨE#? n`lTl_f{d&uӱHKJx`&Ӏ33Hݙf~GCpApP/F[rN}J(_ہG,%*4 ؊Z('-$br(w8jAIJ-P#$h‡Tz&WײXlʬ3ȲscWe7"a֔|" 3 C40 oz)CJ3ߓ슫+&grcϊ}-,%AYS%Do09ʯK#:z\hMkckLc_%ܔޥm)i>V)`gYA^xL·ubՅj6%]ms^49[&Lw@+7Щ6 e籂S}d1H1_w/g ݱڇZfr /ӌ+Sq -YG3/!7>[KVȳΆ<)aFR^vTYE$E(1}>p0 poQЁj*ֽUGƴ4+ڝÇuY< vP`&Œ2mKrA꫋/N~R=Qv6`P }ƉA$TjW]N`=램ʦq,-= _pG>ޘ;nsk4rUPg._R ;Nȁe/^2anK!Ezqa(Q=G-5.pHԦr;ЁC[9 4czKI[,]N1 fZէ^LC1w:n`aX\ׄoc~E,ՕW.f}5xd,_I;ήt!?e{ᒂ9cٖ{%2[oT-1$<+V޷9_"6X٠7JIfSlk7:\Ė?fXA7ßf9˅kW/.]L_g LUAP*]}8BXps`OJWRtvGH?#=Bÿ`dX֓p- c#O] O HXI4iFPE!elc9A;2H{YYݮ.~HXC u`(2Jb )ֽ ƻ֍(A_Lhyy=- )WdqZxOҦgATE[uXt%{'%$bSlf1]i.?(Ib`ዉ{hhOw ЋCHHZ*I0^GRo7m{Kz#ft1ioW-t[XkSnǎKqʭQpl/!gTskl90{C#KjtQӍɲV7oס?x|:31B(O#>wTNj[y#c MFXPPpװES;iV~Z&2FP^C͚j̨E$LOz.WkA;KN6ox]XK ajSZyo5p;}~l\, c^QJA& &yKYp{BjKjQ=h4&oWZީa!OFӨd=.Ai ypeKp 6& HEYHQ.#?oS-³ԳćSS> d革@TIR8aUo = *=b.&R<2n}J{X \ǨtʰE$]H<4Բ)'8O?NGa|ތ;Ϟ٠]&LX*J& 6`wI򗍔ML!vW ȡG&(xeXrQ8h,yXΒMc}'Ǫn}_ 0 vOg \bW҉Plz"֜K2KQ!=9balwsw)/Bn@L1ijJۄEԎN}[ݩ:!]V#}]%˧OI1.'cje@V+G:@c|$g2hT`,hvMջ$>:{~rI%U1G< 9Z-1:IchcHQ2d3+6?TIAu,0~7J|Z|eٙS5TCܫQvTR1؟ؿ滤%n6T X.#WQ2E3?Z[ؔ>'~.QNmPz_@ `AhD^pT\3(ˊ/n͸pO*4kZ:3y-Şqd쏧.-h`FfMPC8 㞤eQ k' k'd5βn,Ewvʚ􍼿"gيD|+ȅVrnFfD}"; \ڑ9_CcOn+GPQ`z[>c@;G ٹaLz%7,NTrlGOe.͈ \j/ tbcor d@*>]4%gΑx o]_ltY9 4yUb"RA*Ȧ25#7džUOh'jGUNJlfJ$$3idC/8s/jWNxu#Qw&9$YD CNDhM6$05]-L{N>(ud s^xB^>Yg`JJ0gH >bYua\ҾUMZoȇiz5 R EezFMDHGWۇVjEb- fNr :s"o/iK?N/ RqE]9ΎlpWdxId @l1`I68^BzUr)?t ^ֹBG"V?@fkؚ oPsS,VZn( 0}"@sF,zpӂ&3o&?GL[Kb}`BU/ .Oe& |e!YH/ h —əmJ(bVq[3`ihoMO3f8]LojM%5C8 ]^ ?IG!UXW)K9",U4zPˮEv.`ݙV/ m@sGѷ_n g1+")":@.L~ݹ&6ߋm~zDO߄LR$vN<'XGGe>Zw@mp3Tu v縈*u2 >,(2][9O&֢#LSKJlXa.? drkβ\5$}Y [xTpp1Ⱦq*H{T0as;dVy9ܯ˨Հ+wST-7 L ߺE K %/J):Hr]O=zr{ZͅY}+o椽< 8#cZvݕ*0aPEVav߻Iיk,J6@n$Jw6t?}˝W^AD\CA("K7gڜݿ?wB%WǦ衸,yVo ͆uT8]2Znm~cNNHՊ N+4ڒZwfۨI[Xdb񎾕S!l厼7B9yY{7!z+S0= F3M*͏ {kݳHByg[eG_oƬ'u 3ZILy#;w®pu6d}B,lk6 m4Li=kgB0l1 ro/82$ 6{ 6])?Z_U쒯o0K4?oBB6 }e05HBi{W*7 Ay+Gê8OLF?>3El,G/b|^ %!| 2lc/v)rqm9r>f p-_ SwwL5pF +{꣄5 ǁ.NL2_Q\9u%yz~X 鋛gzaEP&iA"q? ԟ{[?oxQ%+:.ڣ>aꫢ/5J95[=Y;)5?M +q pޮw] (9y;¹H㫺[ܷ Нvc_ 6nȼiL |0r7m\XWWh˜;ԎzμqL8s &f-wGaiygZtSl4޻۫NZӫt?*-ý}R$6Iiӊ,z`h$jCTOk8`mx1*~[wBI(!oYD E~L57~?)E["G^\zL:KZ)|ki^@j0|-ɰGz}'@dzH:|`N\xmjd/1[򰈪~ȫH\ ‬, _+mQO|L -h@/:\[ߝ D۫Auh^a0BhlW WSx>˼eo c +̈bzHlL{ x* ~]'$ӏ(uҙx{͍vZh'IxIbvm>Ed 0̧G uhQCNtk)xK_IȄ:Kj #Wwo*.l'cCsa&W j~LrdHSwAR޴16cuC GRd]FaUL.o*THVqsPh$GDM>&ډk`":a2|-&w )vU#NWcĕ^ҏ(E[I S~pYHndbqtiWPBjǺ BsA~VԧE~Pii Wz~xsZmBzОw( +k׉3T\TgUff*pn-bE:7ɨ kvjE/L#gK lyJPo^ '|&7dw7Pr%ś)'x>ߺ&b ^ 'EgAeqjG&EzAV$ T'jNp(mFn)E S~m@yj=PO4H2[{i{*^zO9 v3,|5 I7e^[-Q=1`4۞&O)Sx*YF!Q" tEYjNejkp @ ii0v+rr&t' hw4A_U@72oELQ$XDMr^5In?9L%6S݉J![6HƊ cqpӄQ\D졑),nؑu{!yvFx>+zÿWHA; \x|,Z0[½5v1v-!Y&nB2%[=Powcw2Ќ Mg(vy#DŹc#GG@J@XF k{^(#0X{;cƀc?4\W}GvZui; Iҙgnѽz-/WRF4݁cG !?BR~|\\0PI s>bz`f3ls۶&Ӏ`|/"Mx}D[ tϸG[T&Y^= zB)yL,1]Vb&ڨC(hEAdJx)3?E7Wjn´wY]ϛ~{'āo.rLJ8k5܂c~?79@~mNB2&x…l\;x.ZfF SǚR :!譓 8q}PnCmћݤ.RRâem$lTu]Dv;SCa(3ޡk%u8W# /Qf#uZi-ZH-_l?J`t?oqM%j#]E"h`{Q#IqD;kj;-"hr$%ߴU >O2{-oP|ޛV l0Ά*I\NI;&d!@lT &̏ټ5Ez,,OÂrRނE+ *BQTqe6]Dǚ+)h6ą"]Eh&t:gKww0*3Q?vg`O$IY'#3޷t p]D r_qsT]mF,`pOq?y_ap5wggc L,"iL)d̆`(pux—ݵympSFGٗ. ,Tޫ#-!G >JLϭۤ]ަVځ6 Ą\r/Z%UR!Hj(Qi} _Z)~=x4jě@ݬI$ڴ)6 TvWIc>߂\g:xt;2?7xˀBCƺو&j&d5 w-w3u&^t<66 _S'íN_‰M]}p%edTg dLuPn gҸiXIPӘOqiM;N贼#]/ovUœ}{َ@]J<"i㞠ޯ̒v]2NtEpY>B@MB:Pf`Rmu7~t΄_>K[B$ToT5]zkiѩ/U3p|qp ;KpTNwX S UAо[ qZv-5,wȿiRG-v##\6hؿRvxzƱ?-P*w i|e~±#v#ӡa}$0./V{"էZ0YQ∣>/25"f &>kz % Gna|dqt,ҴyFc1+}Rqu*܇I gRiH}|M)NÍGױ !(tJizk$ mK"TC_.kYb@f٫_Z'o#V"? {?"oM*:T{y!Hp7fxli*o%_ғwxMzҩcJ,` e=˝m{k*\u v?`ɴ"o*?w+;0nh9\"|<!a4>8rei;mKnRT`2f:b Dvd=,Bmħ&k=я-#<셖&~r ʶӞnģH^MjwE^#3w,]S;9z&c^Sm31% =7  h*eGoĈƧw^L ܭ԰Fg`-}F7`,#W]j\-d7IkHhD[Lq=Ò&1v Ji~.*(W;e/r핵C!!#e[?8j u:N%My};soٙ9`Z#tEM ᫕`2`B/3&N&r\ ¢ 0ImCD7,<'W67k|qa ؀2d3'q_(ҊH S8djzgi/;뵀(R#SQ';Q^R;'!NS R8`ǐq&> G aĿP92{''=;q3ڦ.re2as{Mtdve0m26hKMpDK*K_S̢rѕS^춵b!2OQ`pd#.>T} *:RL;7yBn{/%*OY;z|WsJOe8$I2l^Yb3zƃ?.i-y0AiQãs^ ñl\?}jXXwy?&Hݶp vFOan8 aщËlCfȢ Π B} D8 f :21d5ܛ Xh\IcƦ-v狂Iƿs+lS7F'0LnO]'"^\γ37a񎻝'x;#GXP/E䱸DO(x#dK; 5Qn8*ΐGqza%\-F[[Լ<ի xLmElp5Q~D µ=g '7|nXv 0>׈~9yV1q^i,Ǧ@W/\>ZK m ?]*:4)f8Lĕ哟Ԁ[p>a΅ u"\DؗzC8ig Vh*7ZaB+6u%6 ·8(MH";GH|AcΪ۽"RGִcI<:A`(4x:-ODtjK fvv. !r``s8ǧ9! gBjT6|:ps`(Mjt7~2G  KUP@XF"`1FXc~qf&_ 4B)5$4c9S-/W:XOX4; qk08T˂z~NP.6 tCŌm(e ܞ}N[C' CJ(vkN"_sYn*\rܣ= `{ o2C%3-9?L5E^dkqŞX< wez$LxAÙ GM5aCB&u- 'l3ƻhk@hhfOWbIl ]*'tį41N|y ]lKJ.AY|\b MVޡQ?9BMEf[5tP| S:v*E#zq^P81{&h YtbEbz!t#[`3c;nr cA洪n2,}UPTETJlfc!D&2=a Ly7pSOb>k+8BuӻxamPYp zTjF_SKSl(F~cmfk{{+]YO]$y/_gW4#^Es'Ӧ{$V[[R(o4x7,a:QjS#b(UwȥeK5KYmݍIl"qTlx\GF#[f[qIa!.˺ G* 9IE-\|-1X>(Uɿp tDp C[V.K  ># 5{$){>.tq p]sOf'QڮL=>\ҭt!yb xje!,SH e!t,U""[I*!h-7Φk۟YIiʌk[ØgMJ+|О+#cF8 {*E^Y=?:AVU"HHW!aO;{R`xmعNuzp,LóҳT9 f6o_bÌJ75@6-?'jV5%=bɥ &2tڱ7Տn+gC V~{E!fA8Jqu N EʩN-tjj) S k}?AIlR&vDoM*KM8Zk$;N-*?lorlu=$ӕQ)fusƫ:ńn@ާ6͖L: Q"Ǐk)sY; ,SmQIvqM$CЫg51ZWŸSR)RܘtD) nPprm$,ݩh+nu&^:WyZ/xd+6y-ް3$YH؀/;aj0q. زө}y䛢 دBrDY;ы =$`^}ER|POBg&"x²䁺D&VEA8'ZPWNWaJJyd@AmU+o̳.`e jm#c>I_D0"Hjq"LQ!qG+t;3FI[JOb)} ^ľ |k<{B51:4<7ʻk(R|yjS&crMiΗ%6(0V4TEJcٺĊ!|25qnnGB87j:ٶd,D l]{ mC Q"h?Q`0册#;̜+eDyL\/`I2X0fJWWH W'qh!LXng1K=ޛl-?&k<{wFOEZX15&fք9};(+Ybn)Ȭ/.#M|:_3)TR eT?,3`l$͓xs >!P .|N !߂=?.W 桏N(JCv}[HF,>:otzWk ʰz~L TdSw0vL_mKLf?S KΫi|Iis a;MW4yB~p0Z8^ E'cJ[T<Ce՚ųf瘠 BMގi% 5tW5ûØ^W[Y \X:fÞDzQf'~쵫ѮI#wó\ V[-ć1K,ʭ=`owzǁaZe!wPބ7xi jy[2%Ny 'sL'&+ ]A)yu\g 0tGY&(͎|WtPOa%y?NmM4w"? M] }ۗ =<{+mrM֩Z5?ah#Rwc ФzN뭹i*{F: '~\BRN ?TzI3J$`v}a HR}Fy4Ed+o#eQi͎ʻJBøMȨ($SȈ!-+,.ڣ02J, O; O P#8Sb}AE .Q䇀WzG6Y=JvܑѺ|Up=8W< 钱+40ae_A&9޳y*C{|zdB|i GWƆJ-$?Pڥu~Y !ݨ|0.Y@g^oM WeA ;Rm| >̏%,Y&0]:K r<<˥u_bP)$d=:C/eXWN~I?rft~Y;f4gIo'+Ďk;j<}I@ 7}dK =\W·mg H u`WՎA;06sm E>-?v <4EZyB+}Ϛ%jﯸ֪-˓7'I3tijs,tp~:-^y`{q ⃤xWT, J%b6$/9Wx&,=,-/ա:]{VE`H'DgiuQOh~SVg*17_C!ϵ|j|螴k[ }sǘmm-9t1ЖnRl!}~Ntq6JW^dBJPX& N )#Fb8:o\QNWEkȫ~g!nm(@7 x.)ŀsȋs4Lr8&z2n:^"ؓ.*,S%ei~ߞgSvkA"~]Z憣_Vy_RUm Tk3JIcY-HTh7k"Ì6]9eYiDi>Bwws7R=u]mpy\5 " U P)I7L:΋E3{6E -|!*r߿~CՅz0xMu GuC@/ctyP_CA 3',h)gYM+k[7TdkqQT*v}ax]UWPq oFWW U1!""F;;!mJ NBmśh5.vE&\6Ī(a\,]A0h9%/ m\ *H1DB׀,, wXr$돀EN\+ Yt()ݦ6ֽ!5xy04uJib*j|dō  ;>W[5o'~^3hh#=3塌PvPDfaDdEVXjZt :{AKP^v =Bkp cs.7++n|8{w(lc6kC4}[ HpSaz|./==lf**/8ٽ07s3X  ߛ׬#ݟ.ߪQyH Ou+MlXA_d~Bʴۡト/P8Q&e_R~x.*mV׉(hS[>aȔU e4lh !b̡? Z %y}sbBRk!I[9&@>m5-]*Sze E ?Ծy#e5B}]X/l&E^*sFJO[,e.B c7`;xz8cE, ƎmxjFH"!m-Sp=` |txmߵ(<@Zz^'I! ĿsA$sy hoN XYRI|k}U/>G 뾥㲥ֺd+OGA4̱S$ɸg΅`Pʷi EqO1$FX7aٯG~7M2B~&a S1;Z?0' vӅKѵӤM]dI7K \ґX)eRPNG,C\9Sѩ[FH9èť3H sgI_m+NMjJ+ ߖ]8ym jaޒ1;tkYAƖ< [~MDU[uPLbX2n ž'4[=C{QRbl-J֦<|^XaיwJaH-6+bR䷳ߘ?@] rCť3F'[~qCxJFiݡr 7|/p? M%}w 6( ~9Ow8FJ[Q3#TfX6ڃѭ*m02UK;PC |KmG.ʈ8/_pr+1}3t̹auC=@R?bj3=*IśKHԀsu2q5LC k /Р&YӉy-gř] QRfWN([ě0xBX_Wk~R`01vܐBMf]W_@`7遭*"MYA@ Ϊ3R UFDUTm*i-0WiU% N=3уT yewӼN/ì{=o-&=(Z^e >78HNdA»n*cQ*4])"ZyQ̧0u Dx}T`[[RBA9co:VNbl]j^V!X3ڀdO"Sk(TLk҇ip!PB/&3Iښ~ \:&̗m_iT*`n~d#&%Վ7B2j~}/Ziu~T@CLQ7+ՙڇѝCϯ-L:Y[g#ga&T T^c]6}TAa-Mr$2?cam{uBj5zgX)E8xWn>%' D[f}C29{55m~ioMZMyeh}{ 'Rkm{XueXU^i hqӢ&Pc_@yK#.\#g ]$,"5$++'4ؠ@{dUt1%9(G.⩫Ǹ2;fϧ_S ǹ?Pqm:xQyoԖJ. Y|HZ/JP3HO8R&P)`6F`! y~ Yέe?+ںO;9qܱ֭4&Vxms1Q3ŽeeL C"z#ˋqH!~:W/\xE&\{ }wVYj~@jt9;.ƩY,fwtVJ#!}g])2dvK*PcFpܘ3+g~^h`7|"xs/*ŁKP !U=l :ΤGj S3vVhZcÄ-P6hib]P cֻ?UjQ#1 gZc8W~.SWBJ0exv&sd\m}ݾ3 ՖtKʝgܯj6O. f+p >՜gJy0-K@ZǚZW&x8̲?;1QҝgR:$̉ՠB/P9ą8vmInΜŀʼ톂&-P3|NT`hxfYuA$He!2̚VdrSi^+VL߳/73:ہ7꧶9YdF#N"Dqy̒Z˺}v mƭ[ǭ$ӪnIv|jrb*U%~ƙ?+߼SY_+[> m !yEf sh43{Ffx2pCK4ulD*+F*\"u%[=v@ ZI?uW/`tvv$KØ%yo7 5 |POt-LWg%=+裐 vK?l|Pی^A!Q~LBtRHP8 7/&{v+Ü9|Z"!a^Yv0]ŵH3}GڟZb)Kf2'9Mnߛ#e՟= "]7[b;ҨZ?mh,p }n7coDh{[<5 j ]k{iu\,3J{ b"`Bj1 gXU3VÝV xW 'p hu*)f B*T@F{"`_>Rs~{{p>\BT0x̍KQ!e &GE9BBf=\QXQS̞ ˱ܬ .[hPqfk3u#$͠yt@/<^Q,en.OqnPY K8wП^ՙ~E&Rx0[JY E14?$xf,m?^Mf/QJPq\1]6#JGKMhʬ=uNw=XrA Y.N4gg P3ekU#8p5ލupNoO;:)HI`Vwn,7JM9si}dˮ :ެx%4NS}0B2O^c0 $x:rx)TO bmIWI;B.UHrkpW]VvLL*&!.+7)Pk'FGT=&Ua~>SMN2*o>9 JXGI20}]a &Y&d6ڲ뜃Eڝ3ǛS`iL nrf4:/c抪pͬgQ~#[.<cAA3.)Z G9-fWh'޾52K֙P+m~ G^JZd(߷T j _^y"F=GڊzZ/N~[٘Yf 7u á`ROr)jb)IZGc"{7.cv`?ʩbӖ;) |+]aŒPuK# ƻ OQ?NJp8_Ms4MI:5̋˘~A|8i4&<;͟:DP.႘v1|l& B&;|~Bn[UM.!cb(Y*x )GȒtrfh,sH/ Zx%Ƨ»x qhZDӉ@هyKjq΃:#)W`}|gFP pWOxkTG!n.i[eˁ<<1;TRڋnޚ}mCstS5#`xE AOH$aHxc?=JN7 g#/>>gbg,@B9ٵK\cRjDмkaQטH#U.>ȟ<Sv]@׭O䌛$ʿ7qݐY`z\dMs)Vَ(oTսy%E}BKunE < .pחUnZcælAc:^->U)#9cY`|UM)fq_,SR@x0":,<rM~cU[Q0K=$ q>U{0yFX~s@7,3"5slH8) 0{hU>t(LZ(Y& "?37BvΙ)$UX!B>{?VCóv)QO3hX$a'sD #!Zp*-l 1mB<Ue%ð5pExY@5$ۚ:i鱁>Pe%vbOKLc z0R[.GsE&ߎ<ȈGل rCV=v6n#2[.=ьY wUk^t#N(2㻗U=fku:HL39hӤyut$yd2zoXUsv3Gݳ|VB^w+l }<äB#>4l<87&wt[<+Vӻ=\l1X;DutޞO,JEBC"ٮe4)aZdeDٰٜ}S[xK馧6],JRR4ЙTtZ~Grrwݣuo'ͣrʁ-GD3vx:H {c`py]@΍M>+Ґɀa6{yy*eKфpZ_KQ 2LGRVJC׽1@^|oBa&(M\ʦU`UIg*.:H!#&%%l 0*i}gBܻ!:2ڴ8㫥Mf&o^B j2߇/4ľwnttѱJ߆a]Þb6jZzҝ+ӃR̳ۢRs—C87 B_'grm_y/Om<zݛIPl\ ,B3g!8HmbnlcV$̾j%I8pjtZNsYX NnetƩ"4p ] {1fg{t8h\PىŰHJQђK/ݶ 2L^<~+FƦMe0 A2ѣZu;J&jvƻ%GV?jHeDۤk,N,JLE1S 3_똃-ap=+)Ynmqf:ܢ Jڝ0|HᕖSmVcw݆ ~AF[)njءeAyt_CXcBvJ((p%𦾜{^M-Y~_E?v%XNkYMWq  ؐK{vʜf!\ؠ\.^bv5eYڍ80v_-+nW fj+X$HA 8K*STJHZ] dj!T`E8~&VLHcɄ4_e!KW(n"oMúA;h^B#UʊR1|5-)AݻԡW[7d;'6(k>V=:&6{G3a%㶙t`?{_Lzr;t _yT ^4_wͧ׮kPq:~rLͬl%Y:Ѱhn_@ؑ h'ibD;I 1p{97b-)xu"CP(4X9 ?h?"`<>.$M;xAkj8lٺ^ݲY%N MHtKxAH)zo3嶄5꫻(CwA|!m] .HpOy(G &>QD-i5os %7%/<[=_g@*W6%X,%_~|bp2HRg#v]F]4N}vyUؾ 2iOuSCd: JZ#@Z}1A&ŏ}*wpxe/(綞*{3]/4 Bq*wS{hi%ġ^SM&lOʱv*J4Ԏ^zt}R%/рR\(*ׯ <ZfΒ >C?w#}io'Qpx*@F! Pwͷt%[^Np;3riՠ%x&m]j_dTTj -D-dpV@b׮U my}Z Xᰝkļm;vvN>J*c6UVZ$<,F'χ6@k) O_Mxfw Y[lSr(F O["NuswMRw];c[8a:Pl.`k:WaEEZD%8J ='+հ<ҬB@͙d2(/n+NRmz[3ohf \@ x  6vgq*56]2ongRwz2LtM*,eպ6>/e1传 jL?l.<k1v~B*nTzI80j[ TN)@+)R݅˵,T@yKJ&`tpjn+MY ;BFaa EPUp8EA :&cGCl,W726b]Y3yK:筂MLw&")7yQǡ:Ok&d?˱ CTaeݦKdi_&C&g/.Έ;Wr3&ž/ӦiKUZe8uKg+El>v*9VbX>i@r~ge. yp>xWAҪM|:@gҮ"pTg\2g _6t`~dCf kUEGy/eI0ǭ}&Ī {!+rK3w֜z"A!Bgti[Dkr1CQԭ)]ө`9DMjsgXcVׅ۴zh`pEC>'D9Ģ7A+7xrX/wR=7.<g@aSHadi6'᚝+{"5Md6G8-OrZ^#T&UnO;|7Yy9G5{5FR0%՟Rn<7VP&|ؗp"N50(>fvM7z.V9γK,?*PI}68{tCɴ:+{<@aNC=s1 g /$S?_# ex"#Z_U+ ZA;%HF۴B@M˵fA3Ӈ Jlf Jz/> ()wL2)xXP$3XGg*A+V z}NC'*EX5D~f0^:/* H*yv0R>x,T3ڼұ0zw}T zf0SI"6D$:sVz{f wˬ̧2k=rmgkjh+e[Bf]@s;hFu⊞bklZc:mM:p jnHMKX gLŌOhfӰO`4Ҿ ޑc Hq^>7XpM%-9MƘmVOR>:]@4cПJ ܧ;q+8( |<&sbnܻ{D +Ӝ0YF_ȦA@ӢF?jI{.ѸPz*:btdLEy ߕLkx( f H!huU!JOhr0]~wu'{vZZYe6Հ-ԁAkXR+WMYngc 9~Ra%吺*t "[,n ˞>O%`P1aO%njʳb+\~rRy(;sG0Yw Y DLɇ oLJ\wԞ˾ߗ]gdܻx>S؋`Y39f+0=85)Q$C 0`X x0߁p YvI|0Cn팋::Mm@!UF׆V 0͉g(`W)9^aMMjՂ値5 կ%I6(.wpPt:ᗊgK|<++$k_ֲ_2ҧH@W* tKI, @Pr!z9 i]u0*Y3I9q4k.ZbJ%Ѯފ(.TvE.3"~Pd>?:ڂ ZpXͺPC<"J8J0s6&vZ$V$ۅ,ID[$i_ȕPX?w2^]Ek2!%N*~@tỉF$\B d=t$uJ ~Cc̵j'+ REb9.@ Ñ)J Zbp+9QR6Z1B✿q'^XӢKz ??sufaA5l+.Zf#L A:f۳`~"SfsN|̈=䳧tÁ4>ZBJ'QC&ݎی#Xusp{`W-BdfF'*`lv @U&"ycډm7 s*Q.97;58jPkj-}@: '^.A]Bap1qف.rr}V$#y@}ջpadg\ ȓX2Me(4߹-yp_=NBmfXJNXM6K,P6m8JU{N4|J8p1`|:3uO!z^4ZΖ e"ral=1 * ;!0Rݸ܉&$O..¹p4,54pcC4e' ѠhȗTGiU{8cy%M͉˝q,?u~hU̖CKY,^!? ;]J56;^n1 |+ {/kn H6`B>~UEe=INUi%Nbv_PÕяnj i!K-/Dm%誏*7f|nB.xϚ$O41OU_g!.Y9YrvlƧb10sa z2G·s2%uh $.Xֵx .-+m3j mLJ@5}.]fťhf29i\&r CZX ŀ :vݻlT_|uW'X_^: X}0}WN! m߭ܠp`n!EtrqF$Kt$y4dtLtDmDQz@*::&z'flc!?Y,Kݓ<;(SP־VEHئXsA!~`A0AюUڒ3=<~њT4uDމ>#鳤 F tAj'@(!AL'JxJ5|}W+T1&1/R .q"w6Ė ȑfE['.AZ T%IqAEXŧ{-a-Y-C\dE_Ű?v R4.H~,&#|V <߂`-"h4R{(`| )0ƯiL ͞!JhLS3A! Pd?E-C'? GtWN՜FF9Q `u>͂ t&,A?f? :#CPku!\ ^M53s25!lDbcy=W>a/c}L0ӈfD~,FRZ%Ue~>uH"`v(n1T5źZQ̾u -h։w?njQCgҮm'=I&G65}jUD;ϷڎE>?#-"^Y! mFd4%Sa#^@D^qrw/-Yr/k;Q:.x :˵q@1㓢_WF"4Tٳq|~R^C O.j?Ɏ)82Z;:E#NNTr.C eض+{7n5H{-39DcḲR U\Xi 4e'i ) a » TX#Nr^W g^7!yX:bv=. %bf`~3\i%^6ث)ss_=FFQ>F+׫4_ n=.oILl'> SV@X[#~vCq4nuMe΍a_Pk"xI&`jzeCr[ (ZN"PQHpDw$wHQt cD ^#pa0s5Br0Z:$B5Iֻ7X6[ZO*ZzV$CnhńtO8)hNS i8 H֦3H q47x2t=84!D>Pg_^"z֌C%Y T $K6O߬vM@X>N9{C$0Zs;9Ǻhc|{sHmY (r̴S݋MK6^WXI:5(F:mVp:K#"S,XT cIϭz#,J>4Aҥ m-PK2tڢv6ik}уU{ N8*8[Ah&^ujwU$P :ud[ sr?)Yfg?\9|L+@꿰/Ӑ`_o |}Q# >d+vf$iSi {29=Vkػ l:~#+\/Re&eNki$އFg[ķYegZl2^ׂ ҢN>xjSg0-q \WD㌪{-,9QFGDo%uLSL f`b ~ %|c¯Y؂̣MՑ XiYNVxR&\'Y|z+T-.d I$o=h_v*(G%̗Ewe:88kgktCO6Rnb}Ue%z~0B髟\!qV^~8y0`we; o7OG>P9[ %sQ.z_5d#"OStR01idT PapP ۅpňJ/( wRx{i2|"irzhťJVZ*7BؘżP GZه &(9l_a `oB=h[QKmAqDmlfHStglnӰ'Srʶ1f ehYF(*ַ794n‰AKV~x q [ `pWgMCrPޕ_ |~MoBӀ2XsP# aބ~S-A^]y%K ʧZ_ųFt{\f )'?6 htb2ZHnjE󌬕^8u+4!^X>׌(4xlkvLŖ5#P}Ci$/)4xJ`3׵2ѝo|SmkLJ%uذ5Ysf) hH>G^jCh&4BN%Jc)yqCx \ŞǿW6 :bt^/RqYWnӖ+ōQ3 Q1~'6*b&Z3C<\ W@`~W)lo*~c#0/ލ@^q%C[@$ G6D]mҜVw)H'2 ",锰-u^m;UI~3صM+Ryo@A`9P5 pA[#'/eHy}uHy E~rdE'n\|ʑv`:vM 1 V<5Mmjs'|\-(w`by!Ft[Y)X1CHV6~$$\  Ei;\R]]qHv.sAyJz'#אL'"1M}t5E\8?4h΁WŎ'+ǯ~rw6[LfMg,?>wHh%yp6-d`Nx$wT .fU } S>hI _.X,g*$=ӢK5 ]@ ]/h;`J ;+k&j{W'Oc@j@4ͪ _oÚM& hTrSC7 qo/Zj'W)ID4^)pbɨ{c>zE;],eITbH~_D~M+"/!39!~mš1ۑCT˅B0ő_="ow3`}a7=nd(jTn`g=19BauЎqAD=KZB-cOD_csq{YP2|GmӲfU zv^UR}O{7WRpXσp򏙷p̺(C2"3zeXe=IK* 5x,[/b(Yi(mD;eIeٞ5|KD.R1ei҄K]U9WNl[*CKLsO{'og!t.*< "+aoI#)HEOP4B5'}SM=97_zf(VȒi2;2T>D* hT-Wc KfhTc1r-Enj[> E@ijħ *W[MQ`pTxnitUmxBKbFɟ-P5+,XN)t"c,ŕVN pAJұC/ђp(fsD$ucB/By+"g+EpxKZ?~ qI ~LuܗʵͶ >̕zX@ݸ%`Z9McP_&+Pj8cաKH?30bQbEN?U&}Tcqi3R'B=a`nEۣ(MB!'2ntZ~0;ދQ#O8Wz/õXb@[Y39Tvů;.d~3+-ZڋSkN򹨯8pN 9ALD(,UUrK H>>L:UճT{c,)ȼjzjI YҬٖW4.wܸLPuWbd]P/ B+>BQIwʾ &(N2>2]=ަ}\<9bMGcdž1:A.JǴU,6Lm2e$(VLCC7Y3Y<jÝ1J7ςKXM:lJX+ީE)PS=3vo4#o@:HNoy!<eFwbtغؽ718TF,z94ҖgQW#JHHݟ",YX, ̧#Re/^5`:q? # 6HkC5F"nstiaW٫ۈ2 w15 7̪- F5Ĩhs䈐QzM>rw?clv5epo N 8R!) Cm[m$*k0ځo/ަwʝ~DaVQhn5t#u R]HKr ón כ>WNV Z6ƶ s̝p ʴ ?O1ñnt0dȷ?v8+^9(*-jK$B6J~ 2Q*QˁúZ_/i#Sd?, m{g(ZKbI.9%d93`%Z>Dk>s`ΙFB\S^MnUg mҲm"!U.zm}}&3@vAi_mF C݄]P8Vʄ#jƋnaY0B1` 36e$E)?xɁF3%n> 鹨oc D\}{Ijg EVxOE aAAMo+o3E.D0_Txo<ۭȄPW=t/N }7okc撾Y2e-} ,a& ]݁Ou1ti:K K]-;FFeoOE͍Fe,>FNĤp.'t+Wc\G'Ow6ގ;KnoqH=t+=#Bs'7 \RSV@ՐXp+c݈n4,^4H~1%iUJtˑ"Q.`B"ըж= D Wp\ X7qZI=:BHCp[Qf=@Kig4*SRbGS[[ k n@r3# eYپ; Z\ `]/ IKG@Vza,)akmqk FZS *׽a;\:`6.Vչ/Fo)v c/S0H'mlC&+5@rsnAtvӅAdz)j7Nid:s:)%"ajsX! J>X !'w >஄oZyӥv =-*& ;-eW.ly 0ؘ-@fz˞!;NquaQ۠5, Ss^ZW9 #t/W6&su=XD{mwXB6s9Hm Bc߽/>qmii Zmm7;}p ^tOe{?'Fcr1 ,UI){TH"Rёt)iPsb 9*fͧH@iQ7q5Il3a;]Tr),*' {20Yn?ƹl)GBHĻv=a> pL4 L#i$$<|0?C[P돴Q bgo9QS$ZY98{6ZQfMFNha3 1L ETSipqqi.YC(:)~ %4I L@aLW:5)S9lF">3 Ϝ ] S"ރ *+/NhAX$ι`]TPG<>wGz$=R(48 d$87Ưr|v1 [3>8E~<4Y}R9EO ! gV:F%\.ppBǒ^r oȗ;]Ya{HW/VIJ%m4ͷ̸6(/r?KqϔZr.ˎ>-ӇmWQ˚C/+~/hmNi3+T=_`=Ԉ fQvθN@uNhaJH,IQ:Y]Sy'vrV5x;l1  YTtH[.;)*YxSN;_d~L(㨜HR^gX4C(jI3}Īom鯝'L1:V`›/0Y:@mWkqё+5O J28]F;q 9TS\ZNg5^-1>ʟ2 N]gr}ˍInk%+M]NQ$Ȑ>QP3]F@.o=qB- sn%C^m5@o3F0YGJ鉝nXm i/ARil[:9b-qW_ysy %mݾ)AG .[|.ݨ' smHM21i lBIͮi2ǽ\5R;LH Y{qUFzFxp(ݙfR.!9ڰt6ɋm~XiO$&TK|-G˦(˖,[T E$HV4ulN_,ւɓr$=;]~#vc kiTOs ۴rm:B(K/l@ob j'LLJ'~O=LBl߄_/50J$1cip^8V~4`5DJ TO95d-(M~6aL*쇢I|"}REW^.&%nGnj ,ۭA|SU2ÁCrtnYaab6i#rgs_ҘcO^N$ uQ\羲w{æR rA jq]S~fĸUqrD0^K+6}TܣD<\OmfWux8Gv"`-ݾ:Yj:jQ6^%G,ԌCSSnGTPҜy`HԿO2_=m<? zU⯬ȑЈx[ag+ 3?b[KB5Gs񼩲A ߢL}*xde)C5 fcÅs N^#§އ{rB~1R?bh&:"FXܜ2$R0 Y\?aR[agCiWBI;&T[ue9eY­)\B02+Mfz %̱*#hBYLBaCxTe9h^]bE{8"L/Koh.S$5^4{]R˶ QBYBQP.Rqg\vkftH #V{7=uV*REE:W#*6p]NQd(Ȓ#s&Q V\G-X=dNTZ̨ 9Beg`j?O]'u|V i. sӎ`,)SV:b䤡jY0}B,Zkbow\9$oB}K2g&s`dj=*89r~-"bB(e.~ØBb8'9! m&T:2ۀ#9Ia v#N5.X ĩ88A{]Nar?ZJ/I;0-pXLXS8M``XZXh/A2tSh|_O&g$qlofT'h_JLWaONMr0C>zx>vy:otAcw_cԿ0 ' ƯXD7O[ۙcFmxiXuxz83P:)YXl5oGs#DбO-fm@!-gUrw rwtjU\YTW\n`WvN@q^hay7Yz_RPOc18æ/O A ZQ8UZ?ARތf<kްCuF2?AuW؟J2ӄ\i>4vi]f:4诹kS!rUc1ʑ]CbS[-+[4'^Z0n}/??Gr8婳KJWs!\u}ǐSGSHD 48Ӓ~)KTՋS!Hv𴟑.=} jnNX2 - '@vgW\~^3q 4”Qd"۠`^gmvlEA@F,s#MSGD8$\YE0Z𿁦P䚾kÚMt Ɉ**DݳQz|1$oQX?oV8Wl`dC){d:+wCQp*«D?ܦ$eCai9(#*oR#gOEO@.1c ukǭgNl|9k>U0<&3WmgDEd~R^ׇI%<,I+BZ^\u M.+\WIC益M%+]4~[nܛۭ^/J nsuϝ#iCVf]tb&rvAcWؑ 7[bkr_pg'vZUHѦK[ѷf+%lU 68 `#LVȎR R\2z7׉,S7@Bn҄͸BlKu-d0% ~ YsYFOn.%e THn[doSy/&<l ; 8g,di;BTRvw! }!EH0j_*#ofґi~yg9؅3<.~nGqa}FO/j; %tV{.Nߪ<}2Bc N?\‰TM)~O} zGſQq+3GGWlc4ԛllx~IF~oe-~\ldD[|];G f%=ox\9S{a~dKܯd 1^qLukbq#d('*6bxUb4>opswÎ F A/"~ pkJ%C/}n_Ma_f%>A `7kWi3C%872!pZ/FqP _.b*)?wN0wRE0_K8i5OTp8_BI¡[dxyU$yjd\+NN!]maBjb iƸ z!/D؍S٧1sXÿߘܥD-i\S'ƺQں^u{x( T'3%KSw f"'-f $B3@H kN MA[zI# Q;cxEz4S]nAEjyxLͺF3Nl%MO(N,VQ"\GS6NP;\L#f.ƿȎZ^9 :7PuMi+)+}+;ԎH? w!-;O[Te̛ Ѱ(Oetɑuኅp߽i4kؼW4Iq1}lr}&-) `xd"|9 `L>}-k%2݄c kM3|j:I |zXL>=Q"'lUVr) ȩD;m(/qBߗD_ȉHy i΁C!%3,R6(Bΐ7)T%o J#ŗʞ$dr1G=ǜ_h΂w@:'<'v: 46.v 42q,pN߫aQ3Ӊ>-UPO̽ 'q UJ<30gVSj#iJtCw K?v֬?cl*l8&b]ґXm$Rk SpArok@JͼKIKC1.[!#D%xw̕;m@6bCK/f ~֑ߎ0ⴗɐ.,LZǩwsQ p"[tA¼V>fPLǩp[ ^s3deˆu NnOOީm@,%ebRΙh`m;3GuwQXbi9)9dGƩ~ kB L ו9ʼ W(~GmLOrc5dg5lD ;<?Ltnԣ<3 _D2FzlUQ^/"}FIbtW]ϊ`Qw^=J=12͗I1,ЛθQ_O5W3aNϏǞ[Gl(C.JZcpKO;oɧ]mTcb`%VdLY ^nbᵷ:Lmi]}Ocy+~@%Hk 㻗@AAU [=muAK:H/q jp9#0]Կ_p&IN]qc0q{ zꊴ/iWەIN3u_1<ɗR_h΃Ł{ءHNxEsR~}O6u5y# ^Q 9N66'vJӹ:}:rZ2Ңccr;☪Gr|홲¡b8'ʀoGSaka<`) Gv0Qۖ`rZ/'{ 6b%,|Żܢ115o a.V:"ߤUczXit k8Nr4sVRb Ů?g6G]߮'Z$r?2 7PYpKJik]鮤@,.զEuG裩_Yb^nlZW#6*>a \X_-? 0Ib@[*'P?]ZrKS<[ld-Z bxK%^̐(dRV]|8e [)ё|P٪ʣ=0/d DH_h,\K= 0`su3ZYpW,/ 4yX a=g,xĈ6 t. ̌H+>Ak c=1HK%uܓ1ÒO_;E{"J[h~ feߊ`!组WQC))*fjw6^_Z9\7oQEzMdi!+(fq[HZZS@ Z 8KGfbjLCcBʙ ZrǨx# Qe=ՠ`]imV23h-T:mBMgMU-O ,pAH;B0XHV c@WT)sޤ p3S5v'/˷z-$(9CUFGztC,d5(A? n4y{#s;;ÝfY$ġm9jUuK_a !'Zrc ,ȓX}\#ʲˋdv@jF9Lx$S.Wz昫D5"▎-?:@vO:U_uըCnT"qCB4e%Xۯjnxe"AS}LGaA~l*yApxHB @_FQ,'WEWgވz1u L{Ш;HYH@R ĸSD./9VlF\" k܂B)Cy1&3j>IZPu=)W:!$*p?⻓I3oɫZ$;7I|u<)If#b8k;@:x_lXaY=y9>_!gzL #,& ƱB6>[YI<{m=iã5M1Ճ;@#gT$k4)|* B R^*~Au>U֧t;^{`M֡ɴ +̐w&ի.JIFTV_gƂIӟ0[%Z5_J^)Lc5O8djV'alYK+&djLR*Ҫ0Q6å md.iW`e$bEj)F}Ʊ5Z£nKUlZyPYm DjN#'%G{܂GQ6W (͛;VG>Ic7fNҊ+ߟ=9An\`z5e sq=rpngh[@?[dl6_Gkjm^WUmP$։vT$ZdU#SC7[Sz0"Dr:2KVL4jg|NgOjp` 0q A[t-L6H-{f&gbSM״7ua*wGHFdLq1l O8}^Ek ed"}'Xͥi^ ^BPnvC'kL6p0L>4BYRhRLFaB$f$ H<.I|!XG4&w`f[#@v5Ʋ{dx 1 `0V  -ɑ]99lݦav<ӊ2ɲ2~T$w&7m T6K={qsC PdLtD>sWnubgB8H_4vouF~(+Ў=N-NS;Hl2`_M,[mqW' xAiLaVLB v%-bMgdus4n1Ƒ %+f۸]P2IpIxm{+v0[; xqAe_n=)$;+QϚ¼s0/2XB3[LtKToM+YG_e!Cƴ~ɦ|OdgNfFx~."0t -@[NrfE4; [D{e. |挛Sݏo =Tekq^*<SZB6@ {c >;ѧ Wiz<[p~ Z}P7 jD֫x6`f7\% e)GLM|RA.lœ#.&pf|6.H`W19v}fPgt9m|7gl>MĘLECf2^@sO {SP8%;"T?aWiSȚٔ:~bHtx筏ni~/:BS)Tpw"]f˻`S[sۂ=/}{{=}w~Qr_FD> YRCF v'W.H8vo$&2N ǶYn3nV}v(I/ׄ@뻼!m1])7T8%֭1ojSk~{نЊ mұ?P|jBfEZg[64.J|o@FAZK=4kC[&Lu!yw)Ò_"yobM"ώצ+:sro`ש'HᆴƝ;>#)nqkgA?f-Vhϴg9XUN$M u]99:*Rt㩉g21`qwW!ïmI@Z=9)\ǫ2f+\<E@xޱ(Y|?y܌Bw)#!2R924jjﭕ^h w¨g$ؘq.EfH?D}yu~{ОGHv{T6)x 6n5j{O؇ "{kJ>jU)\'}Z@zIduB*NW : = XߡBCZrQD^&ziFRO,*nҐʩi.SD2UgB(Z4'Z%ZXMtik&T}dYECjq8 gG .W05]kwddOE`.ɸjY c2ݼmNm#oE!RT^G* arhU3=9 :QlZpwd)4>dq**:b=cDV]ȫ[ͽ-\e# >>>6 uFkq yeq`,Bge{m &碱\ ?u@[Ja!2O+Ώ<GV B6c"a# F*=ٱ =EV/;.KVNP3F'@^"bV& YGج5`+ zgruLWfVGsVO;ihVC*o./?,6dz.Smjc6+$WcKAwjw"i5Z$*ډ@؄Lo%"ډMqYPG-r>#$Ez:|?s8D7?y7vc y2x_*M(ř]dz)°a9 @×Rp7 28Xq7`F @zטFk'!{׽+xճ^q be_;٣>[&Nfz@j%lsZд+l 7*{0tbt$†dҠ{Tww/ȷһN6>~ طyJNC&%@6/u!6b(A50҂i;JCJ6ytͽ5}pثDD'2[X1%mKؾ.r)viA*;ڭfGpZD?%6")LN* Wh?,XRF xLL%!XCx'b ?/*%O#^W (?<ɳlM8]% 1n&1;W+xy1X\_ʑ'G6oمoǎ]|Zҭ=Z: q/UJ-dI|%q C@UDzL/<':՟5Htʶ](OؓνtQ3V4u4s}yYH[^IJW0B1Vo7h6`C6VE?m-lf*nKXm&Sgcq*e4L_CX޽y?zm)`b4 ÑD{SX[]č:̫;(ꕾې10Z!C=7%bg'"WuL \oDX)@V&L*Jh_[Φ!JĆlB֣cD42B\ p+>>ڸ}Ej˅ px}uY xܤ/WC 2~:cŝQCFo۸zJ{cwIJ~$Hh,d} ܜ}u70z7MW8[.X8x6@F_'v/#$7P07 Cz̥gLO]nZٕ?3nhY&]Ԍ6r{ح;㑷;kG?GW#f2QMHJL0tgKlAo|1܀r}DpJz#N&-ݘüq @wj'W1v ;Prv ji6/mC^lpQ < cgE 5r`Ѿ l{5UY^Z Jd5_L?TOpM bI5"~gߖl=AKFu^t6b9<욒pRuEѲ ǭZCcg/:pQ$0o)&>$3~BSHj1}trY>EV: Lp]6._?㪡߽|tgcRC`G _>$(w0ɕ0ȱ>=6YBHC4Q4x jkѲwlrUbzzײA#A+=P|,Jw7'%|( ܷ3Mޱ`̓7f4Cm37S@As9cpyLW;o̵rꊦ}VL26e % Lx.j]( $vVbKHOc Fnxq(V c.{uh|/\k c;]Nclw F_:dJs&/% ͚a<.!KqoqtҾ[UkTŏ4I mߪmSC+dزq1bZuˋ5޽M@ ;&**y>y3+g\i26',rLjfO%eX땘mT!ߣS:0`\2 ӔkX<9QBȶ؀.`u uBB^kRZeWUMG) wٸW0Q?(h?!GbvqV?YjC9"}ɔvLS En@g s?~ϫ*?PdXuJ6i5)j9;tNGHaPmGI281@Kt ;0c/R+=G:}zM[DUT[m^ш >>Xm,gXE`ȲiZK*Oh^rG'O?)˨j?e:QV N͌π'eg7Pto #r@We[5WH:X Άk#]5eM%i[,%J8@Lh2 b:CnvwYyfO1/tCRT{?Aj#u5G}h'0.7scwe"U{earЬ& PC}ī53;E9|Sr^ƒud'cjPg|&dhdG>3Mu ׇ'f''M;!LŸ1.]&hpub}dkQZa8b\AM۠`ai=Ўy@*DlVZ$-孜OsW9;[o6ݺn]%aH5Q0U\i&_֥Nps߫8w|f*C\xwi`L߁h|q(:bhNr>e*-}c{[r<8b1'E/A@P-B&h{@I$yECW\в,[5nY?L_ͳx=6ҵoѩW.9<ÑϹ:uq^Uk=`7Qls'~ތ g5#n0v=:nPvc#r2 LKgfxNq ]^;&IWd1VuNL, @kٛ"XN\lGtbEx;H]3,wؗ)x43UVx\-_EepayUo/z.(KB}ca Pg`p8$q! {5pk,eA'?"DսI/h :h?O#N}?;OTXpt!&yieP+!A:D~80-8@w$y/#=t%^$R@5l s[[f 8>'=5PI} ; v|l8Ug7(@R$ [;䲑:uRh-GOnI|#lUGi- ~F7r'P&wu-)(; *kJ@F ?Hm䄚к̼T 'TqQwAFu8M9`%V(EQCZeii|6rDAf8p\)c4`-e^wrr}_-QъsU}>It!gLikMԞE[K84WVJ\.c9Z3KD}, a4UnW3𦄧T:\ݍQSjz0w>ĉJbq)_ QQ쫻!d2LȈb'bsdDJJ!s]%˄ecQdbhjt s&chq4=̎J rQqTzܲ#FPG^s4 Yz ²yWx f<4HjrFDy+zEBחWtm{{Ah,Ao;N7|^i@b*JoS'yhLM92OusޜWnc/IzxTNM ^^?cuud08Rl R4˜.ѹq!ɭa2s/Bb" "XGp}l^` AYG[Y9N*kޗvu2SaMQQ=BQ 8Z>EԔH㨀5suY JO.k<%(>\\JrCDo$x"jX56 La3Pyf_q@2:4w+-z ii"Hٰ,|3ؑ< k}S1y$lU6nsRe'n%P,k"YϏ@o a2gkgOiK>vQh +쐮:g}03cΣ Y ُTVu1ezؒjef qB?c AZm#+h\Rp׍O$gu~+t歚wn\6*DQn+lMO׍osrDȓpt["EGuJ/̎g ʏK"-i҉"7Zh;ΧN[\&Ĭ=DQVhLa N7;ԏ !kM|pfE UG|<~V:]P~n햸5j԰:-2ݯ,s+Ŏ:c&%adz.\F#֏%rC}k{Lmko)+jJ?ש^G\[>nS]hS\P2>#x>a)zl#ni!R/}"k/}Y-@1}6F1Vi#4ԿxSբMD- \J&D[`}k㭐BFe7Dmlke\r%r wy ?}wr 1pYT_%JK@R58%n~f&tڅJoK|tgh|,*쎾Q\w[?H=( r f-i=64@6ZXz/D_4Mmk\0ߕ@Kj"k/[@'wss;;rHU"gߌ1:B{7A9A(Fg߫Vz] ~`_GETdM޷c,|vmDC.`OME#CIua V9a&<:4Eþ,ZQQ5`'(K6,+)6("j ?**>7QPcN,/fBj[ѥbt7VV\<&In5=uVM()h7mgu-mTjDuSCivig,IovуЍri.u8VcheyJvi,);V5Hb)Nmxi 19`qrz':h $VQ$rwj|La^PZ̘aZQ=A%peC߈p2awfqwL%sȖ:\7 !cؾEP~ rhhw+KX)䌮 28U֡1pE8{/]6$?x7)Vfe6qĵ/xai=h۵rG 6_,!׋EQ^4Eʥt&||\ K3qNFQQ!TYռkW"}sE>@ya-a܏(؈<3*I*ZASt5Ў(kՁhE M<9--1*"b ^/#N^ISƈ(0n%]8`1V:9!_ uxsbNo),ZIXB $swNnJr.}-BHجm-rU-)'ʞLCPⱔao ^'s|Cs{]]&Hq=S-tۚݸ] CJhѮfbi-; })Dz5Zڸ{JX]L$Qb @kB% g;EN\L+ khN - |BJuoF6x u65F?1^iv{]|WUj*F7UD+y)hc,wA-^.mKHxs[Ҹ)uu_,P vNWu!. #04R䓦f,Y8^40 aBD0$ azƁ#l[ÔӿD"j"{QSiKD;Zg0{3DDiS+MԨbX;ۯW1,`iq4>dPjڥWtJ8ؒM7\xBB!OiPˠo2 Qh܉E'Sxt5\jnMB1:&pn6=Skw?+ ^q_ Jim=XS/xP% 9 By}'|ޑ\~ϦWGHp!uf!haGs?q&QS݄pMM+Q<X޻Km74` sEsUsE1upؤAv6GpP\T-9eIb2̸HL&p4=ܕf72%2"yUp0Q&>)SokᇺQj5[lZrFga>c;R֗oƖ4&De @nrcҰMԌInyUE=Ў[? 0 Zm$"ll,4{_.\1yuaqԉG=3E-axCFQ=KX[ =X(}RI>)ḍ8[9DN?KӤD#_B8[' o( (5[)Vd1f%ܛcFeuka^FJogBF!-~[(><ӱ9fn4[ȯkoO6iGࠑZ:52裏U/a pSħ8:Bғn`qbo? C>t:%.-cph-IlXڨ=QDmdnJ QUUoF(9utdDE BVl ~8_7m-էS>Zǹ}VA4A%QMg/.,CH,mʇ'%`s0k劫q|,FɍH% p{68tPC㰅^c"ԼwDHRm0 ()iۥ|Ղq@v\ 7PQ$|+`s!5`.׍9=?ҁLn4{ji^ќ1vmtޗ!Vqғ T1ŠY9rio!|>faaJSCQ~[rA 9/UT`͊A abGdZ@J-9NA+AҩOi {=X IY{-|\H)KT/*˓|==&mc*4#g4qU~=:7OK>Gl*|n8˻S 04!%ρn&^Po ]eg|Wiɘwp@|7;NQֆ\<)CSiz|9W]~^aW !ϐ ==fZ=E$Mǔ1)`\4 d*huR^?ʣx>OP( >Q H 9eRd ELǖ/NSKFTJ9rQJ_4=vf/Jar@}YiY*'h`/]؊2 t.|$Y,+#[dC >#sW+PH7SxF ZW/]] >CE/ fl?fr/q#dw5!$^֐!R2f5@F|30Gk*d[-= @EVS (џrn_I ٛdnT il3Ĺ5Z~]g@sS 1|q7^׹ )5ٞO1# 鎺 f'g,4X&f+CǓ"R~ۤ 4W]u9>YygTtZnMjR3 O Ɣ&\I^TC`vuZ$Tƪ}l. CusM BހtFAK4X.TTo :wBW,H{D?m9X DjvR.e#)`7 1tkFd ?{SEq2RR%@0ׁD$ e jEؤ-ulx0_Gڊ=\v+tGnJ93iZ Q#x+xHx=Z=:%r%En^vg)MUYK̹dJfݠT "]Tپ*ٺbԧ_(ida={/ig CzÖ؍'EZPX%Ī/vGs4M9W3Ɋ<cd?o1ӻIY x2]n6*D+xY25Ю $qM(^&F%() RSG$;R#>6 j wh-`,,<&1No=Mߴ:luB?|tV7PT~Yu50;3;+tZˢԤ$K0k߉K:1oOr6C6(!#bXID7!8HSncmk^Ж>m D١`@~Á  [_3}'=Y󕠥15&O]bן\VÙ|JSЃy#D%qXL/W(*Kdbafzi=7EZY 4}&vqkFݖ oYĺVS9iԏDڠ =mCNd,NvKp)$L)jSTBa(t_l?I1:Xdָ-VlO}x~YF'7fVKPІY X%؀ 3ۭQJ5EQB^:1]:#Kgޫ%| Hm9[':M0HY DW[*J͈Wu-J^8?Z06Z^%IF,7jxc#" 7Q~6 "(ɛ [`lNk?q( 3@t_wge9>Ua~R{T]?CZ9!.JKbJA@-8nNWd?3x&+}ʢR],Ob8XT( ﴛ\>ͫmz=MEizѴXV%>\0+R*MwT H¯@w`}d 8#UUGTڏ1M$rVxrl>^ G3}g]m 7S^4 $j$vcƙ߄k֏v@z>bxwwN^~& ~-@aAO #&j5$OWN_eĥήG29ƺ>4'dfyo,Fo";pb6N d] p63`~Ho $hJŕ)R ϸϫ D2x!S0 } XA$գtdNN/6cV$$2Q3ʬ(&}o# A0T"mږaSh-;G3Άd;oQQ,2K`"^ν j%ŢX1z7C= \_x?0LOF(o)'Gta3@~n x!!c8-elm-#Lo.bCl?OXeT~bh@$FFx:7o){Xv[p"υɹ@C}W*c#xn^x6[z D_+5d C\5X=΁rFofY85X+d7XJx=N&^ n- ݳ,:pHTl9iEqb>XǶ|:$]hKW<7;o+ֵi*"!!?>[Wm}#<=8^@.AtĤ^)icTsOO vpO foki _cll ػt1@^4pqkf$6TB?;g.L~(6Gx 4aRcHەCEu#X!@W\A( T\Z"s<^޲ n=(!hRkwiEZ鈋jYʃ/B'/F"CFݡyd_{<[g${rx P%D mBxPTDARQDN`Sk*%ݓ\s5kB<63hҜsP6xv]7Ql~rԕK (!S<x",46ZvD mދ; “$=wU-]N'x[2?-5jSOȝXp*TU8e_ %:P4uR@|x_(K57 "!to^]-ɍ_7;XԕC]!iUTÝr m2.|V㤢8< @~e9L`iuQ;/'{eֶn%z5J,_q%F[K>0C\Jc< @iU,lE2\jlDܻueS2fg!Jm EKj3$̞i@L5<`8 rjHF= {1w`1,>YWw $Kle"+_BW[LuttOy@!Q/]? ϿVsO^Km@ySs|e, \I| =v4ЃdiymՀEE'Ib "jo0`N(= ř AW|cTB6d\gP!OGhJtO|tPhE ^gQzKѯ3j2ih,&9bhAA9i%Sdb|kyZ1._^\rbuKfxNIEBwɴ nĦ{x"t94" Au?Q!M:^gG6rN}IlWܓ`z]ykr"gE w.)FhX\,V|l{D>v9{4z"H݋5՝.h4$KprC1ń_(,Xݪ_:1X(Mh3 ©ڄKr;59i,ʱ<2m%訫=DZjdX"&mS q^w:kCkRf`Cש(n;=hkdJ A/$bʕ킘M*" ۴ioX_( E\C9jGv@adɄolc*Tk 'J?z iS|?X`Dҍ2>xHvJO~u_歹ڵM.jZgr)CFq\"}pn>GM.J֣БB[ԯ#{Y$~blKv':Y23wRr84TX+ݑ ώR(7E-(n_ sܯFlSorP!q{;)ϡ]4=2M6 t{sEM1䖰 D }{&Ug?c+]I\ƌ|17q A~z5/U\b n;yB.M AoȐHwmFL6GM8S,9= I_ժ][#La,Z,X*I0hMTn1`5s܂<|'(YG':_DrDg2s(Ӧ⣤@j:E$l9Uw4N Z/T8>~׿ħsS j\lXYAF0EaTgV9EPv`R!29s7xΤ@aҝe1MUTv(*SŃk ŧU)to>%P.=b!WnE"*"Τ; N[`<9 P&=5yV `FET{ͭy;v2Rשi./.ĸӜDzXlҧ`d~T.-1I_p@TݑS7_]wAgɋIF~@{p'@Ԕ.X{ ԼbLF+|HD⓯mT(w76ZeVl}0ZrJ@XA JEyW^[ly_@B诿,Yp-ƑDUHR|◱nE_UϪAlaHK eZ.~Jh8 9f}1**8-a>.pNߟ,OE<{>Fyv9%3*?r8<_z)'Q5c bip[\۰B[! BFF49edk35qs RnwӤrUaZ*7z٦#=ƐVP׼AG)5YugwؿҗfRߧT\ϕʓK92^$Baϴ EҼjJBδYIˆ͇c_?ѷࠪH9 <D0|A.C3<MKbFqdHBLQ\?XѾI w,+8*pPr8Zr\"ToRk6bF{DŅwb%Rl.ٖ*E]=|L> 1*,#D;;wby}񰅅Z#8L &Y?5Pe(1v#>MV:zۦ>.=ďti-/ؠ\gX;uL^_ibLv{ZAAi.wgȉ9QoEq)k69@e֬OkPî=i÷YNg5XgCJ1yZ `_s۲ЌOhe*EMg1 c4ƙA`ΘP1/q1dʥC;ӯGm_}jĀEbx0uq.r@Â_jܬO8It," hҨQu:fjXX\+}XiK}ԢC2uCA(E{labP1_x[6Tt@(' D:ԏ5nr,/Gip:-f޼͕<*AkU„"KK8 ғ/.cJV6ڿ+Ӡ~niR;P.; ݿAfPDQ"۽p(kS}tg,tM@.qx>1NJ,F^k)CrQe莴iSq./D&nN">?V}QIgBTY/@eG^/# ;Ms.P1x8L-ܐ&vg+(kPg8*;kl}tGdIfl0(Cm-ȳI bpE9?Gv!՛yLU:/AMjbӺߙ?ORk޻H1rӰ2:ɟ}RqsNIoBL5pxnH$D8tn>{_g;|OOVM@3dMerS;q(#H%&j '۷fÛfg5@ Eɼ?;KJZ ;7A咤.;^pVR1jZw(E7 E#uhm6_o43%Fw/"/1Bt7cy2X|ut/ͱSCK;#Ao4Ҭ_ mtƳ}F׿5Kʪ?P*'NQ/}1éN Q/MSQ. Ø)@ J)?=I&U\?F'I&⏛U:Is WxVD⭞!4xAQ1JZuTʛ?/c.:c2ꈒ?%kߟsPNȘjm{+ȿ4XK*~)U[8SnQҖ閨6ѱÇ_C Ŭޅbի9kL) ^v`]dR&C~>X!DԣwfG[7X UX5~ЫcX?8"N}DDn'+^'rLGME6!\ou$13YD  3/:u]GXfݸv@1ycEψ_ؗHWHl %j#Ѽ%{W3X Lg̶!Xz?WxGT8D 8ddt^!=Ww|WDp;R|Ћkp iLY:F/Kz=wɡ/bMn6'"-+n Ƽp;Ek仂,#LO_9au'G.ө%tdO=IOpݳ>GۘmH=f_(KU (;b+tV,иT9@F*)D$]7m LH3wE_~U܅ڦu\LII ~=\]#A7[/G]6[M:ٙ')}D]vlx> m}M*VQ [KUd64R!`VgmCi5_oԏf/uY+C8==^f Njj"c-^fqJ4g6I8IK@,a>ͨ"=x ^~Q'gejt]8M|nB1c$͍fL(< ղ[:GӐb>f)v24TؙI]Sp9d=AsԲ(*6=9Y0o8:iϨͣla)1ci#<3)KNl 'L17<tBN(Ŕ Յ1jL^pM<=|S4Dˆb3Z݊{B\:F !"jq`|ٶiqi?SD:$D?K#1p\k|v(RD[lu4#?f[14 #Lf=M2X.j2<d=}&H4R1u>a;.[! ƇСeP5Pܗ!u;;&Jv,7 #e9῜ӧt^ρ~o6]O8n,!mpLC 2-D1l9T !6@#5Q]=iiڟ|Q 2vm7Äզm]KcUk*vvxjJ_GӍiMҢo3u'?5V 3MU×5ϼ>8Az[0'πG=TjUeּ'$d\AG 8X={)f*I~W>@6;gQUCgXPfMGjktI~=y Xy{<ɰ8)b#[اec}KtxIZ^SaKLk ⮨אeZ'Z]7bsƿulN;ԣA=Dju> *S'0N)-2O@N'BZrFgtJ>fxetLYD퇡/:B&>OKDF =\L-NeEIKX2nni`Xݝ MxbQư W罏I-NwC=hʈ?xh.QQ_⸘YAEmOam$?bmfͮ7Yx=+'+ĨWU ^qs2rEbw$NST':WDg7}‚*I}voi$Iל_%>Ľm}-bՅ28'(7[U`m=;jyxpOY]ՋqHJe/} sWaA_xVHnl" <[^,ɲp߁|z"e`%zFƿKjۯu?r#%,{mc gӈoen_Nn3a=Cʡjc=BFp{M[n[ڛT 'ӌG\;s<~c ָVk$_ІA֋phjiJHbuTirh~! R #88 e6AG~Z}EstdH2[)pa%8;PddAiA:b a2ǍG:&S;tB›R[).K)#1[lffZP:&?Td1;w)e>t"h_UPԤ:z?%ۈ~]>!f V!XҟPw6#@8T0:@a3^M0|09ojwQO{C)p7+0 ,',M1dX@5+z+2K-'T8G-07'K{a2+9X%l-ͯ"[gݍHst{3D¦ÂzȺzbdR(X8ſB]:rj&>??w=Z?C0YEߺH!#oI d37C[mKtjNFvԐg5S֣Bݢ`Hf֒;^+ONET y$$I췮_M#@Ra?tbV ~JՃ#1^$cTIQo!M~YZh~e[aބ\8h/xw 8/qInpO] #p-9Nʛֱ%@ Y(xYEWE2Нg&ZDnKNDFc51<2jv,(ک!LO_ܞ_.mEK` '.vbv৏HRۭ#oSh i@ S>m7&0{v*OW(3b#7zdJ{X GK`k"XU`h_m f u2tD~CT 7AQt˧6s;HY t'կ/aʝj,*ؼ1Awɶ{o`ϧ12zMD GL!EN+_8>I !uA>[fN=WéA}>j%YT(-t17c$ah?&E*z@"R/cr;Ikfmuy0kO-Py\bʗ;Fv/f&5CvÛݚl`2'Qu7MRFLXGtyHV,:{ #D/mE-ڸEvK?6mm٥1΃qd*GkEoY:g Tѭ>ȅsG®]~|:ui=c uyM_竁Co{` ˗q, ZGXn}52҇_ZiD.U&P$eߎ\D `Jx 0 dv@* 65 >b~li~}x8GdWspX]mB1|iCisXMO `|Ebw(YfIKk +ޯmʳka1<58{1>ե^h~}7۳o?4߄6W} !H՝`5(Hh00+}Xz&e1 &'nu.uv; `{?2R$TGES췐. JtXMb Uko؞WNU?׆gs* &/v͋Elj4*vLC\`Ne'8pEE88hrJrGKd皷qDF x=;gh ~q[ ZA=gKy)+ ͿۃP29esz@ϸ/&Xfl/驴j/,PsJ_d 5ƑgMtm>3pmW0'po@;\Ayh5Ѝ߰qX׽mZʡ9UPUO7 A˅Cvl<f^=2hK*v"1@6U9vЮkǫ'*SBvq>BRgypFp^LBڇ+ J^ȿx9j\OIN@eӋUZ%N>5chzmPrMcZJKpT %Wn b: 8cZTdN4@D,Ǡ$NTГs d[Xɹdh &e0Ҋo7_B YOzt o7L$PD2vGfE7Sk#]QC@zM3,ҥgsKY1Hn!ܗ'^E켍gbmHI ]QK GYsH޹Ms;bӠCJ> >kEi>iIǚsEO0DSȅ1D.]LVkP<$P(_}` {Q8)jhn+ήcNL\r7XÑSr9P@b}W'+9xxPɁTMrȆ-2MZ5w;:lz7@f&yR)`v '0g_-9 )űiP˶^/cNƪYd%4"; R,Av8mD&jh>ZxFK 12 ?~LA6K;`K%!!fENbUeA 0C/KwdTR`+ű\jcnjW }7BFRqً˴@B~(LmdwX)h) tGIu7ՀaH+tvEΈDˏLROaKW;KUY/) qÕ>"{ U{걷Zđ?lW4`(b RO{,%6MkLܹG3:б X!:ZiN\vj \?xsܾGc>xaNSͫNO,XHN0i7 =K=1,M RF3y`HiC+ۓSjQ$H(\X)ژ@H[ZGH_kG4t`jhUp#I̐cRPFX _7FvBaX-~7 7KY1ԏ*yCROh\q{uG-nNVօXEbpN{:`IOV{½ύBÀE7$tZFYu2s~l4-ԋ̪$Lr߲C(baFт;u2=MvY.$fJ؎ܚ\QKMo?^$ q6 @%}t$]#ZfKnuT^gy_Sh슖K/$'^D4]P‰VZ_5CTG'^rΐV 1Et25I(QF/!b"u NP~Uσ]㻣{@Y\i–n|;7  G}湉F;!6=-r 0T 7W̷}z樉; Zb'˛:(~}-bԫ٣r%EI@)F rm*sK}Špm68S [ Nҗz\_VZŃ[ ё4n,#qU[OG\UA/Wsp' U9)"1VBr˗C[8ǩg#G;:0T# k[| =8>Ց|W%y2XOȟdMَQ2hdN7wn2oF2}n} S ͙GafBC<[f{ChDH z?6DGa*{ )?ZtW8OYx`s B(wQo]q)&wj`7" 5c&#S?ws/-ލ 53uw9d=⛡^xBɆdOJ(dLc/YM<^eBhVa47ۜUK͚QOpvU 2m]&ꘐ^L>V r,Z}ٔB 5g[IHe?~LՉϏEc%ͺ0N]F$ᅰ:X>~J5[(prb6cpMR^]>kZaFnm +{r>֞Ϋ!)cU_~I%16Ux#Tp rwfbsZzjHn3 G5Mڿpf<+J!J8Eԉ@܍ w(r"<=d}.07`_(9UC&fT$1!,]HR]&2=J|y-l$ l8ɗ8|%h #Z,b~XO^n>PDcR̰KR4]"x#|vrsӘy}gUoLfwA`ﶇ7%L)bzX<3 o@W(Yp'BȒ!p~6cg?Qm%0+ܺKzdP#_j}DHq``!NŠh Ӓ}#XW=k :МeᙩT ~㎆?<ݲ$64@ψ?f'ZPntpPu(Ch2а5 `m{ܞuKt&jp!)O8zLI9pfki+>^-5G OJ1 [ojzsIoq$;- wDyJ[9]3߮%55iCu\bk]c_.ujr"#g `6~=i*ݙxjw;5u q,{$;Q!,GA L@XV7- B4 3E gtujdjJOMPF yr?5F@|hZ,4]rBڡ_oXʀۢW_"&~dSzr* 5+ף-ϕmJPQ_)z1MćSg$VwuGQ\d\wĶ^;wYDb8R Z@gĈQԭò:;C]Oy?Z ggʜW+>to>^LjB5w5vh0w& Ea5@:97 Wd< Y%N4m$F/q}k< ?R@J⾻$k_ 5L0F_:@`ϖ?&}.aK7oqUkm`ZM;U6a=qcn(b'C?K)3F 5ƪceAL`npli~RfLs4qӾp2:4)j`x7L؋f,QV p©j8 uA0@r"֭HaBv %btk!@*;ru,Eb*쉾j>qa]euJ*k౮X IUg>,"kU_ kU,IO3Ta?앝w1'^DcCob6]PO\_.yhus0$$rU:s ,MawV6}8i5ѭe/S@n_ ]\RLn08![V1OQ, a nIyS Q>`Flб)͖ O55\!1U0:6fԥ:KT;yt/s$g\M =(i?C~ǍLǕ?Eqns &-W@%tb#X ?^N<0SC3Q,{iԥ.ՠ0E/[W,ԟiGle@ӤyGچZgZ2CgF!֫Lqˊ,f Oy73FR;PVYG bK21:uؑN*EjAL\~M@~,R7Ol):3#ZHڍ/Jl^UZ Gu%%|=]+Klu-MIm>?+DOY uЉ{"Kn#:+[u?#>4UX+b} `f.F dϤn6|_4 g* ҢƏo9 å}GN{GwЬn/}ڛĩ91P4fQV K¯*_ "dftpٯ6oJP6!GRCYї Ç; CfOA+ x3/!1S .dIU^R l\cEoK4nFzO_pnWyYMx| ױ`1}oޕu5pQA]坏HP/@&lowsࣿ{G"j__ Ƽ.͎u# `VkCE.mXm0w9$Px\n38X͸A rquYF: L՜^m<T:5*db}@%'Z0:zNueUɵ2(<,G'"3Y /[ݐvo(8tZjLJ'件'XL}gX$R_Sހ*ue{{%R]03շc+nQ#9e0gvFͨW&eHݸQK- .HLO^8h@uG@BOyiK8\H. ÒmAjJ$<n +{kOq8!J3?bi$Iaˌ#7JRt<eQO|UB}Hw2 %SaV yS%3P`?wOv^P{EKS;-OBUYAѧ/cwg?C@7(Sd+NԌWV9/b,'i&ywDp?G-1o:Փ%\G_8$ ¦W{J\R/(P>Z(>I4<}bǃ6 چ4Fh7hh3DxJ~;DC] ~/ W"g죻s+ݎ27\X囋!{v~VhrdZzN* Ц SX Ľx>8N߳ނ":dFۖ;asU*L,wGo` i`E``Z³4;#V)xGng lDm*FmMt[qMى@ԕ=*IǢazK'O$KR!*6۩CVuFJir>ݗ]Qό1ܠK{J˵*"E[c˚HSLڞ5D@MHiT!Q>]Tx&4(}0nd O)wӉ6L3<) L>{""Lmjh rgmEIA?t)X:JWmQ:v]"ʁȇLLGk yBV?eekLz8" u[ 5<+:?3/jE`uAw+Ȼ pi'cU-@Bg9njX JӋA9_?ǧӅM;3%7\;Wt[4J 2,q:~m6g팩d.|J"hkUcUgtOȂIm? hq=3/Z-d{mz'Vt>~іԚvcU0,8{O Y;.ax){b#Iav$!$As z2_Ț0M2tB],EW4lCZk>.C(%,X@FӺ>0rta(]47dm۹> nVvQ4І}PΟߊ4-/eew[Fge "hSɯFzDXcOܼ1K :m`Ri՞p㰌 URȬ)`4bfC1#1sk'klĄ0ۛe9X51%0D+IGmN If8N}׬IHT%Qij*N73\#8wDEO͛PRu|x04i@{l% P@4&c?@R;Ar@BOOh>('4T ZS lA1=2*^+Z(ЛF]}WY)^J,u g4՝zl+cmyEٕAB?$sW~ m;dEֽ|ͧ̇DoyRx`CQ{2jqzW jռFvا[ Ķiqfpe{Cl4?jpC lʩz}<ˆ7^yAC؈ϥ=F6llZtoԨfquwK>yҁI{˯;ݤ.|Ҙ#YIs@Wֽ:|u_x9cxo$Su4\ZNFz=KiPY6+sQgP3 0XtY\[-xD#רnޖ '09ĝ[D ` z>~+=L VwT}jٮc24Z_8}z!@pyi:1wTsZ $ΟА<^ SM ]Vո#'sK2]Ôw'p"yB D G:]ZQEȼqfړćX 'Iۢgusda?|MD^4`nYJs4Nu'~Sڹ+mu ZzL!سǰw.C%2/lC&j%ۥ֚u~f.@FAw11h:X-K=;/QZYɴxsP|ߴ Ͳя(~ނQGiVnj{)G@cW|.d(b>Pߣ5RXIPpP6!\ů+d…Jdvm.i$'Q B |gă,~ w_2OL7*Xb;TO ю}.C1 <=PEN|60t%PCL UShI@l@kْ"d)祡`aPR.Ӂ[oj"La g| g*1oruJ5d aC؃ծ.w<y|-7SFtW@,! lDUef܀gZK8Q-?_:3n8 kO(:6o+rc0%fZ?I3\\c-9}x&oU֞3j|%\c-dB({" W1 jqQ9j~6TZfLeZw܄6Z,^ ھE.=#,qSn9jCAtDCw_t8+{ϣGgU_ ~98:@SN@Z : OEE?g0̚饎= a.\޶!O%C[Ҡ$m,e"[;xr\b:(ܞa|^'D_߭dHUhe赎KG _Id-2л-Kpq@gY㮜MN6p҈WvU5;_n(nCD!?L؝-Ru6dB˄{tr-aUh+nfb>6 ;̆YV &!~§NiM ٥HT}g]VSox%+Q_ʪaA&s}٩wúV&]LS{8+`yg}r|Gח,K,,I918Z,IqmY | QO=&p\DuT X{/ ?%sPo?A dtqx`SAդerխeKq@u!-!eVz Z옱r%vc)OsDJ LVt}i EQX>Fׂ PS(=&v04O$#b`#A^QFQg@gQu<>Q0=mAˈ/eihżZ4m__5 v_$}my~'-Œ4 P7ڀxB+R Vu8] "WQ8&B ?5 ܿN_BDŽ6Cc Hs!tM&npWUfw$ce\2GvT-m-83 @ Ŗ^/<,׺CZ8YQ4AwiLCܠKOf4@ZvA=3xc-C+I;3w/R݋@hKM`09ERlҝ1JᷛRur8nF)`a#pD_2h3wR*TkkƈР`=]03-C8Gq۬ @߼EzSl=x|_X'Yh4λ)g3~GU~=.Z(Z;:IS)~ 0:W,@>5&0 ~=4IyQQ_pI-n(kiIFfL ,×N[{?rjkRhrQJή6C1=v3:>z>t^?औ|P%Nr_@CC?y'p*k&ǽROmQ $Fm>uXFW]YϗܺqʽF*{D[aUhG0ayGncBeQ/ o:0Oc6775+ KVok9MhE`٫eĀ8-:BZQ=mո)ϋ_ԦBpKp!Rh @u"tyX_>m%[~k*-8e;lsAa ,,F19cb@n7/yLWC|ٞwg[ማ2浜<=L1扻$MJ4 W\rQfLܐ~e%Ꭾ7[WuXns*qgyI'014BQ-$I9"2cDY;,qL۹, ;/αQ 7FJ8k4@T_Mo^z*H~;ʖ$ Z(Y邃P.'GNٴ Ynn[=7p|?kǑ_ lKO꼔yF_ϔI+" rIb(/:9yY@\M ص 4ZP*Oi쩕V؜1ҿ/dԨ'=x^&:RQ`UwL;B<9Y7q٬K3-4~(88-y|}jԁk@j,Hy!BΎb{Vy0/$}a9_{}d8 >p2 獕!bʹbTq`}Gc@&ϸ{f>@BN8j'5b}z"hR$aPw :5.c$^nTa@mà~լK.F7{;}蒚<ՠ5k>莊X>U9,@)ǵ5}c[ nH̬d3R<@H-$2S'h8Q),Kj0*3ӦKNOD9G]ŕthQ%v\?-T zh,Os u: 6mi2'p HE@56 h: ":dGusbvP؏u/K&_۶5yu3_ ;5%ʖẩ買,S/ƿsIIaE{q)o }6:gh_z>Imbr U~=lCr`S0+{xƾfx:qAqduϪylS@Ih ҩT(bnD*-OPs()ZPSDWE䒱d2lcsAHγF(%YbmZAaGqX@c0YPuvN8-}TdJ9_n2?Eӊ_ Ha KaPʜBmTpE%>QY ,_Q<~H\ggvzn*|7>)u^gS8Lrdlsr[u$Y4ZcX}/h:I@/SqX&W~ī/MW\8vև;)!!ȠvNFTu+7K@w`WR&=JR-k99;謀TdV7WZMUOaay%$Nz>k @8я87\X܍^"@\ra.uEn ~6X5a@{@7cǺs#[U#htiuR :vXPT9fW??r(t6 78ɒ 4m?K@ێMy-=.xm) ZLx&JF>.A:0B fh:_;Cvob6F8|vxz1&йޓޖsA%=YU0FI=+(H] 9ڔX{p tG줠+ EXw#]h%F,f04Μyz4-.ݹߊ`,%D(Ǡ-^-im Ȇ}_}g8F@($$y系R9' \ڊ>eM2>EĞu)ՐNN( j#[3ٛҔc*iG E2,Wĺ rE! eJąwO'*%,6҃r^L{Mg%yGKn`@R{hBb1m> T Iӡ)U- 1K)\s~3JD^gnctՅ|ǃw':/%4 ޡ9o ; pn9pbcEGz(e̍םu/[`oToTT;^A)Eb|8XǴ(4`$Gx7.rr$SQFi'zK\Vkh /Q2tfdwWCyү&/j´a$!-~귛1R6[)n>6vn RY1.iQ. N>OLǽ̜!*6]ߖYB tQY9c,@cVhSDW;Wҁk#@jwn_Ȑڒ;* eæ/} VXGes=4<#^^\g,-8lajh˽>55wSWge#g~VqbzZ P]v_PSFGzuEFl! q4YA+7}2.;DYeo:UIIfD 6(mt`Q0t梙 ¿+Bx7+W.DU)QPLQ%5а:8W拉f01d,Ka8Vx#IQ{-m%F!=8*3VX,D_MqŁAWHA/iy_G]_KTeea' ThOABFgXPA׮dOd?@.SRAu>a}lz{{7Q4\Оx;6FнsW=eyFSizwVoO0 -p L]wpVOޞ'6 kAڦRÙNpS]y抸i1&'<[-9LEod$GH_fwW/M.S^B: ahz2{}1H&( Ğ D xP ^-paͰklN6fs&f^7 }f* o2hu9,ocMđ< :d߆!ʈR7.[#j;=< Z9NB7n8Q%mPX6Y`"^` - lI+ƶeʁQ-t=~N4`&p\8-3ȷ+Z@B{à3(3vH 3 p\g"7jk.++:$Y+t Kխfr쵯5Sr@ƞ4?Ǻ:u ՑWի/^+˚/NxHb%=+8s砍*Ix9ݢ|($yEr-Z΅4ú>;rJpa^0׵U<‹?l17rvy4o7<H'~-8IQM SY6١w!` kK]p N{Œ]:YᆣS%bhlP- q= h| #ְWˍ>jkvҧڃ?"؎Coc@Q|By2o"41uR_w*x_0\ENM?"b72.:k^},>n&o Ey1roI_>ʺHX&&S"J>۫a@1g]u-UޡqZX>:e(eSbMQl klg/}eizu3n`V{qTpZFIih ,ȢdJѨ.f­c K-^g".(úF)=GSj5C.xI]/_5὞GDކn}?lRyR#GP`2DZ~sp2nf׸4J|3 Qv /oY/2D{]Ehk-R- }mqM@n]Rle]r Wpbؗp8q$5AGgdEz3Mz{ "UC)ݾH@{E>**%#B/4A@$WKu~/[/Ͻ*D0`5Cm-bAZ^e ,H<2T$u&;ga"AY֎U@,mߢ|=ܖs{"z'0yL4soP*}#,GhSZd&>9?ˠg\3׎af@ģ̶Yr+L؝vOmb(Еm|Z_ZuyF!NR+ ˎBkRG6?O+f%j`)By!<#d7xIôJR⢊=>PQqtXu]+ ުfa3 5BJd㌖vƼyf5ϋUdx3ҜWyuخ{\wzg˗KI/vDrh@W|oU_x3Ƹ=>-p(&J\.y5ha,oa ~"ymC@TJ&L ;= $\lLo+(.vY"889֗L|vιDhtф96ȑ|YoP)v CUb`@ǩ*bD7p"r;!T"WX?}Q_Y+O eImEG_ )x2;YI]AF^[Fu9׹c#r.9c:[ΐ*<:J2uqf^}t 2ՙa*p/MCp.fL R9A5p8G<86AR'!K%uЎqig)!%WhGD:OLZUcj9 [KAΰ#]q e1-_ =GhL)7o17Z-'`|٢=vږ, "#O/ V^?hWRC-.MSuc$1y-*eMV(&.  N_N3{;ʴ$VO_ϟބ hQ7o24/GHO'n8Y613@YgDlx?Ѽ' Pt-1u&F|ge^\Re]Lmy0wn~aTSÞ '*3Ar8v[\ȩ4ܮhUaQ:FFOeLt7CHnW$MM~h=CaR;j>VʰSNw:iKޭ ,4[8ץ|A gAW9"-P0EC3}x).Tɢ^v"fOC^`FӖkf[8 /OuQVj7QPpzƮ{$ʧv^YE 3Y>ڸ#(@#pb#dAAqѧn#k_P r'.] T &ʪwI-ݳ}ZЏ"<f` \W[:5@*@{qQq}1 U@J"0Պh߼"fw տ[FR(GaRmO Mʣ*Qq3sV!\> -sb-xSdj,|&γ & %骑eg hKX*v wiP@%3$Z /t_a” Eb`e.9@dS߆{ F\Bzi oF@[4Q9 Pi#CP m5BFvXCr=[J9 ![V7ZEcM 4NZWS8u!!S[ K1;?#^x VQF~}bCK4+7Ƶ ~A)5v( @l,sam'FB'8:XvT&'Ϸ 9N4RAWk&6;DE~)6>[ӋK%S2E8t$!n9c/⊁㧡LtKhqvʀL1SҺ_T-!UّcvS1Y" $*^Dtt0IT3EMv|n?/ʗKDC\qZl}#c-ŽoeEaR%Wui> qA Ռd(2.6B7f(3#F&} %]pҹd>Id~bg[3DHZ6Ƒso4f;"['ҩ=:Box8k: a>+ؿt|jW\HMcCke>qH4awOEºƨs %;1dt O{ӣ? &_|j U*Mٙ22b \6qU'R11+F rm3e[yq7ٲXsyFW> s &6 yX~䠫:SZj3o-ھm j+#͏t*Mab0Q9 MLj~d}& 6 dL ǬTH ҚvlFF҈rTƹB:-_;6HY~0bU-^ =k5C؋wn ?>! JwUl9r 1[ fZ`*@9iV Z RS{C.poI UMQ9Jk($9l.YKj]&{,~gk“é|:vQi+Һ7-ϐ.L̛ī}l3>WJYԱzWo#1c`A@fb A"f3nз^bZ`+V񣜶?j!&V1q6dLT!pAҜ`$2*,ʖ~URK*8l-TbΝƅt۬nD }К,(K1:XYo^1&] 'm[d\! )"Yd1Ƅ6W[)Z&'Ww]i21נ Tb̙lt1Ϟf.F7ނs,/*f+nja`"?f,j͋ :/ף,>ɝ2PZ׽|p5t ё<@%hn =PojhKC&ak/EPA* ސ{UdS8}Xs3OILz䅯~g5r[E/"b V'^ ts&ʳT*DJtPR]r%ҫ.1Tqp3/>5%{ 13]ƚ=-u`㓱e?@CE[헺Ho) d$/=6n8 t?Ih hQںme9+꩙?E+%=)M*[?Zs4|`sxA3!QZ)$j?BrшxԱ/C7s|L<տg,* r;t_On&AO$5AUHȳ$6|&0l>-5mrgEi۸;H3Qsn-{[2'o\fCx8/3@Ѣ#fݗ<`S*1/[Z,f lSS$R}Q nH^Zc÷Vbbǖy"Z73 J*\?JG% n:(xbubo{{Pv?h .sa IOŃvZ"w"NFu|_^̣^TLu \&*cAc6 <1D ⽐F+`'IgM(NvѴv)r:_^B'5o3[TRTd5pogR@򇯟~n:+u'+2tP[?mqұ>A,`?~ V3d(vF.F5ru\|_ |+EgZF[f!^JRQߍa=w<02/e'+.*W0vc*TS܀g!qZG Whw">˕+zC r_DQˁ%%ohB}K/+<}H Pq}5s@\৉XMf 91!>%hı7 Pj7+7%IYvAv޷%7sr2`]vLqҩ%n4O_<#9eMJCHf~Eƒ"帨H\g,'&NdJ& %@AHvbc{A};I"jPxo]vt'&ty.y6"A]("4rSEOIoOi3TfHPDM}af:ۅA)?G6UtA<2d{^\)8&MDJM4ٚ'jCDr}^Bu&43c !vE<#RrOAQ!y.@dLs*ͥa!Lp3 ˱ ɓ~Ush ZΨjw"5$z4PF2{z;y^c?JDc! yfLҥȷ4 bh2\6 9V{"mrN#$z\‚5 E4RCݹMn(?>=">=fژWWTZ9tC 'k˽n>c LWDD!FM$Z obg;Dx6z$CMр젥 Pr!rh%Zg&_I2 =s-qR/|j0q ?ۜپy"ן t@YN#UzIWvmYxmi]d%dnXӋj0XHJ2jLzjn\L@D/k'aJ&Gb˼@I]17^5EdCxNkC52[\JkR~^דU^2IʿQ'HG*UYjdϽ$`~F ̓Gěs ؜J9TA?H+L_je,#a--ԪV_ǸI{%Q>QD"lkޚLXj\dBZNfnz}_L} z})xԂU:!1Lm*9/hti2|@}w9zD.P޻Ş#&XRPYCvv)ѝDu>wj{PFh/$^Ⅴh=s 6,B}Eθs),+ㆵ,( RDV8' 5>RN5gtru8{Lfp`Ҷ|vZ:FzO_WU͎4L%&^w݋S_N6e1S9m[Au̲T0q6V^5/5uo#_LTY*YRRmCa.R*~+D k:SWKu}h0ݵ6"& 8X0ϩ:?{@&d]0GfqJarpa4́^m=}A.p,g{urn `@ϤsuH -3,7ur5h,^Uӭ({0HgR#rϵ( _ #C|yׂӝ\\'ꩭ m[Ĕ!ʦQGJLo0̽ڿfbO"X@ؽpdX3Z Oz "F AO7)i|+^qؾ(eFȞYXĈ;ݻ+Nj jתQB m}8*@xdԖ{C~,"8{7ɥvBwHm6h`QKIh51xھ)n.o\_zVsmOQn+T< ~\ fKw,ڊ@!^j~#8,T/ɶ[/G-|@y~iM4Ik7uV#uhiT9`vu]$h˧K#)aS>'{^ bߥO_‹/aX91FqbLSe, 'Tx$Ab<|ΠlSl R6%+.yw ,5hN\D:aKp|ǃ?9ɪ(Nifz8jR!Ǚ7}Gc(rWJT4+PGnsĨ/4ۨuw*%Q%LȪL~7'[ZsRDnOn,1o06,` #c2"?R;d FkaQ,N+jʙv^8#T"=c5'H_Db6U}Aw\F,ʓSCggA~=r h3z8$3`qެmFL2zQV~}r;bh"@D`flX{ T6;eݙb5 'dyVˠ Q=GYXA+\F٠> Evh6\vG)"Tl $C@lx3IS枘ã9**ߖi@O5Lնi_3/lMF]Z#$OeU`…!TK.K %k,ڦYx|ՓV^iMF:oPo!OGqER1?hZVEQMXԋ-RvsA?yFecFG8l#v;y,D'jDJ'v!-7qwTfgL3^T ϟfĚy`Q3a6٬'m}+T$$Ӻ9zT!x1;gBs-We*ǕhD({Vw1Tq'EGX]c.%$}lȅxA#?F3e ¤,wOכyBSJ?j)bNg ,7273<|.՘'<1 (n|8zsǴnm s!'wA=CP4)ELT4K= j0/G}4' n1g} [l5ݰ!SniZl!"U!3cUc@bRO fc><}2]DaCq$>wMR &e0e:*Wϵī}&[1o1([wr$ޙ$!έ%&9j 1R%=ǀm9F^z Da;A ϽUȉ& v{tt!w#$&O2U7jD^![/SZztI~5Jq&}Z䠘w=ljp3Rj3P[*Ez^ WyH. NW##WF] ^4'PeA¤aGބ!ȗcOz2 d/9Cefxdo}J4T3UVMyVjH2A,q2"ݬG~a9JII?=ݷm>y&Fá7Sfk=N(KW aîDD=2#VMآfǬO2e;8 SIa4_-߱YiX Q1pmD↵ؿ7(T|v;Z_!)nO;} /sIT-!O+X0U`zߧ_&{# d ۠(p[<_ꐔV8:܋TU_AGs>W}M5h}K l}y #<qwYUW|D4v} @ĩV MBxX Q;:=w0_ J*7m_uC*O|` Mum%=DEˈɎ|γ{XM\.K@o]kY _ȵ޶$4^‹Nn} #ʲkI K"z{'_BEEh`GASg{o^5?%v#:]h/O­ә uO[JEPJxg) WURT5L_ JGͤU2)-Ck~ʠ"B!x^-3ɁNZ1ݗJn:BѪCgK@+Eʉ-D,1be4lp0L'e)@8;;4 EZu@İSJ);I͎T,eKZׁrdy>7٥Q3zvay! ;(M.m=GV8+ަ09g;3$*nS o2pѴEID6oTN'`2ndjv>Us ٞQ޿RVdI33l?^mljY<}VTJR=8{pc ѕes_~*% u 僖d*g!ŕmj$0>ô3_Gdz!-@O6I'Ey5/&wrb ̾}IC!VjuBZ8fJ5F[:,G|2r_t522QZ =.oS\M A4kהȇ&%^y(BQ |:2I Sp.y_#$Jlf5qTT"Z F{+/-CUZB ~H䥨P55xȘo,[%Wi*7=;a5Z*y%P:;瀱Ԟ&0Y<~ĂiiRXҪmSB:H6+kT.|LFkh(lM^Wr6|[CW7C[Xo_W  Ob ڨHF.DJ7jX (Ǽ|wQ@NTJY~z4%ׯnDh#;1=T!|Z_Bݒ b' Ue;Gi]~0lfϧЯ/2IdUQkw˜ce;c̙&DKITEؙ[wCY:~cQԢMFc)M"aǐ G5X(0}2tPj=Bfi' ~ЮTņ٤b^Eݼ(L|IfҀwݽaUuw3O^ڡa3؀SHGli93FdznM^Et>mǦػp`=B^`[EO:i&AE:zt=hA'U|g—-^dĬT֨aNNRKwfeOU(2&TKK