/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright by The HDF Group. * * Copyright by the Board of Trustees of the University of Illinois. * * All rights reserved. * * * * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the files COPYING and Copyright.html. COPYING can be found at the root * * of the source code distribution tree; Copyright.html can be found at the * * root level of an installed copy of the electronic HDF5 document set and * * is linked from the top-level documents page. It can also be found at * * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * * access to either file, you may request a copy from help@hdfgroup.org. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /*------------------------------------------------------------------------- * * Created: H5FA.c * April 2009 * Vailin Choi * * Purpose: Implements a Fixed Array for storing elements * of datasets with fixed dimensions * *------------------------------------------------------------------------- */ /**********************/ /* Module Declaration */ /**********************/ #define H5FA_MODULE /***********************/ /* Other Packages Used */ /***********************/ /***********/ /* Headers */ /***********/ #include "H5private.h" /* Generic Functions */ #include "H5Eprivate.h" /* Error handling */ #include "H5FApkg.h" /* Fixed Arrays */ #include "H5FLprivate.h" /* Free Lists */ #include "H5VMprivate.h" /* Vector functions */ /****************/ /* Local Macros */ /****************/ /******************/ /* Local Typedefs */ /******************/ /********************/ /* Package Typedefs */ /********************/ /********************/ /* Local Prototypes */ /********************/ /*********************/ /* Package Variables */ /*********************/ /* Fixed array client ID to class mapping */ /* Remember to add client ID to H5FA_cls_id_t in H5FAprivate.h when adding a new * client class.. */ const H5FA_class_t *const H5FA_client_class_g[] = { H5FA_CLS_TEST, /* ? - H5FA_CLS_TEST_ID */ }; /*****************************/ /* Library Private Variables */ /*****************************/ /*******************/ /* Local Variables */ /*******************/ /* Declare a free list to manage the H5FA_t struct */ H5FL_DEFINE_STATIC(H5FA_t); /* Declare a PQ free list to manage the element */ H5FL_BLK_DEFINE(native_elmt); /*------------------------------------------------------------------------- * Function: H5FA_create * * Purpose: Creates a new fixed array (header) in the file. * * Return: Pointer to fixed array wrapper on success * NULL on failure * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, H5FA_t *, NULL, NULL, H5FA_create(H5F_t *f, hid_t dxpl_id, const H5FA_create_t *cparam, void *ctx_udata)) /* Local variables */ H5FA_t *fa = NULL; /* Pointer to new fixed array */ H5FA_hdr_t *hdr = NULL; /* The fixed array header information */ haddr_t fa_addr; /* Fixed Array header address */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: Called\n", FUNC); #endif /* H5FA_DEBUG */ /* * Check arguments. */ HDassert(f); HDassert(cparam); /* H5FA interface sanity check */ HDcompile_assert(H5FA_NUM_CLS_ID == NELMTS(H5FA_client_class_g)); /* Create fixed array header */ if(HADDR_UNDEF == (fa_addr = H5FA__hdr_create(f, dxpl_id, cparam, ctx_udata))) H5E_THROW(H5E_CANTINIT, "can't create fixed array header") /* Allocate fixed array wrapper */ if(NULL == (fa = H5FL_MALLOC(H5FA_t))) H5E_THROW(H5E_CANTALLOC, "memory allocation failed for fixed array info") /* Lock the array header into memory */ if(NULL == (hdr = (H5FA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, ctx_udata, H5AC_WRITE))) H5E_THROW(H5E_CANTPROTECT, "unable to load fixed array header") /* Point fixed array wrapper at header and bump it's ref count */ fa->hdr = hdr; if(H5FA__hdr_incr(fa->hdr) < 0) H5E_THROW(H5E_CANTINC, "can't increment reference count on shared array header") /* Increment # of files using this array header */ if(H5FA__hdr_fuse_incr(fa->hdr) < 0) H5E_THROW(H5E_CANTINC, "can't increment file reference count on shared array header") /* Set file pointer for this array open context */ fa->f = f; /* Set the return value */ ret_value = fa; CATCH if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, hdr, H5AC__NO_FLAGS_SET) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array header") if(!ret_value) if(fa && H5FA_close(fa, dxpl_id) < 0) H5E_THROW(H5E_CLOSEERROR, "unable to close fixed array") END_FUNC(PRIV) /* end H5FA_create() */ /*------------------------------------------------------------------------- * Function: H5FA_open * * Purpose: Opens an existing fixed array in the file. * * Return: Pointer to array wrapper on success * NULL on failure * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, H5FA_t *, NULL, NULL, H5FA_open(H5F_t *f, hid_t dxpl_id, haddr_t fa_addr, void *ctx_udata)) /* Local variables */ H5FA_t *fa = NULL; /* Pointer to new fixed array wrapper */ H5FA_hdr_t *hdr = NULL; /* The fixed array header information */ /* * Check arguments. */ HDassert(f); HDassert(H5F_addr_defined(fa_addr)); /* Load the array header into memory */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: fa_addr = %a\n", FUNC, fa_addr); #endif /* H5FA_DEBUG */ if(NULL == (hdr = (H5FA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, ctx_udata, H5AC_READ))) H5E_THROW(H5E_CANTPROTECT, "unable to load fixed array header, address = %llu", (unsigned long long)fa_addr) /* Check for pending array deletion */ if(hdr->pending_delete) H5E_THROW(H5E_CANTOPENOBJ, "can't open fixed array pending deletion") /* Create fixed array info */ if(NULL == (fa = H5FL_MALLOC(H5FA_t))) H5E_THROW(H5E_CANTALLOC, "memory allocation failed for fixed array info") /* Point fixed array wrapper at header */ fa->hdr = hdr; if(H5FA__hdr_incr(fa->hdr) < 0) H5E_THROW(H5E_CANTINC, "can't increment reference count on shared array header") /* Increment # of files using this array header */ if(H5FA__hdr_fuse_incr(fa->hdr) < 0) H5E_THROW(H5E_CANTINC, "can't increment file reference count on shared array header") /* Set file pointer for this array open context */ fa->f = f; /* Set the return value */ ret_value = fa; CATCH if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, hdr, H5AC__NO_FLAGS_SET) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array header") if(!ret_value) if(fa && H5FA_close(fa, dxpl_id) < 0) H5E_THROW(H5E_CLOSEERROR, "unable to close fixed array") END_FUNC(PRIV) /* end H5FA_open() */ /*------------------------------------------------------------------------- * Function: H5FA_get_nelmts * * Purpose: Query the current number of elements in array * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, NOERR, herr_t, SUCCEED, -, H5FA_get_nelmts(const H5FA_t *fa, hsize_t *nelmts)) /* Local variables */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: Called\n", FUNC); #endif /* H5FA_DEBUG */ /* * Check arguments. */ HDassert(fa); HDassert(nelmts); /* Retrieve the current number of elements in the fixed array */ *nelmts = fa->hdr->stats.nelmts; END_FUNC(PRIV) /* end H5FA_get_nelmts() */ /*------------------------------------------------------------------------- * Function: H5FA_get_addr * * Purpose: Query the address of the array * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, NOERR, herr_t, SUCCEED, -, H5FA_get_addr(const H5FA_t *fa, haddr_t *addr)) /* Local variables */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: Called\n", FUNC); #endif /* H5FA_DEBUG */ /* * Check arguments. */ HDassert(fa); HDassert(fa->hdr); HDassert(addr); /* Retrieve the address of the fixed array's header */ *addr = fa->hdr->addr; END_FUNC(PRIV) /* end H5FA_get_addr() */ /*------------------------------------------------------------------------- * Function: H5FA_set * * Purpose: Set an element of a fixed array * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, herr_t, SUCCEED, FAIL, H5FA_set(const H5FA_t *fa, hid_t dxpl_id, hsize_t idx, const void *elmt)) /* Local variables */ H5FA_hdr_t *hdr = fa->hdr; /* Header for fixed array */ H5FA_dblock_t *dblock = NULL; /* Pointer to fixed array Data block */ H5FA_dblk_page_t *dblk_page = NULL; /* Pointer to fixed array Data block page */ unsigned dblock_cache_flags = H5AC__NO_FLAGS_SET; /* Flags to unprotecting fixed array Data block */ unsigned dblk_page_cache_flags = H5AC__NO_FLAGS_SET; /* Flags to unprotecting FIxed Array Data block page */ hbool_t hdr_dirty = FALSE; /* Whether header information changed */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: Called\n", FUNC); HDfprintf(stderr, "%s: Index %Hu\n", FUNC, idx); #endif /* H5FA_DEBUG */ /* * Check arguments. */ HDassert(fa); HDassert(fa->hdr); /* Set the shared array header's file context for this operation */ hdr->f = fa->f; /* Check if we need to create the fixed array data block */ if(!H5F_addr_defined(hdr->dblk_addr)) { #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: fixed array data block address not defined!\n", FUNC, idx); #endif /* H5FA_DEBUG */ /* Create the data block */ hdr->dblk_addr = H5FA__dblock_create(hdr, dxpl_id, &hdr_dirty, hdr->cparam.nelmts); if(!H5F_addr_defined(hdr->dblk_addr)) H5E_THROW(H5E_CANTCREATE, "unable to create fixed array data block") } /* end if */ HDassert(idx < hdr->cparam.nelmts); /* Protect data block */ if(NULL == (dblock = H5FA__dblock_protect(hdr, dxpl_id, hdr->dblk_addr, hdr->stats.nelmts, H5AC_WRITE))) H5E_THROW(H5E_CANTPROTECT, "unable to protect fixed array data block, address = %llu", (unsigned long long)hdr->dblk_addr) /* Check for paging data block */ if(!dblock->npages) { /* Set element in data block */ HDmemcpy(((uint8_t *)dblock->elmts) + (hdr->cparam.cls->nat_elmt_size * idx), elmt, hdr->cparam.cls->nat_elmt_size); dblock_cache_flags |= H5AC__DIRTIED_FLAG; } /* end if */ else { /* paging */ size_t page_idx; /* Index of page within data block */ size_t dblk_page_nelmts; /* # of elements in a data block page */ size_t elmt_idx; /* Element index within the page */ haddr_t dblk_page_addr; /* Address of data block page */ /* Compute the page & element index */ page_idx = (size_t)(idx / dblock->dblk_page_nelmts); elmt_idx = (size_t)(idx % dblock->dblk_page_nelmts); /* Get the address of the data block page */ dblk_page_addr = dblock->addr + H5FA_DBLOCK_PREFIX_SIZE(dblock) + ((hsize_t)page_idx * dblock->dblk_page_size); /* Check for using last page, to set the number of elements on the page */ if((page_idx + 1) == dblock->npages) dblk_page_nelmts = dblock->last_page_nelmts; else dblk_page_nelmts = dblock->dblk_page_nelmts; /* Check if the page has been created yet */ if(!H5VM_bit_get(dblock->dblk_page_init, page_idx)) { /* Create the data block page */ if(H5FA__dblk_page_create(hdr, dxpl_id, dblk_page_addr, dblk_page_nelmts) < 0) H5E_THROW(H5E_CANTCREATE, "unable to create data block page") /* Mark data block page as initialized in data block */ H5VM_bit_set(dblock->dblk_page_init, page_idx, TRUE); dblock_cache_flags |= H5AC__DIRTIED_FLAG; } /* end if */ /* Protect the data block page */ if(NULL == (dblk_page = H5FA__dblk_page_protect(hdr, dxpl_id, dblk_page_addr, dblk_page_nelmts, H5AC_WRITE))) H5E_THROW(H5E_CANTPROTECT, "unable to protect fixed array data block page, address = %llu", (unsigned long long)dblk_page_addr) /* Set the element in the data block page */ HDmemcpy(((uint8_t *)dblk_page->elmts) + (hdr->cparam.cls->nat_elmt_size * elmt_idx), elmt, hdr->cparam.cls->nat_elmt_size); dblk_page_cache_flags |= H5AC__DIRTIED_FLAG; } /* end else */ CATCH /* Check for header modified */ if(hdr_dirty) if(H5FA__hdr_modified(hdr) < 0) H5E_THROW(H5E_CANTMARKDIRTY, "unable to mark fixed array header as modified") /* Release resources */ if(dblock && H5FA__dblock_unprotect(dblock, dxpl_id, dblock_cache_flags) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array data block") if(dblk_page && H5FA__dblk_page_unprotect(dblk_page, dxpl_id, dblk_page_cache_flags) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array data block page") END_FUNC(PRIV) /* end H5FA_set() */ /*------------------------------------------------------------------------- * Function: H5FA_get * * Purpose: Get an element of a fixed array * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, herr_t, SUCCEED, FAIL, H5FA_get(const H5FA_t *fa, hid_t dxpl_id, hsize_t idx, void *elmt)) /* Local variables */ H5FA_hdr_t *hdr = fa->hdr; /* Header for FA */ H5FA_dblock_t *dblock = NULL; /* Pointer to data block for FA */ H5FA_dblk_page_t *dblk_page = NULL; /* Pointer to data block page for FA */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: Called\n", FUNC); HDfprintf(stderr, "%s: Index %Hu\n", FUNC, idx); #endif /* H5FA_DEBUG */ /* * Check arguments. */ HDassert(fa); HDassert(fa->hdr); /* Set the shared array header's file context for this operation */ hdr->f = fa->f; /* Check if the fixed array data block has been allocated on disk yet */ if(!H5F_addr_defined(hdr->dblk_addr)) { /* Call the class's 'fill' callback */ if((hdr->cparam.cls->fill)(elmt, (size_t)1) < 0) H5E_THROW(H5E_CANTSET, "can't set element to class's fill value") } /* end if */ else { /* Get the data block */ HDassert(H5F_addr_defined(hdr->dblk_addr)); if(NULL == (dblock = H5FA__dblock_protect(hdr, dxpl_id, hdr->dblk_addr, hdr->stats.nelmts, H5AC_READ))) H5E_THROW(H5E_CANTPROTECT, "unable to protect fixed array data block, address = %llu", (unsigned long long)hdr->dblk_addr) /* Check for paged data block */ if(!dblock->npages) /* Retrieve element from data block */ HDmemcpy(elmt, ((uint8_t *)dblock->elmts) + (hdr->cparam.cls->nat_elmt_size * idx), hdr->cparam.cls->nat_elmt_size); else { /* paging */ size_t page_idx; /* Index of page within data block */ /* Compute the page index */ page_idx = (size_t)(idx / dblock->dblk_page_nelmts); /* Check if the page is defined yet */ if(!H5VM_bit_get(dblock->dblk_page_init, page_idx)) { /* Call the class's 'fill' callback */ if((hdr->cparam.cls->fill)(elmt, (size_t)1) < 0) H5E_THROW(H5E_CANTSET, "can't set element to class's fill value") /* We've retrieved the value, leave now */ H5_LEAVE(SUCCEED) } /* end if */ else { /* get the page */ size_t dblk_page_nelmts; /* # of elements in a data block page */ size_t elmt_idx; /* Element index within the page */ haddr_t dblk_page_addr; /* Address of data block page */ /* Compute the element index */ elmt_idx = (size_t)(idx % dblock->dblk_page_nelmts); /* Compute the address of the data block */ dblk_page_addr = dblock->addr + H5FA_DBLOCK_PREFIX_SIZE(dblock) + ((hsize_t)page_idx * dblock->dblk_page_size); /* Check for using last page, to set the number of elements on the page */ if((page_idx + 1) == dblock->npages) dblk_page_nelmts = dblock->last_page_nelmts; else dblk_page_nelmts = dblock->dblk_page_nelmts; /* Protect the data block page */ if(NULL == (dblk_page = H5FA__dblk_page_protect(hdr, dxpl_id, dblk_page_addr, dblk_page_nelmts, H5AC_READ))) H5E_THROW(H5E_CANTPROTECT, "unable to protect fixed array data block page, address = %llu", (unsigned long long)dblk_page_addr) /* Retrieve element from data block */ HDmemcpy(elmt, ((uint8_t *)dblk_page->elmts) + (hdr->cparam.cls->nat_elmt_size * elmt_idx), hdr->cparam.cls->nat_elmt_size); } /* end else */ } /* end else */ } /* end else */ CATCH if(dblock && H5FA__dblock_unprotect(dblock, dxpl_id, H5AC__NO_FLAGS_SET) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array data block") if(dblk_page && H5FA__dblk_page_unprotect(dblk_page, dxpl_id, H5AC__NO_FLAGS_SET) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array data block page") END_FUNC(PRIV) /* end H5FA_get() */ /*------------------------------------------------------------------------- * Function: H5FA_close * * Purpose: Close a fixed array * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, herr_t, SUCCEED, FAIL, H5FA_close(H5FA_t *fa, hid_t dxpl_id)) /* Local variables */ hbool_t pending_delete = FALSE; /* Whether the array is pending deletion */ haddr_t fa_addr = HADDR_UNDEF; /* Address of array (for deletion) */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: Called\n", FUNC); #endif /* H5FA_DEBUG */ /* * Check arguments. */ HDassert(fa); /* Decrement file reference & check if this is the last open fixed array using the shared array header */ if(0 == H5FA__hdr_fuse_decr(fa->hdr)) { /* Set the shared array header's file context for this operation */ fa->hdr->f = fa->f; /* Shut down anything that can't be put in the header's 'flush' callback */ /* Check for pending array deletion */ if(fa->hdr->pending_delete) { /* Set local info, so array deletion can occur after decrementing the * header's ref count */ pending_delete = TRUE; fa_addr = fa->hdr->addr; } /* end if */ } /* end if */ /* Check for pending array deletion */ if(pending_delete) { H5FA_hdr_t *hdr; /* Another pointer to fixed array header */ #ifndef NDEBUG { unsigned hdr_status = 0; /* Header's status in the metadata cache */ /* Check the header's status in the metadata cache */ if(H5AC_get_entry_status(fa->f, fa_addr, &hdr_status) < 0) H5E_THROW(H5E_CANTGET, "unable to check metadata cache status for fixed array header") /* Sanity checks on header */ HDassert(hdr_status & H5AC_ES__IN_CACHE); HDassert(hdr_status & H5AC_ES__IS_PINNED); HDassert(!(hdr_status & H5AC_ES__IS_PROTECTED)); } #endif /* NDEBUG */ /* Lock the array header into memory */ /* (OK to pass in NULL for callback context, since we know the header must be in the cache) */ if(NULL == (hdr = (H5FA_hdr_t *)H5AC_protect(fa->f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, NULL, H5AC_WRITE))) H5E_THROW(H5E_CANTLOAD, "unable to load fixed array header") /* Set the shared array header's file context for this operation */ hdr->f = fa->f; /* Decrement the reference count on the array header */ /* (don't put in H5FA_hdr_fuse_decr() as the array header may be evicted * immediately -QAK) */ if(H5FA__hdr_decr(fa->hdr) < 0) H5E_THROW(H5E_CANTDEC, "can't decrement reference count on shared array header") /* Delete array, starting with header (unprotects header) */ if(H5FA__hdr_delete(hdr, dxpl_id) < 0) H5E_THROW(H5E_CANTDELETE, "unable to delete fixed array") } /* end if */ else { /* Decrement the reference count on the array header */ /* (don't put in H5FA_hdr_fuse_decr() as the array header may be evicted * immediately -QAK) */ if(H5FA__hdr_decr(fa->hdr) < 0) H5E_THROW(H5E_CANTDEC, "can't decrement reference count on shared array header") } /* end else */ /* Release the fixed array wrapper */ fa = H5FL_FREE(H5FA_t, fa); CATCH END_FUNC(PRIV) /* end H5FA_close() */ /*------------------------------------------------------------------------- * Function: H5FA_delete * * Purpose: Delete a fixed array * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, herr_t, SUCCEED, FAIL, H5FA_delete(H5F_t *f, hid_t dxpl_id, haddr_t fa_addr, void *ctx_udata)) /* Local variables */ H5FA_hdr_t *hdr = NULL; /* The fixed array header information */ /* * Check arguments. */ HDassert(f); HDassert(H5F_addr_defined(fa_addr)); /* Lock the array header into memory */ #ifdef H5FA_DEBUG HDfprintf(stderr, "%s: fa_addr = %a\n", FUNC, fa_addr); #endif /* H5FA_DEBUG */ if(NULL == (hdr = (H5FA_hdr_t *)H5AC_protect(f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, ctx_udata, H5AC_WRITE))) H5E_THROW(H5E_CANTPROTECT, "unable to protect fixed array header, address = %llu", (unsigned long long)fa_addr) /* Check for files using shared array header */ if(hdr->file_rc) hdr->pending_delete = TRUE; else { /* Set the shared array header's file context for this operation */ hdr->f = f; /* Delete array now, starting with header (unprotects header) */ if(H5FA__hdr_delete(hdr, dxpl_id) < 0) H5E_THROW(H5E_CANTDELETE, "unable to delete fixed array") hdr = NULL; } /* end if */ CATCH /* Unprotect the header, if an error occurred */ if(hdr && H5AC_unprotect(f, dxpl_id, H5AC_FARRAY_HDR, fa_addr, hdr, H5AC__NO_FLAGS_SET) < 0) H5E_THROW(H5E_CANTUNPROTECT, "unable to release fixed array header") END_FUNC(PRIV) /* end H5FA_delete() */ /*------------------------------------------------------------------------- * Function: H5FA_iterate * * Purpose: Iterate over the elements of a fixed array * * Note: This is not very efficient, we should be iterating directly * over the fixed array's direct block [pages]. * * Return: SUCCEED/FAIL * * Programmer: Vailin Choi * Thursday, April 30, 2009 * *------------------------------------------------------------------------- */ BEGIN_FUNC(PRIV, ERR, herr_t, SUCCEED, FAIL, H5FA_iterate(H5FA_t *fa, hid_t dxpl_id, H5FA_operator_t op, void *udata)) /* Local variables */ uint8_t *elmt = NULL; hsize_t u; /* * Check arguments. */ HDassert(fa); HDassert(op); HDassert(udata); /* Allocate space for a native array element */ if(NULL == (elmt = H5FL_BLK_MALLOC(native_elmt, fa->hdr->cparam.cls->nat_elmt_size))) H5E_THROW(H5E_CANTALLOC, "memory allocation failed for fixed array element") /* Iterate over all elements in array */ for(u = 0; u < fa->hdr->stats.nelmts; u++) { int cb_ret; /* Return value from callback */ /* Get array element */ if(H5FA_get(fa, dxpl_id, u, elmt) < 0) H5E_THROW(H5E_CANTGET, "unable to delete fixed array") /* Make callback */ if((cb_ret = (*op)(u, elmt, udata)) < 0) { H5E_PRINTF(H5E_BADITER, "iterator function failed"); H5_LEAVE(cb_ret) } /* end if */ } /* end for */ CATCH if(elmt) elmt = H5FL_BLK_FREE(native_elmt, elmt); END_FUNC(PRIV) /* end H5FA_iterate() */ ZQ8[O7W)۴ʙ;t5qzu*03)DbDJug}ΎdCQHjtܹANjewK2tgM]lLձs2Dbs ] xnSI)onìC 9pަbiL[-.ʙMJLrp?8s"qLhԇ[BJ#Mؕ(cȟR̛Lu5̔eM>]# >?kǛ{Wٰ" RRUKT[YQ74Z\ڷO{G% *u1(οuK&ߓ徻δt15/k%N|uUf%gT[Ie!o p[9ʶr^j\! 5AρEc{[\n=T-#jUCB>|ndS~QPj0+}fR]K0Hce{;p91F*&0\U@) ek2& Vʦ 06Ijbs;~ ctue ʑ)=j6u~4-/^sypuCh/6,"4/>9&"6JjR{wsU3(JV91VGG].UWg$?BD9bTߑ.URzSz. TFrҿG~ ]Р _sHю0|(>' o:A33P$JjW#^/h5_#y|Bzsd?~klUn:+>vHzxvWIum2ˬ]"tk@($ 5RtL'JCw>g<׹̕^C(⹴n36wXWN3r!z^?y޳/+*9֓//;Z׺ءוfxVYIQTOMB/i2i$D>5N|C(u4NI"D arq.`[6 1H%_rj Mz[Qq|kDΦJ:Q"}'DVspp]ͨ08VO-"A eNQ|?e%.^T]X5P8l8;8s u/m]Vb#FWvXNq UH 3=+yr=Ȅ25#d2Ӧ'<.Cg~~m;s&? 7jNyB 2t /tqKs$*0 MV=V֫qăS9%UY+WJ\p.{* Uff* t=y)DteD@MX_|;S}yB 'L,EUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVRD(J"UUkGXMN- :H7x?>+湫][洉4A!nY%Hb3|>mw2 ~- b=wdD9;iyӯD|Քޙtdd6<4љFq2"K(ϑ4FW__CGp ӂ)KbkOs3bOR?htM|?0~(A0W £uVi B`Dj`! 7=C^-T NvAysE:p.{W,EPxɁQQ,½*qD\@27-g&)LnYcV4ʹ`i)AA] 0S_ߤ"irdCA!D,CDӻ:)NXP(eh3P.nw$rQyB, ~@.TUJsԓY75 /A-3_.'^3vsjbP A Bc.WK<|KSh_m[^'W14_sQ럕+;U:;+Nэ_:s+Ϗ\4?-0ҮhuJ4|͈Nj;ݽXϓ$ΏL7SjZ*K]'\lzꪞ%0LT̒0?Ztȥ,xG:fcX~O*HL):fT,SѬU}uP8Hg}Q#+愓@1o N]8N+9DQ1aNpE1&;d9#-Z.EY2s0GAg,B:uG~{҉MFľJ:FPfr㥌W ^҂9N01-40ߒwG'n+ǵ>s=kJs-#O K p(y|BJWKc\q3d2~8w?ZhV1n:g޾WQva$DP1!N&t.PA!٦22 P9#9uQ~K"P d;3 YqTi@űz)EJ ZZ[W1`{(H0J%2f~!3r?/{x m{)BI<7:LMm#F68 e9X8.>`LPe|ܐ=8r(A=df?=]giO|BFd9ms3Uuuyys瓯襏]R76\+ˍ4sse!UzhX^H :ՐnUvDըߢcֽ؄kD@Zu[qˢR%$~\.I4h ޽͋N V`erUJ),oˢҰQymm@&%=4M#IRyklZεlmD!,0xrU;YV KyF;DzvQRO{]Lij,~w_!#m.iF}Fxa ?~L[MKO95^r4>pϿ] |m* ʣt9$7G1G$Qf3Imuu-14Wqn7y OQeE@.Jz0ɷxNJ-@) L>Ҋp4F֤2m%x8U[CCx4[zQ5*_1?p(jՋ"mC-t)&)Su]+gF= 32-֫ P_yɜy亳$mëq@R:]hgb #Vn_,G\lBf=~Zf6_i{|otV˧sBShz,d㖾8#"\3~yYɣSUOwdIf\͵8UK+9qS߉A`VdX[ӝ`Yٵl]b6iפWip*D95jnhB&CF0F!Wǯ p32#bbc;)]0B-Rp#""=-!CY$&xM%jI'\§;qUz9?r} qTXPCiC7`Qж\DB7{s(ƪ?4]L?>hI*X DJ|ث-韮mMwzp~Q#_v3K6hCNaɞ$TX! Bܩ7TܕSX@>E8ęuJuD@ˤMl@fE9*O$0;1?~H[%a@ZҢL#ZD'+cla'ɼhϹR*O7wt3O^~$N]~xw+(ޱ<4fS+e\P Kc9QpӶŘV1BY+W[KU?V+58Kv8SgJj%L\ZE3XZ)bdkW]3:QRuND?C_J#Ir|g#@C*V<>rʿN ¶Ժli  !(!U>ǀS>$ -FZu,0Z !GU2- b=q'y %rkB%|ylo ^F):ʟ%!|0/oo7-Sj߁R|ӄc1Ѭsw9V&Cw_Ѭ.*l[[ADOUPQ?Ɗϩj>1?\U$<`Ҝz,ŇZqHq:UP{!%Ȩ]@ɍg e#mI WBvrIT w4"@/bČdO<֩ia)Xlv֤Q2)`*KN*\8HoeK3J^o(>D2ξ-!9$[w.xtLiTÔ!Z:3=h"cNL{N<:JK(‡g >?d!=_怵YbJg5JfcL% #ڣ~&S6`a,rx1`c#a[ As#+1{oÏW,O//g|QPDž" Rg~+=UG%(1/w2|U}ʿ^*$P5)$ךIc5ʏM(PE`|# =|`DTZEBx6"w [XéAv[ *Q kMq:RȖftzb%宗zƑv鲥Q#v1c|n#l;xx~N_kS|^յׯ߽o+߷gk/E;:\]Ä5C;l"X;\ŕ)r]5bU2RE&A)$0U Um>P|ZHs۸b&~(79 FobR-EvףL* δQE 0H-奼fx,큶>?i3&Ol_$ &} a}WQrm̼}:ꒊ t> 1AcTU亥pٟ?I-k0KI9ah2daN(P gIK"Pt?r;4itJQ<ΨhX3w(c=X:QE~^Fv5mn ofl5ƻYr>wEK,PZ(b_gpiuvLeI Ĺx~54S0:lV,PH(uJaufd!hTUR3Ǖ`z?>ȃd B-@-F0I/PΊy+6huyaps]ՊFhP79Fʣ@$::N/ڥy#*?GߙћRqT~b/|.#3X6GRΛփDDdžl;F/aA oaL3> C *p砢U`9 +tlD'͙pu=׏.nbIP~0űGqc ^k, bpŪo۷mpEc n, \!5oM RQI;ϛq8IMX,nsDTt6eY2"mQQmU7bfUng*ElefI(+RDÎ*lqr +X ]s-sS1TG̉H1zQLy.dzЋq}r)[K/xJJh D㘩&y?5$Mg0o Hn8s{[¹|$H3y^ތE.BaAAY tqls d!)ͪyp5 Ips[M]L7J be#zm}͙JZDM ݻ)JR' ]_]le%gL>:'2ilw8zЖPuc)/p׌fo$1p߽HFVSQJ3~_ GNL{f?(IBF sgy1n-q|k$6}-S7Ǎ6>7&!$MQѴI|~hH[K0NFb? Ͼq̣Ec &S/n fEf)-X|ϥU׬4w?]k| :8w\z<1C~7PzD#Ż(J /.W(P{ 7Йq4U-lraCYK?u<}Bמּd 1λG MnDDOAc$ȉ0 Iؑq]ƶY$D U*rق}Hih=>+Rd-'q pQO+^7T3O7Дw!*<&2b,ULwB ̄R0%^k6e@kj7GZI~ ysK }xS~90L7 1/Up)M,`uNiGT>c&g#:Iq S Fw!TY,?sb`[pF*4bVY XdT'Η5\n!'"ۡM6-IFzKUuUy'k 4G<Ǫg^_=fxh]΢}焋b']6=C©&|c9[`_QAt+FADJ9(yAq2W$`IgE@&93)wWb !}?XOG=#6} HkhxW+-B«nڏL!EQxTz.ZJq}|iL| E˾.?TrdpZ/]_p gҏ~ {Óp%Fl;|]d =EFDV ̻]鷌b tcP˰8A8mA 73hk|h{S9,"FGYmu4UM,;#|/#Z#Z.ڢio{k_I%*WG&Bg<袮s+Qj[li8zl.TvjP'CAr?L»r)nMB6;!Bɤ2 s #Ìg hpTQrx_3Ҙš2c]۹TR=%)IAsI@>VOd`SƏ|j##_RY҃ ꒆ]]Ԡ}3s|sej|>h;J7ǰxFÍ/ >O`H( (p}ZP3D}?)_?XyGL(u2p>nzZͺ7ޭ{jIz&:49"+@amBj{v+)qGj~ψo/UpR~tuoq- ',, 7n-q-9.6bFHQ*F %xs`bCfBPw*5N3x.p(Б/0~)̼_VE};<$Ij5 65=ߤ$##Rj @/q3U#Ai ${쏉(R H'\z?϶H:uY4@֮?*;I'wYtXKw cL&ԞsJTape#UdakGkdFxGnY񽙿ZS3QYZQ,K7IL$۝_IKjA,IRgZ5B< %U6MV\& ׳HHLIʓLO\D D?a0d`, i.JhTA&)0ݨUd/mt;Ryyf%TtyAYWba,)P/Ōc] XܕW2Q*cl2V`E76VCB_q2w=TC?gAkZ)vEEdsk -Y&VA5nU[vυxˮcOo;:E~~74p@ק c֕vqش`-cD#nUaRKGӤfEW&_ҍg7m*ٜ$%]f\R c %4h34R'.8yL|,qz1u< D-Yw^7f{8*۸FmDƪNmMc4qG=&ʫ];`듊w]5'Q:kU^)DfGiӵkf/ /?u{犺i/C*ax7T~|3O=Qڧ}1 a fXu"TTJumz6EM[C2Z!&Q;W8.zD>l|\V5 Yi6%⳼jpWfY0 4Nl,jV)"SINKHϥ\T+֬JiFb+Y,XU2./>7r"-&˞(_ɯ^}ҜB]6k̈́ڜ.~bh8xD 'VAgULffe&$8-eբeIb6OU:׋aX~Hgx:XtSd̤kgo:ʤ5hX[ĥҡJ ǽ5qYuƉ1XWsX*"%zw ‹QjwV}#p/XU'36TG(WCf7D}DMSx*MI`=Ha~:2Ʊwޕ2L^N,_Z0 ĒS;(AD<{[mxUU*Pՙ-T.7_NcP.~s%;YY Ͻ'3U&J#=ݫ֓Qhg9R\FcKWAHwGvيo^em vyFu07▂K6|ixuV'Jl_Wufͧ2wyBƏ-f؜=*+J!t,?6*F/u 1-η[薉םKDW&vc_fpum "|ҼQr'Ե~mcLd_~8P&rX)s Wix t(׈1Eds~*O[*r*1d+T0}̺d?v1[!.h!ɅWǭn:**%5!(}&6*VQ:qeViN?h_oκۄ1O{܌@ݫ| RsgwG?g3*bi%,c~??Wcߌ7j}Bk#}#1Y툽:P~7 0H3 2jU-;[^p-+c#7|YI$ D<<#O5rL>_K:OHPC.N4l}H %,d0;fX#*HEVP.9mQP8cbA#aEU+f PZyr]Yg2iXw}׍st{p\2L۱owDU ERe$08 R2N NKG|G2nia_zU Hn=q|s#5EWD;?)_E/V.k^/> D?2j'?xʜ[M߱ʺ}yH":bWSbfWmt^J 1M`P&%)QtW1j0^ ^x<9Iѵ y L1p, >y=-" 0Dcj:xYRs30R(e K2R+(Z\>7WO ᇫH nLLUP06C콓P\!<  qB_yg\%=(y1X/+9-o|џ N#O;iy|a}4C^VUrhu/8J#|rA [ה)I\,^`ˡK'gf//PTuJ |fYb\!4P |EB+AtaR}rqB"BקN>_0/>(VnL{6wU}ԇqH[%=,YbHϮ'\Cy=\p?MoqW^]'|5'A?}csƒcS~7Q'>qdP?mQۯ*RgT_ Blzӧep.JY8򛧈?E~Ks-БAA"J-0h@#l haQ}/:%.|XKro2BDfJznCMӅ8)V9Tb7cm,Ƃ'JJ" MFu'OYl+& y@V阓 #H)DO}60„ P<W}UȪ hjL:?WR")_=T~{eNU BJܰOL$P~CY2٩1:S$"a1B:: % Xp2 Qw$Z Ꙁ5*{E D%hU@~yGşj&FeffqɇN9,P[4$A'5 ,PȒwh!ʩM*)(d0%e'LmMb4آk[{TgC:*lu Y4dzOi}pgtlPMYk2aiR/⿙iIעkjÀj%Kdl> (8Sdaʼu+tP |ᑼ'I_yDԪS=2w:+{ J;Mc&j'kԣUFW ̠ B \{?O}e^\i](62~2HBnd[336e; IeM+Æ^_$ʃ_6k>yh}{Vퟷ y&e7/4$"YDZ"ݐ 7/'uAC+P3x A,^c%,sK(au$XdS@zQ%$je )qU >6k Hk aer?=s^QﮛU<^::4I3_[:HHH9i9hBqX)Țb)9#HBA] |mœB9|OV(Kꨈ^hpϧ}OpoӋ3Կ]2 ${dmNѝ;/QMŒT>?ċ@s`~.Wgۺ^K:?H$cI(5?UKKpJ G#PO&OdCK2r`K#|Sq7}8$K(ƪcz1 Ċ+J^*#Ob#\j+-FWxD}mgPv)75Dґ0pku)|"f_ͫ Z0nʅ-! ί{\}N>;8}< K-(v1iU1fc*-R|(,? Rd[vu" +A`tBT8CG.&j &=okzYb~zXΉLUN*"F$l@ }WEr)KEǮwҲ5u=){wG)@C6%Ͻs`.ƢE.8^pttY*;"1/6%5̛?2/2rT|{9"2_ݐbE%E7%mg=w%JN[*g<=oT42VLe^&#i_L>/o1s<8FzrJ PI@6ULB}ShyHSL9w^ݱ)fcPe J/UEd؎r7]p)&xP{޲<,& RK-K[ux+ucХzsyeZhYMP+փ* bÙzQJeSdcVkT`L/:eG>3fDIBBm(8'"o!R]$)wgb{.9ףsE0DTk6$8]I<5lA Er %#A++EYE0L "m0"] E9#4p੨U‘ ձN+蜯O;~>޵1p%(JٝuGb/q(jUhr7LTul" S⊟۾.Xo௫s O}wC>ɟhg4/} L dc㴮lHV^N."- ${x8NѲAjMgQ0cv3:=C_øqcD][Æt8 e_$b:<)Z}Z0m3=m(7˓Sѽzu>|2{a]qCuo¥ THT YIWk\_nsJoz0ʩi-05;daJCt;&sR} *H@Μk&:wl:zG>Q17W n9),Rvӧ ֨ȇ\d_o 73u~jVoJvYcZWHܤ?/Pij< }3JjwJyPoU:(ӧ1'8FOࠑzΥ|lץ}3h>K·eNdkWRd2X+8nӺ~sPYWc,V+RoZEyHabw>qo>sUznV^)}˃4vtbN1=wO3Ӈ]>'K ʓuR\04`eZ/ZՏr,5d/TypƐhbҘCGyW GYrtO}~'[QK5`6ߣ}u51Uq3[գ-UD$MVewFzE˕\t99E~c:R)~ai8RX5x162_wo]皟t.Sqx,üg2s+&a.]@;ӵXA&sGZ%<^2sR҈ 8hC99QuWQy Q:ϕ*NYju߹3WCe{ X3/]xzۻcuͳX̊'zjz|IN$7X[u|=wktV;O5.Y+UG3rbo&OX:`;;}޼'rp\޼qwnO=_3ܝ_Syԩm,SX~ļ]ږdyTjx:7`/2ի17CF"VbeK,z(oX )*.b[yjrA׺JKҕ!Dz{r3)^1_)/s.#ndxK5J^-bV ~7ӥҭ95c=5]n+9&Ί oY-١0cU,q}Mdv[c/RDuӚEwi F+ʥp6#(k~w{\cOλEO/Z7ҙ g׮!du {Qr"WATtk8Ħ5F|Jh+,+Wu>N͖it %ķ_|^\׾/2-=g#b/}oR=gXbƄ鲵pX񳚫GRdM9R牿;XEs_^nlRzfxå9u!V^x>_⾯=P3y=`A,,V7x{qu5wd^];n[ऻ>tuk8"F|W'x\ߧߣ$aUb4S_57E:|}(OqԵte9ê3~dl}ySUmV<^>y<]? u\\Q8=$3$?{Y,Kϯ~grd_pוȣ4bY]U`O]k;VS0ub/*ɽz15X9Q'R]#}oR1'LX]{<}yκX.3r% YahbHauueON\RM1dcC诅y=W*8ۏH(=x4ra4{uXJD&eWF=mTufhL5+G66ƺ=VQ繩w6vVu+αs7yv~ ?Rw<L;!7& a5nJw!=}8pme|c/wvMir2?w3Ͻc<#w]kue0F \;5NFa'@Aj1㌟@|gT)zJvqIcOk'>R1-?Gh(2qf~zeuYQ 3``xy:¢u}cg1'S5C"9[])ςkU[E*U-DvKsw-}&fEwI!!Rŷ'@sͺuub C]7@k^ĵ%p1"aPUKb;\ZJh;`읺}X\2@Xe* LKЅf׾|X1-?d?ck]1FȺusuV+ -1ќl>ͤ9}شCOV5f@AF5Dvޫއ۷aQaRC䬨/Rh2MSor󮻲[GVbu\V*o8|>u5I|L,;V#%AՋ&nMD"ƕ|͎o3] _A~5FHHJ'굧ETq~Dzw & !)QM]QLs6dr{>+_: DG/Q&ոQ@nj&z{QLY0#of*(ZXztf_HWfsX^#W]oy#LP/Ve 1w>Q Yb ^cL&W1`˷zw'~m yS #myu_Rw#Qqc SXشcߑEu^BYtmg;6n}u3:ޣ +"B%Gx9hQ0%Îa|eCu--8c.ۋ+XU1ίf?`$XH/Xl/ܕYXU(:l1ewDmTde:( -Y1\H?fqLZ00-IYno.RG~Rgb2v&z+VbAeF0Ѣ*Gw- Q$yU`33yy]aW= U*X_܀v]4Qh4FMK1Ps.@Օ#8tUE2ŭF) IoˍiM\&N  AaA"/-#G%Cb4$'*f%spAe,:O,:TN;L-9VM ]07FRİ FNO\O0j*. Ys xR+JtxE-Fط<]e-?푎KLj/87&QeRj$UwYϭǔb*EՒ(jR3rK`QoλANgq  ;۔@Iu=]v-}滝ո2N3HVj. ?nyP?I뮇ݫ`~pdr'] ۔F MUSߦ!8ָTl+8Y"--6B?8Xs똉n6Zt${X]A{7}-ZW<4n{d!f?Z\: ibu&OEEGV-E;q mkB[b zTLSv5(ϼU &YRwOYHY?Z/.GвyU3AIp_H~cx uL" CoEJSL%ANjl9 T@ `c̠>w' ?OmIIԟY">3םra|A$-/`8a6Үœ]|ؖ2Rղy_"es] puQ([Kj9DirQuc>Q|o~=Y ܒO,W@•}6UItJ92T,1w Rw h^ؑ֡b nD꿑|K'X9c@הN]x޳{>˗\ErA?ŃBP}QbjϽ4:~Wg*o>}O{ᎆOG3?=V&HF(g Fc][TbkyWj" }lJ?[z[[S8 .JNuo>^~W_׃KN?Ҽuyxc7r$wWJR/^=GEh[ּ1,x:'](}cUnM{rzìxNGc#bF?.r1@dV*ZO#9JL %(@]!ѕ_OEFbd w?swLb/lXyy%BgYu%W(| +jαFceg$/sv6M$m1Dwu|]-IB{1zǟX'=t.79RrM4v;=#XTl[o?e sg,+x]+VgmˎUMXKK?O1ԈJ2(}fJY1M))YԙY"  ki9j@{Y<܊T?{QB^ca|(܁7UJmIq#楥tpIj:Q/h,$guzx7zSҒ<챋u3\YWavϲ߯ץ.|_l lco5я:Mt+. (0R;ڕi d)^4$"-S*̱H zȲwUԱY=<#S:"Ss "E~P qq~sǽ=N5g,;ޫGC"}F8 `? ^seyX=3j}~=W'e3A (u`5m(r N׸B /@8~S}d/C>dAfaWvO|Swi'WƟ/D4>aҽs:fRT+kD&yW4tcDOdG f<BW+0"Y%߽Uq뼳CB:G4̒m_9x_x6?5Xlg\Z6fO}{mC> '$' EWfIWZ}΢;wj:=Y Jp L  =os@ l@ЉI QF9/}GڣWg]C9|l/k@@`O_)E#D Y7dLn8=Y“>6@JP ,~_#➻sV<&_߱k_?܇c#Oj()i8kSz\N2cO U9i"=A/ιIԨ+vOHdi#}pHqu$CSeafϗa~qeGVR~2}mO~A%,qq9h*? 6m>DԿBLC'4PB.aDgž[d[trK̂3!$fP>?PP|;LQ*2=Oǧ%}ozM1gzrm)]ݪJv}̠Gu;^޿H/y}8W 7PvSţ~3?ʃ`}ď@Bx>bnm:4~P4'D:_.+Xǀo=)~ TouF[xZv hD;(G&QRX _֢^(|}1?Әw5;aq5UUEq&FOݽ(%d현gqV'5˒=m?~G/X ЅƐQO5h'JjzB) k@ ;FN݀$'Y@{t_! f#t=II1e6[<`>:$$CϖN@vGuIb@0ՅNܚxnu )Mz44ӿQe`+1K4dQn5*amq q/ y hTqu9o1Pg Mʠ05I&}g8x2lSچ"Cݰ$(P0Ǧ0R*Dq1I񋛑 /X0!J PQ4 T@2Zࠑ2 Rg)y򛞋:am\̃Q{@/@![bF\Hbó{[;/ȵBB7mׁɓ!U w'ZD@8@@^?U}2eJV5O3 JJe Y+=*HqUUURB9@i[ǤU$A+Muͷ$k%׺eǢ-% 1'IPtYc"o'dIKnnB|TN+W*(6nT"GTW:1 9cPͩ&}]LtU7jm5l/"6ᣘbC= {3Vv7AB M(b ,Mݬyrum}WOtɔ5#xFPuU\q$*HlwrjkB1i(PCp{W$7f.nQyk"%59\ *rӺ<|?)MB9r xlI˓K[w"Pqw4S;}KzFƧO6o'>﹦+*((j/UU$$hpJVRrԆav(Fq+6ˆT\ AK1"%U-\K!P;Q2*1;DJl*#s 3ifLQ2 HTkNTn1SGJTQe$z)NiF [SUW45ts'7699UyWc]~C*Tm8OF*;J5{2Ylbd=:R=R:;j 8n@J тQobIXhO 7 .V8xmW2V7C]H (kҁb/ $4'0>cJƽ||uF+]3)KCT@P#Yݣ:{7]LH(Kw4DG]-'BB$eg >QbwVrE]c;V*ܧ'.>L+!>*3(U*fQ4Eִ^7=P(xXAŇ Qӵ]ˣ:Z9EQntu)s#Exzq釁@#ŰG@1bߖxd#rP: T4#v;uG"_ġ[՞UaxL\Z VQU8AW[Cȇ^aUB!&DjJ"TAA)N.ѻ" u@WuuޠtRK8C8!Lۗw8O+ öZlagkӻ<3LrW.^"h0 @ l1CO˫y=agtq"1MTB",B>4~sy'~Jy@T(v[ BЇC?V/:~Dx >ر`DK|缔; R* 7oGoYf+ ǥ*Fk:˥ &Ťz;PzxltRV(R"%=xhp:[]#bjճ}'IftOi@gC  {62Eie1%" V2!1yvmL)o W ͝hA Ne)rv\\ΎӭJNrA%u#J drXAU@G,vTgs\bW =Zա9G߽ q)&Wj%`-a{P_TE%v76-uBV=a75 WZ%+(AȈ-oj'\9lIO>>xV:f7CyHbRHhAaτ* a ":Khm3eYj3i4H4"F?C)MGE1bloꦙD@x2H&^Dkyg}mR}Z1 _6A)8KC\ʏMS4br5"3_x׿T.^/ΩUZYxKdr׶0= h#V_gEa;A@>?~A>7~@f(PĠl K^AL(C`^>j/i] LVե}PO؍EeO!>(lQ=UWĥ(* 1B-/=8}fS v )R_s&e(9Epf(~<2`if43H/1o9JaSfeUERTg0qyA#_QzXƞ;'`yp1@}8b9A!:} hlK@C?R}zߵc<D?0J m@ÃXCGI> yI$4e-(nˇЁƼ 73oƣu z^4C}g~=4& W|g鿨m1{[187PhdA Rn>yh66e6p߇/wy-WãîhtZYc)|fS3*$kPVF (\9ƵEyZ+H5:h'Q59G+/&@HAl_k<~Ө89`P}sHht':p8 pBGc٩$ {2h3wk H 1P!ȀrDnsbB*R! (!L77qǟB/ 28R@k03A1pA>E} 9@gX'Sϯ#`-^xdÃlFtϖm\*)4xm $4la%dNjՇ) ՉCV* $D~h}Dpsؼs 4 (BpFxN,"i7E@@DD&8j_-2(sh@WΏZ5 DOi "گQ}{ҿGcmC:iܺg7XɖOW*  KEK5Ѭk<6UΘy{OHRhYcnh&N'=eLuD=;wW)F7..W[^\ԠnD:R\q:R -mnNeMqӨ;mڳXs`:@`u{~e.8!+yg!,SgD^/sd ^ϥ=uff)1ee5U9Y꠿q6 nRN{TIzq+޿luOT/ܥMXu-[M͖H&f&Lp S+#,ҰPt͵#6{I=I -"R SыOvg뚽8X+fiKſpFPT,vx:tUc4vU27N58?): ^=JFe*SIشYۼ_cuiʜV}}.룥^^Zby*s{8Ʀ [ 1k W֢Wֳ<ŧZ\TnT>gG4uMdou1+^9⵫g/5e}|?I!0|iWqs2WR6sEaTbW?Ǡc]A0$&T qQc|Lig33>#1cM5|a7fw/SiTs/պ<^3#6ӬwESM (YC ]6ӬK-4=/*h.tKҧ+E(I( #iUl(3A]a…egףdמɞZRjdZ0u`葶f݅)|gIR1`hʀՆhFsUC{hL%jX.љ ,Z)8΋ -Zq Y5kD.e6̀Xsse~ ˱9jh1ڣiJJ˚CyoIudw}R{]#i$e&bTѮa9 .[†y F]` mΆf.y9adkM0 ŋcMt`[@N"l( 4JZ*R̈RN*sZÊ.ݝ*^89fUdZ:pfyh@2:oxy\=o>JxNctgwx{ZQ׬5ZnOľْ}K+/ps\=ũvsW(xDrlH7:qye,oKv_w5xfk&@V4( <ZRt(䶺)VtEZq:O~S'yuG1 |)Yi4M]zHl,Ci V'W97%JWOc%J=;'32@_f8Nb.?=?B*U]k)jehWm u7*X& 8O+YhQ(Ý'H<ߌ[v:,Mmq ʳ }&%D>AechY0[Ki!j+OEl sD@/@E2B:@DNMIǢ]gE/>M糀`T8^[kz~e\cV*: ؿYf⇆^{ i-.bȂ'0$TNv+V8k:l}+ڣZ3/GnC(۱ * |T= LhV.~q.+IX0뭮TGؕxkG7F/ HTX Miڪww>Cqt0DBVǚlϔe@.k I  cP ώ*TҜaAϸ5Y^CkKƙT-ZU,X6+5ݚG6nw$T?XH0HJ(k@%"AiG$8%O#&9Z1{?!:IhxʺɂnJJZ#zNȝ"Vc? NqHDgCY05@WY"* \1C]%cu= MTT AQy./%FV}. }v|"w8c:3[LL Nim'IH}= 1􎓝0׬eVg>gގYgدAp=XZnDD"&zENB<0+(J:? Ӑ'(4k {^L!Yt_! 2 o5u }l߳ƿ6N[Nu׻~ZW/oթE][//j"uxjҘ'X}tc}нGIB3SDa5s)Zu6 )9gC*I aU5{&HD _AN_X'o <h᝜cKE܈E<&OzxcFZl~uKͪaFtkiF^I_Y I]O6L0VeoP<.eE= mV5tC侩Zr-TZ4D*NE=wr-ώwFK<*5)Ggt^jZչu,"{z\#ѹlaF<"05[w]{8[>J_ڸÔ7r7W/s-?&ʴ\شkN;ݻfoF?~ᄑ]ە5 l+,Is8>;E^PtLUտB˛>Z'$=T4$I 49qcD:CT8  Jh8q.!]1]{ÃŊ*1ZR2&> l#As٫atT[,UZpݕpP킰oWNU{ovYd{, \=DG[> çh#<92򳋩@w~yz6 1>Ro?z%%GZ*6):Ͱ6**GҊ尯|Ȣ]=yQFWw4(S䭺Ц*QEQE ( |㋊.cEQEQEQEQEQE J,g^a6qLHi `+K dQMvKt4UEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEy:[͈>/PW^Q_Q4S4XhOIA>CQ┽}!% `hkDm?xidx?a|?,0CmՇg*c|;}n<ɏ/EQo[}zF(+jp~"=7s< 6j|r XgM4 E¨_#d{ƍN :c܁epԌԎRilUAm8Y0#`'V1~} yݰ C;b;=UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUZW?DH#;DƼ=p63a "_X4V&aq,gjtg&{:6UUUQTUUUDUUj/HbhɾlXd0onG@ñĶXoB(KYE8 GyxUUUUTUUUU{57`哎UUU*UUUYs{He^}C'tRkMI?UUUUUUUUUUUUZ&'/1fJ^-lVX,4֘n&Q6uЃNB 8u`9> LG|8j4 4 ;i磴"$!:\tZ 6\NpNf$@&k >]Xr͝@"|}y?D)tcc U>"*RHӀ3OPTΔ_~xriʽ|қ;ۦs5a @C k{>H7?b^weT-G{/[7 GԿ1*Ro 2iTCh|f|2@TH?ӝFc}RJ] ~_֮lUfmbuS'ۧuwi\s:RޞLFя& 0~et;R~*~ky+Z;W68]ZA ;:TOqCH(8EC@|i%y9I,?`K A*/uqd"RxrL|2+aQ3t>EhiW<= <i i[Yȩk$ufa,1Y^!D(CYD*GX@18Tx{n|ut?Md,+;aae`7^uF'q']Sb2C0cc %aAj1d`<\þ);̓Cle0@Nr¿sJJfNdF"iv1ƜIp~*;C5!)9?~{./?_w9SGdZa^τDJv;(20 qsSnB>1dest[OuDa%nٽAU5{`L}Qr>9eU늪ypMpr]`Ϲΰ? XYQЛrGD/^("W1R*8"DgAC9zI~nOg7ۦ{f8z?Qve>< I8"% )oBO]FrE[ GYG4|S.r'՗9",F!4^EzϷ|LHQ DqU+1%.i*Sb4J2*#X!FqÔ&/vmvrCi<ɣ|_.-OGo{ZQ ;H>wM\ϗSVrOSYtW{y/ ~jMp+k¥1`qWfjE5{Hp@#(~umpxڲscE5oMtaVDL>2%#&6,9)ՆJ!i{ N=7 ҟ_^ .}`,Lx2'X({ ArD=͎VgiKL5c!VjAĸ(!! +r{?1 ڤE)Ov+rDaOM/%e |sXg (GNPA_R2'M8Ap:8nѹw6xȗ^/؊i_jJ*|D%GgPz~]rA])džҙ]rDsזel\0Z>Q VS UUGKT#x0=r{Uy/E^b>YWH-oc0?Jg Z Ҥ|)=\Wh:Q @dیbx0-^\d!N;?ĈIbCpn϶?mU:)g;pm혹QYЁ1Fb'5nJx)^$ftp J-m;OsRjwzXJ!ră|cd7[t>ˁ>PD"2J0Uٯ5& ۚɪŜDPz`\^*xks5Q"Kڂ >3[SD)Yy7eVu 8KZ[],ɊhuQh8IDq@JNcXӱ0Y 7[F2OEQ(vǠ3K=/^:}G_o,BY2.BePd A{&^m5$Au-pxЋ< v;ŕUV죫Wu` "<5qyBeD'Ă04{6EEi*SrH>u 5oK&3.< Ee#$s5IS0kMC;Iz6"7<ռ;,oܤć<_5T1u_ufLhqc>wEPn>b-8[4#0L8C w}o7|~N,mn#iPB-zQQ  P:sH ٧` DNz"®|;8oDLTOkr'rr{^N` hUHaƊhwl:bShJЄ?@__P;=ST{}ŗ+& ~-LB͐IVj~Ws{cZb,3 '\b +UQuPΤy'UѦuYx::>cx`+FHS-0P i0YF_Gj?uj" F*l 4Dhcr4d *B]&,;PHP\Қd MmȌ>S}(oնO:;.+EI#N^ |.TUoMҁ AIc@ &taoFT&G3cSb9cP.a!9B`aj E(N6HvTP!d}<[0 t$N0w[XrP +IL>o'Hi( UPAhڋVQRh)ZJ(Ѷb j"`hKn#{>a4O^}4=Vxd!?P@Ade"1!r̆f3gM_zO@HKil`peLH;&6RsAT1?]\ ;)oR<&X,OOIT@orKq!$hX_ B]) 5X#dtWCLIXrV~x${ݡЧ_dAI(уg2 ^)-pF__<DEqUM*By_,b'pLp~&4%1H aߜr)JR)JR9s9s9JQ!8orǁWWSՆ;2 *giBzc(![`48-UD8z \G2C4xW 7#PSLOdgG{>/S gD,?? <7{_ύ|O{`+'S51mGIP舀g GV /G 0T69t*0LB#O{TYJhH".Ey3qTN]AK #`UG]ᅣz|8Hݘq.SHWD|b2![k3CcadJ?:? *xOviމ2)"@aڛeAs8PII ծXylAeaݔѫ"Ig3??̑,֟I/cl6 ވ?{UV2 if34¶m߸;0eI!Hl 1nHt:dvvA/&*foHqhy'} +6UG πxD_~TKݩ` ~_J`0 3#d!°vCosw+{/60-o<8gxʁEEkr1;aIr7ȵURQ,|`ఃP`qq{sD R`@lWUf,S+V+#\bq(2ۏݐ,W!+Pu|v0~Wʾc @2D=o_[SK^okaP%G2/賸E/zs׏'C5͑D ?§utF+ ~PHo|SXjM1vp0f`F%"-}2ED<9jCĎ$v!1&Ht`>߬/`2lbZ _9:4T?MPCm5Տl6)iN)>šY:\u6*RUXC|<Ӝ#p&l/3BهTRGgqk\Kݸv9ٮ(ベpkG ]ۋ" 7y*xZ=h7dC17 Lt"׏`hawj0YHئ^@糌so'vI:ad@hg\d+Ce.>P`aB.mob&ݞ@4:4x2Qh!&-09akjܠn9y`nI!>(4g!U ` ꃢCϠW6'O iژ2) K);͵x)XZ.A QB㞜!ᚇZJrKR 6+7++(܅'b8"tA}'w]p\Q'2.X:<1`e iaE% QWPn4J<@OhQTqaGՠنhLL0t4v8LI1)`d}C+?M*nFJx O i`/Qpu'ItUgH*;OsN1 "fI)0 DU˱/\!O(9DRM?rp LOY$t?ىIöQ%2]*3{k3Wߧ.no( Ea=ESgϐAJ9G[Hm>b8d=:Dc/ bB%6Ij`q>\aW0۽qNZwQ-r~owm;Dv8,U)}v6h31e^ GOMHffHsx2ZamX e(dNQ{?| tk|Շ^kMc@ M\lur3M\)G,uڑ?0]x`łɇFeZ~\=>K]BI6;|3Co\` n+1# G N(D !~a!RpoHa4R q<{Y;+lMoyRSB@EVaX4&hJqZ)(hR^G!:؈}9<U/; ^)ѧCm"L\pCR8l@j*OږfUCDJ o2>~oYs%NI$b*&D!xPϬG3pJРX#読 EUUUwiUU9o9^/\DE^Rmܷ-&IP2Hp[UVf\َ(maqp.q97MKUf@o(s%rm-&]R(jbAjtQT]͔5%ۣ L3>CHj YG5tVfۊnKiym쑇 79fffffgF!#_I$35.d=QUUUU[mf[Vf\w n TUi@'uUUWm**ڢ (s5UUW3^>2PLvLTbPK`Mb8)U.x*3UV.gqUe23s3%Fۨ% A{ ΂sU.NuK..ޭo7TqG`QS}F"ƕJk`"8s`vZU1UTMSx6""5ucl2ZUɗˍkZֵq̸\kZ̸ֵֵֹmrLַpƵk\s.9ˎe2q̸\kZֵ7kZֵێ5.5kZUɘb\nۍkqqn9jVڬ0OYY'α PRDҕLHPTTe,$pEsd_mR0$'[ǃQBC,%4ӶV$U$J@-(@E @AN~>uKK fմ_}*c|?ba?>_S_=w'7{?s~d?~_{?ifp){{O_3r>io.Qj?_a>%~s{?9v}㇞Ż\gߕy_~}e/eAm*5,NgʐalkWW_< YH.sζWpB.5>783n~n|o^kP 1T/Qk %=o8oه3x9w1;?k^y-04?>^?c 1xAcOKc`^ <46d8JJ?"?%P6#`gQє抠1 MaUb3(F2ρ쇃wzܶ1e(m` (@OĔ?ٰ'vH~\ZMR םYKr.kF-R@R(rIX|5%2,۩A=ă' yk>d{)ˌT4#?4KlUb33>ݶmTUVګmUUE[m7L022ж-[w3--nf9iml33s-[m-m-Js$􄲍0"+"dSBoᄚ4ӤM%醩0Z5qSI`WќRq1=wBϓMdE >T{:dpUP|h8X:9a^N/_) /Q8g8Q 0^f<Q%U8g ]ǻЏ0D9 !}!Hʧ3)mm4ij;EF#'b&ILI$ɎwkYH~z n=aLp&']ow`!>X5!O<0&eDQetƾ={/WaguGTْK '=Oss53~ ҄sdx P#?sbO?k'U"YEmEc4E?QZyz6l;OM _w;<- vv ](e#M1=#I|LTPNp8|֍yf il"$x:FI/;l9 ˫)-TUE &&%!JH#c#֘xd".ϵB(bA5P Rlv@(E6׉F{v4S+ *xwG%9T bzƓ4EMQAvI|> j_5[#H&!HT>z~=Nj/; ݼVzuw0αS(FQ%%ML2*i3RU̦gM}x.d,/aQR9|-'gvP`|?d;8n.$j H܂QAC <`҃le 8yIީ>WzsQe4j:Œ^sy*̘5libI33_bu\euTYɁS1$e8wEB f1DH@%xr?ꌜq< u$ ˭] Q.d-e\9bȪMj7cCBr"Fz&n$01҂e\" {isoLJ×wtLB3gZ+S)]WK:^7ΏdK(8#3ߧz7$X*4=޶b1ʏb%ZgX)Yx GSa= ڀȆmzj53ҒNB όXuv H4 :aP6 L䀻 ({ŻXG;B@>0Vl0I47_Bڋ}M7Kl(2LzAFE _ckZS5^XF^ʠ:x?t|d7HvYSxj!LA8k{-ߐ;.ۻz]DʛrtrV5e4PσBFкX{-#I /i莽X *ayLa`WYAQ1&8#oaò% '<xP!ZUr`$$!%NVZXzd-S }E-2xK0-FOp8xz 8}W"$ĐșL$h īxcgLBmU <3['Kvo4K8CZCIkNDWp̙6YC:Q@2.L x䁞I9JF2KF'4;>}yiZc [9 `D6<8 $;^hGvjW2xq:D& 32nfCU: 1<^5ܑN@c.lsF5K;ͷwMHfN@FPpg T ='Q2ttcA'iki;E:1 #0&]em\sX` ×mP:&99QhTtM!p mO, Jp ΂tScUTz0|&5р92Z.( sD X9X%0pPIUQP!)2 liXs oUMU1݆ĥ06AV(v6 WV6@\G83 FL)Qqx늚%>'e\=Gтra`bW;/?Ϻy~_5:Ox@%B*ufHףFV }k\тddG^ފk͵P?pgSE~X+?3z tb&K=4LK)ܸWG$"6joƧՈvtd7@z)Q@SHo5-DU)iUTV!đ)4C)JMW|ˆ wC,[O:}OEo\)SE{'~yyi映HD#-$"OD6zl0`62`D0 ?M{w΃ks X_{1<%t&GGF+0Jgj%X#?NQý^WIB@DN(gyD2;pF 6RDjf pS:0@H@dbf}߼~ǝ۫6>%{:x>VCL |>_Vݖ;/@ CJ烚TE%o"L'aF\s{=)'\8x'q`Ǧ6U|6Sp:Ð[ 3w{V3Q0Ȅ"cW !;p=؟6}Vtoiֈz}ꏟv>??|M"]0sjn>8a$ZIN3 #7(TɂE$&bg _ߓ c+Ü;H ˺[PZ0`υT7saKL2vDM !@C~a۪NY'HvS0|!7{ XI!IF}ƌIɔ*'ɀI yҌOM_#,,`z:[D=!)_bqΦC=4U2wk6(*p{;O8sj:o> ɮ˃[`٠ R$eĊE``:hNF$sj }D~qn .0Y;_$ё)9$0(XG'րrPR BקlLL݇#qN[199Qݼnr/:ҨBʨ{*.J?RD^|*I S|pfzgŲ)YfQFfBF:* jIVHgqR((85Pj/X㄄ܳ|ӛexTO3hiRf'xIð`r$DQ$ pT%ORH,l[ne-'˔fK$uߵp0̈B̩׃cUfa/u4ssAF"TQ ulMCڊS>z̜$D:!_Ы{ʖҔCk__`3s \e'laNxI@T1g ڸ61X(84rh:`AW^ goP 4)8k$"#>odˇ2uJ?.'_xB~ۄ{ƴ>3(oY %eZwŮ@L@?U MLAt<6*C,JZP(nD뤆?5ëF"2>A:5ⓟa0ҟlɳhS8ϦLK!=Q&O>wF|$*e` ąM COә``a_!+5 Eˉ1 Rs;2"c *yMLwD9bg]1LV ptTeH ߍ0\ Qv'79 0O( +;OX3GUPh""/@=yd1$|dxF:LI FrWq~$0 9 0ϊ3ɲG̑ẍpEF6X"2;??RqKnM>+1aʦ76y3,A"˕3t?th)CT3!Cğ C&;bEj9蒾y“g*!xYAIvۜ n''̛Oy|s' n&#Җ# ˜uqKgNfz,o7wb=|d zq3$S2"AH_}QO&vqt:DJqpȼ?`۶"&VxbG1CyA ¦oc)I;g.S~v,+9Q# D R|`_^YQn:(ǧ=f3 ܸ!đjI Ȅ2'"D:9%5>|﯃M)4<µUUUUU'* D"H" u'O^8(2 {ѼҪJJT3+Ul3LO/`s?0<&V&N:}{A'>ƆPRO-Ȁvl (7qڟj5 U6e?ky,8=?Ǜ({'>K1 \FY"l`#ɤ(:<㹠?7Ziϸ/I'`zs k mrkA< (<3z8xh$slUc$epJŴAk?1#~&Ec'Hnњ8a/`p@H=Pq&hNPć_@A$)<bIXyR>DP6Yѷ4/ВM`9pD hC5wqK<@ꡒY RՆ&T4H\=.?]R$HćW--1ptØpQ0Ph&0" h~M<}ErxBK)΀I yHҴE҆_]Jx#H7P48!МJr*D) 1 JD@@Q"A?{=~; u Œ .Xz%\sP۩*Y6!6}7ƙ)E&L# I"`]xOE0@a~ ”R Kl~0:x';)i#@P1I3Bdw$V|-z1o/c`g9/i_>x%oLz՚ѳMt\`z"7LDPS@S%$L T,2D0܇הl>:t:9̓ u@10 v%HҐ([Ot&v3xbh>988tzƔaPGr1~9#]) )P|ef"0SV\`$Ԫ`؀.s$ Zi><㗴WI;@H%(zJ&b@?%w#}F>QNMGE<@v`BT> 0m5T&'N/fT+lO1K049hc(n f0ݣ͇I8>׾ %x'4aK@ _"s'% \@E!r~24H@ ȑ^O*ś;ZL{\Y34d6vw.`,uMTʉѹ0!e" F`gO -z%fBeZT$0lJpq &Grf2r`S p@'OBx/>G䷆iKJۆ>0#6B0@&aFepMO>&aGHT:ȯȒ$JeX@0Hjh㒂$$X 0"cgx?1 ~KTDO [/i>(ɿ ‚j ?p?~ CzDIJAIR p~~N)ϚBu%"A2H POu-sY QA[pWQsv{q(7Ј(0jhہLבDcӪn0sZ4˒ ӻAEQ2lD@%bobl݌|?H`Ӄz:Aiaw8TX 87'@><β;#r?yQÔHKDf"3G 4h.0}D I$❲w\)AAqp7{W_=׎׈b']xma~AC7CxD:"C[X0 h $D4PFLMD(PEUvd Ƀ\uwrL,Cx D}A| ;NН^O dxԚu?Ѝd(w& V_܋@ĈiW *sZnK&L rmfѭ?tȔ оy`A;r2TE"`w>09 =4>ӰeLɋDnd|^#!>'r}g(5#&y>>`\Z6E|H" /㒙3}mXCpM~3ku7|8$༅9jH XVC2*LC $RDjQ*Qoܰ'd:adMTKAҜBf%"hiH#&1`ncs Jl6@~C0Opixq+Em2$އZ6[zl7!͆ Q/iøzR!Y%Ώ]: PָG)9~Osqt#ޥ><f089xl=,N"290!AS:E?T bhATKSTDM$HPARBLID%5JUUPUC- nTsI|B;W]̜ڈ8t9%{/wJg@aq 1WL# EBF8WAJ),j*;QD!V !HPhUG<'zҙ0*WD~* 0،4KDA>lmXG xl4<.CBEkݚL/z?kؘp , :ƒmN$nɷt$!h1 @bJMh! 9n +r‰J&I#YX0Rs>1a p C/& @8 *%< 1gmc,fi}kW &6ɮ6GL?.pIo0!# Ƿ3.'>~3 H0W`CB1noݩ_ '|w'~>j"5`% Ɉ}/g_ؽP{:B|5" _M^Cb2)i6=&ɢMbpU:0Ab`J?n2Gsk[fHi RrIuG8,#1dtfvG?Yj4OH;dtYYN/  ̚$a͔$~$I\%wwP!|f Zn)v=,3$u Ԑd?%;^[{: JG}`B^z$EgfFJ6ݢ|qr&[(QXSvqhY4`F99\a$g>7xCNJ9O?5U[;TWסEҳ0 ȔE_y7bfgyDƠ)R F2*GĠ, gg J1sE2XPU[&f FM,=3Q](ifx躙MunK l^mcG"z1`` H&JHoC=Ə$ș !gK~T}s>XDj<_l>#,&iR>- ĜN@)'> o:(cM#Υ'9]fлII8ͫUVD-P7#9:E(Mm` eoa`}zs:A?;v/8䥁x D ?7Cb#w$~8= $Fk p0Eh<vLP:6 $%ό!*6X('l4Nfcqp~1@F7Dw$W{ߍaO߆xO\ 3ֲ CUز#8N @4g<9:a|^a ;tX'^$t";^m쫽Hw'" O~D\]C/WjdP!3Uq. E/@`r#8!ZHI0Wnuh'A wGP{=0 ae<ٸ-I 3P\4 ; 65 0C4+#١|x&vhFw0Y)xO @†G ,JƣTQ =,Hf*a^f Nީ(5+]q1 tiك L4q:Qs? 7+z[I}S¬Z%L t9Z=۾&'!Ѭc+IL^3ĔŹt7UOLTTş#ǯёH;_ụ_gh50JKQ 2C oO*v~mcl>4>v&DQOHP&T^- z#J MS\>nz.KTfN EbљJ.m?CWuExAA M(?^" EW\^*#v ˊۨ7D"D9-1GUpJR&d]zu:K(91B lwXE%)Do& $bi6T4"nUQbSe\"TQ$H~ggX챝:j!ISeUUѶE4d r}͎$E61Q6}k7& YR<@!,8lPU1 -3!ZipAx۠p 8_#~BHvhm$˙%g`΃UU_r=lcU+灐6&s>+8( uT/ I^3׀y=Ϗ)ڎPJT2Wcǔǁ߀F$HZ}vj|=AY( e&"B66 eir H $ʔNI1n3m"R7TMa*W0!un3 >Cyu Ƕyf3Ih[@ }C8'+DQ+6I8 ^$d$*+cAZ҄4b pbtlDm֌ 5 6A[bd$9J 84e-\$8A/?&~]ͷwqUfh;HTPTeD"hR3C@#v-_jd@xq=HP 9R< (Mn'03-<9=@zg778pW.}<91tMM1'HB'lbYGa|IвG+|qyWc˞`Ca܆FB &{pq$\9IԁhH@Jl4}P΀ d~GaqyO캄j&/$#&Wf0T17 D<)\,:'xG v'}l _a:__| t j2~lWuv3kYv/xu NBzE ğuBJȔEHBPM $HE$1I߻ LUD1@P5TwKH$(h&H hhZj&hib/3;{ )*ӆfQ킄 bշqY QTC&*}ƃ+ERSD$TTDDSLRI4'$pKT3$P4y  U[$ *tJX$Fh)QH&!/"?X<^-<pU~`د pK!Ds}V6}QyoJG.QQwݨ8D_>$CEq0eп$C'zd$508mET `C{5똣2 $_8Nn885^z!%eW؝neCe#1=\#]ʚC iDq!Dz|_W/ٸ^'0wC@!hP =Ih{]Kw(M8D?"!?/lQK\ޢSTãA82dȂqZ-'fޞ  "0d΂^EsgCPIiyf.  ebJC$܁7a! Pu6A(I}=  A6ݞ%"ӓ2Pԃ@<ghq.Vu`TzbY'$&HH,099)ANs t翈}`$}˂XA];yo8`8p>SAwu$E3 (pQܥQDEQk32FĄ'z1 ;F?㭢 Š?f]?B _͟-ĉ~0MyqSPL m̙fۺf.aeV3M27",={x??6 VU8M:_$|n` <0/DJ, ă'whoEHCT<,O ;'e/YЅb-ϗ?y.?5w_?~"AAY2y`y#!!<Vw- O(X T62ʍ1 !CjrAp%?-ߢf3 +O4Ei { }V5SE5%ǯd`q%+q2Rj-:+_kX30֢$O# $/szbT/m)\kHmX~7ၨ׫TuT%E0lkM^ tO{U?/N<1Bcϻ%'!wc>=?y x~{j!,cw8]{;OfhIP/՚5"1j!y w. 5(^hnv, =04UE_1̩ha5iReD9@>!rFi_u|è4$,gJw`W!˜JOo}kSzEa+p~'a`M*c $^HQ~>Y>,{{َGu=O?CÆ俪T_$6_;9ZY^S3B1;j'B+:tθUo>WFRvudx}6L:߿wgRcvh+ z7?|ܜQ~h'FU,dVO2̋> h r9"x(-]˛|nIyAͶHU+@AK~E bWI !~ G' QR;@> N*5Saq3%ߖd83R`{ʼnpUr͵~M`( ,8<'t Dv~kd^3&57)յBcN& x"&@0@ጟxph͂UCR2b'_/JHayzV^o'&jAȧ ~H#?p-<@쪙3{Pnc48IgzB}!=msnf*bf*bHfa @!x<7: \f[hhڟlJ3bff͐p0󋳌;=~!ݱ8f)#8y<=fќӗNciU;NFCz  ==,.De@ǁW:K}IiGRaJS!L:0JTOMo|He5J(# Cg0$5 c.ScxGѾ$tZN,1>ԟgPQJ=*Gע Rp 8LYٙhM4M&(Dd26'"|r#*Q4a 7' Ps+h)9 Rl)x?~p><5b$yO0#v]>~o5qHBI p:@|NA;$qMo{]SȔPԃ8mZ5*їHr:v享ܚt1ǧ8Tϓy1 QwsFȇ!ܡ?TB,¦1M<\DtcO'Q  D| Bk𙣿?Z 6 OJ&Ǯ̹'VÈyA<}>ϓZ&+--;ݗnI?6Yq1&Q!p! S_,J9л15EK7:9mYD__01ɔdPw04 ^*hv$]\ļhQP:DA( BqHS7c{;:4c4!'I9Zf˜= $Xz>BεUe~ΪU_mT;#ATb>i/:@liDjfe}KI@߲Ix@ F`ok8 t3 im-=W S`iJ1}S}ڼEȺ6cQUOs"m8"P!zU=qu~RtB=,#њ6.렵xM։ߗW`4zss4zg=瓨T}Dp=fوP 9 Y=hR`j9e +cDJvSe_ QnKRLOSkc2D͔:Bs02ep(DQNtYUΟ;2l֙U+'}@<*oѴ^=ѠOF_~ei!48x`>A٢9WPM9'il0" F1Œ 6ˋ$S%N' :pq7ѭZ2֍lJ%Qjeb#aUy %Д_[+`sѨڊ܈øI4fa( d/KwtH u-=i*_9dpe)0MW(v'3J>rRytťǦ]ZcM9A.i ͖h( ruo.QtC8pXLbPa c10z4uP\c8z" _* ?f %$.*o:,a̝y<`NdҐk-l>PG Q T:ujFfǜMeSRb?<3UG^f܎]CGgZB6p 2E7@dPQ9GooXi#ҤgB  1EbuFDEϭ\5}C6M撿tHվ]"Ŝw?̈= ~!f0/T՗Uĕ.iUbJsM`;'2kZbS\^:8$f6}]u?3GALl]uQU; pJCuttO~!î:;6D)-BBy Lt{8cytN}~?'˅lh xjoc7yL}u?wnВ7o.u/?ܜ; ݀2qA1PL QCZwh n*,)ԛSlSl&!p>nAztzM("Z)$UA4x!~W&CPUI,Xb |`|DS)ak C> bCN1E|빒O'͖]! {Qm95}#z2"9ិ8n]c-yׂiڧ)x(, EZȣ{Pz_8Ice{wўcאyAw3lB*'ǣZZՅ6'F#Xjm6V  ,̨Z_`8}{P502l:G{])- fg(@Q~ @HW̺j7Kۿ4a)H`!m0gNJ4#rٶ1; zMzZ@)K@]A{5 T "͜89̈́9`5wM$  3f&AN919nf - mkD)B26ZPR"0 'j H|zƒtp Rq\EDQK}(U?ɽQ=ItfEL$,˥eɫK!Jyj&u:ZBH8W7\[7ы@P6JNk%Ihy3| ''8}9q8A;cJ )A31yC&HٌtfW2aLH9)'!'rp/90 {s/CǷ4 7I>z?^?glUab #pgK*ꐠs pߵ ~gjr2dm$nmd4{4PJ:PR ξi ?i9Tg:doD.;OwX~=߭T!gC^~j)AH ( M+ se6\tm6x?nOrCrs%с?q' JyeL;|ZRT7dc* B ss=MD?ˌ ]^H~!mEsʏU'>N'0N5^2 Fdiq`]j&,&2|l3-cO3~>x=q):9;u؎9wBļ؇6Ȟ̇D&5'Yv/>?Wh=5ӷa=NjˊгQJ3Z~>88"$~9_˜Y>8@%&HfT"'۱Ae`&d~fM o<J4%( ALTtoZ316=TB |<2TU% UUQTTE0SEDwm[m610Ag M 0Dp;pq&!HE! $HpB uR(d)aHN(LqX pVaR(SH AKʡ@pҤ@M 4#4RHyϐ7'  n I@ '6Ur/B7EY$Ps輦&쎦MXs/)vpxxn}-(c'@lVs񵑅˛K+>0Rˎk(J wF:75m}R`hd\ ~  4˸+Y82sզ*70<D ߄M=^D8K%=GmD03}Źq+ ?d[O  w:Zcz=v*zUi 6A@* ʰt]؀ԉ+^G:o'&֌)q#{mgĞ幻l-N^~Ga{av=G`UɴO^> *]}pAMx6A(tB%3A<̺lkA)_ni3~+g^br 0nɹsA_Q^<->=gn×}仾?>l`\Hĉ*J ڸc\G%%2.h^i ϫc]Kmtv',[(`k'k O\T Y-Տ@_Gfz+M~1v4AZ2׵;B/X6φ*7MjAG68J;mO7^p .tBU0\J:5ַG _ q0,E},]}}5h w.g=ZU;-Wylٴe/NN~kpbqik5rrTB|,ZZUYy[*QH˵% JUUUQIA4EPQAMM1E3UATD7vb"b")" `4i"Co-!p{w. [ctZ'ݬ ۩WoD;]!}9k)29Ԁ(0 ^:0IǸBls`)oK)GcD֓vxaɻxrpNsQ$Q9T%u"!Ѵ-c : 4a=x_ԜC Vh@Cn:w=Slv[۩0? BXZZ)iRC"kJdiRb4!)BdJjLeM1RLAM% ĕLLԓDE%  1PTԕQ)B1UMPԄ4M4ĴD B PQ%E PT4DPDMAHSIDURETҽ5T3-})$8IKRP!@R11-'Yit `H"Ji  `Ɗ!$HHh *(*H((4h)h*"s$PCABD%!,SLPQ(t "VH"jNTPSL?!B h&u--&Қ JhbM5R3gN'F3J44O•(bW|O;<# Q1Q+)_c#$K(J0a023 !` ef; PDAC -TiJHW,. shB*%3=g iUCKE% JHh(pΟ *=/}e^S:~B6"} DB_~8C /V CihnmpASfjie 0D.{sǐ|AɫX*-?f  pswaFkBHH谙CbX F8]=#^>:-WKM*.DEFԆ01A} Я) |sJІtb %f : (htC15U@(; YO S#HPm C{dGe-?B@!y~16peLw] <ݵN"["9{ l6sHA?U(Hfti1qbU&Ơ" lc(}pA!"40ĝoZݬd~ݴMGζ,!d 14= >3cn՗b5Mc'/fDā R ,X|#/~.eۄ7Y&]yv~x]l2K$FHE:2ۀ(f02eJaUw:Py2!5eG!:zeB{OB Dψj0M4Geqc"斗 #Cp&f?cr7-͸ Xe)@Nf M0lsp`g G*0(\d J$yqnVҸ%F8-M6١r% ă1)^ +7ӻ<=Mn5Ń.6JĘ<|rP'ys;!2[,/uAɲNY  i%:κaL/ɎH1qPO6 3Z!뀨h1U2k(| 9gGdM0P)a XeRw|ѭ(H~Q63}xSA ЪPBMAM+,P2LTHM1U24K&JZFJM8d ( "$'AL- #$T@@-"IR&daÝ+A@AMDDBPmBd&V"Y&HIB TBVH"d @Q$P)m, *^c,>8tߎa~D$㑌VV@702BBF11*¹KjjeH(3. C9U-B!)a2ܳ71j!pQFdHo=KQlovLd!ͧ’nHVEK*shV#ms+W\'[T6\c1/V+3 2faNP`ں:7$ hI&rLQst5:8au+{=!>o)}zA˷+1)w;qm6_>|*J=)X+!ݡ E=xլCOGďv9@L2vLdFh&6-fH ( /R9AK0%+g:lT_nHS@IX>&,D<+!_zn&d=y$d׬N_ I:s96c71dž\2a L.ezېݻj$Pu `|N^уw;|sœjjch|І! ;!gyECBLJ2"A HJ/C{%a“E5$CE ?UAGA0`R LL$SDa(VDJѤ)P #hZXRH hCH|xy}tN%D9MCw}=?N.}v1J8S>l glbr2(buԐ@Ԥ fhrJ!XCqV@r:tnIYPa+,&eKo?UaL̟!.<#]HڤT6 tMQ&(`b!J3$A@F InGA )4rE )%~ 4vQPla:u]`ьFV(D"6(zEh!$%44U:ph)|8$t4S0ЕLEq/F`aPb) cX)-'Ra*0 |%$ (JǬ=!ĪӁ48#|j*6#c0퀙ddҀ >pL*'sbd(#D1'3Z 2Lp]TO,!( P|NzO1PK# PRҧ~APCJBJUTPz4#z'pstg8ޚ@9LxhǗ٭|t 6b: #]22* 6h}8Pk.EG.º4^2<<璕?`SԂHO~a}@Ȉ }EYS{VO Y&mN),dbs(2qcه{ [`t D 996?zRt~GrNV|r/8+FF/l~aw>1sHbb8LDi!"}T0xa9ƾ^vON4:E!;`OK,a!&sԝcAYOrn%( V2IĢ!P~I͘= DgbY}0ħ SPH Sˆ$s&_|n>&i bQ*OȚ$gŕO.(t 0:__?sxc_һzcFT| aF9\i:ԊXF,#Ye&'C`8H ffL2DT3d|1QK,R*rr2MiI☾4v^EiyԝD75LϝMvNSڌP0 #P@qV՘^a3J':̳T Uk H`+xx똚PF<4a :nΉ7u*e9w&g}]N\a[fg&q/]Uj9}Oy&;ڟ8st!E*AJv_ub3$k0:ER"" >4ES R `Z2Xw kh<4CJa(T>{0hcˉs [\%8[}jU7 9u;kͲ&zfN C4f1H5L-A#&S.TCBθNNnM $!θH0#Ļf & ")YijXpjUP\yuS ,\9owPIճ94yK1\ld%5XN 3St4I0ƕ-ULEmʉibf ,S|"6`KxOfu=JLVmMio4$"sns ,f:TCee j(O\4TT\lzJ1̾"@>1HI^u;@JNð#B$"(wko((Bj$**b!h*( }&b s@ c$ha" Soby;a/(E)uc=u3G|'7l^Q<дQC qN܇iA@X?zHweZ\hCvN&s7LnZ)DqR AF'<^}lu#Ŀ9WκQĜO츇B`y\~BS.I p͢tY~; r?#~!'c<}BwNjpQFP 4Cfa܊o_NsD?^>"ۗ vlTOT̕`@d*"P )H4RqKB R(R#S!J*4ЪP R9S)?{~4h Z_W?s,PP)[_Uضό}hO7` 4>A Av 㖌KH;xmoc9N0`$ F:if*!iB&3(Z) a(b!D,X )HQB bq4(g8`9Oy6#C`` t^=!* +E>A e}OUDO=P PPGS@6˗sP^ "ĔLgT85? X9($;7+7TB;]!T RhM7pbޤ4A qڛ2561Kit*pQ%ˣrՖ x7 z0.J4Wz?j߉wRTȝ @R  !J RR Hݐ?WPlB& -v H@}l ޴) e}#a?F'r0*;3#Pd1`̮FXN12{EAX(و=26Gh~[="@ME/fQh V$ ?OR-P2hn:KJ|F1#r`).᳍NTDU$1 !4D4lL bD8ZOePPoVM@=|l}=snb&-Vkb§ӎ7R³9ji7N *3C\%tfvZTbbC иa9b GbR^$cEc̚^2mz緆8Qj0\k^R+2YOD/N4PKTȠ>Z'N"$\OPy=>ٻPـ:Nq`~,gb Jg}X [Sh47RҏH;=1MT (mӏ[ 8ޜ#zGϟ)H!)%" hbH)i&$!%HC#{^PԄ W+Kp2ζdѼ㎵c*BYڡb$ im@m(ANUP\Ae\4A{ĝjb!К;7/̿M=5z_S9֧sN)_}Hp0n7g4p ˹=SAT%( !4DUA*IP$AWbY8>1[cjʱO H{ht:ֱ9fD?H: -̲F Cc$3$dMY5Hm@i :3{7 b@qy7i2TV,[Cpt0UՀ)1hZ~gbT(&% Sxof2bi#.˽+4!>bI@\CBBBe{~Bx3]tw(﮻nw3)[ms.&^]i:6@~"d9 a9Ѵ 9]^I,)k D'>0dC!;p -HiO .*v:o)- P%)x̨Ҕ%!@G"c&Wu E(ueWCȞBD4%) 90GI>D[|:vɳH苾 u!' h%3zx>h|s5X5zvA@܎jp$ ge{As Spĵ D?^)_"e5 HR>(:!}]ff֘02^&@œfDPS ?qI8:aOa~ xa zS]z Y? =rNGq$AurhKgHK!T1PR'.z84Xw[4vi{]x̆\;.;2C4Glv}r.Nab2UĨ(i&dJ(( Fd)(I& CE$= zauӖH $H>` hdB"-p):z ^*ZBХ#=]z.czI?|>Oбcxls0 $OfC O͚P)] B4A, SD HU7H Niat7谬*QSZzB3hCĂ#1 4# n(-*Pa 3: (q4$s!)SwwV[6~^ve۳7.ݙu˓5.p,6v́n.ݙk<т練ll☂ E=dsG]j WZ3@kM(Q E]ƸWv9Aӆ & ")hD@DZp FZ$A$:1Ѥ5WfILYOX 8?~~$G N;hhJ <<l]!tȜLCS"{x =|]}hABFȫ)O~t"~ڶq)T LтD$#T0l@Ŵde@-&.`L]MO~?xPLG[asmmD(37aJUD`͹h Kցq~/Ő1X:g]eR FExrmS5-TPmEpka-  j[̡cGᅫhKQWqfDf^9{ ,8'Tn# Jd!8aU*=RD]t !z 7MCr],aV2n O6LR H ySumZֶFoRw@`N#I+V]Q`NN8YFCpM+D`lDTI Ȧ t%؂ƃ/@H phrQ%PC4#СJ|KSfƨN&tkg056]=& '/ (qF"ѐ<#lBrꀣċ$|E8 >Ң=偈HKK>b $tV8:e_iNܝ`Z'7> !x h}oNפ ; PS%$MP-4 XCL,AQ Ct?'ИE勴S'etWh k]Gg4lqI &154tMj89R3.1)AԕX)΂"S' 9̡4 j 8{?9IH;@Ɛ a\~ %)A#v}%O'JcGeB% $*1+ @5S f^t1zIXA"r2jęSkquНA9s4mhӛ\Wkxx?ˤ}a@4Q@4<q0A$\@8lH$2{vh*&~ R!8$~T@o>Q`MP'yP7w|>?&';dzD @xM@c ZZ]-(hB99&>8=`&e>GB?B6ߖgJdlZ°J7(4e$w(:ZJ{y\vmE<ə}gJi:vSIE\_ C,JY('X}9clR@)5Ӝw2X&H~d{Jp!ba&ZJ*SDM ap%;v+^px0qk3YY{=sx}Ozw+jR7A, =Iu> Zou۟#bjgni)ޞs&kjOro5Ky @v2G)PJ+׎v* 4c'lPCVr<#mMDsQVP:BןϾZW K+h1D>ίi%nHzJ,~v-u'ʤ ezEGuhV XF@)Ъ]w}N9[YA*0A$qҘ%DGUYMzZy/azM@Q4R/=j]X4cpIk:$=Nk";]w0sL7'QBP'zawyfEgQ2W _ LӋ^DrJF z~V;nqk>֫Ry"_Twj6ukfOk+Oş7zzOVn='97FN~wbY~ 7-(b6;dZsIˠFPz2=V0CP6N)P6Ky>(HNӣ&ߑPͭe .],Cx=o~-%xygpc&5Y.@R'ԕS.XA8ݳ >9 eђPH =f^ %lpGHqZ 6cjc:C* A."a0,ΚaDR Q,+A*sbk|Fk.2HΪ3b9DQbŽ(6-kF{VLA z.Y%& ԑIse$eF\h[  /XfFz(rh|}pD# i|*<ĻRZmGF]$W3v=H" RDHR<>gg A|3,i؏w2ҘSAr`DJaLP9{ g)|Z;Qþe%hW%YPӸ 5WLM<. T=iNw+B8>[٦f DatzNדaqb.Mn0qB6aQ+U wKm7ȣV }RguI]n>AW=FEk#齉]5j:k97w׋ku$_a:XO~lFH-#!r Qvg\s8uu}՚bAHzu|m=6{FxXx U|:wAdNQm|*xd*#/ ӅՐQᾐ"s^/L3hrc>0E/jb0QddE^!~$/zi" [l=oGB&~8^﫾w&c:RFs7zX^g=8!:-NXz/h!4 ;~Z9D@x+s7,Xat *~x>W=0[5_H܉zj 84 \ B7ʎ"]K⏒Fdp pM|j]b 05&KF'MR7؋G"Ԝ31T٘,)L1E]r˪GuAQsD҅q3@q=R>[Pbu9Rw G8\3zxt޵t=4(̕V 3XGbN;W)sf~>^25|՞f A"U~Tut70͸AW.V['TPX/7w4Pԋ؄&rͭ6DYhʧw [c( YsGzI6|5)f4S%*K(}.("".b}GTEiQ@ex@B4׫,OXy! $1qy3΂빔7Yʍ,#[o̘*>x$[^Z8A(@ HqSd:{$D1F"HDZ L`D"XZξ}:}pY7/XPLJ3/wv%=( pQV@+o^&Nmm#;.u$=DlB$Aya€R ATsBw2Ѿ8sF4K r΍zj^1`;v=Ueaqoس#ȌI=GzPL(&W[TuUqVsٽEQ9wGXOQJe%=.+9ABF?Auy8W;jT8'do M<ֆٷZ9% =TȠ _'agL #P})o#~>b68^+z2\Jh̜hċHİA~Ԅyej99}X!_ 3>6kifeI=,] ˍ( -[PN-UKO7N2eʙU=w=>W*o5AS"x{aц$:'hqdOԝ#D F|vcF.n%C̋aÞ26S K:P,H Ly1qk ԑd,F2xwp $= 2؎Tä.nfj|&ȡQVGQ-9d֜"F  9:otpߖf,Ѓ+MaA {K*)on^W%Q6I(`q6_H&6Le5Tz޺jc' Uoys]̱BFLYn#un[j;kx4j5]1(qE;+!Dp]^x52R5@P{+< 3A0Yzuz# 0A pބny=^؉mCh0;$QFh(r/1Q Xb,>4&Aŏ98'YԩW ibW3H+/yo7l2fqw}il]uSK/~I:C{uhfg7%[< -:ddRaKwe#zq[&\v^Tt"O7]`7V+*7˞Mo!qJWSxwYN}s)P3c=`+x4T;z3>Ubk c\u]|=V^kRZ2_uw[m_.Ϋ|~bn}\MWo YEz=Vb)kW#JwB׵g${J:$!{|*y_Vpr\Ɉ޼E @'&~s!n r"}gzkXf}VV=c񩄼KO!.fpi>fv箕E9@"th`; i| Peb!'H% 6/)( I"UiafޟiI"KHݡM+i f18~@???H >%尅R@t(B) ݶI{38p m=g'Ԫshه'xo~Ouۨ:6dD1ZaLT 4q4cչ6Ea%B)%Cx'3*#ՕDCʞ >TlQR-{$'_L^^$.@N11d>wڛI"5 9 w$ؤV!beڦRịt;$Lz7p@wč Ĝ2DB.$ o"Uwk8xa I6>Uou 㷔5҇p>M>  [V'G =[^o1)A9DUDo28'-۪*4С BVJFrDQIPqz@ϋe<꧂r}=ĊOYme#, {1Kk۝Uq崄}<~]iS)(H]+RO-Zcj :PZ܊oEԇ ;?scoHRԋX˙'9S=n''˯ xRakVL2u-R55O3lYByrD37l|CKMP ? 62LKȞP:CQv7aM! QAhF#!Q)RhK#= Tx< BL8}!JbVF( 'Lm:~}IJ:!VJ Nqf$J+?':&ޮte Yd"""X-(<40%%% A<)Ly4*- IH`͛u1&톺bQ8+iV :yx7'"NZʂ(Nr]_#Q3QN)FbCQx% 7lP=T CN/2||'C@\]Ɍ1*,t<0@yG &&T-T F5&K {Jgu;75s G;5MR<,abңu(oXLɌƞcL)ww SN˓t<^ }%b@)ɞn?c2u욅_ <%B9ec~1MwOb YNdMp|g]Y(T-ʉIݤ,\N2xHAff1m:dQ~21F6祜Xq.IK#zQm(,6dK:$;\^m\ez-@f*HE^6^Z^aI0)I9I{Zd4p&he$ކQs (?M` m8QrL+^:)X";IUx Kx1uoU>ù Z' Ʒ׷Ik'䲎gvg7iR1wiVp< i+Ψ䰜=H40T=wH\ݟ(0qUKקZ&ߐ y+pu͂VM;NX%D9|˩"^MM9. ًl[㯼ł*ɚ}vb|o:o0/r]82r2W.Gv5.mM9} ZCxE[ۮ ޗek<3uoqu_l+#ˊEP=GJ/eZIn磧{2SWY}|F7Ԩ q0m/>^:=)*瞳onL}ul x4vSV`ۤeA`E8JR~u=LmcHhHH4vWTgTU;ܑW4!${$ʋGz¬TQ \B@#R*QԼS6"}|vx* HuD ~hmi4_^Kr:zN^/\ԣhrTM@s05ì0e{ qupD]*wWkQQe)΍^w:"2u\];s*(-,I7c'f*)kTg͕'u1' Wteܯʼ{2ƠT (Ғ"@P E/E%,|0Ns@hsk{&d/Su}<ᛩii"$0 4wƠ:h3240;O~"{aϹw--}tu 'A"%JBX;ꉆjqmBv#dPpD{-( (BfZ UB`I*`!"%搾2.AA) DG}y@HET^8AqNCdϏd:}3d '8d bBC®(44IP9{~@\rf.NC+1)ilcgGIkՕ Lx5^P* CXN'e˲ be{ץ⁘HP={7 k%AR;!L1' 䐮\{_6'G _@,f81=/{Ⱏ ҐB` `Ydb*n&TkvGR;0'zz{>\qd?c#bm5R~8۰V1B-m%hB&" *L(!m Sy>95elI4F\ĻVZזRa_,H_: TJq99ӗPa9WjaOL-5A /Z›TAL=toߣ%>#: Ɔk 8ݽuN.>#F/vIY:QZ0էVu32SӚt[D2vN'C 1cCVޱ0gLa4m;acaA1F` `{?7|SצH˓Ril ""ŪvtMU3hJRT8*Ha ;fYwiG14F>eJ0H~B$P0WN|5f.I@s^P J<)Gn S2%A~d:"{S-z g(d"F!N!'M$Mʐӯ%}ALJN"FSYvyΏ )R(!JPJJB UT"A!! $(*t `OyG}ޫJL ¤| 'xP_-Mz@,SLB(' ac2: 5YHw%J#:  6XI]vE\e4A〙yaƲzt< H&8Pz9 &uh !о@imҝ(O JB$oX냇A&65@9p6((M[U‚C40B(%$jK+GHFf%$ҁ(7ŃO@ÓM$Cq"bI H C!"8f罍<;}oϓ*(ֶ,GSSdEوTѵ3ųjr`9ZPе[vPvG1JTPQ975iR眙>6co8X^{cёYJRଗ~?S"K$f PsU<<4e R%b1K v8uVc9/Y #~u39`ǔo0s)(,aNiٜv ¨4zwG"P^Df scJ1}JXe&̸vd];涽,o<hUxw͵e5!b=Քf)eALmpR{4 {řiS$+*"j'kys;g>0Pu5R(9¾)Q|UUzY" P9 GPĠu39Fԑx:'V[ ޹8reVU#tWf䵛eU,ǩqc_{z~}k4vu^tw+ݗ&96+w+Od\j ̍Ϸ'y(ϕ}|ە8$VOÉr8I7/#mBVvwB$e$u- 0еZx㼾S$FY߯&j~Ot$T&KLF=ϼċ^jzU*fl/!!ɘABP*RD)J+@5T%1( ć~/ ;gCt@G  Ҍ(c# P $ڎ>{I nP`!NǽOCbvQ(hM.T3v_(E P&% wO1>|SZxIkzZB֛|JI(^טqת|8@&ŸSrϋ'Gyطl3R/>1KlP 0d¡d`L]Q6Gh8ⲽ}[ȩnyqS$ .>9ijvYJJ ДgCbo(:bygR^N%x^nS+bn|'uX%Ԕ!l_5Ra i]@RvNL:17Eu/(iekuwptf4sgo {0cQ-\K&|Kc92|xw@Rs)-8v z}YQTukŀYhi"52z*IռtUŌҵ F^҈RQ+ }CԝMqfI ℎmdzfn;QhWio)<>q 8HIJ( OF\n^µt 05Wz>~/u׊=u)$ee1?>7{8YoH%-1Eە9~lJQY\dS~j0Ǫ{3eFFʃ:aڤ|oTsۘG+:*ԕrJ <.=^D}m9/:_-nt`) .sTd\UkyyBĒ0i9z}++{#)@RtKYUUy'hqb"%˩ݙ6C;Cc @!CئJ]NPg8"wX~R3"H ]bGxsd]BR9[DVM`Ns͛wz㢨'edoWЀLCj2z_2ppP1@u6{OGm+lJ8M`k59+/Ǹjh[d0U@3RJD4`N! 4C%  ?#cض ҇ӄ4zZrɸ -߆!Ѝ6]r}K>E JY vAd cW5QKu鍤$+hXXlH bRzE;kh<?˸#|c~S !2DVĐ1iFe'Y:i8 Ywcf*aEb"PأKgS &BSS[S#{zHr$;)JAxˢ%;NiAT I;zH#8i& X탨J(C+Hkb% $a@b@h .p:""4 R)a(ْAaRqwBۣXL1txNWKC2  VP"b7iJ' :z|t5h4KBxY@Le @bJU2ٔsCǔ ϔ+L (@ҩ`A(*)@/x݁ѹ )p%BVN@vPRQIϩo8mwK"I=oאCĉJykmC2B5!!I)G1;Mɧ3=g W1B(*UGXCK򰜓0`5< k\eGC_7ǜYLJ0Yt@IFC%5C⠉U3/wbl!It & g^LYEA`BJ( GŽv݌opl>{ J4A4"Lh׎쐚fā?LvTPuve;$(Lk AOJzp2}R$Ek=\=#44ŗ4b'퐏\q f4gLQ]QzċcP!xjۨr=g|^|7}Qb$rS\J(Rc(pJ\p i Q|O{'0\JݏCɐh1 #@c9˺=$K!xYe` aSk/<8KF8a"٥71 1f1FNuٍM`9JEj1ښCi`m[iiJ 15 I*H3nOd<JEDXj] `ZULJ ΊiCX,JPm 4REB((JˣDZtEN)iQ00))4&h"f54PP[8hQ4i%9Eb65Aj4t&-`4.΋kINctIBi4FZJ8&CN4UaѣFq4JZB{hfM04hi0lxn K O;Y㲜t檠@"/Q6GN,l6P bBXF Nǟ\װCZ @R`|4I1&#t~dҧ|96I)ݹD ??゚2oJ_. <:zz5t ֈ A`&S+HlFPt@aA@xY(aIrSC?G@a )6&+fSfp>Ey۷g#r/Pڈ>0CGKH(Nsn1ÐD/PBrԞ(j 4@UVfL0P1R<@SKsr@wzo?TxotAw)z]?HqDAwDL 9Q靨@l%(uB%6hd>G{ jSN{`RCi[%h;ya؏ACMgzrwrm0OM5?:;]HdTUUDBA(T :,gn@N2~Q:a(Ű%P@ASMJU(ԼѱQu~c"w@6cq^L3]hѤW =!hqL* )DNЄCBWơF)TJ )V(V)F>WӚ7|6c7nQjOVuLQS" oI~4ytO_l6!؅F , >+Vgڎ|,ch<f&2B Y8`jH d4O-rpɄ!2@) )!J8jG3q~TOʔd~L=DǍ;L xoߝ|m d8a{M<{2wp$xiAk?iAq'Zgp 2; UA$@B>@=(ūC z4Ri hhKMj !F"nau P"DZZ^3N6$I3ǥSY)| .'Cڍ:GG :%gG^#G(r Ŝ21lLF/ 12y"ddLN<Op4۱4, A <&8Ƚw tND?j®,PݽٻmġI(bH*CtCJLa^Bi QĄQTIJC@(І`QBBQM&E,R֥AC-q~Ya/rR 0b@ uDh|t B`` A3 ݆4)7Oߓ ".܃1"bF&% Tӯ.Rp/A)Zt{I}Qu,P3lv{NJ—D6 N%Ӣl聅}Q0ȋH,HDcP3ϩpL50 @;d?SU&mG\DmUih  hTBLO(SȘF><=0`Y~0)r8]x@|o?ihG|'N,yDE5LTմ=aza(-agwA,!CDPD~CD&J)* XExj'1;_q(iA"  Ẉʟ'y<;L _˳1V1QU2IHk誌~Pb&4E AVS-2]3;%5 I@RRPZ&jۦ/6K3y ݓjF<Ƣ O6T!vv1:3= c-DLLMh]!hcI2BSPJTRE d(-;`nChDM$QNWX֪&`".LGVk`7gED^q(Y IJiI*`.^=$ h4[!HӤ*."!IKQLfP)mV4ytuJiQCmAYKGEDF:aKs5?wb))AF\&U;CԭqU-uKfM6mBDE$KzwOGϫ?{)ɈV}ZmFk p>OPOŵGow0ҥzeE ȇ!}u) S1e H!C̹J""B:!3|OB@(A0/J{ą "R:]"j)`Z)(" J)"&Ph`("Z6E4@4R% 4HD4KB%!CUDKSR Q,ETJQ@*Sҥ%1SUEQT$E4MR43+MU (RpiB9P`BZJI)J$J Zjf))$*Af* "Ve* $((b( hbXhXBH N j9 )"HFFBJ)`(abJP("i(Hh`()Vd*кT0@QR8()J ()(BJIR(*!@Z@(H*m@Ѕ4 @#BP)M1%#@2DDZ0PL4-%RдPR4JKB1+hZ"V)&)XRRJ(( &hI(JiQh@ib*) b"@()Fbi B%)F(JAmiZB$J!)i! )]:R֒QDbD1_>x!\=a !4A !UBK1 Lā2]Uwt'I\Axhue!T?i>uLGLsb5LReVBQUi0EIF1'c9kEFg&mkFh%D"٠94́X nUi&C:PB}ux|5yry@v3 H(n0FiEdA !DRW޳PQQA 3Dݠh4p0 iH"&(JFgpT=nBEGl_jq'<P5}W>1NmTLAIM3 =MDTTQ SU DA#M ,CAU%BHA$T0DBKCT% H EAAIDHĄbYjT$ ia myOct^܄@l"iFbXwt R$B6٦8B" %$לe49miBSbnSi=| GZ?~¹!^[G qG#?>@;b:?j8s|00E{tj@If>*iU*Yjz!뮨?{J1&[Vi3:bN~)E\޳yܹ+#'&T}w2= Hj3& [uF,=MM97ݛ3cvmw0al_+]:}\~l^2H#h"'" }UCjɇ䘟`ڈ xSuڿjJ"(Vy.0gc~0MC>/#DǮp?"sryڦAP+JNR9)Ҡhd ` :ah|g^"v EtT[9j̸kawM͔4IfrѢf6̽,DfEJ<لt) 5(26LNWb.{ZɠT( u1w \mcTBDUY( pA51FqFU[XlCmVbuК6QV-j4dFcIAHj&4S,zbh=]6~l?y~_|l~3P%R>w~9txAY9d] C/H;FJQr6x`$_*-ኚ611eyiזFlb.8c*&Bg3ɷd5!7P3}"EH}-tXbltOp:/rN'`!uP7;bMLCT @<ҧ/ϗm@y߄09hhPObeaJQR @#ȏ(z0 RCBU$i}z5F{/]#\cYfkBC#lsARb1Jйô]`?F|u>a"z2& CQe`RNgLBfѶ$DD$EYd:[j;.&(>dUL e_R#HC%!OJXB"ihtPRA! 2yDҁU$43h>0-!0$iЍ!r µs B@P"4 4D H@Ro9``u8 zC򞛎휆4wEP$Bq Fqa~1@Rg:*G =*z/sw#AT9I4|uڼ&Fb XrL>ǏaH<#a}jI 80%7!)_R0_)* <8ҁ1E4-.hu42 )M&o۵JJࠪ +-|$ -3B(d)crؤ" VCM3TGR3bC&˜ טz4 րeGA(NCE*: R^fCU:JCAKXrQ?0Ί dίxD{=|?}hzbSpc{h>6mĔah"ţG9?Czz'k` btCCAŦRgyp`fru,QR1it(ńq:%!s0f8?Rm?W ˗Ņrα')$=2 cUCpj+LǤ~溺R[A0esq3E IŁUy-RPv(&VE w ^MMUI4V >L»UU 4SݹhP^V <**ҵoڃ-o6XZ¯s,sR U͸eWeA_K.ks* Q^>^}yђòǿUk;g AY&Tij%(޳4/:P /&pAQbŘBgU?QC]K3P7W>{塝F^: OgtcV'zPeFSĞU6OK"sLJuC 0P5>Ֆ̽OUC-P:eyyEk홳f;E%㚴?as5{n5Ej²&8IFS15F^M̜DZ'Jbcݺ-nᨗ[ň0o5r;SO\Y2ab{FC=䜯zZL>|fjTd6irzv>rE/KY RKU9Ti ֶ馈N#;'or*WU"ϵ%Ce5ֺ09 ƗRNf7NxRVTXCQ5zw<^E:M fUcy  I[x1SEPlȑv!Q RKK9j:_$}}_Dl?+ }Aw!qf-?!ίo}:6KP1 Du@ZSQۧ>`{;A`9y>M1 ;y>+̚A`!3O*Z|pf@6p0IIϳ; 0l_5rs63Lvf-"$(Z))>cl* TH*p B8C td1* )N`Dt N)NVF@i9 FUKPKߥ()*s|x0U 8=d ZKxzʀr߅O~v?S S!ICCčP-P !I%(R_Q0@Ԡ4KK34AAM35JDPTH-J42E%EMDД4RTEM$RLDQLTEEI$A1A!+lI0T l!H))(b&ZUiJ )((Z!hJ)h` fi$;%5)R ai * Z"Y)V!(bIJ$X (h`و R)& T*HZ  bI j$"fH%h&e $h*ii"bJ*FM"TA4 ~ 2[1SǷb"Ɵ7pwʱt΢o O(uRS#Jz>͐Q[\rjhݝU6¥3#A0RB0HL 4ED*҅A@BPP!&Ӭ^dIU@ZnD`4>|"h(왉Nؘ $h:h>F ]e C@ 'Fu t]D  ɡ̐TBhAPEQD4i(t+2u9@&?^GY!)!!iB !#H?K.+͡ӀX"]b!#AJcc vR% )%j" @ PCB:H 8Hb?izB.PЙai;?dc-Gt4Krl %4PbZ_B^ߡwnrg18rm c Fvs/P$qERuHt%{mlY)qM()LTES5@G"ar:= Fg/-ğ^'"|!# ";S20+Ę_dE:|WM1Wj|1s2'|cp@BkA )P5AU;T+^DO:T:|ejzJ!ҏts=Qxv8hL%Bv~nNìmۍ1Kd%v 8_‡c98ԔQĎ%A}"*,JB3'ٕ D{CW"c_{`[t0lbE H$ZDByGa Ow2t/uc&7*'F$-{L-mbz0)I4qF@ފz:"bhhilHnU2G[xj t)́==񢚔4xx 'CskYyv@yRK e~ #\f  uDj2y:=. ? <'Su:i<舉y @(P5K (jj К&hDӪf([3~Fܫx *E@B,=g` -aXPm Gl ٟ^E0 .1mf#DaYHiGsv5 ,3#js; $ sj=%jdR#nu7ͲcbeEycd@Y(@S3YihtE]s:%?.]_e8%1(-~٩كv}gӧ Se)JZZE$(T)@)JU(TR%ii ʂPDCzϿ5oGh(Hnd8%!&Zrxq 28S@X0Q*~_D^)DT=.+!dKA; /k[4M0Cjm4t~Vl|F/rzߝܰ1xV0EJ&?3'Q~TR[J^?'ͼ6pͭ;ޒwSGn_AqH="&AK"~|z$~{{cD=v6/9"AA "*r[thj i3 ĕb` Ŷ~T<̦F BTD$܋۹9HH` :#5S4>YoW6I<:@ԝg|[ `So9I01L},Cu_C>#;ɕE%D=󋝸$HyIݠ2F4ֈ3yxg7bEsK选̘`4#-h"DE. r(P! JDjiOꔆ,ʶ#%!vƑb!4hDuA2%b{|Cư[R.'Ab`$+h# )LW&;M6?ouG.NA$׆rabL9֞UX2%gχܽ9Nڵ)k\ ܒܖOI'z H/;.} 9TX:rLل1%G޿b{koL?itX$;ǫODsq ۉ֔э،;fyy?Xf oE)vU ?0; !)9~2Cn)_jw)"o?3ݿ3.d)d4l {ײַfO O(@*H8hzcE:߾z/;"yHALPtyǜ]_\҄H#=ѣDl K  |]"G|| J:TWO'%U w!ۄ|X̜j`ā=R)1 *"Q 4 )A M:?/ۭBB%C<.%$pT~L:dV,~8QV}E)T15%Ϊm P(h:xfVLAw3t;y=0clP|i12UUřQ`N !v:&YY!zŨͨmA*rZt3هW᷃5$QiL):C'jё+M  kU]ݮu*:b52]jVj=(m`4ؠ16\2[GT$TcQJm X0N7Kakse 9DrԎư;J0\ihrs es!YX{M) LPC%mӣCwYDG냤^*2F P; U]TlŃi"bO3G/ f׼=68$J#|I=h.~aYZEZ% -r}9p+|Z"2W-b"*+;BU|9{_]Z\2BVDV3P9 7lԜ D` @P)P!bH >6HvM©y?0eScׂ* DT4)#1DP{bB)y 4v84(PTRKar 2zG( u^z aH+0hGAJV`Vꏻd`x&hla#X є\nр1 Km1^!=TPDL4\1P$r")|ʑ"%ˋuSZ62Ij&8@`buMoAG銉&2b#k4C GIJh 6֕"ˣTrbK2Ҷl42tjNٜwk:j!$ƫ(DjKicDMPv0UAE [|GIz)66jd8BT\#EBhFX|'tvCOn")gH{Q-#UIS=jGu6{$C$p$l" Gzf+X/Na2kdBEoAI& q1J'gr&=w?vOaN]g(x$+   i®l2Tl SHwrtt5`><lx_X|oy(yh xAD4c !SF4~{GOM/#tA?HQiѰCI;Yj=_HrqJ"22~ɮ`,YMbwq_B/i}r }Y5DB7)Jqx djb*~C'OO&8o{١i.$s}@=(JE8/hӞR戰aD1 =hZv<{rP灳~A  w {ϳ`s!pMD"L&̒e,)-tbh3Pۙڟvt A"BE . 3 "VkTN43DAŨjbn C"jt]4R@HG)"o/̯;ld.<914HiOB$!qy.\Y@P߼8 [ lW|x0ҮBr֕n 711"A2^ ̋"4Fͅ1E~iHݩEĈP*!!oN8;~~^No2B=zfV&%b"}_'verϛ ؇?&Fo$DP7Ͳ u;qzq$0R-Qΐ=)~.8~nsC  6`)(+:ƅ%HPbq! !w>͋GgViO&zAz_CoGTdi6tA" y@P7=8L(UyC]7knnX)n7LfcCrhgn"Z7)4m˱E0LBՉ`q0CHU(Pht|/B $*&m2AC A I2$qoECI ADxt#@W D(S (}>(: x<=r0|)t\s9rUM1bV5VaM-…LAx̴NlBƏD!1iTH3XSy/0%'n$CѼi^fjkg_9R]1i/Q\ӍىIJjKiQ̞);tТŨ%'wX+r^.A7 rKb#i3,T]an `oiSUYUeyz$wfs+e+bԌi" pi-h/>NdŎCC'~g;>)B;sě<%j2Ȩ*2EjP-F1F&`C,6YKDS%iEXT\ 7c,z tJ=kÖ]n"HEpb4YG˾.W$#$2;Jk;u*nKlM͛r&dž<ո"8``E&)*/ k%/lrǃ?MXuk?Z;Q@ vPgF'qÒw Pms~$ _?OO %>_'ק <&$! $h 7pWŝƻ^68|eߪya v^~ |< ӚK4M(q9t&?gB D6y4 i>K%\201M kY Tmh"6SDC1%biMjDAPrvW->DPIpŖ3>ym_B` ɻv1By;$||:}q>Mu;|9v!QBd 4P"B7(ҁ*JE2HBo0:BdZ7"ɐdM((;LO_[g 끦J";@a =˃Q`GefxG89T) 0rC+ _Ve~]dFl/Cr a. kS۠Uvn\LƔFV(MqmmU2ڥbe ʛnQ#8ss3}٥ \&3(y6 ؆15H,=\Trw:>81~*/K TI xSXnKۭʀvM,L4Le3(PӾ;lĈ9TĬ8DT)1O]YlݥfL'yD2bGG{)SCL,ECs )i4Cgc:t7mwq6ڰ1V γxH(eCDg|%ӄNk&21J h+է%9k<=cH] 4kPFrsc'A ARIzE4kNC&* )gY[+:ª$j. lZW bn mi+#-!n`Fwp07jv%+ÅPWU; fB[aÒ mՕKf82yhVz0@L t)>q s!0t!#h˞Gl(R! B~:] B8m(U;C:kL`[V@TWĂ2,rb\Sx/>4T_lr,ATäjc8!u4+pvi>[xt`rgo鎤B\Kdc!|27}Ļd?84 c_bȆh)9r$%"@hvgM#u@ɐ㲇mB҈As3:ւ\ K%S4d.P~%u x<2C?ZW_>f0(b&sPL^"c>Z :[l WDa,㮫\1;9 *_TykÖDOzMHӀ;ۯLA EMO>*Gꌒ,= ;D r)Ag 0tJ1CQk H[kR8ºJt CU@a -(O0J8]p RSD,EPD#@P* P| ʚKXt!8OMrP>T'.!дiJF IB%N*t-1HI)7'H4Ns!H$@"2q @xj-BhH0'gM+’כ>JKQ aMP)4"4NF64'B'SHt QAPYщ)0J|ظ= A%'&<.*b hzTPPVZhCbWC|aP_Na)PIH A44LASe,0OdDFBBHC@.7jF]s*rgCGAu7wHKɰ0,V$유0Bぼ*Xfb~ pWx\FRĞHos+4&2o9:IAM.r/!>HX*$nBI"j&&i(( )*joU- K'M&*֨4b" MTLT 21TBψ|8]ǾjMF.H70 aDP  5;(X Dńx*rs6 P5&>?tAH=n}l8bd| ,C>54%5UOAh0! ЁM"ă@@(D҅ i @R!BHTJV@!(DPк j ?HG"sH@Ѥ Pt4HPRR| Q r۔xjR>@>v.`ӐDuڍfb ]!h;gyn-MEwn K $DFeS۱!z GD5XR*iџFpKʫp(T̀LQzl/ uKk]z*|LJ!2/ B%k8 hd͠i0$N)SU_L 3!kCmAM+T%76ˊw7ڹ'VJ0Kt^Vi#%)8JM](:h)O簕- C lN0t]>PN@|"o@%?CLPHҜJqZyׄ$MG@4(t!\HJi0*cc`lhW~HȁM u#*C"cI$ !:&Xpz4MRIASsSEdB{Dz>P @E0KHBĂA!26(0߬/ ܘ >'` 4N4P= E) E-hAKiUڬAd1"hZ!]aMvSez4Ge(mXZdh l* 4a! #GO])8 O0̭ uHE!D!J(eU?I`eHNɈ܁BH|*$t'2`V̠P1e rhAj(کC^<+v&y KSf8>@iZ  J (.i BLC )JT Q l#_iNUÄ0B ܧv}x_UzH:A4̡IF:`<AJ1!LIT14RG?mO['ЀNyKa0uIgۭ]ǝR't7 Ht!+, XF8&r{>aCT׀H9&qqҜ.P2#y%ԑ% @Re2ATQxun@`=#R$D({^W2y:41aEv"^ؓmQcN mSTKE'Z4o uyIP aXM7FPAN4.B5lo0`!>" `h!@DFbdb LCJOLA4(@HRPR"DJR RR4UR?ǐCH(P#B4T)J'lO!}::)酂r@` )MpT84sAU1Q҄?΀KCx%3CD?C>CbS3EĤY`bO "<_?ݿ-K`NT\`ėýSv1T А044 ]!e'~xSWZ{A68tpsNxhqw 2BfXXc2hiuGvxp H^;]*JCz`$BDgY׀Apq#׽qP 4P*-" JE$$@,JDL0JJDBC Q%E-!H gn"]J0D - "("P(B3RDM@TУ@KT4R4I uAAHSSzICYrL((hB)^d I>X3_K25P`J*H* 9O B?1AH$TGHJJ$4Ā`D{1"0" `uڔ>fH!aNJVT>&M@H OmP*@/@t*A\B'bj 7 4BS@1O݌'.3491 O0@%#B A"CSr,RB 䡩@%"C]O~"Ih)'w<'`H3?*p'i'ȅO0t߈l46 :d )(FiijBJab """ F Sr_kF!2 ">Bv8%F2h0ԭ#ĄBm¦&(lE)JtCHA:DJAT(l`%~@ TC.P;@$hb^WL% Tb&7PAI20Rbɓt $rQ|H` )$zEafFL)9&TکP2_<}k0]ټ.˃$Q:T96a?fCdD GY)SceCC´4@ۣOay|0̾;F) +Jhp SRPПL:˹O(7`.J 1 ``HSJ28PO;f{fvF0(w aw!] (2Ř(ڝC i1`h3Ʌ ߒMf {$tIQ G$4r^|(IU9eQ /1!T4SQ$`H<< vD Ey褺J vM(z4p<録J,9(lKqǚe .)p4v֩DL"D!A0pqC喥 B(;C;*$0Ldp(j"zeA^/k074\48wK^SN΃;Yȕ =Y}eY%ꕈ1bU5Y_4(}'2{tдh?y!䦁tPP2w@A"ǵʩ0EO`鮚9n'UTM⦜Z 5=^}kTV&e\σUOslb"4Nk}8` y-AAp ;31>1?9余8ab#=Yu8;042iJ-a38`RXhB]^jgSvH@b|qC<:*@Lb(\`q S}l88XTܒD@'Ɨà$B$|y 1RHRĂʇP8de$ 1LB9#!@M1ӕx%0%@x̗gCrCP=/"(B@oޞ#V~/oh>vq/|&aTu휁$h#k>VNb!;bSwO 2X1lU&aD$0xDy28vc_CBS4mGB f} "\hŀߨ1ZL&kKQ*Hl9y{OBk등 CMMS/$ |~@MTQ`1QMF$p 4dE#M iMSQ[8j11)C(vɚ$"FaQh 'S0ڋ;OkѧE" !@`" e%(@wy( =)>,=%gUbwýMw,N + ^k2 +ePVذy-\EKb =Z %H>_Q}ISPC,pnY!02]KL1IU.g1"N׃D} UۼqkHnίkߩ^[9@L8ʪA#Em^LYmER KC;Kŗ$LbFSe=g~ad T>?m"9iM0q)ꑃWIy~>4qjJT)^TaXx!&R&  ĬG:QEV) Rm]@SZE I6<ϜeX EJD& (d(Jb H!*<ĤP$1uꍠR*,*%;R/pIJL1,A CHPoL'['3؟.h*q8D:QCfba= (}Ʀ~&Q? APTF@ 4Cpu`c֎ =q:TAu;ìN'6/Hx`|Cܛj@M\ۂdēsxQ"Dw?n&z8zOgE("bf4Ipsٞ P5E$ PQ*r}3hyeEp`J.ti|wJ>Noۮa)$ F!Iu@!JD"SAMyWXӱEIa֝ z*0:k5ZdaLdqN䇮kA+v쐬r&>GϾ30Ht=]` BySp '䡔]`(~$qN# s0L 3VS҅\"Ӊs(L?VnCcUa%4q2%'A0%7n)m8g0j]|PqOx³oҾg)$- С6(*f;H=ynlȦ`62+ L!SM p:zhi @h 4TT1(؃Ly2)P@Ӎ N )9wiĉM%#0t!) )xg?]s9p)Ĵ?ArtLƍ1؃ˢiŭ0k(-e D3clgya $iwtJ)P ż5ty0%"RRrM~1!Sm0[ܢ9zdnFAHE!XE5EQDL+ - Q3PI JHYjYP(&nóWQ@?cM[?pzow!_$>ǽa1ܕzy˟i\@JOc`hi2WU\@*#L/:=gx^@&%a b*݌on1tPSH[^q n1J[L1kE75ݚ&) S l=7eO?s9J>2N/H"l4Be0B! Wg @UW\&IY %I"A4+cB1/:x$9 YtS ed o)lRI%xRRA" D DCT!̝d56Bn?ȑQ "JA&R4L0 H PfWIS(W,1PST;8aH $ #=Su4T)x"8|$DT$0@P$snpe۩e eA}'prL1n`.lmb׃u.m M7! `\X֑F 0 57 T-y%Iv<^Bj`{8IҴ *.ptN89w"lC7@7 LB "u͡sC$7K&;PW\E`lPStƚƱي^ G\\ՠR] nf aDwS~ b901ՏӶlm'~D. yqw.PQJន;)0茿dHC OP} ")< OLv߇gH*$)JI!M$5PBDBN KgE B1R̠aGd ]t/2麺ܯ/"DxOcG/VT5[k!jk8fTiLim  $9tT0\B # uKKmJ |T= "吊0Íd-xa% >es&!~SxG'tk!Bu`g&!3Ɩs=(z"$gs|T<Ƙt #~ Oe. ՙdt}VW1TP1)L!'r?/&=O&4$ )gT$:؏p2m>a",~FXCӷHSYb?戅"!Y""i" %F%BJfL=*t*7JDG6_b=$x~Gj=ڢekh64IM@SA- ԕ'M{sZ hETF$ݺ٭8(%60IDA3HPMP4DEڵ[bF*kgiQA %#DLF!?wvoG _l75Fb'YO6pi b1;@ɲ4hqRO׻|h (* {pWRv>q?'v;~$e8c4⠆Jjz*dh1 wi7M$NNÂ`"*:D抐`4!w.8 DTE:(i}h)cI 8L0[ihgcC,@i!*Faր`FHmL% Q*{x֎ʚh(/v"'jFccRŒt豜>״Gj1!)*TvKA\Icwpj:T`Ů - miɍC)n#v1+lcd(;U<:.6 ŵyO]1AKv4 `d((тbbk6 ӓa&LZ &%Rt0&V#kA>zxHB!b!:e 靋;K?szߴ`6ZQCX* *K)\)soﻴ Sߘ8&+:U\K$kyJ/!EReFg=#oRVd1K|u (PejA!hrQ/>ߓ Q̟H1ƑĒ*bUݵԞAЛ Ǿc]Jus89U6Rqh@șrSC6\|1鵏':K#U]TdSjk>]fT hXrbk85Y o}g\|]-.'u=(ǹA|JtI%1%^X?J5N[QfQF) Ys;It=m*_fGY1iJ+95J\D[~~ .! 8" `X\M&P9uomZ^=Ʌ4dp5ąLSwDg>:eAI(Ҏm5D28E=C}9g)Fyz J7:0jxhkбI$?v ¯? f@Ma@HE͠H]AAl\U·ކKJ="|ע]:̠h%4.e1}b^9阖u߷(8K*;P iL"$d_ ) BԞb/)Ao.DhmX+whr!7bzng$:sbbkP˚ad*e.S)ydT jj.%$bYX*3 'A>jLnڲ&KJBѦ_Jxvu+1T)~L3GU&LEi09#EwR89BJ̑-eۍ+I#>"x$i'fm-wԦzDK g 1$[ zQ\&̦$ GJ}>J - !$jf[+n$N+D yR+ u"z|jRKXE͆Hs֮*/U;/H C{ѓvCU1cU.tl+#i'LwJ ŝgY &#A~$/dw{^eJ$!CcPm52)Ls$ 0=@IZfNnM4<DžݺpԊΛAI>)Lio 1U=մ K> 13*P8>t4*"1EPBE}!K/X>7SM%D(vQ l8uraq@횠+%*a= %ƑVzWHrC\an cs2k)OrsGU,ޤtwFn a@/HAF?ݳH=(&LfbM.8xC I2q8PJ"4SIB0ާ '=Pi(T N% P`D8\V6^=]i錉zx FV-^3{yKuHT8bB3w,/VH·b,>*$I䈔BaNGuc ~~Y=,-%F蒿'yn4(0$YeC1aF$H xUG % 26*+9^sלdS:0c muſ'9+S*L~Ss 1bC282f:]ajmV\XJSJjƕ25h.3nEURBڛ Lg$RSD>)3B'S&mc2͔ql}vQ Ҳ+*;͹۟2P/u)3ʱc}z{7jl¤CI{X d ւ)"T:d婔Zʙ*7,ivΊ ]m.3ѺN"a8gRtL[BD5m[ac fX,[8IV.A:'U(KE<5$了@EΖFaH[ުN Q:{es^cjqJ=2KLn:m8.JQEGP]k BdjZZ^];i:fr1QL@P4(0&I|}na! J#PCGU3>%蹈/.Ĕֲ҈e{ؙ+" ,ś܈$J'1%atѦ4INA)tSӜHXV6,˵FzT#N 8W=߿SڱuϫĠ>jٮJB pm?VzU#ܳE,U,_ _aoּʞ)x*UF_Pd7M9 ƜȤ.T& 'm^b>5/Y2(K͑0 R@ D4v憕Rrw_l/Ou/4(g*=)Z3jn B(Aeτ=WUxU/GYIᅩY6B2Y5 FG?IaqFZF)hR\~,߯c0v4HC0otq$JR~az$C,癟زڕ֫5{ue,dw%+xSc'- JZF>Wc3O2qend':DMeU:>M\EKBi,aP I1vܝK)qXT.Ъ۟yI\e*I)mh/Z+74r]2z(KjIX 3c1U;MFZ6T%`bA^Sډ]V'-LbKQg3hܷWr;f4"EҒKk2Ot|,28.(m@K.U˜CwT;do1? uy'Q"U0b6gqҦ8c;>+ξ_|ŭ 7~ظJْl5}ώB!haYfJ$"$q`Tg5RH>H>dT(/$>*OPDZ :B.li{PQJmW0:Bњ̆{;LV)I\Iޕ;3 OSJ",&0LcŽU~ZS5dNkeg45&DN/ b߬ Bu:E0KRLQ_Ξa'\Bi|chɘkFoYi^Kƫ*BnJf 2Z.ZM]ybJ# &0\!ΜzaNr# b"01 *45JI%`*/wB^ήKD($ Dp1RRR$ (Ӂ6YX 2n0Fy|EXE!f "XCt0s‹N9^2eLE,-[ *˯„~X<*$)g kn844BM4R < cLi@ӥ_[2'CEC'Ex:bk x8R=BsNLZͪamك$ǾDI3Rn t'+MwbTjB0A"*>[%&)V+9Jj4`F)tJ,AEi9Еo3g+H LM DƔ0FB{)CbDj@x QE3S]q@t 3|9dx:yF{l6ݏD$þt`5G=>s ;9'ug`/g44?VA!Fq @bPHH[\=w&Wd>v".0HhB/ mò'̑0>߸x B >&J>>)Ng+ @H'L@Э.OŌ>.sKT$Qb̂ˆvmYQA!]?Rct6gU|K4EmixPɣDEU4ERETIT/0䦑 D4DHU%jД#@+BIPҔQHyp  o⋯}zG* T<@`'(Ã׼(w@@1}٫FZ4h1vДPD1 S`J fDkLTCC5A.iԕ>DlXDJ HZF"+" UIPdIm%m 'h\&39h즹l32ij28nNa}ʐ%!ޝWl\ .h tWvC9L3!^6w"ɼrÆjY3\ %$Sy,DFjo4df#3D/99BգL2jq˒M+K9nQZ m㒎لOe %"Uxw˅sw . ;AGCyϩű7rsY鯘yTBS#1>xqCM&z#'LLcN#>]e }}t. |❨0fNRS1QD I D!Q(ADR1E,9paAG 'f|_FMP}gE,M*{ `O=h&JLTЅ[yl.w'j;\c aczu좫28.MK~ue&ގ]kYvJqgNjcda굌&]ReE)IqR{ٽB䘅PNfm֟9,BlOb'|:{ܢuQE!P4ۃglH5129ǫ}j\pDETD!.ސGzDN/}ԔSf&5¤1Dd LU9.ϊ%Z#*A(-ʯoDw {.^+#^NP<$!hCi5 HdcL\D|^FYq&R(3+9UY*ܢvHTnk4 pRFrF$ d8 AZS#B= (1Uӧc'HуohZ>\(}}M7YUӹ.ԘtBC ʋ=%;&{VC+i\`XFQ.E%R`W3HIA/ɂ5]F>I^ˬ闝,U%utsf:{OU\oZwx{}"eo]]kH(H1$ɒDq])vUEfc^"I1 (ʼnۥ@29FD':A(XܾpR2aF:PijVR)K."q4XU/ID5Eӕ6rl:j*sT ))L:͢o :ZQ·\* ctvdJFލ6IkзnZFv"ǂ*5N FPvąrT'ipLbxه3X+=QU8FPYnQ N%I/D69w-^t$*fZ>` |B1\^z050p7pHtT9٢U.zlFBGII( [T28LK4 p&]*ƉrgS]znta8)Ԝ4=7WzTawg."uQ9LJE2Y$-a,z핣VbHnǧGgbJ`j:hDϞL]JS}Xk1dѶKٖ)Q9V/L{y|UMaTh*+lWz9ZfNm)Xe*YVU"r49{a# +B*EM$Z VTiBl) nfꉜF;LrxE1bKF( )NH1X=M4 "m 3XXGpr]3RۼhtD+k\ʷfJHޢ+qu}8ꎅ@@% PNa`TyJRjZ;Yp-M0QMg/QY+ +v P()Dm"Q$[XT 0s3.UWz:$e(i(Jh+ˬN-u4kSS#2qY${܅;>{櫉{W^Si{. f=]c +!4SM4SH} %LQ%9wz- h/3tYڦrl#i gp><30*XR!%4}$ttXSP F2'9;ɚr,9-HBc=R>Vλ̮_'˱yzMlX鲰5+.o-BT?צЧ E#ï&釜~q ;AE)E*:@ MAR(!:H ԳA#DJtB;pNfH5 N4BPCJ4 (P1U4- PkbD@Hg>,_>6<'ۊLI2^m5CCo/"(N$=$'YN!FαT- c⪒LI2d"A$\) [=B=?$q>]Yo RIDa9l;d]a_FJz2yNs0nmΟ)xixԻr`]%B@iPar8ZO;ͨDDiy6%)L42 {rʊ2+.) 㜙- ':9PT#(!LK7paCc39Ċ*-(A1kI WZFS トjN8zaozfg <&$ %@lVDeE`>e V jf*eK 2 1"5_fUL+f|(at .x/N@L2Џ3tP^Pu8<^#Z5:%MRL]ڡI<޾8TaDzn&{r%ZJ9n(i)""36>ju+o &gR:FyƇ퐠P9pb*0HX^ 5aF <2(: NP7"0pFOpF}S!Qށz)] A5HqILk!P݃k _I{rL$H{- H)D%5JTH)ADqH 5s =/bTL K*P*b$@iA]*hVP J VQV% ((  h@)(JARJTibP)%DM)JHRJ@4(AT@PPT$JE !@HEP4п.!JQ  (*ZB(ZSJP B * JM BPД4)#@ RU*RPH %P"% @44"RSKM&MM"HRHrbWI(SHEc91&3~ќkhi"(ĞA!&˭Ð0z3TD1ѸA:@P=@s#1UD2!4; t)xp0Z \K;J B 4@ !@%ҍ?)<n|8Lu,;u+GQWKmJq^|mĥ$L2Q>X`!Jd~qNr 0S@L-4AJЍcREH(ej1{\VDĎFg0i1FVJQGY"B^۾nu{qݦ#8bdUE% -' dK 8'Jmcudԓ/$VؐNqc 3i15ZO6LwֱRa"i%cB|bkFT'rDhe#hUڥr`/yGˈ; IGcGw>Ƈl3đy>sZ]smkiWAgl1bK#Z2 *;^vc<2 G.HC7{ܥ+Y D?l#b竍~# B/c"]|DJ@^ "xа4L1(PG׷(UpH%@dWH8$ -Hnz"fB AA[ nCL`@v5N"{t9D>,:O\>0s 8Q scp2a4TʔSsQKBt J"D :c6Gk'|l1/QLR{& Nf  2QF9 ͩwW(8 6Җ%O-~C ¡+1JZUSS`iFf`F!l0S-\I҆9de3!aݗ~+36tn}7Q5|&)5D2asC٧rЈXDHN]XEL eb2 "j"iKVSAE:MK )$Fpg 2ӹYcdM'BYYuȨ Y1p mjx1 SJao{.aB漚^UeELa#N]H,bj`\*kѕ9 e1Z @R6C&HT3*6UMTVkU8bEFbbhB!_l]JHw*NQhg!. (f$ZQ*$KĴ )1erĺuqiTEJm|P8 !b 8vİ&s9i @Ww7`L2)Gvdz#~xʧ.̻3{;GtsX|] yywdB4p44b!⸚I>K{88ߘ,BJ@Pb)"B ( QO8(kALؚtk0_I! b"a9x!{\%a.\`n2 ig"rAtoxLvZ戂*NGNH&pb_ z4C00y8`9rP9<&CFq," 9\5|e0`p};́u0oh(RR( j`H*Ad)@3!1?#aTOI5aV10[Ġ4_[&&!>C($H)(ibUE5ZZ%fO2q JJ^h8ld ~v<*b % @jJB GhZGdJYBӝi ءD4B4! ;PM3L%P ( ,A !KT0H4R8%Ǿl9sn>WNs,~ -u̓Ѡbws}d~V=tC.5ABhl+j| /~fE;i7s([,2arRf 3횞V,& ?A֨qlPa`bIhb(&owFKQyE LN#͠(O^mAc:\hdԘiȬeQխJAYe(4 nq$w4PEyܱ.q:chr9J4URVS~"z6=[_׳l-Vlϔ!D7%!5CCECH_hb lR>I[Z lIT]EDMm& Bc7}yC BHEB? N}t@R_JHU tCC(ܟ~OiS, q v-&Śb(X$ɳB(iͩ3BVX-k`M0kkEccE`ɍA퐆0{f8-EMfFD&Ȁs4l>Cjn?}>Ab4›~!  |=;:BJQWEjP!IHB-!@OAMٴNqw%;1M~ݏOg١9ID>~:a0|m70j42-R#Jy6QOL"{,G†`6~ty@w)F] ΠrB۲1\r'tj/8SCRH%p~OGaL@9J4R-+C@2_ RAT-qH0LS@ϵDTP;F>Κ5TIE@*b?J񄏲㸝5T:KlVV0Sp!JSC%@r61V~ݣSBgݠe~;D.b2E0%`b?p(xAꍋ4 U`kZ*+9a@g0cmwAq8`CHijeSLQR wu(/t5̀ib+D  <<# }A3]W`n ;TY틻^4J!m u^ɰֆ?4_b%" sA_\'!qwkO5a1)8H maYe⟥€GdT\~($%GJ#@MA@}>F@~*p&}Y WqO@((bH~r%R R4Phii t{iZii4*\CHb Pw㾶,/ӌ!mE ` Ks| 3% (KBUS@E"P2?C) Qhjg. o3 ޮ O GEyx@% KRPU*:%ť (J$G5gp  D?H!O w"{7*/u vU 3}dJi#q&"* fJACZ@,w@ölO7=8sT+ la$#B'( ԉ$I;:Oys>W|~ȀsJ9|?+hSI /DLd@B#Q\:.hews5?gx:a`o<3<} T$N" >{VJUS Acp~ N_iܛ_s2,g1f $}2UT+!ې5Oփ-U{_ áih"PFX"$(_ЉC|@;e( &,H&~x=!VuqC?`A\zpi s;围"!:!pH/dzvDX 9l ;a0cz#<a:`/NZ+6&/y?b$& Q@|PB"CU>{S*ǟsX:JinQ}A@4?l`;g؝!P3[z`W}/ID1$N8Z7#5F$O?4_j@ = *  -9v*h>/kȨ v@`r"fP<ofڲ[#ѧ02-zgNs`1=۩}L}L2G#?W+?{7~[lw^Voh_~ás?^~ww~+o}ofG~yO?^FC_ ~;}?|xkɸ|O?GWZ>'}꾳Gk'M'_}{Wv~U?}iy_Ioe[^/|ng5Nc}'ŭ/^kwυG._O~eo'g?QK}P?Wo{8tx4k[ [s{G;G濓[^~s|Ct&>KL?k|>A=<}ץ<}ok}{G;G_œ>???y62~C7_{?1/}~? >/o=߉ ޫ~>gAM!#vO/>> _ƏOA6kzw*|+//>_y~>O?_>@w?6}߭i@/ܐ@{=w/߯-; =3/,GOjM}'g}O}p>%oc?skO'(W/wN)a{o{/a>ɻw^?