tmpBkUnjA/0000700013775000244210000000000012233765141013405 5ustar aadsi255domain userstmpBkUnjA/package.xml0000644013775000244210000024425312233764131015544 0ustar aadsi255domain users ansel pear.horde.org Photo management application Ansel is a full featured photo management application. Chuck Hagenbuch chuck chuck@horde.org yes Jan Schneider jan jan@horde.org yes Michael J Rubinsky mrubinsk mrubinsk@horde.org yes 2013-10-29 3.0.1 3.0.0 stable stable GPL-2.0 * [mjr] Support nginx style Sendfile headers (Request #12661). * [mjr] Fix cancel button behavior on reporting page (Bug #12667). * [mjr] Prevent protected images from leaking into gallery thumbnails (Bug #12668). * [mjr] Fix adding custom watermark (Bug #12634). 5.3.0 1.7.0 content pear.horde.org 2.0.3 3.0.0alpha1 3.0.0alpha1 horde pear.horde.org 5.0.0 6.0.0alpha1 6.0.0alpha1 Horde_Auth pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Autoloader pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Core pear.horde.org 2.6.1 3.0.0alpha1 3.0.0alpha1 Horde_Date pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Db pear.horde.org 2.0.3 3.0.0alpha1 3.0.0alpha1 Horde_Exception pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Form pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Group pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Image pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Mime pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Nls pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Perms pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Prefs pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Serialize pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Share pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Support pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Text_Filter pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Url pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Util pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_View pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Vfs pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 gettext hash Horde_Service_UrlShortener pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Service_Twitter pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 Horde_Service_Facebook pear.horde.org 2.0.0 3.0.0alpha1 3.0.0alpha1 gd imagick libpuzzle opencv php-facedetect horde Role pear.horde.org 2.0.0alpha1 2.0.0 alpha alpha 2011-10-11 GPL-2.0 * First alpha release for Horde 4. * [mjr] Support for sending twitter notifications after uploading images. * [mjr] Refactor Geotagging features to use HordeMap. * [jan] Add Latvian translation (JÄnis Eisaks <jancs@dv.lv>). * [jan] Provide default configuration files instead of .dist versions. * [mjr] Mobile view added. * [mjr] Square image and smart square image generators added. * [mjr] Gallery style properties are now directly editable per-gallery by the gallery owner (Request #6003). * [mjr] New ajax image uploader added. * [mjr] Categories are removed and migrated to tags. * [mjr] Move tag handling to Content_Tagger. * [mjr] Unsharpmask filtering options added. * [mjr] Support for multipage images (Request #6022). * [mjr] Remove support for no longer available openCV extension. * [mjr] Exif code removed and placed in Horde_Image_Exif. 2.0.0RC1 2.0.0RC1 beta beta 2011-10-19 GPL-2.0 * [mjr] Fix migrations to not rely on Ansel being available. * [mjr] Fix hook calls (Bug #10659). * [mjr] Add script to convert from sql to sqlng shares after migrations have already run. * [mjr] Add migration to ensure style hashes are computed for migrated galleries. * [mjr] Fix uploading large files (Bug #10641). * [mjr] Fix thumbnail generation on bulk caption setting page (Bug #10642). * [mjr] Fix GROUP BY fields when searching for similar faces (Bug #10635). * [jan] Fix link to report faces (Bug #10636). 2.0.0RC2 2.0.0RC2 beta beta 2011-10-27 GPL-2.0 * [jan] Fix page output of popup for updating dates of multiple images (Bug #10676). * [jan] Fix initialization of editor for creating ecards (Bug #10675). * [mjr] Fix issue causing uploads to fail in certain cases on IE. * [mjr] Display localized date strings when grouping galleries by date (Bug #10669). * [mjr] Improve gallery property editing when jpg image format is configured. * [jan] Add Slovak translation (Martin MatuÅ¡ka <martin@matuska.org>). * [mjr] Allow filtering listTagInfo results by user. * [mjr] Fix issue with style migration when upgrading from Ansel 1.x. 2.0.0 2.0.0 stable stable 2011-11-02 GPL-2.0 * [mjr] Add pref to allow explicitly turning off the new ajax uploader. * [mjr] Fix invalid image type errors when uploading in older versions of mozilla. * [mjr] Fix issue with deleting galleries in date mode with key images (Bug #10671). 2.0.1 2.0.0 stable stable 2011-11-02 GPL-2.0 * [jan] Fix saving portal blocks. * [mjr] Fix issue with carousel display on legacy uploader. * [mjr] Fix issue where gallery still retained image count after it was empties of all images when using gallery cache. * [mjr] Fix issue with map not showing when user does not have Horde_Perms::EDIT on the gallery (Bug #10762). 2.0.2 2.0.0 stable stable 2012-02-28 GPL-2.0 * [mjr] Fix auto rotation of images based on orientation exif data (Bug #11441). * [mjr] Honor locked default_download pref (Bug #11325). * [mjr] Fix getting gallery data via the API (maxime@chavagne.net, Bug #11229). * [mjr] Fix carousel when viewing upload screen in an iFrame (Bug #10889). * [mjr] Fix returning to gallery view after uploading images when viewing Ansel in an iFrame (Bug #11209). * [mjr] Fix moving a subgallery to a top level gallery (Bug #11134). * [jan] Fix redirection after setting gallery password (thpo+horde@dotrc.de, Bug #11195). 2013-06-18 3.0.0beta1 3.0.0 beta beta GPL-2.0 * First beta release for Horde 5. * [mjr] Various fixes for SQLite to work with Ansel. 3.0.0RC1 3.0.0 beta beta 2013-07-17 GPL-2.0 * [mjr] Fix performing image actions in Lightbox galleries. * [mjr] Fix display of missing widgets. 3.0.0 3.0.0 stable stable 2013-08-22 GPL-2.0 * [mjr] Fixed fatal error when using face widgets. 3.0.1 3.0.0 stable stable 2013-10-29 GPL-2.0 * [mjr] Support nginx style Sendfile headers (Request #12661). * [mjr] Fix cancel button behavior on reporting page (Bug #12667). * [mjr] Prevent protected images from leaking into gallery thumbnails (Bug #12668). * [mjr] Fix adding custom watermark (Bug #12634). tmpBkUnjA/ansel-3.0.1/0000755013775000244210000000000012233765141015156 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/view.php0000644013775000244210000000357012233764130016643 0ustar aadsi255domain users */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ansel'); $viewname = basename(Horde_Util::getFormData('view', 'Gallery')); $view = 'Ansel_View_' . $viewname; if (!class_exists($view)) { throw new Ansel_Exception(sprintf("Could not load class definition of %s", $view)); } /* * All parameters get passed into the View via a $params array so we can * pass the same parameters easily via API calls. */ $params['page'] = Horde_Util::getFormData('page', 0); $params['sort'] = Horde_Util::getFormData('sort'); $params['sort_dir'] = Horde_Util::getFormData('sort_dir', 0); $params['year'] = Horde_Util::getFormData('year', 0); $params['month'] = Horde_Util::getFormData('month', 0); $params['day'] = Horde_Util::getFormData('day', 0); $params['view'] = $viewname; $params['gallery_view'] = Horde_Util::getFormData('gallery_view'); $params['gallery_id'] = Horde_Util::getFormData('gallery'); $params['gallery_slug'] = Horde_Util::getFormData('slug'); $params['force_grouping'] = Horde_Util::getFormData('force_grouping'); $params['image_id'] = Horde_Util::getFormData('image'); try { $view = new $view($params); } catch (Horde_Exception $e) { $page_output->header(); $notification->notify(array('listeners' => 'status')); echo '
' . htmlspecialchars($e->getMessage()) . ''; $page_output->footer(); exit; } Ansel::initJSVariables(); $page_output->growler = true; $page_output->header(array( 'title' => $view->getTitle(), 'ajax' => true, )); $notification->notify(array('listeners' => 'status')); echo $view->html(); $page_output->footer(); tmpBkUnjA/ansel-3.0.1/templates/0000755013775000244210000000000012233765141017154 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/xppublish/0000755013775000244210000000000012233765141021172 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/xppublish/login.inc0000755013775000244210000000132012233764130022771 0ustar aadsi255domain users
get('name')) ?>
:
:
tmpBkUnjA/ansel-3.0.1/templates/xppublish/list.inc0000755013775000244210000000147712233764130022651 0ustar aadsi255domain users



" onclick="folder.cmd.value='new'; folder.submit();" />

tmpBkUnjA/ansel-3.0.1/templates/xppublish/new.inc0000755013775000244210000000154512233764130022463 0ustar aadsi255domain users
tmpBkUnjA/ansel-3.0.1/templates/xppublish/javascript.inc0000755013775000244210000000416312233764130024037 0ustar aadsi255domain users
tmpBkUnjA/ansel-3.0.1/templates/widgets/0000755013775000244210000000000012233765141020622 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/widgets/begin.html.php0000644013775000244210000000024712233764130023362 0ustar aadsi255domain users

title ?>

tmpBkUnjA/ansel-3.0.1/templates/widgets/imagefaces.html.php0000644013775000244210000000234612233764130024364 0ustar aadsi255domain usersrender('begin'); ?> hasEdit): ?> contentTag('a', (empty($this->images) ? _("Find faces") : _("Edit faces")), array('href' => $this->editUrl, 'id' => 'edit_faces', 'class' => 'widget')); ?> | contentTag('a', _("Manual face selection"), array('href' => $this->manualUrl, 'class' => 'widget')) ?>
images)): ?>
images as $face): ?>
render('end'); ?>tmpBkUnjA/ansel-3.0.1/templates/widgets/othergalleries.html.php0000644013775000244210000000061712233764130025310 0ustar aadsi255domain users render('begin'); ?>
tree ?>
toggle_url ?> 
render('end'); ?> tmpBkUnjA/ansel-3.0.1/templates/widgets/tags.html.php0000644013775000244210000000132112233764130023226 0ustar aadsi255domain users render('begin'); ?>
error_text)): ?> error_text; ?> tag_html ?> have_edit)): ?>
" type="submit" />
render('end'); ?> tmpBkUnjA/ansel-3.0.1/templates/widgets/geotag.html.php0000644013775000244210000000232012233764130023536 0ustar aadsi255domain users render('begin'); ?>
isImageView) && empty($this->geodata)): ?> haveEdit): ?>
addLink, '');?> imgs as $id => $data):?> [image]
isImageView)):?>
render('end'); ?> tmpBkUnjA/ansel-3.0.1/templates/widgets/end.html.php0000644013775000244210000000000612233764130023035 0ustar aadsi255domain users
tmpBkUnjA/ansel-3.0.1/templates/widgets/actions.html.php0000644013775000244210000000655712233764130023750 0ustar aadsi255domain users render('begin'); ?>
toggle_url ?> 
render('end'); ?> tmpBkUnjA/ansel-3.0.1/templates/widgets/links.html.php0000644013775000244210000000140212233764130023410 0ustar aadsi255domain usersrender('begin'); ?> render('end'); ?> tmpBkUnjA/ansel-3.0.1/templates/captions/0000755013775000244210000000000012233765141020774 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/captions/captions.inc0000644013775000244210000000426312233764130023311 0ustar aadsi255domain users

get('desc')): ?>

getInstance('Horde_Core_Factory_TextFilter')->filter($gallery->get('desc'), 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO)) ?>

countImages()) { echo ''; $count = 0; $images = $gallery->getImages(); $style = $gallery->getStyle(); foreach ($images as $image) { $thumb_url = Ansel::getImageUrl($image->id, 'thumb', false, $style); echo ''; $count++; if (($count % 2) == 0) { echo ''; } } $remainder = count($images) % 2; for ($i = 0; $i < $remainder; $i++) { $count++; echo ''; } echo '
'; echo '' . htmlspecialchars($image->filename) . '' . '
  
'; } else { echo '' . _("There are no photos in this gallery.") . ''; } ?>
tmpBkUnjA/ansel-3.0.1/templates/group/0000755013775000244210000000000012233765141020310 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/group/pager.inc0000755013775000244210000000011712233764130022100 0ustar aadsi255domain usersrender()) { echo $pager; } tmpBkUnjA/ansel-3.0.1/templates/group/owner.inc0000644013775000244210000000525112233764130022135 0ustar aadsi255domain usersgetAuth()) { $owner_title = _("My Galleries"); $custom = ''; } elseif (!empty($GLOBALS['conf']['gallery']['customlabel'])) { $uprefs = $injector->getInstance('Horde_Core_Factory_Prefs')->create('ansel', array( 'cache' => false, 'user' => $group )); $custom = $uprefs->getValue('grouptitle'); $identity = new Horde_Prefs_Identity(array('prefs' => $uprefs, 'user' => $group)); $fullname = $identity->getName(); if (!$fullname) { $fullname = $group; } if (!$custom) { $owner_title = sprintf(_("%s's Galleries"), htmlspecialchars($fullname)); } else { $owner_title = $custom; } } else { $owner_title = sprintf(_("%s's Galleries"), $group); } $link = Ansel::getUrlFor('view', array('groupby' => $groupby, 'owner' => $group, 'view' => 'List'))->link(); $num_galleries = $GLOBALS['injector']->getInstance('Ansel_Storage') ->countGalleries( $GLOBALS['registry']->getAuth(), array('attributes' => $group, 'all_levels' => false)); if ($num_galleries < 5) { $mini_galleries = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(array('attributes' => $group, 'all_levels' => false)); } else { $mini_galleries = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(array('attributes' => $group, 'from' => rand(0, $num_galleries - 4), 'count' => 4)); } $mini_galleries = array_values($mini_galleries); ?> \n \n" ?>
isOldEnough() && !$mini_galleries[$i]->hasPasswd()): ?> <?php echo $owner_title?>


' : '') ?>

getValue('tilesperrow'))) echo "\n\n" ?> tmpBkUnjA/ansel-3.0.1/templates/group/header.inc0000644013775000244210000000104212233764130022225 0ustar aadsi255domain users
link() . Horde::img('reload.png', _("Refresh List")) ?>
tmpBkUnjA/ansel-3.0.1/templates/group/footer.inc0000755013775000244210000000001612233764130022276 0ustar aadsi255domain users
tmpBkUnjA/ansel-3.0.1/templates/gallery/0000755013775000244210000000000012233765141020613 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/gallery/properties.html.php0000644013775000244210000001323412233764130024463 0ustar aadsi255domain users * (string)action The current actionID * (Horde_Url)url The return url * (string)title The form title * (array)properties The gallery properties * */ ?>
action == 'addchild'): ?> action != 'add'): ?>

h($this->title); ?>

ages)): ?> locked['download']): ?> isOwner): ?> havePretty) { echo $this->renderPartial('styles'); }?>
 
 
 
 
havePretty == 'rewrite'): echo _("Slugs allows direct access to this gallery by visiting:") . ': ' . Horde::url('gallery/slugname', true) ?>
 
 
 
 
" />  " />  contentTag('a', _("Cancel"), array('href' => $this->url->toString(), 'class' => 'horde-cancel')) ?>
tmpBkUnjA/ansel-3.0.1/templates/gallery/delete_confirmation.inc0000644013775000244210000000205512233764130025317 0ustar aadsi255domain users

getInstance('Ansel_Storage')->getGallery($galleryId); printf($actionID == 'delete' ? _("Really delete %s and all of its subgalleries?") : _("Really empty %s?"), htmlspecialchars($gallery->get('name'))) ?>

" /> " onclick="history.back()" />
tmpBkUnjA/ansel-3.0.1/templates/gallery/partial/0000755013775000244210000000000012233765141022247 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/gallery/partial/_styles.html.php0000644013775000244210000000251512233764130025405 0ustar aadsi255domain users tmpBkUnjA/ansel-3.0.1/templates/view/0000755013775000244210000000000012233765141020126 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/view/api/0000755013775000244210000000000012233765141020677 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/view/api/gallery.html.php0000644013775000244210000000330212233764130024005 0ustar aadsi255domain users
numTiles): ?> numTiles > $this->perpage ? sprintf(_("%d to %d of %d Items"), $this->pagestart, $this->pageend, $this->numTiles) : sprintf(ngettext("%d Item", "%d Items", $this->numTiles), $this->numTiles)) ?> gallery) ?>
numTiles): ?>
children as $child) { echo ''; if (!(++$count % $this->tilesperrow)) { echo ''; } } while ($count % $this->tilesperrow) { echo ''; $count++; }?>
pager->render() ?>
' . $child->getTile($this->gallery, $this->view->style, false, $this->view->getParams()) . '
 
pager->render() ?>
tmpBkUnjA/ansel-3.0.1/templates/view/slideshow.html.php0000644013775000244210000000506212233764130023603 0ustar aadsi255domain users

hasEdit): ?> contentTag('a', _("Properties"), array('target' => '_blank', 'id' => 'image_properties_link')); ?> | | contentTag('a', _("Edit"), array('id' => 'image_edit_link', 'href' => $this->urls['edit'])); ?> | urls['delete'])): ?> contentTag('a', _("Delete"), array('href' => $this->urls['delete'], 'onclick' => 'return window.confirm(\'' . addslashes(sprintf(_("Do you want to permanently delete ''%s''?"), $this->resource->filename)) . '\');', 'id' => 'image_delete_link')) ?> | urls['ecard'])): ?> contentTag('a', _("Send an Ecard"), array('href' => $this->urls['ecard'], 'onclick' => 'SlideController.pause();', 'target' => '_blank', 'id' => 'image_ecard_link')) ?> | urls['download'])): ?> contentTag('a', _("Download Original Photo"), array('href' => $this->urls['download'], 'onclick' => 'SlideController.pause();', 'id' => 'image_download_link')) ?> |
contentTag('a', Horde::img('slideshow_play.png', _("Play")), array('id' => 'ssPlay', 'style' => 'display:none;', 'title' => _("Start Slideshow"))); ?> contentTag('a', Horde::img('slideshow_pause.png', _("Pause")), array('id' => 'ssPause' , 'title' => _("Pause Slideshow"))); ?> contentTag('a', Horde::img('slideshow_prev.png', _("Previous")), array('id' => 'PrevLink', 'title' => _("Previous"))); ?> contentTag('a', Horde::img('slideshow_next.png', _("Next")), array('id' => 'NextLink', 'title' => _("Next"))); ?>
'anselphoto', 'width' => $this->geometry['width'], 'height' => $this->geometry['height'])) ?>

caption ?>

tmpBkUnjA/ansel-3.0.1/templates/view/results.html.php0000644013775000244210000001151612233764130023304 0ustar aadsi255domain users
total): ?> total > $this->perPage ? sprintf(_("%d to %d of %d Items"), $this->pageStart, $this->pageEnd, $this->total) : sprintf(ngettext("%d Item", "%d Items", $this->total), $this->total) ?> owner)): ?> contentTag('a', _("View All Results"), array('href' => Horde::selfUrl()->add(array('view' => 'Results')), 'title' => _("View Results from All Users"))) ?> h($this->title) . $this->tagTrail ?>
: contentTag('a', _("All"), array('title' => _("Select All"), 'id' => 'anselgallery_select_all')) ?> contentTag('a', _("None"), array('title' => _("Select None"), 'id' => 'anselgallery_select_none')) ?> option_delete || $this->option_move || $this->option_copy) echo _("Actions: ") ?> contentTag('a', _("Download selected photos"), array('class' => 'widget', 'id' => 'anselgallery_download')) ?> | option_edit): ?> contentTag('a', _("Edit Dates"), array('title' => _("Edit Dates"), 'class' => 'widget', 'id' => 'anselgallery_editdates')) ?> | option_delete): ?> contentTag('a', _("Delete"), array('title' => _("Delete"), 'class' => 'widget', 'id' => 'anselgallery_delete')) ?> option_move): ?> | contentTag('a', _("Move"), array('title' => _("Move"), 'class' => 'widget', 'id' => 'anselgallery_move')) ?> option_copy): ?> | contentTag('a', _("Copy"), array('title' => _("Copy"), 'class' => 'widget', 'id' => 'anselgallery_copy')) ?>
total): ?>
results as $result): ?> tilesperrow) && $count < $this->total): ?> tilesperrow): ?>
pager ?>
getTile(null, $this->style, false, $this->params) ?>
 
pager->render() ?>

    rtags as $id => $taginfo): ?> owner)): ?> taglinks[$id]->add('owner', $this->owner) ?>
  • contentTag('a', $this->h($taginfo['tag_name']), array('href' => strval($this->taglinks[$id]), 'title' => sprintf(ngettext("%d photo", "%d photos",$taginfo['total']),$taginfo['total']))) ?>
tmpBkUnjA/ansel-3.0.1/templates/view/list.html.php0000644013775000244210000000515512233764130022560 0ustar aadsi255domain users
gPerPage < $this->numGalleries): ?> start, $this->end, $this->numGalleries) ?> _numGalleries), $this->_numGalleries) ?> breadcrumbs)): ?> breadcrumbs ?> contentTag('a', Horde::img('reload.png', _("Refresh List")), array('href' => $this->refresh_link, 'title' => _("Refresh List"))) ?>
params['api'])): ?>
groupby == 'none'): ?>
contentTag('a', _("Owner"), array('href' => $this->groupbyUrl)); ?>
contentTag('a', _("Name"), array('href' => $this->refresh_link->copy()->add('sort', 'name'))) ?> | contentTag('a', _("Date"), array('href' => $this->refresh_link->copy()->add('sort', 'last_modified'))) ?> | contentTag('a', _("Owner"), array('href' => $this->refresh_link->copy()->add('sort', 'owner'))) ?> sortDir): ?> contentTag('a', Horde::img('za.png', _("Ascending")), array('href' => $this->refresh_link->copy()->add(array('sort' => $this->sortBy, 'sort_dir' => 0)))) ?> contentTag('a', Horde::img('az.png', _("Descending")), array('href' => $this->refresh_link->copy()->add(array('sort' => $this->_sortBy, 'sort_dir' => 1)))) ?>
pager ?> galleryList as $galleryId => $gallery): ?> tilesperrow)): ?> numGalleries): ?> tilesperrow): ?>
getTile(null, $this->style, false, $this->params) ?>
 
pager ?>
tmpBkUnjA/ansel-3.0.1/templates/view/image.html.php0000644013775000244210000001233112233764130022661 0ustar aadsi255domain users

gallery) ?>

urls['prop_popup'])): ?> contentTag('a', _("Properties"), array('target' => '_blank', 'onclick' => $this->urls['prop_popup'] . 'return false;', 'id' => 'image_properties_link')); ?> | urls['edit'])): ?> contentTag('a', _("Edit"), array('id' => 'image_edit_link', 'href' => $this->urls['edit'])); ?> | urls['delete'])): ?> contentTag('a', _("Delete"), array('href' => $this->urls['delete'], 'onclick' => 'return window.confirm(\'' . addslashes(sprintf(_("Do you want to permanently delete ''%s''?"), $this->filename)) . '\');', 'id' => 'image_delete_link')) ?> | urls['ecard'])): ?> contentTag('a', _("Send an Ecard"), array('href' => $this->urls['ecard'], 'target' => '_blank', 'id' => 'image_ecard_link')) ?> | urls['download'])): ?> contentTag('a', _("Download Original Photo"), array('href' => $this->urls['download'], 'id' => 'image_download_link')) ?> | urls['report'])): ?> contentTag('a', _("Report"), array('href' => $this->urls['report'])) ?>
'class="imgloading"'));?> hide_slideshow)): ?> contentTag('a', Horde::fullSrcImg('slideshow_play.png', array('attr' => 'alt="' . _("Play") . '"')), array('style' => "display:none;", 'href' => $this->urls['slideshow'], 'class' => 'ssPlay', 'title' => _("Start Slideshow"))) ?> contentTag('a', Horde::fullSrcImg('slideshow_prev.png', array('attr' => 'alt="' . _("Previous") . '"')), array('id' => 'PrevLink', 'href' => $this->prev_url)); echo $this->contentTag('a', Horde::fullSrcImg('slideshow_next.png', array('attr' => 'alt="' . _("Next") . '"')), array('id' => 'NextLink', 'href' => $this->next_url)); echo $this->contentTag('a', Horde::fullSrcImg('galleries.png', array('attr' => 'alt="' . _("Back to gallery") . '"')), array('href' => $this->urls['gallery'])); ?>
'ansel-photodiv', 'width' => $this->geometry['width'], 'height' => $this->geometry['height'])) ?>
'class="imgloading"'));?> hide_slideshow)): ?> contentTag('a', Horde::fullSrcImg('slideshow_play.png', array('attr' => 'alt="' . _("Play") . '"')), array('style' => "display:none;", 'href' => $this->urls['slideshow'], 'class' => 'ssPlay', 'title' => _("Start Slideshow"))) ?> contentTag('a', Horde::fullSrcImg('slideshow_prev.png', array('attr' => 'alt="' . _("Previous") . '"')), array('href' => $this->prev_url)); echo $this->contentTag('a', Horde::fullSrcImg('slideshow_next.png', array('attr' => 'alt="' . _("Next") . '"')), array('href' => $this->next_url)); echo $this->contentTag('a', Horde::fullSrcImg('galleries.png', array('attr' => 'alt="' . _("Back to gallery") . '"')), array('href' => $this->urls['gallery'])); ?>
exif)): ?>
exif as $elem): ?> $value): ?>
h($value) ?>
commentHtml)): ?>
commentHtml; ?>
view->countWidgets()): ?>
view->renderWidgets() ?>
tmpBkUnjA/ansel-3.0.1/templates/view/gallery.html.php0000644013775000244210000001146012233764130023240 0ustar aadsi255domain users
numTiles): ?> numTiles > $this->perpage ? sprintf(_("%d to %d of %d Items"), $this->pagestart, $this->pageend, $this->numTiles) : sprintf(ngettext("%d Item", "%d Items", $this->numTiles), $this->numTiles)) ?> gallery) ?>
;"> view->api) && $this->option_select && $this->numTiles): ?>
option_select) && $this->numTiles): ?>
: contentTag('a', _("All"), array('title' => _("Select All"), 'id' => 'anselgallery_select_all')) ?> contentTag('a', _("None"), array('title' => _("Select None"), 'id' => 'anselgallery_select_none')) ?> option_delete || $this->option_move || $this->option_copy) echo _("Actions: ") ?> contentTag('a', _("Download selected photos"), array('class' => 'widget', 'id' => 'anselgallery_download')) ?> | option_edit): ?> contentTag('a', _("Edit Dates"), array('title' => _("Edit Dates"), 'class' => 'widget', 'id' => 'anselgallery_editdates')) ?> | option_delete): ?> contentTag('a', _("Delete"), array('title' => _("Delete"), 'class' => 'widget', 'id' => 'anselgallery_delete')) ?> option_move): ?> | contentTag('a', _("Move"), array('title' => _("Move"), 'class' => 'widget', 'id' => 'anselgallery_move')) ?> option_copy): ?> | contentTag('a', _("Copy"), array('title' => _("Copy"), 'class' => 'widget', 'id' => 'anselgallery_copy')) ?>
numTiles): ?>
children as $child) { echo ''; if (!(++$count % $this->tilesperrow)) { echo ''; } } while ($count % $this->tilesperrow) { echo ''; $count++; }?>
pager->render() ?>
' . $child->getTile($this->gallery, $this->style, false, $this->view->getParams()) . '
 
pager->render() ?>
option_select) && $this->numTiles): ?>
view->renderWidgets() ?>
tmpBkUnjA/ansel-3.0.1/templates/smartmobile/0000755013775000244210000000000012233765141021472 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/smartmobile/galleries.html.php0000644013775000244210000000120312233764130025106 0ustar aadsi255domain users

logout): ?>
tmpBkUnjA/ansel-3.0.1/templates/smartmobile/image.html.php0000644013775000244210000000113712233764130024227 0ustar aadsi255domain users

tmpBkUnjA/ansel-3.0.1/templates/smartmobile/gallery.html.php0000644013775000244210000000054012233764130024601 0ustar aadsi255domain users

tmpBkUnjA/ansel-3.0.1/templates/smartmobile/javascript_defs.php0000644013775000244210000000212312233764130025345 0ustar aadsi255domain usersget('webroot'); $horde_webroot = $registry->get('webroot', 'horde'); $style = Ansel::getStyleDefinition('ansel_mobile'); /* Variables used in core javascript files. */ $code['conf'] = array( 'SESSION_ID' => SID, 'thumbWidth' => ($style->width) ? $style->width : 75, 'thumbHeight' => ($style->height) ? $style->height : 75, 'user' => $GLOBALS['registry']->convertUsername($GLOBALS['registry']->getAuth(), false), 'name' => $registry->get('name'), ); // List of top level galleries $gallerylist = $GLOBALS['injector']->getInstance('Ansel_Storage')->listGalleries(array('all_levels' => false, 'attributes' => $registry->getAuth())); $galleries = array(); foreach ($gallerylist as $gallery) { $galleries[] = $gallery->toJson(); } $code['conf']['galleries'] = $galleries; /* Gettext strings used in core javascript files. */ $code['text'] = array( 'ajax_error' => _("Error when communicating with the server."), ); echo $GLOBALS['page_output']->addInlineJsVars(array( 'var Ansel' => $code ), array('top' => true)); tmpBkUnjA/ansel-3.0.1/templates/list/0000755013775000244210000000000012233765141020127 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/list/pager.inc0000755013775000244210000000012412233764130021715 0ustar aadsi255domain usersrender()) { echo $pager; } tmpBkUnjA/ansel-3.0.1/templates/list/header.inc0000644013775000244210000000101212233764130022041 0ustar aadsi255domain users
link(array('title' => _("Refresh List"))) . Horde::img('reload.png', _("Refresh List")) . '' ?>
tmpBkUnjA/ansel-3.0.1/templates/list/footer.inc0000755013775000244210000000002512233764130022115 0ustar aadsi255domain users

tmpBkUnjA/ansel-3.0.1/templates/image/0000755013775000244210000000000012233765141020236 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/image/preview_image.inc0000644013775000244210000000306612233764130023556 0ustar aadsi255domain users

add( array_merge( array('gallery' => $gallery_id, 'image' => $image_id, 'page' => $page, 'watermark' => $watermark, 'whalign' => $watermark_halign, 'wvalign' => $watermark_valign, 'font' => $watermark_font), $date)); $edit_url = $base_url->copy()->add('actionID', 'editimage'); $save_url = $base_url->copy()->add('actionID', $action); $image_url = $base_url->copy()->add(array('actionID' => 'image' . $action, 'view' => 'screen')); ?>
hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { echo $save_url->link(array('title' => _("Save Change"))) . Horde::img('save.png') . ' ' . _("Save Change") . ' '; } if ($gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { echo $edit_url->link(array('title' => _("Cancel Change"))) . Horde::img('delete.png') . ' ' . _("Cancel Change") . ''; } ?>

' ?>
caption ? $image->caption : $image->filename; echo $GLOBALS['injector']->getInstance('Horde_Core_Factory_TextFilter')->filter($caption, 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO)) ?>
tmpBkUnjA/ansel-3.0.1/templates/image/plupload.inc0000644013775000244210000000101012233764130022536 0ustar aadsi255domain users
" />

countImages() . ')' ?>

tmpBkUnjA/ansel-3.0.1/templates/image/edit_image.inc0000644013775000244210000000460112233764130023016 0ustar aadsi255domain users

link() . Horde::img('galleries.png') . ' ' . _("Back to gallery") . ' '; echo $imageGenerator_url->link() . Horde::img('galleries.png') . ' ' . _("Cancel") . ' '; if (Ansel::isAvailable('rotate')) { echo $imageurl->copy()->add('actionID', 'previewrotate270')->link() . Horde::img('image/rotate-270.png') . ' ' . _("Rotate Left") . ' '; echo $imageurl->copy()->add('actionID', 'previewrotate180')->link() . Horde::img('image/rotate-180.png') . ' ' . _("Rotate 180") . ' '; echo $imageurl->copy()->add('actionID', 'previewrotate90')->link() . Horde::img('image/rotate-90.png') . ' ' . _("Rotate Right") . ' '; } if (Ansel::isAvailable('flip')) { echo $imageurl->copy()->add('actionID', 'previewflip')->link() . Horde::img('image/flip.png') . ' ' . _("Flip") . ' '; } if (Ansel::isAvailable('mirror')) { echo $imageurl->copy()->add('actionID', 'previewmirror')->link() . Horde::img('image/mirror.png') . ' ' . _("Mirror") . ' '; } if (Ansel::isAvailable('grayscale')) { echo $imageurl->copy()->add('actionID', 'previewgrayscale')->link() . Horde::img('image/grayscale.png') . ' ' . _("Grayscale") . ' '; } if (Ansel::isAvailable('TextWatermark')) { $url = new Horde_Url('#'); echo $url->link(array('target' => '_blank', 'onclick.raw' => Horde::popupJs(Horde::url($imageurl), array('params' => array('actionID' => 'setwatermark', 'share' => $gallery->name), 'width' => 450, 'height' => 250, 'urlencode' => true)) . 'return false;')) . Horde::img('text.png') . ' ' . _("Watermark") . ' '; } $selfUrl = Horde::selfUrl(true); echo $selfUrl->copy()->add('actionID', 'cropedit')->link() . Horde::img('image/crop.png') . _("Crop") . ''; echo $selfUrl->copy()->add('actionID', 'resizeedit')->link() . Horde::img('image/ratio.png') . _("Resize") . ''; ?>

' ?>
caption ? $image->caption : $image->filename; echo $GLOBALS['injector']->getInstance('Horde_Core_Factory_TextFilter')->filter($caption, 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO)) ?>
tmpBkUnjA/ansel-3.0.1/templates/image/preview_cropimage.inc0000644013775000244210000000274112233764130024441 0ustar aadsi255domain users

copy()->add(array_merge( array('gallery' => $gallery_id, 'image' => $image_id, 'page' => $page, 'params' => $params), $date)); $edit_url = $base_url->copy()->add('actionID', 'editimage'); $save_url = $base_url->copy()->add('actionID', $action); $image_url = $base_url->copy()->add(array( 'actionID' => 'image' . $action, 'view' => 'full')); ?>
hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { echo $save_url->link(array('title' => _("Save Change"))) . Horde::img('save.png') . ' ' . _("Save Change") . ' '; } if ($gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { echo $edit_url->link(array('title' => _("Cancel Change"))) . Horde::img('delete.png') . ' ' . _("Cancel Change") . ''; } ?>

'?>
caption ? $image->caption : $image->filename; echo $GLOBALS['injector']->getInstance('Horde_Core_Factory_TextFilter')->filter($caption, 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO)) ?>
tmpBkUnjA/ansel-3.0.1/templates/image/resize_image.inc0000644013775000244210000000637512233764130023404 0ustar aadsi255domain users

unique(); echo $galleryurl->link() . Horde::img('galleries.png') . ' ' . _("Back to gallery") . ' '; echo $imageGenerator_url->link() . Horde::img('galleries.png') . ' ' . _("Cancel") . ' '; if (Ansel::isAvailable('rotate')) { echo $imageurl->copy()->add('actionID', 'previewrotate270')->link() . Horde::img('image/rotate-270.png') . ' ' . _("Rotate Left") . ' '; echo $imageurl->copy()->add('actionID', 'previewrotate180')->link() . Horde::img('image/rotate-180.png') . ' ' . _("Rotate 180") . ' '; echo $imageurl->copy()->add('actionID', 'previewrotate90')->link() . Horde::img('image/rotate-90.png') . ' ' . _("Rotate Right") . ' '; } if (Ansel::isAvailable('flip')) { echo $imageurl->copy()->add('actionID', 'previewflip')->link() . Horde::img('image/flip.png') . ' ' . _("Flip") . ' '; } if (Ansel::isAvailable('mirror')) { echo $imageurl->copy()->add('actionID', 'previewmirror')->link() . Horde::img('image/mirror.png') . ' ' . _("Mirror") . ' '; } if (Ansel::isAvailable('grayscale')) { echo $imageurl->copy()->add('actionID', 'previewgrayscale')->link() . Horde::img('image/grayscale.png') . ' ' . _("Grayscale") . ' '; } if (Ansel::isAvailable('text_watermark')) { $url = new Horde_Url('#'); echo $url->link(array('target' => '_blank', 'onclick.raw' => Horde::popupJs(Horde::url($imageurl), array('params' => array('actionID' => 'setwatermark', 'share' => $gallery->getName()), 'width' => 450, 'height' => 250, 'urlencode' => true)) . 'return false;')) . Horde::img('text.png') . ' ' . _("Watermark") . ' '; } $selfUrl = Horde::selfUrl(true); echo $selfUrl->copy()->add(array('actionID' => 'cropedit'))->link() . Horde::img('image/crop.png') . _("Crop") . ''; echo $selfUrl->copy()->add(array('actionID' => 'resizeedit'))->link() . Horde::img('image/ratio.png') . _("Resize") . ''; ?>
: :
'ansel_slider_img')); ?>
" /> " onclick="resetImage()"/>
' ?>
caption ? $image->caption : $image->filename; echo $GLOBALS['injector']->getInstance('Horde_Core_Factory_TextFilter')->filter($caption, 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO)) ?>
tmpBkUnjA/ansel-3.0.1/templates/image/crop_image.inc0000644013775000244210000001555212233764130023043 0ustar aadsi255domain users

unique(); echo $galleryurl->link() . Horde::img('galleries.png') . ' ' . _("Back to gallery") . ' '; echo $imageGenerator_url->link() . Horde::img('galleries.png') . ' ' . _("Cancel") . ' '; if (Ansel::isAvailable('rotate')) { echo $imageurl->copy()->add('actionID', 'previewrotate270')->link() . Horde::img('image/rotate-270.png') . ' ' . _("Rotate Left") . ' '; echo $imageurl->copy()->add('actionID', 'previewrotate180')->link() . Horde::img('image/rotate-180.png') . ' ' . _("Rotate 180") . ' '; echo $imageurl->copy()->add('actionID', 'previewrotate90')->link() . Horde::img('image/rotate-90.png') . ' ' . _("Rotate Right") . ' '; } if (Ansel::isAvailable('flip')) { echo $imageurl->copy()->add('actionID', 'previewflip')->link() . Horde::img('image/flip.png') . ' ' . _("Flip") . ' '; } if (Ansel::isAvailable('mirror')) { echo $imageurl->copy()->add('actionID', 'previewmirror')->link() . Horde::img('image/mirror.png') . ' ' . _("Mirror") . ' '; } if (Ansel::isAvailable('grayscale')) { echo $imageurl->copy()->add('actionID', 'previewgrayscale')->link() . Horde::img('image/grayscale.png') . ' ' . _("Grayscale") . ' '; } if (Ansel::isAvailable('text_watermark')) { $url = new Horde_Url('#'); echo $url->link(array('target' => '_blank', 'onclick.raw' => Horde::popupJs($imageurl, array('params' => array('actionID' => 'setwatermark', 'share' => $gallery->getName()), 'width' => 450, 'height' => 250, 'urlencode' => true)) . 'return false;')) . Horde::img('text.png') . ' ' . _("Watermark") . ' '; } $selfUrl = Horde::selfUrl(true); echo $selfUrl->copy()->add('actionID','cropedit')->link() . Horde::img('image/crop.png') . _("Crop") . ''; echo $selfUrl->copy()->add('actionID', 'resizeedit')->link() . Horde::img('image/ratio.png') . _("Resize") . ''; ?>

' ?>

caption ? $image->caption : $image->filename; echo $GLOBALS['injector']->getInstance('Horde_Core_Factory_TextFilter')->filter($caption, 'text2html', array('parselevel' => Horde_Text_Filter_Text2html::MICRO)) ?>


:

:

" /> " />
tmpBkUnjA/ansel-3.0.1/templates/image/upload.inc0000644013775000244210000000072712233764130022220 0ustar aadsi255domain usersrenderActive(null, null, Horde::url('img/upload.php'), 'post', 'multipart/form-data'); if ($browser->getPlatform() == 'win' && $GLOBALS['registry']->showService('help')) { echo '

' . Horde_Help::link('ansel', 'xppublish') . ' ' . _("Learn how to publish photos directly from Windows.") . '

'; } $lbcssurl = Horde::url($GLOBALS['registry']->get('themesuri', 'ansel') . '/lightbox.css', true); tmpBkUnjA/ansel-3.0.1/templates/faces/0000755013775000244210000000000012233765141020235 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/faces/image.inc0000755013775000244210000000230312233764130022010 0ustar aadsi255domain users
<?php echo $face['face_id'] ?> ' . Horde::img('save.png')?> ' . Horde::img('delete.png')?> copy()->add(array('face' => $face['face_id'], 'image' => $image_id, 'url' => (!empty($url) ? $url : '')))->link(array('title' => _("Edit face region"))) . Horde::img('edit.png')?>
tmpBkUnjA/ansel-3.0.1/templates/faces/gallery.inc0000644013775000244210000000565612233764130022400 0ustar aadsi255domain users

render() ?> id] = $image->id; ?>
filename; ?>


copy()->add(array('image' => $image->id, 'gallery' => $image->gallery))->link()?>
<?php echo htmlspecialchars($image->filename)?>
render() ?> tmpBkUnjA/ansel-3.0.1/templates/faces/face.inc0000755013775000244210000000366112233764130021634 0ustar aadsi255domain users


<?php echo $facename?>

add('face', $face_id)->link( array('class' => 'small', 'title' => _("Report abuse or submit a removal request"))) . _("Report") . '
'?> add('face_id', $face_id)->link(array('title' => _("Find similar"))) . _("Similar faces") . ''; } ?>
getValue('default_gallerystyle')); foreach (array_keys($face['galleries']) as $gallery_id) { foreach ($face['galleries'][$gallery_id] as $imageId) { echo '
' . $imageId . '
'; echo '' . _("Photo") . ' / '; echo '' . _("Gallery") . '
'; } } ?>
tmpBkUnjA/ansel-3.0.1/templates/faces/custom.inc0000755013775000244210000000261212233764130022243 0ustar aadsi255domain users

<?php echo htmlspecialchars($image->filename) ?>
:
" /> " /> " />
tmpBkUnjA/ansel-3.0.1/templates/faces/search.inc0000755013775000244210000000232112233764130022173 0ustar aadsi255domain usersrender('image'); ?>


<?php echo $facename?>

add('face', $face_id)->link( array('class' => 'small', 'title' => _("Report abuse or submit a removal request"))) . _("Report") . ''?> <?php echo $title ?>
render(); foreach ($results as $face_id => $face) { include ANSEL_TEMPLATES . '/tile/face.inc'; } echo $pager->render(); } ?>
tmpBkUnjA/ansel-3.0.1/templates/faces/index.inc0000755013775000244210000000133312233764130022037 0ustar aadsi255domain usersrender(Horde_Util::getGet('search_faces', 'all')); ?>

$face) { echo '' . '' . htmlspecialchars($face['face_name']) . ''; } } tmpBkUnjA/ansel-3.0.1/templates/faces/faces.inc0000755013775000244210000000102212233764130022004 0ustar aadsi255domain usersrender(); if (isset($form)) { $form->renderActive(null, null, null, 'post'); } echo '

' . sprintf(_("%s: faces %s"), $title, number_format($count)) . '

'; if (empty($results)) { echo '

' . _("No faces found") . '

'; } else { echo $pager->render(); echo '
'; foreach ($results as $face_id => $face) { include ANSEL_TEMPLATES . '/tile/face.inc'; } echo '
'; echo $pager->render(); } tmpBkUnjA/ansel-3.0.1/templates/faces/define.inc0000755013775000244210000000510512233764130022163 0ustar aadsi255domain usersrender('image'); ?>

[icon]
" /> " /> " />
x1: y1:
x2: y2:
:
tmpBkUnjA/ansel-3.0.1/templates/tile/0000755013775000244210000000000012233765141020111 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/tile/face.inc0000755013775000244210000000325312233764130021505 0ustar aadsi255domain users
' . '' . $facename . '
'; if (isset($face['similarity'])) { echo '' . number_format((1 - $face['similarity']) * 100) . '%
'; } if ($face['face_name']) { echo '' . _("Others") . '
'; } elseif ($GLOBALS['conf']['report_content']['driver']) { echo Horde::url('faces/claim.php')->add('face', $face['face_id'])->link(array('title' => _("Tell us who is in this photo"))) . _("Claim") . '
'; echo Horde::url('faces/report.php')->add('face', $face['face_id'])->link(array('title' => _("Report abuse or submit a removal request"))) . _("Report") . '
'; } if ($conf['faces']['search'] && Horde_Util::loadExtension('libpuzzle') !== false) { echo Horde::url('faces/search/image_search.php')->add('face_id', $face['face_id'])->link(array('title' => _("Find similar"))) . _("Similar faces") . ''; } ?>
tmpBkUnjA/ansel-3.0.1/templates/tile/gallerymini.html.php0000755013775000244210000000100312233764130024073 0ustar aadsi255domain users
contentTag('a', $this->tag('img', array('src' => $this->gallery_image, 'alt' => '[image]')), array('href' => $this->view_link)) ?> contentTag('a', $this->h($this->gallery->get('name')), array('href' => $this->view_link)) ?> (gallery_count ?>)
tmpBkUnjA/ansel-3.0.1/templates/tile/dategallery.html.php0000644013775000244210000000062312233764130024060 0ustar aadsi255domain users tmpBkUnjA/ansel-3.0.1/templates/tile/image.html.php0000644013775000244210000000401212233764130022641 0ustar aadsi255domain users
contentTag('a', $this->tag('img', array('src' => $this->thumb_url, 'alt' => $this->h($this->image->filename))), array_merge(array('href' => $this->view_url, 'title' => $this->image->filename, 'onclick' => $this->imgOnClick), $this->imgAttributes)) ?>
contentTag('div', $this->imageCaption, array('class' => 'image-tile-caption', 'id' => $this->image->id . 'caption')) ?> getAuth() || $this->option_select): ?>
view_type != 'Gallery'): ?>
contentTag('a', $this->h($this->parent->get('name')), array('href' => strval($this->gallery_url))) ?>
option_comments)):?>
contentTag('a', sprintf(ngettext("%d comment", "%d comments", $this->image->commentCount), $this->image->commentCount), array('href' => strval($this->img_view_url->copy()->setAnchor('messagediv')), 'title' => _("View or leave comments"))) ?>
option_select): ?>
option_edit): ?> contentTag('a', _("Properties"), array('href' => $this->image_url->copy()->add(array('actionID' => 'modify')), 'target' => '_blank', 'onclick' => Horde::popupJs(Horde::url($this->image_url), array('height' => 360, 'width' => 500, 'params' => array('actionID' => 'modify', 'urlencode' => true))) . ' return false;')) ?> | contentTag('a', _("Edit"), array('href' => $this->image_url->copy()->add('actionID', 'editimage'))) ?>
tmpBkUnjA/ansel-3.0.1/templates/tile/gallery.html.php0000755013775000244210000000203412233764130023223 0ustar aadsi255domain users tmpBkUnjA/ansel-3.0.1/templates/rss/0000755013775000244210000000000012233765141017763 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/rss/rss2.inc0000755013775000244210000000371312233764130021353 0ustar aadsi255domain users' ?> ' ?> <?php echo $stream_name ?> <?php echo $stream_name ?> <?php echo $image['filename'] ?> ') . $image['caption'] ?> $image['longitude'] tmpBkUnjA/ansel-3.0.1/templates/rss/rss.inc0000644013775000244210000000176212233764130021270 0ustar aadsi255domain users' ?> ' ?> <?php echo $stream_name ?> <?php echo $stream_desc ?> <?php echo $image['filename'] ?> ') . $image['caption'] ?> tmpBkUnjA/ansel-3.0.1/templates/map_edit.html.php0000644013775000244210000000346712233764130022421 0ustar aadsi255domain users
filename) ?>

" class="button" type="submit" />

imgs as $id => $data): ?> image_id != $id): ?> link(array('title' => $title, 'id' => 'geo_' . $id)) ?> [thumbnail]
 
 
" />" />
tmpBkUnjA/ansel-3.0.1/templates/browse/0000755013775000244210000000000012233765141020455 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/templates/browse/new.inc0000644013775000244210000000025612233764130021741 0ustar aadsi255domain users
tmpBkUnjA/ansel-3.0.1/browse_edit.php0000644013775000244210000000211112233764130020165 0ustar aadsi255domain usersgetInstance('Horde_Core_Factory_BlockCollection')->create(array('ansel'), 'myansel_layout'); $layout = $blocks->getLayoutManager(); // Handle requested actions. $layout->handle(Horde_Util::getFormData('action'), (int)Horde_Util::getFormData('row'), (int)Horde_Util::getFormData('col')); if ($layout->updated()) { $prefs->setValue('myansel_layout', $layout->serialize()); if (Horde_Util::getFormData('url')) { $url = new Horde_Url(Horde_Util::getFormData('url')); $url->unique()->redirect(); } } $page_output->header(array( 'title' => _("My Photos :: Add Content") )); $notification->notify(array('listeners' => 'status')); require $registry->get('templates', 'horde') . '/portal/edit.inc'; $page_output->footer(); tmpBkUnjA/ansel-3.0.1/image.php0000644013775000244210000000345312233764130016753 0ustar aadsi255domain users * @author Michael J. Rubinsky */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ansel'); // Get all the form data $actionID = Horde_Util::getFormData('actionID'); $page = Horde_Util::getFormData('page', 0); // None of the views on this page display side or top bars. $page_output->topbar = $page_output->sidebar = false; // Check basic image actions. if (Ansel_ActionHandler::imageActions($actionID)) { $gallery_id = Horde_Util::getFormData('gallery'); $gallery = $injector->getInstance('Ansel_Storage')->getGallery($gallery_id); $children = $gallery->countGalleryChildren(Horde_Perms::SHOW); $perpage = min( $prefs->getValue('tilesperpage'), $conf['thumbnail']['perpage']); $pages = ceil($children / $perpage); if ($page > $pages) { $page = $pages; } // Return to the image list. Ansel::getUrlFor( 'view', array_merge( array( 'gallery' => $gallery_id, 'view' => 'Gallery', 'page' => $page, 'slug' => $gallery->get('slug')), $date), true)->redirect(); exit; } // Edit actions? if (!Ansel_ActionHandler::editActions($actionID)) { $page_output->header(array( 'title' => $title )); $form->renderActive($renderer, $vars, Horde::url('image.php'), 'post', 'multipart/form-data'); $page_output->footer(); } tmpBkUnjA/ansel-3.0.1/gallery.php0000644013775000244210000000141012233764130017317 0ustar aadsi255domain users * @author Michael J. Rubinsky * @package Ansel */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ansel'); // Redirect to the gallery list if no action has been requested. $actionID = Horde_Util::getFormData('actionID'); if (is_null($actionID)) { Horde::url('view.php?view=List', true)->redirect(); exit; } if (!Ansel_ActionHandler::galleryActions($actionID)) { Horde::url(Ansel::getUrlFor('view', array('view' => 'List'), true))->redirect(); exit; } tmpBkUnjA/ansel-3.0.1/disclamer.php0000644013775000244210000000337312233764130017635 0ustar aadsi255domain users */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ansel'); $vars = Horde_Variables::getDefaultVariables(); try { $gallery = $GLOBALS['injector']->getInstance('Ansel_Storage')->getGallery($vars->get('gallery')); } catch (Ansel_Exception $e) { $notification->push($gallery->getMessage()); Horde::url('view.php?view=List', true)->redirect(); exit; } $url = $vars->get('url'); $form = new Horde_Form($vars, _("Content Disclaimer"), 'disclamer'); $form->addVariable($gallery->get('name'), 'name', 'description', false); $form->addVariable($gallery->get('desc'), 'desc', 'description', false); $form->addHidden('', 'url', 'text', true); $form->addHidden('', 'gallery', 'int', true); $msg = sprintf(_("Photo content may be offensive. You must be over %d to continue."), $gallery->get('age')); $form->addVariable($msg, 'warning', 'description', false); $form->setButtons(array(sprintf(_("Continue - I'm over %d"), $gallery->get('age')), _("Cancel"))); if ($form->isSubmitted()) { if (Horde_Util::getFormData('submitbutton') == _("Cancel")) { $notification->push("You are not authorised to view this photo.", 'horde.warning'); Horde::url('view.php?view=List', true)->redirect(); exit; } else { $session->set('ansel', 'user_age', (int)$gallery->get('age')); $url->redirect(); exit; } } $page_output->header(); $notification->notify(array('listeners' => 'status')); $form->renderActive(null, null, null, 'post'); $page_output->footer(); tmpBkUnjA/ansel-3.0.1/map_edit.php0000644013775000244210000000660112233764130017451 0ustar aadsi255domain users */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ansel'); // Init the map Ansel::initJSVariables(); Horde::initMap(); $page_output->addScriptFile('map.js'); $page_output->addScriptFile('map_edit.js'); // Get the image id to (re)locate. $image_id = Horde_Util::getFormData('image'); // Sanity checks, perms etc... if (empty($image_id)) { throw new Ansel_Exception( _("An error has occured retrieving the image. Details have been logged.")); } $image = $injector ->getInstance('Ansel_Storage') ->getImage($image_id); $gallery = $injector-> getInstance('Ansel_Storage') ->getGallery($image->gallery); if (!$gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { throw new Horde_Exception_PermissionDenied( _("Not Authorized. Details have been logged for the server administrator.")); } $view = $injector->getInstance('Horde_View'); $view->image_id = $image_id; $view->loadingImg = Horde::img('loading.gif', _("Loading...")); $view->filename = $image->filename; // Determine if we already have a geotag or are we tagging it for the 1st time if (empty($image->lat)) { $geodata = array( 'image_id' => $image->id, 'image_latitude' => '20', 'image_longitude' => '40', 'image_location' => '', 'icon' => Ansel::getImageUrl($image->id, 'mini', true), 'markerOnly' => true, 'draggable' => true); $isNew = 1; } else { $geodata = array( 'image_id' => $image->id, 'image_latitude' => $image->lat, 'image_longitude' => $image->lng, 'image_location' => $image->location, 'icon' => Ansel::getImageUrl($image->id, 'mini', true), 'markerOnly' => true, 'draggable' => true); $isNew = 0; } // JSON representation of the image's geotag $json = Horde_Serialize::serialize(array($geodata), Horde_Serialize::JSON); // Url for geotag ajax helper $gtUrl = $registry->getServiceLink('ajax', 'ansel')->setRaw(true); $gtUrl->url .= 'imageSaveGeotag'; // Obtain other geotagged images to possibly locate this image at $view->imgs = $injector ->getInstance('Ansel_Storage') ->getRecentImagesGeodata($GLOBALS['registry']->getAuth()); if (count($view->imgs) > 0) { $js = array(); foreach ($view->imgs as $id => $data) { if ($id != $image_id) { $js[] = '$("geo_' . $id . '").observe("click", function() { mapEdit.setLocation("' . $data['image_latitude'] . '", "' . $data['image_longitude'] . '", "' . $data['image_location'] . '");return false; } )'; } } $page_output->addInlineScript($js, true); } $page_output->addInlineScript( "var mapEdit = new AnselMapEdit({$json}, { 'geocoder': Ansel.conf.maps.geocoder, 'image_id': {$image_id}, 'ajaxuri': '{$gtUrl}' }); $('saveButton').observe('click', mapEdit.save.bind(mapEdit)); $('locationAction').observe('click', function(e) { mapEdit.geocode($('locationInput').value); e.stop(); });", true); $page_output->topbar = $page_output->sidebar = false; $page_output->header(array( 'title' => $title )); echo $view->render('map_edit'); $page_output->footer(); tmpBkUnjA/ansel-3.0.1/smartmobile.php0000644013775000244210000000222212233764130020200 0ustar aadsi255domain users * @category Horde * @license http://www.horde.org/licenses/gpl GPL * @package Ansel */ require_once __DIR__ . '/lib/Application.php'; Horde_Registry::appInit('ansel'); $title = _("Photo Galleries"); $view = new Horde_View(array('templatePath' => ANSEL_TEMPLATES . '/smartmobile')); $view->registry = $registry; $view->portal = $registry->getServiceLink('portal')->setRaw(false); $view->logout = $registry->getServiceLink('logout')->setRaw(false); require ANSEL_TEMPLATES . '/smartmobile/javascript_defs.php'; $page_output->addScriptFile('smartmobile.js'); // TODO: Figure out how to force load the gallerylist page. $page_output->header(array( 'title' => $title, 'view' => $registry::VIEW_SMARTMOBILE )); echo $view->render('galleries'); echo $view->render('gallery'); echo $view->render('image'); //echo $view->render('photo'); $page_output->footer(); tmpBkUnjA/ansel-3.0.1/gallery/0000755013775000244210000000000012233765141016615 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/gallery/sort.php0000644013775000244210000001061612233764127020324 0ustar aadsi255domain users */ require_once __DIR__ . '/../lib/Application.php'; Horde_Registry::appInit('ansel'); /* If we aren't provided with a gallery, redirect to the gallery * list. */ $galleryId = Horde_Util::getFormData('gallery'); if (!isset($galleryId)) { Ansel::getUrlFor('view', array('view' => 'List'), true)->redirect(); exit; } try { $gallery = $injector->getInstance('Ansel_Storage')->getGallery($galleryId); } catch (Ansel_Excception $e) { $notification->push(_("There was an error accessing the gallery."), 'horde.error'); Ansel::getUrlFor('view', array('view' => 'List'), true)->redirect(); exit; } if (!$gallery->hasPermission($registry->getAuth(), Horde_Perms::EDIT)) { $notification->push(_("Access denied editing this gallery."), 'horde.error'); Ansel::getUrlFor('view', array('view' => 'List'), true)->redirect(); } $style = $gallery->getStyle(); $date = Ansel::getDateParameter(); $gallery->setDate($date); switch (Horde_Util::getFormData('action')) { case 'Sort': parse_str(Horde_Util::getPost('order'), $order); $order = $order['order']; foreach ($order as $pos => $id) { $gallery->setImageOrder($id, $pos); } $notification->push(_("Gallery sorted."), 'horde.success'); $style = $gallery->getStyle(); Ansel::getUrlFor( 'view', array_merge( array('view' => 'Gallery', 'gallery' => $galleryId, 'slug' => $gallery->get('slug') ), $date ), true)->redirect(); exit; case 'Reset': // Reset the sort order by date. $images = $injector->getInstance('Ansel_Storage') ->listImages(array('gallery_id' => $galleryId, 'sort' => 'image_original_date')); $pos = 0; foreach ($images as $id) { $gallery->setImageOrder($id, $pos++); } $notification->push(_("Gallery sort reset."), 'horde.success'); $style = $gallery->getStyle(); Ansel::getUrlFor( 'view', array_merge( array('view' => 'Gallery', 'gallery' => $galleryId, 'slug' => $gallery->get('slug') ), $date ), true)->redirect(); exit; } $page_output->addInlineScript(array( 'jQuery("#sortContainer").sortable()', 'jQuery("#sortContainer").disableSelection()', ), true); $title = sprintf(_("%s :: Sort"), $gallery->get('name')); $page_output->header(array( 'title' => _("Search Forums") )); $notification->notify(array('listeners' => 'status')); ?>

" />

getImages(); foreach ($images as $image) { $caption = htmlspecialchars(empty($image->caption) ? $image->filename : $image->caption); echo ''; } echo '
'; ?> footer(); tmpBkUnjA/ansel-3.0.1/gallery/index.php0000755013775000244210000000000012233764127020431 0ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/gallery/captions.php0000644013775000244210000000411212233764126021146 0ustar aadsi255domain users */ require_once __DIR__ . '/../lib/Application.php'; Horde_Registry::appInit('ansel'); $galleryId = Horde_Util::getFormData('gallery'); if (!$galleryId) { Ansel::getUrlFor('view', array('view' => 'List'), true)->redirect(); exit; } try { $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getGallery($galleryId); } catch (Ansel_Exception $e) { $notification->push( sprintf(_("Error accessing %s: %s"), $galleryId, $e->getMessage()), 'horde.error'); Ansel::getUrlFor('view', array('view' => 'List'), true)->redirect(); exit; } if (!$gallery->hasPermission($registry->getAuth(), Horde_Perms::EDIT)) { $notification->push( _("Access denied setting captions for this gallery."), 'horde.error'); Ansel::getUrlFor('view', array('view' => 'List'), true)->redirect(); exit; } // We might be browsing by date $date = Ansel::getDateParameter(); $gallery->setDate($date); // Run through the action handlers. $do = Horde_Util::getFormData('do'); switch ($do) { case 'save': // Save a batch of captions. $images = $gallery->getImages(); foreach ($images as $image) { if (($caption = Horde_Util::getFormData('img' . $image->id)) !== null) { $image->caption = $caption; $image->save(); } } $notification->push(_("Captions Saved."), 'horde.success'); Ansel::getUrlFor( 'view', array_merge( array( 'gallery' => $galleryId, 'slug' => $gallery->get('slug'), 'view' => 'Gallery'), $date), true)->redirect(); exit; } $page_output->header(array( 'title' => _("Caption Editor") )); $notification->notify(array('listeners' => 'status')); require ANSEL_TEMPLATES . '/captions/captions.inc'; $page_output->footer(); tmpBkUnjA/ansel-3.0.1/README0000644013775000244210000001007412233764130016035 0ustar aadsi255domain users================ What is Ansel? ================ :Contact: ansel@lists.horde.org .. contents:: Contents .. section-numbering:: Ansel is the Horde photo management application. It makes use of the Horde frame work and integrates with other Horde applications. Ansel is a full featured photo management application. With it, you can create any number of galleries and subgalleries, share galleries among other Horde users or even make them public. You can upload images either one at a time, as a zip archive, or even upload them via Windows XP's "Publish to Web" functionality. Once in Ansel, you can browse your images, download originals, view galleries as a slideshow, add comments to images, send an 'ecard' to a friend, and more. You can crop, resize and perform other image maniputlation functions. You can even have Ansel try to recognize people in your photos with it's support for face detection. Ansel will read and store EXIF data associated with uploaded images and can even auto rotate your images to the proper position if the image contains the proper EXIF properties. Ansel supports photo and gallery tagging - allowing you to browse your photos by tags just like you were browsing a directory. You can also choose to have certain EXIF tags automatically added to an image on upload. Mulitple gallery themes are available. You can create thumbnails that have rounded corners with shadows, sharp corners with shadows, or even make your thumbnails look like Polaroids! Image viewing can use a lightbox-type overlay on the gallery page, or can be a seperate image view page that can display image attributes, comments and other types of information. There are multiple ways to organize your photos within galleries. You can create subgalleries to further organize photos and you can also have Ansel automatically display a gallery's photos to you grouped by date. Ansel supports mulitiple ways to access your photos from outside of Ansel. There are mutlitple types of RSS feeds available, including most recently added images for a particular user, gallery or tag. The ability to embed widgets of your photos into external websites, such as blogs, is also available. For developers, Ansel also offers an external API that may be accessed via Horde's RPC server or directly through the Horde Registry. There are API methods that make it extremely easy to embed gallery views on your own website. This software is OSI Certified Open Source Software. OSI Certified is a certification mark of the `Open Source Initiative`_. .. _`Open Source Initiative`: http://www.opensource.org/ Obtaining Ansel =============== Further information on Ansel and the latest version can be obtained at http://www.horde.org/apps/ansel Documentation ============= The following documentation is available in the Ansel distribution: :README_: This file :COPYING_: Copyright and license information :`docs/CHANGES`_: Changes by release :`docs/CREDITS`_: Project developers :`docs/INSTALL`_: Installation instructions and notes :`docs/TODO`_: Development TODO list Installation ============ Instructions for installing Ansel can be found in the file INSTALL_ in the ``docs/`` directory of the Ansel distribution. Assistance ========== If you encounter problems with Ansel, help is available! The Horde Frequently Asked Questions List (FAQ), available on the Web at http://wiki.horde.org/FAQ Horde LLC runs a number of mailing lists, for individual applications and for issues relating to the project as a whole. Information, archives, and subscription information can be found at http://www.horde.org/community/mail Lastly, Horde developers, contributors and users also make occasional appearances on IRC, on the channel #horde on the Freenode Network (irc.freenode.net). Licensing ========= For licensing and copyright information, please see the file COPYING_ in the Ansel distribution. Thanks, The Ansel team .. _README: README .. _COPYING: http://www.horde.org/licenses/gpl .. _docs/CHANGES: CHANGES .. _docs/CREDITS: CREDITS .. _INSTALL: .. _docs/INSTALL: INSTALL .. _docs/TODO: TODO tmpBkUnjA/ansel-3.0.1/bin/0000755013775000244210000000000012233765141015726 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/bin/ansel0000755013775000244210000006672712233764126017002 0ustar aadsi255domain users#!/usr/bin/env php */ if (file_exists(__DIR__ . '/../../ansel/lib/Application.php')) { $baseDir = __DIR__ . '/../'; } else { require_once 'PEAR/Config.php'; $baseDir = PEAR_Config::singleton() ->get('horde_dir', null, 'pear.horde.org') . '/ansel/'; } require_once $baseDir . 'lib/Application.php'; Horde_Registry::appInit('ansel', array('cli' => true)); $parser = new Horde_Argv_Parser( array( 'usage' => "%prog [--options] [command]\n Available commands are:\n (Note that some command may require sudo access.)\n import: Recursively import images from folder specified with -d list: List all galleries or (if used with -g) all images in specified gallery create: Create a new gallery. Optionally used with -n to set name and --description to set description add: Add a new image specified with the -f option to a gallery specified with either -g or -s reset [thumbs|stacks]: Reset all generated images, optionally restricting to either thumbnails or gallery stacks. exif: Extract exif data for all images in the specified gallery. This will replace any existing exif data for all images the requested gallery.", 'optionList' => array( new Horde_Argv_Option( '-u', '--username', array( 'help' => 'Horde username' ) ), new Horde_Argv_Option( '-p', '--password', array( 'help' => 'Horde password' ) ), new Horde_Argv_Option( '-g', '--gallery', array( 'help' => 'The gallery id' ) ), new Horde_Argv_Option( '-n', '--name', array( 'help' => 'Name to use for creating new gallery' ) ), new Horde_Argv_Option( '', '--description', array( 'help' => 'Description to use when creating new gallery.' ) ), new Horde_Argv_Option( '-s', '--slug', array( 'help' => 'The gallery slug' ) ), new Horde_Argv_Option( '-k', '--keep', array( 'default' => false, 'action' => 'store_true', 'help' => 'Do not delete empty galleries on remote server after export is complete.' ) ), new Horde_Argv_Option( '-z', '--gzip', array( 'default' => false, 'action' => 'store_true', 'help' => 'Use gzip compression' ) ), new Horde_Argv_Option( '-l', '--lzf', array( 'default' => false, 'action' => 'store_true', 'help' => 'Use lzf compression' ) ), new Horde_Argv_Option( '-r', '--remote', array( 'help' => 'Connect to remote Ansel server. This should be the path to rpc.php' ) ), new Horde_Argv_Option( '-d', '--directory', array( 'help' => 'Recursively import any images in this local directory.' ) ), new Horde_Argv_Option( '-f', '--file', array( 'help' => 'Add this single image file to the gallery specified with either -g or -s' ) ), ) ) ); /* Show help and exit if no arguments were set. */ list($opts, $args) = $parser->parseArgs(); if (empty($opts['username']) && empty($opts['password'])) { $parser->parserError('Missing Horde credentials.'); } // Determine if we are local or remote. if (empty($opts['remote'])) { $runner = new Ansel_Cli_Helper_Local( $cli, array( 'username' => $opts['username'], 'password' => $opts['password'] )); } else { $runner = new Ansel_Cli_Helper_Remote( $cli, array( 'remote' => $opts['remote'], 'compression' => !empty($opts['gzip']) ? 'gzip' : (!empty($opts['lzf']) ? 'lzf' : false), 'auth' => array( 'request.username' => $opts['username'], 'request.password' => $opts['password']))); } // What are we here for? switch ($args[0]) { case 'import': if (!empty($opts['directory'])) { // Import directory of images $runner->processDirectory($opts['directory'], null, $opt['gallery'], $opts['slug']); } else { $parser->parserError('Missing directory parameter'); } break; case 'exif': if (!empty($opts['gallery'])) { $runner->exif($opts['gallery']); } else { $parser->parserError('Missing gallery parameter'); } break; case 'list': $runner->listObjects($opts['gallery'], $opts['slug']); break; case 'create': $runner->create( empty($opts['name']) ? 'Untitled' : $opts['name'], empty($opts['description']) ? '' : $opts['description'], empty($opts['gallery']) ? null : $opts['gallery'], empty($opts['slug']) ? null : $opts['slug']); break; case 'add': $runner->add( empty($opts['gallery']) ? null : $opts['gallery'], empty($opts['slug']) ? null : $opts['slug'], $opts['file'], empty($opts['description']) ? null : $opts['description']); break; case 'reset': $runner->reset(empty($args[1]) ? null : $args[1]); break; } exit(0); /** * Abstract class for communication with Ansel via the CLI * * @author Michael J. Rubinsky * @package Ansel */ abstract class Ansel_Cli_Helper_Base { protected $_params = array(); protected $_cli; protected $_compress = 'none'; public function __construct(Horde_Cli $cli, array $params = array()) { $this->_cli = $cli; $this->_params = array(); } /** * Check for, and remove any empty galleries that may have been created * during import. * * @param Ansel_Gallery $gallery An ansel gallery object to check. * * @throws Exception */ public function emptyGalleryCheck(Ansel_Gallery $gallery) { if ($gallery->hasSubGalleries()) { $children = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(array('parent' => $gallery->id)); foreach ($children as $child) { // First check all children to see if they are empty... $this->emptyGalleryCheck($child); if (!$child->countImages() && !$child->hasSubGalleries()) { try { $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->removeGallery($child); } catch (Ansel_Exception $e) { throw new Exception($e->getMessage()); } $GLOBALS['cli']->message( sprintf( _("Deleted empty gallery, \"%s\""), $child->get('name')), 'cli.success'); } // Refresh the gallery values since we mucked around a bit with it $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getGallery($gallery->id); // Now that any empty children are removed, see if we are empty if (!$gallery->countImages() && !$gallery->hasSubGalleries()) { try { $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->removeGallery($gallery); } catch (Ansel_Exception $e) { throw new Exception($e->getMessage()); } $GLOBALS['cli']->message( sprintf(_("Deleting empty gallery, \"%s\""), $gallery->get('name')), 'cli.success'); } } } } /** * Read an image from the filesystem. * * @param string $file The filename of the image. * * @return array The image data of the file as an array * @throws Exception */ protected function _getImageFromFile($file) { if (!file_exists($file)) { throw new Exception(sprintf(_("The file \"%s\" doesn't exist."), $file)); } // Get the mime type of the file (and make sure it's an image). $mime_type = Horde_Mime_Magic::analyzeFile( $file, isset($conf['mime']['magic_db']) ? $conf['mime']['magic_db'] : null); if (strpos($mime_type, 'image') === false) { throw new Exception(sprintf(_("Can't get unknown file type \"%s\"."), $file)); } if ($this->_compress == 'gzip' && Horde_Util::loadExtension('zlib')) { $data = gzcompress(file_get_contents($file)); } elseif ($this->_compress == 'gzip') { $this->_cli->fatal(_("Could not load the gzip extension")); } elseif ($this->_compress == 'lzf' && Horde_Util::loadExtension('lzf')) { $data = lzf_compress(file_get_contents($file)); } elseif ($this->_compress == 'lzf') { $this->_cli->fatal(_("Could not load the lzf extension")); } else { $data = file_get_contents($file); } return array( 'filename' => basename($file), 'description' => '', 'type' => $mime_type, 'data' => bin2hex($data)); } abstract public function processDirectory($dir, $parent = null, $gallery_id = null, $slug = null); abstract public function listObjects($gallery = null, $slug = null); abstract public function create($name, $desc, $parent_id = null); abstract public function reset($type = null); abstract public function add($gallery, $slug, $file, $caption); abstract public function exif($gallery); } /** * Class for communication with a remote ansel install via the CLI. * * @author Michael J. Rubinsky * @package Ansel */ class Ansel_Cli_Helper_Remote extends Ansel_Cli_Helper_Base { public function __construct($cli, $params = array()) { $this->_auth = $params['auth']; $this->_remote = $params['remote']; $this->_compression = $params['compression']; unset ($params['auth'], $params['remote'], $params['compression']); parent::__construct($cli, $params); } /** * Read all images from a directory into the currently selected gallery. * * @param string $dir The directory to create a gallery for and import. * @param integer $parent Parent gallery id to attach the new gallery to. * @param integer $gallery_id Start at this gallery_id. * @param string $slug Same as $gallery_id, except use this slug * * @return integer The gallery_id of the newly created gallery * @throws Exception */ public function processDirectory($dir, $parent = null, $gallery_id = null, $slug = null) { $dir = Horde_Util::realPath($dir); if (!is_dir($dir)) { $this->_cli->fatal(sprintf(_("\"%s\" is not a directory."), $dir)); } $rpc_params = $this->_auth; // Set language header $language = isset($GLOBALS['language']) ? $GLOBALS['language'] : (isset($_SERVER['LANG']) ? $_SERVER['LANG'] : ''); if (!empty($language)) { $rpc_params['request.headers'] = array('Accept-Language' => $language); } // Don't timeout. $rpc_params['request.timeout'] = 0; // Create the http client $http = $GLOBALS['injector'] ->getInstance('Horde_Core_Factory_HttpClient') ->create($rpc_params); // Create a gallery or use an existing one? if (!empty($gallery_id) || !empty($slug)) { $method = 'images.getGalleries'; $params = array( is_null($gallery_id) ? null : array($gallery_id), null, is_null($slug) ? null : array($slug), ); $result = Horde_Rpc::request( 'jsonrpc', $this->_remote, $method, $http, $params); $result = $result->result; if (empty($result)) { $this->_cli->fatal( sprintf(_("Gallery %s not found."), (empty($slug) ? $gallery_id : $slug))); } // Should have only one here, but jsonrpc returns an object, not array foreach ($result as $gallery_info) { $name = $gallery_info->attribute_name; $gallery_id = $gallery_info->share_id; } if (empty($name)) { $this->_cli->fatal(sprintf(_("Gallery %s not found."), (empty($slug) ? $gallery_id : $slug))); } } else { $name = basename($dir); $this->_cli->message(sprintf(_("Creating gallery: \"%s\""), $name), 'cli.message'); $method = 'images.createGallery'; $params = array(array('name' => $name), array('parent' => $parent)); $result = Horde_Rpc::request('jsonrpc', $this->_remote, $method, $http, $params); $gallery_id = $result->result; $this->_cli->message(sprintf(_("The gallery \"%s\" was created successfully."), $name), 'cli.success'); } // Get the files and directories $files = array(); $directories = array(); $h = opendir($dir); while (false !== ($entry = readdir($h))) { if ($entry == '.' || $entry == '..' || $entry == 'Thumbs.db' || $entry == '.DS_Store' || $entry == '.localized' || $entry == '__MACOSX' || strpos($entry, '.') === 1) { continue; } if (is_dir($dir . '/' . $entry)) { $directories[] = $entry; } else { $files[] = $entry; } } closedir($h); if (!empty($this->_params['order'])) { usort($files, $this->_params['order'].'Cmp'); usort($directories, $this->_params['order'].'Cmp'); } if ($files) { chdir($dir); $added_images = array(); foreach ($files as $file) { try { $image = $this->_getImageFromFile($dir . '/' . $file); } catch (Exception $e) { // Not an image file. continue; } $this->_cli->message( sprintf(_("Storing photo \"%s\"..."), $file), 'cli.message'); $method = 'images.saveImage'; $params = array( $gallery_id, $image, array( 'encoding' => 'binhex', 'compression' => $this->_compression)); try { $result = Horde_Rpc::request( 'jsonrpc', $this->_remote, $method, $http, $params); } catch (Horde_Rpc_Exception $e) { $this->_cli->fatal( sprintf( _("There was an unspecified error. The server returned: %s"), $e->getMessage())); } $image_id = $result->result; $added_images[] = $file; } $this->_cli->message( sprintf( ngettext("Successfully added %d photo (%s) to gallery \"%s\" from \"%s\".", "Successfully added %d photos (%s) to gallery \"%s\" from \"%s\".", count($added_images)), count($added_images), join(', ', $added_images), $name, $dir), 'cli.success'); } if ($directories) { $this->_cli->message(_("Adding subdirectories:"), 'cli.message'); foreach ($directories as $directory) { $this->processDirectory($dir . '/' . $directory, $gallery_id); } } return $gallery_id; } public function listObjects($gallery_id = null, $slug = null) { } /** * Create a new gallery. * * @param string $name The new gallery name. * @param string $desc The gallery's description. * * @throws Exception */ public function create($name, $desc, $parent_id = null) { $this->_cli->fatal('reset command unavailable for remote servers at this time.'); } /** * */ public function add($gallery, $slug, $file, $caption) { $this->_cli->fatal('add command unavailable for remote servers at this time.'); } /** * Reset images * * @param string $type Restrict to this type */ public function reset($type = null) { $this->_cli->fatal('reset command unavailable for remote servers at this time.'); } public function exif($gallery) { throw new Ansel_Exception('Not supported for remote galleries'); } } /** * Class for communicating with a local Ansel install * * @package Ansel */ class Ansel_Cli_Helper_Local extends Ansel_Cli_Helper_Base { public function __construct(Horde_Cli $cli, array $params = array()) { parent::__construct($cli, $params); $auth = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Auth')->create(); if (!$auth->authenticate($params['username'], array('password' => $params['password']))) { $this->_cli->fatal(_("Username or password is incorrect.")); } else { $this->_cli->message(sprintf(_("Logged in successfully as \"%s\"."), $params['username']), 'cli.success'); } } /** * Read all images from a directory into the currently selected * gallery. * * @param string $dir The directory to create a gallery for and import. * @param integer $parent Parent gallery id to attach the new gallery to. * * @return mixed The gallery_id of the newly created gallery || PEAR_Error */ public function processDirectory($dir, $parent = null, $gallery_id = null, $slug = null) { $dir = Horde_Util::realPath($dir); if (!is_dir($dir)) { $this->_cli->fatal(sprintf(_("\"%s\" is not a directory."), $dir)); } // Create a gallery or use an existing one? if (!$gallery = $this->_getGallery($gallery_id, $slug)) { $name = basename($dir); $this->_cli->message(sprintf(_("Creating gallery: \"%s\""), $name), 'cli.message'); $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->createGallery( array('name' => $name), null, $parent); $this->_cli->message( sprintf(_("The gallery \"%s\" was created successfully."), $name), 'cli.success'); } // Read all the files into an array. $files = array(); $directories = array(); $h = opendir($dir); while (false !== ($entry = readdir($h))) { if ($entry == '.' || $entry == '..' || $entry == 'Thumbs.db' || $entry == '.DS_Store' || $entry == '.localized' || $entry == '__MACOSX' || strpos($entry, '.') === 1) { continue; } if (is_dir($dir . '/' . $entry)) { $directories[] = $dir . '/' . $entry; } else { $files[] = $dir . '/' . $entry; } } closedir($h); if (!empty($this->_params['order'])) { usort($files, $this->_params['order'].'Cmp'); usort($directories, $this->_params['order'].'Cmp'); } if ($files) { // Process each file and upload to the gallery. $added_images = array(); foreach ($files as $file) { $image = Ansel::getImageFromFile($file); $this->_cli->message(sprintf(_("Storing photo \"%s\"..."), $file), 'cli.message'); $image_id = $gallery->addImage($image); $added_images[] = $file; } $this->_cli->message( sprintf( ngettext("Successfully added %d photo (%s) to gallery \"%s\" from \"%s\".", "Successfully added %d photos (%s) to gallery \"%s\" from \"%s\".", count($added_images)), count($added_images), join(', ', $added_images), $gallery->get('name'), $dir), 'cli.success'); } if ($directories) { $this->_cli->message(_("Adding subdirectories:"), 'cli.message'); foreach ($directories as $directory) { $this->processDirectory($directory, $gallery->id); } } return $gallery->id; } public function listObjects($gallery = null, $slug = null) { if ($gallery = $this->_getGallery($gallery, $slug)) { $images = $gallery->listImages(); $this->_cli->message( sprintf(_("Listing photos in %s"), $gallery->get('name')), 'cli.success'); foreach ($images as $id) { try { $image = $GLOBALS['injector']->getInstance('Ansel_Storage')->getImage($id); $this->_cli->writeln(str_pad($image->filename, 30) . $image->getVFSPath() . '/' . $id); } catch (Exception $e) { $this->_cli->message($e->getMessage(), 'cli.error'); } } } else { $galleries = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(); $this->_cli->message(_("Listing Gallery/Name"), 'cli.success'); $this->_cli->writeln(); foreach ($galleries as $gallery) { $name = $gallery->get('name'); $id = $gallery->id; $msg = "$id/$name"; $this->_cli->writeln($msg); } } } /** * Create a new gallery. * * @param string $name The new gallery name. * @param string $desc The gallery's description. * * @throws Exception */ public function create($name, $desc, $parent_id = null) { $attributes = array( 'name' => $name, 'desc' => $desc, 'owner' => $GLOBALS['registry']->getAuth()); try { $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->createGallery($attributes, null, $parent_id); $msg = sprintf( _("The gallery \"%s\" was created successfully."), $name); $this->_cli->message($msg, 'cli.success'); } catch (Ansel_Exception $e) { $galleryId = null; $error = sprintf( _("The gallery \"%s\" couldn't be created: %s"), $gallery_name, $e->getMessage()); Horde::logMessage($error, 'ERR'); $this->_cli->message($error, 'cli.error'); } } /** * */ public function add($gallery, $slug, $file, $caption) { try { $image = Ansel::getImageFromFile($file, array('caption' => $caption)); $this->_cli->message(sprintf('Storing photo \"%s\" ...', $file), 'cli.message'); $g = $this->_getGallery($gallery, $slug); $image_id = $g->addImage($image); $this->_cli->message(sprintf('Successfully added photo \"%s\" to gallery \"%s\".'), $file, $gallery); } catch (Ansel_Exception $e) { $this->_cli->message($e->getMessage(), 'cli.error'); } } /** * Reset images * * @param string $type Restrict to this type */ public function reset($type = null) { if ($type && $type != 'thumbs' && $type != 'stacks') { $this->_cli->message('Invalid image type. Must be either \"stacks\" or \"thumbs\"', 'cli.error'); return; } if (!$GLOBALS['registry']->isAdmin()) { $this->_cli->message('Requires Admin access'); return; } $this->_cli->message('Resetting thumbnails: ', 'cli.info'); try { $galleries = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listAllGalleries(); } catch (Ansel_Exception $e) { $this->_cli->fatal($e->getMessage()); } foreach ($galleries as $gallery) { try { if (empty($resetType) || $resetType == 'stacks') { $gallery->clearStacks(); $this->_cli->message(sprintf('Successfully reset stack cache for gallery: %d', $gallery->id), 'cli.success'); } if (empty($resetType) || $resetType == 'thumbs') { $gallery->clearViews(); $this->_cli->message(sprintf('Successfully reset image cache for gallery: %d', $gallery->id), 'cli.success'); } } catch (Ansel_Exception $e) { $this->_cli->message($e->getMessage(), 'cli.error'); } } $this->_cli->message(_("Done."), 'cli.success'); } public function exif($gallery) { $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getGallery($gallery); foreach ($gallery->getImages() as $image) { $this->_cli->message(sprintf(_("Extracting EXIF for image %d"), $image->id)); $image->getEXIF(true); } $this->_cli->message(_("Done."), 'cli.success'); } /** * */ protected function _getGallery($gallery_id = null, $slug = null) { $gallery = false; // Create a gallery or use an existing one? if (!empty($gallery_id)) { $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getGallery($gallery_id); } elseif (!empty($slug)) { $gallery = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getGalleryBySlug($slug); } return $gallery; } }tmpBkUnjA/ansel-3.0.1/bin/ansel-convert-sql-shares-to-sqlng0000755013775000244210000000262412233764126024264 0ustar aadsi255domain users#!/usr/bin/env php get('horde_dir', null, 'pear.horde.org') . '/ansel/'; } require_once $baseDir . 'lib/Application.php'; Horde_Registry::appInit('ansel', array('cli' => true)); require_once $baseDir . 'migration/9_ansel_upgrade_sqlng.php'; $db = $injector->getInstance('Horde_Db_Adapter'); $migration = new AnselUpgradeSqlng($db); $delete = $cli->prompt('Delete existing shares from the NEW backend before migrating the OLD backend? This should be done to avoid duplicate entries or primary key collisions in the storage backend from earlier migrations.', array('y' => 'Yes', 'n' => 'No'), 'n'); if ($delete == 'y' || $delete == 'Y') { $db->delete('DELETE FROM ansel_sharesng'); $db->delete('DELETE FROM ansel_sharesng_users'); $db->delete('DELETE FROM ansel_sharesng_groups'); } $migration->dataUp(); tmpBkUnjA/ansel-3.0.1/bin/ansel-garbage-collection0000755013775000244210000001101012233764126022470 0ustar aadsi255domain users#!/usr/bin/env php * @author Michael J Rubinsky * @pacakge Ansel */ if (file_exists(__DIR__ . '/../../ansel/lib/Application.php')) { $baseDir = __DIR__ . '/../'; } else { require_once 'PEAR/Config.php'; $baseDir = PEAR_Config::singleton() ->get('horde_dir', null, 'pear.horde.org') . '/ansel/'; } require_once $baseDir . 'lib/Application.php'; Horde_Registry::appInit('ansel', array('cli' => true)); $parser = new Horde_Argv_Parser( array( 'usage' => '%prog [--options]', 'optionList' => array( new Horde_Argv_Option( '-m', '--move', array( 'help' => 'Actually move dangling images to GC folder.', 'default' => false, 'action' => 'store_true' ) ), new Horde_Argv_Option( '-v', '--verbose', array( 'help' => 'Verbose output', 'default' => false, 'action' => 'store_true' ) ) ) ) ); list($opts, $args) = $parser->parseArgs(); $vfs = $GLOBALS['injector']->getInstance('Horde_Core_Factory_Vfs')->create(); $vfspath = '.horde/ansel/'; $garbagepath = $vfspath . 'garbage/'; $hash = $vfs->listFolder($vfspath, null, false, true); sort($hash); $styles = $injector->getInstance('Ansel_Storage')->getHashes(); $count = 0; foreach ($hash as $dir) { if ($dir['name'] == 'garbage') { continue; } try { $images = $vfs->listFolder($vfspath . $dir['name'] . '/full/'); } catch (Horde_Vfs_Exception $e) { continue; } foreach ($images as $image) { $image_id = strpos($image['name'], '.') ? substr($image['name'], 0, strpos($image['name'], '.')) : $image['name']; $result = $ansel_db->selectValue('SELECT 1 FROM ansel_images WHERE image_id = ' . (int)$image_id); if (!$result) { if (!$count && !$vfs->isFolder($vfspath, 'garbage')) { $vfs->createFolder($vfspath, 'garbage'); } $count++; if ($opts['verbose']) { $cli->message($vfspath . $image['name'] . ' -> ' . $garbagepath . $image['name'], 'cli.info'); } if ($opts['move']) { try { $vfs->move($vfspath . $dir['name'] . '/full/', $image['name'], $garbagepath); } catch (Horde_Vfs_Exception $e) { $cli->fatal($e->getMessage()); } // These may fail, and it's ok if they do. Might not exist. try { $vfs->deleteFile($vfspath . $dir['name'] . '/screen/', $image['name']); $vfs->deleteFile($vfspath . $dir['name'] . '/thumb/', $image['name']); $vfs->deleteFile($vfspath . $dir['name'] . '/mini/', $image['name']); foreach ($styles as $style) { $vfs->deleteFile($vfspath . $dir['name'] . '/' . $style . '/', $image['name']); } } catch (Horde_Vfs_Exception $e) { } // Might also fail if directories are not empty...and that's // to be expected. try { $vfs->deleteFolder($vfspath . $dir['name'], 'full'); $vfs->deleteFolder($vfspath . $dir['name'], 'screen'); $vfs->deleteFolder($vfspath . $dir['name'], 'thumb'); $vfs->deleteFolder($vfspath . $dir['name'], 'mini'); foreach ($styles as $style) { $vfs->deleteFolder($vfspath . $dir['name'], $style); } $vfs->deleteFolder($vfspath, $dir['name']); } catch (Horde_Vfs_Exception $e) { } } } } } if ($count) { $msg = 'Found dangling images'; if ($opts['move']) { $msg .= ' and moved $count to ' . $garbagepath . '.'; } else { $msg .= ', run this script with --move to clean them up.'; } $cli->message($msg, 'cli.success'); } else { $cli->message('No cleanup necessary.', 'cli.success'); } tmpBkUnjA/ansel-3.0.1/bin/ansel-exif-to-tags0000644013775000244210000000414012233764126021261 0ustar aadsi255domain users#!/usr/bin/env php */ if (file_exists(__DIR__ . '/../../ansel/lib/Application.php')) { $baseDir = __DIR__ . '/../'; } else { require_once 'PEAR/Config.php'; $baseDir = PEAR_Config::singleton() ->get('horde_dir', null, 'pear.horde.org') . '/ansel/'; } require_once $baseDir . 'lib/Application.php'; Horde_Registry::appInit('ansel', array('cli' => true, 'user_admin' => true)); /* Command line options */ $parser = new Horde_Argv_Parser( array( 'usage' => '%prog [--options]', 'optionList' => array( new Horde_Argv_Option( '-f', '--fields', array( 'help' => 'A \':\' delimited list of exif fields to include', 'default' => 'Keywords', ) ) ) ) ); // Show help and exit if no arguments were set. list($opts, $args) = $parser->parseArgs(); // Get a tagger $tagger = $injector->getInstance('Ansel_Tagger'); // Get the list of image ids that have exif data. $sql = 'SELECT DISTINCT image_id from ansel_image_attributes;'; try { $image_ids = $GLOBALS['ansel_db']->selectValues($sql); } catch (Horde_Db_Exception $e) { $cli->fatal($e->getMessage()); } $fields = explode(':', $opts['fields']); foreach ($image_ids as $image_id) { try { $image = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getImage($image_id); $attributes = $image->getAttributes(); foreach ($attributes as $key => $value) { if (in_array($key, $fields)) { $image->setTags(array($value), false); } } } catch (Ansel_Exception $e) { $cli->fatal($e->getMessage()); } $cli->message(sprintf(_("Extracted exif fields from %s"), $image->filename), 'cli.success'); } $cli->message(_("Done")); exit; tmpBkUnjA/ansel-3.0.1/test/0000755013775000244210000000000012233765141016135 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/0000755013775000244210000000000012233765141017177 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/bootstrap.php0000644013775000244210000000014312233764130021720 0ustar aadsi255domain usersrun(); tmpBkUnjA/ansel-3.0.1/test/Ansel/TestCase.php0000644013775000244210000000441412233764130021423 0ustar aadsi255domain users * @license http://www.horde.org/licenses/gpl GPL-2.0 * @link http://www.horde.org/apps/ansel */ /** * Basic Ansel test case. * * Copyright 2011-2013 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @category Horde * @package Ansel * @subpackage UnitTests * @author Michael J Rubinsky * @license http://www.horde.org/licenses/gpl GPL-2.0 * @link http://www.horde.org/apps/ansel */ class Ansel_TestCase extends PHPUnit_Framework_TestCase { static protected function createBasicAnselSetup(Horde_Test_Setup $setup) { $setup->setup( array( '_PARAMS' => array( 'user' => 'test@example.com', 'app' => 'ansel' ), // 'Horde_Core_Factory_Vfs' => array( // 'factory' => 'Ansel_Unit_Factory_Vfs', // 'method' => 'create') 'Horde_Prefs' => 'Prefs', //'Horde_Perms' => 'Perms', //'Horde_Group' => 'Group', 'Horde_Registry' => 'Registry', ) ); $setup->makeGlobal( array( 'prefs' => 'Horde_Prefs', 'registry' => 'Horde_Registry', 'injector' => 'Horde_Injector', ) ); // TODO: need separate test bundles $GLOBALS['conf']['image']['driver'] = 'Gd'; $GLOBALS['conf']['image']['type'] = 'jpg'; $GLOBALS['conf']['exif']['driver'] = 'Bundled'; } static protected function createTestVFS(Horde_Test_Setup $setup) { $setup->getInjector()->setInstance( 'Ansel_Vfs', new Horde_Vfs_File(array('vfsroot' => __DIR__ . '/fixtures/vfs')) ); $setup->getInjector()->setInstance( 'Horde_Core_Factory_Vfs', new Horde_Test_Stub_Factory( $setup->getInjector()->getInstance('Ansel_Vfs') ) ); } }tmpBkUnjA/ansel-3.0.1/test/Ansel/Unit/0000755013775000244210000000000012233765141020116 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/Unit/ImageTest.php0000644013775000244210000000214512233764130022510 0ustar aadsi255domain users * @link http://www.horde.org/apps/ansel * @license http://www.horde.org/licenses/gpl GNU General Public License, version 2 */ /** * Test the Ansel_Image class * * Copyright 2011-2013 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPLv2). If you did not * receive this file, see http://www.horde.org/licenses/gpl * * @category Horde * @package Ansel * @subpackage UnitTests * @author Michael J Rubinsky * @link http://www.horde.org/apps/ansel * @license http://www.horde.org/licenses/gpl GNU General Public License, version 2 */ class Ansel_Unit_ImageTest extends Ansel_Unit_Base { public function testExif() { $params = array( 'image_id' => 4200, 'image_filename' => 'exif_test.jpg', ); $image = new Ansel_Image($params); $exif = $image->getExif(false); } } tmpBkUnjA/ansel-3.0.1/test/Ansel/Unit/Base.php0000644013775000244210000000215312233764130021477 0ustar aadsi255domain users * @link http://www.horde.org/apps/ansel * @license http://www.horde.org/licenses/gpl GNU General Public License, version 2 */ /** * Test the Ansel_Image class * * Copyright 2011-2013 Horde LLC (http://www.horde.org/) * * See the enclosed file COPYING for license information (GPLv2). If you did not * receive this file, see http://www.horde.org/licenses/gpl * * @category Horde * @package Ansel * @subpackage UnitTests * @author Michael J Rubinsky * @link http://www.horde.org/apps/ansel * @license http://www.horde.org/licenses/gpl GNU General Public License, version 2 */ class Ansel_Unit_Base extends Ansel_TestCase { static $setup; public static function setUpBeforeClass() { self::$setup = new Horde_Test_Setup(); self::createBasicAnselSetup(self::$setup); self::createTestVFS(self::$setup); parent::setUpBeforeClass(); } } tmpBkUnjA/ansel-3.0.1/test/Ansel/phpunit.xml0000644013775000244210000000027712233764130021413 0ustar aadsi255domain users ../../lib tmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/0000755013775000244210000000000012233765141021050 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/vfs/0000755013775000244210000000000012233765141021646 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/vfs/.horde/0000755013775000244210000000000012233765141023025 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/vfs/.horde/ansel/0000755013775000244210000000000012233765141024127 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/vfs/.horde/ansel/00/0000755013775000244210000000000012233765141024346 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/vfs/.horde/ansel/00/full/0000755013775000244210000000000012233765141025310 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/test/Ansel/fixtures/vfs/.horde/ansel/00/full/4200.jpg0000644013775000244210000054161312233764130026406 0ustar aadsi255domain usersÿØÿàJFIFHHÿÛC     ÿÛC  ÿÀ€€"ÿÄ  ÿÄK!1"AQ2aq #B‘¡$3R±ÁÑbáðr %4CñSc‚’¢&'T²ÂÿÄÿÄÿÚ ?Õ BÝVÒ9ûê<ˆ;A÷}^.+iÆQÏÜñ¨!)öãÝE F‡¥<ç{Þ8ÀÑ4ÀQ|qΩfÅ sz±ŒñD…¬R>«¥©ô¨qί$0€8ã Ÿ:¯œÆæðIv‚™Ùò®Öã”üëðÊuKÛ»çžuÕpd³Ûóàc\þýþÔrsŸ†ä«r|kßÕº°UŒpsñ¯æéò}ÈÀïç]OS®†÷mÉ#AÖ<Ôà«‘Îs«2VêûˆV?o¶«Nì¸Z²IÀ:¾¤Sã¶ÖG Ð\ÑÛÑÔ>ï·ÛRÑNs½¸‚r?C¨q?Áÿôh¢˜†\d)Îp<çAZû²Ð9ç€ׂùi¼`gή$Æ 1ûj¶L'3„rqöçAºš÷{Ž9ñ«sÉZÀÝÏΫL¥p0|äÿ–§S"<ÓÃ#Û» è-ˈÈNß':ìÔ”ããã]cÀGl-y9ð1ç\ß„¦r­ÛqàxÐwú„”a.€|ðuÆdã»ý5çö7¹ Éù.{+c„çí¡­œá*ýõÒ,òêϼò<èyçm8ó‘ûÿ}J¥ÈZ@QI*ýó %a;†âyøççSb-,ÿÄý¼êž ¥¨‚±ŒùÔµJã(' ¦‚ÏêÒ§0•`k£Ò·!_ÛTnLZIpsοEiÞúøÐ\µ/g»w'Ÿ:yo<ø è\ÔNB‡'ûêDj®x'ö$è ÅQ¸ƒ¯U7(€yùÐÚ*e\ïÎ|kõÊ–ÓÇž4¦TpTIƽ±QRV|èoñRž šöš‚”€wžF€›ñ<§rUŽ8ç^EKçWŸ±ÐóU5!¿j¼$ëÊêEiÉV€ŒÔƒ´83~~1ÎÀÐÁ©‘‘¿ŸŒŸ:àªÃŠp`àh —U W.lëûñ¤¥'*ÉùçBË«§;·óŸäådŒ’²sã@TºØ'Ú¿í¯B´­žÓÏÎFƒÑ\çÎ_×âî Ágíç@Xõc~=ÇÏŒë‹Õ^1¿ûçÎ…$à¹ñàëÊëèpm"ë8;s®J«íWæó¡‰5 ´,sò5ÊÑIí•¶€¡Êê‰Æþë¯&¸B°§4.*ËsÜUã_ÍÔòœ¨äŸ×@JªÑQ9_ßÉ×ï⇶‡¨ò@Wó¯b¦R¬nÏçè§AÜOÈÆ‚{Òì1®fVUÏ<ñÆ¡¦aݱg“ö×_ 'ŸŒh%%õ!yGúj@©§YçÆ¡…„a$ç<ëÃêí¶W¸êïT”U¹*#ôÆ¿?)GæøñŸ§~vÅåGƒàk‰«ø9$žt¦¢FWœëÊê-•¥xýލDå¥YÉ>5ÍúžNAàh[˜ HRü¾½µ59+Üùлu•|Ÿ¿ß]?%\8Ïœèþ´ç WÔ¦*ÉA~SŽM µTà’G'’tEHç¸IÏùè œ«¡`aC¦¿[ªàì>Ià¡tÕÔW?ûë³55m W‘ñ &TéÞWsj^åà/Ž|R7V.£nyø×¤ÍÛÉVyÐ_¤çÎuü–R£Â¹Õdiàª9ÀÆ¥7=)VAÈûè$ÅmÂÛ§Ï“©Sc»á#$qGmÆœ;÷sçIŒáAÚNsÆ‚4›y$ë¨â––‘ŸòÕòq´€r5ÁÚkŠ;±€|X‚VRƒŒs~ˆËmA;|]E§»HÏÆ¥·o©ÓÜK|ç\XeÌ#o?®¬âÐHîyÕÍÝ Z?®­Å=-§`Nr<ãAG k ÿ<ê|\6®~ÿÛ]%Ãíç_Œ°A÷~t IsR7ᄅ*SÒ¼’xñçP¹)'¸?sªº…q´ŸkœÎ4^ïåƒÇÏ>5De¼xÿ¯:‰ø£`oÞ8<Œë¤ZÛ]ÀƒÀ?Aúõ4†ò¥ñƒäkƒTý¤ÌHùÕ«µ(¼nNOmA~§«-ŽNƒƒtHëVå pã_ÎЀP“ÏÆ¤FœÉ䨟¶»þ"ÎмçÆ4h¤¹´´‘“ž8צ轰JÒB‡ jÑ#­~Ñ’yî E'Ûž><è)†•º ‚r9Æ­ãÇm¶ÈFF:ç„!ÝéNGõs¯o=ÛñÈ#AÕe;kç?>N®iò[m­«QÏÜj„>„7½jûùצ*ìÙàŸA!Õe(Wé®í`´w§~t8Ím æCƒûji¸ÚÆÐ°N~þt(d)ÂJG?õÔ¨û㜔x:¨b´Ê—¹DgàOVeÅËÐ\Çš‘Ý#¨×)θæv¤àüë„yQ”@ßû“¯OKk>Üh+d°¤¹µ#…“äüëƒtŇBÏu&KÊyÂá¿cHüøVGAé4©;¼óóãS!ÐÕÝ¿Èÿ-u‹4pVèãõÕƒ5FR2…cAV¸NÇx Œ ó®À%µã'ö×IS™u[‰óªÙ3Ùß»?>AÐY®;{{‰ûmWKXiËæÍX¨vÊòÛ^eJAH@9ÁÎ@ÐrrRÇ%<|ë£2HO øÎF½­)qžQÉðHó®m !YÇçAÝÕžIÆ8×òç©gnî~úã%¼ ÈPÆ>~úó‡^'nsûè;‰Ê“œ|kÓu§8Q¢®Û^Iÿ=u<(qœóñ r;xsÏé¯Å¼¥(lWbuíÛÜÉÜ1àjct®èÜ•þ‡ARú¤ är~q®n>æÌ¨c“ž5q.œ¦Sà÷ƪf)¶NœüãA ùÛ9Ï€uÊ¢¶q‚>Úþ¨ÉiIÀǯTJbˆ €ó ±UPœ(ó®Jª(ŽsŸU90%8<ç9ãGvª”§bO?#: ÄÜÉžy×/ÅVádsÎuPº¢BT’¡û¨nÔˆ9+ÿ=*j¡ÕŒœ y3Râ¸'ÐȬs·yþçR›©oo)s'ãöТXP®©ZÕïK˜ýGïª(²Nü““çï«î¼³´‘”ù &V ŸbÉ'ÆO:±¥FC§s£Ç9øÔzLeIt§Žsúèš—O ;K@眑 âÔR„‚„q©Âob‘ŒM_A¤°¶ÈG¸:õøc¨å$äòt²)­©ÝÍû€>uý%‡ÈNÎ4LÝ1%”#?s¯QP#1’~€Qµ)kÚá gä|êDšk«d»¸àþž5o&R‹ ûêÙ»inÇ ü’€l¥®æÑ‘öÔ£”½ž<“¦ö«X=öÈÇ„TÔm^òHíòGÛ@þ´N5± ¨’®ÈÁÕäÛuÀ£„äƒÏþb„÷d©ÆöŸÔèeº¶ŽÌóûëÔ/úð¨«ðA¶­bÓúÁή"PZ‚NƒSž•=*Kh*!@{~F»½@ª8µ%Æ’~N¤¢£›$þ”žIù×z­àRâ–³Î[ê¥&u5¸¯žyÕk²e2¤¯ø÷®¬+•×ë.lK‰Æïr³œãC7<·P‚–Ö0 Iñ šºü½å”¨äry×ò.'IZ—‚“PÐ*ìýj²T€}۹Έ+ÔZ[”ÔÔéTyq±ÉAýtÌÝÕ)ìmøÔ¸÷;./!Ñ“ó¥UÏX~òÔ™ã'j¦RHPJ#ÿVïäl ¥NàŒgV‘îÛx_Ç÷Ò?Q› ä }ü}X±ÔÀŽŒŒc•s sódœ,qç_ª¸£¹“”øÏÎtÿix=Áçïñ¯u%kÈ2þ𼋑Ãä+U‹¹ÙmÂéóÁ'KEõ)Süüê·Ú ¸îüñζ‹½ YÜï8ûë¢.¤+ÞóúüçÆ“Ë¾r½ÈYû‘Iƒv¸³ÿçï rGºHö¶æA< òu>Ö¦I+w0“’N~£ËšJJУçï *“w óðs®nœÀ ä¾fÖqsöÕc·Kí=…¬Ÿ×ï hF«7ÊsãÁÔ¦*ååX#íŸYÓn¥à,»Œ_Ó®ÆÜ!A`ýùÐ0#ÈJ¼tC€6yùãB.–Â{€“àgÇþÚÝÚ“…oÏß'@EÝÉ) ?›ýu.&Q‚ çöÐÔjûo9¸¯SÛ¸lxøÐåµ\ØëŸm ܬð<äê©W $ Îxç#^?h‚çúüè/¢N(9I5*-Y¿ø„ãÆ4)øêáCÇ8×%W…“ÿmN®ÙAXXñãçC:Â\ÜæOëÆ¢O¸ÂšÚ‡03ðuGUuŤ-µ(ŸÐxÐuŸW N8Õ|šªT’JÇŸ¿Dê”?ê½× •Žç?®‚[µœ}†uu%­Â¬ù8óãQ%¯i-¥ÎMGúæÚW¹C'Œ‰Gs’s÷?:ãø‹…YýõǾÃç%D¿Øëñe¤þ€ã΂Z%Ag#ìÈÔ¸ò T2…yàF‹eIt œŸñ«¶)]öÓ†ñÏÿ1 —EXyƒûjÚ;èv¹”ýÎ4>îĖ[W´ó«KË…Dƒóþš <ö’ÐP8 ý¼èŽ•Xˆ@,8çΗ”ÚÊ[þY^5i °ÚœÛ»ΣK«°±€®~N¬Ãˆ}›9t¶§V%G8ùѼêˆSŽc9ÐEbZ q#:ó*žÛØi„þn<꽊«oq¿ScÔÛJxÁ?}˜t²ÚqÇÔ¦¡©9¿'Î|ëÄJ›kž~ÿ®¦%Ô`8h!Ol(Rž<çãT•E¥M¥¡Œ~añ¢ wÉQùã@r’ÚNV­Çì>4‘(̸Þí¿ßåP €6²œ~¸ÑŒ¶Û=” k‚Ò‚‚•,dheÚEM•”qçwœê®] ¸C^?¾Ž*f/gxçãî419åºùC÷4k¥2Ör9ñªÉÔÇœ% H>ŒJD˜ÝÝà/Ï'·êpd0¢„¨ùó ­r; °U¿ #ÇÜj™ÖФâ¸ù:º©EuHAH'òÕcQ$¸¥)mxø#AѧOòÓý^F< yú5¥^Ïßι±RŸ?Ê#5w’·(ààg:dwÐø lÿöSZU•'Ÿ€F¿¨4¦”°á!#$êù¨-„„w“ ë?Ô$ óçSÓ H!H'?¾¹ÆíÆiøûëªæ¶ŽA<è$‡œOíM†Cˆ çTÂc9ƒó«Ú+`n °‹Å€°?ËV AÞ=ü ~Åg´ÖSñ©Ìæ ãõ:”úP<çý5bôZd(«Î½@JÔøã“®ëp(d§Çë å=” $ùó«Šb‚–~F«@í7€ 糦­*HN?¶ƒæíR¢–œSIXÊ~çTnÍvt‚‡Ô~ÈIÆš7jH˜¢$¸NBâ¼þº™r¦Ú¨­ G1šB½Ãn@Ç’4áÙõÉ bSä¨ã‚†Î?ÌjJ:+yÖ€OÑ–ÂÏ%YÏ÷ûhŽÄêý©Pfœ'$— Vöý4ܤש•¹ä;¹Y9Áÿ-?¦ ´ÉC!öÚÝákIã\랟îëi¢Øª%ÂYh¯ÐþšÑuBÖŠŸ¨ª¥ í8Ò¬ÿms«Ý1–•‰Œo FAì~oí Ã`±«t4â[j•€¾Ñ´¥­<í5Á‚y:Ù]t¾mZľü›7|eM’½§>3‚5ŸîúMŸp¨»8ö«ò,chÎNŠäôåçñzbâ–‡v©DsÇé¢ÉT\R¢" >?]\Û©ÝpMbœ„ñ…yÇß@ .)‰Á QñÁø×¿ñÅ’Iù::GG‡â¨£!-*B–³º23óûjÚâôçX£F*‘±äxýô &ërö%¿{TÉ g»œ[³gÓØqA+-”ŸŽuµI(@,øÎ>úqg¾£ÿr~ù#V‘*k…‡2~4?%ôBd÷»íöÔUV•¹g#ÁÐĹ^$ŸŸñΉíËgnâ3ž>tŸjãPÀKƒÏ8Õ½:ðTdïïúh0o¨§.@Ov‘~ / p`ù Ò%}B’“ü‡¶çʳ®ˆ¿#ù“ýô©³kx}sMä’ AÏ÷ó¥ WÉu?ñp~uÝ7°k*/Ðg@ábñ-‚{Ãä1¯×¯”„%î~0tÿ«´¹ŸƒÉ×ówšœNOõgΕ*ïKŠ÷«’uë/(­KÉ1¥ó·O«$“Øk«7"KÎ~<ç@~Å{ üYC¹GüÜ ñ¡{%,W*lE’î„% üŸ¶™C¥¿P¾Ügr¤‘K7,•+cdç>¦¢ä”Úpµ“ññέgôþ}%¦ÒÌæáíXoUÕ­é…HB[J ¸)9àè,`Üëm°T÷ÎsŸšoA´½œ@ÐTès¡ &BˆÏ¤çPÞ—%¶÷(2@:õÞ¥Cpsøûë«Wx^Õ2sÈ'ƒ¥³7 -«´¥•/ú¿O×R©u%É|2 C$Ÿ7ZP¡¹Ó‚|k²n-œ’wPìËüB£)sÏg~°gFÓzO59ÇÊÊZm°¢°t/Üd,åCƒÀÎ3úk…G¨bSËaiRÔqʹ¤ê#”š[ݪU@:´d9Œ¶—óîmî^pOÄ‹ÑRÝ‘á>5 EÒY+xý‡Æ›¸;ĶӞ>3®oT×Ý qìãì®N€áW’+ÈÔy7w‚]ã]qJiÂR>øóUnW‹å 8pù~ÚL{¼‚§1ŒçƬéU–Ô°°ç9WΓÍݤä-DœjcĈê)îp?¦ƒBЪtçÂN ÇSÜŠêˆKƒ®³Õª·ùœÁsñ£Kkª ¬$¸ÿÈÀ:%ÆJƒ­ G%:«‰?ºÑQ“ñª—¯ØS[Âßò1s¦Öã¸ñ%ÑŒøHýõ8N1þš²%ÑÊUÿSê2àßÜöøÁ~ú”ŠÃ1’TWOJ±m9SŸ?ôÕÕ2ám¬¸x>t½‘uEB2‡êï¯-]Ìøèðî¤àïs«˜w3e#ùžt•‡z$’’þxçVð/¤%!*{'îNÕ ¾×ÌyÕ´[… Iò?}%¡^èJ6—GÜ®uwL¾[8d÷V²Ía§G¿~99´'qp`gŒè‹Ù’²øñ’3¯É7³+IÐ ÐN­5ƒ±@qðuXõk¥KÆ>Ú7[n(µÜÿ_Q$W{éQJöóÆN€–eY™JÆìýµsG)!IãTˆ¨•‚R¯ï¯ÕTžFÜòt­Õ7‚•+hÆuÑ·!¸á/’¡àƒ¡ŸÄÔ¥ûÈ?}zLÇ\ H#ü´Z€³†ÛOïú}µ^âb0H(O'$qÆ ~$û ÷ ó‚Jµ[T©¿ÿ.ž?8ÐZ)Ȉpøóã]™©GÆÒàÀýt0‰²Ö2N óÏ{nKÜ€³ú „ZÃ#–”2GßSÚ¯¡DŒçAqŸpcßñó«%òJ?\è …Sº8s#í©m<Þ‰ççCqÓ&*»€ãíñ©ÌTK8S¤“žAÐD[eÄœŒùSª-äcq xõÖR ;£>F5>Â8JÛ@Ƈ- Hɲ‹%!Cïûè—Zuò=úº‡V*p ÿ„w¯êÔ–ù$èvQ W¹¿:²9@‡1 ¾n:dd— žÊÁ< UC©àägV,Me\•gAª—">$6â9Á-2¡ßQu¶Úé´ØSNr[¯¸¬„­¼yøÖ‹=¥HmM–¤(Ps“Ÿ¾¸ÄôõBJ‰~”+Vâ9øÇ8éçG¨µË¢#®31†‘¹EH;{‹Ú3úiðÏLä"'n$™œ'KãN¸¢@BLjj”䌧ò_Óz~ÂSžÐR)#ƃ3ŠÖªN„¹R?¦Y'ûë¨ôÓtÈtvçîoî”sÁãZ‘›JÜÔpÜ MbÙ1ðR;tÿ©¾›î ’ -¾Ï¹€”íó¿é¥ÍÉèéö£ýjYË€[H Ÿï¯¡nÚ]@[±B•úŒüj²£cSÜMágᛲ}7ËjÝKpèÏ.jÖC®)§óúè~uŸ~Yk0#BuHo *F@íÁ×Ót–ŽÛ…åBJ³à5wF­é©Z^¤°¯$69ýsËg-KÚ¡UEJ y ”¬’álùûçRêV_RÞK³åTäºßo.¶\<Œké$ž‚[ÒM9‚‘°²žOëܽ ¶ä~ÒݪCG_¡ýÐ|È•N­Ó3 Æq³¿ÏÍŸßSJ~£I¨D(Q¤ñ¯ T¿I–•E¢ìz b’æT‡Èÿ¶­cú2±DE2Š3Kî«)ÆÜÿÓAòòï´%Â’’ ­… T ImâÛmœ¨ûGß_S¯/A6”êŸLÂK¹À <ö\T‡õ ÚµNžÂ›kòÞ@ï ùæÝ6S>÷¡ž@Çq{êÛWæQôÖÖê—£ÊCô”Ê Å(Ø ícv~@ùÒR»éšø§Ë ʶ¤!$Žv¸Wí I¥éNp7ò3©m5-ó~24Ó‡éÊñ–ïò(«8 m-œ“ý´miú4ºjòb©Oz1t…ºÒ¶ñðN4ô qÀÉ?ß_ŸU%DœgZ;©¾› ÛM±JMÜþßæ¸äŒgŸ¿öÒrì±eÛa+z.Ð¥œ çüĬ’£Áäk»2ž_;í«4ÛuR˜êÊÇBv‘> ÐÑeCžr“ èÛ³w`àøV®¨Ùõuâ+*Rü“’5:‘eÔ*ÑЈŒ©ÌŒŒtŸ¤WZ«Ê¢8Zíánv÷~1 »éKî9râ&U)Ô²ÝJ<ÿ}mž›tFå ¹“[îìoR|gT} •ϳ#Ò$ÛìH1€S©(ÁNp~tò¶ï t(TÊ;o€{k<}´ º¿H-é옿V°¯éö¤ãTÕ…[túy’{n¼Êl|é»2ø@$·oAOÜ)€sªÊ…ã9ä(þãÚÀÐg÷BbI[»XÁ*9VÏ®ƒn.’Ñ)’ =ÖÒvƒ¸«àþšÑ×=uJ܇ŸJJåàm%/Jܸ …AÖ2„·»œ c@¯t{´¤Ë‰!+$åghy<ýµ-·˜êC•Hîm ¬ïàüè{«ýK«Ö.Ìu¸Û ƒ±xŸ8Æ‚ªuÛš àLb¼¤d¥*ò>ß®ƒBµZv‰/Qç´”6A%>ÿ¶ª¯Þ¯\ª4xè«6ÚWèeì~ÙTPîZËÑ \žÈ)ØV2G÷Ô‹>˜úë_Bøï°ã€%G8PÏÆƒÕË\}o%õ¸ Ÿr•òtV­¥ÐrUã#h µƒC]¥Sh`©\,²rŒs¥~ÒKõ„²íL´U•œ>ß砦הÁí6q<üüê|jÐuYZ3îÁñ¢x–U°Ô×%Ü’Q ”§-¡*tÂGþt tV`Á«;øXR ;NN4µjüd¶†7 29ägTd:VØ*Õ:ÛSe)Òy#Ï:cØ÷NØ¥tÖ3I@pm)I<:hŽÝ°Îuå´6óêJý<ë­ÝM›HŸ![n¡ Ê^g”‘ûꑉ GIS’ V£•h,Ý3a¹–Ü$góxÕ­­R*ö|~úçbÓ¹eˆs%)-ùc9:µ™ Ú-ypu)m'@?×AÝ4ö\p¬(y >5k •äñççP+s­êrBþ¡2PÂqýõVåx¸Â› “”üÿ}õ?©;[Ø·Á ç žÞTNÇé gS¯T© K£8ðN¬cÞ(Î>¡>|g-Ÿ¤ÖélÞ$(Ô_—ýΫãç@ëz”©23÷Éó«H²œÚRîçöÒN5Æë JÔµps“ÿMX¾¶{B’9 ó zG½êJ„¯Ÿ¾¦Æº•!½ŠtgÎs¤´+ì6Œw<ýÿ¶­àß­mÝ»oèt èµNâÒ7ã'àüjÙš„~ΰ2éILê PJd üœþºµfùÃŽ;ÝÿmUIJ6¶¯ïŸûk’ë y¸àäýügKÏñuÍýà8óç_©¼RQ÷ÿ¦€ûñ„²FÒGúêÆ•q6¢¦Üû}´²bïÜàJלj[:wî`œg@:¨Ûίj±öýu$5HYîHãU¡®„xÇèuoãJ%|ý³ÿ}?á«VÕ¶à ×W)Í¥'ïªV.´ìíƒÇJ‹r%dâûs µb€Þ„ŸçRXRÚ£ãUfãm–öoÁV3tUÊÒ’ïœ 9,¼Û‹ÀÛÉ#UuúÃ-(°ÁÎ5U&àlPá $p5]" ÓË+ZÁýù: hÕwP­ÝÏë«juwÜœžt"ÜÔr”ž>ùó©ñ%$ àç¿•p¥´[F¸I%itŽy8Òî™QPV³ús«VjŠRÆÕÿbq b@¸ñÀQñÉέàÜ)QwçKhu|' pc÷Õ”ZÖà ]þÚl[„c¹þº±p¶?¬Øéeº¥ŽîàüêÎ-l¯Ž÷8Ð6!¦>9F¥©ÆXl¼'“ û¦þ Ú)ìÖj(aKQ IåÓUn­[w(:bpN;ÑÖqò29|9Qd4—Ke;†BO‘© ;á‚G'Æ•T®ªYòk« *º¤JIáµänå?}Å©@‘Ÿ=Öžâ\IÜT½¡'íÏïOz ýÅq«m¥©m¨ûªRsç*•.5J)aô6¶Ô<+ÿH›©‰‹CÑÝåM‘’~Úºbù¨º‚ÌePÈW8Ðb€SЧ´sÆâŸôÕ{Ö…¿-eÁeÀAÆîH¨Ý÷BXaПis:ñMº+*t¹Þ9Ï»+ÿ®€¶Óû^‹¹ÈTˆÉR•çnOùë­vÙrtBÔ(춤§_§öÕw5Ĭ)œN1ÁÕ‹û•I£vÏ¥ÇéÎUVs®JKêB¹Üœíûh¨•âT#²ã´½ée;Êlóih•*ˉÃTç{z–ܰ©µã?-ð4b‹é¢Ýa-4-´ 7ùY?¿ÿ>úê/¦Š3Ôûç·G>ãûknŠWåD<ãÛSTzQoÕê"t¨*q^FINsƃ:Xœí‹^žÓXJ»ƒ$© ÄxÏÆ˜ÖHé”D“JaÜ|(åHÿ-5QÓjL…¥Ç)áE£”’O´êÒ—fÆŒúa½¥GÜ8ÿætT^œÇ¤Hr©.J]`û–…# |ê4/QݦÔäZ뮥—"¼ZÔ?–~ÄŸuðÖm÷éòp*BxÎ~5‚º™Ó'm›²Dg;á™/)iQäž|?«^µ®/¨òèº\)TÖÔ{O6æå)´;VõÉ\©¾ÛÔÛm­ˆ¸Ùtí$~¿K¿Ò›²]T½NmÇ›ue ”“úý´IFé]T7˜u… g;?æÐBê_ë×…×þ!f­""öä¥Ó±$}†‡n.«Ü5–{J©> ¯ÍµD×p®ôÞ·nÈp×#ûg%K$cãA—™0Ч¡¼v“ƒöÐw¸êˆv"¨ÈQ! ´‚µ î>F“kéaô¯’ àh®•5! OÆÇ[ººÌèŶԭÈ q V@“¿n@?”ü袛pRª‰_j»œ¡äk²-ª3ËOn:'8)ó v¬%ŽÇ·Ü?]G[³¹aæxÐüÛBTWAjG³çüj‚ ¥º«@]ðS›”V@Ô–¯Ww¾AÎF‚Um¡îq9ÇäåÀÞ¸ãõÐ0—ÔPHîÈ88Îî5ú/ä·Á|òp0¡¥}Z´—.6¡ÀÉÁÕ w<Äcl…mÏ:«wz$'-Èóù¹ñ©±+:Þ{„üg:L[—ˬ=Û”œäc8ñ¢dõ= €ÖxÎ<:|Yî¨mð~xÔèuËeAXý>tº§õ‚B™)ýÑ5â5I-'tÑ*S{‡¶sð5mKr¤ù qXçv¢[ÏGY*VF¬\/?P2yàè-á4è ÜáQ#齃Ð]S}Ä,¤ƒœhf—^ˆT7>’3ãD0®Hêh%8ý41"Jáe_çó«S ”„¤ç華\‰@k8ÔÈ··…¥€LhëJƒW«3:r»á¬á—R’~úöäJ4g ¤ c HãJɾ®z_E¹3þX'öÏR\¾´:GE¥;V\™%hVÔ0[Á'÷Ï×@שÚ֌զ|†mÖ•¹·Ó€¤Ÿ“ õ ¨V»Gp¦û„Ü†Û }*YQ8Æ>uúÃëšâ¿_•I¤ºÝ>–â€K#%jÁÈûé?"õ‹R“þêë©}*ÊTÊŽƒê¡{&«FŽ“[aé„©ÃÿõÆ|LuÜHuFúvî o9þþuƒ}0_5[:ÿ¦×ªU´Ô2¤K\§¿"OÛZ:ðõÒZø´Ç\¨:“€¦Û’<ç@Ò¸ú²Ý°äTO€ëʘîÀY$ü•sÀÔY÷:ò–c.9Ë<…«ï÷CÕ=tô©qÚf±FxI $’Ø;TO%$Ÿ<émuw§¿†5Y Ö#ÉL´•¿*D€ÊÉ÷ð4“m¶Œ¨òT…5çjÒ8ÿMÔúogÅ’ã’a…8“„¤©#“SÝÞµº#mRª;zÖ¦‡1"V³öÿ©Önê/©ôu’å~u‹@¦SÙQøÉ?øÐÝ4éMj½2¡—T¦ä¶„åâý1ó¦Í“ÐþË´šˆl¡½jÜRJ<+õÖS{¬3((rŸßq \æJã8ûh¦Éê¼— vt§#¼3  ýÓÒ·£!lÐڌÑÝ"Çß J“÷?8ý5|-нf˜šÄÚ}2¡ ÅÆ|¨c<‘ÿ'î^¤[Tz#‹’ÃeîÙì¶¥pÇHȾ©ºµeÕçA¤\I¦(}LtŸå­#ãã÷mÐ[J‡ÓÚÃI,µý*%+IûãÎ4E"ضétçŽÛh!9 'Œÿ}|÷wÖ¥Üôä»H*{A(XY+J€åYùÏÛQîT½H¹iæ=o¨“d§ h;±>sàcA±nêƒwknÒh‹ZJ BÝ )Nû†½Ø}<»›sèÚ®¸þÔ Ãoç'β'Nýg×ì8)¢4Êg²‡r®ÿ»‚¬œŸ9ÑåW×ån­MúY¥#f bò¥~ê>?¶ƒe[t),F-ÌN…cYÿ#®³¡Õ¢ÈH%ÿw%Û†|ëÛ>³o»y‚Õ¶·y{ܾUîû‚|gýt_Gþ"WÍ*"ã¨Ã’êŽC’“¹Iý1‘ ÚñáÎD4¼ã»V•€uE©J¬ý…¹ôÇkÏ>²Û:Ëø“Þ¯Ó\RiP[u(Æ{gj~êÿ¦ƒ'úóêír^øuˆ°Y;‚Ó0AV~I99ýt²L¥·?â+ˆÎƒ—UÞÐgWÖõE™”´-×Äd%A@î|ЬuŽmAk©T+O=!Ì­ÇÔ¢ªhþ¦îûR¢¢_ó-8´côÎ4U˜—¤­D|çüµKwõJÀéõ9U ª¼ÌdÊŒåkóá#“¬SKþ#=KU¸ÜµPa¾¤…פ‡p<þúEuKÔ…ý|Ý2.Êú]ð¤´Ù í¡*òÐú¢è­ïYz•-ˆ+ ¥2Ó´¸?æð?} õϨþžmZ;5š•1Š›¥e–Qä…‚@Éãs¯Ÿfö©ÔXYnC‰RåüΨeÕªILUJ*ÜIH 8ý´ Îõ3Ñ…¸é©ÚS ’v©ä%hýñ¯ë«©Ý=fs+<™ p¼÷U°¤}‡ßþšÈ&.åÇÝRF0´çÑN¢?¤·Å„çÊt [ιQ½jÝËMý2xi†[ÆÇ_*²”í• d,nqkä9ÕKýB«Ì§¸ÂªjB×pF  —&GÕ!ÕU’T¯  Úñ”µÆ[iÿŸŸÛUWôêkŠÿñjÚm¾ÒS°+ 9Õ]HËq‘ÆF5C2™S˜¼%µ(çAùDh®)ǹ#à}þúìýzSZ•a$å`rMGI=­Ž€|Œëûü3)ÓÏÈNƒ´ƒJJ{‘A‘ó¨rLT§ZÛÿ/·´JmÄöobG9ÔZ­¹! þBBÁø älŒéún?\ükõw ˜é-´£“ý^uøôi¬{koëþšéѬÔ§£Ó^q d©-’?ÏAU*·S~AZŸZþpuáÚ•H7ÝÌ< µÓê¨A”¸ H@ÊŠÆ8×”Rã8¯§wqàhÕU}Ö²QÈÏßSbHŠüp©)??}ÈéÍ,F5? PÜ €ãQ#ôùn<úµlW#AA#sŽf#Yν1sËÉÁ8É#L:wMY…¯ÝäôÔ¤Û¡¤%¢pO×@¿z™±)!aJð 5ÈA—°”3€>~Œæôöc²Ü\Y”+œŸ$ëÔ[¨Hl,ä«bÄÐ H#ôÔº|E-H''€ ´].Ñ“N;ä³¼ùÇý?mF‹kN©¼[i²‘· ‘ç@?ørÙVæÒqúœÿ}um™…aDÓLkkÓ‡Rn¹MÇ ÑŽæä'útÆ»}?Q:}Ò6e]y1+:ßs¬xV~ OÄ£$)´¨àíó«*uÍZ§¬w^'ÿI5g)·_RZov6 ãŒE}© öˆ»¼e[rGë µ‡Ôš”M«ï©$I:³‡ÖÉhQÜàŽùÐŒúJÝl6w ¬EµUmdŒüh±z첂P$¾×é뺖 ‚•x²t¬jÜ­>áPެnç'Õ¬ RB””­'#óyÐ7ÕI½è|…çÉç:“«îF^鑟:¹ƒÑœm•}¶¹ËˆúFÈWŒí?¨ûê_N½0FêE1É”ÚÑQi{Kh ’~tìõå–P_ 9ùOY·×Ö¥±ÚQ û‚4{DþÑšqÝÂ8q^à_JAçÆOß_•?KÝ;¶5*Ÿ*BŽäªIw N0ßþºéê}:NVò†ã?/¨4ÇGµÕn?”ÆŠ_é—DèÔùl\õ О†¦’•‚·¹ñÏßý4°®¹m ‹¨¡¨¡ _òî(· U;ñA*¨äñ·ïª7®—¦—1Á:»¤ÿ†d0œ·þž5Ùú-Õ…°Ëi8ûc:g'<ÿæQçïÏü.­Ô¥J#>>F¯^µ»é*‡´àœã]©”V©ïÔ ­h);‚~øñŸä–ŠŠBÔNáàÿí©t«Yé€Â¥;ÿ ò³úhÚÚ³©õé1–í9ak| $'ÉÏÓíî˜[ö…¬Å½OrTW‚Ú,a{‡ƒús AÙ»îu}Bé%–@Èp3ú×G}-Ôž¥µ>Aa…©ÍŠ><ûOé¦U\Xv[²¯ýí˨H[ŒCŒðFÂxžèCðz¬º‘UrT”S@S8Ó…^vîçA§¤Nˆ•Ø/9Ì:‘óú}õ6'JE9æã†*\[©Gh«‘Ÿœê¦£}Ñ#N [ôµºÒÿœ$gV\R.&ÛRb¡´62v¸}O¦×=¦²©.ØFä­!Cí¨ôÊ5F®GÓ!d‚¥p5â%v¥-3%8²}£z°ÓSÑq˧Âv4y`¡_Ô¯ øÎ€²‘ÒÚtxH•2¸ <”!$óöÑE¯hЊ;J…%Ayذ24¼¶¯Ù°ZLC ¼ßü¯Ã?q¦-‘Ôj)äJCl<Ÿå-¼?Lh-&tÝÈªÝ —ÈNâ¿ùMUÒ—Ÿ!F\ïc#9ÑÁÖUÊ)q©«‰!gà§õ¦‡ O§oW×yÁûè0$ûжê0£´Ž3óªz…v¤ûJfl…) çoÛLšµ§M<¦©ä~ú¨ÚQÚ}ENÓý'¤SÈ&«ÿ˜„ä×V6ÜÛ6¦äTÈJϸjÿü:¦Y[M¼”%™TU»1§Õ¹O ¨v« {’ê¶%†ÿª”4‘üÄnàþÚ„É¥;oǸŽí¤„ ý¾úz×e°PR®<€¬çP·-¥§´}— \º6¨ »ƒíZ‡:ª›|OÎÅJp¥)ÃM÷NÔý¸×UÛ«y`-Õ¨ºµù"ÑÛ‚#,ýñ r­5÷JæK* þ‘ÀþÚ°¥Ô¥¨È¦ËSn)$(çÈÔ‰–³)H ÃZHùYäëõ«nWæØØç: È»êŽÝNvôýIçDÖÇSízHÛ)×B“ùv´HЛ4•w Rp|êZ(A'yHAøÂI k׫ÔêªKQâ=´p•ãþß®ƒ]ªÁž¥½Ûtx oÏ÷Õã”5¿í É'ÈÆ¿bÛJaÅã…ƒöùÐ ²ËO¿î IûàêÚ- ·ˆK…dÀέܣ­¿s ídük÷ð§Ñ‡#<eºb0ˆÜGú©;÷) üíέƒ"BBlnùjD*•òQíyÐB¦=É/(§#x:š¤’ÊÊøÏOjÚˆë{–·B¼a#S© ¶ ãTýã?Ë^rNƒ›/Aa€ÊŠÖqÈS¨Ô…ÖÈ… 2KŠsàþÚ©fÆ ç[BªÕ!ÿ:~üyHÁ<}ôU^—Õà6‡kvZ°ä þ£üµ ¾œQ”2–ÛJG½Ç9:á:«rÕÂD’éÙà¬ø×V)õgÒžû¹Ç&Ô¥XôèQª×Ùe¨Ù@KIP#’N7~º¬ëÔî‘Õ Ž™~"û-²KȨ#“ò”Ÿ‘Ÿ 55·ÛHVSä®ñèÒÝ@﹂F?.s D6Òáp¬c8Ùàr4øŽ?¹+8ÝòtW*ÐÜrI;†IÇ:蛾ßq–HøÝÿsÔè²–”oÎìdëùV㯠¦<Ä¡ ø“¢¤X“Iß©9ãŒêm:…P¦/¸Ã(Fx$ Ÿô?õÐ/eQªqÑÊ–´ ’­§Q¡ÛÒjjî*ZsÇ´ñ¦·å¸¢¶ÜQqG*Ê0œçZ1f­èëmÅ2•IùÐ+bÏi´­5†Ôôüë¬{jrNÅ:•'áIN˜Ç¦“ÁVd}†9Ρ©VEEµ”Ž8Ïï E„‡•¸èD¤ó¯Ú“.2Pê¸B¼`>¬œ:âù<à×:èå³&k{dI^Pœ âl$­ pIR 3Fzͪ´¢¶6©`’q¦'øA ­o¸³ð¯Š»YçÂÖž Ð/kÔ™»ô,ü…r4EG®Ý#˜Ñè­¼¥h‘«7j·,ûàc#DŒZT6"¡÷˜t•x*Çý4 —ß®T[X— ßù°Ÿ¾¸Ò:aO¬T€Ÿ>t [‡¥•›QÎѪC’´p¤°¼Ÿòóª·ÄرÏz0OŒàiÕTbÚ¬ËER-#w.´Wóûþºýü:˨¥Pg„:T7?´p2y?ôÐ!&»6Z;0• |rtCaS¨ËCÒ&>––@ò¥ÓLš]¯h-k:2û=ÅIÆ|jbzkc9$ÊmD2¯)C€à|èí®³ßöu#ð*-m-0œìþJT±ó€|ã:[êïQ/w¶]òÄÆÓÀmÄ ý†ŽÙ²:g¦ß‹LJÔŸ%Ç $þڱˎʚ›mÄ)P‹jw÷ÆF3SzÇY ‹<+o+(snÐüÊd.-LS“!^Ð|ãOõ½ÓC»ÞCN䜡e ×益hößÔ„~½•×@™zÛd¸„Ç}%CƒúýõM¹,>WÚgœΟaXôƒõ/R›°¬„%¼m?þ±:É‘.M))ÊxCŒqû h3Í»@ªO–ˆéjp“€œùûééAôQQŸDLõ\°S=lnngp' QÑ%³ÓZd³9Š2R 0oÇê¬êE¼ÛŠ}r¤€U„% ÇÜv÷è ÓÓÙU÷L~*\d w’wŒÇï£^“ŠGO¨éª:ýAQR°\K±•%>R¬§óucp]r[r*ÎÉÛJÃKá[?nx¬¹+´ ,E µ%.…^ J?M u‚Ö¯E‘ɯ<¥¹½Äð’8|hZÙê BD™KYKº•Ò¤d¡GäüçUõkJ<§KŠBÒWȤ¦¸1Óõ´×ê3ÆG ho UšÌ¥Î¨-ÇHp%N¬úkÌŸ>äAX— B9üÏàtÀG¯¦’ÂÖïÿ8 yûê[ôê{Q q%á%8,ùûxÐ/¶ÚKcèýéÆ3ãŠõM¼“õŠÂFãÛ‹Y(Q<~Të¬KE¶Ü*y”ÞBŽq ¦¼)qÒ6©ÓŸr±O‡q8µ¥Ç©­’“ËD }^µiÓ“‡fÑöJxæíœÛ’” ¬í üÇä}ôv‡Q Âˆ ±BŽÂ’æô=ÚÜ ¯ÐêÒEó*}LL¹ç™ÑTàî¤/ ÆËûjŠfÈB’•<}Ç“´qûjù®›ZÓ£÷­Ëeáÿ) ¤ýÀÆ‚®ºä»¢ãüSë‹P½±"s±±£õÓ6d‹fæ·µ¨õaOe–’•¿+„¬ã 'ç:¦XvëQJ¿YRAÁWν"‹ +Ú]Qà+ï ¤¯XÍÛµ”5L«³QÈ%Ç"¶vƒûŸúý4FR ëN”þ|jÖŠ¶!yjOƃõÊ]zSë}…¸ñhJqúã_´ê}~~$.;å±ù–”¢Û~ùb• Q¿ *ÿ“‚~ù:“D¸ ÑÖ¹Òã%dîe\: ­R€‡ØsÏsªG¨¨Q*Ryç@ÿžÍžóAE´œüí×mÓÏ*k9m**ý~[x«ujã…H“·?تæúÛÔGt Td㓱µ¬ÿ×@äU¡OqyS·é®âÍ„¼!)>>(šëgTiYƒyü®-•dlêž­uFá^ê¥Å!-ÊÜuvÓÿòèŒÙ±SÇhóó®R¨VìC™5[óÜ’?×YÒ]ízÄB™MÉ9I'RÈÿ®©¤J¹*9[’W…vçA¥–,»ÙdøÈšÿ}[Ò­„¤Äž‡‰å;J³û`󬤚5qâ¹Î\jÒ“F«RÜKí¸ò“ÂÛt¤ƒû¤6@9ÿ=*¨ž¥ªQ’\i¹¹ÚØn8Õèõ'j<ÐJ°•£õТ„Îwc?òñu†öøR¾Ä§¯”3ÞT‡ÞuåV{AÍÛGé‘ Ø^«,#»ê"KlpU‘þ‡V‘=DÙÓ“þéRŽ“ÿ*ÐAÿ#³*h~‡ôÝ¢„pªø½r¡H;Të% +ië©ëu¦‡%FJ‡_øÐY5híXÜIû~šôýªë„’ùó¨G¬–£m÷¨DHÇËàj CÔO¡_©ÇVxµ)ô Ö-ém£`YÁñƽ‹mÒÙqJ9?®„žõeÓÖ}‰…!À|)¶Uûä t…ê’Æš6®£Ÿÿ8Òñþ`hn¾¥a$þ §RY¤Ji¢ÊFR¯#hçU#®–™l9ÜŒ­À~GIÿ¶¿‘×»]<¥”(°Qÿ¶‚õŠ;­~D`ŸŸæmÉ r‰?®ª_m-¥F1Ýýÿî5úߨk5Ì¡pÖ=ß: '-µ•þRyÈ:öÕ³á¿?:€:õdœ­q–qÿ)9ÿ¦¹P6Yþ,”éOÏ÷ÐYȶҰ0Œ~£~"‚P0wcÈNN©Ï¨[)Ç»nRg§Ÿ= @Õ„^­Z“Pa·ˆWܤh' XJrêrsœë‚éG §8Îyuá]L¶ÿ*ÙwŽ1Æ¿¿ÚE¬P8w²Sÿ—é}ßÌ~]~&onÀñíןö“j•gk¼qðï¯ÕõÐ( ÄþéùÐGT4>æV‚vþžºŠ|RA±ö'^S,5‰˜sŸ?Û^ÏPlÐ7 @þÅ?ùÐrv—ó|çŒGnŒÊýÀŒ<ó©‚óµdóKQFpH ?÷ו^Öš1îp•|” 㦙Pg÷×UEh¬pqãÆ¿¾-%øËÇöÿï¯ç/[GwµõýV3 è)1\q=œgšd6Ý ÛœœGfò´ŸÀ¹ÇþýõÜ^–º”—]Î1Ë|~š âÇ´…ñŒry×µFi ( Ïúj#w•®ÐISÊ8å½zÕ¦·œ” ã-h$³3) JÆï‘úë«qR¬nOöûê;w}¤V'þ¸(#]ÿÆ–ÞpËå\d£A5– ¨ÓqãS™n1@ pà|îÕC]Õ)A'ä£Î¦7rÛÉL‚säè-ZSL"Bþü8u! iõ¥Nº¥íñ¹YƪQr[àíî/ÿàÔ¸÷?þuYÿìÐ]ÄÂqûKBãö#¢uRIÂÚ^Æ€bª'ºJÞ¨“ÎNªg$TZP ºV‘ð´yÑ,ª<¬ln7íÁçQÜ£LJè‰8‘‘û’æ$åPÛ$þúèf)Ð?ÝS»ìAÕ“°y{Ž~I×´R”Ñá°ž>UÈÐSJq‡=’¢7Ÿ€”“¨ªŽ…ûË8GÁ x?å ’–S°°<ðqã^™!$i<¯-]”W‡G’1©°dRç#É VxI#í ŠüÊPS«_ýú—N¦8Ñ.ÄuÄ’1¹u=0[$À¬~aÎ¥B¦-õöC‰V3€ 8ý†‚´5Ro\ç8ã 9×C2>íª{?~5sM… ©Q§<¦ÂTARÐNÓúüê<Úd&db*ƒÉÇ• §ý‚©Æ©RIxœm9×Fh­:€¦A Ÿö(rqöêŒÚ7lu¥%K?a䞦SìÑ5ÖÚŠ¦ÜBÝJ1÷$z ) Zä~ø×§hÁKܹ gçþÃDˆ´ª K,¥¶îÆQ%~ÿ›©µ *lg†”H´ïS8ÀQ)óŽ=Úô¶7nÂüù*Ô¤Ñaì‰Î<h†=YÝÜ Q‘—´§ûg:³z‹-!)\h Pw%ó —RNÓõ:±M†Ê2ód¾9Σ¢5+yÎx8 íó¢õtÖá¨Bz©TE6‡B F` 9Ï8<ûWʰjñçµ+mâà8Òò‘Ÿ‚t+‰M#-mÀÔœßU“šy·Šc© ðqÆ`ôŠå¨Ô o³8£üÙ€É þB=¾ÕPS1Q`¯®ZŸ¶yøÿ]Ššd4‚’9ÛŒãüõYP›4;µªváÿ©CÑ[¶ÝÃŶվ§v¬‚ppOéÇs•^B;®QB‰<ÎqœsÇŽtlF©ÊFQL#? ?ê05%4ÊÚTu'ÂBP¬ÿÓWÐíÛ‰/˜ÑÙ}½‰*'%>>ý†½Éf󥿇~¨’‘ïîÎF@È>~úöEq.²øåCf¬#® bಬƒùËçí«vaÝÕd-‡ÛRÐW‡äÜòMx{‘L¹ÜB<¨œh"1±¦AuÄ“Î9<ëô¡¥xRG˜«tz Æ÷ÂÂKeJüÙ?ë¯è.)¤©·Räà°RA·þ8Ð@‘ T}ßm×4@!£ïWùœêét©‰Ù8Hos€­+CcçÇŒ–º4Äé p*FÀîãy9?ßAB˜êJ0Ùûã9×F¡4V·2¯[ÿßVèƒÛÉÁ^›D$eo' ÉL1$¤´ àç^Ì(ï/!$©± µ*@C*J‹ŠÂÚ $“€5Õ1ÝPK§Ú¬(lð¾‚$zsà²úÒ>:‘Ú’°P¹N/õ+ñ©ñi«T¨ú) h¥ÆØ$ûã]åR-L¶—‚…–”’ FGgüôMÞØRÞ8òÁäb$8PøÕë0"€0°¬$nÊ¿í¯èô˜/L )ðÊU’ã¥%dqÇŸ#Ïë «˜BAž>ÚæËÍ2è ’ ñZ®Žû§éÛ[m¨£88ò>3¯ÅÙµ&™©´§ …&8hîVHÆØs áõ¬8pÐI?8ó¯J¨($%…m ü+ýuüiRp!.6N'·óö×¥RäP‰)PáÄER¸ý´\¬L#aXWësvª´óò¤Eµª%Å9%®×°-²äe Oè5.›L¥?RvŸX®¢"Þæ¤ý ÜJÏÛh÷Üý´^Zöt?⺋XX”¾5ýþ/©I*PœpATr*J»Œ :äA>6+'ûè.—uÔYNÖå'õÈ\W{Ô1°ÊBŠ~1ÿ¾‡%Ì=õ “Èö©@lkŠ©’Ú&BöUÎ_ñœç}†RIàí>uÍWl’¢…ÕV6§«ÛÿM ËqÔ¥JÎÜjãUk­Öça大?òGï 97d‚’VtðV¿¯4ú2õAÒ¿Ï<þº“=)@u/¹»ì”øÿ-W;Yh©_ï²£óa?çŒ=Þ¸|·XqÊ—Iÿ¾»'©5M¿Èžµý·ŸX·R)sÁ!¿?¯é¯ÄU¢ÔËÒœJÇÂÉ›]Mª$®XRu!®¬OiA{Êþ 8ãJxo¶ Ö±œ`¸u!éÒRÞèî™s$4‘õ›–O!IVᬠI’àQ#Ë~uo «d%%uù²4…EÏ)+ /£ió«X7;íùy²­Ã (Pþúän¥ÄÀzÇ•çRSÔ¦F&)_r$ÑpOq€àwô¥Ìjs5‰jHÿ| àrü~š*º³Û…KÞ4@ì²VÁǾuød¶¦É9*#’ç@¼rœ Õ)¸©œ©• ž2@×ÿ¼=ôͰJÁà!¥i¡÷„bÇyä § J8#íŒàyD˜ðTT…-²~4 ¯Ãg¥]´CQ8’¿Ӷ¥V³22UÕÏëÏ0YqiÃJ~B¼ê꜕¤e-¨qyÆwQèÍZ¡QJ˜§¼òOæÚâR‘ÿñuaJôËS¨¸Òÿ]HRœv^`ü #Ç×EªÊayThëçúòq«H—œv0‡"0 Ná «tÛiã[ˆQÜB”ÃEÁöÆìj›¥Úò*C’sàq¦ûwµ%m‡”ÃeCÏ‘vUûISi%¬x~4 ÓcîH[V㬬ÜFùøø×ò­ ÁaIƒ }ÊÆïòlN½Â’ XÛ‡ŸÎ9ÕzîY’Uƒ4 ùw9ÿMý»*Zd¥šçÜ¥ þØ×ë4JüR¥Aˆÿpñ€Ú‰Çùhý‰ÕDdÄ’–÷‚5ú—®2ïuwR¡ÀÚF|Ý6â-×õù¿”Ïûêy ÜaqÊc…Dq– ó£S2çJ‹ªš£ÇÖ’A×îzèVyƒ÷ÜÐþšóJ®–Äy<&9ó¯Æ)Uèä6).£”»ŸqÑìÎqs f*“žH×V¬Üͯ ZXJÔœ(«9ç Z®Ûº “ߣ:ÙZw'ùÜ>ãR¢P.h@§ðÇr£€{X?é¦ÚÚ$8—\JVÁØ~®¨§…)¿ž@:YŠÛΡª…6JŸè 9þÚð›.´#åª$•ãl|ça¥ÆúÒ˜ÓÒ>ÄCr©q­â~©CnF[lŒ–€65¹q²QjM‡0 j2¶Ÿß4GJµ-Âѱøóo•ÛññŸ?}KU~éŠèž@û,(ãýuåÛš¯-’™›~Ùκ××µKŒïpòSÚhmD§\L„3•΂yÿ-K‰J®¹‘%qR~éFt?àzÚ Bí¦ùòᆜxý»ÐºWvÖ*ȧ >2šP*[èie)N>FNé¦3q§=ßò­kȉYŽVQQN ç·#ü´¿ì®àˆ ŽtÍÌ7ŽPÆA?§ êŽäêƒÔú_Oë­……°2@8$yÓÖÂJLµ¹K¼ë Mi²j¢´Ÿ@€Oéœh)¨V}ËOBÄ+²wDz„~ÙP×y´ ¿b“.œrB‘ŸÿÛS–ŠûÄýMEkÿRó¯ÏÂç•·aÜ0B ýôµdæA+Œ°R<á'ëªòÔ•ïZUŽÄÿãFr)•‰@¥ÒߎJH?öÔdÙÞI [j'à6AÿC  ]Rtoå®®”))ÿƽ1T–â²íE·‡þ¬ÿF‹%t¹+þcôæÜ ~`¥s¯Äôâ6Àç>4ŒÉ >ä7Ï 9ÿ=yv¥!'r}£9Â\V?ë¢_ös$$ºœù<®¢=Ód ’§Ô<: ˜Õ‰n9‰kp A¼c]í å‡TÏ;Aóçã_’¬P…’ÝFKcÀ9ÇŠí••ûk‹HýFƒ£©·VNé@góod~*—E2‰q1Ž¡r5ëT°žÚꀜZ|냔W[9DÀyÚ½“VÔ2¯ä=Xÿƒýñ©YÒÜ ˜¨°HJw-E¡ÀÇœþÚ£TW»¨î<¤GÏÛS›¯\-2XŒ –”«C­n cs  •sØÄ©§‘ Ì|·X'ÏÆ«å_Ô&˜Txvën7’y`'<}üë½ZÓ…Q’¹/Ó™JÜ$á…lH?  C R"Br$‹Q‡Á—õn¥Ägô Úqú|êÝ©9á!Ûiö”Œµ0äÿž¹*á°c2S“â•x`ÿÉÑ2ì»mpiú,¥KW,H½sÿêñîÿ=T½ÒX5&Ü\‰ï%m¤vŠ•|{½Ãõñ ©—tY²"8Ä)KqÅjÜ”<þQÈøÕ}A{ZœËÀœm.äç< R: g8ÛÆuñ-’Ì}´4¨-áÌ€~úáþÇD*j$C¸a*R‰ÄTG·Ÿ!ÎAûè¥\ ¨8Ô&ŠåAàGÛí¯Õ]’&$wéHIǼ>A¢ôÒä•/é’í)9È+~R”ò}‡ÏÇêuMW±ïh‡|Z#]Äa§¤Ÿ×9ÐU½|UJ‰”ÊËdcùa ÏpãPeVâÔ\3%Ã’µ¨Œ©ÂéçVNô¯ª2·H…kÈ“ÛÉ"C»G8OÇþúà:mÔäƒ!û²ByQM9Ò8óñ íJn×*kÊ(ä¥HÜÛ:¸©ÙUØ«ikµªe.6•å •Ÿé8ä ¶ÍÄÒ¾“ð ÅÀ ŸæS*ÏÛMBêß[¨4´Sãʶã %¶ß·”âÒŸÿƒ?>N€fE ómDD´ç¤Ê‹?b5Tìû‚3ßM* ¦–œá ˆ¡‘ýÀу>¨¯—e˜r!GT†ÎmTŸpû‚ƒ©p:ßxVªt˜¶ƒþæ¨E)WêyÎOè~4ÈŸ;v]fQWœ­ ¶x×A2°¢VÖR?¬m?Û#Ïé¦Å ©ƒ³_zÚD¸(Év,8j!`•mW>yÉóñ¢ÈýKî€÷û¸JÊKp’à#÷( ú+fïÁçÎëöÔº]Õ-Ò§#:¦Èó—#ÿÔÖ›oÝÌ©Èý.ªÄH Ýõ”¤!8I9þú²…kC–µ¡VÀ`·Î\€ØƒÁçAš)ÓîiÍîCî¨+Á-€ûž5m%MзT…ähz…=éN¤KRW·”¥Èˆ!'ÿ—TïÙùŠÙ"—e+ÊUôHJ¹ý±öÐ.áô¶§6žºŒ›‚œÂØSqåKÚóÞìa y#~1`OmI+Ú–’w(:6Ž<ùÓ ».uÔ[aµÒ¡öŽ5Ë[€«¼¢Nq¼ è'®šÛ ©*-ügâš{åI^ð*Á@ÈW:þmÌœàóät\ªNÖä•$ü¨dk×â]ZHòC³ù!%IòÏà‰…··cAb¹¤ÿ(6ÙÇ<'unNäöVÚN/BKÀ€¢Ú8ƽR·ÁÆ@Ƃ̈́!Æ”…ÆJ“ðsÏýu&Zx÷*9IÈ9+ãUÌÏGl,¾q®¨¬¥ ÂÖp‚èÄ@ÚÇò5)´ÃC@öð?æÕ"+ +ò8OÜ|KEEmYOî΂{í¡L…÷Çÿvøuɱ ûD¥ó½#üµÉÚêÓÇ~"¡d´~Äg &$CX’8ç-çþú˜Úšq[rʆOôçTöTw¥('Î@×ëµ6ÒâAOµ'’tQ¢S\Ûß`Ô«_…´¼!J8œè wlfÈm lsýEC]â]ÊÉ)snxö;Ïç@ÈC,:’Pú€ýò?¾½¡†<¸’°O’4ÇPd¶‡jÿ“V°úäãÛ¹ç΀¡è¬<Ÿå°„œd#ÿ}Frœò½©i£÷þ^ª˜»ZAm¬ãço?èu>5z>;Ž€~ƒÚ)}•î §õÂ<ñ®¬Ädœ)¬pã¯Ü•}*Sㆂ¡ˆS’‘ˆ Î>Rp?]}4ö—½q•úùÕ‚ßxä´Û©#Æ5Áʋ͒’µ…cåzæçìV×#¨`Évúæ:¤6>mCýF¡¦¤—OŒ¯É×雼eÇ…}ùÐJv¯LJ‚Q=•«jVudö@Þç*ãþš*xÈκHuÐ;‹IäøÿçíªÉ’Ö…R¯>HñþºÉTÂ¥nqÿÞuáGJ @R¸ñ¿Î¼¦zœåa'þ`ÿ]H)k7ÛçÎ×Çù}l˜ÒB½±ÝIÊyý5ÍÆˆé.¤ü‚®û‹Gó‚³w]žónaÆŸÏÛƒ ]%ÇRš£)ã8w_ŒÐ¥'܉]ùÚÚ2NŠS",µ8ÙÎ9ÞÇxv-5´‚Û§<ûQ»–ä¥ãHJJ¹á³ÿF~TK%¨îg'>æÆ‹CN{PA'ψð–Æäû0¯G?å  vq2¢[í’yÁF@ÔikÅ$ºcä}FM©Çv9Œö:¯~C Îøã$hÿ­-j(i''• ÿç\¤Å­0îðIä$+?¾‹É‚°6¨ŒŽ2®m*˜Ò“¼¹ŸœñÿMŒh×7ÔwЂp£Éom[EMÇÜ Ú=£”ßùýõvÍ:3¤2•ŒžAÏþÚé_m»J„ªÅNHCj*D}Û‡qݤ„ã?ôùÐQHfªT¶”¬Ÿy,Ôù×ó½J~4™ÍwP²ÝAÌ©'È<øÐľ¡]n©±„äísØ~þådÿ¦‡j`©}ji­ÕBd‚IŒÛŠqIÉ#ÿ:ôSÝ5S–§š+[…\’~çÉÔÅ^rþY»ÒÖÌwGò](jÔêã,ÈŒäÉ*Y!Iúumm%^8ÿØêkš£3?Hˡֹp£¿~ç@û‡Ô»µ˜É‹¨@á Ëx¿òubÝëÔ·P"Ý•6Gùk9ªM}Ú] IOt$<´e+ùÏÇÛV”[¹J¹d¨ÊqXR™|°8ÎÓÇï Ð­^ýE^Õ¦zTåÁ?®»*ñ»ÙRØ.ÿìÉÒÂÛëuJÿñ¼TM {b„q±cÎr<ÿÓ–,9ÏQ£W¦ÌKJÛ[ÐÜHäg‘2o…ç ”IÎ6©¼ÿ×]‘tV–²— ?d  zZòò»¨€ÉÞ@ÿ¯ýuãëi‘”U)†Î9üÉçAÕU9èXÀ@Ýç-çRáΖFþÒrs©Æ¡3\¢8HNÌþP<®§³6˜Ü,)?'å ý‘2¤îmøà«h(¯ÄLzŠªí:r Ë@¶7$ãÆ£Æ‘IÞ’Ñ<ã>ÃýµdÌZ[©î¨<{tY£`¶…{‰ýµ["zXYq,îÉäç^JQP[ |)+:¬¨IRV¢@9òt꘹%*K{wpB§ëÊ]C‡cŠ!@üœhqÚ«Œ f€¢=¿¯ë¨j¬Ô–')àãÐ>óMá*‘žq¯qM],ûuDg€]˾£Aq-ÍqÁ‘ãõûø×cv51œ1(+Ž3ÆIm3µè̯kqûŸòà5ÈTR¢TQîÎpçíÿéÐø¸†Ä¦C`q‚œã^Q[d'j‚vg ùó !‘).4yFïêRUóûkò3ŒVQ>~Ú]M=âS!E*Oõ~úâÝODIAÇæl+ß@^Šìd/`sÿHÔ¶î›PQ•ý@,x?¾€MI oº^FågþN¥FžK)Ìø;·~]‚«1L’¥”)?`¯:軪"VÛ)yó‘ åV]Ž ¥ƒÛó¹>?}~¹=•/´§qà ùñ >f슨éiÕ¶¥m<©'o:í¶Ä€§°”Ž}ßüøÒûù©·(H «ý5ø¬¡ßåIÚ@Ýç}ô X(aÄ%*û«þšþn¦ÊÜ÷¾û³·þú ‰V.¤).)H|`JEEÇHÎTSœý¹Î€Åº“ .'ì8ëBÝÝ“œ|€3¡¸Ýœwéÿî«îì^Øïž@Àäè/¤¨íIùýµëi_$ç>uX% Nå£'ÀÇýõ2=F`XÞÂ6Ë´ó šÊ´¤m%CÈó©·‚®I}õRýfRW±jÉ%9ð5U©C%Ä•ƒŒ«ÇÆ‚æY’ÙÊNœj+4g%:Kl´»Ép¤çUƯ,<Ç… 2¾¦Â¸’—ÆÅ…€3‘ÇöÐI–‰qpŽÑ*Jqü¢Uýø×&É Ê¤>7(þp@æ5y¾ÑJKM’Hådòë©¢¶é ÒJ«-ƒîtò(µGP2ÝÈáM‚x×%Ñ'4Ñ_mmŸãJÿ®4]øÄ¸Éÿü<ꛊZRæ#8Êr„øùдÕM yP<äYCuÔ'>ü¤ä §:þ#”Xœ’¢8 çsMyå:{®4•‘œƒÿÌh;B«OeEM’<‚O»Wtû¢¯°-,ñoÎt(ý× §×Ú» RFV óÿÃñ©-ÝQ£ìJ_uâ¢Dl«#žGù¼‚¬ß.¥9çÂƧ¢hÃ…°¥çò†ñŸòÒFw¨øÔÔ8"ÚÕ-)$%Ô¼g§žñΠ±êfæªmn™a¨œ0óŠRÓ‘ðpÝÏŒèì]“•ü·"çÛÿ¿:蛥å·ÁÛ„ð6ãO[]Y¿.×q÷žØJ¥9R'iyÿ¶º½Özò'´cPš[aeOÆ(BÆ1íY#Ÿóû$ÄûÉÇ”®jºe¡@(ÿbÑÐí.ñœõ9ªÅZבËØÔâÍqíQþ“ÏΦ9* “¹Nàp¡ÿèÐ[5qNKÛËÀ§?˜¤êKWmE$…)°Ïƒ“¡ä9¬!§R@È*óþZýTd­îùp‚)HW?ñd‡”Tä'î€Ð릳!ôï\´”§ÿF†[¡¡÷„ð‘°ä~ú’må¤7Xl¹ÉQãôÐ^?V(%ä’9Ȇýv@<¾˜”Ÿ¶ªœ·j-#{5v€ÈQo­ŸK®•%ž€¢O$œø‰äŒ®sD‘ò9Ï÷ÔyÊGh€æäþÚ™m×%j O*lê3zÜiAÄÔX#„ÿ!Gý3 (“uKIíÇŠ¢¢H ‚£ú`s¥õïêª2…¦^y´•¹#îü €rqý¾Ú>¢õõ´ä¢\84·”("U5+còsž|UÌ›`ÔDZŸD,ä­C™ ÒœmyùñŸû¦o¨‹–µ J¥ÊC*C{”ÛÁ+Æ3î9ùøÕm>_V+m3X]J91Òz[ê+y)HãÆœÎÓìæÚíS,j+m/…¡¦\o « àž]~Ó$Ýt¥dZRpY0ÁB€NÑ‘÷ŒßÎ%*Þ¼Ÿ}nÿˆÝ‡J†å­-„¨„ã;xó¯5ºj‰!˜MÃ’äù ¤!´,ê±çoùéãXº.Õ¾Ô‡‘E[Ì´”2çá{{xÜTãýDƒ»çBýC¬_BB™ŸS§GÁGl€[-”‘·`Ü@Áýô )7Eã@ª)Úý¿Q‚Z!%ô-h(WÙJOäñ®‘ºÕÔÄMZmÚ¼©M ¥N¦Kx'€á>Üóúé©QŽÇÒ½LµÞH%N:啼³åNæO’Hä“¢Ënâ¡ÑJ“'§–ƒ¥Ò’èUØÁÚ\ÇSöò4Ýëý«q^t»W¬5±jšán]À`»%¨þܤ©¤á|« 3k{»Ò7O+ý«u'Ó©zOP+0¢¦ Ó †Öü…`†Îå‚€ÉÏÛ@N­Û,ÖDÙ–e +J¤»"Ž™kl¤ù²ò”ž2ˆ¡zž­1P\Ú]©kÅÚ¯ø‘­vÐ¥þª òñ Ïв=l7r¢“Pè2Ziÿ9F­.-°y)Jž8øÎµÕÐgIª"Ôåz£z^JTôyvãAÄdFÇr3ãAÕ^¾ô¦ôŽë=H£D.­_Ì}Š HR~B‚†¾©eß]ƒ%§h){VI£…Ûàè?ºÝéÊÙ³k2¡tïÔ ãMs¹T·XqiýT”©Y`yÒru›{ºI pq¹1TAý| 4î.¤Yµ'ºdÖ#‚µ¦‚:]én¶• ÎŽêÔ=©Dƒ¹_¦ó  fÕ¼[ TŽâPdãûó¯ƒwýQ[ά„ÆF|ŽŠ%Öà„ïf”µa@½($ ý±þzüvöâL5óÎ#½¼~|~ú Þ‹ØÝ%­Ô_=o¾î y†’“ tÊj$÷”çIÁcã9ý5¤ú¡oú=»}$+£5õ-K‡Q]U‰‹UÓ°ÙÃKã¶µ§8%\ãÊfýK¹vDE”‘î%D§ýN¿›êeNñð³ÀØ3ÿ· ΢ú`K+ P}XôúlbÊþ©ŠUaLÈ^1ü±ÜJFÕHÚsž>ت±ýuk¨‰j?L¥Ô Ht,Ôû©(Qw(¹qä}´A6ïh¶L¸L,¨c!`y¶‡*UúA'µMm¿ùƒR B‰û‘ÿ}u¯áÕwÛT‰p&ôŠL×\‚†Ù¨ÄT6*ÇûEàR”§òŒ’Jyó¡å»ú"êÒàÛ.E§µ ˆ/O—k•ŽAHú­ÈùàY=U¥;#馥Jm^Ò…ÈR†~߯?†õ ÓuÕÌTXé$d)c•0sóŸ#?m/Pú-rtÒ›žñbbeDsýÑò•%•J·,ùäcðuËÓ÷I,ž£Û3ÿB’ä‡3(@‚ì§š$%#Y>ìg6Ÿ)õ¸(ñ|{J[~¼yÔŠm…Nƒ$~§â¹Ê·EZÛÇŸFƒ@=èU©=Ú»Ó«hiI-²ôD¶ô±·ó´­Ã(`ïÇ>5¢ºÐKâ³ Y•‹Êm!†c ÆzáŽV˜Ç´•”Œüž0~1¬)N‹X§­Hnä©Äf{ÇqøÎNˆ¨Õªí6/iªëémJÊR•öùûè5G_ú6߃ÿã.©ÑkŠ*RZLKhPç¯#ö?ÛYº¥N%96 €²¥¡œ8Éÿ® È¬×ÞÉvj¢xY8Ï:üüJ¸ã{]r2TŸ`súyÐMLÐ(ldànI@×ðÍAѽ SnØ‚?¶ µpV#ml}9ò¨éÁà~º‘é©L>ZhÓÆ4Tû^¸œ8] s¿ÁÕ£T+•(.GY^¸„î骔Üò`7õå~t0ùgö×x!Ke³[udãÛôÉêJJ¾ÜxÕ<Ûº”ä¶jL…8F7,##>Høýsªj¥ÑL…(ÇbjÞ § -' ÜGŸ?Û@M&cdïBÊÊ9ÁÇ…"næVò°çh9ý8àèMWµ-•¶ ÷ÔÚ]ZpÙ8>ìcÿ}p«6ü©NÏAŽ ©SÁ|óãh…>‡ÒB‘ÎÝÈÏ:Žã²´–œHÆI8óû}´*ßUáCŽ™PèÿR³$ïØBeG‡‡#‡„¸çüÀŸ“Ç:¬_÷:¢«W€BNáË©<ü~Ÿ>?]‚5a Z´§…p¬ð?RIÔ¦ª y šK˜^Жù WÏ#Kx·*.¨ŽT•R†ÂZh!KN1œd •ÏúëÕ.}IÆÕ j3D2e0ÒÞÚ’¬~S…|ÿm¸õ8ê3ûa„6s— yÈ:ï ŠÄ´ ,+-¸Œ¥iP þ£ôÒ¾»pKS©wARíA[kg)øùûsªØ÷“ëŒÝ*5Ö´&:“ÞSm)¼Œç8IûüøÐ8¤I¨2ú`»Sk¸±íB–RHmHŒº°wýù`”¤«p^à‘û¤ÜÛµ1i ‡S¬Îª!Çv¡ÔJ ¸”•n''’8ñÇõwõéúQ„Õ ‡ÞD‚¦ÜTv6mHcîOèt×.kKDW¥žS•!,Ÿûヨõ ²áÓ•>;eõ%D¥†–2¤çÇ$ÓR¿×KVMͨ6˜²XiK¢jœ#î!ÎO:³¯P«µUßv=õÃKl5Nl¹(Ú”V€¬•c<|èÖmjµt¤D¡Sã ŠŽ© bt¤²žÐø ðUŸ¾3ãF-ÚwlFßV4¶¾“¶‰Pš¨!r[*8ÝÚ8% rHÏA[Tv=À‰·§½·"KJŒHÞ…„‘ŸÌ2ά۪uæåUN賬*ÕÆäe•ÊŸ@¶dIíü% (AV?Sþš rár^]5©¬Ë‹°]–ö¨e¢K‡o°ñœþß¶—´›z ®ÛÊ«1ÐK®7zHRÙ¨[Òã8æIq´ä¿«šg§ŸQ‹¬Ê ½@r3hw¼¿¨‰  `xJƒyÇ<œ9ÐE»©RCÒ”¤åJ´`žG}Lr½Kˆw´ñÇŸ#’8ý´%|z{ê½pÓ­ú=Qu93 Ê}¸.¡¦¨² ‰Àá\gž43K觪˦GLgFB¥‡Qˆ×lÀ©ð1ÿm=uŠtÓÜeõJ”oßü•Q¦/ j¢ •ÈH#'õÐ¥*ÜëGB.jT~®J‰JvD˜N½Re}À„ïRÒ–Ö¼à`¹#ã:ÐÔÏZ·½ÕD‰K‹Ô9ÒÚqŶY¥Ò"1!åŒ`ù>F9É'õÏÆQ‰€)•¼â’¬,•‘þš±bàêÂ’T=»FññçM÷ÓÕ'Mm›š¶ªƒTä§R­¸ˆJR’Ÿ%#€1’N§Ð.+zÀX¯uU× Îô2ª¡p®H R°’JÔ”€N<“§<-¿F¥EÂÆ°«Ÿì4/Õ^ºY]>¨*Ö‰8M«†ÒãÌ$”³²våÅãvì ™ÈÈÎ2ëWñ$¹ªÑ¤Øý ¤1Si{ýúKË[ßK’àOô•“OöÖb®Öÿi·£=G~jV뎥¸êá*yH ¨(縭Ù(ÆÓª~¦n{5-•¢4Yd%è“iKuO:“íí(v’y(¬':›ÐÏT}"ëSðKÊávÚ}Ò‹) ‰,»)‘• å²¥¹ddk/&™Tê ­r¹zVn÷)ìTÜt0Ú¥öÛÊò’£àŒàç~ôŽßu䵯SQQ[ˆ-¦BXq¤aGkd‘í#äž:¤ŸCÑÅ!¨®ÞNâHvCTWоàϰ>ùsýôž•ÖúƒvD‹KꥊXOu¡ø­kðòÚ ö»ïáDß +@= õ¯:ƒÓJÝE+ž˜,1²sÊuÙ‰P <Àè(PRO#ôÖ²º ÑK–ů]v½ë6»Q¤;lÔž£-Ê{’’Û®sÜ>Ä¥8÷|üh½2=2›#ñ.¨Ù49ô¢â•WDw‚Û )% áJW¸O‘ñ¯VG¥Ú¼Á ðg¨¶³©u}Ä3³üæPVBŠñÁO“ñÁ:^P¿¯%TæÆàÛØ5ëC(žßÓ®eoèÔÒ}Û…,Œ¬eY<}´~÷¦Ê NÓváE!–Üj2žr;¨RV@?ýô"ž”Ún§zßd% mË#þãA¯úÑ;*e)îN¨tòœãZõãH%(ÁB†ì/?*ùÝöÕWZ:EЛ¥t›Që¦Ë(Ž¥©éîˆÌFÛ e!䕱`Æ9 ñã4ñèPÛÛ „4¨ÿ¦¤7hÓ°è;WçØ?í Ó½7é?Iízköó=X²*Š‚Ò¥E¨ß·G 8@!(ä<«ãôÑÝ[¥^)ĉÏuÚÊaöòcDVúâà<…¡#ñîÿ¶±í.’ÄT€Ë|y¶:-]©Bˆ”F}¡“ŒvSÇù}B½lÒfªRàMˆJ‡ÁÎÜ~ü냽K°˜x±!·´«(`mįÜbW}ÚÂT”Œ}9Ž“Ç'8ÏÆº›²¦´íu†Ô1œìOŸï /c¨–þ Ï vO_tŽâ?Iÿ¾¡šƒHPLÔIç+üüç@TäˆÒZ rÐ.(¤ãܮﯔұ%6‚›{}Äóöýt(+ò’â‚.7É &IöÀ×¶¯Š›*NÚŒ… »ÔµŸ×4S%<éu›yÄ+Qàq© J¯FVÈñöø lñã:¬¤×ªo²©-Ïs;6å€Aûç]M~²ÊÔÛrü»OýyÐs¬µrÍo°ª3'*XoòƒöçU)µ&nIË­¥\a ’?¾®_¬<½ÏÔ´m*ROíÆ¬]ad/êrØŠà‘Ÿ¾‚Ž5š•ÿÆ¢Ÿä¨ãõΦÓí¦“‡0A?-`p|êÕe!ÀÑQÎFì7)8?±Ð~ý*’×e8à Qý5äÚ?V…<µ‡23È)û`þºíJ®U©ŒÏíPÇ#àkòeÅ_c H :Ã@¨132±ÆåqŸq¯Æ©Õ@ÑB£ƒà+)~OŸõÕUBæºVOÒ¨mO)_e$äóªóq]åE¾òŽÑù’€HÏÖÅRbí·Œç§Øg\›µgÆ K®µÛ@8l54;"üê %…ÂT…„á>èÉ ~ÿqª©—÷U]R‹Ò¬¨»$`ý´v*(b•Ÿqqõ'þŸøÕdלwrfïfçŽLžtW½º‚T†VdmPåmÆýñ ññ¡ëÊú¹­ˆhvSåçdïì±<© ¢‘¹JÜ|8ó}¢X† d/ϰû2èxòÕUÖ²—'! ª§-ÆÂébIÁü\/ÛC«‘-*eËnÛSêɪ6ûðâþZ~+lþt­IynîOëн2Õn.œ"ý¿/X4É’(ÊrŸH¦nïÈt¤¨‘´””üd|çCÔÍÃl6ôð‘½/­$©žs·ŽãÎ|k„ßX7E7.®ØR°’v÷K§ g;R3œs«»C¥ÖŧҮž²Ð*PQt@dÖòVñ FâBˆPã€xÏ8Ð…dZ—uÏþL_§\—Ý<-Ò¤¶°ÇqnV?ëÆ‚ò•êÊòªºªt¼©#ÎH:hô«¨÷MôÃÏ1nw]‰ì—¾œ†•‚¢µBGÿ”ôË%›Zt•Òž(Xa´¹õ›TêJ”¤­½Þ°94÷ôï©nÛuI½:’‡ÿßPô¸ |©höc¸ƒŽs„¤ñöÐRݘ˜Hjé³—M}Ð’…:…v]*ŽÚü+Ÿï©é9Š€@ ûéñF¼zo[é-&P£È2~"Z ˜ËBsÝI¥EGKúŸF¡&*%3^RšyÍ¥-°F@P8 Æ4>¥t­ç˜t»y°Â’S%tøÑãò©;†1ÎAν‹ ïבBêµðÃn• ,Ì¢Äu°‚œ˜yùñçDµäS” ãÐÛVÐv…/Î~?MWS`ÒÐÚÖÙ $þmˆ$'Ÿ¿ýôv—¦™ýZ¼oAêõ #‰VÞ”ÚÂsµIRÉPü¼Œx?:7G +Ü’\W«« \ ÚЉ¬¸èLl%²³žF3ŸUÖht™Kî!×B‡ ÌnHÿç<êCzK›tJ;J~•YóŒò4·¯¦›„£ÿ¬;Úm ˜òä8Œ“‘€wgö9Ô çÓ—HâÜУz´¶•Np4ÅA©”kã@‚µ¥Ô($,Œñ·Ž˜àV´*]äÜÚÂ’’³çgxrÅ´¤ÏBQÄ>•íB[–ÞâAñ·vIÐ@¸=<ú$¥;M_M}BÜi{èSøÙY2•)þs‡]ÉÇ„ãƸ£¢þœèU†Ífþ¹*´—#<Û±›·Ko•a²—R±·äýÁÑz‹J·ä1uoé_};Ú‹*LtJˆÇ#:á7©Ý;0PÑ\Éă•¼†•Ç Z@ÎF?}]ÊôálÜð§O«uM4 5Q¦E¦EB]oi‰Ê\$ùügQ-“éò‘ ø¨}K’Ù™!PT¨TÄ8–xeÅnM§§ç<“¢KË«4ZL—b"%ºÓeÒäp TÖÜ•¬rûùÐô²QiNE¯Ë·v,ÇCo¶ãAÁIî-IÊR3ç” ¡Í?; »«°" *5.­.m%cò¨Æá´òq£~—ugÒ™p"½GþsæÖÕÆœEK©ÒÑíê“,©íW”ø¡ §©zÕ“Û0z4‰IukVôÍk´T—Ý·!X#©Ð½\Û.Úª¬× Ê Dp믢Œ×¸§Ú…,‚0 ÷(ÈO5wÔᶪöµ3ørZaUeߊíÉ1j+R°ÂJ´©ãç‚tÜú¥]fCÐN%Ó}µ½Hª&T˜î„h$¸’GY>«ú5lÚÕûS¬P®†.¸«Šhb2šb+iw…·!o ZH¸°¼mZvt=tzœêý+ª4oÂzHaôòä©}-¿sK®Æ™. …6­µ…íRÒv…!J“ó‘ ¼±—Ö*izÀèÿN­4:æòÝÉ„0yäY'Ÿ$“Ž9ÑåG¯^¶ZŠ˜Ñº”˜ý¶{hT*\6 炆>5‘ìo\}Pzün“*e~äb›5ãTˆ˜Iiô„2¦ÂÉÃ8W!IÁý=Ý>¼=U?[ªm£Ÿ å·[“E/)C'nõ¤‚Röƒ‚û*³êN¡U•\™ÔIŽL’q2JÛmkw>wŸþc\©µ^»ÇlÀ…ÕêÌw¹%Š}MØéqXÆTRAã÷ÒÎÛõÕû¶ÝGRê½>5je2Gr¦Å:â[K-(ä©QµÆÛGŽæåäéÝ3Ô:¯éú¥Ôn˜ôÖ™M­=MšÍÌü·JPÈl -dyQQöÐU.OQýÃÕkµü  ÜÅØegÓWÍ¥øýF;Õ›¦¼"Èy)z[H|¡9÷('vT@>>qu¨=^¡õ“eÔz¿J¶ûêlÏn-päÃu½íÍí«s»B²ØI*ão:íׯUíþÝ µî7j—ÛôUÇ¢^¶¬0ˆÁx”âÔAC¥9o;Iûåµ:3mЪõ;«ª ±;ÊfŽª¼ß¦va þÛŠ$Ÿ#9:±©¾—*òá̯u^ЉKzx&¨å]‡DCžJÛJ·ð9Àükæu>Á~§s.±S–ÝFk®—W2ZÔû® d•8¼¯8ÎI?õÓžƒÐFnj’ÜŽ…-N­¦$ÇŽ<”ñ…g?ç ÐßÄæÔé§M®ÞÜžžzÃE­Ñ$Q&µ*¯N¨¶†âTy $”ehJF¡œ§TtŸT”JÄ ÂÑ«=ÚŒ©g"{/EJý»6¥G¼7'œrÁøÒ9¾„ amŠm¨ô%'éЗ]ä¥)ü¹À%Dñ“¥WWëU›V£!á¹Êe(DI** 8H <9ÇÛ ùIõ§K¬ÅU7¥÷{‘Ù–Ú¬@¦©l«…ÕnRŽÀÝÜx'@=Hrå½®Dnze4ËÂLºÌˆ·ÛÜžâ‘a C$‘„€IÚœ‘ GWµÂèK÷ÙKI]ÈÄ™VòPÛ±šm%¨‰o;¤­d|•ž| 6è2í äzöÍëO­Ôæ¿õª¡8ÊÚSiííJ  1´(…`   ´î ½¬Ìš]© Êk&]B ”Øá_l¤«ùÛ·§ÎyΆ/K&]r_ãô¥´©Ž}KÄ-o&PPK¥i*ð§Pƒ·©# pä¯Ù•†#·[›iÅ™‡T§)TøªtÆ”%¶\Bïp pIÜ@Ψ¯{²«ÒrMT †j’C²éð"¸˜ì…·ÝVä<¼”ƒ±J_<‚åK³í*1º¨³õM¢Ô%n6¼xsožå¤ÛÕ7l¸·TI–£¾ÞS\ˆNd’#6îB€ XK£vûÔ ^<Û[§¯ICª£ëkÁS©­¥5%$%Å6ærT:%®ÕúÉ2¾fݶ4–ª NÄÔ™†C¡Ì0 ¸ò9ÐmëÓM•LA¨ÜŽÜZOP…2*™}àVýä«`$~RÑÜÎ’?qG¥PíÛ–‹O“*™’üºÚ‚dŸ;” Ãg`sýµ,ޤÝÖÓFSñ+RŠöúƒskje1ó…$îWŸž?^5£¬ÏUýqº¨Ô:„ëmêŒjDtLJ$ÊŒÌw›IÉmÅÊä•wh4 Ÿ¬Ö)V³]^ŒÝ<%M˜ýÃ%;O$–”¡‘ãcã\bÚ2›MC»äCœÛª/Ê‹G™#¼“á;8HÇÜyƳ­Ùê¬SnϤ¹lU:BŸî±%ĆK‰+ ©¡»j qŒçIùƒQ—tÝ— bñujŠªÄ’iP ¤<šXHµÇçmC% Îy í#A°úkkú=µî˜Õ>¥Þ Í %]Úl[ypR¶¥N)Ңܑ¡ÿP2}:×*qgtÕ¬RRèRªqêsCŒ¡gRÏõŽyQçãYz˾j],½rä¾$ש•ÖSª•,´´q¹/ü±ÈVAý›û—®óœ¥©Û~™N„éQKRó[äqO8ÎsŸ?Â[pº²¥œyùûjd#d¡èÎã$N4°ê6¿cПZªS«QÂv®TŠPaÒ¼Œç ÚpãëµsÖõ-J?ÓZHb#‘‚–©¬Þt£ŸjqÎï“=ç[’Äw<¥G9ýtAÒxÏVºL†·XaµÊ*–´¶‚²@@ܮݎO'H ~¼ ¶z/NCEG²âŸR”¤ã‚F?qúyÕ{×õµ t)â*ØI’…ÃÈò£»Ÿ‘Æ>s ÓWu¹sÚ,Ëj²Ë\w ^KRy<ûV’RGìu ”ËÀÎÀùý¤g*/ñ¸`ÕØ‹uB¢Ì‹ÞP•*,>Ê00¬“FGÇwªzæ¨È\‰4Ú=Dv ÞÒ”¢Uäý€§ë Ð²œÊ”‘Qû$~±VDdƒ%m’£Æìs÷°åR ŠM×0Õæ!Å­Ù…°ÑJO r?§õÕÕÅêÏéé´Ú¥½l»52‘9)V;i#9OÜ? hµyæ¸ܦ²O³<ãôàk‚PÈÜêª,gÚT ê ¦))«w ɪ4$7€rAV8ÁðuÎEÿlE¹Âõ A—A.:R”¤)y<€@IýT4ʂã¼·†ìùx®¼*‰ ç’=𥠧ü¾4/­}~ó©Ù•Ká¶\§²Û‰®uJAR}§j@>~C«ƒÔî”Ũ1J=AÞx4XeRQ¹}ÅŒcŽH:8”–™lGf©)ãÆð²1ÿÏßRŸ‰P?ð¤(ã*HÉÔ8•ú*Z=§Ö% º•¨~øÔö®jK\½%–Žð6­Áœ’1çîNƒ‹´éÒÜó‹$Œ`$ä늭ÚÈ+K ã)ÂŽˆ£TÒðQe|§…á>ò5>=AòÒv;·œ8Ð7h×Оê\q'ç¸ãûjJh5@Œ9´xåysÆŠ]CÓðÓµ(ç .xÏë³V´²Îv¶‘í%Ïûg@ Š=a ÜÌ–ÈÏ´Ny׉tºÛa(BãÄdp]7i:}äd0¬ã\¤PÞi<­³´ûN1ƒÿ3Ô[Ÿb–ìF’DZÅ+?¿ýµ]>¥Vã©(VœcGÏÓç ŽêxÆà­VË¢HRy-¥#ÏœèÝ\ö›*S”ü­XÚ?Ï\œvSÉ!Ö»€|”çýN‹¥Ò”Ñ-íFìsÏ÷Π<ĆÛPRXüqúüùÐSSêÔˆ2Ìêy%xåv>Ùàjî%NÔÚùKiR}Mäÿ–ªÕ9èǺò#-%8Àhsúó¨ÎÜ,0èwð¸kÏ’¦€#õÐ^Lª[ÃðÏ*SIHà‘äþ˜Ô W ¶óªïÑÚ🥠?×QY¸èêêm:kŠ€òI;¿lÿ}XS+/¦Jf[Ö$vÞB½¦TOŽ@9ûh<šµ˜ã; $µ{Hãï“«»"É·¯é†ÒhªuiPŸ–ØÎ|•·ÁÆ|èÞÔê¿[iì7ër˜¬ÉúÄdÈq¦]¹êrô¢4–+Ý/·d:RVÉÛ¼yöcí [Pz:õ©9¹¯tâæ›Ïò^ž‚ÙÁ'sóÇïª/R¶o¦N°A¥Ž­z|©Q“Gqå1>ˬ!¾ðsh[N¥m¬a<wyçM™¾¬nX•¥Lé]µ7é;©COÀmIPYà)$ýƒ¥Q.øw…IêåJÀb ”½Â$tìi?þé~úmW§?ÃÆ+´ök2zŠbDî¡1S”<[)IJâ·…ÙF<ñM‰×?KVŒçM¨ý1’í“«’Bå—$¬Tá„ã) *ä1¯?à²Ú套" Ÿï VíËV¨Â’-öA ûšl ~ßå )ê¬j+]7‘ Íê ³L•øaˆˆmyo)å’…‡7 6¤ˆ:MÛµN“ßó¬õ?ÔÝÕI“"(L—i–Oyq_)@w°””ã‚r™YéÅ›9Ð"ÅÚµ«.( ƒŒyÕièÝ5ïåÇÜxþútÒ¬{~1n‹êr×»‘2 Ž–j¶=M¦¢îÈÉiEi+Œy9Æ5·jtÊ٨ќ»½HÓkæŒ=ðÞŸT[íöÒÝ€H$¤“Äügö¡k¤1žÒ¹)ä¥Jÿçÿ§S)>ŸPrÅ%-ž{n)'Ïßí ÕÖ…¡ü:ºAf»pu9ªR$”*4y6%e ZIÜ´ò¡•+Û¶š=6±=¦±L/U Á¢Å{t¶)]<¨¡Éƒ…¸ï€@Ænu’lŠuP:W­It¥Ë+qyOÛ:'üIÖÖYzl‡ž÷ ÿ,žtKlQŸÃ{¦tµ[–m—õé~‡…Âw€R9'ît={ßÞ‹«5q2“N¦E†H[èé*Yÿ—’’||ãX%AÖÚìlî ¾Õ•àäóãç\$Ýs!6¦Ó -HGó<Û׬.“\ÞšãR*Ô•E¼©µYN%®)(i*SjÞT2’° ‡’“ÀÒo¢¦í”_Íк‘Ò µjoÒ¼¤%8ÛÏIöö¬Ñ÷…/9`‰/õ—©ÕûZÔ¹… ãô¤¥@¸…ºGqkç “ÉÏ<ÏOTȶ$¨Ô„An%^31ž§""’öÜ•(ç È'q ¨~¾ôÚ}ëÑè_¡)ÔÍÒ„É• ž ©)|+  ›’Ú°|«*Èë>õ£­voø®ctzUŬC“JnAmÆf,í!œ2®<ž0 Ó:oO鑬éx7CñÞv3Q×-ª¤‚RÊ Rc«+ÆŽw$ ÿm[5xT -Ê'Pà)…º’¤Aïºã¨Â‚ÊñîPPî4 ýaêyq™ZSh®ª==‰ •½Äd+zTsÝϵDà‚8¶£ÖÙµãÙ’zÞ[*LÉXA.îJ<”äáC:¢·ýeôZ5±:Ïêµ½Rö©ŸCe¦ÑžªDX5:¥9QšsºkX ý8ÜNpr³QÑê;Rbˆ—¥SžIDˆªJ–P’ <üçü´yérÖéÿ§ùµ;ÞíéÅ«xFWl·G­ì“Šj]QK‰ÝßVJ1ã~4 þ®§£v ÂÝ»­)º'N€‰®Õ¨‰MFejl}Ï+ P PAÇÕgã¬÷I— 罺yQ¨²ÍaΧÑ\q)ZÈ=®Âp”``ð2q­5é çô%×K¯vz½mn“Ê´LRú\Þ¨ÕÖÞ!0à‚T½RR£´sýY׎ z£éÕ+Ó½¥ýõ :“¯Î»)ðíÁOr;E! ²°ë!+%¥!I)NU‚7 Éë_§ÅÐëÝ^ôY\Mb3QbG¹.{Qúi–Üt€ÚT„%ü Ÿj¸÷9YTúûÓhž¡©µ¯Oý¥Ò%1)é± »L a׈ڽ©t‚ÚPVp¥/‚A`iUÖ^©ß½N¼bæë~¿*3 !б\uð‘–ð½‰QÀOœyÑ:úéõý5‡Öî¢Iƒ‡ûJ*b—1²”ƒ°¨ä(Æ<‡©ÝDŽå¸Õ×¥›B§8ÊÙqÓ Èy7 •ºê.#(QhïÊ·•sƒQô3¥Ö·Sú§ÎlÀ]Z®ËëUfå\NŠòX[ŸRþ<Œ$íIÊJŠAøÔZÝ[ëÝ×èåºå.Þ°%Í~Ý~¡T1v2ŠT´¨¥ ?PæÑµ${‰#pΈ* ™qDj% k¢ÔÙZ>¹ÊûêZÝe@‚€• dc“Æ€NÙ¥ß6­AS-ês‚»„I¦«cεå@¤ã ?cž>4EjPz}r4Zר%ÚÑœRÖ·l½Rud'(Ž”GR‚£Àp¨%>TQÜör'²“mÞo6TÚç(!ÄÉIòœƒŸwŒ¾¢Ñ¨63÷RåÇ«a†©Ï508â‚R•äŽxç@å¬ZôkV¥M¸ \tûâ,ˆL¹wTAËLçtd´]Zƒ9I$¤¯œ0t®õôž×º›­Û=%1(W|:]* ¥¢ jHJP¾vnÉ)WŒàx>­c·I¸¢Ô®y•y¢[£­-!”)aY+VTrBN2<ŸUÛ~˜îN©¼Ý.Eé&”Ìã¹z|õ sÞÑúÓ;Z•Y}×>Ù§P*ƒ'ÚÂPài9!'9á;TJ°•ýê_ø4ú­ô©ÓÆú‰wÕ-û€³SêÌYµ7•NØÁ”¡Ä¤Èù÷µ´äp¨~±hV]«&5¹dÂv¨°[”Üú:•éÒ•!L¸À)î%`ç9Ol$Œû³ªzSïþ´Ü¯Ê³æ·Zv[èCÖ”ZÙj3¥ ì´¥(£ IÇ +à2ô[òóŸ~è[ö­R¥P¨²´F€Ü2ù}Õ£ÜÚ S®¬$å?ÔA'çu‡ï𦵽't~5å׋N›Uê]ÏMfm}è‘Ov‡c-ÁÒQ”ý8JGq䔕ºµç H@ ¹Ó¯LUšgHÓ\¶ ®\Šv%Å9q‹ïÇJØô$ºÊÕ„¡( Q%JÇÀ‹[ôA2ë¤* Ð¥%nF£Ý©K­öûJZÔµ-*R; lƒµ`çw ‘zitïª5YvÕ™CQ¥¦%.™B¤vÔ¢ ]-µÐ*Jé ÿPìÕ×S ÛºÍ¾ü¸ò»V*sÚisZ¤4–ÐáX¢SÆyJp@ß Íõ{Î…ÓÏMTOJf6}·CmoÿŠ:|S•Íwxr_ÕeN>‚ŠŽåN’UÚOë×|˜Ìõzz鈪"øü:"¤¶ÚÊ7£ / àœ¡$Ž8NÞ¿ôëêíçB¨Û&<Ø6mTÒîuU--Q»­¡-(%ÖûˆJ‚9R†”J%V@;tÛK£»ya¶þì–Ö¾Ø$a+<㸀FÛ@êëŒA¶Ç§kW§é¸îUâI’ü ë0cL~1’Ýqâæ Ü¤’–Üd~TøBÙþý(Ý(:ê—¬{òT«Ôf’)ÖÚ¤Æ ÎåÊw*½˜Á´‡1Pš^³Ýt+æi¬ßNKMW飯]HÉig-´J´%)ÉJ9î½@û‰Ûª®’tB½Ö«ŽØõlѧÔ*‚)÷LPã´Â›.}jª8SHÆÎÂT rs çê£=!èWÙ²ìÎ¥.ó¢K‡Šm]ú¢c•ïl”íÀYR¸r9 êÿ¬ìDè­U¿ð7K.CmÕ¢2å9»¾¤Ó’¡#,»Ø)J–·ŽA89Ö±ôùo\ ¶¯+¤Õ¥rTá%—…ÃRa†UL}'¶ãiC¡aÁí'ùjŠ},úÇÑkÊÇê=Fÿjtjƒõ2Īý)Ç O¤~KjWi +qq à• œpr žŒWzmxX5ë?©Ví¸µ¡kq‡ö¼žæå§-­þÔç<dê5kÓïOzøÎÏX"ÛqeVÚj%;k‰DF{aI;;d”á'“…x'O›9šµÃh&Rz×[¤ hI…KM-”Ä’ßp–UÛIÉ…,¨  dé›Ô«†PìÙOô“¤W5öäTÆn‡:³Aõ?TÌ/ùì¶”¼’v±ž ½Ç ùûÖÈ·´É”Z­Nø†ˆ,S˜¢€”0RÓŽœ`!)?˜gŒó¡›‹¦W=ÑJaKΟQ u%‡Ñ06ÚÂI$ð¤9¦¶}ëÓk’—Ói7¯V-º‹W5jªÃ4 b ¡ÄHÒÔ–Ã,$‚°HNß`HI'œë;]0ºuÑéK¶ºƒÒ—#HBœ{ðp]m­ÅJHYBÖ PÈ#8àhKüŒ!Ð/6 ³"S½°ìiÉy%²v¨’ŸÊAÆ3]Z Ö ººym8Úë –Z§C[Á§V6î(íÈ9IãŒäk±v=µLURÔ¬Kl)]™‰n&6ƒÈJ£ÿïhÊ•wÍ«ÒSTµ˜ ®;{dI\wHÆ·6äŒ'àpq SÓzUtÑ®é]*‰ÒéµÊù¨**"2ò]yn6¢•3´¨ ò2|ÏÜ®™NCŸ&ܺmÚ”I©‡2•PˆYË€em¬- ¥xã q«KR³sôöôbë¥Lu5µËѪ«Š¶C‰ö¥iÝ€T ãpÆ'ã]®ÖmºçPUs\wâ—;µ¬©H~¤·‘;;Ô·”I JÕŒç9O8Ð@U©[Ÿ&µ2©Í!ý‰zy.)ÜS„ƒý¸ñ®ùU:rãÊ·ŸšB¦—Ùd­¼$œŸ$q÷ÑgS*ôFêíW¢SéÍ-õ®EMÖ¥{\yjÊ”€”Žp€3QϨZscGØìu8·ŒtH`¯8üÊúqžOÛAÉ]I¹{bdô?+=½ŒÉ;ÔÚý!@’ßÀñª‹¦½2UdšCN2…9”2ëJ'ÈIQçã:¿ƒdÒXK G«Fí¼ú€l=ÚBŽ}«A'ÛÉä–ªï{}È%æêÌ5ò\d¦ZTŸvS‘ädŒœs΂‚¨¦§¼·Õ5ß©PÆœVÈ$ äç]ÿ ¬TÓk1ÀŽÞy| ÄøHP:‹&2˜¦¥Mõž@p9Œ,žOÛß:ü—5‰NTÒ’‚£%¬€•Á?} ·ü²e³r[q§8¯p~,ÍáÅ(aCpà|G¨=^qþ&ÝjJ'Ès2zZÉ F2¿$‚8?j= ±Yè¦Ö»±ä-%A‡0€âr9#œ“þzåOfz$»-ÙåâËýЧʶçðë '¥uŸ©ÖÝe¸-_WAÙ=÷‰d¶âÓŒ¬•Txðx<ƉêÏ­q^SvïQf¾†)eq™QZÉ+VìŽ|ã‚yÖDGb°®â€RRŠ‚•ǺÇD:”–'Ó\r;ãzå†Ò¯•8çŒ}\ïY=p_£WkPîReºôWØÜŠmAj’G<àòq¦ý©êÛ®òà ü‹:‰T‚„öœu‰&3‹¬’B”BAR€ä1¬×2.®—ÕNz3R®Y3 žsiOÈ9ÔY6-ä‡U=ØÒœ‘ o‹õe- á9Wå??gA»úYêfÓê4ræNwáUD¢M®â€(ãì¯pÁÛÆuycu®Óê5Ü«Z‘PÙ0ÀfTF_ód%iZÔ~èJAPø çXOG« ¶Ånå¸á‹=+ <ÕA%Ü·ÆÇž|qÇŒkMzkþÕÛæÒÖ¾›z£i§á9î…"˜vˆØïûËo’¥lZ“ŽR¢9 -*‹\q¾î Ï#íÆ =J¬ä>¡ƒ¹IqX:н#뎌ôi»®—% ¨r¢Å)¦·^ŠÃK§Dhr¤¨!ÙJ ~m  dƒ•üάtfüz jO¥¦yבJn›,;BÙJ‹©mY'Ú¬ŒÚU¤P ¶Ic:¤©R*.¡OGxíÝÈÜ ý†œ[Ý=¯Å5(‹kéÜQ uµ¨§#Î IÕ<îØ,8]“Qšò ôªO IøÉùûè¹ëϘ¦Df½;¥nÉ9ÏyÎŒ­ßKöì¦Z~àêL™ÙZâB¦©´7ÌR°¬Ÿ¶8ÑšzG ×*™p%öÛl-ÇRv§ g?l4½ê‡Xº=ÑZ µ›Ë«Ôè¬7#¶¶˜u2îïKe)i²Vp¢Àãç@À£ônÄ¥¶†i´Ä¨­K**_ʉ#‚M[ªÜ‡Ne1b@;‰HWœãm$ªžª:!DvÞ3¬4Æ_º!·2ˆÛïÖó+ÆÂ¤žPNpðIŽ5›ú¹ü[ïº F¹jØ6<“ CŒÓ*Š˜µ÷ ‚áFÑpFÜü#A¹ªîT£8Ä5¤ •$dþ~5M%Ê‚²âËŠ ÆUãüξcAþ$^¬§W˜¸æ_¿PÂ' Ó˜Kh H$ö°p‚21çÆ˜]Dþ*]q¬},;*‰†×Ö%iZ“Þyä'ܤ((cfp’G<‘ÇÀny1ê+Ü–á¼²U„€çõó¨f»-°ôÊdùYÊu…(ÅS¯Ñ‘ M[Ðêo»Y[ˆSTÊÔ­¬¥ )-îN•’Èç:åÖ¯âIê.õ¯wzyx=kR#”mˆêuò3¿{¤(Ÿ pÎtmË6Cò;‚#‰ÊŽàSN<àê+Ý7Ú ¸ ˆÝ–ÏúkCþ!Þ£¿íÉ—¥òÄŠ4j„wfÆ€À –ÚB×ÂA%[”€TÎ8Öô ë—§7íu],õKÕ$Pj“+(‹@­¾Ñd-熤/ò1‚¤¡ $%[€'8È3fôÁÆÈ“"*r‘… ¡çó¨.Ø)y­ì¡¦ÊHÒ?Ð|ëVuÓ–_¹ùÕD§sÄ!²¯ ¥c‚ç@ó:[¹å%ÙÍ¡`¥kd‚Ÿ×î×@’ÿ-Ô¥L––á8÷+:ðçNj1Ê€†”ò¡‚>4ík¥o¸ŽÚbwœ íÎ?éó®¯t¶¥Md96š¶Ð Ú¤§Ï$c@’M£*|©¼û5í›rZ·©,(3”œÇ7E­ Ù†““ÁÜ5E#*Úˆ€7ÊJFxûáŠL†Øí†\O»Ÿéþã\E¹1–Á+?›$’SýôÄ“I¥¤’Ìm™9)J±þŸò¨Ô²Ø(kƒä•Ïêý^ØmRê! pHBÚq# I;A$gÏÏëó¡ Û®Ÿ„шõÚõEÅ2pÁÃ’rV qç_—e2‹µn˪A¡ÛZ±Ž?û@Ð,Êm´Ñ}È2ÊÒ-lü„òqŸúè,í/S×u±LK*«¹üÝÅ@ÅÉo'”çÁãÿœhŽ?«¾™KœÝj»aÄ[M! 8Ôtº¤ãyûð9'J™t¤;' ƵçÞ„c¿éªš„Δ–ÞCl¥-à©@9ýs Ð?\ÝY}¸ÞŸ ½µ,&cÙ픯r”¾2N8<]SýrtV­o¢•Yèå2BçóÁHRÕüÍÃ8òFx'çYˆÚ›"´·¡‡P¬òòGÇúê p÷Êâ–ʇ ç”¶tU>«:31Ç“ÒÙ K2Ñôi-Lá°1´¯¸ñþº¼·½Aôê«)ÖdÒ§°ãD !à–ÚÎGùàßí¬¤Ý ¸Ò‡Ó9Ù[g%µs“ç Ÿ¾®ízÒ=¦«2Ô#º•3%N'8B¿o·ÁÐj>¡U,.¥tñ4š5B9,!³KC[ëÚãÀ€ P¨’¬`hBÒèõ•X¹¨«­¹áIÃrÿwàáJ HÀ r øÒÆêëjAŒû.+¶\e)(O Ï>HãCóú©T”ê]-­¥w\Vâ9àgÎÆÖïNvíÏb“t½SCŒ•ÈDd£¸Î<¨¥?Óÿ¾—hèõRPb¸\QB‹l%‚•+œ œ}¼ýõKùº!#Ve4¢˜§FïÓŸYû®F* ÔØ–ê¤4K„¤©[øûgÛôÐw£ôÓmm?1…7bj.6c¾=ÝŤ+b€NÂ0|ùïCét‹†bcÐê(Sͼ2· (|Œruü‹êëœÊÛ™KmæÐ;¨úˆÝÌçʰIÁçãDT¿b„ôª>GœcG”¿C²ªtgW<å ¨ú'£8Ò\^í§Ü È?üñ ôuÒšU}›}E³L·*4…3Ež—S¶9çج¤¤¤gÇ?zlªÅ5º»výT9ôøålLúl©,¹©;wŒ•“•Ÿèz=åÑ¿K·†:ÕÚ=F5%•Bƒî!ä…\a å@”)X#$ƒñœËë§øµ^ #¥Ý)¶!ÛÐj¯8© ` nBŽüÅS2ROž~toQÄ¡½;¯Ä´ºwsO’ý9†–¶¢ÁXT©‰Xp$pœóå()$“¬ÁÔ»³ÔOñKë3·=½ -A¢³Û—S©>¥C£!Ç¢Œ¤akY»(2¥RNT´ý7õ›©mM®SìùÏeER¸å¸ÉZ²r·0IVAù#:ûsÐLvÒ›cÓýŸÒ†EUM¸ÑT© l-×JŠ *î)K9QÚ<!GЯIÝ0éí»Ó«ºò‡ó¸lÚT%ËwECQé±’òÐ#²ªu@9µN+{aJ;R_Y½dº-úU:%§ûE‚ÚeNŽ¥Hq)#r°¼->8ÏÛôÒ½Q¢[]·©±-š<ùÓ>™©ñ£Bqä8„ä¥*Û••)ÃÈÉù•ëÃÔ›}2½ê–{·]:¥q)"Ä”8šj‡%ŠrÁ*W<øÏ»øXÇ‘xú®¹ýAßóÕ-V¶¡O Qúvž˜¥5½ ûK©Cnû‰*ÕøZS¬Ý\´ž“"Oø‚$éR *qì펕$lmE\(ž>qα§ð¥õÝG¡}U¯ÔÜr.Q}Ê!¡À¯$•àýBµQ×>¹3÷oéëeèÒd¾ÚB9þœgÏ·í ú'è×Óg£¾ÝVÿ]%ôZÑ—Õ •)ù,Nš•?- ½€¿¥g8Gl,!Çž7(nÊÎ7GS®Ù̽Xé!SkK”ˆê§Tf}+2a•)'bœ;‚[B»rH!$‘ÆIôÏ랥t»æ‰oÃT)¨nÕèë/Lš–xHØÒ¦Ût %N(í I*I“Eõ=+«WÒ)Ô^ÖâbŸ¹ÛŠlÈkvS«A 0ÝBÔ¤ÙmJ/!´àg8?OêÝbêd •å&µO£½2½5‡§Ò÷½-qØp£¶Ÿw)íò¨I$’’«ê¾“­‹‰˜–]"¿Z¶-Ú…iuZª© %Ï­(p¿&Ô°VžæÁ½hËžå¨y};ë%ÕÓ ‚ÚµnB•+¹{2VëïrBðR[[¤$gÝá)'4mÔJ'¨+žÓuΑÞ*ŒÌÚ¼‰µ‰4Æ6¸€´;’¯øŠQYRRrRç ¢Ï¦øÕŠeïðê”;ž\9èC2ã³\†Ò2·Rì§—¥9ÊB=»‡Ë)ZuëvçD·íeU婤•&SªîDxµ€€]JÖ¦Ò¥s·ÁQÆHÉ}U*5]g“r·>J*”ºsë¦HBTÍ6[i'`u´¡Ã¹KÚwmQ*Q dcY×Ô„æ(•øtÿƆ%È[ŒG\ô¹!¥)AK% ^Ðy$q„•xÐ/*}5zGÜŽÏvcŽ;$/jF¼¤¨òáÜxÛƒ…ž¥a«®ú¨3N1–¡Râ}BÒ*[c¾ÎÍácƒÊ‰ðGéã:8­T­¸SÅRá“5u ‹H¦„9µ)ƒ•nÆ ã'³·í¤uçN®‹»ñ&éum9øÏk [ZdöÈPÇI;Š~ˆùÆ¹é ª=8¦]/CëORdÛ¶Ó0¥ImÖâ®B\’‚ÔP†ýËIJÈÀÊxÀ:>¹ïŸNÝN¿"Vaõ»‘®_úáHT¬l Ão9‰ÇØce_OµÀ¾®"]|SåCfŸ!…5UH[ uIJîÐ?2pvd‚sÎ4ë–ßI+Ӧ͢¿3+ ZbB a+G¸ ’¢G·ƒÎO#A©oN¦Rº“bÞ·½‘ —ãX«€Ô5r’äE(!´vÔÝãœó»OVŠ\£R]b vˆ-ÆaINÇ·r¥“œ PúEÔ_J]üh:ð¢Xwd¹×oN-j]2Ö¼§QßQZQÀì壱d2¬íÝëûÔ]ÍÓˆ–jëš˵$È’´°ÛD§óà-¬)$¨gîO$œé7Õ®©õ?©·¼ûû¨7»²dJ-6Ú— +°ØHJZl(ŸhÆyùQ?:ïV¡F†¤Òª1’"ÉH-­—A;vä)$>ß:®¡Ù}5ŽMJ²ìÙ.EØ„û»Î‚v• `Ž9ûè(5ä!µC£P_«ÉBS)Ïå­ä…(œ%?¯<ê}ÉwõªÛ¢ªøÄ=*cIï;Ò]R•¡”ø'9>p4/^ê­~§&#î9žKiJö)>@Æxÿ¦†¨ÜuI¨ˆe¾”$;Þ³‘‘žqÁý4U{´N… -Fµ*K-4dÉp”…';HägçT’S:§Ü•0Àú© Ç(kçiR²HÀð»;NúXIˆ&ÄTÔ¸RÚWò–?ÿ]@~Á¢ Rê U-M¡SÃKQP<„$ùÁÀ¾ç:Öå:zsLV_o[ÒÔâ› ¸àãä`sœkXÝ$ƒ&âªÔ`¦¬m†R]¨ÇK,-%h*m½8T¤¨ñ¸ |hUw]-ÇíÚM*{ÈR [ mKXÏ‘íù<Ÿ×W¯1pµJfSg$ÁS† ì#<¤(“@äücõÓoôê% ‰V¤«œÔܘQ!š´¸ëŒZäå(mA_'gT1û-·%æðé5”¨Œ“·k•Rú|ΑJ…MXí§ºøK[–ן×î÷M–çÇ„ã‘ä>’뎲”q”òqóó ² &}^¾Ý¥A·¤TdO’j÷×xt×eÓ"Ô V$Êu·]eåå «üÀÿ¦‚î<[v£KCÀl2œ–»¤’wa@‘ùyã'ï¨Sè6ÔŒR¡ÛL5¹µl„(‚B‡ Á?¿:èmùŸŠ´¶äeûe¦”ÚÑëñÉø<}´sA‡·Û^Š– )Jv)ºãcÊxçqÔs ]ÁeÚ”94f!FЧJ‹¯IJT¼8!y9<ãïñ¡ ·B]ê*ºkJ«Hef äMuƆÆrAJRpÒöãçVþ¬ndtꎃT²Ÿ¯Ó%:%Sç´dGz ‰Xþ[¥´©²“ƒ¸àœrGDê9ž¬ÒïÊ•]“.yúúb!¢ZTॴ«pÚB NïŒóÒR,êtš›Â’å5žãaŽû’€rRÓ€¦ÈÏ·ÆGÁçU³,´Õ'ñÖËÉtf3ˆwüäcVÔN·[w &Þ†´„•>•ÈJÔ¥¹ ü¿MwUÚõ5ÞãÌ¡m¥Ò™=ÖÆÒ‘œ#Œ>>F€N¥hÕ«HFE@ ãIÆ0gÁöùãG=ëgVº3w>®Š]ÒR–öÎ6(“I;q¸(Œ¯pácHÈÕ ujj ¬A¬9 ð `8˜ªq=ÅËÈÚ xÏÇôÎöé'Om¹H¸ºT«ºt©@32¡$ÇDTü6†Ñî9ʲsÉÇÀÐubÎêRo‰WŸ]:®íN§s¸nÓ•˜' @NB[m)ÀN$ä«r•=­Yð[§Mºf)ˆS*YYBYs9ZH8IWõ$rsÎF¯:Æ,¢_ŽÕ­“T-ØR㲦誫¹ !Ô#bŠW”’•T†A8ð…;í¸²š«q$(DúŽàQÀç¹ÉÐ]ôשfôÕwG»,»‰ïÂZ|÷(RuÈóAAÜ\c‘œs¹;NR9Ǫ³uGÕíËü¬v™N¥¢^T“Áç?qûj¡«ú[}¹¢t™oG C~HWþ£öã@3ª=`§RÑM¤õºÄE„°[G’€àRSäàoãòÕÓ]íT˜™_ªÌ”­KmFJ°æNå’89óŸžtÈ‹lRêòÝªÕ sñãèUî ]N[äÏ…"Iq[™=œ¡YÜ 0Héª8W}2T‚ºÑ-Š6lIJ¶ù9ÏǑƘsh jLg&ÉeiSeÆšs¹Ÿ“Ÿ?>>5ÂOj¢® |ÏA8H}€´º‚PIüþÔE™9º­ ˆƒ¯!I!dgÊGž|ýþuÒ‹]GBLTYmçQ ¥ 綯@#ÆFtgEµ­ûÆ \¨öó©ÿòi/°µ „…)'Iç݃Ž8Õtû^åÌ@…½ÐÙØüÏ2’ ryÆG£W†ƒ"OÔ(Î(„´ßcíúù¶¿ªMýCŠòTÞR”±•q÷ñçõó©ñìšó«L ex[Ęۊÿ¨sçÈùÑS]9»œn5%ëqŽ] e·ä„%Ò¬ Ž9ønxÐ V®Ü´âU³·ÜeŤ;ŒþM§#ûýõ*nÓjtÔÕÂ$°¥¶€F TÉÏ‘ÆF­(ögP#TcQkãÍ:ÓÎý7Ó”«~s–ÆO8 `õâÝ©V¥34Ç¢Ëam»¼F•9÷¿Ÿh7o¤âåut+Ó¤ž–umJà–»·âUêõ&Iq&J ެí-§qm @Θµïã9ѹð¥L¥P¯)‡ÃP[’ûieæŠðY%E'Œy8ƾdªt¢¢o0ëˆQòàÍ÷ý¼s¯É4«qªCqÖØJÓ½§[óÈ s úYþ3T\³é,Z—J mTù Ja.(Áq+BˆÎœ“Üè.·ük/yNÓÿé¿a¤Ê?_d°æöñÂP°=‹ùå*Æ~uŠi–ü9¦¦UII&2}˜ö0® ãW²«-G”-ÂÉÎÖˤ¸08.xû¦ƒlÛ¿Åç£7<ßÿ¸V=ÅO/¡)&‘ä¬pZ’¤Œà ÷8Ñe‰ëß¡w·àò_‡T£7QqôT¨”SÊ ÚVR£¼+”dy×ÍŸª¦ÝÒ̘ʄì”; þlð­Çç}_Q \ʘšlQÕ•쎗6 «å_¡øÆƒé­‘êÇÒ÷Pô˜Vbž^Í— EÅî§;wùûj-ÇêGÓí¾ÝD›æ¶`°Ó›¢CqVO 2²œ ãp×Ï+b¥>›5Öj ú¤6¤·¤‡ØI8VqòxÉÕºeܯ§³"•5.³…‡™O9!)ÇïŒ|| :¯G«Ðèò*U‹ª—HIŠÉgþÜÕz~ŸÃ#×(C SÒp÷••-Gßç:}MµîÉ—‰r³!·#áäË„B–Â|Áçï¡—}5uÆú«I¥ô÷¦³j‰i€êÓöHNGæÚœ’y$h°"\+¦¹!ØÝ‡ÀÚˆír°>ÿ?õÔª]>dÓå2üyN¡JC{’¯¶~Aý4N÷Oúo?þ©ZU16:öÌŒüW̓ʕŒãƒÏŽ5Öò²dXw&V$¸Ûˈԇ^.°ÀûnÆ7à|øãANí“%¨«ytVR¦BteK?;~GãV¶Í«jɶdVkKô ¥¶TŸø¤«ÈÏåÀÿ= ¯P®×›\ ~­7½ÿ_‚<½íø 'ø÷4%{3uÒŸ1ê±_iæÜéå#bГãÏÆƒ»Ô+uìÎŽ°óÅ Á p@>©'Ú™í€Â‰Î)NH?ôÏýõÒ¡lÜÕH⣇ZÈJ“¥©)ýTR=£Qÿj%4z¤†Ûy¿iþn2Hûúè'Cµ•RB·C<¹µAÅ'òÿêx×ãVKŽw·±µ‘Û0@øOΧ[÷%—Úm1ÐúJ9BÞûy#ÈýuÝ$»L4Fw¼·\NVËÍ,--É9%8Î~t µžé[2rq†’´nÉû®m‹»0™ ¡”€RâÒœpvûq÷Έú 5©m¢ˆŠ¯Õ) [ˆT´·œŸ)NÜmüœœç^hI®WêHD£ýB‹Á¤7eÅ:ê”Açw#ÉÇßAÞéeN¬yšˆŠ†QÛ©'r!#ü´Emôj𸄅ÒíäÍ‚„‡ÞC)RÊœ†–<ÏoÏ)ñôç¥][ì:ÝRÞDd¬È†]òѸ…(’2@ñήê¯WlØS¨ÕÃ4ynÊL¶bÓœR›ˆâBBÝ*JÒÞ·`•–Üé´j5ê¯PÛ«±JÚ¥ÉTJJÒ¸Š +À öî#ÏE}#ôãXê ËEéý>|º -Ùé}UT .ChQåI$•|cîtëéÍMßÑöÕq_ê›Qå8õÃ"kÉ`ÈŒ„ïiRda<nŸhñœ !é Ö³iö·øÞ%¥2KSoBª6¢û/‡Xî8ÜII84›©ž–­Îœ0äëf³p±t[7#°kÙ©ºÐDp´$8€*[*BˆO#Ü Ü~¼ºëÓZãÔJo\§Óé¬IHú”B%Å K©JO €1ÎO>5§ÿˆÝXPz›nסÑܤЯˆ)RÛŠ’–g#pÁgvÐŒ ¸pIJA< b/QÝŸtÄ—Z§²ÌzŒÞfŸÝ ‚ÆÝxÇ ñ3Ž9>t«¥F¤ú°ô«T¿½KÕ¿Ævû·i‰@T§°Ô®ó6®Ã¡)y° Z”´# eZPÜ4^‹ôIŠ‹¶?@-šeR[ͲÝB¯ ÉõV†áí¤­jI)HüÄ|€t1ÐKºí°}QéQ«’v4©2¤Re=ÛØó¤¨ Å¢àÁ;ˆäãH[ó®fäQ¤V§7ÆV§Þ[Ï’T­§ÉsíÇ$üøãA¨ý õ©£:úçJ­kÞ\$Pi/Ï­H•Le[ÙÝ´7´ð¬«€H8 <ò›4 Û®}dêå =%èÌÈÐhrÜU~à1Âbµ)_•ç_Y!±ÀþK{–JÆ@I$gOáp/§L¬uC¨‘Õ Þ­R ÊEñ%µ9ÝqíÊŠJ»H¥ã_Z:m}úéMŸR¾:‰rÑ)°i ö[mH+9K¡KádŽ3àùóà:Ýá·òbÖº×~^÷S‘i»'1K¼gÒi¯‘¹£+©JÐJy)y ?Mÿ_áÃèþ¯éâmµÒOOVu¬ÄKyÙéº#1R™(opXs}Òà •NAù`\ßÅÓÑoM­)ê•R©j÷S Ä¢8µg`„@R¸äã#X£ÕÏñ•²º›G=4é¼y Ì۰œBÜ`d© (n$¨T28øÐd¾“õ(ú9µª¶J£FjzCSãµ.IvBÖ†ƒJIJTw(e “€3æéúµ«k)S:ÇÓñm~­§à[²å¼Ì Cލ$&Si$Ëpî) ­‚¤œ•t¢VjWOª{røêt)–õ!©Ë‘A-2‰JCè;Ûá€sp ÚG”ó¹=4Þ6ÏP+W·TçJm·’€ÝÃU¦‘"?µIvB¡µ/(ídz ¨€Œhfú¯ô¿®öÍÅO·Ý±YŸ˜w5µK .›¤í%,8 )Jq~vä;úͽè—}*±Óë%ÚUðhŒ8fƘ™“m¶S¹(´'*+9ö§ ÏžpwW Vú‡jÖžê îV•Q€úšû¡eI!j%äpYOêêm°Г*%}˜­­qS% l¸¤´TÙ[I$î($žF´¿¨‚ȹ¯Ñ k±^n ÚiˆòænTFÙ¥8TŒ­%K#*ÜTB’<“]—HèËóëÍF~EJeMÈÎ74)¦#lpöÒêTÚ¤¥JJS»çž4·ÜÛväyØ&¦ª0¶ëõWZSTàÚ”Ïx–È* ?›“ÉÏ9ó­ýc™pPéfaÒ;å—C­A'zZR‘˼’Yþœxκúë'§ìÖ3Û5þÓïGCªÑŽrƒ’RT RA < ë?‡n[®àõU› INcíVç’£‘“ð8ñŸçà¶Píf$×.»Zj{sI—)·ZSKl§%´¤œ“»žžxÖ›éGH:AÕ›j~}ס3-ô¹N0‡›RžÀ@iÔ(e9VÒ6’ùòq¥vE2%9Ê\¨M´QüÇä:ÞR¶üp<ÉýSŸ¾šžšênŸkR˜éOLê]7rL$ý*TÓYÈB”¤—KXÛ¹)ÝFÄ€ ~¯zuõ+ÒÂslÑ“X€âB ?HQuÕ3ζˆN çò•<çФõ«RUª»Z¨p¤*­­Åœ`§ž8çÁÑWN½G_¶T”Q/×݃P¡Äv+?ŒÕ9Œ‚®â„å°¢FNî@äŸ.›?Õ=±u[ÏÖ %ªÆ:‹.¡ BÌm©Ë©Î^r±‘œ9ñ ÏQ“Û÷7á·å«P€âR„0Ô¶ n©¼e$0RG#î Õ]VÚ}ˉnY÷¯eçòWs*mHQç‚F9<ãí§Ì«¬—ÍIú­¢7 v;‘Òº]^ÙRP´<U’œro¸Ä«fŒ¥—o?23%¤¯ñ&—˹ÂüHQ?ÛÎa}Ûuk(¢±S©³"$‡iÌTµÈòœ?§Œë·hÔgºíRܩфR̈ϪNOç#ù¶™TùÖ­>L¸plvKÑJIî!kðr7qÁÆ©oÊÊn:SQ}—Å”4®r¢¼/Ïé ´z#uVî¼óÒ%Çi 2Df7)òò£ƒŒsöÕœ»qËN¢ôŽNŸÚ0•µ%Õ(xV|c ãôÕ•…wÜ0$.Ð(ÁiÅ©à ÆFîï¢:•Ôš™R¯ 0èYn+*‹ƒäàùPöùäè).JeÀ·©âE •KNœÌ‚±'Ú BÜPÉ#Îu]kÔ+`U²í¹ó¦ >3eÄ2²< ?Žu{Ôêµr⩵Dz¥ÃuSXIK­e)䃒s÷ÉùÔH7ÕÆˆlË ¼´$/¶ã1Çln<„ñþ}ÛkÓǪK½³rX](}Äý3o·ÝŸ—”P=Ä ¹¸‘ùÕ•.˺ªä;z×)´éÌ¥?QNyÝêSj@ÀNN3“D¶z“Ôú¼•»BŠâ*]ÍŒ²J8ÉpÆA<烢J£w²%S..œD‘&£ü©)Þ•¼ú‰ÁÝ´œ)'”ý´T¸’ß²¦;Y—3í0¥1 —RâÔÙQ’$«„òе)”Ä–ÅUEmîËú”Œ»ú„ÀøÏÆ­ÿ o¹}fÝ”4¡õ„ÈY^ì(y$ |³xXtš-aäÕ#‰j‚ =´¶‡rNà;O)CØÐNTvŒç@I¨T-Ù £J£ÆK9ŒûD¸¿ù½éÆFøççUk½î¡º¤ër–* QœCsjqb$ÞV@Fþ1çí«çz‰T¥ßˆê“xP¦B¨7-ÙrÔ…¶âÐÆHÂH)ÁΫ=Eõ«¨½Ryr)LÀ‰2$R#"M²Ã… ž@$œòNFå`€x Óê7¨ýi½æ®Ñ­ÜÕg¨.8•1Mr˜P”{“‚·ÐªIPã$yÐE¡B¤STÊ—Ò`ºë{&©IBVÛ€a!³¹D|sÆ3«N³]·:¢*™:î¶§4DèQ‚¶¥Ò¯øe@xÈøäãBõÍnA”˜U6—¸l,üŒ%Õ•„îÈç ú•é¥Ûm*[5øÌÓŽ¤žìvZ}*B~U…e%Cã’q­]\éW¡«^Ó]ÁqW]¬N1YcÒ%¸ä¥­ÃÇØÚ“ùUàŒc:ùéDê… è‰GnR’â¿ÝÔV2~ÁgŒŸ±ùÓ6µqÏk»N˜Á („…$¨€|”¥GÁçõf¹A[4F”¨ÁCéþ¡IIí󌤞>49,¶·›”2—‹‹|†ÐAÎì‘ñή-û»q1"›E J‘":î<Ó{€I›Œå#<ãÇ9ñª†èÉ2SJDÆ$,jÜYRs´€yÁ9Ï›C¨½Kµ¤Ì¸h4ûvªêâ­zx”†AÎѸmQO>4½©Ô/¥T^Ÿ&¢´)E-á-#<í@•9ÈäxÑ*ŽÕBJÝnŸ&RW½†ÖJNÎã÷ùÔg)0ØyÔ¸Ú‚P2®êÉ䜧väƒñýµÝÛîM–ôȶšeìÖú]ÛŒí”ûàs íÓ{Êefë ý¹TÕÅ,Ì”„¡·PBÔ¤@$Œgíó§N¨¾ŸÄYQ$[ôÙhb<ù× Žn<”ã´¤ùÎ>|k-&ò‹Q|Å¥©!<”˜äàrIR#Áÿ#®2DO)ÚvRÛNå¸Âœ*Ê¸È øðqÇí tu®œí“sÏ•oµT' ¡­¹bBû Úæ@Â÷ñÿ.Óœ“¥äû’äŽÊ\.¸c‡ … ™9Î÷`ãäøÐ Jä«5p¦·WqÔî¦j–‚ƒb•œŒƒã8þú°‘rAŽ¥wbžþ7v¿RQðR@òçAkS½nÄHŽÄ88‡N}hÀAýFsóž>ú¿é-ñM·oÚ}K©ÐÙ‘@KŠ5@–ÃéànO gÉÍ­V_i¶Ø§…?!8PbB0r.3ÁøÔ{¶QèëinÛ“~•MnC©m'`ã;°£€r9çûh4]ó×.‘K¨9+¦Ö­RH–v? ¥ÞÜÞÜáI}Y øÎÐN•Õ6¤!Õ6iJ<© œdñ‘ýõžõXªÉE"+î*chî&qÊV QÈó«¥ÉªÊB„«i›T…:±.bê–@Ý‘'àq v¢ýCˆe5㺖TáiqØP>áσÆO¸‘ó¯ÊÕáoÖ©íÔHÛ­¶Ó¬KpîO…+j²xøÇ“÷Ò¢Íê34—eQ¦SÚ†§ D¤•¤Ÿ”£* ä<ãR“ÖØ¬¸í%èÎ,†ŠD˜é'$ŽV>ÄcÁ­_6Lž—ÑìöºU—_Œûn¹t¥}Ù2Ú÷‡< ¤œ>Ú£×2×â¯*$c) (æ9ÂRFAñ÷:WÛwôûÍ™k[Š0ÓKl”$wÜŒ¯“ã©°m[šŒÈ¹`Ð*Ó§!µˆ¦¢ÛiFÅc)GÏß΃atS©Ý Ø®tϪ[6DIN¼§kr­1*´”,œå$´”ñŒcíç\ª½-èMN§&‘ÓÞ¬Q^)a¹)u¨ˆ8B”Só·“ÈÆ3ÆF5î.£A³màŠÙ›¤ð+Bd6V”““Ê¿)1ƒ¤Ô©W×T5Ê5¡%}îâ _ËVåPpO9ù: Ö».•ÓÖ#UcW©Õh*[‰yäÄeå¿n}Û‚U“öŒçCð&ÙQéÂkò)P§©+pýkBÔG-HñŒŸ¾³ËëUÔV¿Ã&¡µ¨nr£#¶GóÇq«=9êD)ÿ‚TëøŠn1u¼TTàZB€)OæOc#Ú5ÈĸÌÔh÷,&jïÅJž.EþcM¨“µK2yýˆ?:%ÕÅÚV{·UV™ ‡ ÔT_ .© œ6åAD`òqãYœôö©ÄŠ—T`–ÝPC‘ÙŒëŠRR2yÝ€FÓLtªƒO®D£]Iy‡(‹¨·-Õ2d$'ó¶Û‹Âò H'ƒ»@û,OD‡2àŽ\ÈÛÚARPŸ¿Üêò}µl»õ­ÜËi×!Ôµ%M•ãÂNÒ29ùÒVËê_R*5¶ž­T Ò¢¦@T¸rµ ˆ°A+À9Ç”§ÏtÃê5rÜú–$táš5R”YlÍ‚äW¤ŒoÆr8<èöuçbUjŒ¿pU_+ŒâK©’¦‹«Û#—NÓÁÐ?­5ɼâ²ý‰Wÿ È[-KTEä‚w”î´´|ã°8Çé ý¬õkª×•Ðô zõ~›B¡RÛ‡ “ ¢´ „(ï!)PÎ3‚OöÒÊý·ë÷ÅyªëTÛ ¦Ga¢é‚¢Fr9hžô¿˜ÿӨȭÈLèl$Ο8`OOÁ?c'C”{ââ¹è“õmL†ÄöÊZ|%Y*Ï#Æ?¿:k2î«ØnߥÝK§ýr Èa¦ €V|€HÏï +â·tMêÍ>è}ØåúzûMÔÔÈRZ${TæàAÉÚ}º:°è”9JŒÓTK‰&eàc³ÈR–¥g àmù>5¨÷>ƒV™A‰n•Â1”yn‚%(óœ`œdœç:ÆïV+†JmjˆìÆâÆj…2Ò”ƒ¿ºpT³å Æ4%|U~Õ]r5žÊÿÄßUôPÛ*+QBK*HPáîPœ[t£¤«‘ÜjÓˆÃpäÌLšƒð¿{ucÚžŸÑœNw{V+¿á¯liª|¾ˆÍ¼¤$û‰;: *ßè•Í •¹eÄq¦„j•=¸,!ÊYP¨{@ Np¾ƒú¿B¦R"5w[­Û€cb#tWKІÙÉ)½DÉÏ>|j,ën}/¥ô{Þ…TCQh¨’jAEK Á.¥ÂSÚû}ôoFn‘#¦’®î¡Qê3gS£…¥§ØOÓÇ ­¸Êv€žœƒç@¼°à´û4ª-"׸'ÒåLJd:ÈR•ÛOòÁVT¼’¢NÉñ\ÖºÒëåSèÒ)eWÛ¤7S~ƒ+.O” 77­òJRJrá Œëû¢Wmعª–„¦Ý¯9Z¥?Kâ bBS‚Ûh)d)kQÜÙÜ Of_¥ÒÉ·:µt_÷mñMúšÄr¨•IÎö$vA'sxp¥Iö€p£žs ém¿ê"Ù™O õWÓô;FÎ=­øôÄ7-¦”2Sµ*!N/ FììYÈÛƒ³z7Õ›MªµûFÀü:-÷$1®;¢tÄ! KùY)JBsä$uó‡Õ[)÷ïVê®TnzÛ1ܨ.Tº2jkúXÍ´ÚR.û{Šò2yÏ…ü2©v¥Oø~ǽúÁÔ˜ Q&O«Õé®UêEÄE§™n}+N8¼%%!Dq  4 þµzœªõK©5žŸNéëÕºTf‹0$ͤ¬:‡ R_B]Híî;°¤%*À)Î9ÖmõaWê'@­HtGéﮕ1òüVj9õ” ²IËe'¸Ú’ •íû7z‹ë»¥¾ªS¨Ö}õæª=!ÑO¥. ’íBʃÎ-h^V^I@JH8RAÎN5š=O+­Ë6—wú²êŸá ª°$Óm݈Ÿ_’Ò²°—›ÂŠÚw{‹Q÷à€xÐ[]crƒÓÈTnžõ4Êl†{+bM/¼€åK P! •,á$œe'ô×>™ªÃƒR%Ã@n¡1œªUVS%ÅHA·”øRVð‘ñãYƒÓ½¨Kº¤ÙÖZ¾I/·F«ÕDTIwiÉ÷- ghä€28hWè]Pé Æ:uR³ê¨­I”8™R–µ­í+ºÞwÉc':žºÔêµ)ê·j×.§QaNJ-½»zÁ R RNqÎu¡o\•ûV™õw%Á1°•&YU)3œyi’Ú¥©_ò! žÑƤX>ˆ=eõ>¯E‹C¥QæWî¦Tí.Ž+ªzkžì–Óm¨4£Žw+d“}ôCèªçþ]iõ]‰Yê|×Õ•M§ÔQ+ü=L…)–ÝRiuÕ¡+[‰Nä¥(H'†½?‚gñQº-önúŸD*Ý©ÉcB«ßQû mSˆuýˆÀ í€?/À£  ^,1ê÷—¥K³&¢J)Ò)B¨F[iY›’°HR½á¾3÷Fß댻’ÌüIU¥OfYÏn³Y‡Üirܰ=b[ˆB­ê•«C°_J¾­5)h%jIöÊ•ÊFq·•¸ëmõWøÿi¶¼Z¼:wTx®ÀrÞUjKïNŽ—÷!ϨDt¥¢‡ÙB‰*À#æ_Tßþ¬³ÓJÅþÇY¬ÚõF ÈöÍ:è…ôþe¼>¢Ø g“…€RNt:êÅý¸êûÍrœBˆžÂ#¤¶Û«ÆUàŒie5k›u¾õ5Hˆ¤²˜Ê )çwq$1€Aó¬ÿW·®k´äjœ±"µ6¢FB\B°AýB†? ¾™µ^¦·J¢Æ\Ë^LGÞi;Þ JÚRÇ?|ãÏÇÆƒTzcéL ¶Yê=ãGv¡O…9­È/0ƒsÀžô‰ 9á´”§ݸÄ$ ½Ð—+”ZCíÚ©G«NqÖ"ÊiM©«hCh[ˆÉ œó„‚28:É]>•Ñ:]|]bÍfuÇ€‡‡q\’Ú'Éúq‘­ÏSn«šÚ éïIÙ£ÕãÂMV·QEA´–ãv’ã Tv<¶¢p@ç>®­Ó‰º¼W®5Pä"ÆŠ5q†ÚIvžæíéS‰)À 'a$íQc£ô£Œ\Õn£ÇªÉZâînJm¹N*;M)Õ´,gÚ³°aHÆS’Ÿ$ý=KDãL©J¸Y\÷›Ku_mjD’ú{S$JV–ÁZ¶œ”Œ`qÁ¿Ol}>¡Ï¾m§éõZqS”ª„¬ÛLößî6J– ‘ÝAÞ…aYÜ4]<ëm¶í§ Ö‹C[JOúhsåCS/<×å^}«Æì…Gh¨Ýyê×o£N¡<8©JZ!ã¾Uœä`#ŸÓºÑéÕtT†:‡Fnª„ f˜ÛÈTöZØTZ È;r6œdÁÒŽ_«Ïö¼û–ïHcÖiêLåÇy,Íí‰-rAîä+g’PNrG€1 ºÓÔ{im~;Óº“S$:c$®õ$œ`I>òGßPiòÚ…"m¥A‰¡ ” Lt‡P¤ò¤”HVý~uä¥Û6ûNÓaƧ–Ô©=šãÔ\+[r°wG¼y'ç_”Ëâßy·`×lȲdÈRJªP§§‡9IH#õç'žtm”eO“2SÉr–Ö^aj ZSœ¥YÆ AÉŒè+Ô¿RbôZ…ƒnJH›% P–…2¢R{jiPV ’H#t º_[­:m†Š¥*5N[ÎÀJP²—>q”¤gûóªÞ“õ:çêˆzŸߊ܆ҧb#Á¯oÉç#ß>0”Êô#3)BŠ—Û%$¤ùÉ$ò~éÇŽ5*Ƚ´j)—Fú†\qíÊSoµr@ÉÆ~Äè56ôé§Na¬Ü=»k†K KSOc²]'”Û§g!G9΂®[TK*äf“bØ)Gi¥ªK;“Êr9Vüß§“¥7Rº÷t^ôtS­éŽ! ¥H2YK©ÀΤà°ùÒùj’Yf¡=ô.Jó¶PQÊÁîy: éê¢üºëÌÎe€B»¸IIK¤däòJxã÷ÕU¿ê êŒÂ˜©¦&ç’@SJÉÇß*ç'ý4ͤÜ7#LX[a¬™ :9ãAÏ»ô×:]¨§å¸â%¡ ƒ/ ý’0N€²gQgÔä¹-Êš‚^”¥LiÐOpêàxÆ¢Wúã&¸ù„´HØê’VÄ=Á=´Ÿ~8$õðuHý"‰GpE©]·’Z\+A8È#HýuîµuÒèh"¤#‡ÇBRÕÏ1öÐSÝ4ú•Å*L«~‰!¸eeo(9á+9¾y󪸖-NCˆ}kú†»{Û-$!¥$øçÜ|ñýô[H¬O¸%¶Ô&»q“¹9 «Ý‘‚Iò|þŸç®Õ(õrÑ~—L©­êíÅFIÇŒyˆÁÐB´­šd ê¨UDÀ­­§Ü¤œ’R2IÀGœ AŸkDešC©k qjpxã?¦¸RTì2ÝQ/ >–Èä?¨ñ ,·ú»sRáÈT¬­´:W HÛ½[ü§ì?ms—êNä¨E”Ò¨ès»-¶ê™Ø’NãçäôÕLêj†êû…ÃüÆR@ Oî>5ص”¦• ²Á J”’yóóñÏé ƒR¤QkNÝ¢:úHÊœK«FN<ÜxcU3]ür¤ô‡dÈì(nB²T óÏÇ9Ñ[³šª¶Xu†q[‡ þùãŸUç°ÝLÆ[î>ð)1ÈAVïäãAU-IÇ;4Èo¸Ú€r#$ŸŽuÞ5j\E$Omô¡o$”©jCÆ}¤cD5ƒY¥R—!º2œo•wÏ‘ú`y¬n Ñuæa8‡ÊOmqÔ •}‰ñç•­*Ì\j§qÑ ¤ÇZRÑ• ¼P•(nV Î~4Õ«]Õnîü6Õ¾¨‘éÍÉ)b£‚…åj å@np<øãI‰‰mÈ…Ç aj$¯k‡„ã9çõ×’˜ÑÔ¥±1 •ì+‡éRéõ¹Y£±]¬Üt÷":§ RØ}/R÷ r€|è†“Ó *î޹Uˆ–§X *Qµ*ÁÆö÷ ÜqœœgIZWRgA¤µsR˜AJZtÿ/'€¢3äq®0zŒÕç7Ñ›•ãpÝ–öüp<œè'F:G2Ùf›OŸ\~D©*}æ•’|îÚ°Oê<ñ).ΖßRâÕmû*Ê/ËŽËO¥RPâRGæan9…9Jí©VUb°ËÎC½‚ꃨJМ$’0žyÇœ‘©mõ,T[\èJ“Iu¤ a¸,8]ʈVôüy'õÐ%êý1ê>[“Eª´ë‰ÞäE¶”-G8)PA$œøý5É=/êV®–¡;OrV ¨ÈDfÔ3îQñ“ûþú>¯_7ÔíªÝÎús¤9äcàÿðj‚§ÔJ“°ä¶êÝX-”,,o AÚ¬ç>4öÛ2:DR›¢ä¥Ôd0°ƒ nœ8<üãã^n~ª"§SL¨³' ©œ2×Ö(4É àŒóÏ?o¶$Ũ<˜óÜ…!H-î+ €“ÏÀý?MDK¥0IBBG¸ ƒ‚í s«Ò%Ú®1]~ ”„ʇ§ÂA! BÈÜqÈç ~;Ö¨– ¸´¦Ür¨¶–ª±œJi$p × NH?§zUç»É ¥%­ý€ PN óƒ YutÇh;Z3&9Xq-¨“îÆ>ùÎ|}µS+£‰Ü’ÞÔöÂ=å>?'@CVÒæ·iï!ÆÃd'“í ο£W¯ÁÓ5 çѸ¸ÀÜWž ÿ Ô  ´GQQy#bKHuAA$ƒr§×Ê*Jt‚‡JƒÏi(ðI çž8ãΫҘj-\7%M³iSn)÷Êp¼pNF#<êùûÇ™\DºÕf­_t2RJC,)NphqÏh#qRŽyÚ:GRªSSì:^’ê·/)Qp,’pI?'ç_[5šÊeF¦Ó 8âÌ„6¤$s½@¥'+ÉãA¯}]Ý6f¡U餈Tô.˜Ñrb<źëͨû÷!;ˆñ‘žN9àèϪ×tS.›µ&TŠ"_!øÔçÒ™!Y ¸¤(bHäy?}#(óèÛ]®)¡.žß×M—% mµ(Û'vo·ÉROÕ Z»qõšïS÷Ø—¨Ë’Ò)tÚ{H2$+•)¶ÒRvŸ×ùÐ7/zÏDi®¹Tq–„ØÍ¥š|æ+n®D6ø.ÈÒ7$­£úG#:vëï©VGû°:M·ÞÅ6µKéD¬' -¼¤àƒÉݤÿéÒRA¤ÇšÔIͺÜèË—)$6Ò•,I(öœ’°gçÈÆ’=J¼m†¯g„‹ŠrhôyŠD÷`Íúl¬sµ‚BÁ;rƒ÷ä ÐV¯W}KY·K·RÄÌÄ·]j§©/ÆQ9R™ „$«)Ç¢“àã@ÉêÕ‡¨„ôû¡Ô©u;¾p-7O£<ŒÌF—•?%kRYm ¥·”9Ü”€¥$¤º…ê5ïÂ[§tê»Ua¤Cqƒ%ùî©IQN’JÎBAW»çÉÖÌþ]u³-*wPj3àHzúžü`kÒ¹E9¦w¢"PO°Ãî•îÚý#Ù·ÿü>ºWi‰½}dúŲ¬d:^\ZLwêKOÈç”ËK;w%¢G96¾¯ý.ú&ôkü=žèc¡¯;ÚEn,†mG Õ °…—˱ã¶¶‚Á܇ ÈI ÀÏ:·Õ/ª[êåôKV¾¯å˜ÃV½Jkœ¶ïmJ[Áª%[®Û$¤ãnI'ù;T¼z×Õ‹V\»“¥—5z—nÊâÔ©vœ‰Š¥§¸¤¸¶!%jÚµ©kdä0³uïO.è×5´™Tùté,ˈòÛã¸AÂ’@)P)ÈÔÞ®u‡«>¢o…ß}Y»¦WjîÇm•N™´¸¦ÐÔû@*'ŽJ‰>uç©÷-Nà»eCR$á¹jKLGóƒ‰Q-%!@ƒÆÒ21§ïðúôXת®²±G­9.5§Ce3.Ьt+=”ž#6±€{8IÈØµœ¹ ûk[Uj{ÍÔÖeÖœÜÁJŠÚÇåZHä(c!@ðpF·õŸê‡¨OzZ·nN¡Ê‹Z®ÆaÆ(ó—µ·’…•6Óï9ÉËi•$£ÇÏ/®¨ oF7•É%7PëöKóȇE¢ÀˆìX)K|•6¦”ë›%iXÉÎ2NtayBè?£>ƒÙÝ2éÃtÙQWO2«Šr䣒JÔ’¤á[v£OŒè37¤¯^5F·«WEJ†ü)•Z”&Û¹ž„¤-†ÊÏy )#qPØ@ùØAøÖƒëW¯¦î‹š©nVâ\†lÆS!7í…½H9.ÙJA © *àdàcTÔÏ\žžj”Êm:ƒjG Ö#—$=,’ïŒ8µ;ÊV¥9”žA Æ57÷V*7 ¤\–Íb£Ã.^\qç¹Ji=–!'jJsÜ}ºªŸñ2j›N›lôºdhQu¥×¢V–j¿\ú ¯÷d­J+Ü–“ãvßQj>·ú…}ÛSá=F­ÔPì¤&U^Ÿd9ÞqÛ#º€–Ž vSŒR‘ª¸A­TéÓE•¥¨¨??-oRŽå! i!%%C$©IμÜUÛª›l»ML˜í!¶ÿâæZ~¦CKØÒПfp’ ¬žƒ 1—;ª·GNFOMî:CZJbª©]¦¡Ç]ÉÊׇNì„§nР9Æ1#z±ê;¬–ËQ-‘Ó«‚|–$*R*ÎJK#hS+ZÖr ý¸Tú‚õ\ïV,Ôô¦æédzkìÉŽ¡:m7ýæ6̵Ç6­!d²SÈý´ÑÿH~¡ºûpF±ú-Ó»‚ë“*ª˜i‹oQäÌlHR’„¡n!–—ïNK«l V¤ƒkúµ³ÑïUž¥­þ˜Ú>—P³íªÐª]R~©º{µH--yCO îeRP”m©!NeHVÝ}ŸèWñô·ÐJ-»Ój7¢[ã¦6Ìjz`Ò)tšT!NŽ„m ÐI*.rs‚|èÿ‚·ÿƒóÒEöÌ.µz¡}»—«ÒiÌ¥Ú§[ü*‚µœ©´¡ O¥O=½ ¶KIBT ~”?Ub1\Âe¶Ú`¶—£Êo ö6v¤FHž5—®Oâ¯éʯn?zÄ»\D:cËiH E}D ÷ù `¤mPùΰ_©¿ÿ§¨µ ô¾–Ø NmýŒÉŒ8µ';–PžSùA y΃èÿ\zÇÒ¾‹[².Τ_TÚ8I[ÕÓ&%) 8äåDàûg_?:•ü@îN¼ôΧÃ~m Ôì±TŽùe2ЇÓ5½ÎAqÉJx*p + çæ/ñ þ(ýQëËU ׂÂdÔSÙ†…4…8 îZ•ƒÇòiÒÿUלΑÓl÷ív0·P•8‡œRã18T{x!(I'’àR†H ”êíèã­³«·ÑÓ/Á¥WäHz3´K¡Ä>Ô— Ô·ÝhûIR‰Z’r@ àrë'¢ûæ’ÔçCn/ñõ¦ƒ¦› –WV€ù‚™láäcÃú¤`]Pz…騱äYÒRK,HB²Ú“” øH;‰å#:4¦^½J´R‹ªÓ¦LCÔhëíª2ÑÜ ï!Ô…€6žœgŒŽ@: î\Wž6MÑI”Çy’R\fNÐP…¥[Ñ)àùNn×٦֤ɟN”ì–&~M2šMB+„­}Ò Š••rN¬¡õŠ5Ùm›ŽýLvjl¾•Ä›Na_R„à¯sjWpûøH½‡ȧÜvì6oJNÙv n9%rã)ÔˆSïïºHÊVp­ÞÒ@ãiädêÂÙˆõ6Ä©L¹fo§J©Hv¢Š•EÒ›Ø;dvÂH)CiÀ# p•`ž}Jè¼[r—@³ìùÆCו2jµa”ªFçÛBŸ/¡ÎV¤¸æP ž>4´ë͇Léý&³w÷¥9soÑ¢­§"%aпg%JNæH'rˆà‘ ÃX…ÝõRMÇ_‰%¹âK§Ô»&Tg#!-¨ãÞR•e8 gît—Dn›.u=˜öýºÒÒpê">ÒÊO˼(e?çþš¾èÄ‹ž¡ÖjÿRlë6Ój5JŒ¶éñ*±[v‘š)HVÕ§r‰Ú­Ø%`ãÈÀÓ³¨§§›¢Ýf­Ô‘QÙž 6ÛõëfáϦQmN‚—;d§·#Ð.ª6GHºŒÉ¦Ý‘Yh>•ª!‘þè½ÿ”‚´àãÇ‚>úDõÿÒÇcÀròé•ÍRLZ|"äØŠ’¥©,í9u—G%8<Œ“~ OZ­þ«tš€íïéúâ¨\vÄFÖõj‘_‚‰ja é ¬ÝoÆàP$ã cK~§º©þ]r™pi•&–žÄ'a9 `ðúpr4 9q*k™×g¸©÷­nî±€98?ø×Y…΀ºƒRÛKmÿÅÊs»ÜÿÓ@!¾e!†S‚CÊÚãˆü¡YòrËõצ†Ìć”ÛKoþ!øêDhn·Oy™4Bãàw—•noqçþƒÆ¯Ù"¶Â ºk{ %µ6³œ8 ãÏÇùè+)w2jhDX´%°T0„p3Ÿ?¸ÿ®ˆi¶³Il-Qe²‚¥)ÂqäÿÊ1¯êuýÂRâvËÅnФíOŒ|çQ$Ý• “² Ñ"ÌKβGd2p7cŽ 'ôÐLvƒ‡dÕTÂÜ_qy % y$×[ʺ&¢`q¼û[@ -\àŸ?ßPbªÅK»TFRœ†ÒFWçŒñúŽ5-ùPâ4Ñ’æÔ°°Þ곌üž1çÆ‚rãZ-ÐÛƒP„²Œ«º·!A?'#>F«ªŒÙ´iètanR–ÛZF?o¶9ÕQ[î·$Q$E-‰ (Ê$­CðHçǬ›Qª×=È*”áNÕ¥I;Ê‚| 8Æ€¦ÕA!TŶ¶ %.ãvÑîÇ ãç:í_¾èðTÖ¦£,¨2Žß8Éʳ÷øçT [’§SDz‹…Å‘ÿåEÀy ãxñöÕWOm™®½&ä«D)m²ða©>å¼Få¤rž>çžF€®±z@yï£Îf3êgùNœà`n#äóÁ™G©VЧ¿ˆ˜ˆ@KMîh-Îr1Éãç¥b·Zª^ðÊa1 Æ¥¸ÌI2Š–•r1•œ{w€8Uö#M˜UGVÐU-Õ!) 9ó÷ AsmHXDÖ´©[Jœ¨sÁÎ|ë¤ØjŠÛjB‚‡AÞ¤'%>6“ŸùÕ+ÕÆÐ\jžà|!µ/xW»?o¾9¶ª?Úå¶b?,ºN{þÆpGÛÿ}œXô·–➯4¦Ö€@Z‚A ÏÛ\ß Ò¦”¼ËjF×’æô'äŸõÆ…ëË®Vݧ`„Á‘áä $%$’Û‰)É( ç'ï£ u™˜=¹û›ÝIJžVxx$àòC âšLm—êPPÚ”èRÖµGhqä§ÿ} H»VdÈTmôžd%K'€Îqó‘ñ£Z0zr[!(/6¢ aa`œá_¯ŒUË´¡.±–§."9ËhQÁÇÛqŸ¾4˜¶nG‰‘VR·$a(NBTO sÏßTwdjÛ/~L–[.1Å$$·Ü£ú•xÑ×]H§Iü!lº–œQo¯¶FAÁäð5KtѪÅî-åËÒ˨jo†> myäè((0.ÙtÆØª6 ˽·Ô—r„8sŽ|œŒ~šèõ©±êµIérKÛ»a;71Ï p9ûë­¨ýÅR²âÍ q”óËL„áÅîå;I<’GØtGLµ"Ô¡T¨,¿‚¦!ÝÇ `àŽ?¾‚ª›EoéRÔJc1 ’ò]t(íùxÆ?}WUmH[r[ ’¤Œ`dcî>>ú%j¡Fj$§%\,¥xHDRB†9 $s÷ÈÕdWlzÄ“5d!lœ6šŠ„îó€¡úr<žt.J‚Úó-Ç$‚#íFݪI®s«f_]@8Ó;¬—CžÒœ|…g)25&¤í=ˆ2ilÊ•¨¬2˜î(÷¹¥\ÓE¡Î>„ûÊ¥HqJeô²½ªi x_>sÆñ éNJ‘=n!1V¢h;ˆÎÈÇþuÎD Sé i•SÔs‚I)pöçÆqúêJ¨(UFTinÆ@eÇ”’èÀÉÚý5gÄV"» = Qh¥œ++÷“à q÷àè#}tÕ·R‡%* ,©Æ‚Hý>üñö×+1¯¾ãhCPŠAJÜB€ NINR~3÷ùý¡[ôJ*§=Z¹€Ql%¸ËtÒ¼d«œóÇ:l?–¤S›ŒÑD…áo4»íããü´KõîÕ#Íaµ¨mx‘€Oƒ€F«¥R¢Ðev˜GóRØ)aCiäü芓Sz=DÀp©¦Ú-ÞØQu9ÿ®u)lR_J*St8JJ_HÜÎyÉý8Ð/fÚõ'Ô¹3·qcag8?¦>4An[ð¡½ø;o%¤îZ&¤8]#ÊqóÏÆˆ$~È[êy )#AqþZ¬Ÿ*,u4Äw7—ü·V9žùg@AM©Ñ$GqÆíjQ,)&KNDJR”œðä}ò¤ã¶úv_ B¨Í¹±Å¸Á#ç‘öΆn.mßW5™%g.¹R@ÆÜc€øÔ¨ue-ÅÎl7HÁ[%e±·Æ~2>ø:…T–ø‚úéOyk!+*'òñàý³ÎƒÃT©Êu‰’÷“ ïqÅqŒð<‘Ÿ¶»Ê• VTäióZ‘ìl§  ¹9çõà|kŒºEÇU”ÔuÓde)Á*|% g#ôùÏŽ1¯.Ó`Ãs¹Vž© ))Äep8þ¢Nt«uy/18 ‡l$…îNŽ|äyý«]r”±d@Ï,$ÿ,ünã<‚?]u©ÓÓ1¤ÃúÇRçû‘eïIRNæÈàÿmp¸a@+è£Ê ´”ím_‘À0¢±÷ùÇÆƒ»#ýRfrT]ÜØØá÷(Óø:ozsfݶå?}ÞÌLq,G_Ñ´”0¼'oqnç ð>äý´©³èr+rßâ. -‚yQ÷´¨AãaÇΤʼéwÛ§^ÕÊ”xÚÜ”nÏm„`à}Žt=GêÍ ®]@“£&Si—!„©ÇS¼§jp†Û@í;r3ö$:7®W¬Û&«°ôe0˜í>i©içK›§ ÚH>à¥+8À9Ò·oXgKªtÊí•)1W±ÇçÁNT<¤(d ¤Ž~GÔø¾«Þ”Æ&[ö}J©E~:Ñ>§J¢É’…% ÀZ––”Ëa*$Ü à+Ú E+—n_i¢4#"«k;§ìÊû®ÎpBIÝðÖuëEÙõ*¤YÖÚ Ám}Å––§Cª ~˜IÈ9 È<œ“¢³}u «tê5õ°Ê"*l/o}#!)ö»€IÉ'òèÞäé…ÓK:%>ºí&âóÊm„-Àœ(rã™Ô„çÀÆTS•yÐe)ì?LZ¢­·[9 ß÷ýñláMH«N¡ßõKåpÜ´ôSWC¦AKb[¿Ë›Ýq`ûR‚Q¸giZ¸NRNbê}R—Qu0à#¸êœVÉ%=Ä§Ú 'F~ß寣¿ÂÐÉК/øú˜²å·LªÒÒkNtÇ¡*ã2›)]RJR¶Ô)¨hÚL‚ æÐ„´TýN×úÃnt’ÍègI,«šuUºÖÌX2*"$RÚTÛ¥×i.nÊKî¬$((“»:ú ü.™V·ðÇ¥?\¬¢7á—½Ìk±Þš”„!Ê£Î5hÊTê‚ÀHç#ì5œ?ˆÏX&Ý]3¡zOèìñS½êiŽýbØ¢ÈG}i ˆKm*å¶P¶ÉÞ ”îIÂB†‡}%tsÖ_H=9Sº} tºLÚR¡2±I¨-&8RÊÙK„%ÔvÖ­Ø#à”§@öõÝèûÓUnñ‰eÙõú̹¥Úc·,˜ò$vIP¶¨!Hm$ûŠP9óªOD¾‘zО×$Õl*St©w3®Õá9!ÇãB|8–›ˆËeE¬„$­ÒV JH {ë7Õ?¨¯K*úÕ9vû󆪅5…‘\ îÞÊ@ÃjIÁ%CŒíƒ õÒ/á—ü7MÓ½AÝŽVLe÷jBåî·H)B㥥'cŽ%ÁËœŸï«;Ïø`϶èÕµzaõ3TžÃ2ÖfÑz–cHw;’§\Š€ ¬ìÜÊÈ÷ó+­RÖE6Ø~­U¾å‰å>ºu=ô©èÉ Ïü ’¢ „(lÚ¼3¨ïX×mb±R©Ðú§qÓ 9q—M§>×ÐÆt„÷T\XÞµ ÊîÈW$øÍýÖk³¡µÊ•¡ê¥l[×%J ›·+p£²`Hp))qöd§Øçµ;vá*^ä$¨dYæ‘~Ö£u¥q¦°ÛI-; ™ieèÛBSÜm'òò€0xδ]^óèµ÷Br‰¨Ê¯[´Ú’žSw 1’ÐÜØþÒýà7+!YÈÎþ¨- ]«g5{ú½éÔ™°ž ®´¾É˜¥J²¬%*JÛÞ !CìõÿPÕô56¬šch(Žš|8òyH[q\ÎÕl @I<€N„=Gõbî²íf­F&KŒÕÀøŸ&"Ûy½éS`´°Úǵ%!GpQÜ@9 ‘¤E;Õ½A—QK½éRþª8-»7¼;­œò˜Ú´þã? ð5cÓèw‡ª.³Qz+ÓUϪΨK-&dÖÖóLÆ#+YÂØ€x¤µ Œƒ ÐÁѹWOU®—)EªŠ£©…É¤ÊØŒGc¿ÜY _óTr2qÏ7®•{ú±z"µè3jíÓSF<´¡iIW¿”¡Â2”Ÿrɧ¦ç¡ßánïH:qR tŸÔRn\~7P¢ÛÐ%Ô–ó  “Ýy CHJJP´!% c ÊŽNõãéJû¢Yµ®±zwõEuJ˜Ä—ËRch‹& Æõ%o6Ûd N{x í9ä…gQê°mÚ[7TÙÁPÝI,Mîîu‘”··8'žsŒqúgΪz¬Mrå ‰%F\—[-){´x*ñœ­£ÉøÎ(¹ï[…æhõ+ž­- ²ìç2Aä+ÇÏë­õü8ƒµÃ×^›£Ô_ªu+s§I‘¶ŽÕ:2SR¸‡+d¸’†9Ì“•,å`µaèÿ¤oQžµú¦Ý›Ó:â³eÕm]˜TF åéNáB;@d‚­Ê^=‰W8úcéÇødú"ô’¨.^4¹=Y¾)ò.¦©’>Š–ÀB‚ÂcÇʲ FÇ$)DÀÀ$[tn’ÚtžŠtÃvÏ¢áÕ†éíD…ûJž–ù%Ù/¨sŽ)GÛž3¨¢Z´˜ÍV?ÄKT›$ˆ2Ùe¹Œ-æð²Ú’¬‘Æ9Á#9ÇoT³½\ôÖtJ¥@¶¡@Z&Y’i3 ª7 jJ‘½Ú넜®:†ÅcÆuóª¶Qú!=ÒËÑufÞC¯É¥ËC+bAKn¬¥xYVq”rPIÝÁA?G, ­+ë*Ïõ&y¦C†Á|¾•¡d‡œ %‚âÒ¬n*+ÜrvsÇœûüFnÇ}KC¢Ø½5ˆïÕѪ,Å£7)ò{mcýíçV¬ŽFö°>ÁC$ƒ Ãiê7P È› ˆWOKˆ-&+hQ@ä…¶ €<“‚yûiÉé¿®W•å±u%i‡RJÚé*m+A…å!'ƒÀÀ ÈÓ÷ÓÏðô±‹¥ÕË‘¤¾ÒŽklvÈ)þSL'%XÛ€§•ÉÆÐu¦m?L]¦MƒA‹dÓ86\–æ Ù´ 'xç*ÇÛ@˜ô¹Q¿oÛ’—dSpWè´µ¥:–ãŠZÞ2r8*Üí<à¼þ=EêNj𮾰Ðè+›;ꩼU1÷B¶Œ¥E $ 'ÊDç8áçUº:5é6ÝbÒí5*DyÅ*—L°Æ´´€6£žO%ýB]Õî¬Àbò..;ÐÝÚ™%ÒÌsÇd í)ä+hÎqúh3'­ßL_ôWK¦u2›ÔJmËEiÖ•PƒM\SI}ó± ã%kJ›Z½`zÓ”œî=õ•ou+§nØWÄHÎV]Z{UÇêî2 A¡YÀR†w'<( ?Y}F½j~Ÿ.K³^‘* à©.)çÛ(`‡H'%{ÒªòdNu)ûf¤•=Sm*¥AN+!ÎxGúž4Pk—­—Òû5?èÆÀ.À¦­´8¡žâV}^ppR£Áó¬ Ôz5"=r£E¢H S×QvKq#É܈åd•¥µxÚTçàq9úuuЯäÒn—]i‡Àm‰±ÝئœX IINHNHÊ8Ÿ9Ru¡÷Õ³SLŠWv¹CªúZ•5¢âB‡ mÔŒ©µ‚$xÛó€ ŸCD7]2"Rœ`¥¼ž>3úãïã_’Ïó¡:㬥HÁPã?û~Ÿ®¥:*©mÅ®#‹a°D‡ÚJ‰NNîÏÏßP¦(²Àq†AÇvÓ÷ý?_í ö™Œªð"BKIpöÞn:qÇÏ9Î~3[VäÂD‡ã„·j2P’ÂrO:§¢!žJ“·()Qà'<þ¸ÕÕFᇠ‡!¦› å FI'‚y<C–óõ×ôæ/dmì:·NwcœŸ¾©çZ²‘øÂÐ]R=§é£(äŽ1þgCß펻34˜q p¡Œ(¡°Bó‚8ýüžui>ö®¡¤ã‹SËÜB÷2 *þú k~ÙDÛ2«Q‚R€ Œ,s9*Ϧ‹©”Û6˜üÙo Ov:Ê€%ÒFÜcûhÏ«Ü.¡Ù7t¬a¤¡\‘»<Ÿ¸û\TUN\6$!n8­Ä8€Œ¤ÿ\è<ʵìõS‘#‡wœ(ã·?`>< ë‹ð-`VˆQ’‡ž9Aí±E%)>@Õ}B¢‚§e+;Npq³>N3ãïð5áÓG5*ÑÞ~É œ!Çñí?ÓÁÏíúèiT4Ð'7k{Øi’”™”µ« `ã>NÑ÷Õè1w*HBZeIBBRAÁ~œ??©¤×ªsªiMMcÜÙPPpƒ‘F3’5eUn)î‰RùuAÆ™Ü=© GÉ΂Žå·© £“-²µÅ’‰I’ÛSNžwg#'ûV7e.rÓW]”Kª b;ƒjP¢O± öŸp8ÎtGY«Æ«)‰0§¬²¤ì[''ÿQç÷¯P£VcÓ.§h• iúxÊ!´ áJgxÁädþ£AYSšªJ_veAKj<<¥ÎÉÏsÂBBFT|cÀÐméõq)°€aÉÏ! ÷8î)ÂÐGGŸ·t=sµS´#$©K}‰/¯êa-¤ ä¬ÓÈýtRêʦESo4•$øU’xàxÎ¥R« ÎqùN¶8m*HJsãÛî4²=GZ[±"­ÖNÒÖòT“’|¿ö׺Mâ•Òœ€ýM?V%) Yá_•YÇŸ9ýŽ€ùuXì2¶àDÅJšh$ü Ý•K‚«PrŸ„ꢈIZ_u”¨wÎÐ’FsñúŽGßú“wR¿1¹/1ÛVÅeYÇœäüƒ‘ðubª¥6+,Ã!ö)c¸BŠO÷ûãï ¦‡I¼¦ˆõ ¼·Uü†"°µ ¹ÈçÏÆ5Æ“jGv{S«’Šd¾½±Ò⊖pNSÏ<|h™rd×%Ee™ˆuä¼\ J‰øùùóó “Mêu¿q—ê4Ó £ [í%-6ÂFìóŒ|gλZ­¾ÒÞ“¹R72ú\$c‘úÏA”ɱ)ÍyÙ­IB[,  d~ø:,¡Ý×¶DØ…·r.Uß’¿ `'üÿm¤ëbuV#Š¥¶¦§¥à·ã…Ipc'aúŸ¶5C6\õÄS•hÒ½³ê•/œî9ãgž¶¯Ø­È¸RŠã/¥„Èd92 gÒ»ôÀ?>?M{«ÌƒSˆ†—(4âÆóîÊ1ÂHûxó üZY½ñ¢êå 8à'<ð>ß¶»!êt{± ¡r•åÅ9ù‰òœþžuQrÓ+xQûjkðyáÆ×ßh)mà©Ç$cü´MÜé2ŒyTõ…nÊ Ÿ$|Ÿ¾ªç'ñwdÇlö6öÔúH ÎOó®rª2ÃŽ9ÙJ²rSŒãŽ<ñãT5i)MMù‘*î­‹eXAÇŒý± j7³Mcðë†ß“´©Á":Û ðŸO¥Pkõö–ÍœûKmEJj3Ç?d ý¿]7ã_3Ëð§¡–Ø \z‚ÂÃŒ…$þbqà~º©…÷Ÿ_nä™RfCŠm"¿¢NÒ|4ñŒà“ú,ßL}_¹ µÚ¤Ô™[©Ç¤Ì …猨”'kÓ¾“úÅF§If%¨ë-%A˜u˜ý⣌ÜZp|~ÃL:-¶»‰ú(ꌨÕ?H–ª)|¶~NAQýIÏ:½îêÒ“!É•Šœ†”´¥o¡´î0pTR>çöÐ?ÒP”ªLž„\BJE1/¨ü¥m•’êF|è7Q™ª¢4Û>¸{ mÊì‡É<ê@qA9#lþ˜u«Õ+uê[räî}R£„ŽØÝ±JWå=§9È׎¿u6d»" »N¨%aØèä˜Ä4‡ÂÁBv-!J)òw`g‘ÀÆi[ÔêS5kZQ¤˜JS®­ÂYmõ ¤òQÇ*òO>¨z+èÃÔ«.¦H±º+l͹¦¢Zœ˜ëíD‡»;%ò62¹C*^ßÊ…p ‡HmÚÅñÖ8uÐÊ«uÁÍÚT´-Âw­D¬xÎóÏÜ΃Õ=7ú7é5+¦©­Q-Šu*š‘+ò™ž=îpT¥¬åjZÉQ*ò4þ‚ÿ¯¥ÏKöȯõVצõõp¶©wÏMmæ ¬6ZAIi¿9q{Ý^}ë $ ÑcÙvÕ§GrƒB¥Cf#-¥¶‹)m°§Ž| *ì£\]M¶éõ¸ù6õq[°×8„IÖ7%ŶN[J€ÎÒ7A;s[£¨ÎG©*5®ÄÙŒ6Ùeן^…¤n.sŸßôý´/V¿ÂŸÓ‡¨X7Sªö‹6­èËÏ7…Qäï@VÆÜa í?•d,òT•à€þ³ìεt+­sìn©}F†ÛrzŸ+»ªÃ‡-ºÃÅ>ÿŸÍ‚)9À'ýz³õ>ÓéŠêö¬ ¹‡6º#­„µ'¹ÿçÂÎ=äøO9NâuðãÕ…nêÔ5³nuŸ:ã¹UB< 2Zí¶¹òÛq¡¼¦‚KqÛX[θ2Cq”‘»¸IÿÁ÷øR¹ëã¨Uºz‹­Ì¶ºAnHଖ•Ö I4¸Îœ-M…wÞI!¦Éc·ô#×Gª:OT®ªuÕ•R»U¨=Kè·K† C-²†#J{<¨*N65€•†ÒO·Á¦KϦ]£Ò½?t° ÙÝ5°çS~© .*l§ÂF¨P?4™-͹ÈBJùD¾žÓɾ ¬_UR ³Þ Ò$Û½+Ž©j˜ÉØ_šÛA#¶ €ˆL)#qÞùÒB_¦_OÖ¡û!Ïö÷k;_º@ÿß·ÌYìÇTÚÛªËT¶Ê‘îŒØWm 'h$dòIÐçª?â3B²úëéO@¨(•wÀ¨1õu¥†+ ¬ÇÁſt+Ø8;|ißêQè¾§-Ê­­R—ø,ZDÄJ¤¤ÿ1N ùCz”±ÆîT;ƒ ƒ¬kêgзXú•dÑ:¯B¶¨Ð¨™1êÔÂÝ’JÛl²—2Ú[ö¶‘Ê%YÊŽt2úÏÕj—Z¯U*õÚÊ7:à j*QÚJÈ२ »Uš^R£TÔë*ŽB6¹¸å*’€G‚8%¸jJ†Ã1].:juM¯ãv|Ÿ“Æ‹bõ…éÂe;œJÐR¦„’Ÿn1ù¾ÇÛLJZz5qɋஶÄy›Ö‡ÔÊw•6”d8  NFÔßNÏàdü{[ÕW© C’@¶÷²¨²D„IvSm7´8 •$œ…gÆqÇ ¦ú©¶%ß\br˜szÆä¬£Ýù*Æ0@puÇÑתV}1uΫU]22àW£¡Q:B{M¸•RTJHR7$‚;°pƒígH}N£¦3ƒSêlŠ}"³r%2=e–]CÆFɻڴöP”º ”¥à©Œé뻨~“â^ ôפ÷1SÞ(T)Ž-m<œ$¡+ nq{— 9$cT0:ËkÝô‹¢§:ÙBk´Ê•>³·‘OSo=½$¶T¥)°NÕnä‚pR¼u¢™d^VM+¬­›FLÑ„Kz–7£Å!)@Sç*Ù“É8×Ǧ'¬Uñ¬SÉ´j¤ÕË[A…6¶¡!ÍϡČÐ@( òºžsƾˆÜ_Å麥Né-ßjÕ[£±-¤¦L:¢TÔV’”¶ -€0R[ðÜ9àä;ó©K·º™rP®ø‰ErŒ8qK ¬…¼Û@¢Öàîÿ“S^5äWXyå)JAPGqüå#ûíAôÚ©êòMÈ^»cþW·¾Å2¬Þú{ï¶‘”¸ë œnÉÈ! ¨’qãB×g])TN‡ªKNÌÝF<0ê]n›ìNõàîÎã€uóz‡wuŠÛ«<¨ü¥Eoá ÉIqãí®iõ1\¸ZUŸXrJööÝ”•‚”6ûUä8ÿÎï×ß\0äKu›Y¤J¨6òˆ\Pâ[àmÚ–ÉÀÏþO ç:·ô{mu;ª÷a¹îÊÒXRKHscl'” çr‰>³?§ ë–L‹î°—LgÃmäxùàüxÖ±³®ÊgJêÐ^¹®)b¼â^4¶Õµ+HOó0=¤Œ }†ƒkÚöÁ²mVêq.F“ž\~Tµo8Â”î “É8Î0Šú7ê~Æ=C“oÀ”§ßFdEz¡;á°ÜI9 'Çbž¸zë5eAqªnRiÓKlˆ°–»)$‘åG{Ž•4êÅAÛ¤WfÔå©Ç\—(/ߤ‚cÇÛAô^꩹vJrL¸I•5®ó®™{’…/<¨ Þåd“Áóã@½A»*f‡6…X­ìo´Ê$a qiÀwœà|Ž?c¬ez€êMµ5é«&yCpœBÒŸwœã$çÏ:õXõ yT[E-«šC+( ?5ÇBrØ…8$ `~¸: /^þ¡éÔXèS.%é.mr·-¥ƒ± äòJÈ!'Y²Û« Vf—Lú·’ËL±žã®¨á(BH%JÉÓN.®ôç¤U©µ4ùìT¡½•̃ 8¹mð […?Áøàc[ø} ë&ü†‹ÂE²(êL„5èQÒU%œ­×p©Åíù) œŸ7¦_I=s»)‰¯ßi#ëË­Jl<úIVÕì%9#ÝŒœ2AöëHÖo¹½ˆã9¶Ÿuª4Èð­RmUÉ‘9ݤ÷KimjFA .+€xùãnS-«"™ Ãl¦c1`%¸’Ÿ”ʲ@ö!'fð‘ÈûyÐeÿqYVý°Ê¦Ñ¤¶C‚ QÆyõ¨”©)*àŒ”œòtzmýpubt¶ÇNêº-I†ÄÈÕè ÃÛR²¤,o*8*½‰ñó¤¿Y}ZµÊC†…J•Då;tFéì³(d©¬¶T{~ݹێœkb_±ÔzÓ¢áX’âc" ¨J›aö@-)>Ó‚=Éãyàñ¥ÕïÔº¤Šã3z»H¥ LÂO`Lj¶TãÄö×Üq+“µ%<rt4.Ë>úé­Ï.Ö¹é߇Ê`¡MÙRB‡*ðAçž>úLGŸp&[K¦%qNµKwÜ‘ðpNGíŒjþ%^m6’ä–j­‰k’–Ôãrî”|ŒqÏŒ|}´ X•TSÃÔé³›CiQì6 ÎNHÈÈžt?"aН×Z2ªmõ®7(§# à~ßlꮟE¸/–`7kÔUÚ/ä<âûƒZÔrvƒŸ'EÔ>—^l6å*§}@‡Õa×™Žw6Oô…{R•Óô Mú…½(ºd(w(ŸoíôÔoÆip&½R‚¤Mx!N·NKA,£‘¹Y'y$çàZ³ÓЧ~ž¡]=ÈÓT–ea)R>w!Gþº¹zgvÔ#ºähîHDTvÒ¤HÚµŒäí¹Q u+µ—á‰BŒb¶ò“Ût:pÂÁ÷`g”äã'9Èý…YCŒ˜UÊm=æûåÅ-²K pÇê>N„+ý?½W1™زC(Iq—‰-¤§òŒÿÍœ“ûjÞÊéwSn£=uh—!'°¥{F‚£Ÿ÷ÐÓ/jeB„Ýe‚ʸbRÂHIÏÈøÿôjŽðºäYS•õ2å¹ Q»Í¼Òøq'äxÉÉã_´{r¡VS HŸ{Z)y’•m@%`<Y»eÄ•BMÆü”­ fâJœ%xRvŸ$yûœÊ§Öóðêf4u»¾1úŠ $m ãô×z %…–$TjXt…ºïŠ’ÀÀÇ'Î<äL°íÅ]E-¸´!/FK $ÊÔ‚¬gƒ«W¬Îœ¶Ë4Èjp$¸ápÉ)^T¯x +ý8ÐTÛ¶å:¡XadŸ¤ –¦²–Ǥÿê%XÛ«¦ }+ªb“2ÅG¶‡¶)´¶¥àg`ýò|àjîÜ£ÛÔÊtŠ&¨%ňs8Î 'ö$}³¯Q»tò¨ÈŽ$÷€‚”+zÂÉÉ$äò>N‚¢tjý>±*~²"Ô”:”¥]Âv„œÌ?øyÓ·>jÑNyå„—}¿È8Iàœ{O<}õE ¶ÊðaK¤öã(¤ñîÇùþ€xÕ½”ÅZò«±B $÷gJíCeà@J“‚\'ÎÔ€Oëœh«´zl¹’ÿ –XS ARb!;R¯ÌqŸ+9'Tu[R¹nP§¹-%1¤5Q’û)uäm?—„$ýñ¦Q-êM.U»Jà›¹&b׳³Þ*O*þ¤íçŒàçTÔš¥ItfÚ[-=*CiSQÔîÈ ƒ»?~F1ÆxÐÔ!Þ´ úå§&¦TK]¢J~AÎH’Òú=.ôa‰ôxRÞ}åny. «¸xÚxå'ŸßîtêœÊd°ìb¶†í*:w/ Ǹ{†ÁÚœóç÷Õ¤.š@5JM]jIi+m1[K©Fäçg(PÇÉLJJ½8Ï¿¦Ì“6ö§R݃#ch¬%AÕa#(Kc¸ã’<üAôíÕª=H QÙ®¹ÙKÒãÑ”ÛÄg'—Y+à¨Þy7£P(•ʺiõº´¥$´ÚŸo´~~|‘©´ž£RºU2MaÔHmÆZqMìh‡ÆR yÝ€yøÎtZúf¬ˆË§¦;‰~2›S. ò°áGž0F£Ë¨Óc8üþÄâ×e yèç-¶çŸ~ß|ëMÓºÏnõ6ÕûòÚ§Ô§´®ôÄK§Œ!9%@öœýø:º•C¤´¸4Jl&æeÁQ-¥§Ok·Œ`nÆï8ãŒg@†½®ö£Q–ìÙ«w%6Õ).,AÈûh)Ë¢óJf-h (ou QVxJ<ù>1­MnzG§õ>†äÄv©mÄo 9%Ix=½;°•oO<`[Þþ„/º,¡–¸2¶¯ÌÔ­ã<ð°1Ï“öÐ+iwô—B{‹ÆóüÐâ¸äÿOþùûëÜ©OU¦*;1’¦¶€¢[$¤sóœOÎ>4C'¡÷Ô³è4·*BTÛ«Zû6‘·’yäŸÜèæÕéJЬÅq¼³¶Cî§omGŒ rOè04V±CîªSV¬7U?ÓÇ–¸÷Až±ƒ'ÏP­jÃ×䳂!î+ihQ)I_íÎG<œhÖµj_ÝŽ»6…W\Ã-e÷Dl´p2@üóãV°ú9Ö–ZõÛY·á,¤zq.%8ä„Çžq÷󠦵H´êqÙ¦0Òç77á¡+FßëI%*çÆF5&„šsue»=†Œb§ Ñã«fsáÁýXÎO9ÏÛNΓzdD8æ»Pî×ú‚¢¥–[DTŽ}ŠÝ¹Ìgœ¶Ž‘2Äé»­Ì‘dC§ÍPí)-DiÖÛ#*înÆAÀVýÈ:çMzct\TW+ ÓéãÃ2]-Çu¨å‘ý8ÈQñó¬óêÒð“k­«n›-K.4á¨HŽ´¡.žäà`û‰çã:=AzË¥Ñè•j¯ËV Tá&bB_I9Ck(¶’#$c‘‘¬•z]l_õ³VªËv/Ô%*eÌ_pm*Ü|àdp8°o𲵯ë§Õ-‘ÔQK™>s”¥•lB§w•$ºÀÉÏØkìï¦@ý>é]I}Qêvn»šI RêlýJ#(œœ)YÞá9÷ñö |Oþ4ç+¢æRm®£³Qlš¤ØÓžŒófC; ÂÊ]§p+iÎГž5ö«¦÷üí*eíYõÄŠK‘Ò¹)p2\Ú6´á*P#zpÜñ :êµZ¿Q¹^¨·.AC;[Œ¶ ÜC©ÆÐ„‘µC?ôûigFºo›Ž·6É£ÔÞaªm9Rû!T¼ã¶RÉÏ»<èc«þ¯l[Jõ‘·Aj¥" e7 °äÁôͤòZ J°Wÿ0FU‘Œë"õ‡øÍÛ}'£×ìúu"éî- *3̌ڴnBr{…JÝîQãt ŸYþ¯ë}²)Ö=nÖz[ÎN3ç¦ê’ã‹î€´%juP­ÀíJÊRšÅþžë6›·EÃêòýo¼ãÑeÓ©lÓ§öµ„åj!(ÊJßJüÞÖÇ ¨ã&z¢õ¡Õ/Suç*7]aå4NÔ¤ºHØ<$Àù$ã'?a¡»Ô]édtþGLàìü.[û䄜)iÉ8ÿ2H: Oé³Õ§[æ^wR¼šˆ/hR_ü:ž‡l>èiÀÙQR¥‚“”íÉ* :ú÷B¦Î­ÛìÔ(÷ºŠ}³Nb,x¤#» d$¶ÓqЇ;k.ÁÊ”¥a) N~¸Òú[êjÛtYÔÊÌF)5 Ü‘RYK«d8T2AF8?©Ôu¬hÞ ú­Ôž¼¹tÛ”‹~™*Lé&éêhSÐ.¼â¹@§khHHHœÏÉÀ}<…q7`L¦SlêMM5WCŽÁz”ÎÄ4¹-€W&Sê+ä„ã'ú½Ö;žÒ©÷-Ÿ.ž‡*qi´¸1Z&I[xZ–Ôw!kR»›ŽB‡JÄõ[Õ?ÃàÕX¯’ÖTë°*. /,ƒ•îÈÜI$?|‡Mn(z@óMÙãÐÔÛìUÝb¤²ä™IRÜdöÔéR‚VêGt–Ò3€HNu× wêL™WMN¹Hr6ÛJ ýa¹L@í£¶„~ýùJ”’¥-ĵ ºÇ ¨.P.URcZN²ì(ÅM»ÝS­|Žs¥…ƒÓ^¤u.ì‰bôþÚ©UjµRˆôê{EÇ]ÉÆí þQä¬á d• œÝ6k·ûÌFBs‡žK`ãrG‘ÎOZ›ÓðÞë\)­Üwb5­IyaØó*ëRå¼Ê²n:< ù QsŒcN¿CßÁ‰ÑÖáuÔýNJçŠS"5¢%C¥,å©ÓÇzBQÆ6 ‘€H ÖÛ¶,–äD-ÛŒ>ÿY„´*Rˆù8Æìp1ã?~@e;øaô˜¶ãW¬™·q„©Ùù„4àO%He;PG’ ÓBËôµé÷§‘GµºGEˆHYú*jR–V*¿($>ÿ9ÁΞT»¡r\kbªë`[%¤•©°¯)¸çìHçv¤t¹q¯×”êÑ–¥)Åã)X†Ð2sú¨óûh3[}ôc©tÄ®ôj‚©Ï—™âš€á)ÀöîN>óƒúëç«á·Yè½áõ6µB@¢L|"9”ëm (ÎFGبçI×Úž°µI§DFÖƒ‹ +— :B^i)YR ROœx<œyê¶øé¥R†«=÷Ó6ðD†”°ŒHä®'8û¿ÛAóæÜ«õ㦄Q˜ºgL‚“ôéBŸq·BJ²P……r‚B}®dqÆ4i[ëçWe%U(ÔIMÌ•1º·ÐÒ# n “•8#Mî”ZÝ<¹)‰‰Lf|Øæ@j]IÙ)J¼ ÔRH?yÕ­ÓéšÅ¥R¦Õ鬽%†]amLRQ)G!Åè((€=¸IÏ5»º3Õšôé—eZ²äª”ÇZ[ZÔ®F@Ý’|äŸï¦×¡ŸáêÖ+í]Ü‹vŦÔÛ"ä˜ê¶Kx¨…³xêR R²P߃¹Y@úGü*†í'¨ôؽSë=¯N¹-Ú47Ü~‚æß©š’á(uÄŸå(¤†Â‚’°UÀH;b¥XDǧ’Zß…ÑÏv˜+ j^ꀖ¼¨”žÜn?lðnðfôbtî6•!—®Â›—.â¹êÎOLÖPB¶n%¶JBHm ÉÀÇœ9ë+ø_Ò#!À͹"æÇbš¸im^óÿ ­éÂTž ŒÜëë×RnZíÑÔçiaˆ*…U¨”Øò ý¢*ÆؾIçgïä;©ý5³ïZÊ¿îòÍ^™èißRZu` öÐN{„¬ RrŸ:ó±Ó ºûè5í:Æ™T‘Ny—ÉH)å+ð}ªÔ1‘?¿­¡",ª¬–ãÏ|aqJý¥YÏžSŽ|ýÆž~¾¿‡%ÇZB«‰§ÛP䘕.Îõ6æOq!\[Þ’U¸å$økÚ–?Yo ôË"…kʪO¤ûä¹¶ÑÈ S„€Ç98sΛ}ƒÖ£ÒÕ&E1Tš;»Lf£0;Ž$“•sÆ~UçÏ%žºL eR©mì+¾–”ÊJ–Œ#$ñœm/®ëÊ®õLL¥RJ”ïj:Ö—–¢NAöŒùý4øè÷¥®œS©JÝÝX—Tª©âa'ùŠm9ä¨%IJ—öOö×*Õ©O ×äÓ Fލ‘›BûŒ¬¯ùøUãÀ#?: áßéÑ}A¼X]Þó)¦)Õ¿,¾JKM©!J^<Ëá<•ŽN¾œBU‡ÑÚµI©qV£ËzÂS ()VÅGB ÔÚ’S´d•(àã”Ó:™qôeÄVm ­ÔS=º¬7€Am*÷nÜ?0Þ„¿u°=9u¾“zôÝêUJˆÔÚ“2ãSN’Þô©%¶Ê”¼)D«Ûœpt²½qU+­V¡uôñV}" F+d6̹î(ãíp(…!ÅeGÁ@8øÉLõâ‘Ò¹=;“bÜWÍewtxjv«Hža®Sx%¤+–¥É O„zù뾿&È«ÔÕô•ZkñaÒ¡ mq·@/´”ü…Œ“¹Cu6ö[Ê_¿§:ŠË“—9Šámo<ëã¥i¨”`ð0à`h¸ª=M=-‡FT–Øu§'QæÕ¢»®E L¤„NÁQÊ9V“ Ž¼.Ô±Ùº&P¡>üyPXx<Â÷±1¤™+ŽÖõ% ÁFåû’¢9Q%53¯ÒÑFWUhwZß›* âW[’ §Öœ¢;XO… à=ÙÆ‡Ï\éÚ„\‘—"|3JŒÉ fAÌ”0„¤£üÈ'Ï ëc¨–¯Q)rܺ«¯Ep¶Š}>\'‘…¸ÚÖ¡„µcj³€O#]ØUVnZRnÇ-D·%ÁÙ™2¥.I¤«Ü£„ŸÎS’œihZíU$C£Ê¥¶!C½°B2­åJà’26Ôýµ¤¬Û†%ŸNE«Mf+hBHl••§`VìŸpòùçAAwÝðéÉz%A©;ýhŠ†Ò„î8Â0 œ>ç@’ïZïUn%.£N:úK x{OKZümÀ$ãj߬þ—nÉJ»ß¼j]ÚÉÇÖÒ»nö[PÈÛí ßð~ÉÇÎr²‘ébúµäŠÅ³~A’Ò›ix}F3ƒv9œcçõÛéϧ.ÕcͬÕ#É›R'ëUA[m§ÊÉ78¤ÒßO{ë™ ñÐÍ©‰KRxÎpV3ƒþCãL+Ç­‚(Óº„úžt—[!R¼c :Ù$`€xûhúÑéL†êm‹‚âD¬ËC…S›)JSÈJ³¹ã“‘ÆYh —º—IüRØ­Ëd<îp¹ ”4Ö8«ÞS:ëß¡«÷¦ó¡Å®DêÒä Å%—ûhàûŠˆ_$go}é·OºA2KU5ù°_ï­©•ÔZO¹9ßú3ªn´ô§Ó©&TzóT˜¤:§T”5-¨äã –K¨8ÀW9Ï΃åUýèþ붪‘˜­Ói²ªf#¸äF¥©ÇÛmx)!#j–9óñŸQÑ,û6Èqö ÐÔ¤¸¤¸©Ò ÉÜ“ÆÒ¯hÇ<§üõ½îN‹Q¯ R§O—N~WÓ†aÆ@,•6·”«’O‘“Ÿ9Ð5“èÝ­^V:áuÊj“¶û1bÜqJ#h¼Œ 'ÀÇœÔ3%>«T¸f&I·d8ðYJS°*Û“ãƒãí«ŠwKºƒs¼"3RƒNvCÒ§Éí4É'ƒÆ3Ï'F]]¦u¥7eF—ЊtåSRÓª¸·ö‘ÿh À9|g"þƒ¬4ÚŠ×Y‹^D¥) ijeîÛÈÉ;·«„óçt´ŽœÞ×=CðÚ‹©üZ‹ñ”¶±Þ‚H@Þyá#?qqŸmõ ÙmÈU«"|~Ü•‰~˜êÛ€’QµC!\ýñÿM6zX·nFÿºeÄ‘T`)™Ôõ‚Ê1„;í*ÝʔРIΞ–ŵk×í?ÿ¬ku'[jYnR¦¸æô@Ê”r¥2£È!ƒ\êY„¸]nBÙFP´¼ÊšP9ýFH':2é} gQ+댗7[í–Ûg*Jp­êø RxäyÇÓÝ`ô‰i9m*u¸ó1B”ÐzeD¬÷HØ”ø^ÜùøäùΪºméíûÁ.EA,»%kq.·ì}aÎ7“ñž2sRz%bØm8ÕQ2jï–ã›’PÓn«Fܱ<ò2uâùŸgQa­4;m¨‰K(.tžVܤgœÿéÆšË²Xˆ¸ÿÚŒy%¼˜«ˆ¤rÓÉÕϵ'É<ÐÅ^ƒÓKÔ*ƒyQ¥*3+iuº|‚ð‰ÍŽ03sƃ2^w̓pÜáè“"Å””ÃiI R‡’³ŒøöF¼D²o;¹„T-ˆælR–µ•§jsã9çöýô›é"•mÜÒéV]ßñ£L_rDæ¡-—ŠP' CÎäá$| YV ÚÙ¨Ðm"]JP†å!h@ `„(å@’NN1Èàhq¬ËÆŸSnP–P”Èú%î,¤ç`Z±µðøÔºcj¼cÔu¶'w.F IÚ”99Pü¸Ï9Ïu¥º…õŸØ ¦Æaé XeþÒf¼BR§Æ7í€UãΖi7E“\b*£<Òß$Å1œ+ $Îs´,qöÁÐByRî9ìÌžÒ£'¸Q!<µ•{òGå?¯ëãZ@n-̸•™¯Æe¢ôH ÀPÛ•òv”ä`~~t9üƪ͹× VïªÆTO[O œúóYÕéý¥Ëy¢óŠ}8ü‘ÜPPäíNAð00‚eçtº«òkõRër»ªI-JÞƒ€Œ 9û«ûhmOË~d·â<°ŽË¥ÄîPÎ0R>Gœv]=§XtRJ£¥eI÷„¨çò¡Áþ˜Ðëò©Œ÷ƒxyKYÞã˜Ý´€ä'#$ëUEÄuR§¬—uY à…€FSýÿ×V0.wYŽÛIœúS ²Tc´G[¶ñŸ$ŒèRUc:‡i®K­'x9ò• ù9à„ñ:å¢ì‰“œ ©’†S´å^àyøÎ3çílj®VÞ-9*Bš/­Jø ûH>ßnuE_EF«p*dÇÜjC‘ÖÚe2µ ËÉÆp~ß'~BžËÅ–ÊÏpqÆãÏÇ:ëNb{®¨"!¶Ï°4²QíÎ €Ç<ƒÉó õKvLH®²õIn­Äö¤ à`q÷ä`Ÿu‹_ˆïò«l¢, ê“õ%²JNå8ýÿM[6lˆ•ÿÅÔÉ’ÊZ&­‰‹h­ÕÂÚ¤Ž‘ÉûçmS\µj4êfßb;-°Ò·,¨º ø# øç}ºeaþßâ4:±ËÁ*SÌ‚{Ã>{„䃮¬àßw¶DkŽ cÇHA&QöŸÌ­©ð@ã?>tír\¤0Êb‘µ(&Ps‡H#òðý¸?ótÈúXÛPuAM‚…1¸ä+ŸŽs÷ûhôî´WQè…[ !©-'úGv3:±©ÖÍN7ÐÙîí=”¯ãO ÁÆ1ûcçHˆ—3,6˜Äºµ¥8RœANpž|d}¾umJ¹©,¶‘'rä)jZžN #íý´Î݉Չ­Ãjì€ÄsêÊ¢Iw¸áA%!µ ŸÌyÑ<õ±gÔÑ.uDE)²[rKHK;Âã»?r4ÏR¨ôèQîw™·R‰- U„©>p1»€ äq¬ýÖR”87šsDŠ¢ŠBéh [ˆÛ»pã©<“çãÐjû÷ÔÛ}=ŠÍn8²#¥ÎÒKà S›³Â$€IÎGž3¤¿]:ÔíIn™óHSe˜SÏòÖµw'ç΀p3ƒ¬ùÕS/]¶±¡³µÜˆî<°\Bˆ„“‚œúœü.›ëåB}Ò¦0ÔŠŒya.G“JJГŽêH îÆxûóƒ 6½œ¨Õëf›Q[m÷¤>@9ÎK{¹ÜFx`ã]힎×zr¹ÓN˜YUû޽#r!¦ŽÀ§Ïq@„pFå)`¨xÓРš?ªÊD¿Pž¥/Š•çÕ×+}´™Õ—бß@QÉa„ç¶^r–HJ‘·r¾²úa馮tíÆ½?ô–L*t–·Sòì·Ü öª[ÁKqç A÷p”ÇÈ`.‡ÿ ¿P ÍëmïtÛ4”Ò(2’Õ"“Ý{ £ÝzëÀÔÊ­¢§ê/)MÌ©Åu¶Ýqj%D˜'9*#ÇÎ8×Ò¿Kž€}Ø’œ¹Þ¸×R­Á•"2âÖè»Ú.6C®”-8@í²¡€•侩ú~¡zsé‡NZaýK¯@#¦l$°¨.ý8V#©I' IVDœ’4ç²Íþ¨«r "½dW"}t †Ñø¨þYä;¹xÂHäe8?}hÛOÿÁáêÃlš§ÐÕ›1Ô¯®~DæBÀöàànJÙ$þlÆ>êz{¢Ú-ØJ­Ï-M¬³9$©@(¡ÿ µ¨x8;ŽG9ƸuCðå¬Q-úüÜ•6]U5n´ÊDF½¤‡¥ ÊJw8¥£@óÄÿƒÑê¦Ô¹7¨–åI‡IT‰¢¯´:’v8„4¥0 %c'i–ÿWº]ÔUtîåéĨŽ» ]u‡”¶[•“†ÏoŒç:û—PôóiÀ¡HrÕ§UXq2ëLÇjå•/¸VÙ'bÕ“…¾2tÔ‹¢ ‡S‘_•,/t´˜ñŒM»Úe<åÂq•¥e$pΔ÷­ñ"‘!éb*¦­šwy[¾ ¤5ø¡’J÷1“œkÄš´„[Ñ? ¬»S–ü€ÓQdUŸººýlQîˆ2#ÏJÝTÃq\x2;0•àqÈÁ<}:Ŭ¿‰¥Át]oÛ½Fã<º™“7ol¨©IJ!)ÎpH÷:@ÁëÕ÷R¬‰ýL¸žª†b%‚̧־Óh8NÔ§äsŒçAº­Þ¡Ö¯«²ä™á†äÕ¥‘"©—ò2©‡¦vã*$Kú‰³P†ã²\Ê2;„ ÀgqœƒŒäá§êæá»zo"“q2¶ªmTX£7*¦É.¸‚ãnv0Ý…£)À³çZv…úváªUña>ýAt鑚|.42–{›Uÿ0 Cr”OƂ’ôšE>;Õx ŽÝ&ïSâÃÂ’éÞÒ®;Š~»rHƆêtç.ølÞNÛJT cÎ=Y‰Z].Tžéq.«ØS•€O'>>4irRº[tÑqC«É‰.qÚ˜±Â{ßÎ -“ž7(¤•ý Ô-ÚV²¾˜Lf§D¦¥Jv—¹Æ”BR…8…‚R ý»”“ Hu6ƒK“ÓJ/7$ÎüV\‡¨õ—×½(q n*i$°¨•cz“À ëäŸVo*¯¦Ëâ½ÓJÊÿ‘>¯"_Ô¹°%²UîçÁð5÷K®ºÑjÿŠ+Ö©£T¨Ô¶æT$Jp↙*C+‚Ažx:økü@£ÜÞ«}A¿^èçCn+º¶\rC¶õ.ME„·ÙeIBÞm²ŸiÜ¥$NGÏLz8ßV:§7ªÝB[i‚äûÁ} )^>Ço~N´µá±(jj UOSÝh4_ma*JIä¤y?±:Ëú©s¡"Jä´Û9Úq‡ÿ‚AÚRSÂ’¤ø àãO®œÖ)×-u¹±˜œËhd2Ë@ ¤žç';òG€~ú•Á¦ÔXi/˜M$w‹Ó [ Hƒ~Õ®Z­F6L8Ý´òêPçtäp?¿¾OZÒ+õju9 ­þê›c.:”’µ¤}üòIÉù:þº¤Ä¹­ITÙ,5õ`¸Ò›…)YÉü'·ß@Ÿ¼‘T¹aË‚óC´°¥´„7„’¢¢3ÇïçãIª'¨›§£÷4‹Mê›á4Ù›˜d¬’œ…ý¿«ÁÎp3çZ˜…ƲꦦÙq÷˜4å8¡¹Iå>ñž3ñýô¥êGØêgNªM[ñ㢣bß,¨¡*Pq*$%IHøþÚ ´îºBê4ºSµZ“’!Ä^÷Ðë{§|)s0ž0Õµûê*‘2—¨õq<’´¡¾ë©g9 Q9 $ÂHãXÝ—ë,<ëŒH…#—p²ýÿ_ßí¢nÚÕÛÞa‹âr:±’ã‰*lóÀ9òsñ wD¾\ª í2×ÑÉÚ·šŒï #Ä‘´œããF6÷A²éAªM†m•*+ï³…¶•ðZÎ=Çì1ñ n›úeë%ÕP‰nSêer\qE¶\§©)S`‚VHÆ@ùQÀÓ}'þž¡Kò(×½"+-){™j\pò €å<ž“”ç ~ÿm˜µ>õ{l¡å/sˆAB–9óúgûé¥Ó?P2¦²Í6©—TÒÃjyI€‘ÈÏÉÏi®•ÿ ¾Œ^TÿÄ/Y5žcùN&œÈ‚;›ˆ'߀G¿ÎÑŒŽ5íþ&ª[OÍèUÙPD²ëð_ƒs¦¥N”âSíl)Ð\J· ¥ ý<ç@=nú…b« |Äw£4 ¢´ò —ÀÊv¯ó6}§<çD”[Y L©ŠB¡W!¶ Y´é„å\î} 8q€2R0³'M¬«îݸ§H»d1NŸFŸÚM6´ò[RÖxRÈW)ȇ “çlÙÝR£Z•w<ªŒxÌN+ŒºCËq’3¸%ìd„§$‘çž4 {s¡]I½©RS³ø}F–S2a¡(’B“»òs’•'œàr5&ïk©Ý:C–õvŒâŸDb¨è¦5Þ~AðZsÜRÒŽO druÕõOÓkFlhVȨK%óõB¬Ú ©J HC‰%.Üp9Îx䲋Õ˨οqViÌB©¸Ú’ÛÒb”J¤8¤á~IÚyÆpt:Q^¦Ë°Û–åHÉ›´™í‚”½ò8Á?9ÆŠé4˺%A±­jâàT£¤·)2Â’þó••”~]»2Gí ù¾Ÿï©r¼(@f¦åYä³>= ª2›BUÛQC§ JJÀö|h^•xõà7oÕW(.W¢­¤®d$¤ý+Ì 6 #zVŽJU…@Ð?]ôéÕÙÎÅ­»bÓGáïîio侬€@HÝ£ÁÉÏŸí ¢XPµXJeZ-ŸÄÖÐ$¬F ZR¤-a´à 9#8Î4SÓZ#©6‰5ªÄ‹X;s£K [Ý´6’£î9ã'ƒÈ:SïvM…$ñÊNu¯®N…Ônë"T¾–õ±Éæ+KJíùêq¸)¶ÂöîJŠRâ}¸JˆvO:MÙžœºÏtÞáûªŒZf ¦çVî微 ø ¶7c!@¥oþ’yÐ/é~:ÙpZí.Ô¢ÝW*še†bÁt!p*Q (­@sÂyñ®uES¯]7„;âŸ-‰ªeÄ=ô…–Ë) AÂÏž01Žsôw¤7}ÒeŽõ!=Z€ó’'-ºtiô?ä-X*>þò] dÓ9×ÿšõÓHyÛ—£)“Pe8ß´ôH«XR‰F T¥I ‘ ùÁrt+§sk3éõ‹²´Dg›-9!Á·\”|’¬2žNå§‘ŒjÆwE,j¥8Sè ¼Ì BãÔ$>ZøÁ)BÜ”wrsÀãÜð}mÃCÈ—Wè ÒeKe#RÓWD‡W!) d('sÇ€tiPõ%é–µ ©u'­IA´;S¦¹HCN4—7Tµ²@äýÿLh>^^Ý3º¨öÚÞéÕDz3¯) š»L•§Ú[˜JœW ðG’2¡ÂªÖ©ÉDK~p*ÑÜÞŠÓå·Œl “µ% WÊIÏ'O},¨Ié…ÂÚš³æ[•ÿå©Q>»èÃÎ¥Â|îi!HU€~úúŸÓŸC«T?ª“Ѻu)™A´!Æ'º’‘”œ{{iäŒ1Æ«nŸC^—¥¼ûÕ U%EE¯­Yd'ÚrT@8|h>MÞö$ >ÞÿÖâTÔäP¶V—šR–ÞÑ”§¶ üØ+ ÑŸ“ W¦µH¨L¤F€ËÒX[2µ•!k -î)É#üùσ¯ª½Bô!éÒ«t¿Vf¡*˜*(Øü®ø\V•·´œ'`$dmçççרN7·J:¿.‰_¤± šã=¯GBÜDŠua*qiH Z’†ÁJs·p##IŠýF¾ó[÷JuIJƒáJŠ ·ñ…Ç$ê©v«•šË”r¤Hª¶²Ì< Î!gîHÇÛMhDªlw©Ò”Ô92b*¡F­>Ë¡¹‘ÆÚKA í¯)^Bümã#+:eË_‡RŸsÁ¦C”'F€yÏßPiÔF’Ý.Ó*C¿ïßY*W¸œ¨ýñçq£K±ipíúÛˆ˜N%ä´òTK¨qD©JÇ%XÇÎ~:âˆ4Ö§­¨å,¶ÛÁè±Þ[‡…AYÎyçýt•î‘]pª(f;‡t¬„ÚP¥ðPUŒýGíãuw¥oÛ ¦¡rÝ ©Kt³ëª#;Ÿ”'?< 0à[·uàÊÞ¢S ÇãRüX¬­ JàIJNÐx8ùÿ]«¶õ½—l<§* ÅkµÙB–êP§}Þ'rùò1Çí¥UÇXPœÌ4ªVI@.…È#r“ÎÎ>Ük‰mʤ)R®ü‡YRRãÏc$Ê„ü:¡KQj)Úâ¤4ók;£¡[¸ó׌÷Ð~ó"¡øÄGœmNî©9lðžý?¾ƒ§È°ºƒuéqKKéY QÕ_ÜUç©í;OŒûHPÀí!•$‚6«“Ÿ¹8ûj’ ½Y[OµíV{D·ûg΃é_LýNM°ì™ØóíÄÒãÑíxÑߤ¼î¾Ée?ðÖ¬$¿y'‚p9çO¾—ú²¹SÒIõªäúƒŽ18¦¸Ôhí2=¥§ ’µ”’U’)òsóºƒy>¨ø“YbSî:ÈžÌ×K;pR…(î p1„ý³«)×V²Ãè :¦œZ™žÀ*,…z–BNrs’HNqÚ»½Mu&æêʼn]­Õ̺:œ”ˆvÍÀ[ʶ•¹ýM‚PÞÔ¨ƒ·h›é–ç¢ß^¥ëR¨î¾Ë`¦§2‹³cÉksx-ìï¸áÆü‚’0HÀÝ5»î~“Ue¢5Fcl0¦Ìh’2Øq;½­¡\©(O(N1inúȹ­JXSófÆ\&eF§Á†áe/¡[ÉZÁËÅYs*Ï*çï ú5yU V,wºmOèÌ(Ôú…m©k™n¨;(5!Ò´¥ÍÀ¥½«PÇô¨œ˜=&ë@¡ÑeXõë±P¨Wf±:m=ÇTËå4ØuPmÐ¥¥“¹J8×κO¬v®+=Ú…©\0ÝBNzª*Z»€ÜCá) <ùð5"g©»¢Oۮ˪1DŒ‰_†Ñî'ƒm.kÃ…¥ÇÔv\PÉùãAô¶ÈõoÓ»ZÖŠ¨´Ú}ã@C(§Sa)MEŠË#{aäÿ™H(.mÙÆxÒªÝa¹äõ*±s5x3R*L¸õ"\ÔÌ”JPÙî Ž¬Ÿi%G¶ëZ½+õ;× ²s*è•éy?T½™ŠaæÒÚR”(2©Ï)¦qÜþap8qŽ1ÆâôÑü0i=¿?Ûg©PfeºXrEÏp?¹.¡m–ܘó|)JQ² yY':ßSþ¹:‘Ñê5^½…mÒ*vôžñ§ÊÓC© l%âæð;h>Ð?˜ ±ñ‹oO\4/ð-ºõŒª|4± J¼™…Ç+(e…ÈR—íyJî%8çkìuËô“Ó»B‰*ÇèİKB3jôÅÈq) 8B_’TW¸I@QVçHêu{ÓϪú}sÓ‡R=?ΛøÅ&j*k¬ÓšŠ¿¥ÛÊ켉w BANÁÉ#AðË¡ý*ÿêÆæ¯C‹pTi-NšË i{êqNRµ§Ú03ã$¯Æï¯áMÒ:U.ª÷Ck— ÇÚŠßÔTfËØÂ”¬‡“ÝB ÷ð¯qI9:+®?ê~‰&O»:#¡wÛðg‘`¢cª~ Œw;H}¾y-þ`éÎå¨$žE½'®ò¼­ŠZzžì˜n %¦lYﮄVâ–À!Ĭµºœùœ,ƒé¬•‹­û^Öê=³5¸1,9[Râ¶Zg¶8s¹YP€xÉ?m}«ô…iôãÓפ Óô;æ”Ýí k®5P©9¶ßáç]aIê FïÌB°NÝ-.ëwÒÍ¥c¦·mF‡RL7i­Â¦4¨É9þSjP/%´ ©î)YRˆ'ÆuúÁT³fu“ß¼+ÿU-ÑV1j+)%m¯wkpYÜ ¡*€#Ïœ™þ e¦tº…d¿hÝÉ“W¤;6EfÀðˆµ+%ÂêQùÖ€T| ÁЯA=NT®Š"ê’_“1s"—ä²ðà¶ØÁ yY+)8O'ƒàdé%Öã5“-ÚSꪦE><Ššª²ÖŽ×uKsj”¼7·î­Ê$Œ #:]Õk¦‰xÔ-I \HåI·d,´¨H@<ŽGÛÜØè]iõ_[ê**Õ1õñf²âÔÅ>zÔSðÓ‚G##óg*´N¦Þ5v*5:¤‡â î-ä/9 %)'pÉÁÉã?>4FïXí˜=E“"è·?ı縆Öûõ"ʘ_*.„êÈH ¹¡ÝÔK‰ªŠ®{¦K-¬/ðߢShmgùm¸”Ÿ¿ÆIÐ~4Ì=¤ìǨ½ÙH‘3WAKO¥ ­½¿ðÈYüÀ¯‘äèvM³*uBM{ 1Ý’ C$-_8ÇÈÏÈÑ%ƒÓZ¿WíǺ©pЧUrªe‚âŠB€Èàrp9Ι}$¶ºoB¥¹W~®k*§Kn4ÉJŽ­Œ­yHJ<à”çqý‰Ï §uU`·jSm—jï&ržq˜¬«r‰ÂB.8^GÓFwwKj´õC¥UÛ†vÅ·nÇXZc“ã¾ù $Hž?vž¢ì»6Ü™jÙTy“̆ߗ,`Ùqă”„à€œdŸ×Yç­ýH•lL©\s¡eN-M}“)"Qîï-ò͵ ž1ŽG9ÐÕëRl·«?ãªLS"t¾ÞéNR–Ð1–›$‘’qûiA}\µ™*—T”¦aj›h>Õ¸2ÚÒxÝ´(9°t§‰[ëÛrúR‰+n{îý8ê\*Kxw»päãwßàŽu ­@ˆÅ8YñVÓ•g–£Pu…}:=‰WÊÈãŒçÖþWª¿úƒ¥Ú*l²‹žTx2+qÙGÕSŸîîŒúVH<8‡¬î N1óõÒ¡{\4Þ ;Q›Ó´³ Yz5IÈ1PÙA$û¹J²ý<|y'_ýÞQí놛[»ªZy%·2 B ~R¥l ¯ ÁÇ89ƾÜô†E©Qé.R&Ï\:µ=5(0ÙH@”Ðl«pܳ–È À8 žry KÒÈux½J…Q¸ém<¶’ómŽ\o=ÿ)H8!9ÝçÈÆ‚úµÕž€tZãêuáئÜL.R‡GzD•øí¶…·”©ÝþìÄ'”ühºwH*ÐlɵZûÓ*n-æ¿ jž²¤(eKI'qBFF<÷käïñ“õ§@¿î7Eú95Íj[®¦zZqµG$!Ò³n7à´/hÀÐ^zžþ(ZõÍÔç½ ú2°*±©•Du{‚oó*3{jWqô«¶Ó;0¤¥ÏpÜ@J¾ŽzRée»ÓކÒí " Ü Ô÷½l‚Ü ÎÇÎU•œò±§ð“ôµct¥ò¯Šµ1[«²–Ñ.¬Œ²òTPv¹ý[NIòÙOœësÕnʳœ¸i¨a¡Dw|µR€GòFCŒ€@ 8Vp¢ : 1üK‡‡H:—QŸq[©…K»cÉ}qߥÀì¥õìJûo-D}‰Ú$kôÒ‚ýºú­£ Pªô™¤IŽú!Â# •IÁ:ûmÕáKêJ{tšTǘ­¼¨Ðm‚\ŽÉ÷¥dåJ¸!a!\c(}wtFïèOT¤õ˜1RrCU×j1C‰ í< <„¥A*ÊG*,] ËŒ‰í6â•”Ic<Ç^RqɨàçCSéôõF©R)h+kM¶è BG!9ç<?×I¾¤õò…AyÊ•k.Êu!¶Õ¸¬Ÿx9çI ¨÷Ðã‚[á ¬ŸäŽqŸ×ÎÁÔRN¡^ŽF§´ÁlmfP’¤¨ŸÊ£ƒã9œqŽ4à±î(Ô84t:µHi¤¢SŠl«r÷$•øÆÐIöýÏŸg^ŒXi™U‰9è®%Þå¾ÖR¥ ù8<~šÐQQ- T!.bæ%ñ씀pIç甀ƒ;õêߥѺ§QjžÒÙ—]°~ueCAw?rtÉôÓÙµzŠåG§nn0*‹¼å+sI$Ÿ¶‡:ÙJ§ÕzK«Q•$÷šJŸO¸«<œc“Ùý|zZ Öm¶`Õin€ãï*B÷¾QÚà‚T9ƃfzY·$ÛŒ1zʵ‹ÏËB!¹ã WóNà¤ûÀRò’ pÎ5 ·ZªÒ"©u…¢:&È\z´ñ°+ !öÛp(º•'iÁÂRx%8»¥—zڪΣ×þ™Š©X¡É§\4Ø­7G¤€bT¡â4y IF9B+Ø‚H%c>xX]U«î³tD[§}SÕ˜…7úÈRCiaJKÈÀ;]R‚AAPI)<t¯×­NÚ¢_Ïõ ‚Õh¬R‹³ê’#6äe¤;ÂÒ‚œ¡ÄŒ àžÎt·îÂ#ÍTð¤Ä©Ç[SRìvÖÑIZ–—vààÿ/iä ñ§‡¬gèÌY ÑdǪË/¥·£Êÿ QS‘”UÛR»ÉH)t èÿDjÕ÷ãÈf£Ó¦«x‰pÚ~#N €ÚÀR•îIPäh-º=ÓêÍã%Ú}¿Lj©¢§ä >Þuó¢Ó·,ާÕ#(Û¿†²Ü`—ЗË N@BwîPÝÊHÈNsíN=>“Ö>„_Si¶•UÉv#ÔÕ´–f?"|º3„¨§¶V’•aDÅ9 PÈ8Ðj«^=õ_„6c´…wäÔ×9RÈJv•ŽNsI{¨0žaºt{¥þû‰Ê#}[*l«hX*$ã'ÉÎrF°G^.ïZvݡⶑ\ŽŠuié ¯Ñª 9Q£j\-¤ö¥½£žRœœéRˆŸR¢X¦Ç¬uCÌK=´TdHNößî u+ÈÚ´lHÆÐúÔ:ÍÒ®D5îÕn Ël*<‡Â›ì© à!× <€0“äýõ–ïn—Û¢MrÓn°¨Ñ M¿ žeÇgØ¢„%ô¸ …ûJTR¢08Îu™í¿ZwCV4.’¡.ThíÕdÕ*Ò¨(»RCÍ)-µÅ*m+Z\HÇælx“J_®~¸ÇµeYÍtö*Ýj!Ê)ÈN¶–Ê‹g+q)Oæ8äçös´{r望’ú)ȲŸmˆî¸×ÓËa(p„a’î@NrA+ÇOs¥ŽR®fXUšTô'%âúRü×ÏüBTK€‚”gj‰ÇØó*é>«kmºóÔ~ŒB«ÔPû‘$Õ*1Ö_T58“ÛNåsÀ8;R Ôn¶ú±Ý¢¹LèÅ&­L©¸æå‹£!¥ÓÙ!D¶Ø JŠÊöÉHJ´nõ#eYnRà³VŽÃª–ã3PÒÒ³ B·î^ìdîÎIÆqϘž´úßj†÷P+¬8”+¹ôéPJÖ´à«`p@ÝöÖ¯Y«ªåMaûŽœûr%8\lJV å^à·<þÙ:òå)Šzê«®ÅRdÒ™BØ[ Ø¢w?±<ñ“úh6wÿ[!Pç@´¯Jé~s n˜¥¶TªRV¤0œdgUtâ#_´©H¢H„ªÚÛJBäTx¥Å¨+xÎ'É—·ø=ŠÌ±îtÃv¢¤FC*HQÀv“Ä«fGÁó®j}¨ó?rºì•·ùÆ1Êd({JϹñÿ0Ðn?ÄùÚÍ*l{ÚÒã¢0[Óà7”4R”)•¤•)Ì)IÂÎê7¬î‘uSô:´cI†í <Á¦™JQJÁI;äðÇ»‚5bÊž¹k„Ęè<ÊVÓè øÞJøãiÁ#Ÿç\ª0àÕLº5F¤èy·éP€ Ž1ŽHÇï΃KÝ>¦}2Wn¨Ty¶ƒõ JXm;*qeóÙݵ÷ÐZ–7c49å}A…E‚üg-è±Þޏéi¸(J#Uˆt÷»áI^ÃÛö‚… ß<€t"Ò]±f¿W,TfK–Óh[ÍŽã1óî îÀp‘ÉÇ€9Ϊ(—\m¯3^¦Lmo6â#Èq•!…SÀ~9þÚ èªÈ©uk¯+~â¾mš,Jê¦ ÌTÛú:qŽ_rbFÒÈl«+Ï aVöǦ»›®• C£×e´•H|.긌ÊÂ2YiŸB÷vJJŽÌ$ýùÆXf»2‘ùV¼¹hžë½‚òÎT¶J¼€O8Iá œä«Ž›ß7t™ ¬Bh¦ÿ%=Äq·i'pX”“¸äb§jÌ´jòí+˜¡š"R›˜‡%–TÉÁPR’±äí)Œ‚5.Ç‹©ÝDK›eE-ºR¨Ï¥;wp7«ÁçÇãҒ๫e¢6"»UX°•È*H +'ŸåãnT}£#$q«û2·ÔšŠÍ‹R‘Ùx¬ÆˆÓ òGÛÀ 9öœ`}³ j³bÑÍÐŬմÍf¤X)•/jPß—]Ýàû@þžtGitÆÑ®í™%ܼä§PÜV™[) Ilp”ƒ“Ç©¶M‘yÒ,¸4‹Ž, ¡ú…&^Sns’I HZ9Ÿ5 ÿé·ãœø¶<Óªˆ!æä•»!ÅŒá)Ü­Á* #È: ú,>‘XòMaŠêZ~Ìi2—< ¾Ú³ TFyÛŸí9Mޏ°è}Ä»S’f¦¸BA-rJ”T¡ù½©W·íž3½suÙ¸Û¯M+’ÒU†Õ% m H'q8øç‘Ï:wt+ÕP·o8³o =aq—„u[Î0™Aj8ÜÚ\Ë{BV G|ó >ª:åÒ6à"[1æ}DŠë1Ÿ·¼©#„„©dlIŒùЭÐzÚ¯M¶êõAâì…Êü:;jp0Ò[ARŠ€RKcÉ%Dƒ3ƒ§UÙÓ¯¨ zE|&+Q)(\ºmÅSÀFÕnì©JÈ[Äò„1ç Põ&ŲzP‹eƽ­tÍ~:mµÜ‹uÄ$¥ HäŒ|Ž44îµT™l¶ì¦×±)P ¤$r—÷?l·i”¹õ¡ˆŒÌ‘1o.*\ÚµçÂÔ~œý€ÓŠ£és¨2å.¡Z¼!´Ïòö7ˆž9V3ŒŸ}ôYfô²ƒi±õ–åUl¼ÝT© $¹¸à»œ Ê~ü4 »;ÓìÙRÅFév*)l–ÉQ''>ãÿÎtm#¦æÚ€ÜñDÞ–›Þ‡0ÊPTp¬<øgôó¦üj[¡%–©m²Ê—$¼úNV ¢p”à‚0NxŽusO·©ýL'äÀnjN貜ÔØIÂBAû‘íÈŒîȶí«âÞ}«vUÞy•¿-Õ†‹*ñø'o9ò?]Iµi4fº™2‹ôòÕN‹OÙM9ïJÖC€¤€U· ü ŒhNVêM•"M& ­8‡T™ y‘ô©9’µ'Œc”ã:.°åÐb ŸOñ5þý"*¶5¹ ©;Nqß'àc誶}ÁV¯?n®Yh]Ö^d¯b äíNàHð4sÒ*cÓꊱݴéUFwU¶o¹M+vå(<“ž ð3öÆ3®ŽTú‹"LÄÎê ÍDQS©,7üÐ’ g öÔnšßT‹?¨võ5¿T”‚™î<î«Q)*Ç€’À yÐhïO€í޽[Që—ß_¦X6ôiÌÇ•$SZ}ÇÝsrŸ ¢v-E@â÷%ØOeÒ.ˆúkôÚbôs£ý¨M© *-_—åA5G[î¶•=Û݆â<੨¬¤r#892_]î ei»RÄm· C’ËRP¶ó˜[­•öB†Ô­Õoʹ'}¼=m+¨´ª»íê½J¥^›v0øT¬¯ét‚¸å(PB·#$${’¬Hƃe7×È•Zm/§w}n+ÏÊš!7O§d&"Ð %-§9#Æí¸*V •6ÃEi4[ouFlˆÒ:¦ªnCÍîNø‰QAm(@PòH8Àαå:ÜêuFú¼îš^ *;ãýùºŠ’Ó%å!I-!XQJJBp°2 –I;@)Ûc­·Í£xK¡õ§V£ÐèKk5”÷íi³-KÃ¥J)FÕs‚UŽ9§v×Fú‰^é´Šd‹I¨æ· ·*EqRaÓÙ !{ÛŠIlà‚p¤ê;ÒõýJ ô˜ÒÝ¡ÄúˆŠe`=SOx) R‚Дg¬’yàçYÐþ"ÿáÊ<ªëe¦êÆâéñéf>•,8­®onÊ‚II)Ûœ­Pu'ø¾Ý¶m¿/ü$Ã’#MBbÒZªTbRøKÉ}c•  ­;Q‘¹)8É8 ËlÙ®_±'Ô®YUè?M=Ű·Ø¥v–[mi!Öí‚¢“ù‰Iç€Þ·· Ò£H‰vþ 9}ÅN¢%Å´’­ÛÊp…îH$y$q!(Æ-h·Q:gKØ›5šr…Š[J ò‚Û q[Iopj¶„ó¬h[®y‰Õ ¦©ÖÛâ›Q©5NÊ ª#ÌÜú„……§($«Á Œ(„žÖJº«%¥5Dv=eå..eCmçT°´¬¤9„«ßÊ9?|ë>]ŸÂ«7ŸQ)·E#¬tªFÙ«Š¹®Ó×!¸ÒFBÕ:R”SýD1/Ó(ž–gFr×+úúU6Ñ6CïÃ!¾âÑôƒk)QO ( ’U©WõG&ð®Å»á´ۛÛb4*8@¨>‘•¸¥R‚„m÷`(íÉAn?á#qÒÈí×ëMJ±j[–ųCaiÊ”x{skí”…øÉÆRREugÑ$+FõK ãªÔê´Ù<Å*¬º§] Ú’óilíá#$»ƾõwÔ¤~£Ô•`ôž×:“ 0ºìêL™î ä©Eì…¥OŒàc )Áݤ]Õ.Ø›ÔtÜv¼ªú¤&¢¦ê(ŸPBS!…­4¥íîm!iÀÉä¤ùÕ^¸ïkFçC—…ˆô”ÂJÙnk-¸œ«'+F@#çöÇèuS?¯ÖåE„í2SQÄ稼ž9ÇÜþŸõ×Òßþ˜]bÓŒž£Â†ÔY³{ÐaÔ”EZ‰HRÔŠÊ“»häŒ dò4ßAýÝ=l.¦ªÍÊ·÷Ĉ í¬ÈÜ”«pø;€Ç΃笷O¦M]>ĬXŒ–ã½+zR0H<þº"…ê0-•¾ÍØóuËîJ¥Èp¥©<+ÉÆN ?Û[ö…诣tÖfS'ô‘4éo%Gú}‹’Vw%xá(Î8%Xùäñãÿ .•\›‰"L§}b¶Ë@i¤ÉûI'甕}¾qªzƒz¡M]*4ä°bÈJb0Ì”nÜà„ŸqÉÜWöÆ46ø©É©¼§Þv¤ÿt¸—D’öò“‘•Ì1‚ÐkèÕåü3}4µ_“F¶©vòå=kWYKñ)¹ü’(I JΠqŒào¢ ^•R`£ðÓ*š¼"©À–$í!akHNÒƒÀÆ4µ3«÷<ÉUj%*Ldºñ.¦ © VsùHÀ<Ÿûè4Ò+iišl–RÛ˜qioÜ|ž_Lª>®ú5-ùöD …¯å­/SXCác {œç9-kþ™*|»ªK¥1%ù!nG¨PœD†Úq^ÆÃ¨À*ÉHN7`ç'€Ut7Ô7Flˆ©RMIùmHi¸O0êR¶ÚBr\R8I;±ö;Л¤?FC@aE!Nǘ¤¨¡Ò¸/|%>4†søBÖnj³-Ê-R"@K±¤ÔAf3Γùwºw¨mäíJqç8:WѯðdéÅBÓj']jTú”’Ê&°ÌjRS9)ÂS!)q[‡ ÓçRŒRm»t‹ŸÔ|ªµ-0ßr—N§¦sÙNÔ°§ã¥*<(•ƒÉÖèOP!õ¯o»ú+rÔ…cE‘!E(JB¶ d’FpN1Ê”~uõ ®^…¿†G¦zÕ?§h½nhpî8²d«ÿ‡œ”Üe2¤³½±¸¬Æí ¨d%XË÷§ðÜô%T­µTôÓüD)Tùõ!6û5›fZéï¸w‡f‚$/nJJqùO¯ÒçªÇi1#ª©>;´9TäÛŸ•©$ ¨£÷û¸çÚGŽ´D.°ôæ»]¦tæU§4ꦴ¹”çP( ©JÊ BO”’FNuóBÆè׫þ€ÜŽÚ•¯OÕë‘mÈꥄìYñßFF_il¾¥vÔžARPN@ hX•ÛfÞ¶ž¿zœåùKZ[QÙ®ÛÒ©²KÛ6-•´ãHÞ8IÅO>t~àõ7¶º]Ô*£±ØÜj• îÌv›Þ@ŽBŽ ÙÁFýÊ@ÁÏ#×_§Xµ«uˆôúÔ ¨,öž‘Wi/Fuw•…qÉRˆÆužiÞ¶zH£Æ°nî®Sht6 ¶ÒQV}ØæYJ–2HÎ’0“u3×O§¬ÕÐ-Þ¦BKM7lAl¼Cí…¬-)œVà ˆ „‚΃ççñèeÑý=„ˆtK—%Ç‚Ûa´Fq.¸l$ld‚… sùÆ4´³l®ÒÛ­UVò\”µ¦œ´ç>xÜ|bú™ê¬¿TW]5ªïÔJbClV$0°ä·\Z\)píÀÚ”¡#8ÎGƒª5±U¶„ˆ1§[z:§[8$ç8W8û&Õ]2Ÿm÷ [ÒË=Ä!çá¼´€¡„ÊIÛžrGΉê2j4÷QQ Kl¾žâ»Š;“àà§ïúò4³é§TªOÀ?ªJjlŸ÷xìÓT”—ÎI)öä`œär~uýwU:¾í|Û YÓØZ\t·UWoaúR>ÀÂŽ|ŒŒhºåÔÚ¿Øn‘0)¨hlBÕìt¨’>Ù~œêäý|¼­ú™f“HjkR‡ÙSŠ!Eci NFRxýŽ9ÐÅïÐN¶ÛO~%yÙ5(æC¥(‘-• <¬ÁPùÁÇ •j4€´ïiÌp´œlýôKzOê.Ó­tæ Y·ƒ•ISlëZµS4‡ÝZüyóå¬{V7%å•(ñ€£¹'«&h6õ>!rê+¤Ëä¨j–ì‰M%N¨¬$¶·g´»8PÖUô×êfçï±Ó*ÕÒݺˆŒG§³^ƒD } §rZ[.#z -nä‚0’”§m{ºóÒû²£]¥Û/FUr¦…Ä nC€¥ekù­EÇ€¤ó»nƒ2úۭƒsSºsO£e ƒåNw—W½Åÿ¼«pÎUäO´s }ê5iÇhv]Ç^h ’¤Ë1”û+W*Si RÝĤñ´ãV~¨úØßXzúÕN—M S`SjŸ¨© ÂH!kε()YÂr6O%Ók®›yôÁl^ž6‰É¾ÍÞåAÔ¢#9J¸à¥Md ØS‚sBWK.Ë "¹ïíL5”7N\ZÙTee+)ƒˆZ”­)ÚSÏÙÏIJ- MÑX™" r\媙%5„²·#òPømÜ¡®w-|8@hÿ´ =Xz£ß©m ¹¦¬©·ç+BÔ=ÙÙ¹%8Ï$ƒ¢D±îÈ”é7äz…Vsm*+4æ¡¶–Ìv°ZPBÕÊ’R°´äTxÁƽkΠ_4©2nyJšÏuÓkéì%HmÀÁÊíöç9Ï'J^¤ÖdØ•ÅѦ*žä¸¦v0KL¡ÜâS“½$…¸P á«V£O´ºE‘fTz-Zrf³$4•¶ÚÓÛÂ3”¬ƒã’¬ðt¸¾hu›÷¦áøXžÊ^‹‡ –‰-‘ÝJ†RÎÕƒÀÁÐTÑïŠ-B».Ͻ-Ñ"ž¦ü—TTÈQI 8*NwyõÐ×PÙ´-é2ºqN¬Æ¢Æ­}OmrGmžÚ“Œ(|‚1O€F«$ÖdÛ3B§qÅf3ÒCHúÖKN’îI‚6üd'úùÕëj¯Ø£ÓÔ¹’ÒÚ”ôÇÚ„gܼ¸§oÇÁ㌆—è¤øÖ§MçSíéŠ`ŒÑY“8©‰m*Pçci ÊH!IÆpF˜T~»ubß½hô(u©Ž‰sS 4·Q·ò¥âyS„R’ °?¾²:×G¶ib[¯FZÖ°[CO‰h„6¥î! ?oÎt_hu#¯“êì×íÈij;唯|:;ޤ{Qòæà$sÉñ úÑ\–zï‰ý4«¶)5HˆR[j}Cðe6Œ ¡å$…:’¡ÜH #z~r4Ѿ:5jÜ4QÕ/Oõ©N¹ÜJAb¢ËNªw6mk¸rXR”p´¨g‚9X.–í±.õ·i1*LÅœ·C¨y1¦¨0¤-Nò’²\NŽ7”îÈ kHôòïj=«"ƒoÕáÇn«N’å†ä•>õ&Sy ˆ´¯l¥IزO·Qñ Ä¾¦}IõBõêRÁ¼Û‘nU!N\)”w`•ä)[’P”‚¢>?¤¤¥@”©*+[kõa6›R¾PÌwTãòW2¢°·”ß I;»rFŸi¹ëš n{–‰w]7 ºTã Æ"R¹¬vж‚òK©Üî•J½ tÞêdjçR&R™f“mMnU2cÞ—- %÷›Ýæ;!IÆ;ªQà£: 'ègønõŸ¬4¸—gZoZÅ„ÒÕ.‹n2à)L¤îZßV{ŒžBR7 T jKÓ=Â]Çy9ÒÈÚ=1¤¦àˆÚÝ”¥„Êîºë¥`p² NáÀçHÛg¨,YYUb^s—ÅI‘ jÔu¡Äw…ìR‰í%@ (µåIÚN2ì£Yºµj\m¸e?"H.À§°„2´¹s¸±ñãÚT2GA]tCé{QG‰éòߨ·PYmù’ Fu¸iÀíþoæ vàù:UÞ>›=7WènN“ÒªEEøá ÔT&<¥òVE-•§ƒ’<9Ó}3èE¹p.Bê}J%SלŠì5¸—JÑ»ØKa*ÒíØQÚ8:…wY4N•DE»Xm«¢D™©v²†§:¨*áæã2‚¡Û•‚£·#9ó VÛþ‹º ©NÞ” ²V$°¸ÓÚbKOad4Rò Jþ6ãh:¸½ýúT½nUÐÃTjÁÚËR„„*>´€[)ËED` mãžtw`]~™o:ÌË>Ǽêj•kÍ¿ÇKNŒëXÊ#*÷Œœç>u ÞêJú©r£§Ö}RB{U—"Vf­¦Ÿ˜€–Õ´¶ÖÌ­*Á÷¡A8 Éäè0ï©FwCX•p7Jƒw[p¤е ¨žÝ©uÔ,—ARJ°Û¦¤Ã«×ꓦÜOÒ)-©…­‚§+Ù‚”‚@ Ï´Ž3Éý~’ÔlôÐïÊ­sjq&'¶#HS‘f8ƒ¹;”Å*öƒŸ?”ýÑýYôSк}¼ËvœYöS¨e⫇ë%Dð¶ûÿ‘ >í‰Àñàh1”…7tTæG‰m)tó'.ªT~ŸÛ¸­8NÉý¹: ¾-ª]¹6Ÿܬµ7c­€ë>Ò¤‘ž}¹V@óŽ>5¡)~•m:LwgÓúé,¸\" j[Žœãù^ ÷AÉ ¸À'Rë>”zoÔ:§×Øýi¥Õê C-ÃjlӜݓÁq!h8Æœ«9 Æ4¿ªu› ¥|Un~œX/À¢3N 5" ŒÙhOüSœ¬—ÆãðÇ“¡K‚3-B‡´Ò¾™.Ï1Y-çNK@+$àóÏ:yÞÞšú“jÊ\ö-ª¯òØÚ…Q©ª)Â|¸ÚT»?þƒ@lô¶â¢^B«.šôW!‰U\FI NÀ•…ag9ûøÎ©é–uĦ;A´©(§H®Ó\VTö·!˜{½Ž-Ô8“·r ÆR¢0ý8é>˜”·k’¤­j TßÈÜ7 ÊNpŽO“óΩúqA•lÓµ) íHl¤Of"ý«m('îwg‘çg“þüªŒÅ©–©ñRC!ßzð’2|`Ÿó åKf´‡]©w 6®Û‹K`w9Ù€­ÛFpF9?}O R¬™ÓrÓ‰@© ÉPq¼,«fïÍ€“•g<'ãC´Š]NEšËêŒ÷Ô9ÛÜÛJ)a`í<œ ¨gï»ãSœƒ"–¨—SzUIrC–)AÞ 0Gõr2>>xÐõ×Ñ·OúgÿŠ:OY*-(nB»«mÜ+zòP݇BI#!Cƒ.•T:Su®Ñ¨ÖÞ…5Q¤Éy¾+Y@ç)N Jç[ç¤7uªh¶nôÊdöÂ’ðAØÙVÔ•¤7ž>8ùçã\úëÒkG©td˜4b¹­ÆytÙ0XqD¦Á#iܤçç qçA‚é‘j2©K™B™æ¢/¹-òjRÔJ󓤒|Ó‡wK©1Í•/êó©e!(l„mãÜ®?Ëòtѽ:i|t²“fØšÒ¤:¯¬¨†P¥ŸwlÄœàž…k¦%^±L¤Òi­8ðt4¥H@@[‹PRÖIøý³öÐI¸¥Íœãlµ¶¢w;Œ SœgÜSägÈÿ¾†«¬É[¥3iˆ|¬%ÅHi@#çñà cΘ•^•Õ F;ØŠËm¥×•) ¶Ú9Û’RðG''Ž5CK§S¤EDdW`ÍÎ×q·û‚¸69XÛðŸòç@'}z²©²_Ù ¸AZ}§ÛÈãÏÇúéƒftuI-]3ë, ƒ(ú™Ò6FŽ€2¤öó•­D¨8qóî7Nã ¨x˜ûmÉSJyL²êUùBFxãÀãR˜¶ïšTÕzìPª;l¿½æ¦¥ó´-±³ GÁÝ‚ ã>tÞ¤¶â 2[QÚ¦®8Aa¨Eמ9Îÿ(ÁÛžüÚ®™éÎÅ~KTÆèßKì9ýOe×ý„…%€/)xÀàñ£«w§")ì½uE’ËŽËJaÒ½Ëá²â²08 ÆrF<{«ÛMÛTú¥WðèFü06ìú«/¡¶ýçjT•BÀ $p?¶=]ôÝõMÅŠšÕR3s”ˆÔÒëöÞq_•.’B“““¸q‘ +‡Ò_T-»™Ë‚«W§.<"J’µ-Õ!d”¥àFsŒsƒ­ ÿ½çý%N­BGz3hJäÈ8J›Ú”¥h©ð rÛ®—C6ÕB(f§rÉLŽáö:`Õý@uޮï@ºj"¥‡Ãé””)õ-IR‚V•6• Ä+’Ož½:õ>M«*Ç"ß]`1 c Jql«ù©(J·$(žw`‘‚r oÕî¾¢\öão³bS]މOIÒ€\ie)o•deCóà“úd^›z£zW*µ*ýÓO¨Ì ¼ûŒ`ý2\c°£€rU´ §‚¬ç%v—T-+ ¬T‹ªéé±®[Ø‚` \–#ʪºÀm)Z[%bNÔ”¤Œd©*PIÒʬPéMI„)Í<ÍAiÒUŒìA%c!EGq# ø#M [¨kƒfɃ~¡§)v<Š‹JJYt …!àrÞ”øóŒÐ3.n¿&Màã”᪪’[•·¢ÆmjíŒÊÔÚ”¢æÒ¢¤N¡Y£ªT{é]Dy¦%E¦ÐÖÌjtv’è ÞŸÊU´$¯ P^ Ð'¨v×Q¤Ê¬·ªU8‹í£kÊúY) É «¡ W‚@ *ï?PñbQ)3fJ]1æ{ÎÕcSJžsr‰%{FBp¬'A¥-Þ´u¿¯³*Ê—0ÕõU”Bi/7¥¶š• ¬–Ò”¤0ØÎ:½é}‡Ñ÷i”놓Wަ¥Á/Ôê}â—êW…!€¥ó•c8œ "ºS×»fjG¶úMArªEª’_©Ëm©ö9ìܦÖÄ¥_”‘ð'2©•¢Õ"u.Ρ3L¥@–«Sâ­H‹æ’ŸæùÞ6+Üp¢AðyGQ:ºoZ—û1²¤T!-²¨Òê1b6§ÔFÔmÎRÒ‰K$í ÁÕ ´ßPj6ôºƒR&»N‡ä¿=->adìq=Å{P¿`J–À# :C^£îžÜ슜tTšu¸PÑÉkp¥ºégj‚BNH#tó×YºaB¥týÉ4¸Œá3M6eÈTvYIRŽàJU’¬+<£'Ði^š^'§iŸiÛ6t¹ðߣ$Hê.øsh B’…N #wÉóEj[¶}Àª|·©i¦9 ÷•µl&B|ÛŠTw­'òý‚£ë2ì½jÐè²#Ò%×¢9Ú~­ýá=‚ ÚPßåB¼…mÛÄrR]Ø÷»e¾åÁpÇŸG¨ºÓβì˜jZÝ”—pó‰Þ¤¤ïdRHÈ hêNéQ«v²o::gÇK¸œò”Ш<â .)´•ÜáYÚ ,“Æ­:YÕ›‰B¨ÛÒ*5*{î9nN¸\tº†Z%Â’ ­èJÁ Ïsa'v³õÏe^CµKÊ-”— 6Úi ö%¦6!Ä+º‡JTò²ÚqíáÙé·¨}?ª_Ù“åÌ«QiO²¦B^‘3Í´Lr¶Âû™ZøÀ@O¢t÷VSV¾Þ»¤XÈÿN¬6ˆîÔ¢Pµ-Ì)P^ R\Pp1·ãDô‹©ŽÚQeÓ- IÊT IyÖj°Ð§™ŒãMžë£'qQ$€A#'œê—~Y»vµT¤Ç¦!·$C§×¡4–ñ+A[m(`%w¢rs¥÷[=F3O¨Ë¨ZϺ¨Õu2Ê`Ãm›RšopKèm²”‚AÁ NyÉ)J»êJê þ®Ñܼ¨_†»";ïÃ-Jж´ëDíq[ UŒ•A#T=Hèß¡^³_NÁ¶ºD‰Zª@2URp˜IiÔ”doh%+X Ýî^Õà§ Ýnì¥R®«3©‚³b[ui§ÅWr4–ÊŸ”­°|©Hå@ñÆ2»êwR)<®R–õtp)‰p©óÐã2kb–¤>Ò¤²TîRüpt ±ý-úl¸"HèÿH [µ¹„*ÅnÙuçIApm%æÜWp÷¼ çN;×ÕgMî¯OÍT/®ÄM –L öOo°—TIö•’V£à`‚:]ZÖýáqt½¾ 8™–ôXÔ—¦âAEF¢ëm©´v’J»ETK_˜#€8ºê‡K¬:oNÿŽ>E¿\nµRï(6¦þqÑ’q…‡ŠI> ðyÐfP¾‹=4Ôj)º+?¶›…5e§§&±ÕÉZÐZYÚT¬}²2ÏZÌþÖ ŠÛwÕ§Ð%3Uu©‰ÿH…m';âs”Œ¨û>@Z¨I©ôÎ×b«mÕQ©Åv ™M<² ©.wA*ÊT UŸiAÇ<ÓJëò›¿+…¥…Å–úÀîËe#rV9 Vpwž1Æ8ÐA…Ó˜T[‚õ>ÒâÃCêi.µ¶Øp·Ê–R@<}¼dùçTôôUçQ‰Õ ÿ¦SA˜/²úÝI* Ú0²HŒã'cN[7©/®t’™r_ÕJ;õR%2íè§êRâOûv¡œx >U’|jî™F°$Q×qN}¹Ñ2—$8J^PK Î[Á@ã<è0½tפԥWìëBt47,"3²&»(o*IÙ±$òI±Ž:‰"Ñê#ɬ±2”š]Áí°ôT„Íim¦·(„ç8å$öÓÚÖ¹í¦©Ò¦Q©ivß_ÿ5)4â9Sï;Šù_¸ŽRž4ŇX©¢X¬-øñäƒ-ÿ)2 ªÞÒ·+b6%%HqÎGh-u3©Ûv‹~Ú%J,.-B‹^¬ðÎ1´ºR…¡@hC!@•|k,NèÑV¸ûVŸ)è«í>ÛA•¡¤:IOçÂJvŒöI4éFõ•Ó¹ªÏZBVÚ©‰p<¸¯jÔ­ëá'r”8ά-_â ~RdÉ…rT'Êtšœwᥖ–§8qNéRˆI8à”øúÝmt×¥2m ›V´êp§?!ÅÃì.çÔ¥)Y÷¥Jî‘îO'n’xƨ}IG>§P¥é›öÅ}ºH˜ìÚ©L”4¢’Óéh¨±ÎG#€Á 3é{¥iõ \rôrá¦=$;.L¡ùn)a)Žßtvò“…2¡å@Ojtª¿V¦ÌD³Õ“-qX+i&:Ö’•K[Ž•()^àœv1…é†âè]"ØWƒ0eÓ$@z¡mÔéïof§ºÝ! íòÚ÷$`)Y8ú!az ju«åédÙȦςҳM™¶#ê(îwÂÊ€ J  %$)ê'FèvE*µkRh½µ7c©Sih©* F  ¤‘œä-©2,OñÚk]E¤Jœõ=i•*šú–ÞômK(É*axÆÔä“äkoV}êŇH“e^ñY¥µ5ÔG¡KS !kRšS…ö›H))_(>'Ö¨uê=õ‡% ™LÇrGÔMyð‰hÙÁ I*@Æqƒ‘ ru©³Ü­Á]u*J 1ô0^.ЬW SÝ Vµ”í y>Ft3êþùºmê*gQëû¿@¨e³¤ºÞÕr¤•””ŽAWΗugcSêR“URy–ó{Ë!•6¢®+‚R0‚ƒ‚£':¼Òúg¨Xɨu"úz;ámö\öã¼R–Š›R³¼•% œž@d;–麭;P¿ä¼â\tíœÛ¤¡* ©@$¬ž~3GÖ¯Ý䢗jï)m Ê\€y¦Áþa ÏŒœœøu¹é^™áÖ$¼¶mhq)+uÈ¿QÚ[’#Ú‚¬¬¥@Þˆ8×å×ü7† :y NIm}ÄTÞ”–T—P ÒP[Ü´’õ‚•Á<è0Ý=:A‰T=ήRûM.÷ß}iPÉ €¥•å@Ô<31©X»ºetÇ›±X¥Lˆßaf£q–„î.!M¥Mïç |éëQþq¶^b»Ó®’Ô\›N"Dwi•HÊq·›^K…D‚±¸€1“ÈÈçA¡ý9zú&/¨}réeÜ$¸à„«º§^h¡²âAy p’¯À'v€£¤þ¬)–¤¢ÏQ#CúJ¼e²_D庸¨P–€´á[‚’=Ûv•npÓaPÞl+Å›†]Àºë©jr--‡Ð†šì„¸…g  ¯ƒŒc)µÓ~­^ϳM îÓ­öÌEI[kyöIs¸„¬…-AD€  $h»¦”,ëªd›@u]Ëb¶;ǧIéÝ]Æ@B–§äÚs#+äg h.½Vúœ¶ýRÕ`VíÆ)­G¦³Úˆìt!EÕû{g¶yJ8'ÉóƽúdëüN‚ߊ•6§,GJX«*8ŒñJT–ÞH% @s*RJp­Ù9 *ëý ÿf]BŸEé?UíûÒ4© ¡©T6ß—ø‰)—b²Ü}[BÏe*;p´’Jr;]’j—UUnR݉"ja+ñFû=·TÊr R¼„’q‚A'>ƒ[tÖeE]w/R¨Ò.{²¥PS’Þ©>ØK/ÛmÁÊv$m V·}5s¢u΢],^].‘>¡ »Ú©Òê¢ÒÈS#¼”4„¨-¶ÆTIP p2r5ðg§öåÅJê#,Ý4šq~œÚ¥4Úg„¼–p TÃËX*Y8Ü8Ü2u÷‹ø[Ü6M¯Òº/Lí’ÃNÅŒ·©VkE¿’ê™*ÀQBœ9(ÀX òtÝ$þ4é ÕYuZõËY•PòžnR£–£¾âÿ; í.dç‚N4²êϦJe¥q·X·©¸§!J˜Ü)L!SPƒÝ!)à 6NÕI xZþ§ê·ÒC{ý4¾z½H¦VéÑ£.d'”­®¡å–Øí,áYü©÷ § ±·ñ ¯Üví¥½E¥Çú&‹×$¶`¾ìøgº{¦HþRm(*ZRÊÂHRBT×®óúóÐÛêYË’m3§wELÒ*Ô¢A~±E”ëJ *K'Ûµj BHYRаÈÒJÕ£õ¬2eO¡u”+4új*4éÖm¾–fÊg*eEn%Ä)!(#!$ƒÚ{UúaÕŽ·zqªzozíuɦ†ËWõÑyU—>"[Fƒ $T,¶\Z»¨u .4¬dmÀÖR‰Ñ¾šôÝ×fÔ}AWçÞwSÉM&ÒëMô·¦Ücêsùè_¥- ã?~µ§Rõc@ž÷Zª“jÒÑ Áʳ¨jjV²V…2Q(à 8ˆËBÆõAtõ!…Y~ lšÝÉ5‡’Ý&©C¢ÃiPX $û‚¸FIö㌓¯ÏKž’­kš—2§Õ‹¢ðÿÁšÚcÐÓ°[SÑ–’âe00¢Ñ)Û„8*##ZžÆë§£ª­ÄÅ[ýŸ.ÖªRžúªfŽmQwI#f£œ¶¬ŒÎ÷ÏOú»LüV¹ÓÊËÖ6žJã*#Ée–ÀSµ$†×µîÏ'8:Y.­Ñ¾µ2º5Ç&£J¨ÇS-QÚm ™²É-¡¡#”ñ÷ }¸­[ûœåÒÕëJL„Òn«E¨¸ã*–µ;(!¢FRq•œ‚8Òæ‹gØmuFkõ9(¨TÚg.I¨Ç«Üµ)¥Aå#»´£ÀÚx: ™ÑÈÒiäǸk•¨´º[ÿA °¨Ï7!’¬g¾°VÒxÂ’8ÆI:»¼j° RW] ѹ#-·7H’VÄ™7½M©¤¬^Â9À9$+<ùóβ¿Uh=ª×©õzu6‘N¹[r”§›ì§Jh’²´¹€ÓÁ BPTP¬üàh:kÓzS 5J¿£=-ˆ‹•-‰QœÚêœ;‡g+íŸ)í«Gì›Z´ÂfÊ»Y.5y¸ÊÀp(’¬)_*Ç·ï÷Ñõ¥ÒŠ·oS®[^—éyE.t—C±Ð•¦û£ÜÛÏ)Úr8 d/½P-‹¦Ô»¹±ºr¤ý—s q;Ô¤-åä¢0”¨ œçz Ù¤=.tÚÝN¢ÂžqLµ,¶{ÊNÀ2¢?¥JÆ8ÈÑ ÚôëBEAu ¤Ï¤ÚËõi« =´[F2B= mÆväë9Q:ÍRŽ>†eQ©®”´Ã’á{¯pÆ<'… xoªm±RâžÔ}Š“S*=ÆÜÛá9þ¢7R‘ ÕVïQzj&%ª5‘MN (-Ô%ÿÿžJBw~Q€£ú€8Òïª\ê=DªÐ*/¿&ÂÐB½ÑÜÞ2¥’žsúàè•Ör¤Ï„§"”0âØIqÄ##p%$“ýµýUÏTª£%ÆD‡ƒl•‡ÓŒ’±Æ0%Y~t [*í‹×Ûê"êºâÒfNˆ–]UB"¤7+*÷'`!D 09:*‘èÃÓÍ:s÷]¨i¸èÃj1òÛAk)!)G¸¬¯[Ž Î³Ûr1oªœåV¦\ ÷$l†îä´ÐwwòÖ CÛçöɱè\fZ·å W¥È¶œ¨,AŸ!°èa§›ZÛ{ Ÿz÷` ù'ï lÓzÃÖiÒܩլªuQ¨H.¼â œ!GaR JR“ƒ´¤œ“äc'…N­]tvî‹§¢‘)bj··U¶Ýul.Ÿå„ŸjI%$ã’4†zä¢zN–ú™ÔjýN†ä§£RÒ†RãI•ý[cÁÈÁ+*¤í‹h=l° ½G¸!u¡:Þò›†ó•¾¦Ö®^dîÂZR’¤ñ”'žG HÕÅÑšUÔºsôG\˜~©¿¯i-¸ê*H 8;phÞÎê%f5Nb.ktÖ FqÆX¤=ØJ6¶€úU•7pŸ%9 ÇšsýçnÏE£M—1lÔÛLÄÙL)q€Ãˆ)ÚJJ20B23®R:Ö.¡ÕcLbáo¦;‚Yz7iÞóaÂT†ùîÏÈVïw)Ð\»ëÕ_p*ŒW«ôŠÓ"m*L6ÓK{’”4]sr’”$-cçó§OC}^Z]R—Ó·…ª© ¨¡SÛ?_(~Tp„ãwœœŽp3¬§R¾éo\ñ(ÔKtǹ龪-Sw×8Ú‚¶nB ϵ@|äñ£8×´›z]:âµ:ŒËœî ­ÞmD¹%m‚”Åp¥ñ€0À/¨J^šúÅ^ÛW§µ:<·Þê­K¦,VÞÉ;w´èSiü¼- |ùH~ºÿÅZ”„×m{Ââ‰Om—…ʼnN¡ß)mÉ1IK)pŒ6ð'G¬]ÖÔûËñ[šmz‡B«6Ÿ£«ìKH¨ ´%Ä´vŒáD' ÂN0@Θ'´½IÕçÍzUYØè“Rïo©µKoA©ji¤¥%Jw-¥C*ñ ùqê;ÓŸ¨‹{uj7G®©e)•¦«B¡ÉŸ jp(¶Ókeµä3¸íÝÆ<édÕbè°«&ݯÚóèõ¦ qÊujÐ¥çaÄw’—UÈdkì¯U½v9kõTØ– »r[Ói´–˜ì‹mNÒßeY -’¡mOó€wœ ˆ·GZ(}xµj´T½?¡]=¸ö¥ÑYœë‘—¹.Gu§Z’¤Œ'îFáœè>?Ðkԭذg³ I\¥Ÿ¨$¤”ä«'ÓãTj‘i’¯Äc/ª&r:‘¶IÝ€JGà‘ãÇ kêÇQÿƒ¯¡ÛªŠÝJÛô÷pPeLdHÑîùTøIVRv·º¶™YìØRI9Q':ÎýIþ “+4‘/ ¾¢˜˜’žJ¨wµ%1^°%™ öÂÐíM(çh2 Ç|ÁCCÔ ÔÚJorÁIÜ•ç$Ï8ò3Æ‘]Qƒ5.uý:Üu­ÎE9%iJ€äðÆ8Æ´ýÃü4=zô¶¿.MÑéÊ©VåM¢Ê6(Ú®TƒÝCª yJZ'’:F^½ë¨uþ¦×:sQ¤F§¾Ê#F¹)Ò!ºâŸt6Њˌ¤º¢¢3Ÿ°'#AÛÓÕìí¼·-ªáj;S m –JФ![ÛdgïQÿOÆœ¯úmz“D¡QkSr3åMÔ›@¬£…%$‘#däë7ÚVuΉÎ*E-æÊ)ÚØ[iBùH`œ…pprƒ[T µÃ+ýµ´ –”ç09>yþú 't¶Ë0\¯RÃD@¢Q9­Üg*Ü7îÇÏŸíªšõêt‰W$ƒ521ð¶ùHÝà£ÇŸpÀ:G*èŸ6¨~±$­´­ÔKNä{Gÿpgï«åuTªlªPl9j\Æ;kFB€¢yÁûhVágè̠ÜÖ#Ê‚Ü0ý*sà´ñmIÈÛ•a@ž # 'ÒŒ0Í2¯Qzñdjžà¦J—”¥`A* ø‘QÛY·¨wGm0ÒÔgžIÄ—IlIä'* ò~ØÑ­±ñ¨¡lìa1”¸Ë|”ã Úp¡œœàçþ§@uÒN“átÆ"4h`™A©]–C’ÚHWó‚*+àOÁm;:[Ò ¢®«ÓéXKÕ‹Óê»’[PVפ($©Ð¡„’N#'lN¨W©TñBTâãM¼ÃtÄoVüžæ}ŠÛí'?—ï¦E—yɨÛîÐÿÄs*Qb¼©2(ßTãmÉ}ÅmÞ³ç8Û€ 9àt ïVÝ3°(ts[Œ©zYq¤¨Ò;l»…mÜòʲ•ŒŽä“ó¬Yq_m­PúÙ3ËKXeÉ€:RA!²“”à’}Äö cM^°õ.»U©7ŠÔÖ¤IœY0%縭«+mkÆ–’8ù??}vê·§Z„þ›Bª®@b¢îÃ&’ë©BħA%¿nAžrAÏžFgzŽ‹Rº‘U¸-†UOL„%ÕE’R·Q+ c* <Œð8֥釨OP+vwM®W¡"“A‘J™Y®¨G`¡JqEi ¯j€FÐR *QÏÌ} °ÏM:ž¹Ý)ÉZqQ—…2^K‰Ú²—ÀÚžÁPÜÈÐûU§Z_Ý@ªÇvÆúZ[qJ\FÊH  ;‚Š“÷#ÉÐ},zÑo÷ß»mz¥:ÓhKîJysÕ-ym’p¥¤)JþTÆA®¥_ö‡L©õ‰¢ùvଲ¥­*—ZXe±ÚAeé»AVàJ±ídçYs¸‘¦âÝ&¤Ä÷[DIkïÄx6º£”¥*X$ä’A {uxz†ê…råj]ÌôylMš”ˆu€½®+Å ¨%# ,¨¥@„¤`h5l¾±/¨p!Tîkâ¨ìØÍª(´Èm1þíÿHŽ…c#ÜÁÉQ°x·ªõ 2ê¡·sÓYv xÉĪ-}/…4…ýCl{œö”œxÈñ¬½¯Ö÷N…PªÓaË›=çX©V`-d*;»¶¥-ä–Êý…89F‡nÛ— áu½u ?î*™0¦CŠoùCÝÝVFÕx'žt³ª]e tþÛvƒÓ—êmÍž“гs¶F–„ûû¨P8HVÕ(ƒÉ8r—OTz•Ô ]ÉWD¶›°&Õ\A”‡þÅœ,…ÔÉ?#vqƳý7¬µËžß…nU !ãå´ÊŠîµd)$‘”¨á ÜŒxç_ÖËx9Ynµ[,ÈKÉ[òU )O”¨©8A8àŒœœr>NƒëŸ¥J÷IkwEÑd¿Óæ£Ô©¡R˜Ò$¥Ðã)PJÈ<¥Â¢”¤ŸvÒË®Ý éŸHnú…QÉOY±çýlØTy5&ã¥õ°îRúV•%k ”‚2?6±íÝëöî¡ôâWLúWÓÖ-w*4o œ„¸¹UR„»-µwJY+ުݻ€0Sýxê×Vz™TaEºæNn•²„K˜·“)aÿ˜!;Œx'@÷¼ºý"½]ºäuRE â ˆ/BJ\q÷¤-;W±aX8©eDŽ Ä:½Jê9ûÖƒwý±û*}–Z)d)SØSˆ*ÁRR'q¸ç$]ºEB´&Kz¬™Š|-K߀*-‚@†9>ùÕý6á¨@mëjô ’×”¹Ø Q!ÃíÜr ÏØãA©©Vý/£TÁ\º/”º¤»ØK +Tœ¥HÂ0VI÷Œ i‹L­;tØ¢]™6:)É„ÌI±*,GS­î–ÚWÜHJ²BÎyÇ'#Õ«56mùL\RÃsúˆóÞáAö‚ùR’Aò $||ÕÒýMu­ê³´Ço (—PB#:§b"@äœ'Þ@IQÂFó Õ3éw©>mQ›ÑÈ…µ¸¦èꨲÓÈV[onâù@ãž`ÕºŸÔHF£]U;úò©/%OÂSJ,)k¨:¤m Hm@nçóqƒ¥ ƒO½Z¥½pÞõöQ¸DJŒÛ¡Ðâ½Äe\òž8ÁÀÎ5ÄßµºZ¡uO¡­SU ¡Ov;Eqv%“îÜFÐ G<ŒgA®"ú‹j܆Èÿ…Öêa6¤¦ RW¹R]o**ÁØRN¯ï~µtc¨lKÏñúƒ_A* BŸ."ß´%(q2ÒAÜ”€­©Æ +óî©Ö{’äœå¯tÍe)! Ã}ˆ¥¾Î•à'À@ç'¤Î5:ѹ)6 ¹iM¿‰2Uz—ÖÚÀ(Îâ?¨ |c89©vתÞK ÿ³ywBbTaÍn"WM•C2[¡æ]lí)ÞwrJ“É#ƯkÞ¨âôúñ§YêÙf05”Q-×Fמp«ù™# ÊAp•~n>TÚ}Z—{õºº&¼úUõ¸ÒÃ!(íäçnIã9ηïO:Ùg\ö-&ý¸,h2j«£™“nQ68~7å/²ÂA*Þ€µa$œûy:‡S(i­×ëé½P…R‹qGne“ ‡Téa%)B\, !*Vv”‚ »¦_] ¿äÒl·äDZf…ÓæÓÔ—·²VZ )9)Näž2áãA÷®=Oè—¨n‘Ë´«TšŒäÓã2ägÔÓRkJËo0¶ùBÛq);”*TH)'_.ž±dY´Š«jqÈoÒœ-Æuê—¾Bâ@q¤‚@ÎÃÇ´cÀ'TƒÕµ.bÔ«6õYP$Èî?\r,ä¡Nãðp¬·„Œ¤}£cþ£u‡¨}teû–=-b·NH9]¦©É+¥¸SÜY;pîÝ“ŽIÐ>ú¡P¤Ôi±é<ž›…w“&Ÿ• )Rd~P‚w§õ`«gqçU“º¿sÑ`@²zgSf4‹jvúú*[¸ÉI)}@ò‚…¬vŒ¥!?>qµ7«·¥»QzTÛeO ¥(m‚žÒH#bôœ|ž<êM«µ»r³*uJœŠƒêƒNH[eôœ€ÊG¸«ÇÕ¾ˆ_4Þ¥°íÛ wVÛ(b@¦C{s”ÒòTd…m¨VNtÙ²%X6ûuë~-uä.Ú\Ê•Y·¤C¹ýÝÔaa VÏiÜ2¹8I:ùÿÑ_UvS´8žA‘öë ïBS»¤¶ê[öÈm´‚‘„¥)ÉÈ%@+ÉÖ¾éÃð‡ú‚šœ¸5Î.¥VÀ‚æà·#+Ç€à’AIÐ:î«[§Ýlºœé-" ÓåSÿ‹_¤T–ÌPZRP!…”­d»¹@a>ì¨,äh†»ÐŽÔîxw5DÔã\Qa¹BaqêÒ5ð‡Të­4¶bþÆÊ’¤$R<8êKJ%¼¤„áô¼Úò·p”Œp #N“¼º뻡ÝO‹S¥_ìSrBu¹‚‡!8Ox…%Nål'Êc%jS€dŽ5þtºgxÞ•Jä{n‚¹2ÝIqP ¢BZV2â“’=Äp<ó­!ÑY³ú*†irY·V/©Æ^¸)fRÒ±€8kzr XQ< 2îžµt'«ž£¬»:¿`H®G—/±*éïRéâ1m .ÉRö…¾]-¥¤#?ÔV.´÷Wÿ‡ç¥;ÒÓnD>•Ói3c!ä16ˆÆ]„ê•îR]F”œéG ¨ãø‡oÿ>†CnwZ6ô˜wø'ñëzŒÆÈˆÜÞ$0w€TÈA ä`Œkwz$þ:L³6\¬Ü”ê} ÚvQ­>‰3XŒ[À¤an:T— Wç$œí°äô®Öé½’)+—øÕDD1#W«¬v¤4•)sÁPJC˜ ;H':Ïv/M=N¦Ri×5ûjJ§Ç L¦"ZêiIP=Ïå©A+Sd’£» ãtãè?Ao®³[sjVDlj À‰3j'¶É’æBHÉR¥D ó+¥õYHÑétÚçb¼âä}<ÊV7„n ÎF¼+ü´Áµýh]V×N?Á°âÓ)•ïf¥ ”Tv‘ÉÜ¢7¤³ýP-‹m‡nêš&Jv2 b6ÃþbSï Vì„|(çŽqªû³ÓßMç×ܧ\´ª¯ml("£ª’„ž™î…lÈÇ·äcÍtïVWPêqáI¨:¢ßLÓŠ)@;¶¤l%j$sòA>5o#ªð%Ó“P¦K~Ÿ=Kî¶€·’3Â\ )p…øãç:ßRvŒ¶®Ç¨öDÆáB¥´#Á Ye•£;¶”ä”䱯8ÒòÈ»ÔýéM“7zÍ#ŽÖí©lÅJÜ~B±¸c:9ê4ט£4§d*\¹cbâv‰p¹%Dòð0yÿ=,.«ç ÔæO¦»¦£¶Iÿó¹$¥Jl|||N¬9X~šÓ”ëfD*L@¤;\*n#IiyJœHQ[«ò¤¥8 ÀÑ}£r3:eVä·ï^´å]®õ]ÄÑ•Oì­Y 4TP1»<“¬íÕN”õVßhª»S¤†²ÜÔ5µàå+ Á>Iût®©}Z)‹qÑnùQâ57sŒm¥óŒ)$îRxÿ”œ: ùéWÓ—[úu&Qì.¡Ó)°¤m’ºZJß§:‚½®4 °•S¸{~@øÖ¶®ÖúYG¶¬ÜVìuAŒêTëP{QZ9'ÀíÏëŒ kR½Su²¼ªeËPêt£N LÚ\u¶Y \@ܯ @ùÉÃêõÃÓ:¥„®œF2à­Ê¥N¥Ó£Ø^wîQVÕg‘Ç?: !R¥G¿jQZ©Æn‘o°Ûˆj->+}ùi­ {{y!@%jJ8å;¤¿áŠBè´®ªÒd!ù ú´Ïi‰7p¥ SdîîÝàürôïQ½Q2š§Ó¢Gºøk,5RhIšò”©Üá ¤ €ØV0t¯ôƽK®ÉƒÔ‹Í6õ@ÉqÊ|i%ÖRH ©•´¥ì IäƃvÖz+ÔK~ÛªÒnž¯Ð¦µ"ŒØ¥þMn Úܵ¶ ƒ„$ /#>IÑ]ÈϨFúqkQºD#Ò«4˜©n©Í©!hl)Ò•ävןqŒþƒHNP=JÙöä;>é˜ý^“%Å9±W¦/¿FŒGp8†ö­ÅÉQÈPÈPIÆž½1êBz™H›V¬õ‚Y«C’Û¯*Dg¢­— B2¨î¡ …cjRN99ÐH{«õËÂÅ4N¤Ûâ`Êf,jŒŠ;"\Q…’¢ÚT7:¥ã)P X$‘Ñ­îˆuÜE€^÷Á}a3ÔÛ¨‘Ou@a¡YR·§#¦$î[µ*„ š¥~?S-Ÿ¨†ýRBçB+ò$a)9n;AÈn”×ßBï†éUk¦µHt NÌè·éËJYr§”Ú²X*XO±«q8ò4]?èèÕ—pÕìšåm6§S”É«R$¾ó]”ámŽß}N¶îáîSG*NO·:éåv徟ß]+”ªC­¡ÈUúk ŠÐ˜ÒÓܘPµw¶¬å)VII)ãú´\é·Uºm~9z@¶«)¡RvÎSe©¤*BÓ…6V‚ K;ö§póàQt3­½N¹:Ään­u¦S¨§U)eO:ƒÊKo% H H#hFIVíÔþ¦W­ºjí‹k®¶[.IKÍG‹O‚cW-Ô­+Û!–ŸRÛêVJ¥'nNNáÆ•–¿«N¡Ý7E>ƒou2—u+³Ú¦¦TI‘5ô©)uKJÆRåìÎågyu>Õ¡¦»D­I‚º<ø÷52;PÞŒ¢CŒ©IXW%)-/|éAÕ^—Û÷uÿ3«w[R©¥q ‰1©­…¾vûƒYÙPÜ6ã?<³«­éUêÁ³¢É5-ÌLø1[~•Ô¶ Ô€ær ¼`‚Tr:Eu#Ѥ™«›L¥ýe™’ÉI§Í ¶Ú%À•¡]ă»+**ÇZ•­ ’˜k”k¨̺ã”êcJ[©J˜tü‡”7q¹;F´ä¢Rkó«Õ¡Ñÿ n,ªc”ÆB"…m8 a±œ`gp'œdó ùaÔŸ@^ ºiT’©öŒçå0×qšwÓ9*C¡8+RƒAA°ÎÀ'ã: ‘"ÿµ£W!-“ ›aÒ§y (lw=ÇÇ‚uö¨A©Ën}qOª/CŽƒS[à•:¤«Œ’[JApx  @Õbº :§_7¥ùÑš}N!…ÇžÅZ3.6—ß±ß þ•Sð08>ãý­%šÒªÏÏI„ˆåÚw$(HHð® ýþÚ¹«z½¥Ù3‹~COnKr›ª) Vå%<îQ ç}<‹ü½ubÑ}T~š¿fTQ3l©ôÊûÐÔë«N–‚¥!YÞ•%cÁ:Ì^ÿðx¯îœ\±^¤u¶•_§*ÛµIxÈQ(RÆÕ¥%(I Ù·“‘‘‘€Ä7ÇQú}võ£xµ1q¥UTTäc$6örCHNRüÙçVÖ·V+Ê!L Š–#ž[[§~@8G9À<ÿ‘Öë'ð›»jÔS ÓÿEiÔ‰ø’õ&ôzBi ( Ze #vÔnQHòµ ÊI9¶ðôëfΧ´eÙlKzsd~¶,„ƒ´¬íJr@%9q\q —RõqS©pEÑsT¨¯-NÔGóf T¬'Ü Œpžt«.mÏ%ÚìÕ4ó¯9»— GÊ‚NTSä}ÆŽª¾–ýaJ ³h_]+Ÿ®H˜üVÜ Qþ•º‡Ôœg§‚4¿»zmÖÛ Ñ&©dTšŠÈ(n@¦žÚÒpB¸ƒ€A?¦4›Ÿ·jÆ\µ- å–&ö‚òyRöóÉøçÿ)ôëÒMR "¡Wj,¶ ÞØ *RÞ­üàà ÇË“\ˆ•Š”'_¸¾…#Ü>ÄŒj;U#ùä4T´œ¥Ð|÷ûè fÜ«fª„òû€)•‡{ 8)%IÏëã]Ïê^u¼º%Á%øÐBÜ ¹¼¼p´†Ü‡9q“÷ÒÑë‰É©×á4w1°`렺嵽1a´Öä¤/9Ûã9ý~Øó `Ø÷'á0„kf¶ÛOv KKik*ÉY÷~¿ýµF¿ªvûð̉èJŽ]LT(¥·° PJI8QÉ9ý2G'ê=~¬¤¼ë»TÛ[¶FÞ ùÏihýnµ&2bȪÉ[HVPÚžQJOè3¯ÈuºÌ¤ÁªÈg~‹oçû­Þª×fÀ‹£hrW™!9÷ûsÏwަ[}{ô³;'´Ô…)nˆ²õá|p1ûéÌêÓŒ¼Ã2ßR÷ÈdîÇʵÊ,yn-iŠN1…”«ãÿƒ@è·ª‘$U$2ý@ª2Ö¤•¿™±ÊVxR” ð9äŸ1j×Ä ére®S …!¥™™srxö+á'9ÿ:U‰ -oID×›*l´·„#>?n5Ô§¨îrB••nÊýÙ8ÇÏé r£«³4Èôºd^Â’*.´V¶ˆ 毀U€} íùòu:ÁêåYÚ3Ñe×&¸§$:…³"hSAÎ 3ŽF@È##£Öjq2#ÍZVF ý?mx™P›Px¿6JÜQ$’£ÿmÃý³Î´g9Q¶êέ… obId!µí+;Nsãä¸×Jo©:¤‰M\$È.+éÛ€Ã-ÃMåAÂ2AÁ$ ‘Éð4…×´oãf_¶·uúƒ½&Tc\‰¹ÞCÍO.Äo%*K#±Œð>GßTzÍwº·jS]yä¥× *gz³–ÆUƒ»$Ÿê9:ªB13'oSÍ¥h;ÂFqŸ×ñöÔ7ˆ‚ ™KXí)kþ¼ÁêÌù,,:ÄV0Ðm–“()' NÞAÆÇŸ:àºRü‡ÚªWÖ§Pऄ·¿Ÿ nîq»ýÉÐj&HF¥îHð3Ƭ©*±iQ”µ¼…ÛJðsÀIäyÏÆƒ¥RbìJ˜ÚÉh!,-ÀÈ$ãýËRåÓ–i³¡±%d8¶”´>ϽŽRJŽÒAø)ûh•Š$›Â ~³Mï-§Tu¨© ÀΤ´ºKùÛ—å*S%%Hq *QAR£é jU>ç0,ˆê´%4çdM.1©D¸£ÉÚµå) N7n Çê„›©0¢›RjjJž2b<Ç›u²‡”CG€R¤$m*QÆ2t­SºxÎvì¼®;zá£ÍLHÎ[Qe?Þuoåpå„2’‘¸«ß’›beit*]¯Õ;¾á™1.ÊC©Ò¡ŠÂBU:ùc$0ƒ•¥@¬%*`dëöèA®Õ$Í¿)æ]¤©×íÚÜî7lá ;Ä -KØ¢’#hûI³:ÉÕ[2M =·mY“U25Éóër„šc#é™*P¡ií’NÅ …‘¹J ©F?Vµ 7T~½;oFŽÃR[—WµÑmÇ¿Ýâ§/!íêJДӻÎrBŽÜk,zžèŸ®iò©GY©n†íöÛ P*víºÔ8ìÆ%8ŽëŽ(vÔU#r•€SNߌÃÍ[±d5_µª²á­o?0ÇvŸ§r¥)j[ŠHÚ É)H#’t¾ê§_z…é–íUžÅ½C¬Ô›sÿÇÐcÔNî*#ºê]i-«N€æÕ’påÛ½&¨"¥Rs§–õÈóTÙsgÊi ¦+eGw+ +çhPP 9н^‡Rª\¢]f$šD)[ŒüÆÙL}ÇÜÔNr£»ûýµ÷ËÐE3ÓwU¬RjéTM§¡šEr·3ë—9ô<£1ÜZm!¢·퓱 žBuÛ¬‡ÿ†¨ªEÇ*Ïô‡mYUcQZ[º E[mÏJ rŠ ´2=¼,¤“ÈI ‡ùî§Ò©¶ýu¦¢Ð¤»"<åo…(-ÜQ9 IÜB s€tÕ>žQ%^1f^—2Ÿ„Ÿ©U%¥:Ë)$¼BPÈWp#ç_\ü(½(^´·z¿JôñiÓ­juIåÕ¥%ÙKu!-1%Àã`”ïî`§%g•-z§ü$=<_¶FµÑ‹òá Ô¥S;ÿMWJê1áÊmÐÛ(í¸[ ¤²­ 1 ùƒCéuBݼ#Ô¬[¾å )‰Ì©) Z J‰ tñðG#L+_£l±}ÚìisžæÔ¦RÆïrÂ[uy÷nAI `ëPuƒø9ú¤éý)ÛÝ¡Ý4jJ•QE B”öР‰iC{Än+$c;q‘Î^‰lÓhÓ^£Òkm:ëu7Ó3e†ÐK›-’BéPRŽN øÐiŸO¿Äƒ®~ŸmZ­½d_ð§)1䈘ià’3»~ÓÊPBvs÷ÖËôáü|UMéMÖêÅ¡6·/1&¹>vã? S‰ B[ØB±‘îNÁ•uóö/¡.¨ß+¥×¥Ô*–í ¤#H¯HF†Zx‰¥’¤ír”†¹OŒœ2//á«*Ï¢¿Mµ}jÚ2åÑwë#γê0Œ¤¨!lïuÀ®ÂNNì0CêÝ™üD:QÕÿ¦­×¯±A†ävЀ”%/,r¾ënmVÜ‚0>N­)L³Ë¨J«?PZt»&žá|:’I %¾ PäñO|i´ý)uæØa¹1:ÅBWmh4šƒ®%Ã’v–ÈNÒT’6<¤ç×=!õcQé-¡hõR§D]`Ìm†_¥QWOQØÉ.)Å%e[¼§hÉñÉMpK¢¹vÛ‰²ÑSŸFìu%KRNT¬(+óg?#‘Æ—}T¤Û˜MUfTv¼Ü%¹*y}à¢TòIH8ÉRS‚¿Ë´c]õ;Õô:Õ¸-ÊdÀ*5í¿ÉÿÍaÔ(¥HRTÛ±’)ùÉÎÝQõõÖ^Ærx[våbC²’Ÿ¯%m<@%f RqIÿ÷΋ֿR½/¡S¯<»®-ÜËIb}6-Ö ÇÚê?—ù¶9À H8*'N€:³üDíÐàI¥I«>ëñ©&45G™OaJ\Au)K„(ãw…’‘ãY«^¾ê·Ejø¦1"—P¸ÆÚrâLî" ’ZB³¹1¸‘Ž•5›ââ»mûļëkvEBQs)uÕ$’rµ ÇΣÖÛÂ_Uîš}ÊôK~'ÒÓ\Y4Ø)ˆûîe-¸Rê¹Z·($‚³¤ƒ±ß¸Þ/»@SCé›hË+ŽAÂʹ*Ç8ó«íÔï=U©Bi ©iî};d¸B±•N Àÿæ4<ìɲ$¼†b¸YKû£¼(PN8ñ‘Ÿ¿?}½"µP´à»&#¿ïIR¦ÐêËyÛ·zO+#ýNu »ö«ˆS§â­ä:Ì‚á G3žÇ‘ç÷×w©+‚˜ýZ™QܦÃ[ʧ´ñîËoúœH8P?¡T¶º}aÀ¡ÖæÎ­±Ô‰rWãŠaH÷e“‚Ó„§j²yç?(3hŠé°ƒIêEeú47¥V"[TØÏÅvJ‹i;d5ÿn´œÄ„ \¹ºUÕN\K TìåÔ;QÕ©2’ìnÔ÷FÒ 21Â9ê²Ä¾éó²Í:?ûÎææJÑ*hl(dóƒ’‘ûu¦¡zвhGé-t‚µDVm¤©ª€CŽ´ÃJ ?ËØOl(©GÀ qVõ£è^ý³j÷]›C­ÓjÌÉŒ{”8íBvkªáÇRà°¤’¥mQþ“ñ _Ù^¢¢Dê­sò'Ei¡2R$8)9 S@¯–T‘„ƒÎ>´ ‹ê ¨TÛˆßV…ÑP¦T1"Ð'ÂEc»G u9Z7'J<Üg8ÀÙ×Í9fYuص(³Š-Æ|·/ƒ»Ç÷3ã!G<'Sia¼‰všÜ´­H¶C0æˆÏá ²IÇ…cÇ:­–'ñE·i­A§u>ؤ§¹ F‰Fn¦ðJ.¼éd4ØÜ±?<ã8áe¬½]õ¥[­W-J%ŸmRjšn ±*@rJÃ)sshÞC{ “”¤îp„î:Äíu:Õ»hmÔ¨µÒÞô"lÊã¡’ÐmÞÖÂ76œã NˆúimBxD¹j·¡ŸLÛiuÖ˜~¬(o.!I,ìÊÒ9?~|h>zq¨Öý(X_àήRªÕ¯Ä+jCã´a‡^8Û°ûÙ@”ËÀ“¢.>‘×o»®¢:oQjSíÞÙ¢Vþ¢;S]l„%Ì­)BJI)Ü®Fvœç8Ó:§Ó~ŽÙѵîW/—¤ËKÑ¡U+u#2;Ê$’ÚÜB“-Ä0’´Ž2pt¬ë?ª^±\òij ô§ééËy¶ª1Óßy,­Ä…íC©ÆOoß›nÔ¿±Ä%*l©*h’ V9òvÕê·r=WµºE>J!BJWÑTDÆÖ6¥‡×Ü P'p¤ýµwkYôÊÅ_¹º­éÂ{µV‹ôóiФlŠT´!+ º€V‘îS‹G»÷¸§Í¡P¬hïôÎS¨YK‡5æœ2%=(¥H }E(!8W8ŒgkÂ:E"¸‰uqíÖdÉ”êƒnG’Þ•¸ÚŽRF=›O8äiYÓ¯E]7j!=8¿«´©N8‡ä=9–ÔÔDžâW»q$ûyàp1¢¾‘u6‡FIfƒÔáQjbˆáVó^mÃÛZÊ’¤d”¨+Ž€ñ1æô™Šmª÷.l뚆¥‰%'!MpþH8òxàŠ¥tÚʤ“G·éÓÜ-¥*a.¢¬’“¹jÆ7dm>Æ©ÅÓzum§g°ÍJL&XsèUÛ%РâN*OaY àè~å‡|ÛL'Þé É4hhDFd4ó.J}JNÝÅ´-!M'rŽ8ýômô§¦Uè3å\.È—%¨¨“)N¿Üm¥+Áìþ]Þ1€|sŽ5‰NèÒ¨/[Ê¥Ò!ºÜTºÜ¥ÆS¯% œnÊ‘“œíÆyÇßJÞ®zæé_AúlÕJ£LÉ•Y+n]:£L,HˆûP¡ùT AÝ•ðSÏ:±¡u¦}@‰á·ú¹29n$EO˜™m¼FöÒ;`¨œ”U”(«Œh=@·lÉÔ—*½¸¤Pêô…˜ÒKiqH@h)+íùYP$ä`à}ô­êP=RÕí4[îu&$UÊÄGÑ2„ä„>ÞЯræI;p¢vã$ãE~¤YJ¸¦ª»°!ŒIšèa—d£ Ò¤‚¢¤ä+j¶ŸØŠ•Ôª=Ù},ØÎB/ÿ"Hy JTô©µTB>4 ÞÛ=m¢ÐmCºcÉúØo$ˆW˜ìïöœàœðÎ~xÓNá‘nß6õÞ©!˜4Ôµ"4oQ*)Ht/rÔpI÷qÈ êýK¹í»a2íΚT+ ¸…½KZ±²2—Šw”,+'p9Æ@Άi¡‚äZ•^ÞÒ—6%ÃÛg%·R´¨¤¶®F2s“öÈÒ=:K¯ÛO˹®&¦SRʇ z:ÔÚW”go»€0¤¨Ÿ''UµO·¼*k× ;–2i»RëN¼ã J]òRK…)<“µY óÎgtO®V¬¨M‡¬Z…:\X¯†4ðüw]l«sjm;•œÃ‘úp¹ú™U¦ÖÕlÖéÎÈ1Ô®Þzziª‹ Z~¡’¢6¶¦³€ÙÉ^wgƒ€¯Ñ­ûjrâWé«1lâ«éRJÓùœñ³qãyã#žtÿB(ýB—üÓHE>r뉨nZ›“µC o9Õ'ÚÀ:zÖ(j†¥1*pØm s¼v)ô9´êKÉ X÷``$òq¨°mKj²Õ¹}–ª -˧ÜÔÖ^GwÜ•!+QA)?œde Œ…MwÑWE>€[÷ÕÊjmÇÞä€Üp•/«rHV>G‘žyÒžîþþ—ï;†¥I•Ð… [i•S¼OŽÑFÜ„ù<|chzµýbÔ`ŠÃE¨8Ü7]M1ú»ËÞ…$áIS ¤¨çk„„œÀƼ"볪r¦ÇuªügžeÚ„µ) ¬d²s´Gq\¬î8ÆÓÀè>|õcø;t~Æv+áVÝ+ZZCå%Gú]ä¤ÔsçíRу½á‘pÁ·ú•:›J„{‰”2íAÀßµ á!<§%CÇ<ç?CdJ¥Èþe³Yªû£wØšùÙÐâ I(IÇîÚ çW½9¦ÛRìꪨŒ³]ˆÊ›j$‰Ó]r Ç$8Ñ(QÕ<î) ÍËZ‡ð“‹™ˆMjR\…ûÖ¶ÔV½ ûœ¯äþŸ¸:óYþ =B¤¦KVõýMœÄýÙN¿Äå`à¶%@‚v‚¬ò×ÓÛÿ¤té]1‘–%Al;;¶‡RIÜÚÔPèÅ£jr­±kÔHw3”xU´?2»Rj*VÚ*SXÚ´£€TÎàä>Q]?£ԕ=T#Ò£TÞrCn%PÔ¥ä+„©Å É;T’HF6ò9ÒÙ^Œ: ª²iÒ·p¥h!.9ÎŒþúû§DéïNk•' ËC€É[Î@%•6¦Ôq¶„¨­ÍÁY$Œ@ÒÆæô™Ó[ êk©M®ŸW€ìh±¶¡.„+”ƒ¹Klq‘î‘ ø¡YôùrÙ¯¿±´ã…M€âCkσí<ð|~£B5‹&´µÍ¤<Óq–VìvÈäãŽI>~N<ýµõ«®>éñ%T¡ÐָΕ´[t’ˤû2O YýùçYÊãô»OuseN`GŽÓa¤åÂPpâÜmóÙçf9ƃ»ܤ¼¸Ó$n%*Cò‘ÆRGôƒÈñžMXµÒUÕ(Vá-ØÍ¬¥Ç†æÞYÈÂN9ãœÿ}iŸ¦ª½*S75>°Óñ N4V$mQ)QB²¥gý7|ê‚}_§Ez‰Qe©h$¼XŠö\ãžÑ9óçÎ+¦õFÞ-¡‚ó¨`Žá!’•s‘ÆAÁOÇkŠúy\§Õ[˜¸Í¥!²V¸ÊHJp0Ic<çltÝü:ÛSn¥‰,§5jÇi%< m$‚yùÕUÔi”)Êm;ºÇâ y )ÁÆì|~¿íF€ånlIŽärÑQ)Zq»?'?ÛUÍôíÉî!ªcO:‚¥)Ià§#œñ÷ò3§UErShoµ66Ô-â–ˆ@^Ò ”¬dç8Ôê£2=A Ä Çp?+NÔ”’Há>3Àç?®×MÌ·\Q–#4‚ \^T‘ƒŒŸ°'ã#ï® ôê ôîWoqÚ7d’Bp|ãO˜õ2¢Ó’1¸²7)O ·¼¸„íG ¸Ž| ¼s®*édÄÖ[«·Pm­±Rà eä²<¤•ãÆrFqÉÐ!ë6dúDˆÈü=k§µ+<ŒŽA ŒxÔê=³LuÇ5xÔÚd’ëe{s’¡ÂGŸ?liö¾›Æ¡ÎüBåeSPZžL¸à’JŠJÊS‘·'ÞãŒøÔx½³®·Š C“+¾¤+´r´¤ðœîÜNò?PHÔèq™q¦œ J Y-6á(.AhÈÀòOÉÆuå+‘ zM@PCaùi C{°;¼dŸÌp›ÝjôÝÔh®™öÁh1–“2#ŸÉì¸Nä!!ÁØIÎHƒ¡Z%¨tŠŠ%~ÌSÇ/GDp 9*_’p®xò4’è´Jª®ÔZ$èd¡×ZNöÎJ2N<¼dyÈãV4®–õ¦\ S¥Î0— ¨-!(>H*ÿ‰ý8Ær8Æ™ÔKr—Sé«q(tXÑÛ¨€$¼ rB›'rQ€vƒƒúsã^èÞ”eA¤Ç¬ÕÚ«"†øuª=Å%¦FÞø*È *‘¸I<è.-š½*Û³¡I¼mv"Lq”-rÉBŸÛÓŽ Ü¡íññ«éT;p0MVq£=+ciAt-iÞP Vv{³Œ(¾¯~…tÖMMJ¥vÔç8¹NÁf$™ŠP޶Â@!c!IÞGrF0t7ÓšeäÅ[µ\½L! ÍÂ)o¼—”@7¨•¤ó ŒxÐ9¨ÔV%@U-¤·õ’Rû²T[B”¤c J>à°ÎˆéöÇRª%r›K4‚ãtùPÛrB‰Xà í%Y<öÐ3]N¶)tDSè” Oͨ²·L眺……%ͪÝìIÚJ1ŽA?'.ž„_Tú¥6¡Ó›˜ñP½®J”îàál¡)uHa%!^ÝÜþTÕdèí‹Jð©U˜@vKOÈ–˜Jb^Ô€àö¥I)OŸ¶™,K¦†ÚØÄ×qKN4(åÆä6•dûÕŸhÉ9>qŒêΟÕfÍ™>ÜMœÃq]Vضõi¤ÿ¼œïü߯$m'N¾‘õç£ó-fç^÷ašKr(QígTÔÆ‰ÁK .eÕöÿ™¹jHIÂvç@”³z…v©o.Ób3*§8Áj˜§U•{N ›!§‘‚¬xλ%J¯W—W¬SÑ%÷å¤È/¸_$n ŒrJ@>Úkõ+Õg¦å\( ôöÑ¥ *¤6ãÒd4ô5©Ñ%æw!/© hÅM¨`dg5n¼tE0¨)º/ »$ÉHzà= —¶È-!E.¶ó€FÐr0’H6ì;æÁé­•»M¹ûÊ¥E ¹Jª+oÖ¼âIV´å¼ð®1¤m+'J.¼z·©z©£I²z¶¹´ËyT·)îÐ{IP§§aB”ÒÜ@[~àæAàyKõ‡«îÛÚEZٴߥΨÖ]Zç[ùpÿ ´(`æÒ?0Ýúé±ÒÿCtë•¶‹úê¸)¶%¸Ì$ªS×D`벂ÒÚ”Xl:ËŠK‰ÂÞ;” IÆ-}ueT{“Òûž©ød›JœôÒš IÞ÷·¶’•„¸§Twã>ì+#[¢~©íŽÐ%Òoj;}±Sqê\ü&¤Ú’JaoÀ\‡BVr6¤‹pNL> ‹FÃêTªÅëÓбuÑ"SrîW“NFä#n+Ú¤åCvÒ3†E‰è7£·¨"úé=>“VrI0hl×Uiާ.…-!\$ºN•'Ü w¤úýé ÍlÆéõ6‡rAŸ&¡г6Ä&Û½çN×lÙB°Œ8¤ŽÙö„uOÔ^©ÝÖ~§kX•ÆÞ¢Š[ôöÔºB÷©×ÒT¢­Ä,¨'9NÑ€9΄oŸL6m­.à…ÓóL²‹ÔG#É›¥õQ¢¥JA(R–´©{ÛÌ…n$çhç”>›WذìÛ^Ki4¹ÖåAö¤³ ¤¹ ”µ¼œÊ*sÜr­+*!9 “ÈÓ}YuÅ›—Õ …*ÖÃ)Š (8ó³[iFOi’?”U´$+ò£ ÈñluB•Ô¾¢ ³½.¡UªÕW ¤öít%Ù&:K‹ Öœî ÈJŠ9ÉçCb }$9iÔÚ% µ Ô7!úæwÞ„¥–ˆÚ¢°µ-)'…‚BA:¸ô{ÖΦ۵Ƚ&¹Õ­1æ&Mt±Þ[)ÿ•Ò„¸¦Ò¥(á@„á ø:ª‡N鯱X£Þ7µ>£^·ÛuúZËh§¤¥X¢TÉÛà©*?Ì^8H'<õZßM~Õ®Ý6œ*p‡åCM¸Åu·Ë¬¼Àp‚R7:x7 ÈÈZ¡þŸØ¹›{Û³aݪ§éKµ•wS' RTóHÆôîÜP’“€'8Ò®ý'œ·)]4¢Ïe¨ :‰q_˜–TÜd­)ì!8XIV $òNƒ/±|u*A ԥ醃2XB”8”¨w“üÀR>2N€º×Õ ¥ãiÅŽô¹Í…)*vKŠÛ¼ä©AÏ#v3û|]}ºíØÊ¬±£Pf§…£-¨¥´ð6º€œ¡IÛã9#Ɇ…kÖȆÃË®Ne-)½±ÚCiØ3ƒ°çãúÇôž ÞO¥Û¦±PzL8²CAØ’JÙ)+)Ý’GÊ@>uo÷¹nyUë×¹¸Òûj›%%ÍÇGið1ƒ´dð>Ú¹¥Ó[¸£Ò_ d0„²ã«'r°¼îPÉá'”î#$j"dQbAr» <€§\b3h+sŒmIòI5S¦;ßBR€Ûxâ2B‚R¿Þ|è>è™N’Xj6ï¥@JœgvПíž>?c¡û’½Y}l2äw"Sßp¬!trû`gý1¡úŒŸ¦JöO*}Ä/º§Fsù±ñŸž>þt‘^vsK›*,w"mAZÝ/TqÈÁÈñþz'ƒoA1%Ô^¸Y‘ L×°C’Grq‚ÈÎFt»£!Š’Ì5¦„…GRY€þ[ üù'É#çÎ鋯Gf-UÊsKeö“JXsj˜% m8Ü8$Ÿ<øùÐOéœJ·ÃÆuoïiØy`öáÁŒd{ˆûqãS:A·ì Ò­kÚ)¡ªžÖûÉ8-„3ž02@#Î5LöÚ]5iRK Ü$´¡ÆÕp£òyÇß×ò'ªá«Ì•[«©”Ò·Ë'Þ±äý¼|x΂M:}gêzzšj0i&?m>âFF|qÁ>u"=ËXì& ˜íöÒBƒÛ€8Páõñ¨õdL¡Pà*|ç.L®Ën­A|€¡…«>äc ó¨è¯G·çA[Ó!•¹‰r[l8 p~>Fàè4 ªÝ“й/ɵªMJ[µ51Nqú’¤-œn+yìâ@9àžÕÕ¢ÅìÍR…CªÍ™Wv,­´×hÄ¡Ü^€…gÏ“‘çU=9ê^›_•‹Ñšš˜©öŠ}V,…8È“Ú)R†å ˆHñŒàäIÔKJÊ'_R/ 2œKÒŠ|Ñ÷¥ÖãÎI>ãŒÎêé7Uo+qSlî¢*œ¦;R«æÖ”MŽâTÂ÷ È{OoÎßÍΕÝ\ôÑÔ‘ASv­Ã*™J€âqÊ+áØì¶”€Ý¹Ìxdð>xÕÇM=Jz¢¡=þÏæz‚—KˆÜô*%Z{Áô¥Å§.%-å'ÀÉ<jÞ7¨N¡Xu;šO©•§+Õ¦Ëj¹f\)̈ZÛ+á”à„ RFT¡ H[Ök•(&§F(uPŸo¸ûέ$œ‚ÑonJ·#8Ür9)©]7ÿø0A§Í3›*†ÔɈ. -öÔ’¤‘ʸÁÏ´·:™wŪ¯˜òn¸’ŠÖä/¼Ïqgþ(SC¸îÈ)ñ‘žq‚‹¦ß[ï* ¹ìšÝjŽÊÑ"ª—¥Ç޶ÜÚK“(Ç“‘ÈÛÀ(èúUé¾Ù¸*°_£Õjï§šìy0äד%¢­…AÅ%Ýå §Â¶IàÜžž«6Jçε¯ÆnHÉc²"Ë”Ñeo,”G-¨ €d‚àûŽÓ“¤þú­Ò:í^Äè÷[n(«”‡S12(TżÐSJúe74$´Zq+Èq¿zSÉÎRÝ:ÑÒëR²ÿ© ⊪û̸Ã0nh››uxK+}™Bò°B 8äq ‰^õ3Õôkýº·(‘6:Ô´wqIR¤ÀÈÆ2@ÁFQ}QíRM´*Ë4_¤ÐT²…ÀmÏ ¸ø*yvå$w~oôõouVÓ Õ:‘sÛ•[‡]·ÝX”ÖÔì_8@qøéÊve mZ@ÏÎtÒ™ü6dß]-¤õ=wõa ̄䦌:"³×@rF>ä}juúëõÝ"wQ(ÏÂü&b?à ©LKC;m’IÑ…‚FRIÀ˪ôWê7¢/°õ2•U¹©Ub%4¶–—b¹Ü­aµ-IÁœ$¤ç>×wß%¥U:y|tš¿\ŠæSrÀ¦KS«c)/4ãíî)>»wÏë±=HõTú÷Oz‘Ò7•QMqTyQiÈ쇂 ,KRñîíöG$p”ê¬_XGµf¢t‹~ŸD¥†æK‘h¡µ1!K*y†Üqåœ(©$€’•~l :ƒë†ôD'iTkóqþ’ŠúÒ¶"´2b,î Y$: $Žy$ê- ¯·_ZæÛ–< ô”¨sËo›ªå<%žÉî#þ"mjÚsä ’Á Ó*¿Yí~”¢×¤ÓiŽ^¦Œ½!kqN„©•)m¤« J½Ä©)óŽ£Päu]¸)cªÎÒ¦C…ÜLÄWjRÔpâCˆR0òUƒïI àƒ‚$úCÔšÜ7ÍÓ´éõe½F¾­_j¡km­ ¨á×8ovÒ^8ÈJ‰ãV×åÓ/Mª0.{#¯Ô‹Nጥ%ŠÚªbGâo¸‡"%Õ¡ …A ´Ÿ$è$z•¶(=4ªÂ°¤uû^¡[¢Mz¼;f Ä×TòJ]Zœh¤#`++ÞW“ƆnŽ’×*}8£Ý}D¡—锉(‹šË¬¸`ˆi¹L¡ñ±Å¶V lgä´Z}.ê}ÍÓ pz§øz8¥©÷*¶¢ÔãÏ$8—”]Ê‚ð¤€NU´d}´éK7½ºµËfÝRmÊ4¾é„üÔ%¢—TNikäÅ*H8Ç΀vê_6PªÑ-qÑkTFƒ9Æ”\Šã¸e 8r …#i '9JpsœëªU^ì§G˜ÕVãQm×;¿RÊÒ‡Ö…$ä¥iBR¬û†r1ƒú¦¾!\-ŽüKZ ×ÇnšºU3·*I î{¶·„·”á#wÁƌ슧Oi44]ŽVé7ô× A‹23ͧ/8ØS•’à’Hãa «?L²µ´U¸œ‘øñ0)þ¥ì»Â²º#l(LŸ )vMîÜå²³ìp2F~øÐQ-~šTåI§ô¢]EçéÊq3£4ƒ!¸Êt…%K)ZŠÒ8$ƒœ®Ë±º”Ì©¬×ióXŒê{ÐS/·Ér2@p§p ÈÁ8ÁQ*¡̪J¬tú¯Q~[¥/Nn=Q•®Q)aÅŽ n `“ƒÎŠ£õ®—ÔÔ1i]öeb‘PžŒÔÚJB’ Ülçn8# #ŸW•ÒÑYŸt]éí±NÓ©•gPëÝkrrœeN’ NòF8!ÕûÖȦ@‘SbCÌ­ÖÛMNšøCìÉB†Ñ•¥ -ðBp1„Î£ŽŒ3á›}MvÕ‘:RÞŽ'ÂĹIŽ”„†^meP+Ü’1ö'Rí*MÓgÒ;ƒË­TŸì·?¸ÚWM –Š•§jA# ŒäçA\Ý‹ø[íInLW)­ ¼âu°¦Éʶ R¢qàäjš¹éÒ5ÅS7N]©?O>÷ÖÚûiiÄŒÿ,'3äxðyüêµ€¹µªÂ(·XŸÈ{ðŽ\m YT„íî)D[Ü?)1¨ŸSê×Ðå)›Ž©ÒÔ–ˆÜBÔ—JSµÅ(¥@« ñÆqÈÐZX±)kIsK{éßî«·µ#*QIí£ A!Jðy?}Hµ:nè>e:‘R/Ê Ç)¥¤É`©AkSO¥)XQ@ÛíÉ8ÈT§§ »«™u¤Ék½%¹­˜ë‚Ê[©Êw‘ñÇëÚÐÕ•Un ŠÔ¥:‡3}.@i£öÎô©kÞ¹ÊyÊÆÎ€O«6¥B¸ûýC˜¬)‡‹“¾©çqiî$¡$„+`Y ûdÊDj3s ÖiŸ]{Ðõ´ÉG°”0OòÉQà©'ƒã]¦Vhu"{´Y5±¶0™QD„)—F€F9!9ÊOæÑò©­\Ëqª æ(.9‘‡Üî7õ*P lï~^Ÿ\R­¢?nRê.@vµc6f´´¦RXWòv”¥x@ #Ú’“Ÿ<ÑÖúqSå¡éðS)-LvM¥SZ%öVêH|…lJÒê–s»å^3«Š˜»(4ç(­SiÎ8¦’̨5Iu‰®¤—R””«)H9ãíÎ9ÔH‘oPeP'Öšv¿.quÿ©’Ò7;’„3œùP O t¬¦ÜqùTHŽ5 Çò•S*ZVã˜=Ô’’JOµ$œ +z‰Ñ·è÷;¬Rio9¹ nD'ÆöÒy^q„ “”œäž5¦oÇíêˆ$[P¨Äµ2Êž)Ò…­¬à„¤|óù†2t®»:ròiÎT¥Å¬ÉԖަΠD‡}ͧ+ *Ú²TAxƃ9Õ*4 Ü(°¥YÐØCžÄ÷{)K Jm´z\䯢¬zZ¥ÞuIw%‰TE6$äM0Ôvr ”Š_Hÿ—Ž4ý¥—…í ¥aÚÑUBaÀ‰•¡ÆyÚ‡W¬¤%D…(åcŸ:r™Q¤³*ŸvXÓ*1&¶S-=þî”mBC„ nI_¹G cÉÀÐg»ßЕëuV 8òû[Ðêk%hK±Ò•äAPÜG)íW½õêÀ”™Q)‘+1[Ë‘¢80^µ;¸Ìœ´#€wM[¨Ô‡× ºù–ÉžÚKµ&B”ÑJ’Þм) Œà@Ñ=®›…UUËŠÛ•òæö–í9{¡«¶•! `m%^РU¸Žppt4mædÙ;M¾ì šõ1þêQI(kò¥]Ä’œ§iFIƭݦXoÖ]‰ ã§ÉŒâÖ±õî}Ò6 liGv{œxÛúkè£Þ˜íнº[ô4Úz¬Øi}÷^SùZ˜ Il)AYR8Æ98—ü;-û¹UVì¨lÏT9M3/ñ:c´>¥÷µ ÂHJ0r¬$ärs ÁŸìâK˜í>MhÆj:S-¦TR ñ-å!K%D+pQöŽrÍÃJq¨jšK+ާp¥’TTŒ+p*'h:áaÙVý…vAè…tÃE=ÖÓô¡þâ„­o¡mã e+?s‚F€±Úb¤Y¶Ü_¨–Þ“-÷Àh •Gpçœ(¢kC¦Üuȉj–Þ‰T1Ýutã”­%Ä„«¼¤¡CßÎÏjB~r׎‰v7D¹4ÅS–šMnšŒ«Xèq¶å RŠŠJJ±Êr&Òú“Ô1ÙðúT¾Ã©a-Ê/(T…¬„œ!JçÜ Ü¬ž@'®>œQè&Íj: ÈÛIh¢MAg¼”)9ÞTT¥rJUκõNÉ¥Û µþ(£Îª9WX ʵâ¶ë‹eÆÛtnA)ZФ¬mÈÆB|4ú » Å~Ñõ9yªË«8ú\£Uà O56žKÍ:žãaKFÌ+)ÜAäi™÷Ý&·F·îÖ«”fœîÛõuw[“T`{[}Ò°¢Ã¸Pœ+A¹ÐKBÀ‰I{§îÔÑ õ·2;Õ˜!/)²вØ9É¡G„î izÜÒ"ôÞƒ™,Ìc´–a¨RÖ¦Ôÿmm·ïM‚ò’VSŸhÉþ~#ÕXêÙ–ãe»6¡³U¹Z•r¼çጅ)®Ú›!’TK‰ Þ  úÀnàŸW¸î[´´¶Év `’¥Í)XÂY @o@N9: KÒö‡rÕ åÄ‚ôÈTÅAi–ƒ -ÙŒ`'Û·+G˜ùÐ%RÀ™nÞPj±ìÈÁÈ/!r 6 -—{¯ RR¥'vÕ'ªñ¸4Ku‰Œ=P©ÆmÄ—Šœ"KmågÞWÇ%\`ñ«™›*ž¢ÕĘHuµ Ó$6V”œ%JR3‚HÆ1 Ë}o¶j¶gSk_ìáÚ‹6üŠƒ®ÑÙœæ]Z’TØÁ9RTHàœ¤gÁÑ—G:¡.^¥®„{4vþ¾¬^žRa;ø ÁJH8ö«¨x:~U`Q.ÄÙt:|£ôÍ—öCä´¤åK$§$ž2N¥ô¾Ø‰kß0n }úU´ ¯J¸(Ûà>´%AM©·ðÚÿ>Ô$“µÅ$ð¬h+¯þ ZÝ!¬SiwÅ·ømBLXRÝX«+zD”ÿ-ÑŒ W³‚¢0Ð=ÁÖ©W³‘ݵ;èZ¥)‡”Ú‚›N×\;ÔyRÔ@±ùwtö·sô–-á"©6õI‰à×hÔ”>ãN¶_Œÿ{¸ C­ö–PS—’•’+¨7=ÁlÂU6лÅ!ç$§ë©0˜Sò“¸€Ó›6T½¥@㔌èÞ’ý)9~_//S½$¸$PëÍÉ‹l5 ¸yª:æÉ[JïˆÈ|%)B\!E[šÂÑ9Þ¹½1ú¾"t3Ó­‘MnÚ«ZÿQU­Ò[ŽÚ£Ìx¸ÙŽÑúUà…¥G{˜)@¥IR Ì]õÝÕÍ¡?¦tËÜjØ,Çf¢a)ÄÏb+î6Ó²CªP.¦‚ÊÉ!²¡Œñ¦¯R}2úgê…t®T!*UE’˜ ÊŽ¤ ¬…­´cÉqIËuÅ£jIp€¯‚ {Ëø‰16ä•iVïÊÍ ƒV¸Ùb%N[‰"¯ôJw€ë6òNAˆR•)CqHoÞ±3[½ë·Í^5Z¯lÃyºRš½¶;¬Ú7%¦JZB’ág =¤(!]ÞOoÏ[ßÓRhלW®«A—$þ"Ó©TÉêyÝ®2‚†ÔpvÈ^í¸QÆÜëè¯Cz'ÐÏN¾©”>«Àzò¹èQåÈbÖ‹X]\jŒ¥6¶šy™*d%(G{ê\8;BRÞð°jèïôó©6Ëv¤f®èk;ñym}[m?)N¬Çe*ݵ m%(.(¤HIHH]¶%ú]>Á†ý³Or,É’Ü”©;=¹ØiM:vHB€Z”IÜUƒ´¤€:OZõ/fÄUn¿.OLë“á¡VU*Ór2Ü\m.8­Ë’ê˜y.¥ ÂPQ½-뇨®…\ñªwõÍdZ"Í5 Ýç#B°ÁJ‡vS‰ÈuÒAÚ‚ÂV3‘“ 9ë ‹÷ê=Z¼ª}Vε)«¦ÒkI›9@ºó­ºƒ KH I= ¥ø%@(TtšÈº«ýH´æ]/£S6Ÿ.‹´Óˇ9¦‚6»)§Nå%JI[go°'#éËÕßâÐË–›^4{âi\´Ú4šeF⦺ôéî8Yv𨠒žáWµ'QÊR€  ÔçHú8a[Žúµ©oSé)~4x,.¥ø\×”ŽÓ®¬-¾ÒRANJB¹Á´îHE¬ÿ F·bªóíïOÔ»r<:»’ªñ NúrËî{µ¸R“ŽÙϰ©|à«Ú4¶»ýô†Ï­U)ý'»k4¸Ñ—íJja]Èû[¢ñ+Ÿví=/ï_q=8¦]mšýÑE¨ÓìNªÒæ¥4|‡Wj Ñw,(g„¶’‚BryÒ¶?¬ŸM+©5D°èÖ=:#2µ\4g‚d!îþ\u$¸°ãgÝìÒà”€ Ë^Ù¹:;ÓJßL¿ØÜ+õÚ•ANS®K2&šµ†ä6âîí4TÞP…/’¯ºÔ-{©wd„Sï~¬Û”¿ÃXuV¯Nú{D•=UدԤ¶²²Bc§´­yugjKƒÔ»š‰}F¹×5RuºmÐzXvn­C¯6ÚpŽRÓª'žr+"ÏfÉêŠêì u$Ö+ŸBÝM¶Ö…0ãjÚ˜ku!!(pÝ´[B”9 Võ¡êžƒsHvå£W!–⪠4ßðë”×…-e•©‡R’—PyÞ@çÆ—×]ß:¥n¦Þ«L•2iSÓ'Tf¼^Þ­êh‘ÿêÔT¯$ùÖ×õ“[§õuë®…eRš“Rj" -Nª)¡)·”^D°1¹h VR=©>HÂ’#×,ÓL¾à.’ <Ä9%*B–¤îÃ…$€¼ðGœä|~]:t™îÕÄI¤¼ÉKh;T–Óž‘ÎÀù>uêŒÍzé,ŦˈÄó82Zi½Žö ‚{Œ‘Ç‚Ãаôpc¾éAJ\›ÇHÎ0s‘¡CG™R3c":@-Õ/ÜáüÓA2¯|ÖQ •̤¶”<ÀF0¯‚Œù:¨f´!ÌþD<2áÞ¤‡yç<~`?í¨5&"-mG£©nûO»;é*“>š‰”¤9”³#À)¯?õÐl^©tf»Ó©®KFà{r,”ˆÎ:‚‡ÚÞÛVÖR³œ(~œ Ò›ý²Ý’êéµÑ!Ú“p6ãnDã V7gŒø'úN¾ƒT«}=xV-Ëæ–í:­ ´OÎÚ+ {•–»‰ã [¸'ê–—§ ›«R*wOht¸N¶¶Ø©H|ŽÒ÷an ( —Aü¥²pG'T Â}»Ö⺠ÃNI¦:]LíîOÓ Êœ…¬Ž1¸¡9ûjîé¾:uq=—.¯:EVoÓ¼SS„ÊHk -Çm) RNI;ßLšß£«& fmNȽã&ކôJ„ÓõŽ#ìlœ £Æõò¬~¸Î–wå»Ö»)¹°­«y»ÝáIŸjÆ [l¡J(%µ#yVT¥pTNGhÖÅN̪[ìÔ:wyRí·LmL–gý+*Cn·Üw)J±‚¡È$oŽžuB…ÕNP(½¾é— ðšµÊ×!Äe²¢ŒP¼þc”ñ¾?ôæé¯P*µ*U©²˜wêCÒjBÙÏm!*I Ø£çÜ0>ßrn“9Ú·„û³¤·ôºPˆÿÔ8äOÓ·ÜPH%*䥰¥2àgAõnBêoL!LE»¢Üµ).!éÒâ¶òYtä8ò=ÉtïÎåhÁr1ÕëS£– ™w@!K­¢ äM KWy§0­Çµ)ƶ¸v¥D $'>y_0ú1üGºÁÒ«Ö ×̉R›’X¡@ŽQï <¥KdpRNqÀ?:Ñ>£?ŠK·MˆÝ¸Ç¦Wk4¥5ÿãxUW„t6;[èp«’H)Æ?7Èu+×ç¥ ¥Ç‰otë¥ ´pêx1µ e ëK -Ž O¥u×þÓ¯ uIrn~¨ÌˆõA¶cÚ 3=—YZ7îCâFÀ7 jr”ãŸ%qÖþ‰Ø=BôùK¯ô2Õ¢Ò$³"<¹¿E)ÖßJó° µ‚W…+ä§aäç¦çBë]-·zW/§^¥}JOj䜶›¢>üEÓþ´½”:Ž)”¸»)ã<ãA'§]8õ/L»Cµ:MÑ"†‰L?,.T4ª }¡¯§YK‰ÚƒÁ<rr|ÚÏW-ŸÝŠ…\«Æ¨»F–ð‘oÑÝ5)q#”åׄ¸’°Ò{ehH*ÿ—ìh½Zun«sõm—ouDU­¶£Åa A%Ö~¡Æ‚Ü|6Ú†BTQÜR’ÊàœhÔ¢Ô¬mtè²k÷Ô=_S R[.ûÒKîí‘”§Ÿq$ãÔôq{¸ô¾²zkQ‘X¤ÝØÖb»-[”:¸JRHXW¸§<k<ÿô9e^”¿é¯ªw]³6¡R ¹ºL›'hJ$%E;s¹[I'ƒ“­#êÊè¬NµbZ1¯Z¥Ï¥³õ”šI vSiHRÜ ) q°³íÛ€Ÿ‘Åe໚ÏèÍ:¹Sz¥Öúïá­$8âÐêÈä„`„€HÉÐeZ¯A}Czƒ[·.8îTh-—~§BŒ‰‘[PWûÂ’?””¬“±ÌcrµÎèF¿åéEZM©P§%1XŠô&”ë”â›KˆÂ‚Ò¥Œð|kqôç§ÝªË£¹6þDÈŒZŽ€ìÔÞß)Pا0­‹'ÈÎß _V_Ããj¢ï\}$V¤Î‚)áÏðrÇzdIR÷&<×]ؽÅIJZ^6c…c ¡G¾!?5ÖÛj¢ÔM½·Ü©%¸ÚQ¸Ò {~Ü#}§€N›Ý/¹zUÕYFí®RÕUaøĦÒ*RÙn…nZ )J²€¢AÎN|*ÅVÀ½ê´[¶er“_Cjn jðœŒüw“ä©#‚BŽÀ ƒÏËŸ§T¥Rk0éq[S‘aNK”%<Ój}¸ZVR§A8÷+ Yê³m&] cE¦*]¤:–ÃX$ìSJØò€J•¼>Bp™µRä­Òâ\wí‘P :ój‘,§›kÙÇhý:×îQÉÚHÇ9ùÆ’VÕÇkõ:CuMgÆqÃ4§!V„ÊR .î@XAX‚’’Ü~4Ý·ÑxÕúWS¸ªW"› Ô*œš„TÈ ¥Kíön(¨'*IH)'í ªR®ûyOÝ÷šªN’´FrLA,TX)Tði!,/ ÀÏÂ<‘£Î›ÛV-åM-¨Q¤ Ë ‹Ú™§•$'%E'$ <èFä“A¡ÞêéMÓtÕã!ÀÒª3)Є>µw0àXÁi%_“é<_UfѺ+ÑjU¸RÊRÓ+õTa‡=°úTASŽhPÏ _OlO³h Ÿ6‘rc¾çb¬ä6Hh´¢’ÛŽ¤%JXÊF9ÇÉëÕýe]æÇª\V:ÖíÇôoªqNZ›”% 7½[3¸{Rr1ƒ  oS®«Z‹N­Y÷Õd„Cr2šææÚ¼þlaNsʈ?Õ÷â®æ¾:.È~-6ó—W¯™‚D8™iìHÚã ajRRNÝÀàp@N Ö›ªöÄVçV-‰ORŸˆ¶jνµ­‚Žx+Â# c¡û §Qè5X•j-ÑS}“#ýǵ5r^mBŠ¥¬¿ƒIçú‰ÃZ'Sïz½žïNç!T‚š—øƒs·@©+m¤§pNÂŽp~uYpõV·r\I]¹cA¬Q$FcòС%’Œ´¬þd¬à‚nIÐF¬VºótV_¨XuJ<Ö ÉatéLºˆ*‚¤¬/¸U’}§Ú’ç_—e:ݰ&À=²‡nÒ>éÔ´§ =‚µ)Jà…m Ø1‘à“F­Q¥[w´®{³Lžë±éÒ"T\[Ž<Sd–+kócòí«+ÒÏ™}Núš}Ó§!­ˆâ=BBSõ$%[V’¤¬mòâ” Ÿþ¶ßlZ¥í*§>—7òœ­fCeA$œ!YPò•mÜH:¸:ÒûÑÈ:½†!ºñLzµ©Ghq²È!Á‚RATö?·CG麪ô¨Õ(òb!†ÒÍR4Õ©±»++JR¬ì xþ­¼"Ú­Ú·„k¨\M®›6ž–æÄŽ´!EeN5>Óµ[¹?ažs » ]Pú[õ„;Rb…>pLE9K¥Nµî ¯ðáNA98àh‚“ÕÞªU¥¹zÖ)ôú{R$dÈ3ÛhB^md,eDŽGÊr1¡Tµ&ÚÏFº¨°ê±é³;›¦$‡IÞKJmð„…¯)9*J”2>ÄêνY¦Ü´÷(v¥3ïHmev’ùvCƒr2´‚Rw“ÜÏÎÁ]Fbé£Å¤PÞací(¶¼—›ÆJ¶( nHÂOŒx:¹©u"Ô¦)Ún–û®-â†×Nt<€ÚBJ”ãJ%{‘ŒáRòHÖ _½lôÿQbUùÑhOÀJÌzµÈëÎ# {Š’B’ìVTUŒ¾4س¯þuºÄn}½>¨Ä—ß©A;jÊšmô'rÔHR¼ä¥IÆÁbÄ]Ñ ©p®yÍ™R`ºÑ B‘œ¶J7£•à§úIèbí¡ªSTuJ}ÐXL¦bÍACAò’…9Ád¥*#x)9? ëúÔ¯U«Ï·nùæÅL*dv™§R$÷„άíI * Ü’{ˆ)rF¥QëôÛRGãŠ}ùŒJm¸àÓÜ„Åb(pîZFHRr3Ï#@ Ü›&¢ìÚ(¤I_mÁ1Lº•-ýÛ;]´ƒh!I…í àà(’»b*¹C‚ÛÆæR ¡2B\&9ÚT¤)ÌîBŠHÆáÆyäêë©Yyëf–;Í5ôÓ¨îEL†_`` g$éAW°“ù±X¿Ôè½Ei‹Z‰O]jAVbB­ˆJ»)RRF6«hÜôËÑ{ÎLZlhó"¡×)QèÓ¶:̆.2æHߎ7ùjÚCë6ÇàƒU’¶#¬‰q`%m©E(ÚV´%^ß;”¯pVHÇ#V—}‹SÛÉR’ã”jKN³ µ9„ïw-#iPYÉ#‚O ×kZþU“þ'¨HƒRŒýiJ•&¥ äÈ Ç‚À[IJðp7 •`( àéýJ‰ÏÔ¦=†i/-}2JÒéB“ÂxPÛƒÉ?¦™vÝB»\RçPÝn_Ñ´Ü–Ù  êÈH* äÆ3«ËZêé•ך•ðj[“%ý˜KÁGl¨4¥ÿRÈ !<ŒyÁ±¡ÛÕ:Ån;jLfÛŽWìŒÂЗãðqCÂö¬Œd¤•6ç@ vô†Ç¯[s¹ºbãõj’Ö·%*ž‘èéSjÜ’­©Jv‚H9ÉÝÎWõ éNÞ§\.ªõ#EiÕÈEZ–ðpt(Èe’’žµ Î }ßG¨öeF} Ûm§êt¸»ÓM¥I?T"ì;rHYíFåy ê¶GH:u~ÇI¸¬æª*«J[u–ê-6Úä!M­.`ûFA*Üó ùg1É]^±³Å§oÉSlQ NIq†‰mµ!ÅÁÏ¿‚|¤ýô?cÜõiÿ£•H¬Ïa鮡tö;E=öØ$0ú\Pohp…RÂ*Æ6÷P} Ú–wWæ]v‡H"ÚòbÚò….±BLy ¥¥¤6¥Fg.6€…(mPJ—œÆ’ý3Ö uษT¦•YIM^âTÁtËi);”–S³b”…µI*H!/KpO­.[ôùŒÆ2™n ŠíFB]CJþXP@XÞ¤î Æâ£äÍïOÖ¯WiqÞ¥Ô)õXt¥¿*¼ºI”ÈŠÚÝu²­¬9¼o#a÷„„î°ê—MlÉÖü'çQilÆîÜ!!Ä¥×RÙu¥-'Þ¥[G°$à`œé]élxuÛ’ñ±ï¬Er%n• çtgPR¸®s…²qÛ<ãÆt½\ô©yÙw¥b¹Qê…. On-RžÔ“!k) ÉÞžÚV“œ@Pã^$Í ½ *ZšËÈ0S,€;Šå[¬¤¨äçƒÏ<–ÜWmÎõ*$Ð.F—Âë¶úÈu*HJ]ÎÒBËJAD+iÁ'v«¬&¯Éäê¥Æ"‘rILUU@/¹Dtïí´ï²FñýXÚ ÚÁ5-.Ë¥Ìr"ÜÊV;xÉÁBÊ$î2’q¦5©Üwý »bM§NséÔ‡«Ã¥%ªŒ©)ssoIs*K¥!¤û8BJOÆ?­>™M…Òºs×Zuz£î[lÏebSÀPC)@m *YQHóÚ÷Œè®ñ¤ÑêÖ“ ²%¢a¤ÐàJ«7Mueââ´ˆ€ ãí*qIÎä¬î+$ö<+þ© ZB³å.â\Xr¥4ÛKQq¢¶™Å;µÑÛÊCiAX$5£zéD¢ß—kß/½_©Ñ®TJ‰Y¦ÒCȧ¶¥©÷–œk/7%$°Pö-!Å)jÛ¬õСXê|¤tÞæ­Ó$Ûm÷%Òß”'­£´ó}½‹KHZH Þ‡œ÷iK"?Yï¨ónŠKÆ=ÁIKbšÍ&®© S›Œú’Ãɉ´ÅaȪ^ò”cº‡¿zPAgYèëñº4ïDYê=Er×E.áfºÚŸ¦Gyin<…ÓØu§>¡JT¦0´ïYÚ®ušz™ÒËf­.ܺºÑHžÊ%¹H¢ÅyåÈí¨¡r;‹HÚ… $`ïžw‡ª¾Õú«6Ñ~©]Tzåb©*5)Û®YEV==¤:¥Öê_M¨èu{ a¸êHoqVĤjOU…݉՞™¡Ûn—HµJ%³rÖ+ÎIaô„–ÕÚqG´˜Ä¨º$¥Žú’Œí)JFƒæÂ,š]¦m^Ÿu’œÒ*1º£)ÆH©\‚ߨrƒŽqŸ#N¯Lz‰Ò¿ÁÕÖ¿Nµ¦5@•&]:mµ<‡ë» ú„¤¡¤•)[½À¬©™™bÿþª~=P·'ú°éQL§!*LÉS;* ´ ”%jœ€¤¤€qÀÀyt×øÓ_éŒZ´¿Pw‹.Ö^†š…‡Ÿ§R{Ž0òTTãÊJV²W½JÊxFÂy ~©ýZ×zäÅg®½&é#uÑhćL¶nójÅìÛè[ ¨© ¶•?¹¹±õ,v»Éð Yé«Ô¥Ûb_WoÔÍÌQ6æu™ušÍèRº„ZBXZKJX?Î/¶†ÐÚÓ¸‚|¦Í›ü6ìj¡pZ×Ï_zßpÑq¡ÉU`4Òœ(í8c0Ë`:’“œ­$†Ç´œTuCø-t†©X~ ‘ê—¨¿Q"Z•û¦Ï‹:-Q wqÒ™%j Ü¥“ùJˆ9 ÿÔßWu~ø«\ u;üI«%×—pCéúîJº* ±ü„©¶’ÛÁ ZCªiM!9(Ú•a•ÓïEý?­ôµþõÎm»O¼.¸MJoª÷l÷êSTLöº4V¤!©·Rµ)e)^ä¥Äƒ£kwÐ/¦ëZ’ÏMn¾¹Ù*q3Ofç¬Ve0ä†Ý½´7´“½(÷­ªl»ºýºý2úˆëMÏZ¸ºsê¤ÕhQjÒRä»z¼³ÒYJ^·‡]AK©JB€Ô@$p=ôInzqf ù¿¨”ª´j«ô›¶Î u5Ù”¸ 8„®%A¢¤2´IaM©° t¬¤jÞ]³xÞlÔîÛ+Ô]6Ÿ\­ÓgÇntúK®G’û׈ÑV—šiA ܇J»‹R²R¸Ê·½EXú­ãrôÎ¥Qz-ØÑ¤TîˆJúX©C]–PB\u m¥‚çiIR@ÈI9_õõïU“º—C¡úx¥XP)iwlÚÅÍH%ú|gßu£!.öL‚–Ô”%)p—„¨áÀR·ÅŸ×ÞV(·§V(öÅv}J’Ôy²­t³)·ç4Èη!Ö{M©z’Û;–B U’ ¯WWOæté´×,tЮ©+x³„ºb×ujq¦Ì êÈa·V³j’„ “íá(ËvºÅZC}aë ýxªè~Ÿ*5¿^»épâºüwÛMÛBë~” ‚’w{•ªn±õò¥Y꬛Eš„J~µ©0fFuõ/wÛBFá![Ô…%;Fy9:ë«ø€LµïOÀn^‡\ôITr`¥êUA•Ræ­ (Boê2ã‹q! ”½½‰:ªõ®Ù]´º¯ÔhË¢Üub‡Iµû»ÛžãO¶¤+²\¢IÚA_‚®î¶Ù÷ßI Ðzžõ êů=i¦4üÇ t4“ I]!8% NÐU¤­ÕAqz…Šß§§®˜Ñ ÉS¬8ª{ÄAQ@ï”$Ž2T •àè õ~µL_SdA·'TK5Š’“>5A*ˆõ -èØ aH.qý$ jmõEéÝ ‹tòkOÇ iòª¦R$(§9ÊO”ûNAÕÏRi×õj»伡ºªôDĦƣ¾èúV­‰Sn8’½ÞðG´mÑ ýC¶ªö„»~ã±Õ Úƒ2X¬ÖXŠÉ‘:Û m®R}«Éùù: í^ê5>·rC•V¹“HeJ-©æÆweIm#Ï9VùƧ®Ø¹z“EJΪ£´µ©¨¨œ”%²ЏgyJsŽ?)ÎyÓë±zwP¶`X”çˆ1ã%¨L6ìš±IÚÊ+%1Ö ãÉ'ž5]hZ6ŸÒªwuRÌDu#T)Í8ã °¥£b‹n,$lÚ¡“Ÿ2(/999/9M>Qo¼;%yÚ»xœ|ë•™|ªÉºQ"†–»Œ)HnnÀ¼¯Â±žyɶšM´)4{*E6À¥5Srq-¿1¨î®r‚¿¡hÎG·ÊÀä<¤µÉl_tHivu•1MGÜn#ªZ@@ÊÔ”£Ú1Ÿw#Ïñ~O¨5Uu¸d‰˜‘ÝJ»j*B‰ð¬ŸõΨd×®GÙãð™PC›”˜d¡Np”•Iç·Ÿ#WÖmŸ]º(Í¤Â¨Ô ”’a·E(N6÷PÀHä’<ãÎ5ÖЫî{nµ&Õ“±¸.k®% $‘À<ÎA ­³âŒ(’*7]i¨ÌGœÓeòÒßs%9J‚G*àœñçÆtUÓÞ›Þ„i X¶©mÉ­ªCU–áÎp ¸)W©ò sXØ=6¥Ø/WÃʬ²¨øM¾ÂyÌa 9çhãõ é¡F¾oúšœ­Õ¤¾…»!ÊlÑ, ¤4”øàgÀòtÐ=4Q B\¼êp«“™ŒVú¢±°  ;°”á#<øç'W–ÅkÓb&U±mSà0âÂ_ª~Ü|¤¨Œ)⼤øNs€qŽusC«R©u1D–©M˜ê1u†ãÄ;BËm`¥‚F¢B±ùFŒ&Ô· à…#0a>†ÌZL¤¸¶ÜVà´¨¥>ò¤mCeC>½rº¤Ön‰·k¤pÌÈÑ—nµH⣸ÂûbK‡ BB÷+ƒŸ¶¯º3Ué?]zsEê b¯:òbb™¶)M9,°†½Î¼µ$¯ù\𑌨ðýBëfΧVku¹ÓçFu´ÂZ›–ꔕ “€l„‘ÜI'n2rˆõ¾¶úoW®H6˜e.!¢ÊIBŒ'vw(ã9'9ËVê¯Õ¢"¯0Wj1bÜitûŽ[%h(WmJKg¶êqíIá óç6ö·U.»Bt œãW¢³PŽÜ˜+‹ <FCéKþs‚†g_µVmVê6«o.mÎ^aº=z,¤ÚÖ@yÐëjÂp7„„œ““ƒ¡«þƃnSh´ eÙpM¨­€¨îÉ}KdžâJ°¾ÒP}©@<àí:÷©{K¥÷m³K¼)j4«©ÇѲå=ÒÌ·  J‡t‡ V@ÊR 0|hmÔ~›QªwcݩӅMX¤C—™ï ÚµcnVvœœœœgƽôÍè·PnÔº:Z¦Ü³Ü+£"4;×’à[RÃa-”¥¥8JÕfÐ7iŸM&Óé¯Nª4ëÔŒ;‰§Ü*veRªU¶6ˆ¯r0•àœnàHç: ­b>»o¨tŠŸPº`Õ;êZL¹1d•8ôžêp”0‘ù³Á㿵êÝK¹/™õÂäš-.¥HCÄÈì¸}Ä—ð²9ÎÜë]õ ¬Ý *Òöî$K§²§¤·—qÆp§mÈÊ)VFÐvä’ySõ›kÕ/öb*Ô ¡N¦¤Ž·T³µ§”‚žÛä›TTN@ÉÐYζPºzeÞû>§A”ê›n¡K’Âä)E]Å-õ6€¥”•…pI;H>tK'¬*ëÅÓITšfè][è\ LXëéEnÙ¿">…pRëŸOBÀQ!M$)Ih?.åØã@aÕ+B5×@¯R,ÙënjªˆœÉ𤥍ñÒ½ªC­¡[µ%Å¥¬§q Û[v÷Q-ºûh¢Ìš#Ô©¥ø‹¦N°;A C®…8CEs’Gƒ¡y}D¤uªýt]Qœ¤­˜ñ”ÝKnCu'†åµ!nwR¤ìXÊ èÖå¯[W2¥Ð-öé©d·ëêU3.J—üÅÐÛ‰pá(IÆÜ'$dè:¯©uøpªTv)KžåU•;&Lãµ,%*ÊÒ±¸¢v´çžtÈè·¨Ž‰]ÔÛrϬÙðÕ»Ne¬‡Y[È2q}ǃ'.?ž Jp9ÏŒh"וHèëÑ.8Võd½PD¤j§²¨K@o°âÒ#ÆBxÚž|èQÚ/Oº=&‡X±Ó6b#S!ËŠ”•!ó¸¡ ÁgqI!XãA§mY ÌùVµ¡"B =˜ª¤|w#´ëÎ%Å¥ É.) ÚAY) p»è—Z#tỦ÷UÍrÀ——R[Ô®ã«[å}×HSd$Î|cU6 ~­uUïXWRaF›5g)%ùT”¥Õ)Ç\‹¼+¬†â[GÆ€ï8W5ûr ¥É²¾¡èŽE9§¹ëœ%=¢ÙY%NmYqXàçA>¦Ž»VgÖ:åÓ/ÆY R¢×|¦ Â²­‡¸á9XOJŒƒÎ”Ó=(Ût{‰Ù]7»Ÿ†Ä¢¤[wRŒ„vÖÙÜ’FA ÁËÙäœ+`…ëBë¨Þ5{%B$Z”GÛSQÖÊ»®- Y$¨å(ÿ-.Óê=ÐÜXj–íF¿´D¤Fq3l)náÇR„à…€r ôã©75ÛÓù(²eA©S%E–Ê\†ÏÓ!xܧ}§cƒ‘‘»9mt˪–­Ëj¿|âýM—ñ. jên:P¬'ÞÀIQOÎ01ã:šõ™ú=} 8§h•'»Í©¢•8Úu#(Û€‚@_œãã@FÍ«M¨Ü‘.A“_’óiwèjýS •Žß¹Ch'IÎ>ß%·?O.zJ©S©0Ù†–šÌ‰R)ŽÚUÊ×Ô«¸R•e+—)œe”[ׯD+&õ ÒœX}× Ç…1cËÁ Þ2 =ÉJ‰?—Nz¿ªOö¡’›º·M TšY…L­Ï¤©$(øhà “ò4ʪÛÓèáuš2£±,€Âc†×ûP„å È;—““÷ÔÈ5 15ú•aÕaÜ @5öÀHI.ì%(÷Œ)*$üy9ÒÆeÎÕ¥9›óH®Í‡¶¤%Æåí(K$„äòœƒÏÕÔ:-æ©A~—63î4èiÆÑ+¸ìT„ ¡ Õ)@äíö‚|Ÿ i!ËŠñ~R-^¡NíÍ}­¬;Û-)iRU“»Ü2Ý€#ƯçPï»]üI¹bC§ºüçÀYyNnÓòv¨‘óàhBE)ªâŽG¯Ô¤´ª‹*©¥0›lþLC’}«(H¥Àr#P¬»šäMypmëz &·Ñ.5É)e#å.%´¶v Œn+ÁÇAÔnzJ(º.E®¡´µMuÒ¥6Ÿåì 8¤ †âH>|“¡¶lÊV-™—´{r ôuMA5%¡A8i[²¦óµÄ‚0…¤‚8'AQ.뎩1÷/ºƒPfRŒÉìSÔ–äF)¤ºÊ–v‚RáR~ÄàZKz£>E¦ªÃr©•6›’”@Ž¥á@Áþ^0JHŽJ¼h,ÿ»íšúnªuy §±LK?AøpurZ Q•!CqIRÀÆì «z·aÄ> ¾œU+O>êLˆ}’â\(JTÚˆ*!D«p$ãC—œkz÷¯™«–LD-[¥Æ>C •¶¥ J 8ÈÜr2ée›H ^Ò­;Õ×[’ó³Pœ”[›ZZÔBˆÎI ÉÀ:êŸEi—‚ê *˜·'GT6ÊÓ¾;AA%o¶€V’R çV”ë>v¢› Šu52)¬‰«jŸ8 È)WAIðp¼`¨`n׋–å›Ò˜OY7MÙ rdïm¨´RZvki8/¼Ò’y{aÌ+ìyÒ¾«SµoPå6%.³ úlåÊ£"•LCí¼— ÚË G!C åyÉ Ûàèè‡P°áŒ-Û^¿D H’§•oÀ‹õ ¥¤òe2╱Jp,%(É ß#V¶E×éj¤©Wѱ\¡Öœm¶™¸Ü£¼Òî«r’–ö ¨@A 9Ò×êthìÔ-KÒî\9u)£ªÄ}”HHplx¸°l$¡-g <“=Ž÷Q.Èë¥\ðy¥"3pî†xî QÜá*󀓠9¢]è•ɇ«uZ,ø³~Tªƒ @u ®;‰F7¸H3å»Ó˦LîŸ -Ï!M½îrDʃҘyÕ(­4µ„ûÔ8(hPãH*e~nO¨ZXvT+«¨Ç‹äÓSPi ¹‘…¶žTÞç6„¢OŒPÄ©×ì·ê bÙ™©8ì(°t¥–U-.,7ÊœÈw¶•( §b¼dƒì›Ô».R/Ê“Tú…2dÇš©Ç¦%j,”öÖJ[Rw—œ¬ çv¼M®ÚµŠõ¥kΧK’Ë©dKf®–ž„Û‹HIP9+*ZùNG Ïé©¶çW¢ªx¶Ý¸M·P¨ÒÔšûM~8u¤©°¤ïPR“Œo9àã’:ßÒÕ%4»¹¨1ÿÆQž(Í(Ç‘€“Ü#Øç´`©^Ò¢‘Œè4u¥W·™’¹5¶ìU¥ö¤Ó`Ët©â¬$w¬ 8H A +R­rZí¹MŒšó[§~$Éx°¥ÜmÄ -ÒBPêF@R±¬YÔ¨+.²*Õ[F©R†d;*µ Ÿ™ÍŽØðAØ¥mat:Ï®Pì¦m–kVå9L}-F‹-ÖeHCn)ÖÚt,­'´•:ASx@'’IíÓe_t>[ _¨°Z¦Ïî$҈ņy XCd¶¥8¥-!g Ù‚AÖ×O ~œ[Õ´ÕB 2•¾šŠèÂM=ï¦[jB€RŸüêFV¥yöñŸ÷þVüÓR‘Ñ®¬ÓÜ£×éM.s2Þyo÷‚™ -jÚHJ™€¥ çA‡îª}ëVb‘E¦Î„J_B;t„HMeŒ$?—cî[ ÀJ÷ÍF\WjT…6⃠¥ ª í©¥)*ÁðHkѽ?ÐúwÔ*dx]^¶z}oYuD¿EiØ3! SŠ\à¶Ò¬¸ÀRP³µ8Hƹ¹G´zµSŠ-:ûÍF>R˜Ô¤E+cz”ßykî ”öÃj%cr²28]:!Ò®™¢z‘º‘Q™¶çâ6¥FÕi÷¤¥*id²§‚’² Q$·AÆËôÿé#§=O]ýHé]^åYŒöûžVji˜!õ¶eÕ)(¶‡7ð»ÜFŠ.~°Ð¤]ñª×,ºÇ}Þä„誗ÕÚ.¸õ;‹Ò]ÑLAyq)ô›Ê¡ ⥭±!hi+R[>ÇÏÎAðƒ]XRj緖Ň_¤ÓàµMrU¿%éÈŸ¦­À–w´¥6T—´Éü¥:gĨ^öµ=«BšT—çÈŒ§£Hí"e!½é*JîX>ðU»¹î8k:zc3­imQzÐ ¤Ú[ÅHqÊR”ûJi P!h m%+l,'%¢Û2Í>2£"dƒ!5';N5Û.¥gݪÞv±ÎH§¨[ôUÕ*.Ø5ÉrØ›%¿ªC(î)Ož.…6Ž‚’”dN5~“-ÚnMÍvÑ•E—d6å(îLéRC‡¼¢74S³j’´’V¢1œ!êuJÛ*…jÔúmNrœÜ…9NþBÛ8ml÷J‰áGo´s´äž5­>곺ýÞ±)_SUaˆ3¾©0XD7‡q’…$,·¿”%@s…YR­9F—áè}µJnDO ‚äû§êE=„îúb!HJ÷§zÁ*PY:ôµJ‹Ef±@±é°¤>ÝZ”ÕHÈúé ZÔr9ðÇ%yäøóBó³mëñêD:ÏÑD´¸µH?^ëâLl¥jZvÛ¨>ßjÈA?¶©¨þd]”aôB±":’ªT8Õ—Z”¦Ôæô(¤¨xmABŽÔžFx·³îë²bœ×O­êdsžSò¤Ò»øyIÄ%N $û÷(“íå8Ƙ—}^[«üv±Q§;K€˜­IÎR²[ìa#qVFÜà'äº`ªÝP·6ôXÁèm;D¶¥âÈ(Yn/ºRT{Øe*W/tzÕ¦ÒIélY‰‹n&UI d(ùÀ2´å öÐNÜ+W0:•gÝÝþ¤Qè.)æ§)o—î aµ4¯è 2æÔ6¤ïÆIÒÔ5ÿIµ Teuå®Ä¢LØÄ™d77k›77¸–÷)ݼ)#Ac{t—¡3)*GN©Ó+³B^f ôÁ+ !.%`’Aüù'*ΑÕîØö­AÆgÖ6Y‡áD­¾R÷éKªw ñ•6rH›×:÷áu»V“Q·+²ª%Ê`B)ÒÝ,¦ „%¦[QK¤”JyIàã‹î”Y÷,.-šÃ”¤Wža&L“Ù}Ù()@Hq @.@Î<¤-«fÞ@©[víëP‡MžÊ؇)¹ˆ—ôà¥ÍÍnS›ö…“œOœik/¢Vk4—ê”ûò5ItÒAeJ ¹4+**HZTx#ÁÎw u¦o~–33©r-ûRÓŠº¾Ò›+¤Ô·ìê¸ùBÀRò’¸á8ÎNBokbˆ¹±[®GŸQiØŠm+©¹¹ œîBT’âHÆyƃ7TºUQºå´ÐÙjdR_úÂÛŒ”‘¹MìÇxÆ ÇVUú9S¤¾ìz=zœ¬4’©‘¤óŠÚ•lIQÊHÈç¶ŸîìêH![H¤Õ\·VjQKÒ)!ä (%h )ÁýC'Ϭ…sõÔV(iUmL]­F 4UÀÂZK!Mà ­µ´8'’ImFέP¤¹2ª…ÃSÛL—œIq`g$IÉ`œ|äëݤµëɤ¹O”ËÏMy1X€&)‘Œ•gsj*ÁÁÉQÆ<èâižªãsÞqé…¤¶û ZŠ O³#„¨prxã_²ØüU"”ôÃvLˆÎ"šV{!IJBJvr ‰À àg@7SèE÷@®0ÅYê5»KJD¦Ù”ª ZPBÂI œ€ €çžuÝþŸZQ^ü-šË•G@i¨è út, ÎoqG)Û)ç®/ŠTJê¬ýRª® ¨En[A­„æÿy*Nâ1Nu_F·$_o7êf¾ühÉ’_cêð”’@Ïp‚BF ÇÇ ;ªÒ¶¬wÄàÓÔ ]~-9kXl‚S´Œ©J>ï¥n}N›q!S(©’̵;©î¤/³‚„…¸R?¯#O«¢Ý¿âA]Y³ãR¥G^!Ç—d÷È!D’IÉÛ€0<ð-þ˜õµzG£»c»G)—º}Vk h({Aî|àž8ÏÆ€.Mj´x»„d¥˜n——Ù+RTp„ð¢3“óÆ4]R¥E¥Ac9÷ã¾ADè‰m‡ $|dœq2lä?!ú”GÜÕ¢p§¨<¢=¥ÀÙ$$’·ß]mFîzCîº[…S°ý6Ô´¥w¿©A*9PVÕ{¸‘Æ‚ÞÂè<ùVmBò ]K’ŸÃBéN[t<8êÊŠ〠ç Poõ?bWÖÝ—ü­O¼ík-s]¦Ä/ÔZ›1œ=ÌR„8æÔ‚´¸y#…|2º%ÔªMúê=J£OyÔ[nYÅÇ}j*BÈŒJ›ZT…€œœû†BuûèíïtH©×(Õyí3 n&Rªtä!]–ˆ>Ò‡')Ÿ# Ÿªˆµ«×h—U2+,Ö !¸N6= Â7c¼ B¤”œ’?¾ª( "‚ô§¬Y5¨T6Dp¯Ä&¢SòyϹÕ{wdýñkÉé?Jz‹K¨¸»eh«³2†âË2H!M«r¸9ÀÏ8ÐÕ?¡Wb,j…èݯ5ºL.ûðÛš†œaÝÉ ¾æ ´€8ø9ÐK©^Õèô¯:mA©¶ôY¨k¾×kÚñ<Ú‚}ÉleBS£ç#]“dË»mö­»’â/D¢4óŠïAKn2Û­w³»r|¨S9Õ'Tj6ò‡Yéýn¥_¨Èoµ2•Y‚çò¤gå×q¼ûw g`kñtÙô(˹î rhaM;:žúU—Üe „8Ù`ã$h §¢¿X^èW©*£Xe‰1ÅVLTNÚqµ–в״ø #îr?-V—â‹ÑŽ©\JµjCrêiå·æ4ØPm¶ÙÞúƒ›}ÉÇç*Üpþ¸žéÝý$Zî[ª Ã¨Ü©µøjÖˆ¯ mZx #ÏÆ3£K‡§þž©V‹}*¸/+± Õ8óۯ̗Yy ;R3´ +ÝŒíà<ô¾]ãÔZFÔ©^q¤&gÓ-º½%Ô´ÃeIBÒ´!@•‘íÁÇ9ãLšÍ…Ò I ³rÒ"W“SqLÚYL> ©n6‚Jp”¬sÎ8Ò&ÎèEvÛj5Ën³.ŸM*˜ÒknºªÈÜJ\O„”¤ )±· çœѺ[H¹®Y‘/K¢»"—R}]øò©i‹!™}°Tc©[RèmD#pÜ<žÐv:ôæ÷PX§Ðhµ›#êêI0Q (\YO¥;ŠÓ )²R9ÛíÆìòFˆ¬Ë¢¯H»eøitÊì‰gÐÍT½ H i¢±‘¹{üãpY$ õ6™VŸx[öÍ•uÖÜŒiªn¼Ý¬ h!ßµ{;hKˆIV¥(’®8ÛT^X£Æ~‹:Kª+Â]Jƒm´ wŸVà Q;K[Šr‘¸ð:ŠÜ m:YU6áz]el4‰4ê[änJP¡’F HÆJ‡Œu#¨ Ó*À‡þ}†k¢¢L©F ¶Râái[VyPàg‘¯Už£4Í$¢ZÒܬUT«¼ätEJP”¶ðZr³íR@ÿ°vƒ/f"ÓTªlúÕV+%"âÁÄÊqíK™;ÒI$àüè.¬j­×ÓÛ’›WìÊ-"àa%s©lý–šÙîR”·x(mRRG´£'WuÉÔª]&]çwÝŽþ%q}LTÓªtO­y¶Ü@F̧ÿάaÁá<ñ«›&Åè—Xl_¶®š›÷&™/ê Äú™ÎûT’· ŠÊ;hm(Þ@)$’æ*÷¹…9ëyòí¼ÒTi He·£%±îÈ Q!+!!G…r4¥mrÖ‰@‹gRcO¨Ò~CСº^n(AÊ0rµ¸« ¤Ÿ¸Õ§N)k^H¶º‹s¦·Ýü™.¾Ò”‚J[x9ÂBIÀWFàÁКõ>—JÝstú¢—êM‰”é螇Sïu$ ’2I$$ääãMxw+Õ8ÞbÏMii%ªÂÚg°ÀIK¡-ð(¬AÇÁ ";gI©Õ—6‡ÔIöã»"Tt/rTJB”•#‚Tq…£œó¥¥nÆõÅešÌª{R«¥×cÔ†ˆÍGŽœÒ’ž¥³rHÏß<éånõBãéÏOª‹šÈ‰W:3LȘô„¡ I8šXÊŠŠ €h€ ‚N€úEyªê¨Ëµ-éTÊTšz-Mç\–÷¤r”{n¤(’RT¬¤ùgiÝÖõÕuFéRº]f7NU%IÄèÎ:°”…°ãjH8;’>±“%ýU N›]T µ÷ÐXÓíùTšªb&ŠÔµª4Ò’§é ÊBPB}¹Ús5ª=V¤Y·¬é×'¤åÕeÃeÈñÅ9Õži²¤È[ŠØã!*iù#Q½HSëÖ„ÎŽu/¥•¦›jJåÔê¿\×ÕKXwkI[ÊRA%M¨§ÒC>ôªûªZ]B“cz—´ä´Ø¯<År­Tr‡$µ´6Ø; d‡O Û…'<€Skõ?ªT«±þ±t)¤Ëa¹IT~M=Å#꜃IZˆÀ…'ÝãàŒiÉ u2ѧŪS^³#¹KL¹¹“Ü)Ü ˆÎÔžÓÎN@ÒÔ7EzÝéùç-š:Ìê;ÓÜ™§Hu]éo« -íI!G O½ àh5÷Lú•nu®Ö6}éE¿)/Ëzdöi¶!%Ï2]x¬«fÿjB€pòFAgO.êÍÕ[v£·E¶Ù[­½Ì8óŠ ŽØÚ>w¬ò8IÖô÷ê†í…r;pN¤¦¹Q <–jËaHRºÓiä$ç(W´à¤Žu§lî²]>£,rL¥È§Ï ”Ë’ÄI)ª »hoéò’ƒ…”O“ÎßÕ[ êºjK¬»ß‘G§¶ÇÕ~!¯¨b1PÇikÿˆŸº ;F@5âÉè­V‹ uv”ºó‰¦9Iž€ì3€¢ãÊG(«nÉÁÜ?/ 2å•?¦73MPë’©L? ?J«°ð,-@쌕‚7hÎRÝXß}XžÔxÕ‹k¥5–Ò%"QW­\·9)BVånÈ) ÛÂ“à€•ÔAÊeF[óéìÔ ²âá¦CvÝŠúp¬†ÎÛYÆO¸î5GÕ>™Vo;*MåÓºý5ê¤R‚õ¿µEÖ Ÿs{ˆ%Â7x$䜒1¦E»Õ*UýÔJ—ã–3žr„™Ë½¦!„%)q(p­KJÂ’§1°Œ¤`çDÆ’»v0 Ê¢W \œÑ+Ñâ¥KíŽâ\ ç•…aÔ!?˜89 ËB·WÔQ#«´Êˆ¸ið9uãVY}ج©Y ”¤-ÝŽ9ÎF‚¬î§Á·º¥T]"ýªI ÒÝK°^qÿ§3Ðc:ŸéØÞℌ`„¨s¦•[¬=µï—áÓ(n5½ÉR»ö—v’’ÞVž}‡ÏŒç½‡ÒKJëZª4‰q£ÔKt·)…Fa@òrAÎõ€ÞÒ0xÛÁÐ"º«ÕÊ¿P:“qõ°‰BMa!R)y Æm Cl¤$Òœ§;P2IòuOU»jôdS-še}ÇKíÉ‘ ìBd¥[”…ŸæópÇŒé­Õ¾„]V|ŸÅˆ´ ¢›š)…R™yK*IÞ Š‘ïÙ·#À#UTî—Z“]§–«óœŽÉUaÆ‹ÎÇKÎ ”%Il„¶”Ê*”¬ Ln½\vô9m;[©%3bŸ*+RKÎîÜwáÅà”€¢ F2y²ê[z“Q™"·Q§[mSäÃv:aý2T·‡Y=î €XÜ­Á%K Ð}ù=¹tM£F‡=Ê|ÚxB%ɃN<ÚööÒÀJ”ƒ”¨ƒ‘¸ñ8º)éÓ¦Þ¡oÊwHë7)n¤ä'7r¹5b8Rޏéi)qIY ”Ÿ$æÝÖDšlû:Ó»cÛÀÂR)²‚—!a°”· “µ£¹D£pZHÏŒ šmÃÔj*›‘s*»Rvkf·>#®7 8¢„¶Óåi!9@NÒw¨¥DŽu7«¾…ºßjÔ_TR®Z}<åùe}rÛJ7'¾†Ð7í+$íÛ»ï:¦.]±C™hS&Vi5Ìÿ&EJCÏ€ê [-(ÚŠB–Ñœ©[I: 3ª›º¦õFM˜ÃQœ\‡wW"˜m¬ "b2ñÆ6 ‚’W•*Ëõ ÿ]-A¨ð]eHK¯ÂoÜ­ˆ 9)ÂÔ‚åÁΪ­N¦¢ƒoÉ¥u-¶åÎ¥ÔQøª%ˆ­ÅÚáM…c¸¡ì'ØBIQ?—Uõ·tùÚåFæj(ò¦TÜÓÍ@uJ‡e=–EE$”¥>âP”òt´Ê]Ç^¸¸h”weÁf‚³ §;ao7’·r‚¤¬+ ;BRNìxà.ªju‘ÕÈj»b¸å*ž¨ÏG\·P¶ñ„-YCd+j³ŒûNƹuG¯Sz Êõ+ªô†Ø¦?‡j!…=Ö7`¸;{‹Ø=À޳ÇT-êÙ:¥\r®½‘¥Ña}K’P‰ Ê[xo{Ù% ü¸ÊN Ph+ÿÖEË#«0¯U¿ðí,žÝ,¹4G[È)AYÉXS„©Däedç}Ù]DèßV:yÚ¬^ Õ&;D•´dL¦6Ñ÷¼ÂÒÈÉXRp~lãô¶» ©Õ+^Áêm»T¥®s_º Û¯2*_Hͱdˆ)O€½(Jöë KZÀê¼.˜õ¢-k)Êå*J•$)O© r"B°—ˆ%)ÞÛ¹È #9Q: ÕÕ*ÿ¤Ü6O\iW½V´Â(³Ãí¶žàI)jIB6¥h)(ŽV•dôoÔGI©;–%Ú4yUh«RÜœón‘¼ÓŽ€¥¯Ü–“»xÀW_<­Þ­PíÛÞ-Ê4TP$–×2¬TZz N(’Ën“„e$)^ï#ÊAÑNzéí`F úz©O¹ßŸÜJ0=Ĩ{R\RS‚rÜe)Àò4Î‹× $ø´:“{Ý’ïš‹R(ó3 i 5MSqÆàÉSÍ›¼µò3§7LoK²öú˜v\qH%±ø=QØa/Tl+ «(>Ppðp¬ƒ¬mО±Í¥Pä[ýfC´êÛ Œ´ÔäU˜šhJJ–å@a³´“Ê i™Zõ/£×*¶EêÝzŽÓO2ý* uÆz[o†¶2R 6¸ê²;»J‰Ï ˆ„ßUHÐú‡2·Ý’"¾«–«°ó«FÔe Sj@$a-åYçJ»Ã©u.ž½N²žvôד¹ࡤ­,¶K)O*îfQçY>‹vú¯õ15šg^z-DmèóÛ“K»¨ñݪԣ•­ja_;’TIhŸŽsªºqéîØèk»:ÙÔ)S&TšRî;‘úQ/¡¶Úi- î-•”¤rOé{ m\ý+µªWVï«f[®¸íNCTFAJÊ/x <%\ç#Ôn¹ú¸µ¨„^¡&ƒrIƒ2¦ó ©@ SêˆpÇ$$%ÆÊ”¶Ô<§wüÛHзI}Eúcõ¡côß®Õ#&‹%ÈwsSí5½õ˜QHZ“µ´È_’|A¥[–ÿ§G*UÚ·Oà»C3ËÑê1hˆ‘JÊÛ’„%kZŠÔ„á´#€ƒ¢N€÷¢w ±Öª\9Ð.§é¨¨É“û%Ú_Ó$¥J!IuAn¤¸S•pq¡KæèèüÞ§Um;ÕGGj5úcª5º-Ç 33Ù qhì§zËhZJ’Q€UœŽp²õgñºmu_´n¬Rªe @¹Þ„£×„îi·6²Ø%e)öd$r§²'Ô-f`ÙwµÜåÕtÛT™±Ù¨"Õ” TàZPÔÇ\ÎÒP¸H=z—}»`·@j$:#Ž79§^ªÚ”Ò„Ë€§‚ŠO!Äí9Þ\NI$x×õ{Y]g¯¹HGM'GvºÒÖ·h'£Vw«k‹SIX'~T>Ø$ª¿J}µîzÑMF›Y£³Kœk¾„¡KmÆ’Z ߌ6µ+oæÔëæ›[èÕ^zº Ô˜æ0‡Ù«Ñ.¨§ºúB”—ÉIKÉXYÂSµACi|è'õ2ߪ×f¸›þå¿­z‹/¥Kˆ+HŒ¦ZO:ÒÒ—V”)d{‰$dò/Ô^‘u6ö¶ صޯМ¦1=nG‚åHTêZ°\iýŽ¥ %@¹îN\ xÁÀÅ{ÕݹM«©‹þ ™/Ô¥vfKr”üSßàÉS‹!-„,”º£Â’P9Ô O¬}ZO¥uuMÇâ¹%žê%}È`:ÃN€¥¨¥k))'h Rw!µéRÕ£S~Wº‘Ô–£Ò²˜è•p¢²ê’”©›ùjHÆÂp‚vügGö]ZÛ¸º|ñ\™P(U*0¢F©?1¦ÆÑÛ¥oíøJ±ŒáÚƒaÛ^ž™éüÞ–ÐïyRâÈS,H–ª‚Úf¤Ë‹ 2R_Ví™)NáùŠI)ȱ_MýTF¿hUû¬TµAäÁ¥Ju¨+“ ($6ãI`S€”6¢}£äó¸,î?V= šãòš¾í¸²´-™Tvûa/„”–ŠIQ)Q<ðtêªXöE¡.×¶/…vŒS*–ݾëÓ*,¨äÎY'pS…À’¯œàcƒ­Vœ.°\mÓaHŸKž©1ÝtSbÆCÑr\̵°¦ÔØPW´© ¬xÆpcÛ,Ú×TꚺÄfeHCóÚ’ëòJ]ii­í-*[ƒqPgڡ྅uBàƒoRú›·S¦NŒµª[¬:„ÿ‚Ëo)°° S”¶€O¹eGÁe™yĸºÉÉc­&U*c.:(FÞî>ËA;‚ è!ÇB“¸€Vp’1´gG·G:wÔº–UÃE§HƒÑRBà8^Bö6‰./ Jù!# 'É ’\vÓólûÃ-¸Ûo·jÖáÔ^RéK;]p!*C{û‹ÊÖHNœíÐ{ê„zõ—x.£aÏ²î œF׈2ÇÔö…wcä:P“½  ,z¿ÒkÛ«²a_¸…Ur—ºœš+èj3n²ÞÒ²È[; YAwb‰)Ú¢v§.Zo§*ßZ©0n+‚Á6²Ì–&RfÕ‹!ÕqüÇ]í¬©¥( ûP¢}ƒÎHÕ¿PlÊ5Ð,«y´¼ôTZó“Ö¨îºï ¥qMî)9Éþ³Œ‚†Ä_Q잘Ö+Vœ8·dƒPŽ–¦ÑdSÛ˜ë(Ú•'kÛRÜù äcA=hzú¨Ò>ªï¶_‚–g:¸rªÑmNç$8×i ܤlm9SÛøã%ó_¬P(®ZtëZ7âêa Õd_õÛ‰¸nCh”PH.ä-!AjVUß½r¦uŽÌ]°mákÝÖìèÍ)-IŒZp) ¼·ZqKRÓÀÁñÊp¬h´Ê‡VW^a¸ôz» ‰Odè©“½³îK‰^Sµ!'ÉÁOœjçªÓéÖ%ÉT¶h×Ï]bR˜ˆ…? —ÑÝqĨ¶§vî ' Iä£áŸXºãI„‰•šCªuJ–àÈK²Zjo VÔþ\23¡k“¡]f½Uzõ—pÌ¢RÊŒÕÎ’XÞ¥¨¨ð‡ó Ü'?kOuLºŸh2ÕÁ¡eUà:LyöýtƒPuI J'!ä$ò¥åjO#8C«è-"ma,R+L\ áiˆÉ¹Ýßj.°•)'p Æô”óS¹h4ku¦§ÑgÆŽ¨ì8ÔwÔÓn ‰>ÒIÁN˜ö¼n‹=BB\”õڎ䦙WÊW!IÁJÈ|$¤%jÛ´rJµKÒM2¶QQµn(‡^q×a å @I;оJTG9x{Cª½jñ¥*“hЩӔª£ò+_îSJÐ…(%]ܧž %CÆ#z„«YA-@³z­· T>¶$YT°™Õ+ù½©Hq-¥!9 î Ε×ÏK¯»ÐMó[²hò¾† c­Tæ•´8,+ܲ¢0UµYÝç΀ï*©&£ôVÝ:ùm§¿„8áW¹Æ“Ê“·€ ãA¤©ô^E° uBä½kU9?NcQ­1r»Uµ, 8âJ½ûH'ù‰ÉHä'@·½FüéÉ-ÊÅQÆU ª|µd‚½‡`ÑíQÏ´iàj_Eš†¸k¡Þë?†H;N• ÐËò`­ç Z”qáÿ?ƒ(¶ô³ç[1ºwPÚûj‹>S)lG)XB‚_îrâ”Sµ®AààaXu.×êßX*b@«Õj1KOËj“0>û­mH+KkQÞ„’28ãÆžVX~¢tN”Þ jy¸©Ub°¹Ž²²æ{î!*IJÎÐ’¤¸À«Útž•^Ê•rçˆÝkëVáœÛËaÔ2—Á*AJA(IO$Ÿ\ÜôÚ¥f‘ÒZê.coÈ‚ÃQÖâ¢îËŠ[€©xW$’®æÐVWº5:·0Ñ*ï‡ë,;!Ø•3WÚ”â½R³…'ß:Åýhè:¤K½zkT©J¶¡-jÌØ¥ré îõ)öA'Ügr&Ùþ®­Ë§´ê?N®Vèw"ç±M¤ÁЍÈB•”++ƒÞÚw(¤‚¯;t¢®ÕÛÓ;yú_IfÐiÁ"¢t^ó³Üh¥I@q Ép¤ä¥IƨÿÚ-ÑkßÕI¶åÒ‘sVÖÐ0æMÍJ›KÈŽœŒ4ÔBP@Æ9ÜN¨ë×ÏQ,Û5Tž¡RÛblØŠq™“–Rd6=ŽºPKÎ¥r7mÎ8 ¬®ðºí—)õil®[´Òâ/”ÒŸØ”0—Ðw)ÒÙÚ‚v¨í9WJï:%}¶)}I´¤×ÓP@yÁE};~¡Ââ]@JÆÞ88'õÕ/Pâzz‹xΡZÎSèQPÈš¨-M% ØJ»\œ-9†UŒÚÕ¹½QÈ0«Ò鬶äšÄçá8Ò[C+K?P–{¤„ì#Þ¢p8ÉöoPèµ½V¸.Êu6D V3[ÒjÙ/½ÞZša% ![¢2€Îü+À$èôE CL^Ö,öhñ‡nMy‰(i²(J^+O¹KØÊI$ã9jÂyrÑqÚµš”*“[Xe J-¡),=îÙìÁÞç*Ü¥8Ô©½FWR,ãy3ÔÊ|juÕ´õ­ ¾¦£Éaµ‡Ò¾Ù*Ú ÚÈAJI 'CWRZël õÑ}Þ´Õ#®dšŒWÒÔeµ „7€r§…mN…`xÐqwÓ}q&cèœë•¹Êqžød»ãxHB)%E!!Dc9× ¿¡w ;8ʶzs2¹õÍöfUâÉJ!a@! ü½°žIÎÇÜé›Ò›þy[ñiI•%B¥jL7Ùn )jQiÁîZÉ ä€8öó‚´è Ȇ™W´Vªm6 V….;(HQRc´1ÂÔÚ°r£•Œs“ ÏþŸ­Û‹¡·Œ+òx.Ÿ=Çe¶¶…iÄ…G)-8Ü”i#vü)*ÎÞ4µëå¶jWŒ³‰U‰U7å6©S}ç7û•½,4v£ QQ …pxV@Ö±fî´éµ™(ªt½Ù´ÊÄã%¹ R[†Û)E Œ°ç¼)@…w–1œ‚çU4.™_=Df5ßtÞ4]::\”¥»5¹á¶È.%§°RÛIX@ÆÔ¯û‚ƒ6£˻(Í[ýAŠªT¨¬—ª ‚®ÚßB±ïQÚ¤¬` òn|èC©¡Õé­A¢]m¿L~J¾Ž—Ulcm ¹)@䫸@ çÁXòÞ†dÄc½õ´´”—Ø¢Fä¨ã¬ö:bY>§o.¢Í….ñ¸ßkèâ. fW%L7ôit–Â’Ÿ)BĨÜxÉUÑ_¢Nê×lú´DÑÝ–KI@' ;SžHÉ>F9Ñuˆ¹× ¥ÛêC5%RiÝÄSd®*¡6áÉP.¨ }Å`¨$€V>Ú½.*T:|ZEªÍHfquªËòD‡d²XBû[R‘•nQ;ÁQƘ]+õ7aÓlèÏõÇ¥íWiˆS± )QüAmw b¦ÔâC‰CŠîpûí ÛzsZ•‹v}¨÷#±IüE¦åÿ¸ÉII ÷JÎæÙO¸{w•|Œ£+½&ܨ)î¥UÒ¶…/³ƒ b媦\ v!¾RÂV·z¸@$¥@¤ÍéO¡1O"Û£VÚmºb*Ü©R• #/¯rK‰ô)vÆr0<ô¼t{ªÇ 5ÖºÁŸ"bú ’–âšmÆSµ 8ÛjǼ!8 R†ÝÄ+ þ³ºˆÅ°Õ»et‚ ƒH£CQ™O©JZcJy—÷ÃŒ§‰=çVŒ/<’•'ò+i“•ÚÍÍrÜÕ;{Õ NÒ¹Q=rOL.*»3V§©a"K±ÊÞR¦•ÙPRRr•¤áiK“Ó»ª•ÒŽ½Í¢QéÌHú¸Vý¥ÙìL–šm u¡§B7÷Vã nÜ ”äħÆëßDêµ¾¬ô†E»DŒíIéα(}eB+i)ÞC»½ÙSeI ) lNÜ'A¬='tf`Öëôßð N¬Ýi£,Ñî!YJÔ·šZ.ª:[^î¡)HNU‚4UlúÝô7wÖ`zy¼+Ô{¦tëÖ¥÷éo¶c**•±ùJ)K]àñl pá+ÝÆ gÓVõ•BÕ§J«U.ˆr‰•sÒØ"SÉÕµe?ÊACDÉI+Á'Gý*ê]›P«¨×ú@!Öá@qtzJT&Èmõ!J‘+S'qmd¼âÔµ¤¤|è;úøëMO¤5hÊtû—ùûj1*Lnv. ÿyˆÜ„$¡á] 3œebz¡@³F®¢?£oñË’‘ õ*ªòÖP¤:J‚wûV¤ðœãóÕ5¥}z‡êvó¼ªqéÕêõB;vÔ(0d‡V†”ˆès¸A!9QH(PVå{†¤Ü=õ`Û6ýÛ²¨Â£"[SŠšˆ®ÓT•¤­N—¥í*'Twp#@ÔéŸY+³¤Ä·èkTØõ;UDéíNi”n?Nà ©j à«€”íù:¯õž/«W¦Ü .“橳u2²à‹„3Ý1¤%ýûÖ}®$c%%>áîN©íˆ]¼iÓ­+¥ˆtÊí:2^¦ÜTö[,ûKˆa0“•’7\ÏÊÉ Ó×½Yý?êô*Ub¡ <¶Óô±1Ee§P¥w²ØJ”s¸©8ùÎpí¿Y>¡U7¤—Lߥe.T!Ô*·2Ñ)|4Ì"êÒP–Û J‰ÞO¸­Yå…YôãE¿-ÕƒTª…Ò¡D[Qi¶$K§8€”¥ÝÉAl•(mP(J† ΔÕ^•W²ª=4½.ùµF ÅË”ìxM©È! öºUÈR½…)Fáœã\­[[­¾Ÿ(0ú‰:jÙ¦EŒ‡hÐX[ÍÀ}n•!‡À ©àw¶¬ Î4;£ôOM±a›’¿oÕMN}u(ª²iγ4²Ó¹QQ=ßbŽJ†± 8†¯eý}ÉTgðºÒé°cW\•Š3AµÎBšÚÒGy $!)RB³ÈY›¥UoQÝT®Í´º¥|O§=Q j•ɨB mI܆Ûl—PFV„ìÚ~4Àè7§kÒÀ­Æ¨u¨ªìZT&U ¹T¨©ñ˜¹BãÜØ”„€B$yÚ}]p"µëëÏÝ[ö_«ÏªÜÍX…¸(—Ùo´íZÆà¡ƒ¹$ G¯¢¡v7Iè<¯ªJc7øB€ ÙgyØãDùçÜT³Ÿx8Ón©/Ëjå¸êPÌH0$µNbß§ýL×c¥æÔ…„0€”ò=‡$üÚõs§×e¾Õ.â°:Ø‚ˆ±Íré„XzmGwµ¨Î%Õ/zÔ¤¥I°ž À¡´ú%Ϫ£=×M¯”.Kô#j6Z—-Mä }ª H( µDdƱúÖ+άP.P”΢8íV<ÊmU@º<Û@¡´¼²R¶$‘ÈHäžuÚÆUõÕM»©¶ÂݹܢÉ\)Õ”À‘&Z]’•Æeö‘µ(Ø!-;Î윌ñ«ÛZø¸…ðÇMë]N·­¶•¼@£1o4ÓŽÊ Ú¶[ BRá…µJÉQÀ zuHªRohýA»hóm[quÔÈ^‹S“Ox+¼·[c´ê™.†ÖPÒÂÎà2¼£ÖV.˜h µøe|*äæ(k4W @‡cc/6¶Û=µ¼„6§ú€R}ÃI_Òïz©—éÁXò¨Ì?P•ñªG†ˆèܤ ˆY Qu J0 9;õžkVmíN¯]÷çT¬:¥¿åªmN¯D•}0ÔPJTÓ%Åv*IÂ’P¢Sœðj]eê»Wƒ´zM­J™"[-´åËÔ½*´–YRÜe2¥´†–‚0v…)¡”„«Õž“ôBõq¶*~$VW: ÜfUC¨ šp-¤´‡€…­¢•ŒvÆàPöѳ5+;«-ªíìÒÑO‘Ú½ñØÓd²—ÐØBŠÑC8+‚”í J“”‚틪մh¯ØõkKüY20ü5Q(*dµ"žÐÚ¹ÊÜÛ@äV0Aòu¡@®Ø=©@‘ÑÚ}VÚ‚¨Â—oT\‘‚VÕ8ÓkAw¸JT°2âNМä赫«*ª±pPúSG² ‰©;kwªPûëí4“ 2â‹ 7ü°Pðv„àò±}Oôß­h’Ý:¯.„[¨³¢½É -E¤2úƒm­Ïn䥱‘ù‡˜—õõA¿+ŽôúÜB¦Æv[Ñï)B±ÒÓjYu3K¨ZÔV… Bwà)îZCÕi$uSü 9Þò$[ÔögGŠÆ\}ý°Œ-Ò6)N)' „§Žqju©¶³4K l(ô‰.© VÚul!$¶”¤n‚–¥‚[I Òä…韤·EsªTèÔhM·¹ž¡Å­”•­éi`8£Ú Ú•)C¸“·“ÊZÄõ3~Ô¢\·ë]CiT†[TxtÛ^"ÞQJÂÔ£Üî)EMá!)Áܤ«IÈ7¨4+Ô²cU)Uú%J¥EDˆ•jü¦¢2Ãà": iSŽ€ç'úw`‘ ž¡;Ò‹²Ë|tâê“Z§®:”ÔË ’%`IYjJP¤¤„ I&z±Ô«šen‘A¸[üA÷ªE÷¦3 ë$·”/±%-­1ÐãE*NR‚Bv’~Þ«Ý`¼kÖêLJªÌ‡Xƒj8ˆmpÑ\wœ|·¸>”„£! KŠq!øïIúb¥M¥Ø wˆîShOwÄe8¿ª””¸8)$©?›-lË!ÛëªOYmõ ꣴ‚Ëöf>ª‚*ï C¶Ô2–P²P’FЮqâà«Yö'NdÙµ‰“Y—=¶&–I''äU~¯©ÚÓ×&ŽjÉ&jö´T}ÙJNÝÙ;° äœhm^—õ˜ãuçC"K+n’åSj7 Ú‚‹JZIIÊrØÑ:¿jôžÄ‹KªÑp+oÕEEFoÔ¢BG³¸Nä䤔¤ $g>s¬óÓ.­Ùw3¬Jµ±*£)n3*”¨ó~œÄ(8q#‚¤¤Hƒ»?%ö]nɰŒŠWQ-÷k Ô¢­ª4¶&aIFæÐBWîVõd2¡´€kØÝJèÅãXrGT:y:’ÜDƧ¨Ê#û’¬¨e¤€}ªÊ@>8Æ›©®t2S.ÜêLXQÖ®ÇÓÑdnŠá(B[| Ä)jJ€ÈÎ|kVœ£Á¸µ)u“mAJاՠÀQþ` JŠUàöhêÊ· È Ó_«©·¥8–hóW‘* Ï¹Ä°Æ ƃLRªk«þ/U½)îÖ-q ©)—§n÷ÉØ” Ü)BBgÝ2IÔ*xÕoU­Ë†£j±§r$¡U%h›_ekŸ1¥÷2îg)À$€Æu ëf̓9º¬ûf £˜)ë²p²ûèÁ!Òœá[”N✑ atç­>°Ã¥þ7Qf,—jNÝ> „¾“r¶lqDñ)H ‘€£ýÁ¯ž¬ScÞÚ2î:µ: )#êé”ú²w¡A;V†{‰)Îq„¬Àq¯èWíB× ·RrÎ[§T£­‰b6¥¿¡K))ZP•¸§8Èñ® ò%R–Ûp¤‡¨Sd•*\•€Éî`£ò” /hPýrt7m©ô¢<Ûˆ …%†å;4©ô+b–âJ ³‚ààHÆ1«êu_ }Ë5éwÌ—õÔÖŸ6<ª/8Y~>IãÚNÒpN]oËÂÙ¹l¦öä }¦ZDÔÒ!íqN¡cs¥YNÇ»vÄî üãBó:JêUiºÄÑö ¢%Aó¹öSÊ’AÜàÇ ãç@Å ß],·nG QhÕ!ka(a¶\ØB·8µ¡X B}È'ÜNF5ac[–š%K»ëtî.ž§$E¢Ke?G*ÇjK‡]Zöî$nB”p4iš§NâΫÆt„ÃKˆú!=éŠpÈo‚R‘€¥ƒ¯T¤Ý–Ë”yVå¡#$±OÒjM ñB22W´à­Ywmš|‡îÞ¼.ú¹&óÎ;oÅqÖ]DFŠÔ¤¤¬,+¬íÁ ó¥T{yêTI ê9u&jëJÅ]’”:^@÷-·p ¼ƒ…$ùȤ×zÉÓþª[Ë»(­È¤NNƪi3ÙmÚ¢R’Ë@Áy;²G9‘ìéÍj%=›²ÅWÑ*ìF£6ëñ‘Ð¥–JТ’T²Iɰ΀Ëÿ Vnzœ:çOåµJ¨ÀyŠR%ÈRÓåÃûð§„’‘ù”1n+&ƮʷèUàÄ—ª² j˜‹d!q––¤ûÛ_u)GjAX%YÈ¥r×ê&"4Í0Ã~s+y„™'´¦Ð¤a·‘’6¡ÁUÑ Tœ±js:‘s2…mȧ͘#<Û ’…ïB êJ÷ ¤€¡•dh h}‡{Æî©•6!î!ôÄKH‚JwãwqYË„$¨òI$¯ënʤ_ ¸mk§±Bi®*ªô¸L:òg+jЭ…Xþb>IÜ’çT6517¾šæ¯RÓÞ•Se2iÊH-(—BÈVæÔ´¨µcçtæ§J¼ìuªUÃ24y4ä.ý·¥­·þ±Q Co!DÞ PZ[FÓîÀüºP¬‹b·.À¯\5 m1-÷£VŒu*\g6$†nrRæP¬ ÙõÛÑ]á§Ì¿zsvSjÓæv¤6õ ‚ÔÓÛí†{„4£Ê;8QP<«š‹¡ì©õ:q¨T*eir ¥ ZX<¤¨-.ã J@!)8QVIçhágõ!6#ŸKßüB,÷Ô†NÕ·%ÞS”­ vFääþ_ï ]Pýfu/¢Ôæºa×5jÜDíL*mYÓÚŒ†È÷´T­Ê*FRBp8~tÇÔ]~ÛÊeµZƒ ¤Ò™†ÄŸç]’ÚÜ q v RÊÎ|è*åéÓwÅ6¿M»èÍTãCK¬!UVÐó°ÊFØéB‰p'$öÏ'cNÏô¹Ôkn¢ÍO£HzJZœÕVGmæÐ‘î1Ý^À”–Ôx?ß!µ.{Fm©«t]÷2N¨ÆPvÀ²Û’$!ć »g·µ8$$p>s¡ uKµH4zéX¦Æ®ÓTjíêAuš‹MT…Il$„…îY8ã:J¿ªõ1WßG¸k ©Æ§¹OšÏe¯È§;Ž/ C|'„ìÊTsài‰Q¨=gQ ÐdÞô•9*WsoÉm2 ‡ò¹ZS·íW$(h z9X½l+ΕjH1~;j…Pa¦Ál+Ô¡@•s3»ÕDÞ¦\7å×Þé¬8m ëE@Ò)Và ˆ[›w¼ {Lh¤ž£¤´j2zG´ô=Á‡Ü¬K/S9B™ØS‡R±ïY)à'#Át~¥ÑïKj :Õ¤¼´}E.%j,î6¥¬¡Õ%)l©c¹œprt½)êµ½95 ý9²éU(ÝÙ^Šë —ìJD‚µ{~ )Å/Ú¢ƒ÷:$³Ü¶®K°H¦õB£j&²šM6bP–8_ajZðÞW¸‚GGÆ“·%Û^­W˜Djêqø¬¼™)Ëh­¢…•…,€FÑ»b€ ‘Ÿhò›N4&è·W¨js\Œ·hô»’*cAc2@%HÞÚ’¥mR‘¼œ  x]»¾ü§»\³ëË’ôh/ G‘ÉQ£)¤CU¹Æ‰*«“ƒ¥µ6áyèõ+ÞîzLz¼ˆ­¦žÿá›;í¯€†HNß*å@Ÿ·!¿R/ŠÄ ¯Åhôå²³õ´hN"/{…))!Ĩ¶2y ØÈÃe6êľ«B³Uzæòu2Qµ0ê‹xIH>ÄPÜp=§Ê± W§˜õ%®¶šôê•: „¢™;ǺYRHuÆÂP?™î$”cœUÁ I¶çA£Ù2ÒµÉmKt•!a(^¹ÁpxV2•cÇŒ‹]mºúxÄû¨{”·gªD˜â“R›Ü—šd(ÜQWo¸¬¬„äè6—UƒÕŠÜŠFë¨ÒcT]h8y¦Ñ€• À¥!HÞB”<|è mGÕG‡—& ™"4¤Æ’ì–”ëëo¸v¾â² ò7`+Àç$ékêW¥Òo«b­mÚcT–ªƒ¡5·Ö\.4½Ù,´ðKŒŸÊ½¡[HÝÆyÑ5&«•Cy„¿3µLGû»u™õHB–¤ÈR“·.’•'Î00puÂ'Píûyhs§ïÊ©S¦(¿ô¯­]ÎW J•äd'Žr49:mÔíZ”˜÷ U¸¶Ü-'¼ßoéÂ}¹Êx#>Àüç:Uܰ+´ÞõZ RKL¹Žñ–­¥²=¤ÈÉýx:úµ×>‰ô­ì©7N‡CjTw'R[qèeîÐP;U³ ß>u“:Ÿü:z‡ÓêãÌSqR¤G/36‚ûIl¨”¡i ìà`n ž΃2t·Ô-ÿhCnѦ×ÔíñL\ @¸Â]B6íò2‘ÎNµ©ê&É¿ºPÜ:Ä‹~=y3à e%°•$­Äíí„•´”6 AX9ÖN½:o&×­=>Sêb:§Kî1± |£o“‚BxìêENKN,Ê8ËjC,*2 :°ÒÜœ¹·j–°ARpp2tzP•yY(5jµAƒGi)\•JB‚š–Ûi¼rRsŒþSœ§tÊ“R±[‡ÖžõBlFÒVa. ŽÔ—_p«=¦ö¸PBŠ@‚¬øÖh¶½GÆ¿m¸Uºæ7"¸K --oJ”7 ‡j@#p¹#ŒêÞ—ê&“>×fÓ¤Ó×N¥ºPTY…ĸæTÙI#¶µm>î0~~4–áõ-c“B¦Ô­¨ÕŠÝ*#¯Õ5·ÙmVà ·Ù)XYYW¼¬€8iYféÇWzOé ÷6—C‚¦Ó&Mzœ³!l„µkŠ%¶¥]Å%j*HN25óö«Ô!Ú¯ D‡RJŸ ÅI{²é<¥cp* ü‘Ïœœh‚[¬®ŸVÜ5º V§-Tf÷J‹TB%ñ´£y)'´R’”òŸtÊÔõkhÚ}W¹¨==£\7 VHv”¢ËΕ¬ºB\Ë©KqNÔ“ípç:™[êõ».ÐaŽ—uZƒNj¯5?…Ïj˜>¥ˆ¥Å 6èK„¼â’Ü1´žu…êÞ­ë÷µ>ã¬Â“ùÊ‘!øXTžêʽ܌ï YIQüÜxéÏÒjU/¨Ð"^¶Åaɲhj\S ŠcPÐÝ,©¼‡VI }JO¼…àî# h5›Tº.t¦É²n™~ÿ¡ v 'S/ãª.ìqÄotœdxЕ[©¾°zãiì¤Í…@¦Ðå‡î´¹fî5ÚWeJR‚𒤓Ÿ~O8пM­OPôŠÕNê¡ÙsåC“QKi Y2#K¨ÏŽÝnR”„4ØÂJ9 §ÊF‹.)ÑàÚtgèTTP!³)Sÿ”†œ~J޶œ{»„68ÞÒNÕÆ1’4Ý&¾zW m4x,©÷ÐåzŸ6+i NÏø®!EÇûy*ÊRœ‚RiÐ uÞ»"àµ.Šå4RÛ‹="Zãá¤6—RáQ*ʈCxJAƒQÕú3é¨mZÓwÕ}³$>ÍN³ )¥¬ÏuÎëë—-´…-l‚v­@-iAʳ¥c^§:#ӛɸÝ$¢OuˆŽSë–íEO±T,¨”ºv¨¸FFï0GÉQ.ž”?Ò *Ÿ ª•Eæ–íJP[U7Rê9eöŠ@B½¥*p$€\#Î’\’,º ™¢ÝWmWc&’çÂDÒB\ï0³µ[Rw‰:cÕªV‡YúwþÖbWdÒj¯Ôsv;Jn¡ç$>ëaAÅãao(oº ¦ug¦žú…Yéõcô´Ía¸ñcÁ­JvEuK .)jBl–µì'?Ë*ä€ì×KVü¹wµBLTzQ§S),Òž~RÜ”òTØRÚ¥IJö(ã8$ްßvÕ™#¦×—Wé´z4$*ƒIržd¼¥÷µ´¤§h!KFÀIP‘€NtÚ½zyO»Ÿ¤ÔèíC¸(õw_U²ýNT¤¾–à q´­Hs!Åâ’žwmN„ïÛOÑ]Ÿo\ºÓXƒ.ÿ¦ÔDŠE½^©Å¦îwiöâ ¯ùÉmO²RÚ½ës‚­Ú½ ëb‹Onîí3Eª¡Ô²ØqàÃN%I(%kZ·6©8 Ί¨ú;|Ü_í&æ¶¢1&®¦¢½@u)1B‘¥±µ@eIÁ.!DÞ7k/ÞI{Ô=u˧¶ý·L©G’¤Ïf;)bd׳µ½²(R‚TUµ§ ã'D3±º¯lV¨ÓÑaÇ©ÈaäÁ§ÎzBŒ–”ëŠl¹!,¶CG‚ ÔvaGæÆë·Pºepž‘.sõ'#IœÊ«ï´ÒSµ!N´Ò@¶” $$«²03¢Oñ]2ôn«)Þ”[ªœ†i³®ÈÎLz ãë@/$öÔ i ”g¶@'*jý½ú6RGNmZZ¯PmM7Qºå’âœÚ JZKc’ #BOæÀuÅêRe=:±«Œ¥ønH­FvàŽÕ>sn­i i*Oó„­XHI$àTn°&‰R©Óêebžå–ˆuX cê"Êž—ÔÈ.._óÄ¥K ÒR=¸ÕÃýU¼è‘œ¼«·3-Qß•L\zäyÏV¾œ%I€ã/2Qq+RŠÊÐv2’F4Zÿ\:€õÃCnÍzÙ£«tjeÀªje)_ï!*CûT´%hJ\R]AÉöció]ÖuÖ¯U¨1¹í(̤(Qh²[—m&¡$¼J@PöŽ0HÊR|8ôë@_Wú‘|õ:û®ªÔ¤Ô!6õf"c4ôòs…:Ú‰ÞÙ–Ð^â•( ¤gL*4n„õVéUõÖ F½l!Ñ‹&͈¨ ‰-jÞ[+SŽ$R %Y pJ¯D÷œӖèu¾’*efDص¥0fǧƖ·˜p¥¶”Ây)PJжnQ+€Ð÷M¿Ù’#F£Õ¬1LJñú×eRÝ,6„aÇ ¶ X¶$ÿ > ô ¾¡ôÒ´kÔ*ý‰vJ¦GŽB“µÂÅAÍÊŒTiôor‡ Ú¬3¤÷Xú'sQ®©R:kÓëvÖ….‡ÝªA Õ=„>€…8JW½*u_ÌRJ†JtkÖoQ·-­vÑ›š‘>ˆÓôIËK¨ŠK¸i…ld­¤ì)â¥ùÉÎnúµ×ÛÊuBsôÊÖrŸXU4Å~r˜¦»xSn%âªs%yRT’¤ Ÿùt›¶…~¹A¢ÖêN×jÕjÁôðâÕ¤o¦¦3D¨4°Ú²ê’¡ƒÂS³žuaÝW ‘Òl‡™§ThŽLQ¸(Re ­÷Rœ‚PÛKIJ’9-¥­jO,·ý^^Œ[u¹Ó³ª7;iAC(ˆ„*ZÜþS¡-Ÿj {{Ê Ê”¥¾N£ôεTŸoªí¾îš,j]Y昚 /ÛIÛjo+oiJò•´nÏì »ºçé5V5f§Ó{*!76[ñ2C±œ€êÒZfBARÜqÄ©µ¡'àiw[»&Ûˆ}r©!ÎÌg*œCsÛ©[E;²•©*+8#ÏçdÐzwÑŠå±.[èš®XÐv[Õ7d lZ›_mÞÚCiHÚ r  Qà‘¢w=úT±©»ÍËEú{’ÛîÁ•.LÖÒ½Å;ŽÕ%)O!j: ã]…ÓÿS°ºéö|ÛZ¯GŒÊÜé¤!'+u(h¨¡!õžé%'8qéCh¦¯áê}IMS™€#Qé Œ §H+RÔ•6T“‚¢±´§'ŸÔLÓz(®t†Ó¦<Ìꊜ[sb.BÛtíÜNô„d‚xË«K½»®ó·ëêoMâ5\‡ê4]΂Ü,-­ÁI)(R’H*äxÐfîžÝý+§×§Á•RÝ2ê}‡dRg¥OJ¥8œ!rVâÔ\RÈ;À'c:êEÉfÑêõÚm´¶+4¯¥á‡d~1½+JœŽ¤$”” ©8ö)\xÑP¬ ÛQ¨?ZÜú¥F£)Ö¦Ûô¤6û{òžÙ Z_NT’Tx#Suʾ¬‹m‹rÑmøõxÒ¨UIÑypû½ÙZÛpƒ V1Èút›zï¨<¸ÝAr‘9È%NÐkqƒ«}½…A.¨(û|/œ‘È:¯é‡S«´zµ~Zjq'?W‚¶k*”Ò e)÷¥ ϳ- gG:¾jÞë}ñF[÷ÌšUmãÖÍr eCHŽ•‡·w„¡ïR%@©@jǧ •y0õ ûn!×ÛbB˜‰(Ï@J7K `¯ÜUìOæý—súÒ£½X²a¬ªnýgqÔ%äqµ<äñÈð骫Ôºº‰;èB”·•1,&²¨NO^2¢á@Üp<òs­•}úf‘Uê ÇÔ[:¯JCJ©¦Éÿwn;ï’µÖŸÊ•~b•g•+®¹ÑúÁú««S§Smútè5ïF(JÖðq;Rë{T'?¦4Âõ6½Äk:§X„º‚":S‰,8ÉJvåݤïR•»üsΖíT¥3MÐdECjKj=ÄvÕðp0yûó§•õèê½:´¹ìRjá—qçLu%‰@ À÷2T ÝœqÉuå{Ó§R­‡ãÅ—Óº³ñò¤JzbH #Ó°nÀóÈñ ³±k2-·S^ƒ^–©.´Û5ƒªKÈa¥ ©$ž=ÇrFˆª÷b)t9}Ä;2|d̦—ÚBýäî8ä1ÏßãC,·ëVµaéU¯)-Bq¹ »Nx¡\T·ƒ´$óÏœkÝÃnV«RŠ)”Â%¬ˆÉ.§òà{úw¦NRâÆ]åVTå´— J‹»²Á>ÇQ’S´ý²ûjV†¨Á…R…";q‚R˜(#ùÿ R±ñòF×Ò¾»L¼«úeR¦Õ:ci,@yç\@‹ŸiÜ¢RRÞ ½ƒÎà>..j—Pn™Ô{f‘6}±)õ ”º¶ÿ¯Ž7–Ûq@mNAJÕ•€G,º"ñ©ÂGf[ Ê-¸“zv¹'?`»ãM;"òú %66•ŸVF×b¾Ý0-m«Lz“î­’ã €µ©#(RŸ<ê‘ú•V yص:uš¦§ªu·LP¼¡.8’ €NÐ|öÕ…nƒBbjîÚ,™Jª8áa˜ÛJÛ„¨º %A^д¸È#ç@YlU*C¬Ä ýmå•%¨qÇq‡Pí´sä¼1Ÿ:¦¼h÷͸K Ä”ã@M}e¾èÁܤãÁã `þ™ O¹¢Ë§Æ¯Õ_Dñ¼5ÿ-‰H IÀÎN1’ €ÀÏ Þ—Cëš×¤*§Ju,µ ¥Rˆâ\/ ¬žÙ%^qÎ>3 Y*缪í1ë¦@„BÛ(Z˜í©[ðB@Þ7yù>@8ÔËbë“Gœ—¦Û‘¤DTu£-JRpµ ‡qð¬1ÈçÉÕŒÆíºUüÀ¼Ã¸‘h”ÌC±lº¤‚Œ”à 9ðNåoÂS”` `yù=©×ý³m\"u^Ì‚ÔFûJ~4H*¨©KüÁäàÚ7 “Á4.V#Úõ;R ­ÒÐu ’ÇpíÞAöû“ŒýÎ~t\ý”Ì~œ7>Ù—p>¥4¤H„µ„ÆiÖÕµÕ'aå(%*‚ž>utçXúK]¶jÌJhÖiÑÞ/FytÔ°¬ísmÎB‰+ò ÂŽm~­;Hv-«:åVÖäQ«¡µ-¶W°pµ(# ¬‚t½$¶ëGf ‹âuVCÔßw}ɪú•:–Çò›g¨$r°GæÛç]êTŽ™õv‹>Þ±ª_@ëo"l˜Òi­µ- 4×m[BŽv•¿Í’3ŽI‰wôw«VmUþ¨t¶¡R©Mšëm¹ÆT';k+J† ^Ry$ýο.¶.n«Ö­ÓeÜ•–!¶cŠLNÓ=ÂÄUË;Vw$wBå9k§ÔwéVUù¢ô9‹ú¼WBŠVØK±•Ü! !#„¤’79Ðí¥T¶ì›¬ÝõpSàÕê ¾¦Ü‰Þiµ‚0ÚœP Z·c“ö'EÔ«º§[²ª5[ÖÆ‡UT„*D:1£åhî4ß(8 ¼ž )INwš9”Èõû…ÚD‹ê‹ Ÿ\~6ê\Ò[J7%9 XAIBÇõ'+siÜè9Y•>ŠuTšRz•kÌU2"aCaŠA„Êœ^qÞuA(RwcànÉÆ­->PzoUªÒâA‘ ò왬3^œ…ÄfœÒƒk(TÚÉ#psrIÞ‘Œ-ºŸÐ(6tÇovç¦",èŠE:<ÉivC› ªRv„{WÀànŽKC§7ñOúî–×/Ç ©R÷Jr¤Óm rŠ{E) IJ”ç·-î à’œ‹&Õ _4¸÷]b¥G Gj¾Ã­B¥9ÙŠÐîV •Úð¢BP sÁÈȧ¬ô³«L_õ>¢Ñ-èµ rTëÑVõi"HÊžy $¡ÅyWGŽt*›N´:ùMo¦ýV”ăÜbDYjQaÆ;I_ ì«>Íã=°œž3£ªU:‡Òû…VÃÕÇWe£lC§7*+.µ\áÒ AÜœ‚GÏÈ R,nŽÕï81¯èöÕ}RìhŒ®3äGeIQ. lQyòœŽq¥_P½/ôš_QSÔÈ)H¦Rj°„†\` ”Hî«.vìãžxÖ£g«Ý#êeÀ™ýMµÓê[Ȱ—Üuª‹hÚ¦JNѰ—R FJ”ñÉÀ‡× öÕ߃ÔzuG]2¶¢ÍJœŠÒ¶ž¯¾•”¤©@öÈÀÁI': Ðíê§±U;§Ý:MRŒËo÷êP¦,µ1)8ਕ$¤m *ÊF3ã?Ý/õ?ü<üXIK}ùŠeÏÅÝÛKÀ—YÎB·(¨nnÆœUZUKnZê“iÐ$ÈRa0É-±”«!+)G´„£'Æ?6 SºcnGŒÍ÷èsñë˜út.XZf6Ûç`t8ÚSŽá÷lPàÏ®õ¦KÝÊè¸é2à±ÂûR£€ÝMÖ $५rFB²3#D”'ÔÍ^™o¦ø T`L}ùТ­2Û®Œ*B¶‚ÚT°qù NyÒŸÒJTJC?‚W*Þ¥,P*žéoR6¨6Úw`ÊR’•äzW^:£Ó¢ ÃéøºÝ=¹Ôúý%ÁlD¨ìu¥CxÂPw (Û”Oªï¾˜ô“£rçRêR¥TkrÜk G†öBÒ”ÆR‘’;– }Ù?mx u¨ý&‚åBíµd3¨µŠR¢¸±ôï²ÖÜ!`ºê7oIJ¶á8Û¥åáF½úÍ\ƒxtÂÈiúa¹0¨QTħ PÞ½¥Y•©DžA•Mê-ÁL¼Wiu"–iŒwØ©Dª .!÷·%a¢Â”…¤oAu¿êÆR®¥?ª÷ÿV¯i7ܸï0…Rã0¸â ŒôÒÔô‚µ)qš{hV[)BÝ?.–—*"D»íÚãÈ“AO}Œ©Ì®âP” ¨P)ÎsîÏ<O“ꥮô)®•Z=¬QêsçTêÿâgåÁyeÝûþ¥ ZŒ­d)9POk»Ôºu"}*êz•"¡Ø¥8ÄÈÒb•¥Ò…)8wAJr99 çdãAê$Ëš‹”L.÷´MaM¯*VÐ@ B†|ãÜHÏX&§VrÛLäaúhÛ¦e´©ç?©=ÒRqíÉàsÍk}BvGv£VC0ÖàJÑ1†Ž¬îÏ!ì9|ã: *™êQ£)P·Ãf÷›& S±(HS)(P)$œ ŸÕïGíy• Ôj4‰RiUwBj·ì8ÉJ²O¸”«’ 8E»¥ÙÒ™é»ò—:ÛuÂÔ’§€2ÎdpVœ{|}Î:_ ×$«‚ÜVb‚ý5r$Qqɶ²±‡ ”CakR·v‚v¥?ß@%êø}ô[¬l‰r¬Yðë1…&ÚQSn!`ÿ=ô(ßG ¬nNÜqœë^¾ƒ:ƒÒ(±-ÊŸÕÍ,Ôüj¼Hê[1Ø(;VÓ# s¸xHN>~®ôÇÔµ¬õ*‰uÍÖ©©«S‹e娨O”e#ó‚@8Ôž¥0ÅvJ©ê1[±Vƒ ùL»Õ•6• ‘»Þw`¨üøÐ|êKjU[­ë~ž™[£%J.B؆Û’µ¤œ!aCqçÏ.‰tǰ•ŠÚ›"k Ê^Œ£ÿb‡% ü`cõ×ÒŽ¸zflª½}èµx±_S_Zõ´Èú¦P2w<Ž ¸SíXà ÿN³u¡;Fö‹¨Su+fŠvµG§Oú*QZ‹+?ÏY_l­â°•ä|n´/êÕ ˆÙ„šœo@j$fÕ"¶ã#rRs´ž8ÁÕçR:ÏÓëtÊu¹0Äz3asœÑÆÚ“ÚC“¼Gç8ΈzåÑ >›^ºÕeõ)È”Ú-Eª}“D¨D[3*©YÂÂO½QY*$ÊRÖ´„¹'Kë?¤°'Ó¥Èn†™ïGZÐëòXXi‚È^÷ ƒç9?:–¥çs\w{-É«ŽC+ Wga;ñÏÛ<  yÖŒ¹zŽü+* V‹s¹ ª¤©¹†4´-HǵÒ€¤q9:KR­yt‰Ëš˜†U%Ô€°²®Þ~ÜN6ãÉù:d]NBÿ S&OŒ˜T %qZ/µË…,/úT•…#Œe?~Aÿèk¯´;ª´»9”šÄ(Tè…i.$ ©N¬6´•`¢ 8#:nõ"Û¡zIT¶m;…¤Ç¦>ýRœˆÃjdù ²Ói q`¤£€ROÜŒhþ7_„ZRP„¢Kyù.%.4³¹ sAÒ vø$kÝç¹(—¬«¨Mr;ÓS”ÕHq*qÆ2V–¶öÊR¬cÞ8<`LêÕ*œçS%"ÆjDFªôÖK°$ÀSN8àIp€³îu$©jî§)Xøà=%¥Òª½1¸£õ¶ðކ§PéÒí;&ŸrÈŽÓ¯"GüBÚi*CjJ!Y'P)B!ÏõþÐ&Ô,.©Ô¬¸6ëÓäEDÔADºslá!N%Á!`£Ú¿ÌŸyÁ:‰Ðë.'PiìÒ©³àSé³D´Ô§ˆU!é)PRR¨èX$-)RRFp ‹U&¡ œ)G»ÛJl èÚ”,~Op)$îƒÇêMJenô¾ú¹6á©´Úu2ŸM 4·¢Íi¦Ò¦”¯xZÊ·%À’NN³§Öw­(“¬j=2˜c0ý1Æ"KKïÆkrˆqAHÉSAœ…¶ 7äiËOê5©]SvWH.yhn KƒCïGrQß™ 0QÃeM¤¡µƒ‚áã9 Uê+Õ]F½}Q¶‘†£T«_UTNÀRb"3a¶ã”¨-9ñŸP:£¿é´^´W딪%"°bS% CŽÓjØ—#§ÊP¬vP²¢<‚p˜²ë½J¥.¦Õn‡ öêTÄJ’ý6CZX2Pà$:µ%!!J¶Êpx)»îö@µ«KüEF‹:æ‘Q§"©rCja]’w’NòÚñœâAVNÓ Ü-z©ªßwlÇ#\ÏÊ€óŽ:¶i”3µ3¶Y%(mJÊVÐÜ ”F|äi¡Wê§L︕ë>]vmf« †ÙªÄ¸šÁ!¤¥Æd¶ÙüÍ„8¬ Œd¤äg-ìþ¨Mìzµ&TW$.DôKX”–NRˆŽÂ‚È '$$ƒŽ™ý µ=BW)³zÏÓz,N§)ÆèâKáÖ¤’J JR6+)Ç9Ðj¯QWYh´´Ý75ÜfÉuƒþn`ÊL¤d4m>Ò…(—)s¯éÝ\¶:¡D-Í)T9Zû. ]¯IL‰U`FïÑBJÛÝäm. ¨(4’»zßÖ«p¦çê *Ý» m«ñšãô§%ì÷-¤µ¹ aÿbBI'>O±è'«nŒÒŸv|ûqÈÕ9mŠMÒë‰uç ©™[H(RٵД¡*N2£Œíèú)W\JE7¨’dSÓNur%³#|ØÈ)1˨N×8* YÒ‘,¯>¸G±/‡m؉”²ˆ…¾ê–¸¡'c«!G¸ØÊFõùT0´.<Ûbâ›z[âF"Ç®¨Ï¶c8c ¿Ëî8¥)¡Ûî-eµn…$ QÓ2éë ªçAi«†ÛŠÅ6“RmÖ퉱’àaJ í—³» Jp¤¬€ç~]OÒ/GèÝV‡2í¤YÔºe}MÃ*˜Ã(ŽÄ5-e qÌ«=åd¯( $ü€5QV±:Kk^5ë6…sTi/ÈœŠzÙ¤RšÔp’¥ÒœQKª%. ’ ’?A¨î^5ZÅ­oB$5m¹yGS¯ÁMÂÓhj#x\–ÖÆå4—;j€8)I#]ß_G•O¶eZ5:\Iüz{ãm)Ŭ…ûŒ($'ùx Á.¬u_¢=¤µj_Þ ®ª´åBÚõ.´ƒÄ}8)t³±9mÀ° ŽÀ>4iшôž»ôŽeÏÒî¤\ÔÈpTñ‚Ùw½Ì¿…=é%AD )ŒcH~¶X]*éBéÔÅVMãs¢«ôöÄÉwS’dB‹ƒ)ÐâÜY[ü(r¡µ;öŽSTÙ½¾cʨÒè÷¬:»’››Féû¢°¨ýÒ©©¶V‚úÖ¸îIÀñ‚NC_@èÄJì'ªðzT~)ŽS¥. *C*Ê…6JRIã$qÈ ÓlÜíÙTª ¹.⣽ ‡Ún=ÛXx2Ù%©æ”¢°•öÆHÆ”ý"õ×N±ÜÇvÝMb˜–[ªQ_–àüA°€̉j © 1»aÇx'L_RÞ¡zS …_¢CšŠ{¬)©Q%0Rõ>Q6™ 2Ü€ J­ég#n‚E¾¥ÓÞ¾z¨íøÃ£±L«Û—Z¤Çy{?Îlg*W½[AãÁÜH–Õ+ÔP¶Ð´Ñ­ ÉT©©µ9à°@ikQCÈIZBq€$„x$d'Ÿ©Õ`Üt[rZ DMĘóÙ­Ë®´¶_e{»e— 9Zp¬r HÖŒ¸oKGÓå°ÕÕB*)r'ÄC+Lµ¶òmkBˆ´…¼4=:µãõJ«UÞ¶Ê ý-R‘oÉ\Øî<ÐAî>l)­Ê$6¡‚8ÎxÐ×RïHöd…˧X”(2ãÈ\Ŧ¡¶L•½ ZˆJ‰YAÀü  ‘žmêS—EIº'[V…1É`¹N\ë‰Hl½ÂŠßi"2 \))VðNI`¿_~Ÿîª“½9zFëvûË2#RZrdmÅ) Wkï·ßÜ@VæÀŸ Áé5ÝÖšª¨]dM.ÜŸCaJ~k]˜âcRií¹J†ãÙIQÝo‘ þÒ´zhÛ¶]j|e»9mÈUN•—%DqÂv›î”¥Ä“„¤‚ œê3Ô]ªZº¨òâÄžüµn¯S›Þèi$¾Â™÷%K# ’ 4[ru¦Òl¹Õjp³/jÌz‘Þ¤\ؘf#©P„:rØ!!i;Ik•g]¶µ2V¶? jzcÅ!ò™*ص´Ú”ÈÀÞNxðF 3Õ:U6¶õ"=¼â¦»¶dJ—MSnÆ%[·à’ðí¡Ó†‹L‰D¶Ø¿çÓ¥[ï:UômØM%†¤ .(tä‚Qá#Œ ^¼~=vÓi•º‚>µ©rV)ÑÕ (v"Ž0Ø)O#ƒ•¨ù8ø@ïJÞE•uÑïÏ©[k8n<ç[“-kX(ÁÚáNIP5K^£S*5„×n8Tõîc [ûn·´•€œ¬ŒýÉÇ‹Öõ ZÑ×F‰$GB”ô¶TIÉK© '$øÈÁµ·«:lB·íªy5·É!N…m$•(”ŽGàhŒÛúUAî¦X&% ;¹˜uq±Øª '»žêÉ9ä|àŸ@½®+Þ©kUëÝ^·d »ì©nWæBAÕ ',€Hž>ÜkHͤR-Šš`_tW ¥1¡®;RP냂°µ{’€>B‡WuÒ£Ù”¶%H¤µ%2b‡zŸ4¼—”¬ZV6îHÉ(9>A Ìý©Ü÷*¡*”Þä‡6öPTÙ…ƒÂ“·* ÿÛMéPª1­R`¥‰1dêžã.åG„¯#r À;HÇèF¸ÿ²F*÷m—X“IS¯)) —@Ê6S“Ï>ž4]Z³nŠC3¨÷\膂ë•Zz÷%CŽ J20RF}œt·m_©ñ¨1®¹wŒÇz[ˆ„a «ê·”÷ ·ûNRIŸ'UònеB†U]bU{¶„Å•#‡[oÎĬ OàgÇÈÑ<=-n¥NL¹Õ ƒpA[‚™;wqêNU€…þ^q·ŒHÔË¢évéµ"ßJ!JÞÏy¶CÂ:’ é$ø%CƒƒŒq £\U¿Æ)°©oR¤5)Õ&I\Ô¥QÀ *)ãäã€<œiG¸oc¦®ŸUŒ…­–Ýi¯÷‡ÝÞxy!XÈ'õ$ãKɱì­&;ô*Éúþñ.»uKqCj›R@ÊQÁ9ò>ß:º · ‰Cn¡DªHiÐÿóൕ8` äi$äçãÆA¹é—ÎÛ^å¢Ã§2ãêB$v\S‘¸ ¨„`… É?™CÈ#RµjVdØÖåËõôù*úvšœÐ~:дáJíî)J”Hð´Œç΂'ßsHDøÑ\uÉêqmÒ»n ä“»9ç$‘Ïßtîä¡®›þ)¸(3* nYŽÂR0µ/jJ\¤ü$üŸ' Š­„¤QXšÜú„†\ŠãÏm)Le´ IÀ8ʰ5.¡f]ÌRž¡QïÈ/„Gß!†åÏ€pq€ J\ŒjK}W¶úyiÓ뵯K‰Tqæ î8_ x$Ÿæ=Μr¥xàž5PÌŽ•×PÕNǵkôÇJT™‘j!¤àãgœœ`žttêÛ¬Är2iM)ùM¥ 2Ü+I>ÕòFA:!£Ý“ªôZ¯J0’]C*˜ÚT¥6ÒŽ¬ù|gž~5ê¡UŽš[6ÒOnC¸e €‡ POÀRV ÉÏ©w57¦6¥.šÕn—KÐ[ßF‚´÷Òo`*ÀJ$¤üÏ: ‹ NUqHêsµ:RHLéÔØA§„>YRÁ9VBr3´Ž>úf¿Òž˜E¦¿]¶oš¢ð?ÜdUi aÕ(©î (BqîådäœfˆT+b¥ÓÉUˆ¨ýDÇþ©Œ§=„ðJv=Ärp è—ªô»¾ž@¦9W~»)ª[-SkaJް”à¨8!´î@ãpÚt 8W…ý`Vj4º›ïµT§4ÌzUBsN­ª£n-!M¨%hÁ$VO9ÑU¹gß_ãèôjœÚdõ»Ù—lUÞ1ÜSHB”‡Ü[€• ädy:ÍöEõRzÙÓñX‹&<êÊ jERhJ›#Î)$¤Œiòê¨U(‘Án‹¤ Ju¢¤’‚êGl¸“· #!'*äI½)•™V5b™%§©ðŠXKò£–TÚNìUµXÎð@àj%6â¨Æ¦¦îªRkŒÖ[’%Âu¶Ë®–öwž‘àå'$í$è=>·•ÿŸ^¹›/ð]„MDuˆÉ}*½é÷yÜY*ÛŸ^^ÅâÅäõ¶üº“ô§ª\UD€|mQQJ”PÁÆ©ì3ÓÚ ±!U¾¡T)jzCk#Õß „¤%)aÕ’“ž°ÕÕªÔön$ΙT‡¤5ÆÓ‡üø(9PÂAÁC9Ï܇«ß¨7vESë(õKƒ„GŸ¦Á|)å)Å'8ܵ IÞ} hb‹Ôþ£Uã½r½Ô 1_{b«®Pu×Ö‡åà7 ¨ù ÜU»ò}‹jšÓ¥ÈÒjz"ºò‡oz–ú@ß·vÒW·xÉÆ£Æ¶(s"ƉrƧRéìǨU 2îvá; AÈ gž~F‚˦j”bÕè÷å¿jÜ{Aú{ ]¿r‚P€”¹·ùŠ(P<)½…`rF‰ú‡Y¨RlÚ$.¼tN‘‹)=‡ãÓj;e6ÊR7É`§qR[Ü@ÆÐrR9Ò†ö°æÙ¢U9!KЉˆ“úZû)í­@+b°¯ÊG >…¶r†Ô’•e@Ÿ¿VÔõ&«zI®Z´êÝ5ri©öă®·)žÖÕ:âR€;†á„•¬p5û¯]4¢2åë{Z×ÕI PúÅÐIjh†Þme`Œ’RÔN ÐH½m[¢Öê|K^ÞXœò¢d3’›l§yRSc kjVvàœqÆ¿m®§kŒÅ§ª“.:™"¤äîï`¤œ­§ZÎãàås6!ú›˜üˆNU¦'"¨QbE‚Õ0µõ#¸f¶¶œXyÕmFqñ®\[SC¡]ö´J…J4FÑmÖªQ|S#…))¯æ8µmi99‘Ž Ï[í‹^ãªF§Ú4VXœÛ¬¢-.;±™”‡Rö¶ð% qµI GÍ­}Ùjšk[§è'@“*,p[u†KjZ”×êË„`d’x-;‹ÓGIo*%-:瀹£{7“e¯·Ü9#bS¸´´d¤ƒŒí':STý uO§Æ£R§RZ©P¾±q¿Äô¦h'o~{Š@'[qÁÇß@Å´:é1Ø5E\ÖªTÆ%-Ç. Ì!‰-¥çRW<¨§)ç?r»¶,½¬&÷uâ­å¶Ý”Céî8@H9¤||•ÕÛ²¡Ó+ö•øŽ—¢ÌSŠ™d¸¤¥Ä”«¶NIÝ…N>5uMêMáúúÕÃ,ª„Ú¯uº“HB€Ž|¡Ô•“€sÆ÷Ðk›A¥Ô©,ɇ]§OªÓd6¡ ¹€Ÿ ímŸpã÷Ξòn>t¶ñ¤K¬î5p—üÔ*R%çvPŸ ‚úãXo¥7}2Ò¨2ûn*”* –ÓôqÓÜq<œäÿ˜`'ý8Ξ;Ë»iJ¾_e·TÒˉjRR¹%$) ƒŽ@r°?^4 »¾Þ“Y„À#ºÛ³b8© J¦e7§ØÚ•¹ #$Œå9çã@7—¤ñZ³ ]ÑgªC°Tãw— c~PãÎŒ”‚“·h©#ãFve½~Väλ-ÈÕ(~©Çª±äMж]l4R•‚2Hþž21–wL)VÕÚbã®u5&\@Œc­g²ëÈÞ<¥ üÇn9Ð|ìë·¤¾žÕ*rÙ¾ã1Q—Djœ®N&§K¶®TC%¤¤JQÈt¡À í´ŒŒ ÐDúÌëæš:]eÔ›¶žd*™H¬º•»)• ,(¬¼„ऻ u>}kVgQæÉŽÊ-Gz”Á_y€O¹Qmµœ„žTIH'Ò:—`"ØnŒåÙ¿R¶SôÔ*˜žü&eÃJJ›‚¡–ØCŽ«s£ù™È`Û¤å=W »a{¦ÇÚg2¥ÓTh—Hí«rI²Ÿ²†àG#:°¥Òì&¾­l©!Dw' BÔUáe@Ž01ã@ÓéïQ­g®1¡®*¡HÛ&Ÿõœ÷T•­$a]¤’¬ƒ‚A9<–Ô+·5]ÚòÍÜEïIUv‰OšòåÏ'i+PIù'ùksÚp3¬e¹:‡S5In=UÝ—ôÄ­·°B€9Ç'üðFu¤ºkMê8é_©Ö½YèŽÏ¥°¦¥•&B*1 ‡Yq•¤©.£A<r†=¼Ü>ªªGF¤ôò˜ËtfX¨7&Iª6—fTœsxe„’–Ñ»{‰ûžàPÉN¢ô¾Èéì«#ê:ªõN·âÔH¨÷$)%–Òêó^-•a*öŸwhqζK¾kŽ¨Ù 6¨±Za¸ôŠzQ’Œ¡òTæ!'äœ YQi$(±mY5±K§Öß Ô#A)S›¹Z\(WåBTŸ PÇè‚s–GKº±Hr‹Ñ Õ©Î·Ry?MsÊ£¡°ÑCo¥„ã¾V¥Q”mäòFJ:si?Ñ*]bõÞbTâÓþ…Ú=*v$©j¼¤‡Ú#+HRWÛÎÅ)? :YÕd5nÚ Ðé/¢› O¨¿.…†ûÅÀ¤¯x*RœJ°R@Ú@#êÊ…Ó7j•Z=½ÖŠ|†áB[P%M¨†ÊŠ6¨¥ekò’O¹XÉ'ÎÃPº-Ù•û§¦TÆDçœ\êL{¹¦œfúAßZÛi€²GuÄ“©R†RI΀ºkX鼯+0®*|DJ0Õ*]:Ý[¨C9„µ*ZZHRS½N8Ô«`É\ïJåmÊvúÓK¬ÔëU÷èõ´Ã¥ªBÃymJTlûÊTÞÞÇ G@cG÷Ùè¼v컵Nz¥5•=MSŒ¥¶ÔY .=Üq :â’xð2“žtötZ¥ÎåZú­ôÊŽa7 ¶&ÇŒßÓC`öÁíϸ`€¢q€çEý, Ú×D8Ž@¶¶"ª:¥OB¤¯è• 8 8€¿k¥>![‡*ZJ\7õIêtº½JîRªò#¥udPå0ÉaÔ´ (Xi¿êÞyçwY_÷¥>%JÝaW~Œ©‰›22´ú‘½J–¥TÖçw(c ƒàg@ÉŸ{ôîø·jÐ(Ì:kVÌÔɃ*¾µ:ýa{Ò–ÖÔ¥D¥iR6çN†éý;±UT•Ô~§L†Ìˆp]nŸñ]RJRÚV”ákŽT ¸ð ÒnèEewy¶¨³×5ŠÍU2>–€„-×1¼à„)j;°@óÏŒéM¹Ñê0iº4•¡ sÑâ®l˜Á§ÊTÛª¶Nw’2¬í': ±ÕÚݧέÒ(-[͘ÅÚ™N êm°Óit{’v:_µ!$¸c_Ýy¶ªº=›itÂQªTœúK‘tz A6òïòœi´­IJŽòH9 cHg:ïi@µ)Ì_}.qÂôÄ*³Q­âKóÛi BPË+N!Y Æ7(@Ä« Ô=óÓÛ.è·m^JbVžP·é²f¼ÜE§l!öÃcpJH$|è'=wÑlZ¼êOCª&Žô9‹KU©´Òc6¤‚ó- ÚÆÌ¤§• €8×+ õF«q9 ›é‰õx£½=o2bFšëx[Î3»-ºÚÚJ§2;„ïà6OO¯85Ê$ivìWÛ®´Ò“ñÚ’ò*QBR¾´q’Oõ “©[žÚ¤Ý²k÷4ºâ¤S%J]AÆÙiJmhµw(-9A—>NƒS•}׺¬º²mê…:Ul4º+¢,W^=Ä€”¾¶UùRT´ Hy:‹^ê=ßHêD‹Î zCOÛUÕ2 ñr3»˜OmN±½EAµ{ý¡X8 ¤ê»¦=-´z¹^YnàzØuR€—vÇCm(ïî¸B—ÎNäç8÷`uRÇèGOÞ¢Üõkù‹Ù?ƒ8äú3l¡M¼àq)mkç+Ü·rB€ùÐõŽOYëô8•«âdaG©W–…-Þ䪤§6þm¾å¨%%JÈ(Œùÿg –£Mè»×9ü#îȧÂe¢cµPPþa Q Æw,>3ä–Ä¿ÓL§ÕbÓ,oÅÖÍ%ÉÍB-6Ú4§•ÈXR;iÁ?Óã$¶Ï¹l;–Ûv íÓ8h·á€Í™,} ¨[–„­ÇÁÊ6oR–£ð„ŒUÀ tVÂéÍK=O±/Zìè´º‚á&UËôˆê[ öœt‚µ¬žà[H;SìÈ9bÔí^ U] =Ò©tˆßˆ:³Yu*uI•×JÞ}®òÂTØ Cj-« g j4ÿP]¡ØUˆU u qé‡é¨B£<àR@.’…§ Î28À>x"®ªÅ¿ä[ï[÷|tP\}É=X:vSdí˹% ãÚp¥màøÐ1š•Žn*ÇRØb©"]5BäqÕ¥…D ¡-© ”¥(¥`ðS´þc…»÷Õ*í¼àRîªûfJ¤´Õ6£™ÞD„!Ѹ)!)%aJBUŸp¯ëMùÖ –“´µTQ1IUj‰NyKÃhG±÷€Sy䔀*àc'KVº—W ¬Úë£Â`8_›Kî•ÿÄ_zBS€”ñ€¬‚HÀu°mn¦Y—¬è-ɧT•ôè4›š%„,(gz›î•4F*Q;I?É¥ëpR.˘)éó±æ5#m>cO–”f¨'q# ‚­À$ݽ(²é·LZßNmÈMLo6j´Ês…kN¸w¥®âB’â‘”«##'JΟÕèõ­RÑO‡› +æ5Yv?MmÅeO¥°FЃ¼yÎ8Uñ«Hz@·ëëL°ô†ª1X§ý4¨ŠìH'½´¥A}  çλ[‹©™Ó•;Ù‘M †ºš“%?ÍPJZRV¢£¸$¤ÇΉ¦ÙSš÷Mœa¹´™»I¬ÒÑ)Ør]P - -$3¸àáÍÞìñ•Åc¥—§R©źéÕypiªqùé Øô4”„2B)Nõm À ÐÅôýÒKŽÅqÐz»M= ªKT÷¦¹!™n7‚Ò²½©JÛŒs¨=?ªÑÝŽõ“~ÐâQÚL‰+¢\Q(@¼ÔÂØeA·;”BˆÚœ‘çC-Zȇ¾Ùƒ KÎÆª1"R¯#lGÐÒ J¥4*S˜$|`'GÛ"ÈT~¥ÚW6ñK±kTøÛä³:ÉY.EIÝÔº[ZJ’P£H =Õ~›Wz|ˆtZŒêsð—-Fª!fSYÊÊV±ìRŽržIŒ.©•ÊÝ”äØT«z£Q¦8ÏrR%¾ÙÎUµÄŒ…î O'äi™uV²"?D}Rà"SóCÓ!)LÈPVZu æ7#J3¸d`žt½©ÞW»ÍBM~´³Š‹JC²¯¢c¶œ!HŒí$’~ú ›‚ôµ¹iÕ[é"™½-T›¨Du—ãààIÚçÊFqŸ¾`^T¬¹¿ÁÒ›‹É¦ÇüXí nµ)¿†Ï9ð£ÏAÕþŸÅºªÒU9PVÄ”,-ÈnRâÊòvc€pIÛƒ÷ãVÀ2k.Œñy¨JKm¥Ü÷œ§«úx0úè ín£Zó ’«E§I†óKT*‹L¶V…åJÛŒ:6ŒøòruyT¥Xô晸EZEBœœ¹Y‰Jš€â’CM¯ØÚÓ!$F®:Ò´_\—M!¹té? !/ª4“(7íRPpÒHØ9[´kctÞ•eU•HŠ*MIJu2)õ´7ÚžÞ@_½$Œo î}ô 6é1 VrK’b6èÀ÷d‚„¡Ü´§°÷ Æ5ýÔ.Ÿ×¬Øõ퉊•*J›ìÓPúÃË@) Hs¸~<1«K¾Î¬ÛU¯*UbL måÇŠ"6ÛM†œP w¾·e$rœq .ŸÄü~‰.›IºeÒÐûªZëªÁM ´ KJRÈw´0I ~bp~t”zå©M°ßa#B­T”!ÌT¡¹ÒÙ >Ò@ÂRAžHþڣθ)HªÊº•ljl°áJA)ðx<ññ㓯ŠÕb°¨”•u2tÈP›CqwFm´6Œ(lFQ’ $‚yÆ5Ú”õ¶Y¹Ž™¬=ÑŽ¹Dð3€4­ë¡JˆÝV§<˜ÊBŸr ÊÔÒ\Jÿâ¥BBÊI8~¸Õ×Onv%ÔªÔ„PÞ˜å])i+Q!N¶B’’Àn°å&“1N¸¶–ùm so¹!ÄàUŸÐènÌ‘lY2¦ª™ d¦wJœÆä6ê‡r(Éùä¤^xVM‡x\š¡HÌÂåÕÐÀABw4}ÊRÆà‚’¶¶fÅn‹7¬–2¡Hœ˜»jRTïoj»­J@¶§ÐR®ýéÓÔV%õǣ”äWÌèà°§’Ç ¤€KeG•~ÙΦõå´ž¶\“Ó»®Üúª¤h"ðŠ_v:ÀŽÓá*I(åJð@8ðrN‚Òõ³žéœJë½4º+´QímU.¨ÛhKűµ**INåRxÎ5:ÅjRîHu:•±]I•ýZ˜J–”+Êþva@¤‚ i}cõ’ï·å¢áª<+4·–P˜¨Rd¹»hVNìg•ÉûgDsmJ{uJ/P¬…ZÚ¨<·S2ˆC‘»„ À£…);“JNÏ!Îûn2듮ʤu²ùimÈL<ºëêAØTÚðv’Œ¡ÈÙÀû tÚÓÈOԣߔª›‘*,!¨Ï¶Êt®â°0sÎ #9ÑëLê0Ï·ú*’¥$MR{¶&²R^às”eCpä“ã;ˆÐÍZÚf¬ýewõ>¾*,ÄÅ"˜BLŧ¸×#j7 …€8 sÈÐy´m+r}MÊ4*²]+¨¼ÂMAJuÈ„yV~r1£ ö¥ ÖµdÓ,útZ¥>UR,ª[—‘ô{£á@9ÁFNüà•4»“C…L©¦5k¦¯Ò(•¬C!”2ƒù[PNNr<œ}õgvY’¨´è’(•Ií5&&Y§É`ö¥Agœ©[•Œ( ‘ŒrtëªÃ˜Òê”ÅÓêJz+N̦š£ÌË[Xwhîí nNsö8À×ó·‰öÓѨUz#DqÆ^‚”¼Ñ8VÜŸÊTSù~àÿq*=R%Z0µäÙõ¤Ày¤Ñ\I\mî2¯ªä`Рüç]*öMËMbMu‹i÷eOt*[áíi–÷dlP9³Œã’µ8‚¢3ÿ)#%XÁùÒ—©·]ÛS¬¾íbÜuÊtèq¨SPRÛ\´ nq*C[‡å!!!>Å¥™ÕDôý¨ÔŠ´”¼ÂØ“K®<ÑB‹Áõ´IFðPIO¸'çÐÚ³oøKü;G¤ôWÜrYê[J¢¦ã%C´µ,näŽ=¿:¢ê'Q¯Õ›Vµºƒz×ãÕjžêaUžÄà ±Ôž ><'œñ¡[Bõë×cŽ·xTª5‰=ö”üxe2NKë nð• íÚ“·Dô‹.ý©5žší%šŒÇõŠíA§çµµ)Võ¥9V”IȬΜtþ¨¤Å­u ªl†Û[ÛçSßRÞIü£êÊ”8Ø3œ•~¸\ȱ:ÃE¯H­ØÒ.(Êu"ª¶äg•„©—?™Œ{·àóýßôJ%ñÓz%Fä­ÛÚfª$ÖªôÀ­¤©D-”p(ŽH÷؉ 6ŸÓ;vîeèõHÓŸ1î:}Õ#Ë+Iïnwòµ+)Pù#:FUqmÀ´Üé<Ê|ÅIgê* 8$4SÛ#… ,`eC'“7=;Õ-eV^f‘sFüF0[5³88‡<lQRS…•¡# RNGQ×+"öEJÊ®Üt(rœS&¸èq’ÝI•¬<ÃÄ ™JÐPpݸX'#Kúü«:帧¼ª’‹èKî¶ÒU yQPJn(œ‚@þùÐlK:ñf¤†›t°äÇ”L¦‹Ž¨œZàx#õ'iƒA©Å*êm!RS½=¶˜–¦æÁàœøòOŸ$|ëÑeÕ%QZ˜åÒ§’ÂCp 1–ÊÙVüç9R•œnöÂHÓƒ¦5)z{´¦®Vœ©<Ôv¢NYÚâB¹'+IH$‚Tqð~i"­dE¦@š§iSäÂŽ„:˜ÙzKÔ{{jÀ;@J’¡‚IÎ|j²¥6 *Ûžª ÆCŽ¡®Ã1ÔˆÏ)+jaiJ Hç˸k*ô‚‚:«"á·êLÄö©‚L ð&}Càneô-$%lûT’wrIÈÀ&)EåÐØs-N°WP’Ûcðù¨|ÂuhÊJÝ)p§nSžsÎ ÐDõ= ÝMjá£ÛµÅŽÜjôHŽˆËx¿¸V¤ìIöœ$…󑑤§S¯9˧ÜwÑ*n!)Ÿ\*rÒE½¯0²´×å!Î °5µÉkXwÔ L¬N[.í‚…¢BÈPÁNFQ…m$œ“„ó¬Ë×n€Ü•‹‚}ÃB¦ËªÕ&;ŽËbQr• ç·²îç]%®BÒU»+Ü0 øT~®÷êWe‘x»!µ2¸°à¦,t%–JC«ö4 °¨YÚ¼5äÏF$tžáº?¿Ð'šArTšomPÒÒÒ6¡,¸¤‚¤”|ã]?Û=>§û:³D«FµæÆ.½Kn‚†^ï0r€°´¥Í¥$g„cäè#Wié}Í9…¸—.,%RYÛ1õ\2YÊ»„§Þ¢R†ådè^=ÅC˜ª•&}:ž¨öÖµKml}:SïBJ²¢ I<ƒÆ4HÕ§G½îšÌx“ê_Y2*ܶ©¨¥¦OÖyZa­´§pBškð‘¸'JK†|ʬ–¡Á·Ñù/ßd©Á¹I '…$ŸßAæ¿|ÕgRŸnÒðªkHKsÞb ‹i–³¸¨-#- ¬ð3óÎú3׫§´ïÂnWêC”ê¥Ã,¼^1Ò¤û ÷pʲ3É ñ($ÜjS®B2¢…wBžm©‹J OµYo88?=¿}]Û–…¥S˜õn溠O˜¡º$4ÂÊøJ–’y;Ž?¤xÐYÝ·uÏhÊ*¯Pq4ÖutVâ¹»¾‡œ+G¼lJ6îÏÈת7^aTj L®6ÏfT Œ§DvHÂ]BB$î 󌑃ª¬þ%C·i´éWÍ=Ùâ‹e(kfßùrHNGÉûhrÒ ¦NDxSuÐP¨Î¼‘Ú$ 8“È )Ó;»¦VÄ9p(7sãºÛNêã‡ÛŽyàû–R¡µ\c…d‘ZÞýD¢]—d5P€Ìõ0"L†âÝžÞßs¹@þH@$ö#<äR-[VQ¥¥NLšâáÍa@žô}”à{ R@ÎyÈ8ÕtŽ­ÎDö^”êã·—„lØ’Œ”%_›*QäŽt:Ùëý‰rSeÛ“hPÛb˜âà:ç¾L'¶#hpÚ—3• +€~¦V:×Õ»ÆDÈ·JªAÄÅuØ,¾µ¤w”§sÆ305œm¸ÅÉBUÙqT’…äw7/+.{i8ÏñŒçtw©Ž9s.Ѫ\0WMu „äZ‹ªáÈAÛÀ p¶ûÒWaTì¯Xè=5£×‰q"Û®1ôñ\ZR–ž¨1·Ü§ZŠJ´©dg“ˆ•—=àåb=ÑÒIš‹4¦ž.LimáĨ%CrÈÊÂIJ)#Ï#3l+êß§ˆ–£6ýiªE)Ù2_vZRá’Ó€§NÒ˜A@8˜ç>G=FúÙ§õ–‚Õ&›Nb݆jG“Éâvüè ‚íÅ–j¿:paŠ„dŒ¡’Òƒn‚…%ÒNB¶á%Æê}ÝNŽýn£bL~TI Lz–ãßJ°©/¥[–;h*Ø”Š9Èü¸ w­uè´WT§UQž™.%ȳb²b³ïKjicò«œ”ã8Õ ¾oyð%VÛ¨¦™T–P—ª?ÎSî€ÚÊVœB•Á8ûvíñ»&ÝJb IîçÈБ%ç´¡´+8''B >—_n5ÉQ„‘%¼:àYJJF7(cçÇÛQhÓâÕ!Ê©N¯8ä(oˆUVû¶Üt+.žÞ¬¥gõñÀÕ,£[6Í&MÅnÕ[«IÞ·LŸ´Âl¥J)CKrŠ)R³ÎHøÍ÷ZxJ––n8..¦Ò¢ÔÛqôªKHS|¶“¸n I$`cãC—GR©·Tøÿâ%Tç¿”EŒÕ-ŽŽÒQBÒQìZŠÕ¸ädòyÉMOõuiu*ý· "ÛךˆT¼~r¡ÁJãíýµ~oÞ¢Þ3bQ­œÇm¹KS°›ÖË”];p­¤Qó Övµ ³jA&¨Cq‘Tt¤²ráîòp´Éð0NtÏèÃrê–EJEmðÚÕp@’ÙRÊ€m’=á%$¥hVy<ZughîÍre·õªr@!{›l•,©GžA#òp¸^“MÞUrÞ¤ËHú¤÷èÌ­-¢sí¯rÛ¿˜,((îAçvq »¨r¨.Ó¨Tó³+U²Û”à Æ#¶¤ÿ-Þ˜¼d•„qΦ[}8¹¤Ð\®[PjÍ¿?*S2¥ J·â6ÿúÄ•¾@@²*v‡T«½ÊšìÀëŠq—êJîÇJ”¥(~äðqƒÀ'D§ß]L·æ¹kBUItxÅÈ‘b¹Q ?JóÚJ}ÊAÈP?®‚*­”›©š{û$½R.‘;Šsé”Ð*/6·ÈI#Q-¡Ê°`»sÐ]܆ÞSSiíMqn4PNÒ¤ù)ÈP{èK±Ž9Rp T­Ê Æ ûRNºãÍmS”•¼Šl˜ Øë J’•½!¨ãœg:©ªô~jj%±nºµD-ÒëMlKkY)(Vw~làøøÎª¦;zX*»Š{ì¶Ú¢Ö)O²•¸è–Ü9Û‚NBßèã]–‚iÉ·Ò·ÊeÅ"z©ËR£!IðØJ†Õdœ29óNéoøQèÑë×û*4ôËl8[yK[­ éÿ†6ŸiGw$€>y“B«têêµ!N0K°¤È§ý Bž)mjRá¬ïøÀàd Óm„[>=EvTÂÙtƇ"YHZÀö´RœänáIGh9ÿ´‹jÍê>%±\KâlVÍJ¢êTˆóšRIm¹Iu);‡ÊGï©WmbæfÙ]Õ.þY4u€Tóku¦PØ@ÎÕ0>rG΂¦Ý¶UË;âÆ‡= ìv˜mM´Œ`­|¨ç>@ýõ:¿Lœª=].92&ïxÙ”œ…2€§$~U’SÉø:–Pí®£Õ#Ùdi_‡ËŽ¥UàK*,Nã*VAá$‚æÀÒ¾û£BéGÓ\ÿI;ðQS[túc6{XÞ¥) Ûì8ÂÉø>zºôNš®—¯]ºÓñ“)y‡û›LpGæQ OÂóíÁÀÕWQeÏêð[™¡æjšt©ä)<~LµXOþ“¾soÞñëßPíHfZS”3(ëDœ”àŽ2<üi»bL£]U EººC˜Ï)ÉsãÀ@qåÈJ ÷ç=Âàð ÒJ£Óé6ݬíN²Ô=ïJmêÐÈeJdùW'$óÂ>ÿ?: ¢ÓdQjÅqdÔ…1ÇcÉ™))JœÜIÚW‚OíŒs¹¸úSq3=¥N¯ý+÷GÔ,}>ÎTTT ÎÝ£r9Ƥ–/ú%¹NErD80VÓ&ZÃXp?š°I##É:DÀ¼kÔj t1Vô¥¶ôvæ:§#‚IJÒ3åYÎ8:/±z¯&­v½S¼ ³^„Ì7b6¢cÁZ±µhHW´ oè3ãr+µÛ2Љmôô¨ÆdIRáÊséÒ§s•- ä('$q’t[F¸/¸,ÒowénÓã~¤¼Ó­¶—ew+ºƒ´…n?>Ð1¥åŸÕ:m²Š­l¥ê)TITˆŒ”£Ò{ÉQ;PIäð|jê¾Ë•”**î»ùEÝÉ(í¸ BJqÉO3çÏ åv’–¢9Jžwº§ëqœ,¸9ˆ;’8ÈÝÏÆ£Ù5Š«.¶(2ê% ÅRjÔvža—Ò*ÛqÑž ÉNG€|h/ü/~Ûu?ÀkÙ8ŽJv¥c  ;‰ã:‘N»é¶%LM¡Såªs¨¢MQ¶Ç. ¥~ü0xúGžHÐ4iõ'o**éÿI-ùgdh= ZVv2 RsÏØèeê 7ž•qæï§I;imkhò…nHáH9Wëñ JõvÚ³^J€ã4Éç±)ôÊÉFT2¡Ðä ŽyÁÓvÀr5Mkìa©öb:Æ5͘(S á ¤$žp8΂3“éôÙ°­¹RiÅæ™êS-ÍÊÚ…<¬n+Ið9ç¯èw]¼º“F™1”N@§<Ôu2§[R NÒ6ã#FOŽýV…{°m6› çœHú¹m7–€O-ƒ´+oÀÁé‰hô²ì£[ª·jW ¥D·ê!†#Ǧ—YqN(-ad‚¥¤nÎG´G9ÐXQ.‹Fŵ©”~›L™3.¦c¦ fiÕ€U¸§iÉ¢ÈàjëêU‡p®—O¯ÞmÇ•QeIr;+íµÅ’¬{[w$’Nsðuêüé½r韅"=·Û+§Ü*Ž©éA+ÚRIP98Ï¿]G¢ô͸ó-:•¸'Ó{ð¹sÒ‡Z*m ¦ÉS€dðq÷ÐÑ,ÊDhÓ¡[qæUe¸úPܤJù‰B‚ƒÁÀU†ÀÂrHå#Ž¿dQï:ý Ø_Bý:L7V™‚¨¢V[O(iqHxÜ ãŽt*ͽ¨/áÒé3’ìÅ8ÙbB‡•m „ûÜ$pqÉãS¨S:ñ"¿E¢ÝQ×$„Õ mn?$e-nüüœœûR;¼©¢ BTØ$¬ò6䦕“:Ù¨<ý7®iTä?m¶%´êÜ‘‚o­;}ªå?™^s¨Ó:%1¤Ë®Gn©K‚>ª4xΧ¼FUÛi!`ƒÇ)W?*Îym3|ÔcÆ«À¬×§*ªÌš{ŧV¤('qikm=°¯>Äü+Ú8Õ­^ä»kÔ¶ úòÄ-ÒÞ\XqÔ*l…¦ÐúÒu jO8W<ç}-WS­„T:{kI©BräÈq˜’”!8Ò’[B”²€¢‘³p¿˜gV–ßKêÓÿ ƒ Æ©Òi5Iz«T@Qq·ËåhZÖ‘¸às éeÙ}C¨Q"׫ýbdZËŸQ Õ”­´¨´n#Á`é$ R ñ“¯}DbK#Ê‘–Z T#гÔÙfRËÊÏh„¹–ÀHQ o8ÎqŒgE—×\µ­·¬›ŽÝ¨\F£Á¢ODe·K`¹ùž 4­ÉXÈR Ê–6òp¡¥uÿPê3=/¥[õûýÇÚ~SB¤¡¤K(IiÙ‹ö w” Šv Ë–wOzym‹Ú¹]¥\%©.-¦˜C!Õ).ÜAR±”¯p($qŽÕ…­Ö^–ļ$Ýüöhl¥—‰“r%ºóŽûv!@nGA>FìóV*6¤h4¸S¬V$Ç,¬J§ÃŽ•­³°!+mj;[Xçr8*ÈHûk?§4k6æ–Ý6¯"CêJd<Øß±•ÿùÄœ¤¹ÿM1®~Slfþºàmö&cª„¦V¦Ì'”yZ=Ô$œøœg è]d£VºoyŠ}>â&¬€^rU>inKa쥥… •$-Q#óÈÎ Smî”YV%:ø²ú“pS/Æ$ªDª°r2"Âp)E:V7¼ó™9WåHo'’;Ó¡×-©".±Rˆü¶TÔ vò™ JRó« y_œîÂŽ4"ÌE¹å*B6 К}Qen;ço³´·µEA[ˆ)ü¹Æ€/ð{–à¤É›x\f\žÓœ0—\—IÎ÷QI#''öÕ´;—¯4ZÍ>±¼¹.Ób9&¢[Ct( (ý”UœŒ`i™ttú³"É|I¼)ÍI­¼¹nÒà¾ØÜZ8Bû å;Æå à ÇúŽêôgir 9MlÊ^)y.qî@ÁÎU‘ûò4¨ûó¨Z=Ô ­]0hT÷j(ŠËé)ÊNRâÁÜTâG½D­I*ÉÕu‹Y¡×ëŽÊ{ †\}ç\‘´²2ZI)#$ŒøÈººgN£·ee¸«fÕ6»Ÿyô$„¨åa;\8 ÈÊp8 çPi7 ºÍ'ë¥Ú“·º™ Š\ojÞÞ2Ùp á'Œ$žù8ÐVo+=˜¬Û6eVVÄ8ŽóU4nqå•Ȥ¤„$rGAøÔÚeF©ZMr¨ôhèS³a•~T­ çàò¯x×ks¥Ôši¨·¬Út‰©¥"D7!Õ’†á©ÆTãJfVNBš9)þÖµöú£25,Õ — ò¢GŠ”Hö¸º0  Ûœn8ñ ³°ë·p •«õ¤ÉZÐåQ÷ü2“ü²…»ÇqÕܯÕ*´ú±‡LDÇ£æ]Nž¥0Î9¹‚–;@À'Ï8Ð%&þ©ˆÅ›qº¼æŠÌGU) ö–JÔQÎ ¸ã>­ºL¬SàD¾Y•0°¥¡òÔÒa4PˆPÀä§É$4OëuÇlÛ‘)ÿìvà¨;ŽÖ.z\Öl³²ÒpPèYNJRFžI9eõfÆêE¡SzÞŸ=š¢€,ª£°üfÉJ W¸¤« Nð O ãR:ƒgÅ¥Š3b܈­ÀH¦¦l·Ïò{”¤¤­Ädü€5ODém¿n*wS#~+ÞB˜œÜJ[+H,¹¤+8÷ (çÆ9Öæ'Rou3g·¹2"M¸Àê’0¢±‚VJ–¯o>N4¹ê£ÒëŒ7Õ Üêœyñ£IŒª£èKŠ F ›)AkI%D¹ÏêÜ®t§¨ßQ!5ŽœJ­Û±›2Ò¸eÄm*2Дʒ’G: ¹z/gu†ß¦ õne:9_Iºêæ¦*Áí—BŠûåÎÞÜ•¬$'„ùÐ(¯¡Ë­L›Ïê…±#‘ÙTa¤6\I=½é)Z”„¡)8>xÆFzWÒ¤ÜL9)UZ¬‡Ã% ¸”Ž$#Ü ò0| g“mŽŸY{…«:oC•©[‰ °Ë…-•¿% ¥+xûR ½»~ã:¾bÚWSð—Òª<Úop¼ýR—O@WÔ”¿µ·uK'¸¦w¸Ú<S–ZÙ§H!À©J‚☑#·Ú)*%)W>Õ‚Àç8ÈÕ=jÆqÜž´!„…–¬(?`A}üé¿uV©tZ,jµµQ¡G¦µ!ÅEj$t:˜è %-)ÏÈmIN Ÿ:¨¹ãJªÆ‰\¢Ä§MŒË ïª{އ^V{åYþœdŒ'qÇ“€ÏýI³ë[¢-JSŒÈP‘$°?c÷ÕïHìkб>eR<6Ÿ€Ì@Ú‚¦%*A)ÜR2?/éðvçF5~t­‚ÂcmSø©-¶Ò•4IÛ‚FNÜàãü󪛚v¢›܇V%0”–é¨J’¼®2A~¾‚ê…IˆìW >ä‡bvÓkh­¥/g¹EaXøãpù:åx@UÉ9¤3½±Û’Ç ŒœF1ýÿ¾­,Ç.Z]èÑ(N<Í(\à¡—#°œ$©Y¤ž6ã8ÿKÆê¶½cUZ…U†Úq²¨”⥒¶Ô6«<“’F>GÛ@³› V£.JÛèHu i  g‘ñö>uéªôª*Ý©Îhu]¿ªmB’¡’HOîãD/W˜­TÓQuÒÚXöCsjRvnJ3ÉÆ@óŽ|j5:‰E¯À™"‹N™%˜ì6†˜ŒÊ–¼cÜv€Hld£ÿ/ï ¼é'Të4¦éļØ4¹ÑïµІISIIð…ãò§;r8Ô -rÑv!ŠÅ¤âQ8¼ªEQjPZJPÊ’æÏSöÕ^cöÔçBR$rYc¾P¤²N¸‚O¸gלxÔû&×¹z­%å};ÈnPÓ’NÆã©@<‘´ƒ·r3çAq]z£L’ôiQwJeÄý#Šw)*JRÏæàŒî»æåf-ùTÔ*ÂNb"šâœí´å‡7æ({ŠGÀÇÚ6í‘h8¤_e5 Ê·5 ¨·ã˜ÚT{IP! ÁQðFftÞØé¤*ë#]:¤:§PÒ­¦h!•îØÒB•íl£Û¸ƒ ãÆhß´è—C5dQªï¥ô6å=ä¶¾ñO±Ä`àrq‚OSÞNàªÊ•OUúNéD¤½!Ä6[N \Ná’£ójEÑ&/"ÅíérÏ—F§´¾Í.,f{®%MìI8áIPQ>GÆ…ï: ƒE¬¹Dèµ™"’ÄVßT©àŒƒ— ³À '¹›@Šê­“ê£ôx´^§[‹e§"µ!žÔ¸ïª8RƒH aM¹¸ )?œÛŒýS¢Ùs¥~ájl4}LvÅ%Ò¤É` $ç#Ž 1ßB¡ÅZò’w…§*Øî<îù`Uúƒ*­~¨Ü•() µÑo:€êFÀk@!I'sÏ'‘tÔªôèJ“_§)¥µL©²âÓ**²\u (ƒ´!c¾РõJew¨ð™‹|Üm·céúºU šã&8@QKĬ”­xò¬|€|i…otKÑ}ŸaÛñë2%Õîz»®!øµY!šCncpUÉÊJ@9ó '¯‘A¤Ê‰GIª!¦–ÓoÉc»#*'ØR¤ž#ôçE•ÔÚí§l Äê2¥Èu M@ÓžÝ!<„ÿ4••$$ý± nu¦Ý ·Å:Ÿk:‰pVu5vãÎFeo؇FV°rrwdpŸÒ‚|Ób:‹VÖ~ŸR,¾ë±ÃŽ<ë‰Z­ _ƒ€?¶€mùµKóâff*¦…•KRSƒ’œ‘úc×FmÔ)”ŠN*žð HL<¿ g Ï9§ß· * @license http://www.horde.org/licenses/gpl GPL-2.0 * @link http://www.horde.org/apps/mnemo */ Horde_Test_Autoload::addPrefix('Ansel', __DIR__ . '/../../lib'); /** Load the basic test definition */ require_once __DIR__ . '/TestCase.php'; require_once __DIR__ . '/Unit/Base.php'; tmpBkUnjA/ansel-3.0.1/lib/0000755013775000244210000000000012233765141015724 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/lib/GalleryMode/0000755013775000244210000000000012233765141020130 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/lib/GalleryMode/Date.php0000644013775000244210000005660612233764127021536 0ustar aadsi255domain users * @package Ansel */ class Ansel_GalleryMode_Date extends Ansel_GalleryMode_Base { /** * The date part array for the current grouping. * * @var array */ protected $_date = array(); /** * Supported features * * @var array */ protected $_features = array('slideshow', 'zipdownload', 'upload'); /** * The subgalleries whose images need to be included in this date grouping. * * @var array */ protected $_subGalleries = null; /** * See if a feature is supported. * * @param string $feature The feature * * @return boolean */ public function hasFeature($feature) { /* First, some special cases */ switch ($feature) { case 'sort_images': case 'image_captions': case 'faces': /* Only allowed when we are on a specific day */ return !empty($this->_date['day']); default: return parent::hasFeature($feature); } } /** * Get an array describing where this gallery is in a breadcrumb trail. * * @return array An array of 'title' and 'navdata' hashes with the [0] * element being the deepest part. */ public function getGalleryCrumbData() { $year = !empty($this->_date['year']) ? $this->_date['year'] : 0; $month = !empty($this->_date['month']) ? $this->_date['month'] : 0; $day = !empty($this->_date['day']) ? $this->_date['day'] : 0; $trail = array(); // Do we have any date parts? if (!empty($year)) { if (!empty($day)) { $date = new Horde_Date($this->_date); $text = $date->strftime('%e'); $navdata = array( 'view' => 'Gallery', 'gallery' => $this->_gallery->id, 'slug' => $this->_gallery->get('slug'), 'year' => $year, 'month' => $month, 'day' => $day); $trail[] = array('title' => $text, 'navdata' => $navdata); } if (!empty($month)) { $date = new Horde_Date( array( 'year' => $year, 'month' => $month, 'day' => 1)); $text = $date->strftime('%B'); $navdata = array( 'view' => 'Gallery', 'gallery' => $this->_gallery->id, 'slug' => $this->_gallery->get('slug'), 'year' => $year, 'month' => $month); $trail[] = array('title' => $text, 'navdata' => $navdata); } $navdata = array( 'view' => 'Gallery', 'gallery' => $this->_gallery->id, 'slug' => $this->_gallery->get('slug'), 'year' => $year); $trail[] = array('title' => $year, 'navdata' => $navdata); } else { // This is the first level of a date mode gallery. $navdata = array( 'view' => 'Gallery', 'gallery' => $this->_gallery->id, 'slug' => $this->_gallery->get('slug')); $trail[] = array('title' => _("All dates"), 'navdata' => $navdata); } $text = htmlspecialchars($this->_gallery->get('name')); $navdata = array( 'view' => 'Gallery', 'gallery' => $this->_gallery->id, 'slug' => $this->_gallery->get('slug')); $trail[] = array('title' => $text, 'navdata' => $navdata); return $trail; } /** * Getter for date * * @return array A date parts array. */ public function getDate() { return $this->_date; } /** * Setter for date * * @param array $date */ public function setDate($date = array()) { $this->_date = $date; } /** * Get the children of this gallery. * * @param integer $perm The permissions to limit to. * @param integer $from The child to start at. * @param integer $to The child to end with. * @param boolean $noauto Whether or not to automatically drill down to the * first grouping with more then one group. * * @return array A mixed array of Ansel_Gallery_Decorator_Date and * Ansel_Image objects. */ public function getGalleryChildren( $perm = Horde_Perms::SHOW, $from = 0, $to = 0, $noauto = false) { // Cache the results static $children = array(); $fullkey = md5($noauto . $perm . $this->_gallery->id . serialize($this->_date) . 0 . 0); $cache_key = md5($noauto . $perm . $this->_gallery->id . serialize($this->_date) . $from . $to); if (!empty($children[$cache_key])) { return $children[$cache_key]; } elseif (!empty($children[$fullkey])) { return $this->_getArraySlice($children[$fullkey], $from, $to, true); } $ansel_storage = $GLOBALS['injector']->getInstance('Ansel_Storage'); // Get a list of all the subgalleries $this->_loadSubGalleries(); $params = array( 'fields' => array('image_id', 'image_original_date') ); if (count($this->_subGalleries)) { $params['gallery_id'] = array_merge( $this->_subGalleries, array($this->_gallery->id)); } else { $params['gallery_id'] = $this->_gallery->id; } $sorted_dates = array(); // See how specific the date is if (!count($this->_date) || empty($this->_date['year'])) { // All available images - grouped by year $images = $ansel_storage->listImages($params); $dates = array(); foreach ($images as $key => $image) { $dates[date('Y', $image['image_original_date'])][] = $key; } $keys = array_keys($dates); // Drill down further if we only have a single group if (!$noauto && count($keys) == 1) { $this->_date['year'] = array_pop($keys); return $this->getGalleryChildren($perm, $from, $to, $noauto); } sort($keys, SORT_NUMERIC); foreach ($keys as $key) { $sorted_dates[$key] = $dates[$key]; } $display_unit = 'year'; } elseif (empty($this->_date['month'])) { // Specific year - grouped by month $start = new Horde_Date( array( 'year' => $this->_date['year'], 'month' => 1, 'day' => 1) ); // Last second of the year $end = new Horde_Date($start); $end->mday = 31; $end->month = 12; $end->hour = 23; $end->min = 59; $end->sec = 59; // Get the image ids and dates $params['filter'] = array( array( 'property' => 'originalDate', 'op' => '<=', 'value' => (int)$end->timestamp() ), array( 'property' => 'originalDate', 'op' => '>=', 'value' => (int)$start->timestamp() ) ); $images= $ansel_storage->listImages($params); $dates = array(); foreach ($images as $key => $image) { $dates[date('n', $image['image_original_date'])][] = $key; } $keys = array_keys($dates); // Only 1 date grouping here, automatically drill down if (!$noauto && count($keys) == 1) { $this->_date['month'] = array_pop($keys); return $this->getGalleryChildren($perm, $from, $to, $noauto); } sort($keys, SORT_NUMERIC); foreach ($keys as $key) { $sorted_dates[$key] = $dates[$key]; } $display_unit = 'month'; } elseif (empty($this->_date['day'])) { // A single month - group by day $start = new Horde_Date( array( 'year' => $this->_date['year'], 'month' => $this->_date['month'], 'day' => 1) ); // Last second of the month $end = new Horde_Date($start); $end->mday = Horde_Date_Utils::daysInMonth($end->month, $end->year); $end->hour = 23; $end->min = 59; $end->sec = 59; $params['filter'] = array( array( 'property' => 'originalDate', 'op' => '<=', 'value' => (int)$end->timestamp() ), array( 'property' => 'originalDate', 'op' => '>=', 'value' => (int)$start->timestamp() ) ); $images= $ansel_storage->listImages($params); $dates = array(); foreach ($images as $key => $image) { $dates[date('d', $image['image_original_date'])][] = $key; } $keys = array_keys($dates); // Only a single grouping, go deeper if (!$noauto && count($keys) == 1) { $this->_date['day'] = array_pop($keys); return $this->getGalleryChildren($perm, $from, $to, $noauto); } sort($keys, SORT_NUMERIC); foreach ($keys as $key) { $sorted_dates[$key] = $dates[$key]; } $dates = $sorted_dates; $display_unit = 'day'; } else { // We are down to a specific day $start = new Horde_Date($this->_date); // Last second of this day $end = new Horde_Date($start->timestamp()); $end->hour = 23; $end->min = 59; $end->sec = 59; // Filter for this day $params['filter'] = array( array( 'property' => 'originalDate', 'op' => '<=', 'value' => (int)$end->timestamp() ), array( 'property' => 'originalDate', 'op' => '>=', 'value' => (int)$start->timestamp() ) ); // Only get what we need $params['offset'] = $from; $params['limit'] = $to; // Default to asking for just image_ids unset($params['fields']); // Get the image list $images = $ansel_storage->listImages($params); if ($images) { $results = $ansel_storage->getImages( array('ids' => $images, 'preserve' => true)); } else { $results = array(); } if ($this->_gallery->get('has_subgalleries')) { $images = array(); foreach ($results as $id => $image) { $image->gallery = $this->_gallery->id; $images[$id] = $image; } $children[$cache_key] = $images; } else { $children[$cache_key] = $results; } return $children[$cache_key]; } $results = array(); foreach ($sorted_dates as $key => $images) { /* Get the new date parameter */ switch ($display_unit) { case 'year': $date = array('year' => $key); break; case 'month': $date = array( 'year' => $this->_date['year'], 'month' => (int)$key); break; case 'day': $date = array( 'year' => (int)$this->_date['year'], 'month' => (int)$this->_date['month'], 'day' => (int)$key); } $obj = new Ansel_Gallery_Decorator_Date($this->_gallery, $images); $obj->setDate($date); $results[$key] = $obj; } $children[$cache_key] = $results; if ($from > 0 || $to > 0) { return $this->_getArraySlice($results, $from, $to, true); } return $results; } /** * Return the count of this gallery's children * * @param integer $perm The permissions to require. * @param boolean $galleries_only Only include galleries, no images. * (Ignored since this makes no sense for a * gallery grouped by dates). * @param boolean $noauto Auto navigate down to the first populated * date grouping. * * @return integer The count of this gallery's children. The count is either * a count of of the number of date groupings (months, days, * etc..) that need to be displayed, or a count of all the * images in the current date grouping (for a specific day). */ public function countGalleryChildren($perm = Horde_Perms::SHOW, $galleries_only = false, $noauto = true) { $results = $this->getGalleryChildren($perm, 0, 0, $noauto); return count($results); } /** * Lists a slice of the image ids in this gallery. * In Date mode, this only makes sense if we are currently viewing a * specific day, otherwise we return 0. * * @param integer $from The image to start listing. * @param integer $count The numer of images to list. * * @return array An array of image_ids */ public function listImages($from = 0, $count = 0) { /* Get all of this grouping's children. */ $children = $this->getGalleryChildren(); /* At day level, these are all Ansel_Images */ if (!empty($this->_date['day'])) { $images = array_keys($children); } else { $images = array(); // typeof $child == Ansel_Gallery_Decorator_Date foreach ($children as $child) { $images = array_merge($images, $child->getImagesByGrouping()); } } return $this->_getArraySlice($images, $from, $count); } /** * Moves images from one gallery to another. Since we're viewing by date * some images might belong to a subgallery so we need to take care to * udate the appropriate gallery data. * * @param array $images An array of image_ids to move. * @param Ansel_Gallery $gallery The Ansel_Gallery to move them to. * * @return boolean */ public function moveImagesTo($images, $gallery) { if (!$gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { throw new Horde_Exception_PermissionDenied(_("Access denied moving photos to this gallery.")); } elseif (!$this->_gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::DELETE)) { throw new Horde_Exception_PermissionDenied(_("Access denied removing photos from this gallery.")); } /* Sanitize image ids, and see if we're removing our key image. */ $ids = array(); foreach ($images as $imageId) { $ids[] = (int)$imageId; if ($imageId == $this->_gallery->get('default')) { $this->_gallery->set('default', null, true); } } /* If we have subgalleries, we need to go the more expensive route. Note * we can't use $gallery->hasSubgalleries() since that would be * overridden here since we are in date mode and thus would return false */ if ($this->_gallery->get('has_subgalleries')) { $gallery_ids = array(); $images = $GLOBALS['injector']->getInstance('Ansel_Storage')->getImages(array('ids' => $ids)); foreach ($images as $image) { if (empty($gallery_ids[$image->gallery])) { $gallery_ids[$image->gallery] = 1; } else { $gallery_ids[$image->gallery]++; } } } /* Bulk update the images to their new gallery_id */ $GLOBALS['injector']->getInstance('Ansel_Storage')->setImagesGallery($ids, $gallery->id); /* Update the gallery counts for each affected gallery */ if ($this->_gallery->get('has_subgalleries')) { foreach ($gallery_ids as $id => $count) { $GLOBALS['injector']->getInstance('Ansel_Storage') ->getGallery($id) ->updateImageCount($count, false); } } else { $this->_gallery->updateImageCount(count($ids), false); } $gallery->updateImageCount(count($ids), true); /* Expire the cache since we have no reason to save() the gallery */ if ($GLOBALS['conf']['ansel_cache']['usecache']) { $GLOBALS['injector']->getInstance('Horde_Cache')->expire('Ansel_Gallery' . $gallery->id); $GLOBALS['injector']->getInstance('Horde_Cache')->expire('Ansel_Gallery' . $this->_gallery->id); } return count($ids); } /** * Remove an image from this gallery. Note that the image might actually * belong to a subgallery of this gallery since we are viewing by date. * Need to take care of updating correct subgallery's image count etc... * * @param mixed $image An image_id or Ansel_Image object to delete. * @param boolean $isStack Image is a stack image (doesn't update count). * * @return boolean * @throws Horde_Exception_NotFound, Ansel_Exception */ public function removeImage($image, $isStack) { // Make sure $image is an Ansel_Image; if not, try loading it. if (!($image instanceof Ansel_Image)) { $image = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getImage($image); } // If image is a stack image, $gallery will be negative. $image_gallery = abs($image->gallery); // Make sure the image is in this gallery. if ($image_gallery != $this->_gallery->id) { $this->_loadSubGalleries(); if (!in_array($image_gallery, $this->_subGalleries)) { throw new Horde_Exception_NotFound(_("Image not found in gallery.")); } } /* Change gallery info. */ if ($this->_gallery->get('default') == $image->id) { $this->_gallery->set('default', null); $this->_gallery->set('default_type' , 'auto'); } /* Delete cached files from VFS. */ $image->deleteCache(); /* Delete original image from VFS. */ try { $GLOBALS['injector']->getInstance('Horde_Core_Factory_Vfs')->create('images')->deleteFile($image->getVFSPath('full'), $image->getVFSName('full')); } catch (Horde_Vfs_Exception $e) {} /* Delete from storage */ $GLOBALS['injector']->getInstance('Ansel_Storage')->removeImage($image->id); if (!$isStack) { $GLOBALS['injector']->getInstance('Ansel_Storage') ->getGallery($image_gallery) ->updateImageCount(1, false); } /* Update the modified flag if we are not a stack image */ if (!$isStack) { $this->_gallery->set('last_modified', time()); } /* Save all gallery changes */ $this->_gallery->save(); /* Clear the image's tags */ $image->setTags(array()); /* Clear the image's faces */ if ($image->facesCount) { Ansel_Faces::delete($image); } /* Clear any comments */ if (($GLOBALS['conf']['comments']['allow'] == 'all' || ($GLOBALS['conf']['comments']['allow'] == 'authenticated' && $GLOBALS['registry']->getAuth())) && $GLOBALS['registry']->hasMethod('forums/deleteForum')) { try { $GLOBALS['registry']->call('forums/deleteForum', array('ansel', $image->id)); } catch (Horde_Exception $e) { Horde::logMessage($e, 'ERR'); return false; } } return true; } /** * Gets a slice of the images in this gallery. * * @param integer $from The image to start fetching. * @param integer $count The numer of images to return. * * @param array An array of Ansel_Image objects */ public function getImages($from = 0, $count = 0) { if (!empty($this->_date['day'])) { // Get all of this grouping's children. At day level, these are all // Ansel_Images. $children = $this->getGalleryChildren(Horde_Perms::SHOW); return $this->_getArraySlice($children, $from, $count, true); } else { // We don't want to work with any images at this level in a DateMode // gallery. return array(); } } /** * Checks if the gallery has any subgalleries. This will always be false * for a gallery in date view. * * @return boolean */ public function hasSubGalleries() { return false; } /** * Returns the number of images in this gallery and, optionally, all * sub-galleries. * * @param boolean $subgalleries Determines whether subgalleries should * be counted or not. * * @return integer number of images in this gallery */ public function countImages($subgalleries = false) { return count($this->listImages()); } /** * Helper function to get an array slice while preserving keys. * * @param unknown_type $array * @param unknown_type $from * @param unknown_type $count * @return unknown */ protected function _getArraySlice($array, $from, $count, $preserve = false) { if ($from == 0 && $count == 0) { return $array; } return array_slice($array, $from, $count, $preserve); } /** * Get this gallery's subgalleries. Populates the private member * _subGalleries */ protected function _loadSubGalleries() { // Note: We set $this->_subGalleries to null by default so we don't // have to perform this check again, even if the gallery contains no // subgalleries (and thus _subGalleries would be an empty array). if (!is_array($this->_subGalleries)) { $this->_subGalleries = array(); $subs = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(array('parent' => $this->_gallery->id)); foreach ($subs as $sub) { $this->_subGalleries[] = $sub->id; } } } } tmpBkUnjA/ansel-3.0.1/lib/GalleryMode/Normal.php0000644013775000244210000002563312233764127022105 0ustar aadsi255domain users * @package Ansel */ class Ansel_GalleryMode_Normal extends Ansel_GalleryMode_Base { /** * The array of supported features * * @var array */ protected $_features = array('subgalleries', 'stacks', 'sort_images', 'image_captions', 'faces', 'slideshow', 'zipdownload', 'upload'); /** * Get the children of this gallery. * * @param integer $perm The permissions to limit to. * @param integer $from The child to start at. * @param integer $count The number of children to return. * * @return array A mixed array of Ansel_Gallery and Ansel_Image objects * that are children of this gallery. */ public function getGalleryChildren($perm = Horde_Perms::SHOW, $from = 0, $to = 0) { $galleries = array(); $num_galleries = 0; if ($this->hasSubGalleries()) { $storage = $GLOBALS['injector']->getInstance('Ansel_Storage'); /* Get the number of images and galleries */ $numimages = $this->countImages(); $num_galleries = $storage->countGalleries( $GLOBALS['registry']->getAuth(), array('parent' => $this->_gallery, 'all_levels' => false)); /* Now fetch the subgalleries, but only if we need to */ if ($num_galleries > $from) { $galleries = $storage->listGalleries( array('parent' => $this->_gallery->id, 'all_levels' => false, 'from' => $from, 'count' => $to, 'sort_by' => 'name')); } } /* Now grab any images if we still have room */ if (($to - count($galleries) > 0) || ($from == 0 && $to == 0) && $this->_gallery->get('images')) { try { $images = $this->getImages(max(0, $from - $num_galleries), $to - count($galleries)); } catch (Ansel_Exception $e) { Horde::logMessage($e->getMessage(), 'ERR'); $images = array(); } } else { $images = array(); } return array_merge($galleries, $images); } /** * Get an array describing where this gallery is in a breadcrumb trail. * * @return An array of 'title' and 'navdata' hashes with the [0] element * being the deepest part. */ public function getGalleryCrumbData() { $trail = array(); $text = htmlspecialchars($this->_gallery->get('name')); $navdata = array('view' => 'Gallery', 'gallery' => $this->_gallery->id, 'slug' => $this->_gallery->get('slug')); $trail[] = array('title' => $text, 'navdata' => $navdata); $parent_list = array_reverse($this->_gallery->getParents()); foreach ($parent_list as $p) { $text = htmlspecialchars($p->get('name')); $navdata = array('view' => 'Gallery', 'gallery' => $p->id, 'slug' => $p->get('slug')); $trail[] = array('title' => $text, 'navdata' => $navdata); } return $trail; } /** * Return the count this gallery's children * * @param integer $perm The permissions to require. * @param boolean $galleries_only Only include galleries, no images. * * @return integer The count of this gallery's children. */ public function countGalleryChildren($perm = Horde_Perms::SHOW, $galleries_only = false) { if (!$galleries_only && !$this->hasSubGalleries()) { return $this->_gallery->get('images'); } $gCnt = $GLOBALS['injector']->getInstance('Ansel_Storage') ->countGalleries( $GLOBALS['registry']->getAuth(), array('perm' => $perm, 'parent' => $this->_gallery, 'all_levels' => false)); if (!$galleries_only) { $iCnt = $this->countImages(false); } else { $iCnt = 0; } return $gCnt + $iCnt; } /** * Lists a slice of the image ids in this gallery. * * @param integer $from The image to start listing. * @param integer $count The numer of images to list. * * @return array An array of image_ids */ public function listImages($from = 0, $count = 0) { return $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listImages(array( 'gallery_id' => $this->_gallery->id, 'offset' => $from, 'limit' => $count)); } /** * Move images from this gallery to another. * * @param array $images The image ids to move. * @param Ansel_Gallery $gallery The gallery to move images into. * * @return boolean * @throws Ansel_Exception * @throws Horde_Exception_PermissionDenied */ public function moveImagesTo($images, $gallery) { if (!$gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { throw new Horde_Exception_PermissionDenied(("Access denied moving photos to this gallery.")); } elseif (!$this->_gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::DELETE)) { throw new Horde_Exception_PermissionDenied(_("Access denied removing photos from this gallery.")); } /* Sanitize image ids, and see if we're removing our key image. */ $ids = array(); foreach ($images as $imageId) { $ids[] = (int)$imageId; if ($imageId == $this->_gallery->get('default')) { $this->_gallery->set('default', null, true); } } $GLOBALS['injector']->getInstance('Ansel_Storage')->setImagesGallery($ids, $gallery->id); $this->_gallery->updateImageCount(count($ids), false); $gallery->updateImageCount(count($ids), true); /* Expire the cache since we have no reason to save() the gallery */ if ($GLOBALS['conf']['ansel_cache']['usecache']) { $GLOBALS['injector']->getInstance('Horde_Cache')->expire('Ansel_Gallery' . $gallery->id); $GLOBALS['injector']->getInstance('Horde_Cache')->expire('Ansel_Gallery' . $this->_gallery->id); } return count($ids); } /** * Remove an image from Ansel. * * @param integer | Ansel_Image $image The image id or object * @param boolean $isStack This represents a stack image * * @return boolean * @throws Horde_Exception_NotFound */ public function removeImage($image, $isStack) { // Make sure $image is an Ansel_Image; if not, try loading it. if (!($image instanceof Ansel_Image)) { $image = $this->_gallery->getImage($image); } else { // Make sure the image is in this gallery. if (abs($image->gallery) != $this->_gallery->id) { throw new Horde_Exception_NotFound(_("Image not found in gallery.")); } } /* Was this image the gallery's key image? */ if ($this->_gallery->get('default') == $image->id) { $this->_gallery->set('default', null); $this->_gallery->set('default_type', 'auto'); } /* Delete cached files from VFS. */ $image->deleteCache(); /* Delete original image from VFS. */ try { $GLOBALS['injector']->getInstance('Horde_Core_Factory_Vfs')->create('images')->deleteFile($image->getVFSPath('full'), $image->getVFSName('full')); } catch (Horde_Vfs_Exception $e) {} /* Delete from storage */ $GLOBALS['injector']->getInstance('Ansel_Storage')->removeImage($image->id); if (!$isStack) { $this->_gallery->updateImageCount(1, false); } /* Update the modified flag if we are not a stack image */ if (!$isStack) { $this->_gallery->set('last_modified', time()); } /* Save all gallery changes */ $this->_gallery->save(); /* Clear the image's tags */ $image->setTags(array()); /* Clear the image's faces */ if ($image->facesCount) { Ansel_Faces::delete($image); } /* Clear any comments */ if (($GLOBALS['conf']['comments']['allow'] == 'all' || ($GLOBALS['conf']['comments']['allow'] == 'authenticated' && $GLOBALS['registry']->getAuth())) && $GLOBALS['registry']->hasMethod('forums/deleteForum')) { try { $result = $GLOBALS['registry']->forums->deleteForum('ansel', $image->id); } catch (Horde_Exception $e) { Horde::logMessage($e, 'ERR'); return false; } } return true; } /** * Gets a slice of the images in this gallery. * * @param integer $from The image to start fetching. * @param integer $count The numer of images to return. * * @param array An array of Ansel_Image objects */ public function getImages($from = 0, $count = 0) { $images = $GLOBALS['injector']->getInstance('Ansel_Storage') ->getImages(array('gallery_id' => $this->_gallery->id, 'count' => $count, 'from' => $from)); return array_values($images); } /** * Checks if the gallery has any subgallery * * @return boolean */ public function hasSubGalleries() { return $this->_gallery->get('has_subgalleries') == 1; } /** * Returns the number of images in this gallery and, optionally, all * sub-galleries. * * @param boolean $subgalleries Determines whether subgalleries should * be counted or not. * * @return integer number of images in this gallery */ public function countImages($subgalleries = false) { if ($subgalleries && $this->hasSubGalleries()) { $count = $this->countImages(false); $galleries = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(array('parent' => $this->_gallery->id)); foreach ($galleries as $galleryId => $gallery) { $count += $gallery->countImages(); } return $count; } return $this->_gallery->get('images'); } } tmpBkUnjA/ansel-3.0.1/lib/GalleryMode/Base.php0000644013775000244210000001034412233764127021520 0ustar aadsi255domain users * @package Ansel */ abstract class Ansel_GalleryMode_Base { const MODE_NORMAL = 0; const MODE_DATE = 1; /** * @var Ansel_Gallery */ protected $_gallery; /** * * @var array */ protected $_features = array(); /** * Constructor * * @param Ansel_Gallery $gallery The gallery to bind to. * * @return Ansel_GalleryMode_Base */ public function __construct($gallery) { $this->_gallery = $gallery; } public function hasFeature($feature) { return in_array($feature, $this->_features); } /** * @TODO: Figure out if we can get rid of this and only include it in the * objects that actually need it. * @param array $date Date parts array */ public function setDate($date = array()) { } /** * * @return array Date parts array. */ public function getDate() { return array(); } /** * Get the children of this gallery. * * @param integer $perm The permissions to limit to. * @param integer $from The child to start at. * @param integer $count The number of children to return. * * @return array A mixed array of Ansel_Gallery and Ansel_Image objects * that are children of this gallery. */ abstract public function getGalleryChildren($perm = Horde_Perms::SHOW, $from = 0, $to = 0); /** * Return the count this gallery's children * * @param integer $perm The permissions to require. * @param boolean $galleries_only Only include galleries, no images. * * @return integer The count of this gallery's children. */ abstract public function countGalleryChildren($perm = Horde_Perms::SHOW, $galleries_only = false); /** * Get an array describing where this gallery is in a breadcrumb trail. * * @return An array of 'title' and 'navdata' hashes with the [0] element * being the deepest part. */ abstract public function getGalleryCrumbData(); /** * List a slice of the image ids in this gallery. * * @param integer $from The image to start listing. * @param integer $count The numer of images to list. * * @return array An array of image_ids */ abstract public function listImages($from = 0, $count = 0); /** * Gets a slice of the images in this gallery. * * @param integer $from The image to start fetching. * @param integer $count The numer of images to return. * * @param array An array of Ansel_Image objects */ abstract public function getImages($from = 0, $count = 0); /** * Move images from this gallery to another. * * @param array $images The image ids to move. * @param Ansel_Gallery $gallery The gallery to move images into. * * @return boolean * @throws Ansel_Exception * @throws Horde_Exception_PermissionDenied */ abstract public function moveImagesTo($images, $gallery); /** * Remove an image from Ansel. * * @param integer | Ansel_Image $image The image id or object * @param boolean $isStack This represents a stack image * * @return boolean */ abstract public function removeImage($image, $isStack); /** * Checks if the gallery has any subgallery * * @return boolean */ abstract public function hasSubGalleries(); /** * Returns the number of images in this gallery and, optionally, all * sub-galleries. * * @param boolean $subgalleries Determine whether subgalleries should * be counted or not. * * @return integer The number of images in this gallery */ abstract public function countImages($subgalleries = false); } tmpBkUnjA/ansel-3.0.1/lib/Gallery.php0000644013775000244210000011604112233764127020042 0ustar aadsi255domain users * @package Ansel */ class Ansel_Gallery implements Serializable { /** * Serializable version constant */ const VERSION = 3; /** * The share object for this gallery. * * @var Horde_Share_Object */ protected $_share; /** * The gallery mode helper * * @var Ansel_GalleryMode_* object */ protected $_modeHelper; /** * The Ansel_Gallery constructor. * * @param Horde_Share_Object The share representing this gallery. * * @return Ansel_Gallery */ public function __construct(Horde_Share_Object $share) { $this->_share = $share; $this->_setModeHelper( $share->get('view_mode') ? $share->get('view_mode') : 'Normal'); } /** * Helper for accessing the gallery id * * @param string $property The property * * @return mixed */ public function __get($property) { switch ($property) { case 'id': return $this->_share->getId(); default: return null; } } /** * Get a gallery property * * @param string $property The property to return. * * @return mixed The value. */ public function get($property) { $value = $this->_share->get($property); if ($property == 'style') { $value = unserialize($value); } return $value; } /** * * @return array An array of Ansel_Gallery objects. */ public function getParents() { $p = $this->_share->getParents(); if (!empty($p)) { return $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->buildGalleries($this->_share->getParents()); } else { return array(); } } /** * * @return Ansel_Gallery */ public function getParent() { $p = $this->_share->getParent(); if (!empty($p)) { return $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->buildGallery($this->_share->getParent()); } else { return null; } } public function setPermission(Horde_Perms_Permission $permission, $update = true) { $this->_share->setPermission($permission, $update); } /** * Get the gallery's share object. * * @return Horde_Share_Object */ public function getShare() { return $this->_share; } /** * Check for special capabilities of this gallery. * * @param string $feature The feature to check for. * * @return boolean */ public function hasFeature($feature) { // First check for purely Ansel_Gallery features // Currently we have none of these. // Delegate to the modeHelper return $this->_modeHelper->hasFeature($feature); } /** * Simple factory to set the proper mode object. * * @TODO: Use DI * @param string $type The mode to use * * @return Ansel_Gallery_Mode object */ protected function _setModeHelper($type = 'Normal') { $type = basename($type); $class = 'Ansel_GalleryMode_' . $type; $this->_modeHelper = new $class($this); } /** * Checks if the user can download the full photo * * @return boolean Whether or not user can download full photos */ public function canDownload() { if ($GLOBALS['registry']->getAuth() && ($GLOBALS['registry']->getAuth() == $this->get('owner') || $GLOBALS['registry']->isAdmin(array('permission' => 'ansel:admin')))) { return true; } switch ($this->_share->get('download')) { case 'all': return true; case 'authenticated': return $GLOBALS['registry']->isAuthenticated(); case 'edit': return $this->_share->hasPermission( $GLOBALS['registry']->getAuth(), Horde_Perms::EDIT); case 'hook': try { return Horde::callHook('can_download', array($this->id)); } catch (Horde_Exception_HookNotSet $e) {} default: return false; } } /** * Saves any changes to this object to the backend permanently. * * @throws Ansel_Exception */ public function save() { // Check for invalid characters in the slug. $slug = $this->get('slug'); if ($slug && preg_match('/[^a-zA-Z0-9_@]/', $slug)) { throw new InvalidArgumentException( sprintf(_("Could not save gallery, the slug, \"%s\", contains invalid characters."), $slug)); } // Check for slug uniqueness if (!empty($this->_oldSlug) && $slug != $this->_oldSlug) { if ($GLOBALS['injector']->getInstance('Ansel_Storage')->galleryExists(null, $slug)) { throw InvalidArgumentException( sprintf(_("Could not save gallery, the slug, \"%s\", already exists."), $slug)); } } if ($GLOBALS['conf']['ansel_cache']['usecache']) { $GLOBALS['injector']->getInstance('Horde_Cache') ->expire('Ansel_Gallery' . $this->id); } try { $this->_share->save(); } catch (Horde_Share_Exception $e) { Horde::logMessage($e->getMessage(), 'ERR'); throw new Ansel_Exception($e); } } /** * Update the gallery image count. * * @param integer $images Number of images in action * @param boolean $add True if adding, false if removing * * @throws Ansel_Exception */ public function updateImageCount($images, $add = true) { /* Updating self */ if ($add) { $this->set('images', $this->get('images') + $images); } else { $this->set('images', $this->_share->get('images') - $images); } $this->save(); /* Make sure we get rid of key image/stacks if no more images */ if (!$this->get('images')) { $this->resetKeyImage(); } /* Need to expire the cache for the gallery that was changed */ if ($GLOBALS['conf']['ansel_cache']['usecache']) { $GLOBALS['injector']->getInstance('Horde_Cache') ->expire('Ansel_Gallery' . $this->id); } } /** * Adds an Ansel_Image object to this gallery. * * @param Ansel_Image $image The ansel image object to add * @param boolean $default Set this image as the gallery's key image. * * @return integer The new image id */ public function addImageObject(Ansel_Image $image, $default = false) { // Normal is the only view mode that can accurately update counts $vMode = $this->get('view_mode'); if ($vMode != 'Normal') { $this->_setModeHelper('Normal'); } // Make sure it's taken as a new image $image->id = null; $image->gallery = $this->id; $image->sort = $this->countImages(); $image->save(); $this->updateImageCount(1); // Should this be the key image? if ($default) { $this->set('default', $image->id); $this->clearStacks(); } /* Save all changes to the gallery */ $this->save(); // Return to the proper view mode if ($vMode != 'Normal') { $this->_setModeHelper($vMode); } return $image->id; } /** * Add an image to this gallery. * * @param array $image_data The image to add. Keys include: *
     *    image_filename   - The filename of the image [REQUIRED].
     *    data             - The binary image data [REQUIRED]
     *    image_caption    - The caption/description. Defaults to filename.
     *    image_type       - The MIME type of the image. Attempts to detect.
     *  
* 'image_caption', and 'data'. Optional keys * include 'image_filename' and 'image_type' * * @param boolean $default Make this image the new default tile image. * * @return integer The id of the new image. */ public function addImage(array $image_data, $default = false) { global $conf; /* Normal is the only view mode that can accurately update counts */ $vMode = $this->get('view_mode'); if ($vMode != 'Normal') { $this->_setModeHelper('Normal'); } $resetStack = false; if (empty($image_data['image_caption'])) { $image_data['image_caption'] = $image_data['image_filename']; } $image_data['gallery_id'] = $this->id; $image_data['image_sort'] = $this->countImages(); /* Create the image object */ $image = new Ansel_Image($image_data); /* Check for a supported multi-page image */ if ($image->isMultiPage() === true) { $params['name'] = $image->getImagePageCount() . ' page image: ' . $image->filename; $mGallery = $GLOBALS['injector']->getInstance('Ansel_Storage') ->createGallery($params, $this->_share->getPermission(), $this); $i = 1; foreach ($image as $page) { $page->caption = sprintf(_("Page %d"), $i++); $mGallery->addImageObject($page); } $mGallery->save(); return $page->id; } /* If this was a single, normal image, continue */ $result = $image->save(); if (empty($image_data['image_id'])) { $this->updateImageCount(1); if ($this->countImages() < 5) { $resetStack = true; } } /* Should this be the key image? */ if (!$default && $this->get('default_type') == 'auto') { $this->set('default', $image->id); $resetStack = true; } elseif ($default) { $this->set('default', $image->id); $this->set('type', 'manual'); } /* Reset the gallery key image stacks if needed. */ if ($resetStack) { $this->clearStacks(); } /* Update the modified flag and save gallery changes */ $this->set('last_modified', time()); /* Save all changes to the gallery */ $this->save(); /* Return to the proper view mode */ if ($vMode != 'Normal') { $this->_setModeHelper($vMode); } /* Return the ID of the new image. */ return $image->id; } /** * Clear all of this gallery's key image stacks from the VFS and the * gallery's data store. * * @throws Ansel_Exception */ public function clearStacks() { $ids = @unserialize($this->get('default_prettythumb')); if (is_array($ids)) { try { foreach ($ids as $imageId) { $this->removeImage($imageId, true); } } catch (Horde_Exception_NotFound $e) { throw new Ansel_Exception($e); } } // Using the set function here so we can efficently update the db $this->set('default_prettythumb', '', true); } /** * Removes all generated and cached thumbnails for this gallery. */ public function clearThumbs() { $images = $this->listImages(); foreach ($images as $id) { $image = $this->getImage($id); $image->deleteCache('thumb'); } } /** * Removes all generated and cached views for this gallery. */ public function clearViews() { $images = $this->listImages(); foreach ($images as $id) { $image = $this->getImage($id); $image->deleteCache('all'); } } /** * Reset the gallery's key image. This will force Ansel to attempt to fetch * a new key image the next time one is requested. */ public function resetKeyImage() { $this->clearStacks(); $this->set('default', 0); $this->set('default_type', 'auto'); $this->save(); } /** * Move images from this gallery to a new gallery. * * @param array $images An array of image ids. * @param Ansel_Gallery $gallery The gallery to move the images to. * * @return integer The number of images moved. */ public function moveImagesTo(array $images, Ansel_Gallery $gallery) { return $this->_modeHelper->moveImagesTo($images, $gallery); } /** * Copy image and related data to specified gallery. * * @param array $images An array of image ids. * @param Ansel_Gallery $gallery The gallery to copy images to. * * @return integer The number of images copied * @throws Ansel_Exception */ public function copyImagesTo(array $images, Ansel_Gallery $gallery) { if (!$gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { throw new Horde_Exception_PermissionDenied( _("Access denied copying photos to this gallery.")); } $imgCnt = 0; foreach ($images as $imageId) { $img = $this->getImage($imageId); // Note that we don't pass the tags when adding the image..see below $newId = $gallery->addImage(array( 'image_caption' => $img->caption, 'data' => $img->raw(), 'image_filename' => $img->filename, 'image_type' => $img->getType(), 'image_uploaded_date' => $img->uploaded)); /* Copy any tags */ $tags = $img->getTags(); $GLOBALS['injector']->getInstance('Ansel_Tagger') ->tag($newId, $tags, $gallery->get('owner'), 'image'); // Check that new image_id doesn't have existing attributes, // throw exception if it does. $newAttributes = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getImageAttributes($newId); if (count($newAttributes)) { throw new Ansel_Exception(_("Image already has existing attributes.")); } $exif = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getImageAttributes($imageId); if (is_array($exif) && count($exif) > 0) { foreach ($exif as $name => $value){ $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->saveImageAttribute($newId, $name, $value); } } ++$imgCnt; } return $imgCnt; } /** * Set the order of an image in this gallery. * * @param integer $imageId The image to sort. * @param integer $pos The sort position of the image. * * @throws Ansel_Exception */ public function setImageOrder($imageId, $pos) { $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->setImageSortOrder($imageId, $pos); } /** * Remove the given image from this gallery. * * @param mixed $image Image to delete. Can be an Ansel_Image * or an image ID. * * @param boolean $isStack Indicates if this image represents a stack image. * @throws Horde_Exception_NotFound, Ansel_Exception */ public function removeImage($image, $isStack = false) { $this->_modeHelper->removeImage($image, $isStack); } /** * Returns this share's owner's Identity object. * * @return Horde_Prefs_Identity object for the owner of this gallery. */ public function getIdentity() { return $GLOBALS['injector'] ->getInstance('Horde_Core_Factory_Identity') ->create($this->get('owner')); } /** * Output the HTML for this gallery's tile. * * @param Ansel_Gallery $parent The parent Ansel_Gallery object * @param Ansel_Style $style A style object to use. * @param boolean $mini Force the use of a mini thumbnail? * @param array $params Any additional parameters the Ansel_Tile * object may need. * * @return Ansel_Tile_Gallery */ public function getTile(Ansel_Gallery $parent = null, Ansel_Style $style = null, $mini = false, array $params = array()) { if (!is_null($parent) && is_null($style)) { $style = $parent->getStyle(); } return Ansel_Tile_Gallery::getTile($this, $style, $mini, $params); } /** * Get all children of this share. * * @param string $user The user to use for checking perms * @param integer $perm Horde_Perms::* constant. If NULL will return * all shares regardless of permissions. * @param boolean $allLevels Return all levels. * * @return array An array of Ansel_Gallery objects * @throws Ansel_Exception */ public function getChildren($user, $perm = Horde_Perms::SHOW, $allLevels = true) { try { return $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->buildGalleries($this->_share->getChildren($user, $perm, $allLevels)); } catch (Horde_Share_Exception $e) { throw new Ansel_Exception($e); } } /** * Get the children of this gallery. * * @param integer $perm The permissions to limit to. * @param integer $from The child to start at. * @param integer $to The child to end with. * @param boolean $noauto Prevent auto * * @return A mixed array of Ansel_Gallery and Ansel_Image objects that are * children of this gallery. */ public function getGalleryChildren($perm = Horde_Perms::SHOW, $from = 0, $to = 0, $noauto = true) { return $this->_modeHelper->getGalleryChildren($perm, $from, $to, $noauto); } /** * Return the count of this gallery's children * * @param integer $perm The permissions to require. * @param boolean $galleries_only Only include galleries, no images. * @param boolean $noauto Do not auto drill down into gallery tree. * * @return integer The count of this gallery's children. */ public function countGalleryChildren($perm = Horde_Perms::SHOW, $galleries_only = false, $noauto = true) { return $this->_modeHelper->countGalleryChildren( $perm, $galleries_only, $noauto); } public function countChildren($user, $perm = Horde_Perms::SHOW, $allLevels = true) { return $this->_share->CountChildren($user, $perm, $allLevels); } /** * Lists a slice of the image ids in this gallery. * * @param integer $from The image to start listing. * @param integer $count The numer of images to list. * * @return array An array of image_ids */ public function listImages($from = 0, $count = 0) { return $this->_modeHelper->listImages($from, $count); } /** * Gets a slice of the images in this gallery. * * @param integer $from The image to start fetching. * @param integer $count The numer of images to return. * * @param array An array of Ansel_Image objects */ public function getImages($from = 0, $count = 0) { return $this->_modeHelper->getImages($from, $count); } /** * Return the most recently added images in this gallery. * * @param integer $limit The maximum number of images to return. * * @return array An array of Ansel_Image objects */ public function getRecentImages($limit = 10) { return $GLOBALS['injector']->getInstance('Ansel_Storage') ->getRecentImages(array($this->id), $limit); } /** * Returns the image in this gallery corresponding to the given id. * * @param integer $id The ID of the image to retrieve. * * @return Ansel_Image The image object corresponding to the given id. */ public function &getImage($id) { return $GLOBALS['injector']->getInstance('Ansel_Storage')->getImage($id); } /** * Checks if the gallery has any subgallery * * @return boolean */ public function hasSubGalleries() { return $this->_modeHelper->hasSubGalleries(); } /** * Returns the number of images in this gallery and, optionally, all * sub-galleries. * * @param boolean $subgalleries Determines whether subgalleries should * be counted or not. * * @return integer number of images in this gallery */ public function countImages($subgalleries = false) { return $this->_modeHelper->countImages($subgalleries); } /** * Returns the key image for this gallery. * * @param Ansel_Style $style Force the use of this style, if it's available * otherwise use whatever style is choosen for * this gallery. If prettythumbs are not * available then we always use ansel_default * style. * * @return mixed The image_id of the key image or false. */ public function getKeyImage(Ansel_Style $style = null) { if (is_null($style)) { $style = $this->getStyle(); } if ($style->keyimage_type != 'Thumb') { $thumbstyle = $style->keyimage_type; $styleHash = $style->getHash($thumbstyle); // First check for the existence of a key image in the specified style if ($this->get('default_prettythumb')) { $thumbs = @unserialize($this->get('default_prettythumb')); } if (!isset($thumbs) || !is_array($thumbs)) { $thumbs = array(); } if (!empty($thumbs[$styleHash])) { return $thumbs[$styleHash]; } // Don't already have one, must generate it. $params = array('gallery' => $this, 'style' => $style); try { $iview = Ansel_ImageGenerator::factory($style->keyimage_type, $params); $img = $iview->create(); // Note the gallery_id is negative for generated stacks $iparams = array( 'image_filename' => $this->get('name'), 'image_caption' => $this->get('name'), 'data' => $img->raw(), 'image_sort' => 0, 'gallery_id' => -$this->id); $newImg = new Ansel_Image($iparams); $newImg->save(); $prettyData = serialize( array_merge($thumbs, array($styleHash => $newImg->id))); $this->set('default_prettythumb', $prettyData, true); // Make sure the hash is saved since it might be different then // the gallery's $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->ensureHash($styleHash); return $newImg->id; } catch (Ansel_Exception $e) { // Might not support the requested style...try ansel_default // but protect against infinite recursion. Horde::logMessage($e->getMessage(), 'DEBUG'); if ($style->keyimage_type != 'plain') { return $this->getKeyImage(Ansel::getStyleDefinition('ansel_default')); } } } else { // We are just using an image thumbnail. if ($this->countImages()) { if ($default = $this->get('default')) { return $default; } $keys = $this->listImages(); $this->set('default', $keys[count($keys) - 1]); $this->set('default_type', 'auto'); $this->save(); return $keys[count($keys) - 1]; } if ($this->hasSubGalleries()) { // Fall through to a key image of a sub gallery. try { $galleries = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->listGalleries(array('parent' => $this->id, 'all_levels' => false)); foreach ($galleries as $gallery) { if ($default_img = $gallery->getKeyImage($style)) { return $default_img; } } } catch (Ansel_Exception $e) { return false; } } } // Could not find a key image return false; } /** * Returns this gallery's tags. * * @return array of tag info * @throws Horde_Exception */ public function getTags() { if ($this->_share->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::READ)) { return $GLOBALS['injector']->getInstance('Ansel_Tagger') ->getTags($this->id, 'gallery'); } else { throw new Horde_Exception_PermissionDenied(_("Access denied viewing this gallery.")); } } /** * Set/replace this gallery's tags. * * @param array $tags An array of tag names to associate with this image. * * @throws Horde_Exception_PermissionDenied */ public function setTags(array $tags, $replace = true) { if ($this->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { if ($replace) { $GLOBALS['injector'] ->getInstance('Ansel_Tagger') ->replaceTags( $this->id, $tags, $this->get('owner'), 'gallery'); } else { $GLOBALS['injector'] ->getInstance('Ansel_Tagger') ->tag( $this->id, $tags, $this->get('owner'), 'gallery'); } } else { throw new Horde_Exception_PermissionDenied(_("Access denied adding tags to this gallery.")); } } /** * Remove a single tag from this gallery's tag collection * * @param string $tag The tag name to remove. */ public function removeTag($tag) { if ($this->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::EDIT)) { $GLOBALS['injector'] ->getInstance('Ansel_Tagger') ->untag( (string)$this->id, $tag, 'gallery'); } } /** * Return the style definition for this gallery. * * @return Ansel_Style The style definition array. */ public function getStyle() { // No styles allowed per admin. if (!$GLOBALS['conf']['image']['prettythumbs']) { return Ansel::getStyleDefinition('ansel_default'); } if (!$this->get('style')) { // No style configured, use user's prefered default $style = Ansel::getStyleDefinition( $GLOBALS['prefs']->getValue('default_gallerystyle')); } else { // Explicitly defined style $style = $this->get('style'); } // Check browser requirements. If we require PNG support, and do not // have it, revert to the basic ansel_default style. if ($style->requiresPng() && $GLOBALS['conf']['image']['type'] != 'png') { $style = Ansel::getStyleDefinition('ansel_default'); } return $style; } /** * Checks to see if a user has a given permission. * * @param string $userid The userid of the user. * @param integer $permission A Horde_Perms::* constant to test for. * @param string $creator The creator of the event. * * @return boolean Whether or not $userid has $permission. */ public function hasPermission($userid, $permission, $creator = null) { if ($userid == $this->get('owner') || $GLOBALS['registry']->isAdmin(array('permission' => 'ansel:admin'))) { return true; } return $this->_share->hasPermission($userid, $permission, $creator); } /** * Returns the permission of this share. * * @return Horde_Perms_Permission Permission object that represents the * permissions on this share. */ public function getPermission() { return $this->_share->getPermission(); } /** * Check user age limtation * * @return boolean */ public function isOldEnough() { global $session; if (($GLOBALS['registry']->getAuth() && $this->get('owner') == $GLOBALS['registry']->getAuth()) || empty($GLOBALS['conf']['ages']['limits']) || !$this->get('age')) { return true; } // Do we have the user age already cheked? if (!$session->exists('ansel', 'user_age')) { $session->set('ansel', 'user_age', 0); $user_age = 0; } else { $user_age = $session->get('ansel', 'user_age'); if ($user_age >= $this->get('age')) { return true; } } // Can we hook user's age? if ($GLOBALS['conf']['ages']['hook'] && $GLOBALS['registry']->isAuthenticated()) { try { $result = Horde::callHook('user_age', array(), 'ansel'); } catch (Horde_Exception_HookNotSet $e) {} if (is_int($result)) { $session->set('ansel', 'user_age', $result); $user_age = $result; } } return ($user_age >= $this->get('age')); } /** * Determine if we need to unlock a password protected gallery * * @return boolean */ public function hasPasswd() { if ($GLOBALS['registry']->getAuth() && ($GLOBALS['registry']->getAuth() == $this->get('owner') || $GLOBALS['registry']->isAdmin(array('permission' => 'ansel:admin')))) { return false; } $passwd = $this->get('passwd'); if (empty($passwd)) { return false; } elseif ($GLOBALS['session']->get('ansel', 'passwd/' . $this->id)) { $GLOBALS['session']->set('ansel', 'passwd/' . $this->id, hash('md5', $this->get('passwd'))); return false; } return true; } /** * Sets this gallery's parent gallery. * * @param mixed $parent An Ansel_Gallery or a gallery_id. * * @throws Ansel_Exception */ public function setParent($parent) { /* Make sure we have a gallery object */ if (!is_null($parent) && !($parent instanceof Ansel_Gallery)) { $parent = $GLOBALS['injector'] ->getInstance('Ansel_Storage') ->getGallery($parent); } /* Check this now since we don't know if we are updating the DB or not */ $old = $this->getParent(); $reset_has_subgalleries = false; if (!is_null($old)) { $vMode = $old->get('view_mode'); if ($vMode != 'Normal') { $old->set('view_mode', 'Normal'); } $cnt = $old->countGalleryChildren(Horde_Perms::READ, true); if ($vMode != 'Normal') { $old->set('view_mode', $vMode); } if ($cnt == 1) { /* Count is 1, and we are about to delete it */ $reset_has_subgalleries = true; if (!$old->countImages()) { $old->resetKeyImage(); } } } /* Call the parent class method */ try { $this->_share->setParent(!is_null($parent) ? $parent->getShare() : null); } catch (Horde_Share_Exception $e) { throw new Ansel_Exception($e); } /* Tell the parent the good news */ if (!is_null($parent) && !$parent->get('has_subgalleries')) { $parent->set('has_subgalleries', '1', true); } Horde::logMessage('Ansel_Gallery parent successfully set', 'DEBUG'); /* Gallery parent changed, safe to change the parent's attributes */ if ($reset_has_subgalleries) { $old->set('has_subgalleries', 0, true); } } /** * Sets an attribute value in this object. * * @param string $attribute The attribute to set. * @param mixed $value The value for $attribute. * @param boolean $update Commit only this change to storage. * * @throws Ansel_Exception */ public function set($attribute, $value, $update = false) { if ($attribute == 'slug') { $this->_oldSlug = $this->get('slug'); } /* Need to serialize the style object */ if ($attribute == 'style') { $value = serialize($value); } if ($attribute == 'view_mode' && $this->get('view_mode') != $value) { //$mode = isset($attributes['attribute_view_mode']) ? $attributes['attribute_view_mode'] : 'Normal'; $this->_setModeHelper($value); } try { $this->_share->set($attribute, $value, $update); } catch (Horde_Share_Exception $e) { throw new Ansel_Exception($e); } } public function setDate($date) { $this->_modeHelper->setDate($date); } public function getDate() { return $this->_modeHelper->getDate(); } /** * Get an array describing where this gallery is in a breadcrumb trail. * * @return An array of 'title' and 'navdata' hashes with the [0] element * being the deepest part. */ public function getGalleryCrumbData() { return $this->_modeHelper->getGalleryCrumbData(); } /** * Serialize this object. * * @return string The serialized data. */ public function serialize() { $data = array( self::VERSION, $this->_share ); return serialize($data); } public function unserialize($data) { $data = @unserialize($data); if (!is_array($data) || !isset($data[0]) || ($data[0] != self::VERSION)) { throw new Exception('Cache version change'); } $this->_share = $data[1]; $this->_setModeHelper($this->get('view_mode')); } /** * Returns a json representation of this gallery. * * @param boolean $full Return all information (subgalleries and images)? * * @return StdClass An object describing the gallery *
     * 'id' - gallery id
     * 'p'  - gallery's parent's id (null if top level)
     * 'pn' - gallery's parent's name (null if top level)
     * 'n'  - gallery name
     * 'dc' - date created
     * 'dm' - date modified
     * 'd'  - description
     * 'ki' - key image
     * 'sg' - an object with the following properties:
     *      'n'  - gallery name
     *      'dc' - date created
     *      'dm' - date modified
     *      'd'  - description
     *      'ki' - key image
     *
     *  'imgs' - an array of image objects with the following properties:
     *      'id'  - the image id
     *      'url' - the image url
     * 
*/ public function toJson($full = false) { // @TODO: Support date grouped galleries $vMode = $this->get('view_mode'); if ($vMode != 'Normal') { $this->_setModeHelper('Normal'); } $style = Ansel::getStyleDefinition('ansel_mobile'); $json = new StdClass(); $json->id = $this->id; $json->n = $this->get('name'); $json->dc = $this->get('date_created'); $json->dm = $this->get('last_modified'); $json->d = $this->get('desc'); $json->ki = Ansel::getImageUrl($this->getKeyImage($style), 'thumb', false, $style)->toString(true); $json->imgs = array(); // Parent $parents = $this->getParents(); if (empty($parents)) { $json->p = null; $json->pn = null; } else { $p = array_pop($parents); $json->p =$p->id; $json->pn = $p->get('name'); } if ($full) { $json->tiny = ($GLOBALS['conf']['image']['tiny'] && ($GLOBALS['conf']['vfs']['src'] == 'direct' || $this->_share->hasPermission('', Horde_Perms::READ))); $json->sg = array(); if ($this->hasSubGalleries()) { $sgs = $this->getChildren( $GLOBALS['registry']->getAuth(), Horde_Perms::READ, false);//GLOBALS['injector']->getInstance('Ansel_Storage')->listGalleries(array('parent' => $this->id, 'all_levels' => false)); foreach ($sgs as $g) { $json->sg[] = $g->toJson(); } } $images = $this->getImages(); foreach ($images as $img) { $i = new StdClass(); $i->id = $img->id; $i->url = Ansel::getImageUrl($img->id, 'thumb', false, $style)->toString(true); $i->screen = Ansel::getImageUrl($img->id, 'screen', $json->tiny, Ansel::getStyleDefinition('ansel_default'))->toString(true); $i->fn = $img->filename; $json->imgs[] = $i; } } if ($vMode != 'Normal') { $this->_setModeHelper($vMode); } return $json; } public function toArray() { $fields = array( 'date_created', 'last_modified', 'owner', 'name', 'desc', 'default', 'default_type', 'default_prettythumb', 'images', 'has_subgalleries', 'slug', 'age', 'download', 'passwd', 'faces', 'view_mode'); $gallery = array(); foreach ($fields as $field) { $gallery[$field] = $this->get($field); } $gallery['id'] = $this->id; return $gallery; } } tmpBkUnjA/ansel-3.0.1/lib/Block/0000755013775000244210000000000012233765141016756 5ustar aadsi255domain userstmpBkUnjA/ansel-3.0.1/lib/Block/RecentComments.php0000644013775000244210000002014512233764127022422 0ustar aadsi255domain users */ class Ansel_Block_RecentComments extends Horde_Core_Block { /** * TODO * * @var Ansel_Gallery */ private $_gallery = null; /** */ public function __construct($app, $params = array()) { parent::__construct($app, $params); $this->enabled = ($GLOBALS['registry']->images->hasComments() && $GLOBALS['registry']->hasMethod('forums/getThreadsBatch')); $this->_name = _("Recent Photo Comments"); } /** * * @return array */ protected function _params() { $params = array( 'gallery' => array( 'name' => _("Gallery"), 'type' => 'enum', 'default' => '__random', 'values' => array('all' => 'All') ) ); $storage = $GLOBALS['injector']->getInstance('Ansel_Storage'); if (empty($GLOBALS['conf']['gallery']['listlimit']) || ($storage->countGalleries( $GLOBALS['registry']->getAuth(), array('perm' => Horde_Perms::READ)) < $GLOBALS['conf']['gallery']['listlimit'])) { foreach ($storage->listGalleries(array('perm' => Horde_Perms::READ)) as $gal) { $params['gallery']['values'][$gal->id] = $gal->get('name'); } } return $params; } /** */ protected function _title() { if ($this->_params['gallery'] != 'all') { try { $gallery = $this->_getGallery(); } catch (Ansel_Exception $e) { return Ansel::getUrlFor('view', array('view' => 'List'), true)->link() . _("Gallery") . ''; } // Build the gallery name. if (isset($this->_params['gallery'])) { $name = htmlspecialchars($gallery->get('name')); } $viewurl = Ansel::getUrlFor('view', array('gallery' => $gallery->id, 'view' => 'Gallery', 'slug' => $gallery->get('slug')), true); } else { $viewurl = Ansel::getUrlFor('view', array('view' => 'List'), true); $name = _("All Galleries"); } return sprintf(_("Recent Comments In %s"), $viewurl->link() . $name . ''); } /** */ protected function _content() { global $registry; if ($this->_params['gallery'] == 'all') { $threads = $registry->call('forums/list', array(0, 'ansel')); $image_ids = array(); foreach ($threads as $thread) { $image_ids[] = $thread['forum_name']; } } else { try { $gallery = $this->_getGallery(); } catch (Ansel_Exception $e) { return $e->getMessage(); } $results = array(); $image_ids = $gallery->listImages(); } $results = array(); $threads = $registry->call('forums/getThreadsBatch', array($image_ids, 'message_timestamp', 1, false, 'ansel', null, 0, 10)); foreach ($threads as $image_id => $messages) { foreach ($messages as $message) { $message['image_id'] = $image_id; $results[] = $message; } } $results = $this->_asortbyindex($results, 'message_timestamp'); $html = '
' . '' . ''; foreach ($results as $comment) { try { $image = $GLOBALS['injector']->getInstance('Ansel_Storage')->getImage($comment['image_id']); $url = Ansel::getUrlFor('view', array('view' => 'Image', 'gallery' => abs($image->gallery), 'image' => $comment['image_id']), true); $caption = substr($image->caption, 0, 30); if (strlen($image->caption) > 30) { $caption .= '...'; } $html .= ''; } catch (Ansel_Exception $e) {} } $html .= '
' . _("Date") . '' . _("Image") . '' . _("Subject") . '' . _("By") . '
' . strftime('%x', $comment['message_timestamp']) . '' . $url->link(array('onmouseout' => '$("ansel_preview").hide();$("ansel_preview").update("");', 'onmouseover' => 'previewImage(event, ' . $comment['image_id'] . ');')) . ($image->caption == '' ? $image->filename : $caption) . '' . $comment['message_subject'] . '' . $comment['message_author'] . '
'; return $html; } /** * @return Ansel_Gallery * @throws Horde_Exception_NotFound * @throws Horde_Exception_PermissionDenied */ private function _getGallery() { // Make sure we haven't already selected a gallery. if ($this->_gallery instanceof Ansel_Gallery) { return $this->_gallery; } // Get the gallery object and cache it. if (isset($this->_params['gallery']) && $this->_params['gallery'] != '__random') { $this->_gallery = $GLOBALS['injector']->getInstance('Ansel_Storage')->getGallery($this->_params['gallery']); } else { $this->_gallery =$GLOBALS['injector']->getInstance('Ansel_Storage')->getRandomGallery(); } if (empty($this->_gallery)) { throw new Horde_Exception_NotFound(_("Gallery does not exist.")); } elseif (!$this->_gallery->hasPermission($GLOBALS['registry']->getAuth(), Horde_Perms::READ)) { throw new Horde_Exception_PermissionDenied(_("Access denied viewing this gallery.")); } // Return a reference to the gallery. return $this->_gallery; } /** * Numerically sorts an associative array by a specific index. * * Designed to ease sorting stories by a timestamp when combining seperate * channels into one array. * * @param array $sortarray The array to sort. * @param string $index The index that contains the numerical value * to sort by. */ private function _asortbyindex ($sortarray, $index) { $lastindex = count ($sortarray) - 1; for ($subindex = 0; $subindex < $lastindex; $subindex++) { $lastiteration = $lastindex - $subindex; for ($iteration = 0; $iteration < $lastiteration; $iteration++) { $nextchar = 0; if ($sortarray[$iteration][$index] < $sortarray[$iteration + 1][$index]) { $temp = $sortarray[$iteration]; $sortarray[$iteration] = $sortarray[$iteration + 1]; $sortarray[$iteration + 1] = $temp; } } } return ($sortarray); } } tmpBkUnjA/ansel-3.0.1/lib/Block/Gallery.php0000644013775000244210000001331012233764127021067 0ustar aadsi255domain users * @author Marcus Ryan */ class Ansel_Block_Gallery extends Horde_Core_Block { /** * @var Ansel_Gallery */ private $_gallery = null; /** */ public function __construct($app, $params = array()) { parent::__construct($app, $params); $this->_name = _("Gallery"); } /** */ protected function _params() { $params = array( 'gallery' => array( 'name' => _("Gallery"), 'type' => 'enum', 'default' => '__random', 'values' => array('__random' => _("Random gallery")) ), 'perpage' => array( 'name' => _("Maximum number of photos to display (0 means unlimited)"), 'type' => 'int', 'default' => 20 ), 'use_lightbox' => array( 'name' => _("Use a lightbox to view photos"), 'type' => 'checkbox', 'default' => true ) ); $storage = $GLOBALS['injector']->getInstance('Ansel_Storage'); if (empty($GLOBALS['conf']['gallery']['listlimit']) || ($storage->countGalleries( $GLOBALS['registry']->getAuth(), array('perm' => Horde_Perms::READ)) < $GLOBALS['conf']['gallery']['listlimit'])) { foreach ($storage->listGalleries() as $gal) { $params['gallery']['values'][$gal->id] = $gal->get('name'); } } return $params; } /** */ protected function _title() { try { $gallery = $this->_getGallery(); } catch (Ansel_Exception $e) { return Ansel::getUrlFor('view', array('view' => 'List'), true)->link() . $this->getName() . ''; } // Build the gallery name. if (isset($this->_params['gallery']) && $this->_params['gallery'] == '__random') { $name = _("Random Gallery") . ': ' . $gallery->get('name'); } else { $name = $gallery->get('name'); } $viewurl = Ansel::getUrlFor('view', array('view' => 'Gallery', 'gallery' => $gallery->id, 'slug' => $gallery->get('slug')), true); return $viewurl->link() . htmlspecialchars($name) . ''; } /** */ protected function _content() { try { $gallery = $this->_getGallery(); } catch (Ansel_Exception $e) { return $e->getMessage(); } $params = array('gallery_id' => $gallery->id, 'count' => $this->_params['perpage']); if (!empty($this->_params['use_lightbox'])) { $params['lightbox'] = true; } $html = Ansel::embedCode($params); // Be nice to people with