build: reanimate the dead

Fix build with ndn-cxx 0.7.1 and ChronoSync 0.5.3

* Adapt to new API
* Upgrade to Qt5
* Several other bugs

Refs: #4563, #4087
Change-Id: Ic55d687caade08f557f9b9ec3e9569bc96798710
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..f475e24
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,27 @@
+name: Build
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  linux:
+    runs-on: ${{ matrix.os }}
+    name: ${{ matrix.os }} build
+
+    strategy:
+      matrix:
+        os: [Ubuntu-18.04, Ubuntu-20.04]
+
+    env:
+      NODE_LABELS: "Linux Ubuntu ${{ matrix.os }}"
+      WAF_JOBS: 2
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Run build script
+      run: |
+        ./.jenkins
diff --git a/.gitignore b/.gitignore
index 530be1d..051dacb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
 *.DS_Store
 *~
 tmp/
+.waf3-*-*/
diff --git a/.gitmodules b/.gitmodules
index e6c1609..462f6b1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,4 +1,4 @@
 [submodule "ChronoSync"]
 	path = ChronoSync
-	url = ../ChronoSync.git
+	url = git://github.com/named-data/ChronoSync.git
 	branch = master
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 07f904c..261097c 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -19,11 +19,7 @@
     sudo apt-get -qq -y install build-essential
     sudo apt-get -qq -y install libssl-dev libsqlite3-dev
 
-    if has Ubuntu-12.04 $NODE_LABELS; then
-        sudo apt-get install -qq -y libboost1.48-all-dev
-    else
-        sudo apt-get install -qq -y libboost-all-dev
-    fi
-
-    sudo apt-get install -qq -y qt4-dev-tools protobuf-compiler libprotobuf-dev libqt4-sql-sqlite
+    sudo apt-get -qq -y install libprotobuf-dev protobuf-compiler libevent-dev libcrypto++-dev
+    sudo apt-get -qq -y install libboost-all-dev
+    sudo apt-get -qq -y install qt5-default
 fi
diff --git a/.jenkins.d/10-ndn-cxx.sh b/.jenkins.d/10-ndn-cxx.sh
index 32bc8e1..841aa3f 100755
--- a/.jenkins.d/10-ndn-cxx.sh
+++ b/.jenkins.d/10-ndn-cxx.sh
@@ -23,9 +23,9 @@
 
 pushd ndn-cxx >/dev/null
 
-./waf configure -j1 --color=yes --enable-shared --disable-static --without-osx-keychain
-./waf -j1 --color=yes
-sudo ./waf install -j1 --color=yes
+./waf configure --color=yes --enable-shared --disable-static --without-osx-keychain
+./waf --color=yes
+sudo ./waf install --color=yes
 
 popd >/dev/null
 popd >/dev/null
diff --git a/.jenkins.d/11-chronosync.sh b/.jenkins.d/11-chronosync.sh
index 78aeab1..b7484fd 100755
--- a/.jenkins.d/11-chronosync.sh
+++ b/.jenkins.d/11-chronosync.sh
@@ -11,9 +11,9 @@
 git submodule init
 git submodule update
 pushd ChronoSync >/dev/null
-sudo ./waf -j1 --color=yes distclean
-./waf -j1 --color=yes configure
-./waf -j1 --color=yes build
-sudo ./waf install -j1 --color=yes
+sudo ./waf --color=yes distclean
+./waf --color=yes configure
+./waf --color=yes build
+sudo ./waf install --color=yes
 sudo ldconfig || true
 popd >/dev/null
diff --git a/.jenkins.d/20-build.sh b/.jenkins.d/20-build.sh
index fca152a..4174800 100755
--- a/.jenkins.d/20-build.sh
+++ b/.jenkins.d/20-build.sh
@@ -3,22 +3,8 @@
 set -e
 
 # Cleanup
-sudo ./waf -j1 --color=yes distclean
-
-# Configure/build in release mode
-./waf -j1 --color=yes configure
-./waf -j1 --color=yes build
-
-# Cleanup
-sudo ./waf -j1 --color=yes distclean
-
-# Configure/build in debug mode
-./waf -j1 --color=yes configure --debug
-./waf -j1 --color=yes build
-
-# Cleanup
-sudo ./waf -j1 --color=yes distclean
+sudo ./waf --color=yes distclean
 
 # Configure/build in optimized mode with tests
-./waf -j1 --color=yes configure --with-tests
-./waf -j1 --color=yes build
+./waf --color=yes configure --debug --with-tests
+./waf --color=yes build
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 3ad69cd..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-# For Ubuntu platform only
-
-language: cpp
-os:
-  - linux
-compiler:
-  - gcc
-notifications:
-  email:
-    on_success: always
-    on_failure: always
-before_install:
-  - travis_retry sudo apt-get update
-  - travis_retry sudo apt-get install -qq libssl-dev libprotobuf-dev protobuf-compiler libboost1.48-all-dev libcrypto++-dev libsqlite3-dev
-script:
-  - ./.jenkins
diff --git a/README.md b/README.md
index 7d28d23..c0a2bb7 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,7 @@
 1. When you switch to a new room, you'll temporarily see yourself in two nodes for a minute or so. It won't affect others, just yourself. Hopefully it's not so disturbing.
 2. Sometimes you may not get the most up-to-date chat history.
 
-## For those who wants (or is forced to) compile from source code
+## For those who want (or is forced to) compile from source code
 -----------------------------------------------------------------
 
 ### Compilation steps for OSX
@@ -48,7 +48,7 @@
 
 Congratulations! build/ChronoChat.app is ready to use (on a Mac).
 
-### Compilation steps for Ubuntu 12.04, 13.10, 14.04
+### Compilation steps for Ubuntu 18.04, 20.04
 
 1. Configure [NDN PPA repository](http://named-data.net/doc/NFD/current/FAQ.html#how-to-start-using-ndn-ppa-repository-on-ubuntu-linux) and install NFD if you don't have it yet.
 
@@ -56,9 +56,9 @@
 
 2. Install ChronoChat dependencies
 
-        sudo apt-get install libprotobuf-dev protobuf-compiler libevent-dev
-        sudo apt-get install libboost1.48-all-dev
-        sudo apt-get install qt4-dev-tools
+        sudo apt-get install libprotobuf-dev protobuf-compiler libevent-dev libcrypto++-dev
+        sudo apt-get install libboost-all-dev
+        sudo apt-get install qt5-default
 
 3. Fetch source code with submodules
 
@@ -82,4 +82,5 @@
         ./waf configure
         ./waf
 
-Congratulations! build/ChronoChat is ready to use.  Do not forget to start ccnd and configure FIB before using ChronoChat.
+Congratulations! build/ChronoChat is ready to use.  Do not forget to start NFD and configure FIB before using ChronoChat.
+For ease of debugging, you can generate trusted identities in your local TPM using `debug-tools/create-cert`.
diff --git a/debug-tools/create-cert.cc b/debug-tools/create-cert.cc
index 09861d3..5941783 100644
--- a/debug-tools/create-cert.cc
+++ b/debug-tools/create-cert.cc
@@ -6,64 +6,50 @@
  */
 
 #include <ndn-cxx/security/key-chain.hpp>
+#include <ndn-cxx/security/signing-helpers.hpp>
+#include <ndn-cxx/util/io.hpp>
+#include <iostream>
 
 using namespace ndn;
+using ndn::security::Certificate;
+using ndn::security::pib::Identity;
+using ndn::security::pib::Key;
+
+void
+generateCertificate(KeyChain& keyChain, Name name) {
+  try {
+    keyChain.getPib().getIdentity(name);
+  } catch (ndn::security::pib::Pib::Error&) {
+    Identity id = keyChain.createIdentity(name);
+    Key key = id.getDefaultKey();
+    Certificate cert = Certificate(key.getDefaultCertificate());
+
+    ndn::SignatureInfo signatureInfo;
+    signatureInfo.setValidityPeriod(ndn::security::ValidityPeriod(
+      time::system_clock::now(), time::system_clock::now() + time::days(7300)));
+
+    keyChain.sign(cert, security::signingByIdentity("/ndn/test").setSignatureInfo(signatureInfo));
+    keyChain.setDefaultCertificate(key, cert);
+
+    std::cout << "Generated cert " << cert.getName() << " with KeyLocator " << cert.getKeyLocator().value() << std::endl;
+  }
+}
 
 int
 main()
 {
-  KeyChain keyChain("sqlite3", "file");
-  std::vector<CertificateSubjectDescription> subjectDescription;
+  KeyChain keyChain;
 
-  Name root("/ndn");
-  Name rootCertName = keyChain.createIdentity(root);
+  // Root certificate
+  generateCertificate(keyChain, "/ndn/test");
 
-  Name test("/ndn/test");
-  Name testKeyName = keyChain.generateRsaKeyPairAsDefault(test, true);
-  shared_ptr<IdentityCertificate> testCert =
-    keyChain.prepareUnsignedIdentityCertificate(testKeyName, root,
-                                                time::system_clock::now(),
-                                                time::system_clock::now() + time::days(7300),
-                                                subjectDescription);
-  keyChain.signByIdentity(*testCert, root);
-  keyChain.addCertificateAsIdentityDefault(*testCert);
+  // Test certificates
+  generateCertificate(keyChain, "/ndn/test/alice");
+  generateCertificate(keyChain, "/ndn/test/bob");
+  generateCertificate(keyChain, "/ndn/test/cathy");
 
-  Name alice("/ndn/test/alice");
-  if(!keyChain.doesIdentityExist(alice))
-    {
-      Name aliceKeyName = keyChain.generateRsaKeyPairAsDefault(alice, true);
-      shared_ptr<IdentityCertificate> aliceCert =
-        keyChain.prepareUnsignedIdentityCertificate(aliceKeyName, test,
-                                                    time::system_clock::now(),
-                                                    time::system_clock::now() + time::days(7300),
-                                                    subjectDescription);
-      keyChain.signByIdentity(*aliceCert, test);
-      keyChain.addCertificateAsIdentityDefault(*aliceCert);
-    }
-
-  Name bob("/ndn/test/bob");
-  if(!keyChain.doesIdentityExist(bob))
-    {
-      Name bobKeyName = keyChain.generateRsaKeyPairAsDefault(bob, true);
-      shared_ptr<IdentityCertificate> bobCert =
-        keyChain.prepareUnsignedIdentityCertificate(bobKeyName, test,
-                                                    time::system_clock::now(),
-                                                    time::system_clock::now() + time::days(7300),
-                                                    subjectDescription);
-      keyChain.signByIdentity(*bobCert, test);
-      keyChain.addCertificateAsIdentityDefault(*bobCert);
-    }
-
-  Name cathy("/ndn/test/cathy");
-  if(!keyChain.doesIdentityExist(cathy))
-    {
-      Name cathyKeyName = keyChain.generateRsaKeyPairAsDefault(cathy, true);
-      shared_ptr<IdentityCertificate> cathyCert =
-        keyChain.prepareUnsignedIdentityCertificate(cathyKeyName, test,
-                                                    time::system_clock::now(),
-                                                    time::system_clock::now() + time::days(7300),
-                                                    subjectDescription);
-      keyChain.signByIdentity(*cathyCert, test);
-      keyChain.addCertificateAsIdentityDefault(*cathyCert);
-    }
+  std::ofstream file("security/test-anchor.cert");
+  ndn::io::saveBlock(keyChain.getPib().getIdentity("/ndn/test")
+                             .getDefaultKey().getDefaultCertificate().wireEncode(),
+                     file);
 }
diff --git a/debug-tools/dump-cert.cc b/debug-tools/dump-cert.cc
deleted file mode 100644
index 7050175..0000000
--- a/debug-tools/dump-cert.cc
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/**
- * Copyright (C) 2013 Regents of the University of California.
- * @author: Yingdi Yu <yingdi@cs.ucla.edu>
- * See COPYING for copyright and distribution information.
- */
-
-#include "common.hpp"
-#include <ndn-cxx/security/key-chain.hpp>
-#include <ndn-cxx/face.hpp>
-
-using namespace ndn;
-
-int
-main()
-{
-  Name root("/ndn");
-  Name test("/ndn/test");
-  Name alice("/ndn/test/alice");
-  Name bob("/ndn/test/bob");
-  Name cathy("/ndn/test/cathy");
-
-  KeyChain keyChain("sqlite3", "file");
-
-  if (!keyChain.doesIdentityExist(root) ||
-      !keyChain.doesIdentityExist(test) ||
-      !keyChain.doesIdentityExist(alice) ||
-      !keyChain.doesIdentityExist(bob) ||
-      !keyChain.doesIdentityExist(cathy))
-    return 1;
-
-  Face face;
-
-  face.put(*keyChain.getCertificate(keyChain.getDefaultCertificateNameForIdentity(test)));
-  face.put(*keyChain.getCertificate(keyChain.getDefaultCertificateNameForIdentity(alice)));
-  face.put(*keyChain.getCertificate(keyChain.getDefaultCertificateNameForIdentity(bob)));
-  face.put(*keyChain.getCertificate(keyChain.getDefaultCertificateNameForIdentity(cathy)));
-
-  face.getIoService().run();
-}
diff --git a/security/validation-chat.conf b/security/validation-chat.conf
new file mode 100644
index 0000000..f6ce776
--- /dev/null
+++ b/security/validation-chat.conf
@@ -0,0 +1,61 @@
+rule
+{
+  id "ALL1"
+  for data
+  filter
+  {
+    type name
+    regex ^<>*<%F0.>(<>*)$
+  }
+  checker
+  {
+    type customized
+    sig-type rsa-sha256
+    key-locator
+    {
+      type name
+      hyper-relation
+      {
+        k-regex ^([^<KEY>]*)<KEY><>*$
+        k-expand \\1
+        h-relation is-strict-prefix-of
+        p-regex ^<>*<%F0.>(<>*)$
+        p-expand \\1
+      }
+    }
+  }
+}
+
+rule
+{
+  id "ALL2"
+  for data
+  filter
+  {
+    type name
+    regex (<>*)$
+  }
+  checker
+  {
+    type customized
+    sig-type rsa-sha256
+    key-locator
+    {
+      type name
+      hyper-relation
+      {
+        k-regex ^([^<KEY>]*)<KEY><>$
+        k-expand \\1
+        h-relation is-strict-prefix-of
+        p-regex (<>*)$
+        p-expand \\1
+      }
+    }
+  }
+}
+
+trust-anchor
+{
+  type dir
+  dir "."
+}
diff --git a/security/validation-contact-manager.conf b/security/validation-contact-manager.conf
new file mode 100644
index 0000000..cb14f1a
--- /dev/null
+++ b/security/validation-contact-manager.conf
@@ -0,0 +1,117 @@
+rule
+{
+  id "ENDORSED"
+  for data
+  filter
+  {
+    type name
+    regex ^([^<DNS>]*)<DNS><ENDORSED>
+  }
+  checker
+  {
+    type customized
+    sig-type rsa-sha256
+    key-locator
+    {
+      type name
+      hyper-relation
+      {
+        k-regex ^([^<KEY>]*)<KEY><>*$
+        k-expand \\1
+        h-relation equal
+        p-regex ^([^<DNS>]*)<DNS><ENDORSED>
+        p-expand \\1
+      }
+    }
+  }
+}
+
+rule
+{
+  id "ENDORSEE"
+  for data
+  filter
+  {
+    type name
+    regex ^([^<DNS>]*)<DNS><><ENDORSEE>
+  }
+  checker
+  {
+    type customized
+    sig-type rsa-sha256
+    key-locator
+    {
+      type name
+      hyper-relation
+      {
+        k-regex ^([^<KEY>]*)<KEY><>*$
+        k-expand \\1
+        h-relation equal
+        p-regex ^([^<DNS>]*)<DNS><><ENDORSEE>
+        p-expand \\1
+      }
+    }
+  }
+}
+
+rule
+{
+  id "PROFILE"
+  for data
+  filter
+  {
+    type name
+    regex ^([^<DNS>]*)<DNS><PROFILE>
+  }
+  checker
+  {
+    type customized
+    sig-type rsa-sha256
+    key-locator
+    {
+      type name
+      hyper-relation
+      {
+        k-regex ^([^<KEY>]*)<KEY><>*$
+        k-expand \\1
+        h-relation equal
+        p-regex ^([^<DNS>]*)<DNS><PROFILE>
+        p-expand \\1
+      }
+    }
+  }
+}
+
+rule
+{
+  id "ALL"
+  for data
+  filter
+  {
+    type name
+    regex ^(<>*)$
+  }
+  checker
+  {
+    type customized
+    sig-type rsa-sha256
+    key-locator
+    {
+      type name
+      hyper-relation
+      {
+        k-regex ^([^<KEY>]*)<KEY><>*$
+        k-expand \\1
+        h-relation is-strict-prefix-of
+        p-regex ^(<>*)$
+        p-expand \\1
+      }
+    }
+  }
+}
+
+trust-anchor
+{
+  type dir
+  dir "."
+}
diff --git a/src/browse-contact-dialog.cpp b/src/browse-contact-dialog.cpp
index 481b418..bf9df24 100644
--- a/src/browse-contact-dialog.cpp
+++ b/src/browse-contact-dialog.cpp
@@ -19,7 +19,7 @@
 
 namespace chronochat {
 
-using ndn::IdentityCertificate;
+using ndn::security::Certificate;
 
 BrowseContactDialog::BrowseContactDialog(QWidget *parent)
   : QDialog(parent)
@@ -106,7 +106,7 @@
 }
 
 void
-BrowseContactDialog::onIdCertReady(const IdentityCertificate& idCert)
+BrowseContactDialog::onIdCertReady(const Certificate& idCert)
 {
   Profile profile(idCert);
 
diff --git a/src/browse-contact-dialog.hpp b/src/browse-contact-dialog.hpp
index a087538..4a081e0 100644
--- a/src/browse-contact-dialog.hpp
+++ b/src/browse-contact-dialog.hpp
@@ -17,7 +17,7 @@
 #include <QTableWidgetItem>
 
 #ifndef Q_MOC_RUN
-#include <ndn-cxx/security/identity-certificate.hpp>
+#include <ndn-cxx/security/certificate.hpp>
 #include <boost/thread/locks.hpp>
 #include <boost/thread/recursive_mutex.hpp>
 #endif
@@ -61,7 +61,7 @@
   onNameListReady(const QStringList& nameList);
 
   void
-  onIdCertReady(const ndn::IdentityCertificate& idCert);
+  onIdCertReady(const ndn::security::Certificate & idCert);
 
 signals:
   void
diff --git a/src/chat-dialog-backend.cpp b/src/chat-dialog-backend.cpp
index 67305f2..234e4a3 100644
--- a/src/chat-dialog-backend.cpp
+++ b/src/chat-dialog-backend.cpp
@@ -16,12 +16,10 @@
 #ifndef Q_MOC_RUN
 #include <boost/iostreams/stream.hpp>
 #include <ndn-cxx/util/io.hpp>
-#include <ndn-cxx/security/validator-regex.hpp>
-#include "logging.h"
+#include "cryptopp.hpp"
 #endif
 
-
-INIT_LOGGER("ChatDialogBackend");
+using namespace CryptoPP;
 
 namespace chronochat {
 
@@ -117,26 +115,8 @@
   m_scheduler = unique_ptr<ndn::Scheduler>(new ndn::Scheduler(m_face->getIoService()));
 
   // initialize validator
-  shared_ptr<ndn::IdentityCertificate> anchor = loadTrustAnchor();
-
-  if (static_cast<bool>(anchor)) {
-    shared_ptr<ndn::ValidatorRegex> validator =
-      make_shared<ndn::ValidatorRegex>(m_face.get()); // TODO: Change to Face*
-    validator->addDataVerificationRule(
-      make_shared<ndn::SecRuleRelative>("^<>*<%F0.>(<>*)$",
-                                        "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$",
-                                        ">", "\\1", "\\1\\2", true));
-    validator->addDataVerificationRule(
-      make_shared<ndn::SecRuleRelative>("(<>*)$",
-                                        "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$",
-                                        ">", "\\1", "\\1\\2", true));
-    validator->addTrustAnchor(anchor);
-
-    m_validator = validator;
-  }
-  else
-    m_validator = shared_ptr<ndn::Validator>();
-
+  m_validator = make_shared<ndn::security::ValidatorConfig>(*m_face);
+  m_validator->load("security/validation-chat.conf");
 
   // create a new SyncSocket
   m_sock = make_shared<chronosync::Socket>(m_chatroomPrefix,
@@ -147,12 +127,12 @@
                                            m_validator);
 
   // schedule a new join event
-  m_scheduler->scheduleEvent(time::milliseconds(600),
-                             bind(&ChatDialogBackend::sendJoin, this));
+  m_scheduler->schedule(time::milliseconds(600),
+                        bind(&ChatDialogBackend::sendJoin, this));
 
   // cancel existing hello event if it exists
-  if (m_helloEventId != nullptr) {
-    m_scheduler->cancelEvent(m_helloEventId);
+  if (m_helloEventId) {
+    m_helloEventId.cancel();
     m_helloEventId.reset();
   }
 }
@@ -178,19 +158,6 @@
   QIODevice& m_source;
 };
 
-shared_ptr<ndn::IdentityCertificate>
-ChatDialogBackend::loadTrustAnchor()
-{
-  QFile anchorFile(":/security/anchor.cert");
-
-  if (!anchorFile.open(QIODevice::ReadOnly)) {
-    return {};
-  }
-
-  boost::iostreams::stream<IoDeviceSource> anchorFileStream(anchorFile);
-  return ndn::io::load<ndn::IdentityCertificate>(anchorFileStream);
-}
-
 void
 ChatDialogBackend::exitChatroom() {
   if (m_joined)
@@ -212,8 +179,6 @@
 void
 ChatDialogBackend::processSyncUpdate(const std::vector<chronosync::MissingDataInfo>& updates)
 {
-  _LOG_DEBUG("<<< processing Tree Update");
-
   if (updates.empty()) {
     return;
   }
@@ -232,27 +197,18 @@
     if (updates[i].high - updates[i].low < 3) {
       for (chronosync::SeqNo seq = updates[i].low; seq <= updates[i].high; ++seq) {
         m_sock->fetchData(updates[i].session, seq,
-                          [this] (const shared_ptr<const ndn::Data>& data) {
-                            this->processChatData(data, true, true);
-                          },
-                          [this] (const shared_ptr<const ndn::Data>& data, const std::string& msg) {
-                            this->processChatData(data, true, false);
-                          },
-                          ndn::OnTimeout(),
+                          bind(&ChatDialogBackend::processChatData, this, _1, true, true),
+                          bind(&ChatDialogBackend::processChatData, this, _1, true, false),
+                          [] (const ndn::Interest& interest) {},
                           2);
-        _LOG_DEBUG("<<< Fetching " << updates[i].session << "/" << seq);
       }
     }
     else {
       // There are too many msgs to fetch, let's just fetch the latest one
       m_sock->fetchData(updates[i].session, updates[i].high,
-                        [this] (const shared_ptr<const ndn::Data>& data) {
-                          this->processChatData(data, false, true);
-                        },
-                        [this] (const shared_ptr<const ndn::Data>& data, const std::string& msg) {
-                          this->processChatData(data, false, false);
-                        },
-                        ndn::OnTimeout(),
+                        bind(&ChatDialogBackend::processChatData, this, _1, true, true),
+                        bind(&ChatDialogBackend::processChatData, this, _1, true, false),
+                        [] (const ndn::Interest& interest) {},
                         2);
     }
 
@@ -264,25 +220,23 @@
 }
 
 void
-ChatDialogBackend::processChatData(const ndn::shared_ptr<const ndn::Data>& data,
+ChatDialogBackend::processChatData(const ndn::Data& data,
                                    bool needDisplay,
                                    bool isValidated)
 {
   ChatMessage msg;
 
   try {
-    msg.wireDecode(data->getContent().blockFromValue());
+    msg.wireDecode(data.getContent().blockFromValue());
   }
-  catch (tlv::Error) {
-    _LOG_DEBUG("Errrrr.. Can not parse msg with name: " <<
-               data->getName() << ". what is happening?");
+  catch (tlv::Error&) {
     // nasty stuff: as a remedy, we'll form some standard msg for inparsable msgs
     msg.setNick("inconnu");
     msg.setMsgType(ChatMessage::OTHER);
     return;
   }
 
-  Name remoteSessionPrefix = data->getName().getPrefix(-1);
+  Name remoteSessionPrefix = data.getName().getPrefix(-1);
 
   if (msg.getMsgType() == ChatMessage::LEAVE) {
     BackendRoster::iterator it = m_roster.find(remoteSessionPrefix);
@@ -290,7 +244,7 @@
     if (it != m_roster.end()) {
       // cancel timeout event
       if (static_cast<bool>(it->second.timeoutEventId))
-        m_scheduler->cancelEvent(it->second.timeoutEventId);
+        it->second.timeoutEventId.cancel();
 
       // notify frontend to remove the remote session (node)
       emit sessionRemoved(QString::fromStdString(remoteSessionPrefix.toUri()),
@@ -312,17 +266,17 @@
       BOOST_ASSERT(false);
     }
 
-    uint64_t seqNo = data->getName().get(-1).toNumber();
+    uint64_t seqNo = data.getName().get(-1).toNumber();
 
     // If a timeout event has been scheduled, cancel it.
     if (static_cast<bool>(it->second.timeoutEventId))
-      m_scheduler->cancelEvent(it->second.timeoutEventId);
+      it->second.timeoutEventId.cancel();
 
     // (Re)schedule another timeout event after 3 HELLO_INTERVAL;
     it->second.timeoutEventId =
-      m_scheduler->scheduleEvent(HELLO_INTERVAL * 3,
-                                 bind(&ChatDialogBackend::remoteSessionTimeout,
-                                      this, remoteSessionPrefix));
+      m_scheduler->schedule(HELLO_INTERVAL * 3,
+                            bind(&ChatDialogBackend::remoteSessionTimeout,
+                                 this, remoteSessionPrefix));
 
     // If chat message, notify the frontend
     if (msg.getMsgType() == ChatMessage::CHAT) {
@@ -414,8 +368,8 @@
   prepareControlMessage(msg, ChatMessage::JOIN);
   sendMsg(msg);
 
-  m_helloEventId = m_scheduler->scheduleEvent(HELLO_INTERVAL,
-                                              bind(&ChatDialogBackend::sendHello, this));
+  m_helloEventId = m_scheduler->schedule(HELLO_INTERVAL,
+                                         bind(&ChatDialogBackend::sendHello, this));
   emit newChatroomForDiscovery(Name::Component(m_chatroomName));
 }
 
@@ -426,8 +380,8 @@
   prepareControlMessage(msg, ChatMessage::HELLO);
   sendMsg(msg);
 
-  m_helloEventId = m_scheduler->scheduleEvent(HELLO_INTERVAL,
-                                              bind(&ChatDialogBackend::sendHello, this));
+  m_helloEventId = m_scheduler->schedule(HELLO_INTERVAL,
+                                         bind(&ChatDialogBackend::sendHello, this));
 }
 
 void
@@ -489,7 +443,7 @@
 {
   std::stringstream os;
 
-  CryptoPP::StringSource(digest->buf(), digest->size(), true,
+  CryptoPP::StringSource(digest->data(), digest->size(), true,
                          new CryptoPP::HexEncoder(new CryptoPP::FileSink(os), false));
   return os.str();
 }
diff --git a/src/chat-dialog-backend.hpp b/src/chat-dialog-backend.hpp
index ae7b3da..e9543bb 100644
--- a/src/chat-dialog-backend.hpp
+++ b/src/chat-dialog-backend.hpp
@@ -18,8 +18,9 @@
 #include "chatroom-info.hpp"
 #include "chat-message.hpp"
 #include <mutex>
-#include <socket.hpp>
+#include <ChronoSync/socket.hpp>
 #include <boost/thread.hpp>
+#include <ndn-cxx/security/validator-config.hpp>
 #endif
 
 namespace chronochat {
@@ -35,7 +36,7 @@
   ndn::Name sessionPrefix;
   bool hasNick;
   std::string userNick;
-  ndn::EventId timeoutEventId;
+  ndn::scheduler::EventId timeoutEventId;
 };
 
 class ChatDialogBackend : public QThread
@@ -61,9 +62,6 @@
   void
   initializeSync();
 
-  shared_ptr<ndn::IdentityCertificate>
-  loadTrustAnchor();
-
   void
   exitChatroom();
 
@@ -74,7 +72,7 @@
   processSyncUpdate(const std::vector<chronosync::MissingDataInfo>& updates);
 
   void
-  processChatData(const ndn::shared_ptr<const ndn::Data>& data,
+  processChatData(const ndn::Data& data,
                   bool needDisplay,
                   bool isValidated);
 
@@ -160,24 +158,24 @@
   bool m_isNfdConnected;
   shared_ptr<ndn::Face> m_face;
 
-  Name m_localRoutingPrefix;             // routable local prefix
-  Name m_chatroomPrefix;                 // chatroom sync prefix
-  Name m_userChatPrefix;                 // user chat prefix
-  Name m_routableUserChatPrefix;         // routable user chat prefix
+  Name m_localRoutingPrefix;                                    // routable local prefix
+  Name m_chatroomPrefix;                                        // chatroom sync prefix
+  Name m_userChatPrefix;                                        // user chat prefix
+  Name m_routableUserChatPrefix;                                // routable user chat prefix
 
-  std::string m_chatroomName;            // chatroom name
-  std::string m_nick;                    // user nick
+  std::string m_chatroomName;                                   // chatroom name
+  std::string m_nick;                                           // user nick
 
-  Name m_signingId;                      // signing identity
-  shared_ptr<ndn::Validator> m_validator;// validator
-  shared_ptr<chronosync::Socket> m_sock; // SyncSocket
+  Name m_signingId;                                             // signing identity
+  shared_ptr<ndn::security::ValidatorConfig> m_validator;       // validator
+  shared_ptr<chronosync::Socket> m_sock;                        // SyncSocket
 
-  unique_ptr<ndn::Scheduler> m_scheduler;// scheduler
-  ndn::EventId m_helloEventId;           // event id of timeout
+  unique_ptr<ndn::Scheduler> m_scheduler;                       // scheduler
+  ndn::scheduler::EventId m_helloEventId;                       // event id of timeout
 
-  bool m_joined;                         // true if in a chatroom
+  bool m_joined;                                                // true if in a chatroom
 
-  BackendRoster m_roster;                // User roster
+  BackendRoster m_roster;                                       // User roster
 
   std::mutex m_resumeMutex;
   std::mutex m_nfdConnectionMutex;
diff --git a/src/chat-message.cpp b/src/chat-message.cpp
index 21707d2..7932321 100644
--- a/src/chat-message.cpp
+++ b/src/chat-message.cpp
@@ -23,7 +23,7 @@
   this->wireDecode(chatMsgWire);
 }
 
-template<bool T>
+template<ndn::encoding::Tag T>
 size_t
 ChatMessage::wireEncode(ndn::EncodingImpl<T>& encoder) const
 {
diff --git a/src/chat-message.hpp b/src/chat-message.hpp
index 860ce9f..778f505 100644
--- a/src/chat-message.hpp
+++ b/src/chat-message.hpp
@@ -86,7 +86,7 @@
   setTimestamp(const time_t timestamp);
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& encoder) const;
 
diff --git a/src/chatroom-discovery-backend.cpp b/src/chatroom-discovery-backend.cpp
index 371a119..67dd7fa 100644
--- a/src/chatroom-discovery-backend.cpp
+++ b/src/chatroom-discovery-backend.cpp
@@ -113,11 +113,11 @@
                                                 this, _1));
 
   // add an timer to refresh front end
-  if (m_refreshPanelId != nullptr) {
-    m_scheduler->cancelEvent(m_refreshPanelId);
+  if (m_refreshPanelId) {
+    m_refreshPanelId.cancel();
   }
-  m_refreshPanelId = m_scheduler->scheduleEvent(REFRESH_INTERVAL,
-                                                [this] { sendChatroomList(); });
+  m_refreshPanelId = m_scheduler->schedule(REFRESH_INTERVAL,
+                                           [this] { sendChatroomList(); });
 }
 
 void
@@ -142,10 +142,10 @@
 }
 
 void
-ChatroomDiscoveryBackend::processChatroomData(const ndn::shared_ptr<const ndn::Data>& data)
+ChatroomDiscoveryBackend::processChatroomData(const ndn::Data& data)
 {
   // extract chatroom name by get(-3)
-  Name::Component chatroomName = data->getName().get(-3);
+  Name::Component chatroomName = data.getName().get(-3);
   auto it = m_chatroomList.find(chatroomName);
   if (it == m_chatroomList.end()) {
     m_chatroomList[chatroomName].chatroomName = chatroomName.toUri();
@@ -163,16 +163,15 @@
     }
     else {
       it->second.count = 0;
-      if (m_routableUserDiscoveryPrefix < data->getName()) {
+      if (m_routableUserDiscoveryPrefix < data.getName()) {
         // when two managers exist, the one with "smaller" name take the control
         sendUpdate(chatroomName);
         return;
       }
       else {
-        if (it->second.helloTimeoutEventId != nullptr) {
-          m_scheduler->cancelEvent(it->second.helloTimeoutEventId);
+        if (it->second.helloTimeoutEventId) {
+          it->second.helloTimeoutEventId.cancel();
         }
-        it->second.helloTimeoutEventId = nullptr;
         it->second.isManager = false;
       }
 
@@ -180,35 +179,34 @@
   }
 
   else if (it->second.isParticipant) {
-    if (it->second.localChatroomTimeoutEventId != nullptr)
-      m_scheduler->cancelEvent(it->second.localChatroomTimeoutEventId);
+    if (it->second.localChatroomTimeoutEventId)
+      it->second.localChatroomTimeoutEventId.cancel();
 
     // If a user start a random timer it means that he think his own chatroom is not alive
     // But when he receive some packet, it means that this chatroom is alive, so he can
     // cancel the timer
-    if (it->second.managerSelectionTimeoutEventId != nullptr)
-      m_scheduler->cancelEvent(it->second.managerSelectionTimeoutEventId);
-    it->second.managerSelectionTimeoutEventId = nullptr;
+    if (it->second.managerSelectionTimeoutEventId)
+      it->second.managerSelectionTimeoutEventId.cancel();
 
     it->second.localChatroomTimeoutEventId =
-      m_scheduler->scheduleEvent(HELLO_INTERVAL * 3,
-                                 bind(&ChatroomDiscoveryBackend::localSessionTimeout,
-                                      this, chatroomName));
+      m_scheduler->schedule(HELLO_INTERVAL * 3,
+                            bind(&ChatroomDiscoveryBackend::localSessionTimeout,
+                                 this, chatroomName));
   }
   else {
-    if (!data->getContent().empty()) {
+    if (data.hasContent()) {
       ChatroomInfo chatroom;
-      chatroom.wireDecode(data->getContent().blockFromValue());
+      chatroom.wireDecode(data.getContent().blockFromValue());
       it->second.info = chatroom;
     }
 
-    if (it->second.remoteChatroomTimeoutEventId != nullptr)
-      m_scheduler->cancelEvent(it->second.remoteChatroomTimeoutEventId);
+    if (it->second.remoteChatroomTimeoutEventId)
+      it->second.remoteChatroomTimeoutEventId.cancel();
 
     it->second.remoteChatroomTimeoutEventId =
-      m_scheduler->scheduleEvent(HELLO_INTERVAL * 5,
-                                 bind(&ChatroomDiscoveryBackend::remoteSessionTimeout,
-                                      this, chatroomName));
+      m_scheduler->schedule(HELLO_INTERVAL * 5,
+                            bind(&ChatroomDiscoveryBackend::remoteSessionTimeout,
+                                 this, chatroomName));
   }
   // if this is a chatroom that haven't been print on the discovery panel, print it.
   if(!it->second.isPrint) {
@@ -224,9 +222,9 @@
   if (it == m_chatroomList.end() || it->second.isParticipant == false)
     return;
   it->second.managerSelectionTimeoutEventId =
-    m_scheduler->scheduleEvent(time::milliseconds(m_rangeUniformRandom()),
-                               bind(&ChatroomDiscoveryBackend::randomSessionTimeout,
-                                    this, chatroomName));
+    m_scheduler->schedule(time::milliseconds(m_rangeUniformRandom()),
+                          bind(&ChatroomDiscoveryBackend::randomSessionTimeout,
+                               this, chatroomName));
 }
 
 void
@@ -252,15 +250,15 @@
   if (it != m_chatroomList.end() && it->second.isManager) {
     ndn::Block buf = it->second.info.wireEncode();
 
-    if (it->second.helloTimeoutEventId != nullptr) {
-      m_scheduler->cancelEvent(it->second.helloTimeoutEventId);
+    if (it->second.helloTimeoutEventId) {
+      it->second.helloTimeoutEventId.cancel();
     }
 
     m_sock->publishData(buf.wire(), buf.size(), FRESHNESS_PERIOD, it->second.chatroomPrefix);
 
     it->second.helloTimeoutEventId =
-      m_scheduler->scheduleEvent(HELLO_INTERVAL,
-                                 bind(&ChatroomDiscoveryBackend::sendUpdate, this, chatroomName));
+      m_scheduler->schedule(HELLO_INTERVAL,
+                            bind(&ChatroomDiscoveryBackend::sendUpdate, this, chatroomName));
     // if this is a chatroom that haven't been print on the discovery panel, print it.
     if(!it->second.isPrint) {
       sendChatroomList();
@@ -318,8 +316,8 @@
     it->second.info.removeParticipant(sessionPrefix);
     if (it->second.info.getParticipants().size() == 0) {
       // Before deleting the chatroom, cancel the hello event timer if exist
-      if (it->second.helloTimeoutEventId != nullptr)
-        m_scheduler->cancelEvent(it->second.helloTimeoutEventId);
+      if (it->second.helloTimeoutEventId)
+        it->second.helloTimeoutEventId.cancel();
 
       m_chatroomList.erase(chatroomName);
       Name prefix = sessionPrefix;
@@ -334,18 +332,16 @@
       it->second.isManager = false;
       it->second.isPrint = false;
       it->second.count = 0;
-      if (it->second.helloTimeoutEventId != nullptr)
-        m_scheduler->cancelEvent(it->second.helloTimeoutEventId);
-      it->second.helloTimeoutEventId = nullptr;
+      if (it->second.helloTimeoutEventId)
+        it->second.helloTimeoutEventId.cancel();
 
-      if (it->second.localChatroomTimeoutEventId != nullptr)
-        m_scheduler->cancelEvent(it->second.localChatroomTimeoutEventId);
-      it->second.localChatroomTimeoutEventId = nullptr;
+      if (it->second.localChatroomTimeoutEventId)
+        it->second.localChatroomTimeoutEventId.cancel();
 
       it->second.remoteChatroomTimeoutEventId =
-      m_scheduler->scheduleEvent(HELLO_INTERVAL * 5,
-                                bind(&ChatroomDiscoveryBackend::remoteSessionTimeout,
-                                     this, chatroomName));
+      m_scheduler->schedule(HELLO_INTERVAL * 5,
+                            bind(&ChatroomDiscoveryBackend::remoteSessionTimeout,
+                                 this, chatroomName));
     }
 
     if (it->second.isManager) {
@@ -381,9 +377,9 @@
     m_chatroomList[chatroomName].isManager = false;
     m_chatroomList[chatroomName].count = 0;
     m_chatroomList[chatroomName].isPrint = false;
-    m_scheduler->scheduleEvent(time::milliseconds(600),
-                               bind(&ChatroomDiscoveryBackend::randomSessionTimeout, this,
-                                    chatroomName));
+    m_scheduler->schedule(time::milliseconds(600),
+                          bind(&ChatroomDiscoveryBackend::randomSessionTimeout, this,
+                               chatroomName));
   }
   else {
     // Entering an existing chatroom
@@ -391,15 +387,14 @@
     it->second.isManager = false;
     it->second.chatroomPrefix = newPrefix;
 
-    if (it->second.remoteChatroomTimeoutEventId != nullptr)
-      m_scheduler->cancelEvent(it->second.remoteChatroomTimeoutEventId);
+    if (it->second.remoteChatroomTimeoutEventId)
+     it->second.remoteChatroomTimeoutEventId.cancel();
     it->second.isPrint = false;
-    it->second.remoteChatroomTimeoutEventId = nullptr;
 
     it->second.localChatroomTimeoutEventId =
-      m_scheduler->scheduleEvent(HELLO_INTERVAL * 3,
-                                 bind(&ChatroomDiscoveryBackend::localSessionTimeout,
-                                      this, chatroomName));
+      m_scheduler->schedule(HELLO_INTERVAL * 3,
+                            bind(&ChatroomDiscoveryBackend::localSessionTimeout,
+                                 this, chatroomName));
     emit chatroomInfoRequest(chatroomName.toUri(), false);
   }
 }
@@ -421,18 +416,10 @@
 void
 ChatroomDiscoveryBackend::onIdentityUpdated(const QString& identity)
 {
-  m_chatroomList.clear();
   m_identity = Name(identity.toStdString());
   m_userDiscoveryPrefix.clear();
   m_userDiscoveryPrefix.append(m_identity).append("CHRONOCHAT-DISCOVERYDATA");
   updatePrefixes();
-
-  {
-    std::lock_guard<std::mutex>lock(m_resumeMutex);
-    m_shouldResume = true;
-  }
-
-  m_face->getIoService().stop();
 }
 
 void
@@ -444,11 +431,11 @@
   }
 
   emit chatroomListReady(chatroomList);
-  if (m_refreshPanelId != nullptr) {
-    m_scheduler->cancelEvent(m_refreshPanelId);
+  if (m_refreshPanelId) {
+    m_refreshPanelId.cancel();
   }
-  m_refreshPanelId = m_scheduler->scheduleEvent(REFRESH_INTERVAL,
-                                                [this] { sendChatroomList(); });
+  m_refreshPanelId = m_scheduler->schedule(REFRESH_INTERVAL,
+                                           [this] { sendChatroomList(); });
 }
 
 void
diff --git a/src/chatroom-discovery-backend.hpp b/src/chatroom-discovery-backend.hpp
index d6bf843..ad471ac 100644
--- a/src/chatroom-discovery-backend.hpp
+++ b/src/chatroom-discovery-backend.hpp
@@ -18,7 +18,7 @@
 #include "chatroom-info.hpp"
 #include <boost/random.hpp>
 #include <mutex>
-#include <socket.hpp>
+#include <ChronoSync/socket.hpp>
 #include <boost/thread.hpp>
 #endif
 
@@ -30,13 +30,13 @@
   Name chatroomPrefix;
   ChatroomInfo info;
   // For a chatroom's user to check whether his own chatroom is alive
-  ndn::EventId localChatroomTimeoutEventId;
+  ndn::scheduler::EventId localChatroomTimeoutEventId;
   // If the manager no longer exist, set a random timer to compete for manager
-  ndn::EventId managerSelectionTimeoutEventId;
+  ndn::scheduler::EventId managerSelectionTimeoutEventId;
   // For a user to check the status of the chatroom that he is not in.
-  ndn::EventId remoteChatroomTimeoutEventId;
+  ndn::scheduler::EventId remoteChatroomTimeoutEventId;
   // If the user is manager, he will need the helloEventId to keep track of hello message
-  ndn::EventId helloTimeoutEventId;
+  ndn::scheduler::EventId helloTimeoutEventId;
   // To tell whether the user is in this chatroom
   bool isParticipant;
   // To tell whether the user is the manager
@@ -75,7 +75,7 @@
   processSyncUpdate(const std::vector<chronosync::MissingDataInfo>& updates);
 
   void
-  processChatroomData(const ndn::shared_ptr<const ndn::Data>& data);
+  processChatroomData(const ndn::Data& data);
 
   void
   localSessionTimeout(const Name::Component& chatroomName);
@@ -228,7 +228,7 @@
   shared_ptr<ndn::Face> m_face;
 
   unique_ptr<ndn::Scheduler> m_scheduler;            // scheduler
-  ndn::EventId m_refreshPanelId;
+  ndn::scheduler::EventId m_refreshPanelId;
   shared_ptr<chronosync::Socket> m_sock; // SyncSocket
 
   ChatroomList m_chatroomList;
diff --git a/src/chatroom-info.cpp b/src/chatroom-info.cpp
index 81302bb..aa8efcc 100644
--- a/src/chatroom-info.cpp
+++ b/src/chatroom-info.cpp
@@ -25,7 +25,7 @@
   this->wireDecode(chatroomWire);
 }
 
-template<bool T>
+template<ndn::encoding::Tag T>
 size_t
 ChatroomInfo::wireEncode(ndn::EncodingImpl<T>& encoder) const
 {
diff --git a/src/chatroom-info.hpp b/src/chatroom-info.hpp
index dca4090..81e0fde 100644
--- a/src/chatroom-info.hpp
+++ b/src/chatroom-info.hpp
@@ -95,7 +95,7 @@
   setManager(const Name& manager);
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& encoder) const;
 
diff --git a/src/common.hpp b/src/common.hpp
index c8461df..3b14f79 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -28,7 +28,6 @@
 #include <vector>
 #include <string>
 
-#include <ndn-cxx/common.hpp>
 #include <ndn-cxx/interest.hpp>
 #include <ndn-cxx/data.hpp>
 
@@ -61,7 +60,6 @@
 using ndn::Interest;
 using ndn::Data;
 using ndn::Name;
-using ndn::Exclude;
 using ndn::Block;
 using ndn::Signature;
 using ndn::KeyLocator;
diff --git a/src/conf.cpp b/src/conf.cpp
index fba36b8..d02fe08 100644
--- a/src/conf.cpp
+++ b/src/conf.cpp
@@ -23,7 +23,7 @@
   this->wireDecode(confWire);
 }
 
-template<bool T>
+template<ndn::encoding::Tag T>
 size_t
 Conf::wireEncode(ndn::EncodingImpl<T>& block) const
 {
diff --git a/src/conf.hpp b/src/conf.hpp
index 0626bf1..3b4f394 100644
--- a/src/conf.hpp
+++ b/src/conf.hpp
@@ -60,7 +60,7 @@
   setNick(const std::string& nick);
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& block) const;
 
diff --git a/src/contact-manager.cpp b/src/contact-manager.cpp
index 811130e..2bb5153 100644
--- a/src/contact-manager.cpp
+++ b/src/contact-manager.cpp
@@ -19,9 +19,11 @@
 
 #ifndef Q_MOC_RUN
 #include <ndn-cxx/encoding/buffer-stream.hpp>
-#include <ndn-cxx/util/crypto.hpp>
-#include <ndn-cxx/security/sec-rule-relative.hpp>
-#include <ndn-cxx/security/validator-regex.hpp>
+#include <ndn-cxx/face.hpp>
+#include <ndn-cxx/security/validator.hpp>
+#include <ndn-cxx/security/validator-null.hpp>
+#include <ndn-cxx/security/signing-helpers.hpp>
+#include <ndn-cxx/security/verification-helpers.hpp>
 #include "cryptopp.hpp"
 #include <boost/asio.hpp>
 #include <boost/tokenizer.hpp>
@@ -31,8 +33,6 @@
 
 namespace fs = boost::filesystem;
 
-// INIT_LOGGER("chronochat.ContactManager");
-
 namespace chronochat {
 
 using std::string;
@@ -41,21 +41,13 @@
 
 using ndn::Face;
 using ndn::OBufferStream;
-using ndn::IdentityCertificate;
-using ndn::Validator;
-using ndn::ValidatorRegex;
-using ndn::SecRuleRelative;
-using ndn::OnDataValidated;
-using ndn::OnDataValidationFailed;
-using ndn::OnInterestValidated;
-using ndn::OnInterestValidationFailed;
+using ndn::security::Certificate;
 
 
 ContactManager::ContactManager(Face& face,
                                QObject* parent)
   : QObject(parent)
   , m_face(face)
-  , m_dnsListenerId(0)
 {
   initializeSecurity();
 }
@@ -64,76 +56,11 @@
 {
 }
 
-// private methods
-shared_ptr<IdentityCertificate>
-ContactManager::loadTrustAnchor()
-{
-  shared_ptr<IdentityCertificate> anchor;
-
-  QFile anchorFile(":/security/anchor.cert");
-
-  if (!anchorFile.open(QIODevice::ReadOnly)) {
-    emit warning(QString("Cannot load trust anchor!"));
-    return anchor;
-  }
-
-  qint64 fileSize = anchorFile.size();
-  char* buf = new char[fileSize];
-  anchorFile.read(buf, fileSize);
-
-  try {
-    using namespace CryptoPP;
-
-    OBufferStream os;
-    StringSource(reinterpret_cast<const uint8_t*>(buf), fileSize, true,
-                 new Base64Decoder(new FileSink(os)));
-    anchor = make_shared<IdentityCertificate>();
-    anchor->wireDecode(Block(os.buf()));
-  }
-  catch (CryptoPP::Exception& e) {
-    emit warning(QString("Cannot load trust anchor!"));
-  }
-  catch (IdentityCertificate::Error& e) {
-    emit warning(QString("Cannot load trust anchor!"));
-  }
-  catch(Block::Error& e) {
-    emit warning(QString("Cannot load trust anchor!"));
-  }
-
-  delete [] buf;
-
-  return anchor;
-}
-
 void
 ContactManager::initializeSecurity()
 {
-  shared_ptr<IdentityCertificate> anchor = loadTrustAnchor();
-
-  shared_ptr<ValidatorRegex> validator = make_shared<ValidatorRegex>(boost::ref(m_face));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^([^<DNS>]*)<DNS><ENDORSED>",
-                                                                  "^([^<KEY>]*)<KEY>(<>*)<><ID-CERT>$",
-                                                                  "==", "\\1", "\\1\\2", true));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^([^<DNS>]*)<DNS><><ENDORSEE>",
-                                                                  "^([^<KEY>]*)<KEY>(<>*)<><ID-CERT>$",
-                                                                  "==", "\\1", "\\1\\2", true));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^([^<DNS>]*)<DNS><PROFILE>",
-                                                                  "^([^<KEY>]*)<KEY>(<>*)<><ID-CERT>$",
-                                                                  "==", "\\1", "\\1\\2", true));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^([^<PROFILE-CERT>]*)<PROFILE-CERT>",
-                                                                  "^([^<KEY>]*)<KEY>(<>*<ksk-.*>)<ID-CERT>$",
-                                                                  "==", "\\1", "\\1\\2", true));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>",
-                                                                  "^([^<KEY>]*)<KEY><dsk-.*><ID-CERT>$",
-                                                                  ">", "\\1\\2", "\\1", true));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^([^<KEY>]*)<KEY><dsk-.*><ID-CERT>",
-                                                                  "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$",
-                                                                  "==", "\\1", "\\1\\2", true));
-  validator->addDataVerificationRule(make_shared<SecRuleRelative>("^(<>*)$",
-                                                                  "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$",
-                                                                  ">", "\\1", "\\1\\2", true));
-  validator->addTrustAnchor(anchor);
-  m_validator = validator;
+  m_validator = make_shared<ndn::security::ValidatorConfig>(m_face);
+  m_validator->load("security/validation-contact-manager.conf");
 }
 
 void
@@ -144,11 +71,12 @@
 
   Interest interest(interestName);
   interest.setInterestLifetime(time::milliseconds(1000));
+  interest.setCanBePrefix(true);
   interest.setMustBeFresh(true);
 
-  OnDataValidated onValidated =
+  ndn::security::DataValidationSuccessCallback onValidated =
     bind(&ContactManager::onDnsCollectEndorseValidated, this, _1, identity);
-  OnDataValidationFailed onValidationFailed =
+  ndn::security::DataValidationFailureCallback onValidationFailed =
     bind(&ContactManager::onDnsCollectEndorseValidationFailed, this, _1, _2, identity);
   TimeoutNotify timeoutNotify =
     bind(&ContactManager::onDnsCollectEndorseTimeoutNotify, this, _1, identity);
@@ -163,19 +91,21 @@
     m_bufferedContacts[identity].m_endorseCollection;
 
   if(certIndex >= endorseCollection->getCollectionEntries().size())
-    prepareEndorseInfo(identity);
+    return prepareEndorseInfo(identity);
 
   Name interestName(endorseCollection->getCollectionEntries()[certIndex].certName);
 
   Interest interest(interestName);
   interest.setInterestLifetime(time::milliseconds(1000));
-  interest.setMustBeFresh(true);
+  interest.setMustBeFresh(false);
 
   m_face.expressInterest(interest,
                          bind(&ContactManager::onEndorseCertificateInternal,
                               this, _1, _2, identity, certIndex,
                               endorseCollection->getCollectionEntries()[certIndex].hash),
                          bind(&ContactManager::onEndorseCertificateInternalTimeout,
+                              this, _1, identity, certIndex),
+                         bind(&ContactManager::onEndorseCertificateInternalTimeout,
                               this, _1, identity, certIndex));
 }
 
@@ -202,7 +132,7 @@
     m_bufferedContacts[identity].m_endorseCertList.end();
 
   for (; cIt != cEnd; cIt++, endorseCertCount++) {
-    shared_ptr<Contact> contact = getContact((*cIt)->getSigner().getPrefix(-1));
+    shared_ptr<Contact> contact = getContact((*cIt)->getSigner());
     if (!static_cast<bool>(contact))
       continue;
 
@@ -210,16 +140,17 @@
         !contact->canBeTrustedFor(profile.getIdentityName()))
       continue;
 
-    if (!Validator::verifySignature(**cIt, contact->getPublicKey()))
+    if (!(*cIt)->isValid())
+      continue;
+
+    if (!ndn::security::verifySignature(**cIt, contact->getPublicKey().data(), contact->getPublicKey().size()))
       continue;
 
     const Profile& tmpProfile = (*cIt)->getProfile();
-    if (tmpProfile != profile)
-      continue;
-
     const vector<string>& endorseList = (*cIt)->getEndorseList();
     for (vector<string>::const_iterator eIt = endorseList.begin(); eIt != endorseList.end(); eIt++)
-      endorseCount[*eIt] += 1;
+      if (tmpProfile.get(*eIt) == profile.get(*eIt))
+        endorseCount[*eIt] += 1;
   }
 
   for (Profile::const_iterator pIt = profile.begin(); pIt != profile.end(); pIt++) {
@@ -232,35 +163,36 @@
 }
 
 void
-ContactManager::onDnsSelfEndorseCertValidated(const shared_ptr<const Data>& data,
+ContactManager::onDnsSelfEndorseCertValidated(const Data& data,
                                               const Name& identity)
 {
   try {
     Data plainData;
-    plainData.wireDecode(data->getContent().blockFromValue());
+    plainData.wireDecode(data.getContent().blockFromValue());
     shared_ptr<EndorseCertificate> selfEndorseCertificate =
       make_shared<EndorseCertificate>(boost::cref(plainData));
-    if (Validator::verifySignature(plainData, selfEndorseCertificate->getPublicKeyInfo())) {
+
+    if (ndn::security::verifySignature(plainData, *selfEndorseCertificate)) {
       m_bufferedContacts[identity].m_selfEndorseCert = selfEndorseCertificate;
       fetchCollectEndorse(identity);
     }
     else
-      emit contactInfoFetchFailed(QString::fromStdString(identity.toUri()));
+      emit contactInfoFetchFailed(QString::fromStdString(identity.toUri() + ": verification failed"));
   }
   catch(Block::Error& e) {
-    emit contactInfoFetchFailed(QString::fromStdString(identity.toUri()));
+    emit contactInfoFetchFailed(QString::fromStdString(identity.toUri() + ": block error " + e.what()));
   }
   catch(EndorseCertificate::Error& e) {
-    emit contactInfoFetchFailed(QString::fromStdString(identity.toUri()));
+    emit contactInfoFetchFailed(QString::fromStdString(identity.toUri() + ": cert error " + e.what()));
   }
   catch(Data::Error& e) {
-    emit contactInfoFetchFailed(QString::fromStdString(identity.toUri()));
+    emit contactInfoFetchFailed(QString::fromStdString(identity.toUri() + ": data error " + e.what()));
   }
 }
 
 void
-ContactManager::onDnsSelfEndorseCertValidationFailed(const shared_ptr<const Data>& data,
-                                                     const string& failInfo,
+ContactManager::onDnsSelfEndorseCertValidationFailed(const Data& data,
+                                                     const ndn::security::ValidationError& error,
                                                      const Name& identity)
 {
   // If we cannot validate the Self-Endorse-Certificate, we may retry or fetch id-cert,
@@ -278,23 +210,23 @@
 }
 
 void
-ContactManager::onDnsCollectEndorseValidated(const shared_ptr<const Data>& data,
+ContactManager::onDnsCollectEndorseValidated(const Data& data,
                                              const Name& identity)
 {
   try {
     shared_ptr<EndorseCollection> endorseCollection =
-      make_shared<EndorseCollection>(data->getContent());
+      make_shared<EndorseCollection>(data.getContent().blockFromValue());
     m_bufferedContacts[identity].m_endorseCollection = endorseCollection;
     fetchEndorseCertificateInternal(identity, 0);
   }
-  catch (tlv::Error) {
+  catch (std::runtime_error&) {
     prepareEndorseInfo(identity);
   }
 }
 
 void
-ContactManager::onDnsCollectEndorseValidationFailed(const shared_ptr<const Data>& data,
-                                                    const string& failInfo,
+ContactManager::onDnsCollectEndorseValidationFailed(const Data& data,
+                                                    const ndn::security::ValidationError& error,
                                                     const Name& identity)
 {
   prepareEndorseInfo(identity);
@@ -308,7 +240,7 @@
 }
 
 void
-ContactManager::onEndorseCertificateInternal(const Interest& interest, Data& data,
+ContactManager::onEndorseCertificateInternal(const Interest& interest, const Data& data,
                                              const Name& identity, size_t certIndex,
                                              string hash)
 {
@@ -350,10 +282,12 @@
       interestName.append("DNS").append(m_identity.wireEncode()).append("ENDORSEE");
 
       Interest interest(interestName);
+      interest.setMustBeFresh(true);
       interest.setInterestLifetime(time::milliseconds(1000));
 
-      OnDataValidated onValidated = bind(&ContactManager::onDnsEndorseeValidated, this, _1);
-      OnDataValidationFailed onValidationFailed =
+      ndn::security::DataValidationSuccessCallback onValidated =
+        bind(&ContactManager::onDnsEndorseeValidated, this, _1);
+      ndn::security::DataValidationFailureCallback onValidationFailed =
         bind(&ContactManager::onDnsEndorseeValidationFailed, this, _1, _2);
       TimeoutNotify timeoutNotify = bind(&ContactManager::onDnsEndorseeTimeoutNotify, this, _1);
 
@@ -363,10 +297,10 @@
 }
 
 void
-ContactManager::onDnsEndorseeValidated(const shared_ptr<const Data>& data)
+ContactManager::onDnsEndorseeValidated(const Data& data)
 {
   Data endorseData;
-  endorseData.wireDecode(data->getContent().blockFromValue());
+  endorseData.wireDecode(data.getContent().blockFromValue());
 
   EndorseCertificate endorseCertificate(endorseData);
   m_contactStorage->updateCollectEndorse(endorseCertificate);
@@ -375,8 +309,8 @@
 }
 
 void
-ContactManager::onDnsEndorseeValidationFailed(const shared_ptr<const Data>& data,
-                                              const string& failInfo)
+ContactManager::onDnsEndorseeValidationFailed(const Data& data,
+                                              const ndn::security::ValidationError& error)
 {
   decreaseCollectStatus();
 }
@@ -409,28 +343,30 @@
 
   shared_ptr<Data> data = make_shared<Data>();
   data->setName(dnsName);
+  data->setFreshnessPeriod(time::milliseconds(1000));
 
   EndorseCollection endorseCollection;
   m_contactStorage->getCollectEndorse(endorseCollection);
 
   data->setContent(endorseCollection.wireEncode());
-  m_keyChain.signByIdentity(*data, m_identity);
+
+  m_keyChain.sign(*data, ndn::security::signingByIdentity(m_identity));
 
   m_contactStorage->updateDnsOthersEndorse(*data);
   m_face.put(*data);
 }
 
 void
-ContactManager::onIdentityCertValidated(const shared_ptr<const Data>& data)
+ContactManager::onIdentityCertValidated(const Data& data)
 {
-  shared_ptr<IdentityCertificate> cert = make_shared<IdentityCertificate>(boost::cref(*data));
+  shared_ptr<Certificate> cert = make_shared<Certificate>(boost::cref(data));
   m_bufferedIdCerts[cert->getName()] = cert;
   decreaseIdCertCount();
 }
 
 void
-ContactManager::onIdentityCertValidationFailed(const shared_ptr<const Data>& data,
-                                               const string& failInfo)
+ContactManager::onIdentityCertValidationFailed(const Data& data,
+                                               const ndn::security::ValidationError& error)
 {
   // _LOG_DEBUG("ContactManager::onIdentityCertValidationFailed " << data->getName());
   decreaseIdCertCount();
@@ -472,20 +408,20 @@
 shared_ptr<EndorseCertificate>
 ContactManager::getSignedSelfEndorseCertificate(const Profile& profile)
 {
-  Name certificateName = m_keyChain.getDefaultCertificateNameForIdentity(m_identity);
-
-  shared_ptr<IdentityCertificate> signingCert = m_keyChain.getCertificate(certificateName);
-
+  auto signCert = m_keyChain.getPib().getIdentity(m_identity)
+                            .getDefaultKey().getDefaultCertificate();
   vector<string> endorseList;
   for (Profile::const_iterator it = profile.begin(); it != profile.end(); it++)
     endorseList.push_back(it->first);
 
   shared_ptr<EndorseCertificate> selfEndorseCertificate =
-    make_shared<EndorseCertificate>(boost::cref(*signingCert),
+    make_shared<EndorseCertificate>(boost::cref(signCert),
                                     boost::cref(profile),
                                     boost::cref(endorseList));
 
-  m_keyChain.sign(*selfEndorseCertificate, certificateName);
+  m_keyChain.sign(*selfEndorseCertificate,
+                  ndn::security::signingByIdentity(m_identity).setSignatureInfo(
+                    selfEndorseCertificate->getSignatureInfo()));
 
   return selfEndorseCertificate;
 }
@@ -501,7 +437,7 @@
   data->setContent(selfEndorseCertificate.wireEncode());
   data->setFreshnessPeriod(time::milliseconds(1000));
 
-  m_keyChain.signByIdentity(*data, m_identity);
+  m_keyChain.sign(*data, ndn::security::signingByIdentity(m_identity));
 
   m_contactStorage->updateDnsSelfProfileData(*data);
   m_face.put(*data);
@@ -510,11 +446,14 @@
 shared_ptr<EndorseCertificate>
 ContactManager::generateEndorseCertificate(const Name& identity)
 {
+  auto signCert = m_keyChain.getPib().getIdentity(m_identity)
+                            .getDefaultKey().getDefaultCertificate();
+
   shared_ptr<Contact> contact = getContact(identity);
   if (!static_cast<bool>(contact))
     return shared_ptr<EndorseCertificate>();
 
-  Name signerKeyName = m_keyChain.getDefaultKeyNameForIdentity(m_identity);
+  Name signerKeyName = m_identity;
 
   vector<string> endorseList;
   m_contactStorage->getEndorseList(identity, endorseList);
@@ -524,10 +463,13 @@
                                                           contact->getPublicKey(),
                                                           contact->getNotBefore(),
                                                           contact->getNotAfter(),
+                                                          signCert.getKeyId(),
                                                           signerKeyName,
                                                           contact->getProfile(),
                                                           endorseList));
-  m_keyChain.signByIdentity(*cert, m_identity);
+  m_keyChain.sign(*cert,
+                  ndn::security::signingByIdentity(m_identity)
+                    .setSignatureInfo(cert->getSignatureInfo()));
   return cert;
 
 }
@@ -535,7 +477,7 @@
 void
 ContactManager::publishEndorseCertificateInDNS(const EndorseCertificate& endorseCertificate)
 {
-  Name endorsee = endorseCertificate.getPublicKeyName().getPrefix(-1);
+  Name endorsee = endorseCertificate.getKeyName().getPrefix(-4);
   Name dnsName = m_identity;
   dnsName.append("DNS")
     .append(endorsee.wireEncode())
@@ -545,8 +487,9 @@
   shared_ptr<Data> data = make_shared<Data>();
   data->setName(dnsName);
   data->setContent(endorseCertificate.wireEncode());
+  data->setFreshnessPeriod(time::milliseconds(1000));
 
-  m_keyChain.signByIdentity(*data, m_identity);
+  m_keyChain.sign(*data, ndn::security::signingByIdentity(m_identity));
 
   m_contactStorage->updateDnsEndorseOthers(*data, dnsName.get(-3).toUri());
   m_face.put(*data);
@@ -554,8 +497,8 @@
 
 void
 ContactManager::sendInterest(const Interest& interest,
-                             const OnDataValidated& onValidated,
-                             const OnDataValidationFailed& onValidationFailed,
+                             const ndn::security::DataValidationSuccessCallback& onValidated,
+                             const ndn::security::DataValidationFailureCallback& onValidationFailed,
                              const TimeoutNotify& timeoutNotify,
                              int retry /* = 1 */)
 {
@@ -563,24 +506,25 @@
                          bind(&ContactManager::onTargetData,
                               this, _1, _2, onValidated, onValidationFailed),
                          bind(&ContactManager::onTargetTimeout,
+                              this, _1, retry, onValidated, onValidationFailed, timeoutNotify),
+                         bind(&ContactManager::onTargetTimeout,
                               this, _1, retry, onValidated, onValidationFailed, timeoutNotify));
 }
 
 void
 ContactManager::onTargetData(const Interest& interest,
                              const Data& data,
-                             const OnDataValidated& onValidated,
-                             const OnDataValidationFailed& onValidationFailed)
+                             const ndn::security::DataValidationSuccessCallback& onValidated,
+                             const ndn::security::DataValidationFailureCallback& onValidationFailed)
 {
-  // _LOG_DEBUG("On receiving data: " << data.getName());
   m_validator->validate(data, onValidated, onValidationFailed);
 }
 
 void
 ContactManager::onTargetTimeout(const Interest& interest,
                                 int retry,
-                                const OnDataValidated& onValidated,
-                                const OnDataValidationFailed& onValidationFailed,
+                                const ndn::security::DataValidationSuccessCallback& onValidated,
+                                const ndn::security::DataValidationFailureCallback& onValidationFailed,
                                 const TimeoutNotify& timeoutNotify)
 {
   // _LOG_DEBUG("On interest timeout: " << interest.getName());
@@ -621,6 +565,29 @@
   emit warning(QString(failInfo.c_str()));
 }
 
+void
+ContactManager::onKeyInterest(const Name& prefix, const Interest& interest)
+{
+  const Name& interestName = interest.getName();
+  shared_ptr<Certificate> data;
+
+  try {
+    ndn::security::Certificate cert = m_keyChain.getPib()
+                                                .getIdentity(m_identity)
+                                                .getDefaultKey()
+                                                .getDefaultCertificate();
+    if (cert.getKeyName() == interestName)
+      return m_face.put(cert);
+  } catch (ndn::security::Pib::Error&) {}
+
+  data = m_contactStorage->getSelfEndorseCertificate();
+  if (static_cast<bool>(data) && data->getKeyName().equals(interestName))
+    return m_face.put(*data);
+
+  data = m_contactStorage->getCollectEndorseByName(interestName);
+  if (static_cast<bool>(data))
+    return m_face.put(*data);
+}
 
 // public slots
 void
@@ -632,22 +599,42 @@
 
   Name dnsPrefix;
   dnsPrefix.append(m_identity).append("DNS");
-  const ndn::RegisteredPrefixId* dnsListenerId =
+  auto dnsListenerId = make_shared<ndn::RegisteredPrefixHandle>(
     m_face.setInterestFilter(dnsPrefix,
-                             bind(&ContactManager::onDnsInterest,
-                                  this, _1, _2),
-                             bind(&ContactManager::onDnsRegisterFailed,
-                                  this, _1, _2));
+                             bind(&ContactManager::onDnsInterest, this, _1, _2),
+                             bind(&ContactManager::onDnsRegisterFailed, this, _1, _2)));
+
+  Name keyPrefix;
+  keyPrefix.append(m_identity).append("KEY");
+  auto keyListenerId = make_shared<ndn::RegisteredPrefixHandle>(
+    m_face.setInterestFilter(keyPrefix,
+                             bind(&ContactManager::onKeyInterest, this, _1, _2),
+                             bind(&ContactManager::onDnsRegisterFailed, this, _1, _2)));
+
+  Name profileCertPrefix;
+  profileCertPrefix.append(m_identity).append("PROFILE-CERT");
+  auto profileCertListenerId = make_shared<ndn::RegisteredPrefixHandle>(
+    m_face.setInterestFilter(profileCertPrefix,
+                             bind(&ContactManager::onKeyInterest, this, _1, _2),
+                             bind(&ContactManager::onDnsRegisterFailed, this, _1, _2)));
 
   if (m_dnsListenerId != 0)
-    m_face.unsetInterestFilter(m_dnsListenerId);
-
+    m_dnsListenerId->unregister();
   m_dnsListenerId = dnsListenerId;
 
+  if (m_keyListenerId != 0)
+    m_keyListenerId->unregister();
+  m_keyListenerId = keyListenerId;
+
+  if (m_profileCertListenerId != 0)
+    m_profileCertListenerId->unregister();
+  m_profileCertListenerId = profileCertListenerId;
+
   m_contactList.clear();
   m_contactStorage->getAllContacts(m_contactList);
 
   m_bufferedContacts.clear();
+  onWaitForContactList();
 
   collectEndorsement();
 }
@@ -666,9 +653,9 @@
   interest.setInterestLifetime(time::milliseconds(1000));
   interest.setMustBeFresh(true);
 
-  OnDataValidated onValidated =
+  ndn::security::DataValidationSuccessCallback onValidated =
     bind(&ContactManager::onDnsSelfEndorseCertValidated, this, _1, identityName);
-  OnDataValidationFailed onValidationFailed =
+  ndn::security::DataValidationFailureCallback onValidationFailed =
     bind(&ContactManager::onDnsSelfEndorseCertValidationFailed, this, _1, _2, identityName);
   TimeoutNotify timeoutNotify =
     bind(&ContactManager::onDnsSelfEndorseCertTimeoutNotify, this, _1, identityName);
@@ -725,11 +712,15 @@
 void
 ContactManager::onRefreshBrowseContact()
 {
+  return;
+
+#if 0
+  // The following no longer works as we don't serve such a list anymore
   vector<string> bufferedIdCertNames;
   try {
     using namespace boost::asio::ip;
     tcp::iostream request_stream;
-    request_stream.expires_from_now(boost::posix_time::milliseconds(5000));
+    request_stream.expires_from_now(std::chrono::milliseconds(5000));
     request_stream.connect("ndncert.named-data.net","80");
     if (!request_stream) {
       emit warning(QString::fromStdString("Fail to fetch certificate directory! #1"));
@@ -800,15 +791,16 @@
     interest.setInterestLifetime(time::milliseconds(1000));
     interest.setMustBeFresh(true);
 
-    OnDataValidated onValidated =
+    ndn::security::DataValidationSuccessCallback onValidated =
     bind(&ContactManager::onIdentityCertValidated, this, _1);
-    OnDataValidationFailed onValidationFailed =
+    ndn::security::DataValidationFailureCallback onValidationFailed =
     bind(&ContactManager::onIdentityCertValidationFailed, this, _1, _2);
     TimeoutNotify timeoutNotify =
     bind(&ContactManager::onIdentityCertTimeoutNotify, this, _1);
 
     sendInterest(interest, onValidated, onValidationFailed, timeoutNotify, 0);
   }
+#endif
 }
 
 void
@@ -823,7 +815,7 @@
 ContactManager::onAddFetchedContactIdCert(const QString& qCertName)
 {
   Name certName(qCertName.toStdString());
-  Name identity = IdentityCertificate::certificateNameToPublicKeyName(certName).getPrefix(-1);
+  Name identity = certName.getPrefix(-1);
 
   BufferedIdCerts::const_iterator it = m_bufferedIdCerts.find(certName);
   if (it != m_bufferedIdCerts.end()) {
@@ -901,7 +893,7 @@
 ContactManager::onUpdateEndorseCertificate(const QString& identity)
 {
   Name identityName(identity.toStdString());
-  shared_ptr<EndorseCertificate> newEndorseCertificate = generateEndorseCertificate(identityName);
+  shared_ptr<Certificate> newEndorseCertificate = generateEndorseCertificate(identityName);
 
   if (!static_cast<bool>(newEndorseCertificate))
     return;
diff --git a/src/contact-manager.hpp b/src/contact-manager.hpp
index 5ef7983..b475eb4 100644
--- a/src/contact-manager.hpp
+++ b/src/contact-manager.hpp
@@ -22,7 +22,8 @@
 #include "endorse-info.hpp"
 #include "endorse-collection.hpp"
 #include <ndn-cxx/security/key-chain.hpp>
-#include <ndn-cxx/security/validator.hpp>
+#include <ndn-cxx/security/validator-config.hpp>
+#include <ndn-cxx/face.hpp>
 #include <boost/thread/locks.hpp>
 #include <boost/thread/recursive_mutex.hpp>
 #endif
@@ -54,9 +55,6 @@
     contactList.insert(contactList.end(), m_contactList.begin(), m_contactList.end());
   }
 private:
-  shared_ptr<ndn::IdentityCertificate>
-  loadTrustAnchor();
-
   void
   initializeSecurity();
 
@@ -71,12 +69,12 @@
 
   // PROFILE: self-endorse-certificate
   void
-  onDnsSelfEndorseCertValidated(const shared_ptr<const Data>& selfEndorseCertificate,
+  onDnsSelfEndorseCertValidated(const Data& selfEndorseCertificate,
                                 const Name& identity);
 
   void
-  onDnsSelfEndorseCertValidationFailed(const shared_ptr<const Data>& selfEndorseCertificate,
-                                       const std::string& failInfo,
+  onDnsSelfEndorseCertValidationFailed(const Data& selfEndorseCertificate,
+                                       const ndn::security::ValidationError& error,
                                        const Name& identity);
 
   void
@@ -84,11 +82,11 @@
 
   // ENDORSED: endorse-collection
   void
-  onDnsCollectEndorseValidated(const shared_ptr<const Data>& data, const Name& identity);
+  onDnsCollectEndorseValidated(const Data& data, const Name& identity);
 
   void
-  onDnsCollectEndorseValidationFailed(const shared_ptr<const Data>& data,
-                                      const std::string& failInfo,
+  onDnsCollectEndorseValidationFailed(const Data& data,
+                                      const ndn::security::ValidationError& error,
                                       const Name& identity);
 
   void
@@ -97,7 +95,7 @@
 
   // PROFILE-CERT: endorse-certificate
   void
-  onEndorseCertificateInternal(const Interest& interest, Data& data,
+  onEndorseCertificateInternal(const Interest& interest, const Data& data,
                                const Name& identity, size_t certIndex,
                                std::string hash);
 
@@ -111,11 +109,11 @@
   collectEndorsement();
 
   void
-  onDnsEndorseeValidated(const shared_ptr<const Data>& data);
+  onDnsEndorseeValidated(const Data& data);
 
   void
-  onDnsEndorseeValidationFailed(const shared_ptr<const Data>& data,
-                                const std::string& failInfo);
+  onDnsEndorseeValidationFailed(const Data& data,
+                                const ndn::security::ValidationError& error);
 
   void
   onDnsEndorseeTimeoutNotify(const Interest& interest);
@@ -128,10 +126,11 @@
 
   // Identity certificate
   void
-  onIdentityCertValidated(const shared_ptr<const Data>& data);
+  onIdentityCertValidated(const Data& data);
 
   void
-  onIdentityCertValidationFailed(const shared_ptr<const Data>& data, const std::string& failInfo);
+  onIdentityCertValidationFailed(const Data& data,
+                                 const ndn::security::ValidationError& error);
 
   void
   onIdentityCertTimeoutNotify(const Interest& interest);
@@ -156,22 +155,22 @@
   // Communication
   void
   sendInterest(const Interest& interest,
-               const ndn::OnDataValidated& onValidated,
-               const ndn::OnDataValidationFailed& onValidationFailed,
+               const ndn::security::DataValidationSuccessCallback& onValidated,
+               const ndn::security::DataValidationFailureCallback& onValidationFailed,
                const TimeoutNotify& timeoutNotify,
                int retry = 1);
 
   void
   onTargetData(const Interest& interest,
                const Data& data,
-               const ndn::OnDataValidated& onValidated,
-               const ndn::OnDataValidationFailed& onValidationFailed);
+               const ndn::security::DataValidationSuccessCallback& onValidated,
+               const ndn::security::DataValidationFailureCallback& onValidationFailed);
 
   void
   onTargetTimeout(const Interest& interest,
                   int retry,
-                  const ndn::OnDataValidated& onValidated,
-                  const ndn::OnDataValidationFailed& onValidationFailed,
+                  const ndn::security::DataValidationSuccessCallback& onValidated,
+                  const ndn::security::DataValidationFailureCallback& onValidationFailed,
                   const TimeoutNotify& timeoutNotify);
 
   // DNS listener
@@ -181,6 +180,9 @@
   void
   onDnsRegisterFailed(const Name& prefix, const std::string& failInfo);
 
+  void
+  onKeyInterest(const Name& prefix, const Interest& interest);
+
 signals:
   void
   contactEndorseInfoReady(const EndorseInfo& endorseInfo);
@@ -195,7 +197,7 @@
   nameListReady(const QStringList& certNameList);
 
   void
-  idCertReady(const ndn::IdentityCertificate& idCert);
+  idCertReady(const ndn::security::Certificate& idCert);
 
   void
   contactAliasListReady(const QStringList& aliasList);
@@ -263,14 +265,14 @@
   };
 
   typedef std::map<Name, FetchedInfo> BufferedContacts;
-  typedef std::map<Name, shared_ptr<ndn::IdentityCertificate> > BufferedIdCerts;
+  typedef std::map<Name, shared_ptr<ndn::security::Certificate> > BufferedIdCerts;
 
   typedef boost::recursive_mutex RecLock;
   typedef boost::unique_lock<RecLock> UniqueRecLock;
 
   // Conf
   shared_ptr<ContactStorage> m_contactStorage;
-  shared_ptr<ndn::Validator> m_validator;
+  shared_ptr<ndn::security::ValidatorConfig> m_validator;
   ndn::Face& m_face;
   ndn::KeyChain m_keyChain;
   Name m_identity;
@@ -281,7 +283,9 @@
   BufferedIdCerts m_bufferedIdCerts;
 
   // Tmp Dns
-  const ndn::RegisteredPrefixId* m_dnsListenerId;
+  shared_ptr<ndn::RegisteredPrefixHandle> m_dnsListenerId;
+  shared_ptr<ndn::RegisteredPrefixHandle> m_keyListenerId;
+  shared_ptr<ndn::RegisteredPrefixHandle> m_profileCertListenerId;
 
   RecLock m_collectCountMutex;
   size_t m_collectCount;
diff --git a/src/contact-panel.hpp b/src/contact-panel.hpp
index d164391..7eec224 100644
--- a/src/contact-panel.hpp
+++ b/src/contact-panel.hpp
@@ -14,6 +14,7 @@
 #include <QDialog>
 #include <QStringListModel>
 #include <QSqlTableModel>
+#include <QItemSelection>
 
 #include "set-alias-dialog.hpp"
 #include "endorse-combobox-delegate.hpp"
diff --git a/src/contact-storage.cpp b/src/contact-storage.cpp
index d59a707..d5e0fe2 100644
--- a/src/contact-storage.cpp
+++ b/src/contact-storage.cpp
@@ -13,11 +13,8 @@
 
 #include <boost/filesystem.hpp>
 #include "cryptopp.hpp"
-#include "logging.h"
 
 
-// INIT_LOGGER ("chronochat.ContactStorage");
-
 namespace chronochat {
 
 namespace fs = boost::filesystem;
@@ -25,8 +22,6 @@
 using std::string;
 using std::vector;
 
-using ndn::PublicKey;
-
 // user's own profile;
 const string INIT_SP_TABLE =
   "CREATE TABLE IF NOT EXISTS                          "
@@ -159,7 +154,7 @@
 static Block
 sqlite3_column_block(sqlite3_stmt* statement, int column)
 {
-  return Block(reinterpret_cast<const char*>(sqlite3_column_blob(statement, column)),
+  return Block(reinterpret_cast<const uint8_t*>(sqlite3_column_blob(statement, column)),
                sqlite3_column_bytes(statement, column));
 }
 
@@ -257,6 +252,27 @@
   sqlite3_finalize(stmt);
 }
 
+shared_ptr<EndorseCertificate>
+ContactStorage::getSelfEndorseCertificate()
+{
+  shared_ptr<EndorseCertificate> cert;
+
+  sqlite3_stmt *stmt;
+  sqlite3_prepare_v2(m_db,
+                     "SELECT endorse_data FROM SelfEndorse where identity=?",
+                      -1, &stmt, 0);
+  sqlite3_bind_string(stmt, 1, m_identity.toUri(), SQLITE_TRANSIENT);
+
+  if (sqlite3_step(stmt) == SQLITE_ROW) {
+    cert = make_shared<EndorseCertificate>();
+    cert->wireDecode(sqlite3_column_block(stmt, 0));
+  }
+
+  sqlite3_finalize(stmt);
+
+  return cert;
+}
+
 void
 ContactStorage::addEndorseCertificate(const EndorseCertificate& endorseCertificate,
                                       const Name& identity)
@@ -283,7 +299,7 @@
   sqlite3_prepare_v2(m_db,
                      "INSERT OR REPLACE INTO CollectEndorse \
                       (endorser, endorse_name, endorse_data) \
-                      VALUES (?, ?, ?, ?)",
+                      VALUES (?, ?, ?)",
                      -1, &stmt, 0);
   sqlite3_bind_string(stmt, 1, endorserName.toUri(), SQLITE_TRANSIENT);
   sqlite3_bind_string(stmt, 2, certName.toUri(), SQLITE_TRANSIENT);
@@ -315,6 +331,27 @@
   sqlite3_finalize(stmt);
 }
 
+shared_ptr<EndorseCertificate>
+ContactStorage::getCollectEndorseByName(const Name& name)
+{
+  shared_ptr<EndorseCertificate> cert;
+
+  sqlite3_stmt *stmt;
+  sqlite3_prepare_v2(m_db,
+                     "SELECT endorse_name, endorse_data FROM CollectEndorse where endorse_name=?",
+                      -1, &stmt, 0);
+  sqlite3_bind_string(stmt, 1, name.toUri(), SQLITE_TRANSIENT);
+
+  if (sqlite3_step(stmt) == SQLITE_ROW) {
+    cert = make_shared<EndorseCertificate>();
+    cert->wireDecode(sqlite3_column_block(stmt, 1));
+  }
+
+  sqlite3_finalize(stmt);
+
+  return cert;
+}
+
 void
 ContactStorage::getEndorseList(const Name& identity, vector<string>& endorseList)
 {
@@ -375,8 +412,8 @@
   sqlite3_bind_string(stmt, 2, contact.getAlias(), SQLITE_TRANSIENT);
   sqlite3_bind_string(stmt, 3, contact.getPublicKeyName().toUri(), SQLITE_TRANSIENT);
   sqlite3_bind_text(stmt, 4,
-                    reinterpret_cast<const char*>(contact.getPublicKey().get().buf()),
-                    contact.getPublicKey().get().size(), SQLITE_TRANSIENT);
+                    reinterpret_cast<const char*>(contact.getPublicKey().data()),
+                    contact.getPublicKey().size(), SQLITE_TRANSIENT);
   sqlite3_bind_int64(stmt, 5, time::toUnixTimestamp(contact.getNotBefore()).count());
   sqlite3_bind_int64(stmt, 6, time::toUnixTimestamp(contact.getNotAfter()).count());
   sqlite3_bind_int(stmt, 7, (isIntroducer ? 1 : 0));
@@ -433,7 +470,7 @@
   if (sqlite3_step(stmt) == SQLITE_ROW) {
     string alias = sqlite3_column_string(stmt, 0);
     string keyName = sqlite3_column_string(stmt, 1);
-    PublicKey key(sqlite3_column_text(stmt, 2), sqlite3_column_bytes (stmt, 2));
+    ndn::Buffer key(sqlite3_column_text(stmt, 2), sqlite3_column_bytes (stmt, 2));
     time::system_clock::TimePoint notBefore =
       time::fromUnixTimestamp(time::milliseconds(sqlite3_column_int64 (stmt, 3)));
     time::system_clock::TimePoint notAfter =
@@ -445,6 +482,9 @@
   }
   sqlite3_finalize(stmt);
 
+  if (!static_cast<bool>(contact))
+    return contact;
+
   sqlite3_prepare_v2(m_db,
                      "SELECT profile_type, profile_value FROM ContactProfile \
                       where profile_identity=?",
diff --git a/src/contact-storage.hpp b/src/contact-storage.hpp
index aa137b4..10bb117 100644
--- a/src/contact-storage.hpp
+++ b/src/contact-storage.hpp
@@ -44,6 +44,9 @@
   void
   addSelfEndorseCertificate(const EndorseCertificate& endorseCertificate);
 
+  shared_ptr<EndorseCertificate>
+  getSelfEndorseCertificate();
+
   void
   addEndorseCertificate(const EndorseCertificate& endorseCertificate, const Name& identity);
 
@@ -53,6 +56,9 @@
   void
   getCollectEndorse(EndorseCollection& endorseCollection);
 
+  shared_ptr<EndorseCertificate>
+  getCollectEndorseByName(const Name& name);
+
   void
   getEndorseList(const Name& identity, std::vector<std::string>& endorseList);
 
diff --git a/src/contact.hpp b/src/contact.hpp
index 8583d16..b0fe674 100644
--- a/src/contact.hpp
+++ b/src/contact.hpp
@@ -12,9 +12,10 @@
 #define CHRONOCHAT_CONTACT_HPP
 
 #include "common.hpp"
-#include <ndn-cxx/security/identity-certificate.hpp>
+#include <ndn-cxx/security/certificate.hpp>
 #include <ndn-cxx/util/regex.hpp>
 #include "endorse-certificate.hpp"
+#include "profile.hpp"
 
 namespace chronochat {
 
@@ -24,39 +25,51 @@
   typedef std::map<Name, shared_ptr<ndn::Regex> >::const_iterator const_iterator;
   typedef std::map<Name, shared_ptr<ndn::Regex> >::iterator iterator;
 
-  Contact(const ndn::IdentityCertificate& identityCertificate,
+  Contact(const ndn::security::Certificate& identityCertificate,
           bool isIntroducer = false,
           const std::string& alias = "")
-    : m_notBefore(identityCertificate.getNotBefore())
-    , m_notAfter(identityCertificate.getNotAfter())
+    : m_notBefore(time::system_clock::now())
+    , m_notAfter(time::system_clock::now() + time::days(3650))
     , m_isIntroducer(isIntroducer)
     , m_profile(identityCertificate)
   {
+    m_keyName = identityCertificate.getKeyName();
+    m_namespace = m_keyName.getPrefix(-2);
+    m_publicKey = identityCertificate.getPublicKey();
+
     m_name = m_profile.get("name");
+    m_name = m_name.empty() ? m_namespace.toUri() : m_name;
     m_alias = alias.empty() ? m_name : alias;
     m_institution = m_profile.get("institution");
 
-    m_keyName = identityCertificate.getPublicKeyName();
-    m_namespace = m_keyName.getPrefix(-1);
-    m_publicKey = identityCertificate.getPublicKeyInfo();
+    try {
+      m_notBefore = identityCertificate.getValidityPeriod().getPeriod().first;
+      m_notAfter = identityCertificate.getValidityPeriod().getPeriod().second;
+    } catch (tlv::Error&) {}
   }
 
   Contact(const EndorseCertificate& endorseCertificate,
           bool isIntroducer = false,
           const std::string& alias = "")
-    : m_notBefore(endorseCertificate.getNotBefore())
-    , m_notAfter(endorseCertificate.getNotAfter())
+    : m_notBefore(time::system_clock::now())
+    , m_notAfter(time::system_clock::now() + time::days(3650))
     , m_isIntroducer(isIntroducer)
   {
     m_profile = endorseCertificate.getProfile();
 
+    m_keyName = endorseCertificate.getKeyName().getPrefix(-1).append("KEY");
+    m_namespace = m_keyName.getPrefix(-3);
+    m_publicKey = endorseCertificate.getPublicKey();
+
     m_name = m_profile.get("name");
+    m_name = m_name.empty() ? m_namespace.toUri() : m_name;
     m_alias = alias.empty() ? m_name : alias;
     m_institution = m_profile.get("institution");
 
-    m_keyName = endorseCertificate.getPublicKeyName();;
-    m_namespace = m_keyName.getPrefix(-1);
-    m_publicKey = endorseCertificate.getPublicKeyInfo();
+    try {
+      m_notBefore = endorseCertificate.getValidityPeriod().getPeriod().first;
+      m_notAfter = endorseCertificate.getValidityPeriod().getPeriod().second;
+    } catch (tlv::Error&) {}
   }
 
   Contact(const Name& identity,
@@ -64,7 +77,7 @@
           const Name& keyName,
           const time::system_clock::TimePoint& notBefore,
           const time::system_clock::TimePoint& notAfter,
-          const ndn::PublicKey& key,
+          const ndn::Buffer& key,
           bool isIntroducer)
     : m_namespace(identity)
     , m_alias(alias)
@@ -126,7 +139,7 @@
     return m_keyName;
   }
 
-  const ndn::PublicKey&
+  const ndn::Buffer&
   getPublicKey() const
   {
     return m_publicKey;
@@ -224,7 +237,7 @@
   std::string m_name;
   std::string m_institution;
   Name m_keyName;
-  ndn::PublicKey m_publicKey;
+  ndn::Buffer m_publicKey;
   time::system_clock::TimePoint m_notBefore;
   time::system_clock::TimePoint m_notAfter;
 
diff --git a/src/controller-backend.cpp b/src/controller-backend.cpp
index a432366..7c6b8a5 100644
--- a/src/controller-backend.cpp
+++ b/src/controller-backend.cpp
@@ -13,22 +13,17 @@
 
 #ifndef Q_MOC_RUN
 #include <ndn-cxx/util/segment-fetcher.hpp>
+#include <ndn-cxx/security/signing-helpers.hpp>
+#include <ndn-cxx/security/certificate-fetcher-offline.hpp>
 #include "invitation.hpp"
-#include "logging.h"
+#include <iostream>
 #endif
 
-
-INIT_LOGGER("ControllerBackend");
-
 namespace chronochat {
 
 using std::string;
 
 using ndn::Face;
-using ndn::IdentityCertificate;
-using ndn::OnInterestValidated;
-using ndn::OnInterestValidationFailed;
-
 
 static const ndn::Name::Component ROUTING_HINT_SEPARATOR =
   ndn::name::Component::fromEscapedString("%F0%2E");
@@ -39,7 +34,6 @@
   : QThread(parent)
   , m_shouldResume(false)
   , m_contactManager(m_face)
-  , m_invitationListenerId(0)
 {
   // connection to contact manager
   connect(this, SIGNAL(identityUpdated(const QString&)),
@@ -48,6 +42,7 @@
   connect(&m_contactManager, SIGNAL(contactIdListReady(const QStringList&)),
           this, SLOT(onContactIdListReady(const QStringList&)));
 
+  m_validator = make_shared<ndn::security::ValidatorNull>();
 }
 
 ControllerBackend::~ControllerBackend()
@@ -141,31 +136,32 @@
   invitationPrefix.append(m_identity).append("CHRONOCHAT-INVITATION");
   requestPrefix.append(m_identity).append("CHRONOCHAT-INVITATION-REQUEST");
 
-  const ndn::RegisteredPrefixId* invitationListenerId =
-    m_face.setInterestFilter(invitationPrefix,
+  auto invitationListenerId =
+    make_shared<ndn::RegisteredPrefixHandle>(m_face.setInterestFilter(invitationPrefix,
                              bind(&ControllerBackend::onInvitationInterest,
                                   this, _1, _2, offset),
                              bind(&ControllerBackend::onInvitationRegisterFailed,
-                                  this, _1, _2));
+                                  this, _1, _2)));
 
   if (m_invitationListenerId != 0) {
-    m_face.unregisterPrefix(m_invitationListenerId,
-                            bind(&ControllerBackend::onInvitationPrefixReset, this),
-                            bind(&ControllerBackend::onInvitationPrefixResetFailed, this, _1));
+    invitationListenerId->unregister(
+      bind(&ControllerBackend::onInvitationPrefixReset, this),
+      bind(&ControllerBackend::onInvitationPrefixResetFailed, this, _1));
   }
 
   m_invitationListenerId = invitationListenerId;
 
-  const ndn::RegisteredPrefixId* requestListenerId =
-    m_face.setInterestFilter(requestPrefix,
-                             bind(&ControllerBackend::onInvitationRequestInterest,
-                                  this, _1, _2, offset),
-                             [] (const Name& prefix, const std::string& failInfo) {});
+  auto requestListenerId =
+    make_shared<ndn::RegisteredPrefixHandle>(
+      m_face.setInterestFilter(requestPrefix,
+                               bind(&ControllerBackend::onInvitationRequestInterest,
+                                    this, _1, _2, offset),
+                               [] (const Name& prefix, const std::string& failInfo) {}));
 
   if (m_requestListenerId != 0) {
-    m_face.unregisterPrefix(m_requestListenerId,
-                            []{},
-                            [] (const std::string& failInfo) {});
+    m_requestListenerId->unregister(
+      []{},
+      [] (const std::string& failInfo) {});
   }
 
   m_requestListenerId = requestListenerId;
@@ -210,11 +206,10 @@
     return;
   }
 
-  OnInterestValidated onValidated = bind(&ControllerBackend::onInvitationValidated, this, _1);
-  OnInterestValidationFailed onFailed = bind(&ControllerBackend::onInvitationValidationFailed,
-                                             this, _1, _2);
-
-  m_validator.validate(*invitationInterest, onValidated, onFailed);
+  m_validator->validate(
+    *invitationInterest,
+    bind(&ControllerBackend::onInvitationValidated, this, _1),
+    bind(&ControllerBackend::onInvitationValidationFailed, this, _1, _2));
 }
 
 void
@@ -248,20 +243,20 @@
 }
 
 void
-ControllerBackend::onInvitationValidated(const shared_ptr<const Interest>& interest)
+ControllerBackend::onInvitationValidated(const Interest& interest)
 {
-  Invitation invitation(interest->getName());
+  Invitation invitation(interest.getName());
   // Should be obtained via a method of ContactManager.
-  string alias = invitation.getInviterCertificate().getPublicKeyName().getPrefix(-1).toUri();
+  string alias = invitation.getInviterCertificate().getKeyName().getPrefix(-1).toUri();
 
   emit invitationValidated(QString::fromStdString(alias),
                            QString::fromStdString(invitation.getChatroom()),
-                           interest->getName());
+                           interest.getName());
 }
 
 void
-ControllerBackend::onInvitationValidationFailed(const shared_ptr<const Interest>& interest,
-                                                string failureInfo)
+ControllerBackend::onInvitationValidationFailed(const Interest& interest,
+                                                const ndn::security::ValidationError& failureInfo)
 {
   // _LOG_DEBUG("Invitation: " << interest->getName() <<
   //            " cannot not be validated due to: " << failureInfo);
@@ -317,7 +312,7 @@
 }
 
 void
-ControllerBackend::onRequestResponse(const Interest& interest, Data& data)
+ControllerBackend::onRequestResponse(const Interest& interest, const Data& data)
 {
   size_t i;
   Name interestName = interest.getName();
@@ -344,6 +339,7 @@
   if (resendTimes < MAXIMUM_REQUEST)
     m_face.expressInterest(interest,
                            bind(&ControllerBackend::onRequestResponse, this, _1, _2),
+                           bind(&ControllerBackend::onRequestTimeout, this, _1, resendTimes + 1),
                            bind(&ControllerBackend::onRequestTimeout, this, _1, resendTimes + 1));
   else
     emit invitationRequestResult("Invitation request times out.");
@@ -384,11 +380,11 @@
   interest.setInterestLifetime(time::milliseconds(1000));
   interest.setMustBeFresh(true);
 
-  ndn::util::SegmentFetcher::fetch(m_face,
-                                   interest,
-                                   m_nullValidator,
-                                   bind(&ControllerBackend::onLocalPrefix, this, _1),
-                                   bind(&ControllerBackend::onLocalPrefixError, this, _1, _2));
+  auto fetcher = ndn::util::SegmentFetcher::start(m_face,
+                                                  interest,
+                                                  m_nullValidator);
+  fetcher->onComplete.connect(bind(&ControllerBackend::onLocalPrefix, this, _1));
+  fetcher->onError.connect(bind(&ControllerBackend::onLocalPrefixError, this, _1, _2));
 }
 
 void
@@ -411,7 +407,7 @@
 ControllerBackend::onInvitationResponded(const ndn::Name& invitationName, bool accepted)
 {
   shared_ptr<Data> response = make_shared<Data>();
-  shared_ptr<IdentityCertificate> chatroomCert;
+  shared_ptr<ndn::security::Certificate> chatroomCert;
 
   // generate reply;
   if (accepted) {
@@ -422,8 +418,8 @@
 
     // We should create a particular certificate for this chatroom,
     //but let's use default one for now.
-    chatroomCert
-      = m_keyChain.getCertificate(m_keyChain.getDefaultCertificateNameForIdentity(m_identity));
+    chatroomCert = make_shared<ndn::security::Certificate>(
+      m_keyChain.createIdentity(m_identity).getDefaultKey().getDefaultCertificate());
 
     response->setContent(chatroomCert->wireEncode());
     response->setFreshnessPeriod(time::milliseconds(1000));
@@ -433,7 +429,7 @@
     response->setFreshnessPeriod(time::milliseconds(1000));
   }
 
-  m_keyChain.signByIdentity(*response, m_identity);
+  m_keyChain.sign(*response, ndn::security::signingByIdentity(m_identity));
 
   // Check if we need a wrapper
   Name invitationRoutingPrefix = getInvitationRoutingPrefix();
@@ -451,7 +447,7 @@
     wrappedData->setContent(response->wireEncode());
     wrappedData->setFreshnessPeriod(time::milliseconds(1000));
 
-    m_keyChain.signByIdentity(*wrappedData, m_identity);
+    m_keyChain.sign(*wrappedData, ndn::security::signingByIdentity(m_identity));
     m_face.put(*wrappedData);
   }
 
@@ -469,7 +465,8 @@
   else
     response->setContent(ndn::makeNonNegativeIntegerBlock(tlv::Content, 0));
 
-  m_keyChain.signByIdentity(*response, m_identity);
+  response->setFreshnessPeriod(time::milliseconds(1000));
+  m_keyChain.sign(*response, ndn::security::signingByIdentity(m_identity));
   m_ims.insert(*response);
   m_face.put(*response);
 }
@@ -491,6 +488,7 @@
   interest.getNonce();
   m_face.expressInterest(interest,
                          bind(&ControllerBackend::onRequestResponse, this, _1, _2),
+                         bind(&ControllerBackend::onRequestTimeout, this, _1, 0),
                          bind(&ControllerBackend::onRequestTimeout, this, _1, 0));
 }
 
@@ -500,10 +498,10 @@
   ContactList contactList;
 
   m_contactManager.getContactList(contactList);
-  m_validator.cleanTrustAnchor();
+  // m_validator.cleanTrustAnchor();
 
-  for (ContactList::const_iterator it  = contactList.begin(); it != contactList.end(); it++)
-    m_validator.addTrustAnchor((*it)->getPublicKeyName(), (*it)->getPublicKey());
+  // for (ContactList::const_iterator it  = contactList.begin(); it != contactList.end(); it++)
+    // m_validator.addTrustAnchor((*it)->getPublicKeyName(), (*it)->getPublicKey());
 
 }
 
diff --git a/src/controller-backend.hpp b/src/controller-backend.hpp
index be2cf25..18b1cd8 100644
--- a/src/controller-backend.hpp
+++ b/src/controller-backend.hpp
@@ -20,10 +20,10 @@
 #include "common.hpp"
 #include "contact-manager.hpp"
 #include "invitation.hpp"
-#include "validator-invitation.hpp"
 #include <ndn-cxx/security/key-chain.hpp>
-#include <ndn-cxx/util/in-memory-storage-persistent.hpp>
+#include <ndn-cxx/ims/in-memory-storage-persistent.hpp>
 #include <ndn-cxx/security/validator-null.hpp>
+#include <ndn-cxx/face.hpp>
 #include <boost/thread.hpp>
 #include <mutex>
 #endif
@@ -74,11 +74,11 @@
   onInvitationRegisterFailed(const Name& prefix, const std::string& failInfo);
 
   void
-  onInvitationValidated(const shared_ptr<const Interest>& interest);
+  onInvitationValidated(const Interest& interest);
 
   void
-  onInvitationValidationFailed(const shared_ptr<const Interest>& interest,
-                               std::string failureInfo);
+  onInvitationValidationFailed(const Interest& interest,
+                               const ndn::security::ValidationError& failureInfo);
 
   void
   onLocalPrefix(const ndn::ConstBufferPtr& data);
@@ -90,7 +90,7 @@
   updateLocalPrefix(const Name& localPrefix);
 
   void
-  onRequestResponse(const Interest& interest, Data& data);
+  onRequestResponse(const Interest& interest, const Data& data);
 
   void
   onRequestTimeout(const Interest& interest, int& resendTimes);
@@ -166,12 +166,12 @@
 
   // Security related;
   ndn::KeyChain m_keyChain;
-  ValidatorInvitation m_validator;
-  ndn::ValidatorNull m_nullValidator;
+  shared_ptr<ndn::security::Validator> m_validator;
+  ndn::security::ValidatorNull m_nullValidator;
 
   // RegisteredPrefixId
-  const ndn::RegisteredPrefixId* m_invitationListenerId;
-  const ndn::RegisteredPrefixId* m_requestListenerId;
+  shared_ptr<ndn::RegisteredPrefixHandle> m_invitationListenerId;
+  shared_ptr<ndn::RegisteredPrefixHandle> m_requestListenerId;
 
   // ChatRoomList
   QStringList m_chatDialogList;
@@ -180,7 +180,7 @@
   std::mutex m_resumeMutex;
   std::mutex m_nfdConnectionMutex;
 
-  ndn::util::InMemoryStoragePersistent m_ims;
+  ndn::InMemoryStoragePersistent m_ims;
 };
 
 } // namespace chronochat
diff --git a/src/controller.cpp b/src/controller.cpp
index b45e1dd..d41b65d 100644
--- a/src/controller.cpp
+++ b/src/controller.cpp
@@ -28,7 +28,7 @@
 INIT_LOGGER("chronochat.Controller");
 
 Q_DECLARE_METATYPE(ndn::Name)
-Q_DECLARE_METATYPE(ndn::IdentityCertificate)
+Q_DECLARE_METATYPE(ndn::security::Certificate)
 Q_DECLARE_METATYPE(chronochat::EndorseInfo)
 Q_DECLARE_METATYPE(ndn::Interest)
 Q_DECLARE_METATYPE(size_t)
@@ -57,8 +57,8 @@
   , m_discoveryPanel(new DiscoveryPanel(this))
 {
   qRegisterMetaType<ndn::Name>("ndn.Name");
-  qRegisterMetaType<ndn::IdentityCertificate>("ndn.IdentityCertificate");
-  qRegisterMetaType<chronochat::EndorseInfo>("chronochat.EndorseInfo");
+  qRegisterMetaType<ndn::security::Certificate>("ndn.security.v2.Certificate");
+  qRegisterMetaType<chronochat::EndorseInfo>("EndorseInfo");
   qRegisterMetaType<ndn::Interest>("ndn.Interest");
   qRegisterMetaType<size_t>("size_t");
   qRegisterMetaType<chronochat::ChatroomInfo>("chronochat.Chatroom");
@@ -126,8 +126,8 @@
           m_browseContactDialog, SLOT(onIdCertNameListReady(const QStringList&)));
   connect(m_backend.getContactManager(), SIGNAL(nameListReady(const QStringList&)),
           m_browseContactDialog, SLOT(onNameListReady(const QStringList&)));
-  connect(m_backend.getContactManager(), SIGNAL(idCertReady(const ndn::IdentityCertificate&)),
-          m_browseContactDialog, SLOT(onIdCertReady(const ndn::IdentityCertificate&)));
+  connect(m_backend.getContactManager(), SIGNAL(idCertReady(const ndn::security::Certificate&)),
+          m_browseContactDialog, SLOT(onIdCertReady(const ndn::security::Certificate&)));
 
   // Connection to ContactPanel
   connect(m_contactPanel, SIGNAL(waitForContactList()),
@@ -322,15 +322,15 @@
     else
       m_nick = m_identity.get(-1).toUri();
   }
-  catch (tlv::Error) {
+  catch (tlv::Error&) {
     try {
       ndn::KeyChain keyChain;
-      m_identity = keyChain.getDefaultIdentity();
+      m_identity = keyChain.getPib().getDefaultIdentity().getName();
     }
-    catch (ndn::KeyChain::Error) {
+    catch (ndn::security::pib::Pib::Error&) {
       m_identity.clear();
       m_identity.append("chronochat-tmp-identity")
-        .append(getRandomString());
+                .append(getRandomString());
     }
     m_nick = m_identity.get(-1).toUri();
   }
@@ -423,8 +423,8 @@
 void
 Controller::updateMenu()
 {
-  QMenu* menu = new QMenu(this);
-  QMenu* closeMenu = 0;
+  m_trayIconMenu->clear();
+  QMenu* menu = m_trayIconMenu;
 
   menu->addAction(m_startChatroom);
   menu->addAction(m_chatroomDiscoveryAction);
@@ -448,23 +448,18 @@
   menu->addAction(m_updateLocalPrefixAction);
   menu->addSeparator();
   menu->addAction(m_minimizeAction);
-  closeMenu = menu->addMenu("Close chatroom");
+  m_closeMenu = menu->addMenu("Close chatroom");
   {
     ChatActionList::const_iterator it = m_closeActionList.begin();
     ChatActionList::const_iterator end = m_closeActionList.end();
     if (it == end)
-      closeMenu->setEnabled(false);
+      m_closeMenu->setEnabled(false);
     else
       for (; it != end; it++)
-        closeMenu->addAction(it->second);
+        m_closeMenu->addAction(it->second);
   }
   menu->addSeparator();
   menu->addAction(m_quitAction);
-
-  m_trayIcon->setContextMenu(menu);
-  delete m_trayIconMenu;
-  m_trayIconMenu = menu;
-  m_closeMenu = closeMenu;
 }
 
 string
@@ -616,6 +611,7 @@
 void
 Controller::onProfileEditorAction()
 {
+  m_profileEditor->resetPanel();
   m_profileEditor->show();
   m_profileEditor->raise();
 }
@@ -770,6 +766,8 @@
 void
 Controller::onRemoveChatDialog(const QString& chatroomName)
 {
+  emit removeChatroom(chatroomName);
+
   ChatDialogList::iterator it = m_chatDialogList.find(chatroomName.toStdString());
   if (it != m_chatDialogList.end()) {
     ChatDialog* deletedChat = it->second;
@@ -804,7 +802,7 @@
   if (m_isInConnectionDetection)
     return;
   // begin a thread
-  
+
   m_isInConnectionDetection = true;
   m_nfdConnectionChecker = new NfdConnectionChecker(this);
 
diff --git a/src/digest-tree-scene.cpp b/src/digest-tree-scene.cpp
index 17bc67a..55d9a36 100644
--- a/src/digest-tree-scene.cpp
+++ b/src/digest-tree-scene.cpp
@@ -12,10 +12,10 @@
 #include "digest-tree-scene.hpp"
 
 #include <QtGui>
+#include <QGraphicsTextItem>
 
 #ifndef Q_MOC_RUN
 #include <vector>
-#include <iostream>
 #include <assert.h>
 #include <boost/lexical_cast.hpp>
 #include <memory>
@@ -28,7 +28,7 @@
 
 //DisplayUserPtr DisplayUserNullPtr;
 
-DigestTreeScene::DigestTreeScene(QWidget *parent)
+DigestTreeScene::DigestTreeScene(QObject *parent)
   : QGraphicsScene(parent)
 {
   m_previouslyUpdatedUser = DisplayUserNullPtr;
diff --git a/src/digest-tree-scene.hpp b/src/digest-tree-scene.hpp
index 0e69528..562feeb 100644
--- a/src/digest-tree-scene.hpp
+++ b/src/digest-tree-scene.hpp
@@ -12,7 +12,7 @@
 #ifndef CHRONOCHAT_DIGEST_TREE_SCENE_HPP
 #define CHRONOCHAT_DIGEST_TREE_SCENE_HPP
 
-#include <QtGui/QGraphicsScene>
+#include <QGraphicsScene>
 #include <QColor>
 #include <QMap>
 
@@ -44,7 +44,7 @@
   Q_OBJECT
 
 public:
-  DigestTreeScene(QWidget *parent = 0);
+  DigestTreeScene(QObject *parent = 0);
 
   void
   processSyncUpdate(const std::vector<chronochat::NodeInfo>& nodeInfos,
diff --git a/src/discovery-panel.cpp b/src/discovery-panel.cpp
index b7c0ed6..06c7cf7 100644
--- a/src/discovery-panel.cpp
+++ b/src/discovery-panel.cpp
@@ -21,7 +21,6 @@
 
 namespace chronochat {
 
-static const time::seconds REFRESH_INTERVAL(60);
 static const ndn::Name::Component ROUTING_HINT_SEPARATOR =
   ndn::name::Component::fromEscapedString("%F0%2E");
 
@@ -91,7 +90,6 @@
 void
 DiscoveryPanel::onIdentityUpdated(const QString& identity)
 {
-  resetPanel();
 }
 
 void
diff --git a/src/discovery-panel.hpp b/src/discovery-panel.hpp
index 1b5bd92..473283f 100644
--- a/src/discovery-panel.hpp
+++ b/src/discovery-panel.hpp
@@ -13,6 +13,7 @@
 
 #include <QDialog>
 #include <QStringListModel>
+#include <QItemSelection>
 
 #ifndef Q_MOC_RUN
 #include "chatroom-info.hpp"
diff --git a/src/endorse-certificate.cpp b/src/endorse-certificate.cpp
index cbeb18c..f9286c6 100644
--- a/src/endorse-certificate.cpp
+++ b/src/endorse-certificate.cpp
@@ -12,6 +12,8 @@
 #include "endorse-certificate.hpp"
 #include <boost/iostreams/stream.hpp>
 #include <ndn-cxx/encoding/buffer-stream.hpp>
+#include <ndn-cxx/security/additional-description.hpp>
+#include <ndn-cxx/security/validity-period.hpp>
 #include "endorse-extension.hpp"
 #include <list>
 
@@ -20,16 +22,9 @@
 using std::vector;
 using std::string;
 
-using ndn::PublicKey;
-using ndn::IdentityCertificate;
-using ndn::CertificateSubjectDescription;
-using ndn::CertificateExtension;
-using ndn::OID;
+using ndn::security::Certificate;
 using ndn::OBufferStream;
 
-const OID EndorseCertificate::PROFILE_EXT_OID("1.3.6.1.5.32.2.1");
-const OID EndorseCertificate::ENDORSE_EXT_OID("1.3.6.1.5.32.2.2");
-
 const vector<string> EndorseCertificate::DEFAULT_ENDORSE_LIST;
 
 EndorseExtension&
@@ -51,107 +46,132 @@
   return endorseExtension;
 }
 
-EndorseCertificate::EndorseCertificate(const IdentityCertificate& kskCertificate,
+EndorseCertificate::EndorseCertificate(const Certificate& kskCertificate,
                                        const Profile& profile,
                                        const vector<string>& endorseList)
   : Certificate()
   , m_profile(profile)
   , m_endorseList(endorseList)
 {
-  m_keyName = IdentityCertificate::certificateNameToPublicKeyName(kskCertificate.getName());
-  m_signer = m_keyName;
+  setName(kskCertificate.getKeyName().getPrefix(-2)
+                        .append("PROFILE-CERT")
+                        .append("KEY")
+                        .append(kskCertificate.getKeyId())
+                        .append("self")
+                        .appendTimestamp());
 
-  Name dataName = m_keyName;
-  dataName.append("PROFILE-CERT").append(m_signer.wireEncode()).appendVersion();
-  setName(dataName);
+  m_signer = kskCertificate.getKeyName();
 
-  setNotBefore(kskCertificate.getNotBefore());
-  setNotAfter(kskCertificate.getNotAfter());
-  addSubjectDescription(CertificateSubjectDescription(OID("2.5.4.41"), m_keyName.toUri()));
-  setPublicKeyInfo(kskCertificate.getPublicKeyInfo());
+  setMetaInfo(kskCertificate.getMetaInfo());
+  setContent(kskCertificate.getPublicKey().data(), kskCertificate.getPublicKey().size());
 
-  Block profileWire = m_profile.wireEncode();
-  addExtension(CertificateExtension(PROFILE_EXT_OID, true, ndn::Buffer(profileWire.wire(),
-                                                                       profileWire.size())));
+  ndn::security::AdditionalDescription description;
+  description.set("2.5.4.41", getKeyName().toUri());
+  description.set("signer", m_signer.toUri());
 
   EndorseExtension endorseExtension;
   endorseExtension << m_endorseList;
-  Block endorseWire = endorseExtension.wireEncode();
-  addExtension(CertificateExtension(ENDORSE_EXT_OID, true, ndn::Buffer(endorseWire.wire(),
-                                                                       endorseWire.size())));
 
-  encode();
+  ndn::SignatureInfo signatureInfo;
+  signatureInfo.addCustomTlv(description.wireEncode());
+  signatureInfo.addCustomTlv(m_profile.wireEncode());
+
+  if (m_endorseList.size() > 0)
+    signatureInfo.addCustomTlv(endorseExtension.wireEncode());
+
+  try {
+    signatureInfo.setValidityPeriod(kskCertificate.getValidityPeriod());
+  } catch (tlv::Error&) {
+    signatureInfo.setValidityPeriod(ndn::security::ValidityPeriod(
+      time::system_clock::now(), time::system_clock::now() + time::days(3650)));
+  }
+
+  setSignatureInfo(signatureInfo);
 }
 
 EndorseCertificate::EndorseCertificate(const EndorseCertificate& endorseCertificate,
                                        const Name& signer,
                                        const vector<string>& endorseList)
   : Certificate()
-  , m_keyName(endorseCertificate.m_keyName)
   , m_signer(signer)
   , m_profile(endorseCertificate.m_profile)
   , m_endorseList(endorseList)
 {
-  Name dataName = m_keyName;
-  dataName.append("PROFILE-CERT").append(m_signer.wireEncode()).appendVersion();
-  setName(dataName);
+  setName(endorseCertificate.getName()
+                 .getPrefix(-2)
+                 .append(m_signer.wireEncode())
+                 .appendVersion());
 
-  setNotBefore(endorseCertificate.getNotBefore());
-  setNotAfter(endorseCertificate.getNotAfter());
-  addSubjectDescription(CertificateSubjectDescription(OID("2.5.4.41"), m_keyName.toUri()));
-  setPublicKeyInfo(endorseCertificate.getPublicKeyInfo());
+  setMetaInfo(endorseCertificate.getMetaInfo());
+  setContent(endorseCertificate.getPublicKey().data(), endorseCertificate.getPublicKey().size());
 
-  Block profileWire = m_profile.wireEncode();
-  addExtension(CertificateExtension(PROFILE_EXT_OID, true, ndn::Buffer(profileWire.wire(),
-                                                                       profileWire.size())));
+  ndn::security::AdditionalDescription description;
+  description.set("2.5.4.41", getKeyName().toUri());
+  description.set("signer", m_signer.toUri());
 
   EndorseExtension endorseExtension;
   endorseExtension << m_endorseList;
-  Block endorseWire = endorseExtension.wireEncode();
-  addExtension(CertificateExtension(ENDORSE_EXT_OID, true, ndn::Buffer(endorseWire.wire(),
-                                                                       endorseWire.size())));
 
-  encode();
+  ndn::SignatureInfo signatureInfo;
+  signatureInfo.addCustomTlv(description.wireEncode());
+  signatureInfo.addCustomTlv(m_profile.wireEncode());
+
+  if (m_endorseList.size() > 0)
+    signatureInfo.addCustomTlv(endorseExtension.wireEncode());
+
+  try {
+    signatureInfo.setValidityPeriod(endorseCertificate.getValidityPeriod());
+  } catch (tlv::Error&) {
+    signatureInfo.setValidityPeriod(ndn::security::ValidityPeriod(
+      time::system_clock::now(), time::system_clock::now() + time::days(3650)));
+  }
+
+  setSignatureInfo(signatureInfo);
 }
 
 EndorseCertificate::EndorseCertificate(const Name& keyName,
-                                       const PublicKey& key,
+                                       const ndn::Buffer& key,
                                        const time::system_clock::TimePoint& notBefore,
                                        const time::system_clock::TimePoint& notAfter,
+                                       const Name::Component& signerKeyId,
                                        const Name& signer,
                                        const Profile& profile,
                                        const vector<string>& endorseList)
   : Certificate()
-  , m_keyName(keyName)
   , m_signer(signer)
   , m_profile(profile)
   , m_endorseList(endorseList)
 {
-  Name dataName = m_keyName;
-  dataName.append("PROFILE-CERT").append(m_signer.wireEncode()).appendVersion();
-  setName(dataName);
+  setName(keyName.getPrefix(-2)
+                 .append("PROFILE-CERT")
+                 .append("KEY")
+                 .append(signerKeyId)
+                 .append(m_signer.wireEncode())
+                 .appendVersion());
 
-  setNotBefore(notBefore);
-  setNotAfter(notAfter);
-  addSubjectDescription(CertificateSubjectDescription(OID("2.5.4.41"), m_keyName.toUri()));
-  setPublicKeyInfo(key);
+  setContent(key.data(), key.size());
 
-  Block profileWire = m_profile.wireEncode();
-  addExtension(CertificateExtension(PROFILE_EXT_OID, true, ndn::Buffer(profileWire.wire(),
-                                                                       profileWire.size())));
+  ndn::security::AdditionalDescription description;
+  description.set("2.5.4.41", keyName.toUri());
+  description.set("signer", m_signer.toUri());
 
   EndorseExtension endorseExtension;
   endorseExtension << m_endorseList;
-  Block endorseWire = endorseExtension.wireEncode();
-  addExtension(CertificateExtension(ENDORSE_EXT_OID, true, ndn::Buffer(endorseWire.wire(),
-                                                                       endorseWire.size())));
 
-  encode();
+  ndn::SignatureInfo signatureInfo;
+  signatureInfo.addCustomTlv(description.wireEncode());
+  signatureInfo.addCustomTlv(m_profile.wireEncode());
+
+  if (m_endorseList.size() > 0)
+    signatureInfo.addCustomTlv(endorseExtension.wireEncode());
+
+  signatureInfo.setValidityPeriod(ndn::security::ValidityPeriod(notBefore, notAfter));
+
+  setSignatureInfo(signatureInfo);
 }
 
 EndorseCertificate::EndorseCertificate(const EndorseCertificate& endorseCertificate)
   : Certificate(endorseCertificate)
-  , m_keyName(endorseCertificate.m_keyName)
   , m_signer(endorseCertificate.m_signer)
   , m_profile(endorseCertificate.m_profile)
   , m_endorseList(endorseCertificate.m_endorseList)
@@ -161,25 +181,22 @@
 EndorseCertificate::EndorseCertificate(const Data& data)
   : Certificate(data)
 {
-  const Name& dataName = data.getName();
 
-  if(dataName.size() < 3 || dataName.get(-3).toUri() != "PROFILE-CERT")
-    throw Error("No PROFILE-CERT component in data name!");
+  auto additionalWire = getSignatureInfo().getCustomTlv(tlv::AdditionalDescription);
+  if (additionalWire) {
+    ndn::security::AdditionalDescription additional(*additionalWire);
+    m_signer = additional.get("signer");
+  }
 
-  m_keyName = dataName.getPrefix(-3);
-  m_signer.wireDecode(dataName.get(-2).blockFromValue());
+  auto profileWire = getSignatureInfo().getCustomTlv(tlv::Profile);
+  if (profileWire) {
+    m_profile = Profile(*profileWire);
+  }
 
-
-  for (const auto& entry : m_extensionList) {
-    if (PROFILE_EXT_OID == entry.getOid()) {
-      m_profile.wireDecode(Block(entry.getValue().buf(), entry.getValue().size()));
-    }
-    if (ENDORSE_EXT_OID == entry.getOid()) {
-      EndorseExtension endorseExtension;
-      endorseExtension.wireDecode(Block(entry.getValue().buf(), entry.getValue().size()));
-
-      endorseExtension >> m_endorseList;
-    }
+  auto endorseExtensionBlock = getSignatureInfo().getCustomTlv(tlv::EndorseExtension);
+  if (endorseExtensionBlock) {
+    EndorseExtension endorseExtension(*endorseExtensionBlock);
+    endorseExtension >> m_endorseList;
   }
 }
 
diff --git a/src/endorse-certificate.hpp b/src/endorse-certificate.hpp
index 51b3b50..defc8a8 100644
--- a/src/endorse-certificate.hpp
+++ b/src/endorse-certificate.hpp
@@ -16,14 +16,14 @@
 
 namespace chronochat {
 
-class EndorseCertificate : public ndn::Certificate
+class EndorseCertificate : public ndn::security::Certificate
 {
 public:
-  class Error : public ndn::Certificate::Error
+  class Error : public ndn::security::Certificate::Error
   {
   public:
     Error(const std::string& what)
-      : ndn::Certificate::Error(what)
+      : ndn::security::Certificate::Error(what)
     {
     }
   };
@@ -32,7 +32,7 @@
 
   EndorseCertificate() {}
 
-  EndorseCertificate(const ndn::IdentityCertificate& kskCertificate,
+  EndorseCertificate(const ndn::security::Certificate& kskCertificate,
                      const Profile& profile,
                      const std::vector<std::string>& endorseList = DEFAULT_ENDORSE_LIST);
 
@@ -41,9 +41,10 @@
                      const std::vector<std::string>& endorseList = DEFAULT_ENDORSE_LIST);
 
   EndorseCertificate(const Name& keyName,
-                     const ndn::PublicKey& key,
+                     const ndn::Buffer& key,
                      const time::system_clock::TimePoint& notBefore,
                      const time::system_clock::TimePoint& notAfter,
+                     const Name::Component& signerKeyId,
                      const Name& signer,
                      const Profile& profile,
                      const std::vector<std::string>& endorseList = DEFAULT_ENDORSE_LIST);
@@ -75,21 +76,10 @@
     return m_endorseList;
   }
 
-  const Name&
-  getPublicKeyName () const
-  {
-    return m_keyName;
-  }
-
 private:
-  static const ndn::OID PROFILE_EXT_OID;
-  static const ndn::OID ENDORSE_EXT_OID;
-
-  Name m_keyName;
-  Name m_signer; // signing key name
+  Name m_signer;
   Profile m_profile;
   std::vector<std::string> m_endorseList;
-
 };
 
 } // namespace chronochat
diff --git a/src/endorse-collection.cpp b/src/endorse-collection.cpp
index c8dafe6..9b937a7 100644
--- a/src/endorse-collection.cpp
+++ b/src/endorse-collection.cpp
@@ -23,7 +23,7 @@
   this->wireDecode(endorseWire);
 }
 
-template<bool T>
+template<ndn::encoding::Tag T>
 size_t
 EndorseCollection::wireEncode(ndn::EncodingImpl<T>& block) const
 {
diff --git a/src/endorse-collection.hpp b/src/endorse-collection.hpp
index 42a0979..dd16bc3 100644
--- a/src/endorse-collection.hpp
+++ b/src/endorse-collection.hpp
@@ -60,7 +60,7 @@
   addCollectionEntry(const Name& certName, const std::string& hash);
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& block) const;
 
diff --git a/src/endorse-combobox-delegate.cpp b/src/endorse-combobox-delegate.cpp
index 1888baf..319135a 100644
--- a/src/endorse-combobox-delegate.cpp
+++ b/src/endorse-combobox-delegate.cpp
@@ -68,7 +68,7 @@
                                const QStyleOptionViewItem& option,
                                const QModelIndex& index) const
 {
-  QStyleOptionViewItemV4 myOption = option;
+  QStyleOptionViewItem myOption = option;
   QString text = m_items[index.model()->data(index, Qt::EditRole).toUInt()].c_str();
 
   myOption.text = text;
diff --git a/src/endorse-extension.cpp b/src/endorse-extension.cpp
index ac862ac..0c9f6c4 100644
--- a/src/endorse-extension.cpp
+++ b/src/endorse-extension.cpp
@@ -23,7 +23,7 @@
   this->wireDecode(endorseWire);
 }
 
-template<bool T>
+template<ndn::encoding::Tag T>
 size_t
 EndorseExtension::wireEncode(ndn::EncodingImpl<T>& block) const
 {
diff --git a/src/endorse-extension.hpp b/src/endorse-extension.hpp
index 844c55c..c8bd11e 100644
--- a/src/endorse-extension.hpp
+++ b/src/endorse-extension.hpp
@@ -57,7 +57,7 @@
   removeEntry(const std::string& entry);
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& block) const;
 
diff --git a/src/endorse-info.cpp b/src/endorse-info.cpp
index 985c304..1aa9385 100644
--- a/src/endorse-info.cpp
+++ b/src/endorse-info.cpp
@@ -24,7 +24,7 @@
   this->wireDecode(endorseWire);
 }
 
-template<bool T>
+template<ndn::encoding::Tag T>
 size_t
 EndorseInfo::wireEncode(ndn::EncodingImpl<T>& block) const
 {
diff --git a/src/endorse-info.hpp b/src/endorse-info.hpp
index 921e711..a794c63 100644
--- a/src/endorse-info.hpp
+++ b/src/endorse-info.hpp
@@ -60,7 +60,7 @@
   addEndorsement(const std::string& type, const std::string& value, const std::string& count);
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& block) const;
 
diff --git a/src/invitation.cpp b/src/invitation.cpp
index f311ad0..e7d2ac5 100644
--- a/src/invitation.cpp
+++ b/src/invitation.cpp
@@ -18,7 +18,7 @@
 
 using std::string;
 
-using ndn::IdentityCertificate;
+using ndn::security::Certificate;
 
 const size_t  Invitation::NAME_SIZE_MIN         = 7;
 const ssize_t Invitation::SIGNATURE             = -1;
@@ -51,7 +51,7 @@
 Invitation::Invitation(const Name& inviteeNameSpace,
                        const string& chatroom,
                        const Name& inviterRoutingPrefix,
-                       const IdentityCertificate& inviterCertificate)
+                       const Certificate& inviterCertificate)
   : m_inviteeNameSpace(inviteeNameSpace)
   , m_chatroom(chatroom)
   , m_inviterRoutingPrefix(inviterRoutingPrefix)
diff --git a/src/invitation.hpp b/src/invitation.hpp
index f7967ed..c9d3731 100644
--- a/src/invitation.hpp
+++ b/src/invitation.hpp
@@ -14,7 +14,7 @@
 
 #include "common.hpp"
 
-#include <ndn-cxx/security/identity-certificate.hpp>
+#include <ndn-cxx/security/certificate.hpp>
 
 namespace chronochat {
 
@@ -58,7 +58,7 @@
   Invitation(const Name& inviteeNameSpace,
              const std::string& chatroom,
              const Name& inviterRoutingPrefix,
-             const ndn::IdentityCertificate& inviterCertificate);
+             const ndn::security::Certificate& inviterCertificate);
 
   Invitation(const Invitation& invitation);
 
@@ -85,7 +85,7 @@
     return m_inviterRoutingPrefix;
   }
 
-  const ndn::IdentityCertificate&
+  const ndn::security::Certificate&
   getInviterCertificate() const
   {
     return m_inviterCertificate;
@@ -109,7 +109,7 @@
   Name m_inviteeNameSpace;
   std::string m_chatroom;
   Name m_inviterRoutingPrefix;
-  ndn::IdentityCertificate m_inviterCertificate;
+  ndn::security::Certificate m_inviterCertificate;
   uint64_t m_timestamp;
 };
 
diff --git a/src/main.cpp b/src/main.cpp
index 9674146..90f1d9d 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -10,10 +10,9 @@
 
 #include <QApplication>
 #include <QTextCodec>
-// #include <QSystemTrayIcon>
 
 #include "controller.hpp"
-#include "logging.h"
+#include <iostream>
 #include <ndn-cxx/face.hpp>
 #include <boost/thread/thread.hpp>
 
@@ -43,9 +42,6 @@
 {
   NewApp app(argc, argv);
 
-  QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
-  QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
-
   chronochat::Controller controller;
 
   app.setQuitOnLastWindowClosed(false);
diff --git a/src/nfd-connection-checker.cpp b/src/nfd-connection-checker.cpp
index 023c0b2..eda7197 100644
--- a/src/nfd-connection-checker.cpp
+++ b/src/nfd-connection-checker.cpp
@@ -42,6 +42,7 @@
                               [&] (const Interest& interest, const Data& data) {
                                 m_face->shutdown();
                               },
+                              NULL,
                               [] (const Interest& interest) {});
       m_face->processEvents(time::milliseconds::zero(), true);
     }
diff --git a/src/profile-editor.cpp b/src/profile-editor.cpp
index a55a12c..f0b067d 100644
--- a/src/profile-editor.cpp
+++ b/src/profile-editor.cpp
@@ -40,26 +40,31 @@
 ProfileEditor::~ProfileEditor()
 {
     delete ui;
-    delete m_tableModel;
+
+    if (m_tableModel)
+      delete m_tableModel;
 }
 
 void
 ProfileEditor::onCloseDBModule()
 {
-  // _LOG_DEBUG("close db module");
   if (m_tableModel) {
     delete m_tableModel;
-    // _LOG_DEBUG("tableModel closed");
+    m_tableModel = 0;
   }
 }
 
 void
 ProfileEditor::onIdentityUpdated(const QString& identity)
 {
-  m_tableModel = new QSqlTableModel();
-
   m_identity = identity;
   ui->identityInput->setText(identity);
+}
+
+void
+ProfileEditor::resetPanel()
+{
+  m_tableModel = new QSqlTableModel();
 
   m_tableModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
   m_tableModel->setTable("SelfProfile");
diff --git a/src/profile-editor.hpp b/src/profile-editor.hpp
index 5323f5c..a18f8fc 100644
--- a/src/profile-editor.hpp
+++ b/src/profile-editor.hpp
@@ -39,6 +39,9 @@
   void
   onIdentityUpdated(const QString& identity);
 
+  void
+  resetPanel();
+
 private slots:
   void
   onAddClicked();
diff --git a/src/profile.cpp b/src/profile.cpp
index 38f7b63..dc89fa9 100644
--- a/src/profile.cpp
+++ b/src/profile.cpp
@@ -11,6 +11,7 @@
 
 #include "profile.hpp"
 #include "logging.h"
+#include <ndn-cxx/security/additional-description.hpp>
 
 namespace chronochat {
 
@@ -18,8 +19,7 @@
 using std::string;
 using std::map;
 
-using ndn::IdentityCertificate;
-using ndn::CertificateSubjectDescription;
+using ndn::security::Certificate;
 
 const std::string Profile::OID_NAME("2.5.4.41");
 const std::string Profile::OID_ORG("2.5.4.11");
@@ -28,33 +28,34 @@
 const std::string Profile::OID_ADVISOR("2.5.4.80");
 const std::string Profile::OID_EMAIL("1.2.840.113549.1.9.1");
 
-Profile::Profile(const IdentityCertificate& identityCertificate)
+Profile::Profile(const Certificate& identityCertificate)
 {
-  Name keyName = IdentityCertificate::certificateNameToPublicKeyName(identityCertificate.getName());
+  Name keyName = identityCertificate.getKeyName();
 
-  m_entries[string("IDENTITY")] = keyName.getPrefix(-1).toUri();
+  m_entries[string("IDENTITY")] = keyName.getPrefix(-2).toUri();
 
-  const vector<CertificateSubjectDescription>& subList =
-    identityCertificate.getSubjectDescriptionList();
+  auto additionalWire = identityCertificate.getSignatureInfo().getCustomTlv(tlv::AdditionalDescription);
+  if (additionalWire) {
+    ndn::security::AdditionalDescription additional(*additionalWire);
 
-  for (vector<CertificateSubjectDescription>::const_iterator it = subList.begin();
-       it != subList.end(); it++) {
-    const string oidStr = it->getOidString();
-    string valueStr = it->getValue();
-    if (oidStr == OID_NAME)
-      m_entries["name"] = valueStr;
-    else if (oidStr == OID_ORG)
-      m_entries["institution"] = valueStr;
-    else if (oidStr == OID_GROUP)
-      m_entries["group"] = valueStr;
-    else if (oidStr == OID_HOMEPAGE)
-      m_entries["homepage"] = valueStr;
-    else if (oidStr == OID_ADVISOR)
-      m_entries["advisor"] = valueStr;
-    else if (oidStr == OID_EMAIL)
-      m_entries["email"] = valueStr;
-    else
-      m_entries[oidStr] = valueStr;
+    for (auto it = additional.begin(); it != additional.end(); it++) {
+      const string oidStr = it->first;
+      string valueStr = it->second;
+      if (oidStr == OID_NAME)
+        m_entries["name"] = valueStr;
+      else if (oidStr == OID_ORG)
+        m_entries["institution"] = valueStr;
+      else if (oidStr == OID_GROUP)
+        m_entries["group"] = valueStr;
+      else if (oidStr == OID_HOMEPAGE)
+        m_entries["homepage"] = valueStr;
+      else if (oidStr == OID_ADVISOR)
+        m_entries["advisor"] = valueStr;
+      else if (oidStr == OID_EMAIL)
+        m_entries["email"] = valueStr;
+      else
+        m_entries[oidStr] = valueStr;
+    }
   }
 }
 
@@ -77,7 +78,12 @@
 {
 }
 
-template<bool T>
+Profile::Profile(const Block& profileWire)
+{
+  this->wireDecode(profileWire);
+}
+
+template<ndn::encoding::Tag T>
 size_t
 Profile::wireEncode(ndn::EncodingImpl<T>& block) const
 {
diff --git a/src/profile.hpp b/src/profile.hpp
index a89a800..43dba96 100644
--- a/src/profile.hpp
+++ b/src/profile.hpp
@@ -18,7 +18,7 @@
 #include <ndn-cxx/util/concepts.hpp>
 #include <ndn-cxx/encoding/block.hpp>
 #include <ndn-cxx/encoding/encoding-buffer.hpp>
-#include <ndn-cxx/security/identity-certificate.hpp>
+#include <ndn-cxx/security/certificate.hpp>
 
 namespace chronochat {
 
@@ -44,7 +44,7 @@
   {
   }
 
-  Profile(const ndn::IdentityCertificate& identityCertificate);
+  Profile(const ndn::security::Certificate& identityCertificate);
 
   Profile(const Name& identityName);
 
@@ -54,6 +54,8 @@
 
   Profile(const Profile& profile);
 
+  Profile(const Block& profileWire);
+
   ~Profile()
   {
   }
@@ -117,7 +119,7 @@
   operator!=(const Profile& profile) const;
 
 private:
-  template<bool T>
+  template<ndn::encoding::Tag T>
   size_t
   wireEncode(ndn::EncodingImpl<T>& block) const;
 
diff --git a/src/tree-layout.cpp b/src/tree-layout.cpp
index 166019f..9bf3627 100644
--- a/src/tree-layout.cpp
+++ b/src/tree-layout.cpp
@@ -11,7 +11,6 @@
  */
 
 #include "tree-layout.hpp"
-#include <iostream>
 
 namespace chronochat {
 
diff --git a/src/trust-tree-scene.cpp b/src/trust-tree-scene.cpp
index 718b207..3a23718 100644
--- a/src/trust-tree-scene.cpp
+++ b/src/trust-tree-scene.cpp
@@ -11,6 +11,7 @@
 #include "trust-tree-scene.hpp"
 
 #include <QtGui>
+#include <QGraphicsTextItem>
 
 #ifndef Q_MOC_RUN
 #include <assert.h>
@@ -21,7 +22,7 @@
 
 static const double Pi = 3.14159265358979323846264338327950288419717;
 
-TrustTreeScene::TrustTreeScene(QWidget* parent)
+TrustTreeScene::TrustTreeScene(QObject* parent)
   : QGraphicsScene(parent)
 {
 }
diff --git a/src/trust-tree-scene.hpp b/src/trust-tree-scene.hpp
index c8c21c6..0412914 100644
--- a/src/trust-tree-scene.hpp
+++ b/src/trust-tree-scene.hpp
@@ -11,7 +11,7 @@
 #ifndef CHRONOCHAT_TRUST_TREE_SCENE_HPP
 #define CHRONOCHAT_TRUST_TREE_SCENE_HPP
 
-#include <QtGui/QGraphicsScene>
+#include <QGraphicsScene>
 #include <QColor>
 #include <QMap>
 
@@ -29,7 +29,7 @@
   Q_OBJECT
 
 public:
-  TrustTreeScene(QWidget* parent = 0);
+  TrustTreeScene(QObject* parent = 0);
 
   void
   plotTrustTree(chronochat::TrustTreeNodeList& nodeList);
diff --git a/src/validator-invitation.cpp b/src/validator-invitation.cpp
deleted file mode 100644
index 20d7116..0000000
--- a/src/validator-invitation.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2013, Regents of the University of California
- *                     Yingdi Yu
- *
- * BSD license, See the LICENSE file for more information
- *
- * Author: Yingdi Yu <yingdi@cs.ucla.edu>
- */
-
-#include "validator-invitation.hpp"
-#include "invitation.hpp"
-
-#include "logging.h"
-
-namespace chronochat {
-
-using std::vector;
-
-using ndn::CertificateCache;
-using ndn::SecRuleRelative;
-using ndn::OnDataValidated;
-using ndn::OnDataValidationFailed;
-using ndn::OnInterestValidated;
-using ndn::OnInterestValidationFailed;
-using ndn::ValidationRequest;
-using ndn::IdentityCertificate;
-
-const shared_ptr<CertificateCache> ValidatorInvitation::DefaultCertificateCache =
-  shared_ptr<CertificateCache>();
-
-ValidatorInvitation::ValidatorInvitation()
-  : Validator()
-  , m_invitationReplyRule("^([^<CHRONOCHAT-INVITATION>]*)<CHRONOCHAT-INVITATION>",
-                          "^([^<KEY>]*)<KEY>(<>*)[<dsk-.*><ksk-.*>]<ID-CERT>$",
-                          "==", "\\1", "\\1\\2", true)
-  , m_invitationInterestRule("^[^<CHRONOCHAT-INVITATION>]*<CHRONOCHAT-INVITATION><>{6}$")
-  , m_innerKeyRegex("^([^<KEY>]*)<KEY>(<>*)[<dsk-.*><ksk-.*>]<ID-CERT><>$", "\\1\\2")
-{
-}
-
-void
-ValidatorInvitation::addTrustAnchor(const Name& keyName, const ndn::PublicKey& key)
-{
-  m_trustAnchors[keyName] = key;
-}
-
-void
-ValidatorInvitation::removeTrustAnchor(const Name& keyName)
-{
-  m_trustAnchors.erase(keyName);
-}
-
-void
-ValidatorInvitation::cleanTrustAnchor()
-{
-  m_trustAnchors.clear();
-}
-
-void
-ValidatorInvitation::checkPolicy (const Data& data,
-                                  int stepCount,
-                                  const OnDataValidated& onValidated,
-                                  const OnDataValidationFailed& onValidationFailed,
-                                  vector<shared_ptr<ValidationRequest> >& nextSteps)
-{
-  const Signature& signature = data.getSignature();
-
-  if (signature.getKeyLocator().getType() != KeyLocator::KeyLocator_Name)
-    return onValidationFailed(data.shared_from_this(),
-                              "Key Locator is not a name: " + data.getName().toUri());
-
-  const Name & keyLocatorName = signature.getKeyLocator().getName();
-
-  if (!m_invitationReplyRule.satisfy(data.getName(), keyLocatorName))
-    return onValidationFailed(data.shared_from_this(),
-                              "Does not comply with the invitation rule: " +
-                              data.getName().toUri() + " signed by: " +
-                              keyLocatorName.toUri());
-
-  Data innerData;
-  innerData.wireDecode(data.getContent().blockFromValue());
-
-  return internalCheck(data.wireEncode().value(),
-                       data.wireEncode().value_size() - data.getSignature().getValue().size(),
-                       signature,
-                       keyLocatorName,
-                       innerData,
-                       bind(onValidated, data.shared_from_this()),
-                       bind(onValidationFailed, data.shared_from_this(), _1));
-}
-
-void
-ValidatorInvitation::checkPolicy (const Interest& interest,
-                                  int stepCount,
-                                  const OnInterestValidated& onValidated,
-                                  const OnInterestValidationFailed& onValidationFailed,
-                                  vector<shared_ptr<ValidationRequest> >& nextSteps)
-{
-  const Name& interestName  = interest.getName();
-
-  if (!m_invitationInterestRule.match(interestName))
-    return onValidationFailed(interest.shared_from_this(),
-                              "Invalid interest name: " +  interest.getName().toUri());
-
-  Name signedName = interestName.getPrefix(-1);
-  ndn::Buffer signedBlob = ndn::Buffer(signedName.wireEncode().value(),
-                                       signedName.wireEncode().value_size());
-
-  Block signatureBlock = interestName.get(Invitation::SIGNATURE).blockFromValue();
-  Block signatureInfo = interestName.get(Invitation::KEY_LOCATOR).blockFromValue();
-  Signature signature(signatureInfo, signatureBlock);
-
-  if (signature.getKeyLocator().getType() != KeyLocator::KeyLocator_Name)
-    return onValidationFailed(interest.shared_from_this(),
-                              "KeyLocator is not a name: " + interest.getName().toUri());
-
-  const Name & keyLocatorName = signature.getKeyLocator().getName();
-
-  Data innerData;
-  innerData.wireDecode(interestName.get(Invitation::INVITER_CERT).blockFromValue());
-
-  return internalCheck(signedBlob.buf(), signedBlob.size(),
-                       signature,
-                       keyLocatorName,
-                       innerData,
-                       bind(onValidated, interest.shared_from_this()),
-                       bind(onValidationFailed, interest.shared_from_this(), _1));
-}
-
-void
-ValidatorInvitation::internalCheck(const uint8_t* buf, size_t size,
-                                   const Signature& signature,
-                                   const Name& keyLocatorName,
-                                   const Data& innerData,
-                                   const OnValidated& onValidated,
-                                   const OnValidationFailed& onValidationFailed)
-{
-  Name signingKeyName = IdentityCertificate::certificateNameToPublicKeyName(keyLocatorName);
-
-  TrustAnchors::const_iterator keyIt = m_trustAnchors.find(signingKeyName);
-  if (keyIt == m_trustAnchors.end())
-    return onValidationFailed("Cannot reach any trust anchor");
-
-  if (!Validator::verifySignature(buf, size, signature, keyIt->second))
-    return onValidationFailed("Cannot verify outer signature");
-
-  // Temporarily disabled, we should get it back when we create a specific key for the chatroom.
-  // if(!Validator::verifySignature(innerData, m_trustAnchors[signingKeyName]))
-  //   return onValidationFailed("Cannot verify inner signature");
-
-  if (!m_innerKeyRegex.match(innerData.getName()) ||
-      m_innerKeyRegex.expand() != signingKeyName.getPrefix(-1))
-    return onValidationFailed("Inner certificate does not comply with the rule");
-
-  return onValidated();
-}
-
-} // namespace chronochat
diff --git a/src/validator-invitation.hpp b/src/validator-invitation.hpp
deleted file mode 100644
index 03890a0..0000000
--- a/src/validator-invitation.hpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2013, Regents of the University of California
- *                     Yingdi Yu
- *
- * BSD license, See the LICENSE file for more information
- *
- * Author: Yingdi Yu <yingdi@cs.ucla.edu>
- */
-
-#ifndef CHRONOCHAT_VALIDATOR_INVITATION_HPP
-#define CHRONOCHAT_VALIDATOR_INVITATION_HPP
-
-#include "common.hpp"
-
-#include <ndn-cxx/security/validator.hpp>
-#include <ndn-cxx/security/certificate-cache.hpp>
-#include <ndn-cxx/security/sec-rule-relative.hpp>
-
-#include "endorse-certificate.hpp"
-
-namespace chronochat {
-
-class ValidatorInvitation : public ndn::Validator
-{
-  typedef function<void(const std::string&)> OnValidationFailed;
-  typedef function<void()> OnValidated;
-
-public:
-  class Error : public ndn::Validator::Error
-  {
-  public:
-    Error(const std::string& what)
-      : ndn::Validator::Error(what)
-    {
-    }
-  };
-
-  static const shared_ptr<ndn::CertificateCache> DefaultCertificateCache;
-
-  ValidatorInvitation();
-
-  virtual
-  ~ValidatorInvitation()
-  {
-  }
-
-  void
-  addTrustAnchor(const Name& keyName, const ndn::PublicKey& key);
-
-  void
-  removeTrustAnchor(const Name& keyName);
-
-  void
-  cleanTrustAnchor();
-
-protected:
-  void
-  checkPolicy(const Data& data,
-              int stepCount,
-              const ndn::OnDataValidated& onValidated,
-              const ndn::OnDataValidationFailed& onValidationFailed,
-              std::vector<shared_ptr<ndn::ValidationRequest> >& nextSteps);
-
-  void
-  checkPolicy(const Interest& interest,
-              int stepCount,
-              const ndn::OnInterestValidated& onValidated,
-              const ndn::OnInterestValidationFailed& onValidationFailed,
-              std::vector<shared_ptr<ndn::ValidationRequest> >& nextSteps);
-
-private:
-  void
-  internalCheck(const uint8_t* buf, size_t size,
-                const Signature& sig,
-                const Name& keyLocatorName,
-                const Data& innerData,
-                const OnValidated& onValidated,
-                const OnValidationFailed& onValidationFailed);
-
-private:
-  typedef std::map<Name, ndn::PublicKey> TrustAnchors;
-
-  ndn::SecRuleRelative m_invitationReplyRule;
-  ndn::Regex m_invitationInterestRule;
-  ndn::Regex m_innerKeyRegex;
-  TrustAnchors m_trustAnchors;
-};
-
-} // namespace chronochat
-
-#endif // CHRONOCHAT_VALIDATOR_INVITATION_HPP
diff --git a/src/validator-panel.cpp b/src/validator-panel.cpp
deleted file mode 100644
index c3c429d..0000000
--- a/src/validator-panel.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2013, Regents of the University of California
- *                     Yingdi Yu
- *
- * BSD license, See the LICENSE file for more information
- *
- * Author: Yingdi Yu <yingdi@cs.ucla.edu>
- */
-
-#include "validator-panel.hpp"
-
-#include "logging.h"
-
-namespace chronochat {
-
-using std::vector;
-
-using ndn::CertificateCache;
-using ndn::SecRuleRelative;
-using ndn::OnDataValidated;
-using ndn::OnDataValidationFailed;
-using ndn::ValidationRequest;
-using ndn::IdentityCertificate;
-
-const shared_ptr<CertificateCache> ValidatorPanel::DEFAULT_CERT_CACHE =
-  shared_ptr<CertificateCache>();
-
-ValidatorPanel::ValidatorPanel(int stepLimit,
-                               const shared_ptr<CertificateCache> certificateCache)
-  : m_stepLimit(stepLimit)
-  , m_certificateCache(certificateCache)
-{
-  m_endorseeRule = make_shared<SecRuleRelative>("^([^<DNS>]*)<DNS><>*<ENDORSEE><>$",
-                                                "^([^<KEY>]*)<KEY>(<>*)<ksk-.*><ID-CERT>$",
-                                                "==", "\\1", "\\1\\2", true);
-}
-
-void
-ValidatorPanel::addTrustAnchor(const EndorseCertificate& cert)
-{
-  m_trustAnchors[cert.getPublicKeyName()] = cert.getPublicKeyInfo();
-}
-
-void
-ValidatorPanel::removeTrustAnchor(const Name& keyName)
-{
-  m_trustAnchors.erase(keyName);
-}
-
-void
-ValidatorPanel::checkPolicy (const Data& data,
-                             int stepCount,
-                             const OnDataValidated& onValidated,
-                             const OnDataValidationFailed& onValidationFailed,
-                             vector<shared_ptr<ValidationRequest> >& nextSteps)
-{
-  if (m_stepLimit == stepCount) {
-    onValidationFailed(data.shared_from_this(),
-                       "Reach maximum validation steps: " + data.getName().toUri());
-    return;
-  }
-
-  const KeyLocator& keyLocator = data.getSignature().getKeyLocator();
-
-  if (keyLocator.getType() != KeyLocator::KeyLocator_Name)
-    return onValidationFailed(data.shared_from_this(),
-                              "Key Locator is not a name: " + data.getName().toUri());
-
-  const Name& keyLocatorName = keyLocator.getName();
-
-  if (m_endorseeRule->satisfy(data.getName(), keyLocatorName)) {
-    Name keyName = IdentityCertificate::certificateNameToPublicKeyName(keyLocatorName);
-
-    if (m_trustAnchors.end() != m_trustAnchors.find(keyName) &&
-        Validator::verifySignature(data, data.getSignature(), m_trustAnchors[keyName]))
-      onValidated(data.shared_from_this());
-    else
-      onValidationFailed(data.shared_from_this(),
-                         "Cannot verify signature:" + data.getName().toUri());
-  }
-  else
-    onValidationFailed(data.shared_from_this(),
-                       "Does not satisfy rule: " + data.getName().toUri());
-
-  return;
-}
-
-} // namespace chronochat
diff --git a/src/validator-panel.hpp b/src/validator-panel.hpp
deleted file mode 100644
index ab42fe1..0000000
--- a/src/validator-panel.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
-/*
- * Copyright (c) 2013, Regents of the University of California
- *                     Yingdi Yu
- *
- * BSD license, See the LICENSE file for more information
- *
- * Author: Yingdi Yu <yingdi@cs.ucla.edu>
- */
-
-#ifndef CHRONOCHAT_VALIDATOR_PANEL_HPP
-#define CHRONOCHAT_VALIDATOR_PANEL_HPP
-
-#include "common.hpp"
-
-#include <ndn-cxx/security/validator.hpp>
-#include <ndn-cxx/security/sec-rule-relative.hpp>
-#include <ndn-cxx/security/certificate-cache.hpp>
-
-#include "endorse-certificate.hpp"
-
-namespace chronochat {
-
-class ValidatorPanel : public ndn::Validator
-{
-public:
-
-  static const shared_ptr<ndn::CertificateCache> DEFAULT_CERT_CACHE;
-
-  ValidatorPanel(int stepLimit = 10,
-                 const shared_ptr<ndn::CertificateCache> cache = DEFAULT_CERT_CACHE);
-
-  ~ValidatorPanel()
-  {
-  }
-
-  void
-  addTrustAnchor(const EndorseCertificate& selfEndorseCertificate);
-
-  void
-  removeTrustAnchor(const Name& keyName);
-
-protected:
-  virtual void
-  checkPolicy(const Data& data,
-              int stepCount,
-              const ndn::OnDataValidated& onValidated,
-              const ndn::OnDataValidationFailed& onValidationFailed,
-              std::vector<shared_ptr<ndn::ValidationRequest> >& nextSteps);
-
-  virtual void
-  checkPolicy(const Interest& interest,
-              int stepCount,
-              const ndn::OnInterestValidated& onValidated,
-              const ndn::OnInterestValidationFailed& onValidationFailed,
-              std::vector<shared_ptr<ndn::ValidationRequest> >& nextSteps)
-  {
-    onValidationFailed(interest.shared_from_this(),
-                       "No rules for interest.");
-  }
-
-private:
-  int m_stepLimit;
-  shared_ptr<ndn::CertificateCache> m_certificateCache;
-  shared_ptr<ndn::SecRuleRelative> m_endorseeRule;
-  std::map<Name, ndn::PublicKey> m_trustAnchors;
-};
-
-} // namespace chronochat
-
-#endif // CHRONOCHAT_VALIDATOR_PANEL_HPP
diff --git a/test/cert/endorse.cert b/test/cert/endorse.cert
new file mode 100644
index 0000000..0f5396a
--- /dev/null
+++ b/test/cert/endorse.cert
@@ -0,0 +1,15 @@
+Bv0CpQc5CBdFbmRvcnNlQ2VydGlmaWNhdGVUZXN0cwgDS0VZCAg2x+MG7IxCPQgE
+c2VsZggJ/QAAAXXVNWGzFAkYAQIZBAA27oAV/QEmMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv3BM/bpWTmcKTeOzykiFm/GWYnhJgTQxQlRp4mQHsEmH
+SFmrCtx2g0mwoPUPwjBhXuH0J4PSIuudb8VLiPGD03/gFUeGtY9VRrH5dZuIOpHT
+tklBz8rA3DsCf0rMggU6IrYd6Vjlk+hseoAlKvVVgmGT+NXdmtO+Xhxt16S2jPUs
++ZxKc+gBGKEHKKZkEDlRWzWrj+hBKasOic3v7Lc22M4tvjANxyMApZ/rXKdIi1rN
+Da0u4dk6lL/qW5fIEQEjsf4dngZkHaHkpK6wEnXyTQIX71/cmMB42xggfZ7YAvfO
+smuc0mg3fuuwTMo5fKxHCES14i6y7TMhqlxkgdb66QIDAQABFv0BDxsBAP0BAqP9
+AgBc/QIBCDIuNS40LjQx/QICTC9FbmRvcnNlQ2VydGlmaWNhdGVUZXN0cy9LRVkv
+NiVDNyVFMyUwNiVFQyU4Q0IlM0Qvc2VsZi8lRkQlMDAlMDAlMDF1JUQ1NWElQjP9
+AgA//QIBBnNpZ25lcv0CAjEvRW5kb3JzZUNlcnRpZmljYXRlVGVzdHMvS0VZLzYl
+QzclRTMlMDYlRUMlOENCJTNEiCaJJIoISURFTlRJVFmLGC9FbmRvcnNlQ2VydGlm
+aWNhdGVUZXN0c4wRiwVlbWFpbIsIaG9tZXBhZ2X9AP0m/QD+DzE5NzAwMTAxVDAw
+MDAwMP0A/w8yMDQwMTExMlQwNzU3MjYXIOzz9eftz8S3vFHaq8yVJalZzs7SPtvo
+7Xu8QhXQq17e
\ No newline at end of file
diff --git a/test/cert/testid.cert b/test/cert/testid.cert
new file mode 100644
index 0000000..849ab19
--- /dev/null
+++ b/test/cert/testid.cert
@@ -0,0 +1,16 @@
+Bv0Czwc5CBdFbmRvcnNlQ2VydGlmaWNhdGVUZXN0cwgDS0VZCAg2x+MG7IxCPQgE
+c2VsZggJ/QAAAXXVNWGzFAkYAQIZBAA27oAV/QEmMIIBIjANBgkqhkiG9w0BAQEF
+AAOCAQ8AMIIBCgKCAQEAv3BM/bpWTmcKTeOzykiFm/GWYnhJgTQxQlRp4mQHsEmH
+SFmrCtx2g0mwoPUPwjBhXuH0J4PSIuudb8VLiPGD03/gFUeGtY9VRrH5dZuIOpHT
+tklBz8rA3DsCf0rMggU6IrYd6Vjlk+hseoAlKvVVgmGT+NXdmtO+Xhxt16S2jPUs
++ZxKc+gBGKEHKKZkEDlRWzWrj+hBKasOic3v7Lc22M4tvjANxyMApZ/rXKdIi1rN
+Da0u4dk6lL/qW5fIEQEjsf4dngZkHaHkpK6wEnXyTQIX71/cmMB42xggfZ7YAvfO
+smuc0mg3fuuwTMo5fKxHCES14i6y7TMhqlxkgdb66QIDAQABFlkbAQEcKgcoCBdF
+bmRvcnNlQ2VydGlmaWNhdGVUZXN0cwgDS0VZCAg2x+MG7IxCPf0A/Sb9AP4PMTk3
+MDAxMDFUMDAwMDAw/QD/DzIwNDAxMTEyVDA3NTcyNhf9AQA0C8yYGgrruSJe1n5q
+oTSdmomnRdZgdczblgL5jY9dP9OAUJL6vy5bHwnjFU484T6vKANETL/BZfnkI/h9
+39gMjXiqaQ4zStuSNBVO/41IyOzDbg2KyQk41mB1M1r7pvzIziNM//ammYBzaQN/
+ixlKPrReUIypEswYnCXaw4VZPLkReR8yjVqLW2B6X8a1zfDWMOyv39Gayhpfcvbo
+2juJZ75JTk6KL8lEO8KO84M2ym/VABDZUHbXnMPYmqU4aMRRLfytzeZlLOdRzLpb
+FrE4AHwudakhruPB39NluYu2IHhyIB0x1u4xxyzGfgoIRIPXnW4zoulFn9RFgg9A
+6lNM
\ No newline at end of file
diff --git a/test/cert/testid.key b/test/cert/testid.key
new file mode 100644
index 0000000..0be9558
--- /dev/null
+++ b/test/cert/testid.key
@@ -0,0 +1,7 @@
+MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3BM/bpWTmcKTeOzykiF
+m/GWYnhJgTQxQlRp4mQHsEmHSFmrCtx2g0mwoPUPwjBhXuH0J4PSIuudb8VLiPGD
+03/gFUeGtY9VRrH5dZuIOpHTtklBz8rA3DsCf0rMggU6IrYd6Vjlk+hseoAlKvVV
+gmGT+NXdmtO+Xhxt16S2jPUs+ZxKc+gBGKEHKKZkEDlRWzWrj+hBKasOic3v7Lc2
+2M4tvjANxyMApZ/rXKdIi1rNDa0u4dk6lL/qW5fIEQEjsf4dngZkHaHkpK6wEnXy
+TQIX71/cmMB42xggfZ7YAvfOsmuc0mg3fuuwTMo5fKxHCES14i6y7TMhqlxkgdb6
+6QIDAQAB
\ No newline at end of file
diff --git a/test/endorse-certificate.t.cpp b/test/endorse-certificate.t.cpp
index 5fa5c79..baa2ecf 100644
--- a/test/endorse-certificate.t.cpp
+++ b/test/endorse-certificate.t.cpp
@@ -30,122 +30,37 @@
 using std::string;
 
 using ndn::KeyChain;
-using ndn::IdentityCertificate;
+using ndn::security::Certificate;
 
 BOOST_AUTO_TEST_SUITE(TestEndorseCertificate)
 
-const string testIdCert("\
-Bv0DXwdRCBdFbmRvcnNlQ2VydGlmaWNhdGVUZXN0cwgDS0VZCAxFbmNvZGVEZWNv\
-ZGUIEWtzay0xMzk0MDcyMTQ3MzM1CAdJRC1DRVJUCAf9AUSVLNXoFAMYAQIV/QG8\
-MIIBuDAiGA8yMDE0MDMwNjAyMTU0N1oYDzIwMTQwMzEzMDkyNzQ3WjBuMA0GA1UE\
-KRMGTXlOYW1lMBIGA1UECxMLTXlJbnN0aXR1dGUwDgYDVQQBEwdNeUdyb3VwMBEG\
-A1UEAxMKTXlIb21lUGFnZTAQBgNVBFATCU15QWR2aXNvcjAUBgkqhkiG9w0BCQET\
-B015RW1haWwwggEgMA0GCSqGSIb3DQEBAQUAA4IBDQAwggEIAoIBAQDYsWD0ixQF\
-RfYs36BHNsRNv5ouEL69oaS6XX/hsQN1By4RNI6eSG5DpajtAwK1y+DXPwkLHd5S\
-BrvwLzReF7SsrF2ObawznU14GKaQdbn+eVIER7CWvSpJhH5yKS4fCPRN+b1MP8QS\
-DLvaaGu15T98cgVscIEqFkLfnWSQbdN6EnodjOH27JkBCz8Lxv9GZLrhfKGzOylR\
-fLzvCIyIXYl6HWroO+xTJQaP+miSZNVGyf4jYqz5WbQH56a9ZjUldTphjuDbBjUq\
-QaNVOzoKT+H4qh8mn399aQ9/BjM+6/WgrSw7/MO2UCgoZhySQY4HVqzUVVWnYwOU\
-NYPoOS3HdvGLAgERFkEbAQEcPAc6CBdFbmRvcnNlQ2VydGlmaWNhdGVUZXN0cwgD\
-S0VZCBFrc2stMTM5NDA3MjE0NzEyOAgHSUQtQ0VSVBf9AQARSwS/CelRRSUO4Tik\
-5Q+L5zusaqq5652T92/83S5l38dO41BOf5fBUb3RtnFSbS/QaBCRfRJtDvkN2LhE\
-vksJjSAoAKUzx27UyM1eq7L8DDvsvC9mbwxGzTK2F1t3Jy81rk5X34MecvztlILs\
-nLqzqqiwl3dS1xyvg9GZez5g1yoOtRwzkHaah6svLVwzwM7kECXWRf4NoHTazWQo\
-Cs6s60F9I/xBRKJ4Cw2L/AzvB5sX1J4HvHCsplbR/GdvA8uW6i8pp7kjIhjCGewK\
-uNfH/4lHxzTl3pjsVy+EHKmwSlZ+T8cy5qaIEHxhbOzMNNVdit7XEwexOE66AVza\
-92On");
-
-const string testKey("\
-MIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEA2LFg9IsUBUX2LN+gRzbE\
-Tb+aLhC+vaGkul1/4bEDdQcuETSOnkhuQ6Wo7QMCtcvg1z8JCx3eUga78C80Xhe0\
-rKxdjm2sM51NeBimkHW5/nlSBEewlr0qSYR+cikuHwj0Tfm9TD/EEgy72mhrteU/\
-fHIFbHCBKhZC351kkG3TehJ6HYzh9uyZAQs/C8b/RmS64XyhszspUXy87wiMiF2J\
-eh1q6DvsUyUGj/pokmTVRsn+I2Ks+Vm0B+emvWY1JXU6YY7g2wY1KkGjVTs6Ck/h\
-+KofJp9/fWkPfwYzPuv1oK0sO/zDtlAoKGYckkGOB1as1FVVp2MDlDWD6Dktx3bx\
-iwIBEQ==");
-
-const string testEndorseCert("\
-Bv0CYweICBdFbmRvcnNlQ2VydGlmaWNhdGVUZXN0cwgMRW5jb2RlRGVjb2RlCBFr\
-c2stMTM5NDA3MjE0NzMzNQgMUFJPRklMRS1DRVJUCDMHMQgXRW5kb3JzZUNlcnRp\
-ZmljYXRlVGVzdHMIBlNpbmdlcggOa3NrLTEyMzQ1Njc4OTAICf0AAAFMoXR8NRQD\
-GAECFf0BqTCCAaUwIhgPMjAxMzEyMjYyMzIyNTRaGA8yMDEzMTIyNjIzMjI1NFow\
-QDA+BgNVBCkTNy9FbmRvcnNlQ2VydGlmaWNhdGVUZXN0cy9FbmNvZGVEZWNvZGUv\
-a3NrLTEzOTQwNzIxNDczMzUwgZ0wDQYJKoZIhvcNAQEBBQADgYsAMIGHAoGBAJ4G\
-PkeFsjQ3qoVHrAMkg7WcqAU6JB7riQG76ZuywyKsaOPwbALOaKbE0KcGkJyqGwgd\
-i0OaM2dEbSGjG4ial15ZxBUL2Sy9UQdhgq3BuNe/m899JMJj85cX6/5iJbpbTYrC\
-er1Dio+48vHFajDTUIzImt/v7TXnemLqdny7CCbHAgERMIGcMGsGBysGAQUgAgEB\
-Af8EXYhbiTGKCElERU5USVRZiyUvRW5kb3JzZUNlcnRpZmljYXRlVGVzdHMvRW5j\
-b2RlRGVjb2RliRaKCGhvbWVwYWdliwpNeUhvbWVQYWdliQ6KBG5hbWWLBk15TmFt\
-ZTAtBgcrBgEFIAICAQH/BB+MHYsLaW5zdGl0dXRpb26LBWdyb3VwiwdhZHZpc29y\
-FgMbAQAXIHalD2NUzM7abX6QY+2qWNLVMC+ch2xnVyrlf89ZH/IV");
+std::string
+getTestFile(std::string path) {
+  std::ifstream t(path);
+  std::stringstream buffer;
+  buffer << t.rdbuf();
+  return buffer.str();
+}
 
 BOOST_AUTO_TEST_CASE(IdCert)
 {
+  const std::string testIdCert = getTestFile("test/cert/testid.cert");
   boost::iostreams::stream<boost::iostreams::array_source> is(testIdCert.c_str(),
                                                               testIdCert.size());
-  shared_ptr<IdentityCertificate> idCert = ndn::io::load<IdentityCertificate>(is);
+  std::shared_ptr<Certificate> idCert = ndn::io::load<Certificate>(is);
 
   BOOST_CHECK(static_cast<bool>(idCert));
 
-  const ndn::Certificate::SubjectDescriptionList& subjectDescription =
-    idCert->getSubjectDescriptionList();
-  BOOST_CHECK_EQUAL(subjectDescription.size(), 6);
-
-  ndn::Certificate::SubjectDescriptionList::const_iterator it  = subjectDescription.begin();
-  ndn::Certificate::SubjectDescriptionList::const_iterator end = subjectDescription.end();
-  int count = 0;
-  for(; it != end; it++)
-    {
-      if(it->getOidString() == "2.5.4.41")
-        {
-          BOOST_CHECK_EQUAL(it->getValue(), "MyName");
-          count++;
-        }
-      if(it->getOidString() == "2.5.4.11")
-        {
-          BOOST_CHECK_EQUAL(it->getValue(), "MyInstitute");
-          count++;
-        }
-      if(it->getOidString() == "2.5.4.1")
-        {
-          BOOST_CHECK_EQUAL(it->getValue(), "MyGroup");
-          count++;
-        }
-      if(it->getOidString() == "2.5.4.3")
-        {
-          BOOST_CHECK_EQUAL(it->getValue(), "MyHomePage");
-          count++;
-        }
-      if(it->getOidString() == "2.5.4.80")
-        {
-          BOOST_CHECK_EQUAL(it->getValue(), "MyAdvisor");
-          count++;
-        }
-      if(it->getOidString() == "1.2.840.113549.1.9.1")
-        {
-          BOOST_CHECK_EQUAL(it->getValue(), "MyEmail");
-          count++;
-        }
-    }
-  BOOST_CHECK_EQUAL(count, 6);
-
   BOOST_CHECK_EQUAL(idCert->getName().toUri(),
-    "/EndorseCertificateTests/KEY/EncodeDecode/ksk-1394072147335/ID-CERT/%FD%01D%95%2C%D5%E8");
-
-  ndn::OBufferStream keyOs;
-  {
-    using namespace CryptoPP;
-    StringSource(testKey, true, new Base64Decoder(new FileSink(keyOs)));
-  }
-  ndn::PublicKey key(keyOs.buf()->buf(), keyOs.buf()->size());
-  BOOST_CHECK(key == idCert->getPublicKeyInfo());
+    "/EndorseCertificateTests/KEY/6%C7%E3%06%EC%8CB%3D/self/%FD%00%00%01u%D55a%B3");
 }
 
 BOOST_AUTO_TEST_CASE(ConstructFromIdCert)
 {
+  const std::string testIdCert = getTestFile("test/cert/testid.cert");
   boost::iostreams::stream<boost::iostreams::array_source> is(testIdCert.c_str(),
                                                               testIdCert.size());
-  shared_ptr<IdentityCertificate> idCert = ndn::io::load<IdentityCertificate>(is);
+  std::shared_ptr<Certificate> idCert = ndn::io::load<Certificate>(is);
 
   Profile profile(*idCert);
   vector<string> endorseList;
@@ -153,32 +68,37 @@
   endorseList.push_back("homepage");
   EndorseCertificate endorseCertificate(*idCert, profile, endorseList);
 
-  boost::filesystem::path keyChainTmpPath =
-    boost::filesystem::path(TEST_CERT_PATH) / "TestEndorseCertificate";
-  KeyChain keyChain(std::string("sqlite3:").append(keyChainTmpPath.string()),
-                    std::string("tpm-file:").append(keyChainTmpPath.string()));
+  KeyChain keyChain("pib-memory:", "tpm-memory:");
 
-  keyChain.signWithSha256(endorseCertificate);
+  auto signOpts = ndn::security::SigningInfo(ndn::security::SigningInfo::SignerType::SIGNER_TYPE_SHA256);
+  keyChain.sign(endorseCertificate, signOpts.setSignatureInfo(endorseCertificate.getSignatureInfo()));
   const Block& endorseDataBlock = endorseCertificate.wireEncode();
 
   Data decodedEndorseData;
   decodedEndorseData.wireDecode(endorseDataBlock);
   EndorseCertificate decodedEndorse(decodedEndorseData);
   BOOST_CHECK_EQUAL(decodedEndorse.getProfile().get("IDENTITY"),
-                    "/EndorseCertificateTests/EncodeDecode");
-  BOOST_CHECK_EQUAL(decodedEndorse.getProfile().get("name"), "MyName");
-  BOOST_CHECK_EQUAL(decodedEndorse.getProfile().get("homepage"), "MyHomePage");
+                    "/EndorseCertificateTests");
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().size(), 2);
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().at(0), "email");
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().at(1), "homepage");
   BOOST_CHECK_EQUAL(decodedEndorse.getSigner(),
-                    "/EndorseCertificateTests/EncodeDecode/ksk-1394072147335");
-  BOOST_CHECK_EQUAL(decodedEndorse.getPublicKeyName(),
-                    "/EndorseCertificateTests/EncodeDecode/ksk-1394072147335");
+                    "/EndorseCertificateTests/KEY/6%C7%E3%06%EC%8CB%3D");
+  BOOST_CHECK_EQUAL(decodedEndorse.getKeyName(),
+                    "/EndorseCertificateTests/PROFILE-CERT/KEY/6%C7%E3%06%EC%8CB%3D");
+
+  const std::string testIdKey = getTestFile("test/cert/testid.key");
+  ndn::OBufferStream keyOs;
+  {
+    using namespace CryptoPP;
+    StringSource(testIdKey, true, new Base64Decoder(new FileSink(keyOs)));
+  }
+  BOOST_CHECK(idCert->getPublicKey() == *keyOs.buf());
 }
 
 BOOST_AUTO_TEST_CASE(ConstructFromEndorseCert)
 {
+  const std::string testEndorseCert = getTestFile("test/cert/endorse.cert");
   boost::iostreams::stream<boost::iostreams::array_source> is(testEndorseCert.c_str(),
                                                               testEndorseCert.size());
   shared_ptr<Data> rawData = ndn::io::load<Data>(is);
@@ -191,12 +111,10 @@
   Name signer("/EndorseCertificateTests/Singer/ksk-1234567890");
   EndorseCertificate endorseCertificate(rawEndorse, signer, endorseList);
 
-  boost::filesystem::path keyChainTmpPath =
-    boost::filesystem::path(TEST_CERT_PATH) / "TestEndorseCertificate";
-  KeyChain keyChain(std::string("sqlite3:").append(keyChainTmpPath.string()),
-                    std::string("tpm-file:").append(keyChainTmpPath.string()));
+  KeyChain keyChain("pib-memory:", "tpm-memory:");
 
-  keyChain.signWithSha256(endorseCertificate);
+  auto signOpts = ndn::security::SigningInfo(ndn::security::SigningInfo::SignerType::SIGNER_TYPE_SHA256);
+  keyChain.sign(endorseCertificate, signOpts.setSignatureInfo(endorseCertificate.getSignatureInfo()));
 
   const Block& endorseDataBlock = endorseCertificate.wireEncode();
 
@@ -204,17 +122,15 @@
   decodedEndorseData.wireDecode(endorseDataBlock);
   EndorseCertificate decodedEndorse(decodedEndorseData);
   BOOST_CHECK_EQUAL(decodedEndorse.getProfile().get("IDENTITY"),
-                    "/EndorseCertificateTests/EncodeDecode");
-  BOOST_CHECK_EQUAL(decodedEndorse.getProfile().get("name"), "MyName");
-  BOOST_CHECK_EQUAL(decodedEndorse.getProfile().get("homepage"), "MyHomePage");
+                    "/EndorseCertificateTests");
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().size(), 3);
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().at(0), "institution");
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().at(1), "group");
   BOOST_CHECK_EQUAL(decodedEndorse.getEndorseList().at(2), "advisor");
   BOOST_CHECK_EQUAL(decodedEndorse.getSigner(),
                     "/EndorseCertificateTests/Singer/ksk-1234567890");
-  BOOST_CHECK_EQUAL(decodedEndorse.getPublicKeyName(),
-                    "/EndorseCertificateTests/EncodeDecode/ksk-1394072147335");
+  BOOST_CHECK_EQUAL(decodedEndorse.getKeyName(),
+                    "/EndorseCertificateTests/KEY/6%C7%E3%06%EC%8CB%3D");
 }
 
 BOOST_AUTO_TEST_SUITE_END()
diff --git a/waf b/waf
index ef9df38..a1c5c96 100755
--- a/waf
+++ b/waf
@@ -1,7 +1,7 @@
-#!/usr/bin/env python
-# encoding: ISO8859-1
-# Thomas Nagy, 2005-2014
-
+#!/usr/bin/env python3
+# encoding: latin-1
+# Thomas Nagy, 2005-2018
+#
 """
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions
@@ -32,12 +32,13 @@
 
 import os, sys, inspect
 
-VERSION="1.8.2"
-REVISION="a01aa13963437a19e5d8748cf2afd71b"
+VERSION="2.0.19"
+REVISION="1f3c580272b15a03d2566843c5fe872a"
+GIT="61ee22b598cf80e260beb64e475966f58b304d0d"
 INSTALL=''
-C1='#/'
+C1='#6'
 C2='#.'
-C3='#)'
+C3='#%'
 cwd = os.getcwd()
 join = os.path.join
 
@@ -139,6 +140,9 @@
 	if name.endswith('waf-light'):
 		w = test(base)
 		if w: return w
+		for dir in sys.path:
+			if test(dir):
+				return dir
 		err('waf-light requires waflib -> export WAFDIR=/folder')
 
 	dirname = '%s-%s-%s' % (WAF, VERSION, REVISION)
@@ -164,5 +168,6 @@
 	Scripting.waf_entry_point(cwd, VERSION, wafdir)
 
 #==>
-#BZh91AY&SYÉLt"ïÿÿÿ¼@ÿÿÿÿÿÿÿÿÿÿÿ†¢¦x€#)!2„Xaé\÷x¬#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)#)/ºúÕ=[Ý{{žÒá¯Z»må˳]9y›o3ÏZÝ»½õ÷SÒû5Km»¶÷מ£ß4àÖL՗sª_^/^Ü&.ëm˜}+Üe#):z{·¡íªì÷ºìUg­•:vÚi>{׍˜×ÍÞçÁï>jWlúûí÷Ɔ»·}Ýw½öpôYÛÆÞÚîÇ>ï¯m¼Øv,¶uÈ#)#)#.#)#)yì#)ƒÉl€#È(MÛÞœÀYÆ`Ë'F]Ûg¹î¡ ¶ƒ\ê¶#.Bí©¡I#)×Cvf(’ªR]íÒOcAT””•QZÉI#.7 mƒËmªéíÜ<z÷Ž½[vÎìê¬d¶hÒMyU,j¦zS/ݽ{wß};}ÛºÜ{|ûŸ^ÖY}k¼íŽó7Zö³Nì»[Vónßb¾÷s­¯WÛ¶hä#)R¦Æ¨#/¢‚{$Q‡•›™Ü»¯3ƀ#)¡{w³%¶d‰k{Û½Ûp $UPÞg»š][i­Ž™½º'¹ÚíÎÞðÉÞ·‡[½n÷ÝæÛ·ÎßYUH’:lVÖíԚ˜×mòÝom;gps³:ÉßõOkl®õãxß{Ü÷ÚµÞÞõXZcʞÜצ¼J@#/U&ûÞ<™5õöó½=P®“۽Îo³¾òv}{Öw\ç{ÛÞíu=鯽ï5>÷w³×¾ÖiÛ{º­gº»Þì}ëÜoJíâ®yžíÅv;·‘ëÛ6÷¼jöª´¥¼u¶Îí¾ª•B’n7nï}Ís³ïžï]{çÝÙïI^ÞÎ>ÙãåÛ4¸·Ý£]´wvÙ]˞î6½ç]½wÓ0zOžó{ÌöoƒÛƒtÜӀP¡P ”Øwf²i»rŽ¶#/¹u´œçFæù=öò<º—Uó½ç•ÛÒ¥8­¬Á¥—¶ÆJ¾,¶Þ|sß4PSß\èT#)‡ÞÍîå}ÝÞw¾>ûÛ\àxï¾îñ{D½Ø[®ºÓ›ïmµowbn£#/6Ï^—»µÙÉ«É½¾ïuWÑ_{®ó>öñ2}ëáô€Õëï®ïW¯Q×»Ð=öo©_}»°zµ»j[}híîç½÷}öíÝ.·ºÜ÷[Çw®u·´ßl6µçw9á{[NOrÙµäﶪÒ6önæPO¬Ó•,ë}x>&ƒ	ÓCê¼5[Œ´ØÕ÷lóž{ÞÁð¢@iñ#.:ù¦}s{¸>ÊvçNÞös›Ó›Å[Ÿqœ«ßmn÷w½ÙõõióÎ7½'ßX}÷»A·\¥Ë)¥¢ûío}bù÷T‰õ½€ń)õ¡î¶Èè)¥³%Ú³Þó»°6Nîwž¬i¼û[ï¼à2BÍT+g!÷°ãåӇ·¬vîw4=.s›¥soºYÝÖÝé½´(ªH½vâv‹·*Ù÷›šìçÓݬ«¯s{¬®ûÙïww¯¾õÞ;_ëßN¥_z·fçÞÚ÷n©Nœ;ÞÝäS½ŠÓªÕé^¾Þ2Ýv{ÞíÉ÷šûìKQm\¯#½zÝä݃êø´%4B#) #)#) É£@#)&L&¦ž©£O(PÓMSÐÔšši)'¦5£M©é=!§¨hz¡ê#)#)#)#)#)	ˆ‚#)"b2#jTü§µSÍҙêi”zFÔòS ¨#)È€#)#)Iꔒ	ªj~Tª=¥6§¦¡§©£Ò#)#)#)#)#)=@#)#)#)‘#) ¦šM#)M`M&OLžQ²ž“iP#)#)#)&¢ €€#@&™4 éSõOh¦ÔeêÕzž¦›Ò›P#)#)#)Ð#)#)û|Ûú¶ÛWtI?³’wV5sZÍßom©»%‰£á¶Ôå)) ŠZ$‹‚¢#){V@åöüòÎX?æì¿eB?8ý0LØ㩇š.$…5dÆ•ˆƒŒÅ3d‚oç÷ŸAÿ´“ŸRù¤ :‚]XA#)»/¾_݄sE¾M̺Ôq·ª¥ŒŽÒ8æœÈó+¹IŽ0zË|-8Þ]Y‰ÔÁt>±q/eBœJµJ”ÄâqQa³[à’;Æöu8@!ÿÄð‹¿äÈx±!4…(ÒDa†*„¨¥"CJˆÌJƒ@Ä"›*„ˆ® ‰ÞI#)iD(ÞE(#¢UH€û! °¤ª8šÂ•¤#/AÔ  )æUÛ%€P`ÌJC3LH„È…Í£fh‰)©±‘2RŒÅ-¤¨je,P4$&©Q´”DJ™¢l¡l–JÌ ‹L)A±¤Œ›hÅI)iª$%–’5$‚`Ê"F¶“T,šliblŒPRJ)¤HÄÓ6-SU¦ª¥$ÖXŒ“$j6‚š¥«™³4¦©,™fª%M±1³T’T†™’I5̍HÍhԄlšf‚‰(Ñd´Z)J¤†lb`…‚‰šLM6(`›)°L ‘f*d™ˆ“%²@‘KŠÉdI„)%%6)2AQ)Iµ	j1¨lŠ†,L(¢”%iDÆ,LTl™M¢’e¤‘4²4‘’T¢Šf¤*iM†$Â@¦ÄjK#.›Dl‚‘&**"#/ɐ¦l`’MIE$dBDÌˆÍ I™31’³)¡,b$"HJ“a	I4ÒÐbLš,¥0lÚ#M"¢¤€J3A¤I›RÍ,¥”†“K$Ù¦Q 5,RY‘±£+$ÌI"ŠÀ3c,¨’È*#/Yš1´YCd£2›4IKZl„Êc$jL”™…2RÍF’Ê•L ¢“QdA%() FHi‘¤H4–5¤Z¬„34‹&aJB›I²E²E£I2I(J,”4`"“,E#.‘6k1“RXÐJl2™¥1	#.…¦MRÆ,ÔؤÊ,ÒbJÙ$…”T‘bSLh Å&M)&a²lš2d*#)„k$ÊÄÃh,›%!K&QŠi ÉL¤eˆÁi)TÙ¬mˆL‚dJHŠÑ±¤™¬ŠLhÂHaQ¤2@KÑ´jR1EbKI‘™¢“	,ˆ”!ŠY#)Z4™eFi#.›U-m ¤ª(É© k%ÊHÚ)’™&1¬–‹4HÓLÓM’”¢ÔÈÆͱ(Щ²ÊFh¡K_‚­Ñ²VÈK(ÉMb֊Ţ£BfTDÓl–ƒTÆ¥ªb(lXŒ4¤IÌld1¢¡–¡5E‘MdÈle•E¡bdÌjZYŒ¨°ÌÊj³F™Y©¥°Ö4ÙD–Te*±MZM¤+6V³RRÃm1B™b´i©Q%¦QDe¢±¶f²UfjV*J6ØÚ6%CDB¨¤*#.±ª5ԆÖ!5’E´Ñ¥QH&ˆÃ5(”Ú•F£d“hƤ,jšLÚµ›Vš±ašÆË"eMdI–šaI3j¥¨¦ÌÔÒ¦kJ¥d­J˜ÛJ™JM©¦ÔÙlR#.lÖfd’²ÅÁ©-¥´²ZšFÄ@`i±¤£H„Q°D1mÉ0)µRD¢Å2šÆғMŠŒ’h4”Â…ŠeDX¤–cBi¢™)“ÊlÐƉ	Cbř!ŒR³RXm™dË,Ì!#/Rɍƒ	±QFÆĔ”dh4‹2‹S1³¤¬i„̓FM‹lËP)¢„±DE")´d,͢ōŠ4"¢4––H¦`´)e ÂH“šJFS`ÉlB’Ò$“f¥š¨Ò©™‹#.Š”Òl¤Ê,ÑV(Ì(’‰I$ÙI4•%£)3H†•5–lme6V*16)4ԓ,É¢¦[R2e-%%²$”K1 Ó(ÑD#.e“d¥LDԐ‘h¬FØM‹EFŠ6ÄVšL2LÑ%&‘h¦#)6)"±`Û-4’T†£Y3#.%,Èl…hÑ°†Ñ¨­“F„Ë#/ÐDEd¶*c()5JQ5cXÊfhB¢¤“i…ID–ÑY¶©‹2j,Q‰+%¡¥4±¥%4IRÉ*JR”£VÄ¥"‹%+e%²i*,m¶f)”l¦²¨i&l‘I±aB"ŋLÉC4`ÚL‰L±"Õ(0™Kf"”j6¢ØªHB¡’c@FÊj£i’X©#)ÐbŠL"MZPQiMR›IQ[ÆÖf+%¬È#/Ñlš’‹Å(#4cf„I	’˜4`ͱ‹hØ¥6ÚJh‚±€É¨¨­6Ë-FÑX±kI¶¥³d4²±*ŒZ)–*¦¤Ò²Œ£E(–LYR¢ÒVM¤Û%dՊM¥3(²mEIF‹F¶Û5­4f¡²X‰*eEF° Z#.&¥³VLS*ÑDUŠÑ¶Å¢ÛhÚ¡–Mkjš••DÙH6’cÊÂÊQdšTEÌlII”“"!jMb̵L|>ó~i¯éyÛÇð‘{ßÍ\«E½fý;i6N£#ý¿òþÞS´W	d]j¢$LLY¢ÒE˜pÿ«ýT|#.¥)°T\AȟúgQ”lÿ©ö+Û=i÷é8ÈnT-ƒ²Q¥U¥uI¦éDn™#/·ÿ5_Ͼ!kÒîƒÿFÃû>û®ÃüëI2h•ÌäDL³¶»Yb"<ŽÂÂ	#.¶nà]uø^Ì?v§;q0ž¶ã?¨…NéÇX;£QLC§6íˆéTf¥5Fª2Ù$”¤©·_Bðjck´ðb­¡Ø£Â¢5Š UwCkJÉTe0ÀÙ¤ŽJ’5äØ2¨…*(Ä´ÊÍh¥P5W³Ñü½Jô·³ÍÍFÉk1Q$âQb-ÀFiw.Š‹u@(þó«ÝçlËÙ¹I¼ëÅ4â" ÿïCýª0+1‡j¢Ağ6.ZÑ1íÃxÑ#.-WÇýº4=þÂv#/…•µÚ*6P…²P€§†t+üs’ãLãPºˆÑˆí}[ï ÿi<;ð:N¤¥!V&CS‰MõlJ=i¦Žäâ+kqeœÿ7ñgH\Zšp»PD(aB1¼Üó®ît]Ɗæå&¤ÊDUCBWœŽÂyChJ;sѧÓ	¡ì•(*H#(k‡=?#/\‡nÔØ28¸o}up#§²®ó@’ñkñÛ^éé{š®¥·³PhmØ£Ö21ðùÞޖH‚ê4|:EZ9`ˆÜZ©R²ä 7n\“w]‡uÓEA½ê·žw÷/š«H(¡ä•š%€‰³[5¸ND”Å~uKꢱü+LySÿ5é‚eƒÿB©6J®YÆ*%¡x¨ÈI+ù1Ï³ iuÔÎ%ɅV’QøUkÛrú#/ç÷EÏèñé™ìâ£Ær2?f_C<ᎲB8ãzçÿRƒ¹5NÆ¡ßƗdÏ>5~ĝ±qC¡.çíí}ËP˜Îo¢÷Ìå!³P‘ö`rÆw¸C:¥ÓÖèÛAÙÙW0´d;Ò×¢ÆÑX»0¬MÖ/R„PX%ç¥ãèü1F‰*'Mh³f Ø҃Æ絗S+áîß¿Zě#.KHíÿ—!¾ŽëØc$4Ù&27åúí221ÀÍì¢aÍ×e/)Qì´½ÅFv“¤8ÆäÈÈY[i¯ÙҔcB'ë!î.êm+Ç3,›Ås]He ¡»¬ªJ]§<0=–¨™ÿ³wîÄê71)¬‡$LÀÅ¢šÑ`Æ#	Rzrå}_?·ª¶±¡[ByÖ	’'ˆ…	-%$"˜K<P4€«µËcIÌŽ2ø3\σ%²aj#/Î,³$©±6„ؘÀî5Œ#CÅ TX]Q4£¶ôõ挃þ‘¢è)€,šùPö͏åD咡„DJÚ͛éjõ(µïï´ò76êo„º‘‚…4£†Üîœq¤Þ¨.´BÒ$¸àPj‹{)˜²#¿¦kJlÍFd@îª-¥Q4í»¿‡—,ªJgoeYRLHÀ]ë²áͺ$cb}¤e|¦x<C%¨÷b#.²µ¶–œe‘L„5|HÙæᶺk#/ÓÙÖDVxvT<Y€Q⁵ôáF$Nú¦ûª_…Qš‘Ñ}ÎS3–»{ÚG½W'²¬äé•Z …WµÍòÂ?ÁV‹S:Ð¸í»™áW'h#.l̂MˆZÆÕåPý¤óژ†‘¦Ã¬!açž7?Òú_}ÓGúzô¾m.¨l8ã]Y„?ÇÒ¹3L‚4‚ÃÉ XŸm½§"úr‡±5¸uì‘FÀ*”Ð!¡ÈiZ¬m؍\¤<ad¶AëÙÙY.ÞðÁx#/åÄÈq0”ÝM6á¯GʏŸCay¯õ'h	L~²XG=ñö«>^3ßa·ÊÌT;ï’Lq»óÆV1^75&}U4B?->Ó36T	¿sžª#!slÏdª¤?¦Bü†”<ªô©‡«(uÉ=Rò‡x6Ÿ£WÍüIFY¨è_Ún‘õÐh¸ùyϳwkŽÇ'~jKOWáÇY/(yå…ÂHÎl4c™xf|%£>ïÎìË[mƒâg …ª¦nìeÕDî©H/ÃÝVûÚ¾6Ý$µEX¹ñycüõÎ`æÕ.9=}T…̝¡LÆR–…Ö—š•¿…ú´£GÐp\¥dFz}yp2f({¥Oì8kÏ|zm¼!ý¸iŠÒ#.4ÞþüY‡4P¹ãs]#/<oµ—Á*>ík¯0ãUƒÂ¶&#/j•b<}–L¹yò©¨È ‡´ã\\¢;mã‰Û3FSj´Bþÿ׉ý92±|pÆ8¡KŠj¹æ˝õwŖù´‘IGAAH¬ŸÂäûÔëPsçFÔú?Ó¡ÑÙÑc Óó†:ߔ(õ‘&#.êë&s!檟¨MFT¹¥M϶*¢u!;®¡Â>xÃIj²<n+t6=ݎè±	0aZho/3S%»Îø¶PýÓ0ðJmb¢iSvÁwnÄ4ønîþû™}¯‹H՟ŽE×éŸvCf8&gKU߆tÍúãdÔ¤æHÄF‹Üñy½:#ÌËâÝë»by±Á…"nÞ4Aoå.^&z´Ñi¦4?eÿ†)³ü•P†Ç—P(u’Å#.ÄÑòµXÜöTWX­¯«_2ÏÉÿ)có{	!Zè\G”7®pckçká³+|ÓgÞ«$lõž#.Ù¸¸jÉÄ<Ó†›kªbð{5÷E|¡¶:ñÖðÁµ‹œù£2˜ÈÑù:qøQ’ʦ	QШ|¸[:8txSíÌU5ú:ô«ÙýJ,å¥y÷ G›z°ü$lÏv»àiÕ ¦$EüÛá‹O¾¦÷QbêÀA‚€˜¤nI q1ðˆ=éèü§Þ(T:pIG<}/\±5áÖÔûxãòoi_¤Ãæ{÷¹©F0lÅŸÖ­1ÓuDÏëe5iUB‚5âÑkٜl8ÉQýÕ{玐ÌtÅ<­6Ðg‹#<gZ·HßyùJØtéjA;œ3bìÄÀŠ(‹) ^‰Êª0ófp4(ǹ<w/¹‡w||¥;¸Æ.e¿Ã®ÎÞÜÄ̜r²í£’‘¦6mꑱ!Âò…©Æ»é˜RAv¦”ÿ½g…ií©<— æ‡iaR˜òXDHw!ÿróÖ"ˆÉº<ُ/ázwÉ;˜oÂ)àò“Óï¢Ã…æ}5¬Ò¥YQaàG£PEbY‘Ž‹¿yê?¦2…q<Á÷$¥ûç[¦t@"xÑ#)x±ü–HªšÊ„ßL¿¨Â®·+­o~AlÔlŸƒ¾œžü6þRdSÕûEˑü%§†äÊ4$!£y¨¤g ìz	ÿì¹zowtK™¹	ÃR(Î:EÚéŽú\*;ÕI'˯,ÓS4!7#‘•Ï6b®˜Ž,Áf®xlU%jòkғSÂéݾ#.sW¥z©" ¦–Ì<tsÒâ䣖ò½¡ÒúÂ6=4A›‘}_QÝFï¿ޘxÓWtã6L­'•&çU‘ñö2Ü÷Ìz£(ÝÁ'\£7˜g^¯öÍÐW`s^ï#/™ƒíýQvúúÀÆpóÆA«åýEêªù~[«=^áÕneø¾aÚÔ.?#×}$çÛ~Œ „aJkH§®^”‹äᅴ±øשÀìès»¿¼ê¼Š«=?}U½C™‡dòDöTÓêåGŽÄY	ç£TŽ~{¨]Úk¿ Z‘8¿tµ¯N‡2[ªº4nzž^œoß­ÿbmÙ¨&i£lÜñ©³oÜ Å÷u3™ýÃfèóéA@ÕòJQ!«»Ä8e6'Íà¬BPzvþîß®œXãÊO@ÇDÐÁÇ8×ñ! +j‡>ÞÞºv2xñÁd”‡&Cçì°³#.$7ùÔÖôzÖ³ã9˜™Z¹#/ë;ëLG‹Á½g&B6È[)ÒÄú¸úïç­i™"zös lÍ"8ÈÚîglÁ®={“r¬øHÐ<ˆ×ç¦#«=…#â8mÓDDm´›¶Òùõ¨¸#.“öð³··¦}š:Rn`P°Œþ®Mh:ˆ¸uÞà§mÀ“~#/cõkúš÷=cåïÿ	,s5¥TÔV¯†3Œ˜Å#3Ò±š*(âŠ&zQqdUAL¡ª’šéüjϣݤ â†`¨Áé„ÉՍ§vö=Œ&·«}	1wdŸ¿[&­\2¦/Íéš1È߶„Ï#/uµÚÜ#bÓGáôÂÉTŒS‘ææzPC¹ÿ#)ìUoü5úñƒ…½¹®\¨vÑÚ%ËPöùÑG„ªQÄب%–û“9׆Ä´¥ö­™ÊçãˆMbü“Ù$6Ñ(üiÝ!7	OZü¡î<ÊÌÖÖV(bVõB‰øRÊùm~uÂò?	ÏW5¨ÖOVcŽµwÙçQY€Æšlck ÍƒðËWÜçl¿§"½ofÚE`ٛf-±dÉGåj}½U&<*‚YÁ¯šQiJݝRx7=Ž×†>6¼Ýx4 À¶#/å5âçM?„~äß$Þ#˜ÔÁÉTãÇ.}T¯'rÅ8¸ÃAôx@„šPè¸s®wábìm	š(¶À˜B#0[²óMÌ&0]ÄCµ£¡G£Í՘ªœ†ÆFŒ>ä5ß3Qžýyã#/³¢vT¡›ÕTڍÒcùeld/g²Êba¢“vœbYíᙄAöí#/öpyÜm,r2óÝTúĵ¬V¹¬m›ÕË?XfÝÙ4ÃT†Ú#.}ù)qSA}ZQ›ŸZï§éÂYì‰|ùÀë'®ÈF>öJz5z÷[R‚°*¨¶]Ê>§=kX¢hŒÐè²V-<M`T¢i¦¤ :5™ ÓEŠðÅe	™©(R¨”(¢7ŠWRõn©*JR¯<\®FV–€i¢ ›`%­1ª²Ëúû»=1£¤”)ôw|ü +îNjµÑuÂIyÓ¤’Ý„•$›«Vßu–U f%fv‹™!Ë¥ºï»íffY™‚Ý4¼í$awÄø³zM”œq3IìŽßöü•ÿ4I·[œÖ»5Ñùj×ãÓ­».ß:§°ï‡æm_{®hš¤‡µ…±ŽÉ¿ÆVE½¹Š’<íÔÉ›ÝL1¤Î¬½Ùhm[¶#/9º)l¤J¢j…Ý$nMD»dYdoM£_”=ßîŽvæ#)x~ÝX«WY!8ÊÞ¶úWZƒ)—	ñ˶ÓoRõè“EOY›Ï$‰àóR£Žšü\_Ü¿®WüWê¤:?ªZ…ê6Lñ±£Ï¬hƵ;4Lœœ÷á-•?¢„sל*r¾ªÓTbuúëÔ¬¿/1Â|Ý&Ëgí¤(“ÆG#.ßfŽ}›Mê»%®\Ü×G«3·ÌU¾¬;g«û¹ƒQú·©uôïvŸÚ¿Ó¹Ü´+×¼4&á4SöNºS|Y>	Í»–¸‹†«#ÛõÌЀ§t‚»Í©6»hõuÊ->§Çßø½ÛÇoõ”öâë̽Z‰©{ˆEöÃ^³äÈÒm%m¢¢x(6˜ßH†»k@\ŠöK”É+uý« K<¹·PùYÃöã<çœã¶Ìô\0úT嚓)L†ïW֚°ßJø5­e… 3ävi't:«Êû^w¡¨‘fo~÷ŸZ(›4Ÿ²áž+ጶ#)²9eKuoÛ[z³-™uð($!ݵ¨?J°ï撍Iy)­Kyê!w6¿AeR(;Cój®G#/d–Ò_LY+Óñß\¤›„;+Øbï¢}eYؘñ>Zø֓@¥qFZHœ×‘ä م‡ˆ‘K‹Ú µŒ9z{Ž‘ÊТø—#/M'cxgcBªAgÆƒ'Þ×Y¦wå^(’#.ÆCäã#.P˜k#.•Î,$ŸÛ]Ðìæ­±ŽŒž;4閞œ^jÙ¿Zœr¶0‘luÎ¥²t5ô<VúÐК§ér$³–ª»øèÝKÝú4G7>­„õ¥ÑË7Ä̞¼Lß	=·¹ÂuWE²Uï¿Kݶxðۇ_£)ùÿ#/€ùÕBê8rþO€úx$ìéœuR¡G‚K:<HU#ƒö,µEó_Ù®Dܚìc;/D³í„ªÒç£ð(ÿŸéY{ºlÝëåҏ‹|$¤0}1C‡úpóû¾šQâ’'÷ᘻKŠB­k :H#.C›«ûüÜûíêæJQ­µRöàùÞsâ½Lgò_m»I8ôÂë.®œWl˜Fçù<ZôÆWæO·ûc®7øUaŸP_2ô¤ÊòƒSTZG.æxD|Λó(‹vòî:ë¤Å"ðöC®ïóóxíœfºiÛ馚ì¬[M…	Ÿ5_„Yiۖ§ÀèÉ«9L|³ŠÌ6,KϺº´”þõ÷a Ôó2I^´Ãf-ͪ«E%Š…#/¹<w;§™·EæŸ]ÆÝ/‚µÃ;gX²$…Mðbrzc©Ô~ÒÇ´°ƒš•ÒÓF­vÈÀ×[’Wv+6œ­Ò¬É_§Zìwt̹Œ“UT¬°‰ÆnüÜo%¢§Ô0›²nqݺU0µ·µòU*⭄¥–×\u¢•ðˆ$ŠþšàÇ#š²Iû¶Õ¢tK\4ûËoyXo:<ìԔÍùý{³ñG2µ›“\t¥§G˜ÿ *Ý'×þå6qÍJBa2–m¬c5ÅæGÉªÇUÐÅɸ»Èïü‹­ûÄb¹º1Á—.¼9ٙ‚ï{30]ØÄ‘Øl|>é‚L	0‘I±¯ü®ÓÖÌNÖ«¤¨üþKwYkS²õsèÞ`u"I¥Èƒ¸6ÓËÒl×meQËDvzõz}_U§Wfãh3‰Ïs»÷}“=É´®Eh‘l‹D ±3¡ËFCŸc£–Ø|Žb¨háÇ¥UL*ÊÓakÍ[3ö]u¨ŸŽvÞÒ`҆Urn!ªLÀßóýõÅÏù^ë®(4h`tÀÈsR>{e;œ«Îª`1ˆíTj„ÐEŠ =¯íA!ŸŽõtšVùp†qWÛ*ÔÎÞSµ†iWùù\•÷¨HU{®áÏÇJ¤gÜ_É3)$⮯š½™èJ½›ëÕ*úAËërˆb¤‹«p EáѸüLHíð×y´'~{šc;um˜»D®œMŽßø;·“ˆÛTËu±Fìꉵ—y	xcnßM=4²•]dóù#)ÿm<ä&Bmv6ˆz»óõ9mA…v^®rjQêCÎ	¸Þþ˜éâMµYPö4?…ãu‰šÒwæÕÆRV7\ÿWÅ<m›¿Å^Ï»Æe{­ÇäòàÆê³TÙk]”³^2yþ‡$”ÿOôÛ#/í}?íiÓ¸—û.֍yxÊæìý^n©dƒT]1­³Eù•è[•&_Ǫ¬6(hrBƒäxÙ¡óšzñÄ0HÍþßw=³ª£$2HǓæ?È¢ö›Ë®Ò™¿æƒçŸFt¶fÍ2²eCŠ¤ï“¨UªGû_†l:›—¡nî•÷ÛôVÝ»áˆBq0‘{‚zÔaLt¹Se¿Ãøçé,ÔoT¾Ï óÞWl^”ÎԒ@cRÜjKÏdê‹MmýHvhíÇû}M[5`ÂôçښŽ»#>^lÎðÖû™fo	#)Ü«·»_ÄñðöÀfW1¦!´-8éÏHþg¨25|b”tx;²ï9¥?§Ö3ðëaÙ4$u^0x>ÐhlŒËãìgï¹i-¶]¹7å՜xü{þ§‹H@û|)_.4´Œ'?â…2kÖÃ?=Nñƒ~96àh­ê4ÆúESƒõ]5ϞžÞ.Ò=ñþþèá±}Z¬3;Šºb~‡œ[}íÝ>P™ž4?EÄ[c&´”9÷;Q#¦çÒò{iËóý¶qn,.ñ€•'º#/¥D0ÿ¯’#/j{äW¸za«IÅÃÔj-;–xÇ40öýùÅj4Ð-DZp¶[êÁ~šêÑyE9z¦ótÕv­+ÅV¾×úrÿH,ÙÉÌ.Ÿ¦F4Ï¡o²ºm4Ê#.؝°­MÚóq]sû,•Ccèumîäg#âU,z¢é†ü¹‰é®ÿcºk\.L!#„šú~˜#.mþK楽“cú”šv]îA¤u&#)íùMžÿáño§u¥Ðê5)hXÙÖ#)bE#ÌuLœíŸeDš÷”"m„ÎÑoCMKš¢¬k!˜SÇ0öèê}Îef»¨%sÐß;ÀAÁ(Q^y¼=ÝÂo²ºjË'a²˜aØ–÷<wˆœÑÆìzbºFõaöïXΰäC¿v¤Øè$LˆLÀâÏÀ#.U•ÑnúaÄՖ´’„a‘ÔZž¬½åšHD—Ë»ûÞÕ¾þvÝ3}Z™„&6é<74©êUܦÓÀ×DÒn‡!•Y¹"i@IêØsá‰÷¼õ’5ç·nniݓÙÚ¡ÙðÎ7¢‰¥æX-‰$KY>sòûÍk܈–†m‚'¢‹”ë­ª4ÄjÐX–΍o‹‚¬Å)#/Åf3#/-€Æ¤q1Û4ZÍ6´Ò'N÷ø^¦qðºüü%‚D!,wÍP„%‘£`°ùšã8o°ß§QƆÿ·ûd=ûä$ÜvÜQ`’ß>Ü\#. Îb§û^Y;I¤cé†8㚰ù#.BÔºË;üœíØfÌ°D„Ì 2Tˆ!3÷·ZÓéyÔ0òÜëßԅ'’gÏê^õÛâ|bôvéCòîZ)63ðԒ¿Wöt3ÆÚí§×ü±ƒqé­K¥.`M¹ØEý?:ØL+´s¦ò8êlLhÏZ‹”¦],ÓԚTq~Ñ»bçÎâÔóåÒ+#.Œæz¶F-ڟåâæoÝxì`ÌõM„4?%Â4ªaœB<Æòé£×ÏԗÄÜüšS§“°=,óÈß·6åÂwÏ]ôbôÍ{oN	ŒMc:¶be¦áÈ#.pöÌ(éäkÏÅ4j 4™9³/;D·„Z$:ÈpR)Â2¨ØӓRÂI98h‡¹·#\åêÄz£	¥U—b¥çÙô¹Tþ_?±ˆ~Û=®’®Ó½tccÍÈHâ*½ÁÑÜۂ½º	Úë#J»‹)™ÂVäkqZ×±†;ïÎæÓ${ôtCúu‚I©Ôgøêî˜Ü·×íº8˜st€1øÿœ¤­Ì›5óÞu|„=d™ëEr•{^…¹r{o¨!ßTÉÇ_UÆÙ7–(®‘	‡þT¢\“¾Éɤ³ԆŠnöòޗL0‰Ý5ÝWÈÓF‡vì9nTX«Åðñôùî–tk_~·Ÿ—ۜ=Ú|8ñCCCšJB(±«ÆÚ¤ÀxŠ`ÆŒL>:òÀÍmImª(¸$]JÜËy.†a<¹òÎ+#.ß;-‰%Ú$ÒîqC#/ÔQ‘êRrIþÿåElÀþ"²QùaÀäº#…‡oš"1ë$‹­†kƒÖØEÊb¯Š=c»cƒ²êýÙªÊÎZ<#/¸‰´“h‘n­`»É«ª#/wCYqˆ¢y™†óӎóFKn9ˆ†¦µJ:¸ج'O´c\C¦L릉7ñ‹ü{dž¢ùó“œ$Qߏî#/yöõ4Qµ§fv×Tÿë[ã¿®´5q}y¾ÛÀfHÍzø¿Ç.÷÷M$t#/wfqø3ñ‰¡Ø¸":à1QÁ‚ÖmhÌj|o†6°e†Öh:YšÐ˜¾)ªÐжªq’L™	oZc'0'cÔ¤êƒ% ØÌ ?†1QëU	MC¤Ó‚¢KE	ÎUî±ÓL¬–†’/¿ÃZM3ÏéS?v·§àAz°#/(œ#/”00Åkç[x$¨´S65š•¶¢S%i9Í'Ú#.f	´¦³2C…Œj]âá€è! Z¥{Ócl樺¹ZÒ#¿V›‰áÇl@JÄ㫳íS½Ê¢¼Öåׅzð*¿‰2ºcv+l¾‚$ø"¤¬úgÌã^v¶ô|Þ`¹‰¥Ž\·—;7”Ë·g몽øõýûۅÁ¶#/Tðk#y—“~ZGý®Ä«C¹ÛÚ÷¢ÿŠ¬¾¯W«NY¢üݏyµ›fȓ:nê9_ǐ3¹º’‡¬˜f‚Æ‘FF6164XDVBð=ì³åó¿¶z²n¦+Fª%ºUn]¢ÑÁpÊÃ1LáÏ52ZíT¿åIõÌÅ`œ(5"˜ŸÉÎ$%›Çúa¹¬|·çË¢Xû>«œå°îDpÚL/Ë1§¨óP‚ÉL78•œ=:ڑ¶sê ÚAÐÛÞqO㤇åü;<uZ¶çl»úOř˜1>½s1Cš8ñ³ƒe	°î1˜3wAH¶j*à—?»¦Í<#.ˆã‚U6üd’Q7Ôô3’XÇ÷j·c™H?³L<1ác¤€ëk«înؽµUR!ù2`«_¼úã<5éÚp:ف姼Œ¡ê°À’å!†Ð¯Iº?R1 èÂF¾/R8d[ÝDƒp}ï»ËázP©ÿy³ªKLÓ´Ó(4”íe²*Òè2ך†%¦ºaŠ¬F‹rV­‰í­&cE{O^têivºv#.{¼f¨ÝPél"~2 cHÆŒ  dF¦—Z7ÒbÕ0ÊZ#.³#/$ȘM̋"ÂÈÐ	’ SW,*+)„ƒI´ÐĞlã>›×ž§ff„’ÜW,מªWÀé=Ä[ùœÍUî×v÷Øñ˜èƿȆè#ÎsD»OGÉùbъq7‰"Ã8‰Õ_fúêð#œ9´.«ÛËNÌ=Ϫd>?«ìåPɎäm3	7“Ô-‘k5Ét…‰M#/ì—Y5¬ß¦}¹AÐ8^͐&ó:Ô¿NTxÿXàÁ¹räC“¼öºaaÔ±o#)£±RŠ­0Úz¡ð¿â¹‚º|rԙQQLÉgCö+¦ºvÆ0ùJ#¨¶ãĊÝL{Q)[Ɇã%kš0_¶œ}}Ր»wJ*øÚIU´h“dÔï¶%89<®œ«¥Ö§:¾;>¾8IÝ0mæI)‚x|Sœ2Î1B55#/³ü/Q1#)òjyš!¼“ó(LídŠGŠŒu÷YÙ=øÖ3FÙL#.3ãè¯'®ßgùÁo|'hÆ)t:ãKk*RDÐîԕR~G2óÛÁ^ÌÌÖ%jcƒñ;žÞ<Þmì9dÄoe+<îìŒG8ª×Þٌ}u"¡`ë‰O,çò½`¥„?°ð¢x³éè¾R–)c.DýØø˜aSaÿ«%:ÒöLÅÁ:ñ9÷ëÖÿaÛg܁ª`“i#)ž×bŽÖ–kã>4q³+Ó옶Y~šQ%Œeuc›4é´¶=‡*˜Î¨hNaŠ¥ ²(¦Æsm®m$UѶ孄¡2l¸m³„EYdôÍi(b²P¸î¸%¤]~\sƒ‰Ì>YÆӌ(@G‰IÍv1˜cjíuüÎÆn«);~!Sä|ŽUqff¤‡ff#.:Œºþ|J4´SP}-Ìyýä¹q'÷sšfÝ/-ß±•øt–1Õ=fFƒ'4LÖuÕcZ6Ó|?.æüõµì=š:ð;˜Ò›d݇ÚíЎn†ôs–wº·˚é͊üÕpòójùµ™o¥rŸfrØ#õª½;†PÿuAéG+–5:Ø»#/üèâfY×åÆq‰µúå	Q¹NÉ9Uu:ú‰êà;rIÞ°ò#/G_²xË<ñȬ¸¤ÂB6Ô8„ç»/·DLÆûú%,¤â½žy&˜S¦®ž¼iè½â{Ÿë¼b¤Wäæj>¿&ž1ÏYŸ Ög4Û³Ï“?®©×ò@dДª¥Ÿ•½›;¬«Í‡ó¹¦Å#/¦ôz»;{·h¿ô.®cÃ#)𼿦¿Å\gQp„a´ü‡Wºu[øpüü4Hü§¤î÷Ÿ‹³—Zþ¾?ǏÉöýÒm:#.=ÇÃÕMô¡Ü½ÍÕ|G±Ü‹-¨˜l”„¤*^Õ´ÓG ðÀîÝåøm¶eå©d2ӑ_ÏîÓCrqy+#.ük˕ŽhŠBSNXZ²ž†"Ië¯cÓLè´~XüoŽ¦»šëOí³¡ÚZ³D!Ód‚j'ôjÕ瞪¼–cҋP'oá(ކZF@²RF(K¬#?Oò#/¡ÕûCäþ¬Ú2®_¿ý_Ëçåðff#/µZ0;	a+K¥Ìv¿8¿Ϻ,ù[Ãe9sžÿ~¡_W­zû¾»b,*kž§kAËRY>…s&$T©bTŸ]Æbi-*6¿SíÖ.A@Á‘™†8@äªÿ™Ôš?‹ö%ÑãÚ`]=ßôd~U`W…¶’…\'IÝa-˜X'ïCgá}nh¬¶(¢´Qf™€o¤~¶45ål‚Mš™yÇ®‡­w³ÉÈa¤”5êHú‘Œ,Kövý÷õ÷¾mõ†ÏPHò„’·ÝnW«÷uÖ×ÜõÔFÚ#,-ˆx=áe’eÿ‰V6F†Ð¦sBØÚv€ÂbC]¢"‘x²É؅w#.ñ0(€7—Ún?âü6us:ÌÕQ²]G6(Ðm8&ðä”jqÙÆеˆbb%ûÊ3©ëmDÿ¾DL~"RÎç#.PQ¿a(y·Jeß°üîÞæx"R;æÎ͑³ªm À!³LScñ˱ÿpO¦%3¾T}™IgÉ=Ÿæ¼V¹?[:$?qŠ…ÑAC×휍k§¥\	Ûí&1Ž˜JÌ)$8³¬ÁBúƒâ…ØÒUJæñÓ·ë‹7=ÕЎþ‚$Ø¿^‡¸é›\H2* è¼Èf7Ñ1™ä¥ÈzxÜÿl&©ø?Vc¶%ü°ÂΒ(óÙT¥'م?wì¢ÖOÕa]YÒ9fm!ƒ¡ÓAzlP™„€’»³ýÖ)§=°:Qïcåhùiïü]öuïô{CçÌùðý¾xþúsÛÄ]GDº%䋹¤X^:~J[øÏÏ_ïúðê;ɜËк×ã}z5Jr«êªÅ÷SŸç>"²2‚ýo§ð¹óçùú-%¢þþæ3²¨é¸îýô€éA nìó"³¦­õ¼nÏ?„aŽW×YDë¬UB³£>Ý}š,§ë©Ã¬Uœ¶c~!ˆ”9ÊõÃã-ÙÛQùâ¥Ém‡¯ë??–®U|q»­'yúe©#/Îh7hÙær–ÂÔ±IØ#*Ù÷aØʂGñgTÐj^Œ3¬>f£ÚÎÎ~].K£Ø£L>{€64#)Ô%í3#/NÁðñ2EŒQ5|&ä~«l«TDsêè¾ÆS¶;ºßVZ½œÛÆÈltjl9§Þ®Yƒ*8èò<ËM†:U*â#ŒÜkÐ}·oåsšÓ~#´ôŸJ ÷Ÿ)Í#.·qåÔÒ!‰ŽÒn«øêö¯²ȁR‹ތ&퓳ŽDV±M^½™@R}™¸´¤j¡¥ƒy„ÚvŸãì\ÙΗÂÿ_¥øj„É¿N˜µ¹NÆSž˜¶Æ—î$ð‡èã©ŸËÆôԝ9m’&={‰p#I¯·×O'©G÷ýp\֊ٮ,7Á°éûŒª…±p‡R?¦>ˆ,ùÚ]+d›Wz"¨>Tà"“˜ŠNVœ_**5•L‘æ,v!c6xØ>É<Œ|>šhi§É”ʪc:´!<‰DøÙVgáX3L 4B@a"Úg·™÷½}g[ϗä	²s™f´Û®Çb¸?Ó¦Eø'nC¸¡ˆ$˜‘[ì½ç±ÛõŸ#)È×Ý¡$±@b’d˜u°i’̜•À)F"*«Ýíó&ÉáÞhçT–ƒF«˜ýÌ°üðR-C3Íx3þ,ö3lLÅUàØ[%6Û%Œ,@.K÷¾R0@d¤›Zç'‰¶2&1&É6— úºË#/~Tõ¯“øpþ›óû»ø>ú¹ëöy²o³Ö}>À;yíëÉw·Å}¿#.Ÿí¿ß¯â¾óŸç5†Ü`÷éÂÌMò5z*¤ªÛ£”ý#Ð؏gyú¶nÓ¨ÃÇn5߆®¿ÅJ³çÛö½Ê–§ý+φüiUÇ	~ÿíŸ1Lú#.½ÜÔþü;é§L­Z±Ý©È—Ó)b½ŠÑC~2ŸÎ|Û»þÍÜǛ/Zú5ïü„Ž;ú8õrÝöSxâ?ƒ\ŸŸâ®¯NÝ>~cY—¯ŸÙëÔz4iØ|2ïý±©rowö|=:«ƒM+vTà¾Í^Mï§;z¶_ÊT-DzM§¿	ˆVèíëvô”žÂ³˜súul<7òã†ÝÑú§–ªôI½þ>ز­›¢»1Ó.çµÅãÛù°ËŸ³ǖ¦Ñý*ѲVØGšÉö’+ôU×»~ދ©>Ü·×ʈ¢ÔÙ«×3A>žÓØ]3èý]%·ùÕUxtï築^È×`å²Þ»)æu‡â´³F›ïöÔ퉟“¢éUÃCiôYW¦«òeÍÖtm¿M—ŸC—ÌÙ·˜¾•EPñÎ>¢)4Y)K¹çÇ#.»å:o[UkÏÕNû|j•ÆíÞíZ’¿Xü”ü¾ý·ù/ÙíèòÜ[£=Ú^~‡#›Û\ŠýØsðçéªÃ›¢Ü7{o®[žÄÊ¢KÕà(Þzâ+V/×Îì£T¿Ý;êáÏò¦t"—N„K·èðk¥4?·ôLÝøFÖz½‡ËÑßúŸ7¿‰òÈÓ¡ÕN=F0^l)9yôٿѝő٧ê=$]§“\YçÛ9Å[lê³ ž«ÿÇã®ï“Åa”Ã*»ÿÌ4\~<ò«³|·|^‰{Ž£~Ë×áòùùUVNÝ?ÅÍ	®±ºrò>ߗêӑ|Íß?öZ`Wæ³=*e”¤—ô5éÇÊúý†ó՗Ëë×fê#.o/ì÷`凾£ñmoM<~Üï»_mOúe´ÿ…’ŸNÿåöôÕ.GQU¾Ëå2naF	/u±µÏöûîÒÉ®sÆâíŸ#.„²§¿@wÝ£v;­–ÏWô·êÓjÑÀé>Sû¿ŸŸ¿íú,#.çëË£nçëç©özýµuø££ÑûJ|ݘH¨Ä¿A#.åÏ7ìþogÕþ_ÝáýÍ'é°t_m£k¦›0ôF’ÓÍ¢KßÔíµ}âE‘¹9"7ÓÐ?71îø¥EYø§D;"ökÓ—Ô%a–ž¥ö|úþ@×ɛ÷UÑÞuuëú½|×ò?Çß÷z>­Ý¾’îóÕæÞAùäpî<+¦ê÷O´—/ÄȮηݣnÍ[>¿·Ôµ!÷t·ÄoÇgu¿ËGQåîñø¬îý}\çgÃóøþ‚â)ÜzN®“öM÷7cc¯oÕk=gðú<8·Ùøÿ5\mËé¯|›6Ù«¢ÿ…gÄVkò·öáՆëôt+Ïm;¾ywi‹ó›ì<ýâ©*/hµHvGÚk_»˜à›ë^v±»;ø@ÄyˆùSöʨGë«lQ©¶+?´d; BèúèYä›Ó°aݚ±¤7"?«x9šo»»«¸Þ`–ÏŸ‘åýÕ®mûþûdŸñÇ)m«î÷×t¿Eœ®±*ßç^aml¾txÿוÖ5hòvYñՖ¬}=Xý;…Nnv×ì²þ:Ï<3VÇ?Ïmی}՚õ¬”0&Žgv.†jãu-†«â‚/Ão]ºõX\­Ý$°ÒՃš•Üºzê!«µ¬­nOUMïغ³å²–[Vx%ñí«ŸáΪªzõìïEüøg_89_µ8›l¯Ï4§(‡;yþ؟;sEÚ[¢!Rßìæ—53F&«f’NEÓ£²{I=ÿ—–¿=…z7{Y_/f¿¿Ý~úªð{C}{BuJÂmV‘ø+£Xh·™<Uðßð”G6]Ý<pŒiY-zéJøÃC/‚¬ï9\1ØÍnµpõz“1”󾂁Gír1nȉÌOøïX՟ÀÄzâž;Euêý;l>*<îÓq®_†-c,#:Žë%›$…Âý†wpû½õÚ-ú85×è1/È·ÛîÙÏ}”2۞yҎgìñƒ—Éoóð)²Òþ_À“fs”B¶§`ž¾ô	u­m£I¹íW-’,œ« ›-ÕY‚â|¿³}¢Ó-NûMùPìî²ë:[â‘Ù㲩쿾êí®Öç~xœÞÎqsU¢=\¥õj|PTe›9¦íY”ýý¶`WŸá+úð…øòÕggž½›·óüß5,S9×V¹»Ù(§†/!xó8ÿ?—Ý:nôþ3«åÏÍ¿Út7¼Ð#Îl_§Ûº8Aë\%áû÷ÆJÙ§ý}ùýYö_χ·m\§òÞËÑHnª7“Ûð¬Ë¹t~™{³¿Ç×¸Øg/ foS뙰èô$”ùó?¶¢Á5	óä`¼Žþ>¬y±%ûJL†²Üî¯ê¯ØŠÙv{,}k¨Ž|þ«1ÿ?¨$›`L/ï/óa]µ˜™s#u·!Ož*ìD„<>ýb1£PašX#ia4(­*IŽ&€­Øá‘cPb„aDQSR&Ò0a¶rôÖÚÛZÜNK£ƒ2-`ƒŠÒl4É4b,¸ÈȶYEÚ,Y+tˆÔºéåFºIJ‚“xͅ„ü±ýxÄ⚙Q3EFßdD?¥S‹&Ó¬_oYÜÞ³!¹á%þ9gu‡íS$ÏÓ4Ö]'ßüö†µ—Qâq8Òn]ÔEQ›™E"YC ˜äÄSÇCô_$t/=個Øp¼X`8hÒ$H‰GJ²¯n…¡šldcf*ŠÕ‘#.45šv§‘FÊéÚ( ÿ$8ÉǦ¿	“|8Ýôao…YiÕ¿ä+ütøS¥yO †éٕ¸é©ªyìصë‘u*Óð®ß&ûu›}µg³b_»×æ»?9é\Oâôé‘û²³—iÛSroÕ«¿>ÚU_Íjw=þ•Ú—Ž}¶ãï¥#/°{¦²E‰ ¿©½m&¢HVóKÖ¥ê1kÆyû=ߧô=^ÍZý]HkÙ]	ý'_)0ڕÎ÷þ.0Ø`¶}º?/åǧ¯«*¹-·Ôßº.”šRyIâ+”\Ay“Ñ„ÿo<•~/GìÕZåãDR]ßÉôo’Þêšý¾ñÕl¿M^Þ¿å‡_U{7nþº¿n¿f’Yé"v9øÉeÁ›œó|®A©ÚVÿaàcM)IM9üø¹Aúîcé°ñÈË…&•¸Á,m+G#.੉.¦¥#h€ŒxÊ4F²·#)i³ÜBÃ#ÀlƒLH0ˆ¬r	”%‰Šbs«IµÎډ„.ñ¦Ûw5§™Y9#’#/)Z%¡`È¥M¦ÄˆÂ¥bi¦Œ¸°lxVZҝ}1òu%{Rop¦ù¦ÌðmÑV#.×#)°u12(8ÛC¡GtqF$Þw§£X>#.#/9QB!€Ò€0!¦¹˜D»m„Ài†J• ³G\Uñ¨ŽvJhƒ à)"”¨1£2#.e"æ¥#."N*Fžȇl’©bl8$XµÈÃX0a°i&PNÍÖÂÙ§¶ö`“4Á²ˆ‚Æ*«H!SÄH÷bÇÚ¢·f”HþÖ(ŒLÔUV¦œ®Â$Ô(¡Û†:Ã#)™h K+Rƒñ#/œ™Ü(qN;pG­‡Ãq6µ%MŽ3ME^­nÞ1aß€Œ°Ÿä})ðØÿs<ëoð\:$^}nöWøŽ×¹¶ì˷˧ýU}]Õ|Íä[ððd·öçç(~+¼wŸ¼í¿è?ø[uåvk”õ#.^q®õÖ¬RYÏ-2«ëזÝ«ò¯Û»»í‘Ãflݳ“G#/šÆõÛ¤¡ƒQüÛΝC~÷×.úJR’™8™·îcʯêµv›ž]ZêQnúT¨P·«]„JÎÖtèo‹f']Õ}ˆIϧ†q®Ýr’O®¯ÙmU#/Úü$å³<nå7ë—fÑÇSʦŠƒéRçŸM*™#¿/Œ‘Ę.z\ˆ¾KpÁÊÞÀä7ò÷1Œ|š–Yé#m»dŸ³#/»ô>Ghª^¡¥aùý/?Ìþ‹}¿Ò¯-Ï»OÑÔ0#.ûÔ´<R­œgÕ9ïòÝQvYz œÅs¿a뤋”³j‹'C.|j©¯ؒaœXÁÌ7·†E2pd5RD—s&xÉ:ÎõéT¼#EÙ$pâÄÁþŒ’ o¾täyg$„C¦¥æ%ó·Í.Rèà[]ÉÉɚ=®EÁØîÌyS3AoEpŠµü=Ýìå‡ÿ?M¯ÁÊN?l~$ 2Ë$èuk\£s1¯YÄÏf#.þ£Dç¯'³áÄÆ7ð‹mÛf°»WHl{#."9ëû&K'²˜9žÜz57QšÊ©{n~V»ùå4’ÞjÃV†½Á͵ž8ôlQ=¯RÚ×šÌVÖ>ºoÅöWºqÄx¢nr'ª^>6]õýn9½3¢ ™TÎì’üºÆ›j¢#.HG©bj%þ+bSöJrT&5‰TãûD „é‡Ãï«Ñîü=V|ýçãô=ï¦?TþšmN&a„˜HBhž˜«ž%#/ߊh&4Π•ì4õL1ˆ åXjgLclm…™õä›&f›‚ĺb5MXÀƒDI<ӕšc‘Åì VÜ+ÈÅrLÂĎI]ËA¤T`ÐÊ+Q`|‡¢E7NÙ´¡®\»ÑÁq ÕyU²Ý@QÛ½`³¶ðù‰¤Œ#/R:ÊÁ¢Ð࿑3H×-¢V‘˜bëL{Dm,âÜð6@«A_#)ÌÉcà´õ¡œjŠ¡íéÚv„ZÊÆ8`Ø8´Ô騞 Á±D´VŽJ,±#.6ʵ;R›FŽEÎ	#.S54ˆ©.m´Z1"”q² –c/©8LÎQ-#/ó×ÿI°çN.1yÞJÓK±TXÃ-dJV(ZÅJÃ#/	ðÈ<-[s#.>û%f»#.øºp6L©ÓŠŠÎ˜¡Ç!ќþûþË®3{{ƒÀò‘ç§ÍÆèüõìs#.V±½&t˜Ñ-*ì‡èu"!AöŽCƒ²$Oûºº,cH1î=ž¼:×äה»]Þ»¸4åª<a+¹/Ǝ=0ö`~ê/Ð~ÂlåwœAm	–Çó£0EHp¼àÖÓa–|*LMj³è^½Øh$¥±0,NŽ×R#ƒN@‘‘"G`Æ¡ªO”Mééθ¯÷v‹ƒIBœN¶5¦™¤Ê;t¦ÁÐÍJ”cÂâăºª4´h¡EŽ‹l$méÚ,]峫”mNÝ=~ãUP%Y6’DÑszh‹æÔDJoö~ŽÜ~ú—éèκþI}]tüÕ_Gu5ãöù<Myxz¿Ÿ’Þ]{CÌBn‡n¢ˆûiú˜mâËÇh$\´ R76:6;nωŽöٌ’ã²L(#/˜R0v*‘º·bRД"kT)c9TinQi7D#!…qUú‰ª&W*-c‘§KÀÅ[¯eK!™“¦®.gH²dą”9¨µL<LË“0,”Ê’Ø0ZÓ:Ò·Àצ•zZyCZU`ùoF?Á¤e\ÊߊÓæpï;,.ï1u6N½¹ß4iÈÈR†§'v\$Þ›"hàÃ|PëR+…ñI“9±i–Æ/Ž&\Š~º»4_Ä(tN lièÈ(¡v)7dŒC¨Bq”Þ¥é9~x­G{|µ^ÚiNº´W¨7Îd{!¿ÏåìÄvû^ùÌR“ýbfÜÞ5˜³U±±››•™‡›z̓°ÐpšêÕÎQÔ2³MØj#|ÁÅêòzMܪw±†oÊNň¹p›9SŽÏXí'`ëÞG³	–=&Áä¼Ó‹0œ‹Ô„¿L¤¿¡Í›3ömoWäƒ	©˜ƒ¤#.ÚBvnt\ƒ¤Ä´ÖY1ٚѾQ&ÑG#.B㍼åcë#c#.­MãjÆ܍˜©J÷0̬26ÈÑ!U*°!’ªDK(VÍ#.²f:e†¹«}nùÎþª¯#.w+_Ç¿9Î Æ#-4ÇA²ÀÛLՈmX¦SŠ¥R	—]dÓ×GƒÂuø"$ÀôR<œ•¦aÆå$iökˆÞ\؆¡ha)ہ[çLo†;Á#/ŒS,fœ—2ᦢ³|ßÀˆ•‡ím¼·Ã—fLˆÖ*£7G|¸g0ÂoF’bJC•â³"ÔyN¹Ÿb4#.2M›ªNlj½š!&hL$$z;u²…óãe`Û_/œï‹À]´„šíý8ók]M¡+Á¾_(ÖY‡âI,” 隆¢ß€òåPY;]°Ü0¸8ƒ‹-ùF¼!ßpG#qn‡˜ÍЛ³k=k¤C\#/'"#ª;kSFí|oœ]a<2Eh‡†Jî+¯'M™:ÞÛg|8,Ò¹ÀMÙ¬97Hyg:b¡Çü1™¬Û8MÁ×5K‚°Ô¢I Ô!ƒ¥Ð,^(± ¶C´­˜³nÄbú9%¸µr`žj¹¶|,(#.5d àêÎLÒb0	ð(‰°úqïÆ"•])¬± LNµ~6ðõZ\7¨tôMAŸÓe‚Æy~^öÛ^փ'¶ò¹Ç”ö™„u—æSãè±=í½æF[sä彝‹Qׁøl*Ñq|éb•6/á–ï¬Yãqô>ˆ&3²G"ñ9_è"»«÷‚%ô<C ‡¢vز&Ÿ´bfПbî ¹—’UÜGpVªûÛ©·˜›r©ðøež#/˜ÀeF1µUœ‡|“S¶,”…	Ò1P™I†Œ@ñúW‡˜Òה™‘Õ‘›¦¬¼eånú¬©#)èB`I{e2mCª5äë7t–9Ðæ™0™@ÓÄrC’™wÿyvËùCÅ÷™§ñÓ½^ôÜ>HOØôv-ðñ1}Nžpg3/Z¥äµVËSÎB2#¬9ŠMýí,OyJZq\äíªÁ¢YD­aâNm¾ûkÊsÕðŒã–ùбk<2C÷¬Ëèáâá@ÚZV‡ÃÅ<»‘:š=<4ó65ŽHk…)^áW±íæó#.uÁ•*qŽ²|b„LÑ(:?¬\‚õé0#.àÀՖ¨7R¦z6篫Bc5%&çûܸoº.2tÍØ»·Š+³J–(“ì}ÚµªT9ݪ…ã§m“¡(º^l˜},$AîÖ»èËa§-xk1™8Œ5BçÚD£°{ôrÉËcDsqR©k¦ˆ*krwd×ËBµR\Ú«¿‘ù¾çüí=ÿîí´ž=õCLŠGñ𶔉ײXâe0”Oï3¡U1êCÀtÆãÿ{óþŸ/2}ÞI4ڒ±Šö7§ÚKì%géW|KÈY›u6¶psik#)H9r)&a4:8#žEÝ<˜k)^vb¾×6J£ 7·îꪔ<þù#.sIÝ­i\¢W¿½EXwùˆZüô·&·Þò–˜²\#мީÏ\cJ–^©“”âËM³õ-#.~–DsÑÞʇɺIJ_³#)/š¦ªT¤æ	ãSy,äMc!UË@,ŠS(Ë>‘ü»‹(†*=KÎU—›Ê]u¢IÌwC°ú´:PÒÄÅ^j¿~8^]ýÚ¶—jl qÇ#.„#.çá"tmã”Ø#.CËà#/êÚYu#ºe‡™§YÎé8`®Mq¿Ÿ¦)–m^ŒŽç½ØØ|ïׄ"üÃWJ³¸“÷P¾Ñ2íp®Z=$šöàÉ´Ïa*°KŽ†;'=ÚD;¼™¾.çôˆi(7úvçx0N<ñ$ºtàä¹d•<±%¼|ð8»ûá«;Òy‰^=ϒÌ8û/sÖþ¼ÿ[uR$%åÉA]ºÌ&b©òƒ…ódrÙþäl¶žÒVØGä sR ‚ñª-#/[ck8gcò ²„ÒrŸ?T”î°zžßè:<Gޟ—ôwÈ<(…<‰µd—Õè;á?¡«¬yI×6„*R„´ˆQ¢}IÌ'ªcbü+Çk3·!РpåÁó’ÀœôT¬µ "¦Ò›+^Å)ÊW)‰<w¢Ó+u¸òi½ÿÃEGIJZÌù¾Ïë]›×IÚÏSÚ$‘øvv{¥ü#/dü5á÷gHÑzëºV!­DN¢Ì;xÄ&JÛÔ²ì¹óG©'Az„b>]VýÁèJIíÁ^è,àz<š¡ØHt’f‡••jÆëJ³7̓—݃TÆS=¦Mž;ô3ÉonÏÄ~7Ý{¬›9—sÎɦ	ä4šÎÓå³+Ùi¬“üÓÓ%!ˆâNFÛèÀ»Ã½Á[¢ð)H¡Ì‡ìv‰¾Ï ñ}°Â†³þiWҗ6!ݏ•-°º9ØULP!”r<ã¹,ž£õœÃ$ԂÓáXcý²§4‡¹’ei8ìè»h÷©RÂ\T~µpUÅތpºÂ͍ƒ&ˆ¨«0v QfºÞ›˜d†rL=æ)ºŒµ©síe2m˜t:pü7\.9ßËmðùk'C|Æ6* %ª»_-›bÿä#+ȪÓdû4[}ʲ³‘å¥wG˜²Õò‡ ø|‹t£ÍÛÔØZ•Æ<g)‹·Ñ”q-º¯sp11$Nâ=|¹¹õÖbCoºUëäp‡)ćtî ¥µ÷²B>G³žTúy·$±ŽQs‚ ™ð¬ÉššE¶vœÖM_zw!î2å"]	©gÌà°~ˆé¤$ÅðyJ¦ÚJ8Êà˜rPGë™f{d—Vì»''=OÓ·½±ä헖F”Z6&ǝRø3Yùþ£÷OqŽ#.ń®Žêæ&¢½^Q'î<ÿVx†±°&ýò?˜›jhŠNâ/†ðÕª»D‰Iúv½»džyšÌ†¸¬a¬ËÞÙך-vC¹áð‘à<؊ƒ1ìÓq/‰ùbôُŸmFîÖWn‹v¾³›æ9}ª{¯rµÈ\ØØ°ðáèªWšëã¦çÑZ®T2!Ljx!;÷N'ÅÊFÕ)¸¼îV…J¢+ãi»}[G¥#MVL;ñqòñžùKÛê0ÙhQcË	BâÝ®î×wÃv™ï8³/™'/%2G<¿6S6°Cý¬}hŠÚp®MäLOc‚tIÊ¡sˆ…ÍθÒ츆ÜÇ뀺pËìøI(K®õ8˜þOä¹ëíy>»â}uÝtáñd	¤Mžþ°\ã­ïQj)·N$S-Ød f¸LÀÁXƒs5‚ЛÙyAÄòÕ~D˜ã;T»ó>k›º5Ê:7QÜiŒ¤MYÕ/8–ˆ^ê¥o}¨ÞïäíŒå[]u>º3ƒ„mtW!Ní#.Ç~Â#.Sa“à›¬˜<ïm(äsc‘ÿ*|/+Í¡ÛÄþß¿_3^סuùkÍM!ÀóýÉ»¿kó²öî"˒‰tՌþåëÄi<S˜Ì÷Ç^Ïvù¯òDµkÅvE¶ßðM´Ô¡âF½òE˜Ã§ƒ‹¬{3¹K¶J6ØE¥•LØóíÛ\ê“0á3š2>Œ)Gµ˜ÍEˆuª?Ü4Šs®foY={˜ÏëŽÄ‰·FÖõ0“Mқ×WËSbšG¹3­Ÿ{¿³ÝMSTׄÛôÛ]ùÍÇʎlëàö”#.©G™$p?ÀåŒŸÌãÞ=8¯Neùëœá/|¢T±ØàóϜŽ±¤º"Yhá®ÈÑq¼zU»Ð÷ìç*J;©s$S‰üáçâ3¿64M¬fØÁhùÆþ#.¾f)½Ë7œä#O¶3uì֎Cpv6øâìÎäQ/6¥¡µq$H¥¤|&z*ʲ#,-‘.‘–X%fn)æނ#NÒTüHÙØ8œù§G®5ÖjDé'í.J}ùÛHukdüø»™¦øT?‘Ï|ç	ÁQy#/ëÆS2Ê[Áï·“#.—øK?éý©_Ð|uԉŽ|ŽH“–kQ—‡Ç“ÍKc¿¥‰xnªÇuÚÀ¾,À¨/ŠyâlÓ~8C Ø˜œ·HŒY¤äfœi_7òŠ5¦d·Ÿ‰Ç‹ù¹Ïnç^œ³®ÚS#/ǘŽÅ·v"#)ýÒˆ³ÙÆQñ-ùT^æl)¥¨MÍZ+«á†‹B2çRiS¤9â·MM¯É˜ö>{pK¦&ß1Çü´¢©Éü’€¢I:›Â«¿ö}5]±Ø³Róæ]„®éó~âɕ¡¸bJÙ+­‹¬õON){êtx<âœj—Ô+Ô4d7pó4Ük±hÂÖºáÇz…‘3ŠK«žì“)NXKúÊפÔXÑ"…×ÍÔeúˆ‰•9½<ù®3HÕvvèQ[ywPûéû{•BºÂùU}k¾9Š;â«6TS~ÒYŠa_‘Ç	»Š_ãýðÛ,Ó´–XXøsòñ$MU~WiÓ{V*aȦüÕ[y&²—(à®Vs1ÓmªñªßßÊ«ËZÌÞ¹øRÚ¨ñp,*-™tôè®%T¤§;ùÊE¾©gÝq‰MéÅþHÁkÄ\Gw2ºŸkö¢zù¿—IæØ­ø¢e'mÿt‹ç?«^m]><õØ´pŒ’àå–lŒvÔH´Æ1¨}žè{¹ãœ65XÖU'Ç,nÁ%}ik®2[VZSÊí†ôÓÀt[•ñsº=qDG¢ ًý^i™í·`j®Eøg"̈́ ŠJI÷#Î\ÀîÝ5%íúçõQ]ÌG]öçsTŽš?ªkÇ~—㊗9$’G¿γfKêQ­áù]~Ö`Ûyùðʃ|¬UêƐ¤DSG**wsGf©ñï¦{C:U-®pZQN1•Çê7çeB#/ŸM ¢ysgê7k¦©Ö$[ü—-æIKç8öƒÿÙìffyo/2ã‡Õq‘­«N‰T‘K"-„Þg<ñ.Õá92Â׍k¦äŸÛ§gÉZ»Ç2¢¿]=%àˆ/O«2—¾*û÷Çn?5]ò²È½Ð*K7nk­ÎÍÜ®±„¥Ê/èüa´AŽŽÎoÃϒ¶±ƒõ"•W–Ÿ¤ž¾mÓ:†[Š’Ó?_kÕõ¹XõìYEuÜô¼Õï'žUxœ6þ>¾xç¥öPµ—:çùoÒ¥g{ðù»‡Ž‰Îr=ûã“NÏáÚræL¶#}ÜÑÒ#.]®»ê·Á͖ssánB¡– ¾%á‰Usx¹ée„®&ìy»¢ªåîéå}K Æ¿Ö·­‹¦cªÞ¬öÅñ»^»¥VáËm‹.“)Üd-T¾T¸FßLañÓ|Öyn5xóùûN¹Éï]Üìäûÿ]1Å¿ÓÎ1'g 8<\λfÖ>Owgðkçç¿Íay`~:{ÅspÞHi#/3º7E¿ËÃóY4-jcʳïÖ÷íÄËI]ü5-¼:ó|ôùc‰}½£‰ëçá,>ì¼ùò¹‹óƒzžxš…D:hv]ËÉæ¥Éü áw?‚ZQ¸ŸW=:ôŒyj=}Î;ïÝõzÖ}÷R5þg¶HI­ž4·¯]W¯m’¢î³M欫¯9Ž½8Lé¥×J¢<±¬Ðþű2dsg“n[n1*é*ÝÈs§¦Ü¬wéÔ}¸èɤԯ’D_[“Aå·3ïç83=Üüã·§Ö³¸Îwt\¯[p£”¯…G*n§ó­¯U†z*	p ñ«h‰h––ŠÕjÆ5„j›Î-×˯#/±^ŠÔ¤<¯‹£(‹_t‡–…ç¯E£ŠäŸÐ\o9Á™d|öNº§ÏM…t«KŒ|'Œ#/k¥•ëvÛícõ‡·O tñž?Á·§¢äܪ"WÖg\¦ÕµÕ@pÅWµeœhÀZ¼b»´td<êeŽ‘O>#/}þgJÖµ³ØQß×[4G¯}Ãœ#/•$dËôžüt¡´Ùœà1HR’c¤"Õ.iގÅE¢¾dmºš**…$x>|r²ªø]ŒŒogàµ#.ÁôxõŽý#.o¿ß}w¯¢’®™yè¡ä–-Ê­O#Â5ôD-X|Ua-IêTÑÐiÂz­²"Ý*å<Û¥×U³–w]d¬Z']#.+,4çÂêêÉèúÏÌ>?wNþaNüùzFëÞ¤“Ë$®×ƸƒÊÇ_èÇmÎÙÓŒ{û1ÒC°ºg]=²OáFºÃ?Î|T­ßÉEwÌt£ƒ,ªúPªz—£	œXXÁ;»â,ºj1TRÜúêœëdÉÝ`HªæØõg¾3ŸX£ÿGÖwÉÞ*ä¶Ãª‡Æ\Ÿ½ÝÂ©é ’úô¢—y{I	lt/Ê7ßeãçøâõòÆ»È\¹¯ÎI–;­Ïr¾[žwäÎ÷)JVmÛw֐wMÙÍeÙ1Z퀻—ßÝÉÓY;ñÖ'ŒTücŒO§CÖ» ˎ|øû¿f£]ú3œÉ]Щr˜âÅÇÏÆ!›N•3íÃÅ^%8PáS#.ŽfIy×ipZ»Ä˜ëX‡cö”æýþ2Óï[ŒÆ¬èõdÖõij˂2ⳟ#.eÑ®<=|!ø×z}Çx³9;u®î_áuÛ³Ôû-Á×À}9m!eåãëšYCû½#.	[ŒD|Üß%+^ºÁTˆú¼ÇX¬K»S¦KúºlfSB‰áT¢ìó7HŽŽ<±Ê™ÝŒKÊí~H¬—lýº\ú~Q‚Î:EF…¼?Íþ#/1yGؒMûÙ&ÆÝÐD‡Lõ,SD\@s=¹ñèÜ©•‰l<ԛ)&¸q†å~ép<eù±ÛÝúü<5™õÞâ[[î*®Zºï¬å”¢ÚQÇ´±¸ÏO„¥XÖx-õŽ¬Šˆ§?ON;'渲É[&Åaƒë«tUe‡jþ3¸¬ö¡Ñšãnõz`—º§œƒ}ô«-5=˜U«‡T¿ns²Ôü÷êïíCÖ>Kõ&Ååמ(ý÷ßÞÜaŸ_OO|íVîâÝ\¯bËEWó¤]^ç6Úúòvx¾ù;Lp¹7‘qF…γ²Þ¢L@˜©ú¼_mtn(ùjv<–s,%¢çUtˆâR¯	vºf¨³ю•ÌûeÑã:KFìqåöB¦ÏÊ|Zö +zbw†4ò\ek»ÒCž*ë‚Uùz§Ï±é÷s-ºÏɳ×ëyjö+ËËÕ@âG¢È݃˜›”œg(ÊJ:œ3Pî䝠œ©Sõʼ;5]3~¯Óêû„óÎê|¶Ó+ìÙþPÓÝva"Htæ5ú¬f0—'æĐCOŽuÊÕj#/¤¼°Eo7ß+­®ˆîì)gIJøÁ§Ÿž]tÄTþÙ¹?WhÉ÷˜ü{—¾&s°ÉiÊÙʈãƒK¸Ô‰Í5ª{ËMvvߍWÑómÖÏ6W»~ÍP÷ôÅ/–kNªC'œB4h£µÅþzñ¶³{åˁâ‰'Éßîèùx¸+n7揺¸®i=YNùµx½S&#jæSΏ,nZõãU‡*µE2uv¥²odÝ[óÄWu|ñ=çé¯U2îº~®­—Þ¢R€çnÎ/}x†žø_ߖ’[{’z=G¯Âtuq|×nº¨ë½Ëœ;ü0åó\Ñ&sÍßSÍ¿éGN»‹õ~˜ã2I±ñÏYŠªÉÞ·í[%}ÔyÖûâjeT5è‹!­É½ˆü°¿9ü>Øú¤·¼ÀO®äúPøvô:Ïõ¼·¨TXÙV‰HBJ!Ú%a#.ÀÞRí™AZ޴ׄäzãø-’,MA2IÖüÏ4—7› ìlFÛ¢þgÄyf?@™ŸeðfŽ}s^.Ýə­ê»C-)ƒ\W$kl,ԆíÙoš[<+<,ž#/i»¥˜ï¦5˔gŸÎ¾%uFº¯ÝKyUäȜc{ïÇ="òW–E­œ´Ëy’o§¾¾þ¯~k<>=2täð{oŸÓšëÑ,FC™ ËŒß¦TÔi,CUÑ_#.—Ô«ñÖ|e¿N^¨½¯AŒ5¨k”¤ÉÅ4fÚòv‘m´f4:êîÒ±=Ö½u¬÷HŽÎO»½oÑ`“Åô¶:ébé×tQÇ2ðùOýNìV“tÖs:Mè÷>WR«ÓOeA¢Ø'Zí]ߍíu¯QŒ¢JQ».§´bD¤ƒÔ5Tª¬ù>ƒ~n`|æsK¥ÖåѬ¼¦|'F‹Ã¦¹NµkÜBí¾=Õ>©‘§NQj+Ã=$ C	K„úHY:(ðÕ=–ëÅ~'›Ç^3¾õJŸsÖè[Áñ$uéƒüѕéð}S6<òj8>…ƒ'…ùçȖUÑEŸDYƒµKuN¼“}0óov÷S‹„á›ØVú%Cr<jye©ŒlžìZ0¾h´$Õwõöíå—ëu(KÑs¡Ü:Üm‘Ž—Èœç"ñOzï#.1¦ ùh÷>Ô?¯ñĸ—³’™p’^"1Ë®³›zûˆ¤rãÉÔõ”ekàŸ]tfЛ–¼™«K Î&a:11ÙkµÂ5k¾%§BOŠ½r©íÙSѵ§™4úJ@ä§¤J:«EÏö@âê˜ð@±¾Ú}®ÑëѲՏïÄÚíOڑKÚ‰Njýk+ë}‘œi¦YÜKKrÓSٷľº2±a¯àœ±È¥NqqËÓ	K¦étãvzœº4'to´ÌÉÇ~µñV֏|¨ Ll|âDf%Ϋ~`÷nœŸëï_BùÏÝN#*‡Š9zŒ\$^žIƒÂßCŠ)…ԁô¹uò¬¬‰nÔ["â´Ìì‘ó=þyZivd$ørÇǜå7›¤­‡ž«ÍÒ0™š˜ó—#/‹“Ç-¢t–Ýô¢éôfƒæ l‰ÄÌ/6…@ÙõN‘Rï]!ÓBö½ÁÎxM’¨Î—´k¶þéÎïׯDþOé±¼&‡<¢Ëýœsƒ¹:›lR†ƒ#)¼¨ˆ±ÝïڍomŨ·tSõ"¢àunì)‘.™$ô^}ý4‰Oë-ÒUwÖRŠ€ì/VL]ßYÓ7tÃ?n¿nvÌP™ÇC²c%„SmøMÃ&¥š£kí¹ËÖåXÉ!)$ÏmœõgYwÃÓÐ.¼·êQÅùèQZYpíþîoìÄ>ã>Ìn.²ëzÓ5zqL‘’œñ£~ÜuV 6ü<±Î^ÏÚG.þ£¨BWTÏ;ð´•øµ“Ó­ƒº·]VaìwbˆÕÊ\}9PÖßYDž<¾åò—›ƒ0×fsHR/]üÿD²c؋ñŒ:ªúÑK|*ÐXlòš©8´U§L¾ڑNÛ¬ó»ÕÞٖµ±Ádî`'{ ¤°ß„xTz¼'yÎMÈEêSØ ’b”îp¤ƒÉȘâ°*zî§ðřö«ý<­¨“:y•ïüM¿:q²¶·Ü\Ҋf¹¥…â›W®ÑUƒ8Rw¾­¼ñ©®Û¶µ‘mØbJ½öHº§d.9¹¡IÇAkéÔõÄ扴“'=¾·ô?F×{û9Þk±4Á2ý1ø}WÝäó4ñ®{g5Ï·vÔÌ&úÞ´~ÓóeøEáÌÑ:Fõy>+‘~êËmµÛ‚#­1t<ڞß#.W*T!¦›ƒ12=Øþh¼ó‚[ÔU$ 5„ºùÈu/Ïý†'H’3!hˆH ?*žé#/&j‰F‘0À¬ë¬9Ù‚‰ˆ@Àâ5¸R Xþng3@§"i#/:fõíÉß©ÂOÚôØûΦ ub	 ÈR”TÃIQûåÊ÷ÔfÝü¢™5¥qñœ|üFñáÎh-¦Êê³*4¦¨•R…ƒð”&څœKªAûÄÙ³öÎg÷`šžœ¦_Üô´ýAˆ‹1f>ïŸ=&Tí©…Uþ'6’¸Æî5Aö?ª<é"¬àÒ*\®GøOMŽp\…æOõ³74_—¦®_hªîNêúErdù=D®Ô>½ÍÙ»¤¿«æøï·È­„Ö>T|ãåøC_'Ýåæ,Àù…†®v–—ûŽXe÷á#.ö¼yZë‰Y¥·'«Eභþ¶«sèßYÑÙT’laO9U>Y½µÏðîàÇ¿°ÏÀ1pq	´A6BESéx>†[ñîŒgc™H'êýþüUÒb›ï"mYšáŒnñžšÔ¤!;M#/? @ôfÈ<£Ž½uôàsmkƒÚóp@îñ–†Þs‘VŽ_Ký›ýÿ‘'”LRI┎ìFùW#.ÆþægÓª~¾5Ik¨qF׎›KSqñº¢ekOÊjª‡Š‘ê•øH+@<a9ٚ¢“ ­}šÛ¹‚¦4 h(‡=Ò‰9@üçȎ0þhù@òŽ–öBykíÒ=Ÿñç9Éú‚vòÅCÙæÅâtpxFqyšå!Œû¡ª7–¼D·Ñ‰YvÎnAu#)Õ@lbÍE°èjCø D¼zú:aäFÉ0ø@{î¼0Gù¤8Cùõúl¦µôªfd 9×ü“{#.¬T2ª³à÷ÙVçåFoªhxTÈïBÒé礰ÀDS{›|û®ÁíóðÛ¦ú›kµÁa#.J*#4«àWµ¤µŠOJ7ÀW^úâ£7eòÞä5ýºváðcÒ<¸Xhla'ï†’”#î”àvxYˆAu+‡ÄqþêÍÉAîU³…«§îÛÓ±´ÛLX#)°Â…/#/:Pp[å3õÕ1ß4l!¬¹;¯ïBöª@ÈúXy„ˆ8ú9º¢û*0,yÍå9¤Ù4AÏ6}à´wF:4Š&û–¯†u;ÿ‚šá×˜|lñwúHÃЩJB…£©^yÚ2Ì"J=£æÞ§–ˆlÜõ7Þ¦@g_`ےN¦M^ß½°ãK¶üGš‘Õ	cçÂ-7ÄS^ڙ£T21!±K”S°›ÜÃwO%2Ò•&†NY!5MPRù‡QØ9“Ú+¯L°è?…rЧ£}ò‘³h֒mɋFuÊ«KŽŽê÷VýÔ¯fŠøîpxÐÑ47ÁMíA7}#UTE‰*Äá)G7#/¯°õñwA1ºnl1t°LØÉŠ~~×ü¥åuJ¦®\¹»ñ„‰ñ±°›Îy×Ï#.¼ªÏâ†ètþ#/ѳ=¤Á$,PÚVA“žÆÐWÒ8ÈyÌDù#¹ëœïï‰3í-Вß!ð‚ïe~ˆtÒ1Ë“Gm÷­~þwÙð½»òIË?C¾Ï-#.Հ#/,4¤Y9&.ŽÎ8¾Å ‰ŒìÆó‘%0zòƞLzö6¢zúüÐ`»>“J'rJ‡€›ˆˆÇ—Ã<¹*Àõ}h4Ìy‹‡]\ù•͛­2eµ™Á«ÖùV	¥¬xÖ!µ8ó.:éÃ]•H4¸ÏêgU¦Ý'ž™]õ–y7Uv•:V`ó¾í5gQÏÓ¹0}9k•ÈM:·ÓÛN­#)Õs­¢WÂMl’“ur×¢·Ç}†)m»}n_9·A5¦ ‡C×uóiCt¶Š™l¨Ñ3©kõe˨̛iÈÅ®ü¹¹<â,ì¶XGqVÂLLĦí2—Š”z“gB߸ªøfm5Øe"’(Ó$êsîÆÃ*8Åwn¶Ý#)ƚ{þßMå7)ã]ݙ«KÜRµø¸ÙU}Ô'”L(ý×ÇnÖmhÎgŒô.tõp•W–Fdš*{3‡4ìƺ°Ê¢•VO*ô0§•ö¬”ãJ0êm 2Ùb2M#œ#.³Õݺ”»ÕCð>¬fA¥îÆm:8'¼åŸlLb¿Q;v;±ø»9O¹ŠûÙ}¢(Oª¬š9ÁÕåüÈ’`8C‚%·Ü6@øг-d©Xjµø;åVD§¦Í5ƒ¶uêãÃà³À×BäÓjcN¼*#.rÐD¥«	es1CÌ&bhؙ¶Í´o¦‡Äh¤–Çç×~\(v[y°ÎÕ®f`óςw•uÖLƒCµfŽRÆeÚ	`ûËBÖåˆË´–'g—Å­¯¨ÌÁ,]õ‰±¡WQp#/ëo%*7ð¦ÉÀ›#.ù(¡4ñ"ˆr1ÙËMx§‚È}ÊBLU…Æt™Xa'9œÀAP˜¥Õð¬¿]=xâC³M¡Ûs£0‘#)ÂÈ˟w€i”Þ^$chBœ¹kÃf¨ŸÀ”n›±ªÍ½Ze«Nô¹ÚÄNò0ʼ¸BP҂ªËP])ÒP·ݚ¥‰Áµ7‰€×ÚÄbùdIi5:¹‹Kƒ¼£¦!úkÒƱ™ƒdïv‚ýJ1A¨¬òFpMƒmsº|¹ø¢œ$3$9AÄ9$Ìyº¡ŠXݖÆÄæá›ãi¬køl<ÑÑ~S$p5½ÔýaŠäðušìtÄ#/¾k2›ùõ=Sa{ùÆ0͔7–Ýœã{ãßÀuCÞéכÔ?'€Ø’’ªNÃƨ¿8ðTr€åRlpžêa”†ŒÇî‡×LàºlÜÉ{{a·ÒzŠ‡ØŠ“A漕§rŸ¯3;ø®Ý©6#/¦]\Ñð1†mGeŸ“5µ ¿$ɲ‡žç¯¾,݇[ñ±½!Û*®¨9l”­¥f*¼5ëËÏÝi-Zí“h›³$6à¹N‘fú³ÀØt°-×Ü[Á¢§«š`‘R•ˆQE«ƒPðf§^4¹éüì°â R_q®~b¼%’°¿:õٍZ(øÙ±tœ´·‹Æ—ÕÒÖ³uãÌUn¢ÅÝ^‚1†× ‰ZÍ-A¿N55ôœ›»L4ì8Ùä°f]ô:J•zk‡kv8[o®Ž–—Ɖ.%B†÷“Ö#ªkT¢€¥°¦ÓŸ~¿Ӝ¤5g^[ó8›”“:‚lʸtØõrœd›wf9ÊÝëF#/ۚ¤„NHz.Õ$Šª45p*¾€öÝ#.’]òVÚÚÕùZŸbogø&t›^Ž²<ý|xÇ#.¯íƒSJôeE1JI.9‡®lp#.Ðiš,€2’C¿ìûûQ¤4;§F´|àÅuíVþ'y½8¬è1Oø{Š™"DχËۛo[ûp-`{:*‡÷ˆ:@ïe·£3ž‹-'—·›œ&ƒýH9&ëã}\¨!QR'Ñ|•?€wþ\Px!ýÇß÷µ9cS{½^Éã}4v¬:«¯š¹SoÒàÅÓ¢`ƒxíSvÞ®íÍЭøý÷Ț~«›a&ÀÕbv©còɈ|˜]ŒðÃCt̂OÌZìNµÔ–~=~é¬gf³BsùïcùWÈd…ý¾òÏk€îJ!îî¿1ÇeÌôáXˆLŒU!.î(×52ïgj¢–lÇAÓ¢*T†"jx#."V5ùY/CyË]ÆWÔÚÄĔÁL‚.è×#.PÜt!‡”÷Të5ʞ¤³v’ýÇáƒ"¦üè•7881`sóq¬¬éóòˆSﶲ£)É÷¦—Æz?=µÍ*¾Ho8 ¡æÄûþ‡Tšyh7i†¦Ðq’Ì9ÈgûÏ.E9½‰&ÓêvÉ²=*ö­„.Ä94Ëhßúª$Ä&b¼4|IŽLúq„=³f…ù¿x\“êòûc½>bG„³ô'Ô!œ6#)¡9º}H†‡Ši±#.ûöÙj#|@Ýö#)Å:ԉ¥‚YÑ#2¬BiþX9|l]ƒŠbaÁ‘!‚@òÛ䉱¥•ŸœÈÒ(–Xatª	P¬\•öî%ÁÆv؋Bº#.’qÙ‹ƒ±†;*Ÿ¢9.Ȃ ƒV$VO¼ó·Ê¯×÷fûº6üXâËÜìeÎìÚÐ}9CBO R‡€“\µ¼—¦ù×S/@Zs5ŸZKê{×Baa2y&!g£ ØêÁ¡ù¿¦·7'õ0ìùhðzGeãèq’ŸN°ÒyÝKRlrž-<+ÄLÎj¦WPÊ£Êcj“£*߂0(ÿ¶x¬êù,ŠêWôÜG[²¤6Ž‹¾HÀâèË9T3¡´6{\=9rÛ%ìvb²×ÞdÞS`Ä*E‹)‡3DÖ±ÕÕm#.Þý/#/Q&¢3+U£m+=3*Ö/V¼3˜»ÂoÈ;¤tð7aŽy‚‡¼ð«`l…uÎ#/8!s‡E;ƒM13¡ÑX.6N¬Ì‹#."åËޅÕCvNᚩ­e…'û.é~57¢tÃ/?Ž¤<èq#»[ܵö˜r±$[»±˜q`_`„ŒûÚyûN½O÷(_qÞóV{Ü'Fq›n¦ák>®)	FDûëÉ­0ƒ^Ú¹kÞê]84l±aQY`†I$ðµÀ;FûØ0–YEJF()ET,ìÛËY9Ì3Ÿk5wær·±è§_Làv¯>NÚW­n/d´Ä.ÛL…€©¨çŽ8æ“;DˆÜ	ÔìÓJ+Ug#¤«”h#.‘¢s˜‘=*B@´;ù)—‚xr€Bànƒ©è™ûØÌ8Á[iÂjŽÝÃmÇ	^‡œ1#.’:äP÷œ¾v–:ñÀúŠm5@æÅ"àނVal:•Æ ×U#.akšk´„3tè7ì‹h˜§sÂHZÉÓ3ï°tBRÚ·è&}ö: ÁBb€¨2a1Ö1ÐÁ”Tv *LÅí+s¾ùZ"Uû¬ÎxËðÍy݈&Ôw{8€›€JóÖx4·y8ÍæÀ>¢8r0P#/ž(KËTŠrŒ”bU(¤P‰] L$aŸKY›l˜ˆbHB­¯—Ö·1¶Èe°‰">úæ&$ÑáORw°¦`ºÕ…ïÒòA#.hæòaàóÓ· te*6åj„ik’37yyB:0XÔõw¦L÷³å±9«.©ùéÆ>ý9[Äü\ףӉØmâü½¹G¡-PÒPL@4«rzIqð/;ä¦)c¾\ÃHqÁ¤ß ™žGÏ¢AWÀÈ¥H,]CpÅ¢&6<Ê°a¦ I5†HÅ[öD Öƒ•YäÏSwÈçIB:ÏЂmÆ-0ýxt#©#)àM´`9#/å@…,BR™*rAÿ œ`N(ç¯_QÐVØ»¡–¹‹g€id2AªØ!I3¸ùÛ{Òbl=#AD¡Û±'žvµ×9¤‰£2§0å{à믅ü¦*ëň!ÙJ²…´#.0 צa!¨†·=˜`b‹«ÕƒîMÛ°Ûp•×xC¯C—U¿˜ÒU=aä%@ @ØfPÃÝïñÛᅭ£ÇÀ9*‡V<Î٘~²„ðO¿¨k³0¨ºqãZž‡ˆd€ÀR|„£"`ßΎ‡\yŠì½‡&àÄ31	™°Õ¦½Ó ³2·–3¹è^H¢`Ìf­ƒŒ– ts›f0j,çž/½X¯.äQ÷ÙS(Šœzó'wŒF˜P5æ]²õl®[²á=w“s¤ÛˆBZR‰c)R], ^³cÈ xøæ–mR…LÐã&mÂY¸–aËkXxø¥q#½œ:64χ-¬åhG›	êTÃ_J#)¡$øсÁ)=|wâ;¬Ð÷“‚z:|gšVüÎÎ0îã:q}WØÛtèoí–i5È@ÞKê-í±ò˜Hª]ä{bÃGÇå	HIuÃQ¸ãꔳ+Ñ£ó4Û#.ÍÏÓ¥´¦ÂŽÎž´ +ºCÒÑåèÛsч5v=ú [¦aRӏšˆÝ.ŸÀ©½0ß?ËÁ¿¤qÆÝ8öžæûCþNâ¡Oy¼‹‘ܶ¨è«×)†×åÌݍÀ$̋„6A§,C~#/ƒ±†\@”@ìÏBþ™·–8Ëö‹TçvÄi¥®áó>{xÑ]›FÊH·MôyÑ"¯:¸¢#Hᄐ甄&ؙ¢Ü\ž‡êÙÅÇÉÓ³œÓF%@$àþÔI¯…@R" N{ü1!Î¥Ê8A:9+b¨è"ν½¼sŽæ#)«1ˆ$«R…!f&¼¤2D´œ=¡%7y,­GµÚCäÉæMP³öÐçvÈ*óúa{¹·¾XìS§p™†>=Õ¸øfÃ<¤><)ڊ$I…P¢aÝ6ðq i¡&BÍ­Àp}|ô^½½øK)[S£y‰—ûþ¸÷UXÉòû¡,Öÿ>ž:ÎïŒwçŽQsâ"ÇZÖ.ó’|ôö¾ž¾…¶Ù;j¨¯q½‰Jé ¨m»¤I1{«ªÒp8à©ðBÁª¡(Ø%¶w+Ø«îõKf»(á&wÜ)šA6¾WgÐïÉ3´Ô¸§âHJÄì¿"zúÔcæ'Kðœõòå³ùmïmÄßå6LcÉ̞™ÊÍ>(Ցb1]JÒ¨7M!²m~Ñvpøo44qãCM‚6åKv„ñ/w±VÆ3Åü<~økj;à8¡™¯-‡Ÿolˆ† Ïr_Î`‡ŽþEâ«ÜSƒCt4>?‘P=IÈ_F•M!5HªÈÌvéZ&)lÊ«K©Ç]”!ç2›lE0íݟF0qäæ>µÓv}œmgnÚèûÛlxk#.*̌uðàaﱚƒïJJb--,àZÌøý‰°4ºm3³1ҁ¼&íØty5·O9´[Âײ°·i†À¼Ø©ðL̲:ñ%$Äf³“yø:Ø!C;5ñ‡*%§#.»ãvóÉ¦©ëbÐcp˜m-ç<s‘ àìb5&ÞªCÁ„ó"hɲsܝЖDƒwçb0û4ó†c0e!pÚn)°ClC!½×uß%¼ZE4±hô×U%˜“Jf]^øm_;/O™ä.»—L—¨Øš7ˆq•¢‘ìh”ÓX¸Ü7¶æ$üâG—«Ël:ŸRœ^ûgC¿úæÓEEèÃíÌօ­Ø`ÆcÞkÐ@ÜæªüûFMdaတܺpgGó/3`T ùúô*@ºú{QÉ¥…Û!øM.Qyƒ3ÙÏ=c¢Wç~’†Ê¦ÞYµ¨LlLnÂL,S†}Ö]¶û®c5Öö#)@Àáö·#)Å5}]4~;·àû ýr4Šlx§ ìH‡J#.¢ÄQ„cœŒœ˜‰ïŸíÓØ$—Ð&ý?)`ZQÅoÅ¢gŸÙ£O‹¡™˜*ÈÞìÜè*LćφkßÚªŸ‚¨wñáé\yž9Ї~H	ûtȺ#­Ë¼ôÇÝåå噙”¥ˆÔÍPÂñ_)äÅÐ>ÐdÏR6ïcßnÛ[ÒY½ÿzS±û“3ôb©–½ðuÑóí#)b†@ºÓA<8«w«@S#)bˆ±™˜5hö¿·ìÝ!×gÔ§*¤™€Wù? zGÈR’©Vûc´oÓèòêÂ,®°ÐÚÓh½}]’(lQòš_ö°èk2pÆÖIk¿ãL¬òÞ_w»‚¬kùý¼\éÚf’,¹óL4¯òŸœ_™>í8k"Ýr›0ͽö(f™½‡ò_Ÿùþ¿Ûùÿb_ÎSJˆÿHœ§B–P…#/ÈgœW;'dkœ¡}òü×WuÕE'ùål‡º—Æ|ÚMAýƒ3$Ã0ßíU	M¼þŽ(l6ùš×#)áí~þœ·úK`%N؝îp¥ÜuvèlOù…úÿ#/ÇaYNgbgÌèýï×Kìä¢ñ”Aü?'Ž±÷ù:Ă!3sõwsîðëãYÉMxÍ"ÁHc‡vngôIÙ&B?ïÆFA„1%ddP§FS?¿%6¥HWó{‹ãýwŒ~Ÿ´Ú$ǬLÍïjßñ»ßL¾8dÏӊ”³qØY¢WÙ0„2>wn¸µÞ6º£˜GäµNy[q]Ùe‹ZO»ZÊk1fž¶£~uÜÛÇØîõµÌd9ÒvèÇF»ú«—ú§Þ¬êz€åC°—“˜ð6ەåžò°qþ8y-²Œ3¦éÐùV-±×¿VÏ&AÙ30GÃÕbFÂ-wE’sùO…X¹Û‰ìu¾$†€!ãÓi¶º}Á»à㉠Ðrw–r™6L¦<ØvìǑbaë„­XbUkÅÑóøôû3'úŒÊëøqÀtäğ6„Ɗ`°VŒ@’aÆÛS#.ÃêŒOôêè疷ΝVòµ&§2(ùýŸ›ªË—i؆<[C½1ÅK‰?7óÐK¿ý?¶>0u\|1?¦xm”ÍÓHlöyŽï—í¿"؜¾Ì µš¡Ë]ìUÆ­¾È+¼ªWëñð/?	ºÿO?›÷VºN–‚mڐâÌÅcê„s®™ÛÜÝüýüǤØo#/ëñ†¬”½R444XLúD%k0ɝu¦Â1<0Äqk0ÏfsÁyÂÏÝøêx@;ïŽ8ÇìÿAJ#.qƒ+61	'SÒ^ßc3#)½oj½ÞÅúdNrt’L{XoÄ).Ý@v#.åê¦.ݯÔB*3î'T°µíó~¸“|RòyF‚Ø3½>f¬ý\ÚÃC5>vCk`‰xSǹáww'¨ï…JUW#.}=š:¸¾VKœ—Ÿ©Þzõž¬?·ø[]‰øÓ5ß³[úXJéÍÆ äøTsS½ô;º?^ÙK÷í)ñÊ*~ü-ôOΗð¢ë|§“~,œ>DZNA43Ì•Œ9ۊ÷ûüÌ?Ïk#.çÒû=|ìcgA\_T©7—’¨ê¤qÎz%Õe´¥W"C1ü*{*Vz«¤·üzÉg»Õ³‰Ýë=^¹úu+à粯aôéú¹·"x¸ŒÌ$ï®oG’ìÕ9FÉªëvv©#.¿{’gGî\×ÌÉ.rXÂ¿…ÿƒãçèÝYÐ^ç³WnRLS¯?'FO‘K!‚oÕ&>h:ïš`l?÷–¿xɆ- ˌÌ™¿?àåÞaI€šM;ӕ„ž#/ȑ"ˆHW}]uâu>¾[4êð׬+žÊ‚dȘ\Ã7Á®Û,1×®{M¤“°(››«ù–¸…á$ߣ³·Ñ7çÉ3¼_¯=2ìå_u`–™à˜}+5Á‚d§1ä¤CŒ6ªIQÞëªú«ß0æý÷?~L¼>¢+7¿·÷ÌÄô	À›”8¢4®uÝ)D¿Kòa^ÿ«ç‰œ	šl\!”#·‘=½™ÄÛ³¶-÷š”šO2¨èčçÜ]-Þ«®›¿ä‹#)¤oÎL1NêƒE•ÒéN	‚r‡”c{|bVãÓñsR‡Ç"½T¼`Õò0þљ~¼0¿}è¿f½›gŠ“©öün1/R™=þ\oáˆ¨@oqÓ¬Ï.L+õúÃ/_UƝø_4°”¥ØaN ‚á‚â1†wâ`ËK_Ëä¼çXzŸïúØÁúuóõÛÞÌ̤ãu\¼’7í7MÏB¾¯Õ~¼.÷#Ù§–@ÅÌ$Û¾(Ç$€y4§Óý7¸èÙ§e¼¸qãX1Jå™öf6&ºÍ™?3oÚ3KÓ®¬å£ŽZh&#/ãbý´üc³û¾Ÿ’_Ûüwɽ•3Ô	ŸÆïÍ*Ð(Ÿã©¾8¾*d­íŸÕøŸ<kÊËyžx×M5üHµSAö+X’Í‹Þ+Ìq›TRÑદ‡téIß%=’/úäÒêUQä°NΐµKþ4¸ËÜÿgI¾M¸ëN#[Š“²&æ?·y òg5/¯8Â<µŽHþÉéßõ§J³êƒ,å·gd!gß.(tǶço“?]nÉ߈hU¸‚åù†Âb§0öðވ’z=›­/\×¹1ƒKû_׏êÓzü²Ð–Ìíâ©R Ez?½ºB™H÷âå¿TtŸ(ŒZÂ_ëÓUaiåðAèS9“§£ÅùC¡¦>ò·sŸ_7í@Žâ‚:ôY#$<ÕÞg‰gÉÕR‡“/&¶ãüWŠØÉ÷”†‡ãP}Ê«iµ-R'M°Ú,”RŠîÿ2æ«ÓYû1->}TÂÜqKËÞÉQ{,ðˆ‡æ­‚%­ÂfÊ%LÁéûÝ&á±+9¤~[>…+ƒ_óO¿­¢Ɣ3VÚ4?Âÿr:Äryá‚z‹µí,þèfzuîºL‰zà}ۈ‡>í OdëñD-Üt¾.§½e—G<qÄpù:¾¼øéƒ%´hæ)VT“æ÷R8[¦3Ã#/rrÍøÄ& Œ®¸Žê=º;¢SºšéŠŠõ÷æè*Ý%ùÃÃ?~㼯Š#¸çgK®n}pW̬ù\Á䞺™ÎïW1‰EKyÝ%;ò‹Bë×Yív­N£A‡…OØ\Èêxƒñší¡„|‘Áœ•w-EDWN"P[@ÉtwbÏ_<yYie>;LHHB¹vøö€ñUì/)Ne`‡´·T›F™ÙÂҏÃnXVŸ[Æ#שà܇œÛDc<VýœM5)íñèΓ0Ý#)¼®xèz5Cê_·SËᙑ?[J£'N™Ó¡0ãZc»<ÛüÙ¬øwáÂRBŒþ0SQÿSåqW©¾­tº÷;µIÛëã+ÈÕOgêžöÎZyz‡˜üØ^-ûæs–ˤëë¿aøËOÄôð4^·Æd‘’nzN~ŒËçê§NLT÷‘Û]ýªq,»ÏDU"ÄÍ=~ˆÏG¼u’yÀ÷¶Ã¿Åñå‰G㋼YìF2î¦IqDçɧØÞó°'	ž£ß÷¦Ž>èJ=4uu¤8‘…rÅr®Í;[̟	ðç÷slÒÛÊѮڢƒžŸtø›ÿ$?™!çÎsNÌy3ÊÒú˜ö0N’·¬'ïæ^RX^‹¦Ùý8¨1Ñ?EÉûzÃdüpý#.T_OÒ·.L¦u—»Î®+	Ù4¹—R‡GÇ£ím3”Ÿ²?ܚGχ§Ã›@‘Òâ¥Çú®¿3Ó;öGvËüÑ#/@—Ö‡ð‹ ž}9Ö¶/S×zܞ…»éøYf9#qÍ«¹ÑiUJ	DÉht¶þX¸¸†<Ê—é“éT¾€|Îú\kÕݒñõÍÔ¶ß:̘‡Œ9àƒšôòkâ|ß+éno¥qº¦ùaüaòØljm4õ/d"U#TãBŠˆvM±=5™kœšh?µàGjÚƛ	ð$í6¨hÝ«(Rì5êšE»æô`‘Va~(iñàõ*“ m¨ïªPö¾)Óa]‘$QY3—}*mšN§E¼N˜Ð©®¿TB›á!èH(—m—:úü¿¸Æ·ž….ڟA¶Ò³5íg™O‹®1ç®aj•†QåµÜí›ý\ÃÔ`¾Wºû¸fùkp'¹ÜÜ¥	Ëçƒ]".‚Tý‹.¦$[#fÿBƒ,‡Ñ’Ó±3Ö¸kÝp–ÚNÁöò¬d¢Xwó’<õ«iÓ% †ãçù”láô㿂$žz9À»=G­ú?Z#.ò€½íÁàr¿·ß#/Ì	¶~w	#bµ]W—D¥´v¡óëTÇKµÇ6wi÷0jȂ³»ãl÷\/®¡ÇçñÅV4!F#.Åãz˜|û›øI·ã9§Ò"ÉTZ!Ÿœ˜ãP$Êt&®Î‹ü`½eu»lcØLg9xф4'C£ò@Z=QܐÓV»öQ¿Ê·fRvžÜyã\ÐR’¡\gә2¡xåq/1d§'؉Å\›ªÈ©è»Ç£‘Uf7Z–Rv£¼isJÒîÃ&#/ܗxWJÌ=õ­‡âïÏßgńêɆswwgwÖžQۏ‹YGÕ¡y2ŒJ1FfXœI)Lè1¤`MÇÚ¹‰}œåo«²®²p”d½Ûûº·Y’ã¤#/Ð,ÇJÒçø1@4qÌ#/#.Œ„r#.j£;àZUÔìCùd„^CÑ	)Ø/oðJçü³›§qW×ø×MÞ…ƏÁâkûúv	äZŒŽQ)÷øü¦xF³=ty]`¨‰É2Ä"JÛʬ2v‹Ã;Ž™LÑk^_7{ò„­Àƒ[30}Uh×ùOo—m›_ÕK~ôô.W!Ó#)²œ»è釕*{£»°È@Àoý‡ØH·óý?¨·qOI:üi:Î$?ˆãG”þ̓öÕ<XÓ³3TÏ PÇã“ GŽv Ì¿oŒ¼ŸBb;äԓÊr‚I†û‘Ѓû¤TE?s$	1æǜ<Áß)>®)*¤$̶°õ´A~TQ•[å™èz‰ÛQŠ¬žRòˆØH:Ë5¥C#)ÜSD¯Q[!KÉþϋgýæûu¡-7µrE>‡ù:µÒÜ5cêòДú;FóFa´+‹¯´®VЂ2±›Î¨Hv_8¢@@«ˑ‰!˚Ÿ¥ÖWXtõúÏÕ]á§OÆCwg³D¦áš¤“ ’?¨ny¡µËÎömlGæZ/ÖÁíöŸãsmôšªÈù¾XàýtùûæØÌ*Gí‘å+Òv·—Í)˜}_³EºNäՙõ#/—5j<ôhü‹)ëEÓ¶•vi­×í7Õ[‚*Ap™³ô±Ýó°ÏØE1¡ÂbbÈÓ+,bRF[ŸNmîæüÊÒI“©Ã#.#.ÿه濽—ÉÛðú˺xy0“8DØûÇñj~4óå_Í¥­)`d©9UYëÓþ'Éz¬¨5pû¥‚ØýõÉ(,Iˆ?z)óüô"KÈys”<ǁ̃øbW·‹ŸÂ˜ºÈ’hޏ©ô/kܹj“1ÑI’”“3}‡)Uî^u{ ºunë—d]¤³w­Ö1l­šfdjD—Q÷ė¼—÷~}·é¥;¥ñKNgnã#.Q¹Ø\_œ“‚—;‘'UM‡‡O@鎴6>¯:T’n´VQØ·#±°Š1òùßù|.ôá;•›îlúÅѾ–bPww᪐)]^枽8“HTzzg>†½u61T*#/œ§	ñ¨¬¥¥y¿ÄJ¥làHÆCÜ6¡ÓÌB Tˆ1X’Cˆ²°Œ,F(k?ãáÏ&Š~y*d<ËÆÌQëBk¼ú‘X†Ý¬1²·¯šØ†•oáPëÉ.ˆ•nâ{ÏÕ½®Á¤]Û¶•Ý¼²¾•s5¶p±‚›;›Èg,]Žã|¥~¿6E$#.3„ç‡xäáÉ>Ÿ·ôé‚Ãö£ðZë{n9°èƒ¤O’’†fì`3¬ßu˜K¬`Ӎ‡/͜‘Ñ>[xHÞhŒ½ ¡ÜüáÐZ‚þpYòW4ۆJËå³2ƒmtD„¤¹ö\“®áÊ3]:œÐõfEä#+M¿‡ò—eÝ>Œ{<·„Ãwn‰™È‘jOÚ[ǪÉØ|WGEüæó«€AØÛ£äéÛÏ͸ÆÂYJ’¦›©²vXk®–7\ûª	åVÊôwY«˵æ$%ØËÜîs̈́éü¸®¯ø3͔Íj€O]Hx2Ðòí«>뚺¥qª&ýVmŠú}ô¡9ÜeÆÓ½iéz™ˆB^¾Nu.¬/†8võGäüÎ^yJã	Q?õ{=!íß½7ʄv§OÕŸäýÒxȍ"¨&{zç:xè^«áα쟐ˆYρ¼ýN¹×ó]5ҌﭱeóûuXŸ¼DM´5Ҕüq"WV2>Eýé¨5hy&.3-ÃÉSzgê,G®ÌêèßI:¶ûWjRx'Ž<±Çó#ӀßsåUíÒE{óδ¬eQ•ýü&éÂoèÑÊìàé’ÛÅ2‚G×:‰ÉíLÞHã”çFi™û5ZÞZgÑ®r#.h9{|Op±Ðk³[éÒji²œWœ—¡0„uJÓ«MYí¤ù”ݍ÷D2`x+TÅcÅLü~û5íڔÛÆù\òêðGœ“=ÙÄÊ&ç*Ü÷k¸×+™bH¯*Jÿ™ØÑ[•qNd­ÁeB¾¯ÚæŒ3=}o\èaS잎Ìl¶ºƒVË+›jÚªáUÂ_ºQÏ%Sj•wjÅ®Ó,3öî?ÊNÜ|WÝ<vÌ*—}`ñYó·ˆÆ¯3o£Ñu	x‡‡Ã:tFª;Yü{0@†Qåž#wSºð÷,çô5T˜Œ>N’ß?DnÕç\n%éÜÛÎÔ´¦îɉ̙¯áFŒô¨0œUrO͆8ÒÉkQmņÈÅéNýºb+¾XY</Õ#.{óÜòF·ªÜTFX‰ŽU‰:ô#”m`x”psÕ¾õlzmºèãÂ4þÞ§tGt´ZϺp£aùºE烗MSN‚7]°3ÍúkK‚n=ä}fÍDJKºH르1xRm‚dˆڏÅ2Ñ_¿q¦*Hâ”Ô)ŒªS]‡7ò~¿™¤Ø‡¯ûOÔk˜½xöñ5@sW¤‡ñÜF–*ã¿zýö5öŽÄm§“„ºȤ,¨„•]–K›¥éz#/‹Ü’B@›N>úpóIĀíÚúÙ©I¼Óoc†PÏ#/KnÊÞ¸îq/t¾¿ÜV;Q³ÏŽmbƒqΒmŠN;$ÛQô`ø(s¹¹0F¡‰$ŽÝŠ¬)õÖz‹¶+µ3öHoõ§ŸÛ n3ø®5½£#ßӕÌÆUhΒÊÂŒ÷ÐQÀø½—ggäúʵȾû·æÁTÉ1Ü ôâc¤Õ[ÖþJð7l§º³χËêэjÖV—]ÔÏ=0b*k5Šœ¨EÇÉì÷XZÅÉ[Í”;7b+O/³4Ú5ÐäŽç†%F²¦óhgöàã+uL“Y"ä¤ê4’×ж­z“OEÍíUJºàv>uwÁã§9&Ö)Îà„åÎÄx;¤›Sº;Í8èk#)°ò_PyõÙi楗ipm®ã ݇×IJae¤ðÕÒl—ŒL- #/ܲ§}‘½"ôÖDɵm¤–åáÂï¦Xµ–š~7-·z{I³xw])¸b.y…M•0«.º·½öð+ê7Ç}T£WFa©öRî–VŸƒ¶+µê…¯>†óñ›mM;´ÒÄ­!»VîXíÏ;êžèÙq•¨s#.,iaœûÿ½:ðûUL~}ÐS]ûVi*Ês»žû)ÑÏt`ÖurÏG-jæ4ŠÙ\m}Tý¸_©j&ÕÚÉs—!3Ã"•âÐFD& K¯!Wøm`᥅«MxäYJNew­øQW²ªBØ?g;°Ú§äEÛtt<‡wÞé‹pgÑ>48\)6eªÂQ¡ý†ZMüW#.u6þ®ùJ½; %¸½©-ó5!õ&Lorv#/©&Éo2§X·—E¶éÝÄ:g›ÌÔF>lª¸<™[±˜ìcSuJŒR6ÉP¼Ç·8ËqGR¹@dN›òÏÃÄüòϞßßpçQÍ Í7¬Èws*¾ÈÏ¡†¥¾éÛ¨ä‰qø_‡Úcê}ùɈ­ÉìNTéo,»A€NF†ðŒê¥$ª7DxµQP“Ðv©Jà¼ÀbTò”ªN¢îû6 én¾ÐÛ[üU:ð·£Ê»âºœ/Òìïuäèl›Ç2‚Ío¾.ª»¥"EThV!!àp£Ð#«uôÜ»iÈÑÙª~­&—³H95á®6×Ó"~„AÕMÑײ±õ½BYá”KÛÂèÞ<Šägd¦òŠå“2YãÐRÌaÝ]…œ:Ï5ïN¡j¼â4&µ6¢+5å*zl:õL»LîÑ]÷H0¼åœ}kñÓ¶óÏNîÇÖýPØxÆ+#.ÕÎF[AƒåEpô¬@ûؘûŽ’qÈ/ÓË<^þ†“mŽ‡Ÿhh7†Üë:0QzzyÉ݆jNÙèuáˆì#)_ë»ñǖ(ýÖC®ŽÊwE¦û&9ôÁ\2‹œ¾›Ï҈=ç¿Ë«œ³C!ï ³‹]n´¥RcZŸ”å«ÛÜǕw^î.Æ_fiÕB;˜â¢Sþaœþû<ξ½Ã&‚öxqü›Å‘æå_Þ=+È«UD®'~z/¡½iG¡ÃS³t&(Mø—…µðÈÒº5啙—ãG#7ւäÉ£M›˜$ی(_áu-Æ»\Ê%ª¥ÉCêÚäpÖÀ‰$ T}G5ÈM~‚)€]օà~;L#_»Užý²SðßMë͎¾Eùáåٍ-Ó¤Ñn#/1Š¸MiÙµṲ̀]œŠçÝY#.ñq~X_v¡_»YçžRùg#.ëªú1Äe}µ>Y8oϚg†Üt9_—FT·TôrÒLúìc©1sH²õ~/áÒRP;»ŒÍž;dÇg%+¿.7I]üožÌ]=ì	þ—±„ |õkÙSÙ£AŒ˜V<4˞þ–1 ­ßŽÜ,ªÆ5qáNó}j“»nM´eª×¦[1é6=0MRfŽtYdŽ…*b€K—ôüÛ7~o“ä>?!ñýžc’:ØêÁ'ü$¬úDµÁ”ßü^šuãA÷#é ûnB½Ýrô³y:ì†É9ç~è~æówd’I•©“¬ÛJ0+ꢪ+=.)˜|}£Nž>Ž‹pqaq„¯[NpI~–ìÏ)H\6ótÀ¥>‹‡8•ê}šo*ןÅalô==ß¹û<Øxrý’¯?¡O›gñlmÜÖË"îx<‚ËFýFcêXãŠÓ‘0`VØ×\CHþ§kå¿ð}"ŝçTÿY‚a¼ÝR÷H`eÉØcc¸ÃÈpc)ÌÑç+¯ý¢]žïêÁá=ٗ¿òwýjð_±ƒô„#.ò³%A€a¯ª@éÃçôöñ$“ü¯÷Ûa4#)ìæ¯Æê ëbž¤;Rz…4Xiƒ˜w’,/ö¿Öjaä8ÿ™“þsšË~ü‰w$Ò7Ø@†ŌȡþȁÃä#/5€ÄÆ©©»`2%~®#)1`ÀÅLZ@2CÙÔñ#™Ï’W²Í©õž("`ÓiÚy0UîÅõ$÷{P³:’‡‹É"‡bv`–˜l þÏЊzGkæAô¾Ju{_ zÌ~/·âÁ~Gçy(#œ|‘:£”§ø “Öˆbf{ÎC`¹*h˜1ƒñÃÿX8*¼yg@ÓüÕπ*|ˆvÛ¤Dyüß»©ä›œÓÞؾ#¸/ópô‰üiÌöÅå³pöwë*OK=‘ñÑV®ÿ›ËOQ`Äf‰Vw§ÐÁ®…iú—Z4ÇA#.k&æa®s”HÂuxgï6aրá¸æü\P¤)Ÿ›#/f©©ÔÍ£A_Ûýgñû¨sý*?“<Lë›F¾ˆWÙ)m;ök//Ùw°ˆ^IQ†ˆ Çè?6áúͦ³0@aJ’’;YþŽýÅ;Žpwä^T('ýƒH(3¶@›ÈÁØÿ#)ÏgØ`'>î¯&¸Ê-b2'vkCƒ	¯`$?BÉHhiaÛ#/›ûâO#.C<ªh®*‡Ç[‰¿ûÏ Òóy⟇}aäMû±1áï©UZvTÂ"ød÷ Ä<@ð	Ô7ˆÛC®1ÜѼÆgžá-v±nñˆyÛ´ÃÉæ¯À莤¢j‚9#)sš0$ ÈcXv®þñì}&À½´qL#.ÁÒAõŸ[®"L>!ã±Á<ÀéĚæ9ØÅØc)ÃÚa¶I::ë#/Ó+z'iøAú’È€üþßfÙ°KùLËú¾^ͽÞÅ£'àdÚ«ÞdnË¢uñì2QæVì0RRH­ÔE¶Õþ¶†€oÈþÄ–…ˆKðâTš1óÿ,.Éd¬†Ò$ˆ{ZBͱó7ÃÊå‡Mx¤¥ýz®Yùμäk;¬t–vb)Š C©%îàÚeLøÊÏûúñôVY}¬¢Óáiue„²Â’u§†§.L̒C{WŸßäžsۉŠÆçéòû@ùٟCGÜA±ÒWñ7Ø°nµÞ|çJÏmY²4½"ƒ•*T•nӗ¡:®œì"C…ÈLiƒ§åß9 ¥‡ÅCÖÍøMìˆo#.!TQ#§OªãíwaÜI’¬mm0ôœ!ÜáïΤL—©ÂŸÖ¾ã·ÁâuÛ±™ˆv~ǵpN¸{qï0ŒÈœCšýljÛâ	ꛆã;ÌÏ÷[#.æµ2\œŽ‚uÿ¤“ª’ªzˆ§tœ¡O‚æ”ü®æ’N‰6õ–t•Eg7né$°ïšwË¿†ÍìÔa°¾s†Ã>ÌðM¦™w6NÅ»K2mYºöð3œâŋ;õÚxé×CTæQË@Õ'9Ï3RÆžMBÈ s£cyü)×Mæ<IIOÖ|§¹*!IGù̊ô÷@	Èýïø|üó>£Ë+'çQ'ÍþÆ\`–T0¥ÑGÜnãû´†P#.ÛÈr¦¾‚˜F÷Ýq›ã:¾‹bñ´"jî‰Ãò™Ù}ZV¢ÏÜ´€ é’X²H=ŸßÍçû‹¿+ŒújbæEdPjÐ„Mü,í#.ë¹;çšÈ–Ä?ÚxšS~3þlo‚RšoPä7ã~#/‹¢àvB¦*ÀKÚOè4áÜ#ÕÖÒ#ÚöF}þç‚ñ$8‡#aæÇäÎ?§ôÿ³Å¯Ð£»ØHI˜‘cBxúë;ûÜ<†àw¡è<ŽÈè‹C°m°6=¼Ò¨nŠ›Î`ý!SØ`9H§:w–X>34#.TßêqÛ&š3Â$å‘d	©˜S@"ùsSrñÎ'š.æãäx>^³>Áâ]%û‡ÑîÞ¢bœŠ+«õùîww„q#/ÚÒän`lÚ#.ú8¶Ö­¦oP=K2[˜à†övÁ,Å2hB¡{¦&Ì}Ò6Æ,¦àÿ#.!ØB‡?§¯÷œ¡•(û2ú8Ž@»@W"MܲK4æü95’i6‹uÍwÖs¼WZšOzDz=Å®öÓq»ÖWFVì|R°cÓ&›ââMqR­ñ2©˜eÔÐÏæÑrhm2ènØöfh™åj)YD"“¦+±à-8R|J7T\v–¹Ê˜´e¤ØBj1±k—6ÛPqñáö~$|ò6CH#)þè_Ïû@iӏDþÆvýl§»¸_§›3·ÕÕcw[PÏò·×Üý™úY¤˜ÜϨØ×HOß8†ðî¯ÖÈ*ª«t:HIrA6	I'g6ïîcÖÇw±ƒ'l²O0¨ý$|}†¢×–Ð^¢¢•5ìêCã»?…þ™??­.9±ýŠÙàÚäÚE¯Z+Wq”åWÑü÷y8ÆpSÍû\qÄ]àõuwtà#.K¼Ÿ)çÙô"&,Ç`æÌڈ(¸ÝE­ìÜN®¼²Ò¦.³%#5™{on¢Ã¤LÂ1øeXo›Ôz§ÐtLblÇ@~qœróCsP!Œ°p•ù•}þT̨D7Ü¿¹ÐÜÉ#‰JIC!˜¡ømÛá£Ãñ@}÷qÃÌÝíå™èd×|U“*ucùMÃÛv¸ÈB0ùrd_x|`!¬ÛÉ*\¸éôßqÿ&¦üç¨4%!Œû³ã¿¨Óõ“2ùNEG\›íË‘sÝ7)Ňà!I$萅“.˜Hœ´#)}BÎ#.Ih~cžºX}à×Ö7Þyô#.֘Ä>ŽŸA¤Ò$Ìq%‚¸KæIÜ°‚Cy‰öƒ¼#.¥Ùª…€Ù÷ÒTÐ6¾Ê#žáô?,C·päƒÌÿ†à?˜‘ü}]ºø{¿.‘á20ËÊÝǤ#.ÆKí${‡5">'<sŸÀûzrÌH»ÓVï¡ÛÌy²©éTkZ ìoH€iú°Dp•DØêø˜>có÷ê`éCtýMè'çKŋ³˜Ú[¸g A£Æ°"a‰Ieaý¾!AüooGÈë?Gr{ÓüLÎ5A¿gÔޚüâµê a®ý°GÌÁØ]w>3!´‡­õ"zIt{#)î}žÁ·¸®C|AÊ™™™º2Õ±óäœÍ›`Ï1šs¤®íØÀT› 4ñ\3¡'_¸Èè½-…잦͎Aˆh<©¢#/(b¨¡ä/NFŸBŸæ=²{_™ÀÁ«ß£Î‡±<Ï»õò;ï#)8†°gà>›Í1#$>/|}?!࡙?¤Dµí=ÔÞTµ~Pp÷¤„Èú=/é7ZUYßfi&;C€|2“o·g¥0Þ~G?’U§©˜¬â½goP~cš™Ä_­N´]™#/9üŠ¾ÁvTO€©C¿ú5Í[ðTäé#)†1Ó÷ý#)ß óq#)nanr𕥼gxòñõë}Ô.5õµ®™É99Š“g‰òƒtAmEè詃Ì#)põö`ÃXL›3TþéÒy†NÿÈ53ÞúìWùÔ}gj1ÑO×d”$Ô#.¤!™»ƒ]H¬j¨3;q«Èkø¿:MõŒã$ÕXF’%²ŽƒÂn@Š¤é#"ô¯NcÁþ‰Š˜kŸL–ÂÉÍq4©TN9ã#.QC +===òˆ	˜fz”AŒˆEQ1!ƒ®q’ãÊñ#&Ë9«#.gt„ æSÀ×¼9O„7íèe	`Näoá=ž7ÝÙû¼¤(Ï«¹ñ=,`ÂD¡‚Àý‡iˆŸVÕ.ÕVU”]ms]˜ÍИèný/°ên@q*ÍFàlÍ3v­*‡´#)õAéèdzö§yì`x£ÜN–9z|í›}ƒmùêîÖΫå!#)òb’“3&“¤¾k?²Oó0‹%Sþ[»ŒO÷î]X©Æ,‡ ÃÍ8Ù©LÑ‘åy/W˜i•OSˆPÏÌ8¬M0·—Ÿ^Íë¤Þ–ÕÏø7	²žƒÃž¼Ÿ¨"Ã3é噚â³MÞDÇ?Ü1wk`͉aÉ5ÝÉÀc´€ŸœÄuõ_ä:Î¥O=EM#.DPâÙ+„x§æcóî‹Á:¶OAèÅ<ÇåÍ[H̬B4XXAÉ·–FÉ:_í“{n«ÞQù› fâ4&s•†blÈ<†žù„’#ÈõȏÍV3ëCM¹­1úlÙÈ1äü#.f–1AØrÙšis¤™8ãæPDfvèÂAA1	4&õ£a¦ƒÖ,WZ´ƒ´|ÜF.=CúHcÐvqüqòÐlÀ/2Z8²éd+˜l±ƒ´	Jûäy¢D…GiBN!ÐA8žô?‚(À„<“ ±D´›æ¶'ž®öEbhjŽ<¦ÿ¯šT*cˆ`tK’v*â˜Bõ1¥<1ÊCðø视ò‰ùln\(*w‹ä#)á&|ÿˆo£Y§§ãÅÑ؅=¡à¢&îÌãp‰¢©K¡z4d>Û8×LŒ’EdÊfc/‡yWÃ×k;µrם¸Ú«˜ј“*fՀ6Œ2L¤i¤Øÿ#)æM¤:}]~ºåɖîß( #.H$Óê¬;Û°éô Pdç€ÔÄÈCõŠh~c·¥±EŒZ VÙì=Õ³käÁô:¯C­uÃ0¢šR†$#)ä±UO¶l#.$1ž½C–sÉ"ŒÕ3¹¤àm~ìF­\ôÇU6Õ¤fŇd þT\^!à=c”<];7£±þôa€Y¾Hn#/#.«Kk`¸Äjm#)E–¤Ü˜ð›#.´™ÍWXû奖ƒ{3i€¸Ø:¡[$؉î½þŸ\ÂyùÙ­@)‡\¯´Ö8FäòD¾Yµh­£5ŽTÕHBªÇìÿˆ‹Ú˜æql^„ÙÌã“uÃAöÎpÆÅÏõðiùú¾IV„aèt#.A¡#.¦a$#$’ŽZ6ÙEîÏyš“ïü Ðjo½F§O3‰!u†ne0(ÆKÂ*QA¡	ÚºŸn”P2'žwé#.Ɓ¨ë¦¡3¯‡÷CµŠ'!L‘¤C¦ù"$?0(ŸòÇo—ÏùIúvž&"/SÓ­äç™èL@d™òãàƒpe²=aQ¿‡äþ‰ä¯Ë»ûbëÇaÅ=®€ŒîO§P’g}ÑÕ4öÚI"\LÉ9¶Ä›}Œ›ÈRkÖ{ãðž6ûBU0Oä`oßñÏèÈhÈ(؛©ü?~vaÉþ#çÀ‡3:›y]âUÅށÈQŒ0ò;pëN@‡,ŠÍ8?àý<ß(o¨Ã?<=ííônkDa%Æ a#2JÅö²%jJÍÈiË¥P¿©ú¡-öÖðôAò=?xaì=cí=G#Gޏxž#/¸*bÂÒ'ˆ»ŒŽø°Ó´7v=œÃµ61æâžõ^Cû8­;òǏg‘Ú'hB¾GbžAú]ÍÀIGB¯¯óh6RMÄ«K#.ϰț1¤:î¬mLͤ5íÁ(VéHP,!0ÕrC$p<x:,õÙRx`çaËÖ¥	]x—·¬ñºÄQV3&†€îlxyùtºÃ¿â螥èÔï#/#/å$»òÐƍ#)“:dØöp>î[èP²ÉY#.ðrzÔÏjZ¤©ŠGZV…úp„ï£#/“b¼^¿‡;HÁ£ltwD³e¤Qøþxª¡w¶Aš!	t˜E¦5s~x™uNm£Y̝×úâ?½”l²}pîÚÂ"ûçM\Ï	CÊS™¦©v¦Îk%eQðöîËóö‡‘ÕèÑæ:/ û‘z‹½Ù2”A^-QÈ<#)úv“[]z”&áŸCÖ{_G{Ô«ð z€ßxóTÅ/׎¡åSýÍt¥W=‡	rÂÈ2ƒ°{Àì^_¿Ómwjâ>‚<U(ô‰ä¾k°â±Æ¢D¸³iÔC°Ãš$ãâ}]@rlÆmÈ#.ÀùšðÌ33@¤ªÉtÉaVd9OW—C§lóÜñ›A’hã°6 ùŽ¦-)lÓ0­c›¶1ÍVÞ¾äN1Úy'÷¬_r³ñ#.ÌîûM„Lz5”Š\»ðH/·cž ¼‘€>F=þ¡oêèåÂgò˜Ö3Q‹[À¥Ý¿Ô¨fz†ån,ÄWغ«?¶W ™òՁ#)ö~۟è”êò±³^Âzø&æV|ýSó©P÷ýúÜÁ¦¬‚g4_ìûò~Hï)Øç}&Í_¼U=rþk/8ê¥}åS¤ÇÄ-ÎÔ[³v@&)†Ž¨®Zô1קçS…®žkªÈ¿¨Àï­s’Œ@¸,cdÑ\T@Bә§nt~Í°ÇÖ#.L#¨3‡.èb~髙=ÎãÈcHh<Ï E1?$ùÒ=G‰l™Šþh‡‡d 3	Åõ‡˜#.€#)ô‡P÷/‚ô?‚8ø\E¡´:}W°õޔ#/x?—é¼²|z’áï&çdÓœÙ=5ì˜ØBC3þ~§¼	Ä¿åEo< }¾A€Q“!e™·%–Ðìç;&`N¤È‚{Ž h4†Eø}_#ÙôÖ¶ØE¾†¡¦&”6ö¦„([¼Õ·Ü½W—³zúAWi„;'p>j^†rä!AæóaœL7-íci«þTY8"éÏ97Û.ùÆWÕîàü=§üì§éÖS…sO„çˏMl p|0IÑ˕ îWbVš ¨!¢h=±{¨‹(òÅQñHæaÛ_oÖŽ”s	âfꓳU÷}p„2¶nÐX8‰² D~DÐ@ôûPôDGÈüó¼Z#)]äBek6Þè#)Ä/<k¼Œ9öô9Õìè=L”gÃnÑèz¡:ØFŒ×ý‹ï>ÿôwEæU،~4$ê”Fvb킬ÁMÓµ…dD÷ýîœÍ τ4Īðg4ÄoÀ¹[»þM«lOoŒþò#))0]5ß÷êC+P’f#.­£NfEPï˜m8É'V&âÊÿ%&bEa Ö)eÔ3jÓ©ÝÝßp&c»æ˜ãæ&'ÔПî®W[#ó©Áå[*¼jÈqœd6'9yÚ_γ1óç$¿Œ ғc¿ÃõµE<*@±0~Àß>¯4ƒò~Ä8€C'‡nóy÷вŒòE2=m½†h8”ÌmÙ÷[¡Ihy~Mƒ³ÔÃ#)‘_#Ž~Ïeô?§Zû[«ü}QٍÌT“¡÷ÏGÐ>“%ËÛ£INØáääÀ>è1ÙÅìÖ鳆AƒähÅìöš4ÃE"I¢†ò0Òí¾ žôQþœçþ8èè-‚bÍ“^ÜÅ®–	5`Öóßï÷ïp˜ÈG‹ï¥Ü5ð¶5Øò’1™>gÌRe¡0!”#)ÆqŠa°aèÖ·¾RNÛSjÐ{=„˜õÉjiû›ÞëæïRgþñ@Uʞº?‹#/¯¢±ÚiþǏïíŒC§ôJa0™!3£,¬&ab#.f´	Q@hњdÞ)_é$7†„ØÃsŠLQœ0àJjD^JĤƒh+1T„¨Äi´P€ŒdˆAF„–1RÄ¢“S4йô 5éÌ4ÿ±j„3å#.ŒÜ„+ÿ¤$-šßzxىº››%)A~ø~nñÛvšt…þ=ªJÐ1+~k˜;k­#.0ÅÞÝÀœ8•˜$0܄ˆ2I1â#.ïº(äZ9—&¦Tê4ŠÄrqUDÁÂM|ä«(;7Æ;/¦ãGÐ8~6åä%-šš@Ó8¡Ð"ëúpú›ó7íýØþÅÈQבæð¡’ç&{š§l%ÃL××ý<gI–]ÿ-éF¿w聭™ñtc;±°øЪ1QÁZoæ!(¦¢´%°4äÔìíì²vÉ[š›û?jBO\ʁÒLÎü9šÍT¡¨| ]!G"#)‰™*¤vPüŸVN÷«4e*v­±EȜåÚ¡¡‘ÄÎcÈÅGåÏ¥-+×óáBlEŠÐÊÒ©PÏߘùú“&¦ò~ï<ò“y÷o[‡D32øÊœ:žørT2DŸ°¾}tÃ¾d@.ARDsüûl,ZÌéñ›7·ÏThdy¤9Xüü¥aG¡ìDù¸ ±¹Z3iÛ¾¿ò¹Â„[nV„¥›Vi–ÄPbš4è²b¨ÐÚ0Çîv`â)Vr ‡`÷lv¿¼túWHüC$ÝÓ _Lt’eÃc¹‚% +Õ׏I##mï#.^N#C«ïŒZAL]‰Š§\TòrøéôÉË*fÐ|‚ ¤*é¤EêBÑ,¤7Bœ–â#é8ƒ”ÁM„oPüämÞ§BÆP‚l\`\·ŽúÐÖ<Ö¼ ê&iZr úKÙNOðP¿Ó4×ôîÿ4sޟùrߦ!ß\#åö”yd©ÚçÛ1ã8òE>fŽñ›¾™Æ|œ´Ã„d‚kûN[ׇ|Ù¶é͘.¡2Ú#fwGËæ·Ë\ôKضA\ócS䥒ÿO𖀝+h×ê†f“!›¦nÍñc«Õýjÿ_-î9>S6#RNç`€²Ÿ,6µÏÂY)jöK`œÃg,O„’(j+'BB£˜Í¬Ø&çmþ–Æ+áÍÖ¨[™0ítn“¸ïÚFZj?.&õgy±´2ˆi«Ûîª)ћ±¶«m#.h,×8™ª®±2+òL²~¨!9øЏ˛·úõ_	ÿŠ‹o8K›âæ«£Lé¥û#)Eç9±[‹1¹ãÐØòÖ¼ÊôÊÃIïíð>Y#Í80Ü_Īk᤾QoÕnîR¢>{>¨Ã¦‚¼È,Ì·)}‰¥ù–¼Œðy?ŠëÇ`¬xéH5ÕY2¿Ø鮈ï–I¢ÇÜíë‚t¨ÔgRæºÏmÖ]¶×ÏçË]Ö$ªiŽJÓ`¹¹e*¢éن’{_á/8k¶R´¶šÃeÙ Êo‚Ú/Go3£öç‹ZÊ5ÇLwƱçãœwÇI—2[i®»¸èâe¡¯;¯#.7£2õRÁ$ÆSݏ„æýÏ=N4köe´©fÝzÔ!A¢Ò­	?%5Æû"I¥M¼Â2“WcÓð§=5Z†Ñª¹lI«´Æ!6œJù6Äa1ÌÓäû£Vr%N/”yyS^YÞq/!0;dC»«æep™Õtˆ9s…R‡G1ëØÆÞyÈgX5<ÇûP™Áë9<­“‡¿8–¼§¯Aƒ$!LÓR¢¦hÐjRTԕ}÷KšO4ãӞÇ7Uî®\b¦½K	ˆ®}ŠÚ¡£ó¸Ï.“KfáÃB³Fáæµ×wù8X5L˜§9ú?YèùÀ¿§å³ç¿“J„4"óO—[Ȃ|%Ͻâ>ø¦ÐÝ5»ÕÓ;å\ô8Ù/¾î¼í¾ü$øÕfž¸ZEç7¿'m‘ŽÍ¦îÇm6ôoôÅiõ;ãSùtrš²îˆÇ#/	+ü½;Cë&³÷œsyºãÌ`X©UŒöcdÛó»Þo¨Õ~a“Ö„;”‰Y)Šz\!%!ˆ ì\¬ÍÀ1ó»S_Õð°1œÛ’Ç4Pø֖'&RÄ?c&6®ä2Éé\ÒùW^¾Õ×^šžiÁ8²ië`h1lHŒ(ñøQ}Ã?×Àÿù¯pûîûﺘxÇ 9H¸ŸÇºí¼Ø‘Ù¨°èåŠ<5»ôCúJ­Þ¦‡'ꁘ¯k³0j:^@K£öAÖR—²@ÍjÜ`ûÇ,b™éUOàïdÇf;ð†Ã$„YуöÎ|Յˆ-ÅúqéM¶ÒAãá!Þ_<YÞlÒ#{h9øL1<·è˜]¡l#©Q]+2FS'”È1XMÇM9Ä3¥ËyQ¼Ï´ùèì…‰ Ä dáɤÓFzО6,HÀ‚G#ß@S		°ì„‡6tfJ©”Öï§ù¨	®#.b´)u-BívŒœ™4ò* ‹È¹WPåÄ;H\qÕ9ÁÇÈù`ÃM#)ØÁˆb“3­	™ƒœ-	áíe|ó~ntþF˜X²d4·ìüÍæý3-½7iÀԚ8r9KE²jóŸ9ßoËÓ;DÇ7#/	îrtlÎÉK(gWÊôÄvvGá@ãF³ùoù/¦üE¼w0Ó_R¨ü&Kóõ9#«¦€ýÑ]xµ „ÊÁٟ—ùv±/í¼ÿ«Dƈu¡a˜Æå¿õ㌢jY˜m?W³Ÿì1²²´–`€ú¿“³ë&¦™ýýñ­©A„ÀQ“‚D3¯šï³|Ïßø›¾¯Õù˜i0߀AɊºüˆj_1úÝâ¶ýÁ&bdÛñ AÃ^à+Zæ/LhE¸ Vj? ^6‚±(èzù?ÞÃg}Îã´Ä+&F"qòlÏÓi!²#.ö¬ÑÇk¨!à؁=e†G]0`nÈh`ßn•f¼yQõHx@ oފ€¬"ó8ض¦|É[OpŠ0Ô#.áÔÅø^1˜ïÁœþÓCP#‹#.Ŷh˜oÜtõâƒÔ‡€£Ö*)dPVà—! lYÐäwÿ¸l†UUyÕ7$•SÄ8aÌ^§<®@Àq›íóö2,œÍ,^ÆgÚ}Zý°Ñí?HCBv`$K‘Z	Úñ<¨ééh¦‘³Ú÷y‡â°NҏGÛ»úŽÇËç€ßVñ…†föE¶¾Ã>QNê5S”fXñþ:?®€;¤i0F#u†²°ÃAR#)ÃÆ#.@ ZTÈrh ^É1ÙE3Ž¶q2#)àúÓ#.Á§­\ì.þis’.¸âØaµ`5‹«±ë6̆a%( ÐEñ]ín;6JMö£½¹¹†õ+×™;%Ç×ùçÓÃ\’}Ûü^Ú֍_/nooß:OݪÍušÎ_]l¼}·žMJï€3Øî¢hüçc€z¶rW¤æc¨8dÍҋþiu±¸j£#.õ£R’„FádA ò¤–f¿P’ÃJñùŒPIHÅU!#/êýeüVõ3YK¥úÌJ0`Ne†æa¡1>Ÿï¼Ÿ›ŠüíeTUY­j֏y܈³Šùa ‘ªú·2£3HtQ¦Åߣ¾XïßD;šGúçgag u˜T%“¬•&¥œ¡}¿ÊÜ;-®§@éP–6ÄLXtY	‡ªöb¶Õ‰/^)#/y4>¾æBƒ½68žFÒr‘#.5¨4’Îbq©%MȚaÿ~¸À“Y„žM²sx!QYÆ;wÖ&ǼL3{s#)"ÈI¢ˆ?q£ì8Ði¦#.?O¾I°÷ý{$qϯieìË()+šÛ«mðÏÀáq¶Ò+pAŸ1h=¼ð”„‡H`x£»—Mù˜g¦ðòè)ºŽÇþ¿Ñ‘&Is:ûX΍?$ÝD0I­üCšÄ#.!€Ì´É´±#^LÓV¥#.¯ÓÝî[“‰6õìx›<Ux#.*¡M#/±µ±qSndk1°@¤^[_#/Òwqùœ7Iۖ%¯vPv>¨î²(ãÆtiM:t¯:3—&7vÞ;V<$qÅàHñë\]G)ŠËgMÌΖDbšuLßæ6á"ÜÑ)²½Œ8غ±0u"qž’]Ë÷NàÝìÞC§b1BÓ5kmþÙæxÌľë°¨’„}	f£l‡`â“!´j#)­†có¨·ww}¥Zð,qmf5”b#/ƒšLÌÀµœÈ˜ìËE[ø×}¸ã9;ˆdÕCd‰Úª¨_.¼{¼9:né·Ó€^÷7œL4ÐijrW/OÔ6oÅćìÎê{®R	&TƹÍiÔÙPHÝ;åƃžpM/£¾zè·#Ûíägóöz"T$5ÜíÐéѓPÓ왧w+‡#½#/1hJ€£h}û£PໍÉs}”r"lh@Ⅱá™ÐÚùÈéÒæÔ!‡31¼´´0°Ô·èë¹s2P^šm#.ŒPÃ=¢ÃS‹F¤‘Ëz·¨sëÊIôƒ—&•‹¸JâÆ9MøïtbP^#/†¦$9^ѐâ1/غ‘ã»K2÷žDÌ2‘ØóCˆ	j)®Ðܙ} tŽ×Æž·„ü`¸wž¤S0…³ž‚ØçÁºŒm¹–¢ÂÜcÂ2Û:KEJìF ˆbhnÍꟼùû—S^ÓZ—v¼'/N8jöæ9‹Å9>ñòÛ}°ðò³m–„Å%Jž#.¼Üq•óεªiSnS-.·HžÙ	„KÄ=O³´d‹Ô›¡Ô§óJÒ%Œè<¢â‡YÕêr^£#"0ÚjŒ;8¯d{NæŒCŽðÏM†Z=F›¨ê4çltœ‡'Š&¢Ê#/˜’rù<mç+»Ëç‡>vòcv– #bfF‚|ý¹©˜%#..f\y™“.ffeÌÌX­ÌÆècÌËà—-Í>yµS=ÙÒ#/@â†nú2ç!1¬X !ßT ^o#/ºƒdÑWÀïLJ¨xS<äLr9–Éåì?²âãßåԅ½y×>{ä]:é,F`­ÑX¢¯Y8ò¥q—X~*ºu¶‘pºó¾"µlÝáÏDΰL.Ó:ÐØ­jebÆ*Ya2ALät[Ãçcã¥g»L¸»K3ù4A™’P;o#/U3DÇmƒ½¾Êë»2˜’qÝ(.Î™ ÅØ.b[Ïá·Vga؃¿†#.Òñµé!ÇFjFlf XÀÚ-ê´µâKÜ#/΅)·Ï¶ùUFÑT±¦XmR˜ð­N&ðÚwC.¨Œ¦³²‚Ä¿óÉ PN³¬åª**ò,gR¼„å±qª &€$U»ûe¼´FÁÒà×#.!c°èLK…9bcÃŒ1!˜=üþ.ô—‡À{7~¼òOïX4OoªqƒX9lÏ4|K3î'áø‚·«‰	6Çܛ	m£¦³è•#)¹Iáãzc¨iÒ™ºtvðQy/%ò]ؘFê4sÒÇ’Ë#/ež­„OtՎñD=¦å!48(ҔEtTêѺ+g‚›qØꂒuÒك)ZáFRg?Ûûæ¯AÄEPãXN=÷Xté"‚¦#/Ý`îU3´0hŸ/’ð&N§WLŠr—,d–œ#.q達CCiC'xCi1’ŽA‹ÂQ֊.Åøf®é,9PF†ô2c`ÒÆg·¸-b*þ}#/‹ ³,YHɹ#)ÆMÇtó’N¡Ø›Îí8ç5u˜)”Í2ØƜó>ß^ÌôƲÚb͉€gᓐ`Öð)Ï°Gx£#ôÐтc–Ú1@ˆ5ÆÚâƐÆ2dLQ+"©h@ÕÚ:Ül°–ÁrÉMVÎ2¢ƒx£—Ÿ$ØîƒÁXm™¹”¹M„R,Èftö¶𸦭©D½ÍM{,k>o@v+r¤‰S¶Irû²`dSp7iï1â;œj]ó;[€1›õ•ƗÐ;?XïԙfZgPd#)Û>F¡ì‡Â9KÐb'Àc÷À[o°wrœÄ`²™5‡y¯–‚á‰ò؏ơÏ(:_ШRŸ<Î8âFù’Édmº{U­¶ÛUV¿?qÙˀ¡e#Û:öùÓtg Êy3D]v”$¹íöbÛN'V”1‡ŽÕ¶Çxy-Ûڜ¯ˆxpi2.ÚÀ1=ÁPZo±oAAap¸%WEÐoŒ÷â4;SÉ3ÐÉ,Ðð’@öq5¯->|#/ôó*JvI¢BÙU÷k6ÜƌäÓ?qBhȰ䜹ŸÚí*#/éÏÒhé§o®´…Ò·3ÇëÔXº*ÑÔDÈ2ü‚@º´ÕlÉk£WeÛ#ù#÷ ´®Á	ðàÚï}+¥xöfÜðOùdŒ1©ZZ—ùÿ󱵉yu#)Å©L8WxچgvmÜ­	•™ôI¾ÿ"8||ÌÃ#/&&"2’ (ÓI&in!ãԞåQ23¯ý븠õن] +€ ¸…‚J€@ørž<ßÞ_,AÑäå(	L?½ä­—ú/ó!àÿ§þ›‚‚´²Ñä#.Y"0ýŠùßwÁEosnHc0D‘† ÿŽ->¯W¿ù'–)]_«àà{¬Çbäy1åæÆ|ˆiaI¥jM¼î„ÖRl¥·Ïn¼9ÒpKº¡¾pFjÄQ¦?Ùïk×5´[ŠD¸~—Rúì³·³—8;CœTjÀ]øí˜{4©üŸ Oí©6eÁÉ#)pQO.¬#)âxkç_,<4â¾—×£6öó’'¡Ú‡žóÙ+H{Åüþ,A;8C¨_#.Ñû¸žò"V“‹ô|ʘ œE@êSÐèù 'Õb‡A€ ‰#)ö󪀹þ-E#)ÉLˇærÒ¥$KZŠ_y°Ì[1Š‹Í^û¶ñZŠ"]»iò8ÃÉÀgc€ÈéD$ÁnÞFH䞅ãO&X†Ã–»sd˜ï3ªÆhÇ/?°Ä5	$¯x«Àð,ôcðàã—ÌñÃQÁׯœhúè<¨*®Ø#)´L¸{Y¸ÒÌe†7Ãò#)7¹€ŸÝÝòBösÛ²àö‚H@Ð$C	#)ü#.ìíDª¿ß”A‰A‰X•€Gx*À£Üpûƒ`Owz/Âùß;ê`K\ë…Dm¥©DP)ö€Â²¶×–ÄëP5†°¦‘„1#.ÂA؀ô#)¯NåʏôúzôèŽÝÚõ"ñ¼4¢Mõ×o•¹z‡©s’kšéwW+ÙÞy¯;®›ºãšJÍÝbå>3¯3"¬8#)Ä#.<J&-x‚8<Bjø÷ãß)3$l(&&¼´¡ô}#)ŽÆÂȧ×n†Âqÿ#.‹ êñcþTUˆ¨ô—Â!=-lÿ.C³ë\š(¦ÛNHx%#.2´§›‡hðÏb1-0?9%°Õ8b-]#UI¥¸ú”5èÕ¤éÙuƃYò‰ŽÀ82¶œíñ,‰#.ガ0n¸Gp‘(Tã”v lêfIš”ß?w¼å€x}|ûDםT=à`¯õ‰±÷XžAêývaä%òÙ-øš*êÒ)ÀÊG”£$6INM#)®¨"¤ƒmX±‰‹´qëÀÇbz,b`W½“E-©´¡Âó/+I˜eæ¦ö#Z?"MŸb¬8ý8%†sS&øŽš»Ù¬ü¿‰llc°õt¦> £k#1€íp‡€Þؒ‰[ë#.½%áۏ‡ñ8¿zôyø¥={ùzӋ,ô9	ñxÿYáôÈ·MD>ší&L0j¤Ì¯vJêÅÅ^‰Hyüì~?wäA¦2ŽßOw`wy-‡ èŸNX¾ÐÙ‰bhÈQùԏÞ鸣@†Øâ£ðTîïXãdó†³(§´NÒ¯w_s«#/DÂäÿ#KªÅ€×¹ùOÇK—i™¹.k#.43°¦xp¯ÉÝ´ýÐÐ̝Ó$8îÊD{`»Ø^„”ÉÕ@ù”J…m¶6Ú1KTdT¢MlU#.–µ™#/m’¦¶5“e*X#/#/‚e…XE$D~rWuø®ý~HÊðŽîˆ>ÐȐF‰iCÇ桂Žá$ÁêõrÑ­?#:h‹ÙF…¬a¤FœüoG†R£[Ø5¾Ï-–6ȕˀðõ¨uE±^¨$#.à$Ò257Лk©ƒ²bzf¦“ãe¨øXÀ0xÄpÆ8òž…Xjhi)î䛺\•_p±Æàzó~@IÅWåù»j¢«Ô!"¿(S©Xv3”ΛÒ0s¥Zƒ"ÚTºpb!døažŒGßôGÌaš0 !˜¯À€F†öâ c!7]ìf ´hÅf•™Uôg5’™#)ä¹$A’L´‘%*{!2JT5'Næ}öm¥㧁¹ÅC±öEa¨B€ˆ«ì^jx’·Stl"þ£‡lã7gg0P‘þdÚrÆ36¿?3B}ožÃ>¹_fˆH…?z¡÷ŸtBùi¿éÃg»Ñöý½Ýý÷\€çC+DœHfâ"$…÷yàۄÀÊL°¦Ö+d›ÀxNH§–Ø#/ÉøÞjHaŒ1(džÚ¢n{ù]_3Ìïïí³YÁ€o6”2ç)BþñEÓõr´€?‘þïõhüZÄóÀ Å;žx«mÝÕÙ2è†>”±¾ê‡ŸÒú~‡z›Õû±Që`ãu™(îgÛæ5	ƒ—-$‡´õú_¨Já pÂ.g46þfvŽÇk†ÂФ““f@zÊXŒj˜(¦N ɉ¼Ö^N]ó²ÿ_»ó£È`qæTœY²u€i"wi;K#.¨ß~ÂßÏJ™OòI#.ê#/ü¶×ÔvâÔœA™¿«a[HÐÝ.6¸›žk'Û3©àV#/|œ>/¼ôûds%¼8B`þ™ˆ„HŠoL'´ùÓ~%c›xLÑð晢Zà(i©˜³O9''M0jë`fþr)ÓÏæ%¤8¡á)HuÀû5Ö+Ô†ØS/¡âÕ†š 1¬QµYâý#.¹‹o<òk{DrAg/)H›B1¦\áëðÐRƒ? þ»®9ç3Ø…•bMÛ–¢˜sUkImD*QÃ7•Bf¨§nðYìHù´†Õb€_°ÄÉPø¾ÀöaøÕCÔýI¶¡õ ù°“oujB~>ßýå=raû#gø¿#.n®ÃQÉ­¥Li:þ?³·¸ôçî("Z<ƒ0ć"V†! ¥óü|wASˆ¡ÂX:q@¾íct´ç¥Lp¥NÐ	¥ÐÌK0„Z„ =õ‹í¢‹§*—ƒˆp7x™;âÔ™¿x?pÅU€ó-	ÆC‚²/i»#/ÚݝýÏðë” È8.•ú"dÛ۹없W®ëƒ¦+ä"PrËád÷xè“hÞÚ#/ÑÁúôiÆöÒøW’e7ÉèrKæÓɳ­¬´¾&B´#PrAãߞޙ$¬»•{ù\q2ŽqŽ<ŸÔ¡0ZØÓÊD±™d´&ø¦àÓ;*^ù5ÙÆJý:és°Öœž·Ô<_Fð7ÞBˆ„	6wSMWã~K­–5[ãv%oCŠŠ¾…›:g‘k#,´avé⬛Va„¢´A#.2Ü5M°¦W™Ï<G¶» 4jÐâû¶ÏîçZnëtÆuof~\L%ÃցXK9^ÊÞ¸®UpׯzžñÒ¬ÑXèHØ̋L‚ÎÑÞ#ÖübVÓaºSτW*àb<²|~8͇/Ïîû!¯˜åæcdj˜Ö‚wn®ó;v·«mLX˜Æ«¼’Œ­[†Øv®„#°ë;yíñ+2÷«#.ÑqsE՗&µ[~>ËÉmש¶;ºZºl˜By®\™·$Å#)çf÷™ó٢܀œ +¬òÙå’é­« =£°ð¹p<„‘áyllÛ³Ñqb~æ·¼—0ä\×>ñµÆ@£á¤àW¦ËPd$™¸úp׿+$àg6LËœ‚`×YGT8ÎýÏ?oÙðO3,;4ÈànÝ[«`=/s'äÒòKtF™(,Íí ^îØ!—~Ì݋õhkšSMZ.B²GT8HÙSfF±šð‚á¦øf$#/@íV:L17$ƒK8Læõ©ÝÖ5™Ž:&&$Ü;ûý+×Ë`°Îe}õâŒbj•JPVÛï÷}tõú+{6ß!ƒ" Áƒ0Á1ê’zÐ#.|sî{+„71CÂ0Qßy0É!“°³‘Ôɱ?×O ¡ÆÍcš#.œ×fhÁh;m.#.ë´ÛWI]U5ô‚çîR2SR´ê™¹ ÷ª¬à¿HÆ½†ÓŸn|uG—I.ü#K·ÎMƒ1ï^ý96gußJõQÞÐ7Õøû%`³–tÙy4Èd3r6 K_n׳3†-aÙ·ü¢QzCt‡£¨`V×0ZI AÌide)65t×dî·Rd¢,ÀC‘3<¡²pÌ0MNNHVBj0Ö-!]¾ƒcqwLv4¼=­®ƒZKT—sàxj¢¤€#/VQt'dzvœ ©¢(•&B@À$Ør¥ùÖ ù$ÒÐÅ$ó†×cËÃð:ñèÅðŽ¯›»Ës6ç88ۈ‚	’€Y=•ÒÊeeWÕ]v>ÇtNfzõšSSĚÁõ‡œíA(õÇgì7=x}û†“ƒÍ^Rˆÿ’ )E/p“•Ã‹@“†¨nï' ]_ªÐ­*ÝÙaÍh¤c‚‰ÍCF!nŒ»~Õb³~úI_8©RnSB ½3|	³[Fq'ÅM´-:*Ó^wœ­Þħ‚߹槛†$2*YÇ*å»rÝnÕÚÝÖò)yqw&6”1ÅYUИˆèÓõœìŒçB”™„×¼‡aó ;æ#)¾!SÚw!IC’€a"P>m“ìƒyå]BÑ.A#/„Ä#ó£põ¬Ë»*ú¯Àíñ}xª°¶ìú)ûª¯^ǟ5+Ù¥yè„? ÆϪb	Wžyf—åyšð%yd€”¤L“6£k#)mdÃ0nž`ø„HÌ}»5㬵ÛxãQû½úWHT	û³o	Fqµ# ÂH1R;#.š4Óuƒ0HL7±ý¶°­R¤Ù|g(z|zy··&<©™˜pØF»UÎýg8¨Ì·èM½z㘥Ž’µE2h¡P=G–‰G$hϘ’1÷‡5I®Pç²]ŒoÇ× Z™Oˆß#/š¥%þ̨I'9¸¦!_S”Ø{{‚ró­û%q	Ý#/d)#/>Rœñ8qÏW&›|@ùó9w.p.NÓÙ÷r#G‰ŠF qۊƒ7	Û¾1÷‡èþ3Ϫ{ÇCõpÀC^*ª“Ú8ÌV£#)Vy¶ÒR¸h)6—pÙEëƒ4–Âji4+ºl‡	]ÂRbÞ!ù è:#/,ü;Ë5rnP@ۚ(¢NIB<¤	d‰ÅåÎ÷e+ögƋ3ØÜtÛíÇF{S†‘)|ê¦B‹à<ÆqT ž$.¡¬˜K!L!#)È$”#/ãl1‘Ù|ÌY‰žL;µ›Q²VUFYH#/7àqSWIК¡en6\$Ľ¡¤›)*Æ«x¥†“hcemðÖL#/xÎ-CÛ]Ÿ»µééÛ^/ É>¨>Ü÷4_áqè6ف“ˆ'ׂÁv8óô€Q‹||ÙQÓΡiva-á}§F”ÚÌNJC&`ÄFËÌû˜,gÒzËd˜@Ø©T1…1z»PžIó0vzŒjáétQEvH[aÄäpÔ=ë4,ñF(Ž&¸g"Vè<'6h	KAHíãÇÕ¹†ë¦ÍÇ6ÚVd6p³Àâ9¬Žê˜@Š‡vP¨ d?Ndë´Þ„Ne²s( U¢ˆIKÒøúÏìHJˆJ Žjy€O2™ôø~žn¹Óba_¤‰<Ó¨lÛÉÛDÌÌ’êàWhÚÜåŒîT§Õpg&¨)F""(´]ºÝ¨‘bÕ`–&(~4`pS#.ÃÓQÆç‡ëÍ‚(,Ä{¤Ð3 Pžx9ÉÞÁý×F\"°qcƒÄJqS\†%Å`ÈDÀhT#/=bQ©2ÈޖyESdq³[ùnР1‘:’yÝ狞¯Di%ì	#)ÂÇ$úðMž‚â,TfrOÛÎ`Ú0öïp‰Ò u½¦ÿZßt4ĸ0†‘º©@øÝuçV|Öéј†'|W¸ØA %<çwv“˜ˆƒ¤œÃcvZÃ9…"§˜½š„[&úRžÍ„Ýc½}#ŸÅ·ÀÜ`³§·MØç-'„Dm¢€24ž2àB0æË,¢C¸')ûƒOCå‚x°=BL‚š2	•îcúüŒAðhõO–VNmÙ#/v`Òlu¨jG,ºdԌ$ՌèS¡.†6ˆÎýbÆhÔ0eV"ŠPû³ÍÑi7Õ@j{¦ÒåRAq“väˆiÇj¯DBQ„é™­#/°¬ædd#.²Ö“be¥h¥(`‚Fi‚ié”=‡iê†`*ê€Ê*¢XôUٍ´Ð°<RQ֒ó‘>ºç’q&èÿÉõ#Ão‰Ý¬O´oäÝ]Œ(‘ÜL½dÈ¥7GðJsqÇêm›!¸¿­<©Ph+wb;Æc+gWtF„¶ïtpï®ÿk?ÌÌcœ‚qÖ#.bÃ~u#)Ã	`'@d ¦É	1†‘	ï$g±Êá#.Ž4¢ 6ÍlXW—Œ &ƒC¡d†©·7@C³…»gDƒPP›A±#΄‰Bè˜-#.`µ°‚’©";FÛ/BkLFØ̓DZcð8ÓThˆfáÈ4Ú5ìJš!8Á½®X®HPpLn;`—ëéî%Í?•§_©;wÆqŒëÌÄt\b#Tfè!UÅF`Ő¥1xäÔJ®›‰F»CSj$þ`¤4Âé¡ï698œÇ¤³Ÿ:-藇p†ÀKz{ːÁÄ(“‡Ç\›l³·ªa²ȸž:tô҃˜s,1‚ßÌ·|0Qó&–=r!¨®'°Ðœ‰NRwèM¹çÊTê;°vë:s	#.…ÅUV˜É@c‰Ðã\Úºê‡Joãƈ܇;¡ªNaF“n]ZLb]7(áh”MŠ LÛcLYö2‡#.þÈm²–ÈãǾŒ<±V}%ØO“‹vÁÝ¿d敻a¦6‚	4øRÌ.Š¸‚t›˜ªl!ñ8”g8œÇp&À8¿ÚæÈ)hÜëøs6ÃÞ&šÑ]¤ „³2L2XgBà#.Ïyd[qÌ【	H“@À|CHðZ#)ÄÏÑ셐Z÷¨ªt6a¥„.Ë8¨ò6fŽ{ffY²Žo&àÀ®„M½Üö#)ù;t]ä\‘XA@hÇ=²dßB0«5 ,RIR˜l#¹¸ î/_‡HØ8àA%`=t$7‰X40uRÎÆÕ#)îšú“9)ºœ¶ç_Àžh)  Ȏšž%õ€WݼßÃOäm5G»fI¼–džò÷Ss$ÿ)ì’™.‹ï†#.Œ´V¥sڍáX¼ÕøºŸãìˆ'r@F ›«Ñ ±Â÷`zTÕS4–-_SxÚñ&Q5¢¶Â¥¤r#)JU"EZT¤¬%Ô¢êJAÂ01zÏ¿„ówªŒ„ð°Cç_™á‹RM«CØ$²·D°otóYÛ¡#)ß(@©¶|¼a¥NãÚûWܾ}&Ûo¯%!F ”ÉA¦Ô†d™’ÌRm‹I•“%m(dŠ6šT!%4F`IQ’³$kæíÓ%i4lҔ«,Ó(É‘F€Z˜šM¾=Ú ±³B‘$RI,¢6£$ Ôh›%%‚)LQ˜¡1VR¶Be”4Œ–FÍFbC(4$l,E™ËÄì@×n”t:î”h‰zÁ٘!5ÑTÁ2O…‘ÚN»™Ž}¾ÚèV#ü#/ãÑÞ²ŠF¡J&K¯ÄåYÁ‡RC2ºÖ³‡2¦€ºO¯	ªY‹4czKë'sLI1eF{Cv!&ÒÎ:câMÒÝÌÃa9˜G#)n¢¢lËEŒÂÑËm’/¶œ¨kG*$k¹ñ–ñôÒÍ£IpS?Gêû9çúƒ*&;%M m°Ç*1½#)l#)àxt_ˆÁ_=SR±””Š–Ò[4ÒXѦZ&ja$LLÔÞëÚú;áôîøžÜLÆ(Òq8—ù-ñî5ê58·ZèzøiiðÑeàL>ݹÌ1‚&’¤>{|0¶¢ž—¦-'QÀÒÚ¼Ã	†LgàŽ#.k¸êØǛ¥°f_rÑÍp↱©Ü¢j{gÈ4kûŸŽ,ÀG‚7îÁ{•="@Šhû˜¶~K:‰|9:„þ#/˜uQaB‰“‘I!¿‘1èí?çùiÉ[þG^ËmŠqzbóÇcÐÉà©r×®Ì'iGw”ņ›¡_T‹Ç{šÕ[ѹu°èÓ&lé‘6½Ì3Á„–׿8]¿ÍhôGU´â<“6ìÿ^&>‚·¹ö 5śûiï¦ýyå½zK‘¬ÇCÉn¶­ÃxÞàæš#.OÚôk2`º’a&P/º`çî|n×g§KŒùè»âCÈÃá3‡ÏNa¹j{Ív\y%Ù òI7"m™^Fû”e5uvvZ•OµÈï;¡Ç¥·zÍ-žª`—@žèsÜ÷ÖN#ÂHK½O)“AŒÌ£½N‹«M²ènÏ×2R™7;¯v@\Ãs›lêLf—­e3Eš,~{òs„pÔ3i.v0ч[‡E`Ç[õo2#.›`÷õ0Ã@Üà²ä“û=Cš„+¬!©LZô,g`öÀÍÖzp<Ø“õ¹ìÒãy_à3bh¨#.£°ª§~wiSj­ý…/ÓÇÒþM3r«a%&P¤ù4ƒlòƎœFN›¶ãݹ¢-ƒ¿ÛÉ#)Á'0Šc†gi¢75ܛiÞ3ŒälzŸ#ähjt'n:¢¾¾#.)'C¤…lå_ß#.Üø\@oíôìBLÝîñ#/Ý¥(„:O ÑÁšp’BV6ž¨íhŽŠ¥„0ƒ|Ö¤û2;ÅãXMñbÞhlɓUGÑ{Vz¹Æk#RÜ㮡º^_ªf—\ÍÌ5/2åÐóL£BҖÅ.K¯ËR½)LfŒ{fñì¦,ëÓ3Dt” ….’þI‰zM!ž8y/ˆ[‘µ,33ËL,¾™Üêâÿ8Põ‰ru/œ™‹…ÍNXΣ92ˆL3H™à])éjã<¢Q¹¤ÿćhž Öյ˿32b]eؘé/5Q…ƒ‹Æ3dîv]Sa€–R˜fsWLfKڝV÷-Ö*MÿlàˍÂ9THóˆ3o	ˆGa•¡ó¡‰áÙÍ'˼óÜ7nø2ÐŜ²ê;Uq¢6§$jæ8ÝîuB	‹‡<Íâ1WLÈWÞÔj2a2&¢ÔÉÝAÁ׆ç3©“¶qYÎÈ>.¯7ÍÚ?»ÕÛ²ÞÙ'81Gœ^—|ʾ™ƒ}\ÚÔRd+ìäÖn×ÎÛÿ“ˆ!öìy†(¢)Úï ÚÐp¥>$‰çf‹l¤Åü»Æ!bޟôN§8|ñ½Á¥·8:gW!ä/>7S¸’xíÇ)Þns/x.ï>¦4t€I&ÚaÔ:ÞĈ„q²fç¡7Œb§#LüŽT8»ð,ñWSyvƒ:¹ÔÁÒû›pBÎ{ó'%¶:„<n	GtÆïvèç£w^ÜL;¾۝“·àwÙÁnÛA›¼²{(ÆPïU)ѺlââӁŠ*tcŠiã3j¥ˆ	Š\4Í(,dÄB,¡åijíqW¢ð¸ÅCîoq$,p…±3È5µª¶92D½žpCgV,7Å*h(ô4ˆÕYi»â«Pzjkϒ˜ˆænJ 3»š˜Hhîõ¹«uÉ5„uŠÒbôáˆl¦!¬6‰#-¦|Gnû3S•®Ñ[¨ùO,º¼jT4ã}ø}ìH\hfngW—~ˆOšMÌæ¦/®èL›¢ç‰Þé°È’™.ˆãvVͼàʕ˾莈uÐG4ç&ÍSËL1s‘º›²Î,ˁs,)Ëf6‚hHè;WPАìO#/÷Ww-RVˆ†ðéÓ{ÞlÖ ÇÙxPVI†‡Œ証pçHÜX¹•¢@G™°D&ÞÞy[Àªg‹v́¦QAÃå¥Áa±·J^º4q—¬å--Qi¦›Œg*XÙ8#„9S"†A‹LòíP¹á#/°H§)úé¹yÂè*Ðí©§$$™?÷[²™•lU”«!¶û»Ö›çs7k?Nò\8|pbٜ9úŒ—	xñ«¨ÆBŽÂ3z~Ìb,¡Ó»¹s…?À“O˒7‰¤„*ãn,rÏ®ím]j³£#.Ë ’L(ù×9àûfzdM®xƒx(á˜àùÉGh,¬Ta¨µa©aáazÀ»á^.²ëL¦7é„ÒI8ÉBn×á»GŒƒèB±Ø£îɨøöP>=/•Û¾O>`únîæ°Ê[«;rö]n„}Éá#âõ(Núví3x·HÄa¢ÑyÍÕ HK*2cV1™’ïÃh(¡ß|c a›ÑuŽL‹ƒ%¾dŒnE¦pÅÇ;©ºefXÛo‡Ì4êd ddºæQö2½Üvï%ÜÇMh®Íٓ4Ìu¹kDÈJ6ÉFPw1fûomYah£3Z¶Ú™“¶’²Ãƒ™ú‹¨¡n-§@+DñnulÅ[ÒøñÚ6BlÛêð4Nñiiäa¤·‚€D¦ˆ`Í=á…ÔçqÔRvÈٗ#ڋ|ÕɔBΖ±£¨›ÌJÖîÛkÆD”6BnË[LQ$Ô¹8Xšj0]#.I€‘ªðLΨÔ˜Â-1FL"&ޜ—Dª%	ªtM8‹…bqLϑgö1y®!ѶæÕ­·ÎyÉ0&A·Òm :‚\„±¨BŒ	ÝŒ:tfù6¸#.Ô@”Áç`#wVHwξìoßÒk€è#/<q€#$WN ÅÞ "&$.úž#.5ÂrÑ{bˆðàÙF”GX@põÂNbA­Æ:†ç‹:®â'<‰	C29ñ›w	7“‘R¾ˆ{ö3%w&‘b¶(ûXŒ#a®‚×¦A¦Á²NÎeM2:°§“#/Þ°áÐiÈÀX$È1anC…BÒaÏX…Ú¬lQ$#.M5†#.´3UHl™BÞII#.’¬lڍ’MUÑÂJ`±MÕ<4¬‰›¢™lÝ-“Y‹¢Ù³&P7fqG'ŠjȦª8ììÔ†eÐÔttŸ:˜è?X0¤F¨]eKÁà]™D7F!{µI©UNØ:äuuGç´p0ØàØÞÍ&Ó¡2jlkÖqÀt2‘&‡\!áò·¡k8ÐðÜB†ÃŠåò_ÅuŽ‹HsCº‹i]wCÃ™Ř c˜†ÐdÒi´;¬Fh˜iBàÙº5ŽlÚiÕ¶yx¦dC2rHâhHHQq/´ÄÉfž^q(äCøèµêP…Ml$H&ÓspÐYª®9(yê…âì>‰Î,	‡È„/(wÇ¿b‚ü_NÁ:ƒK`d¯)h"6$4Dý#¶Cºž]û†»NœÅžÆŽ˜xð\¶ ˜£¢;y[â÷dyˆËiŽó”JvŠ!¶;	½Ú…Èqç[¨Ìt&#.ŽdCQŠ#2„:Št61H€p¤à{¨¨7:r䴆á‚÷"äMeŽïrb74!#.Qõ`½,]¡)TD:‡9GL¬†më¬Ò½©{^A¾_a‰ÚNKuĝFX`‘§IˁˆD+¦RÙSŒã5:Qž½g ‹Á(Ž&f9®zM4Î3#.‰¼ã	¨ÄœMFáÎ(L’Z™¶Áa:¡ÇI3³dpjЮéVBØ»´w±8Ùcƒ PÜ#. æ©¥¶26Ƒ)$sËãß¾Ûã<É6	/²Û\]ŽC€ÄÏÖÒÜ)Xа:ÓÁ$ƒgTXix`©D©õ°˜‚Y€Á´(œà½…©¨¡Šoõ¦"Œˆ¦ÃÏûžõ?°>ß?#)èžTm}WUÍ3Z22#/6ÊْŽÀü¯ônRô ƒè0Aá(w 'ŠaÌÙ%3?‰#.ÈÂ	”–³DÀQÃg€.êì›i¨Eх®¥ý±{¾aðê\Q¦FO>8ÌÆ–‰µ:85Îâr9ÕçûŽO+–ú¾…ÏG®èv‡{©´"ʁžª1nð¸lrN.™“8´­S˜v!Ôôvv]Ð6ŠäÓMŠ {‹Ø¿iˆ`eV$<5èB(ts1u›Y™‚¼¤ÊÒò0ßj`Í°¿t4%AÆbJg¸ý]x¨Šì8á`×ñl›C0”D ‘;°Dˆ¨èæ ðøB`î"ù‰#.Ö^¡6ÇO¥7Ð÷qÄR¢ÕTcׯQ jÓn“„}>žÀ8)ÁbýÓðØMŸJ¯à½?_@å$û$Ô:5DdI64•×vg7D±mÒýŠóSñ)³	Ê\ƒõªJ¡â=¥÷ê]?Ì{®ˆ	بuˆviü[‚#ބŽðO‡yÜñ$îîÅ윅ñ6Ú_´‘þDð'\Ì	È>I¥a&ùIPÀÒa›ìj7© «ÝCý?O¡ðî«„ðÔÔ$­ga†Óy®€™!Ñ+«'9ZÒÄRVÏ –P¼| ƒ7¢½fÌMvd6cê‚.ؔFŒz# TïÐÚäî›:3ž',Aâl»)º©>>‚?ˆo¾)4·ÈÅÈè8ùµ“Š/0û³éûá£-u&µ£‡3à}˜}ðyÉ%)ˆ+lm’¥+FµTRÓ3Q&6ÑfWÆ÷ÛP"Ž{蝟YLJCóúQיO·«Íä¼@ÒN†!<¸’C÷r8yÉ›ã¦~W{`¤ãS%	©T4iK}dæІ 3R›Ôaìž=37ƒS¬ñÔZúݤÿbï¼Àƒ;¥‰=ˆÑ„(ACôJA)W‰¹‹ªKêUHÜ֍ú»9i« ØV,2¬ëª‹ ˆ¬Ðë°ºpÒ*o*lBBr“P%¬¤Rj¥·Ÿ´€Ž#/Dø›íøœ	F(Ð’=7ÁÌ̃”T2HŸeüvÈi«ˆ9—;óŒ`{‹Ž“ ›áª·Ÿ4Ö5©ØM¿óXM”ÄCV„rú»u#Lä؋#)²k*•°ÙÕÏ,—$¬R•äŒkÅy7ÔW¯«ã@4Å·,ÙÛJI‡™u1ŒMÈA¶ÈÈBû¯aÄ7ÈÇÄ8Ú㌢ñɑÚV•ÚS„¡¨4îӖ߇¿èûÕït8{=æ;l‘ Äê\ы:1€È¾õȆ1b[1(¿œiZ€ÁVÒ«ôÒr qQA†QyÃh?FIîÜ¿c7F¥_N·“œ5T–+¨IùX±¡­0Ÿ”K•Ã‚7ÒŒ35oÖˆC Êlýœ£nߊ6éÓJš[ŒimSÏClc]º-Œ˜í¬n°62´6&$ih{k–qÂƍZƱb‹ò"gúôÔt3¤3ÎU3“¦„ãӑ#¾‹Šï<f6]s0RÊ´<l<5†æT€wu8~‘€Véú4Ó‚«ùÄÕ#Qùöɝ£cÝeÜsmÃ؂᭚‘R䙠d;^C§:>#.E„"bèsµ#)””Ðœ™Î™È’Ø.BPsONšIDn.Ÿ¶ʑ°8Ëwb‚˜Ê íJ0ÙÐ΀™xô#.ÍÕäǐ‘¸B¦‡#);ƒ`¦Âœà@c‚ò^FÀ!·4È‘@¢’Œhì‰0l÷Ç`oÓs‘‚Ãüè°¤ýL‹Ü(Iá×Ú^W—Õª_äúõšú:Û}‹œÅv¨=GúÏ3ª„?\°¨¸}Ç0ᢙýþŒà#/ܾ^yCgû	9GD#)H°”œþšŒkúî˜Äƒ4CÍo™"€Á3ÌÌÈ̃Ôuý˜£B¥"%@£ï	“슘‰ö¹ú›‡xIb‡·û§#/óúàZ¢§5ßê?»Æ1Hûsq»‡N++ŸñÜL”µÙñÙhâ×A±UbW*œ9g]8c‡}I•º™’Ój)%…«§|V)³ØL>S‚Üj¦MØ’F#.äÀ<4À`CÅLeN^ӊ†A”¤AÆp1IMW0·î7ƔөiD)ˆzºŠ¯Ž·zè9²LSN±yâG#/ª6©#.0åØìÍaÅ!#FdËÔCD^e±j´‘§Q󦎾0½”¬œ9ÇG#.#.‹ýn@„t~npË$OÝ<PmN8°šÅ)ón4ÛÛ†nµ®d©X‡3ª—™Óî"1&JðÇX$©ìAxJ3’™·Ó)N%Ž÷d®'΋„“"¸™I]5ى@wM¶Žƒ$z8ÉÁâ¸.#.–g°ßìL«ñZï#)ÐГ2ó³m	ÞÙÏU£ŠEÆXrfD8$Ž§Í8üÍÖ¥”„aâÔnb£…ƒ2¤Ø€´†Š7[•µÖj”)bÚøW<Hà#/ÄHÒ7ËO{¶k^™5ý-Mè=·j„r(cHËklŽ]µ–w%Û®3YÎשιÓ;‡tÇ]ÆUå«¥A]jí%`Ü®ë·wi^wJ¢d,Kg#.RP™#’¸,ITºsóòओ»¸c©Öâ½­v«xØÊlÓ)2&ÍlVjh¦k©jéZY¨I"e‘ZH÷û»®ð߄HÓ5£RÕ¤¨ÖÊH#/‰ð6ùüÎ0U¶Ä¸'$S#/çMΩ®ìÒhtˆ'yá©”b#.„P(1Å­'l3iAºN'tI.¡Û]gÎÈvdnÎÁ‚$6#.¾‡Ù¤ìÞI<€#.Ï.EPÕÅ_8¯ÅÂ#/C	¤Î^C‚íöæadÎfˆaY4}¶uI©6(ª+ÇM±Ç4ÅS´›hØU#.„ÙíJâc°ã{Â@ÀmLLLÃ[`;²¨—#.I´JFæäo#’K˜`¦EÓª;0¾/SqìÀqŠ’*fs mMX‚ç0pßʤ#/)¤RÚ[ªi¤XoR£¢ó]&	o5Xï‘zóD!¡7DÇ'4Yn=‡ÜÊíµ­êÅә…Æ9fWhXòtÐÃ?>Oâ»?D¿øM+Öð4x{#.`„0èĢ֜0x†ÿ>å§v"ï*U†4${Ú@ĉ†á‡3ýAC¯âÚç|ðP»Tt02®#/Èdrp†²@fÉÉ/ñ"a‡G©£©&èm<¤íüÓ¦ït±ÆÀ·]]Þ´?@?Ê£*„€ÈJ§³åøžséú<Ý(ÚTìŸÃ†{¶ÜyAOÝm¿*8{¿°ÔþŒË4,¨*€ùä‘G§dSXڌi,Ê%Ië®Û’7msDe(JšªbBÍB‘,¤ŒJe’ÊdÓQ”FÖIL°–¬³jI‘Sj(­²Ö¥‹Îâˆ$Ì$¢èŽ	ˆm‰T¢1”•jbU4ڊةdÅM·á­n«â䊣I6Ak“Xµ«d‚U5V÷+ªm¤š†¬yç^Y¤Ë-,£&ÍXV²¢{FU¢–šÔ8P뫧Ñ¥TÄ+•v³T›ÁušËI‰­¡*ÜMqˆM!*×÷·mO¦n"i.S]þ~. >±ë†ª@6XTy¼ÞV}vj-¬ÄgJâ×rŽI¦ìÔÅ%’a6ïMÑn#fÈ~¿gOÃî‹Z	f+媻8a€ÛÆÐo#.4D#­ðá(#Àª#.¬&(IH¢i¥•¦Z#ҒÛ7Íhô{1OL#Â#)ŠŠ)7…G{c#N@tÌL!„(”™#)P*aۀ.€:ƒÎ œ°Ò×v£Á	æ¤&@5ilÔJm%%«Õ§M!Á*	+$À±#)ȦŠT–ÅLQ-²¶&В”ÂPÚR”„©3e3,B˜Û%T‰´jMIRm`ÒkJiEš	d¦¦)F¢KRÍ#e¬VFJ"i#.²ÌJX*+eÊT’P”e’“)3’fM³j–Æ*‰šÐd*’jSVm•­K2jY	 ˜‚Ý%\¤P)€IH’Tê€S!#)‚QÞCK P™¡¡`•§œ#)dŠB I™­“™:6CþI_TÄ7›§ª[oOga½ñ~#.qr¨7]tøØÀ#.õ3ŒÒmbßk6mQœÌ€:"y;:wpIJ½áìg“#){b¤¢?ǻ۷­nGç'¿±T=ÿ§ùGmшH¨=Û¨h% Å~Ï/³kÃg^8bÀ€ÍµšËîÈÏUЩ¿n@î!֎ŽY!¾Û›‹4õ6ëíýÕuÎ4Hѱ‹‰/1P™%¡¥FÄÒÎaÃlÁ;À”5Àï*¦ª{@<[ÀÜ6!­õ F—ðf`ë-l‹pF¨à½0OÕU43èG@õ(Š¸Ü2¯.¥ð‡xü“±.3Aû¾AïMÖ	êŠÄ©(wvڏ+y“4Ô¾•t~#.˜‰ÝSÖ#Èòé§ÞSÃ#.äê‡0z¤¥{]kÈ@™!b{NÑ6r6ßÕQ­»Ü]ÃbŠòÄûªt4I}XpV_|!F{8›÷Îkò@°I¦ø,Bv²Ã96>ÓéÒfwõCÀƒ£œI2ÞGËc#.²¨áFEٝ"‡o´Ý8\¶Þé±8˜ºŸ­BK#)è2@<!~›¥ñ{½[{vÒà"¢¤]À#)#.Qj‹mŒ¶ù*§o­­Uß<¬C@1Ô	€f¡À³31Æwæô25×)xóÍ ’ ¾ËÊÛ¿À÷¡¡ei9ÙéØ èâR8%¦ÔÍw|ÇN}üJ¿9Q‚ñ‡?.»¯ïff`;kÉ6<Íˋyþ+ÔR}Žç¯=퉐Øô†ýŸ0äbQYћۢ!µ.Ô	d˜ßÄþÀq伃3ÄQ´Eø‰ú×µíØ×¥ˆ²‘^NÝы\‡µ×¥úvåËÚC߁Ø&CeT`1­1²m„$,›2%PÉ&š(èØ`˜ÇˬAZ‰"•(«Fã#.‰•ÊÑ#.Hä#[骗#Zp`á$„f¯Z@ÍT6‚&iV*ÍN¹#.Gm5¸«E°M n#/?;ŒÂq$Փ#/p1qÍaàÒ·ë 2ˆÁ® ÇKðíMl€؄”ˆ'¥œ–„ý>°†³›=°:õª#.ÆJ-p*U0Íʱäq‘Á#)3o#._ÛqdÖ=‹&#ØLšÉGs!¨9$ØFë2;ÔƈÍËl=ÖÒìLi„jM‘]q⇗_#)ýޒKC)Â>ÖÕûüåÀd{Žñ€nx$và,3A®X°)kóúaé­ê£’b9hýù§Qo„}àïzîß”¯qWÞ5¬W|ßQƒÇóu¼]0иXˆ‹Zꆖ8«‚¬]š#/#.kßಶð·eÎ}‡Í…·ß‹ÙkÓpÚ°B8míS›Žæç2‹"p껚óV#¿ò*LïÚì PáhjCi½ý”h0‹|¤Úÿ=1êX!“*I‡T“«’MΔþى8¦~/zź•©ƒ#Q© Ðœ!2Xèªbmt‚&U¨8°`ÆYG¡àf X•¦Þª*‘*ÐÌ"^Ó0án.gCƒÝÏO|ê’á‚.ŒGV,•Â¡T2`ƒÈäW:áG˜@Qudiº¼âóâ.Zѓ¦ë9+*ZÓ«zŽÃœE,7DÕ+^u“\)¥hv©¹G¡ªƒ:ÊS–KCR,‘¼ju#.NŒ;¾öíõ&}HÑ,,°¬‡†deØpL–ª:o,ÕRÔɚYÄTÅ^Õéüýû ùŸ§éÚ©4¢=óÇ̋ÆÉà†‰LìҀÄ©4›=‡°Œi*&”qëEƒuɳŒTf(ƒD÷gŽ¼ì6ðÓ­R=ù­j,a§a;è«:MGJ$†gÃ/MEÙw^«Š×TÝDtríÉèeʾì1îƒ0¶Úgüñ¶Fìí]*‡wp‡Íèﯲ¦¯†SÂzq©<f‰R`ÓqI<_yË:N2µfê—¼Âǖç@å±àuÁHØÒD)’‘×C‚/rí4?.„ÌHØÀñ„Lì®`/ÍãÎäÎb΍|xðŸ½Aîí¡8½àKÜu˜ˆ=ûK‰"ã#'oQ£!¤ZJ¦™¯9YyÞ÷uǺӑ„ÓÝ]ÈÀÃ9¢®³…ƒœR#.æLÊÖhŠ)½Ìu/«¾3ƯeÍáÙp“¨*’Èn¾“6²"aª/ÂíÕçi܌EÇ®]®L¦étÔn¹Ÿiy—®õ¼ÝÍ#.#)ävÄJ7*R(˜ÓLí!î™Z4›ì‹aÑGßóM$”ͧÑyžhû@ô¯#×ǖÑáZÃsÚüS×њߏZù òß+х\zó×¹ìÁšÜÚç@'Ò`	fÀAæ[:3}±JxantŪbš­ajb›u‰£ùþïBoõò{á†>¼¿¦ZAÝM‘Ñ@òJÖ‡ÕÊ£[“l`/f²§-N>!1 s/(&s	`1Y#)ëØÃÊ)#.„(¡Öd•²Läq7ðèÎÖâÀIIPKç‰b!²L8©…¾dƒI¡oˆfa‰Û‰“jʪְÙC`ÂqA+yf(ZiŒÍãM«01%ÈpßT¡#/ˆ©HÑ] Àbi°:ôøN¦–Ðú…ë4§ŸRôî{î#ïü}|NåPd]þï©	¹¾õøÎ}YÜ©q¦¸Àætî;º‘{½yx“^w%éÀҘÓ>Ü8°f豅Èæä†È?ä±,#.1Nó×¥àAčƒ{Ó¾*´¡¨	ڃUk”XÙ¶XR›®.m;®”Ú5{æKkšßSšÄbĕ^K\µ{R­Ûï ÑAƒ!_Ýþ\Ô#)ÀŠmDÚâh7Ù0­à;äÞ=Ù”YûÖo#)Óã›G¨%¡®±ˆl(d‰5×]"É>ÈhB¢§¯DŒV¾z×#)#qZ\B,!Òn'™©>‰fĜÁŸ°üÍÃBdàDC¤ù±° —=†‡¬íè´Rm ùÁ¼#)(#/#.yQH‚°m‡×Ûv~º¥"ïS2k.G9@žã¨G§qçñÄþ>¬±•¤$“0À)	©#/H„¡#/BÅAÅPëûÞ<í»Lt ¦8FâjÑ.èxa‹åâü{ˆ^­$,ˆÇŒ‡ ã¥C_‡Ý·iö_Qvá’	áÌT¡üƒŽ$¡æÑ£Xøý½]À÷IÀömú:½7Tô#.Ór]Fè(_/¼é¶Ê¦¢®HaýRg$7W¯6Ÿ–½VŽ}LJ8¢4û¨ Wª#/JU?R<€ô÷Þ\ *-H¼¥ÕYsSï¨çcÏjözkÎR?tœM_<"V3îM½3bŽº›II݅¤~è¶Íôm…À†ðnãa Þë|ÃÐLï»ÞV"6·íæö#´pvv/€¨°³J	>FÞ©èr·`Tg[1n¬˜T’k¾î°þ¹iÐAŠ“yÄ¬/`«4;;ŽÐ!µ|‘¶rfo:ìÃò›®À>¯­uë%@b#)¤ȑ@†„ÁÂZR0pG%(R8‹Ú2#)m!@Pá&BñU[øO¯^!ŒkZÑ®úRÁÀŒÂrÇxM‚ ‚ˆ‡‘Ù-cP,#/ÍLj=pu7{1a»ã/Ñx1ݱü§‹v'Åù¸s|áx=çAðÓÀÎå»Ì{#/<ÙT@¯‰â„<ÆÓ{àÑ#.“"ª¤ßöÀyó#Að?›ˆ,‰ïe¬i²Ò|út`ŽE”C2{Û#¤èløœ’Ðì9hãèC-c¾µçZüX~<ÇԓåÆÛÑÜ|“ö,旅‚éà#/D›#)ÍîMòã¤0íÄ#.f›I¨`ÜÝúN®W£õ}G×÷ty/^ݱ	Pf.¿“ZMåÈßs2ÉÊ@2£a->Œ2ŠEM+þc?’uŸÈÓ)’d€sÊ0æ#.—«|¤+„™ü¦)–¬Ö=5‚íM™ËNJ¹á!iºB™¾Õ—DY”) n…$ŒèD`ôÐءÊÍ&:‘J£´d<–’õã«yÍܽž¤xˆ¬ÌD2R…¹a„`2„)M¤4Ò[xÒÎ cM-RšÄé4C'©Jr“„®ˆ†ª@Ë«tÿm—µI p˜Xš.CQÈë­0e² #:<cy27ÑædU4V,k–©½PÖDîQÈŠ¼^yÛ=yyàŒ]9ȶ9j#.“nîÛsjå2½zïOFOR€¸bcJ#.aŽfä3™¦pÕ§X•hÞDºƒ"íþ}fe„Œ820³8¸p¢—/2д™Mqk:7Z‰é8 8PÒ½°&¼,£ÔTڈR@RAlL»_<âÉ#.½GÀV=	æšD?xêÄ÷Ÿ†hê¯~œ— ö'24~…öÑ휢oÏ5JÉ3HS1+E:°TÍf&ŒdÄÇvM_ð¦Á¸Ÿ×>;gYöžG¾=Ü^*ö#)£àsÀ¾°ðëœêÁÂÕ@›¨/åRúOâ D°ÊGa2ZY‰6‹5¼Ú¢¼êädÚŒ+¹[n¥EX“Š1,p!!\WR¢tB@Ò04°zŸÁ7c£	ªQh¤.üŽgëž…“ì`#b¡‰•ùÓnc_fúEƒ³’/jz:‹ê¨bÀåk0‡	•\3¦#.A"šÃŒRvl9#)…A¶ë“	›®9éùþ|uZ/:Òùρõþ^¹í=Æð‡?'œCö!¢âŠb‚ëG«®­â®k—½äYXª-y‰’BäÃJí!Û"h#{¡5“cZ͙m‹¥cbº®À(S†ûFø8ËHˆG]¼ÝÑ¢“#/I¥6©6ړ#.ÊG‡,v¢ãP	BÖ"–¸å„,åøÁƒ©¨œ‹[FÓF#m‡Œ«Hß³A¬H²e!OŒð@ƒr”Ý`w!Ý-n@;À´è‡¥C©J×.%AeŸv–4€œP%s0àþ•Di ÁŒ©vƒúC\ö8scl:–;VLCì_J@â°Ú7w»G¬fÓU=§10™æÕ'wGeE°)kù{ºiðґ}ä I±Gìó'Kj»”t1.(:­õãAU ¸6õâ{€û˜½í$F„ìÝ3dÞ‰û;˜s›teõÒoLPÄÓ؇P°Cà GÑ4ú÷š²ÀÅÌ)(ٚ™Š”›Z6Êif5i¥e<•ÒZJ²’ ¢ˆJŒÓ邀öútéЏ’L·YøNU P`«	}šŸ?rï>}oWyB7GèGñò°ýç­c6âb_m”ùôa†ÉÊ¡1š¤.™¡­yÆìýò¯	—žxÑu¾R€¸š²k¶úeG¦Õ{’ ŒŠ º,TIA:µ‹¢H‡xҙÅË¡*†Îƒš¨\k›´5è#.2<É{>ˆ	ëø>¯P# ¤ªäðˆîïËêéÛÃÚ}_=|û c}ÝÉ¥_oYùôN‘BÍ9°‹!&̆Iþß׉$žÎFûnuü,ò6än˾»ÀÓê©ÐSù³‚ˆÐ´ŽÍ%’"‹èÆ×H?DI¯ïœV‡£TéfÍ@NܕîkÃE™TüYˆШe4a³ęˆ¡ƒw´”{€’~[pþÍ;¯q»ñÚL‘i¤#.&ÃaÕ¡àëVhi¹où¢T⪈Tgeö}“Ia±Ä8™©¤öi…“¾ñ“òÄt¿Š-dµëô1Ø3ÚÞYXÚ_+Jz5®ÉݼßgÐ"؋HÂPµ&’DÈÚ¥ZZ“j5£#šüä݉4%EK?D­sm™•M”–ÑQE0$"¦šFh•%FQ©¦´›Q6+FÚÍhikH¦k-6k[ˆ¥J˜™ýϜ@éŒIþ§ð&“÷€uÚáÍ"Nh›€<#)˜”ü¥L„(E1Œ•G%hÉB„#/@¤S q”Á¨€°$ô˜õùû8‹Ø¢‘Ò¤) ¦$ö!;#/ùâ“÷˜^¿¸ØÆìïÒ¿_^PRñ0,"5ñqƒÙ†>ß¿bàå_NÔÄ<лuõ:	]ŒxüUWËt¯üï#¼!è#)È”~P“Èçا֝é§ú’N?%ýà™™a`ºC$2\€ýPìB†ÚÅ6PïÅ~ ½¡¶ž;H’iñ{¦Ü/íâYÖv]8í¥P±Üò½QEzu€tª—'…ÉS™&®	¾å¹2{çË\&¿¤”#.¤…Àñ?1öù‡Ä“Ґ9ð7}Àøž„Âs¸ë<lÌtXm©ÄÀt„êxy¬è$æ Q­`pBÃAØ#/»vŸ/9,k9ƒˆÄB ;é#.ÐÕ?›”yâÂ˗jf"´Á¢AÆbPþúÏÍ„!pI4Èú<6Ãs&;X>/”¹5+«ÉeTé]û8ûbŸ¶O·¡ ñÑú¶£a4÷#ƒ€¢uщ,Õ´e‘$C\[Çñ度I#)£$ßýmxqϿҏ‘ͧ’ØNS×9òk…]:ÿYÉ®Så!¼ž»^Ìummj)[h"#Š””žüÔc!’Ϗ¥÷lq~\÷ž~[®AÁ((ðŒ¤Š&bA&I˜Ö!éQÙdVƒÛ8*scCAšÐßþ‘:àiw†9xa¬Ñ£B,PQJíTlò‘Z¶’2&š*eˆ„4MîÇo,­fRQuâyäÑ(S[íi	]›=Òd0PÒ,iì01CL#f÷p“Ÿa¾ñ-îß5‹u#)%ۏjÄ`ƐÔâˆOåµBçAÃü»·	Z$4C¨›ˆƒE€‘¾`Ñ$ƒãțrù<:IúWJ&ðè€q™5ns#zjƁ¬àJ)ʜœeËGC[l›ŒäÚXͲN AIHÍ4fCÀ°Ò”‘•EìÓµæ%åÖz»ÑÂÌBò€Ó&:M,’²‚À¡byÜ#.;˜#)ãë<{ôz‘=‰å ‡Õ··@jëõúN#/BSØ{föÙQKG´,Gs2C;ïn'Š~úqöqóv#)aÌä2îiô	à€¯,<ûzq␝º›ÐY	å#)÷Hi¦lôÒ¢Ò"Zõ*]×&j’£z\8g4O=Ûɵöp|v¨CÕÝ PU,BÁÞà€QKHùôšÎ”Ð¦Äe”*”ÝÐ!ÞЈ8¥¬±˜ô˜’D…z|/·DÅs[hø‚f#/-‹vÊ#/ƒi°évɕc9Ҧ­¤âqs‚8[„)%	ºaú4´Íë­óØ÷žŽ£]nKîïñ¼ð÷+T#gÖ&t Ä5ÍÇT5Œ¡ÇvC@ÄÒÍ1Ž@ŠpLƕخ®\§îfq€ô«ûiº¯ÙÀâ¨q&÷O{Xߧ²¦½.—è•°óÀq$˜#ŽýÀá¶H¶ëÈl–Ñ”€Ô:ˆÁѵÉUS#/nª–PŠß{϶}¦ñ#6ßÝBCe<¶¯À1È&æDØV"ëV#.ðÑBxk”£EãIà3OG,¨9àè$A½%,J~üéÕF$il]×Y-%eêq|7½˜Û‡%BÓ£T=)„NnÛ]6>^šäæïÅ\°ç®UÉT³¦c¹•çü_Á>Æß_¯@È£]HP,.œ;#.ƒd\ÌE’#/ٜ0’"U¥JÑ‘àŠQQ!ƒ=Mh#/cðò0=œñ§èHèyŠ=]¿]èüà"ø½}cîÍÐÉFÞF0˜‘‹?¶]~;œ·SÁÃŀMÎÏ7ÅØ?É($@)ÔwG¢G³ºÎ‘îí¢p–QÐì²Ý„æI¨— n~,šûõ†oC©Î$á>wpö*üOGVhŸÔBVœ1—T@Ж8X#/–#.Ejm¸‘m؄b!ª"ã#%\#@•**¢Œe€Q3ñýÞóÞytmžîú&/½¡i	*!vGx¬$rHÐ	ŸœfÙ>zX4BL.ù‚p<æjr€a-)™©Qƒ»Žó‹á­k9\u•ŒwXKnà 1¶¤iŒ3/2ÞK%«ËÊM|G¥W§¦œÝ¬2M°$‰:ãQ‰Mˆc‘ÐR&7¢mp™bGdÆR³ç$¦äU›‰eàjèΙ4òîêô†òÈmÖՂ"j4ÛfN,Ä/íÚ´ÐØa¤ãs`Ö¤UD,³Í1wèÈptŽê¤qž]j{àOñ÷	é:Ó”ÜXŒâvƒ¯//¹~Ÿ/Ú÷ŽþXi‰/òþm“¯å>wm?µðªœŒ‚Nf]8fŠ£ü\ÇS‰¢t>Aê#)/×ê" 6¢%}¡€D¬È@PLÈ¥#)A(zàöÂ>¤Jë­§v®X×5ºh×+šEú¼!ééý<ÈÏÈNöYé‚ä£.ùn¦qòw³0ÈæßÏŽÕ`™²Ögߞ'¨ÃãÏìåËÁUàb{äÎ7L=ýA1÷#)ˆHl$,L8ŒoN Ÿ>—›|œÏè°ëœr†Ûmdâ¤Hº¹{'ÕU’m¿Mm¾Q­IəœÈÎ8Hù©A(0çQmZIáÐ8Y6ë M6Èm¤.€z	#)D,‘¡óTÝ!ÂyÃÎÓOI͸BôçûÀåË1BÇEFúáÇKS$è¼L~i‰Ör߃ÌÑLïΛø<陚Ú)–‰S5ˆô•'Õ4£é³û‹ÒüqMÛñ#gz8ðCO½ØdòŒaä|40‚;ýù×£ì"'¡|½øY£C%[¾“¸àWKç#)Õ0rÄHg-n͐°ù¤ÄßÍ6`yzP߆E›9¡¢Óœp£ÚDc݌6BdQê7	lž´æ͍#Œ&\Î_{“áJÌjjíÇgÔgԚŒ1ëCI,",ª›Õ¬è·4#.+Fä?*sšNødÕ¢=éO&+#)”É>I!{P[_óóïÃ>#/†èm¤3Ù¾N2²Xèñ‹,Ô{-hÄñZ:ó)JZSh*:áuvD84'w7÷#cñûºg¯‡D#)ȅ~K°º­N¾ßÐT·÷¾Ô7ée¡uRÄH*rµ…Ô–$@qÛ#/”$#.ºÛ 'b„r`Š‘*ý¬!$Äa¼‰Yä“é$q6O‘ÒÆCP™¤ÔÕ¶33‡£ôI¤·¤ã‚wyÇd‰Iñfh&nÁ™Žß0˜<s»=]Ò`¬iIIµß&=åFäây§x“R¤,YD #ÆR™k9é]"sÉ3‡B0ñ(ӊcËU±ëóhõè¾°JÇ>‚'¾ƒøw‘½ç—Ëñu¥*6ßV˜ò!ØýgvQb„(XYlJTÑVúÒjCs0Èf—T’‚#)"˜„¶e[u[7JRñrMuXâ@LÒªBÐ#/ž;nöc¶óÐ;àxýsCOÑ©RaĦb6#š–ÀHçãQ@¶MR@Ϧ¹¡&¢FHºýöæ¤öŸl­­Ï˜Àc4Ì$¯g˜¹ËâlM¢3<­Û£R5u%"0“I2Ëþ¾JÑ'r¬ÌG}ðMÍdÚSjÃAæp}V¬èbE,…” Æ4ù#.Uq0Ùó`ÝLpC4îl³ŒE}ã”/­š’ށÓÓ¹öbœ8+ö§î>»·çž“¯§µdÃƒ®:JìI¥ÓØÍsgKvZƝ|ïåòAi&`.fa³~“}¥v¾çŒ]?xŸ¿Œ}%sI“ m…ŠwSž"ÆÙYü×®ÒàрÞN–&Øcø&,±$õ±ÇÊ[.ÖFD½ñwýŸî~ïðþü-kè˜±Z&|â5¢Q„dtÉ@ÓC$µýŸ•âä˜b1#.D2V¶Ä˂¤ƒ?i«{@#.Yûö›Ü5¬¥+Éo`Pg™SPÕ‰ƒÎ5ÐS睙V¼J¢;©*®ç"`®úZOÑÙݝÜqAú,|i¦9:Ñ3­œ†D¦5õŒV@€îæOâÔ÷µi&	`+záÒý§HÝÈy3d(ghc"Ӟ5ÂQ€ý†awLÐÍùT€©æðÈÀ:ìCB«‡BÃFØ*Ì,°óûÏî‹5Ë29#Ž!Ì6#Œ<Âðª¡*ê[}½æqŠX_vG\°o“ïÎu¥YÒ·ÏV›jf zˏ”%È­„2gª‡Ñ‘ÿraB;)™ç=¾YˏbB\Z{ŠœóÛ0t/ÊHÍnŸIˆèPÑÇð}”͉a äÓæ³ÉÄNþ,m1ð #/Hi#.‰neÐ]Œ=ômü-|i÷q=\ge…ou·I¡”¤jì}ÓÄ÷Ò[Iæ÷õ?]ÞåÞ_ÈAæ€*"7}/ƒØ; ­üÜöu; ­b’wCJ©UJV„ZP#/™DˆE5dˆ©’¢s.Ïn<Mx¯×Û]Š#/¡dÛùd™…•TIÌã0 ‚nk˜Ç^ÆYZ!šD6Ó¬q #.ƒ÷#)5#/$y•¾Ð#.‡ó»õ›ˆñüøuuޅk¯ã,º):ñ#)ÊƖ'@TjºeHVÖ9©‚ãyào#.ÐíҐOé­pwOÓÌ>¡ã kt<§ù¿ƒø_˜Y9#)a‡QñWëíæèsŁ%’t#/a•pP”xYæQ7Œ¼Cøš	³#/ý…Õ#.¿Մ6Ì.3ƒ™Ÿîw?‰ÑÇÃl9è#‡–TW’Áßë#)Ìó1U•HLÈcŠ~%"”„üSWmÚQoÛµí¶˜%	¿ê4Ú—d>'_¬#)³ÐÞk{JÐÃ>l´…¡É#/±Ièܑ¸Pú7ôùÛõSÏÃ"¤4ˆå‰’:È<Ò¿…©5ÒœÃ9h„ÄIǍüFÈb­ ˆAPIÔé8Ö?wê°&Ä6Dº±Dï²ÈvTŒ,©€kÅ>Þß^höíËÒW—yšIþfWÀÌÅÃ(Ìc—”*˜"båÒß]îÓ£5!²µ^üÍy<M¶Þ¢Ï´ã<³ øùðÓ§ig1?oó»t49UG«q#.=C<“çôúµšö÷⤠û>êì‚.¡$Hôi0v)¶÷#/Ïìçöw³7³È¥iáeûØ¢|—6:‰öž9‡uųÙÙ±¬©»kiû“D8Βbi6VЛa„m4’Û¬»#/Dµ`SŠZ4ö¶¶ÞÙ âm#.bqYj€uèŒ66hYˆ…3«¶HÛL™´ReE×uŸÈöbX…£)—cíÄÖ¨¨j&(fÚÃgrÇM.o¾‚ÙÈ Â Ó“lŽAêÚ7&¡D2hªŒ]âf8‘†9¾	ˆ}0ÉHFՌl^Û°K'šÂ[#)€/÷ù#/h&)@£a/QŠA˜t‹Îº»¬´ÊY4·weдKÊÛia&’’‚«VGV8@h3$‚ªÞTpm:ÅÐ#.M”ÊbŒÔ–šÓKe$£&6’¨P“f[6)j10ÕJZ^ÝÇ©ÚÊu$€F4›CPŠ1±F#.P¬-•FÒd+S·ÁÞß|`©¡ ­ê‰t·%0d­c9ÅÌ´Öå00tm§G³W#.!4 A ²*RáeN@’25º©8áSoCL»P£#.4lQÖ-Æ+¶13q]f	4ðˆg¾‹}´PÜSpZk‹C&æ,¥˜TDQí*T(³S$ÁrÀ1jKÛk…#.½wJÍ<ÎêmÃD­Áè0ә¬"¢­¤Û²ë,nŠ<¦0·„4HîAFøî1B¶¸h„È	M#.™#/ÐÂTBÑšjX²)X1.ª…ŠF)¥cÚ]X4Ñi-+HI•Ôæ61¡€X¢Lhc3µŒ3~̹²¡…Á1/	J%•„´]PȅáÈÆÕªšM*Ð1»˜g²—î{°Ó?C¯ov†M„U…=Dx#.7&ÈxE×ðdÍl%iá™DÉìʼnc1ž>3g„A[ÊáUa—#.CÃbðe¦¼sÏ#/½&ƒ4e¬DkCÒ7ᤌbÐh´ø1†Ø„—¨Þ¼Þä44ZJßÝpŲL'£$â~î¡ÌмoZàÉ!‹ÄÜNÍÁ‰AœÕJð¨‘K|jB„]Ä0” -1)šÂJd¡›!Š£#/V%ËhO0EFƒX¶šAªÄ¨ÆVo¦‚šÞ·¢H›Éî‹BtÎQY¸ÒÌV!c…‡gè(ëL‹.سZo/GÊ$¿|XAb	R_ّ0@»C]H mkPN£nŒ ËQiHÆǯ }°¶á.Â<L4&–V ֍@’é” 0eц‚#.d"bQ62&D"¢ J˜¸F‘H«t6¾ê§«·»Ïñ=ÔtE3å~ÚbŽ®ñ~XCçúæëë`=îk«÷°òj{¤6~24pš#Lx}¿rÞôk9ÏëõnzÒ7!Ê?d˜LJ‘ï=†ZŒBÈw~Ý»JªhŸJ…éAjÉ¥‡z¸wv\EJqB§’«0ÉG~Ð׉|‹&ß5™¨¤¢—pxx	KSMTðdNf™½{ì|ïFÕl×ò.Ì%Ä(#q$ˆOqyÓ¨á½(®ùéÁ¾XMŽÑÈD:,Dn1#¥—¬òÙ¥DÒÂ‹1ÁÂCŒrÀãMFÉæzeÊ嗫ô—¶žúñð:‘lç°º(êQG|Ü"¾êÜ6¸Á¿ârÊ~ÜùÃ[ÃÌò*¹=Q‰Í};3ƒ¯dtç’!^\08|1š”’Ľ}ªì‚d÷¢3âÍǙ•6ÛAŠ"žu)¾åU|d6BFbÒ{a¬}3ckÜŽ¶†@âFù€nú†ÕöӆV‚=/p;ÆN\Ô€~?—¦qø¶ãëS¼~ tÚRŠR•¨€!è?5#/Dvc	и›)¤Ò‡á7J}Ø#/º@퓂<­º³šh2·#.6TM”$‘­:´†¬$ˆYuP&M’®ñɱj6òêK]µN܌ÍÝxª+«šYf¤Y±³f¹Â§uZ+ITª‘„Ër\%B#DƒˆaÒä¥"º,0]ƒPy–bjdûø‹CMÑ锍CÌvªS\Ï~ë„9ÉÊ£Ê@ F7U#*ˆHÀ€Ö•/BÄlÁˆ@‡téc¡€g†¤-6&êh™(……M`!ñ»9ìqŽ-I`!8ðB”¡À™Z/õ»T2‹lVLÊl[Ñ´ÍFÑQTVٖŠ#.FŠŠfd¬ÊI0¶hѵ&’¡FÛM@£ÀÊ0:ß··B‡âàpOGÜÒ5ÐMŠ’$R¢jˆ€t¿CÍt½kÛÆ[ù›SG;ÉβM#ø’U]³¥fÓJ€‚@¶IDˆ&¯M– –Jö@úeW(‘MJaß9ˆ•šyuÒj»©6»v’¦0¢”Ä@æ8“$ªÁ´ª)	RŠKŽÿ®Žñî:÷Ñø7 ŒÃŸ³*÷&*‡âÃÂ#)u$Õ†!Êk׺)¥b€°kDë.€ýiÌòïë/„* ì3×¾<ÐÈX8›>“Ócm*p’ѓ鼧êMg³¥{wö`£òá¦_-#¢z	 üqEŠÞ}ö¥ÑēϬ'-c­³1bÆ1ÈVðûìªH61ªðc˜Ù	PB™€Õ«2¨=²º$šaƒd§ò²õâ¹:[¸|¦¬ öç.“0XfKyÇ/SÛ뜍1°èrJÑÐ2‚]؈nú[¦~·˜å¥™±™Õ(àc™twaI¼eƒ0•ŸC±v9³W\(6á¦ó~‰«‰ë²‘ˆ,‰N—Djº§;Îf‰²u,¢/jh%¢°Ã!V=º/6PdK%´ËºÙâðMþpí¸¨*Ä~Déèàݘ£Ç‰òØóLë"wʆnɄɼô瀟¼Æáþ±ãCúV?@äŠÄñì#.&#/y2o:;66¸÷%è¨þKìAù$¾ðäÚÂE~1#/(P#.D/ 4¨|	4AACýÄ%ˆã#)œabwÌ#/#/#)É4_Æ'¨a§_áÏ_Lт(}ˆ^:ÜÀ}#)ù'…}3€ÎL\û†Hb2Kˆ‚I‡ÚhÉ8J#.#)@;A¢6ÁihѨqÌì¥ Ó¾æۉûC€n*Hl¨æÈ#ÛU 0DÑM*®•¡ç³@šÌr(å*Ø¢’UÙT“½ÆîB€“’aÛP¯vV=è¥cUá@b#.36”ËFjÒQ² ­¸‡«XDÌ1Ȓ‰@aERDEŠj`—¸“O"¤$„5ŽƒôâQ`#)&pQ 91xÒ>¡ûï·1	I4ÄÉí£~»öðòq%'€®f÷D?yÛ#{	§FMBRs¬íbžšø‘“ƒ,IǎçÞr#.	£ÅãÇøy™€z;ÀÁ#)C¸•T}Fˆ¢b‰d#.m&bi á­¸ÕO•¹¸ÝŒÇvM3âÙò•´þ¨܊ץ§É¡¬@¿s30wˆMv#.?rÄÈÊt˜ü]ÈsÞ;àǂ$ù§lýr4¢gÕüü–ÒՕœž<ÕkðFïFúgj\cüÜs[,¬é$ŒES‡6s|¨š\{7äÙ4¾M¿4ÄÍJWD™„,¢yS? õHäZê½Õ#¾>Ú}04~ ðX#TRÔÒ[r@ ¶ŽÈaä`±‰PhfBzµ¥‰]G·ñ*&óú‚±31ST?=ºVõÁ{6‰Dy¢±Ðïð›·\<‰?¾æ„m–ŽÙ£#)‰)%j_˜ö?hǗPó&óRfXádHà„„Š!šý»¼W$ÈOYäœ@WñrnÇhÕ&e€ŽTÊXÂ8Dß Ó¥Ó÷¾¾Æ©¥£ƒf³ZÒM’¹RFç›Ì¨Sšºó˜jeF%±”ÕxÖëKX´PIcFÁot֓hîuy¼£¥Ö×6îíÒ+¥âÞ6¯r‰$Ñ£Ë!fJŒ+@¸(”jך­5;­¨Ö¢³MN×T™*ƍ§w.»­Ý•×[¢ÊÎë¶æ®¡Î͊ÄVB.$¡݈ vºAMWëO®`ê7N aôõý]¢üt‡	ù†½A@èã‡ó{ð(zÔÿ7­#.J1æ—Ù#/·Ø€˜¡ëe#.‘Üñüê>ñ<SÓÄGßû'­<‡iAÐՈ;"žØ)Xïôù¾¼õf9äkê߬ëï‰L±ï[7‘½€ê«“/cŒ‡Éáƒ&ö֝g¤=Α²%R‘™ª¥@¢	™#©#.Œ”õB&\k5†ÇüfƓü²ŠLr¼ÿo~DܨbQˆ„¨„§„ð$úÏdm/Ôª<r1¥ªX2À0Ì	$(YÌ%pˆôiÑQQ¾ƒ7×fcšÄã´¿"@N1ÂP-b›UH&1-ªù½ûuËW›[A¾€àí‚P14ÀRj6Ð`E*„!!#.Ît–ä@²R4 ØÈ'ƒ÷óç#.Bˆ}‰VÔ/ùü__¸¨AÂC9(ZPÉ(,Éõ?Ùþ×såYP#.»ÃpœÈ¶hT€a’Td‘ZU a#´#.¥xtüfÉ£ÎBˆœÄâƒÈVV d#/X ‰‰Z@BT#/|}ǵ€ø 'hJ¡Ù~ͽ墔¤ÒU0SJe*ÙH…‰P @FÆÁÚ*/úaߍլo¿<.ptCë„,xÀš N"Ô?o•3#ˆvèH(XPíðÙ+X.m¦û:|rÃàÜñ¯ê)”à„¿”#m¶û¯Ý¯#.¡Hä¼Pz°ã?›;‡0pl€Ž&’`_×ͺ†ò#)›+!!ÝU(k|‡ÖÀÚD4¶kLၴ38›ù£^Œ-dGø!a¸0¬‘…q’k0TLF	˜P‚$P¹6àë4á"ӎF*‘§R€ÁˆŒu¤›Jš7Ac³$*FÔ±âÄX@i lv¸#.#/¶Ä6Ôxªå‹Å\£oVjÕÊÚ#/ÆÑ¥ö¥clÎs'G>OmÍ]]«ܪÁÀ8QlÂM Ì60[K¯#Þ–I#.kùEQ£MQhÓÕL	¬˜µ4d™¤`ähÛc&EZ@"iP•Àà “&$Ð ¦-06Œì«°c°Àhv9ç–.	3ˆcäòfÖ°û•ðo(¡ä‡:TA'"Zh FƒHÄvtÈm££ËŒu¢õÌT(vtHlG BI ¢¿ëTüA!Æ>øPÈZH9	†ÂZ21I9²P+ˆ\ÑÌŽ÷Å'œ8‡¼ñwÜ#)SâSþˆ›^<“öUîìX£i$-€|`´•“T¡ÇÊSèÍ&™Ë\ŽH䐌c#@6†6Ùd²a ¢ŠúU1†ÁFL¸W¬alŠ•ÿ«…Ó€i”f”U§Éý'gýR|m¡óÈ:%Z-äÞ¶ç#®Ç·ü÷0Ú²Rõ6¡µ6n×RɌm#/Æ9Øa1éÇ#¦ÐõŸ—)HՒ“¼& ä¤wôªPƒØxv"	Ø©H¿²A#)£#)û0p„™Q%¯#)õ†4öM¥õ	æhüâ¡î_ÎÄ-_ï¯kHc·¼8×/8öÿ›§éoCâ‘‚"JHŠJ¤ Šˆ/¹BŸÄBŒ]ŽŽùíBÀò°ÌÌXó‡Nh\=Û¸^ÞÒmO‰ÜdÍ樮~%44j@†ž¹Cìû’¦Æ¯¿7àÁјӍ (z^5!Ž‡]Ié‹TÝd”©W¾	„1҉–A©>©ÌfüùÕrøÖ¬Í8Ì~©qn»5ÈO¢5²-œaFyÐ+#ID€	¥ ã……Œ2¦‹€ÌÍy†ÜM£ˆÏàÃDZ€ò$ĚH1&áІf¥é0pÃySèB¹Û¿)0îêù[ïKbücÚùÍÁ¹Êª£ÚG9Ë(¸Å‚^ȨwšråÔ1üöDÄ#.øˆÖ{VÊgBÝY<ƒo,?¿Éa­#)ÐØ0	“ƒ,#.­iÔYfҚ–4Ôʚ-¸áØQMëhÆÒÓi5”†}RI"'c¾l¶d~ÌÉ:4Nx”Ü8֗ç€Øć«NYÍt¸õ#/l½‡`±qRºNå‚ûCÏG=™¾nÌZd}hŽÛvGA÷Ž8×)k{#/rš§‰©«Ó¯1åÜï)ß²Ú¤ŠLýÓ*öö!þ¾s§°±’,	°véÆ̜ILÌ]Ú$p@e!#/™,!ȯ²¹ñæ<=½Ïd.ý5ëÐåÛ©EŽ:o2ˆa8!èTû•U ÀV¦#@TSÄ#.ü}¶iÐp™LqÝøÂNä>™Å^ËeíSŠàx¥Ž‘™ô7ºõßKÀN¼m(LÍ¥‚D4Ä’b‘ˆÝ.q¨—Q¼ÒÜåÌla«@l±ÙÃÛ“$gh’¥3\_3ˆ=©„i=IÔÿwED„¦$ÃP B™+ˆ>éÓ[5ãœcñæ1ƒÓÜ`“±FØGiiŒ¬C`›¢a$ #.±Ôõ÷ìMÚlA@Ú2=qY;W“kôkáŒéôg¨MQQÃCZO]iUVQUF-¯_·:Àf©‚¨³êÛùj܍Uä©6°îÕȘFÖ㹚”#.RÚ΃žÊa¸†ðs%~#.{–ðÖÌÝvï¥9:,²H›ÿZ<æžÚRǯNþ-IÏv.Èá}Œ$íU-Œñ8Ôáιi±p¡A-¥Ðޏ)¸ºÛÈ ×=M°Â"#)a	#/E'x\¢3°è™aÃN.§|FëŠwëfõ]¤2Ç)¶]ÓnIñËґ0î´ ë£ímúe՗°'VIß~:÷%T†IÄçž8Ä0<Ã]K`~ælNJ&̵92¬PCOF`ø7ã‘!Uw=]+`N^¾8g—N^&.™KÇé;ªª‘˜©,ºØ`>ûC+ñ×Í÷øü+šÖëԜ^Ÿ¡va’JÔ#T¨{ÔþdŸ¼ÛöÇäÿŒ;>D¨)@ÐÄ)D_Y¬ÙPêú{¶;i¿9úñø?Ühë`ōh½ñdɍaÜzçê;˜Ú¤ÀÍüÏ6£´ŽAʦ™ˆ#)ÌTwšô·+¶½Ç´¬#o%ò›øq;ýáÊEwÒ:>ÙéÉW4ۚëa¬Î˜9lyxM?m¹%]XÑOzuÄɒO#)Or)#.6þêûtJë˙Ÿ_CïI#.w9Óq“3#.›ÐÍoeo’ÝpðoÞnZMzý<»ˆr4+ mz°}z2þÕ¯fàE#)•"$õÈ°†##Ð<	’ ‚ükÁ۞é6;Xá^„3˜qô;ÒЬLzyPäÈAôDaV_Ñþ?±NŒøwTý0…›Ô#)¦Ù#/‚Jvp“Cº^]^ààƒŠ†e#)rUЧ4î¶$@É͛nhúÌ	Ú]€…™ÞI'÷t¾éøAAS3÷¨&x–ÌV|tÿK˜HÈå©èT¨àljBº;!X… zÒ4_˜G©™N±ì@/#)…œK¢Ô#ÜWÎ#.ÿ›¢*Ô¯aU(41üÍ4L6mˆúÜ#)Ökí[æ¹5íK‰º—IZLõ©ù}>#.@5Öí$Ýók;“úßág#/R„œCºeùʤU¦Ün(ùBG2#髬Jc¹>Ïæ8ö¡Êj™:q0O<ïC4TV·¨»¥	È¿#.…Låšø‡ô4x$‘;9-öP?YËQ´û7Ë­ã4½:%)E,ÔÙÜQ®¿V	bÃP9µbÁO}BF1~Yts.†|íaHŽÈ":qôùpâÂԂRUHҍúˆ@ˆ)h• ’BZPP€È÷rápå:T u4>zý}ÁO⇓¨‹!=˜ü>ܦšøz-UT³3#-$iIB)°ÃR†J4ɈÙfŒÌ™bY¢PJe@IUT‡ä^ޗP~)*@iHH;u&c±6zœêë¤öDԉµÍ\»qµµ‡8msÄQLà­#.s®Z#)ŒcM{AΠ„;úž,¿¸¾ÄÃ+*qÝícŒ³“ß©€Yyxƒ²ñZ ¸‚Šc3å9ÌöNÚMžŒâŠìM#/ébÕeЭТibêCØ„0Â9ÀPƒö#.E#.¤g(¢F$f£òæ|É!܈wõ!®¬8Ibp˜áEkñ"ƒËÚ©Õ¤¼÷$³¯uüÓáMP¥ڍ<úþa˜×ð“†cÞ¢Ö pY¼"çÆÑ"|ÿŠv×JÉÖ¡ˆ²ØÒH)?zˆŒ†«mdÜ`†™ àF“``+b¨hˆe&q }vÊçQjå¥uÛd­ÙÉsp`Äf梡H,MÍHAŠ0Yj˜D†¦#)´€‚ÂF’;á@ðš¡uDB;™J›Dܝ~LÚ*…”&CRäDˆàãCPb”äqŸLÒ&–üŦ=#á0F´0AX¹iA=ÕÃ4ÇèUkrBÕáTÈ3‡VSüÒ¿o¸ÖHGÝÖ±ó0ꮊ”Ñ£¸x1øD¯Ü^#/Ž€ß,6ŨÛE(òŒPN’‡È,Ž2XBµœMM#.&´g@ÉJ#.H›0‡\݀ÅÙ)ºé×OVÝË(íÕxÀxٔ9£ƒ¢–SFiIœhƒ!ÜHV€ˆ†è&6°p‘P#,E$Pæ(°ÌՍ±±†&áci,Œ¤sYTL®V,ydÊÌ‘¼$Fn",TŠÊ4ä@©­ÖÕGJ±²€më-(ÍHc£qD Ñ)4(AÕ_#.½<æÖÓ¹³oZÖo(žjï7»I˜î4Bbm“l¦ðS.–]-OÀåMž¦ÈbRdum[º”•Q6G>rVðh+U8æXd#Ã!KÀ­F@zÄo mMaŒÉjNí¾ZTÔÉ{$z!°š\…Fm†d¬éT 5uCt†µ22WF4<Ý¡’£TÆ6uÖ¬ÄÜQÒE½³DÀ`27nÑ¢ç.‡r0$yªŽJ±¤’¸l#/F³pa‘£IƨÀÐÈEè\҃[3Db¸àp0Þ¶8\m àÑÆA_/Î@'ž¤×BõÄKHoRÚ­,ʤ»œ²#.T,`eՐË][¤ðßxD¥Ú@È2Y2LLÂÊcH‚`ìƒmV$û¶&B}ÅÄ#ot7ÀǓFµg #nVÆÉFÖ:^²12š"D¥…+ÕWãÛJH}Xk#.#‹Ã›XÓLÛé¼#/ª‘­†l‹¯JcÍLˆX0Ü#`¸g– Y›0©4Å2Æã[¤è`FfÙçcÓÏ0æÓEÎQ—€Öšý€ód«Àǃ|@ˆ,­=¹3#.J4²lFâ*¤'œ¢<ðáׇš^àè5FiEµmºX„â8×¹¶&0<]4n#-‚8ÅRE!gRf‘%£ß¤#)Ò\@cB(m*!¨ ŠEKƒ#)“€Ã„j´»@Ðw9'çìí,©þÉ4þ¼È2mfB¡ ÛL‡òºHšƒ¨B0Æ«59Ìèa( ªT(¤¨BZ!&Z&!NŠ?ÈTè©P?Z|ý`(yy/”àôOwîíלZTzˆ ߁‚ùƒa‡Ã@’è7öœo3F	»É»;].Zz!Ç*	€`2fX…¡RaL9‚§i+± ê9›hùD?3Á˜{øì.<>š:—k*h#bS¿f?yܑƒ•·"sŒQ.!‰Ê Bí*Š,“7NÙζ ­ÕÕÒÚÞێ¥Y˜è!B<\ÃPy3‰°`ï§u´‘'®¼òQ±l_#.ñPrçk9Xþ…,òÎÊ$¸njnËpÈÁlÞtB8€ÚS®aǛþU ·KßÖé`oy˜¶5Â\ˆæõÃ]O¥Ä´¿Céåc†ØA†#.%¹³#KõòZýÍuhÃL_BÐ(ç=±„&EüBúvÌø ñ:ž2¯ì’þÔïÜF	¬Öu/0èaÁx(a£ïf#.&¢Ö¿SÈ$çxe”ô¯SÏ`=WiõÀ3Zí}ߌSî=#ü}¾îÌKñüRÄVìø0Þ¶Õ=ì0ÙcÐÕ²a†ƒeÄ泀#/¦ÀõkåeÅEàŽ1'=£Ád×	d!±(ÌŐT4mkí=„31#‰Ï|ö»Š~"TH„XWꇑ#.]‚– ʨò+¦z&ªÿݹ²?ËÌôÙË«lO#)ÉW±ƒpäpùjêT >¯ê	畒VëÏ)o³ÄíccžT8î²TJUÒSÝ°p5TGƒ>é7K•ï?GWY«rÒª"pbÃM°A@-#/a³ )¥Q6xá›ØoÎ' &¸Î›þí)€RRBslš#/©ýUA”ª¥íÀÞM4k2W†³SX`ãT¤[FAK½’:Ü€w‘vhƒkQIµxæ®Z,oʼmX£¢V@á#/jRê@)	#.k!‚ÿ‘a(º„F- ´¨3‘cDa#.Àèz4TÂØvÕ"}#)ُsñN_X{ζ‘Æ#)i¤ #)xÈ)í%u#)âªæØÖÿFãÀ•6q&NÏ.¿NgíâžÓž=Ïm‚¿’CÅç)‚܉Çö(Î@éÌ¥þILÑø”ó¢§d´F7W¯4õdB8É	™Bá–SŒ…	åë6ö`.­„!Ø	¤8Ñ7%(¥U#/q¢T2!ªBDè&©4éXPÄܝ'y¼=rB¢xŒQ"ãìȁ®B‰Ì<؟öÕCàªÂOò?nÆÀûÈMÅ>Aî3᣹Í#.‹Þ#/ <ˆ' |¸·x¢^£©3oJ¯àx7ÞaBxâøŸ_PqeõÈû¤DááP<ë5Rf¥Ee6RŠ"4¨ÄM#.™´Ë)”€•ŠÐʵm¡	IZV@  hX6†#ÜM“RØ ˜³ VÈLb#er$ØO³#/\˜ÔPËâ(Óc¤d……a¬#¸!+DI1ctˆ“!E#)l5Dbjij#/34ÚEÆ0m;Æ죃„„¥d*@¸BŠÌ¨0‹žÐƒ#.¸#/©`’ãþ:ÙwòÀt #Èc0‚Š"îa#  PÌ5­g¨íCW\*>\±¾|>š“Ó—»Ìëðõùg#.>ŽQ–UwõŠ³Jí›û²e\ëi¾ä„á,(ƒ¬¸µf“c—>ÇG—(ÛB’`3eMeK(Aí:Hëuí1ƃC5ŽxRbHÈ-Ì*1¡²ÕµÇÁ:“̇¡S¼)˜ˆÒEff­¢§BF@LÌí‡ÙÜG$iA¡i\•p•3cBSº;·cÿÍ	3ý)„éOý¹ÁcZ×jkŒÚÅ (ÌÕ"‡»÷kŽffå#)“m#.Ú#.@çÑ}`–w>Îç]ÜÊ?§/(í¬Á$;7H™3㊾®'q#²Öúšÿ/ž¾¹¼Õ6öé=tDÏ^†qPzig;A¾gDívŸH#Š‹ìîo§[£ó°t	§\èJâ-¥˜A#.4.Äë|o²<\!5×9§ìv¢½…4òE‚ïÁö&Ç#/ÈÁއ'šÌ|Y§*;¡ÐC'R¢iÖ a)(ýa㈏_Gh˹Úä;¢—uÝ3áøD bஔ߱šŽ™ì‰¦#/†°ÏœœôÁ“;8Æ-›58ýß;®Ffnӄ%OÛTdÍ{xœè•Ì§ž’Žå?‰…àsŽ®Z¶†4@âqº;hDôdS Mµ®‹ü^æ滸8¼O›s£„Jt7;Q k©Ò¼ß#.v±Œ1ðZ-΃oáªóåîKèܵ˜ôô¹:‚§ç!/˖wß¹÷ï ý1)ÖaÙóçˆ×^	RçåórÀhG ÃËËó„·ÂÑFDÁ$}$R@;ŒÚf#)ÚfKtìÁÕ03ÊÏ[‰'×ÛüuíLR=‘ÒŠ·•äz»m	'óÙ:X£È]f#/rA(éP±þ.áãÐ îþ2kŸn›š><…;¶0”œøôbJv&»|ïЅaY~š’¥Β\[2ΌJ_Œ­‚~n‘íeSŽ‹LðŒÇr1=ÕIÝÇX¸‡(wö£‰¾Tu1›ð¢¢²T—Þæ˜ç—^Ý&ºwMôHFQŒ‰d™ÂéTOX–;w‡Õœ°vրñ—`äØÉÆjn<]õ/qÎs%Á뗸}ý0Œêé™Á0’c”FÐßIÕI²‚´“¬¿ŽœØª×BMŒ`¯›À‡N<¢‡Nt•€ƒ­NÎfp¶9òæ”HunÎJCÂ%¼¤êj혶pÃwéÇl)8g4‰a‹´cEar#¥CIšº/4ê¶À×GtøhµŽ§’‘7k8'Z3€-ŽtyM#.«wƒpw#žG/®Úö­ {I¾¼¥<’ó$¬Wrõ½©ÑóÄÍyq«ëӋŒ‚ñhuz&–…sg­>ÞbÁPã@×Ü[[ü‡Ï‚'Y"äøˆ÷ßuFÇ<Aàäç©7ë}ðiï´»w<½¶sEwv÷¦é»ýW¾$Á'‰~ŽîHñðíD{*¼v—]þ(‹wî±è3t—Oß#*“NÇ웁¹ØTç#ú68ŠmŸL£<£ÉäZMâJ‡Ôõ¥Wb-÷Ã)3Èt:ôm_-¸ºLxMu¯ö¸V$Aí—f‚ºOëyHñ~Gz#/Ý3éõªe,¶å³\ï°7Û#.¤C	ˆq¢#.&/"’¢Ž+]$r(FÝr1¹“jÖÚho#£2)ï:f°˜üÏ#©Éq¾£·°³Ð	äFªcŠ"hjXÁåGbDœq‰S"Jç}1`Ç£¹ŽC“¥×Ìì’ÝîCڟÎAMDQ ÛEÙ#/…òI@‰€äöë4ÑØá%Ï;:1œ!û/88Ï,Aé¼³TO_:0K#.äøà)~—±‰)°â%nÊàp¸¢]Ȉæ”WF•Ã¿šC4Ÿ™¨——Uâ.MÀÂÀ¾ÝC»@›:Á‰D&>>BÖ$‚ì]ƒŽ£CDB¡Û°ÑßÂtrÅÀ{rÛXÕºòa’K.Œ £Œ7–9z²ûk»ÜJ[i 嶄ɔ°v²X^­Mb¸˜žŒxŠ¹lhD D"#)¡#)gŠ¡cªhѓí•ûiUsfvÍaa´p#/š‰,ØMûëÑïñ7#)А8p€Gd€@0{lÛ{éËYZ$€¾;>¨3C ç6Né¸Ó³èGòC֘oI˜'|҆\"z§š¨A֟>}ŅÓޖwìíõ«D´Á©Sl䤐JLœr\p÷CýävMd¸–~¶×8[lÌ<o18¨ò8r]ùÇRy®è„»q™ê(=Áøw1”'ïlê%â3®'—Éaí“8ñÄUè;'ðç?+†Â3Þh&*K4L·KóPtcbr<·{s©ÇÓA×£ôÂXæt˜r>ÎUôŒö¦¥âƒÉK/™cºã‡æ»Ç<Ú.“Ä%t»S\Á;§z;Æa‘Q©󜤖û.–5o`#/$ŒÑ#)tïÒRö៌!úpSÄæšZyvvÛ½Eò5݂¬×IÆæ4èímÞÙ9â2#.F•5Þë¡	ÑïžOº‘¼é»Wæ+#–4bô…-²K6¶Mºv]VU`†¬)–:l½Ö“=iØÃj¥×Lõl™;¦Ö¾8[,³ƒDBæ¡°VçÞpê8¿ÝƒX1³Ê¸£ËOÕPùëÚ%݃Rz­ÑI« ‚P”{¤B՚z³=bÑv¸Î6e*ÞNŸ.Eú¨[cœXE’fða¶##. ú$_Q[0Œ^ç†Oq›yh÷¾Œñ^2äj“S¯™‹Y4Áý8úi=%š¹œdZÑV|q?gNB:ZQ”J0IIcCƒ8N#/©ÇpÂ@™H=W©êi²´V0úívÊÝ{<=zS:†d´•`VòºR$eœ¹;1F@¼,'Ê·›‡Å`zxèPIĝº‡ÀÁ'¤•n¦	Q,¹’KÔçÕ|`i9¤õN6C¿smØÛÖçD6ʼnž®MЋ¸Â礸hk²ŽWۉŒÃŽCºš)*©2AЁ»¯Äæi#.Ž 0S´_2f	Ôw3	,0JÙ6€È7˜hf†Û#.¥3΄„Îqì%•º+ŠåvpÃY0\Ì<g§Ñ‡Jo'”Dy™â ü0Τ›å|QJLzŒyf˜ägjj£¿ó•†èæBœ†Ÿšqæ1¥ÕO‰zÂŒ{4Ã4_;|‰Ìmû'f”­i ’50qíÖmÄLÐÁQÞ2®®À5^¶-Ž„5°¸m[–Ç_â>y(a• ­Hd&èDm0Ì3Vƒ0x5PÍ#.Œ4Í4¥¢ÒU’1„iÇN(”Èb«oMh Ö5ÍÄæ×6Ç¥Ö  4´‚Ó@>É”fi©«mé®ƨڵÕЏƒ@¨Ei>‚*†¨Š*ˆä38Àz3§7™ŒWÈÇ:mÌà‹cgTâÝ2Æí¶_ä×Zbƒu#/F;e­C¨!Ȭ´Œ0¤ª¡ð”)(E\d7ÙÌÂÍÏ~úv”ÊFp­Ù÷Ã5öÝcÇ-’.R‡SHaüaØ,ëÇ^TbÁòÜ4܄ˆü2aÃþïå0lál‘YÑ2Ÿ|Ъä;æ4T(ÉIc#.pòµÓcP)Kύ¯&‚R#/8H©#"W´Ê F—ˍ=Hîx±í¢0 ÂdCʄðÅvè=HWM¤Úlh$0¥j)ÍĈ‚U9¹FÓc±àìš&®]uªcŠWc;Öú̕ζ֣½ÂÅ´ŒHJˆ8ir(#.ªXb3%–¡ÈØef=íêõ¤âdâ˜ÆÁ²ÄfÈW+	qåàÞ,æF#x¸ê9|¬Á³•Í¡¬ˆË82,u®5†µ:›Ä›‘77»L‘¶ÔM¢”­X›jBÂYw-Ö®g^¤Œ`*uvf¡tíV'T†©aH#	N›‚ia#)j#.A„¶1´Åę#f¤#.0ÔÒíRFT‚ƒ.¯&œ¬×®%‹:5qÀÃ%Ù­ä!2êT›1¶ˆ@Óæ+\ФIÛR¶Â7vÕÛmá¦o´¨#.)Á6RC‚c´È;Ô¬#/ ³#)‡„È´8•%S)TTT*ÃÞ Òiƒc#/Æ6óQe‘¹yâéhá…܈ÆFÆ.JœCi50um#.7I€Â-Æ9¦î³	hrÙH4ÃŽÀv3k?é90²üÃq9:a؆¶@êf,yµ#.ªQ¬Ë«pŒ&3•ÜAœ.âà7f]é©H®qt2ÐJQ•KŽ#F6È5aB…hmFL•D“#.¡‡$Íä匢©©‚¹ç ÖnÜÒ«Ë28t"'®G¥×F‡[ Õ¥iGʪ©µ@¡È̂’¨±Äel«Ë›Š€èøL!X‰îE®öªãœ)ÓiUß¼\œR[ŽZr<bÖæ¶ëCá­½,-™J`pÍ:›_ÛF÷aZ³ JF™ÙÜ$éÝ)µše7L¤Ñ’1ÌÄÅÆ]¯OÒ"Ò ¨`¨×]Z·Ñ”#œ8ÆÂPùdۇØ]ˆŽ"I¢K;jŒ8n<½$f>¿7×ÌEUA‚0Y#/½’åÝm~a·¼þàÉR†¨'~ðê"S#µ1ÄÈ2ªñ󹇀/žöX{qÀ?A¼'zö*ž5;k.¦b¥1–ÝŸ¡È ÂEUTd£$=Þ¢§¹%}Ɓ¯Á9—¦?k§ekeӜfq3 ý â@6ýÞ ä‹êA"pm!–7Ÿ'³Üõì!賦 qnqa²Þ7ê[x³	‘~‰B°v±¡ÿ¢‡³|³‰Áb"²¦«ƒÇ[o	ڐc’FÄUª˜o­q+³FŒ*.¥ª•"ª5žA™æÄ[;^Þ3¯I–{؞äDøÛå4èpçR„œ†B‚ Žk2ÙMT?9ûq$ý‡~þ‚jny×_2xôSÚ?zd†¤÷ª‡ˆ#/ì¾e'i2¥‰Q e„Bˆ¹ N¥@Ô#)>)ϳù-Óà‹âJ~ùìô{,9ßԘÌT¬¨Ù¤«h­(Ô!‹B’ÊL*ÔÊ0Ê(C-,0DìIRbÊL˜ÒÍQJSI¨Y¥JE1PRŒ´‰RQ±¦ÉJh³iR•HÙ2ÄÂÌURL•LH#Mó›ziŸ69­k/ƒ7j2pïж²ÑîX35Šulr˱Qüxó9'g¬EáԏÄ˜û®Åu'±-ð4‡–Ø­R<rO´„×1qèJb˄õ÷š| ÃˆqMvÁ”2ÃmvÜ/ßF2—Ý栀H(Éð,9œJ{Níü!ٖ`Bh\žÞpêX¨™$ênC†1ì>~ïM¤|øxÄÝ<†‘…B¹-`Êü?›zÁ˜¾}M։·c/8„+ýQ |ĈÒҔ	%wÂ	¬k#/L#VL·Ö¡ !b™´Å4†€cí#.Ðø˜Ä˜Ù¤#/&"#'ÒUƒû)py7ô.‘5"#pY1ü#.èsïË£E`ÔL啜ÅFQі‹èìr“#fÆðqÒ,b…Þn‰—d˜e0ƒlY¶´.Ò¤x#.#AU>Ûó8.šõÝB–}=ì×¾WªM#.OnäÀcXù¤K_d0hÆ'­ª±ÔÕe§{ÒR¡cH1¤BŽ$ˆ&FE`ŠE’wqíèkNÇʲ‚Âqaý&X·ŒC”mN(›	†Ñ·LÆÖP©f˜™¢Ê4å¡8»;jÿb.V@{zŒðeԍ·öCh7¥¶DÙ¢bv‡½:D	ÈÛ3)öIQ 4î;&–ScuRâàkà$IUSº"‡××Ýé¯;ÕC— Ü'Ã)¾¯A }ð|͜#ö:¿cÙÀ<=¨oZÌéã¯KV}ìÇT;¸nL$Oß9w4¦Èƒ©øü!回/ܾœ(Ç=0ÜØ9ÔpÙçÊO~U†6Y7õbºÓ…½WPs€ÞVÃ+G¨¼@#`ŒY)¾½8¯Þñ•^mÆêQJŠ-Õ¼1’ë?/Ç]t5*¨¥vÕÐˌ¤é>âàpӘ³1“tGyÆËoäb=„/POžZ8>‡é§†3ñË>‡7%t¯l±Œz™T\çŒ0\èb+”0 g‚óÏj¾»Ã‡-D¿_Ô|´äóv}Pô¦~	ø“¿[‡/Ýb¹H4öäÑã<Ń,=#.ʛç—Ä}wÙ浞~Õ{3ÜÅÌÌz)HI®âÎ„^o*ÈoØUbžX5{. ÷cÂý\JÜÌ#/†±ùw„žd³CO}XïˆÐo…Ø#Cý?9ˆnì;£¦·(Q¼0õ0Òc±0ÌÅ4ž=ÚÐ	€¢(Ȋo?Hõ/mR‹F_C/Ÿì˜6&š\’#)|N)²÷^5òü(ç	">™¯‹1läé#)°ü•ÓE†(cD$‰+ÖLG$`Ÿ³E#.BÛ<ðŎèçõž¢IÛø!h%UO½=µŠ.+[ÂgL¯†ü.U¨¢]’B”Ž7A’®T&„‡X6£Zs¤Q£n¯Ø¼``Û\[üòk·UŽŠ‘*©Ò¦\)T,ÙqQÏÄâ±ÄÎÐ'N‡W‰¶-41Ä!¸	6 NŠØ2	¡"DÎlÓSúKJÁhaþR$•EFš9ȸd\r˜õÓÇz6^ÈßtٖBBžÉ܊4ˆBôBiA‡G>Ö(įHnç40­H˜gf]¥¯Œ@Àg^¶pA»f!Œ!˜¦RĹZq·Ó¡D·nD>ÕNÜH§FaÎ#)Þú]X:ìÐÕe*<L:ÏaúÝ‚h#.„Œ%˜ß0ˆr£NÒ=<Z9«[ˆØ’݉W™Ä`‰ÐÓuÇy±Ól¢b+"E¹FÜ72`ÓÆŒÄȒ#/L›j#)ÙÆÖk5X6’ëi´’lå:N+ûޞO®v²ß[é\.	JÃAM*ÅPö¥ŒÝÑA•IZœjÝõçv*ü *ºo#)±y-ŠFár,nÙvì<»ÁŠ·ÅüõÀtä¦b^ÓÔ7yÒHpÜ §lT!íY€íÕ9͌ա6.(ÑG$˜‚y¡é°“JA¬Ù#.ÃI@ôd`å#)o3ZV-›™•!*åS©qÒW>uEaÓáÔǞML{»#.)ª\ãz=7»2¸íƒÇ'[Ë2™‚eÚö˜c³KŒ@:6†­ÛÃ#)ècMB2¤!Ç=Ñ]v`ÁŒë‡¶"aic&TPõÌè3i´¨CR#);9sštB‘¦Hae°b|ErEbÓ±¬eš´è•;.‘Q0éJ£$À§‡3©2÷k¦†LŸA’zîÎ#.iålӔ÷͔C6Í	é݄X܏¦M× ûA[Š¤Ù˜gD؊6@%j%+xVÏ(réUTîåF5Mn¸HÚ?_<cל•t!£2•u"eñ×1µ“»áV^„é’º6ä)g(XW¹#.FìN¹kµ·\¥»îL`Þj”"ì=枮uV”»‰*ˆ6úaSKxQŒÃtIn“›CŽÎE?b1&iӘSÕˉÅjMë`Wˉxé°²+’ f@!ҙõ™8…ÔðF¸…¢,;,YBú8ò¾Mt×'plØèr6:Í!4,ÓàTÊ73&ÁÐ9§kégȗkYfhPâë:Ç(:@÷GlÕ§“§<醶m.#‚T²ÈOøôX¶þòIK+ßqr- ÃÑ?$Cãf‘„#ÈgM6€v„Õb)(B¢#)ÚÉÃSŸÓÆ-Î(0…€tÌf$áÜtCÉ•)xy·AèðãÅ^åÐgƒ¡.PîQʆ¥‰#.4¨˜,VO3±ßò\ï:Óð1 ¸ë\‡Zg;‰Ø0SC3&†3TQUÚBI²ŠŽpÛ ä¼±j%͔€\…u;0e"ÏÎÿ›ði‹lå3dPå5‰¥â~>F¯ìoò<4#)”„€ÂL&N¬Õ|îf,E“¸C9©ˆjÔÃ2”–´¦>Fd“º¾Ñ­²ü¡·îk‡´õÌØßhæ+,"áÙ¬¸AÁbw°Šj>yn%š[Þ”5ÃÊ"0{OCïIõçTbåh"l\D¥!ÈÌN~K´f5½Å¡¶­éêވ“sEbÑv»û-Z	á9hß,§È°ï|('‹†–«ñFì˜Ü0ã2bB„Â0È"ÉJMNKÕÐ߁©Ã›X^ÌY7¥Cf÷G4Š}“@ËDSX:ªÜlÛÄí0á×\µÌæ_ÊȦtê`,Hõç}0j̚ԖÁ¿"µÖ$»š6q˜ëÛMÜ¹}­#.%А$Õ9Ô.poJœ…G+§ŽÈb‰’´#.qV›=  ¼J1Xo ³JŽ©·Á0_£Õäb·N&ñl}i©F­"PÈy¡‹ªhEçAFH"¸ªPÝԚžlÙúAÅâ‡^ˆ-µé&€Èm#.(.9u =Ó+ÀØáԎ¯ †! ØЗsnúñ%Haš‰173º1bETcQªdÉ/U!¹È2#.˜š)ª^¥—RË]ZO·Cb*H„lˆik¯°3Là%ڌ£B€´¢hëC°ø±4uƒ“Ô‰#Æ‘#.Á9u””•T‰USSx`0G©1 MŽ€c'™²õ¸fIœR‡Ð–v$f錼ƒlR¥õSgc¨Ç‚9gc¡’ë:*˜×ÜÄÐi€64é:)AÒ"1´|½}¯ËovŒ­âHÌ1Š‚o_—Z4ëãðôWÈtwû{ÉT#ÒÀ$Š芦@+âJþŽßíøõkuP÷žƒÆÚ}’y‡µ—ÞøØkŒ_¿âLĹ_‡Lmt¶±þEà1rJo)¬§ÀéglR¤lž#.»ÊêinÅxÅØÙ&ªÄÎSÐÄÛ4R¢=míñ•¥L3¡m[CÕø¼½£§—fÖY?#XAûˆù£ŽÊ¡ó$_N'ٚ͆4%	Ù'1îg:è\?WŽæ˜;£…Ð]Jc²¬©@›ñ,˜TœÐiZ ü¬²ýÑ¥÷èáaݐ‡—=¸#.(´,’Ùh®…‰æŸ¹­+©Ü1àT§-ZʄZ÷Áa5˜Š_nK–!¥’^êUq,¼¡ï0š}a;]ælˆ©»¬3fcI×=âÿËö/Ùí@ЫóÇyøÆ	âwoÙI¥v¸ß‹<à}RB þöB‰9™™î>Úèáp`îP”9G˜hÐĖ8(1²Bd†}§p)±š¤ç&ðÆcF,–E%RÀ!”nbhb)ˆÁ5š¢4æ5.Ö­1F!!K(ÆG…#)J d:	´à†,c"ºÜ#)°äÐì`a“6>#.hÚK(4‡]mʨ¾+Š6Û#.ˉÁw78ÝR×$¥a#Üûnæ;·òà©ÄáeàɃÐ6Ä31˜Áw‘òiŒýÆj"W8,è•Tp	‰R‘Ks1ŒµU º!Êeyð¬Ø΅N.~I8šLó÷‰Ú`Ÿ0]Bxž:FBuÞÙæ‹ÌõhëŽs ‹)ºDßl™ˆóë˜{‰i*¸ic8x„ yg8‰·¢t×N²'<í˜!ßÝeëû´i³;å4Èdoo=NúñŽ'Ќv^]nؼáæz=3Õ^lÁA5áÓc؆ñȔ”ÐHO0›s¥1õj‡Ú²`Ӗ¥LM¶Ò¿„lúãx,œŠ¨eõœž;O-ÏCpÑ­î„|<g¯åÑø4ú˜%A fÕe#/YU)o·Md­I´EÂ!)àB‘"jßqÀ#.@’ma!úá¡\š#)ÒB›3¼’Eë|¤±T]êœBþÚ0ÌÍàÀ0_h¯£q­ùô¹ÜëáùMòm‹K2hˆÕ&CŽ¸û|Þ'ÅN*#.ôÆîóñþH @hA)é÷ïö™ÛëðÀáñð5_Þ/Zû¼éµóîî?fœ‹Ü”&HJæHL­x!Pšm¤B+.e#/(ÅG|Ó8賺UvÞ6®h«¤¸!AšDc	cL&0… ÁXE€w7Á&š9#.Êg#.ô!¨#)`ÀìÒ(C jސþæ`c¯I´éÉ´¶ÆҊƒ£ùä|?i÷Ðé¨:”TÄ8@aªA+XWF‡Ê–$@–6m€ƒ§°{y´1îÚfà`‘ƒD11#)êã˾ð˾­Æ}Ž}E<ø!Ðbƒ!V"á€&†#.3ºÂ°Ð^¹<xt‡d37ÇmBÀ(x	îr2„úÿ.þÝZ¹a#.Ñhäôºòt“ד™¼…g‘„Í7ߒ°…l·Í­c]sŒ’¿"Öv‹7Uƒ0ZT`:Fõ׿–³OÃ*‚€²¹ÄZSµŒ†äŠÄÛOGjŸ2EC¡ÎD´Ñ"m8iÇ	#/PμÑùŽ,û„À¸é,üµð‡ë>=SîìBd~¤x·\"H™HmL¦™hÌT%ª¶c5¨hÙµ#_u±­n–éI«\gMÓ6»Sk¦Ä-\ƒ.ó2€Y¾ÆfÁ™€Äæҗó˜rÖ¹˜ék˜‘çí2HÏaM»@#)¯¨alð×6ó½Òd`1—#.ÞAãÀ˜èxÌrf;ÃÇÆ`̨fAA0µúîlö﯏Ÿ}Ý/Ôà&i}#.pÖõYtŠ®HcÉêr½±€²m?1ù–(„Ž–äq´·¨bwAMŠÂÍXé΢(4W‹!߈—--™¦‘x•£¯ê–ÐJ‚h˜KwήxCà‡.[ÎI6`ïRÒS,Ý7ˆèXÖq–¹‡¹‘¦›t‰ØN&6äï¢\7ΛéRE„Yƒnå’ɹ¹d£ý~3åÎèxzà0ûU@ƒ#)GÍ\pAlj ;LÖÑÆ¥Fà7œeÑfšCRè·ÛUüÝÉIPË%!OÄ¥AÊgÐÍÛPlö{¼ÐDD½Ç¹kԖz<@ÄHkò(&È#)?Â#/°Ãi«=^u”»„rÓ³&*k¬Ö§3X ©Š¬bÌ{HP  „qTRzýçï›C‹•±ãÐ;0ÌûÌu0BN8é˜Hr°ö	¼„j#/}þ^äzzà“°ŽLLBxzxl=õÅ8V)RŸÕ\‡auùPà֐Ä@f–R…ï=ã˜1hw÷ú7ß×¢,­L!œó³)ˆ²}¿©ŸÈqê.„ïäÇú#ø’ÕÑìâÑ·#)íÛºj}dè=àh"Chk?L(¸‹5ô?··ŠûÌýfd{AÛ>ø:‰<‡¤b'h¿ÝèÐlè$ô÷ô@X4u²ÆBBF$V5ÈŠŠ#/·T‚‡;¦\U!wRÐüF]Ðkmie1(¡jX¤#.“@<ѓhڊdcs]š¥ILbSøÀc!õƒ@€f'þ"¾ïG‰z9s$†@!»LÄ9‚mä ÜÁw!2Ï f§Œ	áäG”YZEŠ£eOyìA#.ý$´J•&D±RjÉf˜BÉzþ¢–ŽÐŸ•¢‚ b•Ɠm4­_^·ñ·y@£´Ÿ–T9~ŠÅÏGÌnC°FÀü	t!Ù#)öcTÄÅòŠx›	†a–È›5k6Æ*¥¦HHª¢ÛZҁ	,ƒéÀP!/j˜ÿ–C^"	Óýyýe÷?Ãùɵ´\™›˜Ŷ¶-óFìõ\zë+€7éêٍHCð·’©ì(	#Ôöäx^#)§6ü¤úÁwŶf´H9Iɧï}#/õу>˜[bF0“øíAĝMϸ¹Brd…\òzµÓŒçX|8h0qà(}f…8ždù®€Ä/Í1LNI¢®¼LXRM\.MU*Ѳ›5¦©Åœp ¤Øè미·E7þÂU扂°:‡C#.Ë1ÃÛRG׃8ö”ᬼ×Þã$lŠ™-”[¢›ˆ'ÊoÚcÁØÕBÙ՛–”‰ÏÕB>¿Ý/HE‚ùì\¹m/5àÃK#/37âŸ,ú>—H°ÅËfÍî-	À7‰Óùÿr¨`{ÀæG·+#/j†d¡©M5%ƬdÚ£Yö;[ó-^&Š°V€¥O¦Þ ¬ñnç8bÊpdàÎü1Âåßíé¢4ª¾ ‡®ü±ºõõF§³g¤¢hJ(h­£T›R•Œ&Úl£Y¤’9Ë]}ý‡.3߅U9oÕðý[¿l¡©Qûþþ~íù|H¥ß€»@¦ô#/:ïPæɪ=õ2ÉôW×ÈnË`¢¬G#.*ó!LÚÓ`4 ÛCGgPFFkþ=#/í"´<¢ #)ܵ¨Æ‘2Q9ëCE,Ñ*:ûNXn@tïT/HMH욝‚Gxç¾I¨s#œ@ŠÄ¹3·ücAZM±¦Ûc‚„Û1#)®|ø·#.õ¹¬rԐÂ#/((+‰SoœÝ5êDÑ¥5©;¡Á–‚˜#.&։2Js3 ÚM:˜hqšfeWs­¦•*”7®ís™)`! ¥¤u˜¦“ fÚ#.ê¯=uzyåØݗ4¤R‰X!$˜Y„Â\sË Êd9ʐÎµm!ÄïC¸Ó{†Á>¡^Ÿá:øÿF껆˜<=|“O¢8c–	:à¸Âµ'†B"ŽÁSníòvðŽçvìßä8ùƒ9Âh ;XGŸDZ‹ª‘±š-ŸJ¬3ëŸ8‰qPàU¯]zqÂf¨þŠ$‡-U#(Þ4ž~%'ž,ÔL'bI~0m/èܱǢF+²¤¥¼¶„ú¦“‰É…e²Š£±\^­G–­Ü™twçKæДq¤F±/SJ¶ýŸ äL–¦Ý‡R¡¾;N ‹¹ä_ž<#.†Cµß·Xx=™;z(©•ª?c"ä¡XÝ0íf\kÂ#.——Á‘pÏ#)äJôÌ«Gà@œÅ^'"%ƒŸ2ÙPÂàÛÏpðM<.žÛñ#.ÖEy°´:B)clWr<¤Õ±/$Âa#€X&ÀwŸÓà{:|‡nÿçcWŒlãžꪄ¤2îz?2P?ó}f1•~ûrȤT™ÚàØ÷Ÿ#$	Žÿ£èy,»móÅr­¿4⏯ùøñ=6Ǟé%Ì‘¡ý°ŒªØ‹Æ(Ûv!oÖ#)½=ó«YÑ¥Ž$â•IÓmÀLàÅExÁ¨7Cc sÖ­º;õª‰di›Eƒàt²jw»lƒ€†¿Fo3ò	ª9%’.ºwC¼öBÌ»#.Ný€6÷ï‚k!!™×†Oé÷ó†xÜQO3¬Çd!ÔäÎw¢d͇.ýA6#.P­;‘p-!¯ÛÛ#.VúX7çÒî¥ý!ÔJ!ûxãóà8Šœ§+ÝZaH%à€÷m7ìýáJwŸ#O$i$#.µ‚üf=múI |ýZz¸pùcm·Ì’v3$“V:þ¾›½5¢ßø¤^É@å	£ÿ‡û¿èÿWãÿ§þŸüßøÿ«á÷í÷ÿïÏÉïÿ³þ¼¿ýÿßÿ‡úü?ãÿ»ÿ/oñÿ‡ùÿãnÏû¿íýñÕÿüGü?öõ~ÿŸöÉÿþÿ¿þüãÿoü¿òÿÏÿó§Ç¯çÿÏããÿ/'ýŸòìü«ýÿ›ýß/OåýÜïýe¡WúÀýu0 NGöt”äœÌØ?Ò<OéÀēL¡¹ýÏüb§p_îª"‘:ÍŸ”>ö—»ïy㻦L$Êeõ­}7¶”#)<ÀéhŽY鐐G“]¡ݦÑ#.qârB¦¢œ#)1|ïá‹üßô`Ò>ÿ«ãÏt¤N=ÁÏ;‘ó±ëÅÿ”3#/ّnÉéߕàˆÓר7/kLfv̧€¾#)cšž_Û‰å5åú—ûÇûóô¼<<ýÜM*,ɀªHÿ	xLÑ7ŠAЃ@ÊÖÞì?Ú£ƒp—·_GÿË]熸Ì+LpŠÔgR¬Ï÷¸»#)ÞëL*‚ú²5ìÚÓlkzšY(ÁÀïâ•ÄÆlÿgµb¥‹±tÓ˜–1ì²" «¿¦wpZeX´“‹h=Í0Ñ&‰ž5I„Ë7j²î=Ê:2Ãt#EÛ/5£zÚa¦„œ‡<CêF2UÜFÄ¡®kÙℰ›wÌÈ?w&±db:4rø>†G7®'?՗fÀ¾G…݆Ê‘ÄÌY³DÁ¦Œ.^x1«k##½pW„ÛŒ!ÑúQŠÀçfò]„d–½Žæ¬ß݀«¦8±˜Ï˜\û·ûÂLGÃð€¡ŒØÕKÛן{RœW_Ç=h¦'b¢:äŽvvÙ4ÂQªâÙ0Q€dƒƒæ_i¯wÃp‡ÛYQFîɵÐÓÓ¯.ÏÖc©Œøi0<X™¢1„FBß:©”“Îûs#1ïÎËXÍ¡&Hc|·E!l$z–Qõ«B$/˜c^:t€mRŠPL(Qþq±ç³³Šð´ªØF%½D«ï˜–&f‘ÿî¸X('ÎñÐ+éÉë:€X ÜCæ#/=œ9À˜” ÛLY¡**#.¨Öҙ+Y-IjdË1QÏ#1ANùSD‚lýí!ã	ý„'üD®Ç†4f£¼ô¸PAMècÂØ,1Y>z¨}áåïÏ4ߥŠ¤üÊËdüæ¾÷å5Ðÿ¿Lcåu¦|àmð5ŸOÏë;á³OVöʘgŒé·]ƈëf­~º™WÖ!z•› Ö­ÊÞË5»§­[3^Á£N#.„*cÜAy9·¶Hs¿ÇbËï*ºQHYX“	.0é¾]qdc"Šd”Ÿ:,¶›¤Ú‹¾CÞÆÙÊß"Ømþ¿oGӇ;¦¹VÓ£9õ,)’$Îò=”šÜ¼ó¨ÔmË^•¼Z–´¥¶¼o“Uxµ&ÅQª!„¤¡@ÞéÇZ#.Û!ۚN´e×÷ñàmÒb‹ÄãþìCþsaî&©HŽÆ.á.òžÑUAN6’ÑŸ§¨¸ÿãŸ1GTxJ®|™*s#/A‡ÇÿûoÉä‡w–ž•×pû—™mÿ#äzÈ÷ñ<QìG‹òïہ¯üàÀgp‡z~C ÿÑ€Á"oZ=‡¦æ	b…Š‘#/I•)ŠHs» ©`˜7Ð{②f#)x«åôà{??ã鍬	µs ç\8§;úÕ)‘6‹¢ƛÛ&Ú“ɐ÷Ʉ7Üb{??ë°B½?¦^•	`ÿÃS3¿ýEÇbŸËþáÝ«èÿçP½‚„ëåÿ|gøYñ?êߏB¿Y”nýK‹Oü<õxÿ×÷FÏ[ý^¯Á6sìk;ts#©m·¢ òcÛZ=>©(|è'¥A³Ûêæ8¥óTlâs¹ÿêóÑÎmÿ¸¢o—ívö&’j BøÓ6	Šd™J?Cƒ"ϧ†“oÿ5°ü¥kݛqEc„õxæþ[¾rÂsóÄ%ÿ©Ä,¨IÔ"ʼnɲe¾Jíã%S8 új¹åË5ï€pCÙõÑ9vÙ8˜ÊÉN`þçIbðŽë-bY㗄hœTKY¸Ä!kÁåôéË0"°ÉB7§ÆGBYțJU3Dœ!‡×{`‘&øVW´Ð7-ìÓîÿÑYóŒâ;“×)UŒEø†¿íëzÏÞ"„ýß_à`aÿâîH§#/¹)Ž€
+#BZh91AY&SY9	½´\¥ÿÿÿ³DPÿÿÿÿÿÿÿÿÿÿÿm (¬#%00e€(b÷/mЀ#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%öÞúzómmkîÖZžÞ旲U#.´[iÚ¾îõ¹±µ–ú:¥'kd‹î7{ÛïoºµÛ¶ÖµK“¹]Øvµ'ÛßO¾ö¸gv÷s½÷¶N)#.Q+Ù½íp·µÞ]/{mš»<{guҋ@Ýó{§«vo;¾ø;ŸvÎiîáÉî44lºï{ß|ûëËßÚU9íõݟݚy½÷½x#%#%@(}ìh#%`	ﲀ=âwfí˜:4§[aÓ¹½ y©³A¦€‡¸ê»´ö4=¦öìd+Ö¨ª)ífš0#6	*”¢”{ƒ’Q$#%#6#%YJzÚV½ƒ%çÍíîæ}»j½êºa’ïjÚØá3TTf˦Iv×]s}6óu7¾÷z:#.ÎxûÝW_=³ÛzÖ­åZ;Û»ÍÝÛ}Þsy¾¯³»ß{¸ûížÖîiÉÔ÷Ëzõ¶§rç>^æû}ñ¾íóÛa zúz{x¹-ìz̀ݳ­Ö²4÷³¼ÛÞ÷fÞÏs¬ô`u¡ÒãF°Û"’EE7w¼#%(J*’OCÀ#%lîè•=÷n{Ywº¹½»ÐdÜöï>}Ü[vÇGÐ`>†ÛEmk®¥ÑMãW`×LæyÛãÚ^u½#%}÷aŽît;o¶û}|{mçO—vpòǼ΀Šo·*WµíƘܶ2>öí®®òϟwÖõ»]´î;ºjîí9QÚt×·Zt“ž>÷»Ü®¨ÜÙu÷‡ß|}í­«×ܬ‰&ÞíN«îq\îû½:¾Ã.ñŽ^ÙéyaC§¶Ó¶Û›—³®÷Ð¥&nCzî¤|öilöͶíÝîвë[¸˜÷»³Ûºû5ÖkoX«èqؗnöÐl­îõÞÞ/`{´žó½wÌ>ï†Ðê¥PJªPTT´jB¹7uÐv&i¶v­Üèº]vú‰Ý›:kÛkÔØëUUܘ{x÷š)º¼»HЃºÚɯfw€#%7ZI#%#%;Ü^êåÉÎó²û3ÊF-Ÿm½ÜözÔíݙÜì_U.us[›¶õv]]ó¸|˜Hû†,ÍqÑ»ÝÁæñ{c;úŒçvåJº{+¹éÔ²õ§l÷+ªWg¡»`úùÛÙ;{n#î²Ç]÷}çww»{»»xîvÛ#.¾Øú½mÝEfù‡"sž¼ï¯¼ùÚÀ°ËlÐú$/g¬íєx<ïÜë°VØ6EǑµÞ®ÚGxO{×>öø½ïwÞ´#%À*×Û;Fªµíí7¶;g<ÂÀëu´oSk´Ý­ëÓ­mï 9.ó’®Ú×ݬ»ݾçwÅówwtåvë¥Þç:#.[.ëwc	ӂàéÕhÁ”gu“½Þ^ïŸnØu¼ÓÐŒ…/=ÝÚ4#%•c¹éî½Mö{ÜàìJ…U )½{xW»´×`ï{®ñÝÊäÅÖÃV¶•U[}÷IzovƒuÇH*Ší·u­$ëIÒÖªîúãÞncÚ[ÓµŽÛ× &Æ»»}öøø‡½óí·³acÜ|	ìÁ“G»îñÌͼÜ&:·»}½í6µîÐíç;ï¹ßvÛRÀîï·Ÿw}-âòó[ãnh€ &€#%&€	£CBa0š#.#%‰ä™PÏTz†Ðš#%õ§’{SÔõA) B @†@©©á$zzIâ˜	é4#%#%#%#%#%#%#%‚D!  M5TÿMŠoU<ÔôzTý(òÔõ)é¨mG¨#%#%Ñ£@#%#%'ªRD!4dÐODõ$ÙOFž¡£õM#.€ò@#.Sj#%#%#%#%#%#%$!#%&@bh&M#%M#.4SÓiˆŒ4	¢ #%h#%#%#%I¨ˆ  L˜#Až€&Œ¦=&”õmêˆ{SIé” h#%d4#%È#%—ÿÓ?£Uirê\ÕQWwk¹úµZvhʃ>5Zu!LA³ ,L•Q*"€)æ°Pcõ§óü Zü“•5OùÓ¦¸ üæJt¦î£đ8•WoT"¢]^SÌÆ´_3ý†os2ìÀlDs‚4;m»qE6­›®ñ‘ÎÊ­´ÚMí˜ÖØ`Vd…â]jí◘•5o‚#	åñ÷UŒI7wD¼áÌKUå¦/žÝ~«oÔBäE"ªSº»U¦ÖÖ5k3khȋ  €7#%H*-E	Õ:¥”$HŠ& ˆ" HåP°	!ß#%hŠ–‚¡#%ª$@dPÉ@mªfL…’ŒÍCLÓd@M$Rj6Ñ35–25)F”Sm&‰š$ÐJ2ZšQ°h[Fi,ši¢Z!#.F)iM€F¥#.1eM£DRl–¨Š–ZSMhˆYi#.š	ƒ(ÌÌcRF£Qµ&ƒJl†BjcI@˜hÒËHÆR›F¦›"[M¶³U´i˜’ÆfLÈM&²m¦ÛM65%)-5±–¦Û3fZL“1‘f´ÄÑd¢‚™l‰B!Qf‘´R`4TH!`ؤ©„f•Jb0lB ‘XhdFIR&B4±ClÍ’&)BFRÊËf$@ÒYŠY5“ccE#6‘d†K)	-)¦	±%&EDš2hhɉIF‘($@VAMEˆ¢fRÒ¦`›É؉1M͂ab6¤Ø–V‹$”›‚$´”PRD•’%¤Q0EaÆIL#	”&RJME™±£XHÒjH’b	iM$"H²[bË2ŠF̒‰²™3bdE(͑˜&U4Ћ)A³Q`,i¦†Æ"5+%’6(”R"šIˆ&¤a³LcI¡	&¤–Q”Ôi3HÚ("šh¢kP,&YA¤²2‹%&DÐM2‘*4f6”)1¨6ÄÊA! "“1F4,Ë	ŠÙ&TÌ՘£l¥±(‰™#.H¦!HŒØСYM$QF¤É&ÉØÆJšF¦h±b2’™˜²2³i„¬D`ˆ¢JM52i™!Œ¢)#.š1Sb‹5*R’š)#.‘“2)´…HÅ(ÊHR"‹E$˜’M)´i5DŠFÀ˜Œh&Ti¦DÚ#.ƒ,„Òe‹DÈY‘¦ÉJb”D!f™	k6lmd°$4–Ld5EPZ	XR$Ècc1 Â2ƒRXÔY¤J&ŒE©M(Z˜hI™IŠ$2ɲ#)‚E,Ñ¥1„5„²e"$4M¶¦¶´`™BjfŒ¦F&”RLȈ­¥6À¥š,Å&‘”%–TÙ¢-L¬-”bC؈RˆšD#HJm~Ãk¢¦©aˆÍ¢ŒlVƶ*6L¥4ÔR¤š44´…¨ØFÉ5Y†¡¦c(ÉS*H¶D‰™¦[%´Q‰IKQµ…£&˜D±5˜±acR#6e¥™2eI´*Ò4TÙB+dË"©TÒT›63š¶,Y­“L¬‰S,¦ÖJ²ÙJSLl’‘µ)¬±%¤2RÔZ ªŒ!¨Õ£%AEVMd£jŠÅEH”kDÑ$m‹hŊÔl2ѵ€´™0°U@i€”R	£F2™&•¦±ƍ¦&±‹d‹i Õª–µ–*	”ÍKY4IR1!M¤lY"¶¥Y¶1Jm*–R¦YaZšDF¶•K"e5MM¶„”Êk,Xl²k+,…lÓ	¨ÒD…bÃ4˜‰!´…-£T%¢†KQY&š6LšJ,ˆ&ËŠl¤#."+,‚E1”ÌJ”lÓ4AE¢Ó$&Fm6“F6ÆÈS¦™cE%bHÌÔ#!4LÔQ¢JdR–P5BTÀ4˜Ó	J™²Bj-#636£)F̤’Œ£!HbÊkÃi4F5&Éa$YP…-4)Ě4Y”©””²•˜d¬aš,‘±jE¨Õ5£4ECF¥)6b¥fQj4		2ÆA¦&ĕ%I”1Ršcd¤Ía)ME`Û0Ù¤²lf“E˜‰CJ2Zfµ‘hTÍ2–H’l£0D2hªih¬Òl”Ä,LDÒRBAh´[	Q¨ÔQŠÆ-–ÃI†’M#6LŒRˆ#b-f›C2ˆ6*2%,¤©‘Ñ´k£TI¢„Ë5EŠ$Ԛ£PdðŒj”¡kA¥4Ë!E$Š¦Ih‚5Eˆ±JÛ"¥F±¤ÁdÑÌ¡jQHfJ$©±(‰•j#V#.2,Y*6Œ)‹4¢Ù2V-­&)+)¶D¶M¡¢T’™R¢Âƒccd£dÑ&#¶HÔRLÁ¬ÉƒA#6)³6&"šÆ¨©•“Y‘¤)¤šŠ¢Š&›RV-”’ÆɈ£F‚4˜2JԈÑie£he¨’ÑjŠ±”£i5² …Q¶5%)ЙÈ̌ƚ‘LÙ&kDlU%‹hԕ,«&´Lڐ1lj £cc$UE2©¥XÚ6¶1mI˜ÊQ	f²±-F+iQµ´©QJV”f*šB(4X"J&ØÖ,ʒ+I[M²“+FbbÑIE[l¶¬R&T*&$¢1PÀ"CFŠi&ÔÃ%XÛØ´Í[F5¬´•42ÖÊY6ÔÔÛ!mI¦¬ME26’QA°ÖjMI™²Êˆ B¢LI&RLˆÈÄd"Ù-¢Ñ‚±“þn··ýÔ¥C)þB51jÄÿTqôe+(a(Æh”‡÷!þ§	ûbåÕ	LÿL$hÒlùNzí¿Îó±½9¿‹øºô·¦SUIPª?ë[ŒlȟÎÿ·ÖYLâsÈ †ßùë;L(0\:8À¥‰pÁI äˆd˜*ƒ‰Ãß±¢rý*¤çÿœ3ÿ³ôZÑÿÊI(R×+ˆ½”g™,$b/­Í0ÿ-‹npz%ZM‡¼íõâ8ßwB¹ÁŒ¨d~ËՋN؜“ÆZþ,3cRR(l“ŠrrXˆþúݳf¤áV…cÈÌ`I¥Û"lÆLhƒcôz瓓G]“¼î˜Þ¹w§¥^¥ã\³Ë/âuçåu™Í\‚LŠëP¦"W‹4LªvcK™@¥JAF&ēM‚ê×bÈ‹Ò3ˆ(êñç]¨eñnY½74h6m`ٗ(c2@sªªzoþÝ(‘ 7p‡Êc#6Gv…)†ì,`¼rÂü®R[ŒR}ßÒëdzçgsÅéšÐN×VÄQL0¦Ð¤Y;ùd«Ïô8$ÚÍÏ£˜ØÐ؞j¤Ï(%?·râƒþ°Ãµ“ºÀ¡…†JÅxžß÷k¶Œ¶cÂx-›2KËw%€•¬C°UyáyܖíÞw^QŽr車esn–CQW6éçqllO²ëå5¼Z4EA¯»ºŸ?_ÆW‹ò-ȦWÅȶÆåÈIºÕø¼u‘¨Û?Go*„Èyùæ|m<™b#4L9cuPEX°ž«©#.¹t@#6A!´ä#ñÆ#.¯)ÎãÂHˆÃz”^+›Ý\Ѩ8šë•ÞwcrŽ•Ë™(Ë®é$s™5öø‘ZA„ÿhÿŒJrÈ.YÚlCÙ’,0!MðÛtÉÈe«#6ýR­‹ÁÃ79ô,ýפ¾ìÉþ˜FtÃÏxV¬@Gô¡€dž%lþ	«p’—<kìÄ9 c£ðÐÃ|¶Ç™“#tE]HP0îT[æÈ؃Ù_#¨½—zírH È¦wâԊŽÍW†7mxþVYê?)Ärvj³oQžwE¦m„e#.¿ÂdԂ™ç™×¶b²àþN!ïe §&¢”øuû/ÑÏKà`ö§nínœšùT)"*¤#6d9#c*w&靃bۆÉðfR6zš®:'ï.àûì¥k,YL#6N*}±ÆyÞ>Ç㊝UË"õ֍“UO«pi)8ª—â”+ñ	§Ó¬,‰±Èj[þv¼‹lQôÇôa™1Kèë¯Ç×FÌ÷¿SªÄ7Ím‰Z½&#6”*‰£NŒ¼Pâ-#6¬AË@‰*•{iX<ÙZøW÷»(Éðâ»EEE¼nY5ÆÕ͵þ—ìw’>ÇS6½•ß‹«¦öøÿM‡fhŠF¨%2+zmýW!†ŒbSQIðîÜ®÷uVé(i%"÷@Xš'+¬¥&D§)J²‹šå¢¶/]öï^¯"R¬•k¹bÑ_·-×»±öõÆ*Š|ý{ü=o÷îèë˜ØÔl›|ÏÀÞ1¨4–üŽ‹>õ݌>¬žýóL—ÖȲ"4£~"Uä¨ræPaŒLÖ¶jϹ$Â![ÙùzÛ²†F²lWßî«âøùÑÊW=ì¼4D‰Áa«l—AHÒPŤ'Ò'mBµ§…C×Gƒ¶éE2„R]U¥"»wÕ¬ü*ÔðХ߲œœ²ôî²Á‹¨ÀSE#6lÃQMZH"JuœëJ»*”Ó#6I¢L²íãe—¥Â„S²ŠŸ$+b¨¬N¬<ÙkH](©É#6<*žoЗçAJõÂü/•;q°óap×^Ro^X„jÅÄ"_gñ‡Ë<TC—ª¼s×y›¬Xq&ýqK\:05a–áeF1PXäiMö÷3g{O4Ýur™gúkßÙóô€oÄï3Ã)#åªiÔö¢'”־ʣôwr³éº8;+¹+Ÿ†oìÑ®Há m^L¯q#.1¼öÊIr%ÉnCMÏ}‡×–ìƒ6q¸v~„ØÆ5.›|båÙåA„Å#ƒ™S—<*Jtªð¡áô\äáDäÑö%*Éú9ß<}/²Á"#.“L3¦ÙúÀýv½ëåŽ+’ù§T-±·,»í¶g)õïDš!;SñŐµaÊà=±3œÏDKA´](´¸åHvÈÍR߁#v/6P½E#Dž‡8qêΰâKè(q<åÅð¹’ý>¼ê÷Œ:+#%ñ²(\HÎpÊ6疴zmï*'Ü©×1Ù»á?_kŒ#.êV£„ÊFyûeo–Ðæ”$Áª?•ßjfA›­v߾ڜNü£ƒz…$…!¨.fä³Ü¡Ï\ˆiÌ©Ê#.#¥ŠÉE0F:E&©¯}ٞ…µAîg]°éˆÃp?X7d1€á\NB=}ÙILÆ˜#6P#6íç;¢gä˜ý=«»†"ž<ú¹áïïRî:I2Éðˆ\õ­q.Vž)gɅ,Õ8`¬=jPŽûí‰ÞèqëZ®#.þø¯,nM´B8÷8»è¸×µÛº†ä1ž‡i‹l÷õm±Ï׺|š5Ì=Zí鵦üLuÙ	$‘(w0©WX uÒ‘Bd˜N>ù¢Ü¸I¸ì¾½i“íE•éËÒêwë+Õ^{å5ÁZU{Š)ŠãÉÂé¨c¼T˜ì˜í§	@^†Ç¡=4´îç ʉZۍoý4^Û1¶Ã‰±öíªÆË ˜ò-—îûâû™§õoÉÜn¬æU>õéºiúK|e˨†J/±ßåÇ}m}w*IeQ92e@êÛíhQAA9¼CrºõÝO¡¸Ëðuu5¤&÷JÃF}w/Å¡j©jŠÿ}…(©	Ÿ+þ«¯½û¿éºÚ|~þëÇT•öµö°ù¥±G‘R{¨«EŠ ¢€úªS>,õ‰÷öæß»åj»çíj܇±†¿•™Yõ¿¯œõâ‚ú·+$‰þ.hÚ>n·‚ªôj£]–P‚ꩨÆ ׶{âÝûïg˜œå mk4µ“O§k{єÇÛEË£õ;n”dm¥AyÑQŸ#6ÚäúÓ«f‰Í²­ãX—8T¾NL\ð—ôPè‹˜1 øˆ63œYî y²úUM3¦ùÝ#.X˜|è¤TWù“7ìÍÇΊD^jÀEŒR,Œ)9Õß¹ÊÈ·)óÜьûúuO³~™¾$_¶ÏŠ ÊsãÆ4?ŒZu>žì]1yÅøÚüžkÓEµÛX)>óOÖâm8s´Ì‚ëéÞO–z\àÚÄÚ¸;â¦R¸Á1ŠŠ~FS_tí“Rn(‘ØPñ¼b˜¤Rf“WYüÊ¡êô„cì×ùúù«ÜËÎP¼B´ ú’Yׅé¤DQQe0¨x~‚Û{*©nf £ªwiX‡T¯)œ’6-Ï;Ë£êw³$3Ê¡¶Ö}•TÛÉ|-ºz²8ï5›`BüéÝââêÖh¢’…ƒÒ¡¸É~¦™J‘‹Î€¤Z+¯¦9r¬èœlÿV´xð¨#6h6ÀêD¶x0¥Ë)AX›³£*0²¹ë¯_#.Ç·†È÷zìe¥HÙÓ,›¿µñïñ²5AòõÁޟŠ{žeÔË7Sú­þ¡&yÖYñ¯¥³LÅSœ¹¾Ù?•”¾ŽÙƒÊ-„y¯69^èŽ}ž¦pà†BI‘iK‡&±nÎǨŸþ³…éÝs»Î¹ßŽe²‚ð,¼&2:LäßÏå[‹«¸óxHÇ®*–Ø×ÒU9„åé1䌟DL5;þ²ÏiîÐ傄QT nUّ`ҟ#ÍoJò4†1Sºëïv馫ÚÕéa離Mô4O|®­–I${U½órà¼0‡;0©*ÃzG/½7ƒ+–#%Qb ]’öÙK\.ª¸­ÌÖ‡÷)	I9q×ëa¾¡—¼òó#.ÑýýïÞ5К¾ä¬×w*8ÙA—'<ß:¥˜bÊï¬2×ÂxÕQn:ú,öTl8:<ôáyï9ëCÛ¢M\¡"#.JvX¢=Êóðw¹Ô%g±œC͕P´GhaÑû£™ªºÅH…”ö)¬¾U.ÎõۙÂî‰A=†”sÈ«Ôs›H]#.¤ú$¢8.‹\Ó³Mìòõò³ޛ	TÑTaÓMš}ªP‚	«½È¥>?‚¿½¨èØkÕborR#Rñ/ŸÌç*3ÔÆѦø–Ú4u©ð±o‰c‡ÈÞéñÇ#.vnV»pÁáã)r‹³Z”,ª£Ž.O€êÀ’·}zwîÝlnª¥Ÿ.LQøy×@EHiwýÐçç=Q›q§"%V2&0+VŒq¬¨w=Pë¦uÁ7ºV^-Eu©QQ'çU0D}ÏéޙNi×ôñ$¤úÊ'1ΝK¯U=_­“lS­#6´íŠ0ã×D­1zßÆǾ+âdpڈô±æZ?wéžx½\`<+½—f—Jøã×~WKËÕ¸îáݝ8n©$z«G»à<c½Ì/Y€á÷ˆÓÂ	vfˆz3ó¹L´cz7k­ù%ûÚEΛY¥ñ¹-J`]ÞBvP\ÃÚïŸHm2LˆMßwðrÈ÷4›:ðŒµ¼`¡‚¯\Ô½u}˜<(ñf`¨Åˆ³÷ôͽ‰UQ9c:ªO+%‰ŽöPiP/º°<H¬§`±È6,I<Y–e"4ECØ@f‹zÝ«šÉbFŽõ™G¡B>q¡z<À®÷±¢—Ù è‘ì#Œá?Ÿ—™}ûI”¡ÓL»_KÃ'ë—B¶Øÿ#É+ù¢ËÖò„|ÑúåµömŽ±‹ת©ü°Œá˜Ç’7û"ònþ½bôŠ#sh¡›¶¢~¥?~´›V]6k)0úô£	¦ÙUBÕñ °Uˆ¢,õ'«@ž5ûÜ+ÏÕlŸ±X6µÉ nŒ.ö{pùèü}´:ÑÚð†y¥ªŸbsf19%¢ØñZ³æ#Ô#6	‚ ­ê,&ў3|#6y€"ú.$#.#.æuµÅ.÷	éÙד»*{gd¾Š­evKfûQοí¶ÒÌð7N	›hÄe	hP"1b±êL`ÅMm¬"ã-ÅX]#6=™©Õ)˜«Î#.äÓ2¿+]øºtÉg“:Ô00Y½UDà’ÆŠÛHœIå#LÇ͒6\j¾}›Þ#.‚Û»Æ6Ñ=U	S¿ÑÏޚtÌ4såÙº"ïg³.¾‰t(ÄÉ:qþ²c1û¦³^¹ÙÈÕýÉn*fb’¢fƒÛŠãš;èXhêöÛ÷Ç1•£a¼s>¬=N#.ä÷Áý(ûqÃنfT`ÒalÚÞœ~2å8ŒÀr¥‘Ÿ¦!:Y@àe¨Öj¡Á¥N¬Íec±;8`i‰j%ÉÓcW?äDM¶@0L‚¸¤\Þ'k‘KŽ«®NºËϧcV*±F֘Òßãñð³Ô9O—äÇ»éìåôÁõ*5,<:ؒ|EI$¹$G4¡Õ{âS§#%bŸeÙ‚‡TöŽ¯äìÚÈQ·Ø!û€PveòóêÞ6‚^—ø\F´÷fX=”*´nïú>Q/ãnNQŠž#64…¯¦E¼×^Æ~ú“’`GÈ'0’õÍ\P”DØLÍÕ7؃Ku„ÑohsyÛÝQ¼ã*Sšçsƒ;5XvPÍf8uŒÁ®[˜ÝÒS¬Ýϒ³•ÔÍ4”¹²†s?…'ÚÝ­iÎ;¾n)tYG.å¯K|íMÆ×6AâÖuü×8'¶¿UÊҍ»*se¦ܙL)e‹8«|Šãý×W#%}O`×|AÊ>ƒbm€fò†\sIÑO##y3£Bé#.⊠}ÏÕ¡n«r£CDb+ÂÛ`왭úÛn¨>O½Õqòh‹¼’×59·b¢	fŒ~~˜V#+bç±^Ug•:^óŽ×ÿxºTq(Ū¿1™y{T‘áâzÒÔ²?[좧sˆÔ5YÿÆgk’—qjûWXvã_WmMÆñuÍZ3¥Q_{=’žì㳗¦(5#<IÛD9Ü÷3Ï^—’y%0I†jÂÉ[J3NMíT¦nPÿG†4„–_oñï=BÚÓK¤JÍ¿‹˜ï¹¹oŒÕa^ݶxe@eˆëªã8GHºê½ÙGÄƊÀú"ûÞ° £‘’wñ†ýž~Sa¢œv®4L§Uz°ÎÞÛß²+f”y´Þ¿#./wWdË«^úPÄ´¤áYKAq:;åG2jT	wÌCˆ{¿‡ÚœC¥™k5PuÝrª0àÒs¢l+«3Û¬#Û8]ŋ‘Tœˆò»Ó:—úûâ$KÈr™‰0ʏâ(\ñ>ˆ‡„æ©CÞØ ¥Î]«m9¹ÙãHˆ	X1ºÈ½7¸ÙŸdÉ-”K†OèÜû¿—ŽqÛDˋâíÜ×s²žó#%$̐Ø@²š%"£ÏiñÁGn¦·—›šÿ¦åg­sáºÖÉÑosã¢Ñ+-¯m%b”"¹mofŽŠÁfm{pYpÐØoÆ­Z”̸Â4¸b³Øúxì^S™ÎuÜÛzVþîlbݵ Ï°POæÀŠ:›»ˆ¾Zn(Ô#{›7)×¹LùσãÕñÁ”€÷YÓ¡á‡õ"6zXø£°ébc™G“ë-þ7J-YSՖ#.™[òw_#6}P$RF/þª:üó²§HèCþCo:“Të–=49yz¿ÃÆÊræĕ{´R4IÖÌom¨3 ]•F“m;Àuc£tÇloz‰Á`(]ô¿5Œ¨å¥÷!œ.º¿»ZUǤe(®™¯ù‚Ê<V+Ύ3¾Òÿ™Ó²uèæ:»bà-¯°F–|¦W“ìºS·§Œµ‚]ëÑöá«	Ø·M(ŒW–ù¯:ŒýuÊ:jÝڏÌ£H¹EÑ£8`ñÅتá¨à³ýk £Ã7c¤ü¶<ΒW‚=ëS¼qé4§5#.-ڃ߾›öÝE3ÂcÈär¨Äžù§L¢^3ýލ®§r"ßM¼}1(gËD­ôÑ%¯PÄIƒ¶ôÄ`ƒ³”CȲ-G%nG5—lV°‰À(#6QEc—ærÚéͬ١C8’z³‡`Cß½uˆ.7ªY`ÞD,UGÊRÌÑvp«œOøg[\þ–]EŚ@Bcvß8èˆÕñ]Ñ·7ˆŒBov?Uëì”?ë†oŒ;2ëðÿ…¾>^ŽR÷ F““Ö\«ÈÞ¬Ãô²†Ct½FŽ«X	8Ž,Ò;hŸ˜Xj¾$8ÍûYùüxpå»È6püà	·Ý¤$ÀA7ýc€%#%%"A/üÕê¢c–å9Xãßá]5GóÚY"E5É#ÁÛ/*9/„QÉ?Bu˜jÑm-Ã&é;ýz|ž¯‚££Õ¨l@'ñ(¢¹*öúi|GÀS«êÓ©ÝœKð!7ÕmVÐÒ×>ƒø³9€&u ŽÈ„ƒ#% ’ûÿÕ»Ñþ-¢îÕáø­ÇîäévÞ»¥	#.cc¢¼¢ ÎD×Ì@?Ç4#6†¡o轶j0–ê**Ž¸ÙsóîÅÇ#.„¾º"MŒ\îª"ˆ¤‘ò©¹#%gíޜá4yR™b(Ñ>@€òtÆ¡R¿šÒ]eÑ·äsvÓ Én(+VpäÿE®‘+ü'6¹†ðN°¢3¤Ä[(ZŠaÉ»I{–Þa½x=™Ž9"1ˆ[ëJ¯lê1­H#.ªñŒŠ%OÙŒ#%”ì#%ÄcÏm¾ÿ¶ç•aùã¤þÑI‡ç³ñåú#.5™ðׯ_ó~µ?èÌO“HÅGTUÙÀM¿ƒðý¶y´»õ¨5ц6¥—Ãcj™b²ø§¹ƒƒ$|_Cºuž0€^~c_ñd°"wƒ#%°>בj>ðõ—ER=Sþñ¶s|º5ŸÛå€Ãm¶fÕ¿.Õ4|œåÝj]“³‘¨:;£únŠ>’Ÿñ:ÿn@ é)ª×fËw#.·l¾¡ßþ0}÷îâ£(WÏÎüoNßÛès’{G4ÆÞ|ö0t9×bbÎ?GÝ÷k_ÁÉfª ž"@îkò•X/E÷;¥fL¡¦¿qößÕ5¼8±“d¢*¡â{/Ìë¿D4áÅtɚûàûoötgS³wÓ>¬XB§<ÈIÁM•mGý—ùu…9£Š>¿zsáþ¸'^Í¡c®¶7Bªƒ+ÅÀ3ïr˜\«poª_P–ÜâÛô=‚TÁ֓æõ§º»¶4ZMI:îäٜ³[Ê+Yòȍ{Q”Óho³…`#67]±áÄRd1ÌU…²[d"ˆ—”b$#6Jk!¬gÛªLk Š$,¸ûÌ£Ö[ËúžP&¶Ï•¢U´’†ð¼U1#ÅË;§¿&b±A…1dy%*üüóŒî€¨"/Z7—cûÿuËBˆsrœ™§¿-‘œ$ýþ~…mLÀ:z®X»U ÄDq#6“Ïß©s	<=Uƒ¨~L	…¯R›5¸}ŠÛVIé­³íLg¦aóÓáåvº˜ÿ_E—F––	-™áG8˜Ÿ“?ûmRGÒ=bSfqÖ7¶ÆAi+sèü"Ê|;O¦$÷#I±aiñÓíÁº×®[Hå[#.º“œu€ÆƎ²X[ȗ¡J×<óÙT¢ Þº™ÆÕQjª@J’ßü.Å#%…W&û9œo…èîD@¾Àß#.âë…cû§˜A,BCG:l¡úkLuÐ#6”‘Õž?;	éõæk¬‡©÷‘ž#.qÌvʐÐ3:^LŸUÈk4Ž#6`#.~•H‰5ðÏٝž>Ãõ›÷þ}¾Ó¯‘[ŠhyѺBJ2\¡~¬dâe#/¯ÿa7·§4ãYUáCÇMs÷þ{¿ÍcB'$Å;Ç©·8¦ø¦#.{,µj€weß#.røâ^˾<0fxþîÍÎ5&Ī¦š6P·cQǘ"5Uô†÷êŸE7¥ã˜y–l)p™Ú7úµ!$—Ó8>ž{K2®rãyòUçD#¯lüw¯åz€ã=wʋÝ#6Dn…¸}^æ¡}ªé«)D¥ÐŠ”‚]âuq·à¿çÛ³2±³…®\ÚS{ûìSXãÅY%qßÀn©ÇA#°óÑUá]=@tÔ³žÅj&†Â»Æ5&fîŒðpK‰ ¶˜Sd&vEÚ}´zGÝ*B#6	ìÃQ>Gêp¬vþ—Û…m}M‚ææ‰ï¤É*Ý0ƒÞþÓpì÷Æûè|A²vB0;½–k[Èé#6¦h˜"#_	ßzéòøÍ3ã 2&ˆBžÑ…5Â6‡…ܦ2,,»¹Ç|زØR¢"ÈQˆæY¼° Æ҃•ÇLkG>'ôjŽ1* Èéô‹uüi‚S1ëŒu\SdIiÆTˆ°Š²O¨6ƘڱÔᝑ¢»µázl_gêÿ8hx”MöX0-ôî ê#ôéŠsüKˆòÿ5ö¨»?#%Ýyx®)–˜À’7 y#%í2òw‰ ÐPc±  Æ#%tÀ`=!#.fîÁN¯%Ò[^v…'k³Q÷Þ´R“̧`ÆzÆ) û¼nuí¶#ÎÃí?.ÒIpJ[¥iB¡×*,ÂÒÅ	š=ÕÕ`„ìQ×pgc¼Iâèez«ôC,Á†f{Ê2ѪRuš„Æú	빈7©Óyå_æ>£vöt…µÆ|ú9´VKœâR˜;#6(<äwãC)ª((F‚Ïv0ñ2hÊЭŒ–ˆDÊ#0+C“9°z“˜¼•]>ÄlÑJYb¦„ÒTœ-¨¦Å¾bàèÁFrÐpõŽ*(~¨Ñäû£sÐÌꆄÊ4 u»y!jŽÐ#8±sy#.bƒn=>tzËÌh†Á¡ÈÌ\åê¦å­…bPõYÄËþ:¹Â—nTÝÐ`¨é“Õñ턱ֽnz1»DR‘Å+‡GèobŽÊØÛÑ£ŒU$2ÖåŸ#tóëñØó^¸émÖ½¹ªO8«,›}YEω{^ÜIfxOÐpLÂÅG•#.pßú¿‡¸ÊYE³>vKUÓç¼çûˆ}šgا©Ú§^Ï­ÜøÌÍ+#%®[Ÿaœ:9ޚœ9ÉÃd×+àB~e.wµ†¼qalñwE#%{j›,dº*1—®íwyæ]®îëO‘˜ÀFŽn‘snZ*4x’m1|F¢ ˆªÝ4s¡ÊŒý֞{Ζ¹,äl D {#%ÓDhM´ÔD)$CTÅVƨʍ£}íÁ14LT.%"¸ã#%l@'D188Ö÷#.A³èòñ®$Õ^¾0Ʊ³\´h$‡{Þ®#.NUzJ);I?×$è±ØíJö»‹?	v#.ê‹Ùö‰T«T¾î°¦‡ãaÆ»EÀø5vÈbãlyA}·É¹»Ròš¢C÷)K.Ç(…ösN\0p¨¨S"Ðoœ*ñ“!WTðCyp2b2„ˆè/mû¬kÙÓY¢Kn9‚†¦µJ:¸Ü­³\ü{oM—h]¥ÂŠfŒXn#6àÛ¯d	ә/Qƒè؅E®‘KNÀá®WöÙ=þ=^u¶Ã?כíÆʓ5çãœ+8~я…ZF0oћ48Ã@òð_¾*Çc0Z4ÛþþJ˜°q …áF‹Ã=’tÌÐÔ%Îln¶b–Š†æ˜¦Àé˜JÞ(BwyÉ.ÅBjܘx†HÃQ•TÊ8¦4c#6Å|mñd@ñ˜#%†ŠÒ奉c‹6PºËÈaFĈ`Ÿ]ÿw&ÅççqÕ2ü2GµÐQˆ¯ŠÛš1R^+¦¯LZ¾•yïÛn@m2(ʼn£-eFK`²(euDÕ8IwN`;ª–4,œ:$VbV66ÄPEBD	2ÙN—ßYö;üó6é}rÛ=ùk²#6_³S0¢³*¸‰B¬¥yÔy¥,ôS°X¾.‡9€¶¤Ëuª‘ë@+ë#%)|ðÆÔÔ@zæX"% F#%Às´õ‹&Á;Æzüiûç|ú¶&í•Ÿïö툝0t 6‚5à1”L Þ=Ùôãõ¹H9ív	¥RÜð¿4‡Þ{m›ÇnpíÔ+ãÍ=ŒSº!tî#6oÅgcì—tn€…™©t,–Ülu„VFƔ±#.Ù%Æ·©ƒ_NÃÕsËÏù*\¶µ8r&Aö„²ÕÚ¨N6˜‘÷KY¾#¥ö’ZԟŽÌì:‚w¬9§ƒUf ‰ÞjÂ		Íñ0“ÀF•‡+IŽuœ,—<H¿ý…ÍF;ù]õ½ =ci?kÓ]w›©XNړÃC$#."oáo”+wÖÓý6Ì<ärÿ‡gŽ·²ln{²ïé£ú/ä#%Ưۡ¬Ï‰”ªÜåŒô¥ázY].Lè®k¥èÐkš#.Ï·…g/!­¡5ªJ ±R%KA¾Ç³8Ávœk#.î#ƒßxÄEûÈ¿•÷þÎȕÚìv`‡‡ÁÕåEjÜ¡ˆøØ¢Öˆö%ˆ#d¶{äs1܁“‚QãËðÓø—É­Ïe·­’&¸r¦¶Äj¡ýÓ;•¤5wÙ1#.Ä)r­Á·÷íÌiò/:'D\ÿl–Ì€m#.¦2!Š1Mäñ&¬ˆ¬ƒF)š˜èdXUK¤@md”2,ÈtëE„4'ÖFÁ°5’‘F:Ep[̐ÙRMÔ0õoïº5"H­J)#.’í¤#6)$Õ¤o.؅)ڊ"0Ñ¥bÈèQ„Ѹ&bÄÌ´‰cˆu·^†ØŒj5 ÔF=3#.M‰C˜]˜o/Õïâ÷~ÞaƄDbšÃ'™¢Y鱂‡˜ÍCB&g×LF[o×QLi‚†•Â4ŽòìÏ˃GdÛ78¬Hý]Ñãˆg(q5ÆL¯;•ÆÎEêRiü\©Dyb9iȦaš<µL£Õö½w±Í£ÅBM"1¸È¥—Yi]Ã\†¶…‚Ýb»/•Ì]Nç†úséÇp#fâ‘›Œz܈òëÑF߉Äå	.¡‚IÛµË#.oQævyيxq=L”°¤XÁMÀ7E+_î9x:ãOƒF#äøT`¡’œÜ³µq›„ùCåÊjm·}#6±;¤½d‘JHµ!MSxžLÍÁÁ­ˆàé#6\³•*"ÿ©©eã‡;ߎÏxý#.–q#Ö§i¸>NcUGEæÿÏ^ۤɎà˜4ó$„Á;>)͙n$"˃ýȵ7æ͖Ѡ÷šÈÙf1¡ýê(v Ž h«éC5ל`ò ã{Ô R#ƒ7(HTZ'ÖcJ­:7Zf6NGÌQä8@ª‘sIÊۤ܎jì’Ú#%;qŒÂnwj٘Q±¡3¿Áaªê©i·Š(Vj¡Š(bõëVðÖ\ÓâM´0kD>§¶U‰„zpNzb#.ý:ë8á“âJï}ŸC•ñ•Ov(ÀäOË¦Ãÿ¡˜6ˆ8H^&ì×¥±Ó³?òtÇy™ë°#%#ûý¶¼·6é³]Vâ¡3‰ée›Á×GY`IÁ´Ú·%®Š ¼ï|HsϺš˜ÛE“H:u™Å) ²,Fj0ËsVºY#W6é­щ(4ÐÅ"´4Yˆ„aŒdtªÙ#6‚#}´‹Ü¶`Ø5ŒMõøf¤ëÀºfmjÎ(#.árµ¯VŸ¢¿í;'\ãS—´)=ǸöòÒ#%'܀”#%›½ƒzÜ\‹n@|Ê¼îmÛ¿6ôÙ	²êö¶¾7Ç¿ eÊçó)vaÒ¡ÃHF‚Á‰ XÏÛwêÖ?!¿òџŸ©›Ââýj—̞x‹OuƒÖwð4r	}ðÛãæáŸ7>ñ§Æ(8Ñ_Ì]`#÷˜úv#%ƒHÑ=©“UŠ°Q0…þrm¾H%x‘;	Öõ‹™ý¹….?½VI|gxûœˆq¨[$›î}PT=]‘#6Lk+ƒì ™•Ïãý¯²K»d9r_ Ÿ¹bD³åAˆÍÝðü(òìù· #6#føåðÝÿ¯c»ì²BŒÜÖÝÕÏtê~jðêêçßlúü3~i»Ónˆn>ûy¾{çñ~ùë]—‹ Þn¨`"1€Ø{ô°õ¯ƒ©Y.HGs$‘å<šÆë½\GŸ<ŸDºáëߧ=~ÏÕþÓCrqy!áã^H³U$ÅÕ2Änà cèúÔb3AÙîù½ùa.ÁGc@õ¼#6\Q\RÒ9¼ôUäÎ)u”Û¯ëqVÂRVÜ°¶·úûJ#%Gh¡ïÿÒ#%f—÷,ÛQ¾ß·èøvKx#% œè¡”#6€”»—wE·B¸cÖáÄîâ§Ï—¹øj<}Åz¤4:C폝Öï÷7¥d€B‹b3Ôíh"™µ%“D˜€Í•,J/Îã14i±WöÑÛv¢e»véRŒIKûR…IXñ¥·õ‹jý_È^Ö„ÒVÅ&.Ìýü²Ü2SQui¶ø]ˆ!C†û^~7²^4snë«u*䔩󫺱5øuåw?çÔÕû%`¢åÑ©ÉãüjRD>=>ÿòu>œi>ÊÊ:##69dc|›ŒVþé­nmü/®ž~çú•´J:3#Þ'$!éþÝPY]oR®ˆm½$­òZ¯&Ö¯SQUQF@ö#Ûá aøè}ΑÙCui±œb)f¢y&¨ƒŠ•D éƒ*þn&NSìÓ°%ö$¨áTò¹^%\…™ýÖwbIlI{VTe—ùä§îjŋçƒÞ•¥Ô:±…Ø1†’µ&óWR÷ñþÑùùÜ>2…ÿ#.#ú6q4¿~¿•ù·X30~>êí{P?œëF(¢,Ö>_#6à3~ž‘­Úˆ#6 0\îr›fžÁ«#6CõÃü	j1T,jƒ¥q¾#6Û6Od'@h'Á¤¢$„K“ð²åª¯1¶	œ½šô†±ùː=rÿˆ2·æðWÕPŌùw©1P°æ(óډùPŸ™´†îΔVåRh!0ÁV“ñJ@-I[ú¤\T(–#6N=>$oŠ¿ƒïŸ-#ëüþoÌ}÷~?©¿SÄ>áŸçú}+ãä™SÖyà-[O¯?8Ñ[úF©î»ÏDÐÏcÒÿ½tz/Œƒº~˜ùÓïá7|çé6`¶œ¹‚ð‡ÍVúö«Ãñ˹G8©ç°híýqpä"#.ó$`{z—EÂêVsãbÆG˜¹ÄL¯“<„OeпõIGá=}}›’ô,k±Þá<öv}²#.¹—iÒå•ýº{ã¶+¦p±ß³0éý¹@ÒÍîÎÃ{¶uÁ#uwDa n'ª@ÆpTÏÝc#æP”OR˜1ß@y÷^¥ïPÊí8jßeÖÑnvµåô¸aËA¸cüU&dã#6V]#ÛêG²S	"‡Í÷ÙKÎw-ÃÑ4¾Pdé9ïÏåp.Q¯„Ÿ~9r—a#.xR^ös›eH»q(â>ƒýºë9ÕÜ{Ϭý°±øï½áäÞQEV§ì±p2”/Xu|¶]æ¢c=!U%äi?Cù…CØcX¦ËìÆýýøPRv²Ä…¥24q`Þam;“ÿƒŸÕÛ¾×Î_\P Wë¾ëÝ2ÒÓÄ«>îþë¤îº~š¤>¶–=TM@òjj*©¢³ÒB''%=-–uûûHkû8ܪpÿXŽËؼ‡¡&>]°CÒp}!é8‘BvþZ>Ö-øÛ꘶*äĄǸ„$M®pƒ9@øI‡Hg­2q#.SýuFfŸÑýÿ›3ñyXx{Pî-ô2Ñ°oõIöO¶ž–$˜¬'ѿƊâ4ÊјÅ	ÂCcíÔÓ×å	óí5±y¿oœü|zÚ1QÈøÎóK,,$o_»Cd œÌˆbWά¯Ÿ–¥éŠÕáZ¿V3XÀŸÓÐôüŠ¹CŠE.}•<åÔt֚žv¹W‹:ìN#K»aÝÙ<ïíáËXÿZ0þ:4°4n'ô)¿©cç£*(ÑZ1F ©ûÍIpŒ[Å ]E}¹ýæ™æz½Ô‰ˆÈ‡@x#Muaͧøô÷{»þyú¾ošÓé6låÕTÏG7°èôÓ6”Õò}Y]ûü¤~zú›)ùí`¯]š$Ƃ–×=ù\¹µYÖïS"Ëàîý­ßê#õoÛ}¶?=º;~Îícvφ\·X!kÊôCÍ~8ED´Õí«ù¿]mRáã>^Õçá&÷_#68êpboח›;ëvدµZSqŽ§iûöÇ÷oöjíôgËÈm‡ysrËG÷t{œvǃƒh²à¢á`×æÒúôÏG7…m óSžÜpa»£:H~	êþRöÄj9\RAï·î~^ÌîéçÇ]%=†"Ëù™é»‡íxâ¦É	hæ^†LG’ëe#.·s-”ëÝя3Ú÷ٍ̝êÏæ|Û%”n³¬|ðjãWuzµ}F×pé̜°çþS¶1†š¶¯‘ãLSèyµìÑ­}˜í{ù`-¼-§z9Ðó%[¶5¡v»º½2Î;§'D‹?/Ã?À؃}öÛfª]wT¸(9=E)#.]ÙYY‰xôpaòÆÁ¿E3Æ£Ü0¹ÏѼF%Ì.lAÀ>2.sºUÍ?¯Öç½FŽ6e2w?.ì·Å¿–=ÛüÇn¢n–;å"^¯Nù]¦ëûi=Ü[ºó´<Js‘CÆÉÝác!»…-9ý6GŸ£M\RD‡8½;ä¬Dèà¨Xhÿk¬1ÛÝîöj|G#àef®zu?|{?ˆb죩]÷<qáó„Ø2óyúW»î4öùüãØì˜sfö_IÄdaÀíÔ2²#푷Ù#.ˆªú«¾û+ôçñé¾ÎïÒ-«alÙÞ¿(Œô/£#.lŸ<tìß+{t¤3.—üÂó/°Ú 2´@ÎôcL|>y8bºwc|{a²rÜÞÁÐ#šŸgŽwùv[…qýª$R¿S›ú>]ÚwæÿÔtf¶³×֞Oåð{£<î¾ßÇKjØtcú ®ê]·yïìDZ¡¯Ú’ÿ°Ëà” F«àËÕ¤pøzŽì¡Aó:Ð}Ù"¼p+ˆQՇ“ß_«ÐÃ^‰/±m&­îù<‡7;›(|]o”ÎÇO%~Wû™ß2lSœ–7µ|r¯ýæ†ï»,èá†vENJÞá^[#=6{}ŸÂ¶uýŽm™`žóùÌ~ÃýîÑ۟]nåÌ)ÖÿîËÕè¯m¶ÿ£Ïª£ò©#6ù¿GFqŸÂ^FÌÒìò7ðü4µ?w·ö¡(?1œ½è„ŒŒ®ßçõ`¶úO·¯¯Ûï)ÍÓ["†ïƎH#%õ"ÕËÆÐ2Æ P~kZ#%RE¦)#%éŒ:³»“ÿ£O2ƒŸìô„ý½£•<Ý~¯ÏüsŸ?·åõuåÚ%÷‹›WwPì»4ô¿IÛø×~÷%IôiӝtêüÚoæòšº³¢qüµiAŸ£ªÇçÃ@ïîøgÕÓùj¸aõv{À>ÑÀu.Þ?üB…Í´t¶¿®gºç*¯õhÛDAþóSö䓈yGÇbeÎ>Í_ÝøþÌ)Ón¢¹8h¾>#.[¿g®øÔjý	¿º;¾œœ0v½=†áÑ›Éñ¯Ÿìá¡>1û4Šðx÷	gP#÷h÷óñÙÀpý_Yõ¥©Ü;ü|PåVˆQó•ñ=€ê?~‡u±ßåmAì#6`¿Ç™«–+¿÷¶ÔºÇ%ð#.ý‰Ã“¬óS³÷wt÷/vÎná#Ͷ?!b¿ƒpv ùlîâ¹ù;òžê̙/Ð|S¶ž9¢ ãþ?»"(H;G¾÷*Œt<&/»éֆûçë’GK÷Dj`’à–õç9K#%#61ÜT'&D¯žñª¤½Œ[-2è+˜`†IBfH&ùڒ~;†A΋wù´Åð8,†È¿{#Y^‰ýÙátÁôMώý®7Ü}·»,°§EÜÜpà…#.±J‘ÔÁ€ÐúìŽR#ÕÃîá4¶LÜhâ+µw».©™À’Xê%äqh– !ô¦ÏÇ~žIèù}A7Œ®«wèüº!À²h;ÐÁà·-˜>ðÐB)Ø¼³»¥J҈®ǁ“>;ÚëZÁZ;ž|%9µdC–PSx½óƒsZËËgDås£wr×+)°±¶1/1B+SéÏkÍÞ<k«ïQ}=:ÕѧBxóÃ&ýÇï"÷´¹8KÎ.óÉÞiYÉê¤kÍÍê” BI×eŸWRÍ “÷zž4åµ%fˆjŽ|x¥¹‚ê΃0Ϩ]¸RÃbo£<±Ã<âñrgóa^獣Ǽ;y-¾çYð‰&aÈI$¤í"…:¶¾ 8w”Ôu—™²æ\ËÆv³i¯ožM°Õ¥ž„|Yïæ1xÑÀ{]°‚2Çã×^—þa»›Pëø-zםã¾4-‘]»l¥_3T¿˜*|õ„)8óÌõ:„aΓÉ>·_!†(£«F€+~›4sgì¶W×M«°ìÆç/Ïö´©ݎ߶£Ní3¡hžl‰“3û‹Ý-ÌØm=O‹£Ûóp>Ø#&þQ¬½0â/Sß3 þ>mM©‡ñw“÷ì\•ý\}ÿ“—$Ùwü÷y¡ÔR‰$ìØú|¡ô_ÓIØÈDí'¶1ulu³LׄãÏú[=8á'x¿ƒôúè3ú†A¼#%Éé/SØC¡I%yb1ÖFÉ¥Góü™*”å˜bG‹ÑºüCª öIO4|žÿHï½cÀøòŽ»ÚcY|uŠ·‹>Sþÿ—æ#`ó²{ÑÊÌáþBÔfe̍©cv²Á¨9G…?G¥F5¨4iTlTŽ Ô¢¥n؀Ðæ7#6ªÒƒÀ¢¢,tþÍڛHÁ¶¸}=3†´Ö¤On`˜a´ŽÅ-ŽÀ¦°Aȱ¬a¦ILA«"hhn„)"–4±[VWŒc€ì'Ë#.Ss¬6ÐÚ]&6)":ýº[ÅÖ¡É \’6ö‹B{qZ8dÚu‰ýÿ¶ø[Ñã"?›9ÌgBPP}‡¨üÖÊS<¦³ =a‹5þrÐÍAÉ]E··cˆXw\Š1´™ac0]WëøoýOSø\ýV恜#¯#±E4DCÄHèé@ŒÖbï¡i7¨1lXT¥Q&FÈCV ±6ƛf’J¤ƒÿj*P´Y¶Oà9þ¬éšq·ß›åñãrÌӛܙïëûpì—A¾öFþތi|œ-'Ôl³D±€œçj·UuwåËu¾_…ãŸÉfºòöWV¯Ùãõlò:­ŸŸëôeñÖ1ýèæÕ»ê(¦áLS·ñþ>ܬù±ý9Hþÿ<ƒ·ˆjÄU±Ýmù}Zbçvù–U²«&¸ê²·ü³×†íú¡[GmC……fŸj#6#Ò$pçwÔ]uGÜ<Ý~ßÓø¯Ó§Ù£O«¸¢Z„xûþ#%8g#65U6ü;ܶ>®aL~ØY¿w?VPèÁwÙu~Uwö¹\ç3Ü®“šÀÂÐÃÉÑkøÿ.¬&5)n—|?±½¿>¯&¿án®nàM>äM¹¬ý“ûôwL[%û"ûBßæ<ëά#6)_@è¸à\S¼|8¿ÁéÎØÄћ^F+rEµh‘[J%c§l”õX*5¢gtõu¼^´yçœÛÆ9ÍfRÉ¢((Œ©[\0°Ä£#6’ œÙiéÈ¢ Ôch¥b…€È£°µÂÂ44W VR²ÙÿÒ£FÁ÷R­\æŒmFAKT­QeBÑlB†#.°Q’ƒtêMæîy3‘wä%r(*`¥2ƒshفÀXœ;Ýg6®¶JhÇTChÆ%™8Ì+:ª-!ñiÜtu,¥µÌà’‡#.óÅ!ÚÐ@AFšþ§YÙ¬†žuD³Žmé¾#.äQ¡±‰‹$I•8‰ì~UÒI‘#ü,D¢Ö–%\ȪrF‚(3š*ˆÂ®Ôʌp#®²R1Œlž°b¹ÓòJ®x3¸ø!U†$‚’IsJCÙõC‹ID&é½’ôAŒô;/ôôÆNô˜}€Ë	´íäë-ûLH ¬^Þ@ u3ÇD>Õ÷z“´ö#.QùUôhÉz°÷ý”OT=¾÷góxáˆ$g±S—óPü-ΊÃáÉj»#6ý£×£ŸLPL*ø–ý§f¶£Ô§ü!½ëÉ3§F9–û§ùj~¸îîh¨xÊìƒÍcÔºåøËãïÏ›""'NõOU87«6«üVûú„ÖY´¹ÄÞÏÇñ}NO#ûjÒõ@Tõ¹€â9Øs‘•ûÊvA#%_œï†${Ó«”ÔŽVì6TÖÙõ¯’=óø~ç–{àäm·l’_/ÊÙµÇÒBÐ’č–'Ÿp€âqCó9ˋè‡æ÷¯!üyI£×<³ì©«.V|¾ŸÇÕ!‰æª£#6u¬êyÄC¸î'·>Åþ¹õüܯ±­öÝAe;6LèǨ4«9ÎCH¡QH2t2˜wT9"+1r_uLUv¹ä“h—ì¯F¬ÿÂÅꑀwf\„F±>ž™[î÷QâZ%T»…#6ÏÕ¬ªŠÿM[hÅe”£$#ˆÜ‚±#.D¿ºÅlÅ˦ómòØʊŠB‚YQYCFF¶Ï7®_ËäÇÝã³áê_{HUuí;wùüÿ§OɓA󭬺!BAT‹‚1ž­sa虑sÊ,¿] WÚh&6p¦41-6—·n›ÑHÚ)¬1=j ±o\ËA„y©Y¦=Zﶊ°Ì#6Ô«ÉgAèpE30ËBƒH¨Á‰”V¢À*ø¹¢hâÒñ/mˆŒM}RdCÝ7ˆÌy#6Ú´s¶jdßå$ –8ÛAmb{€„&‚ãì͆¬o*ž©H¥›·86AUƒ„Œ‹³àrYb‘ÍZ¨¬ÛÕ§hCZ­¸Æۅ‘2SS­DÍ#.H#6J lXdL1aˆ4KDã#.­‹G‚í3³u#.Ðá1¶“­¡×l°lôÝXÊ-“m(Uz§ûÿñhɐäŽø1†µ—š(UX¬0âؔ©DƒlópÈ#.Ìi@¢OlƒÂÕ·åtS¼'Þ30<sÁ„l˜Pt⢲oŸ»ø¿“Õæ#6” !B#6‚-ê»o.O‹„6öÚº<AÿlqgºŠØÏwìèõfñf4ÙËÆbýÖ}æSuƒT0Ÿ‰’‡44V\áÿwáîÞ:ŸÙìÛé{yзc•(ž~Qïɨ<Þ O û‡Š¹ñÓͫчJt‚zAíÜ'ku#%ùšÇ"#,,‚6űaiUSõÒªˆ4ã÷]áv,ÄDjGH¸¸ÂðâҌi§O®|´°Ud—N¤G#"DÔÂfýV5[ÒDê*#.m4&’Wç§(¡ßÅÆ_ˆt5³…‡¥ˆ3MéСÅA!ðy½ÀÐ’ÑK¥¢#.Tˆ£¡·ÆóÌU:¼]*«EPˆT巗ôùdì×k»¤kmó0¦T¨J5Ël$2~ßØ?sÏêê¿g¯Ì:?.\`<<øâ@»6žñ™>\G¯øøJ½µ`CT<ʤ2+r‚i÷MŸ„š	-+A‘¸·Tc£´øìz^Ƕò—ÅG=Úæ4R뫏Ùî65ÚaŽtHNjµ0 óF‡ÞG[q·º¨ÊN𮋳 þü¥ÅŸ™ˆ¶<ª¢‘¨6ӈ®Ç!#6^¹"XÞ<(²ÀМk]o3ÆÌÀãH›5KœK¸´pLÊ,°¡+&°,”ʁp#.#Za¿*V>#%ÐÎýhÂ8p™˜Í†K§9æe¼‹õ².l‘m¬8ÁV6>d4#±C§›à­¶——ÔAܺÉ&Fèé ᦦ€¬ÒKbíV4˜Î Ø=ÕÝ ¸Døn$DN÷»A£Pӌ+gb†X̑Œ®çFPá2-îc¶+Pƒ¥ò)2ÉÂ2™+ç*³v»ö—w?Ãzwò_Ûü9ô[ߙ£oƒ×ûiþnþAý— èyÔÆÓýb'j¼ç3Xtß1ám¦,¼3êtäzÉù~îìa#.6uqöMۉó¦q9°gì,ªÄÊ;÷ Á͝S¹(v-ª ­ù`kb—ô»­6ßV۾ϱ£)‹`åÈf=NÜRäòAUHtF¨ÚE’ëž1’œÕOSxWxe¶ãjh¨ˆô©Siyiºf6äܑR®©n1v6«D˜E¼	Œqì’T'wÜπ.›gÊh#i™£^ÞM¼h½óé¶3`ìQ±q’&Úri3haԔ9†ÙÆbX±AO}`PwÍUí«3Û¡~ÕoÒ_ÇúFŚ°¤<N=¦,Ü9}Ð'pø”F_smŒÕA—#6#.¬:M³±¸Œ-µÉ°àzÌ!	1IË(Dâ8ìMpî@Î¤2ìl+ñ"V½†Üq·ž*t;$î§iœŽ¨Åo›;n3†Ù†-όu#.põQ…boyN×?u°ƒL…#.¹}#.IŽƒM¤$Á„		x¶ï‹)—Ï®v¼îю±­nú¼…Ë@:kï¯#.K¨iccndë‹ÔªÞAåj«[ɕP]ÃK©)pU7ŽUØ"wW;´ÇƒˆÁ’ß’ÛÄ!ÜÔr7	•JQoùŲmÛZé\¨ÂIA­Æ†àˆQÞ#6:26#.Š]î;ñ´ïC®â¶£¨ë³º ¬›ÌK%c¸Tnq°QÍ峺mñÙºâã!X	÷Ðk¶Ö·ÚåÇF=ˤV¬v„NŒSuÕÑÆs'&vl©”4µrÍb< vj—N›19ÆbÉÃ"°Ë0NrcZ6ŒßW$œãdŠB\Ü֊ëwl#6Ó¨cÇ.Ûldå¤É6µ&†Dm<͎c/³Ür±±5ߠՁoÓ:ٛD$âoµ}䫂ÅÇy溽<¸üþY·íhՊ@óμžKaNâÒW•GiÝ/_³ym§,­qGr0÷GÂܜFŒDdªõç›V׆¾†’¿òÜdIÄäF6$ˆ«,Ÿ©…5·\m4üŠb-ßöÐTM^í¶"R§".f哽ÿ¾ºáwu…œ¹RM|an‰¸ê!Ô¥•“ÄAl©·KÆ<F–°´‘¼)ÁF§P6ø¤,½¬-®eß4ð¡“RàoNYyÉ\#6wæïÆ·¶¨Å€ÎînŠ,ÿ…ÒÛ§Gt•ïŸJ“L˜L™ kÞ8!ÉLº÷m?oõxtîåöÅa^øñ×4@üÃe¥ŠnÓ8¹búÇUÖµÕim;'Âyƒhz7,íÎ+¿‘öÉ«þÇyDCá÷˜šT–ToƒÁ89I°šY¾ç´<„ß\±`%dn½;,ù²BÂå68ãu6«7“Ž'}ÆôÛ^÷–YtNÃWdÓ;=ä/fRͲºòc	p®FiùUóískˆ[áü3¦†¯²ŠŸ77И{¬1F.™LÍÔ4éç¤<³§n#%·SœáGFӃ9“fài©CÓzÒ¯,6õbi#6‹aÝì®îÊómàò7ù¾ÅÚOf#.5Í`ùfz×¥q„aôËÊǵ¦ô»u×[AŒ(g×zÿ”dÅGߨrt‡5:Ú'à®üc´vP¢¨$‹ÞìÛ³­Fáàtx‚‘Ãù]L@¢Ùù›¨öVA¬^–yw†17sŽGqì€Aك™ÉdfÒÒ_—Ä£¯Ãó7n·hÓ'²8u,Ü.¤ñyƒ¿0t¾óO`šD…Tò#63ɤ@ºÃjúP3‚<#.þ”‹‘FRØ/(?€7óGŠá:ix¤ú{¹D€ç#%²yþ¼#âôØž¢€8‹=lè{ý}å¥r¸¸éñ¾Šáç\́ï>’ïø2Ý䀹ÐiߥþCÒKíWnר>áüpbx_9³å¬×WΎ@žTÛBðъZ·¼B얔b>ß_§çcOVz|ymx#6fǼYJ˜…²-™Ê 0#6@ŸŠwßwvOóÓ®ËÒëÎ!‘Þöƒ‚xnpŒF€°Q¨#%Š²ÝjŠ«ÀÎÇ·e#1T˜´ËRV¡Ö1(3‡È40°	cpç¯T‡ô沪ÎA›œÏ¨9zâ"3áłNÇíí<·¹“ycМr—v>óZªQà:¹ý탂%ÖД~ND|²EÊÉ´à÷Ô%¸<	&فÚq4öÁ…)UyøèÌùÿ_ó–Æu«޼?ßàzg nõ¼;qËô;剚ރ†Ò„&LÅSå1ºúeÃyg²)IVì–\—.B„m0J°þ’[qƒkdÅ°ó#´-©`®Rb]­8ð3ŠÏcÝÇÊûO¥Ÿ]ÝB“$ÄKÁÇ|\Àț|jÌÅg}'ò$j­•a±áêȵ¿<4Æ=6=&¹|§‹ð»®6…]ºÔOvé¸pX»Ü=ôTŸÖV*yumžì…+¾â1e¼#µöÚgDtž,DãFQiwqlޟäÀþµ#.س^O¢ƒàô.­é¤îÝϪ’‡-ÇIÐ÷]ÔAõõ…îÆQ72„I8€ïxL’joLk.ˎˆ¢MDz=ýtï&½ó:oŸ$48;!Cªpóa}j‹ bݛ94gÖ|«¯3­ß½›µ4#.ÒOè%èÛԍءñ­–ÓÞ:Î<4ÅôE#.54òì3R‘¬úTW-Çðk¥³øyçÈcUéN-<#.'çik“é;!:-DŒ¤§ 7)%#.M;î·$®ƒÂ÷h.ؖCpíJi“˜5Ðéï¬Zñ™9þ®ß#%ÿ‡7±CðÉêpC ‚Ï#ò‰Á´ð ü¹“ßrÞÓ¬Grɧ嶖“9¶šE„“J¥™Í•aՅë¶ú`xf¤-0è´%ùk‚ö2#Ž¼üx#.|^š:+Њ „ÒÉù­Ì۝S9lVŠo•azâ3!m²<…¦y©CÞo{vþ|eŽûüÿdQ茌¶F÷T½Ä½Ïá~;¬wÚjl.r<0XîÍ1`àžœ1ß¹iê1æйºKj„¶Ó§\ž¾¯‡å;åd“ý|†:ó»OeÑ¡ÌìÉâcs§ãò²Íc↛Zøô<«LÁ“QÖE-¿”Æa H•àòµ0·Nõ3\JܘrSs t UýÒ>\}[ˆìäåúžŽÞc‡ríàXZ.ê,¥¯Ô#Ώfi?ú'î¤è—DÁµÊŠ©æÔ÷½`£Ñ@ˆ¨úã´#6ˆoÍÇ~ÏhÊ0*Ü×ã:Ö hïÿKC¼i´Î|½_ðÍÓÃ_.¼71¼§½Âu"˜¹r—Fxô⠘Šç#LþÒ¹Æky™—óé“>Q†9¬€Àȳ÷›#%hÍÊÈ(²…Ÿ¨ˆž+fLmìßãh”}ƒãÄuڎŽBN[ëR	fJé{ 2ñªA·Pjפ/ñt那YÚÚ$ùyPñŽÖ–øêú뢕‹@…)Õ§)O”~U$BO3âud¾‰Û1/5¿<’k«æ‡U«xd›í¬½ìu¶ø¦ta>y6œ­¡™û5œÍNîQáp­NHèºeò¸è>–·D.•÷*EdÌn2,Y—(迃f—ñ/¥sµÒ›ñ˜D‰µÒ‹Óô’Ìؗ›Ð¦wN—¯®ÖIóíîç#.¤PBbÛV¦u]í‡Un=Eœl㋷ï¿>JªE·":ǔ̝[~ÊڋÄ&ÂOš¨ÁÄ­)ƒ%&UrfIJNgq¾aCF¦p—zP‡™†vß·SC…:l#ƒ:=ɪ/¢6<ç0DU­¼F9‘Š¦îÅR3–}m¡ð6‚£y)¤8Õáà7Õ¿QúÜñeìî#$†ã\¦Æ§ò^q1®J=f3£ÕÍkÆÝ$·LùÎã{ˆ–¦Ö=Jì‹mŸ&@׆vµÑ|^m÷"Xî<ºãcèšQՐ¨ŠR„­HyrÕòá#6̪\hlæτ„#6Qɺ*h9·¹Œ52g(eG=¦!ƒB-½FäÈ=	*\¨½[=Ù4³ʅܧIm¯ƒÐŠã¹Fo%ë*œ¡açgþsé7s”¾›ð¤ß>­üç:¶è$qCñntl	ûÜŒ=³D”OåùÅ@à}Äýó;Â_+'ç» EFžÍǐD_½@Ê´Î/HÌ(¹%“üñãÖۏ~!ÞʨÁõsÉMžªG4E8ŸˆyKåÒØڄ¾ôc6Ãä´ÜàÎû6vâv¥l½Ë#.‡g“t>";¢ïm¼Ùu¼,ÉvõutÁ=;2hä!0ßH¿(âލ}´s^G	ap%N=¬c¥çµQ»<dZf˜ÛêïÞWˆå—=¾ïy±[g|̉¥“ÿi¼å¤2ÖÉüLøÅ7Š¯#.¿n˜ßF0‰r ðI8T­Ý̌­·6µD$‰M/#6oñ@üÑ˜HÜ¡—ÈYe—V×ÛrÁ‘D¨ïDÔ_‰MºpàütC¯‹y°ý:Ç1_G’	¦h.:üzÑÓ«‚“&~ÐbªÒqëM—N6kՐmcí99º×ļkg‡X3s­S§¶‡–„ûtc˜¼/+ÍìF!ä÷øŸ†2xìåX?]¤BM#%èìùRÔöÁ3.	s®)©³ù3F~~!­Äi9þ×8ÁIütgHC©B³Ê @é›Fº×E¸éÆɁÔtÎxêýbT{ÈIZkŽšÎŸér­Î[J(7ÕZÇפґ–é½¥“°ô4%ngW³U¡pÂ‰zÜƚ.D…c·Fó\Ïå¢ê ÑsT»f«ø†W#6­/á9=jÑ´S¹e‹EØàö¹ÑãÈB#%ÈX±u­ÏÊ֊¬N,&6#6B‹õ=p]ٝ#6fˆ§|:×D¹a­êF/þ¿©+6Í|Շ,2Ø'7;5mÌ©ÙÂû]Ü`x¿2°²kŒ\U_v‹¬X)æûêëò°,àµ{wï…ñYžÞ%åq\jµ|ßxèªÌÕ,`œRWn²Æ°øÙÍËM0º‰ <X5…U’Ûo6<-¨Ç)d^÷Ýb#%ûðçÚ°Šò”®[£±õ¾·>Iz]¸lð«°S·#6eŽh´³$'°´¬çíHf#6^Uî…Ѓt.‡.k„“¤ö#.п4âî6zÛXÛPÅ¥½“\9šÛ1mðR´t­}yUQ¯}[;î¨Æûáožs„˜-÷À•<¤¦TvZ§•H¤sĕéïã寻Ë&?ÁߙÆf}ôèÁ>WÞ³ÅøÕO‡Ùwbe'½øëåÆqžçŒtÕÑ_I&5q¶–"æ¹Öçgõj2àE°™©£•½"*[WÕn¬2¾ëAá¦ÐM*’aFkmö0*áe"ë²°I@.µq|ž%hy±gt>›ûõGÌ0ÍxQ“¨ZQ]~¹„…LfÏ9ÖÑhjÀ’®“'»YžtX?PØçÜôTðQäj?¬½Èo]YQµfÐ[DÔ³áGçtP?ÒóèþØÎeϤ;ûmð÷\ã4•§á˜‘x§5¨íÍKèÒ@¥ÛY	ü–—°¡•³([¥uã`£„"ñ%K ¢%b5j!®#TRé,Ы©’ªö`A¬5w,åu1ž…¶K#6¯uÌÍ+;¼òzÜÇEºâko¡.¦ùÕÏVÍ߇Ç>ëä(úXòV÷9Cg–­Œ ôuª<²w]ÇÞ7ÆðÛþë+™Þ#6–~J¢ÖÞož8Ð#!žõþ³PJ†#%)W&8Ø9¢/Îo7v°Ðv¸-õ	6âm¾Žæ¤C+«WA’z)zÄêéVµ{„Ñuå|NÉK›¦ҏ¥tßËòܹÆ"‘½E¦/séÑWa›Æº\T:Ü©ÝÆðñ#%̹ÖovJ±$o¨e›@„¦ëtLE#.õHá­Ð­’æxizÎ@pžßyƒŠ¦M>úgŒV0P´¡ã/ïÚWFŒê ªÆê°ÊgR0y¹ö\÷›Ü+nS×GJÊՖ^I¸ºY©}ªëÜ轄BÎYC™;-|ŽCÄDfVšsÖ#%Û5·\a?Æ ÖÖv•s>×_Òë5Fó¨÷ypfÝuÓʝ#-/Í\¿Tz>#»¸dqÄËÍKÎ{e¿"ϽFòæŒÁ³Áµ@œ}#6#6pÂi†1šIc¯1Ž¡òª¯ÇÃ|èŽIm'T\&IËlgµp/jº~?†5óÎvÝ ææܲÓ5‘bŒ7fÓnº™N3[al@}sم_XƒFɝÆۄß'mÂ6)k4ïÞ',Ö#6֕KdÒUÅCÞ£¬ô#6F6¡H‰Dp¢JÊ÷ÖÚWS€“ä²R²sýÙí~¥axÆ«aázß5Ä7¾m.mí*E¨$CAlæ¦BIm*øÒ¡ò˳5®Ø45ÖJ·jºï9}捞ÖÏxôHü5Z¸QŒ<Wž÷¾»N³VDÕhU¡|ãf+ÏÆ<é¹v„€^-~]ðBäA`Äæ‡n˜ð¬W…éÒô>·W«¯ê‚ñ‘B¢(PŽ%¶ÃD7K#..mØÎLjئ+Ô,#e3m{­wlˆ4º/}úî}¼ÎYðsEÞC9H2ƒ¶±ƒtflkA²´ÕM1‹C,áî…`âl„™Ø±„ëkù´OIiN•}¥áù#6nÆ#%ààÍA^†³(ÆÀl˜!Ê.±o7Bù[8fX»HíڀWzò2ÔÕså@ç¬É“¯ËjÎc¯oN=,qkóPxÙ¡ÀË·qÊX8~ =Þ¡O½íϒ‹Ó¯tÌqÁ8=þø´¼Âžûx–’ÔE†@é#%Åmp‰•‘ÀO˜NА’³Ïaj¬ôe“³ÊÈT†I*ƒxzÊÔ¢ˆŽ4äãlûGüGþޏtОq͇¯5K¯ìëâì·VžÉxdÔÊ*Wž6—XËSm³¾‘$ðH/᦯°FŽì¤øS‰Ùà‚<?z̈GP-’;yZæOµD5Ë·gºë«iTÖêœÏéÄ2	Á¿ryº~NKûôøÌGˆâkgÑêv|¿W痿êþÆú~xøL珲1«¨\8û}ÑÓ®ŠÌW¯Î6—¼jS…;TǯOmæÜuW<ߍ±©38z†%~çrý·–›ÙÄ¢3̦ۤïàåq^˜—úðN¥gÑ'u±k//u65—>Q²{Æh‰e!wº(¦±Ïš]ºÈ—c!‡ïƒÂëOZÏ_…ÍÓy©1L6ðéšP¾·«>ºÃezÑa¦ö_j¸ï©~Z^¢iJ­áÝtQaè[›9ò-QÍïäzí$o“‰±ýL—÷æsaÕHR1€ÒTÕ	סÁâè*aæu®|b¶ž‡µïææȳ…Ä“{Sê-p5cÞ§wsÕ_L›ÜÂG‚›ËÖôöû©åŽ¿¦àc}±Œ	—«ûû5I³©jJ#fع¾”ÎM$rÂKLîg¡sß9a--Jɖ,°ã¾›õ½`¤Ç|ír]xä+n/ÑÖ՜ELm¹‡˜‰‰›Èb3ÍO]a­Ó(£ì!^\C᛽¦Õ-(r"„ÇFgRÒ¸nXم꣥ü1½„+/!“ÆšÃ6d#6P ÕdØIá‚ÇT”ÁHS{ÚÔbÿ3Ÿ1棆…N¬ù\¤ë€`- xŠf<Ž3·¡Ù#6  gî®Þ|Ûc$âSâ¹@ág"Ä ÀÝ:9Òà»Ý.mچ—¾|×[6âjžg5sÍ¢ðºàÙ½KÚ=WæˆÐ#%U)Aµý³MU7/”Îà³E³V¶û³õb>|ÔÔsDD°#6T2À¦yÁq¢Ð²#6èü¥ŸÒk1~6ñ,ŸÑå%Øâèûgû—K°¶ˆ"hÔi2KúŸ;e#6é	f¼¬T¡ÅX]Ó¦h”vÍÖ°NZPqîWP¦õáÐä²I¼|Æág¬í÷ži	㍢\ÒªÊaîa·Øé8ºibP» ”Jr¬ÑÑkLØ0óöÖë¢vÝ\ê£q!ö•ytŸØ :÷Ôܵo‚û<£gŒÏ=Éo6¼Iޏbì·låHÜCZýn±ù¯Ö7Fn²“žd»Ê¿_¦Ö„VM‚ü£cîƒ:v¹+F;³Ü¬)&#.M—'ÁÂ#.›Ë‚¯£¶Œb»ÀYÊw:$ƒ†±å½À=ëZ×û°'	&hhmZžñX\Ë,€ÊŠÙ9CÆçò¤!9¹­0rÊÜ=ÞµmŒ©3¾¶[…ƒ¿è‰ZÁW©TƒŒ·ÈÞÝ+(a19ł‘Ìáë<¥Ñé搡ÜvÅF³Ôè©xñ‚è~ÅGÁB UU(;}ný½º¯œà•Þ¹™Áµzoô]4Œ‰B:ž­Ð=.®atÏ$³ôÒeJûœä™í` r=q`ÉiCÂJ¿ç¼ø”D¡ùâÓÁ#.BY`œ‘åfYB¢òó¿Ay ±U	/v¶ /—C—3¯¿±òÔ$¬sék:!ßr=®.ê«Y8=}«œ[SdІ*„¼¡÷M¹õ(œö´¯RԐ˜xÁ5&œ¾GԆ¢¨)´èÉÄp¼Ió{ ã™.xGtÆ¡žÿ',©iAxdÙt½×ôY»7ÓFšs<dçWÙÕÈߣlõúÅ`)N}Êè͙fK¸H™}öC¡ó"qÝQ†™/Džq×hÞ%Y“NuðùËûaØÓüf6¦­œ‘O}_+Ës$õÞ;œöçzìm$$L·LÑáz¯bòþø˞š*'%$i:tٙcŒ£yªâs‚–Qi':-'‰™·(Þ`„b6†<-‹ã8ž¨ó.£uÐé¶ïËmòÚ]{¿ÜÞg·j9 ¨	š^æJª'­ÎæÀo}҇¬ÑÐñD-‘‹W8g{Èm´“ˆqná†êkÏZ9æË9ò›ïŒù֍, CŒü`ÅNŒ`[£½Â™y#6Z=Ôs'´WïÏ'dë¤\¬ù¦¯ÇUÖ|MÛµÃъé{ùËzürE÷õn­tœwšæi­0²J:Ìñímã¢û åOäz㍉-¹|o)#XÔW·—>ÅÓÐs=o¼[DØЂunÄ2¨æƒû‹`Ü1˜ÛNAö;ñoó$³¶‹›¸x‹<¡³EüqÊíêK‘­/–¬ÙߐbÐK¬„/aÑt÷h$&c„%n×çl#«'¬s¹â™(é­T¿·iاۤªËò¡^v*ø1Ö.)òFÅ<eZÝØxA)³NTÿ(ÃöAБ?”>?NŠá_§X#6ãûbo1QìÐb¼DzÞÒ¸Û¾nB¬htRߌM~Þ¹Ÿ¼çhæ>(â= 6º†6Mº1@ì|]½fÏ.×ös۞(õ::l¬züø³jîOÁk)¾pVzקk÷û±jÔ3pV×>IÎf¥$™Jý€?LV2e*¤Xpå¹³‹nžÈ(#2òY¸zk0Ö9êŸ<õ-w¨õ°u¡Íˆ¶lÂnIv(˜"`‘îTaŠÙߦ:b×däB®zí†GmÚå»#6õÈyh3儌³#.¡™Œæó‡vÏ=ýB´Ùîïj¸+8;å>N¼Ù8›dÃøݺÌu]:D£~·/Ò®*©z½pIs>•Ó¾Ä¶7¢ð¾ìæ|¡Ð.ÝC×o“ü<©Oz¬Û5*ôÚЌ}&E§xãъ»ó!½SbGeœžFI-ÉU#%¦$Ô³I Ù™lM,–01Œ*Fe`÷ S~S  G>»2@×ã¾~ï3¬ZÂË/ÒsÛ¤¸zµkÓÆ.xï|~ñÍ‘•D¤#%¼Û鮈u™¯ÍÐ*±§Z#.ßËn¾‹€P>¡…uxi¬ëÍÔ¨&„'a¼S9—2)igkHÏíð|·¯`çÛÜ¡à‚iÖÉÛS{Æ`'Œ+æU<:êI,öæÙ7¿_ǍƒVñ5î‡O/Iú~!®ìàœZ§ºÜÁáÈR¸÷pùqyàì^Km›ž$?«ÿr¢­‡u“à;46CR;,VÒ¤èøu'Ž/•0Î?­í5¯{íÀ™iÎÚÞÜsü"Vîu¾ jOð3ˆýKÉOäýN“w™³ª¯ÂÛ¦/½6¨	.¡#6×X”rpÑoHì~!ÑRKz¹£%dn(è)!ëߞnȀr†lšÔˆ£§‹G’ÜŸ#D’ÎŽ¸N5›çþwP$È~žåtԟNBeåkµîM„ ‚ÏÙènæ²1Â7_êÝóÞ¹¾?5õü;{Óº'àãÕøό¥¡{ùq(#%`@)ïõ(õ§áôáԊç°Ö9MvŽ#Õ(JL+G;I@À€ðèz¼xÔ¾(H)­æ„gëxTWÆ®òØ]—÷ào»ýEkù©\ë¹lIi?K¶Wò¨Ø”‹Rm“cÚ-«®¯ñþ5ù³Lˆ–ˆ…>­(2͛ÊþbFmp–ß‹gË~:×ô@ß4>$Ë_#p¼$’ŠÅ"‘AƒY	ä&©×‡™z½:œžÛ¬-&OŸÈÌySµgÎ]–ÜžlÈþÔÃfÁõ¤™^¥«Û¾÷ʓAo¼?“ñxüGŠ5‘ý7B÷ØH‡Ó\™ü¯íN9†1‚¤IY‘[Gtþ#%²©‚¨qHTi*7+¡þÜõÿ—‰Ëò?¯YC‹‰xþöaÏ(¾zÿ~[Ûá_ÚÏ]>Nt©"rNK(ö·ËçzÔöKíˆd¿»æïžðù´!ڇEá¹tî›V}ëªÚÃÞíèÝnCiü˜]÷ùY??ÎýŽ…ªz¯nÇN¶:*F`6$´t%5®Ææ󳃊\ª#%±|´ãÓ¹ƒþ1“ì?£¾í/ÒÊY¡°ê8KË,H|ñ“‰"~¯Ð©¡ýj!Š#.K©wk|Yž™²äèYû=v&‚Sú7åí}f“›¥h¯P#6ªÌ·Š Ϩ:ý_Býš>¼•s<­7E‰a§VNKÎõú]›(ú¶ÅÆQØ/ð~¶w+E@âõL›0½Æ\üƒª"XÉBÌÜ!œ?_þG7‹L˜z߄çmßÂÇ>¯+e§m¿—Á÷¡Øf	c(QƊ#6‹"šýu9¡Ñ#.P?KóO¹	êL¥09]#%n‡?Ÿøí®@¡/T¨#%ž½t xÎè†"RµœKš Tg¹‘L°ÇJæhZ‡\j	¨µ+r¼ Lt#Èæ"#%oŽŠ®¡òËÒ(~†—ª#%¾± ´é§ëãcßÁmÃfÿU#%èõ@ÝEôÿR ðºØŒÄŸxi¯Ðþ•ëôBañŠ¾`Ù8ú&ØH¨Ù6óòP¿Ÿˆ€XøcÚi®à†í´ÇK™÷$qý4¹a‹ß-)Á>ÏN99¨“Õ‰5v8ñ:je`a"ÅeOXï2€ƒ~ƒZhCq‹	yžÏWiƺ(T¾¦Û¿ol|ïøH,ézþë–(`L$¼{ †9gÕWR|1€¿{՟¹Ýø™@Äyi<×ހÿ$ïèLJòS(ò‚ýäOgÏIëŽÕ¥OSIïô–õ#Ñzüco*(B¢Êvæý?Ít,¡xë©TÏ[]3«X(~Š¤ž©R”#6¥`UMKõ·;ã6Á¢(ܣ؊y·½?=ÆÝа섀>Š©˜aI\öñ}V$øÁ4º­2qÇm¿Êe#.fqpÚi”ÌkZÔ·ü(b§RfÌ%ݵEÔR1#µ¤Ûp2„‚\4SywE9gŸ+ìôŸÐmÒü!Œô¯#À耠(&ë]Ì#%¹Öië…uQºâý:vêÙ®¨ÙJË5Iší4ôýn½2‘×m’pŒ­è«¡ön³DAñ|],ʈ‰[#6Øy`ïÄ#6€ŒPIµoßÕwÊîŽ,ßlN¹¬ç·Ü"‡c;þú†Y³:=Ÿ±Z&W¨å#6‚Çf½Y¦ÈÈ`¢ÃÏÅ3×8Ȋ7K±´-•T"EÃvÉFQ`¹Š\ÏP.Dp1C¯f¶Öoe¹_}g¶âúà«âc'‰ŸKš³’T¢©Ö¨`¢XD$¡›\æ#6P8ÌüøÀ·Ì£€¾ý—tb•ÓÎOIan0aÓ֐€LŠ bBç#.°‚	¶ö]\ñ²òBET dØÇ(°so¾)g®Ñà#.4FÌ·e¦`1ÜL`òyJœIÅG§³Â¥ô ï#?øYÖzKéÄ2÷#.ÍÔþ:·Ü7ÃߍüÕaÖNQżÿi˃2}}Jo£Èú¯.þ³ÊÍýÇÐïL_fs@ˆvô#6€Ä¥Í7–;Î_{ɞ‘Fy"]yXºmý~,@yÆNr+(kîØ®™ñ3zL;,Ÿ"썼BN3$ü÷>åq6׿yðö]|'<@¶HZ°¦	„Ýè[ï*¹süÚÍæðX¤ßï”@¤U-0žàeœ‹{¶Ú3ÀÂӓƒíTÆií’7q¢‘I¼y»Î…—'íýVç?rÕëHƒŒõ!d=1#3tÿe–®ÎÝ~AN{º4N¡úÓ‡× ‚I5Ù(åtD# øŒ	uՙÜ`ÔQP+&֗á`KH³ZŒhð!É î¾ÉA	ê(‘e<ýd’¼þ½eý÷ímÊ5^äÞ¢)?̸Úþñ皖6`éØÂàäâ{î£Æák¼dVԝ™2S„Ä;¬7ÊN¤@‘`wdÃ@à¢`s¤˜á59—_E·OR«	_ªzŽq…›Ks^GlÞ<ЈŠ¹\¡±BÖ³žBdF&!Úë\[S®~zÞd'¼ˆ’¢$6›ÒÙ¢½ɟ6NX |¼¡AÀ(噘øïÃrã;XËq-î¨ùöˆÎrI{@Î{"{íLÕźÞœ“5y\ˆJ‹E㛏%9×!}ÞCøI(ès=>§X.~Xp^‰éó{ì¨k±âøa§Ë%–&⒒Ñþ„Ww,/òmì¥z¹€Nãõ‡5ǎ/mKŸ¦$jìá	+ÓK6L²8ª~í1‚o'š\8¸`À-€ #!C<×® lˆá2ô×8ëṍÙXÃN¾eÌü®R«•b/!ö¥E7Â5ƒˆpdp«¬BÜqÖ;»8]c5Ù½= L=«ô7#%í¾XžïÃ%3#6‰¥,4«ã¤"»¹¼±¦ÿò€uoŠ8‘KÔ<׬(¸§E¤;UZÙÃoXÍ:I¬‚ßMejyyBþBœT¥îú#6=‘q¨<ô,;¢ qÌ·¡Lá-á¨rjß~Ă=%³Š¿uû:RcŒ’x+#.ÃVe(Jź•¨C°×¦m"¯ƒ‘1IÃÉ2*˜Ü¼ùÎÔ‡FÆ2­…?Ù0¨k˳ߔïÚ?Éðý\ðßCc£{		ž±¥õ‚>Ô儯p/UM†óè<g;e#6,Û¡¬…(àÆz¶bâJ ü¼¢‰®:…Öò7㠜lG1џát¸ù|±<ŸXÛ'M1çIñà/T½]‘)œÏo9ìð_Urb,ˆÝOèL{Sá_mTܶ§ã³ZY:Tú9°Ïo¿¥Áƚ‚³(u™l;g}šm@óߑ¿²YµCfMjdÕó<#.x³:O)ºm‘÷/·ú4@[Zô’;Š÷hÙ‹hhP¯;wœìÁ҂Vñ¸¥_F”m¥?ºø2_P|M9Ü©|r]¼­½–ko{†<x–rÎdLf¡œ,z7±¿ßg>îPxÝ,lû5=¹‡™ËJÔé{CTj‚Çh÷ñ•bìãšc°«¾DƒiÊî:L™$eR‹I¦ÆÚtî×ãÄtç)†¬ëÈߙ·žÜŽÑ~“tÔÆã‚Ãœç£#.p²†}wÍ)@))ë 2d¨…t‘`!.3ØYbô(%œD®‡#%ûtdb#ŠÐ7B™Ê©—Ÿ'Ø«ÁYúcþõCµg›ï‰îé¬ÔMRaÿ2[þ4¤ ]g†bҕ»woÕNÝ«Ï,.1D¦•XËûØö¾ÛTÓ<’€5ÿ'ƒË.¸¿¢ª×?Øä*£b¯iöÅW-«cµ@UTÙ #%AýJÌ#%î?øó>ÝÚô¯á[íê{}¾¤aªô·ï«éE „aûÄEÃû(ÈõÍüώðÝøÉöý–Áä?²ÔðNšxè`ß·¥"lÆPÞ·G?`lû=Úø	®j¹Ë—\ॣ4ʤˆAàP(AÍ&…à¾Ê0Ax2E¼«¸Móˆr“¹Ù2I#6Q0’D%9èÀ÷¯0(^Cg~‚ÁەRT:F¯gŽw÷Ù}}v®‰ÄT$/d*>Q¾•4C´ãÝÞ¨¦ÙˆÇVÍT«Å„Kv#.ï­ÙÊ[Tú_‘üúl6q™½„Ì:ÑAéé-‘¾ìE.ôñ	x4‚à‘†ŽÎ2²#.±ñދ|Â¥ÀÿóääqÚ¡K¥Èj#Åìðý3˜© 2r·2¢ «êȚ#6Óù¬<7ÐêžY’Ö1֑$“â‚Íh>GÛTÌx~2‹ããéŸÊô@‰î*%Ô39h­þZš[ÃÏù`tgø·Ø’j«Úcü© Àïð÷Ãz¾ô!Â	°,¹f°Ç­ٔèd"Ô@„2 v¨0é³k(!ïh[YÙR|"€h/ #.(³(00Ýú¸ …˜Mm”°¶>˜+dʈ¦²’ÆDTKƒ¥ÊGE´@ˆÅ2†.¨&c¯u…ù8#aj¥6MIF›EÜ.–3+ˆ;bÁ–$K*˜Ù’”³T”HBn|4D3Š¿Á#6Ù½3¡ç$ú{•OôÙ«ÂÿHô³€i"Q`UK‹È–…s;$>ª¾5ñÌP({èlpùÈ?)ã¨,ý¾r˜b"Zô§KA±Æ’;5WژøO´~‹Ë~ËýOî„Nâ¡{Zc#1¼¦Ìň…P'OäŠ)Ï­·ž±ŠÎ£¼M!+½E>÷TöƒÃßô9¶s¨ÎšÞ?—ä#%“`cnh?½öÝ+ŸBGG%om_}Žþ ¤M¼Q'ÀwG«ÏwE&h¢æÝnï%óªpmœÜ"&ñõëw&©$·)¢rÛu©í³Ùí«ûÉíööñp)\uÆUüdá{‘KãqÚÛãE¦é]RÎ*8#.ñ6lTxÌ2Œi†˜§DéÃL©Ýåj22JˑïuPݹš3Tj²‡©ÿ:§Å¦%tCAç0Û³ô=f[ŽªŠ®Û/0Mk­svLoTõwe1ð C¹{…ÉR‰â_qý“Zk‹ác>Õaü¬ûìfоáÜlJéæBBé€r'·;<[ŒKå€îñÛuïºä±f’È«%3J„a1b‘{Ûì=G\‹ULj#ERX城ncsÁÜr†sVÓmš;ÃX;MÆV	Š]±#.Z²·›mÔ2$ †g-$F„ÄÆñ žLŠ%ð.ª_–L©§Ç6íßQSÔxݚ#.I»!¨œM#.”F×Ϫ‡MC€êvB¶ð#%æ!qŽI*™Øt‘§m­Œå´Æ¡t:CÖ\$×@0!ª†#6%ÀB‰eV‰7vd”‚À°ò®cÀAÖ©Fvt×FýeÐm6Û¨ëô_^qöÀ©3_éävjᙎ:¤ö7T%â#.aû	ŸŽÈ3ÅÀã#’Dõ<d!'š=Ws=Ñá"ƒ{Üð±ür3‚»xXããÑèL“#Ì{ë€FÅ0ñœ“¹<ït²'ö(v²¢Uº¥\±ªÞËs[%k·ÁÖU’ÖÅZåµsl›UÊ®’@ÁK¢¼›ªÆ!E T$UhÁ^³¢“eeÍq0Q›j„¹»6x©$ëÛAICt“×M4iÁ‚šŽ‘@ƒš\!£Ž{í!Êxtš®á™,ØècÄߓ³¡x ltH±h<û“yî̯wy£¥|®3¼¥ðìp§Õ+4ðŸ‚)ÒIÍ ŒHŒ‚ÂE‘@;Ð4['H!³¡ljÁQÎ^58uä9^çSi|£E_¬ŠPE‹Üš4æÃixj’–Rd’F[ÏI)-|݇E#.ÉBœ–ÿJÖ¢}•÷Ø ˆ“ÊS0Ž+Ÿ–Zc8VêrØQ­„5†TQ¨[u-¶*£gu­ï«^2÷4¯yt£K»kvË_\h¼•G}þ÷{ÇÎNÍߨV I	’tU¯Ìb*ÂäÚ§’Œ‡VKðfá,#†œlìÇŽs·©¿®üwB1‹óQ”"¬ÝØÊN¿]S}|x×­?¿ç=,%xo:!ÀI*såÑoɋ1¬J:ò¤´¡eÒB Û#.#%,þ$÷ü9g»ŸnòyϨ7#%&êuÆ$3â6;ˆ7ØR71)™¥‡Tð$Ž¸¤¶§#6ø¹!ÅHTZaH$´"%;úQҬ߃(Z„©"²(M­PB0Ûˎw@NÕeóñÙ{]=Üd[»ÁrÈnÀÇVoÔR@<†‹$„D DÉG׶·-"+joaÖà eSUXò'Ò‚ˆòB‚«ÐÆ,ÚºK•Ô¸g¯/7vj»ºRK]#.Ìeâ+µžÿ‡|½xzª”p®ބERǓPiƒg>á,üPCª†Ä{Ɩò½˜½«XÜ©¦_=Þq¤¡A g6ОO¢¦‰_*’P!6E†3Ë87Xd]ä#6­æmóŽ±2M#%áF³™k#U@T¢yÂý3Ø›÷o#ÖÉÐÁfÞî,Ü	›;èΗm0T&â&4÷5I$ÂpŽº~¶4Æ1ržÍ/€‡ë›#6íÙj¼wüšXëËh:nx–fø|ñLJgXC§ÒPt/yҟ¿áìÍørŠ#6°\ÈÆØÍ(‰< UTȵ\[#%^™H#.}qš¨ÛVFX+1á÷D¨ûºÕÓ­Bà„#..”rªü‚˜m¾È½Í—¡—½Y]ŽZ† I„¸8ÓLÓA5À×ÏN·Ó0$ю–mÅ#6æ#.€Xõæa÷îÙâ.êôå“\ºH܎9T¥w_–¥v¢E”F`0HƒÊ¡E%xÜÂ+º¸öî2<õç<Œ-“#.áê}›ϤÛy£¶™ÙÜT[§Ï%)Ý7°40¶ãòâæÙO:§dXoY£t¢«º{{»õÆU;ªR%£D	P–ÈÌ0ì¼Y3#%€Û*VÃØq@iãAF®L`àîë´'©!ç#´ ÏAVì#º(®RÐBVcÙ3±EÊí’ a „›¶)ÙXª`_€žôɝ	­X¸h£Dì;£Ûe¼ô‰ŒŽ'¡Ž4QÁJ#6Q`¹”(T"’@ çK¨	®¬`²ÇînÆ´ÝïZ:uY¹í©ŸÆtFýð›ìÂ-¢˜RTˆÐfµs™K>÷Bo¾Hç¼~YÅuúý­sPÓÊÑ¿±ï	˜9:ô–Y†&ۘ:öcU:çٛëBûrÎ0º>È^i…[d6p;÷Š6¡’O‹ðƒ#.¿c>ëU o*&L:ÜÁÀŒ–.$ó³ôLx㤴»§Õ~àÂïÉ9Àë'tldæ…!¤1#.—@Ìäu*n&H÷QT*ÖËCî.졉=9"E‹.Ԝ+u˜e×̪¤HÈA$}á{;~æJ²\¨MâÔDF`aÝGnJB†PÁŒ=­Ù#.“ݱâcL¸¡Bž"Yáî¢ýYÏÒj@=½Ï<èq¾í!ɋùÆÞf—l¹c\ƒü1GVø¦l.o6ÈêûlinDµÄ®ÌCÆD¬ïÁKøµˆÃÖ)Uf[(8?ìBª± §^fÀ] tJëM/œBóC]™éƒ¯…è×»i¡^|ÇE7u[d¥g¥ÊZ;KÚ`¤ÆóÈ3;†óæï`n…節qi‹8šö׏“OB!2ÌØCP;Èä{Ž]¡Gʂ¢¼È0†QvDÝ9¼‘¥ºËY=†s³¤íEÃBî4¶:˜vAèC2.û\•|ÓioÝv®ZFQ4ZOí²i2e67­î1kÓkð/™#.§]Ž6@‘³4xÊ3töÕÑøželG•Í†²Íђ@R† ]ˆ)˜NýþüueVL5š‡Ú)·é.´É©ü sà7§@4/:UÛ‘Ë]u‹C<äR\€w'UWÞ:çQ“vbª§F†HRÉS©Ð,wÀ×ß=uÃYƒV\<wWa‘"ä¢wÕ÷€Èߤ#ö˜’®qœ”¿£å„.›#8%€vÏÏíωIúu-?µ÷ðž·8>ë2‡“Rª™MÄ£8{ôíåŽíxÍ]z¨Bì<bc«öz:yÿfáÃçG•ŸËhäŸbV…©÷b‰ ÒÖéZ‰Ù‹ÙUð%ž¯óè™Q>V'׿_ÝSÈ2È6½–_g¸ñ¢Öåä#%˜Æð§:¬É©£_ÑÆxÖyßÔ#%ŒÒéDه¯Š~ªJ†ó$ƒ?Ù~~é†8f>†îÑ=G/‰…Þe%A7Üüq,[Y§â­¿o¹€b΢oªd¡ÝŠãà¶4€CęÀ?Æaûý?˝ÉoôÝÝã‰è”Ÿßþ$Ý6aH*2AHe,-3ôWðþ>—|ðoÃpûgŠrñßã‹jËntKç;Óø߭%ÂòJŸMY¨TßzÊüúQ÷óÌ<u`ÔáXXCWKqŠ_æA?žÛÇoMWœŒ*ôˤ,«éýŸ£õÿ/7ö0oöÿ­‹Ûöþ±/Ý8üq¤¬”I&Éêe…UšÕωk›ôR2ˆXIlW+YsÎC?Û äÚ¡Gþ€€ŠeݞYg	ÜÕ|ÆÚ#%$Ç¡µ¨Ãhý››“[<cOgöNÚk¼Mbf"\	0íÝ{PÖõÏ?oÈGðª¡)©>p?îüy÷?=BVüsɼcýNG8(´5Y‰yPYú¾ÎÞξ½¢jö«vÚÙÜ1¸ýË}+sk…6édص2½yÛù¯$Ü¡i)_?ï_Œ3÷ÓÇíüûàüéC6ª?·LG÷³û_Àȯ«ï5‹Mu¹=!£~*+LOú¤k2¨‘bÄ2ðÏVÞ 7üDÏDa{ª';âûƒ (#jº£ª€%3t»¬i×¥¦•A‰Qǎ®¬2ÕYhqߞ´w/ù‡øƒã¦Z7¤Åö#6uÑiM«ZÎ0—XL¡ëŒ!…9¼zóü€ª ²zYÏ¿hnÎHr`§fá5©¯N$fá"ßæßV Þ±Æeî>¥?ë.3/«ð>KÔ6½ŸM(Ÿ9ž—Ož‰ÊK#6=mcÒï¾´'ª¬€§J¦1EæwŸ³g¶ËO…õR—¿Õó°"ûå m"À„Œ@¦D¡È_ßØ_éú«ÕÈqè4é|Ÿ`òßR쎉+´j`ŠQ‰(‰âL”&‡ПK#.FM=‡3–ÿ§úñ3£I¢Sø¦Ø¥cҚ ÈȹÄþƒ~î>ÜþËq•U×-Ã^Ë­uèàH19ôêaY?¸NN·Ñ¯¨]ó#.—y·Ûßù	`2É/ÈDϐà‰ê>Ÿ #6m*€ÕHç<\2ê=|.mcÅwž~÷‡w§`PòMêÆ9^Þj¼=ÐXŽfulDRžÀç,±þBp­ˆRH‚ú‡Ð݉™îµ˜)_Å®ðߦ.üîÏÏôúýà|Iõü¸“ò»ãšMJîëáEŸO×ñ"aÚO‰A$ÉF‚ï5ýéúxqçÐû¦„Fwd;zçСËÓ².'œgòêç©äâ|9Êlrå€ó×ê¯l¢:vGÐi2]	™³ @ñ¦Š®3×#M»½‹.À;Gâ¿9BG8ý¯ý\žŽý»D=®h¯^þòÖØøÉýò=k‹â<RÂÐäõ†©‹€DD`_êåî‚"xKyy‘+·75¼â]*ߏ:Îp#%"t-8¹j°ä	€®Ä»ÓëRiö4úi÷>áú¿ÀØñ<ÎzüãËçò%LÑQû>\ÿ3pÓ°êvÇ1gío¡¨Ócj‹ÛÚï^ÿø½\¯:³Hr!i ~ZT×°-î(ÿL½þ›rø†'›™@Ù·Uì:k¶+cJ©Òò]ô8<Ãr¾ɹÐ#6ȄԘ²¤ƒìüØõ^ˆc՝gqÁ”oTÔL#6$8ˆ=Ìò<Ë1c„‹Š4+?G£âòó¿x#.âÎ\ÝZs ܟ™ÀàF’)¡EŽhsŽ•ƒ.²`.z´ñò„Ù0öªÞÒʹQR~m+í»0†Ç._¯Û˗ÑåÇC«nè5 ÏutßWv#60蔪Z.0òë𷵍¬žËðSŠF§NOƒµN®#.ÐûEÁ¤Ÿe˜ûøÑ3¦2J¦|;ìïMmQ³	ïºvj†x¼rïJœ¹¾Ý‘~“Ð€pr)‡c§~¢;wo«j£ï‹ïÎö1žsÑõñTh#0Ò!ãóR³UW•×}Úh¥bÍ exƒËá"æ|PH[ǧ:àJžäô/°qŒDC“×I¦™u„ÃGµ_z§ó8Xzgü‰Ï—N×È:ÎÝÓ¿¿x£aF÷›Ó¤ïÅø̺€["·½ò½ejøM†§Û™AéA&¶²¶®6)BЁ‰ˆ;XG꧕('ꢵ¬IB¬×(~	a{ŸÕpß5×.êµ55‡½.>#b·—´Þç=ÿ©]oðÃG§Tmü#%AÁP1@zsÍnál?]ÞªzxkÝ@ˆ2 eó*+h۝:¬¿w›ìݩΆÜ~‚ TJ–^9¿	͑4hB&¨ï¿#.xbðPýÀ;Ô¢Ÿ^Æýú}¡‡›¥Ø€K“Ú}´!IŸ+ê@=ªçŸÏ@-êá)"„-±ñ³êa”å7&#.J+Ç¢ñå™ÏL½pæ#.uڅýŸÏó,fƒò¼5à‡(ÌTMB³î9ál¡0á5ŠÕ’:¦s‡V6z=oÝür¼úÙ,åƯ÷~\Ý¿£Œm½ñW#úLv‘ÅÙÏ#.‚{£PP·6Ú).zEËÏ{ï»ý›Üan!Ì@ï\Nø¯*}Wÿ†±›þÉ3ÄÒS+ÏPhÅu·¯cãßm’ÙӇÚ]’<ÑÒõyÅÕ'ëïztW{ÛÚ³—êøÞ`Ì«í-XLm#¸‡F—u¢ÓZ±ä¾µïŒÿ9S9œí¶}È8ß+äªnæÓ^ßn$ÊdE[Ó'}ìt”¯íøѵK¥Q´Ûm﷓mˆs³‡ñVhïU¹á _@6½o‡ÞíöO¢êCU˜sª†V“Ãú«:ÇJM,²tnOƒäÛ伎r'Jh±Ï“ªŒÁ¬ˆW•è*˜• IJŽTy`¸­ñ´,xÂÆPèL*3(#.ÛàsÇÍ(Ç5Ã.wà~>>j;›A^ZՊÂ0MÆÇ¿š*vˆaFš¸7Ï#%÷Ðgˆ}lÌÒÌÁì-a”Ôƒz3urî#.œ‚÷?̶›#6!î8P¹òˆ-ã¡lÕ]EïÇ®ÎZØð™[¥•ðRӇºÝâ“H‘53û5qµ‘ÓÝ¥ƒ¡ƒ(¨*‚—Sv†Akë«Ü´iXE¦ë%qaÅn_–#%ÑEò¸ÙeÑ.’g}‚H#lkÓ>§.¿ÙÔ¯-º(ž2}T|pðÔ=ˆæ ÊÓm.C:)]úݐ«ËÛyï§ÌåÝÖÇð …0«¥7§aÝçYјóÉî®úÁž™ÛEg'>±Ež®LNïˆzûë1Åè§âßÒ(íÓ\x¬ëµÎ©êwƒõÆiYئóãÊe0wóԇ%<Gœz¦÷Z¿­±a”úÝÊéFK^Ԝ%zd¿M½5:îRª®cw×{Wô©hØOú“¨—o¯œ¾½löyšâÍ$®¨¯zÀ0§mCÓgÀpP®¥hîÒöUA|ÊÀÝ!=yy©DzäsÎ9UI#ºêI¹#6ÉWeý¯gÍóz8V“)tÇáFöƒ®úBÜXöãfñÎþG|Âøoí.lì&)ÄpæôëøMSӟô5#.2ŠsQ"„—Þw"×ju÷5ªNþº7Îåí}uKfs=}é؊zÚ_CŽ¿dlO¶¹²ªrú%Ÿ§Øçß#¤¿|*¦›góßsg~®ÉD\͈zw”¼Ö~h˜é¬»{ˆxHgPî„6ßÂ÷¬8¹ãŠß³Þt[iÖ(N…ÒIÝô—‰Ð‘Œ¿ÅÜSm©Áw—tî‹sÄ:·'³?‘¬g6ãƒ	ÉÄz)÷=n™çЯ[JDqDQJhµŸ<Â^·gPáñ%mÝäú»·n·=3¼ítd2ïäËÉAíTdýúÌù^sŸÙo–R×j=µì\å,c¾-#%¯Ã³Žx©©; WÍxÙzë†X\µÜéó™3Õ] ΰ»«—K^ûÕGª1Õª÷ć¡–k{¦1Bϧñ êœY±£]é~·<ëí¬‹«%HºîmƔ2¡™´¸U\	E\¨¥D#6Ö©ýè¥=ÿE̒㶉ÛËrëïǑYòûáã%»¾f=ÞéMŸÞ³žKÚtZÓÈ'l8•¿8{žß6TF=Eò|"#.ßßUGÙVmϑiûY'.þ÷Æ	´n¤(¦Ôh³ä\ŠjdäW¹MØ£Ç×G¦XÒ|^–uS‚&Æ ú]^Ñ]s}§GPW齑ɵùÛ]¹>íîæ˜~çÚã¯+}ß Ùî"•6ÃõµÁU=c¥Ú8j~>Ï?sÓ×Òs…Å"Cqv…?·åN=3 ύDü™ƒÆs\ùÿ‚¤­õ¤=§¤y-&*ŽJý†öãÃ[ÔÛw™bÄØñéûDfNÖHZZÛóJQù«¿¯bÑÔ|¥¨Áv¼êšŠ±¤z(ó±V‹ÖÁtAµêq¶#.èÄ‘ø6ÔÔrÑþú#¸\ØÇÖgÞü},#6ÛNjBÅp®~ÇBYÅ7ŸàÅË;æ­ßO¶ï‡Ãß«…Ä*	Â=µ³\F’˜v©ểÁRÚMܯ©”øeàE\G)×ÈLÅ­<ýŸ™];8iÉú‘Æ££í–]Ä ËĺÏYŽ\6Çg#%U¤{’Ø[†»¦.Iœ<:Øg‹#6¨Q.AQÁƒ´7æ¼¯#üá#.¬h;û!ƒ]žX–0ÇÏçò¸m‡gݚ1Ž9ÍÿžèmúH¾_H‡–GYÓ¼Ï?N××wíQ:)þ$ø/KyÎi6¡+žvŽJŠ¢ÕE‰B¹@¸ÊƉðˆP¢úz…¢,Š¡–ªÙm–¿¢„ÛiKˆ»eïAxý1_®ùS4`Š÷³…¿wٍ“»N¶{PÔôÖ÷ÅTXPD]Î*çDïCEžüYc¤ô¤ãð^FO¸Žëz]ÕÏéæ’cpÈÚUʏUÐ@œ,#%ŒÂpHmUWùa±ƒµ®*|ÛH¦Îˆ}Úu÷'Ø2›Ô¤æŸŒ¼…ìGC9BSu&3æÖ5ñh÷=3m"±|Ø\!€XPŠ‘.{ØyÝH¸›¹[¹BJ+ÅGPÍS#.O2,,<Ó¿f;r‘÷ú½M`ª)…®¢Ñ@9b\m@ü @@]¶ÐئD #_K®cR(ä?µ‰#QQÄpFñ#%¨ªêªÄÄ:UÙ#%œ¨"ñÓm݄²#.ž·4맯É(¾Î^¬(üEJB녋23º ¬W¾\îp®4«ÎJê#.¬ËqÂ&zÐB/ò‰!<Ë9#.ølc´“Àw£ôMzME‚×®#.CÁEEÁEà#%‚<så£ñhõyp³R¸„øðá#6ÌÞO}Ž¢„åE§=•ï½ï–8Å»—ðàÙø{q!†	‘¯ÑÅ=ܝƢÛ©ˆ)êCöà?Ës_îì‡]#6„ŒêT?ˆ€–@-!öðó÷ÎÌ/™¾¥™Mþ¢Jk覱{Z-@?÷U§œÕ빙üGê-›ÇŸ·Õ@{ª¼cnÎL‡§Q-ðÿúöòÎÿ”ÛeÐFçÛAùk9ý3xÇx/‡À4¾ÔPÅHDÀÒ¯ §¼z@ìÓüUÿ‰¼x´#%žo2‡2ií鏅¶z—®	kÒ$~ÇÙcÒ5õ«ŸoÕöü}œù°RH1蹈çèÚ4£}çKêçÎL¥Ÿ­vJjþ©J%ÿñ ìøÐ}ÝAbAr€ðQ1«˜o£Ú·X„#66ÅH.>qÈ|ñ$T½‘Š"~ßÀ$ééí#.YqrA@f#%ûW°@Cë:ÑЊi&s7Ïôì¾&BOCüf+uÙòj” Ù$ߜº×Ïíz³¾EêOæÚ$>ùhÕn¡á™t÷HŒ†ú§¸!#*1"Ú.Nç¸Û;]\xVÙöùú¤šd^ ƒwÏ|gO6ÃϺí;ŒJæ0&é5Ó#%}¡8Ur/$€ß…3‘ì„>Ü­x¿,CŠq¨;™†•@v/#%å@]¹C9P¤grÏþ¸(9Á	Èvkš$§9T¬Æ4˜h ÷~ÿm*ñ8꘻ˆÈ`#%X}¹lJ‚‡^¾ü. #.JCVgˆ‚5t^‚ˆ7!߆÷	eøÆe#%~zT)AY`ʼNµÂùíUö)>Sæ׋rYXP\¨¢!Å&‚NŽ0#6±ƒzY*¥MtÛ ìt‰šÊl,tgÎçg2ˆj—bOåN@–Âq7´ñ&¿FŠ)¶¦=((œ{;›‚P'+ª×Ãw”V_ðÀëá?tf“¸Ÿ@¢ÛnóX.Ž3Q%x]]Ïv[ÒÉk¥סTÔ4¢¦ª%…e^ROkl(FX8g&øw†å!£?géâÊ#.#íYÍïj‡~†âi›e•Ä×u'³Ý˜e;g•ÂTüLìq1Ý	¯#¨(òáá#ŒÉ,p†“çt‡Aè•5+ÙldèwäÕÒ{øÞv‡åÆ;Úõm”P•'@î}ˆço=pÊ2H#6OG™ê_™0P&Ú‰J#%íËTO¦\ýæÀ¢j›hDp¿É“ꡧКy©9Sr³xêÚ-ÇhvÔdŠ#.Y|ÓãÃPmSÀˆ_¶V?L_"'(PvÖR«6ã$¾Z'Žxõ×=÷#.A='áTP‘)þ%¦}ýjW¿Íþ\èô´Ò¨õÑ3Ê¡â̸|ÅZ~c¡ÞFÊ0‡V‡(·ÙÛiúÿ+Þíôüt|~!s#.Ë@Å¥ÑZÃñxä·˜aƒ……%»©±ªþ½GŠK1à*ÒpÁþ'Â=6ŸqK½•¶±/öþ®x ©®óÒ½±dRl/U¬ôdÂAÆr³#6+óÁ…G‹Ì&IŸòê“nçôBs\g"ìé_žKâéœ?ŠŸ§èMað­{4•„ÝCɸü¤ý³þ~ö܅ÚázNö}˝ê˜9„)˜Jë³ÒïIƀf¸<Êw²Á»¤‹Æ=,µ¶&M•!.üpVí±ðNtÞe°Ø²”Ó¦p„1•Иàƒøôžzrŝ¼ùX—wÇ+8So£°y1Ï,ð#.›0#йò½ÇÈB9:ƒ-{~Ã1[rµã[öÁå/{Ã"“ V«Ñ*&dÛëqì¶Y-Ï.õâÒÝpœO5Æw‹;-¹’¸ò	¦JÅff Ç»¼Á¤à°Õç–H‰|WÉ¡œ!I¥Æý1eEÖ¿Ö9†AŸtP_ªÈåÐêk‹WHV#6%±¥ì嬭1^ˆ´#0Ó)åªùº°E­óg*ímŲÜëèûßÁV–Bo^Eæñ4ûy­Ö°‡.éÄFŸ±¾z4÷ö`€¡(Ù§¢œW'¨f鶹Jb•‚®òÑ;¥:ZÑ;n‘»Íçe¤°,5÷¿_„¡==:©8¼á*è›çñŽ–_ozâ|qä“5v]QsÚö.2ß#6ïӜ‡Ó~ýá*ÜEÛ‘"cƒ¬|T=ù<³#€‚ˆ#6àœÆ`—Ñ-¶™ŠP¦#.…ÀLï6–	ÏÜѺ Gà¨ëÔTt6k®^m¾×¡Îu¾íˆr%ÄD>ڇòQŠMŸã~p݌, ¬&»œ_Ag¨šŸ²„Naæ{¼'##6ØÊ°àY•€È‡#søýø²\¿ú-´Ø~mÞÂɱ*ƒ6i¨I@­¡¯PUG¶/G$YYzÑÎR0úgÏüŸ—î–å¯Cæ“ô~6·ÌS™PÔŸ^ÎÓ¤é#.Ózý¯kHmiÛm.•3Ìx‡K¦ÜÈÿ~®%Ä"Þ+G;L¡ïncï–53áõ>¬pxq¸dê}ƒŽ†¬=ÓÓ·UýöA¶Ÿ—vr„v¤’9’“4‹>ü‘L¸½p¯´°©gL{Ùþµt6É{<]^Òޝœ‚™ÓXÈÁ\€‚	¸­ALäo¢—Ïóü¢’Ôð8ºÜP6;Ak…Ù#.†›njú«xõm©ÁäXµEÕ-—">/Ñ£§5ô¦`åä[R÷6qì./Ó#%®Prö9¤¡ÏTXŒù8H^ôѬPòÖ~•Zª¨‚S~§!¡™<פýUîO'›Uú¤–0°*û¡Â!5Éåúõ…`ØY—³¿ÂÁà$µD£#%¡<珟˜ A8¤y¦ç½â±F*$‚P’IåeÉ#%úZ;dž>žý{/ón\ö»A8*Ž#vw3…*ü5`,rØ5¦#./¾ºË܎ 4W‘i•Z¢‰œG˜é­Ÿ!uá&(ÒÇ_q”Då®gˆ·3$g²a:¬ï,ÕMˆ{ÂkÌû!†ÚR [€#.Mßâ–i	 a½6`3­š"»—½§ïØÈNÐ+Ùbv™‡§ˆêëd뗊ZO9ª$-]»°Û–ü"üfÕÃõ¸p‚ELÂçìîiUHšE¹é±e.™ÂC¼â‡gA¬6y¢gÏë]±éwÁ÷Uîåã½}¿)¯#.A²ÌëðÀ`lAºÁ×dí9Èãjá*Ù݆渻²§°ñ,‘ƒ«hïÜ£dwÌ.°‚»d€åšy„r ‹%(sãeäFzeÚ­Xí¼#.Kó¿i†CÜÚ'~Z6´–#±sY‘”JÉaL”Jƒ˜¦#%39F¸¨™Q" ^Då6{PSS3yÝL†Ý'n˜'´sûõ*ãšz‚¶ƒ«cT¸ˆ#.2!r(PhPÚë37nPᙌF;E6‹ƒ#%ò-®}“˜]…âRkß ×ø°Œ‘ç>Ðt©Ž[â¾Ú²Ù¯kYëõÉ×,oŝѲZf°Øâ'̆ü¼üFæ"_ê•ßv8í<[8›¢Xæ˫ɝ;ýˆÚru06fåÚ¹$£”ìH½_¿ÅÌÖ_ÈB'ÑsÁ¾Wì$Š“³m#6E]}Ñ#.~j4aÙ£ Mfù‡ ‘À\ö=‚°¶²„„ÔJqå΂{ŠôÅOª÷Üþ§Òj›AéTPº¦Êƒæ}Ëã1¨ò%¦ÿ£Ì÷"‡ÛÍ¢1#6HsMžÇ¡±Q¯5óßâ¬Ì½9ÆÂ>uRÂ#}ì3va¤gìvŽ‘m¹€ZUÀ#ª³qÆîëƒVØX®H2ÚÏßÙ#.Á֛@¨$7›°­íc<ƒŠ!"†·ô2¯È.îöö!҇5‰ÐÀ„¡LŒ÷³á±Ú¶æ…™Ÿ`ÆVØäºÑb#6#6õϧë(¢Ý‹a'9ú#6«`Ž‰„4Z†¢ >P4i á~q\KAÔ!nȂ)™ÁÑYÅɼLèÈÉ6Þ¼44mŠ§3r	!±é郓Z-*5Þ/!*kâÔ€VäD­—K¸ù°;"Ön[z€2bŒˆèé}ˆÚÖ½ÖJ"ÃX¢žÌvh{X£è¹Øf¬b¡Z–ëó‰Šè¾´ò+AŽ­u~üâOÚ°Éqm©ބ:¤Œ·C®aïÄ,«&q\șA̶¿n<l4(ÉÙÛÄW†ŸΔ"oí?wŠ©zg\.Äf¾]%k€Ù’¢t<æÐ#.c–Êá tgߛr#%s-¤ ÷çmhÅ»]§ˆN4(ãZs´cÎ.ßx*sŸgi5‘ÃÌJI@íod/(&_ÊX·éåøC¥¿ZO¹V?0Ìd<—‰Ö‘¼ÌĉË0斕;bù¶ëðzàUö‡Kd3‹³ ʗáh@ـQm´c`‰ñíYÀíÌÀNò‰1ª8ؔ´œ+n5µ#˜ðF¼]²"†RO]WQ5#.ê/Ùªß~”aêÔàí#%遉£µâÓ˜ê(-ˆ”+ƒGcÒÐÝ`|^D]ÿ¤¿³ÄœÁ#6El\q´`!zI¡¼<)MG~©oÖxEß¿øÍF'­Qn#%xTL9ó¸- 4‚€ÜÜÜÝOÂxp8Yx¶@Ø‘o\D÷Níuœ§WL7COÀ»îZ¨#6iY|ŸÊäVú—AÓ]&[óêæ¥À_5·i>sE/#6¸¹€%5ÿ/ÃN¿ÃÝìï(öþlâò9Ðs7Îåú§óˆh£ógTH‚€ŸðYg}ç_Aò0¢VÅSNĂHQ–'Äá×õÀ£UGJ­ÙB3qØ÷dZšÞgÅÒЇq÷q¥¢×‹_aÜ8#%Iü~Jڞ79ÀëÒ6ò`á|û6¯/ YÚr´hÄú§]Ù3óþKÕ⻳«—Ä|3ü|cÈužyb3f‡ïíÃø‡ÝCx-®–X3ÐPX‰ú†t?QÃœˆL#6Ô28~±s;{þ|%UVvþ,¿Æp‚gºÿ…ÀY²Tì*”Br)SŽ0e–Çûï¯Éþp>VÇù¸îü¡ü_ášbÖ?©BÈrøð½C9%_ý¹$TÅIÿUP©þ·÷êYE»üZÕôAêa#°^ˆØ”Xá©8Š1#%hÿ]¡0;5gûYý¼³Ö÷vØà|ávçv…†ßë›ûîšÖáþÐ¹ÞŽc€Ë«±_wNóx©©A3Caڗ ï:Æ]Û¸…xn4©‰ã×Ìê{3	®íH¸éÍßYTBºâüT£Ca²lÀ–ºª<ƒý¼ƒ;ª§`xµÍG°{‘ڝ€ÀÞõ{ƒ¯œaô{ý.Aô¯³í4A#.PÈû=¨íŠÚ+þ˜ªYÄ; ]ÃäNÁ5%–‘Ñ…î\þK¿ÞÍ5”9€Í=¶Ïâ}™ F²†¡®B	Ötüû™§ }ËÔ:Џ$A7ýß¾ºÏîû]MéÎÉãˆ	D|_÷*ØUÙý./Žœó,Õ!nÿP=`dÄ_¼çœâÜ&\’B7dªõ{ ²Aåý—ˆŽ	qÈP#%)X†u„¬¯# #\>Ïæþ¯G¿å+÷[q7¡ˆç˜b<œ*„™Ïw÷ý=OŸâG­ÔûôŸH|ï=áãøN®A ÊL’ª´RÅßzáóHò?yˆCԔ“àVøþí¼…ò>!”0нÈ^‡ûÆÁ„.4ñ6×å#.ý?ipvóÙ7ìj¢Ñ X…˜%.S–7pÂM”ÞbÀò6£ƒ4¡ÖyÂCaΚ#.Ì·¨¬Qv ´†&ËPÿ—<#6ÃvT‡«±}ž‚ûXðÒ¥W–‡Ò`_Ýä }ÝâÄì9Åwœû[wmZ?¼“C`ðã	tÌ{àsõ›Û?OqÂöžVÆȨ7RÁ°Æ.¸È’(H0µ˜p½#%o{‹‚íx-)F,=žÂÙ²"œÃÌ„ä—°íÀÚæ9Níw.i…c’vL0ìòÆ‚Ð*ÚÃz}pAZ€sŸmy^®šROÅö…îNÿïòðYGÔT%X›|ËBáá5¦ý4¨TÎ(ÔXÐ#ýeµeþô=]Hê#%ºwZÁÀH“_ž6£áúl¯ïwç£èÃ0%ï»=¡iìÁ'åƒÇ`w‚Ž%#{†ì;r6,#.øÖ,ć¤zdx`¿‡ý9p©CYÐÒTe*ÞiD¢-&¶Ö H<>Rg#65Y$îŸ?.ÔäxRR°Áîú=T²U}ø@ú1ME~ kmmÙG“åô¨óƒ&FØèÃefæj²’~G³M¬2ëôê‚YAÁwYÃâÖ÷ ™#%yM©o®#̉ôlBÉÕ@"Ð$eæ ˆÄ|³5:IF~Œ—¸"Ì-¨É>¤÷x›¸ºŽ"#.?â#6ª[pÆñ”·æ4ï*	*˜D¨	uåsØmos¬!ÖÃfM€ð*fÀo5йdãÆ¿­ç=1…”V·ñÚÀÓömçÊkû8…6ú„l£\ðgŒbݒK!UU;¤’I#6ðïlJüý¸f¶­˜Çí86#îu︔öoz©žàÖóׄÉ„à<è:YhÜðyfÊ–çñΙSlK6ÉÆd–.Õåè‡SøÌöü½Aô–~Ã!#6ü§ù‘|N3ôÿ›»òï;§ÔO‘Úy	K~ô¡…×Ä°´—SêœúfÄ=ºÔ#.óévdÖõò?IÆÉõáUê6ü‰“ƒôû”[~@ðˆ@X#6‚Ä`ÈÃ/õ{ü>Ÿ¨	#6èQÚ@Äöl„²Φ§\Ã)%±·P7À`«³¹ðׅ÷C.ŽÐup È`gü­ŠûV}¹Î•|¥F1°bcC„2æ²Ëœæ‡0ž}"£‡A°o‚#. '#%ØÐhü÷‚ìÚ¹&F÷7yGÃÌ2M†Š:Œ„ÖúD(3ü_‹ý}Hlû·§qƒE#.2+Ï­M¦äûøæƒÖ039!×ÚFå—9-Eö V#6„‡`d’€êxïk #%ÔOÁ-=fŒŠq/¾Êƒõ¥*`k|X}yÅ^Eí“!l<—FDYºÓA	±¨TD â)#–¢š3S:€™™š‘i°q`wr$îï+à™±›">,Œòq$D©L#6„3ÎÏõk’NðÍÔk‡Ä^!rÈÌC¹éi Ñ93C<µ™½Ø2.¦„#.Y$ˆà ¸ûŸÙÓñŸoXÿËw^º#%r€ÿ™úõˆUv­Aýù+ŽRWáóÆVoë¸q®ž½v¤ÞŒ”™zíÛ$cÁú»e’XjÿÇý1ž-.õ„XÊf‰]dmffžµ¨Tä!Ô}™§§Å´5N*näl³+”¤CEš‘×’I$™ª5ŠLTË­MIikm§™«š²Öjãzef׌º†:õ„'«^kA«ÐÖ·¢šféu†G¼ÇV:ŒÒÄeA)2¬gøY(Î:ü¾Ù#6ŒX#6ª4YH¹„ŸŽ²¨é™ô0	˜A‘P~_bÑjTmå»2sxqnaÑX„î;ڟ%³ïöÞÙýµ£ƒ˜t€Gí^^ȞÂÆÛýÁ éŒó˼ÉI~}~ÝÕ¼QRü¾ÔúÑ÷}‚q§‡#%è!À´>Ò^„¶Cwl9¨; Œ„‚6ð›IÝ·;¶¯¬ó·Þd]¶d>a؈ZjH M)ßQl‰ÐªïVY¬$ˆ €r¶PRm82d?ðۍc;ŽÆxézZªÎÀ«àU¶#AIE5º&W¾f^%àù§Sš«-5Rkӄ¾]ZÍÌ¿ŸÂ19l=1IAJ~ËöêuEð4+Õ.^‡¿%6‰èßرfÆó£æŽg§-Ô¦ÝɽŠI"H±’~Å÷WN3v¥7(Š)sp‚ƒ*ˆKûû;®Î϶þÒÀû“´ÛïŸ3Ž£ßødc_dDôvö´€’»~¢µQ‹ý![~Æ1m—ؾñ!túíÈÿ©©¿)èlHÅ3ê+ì:ŸöK<¾¢ªQRR”Š"›äÙL„Ù°LÔËsMw¶`¡º îÍieBñ@0bRòK:R¢d|~“n|šâšWnƒGô „ݽ}‘8_¨à<'¯aòV¼Qîó5¯·o\W‹÷Û^0'h7 2u%‘¸Fmîòf±0/ÍÊÀ·ió¸ò@£P.£ùbúÈ+‹?NÎTáõPäDs#%>!ø½Þ@Y68þçxÉ\ż.Ü?€ú-¸QÙþ*°™D­jIôßç½a-êzÄRÏ¢ˆ*%ö›Q<ìr0}y,ýÂz ú>Ç[„žäv€ãòƒ`õ#.€²Â½ú&Ì2(Abã:’6ƒ¿ô9œv¾ðû`ç¾É±9ßÙú_¨ì>†Ê§8»ÀþÉù€ö»6x'ã7ˆu'€{Å;H©A5twµñíPI”É(Ö?xyX"DNþ}+»ÅÞy‡sF±èæÆÀY—€3m;0#6ŒJŸÊÌ#%âaAŒö÷D<…‚É„Y(‡Ìò	¯À.pW÷Îapõ÷lòÕs½8¾?~†ç3PGÌpC© :¨3yC³ŠÐÕ?P«¯™»/id+ä?ÇGÞÙúÉõ­õɬ÷V7LUQX•®4=áù2»Ý–£¯ë‚ø|áçð*ú­Ä‚êkCÔ¦j˜„‡£’I'±â©æ>·Ò	»ø5UŠÈA°4d€>Ÿ/ЯãH¤ŸWb)فZ]CÝZ{Ž_\£ßö¨0G±Lùru‹pÖÖÆZžÿG}6\ҍšT…É᠞åõú÷£°20®Uöʒ°8MAÕñ#.7û;³ƒ¬{Š¯Ïàtc$Ÿ:F†Þ,!î:€ìÎ:`âÁbqe¨s꾸äædQÒPÁ“NêƒËJCì2U‘ÕZˆ*>RQÀÑИ†©üèeLæHãc;väáÁbNˆTm÷T†Í&†t”K£Pññø©†tóUŒ‚Hª%HYÇW¯>nÛC-Žmu‹r6ÑêE±½„¹Þô+šn}|=i³Ÿ'2)˜E^úÏS<a‘$Ed@¡$´ZЫFþÎ)Ìí76,BĤJ(~¾'QvVôb•JÁ­øN|À=ɯ»ß<OZ'ˆIâh<Þ°ö#%`íßÂs#.dòUî6šûcÁ-£È3#%§Mª¥¹ãïù¼_Øû«óåïè/˜_Çk/qcu¨²{¤·´?×?ž#%#49'öJŠ<ªJÿ¡Ä†Ã”5m᥈8`«:m _\‘¸Í©R•JJ­Q¸kúºu÷OIÝ'lòµ°~3áGb˜â=hòäÒøŸj=ußËã$½!­°ÔÃïLý®äwšžò!³Ý(TöC’ÇٝDåÄã÷~C—Ï¡\Èৠ‹T £T¦!S䧊r>Ð2üY"æC}Àí•iòJ;)œ.Ù¹ž½ð˜	h_Ÿ™é籄¾üåw¼!,Œ#6|õ»ùN}Cƒà=åË)BB¡háô"þã3애kEµ,ã‚e”'?`vðßù\à£öíç¶>ã‰(}M|)kì`éþ¹­áaª]˕àa½E½h#ãòF%LæV #%ÚI0%‰¾ Z\Baнìh%R­À2` øÐlHvE6Œ˜‚(¤\D½€d󈸂HÅH"8‰ERG5Ö ™½Áù²AC€	DÖ55-~£¿Àú}ý#.>(#.ØÈðòÅÓ<³1™Z*¦°°'Qb¨r#%*ãIé}¨kOH~)Û´ÑLAG§QbY()9gb4 ÁˆGô~×ôs­¢×3ܓ×fH„z3J³íü`‘œV߶PÁý+_>q°Ù#64X”Ì¢3|»Í¯’r«Ò¸n‘[]0ÙP˜‚²ÙmÝyæ]­<(©h–‘ïô›“Wóúý?f’þÐ3MãÊ³ìóžAì};`%õñºéîfú‰#%–½'¼ŠYÍõù½HÃ[±#hqŽÃkóÔ6CôƒH&·j ˜ªY1#€(#.D†B2`ëJhL€é·E(ˆҎ*XZÌO/'œ ;+Ó³xBJ<ò9œ/;3§¨^-ûi^Cµ#6@Õ£wëܟ¢}”RN5Â7ö†n9ÐõD#%ØpHo(ë u}›J6öÄ+pòi:ºØç¡<½s¶Üíö[c˜Û’.Ó à49°¶¨<ïªÊ<Ïgã³Ùۃ;Âä=Åa¨]lùŒ‰úÇ#.ÒÒá)Š#6(£ß½d©ý`~¯YíˆIæIRJìóî9\§ÃÞúîŸ8ÿ‰#6Ù6zC¬÷|ý“>4Ò~Á1؊ŸÂ¡ð&Il™LatɆ¼,#ZÅò4|˜kf_Ñ‚½š ´¸¹K†\UÔ0½—¼$…´UO°ßÈùq¢úHhG®Ž¬’:Š#žY9!|úÿróŒ=H͊@p2¡	«B#؉ë·×îüèt*KHÍÁÙ·Z<ƒ°ïC$"4˜ëêëç–?}z¢3Œԟx'îM'oÝé#%ø÷ÿ´‹;)âB0®ƒôo%dLƒ›,6f(·—Öߤ¯J”¼u.î¯[ž<r±!‚J‘™´Sâ_í#6Ïíªãø ùßïÅ#%¯P–C2?¢?½öýfYÌ1?I#6¯Úz³:ÃÀÉå”Öh¢ˆ"ƒ’•VŠ£ÌwŒg#6„þ¬)ʏ²üöTÜ0¯Á=iڠώ‰™…Bi0‡Ö“%ö§gpõ	c%ÌU!ˆ1¤1*D\?S:PzΟ ®þçæ–Ë—ÉHJMŠ´ŠRÁd¸¸1?;‚ÁcÀÌÝ°.<Îb§ ‡Ö;nçÎN[»›Ñê ݞõ{Cízƒ!RسãõÙ.	S#6	žŠê=‡,”è>½¾zDZN°ëÀàô·•NV’2KÀ.*Ð~› àGX5ºž!¶Å/K›¬ۅةӀyâzK¨Š*üÌ`…–êAn߉lä¦ï/g«”*|[•B‰³‰¿âUBP„	Ÿ£âÍù·4„¸Å„á8'Pf,͊¥d‹Ä1éÿk‰üš;Ô¾Ö#ՄžQÒRƒQŠñ{ùmzIIJ…0êÄ‰´Ã–Å…ãd…å1*ç0%v_η?nTÖtÎ#lš1绸UgP=`Š‡*•IùI²8¢º'ʨ´§F¥‰ëPØA¶_NáAJŽ`µ}ÿ¨|ýÅÓÚ/O€>9X<ü|z`î7Éíö¤Š»ÍýVèŸt¹ úd¨HÁ^mQÔЯ€ŒÒkK™ÖH¾‚ƒºëÓ.pâìDéGb\3>:ZA*à¡=^Wû<eÀ|ä 9 âp]û-³•¦hêØyƒš¡¥̊šÁÐðN£{q¤bB:8jð´AKF#6#}띸ŸO`y½JÝü‰Ñ<÷ à]ÈȐJ¬Êª%¤[9‡_Ôöì;#.HÂ.҂PŽó÷áùOžÜ¶Õܒ“ÌúˆQœóμ8*eåàx_Xú(ÉA=ÐIÓ퇌É\½èÖÈ,Råí	<nÝÔn3Ûò'ÙÙéóøö–_gùUJè â¯Wô‹(X¨7>àý<ž?ÔÕ =>Âcp`¾Æø™ÏðAv}Ï°¦òO"¾€<ªŠƒR†{Ë€¦8r?ŠOësðo¶S·à~4Îj·¹£0gþðˆ¢¢™+dã(€Z‹@·˜A}î­lí…rÔåŸØޟ̤]אݮ¥éÎ#%5I#%M$—ee5hPmØ؇5o¢àLÝpxûÂoJ#.0I Ò,6©‚BÈXõZªPýÑ÷w˜*÷o6`>Ϲ#.¨,~謙ðˆ!"Æ"?» Þ`]Q{“jòNo.ä˾‡0,bd% ¯pA°kó:Î.îz³h*;¾ŸÏ»kõê'©uÑÔ9V/N|Ž¢½%œbªdÏ¡‘?*=…ym+Pw!Ýd#.Œ[*›p…	½ÈÁa°ln7â^€öÂ9„íLÀйp´4#6ú}>¿|{Vuï-¯MŠ«¼ô©)mï¥Ývó·n°­EÿQõ½Ä3t6ËnáññõÙºÈÀ®Þn]¯C9Q›pë’]q¾#.ãvË´[ÒQ¦ßô‡ßõ‡…̚D÷Fˆ§œ-hja°»^¹B†‡VͶl؁ˆÅ#%PX°V0PPÓ®¹ø:ä	nî¡zgžxDeñŠÝÚb‡Ÿ³ÇÐ>ˆyÊék¦ô>z{h}Ás1óAˆdÑä–H>Ôéf X}„Ô¾î͞Ì#¼ð8&`ÛwÐ6pŸÑF¾ý…BBM¬#6I#6çá~­È랠H7V%íü/Äÿxên=@çE¶¡ï‚=jÛQQEV$[jUUD:ü‹•z⤊^*eV“ؔ!ªú¿¨Ì&&r¶l|ô—‡D\Üç´X†€Öi¡š?«Xiê%x¯<íæ®ézîÒfSo—[Ö¨	¬’s4üåú¿ä'÷åcyÜÕÕáP”Ðv‚SÓú0Ñ"#òÈð͑~éº{ç´×Dª_*9äÕ¸S^t œ§(MÉg#ärö=“§ßÆò}²„)NVú¿A>?Òe	³èÎýPã/#.Yl{d+×V=µpø£µ0têÔ¹2ý0‘‡â{Qnw™vï÷ê8KÎÛ¨àzÊk0Ó2¡#%óØéüú»#.qÉTÕK£ë‡±+WU‚шù÷ÜxÉ°ý*(D¾Ý!Q4ãH“À¢¤çæT,P@X$àY´5eHr€ëþ;lýÐèllWTKw{ºŹ¬û?‘ü£øN=‰ªg±‹\ļ3à1ê¢Il“¸ù݃ã'0´`Œ°+Ãm÷@#.ÉY†Çî½Éc÷µóy§#êú’éàãœ/ê#%B§ôëé._0þjà%Æ/ò9Q»ür#6Wúÿ=…rý™¥ˆ“âÀ¡(‰#6`1—M3-“ÊS¼ómÛÛËÄï)sª[!÷Œ™D–TL­¡Y¬ß¨è™Žhq9"ºT"Õ#6+èAᩅ¤©˜¥q„¬©æŸøڟàúY¡š…ûfgñ	²¤(kf:ñ£ðå،ÅCù¬”#. çXÑa¤Å¨klmYçqÎ3Ö~73™®Ô.¦Æ%½Q²’:	v-°—r· ê0#6ÄlÖ¯H`³}gÏ¡‘t¼¨Lýïä|~Gôÿ‡ìÛnîv<ÁÌ!ìÊù#.‹ÓÕwʟ†,ý†Ã°õ*ŒUŠ0BA_Üá÷KÒ¡‰(æI:§*•‚þM?µ™Í®ßÅÁ5›ä=½ÖN}¼NÍ\ë׳ž&‡í?z Ð¤´Y-…„¤*¨õÃ~‘#%·žöµ¦ÚSŸõ’	Qk„#%Z…z³#%åÝÈW;Àτ§m`ŽðŒÝ%#%&„âUêï1ó~{Žýq×ÙúùT{,eÃMÙ"bª!œÖŸÍÌ"qùz„Nº|úw¿1ˆÔe”É»D@’å€Ày#6#°2;×₾÷%þ÷2zTXAÄ#%2€8Æð*5@åï'»ˆn„Êl„’V#6~Ž\bHQ^ÿ½èž¿,[>G;H=iêPÈJޝ§b¨$	¦ð¯ñ”LÒú˜.½ÕÎ`ð4ƒÑm°É(4^?b——S*èdðpéÿ7f§Mó ÜÖñ?A‰£7DË$˗tÆûë̛dÞ>o#%dˆ„*6<¾Þ<Î= Í¸_èyËa°aúðLfë9›ßm‚ÚíŸãÆxjt3û±]]î~N.5¿U4†K.w¤Í…ÒG…QëæìøŠæ°ÞŠi}‚kCeúÉî.§ZÆ8=6t™¸Yr#6„%Ý7"—sPDÖL1ܱ þ’‡^'y·=Ÿë;â*Slb¬lˆ{¼*þR{„\2ˆî@¯çk·¨˜ªØPîᬅâðDçG½#6@<0Gzò£|~Hø¤þ‡zN† ˜ØûcGÿÍý]ŽbïÓcy×÷҅Ø!éÅ!ù‰Æ?ƒí·oÙÜÙ?ÉåTQŽÜ)ލQñ6ÓÒáÞú_7ۃàò‹à#.èðüª½ÚŠpÉê7?v¿~óAÞJî„îç'bœ—û,íÜz@®‘”^í@q(M¶9T*²õ†Ã.Évm‡¶Âºˆ9ψY t Æ"ñÌ&÷Ä;:„×ì<݇Lò0âÃñ{ü×R¬þ/$œúý3Ò#6?¿>þ_Óu,š6捚sl»sÄl˩Ň0â•Õ躨ƒsŸæG#ä.ñuÁgg¹mPÿk¼§l$XóüE‘æv˜Q?™â[òÏÞßÆIGG”HNåwÒSƒîýçâ-‚¹³\Áx„µ”9ù¯ˆs£†{©¤`öù¤J÷ªÕ:^¶‰B4žœË?ÕzfêÞÿ•§„¥¢®¿)#.!£“†a’€û1¬KÚëõÌó€ê†2_‘ã[¬{™lAnµLL#6#.µ› qÍ¡S'[o”½ÂÓGf¬(`ƒ{JÂñw–óç¦$ÛÇRuœŽ:g<®ÏðÛ]3êød¼çŒCpê֓4¦8óe2övÏw]Lâ0W½k³8h[¡åÁ,¶ †”{ö}/l\_G–H½£¤á¦#6ù^'…òlŸ­æ¢å®#6—ÊÙ.rƒ‚w	ë0Þáü~-¼ï>]¸ã›ÉÀswsÜ&…ÑÜÝÛe‰ìü§]È]2ý3„Ë4ٗ–£UtÏ[žmjpªž¤9-ÐÁ@AbŒ#6™£AkãÕÓlԕùúøoTqŽ˜4°—gÒ3,Θw<vâ‘/£Ã±ü—3#6¤39ߊ \ëa7gÖâ¸<Ž«I…º×$ #%‚!¼|_á1w痣6ôtŠ‹3kì'6¥Œe¶>É1~¯&#Ùî+ïUÜ¿îÌ×}.µŒŠðÆ³Ó¦³K7wMïTD_UŒÒr{RniÐU!Üñȸ>mòi?]“Ðúsyü®ç:áéõ#6Œõ›3Pÿ[~´ì—ù¯§¹OšÏ.pìà?h‹^UÚfÞ|ð‰	7䆨 DN&¥6iQ-9z-¶bêwþ{£K–Ý4d@òuL:؀ÝrŽËç}ÖÓ¶æ8\à4›Ýœ&dOË‹x”tð£ÕŠ1ÕoêïSßþþt¾þßã}¿FZ÷|iwïòÃ\EÂ^ÃÑq¼.Îúy­µŒß³Ì#Fכšcró°Ê1J?„yŸU`< zŒôê­9Ÿ=(ÇV#%Û»#%øÓY]¦˜ÆÉNIör+Í0‰Õ‡”#%)aN^/X#÷$ 2ÂOaA~eœoa#%†aӁȁÅNÍ¿GõŽ‡ðãηÁ8•†ÝóÎ$÷ÍKs{üœtJä^ôeìQú¤ê(L̐#.!Ž~ž=.gm	“iijÞ]¨¦b¸MÐ6Eî@ýŒ´‡Þv`­w‡aY<<ëà›;% ‚Ó3!.áé»IÕ35Ç3å·®N†úÇÓ(¯§ëƒù6‰c9vòD[µ4;ȘQT4¢Æ’R.²aV&¤BœÓÕ¯Nh¬Fz	*åQH¼Õj´$fU"Â67U’<y„bןžb®	»T†#.‹Zd˜‹K©ƒ¨å9̑‘?¼’TRëøq©û߯:ÌÑÜYE‚zh€À‘O¥òúÑ'Â}ߏϯú¶´ã´!hRéÿgÉ8_‡ú+ƒvá4¼þxÓËDçèûý]g#.ZŠgùPô˜}šý;ñšlÈ°†± IôKû«ôlpýŸHN#öþ?bpà€~á¹#%—$!!ûß#%ܕUl?Úz˜Søól]¸~·a¶Ä­Ûɘkä öjk#6vè¼]ý#.çˆÓHIH‘Šÿ{µ?¢ËÀ;uM·YMQÃÈÓ[q“Ƀ[N¹´ƒ€&ÚôunµÝW€x¾0óÉ籈×p4-œçPÖ\IÁ¸7\¶Öò¨ªñô¦Ü‚ Béǽÿ9Á¸t<#%<‡3§ê#. 2¿ÛÐs½k•!(Ú*]𒪨°©A+hX™˜’Æ?“Úvÿ)Èi0h~~ë[v[‘¹a,î͐ìw ÚÌÖM€N0Ï|¼Ùª<ÝД'Qä{jWÛö[¾¿‰9`±Mà®P³(yÝ9qõEX‡—ós!GWQ®Ú-ñg4'™io/R„	á—«®Pï¡ØùØk„•¬ÈŽBé;"kƒ£s_¤‡}5fŠcfS.ê²ëƒ€Ã2	`D  §ÂSIˆ0&„b1"áJ5ih¤˜>fRàH¢Í«‡N¶s8„ˆ¬	Fe…qWžäz’§d¾5àօ!;xÀÞ>ï†ç†eÕeB-!؝œïm§0M.Î"Éô¤à7ñ¡NõbÈ>}¾X3ýä…:²íäÖNÅÍ÷ü7º[Sò„aéߦ#HáòÇéwo¦¢Ì³ÙÛ´!€;Z-"¡ø‰è’zbS	Á#6ª…°ÐՒ–²A±¨ÛAp¥i²e¢TA Ð@h=Bµˌº¿ f?´5û†»›q&­}Ûrd^Wð?üßk{K5™ Ú,_Öï{¬/+Yüt1Q!%¥*‰d`ü¿­ÚŸ@R¾Ä9AžäF"ÕÝ·f۞Pàw†£|}¯ôh„	{·g=×·½¬HER!AÓË´Ößè,?»ßØ=†ËȪŠÄDy_7xÿ<íî,ö‡+ɲ­.eñÖàÈÔhX؉‚+VBG=«ÝŠÛV =¼R7–Áý.ÎùrõT'(f¡Úh»V7ʑ¤–sW´Ð’Ž¦À&’áõQN!ëMpqZ%·d岘—nƒ¶;±'Ú%1†LhˆUQú#6l}i Ã ó"™e¿¦<BˆÈ|½†3®Ü<<t¹Rð`6¸Ç&ÀvîÛvŸyÂ8Û`«pBº¶DÆd“kOVR\:¤+‰;ï#¡s°îÝÈãLºÅ€xórÇúÝkå.̇xžÔ©¸ë„4Úgu“"0úË!we*ñt5æ—:ÝÎ&e%•ßãD‹¬sì·.¬é5Ĭ^r)Ãg[Äb.;a“3¤ðžœX8:^Ó·¿Ÿ¡Û&Éë“Ïs^½ÛÃõwG•$fž>šWâw}wλw̸á‘Ŷò՚˜Y$6ÎÖa7Åç4E#v8œ–¹omæf¸À¯C'am²H|MÜ4!vkÿ!VBÞ†ðÙ:Æ	Å]å&@Éî[ÝÈù1àô#.sžµ3/MC4XÅ#6ÅE)ë‹n؝áã´'a‚Ú[–\†£Àº½ŽfÖ@ƒ¬næ¨|?¢©£_w³Ý¨Ï¦ÐàY”ÎÀlô2K™‡?*#%a8xIéç×¾=¾øs¿AÜrø€‡‡fA#6¤–±á·GÃM§o#.F¾™Üϵš*wQ¥íè¥T—ˆ”ñ˜›`Ñö7€õF4kÈAËð#.2ìª0hXøT¬ZÔß´åb	µØ=H<àXoA#.!rqíg#%[:yléTËs©ÓT#q¿`Z×͓^!|´Bl¶Ç¸ò´©Ê=1Ž#ÖÑ8šÆέ$'`äQ.º%ì+¶&†À÷{¡èzy…‰5	°ÔmyÁ,Tí6¾$pd‡—ø(Q13(%&ŤÂBß²°Ôla¥²HrÏ#.æcΝ<BÙɤôÏÔÞ»«[°ËZPX·wouMÁÈ̪÷LÎi‚]©C£0=ƒ°X¨îuà]ˆñ»$8dï;ˆu!‚ÉÒ@0äPT®a¬xoà„fv‡fåWl׀Œ G–¿àªˆQp@©Öö›¡’”MÇ“qG{tØ&ðºSlƒ*	z½39Ã=NùÌÌÈðØy"¥ˆw'ÐUÒq5¶Æé¹v/¡’Ëà24@·øl'âlȳ§w@'©gyÂvk–Ìùµ‹œÒ¢¬d¤Í„4ôÎ¥ë|í#6£Ðà«5t¶õMÚ]î‘<#6i5À{WÓêB<ᤜ‡”16;€¤ ²D`ª#6†ÍɈšN^D­YuQX’¥ŽÚhgLm¤»2îxNKaÊ£R+q õ(Xø8œLÎÎoE”¤hÂ.JhÚBHN_C]àYÑÉ.ƒžÅuáŽ-,\à@ Ø+ǯ53¢,UæeǙ™2æffXÛ1¬«2ÌÉ%Xì<õcˆûªjñl$0n˜Æ&z¸íü'qÚÌQ¶*WÕÜFÞz>7³wœ&–¥éÖû½C›9Û#%!zˆlžP?V[¸·=¾Û»ÊÄsÍÑ֙Ò„&w·áÁ"TK¯=k9çÓäôzp¼m™)ðiè֚ÜæÄÙ3=êFC¾hYCS8G+}9•­ÇÏ5®ÍGÞ˜sÔÁÐi“·d%(ô#6×nÜÉBiÄhŸáIw°P¨¡%Õ,±h¨¢^4˜{ûw+Ñ#6Æ]Án™³ÍÊԍJ,!25.!bÌΒ[úsHƶg6|kë‡P奕èŽÐÐɪ×e‚ìëÁéë#.dӒC¸ÌG)¢”AkotcC~[^²Ù#%D¹ÞìÎBI(×¼®Ò´U6U;â´øÀ¸}=‡»Ï|#%Ö«Õ¬´”ÑÂ7:ðäUC#6ŠS¥Áµ;’Ȑ‰èáÎ\6Fj«U*F7Û`žr¹á˜t¯äXȂë@¾v…^µš­G1)ã^ï4¡N)LvàYÎò`']ÑL„ª5m²Ý3ã}´Y¼5ÞB@-º·¦ü¦ÏFµ&¶€á®) l‚ÐÑÛµŽm,¹r,±aòãH }3V%O2‘(ö›–„Ðà£J(‹ÐâHk2fdçqªºDôòÚy"èN‰5«Û¹ˆ]Æ#.¡¬Ï7Á£0¡:þÿç‡06î쪻BÌÙµRÉÊ$Ç‘‡cHÃáŠÂûJ$ètU&WD9æςš*Ë!çÈÜåÞb<BÑ#.#.¤E¡Fy ha½¶E·	­38aú-á'/JZ*šV¨i4œ`hRq!]#6ÐΡ«0Q¢e.‘ÿ_B†"ûÉ¥#:+R*‰F䨎ãºq=r@õœ¾_ 9Û!ß/¦MHYˆLÓӑgq.Ôt=vü7]Xu&I¯Ù„(Cy¨¼°jÏ4±K¨d;Ä¢¥Ú…©#.üJ”$E1ΦÚ1‘d‚€k±€×´†³[&ᨡÁÄrGÌXÐ!™"|&“4уIŒƒr`ô<4˜ÒËMkW€gÅ7&»Ó6ínS./ÌçÇÚÖÞ°‡F2õN;@ÕDf¹â“»ãUëÐûŽÀ%NÐn_~L•À ‚DH²Óf©˜¤ß|oŒšR½oªó æ85IF+:ƒ5_`d{ÎuȦ¾¿\–·\g#_-7‘èõ–ì{Œèìî"æ³#YCi#.‹×ØÊW¬¹7R¹ÉØÎ!‡‹±E¹—*.I¦›#6’‚Éw×¢½³áp$Nj$‹#.Îxy|FÀPL’Z#.š°’(̗‡nÛm&C¶#.F´"뼡%Ï·z9¼Òjě6¦„™Þ0ð¾oHCøŒÇǚ‰Š¥7L!3	„0q‚Ä#%Æ;{‚[‚þ@o $ÜÙVI6“-Ãp%A<劂O××'ŸP£ÿ¯¹Mu#%†I|E>½Êõž…8q¼D¨-ê½0ÒƘ»²ô:¢äåê=¦‘™&-O醥éÏÛgÆ úîí²]+<GHk%Ù¢˜*>ñ¬K‡¿·M>i#.$×ûwã_ܟóÐь‰¸$ëÌg­ñ\W«§Ñ3nWVGM§OUªy#.ñ”ÜY7#.ï·»·=h=BÐR´”‡gÌß»´_t=V[(@²2N.	c ›!áHôØ>((Q6ÿÅ7Ý*Š…=Š°eHÐÿoµéÅr.#6ë\HîÚæzyŸðCÿ?²e˜³ý“€‡BÔVKÓÝò<`PA>B¢*£!>Ÿy5©÷Tõ.¥(¶fÉ(ε<U”vöú|G¼z¨lô!á×gï"ûN`´é~aõúCäD#6F	‰[Ûº‰7÷«nÓ6R[êž‚P!½ÊPE.xùš®5†#.+i}˜2AA‚ˆûw­R@ŠH¡A)Ò¢+­4Õ#6˜ÚÊ	fkك:·oNqï$$$¥¯b¸Îô”yØöpÕ$µ@© ‚Ò(øì¡Þ§’pm`<lr°#.ú¯±òÁY±W,ï$ˆÍø	àž””ôŠ]CP÷À;?8¤D™v#6#bBÙ-’hÐ I÷ì{ĐB"@ˆæ|§®\¦€ú¢Æ*X4GZ‘A#.ʛِx‚{i#.¤Pd ‚##%=ÀA`|x_äCR³¥éó4èÔ£`$‰kB1KºíÁ#6Xƨ1tI‡Åʝ»{m|®Õé¶#%¬Pº5ƒ80.˜HÜÌö¶D[¡·¯¸ê’{-ύþ0~ðî6#.ÐÀۜuHKÓÁȬ;‡Æè+ù(ª‡—°0ˆ#6AÍ£3¬%„_²Ÿ\$͕>‚&@!åÌh!7#%Ü#.[Ó]쁸F/ˆ5û"•µöi^øUÍÔdwéÖn­\¶qüŠ/  ‚êÌpá<`bˆé·¤Éê5e6Û}åcj墩i,ÚAE`d;ˆá;`‚þèˆˆè«UÛ4ÖÖéW¼ªÙ¬”àc‹òz9$ž»u[}’ÌnS(î—ÁG¦"uÆäMö#%²¶×/lM²`Î3ˆ™	€Iˆ‡BŅ‘ÆêÜ£ÉPbî0*z*RI‹z»·M·7©½MÍv%»´^uå»ùÞy·‹›¦;¹ÕÍË%ewh䉽#.„ºEhÒÐ%	Ô¦¯>6õ|,µ•ŸÁ}lƒ@›$~×Ú#%Üà=Ó$.4¡°†eÏE‡Y	$$gñ¸|o'¯Øÿ&_xr¤¹ße{ڃŒ²qõøç#Øéêô/Í9xóÏsLXËü‚ðDo™Ã7æzF%€A\Gv‚íg–}¡õ¨ÄhKmBˆx#6I!yb°hÚùëí*×O–é¦Ïî§{h“Vø­¶¹[sU>þ³Ö2šf00$Y§Ó‘Ä·+?߈ó÷㐖ì#%OPÐ?ÂUHïjÍgy诨·«f#.¼ç•™r£k¸,“‹CǕsŒ(lÈd×XT‘˜„¡…#.-¡¦êTÞè`¦–—`0¹þf( äC.¸hïâÜ_<rµXzèý¦.[÷ƒ9WlÑþDÝÇ~++yK”ÜD„Ýèó5Û­=ÇÝåó†Ý氇_uZ¬ÎûÛItlìßi!,òîh~a­ÑCåð#.ïvœ±ß“!@»‡#.W8Gµä´®M[q‘³ó'ôÿ5çc‰yΉ˜èóó\s‚ÚU’Á´ü³1,;næ)šÈ£D£lè¢{Â#6üýE„ª•RŠNÞϤ:oN‹EŽµbz©5RöóžnJ¯\E  k}ð„Gp0³5+"¾•N¤zŒ¥|JNq±z©$MÅkÔÃâÁ/H…çƒx8˜ˆSø{Qy´¶"Ø؛}¹ú+<·‹1™#k²*âªh–ü·ÖÐñÓãïí„()de1*#úå¢#ј{<¤©#6B~´0„úÑPPa­¶ÉV‹d¢6jƒl¢JŒV++-«M²ZI[Ò[YQ¦ÌÐ Š@ŒAdDõ”ü8üú—ÒZ§U¾¹G]WHsÞ"zådHª2#%È õúÐú „˜à×ùuÜßÄgõ¯"ÝV7Ձ6‡?e¹¡€ðÐØ늣šˆ5ŒhXdi½ú#.ˆ«,Š_Â*†ƒ›”é’i›â{ÒWÍíï—BI*@<&k(}¼Hšt¯•MÍ#.%€hkI”‚/¤Ò²fIš¯©ÓrÝw‚§º*(»w*R Z(íxÇ՘N{Òup£&šÝ¨$[j]8l JÄ*ʽ‘mî°uA}žC˕¬ ê•##%©QM¢:öï¦¤*$g¸À½3ÂtBE ÁP‰'H¤!‰-EjæÜÙ+šÜ¦l)S(ªf#.EI­¤)¨ˆ‚€¢“ç™÷O°h!ØÜÓ&²Ð8@#% HAdA•NÔUÔ£Êúø>|Çí½÷z»Õ‹r¦š7ËHdaÅÂ&fA=/Q…yžwßv) ß#%ÖHˆ}0!ÂÓã!ì?çîÿ—ðûoçôŸü6*‡œ9Ã}ŸâHß$Áßég‹/ƒŠb¬5B^!Õ i >ЌüÝhFŠD"°¢#誨d|M×½÷ÇNV2]Q5J…:4¡x¡²¢(.QÒHMŸnš]E>¶,xC6tŒ‰h/לá†ɏ»²Ô{hÍDhËþ8_£÷ùóÄ“õÒ+µ˜A#.¬Zb‚¡žÿiÞ0"$œqÝ»1ñ;“£n²èÓxIx5S²ù2ûõ#.Ou‚	*}–À©9,Ê1üKûE垭è')®Á²#% ÈB	£H싶0›º=IÐøõœþÚ;B³q@lŠi8"d3¿!û±Üx#.ARúì:ýØp´xԁ…ˆ$‘¶¯SÓÖû·¿„'ˆCµ¥ß£sƒì¡ßlQñ»aúpð:r‰S²^uÍz놳ÃéÊdT$֏`ý²À ”Œ>·†D=‡ÕNž3%c£xIîÝøµÏʼiă=ÏI#.-3}ûüÉr¯ÏõÉÀÃÄ#%ÿ4vvu„#%ÍN‘‘vº÷n¼Bq†ˆYƒ¼ê…(›lÊSiLúÚ¥Äcí&b‰3ãOx±“»#.k#6P2C+Ž´ãLjAçXô9¢”pªq¯ïf÷³®zçíblS¡-§œÚá&+šíXRka\¹Ùrnj`„X#%ˆŒ žâ’¢¡ë ò£À;Ÿx‹¦h}§œ6uò:«1[w~ÿòÑ	³?Ä7¯(iHPjÊj¨¨4£QPuQöt?_‡ïbɱù*îíw(Qa–DçéýM ™ªEbyf:öõ¯ŒìôeÕË8C8èPX‰{il[ÍI~#6!OLc욾––@#9OÓçVvÐøX79° #¡Ž@úA¢•V/5MP4€0#.»Bgð¸k7ŸÃ¿ß^×ο}Ò‡¯Êùñ‹(=–côôþÁ~‡'‹¢!ÈD£v^ÿŽ#6îóÊ@²²ZÐXzñÍ}fT°Þ.Rá>çæޙ¤SÚ¶8‘ècs(Ÿ:óž‹Á¿>z œ,>cº¸½¾1Þt*U¶¼G¡ÔLc3úZo¥î«ÂÁÞµÑáè㥷;WeÓÇc¶¹åpçqF;jÌt,½ÇÙ¤mÖÙ*a\£·¶|kžµÐ/ç¦ÅоÍhŒ¯›ËDP$S¡x7ãmš£"äŠ[lmp`¯h8x–ÁÁ}7:ÙדlíA¦ÕÐÃ|v#6õw;60ný1ljmß>øµ;Q‰šcµnÊ$[ž9µœÚŒ5)܋QžaH$ì£h8ŠâæfÏ{xÅlÔÝ.£Á°_+À£ÐÑðøbsaצóëÇ#%YbdSÎdƁ#.pûŸs{¼Il0ÜûÙR&ÌêAÇ#6ñÿBHjëP‘¹A골)œHTøL3#%!+R¨Ï¢VAH©JÙêÄcv­>8}¥hà÷·2Ö|ÊöçÛ!ˆ¿#%ù˜ì÷;vÀ+…Ã"x%õéÑ×Ûc@­¤«x@¥Ñ	ºï¡Ÿ8`Ŷoê¡ùÁS’'+ä9Ùýâ6*êvòñ‘­š¹lØ6‹Ÿ×ÆÛywPõ˜¤/ÊfïWÇ Œ„¬ï¡ëµ#.W#žÃòú¾	ædôn;vêÝFl[Ú ÷†w6%‰9‘ªM–ÛpZód½™òK[?i`ë¿WúX†šAžԄ†Ó}{–n#.˹ÏeA–Ç=ÎB:£‰ îÎhá#¯$ïR¥ˆ"Ã!ÙÙã>|÷É8Žf#.(¤SôܾöÒcC|¸á6RGdõLÅõý}Œô=H )G¯†÷&r ‚0Á˜ô€z•s:ñ—•wdêßË-㡧"Ö$3!~I$ß¿Ð4!•#(í¿‹	Ó]àôöklÑü™1v.ŽsϺ&®]Cj¤„Jöm7†ÊöÚ´õŠšúAôöh†)(r¡ÊV‡T’u©£Ý55#hý~=Yäk©"N(Dï·Ká%OԎœLzJ“"À^q\øëѕX0¸°&ÃaŐ?Õ³h„FE5|øeëëܼó¨_ ë'_·&µîP5' ;ûè`õVSªS¼Ž–ªˆ­*·Us²43d¶º\ÙIÝ]Mœ‹’Æښ[]¾TŒR5	‚²0ƒ¹`¨ÈX¬%JBŒ¡i)¹d¥ÖpìnæDp¹”f²áݳ ²XÒŠÄé½Vù—µôh´55Šf¬Ê‘E$M¯ê ï!åÄ£c#6låÑ1¥gkÏ~ÓcíÝèginÿu[ÇPüúᆤ„	×#6Ê´—é+¥dÖm¿JâÐÂO}Žˆgº„#%¨‚#%ÆÙCÜ#6„tü¥È|lûžäðv+ªÁÂ"®Ý	ÙS)D¨­ìr«–4óI£#gm‡±°æ´Sà¨P©Í×p„ã²µma·Ø¢žÏÎu„mwñž`W¹ ¤vëC0‚Ù_·«#%b ž˜n*F¢[föUŽŽÃÛ¦š¸í<¶‰ÞNHO–Nù'ùîHÙ¥#6¬…#.¬meQ€Fˆªd°QB$J”Œ`ÈÓD©*X²R’ A¡iP‰bB‹>&í'5mÌSÀ‡aõP#.ž3¼ù­«¯Uõ_\ÊƃnëµXڀIét÷ÄAÓ¹jr‰ir%§Ã^[šõpÉ!1ßй×ÑXZÚ§TÙóYüÕfǦ³¶Kò`^üBþ“™:â"€^%GPß­:D×-nóD¿\“iKÛ6ªª§£Ú!ÚE$H#%;±Ä+†¦ûãÛþ:Á‰Ù(gœëw'`v2›OA¸ºÚ¡bˆb$(cÕ¨‡Bô6HÐçªõ&™:å„Á[ýBðn‘6šLÙY¢’&oáoÃa gZæ4ÅS$.vøü}^Gwxù?LD(:íÔl†Ú£Ø|û»^ys*½ oèo’­è¡ýþ{o´Ò)”4±"ˆ‚EƒÖŠ"Îg™ÑŒf¯:ºJåM.8ˆgÕô8è$€ÍI¬´­e¨Ùòˆ”7Ú!ôäþF›­9Îòué¬ÌV°WT…vgˆ÷ÙîNž^»Þׁ·t) Õc=#j7®çkÏgÔKm&ðŠßÌåܹÁ5.”SêÔÆɸŸk4JApN:lŠ§eÏÛÆ­‡m2LÆ?¯]°ËYØ¡¶“¯Áª¤úCÝÂûªC<sLTšCvê‚­ÃA	´»†Ê/>!!hl5ç©\¬Ð™J\¯×¥ dHÂdê43d=BÂÁH#¢‘¸pK5Qz 5ÑZt%Î^E†A‚@–@Ȝ_àæ÷e{>ñ¢ ³<Ô	‰²Æw+¸s,	"õ€5#%B «Piuô+55ƒÁ‚Ú4ÍÖo.Æ#*H) ŒBˆFõ‘ˆ®¦`Ș`¡âÏY¥­Âz¢ØÃɘj8MË!KI}	‹A#.``(3ŠU€Àõ¶­Ô&¢M•·ÊêëlU”j0À%Ô¥†-Ù_›œá烞;^Q=õ\¿)ŸI#6w¬©”H¹`Íöò€¨Åïå‘|ÙF×mÐA;8ck³èÚ{Î“{44‡ ”JàÉܙÕπ}LPCæyBM±dY¾‡«²›ábyOĒý䵒ý™ˆƒ~šÉ¹úšØà›Õ#.¼C"¶‡I<Û;úÏՋ{FÊinlü~}|ßáñBûÅÉ{øºF¾	dìàÉ#6çîà±!!1134ã¹c÷t³Ê'HœC…˜-&Å#6°ªhvÏWqþD€ÈAˆèªt@‹QÙÃÇD¹Ö ‚[!äåRÉÒs'tÃ-‚T#%g£è雕*ª“ÒY“Kt¥ÅF"(«UV#6Ñ0&(÷&T¼Ç0}zšƒŸO­‡²‰Qj#Æ%…ŒN¼ƒ±€¤nˆ²Ÿ™(VMBòÑsýì¬ãb¨LcC@! ƒ.¤ð¥t˜1'?]‡ˆŠ& Õã¶ØÀÀ¨‘i‹®(DŽ÷¨æçÌâŽõy¤Z¬Ý*BèÀ½ej·–Mdø¨Fí¢FtHFØÑ}ÃZ0À"'•¦?ÑâÊõŠhØÒ;ðdYC*Ï;C¿	­P…Ct_ À#%2Nÿµª©°¢dÔÔH<ü%ÝqHMÝI\uª´’ßßЌäLĦæêpÚMÒ<ëç#.­†ÚÊ8ôã%˜fL‰QÇ&јÅ\‰*…å‹01ñxaj€ ;‰”ž‹ùžª{è™<(…pю®=¬¢ÿHy!ŽwD0íµÞǕ˜ÔAc&™´²–b‚˜£Š¤Ø.5sSIý›1ôj2¶ŠEH¢ƒ¥·ÆÏ,k¬Õ=­ÍñÚÍÍ2äÁEœ¸¨(ʽˆ„	:¡9ˆZkµ‘©´öO<שMFØÚË!Lc`0Ò3s@ï}Y÷N#6late<˜pÖ0÷J"DzØØÓˆßyCr6±Ë#%=l+§j¹0jÒOþ¯|×f>-=q¦ûÊß:Û¿ƒ×¢ó1Èø¹¨õ’’ ^¼P“\aa£Oö¶³r@^õéu4¨’ãº} ˜xÚc4uÆÙàâ×Xgds°•;îæ"ÆÖ,_ãMþºl„áÇtÛKV¬7LÅ¡8ƒ	9ŒÀ„²T(5T‰H†„™ ‘¨Œp­_;KŠ¦ùeÉYJ9-Uà AˆìXÛIò–.#.áï#bì’lÃIm£€õ˜U±­ØdáA´”Ã)jѹ ÒMF…Ý4m¦¤’j!6I&̓³¦&1>ì!áÞ¦°ãm.[¼R>Ø]™Ã]+ÙÒí.ì]¥ñ•éx·´®jñašJ¥-#.ÐÑÇ#6†ƒ%±dA‹af“ÂÈ­[&fVãøIå.Û¹ð‡Ç9ÝML™Í5#›Ô’#|¼™[A‹Úæèu˜‰_kØAÆ:œQB3³eÀÔ/ð°ÎÊF ws+¡-+¬œpä.Q­‚S&h%mK‡ƒOÖ¨fö¬¾Ҋ‡·šñßÝä:yGÈ`ÓÂ$F…½"šˆ„ˆ»|hÙàP;#.aHê‰Å4¦”K_kà@Çip[6‰6y3÷ˆóxpBÿFýfÔLâ[6ãknk׫‰™®TãÝ¥¹„ÊʗÎúNº¬Ó	2I+FÂmá‚ØÙkå>)4+.b‹$馬ú‰¨Ë¶?m…ÃS>^O¹ð㍳*0üÉÍhæŸ'£~;j–0æÕº5-Ne¶F¯Á³9HßGIÚÉr,=ä°4!{nî8nØýÐë’Ùë œ~Æí:gg¿˜Ðƒ`È-@Tùÿ/¯Þ?D/«¹ÕíاÁB	°!D±¡DÐE‰Ï% #.&3í÷R’ŽÖâƒ6æ¦÷0Ü Éu*:hë$‘ÌM4h@I&…M/WX(,¹§fh#6l°#%„ÌSÎ`°£X	n¦yÓzÚ¹‹©i¥RJùkïVr2L”7käÜr˜E¤¼Ö¦EÇRJðÉ·ÂwXU:½–c7ãweû‰ÚŠ(AÓ×Lo®ÜXçû¡¸×-•=®1&òXËÙL9Éž‰!	’Ù}Á¹IǾä\y$þÉW¦G†~ÃE4ªm©•ëS_ÉþßÌ G®#%ˆ£sºvYBog•?’­~ËA%*j×Ú¹âۈ,#6ѵ¨¶¼TjæÕ¶5­¨ÖÕÍmͶ-V6«¥¥ÖévCÙç.'Q÷¸ÁE5bõG9;#.¶ïY4¥•(ö±Ô÷u;ƒk®ŽÛœ+¦¤ùï4šÖ¿™D’4$‚S&e3JÓ,É)I¦)5E¤ÍAúΤÂZÒ1Q4Ô¡’š"P¢´±¯~Ü¡“ZLY%™[4)“4̑˜hEQC”M½ÝDFÒY)˜¤”–PÃT%¢Ò£EL¦FhÆL•¦)¬T„Ê&ƒ%!MA”¨ÌA¦ƒLÚcH` ‹4ÑÜS¹&óg¶§äe/è#6b|[|X&Aï~l­U_SBݘ×Çøf̈þ¢˜;708ëY!,”Ìm¯Òfvòús†Á©Ù9`ÄÞ¬ü8Î#.©‹4czKÖãj\	‚0Ž¬Î]iÙ¼¼Ú(’5÷Ðz—àmÚn.֛¨—,mDñs0³Ž¥xÂxâN;Z-_ßK¡­#	ý‰}úYJÒ»0teŒ^ÎÝfw†’~âÅçãîùA{*ÂïÃñŒŽƒbm°ÇŒªd©	­…ïúûZø^Ûo³_‘bc5 £#f²V*(“i–`!Faå³><9ôí0ݽò¬X	›#6"ƒtXaÛô3³ÙŸyèNUMæçaëÔY„b’™Â†+ÏNbC4®}û0_ê®[ç/c´y‡OÀôW¿—¼‡}#êk#6xn4ëO–åûÒ3Ï=GQá’íPœê‹+™|ÎàÉ ÒV_£ãfåÄw&}z^Ë –p{"r>Mõ£ÓG]‡eUY´#.q¨	E)¢AT‘$/rdÇ¥oKý}eÂGÝ2û¶ÛùåßXÇÆiKôôˆ£¬Ê%x4ûmÁ÷cǗ$I*#1â8-¹¬-ߣ¼8ó#+ígǏö£‡dÎCì֓÷µ« ªIm¦úõöÃ{N¹”`g"â–PR¨EΨ¸)µ›xãcB?+ç#6cguVÖˬ!çE®Pӊ#6Ú+G0Âè'­#66[ïG8 ápI5ö,nm_&·É‚Ôè2…ò˜í¶£·ŽWÂc.[õ"^7L³§<1YCŒu-Í4î'¼Ñ¯$º41²Úîg’Œ ®„Ä©OSååšä‡½ðæ^R°öœA虚O?M"…	CòqôÂdìNIÈDBª‹´ÊxŒK'²Ùª յގ¢gd6Eõ)×FÛÀ¹m¹™—¼2ÙIb=OiÑ·,(ŸŸÕ5X@ý\µêž{w÷7g FÊHC–ï‰:ڷשÔ'®½]Æðëì±õz¼†—	Ãíúëïúv“¢B¤†xà÷Ç}IÁ\³Âw¢â‡vÏ·§Ó–æÖ_¯¥ø? 畧ЪX‰@w	Üóߜž5Ìíí†á#6áí)~¿.wðzŒàDà ¢Ÿn”GkBkjl8ògâm»]š•%};àf.äIG^fP–så­3 jÓ5'B;Cq¬	™™#6;뀛<rÝ	&\?#€E„C8(p+x#.jÝ_âN®ú9pÜh>?/æåüÛ>é5ú³0ù²Yþ–¥7Q6È£Šö0¦Ä¦ai™ªF—˜»ÔÎELš¢ƒÖ¡•ÂŒœ‘u§÷5˜Ú30ÞW>ØًšÓ©œê<Ô4̵¶Í<¼ØÍ3‘©t,Å†q4hÔQSRJbã5¬D‹(E…Æð¶ÒçVL›WUޜŵ¬	æß´¥(%©ñ?”ÕKľ$–.›¥âÃ1^{¶S{ÛeóL:Ø"ža‚*cŠ“óuo\	a\MLËhz²IÆ´lÆV#6¶Â'¿S³Œ;ٌï¬îç;WGÚv Òá8ƒacgµ9t!éî^Ñ´åd»Ìê5+6É5#.ÂÉ,0&àbÛNJÒ:¤é°~­g–]øì`ɐ½/Ü,7#6ÁŒR[Ì&*_¨€ÊÐõ¡‰êìí§ž4ÍTo#.ª?02!ðnÐ6#.ÂΩª²æсóĐï4Á&:ÏJFìÀ9]Ѥ]Ò¬ua®y:†š0jæó2w67¶ŒLªL¹‚$ôgç}õ‹´n£ð@ußpBƒŒí…´ñց=,æYí?9Š@í´ÓRP±áɬ@ºZßlAsø;oˆ‚Nñ©¦™«¬•qbÐ×gÉÙã6ô¯fl-&¢<ºF!ÏOB|VvÌïDDÆÇr¯/“,¸Ú‹z"VnöÍfrg£ÑñS­ëqH·:Óº¶6´=V_è-³eßÇ®ÚƱã‚æ·mˆO¸Œè¢õ¸t“¤÷)0–ešÔj§=1åŠÎØÐà’F§1žÜWVÕ£i–7îæ)¬Rãžw¾_<ã0Ý®È^ÏP•Üd>ÃÜllg:Žûà5Úã%¬GQÄî²a…3™§¦è:Ó;1¢dÆ9Ž°„LJ¡n5´š£͚']ºß—ÊßQt×\PÄ##.'yJX5Ñ\F™Ö¸2L‘/Fò.ZX]ÔG¡‚Œ(¸jS}5#6jåVͶã]*—ïXTäÊ•Š°­óqdßûªÚöFSB™cÕ\llÏ^sÇ9*N띡Ü,ߞ]̕öO,ºK+çThu¿(vÎ[‚=e´Æ™™¹CAibu†S"“q0V^£	Zk¿kO+gX›]Ž°ÎNe6¼™_y#”n˜uÁÕÎkƒ¦©Éct9)¯Y6ª9àZ€nl8\e¢­‘±¿#ƒ¿˜A#M|fS®±*CP7ð˜vB¦šEVöU;"á֓€X.\†[DY\('¹Ä>›;Öï8‚óghh:yYz™ä×&YNڋ0,¶iQ!³é¥ØXlhÍÍÌpÑÓNVŸNځ]#.	ºÑH.q¼†Å:¦ÌR‚IFÈ¡“bÓ<P¹ƒ‰Ô™ÂÀµ)>Û4=¸ÍÃ#6Y¬ŽÛëEÎ&)Ä+æaõ—Æ0[3A”@¡®bXßQÝëí*1‚¤X‚1qI—N~.2ߩݨÛháÛá£Ô7á‰)” ¬neïpOVêÑÙRQ9B&PÆ7Ês‹iõnc­ºÍ7ۃu³U·6vu†blâÂçìw‡Ûsðüa½evâæfcyž5Ù9ݬe|[Èu`z§ۙL>8¦²‡·¹O/¦ÅR=:„%›)ǒ:Ó{¸ÜÖZÍQëF72Ìf2û"t[¸—LLLb|¾ZÏÔáFc™êEæðó8™—‡S7G”´ÖQ²´ƒÓgórâ’Êܨ;ç¿©Ç1™£Wœ•·	i©#\Z%±pƒˆð²ÌÝUX6嵡s2úBº9‰“†H4qÆ:jn¬21ÉO)&PmV†Ìâë\—[™lÖfõŽ™5,yU–LbÇ0vBŒ ¢&¨©ÒªC¤‰r#	šSH‹^éi!°Ó×ÆÊ»I>ívÃ8YÙªüµW›a²EZN©Øχ–+aì'gj0šŽ²ÕUÎ☁™ìrӊÖ*L¾#6$§Ê	3vðä{Á¨·É"aNû+â(0àe#6Bu öó›Rô`h©µÀŠpPI©š,#. f˜F’èã#6ëÚ°äÚ¸c¸M­™©_{RÆ£eé\½1åf2åR;ÎZ©a®šf%‡Ã±Âb"âzÿºïÍ·9V¶ßé2#.¾¦¡#º@DE»ÎuBI‘@aàÞÔs‰¯#]Öhè Ph“}”’‚•èuz1‘Uõç	€tÍ®NŒzzOQ(‹¶Twqh÷Ä঴üšÄõRù` »pZPLÒ;Ì7CN]ƒ"̎̀äü#6.s׫Z҉4ý½Ø'»õâÎ	шä^î‹le,Tm®t•	‘쉌SR™3›@±0îÃt¬y\)&Œ#.:b8ô“!ËK@õ´]NÍc4܂Ó@rÖàš²e53Al2ȈbiA-’™µR‘rîšvÖºS%#6#¥ÍÜ ¶ói"2ÐÀ…°œõ­3Sd”ÂÅtvNI-"ÚS#.ó['£‘2ä`éRqfà˜d5eëRªŒ#.XsL%q®i¶L§¤n2éÍc*±<.Gâ(N¶çc²ž¥i¶m£¦TéÂ&pL*ˆ[#%ŒXŒ*tv™‰‚mœÀåŽÈB$I”3¥/ObYÚD³»w\ñ#.»dÃ펋xå/ºï#.Ӊ\lÜêÎ#6eÊ47Uç3}Ç/™ÒÙlpNZÖ)£¢Ájx#u±¡öMXNRÎÒ¬˜³ˆÎ ÔÁ|`5Œ`pËè²3Pò†à‚f—8¬&„7PÐÖÆn°Öj–›;Ã'žCSž…™_¿&™ÓŒPiIÛ+]#%ODö®÷Â,zÜÎùèe̲¤9i 7R#6tÈðS0@e°usǁùM׉#6KÕ5B˜E¥!UAIHX.Ëb004’ڐÏêÀóbŒ;àG±.NâˆÑÔGI–F1T*©ÒNï_»;QwW‹˜m3ŠoüòÊA8ÐTX$GaJt®Þ†Á˜`g£é®á™ N	Ž¡}[aY¢¹I‡°êˆÒB5RÙÂ[#%†—l8Øqˆ+CŽûÈ¡¢#.F+2fisÄØÜ l³3Y†ÅÖ¸©Hˆu#.Íî‘„ÌI‘awmwš#6nò“aæqÁʌWÃ;‘ÂeUô88JD61C#%CGfú1Ãg­Æ$˜±ÆNØÃɆµ#.fŠšåî äi ’q¥º£ Ã0é#.(à›™œ hLÉåJII4ƒdpjŠì•ËrÁ·i3fÕ̺ÇEÐِ™9—Fm0²jJG8ÒgtÓ^Rg~V@.·uXiØl4I˜%ÝlK9Ã00¡Ü[Xn&uA#%Š0ŒIF ÄúÈ%#6¯qCÿ$R5Á@w³;ÀiSh¦²…Ê#┈1Aÿ6¾*?g€|zœ(† íW¹ *I"Hƒ#$d‚#%‚|jÇØ?´È3$䈌@q:áÔ:7H¤ýhuF¤ˆ@„&È4€¨±TC8Ì	•î#%ƒ»-=Ùk<Œ÷˜º›~¸X$Ÿ*vʪL>ô ÷ó¼JÓhiÁ×/‰Ô'‰Ø³‡—7®R™­ÆM߬·YEr,;Bó®_}®P«4ó¸ëá›&A±´Æ\©s'M•.áiR¸k5†…ÜÖBh7„nÂ20+aÀ7èu%¶eŽxn„X!ÑՍöõ#%c=¤×Àæ^çõµ’§4pu\0RÈpBÿev#6h•"J¨”ÔËkñ¦[m&òRjµ*ÕᚈPÙŒR€² q¶˜X¡1H_§‡D‰˜#.o=#6“JAµµ‚ÍBp5㊡Œš\¡íö÷¬C$;×á8·SoWÇ4íUú‚*ˆ#%nùnR6._¡S—WwUٍn»³.nºn¨-sd¯å¯5<¿Fîȵ¾*ä}î³ÓÁAáÖ<‰`P¡ý÷©¬ŽÙLv*Žôr†ð8«#6#%„†|ž(u/¼ˆqœz0g-ZŠ"½(àŠ{̸°'ìò@7>™GÔ»ìo?6©2.œþ“0Vè<œŸ­²¾Ü?Ø|~rÚ=¹—ÈFÙÙwE¹µÈM44¨ÈÀ,ˆœ;Si#67‹ –P¼o„ÆnF¿½µ°bhÐ1D)¦ ‹õªS@£¦n0—.֔™Ò.eÆùA2Ac¿´z¸äf$YÞЂQ#.cG÷±3þ!¬:?+xø…Ë–%êá¹A.‡¦9FòKPí?Vþ?_¶×äUi´&RkF±£Q[FÔIDL“`Í3-‚‹lXÅ|ÿZ0Pˆì´O€ïö¸ñÒ´TîRºÔ᳧zä™K¼º:ŽØk5vˆz€4DŸ+ZÂ"kÂÑ’ÄDŒFÓI0Ž#%¬D‘¨í #”E¶V-Äރ‡	âêxÝïf§PD`@Ë[΋Iß3_Ùk̹<æÑÛՊ~«Qb*H²j}šJ²a_x;wÙ$”œŽ›l[^•ÖAõ4ÑLÔdÂËp‘çbˆ7úN(ŠÒcKi"ÈF'¸„Üf5jå]*¾M½KÓoB5L­âÕÙ1‹fR–@l@ÓE`›Œ+K†³D#0ŽQÆR&lcƒ8®åB+ Ö×ËHŸyÂ˱žJEƒ†ˆ­HÐq ²@Q¶“Uú©oƒ#.ê;˜‚eK¾ü'Ÿô(ï‰éz–”#.s’ddÞí¨»‹¼è‘%Ï$¡ˆïϏë&ðÙ»#.†PԅHåïT¥Èõ¢®î°]Æc(i“°·Ej#.^&Ž²Ð†åZHšp0…“8‹ˆW‹‹ª.¢cc#%mÆLN¨–L…uÈÍY^sŲñüÞaÅ#%ò=§w‘Kbm´’lc+A)aLDHÀÆ-Ÿ°5Iq0]i>â	k…@	/_¢Àmˆ!š* I,Ëñ ‡Ý›¼;âdç¬D©™_&,ŠúMŽ“õʊ6Á­ý{ˆ8QÌ`o¨¹U¹¾NJÚ##	‘qöe]²gÞRšrE0;>Ç/¼Ú#Ú:í¦Æ>µîÅÇmcz"4ˆŠïU#.è§2†]õÈl0ÒjøáiiZµ}†køw3†FC“®•zª‰¶i!KábÇgØÌ:„'5˜’bCèVmÓc{”^ZÖH8 “‡ ÉË¿+#%­Ó¾æÖZ­øA”ËIÃ4Áùz¶^ym£Á¬ÂÉ'Gi±†êØá9E$åPš«%*‰ ÀUŒeYNÜBº1B)#6×6¦Ô9sypYµ.ݘUfylM‘¥ç—x¸‡kÈDÔëi¦lïʋ]ôŽ†ÁúÑ ¡C‡|ÐÁÅF–1#6hÊ7n®ÆbC#%ktE.J	ԘDbTJ¨š	Q$Ø£J#.L„@Àc¤œ#%-P$PRÄ[¼ t`luqlg¨LÍ#6Ð?Æ@  ®åB<5ퟨ;+Æ>ER+ýÜɟz¹M8¤Qb{(=Gø+t Ãï ~L>±ÿWTŸª/‚¢ÒkºÓϏó<1G¦A¢|A]fsÕ10#!ëGšú™"‰‚d„’FHŐ"½†«bƨÚɶ¬ZÚM«Š„	"BCÒ÷©š5Ï?=x•T\½KŸJåÈûŸ	ó[ʾ§ôÀikE/³Šâk|t¶u+W…þ n.¬­…¨ê¬ÞÔrØr­$®E#.“{:iÃYÞ%lšeäʵS0:2¥KŠYk8ißjÓm&ìÙ&èd­ñv5-zÔbŠºSc³AÎ##6pšHÒ.™KÄӃƶ𤁶Ê>-ÌÞI†SŒ1d¼­ÔèËÍ<»SâKÛ¦3‡Û’$•Šiȉ3̸jMÙsy†ô@#DmãŽü¼Õ‹Á(ьíju¾N&H†mŠr¦=fÎþW˜ÑÇàËNÔ띇5ÀÈ凍˭µÝÀÆi>ŠSæ)1jnÀI™Ž‘®$ÌÜC#:¨y>ÖÞ*¨i½ðyXÛz›Mp“\ÎJùš}e)œãï3Ã&=¾¢¸É&B°‚âðÇ"íž–7•5¬´ÝÎ+c¤ØàdÌrpQ©»M=íW0ƒarr1Æ@Æõ«t¥XE€D‹LXÄ%‚ѵeÌôö²ÒBÌ´¼›˕ôÖkUã\§›©­ê^y^¦¶¼¼âƺÜÛiÖíª	,ŠÜÔsK¡B4ªä!_ÁšhR‡M¢†:—«#ÿRDõì͔¤Dkm^|œ•ÝÅUÚì›"hƒI°’1Ž<¥jÆY*dÂK è퍃0š]#6»jí&°n•ÝuÝÅ&ñ\µëµÉ–§›®ó*òlLi[©­Ãc]¦£hÒT¼e?äÐÉH‘Ã…(¦Ñ³R¤me-¦U$…”™f±¶5¦¤S5ÔµÒ´²–™5¥™SUFŸ6¾^xMEª*f‹VЕl҄T„7–öy™¼túccQ”Õ©£â™`IPÀ€¡Q6››@‚—bQ‘Q‘P´X!º+çÚD='qí°z³ÄõŒ.‡kÓWéaKÞ9S@Ð×î6ýy‡†´Oƒ;‘Øngq  ¾ Oz³,§E™ÀËÂqhöëÏKS-Àº#%DŒFßÝOXÅ¥*jXÃɪÓm'ÓO#»;ÎLÀMÉÞ¦l1JœSí"[ÕKŒR¥U(ѐJ01!¤Uý¨¦ÐŠa•#%¨Çj#%¨)"ìØn¢¶Í¸—eµsÆòèéf´Í:ð²ÿfÂs©÷ pÝ#%H…5¦µ.Gf`#6 ò®µ2™ñÞ‰ eRD£T5ïÓ×ûûyk#.Žæñ#.ãÀÇ=AõÕê4\¸Twíé©Øm?2s¦O^ßn’õU„\ˆ«#%rãÑâuJÿo‘¢Æéˆ%òŀ´AS¶(†L!¯$yB—`w?6Èl„¨íx3ݟb…ÍÁ‡L8o\šårEœÎD¹S¤,`&Q¶7ühÄ´t{Î+Áoœn/1~»bµxÙ#%à.jßÞ¡ö ~Ɉ0Tˆ„ªþ—¯æƹ¾óíèlodð8YGçÙ|fQ¯ãûô0*mùʂ¨<„	h%µj6¢ùýÕ²Eâì(–’eQ‰’MÍmr,¡–‰¬“Þûµk“M¥c)m&Ê6-")¦Y,¦JUÅ,µ”gå]aM«)˜lڍ1&ÑFÚ¦µMӊ+"µ+ºéµ	}í®Öí^Ý»*b(2#6em¥­)­IkjhÆ¥Wµó¹Ư~í’lŠ-cd¶¶ÙH›e­n]ihÒeRMKmçáM‰´Úl¡3#6š°ÛilÚMìê­KlcãnŠÍ–ó«¯;’R­2hk–êÍRW‚ë5x®Ø”ĪÂFÛÂk±ŠË[L7ô®ßõLUšq¼ó¾T•ÔǎîRÈ´­,£›^›?/Ëá>Ïw>Bmôs'`˜ÆèOeÅ3$˜SF¯<XqIƒFÎzŸTX@÷Äñ˜…ª’×æmãœ÷_NñW{<{1’MEœC=”#%.b¤3ª#‚E À‰$T B 6Ø£Ç^–S² ¤"-³JÙ¦Ú÷mªé¶±oƒ²³KÍÚå5so›º×”ª¢#6²QdFA­ôR*fSJl)«iJ)’‘Ô,¢…E’Ö–ÍFÌRÓ3ÚE	E¥&©Kmi¶i›Y5°Òš)R›|Vå(“-EeQ-%£(ÓJHQ¡´Û)M"jLÑ°Ó1”b‚Äa£+eØÙ2IdhXԚ±j”ª#6Š”ÙR”ÉT•¢’©Y#jQ#.¨µ›M!BJLX)2“	¦I¦J–j¦ØƨŠ²$mE,Lړ$‹6Ö¥šÉ“F”’Ò›l²¶¤­Z÷Õk»VÒ²ÛM¤²Ô†’ÞòÚ×M›6µ)ª²V­¯f¯6{*¹­zÍV-¶R–ÁmFÕ¤J­*mm£ZúáÖÞcí³€^ù6g]!‡ n5Æx§“{á·ç5ª÷è`fþÆpb‚›Ézì7ùWkN-ÝðÞW ¸ˆˆîmE<³¤•!‘à#%¤yFäoDz¥ª$„>Xqå×⢵žåE÷Äô^éè†øì\$1gÁÚaž>Ž®ìk£g]7bÙ 3meÌz4º:¶š.L@ݤ¡áÈ"¥+´Ä»/šö7ñ_‡K3ü½©=Úßn9=½™C­#6?q°Å‘@P	\cha!¼†„ )Ìæ]28ÐƘ‘›à¡ª ƒ(ÁW_@pÄ$•ûŽ -΄¸>õÒlÕsuæ°ÙåÈ)P;+ôø ž:ó‚lŽPùÀ‚.3ôу¿ŽI÷¾×‰ÅLFz%;8ã»m§f¸ñ¼õЫ´Ô¬ovÄÅ.šy‡Ëg ØPÝM±"Ê~¤}þ…b\åö2eÏà؁¥WCó|såÇéл\Lu#6“8TóT>µK‘ƒîªtJZ~ÙVêøPŸvÙÂíͳÏHdÖ°éè#ÅÄØÚ	=õ øs«~O†Øõl£qGFù¬Öû#6¤Èƺj–µ¤7Ò6Wi0½«#._Èé}/[onӀ‹ @òî#%#%‹lj¨Ê²N"Q@R+¥rÔ'8#6Èo(Õàž ‚"2! ÖDëê¥Ñxšíb¹Õu^¬U˜°‰=³¾_vó҅‘Xdé[ž&ya–&\T•CA¸œ!Š$Œ*¨c#.ª “SLÖ`O¼I.!&*x³VÏz§@â]7ù=ý«¨á×èv#.çWµ±ç]{|)LcܚÃPó €fÛÊÖs²šD\OúÙÀ«–‚Îx…#6((S)øbî#úÛËR’dA]%Ù@ÿgìºùaZÞåe±F6ÐÊÊH‘F–Œæª&cD2LŒ#l#6Ðh{ÄC5U.mÈÁ¶“ÄH)fáu'6ÑÆ¡‰†±ÅXƒVFA4^Z®¨ÆÎjv–©g6&  b S´·»RÅF[¢ÃK#6ª‘@Q®—I&#6–­ŠL*cð¨R⑿J“T#.t#%6:^ôtqs•èÕ(ñQ	€jÔÎQ§×hXÔz´A;Pƒl|߶¨4"ÑJÔL©ª‰‹hJ¸XÌîÁò€›`‘8ŤMýàž5çñæk±—°÷§ŒÁÜæ" k;CXx†j/zø/#£Pì|…4ÉL`ZhÚ-AXAKëí­ÚÛ­[EìÔ×9b$>#%ý0¸	Ìèª=V.ná·kmÿ>sê ý¹gźÆS®i{HÔ·t0Jcˆ*ßÁ$çL¼•·ŸZ«ùß$!›Ã¾$ë”ÚwËIƒ;àtn”l øÇ-i¥!I¡#.njßRY²’VTʁÁ[õðð™l…c0¶õ«ìXlA‘4„(Fë¹ËÈ/n•÷Odçèʃô½teú‹&YùA16ºa2‚e8 ÔÁõQv!h+åËbêÅó¿r@Å/¥)Ɓ®)iQÒÆâO±¹9&íBø>ÿ|­€É­p©*ÚYKmj”i!´ƒ:I$š””žm­DVCCpš€P±Èc&P1èó€´âÚs½s¯gٙ².Û!›H	#6áPªR3ÂxQȵßxǙŠ¥ƒcQ¢Á:÷Ts‹hiß5¶JÆKF¤„ÉÃ'3ÔGÜyÍãsKMûé:Ÿ]û`‚ª‡§ ÃÂ2‰UKՕJâòÌ«ŒÏZ§N7~R±î(: @"¡ÌȡⶶQfíf´Ä‘ÒiDÓ´ThAŒ´~Œù~ÿNè>‡—èëTšPå›úÇQpº¢ˆóG‚Çšp󠥀CaFE<Q#%,ˆ2ªœä°®Gíâ&±û¼á9Ťð;õ1A¾¼uŒÈŒhœ)¹¢`Ûk­„NÑD’=ó§#.Á¹üq	¹Ž[tcv¦¢â#.iÉÆLjÆD.Ã1ì˜ÆVí¡¶&q±"J5†Òë`̆/¸:ž”¯l’F#6¾”R¯OQz‹#%ñ=;NÝÖo+fy*wÐ™¹çF|û Å"TX¥BSM4…DB —¥×*¯rïšJZÀeE–¤É@òrÎf§„PÜ\/èÆQø#%»¶’(tWx.ǨÚP QՂ¤BÉUN#("»ðX¨2#%›LâF›M`”'°fT(#.à2–pâ§.=ZpË×v3œ{×raY	&&´Ú²4î¤G]:\„clç¹¾,u/Ëß	xµî¹anGÇå¬$46×PŠÁDùkŠ‰’It¼îÂ2žv¹ÍÄÀŽ+­¹,Òçžu ñ<xϹ½eäŒmŽ	"#%$lŒá­`Ü1R Œü{n×z¨¢3D¦ë2ә#.䪝†êí¤¯dò“ê߆¹nŒh/‘!Ý­]ñžåîî¶ØnéŸ-ü:»+~A8uˆëÈN3‹5åŠP«Ãp¼Cmí$/R«4²¦ÆîÁ,í1=;ÓPp¥'#.¾>Œú	UGLc0õâu{2=AÑ+½ëÜ('_¹HCX=˜DàmÆq–zEn€ÆÅ$ONÃ-Ž’¥¯Ë¡e¤šÈ#6¤ÍSY}Ÿ—ƒ“¹‚YîêúÑ#6I£åíª†¸%Ý£HÐÍ?]‰$E­/]jôåå˼n¤Ûìnș”HNõæ½Z½jé%»mj©RC¤Š@…àmQcš°^:wn)	«—1KÙ)yš#6†­QŠÒ€4šlß·ºw7¥´D9Š;¢¾âênïÕ¢ìÑꙏ§ëÛÄtN(Àºü5šîIåÖïãrBÌ©[æq‚_S¾®¦Rg¿s%_Ɨ¥àM~%Db+)'æhwJM¬0…«ö5¯YFqtªÁÏé‚	"懲‚:Ê­•½Õ4Ñ´L¢‹Z®Q•M4šjW]6èrbK$ج[FߝVäbÄVkãJ*¯KÒõ-kÆ嬳oßýþñ¶Éki¶[V½*ÝrttÊ7ĸeÀ ®h'kåŠг)ôãK	—]¬Îe´"„¶JJˆPÉB7&®r°„2ý(-„Øo)’€<(˜ û7Îu¡¬²h%,3al!™â ¦±hv>¹3Ù]´l4‚„}»ÒX(¸ÐÞì½qOt”T5(¿åiÀ’¤(‰º#8+!iH@ÛaSòÕ*ŒµVzPT*éd“W˜fTp9°ÌPð5 ëÖàtïôQìêª…¨…E#5ÝvÆÓ"£I´Ul­#%&°ÝíÝ+Èt00p‘²Fù`Åì&á—,܏}C…pÀ×t,Våp¨CšA2¬ ÛÑo¢|¸¾ÀÞï'´Pg=b,‹q¤  B€=cik=A’~x#6gLüqöÿˀ.×HšÂà\‹h]IÕíø1…Œ‘#%¨%扨&?¿dÒI¡ÏÊçÕ~¶ÔØ;Îáâ¨Ë#.ÃÀa	a‘Qúùh€ŸFÍpA24‘»Mšjÿ-ŸF?=+áÿ‡ûRâl~C~˜œƒ$4Kç‚^ˆn«&߃Byï‹(íê`=4ñ…x(«C’~¿´ŽA@TTвÏa81#6êå{œ êÒB|<Luß»¤/6ìÙýžðéÙÔ;ÂŒûî„€pt6žøSTSbGz¿Cé¿Êw.;=#%žd#%RIí #6J¥*#6¡DYX@¨©PPfŽôlY‚!x¥EdBD “b[’Š3\0ù_a»Ìˏ÷¡ƒôq¸Á™+£b‚ÓIbÁNQ²Õ~ƒ«0ŽGqÍ9Ÿe±ìSQù~ý£Ëj±DŸPõ$›SҞԣC N/P¼läV_Òþ íUAd‚:ƒ	C—â[!Üak%ªEIH®^E¿Wcâ|s¼R¨ÄÅgßêóåńàX!`≫r'ÈàPë;OyÜbPWGçÄ>'¯—¯ï`Ãæy~6×Üߝ=a§,»rÞtï£ÔŸHÄT̉I9¨™¦¤¯V–¾T­ª‹SRÙÍTþËÁ˜I¦ƒúËúPцjˆ,TU#6©3û®ÜSE,#6@¼•I#6e,%Žì†€Ze¡Cð@ÃQ>9yñþ_›¼ï€Õ-’­6#ÆD“ca]‚ªñË<>ÙZcm¦É\ïg:F0¶	0#BÌ £&D®¤ÍeµÄ±¡Gf–4'ÔF4Æ҄qI‰Žlb-ªÍå†LQ”X(‰‹J¶™*™Ef°‹-œH#.Ԓ™a4J@fµ@¤ ±I2ÈPµ›„´Ù’œbƒb$]’ÌÐLïR`MS$’•‹µZLibm-äB1ŒŒŒç+–=B`HVZM¨“F`L%¥ª¤mV>Lä±¼xa¶EXVÆ¢ÄÞª²¬	ÕÖAÉF¶áÃ4gJ’Z¢‹,j¨j¥0¤…'6Ñ´®è±\·6Årܾ#.ãc^»½.4<ºí¾-“¹1Šç4\3•¨lêApÌjÓ´KŒ&D`:3±ók0Ó,$i¾K†µbc‡,P¸yA®5&Ψ hÕQ.šHº5@€ák[R²°ðÕ5O<­#.ŽC:Q¨€6%Üe{îË]ƒúÓN×Ò!£	Ñ uP2Ëñ»h|€úim²O:“4MiãÁÖÆïØøÈxÕ,#>¸Òc!I¬ÆñÛmwºòeºÍ7YºÐ«áùqüô”Â1Ó ÍÍÓ+p8ñö¼þ#.áߣ .H(ôMT؏Ø?9ø Ñ0€À«¢¯`1	«þ8÷‘A%Q#FååljT²j,ªê£TI’ñn’ª0±¬QrÕ]JƬQ¶ÜÝm’ÓDbd”@b-eAÔn*¬Z•$A$TɸúÓøC )È°íDÔ@QHXÄHE¤Ǽð?ÙÔX#.Gꂤ@ƒÆYÁáõ×g¿Â¬{S(±ƒk—Ùæf¹!¡çò«W²®]¦Ûnºë[ÎerZOºÂ¡.TP¤IËúìÀ&#ƒŒé¹‰ÍuÕñVã1	Ng°þ["ALàlBƒêŽPoÕTBD‘WáU‚š¼ZƒPø¯4²mdÛÎÝJT²«šæ·¯¥Vò̈¢Ù+Xl…TzšÅŠê»ª-zjö»×‘/]nË\Õ|š×šZƯ7uY‰…$¶¤Õ©3J’ö÷í¶ØšA¦@¨¢G¶2<㥩Xý|º!ÔÑò‘kk™E{”\±È5¨p¯Ê‘•E.I#%}3@¡„‘„ËÁ±“,€erIcÇQ4×´Õ0NK2#.É#%½Žçì”è¤0#qÒòœMŽ›ÇnXq[‘l'µ}Ò@aš%Ç¿¯3Ëš‡74Â&iGÊ<Ø!DW‚bUTŠUð˛Â[åHŒ=TvU	Äh¸¨Z7aq“P׈ñ0»¹aÌ°oˎuÍ>¨½ ¥ECOˆbȀ(¿ˆ|³”Mî®d=`	T6qÓr.À;Q$!îa^Ò¥#.-T””iKJTÕcj´×¼®ØÓUšk)êWQ´ŒE%D/å‰Ðñ9™‘çÙê°Ä@º5]°;c{nÑ÷µJ*ÎdBdñaöü’6µñ³'¤.ÿ¤ˆý¾v™íFqp£FC²êNº–3ìBKŸQé£4Ó]®“#6¤Ó‹‡ý#.ËÌg8¨¼±†bCÖ°¡	:ëŒÃPó¨êÎÉ&&42i•´PËZÇ0Û#%G{ª"M18=ɉÝGÜ`‡+hƒ}ñ¡È*Mbð]þáñOC×ÝXd’I"BMçQýQ¹“‘ì<ÏÖônå¦F^Ϻú¹!}zæ±Ë`™ÉûdšWß#"‡%54I7L0µš…°3'øþ|ˆ@å¹ÉY¶çA#6?KämɃ:Ž’®MœÓûlp(¡©Ð̓Ò¸×V¹	"ÄëˆÔ§VlÃ@,×j°nÅF•@ˆ$+û™RMŠ6SHDÀ˜B0 D¢¥Ø#P³N5X©Õ4O4D1ö͗á=ü'§1ÀÁ5š5Ò¤”{Û:ðeQÃýi`êñ×K”ã;4Ï×ú´1$ÐÑеÊc£çF^Ó#Ž¼ô=¥ØΤú¡©“§A>iéTSíMZʸk2Pù|Tà€‘¨ðÛ‡’„‰Â5ˆ¶PajJL–i˜¶¦¶–¤Ø֌Œe5ù¥tA&‰•2ÒÏØjܶ¦e©²-,Í`•³LKlÛl­6³Lµ™m–$µ‹J"©µ3f«4M5M±UQli$’1H³$#.GäiGåL"±£æÙ8î¸l–Ɖš¸Èéáü)D M´VµÔåV¢ÚÅ®¦µ®kvo^aQƒoѴצÕû»ËA'"vC¿¯†€œ#%#%ÛFȍD*TK[›R]Kí´·µUøˆm~B²#ùKÐ=Q_fÚÈH†EQ ÆGúZ#>Õ†–aõ­óØø„á¼ådzApQÙ¸»h¥âB9¨!áOGŠk§!€' %JŠ¾ØÞ!¡ìNHlá`G´>ÒB	‰zAm¨#%û¢Ü‚%íKtŠD©ìByìçx‹Æqä;ÏÓ×8Ï<Iµ#%CÁÕPÌŌ¼Ð“yzÔ´àµ!¶7$¹=ˆÉ6Ý*ax—2š^³30xã—è—pþ#6XXPµÈ…p>W·ÑëU8;€¡¤g‘ê&L‘x‹Ñ;ˆQÄ7V«Z֐‹œKš“è6˜x#6ÅéØ¡›¼ƒ¸€p[1v›*®š@âƒ7̨‡·Ý£Bò8#. Ò\Ð;Ÿ¤:háŸÜz°žp!¬a#.DV„††‰#„mbL¿ê¯(Ó4tì!#6°I£±…Oú;N¦Ï”Rbå.¡÷Ã-+?£VF0¥VªêãìŠ~}мáö™mFÂiîAÁÆQ:ïĕƒ#%>°Ñ#&’!ƒ¦-ŒcöðtL”‚‰!/Ù¯9ãvþWà¼è¥æԐö€ršÍù[ë9+ÁS:~“r˜âúýt&ø-tœõw–¼¤¦åÆåÒñL ,˜SÝðð4Ç]«Pø¦äº‘C#6(,H„QX€ŒPí‹‚ÇéÓ9À“óx§諒#%2O‡ùæ&ѬH›€ø8ՖY!D1ž4P)#.h¤4–ÉÓL*vƒ#6HÛLMûþ¯ŸéIJB#.™žüX11¾"lN9anTG§d#6숒6«Æ%Œ­ `–6‰ØÄ´wc&µi︷l¼C#.@6dÏZ«Hfh…ãëU)%E`҉„c JO´'ñTŠ¨â*cm¬hæF‰&(}q#%çDBŸ ;s­R; SÎTyzg?~—<s/T–	œ#.\/lëã:Þo\™qŠFˆ•(P¹¨µî€„âð8' ¬J‰Œô*ƛ‹›%S ×õ-ªl;w£DÑ@äàPƒ@4ÆBˆ‚¤PEÐBȔÅPe'‚Î#6zx¨†vi=>~¼®	­QÐu€}Þ&`†]|Ñ÷N^@ÃÕUBÅf€ÔUÐª`EZó}MI¢#ðGðGù$=è‘ŽÞ;}%¡&Zi‚Á]ä4¸¸fÇfÙ«EC–n¢ÉBvP§`¾Cqh—„Š\5&+&ÉWsLŠjFà|Ûùfwâ{àrTPœÙ#6`R#.Õ!æÊ%•‰r)(#6a<,<Ï[މKž:MåÊd¤.óÏ!Y;0•UQT»¸Y“™¡õñ²‹"‡½®$D0øBR0Š!ÔÜD½.Øbo’ìÀ#Š]œÌš T`Áѱ†É"žˆ.)¢†èÉd­rf5Âó"^¬ž¿îi‰hˆžòœŠÝÝ%|Á#6‡ÓeOuB¥´àÈ©PÚW.T²¹[#.½i?†îÍL#%Ez¤#6©36¶~ôâüÞ*Ž”(›Âý4Ƕ¿Í»CVnÙ=è¾»VâHfmÚ¨·aYe֔je 5VWE·[Ñ$F¥”¤ŽÂB°ƒNÄy3ó, /¼ŒXŸ¼™½p	†8¬§gdpŒ¨:©´>j"ìO=H£EëeäÎh ïˋ“§ÊgؤHޒ–%?^uÝF§·ÙéV§mTS±ÄºÕ+nj„ÜBðôÕ#6´×9Íâ„BröÓ,à¾81rÂsÚU:âæìbúékÿgÖË:¼µÜ‹|ÖƲ:Š#6K%$—,è`˜#%*¨#%ADP€ÐȊҥh€#ͨ¨In1€l+p<;ŠTÈ)í ˜©Ù¿Ó:þ°UyónêïæÔe³#6ÔeëÇ·VÜÞQöº1ÈßÌÕ×ë2Q#%dd!C‹ÇBŽbuðE!¤G³v#6Ð($«U‰`ѽ­„ÀsƒqKòƒÙï Ñ£šÄv\5Ê ÎÐHÒž%A#%‚‰Î|É:LòOB§¯ÆŜN¦#64 / LdM´¼íÍr¼ó¦ëÏ5wŽÚëm¦ÖJ­I¶ÒËǒ›BHTˆƒ*‰F2ÀD#6üÿ_¸÷J(-ƒ!þÚnê֐wÁrPl	´ W1¢Šª`Gñúnî¿«Âb£ Œb´Fϸ•­:Ä6Ö4kR&'Ó&{‹_¿´)·w¶õÚV7t\-2á˜Ö5bB<* ˆ\K‰lH2Ym@¡&©€ª"Ó-PÒËf{½•nçˆØé¦{ÚG.®ÊÅz¢ç±¦&#.œ¼zPšÕ1`W¨¬PÙ²‡2¸ÛO!-Ý0éà›È”fÙF¢D$	#fKÀ0‡#.`—ömZhmmèؕáͳŒX"bͲ9Pí(¼X†m–ÌG0Õ.à£MË쀿˜â§iÅLüI!1²Éb;EP	DüÀSqS¿•c²vwñÄä'Ñ祥ÎUñ<þÞzªßòNu؈›'úû¤ÓIŒáÂfÊbWGq'NÄöP”!×#%ĐI¾åmøÛ^ef’ʍd­‰–’ÒjØÕ)­}ʾÖÚL®»U?OǗŒkÆەÊæ°µ0}½Ãސ^“xÇëaÎ6<îXJ.mèÚ¦Òv¨"«Om¬Õ¨}Pr)N=\w†žü²Ëˆ«Ÿ(ײ|J+±±òT-ªä`UíèvÙïIðƒ{¨óÎ!WžâÛoUx$˜§áUýÇêYÐYy¾áa©<–·ØÍn6˜I6=Î q.ê`˜Â÷ývǁ]tú¦øo¹ƒ+œM`sZõQ4$n@âtÂpÅ&/m…ÇãîHF1מwë߸Æ,bÅè¬ÞBðì&Ù3‘°kŒÕ&˜†72^A#% •·4ß¹çLÌÑL´K3Jj	í>E/Œ»ÛêÛçÌÚA!~ï,v7ÞÛ¯é#sµzø%ªì2t‹·‘ƶ€BÃŠµŽ-úð*¨ð ¹FÇò,¬ðç" sž^ÓÅC^´GÌñUG݂!p6m=ßmÃÝŒ#6NÓ0¨^b!”d%]±‚-Ê.ÛJZʝ0O¾^!‰¡ÖÂ0ןbí‹-s¦µy䃉Õe‹´SZ·°òüX›K¾fsMÖï%ç8Tb»üè\²?}{Þ>%ËÂça‹8ð‰øqgêd;1Cð™)æÁ…	€ªT'çd%íBnpŸêá·>Ž¡˜¼»f>¥ó‰èÄyKp#ÃææG³´ÕsmGyç…cQ®»·¦Ûš%¶Ì\U#.¡$‰HH0‘Q·™KAŠCo·UïУç»Rˆƒ*·µsà$.?çû‹õà¶KªbÓ\µ…‚ň„aÇY2J2ÄTX’	(·VyÛ¹ÖîuÞªZÛ¦Û#.1A¼A(ˆ‰ð ¬ ^3@¤dâÑnÀÕÁ£ò—ðt£àyžˆ“Åù¿r=‚÷‹·EI&þŸö01ü›„$Õ¥³º[›Ðö"û·'Ã4Š|·låËMÓGÎòçQÝOg”C_˜ù´4èÓwA0Cf±eÂEÃpÑIå¨GGè ö’à$끪U˜èt§ÝÅÈòZ­ˆ¿0óhäk>1"°Õ—,”W%ëFþä;ùq56z{þÎ@ @qôÙ(”yCScpô_{J!0£:tª4‘“™QZ$†¸ê×\×v庺ͩ¦¬¦ÛNݵu&ÄÚÛ4¶«ªØÑ\¦^.^]ÚVòµ¾l²„@ Å#%C@US_B„Ä«Ëڔ­5ê)ALjºr·S9¬¹†	5öTX“lzï€ÀÊM‡†u>#.3ïk¤ÁÖøûí#ÂÈÉ	j÷â¿«G„í#.Ã0¾Ãn”º·JYUiKí€:ÍËažÛp¶<h6Ú`g5!‘5‘È0°Øzùp՝ŒH¥²”!ÍíÀuþÁë¾pS-VÞM¹”dmÐL¯Ü†á¸6uð|#.ÊäÊÉÜ@à{&ÿ}v›uˆˆÄE'™sj>¦þZ2nǁË׬-å®Wߢæ#%ß`+Âގɬí'm'­·õ#.|¹_úuØÑTF#6Ì5å*oµµX~ÍóÂ\èÄgi[á4Gëk®“]ä9*éitQ™0#6ñ'êwÉúgúÿ§îoÛ`§ñ!(RÄæY}_’bû.“»áÁ5Å(,D‡ÙéPºRð¹ßSX§%DAÀµ¶&Œ‚¤?3Y{ÀZ$*Áöm™˜k_ªèzÔ.¹#mäÐl¨AAì[œv,€aÈ$ºvÀ¥‚+ã'C‡-®H4(an~#.ÐÅ¡´ÁëX> 7¼Pˆ“Å£Ÿ›ã“Fs¼ðE’Ó£pè&¦‘—K¨€ü~iÿKn<£ª{6±€g™TSE_çõð¾ÌϞRI'EÔ,Ìï‰#.™–ümQºC^[ò†#6Èì<¶’èÝPi¥ÀûqL…ñ=Lo³#%{BhÙë Ò¬Ü¿¶lÁs-†…¯¢jgÎ0‰‡€xAËÓ¥¶ßgLeXd¬b‘…û`Y)0(ϐQ3‡I!…áô®ÔùašÃŒý¡ø̽™:ТIÅÔeÁÙ)ýՂÔ<=±®’áÐÁá†c),·[I_òÀ3r^”B8iý5³V-êWBÆCGµ÷cHgM‰ardæ7ÝÍO1U;žæf,Ý1!„Èkq.‚ìaì£P0ëO¯võѤÈgõá§NJ±ÐèO5Ĩw¿€y‡ˆr²þÊçõm|µåê#%ĨƒÂ#%p+ÓUC'‘ÕG Ìñä¦j&¨ª™ß˖	¡!ÞÀ[©#%¦B‡½‘OE«¨¶Ö+Q´Z5mdÆ©5£Y,mb¶@¢²*TEMŒ2…Èì5W‡Ùn—¹\ê4—"Ԗ*	AR‡æÀá¹Uz,.ã`!i ÅòìÚp:6ßvýøg7nYÁÞúËÝ;«Üd(]Š)5«=:™šC÷«‚Œ7ã„-\õûn}ªcâÀuÓWCÈ2ùmFm’CEli î°2d–S	~Õê(‡åíOyÖ!¤ØwF¿?´"„Œ5jùíÌ<ÁCi²”R‘ÚPl.@ä#6ê%ºéçÓ5„ÊU¨ü=¹Ñ®%O™×?#6\¢p`v㋜NJɆ@;$™Ðs]‹_2B‘ªPôÐöV⢁ßÌ0`Cm¶¬×7¶Ú9FD‡·7|Y´&©ªVÍ,[þ}¯]tÁ(L:’"W. {Ž§¶@,ϬGüÛo­ÖÍ½”(TÐJÀÕs’ª¤ ó£äI/#6½y³ªîfx²&qK¨*.‘qß<¡ˆ¥¥LÒ®%–Å#6eq}Kw4(#ÔæH€ Ÿò*EZ#66°Ö‰Ÿ-5¸éW¾`[É@DêƒFq#.በ†ÌªMZ¡Pwgåõ{ö²Ÿ7>Gcúìcšò0Ä5™µÕÔ⻝×võo1“kpÄ&Á|ÙôO«Y…ñ–¦ãQè‡î>Ž#.zޓ®ùŇ'èkj—©a¨‰„²ÐÈTʥȔläÏ$ÍíB…mÊ=·e×àšY bø¿]Ø¹`±#%˜ ª£‹.êLãžÅÓ?ɧtÐnòu#%žNÐê„Ø€L8»1²üÁð¢zÏpÝ#.ž½…Ôêôn•‘êÌÇʪKq·t/Bª+5֍˜kYfŒ…2ÉUBÆÐÀù¾Cˆ®YIô ÙMIÀǵ܄$“Á¨˜Ø:¤Â*š›ËuÖηL«w]¥#jff±PÑh×]uôÕ<®óõ§½æèQfðÀÆÀnBhT¬ci0xÈ`hpTZÔJÄ0`Ä28Ü«hãÕJ!ÁÑ­S£‘ ÉLkLD²üaÐ6™Þ(Ú߃pHìÃW֙û%°Dûo!H¤HI¬j¬¦ºUÍôM̋6J´¥\é23Í×Y2¤ …r»ˆàd­¨Å ¢‹Š#6&†Û¤ 3PEÐî÷ZH ¨ÌÝZ@Œë²Ä0ÂíV›52‘ ¥l¥f†Sµ$‘e6›,Û3$ÈÛe-/]Û˵riݲrAfë®[sNݽåÍy¼ï"h¡RÔ3–ùýw³Ù›šf¡å輸÷íï¼öÕæ"¢FJ°ë¦2†–šÙˆ¬ˆËAÁ\µh@Ò4EÙcÄôõf1ºÔ6#.j*Ócq¡¨ÑÈ0À×ÙUkH°[yÐ÷´IòãÁ¤óßQÆM¦Òp&äbÓ\3PÍֆúÀ4Õ½1ΙóEåêÞnՊ ­zÚéEF¾ÊËIµð[¤ö#6<qêšTU¶ÓuÛ5!(£ƒdb吴±#k7‘+®6½ª\®¦øµ]ï™\†÷¾’¥Y•â²"°£i1yŒic$I˜Ùi%ehCÑV‚Žc"sz(ˆ¤ˆÝT‚&0ÝÜD1§~/êˆÔaáˆenÃ)±²á™i©Ä3aCwc®<¥j[J\Mb0s.#.ç¶ÖÆÖ¤2Eõ5Ÿß`i’l(A£§‡£‰G½„MÙ·¥2AžTÍn¦©ܞ­]ÏDO•µ3JiAÓ«Ê_¬­Ý»8Ÿ+ɳskhÁÇgjF—V4Ò.#%ÖcKlÆöõT•MžX…,A(SæX‘ôšçzGí ºó2Ìÿ#FœÜ4ĺf#.„ndÇÕ|PÇí÷k#zLö1Âf˜Ý—֏d6róo?v:WGƎ.Š5Fcmäå…tÈWӐǰ…š1¯‰ÝqƒÆŒM!j´•M¶Vo‰¥Øz¦øã5	¤§d†„˜vÎUjhÙµ†•#.\"ª9lT¡µ=³C#-‹ÃqÓéîó}&°Æ0#.7B¬¡û÷ Bì¤]”¬‹ˆ&Áê$åÜ,eeU»cõ	¹¸GãO8a¤)¡ ä¥P4/—–ººët֛{¯5E]5fTŠƒ@Â& Â6:é	`"0lŒU,P]§DÂQ	%Ħÿ¸ „tàtë=A×n¸Ø nìÁìüô³,8¤è×æ¤EþÕiqu#%­T#.Pæûqb¾e4~¹(ÄHægÞ·›fŽ='³¦ÓO¾ï×q6ø¿yÃ&ÒVý?²ç‹ª+lMHŸÜúõCÔÞ±\öÍ#.hÅ#3ÚÚmáîÝÔÉK#{{ºNÅˏÖåyºjð=šy½\ÖM\l¹Ù‘K*̵ðòJpð÷uÐôÐïÛjØÍ-¿kÙ»£qFb!$‡-ÌÌۓ¨Ù¼è®¹ãÌۄ˜F6qÇ8hPhÂ,CöºÂ7ÌÕふCdÌqÎám#±•M¥„ÙBº¯¹yÐà½ëš|÷3¿y‚!È7稺(4Q®ÛX0“wù¾ƒ,h#6?äè‰!“‰¸\£Êo/£÷õgg^i¹ã‚íÓj#.M,=6ͪ뚷곐xFpSÑ4¦ì¨‰–€FÛ,„š~¦JôÖ±ÝrðÓ+°iá³Ýdý_>÷Ž„ÖéM¨#6kf©l#6Ì놡Å)”êýáˆ{Á„=óùœû£‚{ vÜé	„R$T@›‡Ð# *Ì…°´%Ôl–#%ú H‚š›*GåB XtL„,³:jU(älŠFÒªŽ‚®Õ`]›[†ÖéµIµwŽ‹bםr髵·6îÜÈrêñµðË%‹H´ŒT©«œwUÝÚ±Z•¦¾+Uã[É[Iº@•%rØ¡#6BKI€`‡šW(0ú6nün°££a‘I}ø«Jì¹X½9*–Šae(¡Q#P­1EŠZÀôÉŒ.p»Rշӛ͗Æ×ZïrÐÕâ¢%&±’X‚Ñ%¨OsË}2†±P”BTBˆe„EªR–¤_ÂëQM”ZÅf&i¥E±¶5™ŠE¨¶6³+Ó5I²Y”LɉTÑDmLɲlklÕçjº7ैŠ9Ÿ?ÉïÐÐ>ߺDE‰OŸjÚóÔMª+	RRËð9ì¿âŸ‹ÆýÝ^lx­êþe˟ÝåEÓ¸°zÃÅ8ӝÕÝóa‡T9—ùhìž	!¥ŠÖüíM6´”ÊѾ‡7ѽ]Bͨûf·äV·#6µâ×OÜêêF™æî¢6Ó»³®µÝ¤¥­¹ŠŠ«Knk—5]¥+ZV²½vìÖj(ÄJE¦®ÏøHf;ÙYȌI–b2_l(†‚Ñ$˜‚D@ Ä:o',À’ÕPBMˆÈ4p#6¡a#.§gW¶¤¡Pm+œÄ4ÚÁ €™—Nκk‘fñÖ¶!4ž€õ…>ûµ>ÖùñkÑ6wЇ–äÁí0Ϻ¼è¨…Ì]hÊˆ°Ÿ,Ó`ûO]Œ‰ÿ3]¸™·7µLÌf7?,lc]̓MBbAŒ1H¬µ4Ýi†d8w&ßNÓ)Ĕv»Æ#.Áàu?²æñçãµì!	5éá1°<¦ˆt2b²tÙðVþ²ðæ8ÀU;¬"Ǒ¶C’}åtȎÏë“|w½µ^]™3aÌ8fùã—=ù6´ì§Í„%µ ~¹åšÑ¶»zÊW\=ÙXÛÔZh¸Ïa†°Ó(±Æ™må÷<H°UýÒvЬbE“ȝ#6NÁÛ±=ôL~+"‡õ†È„eÛ)·‚È~ÏðV<0T‡&*ž“2ÊuJÚ©X¡à†÷BxQGš`…×Øhœ Ÿ-“T–­ŠÑªKo•/©ZºˆB2$"cü„\¯IÛ\â£rh¶·’{:²Ulm¨Ú¹Uˆ#Ÿ”U#%Ÿiy?Ò3vµÇ‡$eù»#%ˆb Zü¬ßàTy„/o\½Õ.@Úº[%´×]§·-lfmBÑl@Eá1Á¢#DBùRÈ8$j©À\0z¦Fü¡€¸	á[oZµ¾‚[[fIŒl•m\ÓX¾>Ù*¼î«ˆžË¼UÚDFÒæ»É×>µž¹éw“W–Ù’€“€œãKÁhã*7j*”™A#6´¶³V¥(1Ä*ÛAÍXU¬!R#. aS#6$D•Q#6#6ŠÆ,ÊŽXI˜…vU‡ï€DdА„Â%¢¤€äÄã0õ‡ázâhÌ RƒLcAA‡¬–T#.9?³¿Ïïç*®·€(øhyÒ]aöàŸsÖÐa`ªsêpÄ%X¬gՙ3nš#.Ç#.³ÈÂêH9F1˜ÖKQ·nžíùîÑ™ÛÌmµ¶¾©kU­~[Â` #.Ä;@¸ˆâ@HŠnüÝ¡ã¦Qð!¼*‰ï'æ£[£Cõmþè¡/C	;¡ø&©“òƽq‡j¯ù#%AD^G9ŸÐÀÓz*‘J#.Š¬¤,XcÍ#6ŽÇ+Ìf¡„zœ#%fθåC8>yóvoÖ¢ŽJ¹ÛïFØØ鍔8ꦈbCDÐ#%ÅEœ7áÃGÐ*‰¨á%ÎÞÇ¢tºÄ÷Å4Èn#6½¡1*ÃM63âqMí€!œý!ȵ¥ð¨W¬|TaøµX#»#hLCZ¢«xbi(6³‚Š±tŠ\°èYl…ˆEX#%$™—p‰4b9&K“`È°y~5D¼_¼ #%¡ôˆ^3Äê;HÓ× XïYU[ï"zGEM“pùC›ݑ¶Íêц|J§NqÂIß.k6#.éï?XC߶ óð&‚©UMÛWJ(Õ]Ûeº»±š¿ºÄB¬€%Ÿò\;é(B¢ÔÈîLgÇõÙüÞ­ôÛWÎôNÝWu\v¶Âegd!Q‹ò–Bt?g>YAh7vgyÝ\º2嫆”uÝâòœÜËÍÅfË"i$l&ʖ£ÆÛ´Û&‹S60xÜMæÜ®U͍Üw^vo.Üu×l£•ÝÛ¤W/ñäª9¦Ëy<Ëurîk2Ƈnój•hÈó¶Úæ宛VKhÔ¥ŠÎ·)³,›'ŠÝÝݧ5wft×$RќáÊ»eγQhÑÊÔX¥"µDh‚´m› ¹¸#6XTbzà„vA؉CH#%ömõoÊ´;TÄ< 8#%îGû;ƒ¾Š#P„	¡A;X‰alExýª*ŠoN™¨xþÉÂ{S´pAÀúJA¸!áE ±#%ã›êwŒ'¬+Ó}†Ïu¯‰¥hÂ%öz3…#6Ëïܟ›´æm:Ïr#%r"1Œ’ ”ÌÒùíêæÛVükZæ+kº¬ÿ¤¹gú£ #6Æ#%™Îžî6S!5²jÅjÐ¥¡–·½5{Ì|‹1À P÷€A!µ%AbÄB’VçjœuÝÔ²±c#.ݵêZðc^úªli¤#.÷„5w!,8‘*àN߉D l&’PƒtI¨ÅiéÓ&Iš#.ˆ½Ö­|ý·\­{úµ¯UÑæÝÛ½(ÒDH"^‚b#6#.)k‹`‰E•Tb¤"M(0'ñn\ÄÈ)OŠŠVuç#6'÷ð=•øØ 1†„HA„cŠQAû†j=•€Ôáa­3‹¼D#%;" T€Ò͖ÖiµJ¢¶•fËMô¡ˆ!·/¤¸Ž‡Y@sÑV2#Í©ZdÍQ¶Ú…­DüÏ&1‰½#.@	§Ë†HH"Zf0šÚÿmFkB¦km…ˆ7€ÉLÍv¦vÓÆk‹±_T,£T	ÂÊ$6#%þDûOPp%*¼CrW¿ªúÖó6óô÷}w~›¢|—ïd`ŸB2¿˜¦gËñꟙ´Cå#%a‚aÌHôÿ¹Xˆ4)RkU‘»M¶ ÈfÈOÆÑv`iñΌlD‘HI'2's¤ђõ¡²yˆ?Àáýb€@cÈoSÑ5·câX¢^ü-ëpqû˜ZÇ#%‰ÄÄ#.IÇY%¢ˆiQ8ð$MÊ$4ªB£ŠQ!.pK#.dÔþÕâòºmsWI*å^ï&Å­Ä*6VjBTBW@#6Ö#.c0LK½àŒ1†åËBá-$‹ok#%´Â "JM!hKEÌ©#~N͊ªð»/8Áo:¶f¾$öû^à쪰pÐք	331(Ä`m¥ÁØx]âO,’½).àdË0L\Ò²u"Áb…0«‹ÔÁh BX’T°€²+"¢7*© H4u͒it52LòêUÖRnݸ6Âhüt#ùÓw2¢H×`ôò*ù{Ntp~m£fE…DAى`=aPP¬&i»PE±*Ð#6E#KT-ѺZƞ^Šv0ù lûa£ï€ƒÄ‘Œ$µb	ÉS¯t·\ªvݪ–Ê­š[§.ê¾»mµõR¶¿’¶×ºØ+ìŠf‘MĔ± f#.‘¨-RHE9À³­‰ŠÐÂѹÑxOd#.Ášyþg2Å>?åDÚñç—ì[Ýa3FÖAÊR±1m6¥ÒqŸÏ#.¾r¯©†×PäqŸPì†4`!‘ÄF˜ÁDm6›¬‰¶òɒc‚„$‘¦ÖcÁ¨ñ©˜ÛvHEJèGŒ+ú2ĹRØ&Ç.-S9;7¶£´3P–—´¹”-2µ‹–š}¦Ó’òxPëצè!àDûšOË[ˆm4;CìAÓA?{@~¨ìFêøʈ;gèª#. #°êÞ#6&àÍdT#%¤‚‚O]#.0UXû%H€ð+Qè¨÷#6'dÑg"æ”Ø;¾#%âßh§#%–6‡Õáüӆ#.š¶ö!þ]ßzLÉ¿¿¯¥$уHX*fO‚'Æ"°›[>PAÍ#%GÉQMAû={”}á§ƒvY¬¯ÑõÖ)Ñu©A_°d FÛϲ½¿†Šc[Ü%•—oEÓ,y†÷¢ˆJ2&óo†tÜÖ‚;¤¼6^o´uç‚A›(77ü“)– µ¶÷Y…ÄLx‹l+ۚ¨SÃù5ä4wòò$;8SV›âT:—<­‘t(ñH˜Èª†',ð³™RڀÒâRgpo¤ˆŒÂɍ2"ZBÇË0/‚x†ã~æŸÇTCîûÖþIõ‚h&"´#6bƒéC;¾¯3Ž¯«ÚÉÖْ>úWš‰ûc~ÓÊqÖ'lcØÆöœ·0´U>’L#»²8US›3H—¸¨wâ®	B?‹ï‡kzþˆú&)¸E–m[p•´!oqÎJЗYÅ{™ÙL7£L€ÁA€Œ¸¦ÓŽV0>²BG.­#ÄDDJª® )æŒM+I’¦Ík¥¦=i4b¦—sìž‹'4ƒ³>é}2ksá²HÎó|DaXéw‡kÎú}e°&f´R‹˜ƒÚyiÚΔóKÛù=iæÙ°y/âu+‰`Çxö$ÝÀû0}]‚ÐJ3ñdáË-^Ýø϶Û9@Ѽ#.3]7üºÊê@óÀ¶ñXT՝˜¬Fôõ{¹Œë²›Q…2fqLd–¦ñ!»o³!‡ ÄtÞ8<µ†çÂôÈ6c8Cg¥B~óQMãøÙKºŒËù®ÇC‰mª¹"9n¨¢H´<J•#Öر–#%׋1Mn ¥ÊéÝÔxaöŸOڟÖNÿuQá´ÿb¨Ìñz`	œ74*¨9‡N¾›tÌ	Sõ–z¡օË8 zJãì;EøxW´‘±3Cd¦””6JöˆHŒå¼Òa¯`&C! íŸó<µ,]I˜ZðÇá€Òß:}P#6f27¢– T‘Í6Eún§m¯FØؙᝎOu—m­×êoٜºSV#6ÌÔýìÞ×éÀԒ¶I&³#ø}3 lýCÖå¿YãšµÏ]Ú6·©d·‹j­s݅M)gV\ÕÛÒÕÞ,¯ßë'õ‰r8ÃÒPòC5…U4v!yc:Îpôk¼¶••ÿd^קÃD~„»÷??[TôšðŽE¶»š’wª•;ÀkŽ½WÆÎÊ]!A†ùp£Îrm°d+Û #L`„Œ±	´|P	Hšƹ†ç—_®gXo,›¹iž¹ªË\ XyËú)ò¦á4·†§`ž8ÏkÆïgBŽC¹HÎçÕåNw3‰Uv0/ÏnñÑ8ª¡3'»=·„1Mw™É™1‚Ù}ûÒ2xÃER…¦§‘±PL¿@ã×¢LQRI5=û¼x_ZC‡#.eÒG§ï‘üØke(¤Þà҄ F@½Ù¹€ŸuôWnqÈËÙþ/£ò色§Ù(oÒ`ĂH¿I/#%	$;ÁðH|‘ëü!ô€ÿ8¬¾$DYDˆ‡vâõtŠŸFþX*G²»ÏÅ^“Ò™ÌÝ@E8*mì81P}°‡f>Ãޝ²âôž“s#.Anã"Ý3-½GCÔtä.9#¿å¼:öŸ´Ô>‰ÄÇpwÇÉÄP+m&™#%f¶FÖ´ÑÛd92hş$ÑEy#6,:@ä¡í’(:xÔw‡u#6Š©6Ï쯟T®Î®£Æ>ÞHˆ{:¨óÚrz¨öY5zº¹[­(úù³¨å•gõ8Àu¢ÚO…±Ú¨¦  ¢0ôV#% FB$š‡¯°Þå<jØÀOfçDšŽ¡Ð+ö8ÍƏ#%àA)hBÀÆ+	Ä®qk_g?ë?¯à̬¤‹ÝOÞS/P@JFÒQ?µ•ªù±À2:‡ß·gˆdªH5R#£Ê‡ˆ;ãM羄Á#%óë‚xN_¼n1¬ÙlX+¤Žg¹·ù_•4k3>÷Vgl6éÎ×Ó©ñCqš×ÐEúW9³‘v@Óя¨a´Nø¥7ì⇲ñvVù¦…éì€?ÔTÆ'»Ÿe¿Ü»Ù;}`£9úì=§„¦ò•…A+©/þnw‹®B’v>û¶çU;QUÎ†¤”RtÐ:`#A‹'BÑ1Œ«¾ùa+Ð1 MpAH!ŸþO«mmCPç¢6îÐ*Á#ñÈr=ñ?£?ùûKÑTHØ?ÚáUŠ¦7ÊIȗۗX”ÇrxiÞ7•Îåƚ˜:tà€^³Í£Á!žKòó©,8AüÏzßóÄw(I ìäh·ÑQúöùw,ù.™1øµZw®íb!&t4!Ç.ü–ú2EŽ”)OkR¶Ä4³¬?eBF1³öeÑ$í8xnÕnùx-ˆPúɌé^û,ÇãXFKP­Í<œÇ+•wOÞ×j¤Ñ¬E¶Ëf³MRÍbZRµMR(gfí–sʵ$‘Èu.kOU;ÏïHÝEUõÔ«@È¥~Ïíýש?£ú~dm”eI£0h šm‰¨ŠLBLh”b#M*FJ&…!&͓a#6ˆ±Šü$åÅögŒxɳ'€«:û“7ܛo'6úÝyŸ”R’M›vÌ ÜÆ0Øh4MÌÝ4¢¤aKæÞ7t¶zh%*éMð·åÆ^&y}Gå1ÑÔ¦׃M6`¥·m—8™@¨…{*E#R«5sQƒ틓øø˜ÞŽ¨Ã&D¡+fCÐÄÆÛxÎ&cz\/ӆÀ[]4šªœ„>n¨¤ôܟh#.ØL“ ïÖ9obkMNËÒuÕ.Âjõ!2̺ju^ëØÖ8ì3ŸÛë¨fèÎ[ŽG —ç_¸3ýO8†ž°Õ Úm𦶰9ãT’/è„™á­ž3°ûç™#6ƒRi¾m#%F÷"¢Ö[©Œ”¥m¦œiG#%0NPÈ©-D‚„#61u2H€âˆë—QUË;®JnVÝ®ésuu®ÈïkÎòYšÛ‰×·‰7®«—+lÆ4›hÆ@î’1ˆAš *ˆ‚•º%*»@’Žë&M’æ˘ª#%¦_å¬2H¢ÈAB,$֙WŠ¸rérÎësk$¢3—*çFד2 ËLEø:UÊA-H¡K29ÇXar„—ŽR×eFÉ‘?6¢teÌeÄÑs4Ñø©…~÷ð/c…ž ò—hâÓX!˜Ë#6Tr!žS“Ñ©/Þ:ãk‚Ãz)\Q„Ñ!TÁ`U«Š¢7*â͈Òll«/c\(­›Ž!¡6BÒˆ’¼«³5A”«¥¨Šž;Í·rÊ.»xÖúÇ®î×uQ”õíQ°i…¢I¥Âħ%4Ъ!h¨&MŽ9Q%Œ²ÛSM©·LÆ<D†”ÓÄÜ$‰AƒVeCbz’Ū‰×*­:R\£³Û+­µ‚(m„UÅ¡:‰WTŠ7"B¡\+-£u´6›­6R†Ê–ó	Uj…¦<«•5C`À5·—&Á¼éåŽnãÀnUŠ.à»*.ÔÝTZ%ÚÔ&#.*A±Ñ©§¼Å¶e™ÕތøÁŒÆ1š'3²9Daƒ[#.iH­H7SlYe «UÆ«A–@¬’;)ucÔN}fÍ=,$‚î|ùWoŽÃAŽR<®Ó&ÂQAg–Û#©Â‹\\CÑz!¦©¦GK1dR0q­¨²yܦ8BÙ¼1’EâMjJ#.ÁŽB•mÌKH'…p¬ƒJ¼—šŒŽá*8À­pìŒ#0o”àŁ-ZN5F†A4¨·B戠2+±Ðj!B	›SR1F/4Ì⁆0Ê#.býßR ÷Øsȱ˜Tnͯ›7†nnø÷Xµä¢ÉʾNLâ­!ILs­C#&D™VE¶Fi›„‚¨(a S#6Hƺ-¡2@aZM'"1A‚ƍî<j¨í˧¥ÁlUòÃÃÛæM8K‰˜¤A³¡ˆØ¡)‘"ÞZ9fñJ6ޘ º‡Ðќê äd'̓4Ǹj¨ºN0ü˜fâÆiûi—©²™°°(0ÓbÉQ”ÑHD5qîe‘éån#.nèÀ™O\m Õà*%oŸC#.«ÊŒM’ìu¦÷…wÀjïˆT™•¯¿&Cr—@Þ±¨Š¨„ÄpŸ•6Êäøz$×&p²±@‹V[i¡YDæË(F )96pÒ¡&4©J¸(©0Ö\±‚’…0¸†(ƒæ!B†ÐQ!bJŠ£"¤Á€4‰Š­Õƒ´‰ÈÂÓGâMI)Ǹ9pd!U!Ì[¼;†îíâ+Îòé‹Q’×b‚„ŸžŠQÁHµCTˆE­ÍIÀ;¤’‚Ú‹mŠ¦Í¦l²Œ"µj …”Cñ`§ë.ÿ3#6ä4êJðüû¯Ì("Å#6ˆˆH°=ùÀ=Rc·.£÷e‹}·ªŠ>üR˜ÕDôÑF¿œ•Y—Ú>REB#%!‰ŒT£AܑBåµé{T}µ*Àì=UíŒ&„æë§ÎÎ00Ò °W!P‹'Û:D¯µg<¼ÕF	r†™„O#.4P÷¨ì¬p£þÛ2FÄÙÝۍn®®›[{k®”;¸[ºU0Ir…Y…ƒvÊk^(¦µR˜¡LdÁ’ RËuB¦æ»³qP Ù(f3Т#‰omB‹7û¾¥°·°ø\¼ÌÚÒ㌊L6-Öýš"ò»-ëÛ¹Vçt$YÐI€ÛâóÝkXäœ$Y¬Ùæj±ˆtª/œvA»ˆ>#.¬—½HíÓÒ1ø¶GÛ«ÃD¯P‚VÑõ(þ¯àˆ© N½¤€L¯ÈÏa‚“‰‰r×(‰œ$ìÝÉВ³àw ïRb4w‡^×»C¾/…ìX,^¨bK”\«Ù½-!®ÓlßMvª|ºõö!üȦ7@Ï_]ß̏ØuåÜ(7Ñúþ©ØÁ#%Ë·I#ú;}+¾?}œ­n‡*œ>—Û±ÏÒ[ì×{oѤvÒBÅÛ³É~¹¼È?ÈùŒc(šñG‘© ÔU#6„+¿æ‚d礇¼ì½¦ÐðÉßz†R‰Ê'j[br¬#.v#%ôηUŠšûʸT71wV­fºËmŽEßÒXJ§^v×# ïEC°yƱ,• ìA2±A„ETù°’á™òNÊR¨QeTÎމrá˜\ö9Ú5‘jªË#.&t0ßá‰cZb8z¤0À—mE„þf³ÈßçHœŽ°Mq4›¤Š9	#.þš ÃUHr¢’\ªévÜV^ßÈò¼QkÚr¶Kh·²ÖìKrîêÛôK\6¼UƎnVéµ·MY#.cnm&Úæ²k—-µÍÞír,m“jQª+—‹;«î-Ã#.âw²Ë»$çžv÷07Šü<¢ŒÍ}Zk¾˜•˜zÓo´=H^Êî"Ø΁º’!7@A"ä#6´Þ”=¯íÂäD´‘ƒ»¿vú®_†o™ªƒ‹¾ªýQy>ð)Gä#6çøÑá"É4ÖÂ=$±òSè2w@d#%“Gßè—q¢1¤(š‰IBHå%ŠJ*¨Nîòá^T#6Z\# x Ùb¡†*©""(¤›[u­#.mt›¦µø~{oF®Ü¨Rd%ÛÝäT]Ñ *½Q@–Q¤ÖHѶÛ%[¿™~k÷!D,#6 éB?õ@Ô#%šÿ$CÏ¥'¾ûHjÆMöFÒ¶FñÇÙ{ZPuðP甼P#%;²f_Œî@O÷A$‘;ý&Ô¬›¡Ôu`¯ª¤ª£Ù¨3`Ð: H#"&Q)òT(uqe-L͒IJ1idŒ´i66hmIEbÆÊRRJdÚ4)µ´Eª*ØÖÔkjZV™jZ52¥b֋ci5³[Ϻϝn·$cu¬È²#.Ǎ"6W"Dûne6˜ÛaPÊAÇ$r®tëÓ£Ò®Ï=tªò®<ìiq¨ò¤©¥’D£O c!&$Ü*+hlŒc ¬H˜É-a"#6@£`èÁi†“#.‰H…4ECJ¤P*( B*Zë0$(¾B¡ Ô#6Y2?Íü5°Á#%™ô©DØ%%¦îéݘÜ:ÓõÚô·W®ìÛVÀ(@d‘‚$–f­2Óȸ@M°%Ä^û³„B3ã`ûÇNÙ"vÔôôm÷wc¾²³Ù”„…QRN {ABH,O½¸VÆȌÜÐö5OÈ¡äØf2vp®§W_—[—,1Z%ê/-l@Ò¨ˆŠ±±Ü¨Mâ xFߗ¤jœ¯§1p‰V!TÌH!PáJu”0UR8Gõa£ÜœµõN¦’„µFénãɼ•ÖòË©R™”/Ú]êµsQµ±hÕZŽê®Á¥±ìóp–9‡ávº?®HEÊoz¤ÑïpÛ2#6e_ìÓjÎ`»8C®+dßX{Ap–Â!ê>ÿï(ü±YD©Ë³eJ[LTz÷F"Ë`ç`΃Ձš‚RúÕ ÿ™ùiÏJ—Šê%áMY¢ªS|š²|‰š®#6‘u¡‘àÖ½usFpÙ"}rC¼"Él³Êª<ÂoבøÏM™Ïr§ý–æØè„#Æ	X}¨vµºt¡;?;#'•ËRùi@Ü¡ÍM¸Ôã|]?ÙÒί^¡ÔB}¨#.#%ù`ø€¨ÖîAå—Íã°Ï/ўÿ|hÒl\1º**;­»3Ú*¥â‘TþÈñÅ4¢ØìçÓ~ö3aƒ¦)¸÷GZ³*¥›z—ÁÑÇUƶÜ` ÂpÞ]ÎÚ£]u\Ê­Jã‰Q¢ë‡òUÓ3÷˜‘ðÁÆ&Òe¥”ÌI#‰ÆåÛJ{ií'[lüÇ¿Üo5ÕÛÄîÙ¥º'Q#%ä3!O¨"e¨BG½V×ÒH#´'53×ÕîZ×#.ÃP„˜ñçRn	tÈCñžxm÷¦‰¾Ù¶Uúûïy/‘ãV°A„<(}ZÒÙ81K²‰$=·E4œ¢Bl‚:E’æÊSlµÉÆW_û­×¹/#.ÑۇQuÔîí®:väì³G¸\§”µí{KXî{îV¾¬#%¤LÒ#6Bk¬¨7â¶(/%ÀèÞà÷Ô¦Çb-¬Ä¢õÂÕÄÀÂFÅÆixå$Z³™F®;ûó–©vÂqÙÔ!Äg ÷7tVBZÇS¼•/yÀo#ß«½Þ%™&‡s©X½*77/²cMž±Ár˜øW^3Ý$"“Q?:yÛ„6"£ŠéÅƺ–{åøÉÐ#.ôŠ¡¡”ÌVË~ügƒÉg‰smm9)¸®jWMöÓÃm‹f±“	 虘·â®8kÃÓ[é‘þ]»±6årXöN”VRTâÌYÍZª¥;¢øùžgrª³s BÄyo…,pѾa&	q<£“jf)‰ÐÙnÆۛÐÓE¥Å—•›f5Šw©±ŠÑÄâV\º)2›Æƒl`œqÑáDë¾x¶ŒÅf^–a›TûåkƊWnëh6“³m<pæyßý_ZÝ>ؗ[ÑÆçhNI/$“ËÆfš7Ž)¤ÖŸô•öÍGŒb$C¥×ÌêC–C:ÚÒsŠ/}Ñw§Ê€ò¶DÉJŒnÛTóQíjP÷xÍ÷‡“bëZ:>춖Êü¹Ÿ9õÌW_J×°¦ŠéyƒiÄÆx’»uƒw}²™×:üç´ç”¼Žî'÷u{õõŒa*Ž½^W‹W0ïoèÌÐâò¹˜ô³8ÎÜVx˜«­¶®œ§|ʼntªCVo…Ž†#6åUvga*Fñêòª‹­éïlg¢/Ç=˜’Ã5ÅéüÔÂln÷.úþöb¢</Deìó՝«ô<¥sïŸ>NΠlr²¶AÅ׬Æ<EúûcÛÔÑìôþÝ!˜ ‚"D^æy¾8Ü£ŽËB6KÛ­8£,g	‘:d©D÷˜ÓìLíoY°¼0Pڌ/iÈÚyÔsdÛ)Ž…7°²›žTîÃ÷ä&ªhdrå#6%#.-í/Š×Cð&d«©.]ê™'O8çmÃ7£žUãŒIð,¦`œW£2êçµ8ÏNÀÅî$`.èXÌ@ð=Z¢Ã„ì÷m„R†˜m³³£f3ƒg#„RcÀÞQä¼b3x0óš˜ð½0„_”$gB†È›0íÚº‰9¥#6¨ÜÑ)¯±Ò'¬Ï•Ç–	keØ	yŒc0À)Հt™±…(ßÛíÖ Ù­dJݧÍ-®¯®ŽAåÖǓ¯0É<¼–^G¨&ê@1[õ c®UNÃcAÈn>Рo#.°†(ÐÈ#×LC÷ªó#%€@:óš#6`FãaÀP™˜‡a»ô:£L6ñÕýxõ»Æ`vŒž¥›¤•`qG=æ26ð•9è•ÖkSAC«#%6ª„sÊ^æz±¿v‰•‘	Z3Kˆ—3.ªÞ&˘sxÃ\ã#6?#6«_Dd\¨¡PʸG`{»u½§D¯OÆ.þîO'6÷ûÞ[ž‡“°ìkÅÖÈ,½ÓÀý*	“„GÄÂg ¾T©œ"Vsïδ##ËlºNÁƹÓkFÒéaùC·”úÏòghæz¢:§ç™ŽŠ–”žç—>ýcšŠETÚQSSNFüb((±SöۜM—Äe²Ú{Að]‘Ák]zVÔ4o““Œ{#.”Uû»ð*#%Å9ÇG֓ôÚÏ6(¯Û#.oÏ϶;3\4‘Š¡³G>FÎD(Öѽò‹çÇÑp²9–žfª7 ­Zæ0ÙºÞÝCë¡ã’šÖ‹NÚ21D‘ª!ƒŸ.e-lZ'ÚUbÕõQÃØ¡™ç~%‰@½vÝiVkQ-29¾ysæ83DñÅì^[)X×ÕÚɚ"Dv:e£;F#6Ç~›•Ù¸°ëíÓÓwÌãWoÕqÜ̋²¿';¢Cs:ö#.aº:ë¶Y¹Tû›èœ¯[–ãÔÇ4v4n s©»x÷ÑÏ;èÝ2÷~öç‰sw~/´j¦<“£\W‰t·Œåóm‚åG‘^5&ŽÉoä wªŸ7AÍÄ%å#¾Þ0Må8pqäñ<³~7SÛ»å߃Ló‘Î¥mZ¡\dõQ†Ð{x09hRÄ¥ˆµ¥«#%}¥ë„ô—‰”D4·–bͅèŒ3¨ç’š®E’=¸¼ó‡ ;Hœðà>.Ãx[CUZØ=íô7,Èh¨·tz=<7~†O›œ í†fBñEo7ê9q À°ï‹ˆLBõ«•³üñ6°§«Y܉±Y…„;W¸Žœ–Îå›\¹Þq.ï6…)sf\=®Ë#ՃV4(êvµÐ<³Ê@ǔ,,¸Œg	¢(Ôyzw-•HÕ]B¡¡¯E´öq3¤:f,öÒ­'!Ñð	ì@â†1HóFÔó vM\;€© É3@Úõì.Úg$$VtIm-äSLÛ0w0ÈÁ'‰#%ÕY"aÃßôèU×]õûC#.˜`fá˜+u¸mæò?‰N®°Cw"³0ñ²)qO‘n"xXŽ ‚í¸NÛ&Äy~‘å(ä·°ÇèpÅ`\r ‡Pž	<߂ð(;ïÍVßáL{U#.>¿ãxKf°ÂwÀõüƒå'™y;`kàýpÃhST«CÙç2°gÏ¥_V«GªG±8v'$ODMáÀÖN}®;O‘[Tb,ŠÈÃäÒ¡E€~	¯Á°e…D–aì»Ímlš…s˜Ô¸ª’“#I#6±Kº’Ì0ªm&@•<ƅ(Ó`YF91!²²"¨DÈ¢–‚“EXB!$JÆÕ½+F·5¨­nZÊèZ©”‹"(ØÁci¬¢ÅFPTҊˆ¢aQFR¥‚0ø!\Þg¬âþ&x؅µ±Î@LñÜî#…# ¹vЅá¤é$c9ÍbŠž”Õé¼mãnEɱ­*µ¯¹m¶‹V®UQUUé¹UײóÇÐ܌ÍýÐçP:þ~–µÑøC5÷]cÇ-–§AKxæ*Æ1ƒK+udˆ×/¨ÒÁí¸i¶í®oÜ#.hÇHiþc£f-+°£W ¾ù¥SáîÀkN4bJ³ÄòÖ:¸`@¥,זcÉ –(2ƒtHqbePDiòãOR;Æ]ÓxÖa%‚dH°!V“7V˜Á·Ù(š&ÓicRE,%ÝEcbi¦4C®Z*=Ê[ÌgA§Âu‹wL¤t’d½>ùlÀö›L!P9l›ª#6@Y0šÂfœ‘L7zUàÅ3R·X›€QŽÆ6ëØËÖ¥4ÊÑێv²ÍîFjh£MÔU¬zmkZ¦A¸Lk.<“µ†µcÔèç9«eo†LÑ$D”MqP\`SZ¨X³LÐ*±c‚ñcix1”2ëB‚ÕC$Î¥¯Õ¾5©Ï9;·hÓaYÎS¼JÎ!ª#6A,ØTP”2„ÇcLhÇ»*ëµs½µPAôãn²‡U"^Ck*œêæVú†•“%+XIw­Ü&]J&0ghnÀot‚Çßh­siH“°N'a§ïšiÏ]P\‰ªR8ÙFö0TjŒ?ªãÞºÓ֓cSˆ‚ò£œµ.¨CZF“Làèd¬q¨Ô"Ú7*ª#6”*à Ѹ”Ðá¤0m0m15+‹‹FÞn-¼™,²»zça›[	¹tùÐC 2´CdT¨£]ž&09ÜEZÙ*å#.hFe¡›±—mÝF?Sã5@‚ŠLãRùg%¥¶È|4k ¸Ô €ˆÚhŽ¦ª~¬¶ÆŠä$¼*7Ä®é@ì€zi¤„<˜D¨°]8&è	.ï®r#.V†FÚqÉ#——B–¡ZYm r˜m†2L䭄ÊlbWfJÌæÚ¢&n\c§ˆF±V=¼§^1Q¼ÁèÞi•®›m·Xˆ9¢Vßãޟßފ= ­GÕy˜úe”}#611(÷"фŽ·e0Qsâšz±ƒXr8c™MAø¹¢@‚œ=6ñalÊSŽ!vH#.0ՌÏ	¶–‹€û0­\d#3ÉÜ$d9ö¥›:é¨WbTF¡£†MP1#BÌðCV#6æe´Î-ͳZ"Û­hDF¤¨b0fµ8҆¸Â±¶FxØ7‘¨Ôƒ{ÔË	¦A¡6Á&'"ː9#.+µU°ÍNß!UíÏ*ª™Û2‡s—£Û1ó•M`ÁC!0çr‡c$’Ûã½n‹ç€¿¦Ì+¾îÝiL™5–MÓõ6¯ÚÙH•$䔴•¤$ˆz—O™®;ÅÝóèºbCóHwÀ©ÚªwUŒØÖ­À4†*SmÙüçƒ	U+ {}E*ûXSÔÓ^#.“ñqº²±eÓ¦3™~sÈ+?2CÁûàÿ›Ð9¯¥Ag*Î*JAFä#.o³·Ä³Bx«ÇzQ€#ț»û<*±¿®væA§	­öœšÁ›Kˆ?~Cóyßì¨×\Ubƒeª•Áå˜ó>\f÷={p1¼$a¦î“»¹0ˆ¿{w@y9;šbƪ¦[ƒ'º0’ÇotÜòä<×Ñ(õÈø¦k´à­µÕ÷Â¤qÁΑHû®øŽ›ü!‘¬í£Q:ǧ	å@Hµð†ç©!Í’5iŠ	Wj™KV——\Ջm]7‹hlPPH¯Ð†¬»öÐÖiä#ÔD~èì9ߥ}~•Œvý"°R(±H#%VZÛ#61´Œ˜Æ&1¤D©(Z¦UŠil[%¤¶¬RQ¶$¬š4(¦Ê£Í¡M5#JM’Q³JHIQÓhD¤KFHS4T¦È¥SF’a¶lÂ%(I1«X!#%øÞ:úx—ôÌÔžg´ê9šÉSÛŒº¬[Ç4UyÜÐ~ðWæòs5þW‘$$g1$8)×ÃÂÚµâW#o®å$î—VÐElO"¨>œ€#.¶ƒ˜4~‘ ¼Hga¡„’hf6ؽØLKn£’R&¾~§Ûzk³pCõ%߁Ú(2ÆH\Àù9q]‡=½haѹS(ÂBY‰èâ°ª¦$ã…ß´ùû½šÂùïâsþŒCJ‘FÃÅqy§üÚµù¯×ÑÖNj{!Ãë: ûo?“WÝjߍµ¨’Û&ÑXªKXÑ÷Ö­si±©B“Q£±õÝ«™C!b”R©bXK2ïÈ0'uàEŠ$fPÉ#6>ÿ£"ٛ‹)ƒí¬÷ó.#.ƒ>+„¡Q…¡¦b0ÜürèÕcD>n.ž5ª(àÉX¦¤ŽRb"©¢˜ªŠD.éÊf’¡”+@6lxœËRXÐV,Iˆ.¾Þ1Ó{¯.íГ³šöó«Ìь¦»6ö•å&ñsD¬ÊÜ·/×–³PQÀº.a#%­ÅÝÞ!”`ŠÐ¡GLŒŠÄˆÄ½G¾ôÓIà{è5O‹†EÉŸ'&u1p6e¤J'LHQb`àËVAd¦¢ ŒbŒ¤…(Œó©#.LáGô`6 kgì›μÞ6ór1J¤NŽ2,=¤4,°pˆœ¦˜„| d<ÀÂÛ«6ìjHÚÛElmŠ#6­#%ÚÔ(ƒ"3@pBh_²*ÁUY‘U¦#6!ìßÕºLŽ@	¦‰@¥+†Å-=	#%½]­”ô¿~7c¿#´…`>ϾÈ÷÷ò3Œþ¨ž‰Cft½B$#!¿ö?‹"dꅄ|êÙ¾~h%¡Ð{Ñæ#.‚’Ÿ,(`šä塤|Èؔn2¦‰”­­LÓÈ3ÏÐ@„>€ã7ïØV†Æ’iy¼Â°÷ýÞ=ßµöR|ª2Zûf‹5ïðñÆUo¿[52UQJ–m¯ZÔÆÊJýKï*G;ó&¦¥„uÊqµm¢òêg™*ñ4-o^…°n2nF-tiªD§7C5Æ6Ó&TS`Ò&Œ!*Q›±A÷Ärê]uâ+NA–«B/¯Ô{,¢tòOئÊúӒrµÉF¯Aï J+«)è(° Éë;øNsê>«íó]ÊMË°#.ŠšL†|ÊÛéRæ!Á)’Bª9£^¤ÿjfÅ<Ì;¬#6Aî0xw;Þõ†HA)4g˜fzúœqŽòF­õcÏ á„ØE¡kõ|¦!»°uªMG&~逸²#%Q;úŒ¿ÜtŠ@d‰"Ȉˆ*¦#.>¸ô/}RŽâb_cóÖìT#D¥:Ζ£Ê±rÖîõý“'5>‹ç|â²âè}.šàý_Tl×=ÎÜÔ²]4X`C$0ÇVêã9'HØv'F³ñIÚj&¥g™õ@>3¹“ŽÐí€#%pàJrê`{ä7s@òq{ÊA/˜”UÒ\zge)^±²=sDþXÜÆ1×ƣԌ吰nd[wof²XŒ‘²¾çg)P’6B·Þ\+ÉÚEµÜ,3â̈́JS»uUtDÀý19Wž53ÂpTlÐÈÓ#.¤c€h‚`	ñ‘0pP#.@ŸÐnªÁ`È%ÿV TU*2ìÈ/&YÛr-Þ¨»5!€PÔÊ0E#Q¤H›a¸’6P";^-ˆš@â–YÇ1Ìnì5͗™¡#%1”,½!‡sˆYڌñ¾¤flzÙ¹Ôé¥ÁciDã&‘Ho?/3²Ð½X2Ž(uÇÌ°´ÃdÝ­zYg$äÝ&Á5åDˆEPÚ¥HŒA±è~“3#%‚ˆ	Lˆ™ªÀC}ŠYf‚-"¼¤}q¥£ÌàIQ%¼†Ø^FZTz³µšHÅKÅ"@Sp¤u^<o.ÈB3@Dmï½àâ…×j”ta¦lrÞX@z‡QfkQ‚Á¨‚À½Aƒ(Ö÷Šóò¯n7۞W üï¬"ù:ÈÏÓ7Ò`ÀR7{ƒ¦BdXg&ðS¨f%¤Š‰”	É0ð»,í‹ý¶ÜD¶uS2ºcre38ºt#%™aÁ%ç­»#6Lp²O§pߒX9¤à»WD¢ƒvkb”Ô+LÄ#.–܈#.»³BñC7<è‰D©#6H2#%ë¸ïšµ‹!£!PÅ	X#6ɊHÂ	žºÄyŽ-•_F¨é<´­ŒöÝaš•˜ñ¿n«ÍÛµ±S†o1ï[ÍœVWÁ¦e	2äptc¯,ã2®i²‹혎s¤°ð­Ž4F!ÇöR¨±AV,ñ³á‡‰$Eïæm;ÖcHo!Ó@3k9LJ_™'LÁ›YÓB¯iè1@'*kMž.³ˆÆ£6™‰6“ A»m¶ÒÁL\RE΢ŒFe¥%o˜Ý“*—,už›`Á´¾Ñ‘9¥É1260ìo)¯i#.&”÷Í@V«¦Ä$l‚tšÊvÛck¦—r˜F)œÀKE ÙM‰,vLí.\º{՗[>!m´Áiå¬Þc#4Î!­äkû}av˜ÚߤœljW¸ä'7qÖ$[¬vŠÚÜßLU»ÆD<´ÑjlìïôH=fU̜L3™a萒'£>4‹O¬ÈЌ!Zõ‰S5{ÓX¦¹‡—CÎ&—;±8k¦îŸ\@r¯2n&‘='I©Zã¤êBÅ F՗„,¹\¬*ÍV׳p™`—\ñ©HfJ•Y#%êë㚨‡"ߑkkÌ›%ñO+vv&º?grà{Þºç(äUÐä×I¤	 X¬E#65³6ɛ!ÅdhmÌóÀé­^]04©qs:ÙÁÇ0@ëæE}h·¨nœLeÁÃ}8 Üƒ^-1³ñ|2£Ãµ÷@¸p´Vכ;"'›‚å¡„±•X%ôŒ–ºí#%í5`+IB27©t§#.NZÐÅ©º†B¸–°Aø±b+m:+¤‚BN\¯…mgY¬ñ[6L†ÎÀVælåŒa²DgÑ@iµDбP<ŽýÿB㌱§4ülÔ?nŠMÖÎð„àM$ÕY'¯BÐòtoi´\Ûñ¥Ø+~8ᥢ]-YÃ[Ôtͤp‰?UÿÂQm—2áLØqEÍ#.q™ƒíñØåÓ<<4x¨1 (3Hr›ŽÞ<9²óëktò ¦Æ ‡r³òëz]YÒ1Íñ,̊sÕ¦)³åÈFµ.ÉzˆÂ—y|²ÂÒ+d׳„ÛFó~BÀ™aud¤Ö †l”ŇÇ-Ņµ¾ù‚3XSC´=‹‰±ùq«óëth:j&#61iu]†Šp3B„Àtž§¯_	m}i¢2HÛ bvvÏxâ«$3@ä½Ì·gnªÕ ³	ŠP—JPÍHÆÜq!¦YÛ%j®`ށˆ"–#I¢#P/¿=¹fgØMœÁC´;,LMµM4Yp'Ò*Úúµ˜·”ÉSìÎxÔEë¹Y¦§vM€Y@ôðSä̎œ™è‰åå#6ݹpf#%ÊÏÚ;tíyA&w©b¥‡OLìO#.&Âé?8L89ÞݓM7ã%†8Ž9Ê¡Ø-u#.	³/L]Ÿ¯\Õ¿%‚Ú.­cxŽ¨b‰4&µ!Ò`,fÄlLM‚á#6­˜‰Ó£p:5ÒHÄÄÌü¤Žd‘A¶¢„Hø0̑Áö4EqT¡ªk&§xÝÛ3ÅÖè)ïe£(Ã1YÚ`¢ÇŽ6!Ý]ÛÑ.$#.	€àT–0%DH!¹±Z¸å9Ç´ÒQ PP4ˆwŒšÈi8,ÑHŠê%Fl!6aeÈ0à\*hÛiD5Üè8h陖*¢P	ƒK#6¦æÃ@ÀÀALCÄD‘6D“áS*¸è†wB]èÊ4,¨6"ŠwA³½ò3bà‡"¨)Ø٘Òi½‘ƒ†ûøU‘’«Hªå¶ÎMlEÜ 1	ˆÃØ#6š6v4#60gSP#.F†¸H¶WU%0MEó& 83ÐíĄ3œmÂt대ÉHrºâÄ¢ œBB¢ê™•¯3[Ò^6¼¯_#.óˆ±c%%¾²yyôŸCk£U@Ê(¨ˆ°צŽ½Èš“n‡£¤ž±°f÷ò C°5#6,"B@MbªPê ‡á¿öôl½€Èë:½u‹yÑ\ƒ²íšeX§—ëïk—°Õy+'J#.?Ö>£MÃ܇)üŽøx¨âÙàm&-£™×B¸kMµ7ⓃIfŒsQ‡fE°Šë»ºf$‘$#6DXÍf¿šY¯§·š#%ó×W%U®ÔEüðMѐÎ^hÂò¨I#%ê¯JS°x|k0ÂJh(¨Gf‚uaÐÆzífˆ?“nôÓ'àÒ«„¨“¹*3#¼¹R'W((q#HªÕÝe’iŽè3³%<ªÙ쪌JÅrØãz#ÈÄ6¹–7oSñkJêF9ÌTÍ@Z¿0TV(NAqKìÍËVè+ÈämÎÜa·4}o{ž«;Ù¬å¦66”˜µ²¶[[:ÁÖ®¿¢>¡DHª{hˇà}*s9e¾Dʳ:¯«d{÷ÅT°3ñD#.¶CvN]GÃL—@SÞ¡#%4„Ž©C»¶Çá^Wf“·DîΗZ²º÷áâÔRñ7p#6ªVŒˆÚX"kÕáË»[Í$2%ñ5;Îéo7v†È®òï^vÉåÒ¹Å×RÉ#6A‘Ü0@4Ћ5*ˆF ´8iQ¡øé3 iŽöGZK(4‡]-ÌUDÖ7v)<´MF¢¡ÇgVƒ#34u*ÌÙbQ „GFùèë읯·»È!ð†<ýZ÷H|ÁpDäA#%¦Ï¡¦3ƒõ†j‘¬¼•dú.ÖÚ1<#P„$xîamˆ…ÁV†ŠÄ®ÉÉL+ÃàÀؚÁ$p ¶”(“Ÿ(7'§¨&µ9w²#6nc±ì³êžlæ!ÜúìçÙ#.:ª&Œª§­LYUå™ùû¦ƒ÷×!ŸG´šÈ(|#%ÉÂmr,A-Ùa…NKÎMN8ÓR0;»n[5'Ã)Lª×³¨^b>%¹C3é8]6±uLDÔ`X€ B!:©O¬i悘ç³n%ڒ"öa\ÐØq¥ÑÃK×董ñLôQ#.i‹1Ç¿†0ÚÉ0µö~tm6V,ŒV"$ú‰¬á†sÈkÐҌ˜Ê¸ öò…0'º)HH2DO¢"öµ”ZÍ­iHJÔߪXDVBEGE„ìE—„0cUƄe5@Àm©n\0P‰`„M`¯8#%ì#%IîËѕ…*Bé—øahš<2­½Æ¦Z\ÜìŠÈ¤°ƒ² H’€:¯ƒäßbš•X1¿8Íõ#6 #%HŠ’*¾ß–[·|4ÅO4oÕå}#›9†Ñth¼g#.`±Þ»Ž´Å¸3©Õñ*\žY9)h„¢‡#65½P4a£ePM£2X’l+%Ê«EE¨íD‰‘·LNA‰GUÕÂë×yåmÊ^¶²VÌÝv¬V`•%šQV@IÅN†ýWPË3:È$#.EG^2S4#%Ü¥…¤M—2,Às4µ§âPNÞ0:=G§‹Í,0!&*Ç·§ä=ÔÌÃaÂօз;sHc²iÞfÍŸŽtê1ëa°SàßÚ½&ñØÒ 7!,HÈ#%—5ëÃ@ä%驾EsRÏr¢Íýï_kWÏ:ó¶¶*'õÍn¥‰†šHƒ[ïh4×·¢`wAu­uÚá#.,‡q89	‰JþÏáÃ;«¯³‡3€¯ÅO8~kÔ1	Ü$9Ê%¯«y£6ŠZhI¥EG!‘+Ž]£fvßæoí՘8”™`±Òùn¸¿¾¶^Óötš†Y[ÕôãBa»֛iAà~_X>ÈH‚&³ì‚‰ÔXb„#.4Ñ©î„5ë%ïë!rKïl}9úÓì='p>ýÉ­Ô(Ž^7/$‰ˆ¤´š’jYiŒVIJ#6«bÖa´&Ċ*kLmµ&ߺÑZ¸Îk¡£Y³k‡s¼ßÛ<“ÕXªå‘˜ûµ£aÞ¢þs”Ôæ: ÇÅ#.#.¾®¾Š+Ÿ˜±;öòÀMI@\Ùô‘²z°/‡aÙ°nâ#%žÕNÑ=ǾꉑäKÁŸFzùÂFC?6ëñ(ŽukµÃ Ž…XE{šJ•ƒ9&ärÔP|üi¶ŠöÔä4Ø-J[hyªôƒmše;“;ð´#.MÓIÓqA’q«)\»’ÄùÑe®qÄAäÒå˜CDƒ­8:ß	7$™l·}uf¶™ÛŽ6c„6ZAI¡%!pj[´-ÑÅ[åÍü¬+cTdë‹ÔçL¨Í¶§fˆÜ€¤#%PYl±’Ú!VYCrhM­#.Ñ­ÞîôÅN‚¡êÐ0LoäÅ£JÔ1”ÊȲnÅF´ýJֆbÕk#.¥ø?{5²b]%OZZl}Æ0 ¸äE!òó÷΀Ù,"÷•Ég4 )@w}*	uAÔ ²$ALpIF wIϞ/ƒ©‰tÊð¨A°O€!##Æ Žj‚U6¼ãÕt±ð<4O‡ ¢+ÙÚt÷ a‚­ŠÛ‹L;ÏX#6ɨF §ßæý#%oٔ1d”@Ç!”ƒ Tñ{õŸWnÿWòmî'y‰üµ͌ó6@gö8A°ÄZ‘´³0?yüä<vuøl¼ôªÄfPx"%7³0Ü'´ws7uÿê"ç𒎚¾ÞöݗfÇÓ500.=Ԗl×Àþê:;X澐·ÞQPñã@?LSa#%G1×#6ÜÕAf˧f¡€Xùè£C&3#ÅÔlDhÒKºº	#.‘¦WÑÞaû]Û\«›œõæóÏ]ų„†É”Sd5Q‰y7s]¼‹&ÆѶñs\·Æ+»·‹yåv•¤å[y“oÑ[¶Ís!ÅSõ$S`6™mÙó÷þŠ#6*¾%|}¶<L³=AÞIYªa<Í>›é#%Å<Ô®Êû>Ê,U!¬Ûf,ÚÍ´õµ¿5÷­øµj÷û"Ñ-62)E’4²’©³jü¿tj7ßÕ~îú#. £D1SQ¶*¥)JÚüz§h’—µ¼'̋x„"#%Z"göBRÖÃÖ1ȸ0ćÐ0–HrHNTŠ$è>ä#.D1¦î¹²)±¬-f¬Q¬lÈÅc+™E²Á‰ëÎò*ˆ„(@Š'](Š]ê4{qM_îòýé©çÜOsèùfaב$ðWÀ šõ‡#%£'¸}—ËeL|ó*j¹#6ý{.³ƒæɃxv÷’,!Ú°3œ…ó˜ÈIÀôªyæ8öÑUãoË{Ø,E˜E'F™ñßt €ž&ny¤À˜ÞB Q¶Äb‘püÈt‡î"€Û@ÖôTÖ¡ódH˜E9§¹Z€¡ ½B!JŠS˜Újh(‘"jKNíÒkTÛRiIª[R’Tšl‘‘@njm¯a0¨ ÿNR‚(”+Ô\/*SÞR¬‹e¬Ë/n£.žÃgUPû£ãÓdtÎ=v£9é.k¯Ni`MÄljh™ú([;³RÑÖ*È5õXV²Oµ8Ð"Ņk°ÞÚ4ì#.y@^K?ÞÑïW-ï%ë¼lcúé#nìˆzK™š!ö¦ ¸X÷¢Ї§øþàêüûo–—çãvMÅ)¦%I²5¶1R`ÔFÕ&Û#6Z7æm¿+W‰°ÑZ(FAUdQ$ïî9ú»,ì–i!`¡P*…ˆû¤6+°0rBF"EHÒ(ÄɅŠ)¢hlÚQ¬,#%”†ýh—Æ}qÏzíÙ/uÝJQþÀ!"kWš±mF- Ú”5F„«6X‹X«QšZÊßÓ[¯3†:zº›üYݽ´ªË%$ÜkìÇègÍ#6сü5–#êŒ1KŠL5VÊå˜F·ÓLðкùÀƗàIô÷$È«miGlý/$²ÙÛ3"‹*hc<jֆӃý90Š(„8AK"…Ð2Ú·Én³I©¢•-ë6ÛNìµÝÙ^5æòµÕ6‹&·¥\•ówY›³2«®nڊ¹Ú‚KdYµywcMk»«»­¤ÙRTȔØÖ󺷚kΨ¬$IS‚•a!ƒHˆ6Ôb£cÞMi„^›×—j”ÒÙMI–UéZêÞuuçj¼lm(Êe¬¶Rםܷk»tYc)&A¢aˆ£ÑN™¡àΓ#%É#6ÛÐqV„m—3ø{䚂è5H±dÜ>²øQ¶EF*‚d‚ÈÇ#%ª@ S㒡¬þ¤Ê[Fh¥ȓ(1P¹{äÁ5×\É&§4)Dڛ7Õ¥GôØ46àYêÓ’äö¢ìþ3OêÁ `>¸ˆ¯pÏ?~ðøfŒEº#6ݧ¾÷#R÷fìˆfKËÇXZ¦#.Yë9¾îã~07"ß^GÏõ–™“¤M#.UJœmG/¤lír$a®îB™1ßèSJë@ë#³o(ƒ$QGÊ)ļ.#.õêLo.Eä`%Áæ1‰¢GP5¦Õñóç/ml·p†B#%|²$Ÿxk‘(#6™(iι8>J¦ç¸iߎ„>ÔÒ9åÈt(a…-Q¢ޖ3oÐÕùUbٛõ`|¢‡B	hÚ)I¨i¦×£|#.âöA¯qØÔùKŒ˜5Ó"÷gëtód›±BKûòVµw¬¢ö|jë‚P¤Ot~ÃìJ'`O8)¹A°.F´­'RK`¨¤,n#¨f4äÈlƽQÁ€ÑÔÂ!³n¶`¢úC#’ØÇwšƽ!ȱ|*逊DŘaM ‚¶”FŠ›Õ՚WáœuzC<óËû²œkGG ŽÄêîéՂ]Üãjþ?70ÚEy£ÉZ$£Y¨Ï¨ÑЁǽÁäuMmÐ/÷ЅÄZè8@¾?jã‚8“ù‹ç¯fƒYÁêF4dýŒ—-DEC=µvNÅ|ªÖÞm¨:ƒ´Pi\Xì"ð#.%t¢#‹Ì¸ÝѨU׎1Qߪ…@ãƒ[8AÀÓ	ʍö;÷—çKŽ¤B4Dbžƒ:[nXŠ#.édRS(´@Ír:†‘ä|Xr×c'pždl€A±ï47mà¶Ô~¤…f1ޓ‚BG¸Ô_h½GCˆô"W¾s;/~†D#.îfYÚÛÊÚ{aµÝ×oÊ÷}þëiäk×í¸*‰>ÜD-(?„LþdÓ*z©Q£fÜ@ ݨþQD¢¸ß³Ñ2Tm`ô=åWì#%ÇßwïØÁ²>u­L䑙›™˜ÿl#%#%b#%?›Ùÿs¿ñõÿ¿ü¿éýŸôÿ¹íÿóÿûýíÿóîÿ/óÿëþ_òÿHþ]º>_¿ýÙ|¾ß÷Oþÿëëÿ‡þ?ðøÿãáÿ~#ü¿ãÿ/óþïü?ùÙÿ‡ú|åÿ/ôÿ=¸G£üúÿÓËæùGô_ôêüß_Õ¥P÷SÿLBÄ?iþ,ϳüêÈDÊy;"™e\?·ûäE7¨;ˆ‹‡©sÁþ±L@­ZüÄm4	þË#%öªŠÂ)40)*ÿšþþǹÝÔI I™ŸF·ÊÙVôh	#%âQ³ßÌôjB»M¢ρ¡E˜SYˆ8ˆÛ,×gØ+,€ƒþûö¦C¦Ò‚æ¨x¶æñ#.Öâ×ýÀä÷² ƒ¢îǑ^A‰:Õó»0ÉæfØÝ@„#̏%*ãþU•Êlé·üiÙ\¾ÅŸÙ»Æøyö¡ÃÉvǧ‡¿„eÔ«jÿ݆떅¥&P"ƾrÿïUËrž#.ð7Ï_û«u”a:X˜„Ès+u‘ž#6ٙýþ.ÀÀ7µ*jH†þ”¦xii”Qš]d*ši‚—ea˜TÁŒ0ÙÿŠeTñhÞ¶ñïÕ¥ƒpvŒîm©TœYnœ44¼BÒÙl`…ÕÁËsO6e7ª¨5mÚ8øq훓Mmƶ9T¨¨ëÌFdMmT˜I†qx“Ý,ØY.䃆5¨mõyõx*ŧ7ŠFÎîs¢kCºFêâ¬#y{¢ï4êÈh2ùÃá’f´Øäì¹a²…qS1a ïH²F#¸yí‹ÈdŒ¸ÐŽH?F:oÌÌü4ÃÃ)×Ц­ë^EúîÞK¨ŒëN‘±£\-˜ÑNàS4'>:`«é”ßw´ÿJ±·ý4#.pó‹À@ĞGßF;tk5Sޒæ	ш넞‰‡ gÃ	w#6Hp,†#6¹^>`L³¬5¬R Eò™„ "IEq¸Ov˜]œ.fB¦æ<õÙ3PEATV*AB“9wt¸¦cß·Y˜ÌÊ2	¯kº\69‰¤U¥€ >È!<NÁ(¿K61$@	0P’2îHqw”;ó\¨xƒH1Mï}Ÿlı38bÿûKuÊɀž–¬Æ\¬îÙ ,F#6"`–ºT70]#.úwó­bs„ ‰‚$LjÄÔJƒlkY¥3[FÔm’¨ÌÒDŅ‘S_EÛWZªø|:Ö¾¸‚:?àE3€ÿt#%¿]Tµi¸#I(¼co¦üÛªözÜíSlÖÕïéñ#%Mþ}OÒÂFA~©o;|mq>§^²æF4?ícS9öÉ¬×¦åU1Š"ü«Ç»­'_û6Ä+W]	扄8uîKºƒxteæß¶}C3¿¾z„g,r.;À}²“½©½Ç0Àזf­ÜT9†P^]*zgâ_§Æ³ò8ΎQHÔ¼=‰ #6@C&9›Ò’#.³QÁOª‹#.D'ÒáG½\áUò»µŠšP®›CGݼòöœ²áž˜¾¦ÕÍ-ø­¾v챯¤ƒ[êk˜Ø´|nmcãm½(ÕìµoSEªMAj½óZåUìÞ݁y»¶ë€]#6.æäQ‰#. ©‘’| P?ç!xnãdN2Apã'PQ±Ôí±s¼p]º¡f!‘OVݤ—¿š7áUÁbÇá*J9…¨H{ÿî°÷cÍÔ¼(5É@$fáÌR¿æû'wØÊ=<Ñ܎§ÛÈ_.EúØqPôÇX¡ÿ’#"‹(]¨î;µ#D”)Qb(ÁmLÍtÖêÕÙjûËf¤ÅÍh	é! H¤€ £þßÃ3ÏëÿÏئ¨¤"Žþ~˜™áã(ø{fYr0Ûm‹CòNÀ.!xN¦	çå,A‘<?à“‡áÿ¨ 	—ýþ­&^â|YY?÷ùB-Þ6áÍtçüŠ¤ÿÿ&EÐý	hNí'»ÿ›cÿ`[Óúl¿‰·@³¼%ËAú¼Oìÿ»æÿÜíe÷øCâ.ÃGéʽ1ÍÀ‡ê'¼waÕBžÏ+“Üã!Éä,—yý>^#y;³9ø¾Šÿѵú½gþs(ž?l-A!ñÿÔ¥ÝóG#%‰#%(ö#6”CÛ¢	OùI[¥BY=‹”+¨›4ÃÔkéýÕsø]¯üžB_Fœ*ÀN#.ÿ6pŸñäÑÎJíâqTE3‚o¦«…ÆY̘wÈâfÓ§m3 ÊÊÇðç,Má†/-„±¿Ñ8¨–¼­§0aw<}8fJÃ$É	o§‚ì]aðx`HŠ$Y@zõnÒ=®Ù	i„ÿ~éŽ1éÿµ^#.Jz(ÎLPÛæc薪Æ"ÿ“â|xã‡ü†œgê?I¼Ëò~ÿð"‰ÿü]ÉáB@ä&öÐ
 #<==
+#-----BEGIN PGP SIGNATURE-----\n\niQIzBAABCgAdFiEEivIt5aBoIuNHTzxwSbTGfAUneqoFAl3aW3cACgkQSbTGfAUn\neqruqA//Y9oJ46ZR8W7YB/e45bfrYxGbN7NnkvkwSPNziObYur+n1QpQEOaPTn/U\n5kFtPWHXRJzaG/A9poKn7pl1Xd7Edcu1aalfoEazZbuD37VOxIp9lnrefCAeICqj\nGv0SD96Zac91CbA+b20Q4xnqxKMi3LSI4NPjfFGy62FkSk3MS4p6Rdp0/WAKwwNj\nw7WEjQCNmLb37z+FGSzXg28aljYeteBZEthsVmGJ5QqVwMBwgj2+y5FOTzFfxmqB\nrWgjFYS0l85kgYRZv9yzdNmFs5SScwafwpT8Xmdr49tFn/+0LxXyRxX+rdODgrpV\nY4EOiQz0fd6mMMnaTDXlLSXls3JyVYmbTjeNL/9gcHmnStzJ851CJQfyQg7A+JoC\nc7nz0HbiFyTgB+PUZr1OhGj3A7287o8XQ0tqR3oa7jXIOX0OynrGplMQKr++0jE1\nBgKzjLoE9CTbjkQfICLG+aUy3S1ZyDk/BcO+5+Ytbru+qXuDsIgAdVosMfNSv9jJ\nXvOINsbRMekdejYMZv8fIkn5OEjCFHVhNpobEsCb768bjB3p7alQGECBvjHCm6dy\nXZPzl9cBMWIXcBjPTS+GZj+PIXGcu76pbsx6HBHWf+uJ+4xgOsUCVu//0AV09jvA\n0MjtLWwQ8mdRH6Wt4hsp4HKtSvQrhmljf2OnuYBgaFmcdJkN1zI=\n=C0oT\n-----END PGP SIGNATURE-----\n
diff --git a/waf-tools/default-compiler-flags.py b/waf-tools/default-compiler-flags.py
index 190c9a1..c7b4c2c 100644
--- a/waf-tools/default-compiler-flags.py
+++ b/waf-tools/default-compiler-flags.py
@@ -8,10 +8,8 @@
 
 def configure(conf):
     areCustomCxxflagsPresent = (len(conf.env.CXXFLAGS) > 0)
-    defaultFlags = ['-std=c++0x', '-std=c++11',
-                    '-stdlib=libc++',   # clang on OSX < 10.9 by default uses gcc's
-                                        # libstdc++, which is not C++11 compatible
-                    '-Wall', '-Wno-nested-anon-types']
+    defaultFlags = ['-std=c++14',
+                    '-Wall']
 
     if conf.options.debug:
         conf.define('_DEBUG', 1)
diff --git a/waf-tools/qt5.py b/waf-tools/qt5.py
new file mode 100644
index 0000000..23ff0b8
--- /dev/null
+++ b/waf-tools/qt5.py
@@ -0,0 +1,816 @@
+#!/usr/bin/env python
+# encoding: utf-8
+# Thomas Nagy, 2006-2018 (ita)
+
+"""
+This tool helps with finding Qt5 tools and libraries,
+and also provides syntactic sugar for using Qt5 tools.
+
+The following snippet illustrates the tool usage::
+
+	def options(opt):
+		opt.load('compiler_cxx qt5')
+
+	def configure(conf):
+		conf.load('compiler_cxx qt5')
+
+	def build(bld):
+		bld(
+			features = 'qt5 cxx cxxprogram',
+			uselib   = 'QT5CORE QT5GUI QT5OPENGL QT5SVG',
+			source   = 'main.cpp textures.qrc aboutDialog.ui',
+			target   = 'window',
+		)
+
+Here, the UI description and resource files will be processed
+to generate code.
+
+Usage
+=====
+
+Load the "qt5" tool.
+
+You also need to edit your sources accordingly:
+
+- the normal way of doing things is to have your C++ files
+  include the .moc file.
+  This is regarded as the best practice (and provides much faster
+  compilations).
+  It also implies that the include paths have beenset properly.
+
+- to have the include paths added automatically, use the following::
+
+     from waflib.TaskGen import feature, before_method, after_method
+     @feature('cxx')
+     @after_method('process_source')
+     @before_method('apply_incpaths')
+     def add_includes_paths(self):
+        incs = set(self.to_list(getattr(self, 'includes', '')))
+        for x in self.compiled_tasks:
+            incs.add(x.inputs[0].parent.path_from(self.path))
+        self.includes = sorted(incs)
+
+Note: another tool provides Qt processing that does not require
+.moc includes, see 'playground/slow_qt/'.
+
+A few options (--qt{dir,bin,...}) and environment variables
+(QT5_{ROOT,DIR,MOC,UIC,XCOMPILE}) allow finer tuning of the tool,
+tool path selection, etc; please read the source for more info.
+
+The detection uses pkg-config on Linux by default. The list of
+libraries to be requested to pkg-config is formulated by scanning
+in the QTLIBS directory (that can be passed via --qtlibs or by
+setting the environment variable QT5_LIBDIR otherwise is derived
+by querying qmake for QT_INSTALL_LIBS directory) for shared/static
+libraries present.
+Alternatively the list of libraries to be requested via pkg-config
+can be set using the qt5_vars attribute, ie:
+
+      conf.qt5_vars = ['Qt5Core', 'Qt5Gui', 'Qt5Widgets', 'Qt5Test'];
+
+This can speed up configuration phase if needed libraries are
+known beforehand, can improve detection on systems with a
+sparse QT5 libraries installation (ie. NIX) and can improve
+detection of some header-only Qt modules (ie. Qt5UiPlugin).
+
+To force static library detection use:
+QT5_XCOMPILE=1 QT5_FORCE_STATIC=1 waf configure
+"""
+
+from __future__ import with_statement
+
+try:
+	from xml.sax import make_parser
+	from xml.sax.handler import ContentHandler
+except ImportError:
+	has_xml = False
+	ContentHandler = object
+else:
+	has_xml = True
+
+import os, sys, re
+from waflib.Tools import cxx
+from waflib import Build, Task, Utils, Options, Errors, Context
+from waflib.TaskGen import feature, after_method, extension, before_method
+from waflib.Configure import conf
+from waflib import Logs
+
+MOC_H = ['.h', '.hpp', '.hxx', '.hh']
+"""
+File extensions associated to .moc files
+"""
+
+EXT_RCC = ['.qrc']
+"""
+File extension for the resource (.qrc) files
+"""
+
+EXT_UI  = ['.ui']
+"""
+File extension for the user interface (.ui) files
+"""
+
+EXT_QT5 = ['.cpp', '.cc', '.cxx', '.C']
+"""
+File extensions of C++ files that may require a .moc processing
+"""
+
+class qxx(Task.classes['cxx']):
+	"""
+	Each C++ file can have zero or several .moc files to create.
+	They are known only when the files are scanned (preprocessor)
+	To avoid scanning the c++ files each time (parsing C/C++), the results
+	are retrieved from the task cache (bld.node_deps/bld.raw_deps).
+	The moc tasks are also created *dynamically* during the build.
+	"""
+
+	def __init__(self, *k, **kw):
+		Task.Task.__init__(self, *k, **kw)
+		self.moc_done = 0
+
+	def runnable_status(self):
+		"""
+		Compute the task signature to make sure the scanner was executed. Create the
+		moc tasks by using :py:meth:`waflib.Tools.qt5.qxx.add_moc_tasks` (if necessary),
+		then postpone the task execution (there is no need to recompute the task signature).
+		"""
+		if self.moc_done:
+			return Task.Task.runnable_status(self)
+		else:
+			for t in self.run_after:
+				if not t.hasrun:
+					return Task.ASK_LATER
+			self.add_moc_tasks()
+			return Task.Task.runnable_status(self)
+
+	def create_moc_task(self, h_node, m_node):
+		"""
+		If several libraries use the same classes, it is possible that moc will run several times (Issue 1318)
+		It is not possible to change the file names, but we can assume that the moc transformation will be identical,
+		and the moc tasks can be shared in a global cache.
+		"""
+		try:
+			moc_cache = self.generator.bld.moc_cache
+		except AttributeError:
+			moc_cache = self.generator.bld.moc_cache = {}
+
+		try:
+			return moc_cache[h_node]
+		except KeyError:
+			tsk = moc_cache[h_node] = Task.classes['moc'](env=self.env, generator=self.generator)
+			tsk.set_inputs(h_node)
+			tsk.set_outputs(m_node)
+			tsk.env.append_unique('MOC_FLAGS', '-i')
+
+			if self.generator:
+				self.generator.tasks.append(tsk)
+
+			# direct injection in the build phase (safe because called from the main thread)
+			gen = self.generator.bld.producer
+			gen.outstanding.append(tsk)
+			gen.total += 1
+
+			return tsk
+
+		else:
+			# remove the signature, it must be recomputed with the moc task
+			delattr(self, 'cache_sig')
+
+	def add_moc_tasks(self):
+		"""
+		Creates moc tasks by looking in the list of file dependencies ``bld.raw_deps[self.uid()]``
+		"""
+		node = self.inputs[0]
+		bld = self.generator.bld
+
+		# skip on uninstall due to generated files
+		if bld.is_install == Build.UNINSTALL:
+			return
+
+		try:
+			# compute the signature once to know if there is a moc file to create
+			self.signature()
+		except KeyError:
+			# the moc file may be referenced somewhere else
+			pass
+		else:
+			# remove the signature, it must be recomputed with the moc task
+			delattr(self, 'cache_sig')
+
+		include_nodes = [node.parent] + self.generator.includes_nodes
+
+		moctasks = []
+		mocfiles = set()
+		for d in bld.raw_deps.get(self.uid(), []):
+			if not d.endswith('.moc'):
+				continue
+
+			# process that base.moc only once
+			if d in mocfiles:
+				continue
+			mocfiles.add(d)
+
+			# find the source associated with the moc file
+			h_node = None
+			base2 = d[:-4]
+
+			# foo.moc from foo.cpp
+			prefix = node.name[:node.name.rfind('.')]
+			if base2 == prefix and False:
+				h_node = node
+			else:
+				# this deviates from the standard
+				# if bar.cpp includes foo.moc, then assume it is from foo.h
+				for x in include_nodes:
+					for e in MOC_H:
+						h_node = x.find_node(base2 + e)
+						if h_node:
+							break
+					else:
+						continue
+					break
+			if h_node:
+				m_node = h_node.change_ext('.moc')
+			else:
+				raise Errors.WafError('No source found for %r which is a moc file' % d)
+
+			# create the moc task
+			task = self.create_moc_task(h_node, m_node)
+			moctasks.append(task)
+
+		# simple scheduler dependency: run the moc task before others
+		self.run_after.update(set(moctasks))
+		self.moc_done = 1
+
+class trans_update(Task.Task):
+	"""Updates a .ts files from a list of C++ files"""
+	run_str = '${QT_LUPDATE} ${SRC} -ts ${TGT}'
+	color   = 'BLUE'
+
+class XMLHandler(ContentHandler):
+	"""
+	Parses ``.qrc`` files
+	"""
+	def __init__(self):
+		ContentHandler.__init__(self)
+		self.buf = []
+		self.files = []
+	def startElement(self, name, attrs):
+		if name == 'file':
+			self.buf = []
+	def endElement(self, name):
+		if name == 'file':
+			self.files.append(str(''.join(self.buf)))
+	def characters(self, cars):
+		self.buf.append(cars)
+
+@extension(*EXT_RCC)
+def create_rcc_task(self, node):
+	"Creates rcc and cxx tasks for ``.qrc`` files"
+	rcnode = node.change_ext('_rc.%d.cpp' % self.idx)
+	self.create_task('rcc', node, rcnode)
+	cpptask = self.create_task('cxx', rcnode, rcnode.change_ext('.o'))
+	try:
+		self.compiled_tasks.append(cpptask)
+	except AttributeError:
+		self.compiled_tasks = [cpptask]
+	return cpptask
+
+@extension(*EXT_UI)
+def create_uic_task(self, node):
+	"Create uic tasks for user interface ``.ui`` definition files"
+
+	"""
+	If UIC file is used in more than one bld, we would have a conflict in parallel execution
+	It is not possible to change the file names (like .self.idx. as for objects) as they have
+	to be referenced by the source file, but we can assume that the transformation will be identical
+	and the tasks can be shared in a global cache.
+	"""
+	try:
+		uic_cache = self.bld.uic_cache
+	except AttributeError:
+		uic_cache = self.bld.uic_cache = {}
+
+	if node not in uic_cache:
+		uictask = uic_cache[node] = self.create_task('ui5', node)
+		uictask.outputs = [node.parent.find_or_declare(self.env.ui_PATTERN % node.name[:-3])]
+
+@extension('.ts')
+def add_lang(self, node):
+	"""Adds all the .ts file into ``self.lang``"""
+	self.lang = self.to_list(getattr(self, 'lang', [])) + [node]
+
+@feature('qt5')
+@before_method('process_source')
+def process_mocs(self):
+	"""
+	Processes MOC files included in headers::
+
+		def build(bld):
+			bld.program(features='qt5', source='main.cpp', target='app', use='QT5CORE', moc='foo.h')
+
+	The build will run moc on foo.h to create moc_foo.n.cpp. The number in the file name
+	is provided to avoid name clashes when the same headers are used by several targets.
+	"""
+	lst = self.to_nodes(getattr(self, 'moc', []))
+	self.source = self.to_list(getattr(self, 'source', []))
+	for x in lst:
+		prefix = x.name[:x.name.rfind('.')] # foo.h -> foo
+		moc_target = 'moc_%s.%d.cpp' % (prefix, self.idx)
+		moc_node = x.parent.find_or_declare(moc_target)
+		self.source.append(moc_node)
+
+		self.create_task('moc', x, moc_node)
+
+@feature('qt5')
+@after_method('apply_link')
+def apply_qt5(self):
+	"""
+	Adds MOC_FLAGS which may be necessary for moc::
+
+		def build(bld):
+			bld.program(features='qt5', source='main.cpp', target='app', use='QT5CORE')
+
+	The additional parameters are:
+
+	:param lang: list of translation files (\\*.ts) to process
+	:type lang: list of :py:class:`waflib.Node.Node` or string without the .ts extension
+	:param update: whether to process the C++ files to update the \\*.ts files (use **waf --translate**)
+	:type update: bool
+	:param langname: if given, transform the \\*.ts files into a .qrc files to include in the binary file
+	:type langname: :py:class:`waflib.Node.Node` or string without the .qrc extension
+	"""
+	if getattr(self, 'lang', None):
+		qmtasks = []
+		for x in self.to_list(self.lang):
+			if isinstance(x, str):
+				x = self.path.find_resource(x + '.ts')
+			qmtasks.append(self.create_task('ts2qm', x, x.change_ext('.%d.qm' % self.idx)))
+
+		if getattr(self, 'update', None) and Options.options.trans_qt5:
+			cxxnodes = [a.inputs[0] for a in self.compiled_tasks] + [
+				a.inputs[0] for a in self.tasks if a.inputs and a.inputs[0].name.endswith('.ui')]
+			for x in qmtasks:
+				self.create_task('trans_update', cxxnodes, x.inputs)
+
+		if getattr(self, 'langname', None):
+			qmnodes = [x.outputs[0] for x in qmtasks]
+			rcnode = self.langname
+			if isinstance(rcnode, str):
+				rcnode = self.path.find_or_declare(rcnode + ('.%d.qrc' % self.idx))
+			t = self.create_task('qm2rcc', qmnodes, rcnode)
+			k = create_rcc_task(self, t.outputs[0])
+			self.link_task.inputs.append(k.outputs[0])
+
+	lst = []
+	for flag in self.to_list(self.env.CXXFLAGS):
+		if len(flag) < 2:
+			continue
+		f = flag[0:2]
+		if f in ('-D', '-I', '/D', '/I'):
+			if (f[0] == '/'):
+				lst.append('-' + flag[1:])
+			else:
+				lst.append(flag)
+	self.env.append_value('MOC_FLAGS', lst)
+
+@extension(*EXT_QT5)
+def cxx_hook(self, node):
+	"""
+	Re-maps C++ file extensions to the :py:class:`waflib.Tools.qt5.qxx` task.
+	"""
+	return self.create_compiled_task('qxx', node)
+
+class rcc(Task.Task):
+	"""
+	Processes ``.qrc`` files
+	"""
+	color   = 'BLUE'
+	run_str = '${QT_RCC} -name ${tsk.rcname()} ${SRC[0].abspath()} ${RCC_ST} -o ${TGT}'
+	ext_out = ['.h']
+
+	def rcname(self):
+		return os.path.splitext(self.inputs[0].name)[0]
+
+	def scan(self):
+		"""Parse the *.qrc* files"""
+		if not has_xml:
+			Logs.error('No xml.sax support was found, rcc dependencies will be incomplete!')
+			return ([], [])
+
+		parser = make_parser()
+		curHandler = XMLHandler()
+		parser.setContentHandler(curHandler)
+		with open(self.inputs[0].abspath(), 'r') as f:
+			parser.parse(f)
+
+		nodes = []
+		names = []
+		root = self.inputs[0].parent
+		for x in curHandler.files:
+			nd = root.find_resource(x)
+			if nd:
+				nodes.append(nd)
+			else:
+				names.append(x)
+		return (nodes, names)
+
+	def quote_flag(self, x):
+		"""
+		Override Task.quote_flag. QT parses the argument files
+		differently than cl.exe and link.exe
+
+		:param x: flag
+		:type x: string
+		:return: quoted flag
+		:rtype: string
+		"""
+		return x
+
+
+class moc(Task.Task):
+	"""
+	Creates ``.moc`` files
+	"""
+	color   = 'BLUE'
+	run_str = '${QT_MOC} ${MOC_FLAGS} ${MOCCPPPATH_ST:INCPATHS} ${MOCDEFINES_ST:DEFINES} ${SRC} ${MOC_ST} ${TGT}'
+
+	def quote_flag(self, x):
+		"""
+		Override Task.quote_flag. QT parses the argument files
+		differently than cl.exe and link.exe
+
+		:param x: flag
+		:type x: string
+		:return: quoted flag
+		:rtype: string
+		"""
+		return x
+
+
+class ui5(Task.Task):
+	"""
+	Processes ``.ui`` files
+	"""
+	color   = 'BLUE'
+	run_str = '${QT_UIC} ${SRC} -o ${TGT}'
+	ext_out = ['.h']
+
+class ts2qm(Task.Task):
+	"""
+	Generates ``.qm`` files from ``.ts`` files
+	"""
+	color   = 'BLUE'
+	run_str = '${QT_LRELEASE} ${QT_LRELEASE_FLAGS} ${SRC} -qm ${TGT}'
+
+class qm2rcc(Task.Task):
+	"""
+	Generates ``.qrc`` files from ``.qm`` files
+	"""
+	color = 'BLUE'
+	after = 'ts2qm'
+	def run(self):
+		"""Create a qrc file including the inputs"""
+		txt = '\n'.join(['<file>%s</file>' % k.path_from(self.outputs[0].parent) for k in self.inputs])
+		code = '<!DOCTYPE RCC><RCC version="1.0">\n<qresource>\n%s\n</qresource>\n</RCC>' % txt
+		self.outputs[0].write(code)
+
+def configure(self):
+	"""
+	Besides the configuration options, the environment variable QT5_ROOT may be used
+	to give the location of the qt5 libraries (absolute path).
+
+	The detection uses the program ``pkg-config`` through :py:func:`waflib.Tools.config_c.check_cfg`
+	"""
+	if 'COMPILER_CXX' not in self.env:
+		self.fatal('No CXX compiler defined: did you forget to configure compiler_cxx first?')
+
+	self.find_qt5_binaries()
+	self.set_qt5_libs_dir()
+	self.set_qt5_libs_to_check()
+	self.set_qt5_defines()
+	self.find_qt5_libraries()
+	self.add_qt5_rpath()
+	self.simplify_qt5_libs()
+
+	# warn about this during the configuration too
+	if not has_xml:
+		Logs.error('No xml.sax support was found, rcc dependencies will be incomplete!')
+
+	# Qt5 may be compiled with '-reduce-relocations' which requires dependent programs to have -fPIE or -fPIC?
+	frag = '#include <QMap>\nint main(int argc, char **argv) {QMap<int,int> m;return m.keys().size();}\n'
+	uses = 'QT5CORE'
+	for flag in [[], '-fPIE', '-fPIC', '-std=c++11' , ['-std=c++11', '-fPIE'], ['-std=c++11', '-fPIC']]:
+		msg = 'See if Qt files compile '
+		if flag:
+			msg += 'with %s' % flag
+		try:
+			self.check(features='qt5 cxx', use=uses, uselib_store='qt5', cxxflags=flag, fragment=frag, msg=msg)
+		except self.errors.ConfigurationError:
+			pass
+		else:
+			break
+	else:
+		self.fatal('Could not build a simple Qt application')
+
+	# FreeBSD does not add /usr/local/lib and the pkg-config files do not provide it either :-/
+	if Utils.unversioned_sys_platform() == 'freebsd':
+		frag = '#include <QMap>\nint main(int argc, char **argv) {QMap<int,int> m;return m.keys().size();}\n'
+		try:
+			self.check(features='qt5 cxx cxxprogram', use=uses, fragment=frag, msg='Can we link Qt programs on FreeBSD directly?')
+		except self.errors.ConfigurationError:
+			self.check(features='qt5 cxx cxxprogram', use=uses, uselib_store='qt5', libpath='/usr/local/lib', fragment=frag, msg='Is /usr/local/lib required?')
+
+@conf
+def find_qt5_binaries(self):
+	"""
+	Detects Qt programs such as qmake, moc, uic, lrelease
+	"""
+	env = self.env
+	opt = Options.options
+
+	qtdir = getattr(opt, 'qtdir', '')
+	qtbin = getattr(opt, 'qtbin', '')
+
+	paths = []
+
+	if qtdir:
+		qtbin = os.path.join(qtdir, 'bin')
+
+	# the qt directory has been given from QT5_ROOT - deduce the qt binary path
+	if not qtdir:
+		qtdir = self.environ.get('QT5_ROOT', '')
+		qtbin = self.environ.get('QT5_BIN') or os.path.join(qtdir, 'bin')
+
+	if qtbin:
+		paths = [qtbin]
+
+	# no qtdir, look in the path and in /usr/local/Trolltech
+	if not qtdir:
+		paths = self.environ.get('PATH', '').split(os.pathsep)
+		paths.extend(['/usr/share/qt5/bin', '/usr/local/lib/qt5/bin'])
+		try:
+			lst = Utils.listdir('/usr/local/Trolltech/')
+		except OSError:
+			pass
+		else:
+			if lst:
+				lst.sort()
+				lst.reverse()
+
+				# keep the highest version
+				qtdir = '/usr/local/Trolltech/%s/' % lst[0]
+				qtbin = os.path.join(qtdir, 'bin')
+				paths.append(qtbin)
+
+	# at the end, try to find qmake in the paths given
+	# keep the one with the highest version
+	cand = None
+	prev_ver = ['5', '0', '0']
+	for qmk in ('qmake-qt5', 'qmake5', 'qmake'):
+		try:
+			qmake = self.find_program(qmk, path_list=paths)
+		except self.errors.ConfigurationError:
+			pass
+		else:
+			try:
+				version = self.cmd_and_log(qmake + ['-query', 'QT_VERSION']).strip()
+			except self.errors.WafError:
+				pass
+			else:
+				if version:
+					new_ver = version.split('.')
+					if new_ver > prev_ver:
+						cand = qmake
+						prev_ver = new_ver
+
+	# qmake could not be found easily, rely on qtchooser
+	if not cand:
+		try:
+			self.find_program('qtchooser')
+		except self.errors.ConfigurationError:
+			pass
+		else:
+			cmd = self.env.QTCHOOSER + ['-qt=5', '-run-tool=qmake']
+			try:
+				version = self.cmd_and_log(cmd + ['-query', 'QT_VERSION'])
+			except self.errors.WafError:
+				pass
+			else:
+				cand = cmd
+
+	if cand:
+		self.env.QMAKE = cand
+	else:
+		self.fatal('Could not find qmake for qt5')
+
+	self.env.QT_HOST_BINS = qtbin = self.cmd_and_log(self.env.QMAKE + ['-query', 'QT_HOST_BINS']).strip()
+	paths.insert(0, qtbin)
+
+	def find_bin(lst, var):
+		if var in env:
+			return
+		for f in lst:
+			try:
+				ret = self.find_program(f, path_list=paths)
+			except self.errors.ConfigurationError:
+				pass
+			else:
+				env[var]=ret
+				break
+
+	find_bin(['uic-qt5', 'uic'], 'QT_UIC')
+	if not env.QT_UIC:
+		self.fatal('cannot find the uic compiler for qt5')
+
+	self.start_msg('Checking for uic version')
+	uicver = self.cmd_and_log(env.QT_UIC + ['-version'], output=Context.BOTH)
+	uicver = ''.join(uicver).strip()
+	uicver = uicver.replace('Qt User Interface Compiler ','').replace('User Interface Compiler for Qt', '')
+	self.end_msg(uicver)
+	if uicver.find(' 3.') != -1 or uicver.find(' 4.') != -1:
+		self.fatal('this uic compiler is for qt3 or qt4, add uic for qt5 to your path')
+
+	find_bin(['moc-qt5', 'moc'], 'QT_MOC')
+	find_bin(['rcc-qt5', 'rcc'], 'QT_RCC')
+	find_bin(['lrelease-qt5', 'lrelease'], 'QT_LRELEASE')
+	find_bin(['lupdate-qt5', 'lupdate'], 'QT_LUPDATE')
+
+	env.UIC_ST = '%s -o %s'
+	env.MOC_ST = '-o'
+	env.ui_PATTERN = 'ui_%s.h'
+	env.QT_LRELEASE_FLAGS = ['-silent']
+	env.MOCCPPPATH_ST = '-I%s'
+	env.MOCDEFINES_ST = '-D%s'
+
+@conf
+def set_qt5_libs_dir(self):
+	env = self.env
+	qtlibs = getattr(Options.options, 'qtlibs', None) or self.environ.get('QT5_LIBDIR')
+	if not qtlibs:
+		try:
+			qtlibs = self.cmd_and_log(env.QMAKE + ['-query', 'QT_INSTALL_LIBS']).strip()
+		except Errors.WafError:
+			qtdir = self.cmd_and_log(env.QMAKE + ['-query', 'QT_INSTALL_PREFIX']).strip()
+			qtlibs = os.path.join(qtdir, 'lib')
+	self.msg('Found the Qt5 library path', qtlibs)
+	env.QTLIBS = qtlibs
+
+@conf
+def find_single_qt5_lib(self, name, uselib, qtlibs, qtincludes, force_static):
+	env = self.env
+	if force_static:
+		exts = ('.a', '.lib')
+		prefix = 'STLIB'
+	else:
+		exts = ('.so', '.lib')
+		prefix = 'LIB'
+
+	def lib_names():
+		for x in exts:
+			for k in ('', '5') if Utils.is_win32 else ['']:
+				for p in ('lib', ''):
+					yield (p, name, k, x)
+
+	for tup in lib_names():
+		k = ''.join(tup)
+		path = os.path.join(qtlibs, k)
+		if os.path.exists(path):
+			if env.DEST_OS == 'win32':
+				libval = ''.join(tup[:-1])
+			else:
+				libval = name
+			env.append_unique(prefix + '_' + uselib, libval)
+			env.append_unique('%sPATH_%s' % (prefix, uselib), qtlibs)
+			env.append_unique('INCLUDES_' + uselib, qtincludes)
+			env.append_unique('INCLUDES_' + uselib, os.path.join(qtincludes, name.replace('Qt5', 'Qt')))
+			return k
+	return False
+
+@conf
+def find_qt5_libraries(self):
+	env = self.env
+
+	qtincludes =  self.environ.get('QT5_INCLUDES') or self.cmd_and_log(env.QMAKE + ['-query', 'QT_INSTALL_HEADERS']).strip()
+	force_static = self.environ.get('QT5_FORCE_STATIC')
+	try:
+		if self.environ.get('QT5_XCOMPILE'):
+			self.fatal('QT5_XCOMPILE Disables pkg-config detection')
+		self.check_cfg(atleast_pkgconfig_version='0.1')
+	except self.errors.ConfigurationError:
+		for i in self.qt5_vars:
+			uselib = i.upper()
+			if Utils.unversioned_sys_platform() == 'darwin':
+				# Since at least qt 4.7.3 each library locates in separate directory
+				fwk = i.replace('Qt5', 'Qt')
+				frameworkName = fwk + '.framework'
+
+				qtDynamicLib = os.path.join(env.QTLIBS, frameworkName, fwk)
+				if os.path.exists(qtDynamicLib):
+					env.append_unique('FRAMEWORK_' + uselib, fwk)
+					env.append_unique('FRAMEWORKPATH_' + uselib, env.QTLIBS)
+					self.msg('Checking for %s' % i, qtDynamicLib, 'GREEN')
+				else:
+					self.msg('Checking for %s' % i, False, 'YELLOW')
+				env.append_unique('INCLUDES_' + uselib, os.path.join(env.QTLIBS, frameworkName, 'Headers'))
+			else:
+				ret = self.find_single_qt5_lib(i, uselib, env.QTLIBS, qtincludes, force_static)
+				if not force_static and not ret:
+					ret = self.find_single_qt5_lib(i, uselib, env.QTLIBS, qtincludes, True)
+				self.msg('Checking for %s' % i, ret, 'GREEN' if ret else 'YELLOW')
+	else:
+		path = '%s:%s:%s/pkgconfig:/usr/lib/qt5/lib/pkgconfig:/opt/qt5/lib/pkgconfig:/usr/lib/qt5/lib:/opt/qt5/lib' % (
+			self.environ.get('PKG_CONFIG_PATH', ''), env.QTLIBS, env.QTLIBS)
+		for i in self.qt5_vars:
+			self.check_cfg(package=i, args='--cflags --libs', mandatory=False, force_static=force_static, pkg_config_path=path)
+
+@conf
+def simplify_qt5_libs(self):
+	"""
+	Since library paths make really long command-lines,
+	and since everything depends on qtcore, remove the qtcore ones from qtgui, etc
+	"""
+	env = self.env
+	def process_lib(vars_, coreval):
+		for d in vars_:
+			var = d.upper()
+			if var == 'QTCORE':
+				continue
+
+			value = env['LIBPATH_'+var]
+			if value:
+				core = env[coreval]
+				accu = []
+				for lib in value:
+					if lib in core:
+						continue
+					accu.append(lib)
+				env['LIBPATH_'+var] = accu
+	process_lib(self.qt5_vars,       'LIBPATH_QTCORE')
+
+@conf
+def add_qt5_rpath(self):
+	"""
+	Defines rpath entries for Qt libraries
+	"""
+	env = self.env
+	if getattr(Options.options, 'want_rpath', False):
+		def process_rpath(vars_, coreval):
+			for d in vars_:
+				var = d.upper()
+				value = env['LIBPATH_' + var]
+				if value:
+					core = env[coreval]
+					accu = []
+					for lib in value:
+						if var != 'QTCORE':
+							if lib in core:
+								continue
+						accu.append('-Wl,--rpath='+lib)
+					env['RPATH_' + var] = accu
+		process_rpath(self.qt5_vars,       'LIBPATH_QTCORE')
+
+@conf
+def set_qt5_libs_to_check(self):
+	self.qt5_vars = Utils.to_list(getattr(self, 'qt5_vars', []))
+	if not self.qt5_vars:
+		dirlst = Utils.listdir(self.env.QTLIBS)
+
+		pat = self.env.cxxshlib_PATTERN
+		if Utils.is_win32:
+			pat = pat.replace('.dll', '.lib')
+		if self.environ.get('QT5_FORCE_STATIC'):
+			pat = self.env.cxxstlib_PATTERN
+		if Utils.unversioned_sys_platform() == 'darwin':
+			pat = r"%s\.framework"
+		re_qt = re.compile(pat%'Qt5?(?P<name>.*)'+'$')
+		for x in dirlst:
+			m = re_qt.match(x)
+			if m:
+				self.qt5_vars.append("Qt5%s" % m.group('name'))
+		if not self.qt5_vars:
+			self.fatal('cannot find any Qt5 library (%r)' % self.env.QTLIBS)
+
+	qtextralibs = getattr(Options.options, 'qtextralibs', None)
+	if qtextralibs:
+		self.qt5_vars.extend(qtextralibs.split(','))
+
+@conf
+def set_qt5_defines(self):
+	if sys.platform != 'win32':
+		return
+	for x in self.qt5_vars:
+		y=x.replace('Qt5', 'Qt')[2:].upper()
+		self.env.append_unique('DEFINES_%s' % x.upper(), 'QT_%s_LIB' % y)
+
+def options(opt):
+	"""
+	Command-line options
+	"""
+	opt.add_option('--want-rpath', action='store_true', default=False, dest='want_rpath', help='enable the rpath for qt libraries')
+	for i in 'qtdir qtbin qtlibs'.split():
+		opt.add_option('--'+i, type='string', default='', dest=i)
+
+	opt.add_option('--translate', action='store_true', help='collect translation strings', dest='trans_qt5', default=False)
+	opt.add_option('--qtextralibs', type='string', default='', dest='qtextralibs', help='additional qt libraries on the system to add to default ones, comma separated')
+
diff --git a/wscript b/wscript
index ab4a0c8..e65a6ba 100644
--- a/wscript
+++ b/wscript
@@ -7,10 +7,10 @@
 
 def options(opt):
 
-    opt.load(['compiler_c', 'compiler_cxx', 'qt4', 'gnu_dirs'])
+    opt.load(['compiler_c', 'compiler_cxx', 'qt5', 'gnu_dirs'])
 
     opt.load(['default-compiler-flags', 'boost', 'protoc',
-              'doxygen', 'sphinx_build'],
+              'doxygen', 'sphinx_build', 'qt5', 'cryptopp'],
               tooldir=['waf-tools'])
 
     opt = opt.add_option_group('ChronotChat Options')
@@ -22,9 +22,9 @@
                    help='''Enable log4cxx''')
 
 def configure(conf):
-    conf.load(['compiler_c', 'compiler_cxx', 'qt4',
+    conf.load(['compiler_c', 'compiler_cxx', 'qt5',
                'default-compiler-flags', 'boost', 'protoc', 'gnu_dirs',
-               'doxygen', 'sphinx_build'])
+               'doxygen', 'sphinx_build', 'cryptopp'])
 
     conf.check_cfg(package='libndn-cxx', args=['--cflags', '--libs'],
                    uselib_store='NDN_CXX', mandatory=True)
@@ -50,10 +50,11 @@
                    " (http://redmine.named-data.net/projects/nfd/wiki/Boost_FAQ)")
         return
 
+    conf.check_cryptopp()
     conf.write_config_header('src/config.h')
 
 def build (bld):
-    feature_list = 'qt4 cxx'
+    feature_list = 'qt5 cxx'
     if bld.env["WITH_TESTS"]:
         feature_list += ' cxxstlib'
     else:
@@ -65,7 +66,7 @@
         defines = "WAF=1",
         source = bld.path.ant_glob(['src/*.cpp', 'src/*.ui', '*.qrc', 'logging.cc', 'src/*.proto']),
         includes = "src .",
-        use = "QTCORE QTGUI QTWIDGETS QTSQL NDN_CXX BOOST LOG4CXX SYNC",
+        use = "QT5CORE QT5GUI QT5WIDGETS QT5SQL NDN_CXX BOOST LOG4CXX SYNC CRYPTOPP",
         )
 
     # Unit tests
@@ -77,7 +78,6 @@
           use = 'BOOST ChronoChat',
           includes = "src .",
           install_path = None,
-          defines = 'TEST_CERT_PATH=\"%s/cert-test\"' %(bld.bldnode),
           )
 
     # Debug tools