dialer-app-0.1+14.04.20140415/0000755000015301777760000000000012323307356015772 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/cmake/0000755000015301777760000000000012323307356017052 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/cmake/modules/0000755000015301777760000000000012323307356020522 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/cmake/modules/FindLcov.cmake0000644000015301777760000000172012323306661023226 0ustar pbusernogroup00000000000000# - Find lcov # Will define: # # LCOV_EXECUTABLE - the lcov binary # GENHTML_EXECUTABLE - the genhtml executable # # Copyright (C) 2010 by Johannes Wienke # # This program is free software; you can redistribute it # and/or modify it under the terms of the GNU General # Public License as published by the Free Software Foundation; # either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # INCLUDE(FindPackageHandleStandardArgs) FIND_PROGRAM(LCOV_EXECUTABLE lcov) FIND_PROGRAM(GENHTML_EXECUTABLE genhtml) FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lcov DEFAULT_MSG LCOV_EXECUTABLE GENHTML_EXECUTABLE) # only visible in advanced view MARK_AS_ADVANCED(LCOV_EXECUTABLE GENHTML_EXECUTABLE) dialer-app-0.1+14.04.20140415/cmake/modules/EnableCoverageReport.cmake0000644000015301777760000001531112323306661025561 0ustar pbusernogroup00000000000000# - Creates a special coverage build type and target on GCC. # # Defines a function ENABLE_COVERAGE_REPORT which generates the coverage target # for selected targets. Optional arguments to this function are used to filter # unwanted results using globbing expressions. Moreover targets with tests for # the source code can be specified to trigger regenerating the report if the # test has changed # # ENABLE_COVERAGE_REPORT(TARGETS target... [FILTER filter...] [TESTS test targets...]) # # To generate a coverage report first build the project with # CMAKE_BUILD_TYPE=coverage, then call make test and afterwards make coverage. # # The coverage report is based on gcov. Depending on the availability of lcov # a HTML report will be generated and/or an XML report of gcovr is found. # The generated coverage target executes all found solutions. Special targets # exist to create e.g. only the xml report: coverage-xml. # # Copyright (C) 2010 by Johannes Wienke # # This program is free software; you can redistribute it # and/or modify it under the terms of the GNU General # Public License as published by the Free Software Foundation; # either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # INCLUDE(ParseArguments) FIND_PACKAGE(Lcov) FIND_PACKAGE(gcovr) FUNCTION(ENABLE_COVERAGE_REPORT) # argument parsing PARSE_ARGUMENTS(ARG "FILTER;TARGETS;TESTS" "" ${ARGN}) SET(COVERAGE_RAW_FILE "${CMAKE_BINARY_DIR}/coverage.raw.info") SET(COVERAGE_FILTERED_FILE "${CMAKE_BINARY_DIR}/coverage.info") SET(COVERAGE_REPORT_DIR "${CMAKE_BINARY_DIR}/coveragereport") SET(COVERAGE_XML_FILE "${CMAKE_BINARY_DIR}/coverage.xml") SET(COVERAGE_XML_COMMAND_FILE "${CMAKE_BINARY_DIR}/coverage-xml.cmake") # decide if there is any tool to create coverage data SET(TOOL_FOUND FALSE) IF(LCOV_FOUND OR GCOVR_FOUND) SET(TOOL_FOUND TRUE) ENDIF() IF(NOT TOOL_FOUND) MESSAGE(STATUS "Cannot enable coverage targets because neither lcov nor gcovr are found.") ENDIF() STRING(TOLOWER "${CMAKE_BUILD_TYPE}" COVERAGE_BUILD_TYPE) IF(CMAKE_COMPILER_IS_GNUCXX AND TOOL_FOUND AND "${COVERAGE_BUILD_TYPE}" MATCHES "coverage") MESSAGE(STATUS "Coverage support enabled for targets: ${ARG_TARGETS}") # create coverage build type SET(CMAKE_CXX_FLAGS_COVERAGE ${CMAKE_CXX_FLAGS_DEBUG} PARENT_SCOPE) SET(CMAKE_C_FLAGS_COVERAGE ${CMAKE_C_FLAGS_DEBUG} PARENT_SCOPE) SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_CONFIGURATION_TYPES} coverage PARENT_SCOPE) # instrument targets SET_TARGET_PROPERTIES(${ARG_TARGETS} PROPERTIES COMPILE_FLAGS --coverage LINK_FLAGS --coverage) # html report IF (LCOV_FOUND) MESSAGE(STATUS "Enabling HTML coverage report") # set up coverage target ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_RAW_FILE} COMMAND ${LCOV_EXECUTABLE} -c -d ${CMAKE_BINARY_DIR} -o ${COVERAGE_RAW_FILE} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Collecting coverage data" DEPENDS ${ARG_TARGETS} ${ARG_TESTS} VERBATIM) # filter unwanted stuff LIST(LENGTH ARG_FILTER FILTER_LENGTH) IF(${FILTER_LENGTH} GREATER 0) SET(FILTER COMMAND ${LCOV_EXECUTABLE}) FOREACH(F ${ARG_FILTER}) SET(FILTER ${FILTER} -r ${COVERAGE_FILTERED_FILE} ${F}) ENDFOREACH() SET(FILTER ${FILTER} -o ${COVERAGE_FILTERED_FILE}) ELSE() SET(FILTER "") ENDIF() ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_FILTERED_FILE} COMMAND ${LCOV_EXECUTABLE} -e ${COVERAGE_RAW_FILE} "${CMAKE_SOURCE_DIR}*" -o ${COVERAGE_FILTERED_FILE} ${FILTER} DEPENDS ${COVERAGE_RAW_FILE} COMMENT "Filtering recorded coverage data for project-relevant entries" VERBATIM) ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_REPORT_DIR} COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_REPORT_DIR} COMMAND ${GENHTML_EXECUTABLE} --legend --show-details -t "${PROJECT_NAME} test coverage" -o ${COVERAGE_REPORT_DIR} ${COVERAGE_FILTERED_FILE} DEPENDS ${COVERAGE_FILTERED_FILE} COMMENT "Generating HTML coverage report in ${COVERAGE_REPORT_DIR}" VERBATIM) ADD_CUSTOM_TARGET(coverage-html DEPENDS ${COVERAGE_REPORT_DIR}) ENDIF() # xml coverage report IF(GCOVR_FOUND) MESSAGE(STATUS "Enabling XML coverage report") # gcovr cannot write directly to a file so the execution needs to # be wrapped in a cmake file that generates the file output FILE(WRITE ${COVERAGE_XML_COMMAND_FILE} "SET(ENV{LANG} en)\n") FILE(APPEND ${COVERAGE_XML_COMMAND_FILE} "EXECUTE_PROCESS(COMMAND \"${GCOVR_EXECUTABLE}\" -x -r \"${CMAKE_SOURCE_DIR}\" OUTPUT_FILE \"${COVERAGE_XML_FILE}\" WORKING_DIRECTORY \"${CMAKE_BINARY_DIR}\")\n") ADD_CUSTOM_COMMAND(OUTPUT ${COVERAGE_XML_FILE} COMMAND ${CMAKE_COMMAND} ARGS -P ${COVERAGE_XML_COMMAND_FILE} COMMENT "Generating coverage XML report" VERBATIM) ADD_CUSTOM_TARGET(coverage-xml DEPENDS ${COVERAGE_XML_FILE}) ENDIF() # provide a global coverage target executing both steps if available SET(GLOBAL_DEPENDS "") IF(LCOV_FOUND) LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_REPORT_DIR}) ENDIF() IF(GCOVR_FOUND) LIST(APPEND GLOBAL_DEPENDS ${COVERAGE_XML_FILE}) ENDIF() IF(LCOV_FOUND OR GCOVR_FOUND) ADD_CUSTOM_TARGET(coverage DEPENDS ${GLOBAL_DEPENDS}) ENDIF() ENDIF() ENDFUNCTION() dialer-app-0.1+14.04.20140415/cmake/modules/Findgcovr.cmake0000644000015301777760000000170212323306661023443 0ustar pbusernogroup00000000000000# - Find gcovr scrip # Will define: # # GCOVR_EXECUTABLE - the gcovr script # # Uses: # # GCOVR_ROOT - root to search for the script # # Copyright (C) 2011 by Johannes Wienke # # This program is free software; you can redistribute it # and/or modify it under the terms of the GNU General # Public License as published by the Free Software Foundation; # either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # INCLUDE(FindPackageHandleStandardArgs) FIND_PROGRAM(GCOVR_EXECUTABLE gcovr HINTS ${GCOVR_ROOT} "${GCOVR_ROOT}/bin") FIND_PACKAGE_HANDLE_STANDARD_ARGS(gcovr DEFAULT_MSG GCOVR_EXECUTABLE) # only visible in advanced view MARK_AS_ADVANCED(GCOVR_EXECUTABLE) dialer-app-0.1+14.04.20140415/cmake/modules/ParseArguments.cmake0000644000015301777760000000340612323306661024465 0ustar pbusernogroup00000000000000# Parse arguments passed to a function into several lists separated by # upper-case identifiers and options that do not have an associated list e.g.: # # SET(arguments # hello OPTION3 world # LIST3 foo bar # OPTION2 # LIST1 fuz baz # ) # PARSE_ARGUMENTS(ARG "LIST1;LIST2;LIST3" "OPTION1;OPTION2;OPTION3" ${arguments}) # # results in 7 distinct variables: # * ARG_DEFAULT_ARGS: hello;world # * ARG_LIST1: fuz;baz # * ARG_LIST2: # * ARG_LIST3: foo;bar # * ARG_OPTION1: FALSE # * ARG_OPTION2: TRUE # * ARG_OPTION3: TRUE # # taken from http://www.cmake.org/Wiki/CMakeMacroParseArguments MACRO(PARSE_ARGUMENTS prefix arg_names option_names) SET(DEFAULT_ARGS) FOREACH(arg_name ${arg_names}) SET(${prefix}_${arg_name}) ENDFOREACH(arg_name) FOREACH(option ${option_names}) SET(${prefix}_${option} FALSE) ENDFOREACH(option) SET(current_arg_name DEFAULT_ARGS) SET(current_arg_list) FOREACH(arg ${ARGN}) SET(larg_names ${arg_names}) LIST(FIND larg_names "${arg}" is_arg_name) IF (is_arg_name GREATER -1) SET(${prefix}_${current_arg_name} ${current_arg_list}) SET(current_arg_name ${arg}) SET(current_arg_list) ELSE (is_arg_name GREATER -1) SET(loption_names ${option_names}) LIST(FIND loption_names "${arg}" is_option) IF (is_option GREATER -1) SET(${prefix}_${arg} TRUE) ELSE (is_option GREATER -1) SET(current_arg_list ${current_arg_list} ${arg}) ENDIF (is_option GREATER -1) ENDIF (is_arg_name GREATER -1) ENDFOREACH(arg) SET(${prefix}_${current_arg_name} ${current_arg_list}) ENDMACRO(PARSE_ARGUMENTS) dialer-app-0.1+14.04.20140415/tests/0000755000015301777760000000000012323307356017134 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/tests/autopilot/0000755000015301777760000000000012323307356021154 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/0000755000015301777760000000000012323307356023254 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/fixture_setup.py0000644000015301777760000000307412323306661026536 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # # Copyright 2014 Canonical Ltd. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . """Set up and clean up fixtures for the Inter-app integration tests.""" import fixtures import subprocess class TestabilityEnvironment(fixtures.Fixture): def setUp(self): super(TestabilityEnvironment, self).setUp() self._set_testability_environment_variable() self.addCleanup(self._reset_environment_variable) def _set_testability_environment_variable(self): """Make sure every app loads the testability driver.""" subprocess.call( [ '/sbin/initctl', 'set-env', '--global', 'QT_LOAD_TESTABILITY=1' ] ) def _reset_environment_variable(self): """Resets the previously added env variable.""" subprocess.call( [ '/sbin/initctl', 'unset-env', 'QT_LOAD_TESTABILITY' ] ) dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/emulators.py0000644000015301777760000000707112323306661025644 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # Copyright 2013 Canonical # # This file is part of dialer-app. # # dialer-app is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. """Dialer app autopilot emulators.""" from ubuntuuitoolkit import emulators as toolkit_emulators class MainView(toolkit_emulators.MainView): def __init__(self, *args): super(MainView, self).__init__(*args) @property def dialer_page(self): return self.wait_select_single(DialerPage) @property def live_call_page(self): return self.wait_select_single(LiveCall) def get_first_log(self): return self.wait_select_single(objectName="historyDelegate0") def _click_button(self, button): """Generic way to click a button""" button.visible.wait_for(True) self.pointing_device.click_object(button) return button class LiveCall(MainView): def get_elapsed_call_time(self): """Return the elapsed call time""" return self.wait_select_single(objectName='stopWatch').elapsed def _get_hangup_button(self): """Return the hangup button""" return self.wait_select_single(objectName='hangupButton') def click_hangup_button(self): """Click and return the hangup page""" self.visible.wait_for(True) return self._click_button(self._get_hangup_button()) class DialerPage(MainView): def _get_keypad_entry(self): return self.select_single("KeypadEntry") def _get_keypad_keys(self): return self.select_many("KeypadButton") def _get_keypad_key(self, number): buttons_dict = { "0": "buttonZero", "1": "buttonOne", "2": "buttonTwo", "3": "buttonThree", "4": "buttonFour", "5": "buttonFive", "6": "buttonSix", "7": "buttonSeven", "8": "buttonEight", "9": "buttonNine", "*": "buttonAsterisk", "#": "buttonHash", } return self.select_single("KeypadButton", objectName=buttons_dict[number]) def _get_erase_button(self): """Return the erase button""" return self.select_single("CustomButton", objectName="eraseButton") def _get_call_button(self): """Return the call button""" return self.select_single(objectName="callButton") def click_call_button(self): """Click and return the call button""" return self._click_button(self._get_call_button()) def click_erase_button(self): """Click the erase button""" self._click_button(self._get_erase_button()) def click_keypad_button(self, keypad_button): """click the keypad button :param keypad_button: the clicked keypad_button """ self._click_button(keypad_button) def dial_number(self, number): """Dial given number (string) on the keypad and return keypad entry :param number: the number to dial """ for digit in number: button = self._get_keypad_key(digit) self.click_keypad_button(button) entry = self._get_keypad_entry() entry.value.wait_for(number) return entry def call_number(self, number): """Dial number and call return call_button""" self.dial_number(number) self.click_call_button() return self.get_root_instance().wait_select_single(LiveCall) dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/tests/0000755000015301777760000000000012323307356024416 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/tests/__init__.py0000644000015301777760000000644112323306661026532 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # Copyright 2012, 2013 Canonical # # This file is part of dialer-app. # # dialer-app is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. """Dialer App autopilot tests.""" from autopilot.input import Mouse, Touch, Pointer from autopilot.introspection import get_proxy_object_for_existing_process from autopilot.matchers import Eventually from autopilot.platform import model from autopilot.testcase import AutopilotTestCase from testtools.matchers import Equals from ubuntuuitoolkit import emulators as toolkit_emulators from dialer_app import emulators from dialer_app import helpers import os import sys import time import logging import subprocess logger = logging.getLogger(__name__) # ensure we have an ofono account; we assume that we have these tools, # otherwise we consider this a test failure (missing dependencies) helpers.ensure_ofono_account() class DialerAppTestCase(AutopilotTestCase): """A common test case class that provides several useful methods for Dialer App tests. """ if model() == 'Desktop': scenarios = [ ('with mouse', dict(input_device_class=Mouse)), ] else: scenarios = [ ('with touch', dict(input_device_class=Touch)), ] local_location = "../../src/dialer-app" def setUp(self): self.pointing_device = Pointer(self.input_device_class.create()) super(DialerAppTestCase, self).setUp() if os.path.exists(self.local_location): self.launch_test_local() else: self.launch_test_installed() self.assertThat(self.main_view.visible, Eventually(Equals(True))) def launch_test_local(self): self.app = self.launch_test_application( self.local_location, app_type='qt', emulator_base=toolkit_emulators.UbuntuUIToolkitEmulatorBase) def launch_test_installed(self): if model() == 'Desktop': self.app = self.launch_test_application( "dialer-app", emulator_base=toolkit_emulators.UbuntuUIToolkitEmulatorBase) else: self.app = self.launch_test_application( "dialer-app", "--desktop_file_hint=" "/usr/share/applications/dialer-app.desktop", app_type='qt', emulator_base=toolkit_emulators.UbuntuUIToolkitEmulatorBase) def _get_app_proxy_object(self, app_name): return get_proxy_object_for_existing_process( self._get_app_pid(app_name), emulator_base=toolkit_emulators.UbuntuUIToolkitEmulatorBase ) def _get_app_pid(self, app): for i in range(10): try: return int(subprocess.check_output(['pidof', app]).strip()) except subprocess.CalledProcessError: # application not started yet, check in a second time.sleep(1) def _click_object(self, objectName): self.pointing_device.click_object( self.app.select_single(objectName=objectName) ) @property def main_view(self): return self.app.select_single(emulators.MainView) dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/tests/test_logs.py0000644000015301777760000000742512323306661027001 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # Copyright 2014 Canonical # Author: Omer Akram # # This file is part of dialer-app. # # dialer-app is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. """Tests for the Dialer App""" from __future__ import absolute_import from autopilot.matchers import Eventually from autopilot.platform import model from testtools.matchers import Equals from testtools import skipIf from dialer_app.tests import DialerAppTestCase from dialer_app import fixture_setup import os import subprocess import time @skipIf(model() == 'Desktop', 'only run on Ubuntu touch platforms') class TestCallLogs(DialerAppTestCase): """Tests for the call log panel.""" db_file = 'history.sqlite' local_db_dir = 'dialer_app/data/' system_db_dir = '/usr/lib/python2.7/dist-packages/dialer_app/data/' devnull = open(os.devnull, 'w') def setUp(self): if os.path.exists('../../src/dialer-app'): database = self.local_db_dir + self.db_file else: database = self.system_db_dir + self.db_file subprocess.call(['pkill', 'history-daemon']) os.environ['HISTORY_SQLITE_DBPATH'] = database subprocess.Popen(['history-daemon'], stderr=self.devnull) super(TestCallLogs, self).setUp() testability_environment = fixture_setup.TestabilityEnvironment() self.useFixture(testability_environment) self.main_view.switch_to_tab('callLogTab') self._ensure_call_log_item_expanded() self.addCleanup(subprocess.call, ['pkill', '-f', 'history-daemon']) def _ensure_call_log_item_expanded(self): history_item = self.main_view.get_first_log() self.pointing_device.click_object(history_item) history_item.detailsShown.wait_for(True) history_item.animating.wait_for(False) def _get_main_view(self, proxy_object): return proxy_object.select_single('QQuickView') def test_call_log_item_opens_messaging(self): """Ensure tapping on 'send text message' item of a call log opens the messaging app. """ self._click_object('logMessageButton') self.addCleanup(subprocess.call, ['pkill', '-f', 'messaging-app']) msg_app = self._get_app_proxy_object('messaging-app') msg_app_view = self._get_main_view(msg_app) msgs_pane = msg_app.select_single(objectName='messagesPage') self.assertThat(msg_app_view.visible, Eventually(Equals(True))) self.assertThat(msgs_pane.visible, Eventually(Equals(True))) self.assertThat(msgs_pane.title, Eventually(Equals("800"))) def test_add_new_contact_from_log(self): """Ensure tapping on 'add new contact' item of a call log opens the address-book app to allow adding new contact. """ self._click_object('logAddContactButton') save_contact_dialog = self.app.select_single( objectName='saveContactDialog' ) self.assertThat(save_contact_dialog.opacity, Eventually(Equals(1))) self._click_object('addNewContactButton') self.addCleanup(subprocess.call, ['pkill', '-f', 'address-book-app']) cntct_app = self._get_app_proxy_object('address-book-app') cntct_app_view = self._get_main_view(cntct_app) cntct_edit_pane = cntct_app.select_single( objectName='contactEditorPage') numbr_box = cntct_app.select_single(objectName="phoneNumber_0") self.assertThat(cntct_app_view.visible, Eventually(Equals(True))) self.assertThat(cntct_edit_pane.visible, Eventually(Equals(True))) self.assertThat(numbr_box.text, Eventually(Equals("800"))) dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/tests/test_dialer.py0000644000015301777760000000335312323306661027271 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # Copyright 2012 Canonical # # This file is part of dialer-app. # # dialer-app is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. """Tests for the Dialer App""" from __future__ import absolute_import from autopilot.matchers import Eventually from testtools.matchers import Equals from dialer_app.tests import DialerAppTestCase class TestDialer(DialerAppTestCase): """Tests for the Call panel.""" def setUp(self): super(TestDialer, self).setUp() def test_keypad_buttons(self): keypad_entry = self.main_view.dialer_page._get_keypad_entry() keypad_keys = self.main_view.dialer_page._get_keypad_keys() text = "" for key in keypad_keys: self.main_view.dialer_page.click_keypad_button(key) text += key.label self.assertThat(keypad_entry.value, Eventually(Equals(text))) def test_erase_button(self): keypad_entry = self.main_view.dialer_page.dial_number("123") self.main_view.dialer_page.click_erase_button() self.assertThat( keypad_entry.value, Eventually(Equals("12")) ) self.main_view.dialer_page.click_erase_button() self.main_view.dialer_page.click_erase_button() self.assertThat( keypad_entry.value, Eventually(Equals("")) ) def test_dialer_view_is_default(self): """Ensure the dialer view is the default view on app startup.""" dialer_page = self.main_view.dialer_page self.assertThat(dialer_page.visible, Eventually(Equals(True))) dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/tests/test_calls.py0000644000015301777760000001344712323306661027134 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # Copyright 2013 Canonical # Author: Martin Pitt # # This file is part of dialer-app. # # dialer-app is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. """Tests for the Dialer App using ofono-phonesim""" from __future__ import absolute_import import subprocess import os import time from autopilot.matchers import Eventually from testtools.matchers import Equals, NotEquals, MismatchError from testtools import skipIf, skipUnless from dialer_app.tests import DialerAppTestCase from dialer_app import helpers @skipUnless(helpers.is_phonesim_running(), "this test needs to run under with-ofono-phonesim") @skipIf(os.uname()[2].endswith("maguro"), "tests cause Unity crashes on maguro") class TestCalls(DialerAppTestCase): """Tests for simulated phone calls.""" def setUp(self): # provide clean history self.history = os.path.expanduser( "~/.local/share/history-service/history.sqlite") if os.path.exists(self.history): subprocess.call(["pkill", "history-daemon"]) os.rename(self.history, self.history + ".orig") # make sure the modem is running on phonesim subprocess.call(['mc-tool', 'update', 'ofono/ofono/account0', 'string:modem-objpath=/phonesim']) subprocess.call(['mc-tool', 'reconnect', 'ofono/ofono/account0']) super(TestCalls, self).setUp() # should have an empty history at the beginning of each test self.history_list = self.app.select_single(objectName="historyList") self.assertThat(self.history_list.visible, Equals(False)) self.assertThat(self.history_list.count, Equals(0)) def tearDown(self): super(TestCalls, self).tearDown() # ensure that there are no leftover calls in case of failed tests subprocess.call(["/usr/share/ofono/scripts/hangup-all"]) # restore history if os.path.exists(self.history + ".orig"): subprocess.call(["pkill", "history-daemon"]) os.rename(self.history + ".orig", self.history) # set the modem objpath in telepathy-ofono to the real modem subprocess.call(['mc-tool', 'update', 'ofono/ofono/account0', 'string:modem-objpath=/ril_0']) subprocess.call(['mc-tool', 'reconnect', 'ofono/ofono/account0']) def test_outgoing_noanswer(self): """Outgoing call to a normal number, no answer""" number = "144" self.main_view.dialer_page.call_number(number) self.assertThat( self.main_view.live_call_page.title, Eventually(Equals(number))) self.main_view.live_call_page.click_hangup_button() # log should show call to "Unknown" self.assertThat(self.history_list.count, Eventually(Equals(1))) self.assertThat(self.history_list.select_single( "Label", text="Unknown"), NotEquals(None)) def test_outgoing_answer_local_hangup(self): """Outgoing call, remote answers, local hangs up""" # 06123xx causes accept after xx seconds number = "0612302" self.main_view.dialer_page.call_number(number) self.assertThat( self.main_view.live_call_page.title, Eventually(Equals(number))) # stop watch should start counting elapsed_time = self.main_view.live_call_page.get_elapsed_call_time() self.assertIn("00:0", elapsed_time) # should still be connected after some time time.sleep(3) self.assertIn("00:0", elapsed_time) self.main_view.live_call_page.click_hangup_button() def test_outgoing_answer_remote_hangup(self): """Outgoing call, remote answers and hangs up""" number = "0512303" # 05123xx causes immediate accept and hangup after xx seconds self.main_view.dialer_page.call_number(number) self.assertThat( self.main_view.live_call_page.title, Eventually(Equals(number))) # stop watch should start counting elapsed_time = self.main_view.live_call_page.get_elapsed_call_time() self.assertIn("00:0", elapsed_time) # after remote hangs up, should switch to call log page and show call # to "Unknown" self.assertThat(self.history_list.visible, Eventually(Equals(True))) self.assertThat(self.history_list.count, Eventually(Equals(1))) self.assertThat(self.history_list.select_single( "Label", text="Unknown"), NotEquals(None)) def test_incoming(self): """Incoming call""" number = "1234567" helpers.invoke_incoming_call() # wait for incoming call, accept; it would be nicer to fake-click the # popup notification, but as this isn't generated by dialer-app it # isn't exposed to autopilot helpers.wait_for_incoming_call() time.sleep(1) # let's hear the ringing sound for a second :-) subprocess.check_call( [ "dbus-send", "--session", "--print-reply", "--dest=com.canonical.Approver", "/com/canonical/Approver", "com.canonical.TelephonyServiceApprover.AcceptCall" ], stdout=subprocess.PIPE) # call back is from that number self.assertThat( self.main_view.live_call_page.title, Eventually(Equals(number))) # stop watch should start counting elapsed_time = self.main_view.live_call_page.get_elapsed_call_time() self.assertIn("00:0", elapsed_time) try: self.main_view.live_call_page.click_hangup_button() except MismatchError as e: print('Expected failure due to known Mir crash ' '(https://launchpad.net/bugs/1240400): %s' % e) dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/__init__.py0000644000015301777760000000060612323306661025365 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # Copyright 2012 Canonical # # This file is part of dialer-app. # # dialer-app is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. """Marumbi autopilot tests and emulators - top level package.""" dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/data/0000755000015301777760000000000012323307356024165 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/data/history.sqlite0000644000015301777760000004000012323306661027101 0ustar pbusernogroup00000000000000SQLite format 3@  -    X5 Y3 ofono/ofono/account0800800:بده جنوری 22 20:17:29 20142014-01-22T20:17:29 5 ofono/ofono/account0800800 ] 5Y3ofono/ofono/account0800800:بده جنوری 22 20:17:29 2014self2014-01-22T20:17:29 ON voice_events FOR EACH ROW BEGIN UPDATE threads SET count=(SELECT count(eventId) FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId) WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; UPDATE threads SET unreadCount=(SELECT count(eventId) FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId AND newEvent='true') WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; UPDATE threads SET lastEventId=(SELECT eventId FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; UPDATE threads SET lastEventTimestamp=(SELECT timestamp FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; END ON voice_events FOR EACH ROW BEGIN UPDATE threads SET count=(SELECT count(eventId) FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId) WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; UPDATE threads SET unreadCount=(SELECT count(eventId) FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId AND newEvent='true') WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; UPDATE threads SET lastEventId=(SELECT eventId FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; UPDATE threads SET lastEventTimestamp=(SELECT timestamp FROM voice_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=1; END W))ktableschema_versionschema_versionCREATE TABLE schema_version ( version int )^tablethreadsthreadsCREATE TABLE threads ( accountId varchar(255), threadId varchar(255), type tinyint, lastEventId varchar(255), lastEventTimestamp datetime, count int, unreadCount int )?33%tablethread_participantsthread_participantsCREATE TABLE thread_participants ( accountId varchar(255), threadId varchar(255), type tinyint, participantId varchar(255) ){%%9tablevoice_eventsvoice_eventsCREATE TABLE voice_events ( accountId varchar(255), threadId varchar(255), eventId varchar(255), senderId varchar(255), timestamp datetime, newEvent bool, duration int, missed bool )iC%utriggervoice_events_insert_triggervoice_eventsCREATE TRIGGER voice_events_insert_trigger AFTER INSERT ON voice_events FOR EACH ROW BEGIN UPDATE threads SET count=(SELECT count(eventId) FROM voice_events WHERE accountId=old.accountId AND threadId=old.threadId) WHERE accountId=old.accountId AND threadId=old.threadId AND type=1; UPDATE threads SET unreadCount=(SELECT count(eventId) FROM voice_events WHERE accountId=old.accountId AND threadId=old.threadId AND newEvent='true') WHERE accountId=old.accountId AND threadId=old.threadId AND type=1; UPDATE threads SET lastEventId=(SELECT eventId FROM voice_events WHERE accountId=old.accountId AND threadId=old.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=old.accountId AND threadId=old.threadId AND type=1; UPDATE threads SET lastEventTimestamp=(SELECT timestamp FROM voice_events WHERE accountId=old.accountId AND threadId=old.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=old.accountId AND threadId=old.threadId AND type=1; END ciC%utriggervoice_events_update_triggervoice_eventsCREATE TRIGGER voice_events_update_trigger AFTER UPDATEiC%utriggervoice_events_delete_triggervoice_eventsCREATE TRIGGER voice_events_delete_trigger AFTER DELETE 99Stabletext_event_attachmentstext_event_attachments CREATE TABLE text_event_attachments ( accountId varchar(255), threadId varchar(255), eventId varchar(255), attachmentId varchar(255), contentType varchar(255), filePath varchar(255), status tinyint ) 9Etriggerthreads_delete_triggerthreadsCREATE TRIGGER threads_delete_trigger AFTER DELETE ON threads FOR EACH ROW BEGIN DELETE FROM thread_participants WHERE accountId=old.accountId AND threadId=old.threadId AND type=old.type; END   6q A# triggertext_events_delete_triggertext_eventsCREATE TRIGGER text_events_delete_trigger AFTER DELETE ON text_events FOR EACH ROW BEGIN UPDATE threads SET count=(SELECT count(eventId) FROM text_events WHERE accountId=old.accounta A#itriggertext_events_update_triggertext_eventsCREATE TRIGGER text_events_update_trigger AFTER UPDa A#itriggertext_events_insert_triggertext_eventsCREATE TRIGGER text_events_insert_trigger AFTER INSY ##ytabletext_eventstext_events CREATE TABLE text_events ( accountId varchar(255), threadId varchar(255), eventId varchar(255), senderId varchar(255), timestamp datetime, newEvent bool, message varchar(512), messageType tinyint, messageStatus tinyint, readTimestamp datetime, subject varchar(256) )ERT ON text_events FOR EACH ROW BEGIN UPDATE threads SET count=(SELECT count(eventId) FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId) WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; UPDATE threads SET unreadCount=(SELECT count(eventId) FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId AND newEvent='true') WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; UPDATE threads SET lastEventId=(SELECT eventId FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; UPDATE threads SET lastEventTimestamp=(SELECT timestamp FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; ENDATE ON text_events FOR EACH ROW BEGIN UPDATE threads SET count=(SELECT count(eventId) FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId) WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; UPDATE threads SET unreadCount=(SELECT count(eventId) FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId AND newEvent='true') WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; UPDATE threads SET lastEventId=(SELECT eventId FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; UPDATE threads SET lastEventTimestamp=(SELECT timestamp FROM text_events WHERE accountId=new.accountId AND threadId=new.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=new.accountId AND threadId=new.threadId AND type=0; ENDId AND threadId=old.threadId) WHERE accountId=old.accountId AND threadId=old.threadId AND type=0; UPDATE threads SET unreadCount=(SELECT count(eventId) FROM text_events WHERE accountId=old.accountId AND threadId=old.threadId AND newEvent='true') WHERE accountId=old.accountId AND threadId=old.threadId AND type=0; UPDATE threads SET lastEventId=(SELECT eventId FROM text_events WHERE accountId=old.accountId AND threadId=old.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=old.accountId AND threadId=old.threadId AND type=0; UPDATE threads SET lastEventTimestamp=(SELECT timestamp FROM text_events WHERE accountId=old.accountId AND threadId=old.threadId ORDER BY timestamp DESC LIMIT 1) WHERE accountId=old.accountId AND threadId=old.threadId AND type=0; DELETE from text_event_attachments WHERE accountId=old.accountId AND threadId=old.threadId AND eventId=old.eventId; ENDdialer-app-0.1+14.04.20140415/tests/autopilot/dialer_app/helpers.py0000644000015301777760000000531612323306661025273 0ustar pbusernogroup00000000000000# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*- # # Copyright 2014 Canonical Ltd. # Author: Omer Akram # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 3, as published # by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . from autopilot.platform import model import subprocess import sys import time import dbus def wait_for_incoming_call(): """Wait up to 5 s for an incoming phone call""" timeout = 10 while timeout >= 0: out = subprocess.check_output( ['/usr/share/ofono/scripts/list-calls'], stderr=subprocess.PIPE, universal_newlines=True) if 'State = incoming' in out: break timeout -= 1 time.sleep(0.5) else: raise RuntimeError('timed out waiting for incoming phonesim call') # on desktop, notify-osd generates a persistent popup, clean this up if model() == 'Desktop': subprocess.call(['pkill', '-f', 'notify-osd']) def invoke_incoming_call(): """Invoke an incoming call for test purpose.""" # magic number 199 will cause a callback from 1234567; dialing 199 # itself will fail, so quiesce the error bus = dbus.SystemBus() vcm = dbus.Interface(bus.get_object('org.ofono', '/phonesim'), 'org.ofono.VoiceCallManager') try: vcm.Dial('199', 'default') except dbus.DBusException: pass def is_phonesim_running(): """Determine whether we are running with phonesim.""" try: out = subprocess.check_output( [ '/usr/share/ofono/scripts/list-modems', ], stderr=subprocess.PIPE, universal_newlines=True) return out.startswith('[ /phonesim ]') except subprocess.CalledProcessError: return False def ensure_ofono_account(): if not _is_ofono_account_set(): subprocess.check_call(['ofono-setup']) if not _is_ofono_account_set(): sys.stderr.write('ofono-setup failed to create ofono account!\n') sys.exit(1) def _is_ofono_account_set(): mc_tool = subprocess.Popen( [ 'mc-tool', 'list', ], stdout=subprocess.PIPE, universal_newlines=True) mc_accounts = mc_tool.communicate()[0] return 'ofono/ofono/account' in mc_accounts dialer-app-0.1+14.04.20140415/tests/CMakeLists.txt0000644000015301777760000000045512323306661021676 0ustar pbusernogroup00000000000000set(AUTOPILOT_DIR autopilot/dialer_app) execute_process(COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE PYTHON_PACKAGE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE) install(DIRECTORY ${AUTOPILOT_DIR} DESTINATION ${PYTHON_PACKAGE_DIR} ) dialer-app-0.1+14.04.20140415/COPYING.CC-BY-SA-30000644000015301777760000005333612323306661020272 0ustar pbusernogroup00000000000000Creative Commons Legal Code Attribution-ShareAlike 3.0 Unported CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE. License THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. 1. Definitions a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. 2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. 3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, d. to Distribute and Publicly Perform Adaptations. e. For the avoidance of doubt: i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. 4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. 5. Representations, Warranties and Disclaimer UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 7. Termination a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. 8. Miscellaneous a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. Creative Commons Notice Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor. Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of the License. Creative Commons may be contacted at http://creativecommons.org/. dialer-app-0.1+14.04.20140415/config.h.in0000644000015301777760000000353412323306661020020 0ustar pbusernogroup00000000000000/* * Copyright (C) 2012-2013 Canonical, Ltd. * * Authors: * Olivier Tilloy * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ // Qt #include #include #include #include #include inline bool isRunningInstalled() { static bool installed = (QCoreApplication::applicationDirPath() == QDir(("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_BINDIR@")).canonicalPath()); return installed; } inline QString dialerAppDirectory() { if (isRunningInstalled()) { return QString("@CMAKE_INSTALL_PREFIX@/@DIALER_APP_DIR@/"); } else { return QString("@CMAKE_SOURCE_DIR@/src/qml/"); } } inline QString ubuntuPhonePluginPath() { if (isRunningInstalled()) { return QString::null; } else { return QString("@CMAKE_SOURCE_DIR@/"); } } inline bool isDialerApplicationInstance() { return QCoreApplication::applicationName() == "DialerApp"; } inline bool isDialerApplicationRunning() { QDBusReply reply = QDBusConnection::sessionBus().interface()->isServiceRegistered("com.canonical.DialerApp"); if (reply.isValid()) { return reply.value(); } return false; } dialer-app-0.1+14.04.20140415/HACKING0000644000015301777760000000237012323306661016761 0ustar pbusernogroup00000000000000Test coverage ------------- dialer-app has autopilot tests which cover basic use cases like making an outgoing call and receiving an incoming call. They are integration tests which cover dialer-app itself, all the user session APIs below it (libofono-qt, telephony-service, telepathy-ofono), and the ofono service on the system D-BUS. They assume that ofono has been set up with the "phonesim" driver to avoid depending on any particular hardware; if phonesim is not set up, the tests will be skipped. The tests should run on both a desktop (like an Ubuntu desktop live session or Otto [http://launchpad.net/otto]) and a phone environment. How to run the tests -------------------- The easiest and standard way across Ubuntu phablet packages is to install the dialer-app-autopilot package and run the tests from the system Python path: sudo apt-get install dialer-app-autopilot autopilot run dialer_app dialer-app-autopilot depends on ofono-phonesim-autostart to set up the simulated Modem automatically, and all the other additional test dependencies for autopilot. You can also run the tests right out of the source tree for development: cd tests/autopilot autopilot run dialer_app (but you still need all the dialer-app-autopilot dependencies installed). dialer-app-0.1+14.04.20140415/po/0000755000015301777760000000000012323307356016410 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/po/CMakeLists.txt0000644000015301777760000000260512323306661021151 0ustar pbusernogroup00000000000000project(dialer-app-translations) # for dh_translations to extract the domain # (regarding syntax consistency, see http://pad.lv/1181187) set (GETTEXT_PACKAGE "dialer-app") include(FindGettext) set(DOMAIN dialer-app) set(POT_FILE ${DOMAIN}.pot) file(GLOB PO_FILES *.po) file(GLOB_RECURSE I18N_SRCS RELATIVE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src/*.desktop.in ${CMAKE_SOURCE_DIR}/src/*.qml ${CMAKE_SOURCE_DIR}/src/*.js ${CMAKE_SOURCE_DIR}/src/*.cpp ) foreach(PO_FILE ${PO_FILES}) get_filename_component(LANG ${PO_FILE} NAME_WE) gettext_process_po_files(${LANG} ALL PO_FILES ${PO_FILE}) set(INSTALL_DIR ${CMAKE_INSTALL_LOCALEDIR}/${LANG}/LC_MESSAGES) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.gmo DESTINATION ${INSTALL_DIR} RENAME ${DOMAIN}.mo) endforeach(PO_FILE) find_program(XGETTEXT_EXECUTABLE xgettext) if(XGETTEXT_EXECUTABLE) add_custom_target(${POT_FILE}) add_custom_command(TARGET ${POT_FILE} COMMAND ${XGETTEXT_EXECUTABLE} --c++ --qt --add-comments=TRANSLATORS --keyword=tr --keyword=tr:1,2 -D ${CMAKE_SOURCE_DIR} -s -p ${CMAKE_CURRENT_SOURCE_DIR} -o ${POT_FILE} ${I18N_SRCS} ) foreach(PO_FILE ${PO_FILES}) add_custom_command(TARGET ${POT_FILE} COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} ${PO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${POT_FILE} -o ${PO_FILE} ) endforeach(PO_FILE) endif() dialer-app-0.1+14.04.20140415/po/pt_BR.po0000644000015301777760000000667612323306661017773 0ustar pbusernogroup00000000000000# Brazilian Portuguese translation for dialer-app # Copyright (c) 2013 Canonical Ltd 2013 # This file is distributed under the same license as the dialer-app package. # FIRST AUTHOR , 2013. # msgid "" msgstr "" "Project-Id-Version: dialer-app\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-10-01 11:46+0200\n" "PO-Revision-Date: 2013-06-14 21:06+0000\n" "Last-Translator: \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Launchpad-Export-Date: 2013-06-15 06:21+0000\n" "X-Generator: Launchpad (build 16667)\n" #: src/qml/DialerPage/Keypad.qml:201 msgid "#" msgstr "" #: src/qml/HistoryPage/dateUtils.js:62 #, qt-format msgid "%1 hour call" msgid_plural "%1 hours call" msgstr[0] "" msgstr[1] "" #: src/qml/HistoryPage/dateUtils.js:64 #, qt-format msgid "%1 minute call" msgid_plural "%1 minutes call" msgstr[0] "" msgstr[1] "" #: src/qml/HistoryPage/dateUtils.js:66 #, qt-format msgid "%1 second call" msgid_plural "%1 seconds call" msgstr[0] "" msgstr[1] "" #: src/qml/DialerPage/Keypad.qml:178 msgid "*" msgstr "" #: src/qml/DialerPage/Keypad.qml:188 msgid "+" msgstr "" #: src/qml/DialerPage/Keypad.qml:187 msgid "0" msgstr "" #: src/qml/DialerPage/Keypad.qml:85 msgid "1" msgstr "" #: src/qml/DialerPage/Keypad.qml:96 msgid "2" msgstr "" #: src/qml/DialerPage/Keypad.qml:106 msgid "3" msgstr "" #: src/qml/DialerPage/Keypad.qml:116 msgid "4" msgstr "" #: src/qml/DialerPage/Keypad.qml:126 msgid "5" msgstr "" #: src/qml/DialerPage/Keypad.qml:136 msgid "6" msgstr "" #: src/qml/DialerPage/Keypad.qml:146 msgid "7" msgstr "" #: src/qml/DialerPage/Keypad.qml:156 msgid "8" msgstr "" #: src/qml/DialerPage/Keypad.qml:166 msgid "9" msgstr "" #: src/qml/DialerPage/Keypad.qml:97 msgid "ABC" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:108 msgid "Add to existing contact" msgstr "" #: src/qml/MainPage.qml:53 msgid "Call log" msgstr "" #: src/qml/MainPage.qml:43 msgid "Contacts" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:110 msgid "Create new contact" msgstr "" #: src/qml/DialerPage/Keypad.qml:107 msgid "DEF" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:43 msgid "Delete" msgstr "" #: src/dialer-app.desktop.in:3 msgid "Dialer" msgstr "" #: src/dialer-app.desktop.in:4 msgid "Dialer App" msgstr "" #: src/dialer-app.desktop.in:5 msgid "Dialer application" msgstr "" #: src/qml/VoicemailPage/VoicemailPage.qml:86 msgid "Dialing" msgstr "" #: src/qml/DialerPage/DialerPage.qml:58 msgid "Enter a number" msgstr "" #: src/qml/DialerPage/Keypad.qml:117 msgid "GHI" msgstr "" #: src/qml/DialerPage/Keypad.qml:127 msgid "JKL" msgstr "" #: src/qml/MainPage.qml:34 msgid "Keypad" msgstr "" #: src/qml/DialerPage/Keypad.qml:137 msgid "MNO" msgstr "" #: src/qml/DialerPage/Keypad.qml:147 msgid "PQRS" msgstr "" #: src/qml/LiveCallPage/BackgroundCall.qml:54 msgid "Swap Calls" msgstr "" #: src/qml/DialerPage/Keypad.qml:157 msgid "TUV" msgstr "" #: src/qml/HistoryPage/dateUtils.js:41 msgid "Today" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:199 msgid "Unknown" msgstr "" #: src/qml/VoicemailPage/VoicemailPage.qml:44 msgid "Voicemail" msgstr "" #: src/qml/DialerPage/Keypad.qml:167 msgid "WXYZ" msgstr "" #: src/qml/HistoryPage/dateUtils.js:43 msgid "Yesterday" msgstr "" #: src/qml/LiveCallPage/LiveCall.qml:268 msgid "calling" msgstr "" dialer-app-0.1+14.04.20140415/po/dialer-app.pot0000644000015301777760000000655212323306661021160 0ustar pbusernogroup00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-10-01 11:46+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" #: src/qml/DialerPage/Keypad.qml:201 msgid "#" msgstr "" #: src/qml/HistoryPage/dateUtils.js:62 #, qt-format msgid "%1 hour call" msgid_plural "%1 hours call" msgstr[0] "" msgstr[1] "" #: src/qml/HistoryPage/dateUtils.js:64 #, qt-format msgid "%1 minute call" msgid_plural "%1 minutes call" msgstr[0] "" msgstr[1] "" #: src/qml/HistoryPage/dateUtils.js:66 #, qt-format msgid "%1 second call" msgid_plural "%1 seconds call" msgstr[0] "" msgstr[1] "" #: src/qml/DialerPage/Keypad.qml:178 msgid "*" msgstr "" #: src/qml/DialerPage/Keypad.qml:188 msgid "+" msgstr "" #: src/qml/DialerPage/Keypad.qml:187 msgid "0" msgstr "" #: src/qml/DialerPage/Keypad.qml:85 msgid "1" msgstr "" #: src/qml/DialerPage/Keypad.qml:96 msgid "2" msgstr "" #: src/qml/DialerPage/Keypad.qml:106 msgid "3" msgstr "" #: src/qml/DialerPage/Keypad.qml:116 msgid "4" msgstr "" #: src/qml/DialerPage/Keypad.qml:126 msgid "5" msgstr "" #: src/qml/DialerPage/Keypad.qml:136 msgid "6" msgstr "" #: src/qml/DialerPage/Keypad.qml:146 msgid "7" msgstr "" #: src/qml/DialerPage/Keypad.qml:156 msgid "8" msgstr "" #: src/qml/DialerPage/Keypad.qml:166 msgid "9" msgstr "" #: src/qml/DialerPage/Keypad.qml:97 msgid "ABC" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:108 msgid "Add to existing contact" msgstr "" #: src/qml/MainPage.qml:53 msgid "Call log" msgstr "" #: src/qml/MainPage.qml:43 msgid "Contacts" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:110 msgid "Create new contact" msgstr "" #: src/qml/DialerPage/Keypad.qml:107 msgid "DEF" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:43 msgid "Delete" msgstr "" #: src/dialer-app.desktop.in:3 msgid "Dialer" msgstr "" #: src/dialer-app.desktop.in:4 msgid "Dialer App" msgstr "" #: src/dialer-app.desktop.in:5 msgid "Dialer application" msgstr "" #: src/qml/VoicemailPage/VoicemailPage.qml:86 msgid "Dialing" msgstr "" #: src/qml/DialerPage/DialerPage.qml:58 msgid "Enter a number" msgstr "" #: src/qml/DialerPage/Keypad.qml:117 msgid "GHI" msgstr "" #: src/qml/DialerPage/Keypad.qml:127 msgid "JKL" msgstr "" #: src/qml/MainPage.qml:34 msgid "Keypad" msgstr "" #: src/qml/DialerPage/Keypad.qml:137 msgid "MNO" msgstr "" #: src/qml/DialerPage/Keypad.qml:147 msgid "PQRS" msgstr "" #: src/qml/LiveCallPage/BackgroundCall.qml:54 msgid "Swap Calls" msgstr "" #: src/qml/DialerPage/Keypad.qml:157 msgid "TUV" msgstr "" #: src/qml/HistoryPage/dateUtils.js:41 msgid "Today" msgstr "" #: src/qml/HistoryPage/HistoryDelegate.qml:199 msgid "Unknown" msgstr "" #: src/qml/VoicemailPage/VoicemailPage.qml:44 msgid "Voicemail" msgstr "" #: src/qml/DialerPage/Keypad.qml:167 msgid "WXYZ" msgstr "" #: src/qml/HistoryPage/dateUtils.js:43 msgid "Yesterday" msgstr "" #: src/qml/LiveCallPage/LiveCall.qml:268 msgid "calling" msgstr "" dialer-app-0.1+14.04.20140415/COPYING.GPL-30000644000015301777760000010451312323306661017610 0ustar pbusernogroup00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . dialer-app-0.1+14.04.20140415/CMakeLists.txt0000644000015301777760000000457212323306661020540 0ustar pbusernogroup00000000000000project(dialer-app) cmake_minimum_required(VERSION 2.8) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) # Standard install paths include(GNUInstallDirs) # Check for include files include(CheckIncludeFileCXX) include(CheckIncludeFile) include(EnableCoverageReport) ##################################################################### # Enable code coverage calculation with gcov/gcovr/lcov # Usage: # * Switch build type to coverage (use ccmake or cmake-gui) # * Invoke make, make test, make coverage # * Find html report in subdir coveragereport # * Find xml report feasible for jenkins in coverage.xml ##################################################################### IF(CMAKE_BUILD_TYPE MATCHES [cC][oO][vV][eE][rR][aA][gG][eE]) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftest-coverage -fprofile-arcs" ) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ftest-coverage -fprofile-arcs" ) SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -coverage" ) SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -coverage" ) ENABLE_COVERAGE_REPORT(TARGETS ${DIALER_APP}) ENDIF(CMAKE_BUILD_TYPE MATCHES [cC][oO][vV][eE][rR][aA][gG][eE]) set(DIALER_APP_DIR ${CMAKE_INSTALL_DATADIR}/dialer-app) # Instruct CMake to run moc automatically when needed. set(CMAKE_AUTOMOC ON) configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h @ONLY) find_package(Qt5Core) #find_package(Qt5Contacts) find_package(Qt5DBus) #find_package(Qt5Gui) #find_package(Qt5Multimedia) find_package(Qt5Qml) find_package(Qt5Quick) find_package(Qt5Test) find_package(PkgConfig REQUIRED) #pkg_check_modules(TP_QT5 REQUIRED TelepathyQt5) #pkg_check_modules(TPL_QT5 REQUIRED TelepathyLoggerQt5) #pkg_check_modules(QTGLIB REQUIRED QtGLib-2.0) #pkg_check_modules(GLIB REQUIRED glib-2.0) #pkg_check_modules(NOTIFY REQUIRED libnotify) #pkg_check_modules(MESSAGING_MENU REQUIRED messaging-menu) # Check if the messaging menu has the message header #set(CMAKE_REQUIRED_INCLUDES ${MESSAGING_MENU_INCLUDE_DIRS}) #check_include_file("messaging-menu-message.h" HAVE_MESSAGING_MENU_MESSAGE) if (HAVE_MESSAGING_MENU_MESSAGE) add_definitions(-DHAVE_MESSAGING_MENU_MESSAGE) endif (HAVE_MESSAGING_MENU_MESSAGE) add_definitions(-DQT_NO_KEYWORDS) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) enable_testing() add_subdirectory(src) add_subdirectory(tests) add_subdirectory(po) dialer-app-0.1+14.04.20140415/src/0000755000015301777760000000000012323307356016561 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/dialerapplication.cpp0000644000015301777760000001405312323306671022753 0ustar pbusernogroup00000000000000/* * Copyright (C) 2012 Canonical, Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "dialerapplication.h" #include #include #include #include #include #include #include #include #include #include #include #include #include "config.h" #include static void printUsage(const QStringList& arguments) { qDebug() << "usage:" << arguments.at(0).toUtf8().constData() << "[tel:///PHONE_NUMBER]" << "[tel:///voicemail]" << "[--fullscreen]" << "[--help]" << "[-testability]"; } //this is necessary to work on desktop //On desktop use: export DIALER_APP_ICON_THEME=ubuntu-mobile static void installIconPath() { qDebug() << __PRETTY_FUNCTION__; QByteArray iconTheme = qgetenv("DIALER_APP_ICON_THEME"); if (!iconTheme.isEmpty()) { QIcon::setThemeName(iconTheme); } } DialerApplication::DialerApplication(int &argc, char **argv) : QGuiApplication(argc, argv), m_view(0), m_applicationIsReady(false) { setApplicationName("DialerApp"); } bool DialerApplication::setup() { installIconPath(); static QList validSchemes; bool fullScreen = false; if (validSchemes.isEmpty()) { validSchemes << "tel"; } QStringList arguments = this->arguments(); if (arguments.contains("--help")) { printUsage(arguments); return false; } if (arguments.contains("--fullscreen")) { arguments.removeAll("--fullscreen"); fullScreen = true; } // The testability driver is only loaded by QApplication but not by QGuiApplication. // However, QApplication depends on QWidget which would add some unneeded overhead => Let's load the testability driver on our own. if (arguments.contains("-testability") || qgetenv("QT_LOAD_TESTABILITY") == "1") { arguments.removeAll("-testability"); QLibrary testLib(QLatin1String("qttestability")); if (testLib.load()) { typedef void (*TasInitialize)(void); TasInitialize initFunction = (TasInitialize)testLib.resolve("qt_testability_init"); if (initFunction) { initFunction(); } else { qCritical("Library qttestability resolve failed!"); } } else { qCritical("Library qttestability load failed!"); } } /* Ubuntu APP Manager gathers info on the list of running applications from the .desktop file specified on the command line with the desktop_file_hint switch, and will also pass a stage hint So app will be launched like this: /usr/bin/dialer-app --desktop_file_hint=/usr/share/applications/dialer-app.desktop --stage_hint=main_stage So remove whatever --arg still there before continue parsing */ for (int i = arguments.count() - 1; i >=0; --i) { if (arguments[i].startsWith("--")) { arguments.removeAt(i); } } if (arguments.size() == 2) { QUrl uri(arguments.at(1)); if (validSchemes.contains(uri.scheme())) { m_arg = arguments.at(1); } } m_view = new QQuickView(); QObject::connect(m_view, SIGNAL(statusChanged(QQuickView::Status)), this, SLOT(onViewStatusChanged(QQuickView::Status))); QObject::connect(m_view->engine(), SIGNAL(quit()), SLOT(quit())); m_view->setResizeMode(QQuickView::SizeRootObjectToView); m_view->setTitle("Dialer"); m_view->rootContext()->setContextProperty("application", this); m_view->engine()->setBaseUrl(QUrl::fromLocalFile(dialerAppDirectory())); // check if there is a contacts backend override QString contactsBackend = qgetenv("QTCONTACTS_MANAGER_OVERRIDE"); if (!contactsBackend.isEmpty()) { qDebug() << "Overriding the contacts backend, using:" << contactsBackend; m_view->rootContext()->setContextProperty("QTCONTACTS_MANAGER_OVERRIDE", contactsBackend); } QString pluginPath = ubuntuPhonePluginPath(); if (!pluginPath.isNull()) { m_view->engine()->addImportPath(pluginPath); } m_view->setSource(QUrl::fromLocalFile("dialer-app.qml")); if (fullScreen) { m_view->showFullScreen(); } else { m_view->show(); } return true; } DialerApplication::~DialerApplication() { if (m_view) { delete m_view; } } void DialerApplication::onViewStatusChanged(QQuickView::Status status) { if (status != QQuickView::Ready) { return; } onApplicationReady(); } void DialerApplication::onApplicationReady() { m_applicationIsReady = true; parseArgument(m_arg); m_arg.clear(); } void DialerApplication::parseArgument(const QString &arg) { if (arg.isEmpty()) { return; } QUrl url(arg); QString scheme = url.scheme(); // Remove the first "/" QString value = url.path().right(url.path().length() -1); QQuickItem *mainView = m_view->rootObject(); if (!mainView) { return; } if (scheme == "tel") { if (value == "voicemail") { QMetaObject::invokeMethod(mainView, "callVoicemail"); } else { QMetaObject::invokeMethod(mainView, "call", Q_ARG(QVariant, value), Q_ARG(QVariant, QString())); } } } void DialerApplication::activateWindow() { if (m_view) { m_view->raise(); m_view->requestActivate(); } } dialer-app-0.1+14.04.20140415/src/dialer-app.url-dispatcher0000644000015301777760000000003612323306661023444 0ustar pbusernogroup00000000000000[ { "protocol": "tel" } ] dialer-app-0.1+14.04.20140415/src/dialerapplication.h0000644000015301777760000000240212323306661022412 0ustar pbusernogroup00000000000000/* * Copyright (C) 2012-2013 Canonical, Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef DIALERAPPLICATION_H #define DIALERAPPLICATION_H #include #include #include class DialerApplication : public QGuiApplication { Q_OBJECT public: DialerApplication(int &argc, char **argv); virtual ~DialerApplication(); bool setup(); public Q_SLOTS: void activateWindow(); void parseArgument(const QString &arg); private Q_SLOTS: void onViewStatusChanged(QQuickView::Status status); void onApplicationReady(); private: QQuickView *m_view; QString m_arg; bool m_applicationIsReady; }; #endif // DIALERAPPLICATION_H dialer-app-0.1+14.04.20140415/src/main.cpp0000644000015301777760000000237512323306661020216 0ustar pbusernogroup00000000000000/* * Copyright (C) 2012-2013 Canonical, Ltd. * * Authors: * Olivier Tilloy * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ // Qt #include #include #include #include // libc #include #include #include // local #include "dialerapplication.h" #include "config.h" // Temporarily disable the telepathy folks backend // as it doesn’t play well with QtFolks. int main(int argc, char** argv) { QGuiApplication::setApplicationName("Dialer App"); DialerApplication application(argc, argv); if (!application.setup()) { return 0; } return application.exec(); } dialer-app-0.1+14.04.20140415/src/CMakeLists.txt0000644000015301777760000000212412323306661021316 0ustar pbusernogroup00000000000000set(DIALER_APP dialer-app) set(dialer_app_HDRS dialerapplication.h ) set(dialer_app_SRCS dialerapplication.cpp main.cpp ) add_executable(${DIALER_APP} ${dialer_app_SRCS} ) qt5_use_modules(${DIALER_APP} Core DBus Gui Qml Quick) include_directories( ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ) install(TARGETS ${DIALER_APP} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) # Handle i18n in the desktop file set(DESKTOP_FILE ${DIALER_APP}.desktop) file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}) file(STRINGS ${DESKTOP_FILE}.in DESKTOP_FILE_CONTENTS) foreach(LINE ${DESKTOP_FILE_CONTENTS}) string(REGEX REPLACE "tr\\\(\"(.*)\"\\\)" "\\1" LINE "${LINE}") string(CONFIGURE "${LINE}" LINE) file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE} "${LINE}\n") endforeach(LINE) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE} DESTINATION ${CMAKE_INSTALL_DATADIR}/applications ) install(FILES "dialer-app.url-dispatcher" DESTINATION ${CMAKE_INSTALL_DATADIR}/url-dispatcher/urls ) add_subdirectory(qml) dialer-app-0.1+14.04.20140415/src/qml/0000755000015301777760000000000012323307356017352 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/qml/dialer-app.qml0000644000015301777760000002103712323306671022105 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.Popups 0.1 import Ubuntu.Telephony 0.1 MainView { id: mainView property bool applicationActive: Qt.application.active property string ussdResponseTitle: "" property string ussdResponseText: "" automaticOrientation: false width: units.gu(40) height: units.gu(71) signal applicationReady signal closeUSSDProgressIndicator onApplicationActiveChanged: { if (applicationActive) { telepathyHelper.registerChannelObserver() } else { telepathyHelper.unregisterChannelObserver() } } function viewContact(contactId) { Qt.openUrlExternally("addressbook:///contact?id=" + encodeURIComponent(contactId)) } function addNewContact(phoneNumber) { Qt.openUrlExternally("addressbook:///create?phone=" + encodeURIComponent(phoneNumber)) } function addPhoneNumberToExistingContact(contactId, phoneNumber) { Qt.openUrlExternally("addressbook:///addphone?id=" + encodeURIComponent(contactId) + "&phone=" + encodeURIComponent(phoneNumber)) } function sendMessage(phoneNumber) { Qt.openUrlExternally("message:///" + encodeURIComponent(phoneNumber)) } function callVoicemail() { call(callManager.voicemailNumber); } function checkUSSD(number) { var endString = "#" // check if it ends with # if (number.slice(-endString.length) == endString) { // check if it starts with any of these strings var startStrings = ["*", "#", "**", "##", "*#"] for(var i in startStrings) { if (number.slice(0, startStrings[i].length) == startStrings[i]) { return true } } } return false } function call(number, accountId) { if (number === "") { return } if (checkUSSD(number)) { PopupUtils.open(ussdProgressDialog) ussdManager.initiate(number, accountId) return } if (pageStack.depth === 1 && !callManager.hasCalls) { pageStack.push(Qt.resolvedUrl("LiveCallPage/LiveCall.qml")) } if (accountId && telepathyHelper.accountIds.indexOf(accountId) != -1) { callManager.startCall(number, accountId); return } callManager.startCall(number); } function switchToCallLogView() { pageStack.currentPage.currentTab = 2; } Component.onCompleted: { Theme.name = "Ubuntu.Components.Themes.SuruGradient"; pageStack.push(Qt.createComponent("MainPage.qml")) // if there are calls, even if we don't have info about them yet, push the livecall view if (callManager.hasCalls) { pageStack.push(Qt.resolvedUrl("LiveCallPage/LiveCall.qml")); } } Component { id: ussdProgressDialog Dialog { id: ussdProgressIndicator visible: false title: i18n.tr("Please wait") ActivityIndicator { running: parent.visible } Connections { target: mainView onCloseUSSDProgressIndicator: { PopupUtils.close(ussdProgressIndicator) } } } } Component { id: ussdErrorDialog Dialog { id: ussdError visible: false title: i18n.tr("Error") text: i18n.tr("Invalid USSD code") Button { text: i18n.tr("Dismiss") onClicked: PopupUtils.close(ussdError) } } } Component { id: ussdResponseDialog Dialog { id: ussdResponse visible: false title: mainView.ussdResponseTitle text: mainView.ussdResponseText Button { text: i18n.tr("Dismiss") onClicked: PopupUtils.close(ussdResponse) } } } Connections { target: telepathyHelper onAccountReady: { mainView.applicationReady() } } Connections { target: callManager onForegroundCallChanged: { if(!callManager.hasCalls) { while (pageStack.depth > 1) { pageStack.pop(); } return } // if there are no calls, or if the views are already loaded, do not continue processing if ((callManager.foregroundCall || callManager.backgroundCall) && pageStack.depth === 1) { pageStack.push(Qt.resolvedUrl("LiveCallPage/LiveCall.qml")); application.activateWindow(); } } } Connections { target: UriHandler onOpened: { for (var i = 0; i < uris.length; ++i) { application.parseArgument(uris[i]) } } } Connections { target: ussdManager onInitiateFailed: { mainView.closeUSSDProgressIndicator() PopupUtils.open(ussdErrorDialog) } onInitiateUSSDComplete: { mainView.closeUSSDProgressIndicator() } onBarringComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Call Barring") + " - " + cbService + "\n" + ssOp) mainView.ussdResponseText = "" for (var prop in cbMap) { if (cbMap[prop] !== "") { mainView.ussdResponseText += String(prop + ": " + cbMap[prop] + "\n") } } PopupUtils.open(ussdResponseDialog) } onForwardingComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Call Forwarding") + " - " + cfService + "\n" + ssOp) mainView.ussdResponseText = "" for (var prop in cfMap) { if (cfMap[prop] !== "") { mainView.ussdResponseText += String(prop + ": " + cfMap[prop] + "\n") } } PopupUtils.open(ussdResponseDialog) } onWaitingComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Call Waiting") + " - " + ssOp) mainView.ussdResponseText = "" for (var prop in cwMap) { if (cwMap[prop] !== "") { mainView.ussdResponseText += String(prop + ": " + cwMap[prop] + "\n") } } PopupUtils.open(ussdResponseDialog) } onCallingLinePresentationComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Calling Line Presentation") + " - " + ssOp) mainView.ussdResponseText = status PopupUtils.open(ussdResponseDialog) } onConnectedLinePresentationComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Connected Line Presentation") + " - " + ssOp) mainView.ussdResponseText = status PopupUtils.open(ussdResponseDialog) } onCallingLineRestrictionComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Calling Line Restriction") + " - " + ssOp) mainView.ussdResponseText = status PopupUtils.open(ussdResponseDialog) } onConnectedLineRestrictionComplete: { mainView.closeUSSDProgressIndicator() mainView.ussdResponseTitle = String(i18n.tr("Connected Line Restriction") + " - " + ssOp) mainView.ussdResponseText = status PopupUtils.open(ussdResponseDialog) } } PageStack { id: pageStack anchors.fill: parent } } dialer-app-0.1+14.04.20140415/src/qml/ContactsPage/0000755000015301777760000000000012323307356021725 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/qml/ContactsPage/ContactsPage.qml0000644000015301777760000000236512323306661025017 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItem import Ubuntu.Components.Popups 0.1 import Ubuntu.Contacts 0.1 import QtContacts 5.0 Page { id: contactsPage objectName: "contactsPage" property QtObject contact ContactListView { id: contactList anchors.fill: parent onContactClicked: { // FIXME: search for favorite number mainView.call(contact.phoneNumber.number) } detailToPick: ContactDetail.PhoneNumber onDetailClicked: mainView.call(detail.number) } } dialer-app-0.1+14.04.20140415/src/qml/ContactsPage/CMakeLists.txt0000644000015301777760000000037112323306661024464 0ustar pbusernogroup00000000000000file(GLOB CONTACTS_QML_JS_FILES *.qml *.js) # make the files visible on qtcreator add_custom_target(dialer_contacts_QMlFiles ALL SOURCES ${CONTACTS_QML_JS_FILES}) install(FILES ${CONTACTS_QML_JS_FILES} DESTINATION ${DIALER_APP_DIR}/ContactsPage) dialer-app-0.1+14.04.20140415/src/qml/assets/0000755000015301777760000000000012323307356020654 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/qml/assets/contact_defaulticon@27.png0000644000015301777760000002337112323306661025647 0ustar pbusernogroup00000000000000PNG  IHDRlltEXtSoftwareAdobe ImageReadyqe<#iTXtXML:com.adobe.xmp Ys#lIDATxt]ےGnjII\Z^OX?x#7]J% We8Y"{RS_f"*'gKW6z|F?oOB.~!gqx7ߠ/0\o57-?ŷ˸~C!q.MHjdjtJP@5'c~WooxEfuR ަΆL\~7+|?SJOqjStoT;vZ /^Λɧ ]3i22ld52|d,ubZY7#$@EXIwK]R0]*etU#aИP+E+q1?K|t \u gK>}i|۸I&@K-uݤ/Š +7P1߾0t>;,f݃hAkZk0{e\7ű]/[qm5#[~FM"Whwɤ2F7 I&6 "CveJ#Fb#kCb.&{;7v\HR&:y+iNq)EXBykDIj{n%U",n y62Wc ֧j:!XG6?c ꒒tuC mA>  EǏFqhcǞT:.i g/ּ9PmDHª&E`=ǵO)&0MHu/ ~%"MG$g;\j|();o߆ZQVJ=U߶ؒ!5>VGN6ˣ=䅫v.Xegx&F8Px.araT-;_ɇ"n@!l,cF!VOnp,o>@4/[F @x.{ q8_6VDXnϽęRLjXSdF V=%,"4֟SXs^=-%^Xh+.[ و[.)fV&$;>O4AD7fJqG}Li tli+~ڍBq -Vx+S,#%Vs#n׎|Bp$ddw/n*UQ%pĘK"X~)reC,,4O ~Zh˥A\̩+d$ ;4Uz)Ynma7H8VD*AM hO@]l" Og欛]ϻߴ)v,ؕĴҾL[f)r .#GKUi!eZz֡&M je1+N8%ٹe,3e#̗ Ul&n0M%'WM*HH{P5}G,(Z5^qvILjHOHM` ;5r{\FrUR;b*#,QTzK@/Q!BVς :eTI&7unB;j/L8HSij+.#*LZBxg)᫑uZj">7E+\HC..JYGns矉P2]SeW6%$7Ճ4|% ԕeDfNhD " FAq:"]%& GI9"C>Y1J3Dj1*1 3,]8 #ap"ِ,X5k ؞H3x :(F#w/(fLd.w_ _Gnh4Rv:Bp:IiBjxb^c60ThS*Lo+W$2/+e;?{U5.aF~~#΄K0F-,FݟE~{nF[ǸJJW 0o0.C^3Wdw</BP?{ո[EӤȘ N4Wb ynϟ$۱ی8acsi:-!n@j`)Ȓ1vƍrE&Y$\u/ĥAUάV0khLq[p%"$sTd +"N5eRe"qMδ"&' SuS GH&+oRvZqRGjw/5$} Ӏ57LKgt#B 3J!QI֨?JN&԰j@I 9jb2hQ*d r<%(Umxb+?JG]yer*cw xdQ؄h3GA1t&, u(ɝn\+bS[Cɂ7a:#.t‡I[kŲ۠ ظ>Z7F嫫[gZ]un6p2v1|ElXZ'*Uǫ^ ¤SBUJcf"laDsI`*_B* m{ܲՠ u60l--YAلb%NL0582DYqG|w9@2<< &-i2h\¶~t'3G4lcJP+ ܩL ׯ?}q?ܻPNkdѯ _]\3FӂشfQ`t#hbZ3owYzoU.SV6p3d?UH(L-FyXkERQ-x$2UC#"z՚]y}ǿO Us UQ~N=O{8RmgnKahA}b1bGv/UͲ|\JzzvuT|ӿKDYu#U/+mVo3&f)@Χv? X =*L(1]A[r/O~>v~v~ea "C!HV|pۆœ'﮸hlku ϵ]6HaNhkS 6ί^9\~ [?goE}t>ѣ~z_}W/߼zo4`b?R,T -aըNEa<">yT;IP#JJ&oܻs߾ m˲e|?ӳ_ݛo,ߟ65~Oʏ2C-(oRq*p 0A)Gp5uJX[,ceݸsozv,`չ{?iC޼~n=NdWt;9{uPO!{DFd Ud( VN~f+P>&ɑ}o{XO?P+uj oݻwoJ9m\u퍍4A8~敻}/=yP}ƞ&Z V49:O?.^%$mNQLv:ֽ{}<<+{?vF(\zO~ϮВ ^kJ+^hlT#G!R]V{ȼyR޸5H,+ZC5]N|SaĦ0X_ߜ9O[_v6ֿz5t2hS%2;@Mѓ")Fa4QfhB~t@ "l+muT@veS7B<1h6+Rc`ڝ[kK0 pD-ƙ?bܢ,ʽ3pζi ncJM ⾙JƩmaD4Z:XQ1njX'4ccV*Hw^K 10\G}H~q$9aӠ#QhfQWeQմV"UtK5<Cd L\: .oRRगp~*J̦IKP 3΀w^1*2Q))W͚?JW>w(%愃hH<(Cۻnj!Q1Ճ%2 85Q0tAJ*9+`2mPV'WIk|ɼL4-ӊH_ˆWFC`t';+7)MA 76cpyy>ZltT)@H>.%'S)֨{`B@gy Ðc3lؔ/yA[6͓A!<0 j(|16#Bi raBWmQ!3e1)M[Qo> $+ri2h7NQJR1y7R]p-юAv1qe *Nqʔǀdۃ9bS׋/~=$a%<+Sũl_T&̀ypL%.4 9J#'=h u zn6mi^؆Nb5}ˢ< O/Rw>.LǶ޿{owoK"NT*oy3FlSĹ]à۝v§c!GIx~5 J$KZ~yxyjbY!(]`E 3w2,dԌxZJLϥƻ RYm99Pý&IYY+GњW5RrvS5&L},yk1V5^N+fVTn)wώrZ}ԍM*`h2TkqH2; y-/V>j0LHTf lAj LsF7N2tM=ъ6nJ dj2QR2Bm;\M?&B*;`KuVfVٿ<̬X3n h' t;`gė}13%O7EdUck%-;Ӥ 죕 JiSb iPQJ'%xy,ќ2o$m_@F[]`)ſ3b< ZO,9ʹ Ҽ:Ҍ ׳fFA26++)t.nAy$e<8 b-e6LQy $oz\);'tIB6 R~ iJ16cl)`:J Rk6D|:ʌF09ifϓ&)D (&um_ec/K^- o7*ri-]ӵ,J` FG6Ԧ 菻 yi5ӻdj䁧?SRkV$iVZU3ª*[M.HђheV[{mpј^EV5@a)h(GJўM S>-7ųy,P즖s3f+xY]/Ó:wPX24__XyelRt<4etf@O؇F[«fUw7xI',9M /C$wȈŁY'Q-芲QzZ8A ]a>ĉ5ӥF7pj8HYy>}\(95Mײ; L0phK'&Tmw*vO+OYe VrME4Q c,`5t)Kͬ0,pnWQS9( +AbsAbC3b6%IٲybY*acEMm><:2rN#Ƙ^֡'V8 vgWs\^+`*f|Zt;``B9h<ōR Nӻv)8Ƴ͑%2r&]r/X.)#@TT&Դa)li8@i6"\kzGdY8$y0ey}' 4;I2WrHC4N`O~5y|.91xQ鰶Kpֶ.a?N.MH#u SaZt>R} U:K_ImqQ"Ѽ߅`\ WD߼bzf-@ӑiT#/[GOg(%rerVHy<4a53rf|%$-ȐL'>)e:V"xքO5fAq;H8II%M禪+WyKXHc>4&ɒY0$wLk| oURS dݙwYޞlzٝC]p:?-vrpf|k kNcQ[CPr4`#b5KBtΊԷAv)^"5{D5peXn "=h yP"qks;͊1%R5ua9" h9G?p+콲\%PR9-襳ҚFCPKUq|@T3d4DP]"/r-fm@anlq:MQxeĪoЁ[?:PwO0z^YH_?(=ؙʹ>ql49]Zog9MRR DjS2:֏HsԣJqQݓ:zRl@/ȆQ?YQ6 DE깺(leP\@n:IB6.`} ByoHn(]u"3ƠcFgw}FbMۚ&RT_j?5&ӥ/ɿv41n[6!Xw;F|v+ߥK?(> mYJΘtͮiU:*JYJxW?"IENDB`dialer-app-0.1+14.04.20140415/src/qml/assets/new-contact.svg0000644000015301777760000000572712323306661023630 0ustar pbusernogroup00000000000000 image/svg+xml dialer-app-0.1+14.04.20140415/src/qml/assets/incall_hangup.png0000644000015301777760000000460512323306661024171 0ustar pbusernogroup00000000000000PNG  IHDRh&(N޽tEXtSoftwareAdobe ImageReadyqe<$iTXtXML:com.adobe.xmp IDATx[LU.+QR[b4U4F㋗j|3VƘ}&^4Z5јX ը-"`\v ef,3}s6L&MH-&<𗎣 1biܷ0ŠW7=20:KP?2]C `: N~U ~A5{ցV0,AL:kQ3cDJའSFs&ԂfY3c N3ur-jts%@gyz8*)npS43U ,vH.O0fFF?ϕ .ĥ5Z/ %LQXl@H?cH{bAr Wvf.Y" |זthFSZKsL[9hs*K&;;]-Aɀ|z@yȝ=Shfh]nl`:AL:_FpvVI9/r{H%a TgYK.(*.YUi@7}1vm_})nMqX|s=lGeCU7Y&=*{ԱVU v7ǕsR8*95ryg J>'NJG_QUީ+^ҩdRQ:%צ;RV }vhj/*X!,p^d%YIZo@TiյBZAPn"QU4U)ֆ\]Z9^xhhO:6z5d6'#>:.eJPcrq)#oMcO9^';qґ;A‡{4i+2_1qʐ(B1cUSz/ŵ,C)hU(x ĢrEJa N2Ξ[KU)r8n6}@;ܴF r7Wk֗zs@hy΢@[n2ϲ&%a3&WJlE=ie\Gle+%/}!(]V,j%AkNB(o}Ǽ(З|8Ah|,V"DPRSdžF֞/a3-6eQ"q/Z,@y6ژFƨUjo $̖,z8ϘJYG9Qg]Z]Q6v̶ WJ>p8O_gtOT6;u֤̗;JDI:]2|.=ب(ۯ0N-: \)I2|wImnFp),fufi-k$4m$Y% N|[!'+{*)s2knᾄjm;i*용ŹfTn+wOrhE L@Z ?_ v*B IDATxڼZiUWmCh,t&!5)ZA#B~0A5&FXilhi)BZm(TaPf`޼.8s7oڛsr9s/3804=cIJ q!iHR C  H0ϸqv+I0 !Kė*1XA=S3@m8}I*WR"pA 0"!5ȟ1g H-oȟ RRTp:kqlE\) )t샼 ʟ*0N?[y)R X l JJII< =*8[@V\c)%4Pp2;OA|ˀ^g\duPEDgAYH0#``cШ1 *TDc9 417̶myj%(2+&X/ՋZHeY+J!۪WinŹ_dBV؊h&XTV&|cߢ9-`XpԯI0CR"ƲJ(Zj1W:5==O6dt:Ua2*)~ bE8^dI$[$D"蛫 V:w]4`2bBřX?ۆL&a%F*>6ik1UV.t7 {1Z+ }WRڅXSl}ށפ j&u?&cA\<5w%L+2(6Lj*2@7_z'4 %JIBu@rueǴ^Uw-3a2˅J8.%P>%)!+Ɔֶ#?PcΐZ_",v -8: @*j 4[>lPH@ҀyXX˝şkVyu`jќf_t(/Sk$߸X=X29afV G]:&\Y^9_|V(=RjԄq+Sxv!UZ&E{:=a 0f4"1G_U`f (0ZbGk3b,*(Ewb^xSh\%RȍR|Wy+N:s M^Cн4a_ +zKwm t4uAf;\ь*Zc zȟ)xh`[0A3@](E`_'t8%sZ}IaLeJ҈MM- Q)RTJB JjBc3xc0I\8:Ps1SpzY^6zD 0`-r9-y#ԫoa9u”^G 02AؓdpÚNLA X(892{S4գ'yI2;J9\}O l1tܐ1!* `I~, SUM8Rc,1cU:1ZD" @DU`IBG >B%]/h\09dWS~p&:k06&&&1&nZSŽm|s,saN95Palttv`-Q6`e]4Mpl`f| +bKF=p@j922Bn<憺!d@bN<1U `6T]!FP'LwJňfTSO>x sLK'UgFV},;LhuW&X!1,H2 p;  tUA*"_&xyO[)TSb5P_)V,2Aca_clstZeƆ .(]rҁ /]~myZ(n+ hF"3 F'~_+vvc=6*#]yܹsν(hOWO>]pRO 9za)s(ǽJUl *t ]{Cv4@z:fy.D AI[z/UXQU( c!72LJ?8AA]X#ϫKw^xر"[Q] G!ٱcV^M[-[>+2 HB)OL&$EHZ Cuݶ%&@*Xoն~u{?qO>p1VX)Kܡڰ{x޽RoA4bC'LYM!v?e3݋m#qNE p_De)_rJ=W?ׁI"b෵otػɓ&iMU?gϞ̙c͚5Dn"q pb f ?00S XTuuAE8)u…SN{5^T EgK,)޽o !mS[:'r|J@뺌@GK,T Odp'MĿo6mwgU34SHrtOOϝGi昕&%gkX!(m&UV ;' &s3wYd+>7oGʆg>&PQ"z0 L&[;L+\Hp3N3L{P8@(Gu1$(ŘVҞpDb I0TLC?IENDB`dialer-app-0.1+14.04.20140415/src/qml/assets/timeline_vertical_line@27.sci0000644000015301777760000000014512323306661026331 0ustar pbusernogroup00000000000000border.left: 20 border.top: 0 border.bottom: 0 border.right: 20 source: timeline_vertical_line@27.pngdialer-app-0.1+14.04.20140415/src/qml/assets/dialer-app-screenshot.png0000644000015301777760000017162612323306661025566 0ustar pbusernogroup00000000000000PNG  IHDRne=sBIT|d IDATxwXSo!(C@PlT8[TjVQ[;ik[YUk]։EŪTQlp#5!<|˖-TjB1Hp`ooooo 8ݻwb1 3Bχ x<DVVеkW"==ٳgqΝFIHC_t)=Zo7ߠW^̶Dlڴ /_ba9s&\\\ʕ+! w}={6,--|FD 44FRݮ]p $''gbxbkd'o&Ӎܳɮ[:ӴijؼjOj&l65laffss3eBaa9::0srrق˕M,**BIIi$B+++D֭k׮իHNNF~~>PQQ! 333ܻwHKKCΝaÆb xKKI1xL6+WGdiZk֬AV*"** ј1cyX,A"`ʕzȑ`e9s}>w;#CZZZ=P=6 ___hMȂ. )TSYY2 %%>4GF߾} KKKlm_D"a~b1B!>|3gĉs₌ HR|WLLL0o<̙3]T[ B"*pT4x̘Q{TޚRmv3sT|~M8o<YsX[[a(--ń S+W~ OVXh)bb.UX|>-ZѱcGH$AF&++ }60j(oߞɏ>y$ (//ot}xx`NQ4k,&x...8Ǹ#((͛7B!=z+W 3Svظq#gGFRR9RKɓ'cƌg{F=W_رc]͆ gggW5NNN|vooo+MU_ 4o=z@@@VXٳ~ZQFaҤIxb1ϟ_ѣqzuͼZ!<|2U煰X,X[[@[XXhN"NMj;;[",u}h8p)))~y쳲p>>>3f QTT2}vY-O>ÁT*eF9'O2i(U}ŋӧcҥdwUk֭aooSSSp8Ctt4;uQF!((p8(..ݻwqI>}> pI?~{1c6l@1???[d#יw3f@6mm#66=޽ @bb駟ի2ѓDc yyy?pEM4z^{ p8Xd ?fffpppz燫W}@gϞ 5o`7ZfϞ~~-z-"==`I&Mܹs <S:y{7 qqבtBaN#rM6an/[m)oG/sDEE%6m&Mukt aahT?_҆mS4gJ5E߾}pp |a֭6m233qĉz;ԩS 3b>} Włhysa„ dc۶md#F={rsuˏ`gϞƍ[0Weaa@vl=wo0Mdffԩ3jgmmO?@ϞAL%DG+v*~ |fcƌRʡfkGo%<==Ѷm[dffA\\Neˑg}EPP>|{*ͱf&x>r;Ǐe˖޽;BBBpСjٻwoUc}@:h(--Eee%lmmѧO~-,YM{{{رכHƢ|>~~~0`:uSNi/R7pww s0eʔ@mۖYNHHÇ͞=&L``޽!I&!00l61b16n܈y4h6o`UiӦa˖- >nӦU4M+`HMMżyK,[qrrBII ?`UQQ'N,/vv&!H`ggss:]bnݺU3hl)6lXm[|3L%n֬=);5`7nv''h]vpwwCRRTùW^E||<gg: jssYך5kW_͛Drr2/|W a4չp֬YSb:cƌ9D"{iZR)݋{bضmVX!C(UFjX,VZGñyfܼyiiiLY0tPܺuK㾑iDb7cڵk {%THŋcܹc~***SbÆ ̾| <==FJ, V!Cȑ#߿ߧ2'z> i&>>>h׮Tf۷pO8;;bG8RDFF*`bb~EEEڵ+R)RSS31|8p@,!i5.5fӧO3zIրA~`NjJy^%U?5I9č73gd,Ytim۶EӦ5T]vadu̙;`F`jPL<7U4]oߞS֩S';{F.]зo_?Gn͚5(*M~8p ZlY?/?fff󃏏LMM|^E(ȑ#rF@@AF=޽{cذaCnn.PZZӱAK]cϞ=ŵkСCsbxеkWfb ܺuBйsz?fnnݻI8xPaa1#aaX~E@'jG__ Z+(R<={<<ٳ\\T,d?۶bb ζ޽;3{nDGG3&Ms\piӦ~zy>rsrr,_̗|||8}4hʕ+q1l߾QQQXh3c$$$/IR&8oժsј"##_J=tP,\, ϯl4.{nK]tAT&&&޽;/[y4`xL-<'Oѣ75k fffh׮BCCѮ];TVV"55Z/o]{ >)3 Ŵ8fr~֭qT*7339=FW vY6 pׯǙʮ(ZC苙ًϟD"VS v`#wanϙ3^k*HNNX,fr:uꤗMo;;;3ٳg'i|}}s[1ڽ{7s{ׯ32b0rH|d_x xŪ.Y[Z}DwBC}v0?KK+@nݔH9c |wJW˅?ƴ;MdggرcU/Xh!+[bJ9oUsVǏȎ X*2i,KܖZ$ RS>3gNԩ ,,Te[UJ*y҉< e'V={&ƍ{;c&jg}O}dn?{&T"OWL|9}۷w& {ov T=\I6P$A"b-p8AJ^PG)S зo_Xv-]U;U/-h;w2WL8, cƌQcօev/R^xNAtcر055Ebb"fϞgϞ[5RRkѢY}Fm p8͕IdǢ_~ׯPKppgs|(+`ڵKȮN8N.tppg%**Ϟ2'6]N_G\V%UūObBzxxT%b`ggP߁ L4QLܹ3 سgO{"""-u @ڂ/zuշk׮Ş={4mݰX,xzzٳ֭4n޽{^A<ãϽ69 Uۃ!==ZjpSQ<ҕu}^9jܖxVVL? ӦV_,J{wl >ssFeU6ۣc8uW;g׆_>oG+++Ig^O-BBcYO,Ϸb5@vY]Aiii %ZlM4AQYYgϞ:|2F>Á#"""0sLܹ?SAbȐ!(o!00ٳg5Y,FJvvvԩ?H?\2rT+@3_S}i f+UIRf$Ԕ GfhhR[o;w ::ڈRf\rjS+͙4=(,Twr njP^^X׸D۷qUj vvv*E@ T*Ezz:1JvuZhQ))u SxRxT<>(:ץBk ߽?˗\.h'JXt}wf w~2Ə/[]aĈLcTu԰aн{e sp&*'XsfXĄ\){{.Jgo={&l6^}(|Ov0&&Vi_dںA7n@ΝǮǃ3 p=<~S,\GFXX1}t3gά… k\e/={25tΝ;Rc„ 5Tk׮aڵ*)Xꒊ"adgg''z0V.6c{{{rR|}},\t ݺuSigU^eY F"440x=x{{fcX`A /^/{*#@߿:u3(>~oY.??%%%e*//Gpppqqq}6 P^^Zъ1 (wqqan+O cEc9s./D~fΜ_ 6 OVر]S$q~2O/ر í[T髝|8:VPYYظqI+`UdqO9ƍ@$)>;w禦Jz bjՊ |k]=*6 @;29l߯{B!mۆm۶o߾7o5k`ʔ)j{y:999̌aEˆ#{{g_|Yiߞ=eIɘ3gڃ⒜NNNL RDEE}9%&&2;t|Ϝ9wߕdL0 ,,X_|@6RpQ%{Y)*OvrV_M6FLL w hE |rf}LsII n߾P'66V)mG͛RXXG1ˏ޽{x9zrdHMMEzz:x|ցQTPPH$BiiBΝܸqƓ-ū UlH`hҤ  7n#8XݻI_9Ri9ox"ݻ#%%.\z& a@aa!Ο?_{쁣#2+{{{t,:ԊzBCCkrO.m?hժ,X%KkN)':χ=[`Gc QQQ())G}888 ==])McL. Nv{7]T Ϟ=|8qΝâE|9~w&8q"9W^D"aVDr ޽lD/kvlheeex!мl[[[ )) gΜA>}PYY#++ fRRaffDꘚ())affOOOxxxr!Fm0l0jW M_Jʘ>TT[ՋLPUCusyvT'w;} KCxQ8q<||A>b{Vɲ^ '%%HOO;F`KMlC CN+GrIII5EP c.%r\?]hb޽LǰaԎ޹si0F ח3ߏ8_x7jߩ?sqqa\T9::[nTOH$J# 69).bLǑرcl6ƍLm;T*E\\ۇ\v Ν޽{ܹsam-y2G}Q`DHNN+< O<'Ob߾}˃/U(qfėf ƃpa\rNiN(΋Q(WXXek8c"\99|9N3տgzdb1:uꄾ}(..יU'g\Z[[!!! 3_;w //+jBD>?ࡡd'!/ԩSaoomj[_ 00666/pMb\x={+BBB>2 ehYYYaʔ)8p@-{5; ;w.{"??_EEE(,, $ 32fX,dW_o(#'NוaĈd_ҳM*bժUضml6f͚tqIIhsUcǎecb6m2xȗnժUZZZ2 ͚5K xyyѣGpww1Hz|>|>b1JJJDw?č7fիƍq\.9y aTTT(K5Xݪ>ܸq]HsWRGbNEEΟ]}yʊAɎO'˃+RQo#_D#Gb֬Y:u*Q6l>S9͛7 жm[8;;T'7MΠ#kvF.gdk9y$}^?]XѣY?Ⱦb(''W)OǎxZSܩh@V6)) 'ODEEw''' 2HOOgfD`&d nnnx޽ .͛]v5jO\z%%%zѹsgܹ J sss1ӧO ""+++m#ϟK$F{Ґ ggg|>_?~IVuNJJƍcǏ35χƌ'O}cT$P˪U}vp8̟?)))u-oȐ!̤JlڴiyX?#kbaڴi9r$"## A  ]vȑ# y0lYf_RfXptt\.s(C}NJӑh߿?褧+gFcbb]P***qU):>3wftyy9.^{ s,\1ZpɓQ*l6x<^{o2s?*JuRکOAnu#/GWuVR/U8b1B!bcct >>>puuD"AII hffMFLL bcc0d 0wrr2JJJw6j(8;;#88b(++,,,ʺ-_rt~mϕ0x<,TCW^ZY_ܹsUFw@V `>}:JKKQRRKKKh}a„ `¿[v}|||o2ק<K"##ӦMFf^Hb_5=ZOUc3+`ÇЗv! 6[l%F4yEJLkmڍ;c}ˇMSt c*;g3bjh+V|[n8$&Gyy96mWٳ;?dddرJ_'M˗0lX+`hQG\II k.\t 3lllbPPP dee!-- 7oDrr2fQVVJ 2 Ǐ?_6ۺu+Ə///p8f➢x\Re ۢKK8t8q'O믿ЕDJy)oߎS }U+k.\|sEp`nn4\"0JKKZJ|Xm%ׯW^Z?gtt43QG1`[nekko۶mعsgIJJann///@ 0ʦhUܹs޽;4@CU4NR| CH${zjl5ua,_ў޹sȑ#զ/? DjK" !!*ҘUTT`ؽ{((.h" ,^ڨǎ˗0c,X0nn>^՞Ta߫Nm***q&&pZMDYUh ~6`4** IIIՑJG||h^ʽ5V[nU! ILL ۇq!22Gu%##uN+$ܽ[ENuttTGہCMh7q=:t#V]E7cϚ5Vl`ܹ!55j=@E6iii(**) b.BttAS]4,Qh}&6 V&b\ӧO͛ B1* !Bт^&B!eG4!B!ZB!-PM!B(&B!D @B! !BЄB!hhB!B@4!B!Zbg>B!h4!B!ZB!-PM!BX-]!B!@B! !BЄB!hhB!B@4!B!ZB!-PM!B(&B!D @B! !BЄB!hhB!B@4!B!ZB!-PM!B(&B!D @B! !BЄB!hhB!B@4!B!ZB!-PM!B(&B!D @B! !BЄB!hhB!B@4!B!ZB!-PM!B(&B!D @B! !BЄB!hhB!B@4!B!ZB!-PM!B(&B!D \cwp\rsrB!~QM)xp?M2n!zF4!D#.fL]!Br !97!B4!B!ZB!-4m(PhcXh_i[Iq e@,y !BHh6m˾Jb/]Yy>]?oS tܾo%B! pru*snN.τB!8 f-HiX$’}I3!B+*!(mJx^b^B!hs"f!lH_~gB!h)`wT/|?lB!T09(x&B!yGiB!hn:}="B! +;]SτB!:dM9τB!DW\ݐg 33>8\.X,QбX7bX03C 4b5B! +ݐr9\.}0rT(}`s8ŨP(1gT4^H98:܌3B}nJSR JjC ?~h>ްXo 9HD\gVz솀?4wn`XDymy:^('0 v'lm3τJ**ɓgxp>LKp0nݸrcwB+EHڴ /v*mtgi,"Jɼ<1v?' 㧟{i7gtm@ {k lq6MNPGPpg J6nQZ=ӦO=TTVV Hw?pb-x0n8pxRoc¸IulT`G0J!֐[asȠl|C@90nhZN~!;;GidX 9Z&C+DyviM)hVbo,ÇaC<#1t,^A>-48\.B @Ƞ:}EEzaH$T$HTDb.ByE9, ߮YQVV}P5$:8:}M5J*{VSոނ79&33&v ?t 4aGj5] &&& !WH6#bs?K?8\.YeX$Bڣ {_\l899?:wBKWߜYnF5:|(Re~`HNhLi[B|bR(B!QTT"B(,BfF& -Z8Źԏ݂LSu\B|"afGnN.>LEVf3"ft}CEm:'b232rR׵[6`W(LYgYYѢ3||Ѯ}ROC _$&!WK@W<#}+OR;Ǝ~VɁ}+ 6cSAB|FAWBB"RPծ} 8\n&'*UgTNmݾ˿e ̉&``H88:`?co9r9s?֚a*sRSZgKyranAaU5nߊǦ ?h4!̌vѵ[/ٹyC^nbC!%ҥpp\P(7߮Y~ٻܜ\=~2֭XkTVVuk6(+S6ْE"$$$)m33ߧ}5YeM nߊ*D}+G,T^Ǎu] tErP#r 0y:I `ŪUgTuk6b¸ItEiYY93Iwk튍6<"BT~ަ6x=-\ה~De[=-g0ͷUh@?Ш3l?VIᄑ B}m<|OV耵߭2B^.Act3V7AU*b{`Otj-ϪS 5sSS !K@ gi=7'Gj9*BNÇ6ChD_UuITrEi[]J*b~]mvڣY@u/mxO?ٖ&M*m#B.h%xpS)_}4 m7ACj7%%MoѺ^Swr\Շk79F]O,Ё#*u9y*nߊ$ъʆ<%޽ 'fL*H$SsA!Ġ}Tj޾Ijo0axLqb`]cM*G u_TO)mcXү6Tys?U9yqptP{SCe[Zr6mA~5R)31a32rB1F@[ZZbһuI 2,Jxz{#6OV &L_>Uͥ.++Gڣ:/9uo*g̚f޼{xkՆ/7'c֩oEP&p/6K˔jB!e IDATDu]]ئmƎc>*))iz(3mff|+ᦒ  OVJOnPo~lww:(XWRʵ5Ӫ uWlɨ-!&^>xF!Qk2'bWӄrɃTiWMԧ`hJIC:g(9s;AiB``#Hɐ@ȩ@ P'ֿ@,CTQrޙ94iVO$5ƿ7eV-Nj QC\JOW]JW}Սľ>b}Q7K:gH⮩l =yD>o >_]:OVmRSRTڥ+L(&g:cz,,|ڠA 51'bܼy[ϕxW5t򙺑X7S{Mݣg7#bUxMvvv]hIRBȠXܐA6Hu.^FJLYo>bW+QZQKJP^\ ]<<0c4w8߾M&H,)GW{ (tzF&lllj]!OOP'Cm6m.fzoS?V(fRjX$ojF}*U/X,xu*9 ep\XI()-u_7ot6P|V}]b:뷅Nm, 8X,rs^$B MjOqFDWօ`Z h܎~V雦K{zcܜ\h*5R) kTbzj8Yf#[ZR)u¿98yqhkOS !yeh@6SU*pX,,|a\QafƇm5$PsJ<ʶBkGG~Ǐ:r\u}?+u517ڲ>ЄB eIt]+E"dgltmc}+^%b!*B!RR$UivFe[C0;7BOyw2dbb4TT3!z%h@4;]mN՚Puv ?lܢťT+?uN+uW.ոR;!LT_U`01+>;7wBQ}&gl F^ߟ1G%pشyNA aAkmϩLڅ>T6EbYek5'_PQYYyqDHHHRb0nh#8 ,,bFp?)F!+@c_~\%Fˋ\[eDP 8K)߿c>CvO/vQy?Kke#acaemgL ֖hWE!4>| 'Tpæ=.++իUtku%ԭLJO?(?m9˕63㣙C3OW'8r@ G"y[{x= !Pge*۴ үhՖ%9\.&Oy[ՇJ)NpS*o.JUFթNtCRVV?~&;Q\?9yď"/' A!Ā(Vppa+ B+ !:ޙ"ݷrsr leZQ[Pc.lSۯ{S[|/B;;;+sigOR:B!g$+{R[o== lÎ#(HDīc$r&FͦH`1\qA#EA޻k;jN]U]y^ӧ:u{{Ћ߾jeIwQ}] 鹌gުϿ`WeqŃj)X]|Q]J^6 3]SU3|pX|5Ϸoj VvP<\148nHzǟy&3s @t:/9ፗheY ͎_oy~/k-X/إ-oYvſ#_wE.zGKX-wz?\qhP]V[QO,yzr X۪tZkJB}o oDC⸮v8Vox%SCB={JP^tEU3rUSnԔ+qՕWGXyW*I;w8Vo-;ǖMCyUa8f[O`~S ?xK]e%w/p~ߢ7#&>hzjZSSSQwO5iHۏV`>y͵ʫknKL7_w]^= JоirrZtn۪͛7?)W]yud/m|)lNa߷_O>YZj;.t_͛7Ya{Q|eOGkϞU\-y?es6Ny6=O-Tkv'+uYUosՕW>\%]*O5Qn2n]_n펆_UooIy|ɨ &f23::U?{ϻD]SO ~۾x }3c?ߣN=ӇJl!N۴yfmݶUxVmٺEC4Q&mk54ٳa+hDz/}׫?F3XШr )/G|ӻ4Ŭi8tZo֫~U??7 [u`!@9u?L'|}zG* mI'SN=I]K \uՔnCnsۏ٦KweYο`~kmP&t{/@ea {j|ϋ,XlrrR+7eZ|-֋.H[nЦ!uv43a=Ïl<Ϸzڲu$i:p֎c2P# h0@ h0@ h0@ h0@ h0@ h`͠0:0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ K_fX3 X;O>)lv#h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ huʶmَfk㸮{e;|ب|kvӀ5 :T2|D%#m5 G >ek+U}LVB^6+HcE=}hUsv ' FtO$d;llfFf7 4=۶յh@NDC \QaԎ63=5ٙf7mیW,Jaf-J8 3G40@ hXkz,mW0c%ilۖs]9+qdYVgۖ?P P穐+)q\ x03e)+)7e۲m[JA0Ζ0l0۶e;≄bוeYn|S>WPXmA[GDRxLV?۱es@)ͮ>b%u+8ʯG* KA|>B>ߐŶmYNL|߯g,8s?< CAmۊC#uK't%WX\(lTJxBevliS>xŢłrl7糣\εt 3U>you]I󏕒^B>'Xd65yILF(H,6U9ؚpc1 %I9yLF,c;6m}IR.cQjy2Sg~(*ѩD2)]9wP*um[x"t *YeV僶VM2XV"T2SSuܲe>BM v4zh~lQ,Y,\z,utvN k559Y^::lQ!8VSR,51h)'ݫX"a֣VbT<\F^'=ht%SާUGW&Za:c+ ۫⸮}[Sfɒ㸒ԲóT_KRJR=35n}}/bRSɎMOLt>gRJ+㸮6d~X,IkYQGW_kO45>֐x"YVpb۠bWQc;,U'*V|^c+>LRI$LR]"@4TlQy=J97K_{+Iz^{ ƇgI*wBݓVOoooD]|,6\\*:\ [J2҆rc1%R) nެή~m`H:408|`]x" C+to݂>@)BI)R-]<˓:RMOoMh ùri߱m[KPbֲ҇s"QM0۷ASD{˯W,!%Gm)HX(Z9DXrl>ł Px\DBn,.7FTG TfjrUo{0({~4>q%\9LMLZ[P?eWMD_ZbPK{X*< {^mu{#{{{:(.jzr(4/+55>V:|6+6T*eggZ&:jzj=RxSlvUj[MXĸQm[]ꬱ5T#jwwYߵ(O$]5&G_zߣ³Dzq?P[z7kpNOMjvf&X IDATEPUf3`d4r`䇻37^JB]=\,52<\SqtDi^2pH|~YawjbBK zI7cN F kf@bjL@AQ{CI38dMp1!yu/_D2Y+XLfj2du]u'Hٙ%OJ'K%@HAh|]N\6C+f5z}s%']]SY^ ש"@8Dfz*k%X,hگB>\DOLgWs=**F&&qKk{ Fc=V|i1<tdr?ibt8βN%.fggVT2DZ$SR\k՜Ҽ%k#$jsF}Af"DuQ8dJ+[3-77b]Ɵ']U^ (͉BQdGGk~pͤ:: GGZjT)\{dZN7kW[܋Lu(Sl͙$ZQ>֎w |߯/M$S  ҂ne>Wű⫶pLF] +KRlfj.g>-̰d)LsBU'v=/2{+թFq\^=*eQ=+{PaXu嚝sX$ƒV|Q%"fn:kIRUb'vQJԀ5-~37%*3)u{^U kF[<x˖4PToVr\ s[-\jU?n,V{(HԌ(8G׺<'YQX{Βm̻x%m{PeqIU[˾<2:taV]Q* ~\|ВvBU]M}߯j3ٙ%w]V) ڻuTOp1gi|ϫ*q]WYV_mRaXUێ' !Xi dAʙ[9@KW,TɣNnբ) C;}jcl5RTY+_,-[=bXUM+ A0y%mzG8eENke-նTG |߳F~HVk68r]WziA070 XTkeľg[p={uwA5<Q*˲O$"CruZs5m0D}p8Y>nk8V<qbuH!*p+5WQu]ԣYGE -v{]BQZVe۶ӽ6/W^kzn+5G?FrFj68BVS]z՜V#Z;щޯ`p=kQ,\bP  ~E<8PR1W>+M]}_eɶm9+˶bu[bqXX.|[W<hA|^Lm?gbQ"G: ,(^em;s_Kϥ㺲m;DGGJ'5'T {~m۲l[eɲ,َMh^]]R(UNlktoێǑuu!h]NXL}JˀW|_]+:8h,Krp}KbX%lǑ58Suām˱>7k-j%'*'Y8'=ˍƞ> RO`#gA,>1=7=5YʳAhCJEv8~㑳~Q(Ū QJP,rDMez?5F G*\Jzf5zz^GF G׃ v/y{xCM}È3qf7cYXL7U,zr]v!-բ֑se;,R*s+z0QrX3C* Sfj:=GUz30*Ȕ_b>ll%& Ulb+*RyA.Ą<akf{BZ9{#V[|.wxv\ fgf4=5CaD29w{l@pݘ,ǩ|ݎ{Vdx{33sWeg*7Liv&9~qP3Ӛ_־$U9c<$T#p\WxBxLʲmA T,U,'7By8uNTRN~РpFnqJaV>k lqKVjS'nbbj:[v\r%5ǿBlqFگʳ"APjܱڍ 0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h0@ h/`͠0nlv5h߾fX3 h0@ h0@ h0@ h0@ h0@ h0@ n  @A* Ka0oIapaV~0^ @40/Iofsǒen,ͶlYUmɶm9-ۦt0|O(|~{6V>. Jg];ՒKǒm;r[um穫cݗ2],zJ*Obɲ׈gz@-KRhUB ƉMe2P,~cˏ˽ЋYh[JTВz T`YPue ómq9-DZM<4Xqٶ]+W5t̔³mYrSΔj+=+:sW%)33`zL60 J5lN9< Ų0L6歺uUR<^lvJgQ,] ps! A܊ͱuzr3(ZX/(MPXɺ8U(z|x (BŢbX*E[\,S^Xζ|і\6 yT VT-Y%|X \`*sY+?wտݭr`47VJ ݤU=aP,ν"<U(*mନMY87u GSK8(6R遞 :n]·kvt8Dqں#_(Ho4\ֲRjsm}ߟ6zꯜ,4mPmt9A,hK9mvc1IUeno͗nmv<4r_jv ʯn8}f:&hcۮtꩧhӦ! kzzZ{>۾wnlvSJzsu/ҦMCڸq≄2>Ǻuuj.wY0he8f[[{[>y^ipƍf6g]m[Wf _O򿗷)h%_?Wy>} }I߾ dBqmi۷:/T: g\wDI-g'G㺮^W3Oƺ00ЯO3cۮȕS}W|AberX;-P)Mʃx zt>s5Fyg>D'έZɧ߽eul ƚ+}_aHضR8m`_+6> j庮~^r 6;O?M/K4%߸j{#?>arWn6@3]󸮫}K/f7hpG~To}_3w9g]>_K}[- @t7]\=/{^3;'m?n6 m;3Dtvvw.y^;iP~۝翤׼Uzn׫n799k?uW*1۟t:M-4uޫ%g( _޽Oj ]h*w[hU㺮>֣\Jz>tiyQ]K{v۶ugh/|K5[[uspp@x\B{VR ZǖWlrmͫ}uU۾}z ^/^E)7 @ٲeKնܙ&f;@u Vݩ*׿M}k',`;S"?ӫ=yϩڶ j 2ߺD##cԙu‹^PmddT`⥑cq>rǚКj}6ҵ6 @[3ub&hM[lk^<׾لV_վ@qfk3uηUm̧?ׄwWKL&ۛƍuq#oAޥo#27GDضֲt:O|cU?'`:眳kZ7ߪ˿efjA; QuD.H)r.A b6W@}ns(Nstd=?W4Ub۶^W[VSo5g~j+e@HuD罏?MhZ{lN#򶝝J+ֺ!};8@[@ K AuolZuկ/60Я%׽6=t{Zݷ[k_՟?j(e |{wDn?W%%vYuolhT*&M tU{b[;O>>>-A"@*{E=_vmw/y]~OW5hWhXeRmĿ Zn.8 IDATmz-Pbx\{RXP[lntdDxی+;>=mNч>;u}56:l6+IJ{u6szt}}_mڍe;W۶}}XN=;O?-h~Ѷ> qIҧ]|QgM>z@,=mVe˦f7X3wa4egI_oz5 P}}`Mm[a~UfuefNu=X5Poڴ\>ۤ1>>Y%W>_P.CGok^?tϩyn|OO4Xl ݈Fq/\׭z= yMjy$isrMg= ~i :nq:gW__ɤ&&&466鮻~?ɂ JRr, (s%=  @4`  @4`  @4`  @ f۶lۖeY @߇eYSC(jjjRA4X%˲8 P ð xlݦCpWFeۥaX(h||\,۵KzĂvV褓OѮ眯N9#˲|Ą~'?#?}/o%#{o~ºAc$mݶMG H$53Q>_PJJ:4i6mҩ;wAb7l+_uttH&'52xtZ}6hwՀ08ziIR6U,KDBYgG"Oɤ,ˊ|O,%L*whv$=qm?8znEg}6lؠ~% NF{ޠXDuJNV%IǟpX,wk}?$cGm.zыѡ|>/ ϒT+AhtdD߾[2gzΒ0\<X˲JԓNW\.G٥O8Q_߹UlvُG~X?燒s D,mq :nl#?oٺU|Il{Ӟ~XSvq${~Pҗv~ڟO|$Dwq:kG]ItO~s{-[/~&h9瞧Z{{{]O;bN?L=,-ήN< m޲E?^dѡJ{(*J뱟/t6l IبO=U7oQ>ӝ߶[n$p4;;Iڲu[d޸qPȒ&IJ&Sbccco04q=#UruJR;P,K~RyoRPS߹E|Pw{$]ك:stι1@Сajbb@.IRfLl6tz~e/>;;k?{o2r䤮5k( 4~Ysd&3+ͪ[[nS,S(ippPء==Yq 'T³$ E2JRڴy:JJu3{apZVggnۦ0 -w묳ЦM •ݿou٥588Ww}_?ݕ۔Y:blj͂;BDO}\_S(Q#@fm3*?55C588N?]wxLcWvgu:p`2v.Wz,3T*%ID_iѽhjr>p]Le#@f۞R\~RUf +)8ڴIxwӦrr_e"b~c]_ꣷnۦёqi;%ICz^Vs.,sɧ,0Rv|) '>߯O8Q++$H*$cff=*W9gggZm(=8=͛Tydɱ,ti0a|GC`>'>.4 ǮZϙg-˲﫾:4=ШY={%C9̳$I#8Om޼E<]{{16o)͸w<ЦM_~̵ ʪl*?ѽFKvD4jLK%jп`t}M/ܶw::;JuTZNӁrG;?^7<4*Htzo2V>nfAtZzķ^fY{ Q`MLzJw& 8#)jԓO㎯|ƙgU "L&:mNK=|z< *#O۹SSW⺮8C{)zr?|>|}/̪~酿b L&L%+SIC /ё}_K~\i|lTRiۍ7*H7q7H}}}wQw3dÄ kXٔ]V-ժֶj֛Vm֟w>lv֖WV d_0d!LB&3g~L3̙dd2!y= \g͙yus]w|O_II%\a;nߦeK4ͳk|{l&EFNC[ڕ8Stl6y۲Y'l}=ƫӘq3/Oae?8(@@UUUJII  UQQ#i Q%NRRbSwLXzu*Ny+dg&rSNdFjG*H kvATZZr.xuƆatn,SktHJfapȓ.J_JV._#GC ,G¬ɉڸ~-Հ; W]-yu;:xDpF @2V,_޽(WnM:ڷ@{v3ha`n-#˥vy_"v8l:Y^.ϧ`0Hx- .ܞ>}ZgoحJh-M/t,QX@, @ h4` X@, @ h4` X@, @ hG @ D8@@TI@"Z4#hr.'.,h#Ydn;p6ߐ$ee$%\,h8_k P*%%E.'.HvTIIvFus8󣴴,- `a  rm.'.Hh4` X@, @ h4` X@, @ h4` X@, @ h4`#m͖+99ZE h~G33Ç7aE@`ە4:de)%%EmHtYhEhv>Sz-am^onڿ@s96aEg^]qx0NÆUZZjrTpѬf;1"ǪЖwzŹY/ލuůURR7llꒀn EvzmܸI?ױcuѤЈ?<;y<g(==g߯(~Q󮝻ekWwVr )-su Dqmh# Я^~Tkꈛ E,Vg_HPE@ap8ڪT вfgwD3gЈ ǣ{ߚwPвn~%TũUl>Sh~_j mq?1kUzeΞ!I hrs5e_zM+J@Eq0k7ylۚ'x*A-Oى8sh|gP PѤ<O<5ϧs*ZΦmSNVQ1(.f-@ҤWF}"5V]Y*,,RQ1- +4c߈y=Yڷ܅p9jDrڹ[/Z˛D zPVV2-xf`_.mS8dL1Om zs hrssx4r=Oj=#,6eT/z-Qó$9]ܯۯMrCama{Ul]Xp84kw܅ hMw}Azgh4)4q٧_}9r T^^.R~?㲲:6h22~_*,,jpli27FG 3]nOsg0/٨qq = Zl:p8ԩSs鎅#GЄXMhb|O T\|Bms׷oC]ǣ9?~3W 4mK_zMrUXXG~T'wZѶq^zM7VXX^ٝL].W\芋O葇7|5ZݑbG~݆.M)8/?#>;uҪ5K,?&Fn톨#@[`B5ܹ˴8p؞ݴ=338B_FOUT$WMD [fqÖ^b!+˴ر]hzew[vKD uQIRA&h-f^XX̕gMmCW\9- ԴX`Bx<?=+@?hS;`|#γf`v8Dm^/p@32urΝѸ\.=OM4.,,b[?X>a8{=Q{g?QnnvDjv1 ~l_A 濧-[Dj9{O߻c&Lz5 維z~ζ݈ []."Ny+dr(">/M~@ԱcJe,r\C]6DVffRRRtiUUVaaV\_H Η)77['S>C`O,D'\aeC)nv[ˉ 4qִM, @ h4` X@, @ h4`pr:j>S)|>]2D%)x]Pmw|O)))?ѣQPJJ띰~7:jڸ~]8λt:Eۣg]s #5RQ/װ#UxfVMj._v~%/jFF{}o땗ӡǺu3/ϷޔaQk7RΝvڼiinݻk رl6[0 9|X\ǏYע-` ,4x[l:zP{v}*++T>}e)))r:>JJ\v=ざ,yѩSg]7JNN-CṎ-+NFOJ9NnǝNrrru|{Rß'^v:u@ #`N5hQ֌hĬW$I{vkUUU'55U/Lee(hU:dek7ϒnMnDԴ'^9I?Uynwϔ}jtJ5}.IZSmX.l4;99ER/{ꔾ|A4bbuizY*++v]dd׍7ϒ-rDIR PթS}M(IМ.ݴ_UU ihOWԺk"TW֢?+'M#jAC.Urr.n|s^7Sm}4%n5%Ik7''W99TѣL~-^$i1M 3̔FYR!өhЈI>}%IUeeeZvm.8%tf)hT]}Z=zCVVDߺ絫?ɓ'%IihIڼivjč̫"mgUWk}otGK0K׮MQ*pj>S nmFxFrW]kJF_>&_ffrrrUUU=uJLo"oe:zPuɍד>|`LCguS~LAvN$켞k5 1 e$R_N$|k*oƌ}*555tUs@yF&[0_߹ 4XWQ&\cTEhnop< @Q ~Әvtz3VgwxSB[VwCԸ IDATR>}unbF 3ZR孟m$ 1RRmH{Ūg7O=s|C*++$IS]13h4*(n+=n:.xenbtsLׁڂϷoׁ5eֽyop.hɵ#_mӆl0 ]Çf)V~IRɂ==W_ipvyFv$M =4bTZZkZNnn^-AC{vﯽ*yէC_Jvv;ӯ=Pܻ݁O_΁ [VVy͕\nYiIcph]as.+5>|o$iWFw~I!6Ъw팩~hd r: )0Wڪdx7穪J<]7,3_ξaTG lX6mcВthm mmn=nь0Qv]5551-{TUUiݙ7A+W<Q6Wrƌ/I:Q\C#xoK׮tՔ&'f7WYY-ԉfSR++}'˵nIWh#BzrrLZlɒh[Fn[C.! CTx䈼Sr:JMKSǎ]&0III;~St1U<Դ4eff*9v+?'fh:|v k>_xUW>p\}z}!0B;֛B(߯?P3!j?UJr\6Tnjհ#UtPt*9DE>YCj̸ T7`TVV kc*hz4-aߺU\N:SΡ***%:t0rΏ=m1cCѵnd3maa70 UWWpDaFht4Ӂԭ{}}TcǪcNai`PGt1K޵U.}p[$k`Mjj۵SJ[jUUU=e:PCc!8Z?ϟ_{[ǎj9gԾ}:Y^G]GhE4{{.lX>Sl6[L"#wj*+UV^f9VC)n%hʘקM3Z?B3.$`P%%%RIILc>;s^Bp>_̎ 1/{j>Ǚ0< X@, @ h4` X@, @ h4` X@, @ h4` X@,p$x  *(Lt)@$I>$$E|1!/˙rhV;1KIvv#g IRVV{IR˕r0 RRRTQ^rt XjGKKJdg0Q7=?JKYТq@P-ݖrt X@, @ h4` X@, @ h4` X@, @ h4` X@, @8].|=z4swɟhrs5ed0N;wE:UQrmܰE/2 #ѥ p84fhtegwVǎ%Iڿ{6m,255"ᔷRIIv Kաɞ4!$uX[iiY"izCL&koaa`f u8_ZYoX~~_:O͓|T@P-ݖrtچ3SxjG_7e+Zá^G{\n*)@1s~_qzGP2gbY_nnJ^%$44?7}ԶZ0m͏zy)PܩF>mk}83GO,mq^}uǤ$5n( h>$漷أ/,4gf;1?O+k@"f1}_Z:O~?6r׿D_#GЌӹM [oѾb*}9 mᦨq8ZaR}X'Q~3~ t 7IK{={Ν<ޜ1&s/̍hߵsf^wS׈HDān/~vR ]2Dx p8%jZѶ߁YyUnnvևf@GSyyy*Ovv6߯#GP >O }?jkڌMn>ǿĥF%8Zh~_At|Qѱ6\hYdeu뮉hT\|"'l:r3{= ݮYo4ݺ'Ү\ !O'7MQ?[IIrɮs8{߿#[azT8'9?a\.=N-_>^o{[O}9J>hɳ vDUW6^_w.Kp]Dwgmu4oDBT^^PxW?;ͷh2hLhZleZEw=w?hdg5o޼ ﺈɓѶyӝp(KND޽c:~Um.K[*\ܯO"ڽJ qrԯVN@5@˖cڢy=KϘP˯ @}hEjT ~F&t#ڼJUTTwml{TVV֯۠'x*U5#@#. 40 -؛jc]m3fNה Cnhߴq3[MYoף=b:\^^~T֎e'Dv!C_7]?^O}^}oa ꦛok|uyU9о}2;W^^ut6&b qqɀmwI@%@˲mkV,_essTyyWNJOOƶM1RuQ>dmy ᜟp:)hr.K=P 6]D =ǫD8Uq*'O۷AxF\ڵK7VXXj 3gis:~|0sV!h-jj >nvܭMw|3U)hr2Fμ^>U[4ctw)IEzz{Fר\n['OVT)}ڱcVX3ڌfgսk0E)oЕ f#u۬"$c%JKY$fkqݧ2332)vmܰ|ITUW@@P-ݖrhor5E,QZg h4` X@, @ h4` X@,p$ 6M6Mv{w*0dHJJRFJMMSɓIII   1JIqW]'O=evX۸N:목Ӕ.)&I :y\͛t}ZoO[72jWGk9lmUJJ[@Դk+W/,/b:o}6SSmV._Æk2kQ?^ӝMk5ޣgF@zFA>Lhlv:deɕN>ӧO+ *#\6T~nz|K[ަ}nXQ ֑ÇUSS2jedPMOeەQ/wޥ=ŽKNNou`0G = r]ӛ+!#2T_2N~+ۓt:C??~L`PNS h-/ өńgM#r:9;j)y.H<U嗒,Q0!+K.cz WիVJlޤJ%'htځv~6nXӿft*99%h}$瞕TЩsg|zWc:rpnݻqd)v]^6T'^ Z>Yj%'Nﯿ6bեkW]9i22kzB?rhJo̦4W]KXw}l6UrDNOj/>a~Q+6%I߶_%''~YnTvv6mXO2;dI=/Xx)&IJMMU#~=z)))I~_k̔~:fE}qn.;'Kb73V]vUui-;SmOߋ%IGƴg7IQ+55;ZxDԯ%7mg[Hkz^9NuZH6oجm:ZX;[7\_KjM%/CIґ#G"UWEIƌ}jԙAEvǏ^IC$á];w~nݻ^܎FuSTr?S"\2.7'!uМN.袘_;===4bp晭ZBէetnoPNNn w~`0u-^d @<9|HzCݺPui؞/Id>n;tU"/س[vf5ӯTȏ4Yr29;[Ql]ܯ Њe!JNִkK֭]SFFF#X4`yFS%I'O+T>uwg ַiէow虧f]߾/gIUUb5ҡX< ԰)vznמݻuHꐕvOO4Gw.X555lҊe4ZWMMV\!I?H՟ƴ_WvXQ֮hXjGH .\ɡ׭]qsFSꐕeǏiމTouj؈ꙗt 2D/|`gիwo˓TMMunOdhCNC|vIҞݻ4tp 48G.]$IEG6C -v5nWm\uY'qF[@@/\h @#$33SMUF}_K߸}31NǨ?qdi*9qB'u8׮T^G p3Oku ԩvӬkšnW>Y٠>Μh6ap)n[]24n1ڭݍf:ur2IWZ7? }5?5554ZEu1 I@/0 ~2iwZzS&o@*NWyt3Vifui}j;ktWvFՍ\ s\Zlm٢ҡC;$ILeuc[.]l6P,/W;G99:v(Sm6]{͛6]vrPMv^y?$}?0NԁB 1z*+7=wItG/=3C1-=[3-=C#XOyf۵$y|^99j񨪪JoҚMAn[ 9?(ˆcNJJJ{*1c)#SZvٹ˗dyuW&5鿣W3O@@aM!@޵+R/ dfUѰ%/{Jiii_T_kt[:GΖo+L`$i؈vfӣm[?k[XJ6MzQFF{?~,nyϷ+ w>2>gff~^hQh 0 }64Mv2y Y IDATcm $ [S]䔰>6MC.IWվ }F/hчH}c?mˣ -_wG8(.m2t݌Fԙk]oݰf~/Q^^ ںes*VnękLeeدВvwOjg #]5mZıbQJMMUYY98gӒiUS_;V2neBuݡ0lšUgzIWM+/U6M cƪB_?.Z.W2;d*#7սMoͳvfDIrUU>|oas1?~,¿|= av~v@>۲E=z)==]~t%9;[ahEϳ%ӷoh p8BݩT}{ouk!0hb{6-b'Vo P `(Ckt ;8UWXQlޤk̸jod6NL\>Pkjjt;6bc|FMmMnuj׮ Zr|Չ.K6oҀAuq~ꜝ-ۭ'4BFܔheZ|\d$$vh  h4` X@, @ h4` X@, @ h4` XHtTPv#R'H}>IHd9@Xc C~_3#v:c6|Gd+- `a A<Վ@*)4`nQ{~%E|1 C[- X@, @ h4` X@, @ h4` X@, @ h4` XHtp+iճgE|. ֫{`SJ%%e3Ȟhr%'w A@$cҲD=N};ӋMO>T3V%:sT)ZEq-3 C[-qG3G8*6Ap8~)S'|̊fҲx<}x<Omzrzݲ/+,Um!@.wg>|5g@%iqzSE@wqaY>jڷg^+;G2GF9|9wF ~_'25BwO<ZEmܸɴo~G_kBCF6ùg,Iii͎[m@Kx47}_Z.c&iqz6wA4bw|awȾ۶7yMh{h23N-ӃTYYB+ Wۿѽݣۿl4ߗhzzB#>O/|D_ݮQkZVԴe t 4̬7rnKcam˗҃T,sTZZ_wu*n7\Ѿ߁+l֮#ڧ]=4UZZ;-kz_]: hh4y=".'Ϛ}>Z@&_Z2F%>Э"?Kgeu6k@s>bX P?=0#ot\}&hɺt֦M)+ &7THMgMѨ^>HZL2m_[vi̯N&\9j0^{mʪ* 2H:CZ>= ph{b*]2E[> īDE6҈¢@)//WaaQĕ5i}@9{+5fssgL}g;Qf(v>K0&`B-PRsNܹrr5edM8.^S#ڱcK' ~ЈlaE'L:hS:vh:UZZ%'̗jq^u-ނ}a̮/Z_Ia}f S8<^|ٰ@vܭ7^a.!s6ss/k֍lt'D[r,㫪N3k=λn؁W6lpFoެiXs??뮌V1&rk/DAܳ}3/fͷ_fBl~y0>[YyNII9皀lT9777"|>owժ|a}sEF{#r.,,wߗ$-hqIJAٺ7[@D ee_Jy0Z]-C7|emf&u%_<_~5ǚ> 432̯Ԝ>]}5ݮ.]5`^Op:M0 =S-wH۶kGXJmPq }9hoP_FFl7FG0@kIiiamvx<|㋸ՆmSf(K?I|mUgƸF~lnࠁm۶={$mkBFF4M*mQyI;Ƹp8F#Gٻwf e+o+44R%%fJUq8zGL8s/̍9_F|>:+88'́ft0r"G̘;ry4k7%ѦMEeeuϖ-[6@lЌ]i7xܤW/o|,ֵq ^^ݻ]DIW\m:riɲ"FJ1՟[f=?>]:o͈yf^gz+Z0 Rn9DKhFaފhꠇ?<1˯*y?99[!Oݟ޽{E]bi_3??crƬ77zQϼ~1&}9wa?G]y_~L@\43ϧZ3fN׌}_=[Fy<憏@t4 F _7}NǾ9s>t-m5}s\nC\ <^ۻH;㿧nCr8K%/"<-o7|Lhh~ Szu tkvvN=O6{FKډ<)[X^ !` 86@K8!8@[Xr7NMRM D6v$#z[N?~s/˗|[7{{&:o|Āpӳm:;;i4@1B6@ @\W[OR$}x| /TVb]וRxha7\?84$'?~EW^Xp]Wr3=07{m)kuu3 ЅBy9Tr `l6L:#U@`J Wlt"(>[+4Zb,1&h-fvfF?$innɣJ21o].ռnkL񰾾*ZP8na'x ‚6zA3`T{@iqaS  ~RЭ}uvvVXBjΞmdG4ƳV28蹹YZ+? V@[tuqN?@4^аqzbŢ6'D4V5=2&Sq]tYW\|%HU>-@ԏ b˪RcȈƎiddDY+M|xY?57y:DGG#?6L&qҲ&''59yS333b @ԏ ZF@|#m4L(tݭ^  ƭŢ>x[Z\\a61:|X:|X[nS.{ZZ\ҢjQbQkkET**J6){@O v]:dL& %I)e2e9 yu:TP"ny]vM~m~A ϫO}QWWޭzForȰ$iee4^/8h]?Ҳ57;)MOOkeykf,/keyY^qH+/()*(N+(J)L(&Hܩ;x!QRU*lnR+*{eKeWX,juuU++Z^^2'%*@m![h 4 D@" @@h 4 D@" @@h 4 D@" @@h 4 D@" @@h 4AbHﭬg$+s]63U`komP-l{ 4u$9V֩Ϝ[5+Uz!j]ؐ6_a5B%y `hd]+5Ax6we͕f S ӾYP ܍Jp *ͪS_[77=FPug--KV^lS}JHܒdllAv:9ΕldL7mV3;R=66$@JTN9 +wj4[h *#Yu+8' rk5|oAXI~%Y+H6+bZ h k$TsP]6fͲy nMN.AZKIN)(@6gG+3:1G2$?#'$ DA'5q%&g-`K$c*!:Y9A- Õlު\Ց1ryYYML Y1zbm-ֹ1>|A9@߀S*<[=TP3Ы1IhmÃ#,tn#ߡ#4q d7u%?#6zzS睅N p1uQm[g6t*Ãۯl&Ofƶ2ETdg#uq6^CB3b[Lyuo3mR@  %Z8:409 u96@84{N"/&ս#BK "@aL&ۿoױm7-@r3Z@]-IgJE^#F(bPCu(qـ)ocVԜD a-Ks{׀@<m)IDATP$hή~ d-s_lðA q݄r]?g˾'+sB8<$پ[=+d}_eߗcs ?ҩ:|pp?} ׼ÃҎ3_W2T_Oz{Z\=-,qK}g׻/^xQlV3/D{ o o@1pdGL.9uutu ZX$@#`d|IE iCz=û:K /|Kz:u:: >޳{o#ޣ|81:ᇑNXqR*ffa4h%t#jd2:G AxZ^ZYW^9=s\7&/`Nj1}ZZMl\^Y]V΍t կ~Y}wjT*[Cr5DMxo Ueϓ畷\LwBqJԑ/l{) /?iz V*~y;rhxr7p靦{ 4Ě$ZQK;OPO~_J]s/>$Ő!_FƶM٭Z؆u5>:l6fdeycL؍ޞn}UNoʠwŗ^ Pr9R.7:2:BP hD"qe2mo}_i}Elvσ1F_|$Rz rT:H<}x|XC[ݳꗿw?Y%;h%NasvZ1Fɐ#YRyclT0*#GQtkW.kT6&7![-YԑyvnVWo\A쎕lʔ$;|ؽbQ6?G?RV_Qs<{Hn@an$hDL&7vK+Z9i;y]qM~/v7^Z};+D_| =]QލW.?PBlZ&>dR==RBugeՍh*#z^\Z+{Nؗ y{^|)4nGBQq5?mf7&ohrz9t:Z9]q @7]54#?wrO6f4==w}OVW<׉9@(#b;==<Ţ[S3S;)u5~dn&V&\gIZZ^ĵ e34Ph a>)*+6{}gS EBXhd3N kkk6 /+YsN؁^YD)jfvF7n=?nCBUh{ӓ߻7QuFslh6@4}ffIgݻ/uu-,3MTyBYq5֪~G+kzvZ3y,Z@kdq`7kmmMC:nT.irzRTqX*@ h D SqY-,ixpX]?Ң浰@pƁd'Palw78p$J.M\RWgR­o3je9/=)K'P3 0u"AN sZZ^TwgzzIW.QXV-KXYHAp62zFrB %Z^^fn`.xEe2R)%lFe_+Y#Y'A_6&F\Or|G ?!:յ-4KZjTR*T"P6|˾9VHKFjmw!Z+9F#֑+V^z|g.*zǑ8JV´HIdL=4VVV d|`J5TvgXS2dd|ɱ1r* ~eU*|ߧ 4hk<ϓ}T12#qH&p]9~VN> @ST}ߗW.ol<ϓvq@m|_c丮\Ǒ2#9NPA2&(?o| lzolO*}kJq} `}d *D5R" @@h 4 D@" @@h 4 D@" @@h 4 D@" @@h 4 D@" @?5RtIENDB`dialer-app-0.1+14.04.20140415/src/qml/assets/dialer_pad_bg@18.png0000644000015301777760000001067412323306661024375 0ustar pbusernogroup00000000000000PNG  IHDR-$tEXtSoftwareAdobe ImageReadyqe<$iTXtXML:com.adobe.xmp zH-.IDATx]9g`cMkj&6QHJD-&\7mi^4iMS6JEE7ib{SJ""("sΙ93g8"ȲK9,?;kˁ[8Xs̘czxb5`~֚csxrK)m۶&a6,qgO\VCD֌i~WbiX&<ڱNC~zx]c|.~,=#=~#Վ qttbcIy\(^ڡ Ðvyε93oFj-vp>/bڀB 7aR)aGCg9, |AI"*)N.s*Bn:RoekzzFJ%TJK/T]4A޽[FF}Ѐj Ȳ>11I ?>|pCIASW $*P d9G u[J/gQab0"B)Y o#JcccP)õӇu LPb + 2U;bHjk>hbmہ*. )I :#,_ +a`f}``zjJFj ./^̢*eB$A|h& (YԀ2 lvEc<í2ۼnݺROO$Ԕu̙r{!0X,V 'H7!_333xV|]k/XXtWGH vRAp{ bVʴo> Cedd@YqԩLTjpP`VZBtumeYZyiӦ>Yx#S%ҵȄw͚5}qAtRxLffƍ5vvN>Vw}֬!˕iB1pсt=Hbh2Kׯ/g"hioppx FFFN81JhF P"-џ 'R#mgO1e" "F%D:eQ"DL JkB"a$6pA)#!s"U.Q^経nRF!4 \A%DuA@H;e q(>]Gڋ4n0@_GA BnP 0BriV:Ѯ;rL&Q DUd Av%P DyA;E .#DӢg!{9DC!1QX(!:k4еxL] ikDid4A~P4S *#옐PAK%j7 d $eJLQ`aELDy@MBLʄ2Sm9BAa[( $8HdDZĔ0BB R&. ߎ&AQ!+] 聋юMDuZ! 3&ae Ap.!dKe—}eeIP<b'ì!Tj\"D62.eU>dYG%dJF"(?˲;D9<ӡh!PLYu=vQ Z hE4[ P?Dr(BR'Bض}I(sD)XGʾMu B'}N|SCK *h#zLD܈ H"܊fX܏7D>7E/T_`AT|<۶OC5=hOW|^|!i|>MB !ݞ.׷>7=:dy^]Fqh5~}zif:3tkto_R~ <:ҥ!?tR#tT羶-r?Cvg]HD"q+|[h~es8ᗹ\džadٍ__XePO}.Tb)M~V؋P(HdFK|]H !"v R_.c]LV AiOq{ b$Y=?SZWz=v5YRdE+N;5,ӸgXO<\T^hZuv;Y)R Q;eر5q&%Z@!Q5eP8'D"ڽlb"H`?=ӮE5 LB`ң;Ûʰdx6ӯceP(d]篊@ٶUH[(ɭ= ;",Mb cmt?#ށh4A k$!d2yiD$X{l(Ʈ+Z{~ 6QR+ YM @?lAzZqyXk/ݖvoj ~o] pK 3^IDATxK@%o#{/  rLRw"8zУy ?*i?|/|Muٲ9`ˇOes$Kme+Us$s)-唛9mxrV^)'y#xWDN1jD,}5L:Ƹ#z"Z@ 7Y@22zϹt_Y@8ȹ s$s$G?S=EY@G>S R59*)rNQ;/A+26Zю_$lG e\[kpŵǸwj|||~6Od>IENDB`dialer-app-0.1+14.04.20140415/src/qml/assets/timeline_vertical_line@27.png0000644000015301777760000000220612323306661026337 0ustar pbusernogroup00000000000000PNG  IHDR67w|5tEXtSoftwareAdobe ImageReadyqe<kiTXtXML:com.adobe.xmp ҒIDATxA Яiɪޠ/1z.*XES2C4 $FHYVz/!}ON茞гsܰN1UQωi}y?\ L*8 ,P-t{`X2M+n0Y`>ӶCaFaFaFay 0\1vt7x&IENDB`dialer-app-0.1+14.04.20140415/src/qml/assets/dialer_pad_bg_pressed@18.png0000644000015301777760000001120512323306661026111 0ustar pbusernogroup00000000000000PNG  IHDR-$tEXtSoftwareAdobe ImageReadyqe<$iTXtXML:com.adobe.xmp [/IDATx]Ko!CRC/)ncvi]uQy'HE./E0 "Hw. m^}%qĖvdIL3w|9"G9H;<pĉl2*<icRa;5c"Љ1o qvIIz$mΈ Hlu!sskzshJ4TuY¡ }݇$(x!`1n8PX9sLgǧ}YEa@򇃒Pb@&bs1 "x7ێ<0)QfR a{[Ou AM"믇[JE ݒħtت~h :]Iuz[.%Iߓ$:7qcI,|b6!|A(]0f&_G*Z3'A>kVBQ")"t2 "Q& 9+['>!Eb e[V,'Td("M2vV ViW| /,4!x oK( k2L"m ՁrAf RxS4%χ7U2IO&:Y";lBW_+30rCx']A߁w@2)Ͷ&!V:Fhx(P:`_=\BHҏ7!Rm4Ď2zLȡ]'_u !$BD@RpI JdzꩧP&#'ǥK%bXJ'1i]::O?쳭 !I A5V1rZH (T_KɩhNN)K%A%` @P"566mK~:9ُ%JİN( dbb}yc 1b(͵scyy1'Osb[їxarΨ>}:Z'#|Sc=0hI0"!=Z>w\T[rI yÇ1!POo@İkS" 62h3 9b|]f.SVn&r%ST1!C- @Nrs܏d磖+3M,GU!;rmO zH%FgϞBt@X2AB>n`Bڜ l%^} 2lt:ȦMb.` S:eB֕L۔B4r%l,*)O6"fM=L!EZoM] =.B&(mBuWxJmWªI BŠ4Ғɩ끧L˒j%awbb26!)vBKnOueecL5S%6@XH( TƚWN!tdjv%Vp3v%lCjW4Մ:giL%!h 97A ^!ƒ)8)GP `D9୮l|U)x^̶+AXC'vG vu85",4k&X2h ϥ&HW g^!7xu[=ĚLTjpL\MXOL\82jx:Z!4 [MuL1^!qRzd 4:OQCChH dУ\Jخ C%xu`d2*L1?%=aT*ɤm ‰ ѣ\AX馯+Dm&uP[Wqfms@tR ARl}J lU+k28iAXy՘\Kq3v{h .%`~rrlMaB}yy1VA\.gGP%K 5f11b*S(A^.|G1fYeaSGvR"}o߾1+G mu%y5 !011Qt:,+%:r^$!R4v$1>y)bG*O/\p^NnGPs`zz3i9Is! KxbZr}\^s=B}gfff/n1 ܖJh/r9!&)z br{޽7otU݂>~)C;Kw@nK\O'53v) eU:j;TP,mx "uxС{D|KCݽ{!Hruuu?zQ&Dȑ#?Hnįjܹs|t/$ }K(HJU)d]1w$7p֋| \Ġ7  '؂8*bɶ%ch⼠9u<iN|LS㲛Π 1$,U(#< $#0pi#=pHGmѱTDZHTgI.oV,EA**FPBJ@2k?%fnVef"zhC濮r"|e^[eV$D׉WL[VtUuv#2MUu_ݍU*4nDLTjT5@ jٕuwun}m*VKD"];*2L]݀IUDj&nLU#Pvj-ՙS1LWյQUM}!j*}|+KU̽:" tCLE# _;juNQ?vkz?> |@D<{GeW?*UYfQ**fsjWTwhuO"UThJ &bZU`"**uCCDd~*tK7CD;]]UTЭD糟nsܝXꮂ?Jf^NƉ7# w?BgUEXkږ%r3@ UUfWR L-2OF~Fgegv_2FyakvV)DEE'r4DT]UΜ9Zݍ*Q]kEUW"+UAD݅hi>P3/ALU՗QB"tZdZ*P5 ZD0#pL]E@ϡjyOeJCnY0ս{t7YK 2SL}nUHgd;TUyLy_Hw;2~ɝ@g>*`k"bơLޭPD#-]HTH:_*Թ9efF8k-Un$jrkFB9;tYqBq_k-"TѮ'Tgmw絪3Cy#i4yw{FuEƉxnr,4L\q(4"ŋ*'5? ۛ'#{Z9]"2lN ߠ)7U'"UN=ShUe%wPI%f (DD9DžRG/y!ymDxښ9&~DTO˧Kp1tWdEax͇ѽɮ<媟,f{;eK ݕike2Vһt ps߫%Z"DYZ`0T3UsC U!<{ u83wu3fՑV7*ޙQ/tmԪ'9c%STļ+bpSVQsoWf.ݶt'T?g-n= AD:QU;TXeh4w/ɮ6"Zts^Y:HTwT(|EN5: Ȁ>PAys 0#F$s>47i7QBUgo2 9Dّ'z>yA&g4 XΪ;3AjkIn"d$033Q](*Zσ༙UݭCG4{->|~T2q&DUb|h0-fQQwlUTo.QAYs~L;TT~_FElVT;9TgiugrT=*J]#h7=ov@?JN&j4+|>"~>}o <+qU7on|`L"EU/dUU9?k]רDeK ʪl@P{S ]3j\WI5H7tϖʚ#ש+겵2 j{ 7MtuTQ)"V]*Me7vfTvRW"+a" !)%%¡MsZT~ du`de?WT ZUlHVV*]afFtfUqJ#2w_+#:L LUe6ǶԖ'2|t4SS!D?;ikU!LU"ZH MDDly 5yk1!1  *'3]͖cV5ٍAGlV͈r`瞘&m[R[$"LUD3"W,53pWVV3BG5Hm2MpkmΪR.9@H7/5HD9/r^LVTkv*T/3%ifFҺ* "oDRyZmٶ*$3j ef@ts?|Z<}2\fM=^4Md^D>y#`zN4ZF{y|ɐN | PTF@*3(UU.O9?yV7(~:GZ GgTy\T}QzW 訄WoW2(ĝjE)9Ate23eGhdڕݥ&8Wut[?>y!Lq5(uoHEh7fgGYmn]{oW1^d,MIa&ZಀڍZhh+3+'Rj"YE.i nqEivJU,] vͮ֙%d(""Qws7AT`2EP94!toYΏ=/?LDd{Ye!&eՋ+93b{Y.k)P2Ŋ 2lD8}/."ߵnߋc5ΚATO])N:&֕ "P<u_?**+;r p'fLg/cAT\9 ת tqj3*~"*!y="܍<٨iw6oMĹUg5LmQ9YfnjU/QUUe"Ktt-ԀKT׳4D!US= 3gO wkYUݐݨVBKw,7qfɨ4ŖP Uța1V9 }O ܳUKiX#57U!S6CZA/},RE!Vd62T<NAP[̠h]sZkY{W7 %;l7Kt%lI5/ݧPTkm5JQ=^L}g XqSҨY)ʊ̙i3k*FV+;kWA3%UKbj眫(nx8^L;!8 op,=/h!r$yl-]IpGQ2W*W 3pQ5*53sЫ:rb_dŪ;3S爩@1χ3?OncY.EAE@;D)ZcrY5)B`QE!wy @$z>['~癙hy2Swt:)4SaF3=`546seBik{_b^bj@qj'I"n]MF6?qltTvv waboes^J?hY0elB9H%(JQlO|2D#55s+PW.UyRq3] 8!w%ci@d{=^ow-w2dDZ"ptRkDA/ZvY{OP>&IȴԬݝW˝Nff@fp1 I!|)heͪro`tZHEZϳRʈ~$&x>(3ZqJ'TZt-p=QMIgPPQ]3RydHglsȮQgvUF @|爙G?|k%28J7*J4ZtYgp^" !tJTv^Aoq #U)ծkkEH2 }*]}j*l,MLq_]]Iu  {93Ulu#P+&u"|ĉPcB*Ғ?>'2be_ ZDє# h߫Q Id d7(^k-TU`f dʉTKGuZye=TRU3*|ZCLhQN2էO6yz ADm习iDt/JJ@v%end溛1n|93eB%݂v_˜gmjN_¼ ѹjkIIwgAf%w3WOnחGT.<ʼȪy%`Vw`"j23FD` 7[MV2링2߬*\}92}キ5&L@FjM?̴` |3]ii+8Wb\<)D7P[YRp5"DϳȏЕZͺ+8<DTԌq W׸Wis~6}ZZ)tcY/oofr'jTUn~6sl,sWr|M*Zk #{ުAT3'8?kkY TU7hN+_|-M}a}Mr*]̨RK:3Ȍv'iyWEDԕpX:uW[{7"+O59|1"`]9v>*Qͽj)5}Z (|Tc'=Pdah.O,uj*; C04ZWevyݟOgE"NDtq7R5QR8y ${:jg{s!o(SnF5uJ9FwϪր=,"=nUU΂ͣf_\u2zDŽGh6MT;b3YRQݾ9en%vM< ֪J:puwuqZ"jUQ]jIGG- S]'XkWQ2{۝ 'o{^P~]VF$ o]@`&«#E{)- Cf?Z odq0p[lU.4Cl,^B٭{-y $G(+1ʵ9!1NM;## D }>gkdvl9OZFr^++[•z1'-že>T U88@5"f *z.Dtq̍h5_b=fmŲ]U%9{@G> ۝!OpuƤS\(b}D4FizC2m`ų7'e86LH?(TԿTT}Pժ+9}d<:ygq>/`Mq@T+˯HH*ޟΠ5VG //qy-Nk_̯i9: ~gf̙}5PU.{E RX 68ylRL4ͪo(ĴV. 2*e,OS#}/t̲w€HV26f$krqmmޓ 9e}m-tvUPh:4sRVUjuk$Md?^Q* OZל0AID9`@W%UQw3{߯퇋0\}mp Wۓʼnf9fb7f&Ua/0{h^?(RƳy\V"|%!9Ͻ`f)˜/$#-Ihw7QEDeUJθPMO=?A+D_1*k73#Rl#s'D:}|v3'TVu Dѷ3MT|.s,rb8TK DtN{H G#}155sw@U*D:!e Qc"'+0m_n(FuԠ\nD'<0D'NRs}f(#Uhq`jhI|*;FE'n@t,ca@'oz+i&E@a-#I]B#ayKiUl1U=@ U"R͌7Nw{@ݢL>hDTF*Hl |xUswѮ+ĿfY7^t-ML!D2>`›d&',St7+N~d"LTe# 3X¥[U62L!ҽtʡ\9m`}mq-^˕vSGF֘h7ц]e>uj>I͊$]M f+ohf=ڊ\̲:OSM?-"Df@.3\;Guſ gw%hU|#.3UGr ɱÝIxfЁʝnfN*IhgTd\ Y͔J*> ,@\w:9ݤTs98vUVw2s\d"N%Q%f)1p"G=@+$OuHV;Mp7P+^QJrorեV%P N9o@oݍyZ{yܾ̆СAi1 TJwZFeZ g8-LG)~E1 Qfgo_՝y\%}m_*lPB_IL 2RK`Ok1{^^#ߜd*B1 79U&PH]?=OWTٛ^T R Pُ<M)uՋ2N֘ oU9!1yl8OOQw/|:0W|1U[$̬.mMQyj3 pJ0-!X`}4s`p~-{*n?L)]h,5U;Q}-derpT^iy2o+c;ĂU`jVUe>j{E{NV.53[=H EQL6)gTFEWgꦌG)p2*33)vN(/O0L)-FjO(^{D&2b<1",3[DNBwի+_GZ/Մ~6N脈@_kQ)'4Sz*24*I\ER_݅f7fP2/enyvtc}ry87iHjsSSAVVM{NWUdUMz̗熕vjjBWDlHO} ݵo5,s=k0D9Y}ZhS$3|/c.͵I{wz(ЬE@:"䁫?33[^眦X׉CIRq;6g?$/C-L0PAQA +ҜMy{_7^hN]t @wEU4S]-efU4~"OZ0Uٝ2Y2 q%e{WFr3뉈vS2HHL oDYK.ZTq3jGMlx|1`HL['*_jF842F)5&7ukae1ˢ7m{3S*ӝJ)y)VuTV^//,)謸ff*$%={lyKHb2Q7zl3ͽ!ݫD?*A79A};Eܑ˜b:4 t"4Vy"/Qzʱ9X`Dt/L- ! Ɉю|n!lzSd[ *28 fԽn@ZXq#u9]l, "aPF?}'Sl̯8O뜠dvqyÛ_+qffCN@@2h5%luhnUk#F2ޙ̛YL|5fA9 wH ǵ2*+5n'_"SaўqBiߴ11Q _82UZ_oWkif*nﱵ2Na_]C /4se|]^Y{mC*_Uaq;OFVbj̜`U:s=DL45Uʏ;!3"缪gFUUP,ߐ,5iuy"kUUdRInB.&fb3ըzKݘ못4ޯѼZGJъ)vⰁDE2>[MN̤ⅩUhLԫk}Z|; tWɔlZyHe ˹se^KkZ1n0NғKYRl+sC|^ŜHrt?3+aʪq@evRRbVf}p?"KfYSUZ|lP7ǯmok""]dk̎D@|?ՕZr¯ ?ճl~S]jeɳ:X\{zHgXc c̒$BHD&U'*ݝFCPjZv1Y:~ !Et>w`5#h`1Dr|56Lb(.?>JO㼁BMMcO=~b eWw)t3=85'&2Z<-3el *&3)ni~EԴpM5iF6S5Ԕ7$2|6mweREr2L4:|veFljiڌ#-ȑ}S*0!T_'Nf73DžrVWlP0#R61J5׍gQ`CRu:-OO|tZ$+YqКZ7c2wB30t3E#/. u^ԓRHfD^Kqf"Ra7.tvu\+fvh,__: ?{ГJqsm0EKOdWx㠳ڸ3/f*zl*d-C֪8\ %qfPf83Nw(:9,9Sf*zq: %$"V31eY=\M F4hMM'/q3Mq0k125:I\,晡9KUͩb7ns[_]ǵ+:f]-]QK=q*#"ߋOoxqcL{WXqmxT1Y#b*_kS5Ӗ5Ea3.."fԐHuG'HyM3=2'o#>KnWTR#ś Oy\"$Hx\S=Gt:FW^[Ũ#a(3{ D[*HeeV!n'F1c2΅aU$"X.UK87SvP{|w54IDeQ CykRgdS3aWr^,m<{CwY>DNn! r jU2#yf$ U}>SsU򫚰YfGt[D#A{D7;EUf^UEkeS5>VEfFF*IvyZaWI›"^ݼ0ֳA:HnVS0p;ʘε:Hw{dtZn4~Q*[e0DAˊjTE]D"chJdOF_7uL8kf/8w4jU>U ތ_KMDU}mP:?0kMp1PVC&Qw5SGD-# H/b'iG%=ݮa'tJ(GRe쀈Qk6NTt^{ꉓ0 zE Mأ'OOv".nJUIēYYwcpߞJu̘Bi6OC)k | Y4IK"MO9|RxN{-ą+TCݹ/s8jh|M<LUERfEOFLm/!dnfEs@^{aH)dمQh [ {)!19 uSjH`r6<̛Feu ơW:VqRTZ-H&JdIf99U:2W󾯙Qt}k#}vCRm3"^qWNZ?-Z&r ̬Fi [z3[q]Qx2. ,(KNH'N1珊tL-dߐ sϣ_LRSnqvwX 5iAԉHF"Q4A$0R(Vu/ӕkxY%MQ[YkYDט#B| dF`>VfFqiɴ,g5eCx{G4:cȽJ> שTE6CQ/h𸳽s-2t7:S2VDQ`[`ًdW؍\kL}:YY5֢QdLHh6[ۓP;1rLwկ8Y[k1l#6Fi,n==[aWq[m!]rCʣ)nKk##"T25N%+ШAqvSIZaWu OZKODO+DV4G<6QYʞw?mV3*g+1$z<˸#VNdLZ{dI6Z j:LUPukV迸.. @+I-MxW$H֘8'GF,eJ ٘-|c[>S3oGRUvE鱍/2"<'~Ji1Zu ~_1% oAcȓqԖ\ݕ' "P]k1ID܍D276TUٯ( l7hR}K/(I~bJDl-92_]A#.Yy@nVU{LCIfH sH52YU S PR5|mVꦸU>274Øx3B̳h9Of̭Zw#!8C"ԄOjg'1㪾&&6d^"F6c*s?#ϴR$3A2,[ S=q,!{8M46[WpDs B~SLun7V'Nk Ơy"UݾEIxWlWI'U {7Sfdǟ{NU*.-: 0fWYN}(ٚ1AM/=0ܻ{Lo|%:p\IYd5w,Ta(u բcPO~"ng-i`꿮@Y#^߈{"k/uȪ_7":NedFTZ^+s>;zIh5=T uY{Sz96+7rҗZf b!HڡZp*}gbJOE!U%LC,7^F<]kuH|b^h^#|їO|BA{yA='*TY=2N&q渾<ͥJ܍HRCCux7e:9~+?qdSI]7mJ#U%;`ʤ4M1$DN2Jk]lI6iZ7 L7wejE/gkr=AhD?ZSG9{7e<w@|/Y|a=P*A7.Rɚ*DrWkhЋ@@"s^eZzFUU#z6]!i͜:h*'?3! "SPD\2f~=2p9#D(/蜓SͭFfl\ExN_J5hުeQ17}g@&UQS")) S$f2ML]l3 IÊj?>$ xR*ja@82|"2{hj_!B]^¦F7!$4?QzK:]w«vUU3uwT/gD0sy 7;.̠Sjᓧ|yQ[6VAL|Hyǹsma1tIIZe f|elɇ_H:aqh6RZb*Uϟ_*$O7Ssʅ@؇mfbS_5*nwfd߻3k,J4F# 2RU;F ] 4D /Ī5rz8bdhUUi"kzMg{Nr?0YCe [BpwML~>N&kh TFXfYʺn22NenLvjU4C k}#n*R0ݢx_MLъ~眹[DZq+,Y=DQ[-{"ܫuRΩmOuYϱp'r%,_IO** m9 uקͺ+#qpQߏ6 \ xz3zBoKkiEXBGA;>Mrwa s"ɴw4~A׺ZkK5G /={j}c>OO9)is ¤S׃Pef˄1n=F"5[4w@E}fegvm YM%'F^L|9U]hɮPʱ|ٔbf7yxׂy꜓}Q&8=6*phQ4$PT)@TOm|H1DOeU2{'2OfgDF q^lVdbEƈ2zy(y2c XS=콺`=XEjQ@C&t,a=̌z^ =^hdFv8U\a+Do]׺Lz/SH!xCntDIl\x0\JTLh9Ugvih- a*}lrm#OHw3Ո`=ӂǪn b!n:QsJEgȮiځt~8o dUUl+zNp#PO) XsިI^{YGK V+Ϯ[$%~zs $kCU] ԑfeeu?997Fbft>qD%攪FX}ZYjTNj=LTpاJtH);]А06oWVhg/oZ"&wK 0q"*{edwFWjUyIt=y+2$"[GKsܡ~IFkAAȉ1L5}t߳# R=Uz ʀH(0:U'nZH%=1O qha'Vd ‰{Hf璄 W&+qd>s3:S|bC{1Ѿ7^7uҩsgs\@9L~ ڑ[$J)HҕαMfMDšY`U* Y䪬BwšFZԝs4D󴻋HeZ!NcMU) B%v +n Q].fuMcɋVUկ1YI2~}>9"^Qm&f{pK/UE+T&}-ݝu4:ϭCnjxnLpDwff) LF՚XZ1_[ ߉ɤIʬb: w{.Cpb{p渙'ww_WM2""=ZZ&3c]'j%6s]{VFxacjdRͳCY\LmsC|>\` F{y" rO7{3fr?Dd | ه2m55~3E5sxdS=U<`OFI%k-{إSؑyΉJdPZȬ5:|f dݦ}ܮ Gy*iq0Κ̉SWZ.3`a:9Dϭu`DTjĠ&uuU{ JǷ꺕}*; Fٯy||ٖE뷪v~D3MLfqX~߷*mf ϭDJp%-Z1s(ttM!}on#"jYks/a91eln0 dS->)KrqM9/sg.yof/7P'2*+bZs(9T<`ƙa=/0ʿm1aQfٷU@zyR=m elɿ$Dds ɚg}'̌a{RÐZb\xcpM>a6&Z3bCyEYfqv'֪{U?wҩe=E:M-Bi, sjk/$vPuqwՆ0Тf&J<#kiU.[sBH|{{p 8uv[T]b7C/9e*_3*7 WAR|A0],W"': ijqpTM.,ZTfqk4)ѽ6`ʣpU6!T^b+Dióm넕 l 0&@2+e#inT?-;'dȺ\Zz;[2(R'Ɇ?3MU"b.4̐lfTU_<273@vߦL$ ("vηnM@I;*Bu d#֝5qމSJ6èԧ[B}}A8wyle27|e΍vSWBޣq;*㙆8J P3+45|<:/D H0܇>PlNE%Ս_BX+Ԓ55>aR,aWqwr=,Qi8UU{V f'}_=1_ u/R ~bezc1ӊjV|vep[Č&UopC}qMd?`p 7unRVG/r:D3==yltd]߷MT ?#_2wFqsASwCG)սFv^ޤ6##9)S]<Pu&j )iwѱCqqUf$%'DEݯr{Q~Ue !qe^V-6k&s2εP-Zoe$REТl Ȍ) (5˞S408AV"8E_{'*8_GȪ8{;О&`ư7 I~쵙M.@ED°6dҺo|20es]m˭G>po'Ѝ2z3l?=LU\.fL[oBT JGceR6 t*֡Wb|JK|܍?}x|gS[~mG]a|u}>ʜ~ndfta"㬒qKEBB+^?'B踩؏n.VKS,34&^1+OB}e'JDS Yu 2- %NeVKj]0l<ƭ\ᆫX?$w'J?{(ݡzyt[0["'ij-]eN7o'Q呇9nz#`Rۃ}=zgΰUqex,(`E&OEL. 4ej<"ս"kkqQq]>}8 68%iT`13j逌 /YeJJ7[F *<~ Bh7BCf|Zp*MRbPyaddVhʌlqp9>29SnfY}bT$w N[nTWt/sHWO'B#Z,5JuC#3NRc:`Xg8[lJE}?N@\:QTGhTfv%6{tЯ4,,+TG(:;L*_dw REK@QUt0b #n#mfu@&+f7J2͕w28JNkVs ~\qݮ,\;b 1^6W 1U4SG] EO;E }CUq_l8gs2k؁>G="Y=|5WĉyFcG}+D̍т;)9ݪ:%ӟ'_^ͬltb߿oJCcbQp -]s(pB rUYP< _%жw!OoM\)457Kry{-22Ѽ~1]FQ{bhtx5VVh`7Ad-$e%< ɮc ߚd/C-SB"Qe8+Z5;1-"0u<4dU2OIwܫJqN4Ii`\u敕BTX_Z0c㰪`Q#kVS? "^̷G}vNV%F8hVaܓAr"Y9A3ӪcT} 6:/1b+ŝ.CG"ӽ?eƗy"#`{{~vs:MW//Xhk4StJfN*IV]|ԼW<Ϻ:+9i a^#ek~ܥdv9y\jØ]*m&\D*st7ns5ud27F8yEDžvJTu#Z1cB(BFcLAW(awC2uC'ݭrR\d Tk,n4萖[,á*BS4 9߯˽޷tPsN+,zb|Fd;YH+*{:\fIL:ynjφ(]65*Ԉ^ =0k9XUP-lyw}âxUH25fP89fFdDO~˯p='#bτM~VH4ne8QtvEG9@NQRIG/"Ё+Л3Ԡz*Zۧ{LozS_kd%]F*plB}G7Zvx$CDVv^?h)*mQM\ON% +)#Եep넡+SZ!˜آ兂M>h6WED ᗹUYDVRA+FiWCórԪrLddDs)tL@fн57:֊,믿c"%a/f,Uko*do/7Tj3;ϙx4|)8ELfVDP'̲*2 0܈JUxٕ]i9Ku7;Q5vm*Sf"盺X }ޗ6hTCb 曯r{n/t)j "uh8Du$]Fwvt?Otv۳ʈR9IGN_S]& .f,>:i&^+CI7V2eRjYv=D*~ᄷ1:LOxЈIlm5r$95#?6s>W)72$'{薙Cq"2YMg?y;y u1MrUa*+b vbZ3iɽbr=\U7@{^eO$(չ9bu,T&C?|`~.d5B@2覫:OD2zИڙt.*QrUll2/vUQ>Yf˝28gոL+e `.Z.E*$V2+p'QORrU%O(9X1OvWPzv{-P(7ǟqn.}'rҴEC*W9YQI֤+(U%{Ed9McW՗%S)տyBLԍr[ U8)Q&$Wwm 47ɮtm)>fs ,vvgޞ>HeЙT-d4J?S #}`~GyBse_42N»t3!^~5QS8nntuTBІJTKN8.]9n:eՊ&P١~\{U[SW;6NPE%q.ڈ_r%udtѰ#KhͲbӹ5Um&w,LU{vޛw]IA4z'PܸUh͵9M~TePaotT^$j)Z9~>R)tEfR Je}݃gȍKir^l.f`[lcZtuhlɀdijRrs7"urzB%\` hc*0ѡoVI9"M ?eskѡO@TXE]WB̚IiL1?Jťh,vmi-}cnkU/6F sH2ᛁ]t%΢݋}u;as40*;GqSPJ_VYw`JW'Ⳝ &]^ D0;3&(43ayN_*38oEA/&*sZ+PUd ?k83s _CZf?\g5,C"OLܸ]BtS,8hE?o>N&b%'D!僲p/#Aau J.z;# 5fT1ugbFrmYW_gOU &3PmPQ+3<2Ā1{4`lLԨ{>AQe fa&/R7 Z$UHfu(Xe~#$\_H_P޵Zw5Lao _DD\d켊l\x0Z wA~KU *07́(\35/tJ1#kd̄jwY{dY + FfU>xHI`^) K>k2C-E<]xQWkV"D@ hp5a@B2?|`43ˌ%3: zVbN| NEW[C9 i=JFj|;"\- g@E2d];naA \g.29xyXEkDI_\N S]J'XrwG>Ó>\4'5 UU=j6} 0TMyļ::]dⵖ s t It\D]PZ~"L@TF_s6e>G/lBY{>?6V)ћk7/ F\;S|S5{-"k-%}ݝRr?Zl*1B}iy e?Wbxj` V2TІMD|='ޱ|`&*$JjPlU'Q/Ϟ,?91jÀ4 ]?r,oF@L,aRA.A_*TdhL];(Uh]ʸ"^ 1/}AMb/-j N*[Z @zSg=H wg!1<ˋ%QagmI,x?V2lKg >n?樎!-G+G0LpbdjCЎSݦ<Esę e1v3Sc.rqfZM`ms63lZMqj?k! &Ln&>R,;8oV<="DĎ7YpfhWRhv&!c6a y7 &n 0cMf)vy{"d,Fb"ϳ@jSLeX[D++>jFԐ-` ⊑>iFh>)΁ Tﷲ;G/NUBrr8 H"dWgc{3jn&RD=j*UY붾([; ~~TѸf v)%eQgN$nWUxf.a#xY%,n'|$~ Dݝ:%fYlpQ,2sk;3 [t%.*MHѣc8af~qI`||Zsp~*6A 귲MӜɄ^aEBT{Ħx#b.*Iw|Zd9!AGe`LuAqB.ÖwY@Dx&Gf,,* ͤƢL?F2 KgܹggA׿j5-=|aʎꄩ:*!p~W*SMd,cFC01\,˜҈;=EYvl^Jř1f$8,E!g$y>QQ ѩ43cQ<-fȾJ FqWr?`ݽ"V}3*" ȄN"4H%61ںms=N\wDe5zτ <&R}-d@V挴`+SJ:\p@,m= J1ZĜUbsmw'ݶ"rѮ3jsÌeZNXU.WݔԸZQ2ݕLe^k6g Ď˞ w*:&A:AMD#U]nՀ}ũ%``10TIM黆D遺́uhV;PV`CCue'x7rV?ϩ>'q32AISHZ"_˚`aj1_X 3QE,OӒJ^܁dy1V۔`ww~9#)d嫛"t;llhTp<Бa̿P 5B=p?}ؙjnZtφ$2>NN kwz,Xk2D-،F'idƄLSB%*:AĂ[ZMb]k9Ex`}>g뢝veAlD6l5 3w?Y#Y?wxjKr3[3_]cmb&e0˨0߾/$b.`MyfU?CU!ĕBj8j > { ),T^x ݜi32̐FY gtw@8d<F97VsV)|Jg_') ގ5:,"1g_*E!,sn[Aź?"*Ϊgo9i a#AԞH^y"LOP;l6Y8-7 .CdC,b|~D>- zƉ@D~cʩTͺע:gG6 )v% iJ* ̘[*ųMtyr壝*Arf\>~eSnF!q]9vUe\j9PIw_>"c~Dʿső"!j9h[sհ?(Bg;N+,jZhP!ňЕj.*jQaj8"0ӡ&5PӰDIt ta~"@oJK?TM‘,ZMY$qjwb1`tnƳw)ޭ2 So2{]I[@In%h=~ 1|y8GeФFx=Li^b [g{dQVE^dͻMȝEPWqӆ&WUQqPp];*Tua9qQ`fFi.r526L?spB0F "̂$Y/X ]m賊-LBf{o&ZyIU`mO@ȑWv÷40FĿ9NYf ºLnq=҄yUVʑ:xQ?kHYѣCFDiG(]!1H}C!McE'o&gs'<E9/kAY]O ^L"vM@l 9 3 ggbD w^9<^V3P2* $U= Y p߃HU,GzFEH51ic\6wXEYN%1dPۇ15>G!"6#b3LϿ0?v!"h~Q)ZyN0|ʀPwug}@ WV];{WeTec%N '=x)y&qҸxMtڪTt-'Q Tw o=OGGc*dajUj Nngd`zgjT<#'tu닿g (,#*3܋jCe “o 0{WOE:ڱud2Znʒh{"2[W8h1C䮮 ήi֏C}NUQZ=$'T5\gJ1wL8HϤekSߕ9ӁO?gya$,ffze;y&=;܆v4[ rw&2d'~2de&xb G0/8A!=ە8pd%I6w/K8g1{DBլ;bu7t_UjLZ5  Mb EDV>U5]SGn>GaaD$3S%s꺜O" I SfwΪ"fW5n:XcK6,3(6~@ٽԾSB=EO]?74IJWp&Y78r 7͟p#fэg1V>XP3q" gTDwc*j.•񍀘<ɽ[Dcs'\_ޤ L/M*ay1s~"D>#0 b$1JbRb3=r&Lm@̲3+TX75}vva̓)yӓR,nt)oa+ x@mTUљfŔ4̴}1~Vg=Rvwإ>0U&7ө$H48f~[Pe]F}lf%J5AR8GY |G ӓUy|sm l ֞c6#$so0[Gy]!n'2HO8 cC$' U+ϩRf`ҎJ"^n l*uD5"r_NU`c]D`NEL2d520QcҥLN3T ہ"W! #t+扫Bܑ̂ah|dD]dZu"e':dž  !|1QTLTf3k\Lсi0\X>Xq*tEzA]o_E@bs570A83χ dA<'V7L'0r;`w_#yR2߂lϘrs|2KHT_cb$ L 1Ly8-۰9E䟏sz&4.XvPYdT6$.U8(x֪ =9geBL]%nAKGоJ:;r1*g눧aYخ'vW B 0 2a%u;`ulm*w>{ge%H #x~@igr8!TM 4(IfV*9C = GnE߭)"S$(2~zP5&xEQ+䋘Qwh&z٨9nI g8I|x" eeUާt6 Nբ]ΐ} "2SQÈGʬзeadw/F; ʊ{bYT=LIg3t;? 4Bgc,"J-a$ NfY)<ߓDfROLԚoX :̱b1<.u=br_8]@5TvՀ[o23cA12 gVWZ؃ >K_:H,@qh,0luZaLZW4fKa9:"߉NDc3:t!~0x{P{p@8_dlYĈ#Or ""z7/k,+jSO+32ɭxRu9Pʣ{0Sf |LE}NW5qKslfO3=UĔUhD?>06*RJ& '+aWQuv Q ley[_ yī 6f1}60`И,#d0yT0&NPZDᗲPT ĹuPAXQehPv,A A5fu3QȬLS<S+bxd(Nnl=TG=K7K b1ʒ>j+s0EMNJenxS׉5!]/S7t1uU\E՜ >u30J|-0lK}55zT^r⦆p Jez>7 QȤ1nL̸;6@ʲjidgd$5y3ߞ:u=Qeqy|Q#ڊۡs> "%*K>qqYp#0JzBP̄;x`hb!sH2Wl5ӞŖkM1c7g:`q Y MZǨ8ս|!2K#M {SɚZ*B],EEfd\uLTPt75pM:ℱ3gȒv7¯*  K:&Q 9@UvF, f/NV.Kʔ"CQ FN.LOwaKRff26Q`\"!O335̥"beYSUR8єm' B"#>dʴla烏 H*QK`C\0K4A1d>؂<īVu8Z]Pb?ADw*b/[U1aVLAuL)N0eTȪ6Ef̜gjYTR6 u bӑ j8mt#_- 뿈GDV%:t`$*,眺k y \0=eI47 NcDC/ݰ'tՇQybjbޙ\9ݑԸY7\1QE UOyL$"NACHϬ" ? &QcfuL,;iNUM(>w5Qԍ>x6b$`]̞GboXꮲMviXXոi8 +ՋDɂr{}mߝܭ*j6@%[1w+Zͦys.W&<uz-ݢǩo#&BkHMH.?=#1kA.81DQ"zHIPƃn88"?(  Qe8D(ֲ=צy@Ѐ'*Q4xOU #>*Mբwk=U n8۪wALL~# ?%_q 磦/% ў ݐK)Jv qYhz8RVύ`WXc|78#<0-fJ}̧ D֑Ua)фgE/ŤF_E?@PHEɈILT8ܼZTzLw'@)г`ϢNا`h\qeqkpԞcej{OoFdJ9jG1nkୂnjHa ǖqEQ M7Q6Y1EB ?4peLd8Zm\£ItL_<3rcGNDSLS nez_ؤEUĘUGL RUK$|L8e~EF:f05߿OHdouj;%GA x ; D ]k-'\9Rs2_\4{@SrQq^_<ѳ 3;mpMVA<]D'XC*'3%i@u* ➿xw;KQ 1+L;AM2:P.Tqe*p{rk=_< gHBL<*겜sF%e%⻊(c]}>xE|U -;  M5Tb"1@)S-ܰ w;#yUT\"69Ɨٍ5[߳[0w{ L2jߑ‡Čz G .1`j 3sNNh&Fמ79v"j>]m4cI"a6ܓvZ MDE3ewÁ)'jO2DWn=87L8ảOE6Ldj=*x7Yu*F0@L?9yj&u62 |~趃fHĘIjw"fTuTGHw:C]cR]t̳MbN:VEO2_D2r7f ,*#kfBXb*@řBn,˯-SU]+^"XpT.Hz$A]Y,CYQ nN&f؂@k7{uxUU4ׄA}"b̵pAK~T\MYO9 j) ɷwߍlMT3rV8Mu3ؔL;!XL 7pJ"fj& Jg MlCI}a/)~.n#hR7)(H%n"&͍5- b8 ޯ;+)#j(W֨}RބMHV'O"VF@;#K($Lq S4b~ f1]33w4=V^ֳwyk26{%2$XEkyAQz Cf@S{! ԥB`<ڱ^:݂ q=Zֿle0>c~!y8mhDYQ6$/`b޷x b Z e9]O7~ܾAWijL<’.jjjo=Cgmә1DU3?uu=N8&B&'2"7dIKP֞Gp>*^y+ϜYD wd՛'"LB !]t"Orl!Yw0ݻ"F򑺅[D-DYON`|:#>/xfKX.8&.Cvцs0>DhVuG!^WhP>wJ*8'1\Д)}+LF759ib&9Q/2 ZhL  ۾{P} F$f\ekĬ'}>kfCi؄wϽ]HBq@'&]du9>f;6d[ b/c 7:Rܟ10!\3T0P .AI2VfR`q.}1LĀ#9=nH2;*ݿ,7@3C<|jQ:X&\*ʋ]%]A%0;?yT;bjUM2Ɖ7Yy@Vd 0}2N;O` + +F^N<萞.fuDfhZw70ae$qsg+|tc̒]$jt@UvYHV%82.݂̃yVɁ Z0d;԰ZiL)iPf$gٍʛEDnb(}24n& ]h'c%D"lnx-wf{JU Y^ tA2Ÿp5)MdUY&"+Q$ʊNmϲY7&UW *ܤXfW52)HܦUWUĐى>R#jF4^>-Ū Ҟc|DW j ٍx8Ur5I?ŘUx&[BwfC"c0Ee28K+sCn|]d79c>7,a|_q 0I7^Z et pԇZS;T'1^#XHjj~udUb&ʘe8~+Uեj']3qd- ey+aGoa""Ž v~UQ!%J`q |f!bmK'nS#Y Ey>n[x-2۲4 M݄37O(vDݾ 7QDbQ kUBV\?w|sij誛݌U*3&Mc'UI& UelȅHOA/"2uכX:jf#SVu;9Ҟ͜i9s#D憇:TE 1r!ME<POKt=n ,RiX㬡ANEϩnjs=U|0S&S Iۙ ՝2m-w̗T 6Nd\Y,&I? }Q!5A?g'CL͌ AӊN@1iBL'xHMֲ:3;ĀC'i.Ԭz(c"щ'Udx1+ *G%vcпZS]j*OKs@2r6x#D?bq͍=ROOwaWUZ5~D%6>Lx>5!^3Ci $8}u)l›^%1˛2CLl2 ق[04u _P2#.XE]*|%&F+7Dm=zٜ3 nWG]NL!:wMĬ+kdmV ~Z.utCTA*iuQQe 5&5{@YezS8( RFyk5 <<,p&MX 8g0 0p\Г5̱2qlS̭l_3BVlFm,T/L㉄7@Ĝ=FxlPO8{(BCġuhB"˻P+f͹7+|Z斻o\u>EĔWO5kFc9U"OEWc Rv0X!@UD?Rq 2+rpX"fkkl& ߉NGBD @%Jn1䝯u%jڕ@?PދlfFGi3Mp>FVw*Ƅׯkzr(6qغ-oe9M';f%uCiv7UI,nYůUBn@O7ܜ9K@nIM!!\33´!a"oUPpjn{| <qG,2Eqooz7D|-3ܑÌ 0L eV8\p1{+UBEDO&.&e1f:)WA/scNYqx#b@7ʄH'su귩Y t sDZGmJjBjP%tEd+LUgss7$EvYM$# ?5-D7,D(PB3 {V oDqr[\% 44Toi>?"f"(RsO/Uʪ}vMZԔ"RfՈ]~!i)1%&j7C}A=)LwY>d%Q@8ZE`uPD  }#D-\0`?pZǖ(*3sk=}W}uEeyhUͩOpދV7p|> @)kk6bPɬd!W|%()cB`:91uHK r4c%֪1߈1't*rRgLtU{N c4Bn4dQ@y'3U :<"5 Dt6Sglx\ :'؂lY)*10_96Z!2a(ݎz׎Db7OR|ٍXiNN Ht4`?k53h#kCrL|4og^FcNo6 <+DZ&"RX\wF|񠈺0+foQ7I{.p2I~҆EJQecJuS)Ĝ猥U L0m}fu(%?PQ5J}-%dU&Z.,ؚZ\Q9>oDk'bLUD8%f1qUϺ9qSZľAބy"fT j"~` ;'{j"D1rtg-ofk2oS6VhcH;Rynh괨͎HNBYEဩ;^H(@N2tܜErZR'+hmc;/lp|QP~Ԁ fl]ܬv* b,vkr HaR}vdTAm,p4foikODխDZ b.SϖEKoB/HKGLPrf;ꈓϧl>1N nb'"pEQ iNDw+쎈1תfi3#Z/T8? s인82\`ldLfL JtY{"IT#@UꟳqQsؐ hѠ_Erpʦ `ffnSDͣ"FLF^of5ժQ~#6h\+}V-_ә-]ʞ;Ly?HJXpTv[tUCWG6υ䪢,2Ï+qF|/w̶;sbfbNMTƴ=XF-L#᷏IVfXA}44ݛETHFB|Nd,b=Y'5fzaa [^譒j`~cFg`i M -u8~*n>ݫq*7,J+ 9*txpDah& 4Ϙa>$SNXzW|@kEHV'f9'~dbx` &:u?fHADx Jq&.(yaF}nEu}X^FJ}W5g4c Gs.~&h™8,/!uA82QY@ݠBpx}v\'x*1;I3 yZw8+;>x]e߅$Key""–#"L/T!E |?1bbS̄s3ZMtzO`<𢅔pSYD],,H&a-WYmχ"c6wLY=sN( FRe&K53Or(IlNADP]fD_V5"0m8!]l; n,Kf0P㫈b$:ahVawbZMFeo%Q F{6u93Yվ=`?Ys^DbI% >d֩ln7fL&T 1QQ ,&k1>!t&PmmB.NՍ90MɈj<0vV32gQ1P'uZz9>'p\㶐UF[%a:&ʕY,8N|]OJfr5n˘k1m+{R(t.C^5 d *ƪ8a.G@2q֌Ir(DǀeJMExj;nbre;!&j 4ȷsfD>JK%}+//*Db̵VtcMU K!y.slvߥKWT )ģf~L,f!%[Un`r::"Xd~qM -cc"sHL$sbrH Φ?PbfI7{?|[ r@oy"*lfƜ;w,fV%3z>,2LbUb3D@_h12PD^`hׁG1 '@T-l6ru-.b*s!!f<99ޱtGO% {Rw%<SDD\Keʌ3q*(Yk-mS+w$qNGix]ux+B>O0Hgegd"w_h]U"%BukV-iTu~r$ ]lttjXg۝tPm|A! U,(e]&ۼtwfřXEnr&`#峞wBEW{(_FȘ.=a/U9cTE.f]'6e~c,wg@Dqś\ 7>1enAR6C5HD&#8]]T f+?>CV/W*&ZƂ38йyl bTL]:EU]t9eHLjNڎs*Ԥ^LK)bv8]a*0a!`ٻ|:F_}-d> q0U9E˅s^WU=>QqLlOP9Ktu4ZMO|rzei'cB@'3^,DtˠgdZj_PlPUi"}֎jUQ5IqUS J%0T&I8x'nZfLZ,137enqfUTW" YMTM/KEEcVTH9n-3艜& Lf0oHe O]{%8Υj&7Rqd"Rq(V2ec#BR4.kC-l-Bt* ,SV672hdFZ 6Sf tP]TV!c pc ;:2BP<\0e 07S34{uUS .?^(v|5!qPpwWݓC900}x|juqDF M.ɉsv0ܙ?~eFdBq^/)82wU)/`ȁ+m`x8E nqnZL2Wb@dٝ'~ch<' ay3bqFo:!? sp1tg`M}k}9WUv*٨wjСT7SRSIUd*T2uu XC6`U6:ap'l4Jhx8~s2Y`|QY^#NLMo2S` TtLW6>P`c\T.tRl@LLTV*|0Sb ӵWO/`d0 VfEbV5ΙQTbLp<͈Zl+ܥbFxM;8hvěej UYToOY9]97#1,j`GՔ > 8m"Y @P 4x=_LEmagjA;Dfd:ԃ*UijPiLeB w((6X>N@N6V3' t+UsTUT2V&iHi|5qn܉e 2p HODܲξ!P +I,\ s˂(4;2 &в'x* %]+K)4ue܁ۍ&vnT*1C"D"!QѶRAet{̐ _ jaRpSbE]ơ,dq61CE~*lzTMƺoؓ?'y@D{gYM"ZE9M OwBD3"J 0jJj|;DR7U,Pv kNi;ӌInKSe\y+""SƬ\D+_P&-BUE(5wrAt)tZʳnLtOY*< zWY$"UQen&%1C>{4w5SZFUő!ꁆx@5DZ6_TZ!qzf VXØ3"2[8t(FB4DYbʜPޯWJ7^pL ^BD6*O9 hgUut6i>o)~܊eRQ &2Wj~W/q\PHPiS,.4mL)۵`k+;Y̸O,f&IY=MTD4o'٨:D{73%a:*6i=T/5;3 ɟ Ljf11wǜ@b[ Ego5CMۤl8aD00s:P͑N'-slؚ'95EDz΄̹q^3KW-smz\qSq0(jRr ؕwdf'n&V;#]jd:v̽j~M&*iU/|QFyyL?t+ 5x{KmDIw&5sjh_bgeO ("3w?n2}vu!f7∇͌ a>"B]sX"UVꜨbHlB.5!9M䛅љuSZOP%ZȳvD5=bָbBY(\TEoPJG䪆HF9w&r?d& Mmw_ĢZ-,`'0 a./@5;᢮&n:Mƌuո@ -ͱso nbΞ-[ MէpA|brt 3;h}J't-!Fj<0U3LWՙD(})krfFA d#* qg|Ą*( Y}R; ̡v&^8F|nIe&E>W_"Ne}>hdYŤ B(BD ʩz=mgO&6lb2ԌV.sirMD~H,ovXh@JF Yq7O4xB5n6}uWRs&vQPy\Cl퓻N͝Ra0Hޞa "e7DqO"8!}l$`\ QS4eܤWqG ҂Yd(@bLDmlwE0& '6] WD *SѬ"l#9l!~߂8I4-aՂArW Y HhbC8%u8mNtw$ؙ$ Dm$q /"f=/T"j*Rssو 4jLσ&ԭnFʳ{")A`/ nv&&%7Qf{d3/|2V5bf:ž<3747r{qpd(/ 7l3i;^2=GeH +\2Jܰx\f-:8^$*SU> .D mR!5ûmx"t;^l<6כ.hQNa+2yUu<Ԟ3>?:|c$XDr V(ٻ 5}ԾqiLF7/ټ{∂AA1(޻9pSQ87T̢bXwN 0WH#bd&2X&^Lf`~1])*3;2h.9INd0A3f]hX^\>42 uB$Mڮ1co{: !2oM98`9IQ<̜QMn,SAȯ!7@xͳ媊P0a5j76#@ ":qK7ɂ\su\Du5m&tsrQ&Tvޅ|;Q3lj<ൃi0L'$fyP",dqm"牺#}*)ˤ|X\`2ϵ#M':$L>}>8,̒o*Q:ΈQ9ZyUc[R]ٽ8ә+5|b/]1Spo5KL#NUBeo^,"κxOoL -'vDWGZL Zsg50;t9wo6EX鄐OeVuj_n-r!JWwd`&a=>B ㅉC'[ dlva4!ڷWF2#/=T s*\8:~x"!MǸCRςhEl`Y 8xB\+f2E& 4ga߆tUDådӺY52OunfNQEךG7:&s5s,Мif̹̬ ~%pU;#+*sl4 Yu`J0 Q ZD6"# 65AAG("NQ){}uo¢taVUJEO$>jʃp|1m)YfBFD|('z"B1`XNrID&78/-K yZ)iBnr7]k-,d(\[4g nyHfϴk™DIlNnZX;Nj\ĄZ5\l'ZW_ Z(δz~qAM6f00 gFϗa%69q1rCVwvLqt,r-#3"hנ搛YShf*de nzɛiQDB:0ƪ* XOa*ܛ)#ej/ rLn%U3b/vHf2ZD“:޾1s[M̙ifĂ̢f LYM9RւT=kVXݝkQVBKABn 63 L@4 (Ky O5{#yEؔh\Ȥ5upU[ Z t-ެ$vwVh,]utiޙpg; 90U[K̫fs7n; u$f <43gaID#B\I]?/"Y=O5NZ)gc9d #Soћϟ̤jboE4qҎmJ8]UţQz@-趍ZD #wU|**cswϿ6_6Pz(Y2/͌YG~ZPJ otT4삫Yt32+7;RQ\͖ҶKDbquD.<3adbEֳ̓fHT5M  㻘t4;c|BSQ䊍UMrmːu\X^̼ 4"]=Q}le(q#rsAj3W8^Bh+i@ZhiN“ZYg6CcTiqw47LZ_ FTf%FMZ W( /5Ab[xN("?'*nS3*uWXDV ~o#Ms P|ЈnvLUDP&?,\ԌXd$13Gf3e4ՎA Ve 3ᙿP7߾+LE29#<!"aҁ(Ř*Z鈧1ŘS3K56NBTn0yj.3ϨML#t˜Y q$JEGeZ8*3"'5 qߥL%uG01~֦B2gͽc*+mrU WwAp.\2D0=Sf}] r "f./y2ӉM!"5dDTY $7=[=aQU\ܽ 71:a G8C7V *mfΦE ]Sj3UP1aCcR^WUW]T rGpk4ۄ!qW+UTܚ(#\&͑abuk͝ ͸r ]򝙃 Aш3o7wo!D$TwRcm.+&5KjujuJvdڙ3h>(zF Zު{jD&|0cj'Dq#Xkg.s<wV M_OwFxw+zȜbDkXJOBX Su[ls!"砈Yqe; "R5f^d5?׻Rsp a nP0CO]0[^gs[^pȮh2E08'C(NTMnxH`(DAd-,̒T& >i% TD|hYe7BLn h"&Z Ud%|gjckߡlqL&Ea)f8Tfq %"uzT  U7]2 6y¦ή@khU>kebi0Ƅk)!ͬnٵ#LVB,; gkմSeǣ0"$u-]}k"Jz|&}[PULv>; 5+:!JdX͊ Uj{\wdhU*_?在v6 TS.,㸐oeF+[@qUmE"R* ՗n5XUH1ǽTLE~/RB=4s']Kvv U5b>gO8|09n{6x9T%"{nQC #L x "X{6'3*SR"\wD S#Z EYQGeW;ζj6neԨm*\-B.>Mp]EATݕՈ;"ӅB# ji8 lp}~zJYTL|q"wzyhnr 3fl=O֜ڗck܌{&:,jrQ@D9^j0Z%qB3 a݈ݛܭl28gfk81bÏZ԰@B`5swl{(_F&B=0癘 &yXiPy{8y+1T"YjD#NÕy R`#l\ȄT4#J )Z&DBASq~>0$NM9CYj+z?-~3?~MZYχnD 3 sN%"F5b:U.ej܃nɧ69m!@d&dLX1/o"fqmP91Qo&I]ȸoR`'[x np84g r05CUY*f{onsdeVSݿ+e_2ZkhLi>{z#u;s>VqɛqMF3kZ,„M$"љqGilǟE-"K4"MDk 04n [zzӓ|5mTH8139:q&_곜jtw=`X ra Tw^Baqӎ' Y+M 2enŦ: ]3HtQ q%z6\Ԩ˯]YXMrzv&dU;W;B K@4@ltЍ&eF|QFp=<ȓ)wb")ZsO &Bx|:.%B`Jna2,͠Uo ҕB9TDNYCDپ%"cFAE|>јYEn6[?4B6sRx_qtQc* 9n|?(]N5SY Q-zxW̬nxsT%hf>ĪđjChD9:08)y$n(VDpFi"F |z#m#c7`fT??fAP rgO0ƓPԭ/CUu[?)}]߄̍' p$|1SVQtu[LA/W2bQ1D8}deEVŻDZjny Q?1WՓC]bqX6ٝ ц.b2# 5qz2:ĝz8aw.]jGc%>Vb}u@XJ[@wnߝ2?J X1L5`by1*,FbOgJ.2M8pW|n2/L (1+^$o/+YfURYYXh& W"&yCAn_kS׻qvb{AeG.am`7XT |?蔋zSTYfk8Uؓs2Kc<yG"닊PTa xaT9i"9=恶㺜VwݣFU"<lyT1 3H&v2QSQW63w؊8f%~pWqUЉd"^P~Km–QUc9V{ <3S.h}0__9֙$)Qgs:HC>*0|jMi"|`B r'лF U_RQϿ}}xC3(VrrMe\M0".ȈwjBY ϗ'Cla!F<3Hfa秩O<" L$LȨh,^p TMDǑyPTf[+ 샴y7J׳Z*uTܠT1PqD?E&#gmﭢQvQe9M&TL<<=*BY c{3~x n啩"ydꪝɯhclqÂ}݇p#Ƚ {SlSd5m_t%y!5j)8\s2w@MD\ `qLD*N[ .Gdg)OܮIRw YU=5⬊8 mH'(,,J̨%!o as4t]&: F\%|~43M睂xUX*~ ]@J @gQP,b錺r_h:w*D3) ^lClE' *EE݈VZ0 Ugd5T"b˫[23e6f5`wDTco(ĝ}P0Xv|5TUAxVm-fĩ.{V/QUYb*Tk!"w&bȉ0lz`6m:'"ZCSd3aW]ҫDUvaj衘#KSRsL|uUl\wF3KlTu`7r>s_ oxhդ, cSUYѷ6 Е e[Vdw%c g,y]H% %L帐HlYLѝB?xfzǵ5㋙Oޫ5=gѠxEpCzC9n2[f_Od8kw<&#f1kE_7xyF4*F~xV׈,UqDGIjJLdhHf]jnjx_'k5=gרF""138쾖"])P %t~Ր7REXeAsx(J/>Rꪋ&~s'Brå!&GoFsj ^{fdvyWBlDyڽ#>k5r|epT=L5ݏ7UR&'q={M}Qo]aBd n`~CX jeZv 8 $^:GW1~ᠤϨ!,2-B՜n!"RAd􊜉1-@љ嵳p>L-쩉}S͸$Q\hul9f SG<_٨H*+~wN&SvMȡ鄪 (a]r{uz6D;jSUݮD'Q=]i56T+^KT/^y3TnQ̌˸̔/usVb"<P5??`a?0Kq;ӳb "<1 mG@U_u0tFS?r_By_P"f:&".^ `s*?S1ǸoF){/5%.Mj}>gj%>Ou^z"DtЮdpJ܇GD If֘pe3N>.WH@}Qs0F&6Swy_F DUY5KLv**CLjVfɬxvG X%3ךRMb1͌7C!d[J_TEr;"b7vtπ7N7DŠalC,ܶId&]Uf75,ITyG:¨p jQ&(԰1`|/a'D^ D[| 2E]]?؜|^HEDۄ3p fʸC15bdfEEwZTtK" _FBiPTLtFϥ%wW8\֠{gUf|O7.9Mւ|=N J )d`jw~la hxg!}u/$<8wu236~ FB:(v9C0ɤ ~˔]3;`Al.b: T4寵?~p#37MRO~boߤ RXKh5c>q̴lޅ4 =_16@m?r13qHXcvL>s'H5g-U88üIX(d$3jT g.ODͷߟ`ylWBsVו1s֥;e;*R]|_\ ع!037K+biѭ<9uBP5/ɀRGqu m*"Z]XۣQ " Yeunyy8 ݨ~7wœi;QC Zj6":*WMɌ;L9p;l$lad;"ā Rn"V*M2 xBΐ57JyX:He4 !C &dx`븜hSf2֣Q%QqԖA"oDd:KDm,2P(be-s4STͱ/MT}"y\EccYK,juE5\ܦjzΉ ^ͅe-:>uX"vN¿~zv3a!0qZԥ)+tuwPD@l6{QN^쾥"C&BY.jfP׽cC;F#ylXl}〦%3>hZ:shi.( .ug6x՗+*v ъ;$ތJW ncd81"%(279 \ni.sRSu_Yk- nRrṊ6)k %vl טX1hLLəԄ҅M膃r:^~# Efo+?.rʳNbmQ52ٳ!C,3LJtP1ۘD9ꮪuhj!R7_;UtHb$LuIcj6%hR&blGQ"Y]*zqf53ZYs#DmjpBKM뜌a1jPNS(%l稩*ypsژ*bWLb!-Zg_:J G6{v1Tz&*bϚ]b N~+z-r~ _Ĩg)yI9B=kbi,ZϏ3n:,"&BkNő ٟԉdCrIU=E?{W*m bN݁UqN\-2Q?4Y?I*sRdHfD=ϧ eyKMx9|q:IZ5QVOE%NkHwvWf,5e9p:̵ef-\ά92_'ԉp/ >qPˈ[:Zwo RӔF)M2ѩhP}A-f&(ŹGATU&2@*1m.+ZDqvt̻B5Pt/\>(2yG`%LGqg♮"QU.aGCDB@&Pa(cTw|v991GDGr7+Ne]YgB 2QDZOd ve!@2!j2y" xϪ/òJQUgju"j*nRHUSDYUXRj6SU`'9TUeN9MNE] RH*Nde] lSPfގҤѥMAUN2; l9TӔv'NWS!6D ~ȉ}OSgT]I̶VWbme5)EM9Ä ݌jEgj.LނȗJW21\bH23d>Ђ~׭K$qxJ0h.i"Le0_z(nnXwjUeNm26fu"FhC=!&^^ %ES^l2,+SwWE T(Odq?7| @DX$b}5^' f{*E U GY%xM }u1<,xOpヂr>{%TIdʳBE2EN!?n{IY-5,2#.y<@*7'!"1eed-8DwDܠYOwsmD*>(Kj1 nv3@_Ԅ/LtwUk6ug-/aѬLjyQ!ă {k0&?T-Nwg*"\ -1j"6i/MPjƵ'^f,l51p$]5.*࿅hZwwEnjSO:Y8:eE!|;<^ޯH9';0xDh`f@|ުg=iȅ{ETP. /1?IN:$68JleÎ 2X%_|md;,`c#: !f!py4l &eWQ%s].NͷQ 4:܍ddSծVHXUbWE s-aV'v]{ 3JHʓ ݱdvtyq<=9W 6%%&|3iEbH| c#ǡ&rCQ8?ḌB"rs.Ld&,zeUf67k]!>۶ 2J;Չ?8 85;ԉ-,@ IùΌ&v512s)v!Ŷ}t|<$n WW3ݸŅzpOw2PeMBDJYD>k?;hExG~X  :܌ڨMe|XDMIRn\yT(T$ݸ0)MLGUɟOU" WJSͨ[6!&vvĖ9swm459*yh)DAIBdbAL=GDYG U Kj2#ϰl%ƨr, HTMKTY G)&+GLx$:A "<83(+ycG῎OLTLl p^84s1 hbBjR | "o]]UDG&EjD,[xg&[3 @*JLF~ӳ'yԅ9{JܪM3h45&8 do:Y jj$ήLVu[ʗa-ʚD(p:&:8]gcOT 1ds3Жy|NІlZ"I= afDZ r[3ZqwSg~&%Ӗpum˙34En-xZ/L2i 019պƒn%*kw m䌩 qvV})LY {u)"c4\:b{L_%Bʹ̫RQbK'n*'7EeDծjS'eS! bc˺95UEno3.&ϓfbFLᵇw3fZ:uZٵ\e%1ߨldITWڧxfuBmX|,V72h2P vf^:_N1 CBӾcSDK Uno5F\@ԝIR爈N-u$k]0>*< a w'b*ev=k}>zTtQA *7"K럚Lg6 .#`DLYy cR8"Y(H ̬v{ 1Pʼn#'b"%f2n}M*]⍪*5d0J ~dfԉ8hke.[T~Ql m_3C: ƾŏwQ4P \&/T fJmwXvТSp)[wBK*g>u4LA5ry}EƜWl(Yܽ ofv`3Ɏ;ݢjk ϜSU+pGs0 }hFM5SYDqa 0a?ʈ7> P(Lʪ'D-#9,rL4_8Z5 1 ]i<B&8cE.UU+i^$]zfIeu]>ڌt]D}ZWwc :^-M0,¯StLVDB6fsO3~sexf]}6fɊKG/\cfd$݄vA4YuӼ'0;]uV E s#,:805M$d^"VQѻŃ.u dK/~I>nD6g=y4ֺg@#:DKqFF-O zSU.?3"Ex31 CsD]3!3XD;tzBSQ5q/k"h>dwMtF谨129I7YL>}bxft~n[7}*r2'VUǁMu9DahX|8"Z/$WB>跰,ɮSl0;js8Q!SU *nYCDL) w ~ xrwD~H3b9 !+nˆs? SWgObwͿ۱H`\#$琰hD:#"\̀)G8gZI:#%;ѧ `ΏE1tF &*̀H GfV22f͓?HpǮn[K#o?KOٕt7sCp IT&Fσ m8r҂rq ˤ*2hsvdFy6k;M9\5"Гq,Mݮ*96dr%7DLL4$j&7W3xȖW!PU]d6Y02(31yc&ʄ8`mzR{VUĸyԬ#E#})bZ6X.>9FD ?07P2:zfXU' e!S^ #jB73{5G 0pKD>-ۚŮL* gj.}""Od1g!3l&{x\M,t6xNIGs Gu'2\U-X- In=[r@]"N3\E 1>r" 9yLJE-ä=C/+RPI0M@}kaEPIm#PjfTۻNRRq(E)6ibwzə*q@'c]uNMg58BU?0l>VufTvfFl浞L!릡RY ]ga9ϣ%YA-ke@&8)Q M+sê~#'*m3ÓDz3*S-"v@!fB]]Y]̰{"|\\MA eRw{`\Ԣ Ws2ZwjV1BȞu#ԁi7> '+GRw iF "a8u5<53kLF߽E{,ďkDLJ>Z̕K2?g9[MǺ (L ,@ KM6]!I }"DtngG._媚Y03dzN&Zybf -UM./BdHy'M72%ԏ t=P\Aolp0U{3<{w823 ̛$3 Ql.w j|0ODI盡0a|IHKtd;9;t01Wj:/gVgen[Na+c0EW8`zHb~~~ׁ%+8NuvU)fӝݳr{G4UehgU]EXO# UUݨu7a 񤙸.@!fQ.=jV]'|:"O9V<,MŴ'аЛZ5mSdRY;XbT5A"Y }sY+b{F{o|&Yx`8:|E!rW71ku}v08-PmOcKUr"fWa̜"5u5ގVHY?spL" RDH%άE^Q`P7Aئ¯ V)c$E#w7(i. e|5}4vSvQdeb.đk̕f Ew2n NJ mx͟>fjȻU 1a!Jepd=#]\ ӿMK)5顂[k㏨deTNT25ewQ( D,\Py|'P₫Ƥdt$WMZXA$%χq<Յшs2Db}DeUyTjynxslsm$@͵:P؊YiSUd]6J;r>xfZS@@c~b C)N<%םPH#nWruw{U⫫/,TSt>+D :çgASUk /z3)$V,we(sffl@nr"&U*/m #-UMw߁Z1"GI"̯jǩ7`z{^(a5ҭ@#Xqb'3g&SRapRA&Uw^/ZA#1ծ !&j5|>r"L.EQl7MÈhGUe*hEٟ#P?"32-JD<T}~A$W*"@Kw7nj DWUP <&v"{va`ޗ3*y" 5oMUW ַVfemzZq n*Q[bH&m,*R@N-mHq% ķ0GtS#jǟ:6&T3AOA_E#MW4 fGU*2ƻ&I&7E0K!!! )(I 5:ckhq ѸnUw 1 8ʣIђӮ0sj?П݈ #:xf*P()N@D5ú}AG˝aVfSbL$.f>IFO@4ႬT#JMu=()U(uq*qJU[mv%@[yZh* '9a(D)0؁֣gПUưq=xjM8* Iɸaf>t۳.*Yx: 51S>U ])∛:f?ڥcQAž2O2( ɼwfVzG)%s@َٶE`8yqd]1ED$TAs"jcF#$JB5^/̹;!osNqQQw̚.ڣ O ݙ`~B-9x0)aQ ԽX꒙1F,GIATETJ J|b>G U+>&ό[T򜉙09yN )nlo43h|IȬ^Pnu1ѩD/QD3VGO<_i|Py,"H%Ĵc)c@_Kw.mbУT:Rgu΢Jd 2QT+"͹K u?Vм+K[QK| 7ӹ gN&t>SE 35ʼn"X2ocvQgAB8t@lX (a{eJa^fevBPKߢZXO[VQY-d}-nDFg;Ι-0"LrK74bX"NE"zfBl "bH0c ]W~IwZҙoePWf_})9zy3#gDlPznRE:O/l#> zb2IU15>߭O,Z\!aX;uӔgڄo`d 5l~ψ$(zFFqum\)hx* "77֋K@%K3J%Od&ozOj0 RSnʊkeH1./Gl lB!V]]nueLCG x_WVVzNE@93`T{D L\sJt넄O"a?Ǘzğ dj,IߋD/Y`m#ʢVH&yWS,QI\L%D2!I( G~ruHJE"Mf* %Yf]UeOxOwdC}sArz\MF'P/{O07VΙLr<df[ /4$~>F)8X.6>oxEHQƿHbx|OZ0r" l4a#)Nlʰp'AlحazX־#, *0 -Pϸ e*#<(s.cq5=i#M>a:7Ft!ij$r3s/}5jU31 jDS<.&6f ĭj '4 )Xxf)0 5S/"S{>qetn3 oJ3q  $$썗v]3Ǯ_i,TG ڟ#apORwGPyA7]tHū CUD[E*ЫL&ȼH[iayUU9DF=7$z`,Вg\.n7~QĕиP\ͫܭܞGU ~t"!ށPթr7BхόpDp36۝D7 Q(WN0j)iГi (jjw 0ZuW+ l'ERTy/Q֢FT̀Qvf6#a`p2>LH#h&,B-9XDUSNX&ɜʪw"_U.6ըwE s˰?KDEb zTfP'0VT*sWklMQLOeFD4sT0L% Cεz*?]SflTSE{%x;?&<1 ظ̨twS{rJqDc=ZNhq69ULՌf sFfg-hep:ːTl>y޷LB'277 USEEVeם7)Z`VAoYc˻?Y'7NYs,Zn _3}1~^/bNG&4^D2H mvȮslG à+EԞ;vy3w{eEqPW5*&Xu"XD}!;R*Q-#9ߔUݾh""BSTM02]骨09s~ JĄMԍ~*Ü,CFN>=;f^16!へDܰAjf5L#|NFF.ȉtDU|AHuRG峞:UXaKM\FqKV㿻CVUԔ 239sO Wu6SVmRBjsJ#'5Z{慻,˨k7VdJjSbL#B͞χoep65yʮgQ՘t?j )nY.}~~`*r2\LBJD*Yq8CL& 0p|jTfdf2inX^#jS1EχIrwa;/G)wXǙLa'1d Zܩ^upUrKYNRU FĄuLQ_"]j}LuGq*=0:h͏n,\a*֍YM13IPXWҸoXgEM YE޶ 0IU;H#Dk3EZ$*3#<,ntHY,<uI<.X6H5q2hq׬e-tOykU{房%!kUfEa-j? B2OїBFPp.=w30@y`x#V];Ԛ 34 DU-Rjn gŖzc`ܑq2u.“cem$x142F}0%wxG ~jEf\n7 6fVA6_բ*h;@ޙdXj9b|OD}#07ۥMr8*KjT͔X\5( &32ϓ BSP8LY϶W 0I?4E,/FUdW KsܽDgם}œU 8D"|gaue ʢ1fb9=gweT *z=qHAja2nЭEd@3OFQc#&Vov}9`P a9+f9ÆvsDNF^۝ti3wHs MEO\0ɟg_NhЏ/5DtB7s.|X)[DĽ6C2t7 cTH 7/j`5)Bl/FW@$W\8L\jX>lvtT|O c9aNfR})R|`N-z@tY?\msh%*CY < "R+q0M>вqO9o͠q$H% %_Pa{$猚;|&B7 qunRupri "zq̃gC4H+."rQU*;O+:4zL̢fg{&fDJ1=JDQwFE*LU#Pbv><#&T +pq?1v=q2L1!zH%'n9͊2!ƗZ4f-ݔI8{3 @+g.굥}"!ދd\Ϫr[=0s}X y"7 WɀNZMϩ m<[ft VSI!{<7/\ KQvkY7;!|]4ZZD#{͕%exՊ)Ipjf?*RY9+U@!e2y pL)dJDxfVޕ_D$ޓٮ;9# "b8k#$J~oaK ]4܂hd;n]昋/0AŪ9OK3ǖ_"f'/h ]eiu"AUMςO< c4$S{HwfsobX^L?ه iPQ 7a#p:1E53?`U:Qdd/1aYDn1[Mv~Ed`8N634jչJQث,A '`.3nʍZb|J/iOEȝS2R5SP  4kyfwX`afo=ѵ*#+sd# L^SHK7e~"i~^ڛ6L@vUEEHA?4@q#WpD810믯,"RՌݐf"_ y։@6lxt'0SLWLl^p%AIJJH?zC=WOL DW1K*"nbn&ȅ~HTMqE=|C_ITE{>tc{]Z^,w`SU09tw{env,st&;\M=FD)N ⪮ȪDz'f1!jgb!63k?Yq vz'"k}QOOaଂ½ń { Z>x|〾Qp"8p93 Quq "bˀA Ж.I%K#t38ikG1CY$ s:2)kHS`NY_S#lÞ@fJu E=}ܛ*>|HU/hfyVC 4Q|N$O3ܱ9Y%V|7zHADLD%ÔIM X !X|US`3Kƥ ?nC|N\̊(7ݎFy]>Y134q59sqU_f ɼQs<8€_@3ާ2.b^ L2$Ht]N4Gkf@ "r`>**c{= j-…}~O7)sge ő 0Ĝ9bi-HT*@_+K|\ɀ2˩g|u+CUY<$*ek=σi$bU<ۓ]ʲ߉NKMFWRg$hJ#F;3+ ,LBw=pN<盙>غ" 6ۤ!fusnLQEBRY'#cEXB{B=o^qN̈^C/lm5S*b!8f``"1U:_ lVV5Q.3ǰ.Ӌ,!$ǫ.+3{dIsG]ϼ /UN'5)m5k8I(_be7#VMR]^,P|:3b͉_c2 5c PBVA].AVȞH "i΁*N,Dc> ݇*(h!wڈ_ah1;A!Gf<]wU%AX)-?V"nv&Όۮaƒ."jnc7qW%)\p;da6GA$"e⎉)J/#ukˀ|Mm*b@1D 3E%8_m83%RA 1H[NP;E'Œ PL7r%iB~;` $S@nXQB슃x"@UWjT<^̫HYOwf>+,/Ԅ 8L_U`GٞQ(gSe)7 Ag@eB,z| DVb^ޠ R4HwlG5eUͤ*3&DxUPâ aXK6o]nfY荨jfox`K+_㎈̥z T;תsԕ=_˙NTOUdn$Fmj&Jwt 8Vd#,|830W!\1ٴgWC1lsϻHӰ _VF01vٽu2sg닖r-H) :2q."$;u(V7%.ϩ.b>: !ĉd3w];AObw1;o 3ChhBuDWj{>IU:"RE0Kf\?U ^_-X%ɴKP'uh'\M,w7)TsXGY_­YPf|ƉըaU,B% Z2o2{Z0\ RoEZXMz=kq mRwx'~>?|=Q&:q'; fTT3TEe0Ƞm3UM-+1* #AWm:[>xG&ŃvJ7 W5F"1ׂIꦦOtrQ,M&j30Ǵ͚EW3TLeb ̢6SLE{[7t@/,92L">n2?-H /(djߠ^U 33V&p*U$|!:* \[ T$@MG? 4=n0Ŝ0 +>[Ux7ͱgffH)5vɨz q3#.n])3 Iu:ޔ +T6S,RUs0EPz2Ejg-v̌κm|=#LD\TM(9n [i\L;its whB|8ZvpjDns2Q3b}y6 zwQʓKB?o)flP"$jp{(Xvb {K j17c#>j،v 0M\pN9n'8~ 7bLg QS  G #"߽;ž`"kDl{ߘ/;f`wjZckLff 6DN$UrͯTQ![k( ̦ Ddxោ"ګ]fq qI,ShrF&mN5dnag1Ũ-LO q|h-#Y@(3YD#$.;8k~ō?&|6wL1<07t*kOH ʟ(C 3w#{8VsPή9 ڪQ1I .eZwUjܕIYХ Jc$lQ[A3BpE]ۯaK1^WF z c=Y+"1GbPhAikAr F_ Ew]&g-JD3;0L=۠~0X3h&34d ^& 7h(Ϗ-c3"y莽Az ىǩQ /}X}~XQLlj̡s$*vq.MdPCMpGՅTw~G<:L&a.u럔xCh#|Ovꋟ%}Ю׽N*%.4N$D*ɦwJ S'󅵽 ˻+&V Q-0|a ]E4_T.;uE&Ao2LQ5UQQd.+ƴH\_gN%h25 (kPa^d3UW+ m1$Lם9(Q#[? qRXlz5۽76hp2"/+w6."5]ϓUUلLf=ktvq{D0W(EU {fVXsf2Cfzjޡ`"񵰽K"4eQ߯,_$0/q胿g|+iIY|eGBxez>VUq JTKA.DWu&we51/zfփRLBZ*Em寵 3ZXX \T" DowƓf#0 bݱ7r:UILnPdG@BǞUgNܕւr53 D 54*A;E! eӰhtOW@`e=ؼ 3[ku3* +L$j*ZبC0ӉȞ<n0s_`4|T|}φ]VfeTuq Եf>4wVj`=/y} B7(8 ̊Ak07򞕈^U9Kny-_Δҥ:&XY5#ig=xҙzy _2{7IsGsؔYR3G>\MuzssGLEOe+(ZU T((]>Ť3sNF<'PJ]2<&#ϙ2fް"_,:P٭_EMq^$WA)E'+wlffyU_"ZUq6ѪUgobS-ȤѠ* kܩ(P՘*!]3}5wg\@F;s5=znoTdgpi X} bPAw;p; !F#AXHHXy>{Uua>OfR$*F$"p650Uy"9_DxjϏ2ӉK][ԜyX35:KKwrUYd_r?6k?p%HákLLfes@EWVQYO˯:oAU9u! +n+3F0|yWbP] :8aS4-8r U~E#+6*<Da*IY eF@]67 B&bG,yƒ8wdJnPB9&NP`';ZaJ~] 7Z&y)w]ȜO+{޽8OU 2] MNʏ/<7 _7*v} );7 xN0̦;^$g-"G3THG01b4p"Vy0* X7ETfs!kԵD+#B|X4߹/tK$dH*鮄YH<3:R;!dDS4.lgqSJX݈߻-hATKTW7b)X)U*b{cw^j\e\P3: |[ l(29R2$G~>v"VeFկW uoNlS!LeX=" 5Y)=Se.PX a(lIbpֹJvJæ,nn7sfMѭƜYA=DWE"e3$g܍ٰ@f+*nFl&p$ͬ@v5,}xt9Un,(-AL$bf9=Csո*HXt>3!&TqNW0l-L?<ѳ_ϚVd &ƥdfՅY̙>g|]5&3zّ)rwz}kw H5r18{ATEĄ!gSY?g3g=Z`U($.Ay&^j<1ڴHyc:mƀŘqR髏jj50e9uǀraZ3GUf{FP!2|>/p2z2ɹ_ ;MvV-sW+"Dp UZsZe15aO5G(v3,gylyF|z9DN8HOkyS 8;"LMXqE( (MoYzW -bus빹 ?RJ|@!\"<, F *"5zK gPp?Zsw Ų3ƅSjBLDl13@mu'T=`<]E!ݴ>Km@.sE8S.9 kFqVgfk Ψ2WU}9C0EKʭ6VdZz -23gRͪ8p_Ẃu]weS.CUuNC-M `?UMADj,x.'{A7cSʱLB<< 1pfQuG?6hn)u`؞ЯsIuW,J+>腉?k9] ||W2G1W.a 1NM ܔ1JlU Lj|5^hQ55SYpbpus ->7cbIKrT>(k":NrX +RsI ͓"ZWٵto``0T&.S9wMAd>j,^֕c]ŷ/f9` o6Ur-YUj9Z,{-UV/Ώ\|iUnuuR(}Rx/ݵAW sEJ_,!{JPgfՌs[c"R9*h'x@DgPK4 "US2 !>'Ug'3/ҟs؞%Ј6b؆oAV@1m&xjc `̟GUy'3l8~ƭD6h@,SY3JbZ׷[p꘩*26R'2Kye3['BDUԏs8YMH™lJ쒋P4bꅜ)1e|׳ЪPSDOiXR7˭W#W[NEOѩcv>+f,$,Q1/KhvILMTզ^uheUFET"9jU_+)ݿZv YfsߨVbh"QhJ] oauoϳ1Evg=V_τ 7{a; 8\ mw%^&@hbvsnC6 tv5_LpzE v$xZcӼPG|DMz5|='L$?_f&n:q@RpÛuQT];m~2L7G5_t瘜göؙA}^cQWq<]%a9) +!*62Xeni_.GCځf 2Q?@mUeWW d7^jyrC@Ca_UNp.փ`vC]}GZOg!gM"L@D,/xC빻N*2(D{"W7Uzޡ7ךWߛPS{rBT 3H-*Ѭw?_4l-}#ZZgHS<{3WLg,)Uqg *;ql6serAcUp88L>R7)n>/\ET98']fp֪L&2SzGa<%l*fxQQGUGJE,29WHM-jzaXF8*[]zZtٯ_F9gӝ<0affG{Y.Z!ިL&W^Xr*(`̘NH ^˾22BSSjN4MDdqsl,Hewed4w +4~iD \kaeyÔqQO@(|!7 0kˬ|!@x 15{U7Pw~ -\ tew0;F\ B㊾&GxeO/IE'R,9dd-ѳ(bg3,x:`&"&UUUTL1(^. H3 Gę =[L焙:+4&aK5'aQ ԕbf| .sn>#mxFѪŴYf)]po"'5j˼ɀqs<LqEZOT(g97+D+#[[KF*MJljn.wōS]9SjfPI[qzQmQdv P5Bc ck+0͌[6I*`3yXĈ_F=b&"JM32#R~,,ffQLYČE{7̺JV50XMFfJfb50&Rp_ɡDdd@̔L gS;9"4\;fb{#nX"E$f%)8U?2bGZq#(Sp&,He0lKQxEXTڌ'a7G}׽LDiMWU85#bYˆSUf5rcOZu>I\ҐT(js5Ral?/ET0VqfIe*i*n@svhP~B_̖Wf&GO?*^w3ke o1ﻗmfWu3#CdU}!޻.xZ aF XtRh`Afj7R [*24E™]O&2D|3VMc 4\}*[Z’T4&edxRSD#Xt"xߚ( yrD>zY5Qpr_cGNJ)4}Ř8ShAO}VidMχF>]U,(/AqHQc)W*LM'G}Um1fVqwzċf\OT$v5Za Kpʎ3r/j)/2MN3EGQ|j1]σ (]i* GV8{7kZ59*峷CPEe5޳Le=Uդ\dEyWQPXĞkpai ~AT.5IaG?f .b5Ƽ͔DvDWLS['m)2gTdu=ZwŸ/t}1N2Ut]ΨjVb"?<:a.l M!8Xs 콗;6B]ߓw`K-}|kvg'B3өFfR n <]j?XM)I^HT ,dB3OvB7#pCjE׳T$D Si], /h#rb F};(+y6̨/qhu|xYs[Uw3;Zqr> maNӛKղ+*nF,Q֓XPh'2B{ eaŒ_/NFfR!ZQ*1{egVdY2zV65s&>guErDP܏RI\*1yBaڸ1SfI1Uu+hy#b":p@"|G2SRӎL +sFq:>IgZH/JP9L<L͐`5۠1^@I]P5 N^""Ĕ'Bb/9$DD*RUAe-!x ؖ24"3"#.x. O`EE]8VD+5(/QXDlmSZ'#"w}4d+Z++˳Φv*axع㳿ٵ3UXd]D }Bkvl\)eG)dq=V|*o-&rƫ=Ed tI \o V7O(d)4Q%k-v3鉘zIX߹Kܕ{G(Gގ(-[‚|㨪/G(=CFT<كƭJUqMژS 7=TkQLWU7X QMUMę1f"щsT'hNʂ13nsGZ0A\<IY`_U]keN1{iE!1v,r{2ٮ{)zHa%+`e*Mr^jwo)@{"'^E}"wE(*, -br=_uv=\σ̳, c5)HLլ2l4v̸,.uf5d $&mD$j gNUV+sZo_/=n̗jM^uDT_8023.{11W_Ƴ~bT"^Y0+:UV9 1~+UujE[0ɽ">ue'@;,*n1|Bi so6]ŬfōASiB싐o^ a1L{>L:~1.1A*뱵HR<b?w3g7b;1@"W1`;l, kqwF Ce+"UAq]5,t&U]\U֕!XmdRMEM[́&Lcӻh4s'ZjԂee7&q" \mD$21g=4~ϲWEމ\NgF<[(DL- H>qjg[Q⥅ˀgYNP>ĤĪTDضeUgq0}x)AC}eIOjvcVqbA BI0! NfEe⾻*\ah`Yoxݬ3#Nm=)˼o1H&rR9%3Ѯي8 }e`tP %uQMޅŧ |5e u UFF6f[n8~U^}s༜LUPc_sWwG14H "sCk'+XE԰Ŋd.DOY)ĢLd>u*PjKn MnyQ *! _vLsW@TQdDŁVs|-C":q3eyYu}:$!)`UẌ+yA_6"IM3=hAZ8Ԡ eB+c3I]DWg}&yFtgq;WI@65uLb&2^G#d|n fb`ŽS4nvBdp2E3RDPZ=|!>jgdFY5Op5iU1TCSgbH(jYEIx9 9ginJ0a ̈́9.:B. L+>XkIb|-62JikA<^P1Q@{r&ؙ sS㉏ΓzSxJ89O lܐa@IAfo7j`P\Ğ@#QR+Kfkm˟mZ '4Q]>d7nϏB/kF?QX13 lvw*~ |Gne"M ${M#EԲ"2H͇<"iJ :8YQt1flYj sTd!Bn4@F:a9 å֝d-fӛ:Q3)-nnn}5~%JVLub7DXLuͦjvWz<+agDƟS!AEBb'DOLY(cIդIu: H›۸#jV˳T%@-s&GΈ[a.n Jnfljw%ML7- ")8b_pnn 4a ~z$|Ps)|#3>:ժqٻSSjb*g y:)7M2_fYzlj N`9[DǪg:8vk|Lն\X,ԌFPW]i1>q6ΪJ z#k%иW,t.;t-'WB~[U |ϦY lP}2:ﺠkfg==XyM*Bt73PY 4JHwv7 /[r#&Q9 EYàqޖnnCU[ki<EyFU82w1ŦIBS ּ:~_CU&A@sbx8ecsE9U!cU!4['XD,s]!VȈ,b6ˬ H{Rd^䘚1֗UGV)ƿ*¬jڱ2eƠ F˷TVw2] <DrVY,RK%g_ OӎV!oh-g}–W; h7^Jxz/m(HEVQ4ܪFwjCgYhaPlk^ŰqE`x.pakP(.YŨe"?\c37ny_M✅P9H.L$|1AʬH H)!e&F; v)SWfd9X%VUuo3$2@JT?uUe"PcQ1Q@X;Л?QSNnXE79ѯ̯;d-ΊYmn`RȮ_ԵGjMG__"Ҙ3ؕbnjY X0*OU1S}}"%e3'7UggP}q9T n7 =+Lg*KU;C͖/ey.SO8'{fLYS% 꿬(AmG0H<49PXtwIp2T͌,}3 dc7H6FMEC3TYDe d! \>;nԘ4Da 0^z :d:1G~BYLVwp5Y|pkdz- Cqf|T<!*UO>lP5w_xz%:ݐ9Ws4n]ݛ&U7QSլ>,}YYDHI"RugdM1"eLk j ϝ`f hU9nf2S!0XK L&ZQ3!s`#B3<A<z{:>:"zOfA1,J¼񯞌$w58*պʟ"^y$!CCՈ(_HQdfjst2S w5}c|秆]eQ2Cj̩ w5Ժp\|7gD?piAW5 3ҸeB?21$=1&ڐTAdZTVP# tLzփh 575R?>jU3/Q,w,>C ª8x:( ѝI<_hTD!pۈG)*pF 8z|<8mݍQ8#|;$`[%M"NMY",^D0aɩYQ ˩Tl?E RFG3=spCᔙj9ϗQ Wr~6* pddqQ._ED >./+N~%L&!ܢ pL ` ˆP2yn&Q穄qX:?_|.$bU#a^$0fR),*8/2pYDNbxbj`TpI8gtOB=%<`CdX`zQ"[V':CLټ0eюd3sYou"[ E`Fw#3`36+o]0St+b bêrw`̷zlƢU%>Dum]9P_ϲ HF*6<}IDpdE/ǽLy6fH _5@d.[&J]^D8s4n]E7TU1; B6;>G };DH]xcY"o`v" As7B"vӨ s*vS3"Z A4T^۳{@VәӇ#QGB"Pa*7k&Ő"52ήEȨۄOUDد ,78TXfƌ|J^a\fs Dq~Ǿ\-29CbL,U)/{8 ѫh 2t"An9 dub(9(-7ܫU0d&f߳QKğdWfU|xK}23ΌL5-P -@ʈ9G0P{פ*4+MuAT߻rqX3&1[58_[M1xo֩ {3uT8w&nL 5Ŕ[Ay(ce`8⯶&݅Zb(Lvʝ"U$jk_~or<kK32Vu1 )#*ZT#Dy?P>ӳw]5դ/Vy0c׷x ~+Q2USۨhPS/M;EL ^fUIFLTYݟ瓙H6V0JGgv/sfi9i{!N%VGEZAtp=>"-!Xg7al-4s |9X#Eͦ3^lx   RLRXU2 n'*JB$uCkLAnZeމNT2eDf5bu2HTd\RTY8unà=_n{1]D*sNʈLؘ3T}G K{AJp+8@ڬ3jdV\crY݅P[AkЊ47}`H3) 5m*yDIoP_ItgKG[Iɍe' 5[jU_[v1Ef:\σ+3gU`Yw}"b}Cy>b_rw"I_ 6%d:*bsg98yRLU;v(0)3qNw".#`."eƤ?~M:OJ"ܼ3y7ųwUZcc71I};udb)nsnDD%IBٝ1)_Edx )IɞB/)B&7%ScmA!LM0<'1D8("#3q_gW*߾\n5ueЬ|NzTD`^,WIYEC޺* 3䚙~_Ş'w$n (~(HbqRD؞Û0WtG"PO^u/ğEQ۱`J?un&p(ݖ# 7lR/?^fg#&z2|-!zQ/J]swe|v7^&JR(yGR\|4~a8fbH`hh55y?.VY5B6n$Ψ*!Q_A|p?S3W0ʟm0sU7Au 8L.zbW2cN,Mof]C3uQ[RZs*g) pSD"2OV('dԌiS5VJ\M,76F=w=}e ͙ 25@ՄcUz4inNug_XD̈ڙd'@~f.=jsܽE9zBbRyn]]$ww @ʆ8la^ .lٵև YMU4X4fXٯKENfVީ{FŖ3sћNEa\:t<-ۈ2#Z 0D4s%3Q}M529TWie^eBI%. |=mZfvs{6{?Ml|HE@cf[ 7CGef)hר厜<_@]%fsuP7B=IƆf& `Q7~Yl\)G@T0 ,ɫiFLfk "ơU߮qVrv ,91/\څhpsbYQB5-HIПs>ؔ":B~;]*~pvVn/{ĩ.3+ʼnJƋpXL K.5/@0TJ mҤXMO S3n6*л%a691*Tc*,3dj ,}yg=\F2ܜB :9^dABX `,>4juQ|oPh|c [ݞ 0WE5!g#bC%c@ ؐ[nW܍V u9¹]T2包'ˍ4,w$%&QI-BȯHsya)Nvڢkyrl87U] O$lDxkFi|vj;5jq".BUp9K|.4ՔƖ:9x`A~낀]]U# "ۜVMM=VMTD'gө ǰI+lze*."<7e6f)HS$p.D 1ޕjf<2ϱ9O1 j@1\FaCO9+Ve){Y tHfJ*T j1WEy"HDEn;0'3:;L 9+ZnLzW+x+k$PCMYnd7 %\ǨF &pLkor,}1nj:X0$SZǦ65wl}蒠| @H;q/D h0`ή T3 YV|aŠ5O, mDgcy8͜A扮V5WH p] m,㛓Lt<1AߑV0L8Dݽ&2FN!fBĪD} $EL=u5UK ' f rtNu[ >5ye$~\3DܗQd;q# ̐HN+Q$.r(&j6٨"B 3=LDdA|D}S4he/PFv%5qZU:rY/nhvQB;NЄ9.LDuz4(8;aP9 p HU煌D21~G0W=AD8Jb̠\HU>>PB!EX,?#fOD&`nK9V^Dy#Q$qBB/ZĻ<KFEߡgM̸Pu793'*i2e&fVD W\]d~H!BŅ8=Z]1K5͙UuM._3zD<8[oT9VWG*G]8 /5h< 2-*C %2q!lL\D8]'9k&7!HHP w.biSռUA5EU2Zi< ']nbjuiЙhH+#*_1 򷓥g! lVlYjvaG#[ TX kZYUQWK݋*siR2W+/q^8+oqEɔQPu/kt/nϻ<~;|\NupJ火fY|{\ghVVr*\@5$'.N"'z&=p_ )@iu"|-\nPvƲ{# ZS 4qR-='2\XVp>0qNœ]c%dVf(AŪ;SA23VKMX-Lgԝx.]Ar34m9&흅 ¥xTɈ3rઓm} 3GLZ{p!<>fh|R'3WInDω,WoPf 4C'M_qp}D @A\NzxLo\ED`,F]_Qp2`X^/\)}*Y [Za&hrC: (> '}67h #LE}"yiFN$r3\ia73*|Rdb,:%QG-]EQM <6Q7'bǠíLTdlfZpdƜAT_g52U.`@SZR 65_e'\<)'H $V\%,5@ S0_Z* ec2YkcWDًo[UN<.fIt0X@d5W,&.dj=DgUYgaLLMD&AԢ>rUҘE] ߽ǃ.$3k!)w3z8I$Kȯwm-"ʽtHwݜ}/#U14,4e+<w )8pqE" Κ̰kfVy(Um-2>Qbՙ O0T48,ʌq>μJqD*%nfjUmYt!5vg oLVEm{f>&7Y3Q~U[fF싨:EoѬ xbl*;&5wᠳ ly:gn]V`:y8@E3h,eg7 |a#ZY:Ud:eù$˜!9V,ܤrj)8?FA x{dXgg;Y kϳVS#:48lDju*.'_H-}hT*:=R<+'=Q9Mv\p"}:͜on".qGWuǒ2+YR7ݰN O#O4F(E8 OVDE~Α9Pݑ-b&307la }\rfcS>@ &?ώ "sa9Y: p=CY;XQY̞Zro ḭyWF`T=dFZͰ?3?S܆Y@mq'a2*AQAA8M2*C]ɱn3̅TL:}{=5C4@L'LDMf)"(ݬC?B0XyJpv?o1ȣ(%1L4Z.j֨*n7kUFb5 TT\TUN®"qJLw2L$E"QVUb8h2 .5z0a2䒄%\# $!,χH5zi" ۰M?SwSݡ4Geͷet)LrFmI`x(6Ī ,'UM0'Ʒq̈e6>VK?͚ze4ҟ}T[Jwff?3Nmn'A0LF9x4DĨ`K^DL.`Br ʪ-jMJ\$lk4E4tթrH(g(p4ek)×qqPݫ޽~ -Lnx'у3j{@+*b ;nRadض"dL"8)`l2`؀FLf"fL E#gq7~@a ~݂ 3 yJhaY|F"q%Qa  ˺=Zgob'՝Yn*Qykt<1%QR?Đ r36WZrC%粸5757!>-".bE&"kT5oF"m,. r_n|5Q]qFak"p}62Vryl]ت$l‰r Df .5w4|'&rXuH&Nׯsp%1V*݌Y:!QɡQ170)U[nςTE3J^x\ZtcfƳ IJm QO1Z&${_M,$բk}{T Tyz`Ly#| j#,(n~+,,d/Ϫh[+3kb<(ED \ 2SE@MwCp)*h>EQ2î6ĮF K$jS>` ~VT]jV>k͐W4=ѥj#/AD>G3DcUBf(ph{s@$'Y]ԕ=hw쯪/|3"'9^zn WlZM @<(2#iٻ~UZ/y"BBib$0zSbM=?R[Of m{ħBs2W[ȴ'&&hy>ϧ7Q*+2 uU n2V  3xȑQH 1T_ىJUKU3DN6J]iLx/7@; H\|+X1B#DvSU_͂s̜d%MVW=ajjk8DX} a\ͣ IL]M}ԍ\ww×|T9H/;CEyR-# HEmuNDHLk_3M= Uedd`4Xww0(Dxؠ7ZmifV$u17U5QU@L&' e1vb n?&C7hp̙^se#@xr +4L!ڶrˈmcxO*+w-WW-LTI' o.:YBy|=^k [2 $$ً}>{WZW\+p EllC-M tYcUDaH17e9oE~9`Z079'66>O7*ZYQ_Ƭ͕]:=p\@ cvf1-3D`HUp$2~j78KVvVL H`ݪ:;q8uQ96)G"beh4vΌ0YI l/T 鹳`,)#祊eT=cjtiW ,B:63dlci)-umݰtV&UTttf3 c&bnۙ#"2sVɔ-ٛ}5a&'ȠC`8P&Ό]m,>l9D`jVcX74p7h=sU]Q$0&CԍU&:CH>L* p}9 pWv`],,TT[(ȓnCf5kVtSu6*ݵ_Ȍ*܇#YTzI(.p.FuP^R %Vf &5S U"d92%h@w'v#F`&f% 1#!s@c l,N^Q?\ܘBmH,'ޠMډaG5+ :@-325 'b zGXm|033{*8CG.- gFȝ̟t.QAz1Aܐ"E9l9MH 1>',^ s1eUF,TDG 5sfj2FWx|5+=i;#&DH. "PHP/9þQp vwU5#[@xmS9)03iܿgCYԉ aC"FE37RE{**Yk} ō63͍3 H djU:W.п17E&SW*!]f<,0oTQ+2L(s1 NqwgbZl`V=7߱`wZxC'^|yFw'kUŒ߀딼;*&Ɵ؃D i*O }ȲDb5 պV@=#SP\dg̝ج蚟*1'47YInewe*% N5hHw wAhHx)ǩG  ^'E}U#DʚGZpiB0~dVA8V7f[333)ѠWg@oHDҫz>5aʥRP\=!dCjv;XxeFůU%jy?UO)Zt%,r$$ۍl.6c}NAu*";p}B,=T)QT7g)֠<0]L!9'~A4/ ƆXcLjgJ2cDN&( ar weZš^-(#_sct.iu\禣3&KxLl-S모pYT%e.$oʟb>a&WIB!Wod$B $P f1ވz~?<$XP51 !݌#*UGioUAmz.jƢ`LH3u?eUU.RYp1"N9fߕU4؄:!L >2٩iQr >̐]4xS.y a>$jbAbx.#ǐ'닫6w>9> bB SZ՘2v_[٘ zhCl a|97f"vdss3q#Tw6޳XLSAyI]Տ/FYygҶl2+]L_QYE.0_:d=w D#"xᙈ؛?@xɣ|:x85RV%tVKgE7;l8 { 7a4>A $DW&g$&t$,=Mqy̱Ӌ Ī$\q#fu]Х12Q`bvU:9u2rA'kb솄\QLcV5j 4pƦDT-"ҪXD3ـ0ΞqV a7LOHnAv/JDsk)Dr]osO?QS&qb,{4q2wXPyAz7PSzİ0tֱf"HP΢1AE5IsU3sB 7oFT<)uhU5[z<go|0,ah7#KMf:7VL{6֙7vj8XUACW;-2"ԧUr R2weȃ,7lԻݍ /s <i3JtCȘpJ\G0#Is3k8>+1l'fg-U$ke3+vDTZS,7bG7@4"[eSW tM砏"3JD z'ɂLl?uj/-W}\m޶"J-mȕ5D8U.WAS2B}''*? >UL{đS¯)]ND;6vcA]pt@dOQ \ 2e6uPQe.:KETjjV>7]I -jߪ&]'3Fhy~l*#;MbA%*X`ߵ*4Ɨ#nkĮfvf"~H0+ea~+Pn;rn/E*RM'Hq.yӉtm)fj `tUyT GitUM'jdlU%&Jaz7Ruqk"rPX0]c1 q3TrcPwsa})h!C[ :Q0]IH+CTL n*&ZVV*5"ydb|M WV"f>yI`+<-n.%)sܔǸHSlytD?i*cq2Z; LwS_-tIy^ߤT)4x%2eFn~v=q}J U9P43s{cz"x.S8Eq*L p[{{OO 2y솪,("#"b=\Sf~eDW"EFU0KT{9`&:2 (䠭+߽MsQi2rѱ bO`ʳ|~۫{[v);ۅ~Van{A [1anF@L"t̬n(=墳2 !X]k""\L'KaVM2(6G@mC=n7qԇI̋;DHa6X t ]3f޼+4k抣mWY)&/$T+.&N =_\An* i"=g v>{\ˁ F!x4"`LqT 0LРfjD 'neJDa]j6+Mg9Tm8e1Wթ(Qᦋ|,s& noӾǺEQJ*H<^˩I:cvT<-_3$\2 h0 =Wl#,` V'U',Ye-TU:1꼹Ɗ"v:!niH W6sC6=kt:UwsϬ 5 0MwOU@b7j M>j)qpwE)jvEovnU٭AUNf΅oSVKef@q6;C0k==4rYQ4PR0᧝'*˧n)GM#XSl-<}U0| qDU׊sF{IsO8𞊮RSq@CLYy>h+ʌ?vWT:FT²lʵ tZ0GџO/I4#fi6 e!U-"sYm DžGԄL|8# kdk(-' a:&m*fwͷ(q4ڄ$'#668;aYv^涼"Jz -L ܤdeg#Y vL9b@L%|Ԑ&^ q̽. YA&ZIuv.w7nuIe,2sW?> xdksLg"c`~b;S9;mq9|]<_[8_&j#gtYH0b7F[3ޓpӧ규E`gR x0zSSW m$t,| k~W!_fZ/SGWO_ ̉eV4ɻRJDfE !?O%87I|Rblc sp gT0L2HMehcqeԮY r.U\j>Ԋjfʅbty||>0b*godj+Fq^PWE1RA,9yt|{U=~3̬ڌ1TvE*OhY4o6 ot4qofC7/w QU) x:#qM| 9ٰ1ڜFDzvwssSχ* e9o%6!ւCc$Q=.V+@ 8c17nb+^Rcbd!(v33q5QLL.:-eWèlϻC㈦^Co:"/TM"Bjf!Q<&S:(;'nKEU#2<'Us6'=FP| **+"Q YprnYGtFXSKUqf٭%D~ˌ;.!w$SXf\xо9#)&; O.5k rQ "D UNA&*oy b43mͮxhBP0\¾9𪭣=s9wHrrLp8CR@֙Al1lvVnWd$R#MF,fWCf";6` xb~ʕ`\f:|l8,Fl0g揜'Yč(2g*wA{JMq08r*:Jp_;jz2lQ9*++_[Wyfް"֬Ӯe'_q@D .4E<%l93Ud ӕ!k-/$cT jg*ѕN9] A 3<'fu_uxp=(c(Qt=]#O.P"ZJ+Kwe+8,k-a*T,a5Ç`r 1Z9Uj=r+=ENƱ5Y@dPw`1Ns*j?,piF[$E[UOLNdD:w%*^zuE}Q7X 55&1w3ӳ"0S耪%/LJ6C-]23_kg9zJxٳ2SD;2cs337Ƀ-lQûng E0XCTiJp'\0RSbB}) ގہ]R36"BR&e7ǧ΢1q9vΤn -c"b*ߦĻ>XѻpՂ0DQaA#-Xb92dL\\t-wp=\65># ?}`S lvZdFT( Y%y0@#*fb&qWu mщܸ#Y!; -f{9#:˩餉Mhe 5pq1{T84UE)'*< &!6}vg59_&%#t- S ! 6#*YW55fDq>+V0}§EY W ryʡ"\wNWyd1왑oBXŸp`c]mmEUVMUՒ**] ŹGE } `2jg<$~lo~f^nq t} X C< 륑U~G~VJTQ}/2в#v V,r gP7H ޹57AQUDv9xsK?0nT[m˒5(R,,د@$?c}]];r*=Ed3e߳Xbg*<+,9j]f;'xGѽt{=h\ٛ敉yIg0|d|ȉ.qa5IEqἏ˴]г1+t#wkƑVs%JScp2؍V̖?'oY.D ف}Tu3hq"&ɮfi<<ܟ"nM)E LЪSGb)7NuigH`, LU*2U*O }߈b>k߶Tzr".Ŧ<'U0ͫ C;Un~xhVUr$VXN +&*aj(U2"l3T*pF-&#CYg\.!1`‰/'.A<'"Y;[8=3et~+nTG|LB^>,"""k,M_?H}<뱨33!B3`AHԎ> G7W?89Zb'b)3+<2pBp=8wv]=P/pjp 9.Dƽ{@Uѽ|>b*3&d(Q +=ce8oJgOdwA\d HOk '&D=w&%`5O375>`It'F 2>&L:Xm̚Ѧ~aTMU*U #??/X*ƀUuuVںe^VDX~b)u%H;uNB`ۈ ݞEMT1b2ь烝*W)-jp٧tyDr3Q_N, Pd%Q`ӈ5~y*0\4&&ڌÈeLV^9`a5!f{='Os|x x7De̎&; ~HGNr[ba'd@DI9BH8eOZfV'ͬGEeT%rpM8{u^f&z"D$*qOL HUYƾ?Up]%BǍ!UTcϷȖI"q9elϪ||/$w4Nۀfee|軿 L'5Ds9WVל1a%;ip!b.W'$ D_H#S@ 5tg󤪯]6 H1Blf GʢV&BN%I9tW9g}>oZf7ŠG͞%DuO`&,}fӦSV9{1J`>| Ed`gʃ©[^w ?Ȱd b糩fB@kT! ϝ̚.u Y@Ӫ:{ZΟ 0[aU"9;@nFMhՙl&lı`nx2?Ȉl3*"M6b2S&g|3nmj\gSsQG$2 E35y9ݮws30? x4D-r2ȄHpUfY 8.zHm榊b]) q:`lkY%Bq6#ݝK, TN8HV(ߣq.S7{Bk&aq秺KW4aՍm\E e( 'gBW e 1'[eiW<0^Rn` 5 sd[C/ TpJ,Q?ZSY©hMy |5`dmљHed08 d.se Qcdq7os+"jrpnT`))XJ(21LRUbè ^\TѤs i’wvɪ*\՘+¹ύU&"xzd ,$n5Aq5% bG,VMWe6y=1_,FUf⮪c ãaډtW VRÉbϚ()Qt}'\O&I@m#˗r߳E|*KMM-Ό JM[EfPO4U#x 3~Yn ~ףiZVwT8pt- ,;OQ7Q!؉IuArqww6U19!Yը+ߔc.1PQ00īfh~AuUK,>.ID׼u^ [Xgxg]y;.f0 Ռ0{TBݫ Oجr0%M=nH)2Tﭸ љÈ^~{ԕ.KT oҧBr;F+"䄯$QGr$ Q!=3S # `dSNli"a$Pxz: ͡jwS ҬjGupjBMY%*n!XNY5cQU=[NG G;E!LZUFj4}Xbe7b]OS]D1/Nf-dV&@Lzx{#}MבU;/LSs4ӳBXKTL % s_U+2(_gHUk-|aLη!#>*b r?yK#>18"]qB.8njm6:nJRU_yQcz%"vgum|L*vVY}Sufw<q7Z+rƳKU]3@g%ˌI&0]UʐsUNV`$">jִqk!ڙij~f檀fR|9,nM s|}aڙ ^hw! x&XlUZZDTɰX fF253ܨ= % X/$U_s/ B t"F \j2st"̗*]16CЅ CU!, J.kS [NDD 5[JXMe6uX ]6AM|1ѓ!n+;ywKb Da)3p/*a{jՌ+/ &[.v F9SLoK:3IE1:uvs\—cN3iUGt߽F%"j}}mV2UGa΄en]nTU*=*nD"Bیg\Mzqj6s0,sتrrs/A⩱F=)!&:,s  fUz@3 r?,ejduW좺s} EQeAI<3lHLVbl-El,1ӉGf`ćgk[q0\e-M_l[I#S㦨jS!Qsin}^fUw35a$JrR7*wU5T}.zCgj2FDTVKXhVs@ɌxR95{-zHKgr$ ۗ[g^*"'r_9g~wjWwzd3#6 K}31„?#}> wIXqDL -W 8QfF_3x.ƀ^*z hmLU#'-J-fXo .13y:2LOx TQ _fWG I ;lO73țg@mԭG) H:+3UVR3z݄tL"jjGr͝afGy\!]#)'73JPRŸYnr5`6axT$8s("nhG&b1kq~7&̍Icvr}de4gUW5I`23q\@0n:3p={^BqpمLY|6LLJ$]QQDf[䁒kVqfF]hNHt=g>hNj٨WXXwW4"Xxb]yYY':ޏHT!bU7M42T3 9.4w,7X( W]ky\XO!G,bzxY!2kwQF4SfQSU!7c tLTL$p y-&jL+7Rs"wBe ^`|fZ2SVTU|!ڑ)Z`F{ODFbZ 6u_̎Fqoa?'CA5J֠ Uf5UTF8ހ."'N4*F7&N3J\%k'㜍d'\a92g}*cT|sV,̄D2Sn `"~f|W \%=f>`<j6"|ާ܌NMj>Y1GG+![:Bv|PUS 71R1ܬ`3A+ׄoDdj/OvI ;?hH$'_RFE aP̽Lk"R5wzG&*EwE,O`Ws)"S 8D"|_ȺY܎f^QHk7 Ɇ-`0cmF!);}hueVfEVVu*toT-أ&qUDz#~Gw f!Š,1JhT1DŽ#'>h9 q73{nÑMavS#~>ΌDTzeKLfO݌N#6*.;ng$&:?r1$>U9Ape 1}!F2gZk6DO3`klbCܽ(IoK_U̱Nv\(O 2xn.^] cQQUq NFl98yoٕS'f|eo+U+3aU!pIe-]K}D7"2h0f6VwL}E$RtN,}`m* fGp)7т<\]y[AR=qlaBIQ783f~KTqx!*myS)lJU B&Yeԥ2EE3m$T\Y3G3IfoF2#Ͽ}̄圓]tiCrDTԽ,Dtj˜""~bgR"J;p (2+ h.H\Em:Z;cِppz~Vfʌ[yz"!ST^Q4T T) {3K΁߽OFފj`ZsJ鲈Afshx9Va>ª|g /|/OٶځIdeGG;$o ,%9:QQf7*1Z34֥6d9͓]IԬaDU4&x."LmEK5, WsR15VJT2a̢vWUf'_?Ӭ Cǩ;)y|kڌIp.`*jsEzfӥH/5m.Vhtjh 'w'tEXXs1/\@DY| T~Û)"3`C9sn&2yYgɉRtt"z4c^%Ǝ40t^)M8`>z;Qny xmk =axl[XU :>>-g9 uxz6Fa3,@q7 1ӡ:ӐZΉSHS +0Y#,=|{йOR[@ӅN0HyڄnC񝁁`BDrn {k"̯ 90}vhe2bQ Ts1%117UI̠(&&^XI6q"fqSG+5(@1wuH"`CTm#f̯ Kd T6G@DP"TD\œ 6!JرB k>*7ySE$|EXsrdk`=z"&l9ӵS}crfcUդ:'\ݚݜEf"pvuwVMB%14|+':)ZđGZOtA _Uw9pLY `нuU>s ߨQ.Pk殄5cME?51kZy hSȁ| &Y,Ï׈X\jV<И{=z8"3ewQ3V"HJTN<떈*2Ӊc4fn I_gAi?=ATPUEietX>] Ef%3m-!A4H&~O̗;lZ9jHIнT\ $ܵ#x>w\]Y4Ap:z!Y3rbj3q;9AUy-Qo {=43p wIA@}qnbB㶜P'mwªM~>Щ5!mspa[TW_SepXT 'UDH$@*rk yt3p31aDԝd"wC=?U,3͜PQObab3uՌjD2%}_.C~a6 +|;BB}@ĪvhkƄĻ}DE W:9)}u \DH O12Tc,LSuu59cQ)|#²-ӯd1q"``37!GEO%b,">:{NqΎ*Va<7lQU1?y|9FAKl-IV*GvC=ʝL`fL0HSewaTYQG8~N놫$ّGzu̺-5 ގsV,S䎂D#z5‡s*V\?7 u`۬g-sy*JKE A WXX2#3O G : bbXQi(V` CNDsQһY(yg K_x_s H\ͱ_ev PUu_AeE'mI Ծ狀"|ՉY')u1jQE/9`~/~6OTh0$.s8,tS@.i~D距cY].I+ng-&f>/|OR_aBxɜC/&Ugw`x "͈.0ڏ2Ð+ļct}S5B-x LDן UA4H tU4X2E"UY ꕐNg9\ˇ#&(/w7T7"Gd<}>druanv2UxFoz.>fjj gωG(Xc5OɈMf*FD3L]y)5w+yrW/s*T'ֺfO"&UkuUg`? .0x0qVfP{p2JY  ,hlЮYfHꎠ. K@Z,*|Ae8!ډp7-{du }@Y(S2ɜuc,C^UDDĬ#Pz'i BȑPQwZwG]Z. rxbLj#cQ=?xux5+Aeި:ZCgN`B$f$7 Y͙Z{c6@dYfkD|f]Y҈s/݌d*3U| H839@̵IjgϏd&!ps0/E K?hG+.8(BQ֚g q EP91K->ȕ;D)CU]KZN+|XJ04mmdY2 b2l+ҼPS~$j42˅$А>EPk SSۗ֔ն 0l<])Us7[x=-f5=w2äWDTT6`QK5g \5nz38DH_΃;6Z Q(5T3[ok~mg0TA 5QGCė$_ 3*tM}tkʉ1{ni. z"kmL;XWX;D[>`A]%Lgc@lm=BMM*XmZL̍l)@4B.!!wV,X'XU.YW3(ibܓ77]0a8l rq&uѵ_?+8D4z:77Q? ?B\0TuM], 1u}]H ܮ]V0 ArCXLx@l5]D*Hw?[Ϫ<V2 n XY!"䚥nO+nqe !Tc튃.Kf$f˪D,aF%g'> 8*VL#-#^;ff6D >phf#3ˠȎp̙&Swgl"0i%@Zϛ >??ﯲ@;i@4{;bDƍ**r"3֭noޔbWWFdtf~Dʜ@[ g(1||%Yڇ#_pmTOsC dTmLUf}O*LqCX!4ii.{?7KEK6Q@M-Atޏ@<A~@0DבFۆ0TL "CZk-43N \\G m92$ 2Uy>UOO{U%].z5D%bfF* .U)oT$܁,1S*c$M@HCq]E8 ?w9DUc<<,n(aXXHfT)20glD<3NIĀq)KMkhKTf_vG9~J< fO_Ĭxaft2fL͢LܙgyM~~T[<Z÷uF aB*`y@1&bnnU={syƠVz ʳ?b<{qg7&ݿW4ᓉ[k ű4L#L#]~+5)1+85m":7fyOrz-,Q0ҩ:@9tU٣} HV&4 MQp6PFc7V{~hȜ?MMQ x<ԮH'86;lD,&N&.Rf=.%@,<8"Tn.G v̓qj h^?XWX2"3phX|V%VpnE !/dgv-PߨpW# ЗF,zLt3Anu?H^ƐH/YtاTw=ӝ)d,3O&B_|)abٰC|& ,MtW0bf[3Hp芈*j4i-9H_ Jk\4))'[)^ @:n2Pά|CI>ߵ5Lф+Uz%ľ0"jbwS=Wԧ׊r{Fbb5F`e3 Hq2\NMJVy-دP?ܒꪝd-NcfU9́b;2Ӧ>fZZ6!C+"QATq#6ĺ3 eP\2u % 싩2sSZXu3}~_UY1"xE• m?T7ZaQ¤w"*$@EDM}L3 2"p8w4r4G/?ռ[77qHYS 1}„ ܙaLf6>Ss7wbʌv3@[? #RwsCBg#2NAyXpJݝecJA'P;CuyllfB'1HQ+ =*lt<"u"קJ `_M !iOA43w}A0lA~9}|tLYG>ysJqqN"FЮQ0;8gڮ.*ȶƾdT&TCkZ1+]Q #O:ؚʮMD̲'};5π~YXx5f8b #@D:Rn|0n4h=,@t eUW/AHp!vrpkF}܅]{V sUSAVS,\n<|3,7ǂ 9@9Gf&&bA?^ ZfCjZgO4`"&WWvZhLJI1"o`",eҙwg`Lń3woy0EU/ IE, ԳRQ*-ǘט$dp~]uvO,?!Gˀ\JT9]/ɵf ;,¢U&z=ʋYJF N)V}YfF<$@:`"sG ^BJP59rTr(?D5DM0QśA|6 |Á(jG/_fK.< pkM/j׌y\8j\ ?E!(93A 3dm@0W Ax%is՘(UY%Ԕhaf1!U Ł3pF`fARY띃߯RޓhR D`ժi<.Q]3ArMs:FH^tF29 5 S<Uţ;榓QܝdU#AK-cA#3GfUSEF^*+BgD*0n0 '+2S̽0;LDwS\_C7AF<ئ0thsU1v XT5e2!(xh$Mmx ;x8kEUx5EYE ӵpqW2 FpYàc&L+ y @¾Nj,bs~訄`Ү[E=E Xxsfq23TT3S͗4oOF0p#3l|Us)ÉIG_b!MCU1\2S/cQGfA2G%ڍMu":G9!f }*&&$F0q9 ]v)3Un ǻkuncxfb=8Q`wGmG[ęH7S|P@"`Z{vU*Ӛ1 pA KYJw9A ЇT﯀D/RP錌mF䟚IWDbп0 pMiBEx{GM#s'AT?@ \ Xk4ڝ$+|w)-se^L ]HgT8B\KLp P v}3/3߾HPv#ѽ@Z'BT\V@&0Ef^U&F/*D/BLSwrZlvn;"UTL|MNhSew]";#oqU 7ݟZ`0gSHQ|?{Z{ dZW]a8>t]xt%ocj; _ >`9y nxIg/U#TUryAM9+rj"`:%Cskp b8Lm!*{>fnHZ8 UB aiPC=vi",{]Jb#kS9כpwnXT4"XyV9{%u!32CV'L.Lwqu垾Iꚱ. ]j9S >SƁ"px®i[3(U˗K^ ?tQn,JjH0;MQiEfJȲ'>:+s)Yz3-I.]{ʣ22"]LDѴ L77"3.eG`P; [he,,#4"g? c9j>pށdyp+gẓ= 6d:eަ TYKՐe',nWyNe42j_ fӠSUώEg'-Y p舋jZ"nY> j69+8A M@ܷʊ/R5 lఃDyﻗ.C,pe^kR0d9d0YbcZ;:'/'J9"X db/|*xȮ@\nD飪b@jDZ Q̄ ];]Q;L|"ZrI7휁'.JݧOCl&%ZN(xjA񇍐C}̀&叁Lx̡*`;75&Dij}@5%*l'y|4eY"Wm6ӬԘ){`!& i" VN抈!/jwLsna/W0{/tE˼pCA=Ef>.= gat!@P@v 122r&B Wy>`)CbV^._xG.t`{o#gދ5_N0/`7~w:|U;s@F "NFą&>:U={Lg55r\en=2g`H<*ʫ;}=[ސWtw콖L3yc$êf_r'*7#:yճg4h#S9 /漧GEh6q3 %4 eo}>=ʪ*6hU6C*h"w/:>qjT'=݈t/EΥHc'D7gSc@԰v+? .|;3@xxR0֫@X Cҁ7̊J.mDva~&oǜEDNd<3J2U-a'ʁM&7(SӉ̸}j6ˮD{t %DgslH1iJ+QcAELz]2uDa66j(>(?Wѓ"fs琈H}hYTVx9n& +^-1U * :0Rč)OpOc]<yu8D8 Y5g +s2EPQ=D8~զyWN[Os7:НD>q 3jܕi ?EtFZ p*Z9EA&Nhg|A RXDb&^37V+B' /I6c<]#[F @Us~slz6Q.W3B:7Kw3T#5U7F e"IհUU2q|cU2zv|\ުZLd%c1rKNp^A bV7\ w׻:K&& d6waAb`U]VDBD$:G\|S/涞a*Lw3{1y28XE9ia^V MU<"ZMUTv7k2`{MYcL#TOZuCT(b:e1Q$n6&,ෂ;]F<6pI^|OUMTw=QW37R,M􀉯dkcU3y j jfe֏Z(uD%F[ʈP3@ز*7"tDt2SW@6pk.e9jMov\&c5]f2g%רBO;rrsW_0f[39a4?T9Pw3H-\Ahv|PʆYi}D$ b67f? (> qw;7aaXNa8G2N{ QZvUwU]UBaw?eݑY,dΡ,H 5E^/iI6eO.wFKEqYd>#f  L 3S]kUwe}73 e'½ ג?`^dͻX0 ]\d#֜'# Wʼn5:YkVq%ouZ&q FhN1,3PV@TaZ!bbl&gR@pªBOVU<~BwSUv~T>r :Ok<>s61~2X/|6*T0^ *v51h#/膟cyTfehuBfD݆䰑02⫿"lJ?nA/PEc6aVs\EHpS$㈙}~ח=-Of)LIiԨd!J<60 8^B\~HXAv,7S{jo$޾WQ.}Y߳e{㺨5\"܅iHf  xY 3I`@C؉7om"S岝YFL~q.,1zɪULy`Xoߊ(( Ck=$*ǫ#% ]bqvEH뼾eK͂ afVWV @ Z P<ʹ.'_A? ™  ^UT4J1csĎe78uN8`a|$}"R̢Vd:y0y nxv(_:$Ss3CbƃEfЃ$3'jPனS@6=ƒA)hy`prrT+43ԩEU"2e!:2&9{N/HBQx߀DO;+#CÔv3& n7\m?cUE`ѐw!*8(U %&><*'zUu#@w#Wl`$t_d5eCHKm=B@\fzAsEU"$Vr8ZxBL{Wx?3.b(yHmNZ̊;W扈.7f`>T{Hn*&~FMy]$䉄6ݶ jRwTMŴL̊cKjd.+xb*u_D$l#=#flt2+ 5=[*Q=$TScF)@2A ,UDLи3pM3d1(f3VlPǗ1T:Ԁ"vy,!& :BI?3Sez{ߪ"nl#T Nj |zX,7*(O/.IUt*Uza,R3_U:x Ѡ߬MB_]6 h3Qgy`]@d9k-CBzge`2DuلzAʍV/3h4aZ1trhv1O /TH38xWSduq3,LwM~Nsv͔TB*$v׺σ0`@JF\~_7Q.S.P/cgLPW'[ )c21lKI NKӾR_`."8).+XV +V5Hfr-9R(Lh-ԺZσO~cHpUr`ˢD5(SeQ= bb[ af3x*jUo #"bSDմ2lLeg5l"IeHpJ&bIԘ?S2n bLEFZɴ܅I}..#E.PpVFFm UGODE%,P3P#"0Eč^ |]:WLmlWU)4WU8V.U3+8)Qua-/Rfq6;Fo d<##Tj۩jWByn2[Oaéy"PMkww_u<\Y"kuut=|W `㻕ʨblPU.W[ܬjuugT/؍/]eLp_q0qF Lu`Uuë̴R04&b.(nYпZrC%&a !kpKUIc2Qt܍#:4߈<Јep%Ϊ1b!Vb3f+S*<PdONƍ\E.HQpq>yfueov{뱿HZ"8T'xu?g#UG-ˍϥ?U9浜MJOQ4OrlR0])q(ۜYWFr2 74"wnXg%YED_[gXe)5QEu/U8z9c$X3(Ț;,j>mD"ZK?3UŞD^ s:|"KnCuSχω4LqS-#Ht:;2xLR !Lݩ;vz>h2CoB:,6i<$qq_TcUY];J*$Au{:=kKW\ͦ"7u:AB匨H(J0Hjϣ0Se3eHYX4N+b>dB˧f:97L掓?ת:9$hx~<rk݊MFCS*p]Y*C!;sD!NDK^*yYKS TbAMP#Uq>,sECX\.6AR;.(tk[5|77ĕq+pwlne kEߦP㜮,8SeO##U\ oWWՅ;Oϳ97\Jb5*L5;1q׵f" 0Q7\l1pήbr T~ +^=匳Td=.VaȨ:/ &*oMeRlW'.HDNW{o& ??nďL 41 ϐ޻%5YGyc.QUw #3U1KR04TIN6 ²V b"ĕT/u oX-ѿ2@*+NT?_0!*UK°JW="ݭ3ޙ5GU>g^E#f7>zd1SQr,capEafSk<3' &j"T=uI [(j36 &`6o{ xኬ{eOUB:FNUb®,) ,jOD(_`[9,Ȓ!4W,$; "xsE F&fqIFљgTxiyX_irbՃS#-zD&5v!aL$Q`P5I5䀄rJhf LfH*1u,QEaVY"lfLNX l A)rx-U.1}vU||V15t{Y˅e#53N}1@SS( 5dR5vYg=w12N<(4ELZa&\ xB(wYצB,r{ȍ#z|U\PSLMNSݕ{o~ueT~nF > $TiaN?N\*Ca@)Hx)4jV/D2aaeN5Yk6) x}x U "nUj,|2ؤ@̯S6fͤI_[߲$!̉8< QÀdV7OuLXV0 \qظ;6nDEoF#"v! xr 8bfq.!x5rK0ƒQ~͠qM= `w، Ck/Y&ppx3hJzqx8l!%).BUUf\8rY?k֮_ru34QPS{Hőqh5씛z0/S!,˗.)P5|~&jD(1:)xN5ܜjaB'(读d  |wJL{d762}y4~~~`a,*xvFLz 1ͮ4>筎&>zZU`:}͊K:9`fbjz"tˆ%6 = ՙf.*WiV2aV],bibX"D̂ëAIcV)U߸VWb @?q@+5{GΖcbnbHL@LQn0QQ|̺]."j^UutvQ l$4^b<hBmٽlիE"T?rp7b؄`AZԖ/▫ roۂfD[(ӿuuswT J6Uռ ffi _кOUYi(^e~ՠG >3^XP~"Z'-X]8qƑwP%3+$&V *zZ&oTƹcq2"}*!f8 eMkf /f>jag5sv3@D@uLԛ|xg3দbN߹v<92/?dUdgd*7$̕*Ў'_„/UdC0~?SkV Y +*TM8ʫI#grSv=?$Z7:!!$!t 3DN-(g {iDWfIf>g|{U'TNeA6!N1BBDZgoWf,)K'n+ZL'bKFTgYsgMwUȐ*wwUG3 G?FT֓Q9)촗=k*`y!CWGhxΪQ S-`ZP"D"40|is~ Qဤ?ϮJU;S8L$:U$:wĉPf }Pcl}m>IZM_} )OuItb`bJ,*r~t#ո1dR@x'[`MEű5H&*}"l=BăehԊf4N3Z|ݥP*XD@4%< A~:١~ \jUdR7XG9Árʓ*DLzsc :uD 4,c»xԾ < YVwU."CLIA259c`Svm s~?flE3ruFM@SeɺjWiT}#vfXi3䦮|T9",N.zT!B.lY/Z<̓a&zsu*]UT2P6eɚ>P`)TeC_D NN;2(k= Z7D$h֊s8$7R PfQ`8+_eyV!&%jtr9ڰ͐fd>,.}':4`ϰY$2 .4ʑzRVi͊gTw5-` pBw$Qw-~z+|Rb}zVs0~.1Ǘ@ͬHSi_ g7y}&.'7Q?W+6UjPusįLŪUW3Q0qpf27˴stPӪ\W2 fdt85+&FZcEjae=sFQ3=eorcjsf2qLp8 lT[^QUa(dH\I٢fks"P|^Z BQPZAH:91b5IXT M GЊ<:y& :w!<3o-hgxPxPɣq,|̰a`9 SU1Tğ S) sսf{_F)VShΔ Ø?Xu$b_ 62qGIR xdKl8s"W͠p.\oqc~C#L015hU̬\]3yZ(-gCL:¬r@##V|}DX2  'eFJLj&M3R6ʤj5= 7<&_ ^ e(=sf,@%-2-ϝk,D} !0{2&ꄳ*)PAJ,zɅbFyx:1s N+:uP9jP[tby"$m33Q O<;n/scFy=*'| Ehh{QBӅ_N8s?|_fnrrwX1OoEE(pv9,nY9̚D5P眬wúY`Hrp N5/гE94pa#k=c]HN3&4.J("]T#S00%"S):m>VK*Neq6|X %on|eBso U(r'kTR7EqNɍ°.w`lAYɤZPPaejBTBF!\7vgVª.$d\M eeVëbQf2OƳ։  e=\t0 Y(809@gQU,*W  ppCvx bf (`NOHgʢ+Z6xyݱcLQgy"Zĝ✓x$H81{d0?A]lݽxRธlc­vK,҂ygaD09w'TU$3ǿ'%.}.y<fBD= Sx > a6p[*g& J"ZhԹHg ȑ%7&b-VL+i@ EdpSO4FDnT)guYR@uYygzďn_k&{/~. V P_|ܙw9gV"uu"T{ߠr~kK|.Rɽp2Ժo]7O4tDԤ3X;P!ߔ7yj?ca68l(/LLYl1q7wvT&:ϯ_0!@`q.D6>/:I_yL<8q)(ZѸ5>c#R](8;#p%^M q%x 2f>gCֹ}0r15~KWr>ffefRPnO`%J1՘z PA9|`hE/9\M31?{>[X̼vRa3 Lh- UB?Ĩr;3΁# ̯\Y93 UC}PܸC"䂍KTڄ]7gM "_sP׫u(q 's+q;c@"Y F(䓙.!{a{fgǷf/. jU+!}$Nܳ8 /)~M3[3ulšpBD*y"zr @7LLكRG}Pgc\ m `15yJnóf*i({D{UfP9n(_ yIQy:RUFCy&A1G8\"IA1\qT/ݿ??(~#\ءEZhY%r3!J'p3d {ArA !e.2TkRXE=f5mlhLD; qM :L{n HVo_*F#q0S3A^gʪs* 8L2wB &g"A,U2oc1r7U$ quһ,f Ug QTBM'&b["̂]h!^lz9V'rab3i‘bY4`ZUe!dn;U7VV ElT8/ I,Yk41Q e҈U->fQ`w V&SFSUJv9{B@}27VU)sdZ|(6B4j4U A*cQwAX&YbP| U[߈(4 ,9P]ԅl qK.V[%fM]2)hUL_2qKؕ8}]n::|jbwH2ʾyʤ0l7fiĩT\dTT TX)u>Fu5Lx.,L6.O^GZ8"0O<QYUl7{"b:՗If}g"/|c3v nӭ=^18m)} ]JL?/GσhOTѤfF/Ϫg"]K<#Ek9f?z<\)O?\8"R=bS˼2EAb:\Ae3kȘFd.t%tӪ8aLD;C|e[5#s-1G~E&S;5S3_KёxU3z?O7a8?UQwpŔT{;Q5hG)kg"#<.QVUgrxqPTy*WE"'}gu4`]ik!adFMbσAJSd`n+fb*;( Rdzpwy 17H  EPzM˓lȮl+963ǂSʼҟ:&V*2KLbԸ| f #X9pBw"atN,4m!uާixF y9j*_̿11S N̲]nbKT!*H `j5Aw\Hrr_$ 07U!nm\jy"Z#^պn,B:.U*aQCVzR&5CTT va+' (Y՘9Lh z6a\E5s!"gʎXgXkcE&|(}@~$ŏEYvg3Drh8d@QuJe#dϟȀ)ՠ_09 c- 3b$ -.DFeNEM4TBzRK~ӈ4 *lWm&U4O02 Zvq!lS6yM$P" v1mfǜÀOSCbw~~^ a(q"F斑h":X(̟1e>ɰ()#FC!4-d^ . b~焊)r^J9"}U`-?{Ȱ1W d'b!1GQ}ȼڔJp dL2 JքQEϔLVA gaT~>)Biv7=qk39d*k=O$V'U Bm#J9UIEF킛kpg-Y9ᦙz0iډ2D/ tbV8Ĭ7DDYWh,J^>ߙDZJD&b ~vb1SN X͈j%wʂ$D| ^2bAH?ݿJ!N) T?Zݣ̌嫛vV7ȮMP2dT;+,$jμ,:`,a|>atAfረLQ4]Fڅ@JX.a~,wjF} 䈹2e,d!m[`”ۅP2``vgj9"($֯U&JU s08MpM+AbOUt]: "L8vr:!][Dr_k0ץxS!L a~F!Rrt=<{&j$*Sn:v% $|]n\T)G |r]l/ |-Q8"ZKj؛&vaB?sd}f6=q0!/\N% Jg5sU/UET~Gv4u7G!M•Zx)"ߑ ̭RU3a)NJջwULTQsQMѰV}fZg!.dL Y,"լ_1 ͱfApMb ]jDD l32' Kf}SxI*N@= G@g*JGzZj{Y=$r3*UE 0ؐn 0of&,}"7#fʓfUDu-3io "OQoP/' 蒷d YԮp$-ERԘV=P& D'^8 2 Rd%A5ԹiDQC:'CN{b?nebcA$Q+9p&%j(25dl ! +7aYOA}UIIu_tg+,kh <ԑ)nbŮn"]x{ i+XYl NqE"ƲՍTosC&fF@EJ"@#hNDa-u/;Tr(/Ð U͜q$Ɇdbi.2C֊'$YRW"Bs xH=FxS)SY`fBQS+J3ÁXd-3`&pԘM. $PFә jU 緟\Rũ¬q*Q{Ye<!g>VSf 'v"ClhRA(cB0I,Du=JÌ^a3 ( QZ`F0iPVlTc&lϓ=G_Х$VS_.Ml-nh2L|(K EM=`q1 +ǍI""D_gۅjlLCY2-U <}anꞙ>Pf.!YQr!v!6Ez${D|2E9I@\a6S8&H *s1'ñeB0gDjeW0 (y#sJn??Ae(b،O0k`N |<#B=E2X*l nYH=`9_Xdmih #ꯉ/ol7MYT[E52Lkr%M D@4Swt>1R'yfNO1 haʁ91Ŏ%ֻ13!<^ϓq*]o%gM2^5w+O$*a!ruGrT&VUO hTZѣ; o/Ukجfvo)+ 65*2냘SvfO2 fgAXv~CGÃi'oQ>5JcoӋ(;RLxxQ4D+$cT?2`U+|92"VVQ!UP 樮 qƂL[QA_g/˂` *d 0`\BԓZCQuL+ܙlnY M<݈S5  -h'FZ<Պi2J5;SDt7"͘{ /e$p`LfUv2MT! |{b,#0CŶؓݫ3|Dk9D7+_ O<u>PPL &1#kJP+TM5{Fߟ.~攼HeؓzEnQCZYsP[|HWa0 sfՅLNL'CF,'@)Jb仂ds,& [9H3xf"b 6)sƷRDz]Uxg\ ֝7 ﬧnyoUU & ]}] KAΛ5"z4"!jluS1b)LscU#9x;CT=FF$F:#\{)iR75L9qHs*SEA6F3$EPϖwA vWj2R[EX߸jlLE=(&;lorgo:#°㎡+Rv%ND!T@#ƝbUz>Ȳj]D109̾yq]}ƺ `xw1hTb*L5!]7f%:&N2f\xlMFb&em! ;> ;3ىTa +2xd!Ӿ{|2㨺Ɩz9Um1X1i83nN0lqu3U1P2Nϴ&n*߽.ԔE"3'E3.O[ךX߁ITZ>g BoSUf!Ids\c{|0|fDYTf]efF N8P QJbfuF;H0WcʂZp7 hrpɌoAWQΫ#cF[LYSS۳ (}w'LV"3@ Q4~%=1Ԧݻ=x2᛺Hٽ̼#r*zNDHt!sm&JXwFڭT+s=fId8k=UI"8ɤtR縹 YYֵtF2\ҘNIUI42W&U ,)+ |ͻFoN9Zk&тu< qn(1r^Oaoe)neW,Z@U .|tlwRA-T#|1)Û_1tCªյw4?"3WIhqqq@잆d32^[H3og˔C{1ڳ3gqyrUX0"?<'y11)ᾨEyfRc5VeA RBʹIUw3B pT>0Wk@c䘈χ5ZqOX 6u pMnD! y 8C#qiDE&榯yl5勉فU]O'kYQ&5hDfGBw;؟}Y;L|l( ע NJT3qkJfĬdvA].nL*YyA:HtzƬWLn3 wS5ɒkkv*$[0ƪ%T‚>[69*fQˬ9HQԲ0 gobDy<橻W|Q+r>Y4yw63HL>'EgElL'Ǔ\)jVr۸9ӔE!WSa0뀢;;aSFCx/N7Gz~#x%2LwAE|S^}?)_۪fjZ_SN^WUS$n,5!:&X%Án'3*EQѡhG`u >.V )UBt>V!e>GMQU"lEIF] J`7?F)fFns 7]7u薦Ft͠?> ]٣AE!$.;dUwk<2 eeîFh{ZTT9ZXFFgrd(|ls+6'ORݝcKEv}UUU'p^e<զ&j(eCMwK/u&CjbMdjՉGߦm, D,a4*3 ި,x+l,UWJHE5f14 0Ҍ{6&5QjBާ՝̸ _Hu2AAEALN\hԓsfF q!lZQTW@I1N!6Fښk7e? icfS?LWf'V*h^'zm:tIlX&EZw?z)Уc=H.뜍.{ m(ddU9 `y9願s*T5#/b2KY͜Uq,kI^E W)"4uXvAg!`asO14n7se vwT23*ʟ1wӍe˛j36-7]AЛHgolɅd3+pܬ"  D.5/5&Rq[T5!ABP X 88zAiW/7-rV p@B͊͑ Ğa4H S̋ Te_}}"1y*0pӯ^f uԘ^Nd/64Yz^dXZ?Utau3^4CWIčJJ%O`T=/1 2dճ7uY1=y7&fkTýE*LBMg9C]el&͝E]k *q7#l.&])_k u:py/ ؼczR|5Wo=d7TX 2WXktҋ``BV|Cu5MAA U+&I!jt_˹ AXn~> #`* JB^n\=fQD6uYyHdz|T]<y 9u"BЦ1].fEdf,j$8 EkUnT1a_-ھ*t-jƤ7[G^eQ"cHN8縃tL*fPScZO0'ΌcUrsS ֌l<&ܤff]2oHԑlJW0=Gء&+ ڱo7[CK,jQ1S}&8s*̚ş 0 Sq/>D|*ASzy>'h^tĮ62EXʈ_Ęd`# Yj0ڤFG%7HDIQd &d͌1D > U3AxS(\Y w'DMIh;Vos&&sG b/g$zE7АH :reb߱,H HdFT83DoNP\ӎ\U?_GIVU?/vXZU2U3֭xF̍Ms &zJf,G]Zsf*ɇ]>Op3Xk1E$`;uسj1@2na. eĥfq0L([JL!ǰ+Gu=A72<4aD%*29|*VҐiTsm$UlRXD/sغkr!DpV`6<2]9ᇩ._NqbL)q>Qgߔ_F@dÜ#of,n@$, gYff^$P` IJ#0Fȍ1wc1&V"[|߈4SUӽ]XØ{7APIצ"菾 ę'n *6O@ ylbT[fA_-9DĢ@}~2E҃D0H<6b,F`38D"Q}x 5_"d7y* m- % #:@/|~!眬r&1*Reʪn\eMի&Zp qu/6qиj#WKݑ勵:M˧n*}Co˩@`(:dK oS&,s;l@UDw"/1(*H $j,x0<9/ՂHPcj9bͩA:ȁLuVWS-Qc!fb߭"iĵ\ M4Gc,'z#߮zSA7w3ޘu3AghSBm.keD-x=QɨuX$,.Ok]hZݜDNY}? ; 7:Ն] ~^C+&B&ɀ{j髚鳖l$Lp1z|AOMB̀\1_D\@XB0 w'zE nȉJr!]Eto3k=__Ԁbfʚ8ƊTe1_ژrgEa"*kk8!&X U3@O&=**f\UT{6dxeǥdTZ28f7뻮h+Q CL-*f&<tdϳnҎ=p9X6:ʮw `"|DN͜ _g((/KMCn4o}D̪"ۄ^_zf ZhLl#B]<.6ytSD T$XqZbƓE}2}; qB=!&4`wG$n)LiX,j*`@%d*"c2$E}42N,pb#Nd5nQVj.aUt0 ӷ꽷 !dC($cx4l;61,9w1Ug;M0)FC8#,}93X`Njzu4iPuGNnfnS膱ΔɕDVbUd=\*EZ8dWv+E W /H?ͤ*Ji Rij,fNa[a+O`7<v.~=ɸtLLIy^dg~>DdrDO~`oQXg6w{";Xl 8~+`\B%\'w `5jX;Yuc,Aԕ=%"yLr94cLzfN2aT&U'x1Y({?o &7`R~jo68#0~S\}TB|=_vq UF] qf ~UCdfUub$+{xuxhYfx(i5 5 ] QUhv0ݑjGPAc[p+-Gy[@r)znB2fqd}2.QqѺa,-@E]I REwT;dM|8&z;Mk&?04uSR3MCRBF);TGC0yUcacDqpD*Bﲎ H6g6\\Y@= ~>lmd"}')(xfbr"Rhvt jMgA0͎kQd8#pԄE x22S5sI8UF6TZw>σQ0D5jҟ m"BM'R5 X+$6yx~ T3PW#0!2B0vS@fBT *H+PsSW sण]DU}2tN3BbLUL55#9!oi/iHBHr.E*Ap>+/9c F |Z,#FjM /"8x̔Y)d8nUĦvh¯ )܌Wrgl#C9OLdAy~~/Fy&̂N*U3*& m̄H..cm|tU72 z*@F%8=3 .g4u#QKu8d~}2DK9f ̎ĞI//TxGfv#,*έ1̋*j$ |&pL1\˖}Y(aa;m*get9ZV1CDq47N(sWE#q3QwGvF3EM,U R'T=cjf9E" ެD{a fpK!1kuC~@b e78#f[OhM]ܱ(F0!YxS& %"?1xĻ T<25( o@!ΗE3d> SSg,$htUW?x|(MLEQfYUԾg /Ѭ*<+0l ~lUBRO0=Dُy鍄3#gS,' C& ~Pcά*/ZH p;~ 0]% A+xR" sy ՜W14*EL'2}I,Lqb"XO7&X%R&50ۿD3 e ~Ωjaihfl;̨7#2]Ed˗EWD7~-cer[k2hjH !&B_ʈc4 `?Q[6aBҖ*Tוy2sHd)Hv4_ruIe2f& T$`fm?OG=z4QƮF, Z`~U1iTъpYj'#memOBb^YbV9J׬|g@3\Ȫ*t%hC@1U&s$/{.g,D@3"N͸Y .30:aŒj.&f68ʓfw,w1W#Q l/5wQ5$)1(5b3Wq--Y}\Y}ϯΈ*8Lr#lOs̈<܄ )Jap̌VU>KDHˑ*%9*bqWZU߯^33'oUV&)r͊*{"XxvPDdK<_ٞ^",bV<4Mi",YM Zy9Naa[8c5Fb%AE>=SUgL// DdE.7v`s'<s $&#@vrCI:}QG' {2VUhE/);*[Y-3 ACo812;7" L㻉 ^2ͅבNpe gwNlw~rRE77 Fe~&b3ד10uSV|>7550RELG9ȱÓuXb\jLى8M9{sw-₯W ^{Qkn"e lU'"E$'4/\)g-(@D@/9fΦ.1X%7UEs1n!1(3U{TY=F=cd^goAs= , ]c/( ;b^NxLp^m,ttiɥ lSYT-xt`Z/ 23.Jh6}19Ll!nDD=p1 є_7% ^@3?L)0#&KZmkО '5A|ߌI dtWœX%Ȯ$er7Lj;v4UU}xynQYj0bz+us(PYp~}vc%r9&EO$Jjh =uRVtcIO^.Rf>t7|<}5#@J7gN`FaoN]_]AWu0. >/rsDYg%%&tsƱKGEQ-)X;9rVS㈏yq7RmMUd&he|a<$Z O&pCak=|QVH*8$"u&:ؓU2h7( իk[﫠6_,$lLyN@a5΂[iLB=WE5"k-HL"܁9'UDf" .fLe>Y35_ +)αuY@`x%"KQ*| Ƴ59{CA7/&\"j|\By<'a^^W݆QW%&p@YWas3dUg؃uwoY¼h3T] Su9tݍ?UE43DX0"U,zs K_=ېݓ+$pDXwEGe6X@V¸$Py<~yy{{ -9~c[`RH6G"WՋ,Py,\߳B0ŴEOᙾ).jiaTnFB}Gv iܐ y!3RL,laYdǸUI@ݪT0lŎr5( WOW>~YӵX /_!+; Yw1uLG$u+0$, ЯJeƶ1@0,PFxf G8j85ẏoLij׼>j4S,TĖ(T59GX *x}1QVѯgjeIz3t󨲿gRϳNDuO/dhO33FFw7%EgU)9Qyf(uaZ<B3&4.sPffBBQ*ea4$ʜ솒VUd9#]+k2tsbBsyIl<9gǽ﨧2YXf H!|%wM /c1H?'LUekb]Y6U3p HHfF![$:UTu{8BD56e,.Ξ j a6g^/cDicӁ܄Z hǦP kv%ȟ31BCln<4%i2VaJf$ TD0i_hn&D@e yPt_13*7UG:c<7"bel-j|8e”quNN뙪TdჀ gw0ԑ0nfe8'Qa1^`@)&GD!**h1!>[9Ԏ'y\ٻmԟ9[EzL- 3b1E_w17^H_ADt$Uت*ugOnWSV֙,MbUK(|>d?%!ea!T]U,+f{jes$*a_d8sN1$6= CACB~=-[Vq7ʵ؝,NdLÓ&]RI!TU g㊾nF46͌'p^ ZBTtDtc]z' GS L-X]^+ rVY] Um MM$`ugD3+jT7ΈQ,:V 6sWSY9_dNFgjَ̇Al<"+I|x.j՝ 6Ń"uOQ: d7d6sG1B$$ΒI.5CmwCu(mny=~E)#bbNSdܱ=>յXfEJņT1RVVWSwDaUw|RD4zx !)l,`U RVF,b,1XY:dFEf.XΫ.u_χ3"8GBjU UiMUڌpJ݇[ cI,B3rǻ8^"jfU=]0,Z6Q/HMx_SC\,Hd"fV vGedqHӗnhpu_uQa)̬#Y rY`b n@j@R A=Hee| Rqy^4T;R{"TM  nGFQ/"wՈbry;CBe;}q|2 K_z_G gb"bG45Z眗Cf$#N7 z\$ CT@ .ib%65U*}]آ7&Sb3Z6.d6QĹjB$4L2`2]WDTOl5c8uq;q7]m"v\ѻ@TqG`Ő'.& c"5;gZ’H%>n4p3ɼ`QAPp` ƌхIKĺ,Q֧{ٿ/*!614:)3Hb q9,YDT rxHrT&YmQfU'DpLe{|I 5stt͎#bI.#>ܠ;d!d{THait昚Y͌ ~ sӵ>v ÎʘZKwbϦۋw$a_Z1o8f֒zMA[59U)2w;l^IYBX2 erza,QMcߺ~͉$e&bhdgm U! 0*% A!ݬ+9[;RHSÂƜYG>œ&noN@zT!aȴgCZobf>Q#x+q95 4"jS5HjUKDZIx>4TFt }Bn7_8{PԥI}CzS +Ub*n/Us6H15Y,;}M{wĸ2*I)oR5un{Z.LAT#c#Xv@7 0\ w}hew=;n3ଉ>Ԯ̐q ;^mfHsVtDH%>gHеFfqve V3KWR8Xx.&M&q>j +1?AvQӎ'3{[4x \0bcܪʄ2Ԫr (F0[</ HE{ x* [8JOMxhf`aVi'It99{1cޒ+cΊVe)2aY n;ζ0˂R_'&b7>Em31ݪ4Y$ &Fn߿ eN]B"5ST>"ťfeS|;UEDq& pHxq,UEGo\(on*f -LA-j3 I1OB)D9qNvs|tU/c&5ǛPjp*{Q|(bR/"DG[S\[ aYZD`i] C/pAU=2Wg̮զP`}AXAݪas1uWAkÇ@SeYkToN+nnf5G P#wNY 1 Nd}jQ'k|2CZ&x2;KEVYD՝&:#drꎳd5Dȭq) S//fSW?O MO@ Ą̀?fv QU;E&eSquv1)?U> )+s]Pcw篪Cc% Ft'uZDS o4CdKBN,!6L0*ZV(.>DSgxqL-bxU4GqiK#3'xaΛ-cf\Ni3ՅLJ ͙'RL ~"ϓQXP  t?IW eWԊe34qW,<+NJYxԓ.4=ϑ {9xAFZ"rE]"ʪy6 ߤHjr8],)"/4k U|Ӊ;'\7#cD=ۖJe: юk K֕*Yɟm7q`?Ak+,L\k-W\QX1Iz㋚du2)D~G"؉EmTmp!=Xp&-XD/S&~9uԧXuٝ&7533j$nd`45u[ʏkbk576cVD *ya5ssrU]gˆxϹ2fmD< 5LjѠ]ёXG$J6SuP֠6_Œ .FU=f^kSԀ?.[Lu-T3#gU.Pbo$qU¤ƸLUKΫΚTNbxaőĆ}"b*||:_n22Wa7N%WZ_@FxUl #{œ2>1Z oPUџ9U9Iaz2J G &3O:y۝ϢZU`ۿ%>7(FA,Զ|7mQcOX\TTj"&u4IfƖ'J o,GjHH0 2D>@k%2%,^"Dg`,dq\9ț"B5߾I(ؔ@THBhe&229*C'"Ij3s"q A}ʘ2$F\ڈ#̸9ٿ9M U(^S*ĝd+"舅Mo m"H_8Z)=RHᬸ:iNa lpi`u\rU-Bȑ;FzA,9}j7YqtT W#&7 >ݟPzKca #573r>{ h"k-:BP.w(\諨fhygRyUZ,bƢ/E7I͢4owncˠ m^2M"ʼn0'}/(c̊Y45P`.X7;!1*xtV|U/A*ͬ,?Y)ciSU8+K<Ɍ S-@8ܱMTtE%O?JGN1H1yC֊8;lhPzUNe fmf3L1?Ͼ;d)XitQoUo,wz0;YnzWw(I3I=qY!$C3JAM`*!џ'.nB9{!u~=] {!. cs|>$651ьB 1wJBnfD/[N"T%O2ZwD–*7F^P !Y%Ь2r_.67E*` A Å1{6eU_Â<.be^@FvKǟ43-je{Y GEVz>H~jD>#D'} :&_mi"t~je7Hhp|*Ng=>d)+Jw)"Ǧ X YUU):f=8zak=jquBfuGsŗՀTt2w\;-ս45dfITTCI!Iv*uL"NA.=LҙK0$<7z>w9+n&MaTsRG fEkL7_k 'NFw! -ֿ'!*uL<\2]?GE# Y7&}s׫qNrYrsWUbU#f͡9SfebK̈́:ç(@. 1xYq2yr=,*0yEf*׸f'R758b.,i2Hbr rnɛb棨t\.'""MR[XTf6'ehŕ[8GL:Dq!n =Acߋy8!L70>T K(g&v5AD4 f#*cLyNF EsXE[p19HkCdAԽX -4O }'S&alju<@1]IMqׯyՉ(~oy59}4Ac8Gfl8gD`uw jA- J%Zɟ'WS[qְəgztͩ{vg7 V+*:Z'6'&-;`WÁwT{FIAi3>(VF-0LS?Rbwh_~e`T}[fNNHS{LW\VPP7.EA UǐnKMf^jY=hPd$ At8/Q҇]2_GZӬ,qMr &(ɡEJtu}pAe⎄*d85S#6HGL XWЕkRcd;3x9cgR̠o !XX`e#ϒ2nqǫ]un 5+3,,lj8;l.ei݅_ȕ"k=H gc7N'&Y{'iW$]#TfT7gZAdôh@,  Y*?y:ƙD߽']+n٘>g!_>RjL@8 n&$ ]13P=s0!tUS"MsD*:&@7E y9(y13b)HñHY" B9HUr?<5} 6q6(Ld׉\.VWg '33+jErVV ̼ܡ|獀`^Uj TVMUw"NDYğ/Xe,DФ@zIRM̨w֢2F`(8MϘ{7ܱ+l" ]֚O]0L4dFj>5i̴.\˗ a<]ϧ" Ƥ*{'1VT0/ij4D:dU1w->@3"lw,Vj 5j.}I $~>D5&G({6__nbp^;^sh&˙^E!w^|n?ɮ)XOz2xfYP3>ߍnlq%rcɨT֋/7ZB^9U 71y_EJO-ʤLsAfU@B LT})A1AƼ@͓DM ;aaU _;ǞЍt_YTՕt'd0ҹj{3pNRHל8dEP !|~p!ƎB9Gc _Q(Cwpl̋0,@`|Gpj*xy1gÇǤtcϧ:qP!ËN)1D<@4QuBWaPG% LUt-_PWT68XX. ZɌ~B8:jhTdD򩛘PRY.Y:"!;|D11cg[ b RD*Bi'Eq5_<ZsL`<GfL%.wgwEl oO#n'1C9bjy]>Yeu1;i"n+51O'LU€Q$C\sJȹBk0zܡD}9mj;6 'uFF 1sab&Pߦ2?Ug͌~Eh6`M|8SM[4Ω{Aċϓ8 s?3 GP^KXE*5%"x3/c<7B|>tD!̇B߽F `|HJ[bGAAƁq_pULue-Hl [mÄMY8 /x3Θo`&QHSCz޵(':LAf̦ sn_4X^X%*;SkfDp<_}gND>@> ~_ED'.nr9=+I 3Q|3j@6`ɫP`ͩkoPLyd{x)v@x&FBYxEAT" tu/Dyݽ]e E:P.djX#Xؖ)hJ&)HbK`\ILփ9pP[UfYD}t%0 Aޣ"u2Bߍ H3R-xMi-X:N>< }#MD=Lб>."e$-Հy$^7S<|&2KQʟAPEt6G:*Zd(5d]2c>ӔχNfQ/5sSa=5,5j0FKUܓ 3gg3:2{`4y38cT]nt5Y-H\p,*hd*XN})i2b*&شR,D!Oz)RpHތn5kb8I $<3JӍenAtɈKfwĊHf}dʀw*X.7b$h${,(✬nfe%͎`gHCYt䆚Ƞ|L̬,fkk]s~ˣV 8ʟ6/k~PAyeqsUuuL7Jm"GeQyDĝj31KIBDZ=wO幮DtUD讫IdSr)/krC1p!e^PL%"U oq3?σvن](!Znr3'N]rhLt~_'.'U17w3ܟƚ-oUIm]SMWL.&gTr I DE1.2L~_dm㚠ݡ$YfAЮck`DE0/W3ehbC:.jv¼A/p0 Xs`gҙ{>G FA|rN}"f~sVgODP㘻Wf #pȂIþ(`ѩIIDEUrQLq#0(,V5l6 KrsN7=? sU}p*ljvu~D@V=]HymTF \?7akeܩzΡA܍X{ vh܁A] (?9lgE v(0 (HtNU7ĄT9qQ_ls3ٿ†ޒ*r= zi;0y`~QBzl 2 @*oƍ*oθc!2NDIGOLN@ +\H0Ojޏ;O WD rd@ i:{U 9z8 d5mC/(BobMHH l-#cCD0ՙ2}4'c=3\ AE~O(b@& /\vKKcNC@s-,v}vVTG2%0JȌ 83ix:417" k=,8_l+ٙ1fƈ᝘T/3OI tMxs7b2NL,N\b0g7gq9Yu+TJ}YD&TeGt*"*ɓb\m\"2< 4@9E* jw7au!:.ե4CEdP!8 let;kt OG:H("yGxJ'yBFJؘ{b&y՟c '3'aa2ޕ' ΋rDfLw}!.P ۅ9yiӘss!*a*(j3x$8;!ҍAGWݣSY ~_dh-+7;צ=.vp^i.or#2|rq+-$l\/u[Luc{"J篿:4ܦDrV2_7V[YTxǡ&9 @GFjྚDm8_Ļ#oE.OĨpb-1fޙɍX p恧'ZRmn_S])*Oaq =.(v@?<}aw3n8(WIX%ҕ'èl-72H,1䶌gȺ,ᕳ{$SHl<9]>[9b(d8V1B!bbJ4eg!ž#eZzfdU K}51>96X,MF"šzŘgIc ga ֳВ K`tLH|s0^`GG}y[71@/Ȼ>ܯ d-&f4N(;U,'qkO`_geA,w%_= ²m7DFz"8^"1-8@5%MM:l\ %gZf:Q梊QO]Hw pQ\fRtoHbD9 Sta4iU}?e'h%,?zKf\ 1Ӈ+Pkr3EByXxlMz756 7I]veaP`fQ9fnjzPD ;t|!3y݈Φ+ fC}δYYK@q$&@|y3é' 0ܤ2aZݔ/zĊW ٬j1553>^ DTEW ZLӿL7;LJA"b"v6.M7?I(01$j}϶C6nᆟ&~ SY8}>?H'JpIUP2c{ήHa heB Flߐ dNp\+ނ/>ta("||>8{ѭϓ|'pmmǭ+//mU [a@?ʢl ,b1__@fN3k}Έj,\42mAw7ߌPq,Dd5;nuGcjSx w|/MP@HDbү 2ߋ?η"3TTt{b b77T*:.E'6|nb,vc1Z FBX!-ѪeW1p>q&Gj?;sR0 M8ڈ G6#7 {}LȔNQThw9ۂ,4"w=;dU'3)t%էʽi㨗ZTAL5_#TbuGDn.˛?[F"A=/F QZ;nޡ&Jnp)S[ Sp{uu3{Q3[TWQ7EV-ꆹbTK*=L`۞O,ZqXYr<03ՅK73)B ~r"zcAP5awƌ &bUcW7a>t@.8 χc"I`úMqT54Xa1x,E qJ` u"¨Sת|_ht*:}hFf ь4 } w.d+1D5S'@e*Y""ܝHqd#i)n1L8U_*jbaU}9j")mr"Vs MjV_56Ad>}sl9j:Q?4?9gSZefH Y. Tˡ|*5{5 -6fzq3A38`8ZE;~LMB]m*=*EmIA#̘ǎtW3mƜ8LlęDYCOte#q/C_^dlwa*əîbjG!U|Ҏ:L-wO: t0}p3ܪn*.ru(n,Bjvf'F ,F!fD&c%1:jf3)buNf(2nSt#CdCs#@ANoG2sTњG݌2iʤÖcnf\Q&" 3FZycƷU *쎮|2O1Ch~0)D&`ux$I=$w*,Y*#JE_61e_f20]YekH2b|$ .}f:?74qJ%5բ&s37"M2 @6+0HD#V]۟MYf6jUD781~s̏@WdW!G'QaM&f29Xtww}2|p8#P&RWĬ7p4/b00fksٗE"nchAH\wojc%(VD77#`j JL ,fK=f826B̄/efj [hP((h-/PYY:!_(̡֨78ez*Rl 3!q,b~*6`[U7|{AhdTUfr3@>ޟ3Wu |DT<;LM3*KL0щQDHU{XuLT@$#^? ?Do̘OɃ1ot 6CD%&!TŖg%dYYTVF-3w/7Q$o01NF2qv-[ c_,aFļ) $L|%%*rdAm;:F:0ۡHp篌7MHSQy>s3FANg#ĭ/U;T͏UP 5Ȃ 1;iDw*\j#:/X!j-#ňɊtfI仿 k% DsuoT+UaAX&C{|5!wc-)ewk:hԘ_Q `bZpEFT2Uu'=*^jRB5ijYM<ь([͔V>3t4HDxƲ)<41̦F"q\XSiKD13.5ͮd#VJX^^Ueo3T#g߉y7C`[*mɛ?e}.ɫV4p0LflZY\]24+]Wua)>do5iݼ*tPo hSoEf>uuKTe3 2P0m7,H+& cL?WE.dxّi"n0`HPtXME i1d{bŌy͝E``֍Hmx`E gaH,f'Ũ99K_|UFu8un'NeQy46Dpu]ΧV;穨h&av_zfPDQ]fe$ TRC=(Hf@A0*e)*hl3fRdjhԺIGDjfgj~ʴ젍5q_@MUb)fo>l#K] VH[ ;ahLM:YTco lֳ"vbQUSL)JL$/̄圝bN@*(Կ0tG!{5fdf<,>BYKU#rH5@5!4xC,&nOUOx枅sd\hEªYX\;M-D;f{ Ty.j+3k~Td牘Q KDBwѤ#55U|JPk!lI̸dފoBZ?_Dt'O(\jI&:xօ LY"r"͈c&u*_Kȝ~.[ڂL fd<$8'eVo&Q<;775zu1@,yjQ#fEFx Rs7 Gp쪪yxdd$3 BИד nE_N$M@@DL2 (J<ؓ|2s]Im. mfb h*3=UJ7 AwMt26UA7FLa}YszИ3aI0TLm0h=K,֐x46-_D\4B!L +:peWhD72G[QU*ze>7ehm#U Ț:V)o2sWo3}߷eq%C)*EU2ǷHQC7NQfu77ΈOIx?<mTjnwV(c`s*E *;l0w#'fGb:x=ˣݤ~ׄOD71A|L&DL/pýC &^-$K3cêyc0tp[<6$rtF *"мYfPDVnl"ODbݻA>׫FVnS;[nfwC3zF,p1DW2&sQU{Qu6 KWQ~J0M;kǝDgMy*nfWY*7>`)5~<fW˘_Pvz\:s5"&u#tX>FBgMX7oY` ag:V]UY #tGu_ݓ oUļ05CBa@juD%H:ƨh~k ǨZA 5xde Jux.43D4 U[ 8w`}7\YD̃oui6rLkMSnln8Xv/bL!n4)<73oǪլ6D=1GXM#c5rYdddl(1pwY<^rXfb3* 2rfXh8) N=4yIUEU*l8Q*8m& Y|CblJ#Ù ]c[B̎Ykq4h`NlQ@Dh9#RX&uܓzWC3fE^RaH@nIP Kw݌ېfeDp1 1 X;wYkdhef'C^m=F֘p g$M<Yff"X@# C0 2D"X_+gA *j*y'Q&dQզ<[볮EO- AԕYQ‚b14L<9yEtpbkMb0[_^ۗp9:XL Ժ̈Ƞ?"QM]z@aK%"@ /TcyΤ,VYZYYyO)Z١t:%}Os̼φ</ꉈ1yc`]u2*S1 HU,[hEr:/ǠY%sITaV'8)?&b27`ijඩZYJj_'?QfB.Wb}-&y> 7*DvWOP_v#^xNLƊ5ܜ3#>FW1Uq̌nXHϘYf9}>vs/b,J!g%^eCL<1l9+'q C(9Ъ_=:2lQ:,)3O?VczQSwƁ J_ A|xQ?eUFЛ w hl̤HB| 5P4M%cXdB&!te+N7z%Br󌙄wUʔcPUb a##KDLy@X}nTq'jX}Zo.TLTFz[ӌEd_.u80xP3VabbuN?1 Jl2Cfӈ0#@>f&@vD53E^~݈Y!r'ΤBkAy㐮E6m"k"f=UUw ﳫ 1m-51Wt5]&o4,HGvB RcŐwuÎYo%U&HYE|4qn̜'#ׂG`يYܧL7?lSXP3\IFCU-g#+Ueo]78ZݑX/p7>!Lݖ %rdze+*"Wrir2DljZki;7ZgKMf'HX\a{Us ]%ܨXg94Ȟ-DWGȫ)pS ̶I5z4u7liv=9Z_% u StΠO`\!>ώ^\瓕AWd݌7nhZ~,/'`b@^4{ 鉿.pAJE_Wb+xtS7CZ{F @/^ ߬`aɫC15z"YBA)(P$yBƢ,[sZzF=n&Eқ$_eh8 cVQ!…ĬhcT7`6"FZj$rnH̨ZDMj(f)H ](^xB ?ƶ=d<#{R]4Lm{@ͩnr&bqHs *."S8;b ޑݦVd-`lPXF`2jj5&A [0RʈJ H(̌Lb&b{)5c91l^ǠB>Ӡ*iH7f .1HM'#1R׺9ʆVakjGvgZY2i"sf' SFd` }Y`D32 8VEDS#IփC&Dza_qy%r`LA7L̉xLt1!8*'NH0&Ez+SF҇E}ĉF+%_}6?yMP&Qw| {עn~R_\EAd%aVxSy$p#uGTYOuarSyb.&9nd :KyT" C㞜h*jD_@Dl*fHC&Dݛ|h#!!4.Bu8)v4kb6sL@Y@͈WHp⪵Oe7Qa03qJԲ;"v͸t My:#C2ۭZkY<{":{G&ʌ=:,z>PӰ#,Q+UOԍ!(&YfV#-䫠!/67c(Dl,;9j&f]u7(u<8F].|c!- D6T¦bbX%;Ui+ŠCes0luZST)Kf;E_g:XP>TJ/a@Û?RxA`Dnσ?A[*2_QQ Q3DՉ?q hp}.!P΢6"U=D+LYK4-&܇k-L",2Lt16] وrqG_:؊gupɀ_oECq#T%+0c060fbpWM9Dq #F6N cRp|L5 xoԳo ɪNƈ\L9·%ʵF4ݜmz"Q#S>TO‘YQBt21Yyc#"g(Dl"בBj7fh̜&Ԧh[}H4E|[bO椉(9ш3b !@@@j C-:[vbTB$\d$W攆JD YVQ8|F/ri%*_)ٱX,$¢Ul$537R`j;>/d%YW3 TsͬnfwZ ERE)~#ݾY"J_#!&[ى|nq_U0cXFE~A4nè:XEX <*[$wʮ<@xgTݭ_J3f5ZwYo<\;dȀBY:9abtpw`myȔa"/8zTQ%g-b>RDO5\(y!Tx#fG EX;Ghԧh!_04;X)?TgEU01d=c ^ed\U]ܢe>@&kDܪĺgV&>qz3Ub BIע*D+'&@U9Gpj~q W4sļ̉L PN"i!pT]"ZbV.rfmi8$H J7aef%P4 ^'߀sa C풱b1H#$ 6Ǎ83˛jOg/Igc1fؑb}ԃl$G&*:u<^  QqdD]q0^|H r.!3ꭦcJm1++5AtCd+i9sW W I 6~+" qPg3P70T'BU&hr92;^σlpD&OjyXPm<0~g1W_03noHpA.5T3[5:c!5!}78S7J݋fn 2e'M+"}1=Vz@ؘ nH5Ҙ2˰ A2ChnBt"0Dn3Wh3oP__$FqRE&L>7hfYݰtd`da~"NgX%pSqI|i6S ÂYP5>TU FY`bAfl€rx:/GG=WneIjDaO6(Fd_U=pL ;@DwMu]`0v_),& SsV:2JZ[\䅙1Ux>Yhd:pB_XFJ\ά眬ib}w7{^Y5"{D҄v䟈'4聧^2O0WQ ] f0c itW'SvIML, BI= ttWV[1b puSXU33sPh5581-M cSn![c6zQVW`d W1Njz'I`" jә-Zd4vl@0)UZTx}㐱&#"5g92V'E4J㶌'pMs7;8yC|ѝ @8 с+>tUocKYD0.A?Lʕyef~ _(>n o5'"Dj3 BĹpBylQgZ#stSu=XQtu6tPdD6e܋f,2/DM YD?s7: lVNB D:+c[as0 bLu"TLbsEr@^Maۈ1z@Zk`f0Pj%LVrL|z"Px0W ް!Fp WS 'J6wWSxvQ!>{G!/] g-n@YE6-?ql-WfqGd$R`$dSc[sEFt#6M!zݫk~Hg45|@-_¬*=[D*k`r>ώZJ"l>[ vDz]^nrQ1H N-9<&3N%jhPAD:qrQ4!>b(̑Nk7ڄ"u?bxUC1w8gHDPr5D.cp{sEQ-B}b|֕͊HPTeL" /DhzG)cOMӀbWGŬcob>1x(cq`(j6i\ а2/W#*$ֱNy.^!@Lm;G\T͡bJ+ oY}6 rZknB>]r1n1 \jeQape22O|":ٓBa[Nʇj8Q7<"68j) v 1 ܱ\vl"QXȜ̙CWT5I>Tcs_4ERLY"s9'_zԗժb׋1peIU@9ssT,1pxޟst2Lz~wt@c^xE "B2YiO]\B To)vY+.<SݟOFiS/y-y ˟RUysyQ;&]BFiLuh | Ir%cx3ͦ$|.>-66jGHN]om Ĭ4u5) ݿBT7mjƊhG;u_.L4G\h:f3Q7L."^jgB^)nHLPjD#WPq=}pU;sJqpqa}m(fHCaB3rm7_s1^]`H2N;PxFB:ej͎V37q<~s0 9͢7ܹ_ 8oNVߩ#Pk-vTƏ#!.z<ݶ Ĩ"DoBTD럻 .&X].-{CO/ ""?߆F\&H5bڀSDnL@=ʡBS {azU6:X},g.$TSE*$XOwSsdGvR;|3.]Ā7Z4ʼ"r_Q@IuCx( =0H^E!N)1WQUA,c('r'[3E8"JE2CXQ[DefՔTM%}:0)5/Ude`M23΋ a[uQ-[p SZTFihC3izzxFl\ ̊rOʎg^yvr0]| E]Uֵʜ̊fT e"`I,t7q f."n>Gj- TMRufpc4myF"s|-Jܾq2C K&㦋uAqINf%JqUy /(՝KZIuL b)'ץධgIDJԺ? KqTX=Q3UIPe Xz-wAw_3F II|.b>EhP7!pKwσWj >()Z<>& _F!YxDbU{8iN9y gȻ<-Ф%npwI<,˄Jnr_ q}8}C2`1T7:VYAȎ#V c70h {BJ-7[Ћb2ꍩTsz@W{c d-5*`ghǝU,Jt"}< 9s 1NzFQ5_ 2/R3.UI`Urhĉ3<?7E6#3Zo2;$J- aHREƈ[Vy1Ur<ETխOruԟѥ*ʺϦm< Wԉ)_EhޠyK(`{'^{ޏVTe[qFW&NDj\'"hu<),<Ll#0zVg= -+3BE{xRs@؉G7eDV2Z %7#*J"0QU[6@:5S#8"Ry ¢bf_hu՟|=Y"8#2;8. }p2I]tGdvd0*Id<׽"oI%VDF"d0_3dҧG\f3a]U7G \UAcu^ZhDYRg&թ"r ug\:nR,ZDSv-GܔzeH,P F[#͂ki^>1S~Z\r7g}ӣP",PT"+HD˟bQԗ;]J-N-e\E+ U] k}CVb&&!lF>b*1C(8ZVw? `%A{Y n+D_眤G&S+ol4Fr!//@ϏVfg*KSp~eY颐RE]U1u7ILA}67-wlTDtƼCǼ BL}@rdA}x?k] szфvwR/_y'DauQAW /#?=Xq3w?8F WD]0f8̌GSY{v7"E _0( ;AY f~Zݛ)"_`$_ I^j#j[~HU}*ݖ9DqBf6\8뙧T DY;jgnB% &RcW"22IUƓqvd쀈"q~z֊8'b}> 5YPc*DLO47d;?ϧ##!l'[}OoGg"n)0Hpx~nOExGe͞(;y^beI\PDUSgu%ȈbֳjfF3BńŌeFf9`x("dq |8jO[a\ #CDʨܺ[hT"{"3p?}ׇ*0UQLt9*Dd3LgDE Y 8^x6by \E|wpCTa,&[T0NpS=g=`ja>찘Y 6|U04Bh S;GVdMf/>,w"8I̮SSmA䋱".2aw (qE Q p|oTDL `>N ,f:S"73QSs7#cⶊِQr*byaЎ{Ŵ.j*]y@+`*"{Eo%V_pDv xqj%k3U ?<3)b.v\ g2BbSU #noicf^ja'j殗[ R`M4灏?|侖;I84#:D5ArH@!GTPd]pZpRwD<LyᴳRA{!c |^pfLy>CFpfT3HP܋Q"y"7 nuYѹB:$3Vm+cdkÑIࡂ=EOR(&趕FB,x/ˏ>DM!X 'r]z"L9ԦG6`Rt;JL%tB7 M[IҁSU TҐoYӏ`&̉j:˗џ_!UѳG*w!QY`{r5:z5O]|ʘm-s(,s Y'.êT }ډmD`DKkv!~e":1&2Bx]HWQ1@W#w=TY]*j\:dbaT )"'NVʜ 78[ M"TOS;q0'19rZA=/lԦ0x 2h\QCM8<,{n=M㋪[nrYCkr" q;;#+My䨕p}B`qz?\o n z\uFy oZIek!ELl}W¡|$*H v|ysw Iɚ?~7jc/ܲ2-B\AM=!**7r1h}jsZ:̐nd-ꆕ8B^ZLIktNDeLO`t"m&}|uȂq&y'=1a wxw1PShqWNe͇GM\WE';Mf 8wa%"P7qLgpYi  ەw+gugK""Z??3R6$ݙɬ*͘Nve FPSD0ZG* bЉAɑDgB"U9bFҀz|#WvViyTHԄ+DwF#U0A\p}/d9i? ~ #ÜxZ"BM4mlPBD(_z ZUuʄ/SDT{9mȗ"3nBf˰$暽8AP5pZ1}qrg»t]F/WsD7Lg#JL=nwz -=,(P8C"̈́TQngI23|a rkׁ4kcy=ad1χND=Uq,l*߳T'bWYh I|)o30T oCOF]bSXY1=g6Q_gj}b4G}d6LrglfC׳Ծg*ybQLжkf?H灡"&\3gd_'3f+lŭ@!g-wڟ@`}Ia]5Se |풵l74%ȷIb^&BJnSrW =abhvNt1Lז;5)+Cվܩ "5\ɏl*@<| 3eA{1$c,HDu"sp~Q$d] v?"g+Tu̐!(.TYif`cBο1G+zlSawL&ly VnAȚ fHqP^ WfvbR=^s.ZԐ"^;W] L`2q)wuM@Q1̧"!)On1UH $.Ƞ&K*FSK vcLw#/4h+n9A\W׬6fUzԔ?jybBlTdl덱c~e"fU~~̔= 23&$qhɪ6A 2'0DMF>w_\Nq?vCz2/g#Yd^~D3"B:+^q3\͈i=bءBwuU[d05 >2gq!}ccoW4 DExgj2e@H d YmSmpbR{F'Y(3dyF6uF d S]f1"1SKjp1qȈs> zIx~ ZkQ7DX^y0UUQ DgFXqJ=Pܖ||Ͷʜpl4T7'(D_Ua&D*k+ݛF*i*XYUzso1O'Qe5w[6jLmaAɂ+ B L#| T |BrR‰? 6$HV|nxz"<(7@b=Sa"f& 3\Ju{4Z`we%\Ryb{4$a [5pF,&V"bVb~7P]Xt%.dJ5δIYT{ e"&r_VH|وІU'"*adbW굖{ĉ/)#^"NCDELna_ulpUTʉXk!c .}VgAەKܿ{[b&%vʝ&\pΫ tZeYfժV$w*`(.C[b"pۆabjB93cf ϼ˜O'.tEfVUcn:wL;2"߈ S7LEף ̜i,3 j2dRPj0a U<0bxfp?>˨Y׼/̼L ?"* Pw *LDqLGwnqpcsT"?>lkA Fυ VhCO)I 4g2gԔY`ahb̨Sc)S."gW;DW2cȴ*77w1_D9qYUtwYxMYS944|(@PИ3kA+bn|7qw ajj3Of*>$fWz78oط~nD6찰TUƙLC>Y.Cӭ‡.e!Q?Pp› k"{)Z.H5"d<*`nLq}-8"!CNs? {CRLfм֖_BMU ^v, 7wو1;j`x o,' 762<2Ng-RQCj4(@)DMjY=y՟),np rdž-<j{4>]]ےJs%([(dÀ-b,n$d_@=#Y {9Lj־K!>4JMূ-3`BQvk0ô P]UU'B5MkWŭ0K)AvwOr*몁0/ Qߡ] ʣFϧbky`2"2g-aT,B" (Ȁס7EX#cժb!DY<QBQCun6CaڢSgQɄ&Ar蜥;>`,w L{FM6֭ G] 3bB,51ELݬ"\5R.**,:LE,Vkf[3UQ6ws닟ЪA)TB3EdCD|0怜 ޛrEz`ʳւT]=alϊϻM)w5yp>LDDaM6mϽ!rsթx Pjb"_+P8}2@$ s:Kye0ݥD̀WN@D hƾ`'Կ0cQ  i&zrKf*egM2(篱'#]m5QD]3RCQdD`f#hzTL՘%Eg۪9k;*[2ŖN|>GU^* GG'YDDMDkAsĖ!3艃8GCHTe" `>\Kxq4,M1,@AL$p5LNvN'Z3U) vkX_ 4+aQp@H/@LK24V8@ܵ&DNL𮧌KbBpB{~~n9dk3ˌPb`f8Xc~#_ ϨDH[PkцGBuU>{LȔI.`/t7H"{qD [U@ayF0阦Rݻj=U j?̡ gφx"..ڱ#s<208 Lg-ԗcnDF}!'dhĘ~U@X{7D1q鳞Ilij!ڪ>qZdNABn?T67<ϳϩ,P0JM_0MLgn6&&8njWaRy Ilk.fت0  ũD< ()YHm' peH~32UTTb!w_קǖa+Q4"! ds3nU9{w-8h #ZI18t*0 9Z=g%aA ss*#IKP,6&buSa>a§ݙ?+3G,\Uo歈][紃 ׈uWh&H`scq!cg/wk*a|>B(!uV9qf̓p>騨U*0*$gCC#GjjYMVA3gjqg @M.G J₫PCQ$lqXH;,h"rCoWMFfJ Sa4mf3 L.$0X]S6_ENZV(Xhi=gyq-(I؟Y[Nǫ f- A qSGaヨDu,tX}WBI%;~ w 872AHOBTF1Qdva0Kf)5$\HQw?'muH/BI!%:@hy^%<uU=*33Pk՝]¿3/3NZ"xQޡ9x-"9E]lOZ>z_s2d/H3U3\#a 7}!HoN:#Yݨ),*:bFT*͔%#T&U c⪦4aN6u$}`wzKȋaqT+:}я9w Cs "5W]x~/&c<7mF3za+G^c8ɾ rf6)?aC'E0wfSV qHmIfjHH͹й89ijL,qd=򲓙g 'pgfs++z.$>T90!6 ۶9R률>nމ$5jDwr,t$zXMVM&&ZEjbO;րyGY**ķ0!&r"j!_q7O(`uhL_bvb``}kDUGn>D/p+&#b*k:Wׂ*y(,+cT˱wY3G3^mjLD Y{e`5Musq,feUDq w̝Tv&vH37:WvhR1b6IusV 2K>f6Vw~*"/EL6pgKTRDLD4O*2/EXs7~l2}NU!+^{!Y<i=6{ c8Q"8r*bEYu̕ݾ0CW1D^nʨѤε_aّ&>|L/ &`LDsXljL(g҉Li"m7wD eQҙ?jI+FT _rGiwhv3"e7(313qڈ$5 'c7ҒFxԞ̵4.H:1D_%Ӌ8B y{ɽփO7-d*0b,eKUx:;2#^mfg ?VvsJd2छ&|,sw5jVdS6a/qE0`BZdiO ~x<.;@Lk@l'zj|j)y&-ZJ#|nVk)l(ZfSejcsܴ HD썪W(Ɵ(Aw21޾?k07W)cj&,sQL|F"x!;ʌ+22SEy($P7bkGꋳ`C f:p! ^8a͍`RhiEU|Ή2KGY5R>5TnE g@ӈ#]97xK-9x,AxJEU>k>M'vO@7 SEFdO 1_1;%jaLGLRZ 0կ#Y8#*L,Ģ̬v #h*@QB\cq7Ό(m %u;YCP6nWtT& [\rdWo9ׄ0CDj͐'X6#b=D6ujvN`Bjb'+„_/\Dr_>e Cc6lY JUhpIArRì"fp*K3>C͈1ZjYf-jܔqN]3c վf:կr=q">@ŘD!5gUAq"lݤ<!ʍpWX̢2 ɸ`#-3X5F)PEdg3󤻡hjnpU7u5 Лl#TPH3z.akwdɣ Eިg/EmA݀uߨ&Q]m꘡qgf1@ȼ4.Ld݋[չtd2wV&o0𾋙9|-ߛ6V!anR<>}|9CԙW4ExDB}iTE4*L}>d݅d`1q>Xz ue5w319S*!>wLo275̚nv~2aEtc_60wo߅lId["jĸ,NՑyZՉ)_˟u{xJP ]*\V^*0SйyM[pLG匠6ʈYڌ[kFrr&ykivG2#ٴJY K4[]ϳb4F9% a:ϸ&'*g" EeR=Xn!}h Kf[ˮi";ʚR\,nj+rU 07@YՙtL}JoL*hM@.w3 q ̑Yꎑ LȠȮ|:AB$FMpA3: (6qS1Mf<"X"OD?+O,#!jӯcm$E/ m.ՊT͘ycf Y:S"e(ϦfI7uo/rQz v܋[idD"?:߼Ž`<!F>{ߴܛW/^Uc߉ CrğUl1O'̊F:jX* Ve*6Cw$6C(!Oe($NP!΂ 2HƁbt)U\!‚_<ڍylL< Zp'ZM Ύ d'1~~%|\ zyN~U'^gDŽ.!U F ֗ JH$ e}\EF|S?hן0\a]ELkLT{4mYj6ѻpR Qvj~Tx&#T<M*Tw=q]E QLuWъ؝tIrȋA5BM0P2xQ;ȩU]#eo3qrTog; W;򷅈c,& rL9gםVdu|?yjM,O]AgbDUR5 ;oU*ۓQVQ=䪵ٚF¶ ˵ Ϫt"}fb8Cdp^y=~{d٦(e|.=[&Chx(m]DȜ):{R̸ w9byNLhWC뻩[P qȈbd|"]G)fDx=O]ѰUؚ^Ŧ -3KdDUŃYŤ"}0Qf5b&3`Fwωs3\-;{+_x ) ::v4KX"s5=gʢo:JV1,|nfV,JD@692BBu Nn#wn{of[&PVHuΉ󍃂nG] F" 5!p'*" ҵp3V*?=2w.f #$|3 L#}rTl#ٕ]PΜQL1D&jMl J頻A r*<әzxr LE%*n^ 3*ф 9Cl)##s4sd"o_UHRP!|F1}MYo"JLD4Ll\7,^W4(>[iQjZe쿾_`βr_BN@=x{&JL'SԌDB^*2+3dyǑ绱HUV<^L_&'ǖᢁ"_S3FrsFF00c??̂HΈ^kM;e.lN'UM9:Yfg]s?6B];{+Ԣk‹.W2DjM7JG?21b i|˝E#"7L,,9<0Ttw2`GS?(L\dB^֤9ד9ݬf*֙c<8㮡Ah"ygq5`')uݾ2_g$@ zby*ⳞuH҂0b%PdxvƄ0maVX׃UH FQ<7 YFUqn<(dU9^eF1׽JL`$eFg"LnUa@twZk!:24@XCsw:PV4iZ{*\IJKŌ>ɺtW&^ⅆn@L`!z" ܻ`Wޯ*]j:AK8 L*ӓEw?VzXYc!eb:2H&11@\좏E˿&on3QG` B(YMU*sH] H \wXLrQ\P[` Ds6w78;Oԙq%`F?P/fzvWnW7NdP(%&Lg 05T?f874l?20S&xN3xI90qaY'ceDl&FȹŶ aplE.b:`.ݐ6ȘY<3FX"LB7@6  (̍"bT̄ofhDU ,F)^W^ ^%qB\'PP8`_8RXĖ  C; .Ő bǖ-pwd,_I] <lcFA* NT K\Ha{ex78@LVSS$5w 4ӚIE|Aj,:I1ѬTUnlE; gÐY2&9]PKɘo33r$b28t8 ᵖ0D =ҟTFAU3{yWez9; DD{J=kA4(7$X+ɘ5(}Dŗ'ylx&lfu%JF/80zk1onnp XMnzeG?}7S/y-n*tocw%;U(0 AWɏHf1$ j#쫺w !r3"h8bl;$&qRD@ХK.U[,{6e|)#==" 'bw0& F`Tp틈g._:),|>? >AGZ׭ˈ]s؈'hM4:jqlNSy|edF0 O$u7JzqLXO.gqdo7DQ7f293d6ob|/⿇[U EJT:]->rRk=;ƌ|fNuUnz>:S^f<.y۬߬"xfjgOMBbN:o(D&>S#cVs18K&7HlfpXU5QPe&Yp%-ގeM/"f<>"|fG $u4<p2ŢbƦo2h'#XRU3UYF͢8oY݄uTUu7I wY:䌯͝XȟAm"$Z ]ኮ}q\D@ 㫐H8MptZvE(H=O)Hk+8 &Dw|I[!j/[V0`>jM=JR껝E'X!ԉiL'3\@3PbSgjnjk-Qˈln7Xk![Ԍܕǽڿ G rKwNv+ ?zDiUI-"pDG󝲸/5S /nBNa!16CID\ ywI8xhMbL60oRD5_k[D׳T픈Wʳs v53^{@M ΩnvK#Ύ -&šV3Mnn5:|oUHRD{b~dP1=OɭEDb0WErrT N]#,fDG}7n Sd{rҿ ;ol3Zj;1=Pu|R1uW ̚\1#UE2'&ӏ0uh0}D(2 pĪL\nJ]@? oѨ@{hݝf T|/\1pO,Z2L*xt fI,L1sfk olΕ%2@QklĄa'Gzr1D2Yac< 8,rG:݈la}b)(Ž qM%XN?v߻"DD:aQee4߹RT:a$cY ^l bVE+ V̙g=L $jQnsHLoD=I<樲6!3 3"1+V7;Sz# !f3J0֤!0QHCH&>Bt~RM~ 5AkI3;!ԄdV77U/=.OG!h \Ae=Ў* ɮG^8!plG39i-\xE%F JB" ^cԬ0 2VUye*s’fbz`h UQwJsV kC3sͦ*L3nAvsfJ)[XZĸi@C~9(TEq!y*(0f:dD Ar_؈Cjuy s'rIg-B; :X n = 4" VxA!7{bk{Xx:y_5!h(*}Mkh! ; [V"Ŕ@{3ʋ7Nyq@u=>ĵ+` :>;"QM7EC*VQHk¶k+qhq*8@iK2d bܕedbz%G#iT"|0Cj"aW,cjDGqu9JQ;eu5}8T |v( \@Xc-jyF2xjU->$ ^\֛h8\Ky6 5<@QG+|5fO+S;q2SXݽԆQ ,ECsT0 hԕjo29PBQϪj|-j@R9Ln PC`i+;]>2]}f2;Nݼ.jq:GewՑ]& }ЌW A9+Y|zS97#6{¾xHMgUdAW MC`D rs ZHƖ1WA<μ|mO4E]vMcjY*V;05VSNrG* Leg=sj3z̳g73ԏ!7UZHC6zj߅r$iQz(XNГ_.J!Oxci \5eL΃*ܓiC;KNq:C3WY܄tvJ>8*{}vgp#3<'ZЈHtRYjW?R+B~KBF~M;%=ؐZU$33 !$tT"@h Bs4D~u-hTӪKQ30B@B/B2&xHf+CD"9*~LDb $tgD,1ef{~!zVw6 !{ PUl-j:o8 [fPЉYgRfDL};3u}f&ND #qIGb1pn}Q`&56KkFsLEEE2Ay;Pf̰ @嚰WcXaBԧ# *P(qjypLC0 bވll "!:qC.vN,xЪ&0ю)߸Q&sh 46*qslLSLi778 ̨=z메o&`ːM!]z7}r1%&#񅔌 dYUnrdA ]jQפfDREDJwf–a lG;/O2-şo8b|Ι^ Sx+42ݗWeT1g-3 Aʜ@MC(P*̧Su#lD`Ý'`iX@_ssdawkΊDuBoIV, 4GD&7l <G>f<@LJ%s"BLiD"I̖{3"Qq4NTTwѯ̶WjGJ@#L|Tw|^W*x݆v&= Z(D+Q̃'4'V~a,l`w37bdxy~~~nKDMӤbwwEIVzr}pX4a^C@vB@Gqw'j& L }82i5eQd?1D:4c2ބ#"J I$`E=p>15#l2ʂ hLSѫ1Oee<(˗g%~Ppf X(Kvd"e.IMFyP:U܃qYcЗZ`nD'xn>v|J4|$0jAmCo*`T%f!fKp@/bΤr 0Ȟx:95N_0QV馵nԈ(3Ӹt2ԗ}hǩFB:giY_51hV("ʗ[YКs@Ϻد@\fVE8l-X8mXeԝDg9QPuX9T4 7VwØ,lp*XP9//e|`ٷAJQdDhgCc1r5ifM8gͭID0uUp08Y5ԴC&Nwm Ȅ[ h_XKOe~kQ팘SDUxZzcfh]}xͣ! 39&^D@RCi7J 6C>E"p߹7;㺂^f>\~5pi\ɶU^#?X'ccW2q)/;O܅7Ǭ4_WFUe {aoL2M{2HZn`bؙ5:y'+%1?ꑁ^+ODOX`IcJ*X  wrmExi>ٵX9#@M0TKnCnh"7j1̊UfIFP(ehDmfo ӑt+&,FȢx_WB]I/n%D@(vp`}! ]a|=nVi<% =l!n9o%uXƄ*f<mWAϓT 'sк|crWcq`stxkl!hjrVpc,ldDy܍pU !2ؖ+.},|(o{C"C| 3leXOV^6&Q- ssU(_knUՃN2;&ҵ#Tt8}!wHJ(pքBl3DRhBE&{82 ~8&v3FbϷ ,alo9lk켘MJgdT;n5=Cۑ#hTZسT&UZUN$Q؛a ᳞l8!\ɗYGZȿE% Puel],Y 4JJ ̀P1vCJ -!>`!f/m LXnf.(RrD]k]!h<ʳs6iq̱S"k-ΪK5@!$:N Y{jΩAd$UT GC"t 㢫şL1bAXĵWR08ĵ[2ȕ^"JLȞBLDשlDrNjpD-_I.D!T&andIs5F=%g BF-̶5C*tYAG25,2VJTQ Õs&σ!j!pM @ 冐FE@KGU+3^Av:Ԭ͆˿#d TMEY&cDEx?\J Hڊ.q?4O5P5E`JY2_Rojlh o9օ{wg!{Pz[E%0`Gbs~Uv[ED43~suI"d2qtGFu-[UT&st޼I3Y'wg6Q Z&/ Ee! љXxՌ )3%̄暃ׂK035h!wQM2 |q Jʀ,2Q)"vޕgMk ȣ~sP(35"bQ3x rn1Es3 jphmN}L"z~tIJr6掲w[E":bb"^fHR!-7ǢgwI31Vr9[̌Dut0USb=F5lb%g&hg7'jQin,ڑ /A YۡT+IRs`.7D(:hdkǨ%e= CTꮉzaI(Քs_]/S$9+@֪LM+ir󔙯9}LF O+5Y1p4`r׫,ؤR0nUzeTUV~OUx%'"YK!q5"uP8^G&%TTaݾՐ!jj=H̶|EY*f9G,QQS&VGTaT WF1 "HW Xʐ7;"Er~Ï#mnĔ]0MǕB$ehWR,&2#J2#iD*$TՔb'I`᳅e`&`fDF!{p TpyLQdfQB`PD v QEzŅi@gb"j!*$w5D@i ~iqP~FDe!3.Sk{>ΐXUe3S": 3< &Ȍ@u3gz8?F` aQ3wupxdg^ի!>qzR İ@MRw<^*&u ъ I+EAEM-49q%3CW uk&ZLK]N&FcknT_0tegi/`gpZ4J(EUESe~*ð2"2hP9;tWDϳN!!2˛K>OFr/a, dLED[q3>YrCvCu%=qjLJA BTTǠjjJSQ\e8*|Ư=J13r!|dU.ZU'Wem&oՙAk>,GerN%1)= [F^UA ԧ EaE*ߪBH<%̘y3Z r ʠU ?NoEd ]7Owd1NX "h$:XTudS3 ڃL&< meMHi(P.;,Qee Udn<y \l0@+p$r_l7Ư; aVYpUA9%k=WՆu53a~x'+fiht: Mg/sqͿ[#zƷȄIK_Q؝u}Sqleڈ|4qhkqu27QQa ^* "~TO5_ B5^LDǼγ뗩feR|૞D |1:.6(]ck3VWâ?ܩi|15j8UD |hrdT<+7՘!Zi<.&kiH?0I @ ͪvffN1q$V !ErVL  n9*@,JωwZ:TtG*SU߳g$PAݳ&"[lq9Y yTP⒘¶;2!LS3}4f l y M+"?0Ҫn~86kյ\bFKE (B8N8Mo 6Y о C#fv )5!r@'D.Zne5KnvTWfΪ3P3eFe:@2m^fY5[M)hHs*npib%GV{"!宲eg3 .ʁ!#:J5lLAfS?A&UdePauǰ j{DuoC|vٕ:ˋ<wT#L| |ӑD sW޸MQ O?J@Kоud708M PŮn>qE]8M&Lab w !8^6*z3z8yp5t#U4"P|8ħ $I͕y6":&[ŔYUlgGd2Dt`ܬY4 ێ ݣ!#|,aS7ZcVSJD8.M2 3~M[3YljnĿξ.+s HVF1)睇&*vUp=C Q>Y7#V/߫"X)84lj2^ptrYI.cZ8 14\iW8U7Jt3AMSu>e Rgbit`qUs[J@!nܴwDp s fޭd L01wܮ*W4!^#>v%[}dB 5C_"AUy̽qkiVMm:]eh*V d<~1r9D:.G]VR"o8]V"㨂hYc{V#KF R d& ݮΦgo^f5WA::/Ud.Q)\Y|_ S;y&ն\ZoR1|0'kn@UM chU!"0* u8䯏5E֒I ~ݢ#48Ҧ2ϱyL^/8 ŽsPA¥{MJi7xo~:&8'{ygbL9."E-*Hn!U\]BUqwS.u'Lb*U=Ƚ4pI+Ch%21%8B/삕NeVu?*+&(E{w%`Lݤ˩  m_FI80Mwdj|ĔH 5PCNƴq 'W/mz-\N-GLSB(`s5r9({6HV37p㠖?{WdUDYC3 m@z"RbH$DxgAlDׯnEy.1",)xND00!Ĥ-HXePx {oF$Ԉ  +.2Q'FpQ=XhDuTW%O ;[j_@o5]XY9(ODo5Qʴg P=HtxX;,7Yde]9>a ~s+VEk! i%"k4"դrS,3 48XnU|23iϖ䱚#Lu9]iٽc)#N[7>v$~_{!keyt T1_;61)QP9u#!=~I¢CwRY:ǟ8ygy~&=yU@uːLէ+?C6ɣo%CNf-KB_:fv֡KgZ|!4\zb;F')t4S`cRYu shZu43x2Vġ;?Pd5-2h=_3^LyvDteWT(~~~vG'23SRQDeMuTZ4a\>"xܲ"M2%wLE*diA衲Q !TE̯"TG2D?X&{Ž3C zfP)!%JC ED i/8FLU[qpE@<[ =+¢hQ.Ig7ÀG Ur|⎐߽AY=bZNl$rc"^ 8xd\5jYF&*2"#^+3TP ΔUrhf>t^w,? O&SAD w{c}.BaTHG _ &6]֎Auufri5KbB#ە8$]kTP)UՑDbX#b<ɯtwE\23IbsyZQ%j._ k2d|>'6qZT2w@54Y9VfaVd^ɳy>v# š|f@q`ܹ'`}gg MUcfa5ca\NE٬9Yݮ\f< qඔ]MSuv6C׃ 2UgQ Vո/hzF7G&vpng?@y.5|/h<8}EDԬjbs4ְc=3\iuݓY#:D'!z= vg)5Q ":SLODR|=ϰ&7Zྛ T&ʁ㷖Rv1C$?O#䊙Lne i-DԈ1w1ګL6W%ı7k }߭da053U|}.2Y&GS,9#9dHꦄ}L/l,,8@+^85f+f9gb.N17 jLSsssdm>gc7*9gC?xgȮFlăIHJ Y70s_ 5W RMah]Pto[L̄3IE: &sZrR N]EHٰ(Z""/S^v fwD}9}O]jbݵ]͠>Wz~֘.oY^_u7P[0bE5zt Mtz30+% /]= 5`D??=n"쪙뾂:m!H}Ba h[38A1> $!MϮiI5pЬ"ki\MTiLT$ ~ŨT`7&7ҜwT{ĉG0>:a3,64L  =L OHͺ'$Mq%Mx*.){AJ2qA3LW6'k"WL9fUAs8i{:GFm37!̒k-.;f-EE`-:XҬ.LA!5 p!9==Zk%r_RL7ԢY=>;[΁J~_,-r3h8 6 :*+ X.5<>5FXL_wG'Xnc*x1pbo "];Nd:S }|$E*FG"$MM@|`m9a@b8ThpƼ9K(X[}w4ᬌp 0 _>{5[|'sFWC{UgqD<` }=aճOόiO.itg;da 6Vl B7YflՍ4;~evO%U_ 5KuS&dd!Y:/5w6YUC n^TD]Q鵡jti_pd>σA҉a/\ψكfon ?kωň: 3sEZYeng.2s]“0BcWzşBUA[[MUM,n|ϋi^g`z^mfJY嶰|/د|L-EO]FYD!@=s;cr+* 3&BsoSO,6lpnlAZu"LO򄱨j!hT"n4~ D(L)9!$23SœVX!AjG_ILRfwdT_ZN&XnF/`U4PAY_D{-H|U08WZ#adL\scxT zֹÅWwsDX Rå"y8*Q_aԴfHCHEwD'B" Wif4mAB0ڙAts&4w:$#LHPM#K͙oĭS¦F%Kj1 j.ado(769_ EMLpnf56 9tvQ=3wrgs60-8qY@rgDYWS"ԣNu)^_F#'HO"Ĩ$ {sk3ii"N|аHVIٴ3Lef3)%hREpIy}@Uݚ*^+W7&Gx*%Ι)EY5 oPFF,O# dnC> >Qy.QmMlϚ]SF (Q#`R&K2ED+L}FxhDYc-V"q_xDtҪMU#S&Bk0n>爙slM>8}5!luKgxc*ွ4 HnS=L8ͱ2 1fKhNʹod$OϿ ' IM4(D2P"~}fJ'e%Ay<F>O eLrH*>\ kYї|0r ݄E`cC'%?w0ż³/kr⨤Y[YInH2XK PAM5Y$jc&TΪ*t%x ̹EY] bw/Y% ">흭i^slv39 ʼ׳*E `"n: OD@O*ev#JirSw0#ƗMԅF2;W5uEXG;NS?ku6T\O$y^|uÑ*ϟJ_l::;(ìrOorf'+(Qs K\{f˰eS]-Nq+V~Eb$ ۮy^0ﳇZtS\|@² p`;@!WK٥ĩE "3ݧf~taDl*PC:F? 閩Sdaӣ,]9VƢqDcƠ"UD,Ÿs1ESf(:[L0hFcnTזOT'b15Հ\Չ吚F& fFUeY&H9$h'N9D$n4p2dN1P7]U:"):k7ث :EgeeW^4"LQwl=U M%l$$X4ַ^ݟό:N&;1{o2Pzb[ZCK[&qs08![88;*EOI-fΪ5'E:Kl9P|~G-5 &d 2w8"ݨ2wen5 Dmf8`=YU9%R3 ۄa(222.Cxu`6E ^Q!42Orb]Uq|ݨyfA?SW̰Dt%tOqC#}.*?C. R 0bZ0a56Dfߘq@,l#GY~z)0fk!<*Thv7'ꈃA())(2ayL2tr "iL[{6f60W,b/)A5i"c)DѨBt] xND+՛.~"og 18,&ݥ Q5zv JݑUYv {By@W R&% ] `6t9Q݃l3s^E- uU9"W~kfSf0kěmy07P7?a˧&-K P0?x]'h+FU{X[\/UEF(b bzvf\oݗ?q@*aD$&%;B<w(3êY8G++ˈ_."7 t7bfq\z-[&3 vyS0(5L3:5+2T諊Y RTBUn;n}ã)24bUB0;$Q]KXD\ JPdLp:^Od7F|UEbve>m*i2cnWphN} zW1Opj4as NT* c0w 7nEJ~pydcF:+#OV (' 7xBպPzy 7[726j5t]Rf3=d 5& K`(t9@ lGbA/]ٖWZ]F] r=fِeD&8"Fz Yo˜o?dnkH˘BeT/Nz߬PXN3)^bbo)3nBVPYnMCBu( 8Y3+cQD(x U8`۩+ =`T䏳{Z}2ls\$"gGAiQ8@+?q,E;6İq[@ȪBs4"Qwqu_ &h$$QI?OdFk-m֩CFAـuTA2a<0C0}х)3k!:q"G-_,:ʚ 373;,f둢bݐP >QHSpuƹ,]Ay\KJY;J15B XK7@?/ӻDɩ8*smFi &`]\]ȻvfADP:czm,#B{lLEmϪoLwUd#4+ F*#BD]XzMM.BΪ3:7'LiWMT`Jws-6ff>F˄-] rtE ˞i :`U`rTQ{X# KDUf] >ƅ`EQ=qj-3Q.[T1Y+"N%>V76vhXyy2Al:"L pL63WR4$LU\-a0K3S*@,*k!&0m7UԭO<]-,ϳĴ0VħSFN<"go9&biE6"fP5>gcw ]:L 4a1|=L"7Fֲ壬w*W2q qcSWMܟ՘vGT,y: K0J*䯇ԁ`e47Wܞw$V ܕS 8H3CB>;,4" LT%>亼P&Nsʕ$1wve_ IߦmE{8;DWτs.ě|wJդٌnzխ1Ĺ5XTI%=k>XN 3@rxKBV4d(3n^7a+'C,xN2c BcxtWت㮐U0V󙻆$޷> W7ǢMд }s}3gC` r#]y7EWWT,-g]X ,(eU ?0j4]5c.Ep|e_lΐ |֊++""yt3Pcgь~KGL',4,䉥"Vos,F1bFDf&1%Z槒,O@c'qydx-H[s\L$LM B_|0t_lv]:z"pP(G !{@#2p iNhC%"vM@20Cؘ.saCMr;3}%{/^B7hjUXOG];A(pTsqCL'*#4;]6x>~HRL!~/5f a23T _ fAD8֠'DW)ՀszCb9.Q2&y;fdqk& 胼D٪/iL%Cq$s{yQk!J5rs⑷wQ%R3VCm℻aUf7:{pα[-WaT]0hZWbasM"f} 9XN`Yh}]zpD:͜&n\@b7gb;Ubj-h|O rvW^YԪag} BU`Up߉dF8>Z Pqg]cuubVAdgR4d$?:3M>qf D7 #UbBoRtM>3D9NRy֌.hu^*Vly,?Q)m" wͿi v~_ HB5}& \_Q%@SǸJjBbp@ͼoqLIŗAw\$y>X `4xWlU'v*0c=Ǫ&ʾosd"9쟎YIQ<5YBD8v%0@HgMw\Ǽ2?b 7O W"÷+|yZZtݭ=Ȝs}-}‰au- [ aP$|~q77LH8Ϲ7j'W6N!ƪ {Nx=jEej!ѪH&|Co(j\*gYȲ B`螯UV1'hMjR|ՕU.瀲2Qgf_PɈ1Zu[b &,Y!4 0W7nAb3hH!\@,U)gD?C>H3ݜ9-!_D=MfjnW!o y  =tB{oi^a$jS UVqNFLo=RY/qD 0cΪ˱EoԒZU] jܼ~_I5D9@OO%+3~m4L?M\s66y;2G͝#7+|>yfdžWnI:x(= &g-UC{@0Om,YE:{0E7ϔo6Y@fFJy.Dۡ, SuZQ;f쮰j2p1g|x0uf7@ȘZ}saT187I𓧢7}6J[Y<"i| -ʊf X\3|Ask55%ŝ\eC16cqU!j^ `y*,T}b~ el-pY1U8pLY'7#*%,owI NeшxBfLLĤ* GFfR fQY*j043ݧg7L81|2neՠq;5"i7VĬ$&*lԴ}-i 7z@>ݾ $kZ#klRDQ9<ƣ(KD.7#Y}*s{M] Vs ͮ75 H.7Hͻ'n2a$˲l8DZ:sDBjEئS>* SS5JČiH͢`>̞0Dk?(`2.Fʥ)3TVhn#M7cf}~bwNVD9XJbl@K7S=OW=!O?wq&&l=(>E@c"BULʄ,$ktZ׌r{# 4 g̅B9rG .ݶ799 RY3ɶ½װ?_W7fsSlp4`+Бٌ@n7%6FĄEf eZZqbRP=ܠVDiVZ!$<@bx%Eq#H%59f@Ě9'~D0ܚ{D|R<\{} 梅"c<NzqWTz]O&QQ7EIF)2uIYwH,w ($(VDYbʦh">03x]tҌS WE2ûF9m(g&u1QѨ̥)fz. XhViȀѩ8mjCit(2K8GyÖ́-F"PdFte]b1j63qQff績3.LUYnf39e>_d35c< VVDGX Έqsk(5dĥƪ(A%aΌ4ḷY@TUVoZ vyR˻N]>$$m:J`VeQV_aD:t+Gnؗ05,i#9'2_"UU8cc>'h3:@_*"2^uQrT/g4G'fgY*V#iz1s &-EUjF8TTEĞ,eka2qW@P0tcH&'9V;bvm-km Zp@E-Ϧr+h{4bpMwuD(8=z h"%?o esF8%χ^LT݋d?-&3F e,s1OwL* <q:Ĺ.b&}7*ƞc9͝*W {DIͪZD:{|(F"R,Tkk6jjg~ 2g=#_V/&0N!5U_س||>;2@jjK6?5{m.2n*A=L,9%I{O)j5QG;yo] #%, +3{\2ώpQWSUx9(G"ڈV516S20o$xc2g c ?2-\]4f6hPhuoknĹW`(YbN磪=G&#~D$bFq0rȍ!43- n[8P1/j#KBfޙgod/FPuƫsSX " &_淢oB yQ2`T]j/gOXSC.1`W".ѣ2St<9Ң,I'* 63eNLtN;2:2TH*:2>{cT[&u=42Ǔ7L0F=bf1LmYY9*Y`YsiőYg)Wv@侀eb9!^tEX/fM9PhM9*p6ZS.$ K{*n9OL߯ZE}=iNb6S%!{f3E1Hp0;80˟>1S<2g;ЪD$4B\M,W_>Xp67W~*BjMdR;bB7IY=3%L>bwǷ<c]N~/1 R&H[yMxb!b;1ɝqxH{ĶL̦]x`zCRDDD>5Udͫ1"i7E jLCZ4*ww qc몪F{hr"j"Dd{W[b (+6Mp52\[SKE&gy{6G94IY dxބH%oQY* Pg&N-݆ }yS xo$^p/dׯD֜"߄)]&D5 =2sN!"Fs$aB@CMȾd.̂hfŸ%)MTU5ik20&MHA:E19vD\ y;~3CKr,c"\/g;j:*X^fL=ή!,Y0nɂxDh3_!Л;w:w-97koQX_՞g/Ȭne,#f.jG7Um-TnɻyYw jA$o_=r0cx,Xb @".|59":Fa+DaN 5^`_X0;wYYhug^FM ET whzgzXHx} = z6\#ReFj 5ND`{- pe?meдHiMWCBX6I~7Zkڢ*qJ1%)T y|W)nOl҄e.>'3h>8)0Ě,_zhky:n&ĝZdp%ft/:|IJ=rr+X>>w~+\]E泞pM,E|%\fE}Qu2Lea$d *E_(hWuQ^]L hvLpĜ¸>zءKzp ެLlX~w€i"M4STD,86spG-ɕ~}3T|-35{ <bL]PxQ5>Jk+|@ F\53Lத JVvEv}Lsô2OZϛ놻$)n"3*T]!YY.o &G]eZ/;ArT|-1勭i#V򵐕vTHK(/y8LUKR ]4oi. R{18A?=_/G2J Һ\}nLKvW!$@8Ϛ:)8bqYJۡ*,a SDy5 5x.Z33,݁]v6ƌΘRj T cC!9@( (H:X2h޹mRꖰ_b_35pou}z-;sϯT~0{U 轋LA$&@TNi,݉xmS3qǽǘs*gͬ˯APoXj}4v UO\4L6}>2K)Ĉ7G uKPiS3'vQUvATMYasyYks%*q"*oVvE7ѩQ[ETb"#:Z}sp&b}`nQd,nkjE(H L+bz~~7gW5O)nj, LPD _|_ni<:)fbJت0KF02.m>d m\q;{w:lW < 92l*ꮰ(r qߎϛ,`̺k>[F&FM2*g&FSLq@W7|*Zs*RQawk@u(h1B,#3#M Jw S5z4mЃ)&n6;ǦѼc|7X!TQGt+,4u1o",tmg0Sg!G;+ 5D`e^ُZuEon&DM\@p-poYWKfFMm2 (HMTcrpd';4j<}Q`gg-aCd!0ބh!%*98x9V }4s/圍)Jb/u23'sv~] Y$Y9L~#k6HGv}9]@.&B` VŬclLv o2yw q49JG H"^(՜U.zĴ)b* N z3Ί Yj05I +Brx ֤ҹZ6s'/ɢȭU(78PM_MUY9'r ىn3ǑUx멬]3GFf1EdGaYGw*uEݠLCƈ{<#Al Տ YETt' j }^j0†8͈z>(a vQYq&w?(uE;C[p6|~ Oja=82RH6\K0mq .:x5,ǘr-+G ,|>`ʼnU3b&#z[9tO;NVdEX#g 8bvs'g^c]eDG9;cf31HU) $:DD;*TfhkѬ" @Zf L-Rsv5N|Z-~>3<= ;`n;ЏrNUd2s }?)3`&Uu_$ra5aKGttC騊*x\Z=&y5/.2YM͌j_ciJe}hK(zS\T홑8yTm ͪx\UlDުӢľfzSC>1L.*-s3 XsT2wokU.ws+g}2#fDf4$!<2g5\H&rd+2(0P-݃2le iL^@r瑪8C@E3}N5{|})W 8#?/2:Sx8|t8^%T<{&'L?䗼:ilKCtp]>#y?sP/ThT$/l\zZW[waym0Jdn%qu02|MbD*V„ܻ-|\D/f6B,PWr~~ cF|)1CSneDM_ /?H? 3K:=.xwRSBf)ؽ#UUK{deB>eeq]0f76f9b.3|Ɔ>nfb6[,B[|_@Rpoio7J`{(k <?,0p.\Cއ8Ѻ&& ^sd$/ǠN7_ 3D =︗dt02u)#yNU[g:2r4j UЭ؎@XrXALj`h6Ӹέ(<:ѴLk=xk;<;{#-oyUxL"YB:Ky[fT]aCx:u${33 ؋#IJ? Ƀ5 Hf%Nz*_:2~l\mSR.y|9hdU) ,AQ(}"uFDRY~uun·u ),Q)"]u|7ThI eZOTR0GRvjT|0d~ϼf`)pīiW84^Ń.yêޟ%`nbV%ɾ1JҞN?Gupw_kp˓|V1ƌȩUOJ}]S^,-Lѳ*\>]͡h, MVU)mU0Kw~ŒCST,v&(cqKfV[G͉]93{1?|F,2<IxlfS57qgnP&VvfHQ3S|y74j9ξס`xjLd1ʔK =E5mj| Un7f'#fb-tB ia0~ĉa,]]м/!TԊ6=ʮ@) 9p^ @6%8a֐?`lju9kRH#O҇{L}HUd5P#%~@DgebY6)Hߨ0X<Ҏ $Xay>3~kXH5."t103t=|yOg+n<+7sk ˀ +dмƲ*P빒3e6z!Љ1_ uëSLv}|E. mQn[.ĕqb7 !@yd8/ebOvZOvER֡#15wVk\~AbUR-3>砡=S%! Tr2Q* 09wvWa(Dž\u@hC[yAJ늊,Em^'#Ynp]U!VzCSvVѕX'szrg;]sgFYbf*vdX".wx`LX3 DCO(u;CUau'&\XM f[Fj~p%Ƥ>%o䜈8c˫(lSssU PJ l͌: m25e^D廿.IuZU_l֛Rm8RWdu D cł4wj"`'UB% Hrbt8y֍E_QZKU3u3%ݼ.#;3/12&8HPGm~İWVdSg!Ⴡ)n8ى2jVhMq`E6pPDyw݀Zng7me D˗M^-iե!ڟ]BlkUM؛ҋQэ[(h\ ! ٰXa:O5<4ĵHY?Sc)~{MwuD"v,mvQboU\E0%_n78Tm'N  m'xL” y"C*5!ClIgdf.2f9 T uIm f B i/M!"sAjAUF~6c) LyeGV*vh/ NXdDRdD ?m|% C?bipĮ-~|1@%H/s(AX[ċ-+t{oXQ=v3T`fv_e@AFܕ0dP7h <9s#2 m3QUc~WyIhU."81sUrsVE/y@v*13&i_MˋHT٣P<>[6jHV女/Vu{1㫲nCPDbl3#3Ȣg}o4XU+픛fFF(kF+19'V hLpWxtRUdVjWyŬcAPRU!Bb5N(20ˑKjA.̀#\ Ia;I $P~sBQ&^HY ^aLF 2 &$g3TeM;촶Vظ5oAyOR@ĿEcK/b"hqН|qU͜2`P\3uȀyӏOzGr"~&NE,Khō&a:DZTYQq6NbrVUВmHTMu*M*a%au35Htw٢+3tMJE#v$}SuL0"/V6M@ #cHt;hCg!Á1 7UQ u3TYd/73FljfyI3&^2/7#NrPDj:i|%|Yy4yuU Yl-`#d=kk_1&;3'Z`>ݬ]Z{ĴGMy %Mu{GdYkBdMUff L$:Hu?^0蟂 2-9`EzE12m3Ig9Ol˛N523>@Apn]2/9ƌ)ODŲ5g%j jS+ȼӽ!=̐U黿Ef8nT󄜄 .\j7z*+]YKo&09 /?$<qi&C(@.K5 VռG]#[Ga_26ƖDd$t/T1[gF2B i p(aibf$0~"/;ί|bTNg 1Q-:]ڗՃ?O?FAE{ohhQ_gO}a1g O2qAV$ M:鬷Ň^50Ȳ(Ų#v"2@Xۓ'HUD` Զs)ԈEֳpkքqD/aϭ\\ӉSMfF<"F8|)3t= bV3Lk{ ZϏ/<p~ӷWvB^v8'kL# 9C t %o  KԖ #Tȉ%"]\ʆQyMV_mNKtQ&DQ0.ݤЫ∺sO;Re!vs`Eăi־q~#X6GNui_ %6b @XSwd ##Hpƚ/U*7j(䓧eGm!IYd0UD DغJX^ td aq['6'w`㮛(1knj{X$1  @bjpL3#_L?$y+ Ir*nZ˩K.HN_ͩ0~m}eJ Uf/ӵA~>g$%ю'T3}%#kΑ n T({Ÿ-Z&3s5DDGeDO8]E*p\!y<3O0X4hLAxWѢʅrqIUD-2L'zƃuYn ꎈʲge% Y!좦\4X0qFKi8 mQSN;*Zq rdqCU1{hS+.5BvPl ,{-GDP!\j*/CX5,QI{f]܄vwcj2#9ras!"q]&Huo j\7"Y&3GPa,T)׊ubAf+'Խ| pjlOiEjnNjp5h"n Sor^oo(J)˫ ,2Rw%1$+Zs&"]. gd-RBi't$h+x,#b3`Ͻ֓P.ww5ӸZKo< n;=wc'Sz|ՊŽ`UT*NFU"" Fen?KU;j"?*_"Z:"l3l*qVAγw3֏}}GXvij>0*'(LZto3qiE=]E?9kbvg Sm, ɪvʄc?RN'υ^ J8ϯ!3ľǗY;3]td;X#sZ,x(T  u,MsOB3x y9{da va]V&T]=˗!n8!U]3"1ر?7Ҏ}65EFR"W\|73ChzXi𴿔ofW}6n yOZ\*c~1Ul!~MqdcLzu`P_}&5Q,.H}WPQIzurA%CXn4|O]'5d"lDqVU_eOsQӄ=>S˪8uh:^Sų"vaP,"Dd8,>t% `h^Յ2(Ut#ވ}Ϯn50_q@̋(#Lu'7K&UUI3;<.7xWqSw=σhSIf潿ĄNYR)_iS̙*y>CxI<(!GBkst3'?UnBSU1DuuO7?B!gȠ~Lo )0f5EUգNLq%>[Tl}F[}fQZ]c!VAEdZDTg,0[**,yFRTpLoz>fާ*WA^vJ[KTԁ`򳷐m3D:GQLj~6>|֚%f'XZ38;0>@){0r7$Aٙ`EJ:U6 Z|#̸ڞo@LС;mخU,Jq65$. ˘_+oNfX7F2* A["ZUSFSF9J2`Gjrܐ09j\/ؼ.:^haZ&jLTWLMsٛ WS3Vtc Y2"¢hI9b#Y"$7I36\Q޶Q1$h4d <%"pc~U ff|c}]%n NqPX~]!IH Fwg6-Z|1CeuwN4AwFʕ2u㸔6hQI# }tnWJ:nGm/1qaR5Z'e #YLOffHt6iʬ;iO'e,iaC% 5)8VМ * r[] 9B^6P7;19{(A ݉PINM7%h+}1]wgٳ:#x\Uqu,j73D>ᴛ'Ԗ3sg!2y{M>[X"p6ċs`B`VU͚:O މpC]{B)wU539Op=t-L'MV9@ZMrgo_]s waeVT<σx$'5fEYE C>yZa)`p0!Z9l?RL ,SZ N|@M_)RCYY8pY0)o0acQU]!kSB4X CFZ}BHa.McYϪxXju0g r 1QBWa6LtJWCDPRF誝0h0oZ 8 D<@{W7F* qeIm%|qwc燚=!4ъ8\b7|劳Rd>Oga_HQ*_Ƚz}fX0PHbDWU`b_^yT:΁d4+Q˜o;Xy> tn QKfvL `3R ufB4tM"Z T"6_@aLP槴Cx,3B+'"KDufv,,}(d۝&R'a2_vUyB'qIbu@UuEݍG?LTԄ" 6R9a WzhuE,L ,3*5UTt>w[ _!(0_"fb6 E3N0E _EI`a5E::TV}X_kTUuxVMUj˃ej2юZ`+_ߍׂ'84̌Αd7 ]o3_S`fN|?+'Û nRκkSjUHLC5jXjydx12̨ \Ȭ/YkTn6{M`/'\QHE(0뼧@&Wtd6e$@zWDT!03kD8+n7ˮf ,f~bIrsfs,O2V277 ͚ $/d\W`a',wة!8{αL71Ol^EwDIJ)_v'.~ mbv_y1Uw>;5dLFŃ?xr5hD+.8&\ ]e&!f8ceKUb{Jز\_jJ7y~"&2=6 ^ c 6New<1$V}ΉXfj.™'gDI3U'bMȓ̢z GU](O#u\9lR|~-ؗru=M{=?#d8 2AIQnjj H3\$)2c!a0Ѳ8FFޖu>MoASB4-!drdU+:o}b(+GOJkQ)P甋IDٌ#ϟ@p]sW̛[!$Iޙ],O{=EDT.ZW(hEwDb2NYL,qΧ.n]cDcZN(o7jq c]+ߚ;lvwQ"1mRS63g$s 3jxދom"H(]xP6'O4HDn S ^fK7߄ym+>Jlyzt- ay@b{}z/x@¦c:Na&,^Ž1REu[l&9{#~?zӂ˥G$~Ry#Z՝:mg|W9"Equk s<;ڗGS6 pwj'T& Um=ALQ:vB4z>tRj^TV\rf0\X\k"UehHbr"zCWw3'ky_~ud㤙L.dUٍpv#G:$®z> L};<;D*" )H9Qv_Ƞ9$̃m%A\7gy"h J ׸:@*/nW1QUa9D S(Rq4YPoгvQlj%x"NePdX  8ޝ2g-q7 C 2r ED\|f Q"e7D=eT27oD QG@LD厃ML*%$E r| !zMwL{.x:~; (M̈1cVL8X]3֬M|- DT|UEM0;|vP~xELZgCĮD߳+XL;EPhbhY%1sf:<bb]6W.S{VxL9DrDE}10EG$coqHB_4?k O\ /G[U '8h5fR"ĥF-U3@$Έq"2] }eY56DPO kY+`!*0P ?P '}U/1dvnfJώ`akxDc;Ya Gp(3Bl$&yG(fT% QiА T7Z*{.PaQpDT܏%ꤍ߂Du/'Qsz|-G3gn7koK`H_na>g^A7=Qس* *mMwNRL辜&6 u_*kQcc}NR?km/>n;x]5e;^ɐd_w ~UgD(xgqf~Rы?k-S fLո<ѕBjEw*({Yq&ӟY!7)>Սjz3!IT5tI|2@.D7R!DJn(<񔙍?ͥeP&0ģ*+kTHaD{9ΌA̪3-<7Yp6WN\T TLn 饊ϗLUI€W3!4bqh杵֪3O N ";39ݵ94(TGZQgYĆ ?1;DQڿ |V3">q}12UgǙf~W7̬$T*"fDpبu3KH=t5@Te`^ueH`5U;HȤG |{EF!OG|=."~Mf,ZU{W0S9q>ʪxrG,a H@|ࢣ*f("(O–z@hi;~JxOqFPa&gTdZI?E?EA"=4O&dnQS!j2Y5j[EfD?,f$r3L73??PQ-)_11ƇPnfAO3Fx CEp]E^0a"fƕUʳב+M L=Cx ¢-I\Cp%Z:D$raq[q} ;4BE}6D930}6ĬϢLn:7xQR3^\M 6SCcD[cϻZ_Uwc`f]42&đ|ψo1| F8:V/=iJ*3]TuAdb3<Ab)(M"$8ʽYA])U蟵'yN~&7\i#Njp">ƢLEx/ vbbSa@pc/)V5.zZ.z^ո,MADYݤhb2qq>{8 EU;B\W/15щg-J…TjT>{<'Y<*op6Vˌ䀪)/m17-AE"*&04Eռ3tg)* h/*ƻ>cz=B|shQy#VR彿 buVHg/`,!(NSKt1>ח%*>Byѕ-Uˉ)#ܝEs<ߦR d5EZD8w>s8 .#L7LYQ gX3NbWX%fΡju hD TOCNTs ̌9 !qT9IrQ~]GH+$? es) -[_Qp-Nt̟eB3/U2'bCYX*2A = +`3@_Q.f׶+faf>y047#Ȍevt4xqOT|bհmP!'&3bG&}??^/IP-@ᠮ3ˮL0="CUE]̾[Tfn"D}ܽqL##cHc: 9]l'SE&0Q_̦y=# A$θc3b cǗ85~#}v5ĉ q^g+cٓsBA0U*eYMpX·)7njF9qN&β;s^=Y$j7\tx+E*#8H ACX|L#A! Od\y?j0РFbk|O0Y[Eb]ԑΆ'h<0'E2jVcx,zG@מ"@';;b*]iYy@gadUIml ϩd!asǏ_* 9{W*M_}>IꦯTe/fkw׳8S 5s3;GENe t9Q7peRUC":SY]f(Q\@EbBChe7pڝݿ8ƺ#37G޻Y5LwEVsbSv˶-_VW1@5D A40B/묙?h=> :g#kM'#w !@1CkZW B0 mCzUI( @+aEecLeզ lj(æI;(]>21]P}wW\H&ravwQ}">ף"ysᅈFlJjPw.icoX'eodA~r) W̬++ųX!E3LX49IwȮj7bڕ= AX-sQsDX͠!r{6K3v~UcQdg[ ۞MH \E&ZaOr01|g-!m!5o#)Rr9hpE)@CuՀ{KG: ׯO@5>܄ncJaBWrVMW.[`? ]ؚpEjeOgM"Yv D|-_^tE.KGpuČ'V%f}2 QY 8& :Ěz^e7XԮ&w&X'FC\2k إPsw'}QK.&n(+1-wYkz7I@/9HY2ǁINfHE4)^,t=LF| WR#7X<~Z\˜ U9 ^1;YtybeQOs )9(ur$f{hz|Uť\Sf 3h5xb4]MLf׃VX_nf,3Og=g׺l":-"0qB# y|²͔j#p:& 0x{M .W G= }w!:~`dYU)H49k, 9XgfxQ{iD[Zg"e'bkG֤VHvNֈHņťͤEe^eF%cvbg-%jZF"gÙK0ɽFo$a{_>wѮ0AUc#%&W,I%>&X\  0=F:+_ܨ~Rw 1i& Vrr&F)(#2"H˙U} 'uOQ[^1U½ɢL!q>(wLv};BYb0uf4 0A[ IĀtRNڏ3P8`lN?Π'wy&\*G"cg .ַvL$"} CM&v/vH:+4,RYZvSyH`r y20B$H83 ! '}\3m= Y" $QUy"6Svg9fQIPR xpwp4{y)'3?> ia~@%bju-i" wO6r90{mo\ z"/#[Z˫')W2~f/lDj~U4*O  .IUUH{C:Hb|eS9ݹ8R ,BX+QjYn>Y2pDYKoVv!e?*l^&Q_ʆ#J.YOD+(dJ{' y7Z|" V-&}2CȃP%Ja3U6ϱ_aB+ٛ"*t&3ci(Gzt %@p!и@A0|>#' ᔠ)&K%[ (e9\ZY幹dn_zsE,f, i ˎ=1L$,4@Yr[kQ!3}9zсNMw{XsZTg~5-dYxDu >amGM՗}k7F ȳ[xOQi [^ 9 gͺnjo*vI5a~ȍ^4=3N/+A eoV&07y<.f:Arm,|MXa"q;1tZ](@~^5Qtq2fQ6Da.fsƻ0 .?_'MQCX(@_@ؤMd4dfkAqQ_q?9p8HPB΀`EqvXY aI@K"5 -`jVuc#~J_sd;yg,wf8F+BwHZYxg4:p]0ЅW>6bPYI$o&!tk8*W 9=;"ǹS`nH ?\*h›,nX jS6Hvzb7gev"ĀME#bG(a;<_AԮ,GL_==OeATp XB,y# ;z İɪpm4eƒUUdN*~/D/E8ND6s|՝ppAXLCٷ O3*nLM&"Ϡn"c }lј3^w uf6`,ydF\k(o1Dv]%DnK͆Y0FUOF57M~">χ! fZw cܶ\Uٽ>`@EXu 0A?*]4YDb 1s6gޑ1afPUlUɠW LeºNoWff` bUapWhnbaͮ6d!|ܬ0Յ!3sKC9ٌw7ER`(?0h!X+`(z0r1z]0r @$_Gh;bx31囼cbf֒ Pthd/`5d`~^j$bϲQ"%F5ݔneFGeͽ:Goj4?͹agUL딫F'Lܡ2U4dQ3+ܱb[ I:gV(H7ZTM{w!r0yhrdGL$ =@f5g=@r"w=,n]|+`@Ut"Uqh^ 'Batf H{Ĉ@#7@2w4d,ՁTjspSS##NҎY4ue8]%MHFGP,ȲmwW3yָ[\I"aObQވ6wˆ6$ưݺ8N,Z0ƽ RO{u>RBpu8#E(g=H7[Ī*[D]*AN4[®98$Uu]ϱ!xb3q>@Af]&p8;@a5)/~3me3S@Pg 9ԭlcm*V&<1 1EV TߟowrER*`kbVwUKV6  iZ6Wxɠ[ Yd|L޻33ϡ1;zW b?q(𿄗n7Ul9m];=Ӫ9fAdq\Hɪk|tjD ak$U廿~|e(ZM`qljHzj"ynli4\Lb, LM$dKBJg3џEY h0C>2IeoU6=!('T\5b+>cUa!E aW<.,8 wz l6jӸO~43 ĭ",Bd+}87'ne&f*$W$DHˁ$nQNc7ZL5挘XL6D D5 g "ЈzޯhWD `{7mvnY6c޷C'a%W|W'm!7~I%"&4py9xԡzPOLh.Of4b E oF x's ~y|Gh Ϡ*LRel$:Sg(torQ5ӮL#s% Q:edRο 7fLyg gA9y9ys$fL C*bn/{ kHe Xd""Θ_!b0z=}2 3 XzPc-- |'LU0/wwNUPkcDEo.dZHvW54Jk=Y~qWnCL'"H,QbnsdLl.` `BVF.QcP62sۨO"W9KOfcw1-C*_N;NϾe4<ՍepgB-K ~8gaյ">P"^Jg<8=6|%q—~}\U[w~zSŁ=HEѼF273Z:;ீn2,he궛VQvg=8jA._|攩&9UMA[U^ ԞYqeBZkOԔzcq!V3t9 Riu̗`se΁N +ުl&!K3jCu($cdkA1*m>^YT%JTSk;3& P,j_ eU#}:)),W??jB[P6~2N /ybYĠ0 #/i 9΢gA3 8@s]Q8N`{Q0%\ b0SO?Z3@t3S37T J`UdXU.f+V"!f>0bQq/Ҽ!s7u#BL})xsgTےsHj׈4pOJQ2jW~,U-f*I.F ML@VeO2PwDrL\xy`cB28=b5:Sdr#gʄ[}UVNrucV-THn!98WfԜ65 ~eg=ˉNCi8b?0k E $tz@4"^m+:sI)!,/7 sNPgeg"r!sg-H҈|75JE_CkfN*3N!bm/7q"_tڳQSا3yE gssQj q"<hCDWeh`\`rF@:*$ ~>8 c+j/?gM3CGU f%|&hop[YAF _8R" p,l2CT&f6ں3yX=l$7 w27N"eWfQ  TMԧ1dwL7FwQfZ.+NQ* F>Hٍ2TU9;@ަ ΃31C0FUQ 8ݔ^69"[DUǪ%J\&YjٛD·]f| A=$.*Lιl2"ŔnCnn q?55UH0O ~Ȅ$.j'N^-Z;hV!66UԑpFpSV~\f'L38myLHfLE]3җ>'Ԁ/NQ<݄.-J[9!\9'ZEPn6QcH9%qcu~WA:œ᷹\5ùwIDy"AƁ"&]s|&<>lgsh/gxj^?AU PE\Qъ-D8:1O#TTE/[n/"f1g;sV5+Ą>A:m95kkDclRܬh2N6z p9S39)T1ǧZqB#+\cdJ_3brE W ،OC[S w2ϰNFRgL裹wD@տ!eSgfD$߭j%*[*—to{S̨RXs@nq*/!fUDۘu2O]=Zb,j3;g_؞p KQ5<~+aR%Yɪ8G/3yԭ#_ MJ{;^d,Hח ;AܨQ&BolHWFvS:"G. oPbqЀD͊:4щpu(f>D•'=TVSn3hj8jFWz>>G+|a"H@!Us_ 1ueU9 6$E`8M.0r<;~>f gl,~-^ 4bxed`H]^ egAnCM*Tx@q1:Fj 6swFjV߃*̌L#; hT g`dS*7UUgh )źF?tܕ,cIwz21aF:3S%%D.;bKջTE%+?_1n"ayF00m"8˄p_M2c"OCgPk Qa\m"brs碀 DgPŤ]0/ Q|>qل$H*%y3~|ѻE^48&fyXv2Yg"nF,UЧj籕U٭"\2_T5Fx} OP+%bczQ;# JߪR} @ss̏?k-~'ܨd_\OY]/Ajf 2mUL^XCyf2SY4|/0̝wSץ Lp"Td6"k^~q~l$Q\ٚg-nRwPOD 1!RP U8ư6Top(\sǀ{=k/ 22wbBbAӴU.sA3{2@x5Q#; "ɊTM,/$5($"D斿%,Ή,8wS'zlGfW'Zfa^++,BAfa.i!Nဇ"A&E~ 9hR 1s|Y2蘛#̄{<h4KUFZ1 A|`G¦u2 + v^ B+# @CѲ8 }dΨ&H]MX(>2*3)gвW#(TqNΔ ּf]y`QBb{l7x$րTE&P ,yzDnٟ4qS'SֈK =jvޤ䦎g=]gW%AV Q >RsTY!~Sbisu`af MF t:o1ˡ45id+Cr }.߻GU'.XWju=?18>0,Ѹݻ+*Q#k.D*_窙PVfN_nT1nV%|`|UTj|t61ZRGWF#Ė@Z;Mď}ya3ȊMt?ьCf%RLJհ* F(`XF65ԏ(_3i!yɓ==%q]S2 m,=j/h\ cZn ql$;̐;Gto"ܰIaժqgΔhߘ4{ž=gv 4+eI&/f8!~}vx !聇N;u2fqRb#\Z*zpVHꂄaf%20#L+]C_`vLf:ݬKhxdz,Sb/™TA,UbvZt!6a YNzf 2w(TRQ%bFuΘڽVf*W 5ln\ 7&&H?DVա '*tɂA?"gWAI*'C4Od>g < NFWTT {Y22uT؀UM33*1!hL4 J`,9~54n؂5Q1  6k~@G|s L3U RI"  $,Kԍ|eDM|\ ly1pAj!ԕ4ͬSiHu Օ,jD~9IiI1՝gtLrcDƴdC0{q2x$3i=B-2`$O1`{bX $0UBU2Sv{` 2&3SpVF֛r8q;kz00WDAYк\IYcuRˆR̖Al1!O˟aJ__?ªs_1R>&o).SV)YkXH2D$dihguwDp)V=#%}8Nt| MUIw/_GADADM.sNd94*o*k^a A  >qtt ?m.6@\Me bːhG!\U]Q 2k•t93wpd3_Z_\1|2Y؁PQ>rL)@YjLീ<̼݅ܗ/7}6Lpuw 8JL":_*\Y&. aDYMpaQGc)"iD:.4t~0HWZz(lj9]8lœRC%41#" .1)~"YE zzdLD6cWW8Y9g{V' ӺB՛5'ȄT37=*̖ dY eo,MnYƐ~Izbd812IpD[/^c v^ s6oN)3Ix_!,@܅H M&x~ %\a\Ftt9Q*t" xڻʄNif'B'͐Tq:n~~n5jsoݶ$hpD7`fBNfdpOTcM]"|eiGB]XUTݑ,"lBWTek9G!W,O0bZ]cQ\2zGD;&9Z2 pZ,D&yzor_qΪxwyMbq .ӌzM_U T5?Vx3KoQE(ioY05XBÀ[o;, +,X$58ej!6޵[P X9Q$f DX9UhM~)-ûAʌٿ72|"1Q,gR&<,H~Gv"+N`fGCuUwa4Յu֢z|f+Ήm꾚 cNŽu=/L&QXVp!t{um|>#]XfI# T9SqS_0.!XaC3:L&F]Xh%U!-#uZ.*('f)g 8M6"_dUttSC8m,8<$|11'V& qWb{~g4 -ϡ&7C 3t"dtM#Y iYgO:`Chﷳ c_Ssyb1 Vw¿  5e2ct2RH/L&E1uG&2ӾA3ڥwa-!)CyM]"? ` QTCLW3 Z >'_jn-\j 1fΜaM΢*L_G,f,7*fwHM>S}-3G >/].-j0gH+0ް?Y)^M3Av_1.4dv2l*6L^a_Qi= ˋ3ĔeWUlEE"ճW`._#+ɜ/`&EzS/Wg8 eͰ  Af^Vuu#5_w@tXWfeu0?懼^R7P3sVOۈS2Ľ -&.Ba@7i_`?t9Qe鱅NDWK[h .qLיQ9` $)F$LAZYqH(kR JR s^g<>YkBAO3zR-ݐĢURDxJ301߯D㱘h3g97F N"65D9iv.YKmv%}Ŭl71y2 Ty/ QSMPNV& }JRZr/8?J&RWnبL#ÖgoH 3,0>ma y{!$L0T~\s'5穰j48:]yLU[W'|3!bn~m|] `麛H+HCꪌ޽;}c=fYȳ3}[zGMIQC?|)y1"+`806Q~ QZf“qE3F|Vԍ- sHc&3͝U Fj"Qfz8)uaD)N$2F2 bdٸAdQ,8x"J0 #@L*N4OoTԃqDY],ݜW& m5Y8es!cBL0t7"\Mq*1'agG[e /7}A,<pig^^_zè9kRU*@#BO kjjbCb:mN:.)zy]FFzge`*jí(epbybLY`PYxڅg!)X2 Y^)Ƽ'/ǯ0Čcph7[ʛ='פjXUGωvWP|'(ϩysdr*߆wgުnj4㋯*8"X,OØzId É=yDQ=Se"qX[%4b* ؅.Bzs왪uϙ p(,(2gYC-`"(8c`d-^Cq@ԯ k ;!:͞qP^D3jNݝ^117-_mzhvR98[c$VJ{ `~ ݲouysRQ1-"!0DE21U1Be?״J )d7Ay7qANƐdYuesF&3c)hUĉHjY˗: L {&SU2z?B+s<蕗#RUR,,jvg{s+4TpJea>m,yNw se 6Hj('Auϧ#yrgɛ ʤ,3fgӀz.iQBy`Ajy3>xby+Mmt򟟵0T5+Y$@8"eo4T<1 p'3m4"rGȍH oE 4kܟLLU `(380Cf!V5B5JQ9 +tiDkDw28.v!Av` oAtGhvܞ5&ur"X `BO(̪,_y~~~NEdl^Y圓= 3,=K !O@TG5ϟ6D }A[k9GF_æ}6cX D -* [OsɕlfBJF'Yl0F -̲Lo?{7~*wv68W'UzUr9Y߳xGg [}7bZ߳X0baW;'čYrFt:߂;\$+"W$7x8)7xNP*~C)jb2Ldfb:nwFFL県twu.Mtwza9g; D{<k]0^öx=fS3ղ t_W'*Dr#G')ܝHe^GE@ϨӇAtD^Ԭ1漉)-,./$8Z S1ŁHI26|!.ΰ$z7; SQ3qƤ6T؍绹5,nWxؑ򑌋^*eM5'u_@u쌈1QM$7!Tb!p"Ӯ8+ &iMnd] H~"|Ti^eLW |ʬiR!x\MNtXqVu []UvWAv," [OOPO$0u3τc@}+}@dbzoV^ɱ )߳B1fTe˩f 1n!" Sk؇+;ve 1T' .*kHEKpOe2oY@[h0 Кh!`iD .:y}4~'5gn^cakl , 1EFf:ʚ )D@#HR]6FuI Ш>wANܤ0 M5`F23t8cBT ʮHm?q*KY"MZ 0X}PՆ3č2rg˳  81y>w/'H+YW;:9xKñ@¹9B4k,"fdet`MftV^), ^&l62]V(A~ND =G̞әbG3 j2|5uD܄Srz(Y:Rdü#;u#tlD".VJTC,3WS w5xeYV0X ? _aJ2+"v{4uU-*x`ܝ_ؗudDg5?H䧚 @/1]ff:*1W:qTĖcеD_=h 9kos=hu&+Eyհd?ZkF J䚨WfƟׯ7cVkD]lM`:a*AU͞"6rav+|ë+amO Ģs9|.&}= <SpMI-լ bYfA)1l="l1^<~5Hu=&MD4 &5e!D' wC<"f[:sQ GdNH1ITf/`7 * ē I uVP敃DsgL^c75C쳞&d X 8&s!&?@`aw¸Fn䙓<$y>筁L&SA Wx &,.dJy~d@cKnkTYYf:;#"Ws|̎D": &rw7P7UM#𢜈7kR5~jYe6*4'Ĩ&D%B]D vxHFfFĉ%Gj"ЎxН|Y6\„}jg1 A$)w0/y&s*%>hD#Lƪ`fS҄/[ Re?{8l j^$&ISPO hs!d~:E x8ݑu,S]j'S7&BN5\Uߌm~jfz}aet9"E MnfP-M~/hyS'A6\&QacᥖnQ٘P)߱C97b@ \o{wK]3(YGa@U-p;0߬L8u姣Bx5viizq/<:zI= I#bb ݸILJ%VCO`jp0 UYaMQvh&n{u;e6ᖭ"&֬f8?wVU,_F.J}7YXQYgsƿ(D~ŭ𙫟g|`hFv "gnft|-D`=zfU0eMFhw"iuҦX[ͨ)'}G|2Ү6q1~GQWaqӭkmkr8ݟb(N&YW3Sv)"bsG3*0(H]H5hƘU"QӨ(`FkRL.T4(Qekς?RM;1vC$4ck/_U"B|-Dy8Dd秲Ǔ+D 5Eu}ȯDM&5b|b: jtV7/_+MQ~}15C R?BkpF !稊v5wʺYi6eZ qfS[d/_UrǗ;i0k57ׯD厍'{Ľ7Ɨxr n|̅mqc͈82>g=Kvu^s)z:=MnVTw5 Bh/ &ʂ= E5öB<$BGRjtBXW -.,P5@̊+3Qj hԘCwPocX2N 8G[1|2t@D!JeP̪ų + M+12`]Ԫ̀vB"poᡮ ΘN].Yb!6Y>4fqHގ3f҄j<"&G8"4Qtf%+ru:PLQAȕߙvH|lDX z`;"ɟ@"*Y :PiYUSaO7T_*f&m "{܁SU6-D̋Hʣqe. +^4U%p+ i+ rܝ5㒈`\{iRȄz׸crWψFN6W ?4g.L&'۝9L5?i "<3VWd_MBG| 5π6k 5ueTTfeT.*l7`%8o>P`Reb!*b[Al!:Hnt{0xe>MmDԪrs;X 4s8_UwOu#&\/vk=\PES1ȲQ`P#g8&yg$$Pi 04iد:24do \㐁 sBD!]%IMfnUc-4ϓy2@Ggq3FKb>̣vDZof]'}GsR]@pvA7BԚ.fY g:}™m&QyE0 5"=ɏ7md5ÎiD R5 fў_vkQYX*oA7>䌌HɆ5_9|Uzhl)u3mtft-U 6;L {VgjiB7Z|(s#svQȌ Ȁ+?~TWd5IƉIBh(!9TR3$d@کUφLzzMV ]"'ۖ4XU*{7rg!FboYcm9KUq*R;0G*' a' 0 ;{14 *lb3|.̐"*4Lᬲuwn+pf$[Jȃsjw_uWax⼛\($5ǭz|5}=EEdpZ+_M1b]!?C#Z"9FAC(,sƃR mvML%lյl1pr[t7)!7p4 n=6\ D O8,հaonXna@G q#0Up]¾MY@YER<=#C)`t]]bނ:pUصgC6,%"Py~ g=,\/BtG®526$be"̜g\7 l \ B$apQnZF!Uwd>9L˳d8HH[+> 繓m "~71~f] .`'2#1[}X2KM,~~QN nzH$F_a2W;Qy2>p!Nkr',*#?m5J#JrM7=FY?MdygZ ^QBx&;  i8HL5S%fa5pt'b2IɄd /!mf[Epaisi#F"U:I|Ev~|UY< S*֭ގIGD Ȥ/v&ݥoU]A Tfs`MȒz<@CC4jPqWC Z}#.7VMI}œ\q!UAzx͸1&W{hyBU[CoI,;E6Uz'˿r_oM 5y4Y/jW57s=vw a%x *dGd-<1#a?e@YUw&jqtCGRT~6k: Wy)k}mnQ\+<7+6U_6dXq ]WjuZ'y&Q;y|9ӄmA_/ wp]|"&L'N05{H#f.7#@H2*E}Q !&*M=! =БPn(DUaZm}ߪTQw !B9^p;OO-hrGuƉ*Eؚ05!65s_͕:b4o7MKg%L{]EE!^y> yKv]v%:<׆m\܁&.1@%:BɕhWZ c(TOoKT\ 7. J+=w 5tC:6ޘAEB|*!b3Q`.bbkPr1@_<5ODNe3hE?vԘJH. zY!f7|:[!oԧ4-taCԭ66|9-)4k,G 9DDƻ?38C+$ D=p8uHUO D+_ Kcny61 P!"u*d(1jЎ\f,)yapanȃyO|✳UU/g iuqݔ%㉢1b]td`G4 "h&0!M{wUNU{Wf6cptꙩ]L-of'S\fSGIVVH;*BLllI&Tg4 = y|-UGEo$qzEH(?qrS\cl XfKA!D^"MKWa$s-^Bt8,ff翌{3U5!sb3z~@pv}c  %gʌhyx(En~'90; /L2#f擳n Zk-Y & E"0'QdB:c3CE1C2 -U-*@# 26 lsN7(jX4jSw`Y`DҜ0n`xT\"CO_D t&`P5fG )d)f9/|ZW9?ڹ-j_9cnY-0^]iͽhFOfcwd# aym2TAQ$a75wOUxWd"وNAOx<Ԃs?1a ¦y//dcu; QH}ɫ`2RxhK,XG Xn6U_HLMlcfrL3 DSFjVνRA|K)dM`yOh2:|cܓ [n3΍/!7*0~a5^f>dMzm+iWH T'R&Z7[Db!ߑ!"q0rSpi[o]GЙv JEb1<3,JęA(dǑyias,feD^9BZITJ ^^EĨ5\ɚ6!  ZYHGF(Ha}i3CTW,|)dju2 3!h8Ŕu%$I'1|QWS''P fsS4ihMFݤT!mdxIW;=5Eۨt]Mٍi!+IA1z8}.GӾPn9d}0"glzq0.+XeGu\Pz>勾<Z._Qɬ{ vhh긹3X&*n!{󫿽J]U22Y[\cQdd©q֯7 ԠEs|ڕkYNҙ}A}Mf'&=<x»/PВ$ V"*ObKT!>;ibWǐJ?@DErYDvG+„gve%"1!Ue3/"X7vs}ؖ4zno<:Z2@۸? Uß`YxUUEB>Nc\P"~055C`ViJ9VȆ f]W%.6sPyKLdY8PGZͨDd0cᇜH"eM%ˤޚhFLV!,?B u'}]!:(s3sb="`Ed`NEfk1l<9*+\=4L'y4>IQH@ߐ&kV"Yc=<Qs_6I\fa_11eLlư*bĦ,nZbݭ5V$ci;f~_Cd#fSZG('ɰ> R7s="Sy [dL{N3950edj5#PY +%ض>WwU-[qebZԪH\l4uho֘Yt #FcB>x,*ݻ|\2g\P"@U o5&]]](` 'gGlSF&7?χm>K[XLPhVB}q\e$9AK+EdٚƝt( "l"2 _RQ+ ^sź:6a$c)c) 33qL׌\t eʦӠE`o &,Bt1Ss7BT?mN#3?끸3 c($c e%_?Q/ 53V"Si ow(~{H`8ΤID[ V}634΄xxggn$l!"&:g۳Z!AS :\D_^ ˚LVkW' )mê 2-1ԅD_@1ɀn,jUK`*pf 9Zo o `U~hUU;ʮdR灏slSQ"DD+c2CT* CbsЁX+Tqpu2wt{т1wW92Eg,^՛N,{.o籛Vi? N/*:[jkHVD9q%u(YnJ+4&0vVq*UEX{ڌU3q5 =ReRr^UWƺ$&.3 7~厼CLZ^x%Zj=LhifD"Qaa_KLfv2]d@Qgf6SF"=L;%& ]yH+ t3sB0=cCϙu3+$",h>^4UX*M`FEKލ7ѫW1i|7繑\U߽}"E$81-'"UWA89<{j"M>cL"(S`:pWNtU֨ O5#18G̬20+-3ttq!"DbMMz) 8EN+VU<3%9qZ:RA,9#$jwaq[[ ;.#mBаH^ &|ԍ`&Ʈ gSUw?yƽOTj!Pm5 qs0*Ykf3b+/y6vMDUx?Qׁ2I56\C|PBO ݍ ̨-Ϙق`*ez,F\5U/_AU:AoXOW44/~Gai^Qc9#yy(-(>c#tt`VeS`_ĻϬ1*dQ<B&> ~(r"֘1$ݬ@kN Pi*l5F021H_[BY" Դ2ճM 9&}^@56ZO)+S=Y)i(βTa ՉOAR!b!G|c82}$]UwgDVZNDl<`P fD?l/d)"r!fQs*RtjJ;# |kըa@50\zWTpξ7S'%pftLXW$stwlKLꆟ@Q$XՖL,OO֩HwG3E~%  u ҝ(gF2&-%2q7gg2KSk{=N'7Ѐ 15KLmUvgI8Gx5n-sNR0όZ9)j{-n*0`.{ fek;eT6DOjQԴb0`ytf\6Η3p_8ܠjRf,lHMv<] ("zUfyps9D}8Xdof`xYNU'NQˈF;.Ci0(JI"ؿ:Eq *hwzyyh~hR D-31(b69{;r);?EaA8kjV<@: Pԅ^]&u˽3?ejs}B̑8Dyp. ko|ͦ)QxBZ ɾZLBf< :1aH=DsB̽y:n3voPύB0gܯXOUu % #NƟq*!tQ#>DMD'bg`[UW> C8?@`}"b͙&$ۋ99"Ng=ظ{7N;sύ*b,cH!@SIX!DkT&v簐VSUwqX<5Qb}~-g7# mYW˧~RdlpsU8fb_~3M/ jpfP5H dĺyw|-@X2n3!x@5hӰs`A#w8dTDXLW`廏1[7՘;` ZΪ W1뎙u:b(&kd brSQ# ,b-ʼkN 2pD=OA[ȄZT0< hܜ&NseRn Df%/ }UW )d}'C8FHb. k|Ln=_~FI$jx&hGzD2s6F7]̳1rfUF fC5L]5Q޴ox-Yvmo= e_7IMAa  Wy;2 2d7Nr-BH1[9n"fFTS5blDȌjBFAԷij5 5.3'6,!9]ϔ&g-@񝉼& 'm#eW! 4|x 3+.ԀvWO&lcj*xCS\^'tiw FATg8dLeʛr"YuN8&41A DGC*opZD#LXɍ@8'3(,`k]3;lwUc2.R[D^a&]8gg̣S S2#up7/#Et-y)"ڡ ^A, "*B8&ny~d<̫:; SVFKMMk\,$'\xO5AQ́7İg$E"~w`|qAvRCE#"јpR. 33~l f}Y 9fBZgi sO#S Oe ߀Rbhm $ ]̈́"9P^  %) ;3zxrtqUQ5*N5@MփlXS4qf'##ob$*&N CzLjD 1Z; U"snXf&lH -xboc]f߽X@VRSACNZ̸.$39 ×aF6}BϦp$0(uL8{07pYEDz>,>{w4r q0LcRqLDΰ0K쉩h5eF,c.ɻU? #WյQw@AC3v IZ*^#?k R"b|c߳ q 3hUv|f~e-U̯Cf 1@w9nT*N,J,@rNJ QGt4A2t# eq swfFzh_'褱1gW5P7)27q΁n eFD"o3re;xFzŮr2*]:D Uf{F5UD#,~#|XĄYa!:APL UD<yJel]rC)d"МkF-]nWEL0 %2qG*:3? NO}VD='jM"d:ļ|u=1v"y^T911+aFVL>s2s @tV0+_Kx_shPW8cv5a>G/!#)#b(軿rb@l3W83Қᑽhj5K]UؾS1a4*ayf#ӷ7 wCǞz7D{Ru{YE|aƻ~g~>υ1{IPWT"|HT@4dLyD({](+ $錈daI R3W} y4BH<;N\- V mDTDTYC9:ܬy:#>73(X ɢ 3>NgVD0kePDMp+".%EU>8{»ѷ5dk!x3O5[:+IRwm +q3|!_>\RlA*xգ9RX2]xU IeȍKn>1n&9~;rZtnHD?pS2PbB~u@<#a틈Id8 ;gEkū (6|m|V6O"He>NRQz sRB4,ί9rΘ B -;X5}2f}OLQPբAH'|2kYEJY]}πg>Wy{ərq2֌59zkUz)0H83KBtd2[*l mD[#DvQtyL VyEnnzWbƔpZG# ; $0WF_.3ir 2Gw/1̾{븥kQ=Ġd^"h 1tx\OFCjxED??] V7^t6Lw#GD0CW'5d 7oY/*+<丫O yl^p< *e=K=_nBWb(=^*I~<5#/]m&,Lkr$~^A;|_qA d.G n;tnv* ٳdqNU=#3ʲw<"m4u=sWNa2QpzHLt:4T%rsdTl|X*ڝHϬsȈHe1e=RGUgAه4*hg|QfBx5`[DY42Yx-GE@WQ[NT:OGnλbBPf8s25+<#X|P g1d5(vQ7e _/bR{rI<;Y%[60 4 fJ!;&X:@!K=5Ir5ؖ ݝga`f'tc ?0\U?GaQČ*>&5̔J{ueLTEF4"O&~QcUT둩:Qļ&0 ' cozEb(]ͭPMI=caͼ P.~y؆;$0gƟKǐ#fJ8=>%F߲ee;|v3yY}%(M4 dLig|D=;$I i$ !5!SS/xiB jM*CL`bU}_3HyN~"}QwfQeD p&\!+'ՃȎj^|0Z ŒYWf)*(8Go gE2u~㜟ፈdB]Lܸ[ׂb)"|F"Żn8$9ySn'YAm7Vjk!r0#ҙ#6BfҕY3Ң@rwaa]')xh0l[U 2nRt9ܛ(=6dw6"쟘Ne 'lfMVآRWqta{胫FtdAU0ľW7uf=EU˨CL #OD .uuջD +]g.mnqr38cb}-,l$JtƲ;!G KwEF/ީ<5խsQZE,d71)ɒ2H"LI"̮~g0EDŅU%vwu[kR"ޚ/ٰ] uG5ɌRZMq\Ssl18'+c :QwhQgegA3 Qg0sswrH+1,wb6!HW6"rZuva`~(\k`)L3+fT 0CX{6"BX͌:g M͚;[DAaz즊g9wod4Zgww|b -dJ2 ^]vy :4W 立"AC|}|Y0QgmjBLkf pM,3d`R;*Fh(1?fe`uڕy.Boe*>}WqTk-byg }&+]ek "Gy*z[X>q\M7(9LBL#iUQs %)ivb3ʟE} ;ӗC̏;Vm9bC$*rIOj6N %nF ?oU@quWh?FDW-j͈=Pe͢,i@,-QU@ϬT2YajO_Z,+qX&3bȊ< <ƿ~ݤ*lk_5{J0@5*Y(}=Kq4C4;dDS8_gMDfNP<@X!|AL.;ne& <T+pVuz>S!a^h잓!?ݒAfXUYR?x,L!>/FUR631Errd=2n9*R&R'uQ.dp&3DWjX)1+Ci/̝ov}>Bڀ(pw"rdW _ȝgLjqNQguD/AMn<3D3ز(go;[â@rԌā|$ٕ,sWses!sjD.^jgR5Juꆘ3Q" lTqlcE$nYwV*9 #Q5aNnׅ; D|z*j336ؿ4Uvɱ)¼uB;3nQHEO2w8L<\W QCf !;@TbUld Y*m;`U[ԉV7,H uc>m-AP3}ȠlaL󏟫bjy=o)&EUD5G܅.UsKB1/d2=.LRwW&,??s!YM V$CXú`Dd 1da]<.K&||=duywCn0\ ArUY9g8M>O#L\~⡹hLzl c(m.lVՀ2;ae;[JX/bpu I%62oj5+D&HY+: u%u^BlHdaC]7bJ㣗!+#KLh\yc''pf7"#+UݓΨ}g8go5wMlHF9lb=o??r-X<K9nW$PV/_"NP5JRI:=y2qw;qRT*8U,DZ-ȣ2XC|pzTLA njnH*N&tV `*{VWg-_E9U4`*Le&qQzsR=QDZTX%Ή3(Sc.*,[UoaV?C/N̏je<ՈDjMCh,ٍ@'2!DYO?ԑ'2pݬ2}i0'sHme's@>VF$L݅'hSa26 +al+Cj6 >WML\8|QGt׽eB}=NFV`߳#9F_^a=䙙k-UOި%[c瑗 %'TJY|>׍`û(jt4JTSMAN(*i`{"~###@kY>bGչdMu, } utV퇣)Ȣqsi`FX*dB5ʋSL[kp Dˉ-Z7!CdMW y cMM)+#@=%4f fxE"DUP34SY,ƺ Mڢjĸ0_pfer]R58T'p`B&M S2,9CǾs5S76j :M7런Ĝ ehv8P-A뭪*&'oQqc"ʂA6̅J5e6>ZYM/& 9juUkW32}/}T\""eko7 kXF]3q pܛW,H9wv+2ِ x:r.!yߋjN &B#wYEj9]Bԥc6slV.н+抬~KMԈ 󀠻@h8Vc F`88Q"*» Rs1bq,&绫sF`ba%Y4l GPκ =OIc$]j4E]А)N]YIa'MePbf#jR9qd艩al8i+Twߞ'Ϭ&FX' * r+[ifה]qAȩ 5HvOsU=:j +Gdьxâֺrr =y0vXU/澈*{#]ߣE=_,gQije1&YCW70Cs|v#!=Alm\G;cΚ%͠wNqoC(LDIdhvX0><.?HCI(-Laf5eѮsTEՠy4*e.|-f*s%=Ef3ڮl$H0R˰(q/Us7Sw:,XGmN|,lvXW&:9ql3Ld8 ܐ=hB*W<3e557,43zJસHu@4hMkzVfm<̮vِzRsN7Pdw;6Zy֮iԿЌLUk 3pӼ};PA&B5*xmUTiLWiڮ3fχ' nd6 ?LH;BX 4^:"L$ sq1A3D,#δhrCZ:P UkwOr\܍>2 v3VS |bnx**|x (v$>>_], bw8@d=[th.K )(CiCrJa4Ȭm>z;gj#f^8 QP_!T~B#vJQrPa 6,U$o,󉽃DHg!]CVpJm΄EdD#dʳU G2M<3~ J*[ƅ 3)?(sYLOefϮ>{W[u/7wTf>*2AMuTwYt(\%g)Kg=#k̻2iRyK@Æ๧8T*1OM%ęe},"TR_~k4U%ߓO ݇*faV,_?'sp}㊻y40m"˜E 񄮩ȳ QĊ´",Z^զ>|9. D' ,$=3s&Hqp0Qg$"V RUsnT}T ~\Ϫ.TK+sGT^J'hF)I$ P w/;L;&MLM-ìӻ!X>kךpo+}U3;n hu 7႙;kj>~ 4~*UU n,Nb%"Win8v@cg(.'$Lҋe͊9ae= m9nB*'p$@ԗ7鶂[ݾm$?.sSd}n&Mώn8 ; ffY_C?vʲo@kYe'܀攗 _!t|zmj( sD܈yrh|[`Ʉ7DiCV1x%Ky̕ŝ`[,=S-}d RQyakuңI%Pd0fU -"$™o\2@p3t_dAl, 7,iIxQUݔT&}wW<Ξʬ49h-U\Aff0p %T542w}76~pjee1E*CM&3} 슪ps#ID ~~~;̸B c\WVqf=EEVUYXkqSR!QTԾD`"|/o!}g"|,L1g$8&*"N5 4Ydb1Q7j>8ljhV59 @mfz&P$?|*enwP*!<|С (LQfa*"}9Ńvzz(p›JUbrh ;FQHVyMHT7(3\׳p+avlA(pE.*a6KyA'(f}& pNDH@,w&96E]̱QͰBNp<yozT(z 眛h>?'TM@s?\r`# +W~N1=GͺY4E2 GMݼ3R6t|q5УPt.Ǭ*}-9{HNBF̞%2u̩oQryFo1w+Hί#2G zYǢ7a#c+Skv9"ڰ1 y7#:I`eS9 fĻ+㼨sve`#7>ntLz><&m*|#cToU"Rw!:qTE_SA8{kcj\>;>{p8M4"?4߃A؉fCXyG{3xJ'p8ʟ'I#޵OT 577supբc"{]tI&8U}2Kh67.C{pKOdg٫ I0CTGZaA))24y=EQL:&8T7/RHh5 MoGa U4,泝M,y~Tmnj5EfPVNETQ]fC92"Z=fW_~UEEx=\bvulxkR ('!|ʛ>W t32FX[fPo$6kw|k횻7_ R?{ E{v(Ws39ZVL_2QDFg2#7UhZab)/m$V!ojTֳ eAԤnqNatB)|s7m5sp#B7CZjy|fBd4OUt^8cTyo f<`h1AB%nqHAqzIu[tq e$xaz@n7wUYn~<8 %eC<v콉ZTֳcG/ҫn-QLΆ+б# "G6]=<,cUƚ(ˍЕy юeY YL Lf]({YZhycND2:]fy]F!l넪AI BA)DQNl*A4\.<.ƌLeq"r\1a/J5E(^=G0ʩjJB 5 Ѝ8"ouWIrs_ĬC{,Ai R SD^["йm]ST"w/ jj]XaAEU (դJ5Vha.]:Mo=# u Z@:(X" *Q *Xd} ހ9{/37, 7:"@Oտ->LhM-:9 BHĬk(Yjb,Zp̉kBF!cIb2NU#n<' 6H1V-4i0Z-SC0`)ww eB/:0S,29AJASW$_VfgM<{ŁwkՅ@2xj[ o&hHe >bk07V"N];͚߳BcB o㉘tO& f8ZOHxv*UdcgT*kr&ܕ mRp0'RS cy5WbH쏛ozl9M&=gː FnKt!JUlB23QzM[Lj˝c L3T@7 BxU+D!pIyߜ w%^yO2 I Le*B ~Hw6+ЖWVe-H/JB*"Ɓ_TnvDA3JÞz*2fv3Wىb h^9 In6Z#Xa&ɬ"Y#5S?6\i:5FEPy%t Wp5"V&^+KT *ɟՙЍ?'۵(`I1Scj@pL'"akjv"e\+E,xi`Fò@*&d*+I@U1xOتX.MjQu3 '2Ss }U0b[1m"MzT(f | .?Qu6r+pv?BCQ33 q]%jtX0VvGC.j_#b0ѺPS}dTFJ̢$ M *Yp!.eu(ZvL`e,U3 z-+2G&x"6B" % l$}-վVSsa$T7n38ĸG˦22v@6ϏAV@<Fi1xsEZ-a kLZq0`,U31&76}U@gf8+][(7\Q#Q؝𘨰,s0SZDf̦ko>uS-D²s$PB1ߨOz3Qr kgSeZB +fUuӥfXx7wjåF+_w䤐rϕ*'dDd])n]YlsF̾tU/.?gecZ$ <4tUA}S1uC(G8OE{27D_>zCW^,;'"0A|AWǰD_PX {e~`QώZ] Va.,@̺++HEN*VMw"՟籵99r*0pw}𪚮__= mڰkGI̙%~.L>YMF€=9"Q-¢%`7V=<<M#@@jgX̍ozSn#oF0Mq6k/~~~B,$ʟmݵ}ϴ IhɎh73I&+"b͕{6ع 1=|7-ʺ/'uU+-,<'q8PyF!(.!gwzt"PH8҄?q`U139pXw߄iNFwqSeSØ̬ $KUp57ɭcWUcGTF9nED6ZxPL+&HZ] 5*7 nV17/ʬqV9!<ĴyL̟gNsΕ]3SX01cė"_ %2٧"QHx4Aw"o,,MLݛYL*?+ &x jzRŋF@n`O7c8;n_rY@ hFDKY[6MĬ9Q KrĨ2aWfRVj<*5Zqޜs? tgDxdWێS 1jg$φk L}P?o<ҨqJS]`i!chCU TS/ǟϦ:tu<ewb\t1wzzIGDBa7MI+0+qwoyϕXx,RLy(} ||C|ٵ_/ $PP/30ILP (ԓ*nC"udDisFlgU-wSL4"ˠ U%o\LDTD")epd(jfdWdfH퀀Ɩzr)Lc*?-6v5OnfjZ&֓ٳB2;|a$$zApA(F̘vdwCͼH82\jWa0C sol8!,,\`[@}~R;0!OIf_Z&}H a*a[ܡ%pLO{FؗT=\_# ts7wwBŋ2c&L0[5k M"@:eFgMU+κ,:su-dxgaQ\ (bz>"jdFd8fYi `R%խfڳo-XQ@ỵ¹7Et5D'#p"x4Gz5csEB,Pqv<8N5E{_bSf40&3Y+U1aVJ d#F-'y&G= o"ҋÎ֖F8A!rah kU|cc) yz0Tٓo=cW'#3 J]  YK0sN}Oey'ݒqbVW1Ik%.û|g"U7(~=h=^nã}?;y'䁩 xTu|Xs8# W_τCZk]?E<0jV ط:SU$pϏƤIIY  [gr L/잂q/Nq+oN{rsʑZ]l o ja҂64.|@N2CmeF|0sѻ4 J -?4uMk9Cfͣ"v"ΐ=Df0>I;=!nLj; 5eSSd kHe̦V a `"JE qck'Oi>Js S^˩QcXG'חCD?<#Y*$\ˍݪC5.連s@!*|TB2Qw/2 AHBz27GX(N?.0i|ָ2]}L^  邁A@6󊍩)4@B7Id*}a5-dù(032e**oaaF '!1usz&]jRFouC .>WnB*./oǸsEw=KM}Ulf$i=qq-zCpYds`a-S px)s P\$4HSϲ1+3w  oqN[OZx1pFpoNxYFQ:иG&v 02.a|;Ps8yPHx 2yߵ ߍ)HɆF)jA$*eL[Ll9"˕`݊(2ay1nhu('s,kt=131ZW92s,1iآtWTU[UG#|Iq0(yb[ /@ztP"җ򈠛c+n!)*w`i_ 亙qHcə 9^u5%Phu'Z`5a7HʈU‡FBT4-0x l&nDc)2ܗҔYUA3M+~wu" 7>s;dW!+ЗMj.<BE\ U8`Ғ&N7+5Xapn\ .[F'/ Aq (wRA+_c)Lp\ AY#oggiW٭/:6 s&Qt "~y@:ϛ6a3D3M*z=Z^d-i_(T]#9ɡ*\Wk>9nok!{!υoҫ(&w4n"7j#DU(,&>@e@ No!_ɣDTP N)*J3k:U(ԢyUЖ[Ț$Z-͟S<2evseؿ0\KRLrFH69U˜ hT8!IpoFO^\n|^5仨|E3ݐ\BZ$"#xK)Y*< 2M 6QabQa;|1Ie,Ͷ|~~:7`y >?~ S߽UΚىs0V'/3dwWQW_Xv=&ijF"0w//(Df$YEU FЂc3$+Eraf}[r5XMvO-FEOap7f=Ly<ʹYo jSJjۈ|+9.T3Ctd[%D5XTpL& ȧ(d):;s6a+ |I0<L0Jf'2 l+AZ&ϻ,/(8xI9n3)X`0JBٔ8`:Gk)֧j)(U)nx^nt i*Gu1׬GM&srR7? `HXwCNkT-7&sZן~Ϧ e܉.mLn̐IeX9 Bk<:Ќ߅K']@M33P-/"0hnB&_jr3~AHyMtDNhU]r\0Y@n`*B7 9H M. &M?$Zvb1F53t}h#bHQAUte !vV^UB {RzDf"’;$?HtMrHM>x"ow:E&F]n<X-n7sI|1񻣡d`YȮogZYu"k />3ޕl9#{*j#^VV `pgўG9 C 7AU@f03g2a}yؐjv qޕ$?ʹ+6;梪2]siM2L%K"P\f IUdD6Z1$ڪag:ܑy W 75@&REg70,˕y,oQ)3FUC8,9s †&QY>.n]dP,0,MvSre!n7WޛR#ff\EY@dH`DUf?vvŴsߞd1hFBL{Q8GwxG=3>`IT51z'iz o8|Of\!VƩ>̑q'[j o2Rf:[; 51 c@djۣPa۴>L5K::ҏ22Y0 1QݠLC ,5jA2QAj=9#"!PS5Ի*2O*)̫T{\H+zJX[8"]p42f3u & Q<5?QE܄jr8N@sh*gnA3d/,Mgz }ƩiZ06"s39/¨1&[<\&ƪX86 @TzY;X/y7 #"˽IeMcpU0Ca6_CHTkawŎ0/s; iƝ'DCa*9Y@(j8'A癀q*T9絢VLfh*n=48gop\0+w$peQJ9л졟D77A O` 1 abt_mQ{(@#"M$TjXc'ӄ?f_*]>]uM 0UwotX`KڨfnL϶eDyeeQjϿ w%KL˟sět#_xF|<6X?eׯƝ-yXy 7 oI7+c47Jusϑ>7 )$Tc;yT$o6F+qlPT]i'(w'dJ̰F&3X9'~|Ca$cEHȭJzQGϳvrW6G^Q,7qԚEY]"?EȌvVԪL07Hf&{#M|R:+6L3P%a^,Q{6@"A:ڨ [H0B~/3f&({cf+k2{02!G#ytE<1X"`f 7 "N_nb@yBȄ׌ 1)tٸ#XD"/ѓd=23l5}PZXc !FT>'ū9̤QRw}&|ოMUm-[⎻f:S k5ŠWUެR]'"#gb9@YL&6蘈#}Nd9WhZ#HU Mo.pbh ą! D frYP0Lس_f̵tgusPΉᘓjT]u&;^ơVJXq(q bgbzйN$DnsTGBΦN(dtl|qa4*LѦO ZA(ʫ jm! DD؆!h7E%+{8*(1ojhf5sVžkpeFv Kwާ9bcSfꨎy=* ;.`sJNLY~#Gs6f ܟMyr@z\y$ɜZ*qCO(;5$̂rזhz|L3,jr`11=k1""ÞU'Z|Pg1G,W(ޣ5m ?]f ,&ahp O13:w?I gfWzσm7ǝo65fRID 88hG'afriYa9v&ЅXj'pٰio͕W ?]952˘G&1Ayp`JS >Ge6sXs=]|{6ifxPTl΅is !7( e$Z̴ <w12F+?g,]4&a AŤ"2/LiܾaC`5fR쥑6=LƬ25{=OV{]jƥSA|փɊcӅ̯܅8nYWƚ2s}>v*dુ82OFWN/a+v| } CWUrձcy t9S\39<ۈ/5}oI?cj\E!{CJ21J2Bե*n~?ɤnpya( `tT}_aֵUc7]ϴr:;#'% AZkQSM]䢄_XoL S#l"!uIj[9Qg%nJTo>k\Zwgxf-U0#B-a1fh`³c/7XT1IXQp  4g0zq|RiƑɖUF@~$͌L_i&p{wQvrIzӖ  MnLYVYy".M@h%i'kn&1?C@zl/|,gv;}3=~Rf `Z'CQl1y!ܴ Ko>rû ;>BMg]?kc ͨdMUU++*L_ Ƿ#f+fGM<!M"q&^l\#O`]9*Hf3iTe^p~| WC R,bJiFMM$ҰiTz9 г8l a2G1J7; .i&fx l2 A'; !: XwxÏۨ|{CԘ)An2'>.-$2V QVF<]: I7^ͪ;ha,9 ?˞yH }vEӣbjbQ]Td An2a<>8[>]hZ(tT@P5Aw6Ct4s^걫uSJ>ZF]Y25u>6)M|1xF0njc9#>gW2 <9̬"oE[`C3z v?;w@,rD{uy,}ut5ZϤZ? KНEM%wdHD еAYqh p0Y=_}H%M0 &fef%OM|}*SUj&S]nzydnb2.Xu}~D ܽl͢IW<#fD:2lHb F.{d&I1 !~>sAB2JՔ-AWG$]32ِũEd-Ȃs_0NMFV.+&*u|~|-b:'PNt+ewWᓫ4IALy42k27UkLʯjSlSI(ߋT0u׉ٍa5(^UjiaGмȴ̺ ?˘T$fmqqВj<:42|4ýެHN [C٤l"h*İ0z *4 rA:?t3m,OƾE&QA'gn`[d+@N44Jp_xorrx|/a`vnv EϛnnJ\P^naTLId/+&LFQ EHJMnSj:߉$K8M;Bv|⿅z1fgc13S@LiXʄ«HfaƷ .ƃ!a8LtQ#UR _Dr1`b<؃qȌ6ghiL:@ ͢9(#Jռua8F}}C1N"7*>4sS&oMj'"݌Wa$jCb^vwZ|9_PH:x bi{=1X(y˅"9#^eqXQgz@gu|"0zۆ J3ww~fF?Axyy=68*b[X%LoMU:?~&Aw"5i*z.wfߑq}=#8IV9N23c/dn8h#`&q. \j7on<4398Rw|H[!`9ǯ2 )`pıq2U}e`uf$ ]1U[ G 2Nȣ*&zʈހmQN rC9*w沩(I䩻=ѠσC C>&[뜝IصHV\]d=5YkྱoWuf9֣"[>7[D;βBaͦ$~d|:c@D`v x:eܬYJf6njU w?~ش"l)M1fSiDBjWW&cRuQG/AXI #M;63_4ub3zˏ}PA:~31Z#lFyXa(DQ)zΉL0:1,&dvg"qG,R)3tBw|p=,}zGUޫ;D߭o\0l_߿T_A/ 0O]UQJ cQfz͑\?[ɲzd e2TQ*"()]lx1eeykEfo(,XgsU Tjg-,`H"^g x+ܭ&'-FׇgF!gAEf*"8]NkJ !ݗ &mZV>T*9^U{*"yF#Qw2Vճ։SXtTMqzơ>'4NL"MdǎSM@ P`*A'{_sg_@5V3`<`xK t/_"SV|8GTPt̐vcB y id?սEwcRny*!Q^+kc5n8P>)0t!ףe> qGFdM)3 0Zͷp;hh1$uLꌳBxU4]KzıbDY@, ?#Dy¥i=mR/og&FYήΤʪ<3Yjʬ *pˇ~/'KDQ4X҉ZHD?ƻCʳ19 ,ꮳ#Q%3VlP!,aYxe;J ޕ!&3 xOxHX;tp *~'p~@f4sa= 3|D6TL}gc,y3Bυ@湮6I e5|@n$<=Jχq( O9Ǚ4UvfmqUs!3&W">Bʠf|tEX"M4Q%CQ Qcw#D1 CKdU5؁g|Kؕ E"sﭬ ΃sRgkc &Lu@mGTM:(ɎƓ~敕47H<_S"y$bX=pfQ^pJg3&ǀIfql\eO^wGvTw37[LD#^qKdDd063n6(A` f!B ngSMy0ż| CEx0;g=6R,8gsh3"*Fr2C:wyQOt2]ĸmn"0U0Uqhy^{90BHo'D<(g |LT*h@bT[0G71CnWf6_fKp@h /%4~?5@ H5 f KYVx.Qa?V4#!i0 tNxe " 4gxRܩ AF@p3 ޕ|[luB0e7щ]9\.g]1 M_ LHT ߳/`E WSQI,27@ly"yB("U0?/L1df`hUbҩ:3r&T*WkIak 1d_aG?x=׵:#:QI̔f$\Zݐ,Q"YĞ JOO'lZԺJ̭r2R@y.]t'QWOv{iU(\*!JcǙg-if1}>+DL&Ng0>L@sT>@!ة~6 bGODTp,ek9i&8d9P[f&dB%D=7B_[?2Ì%FhAOtKML>lV3 РFbmu!nu؉:Øy|d\;5U "b1D{5R; i0y50!Nq"AH*Y0Yu΃Vn|>˽}-yQ`${k"~k Io̳I-sQe&d6uldnj19.c5z*R#W2@s1Cfw 16LE9KPLC0q%ai8XMf:Z )]kVW JefLqM5 Jܗ=9"ID0N'aeu9.Es >?CS:&@3T\&0P~;R.03qHzA (>C'+%z3S2*y0P,\**7^]CZkdS @)WOE5_7ȍC8W}jKW xuSń Oi9{5xƈB26MΘnr Q3gCiD}5]d.{-:q~(AZґ4w"PaELYm ?g"j:&@;G<6Cq!4)'@ЅvcD] Hk~&骈8*cy|t"f[DMϊ6pcV?{#Vo,)$sl^]| ,_J~1yrJ pI k[k(z˟5U<̑pF 4ꮜjtjlG%$\|aqYs`YDkS&6ʦ[YpA*h1@B*hd*(k.jjs yΣuSsLA1`nQeՀ^|7E7$5 0ᜳŗCx!Pn6㄂^13\}BbboyUr%Tsr,q6@tÎ(2c7SOT2z܌$7i wyPAT^sjrNT&_aHqTQz创ٳ Gx$ D}_w &Yr{D<` |B6&&ugzq1⤙9"61}qNdQݮ0 D5 IYU@ƝO̺3w!n2)X{-&θSLRU&_ *r n b@1Av1*Zَg1!כ4L"[gԹF&1_"|L YS gZUS/l.ᱦ3roU̹'>/^RIkg,vK=6Y&lYE eaA[- DU9U2U`Q"6S`ÑFs8Ng=j65jW?"T4NyJV{L6 `dy7DPVQj НXT&P5Ę93a <>r71>QtC QI4TݽU JsֳSQueH;Mm&XEoI 8u2Dvߢt"#ˬH!ٵc_][R fFW#NKqڸr̻9+}6 j&&G,"*ŭVweVRE"q,fY*ScB@bCY lG[ uݪj/q̽>THa$ lHx| U}GNgUjun곿( /.2s?OVs񭘊;^pG~{h8T|7IU "ܝ(zx!bM # 7EleI ʽ_k]_>S$o܌fL i܇jM%3}h3Q_`?Y Xuk+}n8@u8xWE.A'<l7tMn{f6F` Ļ ޮ;9n ʉjқ 6'ȩ5P'Mh$ Mu`d՛95cbDQZE x^5$+Kg&]&c("s :qbq~ m^1WINsf|g4XB)'M&Nc"4'CX<,i Q(0׀ST}gHӛX_P%3T tVE ٯjXǢrpMU<ͪj8?ߟ|ȽFgI}Wc34wF:#0]LWHE dG|Iȑ9fLWS&lrsz BR]f75+i, -@"'qYfF5lirJig"0MoIDc̳wn<DS *(8a[:gG{AFI0aݢjFz_3RVUS$!i (̈Xf!3*hbXը" hd Vĝ{G.h1Q m}щoʮIϖyWlkF 8'2UW,SSa~8mf g U'UC tefZe2Ǘ4 Gf!&:[E?V" T٬39=P\9!QΚ+ׄ0ԠzSh 1pR{*PE=A5W, כLT읉l>g#/]?+>Y/3qTlx <^IJla * @ךvo[=m"aW+;K=] dw o.._KEqc:g$#,j!@ejD.ѻ *2z˙W_(Jt*xܬ+BA6YY%Q^taMd pi׍/yu\H#@(7A[SD$8#Q7w]}E1ͮ[kzƾKeYHƉHN*b̌T<>)Yx{8azcޱ!+,6D,@R!|=~1fc.]$QrJAǽ9+m$)&B i#"68D?2*Q;dcɽ(p\gN~ɑω 5'j|[y;@*CM{wB7PM YHd jC ڗM/f9$\bfbU,>e`x"|>ϟȤ1U@yr2 lw%x i?R#f*&//DˆsTlbHt8&z΁E*# o}g2Ws8ó &  LYb .h͔岚`ATЗFL'a>qr\ZPvLkޑ"G,Ed>ٗZ^$0%nPP) %ʢEuC!lsTMw4h;R>sj֬ذ[<j qz~J&bH]6ȸu~M5δl3?n让^+jELt5:2.L^i̐>8!  P Q}7'^9J*v?>sQlEFg5-w EėT~O썵(W1 Rh5ވ!c@q\/TtZD %#sĺ/o)=qkP9+b:^kAS!xe`F0ޛ|1X8蕘UݭX=!wFHyN^ 8Psmh&0h0k,Uya}PZ]K#2:tS j1-ٮ _`/p@9lVmp,xKxƹ7g\,:,{=?}ܠcЁpOU8*ܽ2 kYv#J@ xsӻ\8]Yw!7@`Dqa"ae!*&t`^^!q0sΓx8:bMLdQ2ÜXơ `svm򵊚-NPQL#{g,Pga,v7̜OTeMn_nı2]2FL(s#tb$1R*V I/'6H X[IzNuԌE)Du6A4GBFU)*15SSDʗݧbgcR]XAȌ;1L^< kQLf̨ʓ <<-[{$aȃ U{e!]S =)BJ ?|/ɉE|ď7ПgDz}xVZ,CzD&cMJ3sDҌQWA>;TC hP*ԡ%t 3EbDa͑ ; tRùm-T6ʯAZF=&cTI";Usfњ!Į4;?-F-8'5='0w\M ]_ESr@ =Cfk9xU Hg ^&] 1M.C!bF#P7—NdH}zokҐ(߿?,U@67i`h=EP3Whtɐs ]ϱ&BXqUݩ(PwC%ܪ[¨Y!-3*GE眽 e8&Έ1314c _A͒??k 3P,҉B֓*gox&[q,}PltgDVJXYZ]zWRS9j=}!l7(p7Bf Rt2NPTY32;i`h/B /SYea $gl¡SP`anjP P4 m͞1&=x|qT0'2 ͟sN~~2"Tg$d̮9d575^AIi2TZpԌݞ jeuRP Z0l?Y."*k#}"xLzOoO3To]W +Лʌ@pg]4ļ̅-@7"8/,YEW^c9h7 < |?is+$?kwAAfկpU3"8;2 X}BhN…mnw0+KtRU8nNmPk{8?ȶ*WKg7OJД0uĒUoPsh谈a! n Zs>!eh k/~taQ>I37Bv0$Uҍ@bsnRagш3+j ekbgy 6c-.\WWub2ipDT= "3TdgŘIQgEщ3b? YR'2R5"H3+Ll#bVuE4޳3IV~-|49+.`#HgEUX;"gp!ѩ)V57\ 54.FL\x2_W։1T#:q7XX]D+7WVEUD5uأk 9捃ͫ}'r{LO^AeUhF6" 37M]mjxVD- Q7_ljE]lى G743rVV& Dn#4@J˸1t" IɎdD؁LOgpbլ lm(Uh7L'N*V{abD c8}΄PZ0uGEܼ20<_o 0 ^WfHMPH`/Y`Vu⹯+ ] 7/eUIcOiWVLMJnf]{?gLcq0D"DsE fF/ ]28~IFT?~Ym5ۮ" q22C4[}l7<blf@_H\5 R0x.CVqu4'FM'쑱 U ٧fjV@L-tn)3X _}wSƋW=S\uȈ+" ;0 t듁QD5;<$y>od *[;(3ٕ&#ovUauWGF'/&q8SOĭq|pY;$E<2Q,4L#11ĪGXiX ]ZxCkF,$z}LULnF峞LTUwsEl!_R E-ITSi2?` sˈ DeƁ4UT]) KTv_3hZUYy",ħӺJ 3)āNs\FXb"UՎ-YGхkRw*MZ>U/8*#SW(˼VN<]L`}߻ B+*o ׅMGݢ2N๴GX2>!ztUDBL2ifyf+d;E~AbDV29ު1_=qUMJYO5؟g¦v0Q$EUȤ=W;2r;?.xnxeu23CT\(H_& eϓ2(sKgVaӰv?:+zlUs$^EWurP2wr:q@;Bh}#w써߉F QF-߯\'e64 q(߽/FC9H2A$J4ei}3f,Wo^ċ? 󰋪7T}UU?O`c}^=/\b/NDoAzDȽƂyޤjwufDĨ2HX֒ 7k8bPLb"bq4Ay,5ubI,0'"SdzBqߜ! gY' xy3g`ϨgAT9'h_Lqfa8KnNzjG4R"":r/;ܙԼ3ꪀdht?kAT:1AƝ'Q`17" H\nt @0Bլ"R]=3g:LP1ڳD6 Ȣw` XIM \ץx`_Լn 0]Vgޱ1\`٨֙ğ5Dd0̠ߞUɸxЙI9h*Fpn9Z eu <<¸2/.QYS5}ւ {>[04|cgA6 | c({!Ґ; ˣĠ1}xO cGݻsX׶/~ŎTxbbaZ!@;AЮ/WPV#Ԩit%l[I#3mXxFq` | > ݈uvBR\kjC)ɆAcL^p\(hpt^dvMX&B)P@Y#D8'hV]+:¶+1lj:Xt*z&z[/@ T4 @e,7L^3c>"yl':@hi4taxrIVRXa >ᗊsnPcf}4sեB==ߗnh$bA3f&` Ù5:Ujr_&c_؛]'i 3KVtUI]tQ~ ;Pބ5Q0KЭQA~9|&8PDjOwp;#JDW4OP}Dg5:20h謳.Ylg" t(hZ=t@3뫲1 EX M 1 C2UURW_ }SMH|aflo'!)ޫսdՄw2%*P|$b z#!C/o"3)Q ^pP;M.1302IU7?2Sn4DԅL6pDT{60`ľfarQ;ѝKXd| 3F!]U  Q#ŚÖ:S ªGj`@3p+wO2+bLA5uGUEc+Pj*K:X!T"2!?_LgTebEyAH յyB=$fnbdsDZ㟆 H9&zf߳R3'45>5uqeay>byUouaK $uQ6e5Qy/su5=G-'B CnVx"t%awi.w_ &f(GfpM%XDm:#1ȢV2ID#73?n1`Xt4j8G!x(|> 0ko)|xy41yР.+Cs&7ˑ/r֨;9%DK2f`s*fbV/fmco бQ#^%Gm-*{1b`C5M k1VWTtaj Se9Q{DM(Ull̓GHDx ,1U8kiFDj@ uh >F_]%2΅os2nXDֳYz"C`cӏ(D@ФYq"L"Z 졑L/tE | _&eYP1]VFBIĊ.@ԟ1Sz~@? UcF$w3^1?kY_PUB"<4ffl $yfȸyGgf[/% )=HoͼT//⡮Lv36b<?暓 *ha J {Fc sܳ~^ |' D=C7t `NHK.vycfRdS}mc52&UF7_WBuNÉ2KU=.6RhҰ+VTxhX@5gaq`0oRêܸ4Q4ST"uk* 6)53n8,l>*{W7A٭zYk2k,)N%F`B4=&]\+2>gȥw^.3H1~X}ly"$t-؉Gt #l|Ɋ,r&{Vt55:C ڕ(DT~$ 0Y9 OG:kQը%3(gSB]DI])5}&e>{YgFrsi2BDY9YMh( RT E"a=y+d#3c3[!Ƞa+;xp+\ !}|nC[E-"r ߬09Jʪs^=RrA}vʬ Yp=3 "r Za7jrBkQGh3 e ZBzWs'UF 4J:EZS<ߍS3%V&'Z>(X }c'srR!/R҇a<\mq@թ,bVS |W p@j%qO,N,o`B_?Di5H1Pf<7~p^X%$0y`D鮩2.rbb {H\b>&jؙY։s77+g m#ba&!P|T  غ4,jf1}(Y9If5F<"4p`Tقd$$"yQ\틈CDZķRJSU6  _Xqޚ ŝJ̏/lnC" Fd 77|ATuā9Ļ5 qXP?\9 "&h^'03اP<+S$F{I3 mU"ם|t=fgPT'FSH2겵 _]!{|~OJP'2nZ`,q(0/I[գE %ȌN,2,3REcCZFWgڔbD˿U_*`,,"b):rMB2LT^,JXZ7od2p% `k_, 82lmƘ?'+-"D\u=,UCMF_H}>Ll?\DQ5| r"k\]ky>@+""s6>XLdzF $ςLT8D ƚB TMB]G`,`u]f? e 3m($x2썅3Y" M'1abLSELqTg1dn(-*!>'?σv] fJ7Y53Qf25lXm-waV'{ (pϦ80!Ha51(2sNlFrpS)HD=~ٮ]CbեU1?U? s3L'fDwq밇26k"DP\[ăq"tQݛ]ȭDuG:KWoӔg* CDYU#OTn݀ո&2g`f4)uyXu}0X/]q{ri& qB!f7dfR EadW8_uHpc5SEܸ5!dE  fnAg}vn_"PFPhAbQ FxLR=}/䢍.eTl-wSd",_sp_yγ>Lv0T ##jI0QuW1 Jݙ(Tn*ecJ+Ƃ'Ș̸'EEE0Jo`f* l H-I'Wu pde% &QeugeUFOOM/Q5"3=?U?KxD|ePqxzV( ䷁D,uSq?V xT%h8' Ga' VdG <pXVk'^76ğSYYL9] pAz{oDŷ "7+!@O>A%$ìF5 o7DO +iJf@^v~(rPv>U|'*6pF(2võgv18nɂG0H%B@mO:oRۑ";NkqХw {{;*TĖu>sQ{/l+P@݃vuq5 c9A13eM2cWj+n݈}JRQu !1^'7+ci q$e.q|t ^!yK+qDB.AeD{6W>|%/S!Q0Ka>tWY1*C= Eи(o"*ǨBS~>2zBXD#w3͍f>81ʸ&S-Αo7_3 d' rݿUzO 3M?>2P#TEhfNWA̪<91ZrܼxOHl"d01F>NHX)q"*/tϐ6S6whD%A0+fZ|q&P1HwQT$b4.~I_V#LD)L<$ ҈௯% /8X7}DS5Sٻ.h& BXvg&w0;:Ȭo̠f2mA1C˄-H88 @` Q3_& ssq_SRB']ρ؋`]uIɍ+g"fw dK;!YEz7=CVMϳk0E7yFbW֑IB:{M/]ڕTY vF3WN%`M9ps"q*̻))/Q6nN]&9z FH} d5b$!rk;or7lY "#CUA5cQ3v0,&_+f+.Y* \6*Mг) ¼2_ԕ uDD'ψn5DB#{:(MV,<$F0Lb0fM#3@&fML23T$bUaU| 7ESDI-3/_cvIy$xd̋v_FYUǜ2_ 0ayTдE4x1htYEI<~g-t_ٳOU1K1g±8{x@:76ӫ׎ 3FWUu(}*c/s<9وjc+pX$1]'9ePjTȍb<$NƳ q tˆHYkHLYd> ErtAYܧ_f3sX@%*MpA0w"Ʋ6Pr5킠!RLfL}v΁su__Dbf""y3a Yfȃd$3y'"O"\ ,|6B>Y=;}3`]ʦbjBm/B Մ_'Tep@Nm7X jBTebcd<1)10LZR(f<P bT#d"= 0gj%2AE"u={fTAU&2=].W͏RUwQta*궄tCndxQEĘ'$z'U9(8>p/2.|'/G *$* GDXf9r6>b]Ak@q0Ccׯmj5 NVNHgUqo%5\H39<"`ʼ̩0TidȨ r6CFD`*֍9n{"j|Y7}]UA:;2;d_M rB#MD;E5S!OҺ{v2FVr12#fZbkQVN8qC7^ڈS sB*O݂]W~^ ^ s6ؗDQyF$Э&Đ2eDdfa :صS/CF02/Q6jdk*@ծС/`*1fi"Z"InvܝAhnu$S_Ԛ/Sh0YoRP1IW,Q!:˞7 Pk}φNG^*WG;]HIZVOSg:&B+bkZmjfτdR6drכ#Q W  $>{>t?3_bD5ǜoF(Ȅ}!`1 q/]Ŧ8r/jUrj`<vWg65:|X̑a B(fpQu329nӼ1UHLq(<7j&w̓K-"0.bxp DGJ9HN|XPFOσmv[` s  6!'y!8!&1T&vC l^ Zبx;S]T702 (\!7 Z2Ć&̓bzt☻ΐ6bS޼ծ2[zFM@`MUW')f.KX@#-3e*W'<=PLk- ]w󨚩RpMf!C8F$_G]DYj !/ h&bv&D$o/ *L ?ųAmo I3z]TKXH(2j/rOĹ̥XniL{J(殚e?CҜ]dvĨHBE+ 6 q4qJ]|`u& Dı_kggj8gw?],wU |X`_]Rshy ,64TU(ZLUTaG͸by9"/IkL !f3JܪY5g /a<(MPRݟgQ`]#r-G7y7B&WգhAը\6)3|Ck?OYHFYxܑ|<4u*z\028 EJEa؞|NpφE9gW7L8WA'LMlE ^o\6!_&8f;HspL X)_(}\Ǵ4R3e ؂1!x>e}Cf,J!bWd%Lü ;&jRQVơYYW ']u-4;qDN!ᘶwZ ߝ jDnOLeeT ?e* @R7CfS8͖3ٮ{oSL2 r*&+x`Њ#Q rмIE^:=t%$糖ܣWw2:~Ђ6~L?{?Ϯ:&eW$i"cQǒy䉓 `tO!W>Xi{/bHnBK7[16Hgd^ c)2F^N^\(As꺮g4"Z'pfb1 j,&BH:7!]2&emeE QR0e#I ?!k2 - 9Oxͳ:qZ/YIb?=yψقg5=A7q &Yd椐F2섚%vzuUu2pJe,o1h"ȖFrljjQ/oB/J0ZM#2b 0Uy*n!w͋\GTBj ''#2)+2jr !3!"Ofp!%ge$JǗvxی8Q"0Tso$sjx+;\Lu!bS1_!G^m "9Z>jG4ŤN8a]0$Xo_B[+P zU%QYhqD oqh]3DLdf1rŦ"737Jl)jw,35-""UΜI󜋀O ɗ&nf[2*"l7g7tȎ|fA0*u<ifۺM [ݟ7yYd| :*;TPϻfwDH'rhj53+B%W/w1P#yx?Pz5VE<$z _(t4կr,yOtRTKC= 71Cȝ2txq+f3w8*C- ?P ־L`>qWN5#ykU#"L쥈 Nbj*"ϟ?`1=74_=r>yIr0jeT:IŻMUV9_fq1`Sc\3#Ǹ8GhT f\kDRrdNQrѬ`I2rrC4d&,~9aU0}"; MTܗ/xEMnJYx/20B:>:Pn ہglTmD?wp 56QD RX3V{2ߥC"U߯?ELp'<˰&H=]Sw/ f2oU]'{Gڸ՘Xz@ع DUuD8 %~Gܣꜝz ϻ]914n5E=C3x\np%5@ s:&poh >jdSu^u7 mkW08unqZS4i#2` 놰" ?ᇺPwte'pzXD\ 0=3a͠aAc!) 5cA)"m]AM$3s""u[0y0177m)҂:XedX{vK]PCLFVZQ*5E/Մ4ܜ,$5cg_/vNy,f;*AӑVp5X.G(s&]sa4y:;c d LU33g0П(M ј8Nj,zP~Ξvf3χdg}^Ęg"2/4x՝չWᵛc.F>2g[Fژ !nƣ"CTjOښLDH:wAKZ7 A"U(Z^fgTGJ_=J@H4:!X{e~0g6SnY9(NL FM鏫[Ouv}55V` *h}_E{e]pME{ήL)s*H*FŌ?h 3਍TC_y3" RhB&8S.aa~َFgSzXPPPi!vp'q"H"(0z9_XLYi#];ugvSR8xÉ)M 8"b`n<]#]*߸7Vʌ@(0 8=YlT9?6g}5 1"|-DYjq |o Ax7r1{Oi9;}@Dgͯn3h=H'ude8`Ͽ6Q1 fِ!P5,*cw%gUx #\|kVQԃݍ/e݉0Φ <6-Y$&fG7O',(]e\-@%ܱ<6̛$yIS5HOa.FET 3$0ΚB&Љu4`z>ؙvW9sU*:B@3 w/)/X*ro6}ݽF}WOM Ds~U9}O>j衢<{9Tcw㔟wNթj8^D.a.e[|$:mP>Uh.]d=0M)^T2q>\j]Β!E9XCsTJA^<yU(ӣ +jZfHQeaS*m>vU~:) ;-}/#|W7܆|/0;Opaុ)@B tR0QW`<'5.WO PLL<5w3mk1KjQe稏Pת QnnQ)jy !ՄqUW,ewU;- p [L%y%%yEA+iɮO+(y!ڻc~W)҈db_)#mxZ.樴k3D7H<&쐨׳$+0Cr/Sdu>/Hs=бG$V%HDj2rTZ<:Aӫ ($t\iK[k)fMI@UP S5UC4AHt He9X"g<{;#DhЗ\l3DV kWwb4 Y1އZjF԰UB~sƵ  w% XIrs f7/QO]Svd`;`S*7#Inz&i$ B4 Ǔq/w7/ʠcD9i;Y OܭG"n!nO&h]ȂoAFEz-3ZYIdX |otDF6Dg=n;=jEUy{1q c*b:UnoM~EswHf#alv #f{,n7Hrs&yNo9dQ"byv5 ssS}oX% 6 }WCVضFrk23wAY3CBUr\=(.y I]<Nۍsxm=f'7!5X}C|ABsmfV {2]9k; p#RdG\?taV"$_!&z>Xاv:%0/u'CseɌB}RCsfVE3v=|Mmꖐd4 |0E,Dg=ri 46#O J 0H"f/SdptuUdL]#G/WEHJNƄ-4gZ 5ͅj;b|=RnE*o4K3}=b]+2tPSk.C*|t-wsNŁ{‹8sjU*K:a-Ӌ'pSƂt-ysH"Et7Mht <=yPb.$+Zu@? iO^k)JV}2TI >b厲ᨵ!Sdb2«J]Q%𒎱.PaAJ V9L4e\DQ"L!6_l~"0Ib!Aa@U@9u;ӺebU-tS|#L>@c]UQ9#DsΏRٗ֍ӫDk&V$fvP8"^Hcᡌ u B ?VCj)t=8 +z|PDxȖ#*!SցaCC-3 a#߳/ΔLp 7 ='Tg9WvEO!x`oݝ(X 3a'[{*%8A i򨤦ed2@$w`@pLS&*AYXcDo: ^{CibkŐ eca>qN"2s>'Ѓk5_u9A/Dܿg9;nx(eK/ycQ83F*;۬aiJ"QɘJo'sfxD!u* ܱq<,F!p|̆r,B :Q#cjm Spb$qD =3lLUʌiID'v_Ƞs/eԝqCi 7hf2%3.y;JM0=^GENPتO ږdn:٫Wc лvDFTQ ;$c[s­ZkM(_۳LR!jaZ||U5L _]%zZS UUgDt-7h}Dحcfe9HwgEA /D8f6YD{2cnYC45"ۂrT:.3_9HchbHS]7{NH[/N2d4Po ˬzl}8|T?YY;aUx|+¼2hRa0 SBl `i$W4)FdADXX>6: R15=8gU͠nʥNxq^?Ie82hBbܵɈs/#̀Ww$ε =>lt8CAa'@L(bL2N?Hv.v~ɫZTX%j6Cf-s[^k޹MU\0ڲ(4u/oE<, i_ T5'Y7 [zM,c@;Л)W{2gՁDf>2׋,8 8 CN+08 xd>0qSͦ}:2YS/jNcUH #4Fy"m~s"wS3"cD& (6¸0FmaE@a!)Uݽ~<qNZ]g҄mgk,XJ?RpaSy5Lւ*39"Qr_VI0H^-` [I9ٸ _r'!Xm! 42>; `!(߰1] 5MH vpU QC;>d`2ff.Dx@&Uo^ ;kjUg(,IT h Fv%w E 8 {]w#Y3c.4 &"D7h}pj^*CL.:\'`'4*6vUDbȉ7>M \K46rF>HԦ>r@HϘ\2o9rL]!<K껑z;fLݬ&GZTl; 1H , W#cBsJ?yh¹yë Ǝ|jt+:J:z*DF#L+,#7" <z3wcD?C,r"4c-]sWe dbߟ*#TT3cy+U 2WLn_KD3pUU@AI 7lR;r`)0 <$X;W%;^Ԃ1tbjy2NƟ-S7Vf&k|2tyˈz|MeW^"2F}ZE-7a.,O +9ΦKESu % RN"fR.*U\0d^-nD|Vtn N A>D
BYD2WLUsXUԀH 42pp)/ |($˖>ݠ"9ټ&Kx^'rW8^4t8IM `d`U0ϕRdzu'9dwƻJLSqS[RU!M1Q5&;l#21̐/,iח6$97{,/lOhw#y#ΤϪ_zweQ\W? t"N ś" a6eP#*VP>-Q|YQt"Pf3|CdG<#~Xα0eWxs5tCή|)s-սϩK68qM=0k;"fvlжQWO5`Ag79*d˜1}=Ơ $fUL>UBav<CUnjiċ6Cs{QE& U)4ٍIʒ}25UDtvv18PQNhrw5WgWjv5VʥoL"$PD@ a<:΄*3v̮ A?V1toR]LZn=Sܴ& Q! ږW7 [8#Tdf$82Ia<  W:qҮ_2| g[m$ 5f[~vEcj /jx\*+1WxNA%:Ghv$pp- 뻦.* .ElttӎXk^XǯY)_]7_A7Նr c/6qiƙg-_σ)ٝV8g=XݍH[pKT1.qV `ɬ$wC߆ o4ۄ5{kNV]w;O zblނ~*15sXݕx3Ƈ!,;4f#N4|6o7_f.O ɞ { ':I@`뾄A6RwB[/_u#jԨ2wASfX6*QwB84k̒h{7YhnrUXWwӉkAwˁfxH2۱gU]QDy~霰=GʣI҄JFa~!nB2;n+&aFhfeIDbfت` ׌K -#n$CdyAe=CqǕw5`KI tvKM2e4Wpԯ!JͰ 9qCWN}M"8 &U/WMLD=a0l& U@deW2 a&2Y, Dd1ˉ"kӉځ/3+K9{ɨ!:'e9ZZXs¬F?absMR79k"L0hhrRwuEC|CflLNM\fͶ i(VtdY-fV_[kʌķVAt3*XnޱF7TYj 11^H25lX#o7<9 rg p}ώPz h*o@B$Ve ؍z`SSq|M_ q1=:H7K.>hD*KyQ"j sS`fwMKL7cdH`_.~ +Ҕ:2]Έld !RW7^z(+*5l#MeU3ܯ/$ Nt*0\'ªw+F&7s`a`t㦬JlSoq+ϩdNjwGD꡵u!͖;D5̣M_"ŋa2s{;C-xl u᫈);ZE\Thw:QSU<2si] ߦ1p V`š ~tOTxl:ٗVqwjnXa`q_^-{dP?rv loEʾj'&(HqSeB 5J%]Pܓ:LL$tS2vY]mAd bdcaSjȸҞ/0^j6$W! c@e5903}iVT)}s[]qЄ@ԳrO*h=K%#l2:hܮ}E 8LFDu`,0ǟf9|>NW/CDARDǁz>&lzq,7OUf9]}ASY]73{{\08ΙV9'xA&R +4BXhg<&ty5'܄Ma+p\"M[e&Q@#7=ce5H"+aӦfj۪#qFbfVg=y0{@@f7bNU]σCf!<+߬n>k C;&EHyv'1p8XtFs¨~@2WʈA EINNi ljH37U3^&F tFŜjƈIcg[U1#1}Yw[^+a#ȅj-#ef"7kJ SUK*frGT&:@.vЬ;f9;!L ]y9,4;[gSfȨ&VTZPHHqhFDMD|>B0rSSy&fA x/"bV3 ȡ3b*#TN sg~{uNlD#~i8U.־ZS^bکTy $6ߧSH{6ILcƂT Zάy.hF74i8{p˄ z`/o>JDaqd9ʈ bś9Hwys9&*fvZM-ڀoƶj=K/fI*3SDϧ2x/8>th\E΍ ìd ,FaLBW~穪ȣjA҅7(ڌWptjf{ddFWٻz:"" )⻫y&|,Chm9bA"@25嫫3kfَrjHߊPIC.N%y"θ`V\E)rg 6}2N T+'輇T0Av@oTyb9d /ȅr&Ŧc?(;QU̎bfLPþl&_nl`E‰TG `q5cʪyfj b| ü:P:q)7<ʔ0`tulrg`D<#1 Dv4yAK{X- 烄Z >3 f@-P]]m,fj/Ւ{J15s[9Μt̷U]&U ˇEcFN;DQ,6D MqGb6K'Ej_nVbXJA/>,|0w<8p -5L4 ާQZ5d,D"yUBl ꁖPDZC*F 0>*Rq639etwvn";*Y?<8ZsaxDE5~efDe6 \ !>|oGnf^L{X]Uʪ*ZW6TLG!#m8U:y", 6g6",,8'*_7~NHXReOvӈlUD]Eխ]"R?χ#sA1UVVdʼn 8%bh⋲  7w"3G<b]#NAeE.ykDؖE>"Qw#4o#ZĄvE98pI 5 EX72Ѳ01L뛰ktT=#"`ϲ"dAj~뎆.6QYՕ@eᡅA%:,HVaH~y*q`yJP0|$ʆeN PFx٩.ׂw+f8:0/Qg=t j$6 "܉"pY5WAxRRx LLtqvJ -Uq")vwS;g1`}<߽ȒTgDrZ H6TX$#7 f¼ k= j Dɖ=]*'<%~0nrfg* p7j4laS{5Zaŭ7@EPO͓^UqQ`a̾eY_˧dXpf HS+ce)*W.&3؄C!Fv9%bF:Lи1GDf|>`cm=h|+ h+O`|M\]6auH}b*F82{ɕd0# /oBƹd@` y|PT1( ? }ba#Dyq"3S-|j2"9/< 5M/WAdjeױ q}6a0T) "4d2 ۓ$սY1ijjsCJ;_3$HYUN-nV7!~q^4<3ut@ Q<;6+~#\ewz-$5 j݄StzH\)/UUsY(hĀ7H`}hAl8F,n!~̜QC9Nޕ ,f؍SP3cKUib"+ƛ4p% n+% +3#)bHdDn U-=/i2&cFoMl|qlW}OpArva"3/QD*w`T53"$T"?/ғygwM7#H2.Y$mXd;‚K|=U7z3"a9aIi Qf1g=M mjL~H^*԰o}9xN`f7)L'.@;# Kt+㷌@F@XI'MM@m? !Vyczփo7swu5/N6?ϣ*95 Cl7;w%~鈿&Ȍhn❎3Eg?U~Dezq =둫MC> VD`t& oP:+I՞- 6+#w@ږ>烏X4lz'K|\6f*5#bt8+` @9jJ+hֳoN+> wz EDjH܃ ;TuǘoQ_no Mֲ4J!sUBK=@ʀD ·g24xTĉHe&Έm1CR[;qwh|NsDEK] ) Ie=+M `ʈ9G.tM-$=Ιղ̪T~8, ) X{ 0:GfC3^.jZ̦6wESz2;SSܤ$B75/pr5"f1 Lq8fu:L[@<}:`i% ;DQWiw2&e5D@1qt*3as@Wf,$!;6%o򜪹9*UupTF\މ{ @G}!r }4Ue(hCTQ}V,MF !KM5Ά*fŸ[Vڀe ǎ y!䫊>_ly*:{&Cp~E:7P Cݦ̌Z#LcՈњtaqe:O3a;XAқag:!QHh1FE% P52k-,y RHd; 2c#ONm32&m"#ˉ`jS }=U%RY3ua;6[j4iCq9,ቨ a.7 ea8ڜHgMgu6a8]"ǎ:dg1BP"589~ةAeQLFSI%3r bȬ{'!x.Ͽq$sW5"b:yNGLk=rC "}gw#su9!kzcм8u&4OK8ʻqe:jM3]*bU%z05yh(F%"n_L` 43$fLv|| O^_>rkǥg_<|L9uaFm5l0m/SL2&Uj=l &A`=$+ݱyxYČBoa! d[@1G$Q9CBd(M)U@,tSc&|qo^x(C[L͖7QVK}UNA *9m-ؑ5{} TK@9!ny~P%Qus,l5+ٙ-VUL8I9WDŜ>KDjhZU)C9+fa[ 6v7cr5+63=j"h$ "c`"*R~=5#yZtXBV]ɘ͉40fhknDxv}"iP#pvO``M85}( 7#>s93<]$gW$ *Y P8Č1_V YwXM:p#eD ݒ{S=_ełTe&H :rx~gB2Q821n߁$ R"rΩ&lMf~>?`M&J˓MTYj0,%-"GOHx& !"e-NCnlq?8"Y]aAsy^}ZeGۻ8~L!Y0t&8h%gf-s ʰͅAeT))~gE;Nv . Y2NR$68qL|i^EsAj\wp=6꼢l~]>O ȌntQǘ6SF25H4U%]=#&7%3* GYyp3 bϭA@njͪ2>&xMu7^S(jr$䌠6b"])ju.zp3!_y馬J;FzI! h<{"´tfEd1/}bLED,]Md'ٖ0U*Wo%wZH"s*];%&"174&Zby2VV澠y1L\Ki9f#"<̅jQ,ԒUl 3Mc>wHF߅޴]CI,1/] l]1H@Y|/#ը _eNRe.sGVQ MbLoƴ,ԱHUGDVXN9[ljOƕ@A4QWWL|hF!®ίxYE&;R m#ZU@]ѾϗYFG ndf"~ 1ˉտ<χH 'kuC?U.0>8wSnhn4ݤ-x+P#<1 gfIdÙ|=8y\'FR7p~`0)Q!VCLU\aj2)'5L1w1x#Gh{yE/Kq+Z(23#؛076U0E6߿_NVohD!UM@߭t^1J3LwO*` 4zf&#y"9Å3A iTEƇrftnk%ܠn(ִ)63qL=~<7*34/7ۗDXY<+qw͡&=TRZ$"fnH1¼:OTu"9'=фg7?σnG!e+?:. D#3T!L1ܬ^0wٚd!`x L e25)+wA raYl<:' ;@1xi""ȯ }+vpKNr3DGq̿M-7Kš+3Ո81di!ܳivr57봨лٍ82L&%6`j#6PvE}%5gz#kTʪTfs+OKk/\pREC(D ")in YOJ Sm衹rw1 Sb2ƈʧ ئW&dS T T&j6vC/XDg'ðQs' NF^ PgH|!eh|w+]#wq1U]ʲ4yC]qC .rBҝqr,ٓQ=ú41*q8d啹A5dUs\nZuA( VL@E JdOHDv1ch Rh"  vb4c"Y.KȓOY7Dܘ}Lluk{[o UyTt9ALBb Bvӝ@։kn<䍮' N\yvU_w֌0j6ayCl-fs!7 ޘDR@`*"us@0`RӅ.Ce0 ߣ*O$x`9*jYb B8dT  B T 2s `Ĺ୆ျup",ly0 " FYd.L8 c|SQ#h2y:%>1aUUY>%VnbbMT7)88dņH ('rH4#ja Rl 23C2eVD&YsfB7Zi6XW-w#QbsoȀ@%BgFN^ ,x kx@Jm&gZϸt2 {fL{ͣ%57j3DA; δD.:TT] -D\OQ/B!S*j5YAդEy5C|D(2M;R i2޸y;(;.4j>z4zY/Z& (9]1ryYΖfY2 t>&Q 7hjw좪VC$`q_":qL0f8]>3r;[;(Ѐ11f0&7Y&,1[.c=vf@3;4KnEg.ɉ:9d3=&95*U5=뜍ɚf5& 6!ԳZpwuC\R1ڨmf[!@D>6 烵0J7JQ2BHVDG# H?Y܅N;bz}*+S3LI(2jUTM`&5 ]AN [?3|dpZNMQç 2@TS~¡gbS7<\M٪pkBD.J3,]dsLс/2 gJVu7=߽:졻8bFHOZ(Tq/&8QuO6B]#&e7(rp~cn6ɡUx#ʬ8gl"CEt s3sP&`{2#OM8b }vĸ4{jJE'c3ڐD >m7Γw A2D 'Ug&ы=n:@,8 f]f~װlU{CUWF 0ޜmLw1hw]M )ѹ̱6F Ϛ'2Pĭ1qq4b)Ms'ԕمQZD׃0Wφf;q4UJlD鲏E7k2 CDh qH NYx7]V5uvl%%o_-ǶߠEcpRp2fW'Bݘ%dB k_P@%77Asq.͸Luaws1T$gq@fY娮h=$iʹj.JVhm +"M=TvalT~9gξ+'V( +ybğ =GM->+̥&ğ!B,<3 DF" 2xl˝w* d3t 4qT~gPpo'lήj JM9,_XCDgF9o`&1U3IHd='/4uUuZ\vVīVX?ۺâi1˘QyLvES<"C5i#︢ \v-2#n3])Ñxų̏ 7t@L&f<4ϽQ-*WX pO$`+;*( fval{=d ):YU¤"yӕ7ۗխ4>z ?%4uklBT %LVлۛglkUCA068qw!ƒq1c눇R/ķ!tJ efHBУ:*7yh&7MU V;'9 peQq/*˟">D 5l. -@T5ٻۛ %lLx$ZY_ݯ $GaJ&Ћ,nXv@܏VlJDe@NU:QԪ+2܆nAwl$0,wPI7t7 K2saiEiL|bW4յ ?' '0;P$SC^U3gq=i:fƪ7$ B9A2Ҩ\ĹPdr'R̄3f0uTBl.#7)@? ؤW<5[bګq 룪~̑',XDtwĉ&^u|ĸ׿yB4Qy XL ;QzLS~NM ,JtGd~jFʥ@"6a]1Q8cҿ&s?28D"X]q|46F2pdzid\ '\ M*>9"6TtU%_Px^G) 2ts*in3:Cj]m1ls&T_Y")߫k^ʚknXxUY4ɬC$fUBS y}> 9zt3]牓 Gt5+c 遊a:*̾|d9v=lq;g .6#yɝ`r%(4Fƙ5 [ʨz]T8wPGO;mY YJሼ JQc8Y#`d\;8_e@Q# *kU\E$>{7\8[ 9w*}BϙhMdU3B&::9ޘ4_D~ Po@ #Ԧ*É02OE377z&y93d9l"fUBwk@eO b—2 bΈfDs-Z_QHJ L L5# 7`dRLߎU# +6. 2 Ĝ`N|2,Awyڙ)5cX1ab MZmSаøoB#Ӹ[@d_K:A۞#نvqy{yy7_62EA+g .dyOl'سYkjsCM82P-4rs07 &2"3s=s# n|OwydFfRBĩ3<Z u"2.w!@B;1NQ@p9<΁-:&IOUemk=6jܵEg-Dxɐ7QA4.CЎAyc Fr@>USs2E`CqPD? #1̤)RAL}fsn~6&gfwdW<:Yk]_RINDd$+_ZUk4HZ(&TL̰V\w U-x@V7u.:y0HMd-xfEИ)D* u8{CHU 1|mܿ7/ԔQS̽۳Ľs |/sDCxS'C+mGvcg=\B2e0̉p 3Gi5~93fAW7I|UA&vdz+BE܍YJub uQƒq0]cp}A8c%<Ӻ\] #gRy-z)4yk=,>3.$ϟ?=Y 4N 4-InM W~ky21#$&W~/*3m(0U砉 )0j yW`DĀZ:f?GʬZsX87Xy+S29+8#h}˵ 1_JZ P?OAF745aFE<@ȊB 5l[bk2AE6v%Ftw9:0S3ѡqHu:{9Y$,/ڮTF-8X 2XΰV8*y1H;f+|t'FuHO"\aXsRUV2Qpdb|aiN\f ˽7rdaeLʞL'*o*~1UT B+߭0UAHOn .H$d-̂On2Ԉb7~Ga\πtEhJA|felAK=QA'w; `ح,E ~ĚbфBS} B/y{Տn#% V"XZt(Nr"d Ǘ9ATM#~2䵿;'R {c"+F Th*^%&ldF q*w5Ni&[g`X \D (+g7U cj\? h=\0>&ypqWovYEd\0 zfՕL*J7n2"rDYCڻ4@"&Ԧ"``B=$ɝ=9›fѝkFϿ@}J]%4) 5eX`ݑ&ZclNq+e_x:_4)w8 *CW7Ѿ.@ 1!37PXY" Zணpsg@5;@楩A ͵bK H$ ZV Jѥ~]AUaSn5û D7P0[30CFȑB˾}91Y2Ȯn TeGB&ho3g!W T'=7&m:Q!$ϻ7λ\4.T; a[s[V'Ƥ 1yS`eހ=75 N754MR3ׄATՑUS# O#]ʑ":<3af1޽[ݶp`q 6߁ÉG|Jlbp``^='35p% Tw@7Nu6/_YTz 1@@[1h2=>!5QLĪu`}N0h/Kg$@3j,nj+S*e5wbkjuɅT5d@0m>HB}Uhz [D > HDi¸ww;ʏoP_u 0y%2b<|b_k D[f!PM2'd:zN4W2#Oj /M"jMT1z1e<ݓpa"2SSTpt"cj>nʀ: }܌D+(k̢wu7bUZv_b1qT~>(T guEԍ0 xWi}ϟ?|YgmEyNDŠjf;{ ecVHuvBF y.  b®}Y֘ 'F  uN]["'t9Dҙ݁j(NYWYxrso +MjOu0Df6wϵ< ?nʼ/hV˗^ ^좮A "DdSp;78a#ةR՚#I hiƂxab}=Wr(To0H{%DDNt X3+hhjW˜d«ih|0N,:y g粜m6ȑ#_nXR⨈woQEԏrq\3 hw/shߣe2B{@3W~_7rV-J[2rIz>HX X*YS.^jyʌ3?B&\<'4NL7ftT=+yBV?3vh45l '¨/26SYN >#|O8[EXD%HXM M(>Dx>P 0]=BG?6I ڌZw.]#Оg(†qM#-LUͯ0Ԭ&E`Wq4O<4M3*:}Ls6*9D r;G^sY:T,}eؠXU>%EEJ_h8Aԏ֊|MǵnQE/Fvxllyh 0 XXgQ$3@f7_34s |=MԌRDi\f'= Q_9(G"#lb[x +#IUPdVFۊѪ&a3ML L|@t{sѰw0/ ˨F#GWcj-$8:ZjQ3tw_{i(߳c#'MH߱}=1%2Ge3d~CqAXNDw\zyL)d?QHGVUYֈ0 f~O !SH -eic9V(!>ΌkaUcCu6Buc#{e 0G9O٭6 ``PtIV_R3 H,#ݩ LfBJ|x; w$xuWvc9ڨR58HS՘8Id&Ms5. 012i%/ 1QETcID'βs0?=]"#' I-2!ʕ޽uv"Bs)"&` uDsߍL:EaAb`7G`ߵ /(S!$1-cۿ+ o憪NhWORRΕI͓ 21|mrn $7PnNMnM2IGYcP4Fb,zg KDwGpo2pή  8uy/5"k8f*&W{S.+o(WZL8v1ٓg}`$a̯ziHTFg=`®Pd <WglW;0Lcq.vuf'} ނ!A9feJFFFSN+}B2_?%5% 8ٽc#V4G6Z#ڬa0Fo4iF@ybx Fߗ/8Nf53ۡ=s}| ,z -ĨKd(cg#!Tސ&yaE5lLD a]q 72RN _BKUS3f Fq?q,f{ lÍ[g!Q855@@&'*8A1&qP ^ eisb^[9j8b"`N,7"T&yƗ,?kUU,O k}8;o].]Qݢj<?9*yd8 ^؄. rz\tty焗(*7MF7Ή3%S=t,HTG(:G5N@nCic, Cȹb;H)ln&gH+K}mQ=<@9fФ>UbBD9p133A.DZ#D^؄3C,oWCQlR K ۉNK"1ms !5FcB$\r ^ bv7z MQ Tb7(MD_K|"נfʜ7}/Kco  0.Kn"YjH砦 ykcff>93k(UBD2oՈ3s r䦬 f+R35_TCnG! mnhXP`uDΗ0Z 9x@߳ӨoWۄ" &-QL0QVUx<$gMҘnj'ӿP(/WDj1%j48=KosDf1HD0) ba0 Bق?<؛!DfZϢCșz!%L < 1TʹVqw83,l7&F JxNP/8k-TXS +2Z6SQ1+*OvifƕYs$ʀgq43`!2 Ιwڏp 8-3mq135iDpH:~φm%HJ3XNHHBɈs9xm=A UjsuR}T"BE*qX#ԣrv*BO;CԴƼqTne|_ xHH{62` (l/iڍyUg?WwFWVmKF쳱`jm Y@Lg}CޘzccAp5c$ub2SX :v}y_R&fx ߢ& X@4o_fSWgtHXl-5`5;veٳԽ2:o&(!m-Xf|r!Ix$7  ڔ4b]BZ*4*3z?^@5k)H[ĐM둸纑g$M&yc m$_~Ci+f*mo ^s1,4"3Ad6PD'DLm:]JU5wSa$0# fG ݊qY< >j ys;.UohP @9oz 5CwN@RD!ynj#H $aE |Kűp~3R^W."'(#O*0/G<)0׺!UY45U3b,=|1N78fwo_ Qoml ?IGaErrwPڐ:a7D/3m'}BJGLC8;+dT̗{m޿n?u>|<"*g0v("yijިǟ t + HSM"k\Wl6R5x`[gnz&}88a2NU1K | :~33Xq6}M5k0ѕװq9f*efSkbfVk25)w#'T$;1 gGdф]A]T-WW\1^ E됚0ųil_G9)M̟ϧ_&{dLBY ?L&4 '8(@}MYxIf+~" q4$MA|P BRe4.D^%:L]'3iz?̩`r"N@Zgfj" Ŧ|<ۛUbR0#"pجJn ԤB:^0R~pO6*x0 Qb~R k2dgV1',2qB~jTEv U7wv/8W6EeP*dD7Fm'1=χx VԠf:T !23 & u*.L7aoF 瑚 7OD h 6m3\\TIuZslLęY՗!C%iD`ܿxADg"̻Rqp %J|/;Ķ Pˑ910p馥y(%G^53f &4jxԢ(^~M5:5{!bPQm{ )LE7 @;۱9* ڢސ؛ E?U^0huTU}}Fav  aLGj=Gr4WZԅ/>"e#K! N2QCr}4'Yfήz<&&yyvX޿aq_eA5EH3EA b 2&C 2n6V\-I3Q\b1A>f b J,2_Dy*^3:siFE4f_CĎD,d*M3H%A 1!|OY}p#4!?>їY'̆i4Shp&lSzt " 7<@S?(!_<^& ]m~1&qc| ͺD4VUaCIL*)@9!;dE0"ks7lT4*_ɮfn邈ݜINӮ0u@jqO|Cr XsvΝ|SХH2TMu8\0sd7q[TfKUMCio,Ԗ=LgQ#0K{gԈT-5QU=kmW^v8V_zՊcLmc`*~|$"K& w]Fx4:xG\"&6@r2?{$‚e *Yyh>Ž]Gte Ez@r C EwᄀuՕ*5|Ȭg&fZP#,jаg=o2K؃Re|6Le%"ԯ^1X+ln;{djUuw,tzGi֕cU /2򢿎/is&(|xAGox'%*Jz:m7M /,P#zD?dR9Of dDh^γH#g ]6NI^cwjzN5$ZRHc8q$vsQ8/3:Ea}ju3LFǸ _5#aerG4Դ`$Ϫxñ U=報dY ?M&L x'.3߾|}>YYBP7j68$2ZyDD`U)4&V}]!h9Ģa-F*V3w\]V<U58μ+O3JFYےJQ3)_ܣjF 3CfWՄ5KNΓZ W%j&[.`F/M<<0s^kMI2G"@W;+*Y㜙vթTXƩJT"5c(7) WuK!Ec\!R8R}mP74&"79\?mTsӮ0юaHUwpW)sHg`7dFf_UHALM丩\SXq "r*L9ch_(3IqPz-Rmx݄tI Mx9ES2[O8/^G7my-GgUAΪ6W) B]c.+6IRa^KO' g˘_E6M,ppƆ2$ >XaP<*23?>fMAB&c76W=.f0 \Sy<׼htso<@sqphc:.D@VD ehw/d-lln@Q".݋@M ֨,WTV`@@ԋsY O$dv}̳P"Ӊ `đ`^jZ%㊹"ұx[LθILY7rVZ\p431+{U?0wy e?w7(w\僱Hjl!ϵ'Ȫd=c%jenNS#5I\#fow (w}rUW㖗#vO*P0W6ˎnu~lV-Լ'z`/̷0~ \#a; fb3RlS3/؛ATL`gi++`I]}y5P؎ +}IkD[TUlqƒ3֌”SU(f9|n٥"ٍ5|X+.:1.2&>"1'$*@!4-:3Au3/#|ig! L?#+]qHbr` hex!&n8sDgDGx/F^ sv]*lj''eU`шZI,$BF9}{wg}b5A ;懝a,  t|>@{' .хԚi/(# 0!f},D r9S&$h{Fxl>Bn"VsL@q:+sӽwݖ񆻌")tYj/q󹻺ו3 ZamӀȓffO0;4J,3CY4:mAτ١ 2w[ ;"ab!h{,w""SDJr&B&dd̓\JSg;*qAM FXwXod:" WRD(Kր'L2fӃ{J[3qd T1 ih z&iD'"A:1 E9jLq9G0^|pj!dsȪ1YDVUsu4vlLd*ӊ%NN􍍘k誰O ӪZ<D `G?t=76ntVA u=TĿByZlXn[*RęUKqy|c7) `ns>08ՙ9y5rkkn[c,ҧi/nogfnl$w/iqc ZHIZH_{7]fqUz]Urձ$SAԧ7+sp^1ԋ._M]T.g=$\})*0<;k;fYԛf{K lqwϥU䈘̻Zwu".րvrQ ѾB؝Be3cՈRp+,g R!q4Q*WnsG/mSpw4s7f0%eOa@2^H1r@ykFxdzIaʑ WLU }͍tPE6N+M3Ny;JX#0۵^ȞO%Ovbis"PYe) Yao\:/UuB?NIt Y,2 1{30y^kRXA'"Uwt․˂fJdRL8Pks$"ChnKc$Q;q+*>äuz>(:bd‰8H|{ojԠzÝcЯFʇQ^( &/*w&7Ed'DMqase 8 7.JD 1`Ƕ0X;D4"Z͈5ӓ?5L# jF9dj$GD|a{SH⨨bĨq^D*kuYWnBbynjĽHyPcjqhIBfggz^$ RASsr bzaN, 6y 5#⥄ņ__w$&LꝁD7UB9YW(;o,{4>\M&ːj&2D4 pֳ@eU)x5H7;RBi16Y(e.c|I o* Lo>22DDtjPW%ZEag3w5*/wLLB,KLސ #6&^jDUe-5!ǫ}BEDADÄʺ XpeA`Pl 0~%y _31 UpC2П΁aabjf!\UgĠH^,;$ӡx"MOUF51/|=Yƈ[n; qc@i-lfRߴzb9"̫k_\8g/ $ziuD'3! Tc%bz`0UDȧJ.`Lx 5؆._5ѭ/bkALa$;dz^pgv-*|. {2! AwNzo2G!&x aD̂Cp"s88@s{MLeSK@%H摫gXGoy'shW44ⵘktXO1,SZL80 Qٽ3Lok5,Խ#Ȳ5~RjnтK)PI3, B%p|",q"cl8zk!m, B1pWy"q}D֚ӂEZ7OgĒN }宄Rɧw3ժoj&ՙy=;}6(߀k 0K:r܂ xDT qJM0"F..!F j+e Ѽ3뼫zFLIHd$43ۿ. .PTv勉+\sG XO4]U¾+YtM󋇍R9O"eg4yo(K4I'vQ7SV 1/`r@:Wz@`ѐdG C]Ш ^tљ:!Yff5R0 rm9Ε]y]m|01]EQ9CM5ԑ) gdWM/͐5쪦vyN u0*~—4 3(`h0l-sДYٙ )ʼpb,,&1;gc,1"ɞ(\~T}Άh=.Н\ :gOV+=',^مi]Ꮯ`4/kNFg re e5D=L Av2qįgS3.7s8åy!Eg=y?04? @S49X5LΈ"9 7<67_- fe8m^JKdʛobI%9X'pH^7so>@a73!U̚k0qdV$O{ |XƮ:AGBj~n&3*W% $!kr`,>G 멨(.mhDTٳ(hľe'YGjBdjs 3cy78 OH4I :Ό&Adu@ cmw艂lv{ga%YLmMQ!{~uNP'DMW{)U ha g&fR3S?bnoM3oFpQD&13*_YQGzBhbLI*=5,&i}A+PƮrs$JP_ո ܼvXuj|%aj)](}J ZN)LwDYkὣnGlF_z)s 5v8+`G:[QB\ pxbm3YzFڵGtTќl'8Kmİ >[<4uOi-J3(bF/uss gEZNt2w;OtBke>kA`$f7**bsboH! -pTAb&M ^YTEvO$.RHk^3򻿪"*}s/4I1o7enjx U1wlbvOvʉM0-_7?|>,TE}n=6`Ah6m]C/,Y=醊C '!#B^6q|z|~kqSd2U : Hz҆⚻r3N5m7 fYc#9K/V0GMY'YH1EvذvFƠ 435#W }2޾aŽijE9uֺL:_ 0qY{$ä Lf3lF pȨՊ͖gfG.J1Z[(g܂iw?j0C.nij$oir34nִhqrTaDS1F Ǟ8?+ӕ M8qɒd5F&-1bXOT<ԄsG>+fۚ\̈Gc22qE# f_fJj621n>4e2c>?ıADUyΐS/,V`UH/WB C|& ;:JA0Z=etfTѩ\^'NyHc ab-':v34kgj5 xTI1 __?Q̄qmUSt [:44+yLz˘Dj/DPLQ Y%I5c䔁|xֻV@J`pP(d0l/ ;S/e&8"SX^1]~pnBqaLqMcft3ѼUz ?<;75N}wU~zs%LZ)z6*OZ~@%1= үh"*zb[Exso`i7Q\Z_ugׂ *ULl&t *,IwŤ]׺#9MqU*fۻ؄;i"ԓ?H9)Q׫_Ӊe-1Xϓ{ m chl3s !77U]vv T<2Z"rTCJ2h@%8.⟈ Vbxc'g=8 $w4{㾰\YA5ߒϐ:]k-No4 :E4lf;|N6_WСTdfח1% G/ek]_BxxE|qS"GZ @kxw?0Pc!Ӯ1`nwSˇ!117Yiv#5e)Z1֌[h`aI=RiT&J-!j72# Q>V̴b5͞ocǕDgf{o$(E +Q%dc ם*<`zV1*0x9[p`0̈́pUgzxۂ~c'OC3:r}1ŻDP>~%rt:qr12woB:yFŨ21g"6rQ,[ X9^ e١@*`yPc{܋+BCY4+2_WͧըʦsdW$K0Z=bΓF;b"G&`CFg5B"e(UT4>:P"A5ffSMnzGh%UA N7wU!\7 I+j|pH^{-rU[f"Ą(aUQGP3!:pn꤈̓]@!{WI8?3Zf$숝CP*d+p6S)w܆"*ő`F5aLX=ϣ]"qp(SԭNGvrC8z(BQЉrc.쳳f)3e y`{@E`ޕpH~FI4b2@(u%X3H[/,eaS4eIE(wAHats&ܩ*+q~z;Z ʏe.dSV1731G9xNJ,w@ݳj*=׎vY`pcjgBPRf?3ʓ<4@8|aU*,eXjx2y/q$A e * K!\v7gR[xp12[iveF|a=t~턅 n-Dj\ UNTTMUEg`GdLU=MaΕ h0p3EΌf8wc%, פDd" DT<N;IU;qo+ߣfgF6"M B Ю΄LwbQWANCی#bk"\P n0"ZN`خxzVD(7$1ӧN, PajkIhbUAӗՉQdM,nΊ&1H8_ls&xmsr&5JBLϪY *FJFy!]evUWjzђen`kNY.vwZ "](ѢU/[TZ s} ߕ'w dec: קBf|} %kd8qLL <  >~6g,-T !Ko`S9-*jw9 :4ĢHf]wY9'jA`#)Cnσ 9PYYO\ *5H*L#騻&' ZU!]f̍1CʆlFK<"hTEFf+&-xV}V 5 ٻ#[z3w۩b6<QV.cES3zwWay2 7aJLjry<EjEV][ co=A7ԅ%=Q#S feٱu穈 2|#UoLVN2=">jyHWƣC`EkM>Mm''Y*l=rtTlCWX@%Fv  >9#F;AlI~?H_GGXfW߯rf{6&JZU)*,Pr8=313qoup9AKD0$jjn _ Qo: nzy>=&\+]&WxLU K0-a@0 / i" 0@Q9Љ 1ҹjQU>UEB 5fv岅=N~2F&U9c 1fN h5tRW%8 Q9iOTD#q6Ua>r'ތq! UV#a`Sg `p#E&37!ĭ0ފ%ত`~d;΀Y 5 jjvO%ȤU|{gy51*F;0E؇l1N_-W <:~›T\Д`Gv<;R3CF3Zȥ|;y#fD++ #X#̭b4ڟQnj@QKL"fώ(jWi5X!r-Q$NYN"ĭ"O;T^Xv5Py,U$Zkqwft"X2e*B=+fFz\4~_G4C5]T[atw<2J|LeB@;?guxt"N& BLlH ȶ3p>[k8 7٬%\hx}_@0e~S0=p>81 a\{C.w5kr&~QS>wSCsLW(LF>6K3;Dd@N8,X͗n,D:՛H?>DTT,*]n_" -8F11=__!B#jAO U7DhvqX̙XX+B\ ҺJ*3Hd`k> *FDx7aZw'iu!&`{a؇;<ly$rDi-D#Tz}E *^ޓîQLU-s|,n;FȲfJ1&ΦR|~΂!2?nV;BMGg(smzUULD98C<}Wp{s/[tfqBw(2ԠLfY&zЖfcPup2_ 1 ict1D_lȔ~~`_5OߴsYhT,羺p {l̗nL9.:CZ>I:B8^nr55_%A@L \|)}< =N*,qEk^vR5DzРVVF,o/y,ꉨ>5Lov2PG~|z<"f>G0vBy,<>U(pjSx#<@ *vx}Bhjc1Dp(^{&xL>>M3윹6c Ns ~F>Rf1P;FٵXD{oVf8B b]Y`Z\.r׼F~`mdE cEPt/w8xV!b>zY_A=DS @x$2u΋py50OEH*f2X -P2 a@Z=EIBwGLK&b0I,G-__/AX;`+*nUoS"p'bKXT]4"U+$68{`Y+$WDK"͜&n?Q*ίi L:ɘ3 jU3wo>4l'zD#["> J QS.'%BhP `U.Jٌ"f32?k Ɵ )`{!S@? =v BP~w ya72.jKZkaJ4hݽsFP(+M  iw*r`Rdf2+ZDT0b_]!^ }ǻrzx :73 l6PlUTUʈ> Q%lSs 1c43, 4` 2Z!0;afp 8łJ.vV샇mkr @ `"J'&~5v2Qy&ëg-_Vx\ *v2WA2 hl&a?"p cA6 WQ3cV7DX֣(nk-vy 8"ZXS( (Ju㧈h#GZf1KCD10awzF3?0jXgƏ )πg{AC \~4ϘoOhh+6cE Տ>: tB";AUU?Μ493p3LA.v8f 4OUQ h>gU{5,>W/M] G]^sc?zE3h1Op`3R73D U~od/ozf:px]TFJQcdTd2:f@7 J(~QJ,oneX[cF|t?PE5'cD;znx$fվ pQaW37U`q!ե3?I0 ܹE&D"62Sa @CLhđ3;O,h pg\]U?ucM }8#gJp,4\bʤjUջ\pZ 3_zXQA/o=cמB[lf=j]ІJ} sQEp e@3a1#V$q1 Z2¾;#ܟOER8A4 +$v׶ETDݴjq&enEf3ZՈCscdL3 P"/t6v!rT sUiè4D2XCL5Q3p=Ԗ7/D!3XGErqRqbKTay8Lco3`vw!X8/|@VCRYfn'kNLub 4T#GV~#L;fbEAl{K5p ܩ2,o3 ǺgfDXeU{6HFMƝY(kV2ʆ.(vP0& 5XLM-3i=/K¬yp*aٙPEl0q'QF?٥$yAQ)c3=ߪ>)n.Lηc߽-,{R57=~sa!,QS5n;dħ^>01(mEW6(Ρݪd 3:炉[S uT3*<$;' 91%?ɼT Cy MjfI3]Dl8a A%QDUOg-$B]Mmσ?fQr?߯rcV"ʾۛ/OW sV#(p/߰{B23k9wؕVE9!0&Rf(w@@dŻ{/mKr:Ѧmjnx8+IXEjVAT $ <;N2c'Zձ_$ةH"\'&."SjWE"oVZSDIJEoX/Zǖ-34U f3R<>{'}yRb_0b-TP4Q]DսԦ>'Lޓ!ĕ*P:ӓru"#˔`-!2@@!zR{غ g]1vMwGLv&2Ҿ.F}:nCɦ(Lު"1a|M Rl" ^0}6N(Av1B旅3FO WxIU(EqQus5L}}1#Ac&"T'kgn}jMDL~U͘J'UZdgn;6EFOeO:>*8 O=6!3Ǭ@uϝ"ӫ;浉6A"IJGf:%JLd$]0* boK(d)MG/4 ̓Pu@M|O ^2ǎU&yYT:HlIMFg@bp tDw?kh-;שE"xfo+vE͕V9E팦̈́e+"J]p=dJZk,TY†~\<)p~ǰUY=?wrj ⪬?nL6|-1ln@fsJkn$xdLK3Toe&|{wYHt׋I[#eGALה]B8.iEwD&ޓ1[7&3>%>m 933P*u5@a/bVWQ(xf4k| Q |BI IEpz)?Se8@b +\d31ZnjT? A:gD7r|(t\y#F6Là*v)1Ibaʀ[Y-rWSD@?7_<`:D'*Q}_|ӞiO>/4BZ4wgeN8/*ݞЈŻM}.nb;ȇ1ztrƧ־lYX-+(:,"S2փIO"ݟԫ Ʃ|g$_B&1cèp Nd(z a=g ?8D,l D5>]>n٪ԲP@ 077z614҈`7 4]g"FpoŅ࿁rso5QSR T#J*@}*s ;.:Fs 굙Pj!3`K,0 !/(H2t~w3PFFDTvqْ4p PaJ~P;GYyr\'a^" >>뱉bdʈPpX mZqx~qH@#. 0hZUQrߚ*9'"n3s\*) 3Pܟhb,&* A`.{T}~/1;k或#fnU}>8U-w [r; j6u $)Nؽk(D}zW@n͍0Fr_~٫@? etuFfnVdS62UUcB3\x(qBY̗e}A'0LS:1%`cq&ƭoC ՁYU;Tܲ3qN;W΍M@- UQтJ@gWT5D"*Ugt@4N}I†XN+0`gF0 ^Dsf"ֳD$}YĂQ~Ljœ4حA3$ܡ2:Ajw?Ó&MD24V¸lP`f<#/(*w աF m2jeb+0 &ZyJSQe*yy;縙qdxyzͷ],xY`Val玓m]Ϣ}J c$әXdkjFVWtQt EFj@]̄YWמu}/7"Et@1mmw9pf!B`ي 458h%BԐ+~務~?8i#j?H,[3!;:ls0G />It4TȪ4?1 n2b(  NR["9d(;b-z|r 0\-8 =Q"@b!1D*%SսN$NY,Aգ_E=e%gEb^(5A=茮:D<@6Ή~7o@*J:B1e4WoC*~֯jhԎPޯ\:y>&jv&j:3{otvP#!4g="fLE1uV阔!ƥ呧 CT>4.jU6. StEؙ0C&檜 57X 'wfቯ }5D_J OU1 u r\a^|3y>< :;  dsQYo#5/YBŞ~bY3ܼI]u7A,Sp2GmbU3}C=Q5\}E'~u=%\if6s{+J=P"6j@V3E1TT>PCl#oWEfTBp*s? ~U*߇דjk gzH*(}zBmЙZ)@c3qD"%1>AkkZSXi8DN:d _2\Qt7V #PHʼnKY-5cđb> QgꪲG* Gu&a'D^0Ucf0A2U&'ZĆΆ0رQFؖ+*ͪ*Zg<5v?s 9JD4#}}̚GtA=VT8q]$|VbfQuxS uux @4,]{)B !lLXuӟZw O:/ Z(T1hYaٟw3UM`]ECQPP?0uaOg&bCY(35T*jȉ hL'on5QeTꞹ'&"jN5EWZXU M hgKV5;:{_?@B'2_!(*A4G|0(œu3%(t~Z|T"b 5h7|nb;q8D'>:0 *ܦx"LDcI^xt|TDY,/>X$"`F#|_L:^ltHҡaM4wiR,fni>0_q_DP upDU/Y4~ LYz1WpVZ 'U5ݐpY$3@i2Up̯Lr&rkjꂻp6 sW~j'K26j]nl k1յtId"X]#Jbɸ2#!*''όwJn hpfGST t'ZjB Q\k]"9>ﻯYЗ' Rw ـqIgP8̜TOqyP*©D2|ܢ-2Qq9xgE%v0d8:)TY1ښ=?]Ǟ0W) &x̡~&/ᷫ.:q" 1jo!KFUMa}(PV^VaY(InbB؂,D(j ܫJtwcYV&Xfe^ՀaDbet u(ZnYXܡgOޛOZ$؁ q`2QUT0!wzGd>X?$'}j>Yfv ΞUcop [&ޕ $&ṘwDhqVjW-;ih"HnnB4Ed{sߜSug>y& -sSUDݔĦ6U=[A)2" LB-'&lwC:sHqՔ\bEFTX91W)~=+>u^^"@r;wT>D^0ߘVM+̗d kjz;ROxX.bxjtO+Vu0'\ (B-"yČ V1FccyGޓwU㹞=GX["๳:* a ukc6M73j8MK wc]Bn XsC 63qGfEfZGFD_++z@L3&!feQM?3Tv <)DADVFIU3Yoy @]h,̀\T09)= Upl%Fohm; $ "iXb@ĝĚ͝0Cjv+bh4UMTM !CBЁH*Hm8"4FU]0vՈ`7^^9M7 DzIu Ť*߿g&l`ׁU9wTY^#h&\/M+$Qc }o鄫Trv03:M<8] :WC}h;/@S*B^wsDбx/\}f"iá &@0\ qeFF .HqU`Y L0, S\(C=w&o(58b+LܣH"(b=OwBDwdkAkKUH~ƕ$߅:KO -"bZ$$F}!Bjt*f.-*A&™PZb:ݠ tF`F+p+H,c"]|3?uU(ٕ4OUSp)&Zp0Yy̕f"i83sM'`e= (HYdҜB5HL ژ^wyhoFWM|Hյ( E̺#w<]5AL,8F8o=V&FHDW 79^:2;YE̞J0(A~:"%63%O0)+0-;/qQȀ &jSHBjHz#0UQ &{_&Ӏ1?˩:ySE~=qfyrTԇY7DV++/ڻ$G ջb^p(VbbXkș>!djOVUQAbB{j.U+̚F,ti#d"WSkdPRHo: (1( e 3,"*~cɪwoX_3l\ݻXcA~-{}2f2t/ŸBCSXUfɡ5MКC-k:2eh(}]GM@ār[>#|'px~m*˳2 9V347<"؛Y{EC.٠J3!($$?0lP%7QJ45 w"Ɵv҈D bTrl@I\c+Sea!|if7bD4+@4?~4߹ >Sψ x7jT3K sfrs35lΔ^{~jg=,EX$2~㞻:DzeR&0Y~ '"+nߙnE)h_$ά|.I) 2 0Q?Xȫ[qs:Dx/C H,ZNbs9@xc4CDЁ8PUЭrD5̆#+Il`b*wDNav 1Y2UYMs>/ ?~?eӄ3F:v5wQD֨1F|g2,C!"4#P?$.d(.X!0)cl{އ/, ;ܻvc_6;E͡N.sDȅ` U˲j&BElqa<X3T~ EĘ6Kܠ^j\ %7f˦z|N?xeL5J;GDY~Ui:43eHu`@tK^G,}fV];N@c'w& d>8tupǁVM}U9Sij{(<ؤ}f8T̼&A)GW!P/‰fjJlj; -rqsL_W.F$d#QFx $FYׂy11! oH@ALQְ9h(e]-;&=Tr(&T5$\1ӟBӉ#>,,htQKf>N7hW%#95I`9xq5ΧdĜIug=PQ3 *UQ՟NG _}OGwMVy9HT;A>>X@VH7<Φ9b?@%{oTUj>=nO2~Sjآk.hѢ^Ӄ ;1OԆEoٮ"<9\ӐUb6PFl)@&cGp%btQsg_w@'nBW+O(ؑTFd/ ;yP*!#dg]жhvxQb|˥f`;c~pMhyd 婧:.He sm*A3dERE-70 W`M7KDܕX:Nw"96Nk ݛne-9 ;bGߙ_'33d֮Ht*Θ[͆UUuG:Z˯HOobryjh LvE̸)LUQ\$<.+0?.!4mjW pD T8}0SgEVBluE$8Œ ڥ[ %/p|r<ejEL:dfjj^h1fl$"ƃ[=?̬+W147cgT _~@J&hep&*bnCf1q(Y&k=30ZEvJ'-vwTQӟQ#>0L2Y`rtGdܘtxNALj* [u^* ",}B7:S*UQ?H邘e 'z=BA77b]].W#j;hx-hy ,X reX}#_܂>B!,g,lE7Q_.F!-ͅQ$He=`ljW{#P[S|~ KU۠)MhZkB kنYDet`DolB5?789tHg xIؕ sd;SU)Ixd1M=Mij]3cGdfFdpeg)iUԠf7~_כA>-'Ĩ,-y:|į6!N8 '+i A[ͨC0jkG԰l{#, ^h a/&T 5W~ h X|X!;Lʟ <)HC""!-)r|us#+p͌xxMyo2dThr4,U'BN)Tf-'}õ6@ hZ2r2{|Bn7W,@6G{I J7WL(UgK;hQ>oi|Ob0_LU"p|18N #52ZH 39DÍb٣8 r3*jBEr^5YQnhuwa fۥ{,`J_Cޙ\ij(Vn$F>Y*Ģu4b{0 qtcv\DڢՍPPEM%jhg:]jCv bt'kLxԚ?mtД) )8)$VpR$lw^Rb[U&9EUMLa} Hf&8M)L4sKPBynݿ :D+EN}q3P@ SMy}77&x+U$i P պm9bPk=])4eXkg78yvQg= LAXOLEoGY"((lx|E}oH@}TjcBm]4$6 YoIywYѣUaޕR-\Yj N*!^ A 2s\dE,}[|2xL;ÆB􅌦ܧ.){w; >Mmԉp牍i˄,w S ~MeB,U?)U" {@xwRՁ>g,U -!u.#pwF%ǠfM7Cb.oqfxTsq (XoQ7a|OEUUzFx +ph\D*Ȼz>ɐwtoEIIrFL1B!,]4쎍N!- 牌ցmpwtWEeCѴlY |C*H=d5-QVpnqԎgtA0\G6~ FIP_*Ю#l9֤Pf 'J1NT<??&ET#V]{dN*𩿱fLp=,fV(B!]Uvn]¶w]y|ZU0ϻ@QAw1bJHot{oXrPvEpY=wm,հ<ϓY֢,(iGv[uHfߚ7ck=ʲIn"{?c "8'l,j8x=NI b=<>YVGJ'"ݛ:"f@S%b]3e3PXYVYٺZLrVșޤY_y0( >968%c&Ekjq@!@-_}}21j7F%6"H`BAsFsL$*$Y,D$ǟ y0@!IUy]YP(΀3T ;,JHŒQD 栊 C=?{lekR,Xo iR!fH|2iT߯iVk=UUWsIK^vPOUU3ۨ'(lГ u`w e 24$6=D3fKpY0c-l7"w LY7_?"I.*SA ʕ)&zߠC$*ckU<1Dhue 'y0=aW%TuGLm+!8$͙ySr ȳL{"vu-[_{ $Bn`p P`)m?gSJLThrqcA#*LTy2LrP1ޡ3}/mVy|J`Gﯙ%#;UA u>yHYyWc,s-c;9e.ql-Uy`Tt_ơCDe NjwaHj`UsIoeH!"Cojf"=ճw<4hHs WAga Gta׍+g(< 3WU䥈 76HpdD9΄LCK{A+Cxikb>Y42/wC"E _&[|-,`ܿ{d̰.;Lg TAjrUac3v@\D|V5^kJaŧ 8Lx:7Y K oeD~u`q { Jp\'J,kUQc3829fkD*L\')lXU. /Љfԝ{$Q3Ƭ9iĀYAc drl@큌CSN7[ܢpÄ攙e>C]=њ.*7w[bAr7^xQ,_6ޏ9kpθ,i~0"E#A FHuάOBK ? J%A4/:9ٔjA;+n`73Gv]bS~>:8@1EI]UY{G ilt]\bj~Tx$πq$#L krV!*0[Kv$}Wؑhk#w$rZñiZ tvD>b*eA:n(č?ǓI;@2#̾VӸe=?/PRpq$#vuVG7+ dWtij5%rDM,fny:frwf3RHr^EL+8:2[Ĝnx XyRUj zg;2 mto>6C޸~,Ŀߟ>i;T܀Ap);΄FZB 7q^s_fA ޛU*SXWK]eCOt#;2sU]!e~l ONeλq IdUbV 8"PDI֭TSi"c@ՠ ,~qH#^70t4q9*##|w SnESYQ^UZ#A1rUMUh"׳ e?WCCBg}/jIs#bĐdG(UU7C76U'r +0(H!K9ƬODzfR03+2_)LЭ'9It4H+ghk#˓Z4#dB8Yg8c0w6-N%=Cܙ yYbW+wǸG3J@t%x&9.Rfw1 L>g dϛKnD8Ԍkr O e3G(g=X&ߙ?BѧBL0ϪlxwQYĤرc0CKtެ;^4؊=<35[jzU#ӊB# "<ݑpoGP%"qrhL?k9ˢ/zLjvQP E&<)\kqb|0h1w,L8My{&&uˣv ռ@Kh$Y"Yiu**g Ԯv* A*W}c%V%70op*[!\SYSwOߢd=bG SqXwjL^7 (q@3E6wiNhUȤ sp1U7cUy"@{'րIEqY("uҢpa* q=b=eͳaวqƿp 4DuDX C8*j\G/wI!hbf^!LJc恶~ELUup*y'{dbjź8URԌ~')f$ bw}yXԽ~2؊_U>db ˎĄ<%B"ͽ@2RX`X@#n8+{*IaonՁThkpb:rΚU1g$>>?y^%<Jy^XQf.wlנ>lA7@Ibq, qryLY}[ )eV Mky%1xÚVS6")/0au}IiB@M3$"b7{L~3D=,kU h;W9FYS2xdzD"tr}.Sâa3:O`d& Zܘc#d1XȖ/_ӯW/w"?u6"\4 Œt<̊wY]VYnY봨G'KX# ;Q _ZkrM.0pX p$]C: .TLMU`!UƥZLEtw42q @ط 1ܗjY184yȈ]D x#$<υ[ /01Q [9_(Tޙx>&X 3z&H`6h"TCكZis=?P0mć*$"wA™~ CQk@jTYF{Vc7$ޙ{ȠE5Wȋdzy`gfWNWw[P"3W@3VL,^=xAG 0EVP(̄ot6 @ve75@n:A'("#NB;3,EzVf̮ZE%z\0Va.3E[-kDeFlp2Bt_h j}GvwFtxĴB߈PATgFD!/hkG2”]'*Q@`YM"̠PܨUYoTSQ3v`VUefkboDwg@^ 7bBgFE |"SUdTa*;E)3@K,3]'ĭ+#N8uz,Z @,b)D휕>qFD xK32w+.ctQ|EEiиG@768 D7C VwN,\*: *[ (*ȇs f'Юu@gݯᣊ-bWe@PNnIaD] #S3=*hjքq6qhUf|$r8+y1`F̬q3G6V~boJ,D\P{*"FaA{l*OD29 Zo>~ygqATocg3!̠ :izPq|S/ּpbZcj.IY]XfB՟σ_ll)3;"EH*c2 %?ޯ ܍ h)&y4)wVf@'"Tgl|RSۢU{4Dbƍ^ö)[i>_[/H(L]-]e*Rܸ2qF!=IL7pCkL*`xc1owB̳Y- 3:nPZf"9;ީqrNxIZE@r-)"ϳ#PL D)rν"`8Ÿ yMތe.GӧwbzlCUȮgQS(*Jϯ)&rЫ)xW)"DDMH"45X" Ay9t/Z?b&O/5aȌe?iU3-G&a=\Xvvu8т#aCc6a@Mku1@vҌM@\]y2JC?ɓ -t>~D9 u@F J8>\4y°`tLapY 4U3TwYǘOD0Fr%gS(g\$]36 XNs_v`f593MLkyU: 3[3;ċ&'Ml(6'M ޓ1s"ҝEq LXFU̜H:~Val(꽷bmלzRM-<YF(|\ &:E4Qbt31ͳ3]+LO9<(x sϢa2BԈW> EUV+O(II^/xfD)q.2syES`9 6gPHNa㱉sPM"b#QNxKĖEX裦0m'T3uzOJXMU%*8М5֔U (?>c9zQ6vV]}6U5s60DTDTOhTVPVkŜu|9&ƨj%yDwFZ>Fn5e3e7^tyōq樷=,$5v DǷY( y~xpVKba1hF(L1~=,sO@w4?cd$5~:"Yj-4J)H@ނUH|Nd7BbvM|0@0/BDT7MЩ(BT 3T02Z(,[Yur-83g T>GH #-4ئ,yrǾM[Ř'ֺY߱9ED] e͜ R7QtЈŃ,}@>oX|Qx-2RtwSk^`a_yJ5::Xif̑Y4QB _lep0c>8dQ-}HV L LԠ}HOboD:$_< i@$aCq8UjUQK;\c&q&9XFZf`8a"юe7:tqwZx@cy?bfw=A`;TedSNbV30tB Z*q0Tay/Q9Su=Eo&!Bqgp,>Fmp8<Ș;> /O*XRMP@HR]kDgeO"ґ0bB 4pH<֎irâ?Mw96&rUWdyu>7h cBzQO̓wi6z=:vT'2ﰢqd˸c* p%Rfxp2P|.1#ACά'|' =KSZ<fمYbmOǛ3":MxPQ=@%+igdU2F'G <Ȍ ^΢c?UVEeQ.$pY_"$b@q<ϻ7&]Pvq[$dh rtRg u%d͡{Y&}71CGy"1$k6`3u킂0B<&5wUvQSv(+&7 FAZTcfSz52w:-Jr pVXȯ@jkNpE| '*cE{rx"c:jǎifBקϽ/?LkTHv'x*+"d('H`Jb$HFQ-07b!xqPejne媆!?@0O6uEQ;^\n+kRk{j|i zPM`J,;9}B$x2Uİ*vZ];BHv., vygŠ" N!F*Yc@3"rƙt T5,9\HU2= d2/~*Mddܩ?~C./NyAHMY|@|6M+QmN Yl<3n13dv!oҬb?Sv|@7W:H_6 9xq.՛ <(puG!+ ,`xtC t,2k-4EC<3nRS1,{`u\:`7߱Qmظ r5;*t+4 GD}?J'JrE #CTV7O]ϓRxHhFZ*U|T%@ћ%"!T%4րBZH +n;x17/$=,Tpc/==G"'ΈdwܠNƚn\T!S"BdLfaUZM=\ĔYĘ&mjBu=Paܣ _+{%լy v&ۊUB!C4,̼3mR+oyëB=Q!Jx꙱wwL2g~4L"xS 6> DfFn+:He-<ڗ@Y1c7 HZClSTO0sUaܣ' fQ94>*jj` ? pwo94yP1ֲ"6E6);TD#B`envI*wjfOo~k51$XY*ٱ;yT~Qo Ԟ8nxҦ``\E:AӵF!*d   r@rY⛃\EY_Aks}:͍wu:HCB%UQά w7S;?Ӆ9Du),JfvGnc[7; Uw9s trM1/5ȠlwUL 7wdX8 $i/O6֨kmtTރMY"Hkm- 븡Y{GϘ7". s*рT!ԥ=='860x7 6V  4ŞР@Td(R2`<E5 9T/Pv;Od}.Yo?H,,J+W}= :t,h!A{"C\=l\ <{O 2n]adCL %̞_O rg_`y;D[*(A B >8 @Eqb> ٢3C AAeWAO=l_T*u"U9b./n5Vw̶qipFϋ"p^1o9y+9""QÂ'l%L&6"|fّM e[EPソ-ʖ %h z#-z_σآbf\ӲB0=e)Zc-p3:H 4G;I:N`F$13wش ,3>SP:j rGBĢBl&0}:Ot}"|i œ*@JjZ Vm-pƎoPZYF]BʎvR5K*!H>N0d B(x"Bq~H_XfkC0uiL,ՈpDg|-UU.V\+"k'<8D~%^n!L(En6\,=`.(j썐,Nrgja=[ x?>L >3'@qg'Z'*7IUjԀjڶ0|nΥw#SR=ϟL O' vYsOxsS }_PBЈ`QgTV;#d` *`DZ43“l-bf"ձy>cr E$[:Sc7~oOr֦)dGPbC_U[F=fw@:†6N<>VEf>o_HG7Wݹg2&D'߸gWU'Uݶ'B[LoV FTeJj7Jn{57(r"ڶpat +j2YeVF 2y{5J*[i[+Fr`  :l%*Yk sT`$.kXZM a^JEmi ֵ6zk  &FbJqk 9>99'уs kqRPIGݧ*zJ`B}4 dU^3^x"z>d䪊RTxtE:Kfc4:-ayJLnPDbIkw3U&y^԰cU/b:ENx[m"BN!1p!`ztc{9$YBK...0Qֱ8c[cXƨ<}_,Pqݵ# G&9_ʂPK+p[\$!J0S_gZ$Q} >t@ٍ>ۂ*,uď5^ֳ=pH4AyU \Fb)ǩ4>z"c%&&]D$z7j~.2 ) ֺg?ve=ev+*Zugfxbٖ Ak)2H%geX⺻ 6  s y1OhX=˛:rH霳mSuz{l L+"ODE8?\" Ƒp:"^ ݎs{U#3@O6t `ñ mna܉-|>~v/QUu3J0xS oZzM(7.c + &$9 p2k.nCRܗ&{oWVfz<+6 XPoYUsb+opt.YGsOE?rE{ssG쵣"|xff_/$*3cHSN̺ SVw~#|ݽn#3tijfa@C65?bUx@!~✈çݦ"lfyb{˄9s:mN踟mRЊ uS^9nbc|`˺K`p"/>( rGDnjV 1 o2f%TYkY_M`jE=tȘA:@Uۖ~"P^x- {AO<='*QTH)JBvEU_5u nZ;rM00Rol@< j=ٱúƼm~_a*?Y,La,fR#kri1Y$ >#txL'="ndi% )It*zslG0vsە~pVKQcmUNg91X~=w;ew+L~$^2?n41Zg҈6TAL_-AHPefL=D]su2#Bݰ^O >FW/C7|.gb\=U e)}-@P6cg^LmRm("?-F,VVaәL?sA†k0I2fyj,@}뾞I0 ˥I[~`?Q)>1 r;*[<[EʲFQB 1m[ ddJw~T#-;_U/NEMxm 3vU]r2ᎈjf&F@NJ1m rlEfTef@Q[Ag6T]HeyءH @afN 2 F~UာE~v̰ J!FD"nǏ{$1."!j(@1w4$U4SAӕQEuO` "mg}2stF*jp["T;|")p|!*DDDTe ׽6v$DEXe)613_wu,`dE`6@zØ53:a|cwH&]j&qŴAO(.`F4 bŠ2MaIBMk{)\x6Du{Eۅ@&  &xk 4"]+Σ--M&z8.{޴, K'?#jNp1?-"䁼~>2BD8x:;a":VY |2F9/B L!kȈ22Px~-`$ DmJX@ @wqGqO*`ȥ#bƺ8#@3y3]i,Fyg8t73&icġZŀ ҍ ^hŕce{fVRt8X_1s=y>QZwKpݸKmZfǝ0d#3)w TldO*[cBPv =uĠߴ >mس6!N vZ?.*?^VhDI:ĀHZr{ebo7MWg n#^[:%L|D>o,lfk*MK0P6F,mzE*0\TB c0|l4K\ `#Uko͓t-nkl\ ޶d,Ut/U3۳" %帄Ρ"(jNJe>PXB Ÿ WZ€b&Ľ'qnI9 u$*k-<(1<`jыgcT͎{Dsf 1H[Ml}ϋ3Л+8 ,2_""n`+s-Dgfy0CK$ ZFVewb^a f=q!)4ENfc>KHH\Nϴf䧙 ߶̕i /C@k**;Ô)ZH8,/fBD jvVU`QJ!BL H\.Le1FhP?ĴsӰYI߷H}=U!gdw3}߯;<4u>q4mxGo$Crzo:0~ X/dJFj0hO&j(=M 31$kvCW?$ :ȟŐlB:GY2𪶞4pO71!:yG09 0Qe89@$Q9P0x2̿j2Z!*ΥRjk]UQ S2&P7v Uy~ˣp5)ʶVdF81/āAn|FB=PM-:NCr<UQT$ײջ~1/B!XhNxD(3 ^ &F&1wԗye -f~3Odw2#a2ChP8` eeP6cU*fJ.X:68!&,XV0Cmmܩl9YD.jaVOA #4 1Y'")ۿ]OH~Hu&@ʄW>5#s`53`=ȫ)o r'upkA{iSTO8P@-I{'hz]j*zl쇛[R#6W$!MlKa3ala I``6D ]8=f"Ϣ$=DLH$GX#M܃UAk7[~J(ȅ`|9Og2B4m𘇘m){<2QSSCQ+#dm=NX?<.򟦨 _9 7dƃ,SP﩮liav%~(3Dr@|ad:z$N_UBS$L !^9&kצC,P=t-U ohY^MՃf@:Wx4jؐ WysBY>&D@#,]8 a y [TDRDt GvYgDx`٧fysf0ZY0_D#/@A6#\HyYLUu IG^m8Œ޷&Y=z:mM(HǺqx0O}&RS|: 4@$=3Q:g0jKޙ![f^;0AAw긐hQ=lP8iAPCޯT]6#~S esE!I,</:lmhҢ0-"`\V>R|fk~ CLV>`/*;.Ei003&2eVn8! K{/ܬJZ%C(R"gf}9CLQtEPI}r`L,=rMn٥Aib{mg(}58.4k-g}°teE(Dk:j#"8ƛE+I"e6/⭶Mbkt IEYT+L`$ \ۖ"o]=PQ p輇K AbU~^Mq ʈNZ< -Ff((l~o%DOodـjf 8pT=w)t s&t=t$,(#bχMB"a%IdJ.B萄P{F\#9! K9(!Txd~VڂF tf6R褃HpC| @nz~p8{mDC},. K 7A ѤTYmB96;"p~4+,vS~,#NZ"2 .' XMu=ZDaCo6Lp`IAKoݻ&C  jbfzDvR"d R=^[Epg!ɣwlxBC4X4H&RU̫o0BdZkDZ R_* &#7ƸłAe{Y;A-D7e$8^ȋ&|Hz/}q3)'E Il5K#DD'Gw" A?D '< z7'Cl}FqoU #Tu31!`^ ?>dX e V504Dֳd1׳#JՄҥ~tŔV oZ זjE_ )~>bU~d U^UD[EI@{rv$a@{{| Fo܃oMۮp{6r<^qIy``(T>]@9R%_G;#7/w?I?094^oU` 4X ;o6`sv+ ]T9bJ K(SE&x޽xxQSa͜6+mHUߝp"`Fe>*A2jCkcbчH  TQÊKUx jhL( n9_M%eA;$)P6K'z/nf'7BRHV,ժBg3PxĬa,"kaNgop%~<1p0ׯqBz} xo/;FNN.0'I}?H,j(扫n޸0ڋQ3hT$uP*u Qx& T*'xlDyCT X(D6X1q9JzQfEb"@@_Hhch`@֞FtIN{@E}W켪N f'Cg ZƬyG]pѢ;ۊO ˫78Ѝx8zdTcCؒVEuj0ddHa)骜R=7.;h .[53 UGfFR*L޴Ý /9[Y!*؉qn ef|`0PNT*]#Q#!*d"}6]Y%T<xa͆u΁l΄b< tM'?`anv |S{؃rq>BSM{t'D Iqd7?(P`JFTCU8ƑtP-E•iF]H؈c3dSmiM Y"j`a]=,^C#DI!Ktjv6:~9yj߫&Mk G2|ߖOS[wSw? o[-(&%D8xu~dTxTZIa𶆻(U:0EW-'sCD:b2'@qv=BP -fi!ZE~U,ґk`o`!x={SdG=3Vd. Bo@9PX) OE3.EuXV"G H[W*,[n1EP7B&6ya$\3!?b|8X+db,BA53i zzg;ޑ NR2@Q4vx4oZ\@ǂh˙U56tfi0x*hjyo9UUCyړvB&ji'T|8IB'xX94ZT-vZ 0Bb|P4dDYxEYYPQ/u]Xs-MqwdM ND'QԔKfUWa _B~q̼gKჾ#a.pTAZ~E#M8fN%e,aF LRX""~[# ZIr鰥zRm G܊U={ kf'/%2 "ZPf|Vr mA&x>$kZQ=LǻICPRϲ<#Od*-JN -Sjpe+rA@v" Q_W3{"3{O_tEԮAeR]W^ K턋(:Ip zR7ur{yk ؽlwǙyg*HF6pXbPT֯/Cz-;Z+lbz^b'ypcr6ڡnq'= qx`s' CecCB*\Uj"(bz ~gkL9ҊqoBH{Z~>)+fU&3-"wő?몽4JtlmoL*TL,U9@bn:j]kg|_/I`$/ZP;~b{U&VCXg񽦥5C@;Y(Gdcۜ q7"ij7d${D :Bb,2 oٲ%UAx1FP*3S[Y? ̵ݿR_hY<-I D]B:^j@[+)DeYk 觘[=6Q41dq#m?mгT%- Г HL´2Q!{m?`y=؛%]het]'Na-yd{G:*F! zJz&kQm.de";XŬU3* '7eU$06,EED86T>v@G%MTh7@17ɹ`ކXcPDxDb:H02MY:nf !X'E *z(Cu"kbUe+k$w#92V ,*<+ \53tHќ k5Qukn4#A}#̞.bEZwge>k6̶bH=~ѵܕ*9 a*z6ĨIpIbebX<Űդh,՘V<߼Sh`Z64$Dgf$aFC ֜v@7E=.VJ& Q =b!D`c"ŬCBU7U ]0BMW@j  z/43WO:1,l(p;w\kTa1ǍUUel5Iz$*KI [WKŖwZpzY8"lKAARxպpһ)EAT)geرlGP(`({OwƨC$!#ݬL[WߺU<"00*zܣdB)7R9hM =E1O%j%QFsy(ic'}  GQE~y0 d`$yyY~7NڋXل+ g;-o)Bb檽V< (>X4&t_;uhDjXTͺ^Z0:0 jTT22܋Y[IDYZX8n:9HWœ?a'1c`D2ΎSDn+RBVڧcJ@ӓ =ױc :&.pw"STH6>cRC{|QnNGZGtMTK`h~hexNTcEPf18Rs@5tPt^Y_''HO4iqR ݭ? ވVfe:6^4;8STmhϿđ㜳ʁfcQ.zch AQ2KzLZfЧdyO+JIRUcBSr9x pe9٫3,.H2y8t\,P!*(t00V'DS<C3F~QV.SζoZf&A-"~DANRyX7mQMq};D tyq5ߵ"OL+}fT{mei1%G8 MxI1Ф gzѢ!UU)߳) _Uⷂ;0q>φgT?%i(vBH$To&ZoUu0dmkU:'GŽS*E UB +~|/cfe__B.=g",K?kǰW,m+sRaY뒤X(&w_Yvk g ,gZtBWDzǏ D<]f{ң*#e̲#fNu0Ƙ4?/6ߘ38ם*;?# U?,\gmFqGAɐL!BsDU}' ?,Fe*!Awf`.S.sT,X'\~'*ANs 2e NNZ$.!Qԉ#"~'vtnqC8R%Vc'Aj=Q"t >+rۆ"ղU(ϸH3{0y3UQ%pmXn-[TtΉʉbFs8,\ tT r&3 ufiRزF'NV8X^+z5 wB#G{"׽&Y%3.ǽ?[@s ,@IZB ~}Q/ؚ8w?Dt@DT?>MQDY?C]$Ҝ.LvZn &mȟÄdGb?(L!^2K?ZSSN=p!upz%y!!@DXa{-;S6o>車 "{Cc r5샀Q6γ>Y`D+&Psds ì@œ#8[{-2 vDPs2*U;qX&&n MVɟr윺tt* WUpI=^\' ћ>&׾#eWA_d&H/fP7!m4#(<˛*Sk-Us^3BCDq)v>¼ J.&V[zfdl8fYw҉%#ocuvF^ L- E^`LPuՈ"b]7 .mLdv-#ul72F|mO2cYI*<,]hm[D4Z{D:ޟIfM h2W |7JsBL8z0D 3$%|glþO`I7Ue ,Te~x[Dlmn“1Sz@B 9qjLjAdz0Z7jOrxz/<MEV7q&9B妛54)EB*X (! ޙ+ї^EEf:PkfQm[)*}Ql OyxQB@!g TiF]?u`Be~gi23. |0QPw$%NzP;!Z1>&gTw`VDm3U=x7(9:ql-8&8cHT5]+,>JX5 j1=~J9{~rasDkmf  1ĞM=ļh^UG}B($_t'`f$שA(d=g pNTeVQH囍ѣ(([e.,Hwː|bp!a-^b߽KKO ?'M"X ѻ`k8'̵"-~ο67{ϋU%\(JfTO+A=$TP̶9ÿhg35y )p#熰A1Q9gUy"|O&hx@ /(dmnTщ ǝ15bU2 ώlW BօV2+׳^œ H%eLI*rg;B1'q/2  B؂ {0o6х_Mx"&jJ#`7Xs(;͔WMAv RY\̄$zkۍZa>4ݺ>{y=(AN(1#=*zO#\@1v"*)?3m1{UkO㴔ԈTt‹ G.ۥJ եzl%> ҭ*hp|>0O0}Lp0Ɏf2'<ŦI?E?* U]nuSEF,_S8{_?!D[`oJڎ{doTKw0$ !r$=6Z?pS;,"s92{2*ŭAc@Lo["OAh\"'-V"QL;9 7~Ϸ]!*@=}Vu""(y5l2ES͘BA(OœxF<I̮z2}#9OG\XD{moPLt\g~,9WbYm& cǬxւjeKU2 췎3Ť1 0@{}.zk1`f`G6[ZkVPB^hc v22MM0UQ-,HX?w ]l~3f&4kMM1EϳY C$VĀYjY܋p|7 n3)WtlL۬\vWʸf "Ltc,1fugg33BBRLYIp&S ÏIUXy82Q̰*,# s[;#{22*_ G5xamĚL@ԫ-d"4qk.evD2 -X;VVR%TjZ䨪 ~pgpk"fþD#Ik7=I䯿*ǦLƘհ.;_iiff!Vz☪F\$"#eY@eIK'8P@ f~UPc{-P|k~PJ"M'0B@|/}sgf `6:I? sZINz{6N-U~4 VG>0Hk-[j֨);7bP"عp]{g;0;-ɃBkcEݧ!O(So֝_|ׁ–[誡k#`҆ndW5TUhT# wE4Ã+[ x]KND!k(A)4z,y3Z6<1OeMDRs0%E`iU^Q;mjBuO Cv8Gy+ )1h}*H+`BDk߯P|+&mn-"geehPah6tJ vXoд`GXbz BXdI׳a&?*G"y(Ni V`0xqG8M 4ߖ E6wrBZяOcRnqUڛJ#"2};Mpp&z#}fvF,v*]ʈd{ކ-DD{.¤FOzWDL{^ˣb`V=s-ONUd Zݐ[Yvx@ܨ \,C 辆^mzTA<Ƌ3:m U Z=d>}"lY E Uz 5~G,.-rA2t N-߷" Q=uY?̓㫋0f u4tP`R%8GAgYs4q"u]:,d&"/t0yǝx)!"iyq.3z`؂,gT ByE Q.z#U(BU@73[+ q#x|C,T ^XxX@\d3$mtŅ7ɺ]1y<;1G{+n$GUZ j5jm'# m~i7syPoKnxp1fb4~L#&Q>%3hrf(bIF/"ңc&%6.;Um8x mat_J b"*tk}ge~,q')kYzgk8`A` K]y̲u~U+C-m}Z3CWmr1ZOt੝2ݝau4\,2&w@%ȶ[/~,+쏢&Daw?R` a7|/;2R3UkBtɡEfar4Z0&d=%r寙(nL \{as}So_) ~w34RKaH۳͚7k3'KQid48(wfjid14'tm8 4ʷ{KT[li"*=Xn^>WN\ߖ}hV~0F q|&*z\(btiQTXZ}ٮAf9 @bQVhzhv DÒ !PvC Hς/Ϩ|bx#4xʃ4s?TR+OOR5p.PVqDMm}QBNGkL43FCKtz[Dd*e*5<) kTqK{!eb#e3dy+\w90Eg{d5 jZ2;49#環xz)abH;R$ 8و48 j3.%s;`s-akx{Ns(55@[tԞ?稼pEt 9/J9R<Keն 4}tOnfo-(2sI/MC!EU`| &?ddh2$%Q6t?[eGD[Ij/@`愼O '2;mjY@MmGway3tG,A25 RE\1%"S/dEx8"R'n^&.SfyL.Wd# Ý1[eU6zxe +7Deq0`σ<1[ VVaNQLAtyv=\D9Z-3FQ2ypt3"jmTUʊV<m"f qS!>>ˉa+%'ip\dV2cA/,º}_Vm7DTbz%~s^z{ 0MCFt,*}%*σf̞DGB}߁䬗k-񛚊}_Zf&te=Gm |T&!EYKH:G$ևTit8( ;UsDK Ƙ6tY q TcZ@m"luieu3S|t 4J*<ƭL^=eEEu}_V}>2swdLu"JC6Y1 ۲ʊbkJTDP@YkP$khD3(Fpx3sko8N֯#탉9(mMQfR/P/yc=@L]{8T=n%WUHQ !1# \-fjkU7/"F7Gl'Xwb[+GAX,an"^kmjo 1т#B/6}?FYuCSE&h<~ׯ\Y#˛C hTK$NYs`60Cց 4`O$[,F^leBvf'Ѿuwį}b`uCxl6F'OU`git g'n,[{*u"V ࣀ#Mn T9?̛eȭc,:} ^{A@YY4`?ަjVȤ^k].#^2!qHqǏ9: !*/2s4{m̻8*B#XʲB@1*)5,n[3".DҕК5QǸ y#(cI+ʻlHW-2:ШR+kE{ɲE\^tnmJ)Lوxr-3csz薨‹!@eLkBpP0:*TQ^?zqǒ?QvU8/ |@YvBe~JwaAZm<Kap7lASYULhWqͿpj+n >e4V}fCpLQl<:r>zi%ڶ\b*Vڸ43*f9)m<_DKb̈4Ӷsf?V[ˆy$.rý.1V!HHQ\pr$zOa).x0U˂EM-XԮE*7b7b.E2~ tup@A&ڌA:RD:1 v)_qL# X̵7(hOV8㸠h[E,-:l Җ6hh<@|ND5zN<Ʃ)3s" :g& Kt'3Mv2m 0 N4Oc8B{JkaD:~lmN.iei)&JEdy7j>*:᫡ ޻&[%O1U 0xUƩ\xZTOɞ6Q¸p _@\?4Hr{P(F*ȜAHLp[dFt$Ʋ6ju޷Ɖ1+Up"Dڲ1-&fDCpc`$z,|?knU^ϡlQ#ɘ O>ɂHu{>V+Сq׸=k"#kNiqP_=e5*/^v=uuf¯eI* ~}|^<YZ/VcMsg`ns2:1I!)[ '侸1#{@+x)^ge%ABe-%qvFFׄD ^6 uVkpy<=Ig+ "z<8ǥm!TdRmy*x`1 E52m/y(F~5D/̌a pOg,誷՛-a %>L;LA8#YD#:}`'5gωZ* ("H|3T|.}Ew_v!8]5a: {.aat:K Mj rKX~V*P acW̽v3YpPw=YdzB(/.$Dr2{pE|5 -xYL|5Ś-3[<*2L> y*_`hp6qGRӫ2ejDE&UU@Y}6]:fԏ`nU! kntNI'(01EKُf!LkYC`XdD:zÆQ_sl-P)( @dlj}CW!$ۂA1VdY}YFd#g!jV3YT3x0uD'1˪H_Ul|~}^l&XCzl)-GUZ[p&}JL(bǫ Sп^D*QTz:Z3Set>hFaf~_+|TtH2ԞgWy&424[M[_<5L'`+ bLA ,aUuWA `.&o0Ӷ&ƹP,[{~Vzw<ͱs!'ackbK W5bU̔E~=pFh|em^D5-Y͸Ϣ1Ѥz8$Lrq~oV5#3#@#bZ{ݴ+U1 E3{ϻ2SE5 j8;Rw` +T{L|neb}A̵zXmX JTǚX7⠣C@e\x"3VPU5QL4!QK NnRkgE'f7F&L*T>&œ2Nʼpu-؆Po$g׾l` %B_I45CY!g/Ԓ]s'l;+QyϩF(B5MmF&kIVQ( ]3-#Guwfׯ(&:H|vP#֨װ L5z'z!󛮎o{.[pUk#y;||zͦˌьHWt Q&,[-ݝ< Վ U :)>vwQE*4UY f5%U{m:gymUTIdZͬ'wg@g CD#R c7*IܹӌgS'|\EG"BE-9Jf'5#⽟i.~LVd꜐N\I([b*嚸x)=EkR,O 4VTu~'tp"9Q[܇5Jmq6Ǚ<}ܷBؑS]n{.UCgf5QAr5N?%Ciٱb*M4!Lr`[ۿ܇>ʽsYbS~p"Z(|[pf~)e< < ْ;6m; 7mڑ,@t59!ELƊ_DGhBV$(@̛[~\8&:gVaګ'!q_ ,:;YE|2>Ģ=c6uoMzHGvA\E/Ğq0P +ݓ:"T ɽPu`S-*{+HlQM<wV=(Dxd4q煙L7X7*US$-'JKHѲQz3ZDdω}Uu=*1HD/oΰ*-}_HYֲ eb䬁 }1&"GvIQPTLd$RJ$j% 7&ڠӶm_51eTw(43>W`HpwRk$0gL cHp@0jlboL$#3*A/{s<[8ӈ֦\ct1\y,+#ZaL`-]oR)vM4o&?Iw gP&Q/b-85 |9Mo}پ |`F]D%8! z(՝L% A(fDus"OPQE`zA{"!_Bup 0w ?w0 //{l(n-Y#kn0t@ ߰ʢz>H*b8ƴ'؊rpf27ʹt+H|H`O%Yiffspr#n)̷eȱYkA֌c k穬vFZm@B<ݸL80Kൖ0?=Zc2S.zP^ $AKUI &:ܓ 0YAѥ00LT b/Al[*DeE8l4hrsB fU=!AGx qwhej 3NeܽFܙqзrJNVw7j$}_6#lK<;V3X2[Rk|FbMnF9M4,qۻsW>7H֢FE2#)AӃ=ྐྵ) ;U}Zwf[O*RT>l+`^N#>?&/2 P(Ĉ\;&QhN'>Xl +=c~ ^acHC1tH]tBqk^aSVFu6r-b^9<>A m_SY$xg`7@}/AǓGwjExIv0e&ݳ-[ڣjNϝ$u,Rf RJW amDasdA'\'"P `:RGDcdYDo  nnP:L[q ?x䎟gH29S#iwET8l;2π㰑?Xʈ 6h 3gfCq"G7| tF5v35KL@'g?m`'! EY%®$zSӂ ȿ!$v ^!byTpw9zhT*̄3;f)M|F!Nn`뎑fgNPfK{ܛګ QGTX4*"ሉ,5+Ls84#8߻?G]k2 . iOb{PԼ^ )@.w_YT{^f~c{*]fa`\q}C n',:tP;^#2LbEuHT"TFSL"S&*#(yR7"op [ 6񗐁0wA~K3aqaxgn,^,eV1[ ~f{qB>j[ETҦ%xsDQ4[l*c͓}Ckg谠k tRԄn!>`"%=DFX͍G%?kYgKӈ<L_ apxxzyf{Mo4Dh}lJaCk) R:7hxx9PϘ)+f|hEO)|ݘe_ 9^n@SpC(*1&L0vyS^lc7X{в< & ?{O,(i-3[%*#Q]pĈ u[E ]RSSzP s*%5%Dm84y23dm"j0 5&i$&?d' &U0 ݢ2u-,- TSDe0 ֑pp X@-x?!q,ʚs]X2HIH]5kÐVIPK{3 {o~miz2ߠoP߸ULoP(ӫ<-]K R@{28Z-3OdK,^)3]f?qTa08-CjRQ%04a0VG}-h$H~}O +aZk-Qf !z1؛=a ߠ֛33n8:!J{f3`›(#otxꤼhMYĢ:֑6Ю -k3}AV[Y8d昫nH:QF#e2MjdF.#gA}תs8 ?=9ka S{wHjX L).Ss 8R9}F?Z4a@ ,NG՚++Z砒 F(>lXd`[rq3HO4Ln(Ձ֝z}wP}DSfZZSL={ MBD7caJeM-dIFUL7;U?{2@|!#"w>5\8b#LUXXWkFLb;@σ1 nr% ??2dh !hĸkN^U_x*aXvvay!DDClnDJispͪg"(h!bKaWzA.J!v/Jt%t{p /0YOR)q=<A6|PB;q8iR w'sD%D 2kטÑ;Li"Yzd+ mh$%z ;ܯ S"nJI\[ka!'/mwk5漽wT"x~l3Ȣ0}yܕ9w<}a.qKX\iĭ"_QJn:`J9JH2s34yjh|BnTcG9D %*(aDތP֟jW(#c\5} pSrGwJdp\sB@@HwvSL\{~X Idb8 Vz粪^`T% ,9F]I9*|kOr|QwRUDuO$ -9%=WU ugc'UV^Rj/'4(w l`o:P? sCfl6UÖ?!YnU7tWf?c0cMەWoF!uqD x&di!kF"L+R U1g 9qCȹY Cߐ_ʥU ߁K~"j*Wu!`HvU.wWDgtP\ 4,Jq= 1RC&Zc+kj0/" 9s_j/=_ݫ % ܁vѬZ4H LmܲI#`/)o+($tidℤi&1v,GȠ!Uxnϋr9s)Ys9ХDAC z XzU*#hުjc0\dh5"M! ĥL0^vO [,a)Z]&|Jdof&oKkv@}EԝZYu i}+ڴ &" ld.]L3!"Ηz+nCM2N\@V\ec2-q&$ 6dľqC%5[X%>Qi-=E' ,1_vĄq#c!"^ЋZmn̦smZ4SP:s9! Y+ uDnAggo]N,7Y͢OHUK$PrQ)? 6-^uu0rsY8g_"/W@=>r>{}3r{NHSY"߂0D)" ̡-<4zW {Ȏ|/UQ& an{wپ3bkf?m<σ3ӝw)RnqBEyX;&:P[$#e{6 )+0N =Kan'J|O6IG+9A򌊨O{#DD}`ԞK1"X1DGnV`FO(h>ٰqkDǀ$AUfNԕH.&N@]RU`N|,jպI c!M{Np=`@%Ezy\6p_s܉D$C(0A>ͷ^eޔ Fᝃq2}XaJf?j,zhKQR.yz4;n '3l@ &ѼDrHc#΢-W5^YØX2)5Bp{(NE{AQ ;6&hQ^Z@Ɵ>\<,%eCw,}U3 ,LsO3cU;N1ީ9g*mͽw0x zF"O̬*[ODʣ|7 0&OLl~~8kYϳHS+3ΉbQ!5Kކ;:j WV%Vx~PFBbO")̵*-5TZ~O&蕱dV&LL?Gw@0:}%ғn)rf0~mZP']cf$Hl_ â G #ʣIXIr\ j(12=QU4`Mf@+)4I|KjǹN$E_:]( wtY1!ո>4y$<*j,la{aNVaӮW֘ե13sǂM%SO]M]1pF~!;-g"RG赴B3;!rqA42wW~xjzRB==NdydzA(&TxȎy=|y8q5fCyZєD(Q"9'O&|1MGIDa?LUWYӰsh0M<-"BPVe,7CHf>Q{˸=p1eUVxך*Yriy ,!(0[Ae)qK 64ͽlh s✸*b&p7 CDD`9fi1D:7b rR`QJn0Q߳M/a|ɘ>x4E WJcw *95jcP.䢄qe=њsDZ5W ;ŪzC9XK(`owb(Æ<\fL# ji, IH/īlZd̛ {JjWÌj mڻߛӥAL@b ^Ņ `T ͘qf S3Ơ)=xƂ>.D//vjGSA-`PbE uQ1B+3'9=0h6Z#B?#bqU@ef1EC}:/'(SK©٪vhY.?>;PUDb-uu"7yב2,1p{Y9jD"Be'WT2oq醪%4c̱>hg_p5MLigڹwNhғ;5[Uv~Q9~_+{g oBd O*G. Jxơoz& ! sΊr."zJ);Qe7 ?\Q8rD毐&{in0?Dzbpn!BC1Q6_/KT F lNU~ÔbW*STy"2 (ȍ@r~M$]I=i[8Nze,׺2L*ߪXpa:q>j'Վy#'R77cX^wM?y^\{n]QbfsMx?)ܘs)?8XܛO}Ut:JOnv@=hqju J{Q:E'w#ѰØTK>eϫ1*"~UA$-82 Ƴ̅%wWs 5)s8w_r E~z7 *o3XuSR?jQ3L΁G0"H*AlȆ@g5!Spj]!4jk\r宯mF y'z~FiIásTs+.[Vu4&c̊ &an^{Df+wh}qZ; w%7\6=/'!H,W_ëDjbMr2111 iȠr7 Ni`>NZV>@uU<Ϛs4b,R̜VDXp.rNq2rxqZ6*l>=΁'3AHYFkMc-d3αȹD$aTt*(%^$yv2|BʑQj-_J_*R} 5j8`Yhtl%2J><37H5zrl 116֙8ӧKARӵ>sL q[7 }ؚ&Zb?;4b$R9 ]Ί8U@@F\*u} k=p `Ö9N$ktq|-hҞ_Qc -Α7RA7_XnuR) )]5lܟjq5=>מ}eݿ&bE] e^K,G Iw}jvɘe>wS<HTp(DvxYc)&=(k#@q <ȃJv'"b68瘀S7a>/Ms.fbu:*n*@zGz@鍞i=wu΁yNڋCKV#-@ukrgjhUv'Q淳:~֊"%~q {``&0i3")*p:`1~~RH?7QuǛRY'L3]'vQnF d썐"Ʉ?՛ f>Тc,nȂyҲ$)w}VgVI^)zDudy>Zb?G,KB3e ONlUYcɡ٭1R} ۀ*8??Av`fj6*soV9:4@=7Nm=>;"PX!BYyW!u(k rFd)@ֹ~ [$/OZ=_^=C"8}bTKı:,% P W.[te>5{2giv/obz/|\lEF\iP@̳_1Z>T$&-6'n@|fdRe :S=_n[A¯W\1LE:\(rl]l"vXL-|(7+m H!A!՞ PK&_؅ϟ+Ot) ͝ە]8Lf8k-U;zxܔδs\!t%5wiGJZjwnpL!LI%o0opPL n>EY;1X^P%P~> )dq3L%(Ic$I/q}kfs}\)}Ool3#OݷUP9q:3jɵ 4i3֜=MA!TR<wX>'5[:%JqMJv\z@HK~28!l)rUn<#X=^3}ߤ: GM>NEQYD O ;}5{_5]_\01W4h cήэDhx(}I%9pR,5} 7`O_Dz皟 Pls6jcYXs1xU^h A/HbЖ+p1o>Z+ A#J5V^\-ayy{+XG2\=K4 /E0|8B1"cGp s$>hP'_{ڲXvruc,ޱPJ?gHP{8'/&.!;O^R2@|PXsR^IN:_B0Fpq2YOT8I9M G0AϢ ֘߶){ 17e7\e6bnf\:sZ ő. KD(^s1t2xFxÕ2% Q|rofDA fn V7YU^ŭcC6r|J=Hhz &,W/9iWWrm?s q¼$py6c@y$:灾;Ruڶ:CՃʅ)-mT34!Zri' 2N@ذiVdTy7;h^@&ؘc$y jDt2)`n>8W{ cJ` RsMNnz5tW,"BPk)ӈZX2|Dq5}8,֨>kϢYzo OU~ 0t,XP0R4Qy Jr/Q#֡*sz_[w /.U}"`5iq0U@q0(N)*1~&·O[<L KkE5)+'b}bWA9t5F)@71Ze>3t ~޿PͱhS'mUR uj,<E΁yoP )cUH8I<'H}ERb`N42T*[xdrt 1Hj.YH=}E|nB1N@1mSR>'ny>sΒ(qv!Hcd83u%nAwMA!3:juv5M[DZ tlgǠf|otۂ>X" rpVa U H[aދp6+)3G$dgLDp_7jJ;5pgџ" 9E?xs-A_g$Ɠ\$C}%0 .!d.ޫUfaTbQf6 L;G yƜP' Ɗ#1Sƛs#NRycğwyƟܯ/Cܡ#^9'6ѶH 1vYvMȞ zoz:Ǹ R:1򤻃Y@7[c;ͩDn{ AbyC+ )5sIIm児87ġ*c#%w-d 1sAv͛.G[jf@?7(z;9ʃYZ_!=b!jq +j1PF *n/_uұ|0x 99׿PRV j& F](0KJdXd p!3>Tͪ c隶wݣ27vAκꟿ<3SU ͫ<3}D9ڦ#WpLq Y. +\T9禀2cRMRi;VU}>ows~;ɰL SWa^Zj7 1.s^hdmO0  R6Pd]qԢ 4|}aLhxr} g*hvj-zE J'Zϳ>2ܹ7Y+KKѸ{'E{ 0-dT.ʥw~k 6J`*ى| 'B5}yO~W6fV8q+kJIB`c+✉~Li;oخ"Nޘ.wP2;!2ȃI fϫ!\A{ 6$ə[PpӤ"d.ͨʪ9A }m478X8T)'LnboQ %}!F{4{jb*'"ڋAAo+S)ũ{L=1zٗǴoܦi1SZ״ TyM Xs"XDG5K2'UdeYU% 2ƙt[5*A>Tu1Q:s"^y?σzȈIhIvҭ1#%X+aJB2c| 9z D|ն7YTΡ~s+GR!WZlۨ>\?םPvga(3]w0`qƒSIo0\Ҟl˹>B0QhYJ=ٓ1Ī8|N 0]9îqaQL>I=.Á:L H=Pm{_g"YBoFD:YY1?ݓYCJJ ]gDm#Rn FiØkdYs}LjhJkU L}>C}CDm*;N2^[|Oȹd}N17N>/X*'{nPIT=Bq6ҙb@!H,y,R}'~n.?[6C4CHemM vnARdZ~UTIs\0Rݘ=@S;fOK*a"GIyơgQmփ}YY~wFp#|z!OYP z8 zʼn7 '\đf5#Z?㴽&İS愌01"@7|JRس<?w|,*EVo|"vlX)Y Jb5 X7ʞH5?DPR5׻s1z]su AñXZ3M֧ ss9L#/37 {z5{˹q!ompl%D\ߠ*#Ņ%$(w2+bG+ +3߳,Fe»UChLB:cN{de@bA F`bHsF1wII|# H`9)~pjMe0xLw__?N|9x)  UjO []lj1{9U^Ĩ'aG D dU SW>Ѝ_[ }C)5Р B!.@Y)LQtָuqOCEf\1FA]75ϵXDC  >ZG򞭝(ݳR -p!1خPTMjp }_5\UŌ6*u#ɽSlz\< ~t"""\sg $ wd3ޗ7OUۇChlC~A?YL3z#kqw%DcZ \Yfma*qX(Lc 72%qps7"9@?~)t%@6] @+ss*b+ZRIUH昃?k}pWǡ̔Xڢq7z f/H&SJON۝{/k6.n;1+@69&H8Ž@H⃪Ɉ'[slBJR|׿W%G|HVj`UD| ;o,"QaVT$BU5OA`̫Dʷ{0U}"nCT̚Ҟ!QQB QbG]AsΎ\ V4ؿtFu8o>& 1u17n"$&᪌U|dm@CQJ֜F1MC;UAЈzfk(3=HM.ݻ@͍VkK9Vb /\ K-_'Z6 j)0 ^k ?"cVZ̔>Z8n"`G1֘?F`1dtW`f$6q.B9ᅮ{' Qѣ*kNVR/M.v|]b^xw~<䊡L ~~և"_VHmҔ.E'ȸQ2Psj~Qn^'>cDt?Bq+ p=?#'}je}C XWJ.d9z{]>8 yţt~춡VkaF?.&oL /dYr3twl]Twtxpdpa9m"0B":{x1#ciq;A6w=I}ݯQ)Ȋ/.T14H. I0⥨ȲpcW)\vQ5瀷[dUaa2DD!1_T)7kf*I0իD`b1c IX|s ZcL@:q]kfkg,AB$O cP9B WGZRFhԉAavk $0WǿqfvYPe:BbI!57E;;|h44t΅N1|T 90w t aa)vs C|erd -^:玳3s <<5qۉs JfG)Qs9ٌBXi9Nfq/2h߽94315 7OY6q9%7D&&yS8DuU\HSȺ92wgpv{&+Y1&LcBajsLMΙxTzΩJQ>CT t@GCsNdZB !* ;L:Wޤ fc ۲B#:{B4}(cdi@l;DpYXkA\]pw,ͯ~;b_FVUv>hxփ7vz2U4qVWȝ1Gރ1n2]q"@DD`&db$^, s MatZn>P_1zώg=cJBY3Ұ s7z48Xܼ$Ag1s*MJc1&~DDwg=Դh;wUs** j[TƚՖ'Tg %V&C4o[wb 3!Vc#}?P^BxD k[~7XR*"AeB~yx H}`(t϶gD\}:t'۫y po7W>UVQW,ˡ&%9M築X1@qsP XZA31n|YbJ㜀DQn#3}:P>n6!YmnڠK_16;$o7}+8(_/ 5Ȧu#r0qfZGUwT4*&$8Lrn )W]bNTF2cǡR߼orp++RQX ܓ1FٜCM"sZ= Z%[14?=F撠S2֬}'jfKӋl!*cT$zjP;g 3TJ0s9B)xw3 ؛q}cL 眘be1X枦<{=ERUsE6~xUuǞM0 ^ UqShG-kjO;Zwf>ۘY<ObxtA‹ZQ|؍ V8(cQ陙'x 紛30xnq:ZsH8c`YʁAv EiGoYu5Nrh$=g.)P4IE_ H5m  @NV|QB铜/k-<@[EYI:0(YH;6;jJ8əIl %18vny7+ ֘ {wkKap{~l.cS:@ £:W['iD՘׿LR| H7!dU(DJ̝L ´{&aZ)\̂lޛr'Ba{RMcj@[ML8OfJC,/qė*Q"ԴX:I;~-(3G}fr +L7o6 d]Db牏%Z`YFq)*;66qA9SS)U2DŽR){IieP9炷u͙q"^w^;rA\ ,G7k9ֽvQZmIɉfFU,(ibWA$ X;3`J&Oؿl_Lws;k"9ZVݳ8=qb+ X6Y$\^(Jg0th:d֚ x6 hvKL i[ɎN9e:'3+#q*Bx^9bb 걤'Arq2<5gei1<{wv ' [# hGszG zOGZ nP!dQd!_=oGZ纼׿`s{NTσ93>u \G J) h#7* 6v^vG1)F p6Qpo =^aH)T2F.>M qL> hpē_Ym  ?L*AV!*7QR3W ;m^%kaY%j *9>>Lhۅ2B \cg1rs*QK~/"w#`D;ʓ'wqN3C{Tϔ !~21 _D>l~_L| <1umTFoE 2`ܗJ^ʯ`d+{=4|WW?YK lU)U耄Bvc-S N$?39&kw^[!g=ޔըFqNsu|YIY1 +-պ۪ pu$9d9m^BT `{ .~NV>>T}/3a6%CAT VBʣHCX\U51R݌#~ !;#v !NzSĢmI`7|a%2}\N5N`|EtiƝqUɤ}{ wE] ,"_S7I=΁ǣN9A28i6S!+/t7 ($a> ?1rWs8p6Ai~2fd0+7V9 .8%)Cn XD6)AyDMٖMQ<}ЀlĹuN4'n)w;0CqU%ԝrG>/&r7.\bV1ڬ/mr9h {0f6XIՓ_( ݻ@5rZ4ge4ܱUkes>σjWF<;VTf%-d0F5 6 kquskN0 H2\Qj+AR->FM,XI`ʖ\B?ED2deD RR~bSUk߹.w*:Xny>$L̂KLx`-7P60@D 4hqj$-{у[kEҫ LH0cr]2)Zܺ># e0c9:A] \U暰;\l1]fJZ,P-؞1JUT\ \kl[)cX=jNS#;I5 ؓIQij)/xW%;%Dc坄lsx6; ܓ,qbSĤ_Ƙ&zePp8`nU,y.%ѡPHeN`<EgL욢8ͪtbܕ)"Я'T%ЉGĹXZ,y-{K&%rb̷O <~0`8R^vK@D:Vk&?s<}T3̀7kw_ F?2B '8  fH n RmMur 3ySF x"m?fI0{!OZ^d#_C*<(sLU3ƈss.@6Е1"`/az7goUlR>%U;yFP k~Yԝ/ZcsjǓ]1ڻDr"`*)T<7@C8 j1.xAPj>aM;B0}yXLxv@E$OXHz',ܱ4֊76%KqWr'{%$&ؚ=fDI;\mHoa8)[ЯyV&&ڨd?'?o~`v@[JJx{AqmGpRQN_i O*ͤt8w/Ix:{֤}H]J2qDC-J- ?Q5Ak 03J4Ŀf%RyL"Z;ޤ}CR\~hP=|ϋ5C\_lۑczxt4e5>LPsD=㯫p`, m(ks/Lkk̅`ѰvB:SenAw֟ɽ7ݞwbM볊̶5 -lIZvωC zbšrPH csևMsCr0d̥?!nNr/k\)3C"@3`Y.y3{>U2՗Ji1ߟvwZf]7`10 *Dg@$9Yٝ*P )S{ դo7T(ޟkH%78 fuwbfve-k.L6ܙ* N8SpÛUFrZm@LWwsKZ7[]mA+:MVm! ܎gDem܈B˛c̖d1I`xdd {z윸̓rreAGc*F $*0!|>`V폤( ,Fs@Z1F%&-F574Nɚ-5x%b$%|Nc%ilwpܯii,)iDHʘs0<3$qw^L /t}_+>kCٙ4IP)W\2_:yu>5 <pu;}оDfND9% kC\*YO-UN2mu9DmQIYfZ`p3"%;X})JI0 x sY F üPD4ŷW13R-?`U uΦ Fmᰈ V%M]jq1%Y"!6?0dlb$1LV f`j uT)zTՙ$w/EFJDh_;J xI`P{B"Xi3#ʦlSKݲds b{K$WdI+K0#67+0: dhdͬT*VS'G-"m_mTU$oM'hp ż_c9&w׀"U q+"yj8uz'̆Romd$TMP Qk;RTA+M>oH\ n " 38g'Zٔ#/ gp;k-w;qK)fH)-X4\J|ƶ(۳V}#$̥H0daEрu]>Ԭa: {Az3XBmi;o02楲9D;;;I}'ZC {P%A]^r&3'هC, vd ^b3״aqbIEan]*Q,0]MoB!/D)"]d2ǘ}̖vL(3?~fٮ[Dde 7DgKs`#y p^Tҵzgh1SJc8~A5dn "WGCًѲw4B,|qe7}a 9X(` +F+&u_=,*Ƅa`ΕM,џV9^txLm plO4rieZ:_x&-ϟOE_&"*5AZЁQ,9g 6$UaAqJ?$1EMs %:DUHDzz:ʸAR[X?AПðLM I"}))YAJo.4= ̎[ʈLRgǽ;Du>fIf_TZ`"Lpkz{SoDI޾?عT03Xǡ̐,D!&a4HpI@cRGeJ_σ]3]*{@f'0IF-Nr"cGc]:td>~W0#es1O0E>ǢWL\eHA^8l`jy\$&u*tFGIs!~tCBJo#|Ztj2˼&8Hf14%o!N;l8L1ѭ~QTJq\Fp½M:r(Fd=sy3PInaB¸ēRCX]~0/PδWkC=E Ġ6['3(*y}Y If~9 =*J|T*$zomnh 4ɁQJ͌ J]_S$ 8e4 n3i OpH.E ud鰁='6éw3qƘ|)> ,@]5/ @W1d2KbDDUP9mMTegJ̹@(dzV?90=sL"1KxҞ!*ST|>GF8ٲ'33wcTUdR2]oj u33DwEzJ)ժ\Ty6IO1sY*>>:LP.Awjjvn }@B]5DDFiCcҭ_#Ύ7[P 9g{BE[R ז' 5UI!SUE_ϹL*>!\Tw39}kWEiaD"b= f(U_#3N{Gqǁ aeۘ1w 9d/jU+U" 忓!D3h .h|37 >RvlN6b!3"šc&WK剓쉹!AT)Ye<0>qރs6` ¾oC6 Ğ_"4fa^Q1E\vdcNh"/J c͛fUʩS`8ρ'8yj8#9e*;iЅû*QU2c(-l趬1pST@DPܐ|9{?E##qy :2HN%Ql5GھǕ` @[F+dOUvT\@b4\b V ?WZMW-)K+h:5$7";g1Hqz~٪ rx"\E@Gqw+k69{}_R]}8L4 tFw%>B_hOQ#M )QWdd3}_إ~~ ,+q_׼-)8Ҫ `谳1%Bթԭ0!?S@ n渋b[s`f]w-@cܿBPlKQQ\_hJQ]>dhUe塷τ9Q%}֕h59M<5G^ :)k*Њk)wNIRۤsZ-g`)ÁkïvHI0v:py=sr  36!py2ȏ H2VF{GĚӾE*]F޿61AIe6 1>FRʇxȄHްLk),:$M8OdEwd23|35@u7BDXG=H&w.̤ep$QE3xň}:dUpF(5=(:"P˺5$`8k=W1nvf7 eUaB0VNE)|᧔ j6߇x'9c13ˆ*Tu\o0DzrhW::А1 GQ~5\)(<%mHu5cMfD}!c}]rpXvo Tyg5Dٰ E$FyY8-D3+%"bΰ*R: $@#]b6_bxxhK*bq?g=/&z(,%s9YZ"-Ȏ” *y= 4G b5LLn.?H}uyJ\[9މ<%ε?M05_ Y]+rwiToH5XIo9{ɿOTƊ8+ ;FLc3l& 9oT3u D}2*pcV3Ks6.A0`=E`Y}"fjǁsΥk1jα5\83O˗~Ք@v(ot?ۅ:qgs*mshTfJbkZj=O9jJc\x4D 7FZ Z SN-O3SZr}prG\ {7:tzkU&Be%:kTXD,i q8q%e \?o$-_r$e2 ~@T?yKHMQ3{xŝ^)md{/.lEbρ"=P޽ǘ%v`x~ K4q#aęȫLRN7_L?r[L30m!6+@Z/gۚ&\(]5PjSy{[+iAFYcԾt"*%'r%7brӀ3Y+*!0I}3K=$bPSqcȄRSFS0CVp/p9Z /;FE/93 =tB]B}ѽ&U@1zz)xRcHd5O0?72RZkvoY C#Ҏt8jd ;yטk-QEhݻ7 P5|(s[jyZp <7\{aEjv29OGO5}sJQ*}Fzso HP }ZD\aqNB[68۠u`q;BU%&7{1wbv'Tݦž1_Śd4s9R(RcR/U5,>;*0])Df" { !E&1aB"֕SQ1F<fUPRHf:iyz#wa c=5Ȣ'cYk!VJ8?yNDFPYQQs 5 R>>!=` 3+:>$Ƙ~쎩ɽ}9Fieд]FL@RtK 7WM<Ύ l`9z}"H+/590jbѓe{nxs{wwE9#%;" 1|t]G#N@L$SL8Pe>ƚ9T=k9$xeF(T‚Kz1{7$f1A@k,C+@*Ga*&:sN`7. >j80j vȩsKhѠI+''Hd.n!"+!>]~.E^ B#")0g5Wz62*|>&\ < Vw-ub?0Z?vNܸG*Qq)6՟V/Zcpk*1C&n_\5gsրɯM ȾƕifPg!I/$9臨 dke(P#%hzN370fKr'\N:-#@}3ChvؓD@\:%HC`VpJPX?w>d8kL5I'5-昬8l'lwYŋH k<ˣ={#:YD";: )'w6p⑫1 H3 xFfTfrf}L*I@2yTT>sGȩ`&cM;(Ypm+( O .dr4,_y2v~i0}8c_ں*T18@xYQ43gY6AE|MM55ڵv]h^Ubm:'ks$3`2lm++PIԳhɎ FE<)vЮ {@?x_`LYX\f[{хʃh7nt^VU9c&!CTj9W >̄z0梳vΡZTD;b&& "so<n;yG"sޯORUzMHrY`JGeP3Rk;UjbT9~;^X  |SIe[JTۀ+cz'8P%1kCAýv31@às1e*ls,L0 0)0Sf%*̄ 2BP$~{JZ1x&Q1}49zZT\cb4UD\|H@q&5HX!RX=zT>/ĆսXz>ra~ *fQQ"RN /C*pH]>Э߁ގc0Qѻ LEB0&E4S2cGkpdžmd3Zǩxm~$R!?a筫w%뙪cJ9sLH{S+5cdqec̊83b {!bcBzYV}h%n}"&?x$SVkJ's8{4%>'$AQ*z㿞MnH FJs_j2Kp-L`1ƌ 1"MXyvO`*a Y˕1"C*$j1`[KŇ*dX 7@̈́r8pIٱٓH!xjPd[o8|9Ăn8uv\x}rꢶMWuv ٽ6CMP/Zq_yr3Ǡ'^H,"2`>p< ؍8z` !XJXYN}OIU[ʼnn&*-j=i(BA8 YV+(Hm_<ȵ\(UّXu[q 9眫*%*ai} ӳoEBf/ګ 7ED*;61P~y~<՘|'Ȟvp %Ⱥ̌Ik?ŲL |J-5@H'/ss"jAr-fC,ԝft4J7ܤ1_ܛ{:Ako:Q^sQ%^Rủd|8"9>@pz"` S)nvt`t ʩOH _3>ZɈk[VvšC**qYwwLG3E S/3zann~T~p@D0-tpfБPc<U#e6)jq9pl&^624 o^ra6v%X]s [JO@tD},BgcZD6XAڠ/Eswc8#(nBa^UKao#7LډթXO`9n~Tءغ??^QU Ʃ5ƶ'єX$'Xc.ECzڶR4 U#|_& DŽr-=y̚t`Atܩ48{tK3/o[ǿ~7 ͅ54_\; 焩\݊CCtq#v׉mNs#AP9VSa.NN&iذ3} B}h$-Yss On?b9;2CEj&`[A0D. %ݜ67$73d2~yDE|ޣU Nhpa 1ܑo1>\bVu+]>;}ҿb|UQb̢p#NU] |F|T=/RP#N?^ FE_?(FeW}f_NPRNU*7`9*EOx-aHR#5`C"ZPr5o_9m}+" "Zxp?S]J3 tLỐ*Lyžk)A0a4y76"Tc (  cn'McGt@tY}BETc$T|!gSP462<2U;#Fã7uv<V$DX`+hA`mv>sFo AbeNqV܍X}80& (X=[e^ܦ0\oLqVQz9Fư op2|>(sP؎֢;3+Qs 5Z[W{_t,ykC;EH5sZH$ICE|4@HMS:0zIهsD18.1 )Q32YrE9ޛ-P4 g3Y1ٍBz/ EgmCLVS8.(Յm`> pGb.A3EPj=7)r,s\x[ ]<ZVA􌑩pdCaëEѤiۍ)*%KWLzp_Xu$ gq׉֚c =W@ # >kffTg|t9+R2OֈWds\-ctExP|uK bAķܙ1qt$N)VB9#E-8T*/L1CD DzQZ*lLp> !`^" N7"4Q(|ddD`A[׀D=:N 1x:tp$9fT!͕UI(Ě\DXq|kjW-k)|3+CpKuZsu ׀ f\cV'ohTĐ:f7U$DFnKbKB0Oל/L*U v|zdkW4@n%=Q"f`Ç j?SK5}h$AgHrJf=E}!_}-)`ɝ<Չ UF35̈ <4 vd"(W% )] !$92K䜍'~ޟKUcg9{jc?wkCcCFaHh(H8笹!%n>焄m$سl>6 IFp#G7Գ2LՀCgh9J"t_K10A޲sh^`K#P__ c!4lY%YqX\iPMÚ+z&7J *Ykz2$5WIMU P# jը4D}_da4ےF!g# cFR=)~!Ѡٶ᎝ZF4[ȒnUhP g׼$@.1/o2Gm܀;YEՂ!:*l \ 7v xpb3!Z18qLͲn1fT ן,hoPGVgQ629w 8S~|(uqLP[v}BdA8-XYnsw bC )@#e/9y.PM\gtbQq2YE0|`ɒb'ZƳCٛķD ,ymqD|Y"M8r`ڕtsVkh /;լZs)]sf'λu|p`CZطbv h7Ҝ3J~M.M~y KfH 0x[t@.XM81i(e +J:1ǀn >@@5ua;9DoT$X{W} 5cѐ*koDž Wb+[UDXܶT4;-v+,;bsƘm-UEoN\soYdS_8"脹+4V\%(OP7;NQįJfL1OR`5jdhD69P@V}>0czD EGY+ *"kM/фRW}ӭ<)H*wpOw;~FލuHk.̄:*gQF\N߀ec m77"G;YRqd5ޕB=61@;B$$Z-bY6*:^x)Pt$BLo:@DDN5Q)?kclZdVBȨXsrsV`5\s!e =VA'%ybBofnMI홈[ٹ(Ӆ !%# 5"]U??F3'-Vf՟Ng W%K oU5̧W_^# !~ ~Fs }`1HL"c8"ēy1h!KyH$f17;f:l07+q+9_sʔֵU175͓78rw kh")oێKf:Ax46cEx #ܘêǕJW?`fR !42 {Ǯ20>JAP];xN* vi4OD[-5:BCl4J2jn}as} 硩2c+G=ƙ|^.qi̇>kT~(ac71ё R% =z8]3}P5-H*`9@RA2B亊a*yASgܮ&pU"h"oҢkQk΁|bT &L1S}G#s$_UBTaX4#k暽 kDxø:}r/Ƣf|p$!?A0yU7Y|?Sڭrmºf ?]๓ ZkQ)qN_Z4esҾ"EQ`?߆~( _nY&4!'2s>Ne ,hE8hBB"hAu?0L耱F#z~on]-8*YL$R lEƘ'"bê<#12#*7Z-Ȫ!Qm*dS p;8ɬX`瞖s D%cN`IWH\JtDc@R5[ϟBĭun 3=;"p/R6Xl |֠Dy>mP:_7,*#MjsfĴi,εzCDч; <9f2}_bKElxdH`$VưQUHւw3c=˧ĕ#p; v{̀R> 6Qf{xV>Lj*Z#MBaTgXR ͖ ,1Ή!!KyR nTC9M^aٌ|sh`B2ICmHmM߿LGB~2a,9d][ePBE#v@P+眔ș0'HJ n&aq8A ѯ 8vIW#ky0>s X?j :2Wd @B$>0)<9'r6 _`XZDF:l"PwP_W /~@_5LӢf6;hI_B+vsiVf08fЪF;Qu=89u=@Pʌ[9M?GMyUg}pAa8f NuLw!*Ǩ.V5;p DNu{J 'ǖX1$1d:zi bYL&,fScBHjꈻrk{?S\]1680lW*s 2W5Wp%2hBYDK +sö Dd d੪1'ZԥQ +Hfˆ R>Fg t0̌5t:B6Xa* 1r*.}MC%5hYes 瘈VI,PEW&M:z-Yzfn( f" *]}77V!iZ5?* =D-cd c@cC2-͹go5la_SQ;\$6j;ޛӨL*Zsԁ@gs*6#Bƒ5ڽ WR(hS0d7HܿFY`^#KՎ}7}HLi:[T]9 䖗Vh\xc8H *}>~)N+*~;u:bu&iw+7y搙(;DPF\ trl9O5KZfֻUWV~# YdxbT3\w"_Fk+~qM|KTLa&41p2חy o$a!;3#'f D}>17[7 +(F?3-Uw9l5[ ܑ>ԯp1[Y_['`ZQm+vtyf7}I'|1mu+0@P)%L-;*}3"?~RYTAq: Y#g{㩘!@xkWR:ɣh7A 3y>;)2Ɠ?f 2~٨12ʵ;yZϳ %qxYcfa[>dBd,퀿`11D CsLe^B,2Ș[ TXEa C1ZjaEMkC::=Ġq {r> 06 |(\)6[sE$jZ % E}'BAJZTAH1Zqk2ɲDT֘DA+EpҰFfCCDdAB6ݑiWk)ӌJEӚ^cDwqp\>t\IcX{G}c~7{CQ"Q)j8E.E$8\ qt3wLOWWR1רό5֚ Nؓ:+ ^, J g-U~bNP1̑xQ"_d2YJkQ$OPxCyUEMbZ3)~]B),2K( l|տ,1a7NL >%˾ɑ8]a|w6tŘ>KI0[Y[z*z@w|>{FyBoy5;tCz~ c}i EUt+_nHUEZ㽷Q <*nQ-HB2/;F  cOVi #ͅ *@D(2$:aU8a n} ?ips^5԰E2@For B[T2v/l3 Ӿ{/ 9֔Ĵ}2.G g囫`w$ΥÇ c<2פVW9g1 6J bRR@C۬= ɛkT,o$'Ϝsyr>z8".1]r'J 0L9Qܘ)h߯k]-"Dt- j#nph԰]v_cB9Xs؞!{KUR8MfNx5S<1@Wb(_:Л P&"4wo?`̈́0z!0 Z Lc LnmjU\= ~$Ntckʈχ~2QkcIyW֣n̅`>ƷfD w(ֶ 3֯ϟxQY'Np2*3ՎzQ&$EpP$Ÿ-kzƸy o`r?ZW=wturhud_svv讅F8[ @j3EL ;AB@4[SySi(m12"[^0wq6t!wyg6ϟ?8*2|=E ㉹&X*Z!)8:DE㇮c>O URAGF/oT CU?xbWkε|?;BEDОC?;$njX1:~P̴`]4ڈc߿1>6~UCv@n , xcUUGo#J)F/66h$)U-{_[nG)7297pu^3\ńoa͹}wfMvv>"HBpX$ &7npA;\,֥lvTov gHoM _PBMFILǜA/5':[| 2Nuid$VV㖺6u@Rc#BhTB EtïrR8AcjC˽~}ϟ??ƛ)ez2R/P43Ϭz{s*?ksaAbN ܔD AMTj\13;Z0Q :etzDdD9aS8);B42~]).Dm>>ޫ£_Ŀ{Cpܴ3g¨*,aHs kjz7_CT߽\ w( 78JW{(<>_Z4r3 ՝y=Y.>3O7Et%_Zga_`y%2xb)1q֜Plqv[܅H;k62F ,>NlPRk$Y1Y+ \z}agf?+Eșkb3j=4` !g>nI ؤB ̉y>olQuul{ 1i ^su $&8Mx+)G9HBHGcfYvd9pźCr(>U.jט'Y?y$ IIP*Qo%<FZzY{=c@<iuOЌPutW;.=_z5Z{9|)nΉHLykámRf`[^rӀ/8' R)o}D9 *s^cH'C.ϱhm?EE[@`l3c1[= B#vg1Y^̹l&,^ DGcg%s^7,=gV4Wi1FQc^Z%ؘ^c^RI33xo93bMK׫a&c e?{eSkLum !pP]{8 >s}l+^|?(RVݣ~\3NȒw.ԌR5+r!9M6h8=MC4~ɕL Y>='=[+ 05k"Է;Hz|R^c CBʶ2J~С49GEYDc ׁ4HDѱ2sֲ2S0.*7AՒphՆyM وچ"aoCɉ~*e NMAioBi QM{/bњ ',bc 4"fʜ-9ByirΘl6d]R Wן4QC_Y >Rfӑ=^UD7/cJĤ:mdZ1PKq% n"@C3oH k/k437Va.Xfتj4̅PmVXc1}y1B;$VTp0D+5BDM{sD@phzޘ5aU'KW R!8u'= t"Cv*'5hj"V,eocTBcg-v~=^׵0ŐVД%?O\2m fd{a,B뀏vv`q2 8m\|>"Ox8cVuU~g.sPΠi7?{c{WJ)/"zĉͼ37ްLjť*Q _4΁ϟ? @F Sf%tKd:h)25B ߀cWTZw-U6^cAHLfU ėk6dIϸ m!8 M:Jᤁ9)"vuppJa#~tRбzNPԷzi9 -'EItkAӲ:He8GMM6z gŗE@aQowU]{rU[ )#a3nh[fS<}GrPbyK~լ y*uzuY9]D\k#`]c{(΁a)SŁ@ xDedc41 GP- &b_rz <3׼RQ@AxZnj )k*}[{u$ւe!#+ؚeV!`SUelf1\}k`bUlnb˞[Q18zqTc奐GƼvQ_2h39f8! DŽ/3r0-WF`@,UZ60KEk=-~{KB8e'+*~luwj'#}8٣PTÎ ՓwimX i֋I1]:}}2k^ ^Ҳ1飔 7nN@'V4;1;| й](v{bʺp [Y0%D2#&5bSq43+J?!X.< ݦH2ӣy!j&-9Q5BWR"p/8,4͂g8k3n%VT?a^,kmX }ϊmD<;~K` ׆n|* } %RP0@0h4kU9zY lS1 Qw6(އ&"z_}3)`%N%Z'XM[@M 0Mmnl~q}ʸB* jWy( TŃ>\Ws5.l^Z1pAĎ7Q*2q}WJָW+N^oe)3SP3׸@1}ڇ,i*5Ef׽wTQ46Lsz%>o $CVP'>` (&W«ZIޟdvx%b@U!"qvDj]_/h9 lH I~uG {1GɉfD-mwY A`Ȗ͒F;=c8-m%8@p"!/!CvՍSG FH,a}9)qqmUR2^$WlcqRƂ= E*ȣ=p3?EяOVD> idYdg> ] ✤ H>yV(䝪fJ ?{)w }^ (#ER퍁È-5' t|A'Κ\cBNBpmFH߼p^׍]@UfSmH`y2ݵ[v IcTtl>g :a  اA@|>M!ht51]k_eotsI ׳>,2j_*8'5EXFJTQKRu'[dK+=H;ϔzvqA-QRpjF&N <1<1y`0C._׵(T MI+'"9W ))Ȑ)g͍ N^܌(5|}ͩ5AA^9Lb ktgy‘Rpլ1tYAʏ2X`?j: *2#x;8.14S5ʪ$*D1ߖm qDc8|܃ | d%$L'%aM=| I|-P8,%;)9B=f_⯳mk+ e(Zid:Hx>zfv_?yxО3 _5,%P2G% vw_ uܕY nE"NpHg7;6. ºtOT6̿*v|,qA5J&RDT-DB>9|*?Dy9"Y}%vI}&/0oKVݧ:|}\ʟξK"A@*2~GƟ?=uu5ώZTyaU ݟeY(p(fkq"9+xt"m`i9&?O7U0V*y J8=ڭACh{n\%"sNM򜽷lr S!<~WV-XfGRއ1&cQ8YdЁsoĆ4mx4&γ9/5n >NC| T ~^ UT  !RW~WP:_ f T@A ]c6p?Ї{!JS>1.U?Vh}uv1E gcc 5#6o 0EO1fF1> ~k^sr_ z{oH݉y E؝f܎_+`;>Rq0ܮljWaB!1Ubcj+\o1Mւ.]Jt…#>FMř]lnk7.s6|LQ"8B5r=0$Fǁ/u5>,O8=\5~a`#p| 'A}ZS]`ZF)Y"/.LtT;؇q7Suyk*6;0ODp#UqX5E,"dg:ncZj/WKiOM7c((e"&bOz"3UЊ1ars8lȐiv־5@Vi@qzVAI[0KTF6 7y !1|tVgT(ee9eQIX68O ƈjÐ5:w؎'ڽg?ڹcvB(pʩAL^E@G[K1uz W3,ezAZ׺O|lw: XYEĀA}0B{DvMTFjoPJp3~Ғz}lH^eLż@Ae ]+=lck/\X_<ҋ璏2$Gt"N6ZP>T7YGP ೅`0U!˥ih|̠jx@`b_ s@Ge4Y%Ґ%⪄VҶc%'ҋ3%m4?ic i-]J|qCŹ/acȪ؋eSV+H']>u{ƵU8%S+Z$7ꠦx*oŜsZ/WOrE!gͅ>K+}e_$&] 9Yc5A ?juER5ojOiǵѰyF\DY{T7-ebi&zRCHby/l Y h}DҏBAZ(\geɓ:3E/<>5FƤ'[v{Q=Bx8) :*̜>ixxփ5!(T>2m:c7 r& xK꧵ 0S3Mgʞ#e&5&621wH(:"JaV.Li>RD3UŶ0]Yvx8x UdGĸ}׺f?" )M%YOD:3alrNȾy,)j)c 1:mio;|h@ORr 2> W'H@$o #_ӉDNMYn ,"MaGBL3rP&H <\4WI$\`S*9,qh-D;8~9c*Gs__o5TQ2 @ en- ;gJqs 8n~>9;Mu*BI$h!0XbR+9לcEg4ځN\Ȁp8O+603=G34j B:UPz f22bѰ=jQt"8!$Yͮ9nX諩d &J]JGnbtk}VpT>N"H%z% ny5}ʉ$Jb#͌}Wk'^*T6^->*6kp'5YsL$i6YDS@~E2k`z)95(?h)D$̕yjZ;꼍 * e> 2ŠaQ,}km`a:@!YcNad0炖4 XciLEOjsO^1&F 88 5漮(Fg=h-d#(QC{Iݹy1'CT*L,_߿J8qCbcs WW{+p`"co j*Hlp!WoRs3ܡR ~59:DOsA<X|\3N4ׅDOʻ06>vs͎s1Ud Y EoDR[;|UQ4pZ^jd+H! OwRf0=0T=q/{Cйl  Zv5e(e_VOiDD%e =mh!yj*&JOI6 C[3@.֤q0HuMώjQ! K慫X0?J HpO1w!d7 @l r >#mkQYeUC䌀Y#j[͏wmnJvTŭٻd3_{MwӞ68Pk')H3X %̷{fJM4O\;DԢ9hY'?})\ݗm+%cl^7EYr{#[/|ʴZ{^Z؇y)5{bf2on,3/Zʼ r_6GM1]zwh6RZ)Δ@R@0KaWP.  z9)$yJT `Z39Պ7Ĵe9)ʼn}NH و +jBC[bA|ԕ)}G?''DAنf4/#^뺱9h?xA_IE#NwVmF@1 `;cYOfn#\`5qPal&3V Yᴎ]H-2OD[248p0"UPK-uc2R1Ȭ+ Hz!Aۗ+ ^e?*Jh+&:2'Ao`hى@U1,s*sc@J8׎F&zNLF.BEa4tWxx%iT+CS>6|8fc*h8z唵X" `*&H9 ^>[RKF[ ?J5|XiK7΍6ߠQK8uyj۝uz<у" YYPw?{=ҁ[Bb=Kɴ$- y\S]u!"{-5׽gHNr8!#5ߢ ؙ;Nr8Xs K/xe+?oȁMkyMRxU:]UDIRdv{f3CM1w]`PH?0p_Z'+a89^W[56 DeXVDq8^2@_rbHBUL g}T\u꽝T I`W33ƌ̓g>vwۘS2w*as @ڋ 3m$Q5p(G\I(3׼cov=gښweA%wL T`%KJcP1%kw=(b5}@1 G5 ^sT9{n&.^= 0E؏{!AmUSlp:$ R$(䬮29NQ^ 5\E2Ӳጼ>p4쳇{TYwĴ(Sz8ńB1DD\ 1P[ [9q]טaY,c((e,8O ]Q\syʼn1 kmB-*4k†=! >U@`):ѷ;0pڊ8wm ӸW h'Cf2ȟį2{tG\qݗ}89Nܜ'-;X{}9caF=:?L~'ًjtiW8cx{wȆw/brR/!1bM2.@$F zyFP_?p{4e먻TKpI>_Iis%z+9>XK Y?o-慡=8:wW #*3,< U'zS4cWB3/9XD$@0k.ZTV&f`MąIhvl q9+,(_:bg5/(r5SgzV&1YaX F>h*nI%?Fbv )y 9<Hd *fSUKMwl#6Spw3tam"u*0!\f5 4<ޡZnZs;I;=C2 &MZ na2x֓yӕ}ୁT9ǘ{/$H$stʳ)"ƘLA4+bA5c(uͶ锍c)O.$vP''kcx0KNϖ}6x]fPH_Xb^s6tic8?| o#:cWM**XjIJW'VVr s7A^5S[ ލ& }0!*qՄ5'`̂#^R+R~f>hL#T>.3yWf'Ou&6{mDל>FEY%e6[18E0vz:株ϟ8טj{Z(2sC.*a[Wj/)fiQi.|)o8n]BJfos^V8V5Uu&ĝ=لQeJbwCo̬b5ol8SU )MCTyfvٮNw֙]o}Mr=UJz4]KuZ[ {oso0&BfS>v*r'Mp,U'OE3 DN1ZS,F59nm3O}YA=`E4\jߙDyd=Q[hiB"_[)-43vP({m+n~fNVFIp/1G)h(ƵBRc~7O$<17%|$3!o*":B'­t1ZOy`*,@ȢP/gMZWSwJ1Vʒ9%%я~2BY9n/!&2²ϾmV:\T;#ar_WUˤ7mx#o.d2=SEȺAIdʗ|{>gG5Qdbbҗ}T6нUx.m*3 4ްqg@-U: #NCG/nv@!`0*oPl^)6[_ lz4Е+N gHqGiIaNYso*[RO;AEqUkf~>JQdL~ EkvS;lmwX)AYXJg,&h^RH b\2߹@GZ?- T-Xr`$H ȳ6LDɖrc~9SWC J^iش~csh\4sMMF10]^ kmFؾD>(5uL{tm9/D\{%Q>vcpBfv,R"NM9& PF F `~=`ݽsY'C*g(9OgON$A)(v[M'0L) 9W#` Q7' {3CJf87cq`ycTmÏ ?UG4;[g_pW6 y̩a\1&t^7pT<=אĸ,}`4ʂ heVMTMd]w{Y0m*Ԃ seK"8Z֣v)A]1N}\} ?yTW(g`(pǎ(c0Sb*D Piei)7r3/,^PJ&`=\3ݞ.hM+tyJ0 s _>\EG2P2[2|Zޡk=hUdCӬ+֘R;Qb.N!d S2av;9*6ڡ{Ɯ?茑/Id{@KY7I" SEay|Bx nÒ{8>bsL=ri<ɔ> )9Ƅo^oS}֓)C/9xW!c5F]k/,M0 瀇[(HKE%ѝ`D6P42) 52M.=N"$Uy o\{~Bo)W̙);!XZ^%z^}ߜU>F 3F&FdWė /qY{ZwF)cZS[Y4$fk=H ^Ѹ"z~̓?ƃ*nȨ(Sc+r3"焻N"99( cCCagMY 0T r-C#ZaTzT1`lVX#AF>9F>]kd3nzssᶵ^#ҍ:t".,4@^Llj5f$pUIjU71')m[7xLB~ԎzB PS"s/e/jڀ6E BDr$F!-f]n cv;+vF7j1ǜZ'`' Mz 56= ]Mw9/ė]kVn_kS@'\DUuvRġKh=Sw/MqBo9FR<-H.ݵ)F yrf0(xO:F?\jQn;cNx"!rvs~ݣ L^\D):sP(yЂ*>+iGXNW`F^zIQ#XfT3T}NӞ7eeǸD^RdBc*w7[T%V;2a ܁^sim`Jư@>C۔ ObP?$>=w#PL_Oca&R>++*F+Vfb8PҢ}߳'#(7%=a^`vWVQQ1bD7ە,,\t2'Qpcly&sq2ۨ;IU:}\c@*AƘ|ڕOI`]kCzǘrC)ͅ)z0bG,m11}UsZy]@f0sfvp~G\sҁcg}]):|]?Y5<ZqMZe0ʼnHa@SEw@C0D*=(jz?-.NTNIFC0L7}+`6ǔ 1D$rMT.*:=aEeE;Ys#+Wc;(Dۼ 1>;c$R ヌ-6\g}P1Ղ=axB'M7{¦Ԙ4ET+)}#_źx8^ {E_K&?ܛO!e2d8^gRexuNZ|B]9nKUG&nZ:Fb5i<pG01;{"5m`\f?S\‚RUU}13X8P䮔@Z3 [.X֟9dʜP<fs>Oq{qגUbh1pg[IK-$2(Il;@z8•?dsJ'>{nS$fmf%֥8RJ7?$0Q޴00а Cs۳B7'S~RQ* \M9ʌ1&3%gaM=|6?QCbɳr;2" ˞kB55XG+:O Cq؎G,axxg2> ӵD?Dw7n^mΫ ZWŵ]Q||k >?z.T8UC\t6|xH<7fyלXZ=gT2:;>ˇL~߈м  ,N3Ejkva[821 '^E< 'GF瘙qr.xX5LAr5xT=gIh_]S,iAJ HG/⃡.L_P6qLFdDY '}}EdALC\S(V*77g`~}6)6ae2w^^4۶|o`g=Afu ŏ_Y1Cx|LM\mN _Ù[ޑsA-D:ǭ8ZZc؋l*NpgB`. ' }Mʒt y]pxuxX61U?޵ٛ4ڙ-$b|#(v4&o=Q&Т57vXsOާܘQ"b!dhqz TG.SX9ٛv^nR|r~;.#tp.c!~6OE#JnѡaUc* zt>R %aMc_m!h-rM#$#̈́BQ&Ђ0Ze(pBU$$)>[mB6lTqNkGF?A(ZQMx ^1F5^F lfEjk6&MkE~ex8i@RkqIbXU]4-s\Pn'jY*ؼK`+_r kB BLıįFҔٓWNzCgGá' {I7[ vӛ[a^c@F&lګT$X&2N)-ϊ2z辇^b va{:Iq\1sp7>c?\ZCvRSPӛJ'AW!k?A=-V3B9k/VgsP56duW*ッya:|9L/?BW_/Ec8>B~ƛX7­N:B<9ųPZNוeaޫHu=h YavYwnׅWXs m Cfu1p l`.BSN\e5ĵ9*Yo {4eo$<@U?gBTנ Ѫruknh;ׂVnoל' gP32<(\by:ѯ;C+M,V1|yXC8' >cχr_HLkjsˢ7:ce^{<ǷY 'UXU(+ύin#*材E!6!=.P{an9U J۪ hPA 5!$`H P8.;҅ 6iM0,ց=p];nj/?1քhQL2F2ymH{B/?2_` HEj{ rqDQay Ə:IG)rbCݹc^uLtȞ+Cc|sHƧXRք(ZȦ^fPiL$hj[PYgS0" EعB9}j `ډb 1IFsN7_@lT$wsF =LUс3eZd;ks0()bPyhdV$,"c+*-SQ fu]ZXIHH}5?a5hZ&3Mцfr YD>rBDaJpaHxKUg3hN([Acg2T׼$Y! &v5qYQԴ䆘M;ĸ;q\ bnVS uPQ4;7ʆC\%.㏔{-9R9 ʀ)l-s̘T= $f[dڌ4g!;6iu]^IzП-uBᅥ&%)$F 7Ճ7B!yvH,fiEWFݑisNsvqnk-XGDd_0ѵ9 P) X@R6t KV^!уb33pmQPy+J>lpL2NÊ>V|)0$ȯ=n.d}"la&Ȭ8uacf?fÙMJ/^+P1^=s7 nzL)TVsZsya.{w8hTr_?Tp}s1Ab*'?( `xE8)pZLxW5dJǜmp0x@RP-Sk"fJʑ(P"G uVN =/~Nd4N'I9&dڥ&Qb.:ƮL09ŀ.Փ!U8n蠲]]Әu\/B&i>EH(Qq 3ŎPH&Gwu2>' bP~=TéUz fϟOzփY@xY`w~ݮ+dAsB lE::g۵k- _4x@6HTfc=SC2'U!`$N,:Fb`0}j̱v^J^W]31+ٻgf0.*0|狼 g +0̭;{Yk Ļ 9/PeaJidjsLvT[S .5N]szE;6+܌7SN6&90)]/rQhq^Ǥ=cz"UbWbO*UUZQ(f'Rk^hp@]dQJ̼nosñReJ*d(\\ u1&'઱U*Knp?d6D ?d kZH"÷x_Hͤԫu!e㻾tb %&TZ:~]1>Ż@6^ z0"mG~ n Q~^"Yׅ,qgpctU)>Q4TR)> 7؊kT' a \1AԅM-L -;ƺiG7 Gь8e& a0e͇ۈ'T 6Յ$1uͽύH)rrbqx"c fݵaNg Z]m8+DJ(SsF6o݈r)La(,kP}r]vAmʳ>pB,0.2%ӿcdi|6M'Z!ʔ1VͽVMsbjӰPZ$u] V2''v lYp9u] cN$nqσ^}$ >@ Bԅ"E$ R׋ya<=CPX9*C\ko4T25;6mE A.D|zPb3眀oS;;6_ho\@USuݭRX؝v2:abW1=DD(9'06Z1J(neto3Ą$B7b?w|ECOSܜOE lDTROnwuHMI2'-qz )RƅKCNGk^ϟ?PFI&&KgZ- JUSŰH%>S@T /W|=K@|Qt_DQ f'6V5e+ KD_uyye§ 6󷿡 ~7"c΁b|w+𚗨J.1 ȱű~úPL /ȊsW1 U_q: 1缮8H H lhO +|W u@(r=4)ϰ7eSI Гʼn~ESMǘ'b` _"<}I}NmO(k:pYJ(wx32|kp4am2td2毽 }fI>guNXQ(-+# 5i_7췯Q  /z |1{gjGA<Q;q6jbl(㬳{7ǣʙNYA[eS:}$g-Lo"!Y>R.y}DIsh *ǜ#ٽ1I4^o |UĜ Ϛ:{: P~zΫ>47jXڛ ZW`uT;G{-(`x?%̒Dnf;/Twlyna* 8Ӈ4>wqS,IWS֟68g~a D$*3xҰ71*m8FxqTx2y0Ip{)7!6(~e P[2D 2N 絴dx@phV59u֡HNHa]e1l͐re͟XPP6,FFo1YGkMSu7(n1WGJ\eJHdǷIbOn;N6l#F Dd^s&'Pp8VQ+@Lu=Tpb5|O0G #^c 5 ɝthKhVȜDdp}0'9"bz,w|ul"cPY,gzu HjW907+ u:z֣'SK8^1&}p2Z1)v": ^Jff% ư:E g>ݕ9L=3,+ r;w[EWu'fi&Oy(nN4 0êφ]D$NO>%=œEW-?9\ " >X3PAm8^{<3,=$Ea6sMLH㺯)/|>koBtX'Rb֧ wЮОBNuyYn8 NXN0'C-">Ov XFﳇOG({0NTDVl*7RJkFVx)$:<-+-BDN6QρH sBǜ} \<7 e62m$ؘQĉ,Z qm 7,KDl'I;6X췔ׇyKkJ6+BV5j(u'vJ\67\ک"r8DGOty!QdqN0M Te @Q1EEFq_UD_ <YOZkw@Dw5A>X9;|t9 ]}8,1U⃦zmo 01;Jv"ۯyUǯrW@S qӀSL#qHjb~2W]बP]DW;w3)3kvNp&gSȈ5I뾥yR)ց)>}B ,5} *j&v j2l&Rڛ4횉T9*R1 $IIV= r˵Cg"8Gp^a"WD^>c+ .UyA/6 ?h1;{C09%$t4FG 7յ F=[K Φ an!j+-mIEo-mB·AoSU'$?>ᨀ§{4kBrb Pt4_R֣Ѯ$X/ߨ%$G[cDNG9d1XE8> dzH;a[);UOoF3Ѽk{kBr6n)edFM(rOg2Y ,}`rҔu6-4@Y<{i/ M ʉ,Wt26'B!V:i86Px*b ({G *ֈ*RXFρϦTVF,Ü1~a)aM< !y'Z6 ~yo fckHg1 t, JP#F3K ̔~'r7޺0^tNAjnĨĕ7THHFqiFdo)>B?Nɫ)R֛G ݝoX0ںX$H;$vN^A[60nʲ&//hD^dAh3|z)`9F ƌ4߆G`t &ײVSҖYwϓGEmsU_3 3GV¼ITtT dٟ)`jވ@L4_RДj/cArUG . !H]$s3[k`Of QvN ^- 0Axo?uG ld%5{Qs|Dh32"~R] /Xc#nТdI]2ihj.OJ!tU߸i^h7 i%OQw9mWH g/~&hE4cPYz"D1^2|>|:tVg-Zuk-Daj[+RQOJVDr5s@DC6L3;9S_HA7T%3:3=5^n~݄ Ѯiщ.ͽYH0pȉf6 4~.Y~ּn|B褕kD,Gfl@%:Z smY8y<21PR5{Ug 7K $2&S샭9 a}THs dj P6l}a$1.jL7Ce›d=]Uj $c3Y@OVN%87q HA5RjG J7"$eQxUr-`yIy]zG>3ՙ5ₕ`u(uC紑:_s~]|s[s}PlPA^:DBj :# ~ZTߞLt,uC;焛]u߷r(a ],6 np@Q+sCBr*l+c9(`1Gi!'3F71C;29lWPW@ Y̰mc)hљDKN  CuӓK[Æ {q<&`Ȁ-:~*Oۇrz722njh{u 4Qn|}w7⊄'W` ND!r3ȴ+#Ex8{GO98Dzeb)GLo Fa,S"22z*diΌXLR\;csN&Y3FRMȲMCÆY<3Q>+.h59/rƆ %3x?PEgyFosLzEU3߫m挅{u49I@Oj}DG0(dzfڂxQx; '+ a㸃MzH\1!fZiv CJeFDQ#x )g$~ n6 = (P_DzU /wldFa 3a j-hcEz_W}>m8{.Uoҵ9k7xD!|Uwʁ`s~eT'c/@m\'O dzC"Gּ1dUI4/^ (oh[=Y^Ξh@KFʝ@ujYm>k~>9'ElKfQқg-OZ{Ac8;Q g-NAhNĮ yLkԒɇ ]*I)MlpMD-m.vM)5֠Ln]HULAF1iB'dfE&Zpp4إ-T^ )Ul0 '**Dj]t趐feig[׊)%y"T¸s,DPeYtF)"fjz6oRZ{/t5^!yU!{lT7AĮ9mh1 QLD/!|PrC&HL[24<7RzZuࣶV|O,Cƿ1< St& ]dQ1gMr#Ԑ '<y$S hQUSN=pN\Pd"*JV^zBʕMcN|6AI0t[:h1\OuJtgCASԓOQ Ȩy%9 bs+uְVU!,~qb)EYgK;6LV#26,Y3Hj8#Alvw"e | '0u;ya _߿͢c` c@+v!T;,{/tl^7 +t'+Q8$/zAqP Iiymo)ʘ>a/k@$B~lp/=a?CMy_7r6— q@tTll%-Al4@+soE0 yuvt`2{1H dSwI51*P5t5ժ&W,$spAC<=`TjOrnz1׼~)]SFɠc<&B4O\'*a"SR#K+~ιT9G),j] # dxj<ĎtJ/)kY3kߗEJfugd۟?DxQ@d*9oظ)ŀs]ݫM&%;?h¶$ڐ?Oٛ]`]EܐcEЌftn׼v9 @Ɇf>B$|Mpk0lX+9Ke/3SգBݟ8>v솰QT!z b=pjlkLWӵ kKoDB-" X`KtQRu[2hSJIxIYs6i}?Ҙ7#7 |1sެ~30d.?~u1 c^Kւ O8ʴ4>;V$gY5}gCOFz6>Xds&ƚagzal`A y70`NHӁ,Y VS>0HLTe?ƬQ|FXkE5xm!s*H)QA c& ѭƣ_kR,.Ra}ufc%KU0io27w8yrk&PzW3㐖':mCvԤ)2F 0t"C`LMv@hQP4z `hsL9{<-! 4Y(̼?7[kRֱ80ۙZ59aEǡsxVS#u'Q%fcTPd+koD}efn0q/8:8m%fMQż$Y 0€X3wͫ.0Ʋ K82.:0%g`Hc0VsBF7sw=(0Z(!Y|/Qf(sq bFItD^1kqf+8j)­K%J b5F%$*k|rufւruL&DjT1**WUN/ǀC`뺯kL>1&hAt[z &2g9'\Uc9ίg#҅d'xP񻹘v, Nu>G۪'rj S n=s6^qذ"h:QUz"ƉIӉ"RsG6!N 0 섪mb@%&J ZhcLlC,HBbH"8F!2ժc m ~Gm9QFDqw9Bnv#6{kZL:J畽.)؞OhDqeMsj}WJp՟ L4$&0xyQ[>Rq3ua"ѩ1H|LTGʋ # qX`рD ҂]Ǝ_2RVڔl=W86HCEZ$9~ն׼*vAn\8D6:YZ CsJUo߉8gc#]ڨGW?8@OagYRR7u.|Du7=AI?j%(з*=!(t׻6MN<'"ZK(E^;%Pry)X V 2~x]U,pd(=`;qbg cJ^%"*$cs GjVP"Ȋ sS˥0d`Ç}`)U,gjCS%1 c1k꙱ !}YV6LiwZR Ȉ8aQ3S?{!{=.X>]IUqRNi:L` T*v- a,c(hmWS,#sd֝)BSܨ *-|"3p8IHY270@Xmo;ލ1oPP bif} 'hR 54|FEAY{\r YaayX'ñU+ZNQU` J[jr(^s<iY?sEXk՗Kf(PC(F˳+qsl9"LM,#A+p|p^#/sZ2l.=l 5=>DF2tSd!Cs9m (54l'#A/ж \b1"tޫ:+iȫjz1y3Yw,R on11]bU QG\{n*gιs1}%J_ Y>V,X6# i@6o̘N swKvd{>"Ϯ!H(#V߾Oc"vSE{@B\'–m*! .1M9Õ_*D& +X>Si笽c`09O>`Sw:D5b#h NĄc>i=)sΊsE+ >EѯF9Ed뉘V1؋X̰ED} AP3wGnb=b,Zj!*/ 7>my 1uf39a#4Dܮaq1/?#33¡`4Qk'Lş16n!6IVZL0BNj8v4MHvQ{fa>XTjB9 `S]Y֢>nA97LcpCvw+؈ -='jqV= 5?0L5KkKjjUPW.c[yMCi|?0#U '茕Q漮1(B` *;2𜠩j^%r||ƑI95Qa.)j֎{@} WiT$s1JaǨю6T M"s\lVY?Vs9q((ȫzI^*/YLv3ݯy#{ ȔD ߐe8ď P >DzquPJybGƄo}eHI%ڂX#1WzaaIx?>3o4̮94^E P=w>Rrcj,{5lx\{5鱕rpp[t@+ӆaΞs\(nR+i"EYLXل8&su7$6IP |ħ M? A1q/ qDtTWEԗ?1Q̸*;i8դC~j58K V `vXԽ8XtS{N[gAً";x)xo49bb?Q&<_-ܿC氊c\y7`7ڷvmE+:>9!rF|kRJDN0m^<1Q&(&Jk]iCoDzPRr^9cALWAM +(F *Tk  IT4)sECèjyc 7wet6Sb Ɇx[{0յVD9¸M3"4JލvM%8I"%焛g[!*-` Q`zE7 ]&fAq:][x#bd9wa "=E9ijl؀Tg Hڜ6~Ҥ5^R9\]ugZ,TP#sKٶEF" axu +j G3 D>9Բ]d﷪AEI 鮷6ZĻPlaRq͝wUkG4Uð znBFrҩt^ 7Wh&^7E ^~x{{<#h` 9MT$E~u6`uBlK9ל* tS{^D'H y[)(ݳEyT`ȜsYr6 +Wʔ{ߺi *`fEC~8OKK| x=эxS)4**Stxg4Ne mƫ֦G<͔a i (# ٦ Rng@o*ޘh&1yAf&(Dzw?՛ʜWsv} ƭ%lʀ6#Q@UDDe`s%2G`i19;N"&e+zBzQC9/>k=|sb@)'Wevxe;) V.Q9gll޲ $81d:U?FWK{EeP)f^L0~G(5k𽪫Ќ^5ﴟ4IFGF來5iBIlSџ\|Ǐ`@3KǯQAf zTL<>6tf΄}9x絜Fc sԩGfS_J+ fGPƉ@ݮyW` vpY@#)4"ϩhʦi*.=1P^ZktœS o=-,tVT{mH%d@%d/} fSګڦ=4Rǡk{ `"$@Hs >A>cd9S"ru (̕"3o*~k\ {WacT@ʆ2e)lPbwȎv֐+F6Ǹ:;N{5?} "UُN$,g3 pQ~01 udíp?u|Q|l,^gNsWagUhXs EÏY_c lњr՟Xz]AwUc@q>;OF9VzG0C6ĒHv||"rx7fG9l.k$D"x%)05e@+Q1~7Ew/܀_zH#I)ާAxcQ#uSp9Nt,ijskU9 VM젾wc7R1+g=?)󚤠ud{3[L ȀO 1޷Ƿ@jt2!7`"Z=VEvA*<$yT3Ay@'wϫ.HƘh0&HJUA|W)/.plk#9'לs 8ߵ= OیΈɽ e5f !VXTtar\ԚN0Jʧe*`Ăi;G$~CF_WѬG9qkm32S YV+%'PCZkbQ-bceXAjUVpq;*/5[ RDwvr9 ;(ךS$RsN$ӜJNŀ~8.Cv1mjH2-Uϒ7d$0 mY]3gG#1,9Y2>te}i~J5zCl81!,ZM;k)[QRl6$ /jy* >_B|Kۡ0CK>{ga{7?Ww%T7 h [<ƭ;]%/ˆϢZ}& 1W%!LiGJu4ݸ?P [@>OVs#)<\^3Kf,SyatͯdVIjçԌy3Vcq$8Gͅz\בmVD{A[ReI|2ƘץYW@s0]Hܮ1>=XΌVjS~uyMzr{h9%R0%Z&}ՔtHvwZjc* ,ui?1ko AաDYoQeLK!JJ *'C*KO,;*;B6Dw+c%Tw/H&Q-ZEczŁd9/ݰZ^tVޟʟxzB甭p0u# Kj̙S`xA @j8⾌KRZMڪj2"Z׎s FTl+u +Ȕ˺1VXތ1U-bsC`NE>&NК,*m 150r+g JQV)v? ?*>5Rr7ֵF/bVc]`gji*m@# ,M}eu+!¥j`cbRJ|DKEĖHxîyK@YfnDI`"%!:9b7(_8Dц9bq<9& Lh/ Tgt7ds.ꌎT8g3Ƶڀ쎽z pv 2ΟT>  FcDAc,+bCٗWy] qke'dBpl  {΋6j"9_\kd 1}D Kr8֒r*.12 4>#^M&lkZ9ϞSSs2s66Ƹ.5a1AO$҆Y$UMɇ1橖 /BTlR¨S& ?դ@A %6)Pc3ެ8;e!QD=ȶF`*cglݔa $GxT~jΌ V3*<\ ҒK-\UO >e[sI1󘝉ԯl+㚤LNJc%BWHjLin}* 'mQi;`{Ǔ> :a9 pדmJ;`N@6Gz"e>twq$PQDtp^ޢ;dyu H-V?-/rSH`$QDUWf 6xUteʳrwi1/57[g hh[}@B8$z*8i87WhqՊQ *Ï@=ΉE 9yc4ʖ>!ߌ&;Ui_fGXV뺰ré`cͻdE>Y5FriRsEmy_$#B}:GϳR)qKLquJvZcsoTj H#ҼL{+6ŏ&LCJ}E9<T5ިɎ zIR4(}oxf8UllOj?aK(QOXM2mPAA]ඵ&.=3"gy`,Xv2FFX]_#cJŌebHp'PM; 1#i{ E|C3Yf@Q\Eu{@At!z1TuqJ9x7x8T\` Hg( &N*NȠ@gUQ=KޟzEsvg'_Jj*ˉLŴO{э0"bp5۶kޥ\͋8J$h*yLݪ8lP_{?TXlʉGp>"r^u:w/@ѻUlxmOuz?0^?b8>6P B8| RȲt6<{fmXYЊ9k3{QqаXe!T!v<ƅk]3k~3cŁpu S?`~VfˀJi娔. .1>|* sMr!-S9X}T uCQZpJ?32 BDwGE n+)]:T&՚N*tѹPDA_<ǘp 5ta&_j-P=AWiRŤd`F)yE ,`Eknq]냳;̧Xp?[ZR*CqP㪓{Gl&i &LC_#Y4KVljeB 9 j! Ǟf9C:I=tWluw8ⴌ(Z"3c ȺoʞA.Gao7 GkO9!b*ґ*W+vq/NP ɶ.?>^"*qvk$@a|>ώjVs-ewtʜCou]Љ`]PU1ZqHm@1<ϻN$OM_ 9fv7c/.D lf0:g.lpӷ@ucڔmL&7c%ERkׁ̖ƶ龮T_woC;ևzCwJk "#>|3b1Ha9ZJ|Z%XoUR8` U':]D{_4VYeW&F0e`\w.ٔ  C@UoP=|&}s׮> 5dmv(D|J4?*8/I*[Ŏd"[l|)|+Gֿ.˒$Gz]#r @p^+U{FtwU2#1H@8 *3:z=5PB^JiX-i;4ҽ8͕,}R}iF6Džm_$se{WC&)+ &|%cOZ}5'CWɭ5Sq+3yƮh2xȹ&(E " s2Ee\\/33 d VdN(M[P"^DD>c(:dBot)3W'{8@"H[6AB?0ҸQ"%˦70In@l}uk*2~qCMʩߨ~p [!s뺦X:Du,\\= D=O7|QɌq\P6:2aV us5JԐ)uzVQ$!:a6J nFC漮+Ec~߷?]PVɟ_[1ģi£t4] SF(U%sڏץXD'i"=p-&fpI5re[Q[uq}Zm׵658::΁k:\zpKJg:02BWf \8 s}w'C &.2)H63fM^]SĖp{RܙٛfNlnn0'ڌ⯫Q/j%{4ab#?OL;R4SڢvSR@6A ށtD PldvB5_g(MʹaG vp%B [iT,z6K";)~xǜ":<Rk>et[qPAÏ뾘w;NܷtUY7*Q xe HK L/'U1d0.Λ(kT~|cm4V&P!xi=ҀŒ?ܦ@* 0{;VT )VTUibZO`;كS55'!EmVVKef!-Sbqγؾ$:2L{AsgZ*-)1Ul'_,N0(eT /O0U޴Bfԫ=PWE@e!EdyΆ)B((k$DMs?"]It v.:Qѵ!$zsn{VHS?Kr(pL1Bxzd s_E5Q^ eX k_7"KQ՗pyN|V'y2*i -FNJ!x]8rf. .]Mb6[u0Kx4oD'x &Gb5lt] I5uxA]{MqP3Y{- D?4ĥ6SR|Z%vNMϴQ!cu}]<8[^e{a7:C]6U h]OKG6X&XX 2F2-yG,9xQy8J L06=,کnȰ?Y=R22L VMċF=Ps;ܵLьU;cO`>To!qd.̐K` DŽa,h!s1*1Kơ@ٜ#U:ʅN h&dŇZHFhz^*Ds^fFE8 !(yOVZ^byo#vU5=Oķ1*Vr0^:+E8([~iҥ}1z:fS-!eb}Q8WUFzq“#x`C#E4yc5N2w$ྵpE't, WD>x,j" SaHO3c4Ļ(^ C"N&Pѵ,_l1BqcvII#0yczL{ ^sn%\K'z5ʟ>(lM19C0BwO7\%g5PJ#[JٸE@ځ)+~;'*59hEaEPn8qy(d9{Ō12B~?08@t*dd!0vӥm./(3pc\fQ GUls /hu]~b`{)')y_tIhk`s Y CT2 :3Ŷ| {'~vnYOk!VKu3sTTVDĿw9Ff wXܟKwօ7NmߩwqkνW2~u;[݉{c¶ߡarfxda9PSf=-7aKD? *2"69BS7&`F|>EלT`&k\o)K0S[{m%T\;-Sff)/|i8{rPu;&o"8 `z7y xX52UL}}vETK Gcɇn^ l9K3Pka'g Nz٘)gnZ﬈"E&끦aO|>sq`n4Vnq3;䧮,@}B߰"7P^A;$gmuE0Uո+T9j27$Զʔ_͆#j{Iܼ3*1'45J +rC`Kƾσ=w9o/1Ljg=8=TY$=+H7[cyMus=k@A𰚠),fvH$2Uq ):}Z,q9!_l9QW oAA^| b0[R :)v`Ba| |WjIQLE묉|¡8a`2?`]b3e@{IsТfM٘j;'e{TԱnqQI%?#`* /lNzi'$p˜}1U{{D.͢*=թN7$1*Afqs7h"cεZ-?OsO$V25'' >!^'ÑI݉ϳ 0"|2#@bH"Ëq1qD^jC9IlaGxk'^{6z KKvݛo9Enc*ݯE>xv͏F1.BxV:IPe_gh~n k);/\@cAZ1G 9¸TK\]E;o@qNE &2C&뛑.hL2{*{^R,W=ɽ78_VWD7Մ٬g`60!yM% urGӦvtI!P5S2O]-xα1EfeO4fe߱XK]r/AAt" \. Q|f'pdZe buNݼpaEχc̢)9*7Bԕ+hx7&SNY*73z5J{VQUV> QÒ2`|v3"sLu^'eKB=_H6#uCL~jD"sY9EW*!_wzmB&9aLev: [b٧ҭd%g2~Z ]۬5/Fjm @oUsF}t:ɥVU9&e&U&(Mp",7"ĬFp=B3Ol'}on"sfPcP[H7=GMՔSF*6KH]ォbz9}D %Etcω]DVt`q\NH\{(G32`6 p1G.:B+e媫3 MB던l ,">Er ,WU3|&u'fUT5SpCG@_e7&;h٢#YqzVvO< lD_ z>%BۀP0.dxPL |>ku]s~m?)L10ڋ&L7+<k(6\añ@E+SRi~,U=t`4c"'O *\>(B9U]߅Nh$Qf 82 *mp A5}\-%%&kU#$((3*kN9 |T6ӝ|=g7y0*&Ŕ[B:u-l)Α෸;Oe6G)&Gcf5O[Zň̰UЏEB* ] i tɯ״-d-gÜ5) jv⾒  t%f,R dhщI y˚̯"9Z~^1tLރssdHTo 6Aw  F#iF`E2(1V~1YA$E|sLf]d#YF? 晁c "=!A廾 ů3d[KYtq< ݴ@ SCܮ,J1%{RͻƕJU3:A|>  =q3b|2_\׍~?:E5cbk1# *' [5;7`ńħ0`0*aڄO3s@F[kEu?q|A7h2p@RKH$ay  0j)$g`NN_`YV( ZQ9糞t" yJ}9x4HH PX,9z]E AP*#>b|`C1Ϙ>EzyOΈ)E[P9` 0~' arg&W ]*p-̎R G0V Ц#h- 5z0ga yv}u]slMR_3@<̈7\XB#MĴ BxN)#`::4U,.aj'2?fzgF—JvN Ta6%>)D^8~8ZהO TcbkäIo$Z^E==FGx3'2K/t~hJYNP!'.5Fż)cV6T_Zl`{I.6$XgpJ%TG 6)){OG}hMtV}gf"2|0o*t0r ;YaZ|{ *}uZn#)%Y&*{ivvf=j:!}d%I &WIXtpq!4ͯkRL{ N5VE x1Pu*f1"ܟ1\.?"?!Dv&K ']kw -j>V;x-&Ve¼&0?20$CNĹEp'~Itܠ-WW(^]C4 Z 7d?%ğp͋#SL# R!,N.+ .D>(k!ݥ)kƩ901`ǭnUzH2yc6ࡢyKZvEMwTp M7lO'!6&jc}zm] -}SD(lb`ɛ}y&vIަr^W |G <`؈'<:+"%'ˤsʨhQ^R@CZ ze`Qךrk>NrcT`D` kDPY1(nxwIR\[$8dQ4sNWf*rH&pns^8[TiH}ΫT ۩ G5 6L b!'D1Esk°^L(/`$ aϨHN\L !T04&)۱;] s_f#ڒzC(͟c1f]@UgmW*6bєK<وyQz1?0'l z2SK1dh 8}+ Kp&~ *꿞ݔ뮬3Oqٜ:Tȯ0"|MohROO2џ:|Lh;Ki}mg_oغ1wmhHgW4a8! Cr/+d(:k[Lf8GgG)CɂjxWozVۜq+>"獞DWO|}ePQ#"'#g]T j &9y#Se-+}|nhAa@jt߁'=,nYSMlC˛Xye\cĹKcT #Vڦ@xZr\̋ƘnӐ؊ltU>W `H␓9.$^/LT!HnH F$U'2f:ܱ4kubsJkfiÈ6]8g*>FL?d `s1 2=Iup\F#]K$*<p@,v8h +^c4ո}v$A!7sN?WfxĽE ~)5.E$$w}#N"R`@k~i*ksڏGhN C0Cb=w힇91tJlsw!8swTVPd*]SZE "~ȤXGZbPRJQYS|(5WKȇ ĒdkpPT1fwtS$掃2珤}BŬe%9Fno'}HAm"8V:&! 8fst.X DZHRַzүYk^mjѯKk^LWdz }9WӵW3譊5.!]2w_g3 Dx'׋l8*fsdX#dzHC%ހZ˴cVvT 萇`>!Ti%1JO$$f4fN3;PqƵV$p}6{ B .BZKBm1E42x7_{69 \J7O'cL-:I i9 x/*uP~ _ɎH$,5:NRKR# ӇY=y#)\I#;\CۈI,=0Sa( ީQDVZqN1`7ȗնEYH=9TN'Z` ݳŪi+c4(6-2 _ɂmaĜDdڿv㔇W2hf,ᓒFE})' j޽}YɊ;/mMҝ#906C=o:L5Jz"2{L$n5-|vYX>Yg1=Mu*cIm Z'T0F;>-B%Uj)MN"A|A{9|x5s9go8nBBUX`ӹRqJC5+!k6܎ha1>Ĺiu{]T;)uΆx}{3d i:;a bB}}vW"{ë7bCs^c}Hj(!$pXFg׳"s!B㢸5u{!1ęsyq9ΓXKre+k-%8j)eu"0%6B pH|߫U:{DSuur.ae'c>YPJ>ku^[D6Z,ʷ0y>k˥+bޙyi"SÝ˕ 䞲޻gl +w6 Bne6Z0߿nvΞc`6ۉ]x}V)x{~(k٠*DpKsTEpekۀoceV9i@Aw; bNC5`:z?,"C`ms^S%N]O{h;q .+ŖY\.5"D#LL :GOAf o}GTǜ3` _<z h :&HnͩtL` w`iaUﳱ@qS|y0*jG-!/$J:=zRT` ni9 pYhJE*˔⮴>=sA77Y>ܰ/߳[6☓Ԥ0a[ԫAuG nQTcFk@z"biㅓ,f$geg>" 2zÖipB8—rx{ Y0\=31wBh >2Ň9^&$! ,bߖ\Wy'#eH@bCtA׸r0<+AR*2%nJyc;w;4i^ ֘4V3z^YK%& 5M ¤$-?YHwg@R8r,ѰY'kFD Lij0HNω1|z0 B~)?9A2Zlׄh4$=$FSWyw֕T[5v=W[{mm^(jr`aBTpkcJ ̈́wj_4"cjk-tH TZ{%Ňu4ucL׶N=41Ņ1 WT/)} |0V_R8ga[\3@*9n~BvUwpXJsqD&D fH0lu#"0w^XTEqD/@ D#5VG}[9aatk8%aEm|5%OI7T#_)| ]&07ѲRUƅZL_)Nu|5C늌ZV̠D_֭bqaDLZO_bF|ٽ6>;\Ku2}o&#WkW׋~A*hi&5*؊9mDo+G#!;)huo3-'fm92' }dz*f:̝B7=>e2>sNݼFF”ƕ^fFp)s[r˞O625ȞHPFq\ׅQ*_desiDt9'D})s}#  ,d T>Yjc80jBNeDkӽ0<7jyApi넢E/m7UWJ"FK ] jdzw#I/nR3mP /dOUhi:pX|# !T,j/d_ &(mqD4 9[`ީ4Z)pM*:﷍Ob>{찞X &)[? ]w=ޭeٛt~|oj9ͯP AMtJD7Nߟ?rgڛ&]WTjkڮ'Tڲsz1 (.;1)<+#=oc^Xf+9#s=̃ w_HW#uűWThfL3ܬ֫ Vj)']jMO8[@p>vZYט!RR?&\mi;?wZ8d8 "5ScRX h?r}).>^s7NE,h^Ӆ*.~,Sy1}1& BxJ3^TcRgH"QQ nL9ڷH-%mFMRIYJl;} IdaeܖZ߾?"^'_gpa@TBgIERFGs _MƜD`߉܇2A9Tqbu͋w> V;Z)LsV}!I$aMG MqM6PF6W@$dg9k3MLMX%?98sI7*QBIR\ gD?eFީ^jCGq/i 25a1 R5Հ j̄$CCu ,sDXpC[ڃs! n;txԵ)9څ Z&Dw?bpt̊y]V@d)M.5|['[Ɔ"A4l^= NL~S͋Ls8djc58n9d+-'^xS--mgjFc*tTs̮^+&qtތ'q +>© X "I`h*fbCTL;!/`;[.R ^"EhWwֲxN | $Pi%4XfSWOqP 9Μ=qlgWdI&C03]ٝ#\j s&acUCu#: ! =k^쵗Sf>{GsBfڋ2e: ?k`BNsaY&7Y>H#JTKqF+P, *$' l,AL&&pbJ \P)`uZ1 $ :[qv2gVK?b'CO2Cq%k_lح)-n P؊S?m^3Wv$LI5>3ީ.pԭU7Y*}κc˹Z*0~AoE6RB]-" q2nBv~wAMEeҜ)B((ERCcK nuq7߱V ڛr*ӾңYH-`څsZ,|d"Z}ofsIA6XQ~X=h='&.ٳq1<FG+v:ρ&#W?ha4_YΓM ב9gvKkyq쵅rڦm05 cR}.֠oy>{%.0 Ŕ_@|ŃjJB2ga羿/qA A1!QB~ljc}Jĕ7 gu:qkJ<9=ᢃJ@uHɦVhJ՚ElVxJGf|W탱ih =A?<;681xFZ'CJo)*{mT40b\/> u[8C<_[p1@}'9l: \ŧmz䒙PƠAnan2Ժxii_qNImeUoeZXDY/{~>CG2|dB$Ǝ4V%`0EHn0:x*ŊLS(:qĭ s޸PCU1m)9ݕ?Y@-akeY|f PY[D"Da 9_/}js6s+;XlQVk%gAE@Atri@Ws_pb1]*9pҎ:FTa;lHiN>>z/텸뜳֦+Bx wDaTfڋ递(Gҽ)&4`"︒&j1*E~,9` {(50{c U{D_׵d + յO:x;b|_)10JFQގNYA(/J.!b"=I0?4H"|qYi'KFlܪ%jk2ISMjn(s9ċ 5{3ۖ[JEC X`҈y˰6AǏ3DE?9ه_s9g*21  '"Sd,z̈8db~ ^qlYHÕ:^8q]#" >ޘ],තi+y!%L 3)Mms(1;"~F4H8AZώv{Ip"AQb{U(w>AWh.Bojs9g_vc޴,w;k?vLHR#}'5Syy]7JvZJ ՎxHr}x Ґ@ O ArG2mh;*H;)rӪMI[A)iRqP<*NFBf/h{]SnN8X*VEza+v*lY+$oXG@0db܉a`QD&Y>$h/mp"TL^H,*.$i6唳NRRd!c7tgG HIdB(*'PB175 o4悛! 2*Q`-2j*P~=BU0բOI1`},86 y_D x眣׿4vZ)r5=|Q2C˗ĦjlպƧ.Y٫#Bme0,}Ql?*lށZ\3FE& dQ %z20C]ŐU16mvW@p+cp0a"d>a-=3p:seד7|N鈇&`Vh">_@zPd/})T>T+ObQan{gÒ.‡sfyj)u!hf͒}.ë3ҿx{+ Jc,gT߽83UZ] .Fدt.J*";c"3fLcE(31 > EEgc*&g >q|,B1n@ۗE: 9G(G ~ t!'gE!g<9}㽞pV#fzރxjiS#c=^P|דAz>LYΑwC`Th]cbaln'crE\s&5\"yk#<6i槉%Jɢ+-'m2퍋6c̻r^+r3>Re=&9& s\RmMu6tSۖ A$bCْ PGrOK(HsaxyvkWϱ~oyNHh7SM]ga?lsD JTڪze܉hI< ux aP5b|#X1N\b3UHc~:'8r|S=<)c`·r>M5ײ%.?_#+ oMd 5# xYo18~QO#$pYwy jYY=7hMS4/motC G՜}ҙʌaLҬspѷeΫ44!jV"1E\@=QNl7л"7(n;fRF_>ٻɞ Vl %K#2E_XO}XpBJƘ^fVǜ/05*{8![3LTOg}\=gӠq7ƞ^s\OA_]SaT5-(%-Mj-&W>|^zP`*0|硏7f ^0ĥdw?5"8c?r_7`}斢0W) ky]L BUEXPg3˱uL=!5& bB圹R*eS#F`OwRYIm gbrΎ| \F$a9~X+Bg.u/:Fi|9_P P6fXJɀAW?~ ?f@)ܸIfv_sKܦR3CBfy3i5rA->[#n]|2\+{-A J Nkp5š\& w~| +71&(;X~ڞM}8VDV:B^U g > :I"{ucSd1ѥAI&yb9 j6}H"Y> a2 'ԭ\>q/l3VR kNsѭ'Djr3_PMGa"x5 1@cQoI1|xyͽQyF1kBueڠ)m/3"Qo\P Lm˾psL)+/R#l^,Œy1PG [BPq3T(ސKc,{.1&TLk¥u=Vi*[0'pZk/ԇW<_Bs׾`(u0>{O8ِv>{!V]$m,pa5s?(p_{b[!~X?&)7h=ڶYE} uygBk^ƽ`.\R2+qrZJ"l>." PfǺNS~ZkL<{9̜}],6b4z}g`? =kgΗa.IHp;h=<:4}-12| D9pwE(zx;LZk0˧F/p d܀vnЋex)ތkW'"zp90%f|w/fju[yy PGu?$]PtDH,ضɎ>ڮr"1Xom^^vWQIfVg{cYyN022Aܸ$5fӇb7 rJA*0wi|BoM!.`8=θ"oQ})G{CIml2o{Nf͆ȶȷ*TZĘZEE#uM4ðK{Zk0Xjb|+hJikf ȬAMhi*"RԚ>wIqb bT PBZ5QVpkl"#V惘)$м(|+Q([pT"zÍ76JUjU fr^9s6gwayǾEϨ.J^u(q9ئʏ +GO|A!RC3_1;M<> oXs4I~AD;HL'+9W1h2sc":7zr i3hXՑD!>fCeLszp$Z1u+1Tg+?Z;lG!(St-ЇC:3ao4Uiˠ٬5iAeoP 0hgb!!;a,4']s`N/Im:g FQܯp7P>Gw1ॊłl}X!npc4yJOuj`ęR]keaMH}C+R4tњ0B28Z40<]N^6/s I--I.|1 [`x㺮}v|«+*0lbQF!,X|k}F)2NQxGv,=)kH@D\KQr[)FBT֙WZkć+/t !J Iq VQuEg-kMu%b,-X؂p/jG:+9qk]~db yddCuQ N1mbZ}S'E+wAtHqVT*YM'y-+}( +!ÚY^ O/2*zб1Ȉ.Ru2ӌ`h |i= z¿tu=tsXN[:3}󁂯X lUʨQ(hhOe8keK1Paٙ-fzHD9RQN j+z0?rF3_gB}f^_J|t,w~zk wUbR)OG>%xӍbrUmocJԔMaR }LX6lx+nu(>Fi`3^:sfnT  z}<#_yG>".kfPabn>l%|QhL13JqP0vEeo~flFwG!xdq@^+ KCT5CYH 9A@+NV{J,ڄ'D|Ork‘9w !~2H1 ?E)w#jJ`8gbu|o{|cN$w5:'FNv:ǜ>oo:h eB5NlΫq"d͚9'C/UC~ߜӇw3JdPX? bR)DT̩! IY{ o(E!{g/J`c >;`I"+4+%(oHtřhdyI]gMќDY)Jo7I͟ݢv󍁌@@*Rb݂\qP<{d&]} ،9s!=ω4j;#uPQ$5U L0e7RK#!Po`}0ֳ| Tr(MċGpA ]{;qА(eUl+zXbq"u67lS7 %~LLp;N8 $lu8 [o,*Tl}͋HL;KI80w>},zՉw* 8 nVD1UاOkkS<ϝsҘiD9O\fnDBnSh /1 yYMl5B ̡;#@^eD0!HP(}Վyyo}sLs\ b4Q uFq #)ּTs"|oDZz$!ϪpSш`dc`Nƕ ﬥ)z)e#2^hIUs.ĄŒLE"?^k+wvs@6vU{ Y@X?7t؍z1k_3p2Uhsh{3LrkVTmYQS#Mw,йUR`_p9ƭ(c95'8 @[1 :b/_3sf%P*|2 0 zԿ%oHгxS̆;[ ǯ8"]s̹{eިQJ02x-z#2mpY\ Ǡ7IWҁ3UW%?:ȃ G>cRjo)F3ER+lฅ`Bɍ,-_7}0()q!$jT5:;E0sI;24ر e( Sw7-} 5#vV7y[48)`RXU s뾹(U8 U[g`F|)x26341#Q7Cރi2YGNNu]dEA7sd`4k֮2.;.Hw_%efIf,mTW21F~ڃ Jg-N϶ Оck=gUh1J1RӻZE89fv_WӘκ"Q;FnfC&wfNMbJIkTDrO[I;0v}9n<-@[gw+kdr ]@F(/m(ZSϽ/_TBBeĊJfj\}q@fâTS[u<σfMUX)ĕ8:}Tzk8Z[l5@239"Cu(QC{af;ͱP hF؝53^4` wsμfc9OSx\$қ 81LsNfɺ˫z 8ρވj\Nq2}5+љu_Tzl)LFc(ÕA@j|uMLfeVMv7u{AсZA%35^)St&YHlo{e Q@%ZT_:qݩuL{Ή: t&fš[( Uxteago,G;(VZ &C)ȴ}ֳG^<ˏ>"VH*+Q~^9V70YAxm]Ucn In[AF >n#:Vlhޚi~N0L: :*aYޡ .-= zzԞ$xv%ޣïqێ60 &D S1Z> z.tuXpB+`Iiz6:^i1p>_sc{Ok갢kaU`zI21vk|̄}/O٤)հǜ8"`P7tV(T[-bk>$lWʕ۰oL7 Gἆ9&Ԡ j:};\@@7 1nF-Zb1( T}#ڰ7t GGWJBtWVXU1"Sځ”TW%%CL5 vM$mcVc61['rxV:4 (X_TLg8v愲wan) Xv;3 ⨊php$ZXoc k@5SrB[ѦdM^rW_@ sK6],Lל3d;w/yئP^a#+~kιփcYB2bI̒(D-C,J`ՒSB& +I;mDno}3 .fV3j59>1ij*S>-Paϟjӽ 5)#q1;g!+UQ[j'{vdEm֎b37X:?|M)Ab+LzI9Dl:L8pb;lEbLnLy]; 'g$ޟ1P?eΌ_Zϳ(HTnyd4ɌY{u |u4Ey\8tRj;Q2F*Ip4b6# m0Q~>u@}p3MOfi|5488f a\oX4LFef/K{xd%faP-Sk׀?W{qzeo$IW\$) 9￿T*I/ؕ zЬcHj ^d1uzJ'!*q-)%!ฐ2 >k^lr2>QUx}G9{_tܣ7{o9(%޳^vcF&9 Rk;`4@pkĊ?"I``!$#5\1;w Q ,[J_VH݋t`{hPKc+Pu̡f{M\_XKUΉ9ƫZLDLvE"Z\kEK;ZgvlF:'G5twD}OB b~ws̷a _+d3Yk\h=G j%8çԵd[v$s?CXW.c J$y &`*:WTΰ*7@[Nm瘒oodEIUvD+Bn'eѶ+*t!DN\.3|9EJ9CJOct M\ssvtBg.@.cnM @6Jyq!st]1k*u(er!羃>T5y_b $P^@ϛNq SY‚$tħpQy+Qp h&Xv.S)c?Q!07r։" xi !o$ه!NVh!ڂ faikEոCA'Ebر('f^s{Z˱}x x~KJ0Z?&#klEjΏA眙f'nԌ+t0 rȃA=p*B"Ys3St}}N% (;[%{Q &i$i-x%9pK*Ш[$L߅[OonQLz慒pbŴA`/#Z,]F.Xϟ:6AEޠx&37b-UHJi,FPAIMM)Bf$m40M k`LPdaxWn+V4D}QTB웬ߵ275+Mgr>:J 7:^ϽS2|rAA2$,:d H:cOUё`&ED2x85Ssh<4\ئ /Ňi$FZJƁ}⋒-|<ظxiMPSWj<%J=y=P~x XnJZ =z+3U7UMv 5V}"Sѵpr3~ q316?t}^fQ>ߎs~YHH5'qZ2Bu,1n9&~p?tӅ"')?NbNƱacz_w뾮y0=9!/(n穯ɾnX9z/"L3Y;⠈f@/ 9V}(5~OR(:b:MՀb b-4b(>'Uiuyߤe ;}}}k9IkuM|5%_@ojU L$ߕgEJmN7zǖ󾱜yFऌLH80+s~¹:Й7Q!jcu^|y$mJj1㜵'D|:uv-=!`UmFҽ B1GA%j88, t:A%X{QApkRF}]8jVt?%Fc sO&:ABV%ĉ <+LP$R7xM9@07c7?HS7@KLwl yZāFB*9,11(cL$'*g4* 1p!9 Q1)>8"rޡZM:}[|7{>]7%;h{ջ/$2!V\cb12([o?%H I'x].Ot̎-#ƒT+ߨb Eq\.8b8+缑qk񬧘&6vF8*2:x`jB3o Nc@Z+3zQԫ>Q0ıwRhUM,?Lufw溜xnͯzZ YiO"!%O$=掳^63L4EJ Us};'PYGh1`6G0}GBЕ1>[$_pKw=hayϋv^ts`pАM&[v':g<4- i3;J2@iQh"2c2`#3ʰ7gÃZ9G9|< $,1&sĎ Wmf+W<quqQMɨFv7<܃s\cҼ{9sܓQ)32g:]9et.qBC v+8~yMĬ1bQ $D² .#fQl2_ON9\k jPFYs+Z+/s_{(f[ԑLGh_.JfL)sKRyfdJwȋ﷈Vքlw%8ǜ#[F < (dOFD!UTp^-SOf2/wG׉[ ?&c)2Xga.D*{PF$mD:[~%B(D:56e>}ŁSbʔ>H0'h1LW$b_~|DX6xmz3!z5Yu1;敒q}"ȸzz#z8HV ET~/2rFSW'aўY%bRͩ_8yܷQп{:y:M|_}%ҁGs@yucz4#_`b'~I\qsv5*Vyܨ,Zr[$|8s6𛉺Q'2%0|":`goSq$TMU/9'$'FgzY_a-X1kkNt"69ÏSQJ" +inw&u+CӳZ0s82l(^C渺G?iq[F ?zz]B-߻:M:G!JEF>OUy,ɲd\1@)q~7'jRbhL ӳ 0{PV 2jB3Ӫ&hM%B4bx}΍F)IHIyt&Z{91.2Ңf?ϷK%:ҭ;W#l\g/ڬ {}}_aYMj#.lVu zZv_5'$9m7RKam_K)!DdxbF_Wյ|f%a29F/4"2q%!1uak/¨+~ eM$= ڎ#Z^h W9h #wՀAכNR~ VJ ,BL sg -hY>@ͱ 4Aqs"i^n0lj3愀~\7ű S,Ζ;^1[jg#w0'VQ[EJJR|nG: (V1&@sKV-` B@ȬOjFpF`@25QS<&cPt0q`_Z*ĵU'92@;4bZ٥-B]W৳UV6WiLN|/i]k9в/$ݲ XxT>O SW-*v3ΐ1xED0: Tk;wBF91u15/>O! fgik).m W# S (5 m1=ޑoH;"y?ZKi3dGD@4G!|bHm O%RG!̔7QEs5PJā_Txe}syVkJтWơ[xYݰdj墡vzDl>PQ~*1&5Q$x8&F)wשE]%`F}] =eb} zzrI' τq()RżSP'BOP d?.9dM5)}՝u<_ØMhts̽ef(땡h{D*8؀X\˸B*F|8]>8!paESD͗.޵-+\K'w198bL)c!dۨj C!k<;;m"ܨ|"y.dhގ0w~pWnNiH3XyCUC+sspCљˣdVu8PU%~*褫}F$ "rdnsAlC72K;i eM9e~Bߦڂh槪BfBJb[^1Lh@r|RoFDQVZ=~n5e]/.F05a_3y'5[OpX\_|o+lh"IB܍3R1&l=YcDQ9Q=b`˜[B c,zܣYd^ˡT]:tL4#3g).PEڌp_wb(]ҀuG>6 Ly[*^Q׬;P֗Ҩ&'a­ϐs9?V'&h$~S[c*pad54TBJ%66cOpױ*u$#+(mܼ. 1:q*lCق5խP;<%/F [ZT-L)"@^sb=NE^=7ChPm.idkI9/ݘ]Ujo=9==8LquchK7t堄u\b2F1 CM.ULcF"ݛ,qf~KEqjc `0"@ayީcTUhDdupZ2Fafwې$CV(|W")_Q$P1?A>uSa=H1s^qrq0ec؊6t=氪{]cL>V!(UlKDJG9!]EU`a1Fʘ="TYחƤ6EU\D߉=қ#+"N ڟ%`n"S*Zl19`="51IBy^U1(_63/@hMN?ƘdS4Ч,a\Hc=s>G V \Ek~ F` x/X}6_"'ZΉ+2b{h#P28In47D]ʘ%wiKGY7ZPَJ #2c8F[&KR7辶'zD`+l4،cc'?8@,Hf 4.0)"p>.Lc81~!bD&1^(2幋pUa>7a$o%]hdHRݟJZ1ȇwHk}]:!/!zD#TM=c14T,U&QPZ^]:-|S fIARLs\x)q~yP _|Kz}m f?j.z$nnb5v7sQru"5vpuNib]apahV#b_+j@.i+uk=-Glu^yI)-#~)pXCSC+ _hM":NIlnę]fɈ99'I!3;A\2<į>h Y~]#նHIMFaf)xл:GU٢!%USs̽6nXl̼ !Y_t??Ev_4~ObaD朙7#b"b̋=Ez< #RJQ''MG6aN6O|[D2tTfr@Fu]McȢBR4'8e rS_›:y]sbFH!`ȍ) NNDK$2 dcgXA'c2d[/2;'Le 58~c2RŹhb55 $-;BHP[}<۞a(]1ƘD4Ľwi߄Ds9t0AP!G=6cLSa~7ofHk^Ww;%z j9c/⌁ÇMA` 6 uR#rcC'iL/3>MM20v>ӡ k;h^%1VɅa;XZ̮k nCE|禪 ̹-[8AF(+uM'3(&(Bx7a6/Bް3P^k> X8 ݆ MRZZye.IEp5r[헒'>p93To%F^xj>kaј|a'/#yM" lJEw\3dA#9#_Nf\zB]ESmIƜw~:]T5jCë4SR޾liFAd )buwQJS "S {T(yD'a!h/xH^x0<&۝y' g?cIb5 oϊ} Z&eh"tAs,D^5o^D\ IJ=+.&)YVbHkN,S9jz߷Z:S{JzƬr* kjl"aSU4FU8 ×u/NХY5==B)LOa=(ND$Fkj.E(zC Z'TnyRjqK!*q%Ma-w"uZJ5m(% qL h16*!lEb/"2?1Ÿբ Ǎ!2Ӫ7ۅWИf8L@0:g39&et`{Ѹ%:(_{U*J+s3E-l/FԺD,'Y8s I_LAU%4$bڡ^W >,]!=Ds ϿBm3cvNgiVRQiLH8Ka36D}64Yا?jzf:}$q=b# ¤E3*C82\K,18Txr02A=?}>ހXU_gwµk,l!}mpn("pZ3YyX1+:а^1ѕ#m[B5G`C{GLӔ̓|M=LŔ%+iYǩe)'zʒ8w*DrJiE'I"pidj.BOjTvv$- flS+%&,;֎B65fQ{H? XM𹥼, TkYh/ }V#w?{3k~#?k,YNs:EP /rX}"dLLo 먴CwT*(L`3B.L_=-FE5Ð2SG9;MSBTq@RGu`YbލeupCvW3?sxۊ)5Gn 9%5ufG!octԝ;bh "E=QD.֔QVpp_Ev]J&zx<[x#q@^IDI,2Ǵ@:MNb:}}Du_p2'ͣx"N}xb,_mXeY!ڤ x^Qb|#KWQ!zâ = U S2nV❤Q *G 7cVdJe>H"v(}USY_=2mFNh?d?5< jxǘYodRoҢX} "6.fvAW|>Mɀ0="'#t{24qi?x "Y>C_iyg5AߺZJF-h0n?%ۣP2EUٜpOۛ~OR2WGu7AE}ܡьu;{妔QBQ#.m~u "+X4sNDFDhQd1wꘈsBlBKwqFT,LSp r]--86LpDğg >B:GB(y*s}p}؇j1fԮ9+ǀ?TH2 $U C콗Ѿ vObt9dE@|pʙEmmd4Uh0345X{.g-}W$ÐB 99S:cZ܄7LX9ױ7 B &{!KQmN)g{9F禔^ǘ9&oJEjU#?hj@UȵBt*j$ بiF=&}Vn-*d4~r;vBMy2 b"C j 9Ɯ&jʥ9l}k*i3^+1hTJM:Mi^:4"An jq4,!o}n9IU[! =#[cg}r- L*Eccb U. +Aj#]xsXީ{/7UC|ιM!Vz>@#GxbgEo`j h0Aqy 3A,:7H)ɮlJ}ʆ :J} y\1D =^ ţo$C0 ZIf -a,G+*@^bO}h$ՙW 3#lu`D 샵`wJ־8DlDBe쳰8lfaе{,w>-YPݱ>##:v"e(u*g R kz~tjP,6*3>ss;EVsTEwx+aFq*,3lq0`/?)#ͪZC KEG՚NۉS8#Kst577fDj8Z2[.d^[M'kWTٹKA~ze8y*%ל8Ȑt*8CdM9ϪAϥS̬&`RY- ȀEL͏;в0O@ĄzΎ ײN&U!lm6%jD}>qb8V3^g54ɟH2|Sĉ{rQVKJRLـHE0Yo>yf:~23S"h2u](IR҅" s}zDtkmS^r4OPU|j);(0=5(ɉȴdP ^$tADzHp?xϡN.P;qzM:,UZZu(EtbdfSq_RV =`x qPsQabjf=a] ^dnD4Ϗ8CǽNmt2CUtgfbs󇣵>ST`C "ˌ{> kQ\o+@fWA* Dl+{9ZpbSiDxa.DQg͉Wʺ22MeZX]: szH.JTI[kϟ?/}=~܊!0 ^S#iSJ:D+|v\`"l" p&!^^ ƽ(Lt+iw4`ck7!a2(AJiҷ?eNWc~>*[ @]IN*#5]< 8Q)ϩV4x$J~GӤC@VZfωS'mPU*I%L5 zeë\]ZĔZQ8KR"f*ɳG+xNÚ*]`YrPckQuV/e}cӅ}+cpBO4H`.pWVI_`J3l3'd0٤ac$Y!-/g\LƲVЌd&1[ABU};8 KgE!'Jz f W,aUC,rɶՎ'!xײsN.P}l[soaYҌ%}Ӕb37[ hYeԗ+IOgBS$nVY68ee L!qJ~p̈́MFEDzZ*EnOZG2y`g9=b_0!$T( i*qtXKE]$׾Pw".榤Ӑt[+;XjAT!-*$ ק?IENDB`dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/0000755000015301777760000000000012323307356021610 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/HistoryDelegate.qml0000644000015301777760000001724012323306661025421 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItem import Ubuntu.Components.Popups 0.1 import Ubuntu.Telephony 0.1 import Ubuntu.Contacts 0.1 import QtContacts 5.0 import "dateUtils.js" as DateUtils ListItem.Empty { id: historyDelegate property bool incoming: model.senderId != "self" property bool unknownContact: contactWatcher.contactId == "" property string phoneNumberSubTypeLabel: "" property alias isFirst: timeline.isFirst property alias contactId: contactWatcher.contactId property bool detailsShown: false property alias interactive: contactWatcher.interactive property alias animating: detailsToggleAnimation.running height: mainSection.height + (detailsShown ? pickerLoader.height : 0) removable: true confirmRemoval: true showDivider: true clip: true Behavior on height { UbuntuNumberAnimation { id: detailsToggleAnimation } } onItemRemoved: { historyEventModel.removeEvent(model.accountId, model.threadId, model.eventId, model.type) } function selectIcon() { if (model.callMissed) { return "missed-call"; } else if (incoming) { return "incoming-call"; } else { return "outgoing-call"; } } Item { id: helper function updateSubTypeLabel() { phoneNumberSubTypeLabel = contactWatcher.isUnknown ? model.participants[0] : phoneTypeModel.get(phoneTypeModel.getTypeIndex(phoneDetail)).label } Component.onCompleted: updateSubTypeLabel() ContactWatcher { id: contactWatcher // FIXME: handle conf calls phoneNumber: model.participants[0] onPhoneNumberContextsChanged: helper.updateSubTypeLabel() onPhoneNumberSubTypesChanged: helper.updateSubTypeLabel() onIsUnknownChanged: helper.updateSubTypeLabel() } PhoneNumber { id: phoneDetail contexts: contactWatcher.phoneNumberContexts subTypes: contactWatcher.phoneNumberSubTypes } ContactDetailPhoneNumberTypeModel { id: phoneTypeModel Component.onCompleted: helper.updateSubTypeLabel() } } Timeline { id: timeline anchors.top: parent.top anchors.bottom: parent.bottom anchors.left: parent.left anchors.leftMargin: units.gu(1) mainAreaHeight: mainSection.height } Item { id: mainSection anchors.left: timeline.right anchors.right: selectionMark.left anchors.top: parent.top height: units.gu(8) UbuntuShape { id: avatar anchors.left: parent.left anchors.leftMargin: units.gu(1) anchors.verticalCenter: parent.verticalCenter height: units.gu(6) width: height image: Image { property bool defaultAvatar: unknownContact || contactWatcher.avatar == "" fillMode: Image.PreserveAspectCrop asynchronous: true source: defaultAvatar ? Qt.resolvedUrl("../assets/contact_defaulticon.png") : contactWatcher.avatar sourceSize.width: defaultAvatar ? undefined : width * 1.5 sourceSize.height: defaultAvatar ? undefined : height * 1.5 } } Label { id: titleLabel anchors { top: parent.top topMargin: units.gu(2) left: avatar.right leftMargin: units.gu(2) right: time.left rightMargin: units.gu(1) } height: units.gu(2) verticalAlignment: Text.AlignVCenter fontSize: "medium" text: contactWatcher.alias != "" ? contactWatcher.alias : i18n.tr("Unknown") elide: Text.ElideRight } Label { id: phoneLabel anchors { bottom: parent.bottom bottomMargin: units.gu(2) left: avatar.right leftMargin: units.gu(2) } height: units.gu(2) verticalAlignment: Text.AlignVCenter fontSize: "small" opacity: 0.2 // FIXME: handle conference call text: phoneNumberSubTypeLabel visible: interactive // non-interactive entries are calls from unknown or private numbers } Icon { id: phoneIcon anchors { left: phoneLabel.right leftMargin: units.gu(1) verticalCenter: phoneLabel.verticalCenter } width: units.gu(1.5) height: width name: selectIcon() } // time and duration on the right side of the delegate Label { id: time anchors { right: parent.right rightMargin: units.gu(2) verticalCenter: titleLabel.verticalCenter } height: units.gu(2) verticalAlignment: Text.AlignVCenter fontSize: "small" text: Qt.formatTime(model.timestamp, "hh:mm") } Label { id: duration anchors { right: parent.right rightMargin: units.gu(2) verticalCenter: phoneLabel.verticalCenter } height: units.gu(2) verticalAlignment: Text.AlignVCenter fontSize: "small" opacity: 0.2 text: DateUtils.formatFriendlyCallDuration(model.callDuration) visible: !model.callMissed } } Rectangle { id: selectionMark anchors { top: parent.top bottom: parent.bottom right: parent.right } color: "black" opacity: historyDelegate.selected ? 1.0 : 0.0 visible: opacity > 0.0 width: historyDelegate.selected ? units.gu(5) : 0 Behavior on opacity { UbuntuNumberAnimation { } } Behavior on width { UbuntuNumberAnimation { } } Icon { name: "select" height: units.gu(3) width: height anchors.centerIn: parent } } Loader { id: pickerLoader source: historyDelegate.detailsShown ? Qt.resolvedUrl("CallLogContactDelegate.qml") : "" anchors { top: mainSection.bottom left: parent.left leftMargin: units.gu(2) right: parent.right } onStatusChanged: { if (status == Loader.Ready) { pickerLoader.item.phoneNumber = participants[0] pickerLoader.item.contactId = historyDelegate.contactId pickerLoader.item.accountId = accountId } } Connections { target: pickerLoader.item onItemClicked: historyList.currentContactExpanded = -1 } } } dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/ExpandableButton.qml0000644000015301777760000000246212323306661025564 0ustar pbusernogroup00000000000000/* * Copyright (C) 2013 Canonical, Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItem ListItem.Empty { property alias text: label.text property alias fontSize: label.fontSize property alias iconName: icon.name Label { id: label anchors { left: parent.left leftMargin: units.gu(2) verticalCenter: parent.verticalCenter } fontSize: "medium" } Icon { id: icon anchors { right: parent.right rightMargin: units.gu(2) verticalCenter: parent.verticalCenter } width: units.gu(2) height: width color: "white" } } dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/dateUtils.js0000644000015301777760000000426112323306661024105 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ function areSameDay(date1, date2) { return date1.getFullYear() == date2.getFullYear() && date1.getMonth() == date2.getMonth() && date1.getDate() == date2.getDate() } function formatLogDate(timestamp) { var today = new Date() var date = new Date(timestamp) if (areSameDay(today, date)) { return Qt.formatTime(timestamp, Qt.DefaultLocaleShortDate) } else { return Qt.formatDateTime(timestamp, Qt.DefaultLocaleShortDate) } } function friendlyDay(timestamp) { var date = new Date(timestamp); var today = new Date(); var yesterday = new Date(); yesterday.setDate(today.getDate()-1); if (areSameDay(today, date)) { return i18n.tr("Today"); } else if (areSameDay(yesterday, date)) { return i18n.tr("Yesterday"); } else { return Qt.formatDate(date, Qt.DefaultLocaleShortDate); } } function formatFriendlyDate(timestamp) { return Qt.formatTime(timestamp, Qt.DefaultLocaleShortDate) + " - " + friendlyDay(timestamp); } function formatFriendlyCallDuration(duration) { var text = ""; var hours = parseInt(Qt.formatTime(duration, "hh")); var minutes = parseInt(Qt.formatTime(duration, "mm")); var seconds = parseInt(Qt.formatTime(duration, "ss")); if (hours > 0) { text = i18n.tr("%1 hour", "%1 hours", hours).arg(hours) } else if (minutes > 0) { text = i18n.tr("%1 min", "%1 mins", minutes).arg(minutes) } else { text = i18n.tr("%1 sec", "%1 secs", seconds).arg(seconds) } return text; } dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/CallLogContactDelegate.qml0000644000015301777760000001130012323306661026600 0ustar pbusernogroup00000000000000/* * Copyright (C) 2012-2013 Canonical, Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItem import Ubuntu.Components.Popups 0.1 import Ubuntu.Contacts 0.1 Item { property string phoneNumber: "" property string contactId: "" property string accountId: "" property bool unknownContact: contactId === "" signal itemClicked() height: details.height + units.gu(1) Component { id: newContactDialog Dialog { id: dialogue objectName: "saveContactDialog" title: i18n.tr("Save contact") text: i18n.tr("How do you want to save the contact?") Button { objectName: "addToExistingContactButton" text: i18n.tr("Add to existing contact") color: UbuntuColors.orange onClicked: { PopupUtils.close(dialogue) PopupUtils.open(addPhoneNumberToContactSheet) } } Button { objectName: "addNewContactButton" text: i18n.tr("Create new contact") color: UbuntuColors.warmGrey onClicked: { mainView.addNewContact(phoneNumber) PopupUtils.close(dialogue) } } Button { objectName: "saveContactDialogCancelButton" text: i18n.tr("Cancel") color: UbuntuColors.warmGrey onClicked: { PopupUtils.close(dialogue) } } } } Component { id: addPhoneNumberToContactSheet DefaultSheet { // FIXME: workaround to set the contact list // background to black Rectangle { anchors.fill: parent anchors.margins: -units.gu(1) color: "#221e1c" } id: sheet title: i18n.tr("Add Contact") doneButton: false modal: true contentsHeight: parent.height contentsWidth: parent.width ContactListView { anchors.fill: parent onContactClicked: { mainView.addPhoneNumberToExistingContact(contact.contactId, phoneNumber) PopupUtils.close(sheet) } } } } UbuntuShape { id: details height: childrenRect.height color: Qt.rgba(0,0,0,0.1) anchors { top: parent.top left: parent.left leftMargin: units.gu(2) right: parent.right rightMargin: units.gu(2) } Column { id: detailItems anchors.top: parent.top height: childrenRect.height width: parent.width ExpandableButton { objectName: "logCallButton" text: i18n.tr("Call now") fontSize: "medium" iconName: "call-start" onClicked: { mainView.call(phoneNumber, accountId) itemClicked() } } ExpandableButton { objectName: "logMessageButton" text: i18n.tr("Send text message") fontSize: "small" iconName: "messages" onClicked: { mainView.sendMessage(phoneNumber) } } ExpandableButton { objectName: "logAddContactButton" showDivider: false text: unknownContact ? i18n.tr("Save contact") : i18n.tr("View contact") fontSize: "small" iconName: unknownContact ? "new-contact" : "contact" onClicked: { if (unknownContact) { PopupUtils.open(newContactDialog) } else { mainView.viewContact(contactId) } } } } } } dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/Timeline.qml0000644000015301777760000000337712323306661024101 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 Item { property bool isFirst: false property alias mainAreaHeight: mainArea.height width: units.gu(2) height: units.gu(9) Item { id: mainArea anchors { left: parent.left right: parent.right top: parent.top } height: units.gu(9) } BorderImage { id: topLine visible: !isFirst anchors.top: parent.top anchors.bottom: circle.top anchors.horizontalCenter: parent.horizontalCenter source: "../assets/timeline_vertical_line.sci" smooth: true } Image { id: circle anchors.verticalCenter: mainArea.verticalCenter anchors.horizontalCenter: parent.horizontalCenter source: "../assets/timeline_circle.png" smooth: true } BorderImage { id: bottomLine anchors.top: circle.bottom anchors.bottom: parent.bottom anchors.horizontalCenter: mainArea.horizontalCenter source: "../assets/timeline_vertical_line.sci" smooth: true } } dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/CMakeLists.txt0000644000015301777760000000036412323306661024351 0ustar pbusernogroup00000000000000file(GLOB HISTORY_QML_JS_FILES *.qml *.js) # make the files visible on qtcreator add_custom_target(dialer_history_QMlFiles ALL SOURCES ${HISTORY_QML_JS_FILES}) install(FILES ${HISTORY_QML_JS_FILES} DESTINATION ${DIALER_APP_DIR}/HistoryPage) dialer-app-0.1+14.04.20140415/src/qml/HistoryPage/HistoryPage.qml0000644000015301777760000001163312323306661024563 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItem import Ubuntu.History 0.1 import Ubuntu.Telephony 0.1 import Ubuntu.Contacts 0.1 import "dateUtils.js" as DateUtils Page { id: historyPage objectName: "historyPage" tools: ToolbarItems { opened: false locked: true } property string searchTerm HistoryEventModel { id: historyEventModel type: HistoryThreadModel.EventTypeVoice sort: HistorySort { sortField: "timestamp" sortOrder: HistorySort.DescendingOrder } } SortProxyModel { id: sortProxy sortRole: HistoryEventModel.TimestampRole sourceModel: historyEventModel ascending: false } MultipleSelectionListView { id: historyList objectName: "historyList" Connections { target: Qt.application onActiveChanged: { if (!Qt.application.active) { historyList.currentContactExpanded = -1 } } } property int currentContactExpanded: -1 anchors.fill: parent listModel: sortProxy acceptAction.text: i18n.tr("Delete") section.property: "date" section.delegate: Item { anchors.left: parent.left anchors.right: parent.right height: units.gu(5) Label { anchors.left: parent.left anchors.leftMargin: units.gu(2) anchors.verticalCenter: parent.verticalCenter fontSize: "medium" elide: Text.ElideRight color: "gray" opacity: 0.6 text: DateUtils.friendlyDay(Qt.formatDate(section, "yyyy/MM/dd")); verticalAlignment: Text.AlignVCenter } ListItem.ThinDivider { anchors.bottom: parent.bottom } } onSelectionDone: { for (var i=0; i < items.count; i++) { var event = items.get(i).model historyEventModel.removeEvent(event.accountId, event.threadId, event.eventId, event.type) } } listDelegate: delegateComponent Component { id: delegateComponent HistoryDelegate { id: historyDelegate objectName: "historyDelegate" + index anchors.left: parent.left anchors.right: parent.right selected: historyList.isSelected(historyDelegate) isFirst: model.index == 0 removable: !historyList.isInSelectionMode Item { Connections { target: historyList onCurrentContactExpandedChanged: { if (index != historyList.currentContactExpanded) { historyDelegate.detailsShown = false } } } } onPressAndHold: { if (!historyList.isInSelectionMode) { historyList.startSelection() } historyList.selectItem(historyDelegate) } onClicked: { if (historyList.isInSelectionMode) { if (!historyList.selectItem(historyDelegate)) { historyList.deselectItem(historyDelegate) } return } if (!interactive) { return; } if (historyList.currentContactExpanded == index) { historyList.currentContactExpanded = -1 detailsShown = false return // expand and display the extended options } else { historyList.currentContactExpanded = index detailsShown = !detailsShown } } } } } Scrollbar { flickableItem: historyList align: Qt.AlignTrailing } } dialer-app-0.1+14.04.20140415/src/qml/DialerPage/0000755000015301777760000000000012323307356021347 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/qml/DialerPage/CallButton.qml0000644000015301777760000000221012323306661024122 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 AbstractButton { id: button width: units.gu(18) height: units.gu(6) opacity: button.pressed ? 0.5 : (enabled ? 1 : 0.2) UbuntuShape { anchors.fill: parent color: "#0F8B21" gradientColor: "#37B349" radius: "medium" } Icon { anchors.centerIn: parent width: units.gu(4) height: units.gu(4) name: "call-start" color: "white" z: 1 } } dialer-app-0.1+14.04.20140415/src/qml/DialerPage/DialerPage.qml0000644000015301777760000001617512323306661024067 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtContacts 5.0 import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.Popups 0.1 import Ubuntu.Telephony 0.1 import Ubuntu.Contacts 0.1 import Ubuntu.Components.ListItems 0.1 as ListItems Page { id: page property string voicemailNumber: callManager.voicemailNumber property alias dialNumber: keypadEntry.value property alias input: keypadEntry.input tools: ToolbarItems { opened: false locked: true } onDialNumberChanged: { if(checkUSSD(dialNumber)) { // check for custom strings if (dialNumber == "*#06#") { dialNumber = "" mainView.ussdResponseTitle = "IMEI" // TODO: handle dual sim mainView.ussdResponseText = ussdManager.serial(telepathyHelper.accountIds[0]) PopupUtils.open(ussdResponseDialog) } } } FocusScope { id: keypadContainer anchors.fill: parent focus: true Rectangle { id: keypadEntryBackground anchors.top: parent.top anchors.left: parent.left anchors.right: parent.right anchors.bottom: keypad.top anchors.bottomMargin: units.gu(1.5) color: "#FFFFFF" opacity: 0.05 } KeypadEntry { id: keypadEntry // TODO: remove anchors.top once the new tabs are implemented anchors.top: parent.top anchors.topMargin: units.gu(2) anchors.bottom: contactSearch.top anchors.left: parent.left anchors.right: parent.right anchors.bottomMargin: units.gu(1) focus: true placeHolder: i18n.tr("Enter a number") Keys.forwardTo: [callButton] } ContactSearchListView { id: contactSearch property string searchTerm: keypadEntry.value != "" ? keypadEntry.value : "some value that won't match" anchors { left: parent.left right: parent.right bottom: keypadEntryBackground.bottom margins: units.gu(0.5) } states: [ State { name: "empty" when: contactSearch.count == 0 PropertyChanges { target: contactSearch height: 0 } } ] Behavior on height { UbuntuNumberAnimation { } } filter: UnionFilter { DetailFilter { detail: ContactDetail.Name field: Name.FirstName value: contactSearch.searchTerm matchFlags: DetailFilter.MatchKeypadCollation | DetailFilter.MatchContains } DetailFilter { detail: ContactDetail.Name field: Name.LastName value: contactSearch.searchTerm matchFlags: DetailFilter.MatchContains | DetailFilter.MatchKeypadCollation } DetailFilter { detail: ContactDetail.PhoneNumber field: PhoneNumber.Number value: contactSearch.searchTerm matchFlags: DetailFilter.MatchPhoneNumber } DetailFilter { detail: ContactDetail.PhoneNumber field: PhoneNumber.Number value: contactSearch.searchTerm matchFlags: DetailFilter.MatchContains } } // FIXME: uncomment this code if we end up having both the header and the toolbar. /*onCountChanged: { if (count > 0) { page.header.hide(); } else { page.header.show(); } }*/ onDetailClicked: { mainView.call(detail.number); } } ListItems.ThinDivider { id: divider anchors.left: parent.left anchors.right: parent.right anchors.bottom: keypadEntryBackground.bottom } Keypad { id: keypad anchors.bottom: footer.top anchors.horizontalCenter: parent.horizontalCenter onKeyPressed: { if (input.cursorPosition != 0) { var position = input.cursorPosition; input.text = input.text.slice(0, input.cursorPosition) + label + input.text.slice(input.cursorPosition); input.cursorPosition = position +1 ; } else { keypadEntry.value += label } } } Item { id: footer anchors.left: parent.left anchors.right: parent.right anchors.bottom: parent.bottom height: units.gu(10) CallButton { id: callButton objectName: "callButton" anchors.bottom: footer.bottom anchors.bottomMargin: units.gu(2) anchors.horizontalCenter: parent.horizontalCenter onClicked: { console.log("Starting a call to " + keypadEntry.value); mainView.call(keypadEntry.value); keypadEntry.value = ""; } enabled: dialNumber != "" && telepathyHelper.connected } CustomButton { id: backspace objectName: "eraseButton" anchors.left: callButton.right anchors.verticalCenter: callButton.verticalCenter anchors.leftMargin: units.gu(2) width: units.gu(7) height: units.gu(7) icon: "erase" lighten: input.text != "" iconWidth: units.gu(3) iconHeight: units.gu(3) onPressAndHold: input.text = "" onClicked: { if (input.cursorPosition != 0) { var position = input.cursorPosition; input.text = input.text.slice(0, input.cursorPosition - 1) + input.text.slice(input.cursorPosition); input.cursorPosition = position - 1; } } } } } } dialer-app-0.1+14.04.20140415/src/qml/DialerPage/KeypadButton.qml0000644000015301777760000000461112323306661024473 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 AbstractButton { id: button width: units.gu(11.33) height: units.gu(7) property alias label: labelItem.text property alias sublabel: sublabelItem.text property alias sublabelSize: sublabelItem.fontSize property alias iconSource: subImage.name property int keycode property bool isCorner: false property int corner Item { height: childrenRect.height width: parent.width clip: true anchors.centerIn: parent scale: button.pressed ? 0.9 : 1 Behavior on scale { UbuntuNumberAnimation { duration: 250 } } Label { id: labelItem anchors.top: parent.top anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenterOffset: -units.gu(0.5) horizontalAlignment: Text.AlignHCenter fontSize: "large" height: paintedHeight font.weight: Font.DemiBold verticalAlignment: Text.AlignTop color: "#F3F3E7" } Label { id: sublabelItem anchors.top: labelItem.bottom anchors.topMargin: units.dp(1.5) anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter fontSize: "x-small" color: "#888888" } Icon { id: subImage visible: name != "" anchors.top: labelItem.bottom anchors.horizontalCenter: parent.horizontalCenter anchors.topMargin: units.dp(1.5) opacity: 0.8 width: units.gu(2) height: units.gu(2) } } } dialer-app-0.1+14.04.20140415/src/qml/DialerPage/CMakeLists.txt0000644000015301777760000000035712323306661024112 0ustar pbusernogroup00000000000000file(GLOB DIALER_QML_JS_FILES *.qml *.js) # make the files visible on qtcreator add_custom_target(dialer_dialer_QMlFiles ALL SOURCES ${DIALER_QML_JS_FILES}) install(FILES ${DIALER_QML_JS_FILES} DESTINATION ${DIALER_APP_DIR}/DialerPage) dialer-app-0.1+14.04.20140415/src/qml/DialerPage/KeypadEntry.qml0000644000015301777760000000677312323306661024334 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItems FocusScope { id: keypadEntry property alias value: input.text property alias input: input property alias placeHolder: hint.text property alias placeHolderPixelFontSize: hint.font.pixelSize // FIXME: enable this once the new tabs are implemented //height: units.gu(11) TextInput { id: input property bool __adjusting: false anchors.left: parent.left anchors.leftMargin: units.gu(2) anchors.right: parent.right anchors.rightMargin: units.gu(2) anchors.verticalCenter: parent.verticalCenter horizontalAlignment: TextInput.AlignHCenter text: "" font.pixelSize: units.dp(39) font.weight: Font.Light font.family: "Ubuntu" color: "#AAAAAA" maximumLength: 20 focus: true cursorVisible: true clip: true opacity: 0.9 // Use a custom cursor that does not blink to avoid extra CPU usage. // https://bugs.launchpad.net/dialer-app/+bug/1188669 cursorDelegate: Rectangle { anchors.top: parent.top anchors.bottom: parent.bottom width: units.dp(3) color: "#DD4814" visible: input.text != "" } // force cursor to be always visible onCursorVisibleChanged: { if (!cursorVisible) cursorVisible = true } onContentWidthChanged: { // avoid infinite recursion here if (__adjusting) { return; } __adjusting = true; // start by resetting the font size to discover the scale that should be used font.pixelSize = units.dp(39); // check if it really needs to be scaled if (contentWidth > width) { var factor = width / contentWidth; font.pixelSize = font.pixelSize * factor; } __adjusting = false; } } MouseArea { anchors.fill: input property bool held: false onClicked: { input.cursorPosition = input.positionAt(mouseX,TextInput.CursorOnCharacter) } onPressAndHold: { if (input.text != "") { held = true input.selectAll() input.copy() } else { input.paste() } } onReleased: { if(held) { input.deselect() held = false } } } Label { id: hint visible: input.text == "" anchors.centerIn: input text: "" fontSize: "x-large" font.weight: Font.Light font.family: "Ubuntu" color: "#464646" opacity: 0.9 } } dialer-app-0.1+14.04.20140415/src/qml/DialerPage/CustomButton.qml0000644000015301777760000000215412323306661024530 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 Button { // FIXME: waiting on #1072733 //iconSource: "../assets/dialer_call.png" property alias icon: buttonIcon.name property alias iconWidth: buttonIcon.width property alias iconHeight: buttonIcon.height property bool lighten: false Icon { id: buttonIcon anchors.centerIn: parent color: lighten ? "white" : UbuntuColors.warmGrey } color: "transparent" } dialer-app-0.1+14.04.20140415/src/qml/DialerPage/Keypad.qml0000644000015301777760000001326312323306661023302 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItems UbuntuShape { id: keypad property int keysWidth: units.gu(11.33) property int keysHeight: units.gu(7) width: keys.width height: keys.height radius: "medium" color: Qt.rgba(0, 0, 0, 0.2) signal keyPressed(int keycode, string label) Item { id: gridLinesVertical height: gridLinesHorizontal.width width: gridLinesHorizontal.height rotation: -90 anchors.centerIn: gridLinesHorizontal Column { anchors.fill: parent Repeater { model: 2 Item { height: keysWidth width: keysHeight*4 ListItems.ThinDivider { anchors.bottom: parent.bottom } } } } } Item { id: gridLinesHorizontal anchors.fill: keys Column { anchors.fill: parent Repeater { model: 3 Item { height: keysHeight width: keysWidth*3 ListItems.ThinDivider { anchors.bottom: parent.bottom } } } } } Grid { id: keys rows: 4 columns: 3 anchors.centerIn: parent KeypadButton { objectName: "buttonOne" width: keysWidth height: keysHeight label: i18n.tr("1") keycode: Qt.Key_1 onClicked: keypad.keyPressed(keycode, label) onPressAndHold: mainView.callVoicemail() iconSource: "voicemail" } KeypadButton { objectName: "buttonTwo" width: keysWidth height: keysHeight label: i18n.tr("2") sublabel: i18n.tr("ABC") keycode: Qt.Key_2 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonThree" width: keysWidth height: keysHeight label: i18n.tr("3") sublabel: i18n.tr("DEF") keycode: Qt.Key_3 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonFour" width: keysWidth height: keysHeight label: i18n.tr("4") sublabel: i18n.tr("GHI") keycode: Qt.Key_4 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonFive" width: keysWidth height: keysHeight label: i18n.tr("5") sublabel: i18n.tr("JKL") keycode: Qt.Key_5 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonSix" width: keysWidth height: keysHeight label: i18n.tr("6") sublabel: i18n.tr("MNO") keycode: Qt.Key_6 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonSeven" width: keysWidth height: keysHeight label: i18n.tr("7") sublabel: i18n.tr("PQRS") keycode: Qt.Key_7 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonEight" width: keysWidth height: keysHeight label: i18n.tr("8") sublabel: i18n.tr("TUV") keycode: Qt.Key_8 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonNine" width: keysWidth height: keysHeight label: i18n.tr("9") sublabel: i18n.tr("WXYZ") keycode: Qt.Key_9 onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonAsterisk" width: keysWidth height: keysHeight isCorner: true corner: Qt.BottomLeftCorner label: i18n.tr("*") keycode: Qt.Key_Asterisk onClicked: keypad.keyPressed(keycode, label) } KeypadButton { objectName: "buttonZero" width: keysWidth height: keysHeight label: i18n.tr("0") sublabel: i18n.tr("+") sublabelSize: "medium" keycode: Qt.Key_0 onClicked: keypad.keyPressed(keycode, label) onPressAndHold: keypad.keyPressed(keycode, sublabel) } KeypadButton { objectName: "buttonHash" width: keysWidth height: keysHeight isCorner: true corner: Qt.BottomRightCorner label: i18n.tr("#") keycode: Qt.Key_ssharp onClicked: keypad.keyPressed(keycode, label) } } } dialer-app-0.1+14.04.20140415/src/qml/CMakeLists.txt0000644000015301777760000000063412323306661022113 0ustar pbusernogroup00000000000000file(GLOB QML_JS_FILES *.qml *.js) # make the files visible on qtcreator add_custom_target(dialer_app_QMlFiles ALL SOURCES ${QML_JS_FILES}) set(ASSETS_DIR assets) install(FILES ${QML_JS_FILES} DESTINATION ${DIALER_APP_DIR}) install(DIRECTORY ${ASSETS_DIR} DESTINATION ${DIALER_APP_DIR}) add_subdirectory(DialerPage) add_subdirectory(HistoryPage) add_subdirectory(LiveCallPage) add_subdirectory(ContactsPage) dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/0000755000015301777760000000000012323307356021642 5ustar pbusernogroup00000000000000dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/ConferenceCallDisplay.qml0000644000015301777760000001032212323306661026542 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItem import Ubuntu.Telephony 0.1 Column { id: conferenceCallArea property QtObject conference: null spacing: units.gu(1) visible: opacity > 0 Behavior on opacity { UbuntuNumberAnimation { } } Repeater { id: repeater model: conference ? conference.calls : null ListItem.Empty { id: callDelegate property QtObject callEntry: modelData removable: true confirmRemoval: true showDivider: false height: (conferenceCallArea.height - units.gu(repeater.count-1)) / (repeater.count > 0 ? repeater.count : 1) anchors { left: parent.left right: parent.right } backgroundIndicator: Rectangle { id: body anchors.fill: parent color: "red" clip: true Row { anchors { top: parent.top bottom: parent.bottom right: parent.right rightMargin: units.gu(2) } spacing: units.gu(2) Icon { name: "call-end" color: "white" anchors { verticalCenter: parent.verticalCenter } width: units.gu(5) height: units.gu(5) } Label { text: i18n.tr("Hangup") verticalAlignment: Text.AlignVCenter anchors { verticalCenter: parent.verticalCenter } width: units.gu(7) fontSize: "medium" } } } onItemRemoved: callEntry.endCall() Rectangle { color: callEntry.held ? "black" : "white" opacity: 0.5 anchors.fill: parent radius: units.gu(0.5) antialiasing: true Behavior on color { ColorAnimation { duration: 150 } } } ContactWatcher { id: watcher phoneNumber: callEntry.phoneNumber } Label { id: aliasLabel fontSize: "large" anchors { left: parent.left top: parent.top margins: units.gu(1) } text: watcher.alias != "" ? watcher.alias : watcher.phoneNumber; } Label { fontSize: "medium" anchors { left: parent.left top: aliasLabel.bottom margins: units.gu(1) } text: callEntry.held ? i18n.tr("on hold") : i18n.tr("active") } Button { text: i18n.tr("Private") anchors { verticalCenter: parent.verticalCenter right: parent.right rightMargin: units.gu(1) } visible: !callManager.backgroundCall onClicked: callEntry.splitCall() } } } } dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/MultiCallDisplay.qml0000644000015301777760000001276212323306661025577 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 import Ubuntu.Telephony 0.1 Column { id: multiCallArea property variant calls: null spacing: units.gu(1) visible: opacity > 0 Behavior on opacity { UbuntuNumberAnimation { } } Repeater { id: multiCallRepeater model: multiCallArea.calls Item { id: callDelegate property QtObject callEntry: modelData property bool isLast: index == (multiCallRepeater.count - 1) height: backgroundRect.height + (isLast ? 0 : mergeButton.height + units.gu(1)) anchors { left: parent.left right: parent.right } Image { id: avatar anchors.fill: backgroundRect source: watcher.avatar fillMode: Image.PreserveAspectCrop smooth: true Rectangle { anchors { left: parent.left top: parent.top right: parent.right } height: units.gu(8) color: "black" opacity: avatar.status == Image.Ready && !callEntry.held ? 0.4 : 0 Behavior on opacity { UbuntuNumberAnimation { } } } } Rectangle { id: backgroundRect color: { if (callEntry.held) { return "black"; } else if (avatar.status == Image.Null) { return "white"; } else { return "transparent" } } opacity: 0.5 height: (multiCallArea.height - units.gu(7)) / (multiCallRepeater.count > 0 ? multiCallRepeater.count : 1) anchors { left: parent.left right: parent.right top: parent.top } Behavior on color { ColorAnimation { duration: 150 } } } ContactWatcher { id: watcher phoneNumber: callEntry.phoneNumber } Label { id: aliasLabel fontSize: "large" anchors { left: parent.left top: parent.top margins: units.gu(1) } text: { if (callEntry.isConference) { return i18n.tr("Conference"); } else if (callEntry.voicemail) { return i18n.tr("Voicemail"); } else if (watcher.alias != "") { return watcher.alias; } else { return watcher.phoneNumber; } } } Label { fontSize: "medium" anchors { left: parent.left top: aliasLabel.bottom margins: units.gu(1) } text: { if (callEntry.dialing) { return i18n.tr("calling"); } else if (callEntry.held) { return i18n.tr("on hold"); } else { return i18n.tr("active"); } } } MouseArea { anchors.fill: backgroundRect onClicked: callEntry.held = false; enabled: callEntry.held } LiveCallKeypadButton { id: participantsButton visible: callEntry.isConference iconSource: "navigation-menu" iconWidth: units.gu(3) iconHeight: units.gu(3) width: visible ? units.gu(6) : 0 height: units.gu(6) anchors { verticalCenter: backgroundRect.verticalCenter right: parent.right rightMargin: units.gu(1) } onClicked: conferenceCallArea.conference = callEntry } Button { id: mergeButton visible: !isLast anchors { bottom: parent.bottom horizontalCenter: parent.horizontalCenter } text: i18n.tr("Merge calls") onClicked: { callManager.mergeCalls(callManager.calls[index], callManager.calls[index+1]) } } } } } dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/StopWatch.qml0000644000015301777760000000317312323306661024273 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 Item { property int time: 0 property alias elapsed: count.text property alias fontSize: count.fontSize property alias color: count.color height: count.paintedHeight + units.gu(1 * 2) width: count.paintedWidth + units.gu(3 * 2) // FIXME: define all properties in one block function pad(text, length) { while (text.length < length) text = '0' + text; return text; } Label { id: count anchors.centerIn: parent color: "white" // FIXME: factor into a named function text: { var divisor_for_minutes = time % (60 * 60); var minutes = String(Math.floor(divisor_for_minutes / 60)); var divisor_for_seconds = divisor_for_minutes % 60; var seconds = String(Math.ceil(divisor_for_seconds)); return "%1:%2".arg(pad(minutes, 2)).arg(pad(seconds, 2)); } fontSize: "large" } } dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/CMakeLists.txt0000644000015301777760000000037112323306661024401 0ustar pbusernogroup00000000000000file(GLOB LIVECALL_QML_JS_FILES *.qml *.js) # make the files visible on qtcreator add_custom_target(dialer_livecall_QMlFiles ALL SOURCES ${LIVECALL_QML_JS_FILES}) install(FILES ${LIVECALL_QML_JS_FILES} DESTINATION ${DIALER_APP_DIR}/LiveCallPage) dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/LiveCall.qml0000644000015301777760000003570412323306661024057 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import QtGraphicalEffects 1.0 import Ubuntu.Components 0.1 import Ubuntu.Components.ListItems 0.1 as ListItems import Ubuntu.Components.Popups 0.1 import Ubuntu.Telephony 0.1 import Ubuntu.Contacts 0.1 import QtContacts 5.0 import "../DialerPage" import "../" Page { id: liveCall objectName: "pageLiveCall" property QtObject call: callManager.foregroundCall property string dtmfEntry: "" property alias number: contactWatcher.phoneNumber property bool onHold: call ? call.held : false property bool isSpeaker: call ? call.speaker : false property bool isMuted: call ? call.muted : false property bool dtmfVisible: call ? call.voicemail : false property bool isVoicemail: call ? call.voicemail : false property string phoneNumberSubTypeLabel: "" Component.onDestruction: mainView.switchToCallLogView() title: { if (callManager.calls.length > 1) { return i18n.tr("Two Calls"); } else if (call.isConference) { return i18n.tr("Conference"); } else { return dtmfLabelHelper.text !== "" ? dtmfLabelHelper.text : contactWatcher.alias != "" ? contactWatcher.alias : contactWatcher.phoneNumber; } } tools: ToolbarItems { opened: false locked: true } onCallChanged: { // reset the DTMF keypad visibility status dtmfVisible = (call && call.voicemail); } Component { id: makeNewCallComponent DefaultSheet { // FIXME: workaround to set the contact list // background to black Rectangle { anchors.fill: parent anchors.margins: -units.gu(1) color: "#221e1c" } id: sheet title: i18n.tr("New call") doneButton: false modal: true contentsHeight: parent.height contentsWidth: parent.width ContactListView { anchors.fill: parent detailToPick: ContactDetail.PhoneNumber onContactClicked: { // FIXME: search for favorite number callManager.startCall(contact.phoneNumber.number); PopupUtils.close(sheet) } onDetailClicked: { callManager.startCall(detail.number) PopupUtils.close(sheet) } } onDoneClicked: PopupUtils.close(sheet) } } Timer { id: callWatcher interval: 10000 repeat: false running: true onTriggered: { if (!call) { // TODO: notify about failed call pageStack.pop() } } } // FIXME: replace this label when the Header component make it possible to put extra content in it Item { id: headerContent anchors.fill: parent Label { text: liveCall.title fontSize: "x-large" font.weight: Font.Light verticalAlignment: Text.AlignVCenter elide: Text.ElideRight anchors { left: parent.left leftMargin: units.gu(1) top: parent.top bottom: parent.bottom right: switchCallsButton.left } } LiveCallKeypadButton { id: multiCallButton iconSource: "back" iconWidth: units.gu(3) iconHeight: units.gu(3) width: visible ? units.gu(6) : 0 height: units.gu(6) visible: callManager.foregroundCall && callManager.backgroundCall && conferenceCallArea.visible anchors { verticalCenter: parent.verticalCenter right: parent.right } onClicked: conferenceCallArea.conference = null } } Binding { target: liveCall.header property: "contents" value: liveCall.active ? headerContent : null when: liveCall.header && liveCall.active } function endCall() { if (call) { call.endCall(); } } // FIXME: this invisible label is only used for // calculating the size of the screen and resizing // the dtmf string accordingly so it can fit the page header Label { id: dtmfLabelHelper visible: false text: dtmfEntry anchors.left: parent.left anchors.leftMargin: units.gu(2) anchors.right: parent.right anchors.rightMargin: units.gu(4) fontSize: "x-large" onTextChanged: { if(paintedWidth > width) { // drop the first number dtmfEntry = dtmfEntry.substr(1) } } } Item { id: helper function updateSubTypeLabel() { phoneNumberSubTypeLabel = contactWatcher.isUnknown ? "": phoneTypeModel.get(phoneTypeModel.getTypeIndex(phoneDetail)).label } Component.onCompleted: updateSubTypeLabel() ContactWatcher { id: contactWatcher // FIXME: handle conf calls phoneNumber: call ? call.phoneNumber : "" onPhoneNumberContextsChanged: helper.updateSubTypeLabel() onPhoneNumberSubTypesChanged: helper.updateSubTypeLabel() onIsUnknownChanged: helper.updateSubTypeLabel() } PhoneNumber { id: phoneDetail contexts: contactWatcher.phoneNumberContexts subTypes: contactWatcher.phoneNumberSubTypes } ContactDetailPhoneNumberTypeModel { id: phoneTypeModel Component.onCompleted: helper.updateSubTypeLabel() } } StopWatch { id: stopWatch objectName: "stopWatch" time: call ? call.elapsedTime : 0 visible: false } Image { id: background fillMode: Image.PreserveAspectCrop // FIXME: use something different than a hardcoded path of a unity8 asset source: (isVoicemail || callManager.calls.length > 1 || contactWatcher.avatar == "") ? "../assets/live_call_background.png" : contactWatcher.avatar anchors { top: topPanel.bottom left: parent.left right: parent.right bottom: footer.top } smooth: true sourceSize.width: width * 1.5 sourceSize.height: height * 1.5 } FastBlur { anchors.fill: background source: background radius: 64 opacity: keypad.opacity cached: true } Item { id: topPanel clip: true height: (isVoicemail || contactWatcher.isUnknown || callManager.calls.length > 1) ? 0 : units.gu(5) Behavior on height { UbuntuNumberAnimation { } } anchors { top: parent.top left: parent.left right: parent.right } Label { anchors { left: parent.left leftMargin: units.gu(2) verticalCenter: parent.verticalCenter } fontSize: "medium" text: phoneNumberSubTypeLabel } Label { anchors { right: parent.right rightMargin: units.gu(2) verticalCenter: parent.verticalCenter } text: contactWatcher.phoneNumber fontSize: "medium" opacity: 0.2 } } Item { id: centralArea anchors { top: topPanel.bottom left: parent.left right: parent.right bottom: buttonsArea.top } MultiCallDisplay { id: multiCallArea calls: callManager.calls opacity: (calls.length > 1 && !keypad.visible && !conferenceCallArea.visible) ? 1 : 0 anchors { fill: parent margins: units.gu(1) } } ConferenceCallDisplay { id: conferenceCallArea opacity: conference && !keypad.visible ? 1 : 0 anchors { fill: parent margins: units.gu(1) } states: [ State { name: "whileInMulticall" when: callManager.foregroundCall && callManager.backgroundCall PropertyChanges { target: conferenceCallArea conference: null } }, State { name: "singleCallIsConf" when: callManager.foregroundCall && !callManager.backgroundCall && callManager.foregroundCall.isConference PropertyChanges { target: conferenceCallArea conference: callManager.foregroundCall } } ] } Keypad { id: keypad color: Qt.rgba(0,0,0, 0.4) anchors.bottom: parent.bottom anchors.bottomMargin: units.gu(2) anchors.horizontalCenter: parent.horizontalCenter onKeyPressed: { if (call) { dtmfEntry += label call.sendDTMF(label) } } visible: opacity > 0.0 opacity: dtmfVisible ? 1.0 : 0.0 Behavior on opacity { UbuntuNumberAnimation { } } } } Item { id: gridLinesVertical height: buttonsArea.width width: buttonsArea.height rotation: -90 anchors.centerIn: buttonsArea Column { anchors.fill: parent Item { height: units.gu(11) width: buttonsArea.height ListItems.ThinDivider { anchors.bottom: parent.bottom } } Item { height: units.gu(7) width: buttonsArea.height ListItems.ThinDivider { anchors.bottom: parent.bottom } } Item { height: units.gu(7) width: buttonsArea.height ListItems.ThinDivider { anchors.bottom: parent.bottom } } } } UbuntuShape { id: buttonsArea color: Qt.rgba(0,0,0, 0.5) height: childrenRect.height width: childrenRect.width anchors { horizontalCenter: parent.horizontalCenter bottom: footer.top bottomMargin: units.gu(4) } radius: "medium" Row { id: controlButtons height: childrenRect.height width: childrenRect.width Label { id: durationLabel anchors { top: parent.top bottom: parent.bottom } verticalAlignment: Qt.AlignVCenter horizontalAlignment: Qt.AlignHCenter width: units.gu(11) text: (call && call.active) ? stopWatch.elapsed : i18n.tr("calling") } LiveCallKeypadButton { objectName: "muteButton" iconSource: selected ? "microphone-mute" : "microphone" enabled: !isVoicemail selected: liveCall.isMuted iconWidth: units.gu(3) iconHeight: units.gu(3) onClicked: { if (call) { call.muted = !call.muted } } } LiveCallKeypadButton { objectName: "pauseStartButton" iconSource: { if (callManager.backgroundCall) { return "switch" } else if (selected) { return "media-playback-start" } else { return "media-playback-pause" } } enabled: !isVoicemail selected: liveCall.onHold iconWidth: units.gu(3) iconHeight: units.gu(3) onClicked: { if (call) { call.held = !call.held } } } LiveCallKeypadButton { objectName: "speakerButton" iconSource: selected ? "speaker" : "speaker-mute" selected: liveCall.isSpeaker iconWidth: units.gu(3) iconHeight: units.gu(3) onClicked: { if (call) { call.speaker = !selected } } } } } Item { id: footer height: units.gu(10) anchors.bottom: parent.bottom anchors.left: parent.left anchors.right: parent.right LiveCallKeypadButton { id: contactButton objectName: "contactButton" iconSource: "contact" iconWidth: units.gu(4) iconHeight: units.gu(4) enabled: (callManager.hasCalls && !callManager.backgroundCall && !callManager.foregroundCall.dialing) anchors { verticalCenter: hangupButton.verticalCenter right: hangupButton.left rightMargin: units.gu(1) } onClicked: { PopupUtils.open(makeNewCallComponent); } } HangupButton { id: hangupButton objectName: "hangupButton" anchors.horizontalCenter: parent.horizontalCenter anchors.verticalCenter: parent.verticalCenter onClicked: endCall() } LiveCallKeypadButton { id: dtmfButton objectName: "dtmfButton" iconSource: "keypad" iconWidth: units.gu(4) iconHeight: units.gu(4) enabled: !isVoicemail anchors { verticalCenter: hangupButton.verticalCenter left: hangupButton.right leftMargin: units.gu(1) } onClicked: dtmfVisible = !dtmfVisible } } } dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/LiveCallKeypadButton.qml0000644000015301777760000000232712323306661026404 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 AbstractButton { id: button property alias iconSource: icon.name property bool selected: false width: units.gu(7) height: units.gu(7) opacity: enabled ? 1.0 : 0.2 Behavior on opacity { UbuntuNumberAnimation { } } property int iconWidth: 0 property int iconHeight: 0 Icon { id: icon anchors.centerIn: parent width: (iconWidth > 0) ? iconWidth : undefined height: (iconHeight > 0) ? iconHeight : undefined color: "white" } } dialer-app-0.1+14.04.20140415/src/qml/LiveCallPage/HangupButton.qml0000644000015301777760000000235612323306661024777 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 AbstractButton { id: button width: units.gu(18) height: units.gu(6) // FIXME: waiting on #1072733 //iconSource: "../assets/dialer_call.png" UbuntuShape { anchors.fill: parent //color: button.pressed ? "#cd3804" : "#dd4814" color: button.pressed ? "#dd4814" : "red" gradientColor: "#e24b3a" radius: "medium" } Icon { anchors.centerIn: parent width: units.gu(4) height: units.gu(4) name: "call-end" color: "white" z: 1 } } dialer-app-0.1+14.04.20140415/src/qml/MainPage.qml0000644000015301777760000000340112323306661021542 0ustar pbusernogroup00000000000000/* * Copyright 2012-2013 Canonical Ltd. * * This file is part of dialer-app. * * dialer-app is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 3. * * dialer-app is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import QtQuick 2.0 import Ubuntu.Components 0.1 Item { id: mainPage property alias currentTab: tabs.selectedTabIndex anchors.fill: parent Tabs { id: tabs anchors.fill: parent Tab { objectName: "keypadTab" title: i18n.tr("Keypad") page: Loader{ id: dialerPage source: Qt.resolvedUrl("DialerPage/DialerPage.qml") anchors.fill: parent } } Tab { objectName: "contactsTab" title: i18n.tr("Contacts") page: Loader{ id: contactsPage source: Qt.resolvedUrl("ContactsPage/ContactsPage.qml") asynchronous: true anchors.fill: parent } } Tab { objectName: "callLogTab" title: i18n.tr("Call log") page: Loader{ id: historyPage source: Qt.resolvedUrl("HistoryPage/HistoryPage.qml") asynchronous: true anchors.fill: parent } } } } dialer-app-0.1+14.04.20140415/src/dialer-app.desktop.in0000644000015301777760000000064212323306661022577 0ustar pbusernogroup00000000000000[Desktop Entry] Type=Application Name=tr("Dialer") GenericName=tr("Dialer App") Comment=tr("Dialer application") Exec=dialer-app %u Terminal=false Icon=phone-app MimeType=x-scheme-handler/contact;x-scheme-handler/call X-Ubuntu-Touch=true X-Ubuntu-StageHint=SideStage X-Ubuntu-Gettext-Domain=dialer-app X-Ubuntu-Single-Instance=true X-Screenshot=@CMAKE_INSTALL_PREFIX@/@DIALER_APP_DIR@/assets/dialer-app-screenshot.png